(function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i<t.length;i++)o(t[i]);return o}return r})()({1:[function(require,module,exports){
// shim for using process in browser
var process = module.exports = {};

// cached from whatever global is present so that test runners that stub it
// don't break things.  But we need to wrap it in a try catch in case it is
// wrapped in strict mode code which doesn't define any globals.  It's inside a
// function because try/catches deoptimize in certain engines.

var cachedSetTimeout;
var cachedClearTimeout;

function defaultSetTimout() {
    throw new Error('setTimeout has not been defined');
}
function defaultClearTimeout () {
    throw new Error('clearTimeout has not been defined');
}
(function () {
    try {
        if (typeof setTimeout === 'function') {
            cachedSetTimeout = setTimeout;
        } else {
            cachedSetTimeout = defaultSetTimout;
        }
    } catch (e) {
        cachedSetTimeout = defaultSetTimout;
    }
    try {
        if (typeof clearTimeout === 'function') {
            cachedClearTimeout = clearTimeout;
        } else {
            cachedClearTimeout = defaultClearTimeout;
        }
    } catch (e) {
        cachedClearTimeout = defaultClearTimeout;
    }
} ())
function runTimeout(fun) {
    if (cachedSetTimeout === setTimeout) {
        //normal enviroments in sane situations
        return setTimeout(fun, 0);
    }
    // if setTimeout wasn't available but was latter defined
    if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {
        cachedSetTimeout = setTimeout;
        return setTimeout(fun, 0);
    }
    try {
        // when when somebody has screwed with setTimeout but no I.E. maddness
        return cachedSetTimeout(fun, 0);
    } catch(e){
        try {
            // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally
            return cachedSetTimeout.call(null, fun, 0);
        } catch(e){
            // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error
            return cachedSetTimeout.call(this, fun, 0);
        }
    }


}
function runClearTimeout(marker) {
    if (cachedClearTimeout === clearTimeout) {
        //normal enviroments in sane situations
        return clearTimeout(marker);
    }
    // if clearTimeout wasn't available but was latter defined
    if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {
        cachedClearTimeout = clearTimeout;
        return clearTimeout(marker);
    }
    try {
        // when when somebody has screwed with setTimeout but no I.E. maddness
        return cachedClearTimeout(marker);
    } catch (e){
        try {
            // When we are in I.E. but the script has been evaled so I.E. doesn't  trust the global object when called normally
            return cachedClearTimeout.call(null, marker);
        } catch (e){
            // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.
            // Some versions of I.E. have different rules for clearTimeout vs setTimeout
            return cachedClearTimeout.call(this, marker);
        }
    }



}
var queue = [];
var draining = false;
var currentQueue;
var queueIndex = -1;

function cleanUpNextTick() {
    if (!draining || !currentQueue) {
        return;
    }
    draining = false;
    if (currentQueue.length) {
        queue = currentQueue.concat(queue);
    } else {
        queueIndex = -1;
    }
    if (queue.length) {
        drainQueue();
    }
}

function drainQueue() {
    if (draining) {
        return;
    }
    var timeout = runTimeout(cleanUpNextTick);
    draining = true;

    var len = queue.length;
    while(len) {
        currentQueue = queue;
        queue = [];
        while (++queueIndex < len) {
            if (currentQueue) {
                currentQueue[queueIndex].run();
            }
        }
        queueIndex = -1;
        len = queue.length;
    }
    currentQueue = null;
    draining = false;
    runClearTimeout(timeout);
}

process.nextTick = function (fun) {
    var args = new Array(arguments.length - 1);
    if (arguments.length > 1) {
        for (var i = 1; i < arguments.length; i++) {
            args[i - 1] = arguments[i];
        }
    }
    queue.push(new Item(fun, args));
    if (queue.length === 1 && !draining) {
        runTimeout(drainQueue);
    }
};

// v8 likes predictible objects
function Item(fun, array) {
    this.fun = fun;
    this.array = array;
}
Item.prototype.run = function () {
    this.fun.apply(null, this.array);
};
process.title = 'browser';
process.browser = true;
process.env = {};
process.argv = [];
process.version = ''; // empty string to avoid regexp issues
process.versions = {};

function noop() {}

process.on = noop;
process.addListener = noop;
process.once = noop;
process.off = noop;
process.removeListener = noop;
process.removeAllListeners = noop;
process.emit = noop;
process.prependListener = noop;
process.prependOnceListener = noop;

process.listeners = function (name) { return [] }

process.binding = function (name) {
    throw new Error('process.binding is not supported');
};

process.cwd = function () { return '/' };
process.chdir = function (dir) {
    throw new Error('process.chdir is not supported');
};
process.umask = function() { return 0; };

},{}],2:[function(require,module,exports){
(function (global){(function (){
"use strict";function _typeof(o){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(o){return typeof o;}:function(o){return o&&"function"==typeof Symbol&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o;},_typeof(o);}(function(global,factory){(typeof exports==="undefined"?"undefined":_typeof(exports))==='object'&&typeof module!=='undefined'?factory(exports):typeof define==='function'&&define.amd?define(['exports'],factory):(global=typeof globalThis!=='undefined'?globalThis:global||self,factory(global.Babel={}));})(void 0,function(exports){'use strict';var _babel=/*#__PURE__*/Object.freeze({__proto__:null,get DEFAULT_EXTENSIONS(){return DEFAULT_EXTENSIONS;},get File(){return File;},get buildExternalHelpers(){return babelBuildExternalHelpers;},get createConfigItem(){return createConfigItem;},get createConfigItemAsync(){return createConfigItemAsync;},get createConfigItemSync(){return createConfigItemSync;},get getEnv(){return getEnv;},get loadOptions(){return loadOptions;},get loadOptionsAsync(){return loadOptionsAsync;},get loadOptionsSync(){return loadOptionsSync;},get loadPartialConfig(){return loadPartialConfig;},get loadPartialConfigAsync(){return loadPartialConfigAsync;},get loadPartialConfigSync(){return loadPartialConfigSync;},get parse(){return parse$1;},get parseAsync(){return parseAsync;},get parseSync(){return parseSync;},get resolvePlugin(){return resolvePlugin;},get resolvePreset(){return resolvePreset;},get template(){return template$1;},get tokTypes(){return tokTypes;},get transform(){return transform$3;},get transformAsync(){return transformAsync;},get transformFile(){return transformFile;},get transformFileAsync(){return transformFileAsync;},get transformFileSync(){return transformFileSync;},get transformFromAst(){return transformFromAst$1;},get transformFromAstAsync(){return transformFromAstAsync;},get transformFromAstSync(){return transformFromAstSync;},get transformSync(){return transformSync;},get traverse(){return traverse;},get types(){return t$4;},get version(){return version$1;}});function _construct(t,e,r){if(_isNativeReflectConstruct())return Reflect.construct.apply(null,arguments);var o=[null];o.push.apply(o,e);var p=new(t.bind.apply(t,o))();return r&&_setPrototypeOf(p,r.prototype),p;}function _isNativeReflectConstruct(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));}catch(t){}return(_isNativeReflectConstruct=function _isNativeReflectConstruct(){return!!t;})();}function _iterableToArrayLimit(r,l){var t=null==r?null:"undefined"!=typeof Symbol&&r[Symbol.iterator]||r["@@iterator"];if(null!=t){var e,n,i,u,a=[],f=!0,o=!1;try{if(i=(t=t.call(r)).next,0===l){if(Object(t)!==t)return;f=!1;}else for(;!(f=(e=i.call(t)).done)&&(a.push(e.value),a.length!==l);f=!0);}catch(r){o=!0,n=r;}finally{try{if(!f&&null!=t["return"]&&(u=t["return"](),Object(u)!==u))return;}finally{if(o)throw n;}}return a;}}function _regeneratorRuntime(){_regeneratorRuntime=function _regeneratorRuntime(){return e;};var t,e={},r=Object.prototype,n=r.hasOwnProperty,o=Object.defineProperty||function(t,e,r){t[e]=r.value;},i="function"==typeof Symbol?Symbol:{},a=i.iterator||"@@iterator",c=i.asyncIterator||"@@asyncIterator",u=i.toStringTag||"@@toStringTag";function define(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e];}try{define({},"");}catch(t){define=function define(t,e,r){return t[e]=r;};}function wrap(t,e,r,n){var i=e&&e.prototype instanceof Generator?e:Generator,a=Object.create(i.prototype),c=new Context(n||[]);return o(a,"_invoke",{value:makeInvokeMethod(t,r,c)}),a;}function tryCatch(t,e,r){try{return{type:"normal",arg:t.call(e,r)};}catch(t){return{type:"throw",arg:t};}}e.wrap=wrap;var h="suspendedStart",l="suspendedYield",f="executing",s="completed",y={};function Generator(){}function GeneratorFunction(){}function GeneratorFunctionPrototype(){}var p={};define(p,a,function(){return this;});var d=Object.getPrototypeOf,v=d&&d(d(values([])));v&&v!==r&&n.call(v,a)&&(p=v);var g=GeneratorFunctionPrototype.prototype=Generator.prototype=Object.create(p);function defineIteratorMethods(t){["next","throw","return"].forEach(function(e){define(t,e,function(t){return this._invoke(e,t);});});}function AsyncIterator(t,e){function invoke(r,o,i,a){var c=tryCatch(t[r],t,o);if("throw"!==c.type){var u=c.arg,h=u.value;return h&&"object"==_typeof(h)&&n.call(h,"__await")?e.resolve(h.__await).then(function(t){invoke("next",t,i,a);},function(t){invoke("throw",t,i,a);}):e.resolve(h).then(function(t){u.value=t,i(u);},function(t){return invoke("throw",t,i,a);});}a(c.arg);}var r;o(this,"_invoke",{value:function value(t,n){function callInvokeWithMethodAndArg(){return new e(function(e,r){invoke(t,n,e,r);});}return r=r?r.then(callInvokeWithMethodAndArg,callInvokeWithMethodAndArg):callInvokeWithMethodAndArg();}});}function makeInvokeMethod(e,r,n){var o=h;return function(i,a){if(o===f)throw new Error("Generator is already running");if(o===s){if("throw"===i)throw a;return{value:t,done:!0};}for(n.method=i,n.arg=a;;){var c=n.delegate;if(c){var u=maybeInvokeDelegate(c,n);if(u){if(u===y)continue;return u;}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(o===h)throw o=s,n.arg;n.dispatchException(n.arg);}else"return"===n.method&&n.abrupt("return",n.arg);o=f;var p=tryCatch(e,r,n);if("normal"===p.type){if(o=n.done?s:l,p.arg===y)continue;return{value:p.arg,done:n.done};}"throw"===p.type&&(o=s,n.method="throw",n.arg=p.arg);}};}function maybeInvokeDelegate(e,r){var n=r.method,o=e.iterator[n];if(o===t)return r.delegate=null,"throw"===n&&e.iterator["return"]&&(r.method="return",r.arg=t,maybeInvokeDelegate(e,r),"throw"===r.method)||"return"!==n&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+n+"' method")),y;var i=tryCatch(o,e.iterator,r.arg);if("throw"===i.type)return r.method="throw",r.arg=i.arg,r.delegate=null,y;var a=i.arg;return a?a.done?(r[e.resultName]=a.value,r.next=e.nextLoc,"return"!==r.method&&(r.method="next",r.arg=t),r.delegate=null,y):a:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,y);}function pushTryEntry(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e);}function resetTryEntry(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e;}function Context(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(pushTryEntry,this),this.reset(!0);}function values(e){if(e||""===e){var r=e[a];if(r)return r.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var o=-1,i=function next(){for(;++o<e.length;)if(n.call(e,o))return next.value=e[o],next.done=!1,next;return next.value=t,next.done=!0,next;};return i.next=i;}}throw new TypeError(_typeof(e)+" is not iterable");}return GeneratorFunction.prototype=GeneratorFunctionPrototype,o(g,"constructor",{value:GeneratorFunctionPrototype,configurable:!0}),o(GeneratorFunctionPrototype,"constructor",{value:GeneratorFunction,configurable:!0}),GeneratorFunction.displayName=define(GeneratorFunctionPrototype,u,"GeneratorFunction"),e.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===GeneratorFunction||"GeneratorFunction"===(e.displayName||e.name));},e.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,GeneratorFunctionPrototype):(t.__proto__=GeneratorFunctionPrototype,define(t,u,"GeneratorFunction")),t.prototype=Object.create(g),t;},e.awrap=function(t){return{__await:t};},defineIteratorMethods(AsyncIterator.prototype),define(AsyncIterator.prototype,c,function(){return this;}),e.AsyncIterator=AsyncIterator,e.async=function(t,r,n,o,i){void 0===i&&(i=Promise);var a=new AsyncIterator(wrap(t,r,n,o),i);return e.isGeneratorFunction(r)?a:a.next().then(function(t){return t.done?t.value:a.next();});},defineIteratorMethods(g),define(g,u,"Generator"),define(g,a,function(){return this;}),define(g,"toString",function(){return"[object Generator]";}),e.keys=function(t){var e=Object(t),r=[];for(var n in e)r.push(n);return r.reverse(),function next(){for(;r.length;){var t=r.pop();if(t in e)return next.value=t,next.done=!1,next;}return next.done=!0,next;};},e.values=values,Context.prototype={constructor:Context,reset:function reset(e){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEach(resetTryEntry),!e)for(var r in this)"t"===r.charAt(0)&&n.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=t);},stop:function stop(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval;},dispatchException:function dispatchException(e){if(this.done)throw e;var r=this;function handle(n,o){return a.type="throw",a.arg=e,r.next=n,o&&(r.method="next",r.arg=t),!!o;}for(var o=this.tryEntries.length-1;o>=0;--o){var i=this.tryEntries[o],a=i.completion;if("root"===i.tryLoc)return handle("end");if(i.tryLoc<=this.prev){var c=n.call(i,"catchLoc"),u=n.call(i,"finallyLoc");if(c&&u){if(this.prev<i.catchLoc)return handle(i.catchLoc,!0);if(this.prev<i.finallyLoc)return handle(i.finallyLoc);}else if(c){if(this.prev<i.catchLoc)return handle(i.catchLoc,!0);}else{if(!u)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return handle(i.finallyLoc);}}}},abrupt:function abrupt(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&n.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break;}}i&&("break"===t||"continue"===t)&&i.tryLoc<=e&&e<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=t,a.arg=e,i?(this.method="next",this.next=i.finallyLoc,y):this.complete(a);},complete:function complete(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),y;},finish:function finish(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),resetTryEntry(r),y;}},"catch":function _catch(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var o=n.arg;resetTryEntry(r);}return o;}}throw new Error("illegal catch attempt");},delegateYield:function delegateYield(e,r,n){return this.delegate={iterator:values(e),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=t),y;}},e;}function _toPrimitive(t,r){if("object"!=_typeof(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var i=e.call(t,r||"default");if("object"!=_typeof(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.");}return("string"===r?String:Number)(t);}function _toPropertyKey(t){var i=_toPrimitive(t,"string");return"symbol"==_typeof(i)?i:String(i);}function asyncGeneratorStep(gen,resolve,reject,_next,_throw,key,arg){try{var info=gen[key](arg);var value=info.value;}catch(error){reject(error);return;}if(info.done){resolve(value);}else{Promise.resolve(value).then(_next,_throw);}}function _asyncToGenerator(fn){return function(){var self=this,args=arguments;return new Promise(function(resolve,reject){var gen=fn.apply(self,args);function _next(value){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"next",value);}function _throw(err){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"throw",err);}_next(undefined);});};}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,_toPropertyKey(descriptor.key),descriptor);}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);Object.defineProperty(Constructor,"prototype",{writable:false});return Constructor;}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function");}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});Object.defineProperty(subClass,"prototype",{writable:false});if(superClass)_setPrototypeOf(subClass,superClass);}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf.bind():function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o);};return _getPrototypeOf(o);}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function _setPrototypeOf(o,p){o.__proto__=p;return o;};return _setPrototypeOf(o,p);}function _isNativeFunction(fn){try{return Function.toString.call(fn).indexOf("[native code]")!==-1;}catch(e){return typeof fn==="function";}}function _wrapNativeSuper(Class){var _cache=typeof Map==="function"?new Map():undefined;_wrapNativeSuper=function _wrapNativeSuper(Class){if(Class===null||!_isNativeFunction(Class))return Class;if(typeof Class!=="function"){throw new TypeError("Super expression must either be null or a function");}if(typeof _cache!=="undefined"){if(_cache.has(Class))return _cache.get(Class);_cache.set(Class,Wrapper);}function Wrapper(){return _construct(Class,arguments,_getPrototypeOf(this).constructor);}Wrapper.prototype=Object.create(Class.prototype,{constructor:{value:Wrapper,enumerable:false,writable:true,configurable:true}});return _setPrototypeOf(Wrapper,Class);};return _wrapNativeSuper(Class);}function _objectWithoutPropertiesLoose(source,excluded){if(source==null)return{};var target={};var sourceKeys=Object.keys(source);var key,i;for(i=0;i<sourceKeys.length;i++){key=sourceKeys[i];if(excluded.indexOf(key)>=0)continue;target[key]=source[key];}return target;}function _objectWithoutProperties(source,excluded){if(source==null)return{};var target=_objectWithoutPropertiesLoose(source,excluded);var key,i;if(Object.getOwnPropertySymbols){var sourceSymbolKeys=Object.getOwnPropertySymbols(source);for(i=0;i<sourceSymbolKeys.length;i++){key=sourceSymbolKeys[i];if(excluded.indexOf(key)>=0)continue;if(!Object.prototype.propertyIsEnumerable.call(source,key))continue;target[key]=source[key];}}return target;}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return self;}function _taggedTemplateLiteralLoose(strings,raw){if(!raw){raw=strings.slice(0);}strings.raw=raw;return strings;}function _slicedToArray(arr,i){return _arrayWithHoles(arr)||_iterableToArrayLimit(arr,i)||_unsupportedIterableToArray(arr,i)||_nonIterableRest();}function _toConsumableArray(arr){return _arrayWithoutHoles(arr)||_iterableToArray(arr)||_unsupportedIterableToArray(arr)||_nonIterableSpread();}function _arrayWithoutHoles(arr){if(Array.isArray(arr))return _arrayLikeToArray(arr);}function _arrayWithHoles(arr){if(Array.isArray(arr))return arr;}function _iterableToArray(iter){if(typeof Symbol!=="undefined"&&iter[Symbol.iterator]!=null||iter["@@iterator"]!=null)return Array.from(iter);}function _unsupportedIterableToArray(o,minLen){if(!o)return;if(typeof o==="string")return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(o);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray(o,minLen);}function _arrayLikeToArray(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++)arr2[i]=arr[i];return arr2;}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}function _createForOfIteratorHelperLoose(o,allowArrayLike){var it=typeof Symbol!=="undefined"&&o[Symbol.iterator]||o["@@iterator"];if(it)return(it=it.call(o)).next.bind(it);if(Array.isArray(o)||(it=_unsupportedIterableToArray(o))||allowArrayLike&&o&&typeof o.length==="number"){if(it)o=it;var i=0;return function(){if(i>=o.length)return{done:true};return{done:false,value:o[i++]};};}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}var ReferencedIdentifier$1=["Identifier","JSXIdentifier"];var ReferencedMemberExpression=["MemberExpression"];var BindingIdentifier=["Identifier"];var Statement=["Statement"];var Expression=["Expression"];var Scope$2=["Scopable","Pattern"];var Referenced=null;var BlockScoped=null;var Var=["VariableDeclaration"];var User=null;var Generated=null;var Pure=null;var Flow=["Flow","ImportDeclaration","ExportDeclaration","ImportSpecifier"];var RestProperty$1=["RestElement"];var SpreadProperty$1=["RestElement"];var ExistentialTypeParam=["ExistsTypeAnnotation"];var NumericLiteralTypeAnnotation=["NumberLiteralTypeAnnotation"];var ForAwaitStatement=["ForOfStatement"];var virtualTypes=/*#__PURE__*/Object.freeze({__proto__:null,BindingIdentifier:BindingIdentifier,BlockScoped:BlockScoped,ExistentialTypeParam:ExistentialTypeParam,Expression:Expression,Flow:Flow,ForAwaitStatement:ForAwaitStatement,Generated:Generated,NumericLiteralTypeAnnotation:NumericLiteralTypeAnnotation,Pure:Pure,Referenced:Referenced,ReferencedIdentifier:ReferencedIdentifier$1,ReferencedMemberExpression:ReferencedMemberExpression,RestProperty:RestProperty$1,Scope:Scope$2,SpreadProperty:SpreadProperty$1,Statement:Statement,User:User,Var:Var});function shallowEqual(actual,expected){var keys=Object.keys(expected);for(var _i=0,_keys=keys;_i<_keys.length;_i++){var key=_keys[_i];if(actual[key]!==expected[key]){return false;}}return true;}var warnings=new Set();function deprecationWarning$1(oldName,newName,prefix){if(prefix===void 0){prefix="";}if(warnings.has(oldName))return;warnings.add(oldName);var _captureShortStackTra=captureShortStackTrace(1,2),internal=_captureShortStackTra.internal,trace=_captureShortStackTra.trace;if(internal){return;}console.warn(prefix+"`"+oldName+"` has been deprecated, please migrate to `"+newName+"`\n"+trace);}function captureShortStackTrace(skip,length){var stackTraceLimit=Error.stackTraceLimit,prepareStackTrace=Error.prepareStackTrace;var stackTrace;Error.stackTraceLimit=1+skip+length;Error.prepareStackTrace=function(err,stack){stackTrace=stack;};new Error().stack;Error.stackTraceLimit=stackTraceLimit;Error.prepareStackTrace=prepareStackTrace;if(!stackTrace)return{internal:false,trace:""};var shortStackTrace=stackTrace.slice(1+skip,1+skip+length);return{internal:/[\\/]@babel[\\/]/.test(shortStackTrace[1].getFileName()),trace:shortStackTrace.map(function(frame){return"    at "+frame;}).join("\n")};}function isArrayExpression$2(node,opts){if(!node)return false;if(node.type!=="ArrayExpression")return false;return opts==null||shallowEqual(node,opts);}function isAssignmentExpression$3(node,opts){if(!node)return false;if(node.type!=="AssignmentExpression")return false;return opts==null||shallowEqual(node,opts);}function isBinaryExpression$1(node,opts){if(!node)return false;if(node.type!=="BinaryExpression")return false;return opts==null||shallowEqual(node,opts);}function isInterpreterDirective(node,opts){if(!node)return false;if(node.type!=="InterpreterDirective")return false;return opts==null||shallowEqual(node,opts);}function isDirective(node,opts){if(!node)return false;if(node.type!=="Directive")return false;return opts==null||shallowEqual(node,opts);}function isDirectiveLiteral(node,opts){if(!node)return false;if(node.type!=="DirectiveLiteral")return false;return opts==null||shallowEqual(node,opts);}function isBlockStatement$3(node,opts){if(!node)return false;if(node.type!=="BlockStatement")return false;return opts==null||shallowEqual(node,opts);}function isBreakStatement(node,opts){if(!node)return false;if(node.type!=="BreakStatement")return false;return opts==null||shallowEqual(node,opts);}function isCallExpression$8(node,opts){if(!node)return false;if(node.type!=="CallExpression")return false;return opts==null||shallowEqual(node,opts);}function isCatchClause(node,opts){if(!node)return false;if(node.type!=="CatchClause")return false;return opts==null||shallowEqual(node,opts);}function isConditionalExpression(node,opts){if(!node)return false;if(node.type!=="ConditionalExpression")return false;return opts==null||shallowEqual(node,opts);}function isContinueStatement(node,opts){if(!node)return false;if(node.type!=="ContinueStatement")return false;return opts==null||shallowEqual(node,opts);}function isDebuggerStatement(node,opts){if(!node)return false;if(node.type!=="DebuggerStatement")return false;return opts==null||shallowEqual(node,opts);}function isDoWhileStatement(node,opts){if(!node)return false;if(node.type!=="DoWhileStatement")return false;return opts==null||shallowEqual(node,opts);}function isEmptyStatement$1(node,opts){if(!node)return false;if(node.type!=="EmptyStatement")return false;return opts==null||shallowEqual(node,opts);}function isExpressionStatement$2(node,opts){if(!node)return false;if(node.type!=="ExpressionStatement")return false;return opts==null||shallowEqual(node,opts);}function isFile(node,opts){if(!node)return false;if(node.type!=="File")return false;return opts==null||shallowEqual(node,opts);}function isForInStatement(node,opts){if(!node)return false;if(node.type!=="ForInStatement")return false;return opts==null||shallowEqual(node,opts);}function isForStatement$2(node,opts){if(!node)return false;if(node.type!=="ForStatement")return false;return opts==null||shallowEqual(node,opts);}function isFunctionDeclaration$2(node,opts){if(!node)return false;if(node.type!=="FunctionDeclaration")return false;return opts==null||shallowEqual(node,opts);}function isFunctionExpression$1(node,opts){if(!node)return false;if(node.type!=="FunctionExpression")return false;return opts==null||shallowEqual(node,opts);}function isIdentifier$j(node,opts){if(!node)return false;if(node.type!=="Identifier")return false;return opts==null||shallowEqual(node,opts);}function isIfStatement$2(node,opts){if(!node)return false;if(node.type!=="IfStatement")return false;return opts==null||shallowEqual(node,opts);}function isLabeledStatement(node,opts){if(!node)return false;if(node.type!=="LabeledStatement")return false;return opts==null||shallowEqual(node,opts);}function isStringLiteral$5(node,opts){if(!node)return false;if(node.type!=="StringLiteral")return false;return opts==null||shallowEqual(node,opts);}function isNumericLiteral(node,opts){if(!node)return false;if(node.type!=="NumericLiteral")return false;return opts==null||shallowEqual(node,opts);}function isNullLiteral$2(node,opts){if(!node)return false;if(node.type!=="NullLiteral")return false;return opts==null||shallowEqual(node,opts);}function isBooleanLiteral(node,opts){if(!node)return false;if(node.type!=="BooleanLiteral")return false;return opts==null||shallowEqual(node,opts);}function isRegExpLiteral$2(node,opts){if(!node)return false;if(node.type!=="RegExpLiteral")return false;return opts==null||shallowEqual(node,opts);}function isLogicalExpression(node,opts){if(!node)return false;if(node.type!=="LogicalExpression")return false;return opts==null||shallowEqual(node,opts);}function isMemberExpression$9(node,opts){if(!node)return false;if(node.type!=="MemberExpression")return false;return opts==null||shallowEqual(node,opts);}function isNewExpression$3(node,opts){if(!node)return false;if(node.type!=="NewExpression")return false;return opts==null||shallowEqual(node,opts);}function isProgram$1(node,opts){if(!node)return false;if(node.type!=="Program")return false;return opts==null||shallowEqual(node,opts);}function isObjectExpression$3(node,opts){if(!node)return false;if(node.type!=="ObjectExpression")return false;return opts==null||shallowEqual(node,opts);}function isObjectMethod$1(node,opts){if(!node)return false;if(node.type!=="ObjectMethod")return false;return opts==null||shallowEqual(node,opts);}function isObjectProperty$5(node,opts){if(!node)return false;if(node.type!=="ObjectProperty")return false;return opts==null||shallowEqual(node,opts);}function isRestElement$3(node,opts){if(!node)return false;if(node.type!=="RestElement")return false;return opts==null||shallowEqual(node,opts);}function isReturnStatement(node,opts){if(!node)return false;if(node.type!=="ReturnStatement")return false;return opts==null||shallowEqual(node,opts);}function isSequenceExpression$1(node,opts){if(!node)return false;if(node.type!=="SequenceExpression")return false;return opts==null||shallowEqual(node,opts);}function isParenthesizedExpression$1(node,opts){if(!node)return false;if(node.type!=="ParenthesizedExpression")return false;return opts==null||shallowEqual(node,opts);}function isSwitchCase(node,opts){if(!node)return false;if(node.type!=="SwitchCase")return false;return opts==null||shallowEqual(node,opts);}function isSwitchStatement(node,opts){if(!node)return false;if(node.type!=="SwitchStatement")return false;return opts==null||shallowEqual(node,opts);}function isThisExpression$2(node,opts){if(!node)return false;if(node.type!=="ThisExpression")return false;return opts==null||shallowEqual(node,opts);}function isThrowStatement(node,opts){if(!node)return false;if(node.type!=="ThrowStatement")return false;return opts==null||shallowEqual(node,opts);}function isTryStatement(node,opts){if(!node)return false;if(node.type!=="TryStatement")return false;return opts==null||shallowEqual(node,opts);}function isUnaryExpression$1(node,opts){if(!node)return false;if(node.type!=="UnaryExpression")return false;return opts==null||shallowEqual(node,opts);}function isUpdateExpression$1(node,opts){if(!node)return false;if(node.type!=="UpdateExpression")return false;return opts==null||shallowEqual(node,opts);}function isVariableDeclaration$4(node,opts){if(!node)return false;if(node.type!=="VariableDeclaration")return false;return opts==null||shallowEqual(node,opts);}function isVariableDeclarator$1(node,opts){if(!node)return false;if(node.type!=="VariableDeclarator")return false;return opts==null||shallowEqual(node,opts);}function isWhileStatement(node,opts){if(!node)return false;if(node.type!=="WhileStatement")return false;return opts==null||shallowEqual(node,opts);}function isWithStatement(node,opts){if(!node)return false;if(node.type!=="WithStatement")return false;return opts==null||shallowEqual(node,opts);}function isAssignmentPattern$5(node,opts){if(!node)return false;if(node.type!=="AssignmentPattern")return false;return opts==null||shallowEqual(node,opts);}function isArrayPattern$1(node,opts){if(!node)return false;if(node.type!=="ArrayPattern")return false;return opts==null||shallowEqual(node,opts);}function isArrowFunctionExpression$2(node,opts){if(!node)return false;if(node.type!=="ArrowFunctionExpression")return false;return opts==null||shallowEqual(node,opts);}function isClassBody$2(node,opts){if(!node)return false;if(node.type!=="ClassBody")return false;return opts==null||shallowEqual(node,opts);}function isClassExpression$1(node,opts){if(!node)return false;if(node.type!=="ClassExpression")return false;return opts==null||shallowEqual(node,opts);}function isClassDeclaration$2(node,opts){if(!node)return false;if(node.type!=="ClassDeclaration")return false;return opts==null||shallowEqual(node,opts);}function isExportAllDeclaration$1(node,opts){if(!node)return false;if(node.type!=="ExportAllDeclaration")return false;return opts==null||shallowEqual(node,opts);}function isExportDefaultDeclaration$2(node,opts){if(!node)return false;if(node.type!=="ExportDefaultDeclaration")return false;return opts==null||shallowEqual(node,opts);}function isExportNamedDeclaration$3(node,opts){if(!node)return false;if(node.type!=="ExportNamedDeclaration")return false;return opts==null||shallowEqual(node,opts);}function isExportSpecifier(node,opts){if(!node)return false;if(node.type!=="ExportSpecifier")return false;return opts==null||shallowEqual(node,opts);}function isForOfStatement$2(node,opts){if(!node)return false;if(node.type!=="ForOfStatement")return false;return opts==null||shallowEqual(node,opts);}function isImportDeclaration$3(node,opts){if(!node)return false;if(node.type!=="ImportDeclaration")return false;return opts==null||shallowEqual(node,opts);}function isImportDefaultSpecifier$1(node,opts){if(!node)return false;if(node.type!=="ImportDefaultSpecifier")return false;return opts==null||shallowEqual(node,opts);}function isImportNamespaceSpecifier$1(node,opts){if(!node)return false;if(node.type!=="ImportNamespaceSpecifier")return false;return opts==null||shallowEqual(node,opts);}function isImportSpecifier$1(node,opts){if(!node)return false;if(node.type!=="ImportSpecifier")return false;return opts==null||shallowEqual(node,opts);}function isImportExpression(node,opts){if(!node)return false;if(node.type!=="ImportExpression")return false;return opts==null||shallowEqual(node,opts);}function isMetaProperty$1(node,opts){if(!node)return false;if(node.type!=="MetaProperty")return false;return opts==null||shallowEqual(node,opts);}function isClassMethod(node,opts){if(!node)return false;if(node.type!=="ClassMethod")return false;return opts==null||shallowEqual(node,opts);}function isObjectPattern$2(node,opts){if(!node)return false;if(node.type!=="ObjectPattern")return false;return opts==null||shallowEqual(node,opts);}function isSpreadElement$1(node,opts){if(!node)return false;if(node.type!=="SpreadElement")return false;return opts==null||shallowEqual(node,opts);}function isSuper$3(node,opts){if(!node)return false;if(node.type!=="Super")return false;return opts==null||shallowEqual(node,opts);}function isTaggedTemplateExpression$1(node,opts){if(!node)return false;if(node.type!=="TaggedTemplateExpression")return false;return opts==null||shallowEqual(node,opts);}function isTemplateElement(node,opts){if(!node)return false;if(node.type!=="TemplateElement")return false;return opts==null||shallowEqual(node,opts);}function isTemplateLiteral$2(node,opts){if(!node)return false;if(node.type!=="TemplateLiteral")return false;return opts==null||shallowEqual(node,opts);}function isYieldExpression$1(node,opts){if(!node)return false;if(node.type!=="YieldExpression")return false;return opts==null||shallowEqual(node,opts);}function isAwaitExpression(node,opts){if(!node)return false;if(node.type!=="AwaitExpression")return false;return opts==null||shallowEqual(node,opts);}function isImport(node,opts){if(!node)return false;if(node.type!=="Import")return false;return opts==null||shallowEqual(node,opts);}function isBigIntLiteral(node,opts){if(!node)return false;if(node.type!=="BigIntLiteral")return false;return opts==null||shallowEqual(node,opts);}function isExportNamespaceSpecifier$1(node,opts){if(!node)return false;if(node.type!=="ExportNamespaceSpecifier")return false;return opts==null||shallowEqual(node,opts);}function isOptionalMemberExpression$3(node,opts){if(!node)return false;if(node.type!=="OptionalMemberExpression")return false;return opts==null||shallowEqual(node,opts);}function isOptionalCallExpression$2(node,opts){if(!node)return false;if(node.type!=="OptionalCallExpression")return false;return opts==null||shallowEqual(node,opts);}function isClassProperty(node,opts){if(!node)return false;if(node.type!=="ClassProperty")return false;return opts==null||shallowEqual(node,opts);}function isClassAccessorProperty(node,opts){if(!node)return false;if(node.type!=="ClassAccessorProperty")return false;return opts==null||shallowEqual(node,opts);}function isClassPrivateProperty(node,opts){if(!node)return false;if(node.type!=="ClassPrivateProperty")return false;return opts==null||shallowEqual(node,opts);}function isClassPrivateMethod(node,opts){if(!node)return false;if(node.type!=="ClassPrivateMethod")return false;return opts==null||shallowEqual(node,opts);}function isPrivateName$3(node,opts){if(!node)return false;if(node.type!=="PrivateName")return false;return opts==null||shallowEqual(node,opts);}function isStaticBlock(node,opts){if(!node)return false;if(node.type!=="StaticBlock")return false;return opts==null||shallowEqual(node,opts);}function isAnyTypeAnnotation$1(node,opts){if(!node)return false;if(node.type!=="AnyTypeAnnotation")return false;return opts==null||shallowEqual(node,opts);}function isArrayTypeAnnotation$2(node,opts){if(!node)return false;if(node.type!=="ArrayTypeAnnotation")return false;return opts==null||shallowEqual(node,opts);}function isBooleanTypeAnnotation$1(node,opts){if(!node)return false;if(node.type!=="BooleanTypeAnnotation")return false;return opts==null||shallowEqual(node,opts);}function isBooleanLiteralTypeAnnotation(node,opts){if(!node)return false;if(node.type!=="BooleanLiteralTypeAnnotation")return false;return opts==null||shallowEqual(node,opts);}function isNullLiteralTypeAnnotation(node,opts){if(!node)return false;if(node.type!=="NullLiteralTypeAnnotation")return false;return opts==null||shallowEqual(node,opts);}function isClassImplements(node,opts){if(!node)return false;if(node.type!=="ClassImplements")return false;return opts==null||shallowEqual(node,opts);}function isDeclareClass(node,opts){if(!node)return false;if(node.type!=="DeclareClass")return false;return opts==null||shallowEqual(node,opts);}function isDeclareFunction(node,opts){if(!node)return false;if(node.type!=="DeclareFunction")return false;return opts==null||shallowEqual(node,opts);}function isDeclareInterface(node,opts){if(!node)return false;if(node.type!=="DeclareInterface")return false;return opts==null||shallowEqual(node,opts);}function isDeclareModule(node,opts){if(!node)return false;if(node.type!=="DeclareModule")return false;return opts==null||shallowEqual(node,opts);}function isDeclareModuleExports(node,opts){if(!node)return false;if(node.type!=="DeclareModuleExports")return false;return opts==null||shallowEqual(node,opts);}function isDeclareTypeAlias(node,opts){if(!node)return false;if(node.type!=="DeclareTypeAlias")return false;return opts==null||shallowEqual(node,opts);}function isDeclareOpaqueType(node,opts){if(!node)return false;if(node.type!=="DeclareOpaqueType")return false;return opts==null||shallowEqual(node,opts);}function isDeclareVariable(node,opts){if(!node)return false;if(node.type!=="DeclareVariable")return false;return opts==null||shallowEqual(node,opts);}function isDeclareExportDeclaration$1(node,opts){if(!node)return false;if(node.type!=="DeclareExportDeclaration")return false;return opts==null||shallowEqual(node,opts);}function isDeclareExportAllDeclaration(node,opts){if(!node)return false;if(node.type!=="DeclareExportAllDeclaration")return false;return opts==null||shallowEqual(node,opts);}function isDeclaredPredicate(node,opts){if(!node)return false;if(node.type!=="DeclaredPredicate")return false;return opts==null||shallowEqual(node,opts);}function isExistsTypeAnnotation(node,opts){if(!node)return false;if(node.type!=="ExistsTypeAnnotation")return false;return opts==null||shallowEqual(node,opts);}function isFunctionTypeAnnotation(node,opts){if(!node)return false;if(node.type!=="FunctionTypeAnnotation")return false;return opts==null||shallowEqual(node,opts);}function isFunctionTypeParam(node,opts){if(!node)return false;if(node.type!=="FunctionTypeParam")return false;return opts==null||shallowEqual(node,opts);}function isGenericTypeAnnotation$1(node,opts){if(!node)return false;if(node.type!=="GenericTypeAnnotation")return false;return opts==null||shallowEqual(node,opts);}function isInferredPredicate(node,opts){if(!node)return false;if(node.type!=="InferredPredicate")return false;return opts==null||shallowEqual(node,opts);}function isInterfaceExtends(node,opts){if(!node)return false;if(node.type!=="InterfaceExtends")return false;return opts==null||shallowEqual(node,opts);}function isInterfaceDeclaration(node,opts){if(!node)return false;if(node.type!=="InterfaceDeclaration")return false;return opts==null||shallowEqual(node,opts);}function isInterfaceTypeAnnotation(node,opts){if(!node)return false;if(node.type!=="InterfaceTypeAnnotation")return false;return opts==null||shallowEqual(node,opts);}function isIntersectionTypeAnnotation(node,opts){if(!node)return false;if(node.type!=="IntersectionTypeAnnotation")return false;return opts==null||shallowEqual(node,opts);}function isMixedTypeAnnotation$1(node,opts){if(!node)return false;if(node.type!=="MixedTypeAnnotation")return false;return opts==null||shallowEqual(node,opts);}function isEmptyTypeAnnotation$1(node,opts){if(!node)return false;if(node.type!=="EmptyTypeAnnotation")return false;return opts==null||shallowEqual(node,opts);}function isNullableTypeAnnotation(node,opts){if(!node)return false;if(node.type!=="NullableTypeAnnotation")return false;return opts==null||shallowEqual(node,opts);}function isNumberLiteralTypeAnnotation(node,opts){if(!node)return false;if(node.type!=="NumberLiteralTypeAnnotation")return false;return opts==null||shallowEqual(node,opts);}function isNumberTypeAnnotation$1(node,opts){if(!node)return false;if(node.type!=="NumberTypeAnnotation")return false;return opts==null||shallowEqual(node,opts);}function isObjectTypeAnnotation(node,opts){if(!node)return false;if(node.type!=="ObjectTypeAnnotation")return false;return opts==null||shallowEqual(node,opts);}function isObjectTypeInternalSlot(node,opts){if(!node)return false;if(node.type!=="ObjectTypeInternalSlot")return false;return opts==null||shallowEqual(node,opts);}function isObjectTypeCallProperty(node,opts){if(!node)return false;if(node.type!=="ObjectTypeCallProperty")return false;return opts==null||shallowEqual(node,opts);}function isObjectTypeIndexer(node,opts){if(!node)return false;if(node.type!=="ObjectTypeIndexer")return false;return opts==null||shallowEqual(node,opts);}function isObjectTypeProperty(node,opts){if(!node)return false;if(node.type!=="ObjectTypeProperty")return false;return opts==null||shallowEqual(node,opts);}function isObjectTypeSpreadProperty(node,opts){if(!node)return false;if(node.type!=="ObjectTypeSpreadProperty")return false;return opts==null||shallowEqual(node,opts);}function isOpaqueType(node,opts){if(!node)return false;if(node.type!=="OpaqueType")return false;return opts==null||shallowEqual(node,opts);}function isQualifiedTypeIdentifier(node,opts){if(!node)return false;if(node.type!=="QualifiedTypeIdentifier")return false;return opts==null||shallowEqual(node,opts);}function isStringLiteralTypeAnnotation(node,opts){if(!node)return false;if(node.type!=="StringLiteralTypeAnnotation")return false;return opts==null||shallowEqual(node,opts);}function isStringTypeAnnotation$1(node,opts){if(!node)return false;if(node.type!=="StringTypeAnnotation")return false;return opts==null||shallowEqual(node,opts);}function isSymbolTypeAnnotation(node,opts){if(!node)return false;if(node.type!=="SymbolTypeAnnotation")return false;return opts==null||shallowEqual(node,opts);}function isThisTypeAnnotation(node,opts){if(!node)return false;if(node.type!=="ThisTypeAnnotation")return false;return opts==null||shallowEqual(node,opts);}function isTupleTypeAnnotation$1(node,opts){if(!node)return false;if(node.type!=="TupleTypeAnnotation")return false;return opts==null||shallowEqual(node,opts);}function isTypeofTypeAnnotation(node,opts){if(!node)return false;if(node.type!=="TypeofTypeAnnotation")return false;return opts==null||shallowEqual(node,opts);}function isTypeAlias(node,opts){if(!node)return false;if(node.type!=="TypeAlias")return false;return opts==null||shallowEqual(node,opts);}function isTypeAnnotation$1(node,opts){if(!node)return false;if(node.type!=="TypeAnnotation")return false;return opts==null||shallowEqual(node,opts);}function isTypeCastExpression$1(node,opts){if(!node)return false;if(node.type!=="TypeCastExpression")return false;return opts==null||shallowEqual(node,opts);}function isTypeParameter(node,opts){if(!node)return false;if(node.type!=="TypeParameter")return false;return opts==null||shallowEqual(node,opts);}function isTypeParameterDeclaration(node,opts){if(!node)return false;if(node.type!=="TypeParameterDeclaration")return false;return opts==null||shallowEqual(node,opts);}function isTypeParameterInstantiation(node,opts){if(!node)return false;if(node.type!=="TypeParameterInstantiation")return false;return opts==null||shallowEqual(node,opts);}function isUnionTypeAnnotation$1(node,opts){if(!node)return false;if(node.type!=="UnionTypeAnnotation")return false;return opts==null||shallowEqual(node,opts);}function isVariance(node,opts){if(!node)return false;if(node.type!=="Variance")return false;return opts==null||shallowEqual(node,opts);}function isVoidTypeAnnotation$1(node,opts){if(!node)return false;if(node.type!=="VoidTypeAnnotation")return false;return opts==null||shallowEqual(node,opts);}function isEnumDeclaration(node,opts){if(!node)return false;if(node.type!=="EnumDeclaration")return false;return opts==null||shallowEqual(node,opts);}function isEnumBooleanBody(node,opts){if(!node)return false;if(node.type!=="EnumBooleanBody")return false;return opts==null||shallowEqual(node,opts);}function isEnumNumberBody(node,opts){if(!node)return false;if(node.type!=="EnumNumberBody")return false;return opts==null||shallowEqual(node,opts);}function isEnumStringBody(node,opts){if(!node)return false;if(node.type!=="EnumStringBody")return false;return opts==null||shallowEqual(node,opts);}function isEnumSymbolBody(node,opts){if(!node)return false;if(node.type!=="EnumSymbolBody")return false;return opts==null||shallowEqual(node,opts);}function isEnumBooleanMember(node,opts){if(!node)return false;if(node.type!=="EnumBooleanMember")return false;return opts==null||shallowEqual(node,opts);}function isEnumNumberMember(node,opts){if(!node)return false;if(node.type!=="EnumNumberMember")return false;return opts==null||shallowEqual(node,opts);}function isEnumStringMember(node,opts){if(!node)return false;if(node.type!=="EnumStringMember")return false;return opts==null||shallowEqual(node,opts);}function isEnumDefaultedMember(node,opts){if(!node)return false;if(node.type!=="EnumDefaultedMember")return false;return opts==null||shallowEqual(node,opts);}function isIndexedAccessType$1(node,opts){if(!node)return false;if(node.type!=="IndexedAccessType")return false;return opts==null||shallowEqual(node,opts);}function isOptionalIndexedAccessType(node,opts){if(!node)return false;if(node.type!=="OptionalIndexedAccessType")return false;return opts==null||shallowEqual(node,opts);}function isJSXAttribute(node,opts){if(!node)return false;if(node.type!=="JSXAttribute")return false;return opts==null||shallowEqual(node,opts);}function isJSXClosingElement(node,opts){if(!node)return false;if(node.type!=="JSXClosingElement")return false;return opts==null||shallowEqual(node,opts);}function isJSXElement(node,opts){if(!node)return false;if(node.type!=="JSXElement")return false;return opts==null||shallowEqual(node,opts);}function isJSXEmptyExpression(node,opts){if(!node)return false;if(node.type!=="JSXEmptyExpression")return false;return opts==null||shallowEqual(node,opts);}function isJSXExpressionContainer$1(node,opts){if(!node)return false;if(node.type!=="JSXExpressionContainer")return false;return opts==null||shallowEqual(node,opts);}function isJSXSpreadChild(node,opts){if(!node)return false;if(node.type!=="JSXSpreadChild")return false;return opts==null||shallowEqual(node,opts);}function isJSXIdentifier$3(node,opts){if(!node)return false;if(node.type!=="JSXIdentifier")return false;return opts==null||shallowEqual(node,opts);}function isJSXMemberExpression$2(node,opts){if(!node)return false;if(node.type!=="JSXMemberExpression")return false;return opts==null||shallowEqual(node,opts);}function isJSXNamespacedName$1(node,opts){if(!node)return false;if(node.type!=="JSXNamespacedName")return false;return opts==null||shallowEqual(node,opts);}function isJSXOpeningElement(node,opts){if(!node)return false;if(node.type!=="JSXOpeningElement")return false;return opts==null||shallowEqual(node,opts);}function isJSXSpreadAttribute$1(node,opts){if(!node)return false;if(node.type!=="JSXSpreadAttribute")return false;return opts==null||shallowEqual(node,opts);}function isJSXText(node,opts){if(!node)return false;if(node.type!=="JSXText")return false;return opts==null||shallowEqual(node,opts);}function isJSXFragment(node,opts){if(!node)return false;if(node.type!=="JSXFragment")return false;return opts==null||shallowEqual(node,opts);}function isJSXOpeningFragment(node,opts){if(!node)return false;if(node.type!=="JSXOpeningFragment")return false;return opts==null||shallowEqual(node,opts);}function isJSXClosingFragment(node,opts){if(!node)return false;if(node.type!=="JSXClosingFragment")return false;return opts==null||shallowEqual(node,opts);}function isNoop(node,opts){if(!node)return false;if(node.type!=="Noop")return false;return opts==null||shallowEqual(node,opts);}function isPlaceholder$1(node,opts){if(!node)return false;if(node.type!=="Placeholder")return false;return opts==null||shallowEqual(node,opts);}function isV8IntrinsicIdentifier(node,opts){if(!node)return false;if(node.type!=="V8IntrinsicIdentifier")return false;return opts==null||shallowEqual(node,opts);}function isArgumentPlaceholder(node,opts){if(!node)return false;if(node.type!=="ArgumentPlaceholder")return false;return opts==null||shallowEqual(node,opts);}function isBindExpression(node,opts){if(!node)return false;if(node.type!=="BindExpression")return false;return opts==null||shallowEqual(node,opts);}function isImportAttribute(node,opts){if(!node)return false;if(node.type!=="ImportAttribute")return false;return opts==null||shallowEqual(node,opts);}function isDecorator(node,opts){if(!node)return false;if(node.type!=="Decorator")return false;return opts==null||shallowEqual(node,opts);}function isDoExpression(node,opts){if(!node)return false;if(node.type!=="DoExpression")return false;return opts==null||shallowEqual(node,opts);}function isExportDefaultSpecifier$1(node,opts){if(!node)return false;if(node.type!=="ExportDefaultSpecifier")return false;return opts==null||shallowEqual(node,opts);}function isRecordExpression$1(node,opts){if(!node)return false;if(node.type!=="RecordExpression")return false;return opts==null||shallowEqual(node,opts);}function isTupleExpression$1(node,opts){if(!node)return false;if(node.type!=="TupleExpression")return false;return opts==null||shallowEqual(node,opts);}function isDecimalLiteral(node,opts){if(!node)return false;if(node.type!=="DecimalLiteral")return false;return opts==null||shallowEqual(node,opts);}function isModuleExpression(node,opts){if(!node)return false;if(node.type!=="ModuleExpression")return false;return opts==null||shallowEqual(node,opts);}function isTopicReference$1(node,opts){if(!node)return false;if(node.type!=="TopicReference")return false;return opts==null||shallowEqual(node,opts);}function isPipelineTopicExpression(node,opts){if(!node)return false;if(node.type!=="PipelineTopicExpression")return false;return opts==null||shallowEqual(node,opts);}function isPipelineBareFunction(node,opts){if(!node)return false;if(node.type!=="PipelineBareFunction")return false;return opts==null||shallowEqual(node,opts);}function isPipelinePrimaryTopicReference(node,opts){if(!node)return false;if(node.type!=="PipelinePrimaryTopicReference")return false;return opts==null||shallowEqual(node,opts);}function isTSParameterProperty(node,opts){if(!node)return false;if(node.type!=="TSParameterProperty")return false;return opts==null||shallowEqual(node,opts);}function isTSDeclareFunction(node,opts){if(!node)return false;if(node.type!=="TSDeclareFunction")return false;return opts==null||shallowEqual(node,opts);}function isTSDeclareMethod(node,opts){if(!node)return false;if(node.type!=="TSDeclareMethod")return false;return opts==null||shallowEqual(node,opts);}function isTSQualifiedName(node,opts){if(!node)return false;if(node.type!=="TSQualifiedName")return false;return opts==null||shallowEqual(node,opts);}function isTSCallSignatureDeclaration(node,opts){if(!node)return false;if(node.type!=="TSCallSignatureDeclaration")return false;return opts==null||shallowEqual(node,opts);}function isTSConstructSignatureDeclaration(node,opts){if(!node)return false;if(node.type!=="TSConstructSignatureDeclaration")return false;return opts==null||shallowEqual(node,opts);}function isTSPropertySignature(node,opts){if(!node)return false;if(node.type!=="TSPropertySignature")return false;return opts==null||shallowEqual(node,opts);}function isTSMethodSignature(node,opts){if(!node)return false;if(node.type!=="TSMethodSignature")return false;return opts==null||shallowEqual(node,opts);}function isTSIndexSignature(node,opts){if(!node)return false;if(node.type!=="TSIndexSignature")return false;return opts==null||shallowEqual(node,opts);}function isTSAnyKeyword(node,opts){if(!node)return false;if(node.type!=="TSAnyKeyword")return false;return opts==null||shallowEqual(node,opts);}function isTSBooleanKeyword(node,opts){if(!node)return false;if(node.type!=="TSBooleanKeyword")return false;return opts==null||shallowEqual(node,opts);}function isTSBigIntKeyword(node,opts){if(!node)return false;if(node.type!=="TSBigIntKeyword")return false;return opts==null||shallowEqual(node,opts);}function isTSIntrinsicKeyword(node,opts){if(!node)return false;if(node.type!=="TSIntrinsicKeyword")return false;return opts==null||shallowEqual(node,opts);}function isTSNeverKeyword(node,opts){if(!node)return false;if(node.type!=="TSNeverKeyword")return false;return opts==null||shallowEqual(node,opts);}function isTSNullKeyword(node,opts){if(!node)return false;if(node.type!=="TSNullKeyword")return false;return opts==null||shallowEqual(node,opts);}function isTSNumberKeyword(node,opts){if(!node)return false;if(node.type!=="TSNumberKeyword")return false;return opts==null||shallowEqual(node,opts);}function isTSObjectKeyword(node,opts){if(!node)return false;if(node.type!=="TSObjectKeyword")return false;return opts==null||shallowEqual(node,opts);}function isTSStringKeyword(node,opts){if(!node)return false;if(node.type!=="TSStringKeyword")return false;return opts==null||shallowEqual(node,opts);}function isTSSymbolKeyword(node,opts){if(!node)return false;if(node.type!=="TSSymbolKeyword")return false;return opts==null||shallowEqual(node,opts);}function isTSUndefinedKeyword(node,opts){if(!node)return false;if(node.type!=="TSUndefinedKeyword")return false;return opts==null||shallowEqual(node,opts);}function isTSUnknownKeyword(node,opts){if(!node)return false;if(node.type!=="TSUnknownKeyword")return false;return opts==null||shallowEqual(node,opts);}function isTSVoidKeyword(node,opts){if(!node)return false;if(node.type!=="TSVoidKeyword")return false;return opts==null||shallowEqual(node,opts);}function isTSThisType(node,opts){if(!node)return false;if(node.type!=="TSThisType")return false;return opts==null||shallowEqual(node,opts);}function isTSFunctionType(node,opts){if(!node)return false;if(node.type!=="TSFunctionType")return false;return opts==null||shallowEqual(node,opts);}function isTSConstructorType(node,opts){if(!node)return false;if(node.type!=="TSConstructorType")return false;return opts==null||shallowEqual(node,opts);}function isTSTypeReference$1(node,opts){if(!node)return false;if(node.type!=="TSTypeReference")return false;return opts==null||shallowEqual(node,opts);}function isTSTypePredicate(node,opts){if(!node)return false;if(node.type!=="TSTypePredicate")return false;return opts==null||shallowEqual(node,opts);}function isTSTypeQuery(node,opts){if(!node)return false;if(node.type!=="TSTypeQuery")return false;return opts==null||shallowEqual(node,opts);}function isTSTypeLiteral(node,opts){if(!node)return false;if(node.type!=="TSTypeLiteral")return false;return opts==null||shallowEqual(node,opts);}function isTSArrayType$1(node,opts){if(!node)return false;if(node.type!=="TSArrayType")return false;return opts==null||shallowEqual(node,opts);}function isTSTupleType(node,opts){if(!node)return false;if(node.type!=="TSTupleType")return false;return opts==null||shallowEqual(node,opts);}function isTSOptionalType(node,opts){if(!node)return false;if(node.type!=="TSOptionalType")return false;return opts==null||shallowEqual(node,opts);}function isTSRestType(node,opts){if(!node)return false;if(node.type!=="TSRestType")return false;return opts==null||shallowEqual(node,opts);}function isTSNamedTupleMember(node,opts){if(!node)return false;if(node.type!=="TSNamedTupleMember")return false;return opts==null||shallowEqual(node,opts);}function isTSUnionType(node,opts){if(!node)return false;if(node.type!=="TSUnionType")return false;return opts==null||shallowEqual(node,opts);}function isTSIntersectionType(node,opts){if(!node)return false;if(node.type!=="TSIntersectionType")return false;return opts==null||shallowEqual(node,opts);}function isTSConditionalType(node,opts){if(!node)return false;if(node.type!=="TSConditionalType")return false;return opts==null||shallowEqual(node,opts);}function isTSInferType(node,opts){if(!node)return false;if(node.type!=="TSInferType")return false;return opts==null||shallowEqual(node,opts);}function isTSParenthesizedType(node,opts){if(!node)return false;if(node.type!=="TSParenthesizedType")return false;return opts==null||shallowEqual(node,opts);}function isTSTypeOperator(node,opts){if(!node)return false;if(node.type!=="TSTypeOperator")return false;return opts==null||shallowEqual(node,opts);}function isTSIndexedAccessType(node,opts){if(!node)return false;if(node.type!=="TSIndexedAccessType")return false;return opts==null||shallowEqual(node,opts);}function isTSMappedType(node,opts){if(!node)return false;if(node.type!=="TSMappedType")return false;return opts==null||shallowEqual(node,opts);}function isTSLiteralType(node,opts){if(!node)return false;if(node.type!=="TSLiteralType")return false;return opts==null||shallowEqual(node,opts);}function isTSExpressionWithTypeArguments(node,opts){if(!node)return false;if(node.type!=="TSExpressionWithTypeArguments")return false;return opts==null||shallowEqual(node,opts);}function isTSInterfaceDeclaration(node,opts){if(!node)return false;if(node.type!=="TSInterfaceDeclaration")return false;return opts==null||shallowEqual(node,opts);}function isTSInterfaceBody$1(node,opts){if(!node)return false;if(node.type!=="TSInterfaceBody")return false;return opts==null||shallowEqual(node,opts);}function isTSTypeAliasDeclaration(node,opts){if(!node)return false;if(node.type!=="TSTypeAliasDeclaration")return false;return opts==null||shallowEqual(node,opts);}function isTSInstantiationExpression(node,opts){if(!node)return false;if(node.type!=="TSInstantiationExpression")return false;return opts==null||shallowEqual(node,opts);}function isTSAsExpression$1(node,opts){if(!node)return false;if(node.type!=="TSAsExpression")return false;return opts==null||shallowEqual(node,opts);}function isTSSatisfiesExpression$1(node,opts){if(!node)return false;if(node.type!=="TSSatisfiesExpression")return false;return opts==null||shallowEqual(node,opts);}function isTSTypeAssertion$1(node,opts){if(!node)return false;if(node.type!=="TSTypeAssertion")return false;return opts==null||shallowEqual(node,opts);}function isTSEnumDeclaration$1(node,opts){if(!node)return false;if(node.type!=="TSEnumDeclaration")return false;return opts==null||shallowEqual(node,opts);}function isTSEnumMember(node,opts){if(!node)return false;if(node.type!=="TSEnumMember")return false;return opts==null||shallowEqual(node,opts);}function isTSModuleDeclaration(node,opts){if(!node)return false;if(node.type!=="TSModuleDeclaration")return false;return opts==null||shallowEqual(node,opts);}function isTSModuleBlock(node,opts){if(!node)return false;if(node.type!=="TSModuleBlock")return false;return opts==null||shallowEqual(node,opts);}function isTSImportType(node,opts){if(!node)return false;if(node.type!=="TSImportType")return false;return opts==null||shallowEqual(node,opts);}function isTSImportEqualsDeclaration(node,opts){if(!node)return false;if(node.type!=="TSImportEqualsDeclaration")return false;return opts==null||shallowEqual(node,opts);}function isTSExternalModuleReference(node,opts){if(!node)return false;if(node.type!=="TSExternalModuleReference")return false;return opts==null||shallowEqual(node,opts);}function isTSNonNullExpression$1(node,opts){if(!node)return false;if(node.type!=="TSNonNullExpression")return false;return opts==null||shallowEqual(node,opts);}function isTSExportAssignment(node,opts){if(!node)return false;if(node.type!=="TSExportAssignment")return false;return opts==null||shallowEqual(node,opts);}function isTSNamespaceExportDeclaration(node,opts){if(!node)return false;if(node.type!=="TSNamespaceExportDeclaration")return false;return opts==null||shallowEqual(node,opts);}function isTSTypeAnnotation$1(node,opts){if(!node)return false;if(node.type!=="TSTypeAnnotation")return false;return opts==null||shallowEqual(node,opts);}function isTSTypeParameterInstantiation(node,opts){if(!node)return false;if(node.type!=="TSTypeParameterInstantiation")return false;return opts==null||shallowEqual(node,opts);}function isTSTypeParameterDeclaration(node,opts){if(!node)return false;if(node.type!=="TSTypeParameterDeclaration")return false;return opts==null||shallowEqual(node,opts);}function isTSTypeParameter(node,opts){if(!node)return false;if(node.type!=="TSTypeParameter")return false;return opts==null||shallowEqual(node,opts);}function isStandardized(node,opts){if(!node)return false;switch(node.type){case"ArrayExpression":case"AssignmentExpression":case"BinaryExpression":case"InterpreterDirective":case"Directive":case"DirectiveLiteral":case"BlockStatement":case"BreakStatement":case"CallExpression":case"CatchClause":case"ConditionalExpression":case"ContinueStatement":case"DebuggerStatement":case"DoWhileStatement":case"EmptyStatement":case"ExpressionStatement":case"File":case"ForInStatement":case"ForStatement":case"FunctionDeclaration":case"FunctionExpression":case"Identifier":case"IfStatement":case"LabeledStatement":case"StringLiteral":case"NumericLiteral":case"NullLiteral":case"BooleanLiteral":case"RegExpLiteral":case"LogicalExpression":case"MemberExpression":case"NewExpression":case"Program":case"ObjectExpression":case"ObjectMethod":case"ObjectProperty":case"RestElement":case"ReturnStatement":case"SequenceExpression":case"ParenthesizedExpression":case"SwitchCase":case"SwitchStatement":case"ThisExpression":case"ThrowStatement":case"TryStatement":case"UnaryExpression":case"UpdateExpression":case"VariableDeclaration":case"VariableDeclarator":case"WhileStatement":case"WithStatement":case"AssignmentPattern":case"ArrayPattern":case"ArrowFunctionExpression":case"ClassBody":case"ClassExpression":case"ClassDeclaration":case"ExportAllDeclaration":case"ExportDefaultDeclaration":case"ExportNamedDeclaration":case"ExportSpecifier":case"ForOfStatement":case"ImportDeclaration":case"ImportDefaultSpecifier":case"ImportNamespaceSpecifier":case"ImportSpecifier":case"ImportExpression":case"MetaProperty":case"ClassMethod":case"ObjectPattern":case"SpreadElement":case"Super":case"TaggedTemplateExpression":case"TemplateElement":case"TemplateLiteral":case"YieldExpression":case"AwaitExpression":case"Import":case"BigIntLiteral":case"ExportNamespaceSpecifier":case"OptionalMemberExpression":case"OptionalCallExpression":case"ClassProperty":case"ClassAccessorProperty":case"ClassPrivateProperty":case"ClassPrivateMethod":case"PrivateName":case"StaticBlock":break;case"Placeholder":switch(node.expectedNode){case"Identifier":case"StringLiteral":case"BlockStatement":case"ClassBody":break;default:return false;}break;default:return false;}return opts==null||shallowEqual(node,opts);}function isExpression$4(node,opts){if(!node)return false;switch(node.type){case"ArrayExpression":case"AssignmentExpression":case"BinaryExpression":case"CallExpression":case"ConditionalExpression":case"FunctionExpression":case"Identifier":case"StringLiteral":case"NumericLiteral":case"NullLiteral":case"BooleanLiteral":case"RegExpLiteral":case"LogicalExpression":case"MemberExpression":case"NewExpression":case"ObjectExpression":case"SequenceExpression":case"ParenthesizedExpression":case"ThisExpression":case"UnaryExpression":case"UpdateExpression":case"ArrowFunctionExpression":case"ClassExpression":case"ImportExpression":case"MetaProperty":case"Super":case"TaggedTemplateExpression":case"TemplateLiteral":case"YieldExpression":case"AwaitExpression":case"Import":case"BigIntLiteral":case"OptionalMemberExpression":case"OptionalCallExpression":case"TypeCastExpression":case"JSXElement":case"JSXFragment":case"BindExpression":case"DoExpression":case"RecordExpression":case"TupleExpression":case"DecimalLiteral":case"ModuleExpression":case"TopicReference":case"PipelineTopicExpression":case"PipelineBareFunction":case"PipelinePrimaryTopicReference":case"TSInstantiationExpression":case"TSAsExpression":case"TSSatisfiesExpression":case"TSTypeAssertion":case"TSNonNullExpression":break;case"Placeholder":switch(node.expectedNode){case"Expression":case"Identifier":case"StringLiteral":break;default:return false;}break;default:return false;}return opts==null||shallowEqual(node,opts);}function isBinary$2(node,opts){if(!node)return false;switch(node.type){case"BinaryExpression":case"LogicalExpression":break;default:return false;}return opts==null||shallowEqual(node,opts);}function isScopable(node,opts){if(!node)return false;switch(node.type){case"BlockStatement":case"CatchClause":case"DoWhileStatement":case"ForInStatement":case"ForStatement":case"FunctionDeclaration":case"FunctionExpression":case"Program":case"ObjectMethod":case"SwitchStatement":case"WhileStatement":case"ArrowFunctionExpression":case"ClassExpression":case"ClassDeclaration":case"ForOfStatement":case"ClassMethod":case"ClassPrivateMethod":case"StaticBlock":case"TSModuleBlock":break;case"Placeholder":if(node.expectedNode==="BlockStatement")break;default:return false;}return opts==null||shallowEqual(node,opts);}function isBlockParent(node,opts){if(!node)return false;switch(node.type){case"BlockStatement":case"CatchClause":case"DoWhileStatement":case"ForInStatement":case"ForStatement":case"FunctionDeclaration":case"FunctionExpression":case"Program":case"ObjectMethod":case"SwitchStatement":case"WhileStatement":case"ArrowFunctionExpression":case"ForOfStatement":case"ClassMethod":case"ClassPrivateMethod":case"StaticBlock":case"TSModuleBlock":break;case"Placeholder":if(node.expectedNode==="BlockStatement")break;default:return false;}return opts==null||shallowEqual(node,opts);}function isBlock(node,opts){if(!node)return false;switch(node.type){case"BlockStatement":case"Program":case"TSModuleBlock":break;case"Placeholder":if(node.expectedNode==="BlockStatement")break;default:return false;}return opts==null||shallowEqual(node,opts);}function isStatement$8(node,opts){if(!node)return false;switch(node.type){case"BlockStatement":case"BreakStatement":case"ContinueStatement":case"DebuggerStatement":case"DoWhileStatement":case"EmptyStatement":case"ExpressionStatement":case"ForInStatement":case"ForStatement":case"FunctionDeclaration":case"IfStatement":case"LabeledStatement":case"ReturnStatement":case"SwitchStatement":case"ThrowStatement":case"TryStatement":case"VariableDeclaration":case"WhileStatement":case"WithStatement":case"ClassDeclaration":case"ExportAllDeclaration":case"ExportDefaultDeclaration":case"ExportNamedDeclaration":case"ForOfStatement":case"ImportDeclaration":case"DeclareClass":case"DeclareFunction":case"DeclareInterface":case"DeclareModule":case"DeclareModuleExports":case"DeclareTypeAlias":case"DeclareOpaqueType":case"DeclareVariable":case"DeclareExportDeclaration":case"DeclareExportAllDeclaration":case"InterfaceDeclaration":case"OpaqueType":case"TypeAlias":case"EnumDeclaration":case"TSDeclareFunction":case"TSInterfaceDeclaration":case"TSTypeAliasDeclaration":case"TSEnumDeclaration":case"TSModuleDeclaration":case"TSImportEqualsDeclaration":case"TSExportAssignment":case"TSNamespaceExportDeclaration":break;case"Placeholder":switch(node.expectedNode){case"Statement":case"Declaration":case"BlockStatement":break;default:return false;}break;default:return false;}return opts==null||shallowEqual(node,opts);}function isTerminatorless(node,opts){if(!node)return false;switch(node.type){case"BreakStatement":case"ContinueStatement":case"ReturnStatement":case"ThrowStatement":case"YieldExpression":case"AwaitExpression":break;default:return false;}return opts==null||shallowEqual(node,opts);}function isCompletionStatement(node,opts){if(!node)return false;switch(node.type){case"BreakStatement":case"ContinueStatement":case"ReturnStatement":case"ThrowStatement":break;default:return false;}return opts==null||shallowEqual(node,opts);}function isConditional(node,opts){if(!node)return false;switch(node.type){case"ConditionalExpression":case"IfStatement":break;default:return false;}return opts==null||shallowEqual(node,opts);}function isLoop$1(node,opts){if(!node)return false;switch(node.type){case"DoWhileStatement":case"ForInStatement":case"ForStatement":case"WhileStatement":case"ForOfStatement":break;default:return false;}return opts==null||shallowEqual(node,opts);}function isWhile(node,opts){if(!node)return false;switch(node.type){case"DoWhileStatement":case"WhileStatement":break;default:return false;}return opts==null||shallowEqual(node,opts);}function isExpressionWrapper(node,opts){if(!node)return false;switch(node.type){case"ExpressionStatement":case"ParenthesizedExpression":case"TypeCastExpression":break;default:return false;}return opts==null||shallowEqual(node,opts);}function isFor$1(node,opts){if(!node)return false;switch(node.type){case"ForInStatement":case"ForStatement":case"ForOfStatement":break;default:return false;}return opts==null||shallowEqual(node,opts);}function isForXStatement$1(node,opts){if(!node)return false;switch(node.type){case"ForInStatement":case"ForOfStatement":break;default:return false;}return opts==null||shallowEqual(node,opts);}function isFunction$5(node,opts){if(!node)return false;switch(node.type){case"FunctionDeclaration":case"FunctionExpression":case"ObjectMethod":case"ArrowFunctionExpression":case"ClassMethod":case"ClassPrivateMethod":break;default:return false;}return opts==null||shallowEqual(node,opts);}function isFunctionParent(node,opts){if(!node)return false;switch(node.type){case"FunctionDeclaration":case"FunctionExpression":case"ObjectMethod":case"ArrowFunctionExpression":case"ClassMethod":case"ClassPrivateMethod":case"StaticBlock":case"TSModuleBlock":break;default:return false;}return opts==null||shallowEqual(node,opts);}function isPureish$2(node,opts){if(!node)return false;switch(node.type){case"FunctionDeclaration":case"FunctionExpression":case"StringLiteral":case"NumericLiteral":case"NullLiteral":case"BooleanLiteral":case"RegExpLiteral":case"ArrowFunctionExpression":case"BigIntLiteral":case"DecimalLiteral":break;case"Placeholder":if(node.expectedNode==="StringLiteral")break;default:return false;}return opts==null||shallowEqual(node,opts);}function isDeclaration$1(node,opts){if(!node)return false;switch(node.type){case"FunctionDeclaration":case"VariableDeclaration":case"ClassDeclaration":case"ExportAllDeclaration":case"ExportDefaultDeclaration":case"ExportNamedDeclaration":case"ImportDeclaration":case"DeclareClass":case"DeclareFunction":case"DeclareInterface":case"DeclareModule":case"DeclareModuleExports":case"DeclareTypeAlias":case"DeclareOpaqueType":case"DeclareVariable":case"DeclareExportDeclaration":case"DeclareExportAllDeclaration":case"InterfaceDeclaration":case"OpaqueType":case"TypeAlias":case"EnumDeclaration":case"TSDeclareFunction":case"TSInterfaceDeclaration":case"TSTypeAliasDeclaration":case"TSEnumDeclaration":case"TSModuleDeclaration":break;case"Placeholder":if(node.expectedNode==="Declaration")break;default:return false;}return opts==null||shallowEqual(node,opts);}function isPatternLike(node,opts){if(!node)return false;switch(node.type){case"Identifier":case"RestElement":case"AssignmentPattern":case"ArrayPattern":case"ObjectPattern":case"TSAsExpression":case"TSSatisfiesExpression":case"TSTypeAssertion":case"TSNonNullExpression":break;case"Placeholder":switch(node.expectedNode){case"Pattern":case"Identifier":break;default:return false;}break;default:return false;}return opts==null||shallowEqual(node,opts);}function isLVal(node,opts){if(!node)return false;switch(node.type){case"Identifier":case"MemberExpression":case"RestElement":case"AssignmentPattern":case"ArrayPattern":case"ObjectPattern":case"TSParameterProperty":case"TSAsExpression":case"TSSatisfiesExpression":case"TSTypeAssertion":case"TSNonNullExpression":break;case"Placeholder":switch(node.expectedNode){case"Pattern":case"Identifier":break;default:return false;}break;default:return false;}return opts==null||shallowEqual(node,opts);}function isTSEntityName(node,opts){if(!node)return false;switch(node.type){case"Identifier":case"TSQualifiedName":break;case"Placeholder":if(node.expectedNode==="Identifier")break;default:return false;}return opts==null||shallowEqual(node,opts);}function isLiteral$6(node,opts){if(!node)return false;switch(node.type){case"StringLiteral":case"NumericLiteral":case"NullLiteral":case"BooleanLiteral":case"RegExpLiteral":case"TemplateLiteral":case"BigIntLiteral":case"DecimalLiteral":break;case"Placeholder":if(node.expectedNode==="StringLiteral")break;default:return false;}return opts==null||shallowEqual(node,opts);}function isUserWhitespacable(node,opts){if(!node)return false;switch(node.type){case"ObjectMethod":case"ObjectProperty":case"ObjectTypeInternalSlot":case"ObjectTypeCallProperty":case"ObjectTypeIndexer":case"ObjectTypeProperty":case"ObjectTypeSpreadProperty":break;default:return false;}return opts==null||shallowEqual(node,opts);}function isMethod$1(node,opts){if(!node)return false;switch(node.type){case"ObjectMethod":case"ClassMethod":case"ClassPrivateMethod":break;default:return false;}return opts==null||shallowEqual(node,opts);}function isObjectMember(node,opts){if(!node)return false;switch(node.type){case"ObjectMethod":case"ObjectProperty":break;default:return false;}return opts==null||shallowEqual(node,opts);}function isProperty$1(node,opts){if(!node)return false;switch(node.type){case"ObjectProperty":case"ClassProperty":case"ClassAccessorProperty":case"ClassPrivateProperty":break;default:return false;}return opts==null||shallowEqual(node,opts);}function isUnaryLike(node,opts){if(!node)return false;switch(node.type){case"UnaryExpression":case"SpreadElement":break;default:return false;}return opts==null||shallowEqual(node,opts);}function isPattern(node,opts){if(!node)return false;switch(node.type){case"AssignmentPattern":case"ArrayPattern":case"ObjectPattern":break;case"Placeholder":if(node.expectedNode==="Pattern")break;default:return false;}return opts==null||shallowEqual(node,opts);}function isClass$1(node,opts){if(!node)return false;switch(node.type){case"ClassExpression":case"ClassDeclaration":break;default:return false;}return opts==null||shallowEqual(node,opts);}function isImportOrExportDeclaration(node,opts){if(!node)return false;switch(node.type){case"ExportAllDeclaration":case"ExportDefaultDeclaration":case"ExportNamedDeclaration":case"ImportDeclaration":break;default:return false;}return opts==null||shallowEqual(node,opts);}function isExportDeclaration$3(node,opts){if(!node)return false;switch(node.type){case"ExportAllDeclaration":case"ExportDefaultDeclaration":case"ExportNamedDeclaration":break;default:return false;}return opts==null||shallowEqual(node,opts);}function isModuleSpecifier$1(node,opts){if(!node)return false;switch(node.type){case"ExportSpecifier":case"ImportDefaultSpecifier":case"ImportNamespaceSpecifier":case"ImportSpecifier":case"ExportNamespaceSpecifier":case"ExportDefaultSpecifier":break;default:return false;}return opts==null||shallowEqual(node,opts);}function isAccessor(node,opts){if(!node)return false;switch(node.type){case"ClassAccessorProperty":break;default:return false;}return opts==null||shallowEqual(node,opts);}function isPrivate(node,opts){if(!node)return false;switch(node.type){case"ClassPrivateProperty":case"ClassPrivateMethod":case"PrivateName":break;default:return false;}return opts==null||shallowEqual(node,opts);}function isFlow$1(node,opts){if(!node)return false;switch(node.type){case"AnyTypeAnnotation":case"ArrayTypeAnnotation":case"BooleanTypeAnnotation":case"BooleanLiteralTypeAnnotation":case"NullLiteralTypeAnnotation":case"ClassImplements":case"DeclareClass":case"DeclareFunction":case"DeclareInterface":case"DeclareModule":case"DeclareModuleExports":case"DeclareTypeAlias":case"DeclareOpaqueType":case"DeclareVariable":case"DeclareExportDeclaration":case"DeclareExportAllDeclaration":case"DeclaredPredicate":case"ExistsTypeAnnotation":case"FunctionTypeAnnotation":case"FunctionTypeParam":case"GenericTypeAnnotation":case"InferredPredicate":case"InterfaceExtends":case"InterfaceDeclaration":case"InterfaceTypeAnnotation":case"IntersectionTypeAnnotation":case"MixedTypeAnnotation":case"EmptyTypeAnnotation":case"NullableTypeAnnotation":case"NumberLiteralTypeAnnotation":case"NumberTypeAnnotation":case"ObjectTypeAnnotation":case"ObjectTypeInternalSlot":case"ObjectTypeCallProperty":case"ObjectTypeIndexer":case"ObjectTypeProperty":case"ObjectTypeSpreadProperty":case"OpaqueType":case"QualifiedTypeIdentifier":case"StringLiteralTypeAnnotation":case"StringTypeAnnotation":case"SymbolTypeAnnotation":case"ThisTypeAnnotation":case"TupleTypeAnnotation":case"TypeofTypeAnnotation":case"TypeAlias":case"TypeAnnotation":case"TypeCastExpression":case"TypeParameter":case"TypeParameterDeclaration":case"TypeParameterInstantiation":case"UnionTypeAnnotation":case"Variance":case"VoidTypeAnnotation":case"EnumDeclaration":case"EnumBooleanBody":case"EnumNumberBody":case"EnumStringBody":case"EnumSymbolBody":case"EnumBooleanMember":case"EnumNumberMember":case"EnumStringMember":case"EnumDefaultedMember":case"IndexedAccessType":case"OptionalIndexedAccessType":break;default:return false;}return opts==null||shallowEqual(node,opts);}function isFlowType$1(node,opts){if(!node)return false;switch(node.type){case"AnyTypeAnnotation":case"ArrayTypeAnnotation":case"BooleanTypeAnnotation":case"BooleanLiteralTypeAnnotation":case"NullLiteralTypeAnnotation":case"ExistsTypeAnnotation":case"FunctionTypeAnnotation":case"GenericTypeAnnotation":case"InterfaceTypeAnnotation":case"IntersectionTypeAnnotation":case"MixedTypeAnnotation":case"EmptyTypeAnnotation":case"NullableTypeAnnotation":case"NumberLiteralTypeAnnotation":case"NumberTypeAnnotation":case"ObjectTypeAnnotation":case"StringLiteralTypeAnnotation":case"StringTypeAnnotation":case"SymbolTypeAnnotation":case"ThisTypeAnnotation":case"TupleTypeAnnotation":case"TypeofTypeAnnotation":case"UnionTypeAnnotation":case"VoidTypeAnnotation":case"IndexedAccessType":case"OptionalIndexedAccessType":break;default:return false;}return opts==null||shallowEqual(node,opts);}function isFlowBaseAnnotation$1(node,opts){if(!node)return false;switch(node.type){case"AnyTypeAnnotation":case"BooleanTypeAnnotation":case"NullLiteralTypeAnnotation":case"MixedTypeAnnotation":case"EmptyTypeAnnotation":case"NumberTypeAnnotation":case"StringTypeAnnotation":case"SymbolTypeAnnotation":case"ThisTypeAnnotation":case"VoidTypeAnnotation":break;default:return false;}return opts==null||shallowEqual(node,opts);}function isFlowDeclaration(node,opts){if(!node)return false;switch(node.type){case"DeclareClass":case"DeclareFunction":case"DeclareInterface":case"DeclareModule":case"DeclareModuleExports":case"DeclareTypeAlias":case"DeclareOpaqueType":case"DeclareVariable":case"DeclareExportDeclaration":case"DeclareExportAllDeclaration":case"InterfaceDeclaration":case"OpaqueType":case"TypeAlias":break;default:return false;}return opts==null||shallowEqual(node,opts);}function isFlowPredicate(node,opts){if(!node)return false;switch(node.type){case"DeclaredPredicate":case"InferredPredicate":break;default:return false;}return opts==null||shallowEqual(node,opts);}function isEnumBody(node,opts){if(!node)return false;switch(node.type){case"EnumBooleanBody":case"EnumNumberBody":case"EnumStringBody":case"EnumSymbolBody":break;default:return false;}return opts==null||shallowEqual(node,opts);}function isEnumMember(node,opts){if(!node)return false;switch(node.type){case"EnumBooleanMember":case"EnumNumberMember":case"EnumStringMember":case"EnumDefaultedMember":break;default:return false;}return opts==null||shallowEqual(node,opts);}function isJSX(node,opts){if(!node)return false;switch(node.type){case"JSXAttribute":case"JSXClosingElement":case"JSXElement":case"JSXEmptyExpression":case"JSXExpressionContainer":case"JSXSpreadChild":case"JSXIdentifier":case"JSXMemberExpression":case"JSXNamespacedName":case"JSXOpeningElement":case"JSXSpreadAttribute":case"JSXText":case"JSXFragment":case"JSXOpeningFragment":case"JSXClosingFragment":break;default:return false;}return opts==null||shallowEqual(node,opts);}function isMiscellaneous(node,opts){if(!node)return false;switch(node.type){case"Noop":case"Placeholder":case"V8IntrinsicIdentifier":break;default:return false;}return opts==null||shallowEqual(node,opts);}function isTypeScript(node,opts){if(!node)return false;switch(node.type){case"TSParameterProperty":case"TSDeclareFunction":case"TSDeclareMethod":case"TSQualifiedName":case"TSCallSignatureDeclaration":case"TSConstructSignatureDeclaration":case"TSPropertySignature":case"TSMethodSignature":case"TSIndexSignature":case"TSAnyKeyword":case"TSBooleanKeyword":case"TSBigIntKeyword":case"TSIntrinsicKeyword":case"TSNeverKeyword":case"TSNullKeyword":case"TSNumberKeyword":case"TSObjectKeyword":case"TSStringKeyword":case"TSSymbolKeyword":case"TSUndefinedKeyword":case"TSUnknownKeyword":case"TSVoidKeyword":case"TSThisType":case"TSFunctionType":case"TSConstructorType":case"TSTypeReference":case"TSTypePredicate":case"TSTypeQuery":case"TSTypeLiteral":case"TSArrayType":case"TSTupleType":case"TSOptionalType":case"TSRestType":case"TSNamedTupleMember":case"TSUnionType":case"TSIntersectionType":case"TSConditionalType":case"TSInferType":case"TSParenthesizedType":case"TSTypeOperator":case"TSIndexedAccessType":case"TSMappedType":case"TSLiteralType":case"TSExpressionWithTypeArguments":case"TSInterfaceDeclaration":case"TSInterfaceBody":case"TSTypeAliasDeclaration":case"TSInstantiationExpression":case"TSAsExpression":case"TSSatisfiesExpression":case"TSTypeAssertion":case"TSEnumDeclaration":case"TSEnumMember":case"TSModuleDeclaration":case"TSModuleBlock":case"TSImportType":case"TSImportEqualsDeclaration":case"TSExternalModuleReference":case"TSNonNullExpression":case"TSExportAssignment":case"TSNamespaceExportDeclaration":case"TSTypeAnnotation":case"TSTypeParameterInstantiation":case"TSTypeParameterDeclaration":case"TSTypeParameter":break;default:return false;}return opts==null||shallowEqual(node,opts);}function isTSTypeElement(node,opts){if(!node)return false;switch(node.type){case"TSCallSignatureDeclaration":case"TSConstructSignatureDeclaration":case"TSPropertySignature":case"TSMethodSignature":case"TSIndexSignature":break;default:return false;}return opts==null||shallowEqual(node,opts);}function isTSType$1(node,opts){if(!node)return false;switch(node.type){case"TSAnyKeyword":case"TSBooleanKeyword":case"TSBigIntKeyword":case"TSIntrinsicKeyword":case"TSNeverKeyword":case"TSNullKeyword":case"TSNumberKeyword":case"TSObjectKeyword":case"TSStringKeyword":case"TSSymbolKeyword":case"TSUndefinedKeyword":case"TSUnknownKeyword":case"TSVoidKeyword":case"TSThisType":case"TSFunctionType":case"TSConstructorType":case"TSTypeReference":case"TSTypePredicate":case"TSTypeQuery":case"TSTypeLiteral":case"TSArrayType":case"TSTupleType":case"TSOptionalType":case"TSRestType":case"TSUnionType":case"TSIntersectionType":case"TSConditionalType":case"TSInferType":case"TSParenthesizedType":case"TSTypeOperator":case"TSIndexedAccessType":case"TSMappedType":case"TSLiteralType":case"TSExpressionWithTypeArguments":case"TSImportType":break;default:return false;}return opts==null||shallowEqual(node,opts);}function isTSBaseType(node,opts){if(!node)return false;switch(node.type){case"TSAnyKeyword":case"TSBooleanKeyword":case"TSBigIntKeyword":case"TSIntrinsicKeyword":case"TSNeverKeyword":case"TSNullKeyword":case"TSNumberKeyword":case"TSObjectKeyword":case"TSStringKeyword":case"TSSymbolKeyword":case"TSUndefinedKeyword":case"TSUnknownKeyword":case"TSVoidKeyword":case"TSThisType":case"TSLiteralType":break;default:return false;}return opts==null||shallowEqual(node,opts);}function isNumberLiteral(node,opts){deprecationWarning$1("isNumberLiteral","isNumericLiteral");if(!node)return false;if(node.type!=="NumberLiteral")return false;return opts==null||shallowEqual(node,opts);}function isRegexLiteral(node,opts){deprecationWarning$1("isRegexLiteral","isRegExpLiteral");if(!node)return false;if(node.type!=="RegexLiteral")return false;return opts==null||shallowEqual(node,opts);}function isRestProperty$1(node,opts){deprecationWarning$1("isRestProperty","isRestElement");if(!node)return false;if(node.type!=="RestProperty")return false;return opts==null||shallowEqual(node,opts);}function isSpreadProperty$1(node,opts){deprecationWarning$1("isSpreadProperty","isSpreadElement");if(!node)return false;if(node.type!=="SpreadProperty")return false;return opts==null||shallowEqual(node,opts);}function isModuleDeclaration(node,opts){deprecationWarning$1("isModuleDeclaration","isImportOrExportDeclaration");return isImportOrExportDeclaration(node,opts);}function matchesPattern$2(member,match,allowPartial){if(!isMemberExpression$9(member))return false;var parts=Array.isArray(match)?match:match.split(".");var nodes=[];var node;for(node=member;isMemberExpression$9(node);node=node.object){nodes.push(node.property);}nodes.push(node);if(nodes.length<parts.length)return false;if(!allowPartial&&nodes.length>parts.length)return false;for(var i=0,j=nodes.length-1;i<parts.length;i++,j--){var _node=nodes[j];var value=void 0;if(isIdentifier$j(_node)){value=_node.name;}else if(isStringLiteral$5(_node)){value=_node.value;}else if(isThisExpression$2(_node)){value="this";}else{return false;}if(parts[i]!==value)return false;}return true;}function buildMatchMemberExpression$1(match,allowPartial){var parts=match.split(".");return function(member){return matchesPattern$2(member,parts,allowPartial);};}var isReactComponent=buildMatchMemberExpression$1("React.Component");function isCompatTag$1(tagName){return!!tagName&&/^[a-z]/.test(tagName);}var global$1=typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{};// shim for using process in browser
// based off https://github.com/defunctzombie/node-process/blob/master/browser.js
function defaultSetTimout(){throw new Error('setTimeout has not been defined');}function defaultClearTimeout(){throw new Error('clearTimeout has not been defined');}var cachedSetTimeout=defaultSetTimout;var cachedClearTimeout=defaultClearTimeout;if(typeof global$1.setTimeout==='function'){cachedSetTimeout=setTimeout;}if(typeof global$1.clearTimeout==='function'){cachedClearTimeout=clearTimeout;}function runTimeout(fun){if(cachedSetTimeout===setTimeout){//normal enviroments in sane situations
return setTimeout(fun,0);}// if setTimeout wasn't available but was latter defined
if((cachedSetTimeout===defaultSetTimout||!cachedSetTimeout)&&setTimeout){cachedSetTimeout=setTimeout;return setTimeout(fun,0);}try{// when when somebody has screwed with setTimeout but no I.E. maddness
return cachedSetTimeout(fun,0);}catch(e){try{// When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally
return cachedSetTimeout.call(null,fun,0);}catch(e){// same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error
return cachedSetTimeout.call(this,fun,0);}}}function runClearTimeout(marker){if(cachedClearTimeout===clearTimeout){//normal enviroments in sane situations
return clearTimeout(marker);}// if clearTimeout wasn't available but was latter defined
if((cachedClearTimeout===defaultClearTimeout||!cachedClearTimeout)&&clearTimeout){cachedClearTimeout=clearTimeout;return clearTimeout(marker);}try{// when when somebody has screwed with setTimeout but no I.E. maddness
return cachedClearTimeout(marker);}catch(e){try{// When we are in I.E. but the script has been evaled so I.E. doesn't  trust the global object when called normally
return cachedClearTimeout.call(null,marker);}catch(e){// same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.
// Some versions of I.E. have different rules for clearTimeout vs setTimeout
return cachedClearTimeout.call(this,marker);}}}var queue=[];var draining=false;var currentQueue;var queueIndex=-1;function cleanUpNextTick(){if(!draining||!currentQueue){return;}draining=false;if(currentQueue.length){queue=currentQueue.concat(queue);}else{queueIndex=-1;}if(queue.length){drainQueue();}}function drainQueue(){if(draining){return;}var timeout=runTimeout(cleanUpNextTick);draining=true;var len=queue.length;while(len){currentQueue=queue;queue=[];while(++queueIndex<len){if(currentQueue){currentQueue[queueIndex].run();}}queueIndex=-1;len=queue.length;}currentQueue=null;draining=false;runClearTimeout(timeout);}function nextTick(fun){var args=new Array(arguments.length-1);if(arguments.length>1){for(var i=1;i<arguments.length;i++){args[i-1]=arguments[i];}}queue.push(new Item(fun,args));if(queue.length===1&&!draining){runTimeout(drainQueue);}}// v8 likes predictible objects
function Item(fun,array){this.fun=fun;this.array=array;}Item.prototype.run=function(){this.fun.apply(null,this.array);};var title='browser';var platform='browser';var browser$3=true;var env$1={};var argv=[];var version$2='';// empty string to avoid regexp issues
var versions$2={};var release={};var config$1={};function noop$2(){}var on=noop$2;var addListener=noop$2;var once$1=noop$2;var off=noop$2;var removeListener=noop$2;var removeAllListeners=noop$2;var emit$1=noop$2;function binding(name){throw new Error('process.binding is not supported');}function cwd(){return'/';}function chdir(dir){throw new Error('process.chdir is not supported');}function umask(){return 0;}// from https://github.com/kumavis/browser-process-hrtime/blob/master/index.js
var performance=global$1.performance||{};var performanceNow=performance.now||performance.mozNow||performance.msNow||performance.oNow||performance.webkitNow||function(){return new Date().getTime();};// generate timestamp or delta
// see http://nodejs.org/api/process.html#process_process_hrtime
function hrtime(previousTimestamp){var clocktime=performanceNow.call(performance)*1e-3;var seconds=Math.floor(clocktime);var nanoseconds=Math.floor(clocktime%1*1e9);if(previousTimestamp){seconds=seconds-previousTimestamp[0];nanoseconds=nanoseconds-previousTimestamp[1];if(nanoseconds<0){seconds--;nanoseconds+=1e9;}}return[seconds,nanoseconds];}var startTime=new Date();function uptime(){var currentTime=new Date();var dif=currentTime-startTime;return dif/1000;}var browser$1$1={nextTick:nextTick,title:title,browser:browser$3,env:env$1,argv:argv,version:version$2,versions:versions$2,on:on,addListener:addListener,once:once$1,off:off,removeListener:removeListener,removeAllListeners:removeAllListeners,emit:emit$1,binding:binding,cwd:cwd,chdir:chdir,umask:umask,hrtime:hrtime,platform:platform,release:release,config:config$1,uptime:uptime};var commonjsGlobal=typeof globalThis!=='undefined'?globalThis:typeof window!=='undefined'?window:typeof global!=='undefined'?global:typeof self!=='undefined'?self:{};function getAugmentedNamespace(n){if(n.__esModule)return n;var f=n["default"];if(typeof f=="function"){var a=function a(){if(this instanceof a){return Reflect.construct(f,arguments,this.constructor);}return f.apply(this,arguments);};a.prototype=f.prototype;}else a={};Object.defineProperty(a,'__esModule',{value:true});Object.keys(n).forEach(function(k){var d=Object.getOwnPropertyDescriptor(n,k);Object.defineProperty(a,k,d.get?d:{enumerable:true,get:function get(){return n[k];}});});return a;}var toFastPropertiesBABEL_8_BREAKINGFalse;var hasRequiredToFastPropertiesBABEL_8_BREAKINGFalse;function requireToFastPropertiesBABEL_8_BREAKINGFalse(){if(hasRequiredToFastPropertiesBABEL_8_BREAKINGFalse)return toFastPropertiesBABEL_8_BREAKINGFalse;hasRequiredToFastPropertiesBABEL_8_BREAKINGFalse=1;var fastProto=null;function FastObject(o){if(fastProto!==null&&_typeof(fastProto.property)){var result=fastProto;fastProto=FastObject.prototype=null;return result;}fastProto=FastObject.prototype=o==null?Object.create(null):o;return new FastObject();}FastObject();toFastPropertiesBABEL_8_BREAKINGFalse=function toFastproperties(o){return FastObject(o);};return toFastPropertiesBABEL_8_BREAKINGFalse;}function bool$c(value){if(value==null)return false;return value&&value!=="false"&&value!=="0";}var toFastProperties=bool$c(browser$1$1.env["BABEL_8_BREAKING"])?requireToFastPropertiesBABEL_8_BREAKINGFalse():requireToFastPropertiesBABEL_8_BREAKINGFalse();function isType$2(nodeType,targetType){if(nodeType===targetType)return true;if(nodeType==null)return false;if(ALIAS_KEYS[targetType])return false;var aliases=FLIPPED_ALIAS_KEYS$3[targetType];if(aliases){if(aliases[0]===nodeType)return true;for(var _iterator=_createForOfIteratorHelperLoose(aliases),_step;!(_step=_iterator()).done;){var alias=_step.value;if(nodeType===alias)return true;}}return false;}function isPlaceholderType(placeholderType,targetType){if(placeholderType===targetType)return true;var aliases=PLACEHOLDERS_ALIAS[placeholderType];if(aliases){for(var _iterator=_createForOfIteratorHelperLoose(aliases),_step;!(_step=_iterator()).done;){var alias=_step.value;if(targetType===alias)return true;}}return false;}function is$1(type,node,opts){if(!node)return false;var matches=isType$2(node.type,type);if(!matches){if(!opts&&node.type==="Placeholder"&&type in FLIPPED_ALIAS_KEYS$3){return isPlaceholderType(node.expectedNode,type);}return false;}if(typeof opts==="undefined"){return true;}else{return shallowEqual(node,opts);}}var nonASCIIidentifierStartChars="\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CA\uA7D0\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC";var nonASCIIidentifierChars="\u200C\u200D\xB7\u0300-\u036F\u0387\u0483-\u0487\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u0669\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u06F0-\u06F9\u0711\u0730-\u074A\u07A6-\u07B0\u07C0-\u07C9\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u0898-\u089F\u08CA-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0966-\u096F\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09E6-\u09EF\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A66-\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AE6-\u0AEF\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B55-\u0B57\u0B62\u0B63\u0B66-\u0B6F\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0BE6-\u0BEF\u0C00-\u0C04\u0C3C\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0CE6-\u0CEF\u0CF3\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D66-\u0D6F\u0D81-\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0E50-\u0E59\u0EB1\u0EB4-\u0EBC\u0EC8-\u0ECE\u0ED0-\u0ED9\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1040-\u1049\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F-\u109D\u135D-\u135F\u1369-\u1371\u1712-\u1715\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u17E0-\u17E9\u180B-\u180D\u180F-\u1819\u18A9\u1920-\u192B\u1930-\u193B\u1946-\u194F\u19D0-\u19DA\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AB0-\u1ABD\u1ABF-\u1ACE\u1B00-\u1B04\u1B34-\u1B44\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BB0-\u1BB9\u1BE6-\u1BF3\u1C24-\u1C37\u1C40-\u1C49\u1C50-\u1C59\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DFF\u200C\u200D\u203F\u2040\u2054\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\u30FB\uA620-\uA629\uA66F\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA82C\uA880\uA881\uA8B4-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F1\uA8FF-\uA909\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9D0-\uA9D9\uA9E5\uA9F0-\uA9F9\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA50-\uAA59\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uABF0-\uABF9\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFF10-\uFF19\uFF3F\uFF65";var nonASCIIidentifierStart=new RegExp("["+nonASCIIidentifierStartChars+"]");var nonASCIIidentifier=new RegExp("["+nonASCIIidentifierStartChars+nonASCIIidentifierChars+"]");nonASCIIidentifierStartChars=nonASCIIidentifierChars=null;var astralIdentifierStartCodes=[0,11,2,25,2,18,2,1,2,14,3,13,35,122,70,52,268,28,4,48,48,31,14,29,6,37,11,29,3,35,5,7,2,4,43,157,19,35,5,35,5,39,9,51,13,10,2,14,2,6,2,1,2,10,2,14,2,6,2,1,68,310,10,21,11,7,25,5,2,41,2,8,70,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,43,17,47,20,28,22,13,52,58,1,3,0,14,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,20,1,64,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,38,6,186,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,19,72,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,16,0,2,12,2,33,125,0,80,921,103,110,18,195,2637,96,16,1071,18,5,4026,582,8634,568,8,30,18,78,18,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,8936,3,2,6,2,1,2,290,16,0,30,2,3,0,15,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,1845,30,7,5,262,61,147,44,11,6,17,0,322,29,19,43,485,27,757,6,2,3,2,1,2,14,2,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,42719,33,4153,7,221,3,5761,15,7472,16,621,2467,541,1507,4938,6,4191];var astralIdentifierCodes=[509,0,227,0,150,4,294,9,1368,2,2,1,6,3,41,2,5,0,166,1,574,3,9,9,370,1,81,2,71,10,50,3,123,2,54,14,32,10,3,1,11,3,46,10,8,0,46,9,7,2,37,13,2,9,6,1,45,0,13,2,49,13,9,3,2,11,83,11,7,0,3,0,158,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,10,1,2,0,49,6,4,4,14,9,5351,0,7,14,13835,9,87,9,39,4,60,6,26,9,1014,0,2,54,8,3,82,0,12,1,19628,1,4706,45,3,22,543,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,101,0,161,6,10,9,357,0,62,13,499,13,983,6,110,6,6,9,4759,9,787719,239];function isInAstralSet(code,set){var pos=0x10000;for(var i=0,length=set.length;i<length;i+=2){pos+=set[i];if(pos>code)return false;pos+=set[i+1];if(pos>=code)return true;}return false;}function isIdentifierStart(code){if(code<65)return code===36;if(code<=90)return true;if(code<97)return code===95;if(code<=122)return true;if(code<=0xffff){return code>=0xaa&&nonASCIIidentifierStart.test(String.fromCharCode(code));}return isInAstralSet(code,astralIdentifierStartCodes);}function isIdentifierChar(code){if(code<48)return code===36;if(code<58)return true;if(code<65)return false;if(code<=90)return true;if(code<97)return code===95;if(code<=122)return true;if(code<=0xffff){return code>=0xaa&&nonASCIIidentifier.test(String.fromCharCode(code));}return isInAstralSet(code,astralIdentifierStartCodes)||isInAstralSet(code,astralIdentifierCodes);}function isIdentifierName(name){var isFirst=true;for(var i=0;i<name.length;i++){var cp=name.charCodeAt(i);if((cp&0xfc00)===0xd800&&i+1<name.length){var trail=name.charCodeAt(++i);if((trail&0xfc00)===0xdc00){cp=0x10000+((cp&0x3ff)<<10)+(trail&0x3ff);}}if(isFirst){isFirst=false;if(!isIdentifierStart(cp)){return false;}}else if(!isIdentifierChar(cp)){return false;}}return!isFirst;}var reservedWords={keyword:["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"],strict:["implements","interface","let","package","private","protected","public","static","yield"],strictBind:["eval","arguments"]};var keywords$1=new Set(reservedWords.keyword);var reservedWordsStrictSet=new Set(reservedWords.strict);var reservedWordsStrictBindSet=new Set(reservedWords.strictBind);function isReservedWord(word,inModule){return inModule&&word==="await"||word==="enum";}function isStrictReservedWord(word,inModule){return isReservedWord(word,inModule)||reservedWordsStrictSet.has(word);}function isStrictBindOnlyReservedWord(word){return reservedWordsStrictBindSet.has(word);}function isStrictBindReservedWord(word,inModule){return isStrictReservedWord(word,inModule)||isStrictBindOnlyReservedWord(word);}function isKeyword(word){return keywords$1.has(word);}function isValidIdentifier$1(name,reserved){if(reserved===void 0){reserved=true;}if(typeof name!=="string")return false;if(reserved){if(isKeyword(name)||isStrictReservedWord(name,true)){return false;}}return isIdentifierName(name);}var _isDigit=function isDigit(code){return code>=48&&code<=57;};var forbiddenNumericSeparatorSiblings={decBinOct:new Set([46,66,69,79,95,98,101,111]),hex:new Set([46,88,95,120])};var isAllowedNumericSeparatorSibling={bin:function bin(ch){return ch===48||ch===49;},oct:function oct(ch){return ch>=48&&ch<=55;},dec:function dec(ch){return ch>=48&&ch<=57;},hex:function hex(ch){return ch>=48&&ch<=57||ch>=65&&ch<=70||ch>=97&&ch<=102;}};function readStringContents(type,input,pos,lineStart,curLine,errors){var initialPos=pos;var initialLineStart=lineStart;var initialCurLine=curLine;var out="";var firstInvalidLoc=null;var chunkStart=pos;var length=input.length;for(;;){if(pos>=length){errors.unterminated(initialPos,initialLineStart,initialCurLine);out+=input.slice(chunkStart,pos);break;}var ch=input.charCodeAt(pos);if(isStringEnd(type,ch,input,pos)){out+=input.slice(chunkStart,pos);break;}if(ch===92){out+=input.slice(chunkStart,pos);var res=readEscapedChar(input,pos,lineStart,curLine,type==="template",errors);if(res.ch===null&&!firstInvalidLoc){firstInvalidLoc={pos:pos,lineStart:lineStart,curLine:curLine};}else{out+=res.ch;}pos=res.pos;lineStart=res.lineStart;curLine=res.curLine;chunkStart=pos;}else if(ch===8232||ch===8233){++pos;++curLine;lineStart=pos;}else if(ch===10||ch===13){if(type==="template"){out+=input.slice(chunkStart,pos)+"\n";++pos;if(ch===13&&input.charCodeAt(pos)===10){++pos;}++curLine;chunkStart=lineStart=pos;}else{errors.unterminated(initialPos,initialLineStart,initialCurLine);}}else{++pos;}}return{pos:pos,str:out,firstInvalidLoc:firstInvalidLoc,lineStart:lineStart,curLine:curLine,containsInvalid:!!firstInvalidLoc};}function isStringEnd(type,ch,input,pos){if(type==="template"){return ch===96||ch===36&&input.charCodeAt(pos+1)===123;}return ch===(type==="double"?34:39);}function readEscapedChar(input,pos,lineStart,curLine,inTemplate,errors){var throwOnInvalid=!inTemplate;pos++;var res=function res(ch){return{pos:pos,ch:ch,lineStart:lineStart,curLine:curLine};};var ch=input.charCodeAt(pos++);switch(ch){case 110:return res("\n");case 114:return res("\r");case 120:{var code;var _readHexChar=readHexChar(input,pos,lineStart,curLine,2,false,throwOnInvalid,errors);code=_readHexChar.code;pos=_readHexChar.pos;return res(code===null?null:String.fromCharCode(code));}case 117:{var _code;var _readCodePoint=readCodePoint(input,pos,lineStart,curLine,throwOnInvalid,errors);_code=_readCodePoint.code;pos=_readCodePoint.pos;return res(_code===null?null:String.fromCodePoint(_code));}case 116:return res("\t");case 98:return res("\b");case 118:return res("\x0B");case 102:return res("\f");case 13:if(input.charCodeAt(pos)===10){++pos;}case 10:lineStart=pos;++curLine;case 8232:case 8233:return res("");case 56:case 57:if(inTemplate){return res(null);}else{errors.strictNumericEscape(pos-1,lineStart,curLine);}default:if(ch>=48&&ch<=55){var startPos=pos-1;var match=input.slice(startPos,pos+2).match(/^[0-7]+/);var octalStr=match[0];var octal=parseInt(octalStr,8);if(octal>255){octalStr=octalStr.slice(0,-1);octal=parseInt(octalStr,8);}pos+=octalStr.length-1;var next=input.charCodeAt(pos);if(octalStr!=="0"||next===56||next===57){if(inTemplate){return res(null);}else{errors.strictNumericEscape(startPos,lineStart,curLine);}}return res(String.fromCharCode(octal));}return res(String.fromCharCode(ch));}}function readHexChar(input,pos,lineStart,curLine,len,forceLen,throwOnInvalid,errors){var initialPos=pos;var n;var _readInt=readInt(input,pos,lineStart,curLine,16,len,forceLen,false,errors,!throwOnInvalid);n=_readInt.n;pos=_readInt.pos;if(n===null){if(throwOnInvalid){errors.invalidEscapeSequence(initialPos,lineStart,curLine);}else{pos=initialPos-1;}}return{code:n,pos:pos};}function readInt(input,pos,lineStart,curLine,radix,len,forceLen,allowNumSeparator,errors,bailOnError){var start=pos;var forbiddenSiblings=radix===16?forbiddenNumericSeparatorSiblings.hex:forbiddenNumericSeparatorSiblings.decBinOct;var isAllowedSibling=radix===16?isAllowedNumericSeparatorSibling.hex:radix===10?isAllowedNumericSeparatorSibling.dec:radix===8?isAllowedNumericSeparatorSibling.oct:isAllowedNumericSeparatorSibling.bin;var invalid=false;var total=0;for(var i=0,e=len==null?Infinity:len;i<e;++i){var code=input.charCodeAt(pos);var val=void 0;if(code===95&&allowNumSeparator!=="bail"){var prev=input.charCodeAt(pos-1);var next=input.charCodeAt(pos+1);if(!allowNumSeparator){if(bailOnError)return{n:null,pos:pos};errors.numericSeparatorInEscapeSequence(pos,lineStart,curLine);}else if(Number.isNaN(next)||!isAllowedSibling(next)||forbiddenSiblings.has(prev)||forbiddenSiblings.has(next)){if(bailOnError)return{n:null,pos:pos};errors.unexpectedNumericSeparator(pos,lineStart,curLine);}++pos;continue;}if(code>=97){val=code-97+10;}else if(code>=65){val=code-65+10;}else if(_isDigit(code)){val=code-48;}else{val=Infinity;}if(val>=radix){if(val<=9&&bailOnError){return{n:null,pos:pos};}else if(val<=9&&errors.invalidDigit(pos,lineStart,curLine,radix)){val=0;}else if(forceLen){val=0;invalid=true;}else{break;}}++pos;total=total*radix+val;}if(pos===start||len!=null&&pos-start!==len||invalid){return{n:null,pos:pos};}return{n:total,pos:pos};}function readCodePoint(input,pos,lineStart,curLine,throwOnInvalid,errors){var ch=input.charCodeAt(pos);var code;if(ch===123){++pos;var _readHexChar2=readHexChar(input,pos,lineStart,curLine,input.indexOf("}",pos)-pos,true,throwOnInvalid,errors);code=_readHexChar2.code;pos=_readHexChar2.pos;++pos;if(code!==null&&code>0x10ffff){if(throwOnInvalid){errors.invalidCodePoint(pos,lineStart,curLine);}else{return{code:null,pos:pos};}}}else{var _readHexChar3=readHexChar(input,pos,lineStart,curLine,4,false,throwOnInvalid,errors);code=_readHexChar3.code;pos=_readHexChar3.pos;}return{code:code,pos:pos};}var STATEMENT_OR_BLOCK_KEYS$1=["consequent","body","alternate"];var FLATTENABLE_KEYS=["body","expressions"];var FOR_INIT_KEYS=["left","init"];var COMMENT_KEYS=["leadingComments","trailingComments","innerComments"];var LOGICAL_OPERATORS$3=["||","&&","??"];var UPDATE_OPERATORS=["++","--"];var BOOLEAN_NUMBER_BINARY_OPERATORS$1=[">","<",">=","<="];var EQUALITY_BINARY_OPERATORS=["==","===","!=","!=="];var COMPARISON_BINARY_OPERATORS=[].concat(EQUALITY_BINARY_OPERATORS,["in","instanceof"]);var BOOLEAN_BINARY_OPERATORS$1=[].concat(_toConsumableArray(COMPARISON_BINARY_OPERATORS),BOOLEAN_NUMBER_BINARY_OPERATORS$1);var NUMBER_BINARY_OPERATORS$1=["-","/","%","*","**","&","|",">>",">>>","<<","^"];var BINARY_OPERATORS=["+"].concat(NUMBER_BINARY_OPERATORS$1,_toConsumableArray(BOOLEAN_BINARY_OPERATORS$1),["|>"]);var ASSIGNMENT_OPERATORS=["=","+="].concat(_toConsumableArray(NUMBER_BINARY_OPERATORS$1.map(function(op){return op+"=";})),_toConsumableArray(LOGICAL_OPERATORS$3.map(function(op){return op+"=";})));var BOOLEAN_UNARY_OPERATORS$1=["delete","!"];var NUMBER_UNARY_OPERATORS$1=["+","-","~"];var STRING_UNARY_OPERATORS$1=["typeof"];var UNARY_OPERATORS=["void","throw"].concat(BOOLEAN_UNARY_OPERATORS$1,NUMBER_UNARY_OPERATORS$1,STRING_UNARY_OPERATORS$1);var INHERIT_KEYS={optional:["typeAnnotation","typeParameters","returnType"],force:["start","loc","end"]};var BLOCK_SCOPED_SYMBOL=Symbol["for"]("var used to be block scoped");var NOT_LOCAL_BINDING$2=Symbol["for"]("should not be considered a local binding");var VISITOR_KEYS$5={};var ALIAS_KEYS={};var FLIPPED_ALIAS_KEYS$3={};var NODE_FIELDS={};var BUILDER_KEYS={};var DEPRECATED_KEYS$1={};var NODE_PARENT_VALIDATIONS={};function getType$1(val){if(Array.isArray(val)){return"array";}else if(val===null){return"null";}else{return _typeof(val);}}function validate$6(validate){return{validate:validate};}function typeIs(typeName){return typeof typeName==="string"?assertNodeType(typeName):assertNodeType.apply(void 0,_toConsumableArray(typeName));}function validateType(typeName){return validate$6(typeIs(typeName));}function validateOptional(validate){return{validate:validate,optional:true};}function validateOptionalType(typeName){return{validate:typeIs(typeName),optional:true};}function arrayOf(elementType){return chain$1(assertValueType("array"),assertEach(elementType));}function arrayOfType(typeName){return arrayOf(typeIs(typeName));}function validateArrayOfType(typeName){return validate$6(arrayOfType(typeName));}function assertEach(callback){function validator(node,key,val){if(!Array.isArray(val))return;for(var i=0;i<val.length;i++){var subkey=key+"["+i+"]";var v=val[i];callback(node,subkey,v);if(browser$1$1.env.BABEL_TYPES_8_BREAKING)validateChild(node,subkey,v);}}validator.each=callback;return validator;}function assertOneOf(){for(var _len=arguments.length,values=new Array(_len),_key=0;_key<_len;_key++){values[_key]=arguments[_key];}function validate(node,key,val){if(values.indexOf(val)<0){throw new TypeError("Property "+key+" expected value to be one of "+JSON.stringify(values)+" but got "+JSON.stringify(val));}}validate.oneOf=values;return validate;}function assertNodeType(){for(var _len2=arguments.length,types=new Array(_len2),_key2=0;_key2<_len2;_key2++){types[_key2]=arguments[_key2];}function validate(node,key,val){for(var _iterator=_createForOfIteratorHelperLoose(types),_step;!(_step=_iterator()).done;){var type=_step.value;if(is$1(type,val)){validateChild(node,key,val);return;}}throw new TypeError("Property "+key+" of "+node.type+" expected node to be of a type "+JSON.stringify(types)+" but instead got "+JSON.stringify(val==null?void 0:val.type));}validate.oneOfNodeTypes=types;return validate;}function assertNodeOrValueType(){for(var _len3=arguments.length,types=new Array(_len3),_key3=0;_key3<_len3;_key3++){types[_key3]=arguments[_key3];}function validate(node,key,val){for(var _iterator2=_createForOfIteratorHelperLoose(types),_step2;!(_step2=_iterator2()).done;){var type=_step2.value;if(getType$1(val)===type||is$1(type,val)){validateChild(node,key,val);return;}}throw new TypeError("Property "+key+" of "+node.type+" expected node to be of a type "+JSON.stringify(types)+" but instead got "+JSON.stringify(val==null?void 0:val.type));}validate.oneOfNodeOrValueTypes=types;return validate;}function assertValueType(type){function validate(node,key,val){var valid=getType$1(val)===type;if(!valid){throw new TypeError("Property "+key+" expected type of "+type+" but got "+getType$1(val));}}validate.type=type;return validate;}function assertShape(shape){function validate(node,key,val){var errors=[];for(var _i=0,_Object$keys=Object.keys(shape);_i<_Object$keys.length;_i++){var property=_Object$keys[_i];try{validateField(node,property,val[property],shape[property]);}catch(error){if(error instanceof TypeError){errors.push(error.message);continue;}throw error;}}if(errors.length){throw new TypeError("Property "+key+" of "+node.type+" expected to have the following:\n"+errors.join("\n"));}}validate.shapeOf=shape;return validate;}function assertOptionalChainStart(){function validate(node){var _current2;var current=node;while(node){var _current=current,type=_current.type;if(type==="OptionalCallExpression"){if(current.optional)return;current=current.callee;continue;}if(type==="OptionalMemberExpression"){if(current.optional)return;current=current.object;continue;}break;}throw new TypeError("Non-optional "+node.type+" must chain from an optional OptionalMemberExpression or OptionalCallExpression. Found chain from "+((_current2=current)==null?void 0:_current2.type));}return validate;}function chain$1(){for(var _len4=arguments.length,fns=new Array(_len4),_key4=0;_key4<_len4;_key4++){fns[_key4]=arguments[_key4];}function validate(){for(var _iterator3=_createForOfIteratorHelperLoose(fns),_step3;!(_step3=_iterator3()).done;){var fn=_step3.value;fn.apply(void 0,arguments);}}validate.chainOf=fns;if(fns.length>=2&&"type"in fns[0]&&fns[0].type==="array"&&!("each"in fns[1])){throw new Error("An assertValueType(\"array\") validator can only be followed by an assertEach(...) validator.");}return validate;}var validTypeOpts=["aliases","builder","deprecatedAlias","fields","inherits","visitor","validate"];var validFieldKeys=["default","optional","deprecated","validate"];var store={};function defineAliasedType(){for(var _len5=arguments.length,aliases=new Array(_len5),_key5=0;_key5<_len5;_key5++){aliases[_key5]=arguments[_key5];}return function(type,opts){var _defined2;if(opts===void 0){opts={};}var defined=opts.aliases;if(!defined){var _store$opts$inherits$,_defined;if(opts.inherits)defined=(_store$opts$inherits$=store[opts.inherits].aliases)==null?void 0:_store$opts$inherits$.slice();(_defined=defined)!=null?_defined:defined=[];opts.aliases=defined;}var additional=aliases.filter(function(a){return!defined.includes(a);});(_defined2=defined).unshift.apply(_defined2,_toConsumableArray(additional));defineType$5(type,opts);};}function defineType$5(type,opts){if(opts===void 0){opts={};}var inherits=opts.inherits&&store[opts.inherits]||{};var fields=opts.fields;if(!fields){fields={};if(inherits.fields){var keys=Object.getOwnPropertyNames(inherits.fields);for(var _iterator4=_createForOfIteratorHelperLoose(keys),_step4;!(_step4=_iterator4()).done;){var _key6=_step4.value;var field=inherits.fields[_key6];var def=field["default"];if(Array.isArray(def)?def.length>0:def&&_typeof(def)==="object"){throw new Error("field defaults can only be primitives or empty arrays currently");}fields[_key6]={"default":Array.isArray(def)?[]:def,optional:field.optional,deprecated:field.deprecated,validate:field.validate};}}}var visitor=opts.visitor||inherits.visitor||[];var aliases=opts.aliases||inherits.aliases||[];var builder=opts.builder||inherits.builder||opts.visitor||[];for(var _i2=0,_Object$keys2=Object.keys(opts);_i2<_Object$keys2.length;_i2++){var k=_Object$keys2[_i2];if(validTypeOpts.indexOf(k)===-1){throw new Error("Unknown type option \""+k+"\" on "+type);}}if(opts.deprecatedAlias){DEPRECATED_KEYS$1[opts.deprecatedAlias]=type;}for(var _iterator5=_createForOfIteratorHelperLoose(visitor.concat(builder)),_step5;!(_step5=_iterator5()).done;){var _key8=_step5.value;fields[_key8]=fields[_key8]||{};}for(var _i3=0,_Object$keys3=Object.keys(fields);_i3<_Object$keys3.length;_i3++){var _key7=_Object$keys3[_i3];var _field=fields[_key7];if(_field["default"]!==undefined&&builder.indexOf(_key7)===-1){_field.optional=true;}if(_field["default"]===undefined){_field["default"]=null;}else if(!_field.validate&&_field["default"]!=null){_field.validate=assertValueType(getType$1(_field["default"]));}for(var _i4=0,_Object$keys4=Object.keys(_field);_i4<_Object$keys4.length;_i4++){var _k=_Object$keys4[_i4];if(validFieldKeys.indexOf(_k)===-1){throw new Error("Unknown field key \""+_k+"\" on "+type+"."+_key7);}}}VISITOR_KEYS$5[type]=opts.visitor=visitor;BUILDER_KEYS[type]=opts.builder=builder;NODE_FIELDS[type]=opts.fields=fields;ALIAS_KEYS[type]=opts.aliases=aliases;aliases.forEach(function(alias){FLIPPED_ALIAS_KEYS$3[alias]=FLIPPED_ALIAS_KEYS$3[alias]||[];FLIPPED_ALIAS_KEYS$3[alias].push(type);});if(opts.validate){NODE_PARENT_VALIDATIONS[type]=opts.validate;}store[type]=opts;}var defineType$4=defineAliasedType("Standardized");defineType$4("ArrayExpression",{fields:{elements:{validate:chain$1(assertValueType("array"),assertEach(assertNodeOrValueType("null","Expression","SpreadElement"))),"default":!browser$1$1.env.BABEL_TYPES_8_BREAKING?[]:undefined}},visitor:["elements"],aliases:["Expression"]});defineType$4("AssignmentExpression",{fields:{operator:{validate:function(){if(!browser$1$1.env.BABEL_TYPES_8_BREAKING){return assertValueType("string");}var identifier=assertOneOf.apply(void 0,_toConsumableArray(ASSIGNMENT_OPERATORS));var pattern=assertOneOf("=");return function(node,key,val){var validator=is$1("Pattern",node.left)?pattern:identifier;validator(node,key,val);};}()},left:{validate:!browser$1$1.env.BABEL_TYPES_8_BREAKING?assertNodeType("LVal","OptionalMemberExpression"):assertNodeType("Identifier","MemberExpression","OptionalMemberExpression","ArrayPattern","ObjectPattern","TSAsExpression","TSSatisfiesExpression","TSTypeAssertion","TSNonNullExpression")},right:{validate:assertNodeType("Expression")}},builder:["operator","left","right"],visitor:["left","right"],aliases:["Expression"]});defineType$4("BinaryExpression",{builder:["operator","left","right"],fields:{operator:{validate:assertOneOf.apply(void 0,_toConsumableArray(BINARY_OPERATORS))},left:{validate:function(){var expression=assertNodeType("Expression");var inOp=assertNodeType("Expression","PrivateName");var validator=Object.assign(function(node,key,val){var validator=node.operator==="in"?inOp:expression;validator(node,key,val);},{oneOfNodeTypes:["Expression","PrivateName"]});return validator;}()},right:{validate:assertNodeType("Expression")}},visitor:["left","right"],aliases:["Binary","Expression"]});defineType$4("InterpreterDirective",{builder:["value"],fields:{value:{validate:assertValueType("string")}}});defineType$4("Directive",{visitor:["value"],fields:{value:{validate:assertNodeType("DirectiveLiteral")}}});defineType$4("DirectiveLiteral",{builder:["value"],fields:{value:{validate:assertValueType("string")}}});defineType$4("BlockStatement",{builder:["body","directives"],visitor:["directives","body"],fields:{directives:{validate:chain$1(assertValueType("array"),assertEach(assertNodeType("Directive"))),"default":[]},body:{validate:chain$1(assertValueType("array"),assertEach(assertNodeType("Statement")))}},aliases:["Scopable","BlockParent","Block","Statement"]});defineType$4("BreakStatement",{visitor:["label"],fields:{label:{validate:assertNodeType("Identifier"),optional:true}},aliases:["Statement","Terminatorless","CompletionStatement"]});defineType$4("CallExpression",{visitor:["callee","arguments","typeParameters","typeArguments"],builder:["callee","arguments"],aliases:["Expression"],fields:Object.assign({callee:{validate:assertNodeType("Expression","Super","V8IntrinsicIdentifier")},arguments:{validate:chain$1(assertValueType("array"),assertEach(assertNodeType("Expression","SpreadElement","JSXNamespacedName","ArgumentPlaceholder")))}},!browser$1$1.env.BABEL_TYPES_8_BREAKING?{optional:{validate:assertOneOf(true,false),optional:true}}:{},{typeArguments:{validate:assertNodeType("TypeParameterInstantiation"),optional:true},typeParameters:{validate:assertNodeType("TSTypeParameterInstantiation"),optional:true}})});defineType$4("CatchClause",{visitor:["param","body"],fields:{param:{validate:assertNodeType("Identifier","ArrayPattern","ObjectPattern"),optional:true},body:{validate:assertNodeType("BlockStatement")}},aliases:["Scopable","BlockParent"]});defineType$4("ConditionalExpression",{visitor:["test","consequent","alternate"],fields:{test:{validate:assertNodeType("Expression")},consequent:{validate:assertNodeType("Expression")},alternate:{validate:assertNodeType("Expression")}},aliases:["Expression","Conditional"]});defineType$4("ContinueStatement",{visitor:["label"],fields:{label:{validate:assertNodeType("Identifier"),optional:true}},aliases:["Statement","Terminatorless","CompletionStatement"]});defineType$4("DebuggerStatement",{aliases:["Statement"]});defineType$4("DoWhileStatement",{visitor:["test","body"],fields:{test:{validate:assertNodeType("Expression")},body:{validate:assertNodeType("Statement")}},aliases:["Statement","BlockParent","Loop","While","Scopable"]});defineType$4("EmptyStatement",{aliases:["Statement"]});defineType$4("ExpressionStatement",{visitor:["expression"],fields:{expression:{validate:assertNodeType("Expression")}},aliases:["Statement","ExpressionWrapper"]});defineType$4("File",{builder:["program","comments","tokens"],visitor:["program"],fields:{program:{validate:assertNodeType("Program")},comments:{validate:!browser$1$1.env.BABEL_TYPES_8_BREAKING?Object.assign(function(){},{each:{oneOfNodeTypes:["CommentBlock","CommentLine"]}}):assertEach(assertNodeType("CommentBlock","CommentLine")),optional:true},tokens:{validate:assertEach(Object.assign(function(){},{type:"any"})),optional:true}}});defineType$4("ForInStatement",{visitor:["left","right","body"],aliases:["Scopable","Statement","For","BlockParent","Loop","ForXStatement"],fields:{left:{validate:!browser$1$1.env.BABEL_TYPES_8_BREAKING?assertNodeType("VariableDeclaration","LVal"):assertNodeType("VariableDeclaration","Identifier","MemberExpression","ArrayPattern","ObjectPattern","TSAsExpression","TSSatisfiesExpression","TSTypeAssertion","TSNonNullExpression")},right:{validate:assertNodeType("Expression")},body:{validate:assertNodeType("Statement")}}});defineType$4("ForStatement",{visitor:["init","test","update","body"],aliases:["Scopable","Statement","For","BlockParent","Loop"],fields:{init:{validate:assertNodeType("VariableDeclaration","Expression"),optional:true},test:{validate:assertNodeType("Expression"),optional:true},update:{validate:assertNodeType("Expression"),optional:true},body:{validate:assertNodeType("Statement")}}});var functionCommon=function functionCommon(){return{params:{validate:chain$1(assertValueType("array"),assertEach(assertNodeType("Identifier","Pattern","RestElement")))},generator:{"default":false},async:{"default":false}};};var functionTypeAnnotationCommon=function functionTypeAnnotationCommon(){return{returnType:{validate:assertNodeType("TypeAnnotation","TSTypeAnnotation","Noop"),optional:true},typeParameters:{validate:assertNodeType("TypeParameterDeclaration","TSTypeParameterDeclaration","Noop"),optional:true}};};var functionDeclarationCommon=function functionDeclarationCommon(){return Object.assign({},functionCommon(),{declare:{validate:assertValueType("boolean"),optional:true},id:{validate:assertNodeType("Identifier"),optional:true}});};defineType$4("FunctionDeclaration",{builder:["id","params","body","generator","async"],visitor:["id","params","body","returnType","typeParameters"],fields:Object.assign({},functionDeclarationCommon(),functionTypeAnnotationCommon(),{body:{validate:assertNodeType("BlockStatement")},predicate:{validate:assertNodeType("DeclaredPredicate","InferredPredicate"),optional:true}}),aliases:["Scopable","Function","BlockParent","FunctionParent","Statement","Pureish","Declaration"],validate:function(){if(!browser$1$1.env.BABEL_TYPES_8_BREAKING)return function(){};var identifier=assertNodeType("Identifier");return function(parent,key,node){if(!is$1("ExportDefaultDeclaration",parent)){identifier(node,"id",node.id);}};}()});defineType$4("FunctionExpression",{inherits:"FunctionDeclaration",aliases:["Scopable","Function","BlockParent","FunctionParent","Expression","Pureish"],fields:Object.assign({},functionCommon(),functionTypeAnnotationCommon(),{id:{validate:assertNodeType("Identifier"),optional:true},body:{validate:assertNodeType("BlockStatement")},predicate:{validate:assertNodeType("DeclaredPredicate","InferredPredicate"),optional:true}})});var patternLikeCommon=function patternLikeCommon(){return{typeAnnotation:{validate:assertNodeType("TypeAnnotation","TSTypeAnnotation","Noop"),optional:true},optional:{validate:assertValueType("boolean"),optional:true},decorators:{validate:chain$1(assertValueType("array"),assertEach(assertNodeType("Decorator"))),optional:true}};};defineType$4("Identifier",{builder:["name"],visitor:["typeAnnotation","decorators"],aliases:["Expression","PatternLike","LVal","TSEntityName"],fields:Object.assign({},patternLikeCommon(),{name:{validate:chain$1(assertValueType("string"),Object.assign(function(node,key,val){if(!browser$1$1.env.BABEL_TYPES_8_BREAKING)return;if(!isValidIdentifier$1(val,false)){throw new TypeError("\""+val+"\" is not a valid identifier name");}},{type:"string"}))}}),validate:function validate(parent,key,node){if(!browser$1$1.env.BABEL_TYPES_8_BREAKING)return;var match=/\.(\w+)$/.exec(key);if(!match)return;var _match=_slicedToArray(match,2),parentKey=_match[1];var nonComp={computed:false};if(parentKey==="property"){if(is$1("MemberExpression",parent,nonComp))return;if(is$1("OptionalMemberExpression",parent,nonComp))return;}else if(parentKey==="key"){if(is$1("Property",parent,nonComp))return;if(is$1("Method",parent,nonComp))return;}else if(parentKey==="exported"){if(is$1("ExportSpecifier",parent))return;}else if(parentKey==="imported"){if(is$1("ImportSpecifier",parent,{imported:node}))return;}else if(parentKey==="meta"){if(is$1("MetaProperty",parent,{meta:node}))return;}if((isKeyword(node.name)||isReservedWord(node.name,false))&&node.name!=="this"){throw new TypeError("\""+node.name+"\" is not a valid identifier");}}});defineType$4("IfStatement",{visitor:["test","consequent","alternate"],aliases:["Statement","Conditional"],fields:{test:{validate:assertNodeType("Expression")},consequent:{validate:assertNodeType("Statement")},alternate:{optional:true,validate:assertNodeType("Statement")}}});defineType$4("LabeledStatement",{visitor:["label","body"],aliases:["Statement"],fields:{label:{validate:assertNodeType("Identifier")},body:{validate:assertNodeType("Statement")}}});defineType$4("StringLiteral",{builder:["value"],fields:{value:{validate:assertValueType("string")}},aliases:["Expression","Pureish","Literal","Immutable"]});defineType$4("NumericLiteral",{builder:["value"],deprecatedAlias:"NumberLiteral",fields:{value:{validate:chain$1(assertValueType("number"),Object.assign(function(node,key,val){},{type:"number"}))}},aliases:["Expression","Pureish","Literal","Immutable"]});defineType$4("NullLiteral",{aliases:["Expression","Pureish","Literal","Immutable"]});defineType$4("BooleanLiteral",{builder:["value"],fields:{value:{validate:assertValueType("boolean")}},aliases:["Expression","Pureish","Literal","Immutable"]});defineType$4("RegExpLiteral",{builder:["pattern","flags"],deprecatedAlias:"RegexLiteral",aliases:["Expression","Pureish","Literal"],fields:{pattern:{validate:assertValueType("string")},flags:{validate:chain$1(assertValueType("string"),Object.assign(function(node,key,val){if(!browser$1$1.env.BABEL_TYPES_8_BREAKING)return;var invalid=/[^gimsuy]/.exec(val);if(invalid){throw new TypeError("\""+invalid[0]+"\" is not a valid RegExp flag");}},{type:"string"})),"default":""}}});defineType$4("LogicalExpression",{builder:["operator","left","right"],visitor:["left","right"],aliases:["Binary","Expression"],fields:{operator:{validate:assertOneOf.apply(void 0,_toConsumableArray(LOGICAL_OPERATORS$3))},left:{validate:assertNodeType("Expression")},right:{validate:assertNodeType("Expression")}}});defineType$4("MemberExpression",{builder:["object","property","computed"].concat(_toConsumableArray(!browser$1$1.env.BABEL_TYPES_8_BREAKING?["optional"]:[])),visitor:["object","property"],aliases:["Expression","LVal"],fields:Object.assign({object:{validate:assertNodeType("Expression","Super")},property:{validate:function(){var normal=assertNodeType("Identifier","PrivateName");var computed=assertNodeType("Expression");var validator=function validator(node,key,val){var validator=node.computed?computed:normal;validator(node,key,val);};validator.oneOfNodeTypes=["Expression","Identifier","PrivateName"];return validator;}()},computed:{"default":false}},!browser$1$1.env.BABEL_TYPES_8_BREAKING?{optional:{validate:assertOneOf(true,false),optional:true}}:{})});defineType$4("NewExpression",{inherits:"CallExpression"});defineType$4("Program",{visitor:["directives","body"],builder:["body","directives","sourceType","interpreter"],fields:{sourceType:{validate:assertOneOf("script","module"),"default":"script"},interpreter:{validate:assertNodeType("InterpreterDirective"),"default":null,optional:true},directives:{validate:chain$1(assertValueType("array"),assertEach(assertNodeType("Directive"))),"default":[]},body:{validate:chain$1(assertValueType("array"),assertEach(assertNodeType("Statement")))}},aliases:["Scopable","BlockParent","Block"]});defineType$4("ObjectExpression",{visitor:["properties"],aliases:["Expression"],fields:{properties:{validate:chain$1(assertValueType("array"),assertEach(assertNodeType("ObjectMethod","ObjectProperty","SpreadElement")))}}});defineType$4("ObjectMethod",{builder:["kind","key","params","body","computed","generator","async"],fields:Object.assign({},functionCommon(),functionTypeAnnotationCommon(),{kind:Object.assign({validate:assertOneOf("method","get","set")},!browser$1$1.env.BABEL_TYPES_8_BREAKING?{"default":"method"}:{}),computed:{"default":false},key:{validate:function(){var normal=assertNodeType("Identifier","StringLiteral","NumericLiteral","BigIntLiteral");var computed=assertNodeType("Expression");var validator=function validator(node,key,val){var validator=node.computed?computed:normal;validator(node,key,val);};validator.oneOfNodeTypes=["Expression","Identifier","StringLiteral","NumericLiteral","BigIntLiteral"];return validator;}()},decorators:{validate:chain$1(assertValueType("array"),assertEach(assertNodeType("Decorator"))),optional:true},body:{validate:assertNodeType("BlockStatement")}}),visitor:["key","params","body","decorators","returnType","typeParameters"],aliases:["UserWhitespacable","Function","Scopable","BlockParent","FunctionParent","Method","ObjectMember"]});defineType$4("ObjectProperty",{builder:["key","value","computed","shorthand"].concat(_toConsumableArray(!browser$1$1.env.BABEL_TYPES_8_BREAKING?["decorators"]:[])),fields:{computed:{"default":false},key:{validate:function(){var normal=assertNodeType("Identifier","StringLiteral","NumericLiteral","BigIntLiteral","DecimalLiteral","PrivateName");var computed=assertNodeType("Expression");var validator=Object.assign(function(node,key,val){var validator=node.computed?computed:normal;validator(node,key,val);},{oneOfNodeTypes:["Expression","Identifier","StringLiteral","NumericLiteral","BigIntLiteral","DecimalLiteral","PrivateName"]});return validator;}()},value:{validate:assertNodeType("Expression","PatternLike")},shorthand:{validate:chain$1(assertValueType("boolean"),Object.assign(function(node,key,val){if(!browser$1$1.env.BABEL_TYPES_8_BREAKING)return;if(val&&node.computed){throw new TypeError("Property shorthand of ObjectProperty cannot be true if computed is true");}},{type:"boolean"}),function(node,key,val){if(!browser$1$1.env.BABEL_TYPES_8_BREAKING)return;if(val&&!is$1("Identifier",node.key)){throw new TypeError("Property shorthand of ObjectProperty cannot be true if key is not an Identifier");}}),"default":false},decorators:{validate:chain$1(assertValueType("array"),assertEach(assertNodeType("Decorator"))),optional:true}},visitor:["key","value","decorators"],aliases:["UserWhitespacable","Property","ObjectMember"],validate:function(){var pattern=assertNodeType("Identifier","Pattern","TSAsExpression","TSSatisfiesExpression","TSNonNullExpression","TSTypeAssertion");var expression=assertNodeType("Expression");return function(parent,key,node){if(!browser$1$1.env.BABEL_TYPES_8_BREAKING)return;var validator=is$1("ObjectPattern",parent)?pattern:expression;validator(node,"value",node.value);};}()});defineType$4("RestElement",{visitor:["argument","typeAnnotation"],builder:["argument"],aliases:["LVal","PatternLike"],deprecatedAlias:"RestProperty",fields:Object.assign({},patternLikeCommon(),{argument:{validate:!browser$1$1.env.BABEL_TYPES_8_BREAKING?assertNodeType("LVal"):assertNodeType("Identifier","ArrayPattern","ObjectPattern","MemberExpression","TSAsExpression","TSSatisfiesExpression","TSTypeAssertion","TSNonNullExpression")}}),validate:function validate(parent,key){if(!browser$1$1.env.BABEL_TYPES_8_BREAKING)return;var match=/(\w+)\[(\d+)\]/.exec(key);if(!match)throw new Error("Internal Babel error: malformed key.");var _ref=match,_ref2=_slicedToArray(_ref,3),listKey=_ref2[1],index=_ref2[2];if(parent[listKey].length>+index+1){throw new TypeError("RestElement must be last element of "+listKey);}}});defineType$4("ReturnStatement",{visitor:["argument"],aliases:["Statement","Terminatorless","CompletionStatement"],fields:{argument:{validate:assertNodeType("Expression"),optional:true}}});defineType$4("SequenceExpression",{visitor:["expressions"],fields:{expressions:{validate:chain$1(assertValueType("array"),assertEach(assertNodeType("Expression")))}},aliases:["Expression"]});defineType$4("ParenthesizedExpression",{visitor:["expression"],aliases:["Expression","ExpressionWrapper"],fields:{expression:{validate:assertNodeType("Expression")}}});defineType$4("SwitchCase",{visitor:["test","consequent"],fields:{test:{validate:assertNodeType("Expression"),optional:true},consequent:{validate:chain$1(assertValueType("array"),assertEach(assertNodeType("Statement")))}}});defineType$4("SwitchStatement",{visitor:["discriminant","cases"],aliases:["Statement","BlockParent","Scopable"],fields:{discriminant:{validate:assertNodeType("Expression")},cases:{validate:chain$1(assertValueType("array"),assertEach(assertNodeType("SwitchCase")))}}});defineType$4("ThisExpression",{aliases:["Expression"]});defineType$4("ThrowStatement",{visitor:["argument"],aliases:["Statement","Terminatorless","CompletionStatement"],fields:{argument:{validate:assertNodeType("Expression")}}});defineType$4("TryStatement",{visitor:["block","handler","finalizer"],aliases:["Statement"],fields:{block:{validate:chain$1(assertNodeType("BlockStatement"),Object.assign(function(node){if(!browser$1$1.env.BABEL_TYPES_8_BREAKING)return;if(!node.handler&&!node.finalizer){throw new TypeError("TryStatement expects either a handler or finalizer, or both");}},{oneOfNodeTypes:["BlockStatement"]}))},handler:{optional:true,validate:assertNodeType("CatchClause")},finalizer:{optional:true,validate:assertNodeType("BlockStatement")}}});defineType$4("UnaryExpression",{builder:["operator","argument","prefix"],fields:{prefix:{"default":true},argument:{validate:assertNodeType("Expression")},operator:{validate:assertOneOf.apply(void 0,_toConsumableArray(UNARY_OPERATORS))}},visitor:["argument"],aliases:["UnaryLike","Expression"]});defineType$4("UpdateExpression",{builder:["operator","argument","prefix"],fields:{prefix:{"default":false},argument:{validate:!browser$1$1.env.BABEL_TYPES_8_BREAKING?assertNodeType("Expression"):assertNodeType("Identifier","MemberExpression")},operator:{validate:assertOneOf.apply(void 0,_toConsumableArray(UPDATE_OPERATORS))}},visitor:["argument"],aliases:["Expression"]});defineType$4("VariableDeclaration",{builder:["kind","declarations"],visitor:["declarations"],aliases:["Statement","Declaration"],fields:{declare:{validate:assertValueType("boolean"),optional:true},kind:{validate:assertOneOf("var","let","const","using","await using")},declarations:{validate:chain$1(assertValueType("array"),assertEach(assertNodeType("VariableDeclarator")))}},validate:function validate(parent,key,node){if(!browser$1$1.env.BABEL_TYPES_8_BREAKING)return;if(!is$1("ForXStatement",parent,{left:node}))return;if(node.declarations.length!==1){throw new TypeError("Exactly one VariableDeclarator is required in the VariableDeclaration of a "+parent.type);}}});defineType$4("VariableDeclarator",{visitor:["id","init"],fields:{id:{validate:function(){if(!browser$1$1.env.BABEL_TYPES_8_BREAKING){return assertNodeType("LVal");}var normal=assertNodeType("Identifier","ArrayPattern","ObjectPattern");var without=assertNodeType("Identifier");return function(node,key,val){var validator=node.init?normal:without;validator(node,key,val);};}()},definite:{optional:true,validate:assertValueType("boolean")},init:{optional:true,validate:assertNodeType("Expression")}}});defineType$4("WhileStatement",{visitor:["test","body"],aliases:["Statement","BlockParent","Loop","While","Scopable"],fields:{test:{validate:assertNodeType("Expression")},body:{validate:assertNodeType("Statement")}}});defineType$4("WithStatement",{visitor:["object","body"],aliases:["Statement"],fields:{object:{validate:assertNodeType("Expression")},body:{validate:assertNodeType("Statement")}}});defineType$4("AssignmentPattern",{visitor:["left","right","decorators"],builder:["left","right"],aliases:["Pattern","PatternLike","LVal"],fields:Object.assign({},patternLikeCommon(),{left:{validate:assertNodeType("Identifier","ObjectPattern","ArrayPattern","MemberExpression","TSAsExpression","TSSatisfiesExpression","TSTypeAssertion","TSNonNullExpression")},right:{validate:assertNodeType("Expression")},decorators:{validate:chain$1(assertValueType("array"),assertEach(assertNodeType("Decorator"))),optional:true}})});defineType$4("ArrayPattern",{visitor:["elements","typeAnnotation"],builder:["elements"],aliases:["Pattern","PatternLike","LVal"],fields:Object.assign({},patternLikeCommon(),{elements:{validate:chain$1(assertValueType("array"),assertEach(assertNodeOrValueType("null","PatternLike","LVal")))}})});defineType$4("ArrowFunctionExpression",{builder:["params","body","async"],visitor:["params","body","returnType","typeParameters"],aliases:["Scopable","Function","BlockParent","FunctionParent","Expression","Pureish"],fields:Object.assign({},functionCommon(),functionTypeAnnotationCommon(),{expression:{validate:assertValueType("boolean")},body:{validate:assertNodeType("BlockStatement","Expression")},predicate:{validate:assertNodeType("DeclaredPredicate","InferredPredicate"),optional:true}})});defineType$4("ClassBody",{visitor:["body"],fields:{body:{validate:chain$1(assertValueType("array"),assertEach(assertNodeType("ClassMethod","ClassPrivateMethod","ClassProperty","ClassPrivateProperty","ClassAccessorProperty","TSDeclareMethod","TSIndexSignature","StaticBlock")))}}});defineType$4("ClassExpression",{builder:["id","superClass","body","decorators"],visitor:["id","body","superClass","mixins","typeParameters","superTypeParameters","implements","decorators"],aliases:["Scopable","Class","Expression"],fields:{id:{validate:assertNodeType("Identifier"),optional:true},typeParameters:{validate:assertNodeType("TypeParameterDeclaration","TSTypeParameterDeclaration","Noop"),optional:true},body:{validate:assertNodeType("ClassBody")},superClass:{optional:true,validate:assertNodeType("Expression")},superTypeParameters:{validate:assertNodeType("TypeParameterInstantiation","TSTypeParameterInstantiation"),optional:true},"implements":{validate:chain$1(assertValueType("array"),assertEach(assertNodeType("TSExpressionWithTypeArguments","ClassImplements"))),optional:true},decorators:{validate:chain$1(assertValueType("array"),assertEach(assertNodeType("Decorator"))),optional:true},mixins:{validate:assertNodeType("InterfaceExtends"),optional:true}}});defineType$4("ClassDeclaration",{inherits:"ClassExpression",aliases:["Scopable","Class","Statement","Declaration"],fields:{id:{validate:assertNodeType("Identifier"),optional:true},typeParameters:{validate:assertNodeType("TypeParameterDeclaration","TSTypeParameterDeclaration","Noop"),optional:true},body:{validate:assertNodeType("ClassBody")},superClass:{optional:true,validate:assertNodeType("Expression")},superTypeParameters:{validate:assertNodeType("TypeParameterInstantiation","TSTypeParameterInstantiation"),optional:true},"implements":{validate:chain$1(assertValueType("array"),assertEach(assertNodeType("TSExpressionWithTypeArguments","ClassImplements"))),optional:true},decorators:{validate:chain$1(assertValueType("array"),assertEach(assertNodeType("Decorator"))),optional:true},mixins:{validate:assertNodeType("InterfaceExtends"),optional:true},declare:{validate:assertValueType("boolean"),optional:true},"abstract":{validate:assertValueType("boolean"),optional:true}},validate:function(){var identifier=assertNodeType("Identifier");return function(parent,key,node){if(!browser$1$1.env.BABEL_TYPES_8_BREAKING)return;if(!is$1("ExportDefaultDeclaration",parent)){identifier(node,"id",node.id);}};}()});defineType$4("ExportAllDeclaration",{builder:["source"],visitor:["source","attributes","assertions"],aliases:["Statement","Declaration","ImportOrExportDeclaration","ExportDeclaration"],fields:{source:{validate:assertNodeType("StringLiteral")},exportKind:validateOptional(assertOneOf("type","value")),attributes:{optional:true,validate:chain$1(assertValueType("array"),assertEach(assertNodeType("ImportAttribute")))},assertions:{optional:true,validate:chain$1(assertValueType("array"),assertEach(assertNodeType("ImportAttribute")))}}});defineType$4("ExportDefaultDeclaration",{visitor:["declaration"],aliases:["Statement","Declaration","ImportOrExportDeclaration","ExportDeclaration"],fields:{declaration:{validate:assertNodeType("TSDeclareFunction","FunctionDeclaration","ClassDeclaration","Expression")},exportKind:validateOptional(assertOneOf("value"))}});defineType$4("ExportNamedDeclaration",{builder:["declaration","specifiers","source"],visitor:["declaration","specifiers","source","attributes","assertions"],aliases:["Statement","Declaration","ImportOrExportDeclaration","ExportDeclaration"],fields:{declaration:{optional:true,validate:chain$1(assertNodeType("Declaration"),Object.assign(function(node,key,val){if(!browser$1$1.env.BABEL_TYPES_8_BREAKING)return;if(val&&node.specifiers.length){throw new TypeError("Only declaration or specifiers is allowed on ExportNamedDeclaration");}},{oneOfNodeTypes:["Declaration"]}),function(node,key,val){if(!browser$1$1.env.BABEL_TYPES_8_BREAKING)return;if(val&&node.source){throw new TypeError("Cannot export a declaration from a source");}})},attributes:{optional:true,validate:chain$1(assertValueType("array"),assertEach(assertNodeType("ImportAttribute")))},assertions:{optional:true,validate:chain$1(assertValueType("array"),assertEach(assertNodeType("ImportAttribute")))},specifiers:{"default":[],validate:chain$1(assertValueType("array"),assertEach(function(){var sourced=assertNodeType("ExportSpecifier","ExportDefaultSpecifier","ExportNamespaceSpecifier");var sourceless=assertNodeType("ExportSpecifier");if(!browser$1$1.env.BABEL_TYPES_8_BREAKING)return sourced;return function(node,key,val){var validator=node.source?sourced:sourceless;validator(node,key,val);};}()))},source:{validate:assertNodeType("StringLiteral"),optional:true},exportKind:validateOptional(assertOneOf("type","value"))}});defineType$4("ExportSpecifier",{visitor:["local","exported"],aliases:["ModuleSpecifier"],fields:{local:{validate:assertNodeType("Identifier")},exported:{validate:assertNodeType("Identifier","StringLiteral")},exportKind:{validate:assertOneOf("type","value"),optional:true}}});defineType$4("ForOfStatement",{visitor:["left","right","body"],builder:["left","right","body","await"],aliases:["Scopable","Statement","For","BlockParent","Loop","ForXStatement"],fields:{left:{validate:function(){if(!browser$1$1.env.BABEL_TYPES_8_BREAKING){return assertNodeType("VariableDeclaration","LVal");}var declaration=assertNodeType("VariableDeclaration");var lval=assertNodeType("Identifier","MemberExpression","ArrayPattern","ObjectPattern","TSAsExpression","TSSatisfiesExpression","TSTypeAssertion","TSNonNullExpression");return function(node,key,val){if(is$1("VariableDeclaration",val)){declaration(node,key,val);}else{lval(node,key,val);}};}()},right:{validate:assertNodeType("Expression")},body:{validate:assertNodeType("Statement")},"await":{"default":false}}});defineType$4("ImportDeclaration",{builder:["specifiers","source"],visitor:["specifiers","source","attributes","assertions"],aliases:["Statement","Declaration","ImportOrExportDeclaration"],fields:{attributes:{optional:true,validate:chain$1(assertValueType("array"),assertEach(assertNodeType("ImportAttribute")))},assertions:{optional:true,validate:chain$1(assertValueType("array"),assertEach(assertNodeType("ImportAttribute")))},module:{optional:true,validate:assertValueType("boolean")},phase:{"default":null,validate:assertOneOf("source","defer")},specifiers:{validate:chain$1(assertValueType("array"),assertEach(assertNodeType("ImportSpecifier","ImportDefaultSpecifier","ImportNamespaceSpecifier")))},source:{validate:assertNodeType("StringLiteral")},importKind:{validate:assertOneOf("type","typeof","value"),optional:true}}});defineType$4("ImportDefaultSpecifier",{visitor:["local"],aliases:["ModuleSpecifier"],fields:{local:{validate:assertNodeType("Identifier")}}});defineType$4("ImportNamespaceSpecifier",{visitor:["local"],aliases:["ModuleSpecifier"],fields:{local:{validate:assertNodeType("Identifier")}}});defineType$4("ImportSpecifier",{visitor:["local","imported"],aliases:["ModuleSpecifier"],fields:{local:{validate:assertNodeType("Identifier")},imported:{validate:assertNodeType("Identifier","StringLiteral")},importKind:{validate:assertOneOf("type","typeof","value"),optional:true}}});defineType$4("ImportExpression",{visitor:["source","options"],aliases:["Expression"],fields:{phase:{"default":null,validate:assertOneOf("source","defer")},source:{validate:assertNodeType("Expression")},options:{validate:assertNodeType("Expression"),optional:true}}});defineType$4("MetaProperty",{visitor:["meta","property"],aliases:["Expression"],fields:{meta:{validate:chain$1(assertNodeType("Identifier"),Object.assign(function(node,key,val){if(!browser$1$1.env.BABEL_TYPES_8_BREAKING)return;var property;switch(val.name){case"function":property="sent";break;case"new":property="target";break;case"import":property="meta";break;}if(!is$1("Identifier",node.property,{name:property})){throw new TypeError("Unrecognised MetaProperty");}},{oneOfNodeTypes:["Identifier"]}))},property:{validate:assertNodeType("Identifier")}}});var classMethodOrPropertyCommon=function classMethodOrPropertyCommon(){return{"abstract":{validate:assertValueType("boolean"),optional:true},accessibility:{validate:assertOneOf("public","private","protected"),optional:true},"static":{"default":false},override:{"default":false},computed:{"default":false},optional:{validate:assertValueType("boolean"),optional:true},key:{validate:chain$1(function(){var normal=assertNodeType("Identifier","StringLiteral","NumericLiteral","BigIntLiteral");var computed=assertNodeType("Expression");return function(node,key,val){var validator=node.computed?computed:normal;validator(node,key,val);};}(),assertNodeType("Identifier","StringLiteral","NumericLiteral","BigIntLiteral","Expression"))}};};var classMethodOrDeclareMethodCommon=function classMethodOrDeclareMethodCommon(){return Object.assign({},functionCommon(),classMethodOrPropertyCommon(),{params:{validate:chain$1(assertValueType("array"),assertEach(assertNodeType("Identifier","Pattern","RestElement","TSParameterProperty")))},kind:{validate:assertOneOf("get","set","method","constructor"),"default":"method"},access:{validate:chain$1(assertValueType("string"),assertOneOf("public","private","protected")),optional:true},decorators:{validate:chain$1(assertValueType("array"),assertEach(assertNodeType("Decorator"))),optional:true}});};defineType$4("ClassMethod",{aliases:["Function","Scopable","BlockParent","FunctionParent","Method"],builder:["kind","key","params","body","computed","static","generator","async"],visitor:["key","params","body","decorators","returnType","typeParameters"],fields:Object.assign({},classMethodOrDeclareMethodCommon(),functionTypeAnnotationCommon(),{body:{validate:assertNodeType("BlockStatement")}})});defineType$4("ObjectPattern",{visitor:["properties","typeAnnotation","decorators"],builder:["properties"],aliases:["Pattern","PatternLike","LVal"],fields:Object.assign({},patternLikeCommon(),{properties:{validate:chain$1(assertValueType("array"),assertEach(assertNodeType("RestElement","ObjectProperty")))}})});defineType$4("SpreadElement",{visitor:["argument"],aliases:["UnaryLike"],deprecatedAlias:"SpreadProperty",fields:{argument:{validate:assertNodeType("Expression")}}});defineType$4("Super",{aliases:["Expression"]});defineType$4("TaggedTemplateExpression",{visitor:["tag","quasi","typeParameters"],builder:["tag","quasi"],aliases:["Expression"],fields:{tag:{validate:assertNodeType("Expression")},quasi:{validate:assertNodeType("TemplateLiteral")},typeParameters:{validate:assertNodeType("TypeParameterInstantiation","TSTypeParameterInstantiation"),optional:true}}});defineType$4("TemplateElement",{builder:["value","tail"],fields:{value:{validate:chain$1(assertShape({raw:{validate:assertValueType("string")},cooked:{validate:assertValueType("string"),optional:true}}),function templateElementCookedValidator(node){var raw=node.value.raw;var unterminatedCalled=false;var error=function error(){throw new Error("Internal @babel/types error.");};var _readStringContents=readStringContents("template",raw,0,0,0,{unterminated:function unterminated(){unterminatedCalled=true;},strictNumericEscape:error,invalidEscapeSequence:error,numericSeparatorInEscapeSequence:error,unexpectedNumericSeparator:error,invalidDigit:error,invalidCodePoint:error}),str=_readStringContents.str,firstInvalidLoc=_readStringContents.firstInvalidLoc;if(!unterminatedCalled)throw new Error("Invalid raw");node.value.cooked=firstInvalidLoc?null:str;})},tail:{"default":false}}});defineType$4("TemplateLiteral",{visitor:["quasis","expressions"],aliases:["Expression","Literal"],fields:{quasis:{validate:chain$1(assertValueType("array"),assertEach(assertNodeType("TemplateElement")))},expressions:{validate:chain$1(assertValueType("array"),assertEach(assertNodeType("Expression","TSType")),function(node,key,val){if(node.quasis.length!==val.length+1){throw new TypeError("Number of "+node.type+" quasis should be exactly one more than the number of expressions.\nExpected "+(val.length+1)+" quasis but got "+node.quasis.length);}})}}});defineType$4("YieldExpression",{builder:["argument","delegate"],visitor:["argument"],aliases:["Expression","Terminatorless"],fields:{delegate:{validate:chain$1(assertValueType("boolean"),Object.assign(function(node,key,val){if(!browser$1$1.env.BABEL_TYPES_8_BREAKING)return;if(val&&!node.argument){throw new TypeError("Property delegate of YieldExpression cannot be true if there is no argument");}},{type:"boolean"})),"default":false},argument:{optional:true,validate:assertNodeType("Expression")}}});defineType$4("AwaitExpression",{builder:["argument"],visitor:["argument"],aliases:["Expression","Terminatorless"],fields:{argument:{validate:assertNodeType("Expression")}}});defineType$4("Import",{aliases:["Expression"]});defineType$4("BigIntLiteral",{builder:["value"],fields:{value:{validate:assertValueType("string")}},aliases:["Expression","Pureish","Literal","Immutable"]});defineType$4("ExportNamespaceSpecifier",{visitor:["exported"],aliases:["ModuleSpecifier"],fields:{exported:{validate:assertNodeType("Identifier")}}});defineType$4("OptionalMemberExpression",{builder:["object","property","computed","optional"],visitor:["object","property"],aliases:["Expression"],fields:{object:{validate:assertNodeType("Expression")},property:{validate:function(){var normal=assertNodeType("Identifier");var computed=assertNodeType("Expression");var validator=Object.assign(function(node,key,val){var validator=node.computed?computed:normal;validator(node,key,val);},{oneOfNodeTypes:["Expression","Identifier"]});return validator;}()},computed:{"default":false},optional:{validate:!browser$1$1.env.BABEL_TYPES_8_BREAKING?assertValueType("boolean"):chain$1(assertValueType("boolean"),assertOptionalChainStart())}}});defineType$4("OptionalCallExpression",{visitor:["callee","arguments","typeParameters","typeArguments"],builder:["callee","arguments","optional"],aliases:["Expression"],fields:{callee:{validate:assertNodeType("Expression")},arguments:{validate:chain$1(assertValueType("array"),assertEach(assertNodeType("Expression","SpreadElement","JSXNamespacedName","ArgumentPlaceholder")))},optional:{validate:!browser$1$1.env.BABEL_TYPES_8_BREAKING?assertValueType("boolean"):chain$1(assertValueType("boolean"),assertOptionalChainStart())},typeArguments:{validate:assertNodeType("TypeParameterInstantiation"),optional:true},typeParameters:{validate:assertNodeType("TSTypeParameterInstantiation"),optional:true}}});defineType$4("ClassProperty",{visitor:["key","value","typeAnnotation","decorators"],builder:["key","value","typeAnnotation","decorators","computed","static"],aliases:["Property"],fields:Object.assign({},classMethodOrPropertyCommon(),{value:{validate:assertNodeType("Expression"),optional:true},definite:{validate:assertValueType("boolean"),optional:true},typeAnnotation:{validate:assertNodeType("TypeAnnotation","TSTypeAnnotation","Noop"),optional:true},decorators:{validate:chain$1(assertValueType("array"),assertEach(assertNodeType("Decorator"))),optional:true},readonly:{validate:assertValueType("boolean"),optional:true},declare:{validate:assertValueType("boolean"),optional:true},variance:{validate:assertNodeType("Variance"),optional:true}})});defineType$4("ClassAccessorProperty",{visitor:["key","value","typeAnnotation","decorators"],builder:["key","value","typeAnnotation","decorators","computed","static"],aliases:["Property","Accessor"],fields:Object.assign({},classMethodOrPropertyCommon(),{key:{validate:chain$1(function(){var normal=assertNodeType("Identifier","StringLiteral","NumericLiteral","BigIntLiteral","PrivateName");var computed=assertNodeType("Expression");return function(node,key,val){var validator=node.computed?computed:normal;validator(node,key,val);};}(),assertNodeType("Identifier","StringLiteral","NumericLiteral","BigIntLiteral","Expression","PrivateName"))},value:{validate:assertNodeType("Expression"),optional:true},definite:{validate:assertValueType("boolean"),optional:true},typeAnnotation:{validate:assertNodeType("TypeAnnotation","TSTypeAnnotation","Noop"),optional:true},decorators:{validate:chain$1(assertValueType("array"),assertEach(assertNodeType("Decorator"))),optional:true},readonly:{validate:assertValueType("boolean"),optional:true},declare:{validate:assertValueType("boolean"),optional:true},variance:{validate:assertNodeType("Variance"),optional:true}})});defineType$4("ClassPrivateProperty",{visitor:["key","value","decorators","typeAnnotation"],builder:["key","value","decorators","static"],aliases:["Property","Private"],fields:{key:{validate:assertNodeType("PrivateName")},value:{validate:assertNodeType("Expression"),optional:true},typeAnnotation:{validate:assertNodeType("TypeAnnotation","TSTypeAnnotation","Noop"),optional:true},decorators:{validate:chain$1(assertValueType("array"),assertEach(assertNodeType("Decorator"))),optional:true},"static":{validate:assertValueType("boolean"),"default":false},readonly:{validate:assertValueType("boolean"),optional:true},definite:{validate:assertValueType("boolean"),optional:true},variance:{validate:assertNodeType("Variance"),optional:true}}});defineType$4("ClassPrivateMethod",{builder:["kind","key","params","body","static"],visitor:["key","params","body","decorators","returnType","typeParameters"],aliases:["Function","Scopable","BlockParent","FunctionParent","Method","Private"],fields:Object.assign({},classMethodOrDeclareMethodCommon(),functionTypeAnnotationCommon(),{kind:{validate:assertOneOf("get","set","method"),"default":"method"},key:{validate:assertNodeType("PrivateName")},body:{validate:assertNodeType("BlockStatement")}})});defineType$4("PrivateName",{visitor:["id"],aliases:["Private"],fields:{id:{validate:assertNodeType("Identifier")}}});defineType$4("StaticBlock",{visitor:["body"],fields:{body:{validate:chain$1(assertValueType("array"),assertEach(assertNodeType("Statement")))}},aliases:["Scopable","BlockParent","FunctionParent"]});var defineType$3=defineAliasedType("Flow");var defineInterfaceishType=function defineInterfaceishType(name){var isDeclareClass=name==="DeclareClass";defineType$3(name,{builder:["id","typeParameters","extends","body"],visitor:["id","typeParameters","extends"].concat(_toConsumableArray(isDeclareClass?["mixins","implements"]:[]),["body"]),aliases:["FlowDeclaration","Statement","Declaration"],fields:Object.assign({id:validateType("Identifier"),typeParameters:validateOptionalType("TypeParameterDeclaration"),"extends":validateOptional(arrayOfType("InterfaceExtends"))},isDeclareClass?{mixins:validateOptional(arrayOfType("InterfaceExtends")),"implements":validateOptional(arrayOfType("ClassImplements"))}:{},{body:validateType("ObjectTypeAnnotation")})});};defineType$3("AnyTypeAnnotation",{aliases:["FlowType","FlowBaseAnnotation"]});defineType$3("ArrayTypeAnnotation",{visitor:["elementType"],aliases:["FlowType"],fields:{elementType:validateType("FlowType")}});defineType$3("BooleanTypeAnnotation",{aliases:["FlowType","FlowBaseAnnotation"]});defineType$3("BooleanLiteralTypeAnnotation",{builder:["value"],aliases:["FlowType"],fields:{value:validate$6(assertValueType("boolean"))}});defineType$3("NullLiteralTypeAnnotation",{aliases:["FlowType","FlowBaseAnnotation"]});defineType$3("ClassImplements",{visitor:["id","typeParameters"],fields:{id:validateType("Identifier"),typeParameters:validateOptionalType("TypeParameterInstantiation")}});defineInterfaceishType("DeclareClass");defineType$3("DeclareFunction",{visitor:["id"],aliases:["FlowDeclaration","Statement","Declaration"],fields:{id:validateType("Identifier"),predicate:validateOptionalType("DeclaredPredicate")}});defineInterfaceishType("DeclareInterface");defineType$3("DeclareModule",{builder:["id","body","kind"],visitor:["id","body"],aliases:["FlowDeclaration","Statement","Declaration"],fields:{id:validateType(["Identifier","StringLiteral"]),body:validateType("BlockStatement"),kind:validateOptional(assertOneOf("CommonJS","ES"))}});defineType$3("DeclareModuleExports",{visitor:["typeAnnotation"],aliases:["FlowDeclaration","Statement","Declaration"],fields:{typeAnnotation:validateType("TypeAnnotation")}});defineType$3("DeclareTypeAlias",{visitor:["id","typeParameters","right"],aliases:["FlowDeclaration","Statement","Declaration"],fields:{id:validateType("Identifier"),typeParameters:validateOptionalType("TypeParameterDeclaration"),right:validateType("FlowType")}});defineType$3("DeclareOpaqueType",{visitor:["id","typeParameters","supertype"],aliases:["FlowDeclaration","Statement","Declaration"],fields:{id:validateType("Identifier"),typeParameters:validateOptionalType("TypeParameterDeclaration"),supertype:validateOptionalType("FlowType"),impltype:validateOptionalType("FlowType")}});defineType$3("DeclareVariable",{visitor:["id"],aliases:["FlowDeclaration","Statement","Declaration"],fields:{id:validateType("Identifier")}});defineType$3("DeclareExportDeclaration",{visitor:["declaration","specifiers","source"],aliases:["FlowDeclaration","Statement","Declaration"],fields:{declaration:validateOptionalType("Flow"),specifiers:validateOptional(arrayOfType(["ExportSpecifier","ExportNamespaceSpecifier"])),source:validateOptionalType("StringLiteral"),"default":validateOptional(assertValueType("boolean"))}});defineType$3("DeclareExportAllDeclaration",{visitor:["source"],aliases:["FlowDeclaration","Statement","Declaration"],fields:{source:validateType("StringLiteral"),exportKind:validateOptional(assertOneOf("type","value"))}});defineType$3("DeclaredPredicate",{visitor:["value"],aliases:["FlowPredicate"],fields:{value:validateType("Flow")}});defineType$3("ExistsTypeAnnotation",{aliases:["FlowType"]});defineType$3("FunctionTypeAnnotation",{visitor:["typeParameters","params","rest","returnType"],aliases:["FlowType"],fields:{typeParameters:validateOptionalType("TypeParameterDeclaration"),params:validate$6(arrayOfType("FunctionTypeParam")),rest:validateOptionalType("FunctionTypeParam"),"this":validateOptionalType("FunctionTypeParam"),returnType:validateType("FlowType")}});defineType$3("FunctionTypeParam",{visitor:["name","typeAnnotation"],fields:{name:validateOptionalType("Identifier"),typeAnnotation:validateType("FlowType"),optional:validateOptional(assertValueType("boolean"))}});defineType$3("GenericTypeAnnotation",{visitor:["id","typeParameters"],aliases:["FlowType"],fields:{id:validateType(["Identifier","QualifiedTypeIdentifier"]),typeParameters:validateOptionalType("TypeParameterInstantiation")}});defineType$3("InferredPredicate",{aliases:["FlowPredicate"]});defineType$3("InterfaceExtends",{visitor:["id","typeParameters"],fields:{id:validateType(["Identifier","QualifiedTypeIdentifier"]),typeParameters:validateOptionalType("TypeParameterInstantiation")}});defineInterfaceishType("InterfaceDeclaration");defineType$3("InterfaceTypeAnnotation",{visitor:["extends","body"],aliases:["FlowType"],fields:{"extends":validateOptional(arrayOfType("InterfaceExtends")),body:validateType("ObjectTypeAnnotation")}});defineType$3("IntersectionTypeAnnotation",{visitor:["types"],aliases:["FlowType"],fields:{types:validate$6(arrayOfType("FlowType"))}});defineType$3("MixedTypeAnnotation",{aliases:["FlowType","FlowBaseAnnotation"]});defineType$3("EmptyTypeAnnotation",{aliases:["FlowType","FlowBaseAnnotation"]});defineType$3("NullableTypeAnnotation",{visitor:["typeAnnotation"],aliases:["FlowType"],fields:{typeAnnotation:validateType("FlowType")}});defineType$3("NumberLiteralTypeAnnotation",{builder:["value"],aliases:["FlowType"],fields:{value:validate$6(assertValueType("number"))}});defineType$3("NumberTypeAnnotation",{aliases:["FlowType","FlowBaseAnnotation"]});defineType$3("ObjectTypeAnnotation",{visitor:["properties","indexers","callProperties","internalSlots"],aliases:["FlowType"],builder:["properties","indexers","callProperties","internalSlots","exact"],fields:{properties:validate$6(arrayOfType(["ObjectTypeProperty","ObjectTypeSpreadProperty"])),indexers:{validate:arrayOfType("ObjectTypeIndexer"),optional:true,"default":[]},callProperties:{validate:arrayOfType("ObjectTypeCallProperty"),optional:true,"default":[]},internalSlots:{validate:arrayOfType("ObjectTypeInternalSlot"),optional:true,"default":[]},exact:{validate:assertValueType("boolean"),"default":false},inexact:validateOptional(assertValueType("boolean"))}});defineType$3("ObjectTypeInternalSlot",{visitor:["id","value","optional","static","method"],aliases:["UserWhitespacable"],fields:{id:validateType("Identifier"),value:validateType("FlowType"),optional:validate$6(assertValueType("boolean")),"static":validate$6(assertValueType("boolean")),method:validate$6(assertValueType("boolean"))}});defineType$3("ObjectTypeCallProperty",{visitor:["value"],aliases:["UserWhitespacable"],fields:{value:validateType("FlowType"),"static":validate$6(assertValueType("boolean"))}});defineType$3("ObjectTypeIndexer",{visitor:["id","key","value","variance"],aliases:["UserWhitespacable"],fields:{id:validateOptionalType("Identifier"),key:validateType("FlowType"),value:validateType("FlowType"),"static":validate$6(assertValueType("boolean")),variance:validateOptionalType("Variance")}});defineType$3("ObjectTypeProperty",{visitor:["key","value","variance"],aliases:["UserWhitespacable"],fields:{key:validateType(["Identifier","StringLiteral"]),value:validateType("FlowType"),kind:validate$6(assertOneOf("init","get","set")),"static":validate$6(assertValueType("boolean")),proto:validate$6(assertValueType("boolean")),optional:validate$6(assertValueType("boolean")),variance:validateOptionalType("Variance"),method:validate$6(assertValueType("boolean"))}});defineType$3("ObjectTypeSpreadProperty",{visitor:["argument"],aliases:["UserWhitespacable"],fields:{argument:validateType("FlowType")}});defineType$3("OpaqueType",{visitor:["id","typeParameters","supertype","impltype"],aliases:["FlowDeclaration","Statement","Declaration"],fields:{id:validateType("Identifier"),typeParameters:validateOptionalType("TypeParameterDeclaration"),supertype:validateOptionalType("FlowType"),impltype:validateType("FlowType")}});defineType$3("QualifiedTypeIdentifier",{visitor:["id","qualification"],fields:{id:validateType("Identifier"),qualification:validateType(["Identifier","QualifiedTypeIdentifier"])}});defineType$3("StringLiteralTypeAnnotation",{builder:["value"],aliases:["FlowType"],fields:{value:validate$6(assertValueType("string"))}});defineType$3("StringTypeAnnotation",{aliases:["FlowType","FlowBaseAnnotation"]});defineType$3("SymbolTypeAnnotation",{aliases:["FlowType","FlowBaseAnnotation"]});defineType$3("ThisTypeAnnotation",{aliases:["FlowType","FlowBaseAnnotation"]});defineType$3("TupleTypeAnnotation",{visitor:["types"],aliases:["FlowType"],fields:{types:validate$6(arrayOfType("FlowType"))}});defineType$3("TypeofTypeAnnotation",{visitor:["argument"],aliases:["FlowType"],fields:{argument:validateType("FlowType")}});defineType$3("TypeAlias",{visitor:["id","typeParameters","right"],aliases:["FlowDeclaration","Statement","Declaration"],fields:{id:validateType("Identifier"),typeParameters:validateOptionalType("TypeParameterDeclaration"),right:validateType("FlowType")}});defineType$3("TypeAnnotation",{visitor:["typeAnnotation"],fields:{typeAnnotation:validateType("FlowType")}});defineType$3("TypeCastExpression",{visitor:["expression","typeAnnotation"],aliases:["ExpressionWrapper","Expression"],fields:{expression:validateType("Expression"),typeAnnotation:validateType("TypeAnnotation")}});defineType$3("TypeParameter",{visitor:["bound","default","variance"],fields:{name:validate$6(assertValueType("string")),bound:validateOptionalType("TypeAnnotation"),"default":validateOptionalType("FlowType"),variance:validateOptionalType("Variance")}});defineType$3("TypeParameterDeclaration",{visitor:["params"],fields:{params:validate$6(arrayOfType("TypeParameter"))}});defineType$3("TypeParameterInstantiation",{visitor:["params"],fields:{params:validate$6(arrayOfType("FlowType"))}});defineType$3("UnionTypeAnnotation",{visitor:["types"],aliases:["FlowType"],fields:{types:validate$6(arrayOfType("FlowType"))}});defineType$3("Variance",{builder:["kind"],fields:{kind:validate$6(assertOneOf("minus","plus"))}});defineType$3("VoidTypeAnnotation",{aliases:["FlowType","FlowBaseAnnotation"]});defineType$3("EnumDeclaration",{aliases:["Statement","Declaration"],visitor:["id","body"],fields:{id:validateType("Identifier"),body:validateType(["EnumBooleanBody","EnumNumberBody","EnumStringBody","EnumSymbolBody"])}});defineType$3("EnumBooleanBody",{aliases:["EnumBody"],visitor:["members"],fields:{explicitType:validate$6(assertValueType("boolean")),members:validateArrayOfType("EnumBooleanMember"),hasUnknownMembers:validate$6(assertValueType("boolean"))}});defineType$3("EnumNumberBody",{aliases:["EnumBody"],visitor:["members"],fields:{explicitType:validate$6(assertValueType("boolean")),members:validateArrayOfType("EnumNumberMember"),hasUnknownMembers:validate$6(assertValueType("boolean"))}});defineType$3("EnumStringBody",{aliases:["EnumBody"],visitor:["members"],fields:{explicitType:validate$6(assertValueType("boolean")),members:validateArrayOfType(["EnumStringMember","EnumDefaultedMember"]),hasUnknownMembers:validate$6(assertValueType("boolean"))}});defineType$3("EnumSymbolBody",{aliases:["EnumBody"],visitor:["members"],fields:{members:validateArrayOfType("EnumDefaultedMember"),hasUnknownMembers:validate$6(assertValueType("boolean"))}});defineType$3("EnumBooleanMember",{aliases:["EnumMember"],visitor:["id"],fields:{id:validateType("Identifier"),init:validateType("BooleanLiteral")}});defineType$3("EnumNumberMember",{aliases:["EnumMember"],visitor:["id","init"],fields:{id:validateType("Identifier"),init:validateType("NumericLiteral")}});defineType$3("EnumStringMember",{aliases:["EnumMember"],visitor:["id","init"],fields:{id:validateType("Identifier"),init:validateType("StringLiteral")}});defineType$3("EnumDefaultedMember",{aliases:["EnumMember"],visitor:["id"],fields:{id:validateType("Identifier")}});defineType$3("IndexedAccessType",{visitor:["objectType","indexType"],aliases:["FlowType"],fields:{objectType:validateType("FlowType"),indexType:validateType("FlowType")}});defineType$3("OptionalIndexedAccessType",{visitor:["objectType","indexType"],aliases:["FlowType"],fields:{objectType:validateType("FlowType"),indexType:validateType("FlowType"),optional:validate$6(assertValueType("boolean"))}});var defineType$2=defineAliasedType("JSX");defineType$2("JSXAttribute",{visitor:["name","value"],aliases:["Immutable"],fields:{name:{validate:assertNodeType("JSXIdentifier","JSXNamespacedName")},value:{optional:true,validate:assertNodeType("JSXElement","JSXFragment","StringLiteral","JSXExpressionContainer")}}});defineType$2("JSXClosingElement",{visitor:["name"],aliases:["Immutable"],fields:{name:{validate:assertNodeType("JSXIdentifier","JSXMemberExpression","JSXNamespacedName")}}});defineType$2("JSXElement",{builder:["openingElement","closingElement","children","selfClosing"],visitor:["openingElement","children","closingElement"],aliases:["Immutable","Expression"],fields:Object.assign({openingElement:{validate:assertNodeType("JSXOpeningElement")},closingElement:{optional:true,validate:assertNodeType("JSXClosingElement")},children:{validate:chain$1(assertValueType("array"),assertEach(assertNodeType("JSXText","JSXExpressionContainer","JSXSpreadChild","JSXElement","JSXFragment")))}},{selfClosing:{validate:assertValueType("boolean"),optional:true}})});defineType$2("JSXEmptyExpression",{});defineType$2("JSXExpressionContainer",{visitor:["expression"],aliases:["Immutable"],fields:{expression:{validate:assertNodeType("Expression","JSXEmptyExpression")}}});defineType$2("JSXSpreadChild",{visitor:["expression"],aliases:["Immutable"],fields:{expression:{validate:assertNodeType("Expression")}}});defineType$2("JSXIdentifier",{builder:["name"],fields:{name:{validate:assertValueType("string")}}});defineType$2("JSXMemberExpression",{visitor:["object","property"],fields:{object:{validate:assertNodeType("JSXMemberExpression","JSXIdentifier")},property:{validate:assertNodeType("JSXIdentifier")}}});defineType$2("JSXNamespacedName",{visitor:["namespace","name"],fields:{namespace:{validate:assertNodeType("JSXIdentifier")},name:{validate:assertNodeType("JSXIdentifier")}}});defineType$2("JSXOpeningElement",{builder:["name","attributes","selfClosing"],visitor:["name","attributes"],aliases:["Immutable"],fields:{name:{validate:assertNodeType("JSXIdentifier","JSXMemberExpression","JSXNamespacedName")},selfClosing:{"default":false},attributes:{validate:chain$1(assertValueType("array"),assertEach(assertNodeType("JSXAttribute","JSXSpreadAttribute")))},typeParameters:{validate:assertNodeType("TypeParameterInstantiation","TSTypeParameterInstantiation"),optional:true}}});defineType$2("JSXSpreadAttribute",{visitor:["argument"],fields:{argument:{validate:assertNodeType("Expression")}}});defineType$2("JSXText",{aliases:["Immutable"],builder:["value"],fields:{value:{validate:assertValueType("string")}}});defineType$2("JSXFragment",{builder:["openingFragment","closingFragment","children"],visitor:["openingFragment","children","closingFragment"],aliases:["Immutable","Expression"],fields:{openingFragment:{validate:assertNodeType("JSXOpeningFragment")},closingFragment:{validate:assertNodeType("JSXClosingFragment")},children:{validate:chain$1(assertValueType("array"),assertEach(assertNodeType("JSXText","JSXExpressionContainer","JSXSpreadChild","JSXElement","JSXFragment")))}}});defineType$2("JSXOpeningFragment",{aliases:["Immutable"]});defineType$2("JSXClosingFragment",{aliases:["Immutable"]});var PLACEHOLDERS=["Identifier","StringLiteral","Expression","Statement","Declaration","BlockStatement","ClassBody","Pattern"];var PLACEHOLDERS_ALIAS={Declaration:["Statement"],Pattern:["PatternLike","LVal"]};for(var _i$2=0,_PLACEHOLDERS=PLACEHOLDERS;_i$2<_PLACEHOLDERS.length;_i$2++){var type$2=_PLACEHOLDERS[_i$2];var alias=ALIAS_KEYS[type$2];if(alias!=null&&alias.length)PLACEHOLDERS_ALIAS[type$2]=alias;}var PLACEHOLDERS_FLIPPED_ALIAS={};Object.keys(PLACEHOLDERS_ALIAS).forEach(function(type){PLACEHOLDERS_ALIAS[type].forEach(function(alias){if(!hasOwnProperty.call(PLACEHOLDERS_FLIPPED_ALIAS,alias)){PLACEHOLDERS_FLIPPED_ALIAS[alias]=[];}PLACEHOLDERS_FLIPPED_ALIAS[alias].push(type);});});var defineType$1=defineAliasedType("Miscellaneous");{defineType$1("Noop",{visitor:[]});}defineType$1("Placeholder",{visitor:[],builder:["expectedNode","name"],fields:{name:{validate:assertNodeType("Identifier")},expectedNode:{validate:assertOneOf.apply(void 0,_toConsumableArray(PLACEHOLDERS))}}});defineType$1("V8IntrinsicIdentifier",{builder:["name"],fields:{name:{validate:assertValueType("string")}}});defineType$5("ArgumentPlaceholder",{});defineType$5("BindExpression",{visitor:["object","callee"],aliases:["Expression"],fields:!browser$1$1.env.BABEL_TYPES_8_BREAKING?{object:{validate:Object.assign(function(){},{oneOfNodeTypes:["Expression"]})},callee:{validate:Object.assign(function(){},{oneOfNodeTypes:["Expression"]})}}:{object:{validate:assertNodeType("Expression")},callee:{validate:assertNodeType("Expression")}}});defineType$5("ImportAttribute",{visitor:["key","value"],fields:{key:{validate:assertNodeType("Identifier","StringLiteral")},value:{validate:assertNodeType("StringLiteral")}}});defineType$5("Decorator",{visitor:["expression"],fields:{expression:{validate:assertNodeType("Expression")}}});defineType$5("DoExpression",{visitor:["body"],builder:["body","async"],aliases:["Expression"],fields:{body:{validate:assertNodeType("BlockStatement")},async:{validate:assertValueType("boolean"),"default":false}}});defineType$5("ExportDefaultSpecifier",{visitor:["exported"],aliases:["ModuleSpecifier"],fields:{exported:{validate:assertNodeType("Identifier")}}});defineType$5("RecordExpression",{visitor:["properties"],aliases:["Expression"],fields:{properties:{validate:chain$1(assertValueType("array"),assertEach(assertNodeType("ObjectProperty","SpreadElement")))}}});defineType$5("TupleExpression",{fields:{elements:{validate:chain$1(assertValueType("array"),assertEach(assertNodeType("Expression","SpreadElement"))),"default":[]}},visitor:["elements"],aliases:["Expression"]});defineType$5("DecimalLiteral",{builder:["value"],fields:{value:{validate:assertValueType("string")}},aliases:["Expression","Pureish","Literal","Immutable"]});defineType$5("ModuleExpression",{visitor:["body"],fields:{body:{validate:assertNodeType("Program")}},aliases:["Expression"]});defineType$5("TopicReference",{aliases:["Expression"]});defineType$5("PipelineTopicExpression",{builder:["expression"],visitor:["expression"],fields:{expression:{validate:assertNodeType("Expression")}},aliases:["Expression"]});defineType$5("PipelineBareFunction",{builder:["callee"],visitor:["callee"],fields:{callee:{validate:assertNodeType("Expression")}},aliases:["Expression"]});defineType$5("PipelinePrimaryTopicReference",{aliases:["Expression"]});var defineType=defineAliasedType("TypeScript");var bool$b=assertValueType("boolean");var tSFunctionTypeAnnotationCommon=function tSFunctionTypeAnnotationCommon(){return{returnType:{validate:assertNodeType("TSTypeAnnotation","Noop"),optional:true},typeParameters:{validate:assertNodeType("TSTypeParameterDeclaration","Noop"),optional:true}};};defineType("TSParameterProperty",{aliases:["LVal"],visitor:["parameter"],fields:{accessibility:{validate:assertOneOf("public","private","protected"),optional:true},readonly:{validate:assertValueType("boolean"),optional:true},parameter:{validate:assertNodeType("Identifier","AssignmentPattern")},override:{validate:assertValueType("boolean"),optional:true},decorators:{validate:chain$1(assertValueType("array"),assertEach(assertNodeType("Decorator"))),optional:true}}});defineType("TSDeclareFunction",{aliases:["Statement","Declaration"],visitor:["id","typeParameters","params","returnType"],fields:Object.assign({},functionDeclarationCommon(),tSFunctionTypeAnnotationCommon())});defineType("TSDeclareMethod",{visitor:["decorators","key","typeParameters","params","returnType"],fields:Object.assign({},classMethodOrDeclareMethodCommon(),tSFunctionTypeAnnotationCommon())});defineType("TSQualifiedName",{aliases:["TSEntityName"],visitor:["left","right"],fields:{left:validateType("TSEntityName"),right:validateType("Identifier")}});var signatureDeclarationCommon=function signatureDeclarationCommon(){var _ref;return _ref={typeParameters:validateOptionalType("TSTypeParameterDeclaration")},_ref["parameters"]=validateArrayOfType(["ArrayPattern","Identifier","ObjectPattern","RestElement"]),_ref["typeAnnotation"]=validateOptionalType("TSTypeAnnotation"),_ref;};var callConstructSignatureDeclaration={aliases:["TSTypeElement"],visitor:["typeParameters","parameters","typeAnnotation"],fields:signatureDeclarationCommon()};defineType("TSCallSignatureDeclaration",callConstructSignatureDeclaration);defineType("TSConstructSignatureDeclaration",callConstructSignatureDeclaration);var namedTypeElementCommon=function namedTypeElementCommon(){return{key:validateType("Expression"),computed:{"default":false},optional:validateOptional(bool$b)};};defineType("TSPropertySignature",{aliases:["TSTypeElement"],visitor:["key","typeAnnotation"],fields:Object.assign({},namedTypeElementCommon(),{readonly:validateOptional(bool$b),typeAnnotation:validateOptionalType("TSTypeAnnotation"),kind:{validate:assertOneOf("get","set")}})});defineType("TSMethodSignature",{aliases:["TSTypeElement"],visitor:["key","typeParameters","parameters","typeAnnotation"],fields:Object.assign({},signatureDeclarationCommon(),namedTypeElementCommon(),{kind:{validate:assertOneOf("method","get","set")}})});defineType("TSIndexSignature",{aliases:["TSTypeElement"],visitor:["parameters","typeAnnotation"],fields:{readonly:validateOptional(bool$b),"static":validateOptional(bool$b),parameters:validateArrayOfType("Identifier"),typeAnnotation:validateOptionalType("TSTypeAnnotation")}});var tsKeywordTypes=["TSAnyKeyword","TSBooleanKeyword","TSBigIntKeyword","TSIntrinsicKeyword","TSNeverKeyword","TSNullKeyword","TSNumberKeyword","TSObjectKeyword","TSStringKeyword","TSSymbolKeyword","TSUndefinedKeyword","TSUnknownKeyword","TSVoidKeyword"];for(var _i$1=0,_tsKeywordTypes=tsKeywordTypes;_i$1<_tsKeywordTypes.length;_i$1++){var type$1=_tsKeywordTypes[_i$1];defineType(type$1,{aliases:["TSType","TSBaseType"],visitor:[],fields:{}});}defineType("TSThisType",{aliases:["TSType","TSBaseType"],visitor:[],fields:{}});var fnOrCtrBase={aliases:["TSType"],visitor:["typeParameters","parameters","typeAnnotation"]};defineType("TSFunctionType",Object.assign({},fnOrCtrBase,{fields:signatureDeclarationCommon()}));defineType("TSConstructorType",Object.assign({},fnOrCtrBase,{fields:Object.assign({},signatureDeclarationCommon(),{"abstract":validateOptional(bool$b)})}));defineType("TSTypeReference",{aliases:["TSType"],visitor:["typeName","typeParameters"],fields:{typeName:validateType("TSEntityName"),typeParameters:validateOptionalType("TSTypeParameterInstantiation")}});defineType("TSTypePredicate",{aliases:["TSType"],visitor:["parameterName","typeAnnotation"],builder:["parameterName","typeAnnotation","asserts"],fields:{parameterName:validateType(["Identifier","TSThisType"]),typeAnnotation:validateOptionalType("TSTypeAnnotation"),asserts:validateOptional(bool$b)}});defineType("TSTypeQuery",{aliases:["TSType"],visitor:["exprName","typeParameters"],fields:{exprName:validateType(["TSEntityName","TSImportType"]),typeParameters:validateOptionalType("TSTypeParameterInstantiation")}});defineType("TSTypeLiteral",{aliases:["TSType"],visitor:["members"],fields:{members:validateArrayOfType("TSTypeElement")}});defineType("TSArrayType",{aliases:["TSType"],visitor:["elementType"],fields:{elementType:validateType("TSType")}});defineType("TSTupleType",{aliases:["TSType"],visitor:["elementTypes"],fields:{elementTypes:validateArrayOfType(["TSType","TSNamedTupleMember"])}});defineType("TSOptionalType",{aliases:["TSType"],visitor:["typeAnnotation"],fields:{typeAnnotation:validateType("TSType")}});defineType("TSRestType",{aliases:["TSType"],visitor:["typeAnnotation"],fields:{typeAnnotation:validateType("TSType")}});defineType("TSNamedTupleMember",{visitor:["label","elementType"],builder:["label","elementType","optional"],fields:{label:validateType("Identifier"),optional:{validate:bool$b,"default":false},elementType:validateType("TSType")}});var unionOrIntersection={aliases:["TSType"],visitor:["types"],fields:{types:validateArrayOfType("TSType")}};defineType("TSUnionType",unionOrIntersection);defineType("TSIntersectionType",unionOrIntersection);defineType("TSConditionalType",{aliases:["TSType"],visitor:["checkType","extendsType","trueType","falseType"],fields:{checkType:validateType("TSType"),extendsType:validateType("TSType"),trueType:validateType("TSType"),falseType:validateType("TSType")}});defineType("TSInferType",{aliases:["TSType"],visitor:["typeParameter"],fields:{typeParameter:validateType("TSTypeParameter")}});defineType("TSParenthesizedType",{aliases:["TSType"],visitor:["typeAnnotation"],fields:{typeAnnotation:validateType("TSType")}});defineType("TSTypeOperator",{aliases:["TSType"],visitor:["typeAnnotation"],fields:{operator:validate$6(assertValueType("string")),typeAnnotation:validateType("TSType")}});defineType("TSIndexedAccessType",{aliases:["TSType"],visitor:["objectType","indexType"],fields:{objectType:validateType("TSType"),indexType:validateType("TSType")}});defineType("TSMappedType",{aliases:["TSType"],visitor:["typeParameter","typeAnnotation","nameType"],fields:{readonly:validateOptional(assertOneOf(true,false,"+","-")),typeParameter:validateType("TSTypeParameter"),optional:validateOptional(assertOneOf(true,false,"+","-")),typeAnnotation:validateOptionalType("TSType"),nameType:validateOptionalType("TSType")}});defineType("TSLiteralType",{aliases:["TSType","TSBaseType"],visitor:["literal"],fields:{literal:{validate:function(){var unaryExpression=assertNodeType("NumericLiteral","BigIntLiteral");var unaryOperator=assertOneOf("-");var literal=assertNodeType("NumericLiteral","StringLiteral","BooleanLiteral","BigIntLiteral","TemplateLiteral");function validator(parent,key,node){if(is$1("UnaryExpression",node)){unaryOperator(node,"operator",node.operator);unaryExpression(node,"argument",node.argument);}else{literal(parent,key,node);}}validator.oneOfNodeTypes=["NumericLiteral","StringLiteral","BooleanLiteral","BigIntLiteral","TemplateLiteral","UnaryExpression"];return validator;}()}}});defineType("TSExpressionWithTypeArguments",{aliases:["TSType"],visitor:["expression","typeParameters"],fields:{expression:validateType("TSEntityName"),typeParameters:validateOptionalType("TSTypeParameterInstantiation")}});defineType("TSInterfaceDeclaration",{aliases:["Statement","Declaration"],visitor:["id","typeParameters","extends","body"],fields:{declare:validateOptional(bool$b),id:validateType("Identifier"),typeParameters:validateOptionalType("TSTypeParameterDeclaration"),"extends":validateOptional(arrayOfType("TSExpressionWithTypeArguments")),body:validateType("TSInterfaceBody")}});defineType("TSInterfaceBody",{visitor:["body"],fields:{body:validateArrayOfType("TSTypeElement")}});defineType("TSTypeAliasDeclaration",{aliases:["Statement","Declaration"],visitor:["id","typeParameters","typeAnnotation"],fields:{declare:validateOptional(bool$b),id:validateType("Identifier"),typeParameters:validateOptionalType("TSTypeParameterDeclaration"),typeAnnotation:validateType("TSType")}});defineType("TSInstantiationExpression",{aliases:["Expression"],visitor:["expression","typeParameters"],fields:{expression:validateType("Expression"),typeParameters:validateOptionalType("TSTypeParameterInstantiation")}});var TSTypeExpression$1={aliases:["Expression","LVal","PatternLike"],visitor:["expression","typeAnnotation"],fields:{expression:validateType("Expression"),typeAnnotation:validateType("TSType")}};defineType("TSAsExpression",TSTypeExpression$1);defineType("TSSatisfiesExpression",TSTypeExpression$1);defineType("TSTypeAssertion",{aliases:["Expression","LVal","PatternLike"],visitor:["typeAnnotation","expression"],fields:{typeAnnotation:validateType("TSType"),expression:validateType("Expression")}});defineType("TSEnumDeclaration",{aliases:["Statement","Declaration"],visitor:["id","members"],fields:{declare:validateOptional(bool$b),"const":validateOptional(bool$b),id:validateType("Identifier"),members:validateArrayOfType("TSEnumMember"),initializer:validateOptionalType("Expression")}});defineType("TSEnumMember",{visitor:["id","initializer"],fields:{id:validateType(["Identifier","StringLiteral"]),initializer:validateOptionalType("Expression")}});defineType("TSModuleDeclaration",{aliases:["Statement","Declaration"],visitor:["id","body"],fields:{declare:validateOptional(bool$b),global:validateOptional(bool$b),id:validateType(["Identifier","StringLiteral"]),body:validateType(["TSModuleBlock","TSModuleDeclaration"])}});defineType("TSModuleBlock",{aliases:["Scopable","Block","BlockParent","FunctionParent"],visitor:["body"],fields:{body:validateArrayOfType("Statement")}});defineType("TSImportType",{aliases:["TSType"],visitor:["argument","qualifier","typeParameters"],fields:{argument:validateType("StringLiteral"),qualifier:validateOptionalType("TSEntityName"),typeParameters:validateOptionalType("TSTypeParameterInstantiation"),options:{validate:assertNodeType("Expression"),optional:true}}});defineType("TSImportEqualsDeclaration",{aliases:["Statement"],visitor:["id","moduleReference"],fields:{isExport:validate$6(bool$b),id:validateType("Identifier"),moduleReference:validateType(["TSEntityName","TSExternalModuleReference"]),importKind:{validate:assertOneOf("type","value"),optional:true}}});defineType("TSExternalModuleReference",{visitor:["expression"],fields:{expression:validateType("StringLiteral")}});defineType("TSNonNullExpression",{aliases:["Expression","LVal","PatternLike"],visitor:["expression"],fields:{expression:validateType("Expression")}});defineType("TSExportAssignment",{aliases:["Statement"],visitor:["expression"],fields:{expression:validateType("Expression")}});defineType("TSNamespaceExportDeclaration",{aliases:["Statement"],visitor:["id"],fields:{id:validateType("Identifier")}});defineType("TSTypeAnnotation",{visitor:["typeAnnotation"],fields:{typeAnnotation:{validate:assertNodeType("TSType")}}});defineType("TSTypeParameterInstantiation",{visitor:["params"],fields:{params:{validate:chain$1(assertValueType("array"),assertEach(assertNodeType("TSType")))}}});defineType("TSTypeParameterDeclaration",{visitor:["params"],fields:{params:{validate:chain$1(assertValueType("array"),assertEach(assertNodeType("TSTypeParameter")))}}});defineType("TSTypeParameter",{builder:["constraint","default","name"],visitor:["constraint","default"],fields:{name:{validate:assertValueType("string")},"in":{validate:assertValueType("boolean"),optional:true},out:{validate:assertValueType("boolean"),optional:true},"const":{validate:assertValueType("boolean"),optional:true},constraint:{validate:assertNodeType("TSType"),optional:true},"default":{validate:assertNodeType("TSType"),optional:true}}});var DEPRECATED_ALIASES$1={ModuleDeclaration:"ImportOrExportDeclaration"};Object.keys(DEPRECATED_ALIASES$1).forEach(function(deprecatedAlias){FLIPPED_ALIAS_KEYS$3[deprecatedAlias]=FLIPPED_ALIAS_KEYS$3[DEPRECATED_ALIASES$1[deprecatedAlias]];});toFastProperties(VISITOR_KEYS$5);toFastProperties(ALIAS_KEYS);toFastProperties(FLIPPED_ALIAS_KEYS$3);toFastProperties(NODE_FIELDS);toFastProperties(BUILDER_KEYS);toFastProperties(DEPRECATED_KEYS$1);toFastProperties(PLACEHOLDERS_ALIAS);toFastProperties(PLACEHOLDERS_FLIPPED_ALIAS);var TYPES$1=[].concat(Object.keys(VISITOR_KEYS$5),Object.keys(FLIPPED_ALIAS_KEYS$3),Object.keys(DEPRECATED_KEYS$1));function validate$5(node,key,val){if(!node)return;var fields=NODE_FIELDS[node.type];if(!fields)return;var field=fields[key];validateField(node,key,val,field);validateChild(node,key,val);}function validateField(node,key,val,field){if(!(field!=null&&field.validate))return;if(field.optional&&val==null)return;field.validate(node,key,val);}function validateChild(node,key,val){if(val==null)return;var validate=NODE_PARENT_VALIDATIONS[val.type];if(!validate)return;validate(node,key,val);}function validateNode(node){var keys=BUILDER_KEYS[node.type];for(var _iterator=_createForOfIteratorHelperLoose(keys),_step;!(_step=_iterator()).done;){var key=_step.value;validate$5(node,key,node[key]);}return node;}function arrayExpression$1(elements){if(elements===void 0){elements=[];}return validateNode({type:"ArrayExpression",elements:elements});}function assignmentExpression$d(operator,left,right){return validateNode({type:"AssignmentExpression",operator:operator,left:left,right:right});}function binaryExpression$5(operator,left,right){return validateNode({type:"BinaryExpression",operator:operator,left:left,right:right});}function interpreterDirective$1(value){return validateNode({type:"InterpreterDirective",value:value});}function directive$1(value){return validateNode({type:"Directive",value:value});}function directiveLiteral$1(value){return validateNode({type:"DirectiveLiteral",value:value});}function blockStatement$6(body,directives){if(directives===void 0){directives=[];}return validateNode({type:"BlockStatement",body:body,directives:directives});}function breakStatement(label){if(label===void 0){label=null;}return validateNode({type:"BreakStatement",label:label});}function callExpression$d(callee,_arguments){return validateNode({type:"CallExpression",callee:callee,arguments:_arguments});}function catchClause(param,body){if(param===void 0){param=null;}return validateNode({type:"CatchClause",param:param,body:body});}function conditionalExpression$5(test,consequent,alternate){return validateNode({type:"ConditionalExpression",test:test,consequent:consequent,alternate:alternate});}function continueStatement(label){if(label===void 0){label=null;}return validateNode({type:"ContinueStatement",label:label});}function debuggerStatement(){return{type:"DebuggerStatement"};}function doWhileStatement(test,body){return validateNode({type:"DoWhileStatement",test:test,body:body});}function emptyStatement$1(){return{type:"EmptyStatement"};}function expressionStatement$a(expression){return validateNode({type:"ExpressionStatement",expression:expression});}function file$2(program,comments,tokens){if(comments===void 0){comments=null;}if(tokens===void 0){tokens=null;}return validateNode({type:"File",program:program,comments:comments,tokens:tokens});}function forInStatement(left,right,body){return validateNode({type:"ForInStatement",left:left,right:right,body:body});}function forStatement(init,test,update,body){if(init===void 0){init=null;}if(test===void 0){test=null;}if(update===void 0){update=null;}return validateNode({type:"ForStatement",init:init,test:test,update:update,body:body});}function functionDeclaration(id,params,body,generator,async){if(id===void 0){id=null;}if(generator===void 0){generator=false;}if(async===void 0){async=false;}return validateNode({type:"FunctionDeclaration",id:id,params:params,body:body,generator:generator,async:async});}function functionExpression$2(id,params,body,generator,async){if(id===void 0){id=null;}if(generator===void 0){generator=false;}if(async===void 0){async=false;}return validateNode({type:"FunctionExpression",id:id,params:params,body:body,generator:generator,async:async});}function identifier$j(name){return validateNode({type:"Identifier",name:name});}function ifStatement(test,consequent,alternate){if(alternate===void 0){alternate=null;}return validateNode({type:"IfStatement",test:test,consequent:consequent,alternate:alternate});}function labeledStatement(label,body){return validateNode({type:"LabeledStatement",label:label,body:body});}function stringLiteral$8(value){return validateNode({type:"StringLiteral",value:value});}function numericLiteral$8(value){return validateNode({type:"NumericLiteral",value:value});}function nullLiteral$2(){return{type:"NullLiteral"};}function booleanLiteral$4(value){return validateNode({type:"BooleanLiteral",value:value});}function regExpLiteral(pattern,flags){if(flags===void 0){flags="";}return validateNode({type:"RegExpLiteral",pattern:pattern,flags:flags});}function logicalExpression$3(operator,left,right){return validateNode({type:"LogicalExpression",operator:operator,left:left,right:right});}function memberExpression$c(object,property,computed,optional){if(computed===void 0){computed=false;}if(optional===void 0){optional=null;}return validateNode({type:"MemberExpression",object:object,property:property,computed:computed,optional:optional});}function newExpression(callee,_arguments){return validateNode({type:"NewExpression",callee:callee,arguments:_arguments});}function program$3(body,directives,sourceType,interpreter){if(directives===void 0){directives=[];}if(sourceType===void 0){sourceType="script";}if(interpreter===void 0){interpreter=null;}return validateNode({type:"Program",body:body,directives:directives,sourceType:sourceType,interpreter:interpreter});}function objectExpression$3(properties){return validateNode({type:"ObjectExpression",properties:properties});}function objectMethod(kind,key,params,body,computed,generator,async){if(kind===void 0){kind="method";}if(computed===void 0){computed=false;}if(generator===void 0){generator=false;}if(async===void 0){async=false;}return validateNode({type:"ObjectMethod",kind:kind,key:key,params:params,body:body,computed:computed,generator:generator,async:async});}function objectProperty$1(key,value,computed,shorthand,decorators){if(computed===void 0){computed=false;}if(shorthand===void 0){shorthand=false;}if(decorators===void 0){decorators=null;}return validateNode({type:"ObjectProperty",key:key,value:value,computed:computed,shorthand:shorthand,decorators:decorators});}function restElement$2(argument){return validateNode({type:"RestElement",argument:argument});}function returnStatement$3(argument){if(argument===void 0){argument=null;}return validateNode({type:"ReturnStatement",argument:argument});}function sequenceExpression$8(expressions){return validateNode({type:"SequenceExpression",expressions:expressions});}function parenthesizedExpression(expression){return validateNode({type:"ParenthesizedExpression",expression:expression});}function switchCase(test,consequent){if(test===void 0){test=null;}return validateNode({type:"SwitchCase",test:test,consequent:consequent});}function switchStatement(discriminant,cases){return validateNode({type:"SwitchStatement",discriminant:discriminant,cases:cases});}function thisExpression$4(){return{type:"ThisExpression"};}function throwStatement(argument){return validateNode({type:"ThrowStatement",argument:argument});}function tryStatement(block,handler,finalizer){if(handler===void 0){handler=null;}if(finalizer===void 0){finalizer=null;}return validateNode({type:"TryStatement",block:block,handler:handler,finalizer:finalizer});}function unaryExpression$6(operator,argument,prefix){if(prefix===void 0){prefix=true;}return validateNode({type:"UnaryExpression",operator:operator,argument:argument,prefix:prefix});}function updateExpression$1(operator,argument,prefix){if(prefix===void 0){prefix=false;}return validateNode({type:"UpdateExpression",operator:operator,argument:argument,prefix:prefix});}function variableDeclaration$8(kind,declarations){return validateNode({type:"VariableDeclaration",kind:kind,declarations:declarations});}function variableDeclarator$8(id,init){if(init===void 0){init=null;}return validateNode({type:"VariableDeclarator",id:id,init:init});}function whileStatement(test,body){return validateNode({type:"WhileStatement",test:test,body:body});}function withStatement(object,body){return validateNode({type:"WithStatement",object:object,body:body});}function assignmentPattern(left,right){return validateNode({type:"AssignmentPattern",left:left,right:right});}function arrayPattern(elements){return validateNode({type:"ArrayPattern",elements:elements});}function arrowFunctionExpression$4(params,body,async){if(async===void 0){async=false;}return validateNode({type:"ArrowFunctionExpression",params:params,body:body,async:async,expression:null});}function classBody(body){return validateNode({type:"ClassBody",body:body});}function classExpression(id,superClass,body,decorators){if(id===void 0){id=null;}if(superClass===void 0){superClass=null;}if(decorators===void 0){decorators=null;}return validateNode({type:"ClassExpression",id:id,superClass:superClass,body:body,decorators:decorators});}function classDeclaration(id,superClass,body,decorators){if(id===void 0){id=null;}if(superClass===void 0){superClass=null;}if(decorators===void 0){decorators=null;}return validateNode({type:"ClassDeclaration",id:id,superClass:superClass,body:body,decorators:decorators});}function exportAllDeclaration(source){return validateNode({type:"ExportAllDeclaration",source:source});}function exportDefaultDeclaration(declaration){return validateNode({type:"ExportDefaultDeclaration",declaration:declaration});}function exportNamedDeclaration$2(declaration,specifiers,source){if(declaration===void 0){declaration=null;}if(specifiers===void 0){specifiers=[];}if(source===void 0){source=null;}return validateNode({type:"ExportNamedDeclaration",declaration:declaration,specifiers:specifiers,source:source});}function exportSpecifier$2(local,exported){return validateNode({type:"ExportSpecifier",local:local,exported:exported});}function forOfStatement(left,right,body,_await){if(_await===void 0){_await=false;}return validateNode({type:"ForOfStatement",left:left,right:right,body:body,"await":_await});}function importDeclaration$1(specifiers,source){return validateNode({type:"ImportDeclaration",specifiers:specifiers,source:source});}function importDefaultSpecifier$1(local){return validateNode({type:"ImportDefaultSpecifier",local:local});}function importNamespaceSpecifier$1(local){return validateNode({type:"ImportNamespaceSpecifier",local:local});}function importSpecifier$2(local,imported){return validateNode({type:"ImportSpecifier",local:local,imported:imported});}function importExpression(source,options){if(options===void 0){options=null;}return validateNode({type:"ImportExpression",source:source,options:options});}function metaProperty$1(meta,property){return validateNode({type:"MetaProperty",meta:meta,property:property});}function classMethod(kind,key,params,body,computed,_static,generator,async){if(kind===void 0){kind="method";}if(computed===void 0){computed=false;}if(_static===void 0){_static=false;}if(generator===void 0){generator=false;}if(async===void 0){async=false;}return validateNode({type:"ClassMethod",kind:kind,key:key,params:params,body:body,computed:computed,"static":_static,generator:generator,async:async});}function objectPattern$1(properties){return validateNode({type:"ObjectPattern",properties:properties});}function spreadElement$2(argument){return validateNode({type:"SpreadElement",argument:argument});}function _super$1(){return{type:"Super"};}function taggedTemplateExpression(tag,quasi){return validateNode({type:"TaggedTemplateExpression",tag:tag,quasi:quasi});}function templateElement(value,tail){if(tail===void 0){tail=false;}return validateNode({type:"TemplateElement",value:value,tail:tail});}function templateLiteral(quasis,expressions){return validateNode({type:"TemplateLiteral",quasis:quasis,expressions:expressions});}function yieldExpression$2(argument,delegate){if(argument===void 0){argument=null;}if(delegate===void 0){delegate=false;}return validateNode({type:"YieldExpression",argument:argument,delegate:delegate});}function awaitExpression$1(argument){return validateNode({type:"AwaitExpression",argument:argument});}function _import(){return{type:"Import"};}function bigIntLiteral(value){return validateNode({type:"BigIntLiteral",value:value});}function exportNamespaceSpecifier(exported){return validateNode({type:"ExportNamespaceSpecifier",exported:exported});}function optionalMemberExpression$2(object,property,computed,optional){if(computed===void 0){computed=false;}return validateNode({type:"OptionalMemberExpression",object:object,property:property,computed:computed,optional:optional});}function optionalCallExpression$2(callee,_arguments,optional){return validateNode({type:"OptionalCallExpression",callee:callee,arguments:_arguments,optional:optional});}function classProperty(key,value,typeAnnotation,decorators,computed,_static){if(value===void 0){value=null;}if(typeAnnotation===void 0){typeAnnotation=null;}if(decorators===void 0){decorators=null;}if(computed===void 0){computed=false;}if(_static===void 0){_static=false;}return validateNode({type:"ClassProperty",key:key,value:value,typeAnnotation:typeAnnotation,decorators:decorators,computed:computed,"static":_static});}function classAccessorProperty(key,value,typeAnnotation,decorators,computed,_static){if(value===void 0){value=null;}if(typeAnnotation===void 0){typeAnnotation=null;}if(decorators===void 0){decorators=null;}if(computed===void 0){computed=false;}if(_static===void 0){_static=false;}return validateNode({type:"ClassAccessorProperty",key:key,value:value,typeAnnotation:typeAnnotation,decorators:decorators,computed:computed,"static":_static});}function classPrivateProperty(key,value,decorators,_static){if(value===void 0){value=null;}if(decorators===void 0){decorators=null;}if(_static===void 0){_static=false;}return validateNode({type:"ClassPrivateProperty",key:key,value:value,decorators:decorators,"static":_static});}function classPrivateMethod(kind,key,params,body,_static){if(kind===void 0){kind="method";}if(_static===void 0){_static=false;}return validateNode({type:"ClassPrivateMethod",kind:kind,key:key,params:params,body:body,"static":_static});}function privateName(id){return validateNode({type:"PrivateName",id:id});}function staticBlock(body){return validateNode({type:"StaticBlock",body:body});}function anyTypeAnnotation$2(){return{type:"AnyTypeAnnotation"};}function arrayTypeAnnotation$1(elementType){return validateNode({type:"ArrayTypeAnnotation",elementType:elementType});}function booleanTypeAnnotation$1(){return{type:"BooleanTypeAnnotation"};}function booleanLiteralTypeAnnotation(value){return validateNode({type:"BooleanLiteralTypeAnnotation",value:value});}function nullLiteralTypeAnnotation$1(){return{type:"NullLiteralTypeAnnotation"};}function classImplements(id,typeParameters){if(typeParameters===void 0){typeParameters=null;}return validateNode({type:"ClassImplements",id:id,typeParameters:typeParameters});}function declareClass(id,typeParameters,_extends,body){if(typeParameters===void 0){typeParameters=null;}if(_extends===void 0){_extends=null;}return validateNode({type:"DeclareClass",id:id,typeParameters:typeParameters,"extends":_extends,body:body});}function declareFunction(id){return validateNode({type:"DeclareFunction",id:id});}function declareInterface(id,typeParameters,_extends,body){if(typeParameters===void 0){typeParameters=null;}if(_extends===void 0){_extends=null;}return validateNode({type:"DeclareInterface",id:id,typeParameters:typeParameters,"extends":_extends,body:body});}function declareModule(id,body,kind){if(kind===void 0){kind=null;}return validateNode({type:"DeclareModule",id:id,body:body,kind:kind});}function declareModuleExports(typeAnnotation){return validateNode({type:"DeclareModuleExports",typeAnnotation:typeAnnotation});}function declareTypeAlias(id,typeParameters,right){if(typeParameters===void 0){typeParameters=null;}return validateNode({type:"DeclareTypeAlias",id:id,typeParameters:typeParameters,right:right});}function declareOpaqueType(id,typeParameters,supertype){if(typeParameters===void 0){typeParameters=null;}if(supertype===void 0){supertype=null;}return validateNode({type:"DeclareOpaqueType",id:id,typeParameters:typeParameters,supertype:supertype});}function declareVariable(id){return validateNode({type:"DeclareVariable",id:id});}function declareExportDeclaration(declaration,specifiers,source){if(declaration===void 0){declaration=null;}if(specifiers===void 0){specifiers=null;}if(source===void 0){source=null;}return validateNode({type:"DeclareExportDeclaration",declaration:declaration,specifiers:specifiers,source:source});}function declareExportAllDeclaration(source){return validateNode({type:"DeclareExportAllDeclaration",source:source});}function declaredPredicate(value){return validateNode({type:"DeclaredPredicate",value:value});}function existsTypeAnnotation(){return{type:"ExistsTypeAnnotation"};}function functionTypeAnnotation(typeParameters,params,rest,returnType){if(typeParameters===void 0){typeParameters=null;}if(rest===void 0){rest=null;}return validateNode({type:"FunctionTypeAnnotation",typeParameters:typeParameters,params:params,rest:rest,returnType:returnType});}function functionTypeParam(name,typeAnnotation){if(name===void 0){name=null;}return validateNode({type:"FunctionTypeParam",name:name,typeAnnotation:typeAnnotation});}function genericTypeAnnotation$1(id,typeParameters){if(typeParameters===void 0){typeParameters=null;}return validateNode({type:"GenericTypeAnnotation",id:id,typeParameters:typeParameters});}function inferredPredicate(){return{type:"InferredPredicate"};}function interfaceExtends(id,typeParameters){if(typeParameters===void 0){typeParameters=null;}return validateNode({type:"InterfaceExtends",id:id,typeParameters:typeParameters});}function interfaceDeclaration(id,typeParameters,_extends,body){if(typeParameters===void 0){typeParameters=null;}if(_extends===void 0){_extends=null;}return validateNode({type:"InterfaceDeclaration",id:id,typeParameters:typeParameters,"extends":_extends,body:body});}function interfaceTypeAnnotation(_extends,body){if(_extends===void 0){_extends=null;}return validateNode({type:"InterfaceTypeAnnotation","extends":_extends,body:body});}function intersectionTypeAnnotation(types){return validateNode({type:"IntersectionTypeAnnotation",types:types});}function mixedTypeAnnotation(){return{type:"MixedTypeAnnotation"};}function emptyTypeAnnotation(){return{type:"EmptyTypeAnnotation"};}function nullableTypeAnnotation(typeAnnotation){return validateNode({type:"NullableTypeAnnotation",typeAnnotation:typeAnnotation});}function numberLiteralTypeAnnotation(value){return validateNode({type:"NumberLiteralTypeAnnotation",value:value});}function numberTypeAnnotation$2(){return{type:"NumberTypeAnnotation"};}function objectTypeAnnotation(properties,indexers,callProperties,internalSlots,exact){if(indexers===void 0){indexers=[];}if(callProperties===void 0){callProperties=[];}if(internalSlots===void 0){internalSlots=[];}if(exact===void 0){exact=false;}return validateNode({type:"ObjectTypeAnnotation",properties:properties,indexers:indexers,callProperties:callProperties,internalSlots:internalSlots,exact:exact});}function objectTypeInternalSlot(id,value,optional,_static,method){return validateNode({type:"ObjectTypeInternalSlot",id:id,value:value,optional:optional,"static":_static,method:method});}function objectTypeCallProperty(value){return validateNode({type:"ObjectTypeCallProperty",value:value,"static":null});}function objectTypeIndexer(id,key,value,variance){if(id===void 0){id=null;}if(variance===void 0){variance=null;}return validateNode({type:"ObjectTypeIndexer",id:id,key:key,value:value,variance:variance,"static":null});}function objectTypeProperty(key,value,variance){if(variance===void 0){variance=null;}return validateNode({type:"ObjectTypeProperty",key:key,value:value,variance:variance,kind:null,method:null,optional:null,proto:null,"static":null});}function objectTypeSpreadProperty(argument){return validateNode({type:"ObjectTypeSpreadProperty",argument:argument});}function opaqueType(id,typeParameters,supertype,impltype){if(typeParameters===void 0){typeParameters=null;}if(supertype===void 0){supertype=null;}return validateNode({type:"OpaqueType",id:id,typeParameters:typeParameters,supertype:supertype,impltype:impltype});}function qualifiedTypeIdentifier(id,qualification){return validateNode({type:"QualifiedTypeIdentifier",id:id,qualification:qualification});}function stringLiteralTypeAnnotation(value){return validateNode({type:"StringLiteralTypeAnnotation",value:value});}function stringTypeAnnotation$2(){return{type:"StringTypeAnnotation"};}function symbolTypeAnnotation(){return{type:"SymbolTypeAnnotation"};}function thisTypeAnnotation(){return{type:"ThisTypeAnnotation"};}function tupleTypeAnnotation$1(types){return validateNode({type:"TupleTypeAnnotation",types:types});}function typeofTypeAnnotation(argument){return validateNode({type:"TypeofTypeAnnotation",argument:argument});}function typeAlias(id,typeParameters,right){if(typeParameters===void 0){typeParameters=null;}return validateNode({type:"TypeAlias",id:id,typeParameters:typeParameters,right:right});}function typeAnnotation(typeAnnotation){return validateNode({type:"TypeAnnotation",typeAnnotation:typeAnnotation});}function typeCastExpression(expression,typeAnnotation){return validateNode({type:"TypeCastExpression",expression:expression,typeAnnotation:typeAnnotation});}function typeParameter(bound,_default,variance){if(bound===void 0){bound=null;}if(_default===void 0){_default=null;}if(variance===void 0){variance=null;}return validateNode({type:"TypeParameter",bound:bound,"default":_default,variance:variance,name:null});}function typeParameterDeclaration(params){return validateNode({type:"TypeParameterDeclaration",params:params});}function typeParameterInstantiation(params){return validateNode({type:"TypeParameterInstantiation",params:params});}function unionTypeAnnotation$1(types){return validateNode({type:"UnionTypeAnnotation",types:types});}function variance(kind){return validateNode({type:"Variance",kind:kind});}function voidTypeAnnotation$3(){return{type:"VoidTypeAnnotation"};}function enumDeclaration(id,body){return validateNode({type:"EnumDeclaration",id:id,body:body});}function enumBooleanBody(members){return validateNode({type:"EnumBooleanBody",members:members,explicitType:null,hasUnknownMembers:null});}function enumNumberBody(members){return validateNode({type:"EnumNumberBody",members:members,explicitType:null,hasUnknownMembers:null});}function enumStringBody(members){return validateNode({type:"EnumStringBody",members:members,explicitType:null,hasUnknownMembers:null});}function enumSymbolBody(members){return validateNode({type:"EnumSymbolBody",members:members,hasUnknownMembers:null});}function enumBooleanMember(id){return validateNode({type:"EnumBooleanMember",id:id,init:null});}function enumNumberMember(id,init){return validateNode({type:"EnumNumberMember",id:id,init:init});}function enumStringMember(id,init){return validateNode({type:"EnumStringMember",id:id,init:init});}function enumDefaultedMember(id){return validateNode({type:"EnumDefaultedMember",id:id});}function indexedAccessType(objectType,indexType){return validateNode({type:"IndexedAccessType",objectType:objectType,indexType:indexType});}function optionalIndexedAccessType(objectType,indexType){return validateNode({type:"OptionalIndexedAccessType",objectType:objectType,indexType:indexType,optional:null});}function jsxAttribute(name,value){if(value===void 0){value=null;}return validateNode({type:"JSXAttribute",name:name,value:value});}function jsxClosingElement(name){return validateNode({type:"JSXClosingElement",name:name});}function jsxElement(openingElement,closingElement,children,selfClosing){if(closingElement===void 0){closingElement=null;}if(selfClosing===void 0){selfClosing=null;}return validateNode({type:"JSXElement",openingElement:openingElement,closingElement:closingElement,children:children,selfClosing:selfClosing});}function jsxEmptyExpression(){return{type:"JSXEmptyExpression"};}function jsxExpressionContainer$1(expression){return validateNode({type:"JSXExpressionContainer",expression:expression});}function jsxSpreadChild(expression){return validateNode({type:"JSXSpreadChild",expression:expression});}function jsxIdentifier$2(name){return validateNode({type:"JSXIdentifier",name:name});}function jsxMemberExpression$1(object,property){return validateNode({type:"JSXMemberExpression",object:object,property:property});}function jsxNamespacedName(namespace,name){return validateNode({type:"JSXNamespacedName",namespace:namespace,name:name});}function jsxOpeningElement(name,attributes,selfClosing){if(selfClosing===void 0){selfClosing=false;}return validateNode({type:"JSXOpeningElement",name:name,attributes:attributes,selfClosing:selfClosing});}function jsxSpreadAttribute(argument){return validateNode({type:"JSXSpreadAttribute",argument:argument});}function jsxText(value){return validateNode({type:"JSXText",value:value});}function jsxFragment(openingFragment,closingFragment,children){return validateNode({type:"JSXFragment",openingFragment:openingFragment,closingFragment:closingFragment,children:children});}function jsxOpeningFragment(){return{type:"JSXOpeningFragment"};}function jsxClosingFragment(){return{type:"JSXClosingFragment"};}function noop$1(){return{type:"Noop"};}function placeholder(expectedNode,name){return validateNode({type:"Placeholder",expectedNode:expectedNode,name:name});}function v8IntrinsicIdentifier(name){return validateNode({type:"V8IntrinsicIdentifier",name:name});}function argumentPlaceholder(){return{type:"ArgumentPlaceholder"};}function bindExpression(object,callee){return validateNode({type:"BindExpression",object:object,callee:callee});}function importAttribute(key,value){return validateNode({type:"ImportAttribute",key:key,value:value});}function decorator(expression){return validateNode({type:"Decorator",expression:expression});}function doExpression(body,async){if(async===void 0){async=false;}return validateNode({type:"DoExpression",body:body,async:async});}function exportDefaultSpecifier(exported){return validateNode({type:"ExportDefaultSpecifier",exported:exported});}function recordExpression(properties){return validateNode({type:"RecordExpression",properties:properties});}function tupleExpression(elements){if(elements===void 0){elements=[];}return validateNode({type:"TupleExpression",elements:elements});}function decimalLiteral(value){return validateNode({type:"DecimalLiteral",value:value});}function moduleExpression(body){return validateNode({type:"ModuleExpression",body:body});}function topicReference(){return{type:"TopicReference"};}function pipelineTopicExpression(expression){return validateNode({type:"PipelineTopicExpression",expression:expression});}function pipelineBareFunction(callee){return validateNode({type:"PipelineBareFunction",callee:callee});}function pipelinePrimaryTopicReference(){return{type:"PipelinePrimaryTopicReference"};}function tsParameterProperty(parameter){return validateNode({type:"TSParameterProperty",parameter:parameter});}function tsDeclareFunction(id,typeParameters,params,returnType){if(id===void 0){id=null;}if(typeParameters===void 0){typeParameters=null;}if(returnType===void 0){returnType=null;}return validateNode({type:"TSDeclareFunction",id:id,typeParameters:typeParameters,params:params,returnType:returnType});}function tsDeclareMethod(decorators,key,typeParameters,params,returnType){if(decorators===void 0){decorators=null;}if(typeParameters===void 0){typeParameters=null;}if(returnType===void 0){returnType=null;}return validateNode({type:"TSDeclareMethod",decorators:decorators,key:key,typeParameters:typeParameters,params:params,returnType:returnType});}function tsQualifiedName(left,right){return validateNode({type:"TSQualifiedName",left:left,right:right});}function tsCallSignatureDeclaration(typeParameters,parameters,typeAnnotation){if(typeParameters===void 0){typeParameters=null;}if(typeAnnotation===void 0){typeAnnotation=null;}return validateNode({type:"TSCallSignatureDeclaration",typeParameters:typeParameters,parameters:parameters,typeAnnotation:typeAnnotation});}function tsConstructSignatureDeclaration(typeParameters,parameters,typeAnnotation){if(typeParameters===void 0){typeParameters=null;}if(typeAnnotation===void 0){typeAnnotation=null;}return validateNode({type:"TSConstructSignatureDeclaration",typeParameters:typeParameters,parameters:parameters,typeAnnotation:typeAnnotation});}function tsPropertySignature(key,typeAnnotation){if(typeAnnotation===void 0){typeAnnotation=null;}return validateNode({type:"TSPropertySignature",key:key,typeAnnotation:typeAnnotation,kind:null});}function tsMethodSignature(key,typeParameters,parameters,typeAnnotation){if(typeParameters===void 0){typeParameters=null;}if(typeAnnotation===void 0){typeAnnotation=null;}return validateNode({type:"TSMethodSignature",key:key,typeParameters:typeParameters,parameters:parameters,typeAnnotation:typeAnnotation,kind:null});}function tsIndexSignature(parameters,typeAnnotation){if(typeAnnotation===void 0){typeAnnotation=null;}return validateNode({type:"TSIndexSignature",parameters:parameters,typeAnnotation:typeAnnotation});}function tsAnyKeyword(){return{type:"TSAnyKeyword"};}function tsBooleanKeyword(){return{type:"TSBooleanKeyword"};}function tsBigIntKeyword(){return{type:"TSBigIntKeyword"};}function tsIntrinsicKeyword(){return{type:"TSIntrinsicKeyword"};}function tsNeverKeyword(){return{type:"TSNeverKeyword"};}function tsNullKeyword(){return{type:"TSNullKeyword"};}function tsNumberKeyword(){return{type:"TSNumberKeyword"};}function tsObjectKeyword(){return{type:"TSObjectKeyword"};}function tsStringKeyword(){return{type:"TSStringKeyword"};}function tsSymbolKeyword(){return{type:"TSSymbolKeyword"};}function tsUndefinedKeyword(){return{type:"TSUndefinedKeyword"};}function tsUnknownKeyword(){return{type:"TSUnknownKeyword"};}function tsVoidKeyword(){return{type:"TSVoidKeyword"};}function tsThisType(){return{type:"TSThisType"};}function tsFunctionType(typeParameters,parameters,typeAnnotation){if(typeParameters===void 0){typeParameters=null;}if(typeAnnotation===void 0){typeAnnotation=null;}return validateNode({type:"TSFunctionType",typeParameters:typeParameters,parameters:parameters,typeAnnotation:typeAnnotation});}function tsConstructorType(typeParameters,parameters,typeAnnotation){if(typeParameters===void 0){typeParameters=null;}if(typeAnnotation===void 0){typeAnnotation=null;}return validateNode({type:"TSConstructorType",typeParameters:typeParameters,parameters:parameters,typeAnnotation:typeAnnotation});}function tsTypeReference(typeName,typeParameters){if(typeParameters===void 0){typeParameters=null;}return validateNode({type:"TSTypeReference",typeName:typeName,typeParameters:typeParameters});}function tsTypePredicate(parameterName,typeAnnotation,asserts){if(typeAnnotation===void 0){typeAnnotation=null;}if(asserts===void 0){asserts=null;}return validateNode({type:"TSTypePredicate",parameterName:parameterName,typeAnnotation:typeAnnotation,asserts:asserts});}function tsTypeQuery(exprName,typeParameters){if(typeParameters===void 0){typeParameters=null;}return validateNode({type:"TSTypeQuery",exprName:exprName,typeParameters:typeParameters});}function tsTypeLiteral(members){return validateNode({type:"TSTypeLiteral",members:members});}function tsArrayType(elementType){return validateNode({type:"TSArrayType",elementType:elementType});}function tsTupleType(elementTypes){return validateNode({type:"TSTupleType",elementTypes:elementTypes});}function tsOptionalType(typeAnnotation){return validateNode({type:"TSOptionalType",typeAnnotation:typeAnnotation});}function tsRestType(typeAnnotation){return validateNode({type:"TSRestType",typeAnnotation:typeAnnotation});}function tsNamedTupleMember(label,elementType,optional){if(optional===void 0){optional=false;}return validateNode({type:"TSNamedTupleMember",label:label,elementType:elementType,optional:optional});}function tsUnionType(types){return validateNode({type:"TSUnionType",types:types});}function tsIntersectionType(types){return validateNode({type:"TSIntersectionType",types:types});}function tsConditionalType(checkType,extendsType,trueType,falseType){return validateNode({type:"TSConditionalType",checkType:checkType,extendsType:extendsType,trueType:trueType,falseType:falseType});}function tsInferType(typeParameter){return validateNode({type:"TSInferType",typeParameter:typeParameter});}function tsParenthesizedType(typeAnnotation){return validateNode({type:"TSParenthesizedType",typeAnnotation:typeAnnotation});}function tsTypeOperator(typeAnnotation){return validateNode({type:"TSTypeOperator",typeAnnotation:typeAnnotation,operator:null});}function tsIndexedAccessType(objectType,indexType){return validateNode({type:"TSIndexedAccessType",objectType:objectType,indexType:indexType});}function tsMappedType(typeParameter,typeAnnotation,nameType){if(typeAnnotation===void 0){typeAnnotation=null;}if(nameType===void 0){nameType=null;}return validateNode({type:"TSMappedType",typeParameter:typeParameter,typeAnnotation:typeAnnotation,nameType:nameType});}function tsLiteralType(literal){return validateNode({type:"TSLiteralType",literal:literal});}function tsExpressionWithTypeArguments(expression,typeParameters){if(typeParameters===void 0){typeParameters=null;}return validateNode({type:"TSExpressionWithTypeArguments",expression:expression,typeParameters:typeParameters});}function tsInterfaceDeclaration(id,typeParameters,_extends,body){if(typeParameters===void 0){typeParameters=null;}if(_extends===void 0){_extends=null;}return validateNode({type:"TSInterfaceDeclaration",id:id,typeParameters:typeParameters,"extends":_extends,body:body});}function tsInterfaceBody(body){return validateNode({type:"TSInterfaceBody",body:body});}function tsTypeAliasDeclaration(id,typeParameters,typeAnnotation){if(typeParameters===void 0){typeParameters=null;}return validateNode({type:"TSTypeAliasDeclaration",id:id,typeParameters:typeParameters,typeAnnotation:typeAnnotation});}function tsInstantiationExpression(expression,typeParameters){if(typeParameters===void 0){typeParameters=null;}return validateNode({type:"TSInstantiationExpression",expression:expression,typeParameters:typeParameters});}function tsAsExpression(expression,typeAnnotation){return validateNode({type:"TSAsExpression",expression:expression,typeAnnotation:typeAnnotation});}function tsSatisfiesExpression(expression,typeAnnotation){return validateNode({type:"TSSatisfiesExpression",expression:expression,typeAnnotation:typeAnnotation});}function tsTypeAssertion(typeAnnotation,expression){return validateNode({type:"TSTypeAssertion",typeAnnotation:typeAnnotation,expression:expression});}function tsEnumDeclaration(id,members){return validateNode({type:"TSEnumDeclaration",id:id,members:members});}function tsEnumMember(id,initializer){if(initializer===void 0){initializer=null;}return validateNode({type:"TSEnumMember",id:id,initializer:initializer});}function tsModuleDeclaration(id,body){return validateNode({type:"TSModuleDeclaration",id:id,body:body});}function tsModuleBlock(body){return validateNode({type:"TSModuleBlock",body:body});}function tsImportType(argument,qualifier,typeParameters){if(qualifier===void 0){qualifier=null;}if(typeParameters===void 0){typeParameters=null;}return validateNode({type:"TSImportType",argument:argument,qualifier:qualifier,typeParameters:typeParameters});}function tsImportEqualsDeclaration(id,moduleReference){return validateNode({type:"TSImportEqualsDeclaration",id:id,moduleReference:moduleReference,isExport:null});}function tsExternalModuleReference(expression){return validateNode({type:"TSExternalModuleReference",expression:expression});}function tsNonNullExpression(expression){return validateNode({type:"TSNonNullExpression",expression:expression});}function tsExportAssignment(expression){return validateNode({type:"TSExportAssignment",expression:expression});}function tsNamespaceExportDeclaration(id){return validateNode({type:"TSNamespaceExportDeclaration",id:id});}function tsTypeAnnotation(typeAnnotation){return validateNode({type:"TSTypeAnnotation",typeAnnotation:typeAnnotation});}function tsTypeParameterInstantiation(params){return validateNode({type:"TSTypeParameterInstantiation",params:params});}function tsTypeParameterDeclaration(params){return validateNode({type:"TSTypeParameterDeclaration",params:params});}function tsTypeParameter(constraint,_default,name){if(constraint===void 0){constraint=null;}if(_default===void 0){_default=null;}return validateNode({type:"TSTypeParameter",constraint:constraint,"default":_default,name:name});}function NumberLiteral(value){deprecationWarning$1("NumberLiteral","NumericLiteral","The node type ");return numericLiteral$8(value);}function RegexLiteral(pattern,flags){if(flags===void 0){flags="";}deprecationWarning$1("RegexLiteral","RegExpLiteral","The node type ");return regExpLiteral(pattern,flags);}function RestProperty(argument){deprecationWarning$1("RestProperty","RestElement","The node type ");return restElement$2(argument);}function SpreadProperty(argument){deprecationWarning$1("SpreadProperty","SpreadElement","The node type ");return spreadElement$2(argument);}function cleanJSXElementLiteralChild(child,args){var lines=child.value.split(/\r\n|\n|\r/);var lastNonEmptyLine=0;for(var i=0;i<lines.length;i++){if(lines[i].match(/[^ \t]/)){lastNonEmptyLine=i;}}var str="";for(var _i=0;_i<lines.length;_i++){var line=lines[_i];var isFirstLine=_i===0;var isLastLine=_i===lines.length-1;var isLastNonEmptyLine=_i===lastNonEmptyLine;var trimmedLine=line.replace(/\t/g," ");if(!isFirstLine){trimmedLine=trimmedLine.replace(/^[ ]+/,"");}if(!isLastLine){trimmedLine=trimmedLine.replace(/[ ]+$/,"");}if(trimmedLine){if(!isLastNonEmptyLine){trimmedLine+=" ";}str+=trimmedLine;}}if(str)args.push(inherits$3(stringLiteral$8(str),child));}function buildChildren(node){var elements=[];for(var i=0;i<node.children.length;i++){var child=node.children[i];if(isJSXText(child)){cleanJSXElementLiteralChild(child,elements);continue;}if(isJSXExpressionContainer$1(child))child=child.expression;if(isJSXEmptyExpression(child))continue;elements.push(child);}return elements;}function isNode(node){return!!(node&&VISITOR_KEYS$5[node.type]);}function assertNode(node){if(!isNode(node)){var _node$type;var type=(_node$type=node==null?void 0:node.type)!=null?_node$type:JSON.stringify(node);throw new TypeError("Not a valid node of type \""+type+"\"");}}function assert$2(type,node,opts){if(!is$1(type,node,opts)){throw new Error("Expected type \""+type+"\" with option "+JSON.stringify(opts)+", "+("but instead got \""+node.type+"\"."));}}function assertArrayExpression(node,opts){assert$2("ArrayExpression",node,opts);}function assertAssignmentExpression(node,opts){assert$2("AssignmentExpression",node,opts);}function assertBinaryExpression(node,opts){assert$2("BinaryExpression",node,opts);}function assertInterpreterDirective(node,opts){assert$2("InterpreterDirective",node,opts);}function assertDirective(node,opts){assert$2("Directive",node,opts);}function assertDirectiveLiteral(node,opts){assert$2("DirectiveLiteral",node,opts);}function assertBlockStatement(node,opts){assert$2("BlockStatement",node,opts);}function assertBreakStatement(node,opts){assert$2("BreakStatement",node,opts);}function assertCallExpression(node,opts){assert$2("CallExpression",node,opts);}function assertCatchClause(node,opts){assert$2("CatchClause",node,opts);}function assertConditionalExpression(node,opts){assert$2("ConditionalExpression",node,opts);}function assertContinueStatement(node,opts){assert$2("ContinueStatement",node,opts);}function assertDebuggerStatement(node,opts){assert$2("DebuggerStatement",node,opts);}function assertDoWhileStatement(node,opts){assert$2("DoWhileStatement",node,opts);}function assertEmptyStatement(node,opts){assert$2("EmptyStatement",node,opts);}function assertExpressionStatement$1(node,opts){assert$2("ExpressionStatement",node,opts);}function assertFile(node,opts){assert$2("File",node,opts);}function assertForInStatement(node,opts){assert$2("ForInStatement",node,opts);}function assertForStatement(node,opts){assert$2("ForStatement",node,opts);}function assertFunctionDeclaration(node,opts){assert$2("FunctionDeclaration",node,opts);}function assertFunctionExpression(node,opts){assert$2("FunctionExpression",node,opts);}function assertIdentifier(node,opts){assert$2("Identifier",node,opts);}function assertIfStatement(node,opts){assert$2("IfStatement",node,opts);}function assertLabeledStatement(node,opts){assert$2("LabeledStatement",node,opts);}function assertStringLiteral(node,opts){assert$2("StringLiteral",node,opts);}function assertNumericLiteral(node,opts){assert$2("NumericLiteral",node,opts);}function assertNullLiteral(node,opts){assert$2("NullLiteral",node,opts);}function assertBooleanLiteral(node,opts){assert$2("BooleanLiteral",node,opts);}function assertRegExpLiteral(node,opts){assert$2("RegExpLiteral",node,opts);}function assertLogicalExpression(node,opts){assert$2("LogicalExpression",node,opts);}function assertMemberExpression(node,opts){assert$2("MemberExpression",node,opts);}function assertNewExpression(node,opts){assert$2("NewExpression",node,opts);}function assertProgram(node,opts){assert$2("Program",node,opts);}function assertObjectExpression(node,opts){assert$2("ObjectExpression",node,opts);}function assertObjectMethod(node,opts){assert$2("ObjectMethod",node,opts);}function assertObjectProperty(node,opts){assert$2("ObjectProperty",node,opts);}function assertRestElement(node,opts){assert$2("RestElement",node,opts);}function assertReturnStatement(node,opts){assert$2("ReturnStatement",node,opts);}function assertSequenceExpression(node,opts){assert$2("SequenceExpression",node,opts);}function assertParenthesizedExpression(node,opts){assert$2("ParenthesizedExpression",node,opts);}function assertSwitchCase(node,opts){assert$2("SwitchCase",node,opts);}function assertSwitchStatement(node,opts){assert$2("SwitchStatement",node,opts);}function assertThisExpression(node,opts){assert$2("ThisExpression",node,opts);}function assertThrowStatement(node,opts){assert$2("ThrowStatement",node,opts);}function assertTryStatement(node,opts){assert$2("TryStatement",node,opts);}function assertUnaryExpression(node,opts){assert$2("UnaryExpression",node,opts);}function assertUpdateExpression(node,opts){assert$2("UpdateExpression",node,opts);}function assertVariableDeclaration(node,opts){assert$2("VariableDeclaration",node,opts);}function assertVariableDeclarator(node,opts){assert$2("VariableDeclarator",node,opts);}function assertWhileStatement(node,opts){assert$2("WhileStatement",node,opts);}function assertWithStatement(node,opts){assert$2("WithStatement",node,opts);}function assertAssignmentPattern(node,opts){assert$2("AssignmentPattern",node,opts);}function assertArrayPattern(node,opts){assert$2("ArrayPattern",node,opts);}function assertArrowFunctionExpression(node,opts){assert$2("ArrowFunctionExpression",node,opts);}function assertClassBody(node,opts){assert$2("ClassBody",node,opts);}function assertClassExpression(node,opts){assert$2("ClassExpression",node,opts);}function assertClassDeclaration(node,opts){assert$2("ClassDeclaration",node,opts);}function assertExportAllDeclaration(node,opts){assert$2("ExportAllDeclaration",node,opts);}function assertExportDefaultDeclaration(node,opts){assert$2("ExportDefaultDeclaration",node,opts);}function assertExportNamedDeclaration(node,opts){assert$2("ExportNamedDeclaration",node,opts);}function assertExportSpecifier$1(node,opts){assert$2("ExportSpecifier",node,opts);}function assertForOfStatement(node,opts){assert$2("ForOfStatement",node,opts);}function assertImportDeclaration(node,opts){assert$2("ImportDeclaration",node,opts);}function assertImportDefaultSpecifier(node,opts){assert$2("ImportDefaultSpecifier",node,opts);}function assertImportNamespaceSpecifier(node,opts){assert$2("ImportNamespaceSpecifier",node,opts);}function assertImportSpecifier(node,opts){assert$2("ImportSpecifier",node,opts);}function assertImportExpression(node,opts){assert$2("ImportExpression",node,opts);}function assertMetaProperty(node,opts){assert$2("MetaProperty",node,opts);}function assertClassMethod(node,opts){assert$2("ClassMethod",node,opts);}function assertObjectPattern(node,opts){assert$2("ObjectPattern",node,opts);}function assertSpreadElement(node,opts){assert$2("SpreadElement",node,opts);}function assertSuper(node,opts){assert$2("Super",node,opts);}function assertTaggedTemplateExpression(node,opts){assert$2("TaggedTemplateExpression",node,opts);}function assertTemplateElement(node,opts){assert$2("TemplateElement",node,opts);}function assertTemplateLiteral(node,opts){assert$2("TemplateLiteral",node,opts);}function assertYieldExpression(node,opts){assert$2("YieldExpression",node,opts);}function assertAwaitExpression(node,opts){assert$2("AwaitExpression",node,opts);}function assertImport(node,opts){assert$2("Import",node,opts);}function assertBigIntLiteral(node,opts){assert$2("BigIntLiteral",node,opts);}function assertExportNamespaceSpecifier(node,opts){assert$2("ExportNamespaceSpecifier",node,opts);}function assertOptionalMemberExpression(node,opts){assert$2("OptionalMemberExpression",node,opts);}function assertOptionalCallExpression(node,opts){assert$2("OptionalCallExpression",node,opts);}function assertClassProperty(node,opts){assert$2("ClassProperty",node,opts);}function assertClassAccessorProperty(node,opts){assert$2("ClassAccessorProperty",node,opts);}function assertClassPrivateProperty(node,opts){assert$2("ClassPrivateProperty",node,opts);}function assertClassPrivateMethod(node,opts){assert$2("ClassPrivateMethod",node,opts);}function assertPrivateName(node,opts){assert$2("PrivateName",node,opts);}function assertStaticBlock(node,opts){assert$2("StaticBlock",node,opts);}function assertAnyTypeAnnotation(node,opts){assert$2("AnyTypeAnnotation",node,opts);}function assertArrayTypeAnnotation(node,opts){assert$2("ArrayTypeAnnotation",node,opts);}function assertBooleanTypeAnnotation(node,opts){assert$2("BooleanTypeAnnotation",node,opts);}function assertBooleanLiteralTypeAnnotation(node,opts){assert$2("BooleanLiteralTypeAnnotation",node,opts);}function assertNullLiteralTypeAnnotation(node,opts){assert$2("NullLiteralTypeAnnotation",node,opts);}function assertClassImplements(node,opts){assert$2("ClassImplements",node,opts);}function assertDeclareClass(node,opts){assert$2("DeclareClass",node,opts);}function assertDeclareFunction(node,opts){assert$2("DeclareFunction",node,opts);}function assertDeclareInterface(node,opts){assert$2("DeclareInterface",node,opts);}function assertDeclareModule(node,opts){assert$2("DeclareModule",node,opts);}function assertDeclareModuleExports(node,opts){assert$2("DeclareModuleExports",node,opts);}function assertDeclareTypeAlias(node,opts){assert$2("DeclareTypeAlias",node,opts);}function assertDeclareOpaqueType(node,opts){assert$2("DeclareOpaqueType",node,opts);}function assertDeclareVariable(node,opts){assert$2("DeclareVariable",node,opts);}function assertDeclareExportDeclaration(node,opts){assert$2("DeclareExportDeclaration",node,opts);}function assertDeclareExportAllDeclaration(node,opts){assert$2("DeclareExportAllDeclaration",node,opts);}function assertDeclaredPredicate(node,opts){assert$2("DeclaredPredicate",node,opts);}function assertExistsTypeAnnotation(node,opts){assert$2("ExistsTypeAnnotation",node,opts);}function assertFunctionTypeAnnotation(node,opts){assert$2("FunctionTypeAnnotation",node,opts);}function assertFunctionTypeParam(node,opts){assert$2("FunctionTypeParam",node,opts);}function assertGenericTypeAnnotation(node,opts){assert$2("GenericTypeAnnotation",node,opts);}function assertInferredPredicate(node,opts){assert$2("InferredPredicate",node,opts);}function assertInterfaceExtends(node,opts){assert$2("InterfaceExtends",node,opts);}function assertInterfaceDeclaration(node,opts){assert$2("InterfaceDeclaration",node,opts);}function assertInterfaceTypeAnnotation(node,opts){assert$2("InterfaceTypeAnnotation",node,opts);}function assertIntersectionTypeAnnotation(node,opts){assert$2("IntersectionTypeAnnotation",node,opts);}function assertMixedTypeAnnotation(node,opts){assert$2("MixedTypeAnnotation",node,opts);}function assertEmptyTypeAnnotation(node,opts){assert$2("EmptyTypeAnnotation",node,opts);}function assertNullableTypeAnnotation(node,opts){assert$2("NullableTypeAnnotation",node,opts);}function assertNumberLiteralTypeAnnotation(node,opts){assert$2("NumberLiteralTypeAnnotation",node,opts);}function assertNumberTypeAnnotation(node,opts){assert$2("NumberTypeAnnotation",node,opts);}function assertObjectTypeAnnotation(node,opts){assert$2("ObjectTypeAnnotation",node,opts);}function assertObjectTypeInternalSlot(node,opts){assert$2("ObjectTypeInternalSlot",node,opts);}function assertObjectTypeCallProperty(node,opts){assert$2("ObjectTypeCallProperty",node,opts);}function assertObjectTypeIndexer(node,opts){assert$2("ObjectTypeIndexer",node,opts);}function assertObjectTypeProperty(node,opts){assert$2("ObjectTypeProperty",node,opts);}function assertObjectTypeSpreadProperty(node,opts){assert$2("ObjectTypeSpreadProperty",node,opts);}function assertOpaqueType(node,opts){assert$2("OpaqueType",node,opts);}function assertQualifiedTypeIdentifier(node,opts){assert$2("QualifiedTypeIdentifier",node,opts);}function assertStringLiteralTypeAnnotation(node,opts){assert$2("StringLiteralTypeAnnotation",node,opts);}function assertStringTypeAnnotation(node,opts){assert$2("StringTypeAnnotation",node,opts);}function assertSymbolTypeAnnotation(node,opts){assert$2("SymbolTypeAnnotation",node,opts);}function assertThisTypeAnnotation(node,opts){assert$2("ThisTypeAnnotation",node,opts);}function assertTupleTypeAnnotation(node,opts){assert$2("TupleTypeAnnotation",node,opts);}function assertTypeofTypeAnnotation(node,opts){assert$2("TypeofTypeAnnotation",node,opts);}function assertTypeAlias(node,opts){assert$2("TypeAlias",node,opts);}function assertTypeAnnotation(node,opts){assert$2("TypeAnnotation",node,opts);}function assertTypeCastExpression(node,opts){assert$2("TypeCastExpression",node,opts);}function assertTypeParameter(node,opts){assert$2("TypeParameter",node,opts);}function assertTypeParameterDeclaration(node,opts){assert$2("TypeParameterDeclaration",node,opts);}function assertTypeParameterInstantiation(node,opts){assert$2("TypeParameterInstantiation",node,opts);}function assertUnionTypeAnnotation(node,opts){assert$2("UnionTypeAnnotation",node,opts);}function assertVariance(node,opts){assert$2("Variance",node,opts);}function assertVoidTypeAnnotation(node,opts){assert$2("VoidTypeAnnotation",node,opts);}function assertEnumDeclaration(node,opts){assert$2("EnumDeclaration",node,opts);}function assertEnumBooleanBody(node,opts){assert$2("EnumBooleanBody",node,opts);}function assertEnumNumberBody(node,opts){assert$2("EnumNumberBody",node,opts);}function assertEnumStringBody(node,opts){assert$2("EnumStringBody",node,opts);}function assertEnumSymbolBody(node,opts){assert$2("EnumSymbolBody",node,opts);}function assertEnumBooleanMember(node,opts){assert$2("EnumBooleanMember",node,opts);}function assertEnumNumberMember(node,opts){assert$2("EnumNumberMember",node,opts);}function assertEnumStringMember(node,opts){assert$2("EnumStringMember",node,opts);}function assertEnumDefaultedMember(node,opts){assert$2("EnumDefaultedMember",node,opts);}function assertIndexedAccessType(node,opts){assert$2("IndexedAccessType",node,opts);}function assertOptionalIndexedAccessType(node,opts){assert$2("OptionalIndexedAccessType",node,opts);}function assertJSXAttribute(node,opts){assert$2("JSXAttribute",node,opts);}function assertJSXClosingElement(node,opts){assert$2("JSXClosingElement",node,opts);}function assertJSXElement(node,opts){assert$2("JSXElement",node,opts);}function assertJSXEmptyExpression(node,opts){assert$2("JSXEmptyExpression",node,opts);}function assertJSXExpressionContainer(node,opts){assert$2("JSXExpressionContainer",node,opts);}function assertJSXSpreadChild(node,opts){assert$2("JSXSpreadChild",node,opts);}function assertJSXIdentifier(node,opts){assert$2("JSXIdentifier",node,opts);}function assertJSXMemberExpression(node,opts){assert$2("JSXMemberExpression",node,opts);}function assertJSXNamespacedName(node,opts){assert$2("JSXNamespacedName",node,opts);}function assertJSXOpeningElement(node,opts){assert$2("JSXOpeningElement",node,opts);}function assertJSXSpreadAttribute(node,opts){assert$2("JSXSpreadAttribute",node,opts);}function assertJSXText(node,opts){assert$2("JSXText",node,opts);}function assertJSXFragment(node,opts){assert$2("JSXFragment",node,opts);}function assertJSXOpeningFragment(node,opts){assert$2("JSXOpeningFragment",node,opts);}function assertJSXClosingFragment(node,opts){assert$2("JSXClosingFragment",node,opts);}function assertNoop(node,opts){assert$2("Noop",node,opts);}function assertPlaceholder(node,opts){assert$2("Placeholder",node,opts);}function assertV8IntrinsicIdentifier(node,opts){assert$2("V8IntrinsicIdentifier",node,opts);}function assertArgumentPlaceholder(node,opts){assert$2("ArgumentPlaceholder",node,opts);}function assertBindExpression(node,opts){assert$2("BindExpression",node,opts);}function assertImportAttribute(node,opts){assert$2("ImportAttribute",node,opts);}function assertDecorator(node,opts){assert$2("Decorator",node,opts);}function assertDoExpression(node,opts){assert$2("DoExpression",node,opts);}function assertExportDefaultSpecifier(node,opts){assert$2("ExportDefaultSpecifier",node,opts);}function assertRecordExpression(node,opts){assert$2("RecordExpression",node,opts);}function assertTupleExpression(node,opts){assert$2("TupleExpression",node,opts);}function assertDecimalLiteral(node,opts){assert$2("DecimalLiteral",node,opts);}function assertModuleExpression(node,opts){assert$2("ModuleExpression",node,opts);}function assertTopicReference(node,opts){assert$2("TopicReference",node,opts);}function assertPipelineTopicExpression(node,opts){assert$2("PipelineTopicExpression",node,opts);}function assertPipelineBareFunction(node,opts){assert$2("PipelineBareFunction",node,opts);}function assertPipelinePrimaryTopicReference(node,opts){assert$2("PipelinePrimaryTopicReference",node,opts);}function assertTSParameterProperty(node,opts){assert$2("TSParameterProperty",node,opts);}function assertTSDeclareFunction(node,opts){assert$2("TSDeclareFunction",node,opts);}function assertTSDeclareMethod(node,opts){assert$2("TSDeclareMethod",node,opts);}function assertTSQualifiedName(node,opts){assert$2("TSQualifiedName",node,opts);}function assertTSCallSignatureDeclaration(node,opts){assert$2("TSCallSignatureDeclaration",node,opts);}function assertTSConstructSignatureDeclaration(node,opts){assert$2("TSConstructSignatureDeclaration",node,opts);}function assertTSPropertySignature(node,opts){assert$2("TSPropertySignature",node,opts);}function assertTSMethodSignature(node,opts){assert$2("TSMethodSignature",node,opts);}function assertTSIndexSignature(node,opts){assert$2("TSIndexSignature",node,opts);}function assertTSAnyKeyword(node,opts){assert$2("TSAnyKeyword",node,opts);}function assertTSBooleanKeyword(node,opts){assert$2("TSBooleanKeyword",node,opts);}function assertTSBigIntKeyword(node,opts){assert$2("TSBigIntKeyword",node,opts);}function assertTSIntrinsicKeyword(node,opts){assert$2("TSIntrinsicKeyword",node,opts);}function assertTSNeverKeyword(node,opts){assert$2("TSNeverKeyword",node,opts);}function assertTSNullKeyword(node,opts){assert$2("TSNullKeyword",node,opts);}function assertTSNumberKeyword(node,opts){assert$2("TSNumberKeyword",node,opts);}function assertTSObjectKeyword(node,opts){assert$2("TSObjectKeyword",node,opts);}function assertTSStringKeyword(node,opts){assert$2("TSStringKeyword",node,opts);}function assertTSSymbolKeyword(node,opts){assert$2("TSSymbolKeyword",node,opts);}function assertTSUndefinedKeyword(node,opts){assert$2("TSUndefinedKeyword",node,opts);}function assertTSUnknownKeyword(node,opts){assert$2("TSUnknownKeyword",node,opts);}function assertTSVoidKeyword(node,opts){assert$2("TSVoidKeyword",node,opts);}function assertTSThisType(node,opts){assert$2("TSThisType",node,opts);}function assertTSFunctionType(node,opts){assert$2("TSFunctionType",node,opts);}function assertTSConstructorType(node,opts){assert$2("TSConstructorType",node,opts);}function assertTSTypeReference(node,opts){assert$2("TSTypeReference",node,opts);}function assertTSTypePredicate(node,opts){assert$2("TSTypePredicate",node,opts);}function assertTSTypeQuery(node,opts){assert$2("TSTypeQuery",node,opts);}function assertTSTypeLiteral(node,opts){assert$2("TSTypeLiteral",node,opts);}function assertTSArrayType(node,opts){assert$2("TSArrayType",node,opts);}function assertTSTupleType(node,opts){assert$2("TSTupleType",node,opts);}function assertTSOptionalType(node,opts){assert$2("TSOptionalType",node,opts);}function assertTSRestType(node,opts){assert$2("TSRestType",node,opts);}function assertTSNamedTupleMember(node,opts){assert$2("TSNamedTupleMember",node,opts);}function assertTSUnionType(node,opts){assert$2("TSUnionType",node,opts);}function assertTSIntersectionType(node,opts){assert$2("TSIntersectionType",node,opts);}function assertTSConditionalType(node,opts){assert$2("TSConditionalType",node,opts);}function assertTSInferType(node,opts){assert$2("TSInferType",node,opts);}function assertTSParenthesizedType(node,opts){assert$2("TSParenthesizedType",node,opts);}function assertTSTypeOperator(node,opts){assert$2("TSTypeOperator",node,opts);}function assertTSIndexedAccessType(node,opts){assert$2("TSIndexedAccessType",node,opts);}function assertTSMappedType(node,opts){assert$2("TSMappedType",node,opts);}function assertTSLiteralType(node,opts){assert$2("TSLiteralType",node,opts);}function assertTSExpressionWithTypeArguments(node,opts){assert$2("TSExpressionWithTypeArguments",node,opts);}function assertTSInterfaceDeclaration(node,opts){assert$2("TSInterfaceDeclaration",node,opts);}function assertTSInterfaceBody(node,opts){assert$2("TSInterfaceBody",node,opts);}function assertTSTypeAliasDeclaration(node,opts){assert$2("TSTypeAliasDeclaration",node,opts);}function assertTSInstantiationExpression(node,opts){assert$2("TSInstantiationExpression",node,opts);}function assertTSAsExpression(node,opts){assert$2("TSAsExpression",node,opts);}function assertTSSatisfiesExpression(node,opts){assert$2("TSSatisfiesExpression",node,opts);}function assertTSTypeAssertion(node,opts){assert$2("TSTypeAssertion",node,opts);}function assertTSEnumDeclaration(node,opts){assert$2("TSEnumDeclaration",node,opts);}function assertTSEnumMember(node,opts){assert$2("TSEnumMember",node,opts);}function assertTSModuleDeclaration(node,opts){assert$2("TSModuleDeclaration",node,opts);}function assertTSModuleBlock(node,opts){assert$2("TSModuleBlock",node,opts);}function assertTSImportType(node,opts){assert$2("TSImportType",node,opts);}function assertTSImportEqualsDeclaration(node,opts){assert$2("TSImportEqualsDeclaration",node,opts);}function assertTSExternalModuleReference(node,opts){assert$2("TSExternalModuleReference",node,opts);}function assertTSNonNullExpression(node,opts){assert$2("TSNonNullExpression",node,opts);}function assertTSExportAssignment(node,opts){assert$2("TSExportAssignment",node,opts);}function assertTSNamespaceExportDeclaration(node,opts){assert$2("TSNamespaceExportDeclaration",node,opts);}function assertTSTypeAnnotation(node,opts){assert$2("TSTypeAnnotation",node,opts);}function assertTSTypeParameterInstantiation(node,opts){assert$2("TSTypeParameterInstantiation",node,opts);}function assertTSTypeParameterDeclaration(node,opts){assert$2("TSTypeParameterDeclaration",node,opts);}function assertTSTypeParameter(node,opts){assert$2("TSTypeParameter",node,opts);}function assertStandardized(node,opts){assert$2("Standardized",node,opts);}function assertExpression$1(node,opts){assert$2("Expression",node,opts);}function assertBinary(node,opts){assert$2("Binary",node,opts);}function assertScopable(node,opts){assert$2("Scopable",node,opts);}function assertBlockParent(node,opts){assert$2("BlockParent",node,opts);}function assertBlock(node,opts){assert$2("Block",node,opts);}function assertStatement(node,opts){assert$2("Statement",node,opts);}function assertTerminatorless(node,opts){assert$2("Terminatorless",node,opts);}function assertCompletionStatement(node,opts){assert$2("CompletionStatement",node,opts);}function assertConditional(node,opts){assert$2("Conditional",node,opts);}function assertLoop(node,opts){assert$2("Loop",node,opts);}function assertWhile(node,opts){assert$2("While",node,opts);}function assertExpressionWrapper(node,opts){assert$2("ExpressionWrapper",node,opts);}function assertFor(node,opts){assert$2("For",node,opts);}function assertForXStatement(node,opts){assert$2("ForXStatement",node,opts);}function assertFunction$1(node,opts){assert$2("Function",node,opts);}function assertFunctionParent(node,opts){assert$2("FunctionParent",node,opts);}function assertPureish(node,opts){assert$2("Pureish",node,opts);}function assertDeclaration(node,opts){assert$2("Declaration",node,opts);}function assertPatternLike(node,opts){assert$2("PatternLike",node,opts);}function assertLVal(node,opts){assert$2("LVal",node,opts);}function assertTSEntityName(node,opts){assert$2("TSEntityName",node,opts);}function assertLiteral(node,opts){assert$2("Literal",node,opts);}function assertImmutable(node,opts){assert$2("Immutable",node,opts);}function assertUserWhitespacable(node,opts){assert$2("UserWhitespacable",node,opts);}function assertMethod(node,opts){assert$2("Method",node,opts);}function assertObjectMember(node,opts){assert$2("ObjectMember",node,opts);}function assertProperty(node,opts){assert$2("Property",node,opts);}function assertUnaryLike(node,opts){assert$2("UnaryLike",node,opts);}function assertPattern(node,opts){assert$2("Pattern",node,opts);}function assertClass(node,opts){assert$2("Class",node,opts);}function assertImportOrExportDeclaration(node,opts){assert$2("ImportOrExportDeclaration",node,opts);}function assertExportDeclaration(node,opts){assert$2("ExportDeclaration",node,opts);}function assertModuleSpecifier(node,opts){assert$2("ModuleSpecifier",node,opts);}function assertAccessor(node,opts){assert$2("Accessor",node,opts);}function assertPrivate(node,opts){assert$2("Private",node,opts);}function assertFlow(node,opts){assert$2("Flow",node,opts);}function assertFlowType(node,opts){assert$2("FlowType",node,opts);}function assertFlowBaseAnnotation(node,opts){assert$2("FlowBaseAnnotation",node,opts);}function assertFlowDeclaration(node,opts){assert$2("FlowDeclaration",node,opts);}function assertFlowPredicate(node,opts){assert$2("FlowPredicate",node,opts);}function assertEnumBody(node,opts){assert$2("EnumBody",node,opts);}function assertEnumMember(node,opts){assert$2("EnumMember",node,opts);}function assertJSX(node,opts){assert$2("JSX",node,opts);}function assertMiscellaneous(node,opts){assert$2("Miscellaneous",node,opts);}function assertTypeScript(node,opts){assert$2("TypeScript",node,opts);}function assertTSTypeElement(node,opts){assert$2("TSTypeElement",node,opts);}function assertTSType(node,opts){assert$2("TSType",node,opts);}function assertTSBaseType(node,opts){assert$2("TSBaseType",node,opts);}function assertNumberLiteral(node,opts){deprecationWarning$1("assertNumberLiteral","assertNumericLiteral");assert$2("NumberLiteral",node,opts);}function assertRegexLiteral(node,opts){deprecationWarning$1("assertRegexLiteral","assertRegExpLiteral");assert$2("RegexLiteral",node,opts);}function assertRestProperty(node,opts){deprecationWarning$1("assertRestProperty","assertRestElement");assert$2("RestProperty",node,opts);}function assertSpreadProperty(node,opts){deprecationWarning$1("assertSpreadProperty","assertSpreadElement");assert$2("SpreadProperty",node,opts);}function assertModuleDeclaration(node,opts){deprecationWarning$1("assertModuleDeclaration","assertImportOrExportDeclaration");assert$2("ModuleDeclaration",node,opts);}function createTypeAnnotationBasedOnTypeof$1(type){switch(type){case"string":return stringTypeAnnotation$2();case"number":return numberTypeAnnotation$2();case"undefined":return voidTypeAnnotation$3();case"boolean":return booleanTypeAnnotation$1();case"function":return genericTypeAnnotation$1(identifier$j("Function"));case"object":return genericTypeAnnotation$1(identifier$j("Object"));case"symbol":return genericTypeAnnotation$1(identifier$j("Symbol"));case"bigint":return anyTypeAnnotation$2();}throw new Error("Invalid typeof value: "+type);}function getQualifiedName$1(node){return isIdentifier$j(node)?node.name:node.id.name+"."+getQualifiedName$1(node.qualification);}function removeTypeDuplicates$1(nodesIn){var nodes=Array.from(nodesIn);var generics=new Map();var bases=new Map();var typeGroups=new Set();var types=[];for(var i=0;i<nodes.length;i++){var node=nodes[i];if(!node)continue;if(types.indexOf(node)>=0){continue;}if(isAnyTypeAnnotation$1(node)){return[node];}if(isFlowBaseAnnotation$1(node)){bases.set(node.type,node);continue;}if(isUnionTypeAnnotation$1(node)){if(!typeGroups.has(node.types)){nodes.push.apply(nodes,_toConsumableArray(node.types));typeGroups.add(node.types);}continue;}if(isGenericTypeAnnotation$1(node)){var name=getQualifiedName$1(node.id);if(generics.has(name)){var existing=generics.get(name);if(existing.typeParameters){if(node.typeParameters){var _existing$typeParamet;(_existing$typeParamet=existing.typeParameters.params).push.apply(_existing$typeParamet,_toConsumableArray(node.typeParameters.params));existing.typeParameters.params=removeTypeDuplicates$1(existing.typeParameters.params);}}else{existing=node.typeParameters;}}else{generics.set(name,node);}continue;}types.push(node);}for(var _iterator=_createForOfIteratorHelperLoose(bases),_step;!(_step=_iterator()).done;){var _step$value=_slicedToArray(_step.value,2),baseType=_step$value[1];types.push(baseType);}for(var _iterator2=_createForOfIteratorHelperLoose(generics),_step2;!(_step2=_iterator2()).done;){var _step2$value=_slicedToArray(_step2.value,2),genericName=_step2$value[1];types.push(genericName);}return types;}function createFlowUnionType$1(types){var flattened=removeTypeDuplicates$1(types);if(flattened.length===1){return flattened[0];}else{return unionTypeAnnotation$1(flattened);}}function getQualifiedName(node){return isIdentifier$j(node)?node.name:node.right.name+"."+getQualifiedName(node.left);}function removeTypeDuplicates(nodesIn){var nodes=Array.from(nodesIn);var generics=new Map();var bases=new Map();var typeGroups=new Set();var types=[];for(var i=0;i<nodes.length;i++){var node=nodes[i];if(!node)continue;if(types.indexOf(node)>=0){continue;}if(isTSAnyKeyword(node)){return[node];}if(isTSBaseType(node)){bases.set(node.type,node);continue;}if(isTSUnionType(node)){if(!typeGroups.has(node.types)){nodes.push.apply(nodes,_toConsumableArray(node.types));typeGroups.add(node.types);}continue;}if(isTSTypeReference$1(node)&&node.typeParameters){var name=getQualifiedName(node.typeName);if(generics.has(name)){var existing=generics.get(name);if(existing.typeParameters){if(node.typeParameters){var _existing$typeParamet;(_existing$typeParamet=existing.typeParameters.params).push.apply(_existing$typeParamet,_toConsumableArray(node.typeParameters.params));existing.typeParameters.params=removeTypeDuplicates(existing.typeParameters.params);}}else{existing=node.typeParameters;}}else{generics.set(name,node);}continue;}types.push(node);}for(var _iterator=_createForOfIteratorHelperLoose(bases),_step;!(_step=_iterator()).done;){var _step$value=_slicedToArray(_step.value,2),baseType=_step$value[1];types.push(baseType);}for(var _iterator2=_createForOfIteratorHelperLoose(generics),_step2;!(_step2=_iterator2()).done;){var _step2$value=_slicedToArray(_step2.value,2),genericName=_step2$value[1];types.push(genericName);}return types;}function createTSUnionType$1(typeAnnotations){var types=typeAnnotations.map(function(type){return isTSTypeAnnotation$1(type)?type.typeAnnotation:type;});var flattened=removeTypeDuplicates(types);if(flattened.length===1){return flattened[0];}else{return tsUnionType(flattened);}}function buildUndefinedNode$2(){return unaryExpression$6("void",numericLiteral$8(0),true);}var _ref$1={hasOwn:Function.call.bind(Object.prototype.hasOwnProperty)},hasOwn$1=_ref$1.hasOwn;function cloneIfNode(obj,deep,withoutLoc,commentsCache){if(obj&&typeof obj.type==="string"){return cloneNodeInternal(obj,deep,withoutLoc,commentsCache);}return obj;}function cloneIfNodeOrArray(obj,deep,withoutLoc,commentsCache){if(Array.isArray(obj)){return obj.map(function(node){return cloneIfNode(node,deep,withoutLoc,commentsCache);});}return cloneIfNode(obj,deep,withoutLoc,commentsCache);}function cloneNode$j(node,deep,withoutLoc){if(deep===void 0){deep=true;}if(withoutLoc===void 0){withoutLoc=false;}return cloneNodeInternal(node,deep,withoutLoc,new Map());}function cloneNodeInternal(node,deep,withoutLoc,commentsCache){if(deep===void 0){deep=true;}if(withoutLoc===void 0){withoutLoc=false;}if(!node)return node;var type=node.type;var newNode={type:node.type};if(isIdentifier$j(node)){newNode.name=node.name;if(hasOwn$1(node,"optional")&&typeof node.optional==="boolean"){newNode.optional=node.optional;}if(hasOwn$1(node,"typeAnnotation")){newNode.typeAnnotation=deep?cloneIfNodeOrArray(node.typeAnnotation,true,withoutLoc,commentsCache):node.typeAnnotation;}}else if(!hasOwn$1(NODE_FIELDS,type)){throw new Error("Unknown node type: \""+type+"\"");}else{for(var _i=0,_Object$keys=Object.keys(NODE_FIELDS[type]);_i<_Object$keys.length;_i++){var field=_Object$keys[_i];if(hasOwn$1(node,field)){if(deep){newNode[field]=isFile(node)&&field==="comments"?maybeCloneComments(node.comments,deep,withoutLoc,commentsCache):cloneIfNodeOrArray(node[field],true,withoutLoc,commentsCache);}else{newNode[field]=node[field];}}}}if(hasOwn$1(node,"loc")){if(withoutLoc){newNode.loc=null;}else{newNode.loc=node.loc;}}if(hasOwn$1(node,"leadingComments")){newNode.leadingComments=maybeCloneComments(node.leadingComments,deep,withoutLoc,commentsCache);}if(hasOwn$1(node,"innerComments")){newNode.innerComments=maybeCloneComments(node.innerComments,deep,withoutLoc,commentsCache);}if(hasOwn$1(node,"trailingComments")){newNode.trailingComments=maybeCloneComments(node.trailingComments,deep,withoutLoc,commentsCache);}if(hasOwn$1(node,"extra")){newNode.extra=Object.assign({},node.extra);}return newNode;}function maybeCloneComments(comments,deep,withoutLoc,commentsCache){if(!comments||!deep){return comments;}return comments.map(function(comment){var cache=commentsCache.get(comment);if(cache)return cache;var type=comment.type,value=comment.value,loc=comment.loc;var ret={type:type,value:value,loc:loc};if(withoutLoc){ret.loc=null;}commentsCache.set(comment,ret);return ret;});}function clone(node){return cloneNode$j(node,false);}function cloneDeep$1(node){return cloneNode$j(node);}function cloneDeepWithoutLoc(node){return cloneNode$j(node,true,true);}function cloneWithoutLoc(node){return cloneNode$j(node,false,true);}function addComments$1(node,type,comments){if(!comments||!node)return node;var key=type+"Comments";if(node[key]){if(type==="leading"){node[key]=comments.concat(node[key]);}else{var _node$key;(_node$key=node[key]).push.apply(_node$key,_toConsumableArray(comments));}}else{node[key]=comments;}return node;}function addComment$2(node,type,content,line){return addComments$1(node,type,[{type:line?"CommentLine":"CommentBlock",value:content}]);}function inherit(key,child,parent){if(child&&parent){child[key]=Array.from(new Set([].concat(child[key],parent[key]).filter(Boolean)));}}function inheritInnerComments(child,parent){inherit("innerComments",child,parent);}function inheritLeadingComments$1(child,parent){inherit("leadingComments",child,parent);}function inheritTrailingComments$1(child,parent){inherit("trailingComments",child,parent);}function inheritsComments$1(child,parent){inheritTrailingComments$1(child,parent);inheritLeadingComments$1(child,parent);inheritInnerComments(child,parent);return child;}function removeComments$1(node){COMMENT_KEYS.forEach(function(key){node[key]=null;});return node;}var STANDARDIZED_TYPES=FLIPPED_ALIAS_KEYS$3["Standardized"];var EXPRESSION_TYPES=FLIPPED_ALIAS_KEYS$3["Expression"];var BINARY_TYPES=FLIPPED_ALIAS_KEYS$3["Binary"];var SCOPABLE_TYPES=FLIPPED_ALIAS_KEYS$3["Scopable"];var BLOCKPARENT_TYPES=FLIPPED_ALIAS_KEYS$3["BlockParent"];var BLOCK_TYPES=FLIPPED_ALIAS_KEYS$3["Block"];var STATEMENT_TYPES=FLIPPED_ALIAS_KEYS$3["Statement"];var TERMINATORLESS_TYPES=FLIPPED_ALIAS_KEYS$3["Terminatorless"];var COMPLETIONSTATEMENT_TYPES=FLIPPED_ALIAS_KEYS$3["CompletionStatement"];var CONDITIONAL_TYPES=FLIPPED_ALIAS_KEYS$3["Conditional"];var LOOP_TYPES=FLIPPED_ALIAS_KEYS$3["Loop"];var WHILE_TYPES=FLIPPED_ALIAS_KEYS$3["While"];var EXPRESSIONWRAPPER_TYPES=FLIPPED_ALIAS_KEYS$3["ExpressionWrapper"];var FOR_TYPES=FLIPPED_ALIAS_KEYS$3["For"];var FORXSTATEMENT_TYPES=FLIPPED_ALIAS_KEYS$3["ForXStatement"];var FUNCTION_TYPES$1=FLIPPED_ALIAS_KEYS$3["Function"];var FUNCTIONPARENT_TYPES=FLIPPED_ALIAS_KEYS$3["FunctionParent"];var PUREISH_TYPES=FLIPPED_ALIAS_KEYS$3["Pureish"];var DECLARATION_TYPES=FLIPPED_ALIAS_KEYS$3["Declaration"];var PATTERNLIKE_TYPES=FLIPPED_ALIAS_KEYS$3["PatternLike"];var LVAL_TYPES=FLIPPED_ALIAS_KEYS$3["LVal"];var TSENTITYNAME_TYPES=FLIPPED_ALIAS_KEYS$3["TSEntityName"];var LITERAL_TYPES=FLIPPED_ALIAS_KEYS$3["Literal"];var IMMUTABLE_TYPES=FLIPPED_ALIAS_KEYS$3["Immutable"];var USERWHITESPACABLE_TYPES=FLIPPED_ALIAS_KEYS$3["UserWhitespacable"];var METHOD_TYPES=FLIPPED_ALIAS_KEYS$3["Method"];var OBJECTMEMBER_TYPES=FLIPPED_ALIAS_KEYS$3["ObjectMember"];var PROPERTY_TYPES=FLIPPED_ALIAS_KEYS$3["Property"];var UNARYLIKE_TYPES=FLIPPED_ALIAS_KEYS$3["UnaryLike"];var PATTERN_TYPES=FLIPPED_ALIAS_KEYS$3["Pattern"];var CLASS_TYPES=FLIPPED_ALIAS_KEYS$3["Class"];var IMPORTOREXPORTDECLARATION_TYPES=FLIPPED_ALIAS_KEYS$3["ImportOrExportDeclaration"];var EXPORTDECLARATION_TYPES=FLIPPED_ALIAS_KEYS$3["ExportDeclaration"];var MODULESPECIFIER_TYPES=FLIPPED_ALIAS_KEYS$3["ModuleSpecifier"];var ACCESSOR_TYPES=FLIPPED_ALIAS_KEYS$3["Accessor"];var PRIVATE_TYPES=FLIPPED_ALIAS_KEYS$3["Private"];var FLOW_TYPES=FLIPPED_ALIAS_KEYS$3["Flow"];var FLOWTYPE_TYPES=FLIPPED_ALIAS_KEYS$3["FlowType"];var FLOWBASEANNOTATION_TYPES=FLIPPED_ALIAS_KEYS$3["FlowBaseAnnotation"];var FLOWDECLARATION_TYPES=FLIPPED_ALIAS_KEYS$3["FlowDeclaration"];var FLOWPREDICATE_TYPES=FLIPPED_ALIAS_KEYS$3["FlowPredicate"];var ENUMBODY_TYPES=FLIPPED_ALIAS_KEYS$3["EnumBody"];var ENUMMEMBER_TYPES=FLIPPED_ALIAS_KEYS$3["EnumMember"];var JSX_TYPES=FLIPPED_ALIAS_KEYS$3["JSX"];var MISCELLANEOUS_TYPES=FLIPPED_ALIAS_KEYS$3["Miscellaneous"];var TYPESCRIPT_TYPES=FLIPPED_ALIAS_KEYS$3["TypeScript"];var TSTYPEELEMENT_TYPES=FLIPPED_ALIAS_KEYS$3["TSTypeElement"];var TSTYPE_TYPES=FLIPPED_ALIAS_KEYS$3["TSType"];var TSBASETYPE_TYPES=FLIPPED_ALIAS_KEYS$3["TSBaseType"];var MODULEDECLARATION_TYPES=IMPORTOREXPORTDECLARATION_TYPES;function toBlock(node,parent){if(isBlockStatement$3(node)){return node;}var blockNodes=[];if(isEmptyStatement$1(node)){blockNodes=[];}else{if(!isStatement$8(node)){if(isFunction$5(parent)){node=returnStatement$3(node);}else{node=expressionStatement$a(node);}}blockNodes=[node];}return blockStatement$6(blockNodes);}function ensureBlock$1(node,key){if(key===void 0){key="body";}var result=toBlock(node[key],node);node[key]=result;return result;}function toIdentifier$1(input){input=input+"";var name="";for(var _iterator=_createForOfIteratorHelperLoose(input),_step;!(_step=_iterator()).done;){var c=_step.value;name+=isIdentifierChar(c.codePointAt(0))?c:"-";}name=name.replace(/^[-0-9]+/,"");name=name.replace(/[-\s]+(.)?/g,function(match,c){return c?c.toUpperCase():"";});if(!isValidIdentifier$1(name)){name="_"+name;}return name||"_";}function toBindingIdentifierName$1(name){name=toIdentifier$1(name);if(name==="eval"||name==="arguments")name="_"+name;return name;}function toComputedKey$2(node,key){if(key===void 0){key=node.key||node.property;}if(!node.computed&&isIdentifier$j(key))key=stringLiteral$8(key.name);return key;}function toExpression$1(node){if(isExpressionStatement$2(node)){node=node.expression;}if(isExpression$4(node)){return node;}if(isClass$1(node)){node.type="ClassExpression";}else if(isFunction$5(node)){node.type="FunctionExpression";}if(!isExpression$4(node)){throw new Error("cannot turn "+node.type+" to an expression");}return node;}function traverseFast$2(node,enter,opts){if(!node)return;var keys=VISITOR_KEYS$5[node.type];if(!keys)return;opts=opts||{};enter(node,opts);for(var _iterator=_createForOfIteratorHelperLoose(keys),_step;!(_step=_iterator()).done;){var key=_step.value;var subNode=node[key];if(Array.isArray(subNode)){for(var _iterator2=_createForOfIteratorHelperLoose(subNode),_step2;!(_step2=_iterator2()).done;){var _node=_step2.value;traverseFast$2(_node,enter,opts);}}else{traverseFast$2(subNode,enter,opts);}}}var CLEAR_KEYS=["tokens","start","end","loc","raw","rawValue"];var CLEAR_KEYS_PLUS_COMMENTS=[].concat(_toConsumableArray(COMMENT_KEYS),["comments"],CLEAR_KEYS);function removeProperties$1(node,opts){if(opts===void 0){opts={};}var map=opts.preserveComments?CLEAR_KEYS:CLEAR_KEYS_PLUS_COMMENTS;for(var _iterator=_createForOfIteratorHelperLoose(map),_step;!(_step=_iterator()).done;){var _key=_step.value;if(node[_key]!=null)node[_key]=undefined;}for(var _i=0,_Object$keys=Object.keys(node);_i<_Object$keys.length;_i++){var key=_Object$keys[_i];if(key[0]==="_"&&node[key]!=null)node[key]=undefined;}var symbols=Object.getOwnPropertySymbols(node);for(var _iterator2=_createForOfIteratorHelperLoose(symbols),_step2;!(_step2=_iterator2()).done;){var sym=_step2.value;node[sym]=null;}}function removePropertiesDeep$1(tree,opts){traverseFast$2(tree,removeProperties$1,opts);return tree;}function toKeyAlias(node,key){if(key===void 0){key=node.key;}var alias;if(node.kind==="method"){return toKeyAlias.increment()+"";}else if(isIdentifier$j(key)){alias=key.name;}else if(isStringLiteral$5(key)){alias=JSON.stringify(key.value);}else{alias=JSON.stringify(removePropertiesDeep$1(cloneNode$j(key)));}if(node.computed){alias="["+alias+"]";}if(node["static"]){alias="static:"+alias;}return alias;}toKeyAlias.uid=0;toKeyAlias.increment=function(){if(toKeyAlias.uid>=Number.MAX_SAFE_INTEGER){return toKeyAlias.uid=0;}else{return toKeyAlias.uid++;}};function toStatement(node,ignore){if(isStatement$8(node)){return node;}var mustHaveId=false;var newType;if(isClass$1(node)){mustHaveId=true;newType="ClassDeclaration";}else if(isFunction$5(node)){mustHaveId=true;newType="FunctionDeclaration";}else if(isAssignmentExpression$3(node)){return expressionStatement$a(node);}if(mustHaveId&&!node.id){newType=false;}if(!newType){if(ignore){return false;}else{throw new Error("cannot turn "+node.type+" to a statement");}}node.type=newType;return node;}var objectToString$1=Function.call.bind(Object.prototype.toString);function isRegExp$1(value){return objectToString$1(value)==="[object RegExp]";}function isPlainObject(value){if(_typeof(value)!=="object"||value===null||Object.prototype.toString.call(value)!=="[object Object]"){return false;}var proto=Object.getPrototypeOf(value);return proto===null||Object.getPrototypeOf(proto)===null;}function valueToNode$1(value){if(value===undefined){return identifier$j("undefined");}if(value===true||value===false){return booleanLiteral$4(value);}if(value===null){return nullLiteral$2();}if(typeof value==="string"){return stringLiteral$8(value);}if(typeof value==="number"){var result;if(Number.isFinite(value)){result=numericLiteral$8(Math.abs(value));}else{var numerator;if(Number.isNaN(value)){numerator=numericLiteral$8(0);}else{numerator=numericLiteral$8(1);}result=binaryExpression$5("/",numerator,numericLiteral$8(0));}if(value<0||Object.is(value,-0)){result=unaryExpression$6("-",result);}return result;}if(isRegExp$1(value)){var pattern=value.source;var flags=value.toString().match(/\/([a-z]+|)$/)[1];return regExpLiteral(pattern,flags);}if(Array.isArray(value)){return arrayExpression$1(value.map(valueToNode$1));}if(isPlainObject(value)){var props=[];for(var _i=0,_Object$keys=Object.keys(value);_i<_Object$keys.length;_i++){var key=_Object$keys[_i];var nodeKey=void 0;if(isValidIdentifier$1(key)){nodeKey=identifier$j(key);}else{nodeKey=stringLiteral$8(key);}props.push(objectProperty$1(nodeKey,valueToNode$1(value[key])));}return objectExpression$3(props);}throw new Error("don't know how to turn this value into a node");}function appendToMemberExpression(member,append,computed){if(computed===void 0){computed=false;}member.object=memberExpression$c(member.object,member.property,member.computed);member.property=append;member.computed=!!computed;return member;}function inherits$3(child,parent){if(!child||!parent)return child;for(var _iterator=_createForOfIteratorHelperLoose(INHERIT_KEYS.optional),_step;!(_step=_iterator()).done;){var _key=_step.value;if(child[_key]==null){child[_key]=parent[_key];}}for(var _i=0,_Object$keys=Object.keys(parent);_i<_Object$keys.length;_i++){var key=_Object$keys[_i];if(key[0]==="_"&&key!=="__clone"){child[key]=parent[key];}}for(var _iterator2=_createForOfIteratorHelperLoose(INHERIT_KEYS.force),_step2;!(_step2=_iterator2()).done;){var _key2=_step2.value;child[_key2]=parent[_key2];}inheritsComments$1(child,parent);return child;}function prependToMemberExpression(member,prepend){if(isSuper$3(member.object)){throw new Error("Cannot prepend node to super property access (`super.foo`).");}member.object=memberExpression$c(prepend,member.object);return member;}function getBindingIdentifiers$4(node,duplicates,outerOnly,newBindingsOnly){var search=[].concat(node);var ids=Object.create(null);while(search.length){var id=search.shift();if(!id)continue;if(newBindingsOnly&&(isAssignmentExpression$3(id)||isUnaryExpression$1(id))){continue;}var keys=getBindingIdentifiers$4.keys[id.type];if(isIdentifier$j(id)){if(duplicates){var _ids=ids[id.name]=ids[id.name]||[];_ids.push(id);}else{ids[id.name]=id;}continue;}if(isExportDeclaration$3(id)&&!isExportAllDeclaration$1(id)){if(isDeclaration$1(id.declaration)){search.push(id.declaration);}continue;}if(outerOnly){if(isFunctionDeclaration$2(id)){search.push(id.id);continue;}if(isFunctionExpression$1(id)){continue;}}if(keys){for(var i=0;i<keys.length;i++){var key=keys[i];var nodes=id[key];if(nodes){Array.isArray(nodes)?search.push.apply(search,_toConsumableArray(nodes)):search.push(nodes);}}}}return ids;}getBindingIdentifiers$4.keys={DeclareClass:["id"],DeclareFunction:["id"],DeclareModule:["id"],DeclareVariable:["id"],DeclareInterface:["id"],DeclareTypeAlias:["id"],DeclareOpaqueType:["id"],InterfaceDeclaration:["id"],TypeAlias:["id"],OpaqueType:["id"],CatchClause:["param"],LabeledStatement:["label"],UnaryExpression:["argument"],AssignmentExpression:["left"],ImportSpecifier:["local"],ImportNamespaceSpecifier:["local"],ImportDefaultSpecifier:["local"],ImportDeclaration:["specifiers"],ExportSpecifier:["exported"],ExportNamespaceSpecifier:["exported"],ExportDefaultSpecifier:["exported"],FunctionDeclaration:["id","params"],FunctionExpression:["id","params"],ArrowFunctionExpression:["params"],ObjectMethod:["params"],ClassMethod:["params"],ClassPrivateMethod:["params"],ForInStatement:["left"],ForOfStatement:["left"],ClassDeclaration:["id"],ClassExpression:["id"],RestElement:["argument"],UpdateExpression:["argument"],ObjectProperty:["value"],AssignmentPattern:["left"],ArrayPattern:["elements"],ObjectPattern:["properties"],VariableDeclaration:["declarations"],VariableDeclarator:["id"]};function getOuterBindingIdentifiers$2(node,duplicates){return getBindingIdentifiers$4(node,duplicates,true);}function traverse$2(node,handlers,state){if(typeof handlers==="function"){handlers={enter:handlers};}var _handlers=handlers,enter=_handlers.enter,exit=_handlers.exit;traverseSimpleImpl(node,enter,exit,state,[]);}function traverseSimpleImpl(node,enter,exit,state,ancestors){var keys=VISITOR_KEYS$5[node.type];if(!keys)return;if(enter)enter(node,ancestors,state);for(var _iterator=_createForOfIteratorHelperLoose(keys),_step;!(_step=_iterator()).done;){var key=_step.value;var subNode=node[key];if(Array.isArray(subNode)){for(var i=0;i<subNode.length;i++){var child=subNode[i];if(!child)continue;ancestors.push({node:node,key:key,index:i});traverseSimpleImpl(child,enter,exit,state,ancestors);ancestors.pop();}}else if(subNode){ancestors.push({node:node,key:key});traverseSimpleImpl(subNode,enter,exit,state,ancestors);ancestors.pop();}}if(exit)exit(node,ancestors,state);}function isBinding$1(node,parent,grandparent){if(grandparent&&node.type==="Identifier"&&parent.type==="ObjectProperty"&&grandparent.type==="ObjectExpression"){return false;}var keys=getBindingIdentifiers$4.keys[parent.type];if(keys){for(var i=0;i<keys.length;i++){var key=keys[i];var val=parent[key];if(Array.isArray(val)){if(val.indexOf(node)>=0)return true;}else{if(val===node)return true;}}}return false;}function isLet(node){return isVariableDeclaration$4(node)&&(node.kind!=="var"||node[BLOCK_SCOPED_SYMBOL]);}function isBlockScoped$2(node){return isFunctionDeclaration$2(node)||isClassDeclaration$2(node)||isLet(node);}function isImmutable(node){if(isType$2(node.type,"Immutable"))return true;if(isIdentifier$j(node)){if(node.name==="undefined"){return true;}else{return false;}}return false;}function isNodesEquivalent(a,b){if(_typeof(a)!=="object"||_typeof(b)!=="object"||a==null||b==null){return a===b;}if(a.type!==b.type){return false;}var fields=Object.keys(NODE_FIELDS[a.type]||a.type);var visitorKeys=VISITOR_KEYS$5[a.type];for(var _i=0,_fields=fields;_i<_fields.length;_i++){var field=_fields[_i];var val_a=a[field];var val_b=b[field];if(_typeof(val_a)!==_typeof(val_b)){return false;}if(val_a==null&&val_b==null){continue;}else if(val_a==null||val_b==null){return false;}if(Array.isArray(val_a)){if(!Array.isArray(val_b)){return false;}if(val_a.length!==val_b.length){return false;}for(var i=0;i<val_a.length;i++){if(!isNodesEquivalent(val_a[i],val_b[i])){return false;}}continue;}if(_typeof(val_a)==="object"&&!(visitorKeys!=null&&visitorKeys.includes(field))){for(var _i2=0,_Object$keys=Object.keys(val_a);_i2<_Object$keys.length;_i2++){var key=_Object$keys[_i2];if(val_a[key]!==val_b[key]){return false;}}continue;}if(!isNodesEquivalent(val_a,val_b)){return false;}}return true;}function isReferenced$2(node,parent,grandparent){switch(parent.type){case"MemberExpression":case"OptionalMemberExpression":if(parent.property===node){return!!parent.computed;}return parent.object===node;case"JSXMemberExpression":return parent.object===node;case"VariableDeclarator":return parent.init===node;case"ArrowFunctionExpression":return parent.body===node;case"PrivateName":return false;case"ClassMethod":case"ClassPrivateMethod":case"ObjectMethod":if(parent.key===node){return!!parent.computed;}return false;case"ObjectProperty":if(parent.key===node){return!!parent.computed;}return!grandparent||grandparent.type!=="ObjectPattern";case"ClassProperty":case"ClassAccessorProperty":if(parent.key===node){return!!parent.computed;}return true;case"ClassPrivateProperty":return parent.key!==node;case"ClassDeclaration":case"ClassExpression":return parent.superClass===node;case"AssignmentExpression":return parent.right===node;case"AssignmentPattern":return parent.right===node;case"LabeledStatement":return false;case"CatchClause":return false;case"RestElement":return false;case"BreakStatement":case"ContinueStatement":return false;case"FunctionDeclaration":case"FunctionExpression":return false;case"ExportNamespaceSpecifier":case"ExportDefaultSpecifier":return false;case"ExportSpecifier":if(grandparent!=null&&grandparent.source){return false;}return parent.local===node;case"ImportDefaultSpecifier":case"ImportNamespaceSpecifier":case"ImportSpecifier":return false;case"ImportAttribute":return false;case"JSXAttribute":return false;case"ObjectPattern":case"ArrayPattern":return false;case"MetaProperty":return false;case"ObjectTypeProperty":return parent.key!==node;case"TSEnumMember":return parent.id!==node;case"TSPropertySignature":if(parent.key===node){return!!parent.computed;}return true;}return true;}function isScope$1(node,parent){if(isBlockStatement$3(node)&&(isFunction$5(parent)||isCatchClause(parent))){return false;}if(isPattern(node)&&(isFunction$5(parent)||isCatchClause(parent))){return true;}return isScopable(node);}function isSpecifierDefault(specifier){return isImportDefaultSpecifier$1(specifier)||isIdentifier$j(specifier.imported||specifier.exported,{name:"default"});}var RESERVED_WORDS_ES3_ONLY=new Set(["abstract","boolean","byte","char","double","enum","final","float","goto","implements","int","interface","long","native","package","private","protected","public","short","static","synchronized","throws","transient","volatile"]);function isValidES3Identifier(name){return isValidIdentifier$1(name)&&!RESERVED_WORDS_ES3_ONLY.has(name);}function isVar$1(node){return isVariableDeclaration$4(node,{kind:"var"})&&!node[BLOCK_SCOPED_SYMBOL];}var react$3={isReactComponent:isReactComponent,isCompatTag:isCompatTag$1,buildChildren:buildChildren};var t$4=/*#__PURE__*/Object.freeze({__proto__:null,ACCESSOR_TYPES:ACCESSOR_TYPES,ALIAS_KEYS:ALIAS_KEYS,ASSIGNMENT_OPERATORS:ASSIGNMENT_OPERATORS,AnyTypeAnnotation:anyTypeAnnotation$2,ArgumentPlaceholder:argumentPlaceholder,ArrayExpression:arrayExpression$1,ArrayPattern:arrayPattern,ArrayTypeAnnotation:arrayTypeAnnotation$1,ArrowFunctionExpression:arrowFunctionExpression$4,AssignmentExpression:assignmentExpression$d,AssignmentPattern:assignmentPattern,AwaitExpression:awaitExpression$1,BINARY_OPERATORS:BINARY_OPERATORS,BINARY_TYPES:BINARY_TYPES,BLOCKPARENT_TYPES:BLOCKPARENT_TYPES,BLOCK_SCOPED_SYMBOL:BLOCK_SCOPED_SYMBOL,BLOCK_TYPES:BLOCK_TYPES,BOOLEAN_BINARY_OPERATORS:BOOLEAN_BINARY_OPERATORS$1,BOOLEAN_NUMBER_BINARY_OPERATORS:BOOLEAN_NUMBER_BINARY_OPERATORS$1,BOOLEAN_UNARY_OPERATORS:BOOLEAN_UNARY_OPERATORS$1,BUILDER_KEYS:BUILDER_KEYS,BigIntLiteral:bigIntLiteral,BinaryExpression:binaryExpression$5,BindExpression:bindExpression,BlockStatement:blockStatement$6,BooleanLiteral:booleanLiteral$4,BooleanLiteralTypeAnnotation:booleanLiteralTypeAnnotation,BooleanTypeAnnotation:booleanTypeAnnotation$1,BreakStatement:breakStatement,CLASS_TYPES:CLASS_TYPES,COMMENT_KEYS:COMMENT_KEYS,COMPARISON_BINARY_OPERATORS:COMPARISON_BINARY_OPERATORS,COMPLETIONSTATEMENT_TYPES:COMPLETIONSTATEMENT_TYPES,CONDITIONAL_TYPES:CONDITIONAL_TYPES,CallExpression:callExpression$d,CatchClause:catchClause,ClassAccessorProperty:classAccessorProperty,ClassBody:classBody,ClassDeclaration:classDeclaration,ClassExpression:classExpression,ClassImplements:classImplements,ClassMethod:classMethod,ClassPrivateMethod:classPrivateMethod,ClassPrivateProperty:classPrivateProperty,ClassProperty:classProperty,ConditionalExpression:conditionalExpression$5,ContinueStatement:continueStatement,DECLARATION_TYPES:DECLARATION_TYPES,DEPRECATED_ALIASES:DEPRECATED_ALIASES$1,DEPRECATED_KEYS:DEPRECATED_KEYS$1,DebuggerStatement:debuggerStatement,DecimalLiteral:decimalLiteral,DeclareClass:declareClass,DeclareExportAllDeclaration:declareExportAllDeclaration,DeclareExportDeclaration:declareExportDeclaration,DeclareFunction:declareFunction,DeclareInterface:declareInterface,DeclareModule:declareModule,DeclareModuleExports:declareModuleExports,DeclareOpaqueType:declareOpaqueType,DeclareTypeAlias:declareTypeAlias,DeclareVariable:declareVariable,DeclaredPredicate:declaredPredicate,Decorator:decorator,Directive:directive$1,DirectiveLiteral:directiveLiteral$1,DoExpression:doExpression,DoWhileStatement:doWhileStatement,ENUMBODY_TYPES:ENUMBODY_TYPES,ENUMMEMBER_TYPES:ENUMMEMBER_TYPES,EQUALITY_BINARY_OPERATORS:EQUALITY_BINARY_OPERATORS,EXPORTDECLARATION_TYPES:EXPORTDECLARATION_TYPES,EXPRESSIONWRAPPER_TYPES:EXPRESSIONWRAPPER_TYPES,EXPRESSION_TYPES:EXPRESSION_TYPES,EmptyStatement:emptyStatement$1,EmptyTypeAnnotation:emptyTypeAnnotation,EnumBooleanBody:enumBooleanBody,EnumBooleanMember:enumBooleanMember,EnumDeclaration:enumDeclaration,EnumDefaultedMember:enumDefaultedMember,EnumNumberBody:enumNumberBody,EnumNumberMember:enumNumberMember,EnumStringBody:enumStringBody,EnumStringMember:enumStringMember,EnumSymbolBody:enumSymbolBody,ExistsTypeAnnotation:existsTypeAnnotation,ExportAllDeclaration:exportAllDeclaration,ExportDefaultDeclaration:exportDefaultDeclaration,ExportDefaultSpecifier:exportDefaultSpecifier,ExportNamedDeclaration:exportNamedDeclaration$2,ExportNamespaceSpecifier:exportNamespaceSpecifier,ExportSpecifier:exportSpecifier$2,ExpressionStatement:expressionStatement$a,FLATTENABLE_KEYS:FLATTENABLE_KEYS,FLIPPED_ALIAS_KEYS:FLIPPED_ALIAS_KEYS$3,FLOWBASEANNOTATION_TYPES:FLOWBASEANNOTATION_TYPES,FLOWDECLARATION_TYPES:FLOWDECLARATION_TYPES,FLOWPREDICATE_TYPES:FLOWPREDICATE_TYPES,FLOWTYPE_TYPES:FLOWTYPE_TYPES,FLOW_TYPES:FLOW_TYPES,FORXSTATEMENT_TYPES:FORXSTATEMENT_TYPES,FOR_INIT_KEYS:FOR_INIT_KEYS,FOR_TYPES:FOR_TYPES,FUNCTIONPARENT_TYPES:FUNCTIONPARENT_TYPES,FUNCTION_TYPES:FUNCTION_TYPES$1,File:file$2,ForInStatement:forInStatement,ForOfStatement:forOfStatement,ForStatement:forStatement,FunctionDeclaration:functionDeclaration,FunctionExpression:functionExpression$2,FunctionTypeAnnotation:functionTypeAnnotation,FunctionTypeParam:functionTypeParam,GenericTypeAnnotation:genericTypeAnnotation$1,IMMUTABLE_TYPES:IMMUTABLE_TYPES,IMPORTOREXPORTDECLARATION_TYPES:IMPORTOREXPORTDECLARATION_TYPES,INHERIT_KEYS:INHERIT_KEYS,Identifier:identifier$j,IfStatement:ifStatement,Import:_import,ImportAttribute:importAttribute,ImportDeclaration:importDeclaration$1,ImportDefaultSpecifier:importDefaultSpecifier$1,ImportExpression:importExpression,ImportNamespaceSpecifier:importNamespaceSpecifier$1,ImportSpecifier:importSpecifier$2,IndexedAccessType:indexedAccessType,InferredPredicate:inferredPredicate,InterfaceDeclaration:interfaceDeclaration,InterfaceExtends:interfaceExtends,InterfaceTypeAnnotation:interfaceTypeAnnotation,InterpreterDirective:interpreterDirective$1,IntersectionTypeAnnotation:intersectionTypeAnnotation,JSXAttribute:jsxAttribute,JSXClosingElement:jsxClosingElement,JSXClosingFragment:jsxClosingFragment,JSXElement:jsxElement,JSXEmptyExpression:jsxEmptyExpression,JSXExpressionContainer:jsxExpressionContainer$1,JSXFragment:jsxFragment,JSXIdentifier:jsxIdentifier$2,JSXMemberExpression:jsxMemberExpression$1,JSXNamespacedName:jsxNamespacedName,JSXOpeningElement:jsxOpeningElement,JSXOpeningFragment:jsxOpeningFragment,JSXSpreadAttribute:jsxSpreadAttribute,JSXSpreadChild:jsxSpreadChild,JSXText:jsxText,JSX_TYPES:JSX_TYPES,LITERAL_TYPES:LITERAL_TYPES,LOGICAL_OPERATORS:LOGICAL_OPERATORS$3,LOOP_TYPES:LOOP_TYPES,LVAL_TYPES:LVAL_TYPES,LabeledStatement:labeledStatement,LogicalExpression:logicalExpression$3,METHOD_TYPES:METHOD_TYPES,MISCELLANEOUS_TYPES:MISCELLANEOUS_TYPES,MODULEDECLARATION_TYPES:MODULEDECLARATION_TYPES,MODULESPECIFIER_TYPES:MODULESPECIFIER_TYPES,MemberExpression:memberExpression$c,MetaProperty:metaProperty$1,MixedTypeAnnotation:mixedTypeAnnotation,ModuleExpression:moduleExpression,NODE_FIELDS:NODE_FIELDS,NODE_PARENT_VALIDATIONS:NODE_PARENT_VALIDATIONS,NOT_LOCAL_BINDING:NOT_LOCAL_BINDING$2,NUMBER_BINARY_OPERATORS:NUMBER_BINARY_OPERATORS$1,NUMBER_UNARY_OPERATORS:NUMBER_UNARY_OPERATORS$1,NewExpression:newExpression,Noop:noop$1,NullLiteral:nullLiteral$2,NullLiteralTypeAnnotation:nullLiteralTypeAnnotation$1,NullableTypeAnnotation:nullableTypeAnnotation,NumberLiteral:NumberLiteral,NumberLiteralTypeAnnotation:numberLiteralTypeAnnotation,NumberTypeAnnotation:numberTypeAnnotation$2,NumericLiteral:numericLiteral$8,OBJECTMEMBER_TYPES:OBJECTMEMBER_TYPES,ObjectExpression:objectExpression$3,ObjectMethod:objectMethod,ObjectPattern:objectPattern$1,ObjectProperty:objectProperty$1,ObjectTypeAnnotation:objectTypeAnnotation,ObjectTypeCallProperty:objectTypeCallProperty,ObjectTypeIndexer:objectTypeIndexer,ObjectTypeInternalSlot:objectTypeInternalSlot,ObjectTypeProperty:objectTypeProperty,ObjectTypeSpreadProperty:objectTypeSpreadProperty,OpaqueType:opaqueType,OptionalCallExpression:optionalCallExpression$2,OptionalIndexedAccessType:optionalIndexedAccessType,OptionalMemberExpression:optionalMemberExpression$2,PATTERNLIKE_TYPES:PATTERNLIKE_TYPES,PATTERN_TYPES:PATTERN_TYPES,PLACEHOLDERS:PLACEHOLDERS,PLACEHOLDERS_ALIAS:PLACEHOLDERS_ALIAS,PLACEHOLDERS_FLIPPED_ALIAS:PLACEHOLDERS_FLIPPED_ALIAS,PRIVATE_TYPES:PRIVATE_TYPES,PROPERTY_TYPES:PROPERTY_TYPES,PUREISH_TYPES:PUREISH_TYPES,ParenthesizedExpression:parenthesizedExpression,PipelineBareFunction:pipelineBareFunction,PipelinePrimaryTopicReference:pipelinePrimaryTopicReference,PipelineTopicExpression:pipelineTopicExpression,Placeholder:placeholder,PrivateName:privateName,Program:program$3,QualifiedTypeIdentifier:qualifiedTypeIdentifier,RecordExpression:recordExpression,RegExpLiteral:regExpLiteral,RegexLiteral:RegexLiteral,RestElement:restElement$2,RestProperty:RestProperty,ReturnStatement:returnStatement$3,SCOPABLE_TYPES:SCOPABLE_TYPES,STANDARDIZED_TYPES:STANDARDIZED_TYPES,STATEMENT_OR_BLOCK_KEYS:STATEMENT_OR_BLOCK_KEYS$1,STATEMENT_TYPES:STATEMENT_TYPES,STRING_UNARY_OPERATORS:STRING_UNARY_OPERATORS$1,SequenceExpression:sequenceExpression$8,SpreadElement:spreadElement$2,SpreadProperty:SpreadProperty,StaticBlock:staticBlock,StringLiteral:stringLiteral$8,StringLiteralTypeAnnotation:stringLiteralTypeAnnotation,StringTypeAnnotation:stringTypeAnnotation$2,Super:_super$1,SwitchCase:switchCase,SwitchStatement:switchStatement,SymbolTypeAnnotation:symbolTypeAnnotation,TERMINATORLESS_TYPES:TERMINATORLESS_TYPES,TSAnyKeyword:tsAnyKeyword,TSArrayType:tsArrayType,TSAsExpression:tsAsExpression,TSBASETYPE_TYPES:TSBASETYPE_TYPES,TSBigIntKeyword:tsBigIntKeyword,TSBooleanKeyword:tsBooleanKeyword,TSCallSignatureDeclaration:tsCallSignatureDeclaration,TSConditionalType:tsConditionalType,TSConstructSignatureDeclaration:tsConstructSignatureDeclaration,TSConstructorType:tsConstructorType,TSDeclareFunction:tsDeclareFunction,TSDeclareMethod:tsDeclareMethod,TSENTITYNAME_TYPES:TSENTITYNAME_TYPES,TSEnumDeclaration:tsEnumDeclaration,TSEnumMember:tsEnumMember,TSExportAssignment:tsExportAssignment,TSExpressionWithTypeArguments:tsExpressionWithTypeArguments,TSExternalModuleReference:tsExternalModuleReference,TSFunctionType:tsFunctionType,TSImportEqualsDeclaration:tsImportEqualsDeclaration,TSImportType:tsImportType,TSIndexSignature:tsIndexSignature,TSIndexedAccessType:tsIndexedAccessType,TSInferType:tsInferType,TSInstantiationExpression:tsInstantiationExpression,TSInterfaceBody:tsInterfaceBody,TSInterfaceDeclaration:tsInterfaceDeclaration,TSIntersectionType:tsIntersectionType,TSIntrinsicKeyword:tsIntrinsicKeyword,TSLiteralType:tsLiteralType,TSMappedType:tsMappedType,TSMethodSignature:tsMethodSignature,TSModuleBlock:tsModuleBlock,TSModuleDeclaration:tsModuleDeclaration,TSNamedTupleMember:tsNamedTupleMember,TSNamespaceExportDeclaration:tsNamespaceExportDeclaration,TSNeverKeyword:tsNeverKeyword,TSNonNullExpression:tsNonNullExpression,TSNullKeyword:tsNullKeyword,TSNumberKeyword:tsNumberKeyword,TSObjectKeyword:tsObjectKeyword,TSOptionalType:tsOptionalType,TSParameterProperty:tsParameterProperty,TSParenthesizedType:tsParenthesizedType,TSPropertySignature:tsPropertySignature,TSQualifiedName:tsQualifiedName,TSRestType:tsRestType,TSSatisfiesExpression:tsSatisfiesExpression,TSStringKeyword:tsStringKeyword,TSSymbolKeyword:tsSymbolKeyword,TSTYPEELEMENT_TYPES:TSTYPEELEMENT_TYPES,TSTYPE_TYPES:TSTYPE_TYPES,TSThisType:tsThisType,TSTupleType:tsTupleType,TSTypeAliasDeclaration:tsTypeAliasDeclaration,TSTypeAnnotation:tsTypeAnnotation,TSTypeAssertion:tsTypeAssertion,TSTypeLiteral:tsTypeLiteral,TSTypeOperator:tsTypeOperator,TSTypeParameter:tsTypeParameter,TSTypeParameterDeclaration:tsTypeParameterDeclaration,TSTypeParameterInstantiation:tsTypeParameterInstantiation,TSTypePredicate:tsTypePredicate,TSTypeQuery:tsTypeQuery,TSTypeReference:tsTypeReference,TSUndefinedKeyword:tsUndefinedKeyword,TSUnionType:tsUnionType,TSUnknownKeyword:tsUnknownKeyword,TSVoidKeyword:tsVoidKeyword,TYPES:TYPES$1,TYPESCRIPT_TYPES:TYPESCRIPT_TYPES,TaggedTemplateExpression:taggedTemplateExpression,TemplateElement:templateElement,TemplateLiteral:templateLiteral,ThisExpression:thisExpression$4,ThisTypeAnnotation:thisTypeAnnotation,ThrowStatement:throwStatement,TopicReference:topicReference,TryStatement:tryStatement,TupleExpression:tupleExpression,TupleTypeAnnotation:tupleTypeAnnotation$1,TypeAlias:typeAlias,TypeAnnotation:typeAnnotation,TypeCastExpression:typeCastExpression,TypeParameter:typeParameter,TypeParameterDeclaration:typeParameterDeclaration,TypeParameterInstantiation:typeParameterInstantiation,TypeofTypeAnnotation:typeofTypeAnnotation,UNARYLIKE_TYPES:UNARYLIKE_TYPES,UNARY_OPERATORS:UNARY_OPERATORS,UPDATE_OPERATORS:UPDATE_OPERATORS,USERWHITESPACABLE_TYPES:USERWHITESPACABLE_TYPES,UnaryExpression:unaryExpression$6,UnionTypeAnnotation:unionTypeAnnotation$1,UpdateExpression:updateExpression$1,V8IntrinsicIdentifier:v8IntrinsicIdentifier,VISITOR_KEYS:VISITOR_KEYS$5,VariableDeclaration:variableDeclaration$8,VariableDeclarator:variableDeclarator$8,Variance:variance,VoidTypeAnnotation:voidTypeAnnotation$3,WHILE_TYPES:WHILE_TYPES,WhileStatement:whileStatement,WithStatement:withStatement,YieldExpression:yieldExpression$2,__internal__deprecationWarning:deprecationWarning$1,addComment:addComment$2,addComments:addComments$1,anyTypeAnnotation:anyTypeAnnotation$2,appendToMemberExpression:appendToMemberExpression,argumentPlaceholder:argumentPlaceholder,arrayExpression:arrayExpression$1,arrayPattern:arrayPattern,arrayTypeAnnotation:arrayTypeAnnotation$1,arrowFunctionExpression:arrowFunctionExpression$4,assertAccessor:assertAccessor,assertAnyTypeAnnotation:assertAnyTypeAnnotation,assertArgumentPlaceholder:assertArgumentPlaceholder,assertArrayExpression:assertArrayExpression,assertArrayPattern:assertArrayPattern,assertArrayTypeAnnotation:assertArrayTypeAnnotation,assertArrowFunctionExpression:assertArrowFunctionExpression,assertAssignmentExpression:assertAssignmentExpression,assertAssignmentPattern:assertAssignmentPattern,assertAwaitExpression:assertAwaitExpression,assertBigIntLiteral:assertBigIntLiteral,assertBinary:assertBinary,assertBinaryExpression:assertBinaryExpression,assertBindExpression:assertBindExpression,assertBlock:assertBlock,assertBlockParent:assertBlockParent,assertBlockStatement:assertBlockStatement,assertBooleanLiteral:assertBooleanLiteral,assertBooleanLiteralTypeAnnotation:assertBooleanLiteralTypeAnnotation,assertBooleanTypeAnnotation:assertBooleanTypeAnnotation,assertBreakStatement:assertBreakStatement,assertCallExpression:assertCallExpression,assertCatchClause:assertCatchClause,assertClass:assertClass,assertClassAccessorProperty:assertClassAccessorProperty,assertClassBody:assertClassBody,assertClassDeclaration:assertClassDeclaration,assertClassExpression:assertClassExpression,assertClassImplements:assertClassImplements,assertClassMethod:assertClassMethod,assertClassPrivateMethod:assertClassPrivateMethod,assertClassPrivateProperty:assertClassPrivateProperty,assertClassProperty:assertClassProperty,assertCompletionStatement:assertCompletionStatement,assertConditional:assertConditional,assertConditionalExpression:assertConditionalExpression,assertContinueStatement:assertContinueStatement,assertDebuggerStatement:assertDebuggerStatement,assertDecimalLiteral:assertDecimalLiteral,assertDeclaration:assertDeclaration,assertDeclareClass:assertDeclareClass,assertDeclareExportAllDeclaration:assertDeclareExportAllDeclaration,assertDeclareExportDeclaration:assertDeclareExportDeclaration,assertDeclareFunction:assertDeclareFunction,assertDeclareInterface:assertDeclareInterface,assertDeclareModule:assertDeclareModule,assertDeclareModuleExports:assertDeclareModuleExports,assertDeclareOpaqueType:assertDeclareOpaqueType,assertDeclareTypeAlias:assertDeclareTypeAlias,assertDeclareVariable:assertDeclareVariable,assertDeclaredPredicate:assertDeclaredPredicate,assertDecorator:assertDecorator,assertDirective:assertDirective,assertDirectiveLiteral:assertDirectiveLiteral,assertDoExpression:assertDoExpression,assertDoWhileStatement:assertDoWhileStatement,assertEmptyStatement:assertEmptyStatement,assertEmptyTypeAnnotation:assertEmptyTypeAnnotation,assertEnumBody:assertEnumBody,assertEnumBooleanBody:assertEnumBooleanBody,assertEnumBooleanMember:assertEnumBooleanMember,assertEnumDeclaration:assertEnumDeclaration,assertEnumDefaultedMember:assertEnumDefaultedMember,assertEnumMember:assertEnumMember,assertEnumNumberBody:assertEnumNumberBody,assertEnumNumberMember:assertEnumNumberMember,assertEnumStringBody:assertEnumStringBody,assertEnumStringMember:assertEnumStringMember,assertEnumSymbolBody:assertEnumSymbolBody,assertExistsTypeAnnotation:assertExistsTypeAnnotation,assertExportAllDeclaration:assertExportAllDeclaration,assertExportDeclaration:assertExportDeclaration,assertExportDefaultDeclaration:assertExportDefaultDeclaration,assertExportDefaultSpecifier:assertExportDefaultSpecifier,assertExportNamedDeclaration:assertExportNamedDeclaration,assertExportNamespaceSpecifier:assertExportNamespaceSpecifier,assertExportSpecifier:assertExportSpecifier$1,assertExpression:assertExpression$1,assertExpressionStatement:assertExpressionStatement$1,assertExpressionWrapper:assertExpressionWrapper,assertFile:assertFile,assertFlow:assertFlow,assertFlowBaseAnnotation:assertFlowBaseAnnotation,assertFlowDeclaration:assertFlowDeclaration,assertFlowPredicate:assertFlowPredicate,assertFlowType:assertFlowType,assertFor:assertFor,assertForInStatement:assertForInStatement,assertForOfStatement:assertForOfStatement,assertForStatement:assertForStatement,assertForXStatement:assertForXStatement,assertFunction:assertFunction$1,assertFunctionDeclaration:assertFunctionDeclaration,assertFunctionExpression:assertFunctionExpression,assertFunctionParent:assertFunctionParent,assertFunctionTypeAnnotation:assertFunctionTypeAnnotation,assertFunctionTypeParam:assertFunctionTypeParam,assertGenericTypeAnnotation:assertGenericTypeAnnotation,assertIdentifier:assertIdentifier,assertIfStatement:assertIfStatement,assertImmutable:assertImmutable,assertImport:assertImport,assertImportAttribute:assertImportAttribute,assertImportDeclaration:assertImportDeclaration,assertImportDefaultSpecifier:assertImportDefaultSpecifier,assertImportExpression:assertImportExpression,assertImportNamespaceSpecifier:assertImportNamespaceSpecifier,assertImportOrExportDeclaration:assertImportOrExportDeclaration,assertImportSpecifier:assertImportSpecifier,assertIndexedAccessType:assertIndexedAccessType,assertInferredPredicate:assertInferredPredicate,assertInterfaceDeclaration:assertInterfaceDeclaration,assertInterfaceExtends:assertInterfaceExtends,assertInterfaceTypeAnnotation:assertInterfaceTypeAnnotation,assertInterpreterDirective:assertInterpreterDirective,assertIntersectionTypeAnnotation:assertIntersectionTypeAnnotation,assertJSX:assertJSX,assertJSXAttribute:assertJSXAttribute,assertJSXClosingElement:assertJSXClosingElement,assertJSXClosingFragment:assertJSXClosingFragment,assertJSXElement:assertJSXElement,assertJSXEmptyExpression:assertJSXEmptyExpression,assertJSXExpressionContainer:assertJSXExpressionContainer,assertJSXFragment:assertJSXFragment,assertJSXIdentifier:assertJSXIdentifier,assertJSXMemberExpression:assertJSXMemberExpression,assertJSXNamespacedName:assertJSXNamespacedName,assertJSXOpeningElement:assertJSXOpeningElement,assertJSXOpeningFragment:assertJSXOpeningFragment,assertJSXSpreadAttribute:assertJSXSpreadAttribute,assertJSXSpreadChild:assertJSXSpreadChild,assertJSXText:assertJSXText,assertLVal:assertLVal,assertLabeledStatement:assertLabeledStatement,assertLiteral:assertLiteral,assertLogicalExpression:assertLogicalExpression,assertLoop:assertLoop,assertMemberExpression:assertMemberExpression,assertMetaProperty:assertMetaProperty,assertMethod:assertMethod,assertMiscellaneous:assertMiscellaneous,assertMixedTypeAnnotation:assertMixedTypeAnnotation,assertModuleDeclaration:assertModuleDeclaration,assertModuleExpression:assertModuleExpression,assertModuleSpecifier:assertModuleSpecifier,assertNewExpression:assertNewExpression,assertNode:assertNode,assertNoop:assertNoop,assertNullLiteral:assertNullLiteral,assertNullLiteralTypeAnnotation:assertNullLiteralTypeAnnotation,assertNullableTypeAnnotation:assertNullableTypeAnnotation,assertNumberLiteral:assertNumberLiteral,assertNumberLiteralTypeAnnotation:assertNumberLiteralTypeAnnotation,assertNumberTypeAnnotation:assertNumberTypeAnnotation,assertNumericLiteral:assertNumericLiteral,assertObjectExpression:assertObjectExpression,assertObjectMember:assertObjectMember,assertObjectMethod:assertObjectMethod,assertObjectPattern:assertObjectPattern,assertObjectProperty:assertObjectProperty,assertObjectTypeAnnotation:assertObjectTypeAnnotation,assertObjectTypeCallProperty:assertObjectTypeCallProperty,assertObjectTypeIndexer:assertObjectTypeIndexer,assertObjectTypeInternalSlot:assertObjectTypeInternalSlot,assertObjectTypeProperty:assertObjectTypeProperty,assertObjectTypeSpreadProperty:assertObjectTypeSpreadProperty,assertOpaqueType:assertOpaqueType,assertOptionalCallExpression:assertOptionalCallExpression,assertOptionalIndexedAccessType:assertOptionalIndexedAccessType,assertOptionalMemberExpression:assertOptionalMemberExpression,assertParenthesizedExpression:assertParenthesizedExpression,assertPattern:assertPattern,assertPatternLike:assertPatternLike,assertPipelineBareFunction:assertPipelineBareFunction,assertPipelinePrimaryTopicReference:assertPipelinePrimaryTopicReference,assertPipelineTopicExpression:assertPipelineTopicExpression,assertPlaceholder:assertPlaceholder,assertPrivate:assertPrivate,assertPrivateName:assertPrivateName,assertProgram:assertProgram,assertProperty:assertProperty,assertPureish:assertPureish,assertQualifiedTypeIdentifier:assertQualifiedTypeIdentifier,assertRecordExpression:assertRecordExpression,assertRegExpLiteral:assertRegExpLiteral,assertRegexLiteral:assertRegexLiteral,assertRestElement:assertRestElement,assertRestProperty:assertRestProperty,assertReturnStatement:assertReturnStatement,assertScopable:assertScopable,assertSequenceExpression:assertSequenceExpression,assertSpreadElement:assertSpreadElement,assertSpreadProperty:assertSpreadProperty,assertStandardized:assertStandardized,assertStatement:assertStatement,assertStaticBlock:assertStaticBlock,assertStringLiteral:assertStringLiteral,assertStringLiteralTypeAnnotation:assertStringLiteralTypeAnnotation,assertStringTypeAnnotation:assertStringTypeAnnotation,assertSuper:assertSuper,assertSwitchCase:assertSwitchCase,assertSwitchStatement:assertSwitchStatement,assertSymbolTypeAnnotation:assertSymbolTypeAnnotation,assertTSAnyKeyword:assertTSAnyKeyword,assertTSArrayType:assertTSArrayType,assertTSAsExpression:assertTSAsExpression,assertTSBaseType:assertTSBaseType,assertTSBigIntKeyword:assertTSBigIntKeyword,assertTSBooleanKeyword:assertTSBooleanKeyword,assertTSCallSignatureDeclaration:assertTSCallSignatureDeclaration,assertTSConditionalType:assertTSConditionalType,assertTSConstructSignatureDeclaration:assertTSConstructSignatureDeclaration,assertTSConstructorType:assertTSConstructorType,assertTSDeclareFunction:assertTSDeclareFunction,assertTSDeclareMethod:assertTSDeclareMethod,assertTSEntityName:assertTSEntityName,assertTSEnumDeclaration:assertTSEnumDeclaration,assertTSEnumMember:assertTSEnumMember,assertTSExportAssignment:assertTSExportAssignment,assertTSExpressionWithTypeArguments:assertTSExpressionWithTypeArguments,assertTSExternalModuleReference:assertTSExternalModuleReference,assertTSFunctionType:assertTSFunctionType,assertTSImportEqualsDeclaration:assertTSImportEqualsDeclaration,assertTSImportType:assertTSImportType,assertTSIndexSignature:assertTSIndexSignature,assertTSIndexedAccessType:assertTSIndexedAccessType,assertTSInferType:assertTSInferType,assertTSInstantiationExpression:assertTSInstantiationExpression,assertTSInterfaceBody:assertTSInterfaceBody,assertTSInterfaceDeclaration:assertTSInterfaceDeclaration,assertTSIntersectionType:assertTSIntersectionType,assertTSIntrinsicKeyword:assertTSIntrinsicKeyword,assertTSLiteralType:assertTSLiteralType,assertTSMappedType:assertTSMappedType,assertTSMethodSignature:assertTSMethodSignature,assertTSModuleBlock:assertTSModuleBlock,assertTSModuleDeclaration:assertTSModuleDeclaration,assertTSNamedTupleMember:assertTSNamedTupleMember,assertTSNamespaceExportDeclaration:assertTSNamespaceExportDeclaration,assertTSNeverKeyword:assertTSNeverKeyword,assertTSNonNullExpression:assertTSNonNullExpression,assertTSNullKeyword:assertTSNullKeyword,assertTSNumberKeyword:assertTSNumberKeyword,assertTSObjectKeyword:assertTSObjectKeyword,assertTSOptionalType:assertTSOptionalType,assertTSParameterProperty:assertTSParameterProperty,assertTSParenthesizedType:assertTSParenthesizedType,assertTSPropertySignature:assertTSPropertySignature,assertTSQualifiedName:assertTSQualifiedName,assertTSRestType:assertTSRestType,assertTSSatisfiesExpression:assertTSSatisfiesExpression,assertTSStringKeyword:assertTSStringKeyword,assertTSSymbolKeyword:assertTSSymbolKeyword,assertTSThisType:assertTSThisType,assertTSTupleType:assertTSTupleType,assertTSType:assertTSType,assertTSTypeAliasDeclaration:assertTSTypeAliasDeclaration,assertTSTypeAnnotation:assertTSTypeAnnotation,assertTSTypeAssertion:assertTSTypeAssertion,assertTSTypeElement:assertTSTypeElement,assertTSTypeLiteral:assertTSTypeLiteral,assertTSTypeOperator:assertTSTypeOperator,assertTSTypeParameter:assertTSTypeParameter,assertTSTypeParameterDeclaration:assertTSTypeParameterDeclaration,assertTSTypeParameterInstantiation:assertTSTypeParameterInstantiation,assertTSTypePredicate:assertTSTypePredicate,assertTSTypeQuery:assertTSTypeQuery,assertTSTypeReference:assertTSTypeReference,assertTSUndefinedKeyword:assertTSUndefinedKeyword,assertTSUnionType:assertTSUnionType,assertTSUnknownKeyword:assertTSUnknownKeyword,assertTSVoidKeyword:assertTSVoidKeyword,assertTaggedTemplateExpression:assertTaggedTemplateExpression,assertTemplateElement:assertTemplateElement,assertTemplateLiteral:assertTemplateLiteral,assertTerminatorless:assertTerminatorless,assertThisExpression:assertThisExpression,assertThisTypeAnnotation:assertThisTypeAnnotation,assertThrowStatement:assertThrowStatement,assertTopicReference:assertTopicReference,assertTryStatement:assertTryStatement,assertTupleExpression:assertTupleExpression,assertTupleTypeAnnotation:assertTupleTypeAnnotation,assertTypeAlias:assertTypeAlias,assertTypeAnnotation:assertTypeAnnotation,assertTypeCastExpression:assertTypeCastExpression,assertTypeParameter:assertTypeParameter,assertTypeParameterDeclaration:assertTypeParameterDeclaration,assertTypeParameterInstantiation:assertTypeParameterInstantiation,assertTypeScript:assertTypeScript,assertTypeofTypeAnnotation:assertTypeofTypeAnnotation,assertUnaryExpression:assertUnaryExpression,assertUnaryLike:assertUnaryLike,assertUnionTypeAnnotation:assertUnionTypeAnnotation,assertUpdateExpression:assertUpdateExpression,assertUserWhitespacable:assertUserWhitespacable,assertV8IntrinsicIdentifier:assertV8IntrinsicIdentifier,assertVariableDeclaration:assertVariableDeclaration,assertVariableDeclarator:assertVariableDeclarator,assertVariance:assertVariance,assertVoidTypeAnnotation:assertVoidTypeAnnotation,assertWhile:assertWhile,assertWhileStatement:assertWhileStatement,assertWithStatement:assertWithStatement,assertYieldExpression:assertYieldExpression,assignmentExpression:assignmentExpression$d,assignmentPattern:assignmentPattern,awaitExpression:awaitExpression$1,bigIntLiteral:bigIntLiteral,binaryExpression:binaryExpression$5,bindExpression:bindExpression,blockStatement:blockStatement$6,booleanLiteral:booleanLiteral$4,booleanLiteralTypeAnnotation:booleanLiteralTypeAnnotation,booleanTypeAnnotation:booleanTypeAnnotation$1,breakStatement:breakStatement,buildMatchMemberExpression:buildMatchMemberExpression$1,buildUndefinedNode:buildUndefinedNode$2,callExpression:callExpression$d,catchClause:catchClause,classAccessorProperty:classAccessorProperty,classBody:classBody,classDeclaration:classDeclaration,classExpression:classExpression,classImplements:classImplements,classMethod:classMethod,classPrivateMethod:classPrivateMethod,classPrivateProperty:classPrivateProperty,classProperty:classProperty,clone:clone,cloneDeep:cloneDeep$1,cloneDeepWithoutLoc:cloneDeepWithoutLoc,cloneNode:cloneNode$j,cloneWithoutLoc:cloneWithoutLoc,conditionalExpression:conditionalExpression$5,continueStatement:continueStatement,createFlowUnionType:createFlowUnionType$1,createTSUnionType:createTSUnionType$1,createTypeAnnotationBasedOnTypeof:createTypeAnnotationBasedOnTypeof$1,createUnionTypeAnnotation:createFlowUnionType$1,debuggerStatement:debuggerStatement,decimalLiteral:decimalLiteral,declareClass:declareClass,declareExportAllDeclaration:declareExportAllDeclaration,declareExportDeclaration:declareExportDeclaration,declareFunction:declareFunction,declareInterface:declareInterface,declareModule:declareModule,declareModuleExports:declareModuleExports,declareOpaqueType:declareOpaqueType,declareTypeAlias:declareTypeAlias,declareVariable:declareVariable,declaredPredicate:declaredPredicate,decorator:decorator,directive:directive$1,directiveLiteral:directiveLiteral$1,doExpression:doExpression,doWhileStatement:doWhileStatement,emptyStatement:emptyStatement$1,emptyTypeAnnotation:emptyTypeAnnotation,ensureBlock:ensureBlock$1,enumBooleanBody:enumBooleanBody,enumBooleanMember:enumBooleanMember,enumDeclaration:enumDeclaration,enumDefaultedMember:enumDefaultedMember,enumNumberBody:enumNumberBody,enumNumberMember:enumNumberMember,enumStringBody:enumStringBody,enumStringMember:enumStringMember,enumSymbolBody:enumSymbolBody,existsTypeAnnotation:existsTypeAnnotation,exportAllDeclaration:exportAllDeclaration,exportDefaultDeclaration:exportDefaultDeclaration,exportDefaultSpecifier:exportDefaultSpecifier,exportNamedDeclaration:exportNamedDeclaration$2,exportNamespaceSpecifier:exportNamespaceSpecifier,exportSpecifier:exportSpecifier$2,expressionStatement:expressionStatement$a,file:file$2,forInStatement:forInStatement,forOfStatement:forOfStatement,forStatement:forStatement,functionDeclaration:functionDeclaration,functionExpression:functionExpression$2,functionTypeAnnotation:functionTypeAnnotation,functionTypeParam:functionTypeParam,genericTypeAnnotation:genericTypeAnnotation$1,getBindingIdentifiers:getBindingIdentifiers$4,getOuterBindingIdentifiers:getOuterBindingIdentifiers$2,identifier:identifier$j,ifStatement:ifStatement,"import":_import,importAttribute:importAttribute,importDeclaration:importDeclaration$1,importDefaultSpecifier:importDefaultSpecifier$1,importExpression:importExpression,importNamespaceSpecifier:importNamespaceSpecifier$1,importSpecifier:importSpecifier$2,indexedAccessType:indexedAccessType,inferredPredicate:inferredPredicate,inheritInnerComments:inheritInnerComments,inheritLeadingComments:inheritLeadingComments$1,inheritTrailingComments:inheritTrailingComments$1,inherits:inherits$3,inheritsComments:inheritsComments$1,interfaceDeclaration:interfaceDeclaration,interfaceExtends:interfaceExtends,interfaceTypeAnnotation:interfaceTypeAnnotation,interpreterDirective:interpreterDirective$1,intersectionTypeAnnotation:intersectionTypeAnnotation,is:is$1,isAccessor:isAccessor,isAnyTypeAnnotation:isAnyTypeAnnotation$1,isArgumentPlaceholder:isArgumentPlaceholder,isArrayExpression:isArrayExpression$2,isArrayPattern:isArrayPattern$1,isArrayTypeAnnotation:isArrayTypeAnnotation$2,isArrowFunctionExpression:isArrowFunctionExpression$2,isAssignmentExpression:isAssignmentExpression$3,isAssignmentPattern:isAssignmentPattern$5,isAwaitExpression:isAwaitExpression,isBigIntLiteral:isBigIntLiteral,isBinary:isBinary$2,isBinaryExpression:isBinaryExpression$1,isBindExpression:isBindExpression,isBinding:isBinding$1,isBlock:isBlock,isBlockParent:isBlockParent,isBlockScoped:isBlockScoped$2,isBlockStatement:isBlockStatement$3,isBooleanLiteral:isBooleanLiteral,isBooleanLiteralTypeAnnotation:isBooleanLiteralTypeAnnotation,isBooleanTypeAnnotation:isBooleanTypeAnnotation$1,isBreakStatement:isBreakStatement,isCallExpression:isCallExpression$8,isCatchClause:isCatchClause,isClass:isClass$1,isClassAccessorProperty:isClassAccessorProperty,isClassBody:isClassBody$2,isClassDeclaration:isClassDeclaration$2,isClassExpression:isClassExpression$1,isClassImplements:isClassImplements,isClassMethod:isClassMethod,isClassPrivateMethod:isClassPrivateMethod,isClassPrivateProperty:isClassPrivateProperty,isClassProperty:isClassProperty,isCompletionStatement:isCompletionStatement,isConditional:isConditional,isConditionalExpression:isConditionalExpression,isContinueStatement:isContinueStatement,isDebuggerStatement:isDebuggerStatement,isDecimalLiteral:isDecimalLiteral,isDeclaration:isDeclaration$1,isDeclareClass:isDeclareClass,isDeclareExportAllDeclaration:isDeclareExportAllDeclaration,isDeclareExportDeclaration:isDeclareExportDeclaration$1,isDeclareFunction:isDeclareFunction,isDeclareInterface:isDeclareInterface,isDeclareModule:isDeclareModule,isDeclareModuleExports:isDeclareModuleExports,isDeclareOpaqueType:isDeclareOpaqueType,isDeclareTypeAlias:isDeclareTypeAlias,isDeclareVariable:isDeclareVariable,isDeclaredPredicate:isDeclaredPredicate,isDecorator:isDecorator,isDirective:isDirective,isDirectiveLiteral:isDirectiveLiteral,isDoExpression:isDoExpression,isDoWhileStatement:isDoWhileStatement,isEmptyStatement:isEmptyStatement$1,isEmptyTypeAnnotation:isEmptyTypeAnnotation$1,isEnumBody:isEnumBody,isEnumBooleanBody:isEnumBooleanBody,isEnumBooleanMember:isEnumBooleanMember,isEnumDeclaration:isEnumDeclaration,isEnumDefaultedMember:isEnumDefaultedMember,isEnumMember:isEnumMember,isEnumNumberBody:isEnumNumberBody,isEnumNumberMember:isEnumNumberMember,isEnumStringBody:isEnumStringBody,isEnumStringMember:isEnumStringMember,isEnumSymbolBody:isEnumSymbolBody,isExistsTypeAnnotation:isExistsTypeAnnotation,isExportAllDeclaration:isExportAllDeclaration$1,isExportDeclaration:isExportDeclaration$3,isExportDefaultDeclaration:isExportDefaultDeclaration$2,isExportDefaultSpecifier:isExportDefaultSpecifier$1,isExportNamedDeclaration:isExportNamedDeclaration$3,isExportNamespaceSpecifier:isExportNamespaceSpecifier$1,isExportSpecifier:isExportSpecifier,isExpression:isExpression$4,isExpressionStatement:isExpressionStatement$2,isExpressionWrapper:isExpressionWrapper,isFile:isFile,isFlow:isFlow$1,isFlowBaseAnnotation:isFlowBaseAnnotation$1,isFlowDeclaration:isFlowDeclaration,isFlowPredicate:isFlowPredicate,isFlowType:isFlowType$1,isFor:isFor$1,isForInStatement:isForInStatement,isForOfStatement:isForOfStatement$2,isForStatement:isForStatement$2,isForXStatement:isForXStatement$1,isFunction:isFunction$5,isFunctionDeclaration:isFunctionDeclaration$2,isFunctionExpression:isFunctionExpression$1,isFunctionParent:isFunctionParent,isFunctionTypeAnnotation:isFunctionTypeAnnotation,isFunctionTypeParam:isFunctionTypeParam,isGenericTypeAnnotation:isGenericTypeAnnotation$1,isIdentifier:isIdentifier$j,isIfStatement:isIfStatement$2,isImmutable:isImmutable,isImport:isImport,isImportAttribute:isImportAttribute,isImportDeclaration:isImportDeclaration$3,isImportDefaultSpecifier:isImportDefaultSpecifier$1,isImportExpression:isImportExpression,isImportNamespaceSpecifier:isImportNamespaceSpecifier$1,isImportOrExportDeclaration:isImportOrExportDeclaration,isImportSpecifier:isImportSpecifier$1,isIndexedAccessType:isIndexedAccessType$1,isInferredPredicate:isInferredPredicate,isInterfaceDeclaration:isInterfaceDeclaration,isInterfaceExtends:isInterfaceExtends,isInterfaceTypeAnnotation:isInterfaceTypeAnnotation,isInterpreterDirective:isInterpreterDirective,isIntersectionTypeAnnotation:isIntersectionTypeAnnotation,isJSX:isJSX,isJSXAttribute:isJSXAttribute,isJSXClosingElement:isJSXClosingElement,isJSXClosingFragment:isJSXClosingFragment,isJSXElement:isJSXElement,isJSXEmptyExpression:isJSXEmptyExpression,isJSXExpressionContainer:isJSXExpressionContainer$1,isJSXFragment:isJSXFragment,isJSXIdentifier:isJSXIdentifier$3,isJSXMemberExpression:isJSXMemberExpression$2,isJSXNamespacedName:isJSXNamespacedName$1,isJSXOpeningElement:isJSXOpeningElement,isJSXOpeningFragment:isJSXOpeningFragment,isJSXSpreadAttribute:isJSXSpreadAttribute$1,isJSXSpreadChild:isJSXSpreadChild,isJSXText:isJSXText,isLVal:isLVal,isLabeledStatement:isLabeledStatement,isLet:isLet,isLiteral:isLiteral$6,isLogicalExpression:isLogicalExpression,isLoop:isLoop$1,isMemberExpression:isMemberExpression$9,isMetaProperty:isMetaProperty$1,isMethod:isMethod$1,isMiscellaneous:isMiscellaneous,isMixedTypeAnnotation:isMixedTypeAnnotation$1,isModuleDeclaration:isModuleDeclaration,isModuleExpression:isModuleExpression,isModuleSpecifier:isModuleSpecifier$1,isNewExpression:isNewExpression$3,isNode:isNode,isNodesEquivalent:isNodesEquivalent,isNoop:isNoop,isNullLiteral:isNullLiteral$2,isNullLiteralTypeAnnotation:isNullLiteralTypeAnnotation,isNullableTypeAnnotation:isNullableTypeAnnotation,isNumberLiteral:isNumberLiteral,isNumberLiteralTypeAnnotation:isNumberLiteralTypeAnnotation,isNumberTypeAnnotation:isNumberTypeAnnotation$1,isNumericLiteral:isNumericLiteral,isObjectExpression:isObjectExpression$3,isObjectMember:isObjectMember,isObjectMethod:isObjectMethod$1,isObjectPattern:isObjectPattern$2,isObjectProperty:isObjectProperty$5,isObjectTypeAnnotation:isObjectTypeAnnotation,isObjectTypeCallProperty:isObjectTypeCallProperty,isObjectTypeIndexer:isObjectTypeIndexer,isObjectTypeInternalSlot:isObjectTypeInternalSlot,isObjectTypeProperty:isObjectTypeProperty,isObjectTypeSpreadProperty:isObjectTypeSpreadProperty,isOpaqueType:isOpaqueType,isOptionalCallExpression:isOptionalCallExpression$2,isOptionalIndexedAccessType:isOptionalIndexedAccessType,isOptionalMemberExpression:isOptionalMemberExpression$3,isParenthesizedExpression:isParenthesizedExpression$1,isPattern:isPattern,isPatternLike:isPatternLike,isPipelineBareFunction:isPipelineBareFunction,isPipelinePrimaryTopicReference:isPipelinePrimaryTopicReference,isPipelineTopicExpression:isPipelineTopicExpression,isPlaceholder:isPlaceholder$1,isPlaceholderType:isPlaceholderType,isPrivate:isPrivate,isPrivateName:isPrivateName$3,isProgram:isProgram$1,isProperty:isProperty$1,isPureish:isPureish$2,isQualifiedTypeIdentifier:isQualifiedTypeIdentifier,isRecordExpression:isRecordExpression$1,isReferenced:isReferenced$2,isRegExpLiteral:isRegExpLiteral$2,isRegexLiteral:isRegexLiteral,isRestElement:isRestElement$3,isRestProperty:isRestProperty$1,isReturnStatement:isReturnStatement,isScopable:isScopable,isScope:isScope$1,isSequenceExpression:isSequenceExpression$1,isSpecifierDefault:isSpecifierDefault,isSpreadElement:isSpreadElement$1,isSpreadProperty:isSpreadProperty$1,isStandardized:isStandardized,isStatement:isStatement$8,isStaticBlock:isStaticBlock,isStringLiteral:isStringLiteral$5,isStringLiteralTypeAnnotation:isStringLiteralTypeAnnotation,isStringTypeAnnotation:isStringTypeAnnotation$1,isSuper:isSuper$3,isSwitchCase:isSwitchCase,isSwitchStatement:isSwitchStatement,isSymbolTypeAnnotation:isSymbolTypeAnnotation,isTSAnyKeyword:isTSAnyKeyword,isTSArrayType:isTSArrayType$1,isTSAsExpression:isTSAsExpression$1,isTSBaseType:isTSBaseType,isTSBigIntKeyword:isTSBigIntKeyword,isTSBooleanKeyword:isTSBooleanKeyword,isTSCallSignatureDeclaration:isTSCallSignatureDeclaration,isTSConditionalType:isTSConditionalType,isTSConstructSignatureDeclaration:isTSConstructSignatureDeclaration,isTSConstructorType:isTSConstructorType,isTSDeclareFunction:isTSDeclareFunction,isTSDeclareMethod:isTSDeclareMethod,isTSEntityName:isTSEntityName,isTSEnumDeclaration:isTSEnumDeclaration$1,isTSEnumMember:isTSEnumMember,isTSExportAssignment:isTSExportAssignment,isTSExpressionWithTypeArguments:isTSExpressionWithTypeArguments,isTSExternalModuleReference:isTSExternalModuleReference,isTSFunctionType:isTSFunctionType,isTSImportEqualsDeclaration:isTSImportEqualsDeclaration,isTSImportType:isTSImportType,isTSIndexSignature:isTSIndexSignature,isTSIndexedAccessType:isTSIndexedAccessType,isTSInferType:isTSInferType,isTSInstantiationExpression:isTSInstantiationExpression,isTSInterfaceBody:isTSInterfaceBody$1,isTSInterfaceDeclaration:isTSInterfaceDeclaration,isTSIntersectionType:isTSIntersectionType,isTSIntrinsicKeyword:isTSIntrinsicKeyword,isTSLiteralType:isTSLiteralType,isTSMappedType:isTSMappedType,isTSMethodSignature:isTSMethodSignature,isTSModuleBlock:isTSModuleBlock,isTSModuleDeclaration:isTSModuleDeclaration,isTSNamedTupleMember:isTSNamedTupleMember,isTSNamespaceExportDeclaration:isTSNamespaceExportDeclaration,isTSNeverKeyword:isTSNeverKeyword,isTSNonNullExpression:isTSNonNullExpression$1,isTSNullKeyword:isTSNullKeyword,isTSNumberKeyword:isTSNumberKeyword,isTSObjectKeyword:isTSObjectKeyword,isTSOptionalType:isTSOptionalType,isTSParameterProperty:isTSParameterProperty,isTSParenthesizedType:isTSParenthesizedType,isTSPropertySignature:isTSPropertySignature,isTSQualifiedName:isTSQualifiedName,isTSRestType:isTSRestType,isTSSatisfiesExpression:isTSSatisfiesExpression$1,isTSStringKeyword:isTSStringKeyword,isTSSymbolKeyword:isTSSymbolKeyword,isTSThisType:isTSThisType,isTSTupleType:isTSTupleType,isTSType:isTSType$1,isTSTypeAliasDeclaration:isTSTypeAliasDeclaration,isTSTypeAnnotation:isTSTypeAnnotation$1,isTSTypeAssertion:isTSTypeAssertion$1,isTSTypeElement:isTSTypeElement,isTSTypeLiteral:isTSTypeLiteral,isTSTypeOperator:isTSTypeOperator,isTSTypeParameter:isTSTypeParameter,isTSTypeParameterDeclaration:isTSTypeParameterDeclaration,isTSTypeParameterInstantiation:isTSTypeParameterInstantiation,isTSTypePredicate:isTSTypePredicate,isTSTypeQuery:isTSTypeQuery,isTSTypeReference:isTSTypeReference$1,isTSUndefinedKeyword:isTSUndefinedKeyword,isTSUnionType:isTSUnionType,isTSUnknownKeyword:isTSUnknownKeyword,isTSVoidKeyword:isTSVoidKeyword,isTaggedTemplateExpression:isTaggedTemplateExpression$1,isTemplateElement:isTemplateElement,isTemplateLiteral:isTemplateLiteral$2,isTerminatorless:isTerminatorless,isThisExpression:isThisExpression$2,isThisTypeAnnotation:isThisTypeAnnotation,isThrowStatement:isThrowStatement,isTopicReference:isTopicReference$1,isTryStatement:isTryStatement,isTupleExpression:isTupleExpression$1,isTupleTypeAnnotation:isTupleTypeAnnotation$1,isType:isType$2,isTypeAlias:isTypeAlias,isTypeAnnotation:isTypeAnnotation$1,isTypeCastExpression:isTypeCastExpression$1,isTypeParameter:isTypeParameter,isTypeParameterDeclaration:isTypeParameterDeclaration,isTypeParameterInstantiation:isTypeParameterInstantiation,isTypeScript:isTypeScript,isTypeofTypeAnnotation:isTypeofTypeAnnotation,isUnaryExpression:isUnaryExpression$1,isUnaryLike:isUnaryLike,isUnionTypeAnnotation:isUnionTypeAnnotation$1,isUpdateExpression:isUpdateExpression$1,isUserWhitespacable:isUserWhitespacable,isV8IntrinsicIdentifier:isV8IntrinsicIdentifier,isValidES3Identifier:isValidES3Identifier,isValidIdentifier:isValidIdentifier$1,isVar:isVar$1,isVariableDeclaration:isVariableDeclaration$4,isVariableDeclarator:isVariableDeclarator$1,isVariance:isVariance,isVoidTypeAnnotation:isVoidTypeAnnotation$1,isWhile:isWhile,isWhileStatement:isWhileStatement,isWithStatement:isWithStatement,isYieldExpression:isYieldExpression$1,jSXAttribute:jsxAttribute,jSXClosingElement:jsxClosingElement,jSXClosingFragment:jsxClosingFragment,jSXElement:jsxElement,jSXEmptyExpression:jsxEmptyExpression,jSXExpressionContainer:jsxExpressionContainer$1,jSXFragment:jsxFragment,jSXIdentifier:jsxIdentifier$2,jSXMemberExpression:jsxMemberExpression$1,jSXNamespacedName:jsxNamespacedName,jSXOpeningElement:jsxOpeningElement,jSXOpeningFragment:jsxOpeningFragment,jSXSpreadAttribute:jsxSpreadAttribute,jSXSpreadChild:jsxSpreadChild,jSXText:jsxText,jsxAttribute:jsxAttribute,jsxClosingElement:jsxClosingElement,jsxClosingFragment:jsxClosingFragment,jsxElement:jsxElement,jsxEmptyExpression:jsxEmptyExpression,jsxExpressionContainer:jsxExpressionContainer$1,jsxFragment:jsxFragment,jsxIdentifier:jsxIdentifier$2,jsxMemberExpression:jsxMemberExpression$1,jsxNamespacedName:jsxNamespacedName,jsxOpeningElement:jsxOpeningElement,jsxOpeningFragment:jsxOpeningFragment,jsxSpreadAttribute:jsxSpreadAttribute,jsxSpreadChild:jsxSpreadChild,jsxText:jsxText,labeledStatement:labeledStatement,logicalExpression:logicalExpression$3,matchesPattern:matchesPattern$2,memberExpression:memberExpression$c,metaProperty:metaProperty$1,mixedTypeAnnotation:mixedTypeAnnotation,moduleExpression:moduleExpression,newExpression:newExpression,noop:noop$1,nullLiteral:nullLiteral$2,nullLiteralTypeAnnotation:nullLiteralTypeAnnotation$1,nullableTypeAnnotation:nullableTypeAnnotation,numberLiteral:NumberLiteral,numberLiteralTypeAnnotation:numberLiteralTypeAnnotation,numberTypeAnnotation:numberTypeAnnotation$2,numericLiteral:numericLiteral$8,objectExpression:objectExpression$3,objectMethod:objectMethod,objectPattern:objectPattern$1,objectProperty:objectProperty$1,objectTypeAnnotation:objectTypeAnnotation,objectTypeCallProperty:objectTypeCallProperty,objectTypeIndexer:objectTypeIndexer,objectTypeInternalSlot:objectTypeInternalSlot,objectTypeProperty:objectTypeProperty,objectTypeSpreadProperty:objectTypeSpreadProperty,opaqueType:opaqueType,optionalCallExpression:optionalCallExpression$2,optionalIndexedAccessType:optionalIndexedAccessType,optionalMemberExpression:optionalMemberExpression$2,parenthesizedExpression:parenthesizedExpression,pipelineBareFunction:pipelineBareFunction,pipelinePrimaryTopicReference:pipelinePrimaryTopicReference,pipelineTopicExpression:pipelineTopicExpression,placeholder:placeholder,prependToMemberExpression:prependToMemberExpression,privateName:privateName,program:program$3,qualifiedTypeIdentifier:qualifiedTypeIdentifier,react:react$3,recordExpression:recordExpression,regExpLiteral:regExpLiteral,regexLiteral:RegexLiteral,removeComments:removeComments$1,removeProperties:removeProperties$1,removePropertiesDeep:removePropertiesDeep$1,removeTypeDuplicates:removeTypeDuplicates$1,restElement:restElement$2,restProperty:RestProperty,returnStatement:returnStatement$3,sequenceExpression:sequenceExpression$8,shallowEqual:shallowEqual,spreadElement:spreadElement$2,spreadProperty:SpreadProperty,staticBlock:staticBlock,stringLiteral:stringLiteral$8,stringLiteralTypeAnnotation:stringLiteralTypeAnnotation,stringTypeAnnotation:stringTypeAnnotation$2,"super":_super$1,switchCase:switchCase,switchStatement:switchStatement,symbolTypeAnnotation:symbolTypeAnnotation,tSAnyKeyword:tsAnyKeyword,tSArrayType:tsArrayType,tSAsExpression:tsAsExpression,tSBigIntKeyword:tsBigIntKeyword,tSBooleanKeyword:tsBooleanKeyword,tSCallSignatureDeclaration:tsCallSignatureDeclaration,tSConditionalType:tsConditionalType,tSConstructSignatureDeclaration:tsConstructSignatureDeclaration,tSConstructorType:tsConstructorType,tSDeclareFunction:tsDeclareFunction,tSDeclareMethod:tsDeclareMethod,tSEnumDeclaration:tsEnumDeclaration,tSEnumMember:tsEnumMember,tSExportAssignment:tsExportAssignment,tSExpressionWithTypeArguments:tsExpressionWithTypeArguments,tSExternalModuleReference:tsExternalModuleReference,tSFunctionType:tsFunctionType,tSImportEqualsDeclaration:tsImportEqualsDeclaration,tSImportType:tsImportType,tSIndexSignature:tsIndexSignature,tSIndexedAccessType:tsIndexedAccessType,tSInferType:tsInferType,tSInstantiationExpression:tsInstantiationExpression,tSInterfaceBody:tsInterfaceBody,tSInterfaceDeclaration:tsInterfaceDeclaration,tSIntersectionType:tsIntersectionType,tSIntrinsicKeyword:tsIntrinsicKeyword,tSLiteralType:tsLiteralType,tSMappedType:tsMappedType,tSMethodSignature:tsMethodSignature,tSModuleBlock:tsModuleBlock,tSModuleDeclaration:tsModuleDeclaration,tSNamedTupleMember:tsNamedTupleMember,tSNamespaceExportDeclaration:tsNamespaceExportDeclaration,tSNeverKeyword:tsNeverKeyword,tSNonNullExpression:tsNonNullExpression,tSNullKeyword:tsNullKeyword,tSNumberKeyword:tsNumberKeyword,tSObjectKeyword:tsObjectKeyword,tSOptionalType:tsOptionalType,tSParameterProperty:tsParameterProperty,tSParenthesizedType:tsParenthesizedType,tSPropertySignature:tsPropertySignature,tSQualifiedName:tsQualifiedName,tSRestType:tsRestType,tSSatisfiesExpression:tsSatisfiesExpression,tSStringKeyword:tsStringKeyword,tSSymbolKeyword:tsSymbolKeyword,tSThisType:tsThisType,tSTupleType:tsTupleType,tSTypeAliasDeclaration:tsTypeAliasDeclaration,tSTypeAnnotation:tsTypeAnnotation,tSTypeAssertion:tsTypeAssertion,tSTypeLiteral:tsTypeLiteral,tSTypeOperator:tsTypeOperator,tSTypeParameter:tsTypeParameter,tSTypeParameterDeclaration:tsTypeParameterDeclaration,tSTypeParameterInstantiation:tsTypeParameterInstantiation,tSTypePredicate:tsTypePredicate,tSTypeQuery:tsTypeQuery,tSTypeReference:tsTypeReference,tSUndefinedKeyword:tsUndefinedKeyword,tSUnionType:tsUnionType,tSUnknownKeyword:tsUnknownKeyword,tSVoidKeyword:tsVoidKeyword,taggedTemplateExpression:taggedTemplateExpression,templateElement:templateElement,templateLiteral:templateLiteral,thisExpression:thisExpression$4,thisTypeAnnotation:thisTypeAnnotation,throwStatement:throwStatement,toBindingIdentifierName:toBindingIdentifierName$1,toBlock:toBlock,toComputedKey:toComputedKey$2,toExpression:toExpression$1,toIdentifier:toIdentifier$1,toKeyAlias:toKeyAlias,toStatement:toStatement,topicReference:topicReference,traverse:traverse$2,traverseFast:traverseFast$2,tryStatement:tryStatement,tsAnyKeyword:tsAnyKeyword,tsArrayType:tsArrayType,tsAsExpression:tsAsExpression,tsBigIntKeyword:tsBigIntKeyword,tsBooleanKeyword:tsBooleanKeyword,tsCallSignatureDeclaration:tsCallSignatureDeclaration,tsConditionalType:tsConditionalType,tsConstructSignatureDeclaration:tsConstructSignatureDeclaration,tsConstructorType:tsConstructorType,tsDeclareFunction:tsDeclareFunction,tsDeclareMethod:tsDeclareMethod,tsEnumDeclaration:tsEnumDeclaration,tsEnumMember:tsEnumMember,tsExportAssignment:tsExportAssignment,tsExpressionWithTypeArguments:tsExpressionWithTypeArguments,tsExternalModuleReference:tsExternalModuleReference,tsFunctionType:tsFunctionType,tsImportEqualsDeclaration:tsImportEqualsDeclaration,tsImportType:tsImportType,tsIndexSignature:tsIndexSignature,tsIndexedAccessType:tsIndexedAccessType,tsInferType:tsInferType,tsInstantiationExpression:tsInstantiationExpression,tsInterfaceBody:tsInterfaceBody,tsInterfaceDeclaration:tsInterfaceDeclaration,tsIntersectionType:tsIntersectionType,tsIntrinsicKeyword:tsIntrinsicKeyword,tsLiteralType:tsLiteralType,tsMappedType:tsMappedType,tsMethodSignature:tsMethodSignature,tsModuleBlock:tsModuleBlock,tsModuleDeclaration:tsModuleDeclaration,tsNamedTupleMember:tsNamedTupleMember,tsNamespaceExportDeclaration:tsNamespaceExportDeclaration,tsNeverKeyword:tsNeverKeyword,tsNonNullExpression:tsNonNullExpression,tsNullKeyword:tsNullKeyword,tsNumberKeyword:tsNumberKeyword,tsObjectKeyword:tsObjectKeyword,tsOptionalType:tsOptionalType,tsParameterProperty:tsParameterProperty,tsParenthesizedType:tsParenthesizedType,tsPropertySignature:tsPropertySignature,tsQualifiedName:tsQualifiedName,tsRestType:tsRestType,tsSatisfiesExpression:tsSatisfiesExpression,tsStringKeyword:tsStringKeyword,tsSymbolKeyword:tsSymbolKeyword,tsThisType:tsThisType,tsTupleType:tsTupleType,tsTypeAliasDeclaration:tsTypeAliasDeclaration,tsTypeAnnotation:tsTypeAnnotation,tsTypeAssertion:tsTypeAssertion,tsTypeLiteral:tsTypeLiteral,tsTypeOperator:tsTypeOperator,tsTypeParameter:tsTypeParameter,tsTypeParameterDeclaration:tsTypeParameterDeclaration,tsTypeParameterInstantiation:tsTypeParameterInstantiation,tsTypePredicate:tsTypePredicate,tsTypeQuery:tsTypeQuery,tsTypeReference:tsTypeReference,tsUndefinedKeyword:tsUndefinedKeyword,tsUnionType:tsUnionType,tsUnknownKeyword:tsUnknownKeyword,tsVoidKeyword:tsVoidKeyword,tupleExpression:tupleExpression,tupleTypeAnnotation:tupleTypeAnnotation$1,typeAlias:typeAlias,typeAnnotation:typeAnnotation,typeCastExpression:typeCastExpression,typeParameter:typeParameter,typeParameterDeclaration:typeParameterDeclaration,typeParameterInstantiation:typeParameterInstantiation,typeofTypeAnnotation:typeofTypeAnnotation,unaryExpression:unaryExpression$6,unionTypeAnnotation:unionTypeAnnotation$1,updateExpression:updateExpression$1,v8IntrinsicIdentifier:v8IntrinsicIdentifier,validate:validate$5,valueToNode:valueToNode$1,variableDeclaration:variableDeclaration$8,variableDeclarator:variableDeclarator$8,variance:variance,voidTypeAnnotation:voidTypeAnnotation$3,whileStatement:whileStatement,withStatement:withStatement,yieldExpression:yieldExpression$2});var isBinding=isBinding$1,nodeIsBlockScoped=isBlockScoped$2,isExportDeclaration$2=isExportDeclaration$3,nodeIsExpression=isExpression$4,nodeIsFlow=isFlow$1,isForStatement$1=isForStatement$2,isForXStatement=isForXStatement$1,isIdentifier$i=isIdentifier$j,isImportDeclaration$2=isImportDeclaration$3,isImportSpecifier=isImportSpecifier$1,isJSXIdentifier$2=isJSXIdentifier$3,isJSXMemberExpression$1=isJSXMemberExpression$2,isMemberExpression$8=isMemberExpression$9,nodeIsRestElement=isRestElement$3,nodeIsReferenced=isReferenced$2,nodeIsScope=isScope$1,nodeIsStatement=isStatement$8,nodeIsVar=isVar$1,isVariableDeclaration$3=isVariableDeclaration$4,react$2=react$3,isForOfStatement$1=isForOfStatement$2;var isCompatTag=react$2.isCompatTag;function isReferencedIdentifier(opts){var node=this.node,parent=this.parent;if(!isIdentifier$i(node,opts)&&!isJSXMemberExpression$1(parent,opts)){if(isJSXIdentifier$2(node,opts)){if(isCompatTag(node.name))return false;}else{return false;}}return nodeIsReferenced(node,parent,this.parentPath.parent);}function isReferencedMemberExpression(){var node=this.node,parent=this.parent;return isMemberExpression$8(node)&&nodeIsReferenced(node,parent);}function isBindingIdentifier(){var node=this.node,parent=this.parent;var grandparent=this.parentPath.parent;return isIdentifier$i(node)&&isBinding(node,parent,grandparent);}function isStatement$7(){var node=this.node,parent=this.parent;if(nodeIsStatement(node)){if(isVariableDeclaration$3(node)){if(isForXStatement(parent,{left:node}))return false;if(isForStatement$1(parent,{init:node}))return false;}return true;}else{return false;}}function isExpression$3(){if(this.isIdentifier()){return this.isReferencedIdentifier();}else{return nodeIsExpression(this.node);}}function isScope(){return nodeIsScope(this.node,this.parent);}function isReferenced$1(){return nodeIsReferenced(this.node,this.parent);}function isBlockScoped$1(){return nodeIsBlockScoped(this.node);}function isVar(){return nodeIsVar(this.node);}function isUser(){return this.node&&!!this.node.loc;}function isGenerated(){return!this.isUser();}function isPure(constantsOnly){return this.scope.isPure(this.node,constantsOnly);}function isFlow(){var node=this.node;if(nodeIsFlow(node)){return true;}else if(isImportDeclaration$2(node)){return node.importKind==="type"||node.importKind==="typeof";}else if(isExportDeclaration$2(node)){return node.exportKind==="type";}else if(isImportSpecifier(node)){return node.importKind==="type"||node.importKind==="typeof";}else{return false;}}function isRestProperty(){return nodeIsRestElement(this.node)&&this.parentPath&&this.parentPath.isObjectPattern();}function isSpreadProperty(){return nodeIsRestElement(this.node)&&this.parentPath&&this.parentPath.isObjectExpression();}function isForAwaitStatement(){return isForOfStatement$1(this.node,{"await":true});}{exports.isExistentialTypeParam=function isExistentialTypeParam(){throw new Error("`path.isExistentialTypeParam` has been renamed to `path.isExistsTypeAnnotation()` in Babel 7.");};exports.isNumericLiteralTypeAnnotation=function isNumericLiteralTypeAnnotation(){throw new Error("`path.isNumericLiteralTypeAnnotation()` has been renamed to `path.isNumberLiteralTypeAnnotation()` in Babel 7.");};}var NodePath_virtual_types_validator=/*#__PURE__*/Object.freeze({__proto__:null,isBindingIdentifier:isBindingIdentifier,isBlockScoped:isBlockScoped$1,isExpression:isExpression$3,isFlow:isFlow,isForAwaitStatement:isForAwaitStatement,isGenerated:isGenerated,isPure:isPure,isReferenced:isReferenced$1,isReferencedIdentifier:isReferencedIdentifier,isReferencedMemberExpression:isReferencedMemberExpression,isRestProperty:isRestProperty,isScope:isScope,isSpreadProperty:isSpreadProperty,isStatement:isStatement$7,isUser:isUser,isVar:isVar});var DEPRECATED_KEYS=DEPRECATED_KEYS$1,DEPRECATED_ALIASES=DEPRECATED_ALIASES$1,FLIPPED_ALIAS_KEYS$2=FLIPPED_ALIAS_KEYS$3,TYPES=TYPES$1,deprecationWarning=deprecationWarning$1;function isVirtualType(type){return type in virtualTypes;}function isExplodedVisitor(visitor){return visitor==null?void 0:visitor._exploded;}function explode$1(visitor){if(isExplodedVisitor(visitor))return visitor;visitor._exploded=true;for(var _i=0,_arr=Object.keys(visitor);_i<_arr.length;_i++){var nodeType=_arr[_i];if(shouldIgnoreKey(nodeType))continue;var parts=nodeType.split("|");if(parts.length===1)continue;var fns=visitor[nodeType];delete visitor[nodeType];for(var _iterator=_createForOfIteratorHelperLoose(parts),_step;!(_step=_iterator()).done;){var part=_step.value;visitor[part]=fns;}}verify(visitor);delete visitor.__esModule;ensureEntranceObjects(visitor);ensureCallbackArrays(visitor);for(var _i2=0,_Object$keys=Object.keys(visitor);_i2<_Object$keys.length;_i2++){var _nodeType=_Object$keys[_i2];if(shouldIgnoreKey(_nodeType))continue;if(!isVirtualType(_nodeType))continue;var _fns=visitor[_nodeType];for(var _i3=0,_Object$keys2=Object.keys(_fns);_i3<_Object$keys2.length;_i3++){var type=_Object$keys2[_i3];_fns[type]=wrapCheck(_nodeType,_fns[type]);}delete visitor[_nodeType];var types=virtualTypes[_nodeType];if(types!==null){for(var _iterator2=_createForOfIteratorHelperLoose(types),_step2;!(_step2=_iterator2()).done;){var _type=_step2.value;if(visitor[_type]){mergePair(visitor[_type],_fns);}else{visitor[_type]=_fns;}}}else{mergePair(visitor,_fns);}}for(var _i4=0,_arr2=Object.keys(visitor);_i4<_arr2.length;_i4++){var _nodeType2=_arr2[_i4];if(shouldIgnoreKey(_nodeType2))continue;var aliases=FLIPPED_ALIAS_KEYS$2[_nodeType2];if(_nodeType2 in DEPRECATED_KEYS){var deprecatedKey=DEPRECATED_KEYS[_nodeType2];deprecationWarning(_nodeType2,deprecatedKey,"Visitor ");aliases=[deprecatedKey];}else if(_nodeType2 in DEPRECATED_ALIASES){var deprecatedAlias=DEPRECATED_ALIASES[_nodeType2];deprecationWarning(_nodeType2,deprecatedAlias,"Visitor ");aliases=FLIPPED_ALIAS_KEYS$2[deprecatedAlias];}if(!aliases)continue;var _fns2=visitor[_nodeType2];delete visitor[_nodeType2];for(var _iterator3=_createForOfIteratorHelperLoose(aliases),_step3;!(_step3=_iterator3()).done;){var alias=_step3.value;var existing=visitor[alias];if(existing){mergePair(existing,_fns2);}else{visitor[alias]=Object.assign({},_fns2);}}}for(var _i5=0,_Object$keys3=Object.keys(visitor);_i5<_Object$keys3.length;_i5++){var _nodeType3=_Object$keys3[_i5];if(shouldIgnoreKey(_nodeType3))continue;ensureCallbackArrays(visitor[_nodeType3]);}return visitor;}function verify(visitor){if(visitor._verified)return;if(typeof visitor==="function"){throw new Error("You passed `traverse()` a function when it expected a visitor object, "+"are you sure you didn't mean `{ enter: Function }`?");}for(var _i6=0,_arr3=Object.keys(visitor);_i6<_arr3.length;_i6++){var nodeType=_arr3[_i6];if(nodeType==="enter"||nodeType==="exit"){validateVisitorMethods(nodeType,visitor[nodeType]);}if(shouldIgnoreKey(nodeType))continue;if(TYPES.indexOf(nodeType)<0){throw new Error("You gave us a visitor for the node type "+nodeType+" but it's not a valid type");}var _visitors=visitor[nodeType];if(_typeof(_visitors)==="object"){for(var _i7=0,_Object$keys4=Object.keys(_visitors);_i7<_Object$keys4.length;_i7++){var visitorKey=_Object$keys4[_i7];if(visitorKey==="enter"||visitorKey==="exit"){validateVisitorMethods(nodeType+"."+visitorKey,_visitors[visitorKey]);}else{throw new Error("You passed `traverse()` a visitor object with the property "+(nodeType+" that has the invalid property "+visitorKey));}}}}visitor._verified=true;}function validateVisitorMethods(path,val){var fns=[].concat(val);for(var _iterator4=_createForOfIteratorHelperLoose(fns),_step4;!(_step4=_iterator4()).done;){var fn=_step4.value;if(typeof fn!=="function"){throw new TypeError("Non-function found defined in "+path+" with type "+_typeof(fn));}}}function merge$1(visitors,states,wrapper){if(states===void 0){states=[];}var mergedVisitor={};for(var i=0;i<visitors.length;i++){var visitor=explode$1(visitors[i]);var state=states[i];var topVisitor=visitor;if(state||wrapper){topVisitor=wrapWithStateOrWrapper(topVisitor,state,wrapper);}mergePair(mergedVisitor,topVisitor);for(var _i8=0,_arr4=Object.keys(visitor);_i8<_arr4.length;_i8++){var key=_arr4[_i8];if(shouldIgnoreKey(key))continue;var typeVisitor=visitor[key];if(state||wrapper){typeVisitor=wrapWithStateOrWrapper(typeVisitor,state,wrapper);}var nodeVisitor=mergedVisitor[key]||(mergedVisitor[key]={});mergePair(nodeVisitor,typeVisitor);}}return mergedVisitor;}function wrapWithStateOrWrapper(oldVisitor,state,wrapper){var newVisitor={};var _loop=function _loop(){var phase=_arr5[_i9];var fns=oldVisitor[phase];if(!Array.isArray(fns))return 1;fns=fns.map(function(fn){var newFn=fn;if(state){newFn=function newFn(path){fn.call(state,path,state);};}if(wrapper){newFn=wrapper(state==null?void 0:state.key,phase,newFn);}if(newFn!==fn){newFn.toString=function(){return fn.toString();};}return newFn;});newVisitor[phase]=fns;};for(var _i9=0,_arr5=["enter","exit"];_i9<_arr5.length;_i9++){if(_loop())continue;}return newVisitor;}function ensureEntranceObjects(obj){for(var _i10=0,_arr6=Object.keys(obj);_i10<_arr6.length;_i10++){var key=_arr6[_i10];if(shouldIgnoreKey(key))continue;var fns=obj[key];if(typeof fns==="function"){obj[key]={enter:fns};}}}function ensureCallbackArrays(obj){if(obj.enter&&!Array.isArray(obj.enter))obj.enter=[obj.enter];if(obj.exit&&!Array.isArray(obj.exit))obj.exit=[obj.exit];}function wrapCheck(nodeType,fn){var fnKey="is"+nodeType;var validator=NodePath_virtual_types_validator[fnKey];var newFn=function newFn(path){if(validator.call(path)){return fn.apply(this,arguments);}};newFn.toString=function(){return fn.toString();};return newFn;}function shouldIgnoreKey(key){if(key[0]==="_")return true;if(key==="enter"||key==="exit"||key==="shouldSkip")return true;if(key==="denylist"||key==="noScope"||key==="skipKeys"){return true;}{if(key==="blacklist"){return true;}}return false;}function mergePair(dest,src){for(var _i11=0,_arr7=["enter","exit"];_i11<_arr7.length;_i11++){var phase=_arr7[_i11];if(!src[phase])continue;dest[phase]=[].concat(dest[phase]||[],src[phase]);}}var visitors$2=/*#__PURE__*/Object.freeze({__proto__:null,explode:explode$1,isExplodedVisitor:isExplodedVisitor,merge:merge$1,verify:verify});var pathsCache=new WeakMap();var scope=new WeakMap();function clear(){clearPath();clearScope();}function clearPath(){pathsCache=new WeakMap();}function clearScope(){scope=new WeakMap();}var nullHub=Object.freeze({});function getCachedPaths(hub,parent){var _pathsCache$get,_hub;{hub=null;}return(_pathsCache$get=pathsCache.get((_hub=hub)!=null?_hub:nullHub))==null?void 0:_pathsCache$get.get(parent);}function getOrCreateCachedPaths(hub,parent){var _hub2,_hub3;{hub=null;}var parents=pathsCache.get((_hub2=hub)!=null?_hub2:nullHub);if(!parents)pathsCache.set((_hub3=hub)!=null?_hub3:nullHub,parents=new WeakMap());var paths=parents.get(parent);if(!paths)parents.set(parent,paths=new Map());return paths;}var cache$1=/*#__PURE__*/Object.freeze({__proto__:null,clear:clear,clearPath:clearPath,clearScope:clearScope,getCachedPaths:getCachedPaths,getOrCreateCachedPaths:getOrCreateCachedPaths,get path(){return pathsCache;},get scope(){return scope;}});var browser$2={exports:{}};var ms;var hasRequiredMs;function requireMs(){if(hasRequiredMs)return ms;hasRequiredMs=1;var s=1000;var m=s*60;var h=m*60;var d=h*24;var w=d*7;var y=d*365.25;ms=function ms(val,options){options=options||{};var type=_typeof(val);if(type==='string'&&val.length>0){return parse(val);}else if(type==='number'&&isFinite(val)){return options["long"]?fmtLong(val):fmtShort(val);}throw new Error('val is not a non-empty string or a valid number. val='+JSON.stringify(val));};function parse(str){str=String(str);if(str.length>100){return;}var match=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(str);if(!match){return;}var n=parseFloat(match[1]);var type=(match[2]||'ms').toLowerCase();switch(type){case'years':case'year':case'yrs':case'yr':case'y':return n*y;case'weeks':case'week':case'w':return n*w;case'days':case'day':case'd':return n*d;case'hours':case'hour':case'hrs':case'hr':case'h':return n*h;case'minutes':case'minute':case'mins':case'min':case'm':return n*m;case'seconds':case'second':case'secs':case'sec':case's':return n*s;case'milliseconds':case'millisecond':case'msecs':case'msec':case'ms':return n;default:return undefined;}}function fmtShort(ms){var msAbs=Math.abs(ms);if(msAbs>=d){return Math.round(ms/d)+'d';}if(msAbs>=h){return Math.round(ms/h)+'h';}if(msAbs>=m){return Math.round(ms/m)+'m';}if(msAbs>=s){return Math.round(ms/s)+'s';}return ms+'ms';}function fmtLong(ms){var msAbs=Math.abs(ms);if(msAbs>=d){return plural(ms,msAbs,d,'day');}if(msAbs>=h){return plural(ms,msAbs,h,'hour');}if(msAbs>=m){return plural(ms,msAbs,m,'minute');}if(msAbs>=s){return plural(ms,msAbs,s,'second');}return ms+' ms';}function plural(ms,msAbs,n,name){var isPlural=msAbs>=n*1.5;return Math.round(ms/n)+' '+name+(isPlural?'s':'');}return ms;}function setup$1(env){createDebug.debug=createDebug;createDebug["default"]=createDebug;createDebug.coerce=coerce;createDebug.disable=disable;createDebug.enable=enable;createDebug.enabled=enabled;createDebug.humanize=requireMs();createDebug.destroy=destroy;Object.keys(env).forEach(function(key){createDebug[key]=env[key];});createDebug.names=[];createDebug.skips=[];createDebug.formatters={};function selectColor(namespace){var hash=0;for(var i=0;i<namespace.length;i++){hash=(hash<<5)-hash+namespace.charCodeAt(i);hash|=0;}return createDebug.colors[Math.abs(hash)%createDebug.colors.length];}createDebug.selectColor=selectColor;function createDebug(namespace){var prevTime;var enableOverride=null;var namespacesCache;var enabledCache;function debug(){for(var _len=arguments.length,args=new Array(_len),_key=0;_key<_len;_key++){args[_key]=arguments[_key];}if(!debug.enabled){return;}var self=debug;var curr=Number(new Date());var ms=curr-(prevTime||curr);self.diff=ms;self.prev=prevTime;self.curr=curr;prevTime=curr;args[0]=createDebug.coerce(args[0]);if(typeof args[0]!=='string'){args.unshift('%O');}var index=0;args[0]=args[0].replace(/%([a-zA-Z%])/g,function(match,format){if(match==='%%'){return'%';}index++;var formatter=createDebug.formatters[format];if(typeof formatter==='function'){var val=args[index];match=formatter.call(self,val);args.splice(index,1);index--;}return match;});createDebug.formatArgs.call(self,args);var logFn=self.log||createDebug.log;logFn.apply(self,args);}debug.namespace=namespace;debug.useColors=createDebug.useColors();debug.color=createDebug.selectColor(namespace);debug.extend=extend;debug.destroy=createDebug.destroy;Object.defineProperty(debug,'enabled',{enumerable:true,configurable:false,get:function get(){if(enableOverride!==null){return enableOverride;}if(namespacesCache!==createDebug.namespaces){namespacesCache=createDebug.namespaces;enabledCache=createDebug.enabled(namespace);}return enabledCache;},set:function set(v){enableOverride=v;}});if(typeof createDebug.init==='function'){createDebug.init(debug);}return debug;}function extend(namespace,delimiter){var newDebug=createDebug(this.namespace+(typeof delimiter==='undefined'?':':delimiter)+namespace);newDebug.log=this.log;return newDebug;}function enable(namespaces){createDebug.save(namespaces);createDebug.namespaces=namespaces;createDebug.names=[];createDebug.skips=[];var i;var split=(typeof namespaces==='string'?namespaces:'').split(/[\s,]+/);var len=split.length;for(i=0;i<len;i++){if(!split[i]){continue;}namespaces=split[i].replace(/\*/g,'.*?');if(namespaces[0]==='-'){createDebug.skips.push(new RegExp('^'+namespaces.slice(1)+'$'));}else{createDebug.names.push(new RegExp('^'+namespaces+'$'));}}}function disable(){var namespaces=[].concat(_toConsumableArray(createDebug.names.map(toNamespace)),_toConsumableArray(createDebug.skips.map(toNamespace).map(function(namespace){return'-'+namespace;}))).join(',');createDebug.enable('');return namespaces;}function enabled(name){if(name[name.length-1]==='*'){return true;}var i;var len;for(i=0,len=createDebug.skips.length;i<len;i++){if(createDebug.skips[i].test(name)){return false;}}for(i=0,len=createDebug.names.length;i<len;i++){if(createDebug.names[i].test(name)){return true;}}return false;}function toNamespace(regexp){return regexp.toString().substring(2,regexp.toString().length-2).replace(/\.\*\?$/,'*');}function coerce(val){if(val instanceof Error){return val.stack||val.message;}return val;}function destroy(){console.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');}createDebug.enable(createDebug.load());return createDebug;}var common=setup$1;(function(module,exports){exports.formatArgs=formatArgs;exports.save=save;exports.load=load;exports.useColors=useColors;exports.storage=localstorage();exports.destroy=function(){var warned=false;return function(){if(!warned){warned=true;console.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');}};}();exports.colors=['#0000CC','#0000FF','#0033CC','#0033FF','#0066CC','#0066FF','#0099CC','#0099FF','#00CC00','#00CC33','#00CC66','#00CC99','#00CCCC','#00CCFF','#3300CC','#3300FF','#3333CC','#3333FF','#3366CC','#3366FF','#3399CC','#3399FF','#33CC00','#33CC33','#33CC66','#33CC99','#33CCCC','#33CCFF','#6600CC','#6600FF','#6633CC','#6633FF','#66CC00','#66CC33','#9900CC','#9900FF','#9933CC','#9933FF','#99CC00','#99CC33','#CC0000','#CC0033','#CC0066','#CC0099','#CC00CC','#CC00FF','#CC3300','#CC3333','#CC3366','#CC3399','#CC33CC','#CC33FF','#CC6600','#CC6633','#CC9900','#CC9933','#CCCC00','#CCCC33','#FF0000','#FF0033','#FF0066','#FF0099','#FF00CC','#FF00FF','#FF3300','#FF3333','#FF3366','#FF3399','#FF33CC','#FF33FF','#FF6600','#FF6633','#FF9900','#FF9933','#FFCC00','#FFCC33'];function useColors(){if(typeof window!=='undefined'&&window.process&&(window.process.type==='renderer'||window.process.__nwjs)){return true;}if(typeof navigator!=='undefined'&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)){return false;}return typeof document!=='undefined'&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window!=='undefined'&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator!=='undefined'&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||typeof navigator!=='undefined'&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/);}function formatArgs(args){args[0]=(this.useColors?'%c':'')+this.namespace+(this.useColors?' %c':' ')+args[0]+(this.useColors?'%c ':' ')+'+'+module.exports.humanize(this.diff);if(!this.useColors){return;}var c='color: '+this.color;args.splice(1,0,c,'color: inherit');var index=0;var lastC=0;args[0].replace(/%[a-zA-Z%]/g,function(match){if(match==='%%'){return;}index++;if(match==='%c'){lastC=index;}});args.splice(lastC,0,c);}exports.log=console.debug||console.log||function(){};function save(namespaces){try{if(namespaces){exports.storage.setItem('debug',namespaces);}else{exports.storage.removeItem('debug');}}catch(error){}}function load(){var r;try{r=exports.storage.getItem('debug');}catch(error){}if(!r&&typeof browser$1$1!=='undefined'&&'env'in browser$1$1){r=browser$1$1.env.DEBUG;}return r;}function localstorage(){try{return localStorage;}catch(error){}}module.exports=common(exports);var formatters=module.exports.formatters;formatters.j=function(v){try{return JSON.stringify(v);}catch(error){return'[UnexpectedJSONParseError]: '+error.message;}};})(browser$2,browser$2.exports);var browserExports=browser$2.exports;var cloneNode$i=cloneNode$j,exportNamedDeclaration$1=exportNamedDeclaration$2,exportSpecifier$1=exportSpecifier$2,identifier$i=identifier$j,variableDeclaration$7=variableDeclaration$8,variableDeclarator$7=variableDeclarator$8;function splitExportDeclaration(exportDeclaration){if(!exportDeclaration.isExportDeclaration()||exportDeclaration.isExportAllDeclaration()){throw new Error("Only default and named export declarations can be split.");}if(exportDeclaration.isExportDefaultDeclaration()){var _declaration=exportDeclaration.get("declaration");var standaloneDeclaration=_declaration.isFunctionDeclaration()||_declaration.isClassDeclaration();var exportExpr=_declaration.isFunctionExpression()||_declaration.isClassExpression();var scope=_declaration.isScope()?_declaration.scope.parent:_declaration.scope;var id=_declaration.node.id;var needBindingRegistration=false;if(!id){needBindingRegistration=true;id=scope.generateUidIdentifier("default");if(standaloneDeclaration||exportExpr){_declaration.node.id=cloneNode$i(id);}}else if(exportExpr&&scope.hasBinding(id.name)){needBindingRegistration=true;id=scope.generateUidIdentifier(id.name);}var updatedDeclaration=standaloneDeclaration?_declaration.node:variableDeclaration$7("var",[variableDeclarator$7(cloneNode$i(id),_declaration.node)]);var updatedExportDeclaration=exportNamedDeclaration$1(null,[exportSpecifier$1(cloneNode$i(id),identifier$i("default"))]);exportDeclaration.insertAfter(updatedExportDeclaration);exportDeclaration.replaceWith(updatedDeclaration);if(needBindingRegistration){scope.registerDeclaration(exportDeclaration);}return exportDeclaration;}else if(exportDeclaration.get("specifiers").length>0){throw new Error("It doesn't make sense to split exported specifiers.");}var declaration=exportDeclaration.get("declaration");var bindingIdentifiers=declaration.getOuterBindingIdentifiers();var specifiers=Object.keys(bindingIdentifiers).map(function(name){return exportSpecifier$1(identifier$i(name),identifier$i(name));});var aliasDeclar=exportNamedDeclaration$1(null,specifiers);exportDeclaration.insertAfter(aliasDeclar);exportDeclaration.replaceWith(declaration.node);return exportDeclaration;}function requeueComputedKeyAndDecorators(path){var context=path.context,node=path.node;if(node.computed){context.maybeQueue(path.get("key"));}if(node.decorators){for(var _iterator=_createForOfIteratorHelperLoose(path.get("decorators")),_step;!(_step=_iterator()).done;){var decorator=_step.value;context.maybeQueue(decorator);}}}var visitor$5={FunctionParent:function FunctionParent(path){if(path.isArrowFunctionExpression()){return;}else{path.skip();if(path.isMethod()){requeueComputedKeyAndDecorators(path);}}},Property:function Property(path){if(path.isObjectProperty()){return;}path.skip();requeueComputedKeyAndDecorators(path);}};var renameVisitor={ReferencedIdentifier:function ReferencedIdentifier(_ref,state){var node=_ref.node;if(node.name===state.oldName){node.name=state.newName;}},Scope:function Scope(path,state){if(!path.scope.bindingIdentifierEquals(state.oldName,state.binding.identifier)){path.skip();if(path.isMethod()){requeueComputedKeyAndDecorators(path);}}},ObjectProperty:function ObjectProperty(_ref2,state){var node=_ref2.node,scope=_ref2.scope;var _ref3=node.key,name=_ref3.name;if(node.shorthand&&(name===state.oldName||name===state.newName)&&scope.getBindingIdentifier(name)===state.binding.identifier){var _node$extra;node.shorthand=false;if((_node$extra=node.extra)!=null&&_node$extra.shorthand)node.extra.shorthand=false;}},"AssignmentExpression|Declaration|VariableDeclarator":function AssignmentExpressionDeclarationVariableDeclarator(path,state){if(path.isVariableDeclaration())return;var ids=path.getOuterBindingIdentifiers();for(var name in ids){if(name===state.oldName)ids[name].name=state.newName;}}};var Renamer=function(){function Renamer(binding,oldName,newName){this.newName=newName;this.oldName=oldName;this.binding=binding;}var _proto=Renamer.prototype;_proto.maybeConvertFromExportDeclaration=function maybeConvertFromExportDeclaration(parentDeclar){var maybeExportDeclar=parentDeclar.parentPath;if(!maybeExportDeclar.isExportDeclaration()){return;}if(maybeExportDeclar.isExportDefaultDeclaration()){var declaration=maybeExportDeclar.node.declaration;if(isDeclaration$1(declaration)&&!declaration.id){return;}}if(maybeExportDeclar.isExportAllDeclaration()){return;}splitExportDeclaration(maybeExportDeclar);};_proto.maybeConvertFromClassFunctionDeclaration=function maybeConvertFromClassFunctionDeclaration(path){return path;};_proto.maybeConvertFromClassFunctionExpression=function maybeConvertFromClassFunctionExpression(path){return path;};_proto.rename=function rename(){var binding=this.binding,oldName=this.oldName,newName=this.newName;var scope=binding.scope,path=binding.path;var parentDeclar=path.find(function(path){return path.isDeclaration()||path.isFunctionExpression()||path.isClassExpression();});if(parentDeclar){var bindingIds=parentDeclar.getOuterBindingIdentifiers();if(bindingIds[oldName]===binding.identifier){this.maybeConvertFromExportDeclaration(parentDeclar);}}var blockToTraverse=arguments[0]||scope.block;traverseNode(blockToTraverse,explode$1(renameVisitor),scope,this,scope.path,{discriminant:true});if(!arguments[0]){scope.removeOwnBinding(oldName);scope.bindings[newName]=binding;this.binding.identifier.name=newName;}if(parentDeclar){this.maybeConvertFromClassFunctionDeclaration(path);this.maybeConvertFromClassFunctionExpression(path);}};return _createClass(Renamer);}();var Binding=function(){function Binding(_ref){var identifier=_ref.identifier,scope=_ref.scope,path=_ref.path,kind=_ref.kind;this.identifier=void 0;this.scope=void 0;this.path=void 0;this.kind=void 0;this.constantViolations=[];this.constant=true;this.referencePaths=[];this.referenced=false;this.references=0;this.identifier=identifier;this.scope=scope;this.path=path;this.kind=kind;if((kind==="var"||kind==="hoisted")&&isDeclaredInLoop(path)){this.reassign(path);}this.clearValue();}var _proto=Binding.prototype;_proto.deoptValue=function deoptValue(){this.clearValue();this.hasDeoptedValue=true;};_proto.setValue=function setValue(value){if(this.hasDeoptedValue)return;this.hasValue=true;this.value=value;};_proto.clearValue=function clearValue(){this.hasDeoptedValue=false;this.hasValue=false;this.value=null;};_proto.reassign=function reassign(path){this.constant=false;if(this.constantViolations.indexOf(path)!==-1){return;}this.constantViolations.push(path);};_proto.reference=function reference(path){if(this.referencePaths.indexOf(path)!==-1){return;}this.referenced=true;this.references++;this.referencePaths.push(path);};_proto.dereference=function dereference(){this.references--;this.referenced=!!this.references;};return _createClass(Binding);}();function isDeclaredInLoop(path){for(var parentPath=path.parentPath,key=path.key;parentPath;_parentPath=parentPath,parentPath=_parentPath.parentPath,key=_parentPath.key,_parentPath){var _parentPath;if(parentPath.isFunctionParent())return false;if(parentPath.isWhile()||parentPath.isForXStatement()||parentPath.isForStatement()&&key==="body"){return true;}}return false;}var builtin={"Array":false,"ArrayBuffer":false,Atomics:false,BigInt:false,BigInt64Array:false,BigUint64Array:false,"Boolean":false,constructor:false,"DataView":false,"Date":false,"decodeURI":false,"decodeURIComponent":false,"encodeURI":false,"encodeURIComponent":false,"Error":false,"escape":false,"eval":false,"EvalError":false,"Float32Array":false,"Float64Array":false,"Function":false,globalThis:false,hasOwnProperty:false,"Infinity":false,"Int16Array":false,"Int32Array":false,"Int8Array":false,"isFinite":false,"isNaN":false,isPrototypeOf:false,"JSON":false,"Map":false,"Math":false,"NaN":false,"Number":false,"Object":false,"parseFloat":false,"parseInt":false,"Promise":false,propertyIsEnumerable:false,"Proxy":false,"RangeError":false,"ReferenceError":false,"Reflect":false,"RegExp":false,"Set":false,SharedArrayBuffer:false,"String":false,"Symbol":false,"SyntaxError":false,toLocaleString:false,toString:false,"TypeError":false,"Uint16Array":false,"Uint32Array":false,"Uint8Array":false,"Uint8ClampedArray":false,"undefined":false,"unescape":false,"URIError":false,valueOf:false,"WeakMap":false,"WeakSet":false};var es5={"Array":false,"Boolean":false,constructor:false,"Date":false,"decodeURI":false,"decodeURIComponent":false,"encodeURI":false,"encodeURIComponent":false,"Error":false,"escape":false,"eval":false,"EvalError":false,"Function":false,hasOwnProperty:false,"Infinity":false,"isFinite":false,"isNaN":false,isPrototypeOf:false,"JSON":false,"Math":false,"NaN":false,"Number":false,"Object":false,"parseFloat":false,"parseInt":false,propertyIsEnumerable:false,"RangeError":false,"ReferenceError":false,"RegExp":false,"String":false,"SyntaxError":false,toLocaleString:false,toString:false,"TypeError":false,"undefined":false,"unescape":false,"URIError":false,valueOf:false};var es2015={"Array":false,"ArrayBuffer":false,"Boolean":false,constructor:false,"DataView":false,"Date":false,"decodeURI":false,"decodeURIComponent":false,"encodeURI":false,"encodeURIComponent":false,"Error":false,"escape":false,"eval":false,"EvalError":false,"Float32Array":false,"Float64Array":false,"Function":false,hasOwnProperty:false,"Infinity":false,"Int16Array":false,"Int32Array":false,"Int8Array":false,"isFinite":false,"isNaN":false,isPrototypeOf:false,"JSON":false,"Map":false,"Math":false,"NaN":false,"Number":false,"Object":false,"parseFloat":false,"parseInt":false,"Promise":false,propertyIsEnumerable:false,"Proxy":false,"RangeError":false,"ReferenceError":false,"Reflect":false,"RegExp":false,"Set":false,"String":false,"Symbol":false,"SyntaxError":false,toLocaleString:false,toString:false,"TypeError":false,"Uint16Array":false,"Uint32Array":false,"Uint8Array":false,"Uint8ClampedArray":false,"undefined":false,"unescape":false,"URIError":false,valueOf:false,"WeakMap":false,"WeakSet":false};var es2017={"Array":false,"ArrayBuffer":false,Atomics:false,"Boolean":false,constructor:false,"DataView":false,"Date":false,"decodeURI":false,"decodeURIComponent":false,"encodeURI":false,"encodeURIComponent":false,"Error":false,"escape":false,"eval":false,"EvalError":false,"Float32Array":false,"Float64Array":false,"Function":false,hasOwnProperty:false,"Infinity":false,"Int16Array":false,"Int32Array":false,"Int8Array":false,"isFinite":false,"isNaN":false,isPrototypeOf:false,"JSON":false,"Map":false,"Math":false,"NaN":false,"Number":false,"Object":false,"parseFloat":false,"parseInt":false,"Promise":false,propertyIsEnumerable:false,"Proxy":false,"RangeError":false,"ReferenceError":false,"Reflect":false,"RegExp":false,"Set":false,SharedArrayBuffer:false,"String":false,"Symbol":false,"SyntaxError":false,toLocaleString:false,toString:false,"TypeError":false,"Uint16Array":false,"Uint32Array":false,"Uint8Array":false,"Uint8ClampedArray":false,"undefined":false,"unescape":false,"URIError":false,valueOf:false,"WeakMap":false,"WeakSet":false};var browser$1={AbortController:false,AbortSignal:false,addEventListener:false,alert:false,AnalyserNode:false,Animation:false,AnimationEffectReadOnly:false,AnimationEffectTiming:false,AnimationEffectTimingReadOnly:false,AnimationEvent:false,AnimationPlaybackEvent:false,AnimationTimeline:false,applicationCache:false,ApplicationCache:false,ApplicationCacheErrorEvent:false,atob:false,Attr:false,Audio:false,AudioBuffer:false,AudioBufferSourceNode:false,AudioContext:false,AudioDestinationNode:false,AudioListener:false,AudioNode:false,AudioParam:false,AudioProcessingEvent:false,AudioScheduledSourceNode:false,"AudioWorkletGlobalScope ":false,AudioWorkletNode:false,AudioWorkletProcessor:false,BarProp:false,BaseAudioContext:false,BatteryManager:false,BeforeUnloadEvent:false,BiquadFilterNode:false,Blob:false,BlobEvent:false,blur:false,BroadcastChannel:false,btoa:false,BudgetService:false,ByteLengthQueuingStrategy:false,Cache:false,caches:false,CacheStorage:false,cancelAnimationFrame:false,cancelIdleCallback:false,CanvasCaptureMediaStreamTrack:false,CanvasGradient:false,CanvasPattern:false,CanvasRenderingContext2D:false,ChannelMergerNode:false,ChannelSplitterNode:false,CharacterData:false,clearInterval:false,clearTimeout:false,clientInformation:false,ClipboardEvent:false,close:false,closed:false,CloseEvent:false,Comment:false,CompositionEvent:false,confirm:false,console:false,ConstantSourceNode:false,ConvolverNode:false,CountQueuingStrategy:false,createImageBitmap:false,Credential:false,CredentialsContainer:false,crypto:false,Crypto:false,CryptoKey:false,CSS:false,CSSConditionRule:false,CSSFontFaceRule:false,CSSGroupingRule:false,CSSImportRule:false,CSSKeyframeRule:false,CSSKeyframesRule:false,CSSMediaRule:false,CSSNamespaceRule:false,CSSPageRule:false,CSSRule:false,CSSRuleList:false,CSSStyleDeclaration:false,CSSStyleRule:false,CSSStyleSheet:false,CSSSupportsRule:false,CustomElementRegistry:false,customElements:false,CustomEvent:false,DataTransfer:false,DataTransferItem:false,DataTransferItemList:false,defaultstatus:false,defaultStatus:false,DelayNode:false,DeviceMotionEvent:false,DeviceOrientationEvent:false,devicePixelRatio:false,dispatchEvent:false,document:false,Document:false,DocumentFragment:false,DocumentType:false,DOMError:false,DOMException:false,DOMImplementation:false,DOMMatrix:false,DOMMatrixReadOnly:false,DOMParser:false,DOMPoint:false,DOMPointReadOnly:false,DOMQuad:false,DOMRect:false,DOMRectReadOnly:false,DOMStringList:false,DOMStringMap:false,DOMTokenList:false,DragEvent:false,DynamicsCompressorNode:false,Element:false,ErrorEvent:false,event:false,Event:false,EventSource:false,EventTarget:false,external:false,fetch:false,File:false,FileList:false,FileReader:false,find:false,focus:false,FocusEvent:false,FontFace:false,FontFaceSetLoadEvent:false,FormData:false,frameElement:false,frames:false,GainNode:false,Gamepad:false,GamepadButton:false,GamepadEvent:false,getComputedStyle:false,getSelection:false,HashChangeEvent:false,Headers:false,history:false,History:false,HTMLAllCollection:false,HTMLAnchorElement:false,HTMLAreaElement:false,HTMLAudioElement:false,HTMLBaseElement:false,HTMLBodyElement:false,HTMLBRElement:false,HTMLButtonElement:false,HTMLCanvasElement:false,HTMLCollection:false,HTMLContentElement:false,HTMLDataElement:false,HTMLDataListElement:false,HTMLDetailsElement:false,HTMLDialogElement:false,HTMLDirectoryElement:false,HTMLDivElement:false,HTMLDListElement:false,HTMLDocument:false,HTMLElement:false,HTMLEmbedElement:false,HTMLFieldSetElement:false,HTMLFontElement:false,HTMLFormControlsCollection:false,HTMLFormElement:false,HTMLFrameElement:false,HTMLFrameSetElement:false,HTMLHeadElement:false,HTMLHeadingElement:false,HTMLHRElement:false,HTMLHtmlElement:false,HTMLIFrameElement:false,HTMLImageElement:false,HTMLInputElement:false,HTMLLabelElement:false,HTMLLegendElement:false,HTMLLIElement:false,HTMLLinkElement:false,HTMLMapElement:false,HTMLMarqueeElement:false,HTMLMediaElement:false,HTMLMenuElement:false,HTMLMetaElement:false,HTMLMeterElement:false,HTMLModElement:false,HTMLObjectElement:false,HTMLOListElement:false,HTMLOptGroupElement:false,HTMLOptionElement:false,HTMLOptionsCollection:false,HTMLOutputElement:false,HTMLParagraphElement:false,HTMLParamElement:false,HTMLPictureElement:false,HTMLPreElement:false,HTMLProgressElement:false,HTMLQuoteElement:false,HTMLScriptElement:false,HTMLSelectElement:false,HTMLShadowElement:false,HTMLSlotElement:false,HTMLSourceElement:false,HTMLSpanElement:false,HTMLStyleElement:false,HTMLTableCaptionElement:false,HTMLTableCellElement:false,HTMLTableColElement:false,HTMLTableElement:false,HTMLTableRowElement:false,HTMLTableSectionElement:false,HTMLTemplateElement:false,HTMLTextAreaElement:false,HTMLTimeElement:false,HTMLTitleElement:false,HTMLTrackElement:false,HTMLUListElement:false,HTMLUnknownElement:false,HTMLVideoElement:false,IDBCursor:false,IDBCursorWithValue:false,IDBDatabase:false,IDBFactory:false,IDBIndex:false,IDBKeyRange:false,IDBObjectStore:false,IDBOpenDBRequest:false,IDBRequest:false,IDBTransaction:false,IDBVersionChangeEvent:false,IdleDeadline:false,IIRFilterNode:false,Image:false,ImageBitmap:false,ImageBitmapRenderingContext:false,ImageCapture:false,ImageData:false,indexedDB:false,innerHeight:false,innerWidth:false,InputEvent:false,IntersectionObserver:false,IntersectionObserverEntry:false,"Intl":false,isSecureContext:false,KeyboardEvent:false,KeyframeEffect:false,KeyframeEffectReadOnly:false,length:false,localStorage:false,location:true,Location:false,locationbar:false,matchMedia:false,MediaDeviceInfo:false,MediaDevices:false,MediaElementAudioSourceNode:false,MediaEncryptedEvent:false,MediaError:false,MediaKeyMessageEvent:false,MediaKeySession:false,MediaKeyStatusMap:false,MediaKeySystemAccess:false,MediaList:false,MediaQueryList:false,MediaQueryListEvent:false,MediaRecorder:false,MediaSettingsRange:false,MediaSource:false,MediaStream:false,MediaStreamAudioDestinationNode:false,MediaStreamAudioSourceNode:false,MediaStreamEvent:false,MediaStreamTrack:false,MediaStreamTrackEvent:false,menubar:false,MessageChannel:false,MessageEvent:false,MessagePort:false,MIDIAccess:false,MIDIConnectionEvent:false,MIDIInput:false,MIDIInputMap:false,MIDIMessageEvent:false,MIDIOutput:false,MIDIOutputMap:false,MIDIPort:false,MimeType:false,MimeTypeArray:false,MouseEvent:false,moveBy:false,moveTo:false,MutationEvent:false,MutationObserver:false,MutationRecord:false,name:false,NamedNodeMap:false,NavigationPreloadManager:false,navigator:false,Navigator:false,NetworkInformation:false,Node:false,NodeFilter:false,NodeIterator:false,NodeList:false,Notification:false,OfflineAudioCompletionEvent:false,OfflineAudioContext:false,offscreenBuffering:false,OffscreenCanvas:true,onabort:true,onafterprint:true,onanimationend:true,onanimationiteration:true,onanimationstart:true,onappinstalled:true,onauxclick:true,onbeforeinstallprompt:true,onbeforeprint:true,onbeforeunload:true,onblur:true,oncancel:true,oncanplay:true,oncanplaythrough:true,onchange:true,onclick:true,onclose:true,oncontextmenu:true,oncuechange:true,ondblclick:true,ondevicemotion:true,ondeviceorientation:true,ondeviceorientationabsolute:true,ondrag:true,ondragend:true,ondragenter:true,ondragleave:true,ondragover:true,ondragstart:true,ondrop:true,ondurationchange:true,onemptied:true,onended:true,onerror:true,onfocus:true,ongotpointercapture:true,onhashchange:true,oninput:true,oninvalid:true,onkeydown:true,onkeypress:true,onkeyup:true,onlanguagechange:true,onload:true,onloadeddata:true,onloadedmetadata:true,onloadstart:true,onlostpointercapture:true,onmessage:true,onmessageerror:true,onmousedown:true,onmouseenter:true,onmouseleave:true,onmousemove:true,onmouseout:true,onmouseover:true,onmouseup:true,onmousewheel:true,onoffline:true,ononline:true,onpagehide:true,onpageshow:true,onpause:true,onplay:true,onplaying:true,onpointercancel:true,onpointerdown:true,onpointerenter:true,onpointerleave:true,onpointermove:true,onpointerout:true,onpointerover:true,onpointerup:true,onpopstate:true,onprogress:true,onratechange:true,onrejectionhandled:true,onreset:true,onresize:true,onscroll:true,onsearch:true,onseeked:true,onseeking:true,onselect:true,onstalled:true,onstorage:true,onsubmit:true,onsuspend:true,ontimeupdate:true,ontoggle:true,ontransitionend:true,onunhandledrejection:true,onunload:true,onvolumechange:true,onwaiting:true,onwheel:true,open:false,openDatabase:false,opener:false,Option:false,origin:false,OscillatorNode:false,outerHeight:false,outerWidth:false,PageTransitionEvent:false,pageXOffset:false,pageYOffset:false,PannerNode:false,parent:false,Path2D:false,PaymentAddress:false,PaymentRequest:false,PaymentRequestUpdateEvent:false,PaymentResponse:false,performance:false,Performance:false,PerformanceEntry:false,PerformanceLongTaskTiming:false,PerformanceMark:false,PerformanceMeasure:false,PerformanceNavigation:false,PerformanceNavigationTiming:false,PerformanceObserver:false,PerformanceObserverEntryList:false,PerformancePaintTiming:false,PerformanceResourceTiming:false,PerformanceTiming:false,PeriodicWave:false,Permissions:false,PermissionStatus:false,personalbar:false,PhotoCapabilities:false,Plugin:false,PluginArray:false,PointerEvent:false,PopStateEvent:false,postMessage:false,Presentation:false,PresentationAvailability:false,PresentationConnection:false,PresentationConnectionAvailableEvent:false,PresentationConnectionCloseEvent:false,PresentationConnectionList:false,PresentationReceiver:false,PresentationRequest:false,print:false,ProcessingInstruction:false,ProgressEvent:false,PromiseRejectionEvent:false,prompt:false,PushManager:false,PushSubscription:false,PushSubscriptionOptions:false,queueMicrotask:false,RadioNodeList:false,Range:false,ReadableStream:false,registerProcessor:false,RemotePlayback:false,removeEventListener:false,Request:false,requestAnimationFrame:false,requestIdleCallback:false,resizeBy:false,ResizeObserver:false,ResizeObserverEntry:false,resizeTo:false,Response:false,RTCCertificate:false,RTCDataChannel:false,RTCDataChannelEvent:false,RTCDtlsTransport:false,RTCIceCandidate:false,RTCIceGatherer:false,RTCIceTransport:false,RTCPeerConnection:false,RTCPeerConnectionIceEvent:false,RTCRtpContributingSource:false,RTCRtpReceiver:false,RTCRtpSender:false,RTCSctpTransport:false,RTCSessionDescription:false,RTCStatsReport:false,RTCTrackEvent:false,screen:false,Screen:false,screenLeft:false,ScreenOrientation:false,screenTop:false,screenX:false,screenY:false,ScriptProcessorNode:false,scroll:false,scrollbars:false,scrollBy:false,scrollTo:false,scrollX:false,scrollY:false,SecurityPolicyViolationEvent:false,Selection:false,self:false,ServiceWorker:false,ServiceWorkerContainer:false,ServiceWorkerRegistration:false,sessionStorage:false,setInterval:false,setTimeout:false,ShadowRoot:false,SharedWorker:false,SourceBuffer:false,SourceBufferList:false,speechSynthesis:false,SpeechSynthesisEvent:false,SpeechSynthesisUtterance:false,StaticRange:false,status:false,statusbar:false,StereoPannerNode:false,stop:false,Storage:false,StorageEvent:false,StorageManager:false,styleMedia:false,StyleSheet:false,StyleSheetList:false,SubtleCrypto:false,SVGAElement:false,SVGAngle:false,SVGAnimatedAngle:false,SVGAnimatedBoolean:false,SVGAnimatedEnumeration:false,SVGAnimatedInteger:false,SVGAnimatedLength:false,SVGAnimatedLengthList:false,SVGAnimatedNumber:false,SVGAnimatedNumberList:false,SVGAnimatedPreserveAspectRatio:false,SVGAnimatedRect:false,SVGAnimatedString:false,SVGAnimatedTransformList:false,SVGAnimateElement:false,SVGAnimateMotionElement:false,SVGAnimateTransformElement:false,SVGAnimationElement:false,SVGCircleElement:false,SVGClipPathElement:false,SVGComponentTransferFunctionElement:false,SVGDefsElement:false,SVGDescElement:false,SVGDiscardElement:false,SVGElement:false,SVGEllipseElement:false,SVGFEBlendElement:false,SVGFEColorMatrixElement:false,SVGFEComponentTransferElement:false,SVGFECompositeElement:false,SVGFEConvolveMatrixElement:false,SVGFEDiffuseLightingElement:false,SVGFEDisplacementMapElement:false,SVGFEDistantLightElement:false,SVGFEDropShadowElement:false,SVGFEFloodElement:false,SVGFEFuncAElement:false,SVGFEFuncBElement:false,SVGFEFuncGElement:false,SVGFEFuncRElement:false,SVGFEGaussianBlurElement:false,SVGFEImageElement:false,SVGFEMergeElement:false,SVGFEMergeNodeElement:false,SVGFEMorphologyElement:false,SVGFEOffsetElement:false,SVGFEPointLightElement:false,SVGFESpecularLightingElement:false,SVGFESpotLightElement:false,SVGFETileElement:false,SVGFETurbulenceElement:false,SVGFilterElement:false,SVGForeignObjectElement:false,SVGGElement:false,SVGGeometryElement:false,SVGGradientElement:false,SVGGraphicsElement:false,SVGImageElement:false,SVGLength:false,SVGLengthList:false,SVGLinearGradientElement:false,SVGLineElement:false,SVGMarkerElement:false,SVGMaskElement:false,SVGMatrix:false,SVGMetadataElement:false,SVGMPathElement:false,SVGNumber:false,SVGNumberList:false,SVGPathElement:false,SVGPatternElement:false,SVGPoint:false,SVGPointList:false,SVGPolygonElement:false,SVGPolylineElement:false,SVGPreserveAspectRatio:false,SVGRadialGradientElement:false,SVGRect:false,SVGRectElement:false,SVGScriptElement:false,SVGSetElement:false,SVGStopElement:false,SVGStringList:false,SVGStyleElement:false,SVGSVGElement:false,SVGSwitchElement:false,SVGSymbolElement:false,SVGTextContentElement:false,SVGTextElement:false,SVGTextPathElement:false,SVGTextPositioningElement:false,SVGTitleElement:false,SVGTransform:false,SVGTransformList:false,SVGTSpanElement:false,SVGUnitTypes:false,SVGUseElement:false,SVGViewElement:false,TaskAttributionTiming:false,Text:false,TextDecoder:false,TextEncoder:false,TextEvent:false,TextMetrics:false,TextTrack:false,TextTrackCue:false,TextTrackCueList:false,TextTrackList:false,TimeRanges:false,toolbar:false,top:false,Touch:false,TouchEvent:false,TouchList:false,TrackEvent:false,TransitionEvent:false,TreeWalker:false,UIEvent:false,URL:false,URLSearchParams:false,ValidityState:false,visualViewport:false,VisualViewport:false,VTTCue:false,WaveShaperNode:false,WebAssembly:false,WebGL2RenderingContext:false,WebGLActiveInfo:false,WebGLBuffer:false,WebGLContextEvent:false,WebGLFramebuffer:false,WebGLProgram:false,WebGLQuery:false,WebGLRenderbuffer:false,WebGLRenderingContext:false,WebGLSampler:false,WebGLShader:false,WebGLShaderPrecisionFormat:false,WebGLSync:false,WebGLTexture:false,WebGLTransformFeedback:false,WebGLUniformLocation:false,WebGLVertexArrayObject:false,WebSocket:false,WheelEvent:false,window:false,Window:false,Worker:false,WritableStream:false,XMLDocument:false,XMLHttpRequest:false,XMLHttpRequestEventTarget:false,XMLHttpRequestUpload:false,XMLSerializer:false,XPathEvaluator:false,XPathExpression:false,XPathResult:false,XSLTProcessor:false};var worker={addEventListener:false,applicationCache:false,atob:false,Blob:false,BroadcastChannel:false,btoa:false,Cache:false,caches:false,clearInterval:false,clearTimeout:false,close:true,console:false,fetch:false,FileReaderSync:false,FormData:false,Headers:false,IDBCursor:false,IDBCursorWithValue:false,IDBDatabase:false,IDBFactory:false,IDBIndex:false,IDBKeyRange:false,IDBObjectStore:false,IDBOpenDBRequest:false,IDBRequest:false,IDBTransaction:false,IDBVersionChangeEvent:false,ImageData:false,importScripts:true,indexedDB:false,location:false,MessageChannel:false,MessagePort:false,name:false,navigator:false,Notification:false,onclose:true,onconnect:true,onerror:true,onlanguagechange:true,onmessage:true,onoffline:true,ononline:true,onrejectionhandled:true,onunhandledrejection:true,performance:false,Performance:false,PerformanceEntry:false,PerformanceMark:false,PerformanceMeasure:false,PerformanceNavigation:false,PerformanceResourceTiming:false,PerformanceTiming:false,postMessage:true,"Promise":false,queueMicrotask:false,removeEventListener:false,Request:false,Response:false,self:true,ServiceWorkerRegistration:false,setInterval:false,setTimeout:false,TextDecoder:false,TextEncoder:false,URL:false,URLSearchParams:false,WebSocket:false,Worker:false,WorkerGlobalScope:false,XMLHttpRequest:false};var node$1={__dirname:false,__filename:false,Buffer:false,clearImmediate:false,clearInterval:false,clearTimeout:false,console:false,exports:true,global:false,"Intl":false,module:false,process:false,queueMicrotask:false,require:false,setImmediate:false,setInterval:false,setTimeout:false,TextDecoder:false,TextEncoder:false,URL:false,URLSearchParams:false};var commonjs={exports:true,global:false,module:false,require:false};var amd={define:false,require:false};var mocha={after:false,afterEach:false,before:false,beforeEach:false,context:false,describe:false,it:false,mocha:false,run:false,setup:false,specify:false,suite:false,suiteSetup:false,suiteTeardown:false,teardown:false,test:false,xcontext:false,xdescribe:false,xit:false,xspecify:false};var jasmine={afterAll:false,afterEach:false,beforeAll:false,beforeEach:false,describe:false,expect:false,fail:false,fdescribe:false,fit:false,it:false,jasmine:false,pending:false,runs:false,spyOn:false,spyOnProperty:false,waits:false,waitsFor:false,xdescribe:false,xit:false};var jest={afterAll:false,afterEach:false,beforeAll:false,beforeEach:false,describe:false,expect:false,fdescribe:false,fit:false,it:false,jest:false,pit:false,require:false,test:false,xdescribe:false,xit:false,xtest:false};var qunit={asyncTest:false,deepEqual:false,equal:false,expect:false,module:false,notDeepEqual:false,notEqual:false,notOk:false,notPropEqual:false,notStrictEqual:false,ok:false,propEqual:false,QUnit:false,raises:false,start:false,stop:false,strictEqual:false,test:false,"throws":false};var phantomjs={console:true,exports:true,phantom:true,require:true,WebPage:true};var couch={emit:false,exports:false,getRow:false,log:false,module:false,provides:false,require:false,respond:false,send:false,start:false,sum:false};var rhino={defineClass:false,deserialize:false,gc:false,help:false,importClass:false,importPackage:false,java:false,load:false,loadClass:false,Packages:false,print:false,quit:false,readFile:false,readUrl:false,runCommand:false,seal:false,serialize:false,spawn:false,sync:false,toint32:false,version:false};var nashorn={__DIR__:false,__FILE__:false,__LINE__:false,com:false,edu:false,exit:false,java:false,Java:false,javafx:false,JavaImporter:false,javax:false,JSAdapter:false,load:false,loadWithNewGlobal:false,org:false,Packages:false,print:false,quit:false};var wsh={ActiveXObject:true,Enumerator:true,GetObject:true,ScriptEngine:true,ScriptEngineBuildVersion:true,ScriptEngineMajorVersion:true,ScriptEngineMinorVersion:true,VBArray:true,WScript:true,WSH:true,XDomainRequest:true};var jquery={$:false,jQuery:false};var yui={YAHOO:false,YAHOO_config:false,YUI:false,YUI_config:false};var shelljs={cat:false,cd:false,chmod:false,config:false,cp:false,dirs:false,echo:false,env:false,error:false,exec:false,exit:false,find:false,grep:false,ln:false,ls:false,mkdir:false,mv:false,popd:false,pushd:false,pwd:false,rm:false,sed:false,set:false,target:false,tempdir:false,test:false,touch:false,which:false};var prototypejs={$:false,$$:false,$A:false,$break:false,$continue:false,$F:false,$H:false,$R:false,$w:false,Abstract:false,Ajax:false,Autocompleter:false,Builder:false,Class:false,Control:false,Draggable:false,Draggables:false,Droppables:false,Effect:false,Element:false,Enumerable:false,Event:false,Field:false,Form:false,Hash:false,Insertion:false,ObjectRange:false,PeriodicalExecuter:false,Position:false,Prototype:false,Scriptaculous:false,Selector:false,Sortable:false,SortableObserver:false,Sound:false,Template:false,Toggle:false,Try:false};var meteor={_:false,$:false,Accounts:false,AccountsClient:false,AccountsCommon:false,AccountsServer:false,App:false,Assets:false,Blaze:false,check:false,Cordova:false,DDP:false,DDPRateLimiter:false,DDPServer:false,Deps:false,EJSON:false,Email:false,HTTP:false,Log:false,Match:false,Meteor:false,Mongo:false,MongoInternals:false,Npm:false,Package:false,Plugin:false,process:false,Random:false,ReactiveDict:false,ReactiveVar:false,Router:false,ServiceConfiguration:false,Session:false,share:false,Spacebars:false,Template:false,Tinytest:false,Tracker:false,UI:false,Utils:false,WebApp:false,WebAppInternals:false};var mongo={_isWindows:false,_rand:false,BulkWriteResult:false,cat:false,cd:false,connect:false,db:false,getHostName:false,getMemInfo:false,hostname:false,ISODate:false,listFiles:false,load:false,ls:false,md5sumFile:false,mkdir:false,Mongo:false,NumberInt:false,NumberLong:false,ObjectId:false,PlanCache:false,print:false,printjson:false,pwd:false,quit:false,removeFile:false,rs:false,sh:false,UUID:false,version:false,WriteResult:false};var applescript={$:false,Application:false,Automation:false,console:false,delay:false,Library:false,ObjC:false,ObjectSpecifier:false,Path:false,Progress:false,Ref:false};var serviceworker={addEventListener:false,applicationCache:false,atob:false,Blob:false,BroadcastChannel:false,btoa:false,Cache:false,caches:false,CacheStorage:false,clearInterval:false,clearTimeout:false,Client:false,clients:false,Clients:false,close:true,console:false,ExtendableEvent:false,ExtendableMessageEvent:false,fetch:false,FetchEvent:false,FileReaderSync:false,FormData:false,Headers:false,IDBCursor:false,IDBCursorWithValue:false,IDBDatabase:false,IDBFactory:false,IDBIndex:false,IDBKeyRange:false,IDBObjectStore:false,IDBOpenDBRequest:false,IDBRequest:false,IDBTransaction:false,IDBVersionChangeEvent:false,ImageData:false,importScripts:false,indexedDB:false,location:false,MessageChannel:false,MessagePort:false,name:false,navigator:false,Notification:false,onclose:true,onconnect:true,onerror:true,onfetch:true,oninstall:true,onlanguagechange:true,onmessage:true,onmessageerror:true,onnotificationclick:true,onnotificationclose:true,onoffline:true,ononline:true,onpush:true,onpushsubscriptionchange:true,onrejectionhandled:true,onsync:true,onunhandledrejection:true,performance:false,Performance:false,PerformanceEntry:false,PerformanceMark:false,PerformanceMeasure:false,PerformanceNavigation:false,PerformanceResourceTiming:false,PerformanceTiming:false,postMessage:true,"Promise":false,queueMicrotask:false,registration:false,removeEventListener:false,Request:false,Response:false,self:false,ServiceWorker:false,ServiceWorkerContainer:false,ServiceWorkerGlobalScope:false,ServiceWorkerMessageEvent:false,ServiceWorkerRegistration:false,setInterval:false,setTimeout:false,skipWaiting:false,TextDecoder:false,TextEncoder:false,URL:false,URLSearchParams:false,WebSocket:false,WindowClient:false,Worker:false,WorkerGlobalScope:false,XMLHttpRequest:false};var atomtest={advanceClock:false,fakeClearInterval:false,fakeClearTimeout:false,fakeSetInterval:false,fakeSetTimeout:false,resetTimeouts:false,waitsForPromise:false};var embertest={andThen:false,click:false,currentPath:false,currentRouteName:false,currentURL:false,fillIn:false,find:false,findAll:false,findWithAssert:false,keyEvent:false,pauseTest:false,resumeTest:false,triggerEvent:false,visit:false,wait:false};var protractor={$:false,$$:false,browser:false,by:false,By:false,DartObject:false,element:false,protractor:false};var webextensions={browser:false,chrome:false,opr:false};var greasemonkey={cloneInto:false,createObjectIn:false,exportFunction:false,GM:false,GM_addStyle:false,GM_deleteValue:false,GM_getResourceText:false,GM_getResourceURL:false,GM_getValue:false,GM_info:false,GM_listValues:false,GM_log:false,GM_openInTab:false,GM_registerMenuCommand:false,GM_setClipboard:false,GM_setValue:false,GM_xmlhttpRequest:false,unsafeWindow:false};var devtools={$:false,$_:false,$$:false,$0:false,$1:false,$2:false,$3:false,$4:false,$x:false,chrome:false,clear:false,copy:false,debug:false,dir:false,dirxml:false,getEventListeners:false,inspect:false,keys:false,monitor:false,monitorEvents:false,profile:false,profileEnd:false,queryObjects:false,table:false,undebug:false,unmonitor:false,unmonitorEvents:false,values:false};var require$$0$9={builtin:builtin,es5:es5,es2015:es2015,es2017:es2017,browser:browser$1,worker:worker,node:node$1,commonjs:commonjs,amd:amd,mocha:mocha,jasmine:jasmine,jest:jest,qunit:qunit,phantomjs:phantomjs,couch:couch,rhino:rhino,nashorn:nashorn,wsh:wsh,jquery:jquery,yui:yui,shelljs:shelljs,prototypejs:prototypejs,meteor:meteor,mongo:mongo,applescript:applescript,serviceworker:serviceworker,atomtest:atomtest,embertest:embertest,protractor:protractor,"shared-node-browser":{clearInterval:false,clearTimeout:false,console:false,setInterval:false,setTimeout:false,URL:false,URLSearchParams:false},webextensions:webextensions,greasemonkey:greasemonkey,devtools:devtools};var globalsBABEL_8_BREAKINGFalse;var hasRequiredGlobalsBABEL_8_BREAKINGFalse;function requireGlobalsBABEL_8_BREAKINGFalse(){if(hasRequiredGlobalsBABEL_8_BREAKINGFalse)return globalsBABEL_8_BREAKINGFalse;hasRequiredGlobalsBABEL_8_BREAKINGFalse=1;globalsBABEL_8_BREAKINGFalse=require$$0$9;return globalsBABEL_8_BREAKINGFalse;}function bool$a(value){if(value==null)return false;return value&&value!=="false"&&value!=="0";}var globals$1=bool$a(browser$1$1.env["BABEL_8_BREAKING"])?requireGlobalsBABEL_8_BREAKINGFalse():requireGlobalsBABEL_8_BREAKINGFalse();var NOT_LOCAL_BINDING$1=NOT_LOCAL_BINDING$2,callExpression$c=callExpression$d,cloneNode$h=cloneNode$j,getBindingIdentifiers$3=getBindingIdentifiers$4,identifier$h=identifier$j,isArrayExpression$1=isArrayExpression$2,isBinary$1=isBinary$2,isCallExpression$7=isCallExpression$8,isClass=isClass$1,isClassBody$1=isClassBody$2,isClassDeclaration$1=isClassDeclaration$2,isExportAllDeclaration=isExportAllDeclaration$1,isExportDefaultDeclaration$1=isExportDefaultDeclaration$2,isExportNamedDeclaration$2=isExportNamedDeclaration$3,isFunctionDeclaration$1=isFunctionDeclaration$2,isIdentifier$h=isIdentifier$j,isImportDeclaration$1=isImportDeclaration$3,isLiteral$5=isLiteral$6,isMemberExpression$7=isMemberExpression$9,isMethod=isMethod$1,isModuleSpecifier=isModuleSpecifier$1,isNullLiteral$1=isNullLiteral$2,isObjectExpression$2=isObjectExpression$3,isProperty=isProperty$1,isPureish$1=isPureish$2,isRegExpLiteral$1=isRegExpLiteral$2,isSuper$2=isSuper$3,isTaggedTemplateExpression=isTaggedTemplateExpression$1,isTemplateLiteral$1=isTemplateLiteral$2,isThisExpression$1=isThisExpression$2,isUnaryExpression=isUnaryExpression$1,isVariableDeclaration$2=isVariableDeclaration$4,matchesPattern$1=matchesPattern$2,memberExpression$b=memberExpression$c,numericLiteral$7=numericLiteral$8,toIdentifier=toIdentifier$1,variableDeclaration$6=variableDeclaration$8,variableDeclarator$6=variableDeclarator$8,isRecordExpression=isRecordExpression$1,isTupleExpression=isTupleExpression$1,isObjectProperty$4=isObjectProperty$5,isTopicReference=isTopicReference$1,isMetaProperty=isMetaProperty$1,isPrivateName$2=isPrivateName$3,isExportDeclaration$1=isExportDeclaration$3,_buildUndefinedNode=buildUndefinedNode$2;function gatherNodeParts(node,parts){switch(node==null?void 0:node.type){default:if(isImportDeclaration$1(node)||isExportDeclaration$1(node)){var _node$specifiers;if((isExportAllDeclaration(node)||isExportNamedDeclaration$2(node)||isImportDeclaration$1(node))&&node.source){gatherNodeParts(node.source,parts);}else if((isExportNamedDeclaration$2(node)||isImportDeclaration$1(node))&&(_node$specifiers=node.specifiers)!=null&&_node$specifiers.length){for(var _iterator=_createForOfIteratorHelperLoose(node.specifiers),_step;!(_step=_iterator()).done;){var e=_step.value;gatherNodeParts(e,parts);}}else if((isExportDefaultDeclaration$1(node)||isExportNamedDeclaration$2(node))&&node.declaration){gatherNodeParts(node.declaration,parts);}}else if(isModuleSpecifier(node)){gatherNodeParts(node.local,parts);}else if(isLiteral$5(node)&&!isNullLiteral$1(node)&&!isRegExpLiteral$1(node)&&!isTemplateLiteral$1(node)){parts.push(node.value);}break;case"MemberExpression":case"OptionalMemberExpression":case"JSXMemberExpression":gatherNodeParts(node.object,parts);gatherNodeParts(node.property,parts);break;case"Identifier":case"JSXIdentifier":parts.push(node.name);break;case"CallExpression":case"OptionalCallExpression":case"NewExpression":gatherNodeParts(node.callee,parts);break;case"ObjectExpression":case"ObjectPattern":for(var _iterator2=_createForOfIteratorHelperLoose(node.properties),_step2;!(_step2=_iterator2()).done;){var _e=_step2.value;gatherNodeParts(_e,parts);}break;case"SpreadElement":case"RestElement":gatherNodeParts(node.argument,parts);break;case"ObjectProperty":case"ObjectMethod":case"ClassProperty":case"ClassMethod":case"ClassPrivateProperty":case"ClassPrivateMethod":gatherNodeParts(node.key,parts);break;case"ThisExpression":parts.push("this");break;case"Super":parts.push("super");break;case"Import":parts.push("import");break;case"DoExpression":parts.push("do");break;case"YieldExpression":parts.push("yield");gatherNodeParts(node.argument,parts);break;case"AwaitExpression":parts.push("await");gatherNodeParts(node.argument,parts);break;case"AssignmentExpression":gatherNodeParts(node.left,parts);break;case"VariableDeclarator":gatherNodeParts(node.id,parts);break;case"FunctionExpression":case"FunctionDeclaration":case"ClassExpression":case"ClassDeclaration":gatherNodeParts(node.id,parts);break;case"PrivateName":gatherNodeParts(node.id,parts);break;case"ParenthesizedExpression":gatherNodeParts(node.expression,parts);break;case"UnaryExpression":case"UpdateExpression":gatherNodeParts(node.argument,parts);break;case"MetaProperty":gatherNodeParts(node.meta,parts);gatherNodeParts(node.property,parts);break;case"JSXElement":gatherNodeParts(node.openingElement,parts);break;case"JSXOpeningElement":gatherNodeParts(node.name,parts);break;case"JSXFragment":gatherNodeParts(node.openingFragment,parts);break;case"JSXOpeningFragment":parts.push("Fragment");break;case"JSXNamespacedName":gatherNodeParts(node.namespace,parts);gatherNodeParts(node.name,parts);break;}}var collectorVisitor={ForStatement:function ForStatement(path){var declar=path.get("init");if(declar.isVar()){var scope=path.scope;var parentScope=scope.getFunctionParent()||scope.getProgramParent();parentScope.registerBinding("var",declar);}},Declaration:function Declaration(path){if(path.isBlockScoped())return;if(path.isImportDeclaration())return;if(path.isExportDeclaration())return;var parent=path.scope.getFunctionParent()||path.scope.getProgramParent();parent.registerDeclaration(path);},ImportDeclaration:function ImportDeclaration(path){var parent=path.scope.getBlockParent();parent.registerDeclaration(path);},ReferencedIdentifier:function ReferencedIdentifier(path,state){state.references.push(path);},ForXStatement:function ForXStatement(path,state){var left=path.get("left");if(left.isPattern()||left.isIdentifier()){state.constantViolations.push(path);}else if(left.isVar()){var scope=path.scope;var parentScope=scope.getFunctionParent()||scope.getProgramParent();parentScope.registerBinding("var",left);}},ExportDeclaration:{exit:function exit(path){var node=path.node,scope=path.scope;if(isExportAllDeclaration(node))return;var declar=node.declaration;if(isClassDeclaration$1(declar)||isFunctionDeclaration$1(declar)){var id=declar.id;if(!id)return;var binding=scope.getBinding(id.name);binding==null||binding.reference(path);}else if(isVariableDeclaration$2(declar)){for(var _iterator3=_createForOfIteratorHelperLoose(declar.declarations),_step3;!(_step3=_iterator3()).done;){var decl=_step3.value;for(var _i=0,_Object$keys=Object.keys(getBindingIdentifiers$3(decl));_i<_Object$keys.length;_i++){var _name=_Object$keys[_i];var _binding=scope.getBinding(_name);_binding==null||_binding.reference(path);}}}}},LabeledStatement:function LabeledStatement(path){path.scope.getBlockParent().registerDeclaration(path);},AssignmentExpression:function AssignmentExpression(path,state){state.assignments.push(path);},UpdateExpression:function UpdateExpression(path,state){state.constantViolations.push(path);},UnaryExpression:function UnaryExpression(path,state){if(path.node.operator==="delete"){state.constantViolations.push(path);}},BlockScoped:function BlockScoped(path){var scope=path.scope;if(scope.path===path)scope=scope.parent;var parent=scope.getBlockParent();parent.registerDeclaration(path);if(path.isClassDeclaration()&&path.node.id){var id=path.node.id;var _name2=id.name;path.scope.bindings[_name2]=path.scope.parent.getBinding(_name2);}},CatchClause:function CatchClause(path){path.scope.registerBinding("let",path);},Function:function Function(path){var params=path.get("params");for(var _iterator4=_createForOfIteratorHelperLoose(params),_step4;!(_step4=_iterator4()).done;){var param=_step4.value;path.scope.registerBinding("param",param);}if(path.isFunctionExpression()&&path.has("id")&&!path.get("id").node[NOT_LOCAL_BINDING$1]){path.scope.registerBinding("local",path.get("id"),path);}},ClassExpression:function ClassExpression(path){if(path.has("id")&&!path.get("id").node[NOT_LOCAL_BINDING$1]){path.scope.registerBinding("local",path);}}};var uid=0;var Scope$1=function(){function Scope(path){this.uid=void 0;this.path=void 0;this.block=void 0;this.labels=void 0;this.inited=void 0;this.bindings=void 0;this.references=void 0;this.globals=void 0;this.uids=void 0;this.data=void 0;this.crawling=void 0;var node=path.node;var cached=scope.get(node);if((cached==null?void 0:cached.path)===path){return cached;}scope.set(node,this);this.uid=uid++;this.block=node;this.path=path;this.labels=new Map();this.inited=false;}var _proto=Scope.prototype;_proto.traverse=function traverse$1(node,opts,state){traverse(node,opts,this,state,this.path);};_proto.generateDeclaredUidIdentifier=function generateDeclaredUidIdentifier(name){var id=this.generateUidIdentifier(name);this.push({id:id});return cloneNode$h(id);};_proto.generateUidIdentifier=function generateUidIdentifier(name){return identifier$h(this.generateUid(name));};_proto.generateUid=function generateUid(name){if(name===void 0){name="temp";}name=toIdentifier(name).replace(/^_+/,"").replace(/[0-9]+$/g,"");var uid;var i=1;do{uid=this._generateUid(name,i);i++;}while(this.hasLabel(uid)||this.hasBinding(uid)||this.hasGlobal(uid)||this.hasReference(uid));var program=this.getProgramParent();program.references[uid]=true;program.uids[uid]=true;return uid;};_proto._generateUid=function _generateUid(name,i){var id=name;if(i>1)id+=i;return"_"+id;};_proto.generateUidBasedOnNode=function generateUidBasedOnNode(node,defaultName){var parts=[];gatherNodeParts(node,parts);var id=parts.join("$");id=id.replace(/^_/,"")||defaultName||"ref";return this.generateUid(id.slice(0,20));};_proto.generateUidIdentifierBasedOnNode=function generateUidIdentifierBasedOnNode(node,defaultName){return identifier$h(this.generateUidBasedOnNode(node,defaultName));};_proto.isStatic=function isStatic(node){if(isThisExpression$1(node)||isSuper$2(node)||isTopicReference(node)){return true;}if(isIdentifier$h(node)){var binding=this.getBinding(node.name);if(binding){return binding.constant;}else{return this.hasBinding(node.name);}}return false;};_proto.maybeGenerateMemoised=function maybeGenerateMemoised(node,dontPush){if(this.isStatic(node)){return null;}else{var id=this.generateUidIdentifierBasedOnNode(node);if(!dontPush){this.push({id:id});return cloneNode$h(id);}return id;}};_proto.checkBlockScopedCollisions=function checkBlockScopedCollisions(local,kind,name,id){if(kind==="param")return;if(local.kind==="local")return;var duplicate=kind==="let"||local.kind==="let"||local.kind==="const"||local.kind==="module"||local.kind==="param"&&kind==="const";if(duplicate){throw this.hub.buildError(id,"Duplicate declaration \""+name+"\"",TypeError);}};_proto.rename=function rename(oldName,newName){var binding=this.getBinding(oldName);if(binding){newName||(newName=this.generateUidIdentifier(oldName).name);var renamer=new Renamer(binding,oldName,newName);{renamer.rename(arguments[2]);}}};_proto._renameFromMap=function _renameFromMap(map,oldName,newName,value){if(map[oldName]){map[newName]=value;map[oldName]=null;}};_proto.dump=function dump(){var sep="-".repeat(60);console.log(sep);var scope=this;do{console.log("#",scope.block.type);for(var _i2=0,_Object$keys2=Object.keys(scope.bindings);_i2<_Object$keys2.length;_i2++){var _name3=_Object$keys2[_i2];var binding=scope.bindings[_name3];console.log(" -",_name3,{constant:binding.constant,references:binding.references,violations:binding.constantViolations.length,kind:binding.kind});}}while(scope=scope.parent);console.log(sep);};_proto.toArray=function toArray(node,i,arrayLikeIsIterable){if(isIdentifier$h(node)){var binding=this.getBinding(node.name);if(binding!=null&&binding.constant&&binding.path.isGenericType("Array")){return node;}}if(isArrayExpression$1(node)){return node;}if(isIdentifier$h(node,{name:"arguments"})){return callExpression$c(memberExpression$b(memberExpression$b(memberExpression$b(identifier$h("Array"),identifier$h("prototype")),identifier$h("slice")),identifier$h("call")),[node]);}var helperName;var args=[node];if(i===true){helperName="toConsumableArray";}else if(typeof i==="number"){args.push(numericLiteral$7(i));helperName="slicedToArray";}else{helperName="toArray";}if(arrayLikeIsIterable){args.unshift(this.hub.addHelper(helperName));helperName="maybeArrayLike";}return callExpression$c(this.hub.addHelper(helperName),args);};_proto.hasLabel=function hasLabel(name){return!!this.getLabel(name);};_proto.getLabel=function getLabel(name){return this.labels.get(name);};_proto.registerLabel=function registerLabel(path){this.labels.set(path.node.label.name,path);};_proto.registerDeclaration=function registerDeclaration(path){if(path.isLabeledStatement()){this.registerLabel(path);}else if(path.isFunctionDeclaration()){this.registerBinding("hoisted",path.get("id"),path);}else if(path.isVariableDeclaration()){var declarations=path.get("declarations");var kind=path.node.kind;for(var _iterator5=_createForOfIteratorHelperLoose(declarations),_step5;!(_step5=_iterator5()).done;){var declar=_step5.value;this.registerBinding(kind==="using"||kind==="await using"?"const":kind,declar);}}else if(path.isClassDeclaration()){if(path.node.declare)return;this.registerBinding("let",path);}else if(path.isImportDeclaration()){var isTypeDeclaration=path.node.importKind==="type"||path.node.importKind==="typeof";var specifiers=path.get("specifiers");for(var _iterator6=_createForOfIteratorHelperLoose(specifiers),_step6;!(_step6=_iterator6()).done;){var specifier=_step6.value;var isTypeSpecifier=isTypeDeclaration||specifier.isImportSpecifier()&&(specifier.node.importKind==="type"||specifier.node.importKind==="typeof");this.registerBinding(isTypeSpecifier?"unknown":"module",specifier);}}else if(path.isExportDeclaration()){var _declar=path.get("declaration");if(_declar.isClassDeclaration()||_declar.isFunctionDeclaration()||_declar.isVariableDeclaration()){this.registerDeclaration(_declar);}}else{this.registerBinding("unknown",path);}};_proto.buildUndefinedNode=function buildUndefinedNode(){return _buildUndefinedNode();};_proto.registerConstantViolation=function registerConstantViolation(path){var ids=path.getBindingIdentifiers();for(var _i3=0,_Object$keys3=Object.keys(ids);_i3<_Object$keys3.length;_i3++){var _this$getBinding;var _name4=_Object$keys3[_i3];(_this$getBinding=this.getBinding(_name4))==null||_this$getBinding.reassign(path);}};_proto.registerBinding=function registerBinding(kind,path,bindingPath){if(bindingPath===void 0){bindingPath=path;}if(!kind)throw new ReferenceError("no `kind`");if(path.isVariableDeclaration()){var declarators=path.get("declarations");for(var _iterator7=_createForOfIteratorHelperLoose(declarators),_step7;!(_step7=_iterator7()).done;){var declar=_step7.value;this.registerBinding(kind,declar);}return;}var parent=this.getProgramParent();var ids=path.getOuterBindingIdentifiers(true);for(var _i4=0,_Object$keys4=Object.keys(ids);_i4<_Object$keys4.length;_i4++){var _name5=_Object$keys4[_i4];parent.references[_name5]=true;for(var _iterator8=_createForOfIteratorHelperLoose(ids[_name5]),_step8;!(_step8=_iterator8()).done;){var id=_step8.value;var local=this.getOwnBinding(_name5);if(local){if(local.identifier===id)continue;this.checkBlockScopedCollisions(local,kind,_name5,id);}if(local){this.registerConstantViolation(bindingPath);}else{this.bindings[_name5]=new Binding({identifier:id,scope:this,path:bindingPath,kind:kind});}}}};_proto.addGlobal=function addGlobal(node){this.globals[node.name]=node;};_proto.hasUid=function hasUid(name){var scope=this;do{if(scope.uids[name])return true;}while(scope=scope.parent);return false;};_proto.hasGlobal=function hasGlobal(name){var scope=this;do{if(scope.globals[name])return true;}while(scope=scope.parent);return false;};_proto.hasReference=function hasReference(name){return!!this.getProgramParent().references[name];};_proto.isPure=function isPure(node,constantsOnly){if(isIdentifier$h(node)){var binding=this.getBinding(node.name);if(!binding)return false;if(constantsOnly)return binding.constant;return true;}else if(isThisExpression$1(node)||isMetaProperty(node)||isTopicReference(node)||isPrivateName$2(node)){return true;}else if(isClass(node)){var _node$decorators;if(node.superClass&&!this.isPure(node.superClass,constantsOnly)){return false;}if(((_node$decorators=node.decorators)==null?void 0:_node$decorators.length)>0){return false;}return this.isPure(node.body,constantsOnly);}else if(isClassBody$1(node)){for(var _iterator9=_createForOfIteratorHelperLoose(node.body),_step9;!(_step9=_iterator9()).done;){var method=_step9.value;if(!this.isPure(method,constantsOnly))return false;}return true;}else if(isBinary$1(node)){return this.isPure(node.left,constantsOnly)&&this.isPure(node.right,constantsOnly);}else if(isArrayExpression$1(node)||isTupleExpression(node)){for(var _iterator10=_createForOfIteratorHelperLoose(node.elements),_step10;!(_step10=_iterator10()).done;){var elem=_step10.value;if(elem!==null&&!this.isPure(elem,constantsOnly))return false;}return true;}else if(isObjectExpression$2(node)||isRecordExpression(node)){for(var _iterator11=_createForOfIteratorHelperLoose(node.properties),_step11;!(_step11=_iterator11()).done;){var prop=_step11.value;if(!this.isPure(prop,constantsOnly))return false;}return true;}else if(isMethod(node)){var _node$decorators2;if(node.computed&&!this.isPure(node.key,constantsOnly))return false;if(((_node$decorators2=node.decorators)==null?void 0:_node$decorators2.length)>0){return false;}return true;}else if(isProperty(node)){var _node$decorators3;if(node.computed&&!this.isPure(node.key,constantsOnly))return false;if(((_node$decorators3=node.decorators)==null?void 0:_node$decorators3.length)>0){return false;}if(isObjectProperty$4(node)||node["static"]){if(node.value!==null&&!this.isPure(node.value,constantsOnly)){return false;}}return true;}else if(isUnaryExpression(node)){return this.isPure(node.argument,constantsOnly);}else if(isTemplateLiteral$1(node)){for(var _iterator12=_createForOfIteratorHelperLoose(node.expressions),_step12;!(_step12=_iterator12()).done;){var expression=_step12.value;if(!this.isPure(expression,constantsOnly))return false;}return true;}else if(isTaggedTemplateExpression(node)){return matchesPattern$1(node.tag,"String.raw")&&!this.hasBinding("String",{noGlobals:true})&&this.isPure(node.quasi,constantsOnly);}else if(isMemberExpression$7(node)){return!node.computed&&isIdentifier$h(node.object)&&node.object.name==="Symbol"&&isIdentifier$h(node.property)&&node.property.name!=="for"&&!this.hasBinding("Symbol",{noGlobals:true});}else if(isCallExpression$7(node)){return matchesPattern$1(node.callee,"Symbol.for")&&!this.hasBinding("Symbol",{noGlobals:true})&&node.arguments.length===1&&isStringLiteral$5(node.arguments[0]);}else{return isPureish$1(node);}};_proto.setData=function setData(key,val){return this.data[key]=val;};_proto.getData=function getData(key){var scope=this;do{var data=scope.data[key];if(data!=null)return data;}while(scope=scope.parent);};_proto.removeData=function removeData(key){var scope=this;do{var data=scope.data[key];if(data!=null)scope.data[key]=null;}while(scope=scope.parent);};_proto.init=function init(){if(!this.inited){this.inited=true;this.crawl();}};_proto.crawl=function crawl(){var path=this.path;this.references=Object.create(null);this.bindings=Object.create(null);this.globals=Object.create(null);this.uids=Object.create(null);this.data=Object.create(null);var programParent=this.getProgramParent();if(programParent.crawling)return;var state={references:[],constantViolations:[],assignments:[]};this.crawling=true;if(path.type!=="Program"&&isExplodedVisitor(collectorVisitor)){for(var _iterator13=_createForOfIteratorHelperLoose(collectorVisitor.enter),_step13;!(_step13=_iterator13()).done;){var _visit=_step13.value;_visit.call(state,path,state);}var typeVisitors=collectorVisitor[path.type];if(typeVisitors){for(var _iterator14=_createForOfIteratorHelperLoose(typeVisitors.enter),_step14;!(_step14=_iterator14()).done;){var visit=_step14.value;visit.call(state,path,state);}}}path.traverse(collectorVisitor,state);this.crawling=false;for(var _iterator15=_createForOfIteratorHelperLoose(state.assignments),_step15;!(_step15=_iterator15()).done;){var _path=_step15.value;var ids=_path.getBindingIdentifiers();for(var _i5=0,_Object$keys5=Object.keys(ids);_i5<_Object$keys5.length;_i5++){var _name6=_Object$keys5[_i5];if(_path.scope.getBinding(_name6))continue;programParent.addGlobal(ids[_name6]);}_path.scope.registerConstantViolation(_path);}for(var _iterator16=_createForOfIteratorHelperLoose(state.references),_step16;!(_step16=_iterator16()).done;){var ref=_step16.value;var binding=ref.scope.getBinding(ref.node.name);if(binding){binding.reference(ref);}else{programParent.addGlobal(ref.node);}}for(var _iterator17=_createForOfIteratorHelperLoose(state.constantViolations),_step17;!(_step17=_iterator17()).done;){var _path2=_step17.value;_path2.scope.registerConstantViolation(_path2);}};_proto.push=function push(opts){var path=this.path;if(path.isPattern()){path=this.getPatternParent().path;}else if(!path.isBlockStatement()&&!path.isProgram()){path=this.getBlockParent().path;}if(path.isSwitchStatement()){path=(this.getFunctionParent()||this.getProgramParent()).path;}var init=opts.init,unique=opts.unique,_opts$kind=opts.kind,kind=_opts$kind===void 0?"var":_opts$kind,id=opts.id;if(!init&&!unique&&(kind==="var"||kind==="let")&&path.isFunction()&&!path.node.name&&isCallExpression$7(path.parent,{callee:path.node})&&path.parent.arguments.length<=path.node.params.length&&isIdentifier$h(id)){path.pushContainer("params",id);path.scope.registerBinding("param",path.get("params")[path.node.params.length-1]);return;}if(path.isLoop()||path.isCatchClause()||path.isFunction()){path.ensureBlock();path=path.get("body");}var blockHoist=opts._blockHoist==null?2:opts._blockHoist;var dataKey="declaration:"+kind+":"+blockHoist;var declarPath=!unique&&path.getData(dataKey);if(!declarPath){var declar=variableDeclaration$6(kind,[]);declar._blockHoist=blockHoist;var _unshiftContainer=path.unshiftContainer("body",[declar]);var _unshiftContainer2=_slicedToArray(_unshiftContainer,1);declarPath=_unshiftContainer2[0];if(!unique)path.setData(dataKey,declarPath);}var declarator=variableDeclarator$6(id,init);var len=declarPath.node.declarations.push(declarator);path.scope.registerBinding(kind,declarPath.get("declarations")[len-1]);};_proto.getProgramParent=function getProgramParent(){var scope=this;do{if(scope.path.isProgram()){return scope;}}while(scope=scope.parent);throw new Error("Couldn't find a Program");};_proto.getFunctionParent=function getFunctionParent(){var scope=this;do{if(scope.path.isFunctionParent()){return scope;}}while(scope=scope.parent);return null;};_proto.getBlockParent=function getBlockParent(){var scope=this;do{if(scope.path.isBlockParent()){return scope;}}while(scope=scope.parent);throw new Error("We couldn't find a BlockStatement, For, Switch, Function, Loop or Program...");};_proto.getPatternParent=function getPatternParent(){var scope=this;do{if(!scope.path.isPattern()){return scope.getBlockParent();}}while(scope=scope.parent.parent);throw new Error("We couldn't find a BlockStatement, For, Switch, Function, Loop or Program...");};_proto.getAllBindings=function getAllBindings(){var ids=Object.create(null);var scope=this;do{for(var _i6=0,_Object$keys6=Object.keys(scope.bindings);_i6<_Object$keys6.length;_i6++){var _key=_Object$keys6[_i6];if(_key in ids===false){ids[_key]=scope.bindings[_key];}}scope=scope.parent;}while(scope);return ids;};_proto.getAllBindingsOfKind=function getAllBindingsOfKind(){var ids=Object.create(null);for(var _len=arguments.length,kinds=new Array(_len),_key2=0;_key2<_len;_key2++){kinds[_key2]=arguments[_key2];}for(var _i7=0,_kinds=kinds;_i7<_kinds.length;_i7++){var kind=_kinds[_i7];var scope=this;do{for(var _i8=0,_Object$keys7=Object.keys(scope.bindings);_i8<_Object$keys7.length;_i8++){var _name7=_Object$keys7[_i8];var binding=scope.bindings[_name7];if(binding.kind===kind)ids[_name7]=binding;}scope=scope.parent;}while(scope);}return ids;};_proto.bindingIdentifierEquals=function bindingIdentifierEquals(name,node){return this.getBindingIdentifier(name)===node;};_proto.getBinding=function getBinding(name){var scope=this;var previousPath;do{var binding=scope.getOwnBinding(name);if(binding){var _previousPath;if((_previousPath=previousPath)!=null&&_previousPath.isPattern()&&binding.kind!=="param"&&binding.kind!=="local");else{return binding;}}else if(!binding&&name==="arguments"&&scope.path.isFunction()&&!scope.path.isArrowFunctionExpression()){break;}previousPath=scope.path;}while(scope=scope.parent);};_proto.getOwnBinding=function getOwnBinding(name){return this.bindings[name];};_proto.getBindingIdentifier=function getBindingIdentifier(name){var _this$getBinding2;return(_this$getBinding2=this.getBinding(name))==null?void 0:_this$getBinding2.identifier;};_proto.getOwnBindingIdentifier=function getOwnBindingIdentifier(name){var binding=this.bindings[name];return binding==null?void 0:binding.identifier;};_proto.hasOwnBinding=function hasOwnBinding(name){return!!this.getOwnBinding(name);};_proto.hasBinding=function hasBinding(name,opts){var _opts,_opts2,_opts3;if(!name)return false;if(this.hasOwnBinding(name))return true;{if(typeof opts==="boolean")opts={noGlobals:opts};}if(this.parentHasBinding(name,opts))return true;if(!((_opts=opts)!=null&&_opts.noUids)&&this.hasUid(name))return true;if(!((_opts2=opts)!=null&&_opts2.noGlobals)&&Scope.globals.includes(name))return true;if(!((_opts3=opts)!=null&&_opts3.noGlobals)&&Scope.contextVariables.includes(name))return true;return false;};_proto.parentHasBinding=function parentHasBinding(name,opts){var _this$parent;return(_this$parent=this.parent)==null?void 0:_this$parent.hasBinding(name,opts);};_proto.moveBindingTo=function moveBindingTo(name,scope){var info=this.getBinding(name);if(info){info.scope.removeOwnBinding(name);info.scope=scope;scope.bindings[name]=info;}};_proto.removeOwnBinding=function removeOwnBinding(name){delete this.bindings[name];};_proto.removeBinding=function removeBinding(name){var _this$getBinding3;(_this$getBinding3=this.getBinding(name))==null||_this$getBinding3.scope.removeOwnBinding(name);var scope=this;do{if(scope.uids[name]){scope.uids[name]=false;}}while(scope=scope.parent);};_createClass(Scope,[{key:"parent",get:function get(){var _parent;var parent,path=this.path;do{var shouldSkip=path.key==="key"||path.listKey==="decorators";path=path.parentPath;if(shouldSkip&&path.isMethod())path=path.parentPath;if(path&&path.isScope())parent=path;}while(path&&!parent);return(_parent=parent)==null?void 0:_parent.scope;}},{key:"parentBlock",get:function get(){return this.path.parent;}},{key:"hub",get:function get(){return this.path.hub;}}]);return Scope;}();Scope$1.globals=Object.keys(globals$1.builtin);Scope$1.contextVariables=["arguments","undefined","Infinity","NaN"];var genMapping_umd$1={exports:{}};var setArray_umd={exports:{}};var hasRequiredSetArray_umd;function requireSetArray_umd(){if(hasRequiredSetArray_umd)return setArray_umd.exports;hasRequiredSetArray_umd=1;(function(module,exports){(function(global,factory){factory(exports);})(commonjsGlobal,function(exports){var SetArray=_createClass(function SetArray(){this._indexes={__proto__:null};this.array=[];});function cast(set){return set;}function get(setarr,key){return cast(setarr)._indexes[key];}function put(setarr,key){var index=get(setarr,key);if(index!==undefined)return index;var _cast=cast(setarr),array=_cast.array,indexes=_cast._indexes;var length=array.push(key);return indexes[key]=length-1;}function pop(setarr){var _cast2=cast(setarr),array=_cast2.array,indexes=_cast2._indexes;if(array.length===0)return;var last=array.pop();indexes[last]=undefined;}function remove(setarr,key){var index=get(setarr,key);if(index===undefined)return;var _cast3=cast(setarr),array=_cast3.array,indexes=_cast3._indexes;for(var i=index+1;i<array.length;i++){var k=array[i];array[i-1]=k;indexes[k]--;}indexes[key]=undefined;array.pop();}exports.SetArray=SetArray;exports.get=get;exports.pop=pop;exports.put=put;exports.remove=remove;Object.defineProperty(exports,'__esModule',{value:true});});})(setArray_umd,setArray_umd.exports);return setArray_umd.exports;}var lookup=[];var revLookup=[];var Arr=typeof Uint8Array!=='undefined'?Uint8Array:Array;var inited=false;function init(){inited=true;var code='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';for(var i=0,len=code.length;i<len;++i){lookup[i]=code[i];revLookup[code.charCodeAt(i)]=i;}revLookup['-'.charCodeAt(0)]=62;revLookup['_'.charCodeAt(0)]=63;}function toByteArray(b64){if(!inited){init();}var i,j,l,tmp,placeHolders,arr;var len=b64.length;if(len%4>0){throw new Error('Invalid string. Length must be a multiple of 4');}// the number of equal signs (place holders)
// if there are two placeholders, than the two characters before it
// represent one byte
// if there is only one, then the three characters before it represent 2 bytes
// this is just a cheap hack to not do indexOf twice
placeHolders=b64[len-2]==='='?2:b64[len-1]==='='?1:0;// base64 is 4/3 + up to two characters of the original data
arr=new Arr(len*3/4-placeHolders);// if there are placeholders, only get up to the last complete 4 chars
l=placeHolders>0?len-4:len;var L=0;for(i=0,j=0;i<l;i+=4,j+=3){tmp=revLookup[b64.charCodeAt(i)]<<18|revLookup[b64.charCodeAt(i+1)]<<12|revLookup[b64.charCodeAt(i+2)]<<6|revLookup[b64.charCodeAt(i+3)];arr[L++]=tmp>>16&0xFF;arr[L++]=tmp>>8&0xFF;arr[L++]=tmp&0xFF;}if(placeHolders===2){tmp=revLookup[b64.charCodeAt(i)]<<2|revLookup[b64.charCodeAt(i+1)]>>4;arr[L++]=tmp&0xFF;}else if(placeHolders===1){tmp=revLookup[b64.charCodeAt(i)]<<10|revLookup[b64.charCodeAt(i+1)]<<4|revLookup[b64.charCodeAt(i+2)]>>2;arr[L++]=tmp>>8&0xFF;arr[L++]=tmp&0xFF;}return arr;}function tripletToBase64(num){return lookup[num>>18&0x3F]+lookup[num>>12&0x3F]+lookup[num>>6&0x3F]+lookup[num&0x3F];}function encodeChunk(uint8,start,end){var tmp;var output=[];for(var i=start;i<end;i+=3){tmp=(uint8[i]<<16)+(uint8[i+1]<<8)+uint8[i+2];output.push(tripletToBase64(tmp));}return output.join('');}function fromByteArray(uint8){if(!inited){init();}var tmp;var len=uint8.length;var extraBytes=len%3;// if we have 1 byte left, pad 2 bytes
var output='';var parts=[];var maxChunkLength=16383;// must be multiple of 3
// go through the array every three bytes, we'll deal with trailing stuff later
for(var i=0,len2=len-extraBytes;i<len2;i+=maxChunkLength){parts.push(encodeChunk(uint8,i,i+maxChunkLength>len2?len2:i+maxChunkLength));}// pad the end with zeros, but make sure to not forget the extra bytes
if(extraBytes===1){tmp=uint8[len-1];output+=lookup[tmp>>2];output+=lookup[tmp<<4&0x3F];output+='==';}else if(extraBytes===2){tmp=(uint8[len-2]<<8)+uint8[len-1];output+=lookup[tmp>>10];output+=lookup[tmp>>4&0x3F];output+=lookup[tmp<<2&0x3F];output+='=';}parts.push(output);return parts.join('');}function read(buffer,offset,isLE,mLen,nBytes){var e,m;var eLen=nBytes*8-mLen-1;var eMax=(1<<eLen)-1;var eBias=eMax>>1;var nBits=-7;var i=isLE?nBytes-1:0;var d=isLE?-1:1;var s=buffer[offset+i];i+=d;e=s&(1<<-nBits)-1;s>>=-nBits;nBits+=eLen;for(;nBits>0;e=e*256+buffer[offset+i],i+=d,nBits-=8){}m=e&(1<<-nBits)-1;e>>=-nBits;nBits+=mLen;for(;nBits>0;m=m*256+buffer[offset+i],i+=d,nBits-=8){}if(e===0){e=1-eBias;}else if(e===eMax){return m?NaN:(s?-1:1)*Infinity;}else{m=m+Math.pow(2,mLen);e=e-eBias;}return(s?-1:1)*m*Math.pow(2,e-mLen);}function write(buffer,value,offset,isLE,mLen,nBytes){var e,m,c;var eLen=nBytes*8-mLen-1;var eMax=(1<<eLen)-1;var eBias=eMax>>1;var rt=mLen===23?Math.pow(2,-24)-Math.pow(2,-77):0;var i=isLE?0:nBytes-1;var d=isLE?1:-1;var s=value<0||value===0&&1/value<0?1:0;value=Math.abs(value);if(isNaN(value)||value===Infinity){m=isNaN(value)?1:0;e=eMax;}else{e=Math.floor(Math.log(value)/Math.LN2);if(value*(c=Math.pow(2,-e))<1){e--;c*=2;}if(e+eBias>=1){value+=rt/c;}else{value+=rt*Math.pow(2,1-eBias);}if(value*c>=2){e++;c/=2;}if(e+eBias>=eMax){m=0;e=eMax;}else if(e+eBias>=1){m=(value*c-1)*Math.pow(2,mLen);e=e+eBias;}else{m=value*Math.pow(2,eBias-1)*Math.pow(2,mLen);e=0;}}for(;mLen>=8;buffer[offset+i]=m&0xff,i+=d,m/=256,mLen-=8){}e=e<<mLen|m;eLen+=mLen;for(;eLen>0;buffer[offset+i]=e&0xff,i+=d,e/=256,eLen-=8){}buffer[offset+i-d]|=s*128;}var toString={}.toString;var isArray$2=Array.isArray||function(arr){return toString.call(arr)=='[object Array]';};/*!
   * The buffer module from node.js, for the browser.
   *
   * @author   Feross Aboukhadijeh <feross@feross.org> <http://feross.org>
   * @license  MIT
   */ /* eslint-disable no-proto */var INSPECT_MAX_BYTES=50;/**
   * If `Buffer.TYPED_ARRAY_SUPPORT`:
   *   === true    Use Uint8Array implementation (fastest)
   *   === false   Use Object implementation (most compatible, even IE6)
   *
   * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,
   * Opera 11.6+, iOS 4.2+.
   *
   * Due to various browser bugs, sometimes the Object implementation will be used even
   * when the browser supports typed arrays.
   *
   * Note:
   *
   *   - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances,
   *     See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.
   *
   *   - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.
   *
   *   - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of
   *     incorrect length in some situations.

   * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they
   * get the Object implementation, which is slower but behaves correctly.
   */Buffer$1.TYPED_ARRAY_SUPPORT=global$1.TYPED_ARRAY_SUPPORT!==undefined?global$1.TYPED_ARRAY_SUPPORT:true;/*
   * Export kMaxLength after typed array support is determined.
   */kMaxLength();function kMaxLength(){return Buffer$1.TYPED_ARRAY_SUPPORT?0x7fffffff:0x3fffffff;}function createBuffer(that,length){if(kMaxLength()<length){throw new RangeError('Invalid typed array length');}if(Buffer$1.TYPED_ARRAY_SUPPORT){// Return an augmented `Uint8Array` instance, for best performance
that=new Uint8Array(length);that.__proto__=Buffer$1.prototype;}else{// Fallback: Return an object instance of the Buffer class
if(that===null){that=new Buffer$1(length);}that.length=length;}return that;}/**
   * The Buffer constructor returns instances of `Uint8Array` that have their
   * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of
   * `Uint8Array`, so the returned instances will have all the node `Buffer` methods
   * and the `Uint8Array` methods. Square bracket notation works as expected -- it
   * returns a single octet.
   *
   * The `Uint8Array` prototype remains unmodified.
   */function Buffer$1(arg,encodingOrOffset,length){if(!Buffer$1.TYPED_ARRAY_SUPPORT&&!(this instanceof Buffer$1)){return new Buffer$1(arg,encodingOrOffset,length);}// Common case.
if(typeof arg==='number'){if(typeof encodingOrOffset==='string'){throw new Error('If encoding is specified then the first argument must be a string');}return allocUnsafe(this,arg);}return from(this,arg,encodingOrOffset,length);}Buffer$1.poolSize=8192;// not used by this implementation
// TODO: Legacy, not needed anymore. Remove in next major version.
Buffer$1._augment=function(arr){arr.__proto__=Buffer$1.prototype;return arr;};function from(that,value,encodingOrOffset,length){if(typeof value==='number'){throw new TypeError('"value" argument must not be a number');}if(typeof ArrayBuffer!=='undefined'&&value instanceof ArrayBuffer){return fromArrayBuffer(that,value,encodingOrOffset,length);}if(typeof value==='string'){return fromString(that,value,encodingOrOffset);}return fromObject(that,value);}/**
   * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError
   * if value is a number.
   * Buffer.from(str[, encoding])
   * Buffer.from(array)
   * Buffer.from(buffer)
   * Buffer.from(arrayBuffer[, byteOffset[, length]])
   **/Buffer$1.from=function(value,encodingOrOffset,length){return from(null,value,encodingOrOffset,length);};if(Buffer$1.TYPED_ARRAY_SUPPORT){Buffer$1.prototype.__proto__=Uint8Array.prototype;Buffer$1.__proto__=Uint8Array;if(typeof Symbol!=='undefined'&&Symbol.species&&Buffer$1[Symbol.species]===Buffer$1);}function assertSize(size){if(typeof size!=='number'){throw new TypeError('"size" argument must be a number');}else if(size<0){throw new RangeError('"size" argument must not be negative');}}function alloc(that,size,fill,encoding){assertSize(size);if(size<=0){return createBuffer(that,size);}if(fill!==undefined){// Only pay attention to encoding if it's a string. This
// prevents accidentally sending in a number that would
// be interpretted as a start offset.
return typeof encoding==='string'?createBuffer(that,size).fill(fill,encoding):createBuffer(that,size).fill(fill);}return createBuffer(that,size);}/**
   * Creates a new filled Buffer instance.
   * alloc(size[, fill[, encoding]])
   **/Buffer$1.alloc=function(size,fill,encoding){return alloc(null,size,fill,encoding);};function allocUnsafe(that,size){assertSize(size);that=createBuffer(that,size<0?0:checked(size)|0);if(!Buffer$1.TYPED_ARRAY_SUPPORT){for(var i=0;i<size;++i){that[i]=0;}}return that;}/**
   * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.
   * */Buffer$1.allocUnsafe=function(size){return allocUnsafe(null,size);};/**
   * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.
   */Buffer$1.allocUnsafeSlow=function(size){return allocUnsafe(null,size);};function fromString(that,string,encoding){if(typeof encoding!=='string'||encoding===''){encoding='utf8';}if(!Buffer$1.isEncoding(encoding)){throw new TypeError('"encoding" must be a valid string encoding');}var length=byteLength(string,encoding)|0;that=createBuffer(that,length);var actual=that.write(string,encoding);if(actual!==length){// Writing a hex string, for example, that contains invalid characters will
// cause everything after the first invalid character to be ignored. (e.g.
// 'abxxcd' will be treated as 'ab')
that=that.slice(0,actual);}return that;}function fromArrayLike(that,array){var length=array.length<0?0:checked(array.length)|0;that=createBuffer(that,length);for(var i=0;i<length;i+=1){that[i]=array[i]&255;}return that;}function fromArrayBuffer(that,array,byteOffset,length){array.byteLength;// this throws if `array` is not a valid ArrayBuffer
if(byteOffset<0||array.byteLength<byteOffset){throw new RangeError('\'offset\' is out of bounds');}if(array.byteLength<byteOffset+(length||0)){throw new RangeError('\'length\' is out of bounds');}if(byteOffset===undefined&&length===undefined){array=new Uint8Array(array);}else if(length===undefined){array=new Uint8Array(array,byteOffset);}else{array=new Uint8Array(array,byteOffset,length);}if(Buffer$1.TYPED_ARRAY_SUPPORT){// Return an augmented `Uint8Array` instance, for best performance
that=array;that.__proto__=Buffer$1.prototype;}else{// Fallback: Return an object instance of the Buffer class
that=fromArrayLike(that,array);}return that;}function fromObject(that,obj){if(internalIsBuffer(obj)){var len=checked(obj.length)|0;that=createBuffer(that,len);if(that.length===0){return that;}obj.copy(that,0,0,len);return that;}if(obj){if(typeof ArrayBuffer!=='undefined'&&obj.buffer instanceof ArrayBuffer||'length'in obj){if(typeof obj.length!=='number'||isnan(obj.length)){return createBuffer(that,0);}return fromArrayLike(that,obj);}if(obj.type==='Buffer'&&isArray$2(obj.data)){return fromArrayLike(that,obj.data);}}throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.');}function checked(length){// Note: cannot use `length < kMaxLength()` here because that fails when
// length is NaN (which is otherwise coerced to zero.)
if(length>=kMaxLength()){throw new RangeError('Attempt to allocate Buffer larger than maximum '+'size: 0x'+kMaxLength().toString(16)+' bytes');}return length|0;}Buffer$1.isBuffer=isBuffer$1;function internalIsBuffer(b){return!!(b!=null&&b._isBuffer);}Buffer$1.compare=function compare(a,b){if(!internalIsBuffer(a)||!internalIsBuffer(b)){throw new TypeError('Arguments must be Buffers');}if(a===b)return 0;var x=a.length;var y=b.length;for(var i=0,len=Math.min(x,y);i<len;++i){if(a[i]!==b[i]){x=a[i];y=b[i];break;}}if(x<y)return-1;if(y<x)return 1;return 0;};Buffer$1.isEncoding=function isEncoding(encoding){switch(String(encoding).toLowerCase()){case'hex':case'utf8':case'utf-8':case'ascii':case'latin1':case'binary':case'base64':case'ucs2':case'ucs-2':case'utf16le':case'utf-16le':return true;default:return false;}};Buffer$1.concat=function concat(list,length){if(!isArray$2(list)){throw new TypeError('"list" argument must be an Array of Buffers');}if(list.length===0){return Buffer$1.alloc(0);}var i;if(length===undefined){length=0;for(i=0;i<list.length;++i){length+=list[i].length;}}var buffer=Buffer$1.allocUnsafe(length);var pos=0;for(i=0;i<list.length;++i){var buf=list[i];if(!internalIsBuffer(buf)){throw new TypeError('"list" argument must be an Array of Buffers');}buf.copy(buffer,pos);pos+=buf.length;}return buffer;};function byteLength(string,encoding){if(internalIsBuffer(string)){return string.length;}if(typeof ArrayBuffer!=='undefined'&&typeof ArrayBuffer.isView==='function'&&(ArrayBuffer.isView(string)||string instanceof ArrayBuffer)){return string.byteLength;}if(typeof string!=='string'){string=''+string;}var len=string.length;if(len===0)return 0;// Use a for loop to avoid recursion
var loweredCase=false;for(;;){switch(encoding){case'ascii':case'latin1':case'binary':return len;case'utf8':case'utf-8':case undefined:return utf8ToBytes(string).length;case'ucs2':case'ucs-2':case'utf16le':case'utf-16le':return len*2;case'hex':return len>>>1;case'base64':return base64ToBytes(string).length;default:if(loweredCase)return utf8ToBytes(string).length;// assume utf8
encoding=(''+encoding).toLowerCase();loweredCase=true;}}}Buffer$1.byteLength=byteLength;function slowToString(encoding,start,end){var loweredCase=false;// No need to verify that "this.length <= MAX_UINT32" since it's a read-only
// property of a typed array.
// This behaves neither like String nor Uint8Array in that we set start/end
// to their upper/lower bounds if the value passed is out of range.
// undefined is handled specially as per ECMA-262 6th Edition,
// Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.
if(start===undefined||start<0){start=0;}// Return early if start > this.length. Done here to prevent potential uint32
// coercion fail below.
if(start>this.length){return'';}if(end===undefined||end>this.length){end=this.length;}if(end<=0){return'';}// Force coersion to uint32. This will also coerce falsey/NaN values to 0.
end>>>=0;start>>>=0;if(end<=start){return'';}if(!encoding)encoding='utf8';while(true){switch(encoding){case'hex':return hexSlice(this,start,end);case'utf8':case'utf-8':return utf8Slice(this,start,end);case'ascii':return asciiSlice(this,start,end);case'latin1':case'binary':return latin1Slice(this,start,end);case'base64':return base64Slice(this,start,end);case'ucs2':case'ucs-2':case'utf16le':case'utf-16le':return utf16leSlice(this,start,end);default:if(loweredCase)throw new TypeError('Unknown encoding: '+encoding);encoding=(encoding+'').toLowerCase();loweredCase=true;}}}// The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect
// Buffer instances.
Buffer$1.prototype._isBuffer=true;function swap(b,n,m){var i=b[n];b[n]=b[m];b[m]=i;}Buffer$1.prototype.swap16=function swap16(){var len=this.length;if(len%2!==0){throw new RangeError('Buffer size must be a multiple of 16-bits');}for(var i=0;i<len;i+=2){swap(this,i,i+1);}return this;};Buffer$1.prototype.swap32=function swap32(){var len=this.length;if(len%4!==0){throw new RangeError('Buffer size must be a multiple of 32-bits');}for(var i=0;i<len;i+=4){swap(this,i,i+3);swap(this,i+1,i+2);}return this;};Buffer$1.prototype.swap64=function swap64(){var len=this.length;if(len%8!==0){throw new RangeError('Buffer size must be a multiple of 64-bits');}for(var i=0;i<len;i+=8){swap(this,i,i+7);swap(this,i+1,i+6);swap(this,i+2,i+5);swap(this,i+3,i+4);}return this;};Buffer$1.prototype.toString=function toString(){var length=this.length|0;if(length===0)return'';if(arguments.length===0)return utf8Slice(this,0,length);return slowToString.apply(this,arguments);};Buffer$1.prototype.equals=function equals(b){if(!internalIsBuffer(b))throw new TypeError('Argument must be a Buffer');if(this===b)return true;return Buffer$1.compare(this,b)===0;};Buffer$1.prototype.inspect=function inspect(){var str='';var max=INSPECT_MAX_BYTES;if(this.length>0){str=this.toString('hex',0,max).match(/.{2}/g).join(' ');if(this.length>max)str+=' ... ';}return'<Buffer '+str+'>';};Buffer$1.prototype.compare=function compare(target,start,end,thisStart,thisEnd){if(!internalIsBuffer(target)){throw new TypeError('Argument must be a Buffer');}if(start===undefined){start=0;}if(end===undefined){end=target?target.length:0;}if(thisStart===undefined){thisStart=0;}if(thisEnd===undefined){thisEnd=this.length;}if(start<0||end>target.length||thisStart<0||thisEnd>this.length){throw new RangeError('out of range index');}if(thisStart>=thisEnd&&start>=end){return 0;}if(thisStart>=thisEnd){return-1;}if(start>=end){return 1;}start>>>=0;end>>>=0;thisStart>>>=0;thisEnd>>>=0;if(this===target)return 0;var x=thisEnd-thisStart;var y=end-start;var len=Math.min(x,y);var thisCopy=this.slice(thisStart,thisEnd);var targetCopy=target.slice(start,end);for(var i=0;i<len;++i){if(thisCopy[i]!==targetCopy[i]){x=thisCopy[i];y=targetCopy[i];break;}}if(x<y)return-1;if(y<x)return 1;return 0;};// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,
// OR the last index of `val` in `buffer` at offset <= `byteOffset`.
//
// Arguments:
// - buffer - a Buffer to search
// - val - a string, Buffer, or number
// - byteOffset - an index into `buffer`; will be clamped to an int32
// - encoding - an optional encoding, relevant is val is a string
// - dir - true for indexOf, false for lastIndexOf
function bidirectionalIndexOf(buffer,val,byteOffset,encoding,dir){// Empty buffer means no match
if(buffer.length===0)return-1;// Normalize byteOffset
if(typeof byteOffset==='string'){encoding=byteOffset;byteOffset=0;}else if(byteOffset>0x7fffffff){byteOffset=0x7fffffff;}else if(byteOffset<-0x80000000){byteOffset=-0x80000000;}byteOffset=+byteOffset;// Coerce to Number.
if(isNaN(byteOffset)){// byteOffset: it it's undefined, null, NaN, "foo", etc, search whole buffer
byteOffset=dir?0:buffer.length-1;}// Normalize byteOffset: negative offsets start from the end of the buffer
if(byteOffset<0)byteOffset=buffer.length+byteOffset;if(byteOffset>=buffer.length){if(dir)return-1;else byteOffset=buffer.length-1;}else if(byteOffset<0){if(dir)byteOffset=0;else return-1;}// Normalize val
if(typeof val==='string'){val=Buffer$1.from(val,encoding);}// Finally, search either indexOf (if dir is true) or lastIndexOf
if(internalIsBuffer(val)){// Special case: looking for empty string/buffer always fails
if(val.length===0){return-1;}return arrayIndexOf(buffer,val,byteOffset,encoding,dir);}else if(typeof val==='number'){val=val&0xFF;// Search for a byte value [0-255]
if(Buffer$1.TYPED_ARRAY_SUPPORT&&typeof Uint8Array.prototype.indexOf==='function'){if(dir){return Uint8Array.prototype.indexOf.call(buffer,val,byteOffset);}else{return Uint8Array.prototype.lastIndexOf.call(buffer,val,byteOffset);}}return arrayIndexOf(buffer,[val],byteOffset,encoding,dir);}throw new TypeError('val must be string, number or Buffer');}function arrayIndexOf(arr,val,byteOffset,encoding,dir){var indexSize=1;var arrLength=arr.length;var valLength=val.length;if(encoding!==undefined){encoding=String(encoding).toLowerCase();if(encoding==='ucs2'||encoding==='ucs-2'||encoding==='utf16le'||encoding==='utf-16le'){if(arr.length<2||val.length<2){return-1;}indexSize=2;arrLength/=2;valLength/=2;byteOffset/=2;}}function read(buf,i){if(indexSize===1){return buf[i];}else{return buf.readUInt16BE(i*indexSize);}}var i;if(dir){var foundIndex=-1;for(i=byteOffset;i<arrLength;i++){if(read(arr,i)===read(val,foundIndex===-1?0:i-foundIndex)){if(foundIndex===-1)foundIndex=i;if(i-foundIndex+1===valLength)return foundIndex*indexSize;}else{if(foundIndex!==-1)i-=i-foundIndex;foundIndex=-1;}}}else{if(byteOffset+valLength>arrLength)byteOffset=arrLength-valLength;for(i=byteOffset;i>=0;i--){var found=true;for(var j=0;j<valLength;j++){if(read(arr,i+j)!==read(val,j)){found=false;break;}}if(found)return i;}}return-1;}Buffer$1.prototype.includes=function includes(val,byteOffset,encoding){return this.indexOf(val,byteOffset,encoding)!==-1;};Buffer$1.prototype.indexOf=function indexOf(val,byteOffset,encoding){return bidirectionalIndexOf(this,val,byteOffset,encoding,true);};Buffer$1.prototype.lastIndexOf=function lastIndexOf(val,byteOffset,encoding){return bidirectionalIndexOf(this,val,byteOffset,encoding,false);};function hexWrite(buf,string,offset,length){offset=Number(offset)||0;var remaining=buf.length-offset;if(!length){length=remaining;}else{length=Number(length);if(length>remaining){length=remaining;}}// must be an even number of digits
var strLen=string.length;if(strLen%2!==0)throw new TypeError('Invalid hex string');if(length>strLen/2){length=strLen/2;}for(var i=0;i<length;++i){var parsed=parseInt(string.substr(i*2,2),16);if(isNaN(parsed))return i;buf[offset+i]=parsed;}return i;}function utf8Write(buf,string,offset,length){return blitBuffer(utf8ToBytes(string,buf.length-offset),buf,offset,length);}function asciiWrite(buf,string,offset,length){return blitBuffer(asciiToBytes(string),buf,offset,length);}function latin1Write(buf,string,offset,length){return asciiWrite(buf,string,offset,length);}function base64Write(buf,string,offset,length){return blitBuffer(base64ToBytes(string),buf,offset,length);}function ucs2Write(buf,string,offset,length){return blitBuffer(utf16leToBytes(string,buf.length-offset),buf,offset,length);}Buffer$1.prototype.write=function write(string,offset,length,encoding){// Buffer#write(string)
if(offset===undefined){encoding='utf8';length=this.length;offset=0;// Buffer#write(string, encoding)
}else if(length===undefined&&typeof offset==='string'){encoding=offset;length=this.length;offset=0;// Buffer#write(string, offset[, length][, encoding])
}else if(isFinite(offset)){offset=offset|0;if(isFinite(length)){length=length|0;if(encoding===undefined)encoding='utf8';}else{encoding=length;length=undefined;}// legacy write(string, encoding, offset, length) - remove in v0.13
}else{throw new Error('Buffer.write(string, encoding, offset[, length]) is no longer supported');}var remaining=this.length-offset;if(length===undefined||length>remaining)length=remaining;if(string.length>0&&(length<0||offset<0)||offset>this.length){throw new RangeError('Attempt to write outside buffer bounds');}if(!encoding)encoding='utf8';var loweredCase=false;for(;;){switch(encoding){case'hex':return hexWrite(this,string,offset,length);case'utf8':case'utf-8':return utf8Write(this,string,offset,length);case'ascii':return asciiWrite(this,string,offset,length);case'latin1':case'binary':return latin1Write(this,string,offset,length);case'base64':// Warning: maxLength not taken into account in base64Write
return base64Write(this,string,offset,length);case'ucs2':case'ucs-2':case'utf16le':case'utf-16le':return ucs2Write(this,string,offset,length);default:if(loweredCase)throw new TypeError('Unknown encoding: '+encoding);encoding=(''+encoding).toLowerCase();loweredCase=true;}}};Buffer$1.prototype.toJSON=function toJSON(){return{type:'Buffer',data:Array.prototype.slice.call(this._arr||this,0)};};function base64Slice(buf,start,end){if(start===0&&end===buf.length){return fromByteArray(buf);}else{return fromByteArray(buf.slice(start,end));}}function utf8Slice(buf,start,end){end=Math.min(buf.length,end);var res=[];var i=start;while(i<end){var firstByte=buf[i];var codePoint=null;var bytesPerSequence=firstByte>0xEF?4:firstByte>0xDF?3:firstByte>0xBF?2:1;if(i+bytesPerSequence<=end){var secondByte,thirdByte,fourthByte,tempCodePoint;switch(bytesPerSequence){case 1:if(firstByte<0x80){codePoint=firstByte;}break;case 2:secondByte=buf[i+1];if((secondByte&0xC0)===0x80){tempCodePoint=(firstByte&0x1F)<<0x6|secondByte&0x3F;if(tempCodePoint>0x7F){codePoint=tempCodePoint;}}break;case 3:secondByte=buf[i+1];thirdByte=buf[i+2];if((secondByte&0xC0)===0x80&&(thirdByte&0xC0)===0x80){tempCodePoint=(firstByte&0xF)<<0xC|(secondByte&0x3F)<<0x6|thirdByte&0x3F;if(tempCodePoint>0x7FF&&(tempCodePoint<0xD800||tempCodePoint>0xDFFF)){codePoint=tempCodePoint;}}break;case 4:secondByte=buf[i+1];thirdByte=buf[i+2];fourthByte=buf[i+3];if((secondByte&0xC0)===0x80&&(thirdByte&0xC0)===0x80&&(fourthByte&0xC0)===0x80){tempCodePoint=(firstByte&0xF)<<0x12|(secondByte&0x3F)<<0xC|(thirdByte&0x3F)<<0x6|fourthByte&0x3F;if(tempCodePoint>0xFFFF&&tempCodePoint<0x110000){codePoint=tempCodePoint;}}}}if(codePoint===null){// we did not generate a valid codePoint so insert a
// replacement char (U+FFFD) and advance only 1 byte
codePoint=0xFFFD;bytesPerSequence=1;}else if(codePoint>0xFFFF){// encode to utf16 (surrogate pair dance)
codePoint-=0x10000;res.push(codePoint>>>10&0x3FF|0xD800);codePoint=0xDC00|codePoint&0x3FF;}res.push(codePoint);i+=bytesPerSequence;}return decodeCodePointsArray(res);}// Based on http://stackoverflow.com/a/22747272/680742, the browser with
// the lowest limit is Chrome, with 0x10000 args.
// We go 1 magnitude less, for safety
var MAX_ARGUMENTS_LENGTH=0x1000;function decodeCodePointsArray(codePoints){var len=codePoints.length;if(len<=MAX_ARGUMENTS_LENGTH){return String.fromCharCode.apply(String,codePoints);// avoid extra slice()
}// Decode in chunks to avoid "call stack size exceeded".
var res='';var i=0;while(i<len){res+=String.fromCharCode.apply(String,codePoints.slice(i,i+=MAX_ARGUMENTS_LENGTH));}return res;}function asciiSlice(buf,start,end){var ret='';end=Math.min(buf.length,end);for(var i=start;i<end;++i){ret+=String.fromCharCode(buf[i]&0x7F);}return ret;}function latin1Slice(buf,start,end){var ret='';end=Math.min(buf.length,end);for(var i=start;i<end;++i){ret+=String.fromCharCode(buf[i]);}return ret;}function hexSlice(buf,start,end){var len=buf.length;if(!start||start<0)start=0;if(!end||end<0||end>len)end=len;var out='';for(var i=start;i<end;++i){out+=toHex(buf[i]);}return out;}function utf16leSlice(buf,start,end){var bytes=buf.slice(start,end);var res='';for(var i=0;i<bytes.length;i+=2){res+=String.fromCharCode(bytes[i]+bytes[i+1]*256);}return res;}Buffer$1.prototype.slice=function slice(start,end){var len=this.length;start=~~start;end=end===undefined?len:~~end;if(start<0){start+=len;if(start<0)start=0;}else if(start>len){start=len;}if(end<0){end+=len;if(end<0)end=0;}else if(end>len){end=len;}if(end<start)end=start;var newBuf;if(Buffer$1.TYPED_ARRAY_SUPPORT){newBuf=this.subarray(start,end);newBuf.__proto__=Buffer$1.prototype;}else{var sliceLen=end-start;newBuf=new Buffer$1(sliceLen,undefined);for(var i=0;i<sliceLen;++i){newBuf[i]=this[i+start];}}return newBuf;};/*
   * Need to make sure that buffer isn't trying to write out of bounds.
   */function checkOffset(offset,ext,length){if(offset%1!==0||offset<0)throw new RangeError('offset is not uint');if(offset+ext>length)throw new RangeError('Trying to access beyond buffer length');}Buffer$1.prototype.readUIntLE=function readUIntLE(offset,byteLength,noAssert){offset=offset|0;byteLength=byteLength|0;if(!noAssert)checkOffset(offset,byteLength,this.length);var val=this[offset];var mul=1;var i=0;while(++i<byteLength&&(mul*=0x100)){val+=this[offset+i]*mul;}return val;};Buffer$1.prototype.readUIntBE=function readUIntBE(offset,byteLength,noAssert){offset=offset|0;byteLength=byteLength|0;if(!noAssert){checkOffset(offset,byteLength,this.length);}var val=this[offset+--byteLength];var mul=1;while(byteLength>0&&(mul*=0x100)){val+=this[offset+--byteLength]*mul;}return val;};Buffer$1.prototype.readUInt8=function readUInt8(offset,noAssert){if(!noAssert)checkOffset(offset,1,this.length);return this[offset];};Buffer$1.prototype.readUInt16LE=function readUInt16LE(offset,noAssert){if(!noAssert)checkOffset(offset,2,this.length);return this[offset]|this[offset+1]<<8;};Buffer$1.prototype.readUInt16BE=function readUInt16BE(offset,noAssert){if(!noAssert)checkOffset(offset,2,this.length);return this[offset]<<8|this[offset+1];};Buffer$1.prototype.readUInt32LE=function readUInt32LE(offset,noAssert){if(!noAssert)checkOffset(offset,4,this.length);return(this[offset]|this[offset+1]<<8|this[offset+2]<<16)+this[offset+3]*0x1000000;};Buffer$1.prototype.readUInt32BE=function readUInt32BE(offset,noAssert){if(!noAssert)checkOffset(offset,4,this.length);return this[offset]*0x1000000+(this[offset+1]<<16|this[offset+2]<<8|this[offset+3]);};Buffer$1.prototype.readIntLE=function readIntLE(offset,byteLength,noAssert){offset=offset|0;byteLength=byteLength|0;if(!noAssert)checkOffset(offset,byteLength,this.length);var val=this[offset];var mul=1;var i=0;while(++i<byteLength&&(mul*=0x100)){val+=this[offset+i]*mul;}mul*=0x80;if(val>=mul)val-=Math.pow(2,8*byteLength);return val;};Buffer$1.prototype.readIntBE=function readIntBE(offset,byteLength,noAssert){offset=offset|0;byteLength=byteLength|0;if(!noAssert)checkOffset(offset,byteLength,this.length);var i=byteLength;var mul=1;var val=this[offset+--i];while(i>0&&(mul*=0x100)){val+=this[offset+--i]*mul;}mul*=0x80;if(val>=mul)val-=Math.pow(2,8*byteLength);return val;};Buffer$1.prototype.readInt8=function readInt8(offset,noAssert){if(!noAssert)checkOffset(offset,1,this.length);if(!(this[offset]&0x80))return this[offset];return(0xff-this[offset]+1)*-1;};Buffer$1.prototype.readInt16LE=function readInt16LE(offset,noAssert){if(!noAssert)checkOffset(offset,2,this.length);var val=this[offset]|this[offset+1]<<8;return val&0x8000?val|0xFFFF0000:val;};Buffer$1.prototype.readInt16BE=function readInt16BE(offset,noAssert){if(!noAssert)checkOffset(offset,2,this.length);var val=this[offset+1]|this[offset]<<8;return val&0x8000?val|0xFFFF0000:val;};Buffer$1.prototype.readInt32LE=function readInt32LE(offset,noAssert){if(!noAssert)checkOffset(offset,4,this.length);return this[offset]|this[offset+1]<<8|this[offset+2]<<16|this[offset+3]<<24;};Buffer$1.prototype.readInt32BE=function readInt32BE(offset,noAssert){if(!noAssert)checkOffset(offset,4,this.length);return this[offset]<<24|this[offset+1]<<16|this[offset+2]<<8|this[offset+3];};Buffer$1.prototype.readFloatLE=function readFloatLE(offset,noAssert){if(!noAssert)checkOffset(offset,4,this.length);return read(this,offset,true,23,4);};Buffer$1.prototype.readFloatBE=function readFloatBE(offset,noAssert){if(!noAssert)checkOffset(offset,4,this.length);return read(this,offset,false,23,4);};Buffer$1.prototype.readDoubleLE=function readDoubleLE(offset,noAssert){if(!noAssert)checkOffset(offset,8,this.length);return read(this,offset,true,52,8);};Buffer$1.prototype.readDoubleBE=function readDoubleBE(offset,noAssert){if(!noAssert)checkOffset(offset,8,this.length);return read(this,offset,false,52,8);};function checkInt(buf,value,offset,ext,max,min){if(!internalIsBuffer(buf))throw new TypeError('"buffer" argument must be a Buffer instance');if(value>max||value<min)throw new RangeError('"value" argument is out of bounds');if(offset+ext>buf.length)throw new RangeError('Index out of range');}Buffer$1.prototype.writeUIntLE=function writeUIntLE(value,offset,byteLength,noAssert){value=+value;offset=offset|0;byteLength=byteLength|0;if(!noAssert){var maxBytes=Math.pow(2,8*byteLength)-1;checkInt(this,value,offset,byteLength,maxBytes,0);}var mul=1;var i=0;this[offset]=value&0xFF;while(++i<byteLength&&(mul*=0x100)){this[offset+i]=value/mul&0xFF;}return offset+byteLength;};Buffer$1.prototype.writeUIntBE=function writeUIntBE(value,offset,byteLength,noAssert){value=+value;offset=offset|0;byteLength=byteLength|0;if(!noAssert){var maxBytes=Math.pow(2,8*byteLength)-1;checkInt(this,value,offset,byteLength,maxBytes,0);}var i=byteLength-1;var mul=1;this[offset+i]=value&0xFF;while(--i>=0&&(mul*=0x100)){this[offset+i]=value/mul&0xFF;}return offset+byteLength;};Buffer$1.prototype.writeUInt8=function writeUInt8(value,offset,noAssert){value=+value;offset=offset|0;if(!noAssert)checkInt(this,value,offset,1,0xff,0);if(!Buffer$1.TYPED_ARRAY_SUPPORT)value=Math.floor(value);this[offset]=value&0xff;return offset+1;};function objectWriteUInt16(buf,value,offset,littleEndian){if(value<0)value=0xffff+value+1;for(var i=0,j=Math.min(buf.length-offset,2);i<j;++i){buf[offset+i]=(value&0xff<<8*(littleEndian?i:1-i))>>>(littleEndian?i:1-i)*8;}}Buffer$1.prototype.writeUInt16LE=function writeUInt16LE(value,offset,noAssert){value=+value;offset=offset|0;if(!noAssert)checkInt(this,value,offset,2,0xffff,0);if(Buffer$1.TYPED_ARRAY_SUPPORT){this[offset]=value&0xff;this[offset+1]=value>>>8;}else{objectWriteUInt16(this,value,offset,true);}return offset+2;};Buffer$1.prototype.writeUInt16BE=function writeUInt16BE(value,offset,noAssert){value=+value;offset=offset|0;if(!noAssert)checkInt(this,value,offset,2,0xffff,0);if(Buffer$1.TYPED_ARRAY_SUPPORT){this[offset]=value>>>8;this[offset+1]=value&0xff;}else{objectWriteUInt16(this,value,offset,false);}return offset+2;};function objectWriteUInt32(buf,value,offset,littleEndian){if(value<0)value=0xffffffff+value+1;for(var i=0,j=Math.min(buf.length-offset,4);i<j;++i){buf[offset+i]=value>>>(littleEndian?i:3-i)*8&0xff;}}Buffer$1.prototype.writeUInt32LE=function writeUInt32LE(value,offset,noAssert){value=+value;offset=offset|0;if(!noAssert)checkInt(this,value,offset,4,0xffffffff,0);if(Buffer$1.TYPED_ARRAY_SUPPORT){this[offset+3]=value>>>24;this[offset+2]=value>>>16;this[offset+1]=value>>>8;this[offset]=value&0xff;}else{objectWriteUInt32(this,value,offset,true);}return offset+4;};Buffer$1.prototype.writeUInt32BE=function writeUInt32BE(value,offset,noAssert){value=+value;offset=offset|0;if(!noAssert)checkInt(this,value,offset,4,0xffffffff,0);if(Buffer$1.TYPED_ARRAY_SUPPORT){this[offset]=value>>>24;this[offset+1]=value>>>16;this[offset+2]=value>>>8;this[offset+3]=value&0xff;}else{objectWriteUInt32(this,value,offset,false);}return offset+4;};Buffer$1.prototype.writeIntLE=function writeIntLE(value,offset,byteLength,noAssert){value=+value;offset=offset|0;if(!noAssert){var limit=Math.pow(2,8*byteLength-1);checkInt(this,value,offset,byteLength,limit-1,-limit);}var i=0;var mul=1;var sub=0;this[offset]=value&0xFF;while(++i<byteLength&&(mul*=0x100)){if(value<0&&sub===0&&this[offset+i-1]!==0){sub=1;}this[offset+i]=(value/mul>>0)-sub&0xFF;}return offset+byteLength;};Buffer$1.prototype.writeIntBE=function writeIntBE(value,offset,byteLength,noAssert){value=+value;offset=offset|0;if(!noAssert){var limit=Math.pow(2,8*byteLength-1);checkInt(this,value,offset,byteLength,limit-1,-limit);}var i=byteLength-1;var mul=1;var sub=0;this[offset+i]=value&0xFF;while(--i>=0&&(mul*=0x100)){if(value<0&&sub===0&&this[offset+i+1]!==0){sub=1;}this[offset+i]=(value/mul>>0)-sub&0xFF;}return offset+byteLength;};Buffer$1.prototype.writeInt8=function writeInt8(value,offset,noAssert){value=+value;offset=offset|0;if(!noAssert)checkInt(this,value,offset,1,0x7f,-0x80);if(!Buffer$1.TYPED_ARRAY_SUPPORT)value=Math.floor(value);if(value<0)value=0xff+value+1;this[offset]=value&0xff;return offset+1;};Buffer$1.prototype.writeInt16LE=function writeInt16LE(value,offset,noAssert){value=+value;offset=offset|0;if(!noAssert)checkInt(this,value,offset,2,0x7fff,-0x8000);if(Buffer$1.TYPED_ARRAY_SUPPORT){this[offset]=value&0xff;this[offset+1]=value>>>8;}else{objectWriteUInt16(this,value,offset,true);}return offset+2;};Buffer$1.prototype.writeInt16BE=function writeInt16BE(value,offset,noAssert){value=+value;offset=offset|0;if(!noAssert)checkInt(this,value,offset,2,0x7fff,-0x8000);if(Buffer$1.TYPED_ARRAY_SUPPORT){this[offset]=value>>>8;this[offset+1]=value&0xff;}else{objectWriteUInt16(this,value,offset,false);}return offset+2;};Buffer$1.prototype.writeInt32LE=function writeInt32LE(value,offset,noAssert){value=+value;offset=offset|0;if(!noAssert)checkInt(this,value,offset,4,0x7fffffff,-0x80000000);if(Buffer$1.TYPED_ARRAY_SUPPORT){this[offset]=value&0xff;this[offset+1]=value>>>8;this[offset+2]=value>>>16;this[offset+3]=value>>>24;}else{objectWriteUInt32(this,value,offset,true);}return offset+4;};Buffer$1.prototype.writeInt32BE=function writeInt32BE(value,offset,noAssert){value=+value;offset=offset|0;if(!noAssert)checkInt(this,value,offset,4,0x7fffffff,-0x80000000);if(value<0)value=0xffffffff+value+1;if(Buffer$1.TYPED_ARRAY_SUPPORT){this[offset]=value>>>24;this[offset+1]=value>>>16;this[offset+2]=value>>>8;this[offset+3]=value&0xff;}else{objectWriteUInt32(this,value,offset,false);}return offset+4;};function checkIEEE754(buf,value,offset,ext,max,min){if(offset+ext>buf.length)throw new RangeError('Index out of range');if(offset<0)throw new RangeError('Index out of range');}function writeFloat(buf,value,offset,littleEndian,noAssert){if(!noAssert){checkIEEE754(buf,value,offset,4);}write(buf,value,offset,littleEndian,23,4);return offset+4;}Buffer$1.prototype.writeFloatLE=function writeFloatLE(value,offset,noAssert){return writeFloat(this,value,offset,true,noAssert);};Buffer$1.prototype.writeFloatBE=function writeFloatBE(value,offset,noAssert){return writeFloat(this,value,offset,false,noAssert);};function writeDouble(buf,value,offset,littleEndian,noAssert){if(!noAssert){checkIEEE754(buf,value,offset,8);}write(buf,value,offset,littleEndian,52,8);return offset+8;}Buffer$1.prototype.writeDoubleLE=function writeDoubleLE(value,offset,noAssert){return writeDouble(this,value,offset,true,noAssert);};Buffer$1.prototype.writeDoubleBE=function writeDoubleBE(value,offset,noAssert){return writeDouble(this,value,offset,false,noAssert);};// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)
Buffer$1.prototype.copy=function copy(target,targetStart,start,end){if(!start)start=0;if(!end&&end!==0)end=this.length;if(targetStart>=target.length)targetStart=target.length;if(!targetStart)targetStart=0;if(end>0&&end<start)end=start;// Copy 0 bytes; we're done
if(end===start)return 0;if(target.length===0||this.length===0)return 0;// Fatal error conditions
if(targetStart<0){throw new RangeError('targetStart out of bounds');}if(start<0||start>=this.length)throw new RangeError('sourceStart out of bounds');if(end<0)throw new RangeError('sourceEnd out of bounds');// Are we oob?
if(end>this.length)end=this.length;if(target.length-targetStart<end-start){end=target.length-targetStart+start;}var len=end-start;var i;if(this===target&&start<targetStart&&targetStart<end){// descending copy from end
for(i=len-1;i>=0;--i){target[i+targetStart]=this[i+start];}}else if(len<1000||!Buffer$1.TYPED_ARRAY_SUPPORT){// ascending copy from start
for(i=0;i<len;++i){target[i+targetStart]=this[i+start];}}else{Uint8Array.prototype.set.call(target,this.subarray(start,start+len),targetStart);}return len;};// Usage:
//    buffer.fill(number[, offset[, end]])
//    buffer.fill(buffer[, offset[, end]])
//    buffer.fill(string[, offset[, end]][, encoding])
Buffer$1.prototype.fill=function fill(val,start,end,encoding){// Handle string cases:
if(typeof val==='string'){if(typeof start==='string'){encoding=start;start=0;end=this.length;}else if(typeof end==='string'){encoding=end;end=this.length;}if(val.length===1){var code=val.charCodeAt(0);if(code<256){val=code;}}if(encoding!==undefined&&typeof encoding!=='string'){throw new TypeError('encoding must be a string');}if(typeof encoding==='string'&&!Buffer$1.isEncoding(encoding)){throw new TypeError('Unknown encoding: '+encoding);}}else if(typeof val==='number'){val=val&255;}// Invalid ranges are not set to a default, so can range check early.
if(start<0||this.length<start||this.length<end){throw new RangeError('Out of range index');}if(end<=start){return this;}start=start>>>0;end=end===undefined?this.length:end>>>0;if(!val)val=0;var i;if(typeof val==='number'){for(i=start;i<end;++i){this[i]=val;}}else{var bytes=internalIsBuffer(val)?val:utf8ToBytes(new Buffer$1(val,encoding).toString());var len=bytes.length;for(i=0;i<end-start;++i){this[i+start]=bytes[i%len];}}return this;};// HELPER FUNCTIONS
// ================
var INVALID_BASE64_RE=/[^+\/0-9A-Za-z-_]/g;function base64clean(str){// Node strips out invalid characters like \n and \t from the string, base64-js does not
str=stringtrim(str).replace(INVALID_BASE64_RE,'');// Node converts strings with length < 2 to ''
if(str.length<2)return'';// Node allows for non-padded base64 strings (missing trailing ===), base64-js does not
while(str.length%4!==0){str=str+'=';}return str;}function stringtrim(str){if(str.trim)return str.trim();return str.replace(/^\s+|\s+$/g,'');}function toHex(n){if(n<16)return'0'+n.toString(16);return n.toString(16);}function utf8ToBytes(string,units){units=units||Infinity;var codePoint;var length=string.length;var leadSurrogate=null;var bytes=[];for(var i=0;i<length;++i){codePoint=string.charCodeAt(i);// is surrogate component
if(codePoint>0xD7FF&&codePoint<0xE000){// last char was a lead
if(!leadSurrogate){// no lead yet
if(codePoint>0xDBFF){// unexpected trail
if((units-=3)>-1)bytes.push(0xEF,0xBF,0xBD);continue;}else if(i+1===length){// unpaired lead
if((units-=3)>-1)bytes.push(0xEF,0xBF,0xBD);continue;}// valid lead
leadSurrogate=codePoint;continue;}// 2 leads in a row
if(codePoint<0xDC00){if((units-=3)>-1)bytes.push(0xEF,0xBF,0xBD);leadSurrogate=codePoint;continue;}// valid surrogate pair
codePoint=(leadSurrogate-0xD800<<10|codePoint-0xDC00)+0x10000;}else if(leadSurrogate){// valid bmp char, but last char was a lead
if((units-=3)>-1)bytes.push(0xEF,0xBF,0xBD);}leadSurrogate=null;// encode utf8
if(codePoint<0x80){if((units-=1)<0)break;bytes.push(codePoint);}else if(codePoint<0x800){if((units-=2)<0)break;bytes.push(codePoint>>0x6|0xC0,codePoint&0x3F|0x80);}else if(codePoint<0x10000){if((units-=3)<0)break;bytes.push(codePoint>>0xC|0xE0,codePoint>>0x6&0x3F|0x80,codePoint&0x3F|0x80);}else if(codePoint<0x110000){if((units-=4)<0)break;bytes.push(codePoint>>0x12|0xF0,codePoint>>0xC&0x3F|0x80,codePoint>>0x6&0x3F|0x80,codePoint&0x3F|0x80);}else{throw new Error('Invalid code point');}}return bytes;}function asciiToBytes(str){var byteArray=[];for(var i=0;i<str.length;++i){// Node's code seems to be doing this and not & 0x7F..
byteArray.push(str.charCodeAt(i)&0xFF);}return byteArray;}function utf16leToBytes(str,units){var c,hi,lo;var byteArray=[];for(var i=0;i<str.length;++i){if((units-=2)<0)break;c=str.charCodeAt(i);hi=c>>8;lo=c%256;byteArray.push(lo);byteArray.push(hi);}return byteArray;}function base64ToBytes(str){return toByteArray(base64clean(str));}function blitBuffer(src,dst,offset,length){for(var i=0;i<length;++i){if(i+offset>=dst.length||i>=src.length)break;dst[i+offset]=src[i];}return i;}function isnan(val){return val!==val;// eslint-disable-line no-self-compare
}// the following is from is-buffer, also by Feross Aboukhadijeh and with same lisence
// The _isBuffer check is for Safari 5-7 support, because it's missing
// Object.prototype.constructor. Remove this eventually
function isBuffer$1(obj){return obj!=null&&(!!obj._isBuffer||isFastBuffer(obj)||isSlowBuffer(obj));}function isFastBuffer(obj){return!!obj.constructor&&typeof obj.constructor.isBuffer==='function'&&obj.constructor.isBuffer(obj);}// For Node v0.10 support. Remove this eventually.
function isSlowBuffer(obj){return typeof obj.readFloatLE==='function'&&typeof obj.slice==='function'&&isFastBuffer(obj.slice(0,0));}var sourcemapCodec_umd={exports:{}};var hasRequiredSourcemapCodec_umd;function requireSourcemapCodec_umd(){if(hasRequiredSourcemapCodec_umd)return sourcemapCodec_umd.exports;hasRequiredSourcemapCodec_umd=1;(function(module,exports){(function(global,factory){factory(exports);})(commonjsGlobal,function(exports){var comma=','.charCodeAt(0);var semicolon=';'.charCodeAt(0);var chars='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';var intToChar=new Uint8Array(64);var charToInt=new Uint8Array(128);for(var i=0;i<chars.length;i++){var c=chars.charCodeAt(i);intToChar[i]=c;charToInt[c]=i;}var td=typeof TextDecoder!=='undefined'?new TextDecoder():typeof Buffer$1!=='undefined'?{decode:function decode(buf){var out=Buffer$1.from(buf.buffer,buf.byteOffset,buf.byteLength);return out.toString();}}:{decode:function decode(buf){var out='';for(var _i=0;_i<buf.length;_i++){out+=String.fromCharCode(buf[_i]);}return out;}};function decode(mappings){var state=new Int32Array(5);var decoded=[];var index=0;do{var semi=indexOf(mappings,index);var line=[];var sorted=true;var lastCol=0;state[0]=0;for(var _i2=index;_i2<semi;_i2++){var seg=void 0;_i2=decodeInteger(mappings,_i2,state,0);var col=state[0];if(col<lastCol)sorted=false;lastCol=col;if(hasMoreVlq(mappings,_i2,semi)){_i2=decodeInteger(mappings,_i2,state,1);_i2=decodeInteger(mappings,_i2,state,2);_i2=decodeInteger(mappings,_i2,state,3);if(hasMoreVlq(mappings,_i2,semi)){_i2=decodeInteger(mappings,_i2,state,4);seg=[col,state[1],state[2],state[3],state[4]];}else{seg=[col,state[1],state[2],state[3]];}}else{seg=[col];}line.push(seg);}if(!sorted)sort(line);decoded.push(line);index=semi+1;}while(index<=mappings.length);return decoded;}function indexOf(mappings,index){var idx=mappings.indexOf(';',index);return idx===-1?mappings.length:idx;}function decodeInteger(mappings,pos,state,j){var value=0;var shift=0;var integer=0;do{var _c=mappings.charCodeAt(pos++);integer=charToInt[_c];value|=(integer&31)<<shift;shift+=5;}while(integer&32);var shouldNegate=value&1;value>>>=1;if(shouldNegate){value=-0x80000000|-value;}state[j]+=value;return pos;}function hasMoreVlq(mappings,i,length){if(i>=length)return false;return mappings.charCodeAt(i)!==comma;}function sort(line){line.sort(sortComparator);}function sortComparator(a,b){return a[0]-b[0];}function encode(decoded){var state=new Int32Array(5);var bufLength=1024*16;var subLength=bufLength-36;var buf=new Uint8Array(bufLength);var sub=buf.subarray(0,subLength);var pos=0;var out='';for(var _i3=0;_i3<decoded.length;_i3++){var line=decoded[_i3];if(_i3>0){if(pos===bufLength){out+=td.decode(buf);pos=0;}buf[pos++]=semicolon;}if(line.length===0)continue;state[0]=0;for(var j=0;j<line.length;j++){var segment=line[j];if(pos>subLength){out+=td.decode(sub);buf.copyWithin(0,subLength,pos);pos-=subLength;}if(j>0)buf[pos++]=comma;pos=encodeInteger(buf,pos,state,segment,0);if(segment.length===1)continue;pos=encodeInteger(buf,pos,state,segment,1);pos=encodeInteger(buf,pos,state,segment,2);pos=encodeInteger(buf,pos,state,segment,3);if(segment.length===4)continue;pos=encodeInteger(buf,pos,state,segment,4);}}return out+td.decode(buf.subarray(0,pos));}function encodeInteger(buf,pos,state,segment,j){var next=segment[j];var num=next-state[j];state[j]=next;num=num<0?-num<<1|1:num<<1;do{var clamped=num&31;num>>>=5;if(num>0)clamped|=32;buf[pos++]=intToChar[clamped];}while(num>0);return pos;}exports.decode=decode;exports.encode=encode;Object.defineProperty(exports,'__esModule',{value:true});});})(sourcemapCodec_umd,sourcemapCodec_umd.exports);return sourcemapCodec_umd.exports;}var traceMapping_umd={exports:{}};var resolveUri_umd={exports:{}};var hasRequiredResolveUri_umd;function requireResolveUri_umd(){if(hasRequiredResolveUri_umd)return resolveUri_umd.exports;hasRequiredResolveUri_umd=1;(function(module,exports){(function(global,factory){module.exports=factory();})(commonjsGlobal,function(){var schemeRegex=/^[\w+.-]+:\/\//;var urlRegex=/^([\w+.-]+:)\/\/([^@/#?]*@)?([^:/#?]*)(:\d+)?(\/[^#?]*)?(\?[^#]*)?(#.*)?/;var fileRegex=/^file:(?:\/\/((?![a-z]:)[^/#?]*)?)?(\/?[^#?]*)(\?[^#]*)?(#.*)?/i;function isAbsoluteUrl(input){return schemeRegex.test(input);}function isSchemeRelativeUrl(input){return input.startsWith('//');}function isAbsolutePath(input){return input.startsWith('/');}function isFileUrl(input){return input.startsWith('file:');}function isRelative(input){return /^[.?#]/.test(input);}function parseAbsoluteUrl(input){var match=urlRegex.exec(input);return makeUrl(match[1],match[2]||'',match[3],match[4]||'',match[5]||'/',match[6]||'',match[7]||'');}function parseFileUrl(input){var match=fileRegex.exec(input);var path=match[2];return makeUrl('file:','',match[1]||'','',isAbsolutePath(path)?path:'/'+path,match[3]||'',match[4]||'');}function makeUrl(scheme,user,host,port,path,query,hash){return{scheme:scheme,user:user,host:host,port:port,path:path,query:query,hash:hash,type:7};}function parseUrl(input){if(isSchemeRelativeUrl(input)){var _url=parseAbsoluteUrl('http:'+input);_url.scheme='';_url.type=6;return _url;}if(isAbsolutePath(input)){var _url2=parseAbsoluteUrl('http://foo.com'+input);_url2.scheme='';_url2.host='';_url2.type=5;return _url2;}if(isFileUrl(input))return parseFileUrl(input);if(isAbsoluteUrl(input))return parseAbsoluteUrl(input);var url=parseAbsoluteUrl('http://foo.com/'+input);url.scheme='';url.host='';url.type=input?input.startsWith('?')?3:input.startsWith('#')?2:4:1;return url;}function stripPathFilename(path){if(path.endsWith('/..'))return path;var index=path.lastIndexOf('/');return path.slice(0,index+1);}function mergePaths(url,base){normalizePath(base,base.type);if(url.path==='/'){url.path=base.path;}else{url.path=stripPathFilename(base.path)+url.path;}}function normalizePath(url,type){var rel=type<=4;var pieces=url.path.split('/');var pointer=1;var positive=0;var addTrailingSlash=false;for(var i=1;i<pieces.length;i++){var piece=pieces[i];if(!piece){addTrailingSlash=true;continue;}addTrailingSlash=false;if(piece==='.')continue;if(piece==='..'){if(positive){addTrailingSlash=true;positive--;pointer--;}else if(rel){pieces[pointer++]=piece;}continue;}pieces[pointer++]=piece;positive++;}var path='';for(var _i=1;_i<pointer;_i++){path+='/'+pieces[_i];}if(!path||addTrailingSlash&&!path.endsWith('/..')){path+='/';}url.path=path;}function resolve(input,base){if(!input&&!base)return'';var url=parseUrl(input);var inputType=url.type;if(base&&inputType!==7){var baseUrl=parseUrl(base);var baseType=baseUrl.type;switch(inputType){case 1:url.hash=baseUrl.hash;case 2:url.query=baseUrl.query;case 3:case 4:mergePaths(url,baseUrl);case 5:url.user=baseUrl.user;url.host=baseUrl.host;url.port=baseUrl.port;case 6:url.scheme=baseUrl.scheme;}if(baseType>inputType)inputType=baseType;}normalizePath(url,inputType);var queryHash=url.query+url.hash;switch(inputType){case 2:case 3:return queryHash;case 4:{var path=url.path.slice(1);if(!path)return queryHash||'.';if(isRelative(base||input)&&!isRelative(path)){return'./'+path+queryHash;}return path+queryHash;}case 5:return url.path+queryHash;default:return url.scheme+'//'+url.user+url.host+url.port+url.path+queryHash;}}return resolve;});})(resolveUri_umd);return resolveUri_umd.exports;}(function(module,exports){(function(global,factory){factory(exports,requireSourcemapCodec_umd(),requireResolveUri_umd());})(commonjsGlobal,function(exports,sourcemapCodec,resolveUri){function resolve(input,base){if(base&&!base.endsWith('/'))base+='/';return resolveUri(input,base);}function stripFilename(path){if(!path)return'';var index=path.lastIndexOf('/');return path.slice(0,index+1);}var COLUMN=0;var SOURCES_INDEX=1;var SOURCE_LINE=2;var SOURCE_COLUMN=3;var NAMES_INDEX=4;var REV_GENERATED_LINE=1;var REV_GENERATED_COLUMN=2;function maybeSort(mappings,owned){var unsortedIndex=nextUnsortedSegmentLine(mappings,0);if(unsortedIndex===mappings.length)return mappings;if(!owned)mappings=mappings.slice();for(var i=unsortedIndex;i<mappings.length;i=nextUnsortedSegmentLine(mappings,i+1)){mappings[i]=sortSegments(mappings[i],owned);}return mappings;}function nextUnsortedSegmentLine(mappings,start){for(var i=start;i<mappings.length;i++){if(!isSorted(mappings[i]))return i;}return mappings.length;}function isSorted(line){for(var j=1;j<line.length;j++){if(line[j][COLUMN]<line[j-1][COLUMN]){return false;}}return true;}function sortSegments(line,owned){if(!owned)line=line.slice();return line.sort(sortComparator);}function sortComparator(a,b){return a[COLUMN]-b[COLUMN];}var found=false;function binarySearch(haystack,needle,low,high){while(low<=high){var mid=low+(high-low>>1);var cmp=haystack[mid][COLUMN]-needle;if(cmp===0){found=true;return mid;}if(cmp<0){low=mid+1;}else{high=mid-1;}}found=false;return low-1;}function upperBound(haystack,needle,index){for(var i=index+1;i<haystack.length;index=i++){if(haystack[i][COLUMN]!==needle)break;}return index;}function lowerBound(haystack,needle,index){for(var i=index-1;i>=0;index=i--){if(haystack[i][COLUMN]!==needle)break;}return index;}function memoizedState(){return{lastKey:-1,lastNeedle:-1,lastIndex:-1};}function memoizedBinarySearch(haystack,needle,state,key){var lastKey=state.lastKey,lastNeedle=state.lastNeedle,lastIndex=state.lastIndex;var low=0;var high=haystack.length-1;if(key===lastKey){if(needle===lastNeedle){found=lastIndex!==-1&&haystack[lastIndex][COLUMN]===needle;return lastIndex;}if(needle>=lastNeedle){low=lastIndex===-1?0:lastIndex;}else{high=lastIndex;}}state.lastKey=key;state.lastNeedle=needle;return state.lastIndex=binarySearch(haystack,needle,low,high);}function buildBySources(decoded,memos){var sources=memos.map(buildNullArray);for(var i=0;i<decoded.length;i++){var line=decoded[i];for(var j=0;j<line.length;j++){var seg=line[j];if(seg.length===1)continue;var _sourceIndex=seg[SOURCES_INDEX];var sourceLine=seg[SOURCE_LINE];var sourceColumn=seg[SOURCE_COLUMN];var originalSource=sources[_sourceIndex];var originalLine=originalSource[sourceLine]||(originalSource[sourceLine]=[]);var memo=memos[_sourceIndex];var index=upperBound(originalLine,sourceColumn,memoizedBinarySearch(originalLine,sourceColumn,memo,sourceLine));memo.lastIndex=++index;insert(originalLine,index,[sourceColumn,i,seg[COLUMN]]);}}return sources;}function insert(array,index,value){for(var i=array.length;i>index;i--){array[i]=array[i-1];}array[index]=value;}function buildNullArray(){return{__proto__:null};}var AnyMap=function AnyMap(map,mapUrl){var parsed=parse(map);if(!('sections'in parsed)){return new TraceMap(parsed,mapUrl);}var mappings=[];var sources=[];var sourcesContent=[];var names=[];var ignoreList=[];recurse(parsed,mapUrl,mappings,sources,sourcesContent,names,ignoreList,0,0,Infinity,Infinity);var joined={version:3,file:parsed.file,names:names,sources:sources,sourcesContent:sourcesContent,mappings:mappings,ignoreList:ignoreList};return presortedDecodedMap(joined);};function parse(map){return typeof map==='string'?JSON.parse(map):map;}function recurse(input,mapUrl,mappings,sources,sourcesContent,names,ignoreList,lineOffset,columnOffset,stopLine,stopColumn){var sections=input.sections;for(var i=0;i<sections.length;i++){var _sections$i=sections[i],map=_sections$i.map,offset=_sections$i.offset;var sl=stopLine;var sc=stopColumn;if(i+1<sections.length){var nextOffset=sections[i+1].offset;sl=Math.min(stopLine,lineOffset+nextOffset.line);if(sl===stopLine){sc=Math.min(stopColumn,columnOffset+nextOffset.column);}else if(sl<stopLine){sc=columnOffset+nextOffset.column;}}addSection(map,mapUrl,mappings,sources,sourcesContent,names,ignoreList,lineOffset+offset.line,columnOffset+offset.column,sl,sc);}}function addSection(input,mapUrl,mappings,sources,sourcesContent,names,ignoreList,lineOffset,columnOffset,stopLine,stopColumn){var parsed=parse(input);if('sections'in parsed)return recurse.apply(void 0,arguments);var map=new TraceMap(parsed,mapUrl);var sourcesOffset=sources.length;var namesOffset=names.length;var decoded=decodedMappings(map);var resolvedSources=map.resolvedSources,contents=map.sourcesContent,ignores=map.ignoreList;append(sources,resolvedSources);append(names,map.names);if(contents)append(sourcesContent,contents);else for(var i=0;i<resolvedSources.length;i++)sourcesContent.push(null);if(ignores)for(var _i=0;_i<ignores.length;_i++)ignoreList.push(ignores[_i]+sourcesOffset);for(var _i2=0;_i2<decoded.length;_i2++){var lineI=lineOffset+_i2;if(lineI>stopLine)return;var out=getLine(mappings,lineI);var cOffset=_i2===0?columnOffset:0;var line=decoded[_i2];for(var j=0;j<line.length;j++){var seg=line[j];var column=cOffset+seg[COLUMN];if(lineI===stopLine&&column>=stopColumn)return;if(seg.length===1){out.push([column]);continue;}var sourcesIndex=sourcesOffset+seg[SOURCES_INDEX];var sourceLine=seg[SOURCE_LINE];var sourceColumn=seg[SOURCE_COLUMN];out.push(seg.length===4?[column,sourcesIndex,sourceLine,sourceColumn]:[column,sourcesIndex,sourceLine,sourceColumn,namesOffset+seg[NAMES_INDEX]]);}}}function append(arr,other){for(var i=0;i<other.length;i++)arr.push(other[i]);}function getLine(arr,index){for(var i=arr.length;i<=index;i++)arr[i]=[];return arr[index];}var LINE_GTR_ZERO='`line` must be greater than 0 (lines start at line 1)';var COL_GTR_EQ_ZERO='`column` must be greater than or equal to 0 (columns start at column 0)';var LEAST_UPPER_BOUND=-1;var GREATEST_LOWER_BOUND=1;var TraceMap=_createClass(function TraceMap(map,mapUrl){var isString=typeof map==='string';if(!isString&&map._decodedMemo)return map;var parsed=isString?JSON.parse(map):map;var version=parsed.version,file=parsed.file,names=parsed.names,sourceRoot=parsed.sourceRoot,sources=parsed.sources,sourcesContent=parsed.sourcesContent;this.version=version;this.file=file;this.names=names||[];this.sourceRoot=sourceRoot;this.sources=sources;this.sourcesContent=sourcesContent;this.ignoreList=parsed.ignoreList||parsed.x_google_ignoreList||undefined;var from=resolve(sourceRoot||'',stripFilename(mapUrl));this.resolvedSources=sources.map(function(s){return resolve(s||'',from);});var mappings=parsed.mappings;if(typeof mappings==='string'){this._encoded=mappings;this._decoded=undefined;}else{this._encoded=undefined;this._decoded=maybeSort(mappings,isString);}this._decodedMemo=memoizedState();this._bySources=undefined;this._bySourceMemos=undefined;});function cast(map){return map;}function encodedMappings(map){var _a;var _b;return(_a=(_b=cast(map))._encoded)!==null&&_a!==void 0?_a:_b._encoded=sourcemapCodec.encode(cast(map)._decoded);}function decodedMappings(map){var _a;return(_a=cast(map))._decoded||(_a._decoded=sourcemapCodec.decode(cast(map)._encoded));}function traceSegment(map,line,column){var decoded=decodedMappings(map);if(line>=decoded.length)return null;var segments=decoded[line];var index=traceSegmentInternal(segments,cast(map)._decodedMemo,line,column,GREATEST_LOWER_BOUND);return index===-1?null:segments[index];}function originalPositionFor(map,needle){var line=needle.line,column=needle.column,bias=needle.bias;line--;if(line<0)throw new Error(LINE_GTR_ZERO);if(column<0)throw new Error(COL_GTR_EQ_ZERO);var decoded=decodedMappings(map);if(line>=decoded.length)return OMapping(null,null,null,null);var segments=decoded[line];var index=traceSegmentInternal(segments,cast(map)._decodedMemo,line,column,bias||GREATEST_LOWER_BOUND);if(index===-1)return OMapping(null,null,null,null);var segment=segments[index];if(segment.length===1)return OMapping(null,null,null,null);var names=map.names,resolvedSources=map.resolvedSources;return OMapping(resolvedSources[segment[SOURCES_INDEX]],segment[SOURCE_LINE]+1,segment[SOURCE_COLUMN],segment.length===5?names[segment[NAMES_INDEX]]:null);}function generatedPositionFor(map,needle){var source=needle.source,line=needle.line,column=needle.column,bias=needle.bias;return generatedPosition(map,source,line,column,bias||GREATEST_LOWER_BOUND,false);}function allGeneratedPositionsFor(map,needle){var source=needle.source,line=needle.line,column=needle.column,bias=needle.bias;return generatedPosition(map,source,line,column,bias||LEAST_UPPER_BOUND,true);}function eachMapping(map,cb){var decoded=decodedMappings(map);var names=map.names,resolvedSources=map.resolvedSources;for(var i=0;i<decoded.length;i++){var line=decoded[i];for(var j=0;j<line.length;j++){var seg=line[j];var generatedLine=i+1;var generatedColumn=seg[0];var source=null;var originalLine=null;var originalColumn=null;var name=null;if(seg.length!==1){source=resolvedSources[seg[1]];originalLine=seg[2]+1;originalColumn=seg[3];}if(seg.length===5)name=names[seg[4]];cb({generatedLine:generatedLine,generatedColumn:generatedColumn,source:source,originalLine:originalLine,originalColumn:originalColumn,name:name});}}}function sourceIndex(map,source){var sources=map.sources,resolvedSources=map.resolvedSources;var index=sources.indexOf(source);if(index===-1)index=resolvedSources.indexOf(source);return index;}function sourceContentFor(map,source){var sourcesContent=map.sourcesContent;if(sourcesContent==null)return null;var index=sourceIndex(map,source);return index===-1?null:sourcesContent[index];}function isIgnored(map,source){var ignoreList=map.ignoreList;if(ignoreList==null)return false;var index=sourceIndex(map,source);return index===-1?false:ignoreList.includes(index);}function presortedDecodedMap(map,mapUrl){var tracer=new TraceMap(clone(map,[]),mapUrl);cast(tracer)._decoded=map.mappings;return tracer;}function decodedMap(map){return clone(map,decodedMappings(map));}function encodedMap(map){return clone(map,encodedMappings(map));}function clone(map,mappings){return{version:map.version,file:map.file,names:map.names,sourceRoot:map.sourceRoot,sources:map.sources,sourcesContent:map.sourcesContent,mappings:mappings,ignoreList:map.ignoreList||map.x_google_ignoreList};}function OMapping(source,line,column,name){return{source:source,line:line,column:column,name:name};}function GMapping(line,column){return{line:line,column:column};}function traceSegmentInternal(segments,memo,line,column,bias){var index=memoizedBinarySearch(segments,column,memo,line);if(found){index=(bias===LEAST_UPPER_BOUND?upperBound:lowerBound)(segments,column,index);}else if(bias===LEAST_UPPER_BOUND)index++;if(index===-1||index===segments.length)return-1;return index;}function sliceGeneratedPositions(segments,memo,line,column,bias){var min=traceSegmentInternal(segments,memo,line,column,GREATEST_LOWER_BOUND);if(!found&&bias===LEAST_UPPER_BOUND)min++;if(min===-1||min===segments.length)return[];var matchedColumn=found?column:segments[min][COLUMN];if(!found)min=lowerBound(segments,matchedColumn,min);var max=upperBound(segments,matchedColumn,min);var result=[];for(;min<=max;min++){var segment=segments[min];result.push(GMapping(segment[REV_GENERATED_LINE]+1,segment[REV_GENERATED_COLUMN]));}return result;}function generatedPosition(map,source,line,column,bias,all){var _a;line--;if(line<0)throw new Error(LINE_GTR_ZERO);if(column<0)throw new Error(COL_GTR_EQ_ZERO);var sources=map.sources,resolvedSources=map.resolvedSources;var sourceIndex=sources.indexOf(source);if(sourceIndex===-1)sourceIndex=resolvedSources.indexOf(source);if(sourceIndex===-1)return all?[]:GMapping(null,null);var generated=(_a=cast(map))._bySources||(_a._bySources=buildBySources(decodedMappings(map),cast(map)._bySourceMemos=sources.map(memoizedState)));var segments=generated[sourceIndex][line];if(segments==null)return all?[]:GMapping(null,null);var memo=cast(map)._bySourceMemos[sourceIndex];if(all)return sliceGeneratedPositions(segments,memo,line,column,bias);var index=traceSegmentInternal(segments,memo,line,column,bias);if(index===-1)return GMapping(null,null);var segment=segments[index];return GMapping(segment[REV_GENERATED_LINE]+1,segment[REV_GENERATED_COLUMN]);}exports.AnyMap=AnyMap;exports.GREATEST_LOWER_BOUND=GREATEST_LOWER_BOUND;exports.LEAST_UPPER_BOUND=LEAST_UPPER_BOUND;exports.TraceMap=TraceMap;exports.allGeneratedPositionsFor=allGeneratedPositionsFor;exports.decodedMap=decodedMap;exports.decodedMappings=decodedMappings;exports.eachMapping=eachMapping;exports.encodedMap=encodedMap;exports.encodedMappings=encodedMappings;exports.generatedPositionFor=generatedPositionFor;exports.isIgnored=isIgnored;exports.originalPositionFor=originalPositionFor;exports.presortedDecodedMap=presortedDecodedMap;exports.sourceContentFor=sourceContentFor;exports.traceSegment=traceSegment;});})(traceMapping_umd,traceMapping_umd.exports);var traceMapping_umdExports=traceMapping_umd.exports;(function(module,exports){(function(global,factory){factory(exports,requireSetArray_umd(),requireSourcemapCodec_umd(),traceMapping_umdExports);})(commonjsGlobal,function(exports,setArray,sourcemapCodec,traceMapping){var COLUMN=0;var SOURCES_INDEX=1;var SOURCE_LINE=2;var SOURCE_COLUMN=3;var NAMES_INDEX=4;var NO_NAME=-1;var GenMapping=_createClass(function GenMapping(_temp){var _ref=_temp===void 0?{}:_temp,file=_ref.file,sourceRoot=_ref.sourceRoot;this._names=new setArray.SetArray();this._sources=new setArray.SetArray();this._sourcesContent=[];this._mappings=[];this.file=file;this.sourceRoot=sourceRoot;this._ignoreList=new setArray.SetArray();});function cast(map){return map;}function addSegment(map,genLine,genColumn,source,sourceLine,sourceColumn,name,content){return addSegmentInternal(false,map,genLine,genColumn,source,sourceLine,sourceColumn,name,content);}function addMapping(map,mapping){return addMappingInternal(false,map,mapping);}var maybeAddSegment=function maybeAddSegment(map,genLine,genColumn,source,sourceLine,sourceColumn,name,content){return addSegmentInternal(true,map,genLine,genColumn,source,sourceLine,sourceColumn,name,content);};var maybeAddMapping=function maybeAddMapping(map,mapping){return addMappingInternal(true,map,mapping);};function setSourceContent(map,source,content){var _cast=cast(map),sources=_cast._sources,sourcesContent=_cast._sourcesContent;var index=setArray.put(sources,source);sourcesContent[index]=content;}function setIgnore(map,source,ignore){if(ignore===void 0){ignore=true;}var _cast2=cast(map),sources=_cast2._sources,sourcesContent=_cast2._sourcesContent,ignoreList=_cast2._ignoreList;var index=setArray.put(sources,source);if(index===sourcesContent.length)sourcesContent[index]=null;if(ignore)setArray.put(ignoreList,index);else setArray.remove(ignoreList,index);}function toDecodedMap(map){var _cast3=cast(map),mappings=_cast3._mappings,sources=_cast3._sources,sourcesContent=_cast3._sourcesContent,names=_cast3._names,ignoreList=_cast3._ignoreList;removeEmptyFinalLines(mappings);return{version:3,file:map.file||undefined,names:names.array,sourceRoot:map.sourceRoot||undefined,sources:sources.array,sourcesContent:sourcesContent,mappings:mappings,ignoreList:ignoreList.array};}function toEncodedMap(map){var decoded=toDecodedMap(map);return Object.assign(Object.assign({},decoded),{mappings:sourcemapCodec.encode(decoded.mappings)});}function fromMap(input){var map=new traceMapping.TraceMap(input);var gen=new GenMapping({file:map.file,sourceRoot:map.sourceRoot});putAll(cast(gen)._names,map.names);putAll(cast(gen)._sources,map.sources);cast(gen)._sourcesContent=map.sourcesContent||map.sources.map(function(){return null;});cast(gen)._mappings=traceMapping.decodedMappings(map);if(map.ignoreList)putAll(cast(gen)._ignoreList,map.ignoreList);return gen;}function allMappings(map){var out=[];var _cast4=cast(map),mappings=_cast4._mappings,sources=_cast4._sources,names=_cast4._names;for(var i=0;i<mappings.length;i++){var line=mappings[i];for(var j=0;j<line.length;j++){var seg=line[j];var generated={line:i+1,column:seg[COLUMN]};var source=undefined;var original=undefined;var name=undefined;if(seg.length!==1){source=sources.array[seg[SOURCES_INDEX]];original={line:seg[SOURCE_LINE]+1,column:seg[SOURCE_COLUMN]};if(seg.length===5)name=names.array[seg[NAMES_INDEX]];}out.push({generated:generated,source:source,original:original,name:name});}}return out;}function addSegmentInternal(skipable,map,genLine,genColumn,source,sourceLine,sourceColumn,name,content){var _cast5=cast(map),mappings=_cast5._mappings,sources=_cast5._sources,sourcesContent=_cast5._sourcesContent,names=_cast5._names;var line=getLine(mappings,genLine);var index=getColumnIndex(line,genColumn);if(!source){if(skipable&&skipSourceless(line,index))return;return insert(line,index,[genColumn]);}var sourcesIndex=setArray.put(sources,source);var namesIndex=name?setArray.put(names,name):NO_NAME;if(sourcesIndex===sourcesContent.length)sourcesContent[sourcesIndex]=content!==null&&content!==void 0?content:null;if(skipable&&skipSource(line,index,sourcesIndex,sourceLine,sourceColumn,namesIndex)){return;}return insert(line,index,name?[genColumn,sourcesIndex,sourceLine,sourceColumn,namesIndex]:[genColumn,sourcesIndex,sourceLine,sourceColumn]);}function getLine(mappings,index){for(var i=mappings.length;i<=index;i++){mappings[i]=[];}return mappings[index];}function getColumnIndex(line,genColumn){var index=line.length;for(var i=index-1;i>=0;index=i--){var current=line[i];if(genColumn>=current[COLUMN])break;}return index;}function insert(array,index,value){for(var i=array.length;i>index;i--){array[i]=array[i-1];}array[index]=value;}function removeEmptyFinalLines(mappings){var length=mappings.length;var len=length;for(var i=len-1;i>=0;len=i,i--){if(mappings[i].length>0)break;}if(len<length)mappings.length=len;}function putAll(setarr,array){for(var i=0;i<array.length;i++)setArray.put(setarr,array[i]);}function skipSourceless(line,index){if(index===0)return true;var prev=line[index-1];return prev.length===1;}function skipSource(line,index,sourcesIndex,sourceLine,sourceColumn,namesIndex){if(index===0)return false;var prev=line[index-1];if(prev.length===1)return false;return sourcesIndex===prev[SOURCES_INDEX]&&sourceLine===prev[SOURCE_LINE]&&sourceColumn===prev[SOURCE_COLUMN]&&namesIndex===(prev.length===5?prev[NAMES_INDEX]:NO_NAME);}function addMappingInternal(skipable,map,mapping){var generated=mapping.generated,source=mapping.source,original=mapping.original,name=mapping.name,content=mapping.content;if(!source){return addSegmentInternal(skipable,map,generated.line-1,generated.column,null,null,null,null,null);}return addSegmentInternal(skipable,map,generated.line-1,generated.column,source,original.line-1,original.column,name,content);}exports.GenMapping=GenMapping;exports.addMapping=addMapping;exports.addSegment=addSegment;exports.allMappings=allMappings;exports.fromMap=fromMap;exports.maybeAddMapping=maybeAddMapping;exports.maybeAddSegment=maybeAddSegment;exports.setIgnore=setIgnore;exports.setSourceContent=setSourceContent;exports.toDecodedMap=toDecodedMap;exports.toEncodedMap=toEncodedMap;Object.defineProperty(exports,'__esModule',{value:true});});})(genMapping_umd$1,genMapping_umd$1.exports);var genMapping_umdExports$1=genMapping_umd$1.exports;var SourceMap$1=function(){function SourceMap(opts,code){var _opts$sourceFileName;this._map=void 0;this._rawMappings=void 0;this._sourceFileName=void 0;this._lastGenLine=0;this._lastSourceLine=0;this._lastSourceColumn=0;this._inputMap=void 0;var map=this._map=new genMapping_umdExports$1.GenMapping({sourceRoot:opts.sourceRoot});this._sourceFileName=(_opts$sourceFileName=opts.sourceFileName)==null?void 0:_opts$sourceFileName.replace(/\\/g,"/");this._rawMappings=undefined;if(opts.inputSourceMap){this._inputMap=new traceMapping_umdExports.TraceMap(opts.inputSourceMap);var resolvedSources=this._inputMap.resolvedSources;if(resolvedSources.length){for(var i=0;i<resolvedSources.length;i++){var _this$_inputMap$sourc;genMapping_umdExports$1.setSourceContent(map,resolvedSources[i],(_this$_inputMap$sourc=this._inputMap.sourcesContent)==null?void 0:_this$_inputMap$sourc[i]);}}}if(typeof code==="string"&&!opts.inputSourceMap){genMapping_umdExports$1.setSourceContent(map,this._sourceFileName,code);}else if(_typeof(code)==="object"){for(var _i=0,_Object$keys=Object.keys(code);_i<_Object$keys.length;_i++){var _sourceFileName=_Object$keys[_i];genMapping_umdExports$1.setSourceContent(map,_sourceFileName.replace(/\\/g,"/"),code[_sourceFileName]);}}}var _proto=SourceMap.prototype;_proto.get=function get(){return genMapping_umdExports$1.toEncodedMap(this._map);};_proto.getDecoded=function getDecoded(){return genMapping_umdExports$1.toDecodedMap(this._map);};_proto.getRawMappings=function getRawMappings(){return this._rawMappings||(this._rawMappings=genMapping_umdExports$1.allMappings(this._map));};_proto.mark=function mark(generated,line,column,identifierName,identifierNamePos,filename){var _originalMapping;this._rawMappings=undefined;var originalMapping;if(line!=null){if(this._inputMap){originalMapping=traceMapping_umdExports.originalPositionFor(this._inputMap,{line:line,column:column});if(!originalMapping.name&&identifierNamePos){var originalIdentifierMapping=traceMapping_umdExports.originalPositionFor(this._inputMap,identifierNamePos);if(originalIdentifierMapping.name){identifierName=originalIdentifierMapping.name;}}}else{originalMapping={source:(filename==null?void 0:filename.replace(/\\/g,"/"))||this._sourceFileName,line:line,column:column};}}genMapping_umdExports$1.maybeAddMapping(this._map,{name:identifierName,generated:generated,source:(_originalMapping=originalMapping)==null?void 0:_originalMapping.source,original:originalMapping});};return _createClass(SourceMap);}();var Buffer=function(){function Buffer(map,indentChar){this._map=null;this._buf="";this._str="";this._appendCount=0;this._last=0;this._queue=[];this._queueCursor=0;this._canMarkIdName=true;this._indentChar="";this._fastIndentations=[];this._position={line:1,column:0};this._sourcePosition={identifierName:undefined,identifierNamePos:undefined,line:undefined,column:undefined,filename:undefined};this._map=map;this._indentChar=indentChar;for(var i=0;i<64;i++){this._fastIndentations.push(indentChar.repeat(i));}this._allocQueue();}var _proto=Buffer.prototype;_proto._allocQueue=function _allocQueue(){var queue=this._queue;for(var i=0;i<16;i++){queue.push({"char":0,repeat:1,line:undefined,column:undefined,identifierName:undefined,identifierNamePos:undefined,filename:""});}};_proto._pushQueue=function _pushQueue(_char,repeat,line,column,filename){var cursor=this._queueCursor;if(cursor===this._queue.length){this._allocQueue();}var item=this._queue[cursor];item["char"]=_char;item.repeat=repeat;item.line=line;item.column=column;item.filename=filename;this._queueCursor++;};_proto._popQueue=function _popQueue(){if(this._queueCursor===0){throw new Error("Cannot pop from empty queue");}return this._queue[--this._queueCursor];};_proto.get=function get(){this._flush();var map=this._map;var result={code:(this._buf+this._str).trimRight(),decodedMap:map==null?void 0:map.getDecoded(),get __mergedMap(){return this.map;},get map(){var resultMap=map?map.get():null;result.map=resultMap;return resultMap;},set map(value){Object.defineProperty(result,"map",{value:value,writable:true});},get rawMappings(){var mappings=map==null?void 0:map.getRawMappings();result.rawMappings=mappings;return mappings;},set rawMappings(value){Object.defineProperty(result,"rawMappings",{value:value,writable:true});}};return result;};_proto.append=function append(str,maybeNewline){this._flush();this._append(str,this._sourcePosition,maybeNewline);};_proto.appendChar=function appendChar(_char2){this._flush();this._appendChar(_char2,1,this._sourcePosition);};_proto.queue=function queue(_char3){if(_char3===10){while(this._queueCursor!==0){var _char4=this._queue[this._queueCursor-1]["char"];if(_char4!==32&&_char4!==9){break;}this._queueCursor--;}}var sourcePosition=this._sourcePosition;this._pushQueue(_char3,1,sourcePosition.line,sourcePosition.column,sourcePosition.filename);};_proto.queueIndentation=function queueIndentation(repeat){if(repeat===0)return;this._pushQueue(-1,repeat,undefined,undefined,undefined);};_proto._flush=function _flush(){var queueCursor=this._queueCursor;var queue=this._queue;for(var i=0;i<queueCursor;i++){var item=queue[i];this._appendChar(item["char"],item.repeat,item);}this._queueCursor=0;};_proto._appendChar=function _appendChar(_char5,repeat,sourcePos){this._last=_char5;if(_char5===-1){var fastIndentation=this._fastIndentations[repeat];if(fastIndentation!==undefined){this._str+=fastIndentation;}else{this._str+=repeat>1?this._indentChar.repeat(repeat):this._indentChar;}}else{this._str+=repeat>1?String.fromCharCode(_char5).repeat(repeat):String.fromCharCode(_char5);}if(_char5!==10){this._mark(sourcePos.line,sourcePos.column,sourcePos.identifierName,sourcePos.identifierNamePos,sourcePos.filename);this._position.column+=repeat;}else{this._position.line++;this._position.column=0;}if(this._canMarkIdName){sourcePos.identifierName=undefined;sourcePos.identifierNamePos=undefined;}};_proto._append=function _append(str,sourcePos,maybeNewline){var len=str.length;var position=this._position;this._last=str.charCodeAt(len-1);if(++this._appendCount>4096){+this._str;this._buf+=this._str;this._str=str;this._appendCount=0;}else{this._str+=str;}if(!maybeNewline&&!this._map){position.column+=len;return;}var column=sourcePos.column,identifierName=sourcePos.identifierName,identifierNamePos=sourcePos.identifierNamePos,filename=sourcePos.filename;var line=sourcePos.line;if((identifierName!=null||identifierNamePos!=null)&&this._canMarkIdName){sourcePos.identifierName=undefined;sourcePos.identifierNamePos=undefined;}var i=str.indexOf("\n");var last=0;if(i!==0){this._mark(line,column,identifierName,identifierNamePos,filename);}while(i!==-1){position.line++;position.column=0;last=i+1;if(last<len&&line!==undefined){this._mark(++line,0,null,null,filename);}i=str.indexOf("\n",last);}position.column+=len-last;};_proto._mark=function _mark(line,column,identifierName,identifierNamePos,filename){var _this$_map;(_this$_map=this._map)==null||_this$_map.mark(this._position,line,column,identifierName,identifierNamePos,filename);};_proto.removeTrailingNewline=function removeTrailingNewline(){var queueCursor=this._queueCursor;if(queueCursor!==0&&this._queue[queueCursor-1]["char"]===10){this._queueCursor--;}};_proto.removeLastSemicolon=function removeLastSemicolon(){var queueCursor=this._queueCursor;if(queueCursor!==0&&this._queue[queueCursor-1]["char"]===59){this._queueCursor--;}};_proto.getLastChar=function getLastChar(){var queueCursor=this._queueCursor;return queueCursor!==0?this._queue[queueCursor-1]["char"]:this._last;};_proto.getNewlineCount=function getNewlineCount(){var queueCursor=this._queueCursor;var count=0;if(queueCursor===0)return this._last===10?1:0;for(var i=queueCursor-1;i>=0;i--){if(this._queue[i]["char"]!==10){break;}count++;}return count===queueCursor&&this._last===10?count+1:count;};_proto.endsWithCharAndNewline=function endsWithCharAndNewline(){var queue=this._queue;var queueCursor=this._queueCursor;if(queueCursor!==0){var lastCp=queue[queueCursor-1]["char"];if(lastCp!==10)return;if(queueCursor>1){return queue[queueCursor-2]["char"];}else{return this._last;}}};_proto.hasContent=function hasContent(){return this._queueCursor!==0||!!this._last;};_proto.exactSource=function exactSource(loc,cb){if(!this._map){cb();return;}this.source("start",loc);var identifierName=loc.identifierName;var sourcePos=this._sourcePosition;if(identifierName){this._canMarkIdName=false;sourcePos.identifierName=identifierName;}cb();if(identifierName){this._canMarkIdName=true;sourcePos.identifierName=undefined;sourcePos.identifierNamePos=undefined;}this.source("end",loc);};_proto.source=function source(prop,loc){if(!this._map)return;this._normalizePosition(prop,loc,0);};_proto.sourceWithOffset=function sourceWithOffset(prop,loc,columnOffset){if(!this._map)return;this._normalizePosition(prop,loc,columnOffset);};_proto.withSource=function withSource(prop,loc,cb){if(this._map){this.source(prop,loc);}cb();};_proto._normalizePosition=function _normalizePosition(prop,loc,columnOffset){var pos=loc[prop];var target=this._sourcePosition;if(pos){target.line=pos.line;target.column=Math.max(pos.column+columnOffset,0);target.filename=loc.filename;}};_proto.getCurrentColumn=function getCurrentColumn(){var queue=this._queue;var queueCursor=this._queueCursor;var lastIndex=-1;var len=0;for(var i=0;i<queueCursor;i++){var item=queue[i];if(item["char"]===10){lastIndex=len;}len+=item.repeat;}return lastIndex===-1?this._position.column+len:len-1-lastIndex;};_proto.getCurrentLine=function getCurrentLine(){var count=0;var queue=this._queue;for(var i=0;i<this._queueCursor;i++){if(queue[i]["char"]===10){count++;}}return this._position.line+count;};return _createClass(Buffer);}();var FLIPPED_ALIAS_KEYS$1=FLIPPED_ALIAS_KEYS$3,isArrayExpression=isArrayExpression$2,isAssignmentExpression$2=isAssignmentExpression$3,isBinary=isBinary$2,isBlockStatement$2=isBlockStatement$3,isCallExpression$6=isCallExpression$8,isFunction$4=isFunction$5,isIdentifier$g=isIdentifier$j,isLiteral$4=isLiteral$6,isMemberExpression$6=isMemberExpression$9,isObjectExpression$1=isObjectExpression$3,isOptionalCallExpression$1=isOptionalCallExpression$2,isOptionalMemberExpression$2=isOptionalMemberExpression$3,isStringLiteral$4=isStringLiteral$5;function crawlInternal(node,state){if(!node)return state;if(isMemberExpression$6(node)||isOptionalMemberExpression$2(node)){crawlInternal(node.object,state);if(node.computed)crawlInternal(node.property,state);}else if(isBinary(node)||isAssignmentExpression$2(node)){crawlInternal(node.left,state);crawlInternal(node.right,state);}else if(isCallExpression$6(node)||isOptionalCallExpression$1(node)){state.hasCall=true;crawlInternal(node.callee,state);}else if(isFunction$4(node)){state.hasFunction=true;}else if(isIdentifier$g(node)){state.hasHelper=state.hasHelper||node.callee&&isHelper(node.callee);}return state;}function crawl(node){return crawlInternal(node,{hasCall:false,hasFunction:false,hasHelper:false});}function isHelper(node){if(!node)return false;if(isMemberExpression$6(node)){return isHelper(node.object)||isHelper(node.property);}else if(isIdentifier$g(node)){return node.name==="require"||node.name.charCodeAt(0)===95;}else if(isCallExpression$6(node)){return isHelper(node.callee);}else if(isBinary(node)||isAssignmentExpression$2(node)){return isIdentifier$g(node.left)&&isHelper(node.left)||isHelper(node.right);}else{return false;}}function isType$1(node){return isLiteral$4(node)||isObjectExpression$1(node)||isArrayExpression(node)||isIdentifier$g(node)||isMemberExpression$6(node);}var nodes={AssignmentExpression:function(_AssignmentExpression){function AssignmentExpression(_x){return _AssignmentExpression.apply(this,arguments);}AssignmentExpression.toString=function(){return _AssignmentExpression.toString();};return AssignmentExpression;}(function(node){var state=crawl(node.right);if(state.hasCall&&state.hasHelper||state.hasFunction){return state.hasFunction?1|2:2;}}),SwitchCase:function(_SwitchCase){function SwitchCase(_x2,_x3){return _SwitchCase.apply(this,arguments);}SwitchCase.toString=function(){return _SwitchCase.toString();};return SwitchCase;}(function(node,parent){return(!!node.consequent.length||parent.cases[0]===node?1:0)|(!node.consequent.length&&parent.cases[parent.cases.length-1]===node?2:0);}),LogicalExpression:function(_LogicalExpression){function LogicalExpression(_x4){return _LogicalExpression.apply(this,arguments);}LogicalExpression.toString=function(){return _LogicalExpression.toString();};return LogicalExpression;}(function(node){if(isFunction$4(node.left)||isFunction$4(node.right)){return 2;}}),Literal:function(_Literal){function Literal(_x5){return _Literal.apply(this,arguments);}Literal.toString=function(){return _Literal.toString();};return Literal;}(function(node){if(isStringLiteral$4(node)&&node.value==="use strict"){return 2;}}),CallExpression:function(_CallExpression){function CallExpression(_x6){return _CallExpression.apply(this,arguments);}CallExpression.toString=function(){return _CallExpression.toString();};return CallExpression;}(function(node){if(isFunction$4(node.callee)||isHelper(node)){return 1|2;}}),OptionalCallExpression:function(_OptionalCallExpression){function OptionalCallExpression(_x7){return _OptionalCallExpression.apply(this,arguments);}OptionalCallExpression.toString=function(){return _OptionalCallExpression.toString();};return OptionalCallExpression;}(function(node){if(isFunction$4(node.callee)){return 1|2;}}),VariableDeclaration:function(_VariableDeclaration){function VariableDeclaration(_x8){return _VariableDeclaration.apply(this,arguments);}VariableDeclaration.toString=function(){return _VariableDeclaration.toString();};return VariableDeclaration;}(function(node){for(var i=0;i<node.declarations.length;i++){var declar=node.declarations[i];var enabled=isHelper(declar.id)&&!isType$1(declar.init);if(!enabled&&declar.init){var state=crawl(declar.init);enabled=isHelper(declar.init)&&state.hasCall||state.hasFunction;}if(enabled){return 1|2;}}}),IfStatement:function(_IfStatement){function IfStatement(_x9){return _IfStatement.apply(this,arguments);}IfStatement.toString=function(){return _IfStatement.toString();};return IfStatement;}(function(node){if(isBlockStatement$2(node.consequent)){return 1|2;}})};nodes.ObjectProperty=nodes.ObjectTypeProperty=nodes.ObjectMethod=function(node,parent){if(parent.properties[0]===node){return 1;}};nodes.ObjectTypeCallProperty=function(node,parent){var _parent$properties;if(parent.callProperties[0]===node&&!((_parent$properties=parent.properties)!=null&&_parent$properties.length)){return 1;}};nodes.ObjectTypeIndexer=function(node,parent){var _parent$properties2,_parent$callPropertie;if(parent.indexers[0]===node&&!((_parent$properties2=parent.properties)!=null&&_parent$properties2.length)&&!((_parent$callPropertie=parent.callProperties)!=null&&_parent$callPropertie.length)){return 1;}};nodes.ObjectTypeInternalSlot=function(node,parent){var _parent$properties3,_parent$callPropertie2,_parent$indexers;if(parent.internalSlots[0]===node&&!((_parent$properties3=parent.properties)!=null&&_parent$properties3.length)&&!((_parent$callPropertie2=parent.callProperties)!=null&&_parent$callPropertie2.length)&&!((_parent$indexers=parent.indexers)!=null&&_parent$indexers.length)){return 1;}};[["Function",true],["Class",true],["Loop",true],["LabeledStatement",true],["SwitchStatement",true],["TryStatement",true]].forEach(function(_ref){var _ref2=_slicedToArray(_ref,2),type=_ref2[0],amounts=_ref2[1];[type].concat(FLIPPED_ALIAS_KEYS$1[type]||[]).forEach(function(type){var ret=amounts?1|2:0;nodes[type]=function(){return ret;};});});var isArrayTypeAnnotation$1=isArrayTypeAnnotation$2,isArrowFunctionExpression$1=isArrowFunctionExpression$2,isBinaryExpression=isBinaryExpression$1,isCallExpression$5=isCallExpression$8,isExportDeclaration=isExportDeclaration$3,isForOfStatement=isForOfStatement$2,isIndexedAccessType=isIndexedAccessType$1,isMemberExpression$5=isMemberExpression$9,isObjectPattern$1=isObjectPattern$2,isOptionalMemberExpression$1=isOptionalMemberExpression$3,isYieldExpression=isYieldExpression$1;var PRECEDENCE=new Map([["||",0],["??",0],["|>",0],["&&",1],["|",2],["^",3],["&",4],["==",5],["===",5],["!=",5],["!==",5],["<",6],[">",6],["<=",6],[">=",6],["in",6],["instanceof",6],[">>",7],["<<",7],[">>>",7],["+",8],["-",8],["*",9],["/",9],["%",9],["**",10]]);function isTSTypeExpression(nodeType){return nodeType==="TSAsExpression"||nodeType==="TSSatisfiesExpression"||nodeType==="TSTypeAssertion";}var isClassExtendsClause=function isClassExtendsClause(node,parent){var parentType=parent.type;return(parentType==="ClassDeclaration"||parentType==="ClassExpression")&&parent.superClass===node;};var hasPostfixPart=function hasPostfixPart(node,parent){var parentType=parent.type;return(parentType==="MemberExpression"||parentType==="OptionalMemberExpression")&&parent.object===node||(parentType==="CallExpression"||parentType==="OptionalCallExpression"||parentType==="NewExpression")&&parent.callee===node||parentType==="TaggedTemplateExpression"&&parent.tag===node||parentType==="TSNonNullExpression";};function NullableTypeAnnotation$1(node,parent){return isArrayTypeAnnotation$1(parent);}function FunctionTypeAnnotation$1(node,parent,printStack){if(printStack.length<3)return;var parentType=parent.type;return parentType==="UnionTypeAnnotation"||parentType==="IntersectionTypeAnnotation"||parentType==="ArrayTypeAnnotation"||parentType==="TypeAnnotation"&&isArrowFunctionExpression$1(printStack[printStack.length-3]);}function UpdateExpression$2(node,parent){return hasPostfixPart(node,parent)||isClassExtendsClause(node,parent);}function ObjectExpression$2(node,parent,printStack){return isFirstInContext(printStack,1|2);}function DoExpression$1(node,parent,printStack){return!node.async&&isFirstInContext(printStack,1);}function Binary(node,parent){var parentType=parent.type;if(node.operator==="**"&&parentType==="BinaryExpression"&&parent.operator==="**"){return parent.left===node;}if(isClassExtendsClause(node,parent)){return true;}if(hasPostfixPart(node,parent)||parentType==="UnaryExpression"||parentType==="SpreadElement"||parentType==="AwaitExpression"){return true;}if(parentType==="BinaryExpression"||parentType==="LogicalExpression"){var parentPos=PRECEDENCE.get(parent.operator);var nodePos=PRECEDENCE.get(node.operator);if(parentPos===nodePos&&parent.right===node&&parentType!=="LogicalExpression"||parentPos>nodePos){return true;}}return undefined;}function UnionTypeAnnotation$1(node,parent){var parentType=parent.type;return parentType==="ArrayTypeAnnotation"||parentType==="NullableTypeAnnotation"||parentType==="IntersectionTypeAnnotation"||parentType==="UnionTypeAnnotation";}function OptionalIndexedAccessType$1(node,parent){return isIndexedAccessType(parent)&&parent.objectType===node;}function TSAsExpression$1(){return true;}function TSUnionType$1(node,parent){var parentType=parent.type;return parentType==="TSArrayType"||parentType==="TSOptionalType"||parentType==="TSIntersectionType"||parentType==="TSUnionType"||parentType==="TSRestType";}function TSInferType$1(node,parent){var parentType=parent.type;return parentType==="TSArrayType"||parentType==="TSOptionalType";}function TSInstantiationExpression$1(node,parent){var parentType=parent.type;return(parentType==="CallExpression"||parentType==="OptionalCallExpression"||parentType==="NewExpression"||parentType==="TSInstantiationExpression")&&!!parent.typeParameters;}function BinaryExpression$1(node,parent){if(node.operator==="in"){var parentType=parent.type;return parentType==="VariableDeclarator"||parentType==="ForStatement"||parentType==="ForInStatement"||parentType==="ForOfStatement";}return false;}function SequenceExpression$2(node,parent){var parentType=parent.type;if(parentType==="ForStatement"||parentType==="ThrowStatement"||parentType==="ReturnStatement"||parentType==="IfStatement"&&parent.test===node||parentType==="WhileStatement"&&parent.test===node||parentType==="ForInStatement"&&parent.right===node||parentType==="SwitchStatement"&&parent.discriminant===node||parentType==="ExpressionStatement"&&parent.expression===node){return false;}return true;}function YieldExpression$1(node,parent){var parentType=parent.type;return parentType==="BinaryExpression"||parentType==="LogicalExpression"||parentType==="UnaryExpression"||parentType==="SpreadElement"||hasPostfixPart(node,parent)||parentType==="AwaitExpression"&&isYieldExpression(node)||parentType==="ConditionalExpression"&&node===parent.test||isClassExtendsClause(node,parent);}function ClassExpression(node,parent,printStack){return isFirstInContext(printStack,1|4);}function UnaryLike(node,parent){return hasPostfixPart(node,parent)||isBinaryExpression(parent)&&parent.operator==="**"&&parent.left===node||isClassExtendsClause(node,parent);}function FunctionExpression$1(node,parent,printStack){return isFirstInContext(printStack,1|4);}function ArrowFunctionExpression$1(node,parent){return isExportDeclaration(parent)||ConditionalExpression$2(node,parent);}function ConditionalExpression$2(node,parent){var parentType=parent.type;if(parentType==="UnaryExpression"||parentType==="SpreadElement"||parentType==="BinaryExpression"||parentType==="LogicalExpression"||parentType==="ConditionalExpression"&&parent.test===node||parentType==="AwaitExpression"||isTSTypeExpression(parentType)){return true;}return UnaryLike(node,parent);}function OptionalMemberExpression$1(node,parent){return isCallExpression$5(parent)&&parent.callee===node||isMemberExpression$5(parent)&&parent.object===node;}function AssignmentExpression$2(node,parent){if(isObjectPattern$1(node.left)){return true;}else{return ConditionalExpression$2(node,parent);}}function LogicalExpression$1(node,parent){var parentType=parent.type;if(isTSTypeExpression(parentType))return true;if(parentType!=="LogicalExpression")return false;switch(node.operator){case"||":return parent.operator==="??"||parent.operator==="&&";case"&&":return parent.operator==="??";case"??":return parent.operator!=="??";}}function Identifier$1(node,parent,printStack){var _node$extra;var parentType=parent.type;if((_node$extra=node.extra)!=null&&_node$extra.parenthesized&&parentType==="AssignmentExpression"&&parent.left===node){var rightType=parent.right.type;if((rightType==="FunctionExpression"||rightType==="ClassExpression")&&parent.right.id==null){return true;}}if(node.name==="let"){var isFollowedByBracket=isMemberExpression$5(parent,{object:node,computed:true})||isOptionalMemberExpression$1(parent,{object:node,computed:true,optional:false});return isFirstInContext(printStack,isFollowedByBracket?1|8|16|32:32);}return node.name==="async"&&isForOfStatement(parent)&&node===parent.left;}function isFirstInContext(printStack,checkParam){var expressionStatement=checkParam&1;var arrowBody=checkParam&2;var exportDefault=checkParam&4;var forHead=checkParam&8;var forInHead=checkParam&16;var forOfHead=checkParam&32;var i=printStack.length-1;if(i<=0)return;var node=printStack[i];i--;var parent=printStack[i];while(i>=0){var parentType=parent.type;if(expressionStatement&&parentType==="ExpressionStatement"&&parent.expression===node||exportDefault&&parentType==="ExportDefaultDeclaration"&&node===parent.declaration||arrowBody&&parentType==="ArrowFunctionExpression"&&parent.body===node||forHead&&parentType==="ForStatement"&&parent.init===node||forInHead&&parentType==="ForInStatement"&&parent.left===node||forOfHead&&parentType==="ForOfStatement"&&parent.left===node){return true;}if(i>0&&(hasPostfixPart(node,parent)&&parentType!=="NewExpression"||parentType==="SequenceExpression"&&parent.expressions[0]===node||parentType==="UpdateExpression"&&!parent.prefix||parentType==="ConditionalExpression"&&parent.test===node||(parentType==="BinaryExpression"||parentType==="LogicalExpression")&&parent.left===node||parentType==="AssignmentExpression"&&parent.left===node)){node=parent;i--;parent=printStack[i];}else{return false;}}return false;}var parens=/*#__PURE__*/Object.freeze({__proto__:null,ArrowFunctionExpression:ArrowFunctionExpression$1,AssignmentExpression:AssignmentExpression$2,AwaitExpression:YieldExpression$1,Binary:Binary,BinaryExpression:BinaryExpression$1,ClassExpression:ClassExpression,ConditionalExpression:ConditionalExpression$2,DoExpression:DoExpression$1,FunctionExpression:FunctionExpression$1,FunctionTypeAnnotation:FunctionTypeAnnotation$1,Identifier:Identifier$1,IntersectionTypeAnnotation:UnionTypeAnnotation$1,LogicalExpression:LogicalExpression$1,NullableTypeAnnotation:NullableTypeAnnotation$1,ObjectExpression:ObjectExpression$2,OptionalCallExpression:OptionalMemberExpression$1,OptionalIndexedAccessType:OptionalIndexedAccessType$1,OptionalMemberExpression:OptionalMemberExpression$1,SequenceExpression:SequenceExpression$2,TSAsExpression:TSAsExpression$1,TSInferType:TSInferType$1,TSInstantiationExpression:TSInstantiationExpression$1,TSIntersectionType:TSUnionType$1,TSSatisfiesExpression:TSAsExpression$1,TSTypeAssertion:TSAsExpression$1,TSUnionType:TSUnionType$1,UnaryLike:UnaryLike,UnionTypeAnnotation:UnionTypeAnnotation$1,UpdateExpression:UpdateExpression$2,YieldExpression:YieldExpression$1});var FLIPPED_ALIAS_KEYS=FLIPPED_ALIAS_KEYS$3,isCallExpression$4=isCallExpression$8,isMemberExpression$4=isMemberExpression$9,isNewExpression$2=isNewExpression$3;function expandAliases(obj){var map=new Map();function add(type,func){var fn=map.get(type);map.set(type,fn?function(node,parent,stack){var _fn;return(_fn=fn(node,parent,stack))!=null?_fn:func(node,parent,stack);}:func);}for(var _i=0,_Object$keys=Object.keys(obj);_i<_Object$keys.length;_i++){var type=_Object$keys[_i];var aliases=FLIPPED_ALIAS_KEYS[type];if(aliases){for(var _iterator=_createForOfIteratorHelperLoose(aliases),_step;!(_step=_iterator()).done;){var alias=_step.value;add(alias,obj[type]);}}else{add(type,obj[type]);}}return map;}var expandedParens=expandAliases(parens);expandAliases(nodes);function isOrHasCallExpression(node){if(isCallExpression$4(node)){return true;}return isMemberExpression$4(node)&&isOrHasCallExpression(node.object);}function needsParens$1(node,parent,printStack){var _expandedParens$get;if(!parent)return false;if(isNewExpression$2(parent)&&parent.callee===node){if(isOrHasCallExpression(node))return true;}return(_expandedParens$get=expandedParens.get(node.type))==null?void 0:_expandedParens$get(node,parent,printStack);}function TaggedTemplateExpression$1(node){this.print(node.tag,node);this.print(node.typeParameters,node);this.print(node.quasi,node);}function TemplateElement(node,parent){var isFirst=parent.quasis[0]===node;var isLast=parent.quasis[parent.quasis.length-1]===node;var value=(isFirst?"`":"}")+node.value.raw+(isLast?"`":"${");this.token(value,true);}function TemplateLiteral$1(node){var quasis=node.quasis;for(var i=0;i<quasis.length;i++){this.print(quasis[i],node);if(i+1<quasis.length){this.print(node.expressions[i],node);}}}var isCallExpression$3=isCallExpression$8,isLiteral$3=isLiteral$6,isMemberExpression$3=isMemberExpression$9,isNewExpression$1=isNewExpression$3;function UnaryExpression$1(node){var operator=node.operator;if(operator==="void"||operator==="delete"||operator==="typeof"||operator==="throw"){this.word(operator);this.space();}else{this.token(operator);}this.print(node.argument,node);}function DoExpression(node){if(node.async){this.word("async",true);this.space();}this.word("do");this.space();this.print(node.body,node);}function ParenthesizedExpression$1(node){this.tokenChar(40);this.print(node.expression,node);this.rightParens(node);}function UpdateExpression$1(node){if(node.prefix){this.token(node.operator);this.print(node.argument,node);}else{this.printTerminatorless(node.argument,node,true);this.token(node.operator);}}function ConditionalExpression$1(node){this.print(node.test,node);this.space();this.tokenChar(63);this.space();this.print(node.consequent,node);this.space();this.tokenChar(58);this.space();this.print(node.alternate,node);}function NewExpression$1(node,parent){this.word("new");this.space();this.print(node.callee,node);if(this.format.minified&&node.arguments.length===0&&!node.optional&&!isCallExpression$3(parent,{callee:node})&&!isMemberExpression$3(parent)&&!isNewExpression$1(parent)){return;}this.print(node.typeArguments,node);this.print(node.typeParameters,node);if(node.optional){this.token("?.");}this.tokenChar(40);this.printList(node.arguments,node);this.rightParens(node);}function SequenceExpression$1(node){this.printList(node.expressions,node);}function ThisExpression(){this.word("this");}function Super(){this.word("super");}function isDecoratorMemberExpression(node){switch(node.type){case"Identifier":return true;case"MemberExpression":return!node.computed&&node.property.type==="Identifier"&&isDecoratorMemberExpression(node.object);default:return false;}}function shouldParenthesizeDecoratorExpression(node){if(node.type==="ParenthesizedExpression"){return false;}return!isDecoratorMemberExpression(node.type==="CallExpression"?node.callee:node);}function _shouldPrintDecoratorsBeforeExport(node){if(typeof this.format.decoratorsBeforeExport==="boolean"){return this.format.decoratorsBeforeExport;}return typeof node.start==="number"&&node.start===node.declaration.start;}function Decorator(node){this.tokenChar(64);var expression=node.expression;if(shouldParenthesizeDecoratorExpression(expression)){this.tokenChar(40);this.print(expression,node);this.tokenChar(41);}else{this.print(expression,node);}this.newline();}function OptionalMemberExpression(node){var computed=node.computed;var optional=node.optional,property=node.property;this.print(node.object,node);if(!computed&&isMemberExpression$3(property)){throw new TypeError("Got a MemberExpression for MemberExpression property");}if(isLiteral$3(property)&&typeof property.value==="number"){computed=true;}if(optional){this.token("?.");}if(computed){this.tokenChar(91);this.print(property,node);this.tokenChar(93);}else{if(!optional){this.tokenChar(46);}this.print(property,node);}}function OptionalCallExpression(node){this.print(node.callee,node);this.print(node.typeParameters,node);if(node.optional){this.token("?.");}this.print(node.typeArguments,node);this.tokenChar(40);this.printList(node.arguments,node);this.rightParens(node);}function CallExpression$1(node){this.print(node.callee,node);this.print(node.typeArguments,node);this.print(node.typeParameters,node);this.tokenChar(40);this.printList(node.arguments,node);this.rightParens(node);}function Import(){this.word("import");}function AwaitExpression(node){this.word("await");if(node.argument){this.space();this.printTerminatorless(node.argument,node,false);}}function YieldExpression(node){this.word("yield",true);if(node.delegate){this.tokenChar(42);if(node.argument){this.space();this.print(node.argument,node);}}else{if(node.argument){this.space();this.printTerminatorless(node.argument,node,false);}}}function EmptyStatement(){this.semicolon(true);}function ExpressionStatement(node){this.print(node.expression,node);this.semicolon();}function AssignmentPattern(node){this.print(node.left,node);if(node.left.optional)this.tokenChar(63);this.print(node.left.typeAnnotation,node);this.space();this.tokenChar(61);this.space();this.print(node.right,node);}function AssignmentExpression$1(node,parent){var parens=this.inForStatementInitCounter&&node.operator==="in"&&!needsParens$1(node,parent);if(parens){this.tokenChar(40);}this.print(node.left,node);this.space();if(node.operator==="in"||node.operator==="instanceof"){this.word(node.operator);}else{this.token(node.operator);}this.space();this.print(node.right,node);if(parens){this.tokenChar(41);}}function BindExpression(node){this.print(node.object,node);this.token("::");this.print(node.callee,node);}function MemberExpression(node){this.print(node.object,node);if(!node.computed&&isMemberExpression$3(node.property)){throw new TypeError("Got a MemberExpression for MemberExpression property");}var computed=node.computed;if(isLiteral$3(node.property)&&typeof node.property.value==="number"){computed=true;}if(computed){this.tokenChar(91);this.print(node.property,node);this.tokenChar(93);}else{this.tokenChar(46);this.print(node.property,node);}}function MetaProperty(node){this.print(node.meta,node);this.tokenChar(46);this.print(node.property,node);}function PrivateName(node){this.tokenChar(35);this.print(node.id,node);}function V8IntrinsicIdentifier(node){this.tokenChar(37);this.word(node.name);}function ModuleExpression(node){this.word("module",true);this.space();this.tokenChar(123);this.indent();var body=node.body;if(body.body.length||body.directives.length){this.newline();}this.print(body,node);this.dedent();this.rightBrace(node);}var isFor=isFor$1,isForStatement=isForStatement$2,isIfStatement$1=isIfStatement$2,isStatement$6=isStatement$8;function WithStatement(node){this.word("with");this.space();this.tokenChar(40);this.print(node.object,node);this.tokenChar(41);this.printBlock(node);}function IfStatement(node){this.word("if");this.space();this.tokenChar(40);this.print(node.test,node);this.tokenChar(41);this.space();var needsBlock=node.alternate&&isIfStatement$1(getLastStatement(node.consequent));if(needsBlock){this.tokenChar(123);this.newline();this.indent();}this.printAndIndentOnComments(node.consequent,node);if(needsBlock){this.dedent();this.newline();this.tokenChar(125);}if(node.alternate){if(this.endsWith(125))this.space();this.word("else");this.space();this.printAndIndentOnComments(node.alternate,node);}}function getLastStatement(statement){var body=statement.body;if(isStatement$6(body)===false){return statement;}return getLastStatement(body);}function ForStatement(node){this.word("for");this.space();this.tokenChar(40);this.inForStatementInitCounter++;this.print(node.init,node);this.inForStatementInitCounter--;this.tokenChar(59);if(node.test){this.space();this.print(node.test,node);}this.tokenChar(59);if(node.update){this.space();this.print(node.update,node);}this.tokenChar(41);this.printBlock(node);}function WhileStatement(node){this.word("while");this.space();this.tokenChar(40);this.print(node.test,node);this.tokenChar(41);this.printBlock(node);}function ForXStatement(node){this.word("for");this.space();var isForOf=node.type==="ForOfStatement";if(isForOf&&node["await"]){this.word("await");this.space();}this.noIndentInnerCommentsHere();this.tokenChar(40);this.print(node.left,node);this.space();this.word(isForOf?"of":"in");this.space();this.print(node.right,node);this.tokenChar(41);this.printBlock(node);}var ForInStatement=ForXStatement;var ForOfStatement=ForXStatement;function DoWhileStatement(node){this.word("do");this.space();this.print(node.body,node);this.space();this.word("while");this.space();this.tokenChar(40);this.print(node.test,node);this.tokenChar(41);this.semicolon();}function printStatementAfterKeyword(printer,node,parent,isLabel){if(node){printer.space();printer.printTerminatorless(node,parent,isLabel);}printer.semicolon();}function BreakStatement(node){this.word("break");printStatementAfterKeyword(this,node.label,node,true);}function ContinueStatement(node){this.word("continue");printStatementAfterKeyword(this,node.label,node,true);}function ReturnStatement(node){this.word("return");printStatementAfterKeyword(this,node.argument,node,false);}function ThrowStatement(node){this.word("throw");printStatementAfterKeyword(this,node.argument,node,false);}function LabeledStatement(node){this.print(node.label,node);this.tokenChar(58);this.space();this.print(node.body,node);}function TryStatement(node){this.word("try");this.space();this.print(node.block,node);this.space();if(node.handlers){this.print(node.handlers[0],node);}else{this.print(node.handler,node);}if(node.finalizer){this.space();this.word("finally");this.space();this.print(node.finalizer,node);}}function CatchClause(node){this.word("catch");this.space();if(node.param){this.tokenChar(40);this.print(node.param,node);this.print(node.param.typeAnnotation,node);this.tokenChar(41);this.space();}this.print(node.body,node);}function SwitchStatement(node){this.word("switch");this.space();this.tokenChar(40);this.print(node.discriminant,node);this.tokenChar(41);this.space();this.tokenChar(123);this.printSequence(node.cases,node,{indent:true,addNewlines:function addNewlines(leading,cas){if(!leading&&node.cases[node.cases.length-1]===cas)return-1;}});this.rightBrace(node);}function SwitchCase(node){if(node.test){this.word("case");this.space();this.print(node.test,node);this.tokenChar(58);}else{this.word("default");this.tokenChar(58);}if(node.consequent.length){this.newline();this.printSequence(node.consequent,node,{indent:true});}}function DebuggerStatement(){this.word("debugger");this.semicolon();}function VariableDeclaration(node,parent){if(node.declare){this.word("declare");this.space();}var kind=node.kind;this.word(kind,kind==="using"||kind==="await using");this.space();var hasInits=false;if(!isFor(parent)){for(var _iterator=_createForOfIteratorHelperLoose(node.declarations),_step;!(_step=_iterator()).done;){var declar=_step.value;if(declar.init){hasInits=true;}}}this.printList(node.declarations,node,{separator:hasInits?function(){this.tokenChar(44);this.newline();}:undefined,indent:node.declarations.length>1?true:false});if(isFor(parent)){if(isForStatement(parent)){if(parent.init===node)return;}else{if(parent.left===node)return;}}this.semicolon();}function VariableDeclarator$1(node){this.print(node.id,node);if(node.definite)this.tokenChar(33);this.print(node.id.typeAnnotation,node);if(node.init){this.space();this.tokenChar(61);this.space();this.print(node.init,node);}}var isExportDefaultDeclaration=isExportDefaultDeclaration$2,isExportNamedDeclaration$1=isExportNamedDeclaration$3;function ClassDeclaration(node,parent){var inExport=isExportDefaultDeclaration(parent)||isExportNamedDeclaration$1(parent);if(!inExport||!this._shouldPrintDecoratorsBeforeExport(parent)){this.printJoin(node.decorators,node);}if(node.declare){this.word("declare");this.space();}if(node["abstract"]){this.word("abstract");this.space();}this.word("class");if(node.id){this.space();this.print(node.id,node);}this.print(node.typeParameters,node);if(node.superClass){this.space();this.word("extends");this.space();this.print(node.superClass,node);this.print(node.superTypeParameters,node);}if(node["implements"]){this.space();this.word("implements");this.space();this.printList(node["implements"],node);}this.space();this.print(node.body,node);}function ClassBody(node){this.tokenChar(123);if(node.body.length===0){this.tokenChar(125);}else{this.newline();this.printSequence(node.body,node,{indent:true});if(!this.endsWith(10))this.newline();this.rightBrace(node);}}function ClassProperty(node){var _node$key$loc;this.printJoin(node.decorators,node);var endLine=(_node$key$loc=node.key.loc)==null||(_node$key$loc=_node$key$loc.end)==null?void 0:_node$key$loc.line;if(endLine)this.catchUp(endLine);this.tsPrintClassMemberModifiers(node);if(node.computed){this.tokenChar(91);this.print(node.key,node);this.tokenChar(93);}else{this._variance(node);this.print(node.key,node);}if(node.optional){this.tokenChar(63);}if(node.definite){this.tokenChar(33);}this.print(node.typeAnnotation,node);if(node.value){this.space();this.tokenChar(61);this.space();this.print(node.value,node);}this.semicolon();}function ClassAccessorProperty(node){var _node$key$loc2;this.printJoin(node.decorators,node);var endLine=(_node$key$loc2=node.key.loc)==null||(_node$key$loc2=_node$key$loc2.end)==null?void 0:_node$key$loc2.line;if(endLine)this.catchUp(endLine);this.tsPrintClassMemberModifiers(node);this.word("accessor",true);this.space();if(node.computed){this.tokenChar(91);this.print(node.key,node);this.tokenChar(93);}else{this._variance(node);this.print(node.key,node);}if(node.optional){this.tokenChar(63);}if(node.definite){this.tokenChar(33);}this.print(node.typeAnnotation,node);if(node.value){this.space();this.tokenChar(61);this.space();this.print(node.value,node);}this.semicolon();}function ClassPrivateProperty(node){this.printJoin(node.decorators,node);if(node["static"]){this.word("static");this.space();}this.print(node.key,node);this.print(node.typeAnnotation,node);if(node.value){this.space();this.tokenChar(61);this.space();this.print(node.value,node);}this.semicolon();}function ClassMethod(node){this._classMethodHead(node);this.space();this.print(node.body,node);}function ClassPrivateMethod(node){this._classMethodHead(node);this.space();this.print(node.body,node);}function _classMethodHead(node){var _node$key$loc3;this.printJoin(node.decorators,node);var endLine=(_node$key$loc3=node.key.loc)==null||(_node$key$loc3=_node$key$loc3.end)==null?void 0:_node$key$loc3.line;if(endLine)this.catchUp(endLine);this.tsPrintClassMemberModifiers(node);this._methodHead(node);}function StaticBlock(node){this.word("static");this.space();this.tokenChar(123);if(node.body.length===0){this.tokenChar(125);}else{this.newline();this.printSequence(node.body,node,{indent:true});this.rightBrace(node);}}var isIdentifier$f=isIdentifier$j;function _params(node,idNode,parentNode){this.print(node.typeParameters,node);var nameInfo=_getFuncIdName.call(this,idNode,parentNode);if(nameInfo){this.sourceIdentifierName(nameInfo.name,nameInfo.pos);}this.tokenChar(40);this._parameters(node.params,node);this.tokenChar(41);var noLineTerminator=node.type==="ArrowFunctionExpression";this.print(node.returnType,node,noLineTerminator);this._noLineTerminator=noLineTerminator;}function _parameters(parameters,parent){var paramLength=parameters.length;for(var i=0;i<paramLength;i++){this._param(parameters[i],parent);if(i<parameters.length-1){this.tokenChar(44);this.space();}}}function _param(parameter,parent){this.printJoin(parameter.decorators,parameter);this.print(parameter,parent);if(parameter.optional){this.tokenChar(63);}this.print(parameter.typeAnnotation,parameter);}function _methodHead(node){var kind=node.kind;var key=node.key;if(kind==="get"||kind==="set"){this.word(kind);this.space();}if(node.async){this.word("async",true);this.space();}if(kind==="method"||kind==="init"){if(node.generator){this.tokenChar(42);}}if(node.computed){this.tokenChar(91);this.print(key,node);this.tokenChar(93);}else{this.print(key,node);}if(node.optional){this.tokenChar(63);}this._params(node,node.computed&&node.key.type!=="StringLiteral"?undefined:node.key,undefined);}function _predicate(node,noLineTerminatorAfter){if(node.predicate){if(!node.returnType){this.tokenChar(58);}this.space();this.print(node.predicate,node,noLineTerminatorAfter);}}function _functionHead(node,parent){if(node.async){this.word("async");this._endsWithInnerRaw=false;this.space();}this.word("function");if(node.generator){this._endsWithInnerRaw=false;this.tokenChar(42);}this.space();if(node.id){this.print(node.id,node);}this._params(node,node.id,parent);if(node.type!=="TSDeclareFunction"){this._predicate(node);}}function FunctionExpression(node,parent){this._functionHead(node,parent);this.space();this.print(node.body,node);}function ArrowFunctionExpression(node,parent){if(node.async){this.word("async",true);this.space();}var firstParam;if(!this.format.retainLines&&node.params.length===1&&isIdentifier$f(firstParam=node.params[0])&&!hasTypesOrComments(node,firstParam)){this.print(firstParam,node,true);}else{this._params(node,undefined,parent);}this._predicate(node,true);this.space();this.printInnerComments();this.token("=>");this.space();this.print(node.body,node);}function hasTypesOrComments(node,param){var _param$leadingComment,_param$trailingCommen;return!!(node.typeParameters||node.returnType||node.predicate||param.typeAnnotation||param.optional||(_param$leadingComment=param.leadingComments)!=null&&_param$leadingComment.length||(_param$trailingCommen=param.trailingComments)!=null&&_param$trailingCommen.length);}function _getFuncIdName(idNode,parent){var id=idNode;if(!id&&parent){var parentType=parent.type;if(parentType==="VariableDeclarator"){id=parent.id;}else if(parentType==="AssignmentExpression"||parentType==="AssignmentPattern"){id=parent.left;}else if(parentType==="ObjectProperty"||parentType==="ClassProperty"){if(!parent.computed||parent.key.type==="StringLiteral"){id=parent.key;}}else if(parentType==="ClassPrivateProperty"||parentType==="ClassAccessorProperty"){id=parent.key;}}if(!id)return;var nameInfo;if(id.type==="Identifier"){var _id$loc,_id$loc2;nameInfo={pos:(_id$loc=id.loc)==null?void 0:_id$loc.start,name:((_id$loc2=id.loc)==null?void 0:_id$loc2.identifierName)||id.name};}else if(id.type==="PrivateName"){var _id$loc3;nameInfo={pos:(_id$loc3=id.loc)==null?void 0:_id$loc3.start,name:"#"+id.id.name};}else if(id.type==="StringLiteral"){var _id$loc4;nameInfo={pos:(_id$loc4=id.loc)==null?void 0:_id$loc4.start,name:id.value};}return nameInfo;}var isClassDeclaration=isClassDeclaration$2,isExportDefaultSpecifier=isExportDefaultSpecifier$1,isExportNamespaceSpecifier=isExportNamespaceSpecifier$1,isImportDefaultSpecifier=isImportDefaultSpecifier$1,isImportNamespaceSpecifier=isImportNamespaceSpecifier$1,isStatement$5=isStatement$8;function ImportSpecifier(node){if(node.importKind==="type"||node.importKind==="typeof"){this.word(node.importKind);this.space();}this.print(node.imported,node);if(node.local&&node.local.name!==node.imported.name){this.space();this.word("as");this.space();this.print(node.local,node);}}function ImportDefaultSpecifier(node){this.print(node.local,node);}function ExportDefaultSpecifier(node){this.print(node.exported,node);}function ExportSpecifier(node){if(node.exportKind==="type"){this.word("type");this.space();}this.print(node.local,node);if(node.exported&&node.local.name!==node.exported.name){this.space();this.word("as");this.space();this.print(node.exported,node);}}function ExportNamespaceSpecifier(node){this.tokenChar(42);this.space();this.word("as");this.space();this.print(node.exported,node);}var warningShown=false;function _printAttributes(node){var importAttributesKeyword=this.format.importAttributesKeyword;var attributes=node.attributes,assertions=node.assertions;if(attributes&&!importAttributesKeyword&&!warningShown){warningShown=true;console.warn("You are using import attributes, without specifying the desired output syntax.\nPlease specify the \"importAttributesKeyword\" generator option, whose value can be one of:\n - \"with\"        : `import { a } from \"b\" with { type: \"json\" };`\n - \"assert\"      : `import { a } from \"b\" assert { type: \"json\" };`\n - \"with-legacy\" : `import { a } from \"b\" with type: \"json\";`\n");}var useAssertKeyword=importAttributesKeyword==="assert"||!importAttributesKeyword&&assertions;this.word(useAssertKeyword?"assert":"with");this.space();if(!useAssertKeyword&&importAttributesKeyword!=="with"){this.printList(attributes||assertions,node);return;}this.tokenChar(123);this.space();this.printList(attributes||assertions,node);this.space();this.tokenChar(125);}function ExportAllDeclaration(node){var _node$attributes,_node$assertions;this.word("export");this.space();if(node.exportKind==="type"){this.word("type");this.space();}this.tokenChar(42);this.space();this.word("from");this.space();if((_node$attributes=node.attributes)!=null&&_node$attributes.length||(_node$assertions=node.assertions)!=null&&_node$assertions.length){this.print(node.source,node,true);this.space();this._printAttributes(node);}else{this.print(node.source,node);}this.semicolon();}function maybePrintDecoratorsBeforeExport(printer,node){if(isClassDeclaration(node.declaration)&&printer._shouldPrintDecoratorsBeforeExport(node)){printer.printJoin(node.declaration.decorators,node);}}function ExportNamedDeclaration(node){maybePrintDecoratorsBeforeExport(this,node);this.word("export");this.space();if(node.declaration){var declar=node.declaration;this.print(declar,node);if(!isStatement$5(declar))this.semicolon();}else{if(node.exportKind==="type"){this.word("type");this.space();}var specifiers=node.specifiers.slice(0);var hasSpecial=false;for(;;){var first=specifiers[0];if(isExportDefaultSpecifier(first)||isExportNamespaceSpecifier(first)){hasSpecial=true;this.print(specifiers.shift(),node);if(specifiers.length){this.tokenChar(44);this.space();}}else{break;}}if(specifiers.length||!specifiers.length&&!hasSpecial){this.tokenChar(123);if(specifiers.length){this.space();this.printList(specifiers,node);this.space();}this.tokenChar(125);}if(node.source){var _node$attributes2,_node$assertions2;this.space();this.word("from");this.space();if((_node$attributes2=node.attributes)!=null&&_node$attributes2.length||(_node$assertions2=node.assertions)!=null&&_node$assertions2.length){this.print(node.source,node,true);this.space();this._printAttributes(node);}else{this.print(node.source,node);}}this.semicolon();}}function ExportDefaultDeclaration(node){maybePrintDecoratorsBeforeExport(this,node);this.word("export");this.noIndentInnerCommentsHere();this.space();this.word("default");this.space();var declar=node.declaration;this.print(declar,node);if(!isStatement$5(declar))this.semicolon();}function ImportDeclaration(node){var _node$attributes3,_node$assertions3;this.word("import");this.space();var isTypeKind=node.importKind==="type"||node.importKind==="typeof";if(isTypeKind){this.noIndentInnerCommentsHere();this.word(node.importKind);this.space();}else if(node.module){this.noIndentInnerCommentsHere();this.word("module");this.space();}else if(node.phase){this.noIndentInnerCommentsHere();this.word(node.phase);this.space();}var specifiers=node.specifiers.slice(0);var hasSpecifiers=!!specifiers.length;while(hasSpecifiers){var first=specifiers[0];if(isImportDefaultSpecifier(first)||isImportNamespaceSpecifier(first)){this.print(specifiers.shift(),node);if(specifiers.length){this.tokenChar(44);this.space();}}else{break;}}if(specifiers.length){this.tokenChar(123);this.space();this.printList(specifiers,node);this.space();this.tokenChar(125);}else if(isTypeKind&&!hasSpecifiers){this.tokenChar(123);this.tokenChar(125);}if(hasSpecifiers||isTypeKind){this.space();this.word("from");this.space();}if((_node$attributes3=node.attributes)!=null&&_node$attributes3.length||(_node$assertions3=node.assertions)!=null&&_node$assertions3.length){this.print(node.source,node,true);this.space();this._printAttributes(node);}else{this.print(node.source,node);}this.semicolon();}function ImportAttribute(node){this.print(node.key);this.tokenChar(58);this.space();this.print(node.value);}function ImportNamespaceSpecifier(node){this.tokenChar(42);this.space();this.word("as");this.space();this.print(node.local,node);}function ImportExpression(node){this.word("import");if(node.phase){this.tokenChar(46);this.word(node.phase);}this.tokenChar(40);this.print(node.source,node);if(node.options!=null){this.tokenChar(44);this.space();this.print(node.options,node);}this.tokenChar(41);}var jsesc_1;var hasRequiredJsesc;function requireJsesc(){if(hasRequiredJsesc)return jsesc_1;hasRequiredJsesc=1;var object={};var hasOwnProperty=object.hasOwnProperty;var forOwn=function forOwn(object,callback){for(var key in object){if(hasOwnProperty.call(object,key)){callback(key,object[key]);}}};var extend=function extend(destination,source){if(!source){return destination;}forOwn(source,function(key,value){destination[key]=value;});return destination;};var forEach=function forEach(array,callback){var length=array.length;var index=-1;while(++index<length){callback(array[index]);}};var toString=object.toString;var isArray=Array.isArray;var isBuffer=Buffer$1.isBuffer;var isObject=function isObject(value){return toString.call(value)=='[object Object]';};var isString=function isString(value){return typeof value=='string'||toString.call(value)=='[object String]';};var isNumber=function isNumber(value){return typeof value=='number'||toString.call(value)=='[object Number]';};var isFunction=function isFunction(value){return typeof value=='function';};var isMap=function isMap(value){return toString.call(value)=='[object Map]';};var isSet=function isSet(value){return toString.call(value)=='[object Set]';};var singleEscapes={'"':'\\"','\'':'\\\'','\\':'\\\\','\b':'\\b','\f':'\\f','\n':'\\n','\r':'\\r','\t':'\\t'};var regexSingleEscape=/["'\\\b\f\n\r\t]/;var regexDigit=/[0-9]/;var regexWhitelist=/[ !#-&\(-\[\]-_a-~]/;var jsesc=function jsesc(argument,options){var increaseIndentation=function increaseIndentation(){oldIndent=indent;++options.indentLevel;indent=options.indent.repeat(options.indentLevel);};var defaults={'escapeEverything':false,'minimal':false,'isScriptContext':false,'quotes':'single','wrap':false,'es6':false,'json':false,'compact':true,'lowercaseHex':false,'numbers':'decimal','indent':'\t','indentLevel':0,'__inline1__':false,'__inline2__':false};var json=options&&options.json;if(json){defaults.quotes='double';defaults.wrap=true;}options=extend(defaults,options);if(options.quotes!='single'&&options.quotes!='double'&&options.quotes!='backtick'){options.quotes='single';}var quote=options.quotes=='double'?'"':options.quotes=='backtick'?'`':'\'';var compact=options.compact;var lowercaseHex=options.lowercaseHex;var indent=options.indent.repeat(options.indentLevel);var oldIndent='';var inline1=options.__inline1__;var inline2=options.__inline2__;var newLine=compact?'':'\n';var result;var isEmpty=true;var useBinNumbers=options.numbers=='binary';var useOctNumbers=options.numbers=='octal';var useDecNumbers=options.numbers=='decimal';var useHexNumbers=options.numbers=='hexadecimal';if(json&&argument&&isFunction(argument.toJSON)){argument=argument.toJSON();}if(!isString(argument)){if(isMap(argument)){if(argument.size==0){return'new Map()';}if(!compact){options.__inline1__=true;options.__inline2__=false;}return'new Map('+jsesc(Array.from(argument),options)+')';}if(isSet(argument)){if(argument.size==0){return'new Set()';}return'new Set('+jsesc(Array.from(argument),options)+')';}if(isBuffer(argument)){if(argument.length==0){return'Buffer.from([])';}return'Buffer.from('+jsesc(Array.from(argument),options)+')';}if(isArray(argument)){result=[];options.wrap=true;if(inline1){options.__inline1__=false;options.__inline2__=true;}if(!inline2){increaseIndentation();}forEach(argument,function(value){isEmpty=false;if(inline2){options.__inline2__=false;}result.push((compact||inline2?'':indent)+jsesc(value,options));});if(isEmpty){return'[]';}if(inline2){return'['+result.join(', ')+']';}return'['+newLine+result.join(','+newLine)+newLine+(compact?'':oldIndent)+']';}else if(isNumber(argument)){if(json){return JSON.stringify(argument);}if(useDecNumbers){return String(argument);}if(useHexNumbers){var hexadecimal=argument.toString(16);if(!lowercaseHex){hexadecimal=hexadecimal.toUpperCase();}return'0x'+hexadecimal;}if(useBinNumbers){return'0b'+argument.toString(2);}if(useOctNumbers){return'0o'+argument.toString(8);}}else if(!isObject(argument)){if(json){return JSON.stringify(argument)||'null';}return String(argument);}else{result=[];options.wrap=true;increaseIndentation();forOwn(argument,function(key,value){isEmpty=false;result.push((compact?'':indent)+jsesc(key,options)+':'+(compact?'':' ')+jsesc(value,options));});if(isEmpty){return'{}';}return'{'+newLine+result.join(','+newLine)+newLine+(compact?'':oldIndent)+'}';}}var string=argument;var index=-1;var length=string.length;result='';while(++index<length){var character=string.charAt(index);if(options.es6){var first=string.charCodeAt(index);if(first>=0xD800&&first<=0xDBFF&&length>index+1){var second=string.charCodeAt(index+1);if(second>=0xDC00&&second<=0xDFFF){var codePoint=(first-0xD800)*0x400+second-0xDC00+0x10000;var _hexadecimal=codePoint.toString(16);if(!lowercaseHex){_hexadecimal=_hexadecimal.toUpperCase();}result+="\\u{"+_hexadecimal+'}';++index;continue;}}}if(!options.escapeEverything){if(regexWhitelist.test(character)){result+=character;continue;}if(character=='"'){result+=quote==character?'\\"':character;continue;}if(character=='`'){result+=quote==character?'\\`':character;continue;}if(character=='\''){result+=quote==character?'\\\'':character;continue;}}if(character=='\0'&&!json&&!regexDigit.test(string.charAt(index+1))){result+='\\0';continue;}if(regexSingleEscape.test(character)){result+=singleEscapes[character];continue;}var charCode=character.charCodeAt(0);if(options.minimal&&charCode!=0x2028&&charCode!=0x2029){result+=character;continue;}var _hexadecimal2=charCode.toString(16);if(!lowercaseHex){_hexadecimal2=_hexadecimal2.toUpperCase();}var longhand=_hexadecimal2.length>2||json;var escaped='\\'+(longhand?'u':'x')+('0000'+_hexadecimal2).slice(longhand?-4:-2);result+=escaped;continue;}if(options.wrap){result=quote+result+quote;}if(quote=='`'){result=result.replace(/\$\{/g,'\\\$\{');}if(options.isScriptContext){return result.replace(/<\/(script|style)/gi,'<\\/$1').replace(/<!--/g,json?"\\u003C!--":'\\x3C!--');}return result;};jsesc.version='2.5.2';jsesc_1=jsesc;return jsesc_1;}function bool$9(value){if(value==null)return false;return value&&value!=="false"&&value!=="0";}var jsesc=bool$9(browser$1$1.env["BABEL_8_BREAKING"])?requireJsesc():requireJsesc();var isAssignmentPattern$4=isAssignmentPattern$5,isIdentifier$e=isIdentifier$j;function Identifier(node){var _node$loc;this.sourceIdentifierName(((_node$loc=node.loc)==null?void 0:_node$loc.identifierName)||node.name);this.word(node.name);}function ArgumentPlaceholder(){this.tokenChar(63);}function RestElement$1(node){this.token("...");this.print(node.argument,node);}function ObjectExpression$1(node){var props=node.properties;this.tokenChar(123);if(props.length){this.space();this.printList(props,node,{indent:true,statement:true});this.space();}this.sourceWithOffset("end",node.loc,-1);this.tokenChar(125);}function ObjectMethod(node){this.printJoin(node.decorators,node);this._methodHead(node);this.space();this.print(node.body,node);}function ObjectProperty(node){this.printJoin(node.decorators,node);if(node.computed){this.tokenChar(91);this.print(node.key,node);this.tokenChar(93);}else{if(isAssignmentPattern$4(node.value)&&isIdentifier$e(node.key)&&node.key.name===node.value.left.name){this.print(node.value,node);return;}this.print(node.key,node);if(node.shorthand&&isIdentifier$e(node.key)&&isIdentifier$e(node.value)&&node.key.name===node.value.name){return;}}this.tokenChar(58);this.space();this.print(node.value,node);}function ArrayExpression$1(node){var elems=node.elements;var len=elems.length;this.tokenChar(91);for(var i=0;i<elems.length;i++){var elem=elems[i];if(elem){if(i>0)this.space();this.print(elem,node);if(i<len-1)this.tokenChar(44);}else{this.tokenChar(44);}}this.tokenChar(93);}function RecordExpression(node){var props=node.properties;var startToken;var endToken;if(this.format.recordAndTupleSyntaxType==="bar"){startToken="{|";endToken="|}";}else if(this.format.recordAndTupleSyntaxType!=="hash"&&this.format.recordAndTupleSyntaxType!=null){throw new Error("The \"recordAndTupleSyntaxType\" generator option must be \"bar\" or \"hash\" ("+JSON.stringify(this.format.recordAndTupleSyntaxType)+" received).");}else{startToken="#{";endToken="}";}this.token(startToken);if(props.length){this.space();this.printList(props,node,{indent:true,statement:true});this.space();}this.token(endToken);}function TupleExpression(node){var elems=node.elements;var len=elems.length;var startToken;var endToken;if(this.format.recordAndTupleSyntaxType==="bar"){startToken="[|";endToken="|]";}else if(this.format.recordAndTupleSyntaxType==="hash"){startToken="#[";endToken="]";}else{throw new Error(this.format.recordAndTupleSyntaxType+" is not a valid recordAndTuple syntax type");}this.token(startToken);for(var i=0;i<elems.length;i++){var elem=elems[i];if(elem){if(i>0)this.space();this.print(elem,node);if(i<len-1)this.tokenChar(44);}}this.token(endToken);}function RegExpLiteral$1(node){this.word("/"+node.pattern+"/"+node.flags);}function BooleanLiteral$1(node){this.word(node.value?"true":"false");}function NullLiteral$1(){this.word("null");}function NumericLiteral$1(node){var raw=this.getPossibleRaw(node);var opts=this.format.jsescOption;var value=node.value;var str=value+"";if(opts.numbers){this.number(jsesc(value,opts),value);}else if(raw==null){this.number(str,value);}else if(this.format.minified){this.number(raw.length<str.length?raw:str,value);}else{this.number(raw,value);}}function StringLiteral$1(node){var raw=this.getPossibleRaw(node);if(!this.format.minified&&raw!==undefined){this.token(raw);return;}var val=jsesc(node.value,this.format.jsescOption);this.token(val);}function BigIntLiteral(node){var raw=this.getPossibleRaw(node);if(!this.format.minified&&raw!==undefined){this.word(raw);return;}this.word(node.value+"n");}function DecimalLiteral(node){var raw=this.getPossibleRaw(node);if(!this.format.minified&&raw!==undefined){this.word(raw);return;}this.word(node.value+"m");}var validTopicTokenSet=new Set(["^^","@@","^","%","#"]);function TopicReference(){var topicToken=this.format.topicToken;if(validTopicTokenSet.has(topicToken)){this.token(topicToken);}else{var givenTopicTokenJSON=JSON.stringify(topicToken);var validTopics=Array.from(validTopicTokenSet,function(v){return JSON.stringify(v);});throw new Error("The \"topicToken\" generator option must be one of "+(validTopics.join(", ")+" ("+givenTopicTokenJSON+" received instead)."));}}function PipelineTopicExpression(node){this.print(node.expression,node);}function PipelineBareFunction(node){this.print(node.callee,node);}function PipelinePrimaryTopicReference(){this.tokenChar(35);}var isDeclareExportDeclaration=isDeclareExportDeclaration$1,isStatement$4=isStatement$8;function AnyTypeAnnotation(){this.word("any");}function ArrayTypeAnnotation(node){this.print(node.elementType,node,true);this.tokenChar(91);this.tokenChar(93);}function BooleanTypeAnnotation(){this.word("boolean");}function BooleanLiteralTypeAnnotation(node){this.word(node.value?"true":"false");}function NullLiteralTypeAnnotation(){this.word("null");}function DeclareClass(node,parent){if(!isDeclareExportDeclaration(parent)){this.word("declare");this.space();}this.word("class");this.space();this._interfaceish(node);}function DeclareFunction(node,parent){if(!isDeclareExportDeclaration(parent)){this.word("declare");this.space();}this.word("function");this.space();this.print(node.id,node);this.print(node.id.typeAnnotation.typeAnnotation,node);if(node.predicate){this.space();this.print(node.predicate,node);}this.semicolon();}function InferredPredicate(){this.tokenChar(37);this.word("checks");}function DeclaredPredicate(node){this.tokenChar(37);this.word("checks");this.tokenChar(40);this.print(node.value,node);this.tokenChar(41);}function DeclareInterface(node){this.word("declare");this.space();this.InterfaceDeclaration(node);}function DeclareModule(node){this.word("declare");this.space();this.word("module");this.space();this.print(node.id,node);this.space();this.print(node.body,node);}function DeclareModuleExports(node){this.word("declare");this.space();this.word("module");this.tokenChar(46);this.word("exports");this.print(node.typeAnnotation,node);}function DeclareTypeAlias(node){this.word("declare");this.space();this.TypeAlias(node);}function DeclareOpaqueType(node,parent){if(!isDeclareExportDeclaration(parent)){this.word("declare");this.space();}this.OpaqueType(node);}function DeclareVariable(node,parent){if(!isDeclareExportDeclaration(parent)){this.word("declare");this.space();}this.word("var");this.space();this.print(node.id,node);this.print(node.id.typeAnnotation,node);this.semicolon();}function DeclareExportDeclaration(node){this.word("declare");this.space();this.word("export");this.space();if(node["default"]){this.word("default");this.space();}FlowExportDeclaration.call(this,node);}function DeclareExportAllDeclaration(node){this.word("declare");this.space();ExportAllDeclaration.call(this,node);}function EnumDeclaration(node){var id=node.id,body=node.body;this.word("enum");this.space();this.print(id,node);this.print(body,node);}function enumExplicitType(context,name,hasExplicitType){if(hasExplicitType){context.space();context.word("of");context.space();context.word(name);}context.space();}function enumBody(context,node){var members=node.members;context.token("{");context.indent();context.newline();for(var _iterator=_createForOfIteratorHelperLoose(members),_step;!(_step=_iterator()).done;){var member=_step.value;context.print(member,node);context.newline();}if(node.hasUnknownMembers){context.token("...");context.newline();}context.dedent();context.token("}");}function EnumBooleanBody(node){var explicitType=node.explicitType;enumExplicitType(this,"boolean",explicitType);enumBody(this,node);}function EnumNumberBody(node){var explicitType=node.explicitType;enumExplicitType(this,"number",explicitType);enumBody(this,node);}function EnumStringBody(node){var explicitType=node.explicitType;enumExplicitType(this,"string",explicitType);enumBody(this,node);}function EnumSymbolBody(node){enumExplicitType(this,"symbol",true);enumBody(this,node);}function EnumDefaultedMember(node){var id=node.id;this.print(id,node);this.tokenChar(44);}function enumInitializedMember(context,node){var id=node.id,init=node.init;context.print(id,node);context.space();context.token("=");context.space();context.print(init,node);context.token(",");}function EnumBooleanMember(node){enumInitializedMember(this,node);}function EnumNumberMember(node){enumInitializedMember(this,node);}function EnumStringMember(node){enumInitializedMember(this,node);}function FlowExportDeclaration(node){if(node.declaration){var declar=node.declaration;this.print(declar,node);if(!isStatement$4(declar))this.semicolon();}else{this.tokenChar(123);if(node.specifiers.length){this.space();this.printList(node.specifiers,node);this.space();}this.tokenChar(125);if(node.source){this.space();this.word("from");this.space();this.print(node.source,node);}this.semicolon();}}function ExistsTypeAnnotation(){this.tokenChar(42);}function FunctionTypeAnnotation(node,parent){this.print(node.typeParameters,node);this.tokenChar(40);if(node["this"]){this.word("this");this.tokenChar(58);this.space();this.print(node["this"].typeAnnotation,node);if(node.params.length||node.rest){this.tokenChar(44);this.space();}}this.printList(node.params,node);if(node.rest){if(node.params.length){this.tokenChar(44);this.space();}this.token("...");this.print(node.rest,node);}this.tokenChar(41);var type=parent==null?void 0:parent.type;if(type!=null&&(type==="ObjectTypeCallProperty"||type==="ObjectTypeInternalSlot"||type==="DeclareFunction"||type==="ObjectTypeProperty"&&parent.method)){this.tokenChar(58);}else{this.space();this.token("=>");}this.space();this.print(node.returnType,node);}function FunctionTypeParam(node){this.print(node.name,node);if(node.optional)this.tokenChar(63);if(node.name){this.tokenChar(58);this.space();}this.print(node.typeAnnotation,node);}function InterfaceExtends(node){this.print(node.id,node);this.print(node.typeParameters,node,true);}function _interfaceish(node){var _node$extends;this.print(node.id,node);this.print(node.typeParameters,node);if((_node$extends=node["extends"])!=null&&_node$extends.length){this.space();this.word("extends");this.space();this.printList(node["extends"],node);}if(node.type==="DeclareClass"){var _node$mixins,_node$implements;if((_node$mixins=node.mixins)!=null&&_node$mixins.length){this.space();this.word("mixins");this.space();this.printList(node.mixins,node);}if((_node$implements=node["implements"])!=null&&_node$implements.length){this.space();this.word("implements");this.space();this.printList(node["implements"],node);}}this.space();this.print(node.body,node);}function _variance(node){var _node$variance;var kind=(_node$variance=node.variance)==null?void 0:_node$variance.kind;if(kind!=null){if(kind==="plus"){this.tokenChar(43);}else if(kind==="minus"){this.tokenChar(45);}}}function InterfaceDeclaration(node){this.word("interface");this.space();this._interfaceish(node);}function andSeparator(){this.space();this.tokenChar(38);this.space();}function InterfaceTypeAnnotation(node){var _node$extends2;this.word("interface");if((_node$extends2=node["extends"])!=null&&_node$extends2.length){this.space();this.word("extends");this.space();this.printList(node["extends"],node);}this.space();this.print(node.body,node);}function IntersectionTypeAnnotation(node){this.printJoin(node.types,node,{separator:andSeparator});}function MixedTypeAnnotation(){this.word("mixed");}function EmptyTypeAnnotation(){this.word("empty");}function NullableTypeAnnotation(node){this.tokenChar(63);this.print(node.typeAnnotation,node);}function NumberTypeAnnotation(){this.word("number");}function StringTypeAnnotation(){this.word("string");}function ThisTypeAnnotation(){this.word("this");}function TupleTypeAnnotation(node){this.tokenChar(91);this.printList(node.types,node);this.tokenChar(93);}function TypeofTypeAnnotation(node){this.word("typeof");this.space();this.print(node.argument,node);}function TypeAlias(node){this.word("type");this.space();this.print(node.id,node);this.print(node.typeParameters,node);this.space();this.tokenChar(61);this.space();this.print(node.right,node);this.semicolon();}function TypeAnnotation(node){this.tokenChar(58);this.space();if(node.optional)this.tokenChar(63);this.print(node.typeAnnotation,node);}function TypeParameterInstantiation(node){this.tokenChar(60);this.printList(node.params,node,{});this.tokenChar(62);}function TypeParameter(node){this._variance(node);this.word(node.name);if(node.bound){this.print(node.bound,node);}if(node["default"]){this.space();this.tokenChar(61);this.space();this.print(node["default"],node);}}function OpaqueType(node){this.word("opaque");this.space();this.word("type");this.space();this.print(node.id,node);this.print(node.typeParameters,node);if(node.supertype){this.tokenChar(58);this.space();this.print(node.supertype,node);}if(node.impltype){this.space();this.tokenChar(61);this.space();this.print(node.impltype,node);}this.semicolon();}function ObjectTypeAnnotation(node){var _this=this;if(node.exact){this.token("{|");}else{this.tokenChar(123);}var props=[].concat(_toConsumableArray(node.properties),_toConsumableArray(node.callProperties||[]),_toConsumableArray(node.indexers||[]),_toConsumableArray(node.internalSlots||[]));if(props.length){this.newline();this.space();this.printJoin(props,node,{addNewlines:function addNewlines(leading){if(leading&&!props[0])return 1;},indent:true,statement:true,iterator:function iterator(){if(props.length!==1||node.inexact){_this.token(",");_this.space();}}});this.space();}if(node.inexact){this.indent();this.token("...");if(props.length){this.newline();}this.dedent();}if(node.exact){this.token("|}");}else{this.tokenChar(125);}}function ObjectTypeInternalSlot(node){if(node["static"]){this.word("static");this.space();}this.tokenChar(91);this.tokenChar(91);this.print(node.id,node);this.tokenChar(93);this.tokenChar(93);if(node.optional)this.tokenChar(63);if(!node.method){this.tokenChar(58);this.space();}this.print(node.value,node);}function ObjectTypeCallProperty(node){if(node["static"]){this.word("static");this.space();}this.print(node.value,node);}function ObjectTypeIndexer(node){if(node["static"]){this.word("static");this.space();}this._variance(node);this.tokenChar(91);if(node.id){this.print(node.id,node);this.tokenChar(58);this.space();}this.print(node.key,node);this.tokenChar(93);this.tokenChar(58);this.space();this.print(node.value,node);}function ObjectTypeProperty(node){if(node.proto){this.word("proto");this.space();}if(node["static"]){this.word("static");this.space();}if(node.kind==="get"||node.kind==="set"){this.word(node.kind);this.space();}this._variance(node);this.print(node.key,node);if(node.optional)this.tokenChar(63);if(!node.method){this.tokenChar(58);this.space();}this.print(node.value,node);}function ObjectTypeSpreadProperty(node){this.token("...");this.print(node.argument,node);}function QualifiedTypeIdentifier(node){this.print(node.qualification,node);this.tokenChar(46);this.print(node.id,node);}function SymbolTypeAnnotation(){this.word("symbol");}function orSeparator(){this.space();this.tokenChar(124);this.space();}function UnionTypeAnnotation(node){this.printJoin(node.types,node,{separator:orSeparator});}function TypeCastExpression$1(node){this.tokenChar(40);this.print(node.expression,node);this.print(node.typeAnnotation,node);this.tokenChar(41);}function Variance(node){if(node.kind==="plus"){this.tokenChar(43);}else{this.tokenChar(45);}}function VoidTypeAnnotation(){this.word("void");}function IndexedAccessType(node){this.print(node.objectType,node,true);this.tokenChar(91);this.print(node.indexType,node);this.tokenChar(93);}function OptionalIndexedAccessType(node){this.print(node.objectType,node);if(node.optional){this.token("?.");}this.tokenChar(91);this.print(node.indexType,node);this.tokenChar(93);}function File$1(node){if(node.program){this.print(node.program.interpreter,node);}this.print(node.program,node);}function Program(node){var _node$directives;this.noIndentInnerCommentsHere();this.printInnerComments();var directivesLen=(_node$directives=node.directives)==null?void 0:_node$directives.length;if(directivesLen){var _node$directives$trai;var newline=node.body.length?2:1;this.printSequence(node.directives,node,{trailingCommentsLineOffset:newline});if(!((_node$directives$trai=node.directives[directivesLen-1].trailingComments)!=null&&_node$directives$trai.length)){this.newline(newline);}}this.printSequence(node.body,node);}function BlockStatement(node){var _node$directives2;this.tokenChar(123);var directivesLen=(_node$directives2=node.directives)==null?void 0:_node$directives2.length;if(directivesLen){var _node$directives$trai2;var newline=node.body.length?2:1;this.printSequence(node.directives,node,{indent:true,trailingCommentsLineOffset:newline});if(!((_node$directives$trai2=node.directives[directivesLen-1].trailingComments)!=null&&_node$directives$trai2.length)){this.newline(newline);}}this.printSequence(node.body,node,{indent:true});this.rightBrace(node);}function Directive(node){this.print(node.value,node);this.semicolon();}var unescapedSingleQuoteRE=/(?:^|[^\\])(?:\\\\)*'/;var unescapedDoubleQuoteRE=/(?:^|[^\\])(?:\\\\)*"/;function DirectiveLiteral(node){var raw=this.getPossibleRaw(node);if(!this.format.minified&&raw!==undefined){this.token(raw);return;}var value=node.value;if(!unescapedDoubleQuoteRE.test(value)){this.token("\""+value+"\"");}else if(!unescapedSingleQuoteRE.test(value)){this.token("'"+value+"'");}else{throw new Error("Malformed AST: it is not possible to print a directive containing"+" both unescaped single and double quotes.");}}function InterpreterDirective(node){this.token("#!"+node.value);this.newline(1,true);}function Placeholder(node){this.token("%%");this.print(node.name);this.token("%%");if(node.expectedNode==="Statement"){this.semicolon();}}function JSXAttribute(node){this.print(node.name,node);if(node.value){this.tokenChar(61);this.print(node.value,node);}}function JSXIdentifier(node){this.word(node.name);}function JSXNamespacedName(node){this.print(node.namespace,node);this.tokenChar(58);this.print(node.name,node);}function JSXMemberExpression(node){this.print(node.object,node);this.tokenChar(46);this.print(node.property,node);}function JSXSpreadAttribute(node){this.tokenChar(123);this.token("...");this.print(node.argument,node);this.tokenChar(125);}function JSXExpressionContainer(node){this.tokenChar(123);this.print(node.expression,node);this.tokenChar(125);}function JSXSpreadChild(node){this.tokenChar(123);this.token("...");this.print(node.expression,node);this.tokenChar(125);}function JSXText(node){var raw=this.getPossibleRaw(node);if(raw!==undefined){this.token(raw,true);}else{this.token(node.value,true);}}function JSXElement(node){var open=node.openingElement;this.print(open,node);if(open.selfClosing)return;this.indent();for(var _iterator=_createForOfIteratorHelperLoose(node.children),_step;!(_step=_iterator()).done;){var child=_step.value;this.print(child,node);}this.dedent();this.print(node.closingElement,node);}function spaceSeparator(){this.space();}function JSXOpeningElement(node){this.tokenChar(60);this.print(node.name,node);this.print(node.typeParameters,node);if(node.attributes.length>0){this.space();this.printJoin(node.attributes,node,{separator:spaceSeparator});}if(node.selfClosing){this.space();this.token("/>");}else{this.tokenChar(62);}}function JSXClosingElement(node){this.token("</");this.print(node.name,node);this.tokenChar(62);}function JSXEmptyExpression(){this.printInnerComments();}function JSXFragment(node){this.print(node.openingFragment,node);this.indent();for(var _iterator2=_createForOfIteratorHelperLoose(node.children),_step2;!(_step2=_iterator2()).done;){var child=_step2.value;this.print(child,node);}this.dedent();this.print(node.closingFragment,node);}function JSXOpeningFragment(){this.tokenChar(60);this.tokenChar(62);}function JSXClosingFragment(){this.token("</");this.tokenChar(62);}function TSTypeAnnotation(node){this.tokenChar(58);this.space();if(node.optional)this.tokenChar(63);this.print(node.typeAnnotation,node);}function TSTypeParameterInstantiation(node,parent){this.tokenChar(60);this.printList(node.params,node,{});if(parent.type==="ArrowFunctionExpression"&&node.params.length===1){this.tokenChar(44);}this.tokenChar(62);}function TSTypeParameter(node){if(node["in"]){this.word("in");this.space();}if(node.out){this.word("out");this.space();}this.word(node.name);if(node.constraint){this.space();this.word("extends");this.space();this.print(node.constraint,node);}if(node["default"]){this.space();this.tokenChar(61);this.space();this.print(node["default"],node);}}function TSParameterProperty(node){if(node.accessibility){this.word(node.accessibility);this.space();}if(node.readonly){this.word("readonly");this.space();}this._param(node.parameter);}function TSDeclareFunction(node,parent){if(node.declare){this.word("declare");this.space();}this._functionHead(node,parent);this.tokenChar(59);}function TSDeclareMethod(node){this._classMethodHead(node);this.tokenChar(59);}function TSQualifiedName(node){this.print(node.left,node);this.tokenChar(46);this.print(node.right,node);}function TSCallSignatureDeclaration(node){this.tsPrintSignatureDeclarationBase(node);this.tokenChar(59);}function TSConstructSignatureDeclaration(node){this.word("new");this.space();this.tsPrintSignatureDeclarationBase(node);this.tokenChar(59);}function TSPropertySignature(node){var readonly=node.readonly;if(readonly){this.word("readonly");this.space();}this.tsPrintPropertyOrMethodName(node);this.print(node.typeAnnotation,node);this.tokenChar(59);}function tsPrintPropertyOrMethodName(node){if(node.computed){this.tokenChar(91);}this.print(node.key,node);if(node.computed){this.tokenChar(93);}if(node.optional){this.tokenChar(63);}}function TSMethodSignature(node){var kind=node.kind;if(kind==="set"||kind==="get"){this.word(kind);this.space();}this.tsPrintPropertyOrMethodName(node);this.tsPrintSignatureDeclarationBase(node);this.tokenChar(59);}function TSIndexSignature(node){var readonly=node.readonly,isStatic=node["static"];if(isStatic){this.word("static");this.space();}if(readonly){this.word("readonly");this.space();}this.tokenChar(91);this._parameters(node.parameters,node);this.tokenChar(93);this.print(node.typeAnnotation,node);this.tokenChar(59);}function TSAnyKeyword(){this.word("any");}function TSBigIntKeyword(){this.word("bigint");}function TSUnknownKeyword(){this.word("unknown");}function TSNumberKeyword(){this.word("number");}function TSObjectKeyword(){this.word("object");}function TSBooleanKeyword(){this.word("boolean");}function TSStringKeyword(){this.word("string");}function TSSymbolKeyword(){this.word("symbol");}function TSVoidKeyword(){this.word("void");}function TSUndefinedKeyword(){this.word("undefined");}function TSNullKeyword(){this.word("null");}function TSNeverKeyword(){this.word("never");}function TSIntrinsicKeyword(){this.word("intrinsic");}function TSThisType(){this.word("this");}function TSFunctionType(node){this.tsPrintFunctionOrConstructorType(node);}function TSConstructorType(node){if(node["abstract"]){this.word("abstract");this.space();}this.word("new");this.space();this.tsPrintFunctionOrConstructorType(node);}function tsPrintFunctionOrConstructorType(node){var typeParameters=node.typeParameters;var parameters=node.parameters;this.print(typeParameters,node);this.tokenChar(40);this._parameters(parameters,node);this.tokenChar(41);this.space();this.token("=>");this.space();var returnType=node.typeAnnotation;this.print(returnType.typeAnnotation,node);}function TSTypeReference(node){this.print(node.typeName,node,true);this.print(node.typeParameters,node,true);}function TSTypePredicate(node){if(node.asserts){this.word("asserts");this.space();}this.print(node.parameterName);if(node.typeAnnotation){this.space();this.word("is");this.space();this.print(node.typeAnnotation.typeAnnotation);}}function TSTypeQuery(node){this.word("typeof");this.space();this.print(node.exprName);if(node.typeParameters){this.print(node.typeParameters,node);}}function TSTypeLiteral(node){this.tsPrintTypeLiteralOrInterfaceBody(node.members,node);}function tsPrintTypeLiteralOrInterfaceBody(members,node){tsPrintBraced(this,members,node);}function tsPrintBraced(printer,members,node){printer.token("{");if(members.length){printer.indent();printer.newline();for(var _iterator=_createForOfIteratorHelperLoose(members),_step;!(_step=_iterator()).done;){var member=_step.value;printer.print(member,node);printer.newline();}printer.dedent();}printer.rightBrace(node);}function TSArrayType(node){this.print(node.elementType,node,true);this.token("[]");}function TSTupleType(node){this.tokenChar(91);this.printList(node.elementTypes,node);this.tokenChar(93);}function TSOptionalType(node){this.print(node.typeAnnotation,node);this.tokenChar(63);}function TSRestType(node){this.token("...");this.print(node.typeAnnotation,node);}function TSNamedTupleMember(node){this.print(node.label,node);if(node.optional)this.tokenChar(63);this.tokenChar(58);this.space();this.print(node.elementType,node);}function TSUnionType(node){tsPrintUnionOrIntersectionType(this,node,"|");}function TSIntersectionType(node){tsPrintUnionOrIntersectionType(this,node,"&");}function tsPrintUnionOrIntersectionType(printer,node,sep){printer.printJoin(node.types,node,{separator:function separator(){this.space();this.token(sep);this.space();}});}function TSConditionalType(node){this.print(node.checkType);this.space();this.word("extends");this.space();this.print(node.extendsType);this.space();this.tokenChar(63);this.space();this.print(node.trueType);this.space();this.tokenChar(58);this.space();this.print(node.falseType);}function TSInferType(node){this.token("infer");this.space();this.print(node.typeParameter);}function TSParenthesizedType(node){this.tokenChar(40);this.print(node.typeAnnotation,node);this.tokenChar(41);}function TSTypeOperator(node){this.word(node.operator);this.space();this.print(node.typeAnnotation,node);}function TSIndexedAccessType(node){this.print(node.objectType,node,true);this.tokenChar(91);this.print(node.indexType,node);this.tokenChar(93);}function TSMappedType(node){var nameType=node.nameType,optional=node.optional,readonly=node.readonly,typeParameter=node.typeParameter;this.tokenChar(123);this.space();if(readonly){tokenIfPlusMinus(this,readonly);this.word("readonly");this.space();}this.tokenChar(91);this.word(typeParameter.name);this.space();this.word("in");this.space();this.print(typeParameter.constraint,typeParameter);if(nameType){this.space();this.word("as");this.space();this.print(nameType,node);}this.tokenChar(93);if(optional){tokenIfPlusMinus(this,optional);this.tokenChar(63);}this.tokenChar(58);this.space();this.print(node.typeAnnotation,node);this.space();this.tokenChar(125);}function tokenIfPlusMinus(self,tok){if(tok!==true){self.token(tok);}}function TSLiteralType(node){this.print(node.literal,node);}function TSExpressionWithTypeArguments(node){this.print(node.expression,node);this.print(node.typeParameters,node);}function TSInterfaceDeclaration(node){var declare=node.declare,id=node.id,typeParameters=node.typeParameters,extendz=node["extends"],body=node.body;if(declare){this.word("declare");this.space();}this.word("interface");this.space();this.print(id,node);this.print(typeParameters,node);if(extendz!=null&&extendz.length){this.space();this.word("extends");this.space();this.printList(extendz,node);}this.space();this.print(body,node);}function TSInterfaceBody(node){this.tsPrintTypeLiteralOrInterfaceBody(node.body,node);}function TSTypeAliasDeclaration(node){var declare=node.declare,id=node.id,typeParameters=node.typeParameters,typeAnnotation=node.typeAnnotation;if(declare){this.word("declare");this.space();}this.word("type");this.space();this.print(id,node);this.print(typeParameters,node);this.space();this.tokenChar(61);this.space();this.print(typeAnnotation,node);this.tokenChar(59);}function TSTypeExpression(node){var _expression$trailingC;var type=node.type,expression=node.expression,typeAnnotation=node.typeAnnotation;var forceParens=!!((_expression$trailingC=expression.trailingComments)!=null&&_expression$trailingC.length);this.print(expression,node,true,undefined,forceParens);this.space();this.word(type==="TSAsExpression"?"as":"satisfies");this.space();this.print(typeAnnotation,node);}function TSTypeAssertion(node){var typeAnnotation=node.typeAnnotation,expression=node.expression;this.tokenChar(60);this.print(typeAnnotation,node);this.tokenChar(62);this.space();this.print(expression,node);}function TSInstantiationExpression(node){this.print(node.expression,node);this.print(node.typeParameters,node);}function TSEnumDeclaration(node){var declare=node.declare,isConst=node["const"],id=node.id,members=node.members;if(declare){this.word("declare");this.space();}if(isConst){this.word("const");this.space();}this.word("enum");this.space();this.print(id,node);this.space();tsPrintBraced(this,members,node);}function TSEnumMember(node){var id=node.id,initializer=node.initializer;this.print(id,node);if(initializer){this.space();this.tokenChar(61);this.space();this.print(initializer,node);}this.tokenChar(44);}function TSModuleDeclaration(node){var declare=node.declare,id=node.id;if(declare){this.word("declare");this.space();}if(!node.global){this.word(id.type==="Identifier"?"namespace":"module");this.space();}this.print(id,node);if(!node.body){this.tokenChar(59);return;}var body=node.body;while(body.type==="TSModuleDeclaration"){this.tokenChar(46);this.print(body.id,body);body=body.body;}this.space();this.print(body,node);}function TSModuleBlock(node){tsPrintBraced(this,node.body,node);}function TSImportType(node){var argument=node.argument,qualifier=node.qualifier,typeParameters=node.typeParameters;this.word("import");this.tokenChar(40);this.print(argument,node);this.tokenChar(41);if(qualifier){this.tokenChar(46);this.print(qualifier,node);}if(typeParameters){this.print(typeParameters,node);}}function TSImportEqualsDeclaration(node){var isExport=node.isExport,id=node.id,moduleReference=node.moduleReference;if(isExport){this.word("export");this.space();}this.word("import");this.space();this.print(id,node);this.space();this.tokenChar(61);this.space();this.print(moduleReference,node);this.tokenChar(59);}function TSExternalModuleReference(node){this.token("require(");this.print(node.expression,node);this.tokenChar(41);}function TSNonNullExpression$1(node){this.print(node.expression,node);this.tokenChar(33);}function TSExportAssignment(node){this.word("export");this.space();this.tokenChar(61);this.space();this.print(node.expression,node);this.tokenChar(59);}function TSNamespaceExportDeclaration(node){this.word("export");this.space();this.word("as");this.space();this.word("namespace");this.space();this.print(node.id,node);}function tsPrintSignatureDeclarationBase(node){var typeParameters=node.typeParameters;var parameters=node.parameters;this.print(typeParameters,node);this.tokenChar(40);this._parameters(parameters,node);this.tokenChar(41);var returnType=node.typeAnnotation;this.print(returnType,node);}function tsPrintClassMemberModifiers(node){var isField=node.type==="ClassAccessorProperty"||node.type==="ClassProperty";if(isField&&node.declare){this.word("declare");this.space();}if(node.accessibility){this.word(node.accessibility);this.space();}if(node["static"]){this.word("static");this.space();}if(node.override){this.word("override");this.space();}if(node["abstract"]){this.word("abstract");this.space();}if(isField&&node.readonly){this.word("readonly");this.space();}}var generatorFunctions=/*#__PURE__*/Object.freeze({__proto__:null,AnyTypeAnnotation:AnyTypeAnnotation,ArgumentPlaceholder:ArgumentPlaceholder,ArrayExpression:ArrayExpression$1,ArrayPattern:ArrayExpression$1,ArrayTypeAnnotation:ArrayTypeAnnotation,ArrowFunctionExpression:ArrowFunctionExpression,AssignmentExpression:AssignmentExpression$1,AssignmentPattern:AssignmentPattern,AwaitExpression:AwaitExpression,BigIntLiteral:BigIntLiteral,BinaryExpression:AssignmentExpression$1,BindExpression:BindExpression,BlockStatement:BlockStatement,BooleanLiteral:BooleanLiteral$1,BooleanLiteralTypeAnnotation:BooleanLiteralTypeAnnotation,BooleanTypeAnnotation:BooleanTypeAnnotation,BreakStatement:BreakStatement,CallExpression:CallExpression$1,CatchClause:CatchClause,ClassAccessorProperty:ClassAccessorProperty,ClassBody:ClassBody,ClassDeclaration:ClassDeclaration,ClassExpression:ClassDeclaration,ClassImplements:InterfaceExtends,ClassMethod:ClassMethod,ClassPrivateMethod:ClassPrivateMethod,ClassPrivateProperty:ClassPrivateProperty,ClassProperty:ClassProperty,ConditionalExpression:ConditionalExpression$1,ContinueStatement:ContinueStatement,DebuggerStatement:DebuggerStatement,DecimalLiteral:DecimalLiteral,DeclareClass:DeclareClass,DeclareExportAllDeclaration:DeclareExportAllDeclaration,DeclareExportDeclaration:DeclareExportDeclaration,DeclareFunction:DeclareFunction,DeclareInterface:DeclareInterface,DeclareModule:DeclareModule,DeclareModuleExports:DeclareModuleExports,DeclareOpaqueType:DeclareOpaqueType,DeclareTypeAlias:DeclareTypeAlias,DeclareVariable:DeclareVariable,DeclaredPredicate:DeclaredPredicate,Decorator:Decorator,Directive:Directive,DirectiveLiteral:DirectiveLiteral,DoExpression:DoExpression,DoWhileStatement:DoWhileStatement,EmptyStatement:EmptyStatement,EmptyTypeAnnotation:EmptyTypeAnnotation,EnumBooleanBody:EnumBooleanBody,EnumBooleanMember:EnumBooleanMember,EnumDeclaration:EnumDeclaration,EnumDefaultedMember:EnumDefaultedMember,EnumNumberBody:EnumNumberBody,EnumNumberMember:EnumNumberMember,EnumStringBody:EnumStringBody,EnumStringMember:EnumStringMember,EnumSymbolBody:EnumSymbolBody,ExistsTypeAnnotation:ExistsTypeAnnotation,ExportAllDeclaration:ExportAllDeclaration,ExportDefaultDeclaration:ExportDefaultDeclaration,ExportDefaultSpecifier:ExportDefaultSpecifier,ExportNamedDeclaration:ExportNamedDeclaration,ExportNamespaceSpecifier:ExportNamespaceSpecifier,ExportSpecifier:ExportSpecifier,ExpressionStatement:ExpressionStatement,File:File$1,ForInStatement:ForInStatement,ForOfStatement:ForOfStatement,ForStatement:ForStatement,FunctionDeclaration:FunctionExpression,FunctionExpression:FunctionExpression,FunctionTypeAnnotation:FunctionTypeAnnotation,FunctionTypeParam:FunctionTypeParam,GenericTypeAnnotation:InterfaceExtends,Identifier:Identifier,IfStatement:IfStatement,Import:Import,ImportAttribute:ImportAttribute,ImportDeclaration:ImportDeclaration,ImportDefaultSpecifier:ImportDefaultSpecifier,ImportExpression:ImportExpression,ImportNamespaceSpecifier:ImportNamespaceSpecifier,ImportSpecifier:ImportSpecifier,IndexedAccessType:IndexedAccessType,InferredPredicate:InferredPredicate,InterfaceDeclaration:InterfaceDeclaration,InterfaceExtends:InterfaceExtends,InterfaceTypeAnnotation:InterfaceTypeAnnotation,InterpreterDirective:InterpreterDirective,IntersectionTypeAnnotation:IntersectionTypeAnnotation,JSXAttribute:JSXAttribute,JSXClosingElement:JSXClosingElement,JSXClosingFragment:JSXClosingFragment,JSXElement:JSXElement,JSXEmptyExpression:JSXEmptyExpression,JSXExpressionContainer:JSXExpressionContainer,JSXFragment:JSXFragment,JSXIdentifier:JSXIdentifier,JSXMemberExpression:JSXMemberExpression,JSXNamespacedName:JSXNamespacedName,JSXOpeningElement:JSXOpeningElement,JSXOpeningFragment:JSXOpeningFragment,JSXSpreadAttribute:JSXSpreadAttribute,JSXSpreadChild:JSXSpreadChild,JSXText:JSXText,LabeledStatement:LabeledStatement,LogicalExpression:AssignmentExpression$1,MemberExpression:MemberExpression,MetaProperty:MetaProperty,MixedTypeAnnotation:MixedTypeAnnotation,ModuleExpression:ModuleExpression,NewExpression:NewExpression$1,NullLiteral:NullLiteral$1,NullLiteralTypeAnnotation:NullLiteralTypeAnnotation,NullableTypeAnnotation:NullableTypeAnnotation,NumberLiteralTypeAnnotation:NumericLiteral$1,NumberTypeAnnotation:NumberTypeAnnotation,NumericLiteral:NumericLiteral$1,ObjectExpression:ObjectExpression$1,ObjectMethod:ObjectMethod,ObjectPattern:ObjectExpression$1,ObjectProperty:ObjectProperty,ObjectTypeAnnotation:ObjectTypeAnnotation,ObjectTypeCallProperty:ObjectTypeCallProperty,ObjectTypeIndexer:ObjectTypeIndexer,ObjectTypeInternalSlot:ObjectTypeInternalSlot,ObjectTypeProperty:ObjectTypeProperty,ObjectTypeSpreadProperty:ObjectTypeSpreadProperty,OpaqueType:OpaqueType,OptionalCallExpression:OptionalCallExpression,OptionalIndexedAccessType:OptionalIndexedAccessType,OptionalMemberExpression:OptionalMemberExpression,ParenthesizedExpression:ParenthesizedExpression$1,PipelineBareFunction:PipelineBareFunction,PipelinePrimaryTopicReference:PipelinePrimaryTopicReference,PipelineTopicExpression:PipelineTopicExpression,Placeholder:Placeholder,PrivateName:PrivateName,Program:Program,QualifiedTypeIdentifier:QualifiedTypeIdentifier,RecordExpression:RecordExpression,RegExpLiteral:RegExpLiteral$1,RestElement:RestElement$1,ReturnStatement:ReturnStatement,SequenceExpression:SequenceExpression$1,SpreadElement:RestElement$1,StaticBlock:StaticBlock,StringLiteral:StringLiteral$1,StringLiteralTypeAnnotation:StringLiteral$1,StringTypeAnnotation:StringTypeAnnotation,Super:Super,SwitchCase:SwitchCase,SwitchStatement:SwitchStatement,SymbolTypeAnnotation:SymbolTypeAnnotation,TSAnyKeyword:TSAnyKeyword,TSArrayType:TSArrayType,TSAsExpression:TSTypeExpression,TSBigIntKeyword:TSBigIntKeyword,TSBooleanKeyword:TSBooleanKeyword,TSCallSignatureDeclaration:TSCallSignatureDeclaration,TSConditionalType:TSConditionalType,TSConstructSignatureDeclaration:TSConstructSignatureDeclaration,TSConstructorType:TSConstructorType,TSDeclareFunction:TSDeclareFunction,TSDeclareMethod:TSDeclareMethod,TSEnumDeclaration:TSEnumDeclaration,TSEnumMember:TSEnumMember,TSExportAssignment:TSExportAssignment,TSExpressionWithTypeArguments:TSExpressionWithTypeArguments,TSExternalModuleReference:TSExternalModuleReference,TSFunctionType:TSFunctionType,TSImportEqualsDeclaration:TSImportEqualsDeclaration,TSImportType:TSImportType,TSIndexSignature:TSIndexSignature,TSIndexedAccessType:TSIndexedAccessType,TSInferType:TSInferType,TSInstantiationExpression:TSInstantiationExpression,TSInterfaceBody:TSInterfaceBody,TSInterfaceDeclaration:TSInterfaceDeclaration,TSIntersectionType:TSIntersectionType,TSIntrinsicKeyword:TSIntrinsicKeyword,TSLiteralType:TSLiteralType,TSMappedType:TSMappedType,TSMethodSignature:TSMethodSignature,TSModuleBlock:TSModuleBlock,TSModuleDeclaration:TSModuleDeclaration,TSNamedTupleMember:TSNamedTupleMember,TSNamespaceExportDeclaration:TSNamespaceExportDeclaration,TSNeverKeyword:TSNeverKeyword,TSNonNullExpression:TSNonNullExpression$1,TSNullKeyword:TSNullKeyword,TSNumberKeyword:TSNumberKeyword,TSObjectKeyword:TSObjectKeyword,TSOptionalType:TSOptionalType,TSParameterProperty:TSParameterProperty,TSParenthesizedType:TSParenthesizedType,TSPropertySignature:TSPropertySignature,TSQualifiedName:TSQualifiedName,TSRestType:TSRestType,TSSatisfiesExpression:TSTypeExpression,TSStringKeyword:TSStringKeyword,TSSymbolKeyword:TSSymbolKeyword,TSThisType:TSThisType,TSTupleType:TSTupleType,TSTypeAliasDeclaration:TSTypeAliasDeclaration,TSTypeAnnotation:TSTypeAnnotation,TSTypeAssertion:TSTypeAssertion,TSTypeLiteral:TSTypeLiteral,TSTypeOperator:TSTypeOperator,TSTypeParameter:TSTypeParameter,TSTypeParameterDeclaration:TSTypeParameterInstantiation,TSTypeParameterInstantiation:TSTypeParameterInstantiation,TSTypePredicate:TSTypePredicate,TSTypeQuery:TSTypeQuery,TSTypeReference:TSTypeReference,TSUndefinedKeyword:TSUndefinedKeyword,TSUnionType:TSUnionType,TSUnknownKeyword:TSUnknownKeyword,TSVoidKeyword:TSVoidKeyword,TaggedTemplateExpression:TaggedTemplateExpression$1,TemplateElement:TemplateElement,TemplateLiteral:TemplateLiteral$1,ThisExpression:ThisExpression,ThisTypeAnnotation:ThisTypeAnnotation,ThrowStatement:ThrowStatement,TopicReference:TopicReference,TryStatement:TryStatement,TupleExpression:TupleExpression,TupleTypeAnnotation:TupleTypeAnnotation,TypeAlias:TypeAlias,TypeAnnotation:TypeAnnotation,TypeCastExpression:TypeCastExpression$1,TypeParameter:TypeParameter,TypeParameterDeclaration:TypeParameterInstantiation,TypeParameterInstantiation:TypeParameterInstantiation,TypeofTypeAnnotation:TypeofTypeAnnotation,UnaryExpression:UnaryExpression$1,UnionTypeAnnotation:UnionTypeAnnotation,UpdateExpression:UpdateExpression$1,V8IntrinsicIdentifier:V8IntrinsicIdentifier,VariableDeclaration:VariableDeclaration,VariableDeclarator:VariableDeclarator$1,Variance:Variance,VoidTypeAnnotation:VoidTypeAnnotation,WhileStatement:WhileStatement,WithStatement:WithStatement,YieldExpression:YieldExpression,_classMethodHead:_classMethodHead,_functionHead:_functionHead,_interfaceish:_interfaceish,_methodHead:_methodHead,_param:_param,_parameters:_parameters,_params:_params,_predicate:_predicate,_printAttributes:_printAttributes,_shouldPrintDecoratorsBeforeExport:_shouldPrintDecoratorsBeforeExport,_variance:_variance,tsPrintClassMemberModifiers:tsPrintClassMemberModifiers,tsPrintFunctionOrConstructorType:tsPrintFunctionOrConstructorType,tsPrintPropertyOrMethodName:tsPrintPropertyOrMethodName,tsPrintSignatureDeclarationBase:tsPrintSignatureDeclarationBase,tsPrintTypeLiteralOrInterfaceBody:tsPrintTypeLiteralOrInterfaceBody});var isFunction$3=isFunction$5,isStatement$3=isStatement$8,isClassBody=isClassBody$2,isTSInterfaceBody=isTSInterfaceBody$1,isTSEnumDeclaration=isTSEnumDeclaration$1;var SCIENTIFIC_NOTATION=/e/i;var ZERO_DECIMAL_INTEGER=/\.0+$/;var HAS_NEWLINE=/[\n\r\u2028\u2029]/;var HAS_NEWLINE_OR_BlOCK_COMMENT_END=/[\n\r\u2028\u2029]|\*\//;var needsParens=needsParens$1;var Printer=function(){function Printer(format,map){this.inForStatementInitCounter=0;this._printStack=[];this._indent=0;this._indentRepeat=0;this._insideAux=false;this._parenPushNewlineState=null;this._noLineTerminator=false;this._printAuxAfterOnNextUserNode=false;this._printedComments=new Set();this._endsWithInteger=false;this._endsWithWord=false;this._lastCommentLine=0;this._endsWithInnerRaw=false;this._indentInnerComments=true;this.format=format;this._indentRepeat=format.indent.style.length;this._inputMap=map==null?void 0:map._inputMap;this._buf=new Buffer(map,format.indent.style[0]);}var _proto=Printer.prototype;_proto.generate=function generate(ast){this.print(ast);this._maybeAddAuxComment();return this._buf.get();};_proto.indent=function indent(){if(this.format.compact||this.format.concise)return;this._indent++;};_proto.dedent=function dedent(){if(this.format.compact||this.format.concise)return;this._indent--;};_proto.semicolon=function semicolon(force){if(force===void 0){force=false;}this._maybeAddAuxComment();if(force){this._appendChar(59);}else{this._queue(59);}this._noLineTerminator=false;};_proto.rightBrace=function rightBrace(node){if(this.format.minified){this._buf.removeLastSemicolon();}this.sourceWithOffset("end",node.loc,-1);this.tokenChar(125);};_proto.rightParens=function rightParens(node){this.sourceWithOffset("end",node.loc,-1);this.tokenChar(41);};_proto.space=function space(force){if(force===void 0){force=false;}if(this.format.compact)return;if(force){this._space();}else if(this._buf.hasContent()){var lastCp=this.getLastChar();if(lastCp!==32&&lastCp!==10){this._space();}}};_proto.word=function word(str,noLineTerminatorAfter){if(noLineTerminatorAfter===void 0){noLineTerminatorAfter=false;}this._maybePrintInnerComments();if(this._endsWithWord||str.charCodeAt(0)===47&&this.endsWith(47)){this._space();}this._maybeAddAuxComment();this._append(str,false);this._endsWithWord=true;this._noLineTerminator=noLineTerminatorAfter;};_proto.number=function number(str,_number){function isNonDecimalLiteral(str){if(str.length>2&&str.charCodeAt(0)===48){var secondChar=str.charCodeAt(1);return secondChar===98||secondChar===111||secondChar===120;}return false;}this.word(str);this._endsWithInteger=Number.isInteger(_number)&&!isNonDecimalLiteral(str)&&!SCIENTIFIC_NOTATION.test(str)&&!ZERO_DECIMAL_INTEGER.test(str)&&str.charCodeAt(str.length-1)!==46;};_proto.token=function token(str,maybeNewline){if(maybeNewline===void 0){maybeNewline=false;}this._maybePrintInnerComments();var lastChar=this.getLastChar();var strFirst=str.charCodeAt(0);if(lastChar===33&&(str==="--"||strFirst===61)||strFirst===43&&lastChar===43||strFirst===45&&lastChar===45||strFirst===46&&this._endsWithInteger){this._space();}this._maybeAddAuxComment();this._append(str,maybeNewline);this._noLineTerminator=false;};_proto.tokenChar=function tokenChar(_char){this._maybePrintInnerComments();var lastChar=this.getLastChar();if(_char===43&&lastChar===43||_char===45&&lastChar===45||_char===46&&this._endsWithInteger){this._space();}this._maybeAddAuxComment();this._appendChar(_char);this._noLineTerminator=false;};_proto.newline=function newline(i,force){if(i===void 0){i=1;}if(i<=0)return;if(!force){if(this.format.retainLines||this.format.compact)return;if(this.format.concise){this.space();return;}}if(i>2)i=2;i-=this._buf.getNewlineCount();for(var j=0;j<i;j++){this._newline();}return;};_proto.endsWith=function endsWith(_char2){return this.getLastChar()===_char2;};_proto.getLastChar=function getLastChar(){return this._buf.getLastChar();};_proto.endsWithCharAndNewline=function endsWithCharAndNewline(){return this._buf.endsWithCharAndNewline();};_proto.removeTrailingNewline=function removeTrailingNewline(){this._buf.removeTrailingNewline();};_proto.exactSource=function exactSource(loc,cb){if(!loc){cb();return;}this._catchUp("start",loc);this._buf.exactSource(loc,cb);};_proto.source=function source(prop,loc){if(!loc)return;this._catchUp(prop,loc);this._buf.source(prop,loc);};_proto.sourceWithOffset=function sourceWithOffset(prop,loc,columnOffset){if(!loc)return;this._catchUp(prop,loc);this._buf.sourceWithOffset(prop,loc,columnOffset);};_proto.withSource=function withSource(prop,loc,cb){if(!loc){cb();return;}this._catchUp(prop,loc);this._buf.withSource(prop,loc,cb);};_proto.sourceIdentifierName=function sourceIdentifierName(identifierName,pos){if(!this._buf._canMarkIdName)return;var sourcePosition=this._buf._sourcePosition;sourcePosition.identifierNamePos=pos;sourcePosition.identifierName=identifierName;};_proto._space=function _space(){this._queue(32);};_proto._newline=function _newline(){this._queue(10);};_proto._append=function _append(str,maybeNewline){this._maybeAddParen(str);this._maybeIndent(str.charCodeAt(0));this._buf.append(str,maybeNewline);this._endsWithWord=false;this._endsWithInteger=false;};_proto._appendChar=function _appendChar(_char3){this._maybeAddParenChar(_char3);this._maybeIndent(_char3);this._buf.appendChar(_char3);this._endsWithWord=false;this._endsWithInteger=false;};_proto._queue=function _queue(_char4){this._maybeAddParenChar(_char4);this._maybeIndent(_char4);this._buf.queue(_char4);this._endsWithWord=false;this._endsWithInteger=false;};_proto._maybeIndent=function _maybeIndent(firstChar){if(this._indent&&firstChar!==10&&this.endsWith(10)){this._buf.queueIndentation(this._getIndent());}};_proto._shouldIndent=function _shouldIndent(firstChar){if(this._indent&&firstChar!==10&&this.endsWith(10)){return true;}};_proto._maybeAddParenChar=function _maybeAddParenChar(_char5){var parenPushNewlineState=this._parenPushNewlineState;if(!parenPushNewlineState)return;if(_char5===32){return;}if(_char5!==10){this._parenPushNewlineState=null;return;}this.tokenChar(40);this.indent();parenPushNewlineState.printed=true;};_proto._maybeAddParen=function _maybeAddParen(str){var parenPushNewlineState=this._parenPushNewlineState;if(!parenPushNewlineState)return;var len=str.length;var i;for(i=0;i<len&&str.charCodeAt(i)===32;i++)continue;if(i===len){return;}var cha=str.charCodeAt(i);if(cha!==10){if(cha!==47||i+1===len){this._parenPushNewlineState=null;return;}var chaPost=str.charCodeAt(i+1);if(chaPost===42){return;}else if(chaPost!==47){this._parenPushNewlineState=null;return;}}this.tokenChar(40);this.indent();parenPushNewlineState.printed=true;};_proto.catchUp=function catchUp(line){if(!this.format.retainLines)return;var count=line-this._buf.getCurrentLine();for(var i=0;i<count;i++){this._newline();}};_proto._catchUp=function _catchUp(prop,loc){var _loc$prop;if(!this.format.retainLines)return;var line=loc==null||(_loc$prop=loc[prop])==null?void 0:_loc$prop.line;if(line!=null){var count=line-this._buf.getCurrentLine();for(var i=0;i<count;i++){this._newline();}}};_proto._getIndent=function _getIndent(){return this._indentRepeat*this._indent;};_proto.printTerminatorless=function printTerminatorless(node,parent,isLabel){if(isLabel){this._noLineTerminator=true;this.print(node,parent);}else{var terminatorState={printed:false};this._parenPushNewlineState=terminatorState;this.print(node,parent);if(terminatorState.printed){this.dedent();this.newline();this.tokenChar(41);}}};_proto.print=function print(node,parent,noLineTerminatorAfter,trailingCommentsLineOffset,forceParens){var _node$extra,_node$leadingComments;if(!node)return;this._endsWithInnerRaw=false;var nodeType=node.type;var format=this.format;var oldConcise=format.concise;if(node._compact){format.concise=true;}var printMethod=this[nodeType];if(printMethod===undefined){throw new ReferenceError("unknown node of type "+JSON.stringify(nodeType)+" with constructor "+JSON.stringify(node.constructor.name));}this._printStack.push(node);var oldInAux=this._insideAux;this._insideAux=node.loc==undefined;this._maybeAddAuxComment(this._insideAux&&!oldInAux);var parenthesized=(_node$extra=node.extra)==null?void 0:_node$extra.parenthesized;var shouldPrintParens=forceParens||parenthesized&&format.retainFunctionParens&&nodeType==="FunctionExpression"||needsParens(node,parent,this._printStack);if(!shouldPrintParens&&parenthesized&&(_node$leadingComments=node.leadingComments)!=null&&_node$leadingComments.length&&node.leadingComments[0].type==="CommentBlock"){var parentType=parent==null?void 0:parent.type;switch(parentType){case"ExpressionStatement":case"VariableDeclarator":case"AssignmentExpression":case"ReturnStatement":break;case"CallExpression":case"OptionalCallExpression":case"NewExpression":if(parent.callee!==node)break;default:shouldPrintParens=true;}}if(shouldPrintParens){this.tokenChar(40);this._endsWithInnerRaw=false;}this._lastCommentLine=0;this._printLeadingComments(node,parent);var loc=nodeType==="Program"||nodeType==="File"?null:node.loc;this.exactSource(loc,printMethod.bind(this,node,parent));if(shouldPrintParens){this._printTrailingComments(node,parent);this.tokenChar(41);this._noLineTerminator=noLineTerminatorAfter;}else if(noLineTerminatorAfter&&!this._noLineTerminator){this._noLineTerminator=true;this._printTrailingComments(node,parent);}else{this._printTrailingComments(node,parent,trailingCommentsLineOffset);}this._printStack.pop();format.concise=oldConcise;this._insideAux=oldInAux;this._endsWithInnerRaw=false;};_proto._maybeAddAuxComment=function _maybeAddAuxComment(enteredPositionlessNode){if(enteredPositionlessNode)this._printAuxBeforeComment();if(!this._insideAux)this._printAuxAfterComment();};_proto._printAuxBeforeComment=function _printAuxBeforeComment(){if(this._printAuxAfterOnNextUserNode)return;this._printAuxAfterOnNextUserNode=true;var comment=this.format.auxiliaryCommentBefore;if(comment){this._printComment({type:"CommentBlock",value:comment},0);}};_proto._printAuxAfterComment=function _printAuxAfterComment(){if(!this._printAuxAfterOnNextUserNode)return;this._printAuxAfterOnNextUserNode=false;var comment=this.format.auxiliaryCommentAfter;if(comment){this._printComment({type:"CommentBlock",value:comment},0);}};_proto.getPossibleRaw=function getPossibleRaw(node){var extra=node.extra;if((extra==null?void 0:extra.raw)!=null&&extra.rawValue!=null&&node.value===extra.rawValue){return extra.raw;}};_proto.printJoin=function printJoin(nodes,parent,opts){if(opts===void 0){opts={};}if(!(nodes!=null&&nodes.length))return;var _opts=opts,indent=_opts.indent;if(indent==null&&this.format.retainLines){var _nodes$0$loc;var startLine=(_nodes$0$loc=nodes[0].loc)==null?void 0:_nodes$0$loc.start.line;if(startLine!=null&&startLine!==this._buf.getCurrentLine()){indent=true;}}if(indent)this.indent();var newlineOpts={addNewlines:opts.addNewlines,nextNodeStartLine:0};var separator=opts.separator?opts.separator.bind(this):null;var len=nodes.length;for(var i=0;i<len;i++){var _node=nodes[i];if(!_node)continue;if(opts.statement)this._printNewline(i===0,newlineOpts);this.print(_node,parent,undefined,opts.trailingCommentsLineOffset||0);opts.iterator==null||opts.iterator(_node,i);if(i<len-1)separator==null||separator();if(opts.statement){var _node$trailingComment;if(!((_node$trailingComment=_node.trailingComments)!=null&&_node$trailingComment.length)){this._lastCommentLine=0;}if(i+1===len){this.newline(1);}else{var _nextNode$loc;var nextNode=nodes[i+1];newlineOpts.nextNodeStartLine=((_nextNode$loc=nextNode.loc)==null?void 0:_nextNode$loc.start.line)||0;this._printNewline(true,newlineOpts);}}}if(indent)this.dedent();};_proto.printAndIndentOnComments=function printAndIndentOnComments(node,parent){var indent=node.leadingComments&&node.leadingComments.length>0;if(indent)this.indent();this.print(node,parent);if(indent)this.dedent();};_proto.printBlock=function printBlock(parent){var node=parent.body;if(node.type!=="EmptyStatement"){this.space();}this.print(node,parent);};_proto._printTrailingComments=function _printTrailingComments(node,parent,lineOffset){var innerComments=node.innerComments,trailingComments=node.trailingComments;if(innerComments!=null&&innerComments.length){this._printComments(2,innerComments,node,parent,lineOffset);}if(trailingComments!=null&&trailingComments.length){this._printComments(2,trailingComments,node,parent,lineOffset);}};_proto._printLeadingComments=function _printLeadingComments(node,parent){var comments=node.leadingComments;if(!(comments!=null&&comments.length))return;this._printComments(0,comments,node,parent);};_proto._maybePrintInnerComments=function _maybePrintInnerComments(){if(this._endsWithInnerRaw)this.printInnerComments();this._endsWithInnerRaw=true;this._indentInnerComments=true;};_proto.printInnerComments=function printInnerComments(){var node=this._printStack[this._printStack.length-1];var comments=node.innerComments;if(!(comments!=null&&comments.length))return;var hasSpace=this.endsWith(32);var indent=this._indentInnerComments;var printedCommentsCount=this._printedComments.size;if(indent)this.indent();this._printComments(1,comments,node);if(hasSpace&&printedCommentsCount!==this._printedComments.size){this.space();}if(indent)this.dedent();};_proto.noIndentInnerCommentsHere=function noIndentInnerCommentsHere(){this._indentInnerComments=false;};_proto.printSequence=function printSequence(nodes,parent,opts){var _opts2,_opts2$indent;if(opts===void 0){opts={};}opts.statement=true;(_opts2$indent=(_opts2=opts).indent)!=null?_opts2$indent:_opts2.indent=false;this.printJoin(nodes,parent,opts);};_proto.printList=function printList(items,parent,opts){if(opts===void 0){opts={};}if(opts.separator==null){opts.separator=commaSeparator;}this.printJoin(items,parent,opts);};_proto._printNewline=function _printNewline(newLine,opts){var format=this.format;if(format.retainLines||format.compact)return;if(format.concise){this.space();return;}if(!newLine){return;}var startLine=opts.nextNodeStartLine;var lastCommentLine=this._lastCommentLine;if(startLine>0&&lastCommentLine>0){var offset=startLine-lastCommentLine;if(offset>=0){this.newline(offset||1);return;}}if(this._buf.hasContent()){this.newline(1);}};_proto._shouldPrintComment=function _shouldPrintComment(comment){if(comment.ignore)return 0;if(this._printedComments.has(comment))return 0;if(this._noLineTerminator&&HAS_NEWLINE_OR_BlOCK_COMMENT_END.test(comment.value)){return 2;}this._printedComments.add(comment);if(!this.format.shouldPrintComment(comment.value)){return 0;}return 1;};_proto._printComment=function _printComment(comment,skipNewLines){var noLineTerminator=this._noLineTerminator;var isBlockComment=comment.type==="CommentBlock";var printNewLines=isBlockComment&&skipNewLines!==1&&!this._noLineTerminator;if(printNewLines&&this._buf.hasContent()&&skipNewLines!==2){this.newline(1);}var lastCharCode=this.getLastChar();if(lastCharCode!==91&&lastCharCode!==123){this.space();}var val;if(isBlockComment){var _parenPushNewlineState=this._parenPushNewlineState;if((_parenPushNewlineState==null?void 0:_parenPushNewlineState.printed)===false&&HAS_NEWLINE.test(comment.value)){this.tokenChar(40);this.indent();_parenPushNewlineState.printed=true;}val="/*"+comment.value+"*/";if(this.format.indent.adjustMultilineComment){var _comment$loc;var offset=(_comment$loc=comment.loc)==null?void 0:_comment$loc.start.column;if(offset){var newlineRegex=new RegExp("\\n\\s{1,"+offset+"}","g");val=val.replace(newlineRegex,"\n");}if(this.format.concise){val=val.replace(/\n(?!$)/g,"\n");}else{var indentSize=this.format.retainLines?0:this._buf.getCurrentColumn();if(this._shouldIndent(47)||this.format.retainLines){indentSize+=this._getIndent();}val=val.replace(/\n(?!$)/g,"\n"+" ".repeat(indentSize));}}}else if(!noLineTerminator){val="//"+comment.value;}else{val="/*"+comment.value+"*/";}if(this.endsWith(47))this._space();this.source("start",comment.loc);this._append(val,isBlockComment);if(!isBlockComment&&!noLineTerminator){this.newline(1,true);}if(printNewLines&&skipNewLines!==3){this.newline(1);}};_proto._printComments=function _printComments(type,comments,node,parent,lineOffset){if(lineOffset===void 0){lineOffset=0;}var nodeLoc=node.loc;var len=comments.length;var hasLoc=!!nodeLoc;var nodeStartLine=hasLoc?nodeLoc.start.line:0;var nodeEndLine=hasLoc?nodeLoc.end.line:0;var lastLine=0;var leadingCommentNewline=0;var maybeNewline=this._noLineTerminator?function(){}:this.newline.bind(this);for(var i=0;i<len;i++){var _comment=comments[i];var shouldPrint=this._shouldPrintComment(_comment);if(shouldPrint===2){hasLoc=false;break;}if(hasLoc&&_comment.loc&&shouldPrint===1){var commentStartLine=_comment.loc.start.line;var commentEndLine=_comment.loc.end.line;if(type===0){var offset=0;if(i===0){if(this._buf.hasContent()&&(_comment.type==="CommentLine"||commentStartLine!=commentEndLine)){offset=leadingCommentNewline=1;}}else{offset=commentStartLine-lastLine;}lastLine=commentEndLine;maybeNewline(offset);this._printComment(_comment,1);if(i+1===len){maybeNewline(Math.max(nodeStartLine-lastLine,leadingCommentNewline));lastLine=nodeStartLine;}}else if(type===1){var _offset=commentStartLine-(i===0?nodeStartLine:lastLine);lastLine=commentEndLine;maybeNewline(_offset);this._printComment(_comment,1);if(i+1===len){maybeNewline(Math.min(1,nodeEndLine-lastLine));lastLine=nodeEndLine;}}else{var _offset2=commentStartLine-(i===0?nodeEndLine-lineOffset:lastLine);lastLine=commentEndLine;maybeNewline(_offset2);this._printComment(_comment,1);}}else{hasLoc=false;if(shouldPrint!==1){continue;}if(len===1){var singleLine=_comment.loc?_comment.loc.start.line===_comment.loc.end.line:!HAS_NEWLINE.test(_comment.value);var shouldSkipNewline=singleLine&&!isStatement$3(node)&&!isClassBody(parent)&&!isTSInterfaceBody(parent)&&!isTSEnumDeclaration(parent);if(type===0){this._printComment(_comment,shouldSkipNewline&&node.type!=="ObjectExpression"||singleLine&&isFunction$3(parent,{body:node})?1:0);}else if(shouldSkipNewline&&type===2){this._printComment(_comment,1);}else{this._printComment(_comment,0);}}else if(type===1&&!(node.type==="ObjectExpression"&&node.properties.length>1)&&node.type!=="ClassBody"&&node.type!=="TSInterfaceBody"){this._printComment(_comment,i===0?2:i===len-1?3:0);}else{this._printComment(_comment,0);}}}if(type===2&&hasLoc&&lastLine){this._lastCommentLine=lastLine;}};return _createClass(Printer);}();Object.assign(Printer.prototype,generatorFunctions);{Printer.prototype.Noop=function Noop(){};}function commaSeparator(){this.tokenChar(44);this.space();}function normalizeOptions$8(code,opts){var _opts$recordAndTupleS;var format={auxiliaryCommentBefore:opts.auxiliaryCommentBefore,auxiliaryCommentAfter:opts.auxiliaryCommentAfter,shouldPrintComment:opts.shouldPrintComment,retainLines:opts.retainLines,retainFunctionParens:opts.retainFunctionParens,comments:opts.comments==null||opts.comments,compact:opts.compact,minified:opts.minified,concise:opts.concise,indent:{adjustMultilineComment:true,style:"  "},jsescOption:Object.assign({quotes:"double",wrap:true,minimal:false},opts.jsescOption),recordAndTupleSyntaxType:(_opts$recordAndTupleS=opts.recordAndTupleSyntaxType)!=null?_opts$recordAndTupleS:"hash",topicToken:opts.topicToken,importAttributesKeyword:opts.importAttributesKeyword};{format.decoratorsBeforeExport=opts.decoratorsBeforeExport;format.jsescOption.json=opts.jsonCompatibleStrings;}if(format.minified){format.compact=true;format.shouldPrintComment=format.shouldPrintComment||function(){return format.comments;};}else{format.shouldPrintComment=format.shouldPrintComment||function(value){return format.comments||value.includes("@license")||value.includes("@preserve");};}if(format.compact==="auto"){format.compact=typeof code==="string"&&code.length>500000;if(format.compact){console.error("[BABEL] Note: The code generator has deoptimised the styling of "+(opts.filename+" as it exceeds the max of "+"500KB"+"."));}}if(format.compact){format.indent.adjustMultilineComment=false;}var auxiliaryCommentBefore=format.auxiliaryCommentBefore,auxiliaryCommentAfter=format.auxiliaryCommentAfter,shouldPrintComment=format.shouldPrintComment;if(auxiliaryCommentBefore&&!shouldPrintComment(auxiliaryCommentBefore)){format.auxiliaryCommentBefore=undefined;}if(auxiliaryCommentAfter&&!shouldPrintComment(auxiliaryCommentAfter)){format.auxiliaryCommentAfter=undefined;}return format;}{exports.CodeGenerator=function(){function CodeGenerator(ast,opts,code){if(opts===void 0){opts={};}this._ast=void 0;this._format=void 0;this._map=void 0;this._ast=ast;this._format=normalizeOptions$8(code,opts);this._map=opts.sourceMaps?new SourceMap$1(opts,code):null;}var _proto=CodeGenerator.prototype;_proto.generate=function generate(){var printer=new Printer(this._format,this._map);return printer.generate(this._ast);};return _createClass(CodeGenerator);}();}function generate$1(ast,opts,code){if(opts===void 0){opts={};}var format=normalizeOptions$8(code,opts);var map=opts.sourceMaps?new SourceMap$1(opts,code):null;var printer=new Printer(format,map);return printer.generate(ast);}var index$4=/*#__PURE__*/Object.freeze({__proto__:null,"default":generate$1});var VISITOR_KEYS$4=VISITOR_KEYS$5;function findParent(callback){var path=this;while(path=path.parentPath){if(callback(path))return path;}return null;}function find$1(callback){var path=this;do{if(callback(path))return path;}while(path=path.parentPath);return null;}function getFunctionParent(){return this.findParent(function(p){return p.isFunction();});}function getStatementParent(){var path=this;do{if(!path.parentPath||Array.isArray(path.container)&&path.isStatement()){break;}else{path=path.parentPath;}}while(path);if(path&&(path.isProgram()||path.isFile())){throw new Error("File/Program node, we can't possibly find a statement parent to this");}return path;}function getEarliestCommonAncestorFrom(paths){return this.getDeepestCommonAncestorFrom(paths,function(deepest,i,ancestries){var earliest;var keys=VISITOR_KEYS$4[deepest.type];for(var _iterator=_createForOfIteratorHelperLoose(ancestries),_step;!(_step=_iterator()).done;){var ancestry=_step.value;var path=ancestry[i+1];if(!earliest){earliest=path;continue;}if(path.listKey&&earliest.listKey===path.listKey){if(path.key<earliest.key){earliest=path;continue;}}var earliestKeyIndex=keys.indexOf(earliest.parentKey);var currentKeyIndex=keys.indexOf(path.parentKey);if(earliestKeyIndex>currentKeyIndex){earliest=path;}}return earliest;});}function getDeepestCommonAncestorFrom(paths,filter){var _this=this;if(!paths.length){return this;}if(paths.length===1){return paths[0];}var minDepth=Infinity;var lastCommonIndex,lastCommon;var ancestries=paths.map(function(path){var ancestry=[];do{ancestry.unshift(path);}while((path=path.parentPath)&&path!==_this);if(ancestry.length<minDepth){minDepth=ancestry.length;}return ancestry;});var first=ancestries[0];depthLoop:for(var _i=0;_i<minDepth;_i++){var shouldMatch=first[_i];for(var _iterator2=_createForOfIteratorHelperLoose(ancestries),_step2;!(_step2=_iterator2()).done;){var ancestry=_step2.value;if(ancestry[_i]!==shouldMatch){break depthLoop;}}lastCommonIndex=_i;lastCommon=shouldMatch;}if(lastCommon){if(filter){return filter(lastCommon,lastCommonIndex,ancestries);}else{return lastCommon;}}else{throw new Error("Couldn't find intersection");}}function getAncestry(){var path=this;var paths=[];do{paths.push(path);}while(path=path.parentPath);return paths;}function isAncestor(maybeDescendant){return maybeDescendant.isDescendant(this);}function isDescendant(maybeAncestor){return!!this.findParent(function(parent){return parent===maybeAncestor;});}function inType(){var path=this;for(var _len=arguments.length,candidateTypes=new Array(_len),_key=0;_key<_len;_key++){candidateTypes[_key]=arguments[_key];}while(path){for(var _iterator3=_createForOfIteratorHelperLoose(candidateTypes),_step3;!(_step3=_iterator3()).done;){var type=_step3.value;if(path.node.type===type)return true;}path=path.parentPath;}return false;}var NodePath_ancestry=/*#__PURE__*/Object.freeze({__proto__:null,find:find$1,findParent:findParent,getAncestry:getAncestry,getDeepestCommonAncestorFrom:getDeepestCommonAncestorFrom,getEarliestCommonAncestorFrom:getEarliestCommonAncestorFrom,getFunctionParent:getFunctionParent,getStatementParent:getStatementParent,inType:inType,isAncestor:isAncestor,isDescendant:isDescendant});var createFlowUnionType=createFlowUnionType$1,createTSUnionType=createTSUnionType$1,createUnionTypeAnnotation=createFlowUnionType$1,isFlowType=isFlowType$1,isTSType=isTSType$1;function createUnionType(types){{if(types.every(function(v){return isFlowType(v);})){if(createFlowUnionType){return createFlowUnionType(types);}return createUnionTypeAnnotation(types);}else if(types.every(function(v){return isTSType(v);})){if(createTSUnionType){return createTSUnionType(types);}}}}var BOOLEAN_NUMBER_BINARY_OPERATORS=BOOLEAN_NUMBER_BINARY_OPERATORS$1,createTypeAnnotationBasedOnTypeof=createTypeAnnotationBasedOnTypeof$1,numberTypeAnnotation$1=numberTypeAnnotation$2,voidTypeAnnotation$2=voidTypeAnnotation$3;function infererReference(node){if(!this.isReferenced())return;var binding=this.scope.getBinding(node.name);if(binding){if(binding.identifier.typeAnnotation){return binding.identifier.typeAnnotation;}else{return getTypeAnnotationBindingConstantViolations(binding,this,node.name);}}if(node.name==="undefined"){return voidTypeAnnotation$2();}else if(node.name==="NaN"||node.name==="Infinity"){return numberTypeAnnotation$1();}else if(node.name==="arguments");}function getTypeAnnotationBindingConstantViolations(binding,path,name){var types=[];var functionConstantViolations=[];var constantViolations=getConstantViolationsBefore(binding,path,functionConstantViolations);var testType=getConditionalAnnotation(binding,path,name);if(testType){var testConstantViolations=getConstantViolationsBefore(binding,testType.ifStatement);constantViolations=constantViolations.filter(function(path){return testConstantViolations.indexOf(path)<0;});types.push(testType.typeAnnotation);}if(constantViolations.length){var _constantViolations;(_constantViolations=constantViolations).push.apply(_constantViolations,functionConstantViolations);for(var _iterator=_createForOfIteratorHelperLoose(constantViolations),_step;!(_step=_iterator()).done;){var violation=_step.value;types.push(violation.getTypeAnnotation());}}if(!types.length){return;}return createUnionType(types);}function getConstantViolationsBefore(binding,path,functions){var violations=binding.constantViolations.slice();violations.unshift(binding.path);return violations.filter(function(violation){violation=violation.resolve();var status=violation._guessExecutionStatusRelativeTo(path);if(functions&&status==="unknown")functions.push(violation);return status==="before";});}function inferAnnotationFromBinaryExpression(name,path){var operator=path.node.operator;var right=path.get("right").resolve();var left=path.get("left").resolve();var target;if(left.isIdentifier({name:name})){target=right;}else if(right.isIdentifier({name:name})){target=left;}if(target){if(operator==="==="){return target.getTypeAnnotation();}if(BOOLEAN_NUMBER_BINARY_OPERATORS.indexOf(operator)>=0){return numberTypeAnnotation$1();}return;}if(operator!=="==="&&operator!=="==")return;var typeofPath;var typePath;if(left.isUnaryExpression({operator:"typeof"})){typeofPath=left;typePath=right;}else if(right.isUnaryExpression({operator:"typeof"})){typeofPath=right;typePath=left;}if(!typeofPath)return;if(!typeofPath.get("argument").isIdentifier({name:name}))return;typePath=typePath.resolve();if(!typePath.isLiteral())return;var typeValue=typePath.node.value;if(typeof typeValue!=="string")return;return createTypeAnnotationBasedOnTypeof(typeValue);}function getParentConditionalPath(binding,path,name){var parentPath;while(parentPath=path.parentPath){if(parentPath.isIfStatement()||parentPath.isConditionalExpression()){if(path.key==="test"){return;}return parentPath;}if(parentPath.isFunction()){if(parentPath.parentPath.scope.getBinding(name)!==binding)return;}path=parentPath;}}function getConditionalAnnotation(binding,path,name){var ifStatement=getParentConditionalPath(binding,path,name);if(!ifStatement)return;var test=ifStatement.get("test");var paths=[test];var types=[];for(var i=0;i<paths.length;i++){var _path=paths[i];if(_path.isLogicalExpression()){if(_path.node.operator==="&&"){paths.push(_path.get("left"));paths.push(_path.get("right"));}}else if(_path.isBinaryExpression()){var type=inferAnnotationFromBinaryExpression(name,_path);if(type)types.push(type);}}if(types.length){return{typeAnnotation:createUnionType(types),ifStatement:ifStatement};}return getConditionalAnnotation(binding,ifStatement,name);}var BOOLEAN_BINARY_OPERATORS=BOOLEAN_BINARY_OPERATORS$1,BOOLEAN_UNARY_OPERATORS=BOOLEAN_UNARY_OPERATORS$1,NUMBER_BINARY_OPERATORS=NUMBER_BINARY_OPERATORS$1,NUMBER_UNARY_OPERATORS=NUMBER_UNARY_OPERATORS$1,STRING_UNARY_OPERATORS=STRING_UNARY_OPERATORS$1,anyTypeAnnotation$1=anyTypeAnnotation$2,arrayTypeAnnotation=arrayTypeAnnotation$1,booleanTypeAnnotation=booleanTypeAnnotation$1,buildMatchMemberExpression=buildMatchMemberExpression$1,genericTypeAnnotation=genericTypeAnnotation$1,identifier$g=identifier$j,nullLiteralTypeAnnotation=nullLiteralTypeAnnotation$1,numberTypeAnnotation=numberTypeAnnotation$2,stringTypeAnnotation$1=stringTypeAnnotation$2,tupleTypeAnnotation=tupleTypeAnnotation$1,unionTypeAnnotation=unionTypeAnnotation$1,voidTypeAnnotation$1=voidTypeAnnotation$3,isIdentifier$d=isIdentifier$j;function VariableDeclarator(){if(!this.get("id").isIdentifier())return;return this.get("init").getTypeAnnotation();}function TypeCastExpression(node){return node.typeAnnotation;}TypeCastExpression.validParent=true;function TSAsExpression(node){return node.typeAnnotation;}TSAsExpression.validParent=true;function TSNonNullExpression(){return this.get("expression").getTypeAnnotation();}function NewExpression(node){if(node.callee.type==="Identifier"){return genericTypeAnnotation(node.callee);}}function TemplateLiteral(){return stringTypeAnnotation$1();}function UnaryExpression(node){var operator=node.operator;if(operator==="void"){return voidTypeAnnotation$1();}else if(NUMBER_UNARY_OPERATORS.indexOf(operator)>=0){return numberTypeAnnotation();}else if(STRING_UNARY_OPERATORS.indexOf(operator)>=0){return stringTypeAnnotation$1();}else if(BOOLEAN_UNARY_OPERATORS.indexOf(operator)>=0){return booleanTypeAnnotation();}}function BinaryExpression(node){var operator=node.operator;if(NUMBER_BINARY_OPERATORS.indexOf(operator)>=0){return numberTypeAnnotation();}else if(BOOLEAN_BINARY_OPERATORS.indexOf(operator)>=0){return booleanTypeAnnotation();}else if(operator==="+"){var right=this.get("right");var left=this.get("left");if(left.isBaseType("number")&&right.isBaseType("number")){return numberTypeAnnotation();}else if(left.isBaseType("string")||right.isBaseType("string")){return stringTypeAnnotation$1();}return unionTypeAnnotation([stringTypeAnnotation$1(),numberTypeAnnotation()]);}}function LogicalExpression(){var argumentTypes=[this.get("left").getTypeAnnotation(),this.get("right").getTypeAnnotation()];return createUnionType(argumentTypes);}function ConditionalExpression(){var argumentTypes=[this.get("consequent").getTypeAnnotation(),this.get("alternate").getTypeAnnotation()];return createUnionType(argumentTypes);}function SequenceExpression(){return this.get("expressions").pop().getTypeAnnotation();}function ParenthesizedExpression(){return this.get("expression").getTypeAnnotation();}function AssignmentExpression(){return this.get("right").getTypeAnnotation();}function UpdateExpression(node){var operator=node.operator;if(operator==="++"||operator==="--"){return numberTypeAnnotation();}}function StringLiteral(){return stringTypeAnnotation$1();}function NumericLiteral(){return numberTypeAnnotation();}function BooleanLiteral(){return booleanTypeAnnotation();}function NullLiteral(){return nullLiteralTypeAnnotation();}function RegExpLiteral(){return genericTypeAnnotation(identifier$g("RegExp"));}function ObjectExpression(){return genericTypeAnnotation(identifier$g("Object"));}function ArrayExpression(){return genericTypeAnnotation(identifier$g("Array"));}function RestElement(){return ArrayExpression();}RestElement.validParent=true;function Func(){return genericTypeAnnotation(identifier$g("Function"));}var isArrayFrom=buildMatchMemberExpression("Array.from");var isObjectKeys=buildMatchMemberExpression("Object.keys");var isObjectValues=buildMatchMemberExpression("Object.values");var isObjectEntries=buildMatchMemberExpression("Object.entries");function CallExpression(){var callee=this.node.callee;if(isObjectKeys(callee)){return arrayTypeAnnotation(stringTypeAnnotation$1());}else if(isArrayFrom(callee)||isObjectValues(callee)||isIdentifier$d(callee,{name:"Array"})){return arrayTypeAnnotation(anyTypeAnnotation$1());}else if(isObjectEntries(callee)){return arrayTypeAnnotation(tupleTypeAnnotation([stringTypeAnnotation$1(),anyTypeAnnotation$1()]));}return resolveCall(this.get("callee"));}function TaggedTemplateExpression(){return resolveCall(this.get("tag"));}function resolveCall(callee){callee=callee.resolve();if(callee.isFunction()){var _callee=callee,node=_callee.node;if(node.async){if(node.generator){return genericTypeAnnotation(identifier$g("AsyncIterator"));}else{return genericTypeAnnotation(identifier$g("Promise"));}}else{if(node.generator){return genericTypeAnnotation(identifier$g("Iterator"));}else if(callee.node.returnType){return callee.node.returnType;}else;}}}var inferers=/*#__PURE__*/Object.freeze({__proto__:null,ArrayExpression:ArrayExpression,ArrowFunctionExpression:Func,AssignmentExpression:AssignmentExpression,BinaryExpression:BinaryExpression,BooleanLiteral:BooleanLiteral,CallExpression:CallExpression,ClassDeclaration:Func,ClassExpression:Func,ConditionalExpression:ConditionalExpression,FunctionDeclaration:Func,FunctionExpression:Func,Identifier:infererReference,LogicalExpression:LogicalExpression,NewExpression:NewExpression,NullLiteral:NullLiteral,NumericLiteral:NumericLiteral,ObjectExpression:ObjectExpression,ParenthesizedExpression:ParenthesizedExpression,RegExpLiteral:RegExpLiteral,RestElement:RestElement,SequenceExpression:SequenceExpression,StringLiteral:StringLiteral,TSAsExpression:TSAsExpression,TSNonNullExpression:TSNonNullExpression,TaggedTemplateExpression:TaggedTemplateExpression,TemplateLiteral:TemplateLiteral,TypeCastExpression:TypeCastExpression,UnaryExpression:UnaryExpression,UpdateExpression:UpdateExpression,VariableDeclarator:VariableDeclarator});var anyTypeAnnotation=anyTypeAnnotation$2,isAnyTypeAnnotation=isAnyTypeAnnotation$1,isArrayTypeAnnotation=isArrayTypeAnnotation$2,isBooleanTypeAnnotation=isBooleanTypeAnnotation$1,isEmptyTypeAnnotation=isEmptyTypeAnnotation$1,isFlowBaseAnnotation=isFlowBaseAnnotation$1,isGenericTypeAnnotation=isGenericTypeAnnotation$1,isIdentifier$c=isIdentifier$j,isMixedTypeAnnotation=isMixedTypeAnnotation$1,isNumberTypeAnnotation=isNumberTypeAnnotation$1,isStringTypeAnnotation=isStringTypeAnnotation$1,isTSArrayType=isTSArrayType$1,isTSTypeAnnotation=isTSTypeAnnotation$1,isTSTypeReference=isTSTypeReference$1,isTupleTypeAnnotation=isTupleTypeAnnotation$1,isTypeAnnotation=isTypeAnnotation$1,isUnionTypeAnnotation=isUnionTypeAnnotation$1,isVoidTypeAnnotation=isVoidTypeAnnotation$1,stringTypeAnnotation=stringTypeAnnotation$2,voidTypeAnnotation=voidTypeAnnotation$3;function getTypeAnnotation(){var type=this.getData("typeAnnotation");if(type!=null){return type;}type=this._getTypeAnnotation()||anyTypeAnnotation();if(isTypeAnnotation(type)||isTSTypeAnnotation(type)){type=type.typeAnnotation;}this.setData("typeAnnotation",type);return type;}var typeAnnotationInferringNodes=new WeakSet();function _getTypeAnnotation(){var node=this.node;if(!node){if(this.key==="init"&&this.parentPath.isVariableDeclarator()){var declar=this.parentPath.parentPath;var declarParent=declar.parentPath;if(declar.key==="left"&&declarParent.isForInStatement()){return stringTypeAnnotation();}if(declar.key==="left"&&declarParent.isForOfStatement()){return anyTypeAnnotation();}return voidTypeAnnotation();}else{return;}}if(node.typeAnnotation){return node.typeAnnotation;}if(typeAnnotationInferringNodes.has(node)){return;}typeAnnotationInferringNodes.add(node);try{var _inferer;var inferer=inferers[node.type];if(inferer){return inferer.call(this,node);}inferer=inferers[this.parentPath.type];if((_inferer=inferer)!=null&&_inferer.validParent){return this.parentPath.getTypeAnnotation();}}finally{typeAnnotationInferringNodes["delete"](node);}}function isBaseType(baseName,soft){return _isBaseType(baseName,this.getTypeAnnotation(),soft);}function _isBaseType(baseName,type,soft){if(baseName==="string"){return isStringTypeAnnotation(type);}else if(baseName==="number"){return isNumberTypeAnnotation(type);}else if(baseName==="boolean"){return isBooleanTypeAnnotation(type);}else if(baseName==="any"){return isAnyTypeAnnotation(type);}else if(baseName==="mixed"){return isMixedTypeAnnotation(type);}else if(baseName==="empty"){return isEmptyTypeAnnotation(type);}else if(baseName==="void"){return isVoidTypeAnnotation(type);}else{if(soft){return false;}else{throw new Error("Unknown base type "+baseName);}}}function couldBeBaseType(name){var type=this.getTypeAnnotation();if(isAnyTypeAnnotation(type))return true;if(isUnionTypeAnnotation(type)){for(var _iterator=_createForOfIteratorHelperLoose(type.types),_step;!(_step=_iterator()).done;){var type2=_step.value;if(isAnyTypeAnnotation(type2)||_isBaseType(name,type2,true)){return true;}}return false;}else{return _isBaseType(name,type,true);}}function baseTypeStrictlyMatches(rightArg){var left=this.getTypeAnnotation();var right=rightArg.getTypeAnnotation();if(!isAnyTypeAnnotation(left)&&isFlowBaseAnnotation(left)){return right.type===left.type;}return false;}function isGenericType(genericName){var type=this.getTypeAnnotation();if(genericName==="Array"){if(isTSArrayType(type)||isArrayTypeAnnotation(type)||isTupleTypeAnnotation(type)){return true;}}return isGenericTypeAnnotation(type)&&isIdentifier$c(type.id,{name:genericName})||isTSTypeReference(type)&&isIdentifier$c(type.typeName,{name:genericName});}var NodePath_inference=/*#__PURE__*/Object.freeze({__proto__:null,_getTypeAnnotation:_getTypeAnnotation,baseTypeStrictlyMatches:baseTypeStrictlyMatches,couldBeBaseType:couldBeBaseType,getTypeAnnotation:getTypeAnnotation,isBaseType:isBaseType,isGenericType:isGenericType});var jsTokensBABEL_8_BREAKINGFalse={};var hasRequiredJsTokensBABEL_8_BREAKINGFalse;function requireJsTokensBABEL_8_BREAKINGFalse(){if(hasRequiredJsTokensBABEL_8_BREAKINGFalse)return jsTokensBABEL_8_BREAKINGFalse;hasRequiredJsTokensBABEL_8_BREAKINGFalse=1;Object.defineProperty(jsTokensBABEL_8_BREAKINGFalse,"__esModule",{value:true});jsTokensBABEL_8_BREAKINGFalse["default"]=/((['"])(?:(?!\2|\\).|\\(?:\r\n|[\s\S]))*(\2)?|`(?:[^`\\$]|\\[\s\S]|\$(?!\{)|\$\{(?:[^{}]|\{[^}]*\}?)*\}?)*(`)?)|(\/\/.*)|(\/\*(?:[^*]|\*(?!\/))*(\*\/)?)|(\/(?!\*)(?:\[(?:(?![\]\\]).|\\.)*\]|(?![\/\]\\]).|\\.)+\/(?:(?!\s*(?:\b|[\u0080-\uFFFF$\\'"~({]|[+\-!](?!=)|\.?\d))|[gmiyus]{1,6}\b(?![\u0080-\uFFFF$\\]|\s*(?:[+\-*%&|^<>!=?({]|\/(?![\/*])))))|(0[xX][\da-fA-F]+|0[oO][0-7]+|0[bB][01]+|(?:\d*\.\d+|\d+\.?)(?:[eE][+-]?\d+)?)|((?!\d)(?:(?!\s)[$\w\u0080-\uFFFF]|\\u[\da-fA-F]{4}|\\u\{[\da-fA-F]+\})+)|(--|\+\+|&&|\|\||=>|\.{3}|(?:[+\-\/%&|^]|\*{1,2}|<{1,2}|>{1,3}|!=?|={1,2})=?|[?~.,:;[\](){}])|(\s+)|(^$|[\s\S])/g;jsTokensBABEL_8_BREAKINGFalse.matchToToken=function(match){var token={type:"invalid",value:match[0],closed:undefined};if(match[1])token.type="string",token.closed=!!(match[3]||match[4]);else if(match[5])token.type="comment";else if(match[6])token.type="comment",token.closed=!!match[7];else if(match[8])token.type="regex";else if(match[9])token.type="number";else if(match[10])token.type="name";else if(match[11])token.type="punctuator";else if(match[12])token.type="whitespace";return token;};return jsTokensBABEL_8_BREAKINGFalse;}function bool$8(value){if(value==null)return false;return value&&value!=="false"&&value!=="0";}var jsTokens=bool$8(browser$1$1.env["BABEL_8_BREAKING"])?requireJsTokensBABEL_8_BREAKINGFalse():requireJsTokensBABEL_8_BREAKINGFalse();var picocolors_browser={exports:{}};var x=String;var create=function create(){return{isColorSupported:false,reset:x,bold:x,dim:x,italic:x,underline:x,inverse:x,hidden:x,strikethrough:x,black:x,red:x,green:x,yellow:x,blue:x,magenta:x,cyan:x,white:x,gray:x,bgBlack:x,bgRed:x,bgGreen:x,bgYellow:x,bgBlue:x,bgMagenta:x,bgCyan:x,bgWhite:x};};picocolors_browser.exports=create();var createColors=picocolors_browser.exports.createColors=create;var picocolors_browserExports=picocolors_browser.exports;var colors$1=_typeof(browser$1$1)==="object"&&(browser$1$1.env.FORCE_COLOR==="0"||browser$1$1.env.FORCE_COLOR==="false")?createColors(false):picocolors_browserExports;var compose$1=function compose(f,g){return function(v){return f(g(v));};};var sometimesKeywords=new Set(["as","async","from","get","of","set"]);function getDefs$1(colors){return{keyword:colors.cyan,capitalized:colors.yellow,jsxIdentifier:colors.yellow,punctuator:colors.yellow,number:colors.magenta,string:colors.green,regex:colors.magenta,comment:colors.gray,invalid:compose$1(compose$1(colors.white,colors.bgRed),colors.bold)};}var NEWLINE$1=/\r\n|[\n\r\u2028\u2029]/;var BRACKET=/^[()[\]{}]$/;var tokenize;{var JSX_TAG=/^[a-z][\w-]*$/i;var getTokenType=function getTokenType(token,offset,text){if(token.type==="name"){if(isKeyword(token.value)||isStrictReservedWord(token.value,true)||sometimesKeywords.has(token.value)){return"keyword";}if(JSX_TAG.test(token.value)&&(text[offset-1]==="<"||text.slice(offset-2,offset)=="</")){return"jsxIdentifier";}if(token.value[0]!==token.value[0].toLowerCase()){return"capitalized";}}if(token.type==="punctuator"&&BRACKET.test(token.value)){return"bracket";}if(token.type==="invalid"&&(token.value==="@"||token.value==="#")){return"punctuator";}return token.type;};tokenize=_regeneratorRuntime().mark(function tokenize(text){var match,token;return _regeneratorRuntime().wrap(function tokenize$(_context){while(1)switch(_context.prev=_context.next){case 0:if(!(match=jsTokens["default"].exec(text))){_context.next=6;break;}token=jsTokens.matchToToken(match);_context.next=4;return{type:getTokenType(token,match.index,text),value:token.value};case 4:_context.next=0;break;case 6:case"end":return _context.stop();}},tokenize);});}function highlightTokens(defs,text){var highlighted="";var _loop=function _loop(){var _step$value=_step.value,type=_step$value.type,value=_step$value.value;var colorize=defs[type];if(colorize){highlighted+=value.split(NEWLINE$1).map(function(str){return colorize(str);}).join("\n");}else{highlighted+=value;}};for(var _iterator=_createForOfIteratorHelperLoose(tokenize(text)),_step;!(_step=_iterator()).done;){_loop();}return highlighted;}function shouldHighlight(options){return colors$1.isColorSupported||options.forceColor;}var pcWithForcedColor$1=undefined;function getColors$1(forceColor){if(forceColor){var _pcWithForcedColor;(_pcWithForcedColor=pcWithForcedColor$1)!=null?_pcWithForcedColor:pcWithForcedColor$1=createColors(true);return pcWithForcedColor$1;}return colors$1;}function highlight(code,options){if(options===void 0){options={};}if(code!==""&&shouldHighlight(options)){var defs=getDefs$1(getColors$1(options.forceColor));return highlightTokens(defs,code);}else{return code;}}var colors=_typeof(browser$1$1)==="object"&&(browser$1$1.env.FORCE_COLOR==="0"||browser$1$1.env.FORCE_COLOR==="false")?createColors(false):picocolors_browserExports;var compose=function compose(f,g){return function(v){return f(g(v));};};var pcWithForcedColor=undefined;function getColors(forceColor){if(forceColor){var _pcWithForcedColor;(_pcWithForcedColor=pcWithForcedColor)!=null?_pcWithForcedColor:pcWithForcedColor=createColors(true);return pcWithForcedColor;}return colors;}function getDefs(colors){return{gutter:colors.gray,marker:compose(colors.red,colors.bold),message:compose(colors.red,colors.bold)};}var NEWLINE=/\r\n|[\n\r\u2028\u2029]/;function getMarkerLines(loc,source,opts){var startLoc=Object.assign({column:0,line:-1},loc.start);var endLoc=Object.assign({},startLoc,loc.end);var _ref=opts||{},_ref$linesAbove=_ref.linesAbove,linesAbove=_ref$linesAbove===void 0?2:_ref$linesAbove,_ref$linesBelow=_ref.linesBelow,linesBelow=_ref$linesBelow===void 0?3:_ref$linesBelow;var startLine=startLoc.line;var startColumn=startLoc.column;var endLine=endLoc.line;var endColumn=endLoc.column;var start=Math.max(startLine-(linesAbove+1),0);var end=Math.min(source.length,endLine+linesBelow);if(startLine===-1){start=0;}if(endLine===-1){end=source.length;}var lineDiff=endLine-startLine;var markerLines={};if(lineDiff){for(var i=0;i<=lineDiff;i++){var lineNumber=i+startLine;if(!startColumn){markerLines[lineNumber]=true;}else if(i===0){var sourceLength=source[lineNumber-1].length;markerLines[lineNumber]=[startColumn,sourceLength-startColumn+1];}else if(i===lineDiff){markerLines[lineNumber]=[0,endColumn];}else{var _sourceLength=source[lineNumber-i].length;markerLines[lineNumber]=[0,_sourceLength];}}}else{if(startColumn===endColumn){if(startColumn){markerLines[startLine]=[startColumn,0];}else{markerLines[startLine]=true;}}else{markerLines[startLine]=[startColumn,endColumn-startColumn];}}return{start:start,end:end,markerLines:markerLines};}function codeFrameColumns(rawLines,loc,opts){if(opts===void 0){opts={};}var highlighted=(opts.highlightCode||opts.forceColor)&&shouldHighlight(opts);var colors=getColors(opts.forceColor);var defs=getDefs(colors);var maybeHighlight=function maybeHighlight(fmt,string){return highlighted?fmt(string):string;};var lines=rawLines.split(NEWLINE);var _getMarkerLines=getMarkerLines(loc,lines,opts),start=_getMarkerLines.start,end=_getMarkerLines.end,markerLines=_getMarkerLines.markerLines;var hasColumns=loc.start&&typeof loc.start.column==="number";var numberMaxWidth=String(end).length;var highlightedLines=highlighted?highlight(rawLines,opts):rawLines;var frame=highlightedLines.split(NEWLINE,end).slice(start,end).map(function(line,index){var number=start+1+index;var paddedNumber=(" "+number).slice(-numberMaxWidth);var gutter=" "+paddedNumber+" |";var hasMarker=markerLines[number];var lastMarkerLine=!markerLines[number+1];if(hasMarker){var markerLine="";if(Array.isArray(hasMarker)){var markerSpacing=line.slice(0,Math.max(hasMarker[0]-1,0)).replace(/[^\t]/g," ");var numberOfMarkers=hasMarker[1]||1;markerLine=["\n ",maybeHighlight(defs.gutter,gutter.replace(/\d/g," "))," ",markerSpacing,maybeHighlight(defs.marker,"^").repeat(numberOfMarkers)].join("");if(lastMarkerLine&&opts.message){markerLine+=" "+maybeHighlight(defs.message,opts.message);}}return[maybeHighlight(defs.marker,">"),maybeHighlight(defs.gutter,gutter),line.length>0?" "+line:"",markerLine].join("");}else{return" "+maybeHighlight(defs.gutter,gutter)+(line.length>0?" "+line:"");}}).join("\n");if(opts.message&&!hasColumns){frame=""+" ".repeat(numberMaxWidth+1)+opts.message+"\n"+frame;}if(highlighted){return colors.reset(frame);}else{return frame;}}var Position=_createClass(function Position(line,col,index){this.line=void 0;this.column=void 0;this.index=void 0;this.line=line;this.column=col;this.index=index;});var SourceLocation=_createClass(function SourceLocation(start,end){this.start=void 0;this.end=void 0;this.filename=void 0;this.identifierName=void 0;this.start=start;this.end=end;});function createPositionWithColumnOffset(position,columnOffset){var line=position.line,column=position.column,index=position.index;return new Position(line,column+columnOffset,index+columnOffset);}var code="BABEL_PARSER_SOURCETYPE_MODULE_REQUIRED";var ModuleErrors={ImportMetaOutsideModule:{message:"import.meta may appear only with 'sourceType: \"module\"'",code:code},ImportOutsideModule:{message:"'import' and 'export' may appear only with 'sourceType: \"module\"'",code:code}};var NodeDescriptions={ArrayPattern:"array destructuring pattern",AssignmentExpression:"assignment expression",AssignmentPattern:"assignment expression",ArrowFunctionExpression:"arrow function expression",ConditionalExpression:"conditional expression",CatchClause:"catch clause",ForOfStatement:"for-of statement",ForInStatement:"for-in statement",ForStatement:"for-loop",FormalParameters:"function parameter list",Identifier:"identifier",ImportSpecifier:"import specifier",ImportDefaultSpecifier:"import default specifier",ImportNamespaceSpecifier:"import namespace specifier",ObjectPattern:"object destructuring pattern",ParenthesizedExpression:"parenthesized expression",RestElement:"rest element",UpdateExpression:{"true":"prefix operation","false":"postfix operation"},VariableDeclarator:"variable declaration",YieldExpression:"yield expression"};var toNodeDescription=function toNodeDescription(_ref){var type=_ref.type,prefix=_ref.prefix;return type==="UpdateExpression"?NodeDescriptions.UpdateExpression[String(prefix)]:NodeDescriptions[type];};var StandardErrors={AccessorIsGenerator:function AccessorIsGenerator(_ref){var kind=_ref.kind;return"A "+kind+"ter cannot be a generator.";},ArgumentsInClass:"'arguments' is only allowed in functions and class methods.",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.",AwaitBindingIdentifierInStaticBlock:"Can not use 'await' as identifier inside a static block.",AwaitExpressionFormalParameter:"'await' is not allowed in async function parameters.",AwaitUsingNotInAsyncContext:"'await using' is only allowed within async functions and at the top levels of modules.",AwaitNotInAsyncContext:"'await' is only allowed within async functions and at the top levels of modules.",AwaitNotInAsyncFunction:"'await' is only allowed within async functions.",BadGetterArity:"A 'get' accessor must not have any formal parameters.",BadSetterArity:"A 'set' accessor must have exactly one formal parameter.",BadSetterRestParameter:"A 'set' accessor 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:function DeclarationMissingInitializer(_ref2){var kind=_ref2.kind;return"Missing initializer in "+kind+" declaration.";},DecoratorArgumentsOutsideParentheses:"Decorator arguments must be moved inside parentheses: use '@(decorator(args))' instead of '@(decorator)(args)'.",DecoratorBeforeExport:"Decorators must be placed *before* the 'export' keyword. Remove the 'decoratorsBeforeExport: true' option to use the 'export @decorator class {}' syntax.",DecoratorsBeforeAfterExport:"Decorators can be placed *either* before or after the 'export' keyword, but not in both locations at the same time.",DecoratorConstructor:"Decorators can't be used with a constructor. Did you mean '@dec class { ... }'?",DecoratorExportClass:"Decorators must be placed *after* the 'export' keyword. Remove the 'decoratorsBeforeExport: false' option to use the '@decorator export class {}' syntax.",DecoratorSemicolon:"Decorators must not be followed by a semicolon.",DecoratorStaticBlock:"Decorators can't be used with a static block.",DeferImportRequiresNamespace:'Only `import defer * as x from "./module"` is valid.',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:function DuplicateExport(_ref3){var exportName=_ref3.exportName;return"`"+exportName+"` has already been exported. Exported identifiers must be unique.";},DuplicateProto:"Redefinition of __proto__ property.",DuplicateRegExpFlags:"Duplicate regular expression flag.",DynamicImportPhaseRequiresImportExpressions:function DynamicImportPhaseRequiresImportExpressions(_ref4){var phase=_ref4.phase;return"'import."+phase+"(...)' can only be parsed when using the 'createImportExpressions' option.";},ElementAfterRest:"Rest element must be last element.",EscapedCharNotAnIdentifier:"Invalid Unicode escape.",ExportBindingIsString:function ExportBindingIsString(_ref5){var localName=_ref5.localName,exportName=_ref5.exportName;return"A string literal cannot be used as an exported binding without `from`.\n- Did you mean `export { '"+localName+"' as '"+exportName+"' } from 'some-module'`?";},ExportDefaultFromAsIdentifier:"'from' is not allowed as an identifier after 'export default'.",ForInOfLoopInitializer:function ForInOfLoopInitializer(_ref6){var type=_ref6.type;return"'"+(type==="ForInStatement"?"for-in":"for-of")+"' loop variable declaration may not have an initializer.";},ForInUsing:"For-in loop may not start with 'using' declaration.",ForOfAsync:"The left-hand side of a for-of loop may not be 'async'.",ForOfLet:"The left-hand side of a for-of loop may not start with 'let'.",GeneratorInSingleStatementContext:"Generators can only be declared at the top level or inside a block.",IllegalBreakContinue:function IllegalBreakContinue(_ref7){var type=_ref7.type;return"Unsyntactic "+(type==="BreakStatement"?"break":"continue")+".";},IllegalLanguageModeDirective:"Illegal 'use strict' directive in function with non-simple parameter list.",IllegalReturn:"'return' outside of function.",ImportAttributesUseAssert:"The `assert` keyword in import attributes is deprecated and it has been replaced by the `with` keyword. You can enable the `deprecatedAssertSyntax: true` option in the import attributes plugin to suppress this error.",ImportBindingIsString:function ImportBindingIsString(_ref8){var importName=_ref8.importName;return"A string literal cannot be used as an imported binding.\n- Did you mean `import { \""+importName+"\" as foo }`?";},ImportCallArgumentTrailingComma:"Trailing comma is disallowed inside import(...) arguments.",ImportCallArity:function ImportCallArity(_ref9){var maxArgumentCount=_ref9.maxArgumentCount;return"`import()` requires exactly "+(maxArgumentCount===1?"one argument":"one or two arguments")+".";},ImportCallNotNewExpression:"Cannot use new with import(...).",ImportCallSpreadArgument:"`...` is not allowed in `import()`.",ImportJSONBindingNotDefault:"A JSON module can only be imported with `default`.",ImportReflectionHasAssertion:"`import module x` cannot have assertions.",ImportReflectionNotBinding:'Only `import module x from "./module"` is valid.',IncompatibleRegExpUVFlags:"The 'u' and 'v' regular expression flags cannot be enabled at the same time.",InvalidBigIntLiteral:"Invalid BigIntLiteral.",InvalidCodePoint:"Code point out of bounds.",InvalidCoverInitializedName:"Invalid shorthand property initializer.",InvalidDecimal:"Invalid decimal.",InvalidDigit:function InvalidDigit(_ref10){var radix=_ref10.radix;return"Expected number in radix "+radix+".";},InvalidEscapeSequence:"Bad character escape sequence.",InvalidEscapeSequenceTemplate:"Invalid escape sequence in template.",InvalidEscapedReservedWord:function InvalidEscapedReservedWord(_ref11){var reservedWord=_ref11.reservedWord;return"Escape sequence in keyword "+reservedWord+".";},InvalidIdentifier:function InvalidIdentifier(_ref12){var identifierName=_ref12.identifierName;return"Invalid identifier "+identifierName+".";},InvalidLhs:function InvalidLhs(_ref13){var ancestor=_ref13.ancestor;return"Invalid left-hand side in "+toNodeDescription(ancestor)+".";},InvalidLhsBinding:function InvalidLhsBinding(_ref14){var ancestor=_ref14.ancestor;return"Binding invalid left-hand side in "+toNodeDescription(ancestor)+".";},InvalidLhsOptionalChaining:function InvalidLhsOptionalChaining(_ref15){var ancestor=_ref15.ancestor;return"Invalid optional chaining in the left-hand side of "+toNodeDescription(ancestor)+".";},InvalidNumber:"Invalid number.",InvalidOrMissingExponent:"Floating-point numbers require a valid exponent after the 'e'.",InvalidOrUnexpectedToken:function InvalidOrUnexpectedToken(_ref16){var unexpected=_ref16.unexpected;return"Unexpected character '"+unexpected+"'.";},InvalidParenthesizedAssignment:"Invalid parenthesized assignment pattern.",InvalidPrivateFieldResolution:function InvalidPrivateFieldResolution(_ref17){var identifierName=_ref17.identifierName;return"Private name #"+identifierName+" is not defined.";},InvalidPropertyBindingPattern:"Binding member expression.",InvalidRecordProperty:"Only properties and spread elements are allowed in record definitions.",InvalidRestAssignmentPattern:"Invalid rest operator's argument.",LabelRedeclaration:function LabelRedeclaration(_ref18){var labelName=_ref18.labelName;return"Label '"+labelName+"' is already declared.";},LetInLexicalBinding:"'let' is disallowed as a lexically bound name.",LineTerminatorBeforeArrow:"No line break is allowed before '=>'.",MalformedRegExpFlags:"Invalid regular expression flag.",MissingClassName:"A class name is required.",MissingEqInAssignment:"Only '=' operator can be used for specifying default value.",MissingSemicolon:"Missing semicolon.",MissingPlugin:function MissingPlugin(_ref19){var missingPlugin=_ref19.missingPlugin;return"This experimental syntax requires enabling the parser plugin: "+missingPlugin.map(function(name){return JSON.stringify(name);}).join(", ")+".";},MissingOneOfPlugins:function MissingOneOfPlugins(_ref20){var missingPlugin=_ref20.missingPlugin;return"This experimental syntax requires enabling one of the following parser plugin(s): "+missingPlugin.map(function(name){return JSON.stringify(name);}).join(", ")+".";},MissingUnicodeEscape:"Expecting Unicode escape sequence \\uXXXX.",MixingCoalesceWithLogical:"Nullish coalescing operator(??) requires parens when mixing with logical operators.",ModuleAttributeDifferentFromType:"The only accepted module attribute is `type`.",ModuleAttributeInvalidValue:"Only string literals are allowed as module attribute values.",ModuleAttributesWithDuplicateKeys:function ModuleAttributesWithDuplicateKeys(_ref21){var key=_ref21.key;return"Duplicate key \""+key+"\" is not allowed in module attributes.";},ModuleExportNameHasLoneSurrogate:function ModuleExportNameHasLoneSurrogate(_ref22){var surrogateCharCode=_ref22.surrogateCharCode;return"An export name cannot include a lone surrogate, found '\\u"+surrogateCharCode.toString(16)+"'.";},ModuleExportUndefined:function ModuleExportUndefined(_ref23){var localName=_ref23.localName;return"Export '"+localName+"' 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.",OverrideOnConstructor:"'override' modifier cannot appear on a constructor declaration.",ParamDupe:"Argument name clash.",PatternHasAccessor:"Object pattern can't contain getter or setter.",PatternHasMethod:"Object pattern can't contain methods.",PrivateInExpectedIn:function PrivateInExpectedIn(_ref24){var identifierName=_ref24.identifierName;return"Private names are only allowed in property accesses (`obj.#"+identifierName+"`) or in `in` expressions (`#"+identifierName+" in obj`).";},PrivateNameRedeclaration:function PrivateNameRedeclaration(_ref25){var identifierName=_ref25.identifierName;return"Duplicate private name #"+identifierName+".";},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'.",RecordNoProto:"'__proto__' is not allowed in Record expressions.",RestTrailingComma:"Unexpected trailing comma after rest element.",SloppyFunction:"In non-strict mode code, functions can only be declared at top level or inside a block.",SloppyFunctionAnnexB:"In non-strict mode code, functions can only be declared at top level, inside a block, or as the body of an if statement.",SourcePhaseImportRequiresDefault:'Only `import source x from "./module"` is valid.',StaticPrototype:"Classes may not have static property named prototype.",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:function UnexpectedKeyword(_ref26){var keyword=_ref26.keyword;return"Unexpected keyword '"+keyword+"'.";},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 or class properties.",UnexpectedNumericSeparator:"A numeric separator is only allowed between two digits.",UnexpectedPrivateField:"Unexpected private name.",UnexpectedReservedWord:function UnexpectedReservedWord(_ref27){var reservedWord=_ref27.reservedWord;return"Unexpected reserved word '"+reservedWord+"'.";},UnexpectedSuper:"'super' is only allowed in object methods and classes.",UnexpectedToken:function UnexpectedToken(_ref28){var expected=_ref28.expected,unexpected=_ref28.unexpected;return"Unexpected token"+(unexpected?" '"+unexpected+"'.":"")+(expected?", expected \""+expected+"\"":"");},UnexpectedTokenUnaryExponentiation:"Illegal expression. Wrap left hand side or entire exponentiation in parentheses.",UnexpectedUsingDeclaration:"Using declaration cannot appear in the top level when source type is `script`.",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:function UnsupportedMetaProperty(_ref29){var target=_ref29.target,onlyValidPropertyName=_ref29.onlyValidPropertyName;return"The only valid meta property for "+target+" is "+target+"."+onlyValidPropertyName+".";},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.",UsingDeclarationHasBindingPattern:"Using declaration cannot have destructuring patterns.",VarRedeclaration:function VarRedeclaration(_ref30){var identifierName=_ref30.identifierName;return"Identifier '"+identifierName+"' has already been declared.";},YieldBindingIdentifier:"Can not use 'yield' as identifier inside a generator.",YieldInParameter:"Yield expression is not allowed in formal parameters.",ZeroDigitNumericSeparator:"Numeric separator can not be used after leading 0."};var StrictModeErrors={StrictDelete:"Deleting local variable in strict mode.",StrictEvalArguments:function StrictEvalArguments(_ref){var referenceName=_ref.referenceName;return"Assigning to '"+referenceName+"' in strict mode.";},StrictEvalArgumentsBinding:function StrictEvalArgumentsBinding(_ref2){var bindingName=_ref2.bindingName;return"Binding '"+bindingName+"' in strict mode.";},StrictFunction:"In strict mode code, functions can only be declared at top level or inside a block.",StrictNumericEscape:"The only valid numeric escape in strict mode is '\\0'.",StrictOctalLiteral:"Legacy octal literals are not allowed in strict mode.",StrictWith:"'with' in strict mode."};var UnparenthesizedPipeBodyDescriptions=new Set(["ArrowFunctionExpression","AssignmentExpression","ConditionalExpression","YieldExpression"]);var PipelineOperatorErrors={PipeBodyIsTighter:"Unexpected yield after pipeline body; any yield expression acting as Hack-style pipe body must be parenthesized due to its loose operator precedence.",PipeTopicRequiresHackPipes:'Topic reference is used, but the pipelineOperator plugin was not passed a "proposal": "hack" or "smart" option.',PipeTopicUnbound:"Topic reference is unbound; it must be inside a pipe body.",PipeTopicUnconfiguredToken:function PipeTopicUnconfiguredToken(_ref){var token=_ref.token;return"Invalid topic token "+token+". In order to use "+token+" as a topic reference, the pipelineOperator plugin must be configured with { \"proposal\": \"hack\", \"topicToken\": \""+token+"\" }.";},PipeTopicUnused:"Hack-style pipe body does not contain a topic reference; Hack-style pipes must use topic at least once.",PipeUnparenthesizedBody:function PipeUnparenthesizedBody(_ref2){var type=_ref2.type;return"Hack-style pipe body cannot be an unparenthesized "+toNodeDescription({type:type})+"; please wrap it in parentheses.";},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:'Topic reference is used, but the pipelineOperator plugin was not passed a "proposal": "hack" or "smart" option.'};var _templateObject$G;var _excluded$4=["toMessage"],_excluded2=["message"];function defineHidden(obj,key,value){Object.defineProperty(obj,key,{enumerable:false,configurable:true,value:value});}function toParseErrorConstructor(_ref){var toMessage=_ref.toMessage,properties=_objectWithoutPropertiesLoose(_ref,_excluded$4);return function constructor(loc,details){var error=new SyntaxError();Object.assign(error,properties,{loc:loc,pos:loc.index});if("missingPlugin"in details){Object.assign(error,{missingPlugin:details.missingPlugin});}defineHidden(error,"clone",function clone(overrides){var _overrides$loc;if(overrides===void 0){overrides={};}var _ref2=(_overrides$loc=overrides.loc)!=null?_overrides$loc:loc,line=_ref2.line,column=_ref2.column,index=_ref2.index;return constructor(new Position(line,column,index),Object.assign({},details,overrides.details));});defineHidden(error,"details",details);Object.defineProperty(error,"message",{configurable:true,get:function get(){var message=toMessage(details)+" ("+loc.line+":"+loc.column+")";this.message=message;return message;},set:function set(value){Object.defineProperty(this,"message",{value:value,writable:true});}});return error;};}function ParseErrorEnum(argument,syntaxPlugin){if(Array.isArray(argument)){return function(parseErrorTemplates){return ParseErrorEnum(parseErrorTemplates,argument[0]);};}var ParseErrorConstructors={};var _loop=function _loop(){var reasonCode=_Object$keys2[_i2];var template=argument[reasonCode];var _ref3=typeof template==="string"?{message:function message(){return template;}}:typeof template==="function"?{message:template}:template,message=_ref3.message,rest=_objectWithoutPropertiesLoose(_ref3,_excluded2);var toMessage=typeof message==="string"?function(){return message;}:message;ParseErrorConstructors[reasonCode]=toParseErrorConstructor(Object.assign({code:"BABEL_PARSER_SYNTAX_ERROR",reasonCode:reasonCode,toMessage:toMessage},syntaxPlugin?{syntaxPlugin:syntaxPlugin}:{},rest));};for(var _i2=0,_Object$keys2=Object.keys(argument);_i2<_Object$keys2.length;_i2++){_loop();}return ParseErrorConstructors;}var Errors=Object.assign({},ParseErrorEnum(ModuleErrors),ParseErrorEnum(StandardErrors),ParseErrorEnum(StrictModeErrors),ParseErrorEnum(_templateObject$G||(_templateObject$G=_taggedTemplateLiteralLoose(["pipelineOperator"])))(PipelineOperatorErrors));var defineProperty=Object.defineProperty;var toUnenumerable=function toUnenumerable(object,key){return defineProperty(object,key,{enumerable:false,value:object[key]});};function toESTreeLocation(node){node.loc.start&&toUnenumerable(node.loc.start,"index");node.loc.end&&toUnenumerable(node.loc.end,"index");return node;}var estree=function estree(superClass){return function(_superClass){_inherits(ESTreeParserMixin,_superClass);function ESTreeParserMixin(){return _superClass.apply(this,arguments)||this;}var _proto=ESTreeParserMixin.prototype;_proto.parse=function parse(){var file=toESTreeLocation(_superClass.prototype.parse.call(this));if(this.options.tokens){file.tokens=file.tokens.map(toESTreeLocation);}return file;};_proto.parseRegExpLiteral=function parseRegExpLiteral(_ref){var pattern=_ref.pattern,flags=_ref.flags;var regex=null;try{regex=new RegExp(pattern,flags);}catch(e){}var node=this.estreeParseLiteral(regex);node.regex={pattern:pattern,flags:flags};return node;};_proto.parseBigIntLiteral=function parseBigIntLiteral(value){var bigInt;try{bigInt=BigInt(value);}catch(_unused){bigInt=null;}var node=this.estreeParseLiteral(bigInt);node.bigint=String(node.value||value);return node;};_proto.parseDecimalLiteral=function parseDecimalLiteral(value){var decimal=null;var node=this.estreeParseLiteral(decimal);node.decimal=String(node.value||value);return node;};_proto.estreeParseLiteral=function estreeParseLiteral(value){return this.parseLiteral(value,"Literal");};_proto.parseStringLiteral=function parseStringLiteral(value){return this.estreeParseLiteral(value);};_proto.parseNumericLiteral=function parseNumericLiteral(value){return this.estreeParseLiteral(value);};_proto.parseNullLiteral=function parseNullLiteral(){return this.estreeParseLiteral(null);};_proto.parseBooleanLiteral=function parseBooleanLiteral(value){return this.estreeParseLiteral(value);};_proto.directiveToStmt=function directiveToStmt(directive){var expression=directive.value;delete directive.value;expression.type="Literal";expression.raw=expression.extra.raw;expression.value=expression.extra.expressionValue;var stmt=directive;stmt.type="ExpressionStatement";stmt.expression=expression;stmt.directive=expression.extra.rawValue;delete expression.extra;return stmt;};_proto.initFunction=function initFunction(node,isAsync){_superClass.prototype.initFunction.call(this,node,isAsync);node.expression=false;};_proto.checkDeclaration=function checkDeclaration(node){if(node!=null&&this.isObjectProperty(node)){this.checkDeclaration(node.value);}else{_superClass.prototype.checkDeclaration.call(this,node);}};_proto.getObjectOrClassMethodParams=function getObjectOrClassMethodParams(method){return method.value.params;};_proto.isValidDirective=function isValidDirective(stmt){var _stmt$expression$extr;return stmt.type==="ExpressionStatement"&&stmt.expression.type==="Literal"&&typeof stmt.expression.value==="string"&&!((_stmt$expression$extr=stmt.expression.extra)!=null&&_stmt$expression$extr.parenthesized);};_proto.parseBlockBody=function parseBlockBody(node,allowDirectives,topLevel,end,afterBlockParse){var _this=this;_superClass.prototype.parseBlockBody.call(this,node,allowDirectives,topLevel,end,afterBlockParse);var directiveStatements=node.directives.map(function(d){return _this.directiveToStmt(d);});node.body=directiveStatements.concat(node.body);delete node.directives;};_proto.pushClassMethod=function pushClassMethod(classBody,method,isGenerator,isAsync,isConstructor,allowsDirectSuper){this.parseMethod(method,isGenerator,isAsync,isConstructor,allowsDirectSuper,"ClassMethod",true);if(method.typeParameters){method.value.typeParameters=method.typeParameters;delete method.typeParameters;}classBody.body.push(method);};_proto.parsePrivateName=function parsePrivateName(){var node=_superClass.prototype.parsePrivateName.call(this);{if(!this.getPluginOption("estree","classFeatures")){return node;}}return this.convertPrivateNameToPrivateIdentifier(node);};_proto.convertPrivateNameToPrivateIdentifier=function convertPrivateNameToPrivateIdentifier(node){var name=_superClass.prototype.getPrivateNameSV.call(this,node);node=node;delete node.id;node.name=name;node.type="PrivateIdentifier";return node;};_proto.isPrivateName=function isPrivateName(node){{if(!this.getPluginOption("estree","classFeatures")){return _superClass.prototype.isPrivateName.call(this,node);}}return node.type==="PrivateIdentifier";};_proto.getPrivateNameSV=function getPrivateNameSV(node){{if(!this.getPluginOption("estree","classFeatures")){return _superClass.prototype.getPrivateNameSV.call(this,node);}}return node.name;};_proto.parseLiteral=function parseLiteral(value,type){var node=_superClass.prototype.parseLiteral.call(this,value,type);node.raw=node.extra.raw;delete node.extra;return node;};_proto.parseFunctionBody=function parseFunctionBody(node,allowExpression,isMethod){if(isMethod===void 0){isMethod=false;}_superClass.prototype.parseFunctionBody.call(this,node,allowExpression,isMethod);node.expression=node.body.type!=="BlockStatement";};_proto.parseMethod=function parseMethod(node,isGenerator,isAsync,isConstructor,allowDirectSuper,type,inClassScope){if(inClassScope===void 0){inClassScope=false;}var funcNode=this.startNode();funcNode.kind=node.kind;funcNode=_superClass.prototype.parseMethod.call(this,funcNode,isGenerator,isAsync,isConstructor,allowDirectSuper,type,inClassScope);funcNode.type="FunctionExpression";delete funcNode.kind;node.value=funcNode;if(type==="ClassPrivateMethod"){node.computed=false;}return this.finishNode(node,"MethodDefinition");};_proto.parseClassProperty=function parseClassProperty(){var _superClass$prototype;for(var _len=arguments.length,args=new Array(_len),_key=0;_key<_len;_key++){args[_key]=arguments[_key];}var propertyNode=(_superClass$prototype=_superClass.prototype.parseClassProperty).call.apply(_superClass$prototype,[this].concat(args));{if(!this.getPluginOption("estree","classFeatures")){return propertyNode;}}propertyNode.type="PropertyDefinition";return propertyNode;};_proto.parseClassPrivateProperty=function parseClassPrivateProperty(){var _superClass$prototype2;for(var _len2=arguments.length,args=new Array(_len2),_key2=0;_key2<_len2;_key2++){args[_key2]=arguments[_key2];}var propertyNode=(_superClass$prototype2=_superClass.prototype.parseClassPrivateProperty).call.apply(_superClass$prototype2,[this].concat(args));{if(!this.getPluginOption("estree","classFeatures")){return propertyNode;}}propertyNode.type="PropertyDefinition";propertyNode.computed=false;return propertyNode;};_proto.parseObjectMethod=function parseObjectMethod(prop,isGenerator,isAsync,isPattern,isAccessor){var node=_superClass.prototype.parseObjectMethod.call(this,prop,isGenerator,isAsync,isPattern,isAccessor);if(node){node.type="Property";if(node.kind==="method"){node.kind="init";}node.shorthand=false;}return node;};_proto.parseObjectProperty=function parseObjectProperty(prop,startLoc,isPattern,refExpressionErrors){var node=_superClass.prototype.parseObjectProperty.call(this,prop,startLoc,isPattern,refExpressionErrors);if(node){node.kind="init";node.type="Property";}return node;};_proto.isValidLVal=function isValidLVal(type,isUnparenthesizedInAssign,binding){return type==="Property"?"value":_superClass.prototype.isValidLVal.call(this,type,isUnparenthesizedInAssign,binding);};_proto.isAssignable=function isAssignable(node,isBinding){if(node!=null&&this.isObjectProperty(node)){return this.isAssignable(node.value,isBinding);}return _superClass.prototype.isAssignable.call(this,node,isBinding);};_proto.toAssignable=function toAssignable(node,isLHS){if(isLHS===void 0){isLHS=false;}if(node!=null&&this.isObjectProperty(node)){var key=node.key,value=node.value;if(this.isPrivateName(key)){this.classScope.usePrivateName(this.getPrivateNameSV(key),key.loc.start);}this.toAssignable(value,isLHS);}else{_superClass.prototype.toAssignable.call(this,node,isLHS);}};_proto.toAssignableObjectExpressionProp=function toAssignableObjectExpressionProp(prop,isLast,isLHS){if(prop.kind==="get"||prop.kind==="set"){this.raise(Errors.PatternHasAccessor,prop.key);}else if(prop.method){this.raise(Errors.PatternHasMethod,prop.key);}else{_superClass.prototype.toAssignableObjectExpressionProp.call(this,prop,isLast,isLHS);}};_proto.finishCallExpression=function finishCallExpression(unfinished,optional){var node=_superClass.prototype.finishCallExpression.call(this,unfinished,optional);if(node.callee.type==="Import"){node.type="ImportExpression";node.source=node.arguments[0];if(this.hasPlugin("importAttributes")||this.hasPlugin("importAssertions")){var _node$arguments$,_node$arguments$2;node.options=(_node$arguments$=node.arguments[1])!=null?_node$arguments$:null;node.attributes=(_node$arguments$2=node.arguments[1])!=null?_node$arguments$2:null;}delete node.arguments;delete node.callee;}return node;};_proto.toReferencedArguments=function toReferencedArguments(node){if(node.type==="ImportExpression"){return;}_superClass.prototype.toReferencedArguments.call(this,node);};_proto.parseExport=function parseExport(unfinished,decorators){var exportStartLoc=this.state.lastTokStartLoc;var node=_superClass.prototype.parseExport.call(this,unfinished,decorators);switch(node.type){case"ExportAllDeclaration":node.exported=null;break;case"ExportNamedDeclaration":if(node.specifiers.length===1&&node.specifiers[0].type==="ExportNamespaceSpecifier"){node.type="ExportAllDeclaration";node.exported=node.specifiers[0].exported;delete node.specifiers;}case"ExportDefaultDeclaration":{var _declaration$decorato;var declaration=node.declaration;if((declaration==null?void 0:declaration.type)==="ClassDeclaration"&&((_declaration$decorato=declaration.decorators)==null?void 0:_declaration$decorato.length)>0&&declaration.start===node.start){this.resetStartLocation(node,exportStartLoc);}}break;}return node;};_proto.parseSubscript=function parseSubscript(base,startLoc,noCalls,state){var node=_superClass.prototype.parseSubscript.call(this,base,startLoc,noCalls,state);if(state.optionalChainMember){if(node.type==="OptionalMemberExpression"||node.type==="OptionalCallExpression"){node.type=node.type.substring(8);}if(state.stop){var chain=this.startNodeAtNode(node);chain.expression=node;return this.finishNode(chain,"ChainExpression");}}else if(node.type==="MemberExpression"||node.type==="CallExpression"){node.optional=false;}return node;};_proto.isOptionalMemberExpression=function isOptionalMemberExpression(node){if(node.type==="ChainExpression"){return node.expression.type==="MemberExpression";}return _superClass.prototype.isOptionalMemberExpression.call(this,node);};_proto.hasPropertyAsPrivateName=function hasPropertyAsPrivateName(node){if(node.type==="ChainExpression"){node=node.expression;}return _superClass.prototype.hasPropertyAsPrivateName.call(this,node);};_proto.isObjectProperty=function isObjectProperty(node){return node.type==="Property"&&node.kind==="init"&&!node.method;};_proto.isObjectMethod=function isObjectMethod(node){return node.method||node.kind==="get"||node.kind==="set";};_proto.finishNodeAt=function finishNodeAt(node,type,endLoc){return toESTreeLocation(_superClass.prototype.finishNodeAt.call(this,node,type,endLoc));};_proto.resetStartLocation=function resetStartLocation(node,startLoc){_superClass.prototype.resetStartLocation.call(this,node,startLoc);toESTreeLocation(node);};_proto.resetEndLocation=function resetEndLocation(node,endLoc){if(endLoc===void 0){endLoc=this.state.lastTokEndLoc;}_superClass.prototype.resetEndLocation.call(this,node,endLoc);toESTreeLocation(node);};return _createClass(ESTreeParserMixin);}(superClass);};var TokContext=_createClass(function TokContext(token,preserveSpace){this.token=void 0;this.preserveSpace=void 0;this.token=token;this.preserveSpace=!!preserveSpace;});var types={brace:new TokContext("{"),j_oTag:new TokContext("<tag"),j_cTag:new TokContext("</tag"),j_expr:new TokContext("<tag>...</tag>",true)};{types.template=new TokContext("`",true);}var beforeExpr=true;var startsExpr=true;var isLoop=true;var isAssign=true;var prefix=true;var postfix=true;var ExportedTokenType=_createClass(function ExportedTokenType(label,conf){if(conf===void 0){conf={};}this.label=void 0;this.keyword=void 0;this.beforeExpr=void 0;this.startsExpr=void 0;this.rightAssociative=void 0;this.isLoop=void 0;this.isAssign=void 0;this.prefix=void 0;this.postfix=void 0;this.binop=void 0;this.label=label;this.keyword=conf.keyword;this.beforeExpr=!!conf.beforeExpr;this.startsExpr=!!conf.startsExpr;this.rightAssociative=!!conf.rightAssociative;this.isLoop=!!conf.isLoop;this.isAssign=!!conf.isAssign;this.prefix=!!conf.prefix;this.postfix=!!conf.postfix;this.binop=conf.binop!=null?conf.binop:null;{this.updateContext=null;}});var keywords=new Map();function createKeyword(name,options){if(options===void 0){options={};}options.keyword=name;var token=createToken(name,options);keywords.set(name,token);return token;}function createBinop(name,binop){return createToken(name,{beforeExpr:beforeExpr,binop:binop});}var tokenTypeCounter=-1;var tokenTypes=[];var tokenLabels=[];var tokenBinops=[];var tokenBeforeExprs=[];var tokenStartsExprs=[];var tokenPrefixes=[];function createToken(name,options){var _options$binop,_options$beforeExpr,_options$startsExpr,_options$prefix;if(options===void 0){options={};}++tokenTypeCounter;tokenLabels.push(name);tokenBinops.push((_options$binop=options.binop)!=null?_options$binop:-1);tokenBeforeExprs.push((_options$beforeExpr=options.beforeExpr)!=null?_options$beforeExpr:false);tokenStartsExprs.push((_options$startsExpr=options.startsExpr)!=null?_options$startsExpr:false);tokenPrefixes.push((_options$prefix=options.prefix)!=null?_options$prefix:false);tokenTypes.push(new ExportedTokenType(name,options));return tokenTypeCounter;}function createKeywordLike(name,options){var _options$binop2,_options$beforeExpr2,_options$startsExpr2,_options$prefix2;if(options===void 0){options={};}++tokenTypeCounter;keywords.set(name,tokenTypeCounter);tokenLabels.push(name);tokenBinops.push((_options$binop2=options.binop)!=null?_options$binop2:-1);tokenBeforeExprs.push((_options$beforeExpr2=options.beforeExpr)!=null?_options$beforeExpr2:false);tokenStartsExprs.push((_options$startsExpr2=options.startsExpr)!=null?_options$startsExpr2:false);tokenPrefixes.push((_options$prefix2=options.prefix)!=null?_options$prefix2:false);tokenTypes.push(new ExportedTokenType("name",options));return tokenTypeCounter;}var tt={bracketL:createToken("[",{beforeExpr:beforeExpr,startsExpr:startsExpr}),bracketHashL:createToken("#[",{beforeExpr:beforeExpr,startsExpr:startsExpr}),bracketBarL:createToken("[|",{beforeExpr:beforeExpr,startsExpr:startsExpr}),bracketR:createToken("]"),bracketBarR:createToken("|]"),braceL:createToken("{",{beforeExpr:beforeExpr,startsExpr:startsExpr}),braceBarL:createToken("{|",{beforeExpr:beforeExpr,startsExpr:startsExpr}),braceHashL:createToken("#{",{beforeExpr:beforeExpr,startsExpr:startsExpr}),braceR:createToken("}"),braceBarR:createToken("|}"),parenL:createToken("(",{beforeExpr:beforeExpr,startsExpr:startsExpr}),parenR:createToken(")"),comma:createToken(",",{beforeExpr:beforeExpr}),semi:createToken(";",{beforeExpr:beforeExpr}),colon:createToken(":",{beforeExpr:beforeExpr}),doubleColon:createToken("::",{beforeExpr:beforeExpr}),dot:createToken("."),question:createToken("?",{beforeExpr:beforeExpr}),questionDot:createToken("?."),arrow:createToken("=>",{beforeExpr:beforeExpr}),template:createToken("template"),ellipsis:createToken("...",{beforeExpr:beforeExpr}),backQuote:createToken("`",{startsExpr:startsExpr}),dollarBraceL:createToken("${",{beforeExpr:beforeExpr,startsExpr:startsExpr}),templateTail:createToken("...`",{startsExpr:startsExpr}),templateNonTail:createToken("...${",{beforeExpr:beforeExpr,startsExpr:startsExpr}),at:createToken("@"),hash:createToken("#",{startsExpr:startsExpr}),interpreterDirective:createToken("#!..."),eq:createToken("=",{beforeExpr:beforeExpr,isAssign:isAssign}),assign:createToken("_=",{beforeExpr:beforeExpr,isAssign:isAssign}),slashAssign:createToken("_=",{beforeExpr:beforeExpr,isAssign:isAssign}),xorAssign:createToken("_=",{beforeExpr:beforeExpr,isAssign:isAssign}),moduloAssign:createToken("_=",{beforeExpr:beforeExpr,isAssign:isAssign}),incDec:createToken("++/--",{prefix:prefix,postfix:postfix,startsExpr:startsExpr}),bang:createToken("!",{beforeExpr:beforeExpr,prefix:prefix,startsExpr:startsExpr}),tilde:createToken("~",{beforeExpr:beforeExpr,prefix:prefix,startsExpr:startsExpr}),doubleCaret:createToken("^^",{startsExpr:startsExpr}),doubleAt:createToken("@@",{startsExpr:startsExpr}),pipeline:createBinop("|>",0),nullishCoalescing:createBinop("??",1),logicalOR:createBinop("||",1),logicalAND:createBinop("&&",2),bitwiseOR:createBinop("|",3),bitwiseXOR:createBinop("^",4),bitwiseAND:createBinop("&",5),equality:createBinop("==/!=/===/!==",6),lt:createBinop("</>/<=/>=",7),gt:createBinop("</>/<=/>=",7),relational:createBinop("</>/<=/>=",7),bitShift:createBinop("<</>>/>>>",8),bitShiftL:createBinop("<</>>/>>>",8),bitShiftR:createBinop("<</>>/>>>",8),plusMin:createToken("+/-",{beforeExpr:beforeExpr,binop:9,prefix:prefix,startsExpr:startsExpr}),modulo:createToken("%",{binop:10,startsExpr:startsExpr}),star:createToken("*",{binop:10}),slash:createBinop("/",10),exponent:createToken("**",{beforeExpr:beforeExpr,binop:11,rightAssociative:true}),_in:createKeyword("in",{beforeExpr:beforeExpr,binop:7}),_instanceof:createKeyword("instanceof",{beforeExpr:beforeExpr,binop:7}),_break:createKeyword("break"),_case:createKeyword("case",{beforeExpr:beforeExpr}),_catch:createKeyword("catch"),_continue:createKeyword("continue"),_debugger:createKeyword("debugger"),_default:createKeyword("default",{beforeExpr:beforeExpr}),_else:createKeyword("else",{beforeExpr:beforeExpr}),_finally:createKeyword("finally"),_function:createKeyword("function",{startsExpr:startsExpr}),_if:createKeyword("if"),_return:createKeyword("return",{beforeExpr:beforeExpr}),_switch:createKeyword("switch"),_throw:createKeyword("throw",{beforeExpr:beforeExpr,prefix:prefix,startsExpr:startsExpr}),_try:createKeyword("try"),_var:createKeyword("var"),_const:createKeyword("const"),_with:createKeyword("with"),_new:createKeyword("new",{beforeExpr:beforeExpr,startsExpr:startsExpr}),_this:createKeyword("this",{startsExpr:startsExpr}),_super:createKeyword("super",{startsExpr:startsExpr}),_class:createKeyword("class",{startsExpr:startsExpr}),_extends:createKeyword("extends",{beforeExpr:beforeExpr}),_export:createKeyword("export"),_import:createKeyword("import",{startsExpr:startsExpr}),_null:createKeyword("null",{startsExpr:startsExpr}),_true:createKeyword("true",{startsExpr:startsExpr}),_false:createKeyword("false",{startsExpr:startsExpr}),_typeof:createKeyword("typeof",{beforeExpr:beforeExpr,prefix:prefix,startsExpr:startsExpr}),_void:createKeyword("void",{beforeExpr:beforeExpr,prefix:prefix,startsExpr:startsExpr}),_delete:createKeyword("delete",{beforeExpr:beforeExpr,prefix:prefix,startsExpr:startsExpr}),_do:createKeyword("do",{isLoop:isLoop,beforeExpr:beforeExpr}),_for:createKeyword("for",{isLoop:isLoop}),_while:createKeyword("while",{isLoop:isLoop}),_as:createKeywordLike("as",{startsExpr:startsExpr}),_assert:createKeywordLike("assert",{startsExpr:startsExpr}),_async:createKeywordLike("async",{startsExpr:startsExpr}),_await:createKeywordLike("await",{startsExpr:startsExpr}),_defer:createKeywordLike("defer",{startsExpr:startsExpr}),_from:createKeywordLike("from",{startsExpr:startsExpr}),_get:createKeywordLike("get",{startsExpr:startsExpr}),_let:createKeywordLike("let",{startsExpr:startsExpr}),_meta:createKeywordLike("meta",{startsExpr:startsExpr}),_of:createKeywordLike("of",{startsExpr:startsExpr}),_sent:createKeywordLike("sent",{startsExpr:startsExpr}),_set:createKeywordLike("set",{startsExpr:startsExpr}),_source:createKeywordLike("source",{startsExpr:startsExpr}),_static:createKeywordLike("static",{startsExpr:startsExpr}),_using:createKeywordLike("using",{startsExpr:startsExpr}),_yield:createKeywordLike("yield",{startsExpr:startsExpr}),_asserts:createKeywordLike("asserts",{startsExpr:startsExpr}),_checks:createKeywordLike("checks",{startsExpr:startsExpr}),_exports:createKeywordLike("exports",{startsExpr:startsExpr}),_global:createKeywordLike("global",{startsExpr:startsExpr}),_implements:createKeywordLike("implements",{startsExpr:startsExpr}),_intrinsic:createKeywordLike("intrinsic",{startsExpr:startsExpr}),_infer:createKeywordLike("infer",{startsExpr:startsExpr}),_is:createKeywordLike("is",{startsExpr:startsExpr}),_mixins:createKeywordLike("mixins",{startsExpr:startsExpr}),_proto:createKeywordLike("proto",{startsExpr:startsExpr}),_require:createKeywordLike("require",{startsExpr:startsExpr}),_satisfies:createKeywordLike("satisfies",{startsExpr:startsExpr}),_keyof:createKeywordLike("keyof",{startsExpr:startsExpr}),_readonly:createKeywordLike("readonly",{startsExpr:startsExpr}),_unique:createKeywordLike("unique",{startsExpr:startsExpr}),_abstract:createKeywordLike("abstract",{startsExpr:startsExpr}),_declare:createKeywordLike("declare",{startsExpr:startsExpr}),_enum:createKeywordLike("enum",{startsExpr:startsExpr}),_module:createKeywordLike("module",{startsExpr:startsExpr}),_namespace:createKeywordLike("namespace",{startsExpr:startsExpr}),_interface:createKeywordLike("interface",{startsExpr:startsExpr}),_type:createKeywordLike("type",{startsExpr:startsExpr}),_opaque:createKeywordLike("opaque",{startsExpr:startsExpr}),name:createToken("name",{startsExpr:startsExpr}),string:createToken("string",{startsExpr:startsExpr}),num:createToken("num",{startsExpr:startsExpr}),bigint:createToken("bigint",{startsExpr:startsExpr}),decimal:createToken("decimal",{startsExpr:startsExpr}),regexp:createToken("regexp",{startsExpr:startsExpr}),privateName:createToken("#name",{startsExpr:startsExpr}),eof:createToken("eof"),jsxName:createToken("jsxName"),jsxText:createToken("jsxText",{beforeExpr:true}),jsxTagStart:createToken("jsxTagStart",{startsExpr:true}),jsxTagEnd:createToken("jsxTagEnd"),placeholder:createToken("%%",{startsExpr:true})};function tokenIsIdentifier(token){return token>=93&&token<=132;}function tokenKeywordOrIdentifierIsKeyword(token){return token<=92;}function tokenIsKeywordOrIdentifier(token){return token>=58&&token<=132;}function tokenIsLiteralPropertyName(token){return token>=58&&token<=136;}function tokenComesBeforeExpression(token){return tokenBeforeExprs[token];}function tokenCanStartExpression(token){return tokenStartsExprs[token];}function tokenIsAssignment(token){return token>=29&&token<=33;}function tokenIsFlowInterfaceOrTypeOrOpaque(token){return token>=129&&token<=131;}function tokenIsLoop(token){return token>=90&&token<=92;}function tokenIsKeyword(token){return token>=58&&token<=92;}function tokenIsOperator(token){return token>=39&&token<=59;}function tokenIsPostfix(token){return token===34;}function tokenIsPrefix(token){return tokenPrefixes[token];}function tokenIsTSTypeOperator(token){return token>=121&&token<=123;}function tokenIsTSDeclarationStart(token){return token>=124&&token<=130;}function tokenLabelName(token){return tokenLabels[token];}function tokenOperatorPrecedence(token){return tokenBinops[token];}function tokenIsRightAssociative(token){return token===57;}function tokenIsTemplate(token){return token>=24&&token<=25;}function getExportedToken(token){return tokenTypes[token];}{tokenTypes[8].updateContext=function(context){context.pop();};tokenTypes[5].updateContext=tokenTypes[7].updateContext=tokenTypes[23].updateContext=function(context){context.push(types.brace);};tokenTypes[22].updateContext=function(context){if(context[context.length-1]===types.template){context.pop();}else{context.push(types.template);}};tokenTypes[142].updateContext=function(context){context.push(types.j_expr,types.j_oTag);};}function isIteratorStart(current,next,next2){return current===64&&next===64&&isIdentifierStart(next2);}var reservedWordLikeSet=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","implements","interface","let","package","private","protected","public","static","yield","eval","arguments","enum","await"]);function canBeReservedWord(word){return reservedWordLikeSet.has(word);}var ScopeFlag={OTHER:0,PROGRAM:1,FUNCTION:2,ARROW:4,SIMPLE_CATCH:8,SUPER:16,DIRECT_SUPER:32,CLASS:64,STATIC_BLOCK:128,TS_MODULE:256,VAR:387};var BindingFlag={KIND_VALUE:1,KIND_TYPE:2,SCOPE_VAR:4,SCOPE_LEXICAL:8,SCOPE_FUNCTION:16,SCOPE_OUTSIDE:32,FLAG_NONE:64,FLAG_CLASS:128,FLAG_TS_ENUM:256,FLAG_TS_CONST_ENUM:512,FLAG_TS_EXPORT_ONLY:1024,FLAG_FLOW_DECLARE_FN:2048,FLAG_TS_IMPORT:4096,FLAG_NO_LET_IN_LEXICAL:8192,TYPE_CLASS:8331,TYPE_LEXICAL:8201,TYPE_CATCH_PARAM:9,TYPE_VAR:5,TYPE_FUNCTION:17,TYPE_TS_INTERFACE:130,TYPE_TS_TYPE:2,TYPE_TS_ENUM:8459,TYPE_TS_AMBIENT:1024,TYPE_NONE:64,TYPE_OUTSIDE:65,TYPE_TS_CONST_ENUM:8971,TYPE_TS_NAMESPACE:1024,TYPE_TS_TYPE_IMPORT:4098,TYPE_TS_VALUE_IMPORT:4096,TYPE_FLOW_DECLARE_FN:2048};var ClassElementType={OTHER:0,FLAG_STATIC:4,KIND_GETTER:2,KIND_SETTER:1,KIND_ACCESSOR:3,STATIC_GETTER:6,STATIC_SETTER:5,INSTANCE_GETTER:2,INSTANCE_SETTER:1};var NameType={Var:1,Lexical:2,Function:4};var Scope=_createClass(function Scope(flags){this.flags=0;this.names=new Map();this.firstLexicalName="";this.flags=flags;});var ScopeHandler=function(){function ScopeHandler(parser,inModule){this.parser=void 0;this.scopeStack=[];this.inModule=void 0;this.undefinedExports=new Map();this.parser=parser;this.inModule=inModule;}var _proto=ScopeHandler.prototype;_proto.createScope=function createScope(flags){return new Scope(flags);};_proto.enter=function enter(flags){this.scopeStack.push(this.createScope(flags));};_proto.exit=function exit(){var scope=this.scopeStack.pop();return scope.flags;};_proto.treatFunctionsAsVarInScope=function treatFunctionsAsVarInScope(scope){return!!(scope.flags&(ScopeFlag.FUNCTION|ScopeFlag.STATIC_BLOCK)||!this.parser.inModule&&scope.flags&ScopeFlag.PROGRAM);};_proto.declareName=function declareName(name,bindingType,loc){var scope=this.currentScope();if(bindingType&BindingFlag.SCOPE_LEXICAL||bindingType&BindingFlag.SCOPE_FUNCTION){this.checkRedeclarationInScope(scope,name,bindingType,loc);var type=scope.names.get(name)||0;if(bindingType&BindingFlag.SCOPE_FUNCTION){type=type|NameType.Function;}else{if(!scope.firstLexicalName){scope.firstLexicalName=name;}type=type|NameType.Lexical;}scope.names.set(name,type);if(bindingType&BindingFlag.SCOPE_LEXICAL){this.maybeExportDefined(scope,name);}}else if(bindingType&BindingFlag.SCOPE_VAR){for(var i=this.scopeStack.length-1;i>=0;--i){scope=this.scopeStack[i];this.checkRedeclarationInScope(scope,name,bindingType,loc);scope.names.set(name,(scope.names.get(name)||0)|NameType.Var);this.maybeExportDefined(scope,name);if(scope.flags&ScopeFlag.VAR)break;}}if(this.parser.inModule&&scope.flags&ScopeFlag.PROGRAM){this.undefinedExports["delete"](name);}};_proto.maybeExportDefined=function maybeExportDefined(scope,name){if(this.parser.inModule&&scope.flags&ScopeFlag.PROGRAM){this.undefinedExports["delete"](name);}};_proto.checkRedeclarationInScope=function checkRedeclarationInScope(scope,name,bindingType,loc){if(this.isRedeclaredInScope(scope,name,bindingType)){this.parser.raise(Errors.VarRedeclaration,loc,{identifierName:name});}};_proto.isRedeclaredInScope=function isRedeclaredInScope(scope,name,bindingType){if(!(bindingType&BindingFlag.KIND_VALUE))return false;if(bindingType&BindingFlag.SCOPE_LEXICAL){return scope.names.has(name);}var type=scope.names.get(name);if(bindingType&BindingFlag.SCOPE_FUNCTION){return(type&NameType.Lexical)>0||!this.treatFunctionsAsVarInScope(scope)&&(type&NameType.Var)>0;}return(type&NameType.Lexical)>0&&!(scope.flags&ScopeFlag.SIMPLE_CATCH&&scope.firstLexicalName===name)||!this.treatFunctionsAsVarInScope(scope)&&(type&NameType.Function)>0;};_proto.checkLocalExport=function checkLocalExport(id){var name=id.name;var topLevelScope=this.scopeStack[0];if(!topLevelScope.names.has(name)){this.undefinedExports.set(name,id.loc.start);}};_proto.currentScope=function currentScope(){return this.scopeStack[this.scopeStack.length-1];};_proto.currentVarScopeFlags=function currentVarScopeFlags(){for(var i=this.scopeStack.length-1;;i--){var flags=this.scopeStack[i].flags;if(flags&ScopeFlag.VAR){return flags;}}};_proto.currentThisScopeFlags=function currentThisScopeFlags(){for(var i=this.scopeStack.length-1;;i--){var flags=this.scopeStack[i].flags;if(flags&(ScopeFlag.VAR|ScopeFlag.CLASS)&&!(flags&ScopeFlag.ARROW)){return flags;}}};_createClass(ScopeHandler,[{key:"inTopLevel",get:function get(){return(this.currentScope().flags&ScopeFlag.PROGRAM)>0;}},{key:"inFunction",get:function get(){return(this.currentVarScopeFlags()&ScopeFlag.FUNCTION)>0;}},{key:"allowSuper",get:function get(){return(this.currentThisScopeFlags()&ScopeFlag.SUPER)>0;}},{key:"allowDirectSuper",get:function get(){return(this.currentThisScopeFlags()&ScopeFlag.DIRECT_SUPER)>0;}},{key:"inClass",get:function get(){return(this.currentThisScopeFlags()&ScopeFlag.CLASS)>0;}},{key:"inClassAndNotInNonArrowFunction",get:function get(){var flags=this.currentThisScopeFlags();return(flags&ScopeFlag.CLASS)>0&&(flags&ScopeFlag.FUNCTION)===0;}},{key:"inStaticBlock",get:function get(){for(var i=this.scopeStack.length-1;;i--){var flags=this.scopeStack[i].flags;if(flags&ScopeFlag.STATIC_BLOCK){return true;}if(flags&(ScopeFlag.VAR|ScopeFlag.CLASS)){return false;}}}},{key:"inNonArrowFunction",get:function get(){return(this.currentThisScopeFlags()&ScopeFlag.FUNCTION)>0;}},{key:"treatFunctionsAsVar",get:function get(){return this.treatFunctionsAsVarInScope(this.currentScope());}}]);return ScopeHandler;}();var FlowScope=function(_Scope){_inherits(FlowScope,_Scope);function FlowScope(){var _this;for(var _len=arguments.length,args=new Array(_len),_key=0;_key<_len;_key++){args[_key]=arguments[_key];}_this=_Scope.call.apply(_Scope,[this].concat(args))||this;_this.declareFunctions=new Set();return _this;}return _createClass(FlowScope);}(Scope);var FlowScopeHandler=function(_ScopeHandler){_inherits(FlowScopeHandler,_ScopeHandler);function FlowScopeHandler(){return _ScopeHandler.apply(this,arguments)||this;}var _proto=FlowScopeHandler.prototype;_proto.createScope=function createScope(flags){return new FlowScope(flags);};_proto.declareName=function declareName(name,bindingType,loc){var scope=this.currentScope();if(bindingType&BindingFlag.FLAG_FLOW_DECLARE_FN){this.checkRedeclarationInScope(scope,name,bindingType,loc);this.maybeExportDefined(scope,name);scope.declareFunctions.add(name);return;}_ScopeHandler.prototype.declareName.call(this,name,bindingType,loc);};_proto.isRedeclaredInScope=function isRedeclaredInScope(scope,name,bindingType){if(_ScopeHandler.prototype.isRedeclaredInScope.call(this,scope,name,bindingType))return true;if(bindingType&BindingFlag.FLAG_FLOW_DECLARE_FN&&!scope.declareFunctions.has(name)){var type=scope.names.get(name);return(type&NameType.Function)>0||(type&NameType.Lexical)>0;}return false;};_proto.checkLocalExport=function checkLocalExport(id){if(!this.scopeStack[0].declareFunctions.has(id.name)){_ScopeHandler.prototype.checkLocalExport.call(this,id);}};return _createClass(FlowScopeHandler);}(ScopeHandler);var BaseParser=function(){function BaseParser(){this.sawUnambiguousESM=false;this.ambiguousScriptDifferentAst=false;}var _proto=BaseParser.prototype;_proto.hasPlugin=function hasPlugin(pluginConfig){if(typeof pluginConfig==="string"){return this.plugins.has(pluginConfig);}else{var pluginName=pluginConfig[0],pluginOptions=pluginConfig[1];if(!this.hasPlugin(pluginName)){return false;}var actualOptions=this.plugins.get(pluginName);for(var _i2=0,_Object$keys2=Object.keys(pluginOptions);_i2<_Object$keys2.length;_i2++){var key=_Object$keys2[_i2];if((actualOptions==null?void 0:actualOptions[key])!==pluginOptions[key]){return false;}}return true;}};_proto.getPluginOption=function getPluginOption(plugin,name){var _this$plugins$get;return(_this$plugins$get=this.plugins.get(plugin))==null?void 0:_this$plugins$get[name];};return _createClass(BaseParser);}();function setTrailingComments(node,comments){if(node.trailingComments===undefined){node.trailingComments=comments;}else{var _node$trailingComment;(_node$trailingComment=node.trailingComments).unshift.apply(_node$trailingComment,comments);}}function setLeadingComments(node,comments){if(node.leadingComments===undefined){node.leadingComments=comments;}else{var _node$leadingComments;(_node$leadingComments=node.leadingComments).unshift.apply(_node$leadingComments,comments);}}function setInnerComments(node,comments){if(node.innerComments===undefined){node.innerComments=comments;}else{var _node$innerComments;(_node$innerComments=node.innerComments).unshift.apply(_node$innerComments,comments);}}function adjustInnerComments(node,elements,commentWS){var lastElement=null;var i=elements.length;while(lastElement===null&&i>0){lastElement=elements[--i];}if(lastElement===null||lastElement.start>commentWS.start){setInnerComments(node,commentWS.comments);}else{setTrailingComments(lastElement,commentWS.comments);}}var CommentsParser=function(_BaseParser){_inherits(CommentsParser,_BaseParser);function CommentsParser(){return _BaseParser.apply(this,arguments)||this;}var _proto=CommentsParser.prototype;_proto.addComment=function addComment(comment){if(this.filename)comment.loc.filename=this.filename;var commentsLen=this.state.commentsLen;if(this.comments.length!=commentsLen)this.comments.length=commentsLen;this.comments.push(comment);this.state.commentsLen++;};_proto.processComment=function processComment(node){var commentStack=this.state.commentStack;var commentStackLength=commentStack.length;if(commentStackLength===0)return;var i=commentStackLength-1;var lastCommentWS=commentStack[i];if(lastCommentWS.start===node.end){lastCommentWS.leadingNode=node;i--;}var nodeStart=node.start;for(;i>=0;i--){var commentWS=commentStack[i];var commentEnd=commentWS.end;if(commentEnd>nodeStart){commentWS.containingNode=node;this.finalizeComment(commentWS);commentStack.splice(i,1);}else{if(commentEnd===nodeStart){commentWS.trailingNode=node;}break;}}};_proto.finalizeComment=function finalizeComment(commentWS){var comments=commentWS.comments;if(commentWS.leadingNode!==null||commentWS.trailingNode!==null){if(commentWS.leadingNode!==null){setTrailingComments(commentWS.leadingNode,comments);}if(commentWS.trailingNode!==null){setLeadingComments(commentWS.trailingNode,comments);}}else{var node=commentWS.containingNode,commentStart=commentWS.start;if(this.input.charCodeAt(commentStart-1)===44){switch(node.type){case"ObjectExpression":case"ObjectPattern":case"RecordExpression":adjustInnerComments(node,node.properties,commentWS);break;case"CallExpression":case"OptionalCallExpression":adjustInnerComments(node,node.arguments,commentWS);break;case"FunctionDeclaration":case"FunctionExpression":case"ArrowFunctionExpression":case"ObjectMethod":case"ClassMethod":case"ClassPrivateMethod":adjustInnerComments(node,node.params,commentWS);break;case"ArrayExpression":case"ArrayPattern":case"TupleExpression":adjustInnerComments(node,node.elements,commentWS);break;case"ExportNamedDeclaration":case"ImportDeclaration":adjustInnerComments(node,node.specifiers,commentWS);break;default:{setInnerComments(node,comments);}}}else{setInnerComments(node,comments);}}};_proto.finalizeRemainingComments=function finalizeRemainingComments(){var commentStack=this.state.commentStack;for(var i=commentStack.length-1;i>=0;i--){this.finalizeComment(commentStack[i]);}this.state.commentStack=[];};_proto.resetPreviousNodeTrailingComments=function resetPreviousNodeTrailingComments(node){var commentStack=this.state.commentStack;var length=commentStack.length;if(length===0)return;var commentWS=commentStack[length-1];if(commentWS.leadingNode===node){commentWS.leadingNode=null;}};_proto.resetPreviousIdentifierLeadingComments=function resetPreviousIdentifierLeadingComments(node){var commentStack=this.state.commentStack;var length=commentStack.length;if(length===0)return;if(commentStack[length-1].trailingNode===node){commentStack[length-1].trailingNode=null;}else if(length>=2&&commentStack[length-2].trailingNode===node){commentStack[length-2].trailingNode=null;}};_proto.takeSurroundingComments=function takeSurroundingComments(node,start,end){var commentStack=this.state.commentStack;var commentStackLength=commentStack.length;if(commentStackLength===0)return;var i=commentStackLength-1;for(;i>=0;i--){var commentWS=commentStack[i];var commentEnd=commentWS.end;var commentStart=commentWS.start;if(commentStart===end){commentWS.leadingNode=node;}else if(commentEnd===start){commentWS.trailingNode=node;}else if(commentEnd<start){break;}}};return _createClass(CommentsParser);}(BaseParser);var lineBreak=/\r\n?|[\n\u2028\u2029]/;var lineBreakG=new RegExp(lineBreak.source,"g");function isNewLine(code){switch(code){case 10:case 13:case 8232:case 8233:return true;default:return false;}}var skipWhiteSpace=/(?:\s|\/\/.*|\/\*[^]*?\*\/)*/g;var skipWhiteSpaceInLine=/(?:[^\S\n\r\u2028\u2029]|\/\/.*|\/\*.*?\*\/)*/g;var skipWhiteSpaceToLineBreak=new RegExp("(?=("+skipWhiteSpaceInLine.source+"))\\1"+/(?=[\n\r\u2028\u2029]|\/\*(?!.*?\*\/)|$)/.source,"y");function isWhitespace(code){switch(code){case 0x0009:case 0x000b:case 0x000c:case 32:case 160:case 5760:case 0x2000:case 0x2001:case 0x2002:case 0x2003:case 0x2004:case 0x2005:case 0x2006:case 0x2007:case 0x2008:case 0x2009:case 0x200a:case 0x202f:case 0x205f:case 0x3000:case 0xfeff:return true;default:return false;}}var LoopLabelKind={Loop:1,Switch:2};var State=function(){function State(){this.flags=1024;this.curLine=void 0;this.lineStart=void 0;this.startLoc=void 0;this.endLoc=void 0;this.errors=[];this.potentialArrowAt=-1;this.noArrowAt=[];this.noArrowParamsConversionAt=[];this.topicContext={maxNumOfResolvableTopics:0,maxTopicIndex:null};this.labels=[];this.commentsLen=0;this.commentStack=[];this.pos=0;this.type=139;this.value=null;this.start=0;this.end=0;this.lastTokEndLoc=null;this.lastTokStartLoc=null;this.context=[types.brace];this.firstInvalidTemplateEscapePos=null;this.strictErrors=new Map();this.tokensLength=0;}var _proto=State.prototype;_proto.init=function init(_ref){var strictMode=_ref.strictMode,sourceType=_ref.sourceType,startLine=_ref.startLine,startColumn=_ref.startColumn;this.strict=strictMode===false?false:strictMode===true?true:sourceType==="module";this.curLine=startLine;this.lineStart=-startColumn;this.startLoc=this.endLoc=new Position(startLine,startColumn,0);};_proto.curPosition=function curPosition(){return new Position(this.curLine,this.pos-this.lineStart,this.pos);};_proto.clone=function clone(){var state=new State();state.flags=this.flags;state.curLine=this.curLine;state.lineStart=this.lineStart;state.startLoc=this.startLoc;state.endLoc=this.endLoc;state.errors=this.errors.slice();state.potentialArrowAt=this.potentialArrowAt;state.noArrowAt=this.noArrowAt.slice();state.noArrowParamsConversionAt=this.noArrowParamsConversionAt.slice();state.topicContext=this.topicContext;state.labels=this.labels.slice();state.commentsLen=this.commentsLen;state.commentStack=this.commentStack.slice();state.pos=this.pos;state.type=this.type;state.value=this.value;state.start=this.start;state.end=this.end;state.lastTokEndLoc=this.lastTokEndLoc;state.lastTokStartLoc=this.lastTokStartLoc;state.context=this.context.slice();state.firstInvalidTemplateEscapePos=this.firstInvalidTemplateEscapePos;state.strictErrors=this.strictErrors;state.tokensLength=this.tokensLength;return state;};_createClass(State,[{key:"strict",get:function get(){return(this.flags&1)>0;},set:function set(value){if(value){this.flags|=1;}else{this.flags&=~1;}}},{key:"maybeInArrowParameters",get:function get(){return(this.flags&2)>0;},set:function set(value){if(value){this.flags|=2;}else{this.flags&=~2;}}},{key:"inType",get:function get(){return(this.flags&4)>0;},set:function set(value){if(value){this.flags|=4;}else{this.flags&=~4;}}},{key:"noAnonFunctionType",get:function get(){return(this.flags&8)>0;},set:function set(value){if(value){this.flags|=8;}else{this.flags&=~8;}}},{key:"hasFlowComment",get:function get(){return(this.flags&16)>0;},set:function set(value){if(value){this.flags|=16;}else{this.flags&=~16;}}},{key:"isAmbientContext",get:function get(){return(this.flags&32)>0;},set:function set(value){if(value){this.flags|=32;}else{this.flags&=~32;}}},{key:"inAbstractClass",get:function get(){return(this.flags&64)>0;},set:function set(value){if(value){this.flags|=64;}else{this.flags&=~64;}}},{key:"inDisallowConditionalTypesContext",get:function get(){return(this.flags&128)>0;},set:function set(value){if(value){this.flags|=128;}else{this.flags&=~128;}}},{key:"soloAwait",get:function get(){return(this.flags&256)>0;},set:function set(value){if(value){this.flags|=256;}else{this.flags&=~256;}}},{key:"inFSharpPipelineDirectBody",get:function get(){return(this.flags&512)>0;},set:function set(value){if(value){this.flags|=512;}else{this.flags&=~512;}}},{key:"canStartJSXElement",get:function get(){return(this.flags&1024)>0;},set:function set(value){if(value){this.flags|=1024;}else{this.flags&=~1024;}}},{key:"containsEsc",get:function get(){return(this.flags&2048)>0;},set:function set(value){if(value){this.flags|=2048;}else{this.flags&=~2048;}}}]);return State;}();function buildPosition(pos,lineStart,curLine){return new Position(curLine,pos-lineStart,pos);}var VALID_REGEX_FLAGS=new Set([103,109,115,105,121,117,100,118]);var Token=_createClass(function Token(state){this.type=state.type;this.value=state.value;this.start=state.start;this.end=state.end;this.loc=new SourceLocation(state.startLoc,state.endLoc);});var Tokenizer=function(_CommentsParser){_inherits(Tokenizer,_CommentsParser);function Tokenizer(options,input){var _this;_this=_CommentsParser.call(this)||this;_this.isLookahead=void 0;_this.tokens=[];_this.errorHandlers_readInt={invalidDigit:function invalidDigit(pos,lineStart,curLine,radix){if(!_this.options.errorRecovery)return false;_this.raise(Errors.InvalidDigit,buildPosition(pos,lineStart,curLine),{radix:radix});return true;},numericSeparatorInEscapeSequence:_this.errorBuilder(Errors.NumericSeparatorInEscapeSequence),unexpectedNumericSeparator:_this.errorBuilder(Errors.UnexpectedNumericSeparator)};_this.errorHandlers_readCodePoint=Object.assign({},_this.errorHandlers_readInt,{invalidEscapeSequence:_this.errorBuilder(Errors.InvalidEscapeSequence),invalidCodePoint:_this.errorBuilder(Errors.InvalidCodePoint)});_this.errorHandlers_readStringContents_string=Object.assign({},_this.errorHandlers_readCodePoint,{strictNumericEscape:function strictNumericEscape(pos,lineStart,curLine){_this.recordStrictModeErrors(Errors.StrictNumericEscape,buildPosition(pos,lineStart,curLine));},unterminated:function unterminated(pos,lineStart,curLine){throw _this.raise(Errors.UnterminatedString,buildPosition(pos-1,lineStart,curLine));}});_this.errorHandlers_readStringContents_template=Object.assign({},_this.errorHandlers_readCodePoint,{strictNumericEscape:_this.errorBuilder(Errors.StrictNumericEscape),unterminated:function unterminated(pos,lineStart,curLine){throw _this.raise(Errors.UnterminatedTemplate,buildPosition(pos,lineStart,curLine));}});_this.state=new State();_this.state.init(options);_this.input=input;_this.length=input.length;_this.comments=[];_this.isLookahead=false;return _this;}var _proto=Tokenizer.prototype;_proto.pushToken=function pushToken(token){this.tokens.length=this.state.tokensLength;this.tokens.push(token);++this.state.tokensLength;};_proto.next=function next(){this.checkKeywordEscapes();if(this.options.tokens){this.pushToken(new Token(this.state));}this.state.lastTokEndLoc=this.state.endLoc;this.state.lastTokStartLoc=this.state.startLoc;this.nextToken();};_proto.eat=function eat(type){if(this.match(type)){this.next();return true;}else{return false;}};_proto.match=function match(type){return this.state.type===type;};_proto.createLookaheadState=function createLookaheadState(state){return{pos:state.pos,value:null,type:state.type,start:state.start,end:state.end,context:[this.curContext()],inType:state.inType,startLoc:state.startLoc,lastTokEndLoc:state.lastTokEndLoc,curLine:state.curLine,lineStart:state.lineStart,curPosition:state.curPosition};};_proto.lookahead=function lookahead(){var old=this.state;this.state=this.createLookaheadState(old);this.isLookahead=true;this.nextToken();this.isLookahead=false;var curr=this.state;this.state=old;return curr;};_proto.nextTokenStart=function nextTokenStart(){return this.nextTokenStartSince(this.state.pos);};_proto.nextTokenStartSince=function nextTokenStartSince(pos){skipWhiteSpace.lastIndex=pos;return skipWhiteSpace.test(this.input)?skipWhiteSpace.lastIndex:pos;};_proto.lookaheadCharCode=function lookaheadCharCode(){return this.input.charCodeAt(this.nextTokenStart());};_proto.nextTokenInLineStart=function nextTokenInLineStart(){return this.nextTokenInLineStartSince(this.state.pos);};_proto.nextTokenInLineStartSince=function nextTokenInLineStartSince(pos){skipWhiteSpaceInLine.lastIndex=pos;return skipWhiteSpaceInLine.test(this.input)?skipWhiteSpaceInLine.lastIndex:pos;};_proto.lookaheadInLineCharCode=function lookaheadInLineCharCode(){return this.input.charCodeAt(this.nextTokenInLineStart());};_proto.codePointAtPos=function codePointAtPos(pos){var cp=this.input.charCodeAt(pos);if((cp&0xfc00)===0xd800&&++pos<this.input.length){var trail=this.input.charCodeAt(pos);if((trail&0xfc00)===0xdc00){cp=0x10000+((cp&0x3ff)<<10)+(trail&0x3ff);}}return cp;};_proto.setStrict=function setStrict(strict){var _this2=this;this.state.strict=strict;if(strict){this.state.strictErrors.forEach(function(_ref){var toParseError=_ref[0],at=_ref[1];return _this2.raise(toParseError,at);});this.state.strictErrors.clear();}};_proto.curContext=function curContext(){return this.state.context[this.state.context.length-1];};_proto.nextToken=function nextToken(){this.skipSpace();this.state.start=this.state.pos;if(!this.isLookahead)this.state.startLoc=this.state.curPosition();if(this.state.pos>=this.length){this.finishToken(139);return;}this.getTokenFromCode(this.codePointAtPos(this.state.pos));};_proto.skipBlockComment=function skipBlockComment(commentEnd){var startLoc;if(!this.isLookahead)startLoc=this.state.curPosition();var start=this.state.pos;var end=this.input.indexOf(commentEnd,start+2);if(end===-1){throw this.raise(Errors.UnterminatedComment,this.state.curPosition());}this.state.pos=end+commentEnd.length;lineBreakG.lastIndex=start+2;while(lineBreakG.test(this.input)&&lineBreakG.lastIndex<=end){++this.state.curLine;this.state.lineStart=lineBreakG.lastIndex;}if(this.isLookahead)return;var comment={type:"CommentBlock",value:this.input.slice(start+2,end),start:start,end:end+commentEnd.length,loc:new SourceLocation(startLoc,this.state.curPosition())};if(this.options.tokens)this.pushToken(comment);return comment;};_proto.skipLineComment=function skipLineComment(startSkip){var start=this.state.pos;var startLoc;if(!this.isLookahead)startLoc=this.state.curPosition();var ch=this.input.charCodeAt(this.state.pos+=startSkip);if(this.state.pos<this.length){while(!isNewLine(ch)&&++this.state.pos<this.length){ch=this.input.charCodeAt(this.state.pos);}}if(this.isLookahead)return;var end=this.state.pos;var value=this.input.slice(start+startSkip,end);var comment={type:"CommentLine",value:value,start:start,end:end,loc:new SourceLocation(startLoc,this.state.curPosition())};if(this.options.tokens)this.pushToken(comment);return comment;};_proto.skipSpace=function skipSpace(){var spaceStart=this.state.pos;var comments=[];loop:while(this.state.pos<this.length){var ch=this.input.charCodeAt(this.state.pos);switch(ch){case 32:case 160:case 9:++this.state.pos;break;case 13:if(this.input.charCodeAt(this.state.pos+1)===10){++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:{var comment=this.skipBlockComment("*/");if(comment!==undefined){this.addComment(comment);if(this.options.attachComment)comments.push(comment);}break;}case 47:{var _comment=this.skipLineComment(2);if(_comment!==undefined){this.addComment(_comment);if(this.options.attachComment)comments.push(_comment);}break;}default:break loop;}break;default:if(isWhitespace(ch)){++this.state.pos;}else if(ch===45&&!this.inModule&&this.options.annexB){var pos=this.state.pos;if(this.input.charCodeAt(pos+1)===45&&this.input.charCodeAt(pos+2)===62&&(spaceStart===0||this.state.lineStart>spaceStart)){var _comment2=this.skipLineComment(3);if(_comment2!==undefined){this.addComment(_comment2);if(this.options.attachComment)comments.push(_comment2);}}else{break loop;}}else if(ch===60&&!this.inModule&&this.options.annexB){var _pos=this.state.pos;if(this.input.charCodeAt(_pos+1)===33&&this.input.charCodeAt(_pos+2)===45&&this.input.charCodeAt(_pos+3)===45){var _comment3=this.skipLineComment(4);if(_comment3!==undefined){this.addComment(_comment3);if(this.options.attachComment)comments.push(_comment3);}}else{break loop;}}else{break loop;}}}if(comments.length>0){var end=this.state.pos;var commentWhitespace={start:spaceStart,end:end,comments:comments,leadingNode:null,trailingNode:null,containingNode:null};this.state.commentStack.push(commentWhitespace);}};_proto.finishToken=function finishToken(type,val){this.state.end=this.state.pos;this.state.endLoc=this.state.curPosition();var prevType=this.state.type;this.state.type=type;this.state.value=val;if(!this.isLookahead){this.updateContext(prevType);}};_proto.replaceToken=function replaceToken(type){this.state.type=type;this.updateContext();};_proto.readToken_numberSign=function readToken_numberSign(){if(this.state.pos===0&&this.readToken_interpreter()){return;}var nextPos=this.state.pos+1;var next=this.codePointAtPos(nextPos);if(next>=48&&next<=57){throw this.raise(Errors.UnexpectedDigitAfterHash,this.state.curPosition());}if(next===123||next===91&&this.hasPlugin("recordAndTuple")){this.expectPlugin("recordAndTuple");if(this.getPluginOption("recordAndTuple","syntaxType")==="bar"){throw this.raise(next===123?Errors.RecordExpressionHashIncorrectStartSyntaxType:Errors.TupleExpressionHashIncorrectStartSyntaxType,this.state.curPosition());}this.state.pos+=2;if(next===123){this.finishToken(7);}else{this.finishToken(1);}}else if(isIdentifierStart(next)){++this.state.pos;this.finishToken(138,this.readWord1(next));}else if(next===92){++this.state.pos;this.finishToken(138,this.readWord1());}else{this.finishOp(27,1);}};_proto.readToken_dot=function readToken_dot(){var next=this.input.charCodeAt(this.state.pos+1);if(next>=48&&next<=57){this.readNumber(true);return;}if(next===46&&this.input.charCodeAt(this.state.pos+2)===46){this.state.pos+=3;this.finishToken(21);}else{++this.state.pos;this.finishToken(16);}};_proto.readToken_slash=function readToken_slash(){var next=this.input.charCodeAt(this.state.pos+1);if(next===61){this.finishOp(31,2);}else{this.finishOp(56,1);}};_proto.readToken_interpreter=function readToken_interpreter(){if(this.state.pos!==0||this.length<2)return false;var ch=this.input.charCodeAt(this.state.pos+1);if(ch!==33)return false;var start=this.state.pos;this.state.pos+=1;while(!isNewLine(ch)&&++this.state.pos<this.length){ch=this.input.charCodeAt(this.state.pos);}var value=this.input.slice(start+2,this.state.pos);this.finishToken(28,value);return true;};_proto.readToken_mult_modulo=function readToken_mult_modulo(code){var type=code===42?55:54;var width=1;var next=this.input.charCodeAt(this.state.pos+1);if(code===42&&next===42){width++;next=this.input.charCodeAt(this.state.pos+2);type=57;}if(next===61&&!this.state.inType){width++;type=code===37?33:30;}this.finishOp(type,width);};_proto.readToken_pipe_amp=function readToken_pipe_amp(code){var next=this.input.charCodeAt(this.state.pos+1);if(next===code){if(this.input.charCodeAt(this.state.pos+2)===61){this.finishOp(30,3);}else{this.finishOp(code===124?41:42,2);}return;}if(code===124){if(next===62){this.finishOp(39,2);return;}if(this.hasPlugin("recordAndTuple")&&next===125){if(this.getPluginOption("recordAndTuple","syntaxType")!=="bar"){throw this.raise(Errors.RecordExpressionBarIncorrectEndSyntaxType,this.state.curPosition());}this.state.pos+=2;this.finishToken(9);return;}if(this.hasPlugin("recordAndTuple")&&next===93){if(this.getPluginOption("recordAndTuple","syntaxType")!=="bar"){throw this.raise(Errors.TupleExpressionBarIncorrectEndSyntaxType,this.state.curPosition());}this.state.pos+=2;this.finishToken(4);return;}}if(next===61){this.finishOp(30,2);return;}this.finishOp(code===124?43:45,1);};_proto.readToken_caret=function readToken_caret(){var next=this.input.charCodeAt(this.state.pos+1);if(next===61&&!this.state.inType){this.finishOp(32,2);}else if(next===94&&this.hasPlugin(["pipelineOperator",{proposal:"hack",topicToken:"^^"}])){this.finishOp(37,2);var lookaheadCh=this.input.codePointAt(this.state.pos);if(lookaheadCh===94){this.unexpected();}}else{this.finishOp(44,1);}};_proto.readToken_atSign=function readToken_atSign(){var next=this.input.charCodeAt(this.state.pos+1);if(next===64&&this.hasPlugin(["pipelineOperator",{proposal:"hack",topicToken:"@@"}])){this.finishOp(38,2);}else{this.finishOp(26,1);}};_proto.readToken_plus_min=function readToken_plus_min(code){var next=this.input.charCodeAt(this.state.pos+1);if(next===code){this.finishOp(34,2);return;}if(next===61){this.finishOp(30,2);}else{this.finishOp(53,1);}};_proto.readToken_lt=function readToken_lt(){var pos=this.state.pos;var next=this.input.charCodeAt(pos+1);if(next===60){if(this.input.charCodeAt(pos+2)===61){this.finishOp(30,3);return;}this.finishOp(51,2);return;}if(next===61){this.finishOp(49,2);return;}this.finishOp(47,1);};_proto.readToken_gt=function readToken_gt(){var pos=this.state.pos;var next=this.input.charCodeAt(pos+1);if(next===62){var size=this.input.charCodeAt(pos+2)===62?3:2;if(this.input.charCodeAt(pos+size)===61){this.finishOp(30,size+1);return;}this.finishOp(52,size);return;}if(next===61){this.finishOp(49,2);return;}this.finishOp(48,1);};_proto.readToken_eq_excl=function readToken_eq_excl(code){var next=this.input.charCodeAt(this.state.pos+1);if(next===61){this.finishOp(46,this.input.charCodeAt(this.state.pos+2)===61?3:2);return;}if(code===61&&next===62){this.state.pos+=2;this.finishToken(19);return;}this.finishOp(code===61?29:35,1);};_proto.readToken_question=function readToken_question(){var next=this.input.charCodeAt(this.state.pos+1);var next2=this.input.charCodeAt(this.state.pos+2);if(next===63){if(next2===61){this.finishOp(30,3);}else{this.finishOp(40,2);}}else if(next===46&&!(next2>=48&&next2<=57)){this.state.pos+=2;this.finishToken(18);}else{++this.state.pos;this.finishToken(17);}};_proto.getTokenFromCode=function getTokenFromCode(code){switch(code){case 46:this.readToken_dot();return;case 40:++this.state.pos;this.finishToken(10);return;case 41:++this.state.pos;this.finishToken(11);return;case 59:++this.state.pos;this.finishToken(13);return;case 44:++this.state.pos;this.finishToken(12);return;case 91:if(this.hasPlugin("recordAndTuple")&&this.input.charCodeAt(this.state.pos+1)===124){if(this.getPluginOption("recordAndTuple","syntaxType")!=="bar"){throw this.raise(Errors.TupleExpressionBarIncorrectStartSyntaxType,this.state.curPosition());}this.state.pos+=2;this.finishToken(2);}else{++this.state.pos;this.finishToken(0);}return;case 93:++this.state.pos;this.finishToken(3);return;case 123:if(this.hasPlugin("recordAndTuple")&&this.input.charCodeAt(this.state.pos+1)===124){if(this.getPluginOption("recordAndTuple","syntaxType")!=="bar"){throw this.raise(Errors.RecordExpressionBarIncorrectStartSyntaxType,this.state.curPosition());}this.state.pos+=2;this.finishToken(6);}else{++this.state.pos;this.finishToken(5);}return;case 125:++this.state.pos;this.finishToken(8);return;case 58:if(this.hasPlugin("functionBind")&&this.input.charCodeAt(this.state.pos+1)===58){this.finishOp(15,2);}else{++this.state.pos;this.finishToken(14);}return;case 63:this.readToken_question();return;case 96:this.readTemplateToken();return;case 48:{var next=this.input.charCodeAt(this.state.pos+1);if(next===120||next===88){this.readRadixNumber(16);return;}if(next===111||next===79){this.readRadixNumber(8);return;}if(next===98||next===66){this.readRadixNumber(2);return;}}case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:this.readNumber(false);return;case 34:case 39:this.readString(code);return;case 47:this.readToken_slash();return;case 37:case 42:this.readToken_mult_modulo(code);return;case 124:case 38:this.readToken_pipe_amp(code);return;case 94:this.readToken_caret();return;case 43:case 45:this.readToken_plus_min(code);return;case 60:this.readToken_lt();return;case 62:this.readToken_gt();return;case 61:case 33:this.readToken_eq_excl(code);return;case 126:this.finishOp(36,1);return;case 64:this.readToken_atSign();return;case 35:this.readToken_numberSign();return;case 92:this.readWord();return;default:if(isIdentifierStart(code)){this.readWord(code);return;}}throw this.raise(Errors.InvalidOrUnexpectedToken,this.state.curPosition(),{unexpected:String.fromCodePoint(code)});};_proto.finishOp=function finishOp(type,size){var str=this.input.slice(this.state.pos,this.state.pos+size);this.state.pos+=size;this.finishToken(type,str);};_proto.readRegexp=function readRegexp(){var startLoc=this.state.startLoc;var start=this.state.start+1;var escaped,inClass;var pos=this.state.pos;for(;;++pos){if(pos>=this.length){throw this.raise(Errors.UnterminatedRegExp,createPositionWithColumnOffset(startLoc,1));}var ch=this.input.charCodeAt(pos);if(isNewLine(ch)){throw this.raise(Errors.UnterminatedRegExp,createPositionWithColumnOffset(startLoc,1));}if(escaped){escaped=false;}else{if(ch===91){inClass=true;}else if(ch===93&&inClass){inClass=false;}else if(ch===47&&!inClass){break;}escaped=ch===92;}}var content=this.input.slice(start,pos);++pos;var mods="";var nextPos=function nextPos(){return createPositionWithColumnOffset(startLoc,pos+2-start);};while(pos<this.length){var cp=this.codePointAtPos(pos);var _char=String.fromCharCode(cp);if(VALID_REGEX_FLAGS.has(cp)){if(cp===118){if(mods.includes("u")){this.raise(Errors.IncompatibleRegExpUVFlags,nextPos());}}else if(cp===117){if(mods.includes("v")){this.raise(Errors.IncompatibleRegExpUVFlags,nextPos());}}if(mods.includes(_char)){this.raise(Errors.DuplicateRegExpFlags,nextPos());}}else if(isIdentifierChar(cp)||cp===92){this.raise(Errors.MalformedRegExpFlags,nextPos());}else{break;}++pos;mods+=_char;}this.state.pos=pos;this.finishToken(137,{pattern:content,flags:mods});};_proto.readInt=function readInt$1(radix,len,forceLen,allowNumSeparator){if(forceLen===void 0){forceLen=false;}if(allowNumSeparator===void 0){allowNumSeparator=true;}var _readInt2=readInt(this.input,this.state.pos,this.state.lineStart,this.state.curLine,radix,len,forceLen,allowNumSeparator,this.errorHandlers_readInt,false),n=_readInt2.n,pos=_readInt2.pos;this.state.pos=pos;return n;};_proto.readRadixNumber=function readRadixNumber(radix){var startLoc=this.state.curPosition();var isBigInt=false;this.state.pos+=2;var val=this.readInt(radix);if(val==null){this.raise(Errors.InvalidDigit,createPositionWithColumnOffset(startLoc,2),{radix:radix});}var next=this.input.charCodeAt(this.state.pos);if(next===110){++this.state.pos;isBigInt=true;}else if(next===109){throw this.raise(Errors.InvalidDecimal,startLoc);}if(isIdentifierStart(this.codePointAtPos(this.state.pos))){throw this.raise(Errors.NumberIdentifier,this.state.curPosition());}if(isBigInt){var str=this.input.slice(startLoc.index,this.state.pos).replace(/[_n]/g,"");this.finishToken(135,str);return;}this.finishToken(134,val);};_proto.readNumber=function readNumber(startsWithDot){var start=this.state.pos;var startLoc=this.state.curPosition();var isFloat=false;var isBigInt=false;var isDecimal=false;var hasExponent=false;var isOctal=false;if(!startsWithDot&&this.readInt(10)===null){this.raise(Errors.InvalidNumber,this.state.curPosition());}var hasLeadingZero=this.state.pos-start>=2&&this.input.charCodeAt(start)===48;if(hasLeadingZero){var integer=this.input.slice(start,this.state.pos);this.recordStrictModeErrors(Errors.StrictOctalLiteral,startLoc);if(!this.state.strict){var underscorePos=integer.indexOf("_");if(underscorePos>0){this.raise(Errors.ZeroDigitNumericSeparator,createPositionWithColumnOffset(startLoc,underscorePos));}}isOctal=hasLeadingZero&&!/[89]/.test(integer);}var next=this.input.charCodeAt(this.state.pos);if(next===46&&!isOctal){++this.state.pos;this.readInt(10);isFloat=true;next=this.input.charCodeAt(this.state.pos);}if((next===69||next===101)&&!isOctal){next=this.input.charCodeAt(++this.state.pos);if(next===43||next===45){++this.state.pos;}if(this.readInt(10)===null){this.raise(Errors.InvalidOrMissingExponent,startLoc);}isFloat=true;hasExponent=true;next=this.input.charCodeAt(this.state.pos);}if(next===110){if(isFloat||hasLeadingZero){this.raise(Errors.InvalidBigIntLiteral,startLoc);}++this.state.pos;isBigInt=true;}if(next===109){this.expectPlugin("decimal",this.state.curPosition());if(hasExponent||hasLeadingZero){this.raise(Errors.InvalidDecimal,startLoc);}++this.state.pos;isDecimal=true;}if(isIdentifierStart(this.codePointAtPos(this.state.pos))){throw this.raise(Errors.NumberIdentifier,this.state.curPosition());}var str=this.input.slice(start,this.state.pos).replace(/[_mn]/g,"");if(isBigInt){this.finishToken(135,str);return;}if(isDecimal){this.finishToken(136,str);return;}var val=isOctal?parseInt(str,8):parseFloat(str);this.finishToken(134,val);};_proto.readCodePoint=function readCodePoint$1(throwOnInvalid){var _readCodePoint2=readCodePoint(this.input,this.state.pos,this.state.lineStart,this.state.curLine,throwOnInvalid,this.errorHandlers_readCodePoint),code=_readCodePoint2.code,pos=_readCodePoint2.pos;this.state.pos=pos;return code;};_proto.readString=function readString(quote){var _readStringContents=readStringContents(quote===34?"double":"single",this.input,this.state.pos+1,this.state.lineStart,this.state.curLine,this.errorHandlers_readStringContents_string),str=_readStringContents.str,pos=_readStringContents.pos,curLine=_readStringContents.curLine,lineStart=_readStringContents.lineStart;this.state.pos=pos+1;this.state.lineStart=lineStart;this.state.curLine=curLine;this.finishToken(133,str);};_proto.readTemplateContinuation=function readTemplateContinuation(){if(!this.match(8)){this.unexpected(null,8);}this.state.pos--;this.readTemplateToken();};_proto.readTemplateToken=function readTemplateToken(){var opening=this.input[this.state.pos];var _readStringContents2=readStringContents("template",this.input,this.state.pos+1,this.state.lineStart,this.state.curLine,this.errorHandlers_readStringContents_template),str=_readStringContents2.str,firstInvalidLoc=_readStringContents2.firstInvalidLoc,pos=_readStringContents2.pos,curLine=_readStringContents2.curLine,lineStart=_readStringContents2.lineStart;this.state.pos=pos+1;this.state.lineStart=lineStart;this.state.curLine=curLine;if(firstInvalidLoc){this.state.firstInvalidTemplateEscapePos=new Position(firstInvalidLoc.curLine,firstInvalidLoc.pos-firstInvalidLoc.lineStart,firstInvalidLoc.pos);}if(this.input.codePointAt(pos)===96){this.finishToken(24,firstInvalidLoc?null:opening+str+"`");}else{this.state.pos++;this.finishToken(25,firstInvalidLoc?null:opening+str+"${");}};_proto.recordStrictModeErrors=function recordStrictModeErrors(toParseError,at){var index=at.index;if(this.state.strict&&!this.state.strictErrors.has(index)){this.raise(toParseError,at);}else{this.state.strictErrors.set(index,[toParseError,at]);}};_proto.readWord1=function readWord1(firstCode){this.state.containsEsc=false;var word="";var start=this.state.pos;var chunkStart=this.state.pos;if(firstCode!==undefined){this.state.pos+=firstCode<=0xffff?1:2;}while(this.state.pos<this.length){var ch=this.codePointAtPos(this.state.pos);if(isIdentifierChar(ch)){this.state.pos+=ch<=0xffff?1:2;}else if(ch===92){this.state.containsEsc=true;word+=this.input.slice(chunkStart,this.state.pos);var escStart=this.state.curPosition();var identifierCheck=this.state.pos===start?isIdentifierStart:isIdentifierChar;if(this.input.charCodeAt(++this.state.pos)!==117){this.raise(Errors.MissingUnicodeEscape,this.state.curPosition());chunkStart=this.state.pos-1;continue;}++this.state.pos;var esc=this.readCodePoint(true);if(esc!==null){if(!identifierCheck(esc)){this.raise(Errors.EscapedCharNotAnIdentifier,escStart);}word+=String.fromCodePoint(esc);}chunkStart=this.state.pos;}else{break;}}return word+this.input.slice(chunkStart,this.state.pos);};_proto.readWord=function readWord(firstCode){var word=this.readWord1(firstCode);var type=keywords.get(word);if(type!==undefined){this.finishToken(type,tokenLabelName(type));}else{this.finishToken(132,word);}};_proto.checkKeywordEscapes=function checkKeywordEscapes(){var type=this.state.type;if(tokenIsKeyword(type)&&this.state.containsEsc){this.raise(Errors.InvalidEscapedReservedWord,this.state.startLoc,{reservedWord:tokenLabelName(type)});}};_proto.raise=function raise(toParseError,at,details){if(details===void 0){details={};}var loc=at instanceof Position?at:at.loc.start;var error=toParseError(loc,details);if(!this.options.errorRecovery)throw error;if(!this.isLookahead)this.state.errors.push(error);return error;};_proto.raiseOverwrite=function raiseOverwrite(toParseError,at,details){if(details===void 0){details={};}var loc=at instanceof Position?at:at.loc.start;var pos=loc.index;var errors=this.state.errors;for(var i=errors.length-1;i>=0;i--){var error=errors[i];if(error.loc.index===pos){return errors[i]=toParseError(loc,details);}if(error.loc.index<pos)break;}return this.raise(toParseError,at,details);};_proto.updateContext=function updateContext(prevType){};_proto.unexpected=function unexpected(loc,type){throw this.raise(Errors.UnexpectedToken,loc!=null?loc:this.state.startLoc,{expected:type?tokenLabelName(type):null});};_proto.expectPlugin=function expectPlugin(pluginName,loc){if(this.hasPlugin(pluginName)){return true;}throw this.raise(Errors.MissingPlugin,loc!=null?loc:this.state.startLoc,{missingPlugin:[pluginName]});};_proto.expectOnePlugin=function expectOnePlugin(pluginNames){var _this3=this;if(!pluginNames.some(function(name){return _this3.hasPlugin(name);})){throw this.raise(Errors.MissingOneOfPlugins,this.state.startLoc,{missingPlugin:pluginNames});}};_proto.errorBuilder=function errorBuilder(error){var _this4=this;return function(pos,lineStart,curLine){_this4.raise(error,buildPosition(pos,lineStart,curLine));};};return _createClass(Tokenizer);}(CommentsParser);var ClassScope=_createClass(function ClassScope(){this.privateNames=new Set();this.loneAccessors=new Map();this.undefinedPrivateNames=new Map();});var ClassScopeHandler=function(){function ClassScopeHandler(parser){this.parser=void 0;this.stack=[];this.undefinedPrivateNames=new Map();this.parser=parser;}var _proto=ClassScopeHandler.prototype;_proto.current=function current(){return this.stack[this.stack.length-1];};_proto.enter=function enter(){this.stack.push(new ClassScope());};_proto.exit=function exit(){var oldClassScope=this.stack.pop();var current=this.current();for(var _i2=0,_Array$from2=Array.from(oldClassScope.undefinedPrivateNames);_i2<_Array$from2.length;_i2++){var _Array$from2$_i=_Array$from2[_i2],name=_Array$from2$_i[0],loc=_Array$from2$_i[1];if(current){if(!current.undefinedPrivateNames.has(name)){current.undefinedPrivateNames.set(name,loc);}}else{this.parser.raise(Errors.InvalidPrivateFieldResolution,loc,{identifierName:name});}}};_proto.declarePrivateName=function declarePrivateName(name,elementType,loc){var _this$current=this.current(),privateNames=_this$current.privateNames,loneAccessors=_this$current.loneAccessors,undefinedPrivateNames=_this$current.undefinedPrivateNames;var redefined=privateNames.has(name);if(elementType&ClassElementType.KIND_ACCESSOR){var accessor=redefined&&loneAccessors.get(name);if(accessor){var oldStatic=accessor&ClassElementType.FLAG_STATIC;var newStatic=elementType&ClassElementType.FLAG_STATIC;var oldKind=accessor&ClassElementType.KIND_ACCESSOR;var newKind=elementType&ClassElementType.KIND_ACCESSOR;redefined=oldKind===newKind||oldStatic!==newStatic;if(!redefined)loneAccessors["delete"](name);}else if(!redefined){loneAccessors.set(name,elementType);}}if(redefined){this.parser.raise(Errors.PrivateNameRedeclaration,loc,{identifierName:name});}privateNames.add(name);undefinedPrivateNames["delete"](name);};_proto.usePrivateName=function usePrivateName(name,loc){var classScope;for(var _i4=0,_this$stack2=this.stack;_i4<_this$stack2.length;_i4++){classScope=_this$stack2[_i4];if(classScope.privateNames.has(name))return;}if(classScope){classScope.undefinedPrivateNames.set(name,loc);}else{this.parser.raise(Errors.InvalidPrivateFieldResolution,loc,{identifierName:name});}};return _createClass(ClassScopeHandler);}();var ExpressionScope=function(){function ExpressionScope(type){if(type===void 0){type=0;}this.type=type;}var _proto=ExpressionScope.prototype;_proto.canBeArrowParameterDeclaration=function canBeArrowParameterDeclaration(){return this.type===2||this.type===1;};_proto.isCertainlyParameterDeclaration=function isCertainlyParameterDeclaration(){return this.type===3;};return _createClass(ExpressionScope);}();var ArrowHeadParsingScope=function(_ExpressionScope){_inherits(ArrowHeadParsingScope,_ExpressionScope);function ArrowHeadParsingScope(type){var _this;_this=_ExpressionScope.call(this,type)||this;_this.declarationErrors=new Map();return _this;}var _proto2=ArrowHeadParsingScope.prototype;_proto2.recordDeclarationError=function recordDeclarationError(ParsingErrorClass,at){var index=at.index;this.declarationErrors.set(index,[ParsingErrorClass,at]);};_proto2.clearDeclarationError=function clearDeclarationError(index){this.declarationErrors["delete"](index);};_proto2.iterateErrors=function iterateErrors(iterator){this.declarationErrors.forEach(iterator);};return _createClass(ArrowHeadParsingScope);}(ExpressionScope);var ExpressionScopeHandler=function(){function ExpressionScopeHandler(parser){this.parser=void 0;this.stack=[new ExpressionScope()];this.parser=parser;}var _proto3=ExpressionScopeHandler.prototype;_proto3.enter=function enter(scope){this.stack.push(scope);};_proto3.exit=function exit(){this.stack.pop();};_proto3.recordParameterInitializerError=function recordParameterInitializerError(toParseError,node){var origin=node.loc.start;var stack=this.stack;var i=stack.length-1;var scope=stack[i];while(!scope.isCertainlyParameterDeclaration()){if(scope.canBeArrowParameterDeclaration()){scope.recordDeclarationError(toParseError,origin);}else{return;}scope=stack[--i];}this.parser.raise(toParseError,origin);};_proto3.recordArrowParameterBindingError=function recordArrowParameterBindingError(error,node){var stack=this.stack;var scope=stack[stack.length-1];var origin=node.loc.start;if(scope.isCertainlyParameterDeclaration()){this.parser.raise(error,origin);}else if(scope.canBeArrowParameterDeclaration()){scope.recordDeclarationError(error,origin);}else{return;}};_proto3.recordAsyncArrowParametersError=function recordAsyncArrowParametersError(at){var stack=this.stack;var i=stack.length-1;var scope=stack[i];while(scope.canBeArrowParameterDeclaration()){if(scope.type===2){scope.recordDeclarationError(Errors.AwaitBindingIdentifier,at);}scope=stack[--i];}};_proto3.validateAsPattern=function validateAsPattern(){var _this2=this;var stack=this.stack;var currentScope=stack[stack.length-1];if(!currentScope.canBeArrowParameterDeclaration())return;currentScope.iterateErrors(function(_ref){var toParseError=_ref[0],loc=_ref[1];_this2.parser.raise(toParseError,loc);var i=stack.length-2;var scope=stack[i];while(scope.canBeArrowParameterDeclaration()){scope.clearDeclarationError(loc.index);scope=stack[--i];}});};return _createClass(ExpressionScopeHandler);}();function newParameterDeclarationScope(){return new ExpressionScope(3);}function newArrowHeadScope(){return new ArrowHeadParsingScope(1);}function newAsyncArrowScope(){return new ArrowHeadParsingScope(2);}function newExpressionScope(){return new ExpressionScope();}var ParamKind={PARAM:0,PARAM_YIELD:1,PARAM_AWAIT:2,PARAM_RETURN:4,PARAM_IN:8};var ProductionParameterHandler=function(){function ProductionParameterHandler(){this.stacks=[];}var _proto=ProductionParameterHandler.prototype;_proto.enter=function enter(flags){this.stacks.push(flags);};_proto.exit=function exit(){this.stacks.pop();};_proto.currentFlags=function currentFlags(){return this.stacks[this.stacks.length-1];};_createClass(ProductionParameterHandler,[{key:"hasAwait",get:function get(){return(this.currentFlags()&ParamKind.PARAM_AWAIT)>0;}},{key:"hasYield",get:function get(){return(this.currentFlags()&ParamKind.PARAM_YIELD)>0;}},{key:"hasReturn",get:function get(){return(this.currentFlags()&ParamKind.PARAM_RETURN)>0;}},{key:"hasIn",get:function get(){return(this.currentFlags()&ParamKind.PARAM_IN)>0;}}]);return ProductionParameterHandler;}();function functionFlags(isAsync,isGenerator){return(isAsync?ParamKind.PARAM_AWAIT:0)|(isGenerator?ParamKind.PARAM_YIELD:0);}var UtilParser=function(_Tokenizer){_inherits(UtilParser,_Tokenizer);function UtilParser(){return _Tokenizer.apply(this,arguments)||this;}var _proto=UtilParser.prototype;_proto.addExtra=function addExtra(node,key,value,enumerable){if(enumerable===void 0){enumerable=true;}if(!node)return;var extra=node.extra=node.extra||{};if(enumerable){extra[key]=value;}else{Object.defineProperty(extra,key,{enumerable:enumerable,value:value});}};_proto.isContextual=function isContextual(token){return this.state.type===token&&!this.state.containsEsc;};_proto.isUnparsedContextual=function isUnparsedContextual(nameStart,name){var nameEnd=nameStart+name.length;if(this.input.slice(nameStart,nameEnd)===name){var nextCh=this.input.charCodeAt(nameEnd);return!(isIdentifierChar(nextCh)||(nextCh&0xfc00)===0xd800);}return false;};_proto.isLookaheadContextual=function isLookaheadContextual(name){var next=this.nextTokenStart();return this.isUnparsedContextual(next,name);};_proto.eatContextual=function eatContextual(token){if(this.isContextual(token)){this.next();return true;}return false;};_proto.expectContextual=function expectContextual(token,toParseError){if(!this.eatContextual(token)){if(toParseError!=null){throw this.raise(toParseError,this.state.startLoc);}this.unexpected(null,token);}};_proto.canInsertSemicolon=function canInsertSemicolon(){return this.match(139)||this.match(8)||this.hasPrecedingLineBreak();};_proto.hasPrecedingLineBreak=function hasPrecedingLineBreak(){return lineBreak.test(this.input.slice(this.state.lastTokEndLoc.index,this.state.start));};_proto.hasFollowingLineBreak=function hasFollowingLineBreak(){skipWhiteSpaceToLineBreak.lastIndex=this.state.end;return skipWhiteSpaceToLineBreak.test(this.input);};_proto.isLineTerminator=function isLineTerminator(){return this.eat(13)||this.canInsertSemicolon();};_proto.semicolon=function semicolon(allowAsi){if(allowAsi===void 0){allowAsi=true;}if(allowAsi?this.isLineTerminator():this.eat(13))return;this.raise(Errors.MissingSemicolon,this.state.lastTokEndLoc);};_proto.expect=function expect(type,loc){this.eat(type)||this.unexpected(loc,type);};_proto.tryParse=function tryParse(fn,oldState){if(oldState===void 0){oldState=this.state.clone();}var abortSignal={node:null};try{var _node=fn(function(node){if(node===void 0){node=null;}abortSignal.node=node;throw abortSignal;});if(this.state.errors.length>oldState.errors.length){var failState=this.state;this.state=oldState;this.state.tokensLength=failState.tokensLength;return{node:_node,error:failState.errors[oldState.errors.length],thrown:false,aborted:false,failState:failState};}return{node:_node,error:null,thrown:false,aborted:false,failState:null};}catch(error){var _failState=this.state;this.state=oldState;if(error instanceof SyntaxError){return{node:null,error:error,thrown:true,aborted:false,failState:_failState};}if(error===abortSignal){return{node:abortSignal.node,error:null,thrown:false,aborted:true,failState:_failState};}throw error;}};_proto.checkExpressionErrors=function checkExpressionErrors(refExpressionErrors,andThrow){if(!refExpressionErrors)return false;var shorthandAssignLoc=refExpressionErrors.shorthandAssignLoc,doubleProtoLoc=refExpressionErrors.doubleProtoLoc,privateKeyLoc=refExpressionErrors.privateKeyLoc,optionalParametersLoc=refExpressionErrors.optionalParametersLoc;var hasErrors=!!shorthandAssignLoc||!!doubleProtoLoc||!!optionalParametersLoc||!!privateKeyLoc;if(!andThrow){return hasErrors;}if(shorthandAssignLoc!=null){this.raise(Errors.InvalidCoverInitializedName,shorthandAssignLoc);}if(doubleProtoLoc!=null){this.raise(Errors.DuplicateProto,doubleProtoLoc);}if(privateKeyLoc!=null){this.raise(Errors.UnexpectedPrivateField,privateKeyLoc);}if(optionalParametersLoc!=null){this.unexpected(optionalParametersLoc);}};_proto.isLiteralPropertyName=function isLiteralPropertyName(){return tokenIsLiteralPropertyName(this.state.type);};_proto.isPrivateName=function isPrivateName(node){return node.type==="PrivateName";};_proto.getPrivateNameSV=function getPrivateNameSV(node){return node.id.name;};_proto.hasPropertyAsPrivateName=function hasPropertyAsPrivateName(node){return(node.type==="MemberExpression"||node.type==="OptionalMemberExpression")&&this.isPrivateName(node.property);};_proto.isObjectProperty=function isObjectProperty(node){return node.type==="ObjectProperty";};_proto.isObjectMethod=function isObjectMethod(node){return node.type==="ObjectMethod";};_proto.initializeScopes=function initializeScopes(inModule){var _this=this;if(inModule===void 0){inModule=this.options.sourceType==="module";}var oldLabels=this.state.labels;this.state.labels=[];var oldExportedIdentifiers=this.exportedIdentifiers;this.exportedIdentifiers=new Set();var oldInModule=this.inModule;this.inModule=inModule;var oldScope=this.scope;var ScopeHandler=this.getScopeHandler();this.scope=new ScopeHandler(this,inModule);var oldProdParam=this.prodParam;this.prodParam=new ProductionParameterHandler();var oldClassScope=this.classScope;this.classScope=new ClassScopeHandler(this);var oldExpressionScope=this.expressionScope;this.expressionScope=new ExpressionScopeHandler(this);return function(){_this.state.labels=oldLabels;_this.exportedIdentifiers=oldExportedIdentifiers;_this.inModule=oldInModule;_this.scope=oldScope;_this.prodParam=oldProdParam;_this.classScope=oldClassScope;_this.expressionScope=oldExpressionScope;};};_proto.enterInitialScopes=function enterInitialScopes(){var paramFlags=ParamKind.PARAM;if(this.inModule){paramFlags|=ParamKind.PARAM_AWAIT;}this.scope.enter(ScopeFlag.PROGRAM);this.prodParam.enter(paramFlags);};_proto.checkDestructuringPrivate=function checkDestructuringPrivate(refExpressionErrors){var privateKeyLoc=refExpressionErrors.privateKeyLoc;if(privateKeyLoc!==null){this.expectPlugin("destructuringPrivate",privateKeyLoc);}};return _createClass(UtilParser);}(Tokenizer);var ExpressionErrors=_createClass(function ExpressionErrors(){this.shorthandAssignLoc=null;this.doubleProtoLoc=null;this.privateKeyLoc=null;this.optionalParametersLoc=null;});var Node=_createClass(function Node(parser,pos,loc){this.type="";this.start=pos;this.end=0;this.loc=new SourceLocation(loc);if(parser!=null&&parser.options.ranges)this.range=[pos,0];if(parser!=null&&parser.filename)this.loc.filename=parser.filename;});var NodePrototype=Node.prototype;{NodePrototype.__clone=function(){var newNode=new Node(undefined,this.start,this.loc.start);var keys=Object.keys(this);for(var i=0,length=keys.length;i<length;i++){var _key=keys[i];if(_key!=="leadingComments"&&_key!=="trailingComments"&&_key!=="innerComments"){newNode[_key]=this[_key];}}return newNode;};}function clonePlaceholder(node){return cloneIdentifier(node);}function cloneIdentifier(node){var type=node.type,start=node.start,end=node.end,loc=node.loc,range=node.range,extra=node.extra,name=node.name;var cloned=Object.create(NodePrototype);cloned.type=type;cloned.start=start;cloned.end=end;cloned.loc=loc;cloned.range=range;cloned.extra=extra;cloned.name=name;if(type==="Placeholder"){cloned.expectedNode=node.expectedNode;}return cloned;}function cloneStringLiteral(node){var type=node.type,start=node.start,end=node.end,loc=node.loc,range=node.range,extra=node.extra;if(type==="Placeholder"){return clonePlaceholder(node);}var cloned=Object.create(NodePrototype);cloned.type=type;cloned.start=start;cloned.end=end;cloned.loc=loc;cloned.range=range;if(node.raw!==undefined){cloned.raw=node.raw;}else{cloned.extra=extra;}cloned.value=node.value;return cloned;}var NodeUtils=function(_UtilParser){_inherits(NodeUtils,_UtilParser);function NodeUtils(){return _UtilParser.apply(this,arguments)||this;}var _proto=NodeUtils.prototype;_proto.startNode=function startNode(){var loc=this.state.startLoc;return new Node(this,loc.index,loc);};_proto.startNodeAt=function startNodeAt(loc){return new Node(this,loc.index,loc);};_proto.startNodeAtNode=function startNodeAtNode(type){return this.startNodeAt(type.loc.start);};_proto.finishNode=function finishNode(node,type){return this.finishNodeAt(node,type,this.state.lastTokEndLoc);};_proto.finishNodeAt=function finishNodeAt(node,type,endLoc){node.type=type;node.end=endLoc.index;node.loc.end=endLoc;if(this.options.ranges)node.range[1]=endLoc.index;if(this.options.attachComment)this.processComment(node);return node;};_proto.resetStartLocation=function resetStartLocation(node,startLoc){node.start=startLoc.index;node.loc.start=startLoc;if(this.options.ranges)node.range[0]=startLoc.index;};_proto.resetEndLocation=function resetEndLocation(node,endLoc){if(endLoc===void 0){endLoc=this.state.lastTokEndLoc;}node.end=endLoc.index;node.loc.end=endLoc;if(this.options.ranges)node.range[1]=endLoc.index;};_proto.resetStartLocationFromNode=function resetStartLocationFromNode(node,locationNode){this.resetStartLocation(node,locationNode.loc.start);};return _createClass(NodeUtils);}(UtilParser);var _templateObject$F;var reservedTypes=new Set(["_","any","bool","boolean","empty","extends","false","interface","mixed","null","number","static","string","true","typeof","void"]);var FlowErrors=ParseErrorEnum(_templateObject$F||(_templateObject$F=_taggedTemplateLiteralLoose(["flow"])))({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:function AssignReservedType(_ref){var reservedType=_ref.reservedType;return"Cannot overwrite reserved type "+reservedType+".";},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:function EnumBooleanMemberNotInitialized(_ref2){var memberName=_ref2.memberName,enumName=_ref2.enumName;return"Boolean enum members need to be initialized. Use either `"+memberName+" = true,` or `"+memberName+" = false,` in enum `"+enumName+"`.";},EnumDuplicateMemberName:function EnumDuplicateMemberName(_ref3){var memberName=_ref3.memberName,enumName=_ref3.enumName;return"Enum member names need to be unique, but the name `"+memberName+"` has already been used before in enum `"+enumName+"`.";},EnumInconsistentMemberValues:function EnumInconsistentMemberValues(_ref4){var enumName=_ref4.enumName;return"Enum `"+enumName+"` has inconsistent member initializers. Either use no initializers, or consistently use literals (either booleans, numbers, or strings) for all member initializers.";},EnumInvalidExplicitType:function EnumInvalidExplicitType(_ref5){var invalidEnumType=_ref5.invalidEnumType,enumName=_ref5.enumName;return"Enum type `"+invalidEnumType+"` is not valid. Use one of `boolean`, `number`, `string`, or `symbol` in enum `"+enumName+"`.";},EnumInvalidExplicitTypeUnknownSupplied:function EnumInvalidExplicitTypeUnknownSupplied(_ref6){var enumName=_ref6.enumName;return"Supplied enum type is not valid. Use one of `boolean`, `number`, `string`, or `symbol` in enum `"+enumName+"`.";},EnumInvalidMemberInitializerPrimaryType:function EnumInvalidMemberInitializerPrimaryType(_ref7){var enumName=_ref7.enumName,memberName=_ref7.memberName,explicitType=_ref7.explicitType;return"Enum `"+enumName+"` has type `"+explicitType+"`, so the initializer of `"+memberName+"` needs to be a "+explicitType+" literal.";},EnumInvalidMemberInitializerSymbolType:function EnumInvalidMemberInitializerSymbolType(_ref8){var enumName=_ref8.enumName,memberName=_ref8.memberName;return"Symbol enum members cannot be initialized. Use `"+memberName+",` in enum `"+enumName+"`.";},EnumInvalidMemberInitializerUnknownType:function EnumInvalidMemberInitializerUnknownType(_ref9){var enumName=_ref9.enumName,memberName=_ref9.memberName;return"The enum member initializer for `"+memberName+"` needs to be a literal (either a boolean, number, or string) in enum `"+enumName+"`.";},EnumInvalidMemberName:function EnumInvalidMemberName(_ref10){var enumName=_ref10.enumName,memberName=_ref10.memberName,suggestion=_ref10.suggestion;return"Enum member names cannot start with lowercase 'a' through 'z'. Instead of using `"+memberName+"`, consider using `"+suggestion+"`, in enum `"+enumName+"`.";},EnumNumberMemberNotInitialized:function EnumNumberMemberNotInitialized(_ref11){var enumName=_ref11.enumName,memberName=_ref11.memberName;return"Number enum members need to be initialized, e.g. `"+memberName+" = 1` in enum `"+enumName+"`.";},EnumStringMemberInconsistentlyInitialized:function EnumStringMemberInconsistentlyInitialized(_ref12){var enumName=_ref12.enumName;return"String enum members need to consistently either all use initializers, or use no initializers, in enum `"+enumName+"`.";},GetterMayNotHaveThisParam:"A getter cannot have a `this` parameter.",ImportReflectionHasImportType:"An `import module` declaration can not use `type` or `typeof` keyword.",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.",PatternIsOptional:Object.assign({message:"A binding pattern parameter cannot be optional in an implementation signature."},{reasonCode:"OptionalBindingPattern"}),SetterMayNotHaveThisParam:"A setter cannot have a `this` parameter.",SpreadVariance:"Spread properties cannot have variance.",ThisParamAnnotationRequired:"A type annotation is required for the `this` parameter.",ThisParamBannedInConstructor:"Constructors cannot have a `this` parameter; constructors don't bind `this` like other functions.",ThisParamMayNotBeOptional:"The `this` parameter cannot be optional.",ThisParamMustBeFirst:"The `this` parameter must be the first function parameter.",ThisParamNoDefault:"The `this` parameter may not have a default value.",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:function UnexpectedReservedType(_ref13){var reservedType=_ref13.reservedType;return"Unexpected reserved type "+reservedType+".";},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.",UnexpectedTypeParameterBeforeAsyncArrowFunction:"Type parameters must come after the async keyword, e.g. instead of `<T> async () => {}`, use `async <T>() => {}`.",UnsupportedDeclareExportKind:function UnsupportedDeclareExportKind(_ref14){var unsupportedExportKind=_ref14.unsupportedExportKind,suggestion=_ref14.suggestion;return"`declare export "+unsupportedExportKind+"` is not supported. Use `"+suggestion+"` instead.";},UnsupportedStatementInDeclareModule:"Only declares and type imports are allowed inside declare module.",UnterminatedFlowComment:"Unterminated flow-comment."});function isEsModuleType(bodyElement){return bodyElement.type==="DeclareExportAllDeclaration"||bodyElement.type==="DeclareExportDeclaration"&&(!bodyElement.declaration||bodyElement.declaration.type!=="TypeAlias"&&bodyElement.declaration.type!=="InterfaceDeclaration");}function hasTypeImportKind(node){return node.importKind==="type"||node.importKind==="typeof";}var exportSuggestions={"const":"declare export var","let":"declare export var",type:"export type","interface":"export interface"};function partition(list,test){var list1=[];var list2=[];for(var i=0;i<list.length;i++){(test(list[i],i,list)?list1:list2).push(list[i]);}return[list1,list2];}var FLOW_PRAGMA_REGEX=/\*?\s*@((?:no)?flow)\b/;var flow=function flow(superClass){return function(_superClass){_inherits(FlowParserMixin,_superClass);function FlowParserMixin(){var _this2;for(var _len=arguments.length,args=new Array(_len),_key=0;_key<_len;_key++){args[_key]=arguments[_key];}_this2=_superClass.call.apply(_superClass,[this].concat(args))||this;_this2.flowPragma=undefined;return _this2;}var _proto=FlowParserMixin.prototype;_proto.getScopeHandler=function getScopeHandler(){return FlowScopeHandler;};_proto.shouldParseTypes=function shouldParseTypes(){return this.getPluginOption("flow","all")||this.flowPragma==="flow";};_proto.shouldParseEnums=function shouldParseEnums(){return!!this.getPluginOption("flow","enums");};_proto.finishToken=function finishToken(type,val){if(type!==133&&type!==13&&type!==28){if(this.flowPragma===undefined){this.flowPragma=null;}}_superClass.prototype.finishToken.call(this,type,val);};_proto.addComment=function addComment(comment){if(this.flowPragma===undefined){var matches=FLOW_PRAGMA_REGEX.exec(comment.value);if(!matches);else if(matches[1]==="flow"){this.flowPragma="flow";}else if(matches[1]==="noflow"){this.flowPragma="noflow";}else{throw new Error("Unexpected flow pragma");}}_superClass.prototype.addComment.call(this,comment);};_proto.flowParseTypeInitialiser=function flowParseTypeInitialiser(tok){var oldInType=this.state.inType;this.state.inType=true;this.expect(tok||14);var type=this.flowParseType();this.state.inType=oldInType;return type;};_proto.flowParsePredicate=function flowParsePredicate(){var node=this.startNode();var moduloLoc=this.state.startLoc;this.next();this.expectContextual(110);if(this.state.lastTokStartLoc.index>moduloLoc.index+1){this.raise(FlowErrors.UnexpectedSpaceBetweenModuloChecks,moduloLoc);}if(this.eat(10)){node.value=_superClass.prototype.parseExpression.call(this);this.expect(11);return this.finishNode(node,"DeclaredPredicate");}else{return this.finishNode(node,"InferredPredicate");}};_proto.flowParseTypeAndPredicateInitialiser=function flowParseTypeAndPredicateInitialiser(){var oldInType=this.state.inType;this.state.inType=true;this.expect(14);var type=null;var predicate=null;if(this.match(54)){this.state.inType=oldInType;predicate=this.flowParsePredicate();}else{type=this.flowParseType();this.state.inType=oldInType;if(this.match(54)){predicate=this.flowParsePredicate();}}return[type,predicate];};_proto.flowParseDeclareClass=function flowParseDeclareClass(node){this.next();this.flowParseInterfaceish(node,true);return this.finishNode(node,"DeclareClass");};_proto.flowParseDeclareFunction=function flowParseDeclareFunction(node){this.next();var id=node.id=this.parseIdentifier();var typeNode=this.startNode();var typeContainer=this.startNode();if(this.match(47)){typeNode.typeParameters=this.flowParseTypeParameterDeclaration();}else{typeNode.typeParameters=null;}this.expect(10);var tmp=this.flowParseFunctionTypeParams();typeNode.params=tmp.params;typeNode.rest=tmp.rest;typeNode["this"]=tmp._this;this.expect(11);var _this$flowParseTypeAn=this.flowParseTypeAndPredicateInitialiser();typeNode.returnType=_this$flowParseTypeAn[0];node.predicate=_this$flowParseTypeAn[1];typeContainer.typeAnnotation=this.finishNode(typeNode,"FunctionTypeAnnotation");id.typeAnnotation=this.finishNode(typeContainer,"TypeAnnotation");this.resetEndLocation(id);this.semicolon();this.scope.declareName(node.id.name,BindingFlag.TYPE_FLOW_DECLARE_FN,node.id.loc.start);return this.finishNode(node,"DeclareFunction");};_proto.flowParseDeclare=function flowParseDeclare(node,insideModule){if(this.match(80)){return this.flowParseDeclareClass(node);}else if(this.match(68)){return this.flowParseDeclareFunction(node);}else if(this.match(74)){return this.flowParseDeclareVariable(node);}else if(this.eatContextual(127)){if(this.match(16)){return this.flowParseDeclareModuleExports(node);}else{if(insideModule){this.raise(FlowErrors.NestedDeclareModule,this.state.lastTokStartLoc);}return this.flowParseDeclareModule(node);}}else if(this.isContextual(130)){return this.flowParseDeclareTypeAlias(node);}else if(this.isContextual(131)){return this.flowParseDeclareOpaqueType(node);}else if(this.isContextual(129)){return this.flowParseDeclareInterface(node);}else if(this.match(82)){return this.flowParseDeclareExportDeclaration(node,insideModule);}else{this.unexpected();}};_proto.flowParseDeclareVariable=function flowParseDeclareVariable(node){this.next();node.id=this.flowParseTypeAnnotatableIdentifier(true);this.scope.declareName(node.id.name,BindingFlag.TYPE_VAR,node.id.loc.start);this.semicolon();return this.finishNode(node,"DeclareVariable");};_proto.flowParseDeclareModule=function flowParseDeclareModule(node){var _this3=this;this.scope.enter(ScopeFlag.OTHER);if(this.match(133)){node.id=_superClass.prototype.parseExprAtom.call(this);}else{node.id=this.parseIdentifier();}var bodyNode=node.body=this.startNode();var body=bodyNode.body=[];this.expect(5);while(!this.match(8)){var _bodyNode=this.startNode();if(this.match(83)){this.next();if(!this.isContextual(130)&&!this.match(87)){this.raise(FlowErrors.InvalidNonTypeImportInDeclareModule,this.state.lastTokStartLoc);}_superClass.prototype.parseImport.call(this,_bodyNode);}else{this.expectContextual(125,FlowErrors.UnsupportedStatementInDeclareModule);_bodyNode=this.flowParseDeclare(_bodyNode,true);}body.push(_bodyNode);}this.scope.exit();this.expect(8);this.finishNode(bodyNode,"BlockStatement");var kind=null;var hasModuleExport=false;body.forEach(function(bodyElement){if(isEsModuleType(bodyElement)){if(kind==="CommonJS"){_this3.raise(FlowErrors.AmbiguousDeclareModuleKind,bodyElement);}kind="ES";}else if(bodyElement.type==="DeclareModuleExports"){if(hasModuleExport){_this3.raise(FlowErrors.DuplicateDeclareModuleExports,bodyElement);}if(kind==="ES"){_this3.raise(FlowErrors.AmbiguousDeclareModuleKind,bodyElement);}kind="CommonJS";hasModuleExport=true;}});node.kind=kind||"CommonJS";return this.finishNode(node,"DeclareModule");};_proto.flowParseDeclareExportDeclaration=function flowParseDeclareExportDeclaration(node,insideModule){this.expect(82);if(this.eat(65)){if(this.match(68)||this.match(80)){node.declaration=this.flowParseDeclare(this.startNode());}else{node.declaration=this.flowParseType();this.semicolon();}node["default"]=true;return this.finishNode(node,"DeclareExportDeclaration");}else{if(this.match(75)||this.isLet()||(this.isContextual(130)||this.isContextual(129))&&!insideModule){var label=this.state.value;throw this.raise(FlowErrors.UnsupportedDeclareExportKind,this.state.startLoc,{unsupportedExportKind:label,suggestion:exportSuggestions[label]});}if(this.match(74)||this.match(68)||this.match(80)||this.isContextual(131)){node.declaration=this.flowParseDeclare(this.startNode());node["default"]=false;return this.finishNode(node,"DeclareExportDeclaration");}else if(this.match(55)||this.match(5)||this.isContextual(129)||this.isContextual(130)||this.isContextual(131)){node=this.parseExport(node,null);if(node.type==="ExportNamedDeclaration"){node.type="ExportDeclaration";node["default"]=false;delete node.exportKind;}node.type="Declare"+node.type;return node;}}this.unexpected();};_proto.flowParseDeclareModuleExports=function flowParseDeclareModuleExports(node){this.next();this.expectContextual(111);node.typeAnnotation=this.flowParseTypeAnnotation();this.semicolon();return this.finishNode(node,"DeclareModuleExports");};_proto.flowParseDeclareTypeAlias=function flowParseDeclareTypeAlias(node){this.next();var finished=this.flowParseTypeAlias(node);finished.type="DeclareTypeAlias";return finished;};_proto.flowParseDeclareOpaqueType=function flowParseDeclareOpaqueType(node){this.next();var finished=this.flowParseOpaqueType(node,true);finished.type="DeclareOpaqueType";return finished;};_proto.flowParseDeclareInterface=function flowParseDeclareInterface(node){this.next();this.flowParseInterfaceish(node,false);return this.finishNode(node,"DeclareInterface");};_proto.flowParseInterfaceish=function flowParseInterfaceish(node,isClass){node.id=this.flowParseRestrictedIdentifier(!isClass,true);this.scope.declareName(node.id.name,isClass?BindingFlag.TYPE_FUNCTION:BindingFlag.TYPE_LEXICAL,node.id.loc.start);if(this.match(47)){node.typeParameters=this.flowParseTypeParameterDeclaration();}else{node.typeParameters=null;}node["extends"]=[];if(this.eat(81)){do{node["extends"].push(this.flowParseInterfaceExtends());}while(!isClass&&this.eat(12));}if(isClass){node["implements"]=[];node.mixins=[];if(this.eatContextual(117)){do{node.mixins.push(this.flowParseInterfaceExtends());}while(this.eat(12));}if(this.eatContextual(113)){do{node["implements"].push(this.flowParseInterfaceExtends());}while(this.eat(12));}}node.body=this.flowParseObjectType({allowStatic:isClass,allowExact:false,allowSpread:false,allowProto:isClass,allowInexact:false});};_proto.flowParseInterfaceExtends=function flowParseInterfaceExtends(){var node=this.startNode();node.id=this.flowParseQualifiedTypeIdentifier();if(this.match(47)){node.typeParameters=this.flowParseTypeParameterInstantiation();}else{node.typeParameters=null;}return this.finishNode(node,"InterfaceExtends");};_proto.flowParseInterface=function flowParseInterface(node){this.flowParseInterfaceish(node,false);return this.finishNode(node,"InterfaceDeclaration");};_proto.checkNotUnderscore=function checkNotUnderscore(word){if(word==="_"){this.raise(FlowErrors.UnexpectedReservedUnderscore,this.state.startLoc);}};_proto.checkReservedType=function checkReservedType(word,startLoc,declaration){if(!reservedTypes.has(word))return;this.raise(declaration?FlowErrors.AssignReservedType:FlowErrors.UnexpectedReservedType,startLoc,{reservedType:word});};_proto.flowParseRestrictedIdentifier=function flowParseRestrictedIdentifier(liberal,declaration){this.checkReservedType(this.state.value,this.state.startLoc,declaration);return this.parseIdentifier(liberal);};_proto.flowParseTypeAlias=function flowParseTypeAlias(node){node.id=this.flowParseRestrictedIdentifier(false,true);this.scope.declareName(node.id.name,BindingFlag.TYPE_LEXICAL,node.id.loc.start);if(this.match(47)){node.typeParameters=this.flowParseTypeParameterDeclaration();}else{node.typeParameters=null;}node.right=this.flowParseTypeInitialiser(29);this.semicolon();return this.finishNode(node,"TypeAlias");};_proto.flowParseOpaqueType=function flowParseOpaqueType(node,declare){this.expectContextual(130);node.id=this.flowParseRestrictedIdentifier(true,true);this.scope.declareName(node.id.name,BindingFlag.TYPE_LEXICAL,node.id.loc.start);if(this.match(47)){node.typeParameters=this.flowParseTypeParameterDeclaration();}else{node.typeParameters=null;}node.supertype=null;if(this.match(14)){node.supertype=this.flowParseTypeInitialiser(14);}node.impltype=null;if(!declare){node.impltype=this.flowParseTypeInitialiser(29);}this.semicolon();return this.finishNode(node,"OpaqueType");};_proto.flowParseTypeParameter=function flowParseTypeParameter(requireDefault){if(requireDefault===void 0){requireDefault=false;}var nodeStartLoc=this.state.startLoc;var node=this.startNode();var variance=this.flowParseVariance();var ident=this.flowParseTypeAnnotatableIdentifier();node.name=ident.name;node.variance=variance;node.bound=ident.typeAnnotation;if(this.match(29)){this.eat(29);node["default"]=this.flowParseType();}else{if(requireDefault){this.raise(FlowErrors.MissingTypeParamDefault,nodeStartLoc);}}return this.finishNode(node,"TypeParameter");};_proto.flowParseTypeParameterDeclaration=function flowParseTypeParameterDeclaration(){var oldInType=this.state.inType;var node=this.startNode();node.params=[];this.state.inType=true;if(this.match(47)||this.match(142)){this.next();}else{this.unexpected();}var defaultRequired=false;do{var typeParameter=this.flowParseTypeParameter(defaultRequired);node.params.push(typeParameter);if(typeParameter["default"]){defaultRequired=true;}if(!this.match(48)){this.expect(12);}}while(!this.match(48));this.expect(48);this.state.inType=oldInType;return this.finishNode(node,"TypeParameterDeclaration");};_proto.flowParseTypeParameterInstantiation=function flowParseTypeParameterInstantiation(){var node=this.startNode();var oldInType=this.state.inType;node.params=[];this.state.inType=true;this.expect(47);var oldNoAnonFunctionType=this.state.noAnonFunctionType;this.state.noAnonFunctionType=false;while(!this.match(48)){node.params.push(this.flowParseType());if(!this.match(48)){this.expect(12);}}this.state.noAnonFunctionType=oldNoAnonFunctionType;this.expect(48);this.state.inType=oldInType;return this.finishNode(node,"TypeParameterInstantiation");};_proto.flowParseTypeParameterInstantiationCallOrNew=function flowParseTypeParameterInstantiationCallOrNew(){var node=this.startNode();var oldInType=this.state.inType;node.params=[];this.state.inType=true;this.expect(47);while(!this.match(48)){node.params.push(this.flowParseTypeOrImplicitInstantiation());if(!this.match(48)){this.expect(12);}}this.expect(48);this.state.inType=oldInType;return this.finishNode(node,"TypeParameterInstantiation");};_proto.flowParseInterfaceType=function flowParseInterfaceType(){var node=this.startNode();this.expectContextual(129);node["extends"]=[];if(this.eat(81)){do{node["extends"].push(this.flowParseInterfaceExtends());}while(this.eat(12));}node.body=this.flowParseObjectType({allowStatic:false,allowExact:false,allowSpread:false,allowProto:false,allowInexact:false});return this.finishNode(node,"InterfaceTypeAnnotation");};_proto.flowParseObjectPropertyKey=function flowParseObjectPropertyKey(){return this.match(134)||this.match(133)?_superClass.prototype.parseExprAtom.call(this):this.parseIdentifier(true);};_proto.flowParseObjectTypeIndexer=function flowParseObjectTypeIndexer(node,isStatic,variance){node["static"]=isStatic;if(this.lookahead().type===14){node.id=this.flowParseObjectPropertyKey();node.key=this.flowParseTypeInitialiser();}else{node.id=null;node.key=this.flowParseType();}this.expect(3);node.value=this.flowParseTypeInitialiser();node.variance=variance;return this.finishNode(node,"ObjectTypeIndexer");};_proto.flowParseObjectTypeInternalSlot=function flowParseObjectTypeInternalSlot(node,isStatic){node["static"]=isStatic;node.id=this.flowParseObjectPropertyKey();this.expect(3);this.expect(3);if(this.match(47)||this.match(10)){node.method=true;node.optional=false;node.value=this.flowParseObjectTypeMethodish(this.startNodeAt(node.loc.start));}else{node.method=false;if(this.eat(17)){node.optional=true;}node.value=this.flowParseTypeInitialiser();}return this.finishNode(node,"ObjectTypeInternalSlot");};_proto.flowParseObjectTypeMethodish=function flowParseObjectTypeMethodish(node){node.params=[];node.rest=null;node.typeParameters=null;node["this"]=null;if(this.match(47)){node.typeParameters=this.flowParseTypeParameterDeclaration();}this.expect(10);if(this.match(78)){node["this"]=this.flowParseFunctionTypeParam(true);node["this"].name=null;if(!this.match(11)){this.expect(12);}}while(!this.match(11)&&!this.match(21)){node.params.push(this.flowParseFunctionTypeParam(false));if(!this.match(11)){this.expect(12);}}if(this.eat(21)){node.rest=this.flowParseFunctionTypeParam(false);}this.expect(11);node.returnType=this.flowParseTypeInitialiser();return this.finishNode(node,"FunctionTypeAnnotation");};_proto.flowParseObjectTypeCallProperty=function flowParseObjectTypeCallProperty(node,isStatic){var valueNode=this.startNode();node["static"]=isStatic;node.value=this.flowParseObjectTypeMethodish(valueNode);return this.finishNode(node,"ObjectTypeCallProperty");};_proto.flowParseObjectType=function flowParseObjectType(_ref15){var allowStatic=_ref15.allowStatic,allowExact=_ref15.allowExact,allowSpread=_ref15.allowSpread,allowProto=_ref15.allowProto,allowInexact=_ref15.allowInexact;var oldInType=this.state.inType;this.state.inType=true;var nodeStart=this.startNode();nodeStart.callProperties=[];nodeStart.properties=[];nodeStart.indexers=[];nodeStart.internalSlots=[];var endDelim;var exact;var inexact=false;if(allowExact&&this.match(6)){this.expect(6);endDelim=9;exact=true;}else{this.expect(5);endDelim=8;exact=false;}nodeStart.exact=exact;while(!this.match(endDelim)){var isStatic=false;var protoStartLoc=null;var inexactStartLoc=null;var node=this.startNode();if(allowProto&&this.isContextual(118)){var lookahead=this.lookahead();if(lookahead.type!==14&&lookahead.type!==17){this.next();protoStartLoc=this.state.startLoc;allowStatic=false;}}if(allowStatic&&this.isContextual(106)){var _lookahead=this.lookahead();if(_lookahead.type!==14&&_lookahead.type!==17){this.next();isStatic=true;}}var variance=this.flowParseVariance();if(this.eat(0)){if(protoStartLoc!=null){this.unexpected(protoStartLoc);}if(this.eat(0)){if(variance){this.unexpected(variance.loc.start);}nodeStart.internalSlots.push(this.flowParseObjectTypeInternalSlot(node,isStatic));}else{nodeStart.indexers.push(this.flowParseObjectTypeIndexer(node,isStatic,variance));}}else if(this.match(10)||this.match(47)){if(protoStartLoc!=null){this.unexpected(protoStartLoc);}if(variance){this.unexpected(variance.loc.start);}nodeStart.callProperties.push(this.flowParseObjectTypeCallProperty(node,isStatic));}else{var kind="init";if(this.isContextual(99)||this.isContextual(104)){var _lookahead2=this.lookahead();if(tokenIsLiteralPropertyName(_lookahead2.type)){kind=this.state.value;this.next();}}var propOrInexact=this.flowParseObjectTypeProperty(node,isStatic,protoStartLoc,variance,kind,allowSpread,allowInexact!=null?allowInexact:!exact);if(propOrInexact===null){inexact=true;inexactStartLoc=this.state.lastTokStartLoc;}else{nodeStart.properties.push(propOrInexact);}}this.flowObjectTypeSemicolon();if(inexactStartLoc&&!this.match(8)&&!this.match(9)){this.raise(FlowErrors.UnexpectedExplicitInexactInObject,inexactStartLoc);}}this.expect(endDelim);if(allowSpread){nodeStart.inexact=inexact;}var out=this.finishNode(nodeStart,"ObjectTypeAnnotation");this.state.inType=oldInType;return out;};_proto.flowParseObjectTypeProperty=function flowParseObjectTypeProperty(node,isStatic,protoStartLoc,variance,kind,allowSpread,allowInexact){if(this.eat(21)){var isInexactToken=this.match(12)||this.match(13)||this.match(8)||this.match(9);if(isInexactToken){if(!allowSpread){this.raise(FlowErrors.InexactInsideNonObject,this.state.lastTokStartLoc);}else if(!allowInexact){this.raise(FlowErrors.InexactInsideExact,this.state.lastTokStartLoc);}if(variance){this.raise(FlowErrors.InexactVariance,variance);}return null;}if(!allowSpread){this.raise(FlowErrors.UnexpectedSpreadType,this.state.lastTokStartLoc);}if(protoStartLoc!=null){this.unexpected(protoStartLoc);}if(variance){this.raise(FlowErrors.SpreadVariance,variance);}node.argument=this.flowParseType();return this.finishNode(node,"ObjectTypeSpreadProperty");}else{node.key=this.flowParseObjectPropertyKey();node["static"]=isStatic;node.proto=protoStartLoc!=null;node.kind=kind;var optional=false;if(this.match(47)||this.match(10)){node.method=true;if(protoStartLoc!=null){this.unexpected(protoStartLoc);}if(variance){this.unexpected(variance.loc.start);}node.value=this.flowParseObjectTypeMethodish(this.startNodeAt(node.loc.start));if(kind==="get"||kind==="set"){this.flowCheckGetterSetterParams(node);}if(!allowSpread&&node.key.name==="constructor"&&node.value["this"]){this.raise(FlowErrors.ThisParamBannedInConstructor,node.value["this"]);}}else{if(kind!=="init")this.unexpected();node.method=false;if(this.eat(17)){optional=true;}node.value=this.flowParseTypeInitialiser();node.variance=variance;}node.optional=optional;return this.finishNode(node,"ObjectTypeProperty");}};_proto.flowCheckGetterSetterParams=function flowCheckGetterSetterParams(property){var paramCount=property.kind==="get"?0:1;var length=property.value.params.length+(property.value.rest?1:0);if(property.value["this"]){this.raise(property.kind==="get"?FlowErrors.GetterMayNotHaveThisParam:FlowErrors.SetterMayNotHaveThisParam,property.value["this"]);}if(length!==paramCount){this.raise(property.kind==="get"?Errors.BadGetterArity:Errors.BadSetterArity,property);}if(property.kind==="set"&&property.value.rest){this.raise(Errors.BadSetterRestParameter,property);}};_proto.flowObjectTypeSemicolon=function flowObjectTypeSemicolon(){if(!this.eat(13)&&!this.eat(12)&&!this.match(8)&&!this.match(9)){this.unexpected();}};_proto.flowParseQualifiedTypeIdentifier=function flowParseQualifiedTypeIdentifier(startLoc,id){var _startLoc;(_startLoc=startLoc)!=null?_startLoc:startLoc=this.state.startLoc;var node=id||this.flowParseRestrictedIdentifier(true);while(this.eat(16)){var node2=this.startNodeAt(startLoc);node2.qualification=node;node2.id=this.flowParseRestrictedIdentifier(true);node=this.finishNode(node2,"QualifiedTypeIdentifier");}return node;};_proto.flowParseGenericType=function flowParseGenericType(startLoc,id){var node=this.startNodeAt(startLoc);node.typeParameters=null;node.id=this.flowParseQualifiedTypeIdentifier(startLoc,id);if(this.match(47)){node.typeParameters=this.flowParseTypeParameterInstantiation();}return this.finishNode(node,"GenericTypeAnnotation");};_proto.flowParseTypeofType=function flowParseTypeofType(){var node=this.startNode();this.expect(87);node.argument=this.flowParsePrimaryType();return this.finishNode(node,"TypeofTypeAnnotation");};_proto.flowParseTupleType=function flowParseTupleType(){var node=this.startNode();node.types=[];this.expect(0);while(this.state.pos<this.length&&!this.match(3)){node.types.push(this.flowParseType());if(this.match(3))break;this.expect(12);}this.expect(3);return this.finishNode(node,"TupleTypeAnnotation");};_proto.flowParseFunctionTypeParam=function flowParseFunctionTypeParam(first){var name=null;var optional=false;var typeAnnotation=null;var node=this.startNode();var lh=this.lookahead();var isThis=this.state.type===78;if(lh.type===14||lh.type===17){if(isThis&&!first){this.raise(FlowErrors.ThisParamMustBeFirst,node);}name=this.parseIdentifier(isThis);if(this.eat(17)){optional=true;if(isThis){this.raise(FlowErrors.ThisParamMayNotBeOptional,node);}}typeAnnotation=this.flowParseTypeInitialiser();}else{typeAnnotation=this.flowParseType();}node.name=name;node.optional=optional;node.typeAnnotation=typeAnnotation;return this.finishNode(node,"FunctionTypeParam");};_proto.reinterpretTypeAsFunctionTypeParam=function reinterpretTypeAsFunctionTypeParam(type){var node=this.startNodeAt(type.loc.start);node.name=null;node.optional=false;node.typeAnnotation=type;return this.finishNode(node,"FunctionTypeParam");};_proto.flowParseFunctionTypeParams=function flowParseFunctionTypeParams(params){if(params===void 0){params=[];}var rest=null;var _this=null;if(this.match(78)){_this=this.flowParseFunctionTypeParam(true);_this.name=null;if(!this.match(11)){this.expect(12);}}while(!this.match(11)&&!this.match(21)){params.push(this.flowParseFunctionTypeParam(false));if(!this.match(11)){this.expect(12);}}if(this.eat(21)){rest=this.flowParseFunctionTypeParam(false);}return{params:params,rest:rest,_this:_this};};_proto.flowIdentToTypeAnnotation=function flowIdentToTypeAnnotation(startLoc,node,id){switch(id.name){case"any":return this.finishNode(node,"AnyTypeAnnotation");case"bool":case"boolean":return this.finishNode(node,"BooleanTypeAnnotation");case"mixed":return this.finishNode(node,"MixedTypeAnnotation");case"empty":return this.finishNode(node,"EmptyTypeAnnotation");case"number":return this.finishNode(node,"NumberTypeAnnotation");case"string":return this.finishNode(node,"StringTypeAnnotation");case"symbol":return this.finishNode(node,"SymbolTypeAnnotation");default:this.checkNotUnderscore(id.name);return this.flowParseGenericType(startLoc,id);}};_proto.flowParsePrimaryType=function flowParsePrimaryType(){var startLoc=this.state.startLoc;var node=this.startNode();var tmp;var type;var isGroupedType=false;var oldNoAnonFunctionType=this.state.noAnonFunctionType;switch(this.state.type){case 5:return this.flowParseObjectType({allowStatic:false,allowExact:false,allowSpread:true,allowProto:false,allowInexact:true});case 6:return this.flowParseObjectType({allowStatic:false,allowExact:true,allowSpread:true,allowProto:false,allowInexact:false});case 0:this.state.noAnonFunctionType=false;type=this.flowParseTupleType();this.state.noAnonFunctionType=oldNoAnonFunctionType;return type;case 47:node.typeParameters=this.flowParseTypeParameterDeclaration();this.expect(10);tmp=this.flowParseFunctionTypeParams();node.params=tmp.params;node.rest=tmp.rest;node["this"]=tmp._this;this.expect(11);this.expect(19);node.returnType=this.flowParseType();return this.finishNode(node,"FunctionTypeAnnotation");case 10:this.next();if(!this.match(11)&&!this.match(21)){if(tokenIsIdentifier(this.state.type)||this.match(78)){var token=this.lookahead().type;isGroupedType=token!==17&&token!==14;}else{isGroupedType=true;}}if(isGroupedType){this.state.noAnonFunctionType=false;type=this.flowParseType();this.state.noAnonFunctionType=oldNoAnonFunctionType;if(this.state.noAnonFunctionType||!(this.match(12)||this.match(11)&&this.lookahead().type===19)){this.expect(11);return type;}else{this.eat(12);}}if(type){tmp=this.flowParseFunctionTypeParams([this.reinterpretTypeAsFunctionTypeParam(type)]);}else{tmp=this.flowParseFunctionTypeParams();}node.params=tmp.params;node.rest=tmp.rest;node["this"]=tmp._this;this.expect(11);this.expect(19);node.returnType=this.flowParseType();node.typeParameters=null;return this.finishNode(node,"FunctionTypeAnnotation");case 133:return this.parseLiteral(this.state.value,"StringLiteralTypeAnnotation");case 85:case 86:node.value=this.match(85);this.next();return this.finishNode(node,"BooleanLiteralTypeAnnotation");case 53:if(this.state.value==="-"){this.next();if(this.match(134)){return this.parseLiteralAtNode(-this.state.value,"NumberLiteralTypeAnnotation",node);}if(this.match(135)){return this.parseLiteralAtNode(-this.state.value,"BigIntLiteralTypeAnnotation",node);}throw this.raise(FlowErrors.UnexpectedSubtractionOperand,this.state.startLoc);}this.unexpected();return;case 134:return this.parseLiteral(this.state.value,"NumberLiteralTypeAnnotation");case 135:return this.parseLiteral(this.state.value,"BigIntLiteralTypeAnnotation");case 88:this.next();return this.finishNode(node,"VoidTypeAnnotation");case 84:this.next();return this.finishNode(node,"NullLiteralTypeAnnotation");case 78:this.next();return this.finishNode(node,"ThisTypeAnnotation");case 55:this.next();return this.finishNode(node,"ExistsTypeAnnotation");case 87:return this.flowParseTypeofType();default:if(tokenIsKeyword(this.state.type)){var label=tokenLabelName(this.state.type);this.next();return _superClass.prototype.createIdentifier.call(this,node,label);}else if(tokenIsIdentifier(this.state.type)){if(this.isContextual(129)){return this.flowParseInterfaceType();}return this.flowIdentToTypeAnnotation(startLoc,node,this.parseIdentifier());}}this.unexpected();};_proto.flowParsePostfixType=function flowParsePostfixType(){var startLoc=this.state.startLoc;var type=this.flowParsePrimaryType();var seenOptionalIndexedAccess=false;while((this.match(0)||this.match(18))&&!this.canInsertSemicolon()){var node=this.startNodeAt(startLoc);var optional=this.eat(18);seenOptionalIndexedAccess=seenOptionalIndexedAccess||optional;this.expect(0);if(!optional&&this.match(3)){node.elementType=type;this.next();type=this.finishNode(node,"ArrayTypeAnnotation");}else{node.objectType=type;node.indexType=this.flowParseType();this.expect(3);if(seenOptionalIndexedAccess){node.optional=optional;type=this.finishNode(node,"OptionalIndexedAccessType");}else{type=this.finishNode(node,"IndexedAccessType");}}}return type;};_proto.flowParsePrefixType=function flowParsePrefixType(){var node=this.startNode();if(this.eat(17)){node.typeAnnotation=this.flowParsePrefixType();return this.finishNode(node,"NullableTypeAnnotation");}else{return this.flowParsePostfixType();}};_proto.flowParseAnonFunctionWithoutParens=function flowParseAnonFunctionWithoutParens(){var param=this.flowParsePrefixType();if(!this.state.noAnonFunctionType&&this.eat(19)){var node=this.startNodeAt(param.loc.start);node.params=[this.reinterpretTypeAsFunctionTypeParam(param)];node.rest=null;node["this"]=null;node.returnType=this.flowParseType();node.typeParameters=null;return this.finishNode(node,"FunctionTypeAnnotation");}return param;};_proto.flowParseIntersectionType=function flowParseIntersectionType(){var node=this.startNode();this.eat(45);var type=this.flowParseAnonFunctionWithoutParens();node.types=[type];while(this.eat(45)){node.types.push(this.flowParseAnonFunctionWithoutParens());}return node.types.length===1?type:this.finishNode(node,"IntersectionTypeAnnotation");};_proto.flowParseUnionType=function flowParseUnionType(){var node=this.startNode();this.eat(43);var type=this.flowParseIntersectionType();node.types=[type];while(this.eat(43)){node.types.push(this.flowParseIntersectionType());}return node.types.length===1?type:this.finishNode(node,"UnionTypeAnnotation");};_proto.flowParseType=function flowParseType(){var oldInType=this.state.inType;this.state.inType=true;var type=this.flowParseUnionType();this.state.inType=oldInType;return type;};_proto.flowParseTypeOrImplicitInstantiation=function flowParseTypeOrImplicitInstantiation(){if(this.state.type===132&&this.state.value==="_"){var startLoc=this.state.startLoc;var node=this.parseIdentifier();return this.flowParseGenericType(startLoc,node);}else{return this.flowParseType();}};_proto.flowParseTypeAnnotation=function flowParseTypeAnnotation(){var node=this.startNode();node.typeAnnotation=this.flowParseTypeInitialiser();return this.finishNode(node,"TypeAnnotation");};_proto.flowParseTypeAnnotatableIdentifier=function flowParseTypeAnnotatableIdentifier(allowPrimitiveOverride){var ident=allowPrimitiveOverride?this.parseIdentifier():this.flowParseRestrictedIdentifier();if(this.match(14)){ident.typeAnnotation=this.flowParseTypeAnnotation();this.resetEndLocation(ident);}return ident;};_proto.typeCastToParameter=function typeCastToParameter(node){node.expression.typeAnnotation=node.typeAnnotation;this.resetEndLocation(node.expression,node.typeAnnotation.loc.end);return node.expression;};_proto.flowParseVariance=function flowParseVariance(){var variance=null;if(this.match(53)){variance=this.startNode();if(this.state.value==="+"){variance.kind="plus";}else{variance.kind="minus";}this.next();return this.finishNode(variance,"Variance");}return variance;};_proto.parseFunctionBody=function parseFunctionBody(node,allowExpressionBody,isMethod){var _this4=this;if(isMethod===void 0){isMethod=false;}if(allowExpressionBody){this.forwardNoArrowParamsConversionAt(node,function(){return _superClass.prototype.parseFunctionBody.call(_this4,node,true,isMethod);});return;}_superClass.prototype.parseFunctionBody.call(this,node,false,isMethod);};_proto.parseFunctionBodyAndFinish=function parseFunctionBodyAndFinish(node,type,isMethod){if(isMethod===void 0){isMethod=false;}if(this.match(14)){var typeNode=this.startNode();var _this$flowParseTypeAn2=this.flowParseTypeAndPredicateInitialiser();typeNode.typeAnnotation=_this$flowParseTypeAn2[0];node.predicate=_this$flowParseTypeAn2[1];node.returnType=typeNode.typeAnnotation?this.finishNode(typeNode,"TypeAnnotation"):null;}return _superClass.prototype.parseFunctionBodyAndFinish.call(this,node,type,isMethod);};_proto.parseStatementLike=function parseStatementLike(flags){if(this.state.strict&&this.isContextual(129)){var lookahead=this.lookahead();if(tokenIsKeywordOrIdentifier(lookahead.type)){var node=this.startNode();this.next();return this.flowParseInterface(node);}}else if(this.shouldParseEnums()&&this.isContextual(126)){var _node=this.startNode();this.next();return this.flowParseEnumDeclaration(_node);}var stmt=_superClass.prototype.parseStatementLike.call(this,flags);if(this.flowPragma===undefined&&!this.isValidDirective(stmt)){this.flowPragma=null;}return stmt;};_proto.parseExpressionStatement=function parseExpressionStatement(node,expr,decorators){if(expr.type==="Identifier"){if(expr.name==="declare"){if(this.match(80)||tokenIsIdentifier(this.state.type)||this.match(68)||this.match(74)||this.match(82)){return this.flowParseDeclare(node);}}else if(tokenIsIdentifier(this.state.type)){if(expr.name==="interface"){return this.flowParseInterface(node);}else if(expr.name==="type"){return this.flowParseTypeAlias(node);}else if(expr.name==="opaque"){return this.flowParseOpaqueType(node,false);}}}return _superClass.prototype.parseExpressionStatement.call(this,node,expr,decorators);};_proto.shouldParseExportDeclaration=function shouldParseExportDeclaration(){var type=this.state.type;if(tokenIsFlowInterfaceOrTypeOrOpaque(type)||this.shouldParseEnums()&&type===126){return!this.state.containsEsc;}return _superClass.prototype.shouldParseExportDeclaration.call(this);};_proto.isExportDefaultSpecifier=function isExportDefaultSpecifier(){var type=this.state.type;if(tokenIsFlowInterfaceOrTypeOrOpaque(type)||this.shouldParseEnums()&&type===126){return this.state.containsEsc;}return _superClass.prototype.isExportDefaultSpecifier.call(this);};_proto.parseExportDefaultExpression=function parseExportDefaultExpression(){if(this.shouldParseEnums()&&this.isContextual(126)){var node=this.startNode();this.next();return this.flowParseEnumDeclaration(node);}return _superClass.prototype.parseExportDefaultExpression.call(this);};_proto.parseConditional=function parseConditional(expr,startLoc,refExpressionErrors){var _this5=this;if(!this.match(17))return expr;if(this.state.maybeInArrowParameters){var nextCh=this.lookaheadCharCode();if(nextCh===44||nextCh===61||nextCh===58||nextCh===41){this.setOptionalParametersError(refExpressionErrors);return expr;}}this.expect(17);var state=this.state.clone();var originalNoArrowAt=this.state.noArrowAt;var node=this.startNodeAt(startLoc);var _this$tryParseConditi=this.tryParseConditionalConsequent(),consequent=_this$tryParseConditi.consequent,failed=_this$tryParseConditi.failed;var _this$getArrowLikeExp=this.getArrowLikeExpressions(consequent),valid=_this$getArrowLikeExp[0],invalid=_this$getArrowLikeExp[1];if(failed||invalid.length>0){var noArrowAt=[].concat(originalNoArrowAt);if(invalid.length>0){this.state=state;this.state.noArrowAt=noArrowAt;for(var i=0;i<invalid.length;i++){noArrowAt.push(invalid[i].start);}var _this$tryParseConditi2=this.tryParseConditionalConsequent();consequent=_this$tryParseConditi2.consequent;failed=_this$tryParseConditi2.failed;var _this$getArrowLikeExp2=this.getArrowLikeExpressions(consequent);valid=_this$getArrowLikeExp2[0];invalid=_this$getArrowLikeExp2[1];}if(failed&&valid.length>1){this.raise(FlowErrors.AmbiguousConditionalArrow,state.startLoc);}if(failed&&valid.length===1){this.state=state;noArrowAt.push(valid[0].start);this.state.noArrowAt=noArrowAt;var _this$tryParseConditi3=this.tryParseConditionalConsequent();consequent=_this$tryParseConditi3.consequent;failed=_this$tryParseConditi3.failed;}}this.getArrowLikeExpressions(consequent,true);this.state.noArrowAt=originalNoArrowAt;this.expect(14);node.test=expr;node.consequent=consequent;node.alternate=this.forwardNoArrowParamsConversionAt(node,function(){return _this5.parseMaybeAssign(undefined,undefined);});return this.finishNode(node,"ConditionalExpression");};_proto.tryParseConditionalConsequent=function tryParseConditionalConsequent(){this.state.noArrowParamsConversionAt.push(this.state.start);var consequent=this.parseMaybeAssignAllowIn();var failed=!this.match(14);this.state.noArrowParamsConversionAt.pop();return{consequent:consequent,failed:failed};};_proto.getArrowLikeExpressions=function getArrowLikeExpressions(node,disallowInvalid){var _this6=this;var stack=[node];var arrows=[];while(stack.length!==0){var _node2=stack.pop();if(_node2.type==="ArrowFunctionExpression"){if(_node2.typeParameters||!_node2.returnType){this.finishArrowValidation(_node2);}else{arrows.push(_node2);}stack.push(_node2.body);}else if(_node2.type==="ConditionalExpression"){stack.push(_node2.consequent);stack.push(_node2.alternate);}}if(disallowInvalid){arrows.forEach(function(node){return _this6.finishArrowValidation(node);});return[arrows,[]];}return partition(arrows,function(node){return node.params.every(function(param){return _this6.isAssignable(param,true);});});};_proto.finishArrowValidation=function finishArrowValidation(node){var _node$extra;this.toAssignableList(node.params,(_node$extra=node.extra)==null?void 0:_node$extra.trailingCommaLoc,false);this.scope.enter(ScopeFlag.FUNCTION|ScopeFlag.ARROW);_superClass.prototype.checkParams.call(this,node,false,true);this.scope.exit();};_proto.forwardNoArrowParamsConversionAt=function forwardNoArrowParamsConversionAt(node,parse){var result;if(this.state.noArrowParamsConversionAt.indexOf(node.start)!==-1){this.state.noArrowParamsConversionAt.push(this.state.start);result=parse();this.state.noArrowParamsConversionAt.pop();}else{result=parse();}return result;};_proto.parseParenItem=function parseParenItem(node,startLoc){node=_superClass.prototype.parseParenItem.call(this,node,startLoc);if(this.eat(17)){node.optional=true;this.resetEndLocation(node);}if(this.match(14)){var typeCastNode=this.startNodeAt(startLoc);typeCastNode.expression=node;typeCastNode.typeAnnotation=this.flowParseTypeAnnotation();return this.finishNode(typeCastNode,"TypeCastExpression");}return node;};_proto.assertModuleNodeAllowed=function assertModuleNodeAllowed(node){if(node.type==="ImportDeclaration"&&(node.importKind==="type"||node.importKind==="typeof")||node.type==="ExportNamedDeclaration"&&node.exportKind==="type"||node.type==="ExportAllDeclaration"&&node.exportKind==="type"){return;}_superClass.prototype.assertModuleNodeAllowed.call(this,node);};_proto.parseExportDeclaration=function parseExportDeclaration(node){if(this.isContextual(130)){node.exportKind="type";var declarationNode=this.startNode();this.next();if(this.match(5)){node.specifiers=this.parseExportSpecifiers(true);_superClass.prototype.parseExportFrom.call(this,node);return null;}else{return this.flowParseTypeAlias(declarationNode);}}else if(this.isContextual(131)){node.exportKind="type";var _declarationNode=this.startNode();this.next();return this.flowParseOpaqueType(_declarationNode,false);}else if(this.isContextual(129)){node.exportKind="type";var _declarationNode2=this.startNode();this.next();return this.flowParseInterface(_declarationNode2);}else if(this.shouldParseEnums()&&this.isContextual(126)){node.exportKind="value";var _declarationNode3=this.startNode();this.next();return this.flowParseEnumDeclaration(_declarationNode3);}else{return _superClass.prototype.parseExportDeclaration.call(this,node);}};_proto.eatExportStar=function eatExportStar(node){if(_superClass.prototype.eatExportStar.call(this,node))return true;if(this.isContextual(130)&&this.lookahead().type===55){node.exportKind="type";this.next();this.next();return true;}return false;};_proto.maybeParseExportNamespaceSpecifier=function maybeParseExportNamespaceSpecifier(node){var startLoc=this.state.startLoc;var hasNamespace=_superClass.prototype.maybeParseExportNamespaceSpecifier.call(this,node);if(hasNamespace&&node.exportKind==="type"){this.unexpected(startLoc);}return hasNamespace;};_proto.parseClassId=function parseClassId(node,isStatement,optionalId){_superClass.prototype.parseClassId.call(this,node,isStatement,optionalId);if(this.match(47)){node.typeParameters=this.flowParseTypeParameterDeclaration();}};_proto.parseClassMember=function parseClassMember(classBody,member,state){var startLoc=this.state.startLoc;if(this.isContextual(125)){if(_superClass.prototype.parseClassMemberFromModifier.call(this,classBody,member)){return;}member.declare=true;}_superClass.prototype.parseClassMember.call(this,classBody,member,state);if(member.declare){if(member.type!=="ClassProperty"&&member.type!=="ClassPrivateProperty"&&member.type!=="PropertyDefinition"){this.raise(FlowErrors.DeclareClassElement,startLoc);}else if(member.value){this.raise(FlowErrors.DeclareClassFieldInitializer,member.value);}}};_proto.isIterator=function isIterator(word){return word==="iterator"||word==="asyncIterator";};_proto.readIterator=function readIterator(){var word=_superClass.prototype.readWord1.call(this);var fullWord="@@"+word;if(!this.isIterator(word)||!this.state.inType){this.raise(Errors.InvalidIdentifier,this.state.curPosition(),{identifierName:fullWord});}this.finishToken(132,fullWord);};_proto.getTokenFromCode=function getTokenFromCode(code){var next=this.input.charCodeAt(this.state.pos+1);if(code===123&&next===124){this.finishOp(6,2);}else if(this.state.inType&&(code===62||code===60)){this.finishOp(code===62?48:47,1);}else if(this.state.inType&&code===63){if(next===46){this.finishOp(18,2);}else{this.finishOp(17,1);}}else if(isIteratorStart(code,next,this.input.charCodeAt(this.state.pos+2))){this.state.pos+=2;this.readIterator();}else{_superClass.prototype.getTokenFromCode.call(this,code);}};_proto.isAssignable=function isAssignable(node,isBinding){if(node.type==="TypeCastExpression"){return this.isAssignable(node.expression,isBinding);}else{return _superClass.prototype.isAssignable.call(this,node,isBinding);}};_proto.toAssignable=function toAssignable(node,isLHS){if(isLHS===void 0){isLHS=false;}if(!isLHS&&node.type==="AssignmentExpression"&&node.left.type==="TypeCastExpression"){node.left=this.typeCastToParameter(node.left);}_superClass.prototype.toAssignable.call(this,node,isLHS);};_proto.toAssignableList=function toAssignableList(exprList,trailingCommaLoc,isLHS){for(var i=0;i<exprList.length;i++){var expr=exprList[i];if((expr==null?void 0:expr.type)==="TypeCastExpression"){exprList[i]=this.typeCastToParameter(expr);}}_superClass.prototype.toAssignableList.call(this,exprList,trailingCommaLoc,isLHS);};_proto.toReferencedList=function toReferencedList(exprList,isParenthesizedExpr){for(var i=0;i<exprList.length;i++){var _expr$extra;var expr=exprList[i];if(expr&&expr.type==="TypeCastExpression"&&!((_expr$extra=expr.extra)!=null&&_expr$extra.parenthesized)&&(exprList.length>1||!isParenthesizedExpr)){this.raise(FlowErrors.TypeCastInPattern,expr.typeAnnotation);}}return exprList;};_proto.parseArrayLike=function parseArrayLike(close,canBePattern,isTuple,refExpressionErrors){var node=_superClass.prototype.parseArrayLike.call(this,close,canBePattern,isTuple,refExpressionErrors);if(canBePattern&&!this.state.maybeInArrowParameters){this.toReferencedList(node.elements);}return node;};_proto.isValidLVal=function isValidLVal(type,isParenthesized,binding){return type==="TypeCastExpression"||_superClass.prototype.isValidLVal.call(this,type,isParenthesized,binding);};_proto.parseClassProperty=function parseClassProperty(node){if(this.match(14)){node.typeAnnotation=this.flowParseTypeAnnotation();}return _superClass.prototype.parseClassProperty.call(this,node);};_proto.parseClassPrivateProperty=function parseClassPrivateProperty(node){if(this.match(14)){node.typeAnnotation=this.flowParseTypeAnnotation();}return _superClass.prototype.parseClassPrivateProperty.call(this,node);};_proto.isClassMethod=function isClassMethod(){return this.match(47)||_superClass.prototype.isClassMethod.call(this);};_proto.isClassProperty=function isClassProperty(){return this.match(14)||_superClass.prototype.isClassProperty.call(this);};_proto.isNonstaticConstructor=function isNonstaticConstructor(method){return!this.match(14)&&_superClass.prototype.isNonstaticConstructor.call(this,method);};_proto.pushClassMethod=function pushClassMethod(classBody,method,isGenerator,isAsync,isConstructor,allowsDirectSuper){if(method.variance){this.unexpected(method.variance.loc.start);}delete method.variance;if(this.match(47)){method.typeParameters=this.flowParseTypeParameterDeclaration();}_superClass.prototype.pushClassMethod.call(this,classBody,method,isGenerator,isAsync,isConstructor,allowsDirectSuper);if(method.params&&isConstructor){var params=method.params;if(params.length>0&&this.isThisParam(params[0])){this.raise(FlowErrors.ThisParamBannedInConstructor,method);}}else if(method.type==="MethodDefinition"&&isConstructor&&method.value.params){var _params=method.value.params;if(_params.length>0&&this.isThisParam(_params[0])){this.raise(FlowErrors.ThisParamBannedInConstructor,method);}}};_proto.pushClassPrivateMethod=function pushClassPrivateMethod(classBody,method,isGenerator,isAsync){if(method.variance){this.unexpected(method.variance.loc.start);}delete method.variance;if(this.match(47)){method.typeParameters=this.flowParseTypeParameterDeclaration();}_superClass.prototype.pushClassPrivateMethod.call(this,classBody,method,isGenerator,isAsync);};_proto.parseClassSuper=function parseClassSuper(node){_superClass.prototype.parseClassSuper.call(this,node);if(node.superClass&&this.match(47)){node.superTypeParameters=this.flowParseTypeParameterInstantiation();}if(this.isContextual(113)){this.next();var implemented=node["implements"]=[];do{var _node3=this.startNode();_node3.id=this.flowParseRestrictedIdentifier(true);if(this.match(47)){_node3.typeParameters=this.flowParseTypeParameterInstantiation();}else{_node3.typeParameters=null;}implemented.push(this.finishNode(_node3,"ClassImplements"));}while(this.eat(12));}};_proto.checkGetterSetterParams=function checkGetterSetterParams(method){_superClass.prototype.checkGetterSetterParams.call(this,method);var params=this.getObjectOrClassMethodParams(method);if(params.length>0){var param=params[0];if(this.isThisParam(param)&&method.kind==="get"){this.raise(FlowErrors.GetterMayNotHaveThisParam,param);}else if(this.isThisParam(param)){this.raise(FlowErrors.SetterMayNotHaveThisParam,param);}}};_proto.parsePropertyNamePrefixOperator=function parsePropertyNamePrefixOperator(node){node.variance=this.flowParseVariance();};_proto.parseObjPropValue=function parseObjPropValue(prop,startLoc,isGenerator,isAsync,isPattern,isAccessor,refExpressionErrors){if(prop.variance){this.unexpected(prop.variance.loc.start);}delete prop.variance;var typeParameters;if(this.match(47)&&!isAccessor){typeParameters=this.flowParseTypeParameterDeclaration();if(!this.match(10))this.unexpected();}var result=_superClass.prototype.parseObjPropValue.call(this,prop,startLoc,isGenerator,isAsync,isPattern,isAccessor,refExpressionErrors);if(typeParameters){(result.value||result).typeParameters=typeParameters;}return result;};_proto.parseAssignableListItemTypes=function parseAssignableListItemTypes(param){if(this.eat(17)){if(param.type!=="Identifier"){this.raise(FlowErrors.PatternIsOptional,param);}if(this.isThisParam(param)){this.raise(FlowErrors.ThisParamMayNotBeOptional,param);}param.optional=true;}if(this.match(14)){param.typeAnnotation=this.flowParseTypeAnnotation();}else if(this.isThisParam(param)){this.raise(FlowErrors.ThisParamAnnotationRequired,param);}if(this.match(29)&&this.isThisParam(param)){this.raise(FlowErrors.ThisParamNoDefault,param);}this.resetEndLocation(param);return param;};_proto.parseMaybeDefault=function parseMaybeDefault(startLoc,left){var node=_superClass.prototype.parseMaybeDefault.call(this,startLoc,left);if(node.type==="AssignmentPattern"&&node.typeAnnotation&&node.right.start<node.typeAnnotation.start){this.raise(FlowErrors.TypeBeforeInitializer,node.typeAnnotation);}return node;};_proto.checkImportReflection=function checkImportReflection(node){_superClass.prototype.checkImportReflection.call(this,node);if(node.module&&node.importKind!=="value"){this.raise(FlowErrors.ImportReflectionHasImportType,node.specifiers[0].loc.start);}};_proto.parseImportSpecifierLocal=function parseImportSpecifierLocal(node,specifier,type){specifier.local=hasTypeImportKind(node)?this.flowParseRestrictedIdentifier(true,true):this.parseIdentifier();node.specifiers.push(this.finishImportSpecifier(specifier,type));};_proto.isPotentialImportPhase=function isPotentialImportPhase(isExport){if(_superClass.prototype.isPotentialImportPhase.call(this,isExport))return true;if(this.isContextual(130)){if(!isExport)return true;var ch=this.lookaheadCharCode();return ch===123||ch===42;}return!isExport&&this.isContextual(87);};_proto.applyImportPhase=function applyImportPhase(node,isExport,phase,loc){_superClass.prototype.applyImportPhase.call(this,node,isExport,phase,loc);if(isExport){if(!phase&&this.match(65)){return;}node.exportKind=phase==="type"?phase:"value";}else{if(phase==="type"&&this.match(55))this.unexpected();node.importKind=phase==="type"||phase==="typeof"?phase:"value";}};_proto.parseImportSpecifier=function parseImportSpecifier(specifier,importedIsString,isInTypeOnlyImport,isMaybeTypeOnly,bindingType){var firstIdent=specifier.imported;var specifierTypeKind=null;if(firstIdent.type==="Identifier"){if(firstIdent.name==="type"){specifierTypeKind="type";}else if(firstIdent.name==="typeof"){specifierTypeKind="typeof";}}var isBinding=false;if(this.isContextual(93)&&!this.isLookaheadContextual("as")){var as_ident=this.parseIdentifier(true);if(specifierTypeKind!==null&&!tokenIsKeywordOrIdentifier(this.state.type)){specifier.imported=as_ident;specifier.importKind=specifierTypeKind;specifier.local=cloneIdentifier(as_ident);}else{specifier.imported=firstIdent;specifier.importKind=null;specifier.local=this.parseIdentifier();}}else{if(specifierTypeKind!==null&&tokenIsKeywordOrIdentifier(this.state.type)){specifier.imported=this.parseIdentifier(true);specifier.importKind=specifierTypeKind;}else{if(importedIsString){throw this.raise(Errors.ImportBindingIsString,specifier,{importName:firstIdent.value});}specifier.imported=firstIdent;specifier.importKind=null;}if(this.eatContextual(93)){specifier.local=this.parseIdentifier();}else{isBinding=true;specifier.local=cloneIdentifier(specifier.imported);}}var specifierIsTypeImport=hasTypeImportKind(specifier);if(isInTypeOnlyImport&&specifierIsTypeImport){this.raise(FlowErrors.ImportTypeShorthandOnlyInPureImport,specifier);}if(isInTypeOnlyImport||specifierIsTypeImport){this.checkReservedType(specifier.local.name,specifier.local.loc.start,true);}if(isBinding&&!isInTypeOnlyImport&&!specifierIsTypeImport){this.checkReservedWord(specifier.local.name,specifier.loc.start,true,true);}return this.finishImportSpecifier(specifier,"ImportSpecifier");};_proto.parseBindingAtom=function parseBindingAtom(){switch(this.state.type){case 78:return this.parseIdentifier(true);default:return _superClass.prototype.parseBindingAtom.call(this);}};_proto.parseFunctionParams=function parseFunctionParams(node,isConstructor){var kind=node.kind;if(kind!=="get"&&kind!=="set"&&this.match(47)){node.typeParameters=this.flowParseTypeParameterDeclaration();}_superClass.prototype.parseFunctionParams.call(this,node,isConstructor);};_proto.parseVarId=function parseVarId(decl,kind){_superClass.prototype.parseVarId.call(this,decl,kind);if(this.match(14)){decl.id.typeAnnotation=this.flowParseTypeAnnotation();this.resetEndLocation(decl.id);}};_proto.parseAsyncArrowFromCallExpression=function parseAsyncArrowFromCallExpression(node,call){if(this.match(14)){var oldNoAnonFunctionType=this.state.noAnonFunctionType;this.state.noAnonFunctionType=true;node.returnType=this.flowParseTypeAnnotation();this.state.noAnonFunctionType=oldNoAnonFunctionType;}return _superClass.prototype.parseAsyncArrowFromCallExpression.call(this,node,call);};_proto.shouldParseAsyncArrow=function shouldParseAsyncArrow(){return this.match(14)||_superClass.prototype.shouldParseAsyncArrow.call(this);};_proto.parseMaybeAssign=function parseMaybeAssign(refExpressionErrors,afterLeftParse){var _this7=this,_jsx;var state=null;var jsx;if(this.hasPlugin("jsx")&&(this.match(142)||this.match(47))){state=this.state.clone();jsx=this.tryParse(function(){return _superClass.prototype.parseMaybeAssign.call(_this7,refExpressionErrors,afterLeftParse);},state);if(!jsx.error)return jsx.node;var context=this.state.context;var currentContext=context[context.length-1];if(currentContext===types.j_oTag||currentContext===types.j_expr){context.pop();}}if((_jsx=jsx)!=null&&_jsx.error||this.match(47)){var _jsx2,_jsx3;state=state||this.state.clone();var typeParameters;var arrow=this.tryParse(function(abort){var _arrowExpression$extr;typeParameters=_this7.flowParseTypeParameterDeclaration();var arrowExpression=_this7.forwardNoArrowParamsConversionAt(typeParameters,function(){var result=_superClass.prototype.parseMaybeAssign.call(_this7,refExpressionErrors,afterLeftParse);_this7.resetStartLocationFromNode(result,typeParameters);return result;});if((_arrowExpression$extr=arrowExpression.extra)!=null&&_arrowExpression$extr.parenthesized)abort();var expr=_this7.maybeUnwrapTypeCastExpression(arrowExpression);if(expr.type!=="ArrowFunctionExpression")abort();expr.typeParameters=typeParameters;_this7.resetStartLocationFromNode(expr,typeParameters);return arrowExpression;},state);var arrowExpression=null;if(arrow.node&&this.maybeUnwrapTypeCastExpression(arrow.node).type==="ArrowFunctionExpression"){if(!arrow.error&&!arrow.aborted){if(arrow.node.async){this.raise(FlowErrors.UnexpectedTypeParameterBeforeAsyncArrowFunction,typeParameters);}return arrow.node;}arrowExpression=arrow.node;}if((_jsx2=jsx)!=null&&_jsx2.node){this.state=jsx.failState;return jsx.node;}if(arrowExpression){this.state=arrow.failState;return arrowExpression;}if((_jsx3=jsx)!=null&&_jsx3.thrown)throw jsx.error;if(arrow.thrown)throw arrow.error;throw this.raise(FlowErrors.UnexpectedTokenAfterTypeParameter,typeParameters);}return _superClass.prototype.parseMaybeAssign.call(this,refExpressionErrors,afterLeftParse);};_proto.parseArrow=function parseArrow(node){var _this8=this;if(this.match(14)){var result=this.tryParse(function(){var oldNoAnonFunctionType=_this8.state.noAnonFunctionType;_this8.state.noAnonFunctionType=true;var typeNode=_this8.startNode();var _this8$flowParseTypeA=_this8.flowParseTypeAndPredicateInitialiser();typeNode.typeAnnotation=_this8$flowParseTypeA[0];node.predicate=_this8$flowParseTypeA[1];_this8.state.noAnonFunctionType=oldNoAnonFunctionType;if(_this8.canInsertSemicolon())_this8.unexpected();if(!_this8.match(19))_this8.unexpected();return typeNode;});if(result.thrown)return null;if(result.error)this.state=result.failState;node.returnType=result.node.typeAnnotation?this.finishNode(result.node,"TypeAnnotation"):null;}return _superClass.prototype.parseArrow.call(this,node);};_proto.shouldParseArrow=function shouldParseArrow(params){return this.match(14)||_superClass.prototype.shouldParseArrow.call(this,params);};_proto.setArrowFunctionParameters=function setArrowFunctionParameters(node,params){if(this.state.noArrowParamsConversionAt.indexOf(node.start)!==-1){node.params=params;}else{_superClass.prototype.setArrowFunctionParameters.call(this,node,params);}};_proto.checkParams=function checkParams(node,allowDuplicates,isArrowFunction,strictModeChanged){if(strictModeChanged===void 0){strictModeChanged=true;}if(isArrowFunction&&this.state.noArrowParamsConversionAt.indexOf(node.start)!==-1){return;}for(var i=0;i<node.params.length;i++){if(this.isThisParam(node.params[i])&&i>0){this.raise(FlowErrors.ThisParamMustBeFirst,node.params[i]);}}_superClass.prototype.checkParams.call(this,node,allowDuplicates,isArrowFunction,strictModeChanged);};_proto.parseParenAndDistinguishExpression=function parseParenAndDistinguishExpression(canBeArrow){return _superClass.prototype.parseParenAndDistinguishExpression.call(this,canBeArrow&&this.state.noArrowAt.indexOf(this.state.start)===-1);};_proto.parseSubscripts=function parseSubscripts(base,startLoc,noCalls){var _this9=this;if(base.type==="Identifier"&&base.name==="async"&&this.state.noArrowAt.indexOf(startLoc.index)!==-1){this.next();var node=this.startNodeAt(startLoc);node.callee=base;node.arguments=_superClass.prototype.parseCallExpressionArguments.call(this,11,false);base=this.finishNode(node,"CallExpression");}else if(base.type==="Identifier"&&base.name==="async"&&this.match(47)){var state=this.state.clone();var arrow=this.tryParse(function(abort){return _this9.parseAsyncArrowWithTypeParameters(startLoc)||abort();},state);if(!arrow.error&&!arrow.aborted)return arrow.node;var result=this.tryParse(function(){return _superClass.prototype.parseSubscripts.call(_this9,base,startLoc,noCalls);},state);if(result.node&&!result.error)return result.node;if(arrow.node){this.state=arrow.failState;return arrow.node;}if(result.node){this.state=result.failState;return result.node;}throw arrow.error||result.error;}return _superClass.prototype.parseSubscripts.call(this,base,startLoc,noCalls);};_proto.parseSubscript=function parseSubscript(base,startLoc,noCalls,subscriptState){var _this10=this;if(this.match(18)&&this.isLookaheadToken_lt()){subscriptState.optionalChainMember=true;if(noCalls){subscriptState.stop=true;return base;}this.next();var node=this.startNodeAt(startLoc);node.callee=base;node.typeArguments=this.flowParseTypeParameterInstantiation();this.expect(10);node.arguments=this.parseCallExpressionArguments(11,false);node.optional=true;return this.finishCallExpression(node,true);}else if(!noCalls&&this.shouldParseTypes()&&this.match(47)){var _node4=this.startNodeAt(startLoc);_node4.callee=base;var result=this.tryParse(function(){_node4.typeArguments=_this10.flowParseTypeParameterInstantiationCallOrNew();_this10.expect(10);_node4.arguments=_superClass.prototype.parseCallExpressionArguments.call(_this10,11,false);if(subscriptState.optionalChainMember){_node4.optional=false;}return _this10.finishCallExpression(_node4,subscriptState.optionalChainMember);});if(result.node){if(result.error)this.state=result.failState;return result.node;}}return _superClass.prototype.parseSubscript.call(this,base,startLoc,noCalls,subscriptState);};_proto.parseNewCallee=function parseNewCallee(node){var _this11=this;_superClass.prototype.parseNewCallee.call(this,node);var targs=null;if(this.shouldParseTypes()&&this.match(47)){targs=this.tryParse(function(){return _this11.flowParseTypeParameterInstantiationCallOrNew();}).node;}node.typeArguments=targs;};_proto.parseAsyncArrowWithTypeParameters=function parseAsyncArrowWithTypeParameters(startLoc){var node=this.startNodeAt(startLoc);this.parseFunctionParams(node,false);if(!this.parseArrow(node))return;return _superClass.prototype.parseArrowExpression.call(this,node,undefined,true);};_proto.readToken_mult_modulo=function readToken_mult_modulo(code){var next=this.input.charCodeAt(this.state.pos+1);if(code===42&&next===47&&this.state.hasFlowComment){this.state.hasFlowComment=false;this.state.pos+=2;this.nextToken();return;}_superClass.prototype.readToken_mult_modulo.call(this,code);};_proto.readToken_pipe_amp=function readToken_pipe_amp(code){var next=this.input.charCodeAt(this.state.pos+1);if(code===124&&next===125){this.finishOp(9,2);return;}_superClass.prototype.readToken_pipe_amp.call(this,code);};_proto.parseTopLevel=function parseTopLevel(file,program){var fileNode=_superClass.prototype.parseTopLevel.call(this,file,program);if(this.state.hasFlowComment){this.raise(FlowErrors.UnterminatedFlowComment,this.state.curPosition());}return fileNode;};_proto.skipBlockComment=function skipBlockComment(){if(this.hasPlugin("flowComments")&&this.skipFlowComment()){if(this.state.hasFlowComment){throw this.raise(FlowErrors.NestedFlowComment,this.state.startLoc);}this.hasFlowCommentCompletion();var commentSkip=this.skipFlowComment();if(commentSkip){this.state.pos+=commentSkip;this.state.hasFlowComment=true;}return;}return _superClass.prototype.skipBlockComment.call(this,this.state.hasFlowComment?"*-/":"*/");};_proto.skipFlowComment=function skipFlowComment(){var pos=this.state.pos;var shiftToFirstNonWhiteSpace=2;while([32,9].includes(this.input.charCodeAt(pos+shiftToFirstNonWhiteSpace))){shiftToFirstNonWhiteSpace++;}var ch2=this.input.charCodeAt(shiftToFirstNonWhiteSpace+pos);var ch3=this.input.charCodeAt(shiftToFirstNonWhiteSpace+pos+1);if(ch2===58&&ch3===58){return shiftToFirstNonWhiteSpace+2;}if(this.input.slice(shiftToFirstNonWhiteSpace+pos,shiftToFirstNonWhiteSpace+pos+12)==="flow-include"){return shiftToFirstNonWhiteSpace+12;}if(ch2===58&&ch3!==58){return shiftToFirstNonWhiteSpace;}return false;};_proto.hasFlowCommentCompletion=function hasFlowCommentCompletion(){var end=this.input.indexOf("*/",this.state.pos);if(end===-1){throw this.raise(Errors.UnterminatedComment,this.state.curPosition());}};_proto.flowEnumErrorBooleanMemberNotInitialized=function flowEnumErrorBooleanMemberNotInitialized(loc,_ref16){var enumName=_ref16.enumName,memberName=_ref16.memberName;this.raise(FlowErrors.EnumBooleanMemberNotInitialized,loc,{memberName:memberName,enumName:enumName});};_proto.flowEnumErrorInvalidMemberInitializer=function flowEnumErrorInvalidMemberInitializer(loc,enumContext){return this.raise(!enumContext.explicitType?FlowErrors.EnumInvalidMemberInitializerUnknownType:enumContext.explicitType==="symbol"?FlowErrors.EnumInvalidMemberInitializerSymbolType:FlowErrors.EnumInvalidMemberInitializerPrimaryType,loc,enumContext);};_proto.flowEnumErrorNumberMemberNotInitialized=function flowEnumErrorNumberMemberNotInitialized(loc,details){this.raise(FlowErrors.EnumNumberMemberNotInitialized,loc,details);};_proto.flowEnumErrorStringMemberInconsistentlyInitialized=function flowEnumErrorStringMemberInconsistentlyInitialized(node,details){this.raise(FlowErrors.EnumStringMemberInconsistentlyInitialized,node,details);};_proto.flowEnumMemberInit=function flowEnumMemberInit(){var _this12=this;var startLoc=this.state.startLoc;var endOfInit=function endOfInit(){return _this12.match(12)||_this12.match(8);};switch(this.state.type){case 134:{var literal=this.parseNumericLiteral(this.state.value);if(endOfInit()){return{type:"number",loc:literal.loc.start,value:literal};}return{type:"invalid",loc:startLoc};}case 133:{var _literal=this.parseStringLiteral(this.state.value);if(endOfInit()){return{type:"string",loc:_literal.loc.start,value:_literal};}return{type:"invalid",loc:startLoc};}case 85:case 86:{var _literal2=this.parseBooleanLiteral(this.match(85));if(endOfInit()){return{type:"boolean",loc:_literal2.loc.start,value:_literal2};}return{type:"invalid",loc:startLoc};}default:return{type:"invalid",loc:startLoc};}};_proto.flowEnumMemberRaw=function flowEnumMemberRaw(){var loc=this.state.startLoc;var id=this.parseIdentifier(true);var init=this.eat(29)?this.flowEnumMemberInit():{type:"none",loc:loc};return{id:id,init:init};};_proto.flowEnumCheckExplicitTypeMismatch=function flowEnumCheckExplicitTypeMismatch(loc,context,expectedType){var explicitType=context.explicitType;if(explicitType===null){return;}if(explicitType!==expectedType){this.flowEnumErrorInvalidMemberInitializer(loc,context);}};_proto.flowEnumMembers=function flowEnumMembers(_ref17){var enumName=_ref17.enumName,explicitType=_ref17.explicitType;var seenNames=new Set();var members={booleanMembers:[],numberMembers:[],stringMembers:[],defaultedMembers:[]};var hasUnknownMembers=false;while(!this.match(8)){if(this.eat(21)){hasUnknownMembers=true;break;}var memberNode=this.startNode();var _this$flowEnumMemberR=this.flowEnumMemberRaw(),id=_this$flowEnumMemberR.id,init=_this$flowEnumMemberR.init;var memberName=id.name;if(memberName===""){continue;}if(/^[a-z]/.test(memberName)){this.raise(FlowErrors.EnumInvalidMemberName,id,{memberName:memberName,suggestion:memberName[0].toUpperCase()+memberName.slice(1),enumName:enumName});}if(seenNames.has(memberName)){this.raise(FlowErrors.EnumDuplicateMemberName,id,{memberName:memberName,enumName:enumName});}seenNames.add(memberName);var context={enumName:enumName,explicitType:explicitType,memberName:memberName};memberNode.id=id;switch(init.type){case"boolean":{this.flowEnumCheckExplicitTypeMismatch(init.loc,context,"boolean");memberNode.init=init.value;members.booleanMembers.push(this.finishNode(memberNode,"EnumBooleanMember"));break;}case"number":{this.flowEnumCheckExplicitTypeMismatch(init.loc,context,"number");memberNode.init=init.value;members.numberMembers.push(this.finishNode(memberNode,"EnumNumberMember"));break;}case"string":{this.flowEnumCheckExplicitTypeMismatch(init.loc,context,"string");memberNode.init=init.value;members.stringMembers.push(this.finishNode(memberNode,"EnumStringMember"));break;}case"invalid":{throw this.flowEnumErrorInvalidMemberInitializer(init.loc,context);}case"none":{switch(explicitType){case"boolean":this.flowEnumErrorBooleanMemberNotInitialized(init.loc,context);break;case"number":this.flowEnumErrorNumberMemberNotInitialized(init.loc,context);break;default:members.defaultedMembers.push(this.finishNode(memberNode,"EnumDefaultedMember"));}}}if(!this.match(8)){this.expect(12);}}return{members:members,hasUnknownMembers:hasUnknownMembers};};_proto.flowEnumStringMembers=function flowEnumStringMembers(initializedMembers,defaultedMembers,_ref18){var enumName=_ref18.enumName;if(initializedMembers.length===0){return defaultedMembers;}else if(defaultedMembers.length===0){return initializedMembers;}else if(defaultedMembers.length>initializedMembers.length){for(var _i2=0;_i2<initializedMembers.length;_i2++){var member=initializedMembers[_i2];this.flowEnumErrorStringMemberInconsistentlyInitialized(member,{enumName:enumName});}return defaultedMembers;}else{for(var _i4=0;_i4<defaultedMembers.length;_i4++){var _member=defaultedMembers[_i4];this.flowEnumErrorStringMemberInconsistentlyInitialized(_member,{enumName:enumName});}return initializedMembers;}};_proto.flowEnumParseExplicitType=function flowEnumParseExplicitType(_ref19){var enumName=_ref19.enumName;if(!this.eatContextual(102))return null;if(!tokenIsIdentifier(this.state.type)){throw this.raise(FlowErrors.EnumInvalidExplicitTypeUnknownSupplied,this.state.startLoc,{enumName:enumName});}var value=this.state.value;this.next();if(value!=="boolean"&&value!=="number"&&value!=="string"&&value!=="symbol"){this.raise(FlowErrors.EnumInvalidExplicitType,this.state.startLoc,{enumName:enumName,invalidEnumType:value});}return value;};_proto.flowEnumBody=function flowEnumBody(node,id){var _this13=this;var enumName=id.name;var nameLoc=id.loc.start;var explicitType=this.flowEnumParseExplicitType({enumName:enumName});this.expect(5);var _this$flowEnumMembers=this.flowEnumMembers({enumName:enumName,explicitType:explicitType}),members=_this$flowEnumMembers.members,hasUnknownMembers=_this$flowEnumMembers.hasUnknownMembers;node.hasUnknownMembers=hasUnknownMembers;switch(explicitType){case"boolean":node.explicitType=true;node.members=members.booleanMembers;this.expect(8);return this.finishNode(node,"EnumBooleanBody");case"number":node.explicitType=true;node.members=members.numberMembers;this.expect(8);return this.finishNode(node,"EnumNumberBody");case"string":node.explicitType=true;node.members=this.flowEnumStringMembers(members.stringMembers,members.defaultedMembers,{enumName:enumName});this.expect(8);return this.finishNode(node,"EnumStringBody");case"symbol":node.members=members.defaultedMembers;this.expect(8);return this.finishNode(node,"EnumSymbolBody");default:{var empty=function empty(){node.members=[];_this13.expect(8);return _this13.finishNode(node,"EnumStringBody");};node.explicitType=false;var boolsLen=members.booleanMembers.length;var numsLen=members.numberMembers.length;var strsLen=members.stringMembers.length;var defaultedLen=members.defaultedMembers.length;if(!boolsLen&&!numsLen&&!strsLen&&!defaultedLen){return empty();}else if(!boolsLen&&!numsLen){node.members=this.flowEnumStringMembers(members.stringMembers,members.defaultedMembers,{enumName:enumName});this.expect(8);return this.finishNode(node,"EnumStringBody");}else if(!numsLen&&!strsLen&&boolsLen>=defaultedLen){for(var _i6=0,_members$defaultedMem2=members.defaultedMembers;_i6<_members$defaultedMem2.length;_i6++){var member=_members$defaultedMem2[_i6];this.flowEnumErrorBooleanMemberNotInitialized(member.loc.start,{enumName:enumName,memberName:member.id.name});}node.members=members.booleanMembers;this.expect(8);return this.finishNode(node,"EnumBooleanBody");}else if(!boolsLen&&!strsLen&&numsLen>=defaultedLen){for(var _i8=0,_members$defaultedMem4=members.defaultedMembers;_i8<_members$defaultedMem4.length;_i8++){var _member2=_members$defaultedMem4[_i8];this.flowEnumErrorNumberMemberNotInitialized(_member2.loc.start,{enumName:enumName,memberName:_member2.id.name});}node.members=members.numberMembers;this.expect(8);return this.finishNode(node,"EnumNumberBody");}else{this.raise(FlowErrors.EnumInconsistentMemberValues,nameLoc,{enumName:enumName});return empty();}}}};_proto.flowParseEnumDeclaration=function flowParseEnumDeclaration(node){var id=this.parseIdentifier();node.id=id;node.body=this.flowEnumBody(this.startNode(),id);return this.finishNode(node,"EnumDeclaration");};_proto.isLookaheadToken_lt=function isLookaheadToken_lt(){var next=this.nextTokenStart();if(this.input.charCodeAt(next)===60){var afterNext=this.input.charCodeAt(next+1);return afterNext!==60&&afterNext!==61;}return false;};_proto.maybeUnwrapTypeCastExpression=function maybeUnwrapTypeCastExpression(node){return node.type==="TypeCastExpression"?node.expression:node;};return _createClass(FlowParserMixin);}(superClass);};var entities={__proto__:null,quot:"\"",amp:"&",apos:"'",lt:"<",gt:">",nbsp:"\xA0",iexcl:"\xA1",cent:"\xA2",pound:"\xA3",curren:"\xA4",yen:"\xA5",brvbar:"\xA6",sect:"\xA7",uml:"\xA8",copy:"\xA9",ordf:"\xAA",laquo:"\xAB",not:"\xAC",shy:"\xAD",reg:"\xAE",macr:"\xAF",deg:"\xB0",plusmn:"\xB1",sup2:"\xB2",sup3:"\xB3",acute:"\xB4",micro:"\xB5",para:"\xB6",middot:"\xB7",cedil:"\xB8",sup1:"\xB9",ordm:"\xBA",raquo:"\xBB",frac14:"\xBC",frac12:"\xBD",frac34:"\xBE",iquest:"\xBF",Agrave:"\xC0",Aacute:"\xC1",Acirc:"\xC2",Atilde:"\xC3",Auml:"\xC4",Aring:"\xC5",AElig:"\xC6",Ccedil:"\xC7",Egrave:"\xC8",Eacute:"\xC9",Ecirc:"\xCA",Euml:"\xCB",Igrave:"\xCC",Iacute:"\xCD",Icirc:"\xCE",Iuml:"\xCF",ETH:"\xD0",Ntilde:"\xD1",Ograve:"\xD2",Oacute:"\xD3",Ocirc:"\xD4",Otilde:"\xD5",Ouml:"\xD6",times:"\xD7",Oslash:"\xD8",Ugrave:"\xD9",Uacute:"\xDA",Ucirc:"\xDB",Uuml:"\xDC",Yacute:"\xDD",THORN:"\xDE",szlig:"\xDF",agrave:"\xE0",aacute:"\xE1",acirc:"\xE2",atilde:"\xE3",auml:"\xE4",aring:"\xE5",aelig:"\xE6",ccedil:"\xE7",egrave:"\xE8",eacute:"\xE9",ecirc:"\xEA",euml:"\xEB",igrave:"\xEC",iacute:"\xED",icirc:"\xEE",iuml:"\xEF",eth:"\xF0",ntilde:"\xF1",ograve:"\xF2",oacute:"\xF3",ocirc:"\xF4",otilde:"\xF5",ouml:"\xF6",divide:"\xF7",oslash:"\xF8",ugrave:"\xF9",uacute:"\xFA",ucirc:"\xFB",uuml:"\xFC",yacute:"\xFD",thorn:"\xFE",yuml:"\xFF",OElig:"\u0152",oelig:"\u0153",Scaron:"\u0160",scaron:"\u0161",Yuml:"\u0178",fnof:"\u0192",circ:"\u02C6",tilde:"\u02DC",Alpha:"\u0391",Beta:"\u0392",Gamma:"\u0393",Delta:"\u0394",Epsilon:"\u0395",Zeta:"\u0396",Eta:"\u0397",Theta:"\u0398",Iota:"\u0399",Kappa:"\u039A",Lambda:"\u039B",Mu:"\u039C",Nu:"\u039D",Xi:"\u039E",Omicron:"\u039F",Pi:"\u03A0",Rho:"\u03A1",Sigma:"\u03A3",Tau:"\u03A4",Upsilon:"\u03A5",Phi:"\u03A6",Chi:"\u03A7",Psi:"\u03A8",Omega:"\u03A9",alpha:"\u03B1",beta:"\u03B2",gamma:"\u03B3",delta:"\u03B4",epsilon:"\u03B5",zeta:"\u03B6",eta:"\u03B7",theta:"\u03B8",iota:"\u03B9",kappa:"\u03BA",lambda:"\u03BB",mu:"\u03BC",nu:"\u03BD",xi:"\u03BE",omicron:"\u03BF",pi:"\u03C0",rho:"\u03C1",sigmaf:"\u03C2",sigma:"\u03C3",tau:"\u03C4",upsilon:"\u03C5",phi:"\u03C6",chi:"\u03C7",psi:"\u03C8",omega:"\u03C9",thetasym:"\u03D1",upsih:"\u03D2",piv:"\u03D6",ensp:"\u2002",emsp:"\u2003",thinsp:"\u2009",zwnj:"\u200C",zwj:"\u200D",lrm:"\u200E",rlm:"\u200F",ndash:"\u2013",mdash:"\u2014",lsquo:"\u2018",rsquo:"\u2019",sbquo:"\u201A",ldquo:"\u201C",rdquo:"\u201D",bdquo:"\u201E",dagger:"\u2020",Dagger:"\u2021",bull:"\u2022",hellip:"\u2026",permil:"\u2030",prime:"\u2032",Prime:"\u2033",lsaquo:"\u2039",rsaquo:"\u203A",oline:"\u203E",frasl:"\u2044",euro:"\u20AC",image:"\u2111",weierp:"\u2118",real:"\u211C",trade:"\u2122",alefsym:"\u2135",larr:"\u2190",uarr:"\u2191",rarr:"\u2192",darr:"\u2193",harr:"\u2194",crarr:"\u21B5",lArr:"\u21D0",uArr:"\u21D1",rArr:"\u21D2",dArr:"\u21D3",hArr:"\u21D4",forall:"\u2200",part:"\u2202",exist:"\u2203",empty:"\u2205",nabla:"\u2207",isin:"\u2208",notin:"\u2209",ni:"\u220B",prod:"\u220F",sum:"\u2211",minus:"\u2212",lowast:"\u2217",radic:"\u221A",prop:"\u221D",infin:"\u221E",ang:"\u2220",and:"\u2227",or:"\u2228",cap:"\u2229",cup:"\u222A","int":"\u222B",there4:"\u2234",sim:"\u223C",cong:"\u2245",asymp:"\u2248",ne:"\u2260",equiv:"\u2261",le:"\u2264",ge:"\u2265",sub:"\u2282",sup:"\u2283",nsub:"\u2284",sube:"\u2286",supe:"\u2287",oplus:"\u2295",otimes:"\u2297",perp:"\u22A5",sdot:"\u22C5",lceil:"\u2308",rceil:"\u2309",lfloor:"\u230A",rfloor:"\u230B",lang:"\u2329",rang:"\u232A",loz:"\u25CA",spades:"\u2660",clubs:"\u2663",hearts:"\u2665",diams:"\u2666"};var _templateObject$E;var JsxErrors=ParseErrorEnum(_templateObject$E||(_templateObject$E=_taggedTemplateLiteralLoose(["jsx"])))({AttributeIsEmpty:"JSX attributes must only be assigned a non-empty expression.",MissingClosingTagElement:function MissingClosingTagElement(_ref){var openingTagName=_ref.openingTagName;return"Expected corresponding JSX closing tag for <"+openingTagName+">.";},MissingClosingTagFragment:"Expected corresponding JSX closing tag for <>.",UnexpectedSequenceExpression:"Sequence expressions cannot be directly nested inside JSX. Did you mean to wrap it in parentheses (...)?",UnexpectedToken:function UnexpectedToken(_ref2){var unexpected=_ref2.unexpected,HTMLEntity=_ref2.HTMLEntity;return"Unexpected token `"+unexpected+"`. Did you mean `"+HTMLEntity+"` or `{'"+unexpected+"'}`?";},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 isFragment(object){return object?object.type==="JSXOpeningFragment"||object.type==="JSXClosingFragment":false;}function getQualifiedJSXName(object){if(object.type==="JSXIdentifier"){return object.name;}if(object.type==="JSXNamespacedName"){return object.namespace.name+":"+object.name.name;}if(object.type==="JSXMemberExpression"){return getQualifiedJSXName(object.object)+"."+getQualifiedJSXName(object.property);}throw new Error("Node had unexpected type: "+object.type);}var jsx=function jsx(superClass){return function(_superClass){_inherits(JSXParserMixin,_superClass);function JSXParserMixin(){return _superClass.apply(this,arguments)||this;}var _proto=JSXParserMixin.prototype;_proto.jsxReadToken=function jsxReadToken(){var out="";var chunkStart=this.state.pos;for(;;){if(this.state.pos>=this.length){throw this.raise(JsxErrors.UnterminatedJsxContent,this.state.startLoc);}var ch=this.input.charCodeAt(this.state.pos);switch(ch){case 60:case 123:if(this.state.pos===this.state.start){if(ch===60&&this.state.canStartJSXElement){++this.state.pos;this.finishToken(142);}else{_superClass.prototype.getTokenFromCode.call(this,ch);}return;}out+=this.input.slice(chunkStart,this.state.pos);this.finishToken(141,out);return;case 38:out+=this.input.slice(chunkStart,this.state.pos);out+=this.jsxReadEntity();chunkStart=this.state.pos;break;case 62:case 125:default:if(isNewLine(ch)){out+=this.input.slice(chunkStart,this.state.pos);out+=this.jsxReadNewLine(true);chunkStart=this.state.pos;}else{++this.state.pos;}}}};_proto.jsxReadNewLine=function jsxReadNewLine(normalizeCRLF){var ch=this.input.charCodeAt(this.state.pos);var out;++this.state.pos;if(ch===13&&this.input.charCodeAt(this.state.pos)===10){++this.state.pos;out=normalizeCRLF?"\n":"\r\n";}else{out=String.fromCharCode(ch);}++this.state.curLine;this.state.lineStart=this.state.pos;return out;};_proto.jsxReadString=function jsxReadString(quote){var out="";var chunkStart=++this.state.pos;for(;;){if(this.state.pos>=this.length){throw this.raise(Errors.UnterminatedString,this.state.startLoc);}var ch=this.input.charCodeAt(this.state.pos);if(ch===quote)break;if(ch===38){out+=this.input.slice(chunkStart,this.state.pos);out+=this.jsxReadEntity();chunkStart=this.state.pos;}else if(isNewLine(ch)){out+=this.input.slice(chunkStart,this.state.pos);out+=this.jsxReadNewLine(false);chunkStart=this.state.pos;}else{++this.state.pos;}}out+=this.input.slice(chunkStart,this.state.pos++);this.finishToken(133,out);};_proto.jsxReadEntity=function jsxReadEntity(){var startPos=++this.state.pos;if(this.codePointAtPos(this.state.pos)===35){++this.state.pos;var radix=10;if(this.codePointAtPos(this.state.pos)===120){radix=16;++this.state.pos;}var codePoint=this.readInt(radix,undefined,false,"bail");if(codePoint!==null&&this.codePointAtPos(this.state.pos)===59){++this.state.pos;return String.fromCodePoint(codePoint);}}else{var count=0;var semi=false;while(count++<10&&this.state.pos<this.length&&!(semi=this.codePointAtPos(this.state.pos)==59)){++this.state.pos;}if(semi){var desc=this.input.slice(startPos,this.state.pos);var entity=entities[desc];++this.state.pos;if(entity){return entity;}}}this.state.pos=startPos;return"&";};_proto.jsxReadWord=function jsxReadWord(){var ch;var start=this.state.pos;do{ch=this.input.charCodeAt(++this.state.pos);}while(isIdentifierChar(ch)||ch===45);this.finishToken(140,this.input.slice(start,this.state.pos));};_proto.jsxParseIdentifier=function jsxParseIdentifier(){var node=this.startNode();if(this.match(140)){node.name=this.state.value;}else if(tokenIsKeyword(this.state.type)){node.name=tokenLabelName(this.state.type);}else{this.unexpected();}this.next();return this.finishNode(node,"JSXIdentifier");};_proto.jsxParseNamespacedName=function jsxParseNamespacedName(){var startLoc=this.state.startLoc;var name=this.jsxParseIdentifier();if(!this.eat(14))return name;var node=this.startNodeAt(startLoc);node.namespace=name;node.name=this.jsxParseIdentifier();return this.finishNode(node,"JSXNamespacedName");};_proto.jsxParseElementName=function jsxParseElementName(){var startLoc=this.state.startLoc;var node=this.jsxParseNamespacedName();if(node.type==="JSXNamespacedName"){return node;}while(this.eat(16)){var newNode=this.startNodeAt(startLoc);newNode.object=node;newNode.property=this.jsxParseIdentifier();node=this.finishNode(newNode,"JSXMemberExpression");}return node;};_proto.jsxParseAttributeValue=function jsxParseAttributeValue(){var node;switch(this.state.type){case 5:node=this.startNode();this.setContext(types.brace);this.next();node=this.jsxParseExpressionContainer(node,types.j_oTag);if(node.expression.type==="JSXEmptyExpression"){this.raise(JsxErrors.AttributeIsEmpty,node);}return node;case 142:case 133:return this.parseExprAtom();default:throw this.raise(JsxErrors.UnsupportedJsxValue,this.state.startLoc);}};_proto.jsxParseEmptyExpression=function jsxParseEmptyExpression(){var node=this.startNodeAt(this.state.lastTokEndLoc);return this.finishNodeAt(node,"JSXEmptyExpression",this.state.startLoc);};_proto.jsxParseSpreadChild=function jsxParseSpreadChild(node){this.next();node.expression=this.parseExpression();this.setContext(types.j_expr);this.state.canStartJSXElement=true;this.expect(8);return this.finishNode(node,"JSXSpreadChild");};_proto.jsxParseExpressionContainer=function jsxParseExpressionContainer(node,previousContext){if(this.match(8)){node.expression=this.jsxParseEmptyExpression();}else{var expression=this.parseExpression();node.expression=expression;}this.setContext(previousContext);this.state.canStartJSXElement=true;this.expect(8);return this.finishNode(node,"JSXExpressionContainer");};_proto.jsxParseAttribute=function jsxParseAttribute(){var node=this.startNode();if(this.match(5)){this.setContext(types.brace);this.next();this.expect(21);node.argument=this.parseMaybeAssignAllowIn();this.setContext(types.j_oTag);this.state.canStartJSXElement=true;this.expect(8);return this.finishNode(node,"JSXSpreadAttribute");}node.name=this.jsxParseNamespacedName();node.value=this.eat(29)?this.jsxParseAttributeValue():null;return this.finishNode(node,"JSXAttribute");};_proto.jsxParseOpeningElementAt=function jsxParseOpeningElementAt(startLoc){var node=this.startNodeAt(startLoc);if(this.eat(143)){return this.finishNode(node,"JSXOpeningFragment");}node.name=this.jsxParseElementName();return this.jsxParseOpeningElementAfterName(node);};_proto.jsxParseOpeningElementAfterName=function jsxParseOpeningElementAfterName(node){var attributes=[];while(!this.match(56)&&!this.match(143)){attributes.push(this.jsxParseAttribute());}node.attributes=attributes;node.selfClosing=this.eat(56);this.expect(143);return this.finishNode(node,"JSXOpeningElement");};_proto.jsxParseClosingElementAt=function jsxParseClosingElementAt(startLoc){var node=this.startNodeAt(startLoc);if(this.eat(143)){return this.finishNode(node,"JSXClosingFragment");}node.name=this.jsxParseElementName();this.expect(143);return this.finishNode(node,"JSXClosingElement");};_proto.jsxParseElementAt=function jsxParseElementAt(startLoc){var node=this.startNodeAt(startLoc);var children=[];var openingElement=this.jsxParseOpeningElementAt(startLoc);var closingElement=null;if(!openingElement.selfClosing){contents:for(;;){switch(this.state.type){case 142:startLoc=this.state.startLoc;this.next();if(this.eat(56)){closingElement=this.jsxParseClosingElementAt(startLoc);break contents;}children.push(this.jsxParseElementAt(startLoc));break;case 141:children.push(this.parseExprAtom());break;case 5:{var _node=this.startNode();this.setContext(types.brace);this.next();if(this.match(21)){children.push(this.jsxParseSpreadChild(_node));}else{children.push(this.jsxParseExpressionContainer(_node,types.j_expr));}break;}default:this.unexpected();}}if(isFragment(openingElement)&&!isFragment(closingElement)&&closingElement!==null){this.raise(JsxErrors.MissingClosingTagFragment,closingElement);}else if(!isFragment(openingElement)&&isFragment(closingElement)){this.raise(JsxErrors.MissingClosingTagElement,closingElement,{openingTagName:getQualifiedJSXName(openingElement.name)});}else if(!isFragment(openingElement)&&!isFragment(closingElement)){if(getQualifiedJSXName(closingElement.name)!==getQualifiedJSXName(openingElement.name)){this.raise(JsxErrors.MissingClosingTagElement,closingElement,{openingTagName:getQualifiedJSXName(openingElement.name)});}}}if(isFragment(openingElement)){node.openingFragment=openingElement;node.closingFragment=closingElement;}else{node.openingElement=openingElement;node.closingElement=closingElement;}node.children=children;if(this.match(47)){throw this.raise(JsxErrors.UnwrappedAdjacentJSXElements,this.state.startLoc);}return isFragment(openingElement)?this.finishNode(node,"JSXFragment"):this.finishNode(node,"JSXElement");};_proto.jsxParseElement=function jsxParseElement(){var startLoc=this.state.startLoc;this.next();return this.jsxParseElementAt(startLoc);};_proto.setContext=function setContext(newContext){var context=this.state.context;context[context.length-1]=newContext;};_proto.parseExprAtom=function parseExprAtom(refExpressionErrors){if(this.match(141)){return this.parseLiteral(this.state.value,"JSXText");}else if(this.match(142)){return this.jsxParseElement();}else if(this.match(47)&&this.input.charCodeAt(this.state.pos)!==33){this.replaceToken(142);return this.jsxParseElement();}else{return _superClass.prototype.parseExprAtom.call(this,refExpressionErrors);}};_proto.skipSpace=function skipSpace(){var curContext=this.curContext();if(!curContext.preserveSpace)_superClass.prototype.skipSpace.call(this);};_proto.getTokenFromCode=function getTokenFromCode(code){var context=this.curContext();if(context===types.j_expr){this.jsxReadToken();return;}if(context===types.j_oTag||context===types.j_cTag){if(isIdentifierStart(code)){this.jsxReadWord();return;}if(code===62){++this.state.pos;this.finishToken(143);return;}if((code===34||code===39)&&context===types.j_oTag){this.jsxReadString(code);return;}}if(code===60&&this.state.canStartJSXElement&&this.input.charCodeAt(this.state.pos+1)!==33){++this.state.pos;this.finishToken(142);return;}_superClass.prototype.getTokenFromCode.call(this,code);};_proto.updateContext=function updateContext(prevType){var _this$state=this.state,context=_this$state.context,type=_this$state.type;if(type===56&&prevType===142){context.splice(-2,2,types.j_cTag);this.state.canStartJSXElement=false;}else if(type===142){context.push(types.j_oTag);}else if(type===143){var out=context[context.length-1];if(out===types.j_oTag&&prevType===56||out===types.j_cTag){context.pop();this.state.canStartJSXElement=context[context.length-1]===types.j_expr;}else{this.setContext(types.j_expr);this.state.canStartJSXElement=true;}}else{this.state.canStartJSXElement=tokenComesBeforeExpression(type);}};return _createClass(JSXParserMixin);}(superClass);};var TypeScriptScope=function(_Scope){_inherits(TypeScriptScope,_Scope);function TypeScriptScope(){var _this;for(var _len=arguments.length,args=new Array(_len),_key=0;_key<_len;_key++){args[_key]=arguments[_key];}_this=_Scope.call.apply(_Scope,[this].concat(args))||this;_this.tsNames=new Map();return _this;}return _createClass(TypeScriptScope);}(Scope);var TypeScriptScopeHandler=function(_ScopeHandler){_inherits(TypeScriptScopeHandler,_ScopeHandler);function TypeScriptScopeHandler(){var _this2;for(var _len2=arguments.length,args=new Array(_len2),_key2=0;_key2<_len2;_key2++){args[_key2]=arguments[_key2];}_this2=_ScopeHandler.call.apply(_ScopeHandler,[this].concat(args))||this;_this2.importsStack=[];return _this2;}var _proto=TypeScriptScopeHandler.prototype;_proto.createScope=function createScope(flags){this.importsStack.push(new Set());return new TypeScriptScope(flags);};_proto.enter=function enter(flags){if(flags==ScopeFlag.TS_MODULE){this.importsStack.push(new Set());}_ScopeHandler.prototype.enter.call(this,flags);};_proto.exit=function exit(){var flags=_ScopeHandler.prototype.exit.call(this);if(flags==ScopeFlag.TS_MODULE){this.importsStack.pop();}return flags;};_proto.hasImport=function hasImport(name,allowShadow){var len=this.importsStack.length;if(this.importsStack[len-1].has(name)){return true;}if(!allowShadow&&len>1){for(var i=0;i<len-1;i++){if(this.importsStack[i].has(name))return true;}}return false;};_proto.declareName=function declareName(name,bindingType,loc){if(bindingType&BindingFlag.FLAG_TS_IMPORT){if(this.hasImport(name,true)){this.parser.raise(Errors.VarRedeclaration,loc,{identifierName:name});}this.importsStack[this.importsStack.length-1].add(name);return;}var scope=this.currentScope();var type=scope.tsNames.get(name)||0;if(bindingType&BindingFlag.FLAG_TS_EXPORT_ONLY){this.maybeExportDefined(scope,name);scope.tsNames.set(name,type|16);return;}_ScopeHandler.prototype.declareName.call(this,name,bindingType,loc);if(bindingType&BindingFlag.KIND_TYPE){if(!(bindingType&BindingFlag.KIND_VALUE)){this.checkRedeclarationInScope(scope,name,bindingType,loc);this.maybeExportDefined(scope,name);}type=type|1;}if(bindingType&BindingFlag.FLAG_TS_ENUM){type=type|2;}if(bindingType&BindingFlag.FLAG_TS_CONST_ENUM){type=type|4;}if(bindingType&BindingFlag.FLAG_CLASS){type=type|8;}if(type)scope.tsNames.set(name,type);};_proto.isRedeclaredInScope=function isRedeclaredInScope(scope,name,bindingType){var type=scope.tsNames.get(name);if((type&2)>0){if(bindingType&BindingFlag.FLAG_TS_ENUM){var isConst=!!(bindingType&BindingFlag.FLAG_TS_CONST_ENUM);var wasConst=(type&4)>0;return isConst!==wasConst;}return true;}if(bindingType&BindingFlag.FLAG_CLASS&&(type&8)>0){if(scope.names.get(name)&NameType.Lexical){return!!(bindingType&BindingFlag.KIND_VALUE);}else{return false;}}if(bindingType&BindingFlag.KIND_TYPE&&(type&1)>0){return true;}return _ScopeHandler.prototype.isRedeclaredInScope.call(this,scope,name,bindingType);};_proto.checkLocalExport=function checkLocalExport(id){var name=id.name;if(this.hasImport(name))return;var len=this.scopeStack.length;for(var i=len-1;i>=0;i--){var scope=this.scopeStack[i];var type=scope.tsNames.get(name);if((type&1)>0||(type&16)>0){return;}}_ScopeHandler.prototype.checkLocalExport.call(this,id);};return _createClass(TypeScriptScopeHandler);}(ScopeHandler);var getOwn$1=function getOwn(object,key){return hasOwnProperty.call(object,key)&&object[key];};var unwrapParenthesizedExpression=function unwrapParenthesizedExpression(node){return node.type==="ParenthesizedExpression"?unwrapParenthesizedExpression(node.expression):node;};var ParseBindingListFlags={ALLOW_EMPTY:1,IS_FUNCTION_PARAMS:2,IS_CONSTRUCTOR_PARAMS:4};var LValParser=function(_NodeUtils){_inherits(LValParser,_NodeUtils);function LValParser(){return _NodeUtils.apply(this,arguments)||this;}var _proto=LValParser.prototype;_proto.toAssignable=function toAssignable(node,isLHS){var _node$extra,_node$extra3;if(isLHS===void 0){isLHS=false;}var parenthesized=undefined;if(node.type==="ParenthesizedExpression"||(_node$extra=node.extra)!=null&&_node$extra.parenthesized){parenthesized=unwrapParenthesizedExpression(node);if(isLHS){if(parenthesized.type==="Identifier"){this.expressionScope.recordArrowParameterBindingError(Errors.InvalidParenthesizedAssignment,node);}else if(parenthesized.type!=="MemberExpression"&&!this.isOptionalMemberExpression(parenthesized)){this.raise(Errors.InvalidParenthesizedAssignment,node);}}else{this.raise(Errors.InvalidParenthesizedAssignment,node);}}switch(node.type){case"Identifier":case"ObjectPattern":case"ArrayPattern":case"AssignmentPattern":case"RestElement":break;case"ObjectExpression":node.type="ObjectPattern";for(var i=0,length=node.properties.length,last=length-1;i<length;i++){var _node$extra2;var _prop=node.properties[i];var isLast=i===last;this.toAssignableObjectExpressionProp(_prop,isLast,isLHS);if(isLast&&_prop.type==="RestElement"&&(_node$extra2=node.extra)!=null&&_node$extra2.trailingCommaLoc){this.raise(Errors.RestTrailingComma,node.extra.trailingCommaLoc);}}break;case"ObjectProperty":{var key=node.key,value=node.value;if(this.isPrivateName(key)){this.classScope.usePrivateName(this.getPrivateNameSV(key),key.loc.start);}this.toAssignable(value,isLHS);break;}case"SpreadElement":{throw new Error("Internal @babel/parser error (this is a bug, please report it)."+" SpreadElement should be converted by .toAssignable's caller.");}case"ArrayExpression":node.type="ArrayPattern";this.toAssignableList(node.elements,(_node$extra3=node.extra)==null?void 0:_node$extra3.trailingCommaLoc,isLHS);break;case"AssignmentExpression":if(node.operator!=="="){this.raise(Errors.MissingEqInAssignment,node.left.loc.end);}node.type="AssignmentPattern";delete node.operator;this.toAssignable(node.left,isLHS);break;case"ParenthesizedExpression":this.toAssignable(parenthesized,isLHS);break;}};_proto.toAssignableObjectExpressionProp=function toAssignableObjectExpressionProp(prop,isLast,isLHS){if(prop.type==="ObjectMethod"){this.raise(prop.kind==="get"||prop.kind==="set"?Errors.PatternHasAccessor:Errors.PatternHasMethod,prop.key);}else if(prop.type==="SpreadElement"){prop.type="RestElement";var arg=prop.argument;this.checkToRestConversion(arg,false);this.toAssignable(arg,isLHS);if(!isLast){this.raise(Errors.RestTrailingComma,prop);}}else{this.toAssignable(prop,isLHS);}};_proto.toAssignableList=function toAssignableList(exprList,trailingCommaLoc,isLHS){var end=exprList.length-1;for(var i=0;i<=end;i++){var elt=exprList[i];if(!elt)continue;if(elt.type==="SpreadElement"){elt.type="RestElement";var arg=elt.argument;this.checkToRestConversion(arg,true);this.toAssignable(arg,isLHS);}else{this.toAssignable(elt,isLHS);}if(elt.type==="RestElement"){if(i<end){this.raise(Errors.RestTrailingComma,elt);}else if(trailingCommaLoc){this.raise(Errors.RestTrailingComma,trailingCommaLoc);}}}};_proto.isAssignable=function isAssignable(node,isBinding){var _this=this;switch(node.type){case"Identifier":case"ObjectPattern":case"ArrayPattern":case"AssignmentPattern":case"RestElement":return true;case"ObjectExpression":{var last=node.properties.length-1;return node.properties.every(function(prop,i){return prop.type!=="ObjectMethod"&&(i===last||prop.type!=="SpreadElement")&&_this.isAssignable(prop);});}case"ObjectProperty":return this.isAssignable(node.value);case"SpreadElement":return this.isAssignable(node.argument);case"ArrayExpression":return node.elements.every(function(element){return element===null||_this.isAssignable(element);});case"AssignmentExpression":return node.operator==="=";case"ParenthesizedExpression":return this.isAssignable(node.expression);case"MemberExpression":case"OptionalMemberExpression":return!isBinding;default:return false;}};_proto.toReferencedList=function toReferencedList(exprList,isParenthesizedExpr){return exprList;};_proto.toReferencedListDeep=function toReferencedListDeep(exprList,isParenthesizedExpr){this.toReferencedList(exprList,isParenthesizedExpr);for(var _i2=0;_i2<exprList.length;_i2++){var expr=exprList[_i2];if((expr==null?void 0:expr.type)==="ArrayExpression"){this.toReferencedListDeep(expr.elements);}}};_proto.parseSpread=function parseSpread(refExpressionErrors){var node=this.startNode();this.next();node.argument=this.parseMaybeAssignAllowIn(refExpressionErrors,undefined);return this.finishNode(node,"SpreadElement");};_proto.parseRestBinding=function parseRestBinding(){var node=this.startNode();this.next();node.argument=this.parseBindingAtom();return this.finishNode(node,"RestElement");};_proto.parseBindingAtom=function parseBindingAtom(){switch(this.state.type){case 0:{var node=this.startNode();this.next();node.elements=this.parseBindingList(3,93,ParseBindingListFlags.ALLOW_EMPTY);return this.finishNode(node,"ArrayPattern");}case 5:return this.parseObjectLike(8,true);}return this.parseIdentifier();};_proto.parseBindingList=function parseBindingList(close,closeCharCode,flags){var allowEmpty=flags&ParseBindingListFlags.ALLOW_EMPTY;var elts=[];var first=true;while(!this.eat(close)){if(first){first=false;}else{this.expect(12);}if(allowEmpty&&this.match(12)){elts.push(null);}else if(this.eat(close)){break;}else if(this.match(21)){elts.push(this.parseAssignableListItemTypes(this.parseRestBinding(),flags));if(!this.checkCommaAfterRest(closeCharCode)){this.expect(close);break;}}else{var decorators=[];if(this.match(26)&&this.hasPlugin("decorators")){this.raise(Errors.UnsupportedParameterDecorator,this.state.startLoc);}while(this.match(26)){decorators.push(this.parseDecorator());}elts.push(this.parseAssignableListItem(flags,decorators));}}return elts;};_proto.parseBindingRestProperty=function parseBindingRestProperty(prop){this.next();prop.argument=this.parseIdentifier();this.checkCommaAfterRest(125);return this.finishNode(prop,"RestElement");};_proto.parseBindingProperty=function parseBindingProperty(){var prop=this.startNode();var _this$state=this.state,type=_this$state.type,startLoc=_this$state.startLoc;if(type===21){return this.parseBindingRestProperty(prop);}else if(type===138){this.expectPlugin("destructuringPrivate",startLoc);this.classScope.usePrivateName(this.state.value,startLoc);prop.key=this.parsePrivateName();}else{this.parsePropertyName(prop);}prop.method=false;return this.parseObjPropValue(prop,startLoc,false,false,true,false);};_proto.parseAssignableListItem=function parseAssignableListItem(flags,decorators){var left=this.parseMaybeDefault();this.parseAssignableListItemTypes(left,flags);var elt=this.parseMaybeDefault(left.loc.start,left);if(decorators.length){left.decorators=decorators;}return elt;};_proto.parseAssignableListItemTypes=function parseAssignableListItemTypes(param,flags){return param;};_proto.parseMaybeDefault=function parseMaybeDefault(startLoc,left){var _startLoc,_left;(_startLoc=startLoc)!=null?_startLoc:startLoc=this.state.startLoc;left=(_left=left)!=null?_left:this.parseBindingAtom();if(!this.eat(29))return left;var node=this.startNodeAt(startLoc);node.left=left;node.right=this.parseMaybeAssignAllowIn();return this.finishNode(node,"AssignmentPattern");};_proto.isValidLVal=function isValidLVal(type,isUnparenthesizedInAssign,binding){return getOwn$1({AssignmentPattern:"left",RestElement:"argument",ObjectProperty:"value",ParenthesizedExpression:"expression",ArrayPattern:"elements",ObjectPattern:"properties"},type);};_proto.isOptionalMemberExpression=function isOptionalMemberExpression(expression){return expression.type==="OptionalMemberExpression";};_proto.checkLVal=function checkLVal(expression,_ref){var _expression$extra;var ancestor=_ref["in"],_ref$binding=_ref.binding,binding=_ref$binding===void 0?BindingFlag.TYPE_NONE:_ref$binding,_ref$checkClashes=_ref.checkClashes,checkClashes=_ref$checkClashes===void 0?false:_ref$checkClashes,_ref$strictModeChange=_ref.strictModeChanged,strictModeChanged=_ref$strictModeChange===void 0?false:_ref$strictModeChange,_ref$hasParenthesized=_ref.hasParenthesizedAncestor,hasParenthesizedAncestor=_ref$hasParenthesized===void 0?false:_ref$hasParenthesized;var type=expression.type;if(this.isObjectMethod(expression))return;var isOptionalMemberExpression=this.isOptionalMemberExpression(expression);if(isOptionalMemberExpression||type==="MemberExpression"){if(isOptionalMemberExpression){this.expectPlugin("optionalChainingAssign",expression.loc.start);if(ancestor.type!=="AssignmentExpression"){this.raise(Errors.InvalidLhsOptionalChaining,expression,{ancestor:ancestor});}}if(binding!==BindingFlag.TYPE_NONE){this.raise(Errors.InvalidPropertyBindingPattern,expression);}return;}if(type==="Identifier"){this.checkIdentifier(expression,binding,strictModeChanged);var _ref2=expression,name=_ref2.name;if(checkClashes){if(checkClashes.has(name)){this.raise(Errors.ParamDupe,expression);}else{checkClashes.add(name);}}return;}var validity=this.isValidLVal(type,!(hasParenthesizedAncestor||(_expression$extra=expression.extra)!=null&&_expression$extra.parenthesized)&&ancestor.type==="AssignmentExpression",binding);if(validity===true)return;if(validity===false){var ParseErrorClass=binding===BindingFlag.TYPE_NONE?Errors.InvalidLhs:Errors.InvalidLhsBinding;this.raise(ParseErrorClass,expression,{ancestor:ancestor});return;}var _ref3=Array.isArray(validity)?validity:[validity,type==="ParenthesizedExpression"],key=_ref3[0],isParenthesizedExpression=_ref3[1];var nextAncestor=type==="ArrayPattern"||type==="ObjectPattern"?{type:type}:ancestor;for(var _i4=0,_concat2=[].concat(expression[key]);_i4<_concat2.length;_i4++){var child=_concat2[_i4];if(child){this.checkLVal(child,{"in":nextAncestor,binding:binding,checkClashes:checkClashes,strictModeChanged:strictModeChanged,hasParenthesizedAncestor:isParenthesizedExpression});}}};_proto.checkIdentifier=function checkIdentifier(at,bindingType,strictModeChanged){if(strictModeChanged===void 0){strictModeChanged=false;}if(this.state.strict&&(strictModeChanged?isStrictBindReservedWord(at.name,this.inModule):isStrictBindOnlyReservedWord(at.name))){if(bindingType===BindingFlag.TYPE_NONE){this.raise(Errors.StrictEvalArguments,at,{referenceName:at.name});}else{this.raise(Errors.StrictEvalArgumentsBinding,at,{bindingName:at.name});}}if(bindingType&BindingFlag.FLAG_NO_LET_IN_LEXICAL&&at.name==="let"){this.raise(Errors.LetInLexicalBinding,at);}if(!(bindingType&BindingFlag.TYPE_NONE)){this.declareNameFromIdentifier(at,bindingType);}};_proto.declareNameFromIdentifier=function declareNameFromIdentifier(identifier,binding){this.scope.declareName(identifier.name,binding,identifier.loc.start);};_proto.checkToRestConversion=function checkToRestConversion(node,allowPattern){switch(node.type){case"ParenthesizedExpression":this.checkToRestConversion(node.expression,allowPattern);break;case"Identifier":case"MemberExpression":break;case"ArrayExpression":case"ObjectExpression":if(allowPattern)break;default:this.raise(Errors.InvalidRestAssignmentPattern,node);}};_proto.checkCommaAfterRest=function checkCommaAfterRest(close){if(!this.match(12)){return false;}this.raise(this.lookaheadCharCode()===close?Errors.RestTrailingComma:Errors.ElementAfterRest,this.state.startLoc);return true;};return _createClass(LValParser);}(NodeUtils);var _templateObject$D;var getOwn=function getOwn(object,key){return hasOwnProperty.call(object,key)&&object[key];};function nonNull(x){if(x==null){throw new Error("Unexpected "+x+" value.");}return x;}function assert$1(x){if(!x){throw new Error("Assert fail");}}var TSErrors=ParseErrorEnum(_templateObject$D||(_templateObject$D=_taggedTemplateLiteralLoose(["typescript"])))({AbstractMethodHasImplementation:function AbstractMethodHasImplementation(_ref){var methodName=_ref.methodName;return"Method '"+methodName+"' cannot have an implementation because it is marked abstract.";},AbstractPropertyHasInitializer:function AbstractPropertyHasInitializer(_ref2){var propertyName=_ref2.propertyName;return"Property '"+propertyName+"' cannot have an initializer because it is marked abstract.";},AccesorCannotDeclareThisParameter:"'get' and 'set' accessors cannot declare 'this' parameters.",AccesorCannotHaveTypeParameters:"An accessor cannot have type parameters.",AccessorCannotBeOptional:"An 'accessor' property cannot be declared optional.",ClassMethodHasDeclare:"Class methods cannot have the 'declare' modifier.",ClassMethodHasReadonly:"Class methods cannot have the 'readonly' modifier.",ConstInitiailizerMustBeStringOrNumericLiteralOrLiteralEnumReference:"A 'const' initializer in an ambient context must be a string or numeric literal or literal enum reference.",ConstructorHasTypeParameters:"Type parameters cannot appear on a constructor declaration.",DeclareAccessor:function DeclareAccessor(_ref3){var kind=_ref3.kind;return"'declare' is not allowed in "+kind+"ters.";},DeclareClassFieldHasInitializer:"Initializers are not allowed in ambient contexts.",DeclareFunctionHasImplementation:"An implementation cannot be declared in ambient contexts.",DuplicateAccessibilityModifier:function DuplicateAccessibilityModifier(_ref4){_ref4.modifier;return"Accessibility modifier already seen.";},DuplicateModifier:function DuplicateModifier(_ref5){var modifier=_ref5.modifier;return"Duplicate modifier: '"+modifier+"'.";},EmptyHeritageClauseType:function EmptyHeritageClauseType(_ref6){var token=_ref6.token;return"'"+token+"' list cannot be empty.";},EmptyTypeArguments:"Type argument list cannot be empty.",EmptyTypeParameters:"Type parameter list cannot be empty.",ExpectedAmbientAfterExportDeclare:"'export declare' must be followed by an ambient declaration.",ImportAliasHasImportType:"An import alias can not use 'import type'.",ImportReflectionHasImportType:"An `import module` declaration can not use `type` modifier",IncompatibleModifiers:function IncompatibleModifiers(_ref7){var modifiers=_ref7.modifiers;return"'"+modifiers[0]+"' modifier cannot be used with '"+modifiers[1]+"' modifier.";},IndexSignatureHasAbstract:"Index signatures cannot have the 'abstract' modifier.",IndexSignatureHasAccessibility:function IndexSignatureHasAccessibility(_ref8){var modifier=_ref8.modifier;return"Index signatures cannot have an accessibility modifier ('"+modifier+"').";},IndexSignatureHasDeclare:"Index signatures cannot have the 'declare' modifier.",IndexSignatureHasOverride:"'override' modifier cannot appear on an index signature.",IndexSignatureHasStatic:"Index signatures cannot have the 'static' modifier.",InitializerNotAllowedInAmbientContext:"Initializers are not allowed in ambient contexts.",InvalidModifierOnTypeMember:function InvalidModifierOnTypeMember(_ref9){var modifier=_ref9.modifier;return"'"+modifier+"' modifier cannot appear on a type member.";},InvalidModifierOnTypeParameter:function InvalidModifierOnTypeParameter(_ref10){var modifier=_ref10.modifier;return"'"+modifier+"' modifier cannot appear on a type parameter.";},InvalidModifierOnTypeParameterPositions:function InvalidModifierOnTypeParameterPositions(_ref11){var modifier=_ref11.modifier;return"'"+modifier+"' modifier can only appear on a type parameter of a class, interface or type alias.";},InvalidModifiersOrder:function InvalidModifiersOrder(_ref12){var orderedModifiers=_ref12.orderedModifiers;return"'"+orderedModifiers[0]+"' modifier must precede '"+orderedModifiers[1]+"' modifier.";},InvalidPropertyAccessAfterInstantiationExpression:"Invalid property access after an instantiation expression. "+"You can either wrap the instantiation expression in parentheses, or delete the type arguments.",InvalidTupleMemberLabel:"Tuple members must be labeled with a simple identifier.",MissingInterfaceName:"'interface' declarations must be followed by an identifier.",NonAbstractClassHasAbstractMethod:"Abstract methods can only appear within an abstract class.",NonClassMethodPropertyHasAbstractModifer:"'abstract' modifier can only appear on a class, method, or property declaration.",OptionalTypeBeforeRequired:"A required element cannot follow an optional element.",OverrideNotInSubClass:"This member cannot have an 'override' modifier because its containing class does not extend another class.",PatternIsOptional:"A binding pattern parameter cannot be optional in an implementation signature.",PrivateElementHasAbstract:"Private elements cannot have the 'abstract' modifier.",PrivateElementHasAccessibility:function PrivateElementHasAccessibility(_ref13){var modifier=_ref13.modifier;return"Private elements cannot have an accessibility modifier ('"+modifier+"').";},ReadonlyForMethodSignature:"'readonly' modifier can only appear on a property declaration or index signature.",ReservedArrowTypeParam:"This syntax is reserved in files with the .mts or .cts extension. Add a trailing comma, as in `<T,>() => ...`.",ReservedTypeAssertion:"This syntax is reserved in files with the .mts or .cts extension. Use an `as` expression instead.",SetAccesorCannotHaveOptionalParameter:"A 'set' accessor cannot have an optional parameter.",SetAccesorCannotHaveRestParameter:"A 'set' accessor cannot have rest parameter.",SetAccesorCannotHaveReturnType:"A 'set' accessor cannot have a return type annotation.",SingleTypeParameterWithoutTrailingComma:function SingleTypeParameterWithoutTrailingComma(_ref14){var typeParameterName=_ref14.typeParameterName;return"Single type parameter "+typeParameterName+" should have a trailing comma. Example usage: <"+typeParameterName+",>.";},StaticBlockCannotHaveModifier:"Static class blocks cannot have any modifier.",TupleOptionalAfterType:"A labeled tuple optional element must be declared using a question mark after the name and before the colon (`name?: type`), rather than after the type (`name: type?`).",TypeAnnotationAfterAssign:"Type annotations must come before default assignments, e.g. instead of `age = 25: number` use `age: number = 25`.",TypeImportCannotSpecifyDefaultAndNamed:"A type-only import can specify a default import or named bindings, but not both.",TypeModifierIsUsedInTypeExports:"The 'type' modifier cannot be used on a named export when 'export type' is used on its export statement.",TypeModifierIsUsedInTypeImports:"The 'type' modifier cannot be used on a named import when 'import type' is used on its import statement.",UnexpectedParameterModifier:"A parameter property is only allowed in a constructor implementation.",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:function UnsupportedSignatureParameterKind(_ref15){var type=_ref15.type;return"Name in a signature must be an Identifier, ObjectPattern or ArrayPattern, instead got "+type+".";}});function keywordTypeFromName(value){switch(value){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 undefined;}}function tsIsAccessModifier(modifier){return modifier==="private"||modifier==="public"||modifier==="protected";}function tsIsVarianceAnnotations(modifier){return modifier==="in"||modifier==="out";}var typescript=function typescript(superClass){return function(_superClass){_inherits(TypeScriptParserMixin,_superClass);function TypeScriptParserMixin(){var _this;for(var _len=arguments.length,args=new Array(_len),_key=0;_key<_len;_key++){args[_key]=arguments[_key];}_this=_superClass.call.apply(_superClass,[this].concat(args))||this;_this.tsParseInOutModifiers=_this.tsParseModifiers.bind(_assertThisInitialized(_this),{allowedModifiers:["in","out"],disallowedModifiers:["const","public","private","protected","readonly","declare","abstract","override"],errorTemplate:TSErrors.InvalidModifierOnTypeParameter});_this.tsParseConstModifier=_this.tsParseModifiers.bind(_assertThisInitialized(_this),{allowedModifiers:["const"],disallowedModifiers:["in","out"],errorTemplate:TSErrors.InvalidModifierOnTypeParameterPositions});_this.tsParseInOutConstModifiers=_this.tsParseModifiers.bind(_assertThisInitialized(_this),{allowedModifiers:["in","out","const"],disallowedModifiers:["public","private","protected","readonly","declare","abstract","override"],errorTemplate:TSErrors.InvalidModifierOnTypeParameter});return _this;}var _proto=TypeScriptParserMixin.prototype;_proto.getScopeHandler=function getScopeHandler(){return TypeScriptScopeHandler;};_proto.tsIsIdentifier=function tsIsIdentifier(){return tokenIsIdentifier(this.state.type);};_proto.tsTokenCanFollowModifier=function tsTokenCanFollowModifier(){return(this.match(0)||this.match(5)||this.match(55)||this.match(21)||this.match(138)||this.isLiteralPropertyName())&&!this.hasPrecedingLineBreak();};_proto.tsNextTokenCanFollowModifier=function tsNextTokenCanFollowModifier(){this.next();return this.tsTokenCanFollowModifier();};_proto.tsParseModifier=function tsParseModifier(allowedModifiers,stopOnStartOfClassStaticBlock){if(!tokenIsIdentifier(this.state.type)&&this.state.type!==58&&this.state.type!==75){return undefined;}var modifier=this.state.value;if(allowedModifiers.indexOf(modifier)!==-1){if(stopOnStartOfClassStaticBlock&&this.tsIsStartOfStaticBlocks()){return undefined;}if(this.tsTryParse(this.tsNextTokenCanFollowModifier.bind(this))){return modifier;}}return undefined;};_proto.tsParseModifiers=function tsParseModifiers(_ref16,modified){var _this2=this;var allowedModifiers=_ref16.allowedModifiers,disallowedModifiers=_ref16.disallowedModifiers,stopOnStartOfClassStaticBlock=_ref16.stopOnStartOfClassStaticBlock,_ref16$errorTemplate=_ref16.errorTemplate,errorTemplate=_ref16$errorTemplate===void 0?TSErrors.InvalidModifierOnTypeMember:_ref16$errorTemplate;var enforceOrder=function enforceOrder(loc,modifier,before,after){if(modifier===before&&modified[after]){_this2.raise(TSErrors.InvalidModifiersOrder,loc,{orderedModifiers:[before,after]});}};var incompatible=function incompatible(loc,modifier,mod1,mod2){if(modified[mod1]&&modifier===mod2||modified[mod2]&&modifier===mod1){_this2.raise(TSErrors.IncompatibleModifiers,loc,{modifiers:[mod1,mod2]});}};for(;;){var startLoc=this.state.startLoc;var modifier=this.tsParseModifier(allowedModifiers.concat(disallowedModifiers!=null?disallowedModifiers:[]),stopOnStartOfClassStaticBlock);if(!modifier)break;if(tsIsAccessModifier(modifier)){if(modified.accessibility){this.raise(TSErrors.DuplicateAccessibilityModifier,startLoc,{modifier:modifier});}else{enforceOrder(startLoc,modifier,modifier,"override");enforceOrder(startLoc,modifier,modifier,"static");enforceOrder(startLoc,modifier,modifier,"readonly");modified.accessibility=modifier;}}else if(tsIsVarianceAnnotations(modifier)){if(modified[modifier]){this.raise(TSErrors.DuplicateModifier,startLoc,{modifier:modifier});}modified[modifier]=true;enforceOrder(startLoc,modifier,"in","out");}else{if(hasOwnProperty.call(modified,modifier)){this.raise(TSErrors.DuplicateModifier,startLoc,{modifier:modifier});}else{enforceOrder(startLoc,modifier,"static","readonly");enforceOrder(startLoc,modifier,"static","override");enforceOrder(startLoc,modifier,"override","readonly");enforceOrder(startLoc,modifier,"abstract","override");incompatible(startLoc,modifier,"declare","override");incompatible(startLoc,modifier,"static","abstract");}modified[modifier]=true;}if(disallowedModifiers!=null&&disallowedModifiers.includes(modifier)){this.raise(errorTemplate,startLoc,{modifier:modifier});}}};_proto.tsIsListTerminator=function tsIsListTerminator(kind){switch(kind){case"EnumMembers":case"TypeMembers":return this.match(8);case"HeritageClauseElement":return this.match(5);case"TupleElementTypes":return this.match(3);case"TypeParametersOrArguments":return this.match(48);}};_proto.tsParseList=function tsParseList(kind,parseElement){var result=[];while(!this.tsIsListTerminator(kind)){result.push(parseElement());}return result;};_proto.tsParseDelimitedList=function tsParseDelimitedList(kind,parseElement,refTrailingCommaPos){return nonNull(this.tsParseDelimitedListWorker(kind,parseElement,true,refTrailingCommaPos));};_proto.tsParseDelimitedListWorker=function tsParseDelimitedListWorker(kind,parseElement,expectSuccess,refTrailingCommaPos){var result=[];var trailingCommaPos=-1;for(;;){if(this.tsIsListTerminator(kind)){break;}trailingCommaPos=-1;var element=parseElement();if(element==null){return undefined;}result.push(element);if(this.eat(12)){trailingCommaPos=this.state.lastTokStartLoc.index;continue;}if(this.tsIsListTerminator(kind)){break;}if(expectSuccess){this.expect(12);}return undefined;}if(refTrailingCommaPos){refTrailingCommaPos.value=trailingCommaPos;}return result;};_proto.tsParseBracketedList=function tsParseBracketedList(kind,parseElement,bracket,skipFirstToken,refTrailingCommaPos){if(!skipFirstToken){if(bracket){this.expect(0);}else{this.expect(47);}}var result=this.tsParseDelimitedList(kind,parseElement,refTrailingCommaPos);if(bracket){this.expect(3);}else{this.expect(48);}return result;};_proto.tsParseImportType=function tsParseImportType(){var node=this.startNode();this.expect(83);this.expect(10);if(!this.match(133)){this.raise(TSErrors.UnsupportedImportTypeArgument,this.state.startLoc);}node.argument=_superClass.prototype.parseExprAtom.call(this);if(this.hasPlugin("importAttributes")||this.hasPlugin("importAssertions")){node.options=null;}if(this.eat(12)){this.expectImportAttributesPlugin();if(!this.match(11)){node.options=_superClass.prototype.parseMaybeAssignAllowIn.call(this);this.eat(12);}}this.expect(11);if(this.eat(16)){node.qualifier=this.tsParseEntityName();}if(this.match(47)){node.typeParameters=this.tsParseTypeArguments();}return this.finishNode(node,"TSImportType");};_proto.tsParseEntityName=function tsParseEntityName(allowReservedWords){if(allowReservedWords===void 0){allowReservedWords=true;}var entity=this.parseIdentifier(allowReservedWords);while(this.eat(16)){var _node=this.startNodeAtNode(entity);_node.left=entity;_node.right=this.parseIdentifier(allowReservedWords);entity=this.finishNode(_node,"TSQualifiedName");}return entity;};_proto.tsParseTypeReference=function tsParseTypeReference(){var node=this.startNode();node.typeName=this.tsParseEntityName();if(!this.hasPrecedingLineBreak()&&this.match(47)){node.typeParameters=this.tsParseTypeArguments();}return this.finishNode(node,"TSTypeReference");};_proto.tsParseThisTypePredicate=function tsParseThisTypePredicate(lhs){this.next();var node=this.startNodeAtNode(lhs);node.parameterName=lhs;node.typeAnnotation=this.tsParseTypeAnnotation(false);node.asserts=false;return this.finishNode(node,"TSTypePredicate");};_proto.tsParseThisTypeNode=function tsParseThisTypeNode(){var node=this.startNode();this.next();return this.finishNode(node,"TSThisType");};_proto.tsParseTypeQuery=function tsParseTypeQuery(){var node=this.startNode();this.expect(87);if(this.match(83)){node.exprName=this.tsParseImportType();}else{node.exprName=this.tsParseEntityName();}if(!this.hasPrecedingLineBreak()&&this.match(47)){node.typeParameters=this.tsParseTypeArguments();}return this.finishNode(node,"TSTypeQuery");};_proto.tsParseTypeParameter=function tsParseTypeParameter(parseModifiers){var node=this.startNode();parseModifiers(node);node.name=this.tsParseTypeParameterName();node.constraint=this.tsEatThenParseType(81);node["default"]=this.tsEatThenParseType(29);return this.finishNode(node,"TSTypeParameter");};_proto.tsTryParseTypeParameters=function tsTryParseTypeParameters(parseModifiers){if(this.match(47)){return this.tsParseTypeParameters(parseModifiers);}};_proto.tsParseTypeParameters=function tsParseTypeParameters(parseModifiers){var node=this.startNode();if(this.match(47)||this.match(142)){this.next();}else{this.unexpected();}var refTrailingCommaPos={value:-1};node.params=this.tsParseBracketedList("TypeParametersOrArguments",this.tsParseTypeParameter.bind(this,parseModifiers),false,true,refTrailingCommaPos);if(node.params.length===0){this.raise(TSErrors.EmptyTypeParameters,node);}if(refTrailingCommaPos.value!==-1){this.addExtra(node,"trailingComma",refTrailingCommaPos.value);}return this.finishNode(node,"TSTypeParameterDeclaration");};_proto.tsFillSignature=function tsFillSignature(returnToken,signature){var returnTokenRequired=returnToken===19;var paramsKey="parameters";var returnTypeKey="typeAnnotation";signature.typeParameters=this.tsTryParseTypeParameters(this.tsParseConstModifier);this.expect(10);signature[paramsKey]=this.tsParseBindingListForSignature();if(returnTokenRequired){signature[returnTypeKey]=this.tsParseTypeOrTypePredicateAnnotation(returnToken);}else if(this.match(returnToken)){signature[returnTypeKey]=this.tsParseTypeOrTypePredicateAnnotation(returnToken);}};_proto.tsParseBindingListForSignature=function tsParseBindingListForSignature(){var list=_superClass.prototype.parseBindingList.call(this,11,41,ParseBindingListFlags.IS_FUNCTION_PARAMS);for(var _i2=0;_i2<list.length;_i2++){var pattern=list[_i2];var type=pattern.type;if(type==="AssignmentPattern"||type==="TSParameterProperty"){this.raise(TSErrors.UnsupportedSignatureParameterKind,pattern,{type:type});}}return list;};_proto.tsParseTypeMemberSemicolon=function tsParseTypeMemberSemicolon(){if(!this.eat(12)&&!this.isLineTerminator()){this.expect(13);}};_proto.tsParseSignatureMember=function tsParseSignatureMember(kind,node){this.tsFillSignature(14,node);this.tsParseTypeMemberSemicolon();return this.finishNode(node,kind);};_proto.tsIsUnambiguouslyIndexSignature=function tsIsUnambiguouslyIndexSignature(){this.next();if(tokenIsIdentifier(this.state.type)){this.next();return this.match(14);}return false;};_proto.tsTryParseIndexSignature=function tsTryParseIndexSignature(node){if(!(this.match(0)&&this.tsLookAhead(this.tsIsUnambiguouslyIndexSignature.bind(this)))){return;}this.expect(0);var id=this.parseIdentifier();id.typeAnnotation=this.tsParseTypeAnnotation();this.resetEndLocation(id);this.expect(3);node.parameters=[id];var type=this.tsTryParseTypeAnnotation();if(type)node.typeAnnotation=type;this.tsParseTypeMemberSemicolon();return this.finishNode(node,"TSIndexSignature");};_proto.tsParsePropertyOrMethodSignature=function tsParsePropertyOrMethodSignature(node,readonly){if(this.eat(17))node.optional=true;var nodeAny=node;if(this.match(10)||this.match(47)){if(readonly){this.raise(TSErrors.ReadonlyForMethodSignature,node);}var method=nodeAny;if(method.kind&&this.match(47)){this.raise(TSErrors.AccesorCannotHaveTypeParameters,this.state.curPosition());}this.tsFillSignature(14,method);this.tsParseTypeMemberSemicolon();var paramsKey="parameters";var returnTypeKey="typeAnnotation";if(method.kind==="get"){if(method[paramsKey].length>0){this.raise(Errors.BadGetterArity,this.state.curPosition());if(this.isThisParam(method[paramsKey][0])){this.raise(TSErrors.AccesorCannotDeclareThisParameter,this.state.curPosition());}}}else if(method.kind==="set"){if(method[paramsKey].length!==1){this.raise(Errors.BadSetterArity,this.state.curPosition());}else{var firstParameter=method[paramsKey][0];if(this.isThisParam(firstParameter)){this.raise(TSErrors.AccesorCannotDeclareThisParameter,this.state.curPosition());}if(firstParameter.type==="Identifier"&&firstParameter.optional){this.raise(TSErrors.SetAccesorCannotHaveOptionalParameter,this.state.curPosition());}if(firstParameter.type==="RestElement"){this.raise(TSErrors.SetAccesorCannotHaveRestParameter,this.state.curPosition());}}if(method[returnTypeKey]){this.raise(TSErrors.SetAccesorCannotHaveReturnType,method[returnTypeKey]);}}else{method.kind="method";}return this.finishNode(method,"TSMethodSignature");}else{var property=nodeAny;if(readonly)property.readonly=true;var type=this.tsTryParseTypeAnnotation();if(type)property.typeAnnotation=type;this.tsParseTypeMemberSemicolon();return this.finishNode(property,"TSPropertySignature");}};_proto.tsParseTypeMember=function tsParseTypeMember(){var node=this.startNode();if(this.match(10)||this.match(47)){return this.tsParseSignatureMember("TSCallSignatureDeclaration",node);}if(this.match(77)){var id=this.startNode();this.next();if(this.match(10)||this.match(47)){return this.tsParseSignatureMember("TSConstructSignatureDeclaration",node);}else{node.key=this.createIdentifier(id,"new");return this.tsParsePropertyOrMethodSignature(node,false);}}this.tsParseModifiers({allowedModifiers:["readonly"],disallowedModifiers:["declare","abstract","private","protected","public","static","override"]},node);var idx=this.tsTryParseIndexSignature(node);if(idx){return idx;}_superClass.prototype.parsePropertyName.call(this,node);if(!node.computed&&node.key.type==="Identifier"&&(node.key.name==="get"||node.key.name==="set")&&this.tsTokenCanFollowModifier()){node.kind=node.key.name;_superClass.prototype.parsePropertyName.call(this,node);}return this.tsParsePropertyOrMethodSignature(node,!!node.readonly);};_proto.tsParseTypeLiteral=function tsParseTypeLiteral(){var node=this.startNode();node.members=this.tsParseObjectTypeMembers();return this.finishNode(node,"TSTypeLiteral");};_proto.tsParseObjectTypeMembers=function tsParseObjectTypeMembers(){this.expect(5);var members=this.tsParseList("TypeMembers",this.tsParseTypeMember.bind(this));this.expect(8);return members;};_proto.tsIsStartOfMappedType=function tsIsStartOfMappedType(){this.next();if(this.eat(53)){return this.isContextual(122);}if(this.isContextual(122)){this.next();}if(!this.match(0)){return false;}this.next();if(!this.tsIsIdentifier()){return false;}this.next();return this.match(58);};_proto.tsParseMappedTypeParameter=function tsParseMappedTypeParameter(){var node=this.startNode();node.name=this.tsParseTypeParameterName();node.constraint=this.tsExpectThenParseType(58);return this.finishNode(node,"TSTypeParameter");};_proto.tsParseMappedType=function tsParseMappedType(){var node=this.startNode();this.expect(5);if(this.match(53)){node.readonly=this.state.value;this.next();this.expectContextual(122);}else if(this.eatContextual(122)){node.readonly=true;}this.expect(0);node.typeParameter=this.tsParseMappedTypeParameter();node.nameType=this.eatContextual(93)?this.tsParseType():null;this.expect(3);if(this.match(53)){node.optional=this.state.value;this.next();this.expect(17);}else if(this.eat(17)){node.optional=true;}node.typeAnnotation=this.tsTryParseType();this.semicolon();this.expect(8);return this.finishNode(node,"TSMappedType");};_proto.tsParseTupleType=function tsParseTupleType(){var _this3=this;var node=this.startNode();node.elementTypes=this.tsParseBracketedList("TupleElementTypes",this.tsParseTupleElementType.bind(this),true,false);var seenOptionalElement=false;node.elementTypes.forEach(function(elementNode){var type=elementNode.type;if(seenOptionalElement&&type!=="TSRestType"&&type!=="TSOptionalType"&&!(type==="TSNamedTupleMember"&&elementNode.optional)){_this3.raise(TSErrors.OptionalTypeBeforeRequired,elementNode);}seenOptionalElement||(seenOptionalElement=type==="TSNamedTupleMember"&&elementNode.optional||type==="TSOptionalType");});return this.finishNode(node,"TSTupleType");};_proto.tsParseTupleElementType=function tsParseTupleElementType(){var startLoc=this.state.startLoc;var rest=this.eat(21);var labeled;var label;var optional;var type;var isWord=tokenIsKeywordOrIdentifier(this.state.type);var chAfterWord=isWord?this.lookaheadCharCode():null;if(chAfterWord===58){labeled=true;optional=false;label=this.parseIdentifier(true);this.expect(14);type=this.tsParseType();}else if(chAfterWord===63){optional=true;var _startLoc=this.state.startLoc;var wordName=this.state.value;var typeOrLabel=this.tsParseNonArrayType();if(this.lookaheadCharCode()===58){labeled=true;label=this.createIdentifier(this.startNodeAt(_startLoc),wordName);this.expect(17);this.expect(14);type=this.tsParseType();}else{labeled=false;type=typeOrLabel;this.expect(17);}}else{type=this.tsParseType();optional=this.eat(17);labeled=this.eat(14);}if(labeled){var labeledNode;if(label){labeledNode=this.startNodeAtNode(label);labeledNode.optional=optional;labeledNode.label=label;labeledNode.elementType=type;if(this.eat(17)){labeledNode.optional=true;this.raise(TSErrors.TupleOptionalAfterType,this.state.lastTokStartLoc);}}else{labeledNode=this.startNodeAtNode(type);labeledNode.optional=optional;this.raise(TSErrors.InvalidTupleMemberLabel,type);labeledNode.label=type;labeledNode.elementType=this.tsParseType();}type=this.finishNode(labeledNode,"TSNamedTupleMember");}else if(optional){var optionalTypeNode=this.startNodeAtNode(type);optionalTypeNode.typeAnnotation=type;type=this.finishNode(optionalTypeNode,"TSOptionalType");}if(rest){var restNode=this.startNodeAt(startLoc);restNode.typeAnnotation=type;type=this.finishNode(restNode,"TSRestType");}return type;};_proto.tsParseParenthesizedType=function tsParseParenthesizedType(){var node=this.startNode();this.expect(10);node.typeAnnotation=this.tsParseType();this.expect(11);return this.finishNode(node,"TSParenthesizedType");};_proto.tsParseFunctionOrConstructorType=function tsParseFunctionOrConstructorType(type,_abstract){var _this4=this;var node=this.startNode();if(type==="TSConstructorType"){node["abstract"]=!!_abstract;if(_abstract)this.next();this.next();}this.tsInAllowConditionalTypesContext(function(){return _this4.tsFillSignature(19,node);});return this.finishNode(node,type);};_proto.tsParseLiteralTypeNode=function tsParseLiteralTypeNode(){var node=this.startNode();switch(this.state.type){case 134:case 135:case 133:case 85:case 86:node.literal=_superClass.prototype.parseExprAtom.call(this);break;default:this.unexpected();}return this.finishNode(node,"TSLiteralType");};_proto.tsParseTemplateLiteralType=function tsParseTemplateLiteralType(){var node=this.startNode();node.literal=_superClass.prototype.parseTemplate.call(this,false);return this.finishNode(node,"TSLiteralType");};_proto.parseTemplateSubstitution=function parseTemplateSubstitution(){if(this.state.inType)return this.tsParseType();return _superClass.prototype.parseTemplateSubstitution.call(this);};_proto.tsParseThisTypeOrThisTypePredicate=function tsParseThisTypeOrThisTypePredicate(){var thisKeyword=this.tsParseThisTypeNode();if(this.isContextual(116)&&!this.hasPrecedingLineBreak()){return this.tsParseThisTypePredicate(thisKeyword);}else{return thisKeyword;}};_proto.tsParseNonArrayType=function tsParseNonArrayType(){switch(this.state.type){case 133:case 134:case 135:case 85:case 86:return this.tsParseLiteralTypeNode();case 53:if(this.state.value==="-"){var _node2=this.startNode();var nextToken=this.lookahead();if(nextToken.type!==134&&nextToken.type!==135){this.unexpected();}_node2.literal=this.parseMaybeUnary();return this.finishNode(_node2,"TSLiteralType");}break;case 78:return this.tsParseThisTypeOrThisTypePredicate();case 87:return this.tsParseTypeQuery();case 83:return this.tsParseImportType();case 5:return this.tsLookAhead(this.tsIsStartOfMappedType.bind(this))?this.tsParseMappedType():this.tsParseTypeLiteral();case 0:return this.tsParseTupleType();case 10:return this.tsParseParenthesizedType();case 25:case 24:return this.tsParseTemplateLiteralType();default:{var type=this.state.type;if(tokenIsIdentifier(type)||type===88||type===84){var nodeType=type===88?"TSVoidKeyword":type===84?"TSNullKeyword":keywordTypeFromName(this.state.value);if(nodeType!==undefined&&this.lookaheadCharCode()!==46){var _node3=this.startNode();this.next();return this.finishNode(_node3,nodeType);}return this.tsParseTypeReference();}}}this.unexpected();};_proto.tsParseArrayTypeOrHigher=function tsParseArrayTypeOrHigher(){var type=this.tsParseNonArrayType();while(!this.hasPrecedingLineBreak()&&this.eat(0)){if(this.match(3)){var _node4=this.startNodeAtNode(type);_node4.elementType=type;this.expect(3);type=this.finishNode(_node4,"TSArrayType");}else{var _node5=this.startNodeAtNode(type);_node5.objectType=type;_node5.indexType=this.tsParseType();this.expect(3);type=this.finishNode(_node5,"TSIndexedAccessType");}}return type;};_proto.tsParseTypeOperator=function tsParseTypeOperator(){var node=this.startNode();var operator=this.state.value;this.next();node.operator=operator;node.typeAnnotation=this.tsParseTypeOperatorOrHigher();if(operator==="readonly"){this.tsCheckTypeAnnotationForReadOnly(node);}return this.finishNode(node,"TSTypeOperator");};_proto.tsCheckTypeAnnotationForReadOnly=function tsCheckTypeAnnotationForReadOnly(node){switch(node.typeAnnotation.type){case"TSTupleType":case"TSArrayType":return;default:this.raise(TSErrors.UnexpectedReadonly,node);}};_proto.tsParseInferType=function tsParseInferType(){var _this5=this;var node=this.startNode();this.expectContextual(115);var typeParameter=this.startNode();typeParameter.name=this.tsParseTypeParameterName();typeParameter.constraint=this.tsTryParse(function(){return _this5.tsParseConstraintForInferType();});node.typeParameter=this.finishNode(typeParameter,"TSTypeParameter");return this.finishNode(node,"TSInferType");};_proto.tsParseConstraintForInferType=function tsParseConstraintForInferType(){var _this6=this;if(this.eat(81)){var constraint=this.tsInDisallowConditionalTypesContext(function(){return _this6.tsParseType();});if(this.state.inDisallowConditionalTypesContext||!this.match(17)){return constraint;}}};_proto.tsParseTypeOperatorOrHigher=function tsParseTypeOperatorOrHigher(){var _this7=this;var isTypeOperator=tokenIsTSTypeOperator(this.state.type)&&!this.state.containsEsc;return isTypeOperator?this.tsParseTypeOperator():this.isContextual(115)?this.tsParseInferType():this.tsInAllowConditionalTypesContext(function(){return _this7.tsParseArrayTypeOrHigher();});};_proto.tsParseUnionOrIntersectionType=function tsParseUnionOrIntersectionType(kind,parseConstituentType,operator){var node=this.startNode();var hasLeadingOperator=this.eat(operator);var types=[];do{types.push(parseConstituentType());}while(this.eat(operator));if(types.length===1&&!hasLeadingOperator){return types[0];}node.types=types;return this.finishNode(node,kind);};_proto.tsParseIntersectionTypeOrHigher=function tsParseIntersectionTypeOrHigher(){return this.tsParseUnionOrIntersectionType("TSIntersectionType",this.tsParseTypeOperatorOrHigher.bind(this),45);};_proto.tsParseUnionTypeOrHigher=function tsParseUnionTypeOrHigher(){return this.tsParseUnionOrIntersectionType("TSUnionType",this.tsParseIntersectionTypeOrHigher.bind(this),43);};_proto.tsIsStartOfFunctionType=function tsIsStartOfFunctionType(){if(this.match(47)){return true;}return this.match(10)&&this.tsLookAhead(this.tsIsUnambiguouslyStartOfFunctionType.bind(this));};_proto.tsSkipParameterStart=function tsSkipParameterStart(){if(tokenIsIdentifier(this.state.type)||this.match(78)){this.next();return true;}if(this.match(5)){var errors=this.state.errors;var previousErrorCount=errors.length;try{this.parseObjectLike(8,true);return errors.length===previousErrorCount;}catch(_unused){return false;}}if(this.match(0)){this.next();var _errors=this.state.errors;var _previousErrorCount=_errors.length;try{_superClass.prototype.parseBindingList.call(this,3,93,ParseBindingListFlags.ALLOW_EMPTY);return _errors.length===_previousErrorCount;}catch(_unused2){return false;}}return false;};_proto.tsIsUnambiguouslyStartOfFunctionType=function tsIsUnambiguouslyStartOfFunctionType(){this.next();if(this.match(11)||this.match(21)){return true;}if(this.tsSkipParameterStart()){if(this.match(14)||this.match(12)||this.match(17)||this.match(29)){return true;}if(this.match(11)){this.next();if(this.match(19)){return true;}}}return false;};_proto.tsParseTypeOrTypePredicateAnnotation=function tsParseTypeOrTypePredicateAnnotation(returnToken){var _this8=this;return this.tsInType(function(){var t=_this8.startNode();_this8.expect(returnToken);var node=_this8.startNode();var asserts=!!_this8.tsTryParse(_this8.tsParseTypePredicateAsserts.bind(_this8));if(asserts&&_this8.match(78)){var thisTypePredicate=_this8.tsParseThisTypeOrThisTypePredicate();if(thisTypePredicate.type==="TSThisType"){node.parameterName=thisTypePredicate;node.asserts=true;node.typeAnnotation=null;thisTypePredicate=_this8.finishNode(node,"TSTypePredicate");}else{_this8.resetStartLocationFromNode(thisTypePredicate,node);thisTypePredicate.asserts=true;}t.typeAnnotation=thisTypePredicate;return _this8.finishNode(t,"TSTypeAnnotation");}var typePredicateVariable=_this8.tsIsIdentifier()&&_this8.tsTryParse(_this8.tsParseTypePredicatePrefix.bind(_this8));if(!typePredicateVariable){if(!asserts){return _this8.tsParseTypeAnnotation(false,t);}node.parameterName=_this8.parseIdentifier();node.asserts=asserts;node.typeAnnotation=null;t.typeAnnotation=_this8.finishNode(node,"TSTypePredicate");return _this8.finishNode(t,"TSTypeAnnotation");}var type=_this8.tsParseTypeAnnotation(false);node.parameterName=typePredicateVariable;node.typeAnnotation=type;node.asserts=asserts;t.typeAnnotation=_this8.finishNode(node,"TSTypePredicate");return _this8.finishNode(t,"TSTypeAnnotation");});};_proto.tsTryParseTypeOrTypePredicateAnnotation=function tsTryParseTypeOrTypePredicateAnnotation(){if(this.match(14)){return this.tsParseTypeOrTypePredicateAnnotation(14);}};_proto.tsTryParseTypeAnnotation=function tsTryParseTypeAnnotation(){if(this.match(14)){return this.tsParseTypeAnnotation();}};_proto.tsTryParseType=function tsTryParseType(){return this.tsEatThenParseType(14);};_proto.tsParseTypePredicatePrefix=function tsParseTypePredicatePrefix(){var id=this.parseIdentifier();if(this.isContextual(116)&&!this.hasPrecedingLineBreak()){this.next();return id;}};_proto.tsParseTypePredicateAsserts=function tsParseTypePredicateAsserts(){if(this.state.type!==109){return false;}var containsEsc=this.state.containsEsc;this.next();if(!tokenIsIdentifier(this.state.type)&&!this.match(78)){return false;}if(containsEsc){this.raise(Errors.InvalidEscapedReservedWord,this.state.lastTokStartLoc,{reservedWord:"asserts"});}return true;};_proto.tsParseTypeAnnotation=function tsParseTypeAnnotation(eatColon,t){var _this9=this;if(eatColon===void 0){eatColon=true;}if(t===void 0){t=this.startNode();}this.tsInType(function(){if(eatColon)_this9.expect(14);t.typeAnnotation=_this9.tsParseType();});return this.finishNode(t,"TSTypeAnnotation");};_proto.tsParseType=function tsParseType(){var _this10=this;assert$1(this.state.inType);var type=this.tsParseNonConditionalType();if(this.state.inDisallowConditionalTypesContext||this.hasPrecedingLineBreak()||!this.eat(81)){return type;}var node=this.startNodeAtNode(type);node.checkType=type;node.extendsType=this.tsInDisallowConditionalTypesContext(function(){return _this10.tsParseNonConditionalType();});this.expect(17);node.trueType=this.tsInAllowConditionalTypesContext(function(){return _this10.tsParseType();});this.expect(14);node.falseType=this.tsInAllowConditionalTypesContext(function(){return _this10.tsParseType();});return this.finishNode(node,"TSConditionalType");};_proto.isAbstractConstructorSignature=function isAbstractConstructorSignature(){return this.isContextual(124)&&this.lookahead().type===77;};_proto.tsParseNonConditionalType=function tsParseNonConditionalType(){if(this.tsIsStartOfFunctionType()){return this.tsParseFunctionOrConstructorType("TSFunctionType");}if(this.match(77)){return this.tsParseFunctionOrConstructorType("TSConstructorType");}else if(this.isAbstractConstructorSignature()){return this.tsParseFunctionOrConstructorType("TSConstructorType",true);}return this.tsParseUnionTypeOrHigher();};_proto.tsParseTypeAssertion=function tsParseTypeAssertion(){var _this11=this;if(this.getPluginOption("typescript","disallowAmbiguousJSXLike")){this.raise(TSErrors.ReservedTypeAssertion,this.state.startLoc);}var node=this.startNode();node.typeAnnotation=this.tsInType(function(){_this11.next();return _this11.match(75)?_this11.tsParseTypeReference():_this11.tsParseType();});this.expect(48);node.expression=this.parseMaybeUnary();return this.finishNode(node,"TSTypeAssertion");};_proto.tsParseHeritageClause=function tsParseHeritageClause(token){var _this12=this;var originalStartLoc=this.state.startLoc;var delimitedList=this.tsParseDelimitedList("HeritageClauseElement",function(){var node=_this12.startNode();node.expression=_this12.tsParseEntityName();if(_this12.match(47)){node.typeParameters=_this12.tsParseTypeArguments();}return _this12.finishNode(node,"TSExpressionWithTypeArguments");});if(!delimitedList.length){this.raise(TSErrors.EmptyHeritageClauseType,originalStartLoc,{token:token});}return delimitedList;};_proto.tsParseInterfaceDeclaration=function tsParseInterfaceDeclaration(node,properties){if(properties===void 0){properties={};}if(this.hasFollowingLineBreak())return null;this.expectContextual(129);if(properties.declare)node.declare=true;if(tokenIsIdentifier(this.state.type)){node.id=this.parseIdentifier();this.checkIdentifier(node.id,BindingFlag.TYPE_TS_INTERFACE);}else{node.id=null;this.raise(TSErrors.MissingInterfaceName,this.state.startLoc);}node.typeParameters=this.tsTryParseTypeParameters(this.tsParseInOutConstModifiers);if(this.eat(81)){node["extends"]=this.tsParseHeritageClause("extends");}var body=this.startNode();body.body=this.tsInType(this.tsParseObjectTypeMembers.bind(this));node.body=this.finishNode(body,"TSInterfaceBody");return this.finishNode(node,"TSInterfaceDeclaration");};_proto.tsParseTypeAliasDeclaration=function tsParseTypeAliasDeclaration(node){var _this13=this;node.id=this.parseIdentifier();this.checkIdentifier(node.id,BindingFlag.TYPE_TS_TYPE);node.typeAnnotation=this.tsInType(function(){node.typeParameters=_this13.tsTryParseTypeParameters(_this13.tsParseInOutModifiers);_this13.expect(29);if(_this13.isContextual(114)&&_this13.lookahead().type!==16){var _node6=_this13.startNode();_this13.next();return _this13.finishNode(_node6,"TSIntrinsicKeyword");}return _this13.tsParseType();});this.semicolon();return this.finishNode(node,"TSTypeAliasDeclaration");};_proto.tsInNoContext=function tsInNoContext(cb){var oldContext=this.state.context;this.state.context=[oldContext[0]];try{return cb();}finally{this.state.context=oldContext;}};_proto.tsInType=function tsInType(cb){var oldInType=this.state.inType;this.state.inType=true;try{return cb();}finally{this.state.inType=oldInType;}};_proto.tsInDisallowConditionalTypesContext=function tsInDisallowConditionalTypesContext(cb){var oldInDisallowConditionalTypesContext=this.state.inDisallowConditionalTypesContext;this.state.inDisallowConditionalTypesContext=true;try{return cb();}finally{this.state.inDisallowConditionalTypesContext=oldInDisallowConditionalTypesContext;}};_proto.tsInAllowConditionalTypesContext=function tsInAllowConditionalTypesContext(cb){var oldInDisallowConditionalTypesContext=this.state.inDisallowConditionalTypesContext;this.state.inDisallowConditionalTypesContext=false;try{return cb();}finally{this.state.inDisallowConditionalTypesContext=oldInDisallowConditionalTypesContext;}};_proto.tsEatThenParseType=function tsEatThenParseType(token){if(this.match(token)){return this.tsNextThenParseType();}};_proto.tsExpectThenParseType=function tsExpectThenParseType(token){var _this14=this;return this.tsInType(function(){_this14.expect(token);return _this14.tsParseType();});};_proto.tsNextThenParseType=function tsNextThenParseType(){var _this15=this;return this.tsInType(function(){_this15.next();return _this15.tsParseType();});};_proto.tsParseEnumMember=function tsParseEnumMember(){var node=this.startNode();node.id=this.match(133)?_superClass.prototype.parseStringLiteral.call(this,this.state.value):this.parseIdentifier(true);if(this.eat(29)){node.initializer=_superClass.prototype.parseMaybeAssignAllowIn.call(this);}return this.finishNode(node,"TSEnumMember");};_proto.tsParseEnumDeclaration=function tsParseEnumDeclaration(node,properties){if(properties===void 0){properties={};}if(properties["const"])node["const"]=true;if(properties.declare)node.declare=true;this.expectContextual(126);node.id=this.parseIdentifier();this.checkIdentifier(node.id,node["const"]?BindingFlag.TYPE_TS_CONST_ENUM:BindingFlag.TYPE_TS_ENUM);this.expect(5);node.members=this.tsParseDelimitedList("EnumMembers",this.tsParseEnumMember.bind(this));this.expect(8);return this.finishNode(node,"TSEnumDeclaration");};_proto.tsParseModuleBlock=function tsParseModuleBlock(){var node=this.startNode();this.scope.enter(ScopeFlag.OTHER);this.expect(5);_superClass.prototype.parseBlockOrModuleBlockBody.call(this,node.body=[],undefined,true,8);this.scope.exit();return this.finishNode(node,"TSModuleBlock");};_proto.tsParseModuleOrNamespaceDeclaration=function tsParseModuleOrNamespaceDeclaration(node,nested){if(nested===void 0){nested=false;}node.id=this.parseIdentifier();if(!nested){this.checkIdentifier(node.id,BindingFlag.TYPE_TS_NAMESPACE);}if(this.eat(16)){var inner=this.startNode();this.tsParseModuleOrNamespaceDeclaration(inner,true);node.body=inner;}else{this.scope.enter(ScopeFlag.TS_MODULE);this.prodParam.enter(ParamKind.PARAM);node.body=this.tsParseModuleBlock();this.prodParam.exit();this.scope.exit();}return this.finishNode(node,"TSModuleDeclaration");};_proto.tsParseAmbientExternalModuleDeclaration=function tsParseAmbientExternalModuleDeclaration(node){if(this.isContextual(112)){node.global=true;node.id=this.parseIdentifier();}else if(this.match(133)){node.id=_superClass.prototype.parseStringLiteral.call(this,this.state.value);}else{this.unexpected();}if(this.match(5)){this.scope.enter(ScopeFlag.TS_MODULE);this.prodParam.enter(ParamKind.PARAM);node.body=this.tsParseModuleBlock();this.prodParam.exit();this.scope.exit();}else{this.semicolon();}return this.finishNode(node,"TSModuleDeclaration");};_proto.tsParseImportEqualsDeclaration=function tsParseImportEqualsDeclaration(node,maybeDefaultIdentifier,isExport){node.isExport=isExport||false;node.id=maybeDefaultIdentifier||this.parseIdentifier();this.checkIdentifier(node.id,BindingFlag.TYPE_TS_VALUE_IMPORT);this.expect(29);var moduleReference=this.tsParseModuleReference();if(node.importKind==="type"&&moduleReference.type!=="TSExternalModuleReference"){this.raise(TSErrors.ImportAliasHasImportType,moduleReference);}node.moduleReference=moduleReference;this.semicolon();return this.finishNode(node,"TSImportEqualsDeclaration");};_proto.tsIsExternalModuleReference=function tsIsExternalModuleReference(){return this.isContextual(119)&&this.lookaheadCharCode()===40;};_proto.tsParseModuleReference=function tsParseModuleReference(){return this.tsIsExternalModuleReference()?this.tsParseExternalModuleReference():this.tsParseEntityName(false);};_proto.tsParseExternalModuleReference=function tsParseExternalModuleReference(){var node=this.startNode();this.expectContextual(119);this.expect(10);if(!this.match(133)){this.unexpected();}node.expression=_superClass.prototype.parseExprAtom.call(this);this.expect(11);this.sawUnambiguousESM=true;return this.finishNode(node,"TSExternalModuleReference");};_proto.tsLookAhead=function tsLookAhead(f){var state=this.state.clone();var res=f();this.state=state;return res;};_proto.tsTryParseAndCatch=function tsTryParseAndCatch(f){var result=this.tryParse(function(abort){return f()||abort();});if(result.aborted||!result.node)return;if(result.error)this.state=result.failState;return result.node;};_proto.tsTryParse=function tsTryParse(f){var state=this.state.clone();var result=f();if(result!==undefined&&result!==false){return result;}this.state=state;};_proto.tsTryParseDeclare=function tsTryParseDeclare(nany){var _this16=this;if(this.isLineTerminator()){return;}var startType=this.state.type;var kind;if(this.isContextual(100)){startType=74;kind="let";}return this.tsInAmbientContext(function(){switch(startType){case 68:nany.declare=true;return _superClass.prototype.parseFunctionStatement.call(_this16,nany,false,false);case 80:nany.declare=true;return _this16.parseClass(nany,true,false);case 126:return _this16.tsParseEnumDeclaration(nany,{declare:true});case 112:return _this16.tsParseAmbientExternalModuleDeclaration(nany);case 75:case 74:if(!_this16.match(75)||!_this16.isLookaheadContextual("enum")){nany.declare=true;return _this16.parseVarStatement(nany,kind||_this16.state.value,true);}_this16.expect(75);return _this16.tsParseEnumDeclaration(nany,{"const":true,declare:true});case 129:{var result=_this16.tsParseInterfaceDeclaration(nany,{declare:true});if(result)return result;}default:if(tokenIsIdentifier(startType)){return _this16.tsParseDeclaration(nany,_this16.state.value,true,null);}}});};_proto.tsTryParseExportDeclaration=function tsTryParseExportDeclaration(){return this.tsParseDeclaration(this.startNode(),this.state.value,true,null);};_proto.tsParseExpressionStatement=function tsParseExpressionStatement(node,expr,decorators){switch(expr.name){case"declare":{var declaration=this.tsTryParseDeclare(node);if(declaration){declaration.declare=true;}return declaration;}case"global":if(this.match(5)){this.scope.enter(ScopeFlag.TS_MODULE);this.prodParam.enter(ParamKind.PARAM);var mod=node;mod.global=true;mod.id=expr;mod.body=this.tsParseModuleBlock();this.scope.exit();this.prodParam.exit();return this.finishNode(mod,"TSModuleDeclaration");}break;default:return this.tsParseDeclaration(node,expr.name,false,decorators);}};_proto.tsParseDeclaration=function tsParseDeclaration(node,value,next,decorators){switch(value){case"abstract":if(this.tsCheckLineTerminator(next)&&(this.match(80)||tokenIsIdentifier(this.state.type))){return this.tsParseAbstractDeclaration(node,decorators);}break;case"module":if(this.tsCheckLineTerminator(next)){if(this.match(133)){return this.tsParseAmbientExternalModuleDeclaration(node);}else if(tokenIsIdentifier(this.state.type)){return this.tsParseModuleOrNamespaceDeclaration(node);}}break;case"namespace":if(this.tsCheckLineTerminator(next)&&tokenIsIdentifier(this.state.type)){return this.tsParseModuleOrNamespaceDeclaration(node);}break;case"type":if(this.tsCheckLineTerminator(next)&&tokenIsIdentifier(this.state.type)){return this.tsParseTypeAliasDeclaration(node);}break;}};_proto.tsCheckLineTerminator=function tsCheckLineTerminator(next){if(next){if(this.hasFollowingLineBreak())return false;this.next();return true;}return!this.isLineTerminator();};_proto.tsTryParseGenericAsyncArrowFunction=function tsTryParseGenericAsyncArrowFunction(startLoc){var _this17=this;if(!this.match(47))return;var oldMaybeInArrowParameters=this.state.maybeInArrowParameters;this.state.maybeInArrowParameters=true;var res=this.tsTryParseAndCatch(function(){var node=_this17.startNodeAt(startLoc);node.typeParameters=_this17.tsParseTypeParameters(_this17.tsParseConstModifier);_superClass.prototype.parseFunctionParams.call(_this17,node);node.returnType=_this17.tsTryParseTypeOrTypePredicateAnnotation();_this17.expect(19);return node;});this.state.maybeInArrowParameters=oldMaybeInArrowParameters;if(!res)return;return _superClass.prototype.parseArrowExpression.call(this,res,null,true);};_proto.tsParseTypeArgumentsInExpression=function tsParseTypeArgumentsInExpression(){if(this.reScan_lt()!==47)return;return this.tsParseTypeArguments();};_proto.tsParseTypeArguments=function tsParseTypeArguments(){var _this18=this;var node=this.startNode();node.params=this.tsInType(function(){return _this18.tsInNoContext(function(){_this18.expect(47);return _this18.tsParseDelimitedList("TypeParametersOrArguments",_this18.tsParseType.bind(_this18));});});if(node.params.length===0){this.raise(TSErrors.EmptyTypeArguments,node);}else if(!this.state.inType&&this.curContext()===types.brace){this.reScan_lt_gt();}this.expect(48);return this.finishNode(node,"TSTypeParameterInstantiation");};_proto.tsIsDeclarationStart=function tsIsDeclarationStart(){return tokenIsTSDeclarationStart(this.state.type);};_proto.isExportDefaultSpecifier=function isExportDefaultSpecifier(){if(this.tsIsDeclarationStart())return false;return _superClass.prototype.isExportDefaultSpecifier.call(this);};_proto.parseAssignableListItem=function parseAssignableListItem(flags,decorators){var startLoc=this.state.startLoc;var modified={};this.tsParseModifiers({allowedModifiers:["public","private","protected","override","readonly"]},modified);var accessibility=modified.accessibility;var override=modified.override;var readonly=modified.readonly;if(!(flags&ParseBindingListFlags.IS_CONSTRUCTOR_PARAMS)&&(accessibility||readonly||override)){this.raise(TSErrors.UnexpectedParameterModifier,startLoc);}var left=this.parseMaybeDefault();this.parseAssignableListItemTypes(left,flags);var elt=this.parseMaybeDefault(left.loc.start,left);if(accessibility||readonly||override){var pp=this.startNodeAt(startLoc);if(decorators.length){pp.decorators=decorators;}if(accessibility)pp.accessibility=accessibility;if(readonly)pp.readonly=readonly;if(override)pp.override=override;if(elt.type!=="Identifier"&&elt.type!=="AssignmentPattern"){this.raise(TSErrors.UnsupportedParameterPropertyKind,pp);}pp.parameter=elt;return this.finishNode(pp,"TSParameterProperty");}if(decorators.length){left.decorators=decorators;}return elt;};_proto.isSimpleParameter=function isSimpleParameter(node){return node.type==="TSParameterProperty"&&_superClass.prototype.isSimpleParameter.call(this,node.parameter)||_superClass.prototype.isSimpleParameter.call(this,node);};_proto.tsDisallowOptionalPattern=function tsDisallowOptionalPattern(node){for(var _i4=0,_node$params2=node.params;_i4<_node$params2.length;_i4++){var param=_node$params2[_i4];if(param.type!=="Identifier"&&param.optional&&!this.state.isAmbientContext){this.raise(TSErrors.PatternIsOptional,param);}}};_proto.setArrowFunctionParameters=function setArrowFunctionParameters(node,params,trailingCommaLoc){_superClass.prototype.setArrowFunctionParameters.call(this,node,params,trailingCommaLoc);this.tsDisallowOptionalPattern(node);};_proto.parseFunctionBodyAndFinish=function parseFunctionBodyAndFinish(node,type,isMethod){if(isMethod===void 0){isMethod=false;}if(this.match(14)){node.returnType=this.tsParseTypeOrTypePredicateAnnotation(14);}var bodilessType=type==="FunctionDeclaration"?"TSDeclareFunction":type==="ClassMethod"||type==="ClassPrivateMethod"?"TSDeclareMethod":undefined;if(bodilessType&&!this.match(5)&&this.isLineTerminator()){return this.finishNode(node,bodilessType);}if(bodilessType==="TSDeclareFunction"&&this.state.isAmbientContext){this.raise(TSErrors.DeclareFunctionHasImplementation,node);if(node.declare){return _superClass.prototype.parseFunctionBodyAndFinish.call(this,node,bodilessType,isMethod);}}this.tsDisallowOptionalPattern(node);return _superClass.prototype.parseFunctionBodyAndFinish.call(this,node,type,isMethod);};_proto.registerFunctionStatementId=function registerFunctionStatementId(node){if(!node.body&&node.id){this.checkIdentifier(node.id,BindingFlag.TYPE_TS_AMBIENT);}else{_superClass.prototype.registerFunctionStatementId.call(this,node);}};_proto.tsCheckForInvalidTypeCasts=function tsCheckForInvalidTypeCasts(items){var _this19=this;items.forEach(function(node){if((node==null?void 0:node.type)==="TSTypeCastExpression"){_this19.raise(TSErrors.UnexpectedTypeAnnotation,node.typeAnnotation);}});};_proto.toReferencedList=function toReferencedList(exprList,isInParens){this.tsCheckForInvalidTypeCasts(exprList);return exprList;};_proto.parseArrayLike=function parseArrayLike(close,canBePattern,isTuple,refExpressionErrors){var node=_superClass.prototype.parseArrayLike.call(this,close,canBePattern,isTuple,refExpressionErrors);if(node.type==="ArrayExpression"){this.tsCheckForInvalidTypeCasts(node.elements);}return node;};_proto.parseSubscript=function parseSubscript(base,startLoc,noCalls,state){var _this20=this;if(!this.hasPrecedingLineBreak()&&this.match(35)){this.state.canStartJSXElement=false;this.next();var nonNullExpression=this.startNodeAt(startLoc);nonNullExpression.expression=base;return this.finishNode(nonNullExpression,"TSNonNullExpression");}var isOptionalCall=false;if(this.match(18)&&this.lookaheadCharCode()===60){if(noCalls){state.stop=true;return base;}state.optionalChainMember=isOptionalCall=true;this.next();}if(this.match(47)||this.match(51)){var missingParenErrorLoc;var result=this.tsTryParseAndCatch(function(){if(!noCalls&&_this20.atPossibleAsyncArrow(base)){var asyncArrowFn=_this20.tsTryParseGenericAsyncArrowFunction(startLoc);if(asyncArrowFn){return asyncArrowFn;}}var typeArguments=_this20.tsParseTypeArgumentsInExpression();if(!typeArguments)return;if(isOptionalCall&&!_this20.match(10)){missingParenErrorLoc=_this20.state.curPosition();return;}if(tokenIsTemplate(_this20.state.type)){var _result=_superClass.prototype.parseTaggedTemplateExpression.call(_this20,base,startLoc,state);_result.typeParameters=typeArguments;return _result;}if(!noCalls&&_this20.eat(10)){var _node7=_this20.startNodeAt(startLoc);_node7.callee=base;_node7.arguments=_this20.parseCallExpressionArguments(11,false);_this20.tsCheckForInvalidTypeCasts(_node7.arguments);_node7.typeParameters=typeArguments;if(state.optionalChainMember){_node7.optional=isOptionalCall;}return _this20.finishCallExpression(_node7,state.optionalChainMember);}var tokenType=_this20.state.type;if(tokenType===48||tokenType===52||tokenType!==10&&tokenCanStartExpression(tokenType)&&!_this20.hasPrecedingLineBreak()){return;}var node=_this20.startNodeAt(startLoc);node.expression=base;node.typeParameters=typeArguments;return _this20.finishNode(node,"TSInstantiationExpression");});if(missingParenErrorLoc){this.unexpected(missingParenErrorLoc,10);}if(result){if(result.type==="TSInstantiationExpression"&&(this.match(16)||this.match(18)&&this.lookaheadCharCode()!==40)){this.raise(TSErrors.InvalidPropertyAccessAfterInstantiationExpression,this.state.startLoc);}return result;}}return _superClass.prototype.parseSubscript.call(this,base,startLoc,noCalls,state);};_proto.parseNewCallee=function parseNewCallee(node){var _callee$extra;_superClass.prototype.parseNewCallee.call(this,node);var callee=node.callee;if(callee.type==="TSInstantiationExpression"&&!((_callee$extra=callee.extra)!=null&&_callee$extra.parenthesized)){node.typeParameters=callee.typeParameters;node.callee=callee.expression;}};_proto.parseExprOp=function parseExprOp(left,leftStartLoc,minPrec){var _this21=this;var isSatisfies;if(tokenOperatorPrecedence(58)>minPrec&&!this.hasPrecedingLineBreak()&&(this.isContextual(93)||(isSatisfies=this.isContextual(120)))){var _node8=this.startNodeAt(leftStartLoc);_node8.expression=left;_node8.typeAnnotation=this.tsInType(function(){_this21.next();if(_this21.match(75)){if(isSatisfies){_this21.raise(Errors.UnexpectedKeyword,_this21.state.startLoc,{keyword:"const"});}return _this21.tsParseTypeReference();}return _this21.tsParseType();});this.finishNode(_node8,isSatisfies?"TSSatisfiesExpression":"TSAsExpression");this.reScan_lt_gt();return this.parseExprOp(_node8,leftStartLoc,minPrec);}return _superClass.prototype.parseExprOp.call(this,left,leftStartLoc,minPrec);};_proto.checkReservedWord=function checkReservedWord(word,startLoc,checkKeywords,isBinding){if(!this.state.isAmbientContext){_superClass.prototype.checkReservedWord.call(this,word,startLoc,checkKeywords,isBinding);}};_proto.checkImportReflection=function checkImportReflection(node){_superClass.prototype.checkImportReflection.call(this,node);if(node.module&&node.importKind!=="value"){this.raise(TSErrors.ImportReflectionHasImportType,node.specifiers[0].loc.start);}};_proto.checkDuplicateExports=function checkDuplicateExports(){};_proto.isPotentialImportPhase=function isPotentialImportPhase(isExport){if(_superClass.prototype.isPotentialImportPhase.call(this,isExport))return true;if(this.isContextual(130)){var ch=this.lookaheadCharCode();return isExport?ch===123||ch===42:ch!==61;}return!isExport&&this.isContextual(87);};_proto.applyImportPhase=function applyImportPhase(node,isExport,phase,loc){_superClass.prototype.applyImportPhase.call(this,node,isExport,phase,loc);if(isExport){node.exportKind=phase==="type"?"type":"value";}else{node.importKind=phase==="type"||phase==="typeof"?phase:"value";}};_proto.parseImport=function parseImport(node){if(this.match(133)){node.importKind="value";return _superClass.prototype.parseImport.call(this,node);}var importNode;if(tokenIsIdentifier(this.state.type)&&this.lookaheadCharCode()===61){node.importKind="value";return this.tsParseImportEqualsDeclaration(node);}else if(this.isContextual(130)){var maybeDefaultIdentifier=this.parseMaybeImportPhase(node,false);if(this.lookaheadCharCode()===61){return this.tsParseImportEqualsDeclaration(node,maybeDefaultIdentifier);}else{importNode=_superClass.prototype.parseImportSpecifiersAndAfter.call(this,node,maybeDefaultIdentifier);}}else{importNode=_superClass.prototype.parseImport.call(this,node);}if(importNode.importKind==="type"&&importNode.specifiers.length>1&&importNode.specifiers[0].type==="ImportDefaultSpecifier"){this.raise(TSErrors.TypeImportCannotSpecifyDefaultAndNamed,importNode);}return importNode;};_proto.parseExport=function parseExport(node,decorators){if(this.match(83)){this.next();var maybeDefaultIdentifier=null;if(this.isContextual(130)&&this.isPotentialImportPhase(false)){maybeDefaultIdentifier=this.parseMaybeImportPhase(node,false);}else{node.importKind="value";}return this.tsParseImportEqualsDeclaration(node,maybeDefaultIdentifier,true);}else if(this.eat(29)){var assign=node;assign.expression=_superClass.prototype.parseExpression.call(this);this.semicolon();this.sawUnambiguousESM=true;return this.finishNode(assign,"TSExportAssignment");}else if(this.eatContextual(93)){var decl=node;this.expectContextual(128);decl.id=this.parseIdentifier();this.semicolon();return this.finishNode(decl,"TSNamespaceExportDeclaration");}else{return _superClass.prototype.parseExport.call(this,node,decorators);}};_proto.isAbstractClass=function isAbstractClass(){return this.isContextual(124)&&this.lookahead().type===80;};_proto.parseExportDefaultExpression=function parseExportDefaultExpression(){if(this.isAbstractClass()){var cls=this.startNode();this.next();cls["abstract"]=true;return this.parseClass(cls,true,true);}if(this.match(129)){var result=this.tsParseInterfaceDeclaration(this.startNode());if(result)return result;}return _superClass.prototype.parseExportDefaultExpression.call(this);};_proto.parseVarStatement=function parseVarStatement(node,kind,allowMissingInitializer){if(allowMissingInitializer===void 0){allowMissingInitializer=false;}var isAmbientContext=this.state.isAmbientContext;var declaration=_superClass.prototype.parseVarStatement.call(this,node,kind,allowMissingInitializer||isAmbientContext);if(!isAmbientContext)return declaration;for(var _i6=0,_declaration$declarat2=declaration.declarations;_i6<_declaration$declarat2.length;_i6++){var _declaration$declarat3=_declaration$declarat2[_i6],id=_declaration$declarat3.id,init=_declaration$declarat3.init;if(!init)continue;if(kind!=="const"||!!id.typeAnnotation){this.raise(TSErrors.InitializerNotAllowedInAmbientContext,init);}else if(!isValidAmbientConstInitializer(init,this.hasPlugin("estree"))){this.raise(TSErrors.ConstInitiailizerMustBeStringOrNumericLiteralOrLiteralEnumReference,init);}}return declaration;};_proto.parseStatementContent=function parseStatementContent(flags,decorators){if(this.match(75)&&this.isLookaheadContextual("enum")){var _node9=this.startNode();this.expect(75);return this.tsParseEnumDeclaration(_node9,{"const":true});}if(this.isContextual(126)){return this.tsParseEnumDeclaration(this.startNode());}if(this.isContextual(129)){var result=this.tsParseInterfaceDeclaration(this.startNode());if(result)return result;}return _superClass.prototype.parseStatementContent.call(this,flags,decorators);};_proto.parseAccessModifier=function parseAccessModifier(){return this.tsParseModifier(["public","protected","private"]);};_proto.tsHasSomeModifiers=function tsHasSomeModifiers(member,modifiers){return modifiers.some(function(modifier){if(tsIsAccessModifier(modifier)){return member.accessibility===modifier;}return!!member[modifier];});};_proto.tsIsStartOfStaticBlocks=function tsIsStartOfStaticBlocks(){return this.isContextual(106)&&this.lookaheadCharCode()===123;};_proto.parseClassMember=function parseClassMember(classBody,member,state){var _this22=this;var modifiers=["declare","private","public","protected","override","abstract","readonly","static"];this.tsParseModifiers({allowedModifiers:modifiers,disallowedModifiers:["in","out"],stopOnStartOfClassStaticBlock:true,errorTemplate:TSErrors.InvalidModifierOnTypeParameterPositions},member);var callParseClassMemberWithIsStatic=function callParseClassMemberWithIsStatic(){if(_this22.tsIsStartOfStaticBlocks()){_this22.next();_this22.next();if(_this22.tsHasSomeModifiers(member,modifiers)){_this22.raise(TSErrors.StaticBlockCannotHaveModifier,_this22.state.curPosition());}_superClass.prototype.parseClassStaticBlock.call(_this22,classBody,member);}else{_this22.parseClassMemberWithIsStatic(classBody,member,state,!!member["static"]);}};if(member.declare){this.tsInAmbientContext(callParseClassMemberWithIsStatic);}else{callParseClassMemberWithIsStatic();}};_proto.parseClassMemberWithIsStatic=function parseClassMemberWithIsStatic(classBody,member,state,isStatic){var idx=this.tsTryParseIndexSignature(member);if(idx){classBody.body.push(idx);if(member["abstract"]){this.raise(TSErrors.IndexSignatureHasAbstract,member);}if(member.accessibility){this.raise(TSErrors.IndexSignatureHasAccessibility,member,{modifier:member.accessibility});}if(member.declare){this.raise(TSErrors.IndexSignatureHasDeclare,member);}if(member.override){this.raise(TSErrors.IndexSignatureHasOverride,member);}return;}if(!this.state.inAbstractClass&&member["abstract"]){this.raise(TSErrors.NonAbstractClassHasAbstractMethod,member);}if(member.override){if(!state.hadSuperClass){this.raise(TSErrors.OverrideNotInSubClass,member);}}_superClass.prototype.parseClassMemberWithIsStatic.call(this,classBody,member,state,isStatic);};_proto.parsePostMemberNameModifiers=function parsePostMemberNameModifiers(methodOrProp){var optional=this.eat(17);if(optional)methodOrProp.optional=true;if(methodOrProp.readonly&&this.match(10)){this.raise(TSErrors.ClassMethodHasReadonly,methodOrProp);}if(methodOrProp.declare&&this.match(10)){this.raise(TSErrors.ClassMethodHasDeclare,methodOrProp);}};_proto.parseExpressionStatement=function parseExpressionStatement(node,expr,decorators){var decl=expr.type==="Identifier"?this.tsParseExpressionStatement(node,expr,decorators):undefined;return decl||_superClass.prototype.parseExpressionStatement.call(this,node,expr,decorators);};_proto.shouldParseExportDeclaration=function shouldParseExportDeclaration(){if(this.tsIsDeclarationStart())return true;return _superClass.prototype.shouldParseExportDeclaration.call(this);};_proto.parseConditional=function parseConditional(expr,startLoc,refExpressionErrors){var _this23=this;if(!this.state.maybeInArrowParameters||!this.match(17)){return _superClass.prototype.parseConditional.call(this,expr,startLoc,refExpressionErrors);}var result=this.tryParse(function(){return _superClass.prototype.parseConditional.call(_this23,expr,startLoc);});if(!result.node){if(result.error){_superClass.prototype.setOptionalParametersError.call(this,refExpressionErrors,result.error);}return expr;}if(result.error)this.state=result.failState;return result.node;};_proto.parseParenItem=function parseParenItem(node,startLoc){node=_superClass.prototype.parseParenItem.call(this,node,startLoc);if(this.eat(17)){node.optional=true;this.resetEndLocation(node);}if(this.match(14)){var typeCastNode=this.startNodeAt(startLoc);typeCastNode.expression=node;typeCastNode.typeAnnotation=this.tsParseTypeAnnotation();return this.finishNode(typeCastNode,"TSTypeCastExpression");}return node;};_proto.parseExportDeclaration=function parseExportDeclaration(node){var _this24=this;if(!this.state.isAmbientContext&&this.isContextual(125)){return this.tsInAmbientContext(function(){return _this24.parseExportDeclaration(node);});}var startLoc=this.state.startLoc;var isDeclare=this.eatContextual(125);if(isDeclare&&(this.isContextual(125)||!this.shouldParseExportDeclaration())){throw this.raise(TSErrors.ExpectedAmbientAfterExportDeclare,this.state.startLoc);}var isIdentifier=tokenIsIdentifier(this.state.type);var declaration=isIdentifier&&this.tsTryParseExportDeclaration()||_superClass.prototype.parseExportDeclaration.call(this,node);if(!declaration)return null;if(declaration.type==="TSInterfaceDeclaration"||declaration.type==="TSTypeAliasDeclaration"||isDeclare){node.exportKind="type";}if(isDeclare){this.resetStartLocation(declaration,startLoc);declaration.declare=true;}return declaration;};_proto.parseClassId=function parseClassId(node,isStatement,optionalId,bindingType){if((!isStatement||optionalId)&&this.isContextual(113)){return;}_superClass.prototype.parseClassId.call(this,node,isStatement,optionalId,node.declare?BindingFlag.TYPE_TS_AMBIENT:BindingFlag.TYPE_CLASS);var typeParameters=this.tsTryParseTypeParameters(this.tsParseInOutConstModifiers);if(typeParameters)node.typeParameters=typeParameters;};_proto.parseClassPropertyAnnotation=function parseClassPropertyAnnotation(node){if(!node.optional){if(this.eat(35)){node.definite=true;}else if(this.eat(17)){node.optional=true;}}var type=this.tsTryParseTypeAnnotation();if(type)node.typeAnnotation=type;};_proto.parseClassProperty=function parseClassProperty(node){this.parseClassPropertyAnnotation(node);if(this.state.isAmbientContext&&!(node.readonly&&!node.typeAnnotation)&&this.match(29)){this.raise(TSErrors.DeclareClassFieldHasInitializer,this.state.startLoc);}if(node["abstract"]&&this.match(29)){var key=node.key;this.raise(TSErrors.AbstractPropertyHasInitializer,this.state.startLoc,{propertyName:key.type==="Identifier"&&!node.computed?key.name:"["+this.input.slice(key.start,key.end)+"]"});}return _superClass.prototype.parseClassProperty.call(this,node);};_proto.parseClassPrivateProperty=function parseClassPrivateProperty(node){if(node["abstract"]){this.raise(TSErrors.PrivateElementHasAbstract,node);}if(node.accessibility){this.raise(TSErrors.PrivateElementHasAccessibility,node,{modifier:node.accessibility});}this.parseClassPropertyAnnotation(node);return _superClass.prototype.parseClassPrivateProperty.call(this,node);};_proto.parseClassAccessorProperty=function parseClassAccessorProperty(node){this.parseClassPropertyAnnotation(node);if(node.optional){this.raise(TSErrors.AccessorCannotBeOptional,node);}return _superClass.prototype.parseClassAccessorProperty.call(this,node);};_proto.pushClassMethod=function pushClassMethod(classBody,method,isGenerator,isAsync,isConstructor,allowsDirectSuper){var typeParameters=this.tsTryParseTypeParameters(this.tsParseConstModifier);if(typeParameters&&isConstructor){this.raise(TSErrors.ConstructorHasTypeParameters,typeParameters);}var _method$declare=method.declare,declare=_method$declare===void 0?false:_method$declare,kind=method.kind;if(declare&&(kind==="get"||kind==="set")){this.raise(TSErrors.DeclareAccessor,method,{kind:kind});}if(typeParameters)method.typeParameters=typeParameters;_superClass.prototype.pushClassMethod.call(this,classBody,method,isGenerator,isAsync,isConstructor,allowsDirectSuper);};_proto.pushClassPrivateMethod=function pushClassPrivateMethod(classBody,method,isGenerator,isAsync){var typeParameters=this.tsTryParseTypeParameters(this.tsParseConstModifier);if(typeParameters)method.typeParameters=typeParameters;_superClass.prototype.pushClassPrivateMethod.call(this,classBody,method,isGenerator,isAsync);};_proto.declareClassPrivateMethodInScope=function declareClassPrivateMethodInScope(node,kind){if(node.type==="TSDeclareMethod")return;if(node.type==="MethodDefinition"&&!node.value.body)return;_superClass.prototype.declareClassPrivateMethodInScope.call(this,node,kind);};_proto.parseClassSuper=function parseClassSuper(node){_superClass.prototype.parseClassSuper.call(this,node);if(node.superClass&&(this.match(47)||this.match(51))){node.superTypeParameters=this.tsParseTypeArgumentsInExpression();}if(this.eatContextual(113)){node["implements"]=this.tsParseHeritageClause("implements");}};_proto.parseObjPropValue=function parseObjPropValue(prop,startLoc,isGenerator,isAsync,isPattern,isAccessor,refExpressionErrors){var typeParameters=this.tsTryParseTypeParameters(this.tsParseConstModifier);if(typeParameters)prop.typeParameters=typeParameters;return _superClass.prototype.parseObjPropValue.call(this,prop,startLoc,isGenerator,isAsync,isPattern,isAccessor,refExpressionErrors);};_proto.parseFunctionParams=function parseFunctionParams(node,isConstructor){var typeParameters=this.tsTryParseTypeParameters(this.tsParseConstModifier);if(typeParameters)node.typeParameters=typeParameters;_superClass.prototype.parseFunctionParams.call(this,node,isConstructor);};_proto.parseVarId=function parseVarId(decl,kind){_superClass.prototype.parseVarId.call(this,decl,kind);if(decl.id.type==="Identifier"&&!this.hasPrecedingLineBreak()&&this.eat(35)){decl.definite=true;}var type=this.tsTryParseTypeAnnotation();if(type){decl.id.typeAnnotation=type;this.resetEndLocation(decl.id);}};_proto.parseAsyncArrowFromCallExpression=function parseAsyncArrowFromCallExpression(node,call){if(this.match(14)){node.returnType=this.tsParseTypeAnnotation();}return _superClass.prototype.parseAsyncArrowFromCallExpression.call(this,node,call);};_proto.parseMaybeAssign=function parseMaybeAssign(refExpressionErrors,afterLeftParse){var _this25=this,_jsx,_jsx2,_typeCast,_jsx3,_typeCast2;var state;var jsx;var typeCast;if(this.hasPlugin("jsx")&&(this.match(142)||this.match(47))){state=this.state.clone();jsx=this.tryParse(function(){return _superClass.prototype.parseMaybeAssign.call(_this25,refExpressionErrors,afterLeftParse);},state);if(!jsx.error)return jsx.node;var context=this.state.context;var currentContext=context[context.length-1];if(currentContext===types.j_oTag||currentContext===types.j_expr){context.pop();}}if(!((_jsx=jsx)!=null&&_jsx.error)&&!this.match(47)){return _superClass.prototype.parseMaybeAssign.call(this,refExpressionErrors,afterLeftParse);}if(!state||state===this.state)state=this.state.clone();var typeParameters;var arrow=this.tryParse(function(abort){var _expr$extra,_typeParameters;typeParameters=_this25.tsParseTypeParameters(_this25.tsParseConstModifier);var expr=_superClass.prototype.parseMaybeAssign.call(_this25,refExpressionErrors,afterLeftParse);if(expr.type!=="ArrowFunctionExpression"||(_expr$extra=expr.extra)!=null&&_expr$extra.parenthesized){abort();}if(((_typeParameters=typeParameters)==null?void 0:_typeParameters.params.length)!==0){_this25.resetStartLocationFromNode(expr,typeParameters);}expr.typeParameters=typeParameters;return expr;},state);if(!arrow.error&&!arrow.aborted){if(typeParameters)this.reportReservedArrowTypeParam(typeParameters);return arrow.node;}if(!jsx){assert$1(!this.hasPlugin("jsx"));typeCast=this.tryParse(function(){return _superClass.prototype.parseMaybeAssign.call(_this25,refExpressionErrors,afterLeftParse);},state);if(!typeCast.error)return typeCast.node;}if((_jsx2=jsx)!=null&&_jsx2.node){this.state=jsx.failState;return jsx.node;}if(arrow.node){this.state=arrow.failState;if(typeParameters)this.reportReservedArrowTypeParam(typeParameters);return arrow.node;}if((_typeCast=typeCast)!=null&&_typeCast.node){this.state=typeCast.failState;return typeCast.node;}throw((_jsx3=jsx)==null?void 0:_jsx3.error)||arrow.error||((_typeCast2=typeCast)==null?void 0:_typeCast2.error);};_proto.reportReservedArrowTypeParam=function reportReservedArrowTypeParam(node){var _node$extra;if(node.params.length===1&&!node.params[0].constraint&&!((_node$extra=node.extra)!=null&&_node$extra.trailingComma)&&this.getPluginOption("typescript","disallowAmbiguousJSXLike")){this.raise(TSErrors.ReservedArrowTypeParam,node);}};_proto.parseMaybeUnary=function parseMaybeUnary(refExpressionErrors,sawUnary){if(!this.hasPlugin("jsx")&&this.match(47)){return this.tsParseTypeAssertion();}return _superClass.prototype.parseMaybeUnary.call(this,refExpressionErrors,sawUnary);};_proto.parseArrow=function parseArrow(node){var _this26=this;if(this.match(14)){var result=this.tryParse(function(abort){var returnType=_this26.tsParseTypeOrTypePredicateAnnotation(14);if(_this26.canInsertSemicolon()||!_this26.match(19))abort();return returnType;});if(result.aborted)return;if(!result.thrown){if(result.error)this.state=result.failState;node.returnType=result.node;}}return _superClass.prototype.parseArrow.call(this,node);};_proto.parseAssignableListItemTypes=function parseAssignableListItemTypes(param,flags){if(!(flags&ParseBindingListFlags.IS_FUNCTION_PARAMS))return param;if(this.eat(17)){param.optional=true;}var type=this.tsTryParseTypeAnnotation();if(type)param.typeAnnotation=type;this.resetEndLocation(param);return param;};_proto.isAssignable=function isAssignable(node,isBinding){switch(node.type){case"TSTypeCastExpression":return this.isAssignable(node.expression,isBinding);case"TSParameterProperty":return true;default:return _superClass.prototype.isAssignable.call(this,node,isBinding);}};_proto.toAssignable=function toAssignable(node,isLHS){if(isLHS===void 0){isLHS=false;}switch(node.type){case"ParenthesizedExpression":this.toAssignableParenthesizedExpression(node,isLHS);break;case"TSAsExpression":case"TSSatisfiesExpression":case"TSNonNullExpression":case"TSTypeAssertion":if(isLHS){this.expressionScope.recordArrowParameterBindingError(TSErrors.UnexpectedTypeCastInParameter,node);}else{this.raise(TSErrors.UnexpectedTypeCastInParameter,node);}this.toAssignable(node.expression,isLHS);break;case"AssignmentExpression":if(!isLHS&&node.left.type==="TSTypeCastExpression"){node.left=this.typeCastToParameter(node.left);}default:_superClass.prototype.toAssignable.call(this,node,isLHS);}};_proto.toAssignableParenthesizedExpression=function toAssignableParenthesizedExpression(node,isLHS){switch(node.expression.type){case"TSAsExpression":case"TSSatisfiesExpression":case"TSNonNullExpression":case"TSTypeAssertion":case"ParenthesizedExpression":this.toAssignable(node.expression,isLHS);break;default:_superClass.prototype.toAssignable.call(this,node,isLHS);}};_proto.checkToRestConversion=function checkToRestConversion(node,allowPattern){switch(node.type){case"TSAsExpression":case"TSSatisfiesExpression":case"TSTypeAssertion":case"TSNonNullExpression":this.checkToRestConversion(node.expression,false);break;default:_superClass.prototype.checkToRestConversion.call(this,node,allowPattern);}};_proto.isValidLVal=function isValidLVal(type,isUnparenthesizedInAssign,binding){return getOwn({TSTypeCastExpression:true,TSParameterProperty:"parameter",TSNonNullExpression:"expression",TSAsExpression:(binding!==BindingFlag.TYPE_NONE||!isUnparenthesizedInAssign)&&["expression",true],TSSatisfiesExpression:(binding!==BindingFlag.TYPE_NONE||!isUnparenthesizedInAssign)&&["expression",true],TSTypeAssertion:(binding!==BindingFlag.TYPE_NONE||!isUnparenthesizedInAssign)&&["expression",true]},type)||_superClass.prototype.isValidLVal.call(this,type,isUnparenthesizedInAssign,binding);};_proto.parseBindingAtom=function parseBindingAtom(){if(this.state.type===78){return this.parseIdentifier(true);}return _superClass.prototype.parseBindingAtom.call(this);};_proto.parseMaybeDecoratorArguments=function parseMaybeDecoratorArguments(expr){if(this.match(47)||this.match(51)){var typeArguments=this.tsParseTypeArgumentsInExpression();if(this.match(10)){var call=_superClass.prototype.parseMaybeDecoratorArguments.call(this,expr);call.typeParameters=typeArguments;return call;}this.unexpected(null,10);}return _superClass.prototype.parseMaybeDecoratorArguments.call(this,expr);};_proto.checkCommaAfterRest=function checkCommaAfterRest(close){if(this.state.isAmbientContext&&this.match(12)&&this.lookaheadCharCode()===close){this.next();return false;}return _superClass.prototype.checkCommaAfterRest.call(this,close);};_proto.isClassMethod=function isClassMethod(){return this.match(47)||_superClass.prototype.isClassMethod.call(this);};_proto.isClassProperty=function isClassProperty(){return this.match(35)||this.match(14)||_superClass.prototype.isClassProperty.call(this);};_proto.parseMaybeDefault=function parseMaybeDefault(startLoc,left){var node=_superClass.prototype.parseMaybeDefault.call(this,startLoc,left);if(node.type==="AssignmentPattern"&&node.typeAnnotation&&node.right.start<node.typeAnnotation.start){this.raise(TSErrors.TypeAnnotationAfterAssign,node.typeAnnotation);}return node;};_proto.getTokenFromCode=function getTokenFromCode(code){if(this.state.inType){if(code===62){this.finishOp(48,1);return;}if(code===60){this.finishOp(47,1);return;}}_superClass.prototype.getTokenFromCode.call(this,code);};_proto.reScan_lt_gt=function reScan_lt_gt(){var type=this.state.type;if(type===47){this.state.pos-=1;this.readToken_lt();}else if(type===48){this.state.pos-=1;this.readToken_gt();}};_proto.reScan_lt=function reScan_lt(){var type=this.state.type;if(type===51){this.state.pos-=2;this.finishOp(47,1);return 47;}return type;};_proto.toAssignableList=function toAssignableList(exprList,trailingCommaLoc,isLHS){for(var i=0;i<exprList.length;i++){var expr=exprList[i];if((expr==null?void 0:expr.type)==="TSTypeCastExpression"){exprList[i]=this.typeCastToParameter(expr);}}_superClass.prototype.toAssignableList.call(this,exprList,trailingCommaLoc,isLHS);};_proto.typeCastToParameter=function typeCastToParameter(node){node.expression.typeAnnotation=node.typeAnnotation;this.resetEndLocation(node.expression,node.typeAnnotation.loc.end);return node.expression;};_proto.shouldParseArrow=function shouldParseArrow(params){var _this27=this;if(this.match(14)){return params.every(function(expr){return _this27.isAssignable(expr,true);});}return _superClass.prototype.shouldParseArrow.call(this,params);};_proto.shouldParseAsyncArrow=function shouldParseAsyncArrow(){return this.match(14)||_superClass.prototype.shouldParseAsyncArrow.call(this);};_proto.canHaveLeadingDecorator=function canHaveLeadingDecorator(){return _superClass.prototype.canHaveLeadingDecorator.call(this)||this.isAbstractClass();};_proto.jsxParseOpeningElementAfterName=function jsxParseOpeningElementAfterName(node){var _this28=this;if(this.match(47)||this.match(51)){var typeArguments=this.tsTryParseAndCatch(function(){return _this28.tsParseTypeArgumentsInExpression();});if(typeArguments)node.typeParameters=typeArguments;}return _superClass.prototype.jsxParseOpeningElementAfterName.call(this,node);};_proto.getGetterSetterExpectedParamCount=function getGetterSetterExpectedParamCount(method){var baseCount=_superClass.prototype.getGetterSetterExpectedParamCount.call(this,method);var params=this.getObjectOrClassMethodParams(method);var firstParam=params[0];var hasContextParam=firstParam&&this.isThisParam(firstParam);return hasContextParam?baseCount+1:baseCount;};_proto.parseCatchClauseParam=function parseCatchClauseParam(){var param=_superClass.prototype.parseCatchClauseParam.call(this);var type=this.tsTryParseTypeAnnotation();if(type){param.typeAnnotation=type;this.resetEndLocation(param);}return param;};_proto.tsInAmbientContext=function tsInAmbientContext(cb){var oldIsAmbientContext=this.state.isAmbientContext;this.state.isAmbientContext=true;try{return cb();}finally{this.state.isAmbientContext=oldIsAmbientContext;}};_proto.parseClass=function parseClass(node,isStatement,optionalId){var oldInAbstractClass=this.state.inAbstractClass;this.state.inAbstractClass=!!node["abstract"];try{return _superClass.prototype.parseClass.call(this,node,isStatement,optionalId);}finally{this.state.inAbstractClass=oldInAbstractClass;}};_proto.tsParseAbstractDeclaration=function tsParseAbstractDeclaration(node,decorators){if(this.match(80)){node["abstract"]=true;return this.maybeTakeDecorators(decorators,this.parseClass(node,true,false));}else if(this.isContextual(129)){if(!this.hasFollowingLineBreak()){node["abstract"]=true;this.raise(TSErrors.NonClassMethodPropertyHasAbstractModifer,node);return this.tsParseInterfaceDeclaration(node);}}else{this.unexpected(null,80);}};_proto.parseMethod=function parseMethod(node,isGenerator,isAsync,isConstructor,allowDirectSuper,type,inClassScope){var method=_superClass.prototype.parseMethod.call(this,node,isGenerator,isAsync,isConstructor,allowDirectSuper,type,inClassScope);if(method["abstract"]){var hasBody=this.hasPlugin("estree")?!!method.value.body:!!method.body;if(hasBody){var key=method.key;this.raise(TSErrors.AbstractMethodHasImplementation,method,{methodName:key.type==="Identifier"&&!method.computed?key.name:"["+this.input.slice(key.start,key.end)+"]"});}}return method;};_proto.tsParseTypeParameterName=function tsParseTypeParameterName(){var typeName=this.parseIdentifier();return typeName.name;};_proto.shouldParseAsAmbientContext=function shouldParseAsAmbientContext(){return!!this.getPluginOption("typescript","dts");};_proto.parse=function parse(){if(this.shouldParseAsAmbientContext()){this.state.isAmbientContext=true;}return _superClass.prototype.parse.call(this);};_proto.getExpression=function getExpression(){if(this.shouldParseAsAmbientContext()){this.state.isAmbientContext=true;}return _superClass.prototype.getExpression.call(this);};_proto.parseExportSpecifier=function parseExportSpecifier(node,isString,isInTypeExport,isMaybeTypeOnly){if(!isString&&isMaybeTypeOnly){this.parseTypeOnlyImportExportSpecifier(node,false,isInTypeExport);return this.finishNode(node,"ExportSpecifier");}node.exportKind="value";return _superClass.prototype.parseExportSpecifier.call(this,node,isString,isInTypeExport,isMaybeTypeOnly);};_proto.parseImportSpecifier=function parseImportSpecifier(specifier,importedIsString,isInTypeOnlyImport,isMaybeTypeOnly,bindingType){if(!importedIsString&&isMaybeTypeOnly){this.parseTypeOnlyImportExportSpecifier(specifier,true,isInTypeOnlyImport);return this.finishNode(specifier,"ImportSpecifier");}specifier.importKind="value";return _superClass.prototype.parseImportSpecifier.call(this,specifier,importedIsString,isInTypeOnlyImport,isMaybeTypeOnly,isInTypeOnlyImport?BindingFlag.TYPE_TS_TYPE_IMPORT:BindingFlag.TYPE_TS_VALUE_IMPORT);};_proto.parseTypeOnlyImportExportSpecifier=function parseTypeOnlyImportExportSpecifier(node,isImport,isInTypeOnlyImportExport){var leftOfAsKey=isImport?"imported":"local";var rightOfAsKey=isImport?"local":"exported";var leftOfAs=node[leftOfAsKey];var rightOfAs;var hasTypeSpecifier=false;var canParseAsKeyword=true;var loc=leftOfAs.loc.start;if(this.isContextual(93)){var firstAs=this.parseIdentifier();if(this.isContextual(93)){var secondAs=this.parseIdentifier();if(tokenIsKeywordOrIdentifier(this.state.type)){hasTypeSpecifier=true;leftOfAs=firstAs;rightOfAs=isImport?this.parseIdentifier():this.parseModuleExportName();canParseAsKeyword=false;}else{rightOfAs=secondAs;canParseAsKeyword=false;}}else if(tokenIsKeywordOrIdentifier(this.state.type)){canParseAsKeyword=false;rightOfAs=isImport?this.parseIdentifier():this.parseModuleExportName();}else{hasTypeSpecifier=true;leftOfAs=firstAs;}}else if(tokenIsKeywordOrIdentifier(this.state.type)){hasTypeSpecifier=true;if(isImport){leftOfAs=this.parseIdentifier(true);if(!this.isContextual(93)){this.checkReservedWord(leftOfAs.name,leftOfAs.loc.start,true,true);}}else{leftOfAs=this.parseModuleExportName();}}if(hasTypeSpecifier&&isInTypeOnlyImportExport){this.raise(isImport?TSErrors.TypeModifierIsUsedInTypeImports:TSErrors.TypeModifierIsUsedInTypeExports,loc);}node[leftOfAsKey]=leftOfAs;node[rightOfAsKey]=rightOfAs;var kindKey=isImport?"importKind":"exportKind";node[kindKey]=hasTypeSpecifier?"type":"value";if(canParseAsKeyword&&this.eatContextual(93)){node[rightOfAsKey]=isImport?this.parseIdentifier():this.parseModuleExportName();}if(!node[rightOfAsKey]){node[rightOfAsKey]=cloneIdentifier(node[leftOfAsKey]);}if(isImport){this.checkIdentifier(node[rightOfAsKey],hasTypeSpecifier?BindingFlag.TYPE_TS_TYPE_IMPORT:BindingFlag.TYPE_TS_VALUE_IMPORT);}};return _createClass(TypeScriptParserMixin);}(superClass);};function isPossiblyLiteralEnum(expression){if(expression.type!=="MemberExpression")return false;var computed=expression.computed,property=expression.property;if(computed&&property.type!=="StringLiteral"&&(property.type!=="TemplateLiteral"||property.expressions.length>0)){return false;}return isUncomputedMemberExpressionChain(expression.object);}function isValidAmbientConstInitializer(expression,estree){var _expression$extra;var type=expression.type;if((_expression$extra=expression.extra)!=null&&_expression$extra.parenthesized){return false;}if(estree){if(type==="Literal"){var value=expression.value;if(typeof value==="string"||typeof value==="boolean"){return true;}}}else{if(type==="StringLiteral"||type==="BooleanLiteral"){return true;}}if(isNumber$1(expression,estree)||isNegativeNumber(expression,estree)){return true;}if(type==="TemplateLiteral"&&expression.expressions.length===0){return true;}if(isPossiblyLiteralEnum(expression)){return true;}return false;}function isNumber$1(expression,estree){if(estree){return expression.type==="Literal"&&(typeof expression.value==="number"||"bigint"in expression);}return expression.type==="NumericLiteral"||expression.type==="BigIntLiteral";}function isNegativeNumber(expression,estree){if(expression.type==="UnaryExpression"){var _ref17=expression,operator=_ref17.operator,argument=_ref17.argument;if(operator==="-"&&isNumber$1(argument,estree)){return true;}}return false;}function isUncomputedMemberExpressionChain(expression){if(expression.type==="Identifier")return true;if(expression.type!=="MemberExpression"||expression.computed){return false;}return isUncomputedMemberExpressionChain(expression.object);}var _templateObject$C;var PlaceholderErrors=ParseErrorEnum(_templateObject$C||(_templateObject$C=_taggedTemplateLiteralLoose(["placeholders"])))({ClassNameIsRequired:"A class name is required.",UnexpectedSpace:"Unexpected space in placeholder."});var placeholders=function placeholders(superClass){return function(_superClass){_inherits(PlaceholdersParserMixin,_superClass);function PlaceholdersParserMixin(){return _superClass.apply(this,arguments)||this;}var _proto=PlaceholdersParserMixin.prototype;_proto.parsePlaceholder=function parsePlaceholder(expectedNode){if(this.match(144)){var node=this.startNode();this.next();this.assertNoSpace();node.name=_superClass.prototype.parseIdentifier.call(this,true);this.assertNoSpace();this.expect(144);return this.finishPlaceholder(node,expectedNode);}};_proto.finishPlaceholder=function finishPlaceholder(node,expectedNode){var isFinished=!!(node.expectedNode&&node.type==="Placeholder");node.expectedNode=expectedNode;return isFinished?node:this.finishNode(node,"Placeholder");};_proto.getTokenFromCode=function getTokenFromCode(code){if(code===37&&this.input.charCodeAt(this.state.pos+1)===37){this.finishOp(144,2);}else{_superClass.prototype.getTokenFromCode.call(this,code);}};_proto.parseExprAtom=function parseExprAtom(refExpressionErrors){return this.parsePlaceholder("Expression")||_superClass.prototype.parseExprAtom.call(this,refExpressionErrors);};_proto.parseIdentifier=function parseIdentifier(liberal){return this.parsePlaceholder("Identifier")||_superClass.prototype.parseIdentifier.call(this,liberal);};_proto.checkReservedWord=function checkReservedWord(word,startLoc,checkKeywords,isBinding){if(word!==undefined){_superClass.prototype.checkReservedWord.call(this,word,startLoc,checkKeywords,isBinding);}};_proto.parseBindingAtom=function parseBindingAtom(){return this.parsePlaceholder("Pattern")||_superClass.prototype.parseBindingAtom.call(this);};_proto.isValidLVal=function isValidLVal(type,isParenthesized,binding){return type==="Placeholder"||_superClass.prototype.isValidLVal.call(this,type,isParenthesized,binding);};_proto.toAssignable=function toAssignable(node,isLHS){if(node&&node.type==="Placeholder"&&node.expectedNode==="Expression"){node.expectedNode="Pattern";}else{_superClass.prototype.toAssignable.call(this,node,isLHS);}};_proto.chStartsBindingIdentifier=function chStartsBindingIdentifier(ch,pos){if(_superClass.prototype.chStartsBindingIdentifier.call(this,ch,pos)){return true;}var nextToken=this.lookahead();if(nextToken.type===144){return true;}return false;};_proto.verifyBreakContinue=function verifyBreakContinue(node,isBreak){if(node.label&&node.label.type==="Placeholder")return;_superClass.prototype.verifyBreakContinue.call(this,node,isBreak);};_proto.parseExpressionStatement=function parseExpressionStatement(node,expr){var _expr$extra;if(expr.type!=="Placeholder"||(_expr$extra=expr.extra)!=null&&_expr$extra.parenthesized){return _superClass.prototype.parseExpressionStatement.call(this,node,expr);}if(this.match(14)){var stmt=node;stmt.label=this.finishPlaceholder(expr,"Identifier");this.next();stmt.body=_superClass.prototype.parseStatementOrSloppyAnnexBFunctionDeclaration.call(this);return this.finishNode(stmt,"LabeledStatement");}this.semicolon();node.name=expr.name;return this.finishPlaceholder(node,"Statement");};_proto.parseBlock=function parseBlock(allowDirectives,createNewLexicalScope,afterBlockParse){return this.parsePlaceholder("BlockStatement")||_superClass.prototype.parseBlock.call(this,allowDirectives,createNewLexicalScope,afterBlockParse);};_proto.parseFunctionId=function parseFunctionId(requireId){return this.parsePlaceholder("Identifier")||_superClass.prototype.parseFunctionId.call(this,requireId);};_proto.parseClass=function parseClass(node,isStatement,optionalId){var type=isStatement?"ClassDeclaration":"ClassExpression";this.next();var oldStrict=this.state.strict;var placeholder=this.parsePlaceholder("Identifier");if(placeholder){if(this.match(81)||this.match(144)||this.match(5)){node.id=placeholder;}else if(optionalId||!isStatement){node.id=null;node.body=this.finishPlaceholder(placeholder,"ClassBody");return this.finishNode(node,type);}else{throw this.raise(PlaceholderErrors.ClassNameIsRequired,this.state.startLoc);}}else{this.parseClassId(node,isStatement,optionalId);}_superClass.prototype.parseClassSuper.call(this,node);node.body=this.parsePlaceholder("ClassBody")||_superClass.prototype.parseClassBody.call(this,!!node.superClass,oldStrict);return this.finishNode(node,type);};_proto.parseExport=function parseExport(node,decorators){var placeholder=this.parsePlaceholder("Identifier");if(!placeholder)return _superClass.prototype.parseExport.call(this,node,decorators);if(!this.isContextual(98)&&!this.match(12)){node.specifiers=[];node.source=null;node.declaration=this.finishPlaceholder(placeholder,"Declaration");return this.finishNode(node,"ExportNamedDeclaration");}this.expectPlugin("exportDefaultFrom");var specifier=this.startNode();specifier.exported=placeholder;node.specifiers=[this.finishNode(specifier,"ExportDefaultSpecifier")];return _superClass.prototype.parseExport.call(this,node,decorators);};_proto.isExportDefaultSpecifier=function isExportDefaultSpecifier(){if(this.match(65)){var next=this.nextTokenStart();if(this.isUnparsedContextual(next,"from")){if(this.input.startsWith(tokenLabelName(144),this.nextTokenStartSince(next+4))){return true;}}}return _superClass.prototype.isExportDefaultSpecifier.call(this);};_proto.maybeParseExportDefaultSpecifier=function maybeParseExportDefaultSpecifier(node,maybeDefaultIdentifier){var _specifiers;if((_specifiers=node.specifiers)!=null&&_specifiers.length){return true;}return _superClass.prototype.maybeParseExportDefaultSpecifier.call(this,node,maybeDefaultIdentifier);};_proto.checkExport=function checkExport(node){var specifiers=node.specifiers;if(specifiers!=null&&specifiers.length){node.specifiers=specifiers.filter(function(node){return node.exported.type==="Placeholder";});}_superClass.prototype.checkExport.call(this,node);node.specifiers=specifiers;};_proto.parseImport=function parseImport(node){var placeholder=this.parsePlaceholder("Identifier");if(!placeholder)return _superClass.prototype.parseImport.call(this,node);node.specifiers=[];if(!this.isContextual(98)&&!this.match(12)){node.source=this.finishPlaceholder(placeholder,"StringLiteral");this.semicolon();return this.finishNode(node,"ImportDeclaration");}var specifier=this.startNodeAtNode(placeholder);specifier.local=placeholder;node.specifiers.push(this.finishNode(specifier,"ImportDefaultSpecifier"));if(this.eat(12)){var hasStarImport=this.maybeParseStarImportSpecifier(node);if(!hasStarImport)this.parseNamedImportSpecifiers(node);}this.expectContextual(98);node.source=this.parseImportSource();this.semicolon();return this.finishNode(node,"ImportDeclaration");};_proto.parseImportSource=function parseImportSource(){return this.parsePlaceholder("StringLiteral")||_superClass.prototype.parseImportSource.call(this);};_proto.assertNoSpace=function assertNoSpace(){if(this.state.start>this.state.lastTokEndLoc.index){this.raise(PlaceholderErrors.UnexpectedSpace,this.state.lastTokEndLoc);}};return _createClass(PlaceholdersParserMixin);}(superClass);};var v8intrinsic=function v8intrinsic(superClass){return function(_superClass){_inherits(V8IntrinsicMixin,_superClass);function V8IntrinsicMixin(){return _superClass.apply(this,arguments)||this;}var _proto=V8IntrinsicMixin.prototype;_proto.parseV8Intrinsic=function parseV8Intrinsic(){if(this.match(54)){var v8IntrinsicStartLoc=this.state.startLoc;var node=this.startNode();this.next();if(tokenIsIdentifier(this.state.type)){var name=this.parseIdentifierName();var identifier=this.createIdentifier(node,name);identifier.type="V8IntrinsicIdentifier";if(this.match(10)){return identifier;}}this.unexpected(v8IntrinsicStartLoc);}};_proto.parseExprAtom=function parseExprAtom(refExpressionErrors){return this.parseV8Intrinsic()||_superClass.prototype.parseExprAtom.call(this,refExpressionErrors);};return _createClass(V8IntrinsicMixin);}(superClass);};function hasPlugin(plugins,expectedConfig){var _ref=typeof expectedConfig==="string"?[expectedConfig,{}]:expectedConfig,expectedName=_ref[0],expectedOptions=_ref[1];var expectedKeys=Object.keys(expectedOptions);var expectedOptionsIsEmpty=expectedKeys.length===0;return plugins.some(function(p){if(typeof p==="string"){return expectedOptionsIsEmpty&&p===expectedName;}else{var pluginName=p[0],pluginOptions=p[1];if(pluginName!==expectedName){return false;}for(var _i2=0;_i2<expectedKeys.length;_i2++){var key=expectedKeys[_i2];if(pluginOptions[key]!==expectedOptions[key]){return false;}}return true;}});}function getPluginOption(plugins,name,option){var plugin=plugins.find(function(plugin){if(Array.isArray(plugin)){return plugin[0]===name;}else{return plugin===name;}});if(plugin&&Array.isArray(plugin)&&plugin.length>1){return plugin[1][option];}return null;}var PIPELINE_PROPOSALS$1=["minimal","fsharp","hack","smart"];var TOPIC_TOKENS$1=["^^","@@","^","%","#"];var RECORD_AND_TUPLE_SYNTAX_TYPES=["hash","bar"];function validatePlugins(plugins){if(hasPlugin(plugins,"decorators")){if(hasPlugin(plugins,"decorators-legacy")){throw new Error("Cannot use the decorators and decorators-legacy plugin together");}var decoratorsBeforeExport=getPluginOption(plugins,"decorators","decoratorsBeforeExport");if(decoratorsBeforeExport!=null&&typeof decoratorsBeforeExport!=="boolean"){throw new Error("'decoratorsBeforeExport' must be a boolean, if specified.");}var allowCallParenthesized=getPluginOption(plugins,"decorators","allowCallParenthesized");if(allowCallParenthesized!=null&&typeof allowCallParenthesized!=="boolean"){throw new Error("'allowCallParenthesized' must be a boolean.");}}if(hasPlugin(plugins,"flow")&&hasPlugin(plugins,"typescript")){throw new Error("Cannot combine flow and typescript plugins.");}if(hasPlugin(plugins,"placeholders")&&hasPlugin(plugins,"v8intrinsic")){throw new Error("Cannot combine placeholders and v8intrinsic plugins.");}if(hasPlugin(plugins,"pipelineOperator")){var proposal=getPluginOption(plugins,"pipelineOperator","proposal");if(!PIPELINE_PROPOSALS$1.includes(proposal)){var proposalList=PIPELINE_PROPOSALS$1.map(function(p){return"\""+p+"\"";}).join(", ");throw new Error("\"pipelineOperator\" requires \"proposal\" option whose value must be one of: "+proposalList+".");}var tupleSyntaxIsHash=hasPlugin(plugins,["recordAndTuple",{syntaxType:"hash"}]);if(proposal==="hack"){if(hasPlugin(plugins,"placeholders")){throw new Error("Cannot combine placeholders plugin and Hack-style pipes.");}if(hasPlugin(plugins,"v8intrinsic")){throw new Error("Cannot combine v8intrinsic plugin and Hack-style pipes.");}var topicToken=getPluginOption(plugins,"pipelineOperator","topicToken");if(!TOPIC_TOKENS$1.includes(topicToken)){var tokenList=TOPIC_TOKENS$1.map(function(t){return"\""+t+"\"";}).join(", ");throw new Error("\"pipelineOperator\" in \"proposal\": \"hack\" mode also requires a \"topicToken\" option whose value must be one of: "+tokenList+".");}if(topicToken==="#"&&tupleSyntaxIsHash){throw new Error('Plugin conflict between `["pipelineOperator", { proposal: "hack", topicToken: "#" }]` and `["recordAndtuple", { syntaxType: "hash"}]`.');}}else if(proposal==="smart"&&tupleSyntaxIsHash){throw new Error('Plugin conflict between `["pipelineOperator", { proposal: "smart" }]` and `["recordAndtuple", { syntaxType: "hash"}]`.');}}if(hasPlugin(plugins,"moduleAttributes")){{if(hasPlugin(plugins,"importAssertions")||hasPlugin(plugins,"importAttributes")){throw new Error("Cannot combine importAssertions, importAttributes and moduleAttributes plugins.");}var moduleAttributesVersionPluginOption=getPluginOption(plugins,"moduleAttributes","version");if(moduleAttributesVersionPluginOption!=="may-2020"){throw new Error("The 'moduleAttributes' plugin requires a 'version' option,"+" representing the last proposal update. Currently, the"+" only supported value is 'may-2020'.");}}}if(hasPlugin(plugins,"importAssertions")&&hasPlugin(plugins,"importAttributes")){throw new Error("Cannot combine importAssertions and importAttributes plugins.");}if(hasPlugin(plugins,"recordAndTuple")&&getPluginOption(plugins,"recordAndTuple","syntaxType")!=null&&!RECORD_AND_TUPLE_SYNTAX_TYPES.includes(getPluginOption(plugins,"recordAndTuple","syntaxType"))){throw new Error("The 'syntaxType' option of the 'recordAndTuple' plugin must be one of: "+RECORD_AND_TUPLE_SYNTAX_TYPES.map(function(p){return"'"+p+"'";}).join(", "));}if(hasPlugin(plugins,"asyncDoExpressions")&&!hasPlugin(plugins,"doExpressions")){var error=new Error("'asyncDoExpressions' requires 'doExpressions', please add 'doExpressions' to parser plugins.");error.missingPlugins="doExpressions";throw error;}if(hasPlugin(plugins,"optionalChainingAssign")&&getPluginOption(plugins,"optionalChainingAssign","version")!=="2023-07"){throw new Error("The 'optionalChainingAssign' plugin requires a 'version' option,"+" representing the last proposal update. Currently, the"+" only supported value is '2023-07'.");}}var mixinPlugins={estree:estree,jsx:jsx,flow:flow,typescript:typescript,v8intrinsic:v8intrinsic,placeholders:placeholders};var mixinPluginNames=Object.keys(mixinPlugins);var defaultOptions={sourceType:"script",sourceFilename:undefined,startColumn:0,startLine:1,allowAwaitOutsideFunction:false,allowReturnOutsideFunction:false,allowNewTargetOutsideFunction:false,allowImportExportEverywhere:false,allowSuperOutsideMethod:false,allowUndeclaredExports:false,plugins:[],strictMode:null,ranges:false,tokens:false,createImportExpressions:false,createParenthesizedExpressions:false,errorRecovery:false,attachComment:true,annexB:true};function getOptions(opts){if(opts==null){return Object.assign({},defaultOptions);}if(opts.annexB!=null&&opts.annexB!==false){throw new Error("The `annexB` option can only be set to `false`.");}var options={};for(var _i2=0,_Object$keys2=Object.keys(defaultOptions);_i2<_Object$keys2.length;_i2++){var _opts$key;var key=_Object$keys2[_i2];options[key]=(_opts$key=opts[key])!=null?_opts$key:defaultOptions[key];}return options;}var ExpressionParser=function(_LValParser){_inherits(ExpressionParser,_LValParser);function ExpressionParser(){return _LValParser.apply(this,arguments)||this;}var _proto=ExpressionParser.prototype;_proto.checkProto=function checkProto(prop,isRecord,protoRef,refExpressionErrors){if(prop.type==="SpreadElement"||this.isObjectMethod(prop)||prop.computed||prop.shorthand){return;}var key=prop.key;var name=key.type==="Identifier"?key.name:key.value;if(name==="__proto__"){if(isRecord){this.raise(Errors.RecordNoProto,key);return;}if(protoRef.used){if(refExpressionErrors){if(refExpressionErrors.doubleProtoLoc===null){refExpressionErrors.doubleProtoLoc=key.loc.start;}}else{this.raise(Errors.DuplicateProto,key);}}protoRef.used=true;}};_proto.shouldExitDescending=function shouldExitDescending(expr,potentialArrowAt){return expr.type==="ArrowFunctionExpression"&&expr.start===potentialArrowAt;};_proto.getExpression=function getExpression(){this.enterInitialScopes();this.nextToken();var expr=this.parseExpression();if(!this.match(139)){this.unexpected();}this.finalizeRemainingComments();expr.comments=this.comments;expr.errors=this.state.errors;if(this.options.tokens){expr.tokens=this.tokens;}return expr;};_proto.parseExpression=function parseExpression(disallowIn,refExpressionErrors){var _this=this;if(disallowIn){return this.disallowInAnd(function(){return _this.parseExpressionBase(refExpressionErrors);});}return this.allowInAnd(function(){return _this.parseExpressionBase(refExpressionErrors);});};_proto.parseExpressionBase=function parseExpressionBase(refExpressionErrors){var startLoc=this.state.startLoc;var expr=this.parseMaybeAssign(refExpressionErrors);if(this.match(12)){var _node=this.startNodeAt(startLoc);_node.expressions=[expr];while(this.eat(12)){_node.expressions.push(this.parseMaybeAssign(refExpressionErrors));}this.toReferencedList(_node.expressions);return this.finishNode(_node,"SequenceExpression");}return expr;};_proto.parseMaybeAssignDisallowIn=function parseMaybeAssignDisallowIn(refExpressionErrors,afterLeftParse){var _this2=this;return this.disallowInAnd(function(){return _this2.parseMaybeAssign(refExpressionErrors,afterLeftParse);});};_proto.parseMaybeAssignAllowIn=function parseMaybeAssignAllowIn(refExpressionErrors,afterLeftParse){var _this3=this;return this.allowInAnd(function(){return _this3.parseMaybeAssign(refExpressionErrors,afterLeftParse);});};_proto.setOptionalParametersError=function setOptionalParametersError(refExpressionErrors,resultError){var _resultError$loc;refExpressionErrors.optionalParametersLoc=(_resultError$loc=resultError==null?void 0:resultError.loc)!=null?_resultError$loc:this.state.startLoc;};_proto.parseMaybeAssign=function parseMaybeAssign(refExpressionErrors,afterLeftParse){var startLoc=this.state.startLoc;if(this.isContextual(108)){if(this.prodParam.hasYield){var _left=this.parseYield();if(afterLeftParse){_left=afterLeftParse.call(this,_left,startLoc);}return _left;}}var ownExpressionErrors;if(refExpressionErrors){ownExpressionErrors=false;}else{refExpressionErrors=new ExpressionErrors();ownExpressionErrors=true;}var type=this.state.type;if(type===10||tokenIsIdentifier(type)){this.state.potentialArrowAt=this.state.start;}var left=this.parseMaybeConditional(refExpressionErrors);if(afterLeftParse){left=afterLeftParse.call(this,left,startLoc);}if(tokenIsAssignment(this.state.type)){var _node2=this.startNodeAt(startLoc);var operator=this.state.value;_node2.operator=operator;if(this.match(29)){this.toAssignable(left,true);_node2.left=left;var startIndex=startLoc.index;if(refExpressionErrors.doubleProtoLoc!=null&&refExpressionErrors.doubleProtoLoc.index>=startIndex){refExpressionErrors.doubleProtoLoc=null;}if(refExpressionErrors.shorthandAssignLoc!=null&&refExpressionErrors.shorthandAssignLoc.index>=startIndex){refExpressionErrors.shorthandAssignLoc=null;}if(refExpressionErrors.privateKeyLoc!=null&&refExpressionErrors.privateKeyLoc.index>=startIndex){this.checkDestructuringPrivate(refExpressionErrors);refExpressionErrors.privateKeyLoc=null;}}else{_node2.left=left;}this.next();_node2.right=this.parseMaybeAssign();this.checkLVal(left,{"in":this.finishNode(_node2,"AssignmentExpression")});return _node2;}else if(ownExpressionErrors){this.checkExpressionErrors(refExpressionErrors,true);}return left;};_proto.parseMaybeConditional=function parseMaybeConditional(refExpressionErrors){var startLoc=this.state.startLoc;var potentialArrowAt=this.state.potentialArrowAt;var expr=this.parseExprOps(refExpressionErrors);if(this.shouldExitDescending(expr,potentialArrowAt)){return expr;}return this.parseConditional(expr,startLoc,refExpressionErrors);};_proto.parseConditional=function parseConditional(expr,startLoc,refExpressionErrors){if(this.eat(17)){var _node3=this.startNodeAt(startLoc);_node3.test=expr;_node3.consequent=this.parseMaybeAssignAllowIn();this.expect(14);_node3.alternate=this.parseMaybeAssign();return this.finishNode(_node3,"ConditionalExpression");}return expr;};_proto.parseMaybeUnaryOrPrivate=function parseMaybeUnaryOrPrivate(refExpressionErrors){return this.match(138)?this.parsePrivateName():this.parseMaybeUnary(refExpressionErrors);};_proto.parseExprOps=function parseExprOps(refExpressionErrors){var startLoc=this.state.startLoc;var potentialArrowAt=this.state.potentialArrowAt;var expr=this.parseMaybeUnaryOrPrivate(refExpressionErrors);if(this.shouldExitDescending(expr,potentialArrowAt)){return expr;}return this.parseExprOp(expr,startLoc,-1);};_proto.parseExprOp=function parseExprOp(left,leftStartLoc,minPrec){if(this.isPrivateName(left)){var value=this.getPrivateNameSV(left);if(minPrec>=tokenOperatorPrecedence(58)||!this.prodParam.hasIn||!this.match(58)){this.raise(Errors.PrivateInExpectedIn,left,{identifierName:value});}this.classScope.usePrivateName(value,left.loc.start);}var op=this.state.type;if(tokenIsOperator(op)&&(this.prodParam.hasIn||!this.match(58))){var prec=tokenOperatorPrecedence(op);if(prec>minPrec){if(op===39){this.expectPlugin("pipelineOperator");if(this.state.inFSharpPipelineDirectBody){return left;}this.checkPipelineAtInfixOperator(left,leftStartLoc);}var _node4=this.startNodeAt(leftStartLoc);_node4.left=left;_node4.operator=this.state.value;var logical=op===41||op===42;var coalesce=op===40;if(coalesce){prec=tokenOperatorPrecedence(42);}this.next();if(op===39&&this.hasPlugin(["pipelineOperator",{proposal:"minimal"}])){if(this.state.type===96&&this.prodParam.hasAwait){throw this.raise(Errors.UnexpectedAwaitAfterPipelineBody,this.state.startLoc);}}_node4.right=this.parseExprOpRightExpr(op,prec);var finishedNode=this.finishNode(_node4,logical||coalesce?"LogicalExpression":"BinaryExpression");var nextOp=this.state.type;if(coalesce&&(nextOp===41||nextOp===42)||logical&&nextOp===40){throw this.raise(Errors.MixingCoalesceWithLogical,this.state.startLoc);}return this.parseExprOp(finishedNode,leftStartLoc,minPrec);}}return left;};_proto.parseExprOpRightExpr=function parseExprOpRightExpr(op,prec){var _this4=this;var startLoc=this.state.startLoc;switch(op){case 39:switch(this.getPluginOption("pipelineOperator","proposal")){case"hack":return this.withTopicBindingContext(function(){return _this4.parseHackPipeBody();});case"smart":return this.withTopicBindingContext(function(){if(_this4.prodParam.hasYield&&_this4.isContextual(108)){throw _this4.raise(Errors.PipeBodyIsTighter,_this4.state.startLoc);}return _this4.parseSmartPipelineBodyInStyle(_this4.parseExprOpBaseRightExpr(op,prec),startLoc);});case"fsharp":return this.withSoloAwaitPermittingContext(function(){return _this4.parseFSharpPipelineBody(prec);});}default:return this.parseExprOpBaseRightExpr(op,prec);}};_proto.parseExprOpBaseRightExpr=function parseExprOpBaseRightExpr(op,prec){var startLoc=this.state.startLoc;return this.parseExprOp(this.parseMaybeUnaryOrPrivate(),startLoc,tokenIsRightAssociative(op)?prec-1:prec);};_proto.parseHackPipeBody=function parseHackPipeBody(){var _body$extra;var startLoc=this.state.startLoc;var body=this.parseMaybeAssign();var requiredParentheses=UnparenthesizedPipeBodyDescriptions.has(body.type);if(requiredParentheses&&!((_body$extra=body.extra)!=null&&_body$extra.parenthesized)){this.raise(Errors.PipeUnparenthesizedBody,startLoc,{type:body.type});}if(!this.topicReferenceWasUsedInCurrentContext()){this.raise(Errors.PipeTopicUnused,startLoc);}return body;};_proto.checkExponentialAfterUnary=function checkExponentialAfterUnary(node){if(this.match(57)){this.raise(Errors.UnexpectedTokenUnaryExponentiation,node.argument);}};_proto.parseMaybeUnary=function parseMaybeUnary(refExpressionErrors,sawUnary){var startLoc=this.state.startLoc;var isAwait=this.isContextual(96);if(isAwait&&this.isAwaitAllowed()){this.next();var _expr=this.parseAwait(startLoc);if(!sawUnary)this.checkExponentialAfterUnary(_expr);return _expr;}var update=this.match(34);var node=this.startNode();if(tokenIsPrefix(this.state.type)){node.operator=this.state.value;node.prefix=true;if(this.match(72)){this.expectPlugin("throwExpressions");}var isDelete=this.match(89);this.next();node.argument=this.parseMaybeUnary(null,true);this.checkExpressionErrors(refExpressionErrors,true);if(this.state.strict&&isDelete){var arg=node.argument;if(arg.type==="Identifier"){this.raise(Errors.StrictDelete,node);}else if(this.hasPropertyAsPrivateName(arg)){this.raise(Errors.DeletePrivateField,node);}}if(!update){if(!sawUnary){this.checkExponentialAfterUnary(node);}return this.finishNode(node,"UnaryExpression");}}var expr=this.parseUpdate(node,update,refExpressionErrors);if(isAwait){var type=this.state.type;var startsExpr=this.hasPlugin("v8intrinsic")?tokenCanStartExpression(type):tokenCanStartExpression(type)&&!this.match(54);if(startsExpr&&!this.isAmbiguousAwait()){this.raiseOverwrite(Errors.AwaitNotInAsyncContext,startLoc);return this.parseAwait(startLoc);}}return expr;};_proto.parseUpdate=function parseUpdate(node,update,refExpressionErrors){if(update){var updateExpressionNode=node;this.checkLVal(updateExpressionNode.argument,{"in":this.finishNode(updateExpressionNode,"UpdateExpression")});return node;}var startLoc=this.state.startLoc;var expr=this.parseExprSubscripts(refExpressionErrors);if(this.checkExpressionErrors(refExpressionErrors,false))return expr;while(tokenIsPostfix(this.state.type)&&!this.canInsertSemicolon()){var _node5=this.startNodeAt(startLoc);_node5.operator=this.state.value;_node5.prefix=false;_node5.argument=expr;this.next();this.checkLVal(expr,{"in":expr=this.finishNode(_node5,"UpdateExpression")});}return expr;};_proto.parseExprSubscripts=function parseExprSubscripts(refExpressionErrors){var startLoc=this.state.startLoc;var potentialArrowAt=this.state.potentialArrowAt;var expr=this.parseExprAtom(refExpressionErrors);if(this.shouldExitDescending(expr,potentialArrowAt)){return expr;}return this.parseSubscripts(expr,startLoc);};_proto.parseSubscripts=function parseSubscripts(base,startLoc,noCalls){var state={optionalChainMember:false,maybeAsyncArrow:this.atPossibleAsyncArrow(base),stop:false};do{base=this.parseSubscript(base,startLoc,noCalls,state);state.maybeAsyncArrow=false;}while(!state.stop);return base;};_proto.parseSubscript=function parseSubscript(base,startLoc,noCalls,state){var type=this.state.type;if(!noCalls&&type===15){return this.parseBind(base,startLoc,noCalls,state);}else if(tokenIsTemplate(type)){return this.parseTaggedTemplateExpression(base,startLoc,state);}var optional=false;if(type===18){if(noCalls){this.raise(Errors.OptionalChainingNoNew,this.state.startLoc);if(this.lookaheadCharCode()===40){state.stop=true;return base;}}state.optionalChainMember=optional=true;this.next();}if(!noCalls&&this.match(10)){return this.parseCoverCallAndAsyncArrowHead(base,startLoc,state,optional);}else{var computed=this.eat(0);if(computed||optional||this.eat(16)){return this.parseMember(base,startLoc,state,computed,optional);}else{state.stop=true;return base;}}};_proto.parseMember=function parseMember(base,startLoc,state,computed,optional){var node=this.startNodeAt(startLoc);node.object=base;node.computed=computed;if(computed){node.property=this.parseExpression();this.expect(3);}else if(this.match(138)){if(base.type==="Super"){this.raise(Errors.SuperPrivateField,startLoc);}this.classScope.usePrivateName(this.state.value,this.state.startLoc);node.property=this.parsePrivateName();}else{node.property=this.parseIdentifier(true);}if(state.optionalChainMember){node.optional=optional;return this.finishNode(node,"OptionalMemberExpression");}else{return this.finishNode(node,"MemberExpression");}};_proto.parseBind=function parseBind(base,startLoc,noCalls,state){var node=this.startNodeAt(startLoc);node.object=base;this.next();node.callee=this.parseNoCallExpr();state.stop=true;return this.parseSubscripts(this.finishNode(node,"BindExpression"),startLoc,noCalls);};_proto.parseCoverCallAndAsyncArrowHead=function parseCoverCallAndAsyncArrowHead(base,startLoc,state,optional){var oldMaybeInArrowParameters=this.state.maybeInArrowParameters;var refExpressionErrors=null;this.state.maybeInArrowParameters=true;this.next();var node=this.startNodeAt(startLoc);node.callee=base;var maybeAsyncArrow=state.maybeAsyncArrow,optionalChainMember=state.optionalChainMember;if(maybeAsyncArrow){this.expressionScope.enter(newAsyncArrowScope());refExpressionErrors=new ExpressionErrors();}if(optionalChainMember){node.optional=optional;}if(optional){node.arguments=this.parseCallExpressionArguments(11);}else{node.arguments=this.parseCallExpressionArguments(11,base.type==="Import",base.type!=="Super",node,refExpressionErrors);}var finishedNode=this.finishCallExpression(node,optionalChainMember);if(maybeAsyncArrow&&this.shouldParseAsyncArrow()&&!optional){state.stop=true;this.checkDestructuringPrivate(refExpressionErrors);this.expressionScope.validateAsPattern();this.expressionScope.exit();finishedNode=this.parseAsyncArrowFromCallExpression(this.startNodeAt(startLoc),finishedNode);}else{if(maybeAsyncArrow){this.checkExpressionErrors(refExpressionErrors,true);this.expressionScope.exit();}this.toReferencedArguments(finishedNode);}this.state.maybeInArrowParameters=oldMaybeInArrowParameters;return finishedNode;};_proto.toReferencedArguments=function toReferencedArguments(node,isParenthesizedExpr){this.toReferencedListDeep(node.arguments,isParenthesizedExpr);};_proto.parseTaggedTemplateExpression=function parseTaggedTemplateExpression(base,startLoc,state){var node=this.startNodeAt(startLoc);node.tag=base;node.quasi=this.parseTemplate(true);if(state.optionalChainMember){this.raise(Errors.OptionalChainingNoTemplate,startLoc);}return this.finishNode(node,"TaggedTemplateExpression");};_proto.atPossibleAsyncArrow=function atPossibleAsyncArrow(base){return base.type==="Identifier"&&base.name==="async"&&this.state.lastTokEndLoc.index===base.end&&!this.canInsertSemicolon()&&base.end-base.start===5&&base.start===this.state.potentialArrowAt;};_proto.expectImportAttributesPlugin=function expectImportAttributesPlugin(){if(!this.hasPlugin("importAssertions")){this.expectPlugin("importAttributes");}};_proto.finishCallExpression=function finishCallExpression(node,optional){if(node.callee.type==="Import"){if(node.arguments.length===2){{if(!this.hasPlugin("moduleAttributes")){this.expectImportAttributesPlugin();}}}if(node.arguments.length===0||node.arguments.length>2){this.raise(Errors.ImportCallArity,node,{maxArgumentCount:this.hasPlugin("importAttributes")||this.hasPlugin("importAssertions")||this.hasPlugin("moduleAttributes")?2:1});}else{for(var _i2=0,_node$arguments2=node.arguments;_i2<_node$arguments2.length;_i2++){var arg=_node$arguments2[_i2];if(arg.type==="SpreadElement"){this.raise(Errors.ImportCallSpreadArgument,arg);}}}}return this.finishNode(node,optional?"OptionalCallExpression":"CallExpression");};_proto.parseCallExpressionArguments=function parseCallExpressionArguments(close,dynamicImport,allowPlaceholder,nodeForExtra,refExpressionErrors){var elts=[];var first=true;var oldInFSharpPipelineDirectBody=this.state.inFSharpPipelineDirectBody;this.state.inFSharpPipelineDirectBody=false;while(!this.eat(close)){if(first){first=false;}else{this.expect(12);if(this.match(close)){if(dynamicImport&&!this.hasPlugin("importAttributes")&&!this.hasPlugin("importAssertions")&&!this.hasPlugin("moduleAttributes")){this.raise(Errors.ImportCallArgumentTrailingComma,this.state.lastTokStartLoc);}if(nodeForExtra){this.addTrailingCommaExtraToNode(nodeForExtra);}this.next();break;}}elts.push(this.parseExprListItem(false,refExpressionErrors,allowPlaceholder));}this.state.inFSharpPipelineDirectBody=oldInFSharpPipelineDirectBody;return elts;};_proto.shouldParseAsyncArrow=function shouldParseAsyncArrow(){return this.match(19)&&!this.canInsertSemicolon();};_proto.parseAsyncArrowFromCallExpression=function parseAsyncArrowFromCallExpression(node,call){var _call$extra;this.resetPreviousNodeTrailingComments(call);this.expect(19);this.parseArrowExpression(node,call.arguments,true,(_call$extra=call.extra)==null?void 0:_call$extra.trailingCommaLoc);if(call.innerComments){setInnerComments(node,call.innerComments);}if(call.callee.trailingComments){setInnerComments(node,call.callee.trailingComments);}return node;};_proto.parseNoCallExpr=function parseNoCallExpr(){var startLoc=this.state.startLoc;return this.parseSubscripts(this.parseExprAtom(),startLoc,true);};_proto.parseExprAtom=function parseExprAtom(refExpressionErrors){var node;var decorators=null;var type=this.state.type;switch(type){case 79:return this.parseSuper();case 83:node=this.startNode();this.next();if(this.match(16)){return this.parseImportMetaProperty(node);}if(this.match(10)){if(this.options.createImportExpressions){return this.parseImportCall(node);}else{return this.finishNode(node,"Import");}}else{this.raise(Errors.UnsupportedImport,this.state.lastTokStartLoc);return this.finishNode(node,"Import");}case 78:node=this.startNode();this.next();return this.finishNode(node,"ThisExpression");case 90:{return this.parseDo(this.startNode(),false);}case 56:case 31:{this.readRegexp();return this.parseRegExpLiteral(this.state.value);}case 134:return this.parseNumericLiteral(this.state.value);case 135:return this.parseBigIntLiteral(this.state.value);case 136:return this.parseDecimalLiteral(this.state.value);case 133:return this.parseStringLiteral(this.state.value);case 84:return this.parseNullLiteral();case 85:return this.parseBooleanLiteral(true);case 86:return this.parseBooleanLiteral(false);case 10:{var canBeArrow=this.state.potentialArrowAt===this.state.start;return this.parseParenAndDistinguishExpression(canBeArrow);}case 2:case 1:{return this.parseArrayLike(this.state.type===2?4:3,false,true);}case 0:{return this.parseArrayLike(3,true,false,refExpressionErrors);}case 6:case 7:{return this.parseObjectLike(this.state.type===6?9:8,false,true);}case 5:{return this.parseObjectLike(8,false,false,refExpressionErrors);}case 68:return this.parseFunctionOrFunctionSent();case 26:decorators=this.parseDecorators();case 80:return this.parseClass(this.maybeTakeDecorators(decorators,this.startNode()),false);case 77:return this.parseNewOrNewTarget();case 25:case 24:return this.parseTemplate(false);case 15:{node=this.startNode();this.next();node.object=null;var callee=node.callee=this.parseNoCallExpr();if(callee.type==="MemberExpression"){return this.finishNode(node,"BindExpression");}else{throw this.raise(Errors.UnsupportedBind,callee);}}case 138:{this.raise(Errors.PrivateInExpectedIn,this.state.startLoc,{identifierName:this.state.value});return this.parsePrivateName();}case 33:{return this.parseTopicReferenceThenEqualsSign(54,"%");}case 32:{return this.parseTopicReferenceThenEqualsSign(44,"^");}case 37:case 38:{return this.parseTopicReference("hack");}case 44:case 54:case 27:{var pipeProposal=this.getPluginOption("pipelineOperator","proposal");if(pipeProposal){return this.parseTopicReference(pipeProposal);}this.unexpected();break;}case 47:{var lookaheadCh=this.input.codePointAt(this.nextTokenStart());if(isIdentifierStart(lookaheadCh)||lookaheadCh===62){this.expectOnePlugin(["jsx","flow","typescript"]);}else{this.unexpected();}break;}default:if(tokenIsIdentifier(type)){if(this.isContextual(127)&&this.lookaheadInLineCharCode()===123){return this.parseModuleExpression();}var _canBeArrow=this.state.potentialArrowAt===this.state.start;var containsEsc=this.state.containsEsc;var id=this.parseIdentifier();if(!containsEsc&&id.name==="async"&&!this.canInsertSemicolon()){var _type=this.state.type;if(_type===68){this.resetPreviousNodeTrailingComments(id);this.next();return this.parseAsyncFunctionExpression(this.startNodeAtNode(id));}else if(tokenIsIdentifier(_type)){if(this.lookaheadCharCode()===61){return this.parseAsyncArrowUnaryFunction(this.startNodeAtNode(id));}else{return id;}}else if(_type===90){this.resetPreviousNodeTrailingComments(id);return this.parseDo(this.startNodeAtNode(id),true);}}if(_canBeArrow&&this.match(19)&&!this.canInsertSemicolon()){this.next();return this.parseArrowExpression(this.startNodeAtNode(id),[id],false);}return id;}else{this.unexpected();}}};_proto.parseTopicReferenceThenEqualsSign=function parseTopicReferenceThenEqualsSign(topicTokenType,topicTokenValue){var pipeProposal=this.getPluginOption("pipelineOperator","proposal");if(pipeProposal){this.state.type=topicTokenType;this.state.value=topicTokenValue;this.state.pos--;this.state.end--;this.state.endLoc=createPositionWithColumnOffset(this.state.endLoc,-1);return this.parseTopicReference(pipeProposal);}else{this.unexpected();}};_proto.parseTopicReference=function parseTopicReference(pipeProposal){var node=this.startNode();var startLoc=this.state.startLoc;var tokenType=this.state.type;this.next();return this.finishTopicReference(node,startLoc,pipeProposal,tokenType);};_proto.finishTopicReference=function finishTopicReference(node,startLoc,pipeProposal,tokenType){if(this.testTopicReferenceConfiguration(pipeProposal,startLoc,tokenType)){var nodeType=pipeProposal==="smart"?"PipelinePrimaryTopicReference":"TopicReference";if(!this.topicReferenceIsAllowedInCurrentContext()){this.raise(pipeProposal==="smart"?Errors.PrimaryTopicNotAllowed:Errors.PipeTopicUnbound,startLoc);}this.registerTopicReference();return this.finishNode(node,nodeType);}else{throw this.raise(Errors.PipeTopicUnconfiguredToken,startLoc,{token:tokenLabelName(tokenType)});}};_proto.testTopicReferenceConfiguration=function testTopicReferenceConfiguration(pipeProposal,startLoc,tokenType){switch(pipeProposal){case"hack":{return this.hasPlugin(["pipelineOperator",{topicToken:tokenLabelName(tokenType)}]);}case"smart":return tokenType===27;default:throw this.raise(Errors.PipeTopicRequiresHackPipes,startLoc);}};_proto.parseAsyncArrowUnaryFunction=function parseAsyncArrowUnaryFunction(node){this.prodParam.enter(functionFlags(true,this.prodParam.hasYield));var params=[this.parseIdentifier()];this.prodParam.exit();if(this.hasPrecedingLineBreak()){this.raise(Errors.LineTerminatorBeforeArrow,this.state.curPosition());}this.expect(19);return this.parseArrowExpression(node,params,true);};_proto.parseDo=function parseDo(node,isAsync){this.expectPlugin("doExpressions");if(isAsync){this.expectPlugin("asyncDoExpressions");}node.async=isAsync;this.next();var oldLabels=this.state.labels;this.state.labels=[];if(isAsync){this.prodParam.enter(ParamKind.PARAM_AWAIT);node.body=this.parseBlock();this.prodParam.exit();}else{node.body=this.parseBlock();}this.state.labels=oldLabels;return this.finishNode(node,"DoExpression");};_proto.parseSuper=function parseSuper(){var node=this.startNode();this.next();if(this.match(10)&&!this.scope.allowDirectSuper&&!this.options.allowSuperOutsideMethod){this.raise(Errors.SuperNotAllowed,node);}else if(!this.scope.allowSuper&&!this.options.allowSuperOutsideMethod){this.raise(Errors.UnexpectedSuper,node);}if(!this.match(10)&&!this.match(0)&&!this.match(16)){this.raise(Errors.UnsupportedSuper,node);}return this.finishNode(node,"Super");};_proto.parsePrivateName=function parsePrivateName(){var node=this.startNode();var id=this.startNodeAt(createPositionWithColumnOffset(this.state.startLoc,1));var name=this.state.value;this.next();node.id=this.createIdentifier(id,name);return this.finishNode(node,"PrivateName");};_proto.parseFunctionOrFunctionSent=function parseFunctionOrFunctionSent(){var node=this.startNode();this.next();if(this.prodParam.hasYield&&this.match(16)){var meta=this.createIdentifier(this.startNodeAtNode(node),"function");this.next();if(this.match(103)){this.expectPlugin("functionSent");}else if(!this.hasPlugin("functionSent")){this.unexpected();}return this.parseMetaProperty(node,meta,"sent");}return this.parseFunction(node);};_proto.parseMetaProperty=function parseMetaProperty(node,meta,propertyName){node.meta=meta;var containsEsc=this.state.containsEsc;node.property=this.parseIdentifier(true);if(node.property.name!==propertyName||containsEsc){this.raise(Errors.UnsupportedMetaProperty,node.property,{target:meta.name,onlyValidPropertyName:propertyName});}return this.finishNode(node,"MetaProperty");};_proto.parseImportMetaProperty=function parseImportMetaProperty(node){var id=this.createIdentifier(this.startNodeAtNode(node),"import");this.next();if(this.isContextual(101)){if(!this.inModule){this.raise(Errors.ImportMetaOutsideModule,id);}this.sawUnambiguousESM=true;}else if(this.isContextual(105)||this.isContextual(97)){var isSource=this.isContextual(105);if(!isSource)this.unexpected();this.expectPlugin(isSource?"sourcePhaseImports":"deferredImportEvaluation");if(!this.options.createImportExpressions){throw this.raise(Errors.DynamicImportPhaseRequiresImportExpressions,this.state.startLoc,{phase:this.state.value});}this.next();node.phase=isSource?"source":"defer";return this.parseImportCall(node);}return this.parseMetaProperty(node,id,"meta");};_proto.parseLiteralAtNode=function parseLiteralAtNode(value,type,node){this.addExtra(node,"rawValue",value);this.addExtra(node,"raw",this.input.slice(node.start,this.state.end));node.value=value;this.next();return this.finishNode(node,type);};_proto.parseLiteral=function parseLiteral(value,type){var node=this.startNode();return this.parseLiteralAtNode(value,type,node);};_proto.parseStringLiteral=function parseStringLiteral(value){return this.parseLiteral(value,"StringLiteral");};_proto.parseNumericLiteral=function parseNumericLiteral(value){return this.parseLiteral(value,"NumericLiteral");};_proto.parseBigIntLiteral=function parseBigIntLiteral(value){return this.parseLiteral(value,"BigIntLiteral");};_proto.parseDecimalLiteral=function parseDecimalLiteral(value){return this.parseLiteral(value,"DecimalLiteral");};_proto.parseRegExpLiteral=function parseRegExpLiteral(value){var node=this.parseLiteral(value.value,"RegExpLiteral");node.pattern=value.pattern;node.flags=value.flags;return node;};_proto.parseBooleanLiteral=function parseBooleanLiteral(value){var node=this.startNode();node.value=value;this.next();return this.finishNode(node,"BooleanLiteral");};_proto.parseNullLiteral=function parseNullLiteral(){var node=this.startNode();this.next();return this.finishNode(node,"NullLiteral");};_proto.parseParenAndDistinguishExpression=function parseParenAndDistinguishExpression(canBeArrow){var startLoc=this.state.startLoc;var val;this.next();this.expressionScope.enter(newArrowHeadScope());var oldMaybeInArrowParameters=this.state.maybeInArrowParameters;var oldInFSharpPipelineDirectBody=this.state.inFSharpPipelineDirectBody;this.state.maybeInArrowParameters=true;this.state.inFSharpPipelineDirectBody=false;var innerStartLoc=this.state.startLoc;var exprList=[];var refExpressionErrors=new ExpressionErrors();var first=true;var spreadStartLoc;var optionalCommaStartLoc;while(!this.match(11)){if(first){first=false;}else{this.expect(12,refExpressionErrors.optionalParametersLoc===null?null:refExpressionErrors.optionalParametersLoc);if(this.match(11)){optionalCommaStartLoc=this.state.startLoc;break;}}if(this.match(21)){var spreadNodeStartLoc=this.state.startLoc;spreadStartLoc=this.state.startLoc;exprList.push(this.parseParenItem(this.parseRestBinding(),spreadNodeStartLoc));if(!this.checkCommaAfterRest(41)){break;}}else{exprList.push(this.parseMaybeAssignAllowIn(refExpressionErrors,this.parseParenItem));}}var innerEndLoc=this.state.lastTokEndLoc;this.expect(11);this.state.maybeInArrowParameters=oldMaybeInArrowParameters;this.state.inFSharpPipelineDirectBody=oldInFSharpPipelineDirectBody;var arrowNode=this.startNodeAt(startLoc);if(canBeArrow&&this.shouldParseArrow(exprList)&&(arrowNode=this.parseArrow(arrowNode))){this.checkDestructuringPrivate(refExpressionErrors);this.expressionScope.validateAsPattern();this.expressionScope.exit();this.parseArrowExpression(arrowNode,exprList,false);return arrowNode;}this.expressionScope.exit();if(!exprList.length){this.unexpected(this.state.lastTokStartLoc);}if(optionalCommaStartLoc)this.unexpected(optionalCommaStartLoc);if(spreadStartLoc)this.unexpected(spreadStartLoc);this.checkExpressionErrors(refExpressionErrors,true);this.toReferencedListDeep(exprList,true);if(exprList.length>1){val=this.startNodeAt(innerStartLoc);val.expressions=exprList;this.finishNode(val,"SequenceExpression");this.resetEndLocation(val,innerEndLoc);}else{val=exprList[0];}return this.wrapParenthesis(startLoc,val);};_proto.wrapParenthesis=function wrapParenthesis(startLoc,expression){if(!this.options.createParenthesizedExpressions){this.addExtra(expression,"parenthesized",true);this.addExtra(expression,"parenStart",startLoc.index);this.takeSurroundingComments(expression,startLoc.index,this.state.lastTokEndLoc.index);return expression;}var parenExpression=this.startNodeAt(startLoc);parenExpression.expression=expression;return this.finishNode(parenExpression,"ParenthesizedExpression");};_proto.shouldParseArrow=function shouldParseArrow(params){return!this.canInsertSemicolon();};_proto.parseArrow=function parseArrow(node){if(this.eat(19)){return node;}};_proto.parseParenItem=function parseParenItem(node,startLoc){return node;};_proto.parseNewOrNewTarget=function parseNewOrNewTarget(){var node=this.startNode();this.next();if(this.match(16)){var meta=this.createIdentifier(this.startNodeAtNode(node),"new");this.next();var metaProp=this.parseMetaProperty(node,meta,"target");if(!this.scope.inNonArrowFunction&&!this.scope.inClass&&!this.options.allowNewTargetOutsideFunction){this.raise(Errors.UnexpectedNewTarget,metaProp);}return metaProp;}return this.parseNew(node);};_proto.parseNew=function parseNew(node){this.parseNewCallee(node);if(this.eat(10)){var args=this.parseExprList(11);this.toReferencedList(args);node.arguments=args;}else{node.arguments=[];}return this.finishNode(node,"NewExpression");};_proto.parseNewCallee=function parseNewCallee(node){var isImport=this.match(83);var callee=this.parseNoCallExpr();node.callee=callee;if(isImport&&(callee.type==="Import"||callee.type==="ImportExpression")){this.raise(Errors.ImportCallNotNewExpression,callee);}};_proto.parseTemplateElement=function parseTemplateElement(isTagged){var _this$state=this.state,start=_this$state.start,startLoc=_this$state.startLoc,end=_this$state.end,value=_this$state.value;var elemStart=start+1;var elem=this.startNodeAt(createPositionWithColumnOffset(startLoc,1));if(value===null){if(!isTagged){this.raise(Errors.InvalidEscapeSequenceTemplate,createPositionWithColumnOffset(this.state.firstInvalidTemplateEscapePos,1));}}var isTail=this.match(24);var endOffset=isTail?-1:-2;var elemEnd=end+endOffset;elem.value={raw:this.input.slice(elemStart,elemEnd).replace(/\r\n?/g,"\n"),cooked:value===null?null:value.slice(1,endOffset)};elem.tail=isTail;this.next();var finishedNode=this.finishNode(elem,"TemplateElement");this.resetEndLocation(finishedNode,createPositionWithColumnOffset(this.state.lastTokEndLoc,endOffset));return finishedNode;};_proto.parseTemplate=function parseTemplate(isTagged){var node=this.startNode();node.expressions=[];var curElt=this.parseTemplateElement(isTagged);node.quasis=[curElt];while(!curElt.tail){node.expressions.push(this.parseTemplateSubstitution());this.readTemplateContinuation();node.quasis.push(curElt=this.parseTemplateElement(isTagged));}return this.finishNode(node,"TemplateLiteral");};_proto.parseTemplateSubstitution=function parseTemplateSubstitution(){return this.parseExpression();};_proto.parseObjectLike=function parseObjectLike(close,isPattern,isRecord,refExpressionErrors){if(isRecord){this.expectPlugin("recordAndTuple");}var oldInFSharpPipelineDirectBody=this.state.inFSharpPipelineDirectBody;this.state.inFSharpPipelineDirectBody=false;var propHash=Object.create(null);var first=true;var node=this.startNode();node.properties=[];this.next();while(!this.match(close)){if(first){first=false;}else{this.expect(12);if(this.match(close)){this.addTrailingCommaExtraToNode(node);break;}}var prop=void 0;if(isPattern){prop=this.parseBindingProperty();}else{prop=this.parsePropertyDefinition(refExpressionErrors);this.checkProto(prop,isRecord,propHash,refExpressionErrors);}if(isRecord&&!this.isObjectProperty(prop)&&prop.type!=="SpreadElement"){this.raise(Errors.InvalidRecordProperty,prop);}if(prop.shorthand){this.addExtra(prop,"shorthand",true);}node.properties.push(prop);}this.next();this.state.inFSharpPipelineDirectBody=oldInFSharpPipelineDirectBody;var type="ObjectExpression";if(isPattern){type="ObjectPattern";}else if(isRecord){type="RecordExpression";}return this.finishNode(node,type);};_proto.addTrailingCommaExtraToNode=function addTrailingCommaExtraToNode(node){this.addExtra(node,"trailingComma",this.state.lastTokStartLoc.index);this.addExtra(node,"trailingCommaLoc",this.state.lastTokStartLoc,false);};_proto.maybeAsyncOrAccessorProp=function maybeAsyncOrAccessorProp(prop){return!prop.computed&&prop.key.type==="Identifier"&&(this.isLiteralPropertyName()||this.match(0)||this.match(55));};_proto.parsePropertyDefinition=function parsePropertyDefinition(refExpressionErrors){var decorators=[];if(this.match(26)){if(this.hasPlugin("decorators")){this.raise(Errors.UnsupportedPropertyDecorator,this.state.startLoc);}while(this.match(26)){decorators.push(this.parseDecorator());}}var prop=this.startNode();var isAsync=false;var isAccessor=false;var startLoc;if(this.match(21)){if(decorators.length)this.unexpected();return this.parseSpread();}if(decorators.length){prop.decorators=decorators;decorators=[];}prop.method=false;if(refExpressionErrors){startLoc=this.state.startLoc;}var isGenerator=this.eat(55);this.parsePropertyNamePrefixOperator(prop);var containsEsc=this.state.containsEsc;var key=this.parsePropertyName(prop,refExpressionErrors);if(!isGenerator&&!containsEsc&&this.maybeAsyncOrAccessorProp(prop)){var keyName=key.name;if(keyName==="async"&&!this.hasPrecedingLineBreak()){isAsync=true;this.resetPreviousNodeTrailingComments(key);isGenerator=this.eat(55);this.parsePropertyName(prop);}if(keyName==="get"||keyName==="set"){isAccessor=true;this.resetPreviousNodeTrailingComments(key);prop.kind=keyName;if(this.match(55)){isGenerator=true;this.raise(Errors.AccessorIsGenerator,this.state.curPosition(),{kind:keyName});this.next();}this.parsePropertyName(prop);}}return this.parseObjPropValue(prop,startLoc,isGenerator,isAsync,false,isAccessor,refExpressionErrors);};_proto.getGetterSetterExpectedParamCount=function getGetterSetterExpectedParamCount(method){return method.kind==="get"?0:1;};_proto.getObjectOrClassMethodParams=function getObjectOrClassMethodParams(method){return method.params;};_proto.checkGetterSetterParams=function checkGetterSetterParams(method){var _params;var paramCount=this.getGetterSetterExpectedParamCount(method);var params=this.getObjectOrClassMethodParams(method);if(params.length!==paramCount){this.raise(method.kind==="get"?Errors.BadGetterArity:Errors.BadSetterArity,method);}if(method.kind==="set"&&((_params=params[params.length-1])==null?void 0:_params.type)==="RestElement"){this.raise(Errors.BadSetterRestParameter,method);}};_proto.parseObjectMethod=function parseObjectMethod(prop,isGenerator,isAsync,isPattern,isAccessor){if(isAccessor){var finishedProp=this.parseMethod(prop,isGenerator,false,false,false,"ObjectMethod");this.checkGetterSetterParams(finishedProp);return finishedProp;}if(isAsync||isGenerator||this.match(10)){if(isPattern)this.unexpected();prop.kind="method";prop.method=true;return this.parseMethod(prop,isGenerator,isAsync,false,false,"ObjectMethod");}};_proto.parseObjectProperty=function parseObjectProperty(prop,startLoc,isPattern,refExpressionErrors){prop.shorthand=false;if(this.eat(14)){prop.value=isPattern?this.parseMaybeDefault(this.state.startLoc):this.parseMaybeAssignAllowIn(refExpressionErrors);return this.finishNode(prop,"ObjectProperty");}if(!prop.computed&&prop.key.type==="Identifier"){this.checkReservedWord(prop.key.name,prop.key.loc.start,true,false);if(isPattern){prop.value=this.parseMaybeDefault(startLoc,cloneIdentifier(prop.key));}else if(this.match(29)){var shorthandAssignLoc=this.state.startLoc;if(refExpressionErrors!=null){if(refExpressionErrors.shorthandAssignLoc===null){refExpressionErrors.shorthandAssignLoc=shorthandAssignLoc;}}else{this.raise(Errors.InvalidCoverInitializedName,shorthandAssignLoc);}prop.value=this.parseMaybeDefault(startLoc,cloneIdentifier(prop.key));}else{prop.value=cloneIdentifier(prop.key);}prop.shorthand=true;return this.finishNode(prop,"ObjectProperty");}};_proto.parseObjPropValue=function parseObjPropValue(prop,startLoc,isGenerator,isAsync,isPattern,isAccessor,refExpressionErrors){var node=this.parseObjectMethod(prop,isGenerator,isAsync,isPattern,isAccessor)||this.parseObjectProperty(prop,startLoc,isPattern,refExpressionErrors);if(!node)this.unexpected();return node;};_proto.parsePropertyName=function parsePropertyName(prop,refExpressionErrors){if(this.eat(0)){prop.computed=true;prop.key=this.parseMaybeAssignAllowIn();this.expect(3);}else{var _this$state2=this.state,type=_this$state2.type,value=_this$state2.value;var key;if(tokenIsKeywordOrIdentifier(type)){key=this.parseIdentifier(true);}else{switch(type){case 134:key=this.parseNumericLiteral(value);break;case 133:key=this.parseStringLiteral(value);break;case 135:key=this.parseBigIntLiteral(value);break;case 136:key=this.parseDecimalLiteral(value);break;case 138:{var privateKeyLoc=this.state.startLoc;if(refExpressionErrors!=null){if(refExpressionErrors.privateKeyLoc===null){refExpressionErrors.privateKeyLoc=privateKeyLoc;}}else{this.raise(Errors.UnexpectedPrivateField,privateKeyLoc);}key=this.parsePrivateName();break;}default:this.unexpected();}}prop.key=key;if(type!==138){prop.computed=false;}}return prop.key;};_proto.initFunction=function initFunction(node,isAsync){node.id=null;node.generator=false;node.async=isAsync;};_proto.parseMethod=function parseMethod(node,isGenerator,isAsync,isConstructor,allowDirectSuper,type,inClassScope){if(inClassScope===void 0){inClassScope=false;}this.initFunction(node,isAsync);node.generator=isGenerator;this.scope.enter(ScopeFlag.FUNCTION|ScopeFlag.SUPER|(inClassScope?ScopeFlag.CLASS:0)|(allowDirectSuper?ScopeFlag.DIRECT_SUPER:0));this.prodParam.enter(functionFlags(isAsync,node.generator));this.parseFunctionParams(node,isConstructor);var finishedNode=this.parseFunctionBodyAndFinish(node,type,true);this.prodParam.exit();this.scope.exit();return finishedNode;};_proto.parseArrayLike=function parseArrayLike(close,canBePattern,isTuple,refExpressionErrors){if(isTuple){this.expectPlugin("recordAndTuple");}var oldInFSharpPipelineDirectBody=this.state.inFSharpPipelineDirectBody;this.state.inFSharpPipelineDirectBody=false;var node=this.startNode();this.next();node.elements=this.parseExprList(close,!isTuple,refExpressionErrors,node);this.state.inFSharpPipelineDirectBody=oldInFSharpPipelineDirectBody;return this.finishNode(node,isTuple?"TupleExpression":"ArrayExpression");};_proto.parseArrowExpression=function parseArrowExpression(node,params,isAsync,trailingCommaLoc){this.scope.enter(ScopeFlag.FUNCTION|ScopeFlag.ARROW);var flags=functionFlags(isAsync,false);if(!this.match(5)&&this.prodParam.hasIn){flags|=ParamKind.PARAM_IN;}this.prodParam.enter(flags);this.initFunction(node,isAsync);var oldMaybeInArrowParameters=this.state.maybeInArrowParameters;if(params){this.state.maybeInArrowParameters=true;this.setArrowFunctionParameters(node,params,trailingCommaLoc);}this.state.maybeInArrowParameters=false;this.parseFunctionBody(node,true);this.prodParam.exit();this.scope.exit();this.state.maybeInArrowParameters=oldMaybeInArrowParameters;return this.finishNode(node,"ArrowFunctionExpression");};_proto.setArrowFunctionParameters=function setArrowFunctionParameters(node,params,trailingCommaLoc){this.toAssignableList(params,trailingCommaLoc,false);node.params=params;};_proto.parseFunctionBodyAndFinish=function parseFunctionBodyAndFinish(node,type,isMethod){if(isMethod===void 0){isMethod=false;}this.parseFunctionBody(node,false,isMethod);return this.finishNode(node,type);};_proto.parseFunctionBody=function parseFunctionBody(node,allowExpression,isMethod){var _this5=this;if(isMethod===void 0){isMethod=false;}var isExpression=allowExpression&&!this.match(5);this.expressionScope.enter(newExpressionScope());if(isExpression){node.body=this.parseMaybeAssign();this.checkParams(node,false,allowExpression,false);}else{var oldStrict=this.state.strict;var oldLabels=this.state.labels;this.state.labels=[];this.prodParam.enter(this.prodParam.currentFlags()|ParamKind.PARAM_RETURN);node.body=this.parseBlock(true,false,function(hasStrictModeDirective){var nonSimple=!_this5.isSimpleParamList(node.params);if(hasStrictModeDirective&&nonSimple){_this5.raise(Errors.IllegalLanguageModeDirective,(node.kind==="method"||node.kind==="constructor")&&!!node.key?node.key.loc.end:node);}var strictModeChanged=!oldStrict&&_this5.state.strict;_this5.checkParams(node,!_this5.state.strict&&!allowExpression&&!isMethod&&!nonSimple,allowExpression,strictModeChanged);if(_this5.state.strict&&node.id){_this5.checkIdentifier(node.id,BindingFlag.TYPE_OUTSIDE,strictModeChanged);}});this.prodParam.exit();this.state.labels=oldLabels;}this.expressionScope.exit();};_proto.isSimpleParameter=function isSimpleParameter(node){return node.type==="Identifier";};_proto.isSimpleParamList=function isSimpleParamList(params){for(var i=0,len=params.length;i<len;i++){if(!this.isSimpleParameter(params[i]))return false;}return true;};_proto.checkParams=function checkParams(node,allowDuplicates,isArrowFunction,strictModeChanged){if(strictModeChanged===void 0){strictModeChanged=true;}var checkClashes=!allowDuplicates&&new Set();var formalParameters={type:"FormalParameters"};for(var _i4=0,_node$params2=node.params;_i4<_node$params2.length;_i4++){var param=_node$params2[_i4];this.checkLVal(param,{"in":formalParameters,binding:BindingFlag.TYPE_VAR,checkClashes:checkClashes,strictModeChanged:strictModeChanged});}};_proto.parseExprList=function parseExprList(close,allowEmpty,refExpressionErrors,nodeForExtra){var elts=[];var first=true;while(!this.eat(close)){if(first){first=false;}else{this.expect(12);if(this.match(close)){if(nodeForExtra){this.addTrailingCommaExtraToNode(nodeForExtra);}this.next();break;}}elts.push(this.parseExprListItem(allowEmpty,refExpressionErrors));}return elts;};_proto.parseExprListItem=function parseExprListItem(allowEmpty,refExpressionErrors,allowPlaceholder){var elt;if(this.match(12)){if(!allowEmpty){this.raise(Errors.UnexpectedToken,this.state.curPosition(),{unexpected:","});}elt=null;}else if(this.match(21)){var spreadNodeStartLoc=this.state.startLoc;elt=this.parseParenItem(this.parseSpread(refExpressionErrors),spreadNodeStartLoc);}else if(this.match(17)){this.expectPlugin("partialApplication");if(!allowPlaceholder){this.raise(Errors.UnexpectedArgumentPlaceholder,this.state.startLoc);}var _node6=this.startNode();this.next();elt=this.finishNode(_node6,"ArgumentPlaceholder");}else{elt=this.parseMaybeAssignAllowIn(refExpressionErrors,this.parseParenItem);}return elt;};_proto.parseIdentifier=function parseIdentifier(liberal){var node=this.startNode();var name=this.parseIdentifierName(liberal);return this.createIdentifier(node,name);};_proto.createIdentifier=function createIdentifier(node,name){node.name=name;node.loc.identifierName=name;return this.finishNode(node,"Identifier");};_proto.parseIdentifierName=function parseIdentifierName(liberal){var name;var _this$state3=this.state,startLoc=_this$state3.startLoc,type=_this$state3.type;if(tokenIsKeywordOrIdentifier(type)){name=this.state.value;}else{this.unexpected();}var tokenIsKeyword=tokenKeywordOrIdentifierIsKeyword(type);if(liberal){if(tokenIsKeyword){this.replaceToken(132);}}else{this.checkReservedWord(name,startLoc,tokenIsKeyword,false);}this.next();return name;};_proto.checkReservedWord=function checkReservedWord(word,startLoc,checkKeywords,isBinding){if(word.length>10){return;}if(!canBeReservedWord(word)){return;}if(checkKeywords&&isKeyword(word)){this.raise(Errors.UnexpectedKeyword,startLoc,{keyword:word});return;}var reservedTest=!this.state.strict?isReservedWord:isBinding?isStrictBindReservedWord:isStrictReservedWord;if(reservedTest(word,this.inModule)){this.raise(Errors.UnexpectedReservedWord,startLoc,{reservedWord:word});return;}else if(word==="yield"){if(this.prodParam.hasYield){this.raise(Errors.YieldBindingIdentifier,startLoc);return;}}else if(word==="await"){if(this.prodParam.hasAwait){this.raise(Errors.AwaitBindingIdentifier,startLoc);return;}if(this.scope.inStaticBlock){this.raise(Errors.AwaitBindingIdentifierInStaticBlock,startLoc);return;}this.expressionScope.recordAsyncArrowParametersError(startLoc);}else if(word==="arguments"){if(this.scope.inClassAndNotInNonArrowFunction){this.raise(Errors.ArgumentsInClass,startLoc);return;}}};_proto.isAwaitAllowed=function isAwaitAllowed(){if(this.prodParam.hasAwait)return true;if(this.options.allowAwaitOutsideFunction&&!this.scope.inFunction){return true;}return false;};_proto.parseAwait=function parseAwait(startLoc){var node=this.startNodeAt(startLoc);this.expressionScope.recordParameterInitializerError(Errors.AwaitExpressionFormalParameter,node);if(this.eat(55)){this.raise(Errors.ObsoleteAwaitStar,node);}if(!this.scope.inFunction&&!this.options.allowAwaitOutsideFunction){if(this.isAmbiguousAwait()){this.ambiguousScriptDifferentAst=true;}else{this.sawUnambiguousESM=true;}}if(!this.state.soloAwait){node.argument=this.parseMaybeUnary(null,true);}return this.finishNode(node,"AwaitExpression");};_proto.isAmbiguousAwait=function isAmbiguousAwait(){if(this.hasPrecedingLineBreak())return true;var type=this.state.type;return type===53||type===10||type===0||tokenIsTemplate(type)||type===102&&!this.state.containsEsc||type===137||type===56||this.hasPlugin("v8intrinsic")&&type===54;};_proto.parseYield=function parseYield(){var node=this.startNode();this.expressionScope.recordParameterInitializerError(Errors.YieldInParameter,node);this.next();var delegating=false;var argument=null;if(!this.hasPrecedingLineBreak()){delegating=this.eat(55);switch(this.state.type){case 13:case 139:case 8:case 11:case 3:case 9:case 14:case 12:if(!delegating)break;default:argument=this.parseMaybeAssign();}}node.delegate=delegating;node.argument=argument;return this.finishNode(node,"YieldExpression");};_proto.parseImportCall=function parseImportCall(node){this.next();node.source=this.parseMaybeAssignAllowIn();if(this.hasPlugin("importAttributes")||this.hasPlugin("importAssertions")){node.options=null;}if(this.eat(12)){this.expectImportAttributesPlugin();if(!this.match(11)){node.options=this.parseMaybeAssignAllowIn();this.eat(12);}}this.expect(11);return this.finishNode(node,"ImportExpression");};_proto.checkPipelineAtInfixOperator=function checkPipelineAtInfixOperator(left,leftStartLoc){if(this.hasPlugin(["pipelineOperator",{proposal:"smart"}])){if(left.type==="SequenceExpression"){this.raise(Errors.PipelineHeadSequenceExpression,leftStartLoc);}}};_proto.parseSmartPipelineBodyInStyle=function parseSmartPipelineBodyInStyle(childExpr,startLoc){if(this.isSimpleReference(childExpr)){var bodyNode=this.startNodeAt(startLoc);bodyNode.callee=childExpr;return this.finishNode(bodyNode,"PipelineBareFunction");}else{var _bodyNode=this.startNodeAt(startLoc);this.checkSmartPipeTopicBodyEarlyErrors(startLoc);_bodyNode.expression=childExpr;return this.finishNode(_bodyNode,"PipelineTopicExpression");}};_proto.isSimpleReference=function isSimpleReference(expression){switch(expression.type){case"MemberExpression":return!expression.computed&&this.isSimpleReference(expression.object);case"Identifier":return true;default:return false;}};_proto.checkSmartPipeTopicBodyEarlyErrors=function checkSmartPipeTopicBodyEarlyErrors(startLoc){if(this.match(19)){throw this.raise(Errors.PipelineBodyNoArrow,this.state.startLoc);}if(!this.topicReferenceWasUsedInCurrentContext()){this.raise(Errors.PipelineTopicUnused,startLoc);}};_proto.withTopicBindingContext=function withTopicBindingContext(callback){var outerContextTopicState=this.state.topicContext;this.state.topicContext={maxNumOfResolvableTopics:1,maxTopicIndex:null};try{return callback();}finally{this.state.topicContext=outerContextTopicState;}};_proto.withSmartMixTopicForbiddingContext=function withSmartMixTopicForbiddingContext(callback){if(this.hasPlugin(["pipelineOperator",{proposal:"smart"}])){var outerContextTopicState=this.state.topicContext;this.state.topicContext={maxNumOfResolvableTopics:0,maxTopicIndex:null};try{return callback();}finally{this.state.topicContext=outerContextTopicState;}}else{return callback();}};_proto.withSoloAwaitPermittingContext=function withSoloAwaitPermittingContext(callback){var outerContextSoloAwaitState=this.state.soloAwait;this.state.soloAwait=true;try{return callback();}finally{this.state.soloAwait=outerContextSoloAwaitState;}};_proto.allowInAnd=function allowInAnd(callback){var flags=this.prodParam.currentFlags();var prodParamToSet=ParamKind.PARAM_IN&~flags;if(prodParamToSet){this.prodParam.enter(flags|ParamKind.PARAM_IN);try{return callback();}finally{this.prodParam.exit();}}return callback();};_proto.disallowInAnd=function disallowInAnd(callback){var flags=this.prodParam.currentFlags();var prodParamToClear=ParamKind.PARAM_IN&flags;if(prodParamToClear){this.prodParam.enter(flags&~ParamKind.PARAM_IN);try{return callback();}finally{this.prodParam.exit();}}return callback();};_proto.registerTopicReference=function registerTopicReference(){this.state.topicContext.maxTopicIndex=0;};_proto.topicReferenceIsAllowedInCurrentContext=function topicReferenceIsAllowedInCurrentContext(){return this.state.topicContext.maxNumOfResolvableTopics>=1;};_proto.topicReferenceWasUsedInCurrentContext=function topicReferenceWasUsedInCurrentContext(){return this.state.topicContext.maxTopicIndex!=null&&this.state.topicContext.maxTopicIndex>=0;};_proto.parseFSharpPipelineBody=function parseFSharpPipelineBody(prec){var startLoc=this.state.startLoc;this.state.potentialArrowAt=this.state.start;var oldInFSharpPipelineDirectBody=this.state.inFSharpPipelineDirectBody;this.state.inFSharpPipelineDirectBody=true;var ret=this.parseExprOp(this.parseMaybeUnaryOrPrivate(),startLoc,prec);this.state.inFSharpPipelineDirectBody=oldInFSharpPipelineDirectBody;return ret;};_proto.parseModuleExpression=function parseModuleExpression(){this.expectPlugin("moduleBlocks");var node=this.startNode();this.next();if(!this.match(5)){this.unexpected(null,5);}var program=this.startNodeAt(this.state.endLoc);this.next();var revertScopes=this.initializeScopes(true);this.enterInitialScopes();try{node.body=this.parseProgram(program,8,"module");}finally{revertScopes();}return this.finishNode(node,"ModuleExpression");};_proto.parsePropertyNamePrefixOperator=function parsePropertyNamePrefixOperator(prop){};return _createClass(ExpressionParser);}(LValParser);var loopLabel={kind:LoopLabelKind.Loop},switchLabel={kind:LoopLabelKind.Switch};var ParseFunctionFlag={Expression:0,Declaration:1,HangingDeclaration:2,NullableId:4,Async:8};var ParseStatementFlag={StatementOnly:0,AllowImportExport:1,AllowDeclaration:2,AllowFunctionDeclaration:4,AllowLabeledFunction:8};var loneSurrogate=/(?:[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])/;var keywordRelationalOperator=new RegExp("in(?:stanceof)?","y");function babel7CompatTokens(tokens,input){for(var i=0;i<tokens.length;i++){var token=tokens[i];var type=token.type;if(typeof type==="number"){{if(type===138){var loc=token.loc,start=token.start,value=token.value,end=token.end;var hashEndPos=start+1;var hashEndLoc=createPositionWithColumnOffset(loc.start,1);tokens.splice(i,1,new Token({type:getExportedToken(27),value:"#",start:start,end:hashEndPos,startLoc:loc.start,endLoc:hashEndLoc}),new Token({type:getExportedToken(132),value:value,start:hashEndPos,end:end,startLoc:hashEndLoc,endLoc:loc.end}));i++;continue;}if(tokenIsTemplate(type)){var _loc=token.loc,_start=token.start,_value=token.value,_end=token.end;var backquoteEnd=_start+1;var backquoteEndLoc=createPositionWithColumnOffset(_loc.start,1);var startToken=void 0;if(input.charCodeAt(_start)===96){startToken=new Token({type:getExportedToken(22),value:"`",start:_start,end:backquoteEnd,startLoc:_loc.start,endLoc:backquoteEndLoc});}else{startToken=new Token({type:getExportedToken(8),value:"}",start:_start,end:backquoteEnd,startLoc:_loc.start,endLoc:backquoteEndLoc});}var templateValue=void 0,templateElementEnd=void 0,templateElementEndLoc=void 0,endToken=void 0;if(type===24){templateElementEnd=_end-1;templateElementEndLoc=createPositionWithColumnOffset(_loc.end,-1);templateValue=_value===null?null:_value.slice(1,-1);endToken=new Token({type:getExportedToken(22),value:"`",start:templateElementEnd,end:_end,startLoc:templateElementEndLoc,endLoc:_loc.end});}else{templateElementEnd=_end-2;templateElementEndLoc=createPositionWithColumnOffset(_loc.end,-2);templateValue=_value===null?null:_value.slice(1,-2);endToken=new Token({type:getExportedToken(23),value:"${",start:templateElementEnd,end:_end,startLoc:templateElementEndLoc,endLoc:_loc.end});}tokens.splice(i,1,startToken,new Token({type:getExportedToken(20),value:templateValue,start:backquoteEnd,end:templateElementEnd,startLoc:backquoteEndLoc,endLoc:templateElementEndLoc}),endToken);i+=2;continue;}}token.type=getExportedToken(type);}}return tokens;}var StatementParser=function(_ExpressionParser){_inherits(StatementParser,_ExpressionParser);function StatementParser(){return _ExpressionParser.apply(this,arguments)||this;}var _proto=StatementParser.prototype;_proto.parseTopLevel=function parseTopLevel(file,program){file.program=this.parseProgram(program);file.comments=this.comments;if(this.options.tokens){file.tokens=babel7CompatTokens(this.tokens,this.input);}return this.finishNode(file,"File");};_proto.parseProgram=function parseProgram(program,end,sourceType){if(end===void 0){end=139;}if(sourceType===void 0){sourceType=this.options.sourceType;}program.sourceType=sourceType;program.interpreter=this.parseInterpreterDirective();this.parseBlockBody(program,true,true,end);if(this.inModule&&!this.options.allowUndeclaredExports&&this.scope.undefinedExports.size>0){for(var _i2=0,_Array$from2=Array.from(this.scope.undefinedExports);_i2<_Array$from2.length;_i2++){var _Array$from2$_i=_Array$from2[_i2],localName=_Array$from2$_i[0],at=_Array$from2$_i[1];this.raise(Errors.ModuleExportUndefined,at,{localName:localName});}}var finishedProgram;if(end===139){finishedProgram=this.finishNode(program,"Program");}else{finishedProgram=this.finishNodeAt(program,"Program",createPositionWithColumnOffset(this.state.startLoc,-1));}return finishedProgram;};_proto.stmtToDirective=function stmtToDirective(stmt){var directive=stmt;directive.type="Directive";directive.value=directive.expression;delete directive.expression;var directiveLiteral=directive.value;var expressionValue=directiveLiteral.value;var raw=this.input.slice(directiveLiteral.start,directiveLiteral.end);var val=directiveLiteral.value=raw.slice(1,-1);this.addExtra(directiveLiteral,"raw",raw);this.addExtra(directiveLiteral,"rawValue",val);this.addExtra(directiveLiteral,"expressionValue",expressionValue);directiveLiteral.type="DirectiveLiteral";return directive;};_proto.parseInterpreterDirective=function parseInterpreterDirective(){if(!this.match(28)){return null;}var node=this.startNode();node.value=this.state.value;this.next();return this.finishNode(node,"InterpreterDirective");};_proto.isLet=function isLet(){if(!this.isContextual(100)){return false;}return this.hasFollowingBindingAtom();};_proto.chStartsBindingIdentifier=function chStartsBindingIdentifier(ch,pos){if(isIdentifierStart(ch)){keywordRelationalOperator.lastIndex=pos;if(keywordRelationalOperator.test(this.input)){var endCh=this.codePointAtPos(keywordRelationalOperator.lastIndex);if(!isIdentifierChar(endCh)&&endCh!==92){return false;}}return true;}else if(ch===92){return true;}else{return false;}};_proto.chStartsBindingPattern=function chStartsBindingPattern(ch){return ch===91||ch===123;};_proto.hasFollowingBindingAtom=function hasFollowingBindingAtom(){var next=this.nextTokenStart();var nextCh=this.codePointAtPos(next);return this.chStartsBindingPattern(nextCh)||this.chStartsBindingIdentifier(nextCh,next);};_proto.hasInLineFollowingBindingIdentifier=function hasInLineFollowingBindingIdentifier(){var next=this.nextTokenInLineStart();var nextCh=this.codePointAtPos(next);return this.chStartsBindingIdentifier(nextCh,next);};_proto.startsUsingForOf=function startsUsingForOf(){var _this$lookahead=this.lookahead(),type=_this$lookahead.type,containsEsc=_this$lookahead.containsEsc;if(type===102&&!containsEsc){return false;}else if(tokenIsIdentifier(type)&&!this.hasFollowingLineBreak()){this.expectPlugin("explicitResourceManagement");return true;}};_proto.startsAwaitUsing=function startsAwaitUsing(){var next=this.nextTokenInLineStart();if(this.isUnparsedContextual(next,"using")){next=this.nextTokenInLineStartSince(next+5);var nextCh=this.codePointAtPos(next);if(this.chStartsBindingIdentifier(nextCh,next)){this.expectPlugin("explicitResourceManagement");return true;}}return false;};_proto.parseModuleItem=function parseModuleItem(){return this.parseStatementLike(ParseStatementFlag.AllowImportExport|ParseStatementFlag.AllowDeclaration|ParseStatementFlag.AllowFunctionDeclaration|ParseStatementFlag.AllowLabeledFunction);};_proto.parseStatementListItem=function parseStatementListItem(){return this.parseStatementLike(ParseStatementFlag.AllowDeclaration|ParseStatementFlag.AllowFunctionDeclaration|(!this.options.annexB||this.state.strict?0:ParseStatementFlag.AllowLabeledFunction));};_proto.parseStatementOrSloppyAnnexBFunctionDeclaration=function parseStatementOrSloppyAnnexBFunctionDeclaration(allowLabeledFunction){if(allowLabeledFunction===void 0){allowLabeledFunction=false;}var flags=ParseStatementFlag.StatementOnly;if(this.options.annexB&&!this.state.strict){flags|=ParseStatementFlag.AllowFunctionDeclaration;if(allowLabeledFunction){flags|=ParseStatementFlag.AllowLabeledFunction;}}return this.parseStatementLike(flags);};_proto.parseStatement=function parseStatement(){return this.parseStatementLike(ParseStatementFlag.StatementOnly);};_proto.parseStatementLike=function parseStatementLike(flags){var decorators=null;if(this.match(26)){decorators=this.parseDecorators(true);}return this.parseStatementContent(flags,decorators);};_proto.parseStatementContent=function parseStatementContent(flags,decorators){var starttype=this.state.type;var node=this.startNode();var allowDeclaration=!!(flags&ParseStatementFlag.AllowDeclaration);var allowFunctionDeclaration=!!(flags&ParseStatementFlag.AllowFunctionDeclaration);var topLevel=flags&ParseStatementFlag.AllowImportExport;switch(starttype){case 60:return this.parseBreakContinueStatement(node,true);case 63:return this.parseBreakContinueStatement(node,false);case 64:return this.parseDebuggerStatement(node);case 90:return this.parseDoWhileStatement(node);case 91:return this.parseForStatement(node);case 68:if(this.lookaheadCharCode()===46)break;if(!allowFunctionDeclaration){this.raise(this.state.strict?Errors.StrictFunction:this.options.annexB?Errors.SloppyFunctionAnnexB:Errors.SloppyFunction,this.state.startLoc);}return this.parseFunctionStatement(node,false,!allowDeclaration&&allowFunctionDeclaration);case 80:if(!allowDeclaration)this.unexpected();return this.parseClass(this.maybeTakeDecorators(decorators,node),true);case 69:return this.parseIfStatement(node);case 70:return this.parseReturnStatement(node);case 71:return this.parseSwitchStatement(node);case 72:return this.parseThrowStatement(node);case 73:return this.parseTryStatement(node);case 96:if(!this.state.containsEsc&&this.startsAwaitUsing()){if(!this.isAwaitAllowed()){this.raise(Errors.AwaitUsingNotInAsyncContext,node);}else if(!allowDeclaration){this.raise(Errors.UnexpectedLexicalDeclaration,node);}this.next();return this.parseVarStatement(node,"await using");}break;case 107:if(this.state.containsEsc||!this.hasInLineFollowingBindingIdentifier()){break;}this.expectPlugin("explicitResourceManagement");if(!this.scope.inModule&&this.scope.inTopLevel){this.raise(Errors.UnexpectedUsingDeclaration,this.state.startLoc);}else if(!allowDeclaration){this.raise(Errors.UnexpectedLexicalDeclaration,this.state.startLoc);}return this.parseVarStatement(node,"using");case 100:{if(this.state.containsEsc){break;}var next=this.nextTokenStart();var nextCh=this.codePointAtPos(next);if(nextCh!==91){if(!allowDeclaration&&this.hasFollowingLineBreak())break;if(!this.chStartsBindingIdentifier(nextCh,next)&&nextCh!==123){break;}}}case 75:{if(!allowDeclaration){this.raise(Errors.UnexpectedLexicalDeclaration,this.state.startLoc);}}case 74:{var kind=this.state.value;return this.parseVarStatement(node,kind);}case 92:return this.parseWhileStatement(node);case 76:return this.parseWithStatement(node);case 5:return this.parseBlock();case 13:return this.parseEmptyStatement(node);case 83:{var nextTokenCharCode=this.lookaheadCharCode();if(nextTokenCharCode===40||nextTokenCharCode===46){break;}}case 82:{if(!this.options.allowImportExportEverywhere&&!topLevel){this.raise(Errors.UnexpectedImportExport,this.state.startLoc);}this.next();var result;if(starttype===83){result=this.parseImport(node);if(result.type==="ImportDeclaration"&&(!result.importKind||result.importKind==="value")){this.sawUnambiguousESM=true;}}else{result=this.parseExport(node,decorators);if(result.type==="ExportNamedDeclaration"&&(!result.exportKind||result.exportKind==="value")||result.type==="ExportAllDeclaration"&&(!result.exportKind||result.exportKind==="value")||result.type==="ExportDefaultDeclaration"){this.sawUnambiguousESM=true;}}this.assertModuleNodeAllowed(result);return result;}default:{if(this.isAsyncFunction()){if(!allowDeclaration){this.raise(Errors.AsyncFunctionInSingleStatementContext,this.state.startLoc);}this.next();return this.parseFunctionStatement(node,true,!allowDeclaration&&allowFunctionDeclaration);}}}var maybeName=this.state.value;var expr=this.parseExpression();if(tokenIsIdentifier(starttype)&&expr.type==="Identifier"&&this.eat(14)){return this.parseLabeledStatement(node,maybeName,expr,flags);}else{return this.parseExpressionStatement(node,expr,decorators);}};_proto.assertModuleNodeAllowed=function assertModuleNodeAllowed(node){if(!this.options.allowImportExportEverywhere&&!this.inModule){this.raise(Errors.ImportOutsideModule,node);}};_proto.decoratorsEnabledBeforeExport=function decoratorsEnabledBeforeExport(){if(this.hasPlugin("decorators-legacy"))return true;return this.hasPlugin("decorators")&&this.getPluginOption("decorators","decoratorsBeforeExport")!==false;};_proto.maybeTakeDecorators=function maybeTakeDecorators(maybeDecorators,classNode,exportNode){if(maybeDecorators){if(classNode.decorators&&classNode.decorators.length>0){var _classNode$decorators;if(typeof this.getPluginOption("decorators","decoratorsBeforeExport")!=="boolean"){this.raise(Errors.DecoratorsBeforeAfterExport,classNode.decorators[0]);}(_classNode$decorators=classNode.decorators).unshift.apply(_classNode$decorators,maybeDecorators);}else{classNode.decorators=maybeDecorators;}this.resetStartLocationFromNode(classNode,maybeDecorators[0]);if(exportNode)this.resetStartLocationFromNode(exportNode,classNode);}return classNode;};_proto.canHaveLeadingDecorator=function canHaveLeadingDecorator(){return this.match(80);};_proto.parseDecorators=function parseDecorators(allowExport){var decorators=[];do{decorators.push(this.parseDecorator());}while(this.match(26));if(this.match(82)){if(!allowExport){this.unexpected();}if(!this.decoratorsEnabledBeforeExport()){this.raise(Errors.DecoratorExportClass,this.state.startLoc);}}else if(!this.canHaveLeadingDecorator()){throw this.raise(Errors.UnexpectedLeadingDecorator,this.state.startLoc);}return decorators;};_proto.parseDecorator=function parseDecorator(){this.expectOnePlugin(["decorators","decorators-legacy"]);var node=this.startNode();this.next();if(this.hasPlugin("decorators")){var startLoc=this.state.startLoc;var expr;if(this.match(10)){var _startLoc=this.state.startLoc;this.next();expr=this.parseExpression();this.expect(11);expr=this.wrapParenthesis(_startLoc,expr);var paramsStartLoc=this.state.startLoc;node.expression=this.parseMaybeDecoratorArguments(expr);if(this.getPluginOption("decorators","allowCallParenthesized")===false&&node.expression!==expr){this.raise(Errors.DecoratorArgumentsOutsideParentheses,paramsStartLoc);}}else{expr=this.parseIdentifier(false);while(this.eat(16)){var _node=this.startNodeAt(startLoc);_node.object=expr;if(this.match(138)){this.classScope.usePrivateName(this.state.value,this.state.startLoc);_node.property=this.parsePrivateName();}else{_node.property=this.parseIdentifier(true);}_node.computed=false;expr=this.finishNode(_node,"MemberExpression");}node.expression=this.parseMaybeDecoratorArguments(expr);}}else{node.expression=this.parseExprSubscripts();}return this.finishNode(node,"Decorator");};_proto.parseMaybeDecoratorArguments=function parseMaybeDecoratorArguments(expr){if(this.eat(10)){var _node2=this.startNodeAtNode(expr);_node2.callee=expr;_node2.arguments=this.parseCallExpressionArguments(11,false);this.toReferencedList(_node2.arguments);return this.finishNode(_node2,"CallExpression");}return expr;};_proto.parseBreakContinueStatement=function parseBreakContinueStatement(node,isBreak){this.next();if(this.isLineTerminator()){node.label=null;}else{node.label=this.parseIdentifier();this.semicolon();}this.verifyBreakContinue(node,isBreak);return this.finishNode(node,isBreak?"BreakStatement":"ContinueStatement");};_proto.verifyBreakContinue=function verifyBreakContinue(node,isBreak){var i;for(i=0;i<this.state.labels.length;++i){var lab=this.state.labels[i];if(node.label==null||lab.name===node.label.name){if(lab.kind!=null&&(isBreak||lab.kind===LoopLabelKind.Loop)){break;}if(node.label&&isBreak)break;}}if(i===this.state.labels.length){var type=isBreak?"BreakStatement":"ContinueStatement";this.raise(Errors.IllegalBreakContinue,node,{type:type});}};_proto.parseDebuggerStatement=function parseDebuggerStatement(node){this.next();this.semicolon();return this.finishNode(node,"DebuggerStatement");};_proto.parseHeaderExpression=function parseHeaderExpression(){this.expect(10);var val=this.parseExpression();this.expect(11);return val;};_proto.parseDoWhileStatement=function parseDoWhileStatement(node){var _this=this;this.next();this.state.labels.push(loopLabel);node.body=this.withSmartMixTopicForbiddingContext(function(){return _this.parseStatement();});this.state.labels.pop();this.expect(92);node.test=this.parseHeaderExpression();this.eat(13);return this.finishNode(node,"DoWhileStatement");};_proto.parseForStatement=function parseForStatement(node){this.next();this.state.labels.push(loopLabel);var awaitAt=null;if(this.isAwaitAllowed()&&this.eatContextual(96)){awaitAt=this.state.lastTokStartLoc;}this.scope.enter(ScopeFlag.OTHER);this.expect(10);if(this.match(13)){if(awaitAt!==null){this.unexpected(awaitAt);}return this.parseFor(node,null);}var startsWithLet=this.isContextual(100);{var startsWithAwaitUsing=this.isContextual(96)&&this.startsAwaitUsing();var starsWithUsingDeclaration=startsWithAwaitUsing||this.isContextual(107)&&this.startsUsingForOf();var isLetOrUsing=startsWithLet&&this.hasFollowingBindingAtom()||starsWithUsingDeclaration;if(this.match(74)||this.match(75)||isLetOrUsing){var initNode=this.startNode();var kind;if(startsWithAwaitUsing){kind="await using";if(!this.isAwaitAllowed()){this.raise(Errors.AwaitUsingNotInAsyncContext,this.state.startLoc);}this.next();}else{kind=this.state.value;}this.next();this.parseVar(initNode,true,kind);var _init=this.finishNode(initNode,"VariableDeclaration");var isForIn=this.match(58);if(isForIn&&starsWithUsingDeclaration){this.raise(Errors.ForInUsing,_init);}if((isForIn||this.isContextual(102))&&_init.declarations.length===1){return this.parseForIn(node,_init,awaitAt);}if(awaitAt!==null){this.unexpected(awaitAt);}return this.parseFor(node,_init);}}var startsWithAsync=this.isContextual(95);var refExpressionErrors=new ExpressionErrors();var init=this.parseExpression(true,refExpressionErrors);var isForOf=this.isContextual(102);if(isForOf){if(startsWithLet){this.raise(Errors.ForOfLet,init);}if(awaitAt===null&&startsWithAsync&&init.type==="Identifier"){this.raise(Errors.ForOfAsync,init);}}if(isForOf||this.match(58)){this.checkDestructuringPrivate(refExpressionErrors);this.toAssignable(init,true);var type=isForOf?"ForOfStatement":"ForInStatement";this.checkLVal(init,{"in":{type:type}});return this.parseForIn(node,init,awaitAt);}else{this.checkExpressionErrors(refExpressionErrors,true);}if(awaitAt!==null){this.unexpected(awaitAt);}return this.parseFor(node,init);};_proto.parseFunctionStatement=function parseFunctionStatement(node,isAsync,isHangingDeclaration){this.next();return this.parseFunction(node,ParseFunctionFlag.Declaration|(isHangingDeclaration?ParseFunctionFlag.HangingDeclaration:0)|(isAsync?ParseFunctionFlag.Async:0));};_proto.parseIfStatement=function parseIfStatement(node){this.next();node.test=this.parseHeaderExpression();node.consequent=this.parseStatementOrSloppyAnnexBFunctionDeclaration();node.alternate=this.eat(66)?this.parseStatementOrSloppyAnnexBFunctionDeclaration():null;return this.finishNode(node,"IfStatement");};_proto.parseReturnStatement=function parseReturnStatement(node){if(!this.prodParam.hasReturn&&!this.options.allowReturnOutsideFunction){this.raise(Errors.IllegalReturn,this.state.startLoc);}this.next();if(this.isLineTerminator()){node.argument=null;}else{node.argument=this.parseExpression();this.semicolon();}return this.finishNode(node,"ReturnStatement");};_proto.parseSwitchStatement=function parseSwitchStatement(node){this.next();node.discriminant=this.parseHeaderExpression();var cases=node.cases=[];this.expect(5);this.state.labels.push(switchLabel);this.scope.enter(ScopeFlag.OTHER);var cur;for(var sawDefault;!this.match(8);){if(this.match(61)||this.match(65)){var isCase=this.match(61);if(cur)this.finishNode(cur,"SwitchCase");cases.push(cur=this.startNode());cur.consequent=[];this.next();if(isCase){cur.test=this.parseExpression();}else{if(sawDefault){this.raise(Errors.MultipleDefaultsInSwitch,this.state.lastTokStartLoc);}sawDefault=true;cur.test=null;}this.expect(14);}else{if(cur){cur.consequent.push(this.parseStatementListItem());}else{this.unexpected();}}}this.scope.exit();if(cur)this.finishNode(cur,"SwitchCase");this.next();this.state.labels.pop();return this.finishNode(node,"SwitchStatement");};_proto.parseThrowStatement=function parseThrowStatement(node){this.next();if(this.hasPrecedingLineBreak()){this.raise(Errors.NewlineAfterThrow,this.state.lastTokEndLoc);}node.argument=this.parseExpression();this.semicolon();return this.finishNode(node,"ThrowStatement");};_proto.parseCatchClauseParam=function parseCatchClauseParam(){var param=this.parseBindingAtom();this.scope.enter(this.options.annexB&&param.type==="Identifier"?ScopeFlag.SIMPLE_CATCH:0);this.checkLVal(param,{"in":{type:"CatchClause"},binding:BindingFlag.TYPE_CATCH_PARAM});return param;};_proto.parseTryStatement=function parseTryStatement(node){var _this2=this;this.next();node.block=this.parseBlock();node.handler=null;if(this.match(62)){var clause=this.startNode();this.next();if(this.match(10)){this.expect(10);clause.param=this.parseCatchClauseParam();this.expect(11);}else{clause.param=null;this.scope.enter(ScopeFlag.OTHER);}clause.body=this.withSmartMixTopicForbiddingContext(function(){return _this2.parseBlock(false,false);});this.scope.exit();node.handler=this.finishNode(clause,"CatchClause");}node.finalizer=this.eat(67)?this.parseBlock():null;if(!node.handler&&!node.finalizer){this.raise(Errors.NoCatchOrFinally,node);}return this.finishNode(node,"TryStatement");};_proto.parseVarStatement=function parseVarStatement(node,kind,allowMissingInitializer){if(allowMissingInitializer===void 0){allowMissingInitializer=false;}this.next();this.parseVar(node,false,kind,allowMissingInitializer);this.semicolon();return this.finishNode(node,"VariableDeclaration");};_proto.parseWhileStatement=function parseWhileStatement(node){var _this3=this;this.next();node.test=this.parseHeaderExpression();this.state.labels.push(loopLabel);node.body=this.withSmartMixTopicForbiddingContext(function(){return _this3.parseStatement();});this.state.labels.pop();return this.finishNode(node,"WhileStatement");};_proto.parseWithStatement=function parseWithStatement(node){var _this4=this;if(this.state.strict){this.raise(Errors.StrictWith,this.state.startLoc);}this.next();node.object=this.parseHeaderExpression();node.body=this.withSmartMixTopicForbiddingContext(function(){return _this4.parseStatement();});return this.finishNode(node,"WithStatement");};_proto.parseEmptyStatement=function parseEmptyStatement(node){this.next();return this.finishNode(node,"EmptyStatement");};_proto.parseLabeledStatement=function parseLabeledStatement(node,maybeName,expr,flags){for(var _i4=0,_this$state$labels2=this.state.labels;_i4<_this$state$labels2.length;_i4++){var label=_this$state$labels2[_i4];if(label.name===maybeName){this.raise(Errors.LabelRedeclaration,expr,{labelName:maybeName});}}var kind=tokenIsLoop(this.state.type)?LoopLabelKind.Loop:this.match(71)?LoopLabelKind.Switch:null;for(var i=this.state.labels.length-1;i>=0;i--){var _label=this.state.labels[i];if(_label.statementStart===node.start){_label.statementStart=this.state.start;_label.kind=kind;}else{break;}}this.state.labels.push({name:maybeName,kind:kind,statementStart:this.state.start});node.body=flags&ParseStatementFlag.AllowLabeledFunction?this.parseStatementOrSloppyAnnexBFunctionDeclaration(true):this.parseStatement();this.state.labels.pop();node.label=expr;return this.finishNode(node,"LabeledStatement");};_proto.parseExpressionStatement=function parseExpressionStatement(node,expr,decorators){node.expression=expr;this.semicolon();return this.finishNode(node,"ExpressionStatement");};_proto.parseBlock=function parseBlock(allowDirectives,createNewLexicalScope,afterBlockParse){if(allowDirectives===void 0){allowDirectives=false;}if(createNewLexicalScope===void 0){createNewLexicalScope=true;}var node=this.startNode();if(allowDirectives){this.state.strictErrors.clear();}this.expect(5);if(createNewLexicalScope){this.scope.enter(ScopeFlag.OTHER);}this.parseBlockBody(node,allowDirectives,false,8,afterBlockParse);if(createNewLexicalScope){this.scope.exit();}return this.finishNode(node,"BlockStatement");};_proto.isValidDirective=function isValidDirective(stmt){return stmt.type==="ExpressionStatement"&&stmt.expression.type==="StringLiteral"&&!stmt.expression.extra.parenthesized;};_proto.parseBlockBody=function parseBlockBody(node,allowDirectives,topLevel,end,afterBlockParse){var body=node.body=[];var directives=node.directives=[];this.parseBlockOrModuleBlockBody(body,allowDirectives?directives:undefined,topLevel,end,afterBlockParse);};_proto.parseBlockOrModuleBlockBody=function parseBlockOrModuleBlockBody(body,directives,topLevel,end,afterBlockParse){var oldStrict=this.state.strict;var hasStrictModeDirective=false;var parsedNonDirective=false;while(!this.match(end)){var stmt=topLevel?this.parseModuleItem():this.parseStatementListItem();if(directives&&!parsedNonDirective){if(this.isValidDirective(stmt)){var directive=this.stmtToDirective(stmt);directives.push(directive);if(!hasStrictModeDirective&&directive.value.value==="use strict"){hasStrictModeDirective=true;this.setStrict(true);}continue;}parsedNonDirective=true;this.state.strictErrors.clear();}body.push(stmt);}afterBlockParse==null||afterBlockParse.call(this,hasStrictModeDirective);if(!oldStrict){this.setStrict(false);}this.next();};_proto.parseFor=function parseFor(node,init){var _this5=this;node.init=init;this.semicolon(false);node.test=this.match(13)?null:this.parseExpression();this.semicolon(false);node.update=this.match(11)?null:this.parseExpression();this.expect(11);node.body=this.withSmartMixTopicForbiddingContext(function(){return _this5.parseStatement();});this.scope.exit();this.state.labels.pop();return this.finishNode(node,"ForStatement");};_proto.parseForIn=function parseForIn(node,init,awaitAt){var _this6=this;var isForIn=this.match(58);this.next();if(isForIn){if(awaitAt!==null)this.unexpected(awaitAt);}else{node["await"]=awaitAt!==null;}if(init.type==="VariableDeclaration"&&init.declarations[0].init!=null&&(!isForIn||!this.options.annexB||this.state.strict||init.kind!=="var"||init.declarations[0].id.type!=="Identifier")){this.raise(Errors.ForInOfLoopInitializer,init,{type:isForIn?"ForInStatement":"ForOfStatement"});}if(init.type==="AssignmentPattern"){this.raise(Errors.InvalidLhs,init,{ancestor:{type:"ForStatement"}});}node.left=init;node.right=isForIn?this.parseExpression():this.parseMaybeAssignAllowIn();this.expect(11);node.body=this.withSmartMixTopicForbiddingContext(function(){return _this6.parseStatement();});this.scope.exit();this.state.labels.pop();return this.finishNode(node,isForIn?"ForInStatement":"ForOfStatement");};_proto.parseVar=function parseVar(node,isFor,kind,allowMissingInitializer){if(allowMissingInitializer===void 0){allowMissingInitializer=false;}var declarations=node.declarations=[];node.kind=kind;for(;;){var decl=this.startNode();this.parseVarId(decl,kind);decl.init=!this.eat(29)?null:isFor?this.parseMaybeAssignDisallowIn():this.parseMaybeAssignAllowIn();if(decl.init===null&&!allowMissingInitializer){if(decl.id.type!=="Identifier"&&!(isFor&&(this.match(58)||this.isContextual(102)))){this.raise(Errors.DeclarationMissingInitializer,this.state.lastTokEndLoc,{kind:"destructuring"});}else if(kind==="const"&&!(this.match(58)||this.isContextual(102))){this.raise(Errors.DeclarationMissingInitializer,this.state.lastTokEndLoc,{kind:"const"});}}declarations.push(this.finishNode(decl,"VariableDeclarator"));if(!this.eat(12))break;}return node;};_proto.parseVarId=function parseVarId(decl,kind){var id=this.parseBindingAtom();this.checkLVal(id,{"in":{type:"VariableDeclarator"},binding:kind==="var"?BindingFlag.TYPE_VAR:BindingFlag.TYPE_LEXICAL});decl.id=id;};_proto.parseAsyncFunctionExpression=function parseAsyncFunctionExpression(node){return this.parseFunction(node,ParseFunctionFlag.Async);};_proto.parseFunction=function parseFunction(node,flags){var _this7=this;if(flags===void 0){flags=ParseFunctionFlag.Expression;}var hangingDeclaration=flags&ParseFunctionFlag.HangingDeclaration;var isDeclaration=!!(flags&ParseFunctionFlag.Declaration);var requireId=isDeclaration&&!(flags&ParseFunctionFlag.NullableId);var isAsync=!!(flags&ParseFunctionFlag.Async);this.initFunction(node,isAsync);if(this.match(55)){if(hangingDeclaration){this.raise(Errors.GeneratorInSingleStatementContext,this.state.startLoc);}this.next();node.generator=true;}if(isDeclaration){node.id=this.parseFunctionId(requireId);}var oldMaybeInArrowParameters=this.state.maybeInArrowParameters;this.state.maybeInArrowParameters=false;this.scope.enter(ScopeFlag.FUNCTION);this.prodParam.enter(functionFlags(isAsync,node.generator));if(!isDeclaration){node.id=this.parseFunctionId();}this.parseFunctionParams(node,false);this.withSmartMixTopicForbiddingContext(function(){_this7.parseFunctionBodyAndFinish(node,isDeclaration?"FunctionDeclaration":"FunctionExpression");});this.prodParam.exit();this.scope.exit();if(isDeclaration&&!hangingDeclaration){this.registerFunctionStatementId(node);}this.state.maybeInArrowParameters=oldMaybeInArrowParameters;return node;};_proto.parseFunctionId=function parseFunctionId(requireId){return requireId||tokenIsIdentifier(this.state.type)?this.parseIdentifier():null;};_proto.parseFunctionParams=function parseFunctionParams(node,isConstructor){this.expect(10);this.expressionScope.enter(newParameterDeclarationScope());node.params=this.parseBindingList(11,41,ParseBindingListFlags.IS_FUNCTION_PARAMS|(isConstructor?ParseBindingListFlags.IS_CONSTRUCTOR_PARAMS:0));this.expressionScope.exit();};_proto.registerFunctionStatementId=function registerFunctionStatementId(node){if(!node.id)return;this.scope.declareName(node.id.name,!this.options.annexB||this.state.strict||node.generator||node.async?this.scope.treatFunctionsAsVar?BindingFlag.TYPE_VAR:BindingFlag.TYPE_LEXICAL:BindingFlag.TYPE_FUNCTION,node.id.loc.start);};_proto.parseClass=function parseClass(node,isStatement,optionalId){this.next();var oldStrict=this.state.strict;this.state.strict=true;this.parseClassId(node,isStatement,optionalId);this.parseClassSuper(node);node.body=this.parseClassBody(!!node.superClass,oldStrict);return this.finishNode(node,isStatement?"ClassDeclaration":"ClassExpression");};_proto.isClassProperty=function isClassProperty(){return this.match(29)||this.match(13)||this.match(8);};_proto.isClassMethod=function isClassMethod(){return this.match(10);};_proto.isNonstaticConstructor=function isNonstaticConstructor(method){return!method.computed&&!method["static"]&&(method.key.name==="constructor"||method.key.value==="constructor");};_proto.parseClassBody=function parseClassBody(hadSuperClass,oldStrict){var _this8=this;this.classScope.enter();var state={hadConstructor:false,hadSuperClass:hadSuperClass};var decorators=[];var classBody=this.startNode();classBody.body=[];this.expect(5);this.withSmartMixTopicForbiddingContext(function(){while(!_this8.match(8)){if(_this8.eat(13)){if(decorators.length>0){throw _this8.raise(Errors.DecoratorSemicolon,_this8.state.lastTokEndLoc);}continue;}if(_this8.match(26)){decorators.push(_this8.parseDecorator());continue;}var member=_this8.startNode();if(decorators.length){member.decorators=decorators;_this8.resetStartLocationFromNode(member,decorators[0]);decorators=[];}_this8.parseClassMember(classBody,member,state);if(member.kind==="constructor"&&member.decorators&&member.decorators.length>0){_this8.raise(Errors.DecoratorConstructor,member);}}});this.state.strict=oldStrict;this.next();if(decorators.length){throw this.raise(Errors.TrailingDecorator,this.state.startLoc);}this.classScope.exit();return this.finishNode(classBody,"ClassBody");};_proto.parseClassMemberFromModifier=function parseClassMemberFromModifier(classBody,member){var key=this.parseIdentifier(true);if(this.isClassMethod()){var method=member;method.kind="method";method.computed=false;method.key=key;method["static"]=false;this.pushClassMethod(classBody,method,false,false,false,false);return true;}else if(this.isClassProperty()){var prop=member;prop.computed=false;prop.key=key;prop["static"]=false;classBody.body.push(this.parseClassProperty(prop));return true;}this.resetPreviousNodeTrailingComments(key);return false;};_proto.parseClassMember=function parseClassMember(classBody,member,state){var isStatic=this.isContextual(106);if(isStatic){if(this.parseClassMemberFromModifier(classBody,member)){return;}if(this.eat(5)){this.parseClassStaticBlock(classBody,member);return;}}this.parseClassMemberWithIsStatic(classBody,member,state,isStatic);};_proto.parseClassMemberWithIsStatic=function parseClassMemberWithIsStatic(classBody,member,state,isStatic){var publicMethod=member;var privateMethod=member;var publicProp=member;var privateProp=member;var accessorProp=member;var method=publicMethod;var publicMember=publicMethod;member["static"]=isStatic;this.parsePropertyNamePrefixOperator(member);if(this.eat(55)){method.kind="method";var isPrivateName=this.match(138);this.parseClassElementName(method);if(isPrivateName){this.pushClassPrivateMethod(classBody,privateMethod,true,false);return;}if(this.isNonstaticConstructor(publicMethod)){this.raise(Errors.ConstructorIsGenerator,publicMethod.key);}this.pushClassMethod(classBody,publicMethod,true,false,false,false);return;}var isContextual=tokenIsIdentifier(this.state.type)&&!this.state.containsEsc;var isPrivate=this.match(138);var key=this.parseClassElementName(member);var maybeQuestionTokenStartLoc=this.state.startLoc;this.parsePostMemberNameModifiers(publicMember);if(this.isClassMethod()){method.kind="method";if(isPrivate){this.pushClassPrivateMethod(classBody,privateMethod,false,false);return;}var isConstructor=this.isNonstaticConstructor(publicMethod);var allowsDirectSuper=false;if(isConstructor){publicMethod.kind="constructor";if(state.hadConstructor&&!this.hasPlugin("typescript")){this.raise(Errors.DuplicateConstructor,key);}if(isConstructor&&this.hasPlugin("typescript")&&member.override){this.raise(Errors.OverrideOnConstructor,key);}state.hadConstructor=true;allowsDirectSuper=state.hadSuperClass;}this.pushClassMethod(classBody,publicMethod,false,false,isConstructor,allowsDirectSuper);}else if(this.isClassProperty()){if(isPrivate){this.pushClassPrivateProperty(classBody,privateProp);}else{this.pushClassProperty(classBody,publicProp);}}else if(isContextual&&key.name==="async"&&!this.isLineTerminator()){this.resetPreviousNodeTrailingComments(key);var isGenerator=this.eat(55);if(publicMember.optional){this.unexpected(maybeQuestionTokenStartLoc);}method.kind="method";var _isPrivate=this.match(138);this.parseClassElementName(method);this.parsePostMemberNameModifiers(publicMember);if(_isPrivate){this.pushClassPrivateMethod(classBody,privateMethod,isGenerator,true);}else{if(this.isNonstaticConstructor(publicMethod)){this.raise(Errors.ConstructorIsAsync,publicMethod.key);}this.pushClassMethod(classBody,publicMethod,isGenerator,true,false,false);}}else if(isContextual&&(key.name==="get"||key.name==="set")&&!(this.match(55)&&this.isLineTerminator())){this.resetPreviousNodeTrailingComments(key);method.kind=key.name;var _isPrivate2=this.match(138);this.parseClassElementName(publicMethod);if(_isPrivate2){this.pushClassPrivateMethod(classBody,privateMethod,false,false);}else{if(this.isNonstaticConstructor(publicMethod)){this.raise(Errors.ConstructorIsAccessor,publicMethod.key);}this.pushClassMethod(classBody,publicMethod,false,false,false,false);}this.checkGetterSetterParams(publicMethod);}else if(isContextual&&key.name==="accessor"&&!this.isLineTerminator()){this.expectPlugin("decoratorAutoAccessors");this.resetPreviousNodeTrailingComments(key);var _isPrivate3=this.match(138);this.parseClassElementName(publicProp);this.pushClassAccessorProperty(classBody,accessorProp,_isPrivate3);}else if(this.isLineTerminator()){if(isPrivate){this.pushClassPrivateProperty(classBody,privateProp);}else{this.pushClassProperty(classBody,publicProp);}}else{this.unexpected();}};_proto.parseClassElementName=function parseClassElementName(member){var _this$state=this.state,type=_this$state.type,value=_this$state.value;if((type===132||type===133)&&member["static"]&&value==="prototype"){this.raise(Errors.StaticPrototype,this.state.startLoc);}if(type===138){if(value==="constructor"){this.raise(Errors.ConstructorClassPrivateField,this.state.startLoc);}var key=this.parsePrivateName();member.key=key;return key;}return this.parsePropertyName(member);};_proto.parseClassStaticBlock=function parseClassStaticBlock(classBody,member){var _member$decorators;this.scope.enter(ScopeFlag.CLASS|ScopeFlag.STATIC_BLOCK|ScopeFlag.SUPER);var oldLabels=this.state.labels;this.state.labels=[];this.prodParam.enter(ParamKind.PARAM);var body=member.body=[];this.parseBlockOrModuleBlockBody(body,undefined,false,8);this.prodParam.exit();this.scope.exit();this.state.labels=oldLabels;classBody.body.push(this.finishNode(member,"StaticBlock"));if((_member$decorators=member.decorators)!=null&&_member$decorators.length){this.raise(Errors.DecoratorStaticBlock,member);}};_proto.pushClassProperty=function pushClassProperty(classBody,prop){if(!prop.computed&&(prop.key.name==="constructor"||prop.key.value==="constructor")){this.raise(Errors.ConstructorClassField,prop.key);}classBody.body.push(this.parseClassProperty(prop));};_proto.pushClassPrivateProperty=function pushClassPrivateProperty(classBody,prop){var node=this.parseClassPrivateProperty(prop);classBody.body.push(node);this.classScope.declarePrivateName(this.getPrivateNameSV(node.key),ClassElementType.OTHER,node.key.loc.start);};_proto.pushClassAccessorProperty=function pushClassAccessorProperty(classBody,prop,isPrivate){if(!isPrivate&&!prop.computed){var key=prop.key;if(key.name==="constructor"||key.value==="constructor"){this.raise(Errors.ConstructorClassField,key);}}var node=this.parseClassAccessorProperty(prop);classBody.body.push(node);if(isPrivate){this.classScope.declarePrivateName(this.getPrivateNameSV(node.key),ClassElementType.OTHER,node.key.loc.start);}};_proto.pushClassMethod=function pushClassMethod(classBody,method,isGenerator,isAsync,isConstructor,allowsDirectSuper){classBody.body.push(this.parseMethod(method,isGenerator,isAsync,isConstructor,allowsDirectSuper,"ClassMethod",true));};_proto.pushClassPrivateMethod=function pushClassPrivateMethod(classBody,method,isGenerator,isAsync){var node=this.parseMethod(method,isGenerator,isAsync,false,false,"ClassPrivateMethod",true);classBody.body.push(node);var kind=node.kind==="get"?node["static"]?ClassElementType.STATIC_GETTER:ClassElementType.INSTANCE_GETTER:node.kind==="set"?node["static"]?ClassElementType.STATIC_SETTER:ClassElementType.INSTANCE_SETTER:ClassElementType.OTHER;this.declareClassPrivateMethodInScope(node,kind);};_proto.declareClassPrivateMethodInScope=function declareClassPrivateMethodInScope(node,kind){this.classScope.declarePrivateName(this.getPrivateNameSV(node.key),kind,node.key.loc.start);};_proto.parsePostMemberNameModifiers=function parsePostMemberNameModifiers(methodOrProp){};_proto.parseClassPrivateProperty=function parseClassPrivateProperty(node){this.parseInitializer(node);this.semicolon();return this.finishNode(node,"ClassPrivateProperty");};_proto.parseClassProperty=function parseClassProperty(node){this.parseInitializer(node);this.semicolon();return this.finishNode(node,"ClassProperty");};_proto.parseClassAccessorProperty=function parseClassAccessorProperty(node){this.parseInitializer(node);this.semicolon();return this.finishNode(node,"ClassAccessorProperty");};_proto.parseInitializer=function parseInitializer(node){this.scope.enter(ScopeFlag.CLASS|ScopeFlag.SUPER);this.expressionScope.enter(newExpressionScope());this.prodParam.enter(ParamKind.PARAM);node.value=this.eat(29)?this.parseMaybeAssignAllowIn():null;this.expressionScope.exit();this.prodParam.exit();this.scope.exit();};_proto.parseClassId=function parseClassId(node,isStatement,optionalId,bindingType){if(bindingType===void 0){bindingType=BindingFlag.TYPE_CLASS;}if(tokenIsIdentifier(this.state.type)){node.id=this.parseIdentifier();if(isStatement){this.declareNameFromIdentifier(node.id,bindingType);}}else{if(optionalId||!isStatement){node.id=null;}else{throw this.raise(Errors.MissingClassName,this.state.startLoc);}}};_proto.parseClassSuper=function parseClassSuper(node){node.superClass=this.eat(81)?this.parseExprSubscripts():null;};_proto.parseExport=function parseExport(node,decorators){var maybeDefaultIdentifier=this.parseMaybeImportPhase(node,true);var hasDefault=this.maybeParseExportDefaultSpecifier(node,maybeDefaultIdentifier);var parseAfterDefault=!hasDefault||this.eat(12);var hasStar=parseAfterDefault&&this.eatExportStar(node);var hasNamespace=hasStar&&this.maybeParseExportNamespaceSpecifier(node);var parseAfterNamespace=parseAfterDefault&&(!hasNamespace||this.eat(12));var isFromRequired=hasDefault||hasStar;if(hasStar&&!hasNamespace){if(hasDefault)this.unexpected();if(decorators){throw this.raise(Errors.UnsupportedDecoratorExport,node);}this.parseExportFrom(node,true);return this.finishNode(node,"ExportAllDeclaration");}var hasSpecifiers=this.maybeParseExportNamedSpecifiers(node);if(hasDefault&&parseAfterDefault&&!hasStar&&!hasSpecifiers){this.unexpected(null,5);}if(hasNamespace&&parseAfterNamespace){this.unexpected(null,98);}var hasDeclaration;if(isFromRequired||hasSpecifiers){hasDeclaration=false;if(decorators){throw this.raise(Errors.UnsupportedDecoratorExport,node);}this.parseExportFrom(node,isFromRequired);}else{hasDeclaration=this.maybeParseExportDeclaration(node);}if(isFromRequired||hasSpecifiers||hasDeclaration){var _node2$declaration;var node2=node;this.checkExport(node2,true,false,!!node2.source);if(((_node2$declaration=node2.declaration)==null?void 0:_node2$declaration.type)==="ClassDeclaration"){this.maybeTakeDecorators(decorators,node2.declaration,node2);}else if(decorators){throw this.raise(Errors.UnsupportedDecoratorExport,node);}return this.finishNode(node2,"ExportNamedDeclaration");}if(this.eat(65)){var _node3=node;var decl=this.parseExportDefaultExpression();_node3.declaration=decl;if(decl.type==="ClassDeclaration"){this.maybeTakeDecorators(decorators,decl,_node3);}else if(decorators){throw this.raise(Errors.UnsupportedDecoratorExport,node);}this.checkExport(_node3,true,true);return this.finishNode(_node3,"ExportDefaultDeclaration");}this.unexpected(null,5);};_proto.eatExportStar=function eatExportStar(node){return this.eat(55);};_proto.maybeParseExportDefaultSpecifier=function maybeParseExportDefaultSpecifier(node,maybeDefaultIdentifier){if(maybeDefaultIdentifier||this.isExportDefaultSpecifier()){this.expectPlugin("exportDefaultFrom",maybeDefaultIdentifier==null?void 0:maybeDefaultIdentifier.loc.start);var id=maybeDefaultIdentifier||this.parseIdentifier(true);var specifier=this.startNodeAtNode(id);specifier.exported=id;node.specifiers=[this.finishNode(specifier,"ExportDefaultSpecifier")];return true;}return false;};_proto.maybeParseExportNamespaceSpecifier=function maybeParseExportNamespaceSpecifier(node){if(this.isContextual(93)){if(!node.specifiers)node.specifiers=[];var specifier=this.startNodeAt(this.state.lastTokStartLoc);this.next();specifier.exported=this.parseModuleExportName();node.specifiers.push(this.finishNode(specifier,"ExportNamespaceSpecifier"));return true;}return false;};_proto.maybeParseExportNamedSpecifiers=function maybeParseExportNamedSpecifiers(node){if(this.match(5)){var _node$specifiers;if(!node.specifiers)node.specifiers=[];var isTypeExport=node.exportKind==="type";(_node$specifiers=node.specifiers).push.apply(_node$specifiers,this.parseExportSpecifiers(isTypeExport));node.source=null;node.declaration=null;if(this.hasPlugin("importAssertions")){node.assertions=[];}return true;}return false;};_proto.maybeParseExportDeclaration=function maybeParseExportDeclaration(node){if(this.shouldParseExportDeclaration()){node.specifiers=[];node.source=null;if(this.hasPlugin("importAssertions")){node.assertions=[];}node.declaration=this.parseExportDeclaration(node);return true;}return false;};_proto.isAsyncFunction=function isAsyncFunction(){if(!this.isContextual(95))return false;var next=this.nextTokenInLineStart();return this.isUnparsedContextual(next,"function");};_proto.parseExportDefaultExpression=function parseExportDefaultExpression(){var expr=this.startNode();if(this.match(68)){this.next();return this.parseFunction(expr,ParseFunctionFlag.Declaration|ParseFunctionFlag.NullableId);}else if(this.isAsyncFunction()){this.next();this.next();return this.parseFunction(expr,ParseFunctionFlag.Declaration|ParseFunctionFlag.NullableId|ParseFunctionFlag.Async);}if(this.match(80)){return this.parseClass(expr,true,true);}if(this.match(26)){if(this.hasPlugin("decorators")&&this.getPluginOption("decorators","decoratorsBeforeExport")===true){this.raise(Errors.DecoratorBeforeExport,this.state.startLoc);}return this.parseClass(this.maybeTakeDecorators(this.parseDecorators(false),this.startNode()),true,true);}if(this.match(75)||this.match(74)||this.isLet()){throw this.raise(Errors.UnsupportedDefaultExport,this.state.startLoc);}var res=this.parseMaybeAssignAllowIn();this.semicolon();return res;};_proto.parseExportDeclaration=function parseExportDeclaration(node){if(this.match(80)){var _node4=this.parseClass(this.startNode(),true,false);return _node4;}return this.parseStatementListItem();};_proto.isExportDefaultSpecifier=function isExportDefaultSpecifier(){var type=this.state.type;if(tokenIsIdentifier(type)){if(type===95&&!this.state.containsEsc||type===100){return false;}if((type===130||type===129)&&!this.state.containsEsc){var _this$lookahead2=this.lookahead(),nextType=_this$lookahead2.type;if(tokenIsIdentifier(nextType)&&nextType!==98||nextType===5){this.expectOnePlugin(["flow","typescript"]);return false;}}}else if(!this.match(65)){return false;}var next=this.nextTokenStart();var hasFrom=this.isUnparsedContextual(next,"from");if(this.input.charCodeAt(next)===44||tokenIsIdentifier(this.state.type)&&hasFrom){return true;}if(this.match(65)&&hasFrom){var nextAfterFrom=this.input.charCodeAt(this.nextTokenStartSince(next+4));return nextAfterFrom===34||nextAfterFrom===39;}return false;};_proto.parseExportFrom=function parseExportFrom(node,expect){if(this.eatContextual(98)){node.source=this.parseImportSource();this.checkExport(node);this.maybeParseImportAttributes(node);this.checkJSONModuleImport(node);}else if(expect){this.unexpected();}this.semicolon();};_proto.shouldParseExportDeclaration=function shouldParseExportDeclaration(){var type=this.state.type;if(type===26){this.expectOnePlugin(["decorators","decorators-legacy"]);if(this.hasPlugin("decorators")){if(this.getPluginOption("decorators","decoratorsBeforeExport")===true){this.raise(Errors.DecoratorBeforeExport,this.state.startLoc);}return true;}}return type===74||type===75||type===68||type===80||this.isLet()||this.isAsyncFunction();};_proto.checkExport=function checkExport(node,checkNames,isDefault,isFrom){if(checkNames){var _node$specifiers2;if(isDefault){this.checkDuplicateExports(node,"default");if(this.hasPlugin("exportDefaultFrom")){var _declaration$extra;var declaration=node.declaration;if(declaration.type==="Identifier"&&declaration.name==="from"&&declaration.end-declaration.start===4&&!((_declaration$extra=declaration.extra)!=null&&_declaration$extra.parenthesized)){this.raise(Errors.ExportDefaultFromAsIdentifier,declaration);}}}else if((_node$specifiers2=node.specifiers)!=null&&_node$specifiers2.length){for(var _i6=0,_node$specifiers4=node.specifiers;_i6<_node$specifiers4.length;_i6++){var specifier=_node$specifiers4[_i6];var exported=specifier.exported;var exportName=exported.type==="Identifier"?exported.name:exported.value;this.checkDuplicateExports(specifier,exportName);if(!isFrom&&specifier.local){var local=specifier.local;if(local.type!=="Identifier"){this.raise(Errors.ExportBindingIsString,specifier,{localName:local.value,exportName:exportName});}else{this.checkReservedWord(local.name,local.loc.start,true,false);this.scope.checkLocalExport(local);}}}}else if(node.declaration){if(node.declaration.type==="FunctionDeclaration"||node.declaration.type==="ClassDeclaration"){var id=node.declaration.id;if(!id)throw new Error("Assertion failure");this.checkDuplicateExports(node,id.name);}else if(node.declaration.type==="VariableDeclaration"){for(var _i8=0,_node$declaration$dec2=node.declaration.declarations;_i8<_node$declaration$dec2.length;_i8++){var _declaration=_node$declaration$dec2[_i8];this.checkDeclaration(_declaration.id);}}}}};_proto.checkDeclaration=function checkDeclaration(node){if(node.type==="Identifier"){this.checkDuplicateExports(node,node.name);}else if(node.type==="ObjectPattern"){for(var _i10=0,_node$properties2=node.properties;_i10<_node$properties2.length;_i10++){var prop=_node$properties2[_i10];this.checkDeclaration(prop);}}else if(node.type==="ArrayPattern"){for(var _i12=0,_node$elements2=node.elements;_i12<_node$elements2.length;_i12++){var elem=_node$elements2[_i12];if(elem){this.checkDeclaration(elem);}}}else if(node.type==="ObjectProperty"){this.checkDeclaration(node.value);}else if(node.type==="RestElement"){this.checkDeclaration(node.argument);}else if(node.type==="AssignmentPattern"){this.checkDeclaration(node.left);}};_proto.checkDuplicateExports=function checkDuplicateExports(node,exportName){if(this.exportedIdentifiers.has(exportName)){if(exportName==="default"){this.raise(Errors.DuplicateDefaultExport,node);}else{this.raise(Errors.DuplicateExport,node,{exportName:exportName});}}this.exportedIdentifiers.add(exportName);};_proto.parseExportSpecifiers=function parseExportSpecifiers(isInTypeExport){var nodes=[];var first=true;this.expect(5);while(!this.eat(8)){if(first){first=false;}else{this.expect(12);if(this.eat(8))break;}var isMaybeTypeOnly=this.isContextual(130);var isString=this.match(133);var _node5=this.startNode();_node5.local=this.parseModuleExportName();nodes.push(this.parseExportSpecifier(_node5,isString,isInTypeExport,isMaybeTypeOnly));}return nodes;};_proto.parseExportSpecifier=function parseExportSpecifier(node,isString,isInTypeExport,isMaybeTypeOnly){if(this.eatContextual(93)){node.exported=this.parseModuleExportName();}else if(isString){node.exported=cloneStringLiteral(node.local);}else if(!node.exported){node.exported=cloneIdentifier(node.local);}return this.finishNode(node,"ExportSpecifier");};_proto.parseModuleExportName=function parseModuleExportName(){if(this.match(133)){var result=this.parseStringLiteral(this.state.value);var surrogate=result.value.match(loneSurrogate);if(surrogate){this.raise(Errors.ModuleExportNameHasLoneSurrogate,result,{surrogateCharCode:surrogate[0].charCodeAt(0)});}return result;}return this.parseIdentifier(true);};_proto.isJSONModuleImport=function isJSONModuleImport(node){if(node.assertions!=null){return node.assertions.some(function(_ref){var key=_ref.key,value=_ref.value;return value.value==="json"&&(key.type==="Identifier"?key.name==="type":key.value==="type");});}return false;};_proto.checkImportReflection=function checkImportReflection(node){var specifiers=node.specifiers;var singleBindingType=specifiers.length===1?specifiers[0].type:null;if(node.phase==="source"){if(singleBindingType!=="ImportDefaultSpecifier"){this.raise(Errors.SourcePhaseImportRequiresDefault,specifiers[0].loc.start);}}else if(node.phase==="defer"){if(singleBindingType!=="ImportNamespaceSpecifier"){this.raise(Errors.DeferImportRequiresNamespace,specifiers[0].loc.start);}}else if(node.module){var _node$assertions;if(singleBindingType!=="ImportDefaultSpecifier"){this.raise(Errors.ImportReflectionNotBinding,specifiers[0].loc.start);}if(((_node$assertions=node.assertions)==null?void 0:_node$assertions.length)>0){this.raise(Errors.ImportReflectionHasAssertion,specifiers[0].loc.start);}}};_proto.checkJSONModuleImport=function checkJSONModuleImport(node){if(this.isJSONModuleImport(node)&&node.type!=="ExportAllDeclaration"){var specifiers=node.specifiers;if(specifiers!=null){var nonDefaultNamedSpecifier=specifiers.find(function(specifier){var imported;if(specifier.type==="ExportSpecifier"){imported=specifier.local;}else if(specifier.type==="ImportSpecifier"){imported=specifier.imported;}if(imported!==undefined){return imported.type==="Identifier"?imported.name!=="default":imported.value!=="default";}});if(nonDefaultNamedSpecifier!==undefined){this.raise(Errors.ImportJSONBindingNotDefault,nonDefaultNamedSpecifier.loc.start);}}}};_proto.isPotentialImportPhase=function isPotentialImportPhase(isExport){if(isExport)return false;return this.isContextual(105)||this.isContextual(97)||this.isContextual(127);};_proto.applyImportPhase=function applyImportPhase(node,isExport,phase,loc){if(isExport){return;}if(phase==="module"){this.expectPlugin("importReflection",loc);node.module=true;}else if(this.hasPlugin("importReflection")){node.module=false;}if(phase==="source"){this.expectPlugin("sourcePhaseImports",loc);node.phase="source";}else if(phase==="defer"){this.expectPlugin("deferredImportEvaluation",loc);node.phase="defer";}else if(this.hasPlugin("sourcePhaseImports")){node.phase=null;}};_proto.parseMaybeImportPhase=function parseMaybeImportPhase(node,isExport){if(!this.isPotentialImportPhase(isExport)){this.applyImportPhase(node,isExport,null);return null;}var phaseIdentifier=this.parseIdentifier(true);var type=this.state.type;var isImportPhase=tokenIsKeywordOrIdentifier(type)?type!==98||this.lookaheadCharCode()===102:type!==12;if(isImportPhase){this.resetPreviousIdentifierLeadingComments(phaseIdentifier);this.applyImportPhase(node,isExport,phaseIdentifier.name,phaseIdentifier.loc.start);return null;}else{this.applyImportPhase(node,isExport,null);return phaseIdentifier;}};_proto.isPrecedingIdImportPhase=function isPrecedingIdImportPhase(phase){var type=this.state.type;return tokenIsIdentifier(type)?type!==98||this.lookaheadCharCode()===102:type!==12;};_proto.parseImport=function parseImport(node){if(this.match(133)){return this.parseImportSourceAndAttributes(node);}return this.parseImportSpecifiersAndAfter(node,this.parseMaybeImportPhase(node,false));};_proto.parseImportSpecifiersAndAfter=function parseImportSpecifiersAndAfter(node,maybeDefaultIdentifier){node.specifiers=[];var hasDefault=this.maybeParseDefaultImportSpecifier(node,maybeDefaultIdentifier);var parseNext=!hasDefault||this.eat(12);var hasStar=parseNext&&this.maybeParseStarImportSpecifier(node);if(parseNext&&!hasStar)this.parseNamedImportSpecifiers(node);this.expectContextual(98);return this.parseImportSourceAndAttributes(node);};_proto.parseImportSourceAndAttributes=function parseImportSourceAndAttributes(node){var _node$specifiers5;(_node$specifiers5=node.specifiers)!=null?_node$specifiers5:node.specifiers=[];node.source=this.parseImportSource();this.maybeParseImportAttributes(node);this.checkImportReflection(node);this.checkJSONModuleImport(node);this.semicolon();return this.finishNode(node,"ImportDeclaration");};_proto.parseImportSource=function parseImportSource(){if(!this.match(133))this.unexpected();return this.parseExprAtom();};_proto.parseImportSpecifierLocal=function parseImportSpecifierLocal(node,specifier,type){specifier.local=this.parseIdentifier();node.specifiers.push(this.finishImportSpecifier(specifier,type));};_proto.finishImportSpecifier=function finishImportSpecifier(specifier,type,bindingType){if(bindingType===void 0){bindingType=BindingFlag.TYPE_LEXICAL;}this.checkLVal(specifier.local,{"in":{type:type},binding:bindingType});return this.finishNode(specifier,type);};_proto.parseImportAttributes=function parseImportAttributes(){this.expect(5);var attrs=[];var attrNames=new Set();do{if(this.match(8)){break;}var _node6=this.startNode();var keyName=this.state.value;if(attrNames.has(keyName)){this.raise(Errors.ModuleAttributesWithDuplicateKeys,this.state.startLoc,{key:keyName});}attrNames.add(keyName);if(this.match(133)){_node6.key=this.parseStringLiteral(keyName);}else{_node6.key=this.parseIdentifier(true);}this.expect(14);if(!this.match(133)){throw this.raise(Errors.ModuleAttributeInvalidValue,this.state.startLoc);}_node6.value=this.parseStringLiteral(this.state.value);attrs.push(this.finishNode(_node6,"ImportAttribute"));}while(this.eat(12));this.expect(8);return attrs;};_proto.parseModuleAttributes=function parseModuleAttributes(){var attrs=[];var attributes=new Set();do{var _node7=this.startNode();_node7.key=this.parseIdentifier(true);if(_node7.key.name!=="type"){this.raise(Errors.ModuleAttributeDifferentFromType,_node7.key);}if(attributes.has(_node7.key.name)){this.raise(Errors.ModuleAttributesWithDuplicateKeys,_node7.key,{key:_node7.key.name});}attributes.add(_node7.key.name);this.expect(14);if(!this.match(133)){throw this.raise(Errors.ModuleAttributeInvalidValue,this.state.startLoc);}_node7.value=this.parseStringLiteral(this.state.value);attrs.push(this.finishNode(_node7,"ImportAttribute"));}while(this.eat(12));return attrs;};_proto.maybeParseImportAttributes=function maybeParseImportAttributes(node){var attributes;var useWith=false;if(this.match(76)){if(this.hasPrecedingLineBreak()&&this.lookaheadCharCode()===40){return;}this.next();{if(this.hasPlugin("moduleAttributes")){attributes=this.parseModuleAttributes();}else{this.expectImportAttributesPlugin();attributes=this.parseImportAttributes();}}useWith=true;}else if(this.isContextual(94)&&!this.hasPrecedingLineBreak()){if(this.hasPlugin("importAttributes")){if(this.getPluginOption("importAttributes","deprecatedAssertSyntax")!==true){this.raise(Errors.ImportAttributesUseAssert,this.state.startLoc);}this.addExtra(node,"deprecatedAssertSyntax",true);}else{this.expectOnePlugin(["importAttributes","importAssertions"]);}this.next();attributes=this.parseImportAttributes();}else if(this.hasPlugin("importAttributes")||this.hasPlugin("importAssertions")){attributes=[];}else{if(this.hasPlugin("moduleAttributes")){attributes=[];}else return;}if(!useWith&&this.hasPlugin("importAssertions")){node.assertions=attributes;}else{node.attributes=attributes;}};_proto.maybeParseDefaultImportSpecifier=function maybeParseDefaultImportSpecifier(node,maybeDefaultIdentifier){if(maybeDefaultIdentifier){var specifier=this.startNodeAtNode(maybeDefaultIdentifier);specifier.local=maybeDefaultIdentifier;node.specifiers.push(this.finishImportSpecifier(specifier,"ImportDefaultSpecifier"));return true;}else if(tokenIsKeywordOrIdentifier(this.state.type)){this.parseImportSpecifierLocal(node,this.startNode(),"ImportDefaultSpecifier");return true;}return false;};_proto.maybeParseStarImportSpecifier=function maybeParseStarImportSpecifier(node){if(this.match(55)){var specifier=this.startNode();this.next();this.expectContextual(93);this.parseImportSpecifierLocal(node,specifier,"ImportNamespaceSpecifier");return true;}return false;};_proto.parseNamedImportSpecifiers=function parseNamedImportSpecifiers(node){var first=true;this.expect(5);while(!this.eat(8)){if(first){first=false;}else{if(this.eat(14)){throw this.raise(Errors.DestructureNamedImport,this.state.startLoc);}this.expect(12);if(this.eat(8))break;}var specifier=this.startNode();var importedIsString=this.match(133);var isMaybeTypeOnly=this.isContextual(130);specifier.imported=this.parseModuleExportName();var importSpecifier=this.parseImportSpecifier(specifier,importedIsString,node.importKind==="type"||node.importKind==="typeof",isMaybeTypeOnly,undefined);node.specifiers.push(importSpecifier);}};_proto.parseImportSpecifier=function parseImportSpecifier(specifier,importedIsString,isInTypeOnlyImport,isMaybeTypeOnly,bindingType){if(this.eatContextual(93)){specifier.local=this.parseIdentifier();}else{var imported=specifier.imported;if(importedIsString){throw this.raise(Errors.ImportBindingIsString,specifier,{importName:imported.value});}this.checkReservedWord(imported.name,specifier.loc.start,true,true);if(!specifier.local){specifier.local=cloneIdentifier(imported);}}return this.finishImportSpecifier(specifier,"ImportSpecifier",bindingType);};_proto.isThisParam=function isThisParam(param){return param.type==="Identifier"&&param.name==="this";};return _createClass(StatementParser);}(ExpressionParser);var Parser=function(_StatementParser){_inherits(Parser,_StatementParser);function Parser(options,input){var _this;options=getOptions(options);_this=_StatementParser.call(this,options,input)||this;_this.options=options;_this.initializeScopes();_this.plugins=pluginsMap(_this.options.plugins);_this.filename=options.sourceFilename;return _this;}var _proto=Parser.prototype;_proto.getScopeHandler=function getScopeHandler(){return ScopeHandler;};_proto.parse=function parse(){this.enterInitialScopes();var file=this.startNode();var program=this.startNode();this.nextToken();file.errors=null;this.parseTopLevel(file,program);file.errors=this.state.errors;file.comments.length=this.state.commentsLen;return file;};return _createClass(Parser);}(StatementParser);function pluginsMap(plugins){var pluginMap=new Map();for(var _i2=0;_i2<plugins.length;_i2++){var plugin=plugins[_i2];var _ref=Array.isArray(plugin)?plugin:[plugin,{}],name=_ref[0],options=_ref[1];if(!pluginMap.has(name))pluginMap.set(name,options||{});}return pluginMap;}function parse$4(input,options){var _options;if(((_options=options)==null?void 0:_options.sourceType)==="unambiguous"){options=Object.assign({},options);try{options.sourceType="module";var parser=getParser(options,input);var ast=parser.parse();if(parser.sawUnambiguousESM){return ast;}if(parser.ambiguousScriptDifferentAst){try{options.sourceType="script";return getParser(options,input).parse();}catch(_unused){}}else{ast.program.sourceType="script";}return ast;}catch(moduleError){try{options.sourceType="script";return getParser(options,input).parse();}catch(_unused2){}throw moduleError;}}else{return getParser(options,input).parse();}}function parseExpression(input,options){var parser=getParser(options,input);if(parser.options.strictMode){parser.state.strict=true;}return parser.getExpression();}function generateExportedTokenTypes(internalTokenTypes){var tokenTypes={};for(var _i2=0,_Object$keys2=Object.keys(internalTokenTypes);_i2<_Object$keys2.length;_i2++){var typeName=_Object$keys2[_i2];tokenTypes[typeName]=getExportedToken(internalTokenTypes[typeName]);}return tokenTypes;}var tokTypes=generateExportedTokenTypes(tt);function getParser(options,input){var cls=Parser;if(options!=null&&options.plugins){validatePlugins(options.plugins);cls=getParserClass(options.plugins);}return new cls(options,input);}var parserClassCache={};function getParserClass(pluginsFromOptions){var pluginList=mixinPluginNames.filter(function(name){return hasPlugin(pluginsFromOptions,name);});var key=pluginList.join("/");var cls=parserClassCache[key];if(!cls){cls=Parser;for(var _i4=0;_i4<pluginList.length;_i4++){var plugin=pluginList[_i4];cls=mixinPlugins[plugin](cls);}parserClassCache[key]=cls;}return cls;}var index$3=/*#__PURE__*/Object.freeze({__proto__:null,parse:parse$4,parseExpression:parseExpression,tokTypes:tokTypes});var assignmentExpression$c=assignmentExpression$d,expressionStatement$9=expressionStatement$a,identifier$f=identifier$j;var visitor$4={Scope:function Scope(path,state){if(state.kind==="let")path.skip();},FunctionParent:function FunctionParent(path){path.skip();},VariableDeclaration:function(_VariableDeclaration){function VariableDeclaration(_x,_x2){return _VariableDeclaration.apply(this,arguments);}VariableDeclaration.toString=function(){return _VariableDeclaration.toString();};return VariableDeclaration;}(function(path,state){if(state.kind&&path.node.kind!==state.kind)return;var nodes=[];var declarations=path.get("declarations");var firstId;for(var _iterator=_createForOfIteratorHelperLoose(declarations),_step;!(_step=_iterator()).done;){var declar=_step.value;firstId=declar.node.id;if(declar.node.init){nodes.push(expressionStatement$9(assignmentExpression$c("=",declar.node.id,declar.node.init)));}for(var _i=0,_Object$keys=Object.keys(declar.getBindingIdentifiers());_i<_Object$keys.length;_i++){var name=_Object$keys[_i];state.emit(identifier$f(name),name,declar.node.init!==null);}}if(path.parentPath.isFor({left:path.node})){path.replaceWith(firstId);}else{path.replaceWithMultiple(nodes);}})};function hoistVariables(path,emit,kind){if(kind===void 0){kind="var";}path.traverse(visitor$4,{kind:kind,emit:emit});}var FUNCTION_TYPES=FUNCTION_TYPES$1,arrowFunctionExpression$3=arrowFunctionExpression$4,assignmentExpression$b=assignmentExpression$d,awaitExpression=awaitExpression$1,blockStatement$5=blockStatement$6,buildUndefinedNode$1=buildUndefinedNode$2,callExpression$b=callExpression$d,cloneNode$g=cloneNode$j,conditionalExpression$4=conditionalExpression$5,expressionStatement$8=expressionStatement$a,getBindingIdentifiers$2=getBindingIdentifiers$4,identifier$e=identifier$j,inheritLeadingComments=inheritLeadingComments$1,inheritTrailingComments=inheritTrailingComments$1,inheritsComments=inheritsComments$1,isBlockStatement$1=isBlockStatement$3,isEmptyStatement=isEmptyStatement$1,isExpression$2=isExpression$4,isExpressionStatement$1=isExpressionStatement$2,isIfStatement=isIfStatement$2,isProgram=isProgram$1,isStatement$2=isStatement$8,isVariableDeclaration$1=isVariableDeclaration$4,removeComments=removeComments$1,returnStatement$2=returnStatement$3,sequenceExpression$7=sequenceExpression$8,validate$4=validate$5,yieldExpression$1=yieldExpression$2;function replaceWithMultiple(nodes){var _getCachedPaths;this.resync();nodes=this._verifyNodeList(nodes);inheritLeadingComments(nodes[0],this.node);inheritTrailingComments(nodes[nodes.length-1],this.node);(_getCachedPaths=getCachedPaths(this.hub,this.parent))==null||_getCachedPaths["delete"](this.node);this.node=this.container[this.key]=null;var paths=this.insertAfter(nodes);if(this.node){this.requeue();}else{this.remove();}return paths;}function replaceWithSourceString(replacement){this.resync();var ast;try{replacement="("+replacement+")";ast=parse$4(replacement);}catch(err){var loc=err.loc;if(loc){err.message+=" - make sure this is an expression.\n"+codeFrameColumns(replacement,{start:{line:loc.line,column:loc.column+1}});err.code="BABEL_REPLACE_SOURCE_ERROR";}throw err;}var expressionAST=ast.program.body[0].expression;traverse.removeProperties(expressionAST);return this.replaceWith(expressionAST);}function replaceWith(replacementPath){this.resync();if(this.removed){throw new Error("You can't replace this node, we've already removed it");}var replacement=replacementPath instanceof NodePath?replacementPath.node:replacementPath;if(!replacement){throw new Error("You passed `path.replaceWith()` a falsy node, use `path.remove()` instead");}if(this.node===replacement){return[this];}if(this.isProgram()&&!isProgram(replacement)){throw new Error("You can only replace a Program root node with another Program node");}if(Array.isArray(replacement)){throw new Error("Don't use `path.replaceWith()` with an array of nodes, use `path.replaceWithMultiple()`");}if(typeof replacement==="string"){throw new Error("Don't use `path.replaceWith()` with a source string, use `path.replaceWithSourceString()`");}var nodePath="";if(this.isNodeType("Statement")&&isExpression$2(replacement)){if(!this.canHaveVariableDeclarationOrExpression()&&!this.canSwapBetweenExpressionAndStatement(replacement)&&!this.parentPath.isExportDefaultDeclaration()){replacement=expressionStatement$8(replacement);nodePath="expression";}}if(this.isNodeType("Expression")&&isStatement$2(replacement)){if(!this.canHaveVariableDeclarationOrExpression()&&!this.canSwapBetweenExpressionAndStatement(replacement)){return this.replaceExpressionWithStatements([replacement]);}}var oldNode=this.node;if(oldNode){inheritsComments(replacement,oldNode);removeComments(oldNode);}this._replaceWith(replacement);this.type=replacement.type;this.setScope();this.requeue();return[nodePath?this.get(nodePath):this];}function _replaceWith(node){var _getCachedPaths2;if(!this.container){throw new ReferenceError("Container is falsy");}if(this.inList){validate$4(this.parent,this.key,[node]);}else{validate$4(this.parent,this.key,node);}this.debug("Replace with "+(node==null?void 0:node.type));(_getCachedPaths2=getCachedPaths(this.hub,this.parent))==null||_getCachedPaths2.set(node,this)["delete"](this.node);this.node=this.container[this.key]=node;}function replaceExpressionWithStatements(nodes){var _this=this;this.resync();var declars=[];var nodesAsSingleExpression=gatherSequenceExpressions(nodes,declars);if(nodesAsSingleExpression){for(var _iterator=_createForOfIteratorHelperLoose(declars),_step;!(_step=_iterator()).done;){var id=_step.value;this.scope.push({id:id});}return this.replaceWith(nodesAsSingleExpression)[0].get("expressions");}var functionParent=this.getFunctionParent();var isParentAsync=functionParent==null?void 0:functionParent.is("async");var isParentGenerator=functionParent==null?void 0:functionParent.is("generator");var container=arrowFunctionExpression$3([],blockStatement$5(nodes));this.replaceWith(callExpression$b(container,[]));var callee=this.get("callee");hoistVariables(callee.get("body"),function(id){_this.scope.push({id:id});},"var");var completionRecords=this.get("callee").getCompletionRecords();for(var _iterator2=_createForOfIteratorHelperLoose(completionRecords),_step2;!(_step2=_iterator2()).done;){var path=_step2.value;if(!path.isExpressionStatement())continue;var loop=path.findParent(function(path){return path.isLoop();});if(loop){var uid=loop.getData("expressionReplacementReturnUid");if(!uid){uid=callee.scope.generateDeclaredUidIdentifier("ret");callee.get("body").pushContainer("body",returnStatement$2(cloneNode$g(uid)));loop.setData("expressionReplacementReturnUid",uid);}else{uid=identifier$e(uid.name);}path.get("expression").replaceWith(assignmentExpression$b("=",cloneNode$g(uid),path.node.expression));}else{path.replaceWith(returnStatement$2(path.node.expression));}}callee.arrowFunctionToExpression();var newCallee=callee;var needToAwaitFunction=isParentAsync&&traverse.hasType(this.get("callee.body").node,"AwaitExpression",FUNCTION_TYPES);var needToYieldFunction=isParentGenerator&&traverse.hasType(this.get("callee.body").node,"YieldExpression",FUNCTION_TYPES);if(needToAwaitFunction){newCallee.set("async",true);if(!needToYieldFunction){this.replaceWith(awaitExpression(this.node));}}if(needToYieldFunction){newCallee.set("generator",true);this.replaceWith(yieldExpression$1(this.node,true));}return newCallee.get("body.body");}function gatherSequenceExpressions(nodes,declars){var exprs=[];var ensureLastUndefined=true;for(var _iterator3=_createForOfIteratorHelperLoose(nodes),_step3;!(_step3=_iterator3()).done;){var node=_step3.value;if(!isEmptyStatement(node)){ensureLastUndefined=false;}if(isExpression$2(node)){exprs.push(node);}else if(isExpressionStatement$1(node)){exprs.push(node.expression);}else if(isVariableDeclaration$1(node)){if(node.kind!=="var")return;for(var _iterator4=_createForOfIteratorHelperLoose(node.declarations),_step4;!(_step4=_iterator4()).done;){var declar=_step4.value;var bindings=getBindingIdentifiers$2(declar);for(var _i=0,_Object$keys=Object.keys(bindings);_i<_Object$keys.length;_i++){var key=_Object$keys[_i];declars.push(cloneNode$g(bindings[key]));}if(declar.init){exprs.push(assignmentExpression$b("=",declar.id,declar.init));}}ensureLastUndefined=true;}else if(isIfStatement(node)){var consequent=node.consequent?gatherSequenceExpressions([node.consequent],declars):buildUndefinedNode$1();var alternate=node.alternate?gatherSequenceExpressions([node.alternate],declars):buildUndefinedNode$1();if(!consequent||!alternate)return;exprs.push(conditionalExpression$4(node.test,consequent,alternate));}else if(isBlockStatement$1(node)){var body=gatherSequenceExpressions(node.body,declars);if(!body)return;exprs.push(body);}else if(isEmptyStatement(node)){if(nodes.indexOf(node)===0){ensureLastUndefined=true;}}else{return;}}if(ensureLastUndefined)exprs.push(buildUndefinedNode$1());if(exprs.length===1){return exprs[0];}else{return sequenceExpression$7(exprs);}}function replaceInline(nodes){this.resync();if(Array.isArray(nodes)){if(Array.isArray(this.container)){nodes=this._verifyNodeList(nodes);var paths=this._containerInsertAfter(nodes);this.remove();return paths;}else{return this.replaceWithMultiple(nodes);}}else{return this.replaceWith(nodes);}}var NodePath_replacement=/*#__PURE__*/Object.freeze({__proto__:null,_replaceWith:_replaceWith,replaceExpressionWithStatements:replaceExpressionWithStatements,replaceInline:replaceInline,replaceWith:replaceWith,replaceWithMultiple:replaceWithMultiple,replaceWithSourceString:replaceWithSourceString});var VALID_OBJECT_CALLEES=["Number","String","Math"];var VALID_IDENTIFIER_CALLEES=["isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent",null,null];var INVALID_METHODS=["random"];function isValidObjectCallee(val){return VALID_OBJECT_CALLEES.includes(val);}function isValidIdentifierCallee(val){return VALID_IDENTIFIER_CALLEES.includes(val);}function isInvalidMethod(val){return INVALID_METHODS.includes(val);}function evaluateTruthy(){var res=this.evaluate();if(res.confident)return!!res.value;}function deopt(path,state){if(!state.confident)return;state.deoptPath=path;state.confident=false;}var Globals=new Map([["undefined",undefined],["Infinity",Infinity],["NaN",NaN]]);function evaluateCached(path,state){var node=path.node;var seen=state.seen;if(seen.has(node)){var existing=seen.get(node);if(existing.resolved){return existing.value;}else{deopt(path,state);return;}}else{var item={resolved:false};seen.set(node,item);var val=_evaluate(path,state);if(state.confident){item.resolved=true;item.value=val;}return val;}}function _evaluate(path,state){if(!state.confident)return;if(path.isSequenceExpression()){var exprs=path.get("expressions");return evaluateCached(exprs[exprs.length-1],state);}if(path.isStringLiteral()||path.isNumericLiteral()||path.isBooleanLiteral()){return path.node.value;}if(path.isNullLiteral()){return null;}if(path.isTemplateLiteral()){return evaluateQuasis(path,path.node.quasis,state);}if(path.isTaggedTemplateExpression()&&path.get("tag").isMemberExpression()){var object=path.get("tag.object");var name=object.node.name;var property=path.get("tag.property");if(object.isIdentifier()&&name==="String"&&!path.scope.getBinding(name)&&property.isIdentifier()&&property.node.name==="raw"){return evaluateQuasis(path,path.node.quasi.quasis,state,true);}}if(path.isConditionalExpression()){var testResult=evaluateCached(path.get("test"),state);if(!state.confident)return;if(testResult){return evaluateCached(path.get("consequent"),state);}else{return evaluateCached(path.get("alternate"),state);}}if(path.isExpressionWrapper()){return evaluateCached(path.get("expression"),state);}if(path.isMemberExpression()&&!path.parentPath.isCallExpression({callee:path.node})){var _property=path.get("property");var _object=path.get("object");if(_object.isLiteral()){var value=_object.node.value;var type=_typeof(value);var key=null;if(path.node.computed){key=evaluateCached(_property,state);if(!state.confident)return;}else if(_property.isIdentifier()){key=_property.node.name;}if((type==="number"||type==="string")&&key!=null&&(typeof key==="number"||typeof key==="string")){return value[key];}}}if(path.isReferencedIdentifier()){var binding=path.scope.getBinding(path.node.name);if(binding){if(binding.constantViolations.length>0||path.node.start<binding.path.node.end){deopt(binding.path,state);return;}if(binding.hasValue){return binding.value;}}var _name=path.node.name;if(Globals.has(_name)){if(!binding){return Globals.get(_name);}deopt(binding.path,state);return;}var resolved=path.resolve();if(resolved===path){deopt(path,state);return;}else{return evaluateCached(resolved,state);}}if(path.isUnaryExpression({prefix:true})){if(path.node.operator==="void"){return undefined;}var argument=path.get("argument");if(path.node.operator==="typeof"&&(argument.isFunction()||argument.isClass())){return"function";}var arg=evaluateCached(argument,state);if(!state.confident)return;switch(path.node.operator){case"!":return!arg;case"+":return+arg;case"-":return-arg;case"~":return~arg;case"typeof":return _typeof(arg);}}if(path.isArrayExpression()){var arr=[];var elems=path.get("elements");for(var _iterator=_createForOfIteratorHelperLoose(elems),_step;!(_step=_iterator()).done;){var elem=_step.value;var elemValue=elem.evaluate();if(elemValue.confident){arr.push(elemValue.value);}else{deopt(elemValue.deopt,state);return;}}return arr;}if(path.isObjectExpression()){var obj={};var props=path.get("properties");for(var _iterator2=_createForOfIteratorHelperLoose(props),_step2;!(_step2=_iterator2()).done;){var prop=_step2.value;if(prop.isObjectMethod()||prop.isSpreadElement()){deopt(prop,state);return;}var keyPath=prop.get("key");var _key=void 0;if(prop.node.computed){_key=keyPath.evaluate();if(!_key.confident){deopt(_key.deopt,state);return;}_key=_key.value;}else if(keyPath.isIdentifier()){_key=keyPath.node.name;}else{_key=keyPath.node.value;}var valuePath=prop.get("value");var _value=valuePath.evaluate();if(!_value.confident){deopt(_value.deopt,state);return;}_value=_value.value;obj[_key]=_value;}return obj;}if(path.isLogicalExpression()){var wasConfident=state.confident;var left=evaluateCached(path.get("left"),state);var leftConfident=state.confident;state.confident=wasConfident;var right=evaluateCached(path.get("right"),state);var rightConfident=state.confident;switch(path.node.operator){case"||":state.confident=leftConfident&&(!!left||rightConfident);if(!state.confident)return;return left||right;case"&&":state.confident=leftConfident&&(!left||rightConfident);if(!state.confident)return;return left&&right;case"??":state.confident=leftConfident&&(left!=null||rightConfident);if(!state.confident)return;return left!=null?left:right;}}if(path.isBinaryExpression()){var _left=evaluateCached(path.get("left"),state);if(!state.confident)return;var _right=evaluateCached(path.get("right"),state);if(!state.confident)return;switch(path.node.operator){case"-":return _left-_right;case"+":return _left+_right;case"/":return _left/_right;case"*":return _left*_right;case"%":return _left%_right;case"**":return Math.pow(_left,_right);case"<":return _left<_right;case">":return _left>_right;case"<=":return _left<=_right;case">=":return _left>=_right;case"==":return _left==_right;case"!=":return _left!=_right;case"===":return _left===_right;case"!==":return _left!==_right;case"|":return _left|_right;case"&":return _left&_right;case"^":return _left^_right;case"<<":return _left<<_right;case">>":return _left>>_right;case">>>":return _left>>>_right;}}if(path.isCallExpression()){var callee=path.get("callee");var context;var func;if(callee.isIdentifier()&&!path.scope.getBinding(callee.node.name)&&(isValidObjectCallee(callee.node.name)||isValidIdentifierCallee(callee.node.name))){func=global$1[callee.node.name];}if(callee.isMemberExpression()){var _object2=callee.get("object");var _property2=callee.get("property");if(_object2.isIdentifier()&&_property2.isIdentifier()&&isValidObjectCallee(_object2.node.name)&&!isInvalidMethod(_property2.node.name)){context=global$1[_object2.node.name];var _key2=_property2.node.name;if(hasOwnProperty.call(context,_key2)){func=context[_key2];}}if(_object2.isLiteral()&&_property2.isIdentifier()){var _type=_typeof(_object2.node.value);if(_type==="string"||_type==="number"){context=_object2.node.value;func=context[_property2.node.name];}}}if(func){var args=path.get("arguments").map(function(arg){return evaluateCached(arg,state);});if(!state.confident)return;return func.apply(context,args);}}deopt(path,state);}function evaluateQuasis(path,quasis,state,raw){if(raw===void 0){raw=false;}var str="";var i=0;var exprs=path.isTemplateLiteral()?path.get("expressions"):path.get("quasi.expressions");for(var _iterator3=_createForOfIteratorHelperLoose(quasis),_step3;!(_step3=_iterator3()).done;){var elem=_step3.value;if(!state.confident)break;str+=raw?elem.value.raw:elem.value.cooked;var expr=exprs[i++];if(expr)str+=String(evaluateCached(expr,state));}if(!state.confident)return;return str;}function evaluate(){var state={confident:true,deoptPath:null,seen:new Map()};var value=evaluateCached(this,state);if(!state.confident)value=undefined;return{confident:state.confident,deopt:state.deoptPath,value:value};}var NodePath_evaluation=/*#__PURE__*/Object.freeze({__proto__:null,evaluate:evaluate,evaluateTruthy:evaluateTruthy});var assertExpressionStatement=assertExpressionStatement$1;function makeStatementFormatter(fn){return{code:function code(str){return"/* @babel/template */;\n"+str;},validate:function validate(){},unwrap:function unwrap(ast){return fn(ast.program.body.slice(1));}};}var smart$1=makeStatementFormatter(function(body){if(body.length>1){return body;}else{return body[0];}});var statements$1=makeStatementFormatter(function(body){return body;});var statement$1=makeStatementFormatter(function(body){if(body.length===0){throw new Error("Found nothing to return.");}if(body.length>1){throw new Error("Found multiple statements but wanted one");}return body[0];});var expression$1={code:function code(str){return"(\n"+str+"\n)";},validate:function validate(ast){if(ast.program.body.length>1){throw new Error("Found multiple statements but wanted one");}if(expression$1.unwrap(ast).start===0){throw new Error("Parse result included parens.");}},unwrap:function unwrap(_ref){var program=_ref.program;var _program$body=_slicedToArray(program.body,1),stmt=_program$body[0];assertExpressionStatement(stmt);return stmt.expression;}};var program$2={code:function code(str){return str;},validate:function validate(){},unwrap:function unwrap(ast){return ast.program;}};var _excluded$3=["placeholderWhitelist","placeholderPattern","preserveComments","syntacticPlaceholders"];function merge(a,b){var _b$placeholderWhiteli=b.placeholderWhitelist,placeholderWhitelist=_b$placeholderWhiteli===void 0?a.placeholderWhitelist:_b$placeholderWhiteli,_b$placeholderPattern=b.placeholderPattern,placeholderPattern=_b$placeholderPattern===void 0?a.placeholderPattern:_b$placeholderPattern,_b$preserveComments=b.preserveComments,preserveComments=_b$preserveComments===void 0?a.preserveComments:_b$preserveComments,_b$syntacticPlacehold=b.syntacticPlaceholders,syntacticPlaceholders=_b$syntacticPlacehold===void 0?a.syntacticPlaceholders:_b$syntacticPlacehold;return{parser:Object.assign({},a.parser,b.parser),placeholderWhitelist:placeholderWhitelist,placeholderPattern:placeholderPattern,preserveComments:preserveComments,syntacticPlaceholders:syntacticPlaceholders};}function validate$3(opts){if(opts!=null&&_typeof(opts)!=="object"){throw new Error("Unknown template options.");}var _ref=opts||{},placeholderWhitelist=_ref.placeholderWhitelist,placeholderPattern=_ref.placeholderPattern,preserveComments=_ref.preserveComments,syntacticPlaceholders=_ref.syntacticPlaceholders,parser=_objectWithoutPropertiesLoose(_ref,_excluded$3);if(placeholderWhitelist!=null&&!(placeholderWhitelist instanceof Set)){throw new Error("'.placeholderWhitelist' must be a Set, null, or undefined");}if(placeholderPattern!=null&&!(placeholderPattern instanceof RegExp)&&placeholderPattern!==false){throw new Error("'.placeholderPattern' must be a RegExp, false, null, or undefined");}if(preserveComments!=null&&typeof preserveComments!=="boolean"){throw new Error("'.preserveComments' must be a boolean, null, or undefined");}if(syntacticPlaceholders!=null&&typeof syntacticPlaceholders!=="boolean"){throw new Error("'.syntacticPlaceholders' must be a boolean, null, or undefined");}if(syntacticPlaceholders===true&&(placeholderWhitelist!=null||placeholderPattern!=null)){throw new Error("'.placeholderWhitelist' and '.placeholderPattern' aren't compatible"+" with '.syntacticPlaceholders: true'");}return{parser:parser,placeholderWhitelist:placeholderWhitelist||undefined,placeholderPattern:placeholderPattern==null?undefined:placeholderPattern,preserveComments:preserveComments==null?undefined:preserveComments,syntacticPlaceholders:syntacticPlaceholders==null?undefined:syntacticPlaceholders};}function normalizeReplacements(replacements){if(Array.isArray(replacements)){return replacements.reduce(function(acc,replacement,i){acc["$"+i]=replacement;return acc;},{});}else if(_typeof(replacements)==="object"||replacements==null){return replacements||undefined;}throw new Error("Template replacements must be an array, object, null, or undefined");}var isCallExpression$2=isCallExpression$8,isExpressionStatement=isExpressionStatement$2,isFunction$2=isFunction$5,isIdentifier$b=isIdentifier$j,isJSXIdentifier$1=isJSXIdentifier$3,isNewExpression=isNewExpression$3,isPlaceholder=isPlaceholder$1,isStatement$1=isStatement$8,isStringLiteral$3=isStringLiteral$5,removePropertiesDeep=removePropertiesDeep$1,traverse$1=traverse$2;var PATTERN=/^[_$A-Z0-9]+$/;function parseAndBuildMetadata(formatter,code,opts){var placeholderWhitelist=opts.placeholderWhitelist,placeholderPattern=opts.placeholderPattern,preserveComments=opts.preserveComments,syntacticPlaceholders=opts.syntacticPlaceholders;var ast=parseWithCodeFrame(code,opts.parser,syntacticPlaceholders);removePropertiesDeep(ast,{preserveComments:preserveComments});formatter.validate(ast);var state={syntactic:{placeholders:[],placeholderNames:new Set()},legacy:{placeholders:[],placeholderNames:new Set()},placeholderWhitelist:placeholderWhitelist,placeholderPattern:placeholderPattern,syntacticPlaceholders:syntacticPlaceholders};traverse$1(ast,placeholderVisitorHandler,state);return Object.assign({ast:ast},state.syntactic.placeholders.length?state.syntactic:state.legacy);}function placeholderVisitorHandler(node,ancestors,state){var _state$placeholderWhi;var name;var hasSyntacticPlaceholders=state.syntactic.placeholders.length>0;if(isPlaceholder(node)){if(state.syntacticPlaceholders===false){throw new Error("%%foo%%-style placeholders can't be used when "+"'.syntacticPlaceholders' is false.");}name=node.name.name;hasSyntacticPlaceholders=true;}else if(hasSyntacticPlaceholders||state.syntacticPlaceholders){return;}else if(isIdentifier$b(node)||isJSXIdentifier$1(node)){name=node.name;}else if(isStringLiteral$3(node)){name=node.value;}else{return;}if(hasSyntacticPlaceholders&&(state.placeholderPattern!=null||state.placeholderWhitelist!=null)){throw new Error("'.placeholderWhitelist' and '.placeholderPattern' aren't compatible"+" with '.syntacticPlaceholders: true'");}if(!hasSyntacticPlaceholders&&(state.placeholderPattern===false||!(state.placeholderPattern||PATTERN).test(name))&&!((_state$placeholderWhi=state.placeholderWhitelist)!=null&&_state$placeholderWhi.has(name))){return;}ancestors=ancestors.slice();var _ancestors=ancestors[ancestors.length-1],parent=_ancestors.node,key=_ancestors.key;var type;if(isStringLiteral$3(node)||isPlaceholder(node,{expectedNode:"StringLiteral"})){type="string";}else if(isNewExpression(parent)&&key==="arguments"||isCallExpression$2(parent)&&key==="arguments"||isFunction$2(parent)&&key==="params"){type="param";}else if(isExpressionStatement(parent)&&!isPlaceholder(node)){type="statement";ancestors=ancestors.slice(0,-1);}else if(isStatement$1(node)&&isPlaceholder(node)){type="statement";}else{type="other";}var _ref=!hasSyntacticPlaceholders?state.legacy:state.syntactic,placeholders=_ref.placeholders,placeholderNames=_ref.placeholderNames;placeholders.push({name:name,type:type,resolve:function resolve(ast){return resolveAncestors(ast,ancestors);},isDuplicate:placeholderNames.has(name)});placeholderNames.add(name);}function resolveAncestors(ast,ancestors){var parent=ast;for(var i=0;i<ancestors.length-1;i++){var _ancestors$i=ancestors[i],_key=_ancestors$i.key,_index=_ancestors$i.index;if(_index===undefined){parent=parent[_key];}else{parent=parent[_key][_index];}}var _ancestors2=ancestors[ancestors.length-1],key=_ancestors2.key,index=_ancestors2.index;return{parent:parent,key:key,index:index};}function parseWithCodeFrame(code,parserOpts,syntacticPlaceholders){var plugins=(parserOpts.plugins||[]).slice();if(syntacticPlaceholders!==false){plugins.push("placeholders");}parserOpts=Object.assign({allowReturnOutsideFunction:true,allowSuperOutsideMethod:true,sourceType:"module"},parserOpts,{plugins:plugins});try{return parse$4(code,parserOpts);}catch(err){var loc=err.loc;if(loc){err.message+="\n"+codeFrameColumns(code,{start:loc});err.code="BABEL_TEMPLATE_PARSE_ERROR";}throw err;}}var blockStatement$4=blockStatement$6,cloneNode$f=cloneNode$j,emptyStatement=emptyStatement$1,expressionStatement$7=expressionStatement$a,identifier$d=identifier$j,isStatement=isStatement$8,isStringLiteral$2=isStringLiteral$5,stringLiteral$7=stringLiteral$8,validate$2=validate$5;function populatePlaceholders(metadata,replacements){var ast=cloneNode$f(metadata.ast);if(replacements){metadata.placeholders.forEach(function(placeholder){if(!hasOwnProperty.call(replacements,placeholder.name)){var placeholderName=placeholder.name;throw new Error("Error: No substitution given for \""+placeholderName+"\". If this is not meant to be a\n            placeholder you may want to consider passing one of the following options to @babel/template:\n            - { placeholderPattern: false, placeholderWhitelist: new Set(['"+placeholderName+"'])}\n            - { placeholderPattern: /^"+placeholderName+"$/ }");}});Object.keys(replacements).forEach(function(key){if(!metadata.placeholderNames.has(key)){throw new Error("Unknown substitution \""+key+"\" given");}});}metadata.placeholders.slice().reverse().forEach(function(placeholder){try{applyReplacement(placeholder,ast,replacements&&replacements[placeholder.name]||null);}catch(e){e.message="@babel/template placeholder \""+placeholder.name+"\": "+e.message;throw e;}});return ast;}function applyReplacement(placeholder,ast,replacement){if(placeholder.isDuplicate){if(Array.isArray(replacement)){replacement=replacement.map(function(node){return cloneNode$f(node);});}else if(_typeof(replacement)==="object"){replacement=cloneNode$f(replacement);}}var _placeholder$resolve=placeholder.resolve(ast),parent=_placeholder$resolve.parent,key=_placeholder$resolve.key,index=_placeholder$resolve.index;if(placeholder.type==="string"){if(typeof replacement==="string"){replacement=stringLiteral$7(replacement);}if(!replacement||!isStringLiteral$2(replacement)){throw new Error("Expected string substitution");}}else if(placeholder.type==="statement"){if(index===undefined){if(!replacement){replacement=emptyStatement();}else if(Array.isArray(replacement)){replacement=blockStatement$4(replacement);}else if(typeof replacement==="string"){replacement=expressionStatement$7(identifier$d(replacement));}else if(!isStatement(replacement)){replacement=expressionStatement$7(replacement);}}else{if(replacement&&!Array.isArray(replacement)){if(typeof replacement==="string"){replacement=identifier$d(replacement);}if(!isStatement(replacement)){replacement=expressionStatement$7(replacement);}}}}else if(placeholder.type==="param"){if(typeof replacement==="string"){replacement=identifier$d(replacement);}if(index===undefined)throw new Error("Assertion failure.");}else{if(typeof replacement==="string"){replacement=identifier$d(replacement);}if(Array.isArray(replacement)){throw new Error("Cannot replace single expression with an array.");}}if(index===undefined){validate$2(parent,key,replacement);parent[key]=replacement;}else{var items=parent[key].slice();if(placeholder.type==="statement"||placeholder.type==="param"){if(replacement==null){items.splice(index,1);}else if(Array.isArray(replacement)){items.splice.apply(items,[index,1].concat(_toConsumableArray(replacement)));}else{items[index]=replacement;}}else{items[index]=replacement;}validate$2(parent,key,items);parent[key]=items;}}function stringTemplate(formatter,code,opts){code=formatter.code(code);var metadata;return function(arg){var replacements=normalizeReplacements(arg);if(!metadata)metadata=parseAndBuildMetadata(formatter,code,opts);return formatter.unwrap(populatePlaceholders(metadata,replacements));};}function literalTemplate(formatter,tpl,opts){var _buildLiteralData=buildLiteralData(formatter,tpl,opts),metadata=_buildLiteralData.metadata,names=_buildLiteralData.names;return function(arg){var defaultReplacements={};arg.forEach(function(replacement,i){defaultReplacements[names[i]]=replacement;});return function(arg){var replacements=normalizeReplacements(arg);if(replacements){Object.keys(replacements).forEach(function(key){if(hasOwnProperty.call(defaultReplacements,key)){throw new Error("Unexpected replacement overlap.");}});}return formatter.unwrap(populatePlaceholders(metadata,replacements?Object.assign(replacements,defaultReplacements):defaultReplacements));};};}function buildLiteralData(formatter,tpl,opts){var prefix="BABEL_TPL$";var raw=tpl.join("");do{prefix="$$"+prefix;}while(raw.includes(prefix));var _buildTemplateCode=buildTemplateCode(tpl,prefix),names=_buildTemplateCode.names,code=_buildTemplateCode.code;var metadata=parseAndBuildMetadata(formatter,formatter.code(code),{parser:opts.parser,placeholderWhitelist:new Set(names.concat(opts.placeholderWhitelist?Array.from(opts.placeholderWhitelist):[])),placeholderPattern:opts.placeholderPattern,preserveComments:opts.preserveComments,syntacticPlaceholders:opts.syntacticPlaceholders});return{metadata:metadata,names:names};}function buildTemplateCode(tpl,prefix){var names=[];var code=tpl[0];for(var i=1;i<tpl.length;i++){var value=""+prefix+(i-1);names.push(value);code+=value+tpl[i];}return{names:names,code:code};}var NO_PLACEHOLDER=validate$3({placeholderPattern:false});function createTemplateBuilder(formatter,defaultOpts){var templateFnCache=new WeakMap();var templateAstCache=new WeakMap();var cachedOpts=defaultOpts||validate$3(null);return Object.assign(function(tpl){for(var _len=arguments.length,args=new Array(_len>1?_len-1:0),_key=1;_key<_len;_key++){args[_key-1]=arguments[_key];}if(typeof tpl==="string"){if(args.length>1)throw new Error("Unexpected extra params.");return extendedTrace(stringTemplate(formatter,tpl,merge(cachedOpts,validate$3(args[0]))));}else if(Array.isArray(tpl)){var builder=templateFnCache.get(tpl);if(!builder){builder=literalTemplate(formatter,tpl,cachedOpts);templateFnCache.set(tpl,builder);}return extendedTrace(builder(args));}else if(_typeof(tpl)==="object"&&tpl){if(args.length>0)throw new Error("Unexpected extra params.");return createTemplateBuilder(formatter,merge(cachedOpts,validate$3(tpl)));}throw new Error("Unexpected template param "+_typeof(tpl));},{ast:function ast(tpl){for(var _len2=arguments.length,args=new Array(_len2>1?_len2-1:0),_key2=1;_key2<_len2;_key2++){args[_key2-1]=arguments[_key2];}if(typeof tpl==="string"){if(args.length>1)throw new Error("Unexpected extra params.");return stringTemplate(formatter,tpl,merge(merge(cachedOpts,validate$3(args[0])),NO_PLACEHOLDER))();}else if(Array.isArray(tpl)){var builder=templateAstCache.get(tpl);if(!builder){builder=literalTemplate(formatter,tpl,merge(cachedOpts,NO_PLACEHOLDER));templateAstCache.set(tpl,builder);}return builder(args)();}throw new Error("Unexpected template param "+_typeof(tpl));}});}function extendedTrace(fn){var rootStack="";try{throw new Error();}catch(error){if(error.stack){rootStack=error.stack.split("\n").slice(3).join("\n");}}return function(arg){try{return fn(arg);}catch(err){err.stack+="\n    =============\n"+rootStack;throw err;}};}var smart=createTemplateBuilder(smart$1);var statement=createTemplateBuilder(statement$1);var statements=createTemplateBuilder(statements$1);var expression=createTemplateBuilder(expression$1);var program$1=createTemplateBuilder(program$2);var template$1=Object.assign(smart.bind(undefined),{smart:smart,statement:statement,statements:statements,expression:expression,program:program$1,ast:smart.ast});var index$2=/*#__PURE__*/Object.freeze({__proto__:null,"default":template$1,expression:expression,program:program$1,smart:smart,statement:statement,statements:statements});var NOT_LOCAL_BINDING=NOT_LOCAL_BINDING$2,cloneNode$e=cloneNode$j,identifier$c=identifier$j,isAssignmentExpression$1=isAssignmentExpression$3,isAssignmentPattern$3=isAssignmentPattern$5,isFunction$1=isFunction$5,isIdentifier$a=isIdentifier$j,isLiteral$2=isLiteral$6,isNullLiteral=isNullLiteral$2,isObjectMethod=isObjectMethod$1,isObjectProperty$3=isObjectProperty$5,isRegExpLiteral=isRegExpLiteral$2,isRestElement$2=isRestElement$3,isTemplateLiteral=isTemplateLiteral$2,isVariableDeclarator=isVariableDeclarator$1,toBindingIdentifierName=toBindingIdentifierName$1;function getFunctionArity(node){var count=node.params.findIndex(function(param){return isAssignmentPattern$3(param)||isRestElement$2(param);});return count===-1?node.params.length:count;}var buildPropertyMethodAssignmentWrapper=template$1.statement("\n  (function (FUNCTION_KEY) {\n    function FUNCTION_ID() {\n      return FUNCTION_KEY.apply(this, arguments);\n    }\n\n    FUNCTION_ID.toString = function () {\n      return FUNCTION_KEY.toString();\n    }\n\n    return FUNCTION_ID;\n  })(FUNCTION)\n");var buildGeneratorPropertyMethodAssignmentWrapper=template$1.statement("\n  (function (FUNCTION_KEY) {\n    function* FUNCTION_ID() {\n      return yield* FUNCTION_KEY.apply(this, arguments);\n    }\n\n    FUNCTION_ID.toString = function () {\n      return FUNCTION_KEY.toString();\n    };\n\n    return FUNCTION_ID;\n  })(FUNCTION)\n");var visitor$3={"ReferencedIdentifier|BindingIdentifier":function ReferencedIdentifierBindingIdentifier(path,state){if(path.node.name!==state.name)return;var localDeclar=path.scope.getBindingIdentifier(state.name);if(localDeclar!==state.outerDeclar)return;state.selfReference=true;path.stop();}};function getNameFromLiteralId(id){if(isNullLiteral(id)){return"null";}if(isRegExpLiteral(id)){return"_"+id.pattern+"_"+id.flags;}if(isTemplateLiteral(id)){return id.quasis.map(function(quasi){return quasi.value.raw;}).join("");}if(id.value!==undefined){return id.value+"";}return"";}function wrap$1(state,method,id,scope){if(state.selfReference){if(scope.hasBinding(id.name)&&!scope.hasGlobal(id.name)){scope.rename(id.name);}else{if(!isFunction$1(method))return;var build=buildPropertyMethodAssignmentWrapper;if(method.generator){build=buildGeneratorPropertyMethodAssignmentWrapper;}var _template=build({FUNCTION:method,FUNCTION_ID:id,FUNCTION_KEY:scope.generateUidIdentifier(id.name)}).expression;var params=_template.callee.body.body[0].params;for(var i=0,len=getFunctionArity(method);i<len;i++){params.push(scope.generateUidIdentifier("x"));}return _template;}}method.id=id;scope.getProgramParent().references[id.name]=true;}function visit$2(node,name,scope){var state={selfAssignment:false,selfReference:false,outerDeclar:scope.getBindingIdentifier(name),name:name};var binding=scope.getOwnBinding(name);if(binding){if(binding.kind==="param"){state.selfReference=true;}}else if(state.outerDeclar||scope.hasGlobal(name)){scope.traverse(node,visitor$3,state);}return state;}function nameFunction(_ref,localBinding,supportUnicodeId){var node=_ref.node,parent=_ref.parent,scope=_ref.scope,id=_ref.id;if(localBinding===void 0){localBinding=false;}if(supportUnicodeId===void 0){supportUnicodeId=false;}if(node.id)return;if((isObjectProperty$3(parent)||isObjectMethod(parent,{kind:"method"}))&&(!parent.computed||isLiteral$2(parent.key))){id=parent.key;}else if(isVariableDeclarator(parent)){id=parent.id;if(isIdentifier$a(id)&&!localBinding){var binding=scope.parent.getBinding(id.name);if(binding&&binding.constant&&scope.getBinding(id.name)===binding){node.id=cloneNode$e(id);node.id[NOT_LOCAL_BINDING]=true;return;}}}else if(isAssignmentExpression$1(parent,{operator:"="})){id=parent.left;}else if(!id){return;}var name;if(id&&isLiteral$2(id)){name=getNameFromLiteralId(id);}else if(id&&isIdentifier$a(id)){name=id.name;}if(name===undefined){return;}if(!supportUnicodeId&&isFunction$1(node)&&/[\uD800-\uDFFF]/.test(name)){return;}name=toBindingIdentifierName(name);var newId=identifier$c(name);newId[NOT_LOCAL_BINDING]=true;var state=visit$2(node,name,scope);return wrap$1(state,node,newId,scope)||node;}var arrowFunctionExpression$2=arrowFunctionExpression$4,assignmentExpression$a=assignmentExpression$d,binaryExpression$4=binaryExpression$5,blockStatement$3=blockStatement$6,callExpression$a=callExpression$d,conditionalExpression$3=conditionalExpression$5,expressionStatement$6=expressionStatement$a,identifier$b=identifier$j,isIdentifier$9=isIdentifier$j,jsxIdentifier$1=jsxIdentifier$2,logicalExpression$2=logicalExpression$3,LOGICAL_OPERATORS$2=LOGICAL_OPERATORS$3,memberExpression$a=memberExpression$c,metaProperty=metaProperty$1,numericLiteral$6=numericLiteral$8,objectExpression$2=objectExpression$3,restElement$1=restElement$2,returnStatement$1=returnStatement$3,sequenceExpression$6=sequenceExpression$8,spreadElement$1=spreadElement$2,stringLiteral$6=stringLiteral$8,_super=_super$1,thisExpression$3=thisExpression$4,toExpression=toExpression$1,unaryExpression$5=unaryExpression$6;function toComputedKey$1(){var key;if(this.isMemberExpression()){key=this.node.property;}else if(this.isProperty()||this.isMethod()){key=this.node.key;}else{throw new ReferenceError("todo");}if(!this.node.computed){if(isIdentifier$9(key))key=stringLiteral$6(key.name);}return key;}function ensureBlock(){var body=this.get("body");var bodyNode=body.node;if(Array.isArray(body)){throw new Error("Can't convert array path to a block statement");}if(!bodyNode){throw new Error("Can't convert node without a body");}if(body.isBlockStatement()){return bodyNode;}var statements=[];var stringPath="body";var key;var listKey;if(body.isStatement()){listKey="body";key=0;statements.push(body.node);}else{stringPath+=".body.0";if(this.isFunction()){key="argument";statements.push(returnStatement$1(body.node));}else{key="expression";statements.push(expressionStatement$6(body.node));}}this.node.body=blockStatement$3(statements);var parentPath=this.get(stringPath);body.setup(parentPath,listKey?parentPath.node[listKey]:parentPath.node,listKey,key);return this.node;}{exports.arrowFunctionToShadowed=function(){if(!this.isArrowFunctionExpression())return;this.arrowFunctionToExpression();};}function unwrapFunctionEnvironment(){if(!this.isArrowFunctionExpression()&&!this.isFunctionExpression()&&!this.isFunctionDeclaration()){throw this.buildCodeFrameError("Can only unwrap the environment of a function.");}hoistFunctionEnvironment(this);}function setType(path,type){path.node.type=type;}function arrowFunctionToExpression(_temp){var _arguments$;var _ref=_temp===void 0?{}:_temp,_ref$allowInsertArrow=_ref.allowInsertArrow,allowInsertArrow=_ref$allowInsertArrow===void 0?true:_ref$allowInsertArrow,_ref$allowInsertArrow2=_ref.allowInsertArrowWithRest,allowInsertArrowWithRest=_ref$allowInsertArrow2===void 0?allowInsertArrow:_ref$allowInsertArrow2,_ref$noNewArrows=_ref.noNewArrows,noNewArrows=_ref$noNewArrows===void 0?!((_arguments$=arguments[0])!=null&&_arguments$.specCompliant):_ref$noNewArrows;if(!this.isArrowFunctionExpression()){throw this.buildCodeFrameError("Cannot convert non-arrow function to a function expression.");}var _hoistFunctionEnviron=hoistFunctionEnvironment(this,noNewArrows,allowInsertArrow,allowInsertArrowWithRest),thisBinding=_hoistFunctionEnviron.thisBinding,fn=_hoistFunctionEnviron.fnPath;fn.ensureBlock();setType(fn,"FunctionExpression");if(!noNewArrows){var checkBinding=thisBinding?null:fn.scope.generateUidIdentifier("arrowCheckId");if(checkBinding){fn.parentPath.scope.push({id:checkBinding,init:objectExpression$2([])});}fn.get("body").unshiftContainer("body",expressionStatement$6(callExpression$a(this.hub.addHelper("newArrowCheck"),[thisExpression$3(),checkBinding?identifier$b(checkBinding.name):identifier$b(thisBinding)])));fn.replaceWith(callExpression$a(memberExpression$a(nameFunction(this,true)||fn.node,identifier$b("bind")),[checkBinding?identifier$b(checkBinding.name):thisExpression$3()]));return fn.get("callee.object");}return fn;}var getSuperCallsVisitor=merge$1([{CallExpression:function CallExpression(child,_ref2){var allSuperCalls=_ref2.allSuperCalls;if(!child.get("callee").isSuper())return;allSuperCalls.push(child);}},visitor$5]);function hoistFunctionEnvironment(fnPath,noNewArrows,allowInsertArrow,allowInsertArrowWithRest){if(noNewArrows===void 0){noNewArrows=true;}if(allowInsertArrow===void 0){allowInsertArrow=true;}if(allowInsertArrowWithRest===void 0){allowInsertArrowWithRest=true;}var arrowParent;var thisEnvFn=fnPath.findParent(function(p){if(p.isArrowFunctionExpression()){var _arrowParent;(_arrowParent=arrowParent)!=null?_arrowParent:arrowParent=p;return false;}return p.isFunction()||p.isProgram()||p.isClassProperty({"static":false})||p.isClassPrivateProperty({"static":false});});var inConstructor=thisEnvFn.isClassMethod({kind:"constructor"});if(thisEnvFn.isClassProperty()||thisEnvFn.isClassPrivateProperty()){if(arrowParent){thisEnvFn=arrowParent;}else if(allowInsertArrow){fnPath.replaceWith(callExpression$a(arrowFunctionExpression$2([],toExpression(fnPath.node)),[]));thisEnvFn=fnPath.get("callee");fnPath=thisEnvFn.get("body");}else{throw fnPath.buildCodeFrameError("Unable to transform arrow inside class property");}}var _getScopeInformation=getScopeInformation(fnPath),thisPaths=_getScopeInformation.thisPaths,argumentsPaths=_getScopeInformation.argumentsPaths,newTargetPaths=_getScopeInformation.newTargetPaths,superProps=_getScopeInformation.superProps,superCalls=_getScopeInformation.superCalls;if(inConstructor&&superCalls.length>0){if(!allowInsertArrow){throw superCalls[0].buildCodeFrameError("When using '@babel/plugin-transform-arrow-functions', "+"it's not possible to compile `super()` in an arrow function without compiling classes.\n"+"Please add '@babel/plugin-transform-classes' to your Babel configuration.");}if(!allowInsertArrowWithRest){throw superCalls[0].buildCodeFrameError("When using '@babel/plugin-transform-parameters', "+"it's not possible to compile `super()` in an arrow function with default or rest parameters without compiling classes.\n"+"Please add '@babel/plugin-transform-classes' to your Babel configuration.");}var allSuperCalls=[];thisEnvFn.traverse(getSuperCallsVisitor,{allSuperCalls:allSuperCalls});var superBinding=getSuperBinding(thisEnvFn);allSuperCalls.forEach(function(superCall){var callee=identifier$b(superBinding);callee.loc=superCall.node.callee.loc;superCall.get("callee").replaceWith(callee);});}if(argumentsPaths.length>0){var argumentsBinding=getBinding(thisEnvFn,"arguments",function(){var args=function args(){return identifier$b("arguments");};if(thisEnvFn.scope.path.isProgram()){return conditionalExpression$3(binaryExpression$4("===",unaryExpression$5("typeof",args()),stringLiteral$6("undefined")),thisEnvFn.scope.buildUndefinedNode(),args());}else{return args();}});argumentsPaths.forEach(function(argumentsChild){var argsRef=identifier$b(argumentsBinding);argsRef.loc=argumentsChild.node.loc;argumentsChild.replaceWith(argsRef);});}if(newTargetPaths.length>0){var newTargetBinding=getBinding(thisEnvFn,"newtarget",function(){return metaProperty(identifier$b("new"),identifier$b("target"));});newTargetPaths.forEach(function(targetChild){var targetRef=identifier$b(newTargetBinding);targetRef.loc=targetChild.node.loc;targetChild.replaceWith(targetRef);});}if(superProps.length>0){if(!allowInsertArrow){throw superProps[0].buildCodeFrameError("When using '@babel/plugin-transform-arrow-functions', "+"it's not possible to compile `super.prop` in an arrow function without compiling classes.\n"+"Please add '@babel/plugin-transform-classes' to your Babel configuration.");}var flatSuperProps=superProps.reduce(function(acc,superProp){return acc.concat(standardizeSuperProperty(superProp));},[]);flatSuperProps.forEach(function(superProp){var key=superProp.node.computed?"":superProp.get("property").node.name;var superParentPath=superProp.parentPath;var isAssignment=superParentPath.isAssignmentExpression({left:superProp.node});var isCall=superParentPath.isCallExpression({callee:superProp.node});var isTaggedTemplate=superParentPath.isTaggedTemplateExpression({tag:superProp.node});var superBinding=getSuperPropBinding(thisEnvFn,isAssignment,key);var args=[];if(superProp.node.computed){args.push(superProp.get("property").node);}if(isAssignment){var value=superParentPath.node.right;args.push(value);}var call=callExpression$a(identifier$b(superBinding),args);if(isCall){superParentPath.unshiftContainer("arguments",thisExpression$3());superProp.replaceWith(memberExpression$a(call,identifier$b("call")));thisPaths.push(superParentPath.get("arguments.0"));}else if(isAssignment){superParentPath.replaceWith(call);}else if(isTaggedTemplate){superProp.replaceWith(callExpression$a(memberExpression$a(call,identifier$b("bind"),false),[thisExpression$3()]));thisPaths.push(superProp.get("arguments.0"));}else{superProp.replaceWith(call);}});}var thisBinding;if(thisPaths.length>0||!noNewArrows){thisBinding=getThisBinding(thisEnvFn,inConstructor);if(noNewArrows||inConstructor&&hasSuperClass(thisEnvFn)){thisPaths.forEach(function(thisChild){var thisRef=thisChild.isJSX()?jsxIdentifier$1(thisBinding):identifier$b(thisBinding);thisRef.loc=thisChild.node.loc;thisChild.replaceWith(thisRef);});if(!noNewArrows)thisBinding=null;}}return{thisBinding:thisBinding,fnPath:fnPath};}function isLogicalOp(op){return LOGICAL_OPERATORS$2.includes(op);}function standardizeSuperProperty(superProp){if(superProp.parentPath.isAssignmentExpression()&&superProp.parentPath.node.operator!=="="){var assignmentPath=superProp.parentPath;var op=assignmentPath.node.operator.slice(0,-1);var value=assignmentPath.node.right;var isLogicalAssignment=isLogicalOp(op);if(superProp.node.computed){var tmp=superProp.scope.generateDeclaredUidIdentifier("tmp");var object=superProp.node.object;var property=superProp.node.property;assignmentPath.get("left").replaceWith(memberExpression$a(object,assignmentExpression$a("=",tmp,property),true));assignmentPath.get("right").replaceWith(rightExpression(isLogicalAssignment?"=":op,memberExpression$a(object,identifier$b(tmp.name),true),value));}else{var _object=superProp.node.object;var _property=superProp.node.property;assignmentPath.get("left").replaceWith(memberExpression$a(_object,_property));assignmentPath.get("right").replaceWith(rightExpression(isLogicalAssignment?"=":op,memberExpression$a(_object,identifier$b(_property.name)),value));}if(isLogicalAssignment){assignmentPath.replaceWith(logicalExpression$2(op,assignmentPath.node.left,assignmentPath.node.right));}else{assignmentPath.node.operator="=";}return[assignmentPath.get("left"),assignmentPath.get("right").get("left")];}else if(superProp.parentPath.isUpdateExpression()){var updateExpr=superProp.parentPath;var _tmp=superProp.scope.generateDeclaredUidIdentifier("tmp");var computedKey=superProp.node.computed?superProp.scope.generateDeclaredUidIdentifier("prop"):null;var parts=[assignmentExpression$a("=",_tmp,memberExpression$a(superProp.node.object,computedKey?assignmentExpression$a("=",computedKey,superProp.node.property):superProp.node.property,superProp.node.computed)),assignmentExpression$a("=",memberExpression$a(superProp.node.object,computedKey?identifier$b(computedKey.name):superProp.node.property,superProp.node.computed),binaryExpression$4(superProp.parentPath.node.operator[0],identifier$b(_tmp.name),numericLiteral$6(1)))];if(!superProp.parentPath.node.prefix){parts.push(identifier$b(_tmp.name));}updateExpr.replaceWith(sequenceExpression$6(parts));var left=updateExpr.get("expressions.0.right");var right=updateExpr.get("expressions.1.left");return[left,right];}return[superProp];function rightExpression(op,left,right){if(op==="="){return assignmentExpression$a("=",left,right);}else{return binaryExpression$4(op,left,right);}}}function hasSuperClass(thisEnvFn){return thisEnvFn.isClassMethod()&&!!thisEnvFn.parentPath.parentPath.node.superClass;}var assignSuperThisVisitor=merge$1([{CallExpression:function CallExpression(child,_ref3){var supers=_ref3.supers,thisBinding=_ref3.thisBinding;if(!child.get("callee").isSuper())return;if(supers.has(child.node))return;supers.add(child.node);child.replaceWithMultiple([child.node,assignmentExpression$a("=",identifier$b(thisBinding),identifier$b("this"))]);}},visitor$5]);function getThisBinding(thisEnvFn,inConstructor){return getBinding(thisEnvFn,"this",function(thisBinding){if(!inConstructor||!hasSuperClass(thisEnvFn))return thisExpression$3();thisEnvFn.traverse(assignSuperThisVisitor,{supers:new WeakSet(),thisBinding:thisBinding});});}function getSuperBinding(thisEnvFn){return getBinding(thisEnvFn,"supercall",function(){var argsBinding=thisEnvFn.scope.generateUidIdentifier("args");return arrowFunctionExpression$2([restElement$1(argsBinding)],callExpression$a(_super(),[spreadElement$1(identifier$b(argsBinding.name))]));});}function getSuperPropBinding(thisEnvFn,isAssignment,propName){var op=isAssignment?"set":"get";return getBinding(thisEnvFn,"superprop_"+op+":"+(propName||""),function(){var argsList=[];var fnBody;if(propName){fnBody=memberExpression$a(_super(),identifier$b(propName));}else{var method=thisEnvFn.scope.generateUidIdentifier("prop");argsList.unshift(method);fnBody=memberExpression$a(_super(),identifier$b(method.name),true);}if(isAssignment){var valueIdent=thisEnvFn.scope.generateUidIdentifier("value");argsList.push(valueIdent);fnBody=assignmentExpression$a("=",fnBody,identifier$b(valueIdent.name));}return arrowFunctionExpression$2(argsList,fnBody);});}function getBinding(thisEnvFn,key,init){var cacheKey="binding:"+key;var data=thisEnvFn.getData(cacheKey);if(!data){var id=thisEnvFn.scope.generateUidIdentifier(key);data=id.name;thisEnvFn.setData(cacheKey,data);thisEnvFn.scope.push({id:id,init:init(data)});}return data;}var getScopeInformationVisitor=merge$1([{ThisExpression:function ThisExpression(child,_ref4){var thisPaths=_ref4.thisPaths;thisPaths.push(child);},JSXIdentifier:function JSXIdentifier(child,_ref5){var thisPaths=_ref5.thisPaths;if(child.node.name!=="this")return;if(!child.parentPath.isJSXMemberExpression({object:child.node})&&!child.parentPath.isJSXOpeningElement({name:child.node})){return;}thisPaths.push(child);},CallExpression:function CallExpression(child,_ref6){var superCalls=_ref6.superCalls;if(child.get("callee").isSuper())superCalls.push(child);},MemberExpression:function MemberExpression(child,_ref7){var superProps=_ref7.superProps;if(child.get("object").isSuper())superProps.push(child);},Identifier:function Identifier(child,_ref8){var argumentsPaths=_ref8.argumentsPaths;if(!child.isReferencedIdentifier({name:"arguments"}))return;var curr=child.scope;do{if(curr.hasOwnBinding("arguments")){curr.rename("arguments");return;}if(curr.path.isFunction()&&!curr.path.isArrowFunctionExpression()){break;}}while(curr=curr.parent);argumentsPaths.push(child);},MetaProperty:function MetaProperty(child,_ref9){var newTargetPaths=_ref9.newTargetPaths;if(!child.get("meta").isIdentifier({name:"new"}))return;if(!child.get("property").isIdentifier({name:"target"}))return;newTargetPaths.push(child);}},visitor$5]);function getScopeInformation(fnPath){var thisPaths=[];var argumentsPaths=[];var newTargetPaths=[];var superProps=[];var superCalls=[];fnPath.traverse(getScopeInformationVisitor,{thisPaths:thisPaths,argumentsPaths:argumentsPaths,newTargetPaths:newTargetPaths,superProps:superProps,superCalls:superCalls});return{thisPaths:thisPaths,argumentsPaths:argumentsPaths,newTargetPaths:newTargetPaths,superProps:superProps,superCalls:superCalls};}var NodePath_conversion=/*#__PURE__*/Object.freeze({__proto__:null,arrowFunctionToExpression:arrowFunctionToExpression,ensureBlock:ensureBlock,toComputedKey:toComputedKey$1,unwrapFunctionEnvironment:unwrapFunctionEnvironment});var STATEMENT_OR_BLOCK_KEYS=STATEMENT_OR_BLOCK_KEYS$1,VISITOR_KEYS$3=VISITOR_KEYS$5,isBlockStatement=isBlockStatement$3,isExpression$1=isExpression$4,isIdentifier$8=isIdentifier$j,isLiteral$1=isLiteral$6,isStringLiteral$1=isStringLiteral$5,isType=isType$2,_matchesPattern=matchesPattern$2;function matchesPattern(pattern,allowPartial){return _matchesPattern(this.node,pattern,allowPartial);}function has$3(key){var val=this.node&&this.node[key];if(val&&Array.isArray(val)){return!!val.length;}else{return!!val;}}function isStatic(){return this.scope.isStatic(this.node);}var is=has$3;function isnt(key){return!this.has(key);}function equals(key,value){return this.node[key]===value;}function isNodeType(type){return isType(this.type,type);}function canHaveVariableDeclarationOrExpression(){return(this.key==="init"||this.key==="left")&&this.parentPath.isFor();}function canSwapBetweenExpressionAndStatement(replacement){if(this.key!=="body"||!this.parentPath.isArrowFunctionExpression()){return false;}if(this.isExpression()){return isBlockStatement(replacement);}else if(this.isBlockStatement()){return isExpression$1(replacement);}return false;}function isCompletionRecord(allowInsideFunction){var path=this;var first=true;do{var _path=path,type=_path.type,container=_path.container;if(!first&&(path.isFunction()||type==="StaticBlock")){return!!allowInsideFunction;}first=false;if(Array.isArray(container)&&path.key!==container.length-1){return false;}}while((path=path.parentPath)&&!path.isProgram()&&!path.isDoExpression());return true;}function isStatementOrBlock(){if(this.parentPath.isLabeledStatement()||isBlockStatement(this.container)){return false;}else{return STATEMENT_OR_BLOCK_KEYS.includes(this.key);}}function referencesImport(moduleSource,importName){if(!this.isReferencedIdentifier()){if(this.isJSXMemberExpression()&&this.node.property.name===importName||(this.isMemberExpression()||this.isOptionalMemberExpression())&&(this.node.computed?isStringLiteral$1(this.node.property,{value:importName}):this.node.property.name===importName)){var object=this.get("object");return object.isReferencedIdentifier()&&object.referencesImport(moduleSource,"*");}return false;}var binding=this.scope.getBinding(this.node.name);if(!binding||binding.kind!=="module")return false;var path=binding.path;var parent=path.parentPath;if(!parent.isImportDeclaration())return false;if(parent.node.source.value===moduleSource){if(!importName)return true;}else{return false;}if(path.isImportDefaultSpecifier()&&importName==="default"){return true;}if(path.isImportNamespaceSpecifier()&&importName==="*"){return true;}if(path.isImportSpecifier()&&isIdentifier$8(path.node.imported,{name:importName})){return true;}return false;}function getSource$1(){var node=this.node;if(node.end){var code=this.hub.getCode();if(code)return code.slice(node.start,node.end);}return"";}function willIMaybeExecuteBefore(target){return this._guessExecutionStatusRelativeTo(target)!=="after";}function getOuterFunction(path){return path.isProgram()?path:(path.parentPath.scope.getFunctionParent()||path.parentPath.scope.getProgramParent()).path;}function isExecutionUncertain(type,key){switch(type){case"LogicalExpression":return key==="right";case"ConditionalExpression":case"IfStatement":return key==="consequent"||key==="alternate";case"WhileStatement":case"DoWhileStatement":case"ForInStatement":case"ForOfStatement":return key==="body";case"ForStatement":return key==="body"||key==="update";case"SwitchStatement":return key==="cases";case"TryStatement":return key==="handler";case"AssignmentPattern":return key==="right";case"OptionalMemberExpression":return key==="property";case"OptionalCallExpression":return key==="arguments";default:return false;}}function isExecutionUncertainInList(paths,maxIndex){for(var i=0;i<maxIndex;i++){var path=paths[i];if(isExecutionUncertain(path.parent.type,path.parentKey)){return true;}}return false;}var SYMBOL_CHECKING=Symbol();function _guessExecutionStatusRelativeTo(target){return _guessExecutionStatusRelativeToCached(this,target,new Map());}function _guessExecutionStatusRelativeToCached(base,target,cache){var funcParent={"this":getOuterFunction(base),target:getOuterFunction(target)};if(funcParent.target.node!==funcParent["this"].node){return _guessExecutionStatusRelativeToDifferentFunctionsCached(base,funcParent.target,cache);}var paths={target:target.getAncestry(),"this":base.getAncestry()};if(paths.target.indexOf(base)>=0)return"after";if(paths["this"].indexOf(target)>=0)return"before";var commonPath;var commonIndex={target:0,"this":0};while(!commonPath&&commonIndex["this"]<paths["this"].length){var path=paths["this"][commonIndex["this"]];commonIndex.target=paths.target.indexOf(path);if(commonIndex.target>=0){commonPath=path;}else{commonIndex["this"]++;}}if(!commonPath){throw new Error("Internal Babel error - The two compared nodes"+" don't appear to belong to the same program.");}if(isExecutionUncertainInList(paths["this"],commonIndex["this"]-1)||isExecutionUncertainInList(paths.target,commonIndex.target-1)){return"unknown";}var divergence={"this":paths["this"][commonIndex["this"]-1],target:paths.target[commonIndex.target-1]};if(divergence.target.listKey&&divergence["this"].listKey&&divergence.target.container===divergence["this"].container){return divergence.target.key>divergence["this"].key?"before":"after";}var keys=VISITOR_KEYS$3[commonPath.type];var keyPosition={"this":keys.indexOf(divergence["this"].parentKey),target:keys.indexOf(divergence.target.parentKey)};return keyPosition.target>keyPosition["this"]?"before":"after";}function _guessExecutionStatusRelativeToDifferentFunctionsInternal(base,target,cache){if(!target.isFunctionDeclaration()){if(_guessExecutionStatusRelativeToCached(base,target,cache)==="before"){return"before";}return"unknown";}else if(target.parentPath.isExportDeclaration()){return"unknown";}var binding=target.scope.getBinding(target.node.id.name);if(!binding.references)return"before";var referencePaths=binding.referencePaths;var allStatus;for(var _iterator=_createForOfIteratorHelperLoose(referencePaths),_step;!(_step=_iterator()).done;){var path=_step.value;var childOfFunction=!!path.find(function(path){return path.node===target.node;});if(childOfFunction)continue;if(path.key!=="callee"||!path.parentPath.isCallExpression()){return"unknown";}var status=_guessExecutionStatusRelativeToCached(base,path,cache);if(allStatus&&allStatus!==status){return"unknown";}else{allStatus=status;}}return allStatus;}function _guessExecutionStatusRelativeToDifferentFunctionsCached(base,target,cache){var nodeMap=cache.get(base.node);var cached;if(!nodeMap){cache.set(base.node,nodeMap=new Map());}else if(cached=nodeMap.get(target.node)){if(cached===SYMBOL_CHECKING){return"unknown";}return cached;}nodeMap.set(target.node,SYMBOL_CHECKING);var result=_guessExecutionStatusRelativeToDifferentFunctionsInternal(base,target,cache);nodeMap.set(target.node,result);return result;}function resolve$3(dangerous,resolved){return this._resolve(dangerous,resolved)||this;}function _resolve(dangerous,resolved){if(resolved&&resolved.indexOf(this)>=0)return;resolved=resolved||[];resolved.push(this);if(this.isVariableDeclarator()){if(this.get("id").isIdentifier()){return this.get("init").resolve(dangerous,resolved);}}else if(this.isReferencedIdentifier()){var binding=this.scope.getBinding(this.node.name);if(!binding)return;if(!binding.constant)return;if(binding.kind==="module")return;if(binding.path!==this){var ret=binding.path.resolve(dangerous,resolved);if(this.find(function(parent){return parent.node===ret.node;}))return;return ret;}}else if(this.isTypeCastExpression()){return this.get("expression").resolve(dangerous,resolved);}else if(dangerous&&this.isMemberExpression()){var targetKey=this.toComputedKey();if(!isLiteral$1(targetKey))return;var targetName=targetKey.value;var target=this.get("object").resolve(dangerous,resolved);if(target.isObjectExpression()){var props=target.get("properties");for(var _i=0,_arr=props;_i<_arr.length;_i++){var prop=_arr[_i];if(!prop.isProperty())continue;var key=prop.get("key");var match=prop.isnt("computed")&&key.isIdentifier({name:targetName});match=match||key.isLiteral({value:targetName});if(match)return prop.get("value").resolve(dangerous,resolved);}}else if(target.isArrayExpression()&&!isNaN(+targetName)){var elems=target.get("elements");var elem=elems[targetName];if(elem)return elem.resolve(dangerous,resolved);}}}function isConstantExpression(){if(this.isIdentifier()){var binding=this.scope.getBinding(this.node.name);if(!binding)return false;return binding.constant;}if(this.isLiteral()){if(this.isRegExpLiteral()){return false;}if(this.isTemplateLiteral()){return this.get("expressions").every(function(expression){return expression.isConstantExpression();});}return true;}if(this.isUnaryExpression()){if(this.node.operator!=="void"){return false;}return this.get("argument").isConstantExpression();}if(this.isBinaryExpression()){var operator=this.node.operator;return operator!=="in"&&operator!=="instanceof"&&this.get("left").isConstantExpression()&&this.get("right").isConstantExpression();}if(this.isMemberExpression()){return!this.node.computed&&this.get("object").isIdentifier({name:"Symbol"})&&!this.scope.hasBinding("Symbol",{noGlobals:true});}if(this.isCallExpression()){return this.node.arguments.length===1&&this.get("callee").matchesPattern("Symbol.for")&&!this.scope.hasBinding("Symbol",{noGlobals:true})&&this.get("arguments")[0].isStringLiteral();}return false;}function isInStrictMode(){var start=this.isProgram()?this:this.parentPath;var strictParent=start.find(function(path){if(path.isProgram({sourceType:"module"}))return true;if(path.isClass())return true;if(path.isArrowFunctionExpression()&&!path.get("body").isBlockStatement()){return false;}var body;if(path.isFunction()){body=path.node.body;}else if(path.isProgram()){body=path.node;}else{return false;}for(var _iterator2=_createForOfIteratorHelperLoose(body.directives),_step2;!(_step2=_iterator2()).done;){var directive=_step2.value;if(directive.value.value==="use strict"){return true;}}});return!!strictParent;}var NodePath_introspection=/*#__PURE__*/Object.freeze({__proto__:null,_guessExecutionStatusRelativeTo:_guessExecutionStatusRelativeTo,_resolve:_resolve,canHaveVariableDeclarationOrExpression:canHaveVariableDeclarationOrExpression,canSwapBetweenExpressionAndStatement:canSwapBetweenExpressionAndStatement,equals:equals,getSource:getSource$1,has:has$3,is:is,isCompletionRecord:isCompletionRecord,isConstantExpression:isConstantExpression,isInStrictMode:isInStrictMode,isNodeType:isNodeType,isStatementOrBlock:isStatementOrBlock,isStatic:isStatic,isnt:isnt,matchesPattern:matchesPattern,referencesImport:referencesImport,resolve:resolve$3,willIMaybeExecuteBefore:willIMaybeExecuteBefore});function call(key){var opts=this.opts;this.debug(key);if(this.node){if(this._call(opts[key]))return true;}if(this.node){var _opts$this$node$type;return this._call((_opts$this$node$type=opts[this.node.type])==null?void 0:_opts$this$node$type[key]);}return false;}function _call(fns){if(!fns)return false;for(var _iterator=_createForOfIteratorHelperLoose(fns),_step;!(_step=_iterator()).done;){var fn=_step.value;if(!fn)continue;var node=this.node;if(!node)return true;var ret=fn.call(this.state,this,this.state);if(ret&&_typeof(ret)==="object"&&typeof ret.then==="function"){throw new Error("You appear to be using a plugin with an async traversal visitor, "+"which your current version of Babel does not support. "+"If you're using a published plugin, you may need to upgrade "+"your @babel/core version.");}if(ret){throw new Error("Unexpected return value from visitor method "+fn);}if(this.node!==node)return true;if(this._traverseFlags>0)return true;}return false;}function isDenylisted(){var _this$opts$denylist;var denylist=(_this$opts$denylist=this.opts.denylist)!=null?_this$opts$denylist:this.opts.blacklist;return denylist&&denylist.indexOf(this.node.type)>-1;}function restoreContext(path,context){if(path.context!==context){path.context=context;path.state=context.state;path.opts=context.opts;}}function visit$1(){var _this$opts$shouldSkip,_this$opts;if(!this.node){return false;}if(this.isDenylisted()){return false;}if((_this$opts$shouldSkip=(_this$opts=this.opts).shouldSkip)!=null&&_this$opts$shouldSkip.call(_this$opts,this)){return false;}var currentContext=this.context;if(this.shouldSkip||this.call("enter")){this.debug("Skip...");return this.shouldStop;}restoreContext(this,currentContext);this.debug("Recursing into...");this.shouldStop=traverseNode(this.node,this.opts,this.scope,this.state,this,this.skipKeys);restoreContext(this,currentContext);this.call("exit");return this.shouldStop;}function skip(){this.shouldSkip=true;}function skipKey(key){if(this.skipKeys==null){this.skipKeys={};}this.skipKeys[key]=true;}function stop(){this._traverseFlags|=SHOULD_SKIP|SHOULD_STOP;}function setScope(){var _this$opts2,_this$scope;if((_this$opts2=this.opts)!=null&&_this$opts2.noScope)return;var path=this.parentPath;if((this.key==="key"||this.listKey==="decorators")&&path.isMethod()||this.key==="discriminant"&&path.isSwitchStatement()){path=path.parentPath;}var target;while(path&&!target){var _path$opts;if((_path$opts=path.opts)!=null&&_path$opts.noScope)return;target=path.scope;path=path.parentPath;}this.scope=this.getScope(target);(_this$scope=this.scope)==null||_this$scope.init();}function setContext(context){if(this.skipKeys!=null){this.skipKeys={};}this._traverseFlags=0;if(context){this.context=context;this.state=context.state;this.opts=context.opts;}this.setScope();return this;}function resync(){if(this.removed)return;this._resyncParent();this._resyncList();this._resyncKey();}function _resyncParent(){if(this.parentPath){this.parent=this.parentPath.node;}}function _resyncKey(){if(!this.container)return;if(this.node===this.container[this.key]){return;}if(Array.isArray(this.container)){for(var i=0;i<this.container.length;i++){if(this.container[i]===this.node){this.setKey(i);return;}}}else{for(var _i=0,_Object$keys=Object.keys(this.container);_i<_Object$keys.length;_i++){var key=_Object$keys[_i];if(this.container[key]===this.node){this.setKey(key);return;}}}this.key=null;}function _resyncList(){if(!this.parent||!this.inList)return;var newContainer=this.parent[this.listKey];if(this.container===newContainer)return;this.container=newContainer||null;}function _resyncRemoved(){if(this.key==null||!this.container||this.container[this.key]!==this.node){this._markRemoved();}}function popContext(){this.contexts.pop();if(this.contexts.length>0){this.setContext(this.contexts[this.contexts.length-1]);}else{this.setContext(undefined);}}function pushContext(context){this.contexts.push(context);this.setContext(context);}function setup(parentPath,container,listKey,key){this.listKey=listKey;this.container=container;this.parentPath=parentPath||this.parentPath;this.setKey(key);}function setKey(key){var _this$node;this.key=key;this.node=this.container[this.key];this.type=(_this$node=this.node)==null?void 0:_this$node.type;}function requeue(pathToQueue){if(pathToQueue===void 0){pathToQueue=this;}if(pathToQueue.removed)return;var contexts=this.contexts;for(var _iterator2=_createForOfIteratorHelperLoose(contexts),_step2;!(_step2=_iterator2()).done;){var context=_step2.value;context.maybeQueue(pathToQueue);}}function _getQueueContexts(){var path=this;var contexts=this.contexts;while(!contexts.length){path=path.parentPath;if(!path)break;contexts=path.contexts;}return contexts;}var NodePath_context=/*#__PURE__*/Object.freeze({__proto__:null,_call:_call,_getQueueContexts:_getQueueContexts,_resyncKey:_resyncKey,_resyncList:_resyncList,_resyncParent:_resyncParent,_resyncRemoved:_resyncRemoved,call:call,isBlacklisted:isDenylisted,isDenylisted:isDenylisted,popContext:popContext,pushContext:pushContext,requeue:requeue,resync:resync,setContext:setContext,setKey:setKey,setScope:setScope,setup:setup,skip:skip,skipKey:skipKey,stop:stop,visit:visit$1});var hooks=[function(self,parent){var removeParent=self.key==="test"&&(parent.isWhile()||parent.isSwitchCase())||self.key==="declaration"&&parent.isExportDeclaration()||self.key==="body"&&parent.isLabeledStatement()||self.listKey==="declarations"&&parent.isVariableDeclaration()&&parent.node.declarations.length===1||self.key==="expression"&&parent.isExpressionStatement();if(removeParent){parent.remove();return true;}},function(self,parent){if(parent.isSequenceExpression()&&parent.node.expressions.length===1){parent.replaceWith(parent.node.expressions[0]);return true;}},function(self,parent){if(parent.isBinary()){if(self.key==="left"){parent.replaceWith(parent.node.right);}else{parent.replaceWith(parent.node.left);}return true;}},function(self,parent){if(parent.isIfStatement()&&self.key==="consequent"||self.key==="body"&&(parent.isLoop()||parent.isArrowFunctionExpression())){self.replaceWith({type:"BlockStatement",body:[]});return true;}}];var getBindingIdentifiers$1=getBindingIdentifiers$4;function remove(){var _this$opts;this._assertUnremoved();this.resync();if(!((_this$opts=this.opts)!=null&&_this$opts.noScope)){this._removeFromScope();}if(this._callRemovalHooks()){this._markRemoved();return;}this.shareCommentsWithSiblings();this._remove();this._markRemoved();}function _removeFromScope(){var _this=this;var bindings=getBindingIdentifiers$1(this.node,false,false,true);Object.keys(bindings).forEach(function(name){return _this.scope.removeBinding(name);});}function _callRemovalHooks(){if(this.parentPath){for(var _iterator=_createForOfIteratorHelperLoose(hooks),_step;!(_step=_iterator()).done;){var fn=_step.value;if(fn(this,this.parentPath))return true;}}}function _remove(){if(Array.isArray(this.container)){this.container.splice(this.key,1);this.updateSiblingKeys(this.key,-1);}else{this._replaceWith(null);}}function _markRemoved(){this._traverseFlags|=SHOULD_SKIP|REMOVED;if(this.parent){getCachedPaths(this.hub,this.parent)["delete"](this.node);}this.node=null;}function _assertUnremoved(){if(this.removed){throw this.buildCodeFrameError("NodePath has been removed so is read-only.");}}var NodePath_removal=/*#__PURE__*/Object.freeze({__proto__:null,_assertUnremoved:_assertUnremoved,_callRemovalHooks:_callRemovalHooks,_markRemoved:_markRemoved,_remove:_remove,_removeFromScope:_removeFromScope,remove:remove});var react$1=react$3;var cloneNode$d=cloneNode$j,jsxExpressionContainer=jsxExpressionContainer$1,variableDeclaration$5=variableDeclaration$8,variableDeclarator$5=variableDeclarator$8;var referenceVisitor$1={ReferencedIdentifier:function ReferencedIdentifier(path,state){if(path.isJSXIdentifier()&&react$1.isCompatTag(path.node.name)&&!path.parentPath.isJSXMemberExpression()){return;}if(path.node.name==="this"){var scope=path.scope;do{if(scope.path.isFunction()&&!scope.path.isArrowFunctionExpression()){break;}}while(scope=scope.parent);if(scope)state.breakOnScopePaths.push(scope.path);}var binding=path.scope.getBinding(path.node.name);if(!binding)return;for(var _iterator=_createForOfIteratorHelperLoose(binding.constantViolations),_step;!(_step=_iterator()).done;){var violation=_step.value;if(violation.scope!==binding.path.scope){state.mutableBinding=true;path.stop();return;}}if(binding!==state.scope.getBinding(path.node.name))return;state.bindings[path.node.name]=binding;}};var PathHoister=function(){function PathHoister(path,scope){this.breakOnScopePaths=void 0;this.bindings=void 0;this.mutableBinding=void 0;this.scopes=void 0;this.scope=void 0;this.path=void 0;this.attachAfter=void 0;this.breakOnScopePaths=[];this.bindings={};this.mutableBinding=false;this.scopes=[];this.scope=scope;this.path=path;this.attachAfter=false;}var _proto=PathHoister.prototype;_proto.isCompatibleScope=function isCompatibleScope(scope){for(var _i=0,_Object$keys=Object.keys(this.bindings);_i<_Object$keys.length;_i++){var key=_Object$keys[_i];var binding=this.bindings[key];if(!scope.bindingIdentifierEquals(key,binding.identifier)){return false;}}return true;};_proto.getCompatibleScopes=function getCompatibleScopes(){var scope=this.path.scope;do{if(this.isCompatibleScope(scope)){this.scopes.push(scope);}else{break;}if(this.breakOnScopePaths.indexOf(scope.path)>=0){break;}}while(scope=scope.parent);};_proto.getAttachmentPath=function getAttachmentPath(){var path=this._getAttachmentPath();if(!path)return;var targetScope=path.scope;if(targetScope.path===path){targetScope=path.scope.parent;}if(targetScope.path.isProgram()||targetScope.path.isFunction()){for(var _i2=0,_Object$keys2=Object.keys(this.bindings);_i2<_Object$keys2.length;_i2++){var name=_Object$keys2[_i2];if(!targetScope.hasOwnBinding(name))continue;var binding=this.bindings[name];if(binding.kind==="param"||binding.path.parentKey==="params"){continue;}var bindingParentPath=this.getAttachmentParentForPath(binding.path);if(bindingParentPath.key>=path.key){this.attachAfter=true;path=binding.path;for(var _iterator2=_createForOfIteratorHelperLoose(binding.constantViolations),_step2;!(_step2=_iterator2()).done;){var violationPath=_step2.value;if(this.getAttachmentParentForPath(violationPath).key>path.key){path=violationPath;}}}}}return path;};_proto._getAttachmentPath=function _getAttachmentPath(){var scopes=this.scopes;var scope=scopes.pop();if(!scope)return;if(scope.path.isFunction()){if(this.hasOwnParamBindings(scope)){if(this.scope===scope)return;var bodies=scope.path.get("body").get("body");for(var i=0;i<bodies.length;i++){if(bodies[i].node._blockHoist)continue;return bodies[i];}}else{return this.getNextScopeAttachmentParent();}}else if(scope.path.isProgram()){return this.getNextScopeAttachmentParent();}};_proto.getNextScopeAttachmentParent=function getNextScopeAttachmentParent(){var scope=this.scopes.pop();if(scope)return this.getAttachmentParentForPath(scope.path);};_proto.getAttachmentParentForPath=function getAttachmentParentForPath(path){do{if(!path.parentPath||Array.isArray(path.container)&&path.isStatement()){return path;}}while(path=path.parentPath);};_proto.hasOwnParamBindings=function hasOwnParamBindings(scope){for(var _i3=0,_Object$keys3=Object.keys(this.bindings);_i3<_Object$keys3.length;_i3++){var name=_Object$keys3[_i3];if(!scope.hasOwnBinding(name))continue;var binding=this.bindings[name];if(binding.kind==="param"&&binding.constant)return true;}return false;};_proto.run=function run(){this.path.traverse(referenceVisitor$1,this);if(this.mutableBinding)return;this.getCompatibleScopes();var attachTo=this.getAttachmentPath();if(!attachTo)return;if(attachTo.getFunctionParent()===this.path.getFunctionParent())return;var uid=attachTo.scope.generateUidIdentifier("ref");var declarator=variableDeclarator$5(uid,this.path.node);var insertFn=this.attachAfter?"insertAfter":"insertBefore";var _attachTo$insertFn=attachTo[insertFn]([attachTo.isVariableDeclarator()?declarator:variableDeclaration$5("var",[declarator])]),_attachTo$insertFn2=_slicedToArray(_attachTo$insertFn,1),attached=_attachTo$insertFn2[0];var parent=this.path.parentPath;if(parent.isJSXElement()&&this.path.container===parent.node.children){uid=jsxExpressionContainer(uid);}this.path.replaceWith(cloneNode$d(uid));return attachTo.isVariableDeclarator()?attached.get("init"):attached.get("declarations.0.init");};return _createClass(PathHoister);}();var arrowFunctionExpression$1=arrowFunctionExpression$4,assertExpression=assertExpression$1,assignmentExpression$9=assignmentExpression$d,blockStatement$2=blockStatement$6,callExpression$9=callExpression$d,cloneNode$c=cloneNode$j,expressionStatement$5=expressionStatement$a,isAssignmentExpression=isAssignmentExpression$3,isCallExpression$1=isCallExpression$8,isExportNamedDeclaration=isExportNamedDeclaration$3,isExpression=isExpression$4,isIdentifier$7=isIdentifier$j,isSequenceExpression=isSequenceExpression$1,isSuper$1=isSuper$3,thisExpression$2=thisExpression$4;function insertBefore(nodes_){this._assertUnremoved();var nodes=this._verifyNodeList(nodes_);var parentPath=this.parentPath,parent=this.parent;if(parentPath.isExpressionStatement()||parentPath.isLabeledStatement()||isExportNamedDeclaration(parent)||parentPath.isExportDefaultDeclaration()&&this.isDeclaration()){return parentPath.insertBefore(nodes);}else if(this.isNodeType("Expression")&&!this.isJSXElement()||parentPath.isForStatement()&&this.key==="init"){if(this.node)nodes.push(this.node);return this.replaceExpressionWithStatements(nodes);}else if(Array.isArray(this.container)){return this._containerInsertBefore(nodes);}else if(this.isStatementOrBlock()){var node=this.node;var shouldInsertCurrentNode=node&&(!this.isExpressionStatement()||node.expression!=null);this.replaceWith(blockStatement$2(shouldInsertCurrentNode?[node]:[]));return this.unshiftContainer("body",nodes);}else{throw new Error("We don't know what to do with this node type. "+"We were previously a Statement but we can't fit in here?");}}function _containerInsert(from,nodes){var _this$container;this.updateSiblingKeys(from,nodes.length);var paths=[];(_this$container=this.container).splice.apply(_this$container,[from,0].concat(_toConsumableArray(nodes)));for(var i=0;i<nodes.length;i++){var _this$context;var to=from+i;var path=this.getSibling(to);paths.push(path);if((_this$context=this.context)!=null&&_this$context.queue){path.pushContext(this.context);}}var contexts=this._getQueueContexts();for(var _i=0,_paths=paths;_i<_paths.length;_i++){var _path=_paths[_i];_path.setScope();_path.debug("Inserted.");for(var _iterator=_createForOfIteratorHelperLoose(contexts),_step;!(_step=_iterator()).done;){var context=_step.value;context.maybeQueue(_path,true);}}return paths;}function _containerInsertBefore(nodes){return this._containerInsert(this.key,nodes);}function _containerInsertAfter(nodes){return this._containerInsert(this.key+1,nodes);}var last$1=function last(arr){return arr[arr.length-1];};function isHiddenInSequenceExpression(path){return isSequenceExpression(path.parent)&&(last$1(path.parent.expressions)!==path.node||isHiddenInSequenceExpression(path.parentPath));}function isAlmostConstantAssignment(node,scope){if(!isAssignmentExpression(node)||!isIdentifier$7(node.left)){return false;}var blockScope=scope.getBlockParent();return blockScope.hasOwnBinding(node.left.name)&&blockScope.getOwnBinding(node.left.name).constantViolations.length<=1;}function insertAfter(nodes_){this._assertUnremoved();if(this.isSequenceExpression()){return last$1(this.get("expressions")).insertAfter(nodes_);}var nodes=this._verifyNodeList(nodes_);var parentPath=this.parentPath,parent=this.parent;if(parentPath.isExpressionStatement()||parentPath.isLabeledStatement()||isExportNamedDeclaration(parent)||parentPath.isExportDefaultDeclaration()&&this.isDeclaration()){return parentPath.insertAfter(nodes.map(function(node){return isExpression(node)?expressionStatement$5(node):node;}));}else if(this.isNodeType("Expression")&&!this.isJSXElement()&&!parentPath.isJSXElement()||parentPath.isForStatement()&&this.key==="init"){if(this.node){var node=this.node;var scope=this.scope;if(scope.path.isPattern()){assertExpression(node);this.replaceWith(callExpression$9(arrowFunctionExpression$1([],node),[]));this.get("callee.body").insertAfter(nodes);return[this];}if(isHiddenInSequenceExpression(this)){nodes.unshift(node);}else if(isCallExpression$1(node)&&isSuper$1(node.callee)){nodes.unshift(node);nodes.push(thisExpression$2());}else if(isAlmostConstantAssignment(node,scope)){nodes.unshift(node);nodes.push(cloneNode$c(node.left));}else if(scope.isPure(node,true)){nodes.push(node);}else{if(parentPath.isMethod({computed:true,key:node})){scope=scope.parent;}var temp=scope.generateDeclaredUidIdentifier();nodes.unshift(expressionStatement$5(assignmentExpression$9("=",cloneNode$c(temp),node)));nodes.push(expressionStatement$5(cloneNode$c(temp)));}}return this.replaceExpressionWithStatements(nodes);}else if(Array.isArray(this.container)){return this._containerInsertAfter(nodes);}else if(this.isStatementOrBlock()){var _node=this.node;var shouldInsertCurrentNode=_node&&(!this.isExpressionStatement()||_node.expression!=null);this.replaceWith(blockStatement$2(shouldInsertCurrentNode?[_node]:[]));return this.pushContainer("body",nodes);}else{throw new Error("We don't know what to do with this node type. "+"We were previously a Statement but we can't fit in here?");}}function updateSiblingKeys(fromIndex,incrementBy){if(!this.parent)return;var paths=getCachedPaths(this.hub,this.parent)||[];for(var _iterator2=_createForOfIteratorHelperLoose(paths),_step2;!(_step2=_iterator2()).done;){var _step2$value=_slicedToArray(_step2.value,2),path=_step2$value[1];if(typeof path.key==="number"&&path.key>=fromIndex){path.key+=incrementBy;}}}function _verifyNodeList(nodes){if(!nodes){return[];}if(!Array.isArray(nodes)){nodes=[nodes];}for(var i=0;i<nodes.length;i++){var node=nodes[i];var msg=void 0;if(!node){msg="has falsy node";}else if(_typeof(node)!=="object"){msg="contains a non-object node";}else if(!node.type){msg="without a type";}else if(node instanceof NodePath){msg="has a NodePath when it expected a raw object";}if(msg){var type=Array.isArray(node)?"array":_typeof(node);throw new Error("Node list "+msg+" with the index of "+i+" and type of "+type);}}return nodes;}function unshiftContainer(listKey,nodes){this._assertUnremoved();nodes=this._verifyNodeList(nodes);var path=NodePath.get({parentPath:this,parent:this.node,container:this.node[listKey],listKey:listKey,key:0}).setContext(this.context);return path._containerInsertBefore(nodes);}function pushContainer(listKey,nodes){this._assertUnremoved();var verifiedNodes=this._verifyNodeList(nodes);var container=this.node[listKey];var path=NodePath.get({parentPath:this,parent:this.node,container:container,listKey:listKey,key:container.length}).setContext(this.context);return path.replaceWithMultiple(verifiedNodes);}function hoist$2(scope){if(scope===void 0){scope=this.scope;}var hoister=new PathHoister(this,scope);return hoister.run();}var NodePath_modification=/*#__PURE__*/Object.freeze({__proto__:null,_containerInsert:_containerInsert,_containerInsertAfter:_containerInsertAfter,_containerInsertBefore:_containerInsertBefore,_verifyNodeList:_verifyNodeList,hoist:hoist$2,insertAfter:insertAfter,insertBefore:insertBefore,pushContainer:pushContainer,unshiftContainer:unshiftContainer,updateSiblingKeys:updateSiblingKeys});var _getBindingIdentifiers=getBindingIdentifiers$4,_getOuterBindingIdentifiers=getOuterBindingIdentifiers$2,isDeclaration=isDeclaration$1,numericLiteral$5=numericLiteral$8,unaryExpression$4=unaryExpression$6;var NORMAL_COMPLETION=0;var BREAK_COMPLETION=1;function NormalCompletion(path){return{type:NORMAL_COMPLETION,path:path};}function BreakCompletion(path){return{type:BREAK_COMPLETION,path:path};}function getOpposite(){if(this.key==="left"){return this.getSibling("right");}else if(this.key==="right"){return this.getSibling("left");}return null;}function addCompletionRecords(path,records,context){if(path){records.push.apply(records,_toConsumableArray(_getCompletionRecords(path,context)));}return records;}function completionRecordForSwitch(cases,records,context){var lastNormalCompletions=[];for(var i=0;i<cases.length;i++){var casePath=cases[i];var caseCompletions=_getCompletionRecords(casePath,context);var normalCompletions=[];var breakCompletions=[];for(var _i=0,_caseCompletions=caseCompletions;_i<_caseCompletions.length;_i++){var c=_caseCompletions[_i];if(c.type===NORMAL_COMPLETION){normalCompletions.push(c);}if(c.type===BREAK_COMPLETION){breakCompletions.push(c);}}if(normalCompletions.length){lastNormalCompletions=normalCompletions;}records.push.apply(records,breakCompletions);}records.push.apply(records,_toConsumableArray(lastNormalCompletions));return records;}function normalCompletionToBreak(completions){completions.forEach(function(c){c.type=BREAK_COMPLETION;});}function replaceBreakStatementInBreakCompletion(completions,reachable){completions.forEach(function(c){if(c.path.isBreakStatement({label:null})){if(reachable){c.path.replaceWith(unaryExpression$4("void",numericLiteral$5(0)));}else{c.path.remove();}}});}function getStatementListCompletion(paths,context){var completions=[];if(context.canHaveBreak){var lastNormalCompletions=[];for(var i=0;i<paths.length;i++){var path=paths[i];var newContext=Object.assign({},context,{inCaseClause:false});if(path.isBlockStatement()&&(context.inCaseClause||context.shouldPopulateBreak)){newContext.shouldPopulateBreak=true;}else{newContext.shouldPopulateBreak=false;}var statementCompletions=_getCompletionRecords(path,newContext);if(statementCompletions.length>0&&statementCompletions.every(function(c){return c.type===BREAK_COMPLETION;})){if(lastNormalCompletions.length>0&&statementCompletions.every(function(c){return c.path.isBreakStatement({label:null});})){normalCompletionToBreak(lastNormalCompletions);completions.push.apply(completions,_toConsumableArray(lastNormalCompletions));if(lastNormalCompletions.some(function(c){return c.path.isDeclaration();})){completions.push.apply(completions,statementCompletions);replaceBreakStatementInBreakCompletion(statementCompletions,true);}replaceBreakStatementInBreakCompletion(statementCompletions,false);}else{completions.push.apply(completions,statementCompletions);if(!context.shouldPopulateBreak){replaceBreakStatementInBreakCompletion(statementCompletions,true);}}break;}if(i===paths.length-1){completions.push.apply(completions,statementCompletions);}else{lastNormalCompletions=[];for(var _i2=0;_i2<statementCompletions.length;_i2++){var c=statementCompletions[_i2];if(c.type===BREAK_COMPLETION){completions.push(c);}if(c.type===NORMAL_COMPLETION){lastNormalCompletions.push(c);}}}}}else if(paths.length){for(var _i3=paths.length-1;_i3>=0;_i3--){var pathCompletions=_getCompletionRecords(paths[_i3],context);if(pathCompletions.length>1||pathCompletions.length===1&&!pathCompletions[0].path.isVariableDeclaration()){completions.push.apply(completions,pathCompletions);break;}}}return completions;}function _getCompletionRecords(path,context){var records=[];if(path.isIfStatement()){records=addCompletionRecords(path.get("consequent"),records,context);records=addCompletionRecords(path.get("alternate"),records,context);}else if(path.isDoExpression()||path.isFor()||path.isWhile()||path.isLabeledStatement()){return addCompletionRecords(path.get("body"),records,context);}else if(path.isProgram()||path.isBlockStatement()){return getStatementListCompletion(path.get("body"),context);}else if(path.isFunction()){return _getCompletionRecords(path.get("body"),context);}else if(path.isTryStatement()){records=addCompletionRecords(path.get("block"),records,context);records=addCompletionRecords(path.get("handler"),records,context);}else if(path.isCatchClause()){return addCompletionRecords(path.get("body"),records,context);}else if(path.isSwitchStatement()){return completionRecordForSwitch(path.get("cases"),records,context);}else if(path.isSwitchCase()){return getStatementListCompletion(path.get("consequent"),{canHaveBreak:true,shouldPopulateBreak:false,inCaseClause:true});}else if(path.isBreakStatement()){records.push(BreakCompletion(path));}else{records.push(NormalCompletion(path));}return records;}function getCompletionRecords(){var records=_getCompletionRecords(this,{canHaveBreak:false,shouldPopulateBreak:false,inCaseClause:false});return records.map(function(r){return r.path;});}function getSibling(key){return NodePath.get({parentPath:this.parentPath,parent:this.parent,container:this.container,listKey:this.listKey,key:key}).setContext(this.context);}function getPrevSibling(){return this.getSibling(this.key-1);}function getNextSibling(){return this.getSibling(this.key+1);}function getAllNextSiblings(){var _key=this.key;var sibling=this.getSibling(++_key);var siblings=[];while(sibling.node){siblings.push(sibling);sibling=this.getSibling(++_key);}return siblings;}function getAllPrevSiblings(){var _key=this.key;var sibling=this.getSibling(--_key);var siblings=[];while(sibling.node){siblings.push(sibling);sibling=this.getSibling(--_key);}return siblings;}function get$2(key,context){if(context===void 0){context=true;}if(context===true)context=this.context;var parts=key.split(".");if(parts.length===1){return this._getKey(key,context);}else{return this._getPattern(parts,context);}}function _getKey(key,context){var _this=this;var node=this.node;var container=node[key];if(Array.isArray(container)){return container.map(function(_,i){return NodePath.get({listKey:key,parentPath:_this,parent:node,container:container,key:i}).setContext(context);});}else{return NodePath.get({parentPath:this,parent:node,container:node,key:key}).setContext(context);}}function _getPattern(parts,context){var path=this;for(var _iterator=_createForOfIteratorHelperLoose(parts),_step;!(_step=_iterator()).done;){var part=_step.value;if(part==="."){path=path.parentPath;}else{if(Array.isArray(path)){path=path[part];}else{path=path.get(part,context);}}}return path;}function getBindingIdentifiers(duplicates){return _getBindingIdentifiers(this.node,duplicates);}function getOuterBindingIdentifiers$1(duplicates){return _getOuterBindingIdentifiers(this.node,duplicates);}function getBindingIdentifierPaths(duplicates,outerOnly){if(duplicates===void 0){duplicates=false;}if(outerOnly===void 0){outerOnly=false;}var path=this;var search=[path];var ids=Object.create(null);while(search.length){var id=search.shift();if(!id)continue;if(!id.node)continue;var keys=_getBindingIdentifiers.keys[id.node.type];if(id.isIdentifier()){if(duplicates){var _ids=ids[id.node.name]=ids[id.node.name]||[];_ids.push(id);}else{ids[id.node.name]=id;}continue;}if(id.isExportDeclaration()){var declaration=id.get("declaration");if(isDeclaration(declaration)){search.push(declaration);}continue;}if(outerOnly){if(id.isFunctionDeclaration()){search.push(id.get("id"));continue;}if(id.isFunctionExpression()){continue;}}if(keys){for(var i=0;i<keys.length;i++){var _key2=keys[i];var child=id.get(_key2);if(Array.isArray(child)){search.push.apply(search,_toConsumableArray(child));}else if(child.node){search.push(child);}}}}return ids;}function getOuterBindingIdentifierPaths(duplicates){if(duplicates===void 0){duplicates=false;}return this.getBindingIdentifierPaths(duplicates,true);}var NodePath_family=/*#__PURE__*/Object.freeze({__proto__:null,_getKey:_getKey,_getPattern:_getPattern,get:get$2,getAllNextSiblings:getAllNextSiblings,getAllPrevSiblings:getAllPrevSiblings,getBindingIdentifierPaths:getBindingIdentifierPaths,getBindingIdentifiers:getBindingIdentifiers,getCompletionRecords:getCompletionRecords,getNextSibling:getNextSibling,getOpposite:getOpposite,getOuterBindingIdentifierPaths:getOuterBindingIdentifierPaths,getOuterBindingIdentifiers:getOuterBindingIdentifiers$1,getPrevSibling:getPrevSibling,getSibling:getSibling});var _addComment=addComment$2,_addComments=addComments$1;function shareCommentsWithSiblings(){if(typeof this.key==="string")return;var node=this.node;if(!node)return;var trailing=node.trailingComments;var leading=node.leadingComments;if(!trailing&&!leading)return;var prev=this.getSibling(this.key-1);var next=this.getSibling(this.key+1);var hasPrev=Boolean(prev.node);var hasNext=Boolean(next.node);if(hasPrev){if(leading){prev.addComments("trailing",removeIfExisting(leading,prev.node.trailingComments));}if(trailing&&!hasNext)prev.addComments("trailing",trailing);}if(hasNext){if(trailing){next.addComments("leading",removeIfExisting(trailing,next.node.leadingComments));}if(leading&&!hasPrev)next.addComments("leading",leading);}}function removeIfExisting(list,toRemove){if(!(toRemove!=null&&toRemove.length))return list;var set=new Set(toRemove);return list.filter(function(el){return!set.has(el);});}function addComment$1(type,content,line){_addComment(this.node,type,content,line);}function addComments(type,comments){_addComments(this.node,type,comments);}var NodePath_comments=/*#__PURE__*/Object.freeze({__proto__:null,addComment:addComment$1,addComments:addComments,shareCommentsWithSiblings:shareCommentsWithSiblings});var validate$1=validate$5;var _debug=browserExports("babel");var REMOVED=1<<0;var SHOULD_STOP=1<<1;var SHOULD_SKIP=1<<2;var NodePath=function(){function NodePath(hub,parent){this.contexts=[];this.state=null;this.opts=null;this._traverseFlags=0;this.skipKeys=null;this.parentPath=null;this.container=null;this.listKey=null;this.key=null;this.node=null;this.type=null;this.parent=parent;this.hub=hub;this.data=null;this.context=null;this.scope=null;}NodePath.get=function get(_ref){var hub=_ref.hub,parentPath=_ref.parentPath,parent=_ref.parent,container=_ref.container,listKey=_ref.listKey,key=_ref.key;if(!hub&&parentPath){hub=parentPath.hub;}if(!parent){throw new Error("To get a node path the parent needs to exist");}var targetNode=container[key];var paths=getOrCreateCachedPaths(hub,parent);var path=paths.get(targetNode);if(!path){path=new NodePath(hub,parent);if(targetNode)paths.set(targetNode,path);}path.setup(parentPath,container,listKey,key);return path;};var _proto=NodePath.prototype;_proto.getScope=function getScope(scope){return this.isScope()?new Scope$1(this):scope;};_proto.setData=function setData(key,val){if(this.data==null){this.data=Object.create(null);}return this.data[key]=val;};_proto.getData=function getData(key,def){if(this.data==null){this.data=Object.create(null);}var val=this.data[key];if(val===undefined&&def!==undefined)val=this.data[key]=def;return val;};_proto.hasNode=function hasNode(){return this.node!=null;};_proto.buildCodeFrameError=function buildCodeFrameError(msg,Error){if(Error===void 0){Error=SyntaxError;}return this.hub.buildError(this.node,msg,Error);};_proto.traverse=function traverse$1(visitor,state){traverse(this.node,visitor,this.scope,state,this);};_proto.set=function set(key,node){validate$1(this.node,key,node);this.node[key]=node;};_proto.getPathLocation=function getPathLocation(){var parts=[];var path=this;do{var key=path.key;if(path.inList)key=path.listKey+"["+key+"]";parts.unshift(key);}while(path=path.parentPath);return parts.join(".");};_proto.debug=function debug(message){if(!_debug.enabled)return;_debug(this.getPathLocation()+" "+this.type+": "+message);};_proto.toString=function toString(){return generate$1(this.node).code;};_createClass(NodePath,[{key:"inList",get:function get(){return!!this.listKey;},set:function set(inList){if(!inList){this.listKey=null;}}},{key:"parentKey",get:function get(){return this.listKey||this.key;}},{key:"shouldSkip",get:function get(){return!!(this._traverseFlags&SHOULD_SKIP);},set:function set(v){if(v){this._traverseFlags|=SHOULD_SKIP;}else{this._traverseFlags&=~SHOULD_SKIP;}}},{key:"shouldStop",get:function get(){return!!(this._traverseFlags&SHOULD_STOP);},set:function set(v){if(v){this._traverseFlags|=SHOULD_STOP;}else{this._traverseFlags&=~SHOULD_STOP;}}},{key:"removed",get:function get(){return!!(this._traverseFlags&REMOVED);},set:function set(v){if(v){this._traverseFlags|=REMOVED;}else{this._traverseFlags&=~REMOVED;}}}]);return NodePath;}();Object.assign(NodePath.prototype,NodePath_ancestry,NodePath_inference,NodePath_replacement,NodePath_evaluation,NodePath_conversion,NodePath_introspection,NodePath_context,NodePath_removal,NodePath_modification,NodePath_family,NodePath_comments);{NodePath.prototype._guessExecutionStatusRelativeToDifferentFunctions=_guessExecutionStatusRelativeTo;}var _loop=function _loop(){var type=_step.value;var typeKey="is"+type;var fn=t$4[typeKey];NodePath.prototype[typeKey]=function(opts){return fn(this.node,opts);};NodePath.prototype["assert"+type]=function(opts){if(!fn(this.node,opts)){throw new TypeError("Expected node path of type "+type);}};};for(var _iterator=_createForOfIteratorHelperLoose(TYPES$1),_step;!(_step=_iterator()).done;){_loop();}Object.assign(NodePath.prototype,NodePath_virtual_types_validator);for(var _i=0,_arr=Object.keys(virtualTypes);_i<_arr.length;_i++){var type=_arr[_i];if(type[0]==="_")continue;if(!TYPES$1.includes(type))TYPES$1.push(type);}var VISITOR_KEYS$2=VISITOR_KEYS$5;var TraversalContext=function(){function TraversalContext(scope,opts,state,parentPath){this.queue=null;this.priorityQueue=null;this.parentPath=parentPath;this.scope=scope;this.state=state;this.opts=opts;}var _proto=TraversalContext.prototype;_proto.shouldVisit=function shouldVisit(node){var opts=this.opts;if(opts.enter||opts.exit)return true;if(opts[node.type])return true;var keys=VISITOR_KEYS$2[node.type];if(!(keys!=null&&keys.length))return false;for(var _iterator=_createForOfIteratorHelperLoose(keys),_step;!(_step=_iterator()).done;){var key=_step.value;if(node[key]){return true;}}return false;};_proto.create=function create(node,container,key,listKey){return NodePath.get({parentPath:this.parentPath,parent:node,container:container,key:key,listKey:listKey});};_proto.maybeQueue=function maybeQueue(path,notPriority){if(this.queue){if(notPriority){this.queue.push(path);}else{this.priorityQueue.push(path);}}};_proto.visitMultiple=function visitMultiple(container,parent,listKey){if(container.length===0)return false;var queue=[];for(var key=0;key<container.length;key++){var node=container[key];if(node&&this.shouldVisit(node)){queue.push(this.create(parent,container,key,listKey));}}return this.visitQueue(queue);};_proto.visitSingle=function visitSingle(node,key){if(this.shouldVisit(node[key])){return this.visitQueue([this.create(node,node,key)]);}else{return false;}};_proto.visitQueue=function visitQueue(queue){this.queue=queue;this.priorityQueue=[];var visited=new WeakSet();var stop=false;var visitIndex=0;for(;visitIndex<queue.length;){var path=queue[visitIndex];visitIndex++;path.resync();if(path.contexts.length===0||path.contexts[path.contexts.length-1]!==this){path.pushContext(this);}if(path.key===null)continue;var node=path.node;if(visited.has(node))continue;if(node)visited.add(node);if(path.visit()){stop=true;break;}if(this.priorityQueue.length){stop=this.visitQueue(this.priorityQueue);this.priorityQueue=[];this.queue=queue;if(stop)break;}}for(var i=0;i<visitIndex;i++){queue[i].popContext();}this.queue=null;return stop;};_proto.visit=function visit(node,key){var nodes=node[key];if(!nodes)return false;if(Array.isArray(nodes)){return this.visitMultiple(nodes,node,key);}else{return this.visitSingle(node,key);}};return _createClass(TraversalContext);}();var VISITOR_KEYS$1=VISITOR_KEYS$5;function traverseNode(node,opts,scope,state,path,skipKeys,visitSelf){var keys=VISITOR_KEYS$1[node.type];if(!keys)return false;var context=new TraversalContext(scope,opts,state,path);if(visitSelf){if(skipKeys!=null&&skipKeys[path.parentKey])return false;return context.visitQueue([path]);}for(var _iterator=_createForOfIteratorHelperLoose(keys),_step;!(_step=_iterator()).done;){var key=_step.value;if(skipKeys!=null&&skipKeys[key])continue;if(context.visit(node,key)){return true;}}return false;}var Hub=function(){function Hub(){}var _proto=Hub.prototype;_proto.getCode=function getCode(){};_proto.getScope=function getScope(){};_proto.addHelper=function addHelper(){throw new Error("Helpers are not supported by the default hub.");};_proto.buildError=function buildError(node,msg,Error){if(Error===void 0){Error=TypeError;}return new Error(msg);};return _createClass(Hub);}();var VISITOR_KEYS=VISITOR_KEYS$5,removeProperties=removeProperties$1,traverseFast$1=traverseFast$2;function traverse(parent,opts,scope,state,parentPath,visitSelf){if(opts===void 0){opts={};}if(!parent)return;if(!opts.noScope&&!scope){if(parent.type!=="Program"&&parent.type!=="File"){throw new Error("You must pass a scope and parentPath unless traversing a Program/File. "+("Instead of that you tried to traverse a "+parent.type+" node without ")+"passing scope and parentPath.");}}if(!parentPath&&visitSelf){throw new Error("visitSelf can only be used when providing a NodePath.");}if(!VISITOR_KEYS[parent.type]){return;}explode$1(opts);traverseNode(parent,opts,scope,state,parentPath,null,visitSelf);}traverse.visitors=visitors$2;traverse.verify=verify;traverse.explode=explode$1;traverse.cheap=function(node,enter){traverseFast$1(node,enter);return;};traverse.node=function(node,opts,scope,state,path,skipKeys){traverseNode(node,opts,scope,state,path,skipKeys);};traverse.clearNode=function(node,opts){removeProperties(node,opts);};traverse.removeProperties=function(tree,opts){traverseFast$1(tree,traverse.clearNode,opts);return tree;};function hasDenylistedType(path,state){if(path.node.type===state.type){state.has=true;path.stop();}}traverse.hasType=function(tree,type,denylistTypes){if(denylistTypes!=null&&denylistTypes.includes(tree.type))return false;if(tree.type===type)return true;var state={has:false,type:type};traverse(tree,{noScope:true,denylist:denylistTypes,enter:hasDenylistedType},null,state);return state.has;};traverse.cache=cache$1;var index$1=/*#__PURE__*/Object.freeze({__proto__:null,Hub:Hub,NodePath:NodePath,Scope:Scope$1,"default":traverse,visitors:visitors$2});function helper$3(minVersion,source){return Object.freeze({minVersion:minVersion,ast:function ast(){return template$1.program.ast(source,{preserveComments:true});}});}var generated=Object.freeze({AsyncGenerator:helper$3("7.0.0-beta.0",'import OverloadYield from"OverloadYield";export default function AsyncGenerator(e){var r,t;function resume(r,t){try{var n=e[r](t),o=n.value,u=o instanceof OverloadYield;Promise.resolve(u?o.v:o).then((function(t){if(u){var i="return"===r?"return":"next";if(!o.k||t.done)return resume(i,t);t=e[i](t).value}settle(n.done?"return":"normal",t)}),(function(e){resume("throw",e)}))}catch(e){settle("throw",e)}}function settle(e,n){switch(e){case"return":r.resolve({value:n,done:!0});break;case"throw":r.reject(n);break;default:r.resolve({value:n,done:!1})}(r=r.next)?resume(r.key,r.arg):t=null}this._invoke=function(e,n){return new Promise((function(o,u){var i={key:e,arg:n,resolve:o,reject:u,next:null};t?t=t.next=i:(r=t=i,resume(e,n))}))},"function"!=typeof e.return&&(this.return=void 0)}AsyncGenerator.prototype["function"==typeof Symbol&&Symbol.asyncIterator||"@@asyncIterator"]=function(){return this},AsyncGenerator.prototype.next=function(e){return this._invoke("next",e)},AsyncGenerator.prototype.throw=function(e){return this._invoke("throw",e)},AsyncGenerator.prototype.return=function(e){return this._invoke("return",e)};'),OverloadYield:helper$3("7.18.14","export default function _OverloadYield(t,e){this.v=t,this.k=e}"),applyDecs:helper$3("7.17.8",'import setFunctionName from"setFunctionName";import toPropertyKey from"toPropertyKey";function old_createMetadataMethodsForProperty(e,t,a,r){return{getMetadata:function(o){old_assertNotFinished(r,"getMetadata"),old_assertMetadataKey(o);var i=e[o];if(void 0!==i)if(1===t){var n=i.public;if(void 0!==n)return n[a]}else if(2===t){var l=i.private;if(void 0!==l)return l.get(a)}else if(Object.hasOwnProperty.call(i,"constructor"))return i.constructor},setMetadata:function(o,i){old_assertNotFinished(r,"setMetadata"),old_assertMetadataKey(o);var n=e[o];if(void 0===n&&(n=e[o]={}),1===t){var l=n.public;void 0===l&&(l=n.public={}),l[a]=i}else if(2===t){var s=n.priv;void 0===s&&(s=n.private=new Map),s.set(a,i)}else n.constructor=i}}}function old_convertMetadataMapToFinal(e,t){var a=e[Symbol.metadata||Symbol.for("Symbol.metadata")],r=Object.getOwnPropertySymbols(t);if(0!==r.length){for(var o=0;o<r.length;o++){var i=r[o],n=t[i],l=a?a[i]:null,s=n.public,c=l?l.public:null;s&&c&&Object.setPrototypeOf(s,c);var d=n.private;if(d){var u=Array.from(d.values()),f=l?l.private:null;f&&(u=u.concat(f)),n.private=u}l&&Object.setPrototypeOf(n,l)}a&&Object.setPrototypeOf(t,a),e[Symbol.metadata||Symbol.for("Symbol.metadata")]=t}}function old_createAddInitializerMethod(e,t){return function(a){old_assertNotFinished(t,"addInitializer"),old_assertCallable(a,"An initializer"),e.push(a)}}function old_memberDec(e,t,a,r,o,i,n,l,s){var c;switch(i){case 1:c="accessor";break;case 2:c="method";break;case 3:c="getter";break;case 4:c="setter";break;default:c="field"}var d,u,f={kind:c,name:l?"#"+t:toPropertyKey(t),isStatic:n,isPrivate:l},p={v:!1};if(0!==i&&(f.addInitializer=old_createAddInitializerMethod(o,p)),l){d=2,u=Symbol(t);var v={};0===i?(v.get=a.get,v.set=a.set):2===i?v.get=function(){return a.value}:(1!==i&&3!==i||(v.get=function(){return a.get.call(this)}),1!==i&&4!==i||(v.set=function(e){a.set.call(this,e)})),f.access=v}else d=1,u=t;try{return e(s,Object.assign(f,old_createMetadataMethodsForProperty(r,d,u,p)))}finally{p.v=!0}}function old_assertNotFinished(e,t){if(e.v)throw Error("attempted to call "+t+" after decoration was finished")}function old_assertMetadataKey(e){if("symbol"!=typeof e)throw new TypeError("Metadata keys must be symbols, received: "+e)}function old_assertCallable(e,t){if("function"!=typeof e)throw new TypeError(t+" must be a function")}function old_assertValidReturnValue(e,t){var a=typeof t;if(1===e){if("object"!==a||null===t)throw new TypeError("accessor decorators must return an object with get, set, or init properties or void 0");void 0!==t.get&&old_assertCallable(t.get,"accessor.get"),void 0!==t.set&&old_assertCallable(t.set,"accessor.set"),void 0!==t.init&&old_assertCallable(t.init,"accessor.init"),void 0!==t.initializer&&old_assertCallable(t.initializer,"accessor.initializer")}else if("function"!==a)throw new TypeError((0===e?"field":10===e?"class":"method")+" decorators must return a function or void 0")}function old_getInit(e){var t;return null==(t=e.init)&&(t=e.initializer)&&void 0!==console&&console.warn(".initializer has been renamed to .init as of March 2022"),t}function old_applyMemberDec(e,t,a,r,o,i,n,l,s){var c,d,u,f,p,v,y,h=a[0];if(n?(0===o||1===o?(c={get:a[3],set:a[4]},u="get"):3===o?(c={get:a[3]},u="get"):4===o?(c={set:a[3]},u="set"):c={value:a[3]},0!==o&&(1===o&&setFunctionName(a[4],"#"+r,"set"),setFunctionName(a[3],"#"+r,u))):0!==o&&(c=Object.getOwnPropertyDescriptor(t,r)),1===o?f={get:c.get,set:c.set}:2===o?f=c.value:3===o?f=c.get:4===o&&(f=c.set),"function"==typeof h)void 0!==(p=old_memberDec(h,r,c,l,s,o,i,n,f))&&(old_assertValidReturnValue(o,p),0===o?d=p:1===o?(d=old_getInit(p),v=p.get||f.get,y=p.set||f.set,f={get:v,set:y}):f=p);else for(var m=h.length-1;m>=0;m--){var b;void 0!==(p=old_memberDec(h[m],r,c,l,s,o,i,n,f))&&(old_assertValidReturnValue(o,p),0===o?b=p:1===o?(b=old_getInit(p),v=p.get||f.get,y=p.set||f.set,f={get:v,set:y}):f=p,void 0!==b&&(void 0===d?d=b:"function"==typeof d?d=[d,b]:d.push(b)))}if(0===o||1===o){if(void 0===d)d=function(e,t){return t};else if("function"!=typeof d){var g=d;d=function(e,t){for(var a=t,r=0;r<g.length;r++)a=g[r].call(e,a);return a}}else{var _=d;d=function(e,t){return _.call(e,t)}}e.push(d)}0!==o&&(1===o?(c.get=f.get,c.set=f.set):2===o?c.value=f:3===o?c.get=f:4===o&&(c.set=f),n?1===o?(e.push((function(e,t){return f.get.call(e,t)})),e.push((function(e,t){return f.set.call(e,t)}))):2===o?e.push(f):e.push((function(e,t){return f.call(e,t)})):Object.defineProperty(t,r,c))}function old_applyMemberDecs(e,t,a,r,o){for(var i,n,l=new Map,s=new Map,c=0;c<o.length;c++){var d=o[c];if(Array.isArray(d)){var u,f,p,v=d[1],y=d[2],h=d.length>3,m=v>=5;if(m?(u=t,f=r,0!=(v-=5)&&(p=n=n||[])):(u=t.prototype,f=a,0!==v&&(p=i=i||[])),0!==v&&!h){var b=m?s:l,g=b.get(y)||0;if(!0===g||3===g&&4!==v||4===g&&3!==v)throw Error("Attempted to decorate a public method/accessor that has the same name as a previously decorated public method/accessor. This is not currently supported by the decorators plugin. Property name was: "+y);!g&&v>2?b.set(y,v):b.set(y,!0)}old_applyMemberDec(e,u,d,y,v,m,h,f,p)}}old_pushInitializers(e,i),old_pushInitializers(e,n)}function old_pushInitializers(e,t){t&&e.push((function(e){for(var a=0;a<t.length;a++)t[a].call(e);return e}))}function old_applyClassDecs(e,t,a,r){if(r.length>0){for(var o=[],i=t,n=t.name,l=r.length-1;l>=0;l--){var s={v:!1};try{var c=Object.assign({kind:"class",name:n,addInitializer:old_createAddInitializerMethod(o,s)},old_createMetadataMethodsForProperty(a,0,n,s)),d=r[l](i,c)}finally{s.v=!0}void 0!==d&&(old_assertValidReturnValue(10,d),i=d)}e.push(i,(function(){for(var e=0;e<o.length;e++)o[e].call(i)}))}}export default function applyDecs(e,t,a){var r=[],o={},i={};return old_applyMemberDecs(r,e,i,o,t),old_convertMetadataMapToFinal(e.prototype,i),old_applyClassDecs(r,e,o,a),old_convertMetadataMapToFinal(e,o),r}'),applyDecs2203:helper$3("7.19.0",'function applyDecs2203Factory(){function createAddInitializerMethod(e,t){return function(r){!function(e,t){if(e.v)throw Error("attempted to call addInitializer after decoration was finished")}(t),assertCallable(r,"An initializer"),e.push(r)}}function memberDec(e,t,r,a,n,i,s,o){var c;switch(n){case 1:c="accessor";break;case 2:c="method";break;case 3:c="getter";break;case 4:c="setter";break;default:c="field"}var l,u,f={kind:c,name:s?"#"+t:t,static:i,private:s},p={v:!1};0!==n&&(f.addInitializer=createAddInitializerMethod(a,p)),0===n?s?(l=r.get,u=r.set):(l=function(){return this[t]},u=function(e){this[t]=e}):2===n?l=function(){return r.value}:(1!==n&&3!==n||(l=function(){return r.get.call(this)}),1!==n&&4!==n||(u=function(e){r.set.call(this,e)})),f.access=l&&u?{get:l,set:u}:l?{get:l}:{set:u};try{return e(o,f)}finally{p.v=!0}}function assertCallable(e,t){if("function"!=typeof e)throw new TypeError(t+" must be a function")}function assertValidReturnValue(e,t){var r=typeof t;if(1===e){if("object"!==r||null===t)throw new TypeError("accessor decorators must return an object with get, set, or init properties or void 0");void 0!==t.get&&assertCallable(t.get,"accessor.get"),void 0!==t.set&&assertCallable(t.set,"accessor.set"),void 0!==t.init&&assertCallable(t.init,"accessor.init")}else if("function"!==r)throw new TypeError((0===e?"field":10===e?"class":"method")+" decorators must return a function or void 0")}function applyMemberDec(e,t,r,a,n,i,s,o){var c,l,u,f,p,d,h=r[0];if(s?c=0===n||1===n?{get:r[3],set:r[4]}:3===n?{get:r[3]}:4===n?{set:r[3]}:{value:r[3]}:0!==n&&(c=Object.getOwnPropertyDescriptor(t,a)),1===n?u={get:c.get,set:c.set}:2===n?u=c.value:3===n?u=c.get:4===n&&(u=c.set),"function"==typeof h)void 0!==(f=memberDec(h,a,c,o,n,i,s,u))&&(assertValidReturnValue(n,f),0===n?l=f:1===n?(l=f.init,p=f.get||u.get,d=f.set||u.set,u={get:p,set:d}):u=f);else for(var v=h.length-1;v>=0;v--){var g;void 0!==(f=memberDec(h[v],a,c,o,n,i,s,u))&&(assertValidReturnValue(n,f),0===n?g=f:1===n?(g=f.init,p=f.get||u.get,d=f.set||u.set,u={get:p,set:d}):u=f,void 0!==g&&(void 0===l?l=g:"function"==typeof l?l=[l,g]:l.push(g)))}if(0===n||1===n){if(void 0===l)l=function(e,t){return t};else if("function"!=typeof l){var y=l;l=function(e,t){for(var r=t,a=0;a<y.length;a++)r=y[a].call(e,r);return r}}else{var m=l;l=function(e,t){return m.call(e,t)}}e.push(l)}0!==n&&(1===n?(c.get=u.get,c.set=u.set):2===n?c.value=u:3===n?c.get=u:4===n&&(c.set=u),s?1===n?(e.push((function(e,t){return u.get.call(e,t)})),e.push((function(e,t){return u.set.call(e,t)}))):2===n?e.push(u):e.push((function(e,t){return u.call(e,t)})):Object.defineProperty(t,a,c))}function pushInitializers(e,t){t&&e.push((function(e){for(var r=0;r<t.length;r++)t[r].call(e);return e}))}return function(e,t,r){var a=[];return function(e,t,r){for(var a,n,i=new Map,s=new Map,o=0;o<r.length;o++){var c=r[o];if(Array.isArray(c)){var l,u,f=c[1],p=c[2],d=c.length>3,h=f>=5;if(h?(l=t,0!=(f-=5)&&(u=n=n||[])):(l=t.prototype,0!==f&&(u=a=a||[])),0!==f&&!d){var v=h?s:i,g=v.get(p)||0;if(!0===g||3===g&&4!==f||4===g&&3!==f)throw Error("Attempted to decorate a public method/accessor that has the same name as a previously decorated public method/accessor. This is not currently supported by the decorators plugin. Property name was: "+p);!g&&f>2?v.set(p,f):v.set(p,!0)}applyMemberDec(e,l,c,p,f,h,d,u)}}pushInitializers(e,a),pushInitializers(e,n)}(a,e,t),function(e,t,r){if(r.length>0){for(var a=[],n=t,i=t.name,s=r.length-1;s>=0;s--){var o={v:!1};try{var c=r[s](n,{kind:"class",name:i,addInitializer:createAddInitializerMethod(a,o)})}finally{o.v=!0}void 0!==c&&(assertValidReturnValue(10,c),n=c)}e.push(n,(function(){for(var e=0;e<a.length;e++)a[e].call(n)}))}}(a,e,r),a}}var applyDecs2203Impl;export default function applyDecs2203(e,t,r){return(applyDecs2203Impl=applyDecs2203Impl||applyDecs2203Factory())(e,t,r)}'),applyDecs2203R:helper$3("7.20.0",'import setFunctionName from"setFunctionName";import toPropertyKey from"toPropertyKey";function applyDecs2203RFactory(){function createAddInitializerMethod(e,t){return function(r){!function(e,t){if(e.v)throw Error("attempted to call addInitializer after decoration was finished")}(t),assertCallable(r,"An initializer"),e.push(r)}}function memberDec(e,t,r,n,a,i,o,s){var c;switch(a){case 1:c="accessor";break;case 2:c="method";break;case 3:c="getter";break;case 4:c="setter";break;default:c="field"}var l,u,f={kind:c,name:o?"#"+t:toPropertyKey(t),static:i,private:o},p={v:!1};0!==a&&(f.addInitializer=createAddInitializerMethod(n,p)),0===a?o?(l=r.get,u=r.set):(l=function(){return this[t]},u=function(e){this[t]=e}):2===a?l=function(){return r.value}:(1!==a&&3!==a||(l=function(){return r.get.call(this)}),1!==a&&4!==a||(u=function(e){r.set.call(this,e)})),f.access=l&&u?{get:l,set:u}:l?{get:l}:{set:u};try{return e(s,f)}finally{p.v=!0}}function assertCallable(e,t){if("function"!=typeof e)throw new TypeError(t+" must be a function")}function assertValidReturnValue(e,t){var r=typeof t;if(1===e){if("object"!==r||null===t)throw new TypeError("accessor decorators must return an object with get, set, or init properties or void 0");void 0!==t.get&&assertCallable(t.get,"accessor.get"),void 0!==t.set&&assertCallable(t.set,"accessor.set"),void 0!==t.init&&assertCallable(t.init,"accessor.init")}else if("function"!==r)throw new TypeError((0===e?"field":10===e?"class":"method")+" decorators must return a function or void 0")}function applyMemberDec(e,t,r,n,a,i,o,s){var c,l,u,f,p,d,h,v=r[0];if(o?(0===a||1===a?(c={get:r[3],set:r[4]},u="get"):3===a?(c={get:r[3]},u="get"):4===a?(c={set:r[3]},u="set"):c={value:r[3]},0!==a&&(1===a&&setFunctionName(r[4],"#"+n,"set"),setFunctionName(r[3],"#"+n,u))):0!==a&&(c=Object.getOwnPropertyDescriptor(t,n)),1===a?f={get:c.get,set:c.set}:2===a?f=c.value:3===a?f=c.get:4===a&&(f=c.set),"function"==typeof v)void 0!==(p=memberDec(v,n,c,s,a,i,o,f))&&(assertValidReturnValue(a,p),0===a?l=p:1===a?(l=p.init,d=p.get||f.get,h=p.set||f.set,f={get:d,set:h}):f=p);else for(var g=v.length-1;g>=0;g--){var y;void 0!==(p=memberDec(v[g],n,c,s,a,i,o,f))&&(assertValidReturnValue(a,p),0===a?y=p:1===a?(y=p.init,d=p.get||f.get,h=p.set||f.set,f={get:d,set:h}):f=p,void 0!==y&&(void 0===l?l=y:"function"==typeof l?l=[l,y]:l.push(y)))}if(0===a||1===a){if(void 0===l)l=function(e,t){return t};else if("function"!=typeof l){var m=l;l=function(e,t){for(var r=t,n=0;n<m.length;n++)r=m[n].call(e,r);return r}}else{var b=l;l=function(e,t){return b.call(e,t)}}e.push(l)}0!==a&&(1===a?(c.get=f.get,c.set=f.set):2===a?c.value=f:3===a?c.get=f:4===a&&(c.set=f),o?1===a?(e.push((function(e,t){return f.get.call(e,t)})),e.push((function(e,t){return f.set.call(e,t)}))):2===a?e.push(f):e.push((function(e,t){return f.call(e,t)})):Object.defineProperty(t,n,c))}function applyMemberDecs(e,t){for(var r,n,a=[],i=new Map,o=new Map,s=0;s<t.length;s++){var c=t[s];if(Array.isArray(c)){var l,u,f=c[1],p=c[2],d=c.length>3,h=f>=5;if(h?(l=e,0!=(f-=5)&&(u=n=n||[])):(l=e.prototype,0!==f&&(u=r=r||[])),0!==f&&!d){var v=h?o:i,g=v.get(p)||0;if(!0===g||3===g&&4!==f||4===g&&3!==f)throw Error("Attempted to decorate a public method/accessor that has the same name as a previously decorated public method/accessor. This is not currently supported by the decorators plugin. Property name was: "+p);!g&&f>2?v.set(p,f):v.set(p,!0)}applyMemberDec(a,l,c,p,f,h,d,u)}}return pushInitializers(a,r),pushInitializers(a,n),a}function pushInitializers(e,t){t&&e.push((function(e){for(var r=0;r<t.length;r++)t[r].call(e);return e}))}return function(e,t,r){return{e:applyMemberDecs(e,t),get c(){return function(e,t){if(t.length>0){for(var r=[],n=e,a=e.name,i=t.length-1;i>=0;i--){var o={v:!1};try{var s=t[i](n,{kind:"class",name:a,addInitializer:createAddInitializerMethod(r,o)})}finally{o.v=!0}void 0!==s&&(assertValidReturnValue(10,s),n=s)}return[n,function(){for(var e=0;e<r.length;e++)r[e].call(n)}]}}(e,r)}}}}export default function applyDecs2203R(e,t,r){return(applyDecs2203R=applyDecs2203RFactory())(e,t,r)}'),applyDecs2301:helper$3("7.21.0",'import checkInRHS from"checkInRHS";import setFunctionName from"setFunctionName";import toPropertyKey from"toPropertyKey";function applyDecs2301Factory(){function createAddInitializerMethod(e,t){return function(r){!function(e,t){if(e.v)throw Error("attempted to call addInitializer after decoration was finished")}(t),assertCallable(r,"An initializer"),e.push(r)}}function assertInstanceIfPrivate(e,t){if(!e(t))throw new TypeError("Attempted to access private element on non-instance")}function memberDec(e,t,r,n,a,i,s,o,c){var u;switch(a){case 1:u="accessor";break;case 2:u="method";break;case 3:u="getter";break;case 4:u="setter";break;default:u="field"}var l,f,p={kind:u,name:s?"#"+t:toPropertyKey(t),static:i,private:s},d={v:!1};if(0!==a&&(p.addInitializer=createAddInitializerMethod(n,d)),s||0!==a&&2!==a)if(2===a)l=function(e){return assertInstanceIfPrivate(c,e),r.value};else{var h=0===a||1===a;(h||3===a)&&(l=s?function(e){return assertInstanceIfPrivate(c,e),r.get.call(e)}:function(e){return r.get.call(e)}),(h||4===a)&&(f=s?function(e,t){assertInstanceIfPrivate(c,e),r.set.call(e,t)}:function(e,t){r.set.call(e,t)})}else l=function(e){return e[t]},0===a&&(f=function(e,r){e[t]=r});var v=s?c.bind():function(e){return t in e};p.access=l&&f?{get:l,set:f,has:v}:l?{get:l,has:v}:{set:f,has:v};try{return e(o,p)}finally{d.v=!0}}function assertCallable(e,t){if("function"!=typeof e)throw new TypeError(t+" must be a function")}function assertValidReturnValue(e,t){var r=typeof t;if(1===e){if("object"!==r||null===t)throw new TypeError("accessor decorators must return an object with get, set, or init properties or void 0");void 0!==t.get&&assertCallable(t.get,"accessor.get"),void 0!==t.set&&assertCallable(t.set,"accessor.set"),void 0!==t.init&&assertCallable(t.init,"accessor.init")}else if("function"!==r)throw new TypeError((0===e?"field":10===e?"class":"method")+" decorators must return a function or void 0")}function curryThis2(e){return function(t){e(this,t)}}function applyMemberDec(e,t,r,n,a,i,s,o,c){var u,l,f,p,d,h,v,y,g=r[0];if(s?(0===a||1===a?(u={get:(d=r[3],function(){return d(this)}),set:curryThis2(r[4])},f="get"):3===a?(u={get:r[3]},f="get"):4===a?(u={set:r[3]},f="set"):u={value:r[3]},0!==a&&(1===a&&setFunctionName(u.set,"#"+n,"set"),setFunctionName(u[f||"value"],"#"+n,f))):0!==a&&(u=Object.getOwnPropertyDescriptor(t,n)),1===a?p={get:u.get,set:u.set}:2===a?p=u.value:3===a?p=u.get:4===a&&(p=u.set),"function"==typeof g)void 0!==(h=memberDec(g,n,u,o,a,i,s,p,c))&&(assertValidReturnValue(a,h),0===a?l=h:1===a?(l=h.init,v=h.get||p.get,y=h.set||p.set,p={get:v,set:y}):p=h);else for(var m=g.length-1;m>=0;m--){var b;void 0!==(h=memberDec(g[m],n,u,o,a,i,s,p,c))&&(assertValidReturnValue(a,h),0===a?b=h:1===a?(b=h.init,v=h.get||p.get,y=h.set||p.set,p={get:v,set:y}):p=h,void 0!==b&&(void 0===l?l=b:"function"==typeof l?l=[l,b]:l.push(b)))}if(0===a||1===a){if(void 0===l)l=function(e,t){return t};else if("function"!=typeof l){var I=l;l=function(e,t){for(var r=t,n=0;n<I.length;n++)r=I[n].call(e,r);return r}}else{var w=l;l=function(e,t){return w.call(e,t)}}e.push(l)}0!==a&&(1===a?(u.get=p.get,u.set=p.set):2===a?u.value=p:3===a?u.get=p:4===a&&(u.set=p),s?1===a?(e.push((function(e,t){return p.get.call(e,t)})),e.push((function(e,t){return p.set.call(e,t)}))):2===a?e.push(p):e.push((function(e,t){return p.call(e,t)})):Object.defineProperty(t,n,u))}function applyMemberDecs(e,t,r){for(var n,a,i,s=[],o=new Map,c=new Map,u=0;u<t.length;u++){var l=t[u];if(Array.isArray(l)){var f,p,d=l[1],h=l[2],v=l.length>3,y=d>=5,g=r;if(y?(f=e,0!=(d-=5)&&(p=a=a||[]),v&&!i&&(i=function(t){return checkInRHS(t)===e}),g=i):(f=e.prototype,0!==d&&(p=n=n||[])),0!==d&&!v){var m=y?c:o,b=m.get(h)||0;if(!0===b||3===b&&4!==d||4===b&&3!==d)throw Error("Attempted to decorate a public method/accessor that has the same name as a previously decorated public method/accessor. This is not currently supported by the decorators plugin. Property name was: "+h);!b&&d>2?m.set(h,d):m.set(h,!0)}applyMemberDec(s,f,l,h,d,y,v,p,g)}}return pushInitializers(s,n),pushInitializers(s,a),s}function pushInitializers(e,t){t&&e.push((function(e){for(var r=0;r<t.length;r++)t[r].call(e);return e}))}return function(e,t,r,n){return{e:applyMemberDecs(e,t,n),get c(){return function(e,t){if(t.length>0){for(var r=[],n=e,a=e.name,i=t.length-1;i>=0;i--){var s={v:!1};try{var o=t[i](n,{kind:"class",name:a,addInitializer:createAddInitializerMethod(r,s)})}finally{s.v=!0}void 0!==o&&(assertValidReturnValue(10,o),n=o)}return[n,function(){for(var e=0;e<r.length;e++)r[e].call(n)}]}}(e,r)}}}}export default function applyDecs2301(e,t,r,n){return(applyDecs2301=applyDecs2301Factory())(e,t,r,n)}'),applyDecs2305:helper$3("7.21.0",'import checkInRHS from"checkInRHS";import setFunctionName from"setFunctionName";import toPropertyKey from"toPropertyKey";export default function applyDecs2305(e,t,r,n,o,a){function i(e,t,r){return function(n,o){return r&&r(n),e[t].call(n,o)}}function c(e,t){for(var r=0;r<e.length;r++)e[r].call(t);return t}function s(e,t,r,n){if("function"!=typeof e&&(n||void 0!==e))throw new TypeError(t+" must "+(r||"be")+" a function"+(n?"":" or undefined"));return e}function applyDec(e,t,r,n,o,a,c,u,l,f,p,d,h){function m(e){if(!h(e))throw new TypeError("Attempted to access private element on non-instance")}var y,v=t[0],g=t[3],b=!u;if(!b){r||Array.isArray(v)||(v=[v]);var w={},S=[],A=3===o?"get":4===o||d?"set":"value";f?(p||d?w={get:setFunctionName((function(){return g(this)}),n,"get"),set:function(e){t[4](this,e)}}:w[A]=g,p||setFunctionName(w[A],n,2===o?"":A)):p||(w=Object.getOwnPropertyDescriptor(e,n))}for(var P=e,j=v.length-1;j>=0;j-=r?2:1){var D=v[j],E=r?v[j-1]:void 0,I={},O={kind:["field","accessor","method","getter","setter","class"][o],name:n,metadata:a,addInitializer:function(e,t){if(e.v)throw Error("attempted to call addInitializer after decoration was finished");s(t,"An initializer","be",!0),c.push(t)}.bind(null,I)};try{if(b)(y=s(D.call(E,P,O),"class decorators","return"))&&(P=y);else{var k,F;O.static=l,O.private=f,f?2===o?k=function(e){return m(e),w.value}:(o<4&&(k=i(w,"get",m)),3!==o&&(F=i(w,"set",m))):(k=function(e){return e[n]},(o<2||4===o)&&(F=function(e,t){e[n]=t}));var N=O.access={has:f?h.bind():function(e){return n in e}};if(k&&(N.get=k),F&&(N.set=F),P=D.call(E,d?{get:w.get,set:w.set}:w[A],O),d){if("object"==typeof P&&P)(y=s(P.get,"accessor.get"))&&(w.get=y),(y=s(P.set,"accessor.set"))&&(w.set=y),(y=s(P.init,"accessor.init"))&&S.push(y);else if(void 0!==P)throw new TypeError("accessor decorators must return an object with get, set, or init properties or void 0")}else s(P,(p?"field":"method")+" decorators","return")&&(p?S.push(P):w[A]=P)}}finally{I.v=!0}}return(p||d)&&u.push((function(e,t){for(var r=S.length-1;r>=0;r--)t=S[r].call(e,t);return t})),p||b||(f?d?u.push(i(w,"get"),i(w,"set")):u.push(2===o?w[A]:i.call.bind(w[A])):Object.defineProperty(e,n,w)),P}function u(e,t){return Object.defineProperty(e,Symbol.metadata||Symbol.for("Symbol.metadata"),{configurable:!0,enumerable:!0,value:t})}if(arguments.length>=6)var l=a[Symbol.metadata||Symbol.for("Symbol.metadata")];var f=Object.create(null==l?null:l),p=function(e,t,r,n){var o,a,i=[],s=function(t){return checkInRHS(t)===e},u=new Map;function l(e){e&&i.push(c.bind(null,e))}for(var f=0;f<t.length;f++){var p=t[f];if(Array.isArray(p)){var d=p[1],h=p[2],m=p.length>3,y=16&d,v=!!(8&d),g=0==(d&=7),b=h+"/"+v;if(!g&&!m){var w=u.get(b);if(!0===w||3===w&&4!==d||4===w&&3!==d)throw Error("Attempted to decorate a public method/accessor that has the same name as a previously decorated public method/accessor. This is not currently supported by the decorators plugin. Property name was: "+h);u.set(b,!(d>2)||d)}applyDec(v?e:e.prototype,p,y,m?"#"+h:toPropertyKey(h),d,n,v?a=a||[]:o=o||[],i,v,m,g,1===d,v&&m?s:r)}}return l(o),l(a),i}(e,t,o,f);return r.length||u(e,f),{e:p,get c(){var t=[];return r.length&&[u(applyDec(e,[r],n,e.name,5,f,t),f),c.bind(null,t,e)]}}}'),applyDecs2311:helper$3("7.24.0",'import checkInRHS from"checkInRHS";import setFunctionName from"setFunctionName";import toPropertyKey from"toPropertyKey";export default function applyDecs2311(e,t,n,r,o,i){var a,c,u,s,f,l,p,d=Symbol.metadata||Symbol.for("Symbol.metadata"),m=Object.defineProperty,h=Object.create,y=[h(null),h(null)],v=t.length;function g(t,n,r){return function(o,i){n&&(i=o,o=e);for(var a=0;a<t.length;a++)i=t[a].apply(o,r?[i]:[]);return r?i:o}}function b(e,t,n,r){if("function"!=typeof e&&(r||void 0!==e))throw new TypeError(t+" must "+(n||"be")+" a function"+(r?"":" or undefined"));return e}function applyDec(e,t,n,r,o,i,u,s,f,l,p){function d(e){if(!p(e))throw new TypeError("Attempted to access private element on non-instance")}var h=[].concat(t[0]),v=t[3],w=!u,D=1===o,S=3===o,j=4===o,E=2===o;function I(t,n,r){return function(o,i){return n&&(i=o,o=e),r&&r(o),P[t].call(o,i)}}if(!w){var P={},k=[],F=S?"get":j||D?"set":"value";if(f?(l||D?P={get:setFunctionName((function(){return v(this)}),r,"get"),set:function(e){t[4](this,e)}}:P[F]=v,l||setFunctionName(P[F],r,E?"":F)):l||(P=Object.getOwnPropertyDescriptor(e,r)),!l&&!f){if((c=y[+s][r])&&7!=(c^o))throw Error("Decorating two elements with the same name ("+P[F].name+") is not supported yet");y[+s][r]=o<3?1:o}}for(var N=e,O=h.length-1;O>=0;O-=n?2:1){var z=h[O],H=n?h[O-1]:void 0,K={},R={kind:["field","accessor","method","getter","setter","class"][o],name:r,metadata:a,addInitializer:function(e,t){if(e.v)throw Error("attempted to call addInitializer after decoration was finished");b(t,"An initializer","be",!0),i.push(t)}.bind(null,K)};if(w)c=z.call(H,N,R),K.v=1,b(c,"class decorators","return")&&(N=c);else if(R.static=s,R.private=f,c=R.access={has:f?p.bind():function(e){return r in e}},j||(c.get=f?E?function(e){return d(e),P.value}:I("get",0,d):function(e){return e[r]}),E||S||(c.set=f?I("set",0,d):function(e,t){e[r]=t}),N=z.call(H,D?{get:P.get,set:P.set}:P[F],R),K.v=1,D){if("object"==typeof N&&N)(c=b(N.get,"accessor.get"))&&(P.get=c),(c=b(N.set,"accessor.set"))&&(P.set=c),(c=b(N.init,"accessor.init"))&&k.unshift(c);else if(void 0!==N)throw new TypeError("accessor decorators must return an object with get, set, or init properties or undefined")}else b(N,(l?"field":"method")+" decorators","return")&&(l?k.unshift(N):P[F]=N)}return o<2&&u.push(g(k,s,1),g(i,s,0)),l||w||(f?D?u.splice(-1,0,I("get",s),I("set",s)):u.push(E?P[F]:b.call.bind(P[F])):m(e,r,P)),N}function w(e){return m(e,d,{configurable:!0,enumerable:!0,value:a})}return void 0!==i&&(a=i[d]),a=h(null==a?null:a),f=[],l=function(e){e&&f.push(g(e))},p=function(t,r){for(var i=0;i<n.length;i++){var a=n[i],c=a[1],l=7&c;if((8&c)==t&&!l==r){var p=a[2],d=!!a[3],m=16&c;applyDec(t?e:e.prototype,a,m,d?"#"+p:toPropertyKey(p),l,l<2?[]:t?s=s||[]:u=u||[],f,!!t,d,r,t&&d?function(t){return checkInRHS(t)===e}:o)}}},p(8,0),p(0,0),p(8,1),p(0,1),l(u),l(s),c=f,v||w(e),{e:c,get c(){var n=[];return v&&[w(e=applyDec(e,[t],r,e.name,5,n)),g(n,1)]}}}'),assertClassBrand:helper$3("7.24.0",'export default function _assertClassBrand(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}'),asyncGeneratorDelegate:helper$3("7.0.0-beta.0",'import OverloadYield from"OverloadYield";export default function _asyncGeneratorDelegate(t){var e={},n=!1;function pump(e,r){return n=!0,r=new Promise((function(n){n(t[e](r))})),{done:!1,value:new OverloadYield(r,1)}}return e["undefined"!=typeof Symbol&&Symbol.iterator||"@@iterator"]=function(){return this},e.next=function(t){return n?(n=!1,t):pump("next",t)},"function"==typeof t.throw&&(e.throw=function(t){if(n)throw n=!1,t;return pump("throw",t)}),"function"==typeof t.return&&(e.return=function(t){return n?(n=!1,t):pump("return",t)}),e}'),asyncIterator:helper$3("7.15.9",'export default function _asyncIterator(r){var n,t,o,e=2;for("undefined"!=typeof Symbol&&(t=Symbol.asyncIterator,o=Symbol.iterator);e--;){if(t&&null!=(n=r[t]))return n.call(r);if(o&&null!=(n=r[o]))return new AsyncFromSyncIterator(n.call(r));t="@@asyncIterator",o="@@iterator"}throw new TypeError("Object is not async iterable")}function AsyncFromSyncIterator(r){function AsyncFromSyncIteratorContinuation(r){if(Object(r)!==r)return Promise.reject(new TypeError(r+" is not an object."));var n=r.done;return Promise.resolve(r.value).then((function(r){return{value:r,done:n}}))}return AsyncFromSyncIterator=function(r){this.s=r,this.n=r.next},AsyncFromSyncIterator.prototype={s:null,n:null,next:function(){return AsyncFromSyncIteratorContinuation(this.n.apply(this.s,arguments))},return:function(r){var n=this.s.return;return void 0===n?Promise.resolve({value:r,done:!0}):AsyncFromSyncIteratorContinuation(n.apply(this.s,arguments))},throw:function(r){var n=this.s.return;return void 0===n?Promise.reject(r):AsyncFromSyncIteratorContinuation(n.apply(this.s,arguments))}},new AsyncFromSyncIterator(r)}'),awaitAsyncGenerator:helper$3("7.0.0-beta.0",'import OverloadYield from"OverloadYield";export default function _awaitAsyncGenerator(e){return new OverloadYield(e,0)}'),callSuper:helper$3("7.23.8",'import getPrototypeOf from"getPrototypeOf";import isNativeReflectConstruct from"isNativeReflectConstruct";import possibleConstructorReturn from"possibleConstructorReturn";export default function _callSuper(t,o,e){return o=getPrototypeOf(o),possibleConstructorReturn(t,isNativeReflectConstruct()?Reflect.construct(o,e||[],getPrototypeOf(t).constructor):o.apply(t,e))}'),checkInRHS:helper$3("7.20.5",'export default function _checkInRHS(e){if(Object(e)!==e)throw TypeError("right-hand side of \'in\' should be an object, got "+(null!==e?typeof e:"null"));return e}'),classPrivateFieldGet2:helper$3("7.24.0",'import assertClassBrand from"assertClassBrand";export default function _classPrivateFieldGet2(s,a){return s.get(assertClassBrand(s,a))}'),classPrivateFieldSet2:helper$3("7.24.0",'import assertClassBrand from"assertClassBrand";export default function _classPrivateFieldSet2(s,a,r){return s.set(assertClassBrand(s,a),r),r}'),classPrivateGetter:helper$3("7.24.0",'import assertClassBrand from"assertClassBrand";export default function _classPrivateGetter(s,r,a){return a(assertClassBrand(s,r))}'),classPrivateSetter:helper$3("7.24.0",'import assertClassBrand from"assertClassBrand";export default function _classPrivateSetter(s,r,a,t){return r(assertClassBrand(s,a),t),t}'),construct:helper$3("7.0.0-beta.0",'import setPrototypeOf from"setPrototypeOf";import isNativeReflectConstruct from"isNativeReflectConstruct";export default function _construct(t,e,r){if(isNativeReflectConstruct())return Reflect.construct.apply(null,arguments);var o=[null];o.push.apply(o,e);var p=new(t.bind.apply(t,o));return r&&setPrototypeOf(p,r.prototype),p}'),defineAccessor:helper$3("7.20.7","export default function _defineAccessor(e,r,n,t){var c={configurable:!0,enumerable:!0};return c[e]=t,Object.defineProperty(r,n,c)}"),dispose:helper$3("7.22.0",'function dispose_SuppressedError(r,e){return"undefined"!=typeof SuppressedError?dispose_SuppressedError=SuppressedError:(dispose_SuppressedError=function(r,e){this.suppressed=e,this.error=r,this.stack=Error().stack},dispose_SuppressedError.prototype=Object.create(Error.prototype,{constructor:{value:dispose_SuppressedError,writable:!0,configurable:!0}})),new dispose_SuppressedError(r,e)}export default function _dispose(r,e,s){function next(){for(;r.length>0;)try{var o=r.pop(),p=o.d.call(o.v);if(o.a)return Promise.resolve(p).then(next,err)}catch(r){return err(r)}if(s)throw e}function err(r){return e=s?new dispose_SuppressedError(e,r):r,s=!0,next()}return next()}'),importDeferProxy:helper$3("7.23.0","export default function _importDeferProxy(e){var t=null,constValue=function(e){return function(){return e}},proxy=function(r){return function(n,o,f){return null===t&&(t=e()),r(t,o,f)}};return new Proxy({},{defineProperty:constValue(!1),deleteProperty:constValue(!1),get:proxy(Reflect.get),getOwnPropertyDescriptor:proxy(Reflect.getOwnPropertyDescriptor),getPrototypeOf:constValue(null),isExtensible:constValue(!1),has:proxy(Reflect.has),ownKeys:proxy(Reflect.ownKeys),preventExtensions:constValue(!0),set:constValue(!1),setPrototypeOf:constValue(!1)})}"),interopRequireWildcard:helper$3("7.14.0",'function _getRequireWildcardCache(e){if("function"!=typeof WeakMap)return null;var r=new WeakMap,t=new WeakMap;return(_getRequireWildcardCache=function(e){return e?t:r})(e)}export default function _interopRequireWildcard(e,r){if(!r&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=_getRequireWildcardCache(r);if(t&&t.has(e))return t.get(e);var n={__proto__:null},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var u in e)if("default"!==u&&{}.hasOwnProperty.call(e,u)){var i=a?Object.getOwnPropertyDescriptor(e,u):null;i&&(i.get||i.set)?Object.defineProperty(n,u,i):n[u]=e[u]}return n.default=e,t&&t.set(e,n),n}'),isNativeReflectConstruct:helper$3("7.9.0","export default function _isNativeReflectConstruct(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(t){}return(_isNativeReflectConstruct=function(){return!!t})()}"),iterableToArrayLimit:helper$3("7.0.0-beta.0",'export default function _iterableToArrayLimit(r,l){var t=null==r?null:"undefined"!=typeof Symbol&&r[Symbol.iterator]||r["@@iterator"];if(null!=t){var e,n,i,u,a=[],f=!0,o=!1;try{if(i=(t=t.call(r)).next,0===l){if(Object(t)!==t)return;f=!1}else for(;!(f=(e=i.call(t)).done)&&(a.push(e.value),a.length!==l);f=!0);}catch(r){o=!0,n=r}finally{try{if(!f&&null!=t.return&&(u=t.return(),Object(u)!==u))return}finally{if(o)throw n}}return a}}'),iterableToArrayLimitLoose:helper$3("7.0.0-beta.0",'export default function _iterableToArrayLimitLoose(e,r){var t=e&&("undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"]);if(null!=t){var o,l=[];for(t=t.call(e);e.length<r&&!(o=t.next()).done;)l.push(o.value);return l}}'),jsx:helper$3("7.0.0-beta.0",'var REACT_ELEMENT_TYPE;export default function _createRawReactElement(e,r,E,l){REACT_ELEMENT_TYPE||(REACT_ELEMENT_TYPE="function"==typeof Symbol&&Symbol.for&&Symbol.for("react.element")||60103);var o=e&&e.defaultProps,n=arguments.length-3;if(r||0===n||(r={children:void 0}),1===n)r.children=l;else if(n>1){for(var t=Array(n),f=0;f<n;f++)t[f]=arguments[f+3];r.children=t}if(r&&o)for(var i in o)void 0===r[i]&&(r[i]=o[i]);else r||(r=o||{});return{$$typeof:REACT_ELEMENT_TYPE,type:e,key:void 0===E?null:""+E,ref:null,props:r,_owner:null}}'),objectSpread2:helper$3("7.5.0",'import defineProperty from"defineProperty";function ownKeys(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);r&&(o=o.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,o)}return t}export default function _objectSpread2(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?ownKeys(Object(t),!0).forEach((function(r){defineProperty(e,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):ownKeys(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}))}return e}'),regeneratorRuntime:helper$3("7.18.0",'export default function _regeneratorRuntime(){"use strict";\n/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */_regeneratorRuntime=function(){return e};var t,e={},r=Object.prototype,n=r.hasOwnProperty,o=Object.defineProperty||function(t,e,r){t[e]=r.value},i="function"==typeof Symbol?Symbol:{},a=i.iterator||"@@iterator",c=i.asyncIterator||"@@asyncIterator",u=i.toStringTag||"@@toStringTag";function define(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{define({},"")}catch(t){define=function(t,e,r){return t[e]=r}}function wrap(t,e,r,n){var i=e&&e.prototype instanceof Generator?e:Generator,a=Object.create(i.prototype),c=new Context(n||[]);return o(a,"_invoke",{value:makeInvokeMethod(t,r,c)}),a}function tryCatch(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}e.wrap=wrap;var h="suspendedStart",l="suspendedYield",f="executing",s="completed",y={};function Generator(){}function GeneratorFunction(){}function GeneratorFunctionPrototype(){}var p={};define(p,a,(function(){return this}));var d=Object.getPrototypeOf,v=d&&d(d(values([])));v&&v!==r&&n.call(v,a)&&(p=v);var g=GeneratorFunctionPrototype.prototype=Generator.prototype=Object.create(p);function defineIteratorMethods(t){["next","throw","return"].forEach((function(e){define(t,e,(function(t){return this._invoke(e,t)}))}))}function AsyncIterator(t,e){function invoke(r,o,i,a){var c=tryCatch(t[r],t,o);if("throw"!==c.type){var u=c.arg,h=u.value;return h&&"object"==typeof h&&n.call(h,"__await")?e.resolve(h.__await).then((function(t){invoke("next",t,i,a)}),(function(t){invoke("throw",t,i,a)})):e.resolve(h).then((function(t){u.value=t,i(u)}),(function(t){return invoke("throw",t,i,a)}))}a(c.arg)}var r;o(this,"_invoke",{value:function(t,n){function callInvokeWithMethodAndArg(){return new e((function(e,r){invoke(t,n,e,r)}))}return r=r?r.then(callInvokeWithMethodAndArg,callInvokeWithMethodAndArg):callInvokeWithMethodAndArg()}})}function makeInvokeMethod(e,r,n){var o=h;return function(i,a){if(o===f)throw Error("Generator is already running");if(o===s){if("throw"===i)throw a;return{value:t,done:!0}}for(n.method=i,n.arg=a;;){var c=n.delegate;if(c){var u=maybeInvokeDelegate(c,n);if(u){if(u===y)continue;return u}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(o===h)throw o=s,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);o=f;var p=tryCatch(e,r,n);if("normal"===p.type){if(o=n.done?s:l,p.arg===y)continue;return{value:p.arg,done:n.done}}"throw"===p.type&&(o=s,n.method="throw",n.arg=p.arg)}}}function maybeInvokeDelegate(e,r){var n=r.method,o=e.iterator[n];if(o===t)return r.delegate=null,"throw"===n&&e.iterator.return&&(r.method="return",r.arg=t,maybeInvokeDelegate(e,r),"throw"===r.method)||"return"!==n&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a \'"+n+"\' method")),y;var i=tryCatch(o,e.iterator,r.arg);if("throw"===i.type)return r.method="throw",r.arg=i.arg,r.delegate=null,y;var a=i.arg;return a?a.done?(r[e.resultName]=a.value,r.next=e.nextLoc,"return"!==r.method&&(r.method="next",r.arg=t),r.delegate=null,y):a:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,y)}function pushTryEntry(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function resetTryEntry(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function Context(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(pushTryEntry,this),this.reset(!0)}function values(e){if(e||""===e){var r=e[a];if(r)return r.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var o=-1,i=function next(){for(;++o<e.length;)if(n.call(e,o))return next.value=e[o],next.done=!1,next;return next.value=t,next.done=!0,next};return i.next=i}}throw new TypeError(typeof e+" is not iterable")}return GeneratorFunction.prototype=GeneratorFunctionPrototype,o(g,"constructor",{value:GeneratorFunctionPrototype,configurable:!0}),o(GeneratorFunctionPrototype,"constructor",{value:GeneratorFunction,configurable:!0}),GeneratorFunction.displayName=define(GeneratorFunctionPrototype,u,"GeneratorFunction"),e.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===GeneratorFunction||"GeneratorFunction"===(e.displayName||e.name))},e.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,GeneratorFunctionPrototype):(t.__proto__=GeneratorFunctionPrototype,define(t,u,"GeneratorFunction")),t.prototype=Object.create(g),t},e.awrap=function(t){return{__await:t}},defineIteratorMethods(AsyncIterator.prototype),define(AsyncIterator.prototype,c,(function(){return this})),e.AsyncIterator=AsyncIterator,e.async=function(t,r,n,o,i){void 0===i&&(i=Promise);var a=new AsyncIterator(wrap(t,r,n,o),i);return e.isGeneratorFunction(r)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},defineIteratorMethods(g),define(g,u,"Generator"),define(g,a,(function(){return this})),define(g,"toString",(function(){return"[object Generator]"})),e.keys=function(t){var e=Object(t),r=[];for(var n in e)r.push(n);return r.reverse(),function next(){for(;r.length;){var t=r.pop();if(t in e)return next.value=t,next.done=!1,next}return next.done=!0,next}},e.values=values,Context.prototype={constructor:Context,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEach(resetTryEntry),!e)for(var r in this)"t"===r.charAt(0)&&n.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=t)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var r=this;function handle(n,o){return a.type="throw",a.arg=e,r.next=n,o&&(r.method="next",r.arg=t),!!o}for(var o=this.tryEntries.length-1;o>=0;--o){var i=this.tryEntries[o],a=i.completion;if("root"===i.tryLoc)return handle("end");if(i.tryLoc<=this.prev){var c=n.call(i,"catchLoc"),u=n.call(i,"finallyLoc");if(c&&u){if(this.prev<i.catchLoc)return handle(i.catchLoc,!0);if(this.prev<i.finallyLoc)return handle(i.finallyLoc)}else if(c){if(this.prev<i.catchLoc)return handle(i.catchLoc,!0)}else{if(!u)throw Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return handle(i.finallyLoc)}}}},abrupt:function(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&n.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break}}i&&("break"===t||"continue"===t)&&i.tryLoc<=e&&e<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=t,a.arg=e,i?(this.method="next",this.next=i.finallyLoc,y):this.complete(a)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),y},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),resetTryEntry(r),y}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var o=n.arg;resetTryEntry(r)}return o}}throw Error("illegal catch attempt")},delegateYield:function(e,r,n){return this.delegate={iterator:values(e),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=t),y}},e}'),setFunctionName:helper$3("7.23.6",'export default function setFunctionName(e,t,n){"symbol"==typeof t&&(t=(t=t.description)?"["+t+"]":"");try{Object.defineProperty(e,"name",{configurable:!0,value:n?n+" "+t:t})}catch(e){}return e}'),toPrimitive:helper$3("7.1.5",'export default function toPrimitive(t,r){if("object"!=typeof t||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var i=e.call(t,r||"default");if("object"!=typeof i)return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}'),toPropertyKey:helper$3("7.1.5",'import toPrimitive from"toPrimitive";export default function toPropertyKey(t){var i=toPrimitive(t,"string");return"symbol"==typeof i?i:i+""}'),toSetter:helper$3("7.24.0",'export default function _toSetter(t,e,n){e||(e=[]);var r=e.length++;return Object.defineProperty({},"_",{set:function(o){e[r]=o,t.apply(n,e)}})}'),"typeof":helper$3("7.0.0-beta.0",'export default function _typeof(o){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(o){return typeof o}:function(o){return o&&"function"==typeof Symbol&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o},_typeof(o)}'),using:helper$3("7.22.0",'export default function _using(o,n,e){if(null==n)return n;if(Object(n)!==n)throw new TypeError("using declarations can only be used with objects, functions, null, or undefined.");if(e)var r=n[Symbol.asyncDispose||Symbol.for("Symbol.asyncDispose")];if(null==r&&(r=n[Symbol.dispose||Symbol.for("Symbol.dispose")]),"function"!=typeof r)throw new TypeError("Property [Symbol.dispose] is not a function.");return o.push({v:n,d:r,a:e}),n}'),usingCtx:helper$3("7.23.9",'export default function _usingCtx(){var r="function"==typeof SuppressedError?SuppressedError:function(r,n){var e=Error();return e.name="SuppressedError",e.suppressed=n,e.error=r,e},n={},e=[];function using(r,n){if(null!=n){if(Object(n)!==n)throw new TypeError("using declarations can only be used with objects, functions, null, or undefined.");if(r)var o=n[Symbol.asyncDispose||Symbol.for("Symbol.asyncDispose")];if(null==o&&(o=n[Symbol.dispose||Symbol.for("Symbol.dispose")]),"function"!=typeof o)throw new TypeError("Property [Symbol.dispose] is not a function.");e.push({v:n,d:o,a:r})}return n}return{e:n,u:using.bind(null,!1),a:using.bind(null,!0),d:function(){var o=this.e;function next(){for(;r=e.pop();)try{var r,t=r.d.call(r.v);if(r.a)return Promise.resolve(t).then(next,err)}catch(r){return err(r)}if(o!==n)throw o}function err(e){return o=o!==n?new r(o,e):e,next()}return next()}}}'),wrapRegExp:helper$3("7.19.0",'import setPrototypeOf from"setPrototypeOf";import inherits from"inherits";export default function _wrapRegExp(){_wrapRegExp=function(e,r){return new BabelRegExp(e,void 0,r)};var e=RegExp.prototype,r=new WeakMap;function BabelRegExp(e,t,p){var o=RegExp(e,t);return r.set(o,p||r.get(e)),setPrototypeOf(o,BabelRegExp.prototype)}function buildGroups(e,t){var p=r.get(t);return Object.keys(p).reduce((function(r,t){var o=p[t];if("number"==typeof o)r[t]=e[o];else{for(var i=0;void 0===e[o[i]]&&i+1<o.length;)i++;r[t]=e[o[i]]}return r}),Object.create(null))}return inherits(BabelRegExp,RegExp),BabelRegExp.prototype.exec=function(r){var t=e.exec.call(this,r);if(t){t.groups=buildGroups(t,this);var p=t.indices;p&&(p.groups=buildGroups(p,this))}return t},BabelRegExp.prototype[Symbol.replace]=function(t,p){if("string"==typeof p){var o=r.get(this);return e[Symbol.replace].call(this,t,p.replace(/\\$<([^>]+)>/g,(function(e,r){var t=o[r];return"$"+(Array.isArray(t)?t.join("$"):t)})))}if("function"==typeof p){var i=this;return e[Symbol.replace].call(this,t,(function(){var e=arguments;return"object"!=typeof e[e.length-1]&&(e=[].slice.call(e)).push(buildGroups(e,i)),p.apply(this,e)}))}return e[Symbol.replace].call(this,t,p)},_wrapRegExp.apply(this,arguments)}')});var _templateObject$B,_templateObject2$k,_templateObject3$e,_templateObject4$a,_templateObject5$6,_templateObject6$4,_templateObject7$3,_templateObject8$3,_templateObject9$3,_templateObject10$3,_templateObject11$3,_templateObject12$3,_templateObject13$3,_templateObject14$3,_templateObject15$2,_templateObject16$2,_templateObject17$2,_templateObject18$2,_templateObject19$1,_templateObject20$1,_templateObject21$1,_templateObject22$1,_templateObject23,_templateObject24,_templateObject25,_templateObject26,_templateObject27,_templateObject28,_templateObject29,_templateObject30,_templateObject31,_templateObject32,_templateObject33,_templateObject34,_templateObject35,_templateObject36,_templateObject37,_templateObject38,_templateObject39,_templateObject40,_templateObject41,_templateObject42,_templateObject43,_templateObject44,_templateObject45,_templateObject46,_templateObject47,_templateObject48,_templateObject49,_templateObject50,_templateObject51,_templateObject52,_templateObject53,_templateObject54,_templateObject55,_templateObject56,_templateObject57,_templateObject58,_templateObject59,_templateObject60,_templateObject61,_templateObject62,_templateObject63,_templateObject64,_templateObject65,_templateObject66,_templateObject67,_templateObject68,_templateObject69,_templateObject70,_templateObject71,_templateObject72,_templateObject73,_templateObject74,_templateObject75,_templateObject76,_templateObject77,_templateObject78;var helpers$3=Object.assign({__proto__:null},generated);var helper$2=function helper(minVersion){return function(tpl){return{minVersion:minVersion,ast:function ast(){return template$1.program.ast(tpl);}};};};{helpers$3.AwaitValue=helper$2("7.0.0-beta.0")(_templateObject$B||(_templateObject$B=_taggedTemplateLiteralLoose(["\n    export default function _AwaitValue(value) {\n      this.wrapped = value;\n    }\n  "])));}helpers$3.wrapAsyncGenerator=helper$2("7.0.0-beta.0")(_templateObject2$k||(_templateObject2$k=_taggedTemplateLiteralLoose(["\n  import AsyncGenerator from \"AsyncGenerator\";\n\n  export default function _wrapAsyncGenerator(fn) {\n    return function () {\n      return new AsyncGenerator(fn.apply(this, arguments));\n    };\n  }\n"])));helpers$3.asyncToGenerator=helper$2("7.0.0-beta.0")(_templateObject3$e||(_templateObject3$e=_taggedTemplateLiteralLoose(["\n  function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n    try {\n      var info = gen[key](arg);\n      var value = info.value;\n    } catch (error) {\n      reject(error);\n      return;\n    }\n\n    if (info.done) {\n      resolve(value);\n    } else {\n      Promise.resolve(value).then(_next, _throw);\n    }\n  }\n\n  export default function _asyncToGenerator(fn) {\n    return function () {\n      var self = this, args = arguments;\n      return new Promise(function (resolve, reject) {\n        var gen = fn.apply(self, args);\n        function _next(value) {\n          asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n        }\n        function _throw(err) {\n          asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n        }\n\n        _next(undefined);\n      });\n    };\n  }\n"])));helpers$3.classCallCheck=helper$2("7.0.0-beta.0")(_templateObject4$a||(_templateObject4$a=_taggedTemplateLiteralLoose(["\n  export default function _classCallCheck(instance, Constructor) {\n    if (!(instance instanceof Constructor)) {\n      throw new TypeError(\"Cannot call a class as a function\");\n    }\n  }\n"])));helpers$3.createClass=helper$2("7.0.0-beta.0")(_templateObject5$6||(_templateObject5$6=_taggedTemplateLiteralLoose(["\n  import toPropertyKey from \"toPropertyKey\";\n  function _defineProperties(target, props) {\n    for (var i = 0; i < props.length; i ++) {\n      var descriptor = props[i];\n      descriptor.enumerable = descriptor.enumerable || false;\n      descriptor.configurable = true;\n      if (\"value\" in descriptor) descriptor.writable = true;\n      Object.defineProperty(target, toPropertyKey(descriptor.key), descriptor);\n    }\n  }\n\n  export default function _createClass(Constructor, protoProps, staticProps) {\n    if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n    if (staticProps) _defineProperties(Constructor, staticProps);\n    Object.defineProperty(Constructor, \"prototype\", { writable: false });\n    return Constructor;\n  }\n"])));{helpers$3.defineEnumerableProperties=helper$2("7.0.0-beta.0")(_templateObject6$4||(_templateObject6$4=_taggedTemplateLiteralLoose(["\n    export default function _defineEnumerableProperties(obj, descs) {\n      for (var key in descs) {\n        var desc = descs[key];\n        desc.configurable = desc.enumerable = true;\n        if (\"value\" in desc) desc.writable = true;\n        Object.defineProperty(obj, key, desc);\n      }\n\n      // Symbols are not enumerated over by for-in loops. If native\n      // Symbols are available, fetch all of the descs object's own\n      // symbol properties and define them on our target object too.\n      if (Object.getOwnPropertySymbols) {\n        var objectSymbols = Object.getOwnPropertySymbols(descs);\n        for (var i = 0; i < objectSymbols.length; i++) {\n          var sym = objectSymbols[i];\n          var desc = descs[sym];\n          desc.configurable = desc.enumerable = true;\n          if (\"value\" in desc) desc.writable = true;\n          Object.defineProperty(obj, sym, desc);\n        }\n      }\n      return obj;\n    }\n"])));}helpers$3.defaults=helper$2("7.0.0-beta.0")(_templateObject7$3||(_templateObject7$3=_taggedTemplateLiteralLoose(["\n  export default function _defaults(obj, defaults) {\n    var keys = Object.getOwnPropertyNames(defaults);\n    for (var i = 0; i < keys.length; i++) {\n      var key = keys[i];\n      var value = Object.getOwnPropertyDescriptor(defaults, key);\n      if (value && value.configurable && obj[key] === undefined) {\n        Object.defineProperty(obj, key, value);\n      }\n    }\n    return obj;\n  }\n"])));helpers$3.defineProperty=helper$2("7.0.0-beta.0")(_templateObject8$3||(_templateObject8$3=_taggedTemplateLiteralLoose(["\n  import toPropertyKey from \"toPropertyKey\";\n  export default function _defineProperty(obj, key, value) {\n    key = toPropertyKey(key);\n    // Shortcircuit the slow defineProperty path when possible.\n    // We are trying to avoid issues where setters defined on the\n    // prototype cause side effects under the fast path of simple\n    // assignment. By checking for existence of the property with\n    // the in operator, we can optimize most of this overhead away.\n    if (key in obj) {\n      Object.defineProperty(obj, key, {\n        value: value,\n        enumerable: true,\n        configurable: true,\n        writable: true\n      });\n    } else {\n      obj[key] = value;\n    }\n    return obj;\n  }\n"])));helpers$3["extends"]=helper$2("7.0.0-beta.0")(_templateObject9$3||(_templateObject9$3=_taggedTemplateLiteralLoose(["\n  export default function _extends() {\n    _extends = Object.assign ? Object.assign.bind() : function (target) {\n      for (var i = 1; i < arguments.length; i++) {\n        var source = arguments[i];\n        for (var key in source) {\n          if (Object.prototype.hasOwnProperty.call(source, key)) {\n            target[key] = source[key];\n          }\n        }\n      }\n      return target;\n    };\n\n    return _extends.apply(this, arguments);\n  }\n"])));{helpers$3.objectSpread=helper$2("7.0.0-beta.0")(_templateObject10$3||(_templateObject10$3=_taggedTemplateLiteralLoose(["\n    import defineProperty from \"defineProperty\";\n\n    export default function _objectSpread(target) {\n      for (var i = 1; i < arguments.length; i++) {\n        var source = (arguments[i] != null) ? Object(arguments[i]) : {};\n        var ownKeys = Object.keys(source);\n        if (typeof Object.getOwnPropertySymbols === 'function') {\n          ownKeys.push.apply(ownKeys, Object.getOwnPropertySymbols(source).filter(function(sym) {\n            return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n          }));\n        }\n        ownKeys.forEach(function(key) {\n          defineProperty(target, key, source[key]);\n        });\n      }\n      return target;\n    }\n  "])));}helpers$3.inherits=helper$2("7.0.0-beta.0")(_templateObject11$3||(_templateObject11$3=_taggedTemplateLiteralLoose(["\n  import setPrototypeOf from \"setPrototypeOf\";\n\n  export default function _inherits(subClass, superClass) {\n    if (typeof superClass !== \"function\" && superClass !== null) {\n      throw new TypeError(\"Super expression must either be null or a function\");\n    }\n    // We can't use defineProperty to set the prototype in a single step because it\n    // doesn't work in Chrome <= 36. https://github.com/babel/babel/issues/14056\n    // V8 bug: https://bugs.chromium.org/p/v8/issues/detail?id=3334\n    subClass.prototype = Object.create(superClass && superClass.prototype, {\n      constructor: {\n        value: subClass,\n        writable: true,\n        configurable: true\n      }\n    });\n    Object.defineProperty(subClass, \"prototype\", { writable: false });\n    if (superClass) setPrototypeOf(subClass, superClass);\n  }\n"])));helpers$3.inheritsLoose=helper$2("7.0.0-beta.0")(_templateObject12$3||(_templateObject12$3=_taggedTemplateLiteralLoose(["\n  import setPrototypeOf from \"setPrototypeOf\";\n\n  export default function _inheritsLoose(subClass, superClass) {\n    subClass.prototype = Object.create(superClass.prototype);\n    subClass.prototype.constructor = subClass;\n    setPrototypeOf(subClass, superClass);\n  }\n"])));helpers$3.getPrototypeOf=helper$2("7.0.0-beta.0")(_templateObject13$3||(_templateObject13$3=_taggedTemplateLiteralLoose(["\n  export default function _getPrototypeOf(o) {\n    _getPrototypeOf = Object.setPrototypeOf\n      ? Object.getPrototypeOf.bind()\n      : function _getPrototypeOf(o) {\n          return o.__proto__ || Object.getPrototypeOf(o);\n        };\n    return _getPrototypeOf(o);\n  }\n"])));helpers$3.setPrototypeOf=helper$2("7.0.0-beta.0")(_templateObject14$3||(_templateObject14$3=_taggedTemplateLiteralLoose(["\n  export default function _setPrototypeOf(o, p) {\n    _setPrototypeOf = Object.setPrototypeOf\n      ? Object.setPrototypeOf.bind()\n      : function _setPrototypeOf(o, p) {\n          o.__proto__ = p;\n          return o;\n        };\n    return _setPrototypeOf(o, p);\n  }\n"])));helpers$3.isNativeFunction=helper$2("7.0.0-beta.0")(_templateObject15$2||(_templateObject15$2=_taggedTemplateLiteralLoose(["\n  export default function _isNativeFunction(fn) {\n    // Note: This function returns \"true\" for core-js functions.\n    try {\n      return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n    } catch (e) {\n      // Firefox 31 throws when \"toString\" is applied to an HTMLElement\n      return typeof fn === \"function\";\n    }\n  }\n"])));helpers$3.wrapNativeSuper=helper$2("7.0.0-beta.0")(_templateObject16$2||(_templateObject16$2=_taggedTemplateLiteralLoose(["\n  import getPrototypeOf from \"getPrototypeOf\";\n  import setPrototypeOf from \"setPrototypeOf\";\n  import isNativeFunction from \"isNativeFunction\";\n  import construct from \"construct\";\n\n  export default function _wrapNativeSuper(Class) {\n    var _cache = typeof Map === \"function\" ? new Map() : undefined;\n\n    _wrapNativeSuper = function _wrapNativeSuper(Class) {\n      if (Class === null || !isNativeFunction(Class)) return Class;\n      if (typeof Class !== \"function\") {\n        throw new TypeError(\"Super expression must either be null or a function\");\n      }\n      if (typeof _cache !== \"undefined\") {\n        if (_cache.has(Class)) return _cache.get(Class);\n        _cache.set(Class, Wrapper);\n      }\n      function Wrapper() {\n        return construct(Class, arguments, getPrototypeOf(this).constructor)\n      }\n      Wrapper.prototype = Object.create(Class.prototype, {\n        constructor: {\n          value: Wrapper,\n          enumerable: false,\n          writable: true,\n          configurable: true,\n        }\n      });\n\n      return setPrototypeOf(Wrapper, Class);\n    }\n\n    return _wrapNativeSuper(Class)\n  }\n"])));helpers$3["instanceof"]=helper$2("7.0.0-beta.0")(_templateObject17$2||(_templateObject17$2=_taggedTemplateLiteralLoose(["\n  export default function _instanceof(left, right) {\n    if (right != null && typeof Symbol !== \"undefined\" && right[Symbol.hasInstance]) {\n      return !!right[Symbol.hasInstance](left);\n    } else {\n      return left instanceof right;\n    }\n  }\n"])));helpers$3.interopRequireDefault=helper$2("7.0.0-beta.0")(_templateObject18$2||(_templateObject18$2=_taggedTemplateLiteralLoose(["\n  export default function _interopRequireDefault(obj) {\n    return obj && obj.__esModule ? obj : { default: obj };\n  }\n"])));helpers$3.newArrowCheck=helper$2("7.0.0-beta.0")(_templateObject19$1||(_templateObject19$1=_taggedTemplateLiteralLoose(["\n  export default function _newArrowCheck(innerThis, boundThis) {\n    if (innerThis !== boundThis) {\n      throw new TypeError(\"Cannot instantiate an arrow function\");\n    }\n  }\n"])));helpers$3.objectDestructuringEmpty=helper$2("7.0.0-beta.0")(_templateObject20$1||(_templateObject20$1=_taggedTemplateLiteralLoose(["\n  export default function _objectDestructuringEmpty(obj) {\n    if (obj == null) throw new TypeError(\"Cannot destructure \" + obj);\n  }\n"])));helpers$3.objectWithoutPropertiesLoose=helper$2("7.0.0-beta.0")(_templateObject21$1||(_templateObject21$1=_taggedTemplateLiteralLoose(["\n  export default function _objectWithoutPropertiesLoose(source, excluded) {\n    if (source == null) return {};\n\n    var target = {};\n    var sourceKeys = Object.keys(source);\n    var key, i;\n\n    for (i = 0; i < sourceKeys.length; i++) {\n      key = sourceKeys[i];\n      if (excluded.indexOf(key) >= 0) continue;\n      target[key] = source[key];\n    }\n\n    return target;\n  }\n"])));helpers$3.objectWithoutProperties=helper$2("7.0.0-beta.0")(_templateObject22$1||(_templateObject22$1=_taggedTemplateLiteralLoose(["\n  import objectWithoutPropertiesLoose from \"objectWithoutPropertiesLoose\";\n\n  export default function _objectWithoutProperties(source, excluded) {\n    if (source == null) return {};\n\n    var target = objectWithoutPropertiesLoose(source, excluded);\n    var key, i;\n\n    if (Object.getOwnPropertySymbols) {\n      var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n      for (i = 0; i < sourceSymbolKeys.length; i++) {\n        key = sourceSymbolKeys[i];\n        if (excluded.indexOf(key) >= 0) continue;\n        if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n        target[key] = source[key];\n      }\n    }\n\n    return target;\n  }\n"])));helpers$3.assertThisInitialized=helper$2("7.0.0-beta.0")(_templateObject23||(_templateObject23=_taggedTemplateLiteralLoose(["\n  export default function _assertThisInitialized(self) {\n    if (self === void 0) {\n      throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n    }\n    return self;\n  }\n"])));helpers$3.possibleConstructorReturn=helper$2("7.0.0-beta.0")(_templateObject24||(_templateObject24=_taggedTemplateLiteralLoose(["\n  import assertThisInitialized from \"assertThisInitialized\";\n\n  export default function _possibleConstructorReturn(self, call) {\n    if (call && (typeof call === \"object\" || typeof call === \"function\")) {\n      return call;\n    } else if (call !== void 0) {\n      throw new TypeError(\"Derived constructors may only return object or undefined\");\n    }\n\n    return assertThisInitialized(self);\n  }\n"])));{helpers$3.createSuper=helper$2("7.9.0")(_templateObject25||(_templateObject25=_taggedTemplateLiteralLoose(["\n    import getPrototypeOf from \"getPrototypeOf\";\n    import isNativeReflectConstruct from \"isNativeReflectConstruct\";\n    import possibleConstructorReturn from \"possibleConstructorReturn\";\n\n    export default function _createSuper(Derived) {\n      var hasNativeReflectConstruct = isNativeReflectConstruct();\n\n      return function _createSuperInternal() {\n        var Super = getPrototypeOf(Derived), result;\n        if (hasNativeReflectConstruct) {\n          // NOTE: This doesn't work if this.__proto__.constructor has been modified.\n          var NewTarget = getPrototypeOf(this).constructor;\n          result = Reflect.construct(Super, arguments, NewTarget);\n        } else {\n          result = Super.apply(this, arguments);\n        }\n        return possibleConstructorReturn(this, result);\n      }\n    }\n"])));}helpers$3.superPropBase=helper$2("7.0.0-beta.0")(_templateObject26||(_templateObject26=_taggedTemplateLiteralLoose(["\n  import getPrototypeOf from \"getPrototypeOf\";\n\n  export default function _superPropBase(object, property) {\n    // Yes, this throws if object is null to being with, that's on purpose.\n    while (!Object.prototype.hasOwnProperty.call(object, property)) {\n      object = getPrototypeOf(object);\n      if (object === null) break;\n    }\n    return object;\n  }\n"])));helpers$3.get=helper$2("7.0.0-beta.0")(_templateObject27||(_templateObject27=_taggedTemplateLiteralLoose(["\n  import superPropBase from \"superPropBase\";\n\n  export default function _get() {\n    if (typeof Reflect !== \"undefined\" && Reflect.get) {\n      _get = Reflect.get.bind();\n    } else {\n      _get = function _get(target, property, receiver) {\n        var base = superPropBase(target, property);\n\n        if (!base) return;\n\n        var desc = Object.getOwnPropertyDescriptor(base, property);\n        if (desc.get) {\n          // STEP 3. If receiver is not present, then set receiver to target.\n          return desc.get.call(arguments.length < 3 ? target : receiver);\n        }\n\n        return desc.value;\n      };\n    }\n    return _get.apply(this, arguments);\n  }\n"])));helpers$3.set=helper$2("7.0.0-beta.0")(_templateObject28||(_templateObject28=_taggedTemplateLiteralLoose(["\n  import superPropBase from \"superPropBase\";\n  import defineProperty from \"defineProperty\";\n\n  function set(target, property, value, receiver) {\n    if (typeof Reflect !== \"undefined\" && Reflect.set) {\n      set = Reflect.set;\n    } else {\n      set = function set(target, property, value, receiver) {\n        var base = superPropBase(target, property);\n        var desc;\n\n        if (base) {\n          desc = Object.getOwnPropertyDescriptor(base, property);\n          if (desc.set) {\n            desc.set.call(receiver, value);\n            return true;\n          } else if (!desc.writable) {\n            // Both getter and non-writable fall into this.\n            return false;\n          }\n        }\n\n        // Without a super that defines the property, spec boils down to\n        // \"define on receiver\" for some reason.\n        desc = Object.getOwnPropertyDescriptor(receiver, property);\n        if (desc) {\n          if (!desc.writable) {\n            // Setter, getter, and non-writable fall into this.\n            return false;\n          }\n\n          desc.value = value;\n          Object.defineProperty(receiver, property, desc);\n        } else {\n          // Avoid setters that may be defined on Sub's prototype, but not on\n          // the instance.\n          defineProperty(receiver, property, value);\n        }\n\n        return true;\n      };\n    }\n\n    return set(target, property, value, receiver);\n  }\n\n  export default function _set(target, property, value, receiver, isStrict) {\n    var s = set(target, property, value, receiver || target);\n    if (!s && isStrict) {\n      throw new TypeError('failed to set property');\n    }\n\n    return value;\n  }\n"])));helpers$3.taggedTemplateLiteral=helper$2("7.0.0-beta.0")(_templateObject29||(_templateObject29=_taggedTemplateLiteralLoose(["\n  export default function _taggedTemplateLiteral(strings, raw) {\n    if (!raw) { raw = strings.slice(0); }\n    return Object.freeze(Object.defineProperties(strings, {\n        raw: { value: Object.freeze(raw) }\n    }));\n  }\n"])));helpers$3.taggedTemplateLiteralLoose=helper$2("7.0.0-beta.0")(_templateObject30||(_templateObject30=_taggedTemplateLiteralLoose(["\n  export default function _taggedTemplateLiteralLoose(strings, raw) {\n    if (!raw) { raw = strings.slice(0); }\n    strings.raw = raw;\n    return strings;\n  }\n"])));helpers$3.readOnlyError=helper$2("7.0.0-beta.0")(_templateObject31||(_templateObject31=_taggedTemplateLiteralLoose(["\n  export default function _readOnlyError(name) {\n    throw new TypeError(\"\\\"\" + name + \"\\\" is read-only\");\n  }\n"],["\n  export default function _readOnlyError(name) {\n    throw new TypeError(\"\\\\\"\" + name + \"\\\\\" is read-only\");\n  }\n"])));helpers$3.writeOnlyError=helper$2("7.12.13")(_templateObject32||(_templateObject32=_taggedTemplateLiteralLoose(["\n  export default function _writeOnlyError(name) {\n    throw new TypeError(\"\\\"\" + name + \"\\\" is write-only\");\n  }\n"],["\n  export default function _writeOnlyError(name) {\n    throw new TypeError(\"\\\\\"\" + name + \"\\\\\" is write-only\");\n  }\n"])));helpers$3.classNameTDZError=helper$2("7.0.0-beta.0")(_templateObject33||(_templateObject33=_taggedTemplateLiteralLoose(["\n  export default function _classNameTDZError(name) {\n    throw new ReferenceError(\"Class \\\"\" + name + \"\\\" cannot be referenced in computed property keys.\");\n  }\n"],["\n  export default function _classNameTDZError(name) {\n    throw new ReferenceError(\"Class \\\\\"\" + name + \"\\\\\" cannot be referenced in computed property keys.\");\n  }\n"])));helpers$3.temporalUndefined=helper$2("7.0.0-beta.0")(_templateObject34||(_templateObject34=_taggedTemplateLiteralLoose(["\n  // This function isn't mean to be called, but to be used as a reference.\n  // We can't use a normal object because it isn't hoisted.\n  export default function _temporalUndefined() {}\n"])));helpers$3.tdz=helper$2("7.5.5")(_templateObject35||(_templateObject35=_taggedTemplateLiteralLoose(["\n  export default function _tdzError(name) {\n    throw new ReferenceError(name + \" is not defined - temporal dead zone\");\n  }\n"])));helpers$3.temporalRef=helper$2("7.0.0-beta.0")(_templateObject36||(_templateObject36=_taggedTemplateLiteralLoose(["\n  import undef from \"temporalUndefined\";\n  import err from \"tdz\";\n\n  export default function _temporalRef(val, name) {\n    return val === undef ? err(name) : val;\n  }\n"])));helpers$3.slicedToArray=helper$2("7.0.0-beta.0")(_templateObject37||(_templateObject37=_taggedTemplateLiteralLoose(["\n  import arrayWithHoles from \"arrayWithHoles\";\n  import iterableToArrayLimit from \"iterableToArrayLimit\";\n  import unsupportedIterableToArray from \"unsupportedIterableToArray\";\n  import nonIterableRest from \"nonIterableRest\";\n\n  export default function _slicedToArray(arr, i) {\n    return (\n      arrayWithHoles(arr) ||\n      iterableToArrayLimit(arr, i) ||\n      unsupportedIterableToArray(arr, i) ||\n      nonIterableRest()\n    );\n  }\n"])));helpers$3.slicedToArrayLoose=helper$2("7.0.0-beta.0")(_templateObject38||(_templateObject38=_taggedTemplateLiteralLoose(["\n  import arrayWithHoles from \"arrayWithHoles\";\n  import iterableToArrayLimitLoose from \"iterableToArrayLimitLoose\";\n  import unsupportedIterableToArray from \"unsupportedIterableToArray\";\n  import nonIterableRest from \"nonIterableRest\";\n\n  export default function _slicedToArrayLoose(arr, i) {\n    return (\n      arrayWithHoles(arr) ||\n      iterableToArrayLimitLoose(arr, i) ||\n      unsupportedIterableToArray(arr, i) ||\n      nonIterableRest()\n    );\n  }\n"])));helpers$3.toArray=helper$2("7.0.0-beta.0")(_templateObject39||(_templateObject39=_taggedTemplateLiteralLoose(["\n  import arrayWithHoles from \"arrayWithHoles\";\n  import iterableToArray from \"iterableToArray\";\n  import unsupportedIterableToArray from \"unsupportedIterableToArray\";\n  import nonIterableRest from \"nonIterableRest\";\n\n  export default function _toArray(arr) {\n    return (\n      arrayWithHoles(arr) ||\n      iterableToArray(arr) ||\n      unsupportedIterableToArray(arr) ||\n      nonIterableRest()\n    );\n  }\n"])));helpers$3.toConsumableArray=helper$2("7.0.0-beta.0")(_templateObject40||(_templateObject40=_taggedTemplateLiteralLoose(["\n  import arrayWithoutHoles from \"arrayWithoutHoles\";\n  import iterableToArray from \"iterableToArray\";\n  import unsupportedIterableToArray from \"unsupportedIterableToArray\";\n  import nonIterableSpread from \"nonIterableSpread\";\n\n  export default function _toConsumableArray(arr) {\n    return (\n      arrayWithoutHoles(arr) ||\n      iterableToArray(arr) ||\n      unsupportedIterableToArray(arr) ||\n      nonIterableSpread()\n    );\n  }\n"])));helpers$3.arrayWithoutHoles=helper$2("7.0.0-beta.0")(_templateObject41||(_templateObject41=_taggedTemplateLiteralLoose(["\n  import arrayLikeToArray from \"arrayLikeToArray\";\n\n  export default function _arrayWithoutHoles(arr) {\n    if (Array.isArray(arr)) return arrayLikeToArray(arr);\n  }\n"])));helpers$3.arrayWithHoles=helper$2("7.0.0-beta.0")(_templateObject42||(_templateObject42=_taggedTemplateLiteralLoose(["\n  export default function _arrayWithHoles(arr) {\n    if (Array.isArray(arr)) return arr;\n  }\n"])));helpers$3.maybeArrayLike=helper$2("7.9.0")(_templateObject43||(_templateObject43=_taggedTemplateLiteralLoose(["\n  import arrayLikeToArray from \"arrayLikeToArray\";\n\n  export default function _maybeArrayLike(next, arr, i) {\n    if (arr && !Array.isArray(arr) && typeof arr.length === \"number\") {\n      var len = arr.length;\n      return arrayLikeToArray(arr, i !== void 0 && i < len ? i : len);\n    }\n    return next(arr, i);\n  }\n"])));helpers$3.iterableToArray=helper$2("7.0.0-beta.0")(_templateObject44||(_templateObject44=_taggedTemplateLiteralLoose(["\n  export default function _iterableToArray(iter) {\n    if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n  }\n"])));helpers$3.unsupportedIterableToArray=helper$2("7.9.0")(_templateObject45||(_templateObject45=_taggedTemplateLiteralLoose(["\n  import arrayLikeToArray from \"arrayLikeToArray\";\n\n  export default function _unsupportedIterableToArray(o, minLen) {\n    if (!o) return;\n    if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n    var n = Object.prototype.toString.call(o).slice(8, -1);\n    if (n === \"Object\" && o.constructor) n = o.constructor.name;\n    if (n === \"Map\" || n === \"Set\") return Array.from(o);\n    if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))\n      return arrayLikeToArray(o, minLen);\n  }\n"])));helpers$3.arrayLikeToArray=helper$2("7.9.0")(_templateObject46||(_templateObject46=_taggedTemplateLiteralLoose(["\n  export default function _arrayLikeToArray(arr, len) {\n    if (len == null || len > arr.length) len = arr.length;\n    for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n    return arr2;\n  }\n"])));helpers$3.nonIterableSpread=helper$2("7.0.0-beta.0")(_templateObject47||(_templateObject47=_taggedTemplateLiteralLoose(["\n  export default function _nonIterableSpread() {\n    throw new TypeError(\n      \"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"\n    );\n  }\n"],["\n  export default function _nonIterableSpread() {\n    throw new TypeError(\n      \"Invalid attempt to spread non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"\n    );\n  }\n"])));helpers$3.nonIterableRest=helper$2("7.0.0-beta.0")(_templateObject48||(_templateObject48=_taggedTemplateLiteralLoose(["\n  export default function _nonIterableRest() {\n    throw new TypeError(\n      \"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"\n    );\n  }\n"],["\n  export default function _nonIterableRest() {\n    throw new TypeError(\n      \"Invalid attempt to destructure non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"\n    );\n  }\n"])));helpers$3.createForOfIteratorHelper=helper$2("7.9.0")(_templateObject49||(_templateObject49=_taggedTemplateLiteralLoose(["\n  import unsupportedIterableToArray from \"unsupportedIterableToArray\";\n\n  // s: start (create the iterator)\n  // n: next\n  // e: error (called whenever something throws)\n  // f: finish (always called at the end)\n\n  export default function _createForOfIteratorHelper(o, allowArrayLike) {\n    var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"];\n\n    if (!it) {\n      // Fallback for engines without symbol support\n      if (\n        Array.isArray(o) ||\n        (it = unsupportedIterableToArray(o)) ||\n        (allowArrayLike && o && typeof o.length === \"number\")\n      ) {\n        if (it) o = it;\n        var i = 0;\n        var F = function(){};\n        return {\n          s: F,\n          n: function() {\n            if (i >= o.length) return { done: true };\n            return { done: false, value: o[i++] };\n          },\n          e: function(e) { throw e; },\n          f: F,\n        };\n      }\n\n      throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n    }\n\n    var normalCompletion = true, didErr = false, err;\n\n    return {\n      s: function() {\n        it = it.call(o);\n      },\n      n: function() {\n        var step = it.next();\n        normalCompletion = step.done;\n        return step;\n      },\n      e: function(e) {\n        didErr = true;\n        err = e;\n      },\n      f: function() {\n        try {\n          if (!normalCompletion && it.return != null) it.return();\n        } finally {\n          if (didErr) throw err;\n        }\n      }\n    };\n  }\n"],["\n  import unsupportedIterableToArray from \"unsupportedIterableToArray\";\n\n  // s: start (create the iterator)\n  // n: next\n  // e: error (called whenever something throws)\n  // f: finish (always called at the end)\n\n  export default function _createForOfIteratorHelper(o, allowArrayLike) {\n    var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"];\n\n    if (!it) {\n      // Fallback for engines without symbol support\n      if (\n        Array.isArray(o) ||\n        (it = unsupportedIterableToArray(o)) ||\n        (allowArrayLike && o && typeof o.length === \"number\")\n      ) {\n        if (it) o = it;\n        var i = 0;\n        var F = function(){};\n        return {\n          s: F,\n          n: function() {\n            if (i >= o.length) return { done: true };\n            return { done: false, value: o[i++] };\n          },\n          e: function(e) { throw e; },\n          f: F,\n        };\n      }\n\n      throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n    }\n\n    var normalCompletion = true, didErr = false, err;\n\n    return {\n      s: function() {\n        it = it.call(o);\n      },\n      n: function() {\n        var step = it.next();\n        normalCompletion = step.done;\n        return step;\n      },\n      e: function(e) {\n        didErr = true;\n        err = e;\n      },\n      f: function() {\n        try {\n          if (!normalCompletion && it.return != null) it.return();\n        } finally {\n          if (didErr) throw err;\n        }\n      }\n    };\n  }\n"])));helpers$3.createForOfIteratorHelperLoose=helper$2("7.9.0")(_templateObject50||(_templateObject50=_taggedTemplateLiteralLoose(["\n  import unsupportedIterableToArray from \"unsupportedIterableToArray\";\n\n  export default function _createForOfIteratorHelperLoose(o, allowArrayLike) {\n    var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"];\n\n    if (it) return (it = it.call(o)).next.bind(it);\n\n    // Fallback for engines without symbol support\n    if (\n      Array.isArray(o) ||\n      (it = unsupportedIterableToArray(o)) ||\n      (allowArrayLike && o && typeof o.length === \"number\")\n    ) {\n      if (it) o = it;\n      var i = 0;\n      return function() {\n        if (i >= o.length) return { done: true };\n        return { done: false, value: o[i++] };\n      }\n    }\n\n    throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n  }\n"],["\n  import unsupportedIterableToArray from \"unsupportedIterableToArray\";\n\n  export default function _createForOfIteratorHelperLoose(o, allowArrayLike) {\n    var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"];\n\n    if (it) return (it = it.call(o)).next.bind(it);\n\n    // Fallback for engines without symbol support\n    if (\n      Array.isArray(o) ||\n      (it = unsupportedIterableToArray(o)) ||\n      (allowArrayLike && o && typeof o.length === \"number\")\n    ) {\n      if (it) o = it;\n      var i = 0;\n      return function() {\n        if (i >= o.length) return { done: true };\n        return { done: false, value: o[i++] };\n      }\n    }\n\n    throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n  }\n"])));helpers$3.skipFirstGeneratorNext=helper$2("7.0.0-beta.0")(_templateObject51||(_templateObject51=_taggedTemplateLiteralLoose(["\n  export default function _skipFirstGeneratorNext(fn) {\n    return function () {\n      var it = fn.apply(this, arguments);\n      it.next();\n      return it;\n    }\n  }\n"])));helpers$3.initializerWarningHelper=helper$2("7.0.0-beta.0")(_templateObject52||(_templateObject52=_taggedTemplateLiteralLoose(["\n    export default function _initializerWarningHelper(descriptor, context){\n        throw new Error(\n          'Decorating class property failed. Please ensure that ' +\n          'transform-class-properties is enabled and runs after the decorators transform.'\n        );\n    }\n"])));helpers$3.initializerDefineProperty=helper$2("7.0.0-beta.0")(_templateObject53||(_templateObject53=_taggedTemplateLiteralLoose(["\n    export default function _initializerDefineProperty(target, property, descriptor, context){\n        if (!descriptor) return;\n\n        Object.defineProperty(target, property, {\n            enumerable: descriptor.enumerable,\n            configurable: descriptor.configurable,\n            writable: descriptor.writable,\n            value: descriptor.initializer ? descriptor.initializer.call(context) : void 0,\n        });\n    }\n"])));helpers$3.applyDecoratedDescriptor=helper$2("7.0.0-beta.0")(_templateObject54||(_templateObject54=_taggedTemplateLiteralLoose(["\n    export default function _applyDecoratedDescriptor(target, property, decorators, descriptor, context){\n        var desc = {};\n        Object.keys(descriptor).forEach(function(key){\n            desc[key] = descriptor[key];\n        });\n        desc.enumerable = !!desc.enumerable;\n        desc.configurable = !!desc.configurable;\n        if ('value' in desc || desc.initializer){\n            desc.writable = true;\n        }\n\n        desc = decorators.slice().reverse().reduce(function(desc, decorator){\n            return decorator(target, property, desc) || desc;\n        }, desc);\n\n        if (context && desc.initializer !== void 0){\n            desc.value = desc.initializer ? desc.initializer.call(context) : void 0;\n            desc.initializer = undefined;\n        }\n\n        if (desc.initializer === void 0){\n            Object.defineProperty(target, property, desc);\n            desc = null;\n        }\n\n        return desc;\n    }\n"])));helpers$3.classPrivateFieldLooseKey=helper$2("7.0.0-beta.0")(_templateObject55||(_templateObject55=_taggedTemplateLiteralLoose(["\n  var id = 0;\n  export default function _classPrivateFieldKey(name) {\n    return \"__private_\" + (id++) + \"_\" + name;\n  }\n"])));helpers$3.classPrivateFieldLooseBase=helper$2("7.0.0-beta.0")(_templateObject56||(_templateObject56=_taggedTemplateLiteralLoose(["\n  export default function _classPrivateFieldBase(receiver, privateKey) {\n    if (!Object.prototype.hasOwnProperty.call(receiver, privateKey)) {\n      throw new TypeError(\"attempted to use private field on non-instance\");\n    }\n    return receiver;\n  }\n"])));helpers$3.classPrivateFieldGet=helper$2("7.0.0-beta.0")(_templateObject57||(_templateObject57=_taggedTemplateLiteralLoose(["\n  import classApplyDescriptorGet from \"classApplyDescriptorGet\";\n  import classPrivateFieldGet2 from \"classPrivateFieldGet2\";\n  export default function _classPrivateFieldGet(receiver, privateMap) {\n    var descriptor = classPrivateFieldGet2(privateMap, receiver);\n    return classApplyDescriptorGet(receiver, descriptor);\n  }\n"])));helpers$3.classPrivateFieldSet=helper$2("7.0.0-beta.0")(_templateObject58||(_templateObject58=_taggedTemplateLiteralLoose(["\n  import classApplyDescriptorSet from \"classApplyDescriptorSet\";\n  import classPrivateFieldGet2 from \"classPrivateFieldGet2\";\n  export default function _classPrivateFieldSet(receiver, privateMap, value) {\n    var descriptor = classPrivateFieldGet2(privateMap, receiver);\n    classApplyDescriptorSet(receiver, descriptor, value);\n    return value;\n  }\n"])));helpers$3.classPrivateFieldDestructureSet=helper$2("7.4.4")(_templateObject59||(_templateObject59=_taggedTemplateLiteralLoose(["\n  import classApplyDescriptorDestructureSet from \"classApplyDescriptorDestructureSet\";\n  import classPrivateFieldGet2 from \"classPrivateFieldGet2\";\n  export default function _classPrivateFieldDestructureSet(receiver, privateMap) {\n    var descriptor = classPrivateFieldGet2(privateMap, receiver);\n    return classApplyDescriptorDestructureSet(receiver, descriptor);\n  }\n"])));helpers$3.classExtractFieldDescriptor=helper$2("7.13.10")(_templateObject60||(_templateObject60=_taggedTemplateLiteralLoose(["\n  import classPrivateFieldGet2 from \"classPrivateFieldGet2\";\n\n  export default function _classExtractFieldDescriptor(receiver, privateMap) {\n    return classPrivateFieldGet2(privateMap, receiver);\n  }\n"])));helpers$3.classStaticPrivateFieldSpecGet=helper$2("7.0.2")(_templateObject61||(_templateObject61=_taggedTemplateLiteralLoose(["\n  import classApplyDescriptorGet from \"classApplyDescriptorGet\";\n  import assertClassBrand from \"assertClassBrand\";\n  import classCheckPrivateStaticFieldDescriptor from \"classCheckPrivateStaticFieldDescriptor\";\n  export default function _classStaticPrivateFieldSpecGet(receiver, classConstructor, descriptor) {\n    assertClassBrand(classConstructor, receiver);\n    classCheckPrivateStaticFieldDescriptor(descriptor, \"get\");\n    return classApplyDescriptorGet(receiver, descriptor);\n  }\n"])));helpers$3.classStaticPrivateFieldSpecSet=helper$2("7.0.2")(_templateObject62||(_templateObject62=_taggedTemplateLiteralLoose(["\n  import classApplyDescriptorSet from \"classApplyDescriptorSet\";\n  import assertClassBrand from \"assertClassBrand\";\n  import classCheckPrivateStaticFieldDescriptor from \"classCheckPrivateStaticFieldDescriptor\";\n  export default function _classStaticPrivateFieldSpecSet(receiver, classConstructor, descriptor, value) {\n    assertClassBrand(classConstructor, receiver);\n    classCheckPrivateStaticFieldDescriptor(descriptor, \"set\");\n    classApplyDescriptorSet(receiver, descriptor, value);\n    return value;\n  }\n"])));helpers$3.classStaticPrivateMethodGet=helper$2("7.3.2")(_templateObject63||(_templateObject63=_taggedTemplateLiteralLoose(["\n  import assertClassBrand from \"assertClassBrand\";\n  export default function _classStaticPrivateMethodGet(receiver, classConstructor, method) {\n    assertClassBrand(classConstructor, receiver);\n    return method;\n  }\n"])));helpers$3.classStaticPrivateMethodSet=helper$2("7.3.2")(_templateObject64||(_templateObject64=_taggedTemplateLiteralLoose(["\n  export default function _classStaticPrivateMethodSet() {\n    throw new TypeError(\"attempted to set read only static private field\");\n  }\n"])));helpers$3.classApplyDescriptorGet=helper$2("7.13.10")(_templateObject65||(_templateObject65=_taggedTemplateLiteralLoose(["\n  export default function _classApplyDescriptorGet(receiver, descriptor) {\n    if (descriptor.get) {\n      return descriptor.get.call(receiver);\n    }\n    return descriptor.value;\n  }\n"])));helpers$3.classApplyDescriptorSet=helper$2("7.13.10")(_templateObject66||(_templateObject66=_taggedTemplateLiteralLoose(["\n  export default function _classApplyDescriptorSet(receiver, descriptor, value) {\n    if (descriptor.set) {\n      descriptor.set.call(receiver, value);\n    } else {\n      if (!descriptor.writable) {\n        // This should only throw in strict mode, but class bodies are\n        // always strict and private fields can only be used inside\n        // class bodies.\n        throw new TypeError(\"attempted to set read only private field\");\n      }\n      descriptor.value = value;\n    }\n  }\n"])));helpers$3.classApplyDescriptorDestructureSet=helper$2("7.13.10")(_templateObject67||(_templateObject67=_taggedTemplateLiteralLoose(["\n  export default function _classApplyDescriptorDestructureSet(receiver, descriptor) {\n    if (descriptor.set) {\n      if (!(\"__destrObj\" in descriptor)) {\n        descriptor.__destrObj = {\n          set value(v) {\n            descriptor.set.call(receiver, v)\n          },\n        };\n      }\n      return descriptor.__destrObj;\n    } else {\n      if (!descriptor.writable) {\n        // This should only throw in strict mode, but class bodies are\n        // always strict and private fields can only be used inside\n        // class bodies.\n        throw new TypeError(\"attempted to set read only private field\");\n      }\n\n      return descriptor;\n    }\n  }\n"])));helpers$3.classStaticPrivateFieldDestructureSet=helper$2("7.13.10")(_templateObject68||(_templateObject68=_taggedTemplateLiteralLoose(["\n  import classApplyDescriptorDestructureSet from \"classApplyDescriptorDestructureSet\";\n  import assertClassBrand from \"assertClassBrand\";\n  import classCheckPrivateStaticFieldDescriptor from \"classCheckPrivateStaticFieldDescriptor\";\n  export default function _classStaticPrivateFieldDestructureSet(receiver, classConstructor, descriptor) {\n    assertClassBrand(classConstructor, receiver);\n    classCheckPrivateStaticFieldDescriptor(descriptor, \"set\");\n    return classApplyDescriptorDestructureSet(receiver, descriptor);\n  }\n"])));helpers$3.classCheckPrivateStaticAccess=helper$2("7.13.10")(_templateObject69||(_templateObject69=_taggedTemplateLiteralLoose(["\n  import assertClassBrand from \"assertClassBrand\";\n  export default function _classCheckPrivateStaticAccess(receiver, classConstructor, returnValue) {\n    return assertClassBrand(classConstructor, receiver, returnValue);\n  }\n"])));helpers$3.classCheckPrivateStaticFieldDescriptor=helper$2("7.13.10")(_templateObject70||(_templateObject70=_taggedTemplateLiteralLoose(["\n  export default function _classCheckPrivateStaticFieldDescriptor(descriptor, action) {\n    if (descriptor === undefined) {\n      throw new TypeError(\"attempted to \" + action + \" private static field before its declaration\");\n    }\n  }\n"])));helpers$3.decorate=helper$2("7.1.5")(_templateObject71||(_templateObject71=_taggedTemplateLiteralLoose(["\n  import toArray from \"toArray\";\n  import toPropertyKey from \"toPropertyKey\";\n\n  // These comments are stripped by @babel/template\n  /*::\n  type PropertyDescriptor =\n    | {\n        value: any,\n        writable: boolean,\n        configurable: boolean,\n        enumerable: boolean,\n      }\n    | {\n        get?: () => any,\n        set?: (v: any) => void,\n        configurable: boolean,\n        enumerable: boolean,\n      };\n\n  type FieldDescriptor ={\n    writable: boolean,\n    configurable: boolean,\n    enumerable: boolean,\n  };\n\n  type Placement = \"static\" | \"prototype\" | \"own\";\n  type Key = string | symbol; // PrivateName is not supported yet.\n\n  type ElementDescriptor =\n    | {\n        kind: \"method\",\n        key: Key,\n        placement: Placement,\n        descriptor: PropertyDescriptor\n      }\n    | {\n        kind: \"field\",\n        key: Key,\n        placement: Placement,\n        descriptor: FieldDescriptor,\n        initializer?: () => any,\n      };\n\n  // This is exposed to the user code\n  type ElementObjectInput = ElementDescriptor & {\n    [@@toStringTag]?: \"Descriptor\"\n  };\n\n  // This is exposed to the user code\n  type ElementObjectOutput = ElementDescriptor & {\n    [@@toStringTag]?: \"Descriptor\"\n    extras?: ElementDescriptor[],\n    finisher?: ClassFinisher,\n  };\n\n  // This is exposed to the user code\n  type ClassObject = {\n    [@@toStringTag]?: \"Descriptor\",\n    kind: \"class\",\n    elements: ElementDescriptor[],\n  };\n\n  type ElementDecorator = (descriptor: ElementObjectInput) => ?ElementObjectOutput;\n  type ClassDecorator = (descriptor: ClassObject) => ?ClassObject;\n  type ClassFinisher = <A, B>(cl: Class<A>) => Class<B>;\n\n  // Only used by Babel in the transform output, not part of the spec.\n  type ElementDefinition =\n    | {\n        kind: \"method\",\n        value: any,\n        key: Key,\n        static?: boolean,\n        decorators?: ElementDecorator[],\n      }\n    | {\n        kind: \"field\",\n        value: () => any,\n        key: Key,\n        static?: boolean,\n        decorators?: ElementDecorator[],\n    };\n\n  declare function ClassFactory<C>(initialize: (instance: C) => void): {\n    F: Class<C>,\n    d: ElementDefinition[]\n  }\n\n  */\n\n  /*::\n  // Various combinations with/without extras and with one or many finishers\n\n  type ElementFinisherExtras = {\n    element: ElementDescriptor,\n    finisher?: ClassFinisher,\n    extras?: ElementDescriptor[],\n  };\n\n  type ElementFinishersExtras = {\n    element: ElementDescriptor,\n    finishers: ClassFinisher[],\n    extras: ElementDescriptor[],\n  };\n\n  type ElementsFinisher = {\n    elements: ElementDescriptor[],\n    finisher?: ClassFinisher,\n  };\n\n  type ElementsFinishers = {\n    elements: ElementDescriptor[],\n    finishers: ClassFinisher[],\n  };\n\n  */\n\n  /*::\n\n  type Placements = {\n    static: Key[],\n    prototype: Key[],\n    own: Key[],\n  };\n\n  */\n\n  // ClassDefinitionEvaluation (Steps 26-*)\n  export default function _decorate(\n    decorators /*: ClassDecorator[] */,\n    factory /*: ClassFactory */,\n    superClass /*: ?Class<*> */,\n    mixins /*: ?Array<Function> */,\n  ) /*: Class<*> */ {\n    var api = _getDecoratorsApi();\n    if (mixins) {\n      for (var i = 0; i < mixins.length; i++) {\n        api = mixins[i](api);\n      }\n    }\n\n    var r = factory(function initialize(O) {\n      api.initializeInstanceElements(O, decorated.elements);\n    }, superClass);\n    var decorated = api.decorateClass(\n      _coalesceClassElements(r.d.map(_createElementDescriptor)),\n      decorators,\n    );\n\n    api.initializeClassElements(r.F, decorated.elements);\n\n    return api.runClassFinishers(r.F, decorated.finishers);\n  }\n\n  function _getDecoratorsApi() {\n    _getDecoratorsApi = function() {\n      return api;\n    };\n\n    var api = {\n      elementsDefinitionOrder: [[\"method\"], [\"field\"]],\n\n      // InitializeInstanceElements\n      initializeInstanceElements: function(\n        /*::<C>*/ O /*: C */,\n        elements /*: ElementDescriptor[] */,\n      ) {\n        [\"method\", \"field\"].forEach(function(kind) {\n          elements.forEach(function(element /*: ElementDescriptor */) {\n            if (element.kind === kind && element.placement === \"own\") {\n              this.defineClassElement(O, element);\n            }\n          }, this);\n        }, this);\n      },\n\n      // InitializeClassElements\n      initializeClassElements: function(\n        /*::<C>*/ F /*: Class<C> */,\n        elements /*: ElementDescriptor[] */,\n      ) {\n        var proto = F.prototype;\n\n        [\"method\", \"field\"].forEach(function(kind) {\n          elements.forEach(function(element /*: ElementDescriptor */) {\n            var placement = element.placement;\n            if (\n              element.kind === kind &&\n              (placement === \"static\" || placement === \"prototype\")\n            ) {\n              var receiver = placement === \"static\" ? F : proto;\n              this.defineClassElement(receiver, element);\n            }\n          }, this);\n        }, this);\n      },\n\n      // DefineClassElement\n      defineClassElement: function(\n        /*::<C>*/ receiver /*: C | Class<C> */,\n        element /*: ElementDescriptor */,\n      ) {\n        var descriptor /*: PropertyDescriptor */ = element.descriptor;\n        if (element.kind === \"field\") {\n          var initializer = element.initializer;\n          descriptor = {\n            enumerable: descriptor.enumerable,\n            writable: descriptor.writable,\n            configurable: descriptor.configurable,\n            value: initializer === void 0 ? void 0 : initializer.call(receiver),\n          };\n        }\n        Object.defineProperty(receiver, element.key, descriptor);\n      },\n\n      // DecorateClass\n      decorateClass: function(\n        elements /*: ElementDescriptor[] */,\n        decorators /*: ClassDecorator[] */,\n      ) /*: ElementsFinishers */ {\n        var newElements /*: ElementDescriptor[] */ = [];\n        var finishers /*: ClassFinisher[] */ = [];\n        var placements /*: Placements */ = {\n          static: [],\n          prototype: [],\n          own: [],\n        };\n\n        elements.forEach(function(element /*: ElementDescriptor */) {\n          this.addElementPlacement(element, placements);\n        }, this);\n\n        elements.forEach(function(element /*: ElementDescriptor */) {\n          if (!_hasDecorators(element)) return newElements.push(element);\n\n          var elementFinishersExtras /*: ElementFinishersExtras */ = this.decorateElement(\n            element,\n            placements,\n          );\n          newElements.push(elementFinishersExtras.element);\n          newElements.push.apply(newElements, elementFinishersExtras.extras);\n          finishers.push.apply(finishers, elementFinishersExtras.finishers);\n        }, this);\n\n        if (!decorators) {\n          return { elements: newElements, finishers: finishers };\n        }\n\n        var result /*: ElementsFinishers */ = this.decorateConstructor(\n          newElements,\n          decorators,\n        );\n        finishers.push.apply(finishers, result.finishers);\n        result.finishers = finishers;\n\n        return result;\n      },\n\n      // AddElementPlacement\n      addElementPlacement: function(\n        element /*: ElementDescriptor */,\n        placements /*: Placements */,\n        silent /*: boolean */,\n      ) {\n        var keys = placements[element.placement];\n        if (!silent && keys.indexOf(element.key) !== -1) {\n          throw new TypeError(\"Duplicated element (\" + element.key + \")\");\n        }\n        keys.push(element.key);\n      },\n\n      // DecorateElement\n      decorateElement: function(\n        element /*: ElementDescriptor */,\n        placements /*: Placements */,\n      ) /*: ElementFinishersExtras */ {\n        var extras /*: ElementDescriptor[] */ = [];\n        var finishers /*: ClassFinisher[] */ = [];\n\n        for (\n          var decorators = element.decorators, i = decorators.length - 1;\n          i >= 0;\n          i--\n        ) {\n          // (inlined) RemoveElementPlacement\n          var keys = placements[element.placement];\n          keys.splice(keys.indexOf(element.key), 1);\n\n          var elementObject /*: ElementObjectInput */ = this.fromElementDescriptor(\n            element,\n          );\n          var elementFinisherExtras /*: ElementFinisherExtras */ = this.toElementFinisherExtras(\n            (0, decorators[i])(elementObject) /*: ElementObjectOutput */ ||\n              elementObject,\n          );\n\n          element = elementFinisherExtras.element;\n          this.addElementPlacement(element, placements);\n\n          if (elementFinisherExtras.finisher) {\n            finishers.push(elementFinisherExtras.finisher);\n          }\n\n          var newExtras /*: ElementDescriptor[] | void */ =\n            elementFinisherExtras.extras;\n          if (newExtras) {\n            for (var j = 0; j < newExtras.length; j++) {\n              this.addElementPlacement(newExtras[j], placements);\n            }\n            extras.push.apply(extras, newExtras);\n          }\n        }\n\n        return { element: element, finishers: finishers, extras: extras };\n      },\n\n      // DecorateConstructor\n      decorateConstructor: function(\n        elements /*: ElementDescriptor[] */,\n        decorators /*: ClassDecorator[] */,\n      ) /*: ElementsFinishers */ {\n        var finishers /*: ClassFinisher[] */ = [];\n\n        for (var i = decorators.length - 1; i >= 0; i--) {\n          var obj /*: ClassObject */ = this.fromClassDescriptor(elements);\n          var elementsAndFinisher /*: ElementsFinisher */ = this.toClassDescriptor(\n            (0, decorators[i])(obj) /*: ClassObject */ || obj,\n          );\n\n          if (elementsAndFinisher.finisher !== undefined) {\n            finishers.push(elementsAndFinisher.finisher);\n          }\n\n          if (elementsAndFinisher.elements !== undefined) {\n            elements = elementsAndFinisher.elements;\n\n            for (var j = 0; j < elements.length - 1; j++) {\n              for (var k = j + 1; k < elements.length; k++) {\n                if (\n                  elements[j].key === elements[k].key &&\n                  elements[j].placement === elements[k].placement\n                ) {\n                  throw new TypeError(\n                    \"Duplicated element (\" + elements[j].key + \")\",\n                  );\n                }\n              }\n            }\n          }\n        }\n\n        return { elements: elements, finishers: finishers };\n      },\n\n      // FromElementDescriptor\n      fromElementDescriptor: function(\n        element /*: ElementDescriptor */,\n      ) /*: ElementObject */ {\n        var obj /*: ElementObject */ = {\n          kind: element.kind,\n          key: element.key,\n          placement: element.placement,\n          descriptor: element.descriptor,\n        };\n\n        var desc = {\n          value: \"Descriptor\",\n          configurable: true,\n        };\n        Object.defineProperty(obj, Symbol.toStringTag, desc);\n\n        if (element.kind === \"field\") obj.initializer = element.initializer;\n\n        return obj;\n      },\n\n      // ToElementDescriptors\n      toElementDescriptors: function(\n        elementObjects /*: ElementObject[] */,\n      ) /*: ElementDescriptor[] */ {\n        if (elementObjects === undefined) return;\n        return toArray(elementObjects).map(function(elementObject) {\n          var element = this.toElementDescriptor(elementObject);\n          this.disallowProperty(elementObject, \"finisher\", \"An element descriptor\");\n          this.disallowProperty(elementObject, \"extras\", \"An element descriptor\");\n          return element;\n        }, this);\n      },\n\n      // ToElementDescriptor\n      toElementDescriptor: function(\n        elementObject /*: ElementObject */,\n      ) /*: ElementDescriptor */ {\n        var kind = String(elementObject.kind);\n        if (kind !== \"method\" && kind !== \"field\") {\n          throw new TypeError(\n            'An element descriptor\\'s .kind property must be either \"method\" or' +\n              ' \"field\", but a decorator created an element descriptor with' +\n              ' .kind \"' +\n              kind +\n              '\"',\n          );\n        }\n\n        var key = toPropertyKey(elementObject.key);\n\n        var placement = String(elementObject.placement);\n        if (\n          placement !== \"static\" &&\n          placement !== \"prototype\" &&\n          placement !== \"own\"\n        ) {\n          throw new TypeError(\n            'An element descriptor\\'s .placement property must be one of \"static\",' +\n              ' \"prototype\" or \"own\", but a decorator created an element descriptor' +\n              ' with .placement \"' +\n              placement +\n              '\"',\n          );\n        }\n\n        var descriptor /*: PropertyDescriptor */ = elementObject.descriptor;\n\n        this.disallowProperty(elementObject, \"elements\", \"An element descriptor\");\n\n        var element /*: ElementDescriptor */ = {\n          kind: kind,\n          key: key,\n          placement: placement,\n          descriptor: Object.assign({}, descriptor),\n        };\n\n        if (kind !== \"field\") {\n          this.disallowProperty(elementObject, \"initializer\", \"A method descriptor\");\n        } else {\n          this.disallowProperty(\n            descriptor,\n            \"get\",\n            \"The property descriptor of a field descriptor\",\n          );\n          this.disallowProperty(\n            descriptor,\n            \"set\",\n            \"The property descriptor of a field descriptor\",\n          );\n          this.disallowProperty(\n            descriptor,\n            \"value\",\n            \"The property descriptor of a field descriptor\",\n          );\n\n          element.initializer = elementObject.initializer;\n        }\n\n        return element;\n      },\n\n      toElementFinisherExtras: function(\n        elementObject /*: ElementObject */,\n      ) /*: ElementFinisherExtras */ {\n        var element /*: ElementDescriptor */ = this.toElementDescriptor(\n          elementObject,\n        );\n        var finisher /*: ClassFinisher */ = _optionalCallableProperty(\n          elementObject,\n          \"finisher\",\n        );\n        var extras /*: ElementDescriptors[] */ = this.toElementDescriptors(\n          elementObject.extras,\n        );\n\n        return { element: element, finisher: finisher, extras: extras };\n      },\n\n      // FromClassDescriptor\n      fromClassDescriptor: function(\n        elements /*: ElementDescriptor[] */,\n      ) /*: ClassObject */ {\n        var obj = {\n          kind: \"class\",\n          elements: elements.map(this.fromElementDescriptor, this),\n        };\n\n        var desc = { value: \"Descriptor\", configurable: true };\n        Object.defineProperty(obj, Symbol.toStringTag, desc);\n\n        return obj;\n      },\n\n      // ToClassDescriptor\n      toClassDescriptor: function(\n        obj /*: ClassObject */,\n      ) /*: ElementsFinisher */ {\n        var kind = String(obj.kind);\n        if (kind !== \"class\") {\n          throw new TypeError(\n            'A class descriptor\\'s .kind property must be \"class\", but a decorator' +\n              ' created a class descriptor with .kind \"' +\n              kind +\n              '\"',\n          );\n        }\n\n        this.disallowProperty(obj, \"key\", \"A class descriptor\");\n        this.disallowProperty(obj, \"placement\", \"A class descriptor\");\n        this.disallowProperty(obj, \"descriptor\", \"A class descriptor\");\n        this.disallowProperty(obj, \"initializer\", \"A class descriptor\");\n        this.disallowProperty(obj, \"extras\", \"A class descriptor\");\n\n        var finisher = _optionalCallableProperty(obj, \"finisher\");\n        var elements = this.toElementDescriptors(obj.elements);\n\n        return { elements: elements, finisher: finisher };\n      },\n\n      // RunClassFinishers\n      runClassFinishers: function(\n        constructor /*: Class<*> */,\n        finishers /*: ClassFinisher[] */,\n      ) /*: Class<*> */ {\n        for (var i = 0; i < finishers.length; i++) {\n          var newConstructor /*: ?Class<*> */ = (0, finishers[i])(constructor);\n          if (newConstructor !== undefined) {\n            // NOTE: This should check if IsConstructor(newConstructor) is false.\n            if (typeof newConstructor !== \"function\") {\n              throw new TypeError(\"Finishers must return a constructor.\");\n            }\n            constructor = newConstructor;\n          }\n        }\n        return constructor;\n      },\n\n      disallowProperty: function(obj, name, objectType) {\n        if (obj[name] !== undefined) {\n          throw new TypeError(objectType + \" can't have a .\" + name + \" property.\");\n        }\n      }\n    };\n\n    return api;\n  }\n\n  // ClassElementEvaluation\n  function _createElementDescriptor(\n    def /*: ElementDefinition */,\n  ) /*: ElementDescriptor */ {\n    var key = toPropertyKey(def.key);\n\n    var descriptor /*: PropertyDescriptor */;\n    if (def.kind === \"method\") {\n      descriptor = {\n        value: def.value,\n        writable: true,\n        configurable: true,\n        enumerable: false,\n      };\n    } else if (def.kind === \"get\") {\n      descriptor = { get: def.value, configurable: true, enumerable: false };\n    } else if (def.kind === \"set\") {\n      descriptor = { set: def.value, configurable: true, enumerable: false };\n    } else if (def.kind === \"field\") {\n      descriptor = { configurable: true, writable: true, enumerable: true };\n    }\n\n    var element /*: ElementDescriptor */ = {\n      kind: def.kind === \"field\" ? \"field\" : \"method\",\n      key: key,\n      placement: def.static\n        ? \"static\"\n        : def.kind === \"field\"\n        ? \"own\"\n        : \"prototype\",\n      descriptor: descriptor,\n    };\n    if (def.decorators) element.decorators = def.decorators;\n    if (def.kind === \"field\") element.initializer = def.value;\n\n    return element;\n  }\n\n  // CoalesceGetterSetter\n  function _coalesceGetterSetter(\n    element /*: ElementDescriptor */,\n    other /*: ElementDescriptor */,\n  ) {\n    if (element.descriptor.get !== undefined) {\n      other.descriptor.get = element.descriptor.get;\n    } else {\n      other.descriptor.set = element.descriptor.set;\n    }\n  }\n\n  // CoalesceClassElements\n  function _coalesceClassElements(\n    elements /*: ElementDescriptor[] */,\n  ) /*: ElementDescriptor[] */ {\n    var newElements /*: ElementDescriptor[] */ = [];\n\n    var isSameElement = function(\n      other /*: ElementDescriptor */,\n    ) /*: boolean */ {\n      return (\n        other.kind === \"method\" &&\n        other.key === element.key &&\n        other.placement === element.placement\n      );\n    };\n\n    for (var i = 0; i < elements.length; i++) {\n      var element /*: ElementDescriptor */ = elements[i];\n      var other /*: ElementDescriptor */;\n\n      if (\n        element.kind === \"method\" &&\n        (other = newElements.find(isSameElement))\n      ) {\n        if (\n          _isDataDescriptor(element.descriptor) ||\n          _isDataDescriptor(other.descriptor)\n        ) {\n          if (_hasDecorators(element) || _hasDecorators(other)) {\n            throw new ReferenceError(\n              \"Duplicated methods (\" + element.key + \") can't be decorated.\",\n            );\n          }\n          other.descriptor = element.descriptor;\n        } else {\n          if (_hasDecorators(element)) {\n            if (_hasDecorators(other)) {\n              throw new ReferenceError(\n                \"Decorators can't be placed on different accessors with for \" +\n                  \"the same property (\" +\n                  element.key +\n                  \").\",\n              );\n            }\n            other.decorators = element.decorators;\n          }\n          _coalesceGetterSetter(element, other);\n        }\n      } else {\n        newElements.push(element);\n      }\n    }\n\n    return newElements;\n  }\n\n  function _hasDecorators(element /*: ElementDescriptor */) /*: boolean */ {\n    return element.decorators && element.decorators.length;\n  }\n\n  function _isDataDescriptor(desc /*: PropertyDescriptor */) /*: boolean */ {\n    return (\n      desc !== undefined &&\n      !(desc.value === undefined && desc.writable === undefined)\n    );\n  }\n\n  function _optionalCallableProperty /*::<T>*/(\n    obj /*: T */,\n    name /*: $Keys<T> */,\n  ) /*: ?Function */ {\n    var value = obj[name];\n    if (value !== undefined && typeof value !== \"function\") {\n      throw new TypeError(\"Expected '\" + name + \"' to be a function\");\n    }\n    return value;\n  }\n\n"],["\n  import toArray from \"toArray\";\n  import toPropertyKey from \"toPropertyKey\";\n\n  // These comments are stripped by @babel/template\n  /*::\n  type PropertyDescriptor =\n    | {\n        value: any,\n        writable: boolean,\n        configurable: boolean,\n        enumerable: boolean,\n      }\n    | {\n        get?: () => any,\n        set?: (v: any) => void,\n        configurable: boolean,\n        enumerable: boolean,\n      };\n\n  type FieldDescriptor ={\n    writable: boolean,\n    configurable: boolean,\n    enumerable: boolean,\n  };\n\n  type Placement = \"static\" | \"prototype\" | \"own\";\n  type Key = string | symbol; // PrivateName is not supported yet.\n\n  type ElementDescriptor =\n    | {\n        kind: \"method\",\n        key: Key,\n        placement: Placement,\n        descriptor: PropertyDescriptor\n      }\n    | {\n        kind: \"field\",\n        key: Key,\n        placement: Placement,\n        descriptor: FieldDescriptor,\n        initializer?: () => any,\n      };\n\n  // This is exposed to the user code\n  type ElementObjectInput = ElementDescriptor & {\n    [@@toStringTag]?: \"Descriptor\"\n  };\n\n  // This is exposed to the user code\n  type ElementObjectOutput = ElementDescriptor & {\n    [@@toStringTag]?: \"Descriptor\"\n    extras?: ElementDescriptor[],\n    finisher?: ClassFinisher,\n  };\n\n  // This is exposed to the user code\n  type ClassObject = {\n    [@@toStringTag]?: \"Descriptor\",\n    kind: \"class\",\n    elements: ElementDescriptor[],\n  };\n\n  type ElementDecorator = (descriptor: ElementObjectInput) => ?ElementObjectOutput;\n  type ClassDecorator = (descriptor: ClassObject) => ?ClassObject;\n  type ClassFinisher = <A, B>(cl: Class<A>) => Class<B>;\n\n  // Only used by Babel in the transform output, not part of the spec.\n  type ElementDefinition =\n    | {\n        kind: \"method\",\n        value: any,\n        key: Key,\n        static?: boolean,\n        decorators?: ElementDecorator[],\n      }\n    | {\n        kind: \"field\",\n        value: () => any,\n        key: Key,\n        static?: boolean,\n        decorators?: ElementDecorator[],\n    };\n\n  declare function ClassFactory<C>(initialize: (instance: C) => void): {\n    F: Class<C>,\n    d: ElementDefinition[]\n  }\n\n  */\n\n  /*::\n  // Various combinations with/without extras and with one or many finishers\n\n  type ElementFinisherExtras = {\n    element: ElementDescriptor,\n    finisher?: ClassFinisher,\n    extras?: ElementDescriptor[],\n  };\n\n  type ElementFinishersExtras = {\n    element: ElementDescriptor,\n    finishers: ClassFinisher[],\n    extras: ElementDescriptor[],\n  };\n\n  type ElementsFinisher = {\n    elements: ElementDescriptor[],\n    finisher?: ClassFinisher,\n  };\n\n  type ElementsFinishers = {\n    elements: ElementDescriptor[],\n    finishers: ClassFinisher[],\n  };\n\n  */\n\n  /*::\n\n  type Placements = {\n    static: Key[],\n    prototype: Key[],\n    own: Key[],\n  };\n\n  */\n\n  // ClassDefinitionEvaluation (Steps 26-*)\n  export default function _decorate(\n    decorators /*: ClassDecorator[] */,\n    factory /*: ClassFactory */,\n    superClass /*: ?Class<*> */,\n    mixins /*: ?Array<Function> */,\n  ) /*: Class<*> */ {\n    var api = _getDecoratorsApi();\n    if (mixins) {\n      for (var i = 0; i < mixins.length; i++) {\n        api = mixins[i](api);\n      }\n    }\n\n    var r = factory(function initialize(O) {\n      api.initializeInstanceElements(O, decorated.elements);\n    }, superClass);\n    var decorated = api.decorateClass(\n      _coalesceClassElements(r.d.map(_createElementDescriptor)),\n      decorators,\n    );\n\n    api.initializeClassElements(r.F, decorated.elements);\n\n    return api.runClassFinishers(r.F, decorated.finishers);\n  }\n\n  function _getDecoratorsApi() {\n    _getDecoratorsApi = function() {\n      return api;\n    };\n\n    var api = {\n      elementsDefinitionOrder: [[\"method\"], [\"field\"]],\n\n      // InitializeInstanceElements\n      initializeInstanceElements: function(\n        /*::<C>*/ O /*: C */,\n        elements /*: ElementDescriptor[] */,\n      ) {\n        [\"method\", \"field\"].forEach(function(kind) {\n          elements.forEach(function(element /*: ElementDescriptor */) {\n            if (element.kind === kind && element.placement === \"own\") {\n              this.defineClassElement(O, element);\n            }\n          }, this);\n        }, this);\n      },\n\n      // InitializeClassElements\n      initializeClassElements: function(\n        /*::<C>*/ F /*: Class<C> */,\n        elements /*: ElementDescriptor[] */,\n      ) {\n        var proto = F.prototype;\n\n        [\"method\", \"field\"].forEach(function(kind) {\n          elements.forEach(function(element /*: ElementDescriptor */) {\n            var placement = element.placement;\n            if (\n              element.kind === kind &&\n              (placement === \"static\" || placement === \"prototype\")\n            ) {\n              var receiver = placement === \"static\" ? F : proto;\n              this.defineClassElement(receiver, element);\n            }\n          }, this);\n        }, this);\n      },\n\n      // DefineClassElement\n      defineClassElement: function(\n        /*::<C>*/ receiver /*: C | Class<C> */,\n        element /*: ElementDescriptor */,\n      ) {\n        var descriptor /*: PropertyDescriptor */ = element.descriptor;\n        if (element.kind === \"field\") {\n          var initializer = element.initializer;\n          descriptor = {\n            enumerable: descriptor.enumerable,\n            writable: descriptor.writable,\n            configurable: descriptor.configurable,\n            value: initializer === void 0 ? void 0 : initializer.call(receiver),\n          };\n        }\n        Object.defineProperty(receiver, element.key, descriptor);\n      },\n\n      // DecorateClass\n      decorateClass: function(\n        elements /*: ElementDescriptor[] */,\n        decorators /*: ClassDecorator[] */,\n      ) /*: ElementsFinishers */ {\n        var newElements /*: ElementDescriptor[] */ = [];\n        var finishers /*: ClassFinisher[] */ = [];\n        var placements /*: Placements */ = {\n          static: [],\n          prototype: [],\n          own: [],\n        };\n\n        elements.forEach(function(element /*: ElementDescriptor */) {\n          this.addElementPlacement(element, placements);\n        }, this);\n\n        elements.forEach(function(element /*: ElementDescriptor */) {\n          if (!_hasDecorators(element)) return newElements.push(element);\n\n          var elementFinishersExtras /*: ElementFinishersExtras */ = this.decorateElement(\n            element,\n            placements,\n          );\n          newElements.push(elementFinishersExtras.element);\n          newElements.push.apply(newElements, elementFinishersExtras.extras);\n          finishers.push.apply(finishers, elementFinishersExtras.finishers);\n        }, this);\n\n        if (!decorators) {\n          return { elements: newElements, finishers: finishers };\n        }\n\n        var result /*: ElementsFinishers */ = this.decorateConstructor(\n          newElements,\n          decorators,\n        );\n        finishers.push.apply(finishers, result.finishers);\n        result.finishers = finishers;\n\n        return result;\n      },\n\n      // AddElementPlacement\n      addElementPlacement: function(\n        element /*: ElementDescriptor */,\n        placements /*: Placements */,\n        silent /*: boolean */,\n      ) {\n        var keys = placements[element.placement];\n        if (!silent && keys.indexOf(element.key) !== -1) {\n          throw new TypeError(\"Duplicated element (\" + element.key + \")\");\n        }\n        keys.push(element.key);\n      },\n\n      // DecorateElement\n      decorateElement: function(\n        element /*: ElementDescriptor */,\n        placements /*: Placements */,\n      ) /*: ElementFinishersExtras */ {\n        var extras /*: ElementDescriptor[] */ = [];\n        var finishers /*: ClassFinisher[] */ = [];\n\n        for (\n          var decorators = element.decorators, i = decorators.length - 1;\n          i >= 0;\n          i--\n        ) {\n          // (inlined) RemoveElementPlacement\n          var keys = placements[element.placement];\n          keys.splice(keys.indexOf(element.key), 1);\n\n          var elementObject /*: ElementObjectInput */ = this.fromElementDescriptor(\n            element,\n          );\n          var elementFinisherExtras /*: ElementFinisherExtras */ = this.toElementFinisherExtras(\n            (0, decorators[i])(elementObject) /*: ElementObjectOutput */ ||\n              elementObject,\n          );\n\n          element = elementFinisherExtras.element;\n          this.addElementPlacement(element, placements);\n\n          if (elementFinisherExtras.finisher) {\n            finishers.push(elementFinisherExtras.finisher);\n          }\n\n          var newExtras /*: ElementDescriptor[] | void */ =\n            elementFinisherExtras.extras;\n          if (newExtras) {\n            for (var j = 0; j < newExtras.length; j++) {\n              this.addElementPlacement(newExtras[j], placements);\n            }\n            extras.push.apply(extras, newExtras);\n          }\n        }\n\n        return { element: element, finishers: finishers, extras: extras };\n      },\n\n      // DecorateConstructor\n      decorateConstructor: function(\n        elements /*: ElementDescriptor[] */,\n        decorators /*: ClassDecorator[] */,\n      ) /*: ElementsFinishers */ {\n        var finishers /*: ClassFinisher[] */ = [];\n\n        for (var i = decorators.length - 1; i >= 0; i--) {\n          var obj /*: ClassObject */ = this.fromClassDescriptor(elements);\n          var elementsAndFinisher /*: ElementsFinisher */ = this.toClassDescriptor(\n            (0, decorators[i])(obj) /*: ClassObject */ || obj,\n          );\n\n          if (elementsAndFinisher.finisher !== undefined) {\n            finishers.push(elementsAndFinisher.finisher);\n          }\n\n          if (elementsAndFinisher.elements !== undefined) {\n            elements = elementsAndFinisher.elements;\n\n            for (var j = 0; j < elements.length - 1; j++) {\n              for (var k = j + 1; k < elements.length; k++) {\n                if (\n                  elements[j].key === elements[k].key &&\n                  elements[j].placement === elements[k].placement\n                ) {\n                  throw new TypeError(\n                    \"Duplicated element (\" + elements[j].key + \")\",\n                  );\n                }\n              }\n            }\n          }\n        }\n\n        return { elements: elements, finishers: finishers };\n      },\n\n      // FromElementDescriptor\n      fromElementDescriptor: function(\n        element /*: ElementDescriptor */,\n      ) /*: ElementObject */ {\n        var obj /*: ElementObject */ = {\n          kind: element.kind,\n          key: element.key,\n          placement: element.placement,\n          descriptor: element.descriptor,\n        };\n\n        var desc = {\n          value: \"Descriptor\",\n          configurable: true,\n        };\n        Object.defineProperty(obj, Symbol.toStringTag, desc);\n\n        if (element.kind === \"field\") obj.initializer = element.initializer;\n\n        return obj;\n      },\n\n      // ToElementDescriptors\n      toElementDescriptors: function(\n        elementObjects /*: ElementObject[] */,\n      ) /*: ElementDescriptor[] */ {\n        if (elementObjects === undefined) return;\n        return toArray(elementObjects).map(function(elementObject) {\n          var element = this.toElementDescriptor(elementObject);\n          this.disallowProperty(elementObject, \"finisher\", \"An element descriptor\");\n          this.disallowProperty(elementObject, \"extras\", \"An element descriptor\");\n          return element;\n        }, this);\n      },\n\n      // ToElementDescriptor\n      toElementDescriptor: function(\n        elementObject /*: ElementObject */,\n      ) /*: ElementDescriptor */ {\n        var kind = String(elementObject.kind);\n        if (kind !== \"method\" && kind !== \"field\") {\n          throw new TypeError(\n            'An element descriptor\\\\'s .kind property must be either \"method\" or' +\n              ' \"field\", but a decorator created an element descriptor with' +\n              ' .kind \"' +\n              kind +\n              '\"',\n          );\n        }\n\n        var key = toPropertyKey(elementObject.key);\n\n        var placement = String(elementObject.placement);\n        if (\n          placement !== \"static\" &&\n          placement !== \"prototype\" &&\n          placement !== \"own\"\n        ) {\n          throw new TypeError(\n            'An element descriptor\\\\'s .placement property must be one of \"static\",' +\n              ' \"prototype\" or \"own\", but a decorator created an element descriptor' +\n              ' with .placement \"' +\n              placement +\n              '\"',\n          );\n        }\n\n        var descriptor /*: PropertyDescriptor */ = elementObject.descriptor;\n\n        this.disallowProperty(elementObject, \"elements\", \"An element descriptor\");\n\n        var element /*: ElementDescriptor */ = {\n          kind: kind,\n          key: key,\n          placement: placement,\n          descriptor: Object.assign({}, descriptor),\n        };\n\n        if (kind !== \"field\") {\n          this.disallowProperty(elementObject, \"initializer\", \"A method descriptor\");\n        } else {\n          this.disallowProperty(\n            descriptor,\n            \"get\",\n            \"The property descriptor of a field descriptor\",\n          );\n          this.disallowProperty(\n            descriptor,\n            \"set\",\n            \"The property descriptor of a field descriptor\",\n          );\n          this.disallowProperty(\n            descriptor,\n            \"value\",\n            \"The property descriptor of a field descriptor\",\n          );\n\n          element.initializer = elementObject.initializer;\n        }\n\n        return element;\n      },\n\n      toElementFinisherExtras: function(\n        elementObject /*: ElementObject */,\n      ) /*: ElementFinisherExtras */ {\n        var element /*: ElementDescriptor */ = this.toElementDescriptor(\n          elementObject,\n        );\n        var finisher /*: ClassFinisher */ = _optionalCallableProperty(\n          elementObject,\n          \"finisher\",\n        );\n        var extras /*: ElementDescriptors[] */ = this.toElementDescriptors(\n          elementObject.extras,\n        );\n\n        return { element: element, finisher: finisher, extras: extras };\n      },\n\n      // FromClassDescriptor\n      fromClassDescriptor: function(\n        elements /*: ElementDescriptor[] */,\n      ) /*: ClassObject */ {\n        var obj = {\n          kind: \"class\",\n          elements: elements.map(this.fromElementDescriptor, this),\n        };\n\n        var desc = { value: \"Descriptor\", configurable: true };\n        Object.defineProperty(obj, Symbol.toStringTag, desc);\n\n        return obj;\n      },\n\n      // ToClassDescriptor\n      toClassDescriptor: function(\n        obj /*: ClassObject */,\n      ) /*: ElementsFinisher */ {\n        var kind = String(obj.kind);\n        if (kind !== \"class\") {\n          throw new TypeError(\n            'A class descriptor\\\\'s .kind property must be \"class\", but a decorator' +\n              ' created a class descriptor with .kind \"' +\n              kind +\n              '\"',\n          );\n        }\n\n        this.disallowProperty(obj, \"key\", \"A class descriptor\");\n        this.disallowProperty(obj, \"placement\", \"A class descriptor\");\n        this.disallowProperty(obj, \"descriptor\", \"A class descriptor\");\n        this.disallowProperty(obj, \"initializer\", \"A class descriptor\");\n        this.disallowProperty(obj, \"extras\", \"A class descriptor\");\n\n        var finisher = _optionalCallableProperty(obj, \"finisher\");\n        var elements = this.toElementDescriptors(obj.elements);\n\n        return { elements: elements, finisher: finisher };\n      },\n\n      // RunClassFinishers\n      runClassFinishers: function(\n        constructor /*: Class<*> */,\n        finishers /*: ClassFinisher[] */,\n      ) /*: Class<*> */ {\n        for (var i = 0; i < finishers.length; i++) {\n          var newConstructor /*: ?Class<*> */ = (0, finishers[i])(constructor);\n          if (newConstructor !== undefined) {\n            // NOTE: This should check if IsConstructor(newConstructor) is false.\n            if (typeof newConstructor !== \"function\") {\n              throw new TypeError(\"Finishers must return a constructor.\");\n            }\n            constructor = newConstructor;\n          }\n        }\n        return constructor;\n      },\n\n      disallowProperty: function(obj, name, objectType) {\n        if (obj[name] !== undefined) {\n          throw new TypeError(objectType + \" can't have a .\" + name + \" property.\");\n        }\n      }\n    };\n\n    return api;\n  }\n\n  // ClassElementEvaluation\n  function _createElementDescriptor(\n    def /*: ElementDefinition */,\n  ) /*: ElementDescriptor */ {\n    var key = toPropertyKey(def.key);\n\n    var descriptor /*: PropertyDescriptor */;\n    if (def.kind === \"method\") {\n      descriptor = {\n        value: def.value,\n        writable: true,\n        configurable: true,\n        enumerable: false,\n      };\n    } else if (def.kind === \"get\") {\n      descriptor = { get: def.value, configurable: true, enumerable: false };\n    } else if (def.kind === \"set\") {\n      descriptor = { set: def.value, configurable: true, enumerable: false };\n    } else if (def.kind === \"field\") {\n      descriptor = { configurable: true, writable: true, enumerable: true };\n    }\n\n    var element /*: ElementDescriptor */ = {\n      kind: def.kind === \"field\" ? \"field\" : \"method\",\n      key: key,\n      placement: def.static\n        ? \"static\"\n        : def.kind === \"field\"\n        ? \"own\"\n        : \"prototype\",\n      descriptor: descriptor,\n    };\n    if (def.decorators) element.decorators = def.decorators;\n    if (def.kind === \"field\") element.initializer = def.value;\n\n    return element;\n  }\n\n  // CoalesceGetterSetter\n  function _coalesceGetterSetter(\n    element /*: ElementDescriptor */,\n    other /*: ElementDescriptor */,\n  ) {\n    if (element.descriptor.get !== undefined) {\n      other.descriptor.get = element.descriptor.get;\n    } else {\n      other.descriptor.set = element.descriptor.set;\n    }\n  }\n\n  // CoalesceClassElements\n  function _coalesceClassElements(\n    elements /*: ElementDescriptor[] */,\n  ) /*: ElementDescriptor[] */ {\n    var newElements /*: ElementDescriptor[] */ = [];\n\n    var isSameElement = function(\n      other /*: ElementDescriptor */,\n    ) /*: boolean */ {\n      return (\n        other.kind === \"method\" &&\n        other.key === element.key &&\n        other.placement === element.placement\n      );\n    };\n\n    for (var i = 0; i < elements.length; i++) {\n      var element /*: ElementDescriptor */ = elements[i];\n      var other /*: ElementDescriptor */;\n\n      if (\n        element.kind === \"method\" &&\n        (other = newElements.find(isSameElement))\n      ) {\n        if (\n          _isDataDescriptor(element.descriptor) ||\n          _isDataDescriptor(other.descriptor)\n        ) {\n          if (_hasDecorators(element) || _hasDecorators(other)) {\n            throw new ReferenceError(\n              \"Duplicated methods (\" + element.key + \") can't be decorated.\",\n            );\n          }\n          other.descriptor = element.descriptor;\n        } else {\n          if (_hasDecorators(element)) {\n            if (_hasDecorators(other)) {\n              throw new ReferenceError(\n                \"Decorators can't be placed on different accessors with for \" +\n                  \"the same property (\" +\n                  element.key +\n                  \").\",\n              );\n            }\n            other.decorators = element.decorators;\n          }\n          _coalesceGetterSetter(element, other);\n        }\n      } else {\n        newElements.push(element);\n      }\n    }\n\n    return newElements;\n  }\n\n  function _hasDecorators(element /*: ElementDescriptor */) /*: boolean */ {\n    return element.decorators && element.decorators.length;\n  }\n\n  function _isDataDescriptor(desc /*: PropertyDescriptor */) /*: boolean */ {\n    return (\n      desc !== undefined &&\n      !(desc.value === undefined && desc.writable === undefined)\n    );\n  }\n\n  function _optionalCallableProperty /*::<T>*/(\n    obj /*: T */,\n    name /*: $Keys<T> */,\n  ) /*: ?Function */ {\n    var value = obj[name];\n    if (value !== undefined && typeof value !== \"function\") {\n      throw new TypeError(\"Expected '\" + name + \"' to be a function\");\n    }\n    return value;\n  }\n\n"])));helpers$3.classPrivateMethodGet=helper$2("7.1.6")(_templateObject72||(_templateObject72=_taggedTemplateLiteralLoose(["\n  import assertClassBrand from \"assertClassBrand\";\n  export default function _classPrivateMethodGet(receiver, privateSet, fn) {\n    assertClassBrand(privateSet, receiver);\n    return fn;\n  }\n"])));helpers$3.checkPrivateRedeclaration=helper$2("7.14.1")(_templateObject73||(_templateObject73=_taggedTemplateLiteralLoose(["\n  export default function _checkPrivateRedeclaration(obj, privateCollection) {\n    if (privateCollection.has(obj)) {\n      throw new TypeError(\"Cannot initialize the same private elements twice on an object\");\n    }\n  }\n"])));helpers$3.classPrivateFieldInitSpec=helper$2("7.14.1")(_templateObject74||(_templateObject74=_taggedTemplateLiteralLoose(["\n  import checkPrivateRedeclaration from \"checkPrivateRedeclaration\";\n\n  export default function _classPrivateFieldInitSpec(obj, privateMap, value) {\n    checkPrivateRedeclaration(obj, privateMap);\n    privateMap.set(obj, value);\n  }\n"])));helpers$3.classPrivateMethodInitSpec=helper$2("7.14.1")(_templateObject75||(_templateObject75=_taggedTemplateLiteralLoose(["\n  import checkPrivateRedeclaration from \"checkPrivateRedeclaration\";\n\n  export default function _classPrivateMethodInitSpec(obj, privateSet) {\n    checkPrivateRedeclaration(obj, privateSet);\n    privateSet.add(obj);\n  }\n"])));{helpers$3.classPrivateMethodSet=helper$2("7.1.6")(_templateObject76||(_templateObject76=_taggedTemplateLiteralLoose(["\n    export default function _classPrivateMethodSet() {\n      throw new TypeError(\"attempted to reassign private method\");\n    }\n  "])));}helpers$3.identity=helper$2("7.17.0")(_templateObject77||(_templateObject77=_taggedTemplateLiteralLoose(["\n  export default function _identity(x) {\n    return x;\n  }\n"])));helpers$3.nullishReceiverError=helper$2("7.22.6")(_templateObject78||(_templateObject78=_taggedTemplateLiteralLoose(["\n  export default function _nullishReceiverError(r) {\n    throw new TypeError(\"Cannot set property of null or undefined.\");\n  }\n"])));var assignmentExpression$8=assignmentExpression$d,cloneNode$b=cloneNode$j,expressionStatement$4=expressionStatement$a,file$1=file$2,identifier$a=identifier$j;function makePath(path){var parts=[];for(;path.parentPath;path=path.parentPath){parts.push(path.key);if(path.inList)parts.push(path.listKey);}return parts.reverse().join(".");}var FileClass=undefined;function getHelperMetadata(file){var globals=new Set();var localBindingNames=new Set();var dependencies=new Map();var exportName;var exportPath;var exportBindingAssignments=[];var importPaths=[];var importBindingsReferences=[];var dependencyVisitor={ImportDeclaration:function ImportDeclaration(child){var name=child.node.source.value;if(!helpers$3[name]){throw child.buildCodeFrameError("Unknown helper "+name);}if(child.get("specifiers").length!==1||!child.get("specifiers.0").isImportDefaultSpecifier()){throw child.buildCodeFrameError("Helpers can only import a default value");}var bindingIdentifier=child.node.specifiers[0].local;dependencies.set(bindingIdentifier,name);importPaths.push(makePath(child));},ExportDefaultDeclaration:function ExportDefaultDeclaration(child){var decl=child.get("declaration");if(!decl.isFunctionDeclaration()||!decl.node.id){throw decl.buildCodeFrameError("Helpers can only export named function declarations");}exportName=decl.node.id.name;exportPath=makePath(child);},ExportAllDeclaration:function ExportAllDeclaration(child){throw child.buildCodeFrameError("Helpers can only export default");},ExportNamedDeclaration:function ExportNamedDeclaration(child){throw child.buildCodeFrameError("Helpers can only export default");},Statement:function Statement(child){if(child.isImportDeclaration()||child.isExportDeclaration())return;child.skip();}};var referenceVisitor={Program:function Program(path){var bindings=path.scope.getAllBindings();Object.keys(bindings).forEach(function(name){if(name===exportName)return;if(dependencies.has(bindings[name].identifier))return;localBindingNames.add(name);});},ReferencedIdentifier:function ReferencedIdentifier(child){var name=child.node.name;var binding=child.scope.getBinding(name);if(!binding){if(name!=="arguments"||child.scope.path.isProgram()){globals.add(name);}}else if(dependencies.has(binding.identifier)){importBindingsReferences.push(makePath(child));}},AssignmentExpression:function AssignmentExpression(child){var left=child.get("left");if(!(exportName in left.getBindingIdentifiers()))return;if(!left.isIdentifier()){throw left.buildCodeFrameError("Only simple assignments to exports are allowed in helpers");}var binding=child.scope.getBinding(exportName);if(binding!=null&&binding.scope.path.isProgram()){exportBindingAssignments.push(makePath(child));}}};traverse(file.ast,dependencyVisitor,file.scope);traverse(file.ast,referenceVisitor,file.scope);if(!exportPath)throw new Error("Helpers must have a default export.");exportBindingAssignments.reverse();return{globals:Array.from(globals),localBindingNames:Array.from(localBindingNames),dependencies:dependencies,exportBindingAssignments:exportBindingAssignments,exportPath:exportPath,exportName:exportName,importBindingsReferences:importBindingsReferences,importPaths:importPaths};}function permuteHelperAST(file,metadata,id,localBindings,getDependency){if(localBindings&&!id){throw new Error("Unexpected local bindings for module-based helpers.");}if(!id)return;var localBindingNames=metadata.localBindingNames,dependencies=metadata.dependencies,exportBindingAssignments=metadata.exportBindingAssignments,exportPath=metadata.exportPath,exportName=metadata.exportName,importBindingsReferences=metadata.importBindingsReferences,importPaths=metadata.importPaths;var dependenciesRefs={};dependencies.forEach(function(name,id){dependenciesRefs[id.name]=typeof getDependency==="function"&&getDependency(name)||id;});var toRename={};var bindings=new Set(localBindings||[]);if(id.type==="Identifier")bindings.add(id.name);localBindingNames.forEach(function(name){var newName=name;while(bindings.has(newName))newName="_"+newName;if(newName!==name)toRename[name]=newName;});if(id.type==="Identifier"&&exportName!==id.name){toRename[exportName]=id.name;}var path=file.path;var exp=path.get(exportPath);var imps=importPaths.map(function(p){return path.get(p);});var impsBindingRefs=importBindingsReferences.map(function(p){return path.get(p);});var decl=exp.get("declaration");if(id.type==="Identifier"){exp.replaceWith(decl);}else if(id.type==="MemberExpression"){exportBindingAssignments.forEach(function(assignPath){var assign=path.get(assignPath);assign.replaceWith(assignmentExpression$8("=",id,assign.node));});exp.replaceWith(decl);path.pushContainer("body",expressionStatement$4(assignmentExpression$8("=",id,identifier$a(exportName))));}else{throw new Error("Unexpected helper format.");}Object.keys(toRename).forEach(function(name){path.scope.rename(name,toRename[name]);});for(var _iterator=_createForOfIteratorHelperLoose(imps),_step;!(_step=_iterator()).done;){var _path=_step.value;_path.remove();}for(var _iterator2=_createForOfIteratorHelperLoose(impsBindingRefs),_step2;!(_step2=_iterator2()).done;){var _path2=_step2.value;var node=cloneNode$b(dependenciesRefs[_path2.node.name]);_path2.replaceWith(node);}}var helperData=Object.create(null);function loadHelper(name){if(!helperData[name]){var helper=helpers$3[name];if(!helper){throw Object.assign(new ReferenceError("Unknown helper "+name),{code:"BABEL_HELPER_UNKNOWN",helper:name});}var fn=function fn(){{if(!FileClass){var fakeFile={ast:file$1(helper.ast()),path:null};traverse(fakeFile.ast,{Program:function Program(path){return(fakeFile.path=path).stop();}});return fakeFile;}}return new FileClass({filename:"babel-helper://"+name},{ast:file$1(helper.ast()),code:"[internal Babel helper code]",inputMap:null});};var metadata=null;helperData[name]={minVersion:helper.minVersion,build:function build(getDependency,id,localBindings){var file=fn();metadata||(metadata=getHelperMetadata(file));permuteHelperAST(file,metadata,id,localBindings,getDependency);return{nodes:file.ast.program.body,globals:metadata.globals};},getDependencies:function getDependencies(){metadata||(metadata=getHelperMetadata(fn()));return Array.from(metadata.dependencies.values());}};}return helperData[name];}function get$1(name,getDependency,id,localBindings){return loadHelper(name).build(getDependency,id,localBindings);}function minVersion(name){return loadHelper(name).minVersion;}function getDependencies(name){return loadHelper(name).getDependencies();}function ensure(name,newFileClass){FileClass||(FileClass=newFileClass);loadHelper(name);}var list=Object.keys(helpers$3).map(function(name){return name.replace(/^_/,"");});var inherits$1;if(typeof Object.create==='function'){inherits$1=function inherits(ctor,superCtor){// implementation from standard node.js 'util' module
ctor.super_=superCtor;ctor.prototype=Object.create(superCtor.prototype,{constructor:{value:ctor,enumerable:false,writable:true,configurable:true}});};}else{inherits$1=function inherits(ctor,superCtor){ctor.super_=superCtor;var TempCtor=function TempCtor(){};TempCtor.prototype=superCtor.prototype;ctor.prototype=new TempCtor();ctor.prototype.constructor=ctor;};}var inherits$2=inherits$1;var getOwnPropertyDescriptors=Object.getOwnPropertyDescriptors||function getOwnPropertyDescriptors(obj){var keys=Object.keys(obj);var descriptors={};for(var i=0;i<keys.length;i++){descriptors[keys[i]]=Object.getOwnPropertyDescriptor(obj,keys[i]);}return descriptors;};var formatRegExp=/%[sdj%]/g;function format(f){if(!isString(f)){var objects=[];for(var i=0;i<arguments.length;i++){objects.push(inspect$1(arguments[i]));}return objects.join(' ');}var i=1;var args=arguments;var len=args.length;var str=String(f).replace(formatRegExp,function(x){if(x==='%%')return'%';if(i>=len)return x;switch(x){case'%s':return String(args[i++]);case'%d':return Number(args[i++]);case'%j':try{return JSON.stringify(args[i++]);}catch(_){return'[Circular]';}default:return x;}});for(var x=args[i];i<len;x=args[++i]){if(isNull(x)||!isObject(x)){str+=' '+x;}else{str+=' '+inspect$1(x);}}return str;}// Mark that a method should not be used.
// Returns a modified function which warns once by default.
// If --no-deprecation is set, then it is a no-op.
function deprecate(fn,msg){// Allow for deprecating things in the process of starting up.
if(isUndefined(global$1.process)){return function(){return deprecate(fn,msg).apply(this,arguments);};}if(browser$1$1.noDeprecation===true){return fn;}var warned=false;function deprecated(){if(!warned){if(browser$1$1.throwDeprecation){throw new Error(msg);}else if(browser$1$1.traceDeprecation){console.trace(msg);}else{console.error(msg);}warned=true;}return fn.apply(this,arguments);}return deprecated;}var debugs={};var debugEnviron;function debuglog(set){if(isUndefined(debugEnviron))debugEnviron=browser$1$1.env.NODE_DEBUG||'';set=set.toUpperCase();if(!debugs[set]){if(new RegExp('\\b'+set+'\\b','i').test(debugEnviron)){var pid=0;debugs[set]=function(){var msg=format.apply(null,arguments);console.error('%s %d: %s',set,pid,msg);};}else{debugs[set]=function(){};}}return debugs[set];}/**
   * Echos the value of a value. Trys to print the value out
   * in the best way possible given the different types.
   *
   * @param {Object} obj The object to print out.
   * @param {Object} opts Optional options object that alters the output.
   */ /* legacy: obj, showHidden, depth, colors*/function inspect$1(obj,opts){// default options
var ctx={seen:[],stylize:stylizeNoColor};// legacy...
if(arguments.length>=3)ctx.depth=arguments[2];if(arguments.length>=4)ctx.colors=arguments[3];if(isBoolean(opts)){// legacy...
ctx.showHidden=opts;}else if(opts){// got an "options" object
_extend(ctx,opts);}// set default options
if(isUndefined(ctx.showHidden))ctx.showHidden=false;if(isUndefined(ctx.depth))ctx.depth=2;if(isUndefined(ctx.colors))ctx.colors=false;if(isUndefined(ctx.customInspect))ctx.customInspect=true;if(ctx.colors)ctx.stylize=stylizeWithColor;return formatValue(ctx,obj,ctx.depth);}// http://en.wikipedia.org/wiki/ANSI_escape_code#graphics
inspect$1.colors={'bold':[1,22],'italic':[3,23],'underline':[4,24],'inverse':[7,27],'white':[37,39],'grey':[90,39],'black':[30,39],'blue':[34,39],'cyan':[36,39],'green':[32,39],'magenta':[35,39],'red':[31,39],'yellow':[33,39]};// Don't use 'blue' not visible on cmd.exe
inspect$1.styles={'special':'cyan','number':'yellow','boolean':'yellow','undefined':'grey','null':'bold','string':'green','date':'magenta',// "name": intentionally not styling
'regexp':'red'};function stylizeWithColor(str,styleType){var style=inspect$1.styles[styleType];if(style){return"\x1B["+inspect$1.colors[style][0]+'m'+str+"\x1B["+inspect$1.colors[style][1]+'m';}else{return str;}}function stylizeNoColor(str,styleType){return str;}function arrayToHash(array){var hash={};array.forEach(function(val,idx){hash[val]=true;});return hash;}function formatValue(ctx,value,recurseTimes){// Provide a hook for user-specified inspect functions.
// Check that value is an object with an inspect function on it
if(ctx.customInspect&&value&&isFunction(value.inspect)&&// Filter out the util module, it's inspect function is special
value.inspect!==inspect$1&&// Also filter out any prototype objects using the circular check.
!(value.constructor&&value.constructor.prototype===value)){var ret=value.inspect(recurseTimes,ctx);if(!isString(ret)){ret=formatValue(ctx,ret,recurseTimes);}return ret;}// Primitive types cannot have properties
var primitive=formatPrimitive(ctx,value);if(primitive){return primitive;}// Look up the keys of the object.
var keys=Object.keys(value);var visibleKeys=arrayToHash(keys);if(ctx.showHidden){keys=Object.getOwnPropertyNames(value);}// IE doesn't make error fields non-enumerable
// http://msdn.microsoft.com/en-us/library/ie/dww52sbt(v=vs.94).aspx
if(isError(value)&&(keys.indexOf('message')>=0||keys.indexOf('description')>=0)){return formatError(value);}// Some type of object without properties can be shortcutted.
if(keys.length===0){if(isFunction(value)){var name=value.name?': '+value.name:'';return ctx.stylize('[Function'+name+']','special');}if(isRegExp(value)){return ctx.stylize(RegExp.prototype.toString.call(value),'regexp');}if(isDate(value)){return ctx.stylize(Date.prototype.toString.call(value),'date');}if(isError(value)){return formatError(value);}}var base='',array=false,braces=['{','}'];// Make Array say that they are Array
if(isArray$1(value)){array=true;braces=['[',']'];}// Make functions say that they are functions
if(isFunction(value)){var n=value.name?': '+value.name:'';base=' [Function'+n+']';}// Make RegExps say that they are RegExps
if(isRegExp(value)){base=' '+RegExp.prototype.toString.call(value);}// Make dates with properties first say the date
if(isDate(value)){base=' '+Date.prototype.toUTCString.call(value);}// Make error with message first say the error
if(isError(value)){base=' '+formatError(value);}if(keys.length===0&&(!array||value.length==0)){return braces[0]+base+braces[1];}if(recurseTimes<0){if(isRegExp(value)){return ctx.stylize(RegExp.prototype.toString.call(value),'regexp');}else{return ctx.stylize('[Object]','special');}}ctx.seen.push(value);var output;if(array){output=formatArray(ctx,value,recurseTimes,visibleKeys,keys);}else{output=keys.map(function(key){return formatProperty(ctx,value,recurseTimes,visibleKeys,key,array);});}ctx.seen.pop();return reduceToSingleString(output,base,braces);}function formatPrimitive(ctx,value){if(isUndefined(value))return ctx.stylize('undefined','undefined');if(isString(value)){var simple='\''+JSON.stringify(value).replace(/^"|"$/g,'').replace(/'/g,"\\'").replace(/\\"/g,'"')+'\'';return ctx.stylize(simple,'string');}if(isNumber(value))return ctx.stylize(''+value,'number');if(isBoolean(value))return ctx.stylize(''+value,'boolean');// For some reason typeof null is "object", so special case here.
if(isNull(value))return ctx.stylize('null','null');}function formatError(value){return'['+Error.prototype.toString.call(value)+']';}function formatArray(ctx,value,recurseTimes,visibleKeys,keys){var output=[];for(var i=0,l=value.length;i<l;++i){if(hasOwnProperty$1(value,String(i))){output.push(formatProperty(ctx,value,recurseTimes,visibleKeys,String(i),true));}else{output.push('');}}keys.forEach(function(key){if(!key.match(/^\d+$/)){output.push(formatProperty(ctx,value,recurseTimes,visibleKeys,key,true));}});return output;}function formatProperty(ctx,value,recurseTimes,visibleKeys,key,array){var name,str,desc;desc=Object.getOwnPropertyDescriptor(value,key)||{value:value[key]};if(desc.get){if(desc.set){str=ctx.stylize('[Getter/Setter]','special');}else{str=ctx.stylize('[Getter]','special');}}else{if(desc.set){str=ctx.stylize('[Setter]','special');}}if(!hasOwnProperty$1(visibleKeys,key)){name='['+key+']';}if(!str){if(ctx.seen.indexOf(desc.value)<0){if(isNull(recurseTimes)){str=formatValue(ctx,desc.value,null);}else{str=formatValue(ctx,desc.value,recurseTimes-1);}if(str.indexOf('\n')>-1){if(array){str=str.split('\n').map(function(line){return'  '+line;}).join('\n').substr(2);}else{str='\n'+str.split('\n').map(function(line){return'   '+line;}).join('\n');}}}else{str=ctx.stylize('[Circular]','special');}}if(isUndefined(name)){if(array&&key.match(/^\d+$/)){return str;}name=JSON.stringify(''+key);if(name.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)){name=name.substr(1,name.length-2);name=ctx.stylize(name,'name');}else{name=name.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'");name=ctx.stylize(name,'string');}}return name+': '+str;}function reduceToSingleString(output,base,braces){var length=output.reduce(function(prev,cur){if(cur.indexOf('\n')>=0);return prev+cur.replace(/\u001b\[\d\d?m/g,'').length+1;},0);if(length>60){return braces[0]+(base===''?'':base+'\n ')+' '+output.join(',\n  ')+' '+braces[1];}return braces[0]+base+' '+output.join(', ')+' '+braces[1];}// NOTE: These type checking functions intentionally don't use `instanceof`
// because it is fragile and can be easily faked with `Object.create()`.
function isArray$1(ar){return Array.isArray(ar);}function isBoolean(arg){return typeof arg==='boolean';}function isNull(arg){return arg===null;}function isNullOrUndefined(arg){return arg==null;}function isNumber(arg){return typeof arg==='number';}function isString(arg){return typeof arg==='string';}function isSymbol(arg){return _typeof(arg)==='symbol';}function isUndefined(arg){return arg===void 0;}function isRegExp(re){return isObject(re)&&objectToString(re)==='[object RegExp]';}function isObject(arg){return _typeof(arg)==='object'&&arg!==null;}function isDate(d){return isObject(d)&&objectToString(d)==='[object Date]';}function isError(e){return isObject(e)&&(objectToString(e)==='[object Error]'||e instanceof Error);}function isFunction(arg){return typeof arg==='function';}function isPrimitive(arg){return arg===null||typeof arg==='boolean'||typeof arg==='number'||typeof arg==='string'||_typeof(arg)==='symbol'||// ES6 symbol
typeof arg==='undefined';}function isBuffer(maybeBuf){return Buffer$1.isBuffer(maybeBuf);}function objectToString(o){return Object.prototype.toString.call(o);}function pad(n){return n<10?'0'+n.toString(10):n.toString(10);}var months=['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec'];// 26 Feb 16:19:34
function timestamp(){var d=new Date();var time=[pad(d.getHours()),pad(d.getMinutes()),pad(d.getSeconds())].join(':');return[d.getDate(),months[d.getMonth()],time].join(' ');}// log is just a thin wrapper to console.log that prepends a timestamp
function log(){console.log('%s - %s',timestamp(),format.apply(null,arguments));}function _extend(origin,add){// Don't do anything if add isn't an object
if(!add||!isObject(add))return origin;var keys=Object.keys(add);var i=keys.length;while(i--){origin[keys[i]]=add[keys[i]];}return origin;}function hasOwnProperty$1(obj,prop){return Object.prototype.hasOwnProperty.call(obj,prop);}var kCustomPromisifiedSymbol=typeof Symbol!=='undefined'?Symbol('util.promisify.custom'):undefined;function promisify(original){if(typeof original!=='function')throw new TypeError('The "original" argument must be of type Function');if(kCustomPromisifiedSymbol&&original[kCustomPromisifiedSymbol]){var fn=original[kCustomPromisifiedSymbol];if(typeof fn!=='function'){throw new TypeError('The "util.promisify.custom" argument must be of type Function');}Object.defineProperty(fn,kCustomPromisifiedSymbol,{value:fn,enumerable:false,writable:false,configurable:true});return fn;}function fn(){var promiseResolve,promiseReject;var promise=new Promise(function(resolve,reject){promiseResolve=resolve;promiseReject=reject;});var args=[];for(var i=0;i<arguments.length;i++){args.push(arguments[i]);}args.push(function(err,value){if(err){promiseReject(err);}else{promiseResolve(value);}});try{original.apply(this,args);}catch(err){promiseReject(err);}return promise;}Object.setPrototypeOf(fn,Object.getPrototypeOf(original));if(kCustomPromisifiedSymbol)Object.defineProperty(fn,kCustomPromisifiedSymbol,{value:fn,enumerable:false,writable:false,configurable:true});return Object.defineProperties(fn,getOwnPropertyDescriptors(original));}promisify.custom=kCustomPromisifiedSymbol;function callbackifyOnRejected(reason,cb){// `!reason` guard inspired by bluebird (Ref: https://goo.gl/t5IS6M).
// Because `null` is a special error value in callbacks which means "no error
// occurred", we error-wrap so the callback consumer can distinguish between
// "the promise rejected with null" or "the promise fulfilled with undefined".
if(!reason){var newReason=new Error('Promise was rejected with a falsy value');newReason.reason=reason;reason=newReason;}return cb(reason);}function callbackify(original){if(typeof original!=='function'){throw new TypeError('The "original" argument must be of type Function');}// We DO NOT return the promise as it gives the user a false sense that
// the promise is actually somehow related to the callback's execution
// and that the callback throwing will reject the promise.
function callbackified(){var args=[];for(var i=0;i<arguments.length;i++){args.push(arguments[i]);}var maybeCb=args.pop();if(typeof maybeCb!=='function'){throw new TypeError('The last argument must be of type Function');}var self=this;var cb=function cb(){return maybeCb.apply(self,arguments);};// In true node style we process the callback on `nextTick` with all the
// implications (stack, `uncaughtException`, `async_hooks`)
original.apply(this,args).then(function(ret){browser$1$1.nextTick(cb.bind(null,null,ret));},function(rej){browser$1$1.nextTick(callbackifyOnRejected.bind(null,rej,cb));});}Object.setPrototypeOf(callbackified,Object.getPrototypeOf(original));Object.defineProperties(callbackified,getOwnPropertyDescriptors(original));return callbackified;}var _polyfillNode_util={inherits:inherits$2,_extend:_extend,log:log,isBuffer:isBuffer,isPrimitive:isPrimitive,isFunction:isFunction,isError:isError,isDate:isDate,isObject:isObject,isRegExp:isRegExp,isUndefined:isUndefined,isSymbol:isSymbol,isString:isString,isNumber:isNumber,isNullOrUndefined:isNullOrUndefined,isNull:isNull,isBoolean:isBoolean,isArray:isArray$1,inspect:inspect$1,deprecate:deprecate,format:format,debuglog:debuglog,promisify:promisify,callbackify:callbackify};var _polyfillNode_util$1=/*#__PURE__*/Object.freeze({__proto__:null,_extend:_extend,callbackify:callbackify,debuglog:debuglog,"default":_polyfillNode_util,deprecate:deprecate,format:format,inherits:inherits$2,inspect:inspect$1,isArray:isArray$1,isBoolean:isBoolean,isBuffer:isBuffer,isDate:isDate,isError:isError,isFunction:isFunction,isNull:isNull,isNullOrUndefined:isNullOrUndefined,isNumber:isNumber,isObject:isObject,isPrimitive:isPrimitive,isRegExp:isRegExp,isString:isString,isSymbol:isSymbol,isUndefined:isUndefined,log:log,promisify:promisify});function compare$3(a,b){if(a===b){return 0;}var x=a.length;var y=b.length;for(var i=0,len=Math.min(x,y);i<len;++i){if(a[i]!==b[i]){x=a[i];y=b[i];break;}}if(x<y){return-1;}if(y<x){return 1;}return 0;}var hasOwn=Object.prototype.hasOwnProperty;var objectKeys=Object.keys||function(obj){var keys=[];for(var key in obj){if(hasOwn.call(obj,key))keys.push(key);}return keys;};var pSlice=Array.prototype.slice;var _functionsHaveNames;function functionsHaveNames(){if(typeof _functionsHaveNames!=='undefined'){return _functionsHaveNames;}return _functionsHaveNames=function(){return function foo(){}.name==='foo';}();}function pToString(obj){return Object.prototype.toString.call(obj);}function isView(arrbuf){if(isBuffer$1(arrbuf)){return false;}if(typeof global$1.ArrayBuffer!=='function'){return false;}if(typeof ArrayBuffer.isView==='function'){return ArrayBuffer.isView(arrbuf);}if(!arrbuf){return false;}if(arrbuf instanceof DataView){return true;}if(arrbuf.buffer&&arrbuf.buffer instanceof ArrayBuffer){return true;}return false;}// 1. The assert module provides functions that throw
// AssertionError's when particular conditions are not met. The
// assert module must conform to the following interface.
function assert(value,message){if(!value)fail(value,true,message,'==',ok);}// 2. The AssertionError is defined in assert.
// new assert.AssertionError({ message: message,
//                             actual: actual,
//                             expected: expected })
var regex=/\s*function\s+([^\(\s]*)\s*/;// based on https://github.com/ljharb/function.prototype.name/blob/adeeeec8bfcc6068b187d7d9fb3d5bb1d3a30899/implementation.js
function getName$1(func){if(!isFunction(func)){return;}if(functionsHaveNames()){return func.name;}var str=func.toString();var match=str.match(regex);return match&&match[1];}assert.AssertionError=AssertionError;function AssertionError(options){this.name='AssertionError';this.actual=options.actual;this.expected=options.expected;this.operator=options.operator;if(options.message){this.message=options.message;this.generatedMessage=false;}else{this.message=getMessage(this);this.generatedMessage=true;}var stackStartFunction=options.stackStartFunction||fail;if(Error.captureStackTrace){Error.captureStackTrace(this,stackStartFunction);}else{// non v8 browsers so we can have a stacktrace
var err=new Error();if(err.stack){var out=err.stack;// try to strip useless frames
var fn_name=getName$1(stackStartFunction);var idx=out.indexOf('\n'+fn_name);if(idx>=0){// once we have located the function frame
// we need to strip out everything before it (and its line)
var next_line=out.indexOf('\n',idx+1);out=out.substring(next_line+1);}this.stack=out;}}}// assert.AssertionError instanceof Error
inherits$2(AssertionError,Error);function truncate(s,n){if(typeof s==='string'){return s.length<n?s:s.slice(0,n);}else{return s;}}function inspect(something){if(functionsHaveNames()||!isFunction(something)){return inspect$1(something);}var rawname=getName$1(something);var name=rawname?': '+rawname:'';return'[Function'+name+']';}function getMessage(self){return truncate(inspect(self.actual),128)+' '+self.operator+' '+truncate(inspect(self.expected),128);}// At present only the three keys mentioned above are used and
// understood by the spec. Implementations or sub modules can pass
// other keys to the AssertionError's constructor - they will be
// ignored.
// 3. All of the following functions must throw an AssertionError
// when a corresponding condition is not met, with a message that
// may be undefined if not provided.  All assertion methods provide
// both the actual and expected values to the assertion error for
// display purposes.
function fail(actual,expected,message,operator,stackStartFunction){throw new AssertionError({message:message,actual:actual,expected:expected,operator:operator,stackStartFunction:stackStartFunction});}// EXTENSION! allows for well behaved errors defined elsewhere.
assert.fail=fail;// 4. Pure assertion tests whether a value is truthy, as determined
// by !!guard.
// assert.ok(guard, message_opt);
// This statement is equivalent to assert.equal(true, !!guard,
// message_opt);. To test strictly for the value true, use
// assert.strictEqual(true, guard, message_opt);.
function ok(value,message){if(!value)fail(value,true,message,'==',ok);}assert.ok=ok;// 5. The equality assertion tests shallow, coercive equality with
// ==.
// assert.equal(actual, expected, message_opt);
assert.equal=equal;function equal(actual,expected,message){if(actual!=expected)fail(actual,expected,message,'==',equal);}// 6. The non-equality assertion tests for whether two objects are not equal
// with != assert.notEqual(actual, expected, message_opt);
assert.notEqual=notEqual;function notEqual(actual,expected,message){if(actual==expected){fail(actual,expected,message,'!=',notEqual);}}// 7. The equivalence assertion tests a deep equality relation.
// assert.deepEqual(actual, expected, message_opt);
assert.deepEqual=deepEqual;function deepEqual(actual,expected,message){if(!_deepEqual(actual,expected,false)){fail(actual,expected,message,'deepEqual',deepEqual);}}assert.deepStrictEqual=deepStrictEqual;function deepStrictEqual(actual,expected,message){if(!_deepEqual(actual,expected,true)){fail(actual,expected,message,'deepStrictEqual',deepStrictEqual);}}function _deepEqual(actual,expected,strict,memos){// 7.1. All identical values are equivalent, as determined by ===.
if(actual===expected){return true;}else if(isBuffer$1(actual)&&isBuffer$1(expected)){return compare$3(actual,expected)===0;// 7.2. If the expected value is a Date object, the actual value is
// equivalent if it is also a Date object that refers to the same time.
}else if(isDate(actual)&&isDate(expected)){return actual.getTime()===expected.getTime();// 7.3 If the expected value is a RegExp object, the actual value is
// equivalent if it is also a RegExp object with the same source and
// properties (`global`, `multiline`, `lastIndex`, `ignoreCase`).
}else if(isRegExp(actual)&&isRegExp(expected)){return actual.source===expected.source&&actual.global===expected.global&&actual.multiline===expected.multiline&&actual.lastIndex===expected.lastIndex&&actual.ignoreCase===expected.ignoreCase;// 7.4. Other pairs that do not both pass typeof value == 'object',
// equivalence is determined by ==.
}else if((actual===null||_typeof(actual)!=='object')&&(expected===null||_typeof(expected)!=='object')){return strict?actual===expected:actual==expected;// If both values are instances of typed arrays, wrap their underlying
// ArrayBuffers in a Buffer each to increase performance
// This optimization requires the arrays to have the same type as checked by
// Object.prototype.toString (aka pToString). Never perform binary
// comparisons for Float*Arrays, though, since e.g. +0 === -0 but their
// bit patterns are not identical.
}else if(isView(actual)&&isView(expected)&&pToString(actual)===pToString(expected)&&!(actual instanceof Float32Array||actual instanceof Float64Array)){return compare$3(new Uint8Array(actual.buffer),new Uint8Array(expected.buffer))===0;// 7.5 For all other Object pairs, including Array objects, equivalence is
// determined by having the same number of owned properties (as verified
// with Object.prototype.hasOwnProperty.call), the same set of keys
// (although not necessarily the same order), equivalent values for every
// corresponding key, and an identical 'prototype' property. Note: this
// accounts for both named and indexed properties on Arrays.
}else if(isBuffer$1(actual)!==isBuffer$1(expected)){return false;}else{memos=memos||{actual:[],expected:[]};var actualIndex=memos.actual.indexOf(actual);if(actualIndex!==-1){if(actualIndex===memos.expected.indexOf(expected)){return true;}}memos.actual.push(actual);memos.expected.push(expected);return objEquiv(actual,expected,strict,memos);}}function isArguments(object){return Object.prototype.toString.call(object)=='[object Arguments]';}function objEquiv(a,b,strict,actualVisitedObjects){if(a===null||a===undefined||b===null||b===undefined)return false;// if one is a primitive, the other must be same
if(isPrimitive(a)||isPrimitive(b))return a===b;if(strict&&Object.getPrototypeOf(a)!==Object.getPrototypeOf(b))return false;var aIsArgs=isArguments(a);var bIsArgs=isArguments(b);if(aIsArgs&&!bIsArgs||!aIsArgs&&bIsArgs)return false;if(aIsArgs){a=pSlice.call(a);b=pSlice.call(b);return _deepEqual(a,b,strict);}var ka=objectKeys(a);var kb=objectKeys(b);var key,i;// having the same number of owned properties (keys incorporates
// hasOwnProperty)
if(ka.length!==kb.length)return false;//the same set of keys (although not necessarily the same order),
ka.sort();kb.sort();//~~~cheap key test
for(i=ka.length-1;i>=0;i--){if(ka[i]!==kb[i])return false;}//equivalent values for every corresponding key, and
//~~~possibly expensive deep test
for(i=ka.length-1;i>=0;i--){key=ka[i];if(!_deepEqual(a[key],b[key],strict,actualVisitedObjects))return false;}return true;}// 8. The non-equivalence assertion tests for any deep inequality.
// assert.notDeepEqual(actual, expected, message_opt);
assert.notDeepEqual=notDeepEqual;function notDeepEqual(actual,expected,message){if(_deepEqual(actual,expected,false)){fail(actual,expected,message,'notDeepEqual',notDeepEqual);}}assert.notDeepStrictEqual=notDeepStrictEqual;function notDeepStrictEqual(actual,expected,message){if(_deepEqual(actual,expected,true)){fail(actual,expected,message,'notDeepStrictEqual',notDeepStrictEqual);}}// 9. The strict equality assertion tests strict equality, as determined by ===.
// assert.strictEqual(actual, expected, message_opt);
assert.strictEqual=strictEqual;function strictEqual(actual,expected,message){if(actual!==expected){fail(actual,expected,message,'===',strictEqual);}}// 10. The strict non-equality assertion tests for strict inequality, as
// determined by !==.  assert.notStrictEqual(actual, expected, message_opt);
assert.notStrictEqual=notStrictEqual;function notStrictEqual(actual,expected,message){if(actual===expected){fail(actual,expected,message,'!==',notStrictEqual);}}function expectedException(actual,expected){if(!actual||!expected){return false;}if(Object.prototype.toString.call(expected)=='[object RegExp]'){return expected.test(actual);}try{if(actual instanceof expected){return true;}}catch(e){// Ignore.  The instanceof check doesn't work for arrow functions.
}if(Error.isPrototypeOf(expected)){return false;}return expected.call({},actual)===true;}function _tryBlock(block){var error;try{block();}catch(e){error=e;}return error;}function _throws(shouldThrow,block,expected,message){var actual;if(typeof block!=='function'){throw new TypeError('"block" argument must be a function');}if(typeof expected==='string'){message=expected;expected=null;}actual=_tryBlock(block);message=(expected&&expected.name?' ('+expected.name+').':'.')+(message?' '+message:'.');if(shouldThrow&&!actual){fail(actual,expected,'Missing expected exception'+message);}var userProvidedMessage=typeof message==='string';var isUnwantedException=!shouldThrow&&isError(actual);var isUnexpectedException=!shouldThrow&&actual&&!expected;if(isUnwantedException&&userProvidedMessage&&expectedException(actual,expected)||isUnexpectedException){fail(actual,expected,'Got unwanted exception'+message);}if(shouldThrow&&actual&&expected&&!expectedException(actual,expected)||!shouldThrow&&actual){throw actual;}}// 11. Expected to throw an error:
// assert.throws(block, Error_opt, message_opt);
assert["throws"]=_throws2;function _throws2(block,/*optional*/error,/*optional*/message){_throws(true,block,error,message);}// EXTENSION! This is annoying to write outside this module.
assert.doesNotThrow=doesNotThrow;function doesNotThrow(block,/*optional*/error,/*optional*/message){_throws(false,block,error,message);}assert.ifError=ifError;function ifError(err){if(err)throw err;}var _polyfillNode_assert=/*#__PURE__*/Object.freeze({__proto__:null,AssertionError:AssertionError,assert:ok,deepEqual:deepEqual,deepStrictEqual:deepStrictEqual,"default":assert,doesNotThrow:doesNotThrow,equal:equal,fail:fail,ifError:ifError,notDeepEqual:notDeepEqual,notDeepStrictEqual:notDeepStrictEqual,notEqual:notEqual,notStrictEqual:notStrictEqual,ok:ok,strictEqual:strictEqual,"throws":_throws2});var callExpression$8=callExpression$d,cloneNode$a=cloneNode$j,expressionStatement$3=expressionStatement$a,identifier$9=identifier$j,importDeclaration=importDeclaration$1,importDefaultSpecifier=importDefaultSpecifier$1,importNamespaceSpecifier=importNamespaceSpecifier$1,importSpecifier$1=importSpecifier$2,memberExpression$9=memberExpression$c,stringLiteral$5=stringLiteral$8,variableDeclaration$4=variableDeclaration$8,variableDeclarator$4=variableDeclarator$8;var ImportBuilder=function(){function ImportBuilder(importedSource,scope,hub){this._statements=[];this._resultName=null;this._importedSource=void 0;this._scope=scope;this._hub=hub;this._importedSource=importedSource;}var _proto=ImportBuilder.prototype;_proto.done=function done(){return{statements:this._statements,resultName:this._resultName};};_proto["import"]=function _import(){this._statements.push(importDeclaration([],stringLiteral$5(this._importedSource)));return this;};_proto.require=function require(){this._statements.push(expressionStatement$3(callExpression$8(identifier$9("require"),[stringLiteral$5(this._importedSource)])));return this;};_proto.namespace=function namespace(name){if(name===void 0){name="namespace";}var local=this._scope.generateUidIdentifier(name);var statement=this._statements[this._statements.length-1];assert(statement.type==="ImportDeclaration");assert(statement.specifiers.length===0);statement.specifiers=[importNamespaceSpecifier(local)];this._resultName=cloneNode$a(local);return this;};_proto["default"]=function _default(name){var id=this._scope.generateUidIdentifier(name);var statement=this._statements[this._statements.length-1];assert(statement.type==="ImportDeclaration");assert(statement.specifiers.length===0);statement.specifiers=[importDefaultSpecifier(id)];this._resultName=cloneNode$a(id);return this;};_proto.named=function named(name,importName){if(importName==="default")return this["default"](name);var id=this._scope.generateUidIdentifier(name);var statement=this._statements[this._statements.length-1];assert(statement.type==="ImportDeclaration");assert(statement.specifiers.length===0);statement.specifiers=[importSpecifier$1(id,identifier$9(importName))];this._resultName=cloneNode$a(id);return this;};_proto["var"]=function _var(name){var id=this._scope.generateUidIdentifier(name);var statement=this._statements[this._statements.length-1];if(statement.type!=="ExpressionStatement"){assert(this._resultName);statement=expressionStatement$3(this._resultName);this._statements.push(statement);}this._statements[this._statements.length-1]=variableDeclaration$4("var",[variableDeclarator$4(id,statement.expression)]);this._resultName=cloneNode$a(id);return this;};_proto.defaultInterop=function defaultInterop(){return this._interop(this._hub.addHelper("interopRequireDefault"));};_proto.wildcardInterop=function wildcardInterop(){return this._interop(this._hub.addHelper("interopRequireWildcard"));};_proto._interop=function _interop(callee){var statement=this._statements[this._statements.length-1];if(statement.type==="ExpressionStatement"){statement.expression=callExpression$8(callee,[statement.expression]);}else if(statement.type==="VariableDeclaration"){assert(statement.declarations.length===1);statement.declarations[0].init=callExpression$8(callee,[statement.declarations[0].init]);}else{assert.fail("Unexpected type.");}return this;};_proto.prop=function prop(name){var statement=this._statements[this._statements.length-1];if(statement.type==="ExpressionStatement"){statement.expression=memberExpression$9(statement.expression,identifier$9(name));}else if(statement.type==="VariableDeclaration"){assert(statement.declarations.length===1);statement.declarations[0].init=memberExpression$9(statement.declarations[0].init,identifier$9(name));}else{assert.fail("Unexpected type:"+statement.type);}return this;};_proto.read=function read(name){this._resultName=memberExpression$9(this._resultName,identifier$9(name));};return _createClass(ImportBuilder);}();function isModule(path){return path.node.sourceType==="module";}var identifier$8=identifier$j,importSpecifier=importSpecifier$2,numericLiteral$4=numericLiteral$8,sequenceExpression$5=sequenceExpression$8,isImportDeclaration=isImportDeclaration$3;var ImportInjector=function(){function ImportInjector(path,importedSource,opts){this._defaultOpts={importedSource:null,importedType:"commonjs",importedInterop:"babel",importingInterop:"babel",ensureLiveReference:false,ensureNoContext:false,importPosition:"before"};var programPath=path.find(function(p){return p.isProgram();});this._programPath=programPath;this._programScope=programPath.scope;this._hub=programPath.hub;this._defaultOpts=this._applyDefaults(importedSource,opts,true);}var _proto=ImportInjector.prototype;_proto.addDefault=function addDefault(importedSourceIn,opts){return this.addNamed("default",importedSourceIn,opts);};_proto.addNamed=function addNamed(importName,importedSourceIn,opts){assert(typeof importName==="string");return this._generateImport(this._applyDefaults(importedSourceIn,opts),importName);};_proto.addNamespace=function addNamespace(importedSourceIn,opts){return this._generateImport(this._applyDefaults(importedSourceIn,opts),null);};_proto.addSideEffect=function addSideEffect(importedSourceIn,opts){return this._generateImport(this._applyDefaults(importedSourceIn,opts),void 0);};_proto._applyDefaults=function _applyDefaults(importedSource,opts,isInit){if(isInit===void 0){isInit=false;}var newOpts;if(typeof importedSource==="string"){newOpts=Object.assign({},this._defaultOpts,{importedSource:importedSource},opts);}else{assert(!opts,"Unexpected secondary arguments.");newOpts=Object.assign({},this._defaultOpts,importedSource);}if(!isInit&&opts){if(opts.nameHint!==undefined)newOpts.nameHint=opts.nameHint;if(opts.blockHoist!==undefined)newOpts.blockHoist=opts.blockHoist;}return newOpts;};_proto._generateImport=function _generateImport(opts,importName){var isDefault=importName==="default";var isNamed=!!importName&&!isDefault;var isNamespace=importName===null;var importedSource=opts.importedSource,importedType=opts.importedType,importedInterop=opts.importedInterop,importingInterop=opts.importingInterop,ensureLiveReference=opts.ensureLiveReference,ensureNoContext=opts.ensureNoContext,nameHint=opts.nameHint,importPosition=opts.importPosition,blockHoist=opts.blockHoist;var name=nameHint||importName;var isMod=isModule(this._programPath);var isModuleForNode=isMod&&importingInterop==="node";var isModuleForBabel=isMod&&importingInterop==="babel";if(importPosition==="after"&&!isMod){throw new Error("\"importPosition\": \"after\" is only supported in modules");}var builder=new ImportBuilder(importedSource,this._programScope,this._hub);if(importedType==="es6"){if(!isModuleForNode&&!isModuleForBabel){throw new Error("Cannot import an ES6 module from CommonJS");}builder["import"]();if(isNamespace){builder.namespace(nameHint||importedSource);}else if(isDefault||isNamed){builder.named(name,importName);}}else if(importedType!=="commonjs"){throw new Error("Unexpected interopType \""+importedType+"\"");}else if(importedInterop==="babel"){if(isModuleForNode){name=name!=="default"?name:importedSource;var es6Default=importedSource+"$es6Default";builder["import"]();if(isNamespace){builder["default"](es6Default)["var"](name||importedSource).wildcardInterop();}else if(isDefault){if(ensureLiveReference){builder["default"](es6Default)["var"](name||importedSource).defaultInterop().read("default");}else{builder["default"](es6Default)["var"](name).defaultInterop().prop(importName);}}else if(isNamed){builder["default"](es6Default).read(importName);}}else if(isModuleForBabel){builder["import"]();if(isNamespace){builder.namespace(name||importedSource);}else if(isDefault||isNamed){builder.named(name,importName);}}else{builder.require();if(isNamespace){builder["var"](name||importedSource).wildcardInterop();}else if((isDefault||isNamed)&&ensureLiveReference){if(isDefault){name=name!=="default"?name:importedSource;builder["var"](name).read(importName);builder.defaultInterop();}else{builder["var"](importedSource).read(importName);}}else if(isDefault){builder["var"](name).defaultInterop().prop(importName);}else if(isNamed){builder["var"](name).prop(importName);}}}else if(importedInterop==="compiled"){if(isModuleForNode){builder["import"]();if(isNamespace){builder["default"](name||importedSource);}else if(isDefault||isNamed){builder["default"](importedSource).read(name);}}else if(isModuleForBabel){builder["import"]();if(isNamespace){builder.namespace(name||importedSource);}else if(isDefault||isNamed){builder.named(name,importName);}}else{builder.require();if(isNamespace){builder["var"](name||importedSource);}else if(isDefault||isNamed){if(ensureLiveReference){builder["var"](importedSource).read(name);}else{builder.prop(importName)["var"](name);}}}}else if(importedInterop==="uncompiled"){if(isDefault&&ensureLiveReference){throw new Error("No live reference for commonjs default");}if(isModuleForNode){builder["import"]();if(isNamespace){builder["default"](name||importedSource);}else if(isDefault){builder["default"](name);}else if(isNamed){builder["default"](importedSource).read(name);}}else if(isModuleForBabel){builder["import"]();if(isNamespace){builder["default"](name||importedSource);}else if(isDefault){builder["default"](name);}else if(isNamed){builder.named(name,importName);}}else{builder.require();if(isNamespace){builder["var"](name||importedSource);}else if(isDefault){builder["var"](name);}else if(isNamed){if(ensureLiveReference){builder["var"](importedSource).read(name);}else{builder["var"](name).prop(importName);}}}}else{throw new Error("Unknown importedInterop \""+importedInterop+"\".");}var _builder$done=builder.done(),statements=_builder$done.statements,resultName=_builder$done.resultName;this._insertStatements(statements,importPosition,blockHoist);if((isDefault||isNamed)&&ensureNoContext&&resultName.type!=="Identifier"){return sequenceExpression$5([numericLiteral$4(0),resultName]);}return resultName;};_proto._insertStatements=function _insertStatements(statements,importPosition,blockHoist){if(importPosition===void 0){importPosition="before";}if(blockHoist===void 0){blockHoist=3;}if(importPosition==="after"){if(this._insertStatementsAfter(statements))return;}else{if(this._insertStatementsBefore(statements,blockHoist))return;}this._programPath.unshiftContainer("body",statements);};_proto._insertStatementsBefore=function _insertStatementsBefore(statements,blockHoist){if(statements.length===1&&isImportDeclaration(statements[0])&&isValueImport(statements[0])){var firstImportDecl=this._programPath.get("body").find(function(p){return p.isImportDeclaration()&&isValueImport(p.node);});if((firstImportDecl==null?void 0:firstImportDecl.node.source.value)===statements[0].source.value&&maybeAppendImportSpecifiers(firstImportDecl.node,statements[0])){return true;}}statements.forEach(function(node){node._blockHoist=blockHoist;});var targetPath=this._programPath.get("body").find(function(p){var val=p.node._blockHoist;return Number.isFinite(val)&&val<4;});if(targetPath){targetPath.insertBefore(statements);return true;}return false;};_proto._insertStatementsAfter=function _insertStatementsAfter(statements){var statementsSet=new Set(statements);var importDeclarations=new Map();for(var _iterator=_createForOfIteratorHelperLoose(statements),_step;!(_step=_iterator()).done;){var statement=_step.value;if(isImportDeclaration(statement)&&isValueImport(statement)){var source=statement.source.value;if(!importDeclarations.has(source))importDeclarations.set(source,[]);importDeclarations.get(source).push(statement);}}var lastImportPath=null;for(var _iterator2=_createForOfIteratorHelperLoose(this._programPath.get("body")),_step2;!(_step2=_iterator2()).done;){var bodyStmt=_step2.value;if(bodyStmt.isImportDeclaration()&&isValueImport(bodyStmt.node)){lastImportPath=bodyStmt;var _source=bodyStmt.node.source.value;var newImports=importDeclarations.get(_source);if(!newImports)continue;for(var _iterator3=_createForOfIteratorHelperLoose(newImports),_step3;!(_step3=_iterator3()).done;){var decl=_step3.value;if(!statementsSet.has(decl))continue;if(maybeAppendImportSpecifiers(bodyStmt.node,decl)){statementsSet["delete"](decl);}}}}if(statementsSet.size===0)return true;if(lastImportPath)lastImportPath.insertAfter(Array.from(statementsSet));return!!lastImportPath;};return _createClass(ImportInjector);}();function isValueImport(node){return node.importKind!=="type"&&node.importKind!=="typeof";}function hasNamespaceImport(node){return node.specifiers.length===1&&node.specifiers[0].type==="ImportNamespaceSpecifier"||node.specifiers.length===2&&node.specifiers[1].type==="ImportNamespaceSpecifier";}function hasDefaultImport(node){return node.specifiers.length>0&&node.specifiers[0].type==="ImportDefaultSpecifier";}function maybeAppendImportSpecifiers(target,source){var _target$specifiers;if(!target.specifiers.length){target.specifiers=source.specifiers;return true;}if(!source.specifiers.length)return true;if(hasNamespaceImport(target)||hasNamespaceImport(source))return false;if(hasDefaultImport(source)){if(hasDefaultImport(target)){source.specifiers[0]=importSpecifier(source.specifiers[0].local,identifier$8("default"));}else{target.specifiers.unshift(source.specifiers.shift());}}(_target$specifiers=target.specifiers).push.apply(_target$specifiers,_toConsumableArray(source.specifiers));return true;}function addDefault(path,importedSource,opts){return new ImportInjector(path).addDefault(importedSource,opts);}function addNamed(path,name,importedSource,opts){return new ImportInjector(path).addNamed(name,importedSource,opts);}function addNamespace(path,importedSource,opts){return new ImportInjector(path).addNamespace(importedSource,opts);}var numericLiteral$3=numericLiteral$8,unaryExpression$3=unaryExpression$6;var rewriteThisVisitor=traverse.visitors.merge([visitor$5,{ThisExpression:function ThisExpression(path){path.replaceWith(unaryExpression$3("void",numericLiteral$3(0),true));}}]);function rewriteThis(programPath){traverse(programPath.node,Object.assign({},rewriteThisVisitor,{noScope:true}));}var LOGICAL_OPERATORS$1=LOGICAL_OPERATORS$3,assignmentExpression$7=assignmentExpression$d,binaryExpression$3=binaryExpression$5,cloneNode$9=cloneNode$j,identifier$7=identifier$j,logicalExpression$1=logicalExpression$3,numericLiteral$2=numericLiteral$8,sequenceExpression$4=sequenceExpression$8,unaryExpression$2=unaryExpression$6;var simpleAssignmentVisitor={AssignmentExpression:{exit:function exit(path){var scope=this.scope,seen=this.seen,bindingNames=this.bindingNames;if(path.node.operator==="=")return;if(seen.has(path.node))return;seen.add(path.node);var left=path.get("left");if(!left.isIdentifier())return;var localName=left.node.name;if(!bindingNames.has(localName))return;if(scope.getBinding(localName)!==path.scope.getBinding(localName)){return;}var operator=path.node.operator.slice(0,-1);if(LOGICAL_OPERATORS$1.includes(operator)){path.replaceWith(logicalExpression$1(operator,path.node.left,assignmentExpression$7("=",cloneNode$9(path.node.left),path.node.right)));}else{path.node.right=binaryExpression$3(operator,cloneNode$9(path.node.left),path.node.right);path.node.operator="=";}}}};{simpleAssignmentVisitor.UpdateExpression={exit:function exit(path){if(!this.includeUpdateExpression)return;var scope=this.scope,bindingNames=this.bindingNames;var arg=path.get("argument");if(!arg.isIdentifier())return;var localName=arg.node.name;if(!bindingNames.has(localName))return;if(scope.getBinding(localName)!==path.scope.getBinding(localName)){return;}if(path.parentPath.isExpressionStatement()&&!path.isCompletionRecord()){var operator=path.node.operator=="++"?"+=":"-=";path.replaceWith(assignmentExpression$7(operator,arg.node,numericLiteral$2(1)));}else if(path.node.prefix){path.replaceWith(assignmentExpression$7("=",identifier$7(localName),binaryExpression$3(path.node.operator[0],unaryExpression$2("+",arg.node),numericLiteral$2(1))));}else{var old=path.scope.generateUidIdentifierBasedOnNode(arg.node,"old");var varName=old.name;path.scope.push({id:old});var binary=binaryExpression$3(path.node.operator[0],identifier$7(varName),numericLiteral$2(1));path.replaceWith(sequenceExpression$4([assignmentExpression$7("=",identifier$7(varName),unaryExpression$2("+",arg.node)),assignmentExpression$7("=",cloneNode$9(arg.node),binary),identifier$7(varName)]));}}};}function simplifyAccess(path,bindingNames){{var _arguments$;path.traverse(simpleAssignmentVisitor,{scope:path.scope,bindingNames:bindingNames,seen:new WeakSet(),includeUpdateExpression:(_arguments$=arguments[2])!=null?_arguments$:true});}}var _templateObject$A;var assignmentExpression$6=assignmentExpression$d,cloneNode$8=cloneNode$j,expressionStatement$2=expressionStatement$a,getOuterBindingIdentifiers=getOuterBindingIdentifiers$2,identifier$6=identifier$j,isArrowFunctionExpression=isArrowFunctionExpression$2,isClassExpression=isClassExpression$1,isFunctionExpression=isFunctionExpression$1,isIdentifier$6=isIdentifier$j,isMemberExpression$2=isMemberExpression$9,isVariableDeclaration=isVariableDeclaration$4,jsxIdentifier=jsxIdentifier$2,jsxMemberExpression=jsxMemberExpression$1,memberExpression$8=memberExpression$c,numericLiteral$1=numericLiteral$8,sequenceExpression$3=sequenceExpression$8,stringLiteral$4=stringLiteral$8,variableDeclaration$3=variableDeclaration$8,variableDeclarator$3=variableDeclarator$8;function isInType$1(path){do{switch(path.parent.type){case"TSTypeAnnotation":case"TSTypeAliasDeclaration":case"TSTypeReference":case"TypeAnnotation":case"TypeAlias":return true;case"ExportSpecifier":return path.parentPath.parent.exportKind==="type";default:if(path.parentPath.isStatement()||path.parentPath.isExpression()){return false;}}}while(path=path.parentPath);}function rewriteLiveReferences(programPath,metadata,wrapReference){var imported=new Map();var exported=new Map();var requeueInParent=function requeueInParent(path){programPath.requeue(path);};for(var _iterator=_createForOfIteratorHelperLoose(metadata.source),_step;!(_step=_iterator()).done;){var _step$value=_slicedToArray(_step.value,2),source=_step$value[0],data=_step$value[1];for(var _iterator3=_createForOfIteratorHelperLoose(data.imports),_step3;!(_step3=_iterator3()).done;){var _step3$value=_slicedToArray(_step3.value,2),localName=_step3$value[0],importName=_step3$value[1];imported.set(localName,[source,importName,null]);}for(var _iterator4=_createForOfIteratorHelperLoose(data.importsNamespace),_step4;!(_step4=_iterator4()).done;){var _localName=_step4.value;imported.set(_localName,[source,null,_localName]);}}for(var _iterator2=_createForOfIteratorHelperLoose(metadata.local),_step2;!(_step2=_iterator2()).done;){var _exportMeta;var _step2$value=_slicedToArray(_step2.value,2),local=_step2$value[0],_data=_step2$value[1];var exportMeta=exported.get(local);if(!exportMeta){exportMeta=[];exported.set(local,exportMeta);}(_exportMeta=exportMeta).push.apply(_exportMeta,_toConsumableArray(_data.names));}var rewriteBindingInitVisitorState={metadata:metadata,requeueInParent:requeueInParent,scope:programPath.scope,exported:exported};programPath.traverse(rewriteBindingInitVisitor,rewriteBindingInitVisitorState);var bindingNames=new Set([].concat(_toConsumableArray(Array.from(imported.keys())),_toConsumableArray(Array.from(exported.keys()))));{simplifyAccess(programPath,bindingNames,false);}var rewriteReferencesVisitorState={seen:new WeakSet(),metadata:metadata,requeueInParent:requeueInParent,scope:programPath.scope,imported:imported,exported:exported,buildImportReference:function buildImportReference(_ref,identNode){var _ref2=_slicedToArray(_ref,3),source=_ref2[0],importName=_ref2[1],localName=_ref2[2];var meta=metadata.source.get(source);meta.referenced=true;if(localName){if(meta.wrap){var _wrapReference;identNode=(_wrapReference=wrapReference(identNode,meta.wrap))!=null?_wrapReference:identNode;}return identNode;}var namespace=identifier$6(meta.name);if(meta.wrap){var _wrapReference2;namespace=(_wrapReference2=wrapReference(namespace,meta.wrap))!=null?_wrapReference2:namespace;}if(importName==="default"&&meta.interop==="node-default"){return namespace;}var computed=metadata.stringSpecifiers.has(importName);return memberExpression$8(namespace,computed?stringLiteral$4(importName):identifier$6(importName),computed);}};programPath.traverse(rewriteReferencesVisitor,rewriteReferencesVisitorState);}var rewriteBindingInitVisitor={Scope:function Scope(path){path.skip();},ClassDeclaration:function ClassDeclaration(path){var requeueInParent=this.requeueInParent,exported=this.exported,metadata=this.metadata;var id=path.node.id;if(!id)throw new Error("Expected class to have a name");var localName=id.name;var exportNames=exported.get(localName)||[];if(exportNames.length>0){var statement=expressionStatement$2(buildBindingExportAssignmentExpression(metadata,exportNames,identifier$6(localName),path.scope));statement._blockHoist=path.node._blockHoist;requeueInParent(path.insertAfter(statement)[0]);}},VariableDeclaration:function VariableDeclaration(path){var requeueInParent=this.requeueInParent,exported=this.exported,metadata=this.metadata;var isVar=path.node.kind==="var";for(var _iterator5=_createForOfIteratorHelperLoose(path.get("declarations")),_step5;!(_step5=_iterator5()).done;){var decl=_step5.value;var id=decl.node.id;var init=decl.node.init;if(isIdentifier$6(id)&&exported.has(id.name)&&!isArrowFunctionExpression(init)&&(!isFunctionExpression(init)||init.id)&&(!isClassExpression(init)||init.id)){if(!init){if(isVar){continue;}else{init=path.scope.buildUndefinedNode();}}decl.node.init=buildBindingExportAssignmentExpression(metadata,exported.get(id.name),init,path.scope);requeueInParent(decl.get("init"));}else{for(var _i=0,_Object$keys=Object.keys(decl.getOuterBindingIdentifiers());_i<_Object$keys.length;_i++){var localName=_Object$keys[_i];if(exported.has(localName)){var statement=expressionStatement$2(buildBindingExportAssignmentExpression(metadata,exported.get(localName),identifier$6(localName),path.scope));statement._blockHoist=path.node._blockHoist;requeueInParent(path.insertAfter(statement)[0]);}}}}}};var buildBindingExportAssignmentExpression=function buildBindingExportAssignmentExpression(metadata,exportNames,localExpr,scope){var exportsObjectName=metadata.exportName;for(var currentScope=scope;currentScope!=null;currentScope=currentScope.parent){if(currentScope.hasOwnBinding(exportsObjectName)){currentScope.rename(exportsObjectName);}}return(exportNames||[]).reduce(function(expr,exportName){var stringSpecifiers=metadata.stringSpecifiers;var computed=stringSpecifiers.has(exportName);return assignmentExpression$6("=",memberExpression$8(identifier$6(exportsObjectName),computed?stringLiteral$4(exportName):identifier$6(exportName),computed),expr);},localExpr);};var buildImportThrow=function buildImportThrow(localName){return template$1.expression.ast(_templateObject$A||(_templateObject$A=_taggedTemplateLiteralLoose(["\n    (function() {\n      throw new Error('\"' + '","' + '\" is read-only.');\n    })()\n  "])),localName);};var rewriteReferencesVisitor={ReferencedIdentifier:function ReferencedIdentifier(path){var seen=this.seen,buildImportReference=this.buildImportReference,scope=this.scope,imported=this.imported,requeueInParent=this.requeueInParent;if(seen.has(path.node))return;seen.add(path.node);var localName=path.node.name;var importData=imported.get(localName);if(importData){if(isInType$1(path)){throw path.buildCodeFrameError("Cannot transform the imported binding \""+localName+"\" since it's also used in a type annotation. "+"Please strip type annotations using @babel/preset-typescript or @babel/preset-flow.");}var localBinding=path.scope.getBinding(localName);var rootBinding=scope.getBinding(localName);if(rootBinding!==localBinding)return;var _ref3=buildImportReference(importData,path.node);_ref3.loc=path.node.loc;if((path.parentPath.isCallExpression({callee:path.node})||path.parentPath.isOptionalCallExpression({callee:path.node})||path.parentPath.isTaggedTemplateExpression({tag:path.node}))&&isMemberExpression$2(_ref3)){path.replaceWith(sequenceExpression$3([numericLiteral$1(0),_ref3]));}else if(path.isJSXIdentifier()&&isMemberExpression$2(_ref3)){var object=_ref3.object,property=_ref3.property;path.replaceWith(jsxMemberExpression(jsxIdentifier(object.name),jsxIdentifier(property.name)));}else{path.replaceWith(_ref3);}requeueInParent(path);path.skip();}},UpdateExpression:function UpdateExpression(path){var scope=this.scope,seen=this.seen,imported=this.imported,exported=this.exported,requeueInParent=this.requeueInParent,buildImportReference=this.buildImportReference;if(seen.has(path.node))return;seen.add(path.node);var arg=path.get("argument");if(arg.isMemberExpression())return;var update=path.node;if(arg.isIdentifier()){var localName=arg.node.name;if(scope.getBinding(localName)!==path.scope.getBinding(localName)){return;}var exportedNames=exported.get(localName);var importData=imported.get(localName);if((exportedNames==null?void 0:exportedNames.length)>0||importData){if(importData){path.replaceWith(assignmentExpression$6(update.operator[0]+"=",buildImportReference(importData,arg.node),buildImportThrow(localName)));}else if(update.prefix){path.replaceWith(buildBindingExportAssignmentExpression(this.metadata,exportedNames,cloneNode$8(update),path.scope));}else{var _ref4=scope.generateDeclaredUidIdentifier(localName);path.replaceWith(sequenceExpression$3([assignmentExpression$6("=",cloneNode$8(_ref4),cloneNode$8(update)),buildBindingExportAssignmentExpression(this.metadata,exportedNames,identifier$6(localName),path.scope),cloneNode$8(_ref4)]));}}}requeueInParent(path);path.skip();},AssignmentExpression:{exit:function exit(path){var _this=this;var scope=this.scope,seen=this.seen,imported=this.imported,exported=this.exported,requeueInParent=this.requeueInParent,buildImportReference=this.buildImportReference;if(seen.has(path.node))return;seen.add(path.node);var left=path.get("left");if(left.isMemberExpression())return;if(left.isIdentifier()){var localName=left.node.name;if(scope.getBinding(localName)!==path.scope.getBinding(localName)){return;}var exportedNames=exported.get(localName);var importData=imported.get(localName);if((exportedNames==null?void 0:exportedNames.length)>0||importData){assert(path.node.operator==="=","Path was not simplified");var assignment=path.node;if(importData){assignment.left=buildImportReference(importData,left.node);assignment.right=sequenceExpression$3([assignment.right,buildImportThrow(localName)]);}path.replaceWith(buildBindingExportAssignmentExpression(this.metadata,exportedNames,assignment,path.scope));requeueInParent(path);}}else{var ids=left.getOuterBindingIdentifiers();var programScopeIds=Object.keys(ids).filter(function(localName){return scope.getBinding(localName)===path.scope.getBinding(localName);});var id=programScopeIds.find(function(localName){return imported.has(localName);});if(id){path.node.right=sequenceExpression$3([path.node.right,buildImportThrow(id)]);}var items=[];programScopeIds.forEach(function(localName){var exportedNames=exported.get(localName)||[];if(exportedNames.length>0){items.push(buildBindingExportAssignmentExpression(_this.metadata,exportedNames,identifier$6(localName),path.scope));}});if(items.length>0){var node=sequenceExpression$3(items);if(path.parentPath.isExpressionStatement()){node=expressionStatement$2(node);node._blockHoist=path.parentPath.node._blockHoist;}var statement=path.insertAfter(node)[0];requeueInParent(statement);}}}},"ForOfStatement|ForInStatement":function ForOfStatementForInStatement(path){var scope=path.scope,node=path.node;var left=node.left;var exported=this.exported,imported=this.imported,programScope=this.scope;if(!isVariableDeclaration(left)){var didTransformExport=false,importConstViolationName;var loopBodyScope=path.get("body").scope;for(var _i2=0,_Object$keys2=Object.keys(getOuterBindingIdentifiers(left));_i2<_Object$keys2.length;_i2++){var name=_Object$keys2[_i2];if(programScope.getBinding(name)===scope.getBinding(name)){if(exported.has(name)){didTransformExport=true;if(loopBodyScope.hasOwnBinding(name)){loopBodyScope.rename(name);}}if(imported.has(name)&&!importConstViolationName){importConstViolationName=name;}}}if(!didTransformExport&&!importConstViolationName){return;}path.ensureBlock();var bodyPath=path.get("body");var newLoopId=scope.generateUidIdentifierBasedOnNode(left);path.get("left").replaceWith(variableDeclaration$3("let",[variableDeclarator$3(cloneNode$8(newLoopId))]));scope.registerDeclaration(path.get("left"));if(didTransformExport){bodyPath.unshiftContainer("body",expressionStatement$2(assignmentExpression$6("=",left,newLoopId)));}if(importConstViolationName){bodyPath.unshiftContainer("body",expressionStatement$2(buildImportThrow(importConstViolationName)));}}}};// Copyright Joyent, Inc. and other Node contributors.
//
// Permission is hereby granted, free of charge, to any person obtaining a
// copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to permit
// persons to whom the Software is furnished to do so, subject to the
// following conditions:
//
// The above copyright notice and this permission notice shall be included
// in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
// USE OR OTHER DEALINGS IN THE SOFTWARE.
// resolves . and .. elements in a path array with directory names there
// must be no slashes, empty elements, or device names (c:\) in the array
// (so also no leading and trailing slashes - it does not distinguish
// relative and absolute paths)
function normalizeArray(parts,allowAboveRoot){// if the path tries to go above the root, `up` ends up > 0
var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==='.'){parts.splice(i,1);}else if(last==='..'){parts.splice(i,1);up++;}else if(up){parts.splice(i,1);up--;}}// if the path is allowed to go above the root, restore leading ..s
if(allowAboveRoot){for(;up--;up){parts.unshift('..');}}return parts;}// Split a filename into [root, dir, basename, ext], unix version
// 'root' is just a slash, or nothing.
var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;var splitPath=function splitPath(filename){return splitPathRe.exec(filename).slice(1);};// path.resolve([from ...], to)
// posix version
function resolve$2(){var resolvedPath='',resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:'/';// Skip empty and invalid entries
if(typeof path!=='string'){throw new TypeError('Arguments to path.resolve must be strings');}else if(!path){continue;}resolvedPath=path+'/'+resolvedPath;resolvedAbsolute=path.charAt(0)==='/';}// At this point the path should be resolved to a full absolute path, but
// handle relative paths to be safe (might happen when process.cwd() fails)
// Normalize the path
resolvedPath=normalizeArray(filter(resolvedPath.split('/'),function(p){return!!p;}),!resolvedAbsolute).join('/');return(resolvedAbsolute?'/':'')+resolvedPath||'.';}// path.normalize(path)
// posix version
function normalize$2(path){var isPathAbsolute=isAbsolute(path),trailingSlash=substr(path,-1)==='/';// Normalize the path
path=normalizeArray(filter(path.split('/'),function(p){return!!p;}),!isPathAbsolute).join('/');if(!path&&!isPathAbsolute){path='.';}if(path&&trailingSlash){path+='/';}return(isPathAbsolute?'/':'')+path;}// posix version
function isAbsolute(path){return path.charAt(0)==='/';}// posix version
function join(){var paths=Array.prototype.slice.call(arguments,0);return normalize$2(filter(paths,function(p,index){if(typeof p!=='string'){throw new TypeError('Arguments to path.join must be strings');}return p;}).join('/'));}// path.relative(from, to)
// posix version
function relative(from,to){from=resolve$2(from).substr(1);to=resolve$2(to).substr(1);function trim(arr){var start=0;for(;start<arr.length;start++){if(arr[start]!=='')break;}var end=arr.length-1;for(;end>=0;end--){if(arr[end]!=='')break;}if(start>end)return[];return arr.slice(start,end-start+1);}var fromParts=trim(from.split('/'));var toParts=trim(to.split('/'));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i<length;i++){if(fromParts[i]!==toParts[i]){samePartsLength=i;break;}}var outputParts=[];for(var i=samePartsLength;i<fromParts.length;i++){outputParts.push('..');}outputParts=outputParts.concat(toParts.slice(samePartsLength));return outputParts.join('/');}var sep$1='/';var delimiter=':';function dirname(path){var result=splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){// No dirname whatsoever
return'.';}if(dir){// It has a dirname, strip trailing slash
dir=dir.substr(0,dir.length-1);}return root+dir;}function basename(path,ext){var f=splitPath(path)[2];// TODO: make this comparison case-insensitive on windows?
if(ext&&f.substr(-1*ext.length)===ext){f=f.substr(0,f.length-ext.length);}return f;}function extname(path){return splitPath(path)[3];}var path$1={extname:extname,basename:basename,dirname:dirname,sep:sep$1,delimiter:delimiter,relative:relative,join:join,isAbsolute:isAbsolute,normalize:normalize$2,resolve:resolve$2};function filter(xs,f){if(xs.filter)return xs.filter(f);var res=[];for(var i=0;i<xs.length;i++){if(f(xs[i],i,xs))res.push(xs[i]);}return res;}// String.prototype.substr - negative index don't work in IE8
var substr='ab'.substr(-1)==='b'?function(str,start,len){return str.substr(start,len);}:function(str,start,len){if(start<0)start=str.length+start;return str.substr(start,len);};var _polyfillNode_path=/*#__PURE__*/Object.freeze({__proto__:null,basename:basename,"default":path$1,delimiter:delimiter,dirname:dirname,extname:extname,isAbsolute:isAbsolute,join:join,normalize:normalize$2,relative:relative,resolve:resolve$2,sep:sep$1});function hasExports(metadata){return metadata.hasExports;}function isSideEffectImport(source){return source.imports.size===0&&source.importsNamespace.size===0&&source.reexports.size===0&&source.reexportNamespace.size===0&&!source.reexportAll;}function validateImportInteropOption(importInterop){if(typeof importInterop!=="function"&&importInterop!=="none"&&importInterop!=="babel"&&importInterop!=="node"){throw new Error(".importInterop must be one of \"none\", \"babel\", \"node\", or a function returning one of those values (received "+importInterop+").");}return importInterop;}function resolveImportInterop(importInterop,source,filename){if(typeof importInterop==="function"){return validateImportInteropOption(importInterop(source,filename));}return importInterop;}function normalizeModuleAndLoadMetadata(programPath,exportName,_ref){var importInterop=_ref.importInterop,_ref$initializeReexpo=_ref.initializeReexports,initializeReexports=_ref$initializeReexpo===void 0?false:_ref$initializeReexpo,getWrapperPayload=_ref.getWrapperPayload,_ref$esNamespaceOnly=_ref.esNamespaceOnly,esNamespaceOnly=_ref$esNamespaceOnly===void 0?false:_ref$esNamespaceOnly,filename=_ref.filename;if(!exportName){exportName=programPath.scope.generateUidIdentifier("exports").name;}var stringSpecifiers=new Set();nameAnonymousExports(programPath);var _getModuleMetadata=getModuleMetadata(programPath,{initializeReexports:initializeReexports,getWrapperPayload:getWrapperPayload},stringSpecifiers),local=_getModuleMetadata.local,sources=_getModuleMetadata.sources,hasExports=_getModuleMetadata.hasExports;removeImportExportDeclarations(programPath);for(var _iterator=_createForOfIteratorHelperLoose(sources),_step;!(_step=_iterator()).done;){var _step$value=_slicedToArray(_step.value,2),_source=_step$value[0],_metadata=_step$value[1];var importsNamespace=_metadata.importsNamespace,imports=_metadata.imports;if(importsNamespace.size>0&&imports.size===0){var _importsNamespace=_slicedToArray(importsNamespace,1),nameOfnamespace=_importsNamespace[0];_metadata.name=nameOfnamespace;}var resolvedInterop=resolveImportInterop(importInterop,_source,filename);if(resolvedInterop==="none"){_metadata.interop="none";}else if(resolvedInterop==="node"&&_metadata.interop==="namespace"){_metadata.interop="node-namespace";}else if(resolvedInterop==="node"&&_metadata.interop==="default"){_metadata.interop="node-default";}else if(esNamespaceOnly&&_metadata.interop==="namespace"){_metadata.interop="default";}}return{exportName:exportName,exportNameListName:null,hasExports:hasExports,local:local,source:sources,stringSpecifiers:stringSpecifiers};}function getExportSpecifierName$1(path,stringSpecifiers){if(path.isIdentifier()){return path.node.name;}else if(path.isStringLiteral()){var stringValue=path.node.value;if(!isIdentifierName(stringValue)){stringSpecifiers.add(stringValue);}return stringValue;}else{throw new Error("Expected export specifier to be either Identifier or StringLiteral, got "+path.node.type);}}function assertExportSpecifier(path){if(path.isExportSpecifier()){return;}else if(path.isExportNamespaceSpecifier()){throw path.buildCodeFrameError("Export namespace should be first transformed by `@babel/plugin-transform-export-namespace-from`.");}else{throw path.buildCodeFrameError("Unexpected export specifier type");}}function getModuleMetadata(programPath,_ref2,stringSpecifiers){var getWrapperPayload=_ref2.getWrapperPayload,initializeReexports=_ref2.initializeReexports;var localData=getLocalExportMetadata(programPath,initializeReexports,stringSpecifiers);var importNodes=new Map();var sourceData=new Map();var getData=function getData(sourceNode,node){var source=sourceNode.value;var data=sourceData.get(source);if(!data){data={name:programPath.scope.generateUidIdentifier(basename(source,extname(source))).name,interop:"none",loc:null,imports:new Map(),importsNamespace:new Set(),reexports:new Map(),reexportNamespace:new Set(),reexportAll:null,wrap:null,get lazy(){return this.wrap==="lazy";},referenced:false};sourceData.set(source,data);importNodes.set(source,[node]);}else{importNodes.get(source).push(node);}return data;};var hasExports=false;programPath.get("body").forEach(function(child){if(child.isImportDeclaration()){var data=getData(child.node.source,child.node);if(!data.loc)data.loc=child.node.loc;child.get("specifiers").forEach(function(spec){if(spec.isImportDefaultSpecifier()){var localName=spec.get("local").node.name;data.imports.set(localName,"default");var reexport=localData.get(localName);if(reexport){localData["delete"](localName);reexport.names.forEach(function(name){data.reexports.set(name,"default");});data.referenced=true;}}else if(spec.isImportNamespaceSpecifier()){var _localName=spec.get("local").node.name;data.importsNamespace.add(_localName);var _reexport=localData.get(_localName);if(_reexport){localData["delete"](_localName);_reexport.names.forEach(function(name){data.reexportNamespace.add(name);});data.referenced=true;}}else if(spec.isImportSpecifier()){var importName=getExportSpecifierName$1(spec.get("imported"),stringSpecifiers);var _localName2=spec.get("local").node.name;data.imports.set(_localName2,importName);var _reexport2=localData.get(_localName2);if(_reexport2){localData["delete"](_localName2);_reexport2.names.forEach(function(name){data.reexports.set(name,importName);});data.referenced=true;}}});}else if(child.isExportAllDeclaration()){hasExports=true;var _data=getData(child.node.source,child.node);if(!_data.loc)_data.loc=child.node.loc;_data.reexportAll={loc:child.node.loc};_data.referenced=true;}else if(child.isExportNamedDeclaration()&&child.node.source){hasExports=true;var _data2=getData(child.node.source,child.node);if(!_data2.loc)_data2.loc=child.node.loc;child.get("specifiers").forEach(function(spec){assertExportSpecifier(spec);var importName=getExportSpecifierName$1(spec.get("local"),stringSpecifiers);var exportName=getExportSpecifierName$1(spec.get("exported"),stringSpecifiers);_data2.reexports.set(exportName,importName);_data2.referenced=true;if(exportName==="__esModule"){throw spec.get("exported").buildCodeFrameError('Illegal export "__esModule".');}});}else if(child.isExportNamedDeclaration()||child.isExportDefaultDeclaration()){hasExports=true;}});for(var _iterator2=_createForOfIteratorHelperLoose(sourceData.values()),_step2;!(_step2=_iterator2()).done;){var _metadata3=_step2.value;var needsDefault=false;var needsNamed=false;if(_metadata3.importsNamespace.size>0){needsDefault=true;needsNamed=true;}if(_metadata3.reexportAll){needsNamed=true;}for(var _iterator4=_createForOfIteratorHelperLoose(_metadata3.imports.values()),_step4;!(_step4=_iterator4()).done;){var importName=_step4.value;if(importName==="default")needsDefault=true;else needsNamed=true;}for(var _iterator5=_createForOfIteratorHelperLoose(_metadata3.reexports.values()),_step5;!(_step5=_iterator5()).done;){var _importName=_step5.value;if(_importName==="default")needsDefault=true;else needsNamed=true;}if(needsDefault&&needsNamed){_metadata3.interop="namespace";}else if(needsDefault){_metadata3.interop="default";}}if(getWrapperPayload){for(var _iterator3=_createForOfIteratorHelperLoose(sourceData),_step3;!(_step3=_iterator3()).done;){var _step3$value=_slicedToArray(_step3.value,2),_source2=_step3$value[0],_metadata2=_step3$value[1];_metadata2.wrap=getWrapperPayload(_source2,_metadata2,importNodes.get(_source2));}}return{hasExports:hasExports,local:localData,sources:sourceData};}function getLocalExportMetadata(programPath,initializeReexports,stringSpecifiers){var bindingKindLookup=new Map();programPath.get("body").forEach(function(child){var kind;if(child.isImportDeclaration()){kind="import";}else{if(child.isExportDefaultDeclaration()){child=child.get("declaration");}if(child.isExportNamedDeclaration()){if(child.node.declaration){child=child.get("declaration");}else if(initializeReexports&&child.node.source&&child.get("source").isStringLiteral()){child.get("specifiers").forEach(function(spec){assertExportSpecifier(spec);bindingKindLookup.set(spec.get("local").node.name,"block");});return;}}if(child.isFunctionDeclaration()){kind="hoisted";}else if(child.isClassDeclaration()){kind="block";}else if(child.isVariableDeclaration({kind:"var"})){kind="var";}else if(child.isVariableDeclaration()){kind="block";}else{return;}}Object.keys(child.getOuterBindingIdentifiers()).forEach(function(name){bindingKindLookup.set(name,kind);});});var localMetadata=new Map();var getLocalMetadata=function getLocalMetadata(idPath){var localName=idPath.node.name;var metadata=localMetadata.get(localName);if(!metadata){var kind=bindingKindLookup.get(localName);if(kind===undefined){throw idPath.buildCodeFrameError("Exporting local \""+localName+"\", which is not declared.");}metadata={names:[],kind:kind};localMetadata.set(localName,metadata);}return metadata;};programPath.get("body").forEach(function(child){if(child.isExportNamedDeclaration()&&(initializeReexports||!child.node.source)){if(child.node.declaration){var declaration=child.get("declaration");var ids=declaration.getOuterBindingIdentifierPaths();Object.keys(ids).forEach(function(name){if(name==="__esModule"){throw declaration.buildCodeFrameError('Illegal export "__esModule".');}getLocalMetadata(ids[name]).names.push(name);});}else{child.get("specifiers").forEach(function(spec){var local=spec.get("local");var exported=spec.get("exported");var localMetadata=getLocalMetadata(local);var exportName=getExportSpecifierName$1(exported,stringSpecifiers);if(exportName==="__esModule"){throw exported.buildCodeFrameError('Illegal export "__esModule".');}localMetadata.names.push(exportName);});}}else if(child.isExportDefaultDeclaration()){var _declaration=child.get("declaration");if(_declaration.isFunctionDeclaration()||_declaration.isClassDeclaration()){getLocalMetadata(_declaration.get("id")).names.push("default");}else{throw _declaration.buildCodeFrameError("Unexpected default expression export.");}}});return localMetadata;}function nameAnonymousExports(programPath){programPath.get("body").forEach(function(child){if(!child.isExportDefaultDeclaration())return;splitExportDeclaration(child);});}function removeImportExportDeclarations(programPath){programPath.get("body").forEach(function(child){if(child.isImportDeclaration()){child.remove();}else if(child.isExportNamedDeclaration()){if(child.node.declaration){child.node.declaration._blockHoist=child.node._blockHoist;child.replaceWith(child.node.declaration);}else{child.remove();}}else if(child.isExportDefaultDeclaration()){var declaration=child.get("declaration");if(declaration.isFunctionDeclaration()||declaration.isClassDeclaration()){declaration._blockHoist=child.node._blockHoist;child.replaceWith(declaration);}else{throw declaration.buildCodeFrameError("Unexpected default expression export.");}}else if(child.isExportAllDeclaration()){child.remove();}});}function toGetWrapperPayload(lazy){return function(source,metadata){if(lazy===false)return null;if(isSideEffectImport(metadata)||metadata.reexportAll)return null;if(lazy===true){return /\./.test(source)?null:"lazy";}if(Array.isArray(lazy)){return lazy.indexOf(source)===-1?null:"lazy";}if(typeof lazy==="function"){return lazy(source)?"lazy":null;}throw new Error(".lazy must be a boolean, string array, or function");};}function wrapReference(ref,payload){if(payload==="lazy")return callExpression$d(ref,[]);return null;}var _templateObject$z,_templateObject2$j,_templateObject3$d,_templateObject4$9;function buildDynamicImport(node,deferToThen,wrapWithPromise,builder){var specifier=isCallExpression$8(node)?node.arguments[0]:node.source;if(isStringLiteral$5(specifier)||isTemplateLiteral$2(specifier)&&specifier.quasis.length===0){if(deferToThen){return template$1.expression.ast(_templateObject$z||(_templateObject$z=_taggedTemplateLiteralLoose(["\n        Promise.resolve().then(() => ",")\n      "])),builder(specifier));}else return builder(specifier);}var specifierToString=isTemplateLiteral$2(specifier)?identifier$j("specifier"):templateLiteral([templateElement({raw:""}),templateElement({raw:""})],[identifier$j("specifier")]);if(deferToThen){return template$1.expression.ast(_templateObject2$j||(_templateObject2$j=_taggedTemplateLiteralLoose(["\n      (specifier =>\n        new Promise(r => r(","))\n          .then(s => ",")\n      )(",")\n    "])),specifierToString,builder(identifier$j("s")),specifier);}else if(wrapWithPromise){return template$1.expression.ast(_templateObject3$d||(_templateObject3$d=_taggedTemplateLiteralLoose(["\n      (specifier =>\n        new Promise(r => r(","))\n      )(",")\n    "])),builder(specifierToString),specifier);}else{return template$1.expression.ast(_templateObject4$9||(_templateObject4$9=_taggedTemplateLiteralLoose(["\n      (specifier => ",")(",")\n    "])),builder(specifierToString),specifier);}}{var originalGetModuleName=getModuleName;getModuleName=function getModuleName(rootOpts,pluginOpts){var _pluginOpts$moduleId,_pluginOpts$moduleIds,_pluginOpts$getModule,_pluginOpts$moduleRoo;return originalGetModuleName(rootOpts,{moduleId:(_pluginOpts$moduleId=pluginOpts.moduleId)!=null?_pluginOpts$moduleId:rootOpts.moduleId,moduleIds:(_pluginOpts$moduleIds=pluginOpts.moduleIds)!=null?_pluginOpts$moduleIds:rootOpts.moduleIds,getModuleId:(_pluginOpts$getModule=pluginOpts.getModuleId)!=null?_pluginOpts$getModule:rootOpts.getModuleId,moduleRoot:(_pluginOpts$moduleRoo=pluginOpts.moduleRoot)!=null?_pluginOpts$moduleRoo:rootOpts.moduleRoot});};}function getModuleName(rootOpts,pluginOpts){var filename=rootOpts.filename,_rootOpts$filenameRel=rootOpts.filenameRelative,filenameRelative=_rootOpts$filenameRel===void 0?filename:_rootOpts$filenameRel,_rootOpts$sourceRoot=rootOpts.sourceRoot,sourceRoot=_rootOpts$sourceRoot===void 0?pluginOpts.moduleRoot:_rootOpts$sourceRoot;var moduleId=pluginOpts.moduleId,_pluginOpts$moduleIds2=pluginOpts.moduleIds,moduleIds=_pluginOpts$moduleIds2===void 0?!!moduleId:_pluginOpts$moduleIds2,getModuleId=pluginOpts.getModuleId,_pluginOpts$moduleRoo2=pluginOpts.moduleRoot,moduleRoot=_pluginOpts$moduleRoo2===void 0?sourceRoot:_pluginOpts$moduleRoo2;if(!moduleIds)return null;if(moduleId!=null&&!getModuleId){return moduleId;}var moduleName=moduleRoot!=null?moduleRoot+"/":"";if(filenameRelative){var sourceRootReplacer=sourceRoot!=null?new RegExp("^"+sourceRoot+"/?"):"";moduleName+=filenameRelative.replace(sourceRootReplacer,"").replace(/\.(\w*?)$/,"");}moduleName=moduleName.replace(/\\/g,"/");if(getModuleId){return getModuleId(moduleName)||moduleName;}else{return moduleName;}}var _templateObject$y,_templateObject2$i,_templateObject3$c,_templateObject4$8,_templateObject5$5,_templateObject6$3,_templateObject7$2,_templateObject8$2,_templateObject9$2,_templateObject10$2,_templateObject11$2,_templateObject12$2,_templateObject13$2,_templateObject14$2;var booleanLiteral$3=booleanLiteral$4,callExpression$7=callExpression$d,cloneNode$7=cloneNode$j,directive=directive$1,directiveLiteral=directiveLiteral$1,expressionStatement$1=expressionStatement$a,identifier$5=identifier$j,isIdentifier$5=isIdentifier$j,memberExpression$7=memberExpression$c,stringLiteral$3=stringLiteral$8,valueToNode=valueToNode$1,variableDeclaration$2=variableDeclaration$8,variableDeclarator$2=variableDeclarator$8;function rewriteModuleStatementsAndPrepareHeader(path,_ref){var exportName=_ref.exportName,strict=_ref.strict,allowTopLevelThis=_ref.allowTopLevelThis,strictMode=_ref.strictMode,noInterop=_ref.noInterop,_ref$importInterop=_ref.importInterop,importInterop=_ref$importInterop===void 0?noInterop?"none":"babel":_ref$importInterop,lazy=_ref.lazy,_ref$getWrapperPayloa=_ref.getWrapperPayload,getWrapperPayload=_ref$getWrapperPayloa===void 0?toGetWrapperPayload(lazy!=null?lazy:false):_ref$getWrapperPayloa,_ref$wrapReference=_ref.wrapReference,wrapReference$1=_ref$wrapReference===void 0?wrapReference:_ref$wrapReference,esNamespaceOnly=_ref.esNamespaceOnly,filename=_ref.filename,_ref$constantReexport=_ref.constantReexports,constantReexports=_ref$constantReexport===void 0?arguments[1].loose:_ref$constantReexport,_ref$enumerableModule=_ref.enumerableModuleMeta,enumerableModuleMeta=_ref$enumerableModule===void 0?arguments[1].loose:_ref$enumerableModule,noIncompleteNsImportDetection=_ref.noIncompleteNsImportDetection;validateImportInteropOption(importInterop);assert(isModule(path),"Cannot process module statements in a script");path.node.sourceType="script";var meta=normalizeModuleAndLoadMetadata(path,exportName,{importInterop:importInterop,initializeReexports:constantReexports,getWrapperPayload:getWrapperPayload,esNamespaceOnly:esNamespaceOnly,filename:filename});if(!allowTopLevelThis){rewriteThis(path);}rewriteLiveReferences(path,meta,wrapReference$1);if(strictMode!==false){var hasStrict=path.node.directives.some(function(directive){return directive.value.value==="use strict";});if(!hasStrict){path.unshiftContainer("directives",directive(directiveLiteral("use strict")));}}var headers=[];if(hasExports(meta)&&!strict){headers.push(buildESModuleHeader(meta,enumerableModuleMeta));}var nameList=buildExportNameListDeclaration(path,meta);if(nameList){meta.exportNameListName=nameList.name;headers.push(nameList.statement);}headers.push.apply(headers,_toConsumableArray(buildExportInitializationStatements(path,meta,wrapReference$1,constantReexports,noIncompleteNsImportDetection)));return{meta:meta,headers:headers};}function ensureStatementsHoisted(statements){statements.forEach(function(header){header._blockHoist=3;});}function wrapInterop(programPath,expr,type){if(type==="none"){return null;}if(type==="node-namespace"){return callExpression$7(programPath.hub.addHelper("interopRequireWildcard"),[expr,booleanLiteral$3(true)]);}else if(type==="node-default"){return null;}var helper;if(type==="default"){helper="interopRequireDefault";}else if(type==="namespace"){helper="interopRequireWildcard";}else{throw new Error("Unknown interop: "+type);}return callExpression$7(programPath.hub.addHelper(helper),[expr]);}function buildNamespaceInitStatements(metadata,sourceMetadata,constantReexports,wrapReference$1){var _wrapReference;if(constantReexports===void 0){constantReexports=false;}if(wrapReference$1===void 0){wrapReference$1=wrapReference;}var statements=[];var srcNamespaceId=identifier$5(sourceMetadata.name);for(var _iterator=_createForOfIteratorHelperLoose(sourceMetadata.importsNamespace),_step;!(_step=_iterator()).done;){var localName=_step.value;if(localName===sourceMetadata.name)continue;statements.push(template$1.statement(_templateObject$y||(_templateObject$y=_taggedTemplateLiteralLoose(["var NAME = SOURCE;"])))({NAME:localName,SOURCE:cloneNode$7(srcNamespaceId)}));}var srcNamespace=(_wrapReference=wrapReference$1(srcNamespaceId,sourceMetadata.wrap))!=null?_wrapReference:srcNamespaceId;if(constantReexports){statements.push.apply(statements,_toConsumableArray(buildReexportsFromMeta(metadata,sourceMetadata,true,wrapReference$1)));}for(var _iterator2=_createForOfIteratorHelperLoose(sourceMetadata.reexportNamespace),_step2;!(_step2=_iterator2()).done;){var exportName=_step2.value;statements.push((!isIdentifier$j(srcNamespace)?template$1.statement(_templateObject2$i||(_templateObject2$i=_taggedTemplateLiteralLoose(["\n            Object.defineProperty(EXPORTS, \"NAME\", {\n              enumerable: true,\n              get: function() {\n                return NAMESPACE;\n              }\n            });\n          "]))):template$1.statement(_templateObject3$c||(_templateObject3$c=_taggedTemplateLiteralLoose(["EXPORTS.NAME = NAMESPACE;"]))))({EXPORTS:metadata.exportName,NAME:exportName,NAMESPACE:cloneNode$7(srcNamespace)}));}if(sourceMetadata.reexportAll){var statement=buildNamespaceReexport(metadata,cloneNode$7(srcNamespace),constantReexports);statement.loc=sourceMetadata.reexportAll.loc;statements.push(statement);}return statements;}var ReexportTemplate={constant:template$1.statement(_templateObject4$8||(_templateObject4$8=_taggedTemplateLiteralLoose(["EXPORTS.EXPORT_NAME = NAMESPACE_IMPORT;"]))),constantComputed:template$1.statement(_templateObject5$5||(_templateObject5$5=_taggedTemplateLiteralLoose(["EXPORTS[\"EXPORT_NAME\"] = NAMESPACE_IMPORT;"]))),spec:template$1.statement(_templateObject6$3||(_templateObject6$3=_taggedTemplateLiteralLoose(["\n    Object.defineProperty(EXPORTS, \"EXPORT_NAME\", {\n      enumerable: true,\n      get: function() {\n        return NAMESPACE_IMPORT;\n      },\n    });\n    "])))};function buildReexportsFromMeta(meta,metadata,constantReexports,wrapReference){var _wrapReference2;var namespace=identifier$5(metadata.name);namespace=(_wrapReference2=wrapReference(namespace,metadata.wrap))!=null?_wrapReference2:namespace;var stringSpecifiers=meta.stringSpecifiers;return Array.from(metadata.reexports,function(_ref2){var _ref3=_slicedToArray(_ref2,2),exportName=_ref3[0],importName=_ref3[1];var NAMESPACE_IMPORT=cloneNode$7(namespace);if(importName==="default"&&metadata.interop==="node-default");else if(stringSpecifiers.has(importName)){NAMESPACE_IMPORT=memberExpression$7(NAMESPACE_IMPORT,stringLiteral$3(importName),true);}else{NAMESPACE_IMPORT=memberExpression$7(NAMESPACE_IMPORT,identifier$5(importName));}var astNodes={EXPORTS:meta.exportName,EXPORT_NAME:exportName,NAMESPACE_IMPORT:NAMESPACE_IMPORT};if(constantReexports||isIdentifier$5(NAMESPACE_IMPORT)){if(stringSpecifiers.has(exportName)){return ReexportTemplate.constantComputed(astNodes);}else{return ReexportTemplate.constant(astNodes);}}else{return ReexportTemplate.spec(astNodes);}});}function buildESModuleHeader(metadata,enumerableModuleMeta){if(enumerableModuleMeta===void 0){enumerableModuleMeta=false;}return(enumerableModuleMeta?template$1.statement(_templateObject7$2||(_templateObject7$2=_taggedTemplateLiteralLoose(["\n        EXPORTS.__esModule = true;\n      "]))):template$1.statement(_templateObject8$2||(_templateObject8$2=_taggedTemplateLiteralLoose(["\n        Object.defineProperty(EXPORTS, \"__esModule\", {\n          value: true,\n        });\n      "]))))({EXPORTS:metadata.exportName});}function buildNamespaceReexport(metadata,namespace,constantReexports){return(constantReexports?template$1.statement(_templateObject9$2||(_templateObject9$2=_taggedTemplateLiteralLoose(["\n        Object.keys(NAMESPACE).forEach(function(key) {\n          if (key === \"default\" || key === \"__esModule\") return;\n          VERIFY_NAME_LIST;\n          if (key in EXPORTS && EXPORTS[key] === NAMESPACE[key]) return;\n\n          EXPORTS[key] = NAMESPACE[key];\n        });\n      "]))):template$1.statement(_templateObject10$2||(_templateObject10$2=_taggedTemplateLiteralLoose(["\n        Object.keys(NAMESPACE).forEach(function(key) {\n          if (key === \"default\" || key === \"__esModule\") return;\n          VERIFY_NAME_LIST;\n          if (key in EXPORTS && EXPORTS[key] === NAMESPACE[key]) return;\n\n          Object.defineProperty(EXPORTS, key, {\n            enumerable: true,\n            get: function() {\n              return NAMESPACE[key];\n            },\n          });\n        });\n    "]))))({NAMESPACE:namespace,EXPORTS:metadata.exportName,VERIFY_NAME_LIST:metadata.exportNameListName?template$1(_templateObject11$2||(_templateObject11$2=_taggedTemplateLiteralLoose(["\n            if (Object.prototype.hasOwnProperty.call(EXPORTS_LIST, key)) return;\n          "])))({EXPORTS_LIST:metadata.exportNameListName}):null});}function buildExportNameListDeclaration(programPath,metadata){var exportedVars=Object.create(null);for(var _iterator3=_createForOfIteratorHelperLoose(metadata.local.values()),_step3;!(_step3=_iterator3()).done;){var data=_step3.value;for(var _iterator5=_createForOfIteratorHelperLoose(data.names),_step5;!(_step5=_iterator5()).done;){var _name=_step5.value;exportedVars[_name]=true;}}var hasReexport=false;for(var _iterator4=_createForOfIteratorHelperLoose(metadata.source.values()),_step4;!(_step4=_iterator4()).done;){var _data=_step4.value;for(var _iterator6=_createForOfIteratorHelperLoose(_data.reexports.keys()),_step6;!(_step6=_iterator6()).done;){var exportName=_step6.value;exportedVars[exportName]=true;}for(var _iterator7=_createForOfIteratorHelperLoose(_data.reexportNamespace),_step7;!(_step7=_iterator7()).done;){var _exportName=_step7.value;exportedVars[_exportName]=true;}hasReexport=hasReexport||!!_data.reexportAll;}if(!hasReexport||Object.keys(exportedVars).length===0)return null;var name=programPath.scope.generateUidIdentifier("exportNames");delete exportedVars["default"];return{name:name.name,statement:variableDeclaration$2("var",[variableDeclarator$2(name,valueToNode(exportedVars))])};}function buildExportInitializationStatements(programPath,metadata,wrapReference,constantReexports,noIncompleteNsImportDetection){if(constantReexports===void 0){constantReexports=false;}if(noIncompleteNsImportDetection===void 0){noIncompleteNsImportDetection=false;}var initStatements=[];for(var _iterator8=_createForOfIteratorHelperLoose(metadata.local),_step8;!(_step8=_iterator8()).done;){var _step8$value=_slicedToArray(_step8.value,2),localName=_step8$value[0],data=_step8$value[1];if(data.kind==="import");else if(data.kind==="hoisted"){initStatements.push([data.names[0],buildInitStatement(metadata,data.names,identifier$5(localName))]);}else if(!noIncompleteNsImportDetection){for(var _iterator11=_createForOfIteratorHelperLoose(data.names),_step11;!(_step11=_iterator11()).done;){var _exportName2=_step11.value;initStatements.push([_exportName2,null]);}}}for(var _iterator9=_createForOfIteratorHelperLoose(metadata.source.values()),_step9;!(_step9=_iterator9()).done;){var _data2=_step9.value;if(!constantReexports){var reexportsStatements=buildReexportsFromMeta(metadata,_data2,false,wrapReference);var reexports=_toConsumableArray(_data2.reexports.keys());for(var _i=0;_i<reexportsStatements.length;_i++){initStatements.push([reexports[_i],reexportsStatements[_i]]);}}if(!noIncompleteNsImportDetection){for(var _iterator12=_createForOfIteratorHelperLoose(_data2.reexportNamespace),_step12;!(_step12=_iterator12()).done;){var _exportName3=_step12.value;initStatements.push([_exportName3,null]);}}}initStatements.sort(function(_ref4,_ref5){var _ref6=_slicedToArray(_ref4,1),a=_ref6[0];var _ref7=_slicedToArray(_ref5,1),b=_ref7[0];if(a<b)return-1;if(b<a)return 1;return 0;});var results=[];if(noIncompleteNsImportDetection){for(var _iterator10=_createForOfIteratorHelperLoose(initStatements),_step10;!(_step10=_iterator10()).done;){var _step10$value=_slicedToArray(_step10.value,2),initStatement=_step10$value[1];results.push(initStatement);}}else{var chunkSize=100;for(var i=0;i<initStatements.length;i+=chunkSize){var uninitializedExportNames=[];for(var j=0;j<chunkSize&&i+j<initStatements.length;j++){var _initStatements=_slicedToArray(initStatements[i+j],2),exportName=_initStatements[0],_initStatement=_initStatements[1];if(_initStatement!==null){if(uninitializedExportNames.length>0){results.push(buildInitStatement(metadata,uninitializedExportNames,programPath.scope.buildUndefinedNode()));uninitializedExportNames=[];}results.push(_initStatement);}else{uninitializedExportNames.push(exportName);}}if(uninitializedExportNames.length>0){results.push(buildInitStatement(metadata,uninitializedExportNames,programPath.scope.buildUndefinedNode()));}}}return results;}var InitTemplate={computed:template$1.expression(_templateObject12$2||(_templateObject12$2=_taggedTemplateLiteralLoose(["EXPORTS[\"NAME\"] = VALUE"]))),"default":template$1.expression(_templateObject13$2||(_templateObject13$2=_taggedTemplateLiteralLoose(["EXPORTS.NAME = VALUE"]))),define:template$1.expression(_templateObject14$2||(_templateObject14$2=_taggedTemplateLiteralLoose(["Object.defineProperty(EXPORTS, \"NAME\", { enumerable:true, value: void 0, writable: true })[\"NAME\"] = VALUE"])))};function buildInitStatement(metadata,exportNames,initExpr){var stringSpecifiers=metadata.stringSpecifiers,EXPORTS=metadata.exportName;return expressionStatement$1(exportNames.reduce(function(acc,exportName){var params={EXPORTS:EXPORTS,NAME:exportName,VALUE:acc};if(exportName==="__proto__"){return InitTemplate.define(params);}if(stringSpecifiers.has(exportName)){return InitTemplate.computed(params);}return InitTemplate["default"](params);},initExpr));}var semver$a={exports:{}};var hasRequiredSemver$2;function requireSemver$2(){if(hasRequiredSemver$2)return semver$a.exports;hasRequiredSemver$2=1;(function(module,exports){exports=module.exports=SemVer;var debug;if(_typeof(browser$1$1)==='object'&&browser$1$1.env&&browser$1$1.env.NODE_DEBUG&&/\bsemver\b/i.test(browser$1$1.env.NODE_DEBUG)){debug=function debug(){var args=Array.prototype.slice.call(arguments,0);args.unshift('SEMVER');console.log.apply(console,args);};}else{debug=function debug(){};}exports.SEMVER_SPEC_VERSION='2.0.0';var MAX_LENGTH=256;var MAX_SAFE_INTEGER=Number.MAX_SAFE_INTEGER||9007199254740991;var MAX_SAFE_COMPONENT_LENGTH=16;var MAX_SAFE_BUILD_LENGTH=MAX_LENGTH-6;var re=exports.re=[];var safeRe=exports.safeRe=[];var src=exports.src=[];var t=exports.tokens={};var R=0;function tok(n){t[n]=R++;}var LETTERDASHNUMBER='[a-zA-Z0-9-]';var safeRegexReplacements=[['\\s',1],['\\d',MAX_LENGTH],[LETTERDASHNUMBER,MAX_SAFE_BUILD_LENGTH]];function makeSafeRe(value){for(var i=0;i<safeRegexReplacements.length;i++){var token=safeRegexReplacements[i][0];var max=safeRegexReplacements[i][1];value=value.split(token+'*').join(token+'{0,'+max+'}').split(token+'+').join(token+'{1,'+max+'}');}return value;}tok('NUMERICIDENTIFIER');src[t.NUMERICIDENTIFIER]='0|[1-9]\\d*';tok('NUMERICIDENTIFIERLOOSE');src[t.NUMERICIDENTIFIERLOOSE]='\\d+';tok('NONNUMERICIDENTIFIER');src[t.NONNUMERICIDENTIFIER]='\\d*[a-zA-Z-]'+LETTERDASHNUMBER+'*';tok('MAINVERSION');src[t.MAINVERSION]='('+src[t.NUMERICIDENTIFIER]+')\\.'+'('+src[t.NUMERICIDENTIFIER]+')\\.'+'('+src[t.NUMERICIDENTIFIER]+')';tok('MAINVERSIONLOOSE');src[t.MAINVERSIONLOOSE]='('+src[t.NUMERICIDENTIFIERLOOSE]+')\\.'+'('+src[t.NUMERICIDENTIFIERLOOSE]+')\\.'+'('+src[t.NUMERICIDENTIFIERLOOSE]+')';tok('PRERELEASEIDENTIFIER');src[t.PRERELEASEIDENTIFIER]='(?:'+src[t.NUMERICIDENTIFIER]+'|'+src[t.NONNUMERICIDENTIFIER]+')';tok('PRERELEASEIDENTIFIERLOOSE');src[t.PRERELEASEIDENTIFIERLOOSE]='(?:'+src[t.NUMERICIDENTIFIERLOOSE]+'|'+src[t.NONNUMERICIDENTIFIER]+')';tok('PRERELEASE');src[t.PRERELEASE]='(?:-('+src[t.PRERELEASEIDENTIFIER]+'(?:\\.'+src[t.PRERELEASEIDENTIFIER]+')*))';tok('PRERELEASELOOSE');src[t.PRERELEASELOOSE]='(?:-?('+src[t.PRERELEASEIDENTIFIERLOOSE]+'(?:\\.'+src[t.PRERELEASEIDENTIFIERLOOSE]+')*))';tok('BUILDIDENTIFIER');src[t.BUILDIDENTIFIER]=LETTERDASHNUMBER+'+';tok('BUILD');src[t.BUILD]='(?:\\+('+src[t.BUILDIDENTIFIER]+'(?:\\.'+src[t.BUILDIDENTIFIER]+')*))';tok('FULL');tok('FULLPLAIN');src[t.FULLPLAIN]='v?'+src[t.MAINVERSION]+src[t.PRERELEASE]+'?'+src[t.BUILD]+'?';src[t.FULL]='^'+src[t.FULLPLAIN]+'$';tok('LOOSEPLAIN');src[t.LOOSEPLAIN]='[v=\\s]*'+src[t.MAINVERSIONLOOSE]+src[t.PRERELEASELOOSE]+'?'+src[t.BUILD]+'?';tok('LOOSE');src[t.LOOSE]='^'+src[t.LOOSEPLAIN]+'$';tok('GTLT');src[t.GTLT]='((?:<|>)?=?)';tok('XRANGEIDENTIFIERLOOSE');src[t.XRANGEIDENTIFIERLOOSE]=src[t.NUMERICIDENTIFIERLOOSE]+'|x|X|\\*';tok('XRANGEIDENTIFIER');src[t.XRANGEIDENTIFIER]=src[t.NUMERICIDENTIFIER]+'|x|X|\\*';tok('XRANGEPLAIN');src[t.XRANGEPLAIN]='[v=\\s]*('+src[t.XRANGEIDENTIFIER]+')'+'(?:\\.('+src[t.XRANGEIDENTIFIER]+')'+'(?:\\.('+src[t.XRANGEIDENTIFIER]+')'+'(?:'+src[t.PRERELEASE]+')?'+src[t.BUILD]+'?'+')?)?';tok('XRANGEPLAINLOOSE');src[t.XRANGEPLAINLOOSE]='[v=\\s]*('+src[t.XRANGEIDENTIFIERLOOSE]+')'+'(?:\\.('+src[t.XRANGEIDENTIFIERLOOSE]+')'+'(?:\\.('+src[t.XRANGEIDENTIFIERLOOSE]+')'+'(?:'+src[t.PRERELEASELOOSE]+')?'+src[t.BUILD]+'?'+')?)?';tok('XRANGE');src[t.XRANGE]='^'+src[t.GTLT]+'\\s*'+src[t.XRANGEPLAIN]+'$';tok('XRANGELOOSE');src[t.XRANGELOOSE]='^'+src[t.GTLT]+'\\s*'+src[t.XRANGEPLAINLOOSE]+'$';tok('COERCE');src[t.COERCE]='(^|[^\\d])'+'(\\d{1,'+MAX_SAFE_COMPONENT_LENGTH+'})'+'(?:\\.(\\d{1,'+MAX_SAFE_COMPONENT_LENGTH+'}))?'+'(?:\\.(\\d{1,'+MAX_SAFE_COMPONENT_LENGTH+'}))?'+'(?:$|[^\\d])';tok('COERCERTL');re[t.COERCERTL]=new RegExp(src[t.COERCE],'g');safeRe[t.COERCERTL]=new RegExp(makeSafeRe(src[t.COERCE]),'g');tok('LONETILDE');src[t.LONETILDE]='(?:~>?)';tok('TILDETRIM');src[t.TILDETRIM]='(\\s*)'+src[t.LONETILDE]+'\\s+';re[t.TILDETRIM]=new RegExp(src[t.TILDETRIM],'g');safeRe[t.TILDETRIM]=new RegExp(makeSafeRe(src[t.TILDETRIM]),'g');var tildeTrimReplace='$1~';tok('TILDE');src[t.TILDE]='^'+src[t.LONETILDE]+src[t.XRANGEPLAIN]+'$';tok('TILDELOOSE');src[t.TILDELOOSE]='^'+src[t.LONETILDE]+src[t.XRANGEPLAINLOOSE]+'$';tok('LONECARET');src[t.LONECARET]='(?:\\^)';tok('CARETTRIM');src[t.CARETTRIM]='(\\s*)'+src[t.LONECARET]+'\\s+';re[t.CARETTRIM]=new RegExp(src[t.CARETTRIM],'g');safeRe[t.CARETTRIM]=new RegExp(makeSafeRe(src[t.CARETTRIM]),'g');var caretTrimReplace='$1^';tok('CARET');src[t.CARET]='^'+src[t.LONECARET]+src[t.XRANGEPLAIN]+'$';tok('CARETLOOSE');src[t.CARETLOOSE]='^'+src[t.LONECARET]+src[t.XRANGEPLAINLOOSE]+'$';tok('COMPARATORLOOSE');src[t.COMPARATORLOOSE]='^'+src[t.GTLT]+'\\s*('+src[t.LOOSEPLAIN]+')$|^$';tok('COMPARATOR');src[t.COMPARATOR]='^'+src[t.GTLT]+'\\s*('+src[t.FULLPLAIN]+')$|^$';tok('COMPARATORTRIM');src[t.COMPARATORTRIM]='(\\s*)'+src[t.GTLT]+'\\s*('+src[t.LOOSEPLAIN]+'|'+src[t.XRANGEPLAIN]+')';re[t.COMPARATORTRIM]=new RegExp(src[t.COMPARATORTRIM],'g');safeRe[t.COMPARATORTRIM]=new RegExp(makeSafeRe(src[t.COMPARATORTRIM]),'g');var comparatorTrimReplace='$1$2$3';tok('HYPHENRANGE');src[t.HYPHENRANGE]='^\\s*('+src[t.XRANGEPLAIN]+')'+'\\s+-\\s+'+'('+src[t.XRANGEPLAIN]+')'+'\\s*$';tok('HYPHENRANGELOOSE');src[t.HYPHENRANGELOOSE]='^\\s*('+src[t.XRANGEPLAINLOOSE]+')'+'\\s+-\\s+'+'('+src[t.XRANGEPLAINLOOSE]+')'+'\\s*$';tok('STAR');src[t.STAR]='(<|>)?=?\\s*\\*';for(var i=0;i<R;i++){debug(i,src[i]);if(!re[i]){re[i]=new RegExp(src[i]);safeRe[i]=new RegExp(makeSafeRe(src[i]));}}exports.parse=parse;function parse(version,options){if(!options||_typeof(options)!=='object'){options={loose:!!options,includePrerelease:false};}if(version instanceof SemVer){return version;}if(typeof version!=='string'){return null;}if(version.length>MAX_LENGTH){return null;}var r=options.loose?safeRe[t.LOOSE]:safeRe[t.FULL];if(!r.test(version)){return null;}try{return new SemVer(version,options);}catch(er){return null;}}exports.valid=valid;function valid(version,options){var v=parse(version,options);return v?v.version:null;}exports.clean=clean;function clean(version,options){var s=parse(version.trim().replace(/^[=v]+/,''),options);return s?s.version:null;}exports.SemVer=SemVer;function SemVer(version,options){if(!options||_typeof(options)!=='object'){options={loose:!!options,includePrerelease:false};}if(version instanceof SemVer){if(version.loose===options.loose){return version;}else{version=version.version;}}else if(typeof version!=='string'){throw new TypeError('Invalid Version: '+version);}if(version.length>MAX_LENGTH){throw new TypeError('version is longer than '+MAX_LENGTH+' characters');}if(!(this instanceof SemVer)){return new SemVer(version,options);}debug('SemVer',version,options);this.options=options;this.loose=!!options.loose;var m=version.trim().match(options.loose?safeRe[t.LOOSE]:safeRe[t.FULL]);if(!m){throw new TypeError('Invalid Version: '+version);}this.raw=version;this.major=+m[1];this.minor=+m[2];this.patch=+m[3];if(this.major>MAX_SAFE_INTEGER||this.major<0){throw new TypeError('Invalid major version');}if(this.minor>MAX_SAFE_INTEGER||this.minor<0){throw new TypeError('Invalid minor version');}if(this.patch>MAX_SAFE_INTEGER||this.patch<0){throw new TypeError('Invalid patch version');}if(!m[4]){this.prerelease=[];}else{this.prerelease=m[4].split('.').map(function(id){if(/^[0-9]+$/.test(id)){var num=+id;if(num>=0&&num<MAX_SAFE_INTEGER){return num;}}return id;});}this.build=m[5]?m[5].split('.'):[];this.format();}SemVer.prototype.format=function(){this.version=this.major+'.'+this.minor+'.'+this.patch;if(this.prerelease.length){this.version+='-'+this.prerelease.join('.');}return this.version;};SemVer.prototype.toString=function(){return this.version;};SemVer.prototype.compare=function(other){debug('SemVer.compare',this.version,this.options,other);if(!(other instanceof SemVer)){other=new SemVer(other,this.options);}return this.compareMain(other)||this.comparePre(other);};SemVer.prototype.compareMain=function(other){if(!(other instanceof SemVer)){other=new SemVer(other,this.options);}return compareIdentifiers(this.major,other.major)||compareIdentifiers(this.minor,other.minor)||compareIdentifiers(this.patch,other.patch);};SemVer.prototype.comparePre=function(other){if(!(other instanceof SemVer)){other=new SemVer(other,this.options);}if(this.prerelease.length&&!other.prerelease.length){return-1;}else if(!this.prerelease.length&&other.prerelease.length){return 1;}else if(!this.prerelease.length&&!other.prerelease.length){return 0;}var i=0;do{var a=this.prerelease[i];var b=other.prerelease[i];debug('prerelease compare',i,a,b);if(a===undefined&&b===undefined){return 0;}else if(b===undefined){return 1;}else if(a===undefined){return-1;}else if(a===b){continue;}else{return compareIdentifiers(a,b);}}while(++i);};SemVer.prototype.compareBuild=function(other){if(!(other instanceof SemVer)){other=new SemVer(other,this.options);}var i=0;do{var a=this.build[i];var b=other.build[i];debug('prerelease compare',i,a,b);if(a===undefined&&b===undefined){return 0;}else if(b===undefined){return 1;}else if(a===undefined){return-1;}else if(a===b){continue;}else{return compareIdentifiers(a,b);}}while(++i);};SemVer.prototype.inc=function(release,identifier){switch(release){case'premajor':this.prerelease.length=0;this.patch=0;this.minor=0;this.major++;this.inc('pre',identifier);break;case'preminor':this.prerelease.length=0;this.patch=0;this.minor++;this.inc('pre',identifier);break;case'prepatch':this.prerelease.length=0;this.inc('patch',identifier);this.inc('pre',identifier);break;case'prerelease':if(this.prerelease.length===0){this.inc('patch',identifier);}this.inc('pre',identifier);break;case'major':if(this.minor!==0||this.patch!==0||this.prerelease.length===0){this.major++;}this.minor=0;this.patch=0;this.prerelease=[];break;case'minor':if(this.patch!==0||this.prerelease.length===0){this.minor++;}this.patch=0;this.prerelease=[];break;case'patch':if(this.prerelease.length===0){this.patch++;}this.prerelease=[];break;case'pre':if(this.prerelease.length===0){this.prerelease=[0];}else{var i=this.prerelease.length;while(--i>=0){if(typeof this.prerelease[i]==='number'){this.prerelease[i]++;i=-2;}}if(i===-1){this.prerelease.push(0);}}if(identifier){if(this.prerelease[0]===identifier){if(isNaN(this.prerelease[1])){this.prerelease=[identifier,0];}}else{this.prerelease=[identifier,0];}}break;default:throw new Error('invalid increment argument: '+release);}this.format();this.raw=this.version;return this;};exports.inc=inc;function inc(version,release,loose,identifier){if(typeof loose==='string'){identifier=loose;loose=undefined;}try{return new SemVer(version,loose).inc(release,identifier).version;}catch(er){return null;}}exports.diff=diff;function diff(version1,version2){if(eq(version1,version2)){return null;}else{var v1=parse(version1);var v2=parse(version2);var prefix='';if(v1.prerelease.length||v2.prerelease.length){prefix='pre';var defaultResult='prerelease';}for(var key in v1){if(key==='major'||key==='minor'||key==='patch'){if(v1[key]!==v2[key]){return prefix+key;}}}return defaultResult;}}exports.compareIdentifiers=compareIdentifiers;var numeric=/^[0-9]+$/;function compareIdentifiers(a,b){var anum=numeric.test(a);var bnum=numeric.test(b);if(anum&&bnum){a=+a;b=+b;}return a===b?0:anum&&!bnum?-1:bnum&&!anum?1:a<b?-1:1;}exports.rcompareIdentifiers=rcompareIdentifiers;function rcompareIdentifiers(a,b){return compareIdentifiers(b,a);}exports.major=major;function major(a,loose){return new SemVer(a,loose).major;}exports.minor=minor;function minor(a,loose){return new SemVer(a,loose).minor;}exports.patch=patch;function patch(a,loose){return new SemVer(a,loose).patch;}exports.compare=compare;function compare(a,b,loose){return new SemVer(a,loose).compare(new SemVer(b,loose));}exports.compareLoose=compareLoose;function compareLoose(a,b){return compare(a,b,true);}exports.compareBuild=compareBuild;function compareBuild(a,b,loose){var versionA=new SemVer(a,loose);var versionB=new SemVer(b,loose);return versionA.compare(versionB)||versionA.compareBuild(versionB);}exports.rcompare=rcompare;function rcompare(a,b,loose){return compare(b,a,loose);}exports.sort=sort;function sort(list,loose){return list.sort(function(a,b){return exports.compareBuild(a,b,loose);});}exports.rsort=rsort;function rsort(list,loose){return list.sort(function(a,b){return exports.compareBuild(b,a,loose);});}exports.gt=gt;function gt(a,b,loose){return compare(a,b,loose)>0;}exports.lt=lt;function lt(a,b,loose){return compare(a,b,loose)<0;}exports.eq=eq;function eq(a,b,loose){return compare(a,b,loose)===0;}exports.neq=neq;function neq(a,b,loose){return compare(a,b,loose)!==0;}exports.gte=gte;function gte(a,b,loose){return compare(a,b,loose)>=0;}exports.lte=lte;function lte(a,b,loose){return compare(a,b,loose)<=0;}exports.cmp=cmp;function cmp(a,op,b,loose){switch(op){case'===':if(_typeof(a)==='object')a=a.version;if(_typeof(b)==='object')b=b.version;return a===b;case'!==':if(_typeof(a)==='object')a=a.version;if(_typeof(b)==='object')b=b.version;return a!==b;case'':case'=':case'==':return eq(a,b,loose);case'!=':return neq(a,b,loose);case'>':return gt(a,b,loose);case'>=':return gte(a,b,loose);case'<':return lt(a,b,loose);case'<=':return lte(a,b,loose);default:throw new TypeError('Invalid operator: '+op);}}exports.Comparator=Comparator;function Comparator(comp,options){if(!options||_typeof(options)!=='object'){options={loose:!!options,includePrerelease:false};}if(comp instanceof Comparator){if(comp.loose===!!options.loose){return comp;}else{comp=comp.value;}}if(!(this instanceof Comparator)){return new Comparator(comp,options);}comp=comp.trim().split(/\s+/).join(' ');debug('comparator',comp,options);this.options=options;this.loose=!!options.loose;this.parse(comp);if(this.semver===ANY){this.value='';}else{this.value=this.operator+this.semver.version;}debug('comp',this);}var ANY={};Comparator.prototype.parse=function(comp){var r=this.options.loose?safeRe[t.COMPARATORLOOSE]:safeRe[t.COMPARATOR];var m=comp.match(r);if(!m){throw new TypeError('Invalid comparator: '+comp);}this.operator=m[1]!==undefined?m[1]:'';if(this.operator==='='){this.operator='';}if(!m[2]){this.semver=ANY;}else{this.semver=new SemVer(m[2],this.options.loose);}};Comparator.prototype.toString=function(){return this.value;};Comparator.prototype.test=function(version){debug('Comparator.test',version,this.options.loose);if(this.semver===ANY||version===ANY){return true;}if(typeof version==='string'){try{version=new SemVer(version,this.options);}catch(er){return false;}}return cmp(version,this.operator,this.semver,this.options);};Comparator.prototype.intersects=function(comp,options){if(!(comp instanceof Comparator)){throw new TypeError('a Comparator is required');}if(!options||_typeof(options)!=='object'){options={loose:!!options,includePrerelease:false};}var rangeTmp;if(this.operator===''){if(this.value===''){return true;}rangeTmp=new Range(comp.value,options);return satisfies(this.value,rangeTmp,options);}else if(comp.operator===''){if(comp.value===''){return true;}rangeTmp=new Range(this.value,options);return satisfies(comp.semver,rangeTmp,options);}var sameDirectionIncreasing=(this.operator==='>='||this.operator==='>')&&(comp.operator==='>='||comp.operator==='>');var sameDirectionDecreasing=(this.operator==='<='||this.operator==='<')&&(comp.operator==='<='||comp.operator==='<');var sameSemVer=this.semver.version===comp.semver.version;var differentDirectionsInclusive=(this.operator==='>='||this.operator==='<=')&&(comp.operator==='>='||comp.operator==='<=');var oppositeDirectionsLessThan=cmp(this.semver,'<',comp.semver,options)&&(this.operator==='>='||this.operator==='>')&&(comp.operator==='<='||comp.operator==='<');var oppositeDirectionsGreaterThan=cmp(this.semver,'>',comp.semver,options)&&(this.operator==='<='||this.operator==='<')&&(comp.operator==='>='||comp.operator==='>');return sameDirectionIncreasing||sameDirectionDecreasing||sameSemVer&&differentDirectionsInclusive||oppositeDirectionsLessThan||oppositeDirectionsGreaterThan;};exports.Range=Range;function Range(range,options){if(!options||_typeof(options)!=='object'){options={loose:!!options,includePrerelease:false};}if(range instanceof Range){if(range.loose===!!options.loose&&range.includePrerelease===!!options.includePrerelease){return range;}else{return new Range(range.raw,options);}}if(range instanceof Comparator){return new Range(range.value,options);}if(!(this instanceof Range)){return new Range(range,options);}this.options=options;this.loose=!!options.loose;this.includePrerelease=!!options.includePrerelease;this.raw=range.trim().split(/\s+/).join(' ');this.set=this.raw.split('||').map(function(range){return this.parseRange(range.trim());},this).filter(function(c){return c.length;});if(!this.set.length){throw new TypeError('Invalid SemVer Range: '+this.raw);}this.format();}Range.prototype.format=function(){this.range=this.set.map(function(comps){return comps.join(' ').trim();}).join('||').trim();return this.range;};Range.prototype.toString=function(){return this.range;};Range.prototype.parseRange=function(range){var loose=this.options.loose;var hr=loose?safeRe[t.HYPHENRANGELOOSE]:safeRe[t.HYPHENRANGE];range=range.replace(hr,hyphenReplace);debug('hyphen replace',range);range=range.replace(safeRe[t.COMPARATORTRIM],comparatorTrimReplace);debug('comparator trim',range,safeRe[t.COMPARATORTRIM]);range=range.replace(safeRe[t.TILDETRIM],tildeTrimReplace);range=range.replace(safeRe[t.CARETTRIM],caretTrimReplace);range=range.split(/\s+/).join(' ');var compRe=loose?safeRe[t.COMPARATORLOOSE]:safeRe[t.COMPARATOR];var set=range.split(' ').map(function(comp){return parseComparator(comp,this.options);},this).join(' ').split(/\s+/);if(this.options.loose){set=set.filter(function(comp){return!!comp.match(compRe);});}set=set.map(function(comp){return new Comparator(comp,this.options);},this);return set;};Range.prototype.intersects=function(range,options){if(!(range instanceof Range)){throw new TypeError('a Range is required');}return this.set.some(function(thisComparators){return isSatisfiable(thisComparators,options)&&range.set.some(function(rangeComparators){return isSatisfiable(rangeComparators,options)&&thisComparators.every(function(thisComparator){return rangeComparators.every(function(rangeComparator){return thisComparator.intersects(rangeComparator,options);});});});});};function isSatisfiable(comparators,options){var result=true;var remainingComparators=comparators.slice();var testComparator=remainingComparators.pop();while(result&&remainingComparators.length){result=remainingComparators.every(function(otherComparator){return testComparator.intersects(otherComparator,options);});testComparator=remainingComparators.pop();}return result;}exports.toComparators=toComparators;function toComparators(range,options){return new Range(range,options).set.map(function(comp){return comp.map(function(c){return c.value;}).join(' ').trim().split(' ');});}function parseComparator(comp,options){debug('comp',comp,options);comp=replaceCarets(comp,options);debug('caret',comp);comp=replaceTildes(comp,options);debug('tildes',comp);comp=replaceXRanges(comp,options);debug('xrange',comp);comp=replaceStars(comp,options);debug('stars',comp);return comp;}function isX(id){return!id||id.toLowerCase()==='x'||id==='*';}function replaceTildes(comp,options){return comp.trim().split(/\s+/).map(function(comp){return replaceTilde(comp,options);}).join(' ');}function replaceTilde(comp,options){var r=options.loose?safeRe[t.TILDELOOSE]:safeRe[t.TILDE];return comp.replace(r,function(_,M,m,p,pr){debug('tilde',comp,_,M,m,p,pr);var ret;if(isX(M)){ret='';}else if(isX(m)){ret='>='+M+'.0.0 <'+(+M+1)+'.0.0';}else if(isX(p)){ret='>='+M+'.'+m+'.0 <'+M+'.'+(+m+1)+'.0';}else if(pr){debug('replaceTilde pr',pr);ret='>='+M+'.'+m+'.'+p+'-'+pr+' <'+M+'.'+(+m+1)+'.0';}else{ret='>='+M+'.'+m+'.'+p+' <'+M+'.'+(+m+1)+'.0';}debug('tilde return',ret);return ret;});}function replaceCarets(comp,options){return comp.trim().split(/\s+/).map(function(comp){return replaceCaret(comp,options);}).join(' ');}function replaceCaret(comp,options){debug('caret',comp,options);var r=options.loose?safeRe[t.CARETLOOSE]:safeRe[t.CARET];return comp.replace(r,function(_,M,m,p,pr){debug('caret',comp,_,M,m,p,pr);var ret;if(isX(M)){ret='';}else if(isX(m)){ret='>='+M+'.0.0 <'+(+M+1)+'.0.0';}else if(isX(p)){if(M==='0'){ret='>='+M+'.'+m+'.0 <'+M+'.'+(+m+1)+'.0';}else{ret='>='+M+'.'+m+'.0 <'+(+M+1)+'.0.0';}}else if(pr){debug('replaceCaret pr',pr);if(M==='0'){if(m==='0'){ret='>='+M+'.'+m+'.'+p+'-'+pr+' <'+M+'.'+m+'.'+(+p+1);}else{ret='>='+M+'.'+m+'.'+p+'-'+pr+' <'+M+'.'+(+m+1)+'.0';}}else{ret='>='+M+'.'+m+'.'+p+'-'+pr+' <'+(+M+1)+'.0.0';}}else{debug('no pr');if(M==='0'){if(m==='0'){ret='>='+M+'.'+m+'.'+p+' <'+M+'.'+m+'.'+(+p+1);}else{ret='>='+M+'.'+m+'.'+p+' <'+M+'.'+(+m+1)+'.0';}}else{ret='>='+M+'.'+m+'.'+p+' <'+(+M+1)+'.0.0';}}debug('caret return',ret);return ret;});}function replaceXRanges(comp,options){debug('replaceXRanges',comp,options);return comp.split(/\s+/).map(function(comp){return replaceXRange(comp,options);}).join(' ');}function replaceXRange(comp,options){comp=comp.trim();var r=options.loose?safeRe[t.XRANGELOOSE]:safeRe[t.XRANGE];return comp.replace(r,function(ret,gtlt,M,m,p,pr){debug('xRange',comp,ret,gtlt,M,m,p,pr);var xM=isX(M);var xm=xM||isX(m);var xp=xm||isX(p);var anyX=xp;if(gtlt==='='&&anyX){gtlt='';}pr=options.includePrerelease?'-0':'';if(xM){if(gtlt==='>'||gtlt==='<'){ret='<0.0.0-0';}else{ret='*';}}else if(gtlt&&anyX){if(xm){m=0;}p=0;if(gtlt==='>'){gtlt='>=';if(xm){M=+M+1;m=0;p=0;}else{m=+m+1;p=0;}}else if(gtlt==='<='){gtlt='<';if(xm){M=+M+1;}else{m=+m+1;}}ret=gtlt+M+'.'+m+'.'+p+pr;}else if(xm){ret='>='+M+'.0.0'+pr+' <'+(+M+1)+'.0.0'+pr;}else if(xp){ret='>='+M+'.'+m+'.0'+pr+' <'+M+'.'+(+m+1)+'.0'+pr;}debug('xRange return',ret);return ret;});}function replaceStars(comp,options){debug('replaceStars',comp,options);return comp.trim().replace(safeRe[t.STAR],'');}function hyphenReplace($0,from,fM,fm,fp,fpr,fb,to,tM,tm,tp,tpr,tb){if(isX(fM)){from='';}else if(isX(fm)){from='>='+fM+'.0.0';}else if(isX(fp)){from='>='+fM+'.'+fm+'.0';}else{from='>='+from;}if(isX(tM)){to='';}else if(isX(tm)){to='<'+(+tM+1)+'.0.0';}else if(isX(tp)){to='<'+tM+'.'+(+tm+1)+'.0';}else if(tpr){to='<='+tM+'.'+tm+'.'+tp+'-'+tpr;}else{to='<='+to;}return(from+' '+to).trim();}Range.prototype.test=function(version){if(!version){return false;}if(typeof version==='string'){try{version=new SemVer(version,this.options);}catch(er){return false;}}for(var i=0;i<this.set.length;i++){if(testSet(this.set[i],version,this.options)){return true;}}return false;};function testSet(set,version,options){for(var i=0;i<set.length;i++){if(!set[i].test(version)){return false;}}if(version.prerelease.length&&!options.includePrerelease){for(i=0;i<set.length;i++){debug(set[i].semver);if(set[i].semver===ANY){continue;}if(set[i].semver.prerelease.length>0){var allowed=set[i].semver;if(allowed.major===version.major&&allowed.minor===version.minor&&allowed.patch===version.patch){return true;}}}return false;}return true;}exports.satisfies=satisfies;function satisfies(version,range,options){try{range=new Range(range,options);}catch(er){return false;}return range.test(version);}exports.maxSatisfying=maxSatisfying;function maxSatisfying(versions,range,options){var max=null;var maxSV=null;try{var rangeObj=new Range(range,options);}catch(er){return null;}versions.forEach(function(v){if(rangeObj.test(v)){if(!max||maxSV.compare(v)===-1){max=v;maxSV=new SemVer(max,options);}}});return max;}exports.minSatisfying=minSatisfying;function minSatisfying(versions,range,options){var min=null;var minSV=null;try{var rangeObj=new Range(range,options);}catch(er){return null;}versions.forEach(function(v){if(rangeObj.test(v)){if(!min||minSV.compare(v)===1){min=v;minSV=new SemVer(min,options);}}});return min;}exports.minVersion=minVersion;function minVersion(range,loose){range=new Range(range,loose);var minver=new SemVer('0.0.0');if(range.test(minver)){return minver;}minver=new SemVer('0.0.0-0');if(range.test(minver)){return minver;}minver=null;for(var i=0;i<range.set.length;++i){var comparators=range.set[i];comparators.forEach(function(comparator){var compver=new SemVer(comparator.semver.version);switch(comparator.operator){case'>':if(compver.prerelease.length===0){compver.patch++;}else{compver.prerelease.push(0);}compver.raw=compver.format();case'':case'>=':if(!minver||gt(minver,compver)){minver=compver;}break;case'<':case'<=':break;default:throw new Error('Unexpected operation: '+comparator.operator);}});}if(minver&&range.test(minver)){return minver;}return null;}exports.validRange=validRange;function validRange(range,options){try{return new Range(range,options).range||'*';}catch(er){return null;}}exports.ltr=ltr;function ltr(version,range,options){return outside(version,range,'<',options);}exports.gtr=gtr;function gtr(version,range,options){return outside(version,range,'>',options);}exports.outside=outside;function outside(version,range,hilo,options){version=new SemVer(version,options);range=new Range(range,options);var gtfn,ltefn,ltfn,comp,ecomp;switch(hilo){case'>':gtfn=gt;ltefn=lte;ltfn=lt;comp='>';ecomp='>=';break;case'<':gtfn=lt;ltefn=gte;ltfn=gt;comp='<';ecomp='<=';break;default:throw new TypeError('Must provide a hilo val of "<" or ">"');}if(satisfies(version,range,options)){return false;}for(var i=0;i<range.set.length;++i){var comparators=range.set[i];var high=null;var low=null;comparators.forEach(function(comparator){if(comparator.semver===ANY){comparator=new Comparator('>=0.0.0');}high=high||comparator;low=low||comparator;if(gtfn(comparator.semver,high.semver,options)){high=comparator;}else if(ltfn(comparator.semver,low.semver,options)){low=comparator;}});if(high.operator===comp||high.operator===ecomp){return false;}if((!low.operator||low.operator===comp)&&ltefn(version,low.semver)){return false;}else if(low.operator===ecomp&&ltfn(version,low.semver)){return false;}}return true;}exports.prerelease=prerelease;function prerelease(version,options){var parsed=parse(version,options);return parsed&&parsed.prerelease.length?parsed.prerelease:null;}exports.intersects=intersects;function intersects(r1,r2,options){r1=new Range(r1,options);r2=new Range(r2,options);return r1.intersects(r2);}exports.coerce=coerce;function coerce(version,options){if(version instanceof SemVer){return version;}if(typeof version==='number'){version=String(version);}if(typeof version!=='string'){return null;}options=options||{};var match=null;if(!options.rtl){match=version.match(safeRe[t.COERCE]);}else{var next;while((next=safeRe[t.COERCERTL].exec(version))&&(!match||match.index+match[0].length!==version.length)){if(!match||next.index+next[0].length!==match.index+match[0].length){match=next;}safeRe[t.COERCERTL].lastIndex=next.index+next[1].length+next[2].length;}safeRe[t.COERCERTL].lastIndex=-1;}if(match===null){return null;}return parse(match[2]+'.'+(match[3]||'0')+'.'+(match[4]||'0'),options);}})(semver$a,semver$a.exports);return semver$a.exports;}function bool$7(value){if(value==null)return false;return value&&value!=="false"&&value!=="0";}var semver$9=bool$7(browser$1$1.env["BABEL_8_BREAKING"])?requireSemver$2():requireSemver$2();var cloneNode$6=cloneNode$j,interpreterDirective=interpreterDirective$1;var errorVisitor={enter:function enter(path,state){var loc=path.node.loc;if(loc){state.loc=loc;path.stop();}}};var File=function(){function File(options,_ref){var _this=this;var code=_ref.code,ast=_ref.ast,inputMap=_ref.inputMap;this._map=new Map();this.opts=void 0;this.declarations={};this.path=void 0;this.ast=void 0;this.scope=void 0;this.metadata={};this.code="";this.inputMap=void 0;this.hub={file:this,getCode:function getCode(){return _this.code;},getScope:function getScope(){return _this.scope;},addHelper:this.addHelper.bind(this),buildError:this.buildCodeFrameError.bind(this)};this.opts=options;this.code=code;this.ast=ast;this.inputMap=inputMap;this.path=NodePath.get({hub:this.hub,parentPath:null,parent:this.ast,container:this.ast,key:"program"}).setContext();this.scope=this.path.scope;}var _proto=File.prototype;_proto.set=function set(key,val){{if(key==="helpersNamespace"){throw new Error("Babel 7.0.0-beta.56 has dropped support for the 'helpersNamespace' utility."+"If you are using @babel/plugin-external-helpers you will need to use a newer "+"version than the one you currently have installed. "+"If you have your own implementation, you'll want to explore using 'helperGenerator' "+"alongside 'file.availableHelper()'.");}}this._map.set(key,val);};_proto.get=function get(key){return this._map.get(key);};_proto.has=function has(key){return this._map.has(key);};_proto.getModuleName=function getModuleName$1(){return getModuleName(this.opts,this.opts);};_proto.availableHelper=function availableHelper(name,versionRange){var minVersion$1;try{minVersion$1=minVersion(name);}catch(err){if(err.code!=="BABEL_HELPER_UNKNOWN")throw err;return false;}if(typeof versionRange!=="string")return true;if(semver$9.valid(versionRange))versionRange="^"+versionRange;{return!semver$9.intersects("<"+minVersion$1,versionRange)&&!semver$9.intersects(">=8.0.0",versionRange);}};_proto.addHelper=function addHelper(name){var _this2=this;var declar=this.declarations[name];if(declar)return cloneNode$6(declar);var generator=this.get("helperGenerator");if(generator){var res=generator(name);if(res)return res;}ensure(name,File);var uid=this.declarations[name]=this.scope.generateUidIdentifier(name);var dependencies={};for(var _iterator=_createForOfIteratorHelperLoose(getDependencies(name)),_step;!(_step=_iterator()).done;){var dep=_step.value;dependencies[dep]=this.addHelper(dep);}var _helpers$get=get$1(name,function(dep){return dependencies[dep];},uid,Object.keys(this.scope.getAllBindings())),nodes=_helpers$get.nodes,globals=_helpers$get.globals;globals.forEach(function(name){if(_this2.path.scope.hasBinding(name,true)){_this2.path.scope.rename(name);}});nodes.forEach(function(node){node._compact=true;});var added=this.path.unshiftContainer("body",nodes);for(var _iterator2=_createForOfIteratorHelperLoose(added),_step2;!(_step2=_iterator2()).done;){var path=_step2.value;if(path.isVariableDeclaration())this.scope.registerDeclaration(path);}return uid;};_proto.buildCodeFrameError=function buildCodeFrameError(node,msg,_Error){if(_Error===void 0){_Error=SyntaxError;}var loc=node==null?void 0:node.loc;if(!loc&&node){var state={loc:null};traverse(node,errorVisitor,this.scope,state);loc=state.loc;var txt="This is an error on an internal node. Probably an internal error.";if(loc)txt+=" Location has been estimated.";msg+=" ("+txt+")";}if(loc){var _this$opts$highlightC=this.opts.highlightCode,highlightCode=_this$opts$highlightC===void 0?true:_this$opts$highlightC;msg+="\n"+codeFrameColumns(this.code,{start:{line:loc.start.line,column:loc.start.column+1},end:loc.end&&loc.start.line===loc.end.line?{line:loc.end.line,column:loc.end.column+1}:undefined},{highlightCode:highlightCode});}return new _Error(msg);};_createClass(File,[{key:"shebang",get:function get(){var interpreter=this.path.node.interpreter;return interpreter?interpreter.value:"";},set:function set(value){if(value){this.path.get("interpreter").replaceWith(interpreterDirective(value));}else{this.path.get("interpreter").remove();}}}]);return File;}();{File.prototype.addImport=function addImport(){throw new Error("This API has been removed. If you're looking for this "+"functionality in Babel 7, you should import the "+"'@babel/helper-module-imports' module and use the functions exposed "+" from that module, such as 'addNamed' or 'addDefault'.");};File.prototype.addTemplateObject=function addTemplateObject(){throw new Error("This function has been moved into the template literal transform itself.");};}var _templateObject$x;var arrayExpression=arrayExpression$1,assignmentExpression$5=assignmentExpression$d,binaryExpression$2=binaryExpression$5,blockStatement$1=blockStatement$6,callExpression$6=callExpression$d,cloneNode$5=cloneNode$j,conditionalExpression$2=conditionalExpression$5,exportNamedDeclaration=exportNamedDeclaration$2,exportSpecifier=exportSpecifier$2,expressionStatement=expressionStatement$a,functionExpression$1=functionExpression$2,identifier$4=identifier$j,memberExpression$6=memberExpression$c,objectExpression$1=objectExpression$3,program=program$3,stringLiteral$2=stringLiteral$8,unaryExpression$1=unaryExpression$6,variableDeclaration$1=variableDeclaration$8,variableDeclarator$1=variableDeclarator$8;var buildUmdWrapper=function buildUmdWrapper(replacements){return template$1.statement(_templateObject$x||(_templateObject$x=_taggedTemplateLiteralLoose(["\n    (function (root, factory) {\n      if (typeof define === \"function\" && define.amd) {\n        define(AMD_ARGUMENTS, factory);\n      } else if (typeof exports === \"object\") {\n        factory(COMMON_ARGUMENTS);\n      } else {\n        factory(BROWSER_ARGUMENTS);\n      }\n    })(UMD_ROOT, function (FACTORY_PARAMETERS) {\n      FACTORY_BODY\n    });\n  "])))(replacements);};function buildGlobal(allowlist){var namespace=identifier$4("babelHelpers");var body=[];var container=functionExpression$1(null,[identifier$4("global")],blockStatement$1(body));var tree=program([expressionStatement(callExpression$6(container,[conditionalExpression$2(binaryExpression$2("===",unaryExpression$1("typeof",identifier$4("global")),stringLiteral$2("undefined")),identifier$4("self"),identifier$4("global"))]))]);body.push(variableDeclaration$1("var",[variableDeclarator$1(namespace,assignmentExpression$5("=",memberExpression$6(identifier$4("global"),namespace),objectExpression$1([])))]));buildHelpers(body,namespace,allowlist);return tree;}function buildModule(allowlist){var body=[];var refs=buildHelpers(body,null,allowlist);body.unshift(exportNamedDeclaration(null,Object.keys(refs).map(function(name){return exportSpecifier(cloneNode$5(refs[name]),identifier$4(name));})));return program(body,[],"module");}function buildUmd(allowlist){var namespace=identifier$4("babelHelpers");var body=[];body.push(variableDeclaration$1("var",[variableDeclarator$1(namespace,identifier$4("global"))]));buildHelpers(body,namespace,allowlist);return program([buildUmdWrapper({FACTORY_PARAMETERS:identifier$4("global"),BROWSER_ARGUMENTS:assignmentExpression$5("=",memberExpression$6(identifier$4("root"),namespace),objectExpression$1([])),COMMON_ARGUMENTS:identifier$4("exports"),AMD_ARGUMENTS:arrayExpression([stringLiteral$2("exports")]),FACTORY_BODY:body,UMD_ROOT:identifier$4("this")})]);}function buildVar(allowlist){var namespace=identifier$4("babelHelpers");var body=[];body.push(variableDeclaration$1("var",[variableDeclarator$1(namespace,objectExpression$1([]))]));var tree=program(body);buildHelpers(body,namespace,allowlist);body.push(expressionStatement(namespace));return tree;}function buildHelpers(body,namespace,allowlist){var getHelperReference=function getHelperReference(name){return namespace?memberExpression$6(namespace,identifier$4(name)):identifier$4("_"+name);};var refs={};list.forEach(function(name){if(allowlist&&allowlist.indexOf(name)<0)return;var ref=refs[name]=getHelperReference(name);ensure(name,File);var _helpers$get=get$1(name,getHelperReference,ref),nodes=_helpers$get.nodes;body.push.apply(body,_toConsumableArray(nodes));});return refs;}function babelBuildExternalHelpers(allowlist,outputType){if(outputType===void 0){outputType="global";}var tree;var build={global:buildGlobal,module:buildModule,umd:buildUmd,"var":buildVar}[outputType];if(build){tree=build(allowlist);}else{throw new Error("Unsupported output type "+outputType);}return generate$1(tree).code;}var _marked$9=_regeneratorRuntime().mark(findPackageData),_marked2$7=_regeneratorRuntime().mark(findRelativeConfig),_marked3$4=_regeneratorRuntime().mark(findRootConfig),_marked4$2=_regeneratorRuntime().mark(loadConfig$1),_marked5=_regeneratorRuntime().mark(resolveShowConfigPath);function findConfigUpwards(rootDir){return null;}function findPackageData(filepath){return _regeneratorRuntime().wrap(function findPackageData$(_context){while(1)switch(_context.prev=_context.next){case 0:return _context.abrupt("return",{filepath:filepath,directories:[],pkg:null,isPackage:false});case 1:case"end":return _context.stop();}},_marked$9);}function findRelativeConfig(pkgData,envName,caller){return _regeneratorRuntime().wrap(function findRelativeConfig$(_context2){while(1)switch(_context2.prev=_context2.next){case 0:return _context2.abrupt("return",{config:null,ignore:null});case 1:case"end":return _context2.stop();}},_marked2$7);}function findRootConfig(dirname,envName,caller){return _regeneratorRuntime().wrap(function findRootConfig$(_context3){while(1)switch(_context3.prev=_context3.next){case 0:return _context3.abrupt("return",null);case 1:case"end":return _context3.stop();}},_marked3$4);}function loadConfig$1(name,dirname,envName,caller){return _regeneratorRuntime().wrap(function loadConfig$(_context4){while(1)switch(_context4.prev=_context4.next){case 0:throw new Error("Cannot load "+name+" relative to "+dirname+" in a browser");case 1:case"end":return _context4.stop();}},_marked4$2);}function resolveShowConfigPath(dirname){return _regeneratorRuntime().wrap(function resolveShowConfigPath$(_context5){while(1)switch(_context5.prev=_context5.next){case 0:return _context5.abrupt("return",null);case 1:case"end":return _context5.stop();}},_marked5);}var ROOT_CONFIG_FILENAMES=[];function resolvePlugin(name,dirname){return null;}function resolvePreset(name,dirname){return null;}function loadPlugin(name,dirname){throw new Error("Cannot load plugin "+name+" relative to "+dirname+" in a browser");}function loadPreset(name,dirname){throw new Error("Cannot load preset "+name+" relative to "+dirname+" in a browser");}function getEnv(defaultValue){if(defaultValue===void 0){defaultValue="development";}return browser$1$1.env.BABEL_ENV||"production"||defaultValue;}var GENSYNC_START=Symbol["for"]("gensync:v1:start");var GENSYNC_SUSPEND=Symbol["for"]("gensync:v1:suspend");var GENSYNC_EXPECTED_START="GENSYNC_EXPECTED_START";var GENSYNC_EXPECTED_SUSPEND="GENSYNC_EXPECTED_SUSPEND";var GENSYNC_OPTIONS_ERROR="GENSYNC_OPTIONS_ERROR";var GENSYNC_RACE_NONEMPTY="GENSYNC_RACE_NONEMPTY";var GENSYNC_ERRBACK_NO_CALLBACK="GENSYNC_ERRBACK_NO_CALLBACK";var gensync=Object.assign(function gensync(optsOrFn){var genFn=optsOrFn;if(typeof optsOrFn!=="function"){genFn=newGenerator(optsOrFn);}else{genFn=wrapGenerator(optsOrFn);}return Object.assign(genFn,makeFunctionAPI(genFn));},{all:buildOperation({name:"all",arity:1,sync:function sync(args){var items=Array.from(args[0]);return items.map(function(item){return evaluateSync(item);});},async:function async(args,resolve,reject){var items=Array.from(args[0]);if(items.length===0){Promise.resolve().then(function(){return resolve([]);});return;}var count=0;var results=items.map(function(){return undefined;});items.forEach(function(item,i){evaluateAsync(item,function(val){results[i]=val;count+=1;if(count===results.length)resolve(results);},reject);});}}),race:buildOperation({name:"race",arity:1,sync:function sync(args){var items=Array.from(args[0]);if(items.length===0){throw makeError("Must race at least 1 item",GENSYNC_RACE_NONEMPTY);}return evaluateSync(items[0]);},async:function async(args,resolve,reject){var items=Array.from(args[0]);if(items.length===0){throw makeError("Must race at least 1 item",GENSYNC_RACE_NONEMPTY);}for(var _i=0,_items=items;_i<_items.length;_i++){var item=_items[_i];evaluateAsync(item,resolve,reject);}}})});function makeFunctionAPI(genFn){var fns={sync:function sync(){for(var _len=arguments.length,args=new Array(_len),_key=0;_key<_len;_key++){args[_key]=arguments[_key];}return evaluateSync(genFn.apply(this,args));},async:function async(){var _this=this;for(var _len2=arguments.length,args=new Array(_len2),_key2=0;_key2<_len2;_key2++){args[_key2]=arguments[_key2];}return new Promise(function(resolve,reject){evaluateAsync(genFn.apply(_this,args),resolve,reject);});},errback:function errback(){for(var _len3=arguments.length,args=new Array(_len3),_key3=0;_key3<_len3;_key3++){args[_key3]=arguments[_key3];}var cb=args.pop();if(typeof cb!=="function"){throw makeError("Asynchronous function called without callback",GENSYNC_ERRBACK_NO_CALLBACK);}var gen;try{gen=genFn.apply(this,args);}catch(err){cb(err);return;}evaluateAsync(gen,function(val){return cb(undefined,val);},function(err){return cb(err);});}};return fns;}function assertTypeof(type,name,value,allowUndefined){if(_typeof(value)===type||allowUndefined&&typeof value==="undefined"){return;}var msg;if(allowUndefined){msg="Expected opts."+name+" to be either a "+type+", or undefined.";}else{msg="Expected opts."+name+" to be a "+type+".";}throw makeError(msg,GENSYNC_OPTIONS_ERROR);}function makeError(msg,code){return Object.assign(new Error(msg),{code:code});}function newGenerator(_ref){var name=_ref.name,arity=_ref.arity,_sync=_ref.sync,_async=_ref.async,errback=_ref.errback;assertTypeof("string","name",name,true);assertTypeof("number","arity",arity,true);assertTypeof("function","sync",_sync);assertTypeof("function","async",_async,true);assertTypeof("function","errback",errback,true);if(_async&&errback){throw makeError("Expected one of either opts.async or opts.errback, but got _both_.",GENSYNC_OPTIONS_ERROR);}if(typeof name!=="string"){var fnName;if(errback&&errback.name&&errback.name!=="errback"){fnName=errback.name;}if(_async&&_async.name&&_async.name!=="async"){fnName=_async.name.replace(/Async$/,"");}if(_sync&&_sync.name&&_sync.name!=="sync"){fnName=_sync.name.replace(/Sync$/,"");}if(typeof fnName==="string"){name=fnName;}}if(typeof arity!=="number"){arity=_sync.length;}return buildOperation({name:name,arity:arity,sync:function sync(args){return _sync.apply(this,args);},async:function async(args,resolve,reject){if(_async){_async.apply(this,args).then(resolve,reject);}else if(errback){errback.call.apply(errback,[this].concat(_toConsumableArray(args),[function(err,value){if(err==null)resolve(value);else reject(err);}]));}else{resolve(_sync.apply(this,args));}}});}function wrapGenerator(genFn){return setFunctionMetadata(genFn.name,genFn.length,function(){for(var _len4=arguments.length,args=new Array(_len4),_key4=0;_key4<_len4;_key4++){args[_key4]=arguments[_key4];}return genFn.apply(this,args);});}function buildOperation(_ref2){var name=_ref2.name,arity=_ref2.arity,sync=_ref2.sync,async=_ref2.async;return setFunctionMetadata(name,arity,_regeneratorRuntime().mark(function _callee(){var resume,_len5,args,_key5,res,result,_args=arguments;return _regeneratorRuntime().wrap(function _callee$(_context){while(1)switch(_context.prev=_context.next){case 0:_context.next=2;return GENSYNC_START;case 2:resume=_context.sent;for(_len5=_args.length,args=new Array(_len5),_key5=0;_key5<_len5;_key5++){args[_key5]=_args[_key5];}if(resume){_context.next=7;break;}res=sync.call(this,args);return _context.abrupt("return",res);case 7:try{async.call(this,args,function(value){if(result)return;result={value:value};resume();},function(err){if(result)return;result={err:err};resume();});}catch(err){result={err:err};resume();}_context.next=10;return GENSYNC_SUSPEND;case 10:if(!result.hasOwnProperty("err")){_context.next=12;break;}throw result.err;case 12:return _context.abrupt("return",result.value);case 13:case"end":return _context.stop();}},_callee,this);}));}function evaluateSync(gen){var value;while(!(_gen$next=gen.next(),value=_gen$next.value,_gen$next).done){var _gen$next;assertStart(value,gen);}return value;}function evaluateAsync(gen,resolve,reject){(function step(){try{var value;var _loop=function _loop(){assertStart(value,gen);var sync=true;var didSyncResume=false;var out=gen.next(function(){if(sync){didSyncResume=true;}else{step();}});sync=false;assertSuspend(out,gen);if(!didSyncResume){return{v:void 0};}},_ret;while(!(_gen$next2=gen.next(),value=_gen$next2.value,_gen$next2).done){var _gen$next2;_ret=_loop();if(_ret)return _ret.v;}return resolve(value);}catch(err){return reject(err);}})();}function assertStart(value,gen){if(value===GENSYNC_START)return;throwError(gen,makeError("Got unexpected yielded value in gensync generator: "+JSON.stringify(value)+". Did you perhaps mean to use 'yield*' instead of 'yield'?",GENSYNC_EXPECTED_START));}function assertSuspend(_ref3,gen){var value=_ref3.value,done=_ref3.done;if(!done&&value===GENSYNC_SUSPEND)return;throwError(gen,makeError(done?"Unexpected generator completion. If you get this, it is probably a gensync bug.":"Expected GENSYNC_SUSPEND, got "+JSON.stringify(value)+". If you get this, it is probably a gensync bug.",GENSYNC_EXPECTED_SUSPEND));}function throwError(gen,err){if(gen["throw"])gen["throw"](err);throw err;}function setFunctionMetadata(name,arity,fn){if(typeof name==="string"){var nameDesc=Object.getOwnPropertyDescriptor(fn,"name");if(!nameDesc||nameDesc.configurable){Object.defineProperty(fn,"name",Object.assign(nameDesc||{},{configurable:true,value:name}));}}if(typeof arity==="number"){var lengthDesc=Object.getOwnPropertyDescriptor(fn,"length");if(!lengthDesc||lengthDesc.configurable){Object.defineProperty(fn,"length",Object.assign(lengthDesc||{},{configurable:true,value:arity}));}}return fn;}var runGenerator=gensync(_regeneratorRuntime().mark(function _callee(item){return _regeneratorRuntime().wrap(function _callee$(_context){while(1)switch(_context.prev=_context.next){case 0:return _context.delegateYield(item,"t0",1);case 1:return _context.abrupt("return",_context.t0);case 2:case"end":return _context.stop();}},_callee);}));var isAsync=gensync({sync:function sync(){return false;},errback:function errback(cb){return cb(null,true);}});function maybeAsync(fn,message){return gensync({sync:function sync(){for(var _len=arguments.length,args=new Array(_len),_key=0;_key<_len;_key++){args[_key]=arguments[_key];}var result=fn.apply(this,args);if(isThenable$1(result))throw new Error(message);return result;},async:function async(){for(var _len2=arguments.length,args=new Array(_len2),_key2=0;_key2<_len2;_key2++){args[_key2]=arguments[_key2];}return Promise.resolve(fn.apply(this,args));}});}var withKind=gensync({sync:function sync(cb){return cb("sync");},async:function(){var _async=_asyncToGenerator(_regeneratorRuntime().mark(function _callee2(cb){return _regeneratorRuntime().wrap(function _callee2$(_context2){while(1)switch(_context2.prev=_context2.next){case 0:return _context2.abrupt("return",cb("async"));case 1:case"end":return _context2.stop();}},_callee2);}));function async(_x){return _async.apply(this,arguments);}return async;}()});function forwardAsync(action,cb){var g=gensync(action);return withKind(function(kind){var adapted=g[kind];return cb(adapted);});}var onFirstPause=gensync({name:"onFirstPause",arity:2,sync:function sync(item){return runGenerator.sync(item);},errback:function errback(item,firstPause,cb){var completed=false;runGenerator.errback(item,function(err,value){completed=true;cb(err,value);});if(!completed){firstPause();}}});var waitFor=gensync({sync:function sync(x){return x;},async:function(){var _async2=_asyncToGenerator(_regeneratorRuntime().mark(function _callee3(x){return _regeneratorRuntime().wrap(function _callee3$(_context3){while(1)switch(_context3.prev=_context3.next){case 0:return _context3.abrupt("return",x);case 1:case"end":return _context3.stop();}},_callee3);}));function async(_x2){return _async2.apply(this,arguments);}return async;}()});function isThenable$1(val){return!!val&&(_typeof(val)==="object"||typeof val==="function")&&!!val.then&&typeof val.then==="function";}function mergeOptions(target,source){for(var _i=0,_Object$keys=Object.keys(source);_i<_Object$keys.length;_i++){var k=_Object$keys[_i];if((k==="parserOpts"||k==="generatorOpts"||k==="assumptions")&&source[k]){var parserOpts=source[k];var targetObj=target[k]||(target[k]={});mergeDefaultFields(targetObj,parserOpts);}else{var val=source[k];if(val!==undefined)target[k]=val;}}}function mergeDefaultFields(target,source){for(var _i2=0,_arr=Object.keys(source);_i2<_arr.length;_i2++){var k=_arr[_i2];var val=source[k];if(val!==undefined)target[k]=val;}}function isIterableIterator(value){return!!value&&typeof value.next==="function"&&typeof value[Symbol.iterator]==="function";}function finalize(deepArr){return Object.freeze(deepArr);}function flattenToSet(arr){var result=new Set();var stack=[arr];while(stack.length>0){for(var _iterator=_createForOfIteratorHelperLoose(stack.pop()),_step;!(_step=_iterator()).done;){var el=_step.value;if(Array.isArray(el))stack.push(el);else result.add(el);}}return result;}var Plugin=_createClass(function Plugin(plugin,options,key,externalDependencies){if(externalDependencies===void 0){externalDependencies=finalize([]);}this.key=void 0;this.manipulateOptions=void 0;this.post=void 0;this.pre=void 0;this.visitor=void 0;this.parserOverride=void 0;this.generatorOverride=void 0;this.options=void 0;this.externalDependencies=void 0;this.key=plugin.name||key;this.manipulateOptions=plugin.manipulateOptions;this.post=plugin.post;this.pre=plugin.pre;this.visitor=plugin.visitor||{};this.parserOverride=plugin.parserOverride;this.generatorOverride=plugin.generatorOverride;this.options=options;this.externalDependencies=externalDependencies;});function once(fn){var result;var resultP;var promiseReferenced=false;return _regeneratorRuntime().mark(function _callee(){var resolve,reject;return _regeneratorRuntime().wrap(function _callee$(_context){while(1)switch(_context.prev=_context.next){case 0:if(result){_context.next=32;break;}if(!resultP){_context.next=5;break;}promiseReferenced=true;return _context.delegateYield(waitFor(resultP),"t0",4);case 4:return _context.abrupt("return",_context.t0);case 5:return _context.delegateYield(isAsync(),"t1",6);case 6:if(_context.t1){_context.next=18;break;}_context.prev=7;return _context.delegateYield(fn(),"t2",9);case 9:_context.t3=_context.t2;result={ok:true,value:_context.t3};_context.next=16;break;case 13:_context.prev=13;_context.t4=_context["catch"](7);result={ok:false,value:_context.t4};case 16:_context.next=32;break;case 18:resultP=new Promise(function(res,rej){resolve=res;reject=rej;});_context.prev=19;return _context.delegateYield(fn(),"t5",21);case 21:_context.t6=_context.t5;result={ok:true,value:_context.t6};resultP=null;if(promiseReferenced)resolve(result.value);_context.next=32;break;case 27:_context.prev=27;_context.t7=_context["catch"](19);result={ok:false,value:_context.t7};resultP=null;if(promiseReferenced)reject(_context.t7);case 32:if(!result.ok){_context.next=36;break;}return _context.abrupt("return",result.value);case 36:throw result.value;case 37:case"end":return _context.stop();}},_callee,null,[[7,13],[19,27]]);});}var _marked$8=_regeneratorRuntime().mark(genTrue),_marked2$6=_regeneratorRuntime().mark(getCachedValue),_marked3$3=_regeneratorRuntime().mark(getCachedValueOrWait);var synchronize=function synchronize(gen){return gensync(gen).sync;};function genTrue(){return _regeneratorRuntime().wrap(function genTrue$(_context){while(1)switch(_context.prev=_context.next){case 0:return _context.abrupt("return",true);case 1:case"end":return _context.stop();}},_marked$8);}function makeWeakCache(handler){return makeCachedFunction(WeakMap,handler);}function makeWeakCacheSync(handler){return synchronize(makeWeakCache(handler));}function makeStrongCache(handler){return makeCachedFunction(Map,handler);}function makeStrongCacheSync(handler){return synchronize(makeStrongCache(handler));}function makeCachedFunction(CallCache,handler){var callCacheSync=new CallCache();var callCacheAsync=new CallCache();var futureCache=new CallCache();return _regeneratorRuntime().mark(function cachedFunction(arg,data){var asyncContext,callCache,cached,cache,handlerResult,finishLock,value;return _regeneratorRuntime().wrap(function cachedFunction$(_context2){while(1)switch(_context2.prev=_context2.next){case 0:return _context2.delegateYield(isAsync(),"t0",1);case 1:asyncContext=_context2.t0;callCache=asyncContext?callCacheAsync:callCacheSync;return _context2.delegateYield(getCachedValueOrWait(asyncContext,callCache,futureCache,arg,data),"t1",4);case 4:cached=_context2.t1;if(!cached.valid){_context2.next=7;break;}return _context2.abrupt("return",cached.value);case 7:cache=new CacheConfigurator(data);handlerResult=handler(arg,cache);if(!isIterableIterator(handlerResult)){_context2.next=14;break;}return _context2.delegateYield(onFirstPause(handlerResult,function(){finishLock=setupAsyncLocks(cache,futureCache,arg);}),"t2",11);case 11:value=_context2.t2;_context2.next=15;break;case 14:value=handlerResult;case 15:updateFunctionCache(callCache,cache,arg,value);if(finishLock){futureCache["delete"](arg);finishLock.release(value);}return _context2.abrupt("return",value);case 18:case"end":return _context2.stop();}},cachedFunction);});}function getCachedValue(cache,arg,data){var cachedValue,_iterator,_step,_step$value,_value,valid;return _regeneratorRuntime().wrap(function getCachedValue$(_context3){while(1)switch(_context3.prev=_context3.next){case 0:cachedValue=cache.get(arg);if(!cachedValue){_context3.next=10;break;}_iterator=_createForOfIteratorHelperLoose(cachedValue);case 3:if((_step=_iterator()).done){_context3.next=10;break;}_step$value=_step.value,_value=_step$value.value,valid=_step$value.valid;return _context3.delegateYield(valid(data),"t0",6);case 6:if(!_context3.t0){_context3.next=8;break;}return _context3.abrupt("return",{valid:true,value:_value});case 8:_context3.next=3;break;case 10:return _context3.abrupt("return",{valid:false,value:null});case 11:case"end":return _context3.stop();}},_marked2$6);}function getCachedValueOrWait(asyncContext,callCache,futureCache,arg,data){var cached,_cached,_value2;return _regeneratorRuntime().wrap(function getCachedValueOrWait$(_context4){while(1)switch(_context4.prev=_context4.next){case 0:return _context4.delegateYield(getCachedValue(callCache,arg,data),"t0",1);case 1:cached=_context4.t0;if(!cached.valid){_context4.next=4;break;}return _context4.abrupt("return",cached);case 4:if(!asyncContext){_context4.next=11;break;}return _context4.delegateYield(getCachedValue(futureCache,arg,data),"t1",6);case 6:_cached=_context4.t1;if(!_cached.valid){_context4.next=11;break;}return _context4.delegateYield(waitFor(_cached.value.promise),"t2",9);case 9:_value2=_context4.t2;return _context4.abrupt("return",{valid:true,value:_value2});case 11:return _context4.abrupt("return",{valid:false,value:null});case 12:case"end":return _context4.stop();}},_marked3$3);}function setupAsyncLocks(config,futureCache,arg){var finishLock=new Lock();updateFunctionCache(futureCache,config,arg,finishLock);return finishLock;}function updateFunctionCache(cache,config,arg,value){if(!config.configured())config.forever();var cachedValue=cache.get(arg);config.deactivate();switch(config.mode()){case"forever":cachedValue=[{value:value,valid:genTrue}];cache.set(arg,cachedValue);break;case"invalidate":cachedValue=[{value:value,valid:config.validator()}];cache.set(arg,cachedValue);break;case"valid":if(cachedValue){cachedValue.push({value:value,valid:config.validator()});}else{cachedValue=[{value:value,valid:config.validator()}];cache.set(arg,cachedValue);}}}var CacheConfigurator=function(){function CacheConfigurator(data){this._active=true;this._never=false;this._forever=false;this._invalidate=false;this._configured=false;this._pairs=[];this._data=void 0;this._data=data;}var _proto=CacheConfigurator.prototype;_proto.simple=function simple(){return makeSimpleConfigurator(this);};_proto.mode=function mode(){if(this._never)return"never";if(this._forever)return"forever";if(this._invalidate)return"invalidate";return"valid";};_proto.forever=function forever(){if(!this._active){throw new Error("Cannot change caching after evaluation has completed.");}if(this._never){throw new Error("Caching has already been configured with .never()");}this._forever=true;this._configured=true;};_proto.never=function never(){if(!this._active){throw new Error("Cannot change caching after evaluation has completed.");}if(this._forever){throw new Error("Caching has already been configured with .forever()");}this._never=true;this._configured=true;};_proto.using=function using(handler){var _this=this;if(!this._active){throw new Error("Cannot change caching after evaluation has completed.");}if(this._never||this._forever){throw new Error("Caching has already been configured with .never or .forever()");}this._configured=true;var key=handler(this._data);var fn=maybeAsync(handler,"You appear to be using an async cache handler, but Babel has been called synchronously");if(isThenable$1(key)){return key.then(function(key){_this._pairs.push([key,fn]);return key;});}this._pairs.push([key,fn]);return key;};_proto.invalidate=function invalidate(handler){this._invalidate=true;return this.using(handler);};_proto.validator=function validator(){var pairs=this._pairs;return _regeneratorRuntime().mark(function _callee(data){var _iterator2,_step2,_step2$value,key,fn;return _regeneratorRuntime().wrap(function _callee$(_context5){while(1)switch(_context5.prev=_context5.next){case 0:_iterator2=_createForOfIteratorHelperLoose(pairs);case 1:if((_step2=_iterator2()).done){_context5.next=10;break;}_step2$value=_slicedToArray(_step2.value,2),key=_step2$value[0],fn=_step2$value[1];_context5.t0=key;return _context5.delegateYield(fn(data),"t1",5);case 5:_context5.t2=_context5.t1;if(!(_context5.t0!==_context5.t2)){_context5.next=8;break;}return _context5.abrupt("return",false);case 8:_context5.next=1;break;case 10:return _context5.abrupt("return",true);case 11:case"end":return _context5.stop();}},_callee);});};_proto.deactivate=function deactivate(){this._active=false;};_proto.configured=function configured(){return this._configured;};return _createClass(CacheConfigurator);}();function makeSimpleConfigurator(cache){function cacheFn(val){if(typeof val==="boolean"){if(val)cache.forever();else cache.never();return;}return cache.using(function(){return assertSimpleType(val());});}cacheFn.forever=function(){return cache.forever();};cacheFn.never=function(){return cache.never();};cacheFn.using=function(cb){return cache.using(function(){return assertSimpleType(cb());});};cacheFn.invalidate=function(cb){return cache.invalidate(function(){return assertSimpleType(cb());});};return cacheFn;}function assertSimpleType(value){if(isThenable$1(value)){throw new Error("You appear to be using an async cache handler, "+"which your current version of Babel does not support. "+"We may add support for this in the future, "+"but if you're on the most recent version of @babel/core and still "+"seeing this error, then you'll need to synchronously handle your caching logic.");}if(value!=null&&typeof value!=="string"&&typeof value!=="boolean"&&typeof value!=="number"){throw new Error("Cache keys must be either string, boolean, number, null, or undefined.");}return value;}var Lock=function(){function Lock(){var _this2=this;this.released=false;this.promise=void 0;this._resolve=void 0;this.promise=new Promise(function(resolve){_this2._resolve=resolve;});}var _proto2=Lock.prototype;_proto2.release=function release(value){this.released=true;this._resolve(value);};return _createClass(Lock);}();var require$$0$8=[{name:"nodejs",version:"0.2.0",date:"2011-08-26",lts:false,security:false,v8:"2.3.8.0"},{name:"nodejs",version:"0.3.0",date:"2011-08-26",lts:false,security:false,v8:"2.5.1.0"},{name:"nodejs",version:"0.4.0",date:"2011-08-26",lts:false,security:false,v8:"3.1.2.0"},{name:"nodejs",version:"0.5.0",date:"2011-08-26",lts:false,security:false,v8:"3.1.8.25"},{name:"nodejs",version:"0.6.0",date:"2011-11-04",lts:false,security:false,v8:"3.6.6.6"},{name:"nodejs",version:"0.7.0",date:"2012-01-17",lts:false,security:false,v8:"3.8.6.0"},{name:"nodejs",version:"0.8.0",date:"2012-06-22",lts:false,security:false,v8:"3.11.10.10"},{name:"nodejs",version:"0.9.0",date:"2012-07-20",lts:false,security:false,v8:"3.11.10.15"},{name:"nodejs",version:"0.10.0",date:"2013-03-11",lts:false,security:false,v8:"3.14.5.8"},{name:"nodejs",version:"0.11.0",date:"2013-03-28",lts:false,security:false,v8:"3.17.13.0"},{name:"nodejs",version:"0.12.0",date:"2015-02-06",lts:false,security:false,v8:"3.28.73.0"},{name:"nodejs",version:"4.0.0",date:"2015-09-08",lts:false,security:false,v8:"4.5.103.30"},{name:"nodejs",version:"4.1.0",date:"2015-09-17",lts:false,security:false,v8:"4.5.103.33"},{name:"nodejs",version:"4.2.0",date:"2015-10-12",lts:"Argon",security:false,v8:"4.5.103.35"},{name:"nodejs",version:"4.3.0",date:"2016-02-09",lts:"Argon",security:false,v8:"4.5.103.35"},{name:"nodejs",version:"4.4.0",date:"2016-03-08",lts:"Argon",security:false,v8:"4.5.103.35"},{name:"nodejs",version:"4.5.0",date:"2016-08-16",lts:"Argon",security:false,v8:"4.5.103.37"},{name:"nodejs",version:"4.6.0",date:"2016-09-27",lts:"Argon",security:true,v8:"4.5.103.37"},{name:"nodejs",version:"4.7.0",date:"2016-12-06",lts:"Argon",security:false,v8:"4.5.103.43"},{name:"nodejs",version:"4.8.0",date:"2017-02-21",lts:"Argon",security:false,v8:"4.5.103.45"},{name:"nodejs",version:"4.9.0",date:"2018-03-28",lts:"Argon",security:true,v8:"4.5.103.53"},{name:"nodejs",version:"5.0.0",date:"2015-10-29",lts:false,security:false,v8:"4.6.85.28"},{name:"nodejs",version:"5.1.0",date:"2015-11-17",lts:false,security:false,v8:"4.6.85.31"},{name:"nodejs",version:"5.2.0",date:"2015-12-09",lts:false,security:false,v8:"4.6.85.31"},{name:"nodejs",version:"5.3.0",date:"2015-12-15",lts:false,security:false,v8:"4.6.85.31"},{name:"nodejs",version:"5.4.0",date:"2016-01-06",lts:false,security:false,v8:"4.6.85.31"},{name:"nodejs",version:"5.5.0",date:"2016-01-21",lts:false,security:false,v8:"4.6.85.31"},{name:"nodejs",version:"5.6.0",date:"2016-02-09",lts:false,security:false,v8:"4.6.85.31"},{name:"nodejs",version:"5.7.0",date:"2016-02-23",lts:false,security:false,v8:"4.6.85.31"},{name:"nodejs",version:"5.8.0",date:"2016-03-09",lts:false,security:false,v8:"4.6.85.31"},{name:"nodejs",version:"5.9.0",date:"2016-03-16",lts:false,security:false,v8:"4.6.85.31"},{name:"nodejs",version:"5.10.0",date:"2016-04-01",lts:false,security:false,v8:"4.6.85.31"},{name:"nodejs",version:"5.11.0",date:"2016-04-21",lts:false,security:false,v8:"4.6.85.31"},{name:"nodejs",version:"5.12.0",date:"2016-06-23",lts:false,security:false,v8:"4.6.85.32"},{name:"nodejs",version:"6.0.0",date:"2016-04-26",lts:false,security:false,v8:"5.0.71.35"},{name:"nodejs",version:"6.1.0",date:"2016-05-05",lts:false,security:false,v8:"5.0.71.35"},{name:"nodejs",version:"6.2.0",date:"2016-05-17",lts:false,security:false,v8:"5.0.71.47"},{name:"nodejs",version:"6.3.0",date:"2016-07-06",lts:false,security:false,v8:"5.0.71.52"},{name:"nodejs",version:"6.4.0",date:"2016-08-12",lts:false,security:false,v8:"5.0.71.60"},{name:"nodejs",version:"6.5.0",date:"2016-08-26",lts:false,security:false,v8:"5.1.281.81"},{name:"nodejs",version:"6.6.0",date:"2016-09-14",lts:false,security:false,v8:"5.1.281.83"},{name:"nodejs",version:"6.7.0",date:"2016-09-27",lts:false,security:true,v8:"5.1.281.83"},{name:"nodejs",version:"6.8.0",date:"2016-10-12",lts:false,security:false,v8:"5.1.281.84"},{name:"nodejs",version:"6.9.0",date:"2016-10-18",lts:"Boron",security:false,v8:"5.1.281.84"},{name:"nodejs",version:"6.10.0",date:"2017-02-21",lts:"Boron",security:false,v8:"5.1.281.93"},{name:"nodejs",version:"6.11.0",date:"2017-06-06",lts:"Boron",security:false,v8:"5.1.281.102"},{name:"nodejs",version:"6.12.0",date:"2017-11-06",lts:"Boron",security:false,v8:"5.1.281.108"},{name:"nodejs",version:"6.13.0",date:"2018-02-10",lts:"Boron",security:false,v8:"5.1.281.111"},{name:"nodejs",version:"6.14.0",date:"2018-03-28",lts:"Boron",security:true,v8:"5.1.281.111"},{name:"nodejs",version:"6.15.0",date:"2018-11-27",lts:"Boron",security:true,v8:"5.1.281.111"},{name:"nodejs",version:"6.16.0",date:"2018-12-26",lts:"Boron",security:false,v8:"5.1.281.111"},{name:"nodejs",version:"6.17.0",date:"2019-02-28",lts:"Boron",security:true,v8:"5.1.281.111"},{name:"nodejs",version:"7.0.0",date:"2016-10-25",lts:false,security:false,v8:"5.4.500.36"},{name:"nodejs",version:"7.1.0",date:"2016-11-08",lts:false,security:false,v8:"5.4.500.36"},{name:"nodejs",version:"7.2.0",date:"2016-11-22",lts:false,security:false,v8:"5.4.500.43"},{name:"nodejs",version:"7.3.0",date:"2016-12-20",lts:false,security:false,v8:"5.4.500.45"},{name:"nodejs",version:"7.4.0",date:"2017-01-04",lts:false,security:false,v8:"5.4.500.45"},{name:"nodejs",version:"7.5.0",date:"2017-01-31",lts:false,security:false,v8:"5.4.500.48"},{name:"nodejs",version:"7.6.0",date:"2017-02-21",lts:false,security:false,v8:"5.5.372.40"},{name:"nodejs",version:"7.7.0",date:"2017-02-28",lts:false,security:false,v8:"5.5.372.41"},{name:"nodejs",version:"7.8.0",date:"2017-03-29",lts:false,security:false,v8:"5.5.372.43"},{name:"nodejs",version:"7.9.0",date:"2017-04-11",lts:false,security:false,v8:"5.5.372.43"},{name:"nodejs",version:"7.10.0",date:"2017-05-02",lts:false,security:false,v8:"5.5.372.43"},{name:"nodejs",version:"8.0.0",date:"2017-05-30",lts:false,security:false,v8:"5.8.283.41"},{name:"nodejs",version:"8.1.0",date:"2017-06-08",lts:false,security:false,v8:"5.8.283.41"},{name:"nodejs",version:"8.2.0",date:"2017-07-19",lts:false,security:false,v8:"5.8.283.41"},{name:"nodejs",version:"8.3.0",date:"2017-08-08",lts:false,security:false,v8:"6.0.286.52"},{name:"nodejs",version:"8.4.0",date:"2017-08-15",lts:false,security:false,v8:"6.0.286.52"},{name:"nodejs",version:"8.5.0",date:"2017-09-12",lts:false,security:false,v8:"6.0.287.53"},{name:"nodejs",version:"8.6.0",date:"2017-09-26",lts:false,security:false,v8:"6.0.287.53"},{name:"nodejs",version:"8.7.0",date:"2017-10-11",lts:false,security:false,v8:"6.1.534.42"},{name:"nodejs",version:"8.8.0",date:"2017-10-24",lts:false,security:false,v8:"6.1.534.42"},{name:"nodejs",version:"8.9.0",date:"2017-10-31",lts:"Carbon",security:false,v8:"6.1.534.46"},{name:"nodejs",version:"8.10.0",date:"2018-03-06",lts:"Carbon",security:false,v8:"6.2.414.50"},{name:"nodejs",version:"8.11.0",date:"2018-03-28",lts:"Carbon",security:true,v8:"6.2.414.50"},{name:"nodejs",version:"8.12.0",date:"2018-09-10",lts:"Carbon",security:false,v8:"6.2.414.66"},{name:"nodejs",version:"8.13.0",date:"2018-11-20",lts:"Carbon",security:false,v8:"6.2.414.72"},{name:"nodejs",version:"8.14.0",date:"2018-11-27",lts:"Carbon",security:true,v8:"6.2.414.72"},{name:"nodejs",version:"8.15.0",date:"2018-12-26",lts:"Carbon",security:false,v8:"6.2.414.75"},{name:"nodejs",version:"8.16.0",date:"2019-04-16",lts:"Carbon",security:false,v8:"6.2.414.77"},{name:"nodejs",version:"8.17.0",date:"2019-12-17",lts:"Carbon",security:true,v8:"6.2.414.78"},{name:"nodejs",version:"9.0.0",date:"2017-10-31",lts:false,security:false,v8:"6.2.414.32"},{name:"nodejs",version:"9.1.0",date:"2017-11-07",lts:false,security:false,v8:"6.2.414.32"},{name:"nodejs",version:"9.2.0",date:"2017-11-14",lts:false,security:false,v8:"6.2.414.44"},{name:"nodejs",version:"9.3.0",date:"2017-12-12",lts:false,security:false,v8:"6.2.414.46"},{name:"nodejs",version:"9.4.0",date:"2018-01-10",lts:false,security:false,v8:"6.2.414.46"},{name:"nodejs",version:"9.5.0",date:"2018-01-31",lts:false,security:false,v8:"6.2.414.46"},{name:"nodejs",version:"9.6.0",date:"2018-02-21",lts:false,security:false,v8:"6.2.414.46"},{name:"nodejs",version:"9.7.0",date:"2018-03-01",lts:false,security:false,v8:"6.2.414.46"},{name:"nodejs",version:"9.8.0",date:"2018-03-07",lts:false,security:false,v8:"6.2.414.46"},{name:"nodejs",version:"9.9.0",date:"2018-03-21",lts:false,security:false,v8:"6.2.414.46"},{name:"nodejs",version:"9.10.0",date:"2018-03-28",lts:false,security:true,v8:"6.2.414.46"},{name:"nodejs",version:"9.11.0",date:"2018-04-04",lts:false,security:false,v8:"6.2.414.46"},{name:"nodejs",version:"10.0.0",date:"2018-04-24",lts:false,security:false,v8:"6.6.346.24"},{name:"nodejs",version:"10.1.0",date:"2018-05-08",lts:false,security:false,v8:"6.6.346.27"},{name:"nodejs",version:"10.2.0",date:"2018-05-23",lts:false,security:false,v8:"6.6.346.32"},{name:"nodejs",version:"10.3.0",date:"2018-05-29",lts:false,security:false,v8:"6.6.346.32"},{name:"nodejs",version:"10.4.0",date:"2018-06-06",lts:false,security:false,v8:"6.7.288.43"},{name:"nodejs",version:"10.5.0",date:"2018-06-20",lts:false,security:false,v8:"6.7.288.46"},{name:"nodejs",version:"10.6.0",date:"2018-07-04",lts:false,security:false,v8:"6.7.288.46"},{name:"nodejs",version:"10.7.0",date:"2018-07-18",lts:false,security:false,v8:"6.7.288.49"},{name:"nodejs",version:"10.8.0",date:"2018-08-01",lts:false,security:false,v8:"6.7.288.49"},{name:"nodejs",version:"10.9.0",date:"2018-08-15",lts:false,security:false,v8:"6.8.275.24"},{name:"nodejs",version:"10.10.0",date:"2018-09-06",lts:false,security:false,v8:"6.8.275.30"},{name:"nodejs",version:"10.11.0",date:"2018-09-19",lts:false,security:false,v8:"6.8.275.32"},{name:"nodejs",version:"10.12.0",date:"2018-10-10",lts:false,security:false,v8:"6.8.275.32"},{name:"nodejs",version:"10.13.0",date:"2018-10-30",lts:"Dubnium",security:false,v8:"6.8.275.32"},{name:"nodejs",version:"10.14.0",date:"2018-11-27",lts:"Dubnium",security:true,v8:"6.8.275.32"},{name:"nodejs",version:"10.15.0",date:"2018-12-26",lts:"Dubnium",security:false,v8:"6.8.275.32"},{name:"nodejs",version:"10.16.0",date:"2019-05-28",lts:"Dubnium",security:false,v8:"6.8.275.32"},{name:"nodejs",version:"10.17.0",date:"2019-10-22",lts:"Dubnium",security:false,v8:"6.8.275.32"},{name:"nodejs",version:"10.18.0",date:"2019-12-17",lts:"Dubnium",security:true,v8:"6.8.275.32"},{name:"nodejs",version:"10.19.0",date:"2020-02-05",lts:"Dubnium",security:true,v8:"6.8.275.32"},{name:"nodejs",version:"10.20.0",date:"2020-03-26",lts:"Dubnium",security:false,v8:"6.8.275.32"},{name:"nodejs",version:"10.21.0",date:"2020-06-02",lts:"Dubnium",security:true,v8:"6.8.275.32"},{name:"nodejs",version:"10.22.0",date:"2020-07-21",lts:"Dubnium",security:false,v8:"6.8.275.32"},{name:"nodejs",version:"10.23.0",date:"2020-10-27",lts:"Dubnium",security:false,v8:"6.8.275.32"},{name:"nodejs",version:"10.24.0",date:"2021-02-23",lts:"Dubnium",security:true,v8:"6.8.275.32"},{name:"nodejs",version:"11.0.0",date:"2018-10-23",lts:false,security:false,v8:"7.0.276.28"},{name:"nodejs",version:"11.1.0",date:"2018-10-30",lts:false,security:false,v8:"7.0.276.32"},{name:"nodejs",version:"11.2.0",date:"2018-11-15",lts:false,security:false,v8:"7.0.276.38"},{name:"nodejs",version:"11.3.0",date:"2018-11-27",lts:false,security:true,v8:"7.0.276.38"},{name:"nodejs",version:"11.4.0",date:"2018-12-07",lts:false,security:false,v8:"7.0.276.38"},{name:"nodejs",version:"11.5.0",date:"2018-12-18",lts:false,security:false,v8:"7.0.276.38"},{name:"nodejs",version:"11.6.0",date:"2018-12-26",lts:false,security:false,v8:"7.0.276.38"},{name:"nodejs",version:"11.7.0",date:"2019-01-17",lts:false,security:false,v8:"7.0.276.38"},{name:"nodejs",version:"11.8.0",date:"2019-01-24",lts:false,security:false,v8:"7.0.276.38"},{name:"nodejs",version:"11.9.0",date:"2019-01-30",lts:false,security:false,v8:"7.0.276.38"},{name:"nodejs",version:"11.10.0",date:"2019-02-14",lts:false,security:false,v8:"7.0.276.38"},{name:"nodejs",version:"11.11.0",date:"2019-03-05",lts:false,security:false,v8:"7.0.276.38"},{name:"nodejs",version:"11.12.0",date:"2019-03-14",lts:false,security:false,v8:"7.0.276.38"},{name:"nodejs",version:"11.13.0",date:"2019-03-28",lts:false,security:false,v8:"7.0.276.38"},{name:"nodejs",version:"11.14.0",date:"2019-04-10",lts:false,security:false,v8:"7.0.276.38"},{name:"nodejs",version:"11.15.0",date:"2019-04-30",lts:false,security:false,v8:"7.0.276.38"},{name:"nodejs",version:"12.0.0",date:"2019-04-23",lts:false,security:false,v8:"7.4.288.21"},{name:"nodejs",version:"12.1.0",date:"2019-04-29",lts:false,security:false,v8:"7.4.288.21"},{name:"nodejs",version:"12.2.0",date:"2019-05-07",lts:false,security:false,v8:"7.4.288.21"},{name:"nodejs",version:"12.3.0",date:"2019-05-21",lts:false,security:false,v8:"7.4.288.27"},{name:"nodejs",version:"12.4.0",date:"2019-06-04",lts:false,security:false,v8:"7.4.288.27"},{name:"nodejs",version:"12.5.0",date:"2019-06-26",lts:false,security:false,v8:"7.5.288.22"},{name:"nodejs",version:"12.6.0",date:"2019-07-03",lts:false,security:false,v8:"7.5.288.22"},{name:"nodejs",version:"12.7.0",date:"2019-07-23",lts:false,security:false,v8:"7.5.288.22"},{name:"nodejs",version:"12.8.0",date:"2019-08-06",lts:false,security:false,v8:"7.5.288.22"},{name:"nodejs",version:"12.9.0",date:"2019-08-20",lts:false,security:false,v8:"7.6.303.29"},{name:"nodejs",version:"12.10.0",date:"2019-09-04",lts:false,security:false,v8:"7.6.303.29"},{name:"nodejs",version:"12.11.0",date:"2019-09-25",lts:false,security:false,v8:"7.7.299.11"},{name:"nodejs",version:"12.12.0",date:"2019-10-11",lts:false,security:false,v8:"7.7.299.13"},{name:"nodejs",version:"12.13.0",date:"2019-10-21",lts:"Erbium",security:false,v8:"7.7.299.13"},{name:"nodejs",version:"12.14.0",date:"2019-12-17",lts:"Erbium",security:true,v8:"7.7.299.13"},{name:"nodejs",version:"12.15.0",date:"2020-02-05",lts:"Erbium",security:true,v8:"7.7.299.13"},{name:"nodejs",version:"12.16.0",date:"2020-02-11",lts:"Erbium",security:false,v8:"7.8.279.23"},{name:"nodejs",version:"12.17.0",date:"2020-05-26",lts:"Erbium",security:false,v8:"7.8.279.23"},{name:"nodejs",version:"12.18.0",date:"2020-06-02",lts:"Erbium",security:true,v8:"7.8.279.23"},{name:"nodejs",version:"12.19.0",date:"2020-10-06",lts:"Erbium",security:false,v8:"7.8.279.23"},{name:"nodejs",version:"12.20.0",date:"2020-11-24",lts:"Erbium",security:false,v8:"7.8.279.23"},{name:"nodejs",version:"12.21.0",date:"2021-02-23",lts:"Erbium",security:true,v8:"7.8.279.23"},{name:"nodejs",version:"12.22.0",date:"2021-03-30",lts:"Erbium",security:false,v8:"7.8.279.23"},{name:"nodejs",version:"13.0.0",date:"2019-10-22",lts:false,security:false,v8:"7.8.279.17"},{name:"nodejs",version:"13.1.0",date:"2019-11-05",lts:false,security:false,v8:"7.8.279.17"},{name:"nodejs",version:"13.2.0",date:"2019-11-21",lts:false,security:false,v8:"7.9.317.23"},{name:"nodejs",version:"13.3.0",date:"2019-12-03",lts:false,security:false,v8:"7.9.317.25"},{name:"nodejs",version:"13.4.0",date:"2019-12-17",lts:false,security:true,v8:"7.9.317.25"},{name:"nodejs",version:"13.5.0",date:"2019-12-18",lts:false,security:false,v8:"7.9.317.25"},{name:"nodejs",version:"13.6.0",date:"2020-01-07",lts:false,security:false,v8:"7.9.317.25"},{name:"nodejs",version:"13.7.0",date:"2020-01-21",lts:false,security:false,v8:"7.9.317.25"},{name:"nodejs",version:"13.8.0",date:"2020-02-05",lts:false,security:true,v8:"7.9.317.25"},{name:"nodejs",version:"13.9.0",date:"2020-02-18",lts:false,security:false,v8:"7.9.317.25"},{name:"nodejs",version:"13.10.0",date:"2020-03-04",lts:false,security:false,v8:"7.9.317.25"},{name:"nodejs",version:"13.11.0",date:"2020-03-12",lts:false,security:false,v8:"7.9.317.25"},{name:"nodejs",version:"13.12.0",date:"2020-03-26",lts:false,security:false,v8:"7.9.317.25"},{name:"nodejs",version:"13.13.0",date:"2020-04-14",lts:false,security:false,v8:"7.9.317.25"},{name:"nodejs",version:"13.14.0",date:"2020-04-29",lts:false,security:false,v8:"7.9.317.25"},{name:"nodejs",version:"14.0.0",date:"2020-04-21",lts:false,security:false,v8:"8.1.307.30"},{name:"nodejs",version:"14.1.0",date:"2020-04-29",lts:false,security:false,v8:"8.1.307.31"},{name:"nodejs",version:"14.2.0",date:"2020-05-05",lts:false,security:false,v8:"8.1.307.31"},{name:"nodejs",version:"14.3.0",date:"2020-05-19",lts:false,security:false,v8:"8.1.307.31"},{name:"nodejs",version:"14.4.0",date:"2020-06-02",lts:false,security:true,v8:"8.1.307.31"},{name:"nodejs",version:"14.5.0",date:"2020-06-30",lts:false,security:false,v8:"8.3.110.9"},{name:"nodejs",version:"14.6.0",date:"2020-07-20",lts:false,security:false,v8:"8.4.371.19"},{name:"nodejs",version:"14.7.0",date:"2020-07-29",lts:false,security:false,v8:"8.4.371.19"},{name:"nodejs",version:"14.8.0",date:"2020-08-11",lts:false,security:false,v8:"8.4.371.19"},{name:"nodejs",version:"14.9.0",date:"2020-08-27",lts:false,security:false,v8:"8.4.371.19"},{name:"nodejs",version:"14.10.0",date:"2020-09-08",lts:false,security:false,v8:"8.4.371.19"},{name:"nodejs",version:"14.11.0",date:"2020-09-15",lts:false,security:true,v8:"8.4.371.19"},{name:"nodejs",version:"14.12.0",date:"2020-09-22",lts:false,security:false,v8:"8.4.371.19"},{name:"nodejs",version:"14.13.0",date:"2020-09-29",lts:false,security:false,v8:"8.4.371.19"},{name:"nodejs",version:"14.14.0",date:"2020-10-15",lts:false,security:false,v8:"8.4.371.19"},{name:"nodejs",version:"14.15.0",date:"2020-10-27",lts:"Fermium",security:false,v8:"8.4.371.19"},{name:"nodejs",version:"14.16.0",date:"2021-02-23",lts:"Fermium",security:true,v8:"8.4.371.19"},{name:"nodejs",version:"14.17.0",date:"2021-05-11",lts:"Fermium",security:false,v8:"8.4.371.23"},{name:"nodejs",version:"14.18.0",date:"2021-09-28",lts:"Fermium",security:false,v8:"8.4.371.23"},{name:"nodejs",version:"14.19.0",date:"2022-02-01",lts:"Fermium",security:false,v8:"8.4.371.23"},{name:"nodejs",version:"14.20.0",date:"2022-07-07",lts:"Fermium",security:true,v8:"8.4.371.23"},{name:"nodejs",version:"14.21.0",date:"2022-11-01",lts:"Fermium",security:false,v8:"8.4.371.23"},{name:"nodejs",version:"15.0.0",date:"2020-10-20",lts:false,security:false,v8:"8.6.395.16"},{name:"nodejs",version:"15.1.0",date:"2020-11-04",lts:false,security:false,v8:"8.6.395.17"},{name:"nodejs",version:"15.2.0",date:"2020-11-10",lts:false,security:false,v8:"8.6.395.17"},{name:"nodejs",version:"15.3.0",date:"2020-11-24",lts:false,security:false,v8:"8.6.395.17"},{name:"nodejs",version:"15.4.0",date:"2020-12-09",lts:false,security:false,v8:"8.6.395.17"},{name:"nodejs",version:"15.5.0",date:"2020-12-22",lts:false,security:false,v8:"8.6.395.17"},{name:"nodejs",version:"15.6.0",date:"2021-01-14",lts:false,security:false,v8:"8.6.395.17"},{name:"nodejs",version:"15.7.0",date:"2021-01-25",lts:false,security:false,v8:"8.6.395.17"},{name:"nodejs",version:"15.8.0",date:"2021-02-02",lts:false,security:false,v8:"8.6.395.17"},{name:"nodejs",version:"15.9.0",date:"2021-02-18",lts:false,security:false,v8:"8.6.395.17"},{name:"nodejs",version:"15.10.0",date:"2021-02-23",lts:false,security:true,v8:"8.6.395.17"},{name:"nodejs",version:"15.11.0",date:"2021-03-03",lts:false,security:false,v8:"8.6.395.17"},{name:"nodejs",version:"15.12.0",date:"2021-03-17",lts:false,security:false,v8:"8.6.395.17"},{name:"nodejs",version:"15.13.0",date:"2021-03-31",lts:false,security:false,v8:"8.6.395.17"},{name:"nodejs",version:"15.14.0",date:"2021-04-06",lts:false,security:false,v8:"8.6.395.17"},{name:"nodejs",version:"16.0.0",date:"2021-04-20",lts:false,security:false,v8:"9.0.257.17"},{name:"nodejs",version:"16.1.0",date:"2021-05-04",lts:false,security:false,v8:"9.0.257.24"},{name:"nodejs",version:"16.2.0",date:"2021-05-19",lts:false,security:false,v8:"9.0.257.25"},{name:"nodejs",version:"16.3.0",date:"2021-06-03",lts:false,security:false,v8:"9.0.257.25"},{name:"nodejs",version:"16.4.0",date:"2021-06-23",lts:false,security:false,v8:"9.1.269.36"},{name:"nodejs",version:"16.5.0",date:"2021-07-14",lts:false,security:false,v8:"9.1.269.38"},{name:"nodejs",version:"16.6.0",date:"2021-07-29",lts:false,security:true,v8:"9.2.230.21"},{name:"nodejs",version:"16.7.0",date:"2021-08-18",lts:false,security:false,v8:"9.2.230.21"},{name:"nodejs",version:"16.8.0",date:"2021-08-25",lts:false,security:false,v8:"9.2.230.21"},{name:"nodejs",version:"16.9.0",date:"2021-09-07",lts:false,security:false,v8:"9.3.345.16"},{name:"nodejs",version:"16.10.0",date:"2021-09-22",lts:false,security:false,v8:"9.3.345.19"},{name:"nodejs",version:"16.11.0",date:"2021-10-08",lts:false,security:false,v8:"9.4.146.19"},{name:"nodejs",version:"16.12.0",date:"2021-10-20",lts:false,security:false,v8:"9.4.146.19"},{name:"nodejs",version:"16.13.0",date:"2021-10-26",lts:"Gallium",security:false,v8:"9.4.146.19"},{name:"nodejs",version:"16.14.0",date:"2022-02-08",lts:"Gallium",security:false,v8:"9.4.146.24"},{name:"nodejs",version:"16.15.0",date:"2022-04-26",lts:"Gallium",security:false,v8:"9.4.146.24"},{name:"nodejs",version:"16.16.0",date:"2022-07-07",lts:"Gallium",security:true,v8:"9.4.146.24"},{name:"nodejs",version:"16.17.0",date:"2022-08-16",lts:"Gallium",security:false,v8:"9.4.146.26"},{name:"nodejs",version:"16.18.0",date:"2022-10-12",lts:"Gallium",security:false,v8:"9.4.146.26"},{name:"nodejs",version:"16.19.0",date:"2022-12-13",lts:"Gallium",security:false,v8:"9.4.146.26"},{name:"nodejs",version:"16.20.0",date:"2023-03-28",lts:"Gallium",security:false,v8:"9.4.146.26"},{name:"nodejs",version:"17.0.0",date:"2021-10-19",lts:false,security:false,v8:"9.5.172.21"},{name:"nodejs",version:"17.1.0",date:"2021-11-09",lts:false,security:false,v8:"9.5.172.25"},{name:"nodejs",version:"17.2.0",date:"2021-11-30",lts:false,security:false,v8:"9.6.180.14"},{name:"nodejs",version:"17.3.0",date:"2021-12-17",lts:false,security:false,v8:"9.6.180.15"},{name:"nodejs",version:"17.4.0",date:"2022-01-18",lts:false,security:false,v8:"9.6.180.15"},{name:"nodejs",version:"17.5.0",date:"2022-02-10",lts:false,security:false,v8:"9.6.180.15"},{name:"nodejs",version:"17.6.0",date:"2022-02-22",lts:false,security:false,v8:"9.6.180.15"},{name:"nodejs",version:"17.7.0",date:"2022-03-09",lts:false,security:false,v8:"9.6.180.15"},{name:"nodejs",version:"17.8.0",date:"2022-03-22",lts:false,security:false,v8:"9.6.180.15"},{name:"nodejs",version:"17.9.0",date:"2022-04-07",lts:false,security:false,v8:"9.6.180.15"},{name:"nodejs",version:"18.0.0",date:"2022-04-18",lts:false,security:false,v8:"10.1.124.8"},{name:"nodejs",version:"18.1.0",date:"2022-05-03",lts:false,security:false,v8:"10.1.124.8"},{name:"nodejs",version:"18.2.0",date:"2022-05-17",lts:false,security:false,v8:"10.1.124.8"},{name:"nodejs",version:"18.3.0",date:"2022-06-02",lts:false,security:false,v8:"10.2.154.4"},{name:"nodejs",version:"18.4.0",date:"2022-06-16",lts:false,security:false,v8:"10.2.154.4"},{name:"nodejs",version:"18.5.0",date:"2022-07-06",lts:false,security:true,v8:"10.2.154.4"},{name:"nodejs",version:"18.6.0",date:"2022-07-13",lts:false,security:false,v8:"10.2.154.13"},{name:"nodejs",version:"18.7.0",date:"2022-07-26",lts:false,security:false,v8:"10.2.154.13"},{name:"nodejs",version:"18.8.0",date:"2022-08-24",lts:false,security:false,v8:"10.2.154.13"},{name:"nodejs",version:"18.9.0",date:"2022-09-07",lts:false,security:false,v8:"10.2.154.15"},{name:"nodejs",version:"18.10.0",date:"2022-09-28",lts:false,security:false,v8:"10.2.154.15"},{name:"nodejs",version:"18.11.0",date:"2022-10-13",lts:false,security:false,v8:"10.2.154.15"},{name:"nodejs",version:"18.12.0",date:"2022-10-25",lts:"Hydrogen",security:false,v8:"10.2.154.15"},{name:"nodejs",version:"18.13.0",date:"2023-01-05",lts:"Hydrogen",security:false,v8:"10.2.154.23"},{name:"nodejs",version:"18.14.0",date:"2023-02-01",lts:"Hydrogen",security:false,v8:"10.2.154.23"},{name:"nodejs",version:"18.15.0",date:"2023-03-05",lts:"Hydrogen",security:false,v8:"10.2.154.26"},{name:"nodejs",version:"18.16.0",date:"2023-04-12",lts:"Hydrogen",security:false,v8:"10.2.154.26"},{name:"nodejs",version:"18.17.0",date:"2023-07-18",lts:"Hydrogen",security:false,v8:"10.2.154.26"},{name:"nodejs",version:"18.18.0",date:"2023-09-18",lts:"Hydrogen",security:false,v8:"10.2.154.26"},{name:"nodejs",version:"18.19.0",date:"2023-11-29",lts:"Hydrogen",security:false,v8:"10.2.154.26"},{name:"nodejs",version:"19.0.0",date:"2022-10-17",lts:false,security:false,v8:"10.7.193.13"},{name:"nodejs",version:"19.1.0",date:"2022-11-14",lts:false,security:false,v8:"10.7.193.20"},{name:"nodejs",version:"19.2.0",date:"2022-11-29",lts:false,security:false,v8:"10.8.168.20"},{name:"nodejs",version:"19.3.0",date:"2022-12-14",lts:false,security:false,v8:"10.8.168.21"},{name:"nodejs",version:"19.4.0",date:"2023-01-05",lts:false,security:false,v8:"10.8.168.25"},{name:"nodejs",version:"19.5.0",date:"2023-01-24",lts:false,security:false,v8:"10.8.168.25"},{name:"nodejs",version:"19.6.0",date:"2023-02-01",lts:false,security:false,v8:"10.8.168.25"},{name:"nodejs",version:"19.7.0",date:"2023-02-21",lts:false,security:false,v8:"10.8.168.25"},{name:"nodejs",version:"19.8.0",date:"2023-03-14",lts:false,security:false,v8:"10.8.168.25"},{name:"nodejs",version:"19.9.0",date:"2023-04-10",lts:false,security:false,v8:"10.8.168.25"},{name:"nodejs",version:"20.0.0",date:"2023-04-17",lts:false,security:false,v8:"11.3.244.4"},{name:"nodejs",version:"20.1.0",date:"2023-05-03",lts:false,security:false,v8:"11.3.244.8"},{name:"nodejs",version:"20.2.0",date:"2023-05-16",lts:false,security:false,v8:"11.3.244.8"},{name:"nodejs",version:"20.3.0",date:"2023-06-08",lts:false,security:false,v8:"11.3.244.8"},{name:"nodejs",version:"20.4.0",date:"2023-07-04",lts:false,security:false,v8:"11.3.244.8"},{name:"nodejs",version:"20.5.0",date:"2023-07-19",lts:false,security:false,v8:"11.3.244.8"},{name:"nodejs",version:"20.6.0",date:"2023-08-23",lts:false,security:false,v8:"11.3.244.8"},{name:"nodejs",version:"20.7.0",date:"2023-09-18",lts:false,security:false,v8:"11.3.244.8"},{name:"nodejs",version:"20.8.0",date:"2023-09-28",lts:false,security:false,v8:"11.3.244.8"},{name:"nodejs",version:"20.9.0",date:"2023-10-24",lts:"Iron",security:false,v8:"11.3.244.8"},{name:"nodejs",version:"20.10.0",date:"2023-11-22",lts:"Iron",security:false,v8:"11.3.244.8"},{name:"nodejs",version:"21.0.0",date:"2023-10-17",lts:false,security:false,v8:"11.8.172.13"},{name:"nodejs",version:"21.1.0",date:"2023-10-24",lts:false,security:false,v8:"11.8.172.15"},{name:"nodejs",version:"21.2.0",date:"2023-11-14",lts:false,security:false,v8:"11.8.172.17"},{name:"nodejs",version:"21.3.0",date:"2023-11-30",lts:false,security:false,v8:"11.8.172.17"}];var agents$2={};var browsers$2={};var browsers$1={A:"ie",B:"edge",C:"firefox",D:"chrome",E:"safari",F:"opera",G:"ios_saf",H:"op_mini",I:"android",J:"bb",K:"op_mob",L:"and_chr",M:"and_ff",N:"ie_mob",O:"and_uc",P:"samsung",Q:"and_qq",R:"baidu",S:"kaios"};browsers$2.browsers=browsers$1;var browserVersions$1={};var browserVersions={"0":"112","1":"113","2":"114","3":"115","4":"116","5":"117","6":"118","7":"5","8":"19","9":"24",A:"10",B:"11",C:"12",D:"119",E:"7",F:"8",G:"9",H:"15",I:"4",J:"6",K:"13",L:"14",M:"16",N:"17",O:"18",P:"79",Q:"80",R:"81",S:"83",T:"84",U:"85",V:"86",W:"87",X:"88",Y:"89",Z:"90",a:"91",b:"92",c:"93",d:"94",e:"95",f:"96",g:"97",h:"98",i:"99",j:"100",k:"101",l:"102",m:"103",n:"104",o:"20",p:"21",q:"22",r:"23",s:"73",t:"105",u:"106",v:"107",w:"108",x:"109",y:"110",z:"111",AB:"25",BB:"26",CB:"27",DB:"28",EB:"29",FB:"30",GB:"31",HB:"32",IB:"33",JB:"34",KB:"35",LB:"36",MB:"37",NB:"38",OB:"39",PB:"40",QB:"41",RB:"42",SB:"43",TB:"44",UB:"45",VB:"46",WB:"47",XB:"48",YB:"49",ZB:"50",aB:"51",bB:"52",cB:"53",dB:"54",eB:"55",fB:"56",gB:"57",hB:"58",iB:"60",jB:"62",kB:"63",lB:"64",mB:"65",nB:"66",oB:"67",pB:"68",qB:"69",rB:"70",sB:"71",tB:"72",uB:"74",vB:"75",wB:"76",xB:"77",yB:"78",zB:"11.1","0B":"12.1","1B":"15.5","2B":"16.0","3B":"17.0","4B":"3","5B":"59","6B":"61","7B":"82","8B":"120","9B":"121",AC:"122",BC:"3.2",CC:"10.1",DC:"13.1",EC:"15.2-15.3",FC:"15.4",GC:"16.1",HC:"16.2",IC:"16.3",JC:"16.4",KC:"16.5",LC:"17.1",MC:"17.2",NC:"11.5",OC:"4.2-4.3",PC:"5.5",QC:"2",RC:"123",SC:"3.5",TC:"3.6",UC:"3.1",VC:"5.1",WC:"6.1",XC:"7.1",YC:"9.1",ZC:"14.1",aC:"15.1",bC:"15.6",cC:"16.6",dC:"TP",eC:"9.5-9.6",fC:"10.0-10.1",gC:"10.5",hC:"10.6",iC:"11.6",jC:"4.0-4.1",kC:"5.0-5.1",lC:"6.0-6.1",mC:"7.0-7.1",nC:"8.1-8.4",oC:"9.0-9.2",pC:"9.3",qC:"10.0-10.2",rC:"10.3",sC:"11.0-11.2",tC:"11.3-11.4",uC:"12.0-12.1",vC:"12.2-12.5",wC:"13.0-13.1",xC:"13.2",yC:"13.3",zC:"13.4-13.7","0C":"14.0-14.4","1C":"14.5-14.8","2C":"15.0-15.1","3C":"15.6-15.7","4C":"16.6-16.7","5C":"all","6C":"2.1","7C":"2.2","8C":"2.3","9C":"4.1",AD:"4.4",BD:"4.4.3-4.4.4",CD:"5.0-5.4",DD:"6.2-6.4",ED:"7.2-7.4",FD:"8.2",GD:"9.2",HD:"11.1-11.2",ID:"12.0",JD:"13.0",KD:"14.0",LD:"15.0",MD:"18.0",ND:"19.0",OD:"13.18",PD:"2.5",QD:"3.0-3.1"};browserVersions$1.browserVersions=browserVersions;var agents$1={A:{A:{J:0,E:0,F:0.0125552,G:0.062776,A:0,B:0.364101,PC:0},B:"ms",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","PC","J","E","F","G","A","B","","",""],E:"IE",F:{PC:962323200,J:998870400,E:1161129600,F:1237420800,G:1300060800,A:1346716800,B:1381968000}},B:{A:{"0":0.013452,"1":0.017936,"2":0.02242,"3":0.026904,"4":0.040356,"5":0.461852,"6":0.816088,C:0.008968,K:0.008968,L:0.013452,H:0.008968,M:0,N:0.004484,O:0.008968,P:0,Q:0,R:0,S:0,T:0.004484,U:0.004484,V:0,W:0.219716,X:0,Y:0,Z:0,a:0,b:0.013452,c:0,d:0,e:0,f:0,g:0,h:0,i:0.017936,j:0,k:0,l:0,m:0,n:0,t:0,u:0.004484,v:0.008968,w:0.013452,x:0.085196,y:0.013452,z:0.013452,D:3.48407},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","C","K","L","H","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","a","b","c","d","e","f","g","h","i","j","k","l","m","n","t","u","v","w","x","y","z","0","1","2","3","4","5","6","D","","",""],E:"Edge",F:{"0":1680825600,"1":1683158400,"2":1685664000,"3":1689897600,"4":1692576000,"5":1694649600,"6":1697155200,C:1438128000,K:1447286400,L:1470096000,H:1491868800,M:1508198400,N:1525046400,O:1542067200,P:1579046400,Q:1581033600,R:1586736000,S:1590019200,T:1594857600,U:1598486400,V:1602201600,W:1605830400,X:1611360000,Y:1614816000,Z:1618358400,a:1622073600,b:1626912000,c:1630627200,d:1632441600,e:1634774400,f:1637539200,g:1641427200,h:1643932800,i:1646265600,j:1649635200,k:1651190400,l:1653955200,m:1655942400,n:1659657600,t:1661990400,u:1664755200,v:1666915200,w:1670198400,x:1673481600,y:1675900800,z:1678665600,D:1698969600},D:{C:"ms",K:"ms",L:"ms",H:"ms",M:"ms",N:"ms",O:"ms"}},C:{A:{"0":0.008968,"1":0.017936,"2":0.017936,"3":0.372172,"4":0.017936,"5":0.017936,"6":0.13452,"7":0,"8":0,"9":0,QC:0,"4B":0,I:0,J:0,E:0.004484,F:0,G:0,A:0,B:0.026904,C:0.013452,K:0,L:0,H:0,M:0,N:0,O:0,o:0,p:0,q:0,r:0,AB:0,BB:0,CB:0,DB:0,EB:0,FB:0,GB:0,HB:0,IB:0,JB:0,KB:0,LB:0,MB:0,NB:0,OB:0,PB:0,QB:0,RB:0,SB:0.004484,TB:0.004484,UB:0,VB:0,WB:0,XB:0.031388,YB:0,ZB:0.013452,aB:0,bB:0.062776,cB:0.008968,dB:0.017936,eB:0.004484,fB:0.02242,gB:0,hB:0,"5B":0.008968,iB:0,"6B":0,jB:0,kB:0.004484,lB:0,mB:0,nB:0,oB:0,pB:0.004484,qB:0,rB:0,sB:0,tB:0.008968,s:0,uB:0,vB:0,wB:0,xB:0.004484,yB:0.026904,P:0,Q:0,R:0,"7B":0,S:0.004484,T:0,U:0,V:0,W:0,X:0.008968,Y:0,Z:0,a:0.013452,b:0,c:0,d:0.004484,e:0,f:0,g:0,h:0,i:0,j:0,k:0.004484,l:0.031388,m:0.031388,n:0,t:0.004484,u:0.004484,v:0.004484,w:0.008968,x:0.008968,y:0.008968,z:0.008968,D:1.43488,"8B":0.372172,"9B":0,AC:0,RC:0,SC:0,TC:0},B:"moz",C:["QC","4B","SC","TC","I","7","J","E","F","G","A","B","C","K","L","H","M","N","O","8","o","p","q","r","9","AB","BB","CB","DB","EB","FB","GB","HB","IB","JB","KB","LB","MB","NB","OB","PB","QB","RB","SB","TB","UB","VB","WB","XB","YB","ZB","aB","bB","cB","dB","eB","fB","gB","hB","5B","iB","6B","jB","kB","lB","mB","nB","oB","pB","qB","rB","sB","tB","s","uB","vB","wB","xB","yB","P","Q","R","7B","S","T","U","V","W","X","Y","Z","a","b","c","d","e","f","g","h","i","j","k","l","m","n","t","u","v","w","x","y","z","0","1","2","3","4","5","6","D","8B","9B","AC","RC"],E:"Firefox",F:{"0":1681171200,"1":1683590400,"2":1686009600,"3":1688428800,"4":1690848000,"5":1693267200,"6":1695686400,"7":1308614400,"8":1357603200,"9":1375747200,QC:1161648000,"4B":1213660800,SC:1246320000,TC:1264032000,I:1300752000,J:1313452800,E:1317081600,F:1317081600,G:1320710400,A:1324339200,B:1327968000,C:1331596800,K:1335225600,L:1338854400,H:1342483200,M:1346112000,N:1349740800,O:1353628800,o:1361232000,p:1364860800,q:1368489600,r:1372118400,AB:1379376000,BB:1386633600,CB:1391472000,DB:1395100800,EB:1398729600,FB:1402358400,GB:1405987200,HB:1409616000,IB:1413244800,JB:1417392000,KB:1421107200,LB:1424736000,MB:1428278400,NB:1431475200,OB:1435881600,PB:1439251200,QB:1442880000,RB:1446508800,SB:1450137600,TB:1453852800,UB:1457395200,VB:1461628800,WB:1465257600,XB:1470096000,YB:1474329600,ZB:1479168000,aB:1485216000,bB:1488844800,cB:1492560000,dB:1497312000,eB:1502150400,fB:1506556800,gB:1510617600,hB:1516665600,"5B":1520985600,iB:1525824000,"6B":1529971200,jB:1536105600,kB:1540252800,lB:1544486400,mB:1548720000,nB:1552953600,oB:1558396800,pB:1562630400,qB:1567468800,rB:1571788800,sB:1575331200,tB:1578355200,s:1581379200,uB:1583798400,vB:1586304000,wB:1588636800,xB:1591056000,yB:1593475200,P:1595894400,Q:1598313600,R:1600732800,"7B":1603152000,S:1605571200,T:1607990400,U:1611619200,V:1614038400,W:1616457600,X:1618790400,Y:1622505600,Z:1626134400,a:1628553600,b:1630972800,c:1633392000,d:1635811200,e:1638835200,f:1641859200,g:1644364800,h:1646697600,i:1649116800,j:1651536000,k:1653955200,l:1656374400,m:1658793600,n:1661212800,t:1663632000,u:1666051200,v:1668470400,w:1670889600,x:1673913600,y:1676332800,z:1678752000,D:1698105600,"8B":1700524800,"9B":null,AC:null,RC:null}},D:{A:{"0":0.116584,"1":0.20178,"2":0.219716,"3":0.147972,"4":0.497724,"5":0.69502,"6":5.40322,"7":0,"8":0,"9":0,I:0,J:0,E:0,F:0,G:0,A:0,B:0,C:0,K:0,L:0,H:0,M:0,N:0,O:0,o:0,p:0,q:0,r:0,AB:0,BB:0,CB:0,DB:0,EB:0,FB:0,GB:0,HB:0,IB:0,JB:0.004484,KB:0,LB:0,MB:0,NB:0.013452,OB:0,PB:0,QB:0.004484,RB:0,SB:0,TB:0,UB:0.008968,VB:0,WB:0.008968,XB:0.026904,YB:0.031388,ZB:0.008968,aB:0.004484,bB:0.004484,cB:0.008968,dB:0,eB:0.008968,fB:0.026904,gB:0.013452,hB:0.004484,"5B":0,iB:0.035872,"6B":0.013452,jB:0,kB:0.008968,lB:0.004484,mB:0.008968,nB:0.02242,oB:0.004484,pB:0.013452,qB:0.049324,rB:0.192812,sB:0.013452,tB:0.017936,s:0.026904,uB:0.026904,vB:0.02242,wB:0.058292,xB:0.02242,yB:0.026904,P:0.161424,Q:0.049324,R:0.04484,S:0.053808,T:0.026904,U:0.076228,V:0.062776,W:0.08968,X:0.026904,Y:0.026904,Z:0.035872,a:0.080712,b:0.040356,c:0.116584,d:0.040356,e:0.017936,f:0.017936,g:0.02242,h:0.06726,i:0.035872,j:0.035872,k:0.049324,l:0.035872,m:0.38114,n:0.049324,t:0.049324,u:0.062776,v:0.058292,w:0.1121,x:1.78912,y:0.080712,z:0.094164,D:14.703,"8B":0.02242,"9B":0.013452,AC:0},B:"webkit",C:["","","","","","","I","7","J","E","F","G","A","B","C","K","L","H","M","N","O","8","o","p","q","r","9","AB","BB","CB","DB","EB","FB","GB","HB","IB","JB","KB","LB","MB","NB","OB","PB","QB","RB","SB","TB","UB","VB","WB","XB","YB","ZB","aB","bB","cB","dB","eB","fB","gB","hB","5B","iB","6B","jB","kB","lB","mB","nB","oB","pB","qB","rB","sB","tB","s","uB","vB","wB","xB","yB","P","Q","R","S","T","U","V","W","X","Y","Z","a","b","c","d","e","f","g","h","i","j","k","l","m","n","t","u","v","w","x","y","z","0","1","2","3","4","5","6","D","8B","9B","AC"],E:"Chrome",F:{"0":1680566400,"1":1682985600,"2":1685404800,"3":1689724800,"4":1692057600,"5":1694476800,"6":1696896000,"7":1274745600,"8":1332892800,"9":1352246400,I:1264377600,J:1283385600,E:1287619200,F:1291248000,G:1296777600,A:1299542400,B:1303862400,C:1307404800,K:1312243200,L:1316131200,H:1316131200,M:1319500800,N:1323734400,O:1328659200,o:1337040000,p:1340668800,q:1343692800,r:1348531200,AB:1357862400,BB:1361404800,CB:1364428800,DB:1369094400,EB:1374105600,FB:1376956800,GB:1384214400,HB:1389657600,IB:1392940800,JB:1397001600,KB:1400544000,LB:1405468800,MB:1409011200,NB:1412640000,OB:1416268800,PB:1421798400,QB:1425513600,RB:1429401600,SB:1432080000,TB:1437523200,UB:1441152000,VB:1444780800,WB:1449014400,XB:1453248000,YB:1456963200,ZB:1460592000,aB:1464134400,bB:1469059200,cB:1472601600,dB:1476230400,eB:1480550400,fB:1485302400,gB:1489017600,hB:1492560000,"5B":1496707200,iB:1500940800,"6B":1504569600,jB:1508198400,kB:1512518400,lB:1516752000,mB:1520294400,nB:1523923200,oB:1527552000,pB:1532390400,qB:1536019200,rB:1539648000,sB:1543968000,tB:1548720000,s:1552348800,uB:1555977600,vB:1559606400,wB:1564444800,xB:1568073600,yB:1571702400,P:1575936000,Q:1580860800,R:1586304000,S:1589846400,T:1594684800,U:1598313600,V:1601942400,W:1605571200,X:1611014400,Y:1614556800,Z:1618272000,a:1621987200,b:1626739200,c:1630368000,d:1632268800,e:1634601600,f:1637020800,g:1641340800,h:1643673600,i:1646092800,j:1648512000,k:1650931200,l:1653350400,m:1655769600,n:1659398400,t:1661817600,u:1664236800,v:1666656000,w:1669680000,x:1673308800,y:1675728000,z:1678147200,D:1698710400,"8B":null,"9B":null,AC:null}},E:{A:{"7":0,I:0,J:0,E:0,F:0,G:0,A:0,B:0,C:0,K:0.013452,L:0.085196,H:0.017936,UC:0,BC:0,VC:0.008968,WC:0,XC:0,YC:0.06726,CC:0,zB:0.008968,"0B":0.02242,DC:0.1121,ZC:0.206264,aC:0.040356,EC:0.031388,FC:0.06726,"1B":0.103132,bC:0.520144,"2B":0.06726,GC:0.17936,HC:0.165908,IC:0.367688,JC:0.143488,KC:0.295944,cC:2.08058,"3B":0.443916,LC:0.686052,MC:0.017936,dC:0},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","UC","BC","I","7","VC","J","WC","E","XC","F","G","YC","A","CC","B","zB","C","0B","K","DC","L","ZC","H","aC","EC","FC","1B","bC","2B","GC","HC","IC","JC","KC","cC","3B","LC","MC","dC",""],E:"Safari",F:{"7":1275868800,UC:1205798400,BC:1226534400,I:1244419200,VC:1311120000,J:1343174400,WC:1382400000,E:1382400000,XC:1410998400,F:1413417600,G:1443657600,YC:1458518400,A:1474329600,CC:1490572800,B:1505779200,zB:1522281600,C:1537142400,"0B":1553472000,K:1568851200,DC:1585008000,L:1600214400,ZC:1619395200,H:1632096000,aC:1635292800,EC:1639353600,FC:1647216000,"1B":1652745600,bC:1658275200,"2B":1662940800,GC:1666569600,HC:1670889600,IC:1674432000,JC:1679875200,KC:1684368000,cC:1690156800,"3B":1695686400,LC:1698192000,MC:null,dC:null}},F:{A:{"8":0,"9":0,G:0,B:0,C:0,H:0,M:0,N:0,O:0,o:0,p:0,q:0,r:0,AB:0,BB:0,CB:0,DB:0,EB:0,FB:0,GB:0,HB:0,IB:0,JB:0,KB:0,LB:0,MB:0,NB:0,OB:0,PB:0,QB:0,RB:0,SB:0,TB:0,UB:0,VB:0.013452,WB:0,XB:0,YB:0,ZB:0,aB:0,bB:0,cB:0,dB:0,eB:0,fB:0,gB:0,hB:0,iB:0,jB:0,kB:0,lB:0,mB:0,nB:0,oB:0,pB:0,qB:0,rB:0,sB:0,tB:0,s:0,uB:0,vB:0,wB:0,xB:0,yB:0,P:0,Q:0,R:0,"7B":0,S:0,T:0,U:0,V:0,W:0,X:0,Y:0,Z:0,a:0,b:0,c:0,d:0,e:0.053808,f:0,g:0,h:0,i:0.004484,j:0.004484,k:0.004484,l:0.914736,m:0.161424,n:0.663632,eC:0,fC:0,gC:0,hC:0,zB:0,NC:0,iC:0,"0B":0},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","G","eC","fC","gC","hC","B","zB","NC","iC","C","0B","H","M","N","O","8","o","p","q","r","9","AB","BB","CB","DB","EB","FB","GB","HB","IB","JB","KB","LB","MB","NB","OB","PB","QB","RB","SB","TB","UB","VB","WB","XB","YB","ZB","aB","bB","cB","dB","eB","fB","gB","hB","iB","jB","kB","lB","mB","nB","oB","pB","qB","rB","sB","tB","s","uB","vB","wB","xB","yB","P","Q","R","7B","S","T","U","V","W","X","Y","Z","a","b","c","d","e","f","g","h","i","j","k","l","m","n","","",""],E:"Opera",F:{"8":1390867200,"9":1409616000,G:1150761600,eC:1223424000,fC:1251763200,gC:1267488000,hC:1277942400,B:1292457600,zB:1302566400,NC:1309219200,iC:1323129600,C:1323129600,"0B":1352073600,H:1372723200,M:1377561600,N:1381104000,O:1386288000,o:1393891200,p:1399334400,q:1401753600,r:1405987200,AB:1413331200,BB:1417132800,CB:1422316800,DB:1425945600,EB:1430179200,FB:1433808000,GB:1438646400,HB:1442448000,IB:1445904000,JB:1449100800,KB:1454371200,LB:1457308800,MB:1462320000,NB:1465344000,OB:1470096000,PB:1474329600,QB:1477267200,RB:1481587200,SB:1486425600,TB:1490054400,UB:1494374400,VB:1498003200,WB:1502236800,XB:1506470400,YB:1510099200,ZB:1515024000,aB:1517961600,bB:1521676800,cB:1525910400,dB:1530144000,eB:1534982400,fB:1537833600,gB:1543363200,hB:1548201600,iB:1554768000,jB:1561593600,kB:1566259200,lB:1570406400,mB:1573689600,nB:1578441600,oB:1583971200,pB:1587513600,qB:1592956800,rB:1595894400,sB:1600128000,tB:1603238400,s:1613520000,uB:1612224000,vB:1616544000,wB:1619568000,xB:1623715200,yB:1627948800,P:1631577600,Q:1633392000,R:1635984000,"7B":1638403200,S:1642550400,T:1644969600,U:1647993600,V:1650412800,W:1652745600,X:1654646400,Y:1657152000,Z:1660780800,a:1663113600,b:1668816000,c:1668643200,d:1671062400,e:1675209600,f:1677024000,g:1679529600,h:1681948800,i:1684195200,j:1687219200,k:1690329600,l:1692748800,m:1696204800,n:1699920000},D:{G:"o",B:"o",C:"o",eC:"o",fC:"o",gC:"o",hC:"o",zB:"o",NC:"o",iC:"o","0B":"o"}},G:{A:{F:0,BC:0,jC:0,OC:0.00276131,kC:0.00276131,lC:0.00690327,mC:0.00966458,nC:0.00138065,oC:0.0110452,pC:0.0345164,qC:0.00276131,rC:0.0497036,sC:0.0248518,tC:0.0207098,uC:0.0124259,vC:0.226427,wC:0.00552262,xC:0.0248518,yC:0.0138065,zC:0.040039,"0C":0.107691,"1C":0.171201,"2C":0.0690327,EC:0.0828393,FC:0.0925039,"1B":0.129782,"3C":0.682043,"2B":0.320312,GC:0.642004,HC:0.306505,IC:0.575733,JC:0.121498,KC:0.306505,"4C":5.19264,"3B":1.556,LC:2.6122,MC:0.0731747},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","BC","jC","OC","kC","lC","mC","F","nC","oC","pC","qC","rC","sC","tC","uC","vC","wC","xC","yC","zC","0C","1C","2C","EC","FC","1B","3C","2B","GC","HC","IC","JC","KC","4C","3B","LC","MC","",""],E:"Safari on iOS",F:{BC:1270252800,jC:1283904000,OC:1299628800,kC:1331078400,lC:1359331200,mC:1394409600,F:1410912000,nC:1413763200,oC:1442361600,pC:1458518400,qC:1473724800,rC:1490572800,sC:1505779200,tC:1522281600,uC:1537142400,vC:1553472000,wC:1568851200,xC:1572220800,yC:1580169600,zC:1585008000,"0C":1600214400,"1C":1619395200,"2C":1632096000,EC:1639353600,FC:1647216000,"1B":1652659200,"3C":1658275200,"2B":1662940800,GC:1666569600,HC:1670889600,IC:1674432000,JC:1679875200,KC:1684368000,"4C":1690156800,"3B":1694995200,LC:1698192000,MC:null}},H:{A:{"5C":0.06},B:"o",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","5C","","",""],E:"Opera Mini",F:{"5C":1426464000}},I:{A:{"4B":0.0000512988,I:0.000102598,D:0.510372,"6C":0,"7C":0.000102598,"8C":0,"9C":0.0000512988,OC:0.000359092,AD:0,BD:0.00148767},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","6C","7C","8C","4B","I","9C","OC","AD","BD","D","","",""],E:"Android Browser",F:{"6C":1256515200,"7C":1274313600,"8C":1291593600,"4B":1298332800,I:1318896000,"9C":1341792000,OC:1374624000,AD:1386547200,BD:1401667200,D:1698710400}},J:{A:{E:0,A:0},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","E","A","","",""],E:"Blackberry Browser",F:{E:1325376000,A:1359504000}},K:{A:{A:0,B:0,C:0,s:1.08181,zB:0,NC:0,"0B":0},B:"o",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","A","B","zB","NC","C","0B","s","","",""],E:"Opera Mobile",F:{A:1287100800,B:1300752000,zB:1314835200,NC:1318291200,C:1330300800,"0B":1349740800,s:1673827200},D:{s:"webkit"}},L:{A:{D:36.3992},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","D","","",""],E:"Chrome for Android",F:{D:1698710400}},M:{A:{D:0.286832},B:"moz",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","D","","",""],E:"Firefox for Android",F:{D:1698105600}},N:{A:{A:0,B:0},B:"ms",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","A","B","","",""],E:"IE Mobile",F:{A:1340150400,B:1353456000}},O:{A:{"1B":0.794304},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","1B","","",""],E:"UC Browser for Android",F:{"1B":1687132800},D:{"1B":"webkit"}},P:{A:{I:0.109121,o:0.0436483,p:0.0982088,q:0.250978,r:1.83323,CD:0,DD:0,ED:0.0327363,FD:0,GD:0,CC:0,HD:0.0109121,ID:0,JD:0.0109121,KD:0,LD:0,"2B":0.0218242,"3B":0.0327363,MD:0.0218242,ND:0.0436483},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","I","CD","DD","ED","FD","GD","CC","HD","ID","JD","KD","LD","2B","3B","MD","ND","o","p","q","r","","",""],E:"Samsung Internet",F:{I:1461024000,CD:1481846400,DD:1509408000,ED:1528329600,FD:1546128000,GD:1554163200,CC:1567900800,HD:1582588800,ID:1593475200,JD:1605657600,KD:1618531200,LD:1629072000,"2B":1640736000,"3B":1651708800,MD:1659657600,ND:1667260800,o:1677369600,p:1684454400,q:1689292800,r:1697587200}},Q:{A:{DC:0.143416},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","DC","","",""],E:"QQ Browser",F:{DC:1663718400}},R:{A:{OD:0},B:"webkit",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","OD","","",""],E:"Baidu Browser",F:{OD:1663027200}},S:{A:{PD:0.066192,QD:0},B:"moz",C:["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","PD","QD","","",""],E:"KaiOS Browser",F:{PD:1527811200,QD:1631664000}}};var browsers=browsers$2.browsers;var versions$1=browserVersions$1.browserVersions;var agentsData=agents$1;function unpackBrowserVersions(versionsData){return Object.keys(versionsData).reduce(function(usage,version){usage[versions$1[version]]=versionsData[version];return usage;},{});}agents$2.agents=Object.keys(agentsData).reduce(function(map,key){var versionsData=agentsData[key];map[browsers[key]]=Object.keys(versionsData).reduce(function(data,entry){if(entry==='A'){data.usage_global=unpackBrowserVersions(versionsData[entry]);}else if(entry==='C'){data.versions=versionsData[entry].reduce(function(list,version){if(version===''){list.push(null);}else{list.push(versions$1[version]);}return list;},[]);}else if(entry==='D'){data.prefix_exceptions=unpackBrowserVersions(versionsData[entry]);}else if(entry==='E'){data.browser=versionsData[entry];}else if(entry==='F'){data.release_date=Object.keys(versionsData[entry]).reduce(function(map2,key2){map2[versions$1[key2]]=versionsData[entry][key2];return map2;},{});}else{data.prefix=versionsData[entry];}return data;},{});return map;},{});var v4={start:"2015-09-08",lts:"2015-10-12",maintenance:"2017-04-01",end:"2018-04-30",codename:"Argon"};var v5={start:"2015-10-29",maintenance:"2016-04-30",end:"2016-06-30"};var v6={start:"2016-04-26",lts:"2016-10-18",maintenance:"2018-04-30",end:"2019-04-30",codename:"Boron"};var v7={start:"2016-10-25",maintenance:"2017-04-30",end:"2017-06-30"};var v8={start:"2017-05-30",lts:"2017-10-31",maintenance:"2019-01-01",end:"2019-12-31",codename:"Carbon"};var v9={start:"2017-10-01",maintenance:"2018-04-01",end:"2018-06-30"};var v10={start:"2018-04-24",lts:"2018-10-30",maintenance:"2020-05-19",end:"2021-04-30",codename:"Dubnium"};var v11={start:"2018-10-23",maintenance:"2019-04-22",end:"2019-06-01"};var v12={start:"2019-04-23",lts:"2019-10-21",maintenance:"2020-11-30",end:"2022-04-30",codename:"Erbium"};var v13={start:"2019-10-22",maintenance:"2020-04-01",end:"2020-06-01"};var v14={start:"2020-04-21",lts:"2020-10-27",maintenance:"2021-10-19",end:"2023-04-30",codename:"Fermium"};var v15={start:"2020-10-20",maintenance:"2021-04-01",end:"2021-06-01"};var v16={start:"2021-04-20",lts:"2021-10-26",maintenance:"2022-10-18",end:"2023-09-11",codename:"Gallium"};var v17={start:"2021-10-19",maintenance:"2022-04-01",end:"2022-06-01"};var v18={start:"2022-04-19",lts:"2022-10-25",maintenance:"2023-10-18",end:"2025-04-30",codename:"Hydrogen"};var v19={start:"2022-10-18",maintenance:"2023-04-01",end:"2023-06-01"};var v20={start:"2023-04-18",lts:"2023-10-24",maintenance:"2024-10-22",end:"2026-04-30",codename:"Iron"};var v21={start:"2023-10-17",maintenance:"2024-04-01",end:"2024-06-01"};var v22={start:"2024-04-23",lts:"2024-10-29",maintenance:"2025-10-21",end:"2027-04-30",codename:""};var v23={start:"2024-10-15",maintenance:"2025-04-01",end:"2025-06-01"};var v24={start:"2025-04-22",lts:"2025-10-28",maintenance:"2026-10-20",end:"2028-04-30",codename:""};var require$$2$1={"v0.8":{start:"2012-06-25",end:"2014-07-31"},"v0.10":{start:"2013-03-11",end:"2016-10-31"},"v0.12":{start:"2015-02-06",end:"2016-12-31"},v4:v4,v5:v5,v6:v6,v7:v7,v8:v8,v9:v9,v10:v10,v11:v11,v12:v12,v13:v13,v14:v14,v15:v15,v16:v16,v17:v17,v18:v18,v19:v19,v20:v20,v21:v21,v22:v22,v23:v23,v24:v24};var require$$3$1=/*@__PURE__*/getAugmentedNamespace(_polyfillNode_path);var versions={"0.20":"39","0.21":"41","0.22":"41","0.23":"41","0.24":"41","0.25":"42","0.26":"42","0.27":"43","0.28":"43","0.29":"43","0.30":"44","0.31":"45","0.32":"45","0.33":"45","0.34":"45","0.35":"45","0.36":"47","0.37":"49","1.0":"49","1.1":"50","1.2":"51","1.3":"52","1.4":"53","1.5":"54","1.6":"56","1.7":"58","1.8":"59","2.0":"61","2.1":"61","3.0":"66","3.1":"66","4.0":"69","4.1":"69","4.2":"69","5.0":"73","6.0":"76","6.1":"76","7.0":"78","7.1":"78","7.2":"78","7.3":"78","8.0":"80","8.1":"80","8.2":"80","8.3":"80","8.4":"80","8.5":"80","9.0":"83","9.1":"83","9.2":"83","9.3":"83","9.4":"83","10.0":"85","10.1":"85","10.2":"85","10.3":"85","10.4":"85","11.0":"87","11.1":"87","11.2":"87","11.3":"87","11.4":"87","11.5":"87","12.0":"89","12.1":"89","12.2":"89","13.0":"91","13.1":"91","13.2":"91","13.3":"91","13.4":"91","13.5":"91","13.6":"91","14.0":"93","14.1":"93","14.2":"93","15.0":"94","15.1":"94","15.2":"94","15.3":"94","15.4":"94","15.5":"94","16.0":"96","16.1":"96","16.2":"96","17.0":"98","17.1":"98","17.2":"98","17.3":"98","17.4":"98","18.0":"100","18.1":"100","18.2":"100","18.3":"100","19.0":"102","19.1":"102","20.0":"104","20.1":"104","20.2":"104","20.3":"104","21.0":"106","21.1":"106","21.2":"106","21.3":"106","21.4":"106","22.0":"108","22.1":"108","22.2":"108","22.3":"108","23.0":"110","23.1":"110","23.2":"110","23.3":"110","24.0":"112","24.1":"112","24.2":"112","24.3":"112","24.4":"112","24.5":"112","24.6":"112","25.0":"114","25.1":"114","25.2":"114","26.0":"116"};function BrowserslistError$2(message){this.name='BrowserslistError';this.message=message;this.browserslist=true;if(Error.captureStackTrace){Error.captureStackTrace(this,BrowserslistError$2);}}BrowserslistError$2.prototype=Error.prototype;var error=BrowserslistError$2;var AND_REGEXP=/^\s+and\s+(.*)/i;var OR_REGEXP=/^(?:,\s*|\s+or\s+)(.*)/i;function flatten(array){if(!Array.isArray(array))return[array];return array.reduce(function(a,b){return a.concat(flatten(b));},[]);}function find(string,predicate){for(var n=1,max=string.length;n<=max;n++){var parsed=string.substr(-n,n);if(predicate(parsed,n,max)){return string.slice(0,-n);}}return'';}function matchQuery(all,query){var node={query:query};if(query.indexOf('not ')===0){node.not=true;query=query.slice(4);}for(var name in all){var type=all[name];var match=query.match(type.regexp);if(match){node.type=name;for(var i=0;i<type.matches.length;i++){node[type.matches[i]]=match[i+1];}return node;}}node.type='unknown';return node;}function matchBlock(all,string,qs){var node;return find(string,function(parsed,n,max){if(AND_REGEXP.test(parsed)){node=matchQuery(all,parsed.match(AND_REGEXP)[1]);node.compose='and';qs.unshift(node);return true;}else if(OR_REGEXP.test(parsed)){node=matchQuery(all,parsed.match(OR_REGEXP)[1]);node.compose='or';qs.unshift(node);return true;}else if(n===max){node=matchQuery(all,parsed.trim());node.compose='or';qs.unshift(node);return true;}return false;});}var parse$3=function parse(all,queries){if(!Array.isArray(queries))queries=[queries];return flatten(queries.map(function(block){var qs=[];do{block=matchBlock(all,block,qs);}while(block);return qs;}));};var BrowserslistError$1=error;function noop(){}var browser={loadQueries:function loadQueries(){throw new BrowserslistError$1('Sharable configs are not supported in client-side build of Browserslist');},getStat:function getStat(opts){return opts.stats;},loadConfig:function loadConfig(opts){if(opts.config){throw new BrowserslistError$1('Browserslist config are not supported in client-side build');}},loadCountry:function loadCountry(){throw new BrowserslistError$1('Country statistics are not supported '+'in client-side build of Browserslist');},loadFeature:function loadFeature(){throw new BrowserslistError$1('Supports queries are not available in client-side build of Browserslist');},currentNode:function currentNode(resolve,context){return resolve(['maintained node versions'],context)[0];},parseConfig:noop,readConfig:noop,findConfig:noop,clearCaches:noop,oldDataWarning:noop,env:{}};var jsReleases=require$$0$8;var agents=agents$2.agents;var jsEOL=require$$2$1;var path=require$$3$1;var e2c=versions;var BrowserslistError=error;var parse$2=parse$3;var env=browser;var YEAR=365.259641*24*60*60*1000;var ANDROID_EVERGREEN_FIRST='37';var OP_MOB_BLINK_FIRST=14;function isVersionsMatch(versionA,versionB){return(versionA+'.').indexOf(versionB+'.')===0;}function isEolReleased(name){var version=name.slice(1);return browserslist.nodeVersions.some(function(i){return isVersionsMatch(i,version);});}function normalize$1(versions){return versions.filter(function(version){return typeof version==='string';});}function normalizeElectron(version){var versionToUse=version;if(version.split('.').length===3){versionToUse=version.split('.').slice(0,-1).join('.');}return versionToUse;}function nameMapper(name){return function mapName(version){return name+' '+version;};}function getMajor(version){return parseInt(version.split('.')[0]);}function getMajorVersions(released,number){if(released.length===0)return[];var majorVersions=uniq(released.map(getMajor));var minimum=majorVersions[majorVersions.length-number];if(!minimum){return released;}var selected=[];for(var i=released.length-1;i>=0;i--){if(minimum>getMajor(released[i]))break;selected.unshift(released[i]);}return selected;}function uniq(array){var filtered=[];for(var i=0;i<array.length;i++){if(filtered.indexOf(array[i])===-1)filtered.push(array[i]);}return filtered;}function fillUsage(result,name,data){for(var i in data){result[name+' '+i]=data[i];}}function generateFilter(sign,version){version=parseFloat(version);if(sign==='>'){return function(v){return parseFloat(v)>version;};}else if(sign==='>='){return function(v){return parseFloat(v)>=version;};}else if(sign==='<'){return function(v){return parseFloat(v)<version;};}else{return function(v){return parseFloat(v)<=version;};}}function generateSemverFilter(sign,version){version=version.split('.').map(parseSimpleInt);version[1]=version[1]||0;version[2]=version[2]||0;if(sign==='>'){return function(v){v=v.split('.').map(parseSimpleInt);return compareSemver(v,version)>0;};}else if(sign==='>='){return function(v){v=v.split('.').map(parseSimpleInt);return compareSemver(v,version)>=0;};}else if(sign==='<'){return function(v){v=v.split('.').map(parseSimpleInt);return compareSemver(version,v)>0;};}else{return function(v){v=v.split('.').map(parseSimpleInt);return compareSemver(version,v)>=0;};}}function parseSimpleInt(x){return parseInt(x);}function compare$2(a,b){if(a<b)return-1;if(a>b)return+1;return 0;}function compareSemver(a,b){return compare$2(parseInt(a[0]),parseInt(b[0]))||compare$2(parseInt(a[1]||'0'),parseInt(b[1]||'0'))||compare$2(parseInt(a[2]||'0'),parseInt(b[2]||'0'));}function semverFilterLoose(operator,range){range=range.split('.').map(parseSimpleInt);if(typeof range[1]==='undefined'){range[1]='x';}switch(operator){case'<=':return function(version){version=version.split('.').map(parseSimpleInt);return compareSemverLoose(version,range)<=0;};case'>=':default:return function(version){version=version.split('.').map(parseSimpleInt);return compareSemverLoose(version,range)>=0;};}}function compareSemverLoose(version,range){if(version[0]!==range[0]){return version[0]<range[0]?-1:+1;}if(range[1]==='x'){return 0;}if(version[1]!==range[1]){return version[1]<range[1]?-1:+1;}return 0;}function resolveVersion(data,version){if(data.versions.indexOf(version)!==-1){return version;}else if(browserslist.versionAliases[data.name][version]){return browserslist.versionAliases[data.name][version];}else{return false;}}function normalizeVersion(data,version){var resolved=resolveVersion(data,version);if(resolved){return resolved;}else if(data.versions.length===1){return data.versions[0];}else{return false;}}function filterByYear(since,context){since=since/1000;return Object.keys(agents).reduce(function(selected,name){var data=byName(name,context);if(!data)return selected;var versions=Object.keys(data.releaseDate).filter(function(v){var date=data.releaseDate[v];return date!==null&&date>=since;});return selected.concat(versions.map(nameMapper(data.name)));},[]);}function cloneData(data){return{name:data.name,versions:data.versions,released:data.released,releaseDate:data.releaseDate};}function byName(name,context){name=name.toLowerCase();name=browserslist.aliases[name]||name;if(context.mobileToDesktop&&browserslist.desktopNames[name]){var desktop=browserslist.data[browserslist.desktopNames[name]];if(name==='android'){return normalizeAndroidData(cloneData(browserslist.data[name]),desktop);}else{var cloned=cloneData(desktop);cloned.name=name;return cloned;}}return browserslist.data[name];}function normalizeAndroidVersions(androidVersions,chromeVersions){var iFirstEvergreen=chromeVersions.indexOf(ANDROID_EVERGREEN_FIRST);return androidVersions.filter(function(version){return /^(?:[2-4]\.|[34]$)/.test(version);}).concat(chromeVersions.slice(iFirstEvergreen));}function copyObject(obj){var copy={};for(var key in obj){copy[key]=obj[key];}return copy;}function normalizeAndroidData(android,chrome){android.released=normalizeAndroidVersions(android.released,chrome.released);android.versions=normalizeAndroidVersions(android.versions,chrome.versions);android.releaseDate=copyObject(android.releaseDate);android.released.forEach(function(v){if(android.releaseDate[v]===undefined){android.releaseDate[v]=chrome.releaseDate[v];}});return android;}function checkName(name,context){var data=byName(name,context);if(!data)throw new BrowserslistError('Unknown browser '+name);return data;}function unknownQuery(query){return new BrowserslistError('Unknown browser query `'+query+'`. '+'Maybe you are using old Browserslist or made typo in query.');}function filterJumps(list,name,nVersions,context){var jump=1;switch(name){case'android':if(context.mobileToDesktop)return list;var released=browserslist.data.chrome.released;jump=released.length-released.indexOf(ANDROID_EVERGREEN_FIRST);break;case'op_mob':var latest=browserslist.data.op_mob.released.slice(-1)[0];jump=getMajor(latest)-OP_MOB_BLINK_FIRST+1;break;default:return list;}if(nVersions<=jump){return list.slice(-1);}return list.slice(jump-1-nVersions);}function isSupported(flags,withPartial){return typeof flags==='string'&&(flags.indexOf('y')>=0||withPartial&&flags.indexOf('a')>=0);}function resolve$1(queries,context){return parse$2(QUERIES,queries).reduce(function(result,node,index){if(node.not&&index===0){throw new BrowserslistError('Write any browsers query (for instance, `defaults`) '+'before `'+node.query+'`');}var type=QUERIES[node.type];var array=type.select.call(browserslist,context,node).map(function(j){var parts=j.split(' ');if(parts[1]==='0'){return parts[0]+' '+byName(parts[0],context).versions[0];}else{return j;}});if(node.compose==='and'){if(node.not){return result.filter(function(j){return array.indexOf(j)===-1;});}else{return result.filter(function(j){return array.indexOf(j)!==-1;});}}else{if(node.not){var filter={};array.forEach(function(j){filter[j]=true;});return result.filter(function(j){return!filter[j];});}return result.concat(array);}},[]);}function prepareOpts(opts){if(typeof opts==='undefined')opts={};if(typeof opts.path==='undefined'){opts.path=path.resolve?path.resolve('.'):'.';}return opts;}function prepareQueries(queries,opts){if(typeof queries==='undefined'||queries===null){var config=browserslist.loadConfig(opts);if(config){queries=config;}else{queries=browserslist.defaults;}}return queries;}function checkQueries(queries){if(!(typeof queries==='string'||Array.isArray(queries))){throw new BrowserslistError('Browser queries must be an array or string. Got '+_typeof(queries)+'.');}}var cache={};function browserslist(queries,opts){opts=prepareOpts(opts);queries=prepareQueries(queries,opts);checkQueries(queries);var context={ignoreUnknownVersions:opts.ignoreUnknownVersions,dangerousExtend:opts.dangerousExtend,mobileToDesktop:opts.mobileToDesktop,path:opts.path,env:opts.env};env.oldDataWarning(browserslist.data);var stats=env.getStat(opts,browserslist.data);if(stats){context.customUsage={};for(var browser in stats){fillUsage(context.customUsage,browser,stats[browser]);}}var cacheKey=JSON.stringify([queries,context]);if(cache[cacheKey])return cache[cacheKey];var result=uniq(resolve$1(queries,context)).sort(function(name1,name2){name1=name1.split(' ');name2=name2.split(' ');if(name1[0]===name2[0]){var version1=name1[1].split('-')[0];var version2=name2[1].split('-')[0];return compareSemver(version2.split('.'),version1.split('.'));}else{return compare$2(name1[0],name2[0]);}});if(!env.env.BROWSERSLIST_DISABLE_CACHE){cache[cacheKey]=result;}return result;}browserslist.parse=function(queries,opts){opts=prepareOpts(opts);queries=prepareQueries(queries,opts);checkQueries(queries);return parse$2(QUERIES,queries);};browserslist.cache={};browserslist.data={};browserslist.usage={global:{},custom:null};browserslist.defaults=['> 0.5%','last 2 versions','Firefox ESR','not dead'];browserslist.aliases={fx:'firefox',ff:'firefox',ios:'ios_saf',explorer:'ie',blackberry:'bb',explorermobile:'ie_mob',operamini:'op_mini',operamobile:'op_mob',chromeandroid:'and_chr',firefoxandroid:'and_ff',ucandroid:'and_uc',qqandroid:'and_qq'};browserslist.desktopNames={and_chr:'chrome',and_ff:'firefox',ie_mob:'ie',android:'chrome'};browserslist.versionAliases={};browserslist.clearCaches=env.clearCaches;browserslist.parseConfig=env.parseConfig;browserslist.readConfig=env.readConfig;browserslist.findConfig=env.findConfig;browserslist.loadConfig=env.loadConfig;browserslist.coverage=function(browsers,stats){var data;if(typeof stats==='undefined'){data=browserslist.usage.global;}else if(stats==='my stats'){var opts={};opts.path=path.resolve?path.resolve('.'):'.';var customStats=env.getStat(opts);if(!customStats){throw new BrowserslistError('Custom usage statistics was not provided');}data={};for(var browser in customStats){fillUsage(data,browser,customStats[browser]);}}else if(typeof stats==='string'){if(stats.length>2){stats=stats.toLowerCase();}else{stats=stats.toUpperCase();}env.loadCountry(browserslist.usage,stats,browserslist.data);data=browserslist.usage[stats];}else{if('dataByBrowser'in stats){stats=stats.dataByBrowser;}data={};for(var name in stats){for(var version in stats[name]){data[name+' '+version]=stats[name][version];}}}return browsers.reduce(function(all,i){var usage=data[i];if(usage===undefined){usage=data[i.replace(/ \S+$/,' 0')];}return all+(usage||0);},0);};function nodeQuery(context,node){var matched=browserslist.nodeVersions.filter(function(i){return isVersionsMatch(i,node.version);});if(matched.length===0){if(context.ignoreUnknownVersions){return[];}else{throw new BrowserslistError('Unknown version '+node.version+' of Node.js');}}return['node '+matched[matched.length-1]];}function sinceQuery(context,node){var year=parseInt(node.year);var month=parseInt(node.month||'01')-1;var day=parseInt(node.day||'01');return filterByYear(Date.UTC(year,month,day,0,0,0),context);}function coverQuery(context,node){var coverage=parseFloat(node.coverage);var usage=browserslist.usage.global;if(node.place){if(node.place.match(/^my\s+stats$/i)){if(!context.customUsage){throw new BrowserslistError('Custom usage statistics was not provided');}usage=context.customUsage;}else{var place;if(node.place.length===2){place=node.place.toUpperCase();}else{place=node.place.toLowerCase();}env.loadCountry(browserslist.usage,place,browserslist.data);usage=browserslist.usage[place];}}var versions=Object.keys(usage).sort(function(a,b){return usage[b]-usage[a];});var coveraged=0;var result=[];var version;for(var i=0;i<versions.length;i++){version=versions[i];if(usage[version]===0)break;coveraged+=usage[version];result.push(version);if(coveraged>=coverage)break;}return result;}var QUERIES={last_major_versions:{matches:['versions'],regexp:/^last\s+(\d+)\s+major\s+versions?$/i,select:function select(context,node){return Object.keys(agents).reduce(function(selected,name){var data=byName(name,context);if(!data)return selected;var list=getMajorVersions(data.released,node.versions);list=list.map(nameMapper(data.name));list=filterJumps(list,data.name,node.versions,context);return selected.concat(list);},[]);}},last_versions:{matches:['versions'],regexp:/^last\s+(\d+)\s+versions?$/i,select:function select(context,node){return Object.keys(agents).reduce(function(selected,name){var data=byName(name,context);if(!data)return selected;var list=data.released.slice(-node.versions);list=list.map(nameMapper(data.name));list=filterJumps(list,data.name,node.versions,context);return selected.concat(list);},[]);}},last_electron_major_versions:{matches:['versions'],regexp:/^last\s+(\d+)\s+electron\s+major\s+versions?$/i,select:function select(context,node){var validVersions=getMajorVersions(Object.keys(e2c),node.versions);return validVersions.map(function(i){return'chrome '+e2c[i];});}},last_node_major_versions:{matches:['versions'],regexp:/^last\s+(\d+)\s+node\s+major\s+versions?$/i,select:function select(context,node){return getMajorVersions(browserslist.nodeVersions,node.versions).map(function(version){return'node '+version;});}},last_browser_major_versions:{matches:['versions','browser'],regexp:/^last\s+(\d+)\s+(\w+)\s+major\s+versions?$/i,select:function select(context,node){var data=checkName(node.browser,context);var validVersions=getMajorVersions(data.released,node.versions);var list=validVersions.map(nameMapper(data.name));list=filterJumps(list,data.name,node.versions,context);return list;}},last_electron_versions:{matches:['versions'],regexp:/^last\s+(\d+)\s+electron\s+versions?$/i,select:function select(context,node){return Object.keys(e2c).slice(-node.versions).map(function(i){return'chrome '+e2c[i];});}},last_node_versions:{matches:['versions'],regexp:/^last\s+(\d+)\s+node\s+versions?$/i,select:function select(context,node){return browserslist.nodeVersions.slice(-node.versions).map(function(version){return'node '+version;});}},last_browser_versions:{matches:['versions','browser'],regexp:/^last\s+(\d+)\s+(\w+)\s+versions?$/i,select:function select(context,node){var data=checkName(node.browser,context);var list=data.released.slice(-node.versions).map(nameMapper(data.name));list=filterJumps(list,data.name,node.versions,context);return list;}},unreleased_versions:{matches:[],regexp:/^unreleased\s+versions$/i,select:function select(context){return Object.keys(agents).reduce(function(selected,name){var data=byName(name,context);if(!data)return selected;var list=data.versions.filter(function(v){return data.released.indexOf(v)===-1;});list=list.map(nameMapper(data.name));return selected.concat(list);},[]);}},unreleased_electron_versions:{matches:[],regexp:/^unreleased\s+electron\s+versions?$/i,select:function select(){return[];}},unreleased_browser_versions:{matches:['browser'],regexp:/^unreleased\s+(\w+)\s+versions?$/i,select:function select(context,node){var data=checkName(node.browser,context);return data.versions.filter(function(v){return data.released.indexOf(v)===-1;}).map(nameMapper(data.name));}},last_years:{matches:['years'],regexp:/^last\s+(\d*.?\d+)\s+years?$/i,select:function select(context,node){return filterByYear(Date.now()-YEAR*node.years,context);}},since_y:{matches:['year'],regexp:/^since (\d+)$/i,select:sinceQuery},since_y_m:{matches:['year','month'],regexp:/^since (\d+)-(\d+)$/i,select:sinceQuery},since_y_m_d:{matches:['year','month','day'],regexp:/^since (\d+)-(\d+)-(\d+)$/i,select:sinceQuery},popularity:{matches:['sign','popularity'],regexp:/^(>=?|<=?)\s*(\d+|\d+\.\d+|\.\d+)%$/,select:function select(context,node){var popularity=parseFloat(node.popularity);var usage=browserslist.usage.global;return Object.keys(usage).reduce(function(result,version){if(node.sign==='>'){if(usage[version]>popularity){result.push(version);}}else if(node.sign==='<'){if(usage[version]<popularity){result.push(version);}}else if(node.sign==='<='){if(usage[version]<=popularity){result.push(version);}}else if(usage[version]>=popularity){result.push(version);}return result;},[]);}},popularity_in_my_stats:{matches:['sign','popularity'],regexp:/^(>=?|<=?)\s*(\d+|\d+\.\d+|\.\d+)%\s+in\s+my\s+stats$/,select:function select(context,node){var popularity=parseFloat(node.popularity);if(!context.customUsage){throw new BrowserslistError('Custom usage statistics was not provided');}var usage=context.customUsage;return Object.keys(usage).reduce(function(result,version){var percentage=usage[version];if(percentage==null){return result;}if(node.sign==='>'){if(percentage>popularity){result.push(version);}}else if(node.sign==='<'){if(percentage<popularity){result.push(version);}}else if(node.sign==='<='){if(percentage<=popularity){result.push(version);}}else if(percentage>=popularity){result.push(version);}return result;},[]);}},popularity_in_config_stats:{matches:['sign','popularity','config'],regexp:/^(>=?|<=?)\s*(\d+|\d+\.\d+|\.\d+)%\s+in\s+(\S+)\s+stats$/,select:function select(context,node){var popularity=parseFloat(node.popularity);var stats=env.loadStat(context,node.config,browserslist.data);if(stats){context.customUsage={};for(var browser in stats){fillUsage(context.customUsage,browser,stats[browser]);}}if(!context.customUsage){throw new BrowserslistError('Custom usage statistics was not provided');}var usage=context.customUsage;return Object.keys(usage).reduce(function(result,version){var percentage=usage[version];if(percentage==null){return result;}if(node.sign==='>'){if(percentage>popularity){result.push(version);}}else if(node.sign==='<'){if(percentage<popularity){result.push(version);}}else if(node.sign==='<='){if(percentage<=popularity){result.push(version);}}else if(percentage>=popularity){result.push(version);}return result;},[]);}},popularity_in_place:{matches:['sign','popularity','place'],regexp:/^(>=?|<=?)\s*(\d+|\d+\.\d+|\.\d+)%\s+in\s+((alt-)?\w\w)$/,select:function select(context,node){var popularity=parseFloat(node.popularity);var place=node.place;if(place.length===2){place=place.toUpperCase();}else{place=place.toLowerCase();}env.loadCountry(browserslist.usage,place,browserslist.data);var usage=browserslist.usage[place];return Object.keys(usage).reduce(function(result,version){var percentage=usage[version];if(percentage==null){return result;}if(node.sign==='>'){if(percentage>popularity){result.push(version);}}else if(node.sign==='<'){if(percentage<popularity){result.push(version);}}else if(node.sign==='<='){if(percentage<=popularity){result.push(version);}}else if(percentage>=popularity){result.push(version);}return result;},[]);}},cover:{matches:['coverage'],regexp:/^cover\s+(\d+|\d+\.\d+|\.\d+)%$/i,select:coverQuery},cover_in:{matches:['coverage','place'],regexp:/^cover\s+(\d+|\d+\.\d+|\.\d+)%\s+in\s+(my\s+stats|(alt-)?\w\w)$/i,select:coverQuery},supports:{matches:['supportType','feature'],regexp:/^(?:(fully|partially) )?supports\s+([\w-]+)$/,select:function select(context,node){env.loadFeature(browserslist.cache,node.feature);var withPartial=node.supportType!=='fully';var features=browserslist.cache[node.feature];var result=[];for(var name in features){var data=byName(name,context);var checkDesktop=context.mobileToDesktop&&name in browserslist.desktopNames&&isSupported(features[name][data.released.slice(-1)[0]],withPartial);data.versions.forEach(function(version){var flags=features[name][version];if(flags===undefined&&checkDesktop){flags=features[browserslist.desktopNames[name]][version];}if(isSupported(flags,withPartial)){result.push(name+' '+version);}});}return result;}},electron_range:{matches:['from','to'],regexp:/^electron\s+([\d.]+)\s*-\s*([\d.]+)$/i,select:function select(context,node){var fromToUse=normalizeElectron(node.from);var toToUse=normalizeElectron(node.to);var from=parseFloat(node.from);var to=parseFloat(node.to);if(!e2c[fromToUse]){throw new BrowserslistError('Unknown version '+from+' of electron');}if(!e2c[toToUse]){throw new BrowserslistError('Unknown version '+to+' of electron');}return Object.keys(e2c).filter(function(i){var parsed=parseFloat(i);return parsed>=from&&parsed<=to;}).map(function(i){return'chrome '+e2c[i];});}},node_range:{matches:['from','to'],regexp:/^node\s+([\d.]+)\s*-\s*([\d.]+)$/i,select:function select(context,node){return browserslist.nodeVersions.filter(semverFilterLoose('>=',node.from)).filter(semverFilterLoose('<=',node.to)).map(function(v){return'node '+v;});}},browser_range:{matches:['browser','from','to'],regexp:/^(\w+)\s+([\d.]+)\s*-\s*([\d.]+)$/i,select:function select(context,node){var data=checkName(node.browser,context);var from=parseFloat(normalizeVersion(data,node.from)||node.from);var to=parseFloat(normalizeVersion(data,node.to)||node.to);function filter(v){var parsed=parseFloat(v);return parsed>=from&&parsed<=to;}return data.released.filter(filter).map(nameMapper(data.name));}},electron_ray:{matches:['sign','version'],regexp:/^electron\s*(>=?|<=?)\s*([\d.]+)$/i,select:function select(context,node){var versionToUse=normalizeElectron(node.version);return Object.keys(e2c).filter(generateFilter(node.sign,versionToUse)).map(function(i){return'chrome '+e2c[i];});}},node_ray:{matches:['sign','version'],regexp:/^node\s*(>=?|<=?)\s*([\d.]+)$/i,select:function select(context,node){return browserslist.nodeVersions.filter(generateSemverFilter(node.sign,node.version)).map(function(v){return'node '+v;});}},browser_ray:{matches:['browser','sign','version'],regexp:/^(\w+)\s*(>=?|<=?)\s*([\d.]+)$/,select:function select(context,node){var version=node.version;var data=checkName(node.browser,context);var alias=browserslist.versionAliases[data.name][version];if(alias)version=alias;return data.released.filter(generateFilter(node.sign,version)).map(function(v){return data.name+' '+v;});}},firefox_esr:{matches:[],regexp:/^(firefox|ff|fx)\s+esr$/i,select:function select(){return['firefox 115'];}},opera_mini_all:{matches:[],regexp:/(operamini|op_mini)\s+all/i,select:function select(){return['op_mini all'];}},electron_version:{matches:['version'],regexp:/^electron\s+([\d.]+)$/i,select:function select(context,node){var versionToUse=normalizeElectron(node.version);var chrome=e2c[versionToUse];if(!chrome){throw new BrowserslistError('Unknown version '+node.version+' of electron');}return['chrome '+chrome];}},node_major_version:{matches:['version'],regexp:/^node\s+(\d+)$/i,select:nodeQuery},node_minor_version:{matches:['version'],regexp:/^node\s+(\d+\.\d+)$/i,select:nodeQuery},node_patch_version:{matches:['version'],regexp:/^node\s+(\d+\.\d+\.\d+)$/i,select:nodeQuery},current_node:{matches:[],regexp:/^current\s+node$/i,select:function select(context){return[env.currentNode(resolve$1,context)];}},maintained_node:{matches:[],regexp:/^maintained\s+node\s+versions$/i,select:function select(context){var now=Date.now();var queries=Object.keys(jsEOL).filter(function(key){return now<Date.parse(jsEOL[key].end)&&now>Date.parse(jsEOL[key].start)&&isEolReleased(key);}).map(function(key){return'node '+key.slice(1);});return resolve$1(queries,context);}},phantomjs_1_9:{matches:[],regexp:/^phantomjs\s+1.9$/i,select:function select(){return['safari 5'];}},phantomjs_2_1:{matches:[],regexp:/^phantomjs\s+2.1$/i,select:function select(){return['safari 6'];}},browser_version:{matches:['browser','version'],regexp:/^(\w+)\s+(tp|[\d.]+)$/i,select:function select(context,node){var version=node.version;if(/^tp$/i.test(version))version='TP';var data=checkName(node.browser,context);var alias=normalizeVersion(data,version);if(alias){version=alias;}else{if(version.indexOf('.')===-1){alias=version+'.0';}else{alias=version.replace(/\.0$/,'');}alias=normalizeVersion(data,alias);if(alias){version=alias;}else if(context.ignoreUnknownVersions){return[];}else{throw new BrowserslistError('Unknown version '+version+' of '+node.browser);}}return[data.name+' '+version];}},browserslist_config:{matches:[],regexp:/^browserslist config$/i,select:function select(context){return browserslist(undefined,context);}},"extends":{matches:['config'],regexp:/^extends (.+)$/i,select:function select(context,node){return resolve$1(env.loadQueries(context,node.config),context);}},defaults:{matches:[],regexp:/^defaults$/i,select:function select(context){return resolve$1(browserslist.defaults,context);}},dead:{matches:[],regexp:/^dead$/i,select:function select(context){var dead=['Baidu >= 0','ie <= 11','ie_mob <= 11','bb <= 10','op_mob <= 12.1','samsung 4'];return resolve$1(dead,context);}},unknown:{matches:[],regexp:/^(\w+)$/i,select:function select(context,node){if(byName(node.query,context)){throw new BrowserslistError('Specify versions in Browserslist query for browser '+node.query);}else{throw unknownQuery(node.query);}}}};(function(){for(var name in agents){var browser=agents[name];browserslist.data[name]={name:name,versions:normalize$1(agents[name].versions),released:normalize$1(agents[name].versions.slice(0,-3)),releaseDate:agents[name].release_date};fillUsage(browserslist.usage.global,name,browser.usage_global);browserslist.versionAliases[name]={};for(var i=0;i<browser.versions.length;i++){var full=browser.versions[i];if(!full)continue;if(full.indexOf('-')!==-1){var interval=full.split('-');for(var j=0;j<interval.length;j++){browserslist.versionAliases[name][interval[j]]=full;}}}}browserslist.nodeVersions=jsReleases.map(function(release){return release.version;});})();var browserslist_1=browserslist;var min=Math.min;function levenshtein(a,b){var t=[],u=[],i,j;var m=a.length,n=b.length;if(!m){return n;}if(!n){return m;}for(j=0;j<=n;j++){t[j]=j;}for(i=1;i<=m;i++){for(u=[i],j=1;j<=n;j++){u[j]=a[i-1]===b[j-1]?t[j-1]:min(t[j-1],t[j],u[j-1])+1;}t=u;}return u[n];}function findSuggestion(str,arr){var distances=arr.map(function(el){return levenshtein(el,str);});return arr[distances.indexOf(min.apply(void 0,_toConsumableArray(distances)))];}var OptionValidator=function(){function OptionValidator(descriptor){this.descriptor=descriptor;}var _proto=OptionValidator.prototype;_proto.validateTopLevelOptions=function validateTopLevelOptions(options,TopLevelOptionShape){var validOptionNames=Object.keys(TopLevelOptionShape);for(var _i=0,_Object$keys=Object.keys(options);_i<_Object$keys.length;_i++){var option=_Object$keys[_i];if(!validOptionNames.includes(option)){throw new Error(this.formatMessage("'"+option+"' is not a valid top-level option.\n- Did you mean '"+findSuggestion(option,validOptionNames)+"'?"));}}};_proto.validateBooleanOption=function validateBooleanOption(name,value,defaultValue){if(value===undefined){return defaultValue;}else{this.invariant(typeof value==="boolean","'"+name+"' option must be a boolean.");}return value;};_proto.validateStringOption=function validateStringOption(name,value,defaultValue){if(value===undefined){return defaultValue;}else{this.invariant(typeof value==="string","'"+name+"' option must be a string.");}return value;};_proto.invariant=function invariant(condition,message){if(!condition){throw new Error(this.formatMessage(message));}};_proto.formatMessage=function formatMessage(message){return this.descriptor+": "+message;};return _createClass(OptionValidator);}();var require$$0$7={"es6.module":{chrome:"61",and_chr:"61",edge:"16",firefox:"60",and_ff:"60",node:"13.2.0",opera:"48",op_mob:"45",safari:"10.1",ios:"10.3",samsung:"8.2",android:"61",electron:"2.0",ios_saf:"10.3"}};var nativeModules=require$$0$7;var iterator;var hasRequiredIterator;function requireIterator(){if(hasRequiredIterator)return iterator;hasRequiredIterator=1;iterator=function iterator(Yallist){Yallist.prototype[Symbol.iterator]=_regeneratorRuntime().mark(function _callee(){var walker;return _regeneratorRuntime().wrap(function _callee$(_context){while(1)switch(_context.prev=_context.next){case 0:walker=this.head;case 1:if(!walker){_context.next=7;break;}_context.next=4;return walker.value;case 4:walker=walker.next;_context.next=1;break;case 7:case"end":return _context.stop();}},_callee,this);});};return iterator;}var yallist;var hasRequiredYallist;function requireYallist(){if(hasRequiredYallist)return yallist;hasRequiredYallist=1;yallist=Yallist;Yallist.Node=Node;Yallist.create=Yallist;function Yallist(list){var self=this;if(!(self instanceof Yallist)){self=new Yallist();}self.tail=null;self.head=null;self.length=0;if(list&&typeof list.forEach==='function'){list.forEach(function(item){self.push(item);});}else if(arguments.length>0){for(var i=0,l=arguments.length;i<l;i++){self.push(arguments[i]);}}return self;}Yallist.prototype.removeNode=function(node){if(node.list!==this){throw new Error('removing node which does not belong to this list');}var next=node.next;var prev=node.prev;if(next){next.prev=prev;}if(prev){prev.next=next;}if(node===this.head){this.head=next;}if(node===this.tail){this.tail=prev;}node.list.length--;node.next=null;node.prev=null;node.list=null;return next;};Yallist.prototype.unshiftNode=function(node){if(node===this.head){return;}if(node.list){node.list.removeNode(node);}var head=this.head;node.list=this;node.next=head;if(head){head.prev=node;}this.head=node;if(!this.tail){this.tail=node;}this.length++;};Yallist.prototype.pushNode=function(node){if(node===this.tail){return;}if(node.list){node.list.removeNode(node);}var tail=this.tail;node.list=this;node.prev=tail;if(tail){tail.next=node;}this.tail=node;if(!this.head){this.head=node;}this.length++;};Yallist.prototype.push=function(){for(var i=0,l=arguments.length;i<l;i++){push(this,arguments[i]);}return this.length;};Yallist.prototype.unshift=function(){for(var i=0,l=arguments.length;i<l;i++){unshift(this,arguments[i]);}return this.length;};Yallist.prototype.pop=function(){if(!this.tail){return undefined;}var res=this.tail.value;this.tail=this.tail.prev;if(this.tail){this.tail.next=null;}else{this.head=null;}this.length--;return res;};Yallist.prototype.shift=function(){if(!this.head){return undefined;}var res=this.head.value;this.head=this.head.next;if(this.head){this.head.prev=null;}else{this.tail=null;}this.length--;return res;};Yallist.prototype.forEach=function(fn,thisp){thisp=thisp||this;for(var walker=this.head,i=0;walker!==null;i++){fn.call(thisp,walker.value,i,this);walker=walker.next;}};Yallist.prototype.forEachReverse=function(fn,thisp){thisp=thisp||this;for(var walker=this.tail,i=this.length-1;walker!==null;i--){fn.call(thisp,walker.value,i,this);walker=walker.prev;}};Yallist.prototype.get=function(n){for(var i=0,walker=this.head;walker!==null&&i<n;i++){walker=walker.next;}if(i===n&&walker!==null){return walker.value;}};Yallist.prototype.getReverse=function(n){for(var i=0,walker=this.tail;walker!==null&&i<n;i++){walker=walker.prev;}if(i===n&&walker!==null){return walker.value;}};Yallist.prototype.map=function(fn,thisp){thisp=thisp||this;var res=new Yallist();for(var walker=this.head;walker!==null;){res.push(fn.call(thisp,walker.value,this));walker=walker.next;}return res;};Yallist.prototype.mapReverse=function(fn,thisp){thisp=thisp||this;var res=new Yallist();for(var walker=this.tail;walker!==null;){res.push(fn.call(thisp,walker.value,this));walker=walker.prev;}return res;};Yallist.prototype.reduce=function(fn,initial){var acc;var walker=this.head;if(arguments.length>1){acc=initial;}else if(this.head){walker=this.head.next;acc=this.head.value;}else{throw new TypeError('Reduce of empty list with no initial value');}for(var i=0;walker!==null;i++){acc=fn(acc,walker.value,i);walker=walker.next;}return acc;};Yallist.prototype.reduceReverse=function(fn,initial){var acc;var walker=this.tail;if(arguments.length>1){acc=initial;}else if(this.tail){walker=this.tail.prev;acc=this.tail.value;}else{throw new TypeError('Reduce of empty list with no initial value');}for(var i=this.length-1;walker!==null;i--){acc=fn(acc,walker.value,i);walker=walker.prev;}return acc;};Yallist.prototype.toArray=function(){var arr=new Array(this.length);for(var i=0,walker=this.head;walker!==null;i++){arr[i]=walker.value;walker=walker.next;}return arr;};Yallist.prototype.toArrayReverse=function(){var arr=new Array(this.length);for(var i=0,walker=this.tail;walker!==null;i++){arr[i]=walker.value;walker=walker.prev;}return arr;};Yallist.prototype.slice=function(from,to){to=to||this.length;if(to<0){to+=this.length;}from=from||0;if(from<0){from+=this.length;}var ret=new Yallist();if(to<from||to<0){return ret;}if(from<0){from=0;}if(to>this.length){to=this.length;}for(var i=0,walker=this.head;walker!==null&&i<from;i++){walker=walker.next;}for(;walker!==null&&i<to;i++,walker=walker.next){ret.push(walker.value);}return ret;};Yallist.prototype.sliceReverse=function(from,to){to=to||this.length;if(to<0){to+=this.length;}from=from||0;if(from<0){from+=this.length;}var ret=new Yallist();if(to<from||to<0){return ret;}if(from<0){from=0;}if(to>this.length){to=this.length;}for(var i=this.length,walker=this.tail;walker!==null&&i>to;i--){walker=walker.prev;}for(;walker!==null&&i>from;i--,walker=walker.prev){ret.push(walker.value);}return ret;};Yallist.prototype.splice=function(start,deleteCount){if(start>this.length){start=this.length-1;}if(start<0){start=this.length+start;}for(var i=0,walker=this.head;walker!==null&&i<start;i++){walker=walker.next;}var ret=[];for(var i=0;walker&&i<deleteCount;i++){ret.push(walker.value);walker=this.removeNode(walker);}if(walker===null){walker=this.tail;}if(walker!==this.head&&walker!==this.tail){walker=walker.prev;}for(var i=2;i<arguments.length;i++){walker=insert(this,walker,arguments[i]);}return ret;};Yallist.prototype.reverse=function(){var head=this.head;var tail=this.tail;for(var walker=head;walker!==null;walker=walker.prev){var p=walker.prev;walker.prev=walker.next;walker.next=p;}this.head=tail;this.tail=head;return this;};function insert(self,node,value){var inserted=node===self.head?new Node(value,null,node,self):new Node(value,node,node.next,self);if(inserted.next===null){self.tail=inserted;}if(inserted.prev===null){self.head=inserted;}self.length++;return inserted;}function push(self,item){self.tail=new Node(item,self.tail,null,self);if(!self.head){self.head=self.tail;}self.length++;}function unshift(self,item){self.head=new Node(item,null,self.head,self);if(!self.tail){self.tail=self.head;}self.length++;}function Node(value,prev,next,list){if(!(this instanceof Node)){return new Node(value,prev,next,list);}this.list=list;this.value=value;if(prev){prev.next=this;this.prev=prev;}else{this.prev=null;}if(next){next.prev=this;this.next=next;}else{this.next=null;}}try{requireIterator()(Yallist);}catch(er){}return yallist;}var lruCacheBABEL_8_BREAKINGFalse;var hasRequiredLruCacheBABEL_8_BREAKINGFalse;function requireLruCacheBABEL_8_BREAKINGFalse(){if(hasRequiredLruCacheBABEL_8_BREAKINGFalse)return lruCacheBABEL_8_BREAKINGFalse;hasRequiredLruCacheBABEL_8_BREAKINGFalse=1;var Yallist=requireYallist();var MAX=Symbol('max');var LENGTH=Symbol('length');var LENGTH_CALCULATOR=Symbol('lengthCalculator');var ALLOW_STALE=Symbol('allowStale');var MAX_AGE=Symbol('maxAge');var DISPOSE=Symbol('dispose');var NO_DISPOSE_ON_SET=Symbol('noDisposeOnSet');var LRU_LIST=Symbol('lruList');var CACHE=Symbol('cache');var UPDATE_AGE_ON_GET=Symbol('updateAgeOnGet');var naiveLength=function naiveLength(){return 1;};var LRUCache=function(){function LRUCache(options){if(typeof options==='number')options={max:options};if(!options)options={};if(options.max&&(typeof options.max!=='number'||options.max<0))throw new TypeError('max must be a non-negative number');this[MAX]=options.max||Infinity;var lc=options.length||naiveLength;this[LENGTH_CALCULATOR]=typeof lc!=='function'?naiveLength:lc;this[ALLOW_STALE]=options.stale||false;if(options.maxAge&&typeof options.maxAge!=='number')throw new TypeError('maxAge must be a number');this[MAX_AGE]=options.maxAge||0;this[DISPOSE]=options.dispose;this[NO_DISPOSE_ON_SET]=options.noDisposeOnSet||false;this[UPDATE_AGE_ON_GET]=options.updateAgeOnGet||false;this.reset();}var _proto=LRUCache.prototype;_proto.rforEach=function rforEach(fn,thisp){thisp=thisp||this;for(var walker=this[LRU_LIST].tail;walker!==null;){var prev=walker.prev;forEachStep(this,fn,walker,thisp);walker=prev;}};_proto.forEach=function forEach(fn,thisp){thisp=thisp||this;for(var walker=this[LRU_LIST].head;walker!==null;){var next=walker.next;forEachStep(this,fn,walker,thisp);walker=next;}};_proto.keys=function keys(){return this[LRU_LIST].toArray().map(function(k){return k.key;});};_proto.values=function values(){return this[LRU_LIST].toArray().map(function(k){return k.value;});};_proto.reset=function reset(){var _this=this;if(this[DISPOSE]&&this[LRU_LIST]&&this[LRU_LIST].length){this[LRU_LIST].forEach(function(hit){return _this[DISPOSE](hit.key,hit.value);});}this[CACHE]=new Map();this[LRU_LIST]=new Yallist();this[LENGTH]=0;};_proto.dump=function dump(){var _this2=this;return this[LRU_LIST].map(function(hit){return isStale(_this2,hit)?false:{k:hit.key,v:hit.value,e:hit.now+(hit.maxAge||0)};}).toArray().filter(function(h){return h;});};_proto.dumpLru=function dumpLru(){return this[LRU_LIST];};_proto.set=function set(key,value,maxAge){maxAge=maxAge||this[MAX_AGE];if(maxAge&&typeof maxAge!=='number')throw new TypeError('maxAge must be a number');var now=maxAge?Date.now():0;var len=this[LENGTH_CALCULATOR](value,key);if(this[CACHE].has(key)){if(len>this[MAX]){_del(this,this[CACHE].get(key));return false;}var node=this[CACHE].get(key);var item=node.value;if(this[DISPOSE]){if(!this[NO_DISPOSE_ON_SET])this[DISPOSE](key,item.value);}item.now=now;item.maxAge=maxAge;item.value=value;this[LENGTH]+=len-item.length;item.length=len;this.get(key);trim(this);return true;}var hit=new Entry(key,value,len,now,maxAge);if(hit.length>this[MAX]){if(this[DISPOSE])this[DISPOSE](key,value);return false;}this[LENGTH]+=hit.length;this[LRU_LIST].unshift(hit);this[CACHE].set(key,this[LRU_LIST].head);trim(this);return true;};_proto.has=function has(key){if(!this[CACHE].has(key))return false;var hit=this[CACHE].get(key).value;return!isStale(this,hit);};_proto.get=function get(key){return _get(this,key,true);};_proto.peek=function peek(key){return _get(this,key,false);};_proto.pop=function pop(){var node=this[LRU_LIST].tail;if(!node)return null;_del(this,node);return node.value;};_proto.del=function del(key){_del(this,this[CACHE].get(key));};_proto.load=function load(arr){this.reset();var now=Date.now();for(var l=arr.length-1;l>=0;l--){var hit=arr[l];var expiresAt=hit.e||0;if(expiresAt===0)this.set(hit.k,hit.v);else{var maxAge=expiresAt-now;if(maxAge>0){this.set(hit.k,hit.v,maxAge);}}}};_proto.prune=function prune(){var _this3=this;this[CACHE].forEach(function(value,key){return _get(_this3,key,false);});};_createClass(LRUCache,[{key:"max",get:function get(){return this[MAX];},set:function set(mL){if(typeof mL!=='number'||mL<0)throw new TypeError('max must be a non-negative number');this[MAX]=mL||Infinity;trim(this);}},{key:"allowStale",get:function get(){return this[ALLOW_STALE];},set:function set(allowStale){this[ALLOW_STALE]=!!allowStale;}},{key:"maxAge",get:function get(){return this[MAX_AGE];},set:function set(mA){if(typeof mA!=='number')throw new TypeError('maxAge must be a non-negative number');this[MAX_AGE]=mA;trim(this);}},{key:"lengthCalculator",get:function get(){return this[LENGTH_CALCULATOR];},set:function set(lC){var _this4=this;if(typeof lC!=='function')lC=naiveLength;if(lC!==this[LENGTH_CALCULATOR]){this[LENGTH_CALCULATOR]=lC;this[LENGTH]=0;this[LRU_LIST].forEach(function(hit){hit.length=_this4[LENGTH_CALCULATOR](hit.value,hit.key);_this4[LENGTH]+=hit.length;});}trim(this);}},{key:"length",get:function get(){return this[LENGTH];}},{key:"itemCount",get:function get(){return this[LRU_LIST].length;}}]);return LRUCache;}();var _get=function _get(self,key,doUse){var node=self[CACHE].get(key);if(node){var hit=node.value;if(isStale(self,hit)){_del(self,node);if(!self[ALLOW_STALE])return undefined;}else{if(doUse){if(self[UPDATE_AGE_ON_GET])node.value.now=Date.now();self[LRU_LIST].unshiftNode(node);}}return hit.value;}};var isStale=function isStale(self,hit){if(!hit||!hit.maxAge&&!self[MAX_AGE])return false;var diff=Date.now()-hit.now;return hit.maxAge?diff>hit.maxAge:self[MAX_AGE]&&diff>self[MAX_AGE];};var trim=function trim(self){if(self[LENGTH]>self[MAX]){for(var walker=self[LRU_LIST].tail;self[LENGTH]>self[MAX]&&walker!==null;){var prev=walker.prev;_del(self,walker);walker=prev;}}};var _del=function _del(self,node){if(node){var hit=node.value;if(self[DISPOSE])self[DISPOSE](hit.key,hit.value);self[LENGTH]-=hit.length;self[CACHE]["delete"](hit.key);self[LRU_LIST].removeNode(node);}};var Entry=_createClass(function Entry(key,value,length,now,maxAge){this.key=key;this.value=value;this.length=length;this.now=now;this.maxAge=maxAge||0;});var forEachStep=function forEachStep(self,fn,node,thisp){var hit=node.value;if(isStale(self,hit)){_del(self,node);if(!self[ALLOW_STALE])hit=undefined;}if(hit)fn.call(thisp,hit.value,hit.key,self);};lruCacheBABEL_8_BREAKINGFalse=LRUCache;return lruCacheBABEL_8_BREAKINGFalse;}function bool$6(value){if(value==null)return false;return value&&value!=="false"&&value!=="0";}var lruCache=bool$6(browser$1$1.env["BABEL_8_BREAKING"])?requireLruCacheBABEL_8_BREAKINGFalse():requireLruCacheBABEL_8_BREAKINGFalse();function bool$5(value){if(value==null)return false;return value&&value!=="false"&&value!=="0";}var semver$8=bool$5(browser$1$1.env["BABEL_8_BREAKING"])?requireSemver$2():requireSemver$2();var unreleasedLabels={safari:"tp"};var browserNameMap={and_chr:"chrome",and_ff:"firefox",android:"android",chrome:"chrome",edge:"edge",firefox:"firefox",ie:"ie",ie_mob:"ie",ios_saf:"ios",node:"node",deno:"deno",op_mob:"opera_mobile",opera:"opera",safari:"safari",samsung:"samsung"};var versionRegExp=/^(\d+|\d+.\d+)$/;var v$5=new OptionValidator("@babel/helper-compilation-targets");function semverMin(first,second){return first&&semver$8.lt(first,second)?first:second;}function semverify(version){if(typeof version==="string"&&semver$8.valid(version)){return version;}v$5.invariant(typeof version==="number"||typeof version==="string"&&versionRegExp.test(version),"'"+version+"' is not a valid version");version=version.toString();var pos=0;var num=0;while((pos=version.indexOf(".",pos+1))>0){num++;}return version+".0".repeat(2-num);}function isUnreleasedVersion(version,env){var unreleasedLabel=unreleasedLabels[env];return!!unreleasedLabel&&unreleasedLabel===version.toString().toLowerCase();}function getLowestUnreleased(a,b,env){var unreleasedLabel=unreleasedLabels[env];if(a===unreleasedLabel){return b;}if(b===unreleasedLabel){return a;}return semverMin(a,b);}function getHighestUnreleased(a,b,env){return getLowestUnreleased(a,b,env)===a?b:a;}function getLowestImplementedVersion(plugin,environment){var result=plugin[environment];if(!result&&environment==="android"){return plugin.chrome;}return result;}var TargetNames={node:"node",deno:"deno",chrome:"chrome",opera:"opera",edge:"edge",firefox:"firefox",safari:"safari",ie:"ie",ios:"ios",android:"android",electron:"electron",samsung:"samsung",rhino:"rhino",opera_mobile:"opera_mobile"};function prettifyVersion(version){if(typeof version!=="string"){return version;}var _semver$parse=semver$8.parse(version),major=_semver$parse.major,minor=_semver$parse.minor,patch=_semver$parse.patch;var parts=[major];if(minor||patch){parts.push(minor);}if(patch){parts.push(patch);}return parts.join(".");}function prettifyTargets(targets){return Object.keys(targets).reduce(function(results,target){var value=targets[target];var unreleasedLabel=unreleasedLabels[target];if(typeof value==="string"&&unreleasedLabel!==value){value=prettifyVersion(value);}results[target]=value;return results;},{});}function getInclusionReasons(item,targetVersions,list){var minVersions=list[item]||{};return Object.keys(targetVersions).reduce(function(result,env){var minVersion=getLowestImplementedVersion(minVersions,env);var targetVersion=targetVersions[env];if(!minVersion){result[env]=prettifyVersion(targetVersion);}else{var minIsUnreleased=isUnreleasedVersion(minVersion,env);var targetIsUnreleased=isUnreleasedVersion(targetVersion,env);if(!targetIsUnreleased&&(minIsUnreleased||semver$8.lt(targetVersion.toString(),semverify(minVersion)))){result[env]=prettifyVersion(targetVersion);}}return result;},{});}var require$$0$6={"transform-unicode-sets-regex":{chrome:"112",opera:"98",edge:"112",firefox:"116",safari:"tp",node:"20",deno:"1.32",opera_mobile:"75",electron:"24.0"},"bugfix/transform-v8-static-class-fields-redefine-readonly":{chrome:"98",opera:"84",edge:"98",firefox:"95",safari:"15",node:"12",deno:"1.18",ios:"15",samsung:"11",opera_mobile:"52",electron:"17.0"},"transform-class-static-block":{chrome:"94",opera:"80",edge:"94",firefox:"93",safari:"16.4",node:"16.11",deno:"1.14",ios:"16.4",samsung:"17",opera_mobile:"66",electron:"15.0"},"proposal-class-static-block":{chrome:"94",opera:"80",edge:"94",firefox:"93",safari:"16.4",node:"16.11",deno:"1.14",ios:"16.4",samsung:"17",opera_mobile:"66",electron:"15.0"},"transform-private-property-in-object":{chrome:"91",opera:"77",edge:"91",firefox:"90",safari:"15",node:"16.9",deno:"1.9",ios:"15",samsung:"16",opera_mobile:"64",electron:"13.0"},"proposal-private-property-in-object":{chrome:"91",opera:"77",edge:"91",firefox:"90",safari:"15",node:"16.9",deno:"1.9",ios:"15",samsung:"16",opera_mobile:"64",electron:"13.0"},"transform-class-properties":{chrome:"74",opera:"62",edge:"79",firefox:"90",safari:"14.1",node:"12",deno:"1",ios:"14.5",samsung:"11",opera_mobile:"53",electron:"6.0"},"proposal-class-properties":{chrome:"74",opera:"62",edge:"79",firefox:"90",safari:"14.1",node:"12",deno:"1",ios:"14.5",samsung:"11",opera_mobile:"53",electron:"6.0"},"transform-private-methods":{chrome:"84",opera:"70",edge:"84",firefox:"90",safari:"15",node:"14.6",deno:"1",ios:"15",samsung:"14",opera_mobile:"60",electron:"10.0"},"proposal-private-methods":{chrome:"84",opera:"70",edge:"84",firefox:"90",safari:"15",node:"14.6",deno:"1",ios:"15",samsung:"14",opera_mobile:"60",electron:"10.0"},"transform-numeric-separator":{chrome:"75",opera:"62",edge:"79",firefox:"70",safari:"13",node:"12.5",deno:"1",ios:"13",samsung:"11",rhino:"1.7.14",opera_mobile:"54",electron:"6.0"},"proposal-numeric-separator":{chrome:"75",opera:"62",edge:"79",firefox:"70",safari:"13",node:"12.5",deno:"1",ios:"13",samsung:"11",rhino:"1.7.14",opera_mobile:"54",electron:"6.0"},"transform-logical-assignment-operators":{chrome:"85",opera:"71",edge:"85",firefox:"79",safari:"14",node:"15",deno:"1.2",ios:"14",samsung:"14",opera_mobile:"60",electron:"10.0"},"proposal-logical-assignment-operators":{chrome:"85",opera:"71",edge:"85",firefox:"79",safari:"14",node:"15",deno:"1.2",ios:"14",samsung:"14",opera_mobile:"60",electron:"10.0"},"transform-nullish-coalescing-operator":{chrome:"80",opera:"67",edge:"80",firefox:"72",safari:"13.1",node:"14",deno:"1",ios:"13.4",samsung:"13",opera_mobile:"57",electron:"8.0"},"proposal-nullish-coalescing-operator":{chrome:"80",opera:"67",edge:"80",firefox:"72",safari:"13.1",node:"14",deno:"1",ios:"13.4",samsung:"13",opera_mobile:"57",electron:"8.0"},"transform-optional-chaining":{chrome:"91",opera:"77",edge:"91",firefox:"74",safari:"13.1",node:"16.9",deno:"1.9",ios:"13.4",samsung:"16",opera_mobile:"64",electron:"13.0"},"proposal-optional-chaining":{chrome:"91",opera:"77",edge:"91",firefox:"74",safari:"13.1",node:"16.9",deno:"1.9",ios:"13.4",samsung:"16",opera_mobile:"64",electron:"13.0"},"transform-json-strings":{chrome:"66",opera:"53",edge:"79",firefox:"62",safari:"12",node:"10",deno:"1",ios:"12",samsung:"9",rhino:"1.7.14",opera_mobile:"47",electron:"3.0"},"proposal-json-strings":{chrome:"66",opera:"53",edge:"79",firefox:"62",safari:"12",node:"10",deno:"1",ios:"12",samsung:"9",rhino:"1.7.14",opera_mobile:"47",electron:"3.0"},"transform-optional-catch-binding":{chrome:"66",opera:"53",edge:"79",firefox:"58",safari:"11.1",node:"10",deno:"1",ios:"11.3",samsung:"9",opera_mobile:"47",electron:"3.0"},"proposal-optional-catch-binding":{chrome:"66",opera:"53",edge:"79",firefox:"58",safari:"11.1",node:"10",deno:"1",ios:"11.3",samsung:"9",opera_mobile:"47",electron:"3.0"},"transform-parameters":{chrome:"49",opera:"36",edge:"18",firefox:"53",safari:"16.3",node:"6",deno:"1",ios:"16.3",samsung:"5",opera_mobile:"36",electron:"0.37"},"transform-async-generator-functions":{chrome:"63",opera:"50",edge:"79",firefox:"57",safari:"12",node:"10",deno:"1",ios:"12",samsung:"8",opera_mobile:"46",electron:"3.0"},"proposal-async-generator-functions":{chrome:"63",opera:"50",edge:"79",firefox:"57",safari:"12",node:"10",deno:"1",ios:"12",samsung:"8",opera_mobile:"46",electron:"3.0"},"transform-object-rest-spread":{chrome:"60",opera:"47",edge:"79",firefox:"55",safari:"11.1",node:"8.3",deno:"1",ios:"11.3",samsung:"8",opera_mobile:"44",electron:"2.0"},"proposal-object-rest-spread":{chrome:"60",opera:"47",edge:"79",firefox:"55",safari:"11.1",node:"8.3",deno:"1",ios:"11.3",samsung:"8",opera_mobile:"44",electron:"2.0"},"transform-dotall-regex":{chrome:"62",opera:"49",edge:"79",firefox:"78",safari:"11.1",node:"8.10",deno:"1",ios:"11.3",samsung:"8",opera_mobile:"46",electron:"3.0"},"transform-unicode-property-regex":{chrome:"64",opera:"51",edge:"79",firefox:"78",safari:"11.1",node:"10",deno:"1",ios:"11.3",samsung:"9",opera_mobile:"47",electron:"3.0"},"proposal-unicode-property-regex":{chrome:"64",opera:"51",edge:"79",firefox:"78",safari:"11.1",node:"10",deno:"1",ios:"11.3",samsung:"9",opera_mobile:"47",electron:"3.0"},"transform-named-capturing-groups-regex":{chrome:"64",opera:"51",edge:"79",firefox:"78",safari:"11.1",node:"10",deno:"1",ios:"11.3",samsung:"9",opera_mobile:"47",electron:"3.0"},"transform-async-to-generator":{chrome:"55",opera:"42",edge:"15",firefox:"52",safari:"11",node:"7.6",deno:"1",ios:"11",samsung:"6",opera_mobile:"42",electron:"1.6"},"transform-exponentiation-operator":{chrome:"52",opera:"39",edge:"14",firefox:"52",safari:"10.1",node:"7",deno:"1",ios:"10.3",samsung:"6",rhino:"1.7.14",opera_mobile:"41",electron:"1.3"},"transform-template-literals":{chrome:"41",opera:"28",edge:"13",firefox:"34",safari:"13",node:"4",deno:"1",ios:"13",samsung:"3.4",opera_mobile:"28",electron:"0.21"},"transform-literals":{chrome:"44",opera:"31",edge:"12",firefox:"53",safari:"9",node:"4",deno:"1",ios:"9",samsung:"4",opera_mobile:"32",electron:"0.30"},"transform-function-name":{chrome:"51",opera:"38",edge:"79",firefox:"53",safari:"10",node:"6.5",deno:"1",ios:"10",samsung:"5",opera_mobile:"41",electron:"1.2"},"transform-arrow-functions":{chrome:"47",opera:"34",edge:"13",firefox:"43",safari:"10",node:"6",deno:"1",ios:"10",samsung:"5",rhino:"1.7.13",opera_mobile:"34",electron:"0.36"},"transform-block-scoped-functions":{chrome:"41",opera:"28",edge:"12",firefox:"46",safari:"10",node:"4",deno:"1",ie:"11",ios:"10",samsung:"3.4",opera_mobile:"28",electron:"0.21"},"transform-classes":{chrome:"46",opera:"33",edge:"13",firefox:"45",safari:"10",node:"5",deno:"1",ios:"10",samsung:"5",opera_mobile:"33",electron:"0.36"},"transform-object-super":{chrome:"46",opera:"33",edge:"13",firefox:"45",safari:"10",node:"5",deno:"1",ios:"10",samsung:"5",opera_mobile:"33",electron:"0.36"},"transform-shorthand-properties":{chrome:"43",opera:"30",edge:"12",firefox:"33",safari:"9",node:"4",deno:"1",ios:"9",samsung:"4",rhino:"1.7.14",opera_mobile:"30",electron:"0.27"},"transform-duplicate-keys":{chrome:"42",opera:"29",edge:"12",firefox:"34",safari:"9",node:"4",deno:"1",ios:"9",samsung:"3.4",opera_mobile:"29",electron:"0.25"},"transform-computed-properties":{chrome:"44",opera:"31",edge:"12",firefox:"34",safari:"7.1",node:"4",deno:"1",ios:"8",samsung:"4",opera_mobile:"32",electron:"0.30"},"transform-for-of":{chrome:"51",opera:"38",edge:"15",firefox:"53",safari:"10",node:"6.5",deno:"1",ios:"10",samsung:"5",opera_mobile:"41",electron:"1.2"},"transform-sticky-regex":{chrome:"49",opera:"36",edge:"13",firefox:"3",safari:"10",node:"6",deno:"1",ios:"10",samsung:"5",opera_mobile:"36",electron:"0.37"},"transform-unicode-escapes":{chrome:"44",opera:"31",edge:"12",firefox:"53",safari:"9",node:"4",deno:"1",ios:"9",samsung:"4",opera_mobile:"32",electron:"0.30"},"transform-unicode-regex":{chrome:"50",opera:"37",edge:"13",firefox:"46",safari:"12",node:"6",deno:"1",ios:"12",samsung:"5",opera_mobile:"37",electron:"1.1"},"transform-spread":{chrome:"46",opera:"33",edge:"13",firefox:"45",safari:"10",node:"5",deno:"1",ios:"10",samsung:"5",opera_mobile:"33",electron:"0.36"},"transform-destructuring":{chrome:"51",opera:"38",edge:"15",firefox:"53",safari:"10",node:"6.5",deno:"1",ios:"10",samsung:"5",opera_mobile:"41",electron:"1.2"},"transform-block-scoping":{chrome:"50",opera:"37",edge:"14",firefox:"53",safari:"11",node:"6",deno:"1",ios:"11",samsung:"5",opera_mobile:"37",electron:"1.1"},"transform-typeof-symbol":{chrome:"38",opera:"25",edge:"12",firefox:"36",safari:"9",node:"0.12",deno:"1",ios:"9",samsung:"3",rhino:"1.7.13",opera_mobile:"25",electron:"0.20"},"transform-new-target":{chrome:"46",opera:"33",edge:"14",firefox:"41",safari:"10",node:"5",deno:"1",ios:"10",samsung:"5",opera_mobile:"33",electron:"0.36"},"transform-regenerator":{chrome:"50",opera:"37",edge:"13",firefox:"53",safari:"10",node:"6",deno:"1",ios:"10",samsung:"5",opera_mobile:"37",electron:"1.1"},"transform-member-expression-literals":{chrome:"7",opera:"12",edge:"12",firefox:"2",safari:"5.1",node:"0.4",deno:"1",ie:"9",android:"4",ios:"6",phantom:"1.9",samsung:"1",rhino:"1.7.13",opera_mobile:"12",electron:"0.20"},"transform-property-literals":{chrome:"7",opera:"12",edge:"12",firefox:"2",safari:"5.1",node:"0.4",deno:"1",ie:"9",android:"4",ios:"6",phantom:"1.9",samsung:"1",rhino:"1.7.13",opera_mobile:"12",electron:"0.20"},"transform-reserved-words":{chrome:"13",opera:"10.50",edge:"12",firefox:"2",safari:"3.1",node:"0.6",deno:"1",ie:"9",android:"4.4",ios:"6",phantom:"1.9",samsung:"1",rhino:"1.7.13",opera_mobile:"10.1",electron:"0.20"},"transform-export-namespace-from":{chrome:"72",deno:"1.0",edge:"79",firefox:"80",node:"13.2",opera:"60",opera_mobile:"51",safari:"14.1",ios:"14.5",samsung:"11.0",android:"72",electron:"5.0"},"proposal-export-namespace-from":{chrome:"72",deno:"1.0",edge:"79",firefox:"80",node:"13.2",opera:"60",opera_mobile:"51",safari:"14.1",ios:"14.5",samsung:"11.0",android:"72",electron:"5.0"}};var plugins$1=require$$0$6;function targetsSupported(target,support){var targetEnvironments=Object.keys(target);if(targetEnvironments.length===0){return false;}var unsupportedEnvironments=targetEnvironments.filter(function(environment){var lowestImplementedVersion=getLowestImplementedVersion(support,environment);if(!lowestImplementedVersion){return true;}var lowestTargetedVersion=target[environment];if(isUnreleasedVersion(lowestTargetedVersion,environment)){return false;}if(isUnreleasedVersion(lowestImplementedVersion,environment)){return true;}if(!semver$8.valid(lowestTargetedVersion.toString())){throw new Error("Invalid version passed for target \""+environment+"\": \""+lowestTargetedVersion+"\". "+"Versions must be in semver format (major.minor.patch)");}return semver$8.gt(semverify(lowestImplementedVersion),lowestTargetedVersion.toString());});return unsupportedEnvironments.length===0;}function isRequired(name,targets,_temp){var _ref=_temp===void 0?{}:_temp,_ref$compatData=_ref.compatData,compatData=_ref$compatData===void 0?plugins$1:_ref$compatData,includes=_ref.includes,excludes=_ref.excludes;if(excludes!=null&&excludes.has(name))return false;if(includes!=null&&includes.has(name))return true;return!targetsSupported(targets,compatData[name]);}function filterItems(list,includes,excludes,targets,defaultIncludes,defaultExcludes,pluginSyntaxMap){var result=new Set();var options={compatData:list,includes:includes,excludes:excludes};for(var item in list){if(isRequired(item,targets,options)){result.add(item);}else if(pluginSyntaxMap){var shippedProposalsSyntax=pluginSyntaxMap.get(item);if(shippedProposalsSyntax){result.add(shippedProposalsSyntax);}}}defaultIncludes==null||defaultIncludes.forEach(function(item){return!excludes.has(item)&&result.add(item);});defaultExcludes==null||defaultExcludes.forEach(function(item){return!includes.has(item)&&result["delete"](item);});return result;}var ESM_SUPPORT=nativeModules["es6.module"];var v$4=new OptionValidator("@babel/helper-compilation-targets");function validateTargetNames(targets){var validTargets=Object.keys(TargetNames);for(var _i=0,_Object$keys=Object.keys(targets);_i<_Object$keys.length;_i++){var target=_Object$keys[_i];if(!(target in TargetNames)){throw new Error(v$4.formatMessage("'"+target+"' is not a valid target\n- Did you mean '"+findSuggestion(target,validTargets)+"'?"));}}return targets;}function isBrowsersQueryValid(browsers){return typeof browsers==="string"||Array.isArray(browsers)&&browsers.every(function(b){return typeof b==="string";});}function validateBrowsers(browsers){v$4.invariant(browsers===undefined||isBrowsersQueryValid(browsers),"'"+String(browsers)+"' is not a valid browserslist query");return browsers;}function getLowestVersions(browsers){return browsers.reduce(function(all,browser){var _ref=browser.split(" "),_ref2=_slicedToArray(_ref,2),browserName=_ref2[0],browserVersion=_ref2[1];var target=browserNameMap[browserName];if(!target){return all;}try{var splitVersion=browserVersion.split("-")[0].toLowerCase();var isSplitUnreleased=isUnreleasedVersion(splitVersion,target);if(!all[target]){all[target]=isSplitUnreleased?splitVersion:semverify(splitVersion);return all;}var version=all[target];var isUnreleased=isUnreleasedVersion(version,target);if(isUnreleased&&isSplitUnreleased){all[target]=getLowestUnreleased(version,splitVersion,target);}else if(isUnreleased){all[target]=semverify(splitVersion);}else if(!isUnreleased&&!isSplitUnreleased){var parsedBrowserVersion=semverify(splitVersion);all[target]=semverMin(version,parsedBrowserVersion);}}catch(e){}return all;},{});}function outputDecimalWarning(decimalTargets){if(!decimalTargets.length){return;}console.warn("Warning, the following targets are using a decimal version:\n");decimalTargets.forEach(function(_ref3){var target=_ref3.target,value=_ref3.value;return console.warn("  "+target+": "+value);});console.warn("\nWe recommend using a string for minor/patch versions to avoid numbers like 6.10\ngetting parsed as 6.1, which can lead to unexpected behavior.\n");}function semverifyTarget(target,value){try{return semverify(value);}catch(error){throw new Error(v$4.formatMessage("'"+value+"' is not a valid value for 'targets."+target+"'."));}}function nodeTargetParser(value){var parsed=value===true||value==="current"?browser$1$1.versions.node:semverifyTarget("node",value);return["node",parsed];}function defaultTargetParser(target,value){var version=isUnreleasedVersion(value,target)?value.toLowerCase():semverifyTarget(target,value);return[target,version];}function generateTargets(inputTargets){var input=Object.assign({},inputTargets);delete input.esmodules;delete input.browsers;return input;}function resolveTargets$1(queries,env){var resolved=browserslist_1(queries,{mobileToDesktop:true,env:env});return getLowestVersions(resolved);}var targetsCache=new lruCache({max:64});function resolveTargetsCached(queries,env){var cacheKey=typeof queries==="string"?queries:queries.join()+env;var cached=targetsCache.get(cacheKey);if(!cached){cached=resolveTargets$1(queries,env);targetsCache.set(cacheKey,cached);}return Object.assign({},cached);}function getTargets$1(inputTargets,options){var _browsers,_browsers2;if(inputTargets===void 0){inputTargets={};}if(options===void 0){options={};}var _inputTargets=inputTargets,browsers=_inputTargets.browsers,esmodules=_inputTargets.esmodules;var _options=options,_options$configPath=_options.configPath,configPath=_options$configPath===void 0?".":_options$configPath;validateBrowsers(browsers);var input=generateTargets(inputTargets);var targets=validateTargetNames(input);var shouldParseBrowsers=!!browsers;var hasTargets=shouldParseBrowsers||Object.keys(targets).length>0;var shouldSearchForConfig=!options.ignoreBrowserslistConfig&&!hasTargets;if(!browsers&&shouldSearchForConfig){browsers=browserslist_1.loadConfig({config:options.configFile,path:configPath,env:options.browserslistEnv});if(browsers==null){{browsers=[];}}}if(esmodules&&(esmodules!=="intersect"||!((_browsers=browsers)!=null&&_browsers.length))){browsers=Object.keys(ESM_SUPPORT).map(function(browser){return browser+" >= "+ESM_SUPPORT[browser];}).join(", ");esmodules=false;}if((_browsers2=browsers)!=null&&_browsers2.length){var queryBrowsers=resolveTargetsCached(browsers,options.browserslistEnv);if(esmodules==="intersect"){for(var _i2=0,_arr=Object.keys(queryBrowsers);_i2<_arr.length;_i2++){var browser=_arr[_i2];if(browser!=="deno"&&browser!=="ie"){var esmSupportVersion=ESM_SUPPORT[browser==="opera_mobile"?"op_mob":browser];if(esmSupportVersion){var version=queryBrowsers[browser];queryBrowsers[browser]=getHighestUnreleased(version,semverify(esmSupportVersion),browser);}else{delete queryBrowsers[browser];}}else{delete queryBrowsers[browser];}}}targets=Object.assign(queryBrowsers,targets);}var result={};var decimalWarnings=[];for(var _i3=0,_arr2=Object.keys(targets).sort();_i3<_arr2.length;_i3++){var target=_arr2[_i3];var value=targets[target];if(typeof value==="number"&&value%1!==0){decimalWarnings.push({target:target,value:value});}var _ref4=target==="node"?nodeTargetParser(value):defaultTargetParser(target,value),_ref5=_slicedToArray(_ref4,2),parsedTarget=_ref5[0],parsedValue=_ref5[1];if(parsedValue){result[parsedTarget]=parsedValue;}}outputDecimalWarning(decimalWarnings);return result;}var src=/*#__PURE__*/Object.freeze({__proto__:null,TargetNames:TargetNames,"default":getTargets$1,filterItems:filterItems,getInclusionReasons:getInclusionReasons,isBrowsersQueryValid:isBrowsersQueryValid,isRequired:isRequired,prettifyTargets:prettifyTargets,unreleasedLabels:unreleasedLabels});function resolveBrowserslistConfigFile(browserslistConfigFile,configFilePath){return undefined;}function resolveTargets(options,root){var optTargets=options.targets;var targets;if(typeof optTargets==="string"||Array.isArray(optTargets)){targets={browsers:optTargets};}else if(optTargets){if("esmodules"in optTargets){targets=Object.assign({},optTargets,{esmodules:"intersect"});}else{targets=optTargets;}}return getTargets$1(targets,{ignoreBrowserslistConfig:true,browserslistEnv:options.browserslistEnv});}var _marked$7=_regeneratorRuntime().mark(handlerOf),_marked2$5=_regeneratorRuntime().mark(createPresetDescriptors),_marked3$2=_regeneratorRuntime().mark(createPluginDescriptors),_marked4$1=_regeneratorRuntime().mark(createDescriptors);function isEqualDescriptor(a,b){var _a$file,_b$file,_a$file2,_b$file2;return a.name===b.name&&a.value===b.value&&a.options===b.options&&a.dirname===b.dirname&&a.alias===b.alias&&a.ownPass===b.ownPass&&((_a$file=a.file)==null?void 0:_a$file.request)===((_b$file=b.file)==null?void 0:_b$file.request)&&((_a$file2=a.file)==null?void 0:_a$file2.resolved)===((_b$file2=b.file)==null?void 0:_b$file2.resolved);}function handlerOf(value){return _regeneratorRuntime().wrap(function handlerOf$(_context){while(1)switch(_context.prev=_context.next){case 0:return _context.abrupt("return",value);case 1:case"end":return _context.stop();}},_marked$7);}function optionsWithResolvedBrowserslistConfigFile(options,dirname){if(typeof options.browserslistConfigFile==="string"){options.browserslistConfigFile=resolveBrowserslistConfigFile(options.browserslistConfigFile);}return options;}function createCachedDescriptors(dirname,options,alias){var plugins=options.plugins,presets=options.presets,passPerPreset=options.passPerPreset;return{options:optionsWithResolvedBrowserslistConfigFile(options),plugins:plugins?function(){return createCachedPluginDescriptors(plugins,dirname)(alias);}:function(){return handlerOf([]);},presets:presets?function(){return createCachedPresetDescriptors(presets,dirname)(alias)(!!passPerPreset);}:function(){return handlerOf([]);}};}function createUncachedDescriptors(dirname,options,alias){return{options:optionsWithResolvedBrowserslistConfigFile(options),plugins:once(function(){return createPluginDescriptors(options.plugins||[],dirname,alias);}),presets:once(function(){return createPresetDescriptors(options.presets||[],dirname,alias,!!options.passPerPreset);})};}var PRESET_DESCRIPTOR_CACHE=new WeakMap();var createCachedPresetDescriptors=makeWeakCacheSync(function(items,cache){var dirname=cache.using(function(dir){return dir;});return makeStrongCacheSync(function(alias){return makeStrongCache(_regeneratorRuntime().mark(function _callee(passPerPreset){var descriptors;return _regeneratorRuntime().wrap(function _callee$(_context2){while(1)switch(_context2.prev=_context2.next){case 0:return _context2.delegateYield(createPresetDescriptors(items,dirname,alias,passPerPreset),"t0",1);case 1:descriptors=_context2.t0;return _context2.abrupt("return",descriptors.map(function(desc){return loadCachedDescriptor(PRESET_DESCRIPTOR_CACHE,desc);}));case 3:case"end":return _context2.stop();}},_callee);}));});});var PLUGIN_DESCRIPTOR_CACHE=new WeakMap();var createCachedPluginDescriptors=makeWeakCacheSync(function(items,cache){var dirname=cache.using(function(dir){return dir;});return makeStrongCache(_regeneratorRuntime().mark(function _callee2(alias){var descriptors;return _regeneratorRuntime().wrap(function _callee2$(_context3){while(1)switch(_context3.prev=_context3.next){case 0:return _context3.delegateYield(createPluginDescriptors(items,dirname,alias),"t0",1);case 1:descriptors=_context3.t0;return _context3.abrupt("return",descriptors.map(function(desc){return loadCachedDescriptor(PLUGIN_DESCRIPTOR_CACHE,desc);}));case 3:case"end":return _context3.stop();}},_callee2);}));});var DEFAULT_OPTIONS={};function loadCachedDescriptor(cache,desc){var value=desc.value,_desc$options=desc.options,options=_desc$options===void 0?DEFAULT_OPTIONS:_desc$options;if(options===false)return desc;var cacheByOptions=cache.get(value);if(!cacheByOptions){cacheByOptions=new WeakMap();cache.set(value,cacheByOptions);}var possibilities=cacheByOptions.get(options);if(!possibilities){possibilities=[];cacheByOptions.set(options,possibilities);}if(possibilities.indexOf(desc)===-1){var matches=possibilities.filter(function(possibility){return isEqualDescriptor(possibility,desc);});if(matches.length>0){return matches[0];}possibilities.push(desc);}return desc;}function createPresetDescriptors(items,dirname,alias,passPerPreset){return _regeneratorRuntime().wrap(function createPresetDescriptors$(_context4){while(1)switch(_context4.prev=_context4.next){case 0:return _context4.delegateYield(createDescriptors("preset",items,dirname,alias,passPerPreset),"t0",1);case 1:return _context4.abrupt("return",_context4.t0);case 2:case"end":return _context4.stop();}},_marked2$5);}function createPluginDescriptors(items,dirname,alias){return _regeneratorRuntime().wrap(function createPluginDescriptors$(_context5){while(1)switch(_context5.prev=_context5.next){case 0:return _context5.delegateYield(createDescriptors("plugin",items,dirname,alias),"t0",1);case 1:return _context5.abrupt("return",_context5.t0);case 2:case"end":return _context5.stop();}},_marked3$2);}function createDescriptors(type,items,dirname,alias,ownPass){var descriptors;return _regeneratorRuntime().wrap(function createDescriptors$(_context6){while(1)switch(_context6.prev=_context6.next){case 0:return _context6.delegateYield(gensync.all(items.map(function(item,index){return createDescriptor(item,dirname,{type:type,alias:alias+"$"+index,ownPass:!!ownPass});})),"t0",1);case 1:descriptors=_context6.t0;assertNoDuplicates(descriptors);return _context6.abrupt("return",descriptors);case 4:case"end":return _context6.stop();}},_marked4$1);}function createDescriptor(pair,dirname,_ref){var type=_ref.type,alias=_ref.alias,ownPass=_ref.ownPass;return _regeneratorRuntime().mark(function _callee3(){var desc,name,options,value,_value,_value2,_value3,_value4,file,filepath,resolver,request,_yield$resolver;return _regeneratorRuntime().wrap(function _callee3$(_context7){while(1)switch(_context7.prev=_context7.next){case 0:desc=getItemDescriptor(pair);if(!desc){_context7.next=3;break;}return _context7.abrupt("return",desc);case 3:value=pair;if(Array.isArray(value)){if(value.length===3){_value=value;_value2=_slicedToArray(_value,3);value=_value2[0];options=_value2[1];name=_value2[2];}else{_value3=value;_value4=_slicedToArray(_value3,2);value=_value4[0];options=_value4[1];}}file=undefined;filepath=null;if(!(typeof value==="string")){_context7.next=17;break;}if(!(typeof type!=="string")){_context7.next=10;break;}throw new Error("To resolve a string-based item, the type of item must be given");case 10:resolver=type==="plugin"?loadPlugin:loadPreset;request=value;return _context7.delegateYield(resolver(value,dirname),"t0",13);case 13:_yield$resolver=_context7.t0;filepath=_yield$resolver.filepath;value=_yield$resolver.value;file={request:request,resolved:filepath};case 17:if(value){_context7.next=19;break;}throw new Error("Unexpected falsy value: "+String(value));case 19:if(!(_typeof(value)==="object"&&value.__esModule)){_context7.next=25;break;}if(!value["default"]){_context7.next=24;break;}value=value["default"];_context7.next=25;break;case 24:throw new Error("Must export a default export when using ES6 modules.");case 25:if(!(_typeof(value)!=="object"&&typeof value!=="function")){_context7.next=27;break;}throw new Error("Unsupported format: "+_typeof(value)+". Expected an object or a function.");case 27:if(!(filepath!==null&&_typeof(value)==="object"&&value)){_context7.next=29;break;}throw new Error("Plugin/Preset files are not allowed to export objects, only functions. In "+filepath);case 29:return _context7.abrupt("return",{name:name,alias:filepath||alias,value:value,options:options,dirname:dirname,ownPass:ownPass,file:file});case 30:case"end":return _context7.stop();}},_callee3);})();}function assertNoDuplicates(items){var map=new Map();var _loop=function _loop(){var item=_step.value;if(typeof item.value!=="function")return 1;var nameMap=map.get(item.value);if(!nameMap){nameMap=new Set();map.set(item.value,nameMap);}if(nameMap.has(item.name)){var conflicts=items.filter(function(i){return i.value===item.value;});throw new Error(["Duplicate plugin/preset detected.","If you'd like to use two separate instances of a plugin,","they need separate names, e.g.","","  plugins: [","    ['some-plugin', {}],","    ['some-plugin', {}, 'some unique name'],","  ]","","Duplicates detected are:",""+JSON.stringify(conflicts,null,2)].join("\n"));}nameMap.add(item.name);};for(var _iterator=_createForOfIteratorHelperLoose(items),_step;!(_step=_iterator()).done;){if(_loop())continue;}}function createItemFromDescriptor(desc){return new ConfigItem(desc);}function createConfigItem$1(value,_temp){var _ref=_temp===void 0?{}:_temp,_ref$dirname=_ref.dirname,dirname=_ref$dirname===void 0?".":_ref$dirname,type=_ref.type;return _regeneratorRuntime().mark(function _callee(){var descriptor;return _regeneratorRuntime().wrap(function _callee$(_context){while(1)switch(_context.prev=_context.next){case 0:return _context.delegateYield(createDescriptor(value,path$1.resolve(dirname),{type:type,alias:"programmatic item"}),"t0",1);case 1:descriptor=_context.t0;return _context.abrupt("return",createItemFromDescriptor(descriptor));case 3:case"end":return _context.stop();}},_callee);})();}var CONFIG_ITEM_BRAND=Symbol["for"]("@babel/core@7 - ConfigItem");function getItemDescriptor(item){if(item!=null&&item[CONFIG_ITEM_BRAND]){return item._descriptor;}return undefined;}var ConfigItem=_createClass(function ConfigItem(descriptor){this._descriptor=void 0;this[CONFIG_ITEM_BRAND]=true;this.value=void 0;this.options=void 0;this.dirname=void 0;this.name=void 0;this.file=void 0;this._descriptor=descriptor;Object.defineProperty(this,"_descriptor",{enumerable:false});Object.defineProperty(this,CONFIG_ITEM_BRAND,{enumerable:false});this.value=this._descriptor.value;this.options=this._descriptor.options;this.dirname=this._descriptor.dirname;this.name=this._descriptor.name;this.file=this._descriptor.file?{request:this._descriptor.file.request,resolved:this._descriptor.file.resolved}:undefined;Object.freeze(this);});Object.freeze(ConfigItem.prototype);var removed={auxiliaryComment:{message:"Use `auxiliaryCommentBefore` or `auxiliaryCommentAfter`"},blacklist:{message:"Put the specific transforms you want in the `plugins` option"},breakConfig:{message:"This is not a necessary option in Babel 6"},experimental:{message:"Put the specific transforms you want in the `plugins` option"},externalHelpers:{message:"Use the `external-helpers` plugin instead. "+"Check out http://babeljs.io/docs/plugins/external-helpers/"},extra:{message:""},jsxPragma:{message:"use the `pragma` option in the `react-jsx` plugin. "+"Check out http://babeljs.io/docs/plugins/transform-react-jsx/"},loose:{message:"Specify the `loose` option for the relevant plugin you are using "+"or use a preset that sets the option."},metadataUsedHelpers:{message:"Not required anymore as this is enabled by default"},modules:{message:"Use the corresponding module transform plugin in the `plugins` option. "+"Check out http://babeljs.io/docs/plugins/#modules"},nonStandard:{message:"Use the `react-jsx` and `flow-strip-types` plugins to support JSX and Flow. "+"Also check out the react preset http://babeljs.io/docs/plugins/preset-react/"},optional:{message:"Put the specific transforms you want in the `plugins` option"},sourceMapName:{message:"The `sourceMapName` option has been removed because it makes more sense for the "+"tooling that calls Babel to assign `map.file` themselves."},stage:{message:"Check out the corresponding stage-x presets http://babeljs.io/docs/plugins/#presets"},whitelist:{message:"Put the specific transforms you want in the `plugins` option"},resolveModuleSource:{version:6,message:"Use `babel-plugin-module-resolver@3`'s 'resolvePath' options"},metadata:{version:6,message:"Generated plugin metadata is always included in the output result"},sourceMapTarget:{version:6,message:"The `sourceMapTarget` option has been removed because it makes more sense for the tooling "+"that calls Babel to assign `map.file` themselves."}};function msg(loc){switch(loc.type){case"root":return"";case"env":return msg(loc.parent)+".env[\""+loc.name+"\"]";case"overrides":return msg(loc.parent)+".overrides["+loc.index+"]";case"option":return msg(loc.parent)+"."+loc.name;case"access":return msg(loc.parent)+"["+JSON.stringify(loc.name)+"]";default:throw new Error("Assertion failure: Unknown type "+loc.type);}}function access(loc,name){return{type:"access",name:name,parent:loc};}function assertRootMode(loc,value){if(value!==undefined&&value!=="root"&&value!=="upward"&&value!=="upward-optional"){throw new Error(msg(loc)+" must be a \"root\", \"upward\", \"upward-optional\" or undefined");}return value;}function assertSourceMaps(loc,value){if(value!==undefined&&typeof value!=="boolean"&&value!=="inline"&&value!=="both"){throw new Error(msg(loc)+" must be a boolean, \"inline\", \"both\", or undefined");}return value;}function assertCompact(loc,value){if(value!==undefined&&typeof value!=="boolean"&&value!=="auto"){throw new Error(msg(loc)+" must be a boolean, \"auto\", or undefined");}return value;}function assertSourceType(loc,value){if(value!==undefined&&value!=="module"&&value!=="script"&&value!=="unambiguous"){throw new Error(msg(loc)+" must be \"module\", \"script\", \"unambiguous\", or undefined");}return value;}function assertCallerMetadata(loc,value){var obj=assertObject(loc,value);if(obj){if(typeof obj.name!=="string"){throw new Error(msg(loc)+" set but does not contain \"name\" property string");}for(var _i=0,_Object$keys=Object.keys(obj);_i<_Object$keys.length;_i++){var prop=_Object$keys[_i];var propLoc=access(loc,prop);var _value=obj[prop];if(_value!=null&&typeof _value!=="boolean"&&typeof _value!=="string"&&typeof _value!=="number"){throw new Error(msg(propLoc)+" must be null, undefined, a boolean, a string, or a number.");}}}return value;}function assertInputSourceMap(loc,value){if(value!==undefined&&typeof value!=="boolean"&&(_typeof(value)!=="object"||!value)){throw new Error(msg(loc)+" must be a boolean, object, or undefined");}return value;}function assertString(loc,value){if(value!==undefined&&typeof value!=="string"){throw new Error(msg(loc)+" must be a string, or undefined");}return value;}function assertFunction(loc,value){if(value!==undefined&&typeof value!=="function"){throw new Error(msg(loc)+" must be a function, or undefined");}return value;}function assertBoolean(loc,value){if(value!==undefined&&typeof value!=="boolean"){throw new Error(msg(loc)+" must be a boolean, or undefined");}return value;}function assertObject(loc,value){if(value!==undefined&&(_typeof(value)!=="object"||Array.isArray(value)||!value)){throw new Error(msg(loc)+" must be an object, or undefined");}return value;}function assertArray(loc,value){if(value!=null&&!Array.isArray(value)){throw new Error(msg(loc)+" must be an array, or undefined");}return value;}function assertIgnoreList(loc,value){var arr=assertArray(loc,value);arr==null||arr.forEach(function(item,i){return assertIgnoreItem(access(loc,i),item);});return arr;}function assertIgnoreItem(loc,value){if(typeof value!=="string"&&typeof value!=="function"&&!(value instanceof RegExp)){throw new Error(msg(loc)+" must be an array of string/Function/RegExp values, or undefined");}return value;}function assertConfigApplicableTest(loc,value){if(value===undefined){return value;}if(Array.isArray(value)){value.forEach(function(item,i){if(!checkValidTest(item)){throw new Error(msg(access(loc,i))+" must be a string/Function/RegExp.");}});}else if(!checkValidTest(value)){throw new Error(msg(loc)+" must be a string/Function/RegExp, or an array of those");}return value;}function checkValidTest(value){return typeof value==="string"||typeof value==="function"||value instanceof RegExp;}function assertConfigFileSearch(loc,value){if(value!==undefined&&typeof value!=="boolean"&&typeof value!=="string"){throw new Error(msg(loc)+" must be a undefined, a boolean, a string, "+("got "+JSON.stringify(value)));}return value;}function assertBabelrcSearch(loc,value){if(value===undefined||typeof value==="boolean"){return value;}if(Array.isArray(value)){value.forEach(function(item,i){if(!checkValidTest(item)){throw new Error(msg(access(loc,i))+" must be a string/Function/RegExp.");}});}else if(!checkValidTest(value)){throw new Error(msg(loc)+" must be a undefined, a boolean, a string/Function/RegExp "+("or an array of those, got "+JSON.stringify(value)));}return value;}function assertPluginList(loc,value){var arr=assertArray(loc,value);if(arr){arr.forEach(function(item,i){return assertPluginItem(access(loc,i),item);});}return arr;}function assertPluginItem(loc,value){if(Array.isArray(value)){if(value.length===0){throw new Error(msg(loc)+" must include an object");}if(value.length>3){throw new Error(msg(loc)+" may only be a two-tuple or three-tuple");}assertPluginTarget(access(loc,0),value[0]);if(value.length>1){var opts=value[1];if(opts!==undefined&&opts!==false&&(_typeof(opts)!=="object"||Array.isArray(opts)||opts===null)){throw new Error(msg(access(loc,1))+" must be an object, false, or undefined");}}if(value.length===3){var _name=value[2];if(_name!==undefined&&typeof _name!=="string"){throw new Error(msg(access(loc,2))+" must be a string, or undefined");}}}else{assertPluginTarget(loc,value);}return value;}function assertPluginTarget(loc,value){if((_typeof(value)!=="object"||!value)&&typeof value!=="string"&&typeof value!=="function"){throw new Error(msg(loc)+" must be a string, object, function");}return value;}function assertTargets(loc,value){if(isBrowsersQueryValid(value))return value;if(_typeof(value)!=="object"||!value||Array.isArray(value)){throw new Error(msg(loc)+" must be a string, an array of strings or an object");}var browsersLoc=access(loc,"browsers");var esmodulesLoc=access(loc,"esmodules");assertBrowsersList(browsersLoc,value.browsers);assertBoolean(esmodulesLoc,value.esmodules);for(var _i2=0,_Object$keys2=Object.keys(value);_i2<_Object$keys2.length;_i2++){var _key=_Object$keys2[_i2];var val=value[_key];var subLoc=access(loc,_key);if(_key==="esmodules")assertBoolean(subLoc,val);else if(_key==="browsers")assertBrowsersList(subLoc,val);else if(!hasOwnProperty.call(TargetNames,_key)){var validTargets=Object.keys(TargetNames).join(", ");throw new Error(msg(subLoc)+" is not a valid target. Supported targets are "+validTargets);}else assertBrowserVersion(subLoc,val);}return value;}function assertBrowsersList(loc,value){if(value!==undefined&&!isBrowsersQueryValid(value)){throw new Error(msg(loc)+" must be undefined, a string or an array of strings");}}function assertBrowserVersion(loc,value){if(typeof value==="number"&&Math.round(value)===value)return;if(typeof value==="string")return;throw new Error(msg(loc)+" must be a string or an integer number");}function assertAssumptions(loc,value){if(value===undefined)return;if(_typeof(value)!=="object"||value===null){throw new Error(msg(loc)+" must be an object or undefined.");}var root=loc;do{root=root.parent;}while(root.type!=="root");var inPreset=root.source==="preset";for(var _i3=0,_Object$keys3=Object.keys(value);_i3<_Object$keys3.length;_i3++){var _name2=_Object$keys3[_i3];var subLoc=access(loc,_name2);if(!assumptionsNames.has(_name2)){throw new Error(msg(subLoc)+" is not a supported assumption.");}if(typeof value[_name2]!=="boolean"){throw new Error(msg(subLoc)+" must be a boolean.");}if(inPreset&&value[_name2]===false){throw new Error(msg(subLoc)+" cannot be set to 'false' inside presets.");}}return value;}var _Object$getOwnPropert;var ErrorToString=Function.call.bind(Error.prototype.toString);var SUPPORTED=!!Error.captureStackTrace&&((_Object$getOwnPropert=Object.getOwnPropertyDescriptor(Error,"stackTraceLimit"))==null?void 0:_Object$getOwnPropert.writable)===true;var START_HIDING="startHiding - secret - don't use this - v1";var STOP_HIDING="stopHiding - secret - don't use this - v1";var expectedErrors=new WeakSet();var virtualFrames=new WeakMap();function CallSite(filename){return Object.create({isNative:function isNative(){return false;},isConstructor:function isConstructor(){return false;},isToplevel:function isToplevel(){return true;},getFileName:function getFileName(){return filename;},getLineNumber:function getLineNumber(){return undefined;},getColumnNumber:function getColumnNumber(){return undefined;},getFunctionName:function getFunctionName(){return undefined;},getMethodName:function getMethodName(){return undefined;},getTypeName:function getTypeName(){return undefined;},toString:function toString(){return filename;}});}function injectVirtualStackFrame(error,filename){if(!SUPPORTED)return;var frames=virtualFrames.get(error);if(!frames)virtualFrames.set(error,frames=[]);frames.push(CallSite(filename));return error;}function expectedError(error){if(!SUPPORTED)return;expectedErrors.add(error);return error;}function beginHiddenCallStack(fn){if(!SUPPORTED)return fn;return Object.defineProperty(function(){setupPrepareStackTrace();return fn.apply(void 0,arguments);},"name",{value:STOP_HIDING});}function endHiddenCallStack(fn){if(!SUPPORTED)return fn;return Object.defineProperty(function(){return fn.apply(void 0,arguments);},"name",{value:START_HIDING});}function setupPrepareStackTrace(){setupPrepareStackTrace=function setupPrepareStackTrace(){};var _Error$prepareStackTr=Error.prepareStackTrace,prepareStackTrace=_Error$prepareStackTr===void 0?defaultPrepareStackTrace:_Error$prepareStackTr;var MIN_STACK_TRACE_LIMIT=50;Error.stackTraceLimit&&(Error.stackTraceLimit=Math.max(Error.stackTraceLimit,MIN_STACK_TRACE_LIMIT));Error.prepareStackTrace=function stackTraceRewriter(err,trace){var newTrace=[];var isExpected=expectedErrors.has(err);var status=isExpected?"hiding":"unknown";for(var i=0;i<trace.length;i++){var name=trace[i].getFunctionName();if(name===START_HIDING){status="hiding";}else if(name===STOP_HIDING){if(status==="hiding"){status="showing";if(virtualFrames.has(err)){var _newTrace;(_newTrace=newTrace).unshift.apply(_newTrace,_toConsumableArray(virtualFrames.get(err)));}}else if(status==="unknown"){newTrace=trace;break;}}else if(status!=="hiding"){newTrace.push(trace[i]);}}return prepareStackTrace(err,newTrace);};}function defaultPrepareStackTrace(err,trace){if(trace.length===0)return ErrorToString(err);return ErrorToString(err)+"\n    at "+trace.join("\n    at ");}var ConfigError=function(_Error){_inherits(ConfigError,_Error);function ConfigError(message,filename){var _this;_this=_Error.call(this,message)||this;expectedError(_assertThisInitialized(_this));if(filename)injectVirtualStackFrame(_assertThisInitialized(_this),filename);return _this;}return _createClass(ConfigError);}(_wrapNativeSuper(Error));var ROOT_VALIDATORS={cwd:assertString,root:assertString,rootMode:assertRootMode,configFile:assertConfigFileSearch,caller:assertCallerMetadata,filename:assertString,filenameRelative:assertString,code:assertBoolean,ast:assertBoolean,cloneInputAst:assertBoolean,envName:assertString};var BABELRC_VALIDATORS={babelrc:assertBoolean,babelrcRoots:assertBabelrcSearch};var NONPRESET_VALIDATORS={"extends":assertString,ignore:assertIgnoreList,only:assertIgnoreList,targets:assertTargets,browserslistConfigFile:assertConfigFileSearch,browserslistEnv:assertString};var COMMON_VALIDATORS={inputSourceMap:assertInputSourceMap,presets:assertPluginList,plugins:assertPluginList,passPerPreset:assertBoolean,assumptions:assertAssumptions,env:assertEnvSet,overrides:assertOverridesList,test:assertConfigApplicableTest,include:assertConfigApplicableTest,exclude:assertConfigApplicableTest,retainLines:assertBoolean,comments:assertBoolean,shouldPrintComment:assertFunction,compact:assertCompact,minified:assertBoolean,auxiliaryCommentBefore:assertString,auxiliaryCommentAfter:assertString,sourceType:assertSourceType,wrapPluginVisitorMethod:assertFunction,highlightCode:assertBoolean,sourceMaps:assertSourceMaps,sourceMap:assertSourceMaps,sourceFileName:assertString,sourceRoot:assertString,parserOpts:assertObject,generatorOpts:assertObject};{Object.assign(COMMON_VALIDATORS,{getModuleId:assertFunction,moduleRoot:assertString,moduleIds:assertBoolean,moduleId:assertString});}var knownAssumptions=["arrayLikeIsIterable","constantReexports","constantSuper","enumerableModuleMeta","ignoreFunctionLength","ignoreToPrimitiveHint","iterableIsArray","mutableTemplateObject","noClassCalls","noDocumentAll","noIncompleteNsImportDetection","noNewArrows","noUninitializedPrivateFieldAccess","objectRestNoSymbols","privateFieldsAsSymbols","privateFieldsAsProperties","pureGetters","setClassMethods","setComputedProperties","setPublicClassFields","setSpreadProperties","skipForOfIteratorClosing","superIsCallableConstructor"];var assumptionsNames=new Set(knownAssumptions);function getSource(loc){return loc.type==="root"?loc.source:getSource(loc.parent);}function validate(type,opts,filename){try{return validateNested({type:"root",source:type},opts);}catch(error){var configError=new ConfigError(error.message,filename);if(error.code)configError.code=error.code;throw configError;}}function validateNested(loc,opts){var type=getSource(loc);assertNoDuplicateSourcemap(opts);Object.keys(opts).forEach(function(key){var optLoc={type:"option",name:key,parent:loc};if(type==="preset"&&NONPRESET_VALIDATORS[key]){throw new Error(msg(optLoc)+" is not allowed in preset options");}if(type!=="arguments"&&ROOT_VALIDATORS[key]){throw new Error(msg(optLoc)+" is only allowed in root programmatic options");}if(type!=="arguments"&&type!=="configfile"&&BABELRC_VALIDATORS[key]){if(type==="babelrcfile"||type==="extendsfile"){throw new Error(msg(optLoc)+" is not allowed in .babelrc or \"extends\"ed files, only in root programmatic options, "+"or babel.config.js/config file options");}throw new Error(msg(optLoc)+" is only allowed in root programmatic options, or babel.config.js/config file options");}var validator=COMMON_VALIDATORS[key]||NONPRESET_VALIDATORS[key]||BABELRC_VALIDATORS[key]||ROOT_VALIDATORS[key]||throwUnknownError;validator(optLoc,opts[key]);});return opts;}function throwUnknownError(loc){var key=loc.name;if(removed[key]){var _removed$key=removed[key],message=_removed$key.message,_removed$key$version=_removed$key.version,version=_removed$key$version===void 0?5:_removed$key$version;throw new Error("Using removed Babel "+version+" option: "+msg(loc)+" - "+message);}else{var unknownOptErr=new Error("Unknown option: "+msg(loc)+". Check out https://babeljs.io/docs/en/babel-core/#options for more information about options.");unknownOptErr.code="BABEL_UNKNOWN_OPTION";throw unknownOptErr;}}function assertNoDuplicateSourcemap(opts){if(hasOwnProperty.call(opts,"sourceMap")&&hasOwnProperty.call(opts,"sourceMaps")){throw new Error(".sourceMap is an alias for .sourceMaps, cannot use both");}}function assertEnvSet(loc,value){if(loc.parent.type==="env"){throw new Error(msg(loc)+" is not allowed inside of another .env block");}var parent=loc.parent;var obj=assertObject(loc,value);if(obj){for(var _i=0,_Object$keys=Object.keys(obj);_i<_Object$keys.length;_i++){var envName=_Object$keys[_i];var env=assertObject(access(loc,envName),obj[envName]);if(!env)continue;var envLoc={type:"env",name:envName,parent:parent};validateNested(envLoc,env);}}return obj;}function assertOverridesList(loc,value){if(loc.parent.type==="env"){throw new Error(msg(loc)+" is not allowed inside an .env block");}if(loc.parent.type==="overrides"){throw new Error(msg(loc)+" is not allowed inside an .overrides block");}var parent=loc.parent;var arr=assertArray(loc,value);if(arr){for(var _iterator=_createForOfIteratorHelperLoose(arr.entries()),_step;!(_step=_iterator()).done;){var _step$value=_slicedToArray(_step.value,2),index=_step$value[0],item=_step$value[1];var objLoc=access(loc,index);var env=assertObject(objLoc,item);if(!env)throw new Error(msg(objLoc)+" must be an object");var overridesLoc={type:"overrides",index:index,parent:parent};validateNested(overridesLoc,env);}}return arr;}function checkNoUnwrappedItemOptionPairs(items,index,type,e){if(index===0)return;var lastItem=items[index-1];var thisItem=items[index];if(lastItem.file&&lastItem.options===undefined&&_typeof(thisItem.value)==="object"){e.message+="\n- Maybe you meant to use\n"+("\""+type+"s\": [\n  [\""+lastItem.file.request+"\", "+JSON.stringify(thisItem.value,undefined,2)+"]\n]\n")+("To be a valid "+type+", its name and options should be wrapped in a pair of brackets");}}var sep="\\"+path$1.sep;var endSep="(?:"+sep+"|$)";var substitution="[^"+sep+"]+";var starPat="(?:"+substitution+sep+")";var starPatLast="(?:"+substitution+endSep+")";var starStarPat=starPat+"*?";var starStarPatLast=starPat+"*?"+starPatLast+"?";function escapeRegExp(string){return string.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&");}function pathToPattern(pattern,dirname){var parts=path$1.resolve(dirname,pattern).split(path$1.sep);return new RegExp(["^"].concat(_toConsumableArray(parts.map(function(part,i){var last=i===parts.length-1;if(part==="**")return last?starStarPatLast:starStarPat;if(part==="*")return last?starPatLast:starPat;if(part.indexOf("*.")===0){return substitution+escapeRegExp(part.slice(1))+(last?endSep:sep);}return escapeRegExp(part)+(last?endSep:sep);}))).join(""));}var ChainFormatter={Programmatic:0,Config:1};var Formatter={title:function title(type,callerName,filepath){var title="";if(type===ChainFormatter.Programmatic){title="programmatic options";if(callerName){title+=" from "+callerName;}}else{title="config "+filepath;}return title;},loc:function loc(index,envName){var loc="";if(index!=null){loc+=".overrides["+index+"]";}if(envName!=null){loc+=".env[\""+envName+"\"]";}return loc;},optionsAndDescriptors:_regeneratorRuntime().mark(function optionsAndDescriptors(opt){var content,pluginDescriptors,presetDescriptors;return _regeneratorRuntime().wrap(function optionsAndDescriptors$(_context){while(1)switch(_context.prev=_context.next){case 0:content=Object.assign({},opt.options);delete content.overrides;delete content.env;_context.t0=_toConsumableArray;return _context.delegateYield(opt.plugins(),"t1",5);case 5:_context.t2=_context.t1;pluginDescriptors=(0,_context.t0)(_context.t2);if(pluginDescriptors.length){content.plugins=pluginDescriptors.map(function(d){return descriptorToConfig(d);});}_context.t3=_toConsumableArray;return _context.delegateYield(opt.presets(),"t4",10);case 10:_context.t5=_context.t4;presetDescriptors=(0,_context.t3)(_context.t5);if(presetDescriptors.length){content.presets=_toConsumableArray(presetDescriptors).map(function(d){return descriptorToConfig(d);});}return _context.abrupt("return",JSON.stringify(content,undefined,2));case 14:case"end":return _context.stop();}},optionsAndDescriptors);})};function descriptorToConfig(d){var _d$file;var name=(_d$file=d.file)==null?void 0:_d$file.request;if(name==null){if(_typeof(d.value)==="object"){name=d.value;}else if(typeof d.value==="function"){name="[Function: "+d.value.toString().slice(0,50)+" ... ]";}}if(name==null){name="[Unknown]";}if(d.options===undefined){return name;}else if(d.name==null){return[name,d.options];}else{return[name,d.options,d.name];}}var ConfigPrinter=function(){function ConfigPrinter(){this._stack=[];}var _proto=ConfigPrinter.prototype;_proto.configure=function configure(enabled,type,_ref){var _this=this;var callerName=_ref.callerName,filepath=_ref.filepath;if(!enabled)return function(){};return function(content,index,envName){_this._stack.push({type:type,callerName:callerName,filepath:filepath,content:content,index:index,envName:envName});};};ConfigPrinter.format=_regeneratorRuntime().mark(function format(config){var title,loc,content;return _regeneratorRuntime().wrap(function format$(_context2){while(1)switch(_context2.prev=_context2.next){case 0:title=Formatter.title(config.type,config.callerName,config.filepath);loc=Formatter.loc(config.index,config.envName);if(loc)title+=" "+loc;return _context2.delegateYield(Formatter.optionsAndDescriptors(config.content),"t0",4);case 4:content=_context2.t0;return _context2.abrupt("return",title+"\n"+content);case 6:case"end":return _context2.stop();}},format);});_proto.output=_regeneratorRuntime().mark(function output(){var configs;return _regeneratorRuntime().wrap(function output$(_context3){while(1)switch(_context3.prev=_context3.next){case 0:if(!(this._stack.length===0)){_context3.next=2;break;}return _context3.abrupt("return","");case 2:return _context3.delegateYield(gensync.all(this._stack.map(function(s){return ConfigPrinter.format(s);})),"t0",3);case 3:configs=_context3.t0;return _context3.abrupt("return",configs.join("\n\n"));case 5:case"end":return _context3.stop();}},output,this);});return _createClass(ConfigPrinter);}();var _marked$6=_regeneratorRuntime().mark(buildPresetChain),_marked2$4=_regeneratorRuntime().mark(buildRootChain),_marked3$1=_regeneratorRuntime().mark(loadFileChain),_marked4=_regeneratorRuntime().mark(mergeExtendsChain);var debug$1=browserExports("babel:config:config-chain");function buildPresetChain(arg,context){var chain;return _regeneratorRuntime().wrap(function buildPresetChain$(_context){while(1)switch(_context.prev=_context.next){case 0:return _context.delegateYield(buildPresetChainWalker(arg,context),"t0",1);case 1:chain=_context.t0;if(chain){_context.next=4;break;}return _context.abrupt("return",null);case 4:return _context.abrupt("return",{plugins:dedupDescriptors(chain.plugins),presets:dedupDescriptors(chain.presets),options:chain.options.map(function(o){return normalizeOptions$7(o);}),files:new Set()});case 5:case"end":return _context.stop();}},_marked$6);}var buildPresetChainWalker=makeChainWalker({root:function root(preset){return loadPresetDescriptors(preset);},env:function env(preset,envName){return loadPresetEnvDescriptors(preset)(envName);},overrides:function overrides(preset,index){return loadPresetOverridesDescriptors(preset)(index);},overridesEnv:function overridesEnv(preset,index,envName){return loadPresetOverridesEnvDescriptors(preset)(index)(envName);},createLogger:function createLogger(){return function(){};}});var loadPresetDescriptors=makeWeakCacheSync(function(preset){return buildRootDescriptors(preset,preset.alias,createUncachedDescriptors);});var loadPresetEnvDescriptors=makeWeakCacheSync(function(preset){return makeStrongCacheSync(function(envName){return buildEnvDescriptors(preset,preset.alias,createUncachedDescriptors,envName);});});var loadPresetOverridesDescriptors=makeWeakCacheSync(function(preset){return makeStrongCacheSync(function(index){return buildOverrideDescriptors(preset,preset.alias,createUncachedDescriptors,index);});});var loadPresetOverridesEnvDescriptors=makeWeakCacheSync(function(preset){return makeStrongCacheSync(function(index){return makeStrongCacheSync(function(envName){return buildOverrideEnvDescriptors(preset,preset.alias,createUncachedDescriptors,index,envName);});});});function buildRootChain(opts,context){var configReport,babelRcReport,programmaticLogger,programmaticChain,programmaticReport,configFile,babelrc,babelrcRoots,babelrcRootsDirectory,configFileChain,configFileLogger,validatedFile,result,ignoreFile,babelrcFile,isIgnored,fileChain,pkgData,_yield$findRelativeCo,_validatedFile,babelrcLogger,_result,chain;return _regeneratorRuntime().wrap(function buildRootChain$(_context2){while(1)switch(_context2.prev=_context2.next){case 0:programmaticLogger=new ConfigPrinter();return _context2.delegateYield(loadProgrammaticChain({options:opts,dirname:context.cwd},context,undefined,programmaticLogger),"t0",2);case 2:programmaticChain=_context2.t0;if(programmaticChain){_context2.next=5;break;}return _context2.abrupt("return",null);case 5:return _context2.delegateYield(programmaticLogger.output(),"t1",6);case 6:programmaticReport=_context2.t1;if(!(typeof opts.configFile==="string")){_context2.next=12;break;}return _context2.delegateYield(loadConfig$1(opts.configFile,context.cwd,context.envName,context.caller),"t2",9);case 9:configFile=_context2.t2;_context2.next=15;break;case 12:if(!(opts.configFile!==false)){_context2.next=15;break;}return _context2.delegateYield(findRootConfig(context.root,context.envName,context.caller),"t3",14);case 14:configFile=_context2.t3;case 15:babelrc=opts.babelrc,babelrcRoots=opts.babelrcRoots;babelrcRootsDirectory=context.cwd;configFileChain=emptyChain();configFileLogger=new ConfigPrinter();if(!configFile){_context2.next=30;break;}validatedFile=validateConfigFile(configFile);return _context2.delegateYield(loadFileChain(validatedFile,context,undefined,configFileLogger),"t4",22);case 22:result=_context2.t4;if(result){_context2.next=25;break;}return _context2.abrupt("return",null);case 25:return _context2.delegateYield(configFileLogger.output(),"t5",26);case 26:configReport=_context2.t5;if(babelrc===undefined){babelrc=validatedFile.options.babelrc;}if(babelrcRoots===undefined){babelrcRootsDirectory=validatedFile.dirname;babelrcRoots=validatedFile.options.babelrcRoots;}mergeChain(configFileChain,result);case 30:isIgnored=false;fileChain=emptyChain();if(!((babelrc===true||babelrc===undefined)&&typeof context.filename==="string")){_context2.next=55;break;}return _context2.delegateYield(findPackageData(context.filename),"t6",34);case 34:pkgData=_context2.t6;if(!(pkgData&&babelrcLoadEnabled(context,pkgData,babelrcRoots,babelrcRootsDirectory))){_context2.next=55;break;}return _context2.delegateYield(findRelativeConfig(pkgData,context.envName,context.caller),"t7",37);case 37:_yield$findRelativeCo=_context2.t7;ignoreFile=_yield$findRelativeCo.ignore;babelrcFile=_yield$findRelativeCo.config;if(ignoreFile){fileChain.files.add(ignoreFile.filepath);}if(ignoreFile&&shouldIgnore(context,ignoreFile.ignore,null,ignoreFile.dirname)){isIgnored=true;}if(!(babelrcFile&&!isIgnored)){_context2.next=54;break;}_validatedFile=validateBabelrcFile(babelrcFile);babelrcLogger=new ConfigPrinter();return _context2.delegateYield(loadFileChain(_validatedFile,context,undefined,babelrcLogger),"t8",46);case 46:_result=_context2.t8;if(_result){_context2.next=51;break;}isIgnored=true;_context2.next=54;break;case 51:return _context2.delegateYield(babelrcLogger.output(),"t9",52);case 52:babelRcReport=_context2.t9;mergeChain(fileChain,_result);case 54:if(babelrcFile&&isIgnored){fileChain.files.add(babelrcFile.filepath);}case 55:if(context.showConfig){console.log("Babel configs on \""+context.filename+"\" (ascending priority):\n"+[configReport,babelRcReport,programmaticReport].filter(function(x){return!!x;}).join("\n\n")+"\n-----End Babel configs-----");}chain=mergeChain(mergeChain(mergeChain(emptyChain(),configFileChain),fileChain),programmaticChain);return _context2.abrupt("return",{plugins:isIgnored?[]:dedupDescriptors(chain.plugins),presets:isIgnored?[]:dedupDescriptors(chain.presets),options:isIgnored?[]:chain.options.map(function(o){return normalizeOptions$7(o);}),fileHandling:isIgnored?"ignored":"transpile",ignore:ignoreFile||undefined,babelrc:babelrcFile||undefined,config:configFile||undefined,files:chain.files});case 58:case"end":return _context2.stop();}},_marked2$4);}function babelrcLoadEnabled(context,pkgData,babelrcRoots,babelrcRootsDirectory){if(typeof babelrcRoots==="boolean")return babelrcRoots;var absoluteRoot=context.root;if(babelrcRoots===undefined){return pkgData.directories.indexOf(absoluteRoot)!==-1;}var babelrcPatterns=babelrcRoots;if(!Array.isArray(babelrcPatterns)){babelrcPatterns=[babelrcPatterns];}babelrcPatterns=babelrcPatterns.map(function(pat){return typeof pat==="string"?path$1.resolve(babelrcRootsDirectory,pat):pat;});if(babelrcPatterns.length===1&&babelrcPatterns[0]===absoluteRoot){return pkgData.directories.indexOf(absoluteRoot)!==-1;}return babelrcPatterns.some(function(pat){if(typeof pat==="string"){pat=pathToPattern(pat,babelrcRootsDirectory);}return pkgData.directories.some(function(directory){return matchPattern(pat,babelrcRootsDirectory,directory,context);});});}var validateConfigFile=makeWeakCacheSync(function(file){return{filepath:file.filepath,dirname:file.dirname,options:validate("configfile",file.options,file.filepath)};});var validateBabelrcFile=makeWeakCacheSync(function(file){return{filepath:file.filepath,dirname:file.dirname,options:validate("babelrcfile",file.options,file.filepath)};});var validateExtendFile=makeWeakCacheSync(function(file){return{filepath:file.filepath,dirname:file.dirname,options:validate("extendsfile",file.options,file.filepath)};});var loadProgrammaticChain=makeChainWalker({root:function root(input){return buildRootDescriptors(input,"base",createCachedDescriptors);},env:function env(input,envName){return buildEnvDescriptors(input,"base",createCachedDescriptors,envName);},overrides:function overrides(input,index){return buildOverrideDescriptors(input,"base",createCachedDescriptors,index);},overridesEnv:function overridesEnv(input,index,envName){return buildOverrideEnvDescriptors(input,"base",createCachedDescriptors,index,envName);},createLogger:function createLogger(input,context,baseLogger){return buildProgrammaticLogger(input,context,baseLogger);}});var loadFileChainWalker=makeChainWalker({root:function root(file){return loadFileDescriptors(file);},env:function env(file,envName){return loadFileEnvDescriptors(file)(envName);},overrides:function overrides(file,index){return loadFileOverridesDescriptors(file)(index);},overridesEnv:function overridesEnv(file,index,envName){return loadFileOverridesEnvDescriptors(file)(index)(envName);},createLogger:function createLogger(file,context,baseLogger){return buildFileLogger(file.filepath,context,baseLogger);}});function loadFileChain(input,context,files,baseLogger){var chain;return _regeneratorRuntime().wrap(function loadFileChain$(_context3){while(1)switch(_context3.prev=_context3.next){case 0:return _context3.delegateYield(loadFileChainWalker(input,context,files,baseLogger),"t0",1);case 1:chain=_context3.t0;chain==null||chain.files.add(input.filepath);return _context3.abrupt("return",chain);case 4:case"end":return _context3.stop();}},_marked3$1);}var loadFileDescriptors=makeWeakCacheSync(function(file){return buildRootDescriptors(file,file.filepath,createUncachedDescriptors);});var loadFileEnvDescriptors=makeWeakCacheSync(function(file){return makeStrongCacheSync(function(envName){return buildEnvDescriptors(file,file.filepath,createUncachedDescriptors,envName);});});var loadFileOverridesDescriptors=makeWeakCacheSync(function(file){return makeStrongCacheSync(function(index){return buildOverrideDescriptors(file,file.filepath,createUncachedDescriptors,index);});});var loadFileOverridesEnvDescriptors=makeWeakCacheSync(function(file){return makeStrongCacheSync(function(index){return makeStrongCacheSync(function(envName){return buildOverrideEnvDescriptors(file,file.filepath,createUncachedDescriptors,index,envName);});});});function buildFileLogger(filepath,context,baseLogger){if(!baseLogger){return function(){};}return baseLogger.configure(context.showConfig,ChainFormatter.Config,{filepath:filepath});}function buildRootDescriptors(_ref,alias,descriptors){var dirname=_ref.dirname,options=_ref.options;return descriptors(dirname,options,alias);}function buildProgrammaticLogger(_,context,baseLogger){var _context$caller;if(!baseLogger){return function(){};}return baseLogger.configure(context.showConfig,ChainFormatter.Programmatic,{callerName:(_context$caller=context.caller)==null?void 0:_context$caller.name});}function buildEnvDescriptors(_ref2,alias,descriptors,envName){var _options$env;var dirname=_ref2.dirname,options=_ref2.options;var opts=(_options$env=options.env)==null?void 0:_options$env[envName];return opts?descriptors(dirname,opts,alias+".env[\""+envName+"\"]"):null;}function buildOverrideDescriptors(_ref3,alias,descriptors,index){var _options$overrides;var dirname=_ref3.dirname,options=_ref3.options;var opts=(_options$overrides=options.overrides)==null?void 0:_options$overrides[index];if(!opts)throw new Error("Assertion failure - missing override");return descriptors(dirname,opts,alias+".overrides["+index+"]");}function buildOverrideEnvDescriptors(_ref4,alias,descriptors,index,envName){var _options$overrides2,_override$env;var dirname=_ref4.dirname,options=_ref4.options;var override=(_options$overrides2=options.overrides)==null?void 0:_options$overrides2[index];if(!override)throw new Error("Assertion failure - missing override");var opts=(_override$env=override.env)==null?void 0:_override$env[envName];return opts?descriptors(dirname,opts,alias+".overrides["+index+"].env[\""+envName+"\"]"):null;}function makeChainWalker(_ref5){var root=_ref5.root,env=_ref5.env,overrides=_ref5.overrides,overridesEnv=_ref5.overridesEnv,createLogger=_ref5.createLogger;return function chainWalker(input,context,files,baseLogger){if(files===void 0){files=new Set();}return _regeneratorRuntime().mark(function _callee(){var dirname,flattenedConfigs,rootOpts,envOpts,chain,logger,_i,_flattenedConfigs,_flattenedConfigs$_i,config,_index,envName;return _regeneratorRuntime().wrap(function _callee$(_context4){while(1)switch(_context4.prev=_context4.next){case 0:dirname=input.dirname;flattenedConfigs=[];rootOpts=root(input);if(configIsApplicable(rootOpts,dirname,context,input.filepath)){flattenedConfigs.push({config:rootOpts,envName:undefined,index:undefined});envOpts=env(input,context.envName);if(envOpts&&configIsApplicable(envOpts,dirname,context,input.filepath)){flattenedConfigs.push({config:envOpts,envName:context.envName,index:undefined});}(rootOpts.options.overrides||[]).forEach(function(_,index){var overrideOps=overrides(input,index);if(configIsApplicable(overrideOps,dirname,context,input.filepath)){flattenedConfigs.push({config:overrideOps,index:index,envName:undefined});var overrideEnvOpts=overridesEnv(input,index,context.envName);if(overrideEnvOpts&&configIsApplicable(overrideEnvOpts,dirname,context,input.filepath)){flattenedConfigs.push({config:overrideEnvOpts,index:index,envName:context.envName});}}});}if(!flattenedConfigs.some(function(_ref6){var _ref6$config$options=_ref6.config.options,ignore=_ref6$config$options.ignore,only=_ref6$config$options.only;return shouldIgnore(context,ignore,only,dirname);})){_context4.next=6;break;}return _context4.abrupt("return",null);case 6:chain=emptyChain();logger=createLogger(input,context,baseLogger);_i=0,_flattenedConfigs=flattenedConfigs;case 9:if(!(_i<_flattenedConfigs.length)){_context4.next=19;break;}_flattenedConfigs$_i=_flattenedConfigs[_i],config=_flattenedConfigs$_i.config,_index=_flattenedConfigs$_i.index,envName=_flattenedConfigs$_i.envName;return _context4.delegateYield(mergeExtendsChain(chain,config.options,dirname,context,files,baseLogger),"t0",12);case 12:if(_context4.t0){_context4.next=14;break;}return _context4.abrupt("return",null);case 14:logger(config,_index,envName);return _context4.delegateYield(mergeChainOpts(chain,config),"t1",16);case 16:_i++;_context4.next=9;break;case 19:return _context4.abrupt("return",chain);case 20:case"end":return _context4.stop();}},_callee);})();};}function mergeExtendsChain(chain,opts,dirname,context,files,baseLogger){var file,fileChain;return _regeneratorRuntime().wrap(function mergeExtendsChain$(_context5){while(1)switch(_context5.prev=_context5.next){case 0:if(!(opts["extends"]===undefined)){_context5.next=2;break;}return _context5.abrupt("return",true);case 2:return _context5.delegateYield(loadConfig$1(opts["extends"],dirname,context.envName,context.caller),"t0",3);case 3:file=_context5.t0;if(!files.has(file)){_context5.next=6;break;}throw new Error("Configuration cycle detected loading "+file.filepath+".\n"+"File already loaded following the config chain:\n"+Array.from(files,function(file){return" - "+file.filepath;}).join("\n"));case 6:files.add(file);return _context5.delegateYield(loadFileChain(validateExtendFile(file),context,files,baseLogger),"t1",8);case 8:fileChain=_context5.t1;files["delete"](file);if(fileChain){_context5.next=12;break;}return _context5.abrupt("return",false);case 12:mergeChain(chain,fileChain);return _context5.abrupt("return",true);case 14:case"end":return _context5.stop();}},_marked4);}function mergeChain(target,source){var _target$options,_target$plugins,_target$presets;(_target$options=target.options).push.apply(_target$options,_toConsumableArray(source.options));(_target$plugins=target.plugins).push.apply(_target$plugins,_toConsumableArray(source.plugins));(_target$presets=target.presets).push.apply(_target$presets,_toConsumableArray(source.presets));for(var _iterator=_createForOfIteratorHelperLoose(source.files),_step;!(_step=_iterator()).done;){var file=_step.value;target.files.add(file);}return target;}function mergeChainOpts(target,_ref7){var options=_ref7.options,plugins=_ref7.plugins,presets=_ref7.presets;return _regeneratorRuntime().mark(function _callee2(_target$plugins2,_target$presets2){return _regeneratorRuntime().wrap(function _callee2$(_context6){while(1)switch(_context6.prev=_context6.next){case 0:target.options.push(options);_context6.t0=(_target$plugins2=target.plugins).push;_context6.t1=_target$plugins2;_context6.t2=_toConsumableArray;return _context6.delegateYield(plugins(),"t3",5);case 5:_context6.t4=_context6.t3;_context6.t5=(0,_context6.t2)(_context6.t4);_context6.t0.apply.call(_context6.t0,_context6.t1,_context6.t5);_context6.t6=(_target$presets2=target.presets).push;_context6.t7=_target$presets2;_context6.t8=_toConsumableArray;return _context6.delegateYield(presets(),"t9",12);case 12:_context6.t10=_context6.t9;_context6.t11=(0,_context6.t8)(_context6.t10);_context6.t6.apply.call(_context6.t6,_context6.t7,_context6.t11);return _context6.abrupt("return",target);case 16:case"end":return _context6.stop();}},_callee2);})();}function emptyChain(){return{options:[],presets:[],plugins:[],files:new Set()};}function normalizeOptions$7(opts){var options=Object.assign({},opts);delete options["extends"];delete options.env;delete options.overrides;delete options.plugins;delete options.presets;delete options.passPerPreset;delete options.ignore;delete options.only;delete options.test;delete options.include;delete options.exclude;if(hasOwnProperty.call(options,"sourceMap")){options.sourceMaps=options.sourceMap;delete options.sourceMap;}return options;}function dedupDescriptors(items){var map=new Map();var descriptors=[];for(var _iterator2=_createForOfIteratorHelperLoose(items),_step2;!(_step2=_iterator2()).done;){var item=_step2.value;if(typeof item.value==="function"){var fnKey=item.value;var nameMap=map.get(fnKey);if(!nameMap){nameMap=new Map();map.set(fnKey,nameMap);}var desc=nameMap.get(item.name);if(!desc){desc={value:item};descriptors.push(desc);if(!item.ownPass)nameMap.set(item.name,desc);}else{desc.value=item;}}else{descriptors.push({value:item});}}return descriptors.reduce(function(acc,desc){acc.push(desc.value);return acc;},[]);}function configIsApplicable(_ref8,dirname,context,configName){var options=_ref8.options;return(options.test===undefined||configFieldIsApplicable(context,options.test,dirname,configName))&&(options.include===undefined||configFieldIsApplicable(context,options.include,dirname,configName))&&(options.exclude===undefined||!configFieldIsApplicable(context,options.exclude,dirname,configName));}function configFieldIsApplicable(context,test,dirname,configName){var patterns=Array.isArray(test)?test:[test];return matchesPatterns(context,patterns,dirname,configName);}function ignoreListReplacer(_key,value){if(value instanceof RegExp){return String(value);}return value;}function shouldIgnore(context,ignore,only,dirname){if(ignore&&matchesPatterns(context,ignore,dirname)){var _context$filename;var message="No config is applied to \""+((_context$filename=context.filename)!=null?_context$filename:"(unknown)")+"\" because it matches one of `ignore: "+JSON.stringify(ignore,ignoreListReplacer)+"` from \""+dirname+"\"";debug$1(message);if(context.showConfig){console.log(message);}return true;}if(only&&!matchesPatterns(context,only,dirname)){var _context$filename2;var _message="No config is applied to \""+((_context$filename2=context.filename)!=null?_context$filename2:"(unknown)")+"\" because it fails to match one of `only: "+JSON.stringify(only,ignoreListReplacer)+"` from \""+dirname+"\"";debug$1(_message);if(context.showConfig){console.log(_message);}return true;}return false;}function matchesPatterns(context,patterns,dirname,configName){return patterns.some(function(pattern){return matchPattern(pattern,dirname,context.filename,context,configName);});}function matchPattern(pattern,dirname,pathToTest,context,configName){if(typeof pattern==="function"){return!!endHiddenCallStack(pattern)(pathToTest,{dirname:dirname,envName:context.envName,caller:context.caller});}if(typeof pathToTest!=="string"){throw new ConfigError("Configuration contains string/RegExp pattern, but no filename was passed to Babel",configName);}if(typeof pattern==="string"){pattern=pathToPattern(pattern,dirname);}return pattern.test(pathToTest);}var VALIDATORS={name:assertString,manipulateOptions:assertFunction,pre:assertFunction,post:assertFunction,inherits:assertFunction,visitor:assertVisitorMap,parserOverride:assertFunction,generatorOverride:assertFunction};function assertVisitorMap(loc,value){var obj=assertObject(loc,value);if(obj){Object.keys(obj).forEach(function(prop){if(prop!=="_exploded"&&prop!=="_verified"){assertVisitorHandler(prop,obj[prop]);}});if(obj.enter||obj.exit){throw new Error(msg(loc)+" cannot contain catch-all \"enter\" or \"exit\" handlers. Please target individual nodes.");}}return obj;}function assertVisitorHandler(key,value){if(value&&_typeof(value)==="object"){Object.keys(value).forEach(function(handler){if(handler!=="enter"&&handler!=="exit"){throw new Error(".visitor[\""+key+"\"] may only have .enter and/or .exit handlers.");}});}else if(typeof value!=="function"){throw new Error(".visitor[\""+key+"\"] must be a function");}}function validatePluginObject(obj){var rootPath={type:"root",source:"plugin"};Object.keys(obj).forEach(function(key){var validator=VALIDATORS[key];if(validator){var optLoc={type:"option",name:key,parent:rootPath};validator(optLoc,obj[key]);}else{var invalidPluginPropertyError=new Error("."+key+" is not a valid Plugin property");invalidPluginPropertyError.code="BABEL_UNKNOWN_PLUGIN_PROPERTY";throw invalidPluginPropertyError;}});return obj;}function makeConfigAPI(cache){var env=function env(value){return cache.using(function(data){if(typeof value==="undefined")return data.envName;if(typeof value==="function"){return assertSimpleType(value(data.envName));}return(Array.isArray(value)?value:[value]).some(function(entry){if(typeof entry!=="string"){throw new Error("Unexpected non-string value");}return entry===data.envName;});});};var caller=function caller(cb){return cache.using(function(data){return assertSimpleType(cb(data.caller));});};return{version:version$1,cache:cache.simple(),env:env,async:function async(){return false;},caller:caller,assertVersion:assertVersion};}function makePresetAPI(cache,externalDependencies){var targets=function targets(){return JSON.parse(cache.using(function(data){return JSON.stringify(data.targets);}));};var addExternalDependency=function addExternalDependency(ref){externalDependencies.push(ref);};return Object.assign({},makeConfigAPI(cache),{targets:targets,addExternalDependency:addExternalDependency});}function makePluginAPI(cache,externalDependencies){var assumption=function assumption(name){return cache.using(function(data){return data.assumptions[name];});};return Object.assign({},makePresetAPI(cache,externalDependencies),{assumption:assumption});}function assertVersion(range){if(typeof range==="number"){if(!Number.isInteger(range)){throw new Error("Expected string or integer value.");}range="^"+range+".0.0-0";}if(typeof range!=="string"){throw new Error("Expected string or integer value.");}if(semver$9.satisfies(version$1,range))return;var limit=Error.stackTraceLimit;if(typeof limit==="number"&&limit<25){Error.stackTraceLimit=25;}var err=new Error("Requires Babel \""+range+"\", but was loaded with \""+version$1+"\". "+"If you are sure you have a compatible version of @babel/core, "+"it is likely that something in your build process is loading the "+"wrong version. Inspect the stack trace of this error to look for "+"the first entry that doesn't mention \"@babel/core\" or \"babel-core\" "+"to see what is calling Babel.");if(typeof limit==="number"){Error.stackTraceLimit=limit;}throw Object.assign(err,{code:"BABEL_VERSION_UNSUPPORTED",version:version$1,range:range});}var _excluded$2=["showIgnoredFiles"];var _marked$5=_regeneratorRuntime().mark(loadPrivatePartialConfig),_marked2$3=_regeneratorRuntime().mark(loadPartialConfig$1);function resolveRootMode(rootDir,rootMode){switch(rootMode){case"root":return rootDir;case"upward-optional":{var upwardRootDir=findConfigUpwards();return upwardRootDir===null?rootDir:upwardRootDir;}case"upward":{var _upwardRootDir=findConfigUpwards();if(_upwardRootDir!==null)return _upwardRootDir;throw Object.assign(new Error("Babel was run with rootMode:\"upward\" but a root could not "+("be found when searching upward from \""+rootDir+"\".\n")+"One of the following config files must be in the directory tree: "+("\""+ROOT_CONFIG_FILENAMES.join(", ")+"\".")),{code:"BABEL_ROOT_NOT_FOUND",dirname:rootDir});}default:throw new Error("Assertion failure - unknown rootMode value.");}}function loadPrivatePartialConfig(inputOpts){var args,_args$envName,envName,_args$cwd,cwd,_args$root,rootDir,_args$rootMode,rootMode,caller,_args$cloneInputAst,cloneInputAst,absoluteCwd,absoluteRootDir,filename,showConfigPath,context,configChain,merged,options;return _regeneratorRuntime().wrap(function loadPrivatePartialConfig$(_context){while(1)switch(_context.prev=_context.next){case 0:if(!(inputOpts!=null&&(_typeof(inputOpts)!=="object"||Array.isArray(inputOpts)))){_context.next=2;break;}throw new Error("Babel options must be an object, null, or undefined");case 2:args=inputOpts?validate("arguments",inputOpts):{};_args$envName=args.envName,envName=_args$envName===void 0?getEnv():_args$envName,_args$cwd=args.cwd,cwd=_args$cwd===void 0?".":_args$cwd,_args$root=args.root,rootDir=_args$root===void 0?".":_args$root,_args$rootMode=args.rootMode,rootMode=_args$rootMode===void 0?"root":_args$rootMode,caller=args.caller,_args$cloneInputAst=args.cloneInputAst,cloneInputAst=_args$cloneInputAst===void 0?true:_args$cloneInputAst;absoluteCwd=path$1.resolve(cwd);absoluteRootDir=resolveRootMode(path$1.resolve(absoluteCwd,rootDir),rootMode);filename=typeof args.filename==="string"?path$1.resolve(cwd,args.filename):undefined;return _context.delegateYield(resolveShowConfigPath(),"t0",8);case 8:showConfigPath=_context.t0;context={filename:filename,cwd:absoluteCwd,root:absoluteRootDir,envName:envName,caller:caller,showConfig:showConfigPath===filename};return _context.delegateYield(buildRootChain(args,context),"t1",11);case 11:configChain=_context.t1;if(configChain){_context.next=14;break;}return _context.abrupt("return",null);case 14:merged={assumptions:{}};configChain.options.forEach(function(opts){mergeOptions(merged,opts);});options=Object.assign({},merged,{targets:resolveTargets(merged),cloneInputAst:cloneInputAst,babelrc:false,configFile:false,browserslistConfigFile:false,passPerPreset:false,envName:context.envName,cwd:context.cwd,root:context.root,rootMode:"root",filename:typeof context.filename==="string"?context.filename:undefined,plugins:configChain.plugins.map(function(descriptor){return createItemFromDescriptor(descriptor);}),presets:configChain.presets.map(function(descriptor){return createItemFromDescriptor(descriptor);})});return _context.abrupt("return",{options:options,context:context,fileHandling:configChain.fileHandling,ignore:configChain.ignore,babelrc:configChain.babelrc,config:configChain.config,files:configChain.files});case 18:case"end":return _context.stop();}},_marked$5);}function loadPartialConfig$1(opts){var showIgnoredFiles,_opts,result,options,babelrc,ignore,config,fileHandling,files;return _regeneratorRuntime().wrap(function loadPartialConfig$(_context2){while(1)switch(_context2.prev=_context2.next){case 0:showIgnoredFiles=false;if(_typeof(opts)==="object"&&opts!==null&&!Array.isArray(opts)){_opts=opts;showIgnoredFiles=_opts.showIgnoredFiles;opts=_objectWithoutPropertiesLoose(_opts,_excluded$2);}return _context2.delegateYield(loadPrivatePartialConfig(opts),"t0",3);case 3:result=_context2.t0;if(result){_context2.next=6;break;}return _context2.abrupt("return",null);case 6:options=result.options,babelrc=result.babelrc,ignore=result.ignore,config=result.config,fileHandling=result.fileHandling,files=result.files;if(!(fileHandling==="ignored"&&!showIgnoredFiles)){_context2.next=9;break;}return _context2.abrupt("return",null);case 9:(options.plugins||[]).forEach(function(item){if(item.value instanceof Plugin){throw new Error("Passing cached plugin instances is not supported in "+"babel.loadPartialConfig()");}});return _context2.abrupt("return",new PartialConfig(options,babelrc?babelrc.filepath:undefined,ignore?ignore.filepath:undefined,config?config.filepath:undefined,fileHandling,files));case 11:case"end":return _context2.stop();}},_marked2$3);}var PartialConfig=function(){function PartialConfig(options,babelrc,ignore,config,fileHandling,files){this.options=void 0;this.babelrc=void 0;this.babelignore=void 0;this.config=void 0;this.fileHandling=void 0;this.files=void 0;this.options=options;this.babelignore=ignore;this.babelrc=babelrc;this.config=config;this.fileHandling=fileHandling;this.files=files;Object.freeze(this);}var _proto=PartialConfig.prototype;_proto.hasFilesystemConfig=function hasFilesystemConfig(){return this.babelrc!==undefined||this.config!==undefined;};return _createClass(PartialConfig);}();Object.freeze(PartialConfig.prototype);var _marked$4=_regeneratorRuntime().mark(loadPluginDescriptor),_marked2$2=_regeneratorRuntime().mark(loadPresetDescriptor);var loadConfig=gensync(_regeneratorRuntime().mark(function loadFullConfig(inputOpts){var _opts$assumptions;var result,options,context,fileHandling,optionDefaults,plugins,presets,presetContext,toDescriptor,presetsDescriptors,initialPluginsDescriptors,pluginDescriptorsByPass,passes,externalDependencies,ignored,opts,pluginContext;return _regeneratorRuntime().wrap(function loadFullConfig$(_context3){while(1)switch(_context3.prev=_context3.next){case 0:return _context3.delegateYield(loadPrivatePartialConfig(inputOpts),"t0",1);case 1:result=_context3.t0;if(result){_context3.next=4;break;}return _context3.abrupt("return",null);case 4:options=result.options,context=result.context,fileHandling=result.fileHandling;if(!(fileHandling==="ignored")){_context3.next=7;break;}return _context3.abrupt("return",null);case 7:optionDefaults={};plugins=options.plugins,presets=options.presets;if(!(!plugins||!presets)){_context3.next=11;break;}throw new Error("Assertion failure - plugins and presets exist");case 11:presetContext=Object.assign({},context,{targets:options.targets});toDescriptor=function toDescriptor(item){var desc=getItemDescriptor(item);if(!desc){throw new Error("Assertion failure - must be config item");}return desc;};presetsDescriptors=presets.map(toDescriptor);initialPluginsDescriptors=plugins.map(toDescriptor);pluginDescriptorsByPass=[[]];passes=[];externalDependencies=[];return _context3.delegateYield(enhanceError(context,_regeneratorRuntime().mark(function recursePresetDescriptors(rawPresets,pluginDescriptorsPass){var presets,i,descriptor,preset,_iterator,_step,_step$value,_preset,pass,_ignored;return _regeneratorRuntime().wrap(function recursePresetDescriptors$(_context){while(1)switch(_context.prev=_context.next){case 0:presets=[];i=0;case 2:if(!(i<rawPresets.length)){_context.next=19;break;}descriptor=rawPresets[i];if(!(descriptor.options!==false)){_context.next=16;break;}_context.prev=5;return _context.delegateYield(loadPresetDescriptor(descriptor,presetContext),"t0",7);case 7:preset=_context.t0;_context.next=14;break;case 10:_context.prev=10;_context.t1=_context["catch"](5);if(_context.t1.code==="BABEL_UNKNOWN_OPTION"){checkNoUnwrappedItemOptionPairs(rawPresets,i,"preset",_context.t1);}throw _context.t1;case 14:externalDependencies.push(preset.externalDependencies);if(descriptor.ownPass){presets.push({preset:preset.chain,pass:[]});}else{presets.unshift({preset:preset.chain,pass:pluginDescriptorsPass});}case 16:i++;_context.next=2;break;case 19:if(!(presets.length>0)){_context.next=34;break;}pluginDescriptorsByPass.splice.apply(pluginDescriptorsByPass,[1,0].concat(_toConsumableArray(presets.map(function(o){return o.pass;}).filter(function(p){return p!==pluginDescriptorsPass;}))));_iterator=_createForOfIteratorHelperLoose(presets);case 22:if((_step=_iterator()).done){_context.next=34;break;}_step$value=_step.value,_preset=_step$value.preset,pass=_step$value.pass;if(_preset){_context.next=26;break;}return _context.abrupt("return",true);case 26:pass.push.apply(pass,_toConsumableArray(_preset.plugins));return _context.delegateYield(recursePresetDescriptors(_preset.presets,pass),"t2",28);case 28:_ignored=_context.t2;if(!_ignored){_context.next=31;break;}return _context.abrupt("return",true);case 31:_preset.options.forEach(function(opts){mergeOptions(optionDefaults,opts);});case 32:_context.next=22;break;case 34:case"end":return _context.stop();}},recursePresetDescriptors,null,[[5,10]]);}))(presetsDescriptors,pluginDescriptorsByPass[0]),"t1",19);case 19:ignored=_context3.t1;if(!ignored){_context3.next=22;break;}return _context3.abrupt("return",null);case 22:opts=optionDefaults;mergeOptions(opts,options);pluginContext=Object.assign({},presetContext,{assumptions:(_opts$assumptions=opts.assumptions)!=null?_opts$assumptions:{}});return _context3.delegateYield(enhanceError(context,_regeneratorRuntime().mark(function loadPluginDescriptors(){var _pluginDescriptorsByP;var _i,_pluginDescriptorsByP2,descs,pass,i,descriptor,plugin;return _regeneratorRuntime().wrap(function loadPluginDescriptors$(_context2){while(1)switch(_context2.prev=_context2.next){case 0:(_pluginDescriptorsByP=pluginDescriptorsByPass[0]).unshift.apply(_pluginDescriptorsByP,_toConsumableArray(initialPluginsDescriptors));_i=0,_pluginDescriptorsByP2=pluginDescriptorsByPass;case 2:if(!(_i<_pluginDescriptorsByP2.length)){_context2.next=27;break;}descs=_pluginDescriptorsByP2[_i];pass=[];passes.push(pass);i=0;case 7:if(!(i<descs.length)){_context2.next=24;break;}descriptor=descs[i];if(!(descriptor.options!==false)){_context2.next=21;break;}_context2.prev=10;return _context2.delegateYield(loadPluginDescriptor(descriptor,pluginContext),"t0",12);case 12:plugin=_context2.t0;_context2.next=19;break;case 15:_context2.prev=15;_context2.t1=_context2["catch"](10);if(_context2.t1.code==="BABEL_UNKNOWN_PLUGIN_PROPERTY"){checkNoUnwrappedItemOptionPairs(descs,i,"plugin",_context2.t1);}throw _context2.t1;case 19:pass.push(plugin);externalDependencies.push(plugin.externalDependencies);case 21:i++;_context2.next=7;break;case 24:_i++;_context2.next=2;break;case 27:case"end":return _context2.stop();}},loadPluginDescriptors,null,[[10,15]]);}))(),"t2",26);case 26:opts.plugins=passes[0];opts.presets=passes.slice(1).filter(function(plugins){return plugins.length>0;}).map(function(plugins){return{plugins:plugins};});opts.passPerPreset=opts.presets.length>0;return _context3.abrupt("return",{options:opts,passes:passes,externalDependencies:finalize(externalDependencies)});case 30:case"end":return _context3.stop();}},loadFullConfig);}));function enhanceError(context,fn){return _regeneratorRuntime().mark(function _callee(arg1,arg2){var _context$filename;return _regeneratorRuntime().wrap(function _callee$(_context4){while(1)switch(_context4.prev=_context4.next){case 0:_context4.prev=0;return _context4.delegateYield(fn(arg1,arg2),"t0",2);case 2:return _context4.abrupt("return",_context4.t0);case 5:_context4.prev=5;_context4.t1=_context4["catch"](0);if(!/^\[BABEL\]/.test(_context4.t1.message)){_context4.t1.message="[BABEL] "+((_context$filename=context.filename)!=null?_context$filename:"unknown file")+": "+_context4.t1.message;}throw _context4.t1;case 9:case"end":return _context4.stop();}},_callee,null,[[0,5]]);});}var makeDescriptorLoader=function makeDescriptorLoader(apiFactory){return makeWeakCache(function(_ref,cache){var value=_ref.value,options=_ref.options,dirname=_ref.dirname,alias=_ref.alias;return _regeneratorRuntime().mark(function _callee2(){var externalDependencies,item,factory,api,error;return _regeneratorRuntime().wrap(function _callee2$(_context5){while(1)switch(_context5.prev=_context5.next){case 0:if(!(options===false)){_context5.next=2;break;}throw new Error("Assertion failure");case 2:options=options||{};externalDependencies=[];item=value;if(!(typeof value==="function")){_context5.next=17;break;}factory=maybeAsync(value,"You appear to be using an async plugin/preset, but Babel has been called synchronously");api=Object.assign({},_babel,apiFactory(cache,externalDependencies));_context5.prev=8;return _context5.delegateYield(factory(api,options,dirname),"t0",10);case 10:item=_context5.t0;_context5.next=17;break;case 13:_context5.prev=13;_context5.t1=_context5["catch"](8);if(alias){_context5.t1.message+=" (While processing: "+JSON.stringify(alias)+")";}throw _context5.t1;case 17:if(!(!item||_typeof(item)!=="object")){_context5.next=19;break;}throw new Error("Plugin/Preset did not return an object.");case 19:if(!isThenable$1(item)){_context5.next=22;break;}return _context5.delegateYield([],"t2",21);case 21:throw new Error("You appear to be using a promise as a plugin, "+"which your current version of Babel does not support. "+"If you're using a published plugin, "+"you may need to upgrade your @babel/core version. "+"As an alternative, you can prefix the promise with \"await\". "+("(While processing: "+JSON.stringify(alias)+")"));case 22:if(!(externalDependencies.length>0&&(!cache.configured()||cache.mode()==="forever"))){_context5.next=27;break;}error="A plugin/preset has external untracked dependencies "+("("+externalDependencies[0]+"), but the cache ");if(!cache.configured()){error+="has not been configured to be invalidated when the external dependencies change. ";}else{error+=" has been configured to never be invalidated. ";}error+="Plugins/presets should configure their cache to be invalidated when the external "+"dependencies change, for example using `api.cache.invalidate(() => "+"statSync(filepath).mtimeMs)` or `api.cache.never()`\n"+("(While processing: "+JSON.stringify(alias)+")");throw new Error(error);case 27:return _context5.abrupt("return",{value:item,options:options,dirname:dirname,alias:alias,externalDependencies:finalize(externalDependencies)});case 28:case"end":return _context5.stop();}},_callee2,null,[[8,13]]);})();});};var pluginDescriptorLoader=makeDescriptorLoader(makePluginAPI);var presetDescriptorLoader=makeDescriptorLoader(makePresetAPI);var instantiatePlugin=makeWeakCache(function(_ref2,cache){var value=_ref2.value,options=_ref2.options,dirname=_ref2.dirname,alias=_ref2.alias,externalDependencies=_ref2.externalDependencies;return _regeneratorRuntime().mark(function _callee3(){var pluginObj,plugin,inheritsDescriptor,inherits;return _regeneratorRuntime().wrap(function _callee3$(_context6){while(1)switch(_context6.prev=_context6.next){case 0:pluginObj=validatePluginObject(value);plugin=Object.assign({},pluginObj);if(plugin.visitor){plugin.visitor=traverse.explode(Object.assign({},plugin.visitor));}if(!plugin.inherits){_context6.next=12;break;}inheritsDescriptor={name:undefined,alias:alias+"$inherits",value:plugin.inherits,options:options,dirname:dirname};return _context6.delegateYield(forwardAsync(loadPluginDescriptor,function(run){return cache.invalidate(function(data){return run(inheritsDescriptor,data);});}),"t0",6);case 6:inherits=_context6.t0;plugin.pre=chain(inherits.pre,plugin.pre);plugin.post=chain(inherits.post,plugin.post);plugin.manipulateOptions=chain(inherits.manipulateOptions,plugin.manipulateOptions);plugin.visitor=traverse.visitors.merge([inherits.visitor||{},plugin.visitor||{}]);if(inherits.externalDependencies.length>0){if(externalDependencies.length===0){externalDependencies=inherits.externalDependencies;}else{externalDependencies=finalize([externalDependencies,inherits.externalDependencies]);}}case 12:return _context6.abrupt("return",new Plugin(plugin,options,alias,externalDependencies));case 13:case"end":return _context6.stop();}},_callee3);})();});function loadPluginDescriptor(descriptor,context){return _regeneratorRuntime().wrap(function loadPluginDescriptor$(_context7){while(1)switch(_context7.prev=_context7.next){case 0:if(!(descriptor.value instanceof Plugin)){_context7.next=4;break;}if(!descriptor.options){_context7.next=3;break;}throw new Error("Passed options to an existing Plugin instance will not work.");case 3:return _context7.abrupt("return",descriptor.value);case 4:_context7.t0=instantiatePlugin;return _context7.delegateYield(pluginDescriptorLoader(descriptor,context),"t1",6);case 6:_context7.t2=_context7.t1;_context7.t3=context;return _context7.delegateYield((0,_context7.t0)(_context7.t2,_context7.t3),"t4",9);case 9:return _context7.abrupt("return",_context7.t4);case 10:case"end":return _context7.stop();}},_marked$4);}var needsFilename=function needsFilename(val){return val&&typeof val!=="function";};var validateIfOptionNeedsFilename=function validateIfOptionNeedsFilename(options,descriptor){if(needsFilename(options.test)||needsFilename(options.include)||needsFilename(options.exclude)){var formattedPresetName=descriptor.name?"\""+descriptor.name+"\"":"/* your preset */";throw new ConfigError(["Preset "+formattedPresetName+" requires a filename to be set when babel is called directly,","```","babel.transformSync(code, { filename: 'file.ts', presets: ["+formattedPresetName+"] });","```","See https://babeljs.io/docs/en/options#filename for more information."].join("\n"));}};var validatePreset=function validatePreset(preset,context,descriptor){if(!context.filename){var _options$overrides;var options=preset.options;validateIfOptionNeedsFilename(options,descriptor);(_options$overrides=options.overrides)==null||_options$overrides.forEach(function(overrideOptions){return validateIfOptionNeedsFilename(overrideOptions,descriptor);});}};var instantiatePreset=makeWeakCacheSync(function(_ref3){var value=_ref3.value,dirname=_ref3.dirname,alias=_ref3.alias,externalDependencies=_ref3.externalDependencies;return{options:validate("preset",value),alias:alias,dirname:dirname,externalDependencies:externalDependencies};});function loadPresetDescriptor(descriptor,context){var preset;return _regeneratorRuntime().wrap(function loadPresetDescriptor$(_context8){while(1)switch(_context8.prev=_context8.next){case 0:_context8.t0=instantiatePreset;return _context8.delegateYield(presetDescriptorLoader(descriptor,context),"t1",2);case 2:_context8.t2=_context8.t1;preset=(0,_context8.t0)(_context8.t2);validatePreset(preset,context,descriptor);return _context8.delegateYield(buildPresetChain(preset,context),"t3",6);case 6:_context8.t4=_context8.t3;_context8.t5=preset.externalDependencies;return _context8.abrupt("return",{chain:_context8.t4,externalDependencies:_context8.t5});case 9:case"end":return _context8.stop();}},_marked2$2);}function chain(a,b){var fns=[a,b].filter(Boolean);if(fns.length<=1)return fns[0];return function(){for(var _len=arguments.length,args=new Array(_len),_key=0;_key<_len;_key++){args[_key]=arguments[_key];}for(var _iterator2=_createForOfIteratorHelperLoose(fns),_step2;!(_step2=_iterator2()).done;){var fn=_step2.value;fn.apply(this,args);}};}var _marked$3=_regeneratorRuntime().mark(loadOptionsImpl);var loadPartialConfigRunner=gensync(loadPartialConfig$1);function loadPartialConfigAsync(){return beginHiddenCallStack(loadPartialConfigRunner.async).apply(void 0,arguments);}function loadPartialConfigSync(){return beginHiddenCallStack(loadPartialConfigRunner.sync).apply(void 0,arguments);}function loadPartialConfig(opts,callback){if(callback!==undefined){beginHiddenCallStack(loadPartialConfigRunner.errback)(opts,callback);}else if(typeof opts==="function"){beginHiddenCallStack(loadPartialConfigRunner.errback)(undefined,opts);}else{{return loadPartialConfigSync(opts);}}}function loadOptionsImpl(opts){var _config$options;var config;return _regeneratorRuntime().wrap(function loadOptionsImpl$(_context){while(1)switch(_context.prev=_context.next){case 0:return _context.delegateYield(loadConfig(opts),"t0",1);case 1:config=_context.t0;return _context.abrupt("return",(_config$options=config==null?void 0:config.options)!=null?_config$options:null);case 3:case"end":return _context.stop();}},_marked$3);}var loadOptionsRunner=gensync(loadOptionsImpl);function loadOptionsAsync(){return beginHiddenCallStack(loadOptionsRunner.async).apply(void 0,arguments);}function loadOptionsSync(){return beginHiddenCallStack(loadOptionsRunner.sync).apply(void 0,arguments);}function loadOptions(opts,callback){if(callback!==undefined){beginHiddenCallStack(loadOptionsRunner.errback)(opts,callback);}else if(typeof opts==="function"){beginHiddenCallStack(loadOptionsRunner.errback)(undefined,opts);}else{{return loadOptionsSync(opts);}}}var createConfigItemRunner=gensync(createConfigItem$1);function createConfigItemAsync(){return beginHiddenCallStack(createConfigItemRunner.async).apply(void 0,arguments);}function createConfigItemSync(){return beginHiddenCallStack(createConfigItemRunner.sync).apply(void 0,arguments);}function createConfigItem(target,options,callback){if(callback!==undefined){beginHiddenCallStack(createConfigItemRunner.errback)(target,options,callback);}else if(typeof options==="function"){beginHiddenCallStack(createConfigItemRunner.errback)(target,undefined,callback);}else{{return createConfigItemSync(target,options);}}}var PluginPass=function(){function PluginPass(file,key,options){this._map=new Map();this.key=void 0;this.file=void 0;this.opts=void 0;this.cwd=void 0;this.filename=void 0;this.key=key;this.file=file;this.opts=options||{};this.cwd=file.opts.cwd;this.filename=file.opts.filename;}var _proto=PluginPass.prototype;_proto.set=function set(key,val){this._map.set(key,val);};_proto.get=function get(key){return this._map.get(key);};_proto.availableHelper=function availableHelper(name,versionRange){return this.file.availableHelper(name,versionRange);};_proto.addHelper=function addHelper(name){return this.file.addHelper(name);};_proto.buildCodeFrameError=function buildCodeFrameError(node,msg,_Error){return this.file.buildCodeFrameError(node,msg,_Error);};return _createClass(PluginPass);}();{PluginPass.prototype.getModuleName=function getModuleName(){return this.file.getModuleName();};PluginPass.prototype.addImport=function addImport(){this.file.addImport();};}var LOADED_PLUGIN;var blockHoistPlugin={name:"internal.blockHoist",visitor:{Block:{exit:function exit(_ref){var node=_ref.node;var body=node.body;var max=Math.pow(2,30)-1;var hasChange=false;for(var i=0;i<body.length;i++){var n=body[i];var p=priority(n);if(p>max){hasChange=true;break;}max=p;}if(!hasChange)return;node.body=stableSort(body.slice());}}}};function loadBlockHoistPlugin(){if(!LOADED_PLUGIN){LOADED_PLUGIN=new Plugin(Object.assign({},blockHoistPlugin,{visitor:traverse.explode(blockHoistPlugin.visitor)}),{});}return LOADED_PLUGIN;}function priority(bodyNode){var priority=bodyNode==null?void 0:bodyNode._blockHoist;if(priority==null)return 1;if(priority===true)return 2;return priority;}function stableSort(body){var buckets=Object.create(null);for(var i=0;i<body.length;i++){var n=body[i];var p=priority(n);var bucket=buckets[p]||(buckets[p]=[]);bucket.push(n);}var keys=Object.keys(buckets).map(function(k){return+k;}).sort(function(a,b){return b-a;});var index=0;for(var _iterator=_createForOfIteratorHelperLoose(keys),_step;!(_step=_iterator()).done;){var key=_step.value;var _bucket=buckets[key];for(var _iterator2=_createForOfIteratorHelperLoose(_bucket),_step2;!(_step2=_iterator2()).done;){var _n=_step2.value;body[index++]=_n;}}return body;}function normalizeOptions$6(config){var _config$options=config.options,filename=_config$options.filename,cwd=_config$options.cwd,_config$options$filen=_config$options.filenameRelative,filenameRelative=_config$options$filen===void 0?typeof filename==="string"?path$1.relative(cwd,filename):"unknown":_config$options$filen,_config$options$sourc=_config$options.sourceType,sourceType=_config$options$sourc===void 0?"module":_config$options$sourc,inputSourceMap=_config$options.inputSourceMap,_config$options$sourc2=_config$options.sourceMaps,sourceMaps=_config$options$sourc2===void 0?!!inputSourceMap:_config$options$sourc2,_config$options$sourc3=_config$options.sourceRoot,sourceRoot=_config$options$sourc3===void 0?config.options.moduleRoot:_config$options$sourc3,_config$options$sourc4=_config$options.sourceFileName,sourceFileName=_config$options$sourc4===void 0?path$1.basename(filenameRelative):_config$options$sourc4,_config$options$comme=_config$options.comments,comments=_config$options$comme===void 0?true:_config$options$comme,_config$options$compa=_config$options.compact,compact=_config$options$compa===void 0?"auto":_config$options$compa;var opts=config.options;var options=Object.assign({},opts,{parserOpts:Object.assign({sourceType:path$1.extname(filenameRelative)===".mjs"?"module":sourceType,sourceFileName:filename,plugins:[]},opts.parserOpts),generatorOpts:Object.assign({filename:filename,auxiliaryCommentBefore:opts.auxiliaryCommentBefore,auxiliaryCommentAfter:opts.auxiliaryCommentAfter,retainLines:opts.retainLines,comments:comments,shouldPrintComment:opts.shouldPrintComment,compact:compact,minified:opts.minified,sourceMaps:sourceMaps,sourceRoot:sourceRoot,sourceFileName:sourceFileName},opts.generatorOpts)});for(var _iterator=_createForOfIteratorHelperLoose(config.passes),_step;!(_step=_iterator()).done;){var plugins=_step.value;for(var _iterator2=_createForOfIteratorHelperLoose(plugins),_step2;!(_step2=_iterator2()).done;){var plugin=_step2.value;if(plugin.manipulateOptions){plugin.manipulateOptions(options,options.parserOpts);}}}return options;}var fs={};var convertSourceMap={};(function(exports){Object.defineProperty(exports,'commentRegex',{get:function getCommentRegex(){return /^\s*?\/[\/\*][@#]\s+?sourceMappingURL=data:(((?:application|text)\/json)(?:;charset=([^;,]+?)?)?)?(?:;(base64))?,(.*?)$/mg;}});Object.defineProperty(exports,'mapFileCommentRegex',{get:function getMapFileCommentRegex(){return /(?:\/\/[@#][ \t]+?sourceMappingURL=([^\s'"`]+?)[ \t]*?$)|(?:\/\*[@#][ \t]+sourceMappingURL=([^*]+?)[ \t]*?(?:\*\/){1}[ \t]*?$)/mg;}});var decodeBase64;if(typeof Buffer$1!=='undefined'){if(typeof Buffer$1.from==='function'){decodeBase64=decodeBase64WithBufferFrom;}else{decodeBase64=decodeBase64WithNewBuffer;}}else{decodeBase64=decodeBase64WithAtob;}function decodeBase64WithBufferFrom(base64){return Buffer$1.from(base64,'base64').toString();}function decodeBase64WithNewBuffer(base64){if(typeof value==='number'){throw new TypeError('The value to decode must not be of type number.');}return new Buffer$1(base64,'base64').toString();}function decodeBase64WithAtob(base64){return decodeURIComponent(escape(atob(base64)));}function stripComment(sm){return sm.split(',').pop();}function readFromFileMap(sm,read){var r=exports.mapFileCommentRegex.exec(sm);var filename=r[1]||r[2];try{var sm=read(filename);if(sm!=null&&typeof sm["catch"]==='function'){return sm["catch"](throwError);}else{return sm;}}catch(e){throwError(e);}function throwError(e){throw new Error('An error occurred while trying to read the map file at '+filename+'\n'+e.stack);}}function Converter(sm,opts){opts=opts||{};if(opts.hasComment){sm=stripComment(sm);}if(opts.encoding==='base64'){sm=decodeBase64(sm);}else if(opts.encoding==='uri'){sm=decodeURIComponent(sm);}if(opts.isJSON||opts.encoding){sm=JSON.parse(sm);}this.sourcemap=sm;}Converter.prototype.toJSON=function(space){return JSON.stringify(this.sourcemap,null,space);};if(typeof Buffer$1!=='undefined'){if(typeof Buffer$1.from==='function'){Converter.prototype.toBase64=encodeBase64WithBufferFrom;}else{Converter.prototype.toBase64=encodeBase64WithNewBuffer;}}else{Converter.prototype.toBase64=encodeBase64WithBtoa;}function encodeBase64WithBufferFrom(){var json=this.toJSON();return Buffer$1.from(json,'utf8').toString('base64');}function encodeBase64WithNewBuffer(){var json=this.toJSON();if(typeof json==='number'){throw new TypeError('The json to encode must not be of type number.');}return new Buffer$1(json,'utf8').toString('base64');}function encodeBase64WithBtoa(){var json=this.toJSON();return btoa(unescape(encodeURIComponent(json)));}Converter.prototype.toURI=function(){var json=this.toJSON();return encodeURIComponent(json);};Converter.prototype.toComment=function(options){var encoding,content,data;if(options!=null&&options.encoding==='uri'){encoding='';content=this.toURI();}else{encoding=';base64';content=this.toBase64();}data='sourceMappingURL=data:application/json;charset=utf-8'+encoding+','+content;return options!=null&&options.multiline?'/*# '+data+' */':'//# '+data;};Converter.prototype.toObject=function(){return JSON.parse(this.toJSON());};Converter.prototype.addProperty=function(key,value){if(this.sourcemap.hasOwnProperty(key))throw new Error('property "'+key+'" already exists on the sourcemap, use set property instead');return this.setProperty(key,value);};Converter.prototype.setProperty=function(key,value){this.sourcemap[key]=value;return this;};Converter.prototype.getProperty=function(key){return this.sourcemap[key];};exports.fromObject=function(obj){return new Converter(obj);};exports.fromJSON=function(json){return new Converter(json,{isJSON:true});};exports.fromURI=function(uri){return new Converter(uri,{encoding:'uri'});};exports.fromBase64=function(base64){return new Converter(base64,{encoding:'base64'});};exports.fromComment=function(comment){var m,encoding;comment=comment.replace(/^\/\*/g,'//').replace(/\*\/$/g,'');m=exports.commentRegex.exec(comment);encoding=m&&m[4]||'uri';return new Converter(comment,{encoding:encoding,hasComment:true});};function makeConverter(sm){return new Converter(sm,{isJSON:true});}exports.fromMapFileComment=function(comment,read){if(typeof read==='string'){throw new Error('String directory paths are no longer supported with `fromMapFileComment`\n'+'Please review the Upgrading documentation at https://github.com/thlorenz/convert-source-map#upgrading');}var sm=readFromFileMap(comment,read);if(sm!=null&&typeof sm.then==='function'){return sm.then(makeConverter);}else{return makeConverter(sm);}};exports.fromSource=function(content){var m=content.match(exports.commentRegex);return m?exports.fromComment(m.pop()):null;};exports.fromMapFileSource=function(content,read){if(typeof read==='string'){throw new Error('String directory paths are no longer supported with `fromMapFileSource`\n'+'Please review the Upgrading documentation at https://github.com/thlorenz/convert-source-map#upgrading');}var m=content.match(exports.mapFileCommentRegex);return m?exports.fromMapFileComment(m.pop(),read):null;};exports.removeComments=function(src){return src.replace(exports.commentRegex,'');};exports.removeMapFileComments=function(src){return src.replace(exports.mapFileCommentRegex,'');};exports.generateMapFileComment=function(file,options){var data='sourceMappingURL='+file;return options&&options.multiline?'/*# '+data+' */':'//# '+data;};})(convertSourceMap);var pluginNameMap={asyncDoExpressions:{syntax:{name:"@babel/plugin-syntax-async-do-expressions",url:"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-async-do-expressions"}},decimal:{syntax:{name:"@babel/plugin-syntax-decimal",url:"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-decimal"}},decorators:{syntax:{name:"@babel/plugin-syntax-decorators",url:"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-decorators"},transform:{name:"@babel/plugin-proposal-decorators",url:"https://github.com/babel/babel/tree/main/packages/babel-plugin-proposal-decorators"}},doExpressions:{syntax:{name:"@babel/plugin-syntax-do-expressions",url:"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-do-expressions"},transform:{name:"@babel/plugin-proposal-do-expressions",url:"https://github.com/babel/babel/tree/main/packages/babel-plugin-proposal-do-expressions"}},exportDefaultFrom:{syntax:{name:"@babel/plugin-syntax-export-default-from",url:"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-export-default-from"},transform:{name:"@babel/plugin-proposal-export-default-from",url:"https://github.com/babel/babel/tree/main/packages/babel-plugin-proposal-export-default-from"}},flow:{syntax:{name:"@babel/plugin-syntax-flow",url:"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-flow"},transform:{name:"@babel/preset-flow",url:"https://github.com/babel/babel/tree/main/packages/babel-preset-flow"}},functionBind:{syntax:{name:"@babel/plugin-syntax-function-bind",url:"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-function-bind"},transform:{name:"@babel/plugin-proposal-function-bind",url:"https://github.com/babel/babel/tree/main/packages/babel-plugin-proposal-function-bind"}},functionSent:{syntax:{name:"@babel/plugin-syntax-function-sent",url:"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-function-sent"},transform:{name:"@babel/plugin-proposal-function-sent",url:"https://github.com/babel/babel/tree/main/packages/babel-plugin-proposal-function-sent"}},jsx:{syntax:{name:"@babel/plugin-syntax-jsx",url:"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-jsx"},transform:{name:"@babel/preset-react",url:"https://github.com/babel/babel/tree/main/packages/babel-preset-react"}},importAttributes:{syntax:{name:"@babel/plugin-syntax-import-attributes",url:"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-import-attributes"}},pipelineOperator:{syntax:{name:"@babel/plugin-syntax-pipeline-operator",url:"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-pipeline-operator"},transform:{name:"@babel/plugin-proposal-pipeline-operator",url:"https://github.com/babel/babel/tree/main/packages/babel-plugin-proposal-pipeline-operator"}},recordAndTuple:{syntax:{name:"@babel/plugin-syntax-record-and-tuple",url:"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-record-and-tuple"}},throwExpressions:{syntax:{name:"@babel/plugin-syntax-throw-expressions",url:"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-throw-expressions"},transform:{name:"@babel/plugin-proposal-throw-expressions",url:"https://github.com/babel/babel/tree/main/packages/babel-plugin-proposal-throw-expressions"}},typescript:{syntax:{name:"@babel/plugin-syntax-typescript",url:"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-typescript"},transform:{name:"@babel/preset-typescript",url:"https://github.com/babel/babel/tree/main/packages/babel-preset-typescript"}}};{Object.assign(pluginNameMap,{asyncGenerators:{syntax:{name:"@babel/plugin-syntax-async-generators",url:"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-async-generators"},transform:{name:"@babel/plugin-transform-async-generator-functions",url:"https://github.com/babel/babel/tree/main/packages/babel-plugin-transform-async-generator-functions"}},classProperties:{syntax:{name:"@babel/plugin-syntax-class-properties",url:"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-class-properties"},transform:{name:"@babel/plugin-transform-class-properties",url:"https://github.com/babel/babel/tree/main/packages/babel-plugin-transform-class-properties"}},classPrivateProperties:{syntax:{name:"@babel/plugin-syntax-class-properties",url:"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-class-properties"},transform:{name:"@babel/plugin-transform-class-properties",url:"https://github.com/babel/babel/tree/main/packages/babel-plugin-transform-class-properties"}},classPrivateMethods:{syntax:{name:"@babel/plugin-syntax-class-properties",url:"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-class-properties"},transform:{name:"@babel/plugin-transform-private-methods",url:"https://github.com/babel/babel/tree/main/packages/babel-plugin-transform-private-methods"}},classStaticBlock:{syntax:{name:"@babel/plugin-syntax-class-static-block",url:"https://github.com/babel/babel/tree/HEAD/packages/babel-plugin-syntax-class-static-block"},transform:{name:"@babel/plugin-transform-class-static-block",url:"https://github.com/babel/babel/tree/HEAD/packages/babel-plugin-transform-class-static-block"}},dynamicImport:{syntax:{name:"@babel/plugin-syntax-dynamic-import",url:"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-dynamic-import"}},exportNamespaceFrom:{syntax:{name:"@babel/plugin-syntax-export-namespace-from",url:"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-export-namespace-from"},transform:{name:"@babel/plugin-transform-export-namespace-from",url:"https://github.com/babel/babel/tree/main/packages/babel-plugin-transform-export-namespace-from"}},importAssertions:{syntax:{name:"@babel/plugin-syntax-import-assertions",url:"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-import-assertions"}},importMeta:{syntax:{name:"@babel/plugin-syntax-import-meta",url:"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-import-meta"}},logicalAssignment:{syntax:{name:"@babel/plugin-syntax-logical-assignment-operators",url:"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-logical-assignment-operators"},transform:{name:"@babel/plugin-transform-logical-assignment-operators",url:"https://github.com/babel/babel/tree/main/packages/babel-plugin-transform-logical-assignment-operators"}},moduleStringNames:{syntax:{name:"@babel/plugin-syntax-module-string-names",url:"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-module-string-names"}},numericSeparator:{syntax:{name:"@babel/plugin-syntax-numeric-separator",url:"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-numeric-separator"},transform:{name:"@babel/plugin-transform-numeric-separator",url:"https://github.com/babel/babel/tree/main/packages/babel-plugin-transform-numeric-separator"}},nullishCoalescingOperator:{syntax:{name:"@babel/plugin-syntax-nullish-coalescing-operator",url:"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-nullish-coalescing-operator"},transform:{name:"@babel/plugin-transform-nullish-coalescing-operator",url:"https://github.com/babel/babel/tree/main/packages/babel-plugin-transform-nullish-coalescing-opearator"}},objectRestSpread:{syntax:{name:"@babel/plugin-syntax-object-rest-spread",url:"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-object-rest-spread"},transform:{name:"@babel/plugin-transform-object-rest-spread",url:"https://github.com/babel/babel/tree/main/packages/babel-plugin-transform-object-rest-spread"}},optionalCatchBinding:{syntax:{name:"@babel/plugin-syntax-optional-catch-binding",url:"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-optional-catch-binding"},transform:{name:"@babel/plugin-transform-optional-catch-binding",url:"https://github.com/babel/babel/tree/main/packages/babel-plugin-transform-optional-catch-binding"}},optionalChaining:{syntax:{name:"@babel/plugin-syntax-optional-chaining",url:"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-optional-chaining"},transform:{name:"@babel/plugin-transform-optional-chaining",url:"https://github.com/babel/babel/tree/main/packages/babel-plugin-transform-optional-chaining"}},privateIn:{syntax:{name:"@babel/plugin-syntax-private-property-in-object",url:"https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-private-property-in-object"},transform:{name:"@babel/plugin-transform-private-property-in-object",url:"https://github.com/babel/babel/tree/main/packages/babel-plugin-transform-private-property-in-object"}},regexpUnicodeSets:{syntax:{name:"@babel/plugin-syntax-unicode-sets-regex",url:"https://github.com/babel/babel/blob/main/packages/babel-plugin-syntax-unicode-sets-regex/README.md"},transform:{name:"@babel/plugin-transform-unicode-sets-regex",url:"https://github.com/babel/babel/blob/main/packages/babel-plugin-proposalunicode-sets-regex/README.md"}}});}var getNameURLCombination=function getNameURLCombination(_ref){var name=_ref.name,url=_ref.url;return name+" ("+url+")";};function generateMissingPluginMessage(missingPluginName,loc,codeFrame,filename){var helpMessage="Support for the experimental syntax '"+missingPluginName+"' isn't currently enabled "+("("+loc.line+":"+(loc.column+1)+"):\n\n")+codeFrame;var pluginInfo=pluginNameMap[missingPluginName];if(pluginInfo){var syntaxPlugin=pluginInfo.syntax,transformPlugin=pluginInfo.transform;if(syntaxPlugin){var syntaxPluginInfo=getNameURLCombination(syntaxPlugin);if(transformPlugin){var transformPluginInfo=getNameURLCombination(transformPlugin);var sectionType=transformPlugin.name.startsWith("@babel/plugin")?"plugins":"presets";helpMessage+="\n\nAdd "+transformPluginInfo+" to the '"+sectionType+"' section of your Babel config to enable transformation.\nIf you want to leave it as-is, add "+syntaxPluginInfo+" to the 'plugins' section to enable parsing.";}else{helpMessage+="\n\nAdd "+syntaxPluginInfo+" to the 'plugins' section of your Babel config "+"to enable parsing.";}}}var msgFilename=filename==="unknown"?"<name of the input file>":filename;helpMessage+="\n\nIf you already added the plugin for this syntax to your config, it's possible that your config isn't being loaded.\nYou can re-run Babel with the BABEL_SHOW_CONFIG_FOR environment variable to show the loaded configuration:\n\tnpx cross-env BABEL_SHOW_CONFIG_FOR="+msgFilename+" <your build command>\nSee https://babeljs.io/docs/configuration#print-effective-configs for more info.\n";return helpMessage;}function parser$1(pluginPasses,_ref,code){var parserOpts=_ref.parserOpts,_ref$highlightCode=_ref.highlightCode,highlightCode=_ref$highlightCode===void 0?true:_ref$highlightCode,_ref$filename=_ref.filename,filename=_ref$filename===void 0?"unknown":_ref$filename;return _regeneratorRuntime().mark(function _callee(){var results,_iterator,_step,plugins,_iterator2,_step2,plugin,parserOverride,ast,loc,missingPlugin,codeFrame;return _regeneratorRuntime().wrap(function _callee$(_context){while(1)switch(_context.prev=_context.next){case 0:_context.prev=0;results=[];for(_iterator=_createForOfIteratorHelperLoose(pluginPasses);!(_step=_iterator()).done;){plugins=_step.value;for(_iterator2=_createForOfIteratorHelperLoose(plugins);!(_step2=_iterator2()).done;){plugin=_step2.value;parserOverride=plugin.parserOverride;if(parserOverride){ast=parserOverride(code,parserOpts,parse$4);if(ast!==undefined)results.push(ast);}}}if(!(results.length===0)){_context.next=7;break;}return _context.abrupt("return",parse$4(code,parserOpts));case 7:if(!(results.length===1)){_context.next=12;break;}return _context.delegateYield([],"t0",9);case 9:if(!(typeof results[0].then==="function")){_context.next=11;break;}throw new Error("You appear to be using an async parser plugin, "+"which your current version of Babel does not support. "+"If you're using a published plugin, you may need to upgrade "+"your @babel/core version.");case 11:return _context.abrupt("return",results[0]);case 12:throw new Error("More than one plugin attempted to override parsing.");case 15:_context.prev=15;_context.t1=_context["catch"](0);if(_context.t1.code==="BABEL_PARSER_SOURCETYPE_MODULE_REQUIRED"){_context.t1.message+="\nConsider renaming the file to '.mjs', or setting sourceType:module "+"or sourceType:unambiguous in your Babel config for this file.";}loc=_context.t1.loc,missingPlugin=_context.t1.missingPlugin;if(loc){codeFrame=codeFrameColumns(code,{start:{line:loc.line,column:loc.column+1}},{highlightCode:highlightCode});if(missingPlugin){_context.t1.message=filename+": "+generateMissingPluginMessage(missingPlugin[0],loc,codeFrame,filename);}else{_context.t1.message=filename+": "+_context.t1.message+"\n\n"+codeFrame;}_context.t1.code="BABEL_PARSE_ERROR";}throw _context.t1;case 21:case"end":return _context.stop();}},_callee,null,[[0,15]]);})();}function deepClone(value,cache){if(value!==null){if(cache.has(value))return cache.get(value);var cloned;if(Array.isArray(value)){cloned=new Array(value.length);cache.set(value,cloned);for(var i=0;i<value.length;i++){cloned[i]=_typeof(value[i])!=="object"?value[i]:deepClone(value[i],cache);}}else{cloned={};cache.set(value,cloned);var keys=Object.keys(value);for(var _i=0;_i<keys.length;_i++){var key=keys[_i];cloned[key]=_typeof(value[key])!=="object"?value[key]:deepClone(value[key],cache);}}return cloned;}return value;}function cloneDeep(value){if(_typeof(value)!=="object")return value;return deepClone(value,new Map());}var _marked$2=_regeneratorRuntime().mark(normalizeFile);var file=file$2,traverseFast=traverseFast$2;var debug=browserExports("babel:transform:file");var INLINE_SOURCEMAP_REGEX=/^[@#]\s+sourceMappingURL=data:(?:application|text)\/json;(?:charset[:=]\S+?;)?base64,(?:.*)$/;var EXTERNAL_SOURCEMAP_REGEX=/^[@#][ \t]+sourceMappingURL=([^\s'"`]+)[ \t]*$/;function normalizeFile(pluginPasses,options,code,ast){var inputMap,lastComment,_lastComment,match,inputMapContent;return _regeneratorRuntime().wrap(function normalizeFile$(_context){while(1)switch(_context.prev=_context.next){case 0:code=""+(code||"");if(!ast){_context.next=11;break;}if(!(ast.type==="Program")){_context.next=6;break;}ast=file(ast,[],[]);_context.next=8;break;case 6:if(!(ast.type!=="File")){_context.next=8;break;}throw new Error("AST root must be a Program or File node");case 8:if(options.cloneInputAst){ast=cloneDeep(ast);}_context.next=13;break;case 11:return _context.delegateYield(parser$1(pluginPasses,options,code),"t0",12);case 12:ast=_context.t0;case 13:inputMap=null;if(options.inputSourceMap!==false){if(_typeof(options.inputSourceMap)==="object"){inputMap=convertSourceMap.fromObject(options.inputSourceMap);}if(!inputMap){lastComment=extractComments(INLINE_SOURCEMAP_REGEX,ast);if(lastComment){try{inputMap=convertSourceMap.fromComment("//"+lastComment);}catch(err){{debug("discarding unknown inline input sourcemap");}}}}if(!inputMap){_lastComment=extractComments(EXTERNAL_SOURCEMAP_REGEX,ast);if(typeof options.filename==="string"&&_lastComment){try{match=EXTERNAL_SOURCEMAP_REGEX.exec(_lastComment);inputMapContent=fs.readFileSync(path$1.resolve(path$1.dirname(options.filename),match[1]),"utf8");inputMap=convertSourceMap.fromJSON(inputMapContent);}catch(err){debug("discarding unknown file input sourcemap",err);}}else if(_lastComment){debug("discarding un-loadable file input sourcemap");}}}return _context.abrupt("return",new File(options,{code:code,ast:ast,inputMap:inputMap}));case 16:case"end":return _context.stop();}},_marked$2);}function extractCommentsFromList(regex,comments,lastComment){if(comments){comments=comments.filter(function(_ref){var value=_ref.value;if(regex.test(value)){lastComment=value;return false;}return true;});}return[comments,lastComment];}function extractComments(regex,ast){var lastComment=null;traverseFast(ast,function(node){var _extractCommentsFromL=extractCommentsFromList(regex,node.leadingComments,lastComment);var _extractCommentsFromL2=_slicedToArray(_extractCommentsFromL,2);node.leadingComments=_extractCommentsFromL2[0];lastComment=_extractCommentsFromL2[1];var _extractCommentsFromL3=extractCommentsFromList(regex,node.innerComments,lastComment);var _extractCommentsFromL4=_slicedToArray(_extractCommentsFromL3,2);node.innerComments=_extractCommentsFromL4[0];lastComment=_extractCommentsFromL4[1];var _extractCommentsFromL5=extractCommentsFromList(regex,node.trailingComments,lastComment);var _extractCommentsFromL6=_slicedToArray(_extractCommentsFromL5,2);node.trailingComments=_extractCommentsFromL6[0];lastComment=_extractCommentsFromL6[1];});return lastComment;}var genMapping_umd={exports:{}};(function(module,exports){(function(global,factory){factory(exports,requireSetArray_umd(),requireSourcemapCodec_umd());})(commonjsGlobal,function(exports,setArray,sourcemapCodec){exports.addSegment=void 0;exports.addMapping=void 0;exports.setSourceContent=void 0;exports.decodedMap=void 0;exports.encodedMap=void 0;exports.allMappings=void 0;var GenMapping=_createClass(function GenMapping(_temp){var _ref=_temp===void 0?{}:_temp,file=_ref.file,sourceRoot=_ref.sourceRoot;this._names=new setArray.SetArray();this._sources=new setArray.SetArray();this._sourcesContent=[];this._mappings=[];this.file=file;this.sourceRoot=sourceRoot;});(function(){exports.addSegment=function(map,genLine,genColumn,source,sourceLine,sourceColumn,name){var mappings=map._mappings,sources=map._sources,sourcesContent=map._sourcesContent,names=map._names;var line=getLine(mappings,genLine);if(source==null){var _seg=[genColumn];var _index=getColumnIndex(line,genColumn,_seg);return insert(line,_index,_seg);}var sourcesIndex=setArray.put(sources,source);var seg=name?[genColumn,sourcesIndex,sourceLine,sourceColumn,setArray.put(names,name)]:[genColumn,sourcesIndex,sourceLine,sourceColumn];var index=getColumnIndex(line,genColumn,seg);if(sourcesIndex===sourcesContent.length)sourcesContent[sourcesIndex]=null;insert(line,index,seg);};exports.addMapping=function(map,mapping){var generated=mapping.generated,source=mapping.source,original=mapping.original,name=mapping.name;return exports.addSegment(map,generated.line-1,generated.column,source,original==null?undefined:original.line-1,original===null||original===void 0?void 0:original.column,name);};exports.setSourceContent=function(map,source,content){var sources=map._sources,sourcesContent=map._sourcesContent;sourcesContent[setArray.put(sources,source)]=content;};exports.decodedMap=function(map){var file=map.file,sourceRoot=map.sourceRoot,mappings=map._mappings,sources=map._sources,sourcesContent=map._sourcesContent,names=map._names;return{version:3,file:file,names:names.array,sourceRoot:sourceRoot||undefined,sources:sources.array,sourcesContent:sourcesContent,mappings:mappings};};exports.encodedMap=function(map){var decoded=exports.decodedMap(map);return Object.assign(Object.assign({},decoded),{mappings:sourcemapCodec.encode(decoded.mappings)});};exports.allMappings=function(map){var out=[];var mappings=map._mappings,sources=map._sources,names=map._names;for(var i=0;i<mappings.length;i++){var line=mappings[i];for(var j=0;j<line.length;j++){var seg=line[j];var generated={line:i+1,column:seg[0]};var source=undefined;var original=undefined;var name=undefined;if(seg.length!==1){source=sources.array[seg[1]];original={line:seg[2]+1,column:seg[3]};if(seg.length===5)name=names.array[seg[4]];}out.push({generated:generated,source:source,original:original,name:name});}}return out;};})();function getLine(mappings,index){for(var i=mappings.length;i<=index;i++){mappings[i]=[];}return mappings[index];}function getColumnIndex(line,column,seg){var index=line.length;for(var i=index-1;i>=0;i--,index--){var current=line[i];var col=current[0];if(col>column)continue;if(col<column)break;var cmp=compare(current,seg);if(cmp===0)return index;if(cmp<0)break;}return index;}function compare(a,b){var cmp=compareNum(a.length,b.length);if(cmp!==0)return cmp;if(a.length===1)return 0;cmp=compareNum(a[1],b[1]);if(cmp!==0)return cmp;cmp=compareNum(a[2],b[2]);if(cmp!==0)return cmp;cmp=compareNum(a[3],b[3]);if(cmp!==0)return cmp;if(a.length===4)return 0;return compareNum(a[4],b[4]);}function compareNum(a,b){return a-b;}function insert(array,index,value){if(index===-1)return;for(var i=array.length;i>index;i--){array[i]=array[i-1];}array[index]=value;}exports.GenMapping=GenMapping;Object.defineProperty(exports,'__esModule',{value:true});});})(genMapping_umd,genMapping_umd.exports);var genMapping_umdExports=genMapping_umd.exports;var SOURCELESS_MAPPING={source:null,column:null,line:null,name:null,content:null};var EMPTY_SOURCES=[];function Source(map,sources,source,content){return{map:map,sources:sources,source:source,content:content};}function MapSource(map,sources){return Source(map,sources,'',null);}function OriginalSource(source,content){return Source(null,EMPTY_SOURCES,source,content);}function traceMappings(tree){var gen=new genMapping_umdExports.GenMapping({file:tree.map.file});var rootSources=tree.sources,map=tree.map;var rootNames=map.names;var rootMappings=traceMapping_umdExports.decodedMappings(map);for(var i=0;i<rootMappings.length;i++){var segments=rootMappings[i];var lastSource=null;var lastSourceLine=null;var lastSourceColumn=null;for(var j=0;j<segments.length;j++){var segment=segments[j];var genCol=segment[0];var traced=SOURCELESS_MAPPING;if(segment.length!==1){var _source=rootSources[segment[1]];traced=originalPositionFor(_source,segment[2],segment[3],segment.length===5?rootNames[segment[4]]:'');if(traced==null)continue;}var _traced=traced,column=_traced.column,line=_traced.line,name=_traced.name,content=_traced.content,source=_traced.source;if(line===lastSourceLine&&column===lastSourceColumn&&source===lastSource){continue;}lastSourceLine=line;lastSourceColumn=column;lastSource=source;genMapping_umdExports.addSegment(gen,i,genCol,source,line,column,name);if(content!=null)genMapping_umdExports.setSourceContent(gen,source,content);}}return gen;}function originalPositionFor(source,line,column,name){if(!source.map){return{column:column,line:line,name:name,source:source.source,content:source.content};}var segment=traceMapping_umdExports.traceSegment(source.map,line,column);if(segment==null)return null;if(segment.length===1)return SOURCELESS_MAPPING;return originalPositionFor(source.sources[segment[1]],segment[2],segment[3],segment.length===5?source.map.names[segment[4]]:name);}function asArray(value){if(Array.isArray(value))return value;return[value];}function buildSourceMapTree(input,loader){var maps=asArray(input).map(function(m){return new traceMapping_umdExports.TraceMap(m,'');});var map=maps.pop();for(var i=0;i<maps.length;i++){if(maps[i].sources.length>1){throw new Error("Transformation map "+i+" must have exactly one source file.\n"+'Did you specify these with the most recent transformation maps first?');}}var tree=build$1(map,loader,'',0);for(var _i=maps.length-1;_i>=0;_i--){tree=MapSource(maps[_i],[tree]);}return tree;}function build$1(map,loader,importer,importerDepth){var resolvedSources=map.resolvedSources,sourcesContent=map.sourcesContent;var depth=importerDepth+1;var children=resolvedSources.map(function(sourceFile,i){var ctx={importer:importer,depth:depth,source:sourceFile||'',content:undefined};var sourceMap=loader(ctx.source,ctx);var source=ctx.source,content=ctx.content;if(sourceMap)return build$1(new traceMapping_umdExports.TraceMap(sourceMap,source),loader,source,depth);var sourceContent=content!==undefined?content:sourcesContent?sourcesContent[i]:null;return OriginalSource(source,sourceContent);});return MapSource(map,children);}var SourceMap=function(){function SourceMap(map,options){var out=options.decodedMappings?genMapping_umdExports.decodedMap(map):genMapping_umdExports.encodedMap(map);this.version=out.version;this.file=out.file;this.mappings=out.mappings;this.names=out.names;this.sourceRoot=out.sourceRoot;this.sources=out.sources;if(!options.excludeContent){this.sourcesContent=out.sourcesContent;}}var _proto=SourceMap.prototype;_proto.toString=function toString(){return JSON.stringify(this);};return _createClass(SourceMap);}();function remapping(input,loader,options){var opts=_typeof(options)==='object'?options:{excludeContent:!!options,decodedMappings:false};var tree=buildSourceMapTree(input,loader);return new SourceMap(traceMappings(tree),opts);}function mergeSourceMap(inputMap,map,sourceFileName){var source=sourceFileName.replace(/\\/g,"/");var found=false;var result=remapping(rootless(map),function(s,ctx){if(s===source&&!found){found=true;ctx.source="";return rootless(inputMap);}return null;});if(typeof inputMap.sourceRoot==="string"){result.sourceRoot=inputMap.sourceRoot;}return Object.assign({},result);}function rootless(map){return Object.assign({},map,{sourceRoot:null});}function generateCode(pluginPasses,file){var opts=file.opts,ast=file.ast,code=file.code,inputMap=file.inputMap;var generatorOpts=opts.generatorOpts;generatorOpts.inputSourceMap=inputMap==null?void 0:inputMap.toObject();var results=[];for(var _iterator=_createForOfIteratorHelperLoose(pluginPasses),_step;!(_step=_iterator()).done;){var plugins=_step.value;for(var _iterator2=_createForOfIteratorHelperLoose(plugins),_step2;!(_step2=_iterator2()).done;){var plugin=_step2.value;var generatorOverride=plugin.generatorOverride;if(generatorOverride){var _result2=generatorOverride(ast,generatorOpts,code,generate$1);if(_result2!==undefined)results.push(_result2);}}}var result;if(results.length===0){result=generate$1(ast,generatorOpts,code);}else if(results.length===1){result=results[0];if(typeof result.then==="function"){throw new Error("You appear to be using an async codegen plugin, "+"which your current version of Babel does not support. "+"If you're using a published plugin, "+"you may need to upgrade your @babel/core version.");}}else{throw new Error("More than one plugin attempted to override codegen.");}var _result=result,outputCode=_result.code,_result$decodedMap=_result.decodedMap,outputMap=_result$decodedMap===void 0?result.map:_result$decodedMap;if(result.__mergedMap){outputMap=Object.assign({},result.map);}else{if(outputMap){if(inputMap){outputMap=mergeSourceMap(inputMap.toObject(),outputMap,generatorOpts.sourceFileName);}else{outputMap=result.map;}}}if(opts.sourceMaps==="inline"||opts.sourceMaps==="both"){outputCode+="\n"+convertSourceMap.fromObject(outputMap).toComment();}if(opts.sourceMaps==="inline"){outputMap=null;}return{outputCode:outputCode,outputMap:outputMap};}var _marked$1=_regeneratorRuntime().mark(run$1),_marked2$1=_regeneratorRuntime().mark(transformFile$1);function run$1(config,code,ast){var file,opts,_opts$filename,outputCode,outputMap,_generateCode,_opts$filename2;return _regeneratorRuntime().wrap(function run$(_context){while(1)switch(_context.prev=_context.next){case 0:return _context.delegateYield(normalizeFile(config.passes,normalizeOptions$6(config),code,ast),"t0",1);case 1:file=_context.t0;opts=file.opts;_context.prev=3;return _context.delegateYield(transformFile$1(file,config.passes),"t1",5);case 5:_context.next=12;break;case 7:_context.prev=7;_context.t2=_context["catch"](3);_context.t2.message=((_opts$filename=opts.filename)!=null?_opts$filename:"unknown file")+": "+_context.t2.message;if(!_context.t2.code){_context.t2.code="BABEL_TRANSFORM_ERROR";}throw _context.t2;case 12:_context.prev=12;if(opts.code!==false){_generateCode=generateCode(config.passes,file);outputCode=_generateCode.outputCode;outputMap=_generateCode.outputMap;}_context.next=21;break;case 16:_context.prev=16;_context.t3=_context["catch"](12);_context.t3.message=((_opts$filename2=opts.filename)!=null?_opts$filename2:"unknown file")+": "+_context.t3.message;if(!_context.t3.code){_context.t3.code="BABEL_GENERATE_ERROR";}throw _context.t3;case 21:return _context.abrupt("return",{metadata:file.metadata,options:opts,ast:opts.ast===true?file.ast:null,code:outputCode===undefined?null:outputCode,map:outputMap===undefined?null:outputMap,sourceType:file.ast.program.sourceType,externalDependencies:flattenToSet(config.externalDependencies)});case 22:case"end":return _context.stop();}},_marked$1,null,[[3,7],[12,16]]);}function transformFile$1(file,pluginPasses){var _iterator,_step,pluginPairs,passPairs,passes,visitors,_iterator2,_step2,_plugin2,_pass2,_i,_passPairs,_passPairs$_i,plugin,pass,fn,result,visitor,_i2,_passPairs2,_passPairs2$_i,_plugin,_pass,_fn,_result;return _regeneratorRuntime().wrap(function transformFile$(_context2){while(1)switch(_context2.prev=_context2.next){case 0:_iterator=_createForOfIteratorHelperLoose(pluginPasses);case 1:if((_step=_iterator()).done){_context2.next=35;break;}pluginPairs=_step.value;passPairs=[];passes=[];visitors=[];for(_iterator2=_createForOfIteratorHelperLoose(pluginPairs.concat([loadBlockHoistPlugin()]));!(_step2=_iterator2()).done;){_plugin2=_step2.value;_pass2=new PluginPass(file,_plugin2.key,_plugin2.options);passPairs.push([_plugin2,_pass2]);passes.push(_pass2);visitors.push(_plugin2.visitor);}_i=0,_passPairs=passPairs;case 8:if(!(_i<_passPairs.length)){_context2.next=19;break;}_passPairs$_i=_slicedToArray(_passPairs[_i],2),plugin=_passPairs$_i[0],pass=_passPairs$_i[1];fn=plugin.pre;if(!fn){_context2.next=16;break;}result=fn.call(pass,file);return _context2.delegateYield([],"t0",14);case 14:if(!isThenable(result)){_context2.next=16;break;}throw new Error("You appear to be using an plugin with an async .pre, "+"which your current version of Babel does not support. "+"If you're using a published plugin, you may need to upgrade "+"your @babel/core version.");case 16:_i++;_context2.next=8;break;case 19:visitor=traverse.visitors.merge(visitors,passes,file.opts.wrapPluginVisitorMethod);traverse(file.ast,visitor,file.scope);_i2=0,_passPairs2=passPairs;case 22:if(!(_i2<_passPairs2.length)){_context2.next=33;break;}_passPairs2$_i=_slicedToArray(_passPairs2[_i2],2),_plugin=_passPairs2$_i[0],_pass=_passPairs2$_i[1];_fn=_plugin.post;if(!_fn){_context2.next=30;break;}_result=_fn.call(_pass,file);return _context2.delegateYield([],"t1",28);case 28:if(!isThenable(_result)){_context2.next=30;break;}throw new Error("You appear to be using an plugin with an async .post, "+"which your current version of Babel does not support. "+"If you're using a published plugin, you may need to upgrade "+"your @babel/core version.");case 30:_i2++;_context2.next=22;break;case 33:_context2.next=1;break;case 35:case"end":return _context2.stop();}},_marked2$1);}function isThenable(val){return!!val&&(_typeof(val)==="object"||typeof val==="function")&&!!val.then&&typeof val.then==="function";}var transformRunner=gensync(_regeneratorRuntime().mark(function transform(code,opts){var config;return _regeneratorRuntime().wrap(function transform$(_context){while(1)switch(_context.prev=_context.next){case 0:return _context.delegateYield(loadConfig(opts),"t0",1);case 1:config=_context.t0;if(!(config===null)){_context.next=4;break;}return _context.abrupt("return",null);case 4:return _context.delegateYield(run$1(config,code),"t1",5);case 5:return _context.abrupt("return",_context.t1);case 6:case"end":return _context.stop();}},transform);}));var transform$3=function transform(code,optsOrCallback,maybeCallback){var opts;var callback;if(typeof optsOrCallback==="function"){callback=optsOrCallback;opts=undefined;}else{opts=optsOrCallback;callback=maybeCallback;}if(callback===undefined){{return beginHiddenCallStack(transformRunner.sync)(code,opts);}}beginHiddenCallStack(transformRunner.errback)(code,opts,callback);};function transformSync(){return beginHiddenCallStack(transformRunner.sync).apply(void 0,arguments);}function transformAsync(){return beginHiddenCallStack(transformRunner.async).apply(void 0,arguments);}var transformFile=function transformFile(filename,opts,callback){if(typeof opts==="function"){callback=opts;}callback(new Error("Transforming files is not supported in browsers"),null);};function transformFileSync(){throw new Error("Transforming files is not supported in browsers");}function transformFileAsync(){return Promise.reject(new Error("Transforming files is not supported in browsers"));}var transformFromAstRunner=gensync(_regeneratorRuntime().mark(function _callee(ast,code,opts){var config;return _regeneratorRuntime().wrap(function _callee$(_context){while(1)switch(_context.prev=_context.next){case 0:return _context.delegateYield(loadConfig(opts),"t0",1);case 1:config=_context.t0;if(!(config===null)){_context.next=4;break;}return _context.abrupt("return",null);case 4:if(ast){_context.next=6;break;}throw new Error("No AST given");case 6:return _context.delegateYield(run$1(config,code,ast),"t1",7);case 7:return _context.abrupt("return",_context.t1);case 8:case"end":return _context.stop();}},_callee);}));var transformFromAst$1=function transformFromAst(ast,code,optsOrCallback,maybeCallback){var opts;var callback;if(typeof optsOrCallback==="function"){callback=optsOrCallback;opts=undefined;}else{opts=optsOrCallback;callback=maybeCallback;}if(callback===undefined){{return beginHiddenCallStack(transformFromAstRunner.sync)(ast,code,opts);}}beginHiddenCallStack(transformFromAstRunner.errback)(ast,code,opts,callback);};function transformFromAstSync(){return beginHiddenCallStack(transformFromAstRunner.sync).apply(void 0,arguments);}function transformFromAstAsync(){return beginHiddenCallStack(transformFromAstRunner.async).apply(void 0,arguments);}var parseRunner=gensync(_regeneratorRuntime().mark(function parse(code,opts){var config;return _regeneratorRuntime().wrap(function parse$(_context){while(1)switch(_context.prev=_context.next){case 0:return _context.delegateYield(loadConfig(opts),"t0",1);case 1:config=_context.t0;if(!(config===null)){_context.next=4;break;}return _context.abrupt("return",null);case 4:return _context.delegateYield(parser$1(config.passes,normalizeOptions$6(config),code),"t1",5);case 5:return _context.abrupt("return",_context.t1);case 6:case"end":return _context.stop();}},parse);}));var parse$1=function parse(code,opts,callback){if(typeof opts==="function"){callback=opts;opts=undefined;}if(callback===undefined){{return beginHiddenCallStack(parseRunner.sync)(code,opts);}}beginHiddenCallStack(parseRunner.errback)(code,opts,callback);};function parseSync(){return beginHiddenCallStack(parseRunner.sync).apply(void 0,arguments);}function parseAsync(){return beginHiddenCallStack(parseRunner.async).apply(void 0,arguments);}var version$1="7.24.3";var DEFAULT_EXTENSIONS=Object.freeze([".js",".jsx",".es6",".es",".mjs",".cjs"]);{exports.OptionManager=function(){function OptionManager(){}var _proto=OptionManager.prototype;_proto.init=function init(opts){return loadOptionsSync(opts);};return _createClass(OptionManager);}();exports.Plugin=function Plugin(alias){throw new Error("The ("+alias+") Babel 5 plugin is being run with an unsupported Babel version.");};}function makeNoopPlugin(){var p;return(p=function p(){return{};})["default"]=p;}function declare(x){return x;}var pluginUtilsShim=/*#__PURE__*/Object.freeze({__proto__:null,declare:declare,declarePreset:declare});var externalHelpers=declare(function(api,options){api.assertVersion("*");var _options$helperVersio=options.helperVersion,helperVersion=_options$helperVersio===void 0?"7.0.0-beta.0":_options$helperVersio,_options$whitelist=options.whitelist,whitelist=_options$whitelist===void 0?false:_options$whitelist;if(whitelist!==false&&(!Array.isArray(whitelist)||whitelist.some(function(w){return typeof w!=="string";}))){throw new Error(".whitelist must be undefined, false, or an array of strings");}var helperWhitelist=whitelist?new Set(whitelist):null;return{name:"external-helpers",pre:function pre(file){file.set("helperGenerator",function(name){if(file.availableHelper&&!file.availableHelper(name,helperVersion)){return;}if(helperWhitelist&&!helperWhitelist.has(name))return;return memberExpression$c(identifier$j("babelHelpers"),identifier$j(name));});}};});var syntaxDecimal=declare(function(api){api.assertVersion("*");return{name:"syntax-decimal",manipulateOptions:function manipulateOptions(opts,parserOpts){parserOpts.plugins.push("decimal");}};});var syntaxDecorators=declare(function(api,options){api.assertVersion("*");var version=options.version;{var legacy=options.legacy;if(legacy!==undefined){if(typeof legacy!=="boolean"){throw new Error(".legacy must be a boolean.");}if(version!==undefined){throw new Error("You can either use the .legacy or the .version option, not both.");}}if(version===undefined){version=legacy?"legacy":"2018-09";}else if(version!=="2023-11"&&version!=="2023-05"&&version!=="2023-01"&&version!=="2022-03"&&version!=="2021-12"&&version!=="2018-09"&&version!=="legacy"){throw new Error("Unsupported decorators version: "+version);}var decoratorsBeforeExport=options.decoratorsBeforeExport;if(decoratorsBeforeExport===undefined){if(version==="2021-12"||version==="2022-03"){decoratorsBeforeExport=false;}else if(version==="2018-09"){throw new Error("The decorators plugin, when .version is '2018-09' or not specified,"+" requires a 'decoratorsBeforeExport' option, whose value must be a boolean.");}}else{if(version==="legacy"||version==="2022-03"||version==="2023-01"){throw new Error("'decoratorsBeforeExport' can't be used with "+version+" decorators.");}if(typeof decoratorsBeforeExport!=="boolean"){throw new Error("'decoratorsBeforeExport' must be a boolean.");}}}return{name:"syntax-decorators",manipulateOptions:function manipulateOptions(_ref,parserOpts){var generatorOpts=_ref.generatorOpts;if(version==="legacy"){parserOpts.plugins.push("decorators-legacy");}else{if(version==="2023-01"||version==="2023-05"||version==="2023-11"){parserOpts.plugins.push(["decorators",{allowCallParenthesized:false}],"decoratorAutoAccessors");}else if(version==="2022-03"){parserOpts.plugins.push(["decorators",{decoratorsBeforeExport:false,allowCallParenthesized:false}],"decoratorAutoAccessors");}else if(version==="2021-12"){parserOpts.plugins.push(["decorators",{decoratorsBeforeExport:decoratorsBeforeExport}],"decoratorAutoAccessors");generatorOpts.decoratorsBeforeExport=decoratorsBeforeExport;}else if(version==="2018-09"){parserOpts.plugins.push(["decorators",{decoratorsBeforeExport:decoratorsBeforeExport}]);generatorOpts.decoratorsBeforeExport=decoratorsBeforeExport;}}}};});var syntaxDestructuringPrivate=declare(function(api){api.assertVersion("*");return{name:"syntax-destructuring-private",manipulateOptions:function manipulateOptions(_,parserOpts){parserOpts.plugins.push("destructuringPrivate");}};});var syntaxDoExpressions=declare(function(api){api.assertVersion("*");return{name:"syntax-do-expressions",manipulateOptions:function manipulateOptions(opts,parserOpts){parserOpts.plugins.push("doExpressions");}};});var syntaxExplicitResourceManagement=declare(function(api){api.assertVersion("*");return{name:"syntax-explicit-resource-management",manipulateOptions:function manipulateOptions(opts,parserOpts){parserOpts.plugins.push("explicitResourceManagement");}};});var syntaxExportDefaultFrom=declare(function(api){api.assertVersion("*");return{name:"syntax-export-default-from",manipulateOptions:function manipulateOptions(opts,parserOpts){parserOpts.plugins.push("exportDefaultFrom");}};});var syntaxFlow=declare(function(api,options){api.assertVersion("*");var all=options.all,enums=options.enums;if(typeof all!=="boolean"&&typeof all!=="undefined"){throw new Error(".all must be a boolean, or undefined");}if(typeof enums!=="boolean"&&typeof enums!=="undefined"){throw new Error(".enums must be a boolean, or undefined");}return{name:"syntax-flow",manipulateOptions:function manipulateOptions(opts,parserOpts){{if(parserOpts.plugins.some(function(p){return(Array.isArray(p)?p[0]:p)==="typescript";})){return;}}parserOpts.plugins.push(["flow",{all:all,enums:enums}]);}};});var syntaxFunctionBind=declare(function(api){api.assertVersion("*");return{name:"syntax-function-bind",manipulateOptions:function manipulateOptions(opts,parserOpts){parserOpts.plugins.push("functionBind");}};});var syntaxFunctionSent=declare(function(api){api.assertVersion("*");return{name:"syntax-function-sent",manipulateOptions:function manipulateOptions(opts,parserOpts){parserOpts.plugins.push("functionSent");}};});var _syntaxImportAssertions=declare(function(api){api.assertVersion("*");return{name:"syntax-import-assertions",manipulateOptions:function manipulateOptions(opts,parserOpts){parserOpts.plugins.push("importAssertions");}};});var _syntaxImportAttributes=declare(function(api,_ref){var deprecatedAssertSyntax=_ref.deprecatedAssertSyntax;api.assertVersion("*");if(deprecatedAssertSyntax!=null&&typeof deprecatedAssertSyntax!=="boolean"){throw new Error("'deprecatedAssertSyntax' must be a boolean, if specified.");}return{name:"syntax-import-attributes",manipulateOptions:function manipulateOptions(_ref2){var _generatorOpts$import;var parserOpts=_ref2.parserOpts,generatorOpts=_ref2.generatorOpts;(_generatorOpts$import=generatorOpts.importAttributesKeyword)!=null?_generatorOpts$import:generatorOpts.importAttributesKeyword="with";parserOpts.plugins.push(["importAttributes",{deprecatedAssertSyntax:Boolean(deprecatedAssertSyntax)}]);}};});var syntaxImportReflection=declare(function(api){api.assertVersion("*");return{name:"syntax-import-reflection",manipulateOptions:function manipulateOptions(_,parserOpts){parserOpts.plugins.push("importReflection");}};});var syntaxJsx=declare(function(api){api.assertVersion("*");return{name:"syntax-jsx",manipulateOptions:function manipulateOptions(opts,parserOpts){{if(parserOpts.plugins.some(function(p){return(Array.isArray(p)?p[0]:p)==="typescript";})){return;}}parserOpts.plugins.push("jsx");}};});var syntaxModuleBlocks=declare(function(api){api.assertVersion("*");return{name:"syntax-module-blocks",manipulateOptions:function manipulateOptions(opts,parserOpts){parserOpts.plugins.push("moduleBlocks");}};});var v$3=new OptionValidator("@babel/plugin-syntax-optional-chaining-assign");var syntaxOptionalChainingAssign=declare(function(api,options){api.assertVersion("*");v$3.validateTopLevelOptions(options,{version:"version"});var version=options.version;v$3.invariant(version==="2023-07","'.version' option required, representing the last proposal update. "+"Currently, the only supported value is '2023-07'.");return{name:"syntax-optional-chaining-assign",manipulateOptions:function manipulateOptions(opts,parserOpts){parserOpts.plugins.push(["optionalChainingAssign",{version:version}]);}};});var PIPELINE_PROPOSALS=["minimal","fsharp","hack","smart"];var TOPIC_TOKENS=["^^","@@","^","%","#"];var documentationURL="https://babeljs.io/docs/en/babel-plugin-proposal-pipeline-operator";var syntaxPipelineOperator=declare(function(api,_ref){var proposal=_ref.proposal,topicToken=_ref.topicToken;api.assertVersion("*");if(typeof proposal!=="string"||!PIPELINE_PROPOSALS.includes(proposal)){var proposalList=PIPELINE_PROPOSALS.map(function(p){return"\""+p+"\"";}).join(", ");throw new Error("The pipeline plugin requires a \"proposal\" option. \"proposal\" must be one of: "+proposalList+". See <"+documentationURL+">.");}if(proposal==="hack"&&!TOPIC_TOKENS.includes(topicToken)){var topicTokenList=TOPIC_TOKENS.map(function(t){return"\""+t+"\"";}).join(", ");throw new Error("The pipeline plugin in \"proposal\": \"hack\" mode also requires a \"topicToken\" option. \"topicToken\" must be one of: "+topicTokenList+". See <"+documentationURL+">.");}return{name:"syntax-pipeline-operator",manipulateOptions:function manipulateOptions(opts,parserOpts){parserOpts.plugins.push(["pipelineOperator",{proposal:proposal,topicToken:topicToken}]);opts.generatorOpts.topicToken=topicToken;}};});var syntaxRecordAndTuple=declare(function(api,options){api.assertVersion("*");return{name:"syntax-record-and-tuple",manipulateOptions:function manipulateOptions(opts,parserOpts){opts.generatorOpts.recordAndTupleSyntaxType=options.syntaxType;parserOpts.plugins.push(["recordAndTuple",{syntaxType:options.syntaxType}]);}};});{var removePlugin=function removePlugin(plugins,name){var indices=[];plugins.forEach(function(plugin,i){var n=Array.isArray(plugin)?plugin[0]:plugin;if(n===name){indices.unshift(i);}});for(var _i=0,_indices=indices;_i<_indices.length;_i++){var i=_indices[_i];plugins.splice(i,1);}};}var syntaxTypescript=declare(function(api,opts){api.assertVersion("*");var disallowAmbiguousJSXLike=opts.disallowAmbiguousJSXLike,dts=opts.dts;{var isTSX=opts.isTSX;}return{name:"syntax-typescript",manipulateOptions:function manipulateOptions(opts,parserOpts){{var plugins=parserOpts.plugins;removePlugin(plugins,"flow");removePlugin(plugins,"jsx");plugins.push("objectRestSpread","classProperties");if(isTSX){plugins.push("jsx");}}parserOpts.plugins.push(["typescript",{disallowAmbiguousJSXLike:disallowAmbiguousJSXLike,dts:dts}]);}};});var blockStatement=blockStatement$6,callExpression$5=callExpression$d,functionExpression=functionExpression$2,isAssignmentPattern$2=isAssignmentPattern$5,isFunctionDeclaration=isFunctionDeclaration$2,isRestElement$1=isRestElement$3,returnStatement=returnStatement$3,isCallExpression=isCallExpression$8;var buildAnonymousExpressionWrapper=template$1.expression("\n  (function () {\n    var REF = FUNCTION;\n    return function NAME(PARAMS) {\n      return REF.apply(this, arguments);\n    };\n  })()\n");var buildNamedExpressionWrapper=template$1.expression("\n  (function () {\n    var REF = FUNCTION;\n    function NAME(PARAMS) {\n      return REF.apply(this, arguments);\n    }\n    return NAME;\n  })()\n");var buildDeclarationWrapper=template$1.statements("\n  function NAME(PARAMS) { return REF.apply(this, arguments); }\n  function REF() {\n    REF = FUNCTION;\n    return REF.apply(this, arguments);\n  }\n");function classOrObjectMethod(path,callId){var node=path.node;var body=node.body;var container=functionExpression(null,[],blockStatement(body.body),true);body.body=[returnStatement(callExpression$5(callExpression$5(callId,[container]),[]))];node.async=false;node.generator=false;path.get("body.body.0.argument.callee.arguments.0").unwrapFunctionEnvironment();}function plainFunction(inPath,callId,noNewArrows,ignoreFunctionLength){var path=inPath;var node;var functionId=null;var nodeParams=inPath.node.params;if(path.isArrowFunctionExpression()){{var _path$arrowFunctionTo;path=(_path$arrowFunctionTo=path.arrowFunctionToExpression({noNewArrows:noNewArrows}))!=null?_path$arrowFunctionTo:path;}node=path.node;}else{node=path.node;}var isDeclaration=isFunctionDeclaration(node);var built=node;if(!isCallExpression(node)){functionId=node.id;node.id=null;node.type="FunctionExpression";built=callExpression$5(callId,[node]);}var params=[];for(var _iterator=_createForOfIteratorHelperLoose(nodeParams),_step;!(_step=_iterator()).done;){var param=_step.value;if(isAssignmentPattern$2(param)||isRestElement$1(param)){break;}params.push(path.scope.generateUidIdentifier("x"));}var wrapperArgs={NAME:functionId||null,REF:path.scope.generateUidIdentifier(functionId?functionId.name:"ref"),FUNCTION:built,PARAMS:params};if(isDeclaration){var container=buildDeclarationWrapper(wrapperArgs);path.replaceWith(container[0]);path.insertAfter(container[1]);}else{var _container;if(functionId){_container=buildNamedExpressionWrapper(wrapperArgs);}else{_container=buildAnonymousExpressionWrapper(wrapperArgs);var returnFn=_container.callee.body.body[1].argument;nameFunction({node:returnFn,parent:path.parent,scope:path.scope});functionId=returnFn.id;}if(functionId||!ignoreFunctionLength&&params.length){path.replaceWith(_container);}else{path.replaceWith(built);}}}function wrapFunction(path,callId,noNewArrows,ignoreFunctionLength){if(noNewArrows===void 0){noNewArrows=true;}if(ignoreFunctionLength===void 0){ignoreFunctionLength=false;}if(path.isMethod()){classOrObjectMethod(path,callId);}else{plainFunction(path,callId,noNewArrows,ignoreFunctionLength);}}var addComment=addComment$2;var PURE_ANNOTATION="#__PURE__";var isPureAnnotated=function isPureAnnotated(_ref){var leadingComments=_ref.leadingComments;return!!leadingComments&&leadingComments.some(function(comment){return /[@#]__PURE__/.test(comment.value);});};function annotateAsPure(pathOrNode){var node=pathOrNode["node"]||pathOrNode;if(isPureAnnotated(node)){return;}addComment(node,"leading",PURE_ANNOTATION);}var callExpression$4=callExpression$d,cloneNode$4=cloneNode$j,isIdentifier$4=isIdentifier$j,isThisExpression=isThisExpression$2,yieldExpression=yieldExpression$2;var awaitVisitor$1=traverse.visitors.merge([{ArrowFunctionExpression:function ArrowFunctionExpression(path){path.skip();},AwaitExpression:function AwaitExpression(path,_ref){var wrapAwait=_ref.wrapAwait;var argument=path.get("argument");path.replaceWith(yieldExpression(wrapAwait?callExpression$4(cloneNode$4(wrapAwait),[argument.node]):argument.node));}},visitor$5]);function remapAsyncToGenerator(path,helpers,noNewArrows,ignoreFunctionLength){path.traverse(awaitVisitor$1,{wrapAwait:helpers.wrapAwait});var isIIFE=checkIsIIFE(path);path.node.async=false;path.node.generator=true;wrapFunction(path,cloneNode$4(helpers.wrapAsync),noNewArrows,ignoreFunctionLength);var isProperty=path.isObjectMethod()||path.isClassMethod()||path.parentPath.isObjectProperty()||path.parentPath.isClassProperty();if(!isProperty&&!isIIFE&&path.isExpression()){annotateAsPure(path);}function checkIsIIFE(path){if(path.parentPath.isCallExpression({callee:path.node})){return true;}var parentPath=path.parentPath;if(parentPath.isMemberExpression()&&isIdentifier$4(parentPath.node.property,{name:"bind"})){var bindCall=parentPath.parentPath;return bindCall.isCallExpression()&&bindCall.node.arguments.length===1&&isThisExpression(bindCall.node.arguments[0])&&bindCall.parentPath.isCallExpression({callee:bindCall.node});}return false;}}var buildForAwait=template$1("\n  async function wrapper() {\n    var ITERATOR_ABRUPT_COMPLETION = false;\n    var ITERATOR_HAD_ERROR_KEY = false;\n    var ITERATOR_ERROR_KEY;\n    try {\n      for (\n        var ITERATOR_KEY = GET_ITERATOR(OBJECT), STEP_KEY;\n        ITERATOR_ABRUPT_COMPLETION = !(STEP_KEY = await ITERATOR_KEY.next()).done;\n        ITERATOR_ABRUPT_COMPLETION = false\n      ) {\n      }\n    } catch (err) {\n      ITERATOR_HAD_ERROR_KEY = true;\n      ITERATOR_ERROR_KEY = err;\n    } finally {\n      try {\n        if (ITERATOR_ABRUPT_COMPLETION && ITERATOR_KEY.return != null) {\n          await ITERATOR_KEY.return();\n        }\n      } finally {\n        if (ITERATOR_HAD_ERROR_KEY) {\n          throw ITERATOR_ERROR_KEY;\n        }\n      }\n    }\n  }\n");function rewriteForAwait(path,_ref){var getAsyncIterator=_ref.getAsyncIterator;var node=path.node,scope=path.scope,parent=path.parent;var stepKey=scope.generateUidIdentifier("step");var stepValue=memberExpression$c(stepKey,identifier$j("value"));var left=node.left;var declar;if(isIdentifier$j(left)||isPattern(left)||isMemberExpression$9(left)){declar=expressionStatement$a(assignmentExpression$d("=",left,stepValue));}else if(isVariableDeclaration$4(left)){declar=variableDeclaration$8(left.kind,[variableDeclarator$8(left.declarations[0].id,stepValue)]);}var template=buildForAwait({ITERATOR_HAD_ERROR_KEY:scope.generateUidIdentifier("didIteratorError"),ITERATOR_ABRUPT_COMPLETION:scope.generateUidIdentifier("iteratorAbruptCompletion"),ITERATOR_ERROR_KEY:scope.generateUidIdentifier("iteratorError"),ITERATOR_KEY:scope.generateUidIdentifier("iterator"),GET_ITERATOR:getAsyncIterator,OBJECT:node.right,STEP_KEY:cloneNode$j(stepKey)});template=template.body.body;var isLabeledParent=isLabeledStatement(parent);var tryBody=template[3].block.body;var loop=tryBody[0];if(isLabeledParent){tryBody[0]=labeledStatement(parent.label,loop);}return{replaceParent:isLabeledParent,node:template,declar:declar,loop:loop};}var proposalAsyncGeneratorFunctions=declare(function(api){api.assertVersion("*");var yieldStarVisitor=traverse.visitors.merge([{ArrowFunctionExpression:function ArrowFunctionExpression(path){path.skip();},YieldExpression:function YieldExpression(_ref,state){var node=_ref.node;if(!node.delegate)return;var asyncIter=callExpression$d(state.addHelper("asyncIterator"),[node.argument]);node.argument=callExpression$d(state.addHelper("asyncGeneratorDelegate"),[asyncIter,state.addHelper("awaitAsyncGenerator")]);}},visitor$5]);var forAwaitVisitor=traverse.visitors.merge([{ArrowFunctionExpression:function ArrowFunctionExpression(path){path.skip();},ForOfStatement:function(_ForOfStatement){function ForOfStatement(_x,_x2){return _ForOfStatement.apply(this,arguments);}ForOfStatement.toString=function(){return _ForOfStatement.toString();};return ForOfStatement;}(function(path,_ref2){var file=_ref2.file;var node=path.node;if(!node["await"])return;var build=rewriteForAwait(path,{getAsyncIterator:file.addHelper("asyncIterator")});var declar=build.declar,loop=build.loop;var block=loop.body;path.ensureBlock();if(declar){block.body.push(declar);if(path.node.body.body.length){block.body.push(blockStatement$6(path.node.body.body));}}else{var _block$body;(_block$body=block.body).push.apply(_block$body,_toConsumableArray(path.node.body.body));}inherits$3(loop,node);inherits$3(loop.body,node.body);var p=build.replaceParent?path.parentPath:path;p.replaceWithMultiple(build.node);p.scope.parent.crawl();})},visitor$5]);var visitor={Function:function Function(path,state){if(!path.node.async)return;path.traverse(forAwaitVisitor,state);if(!path.node.generator)return;path.traverse(yieldStarVisitor,state);remapAsyncToGenerator(path,{wrapAsync:state.addHelper("wrapAsyncGenerator"),wrapAwait:state.addHelper("awaitAsyncGenerator")});}};return{name:"transform-async-generator-functions",inherits:undefined,visitor:{Program:function Program(path,state){path.traverse(visitor,state);}}};});function willPathCastToBoolean$1(path){var maybeWrapped=path;var node=maybeWrapped.node,parentPath=maybeWrapped.parentPath;if(parentPath.isLogicalExpression()){var _parentPath$node=parentPath.node,operator=_parentPath$node.operator,right=_parentPath$node.right;if(operator==="&&"||operator==="||"||operator==="??"&&node===right){return willPathCastToBoolean$1(parentPath);}}if(parentPath.isSequenceExpression()){var expressions=parentPath.node.expressions;if(expressions[expressions.length-1]===node){return willPathCastToBoolean$1(parentPath);}else{return true;}}return parentPath.isConditional({test:node})||parentPath.isUnaryExpression({operator:"!"})||parentPath.isLoop({test:node});}var LOGICAL_OPERATORS=LOGICAL_OPERATORS$3,arrowFunctionExpression=arrowFunctionExpression$4,assignmentExpression$4=assignmentExpression$d,binaryExpression$1=binaryExpression$5,booleanLiteral$2=booleanLiteral$4,callExpression$3=callExpression$d,cloneNode$3=cloneNode$j,conditionalExpression$1=conditionalExpression$5,identifier$3=identifier$j,isMemberExpression$1=isMemberExpression$9,isOptionalCallExpression=isOptionalCallExpression$2,isOptionalMemberExpression=isOptionalMemberExpression$3,isUpdateExpression=isUpdateExpression$1,logicalExpression=logicalExpression$3,memberExpression$5=memberExpression$c,nullLiteral$1=nullLiteral$2,optionalCallExpression$1=optionalCallExpression$2,optionalMemberExpression$1=optionalMemberExpression$2,sequenceExpression$2=sequenceExpression$8,updateExpression=updateExpression$1;var AssignmentMemoiser=function(){function AssignmentMemoiser(){this._map=void 0;this._map=new WeakMap();}var _proto=AssignmentMemoiser.prototype;_proto.has=function has(key){return this._map.has(key);};_proto.get=function get(key){if(!this.has(key))return;var record=this._map.get(key);var value=record.value;record.count--;if(record.count===0){return assignmentExpression$4("=",value,key);}return value;};_proto.set=function set(key,value,count){return this._map.set(key,{count:count,value:value});};return _createClass(AssignmentMemoiser);}();function toNonOptional(path,base){var node=path.node;if(isOptionalMemberExpression(node)){return memberExpression$5(base,node.property,node.computed);}if(path.isOptionalCallExpression()){var callee=path.get("callee");if(path.node.optional&&callee.isOptionalMemberExpression()){var object=callee.node.object;var context=path.scope.maybeGenerateMemoised(object);callee.get("object").replaceWith(assignmentExpression$4("=",context,object));return callExpression$3(memberExpression$5(base,identifier$3("call")),[context].concat(_toConsumableArray(path.node.arguments)));}return callExpression$3(base,path.node.arguments);}return path.node;}function isInDetachedTree(path){while(path){if(path.isProgram())break;var _path=path,parentPath=_path.parentPath,container=_path.container,listKey=_path.listKey;var parentNode=parentPath.node;if(listKey){if(container!==parentNode[listKey]){return true;}}else{if(container!==parentNode)return true;}path=parentPath;}return false;}var handle={memoise:function memoise(){},handle:function handle(member,noDocumentAll){var node=member.node,parent=member.parent,parentPath=member.parentPath,scope=member.scope;if(member.isOptionalMemberExpression()){if(isInDetachedTree(member))return;var endPath=member.find(function(_ref){var node=_ref.node,parent=_ref.parent;if(isOptionalMemberExpression(parent)){return parent.optional||parent.object!==node;}if(isOptionalCallExpression(parent)){return node!==member.node&&parent.optional||parent.callee!==node;}return true;});if(scope.path.isPattern()){endPath.replaceWith(callExpression$3(arrowFunctionExpression([],endPath.node),[]));return;}var willEndPathCastToBoolean=willPathCastToBoolean$1(endPath);var rootParentPath=endPath.parentPath;if(rootParentPath.isUpdateExpression({argument:node})){throw member.buildCodeFrameError("can't handle update expression");}var isAssignment=rootParentPath.isAssignmentExpression({left:endPath.node});var isDeleteOperation=rootParentPath.isUnaryExpression({operator:"delete"});if(isDeleteOperation&&endPath.isOptionalMemberExpression()&&endPath.get("property").isPrivateName()){throw member.buildCodeFrameError("can't delete a private class element");}var startingOptional=member;for(;;){if(startingOptional.isOptionalMemberExpression()){if(startingOptional.node.optional)break;startingOptional=startingOptional.get("object");continue;}else if(startingOptional.isOptionalCallExpression()){if(startingOptional.node.optional)break;startingOptional=startingOptional.get("callee");continue;}throw new Error("Internal error: unexpected "+startingOptional.node.type);}var startingNode=startingOptional.isOptionalMemberExpression()?startingOptional.node.object:startingOptional.node.callee;var baseNeedsMemoised=scope.maybeGenerateMemoised(startingNode);var baseRef=baseNeedsMemoised!=null?baseNeedsMemoised:startingNode;var parentIsOptionalCall=parentPath.isOptionalCallExpression({callee:node});var isOptionalCall=function isOptionalCall(parent){return parentIsOptionalCall;};var parentIsCall=parentPath.isCallExpression({callee:node});startingOptional.replaceWith(toNonOptional(startingOptional,baseRef));if(isOptionalCall(parent)){if(parent.optional){parentPath.replaceWith(this.optionalCall(member,parent.arguments));}else{parentPath.replaceWith(this.call(member,parent.arguments));}}else if(parentIsCall){member.replaceWith(this.boundGet(member));}else if(this["delete"]&&parentPath.isUnaryExpression({operator:"delete"})){parentPath.replaceWith(this["delete"](member));}else if(parentPath.isAssignmentExpression()){handleAssignment(this,member,parentPath);}else{member.replaceWith(this.get(member));}var regular=member.node;for(var current=member;current!==endPath;){var _parentPath=current.parentPath;if(_parentPath===endPath&&isOptionalCall(parent)&&parent.optional){regular=_parentPath.node;break;}regular=toNonOptional(_parentPath,regular);current=_parentPath;}var context;var endParentPath=endPath.parentPath;if(isMemberExpression$1(regular)&&endParentPath.isOptionalCallExpression({callee:endPath.node,optional:true})){var _regular=regular,object=_regular.object;context=member.scope.maybeGenerateMemoised(object);if(context){regular.object=assignmentExpression$4("=",context,object);}}var replacementPath=endPath;if(isDeleteOperation||isAssignment){replacementPath=endParentPath;regular=endParentPath.node;}var baseMemoised=baseNeedsMemoised?assignmentExpression$4("=",cloneNode$3(baseRef),cloneNode$3(startingNode)):cloneNode$3(baseRef);if(willEndPathCastToBoolean){var nonNullishCheck;if(noDocumentAll){nonNullishCheck=binaryExpression$1("!=",baseMemoised,nullLiteral$1());}else{nonNullishCheck=logicalExpression("&&",binaryExpression$1("!==",baseMemoised,nullLiteral$1()),binaryExpression$1("!==",cloneNode$3(baseRef),scope.buildUndefinedNode()));}replacementPath.replaceWith(logicalExpression("&&",nonNullishCheck,regular));}else{var nullishCheck;if(noDocumentAll){nullishCheck=binaryExpression$1("==",baseMemoised,nullLiteral$1());}else{nullishCheck=logicalExpression("||",binaryExpression$1("===",baseMemoised,nullLiteral$1()),binaryExpression$1("===",cloneNode$3(baseRef),scope.buildUndefinedNode()));}replacementPath.replaceWith(conditionalExpression$1(nullishCheck,isDeleteOperation?booleanLiteral$2(true):scope.buildUndefinedNode(),regular));}if(context){var endParent=endParentPath.node;endParentPath.replaceWith(optionalCallExpression$1(optionalMemberExpression$1(endParent.callee,identifier$3("call"),false,true),[cloneNode$3(context)].concat(_toConsumableArray(endParent.arguments)),false));}return;}if(isUpdateExpression(parent,{argument:node})){if(this.simpleSet){member.replaceWith(this.simpleSet(member));return;}var operator=parent.operator,prefix=parent.prefix;this.memoise(member,2);var ref=scope.generateUidIdentifierBasedOnNode(node);scope.push({id:ref});var seq=[assignmentExpression$4("=",cloneNode$3(ref),this.get(member))];if(prefix){seq.push(updateExpression(operator,cloneNode$3(ref),prefix));var _value=sequenceExpression$2(seq);parentPath.replaceWith(this.set(member,_value));return;}else{var ref2=scope.generateUidIdentifierBasedOnNode(node);scope.push({id:ref2});seq.push(assignmentExpression$4("=",cloneNode$3(ref2),updateExpression(operator,cloneNode$3(ref),prefix)),cloneNode$3(ref));var _value2=sequenceExpression$2(seq);parentPath.replaceWith(sequenceExpression$2([this.set(member,_value2),cloneNode$3(ref2)]));return;}}if(parentPath.isAssignmentExpression({left:node})){handleAssignment(this,member,parentPath);return;}if(parentPath.isCallExpression({callee:node})){parentPath.replaceWith(this.call(member,parentPath.node.arguments));return;}if(parentPath.isOptionalCallExpression({callee:node})){if(scope.path.isPattern()){parentPath.replaceWith(callExpression$3(arrowFunctionExpression([],parentPath.node),[]));return;}parentPath.replaceWith(this.optionalCall(member,parentPath.node.arguments));return;}if(this["delete"]&&parentPath.isUnaryExpression({operator:"delete"})){parentPath.replaceWith(this["delete"](member));return;}if(parentPath.isForXStatement({left:node})||parentPath.isObjectProperty({value:node})&&parentPath.parentPath.isObjectPattern()||parentPath.isAssignmentPattern({left:node})&&parentPath.parentPath.isObjectProperty({value:parent})&&parentPath.parentPath.parentPath.isObjectPattern()||parentPath.isArrayPattern()||parentPath.isAssignmentPattern({left:node})&&parentPath.parentPath.isArrayPattern()||parentPath.isRestElement()){member.replaceWith(this.destructureSet(member));return;}if(parentPath.isTaggedTemplateExpression()){member.replaceWith(this.boundGet(member));}else{member.replaceWith(this.get(member));}}};function handleAssignment(state,member,parentPath){if(state.simpleSet){member.replaceWith(state.simpleSet(member));return;}var _parentPath$node=parentPath.node,operator=_parentPath$node.operator,value=_parentPath$node.right;if(operator==="="){parentPath.replaceWith(state.set(member,value));}else{var operatorTrunc=operator.slice(0,-1);if(LOGICAL_OPERATORS.includes(operatorTrunc)){state.memoise(member,1);parentPath.replaceWith(logicalExpression(operatorTrunc,state.get(member),state.set(member,value)));}else{state.memoise(member,2);parentPath.replaceWith(state.set(member,binaryExpression$1(operatorTrunc,state.get(member),value)));}}}function memberExpressionToFunctions(path,visitor,state){path.traverse(visitor,Object.assign({},handle,state,{memoiser:new AssignmentMemoiser()}));}var callExpression$2=callExpression$d,identifier$2=identifier$j,isIdentifier$3=isIdentifier$j,isSpreadElement=isSpreadElement$1,memberExpression$4=memberExpression$c,optionalCallExpression=optionalCallExpression$2,optionalMemberExpression=optionalMemberExpression$2;function optimiseCallExpression(callee,thisNode,args,optional){if(args.length===1&&isSpreadElement(args[0])&&isIdentifier$3(args[0].argument,{name:"arguments"})){if(optional){return optionalCallExpression(optionalMemberExpression(callee,identifier$2("apply"),false,true),[thisNode,args[0].argument],false);}return callExpression$2(memberExpression$4(callee,identifier$2("apply")),[thisNode,args[0].argument]);}else{if(optional){return optionalCallExpression(optionalMemberExpression(callee,identifier$2("call"),false,true),[thisNode].concat(_toConsumableArray(args)),false);}return callExpression$2(memberExpression$4(callee,identifier$2("call")),[thisNode].concat(_toConsumableArray(args)));}}var _templateObject$w,_templateObject2$h;var assignmentExpression$3=assignmentExpression$d,booleanLiteral$1=booleanLiteral$4,callExpression$1=callExpression$d,cloneNode$2=cloneNode$j,identifier$1=identifier$j,memberExpression$3=memberExpression$c,sequenceExpression$1=sequenceExpression$8,stringLiteral$1=stringLiteral$8,thisExpression$1=thisExpression$4;function getPrototypeOfExpression(objectRef,isStatic,file,isPrivateMethod){objectRef=cloneNode$2(objectRef);var targetRef=isStatic||isPrivateMethod?objectRef:memberExpression$3(objectRef,identifier$1("prototype"));return callExpression$1(file.addHelper("getPrototypeOf"),[targetRef]);}var visitor$2=traverse.visitors.merge([visitor$5,{Super:function Super(path,state){var node=path.node,parentPath=path.parentPath;if(!parentPath.isMemberExpression({object:node}))return;state.handle(parentPath);}}]);var unshadowSuperBindingVisitor=traverse.visitors.merge([visitor$5,{Scopable:function Scopable(path,_ref){var refName=_ref.refName;var binding=path.scope.getOwnBinding(refName);if(binding&&binding.identifier.name===refName){path.scope.rename(refName);}}}]);var specHandlers={memoise:function memoise(superMember,count){var scope=superMember.scope,node=superMember.node;var computed=node.computed,property=node.property;if(!computed){return;}var memo=scope.maybeGenerateMemoised(property);if(!memo){return;}this.memoiser.set(property,memo,count);},prop:function prop(superMember){var _superMember$node=superMember.node,computed=_superMember$node.computed,property=_superMember$node.property;if(this.memoiser.has(property)){return cloneNode$2(this.memoiser.get(property));}if(computed){return cloneNode$2(property);}return stringLiteral$1(property.name);},get:function get(superMember){return this._get(superMember,this._getThisRefs());},_get:function _get(superMember,thisRefs){var proto=getPrototypeOfExpression(this.getObjectRef(),this.isStatic,this.file,this.isPrivateMethod);return callExpression$1(this.file.addHelper("get"),[thisRefs.needAccessFirst?sequenceExpression$1([thisRefs["this"],proto]):proto,this.prop(superMember),thisRefs["this"]]);},_getThisRefs:function _getThisRefs(){return{needAccessFirst:this.isDerivedConstructor,"this":thisExpression$1()};},set:function set(superMember,value){var thisRefs=this._getThisRefs();var proto=getPrototypeOfExpression(this.getObjectRef(),this.isStatic,this.file,this.isPrivateMethod);return callExpression$1(this.file.addHelper("set"),[thisRefs.needAccessFirst?sequenceExpression$1([thisRefs["this"],proto]):proto,this.prop(superMember),value,thisRefs["this"],booleanLiteral$1(superMember.isInStrictMode())]);},destructureSet:function destructureSet(superMember){throw superMember.buildCodeFrameError("Destructuring to a super field is not supported yet.");},call:function call(superMember,args){var thisRefs=this._getThisRefs();return optimiseCallExpression(this._get(superMember,thisRefs),cloneNode$2(thisRefs["this"]),args,false);},optionalCall:function optionalCall(superMember,args){var thisRefs=this._getThisRefs();return optimiseCallExpression(this._get(superMember,thisRefs),cloneNode$2(thisRefs["this"]),args,true);},"delete":function _delete(superMember){if(superMember.node.computed){return sequenceExpression$1([callExpression$1(this.file.addHelper("toPropertyKey"),[cloneNode$2(superMember.node.property)]),template$1.expression.ast(_templateObject$w||(_templateObject$w=_taggedTemplateLiteralLoose(["\n          function () { throw new ReferenceError(\"'delete super[expr]' is invalid\"); }()\n        "])))]);}else{return template$1.expression.ast(_templateObject2$h||(_templateObject2$h=_taggedTemplateLiteralLoose(["\n        function () { throw new ReferenceError(\"'delete super.prop' is invalid\"); }()\n      "])));}}};var looseHandlers=Object.assign({},specHandlers,{prop:function prop(superMember){var property=superMember.node.property;if(this.memoiser.has(property)){return cloneNode$2(this.memoiser.get(property));}return cloneNode$2(property);},get:function get(superMember){var isStatic=this.isStatic,getSuperRef=this.getSuperRef;var computed=superMember.node.computed;var prop=this.prop(superMember);var object;if(isStatic){var _getSuperRef;object=(_getSuperRef=getSuperRef())!=null?_getSuperRef:memberExpression$3(identifier$1("Function"),identifier$1("prototype"));}else{var _getSuperRef2;object=memberExpression$3((_getSuperRef2=getSuperRef())!=null?_getSuperRef2:identifier$1("Object"),identifier$1("prototype"));}return memberExpression$3(object,prop,computed);},set:function set(superMember,value){var computed=superMember.node.computed;var prop=this.prop(superMember);return assignmentExpression$3("=",memberExpression$3(thisExpression$1(),prop,computed),value);},destructureSet:function destructureSet(superMember){var computed=superMember.node.computed;var prop=this.prop(superMember);return memberExpression$3(thisExpression$1(),prop,computed);},call:function call(superMember,args){return optimiseCallExpression(this.get(superMember),thisExpression$1(),args,false);},optionalCall:function optionalCall(superMember,args){return optimiseCallExpression(this.get(superMember),thisExpression$1(),args,true);}});var ReplaceSupers=function(){function ReplaceSupers(opts){var _opts$constantSuper;var path=opts.methodPath;this.methodPath=path;this.isDerivedConstructor=path.isClassMethod({kind:"constructor"})&&!!opts.superRef;this.isStatic=path.isObjectMethod()||path.node["static"]||(path.isStaticBlock==null?void 0:path.isStaticBlock());this.isPrivateMethod=path.isPrivate()&&path.isMethod();this.file=opts.file;this.constantSuper=(_opts$constantSuper=opts.constantSuper)!=null?_opts$constantSuper:opts.isLoose;this.opts=opts;}var _proto=ReplaceSupers.prototype;_proto.getObjectRef=function getObjectRef(){return cloneNode$2(this.opts.objectRef||this.opts.getObjectRef());};_proto.getSuperRef=function getSuperRef(){if(this.opts.superRef)return cloneNode$2(this.opts.superRef);if(this.opts.getSuperRef){return cloneNode$2(this.opts.getSuperRef());}};_proto.replace=function replace(){var methodPath=this.methodPath;if(this.opts.refToPreserve){methodPath.traverse(unshadowSuperBindingVisitor,{refName:this.opts.refToPreserve.name});}var handler=this.constantSuper?looseHandlers:specHandlers;visitor$2.shouldSkip=function(path){if(path.parentPath===methodPath){if(path.parentKey==="decorators"||path.parentKey==="key"){return true;}}};memberExpressionToFunctions(methodPath,visitor$2,Object.assign({file:this.file,scope:this.methodPath.scope,isDerivedConstructor:this.isDerivedConstructor,isStatic:this.isStatic,isPrivateMethod:this.isPrivateMethod,getObjectRef:this.getObjectRef.bind(this),getSuperRef:this.getSuperRef.bind(this),boundGet:handler.get},handler));};return _createClass(ReplaceSupers);}();var isParenthesizedExpression=isParenthesizedExpression$1,isTSAsExpression=isTSAsExpression$1,isTSNonNullExpression=isTSNonNullExpression$1,isTSSatisfiesExpression=isTSSatisfiesExpression$1,isTSTypeAssertion=isTSTypeAssertion$1,isTypeCastExpression=isTypeCastExpression$1;function isTransparentExprWrapper(node){return isTSAsExpression(node)||isTSSatisfiesExpression(node)||isTSTypeAssertion(node)||isTSNonNullExpression(node)||isTypeCastExpression(node)||isParenthesizedExpression(node);}function skipTransparentExprWrappers(path){while(isTransparentExprWrapper(path.node)){path=path.get("expression");}return path;}function skipTransparentExprWrapperNodes(node){while(isTransparentExprWrapper(node)){node=node.expression;}return node;}function assertFieldTransformed(path){if(path.node.declare||false){throw path.buildCodeFrameError("TypeScript 'declare' fields must first be transformed by "+"@babel/plugin-transform-typescript.\n"+"If you have already enabled that plugin (or '@babel/preset-typescript'), make sure "+"that it runs before any plugin related to additional class features:\n"+" - @babel/plugin-transform-class-properties\n"+" - @babel/plugin-transform-private-methods\n"+" - @babel/plugin-proposal-decorators");}}var _templateObject$v,_templateObject2$g,_templateObject3$b,_templateObject4$7,_templateObject5$4,_templateObject6$2,_templateObject7$1,_templateObject8$1,_templateObject9$1,_templateObject10$1,_templateObject11$1,_templateObject12$1,_templateObject13$1,_templateObject14$1,_templateObject15$1,_templateObject16$1,_templateObject17$1,_templateObject18$1,_templateObject19,_templateObject20,_templateObject21,_templateObject22;{var newHelpers=function newHelpers(file){return file.availableHelper("classPrivateFieldGet2");};}function buildPrivateNamesMap(className,privateFieldsAsSymbolsOrProperties,props,file){var privateNamesMap=new Map();var classBrandId;for(var _iterator=_createForOfIteratorHelperLoose(props),_step;!(_step=_iterator()).done;){var prop=_step.value;if(prop.isPrivate()){var name=prop.node.key.id.name;var update=privateNamesMap.get(name);if(!update){var isMethod=!prop.isProperty();var isStatic=prop.node["static"];var initAdded=false;var id=void 0;if(!privateFieldsAsSymbolsOrProperties&&newHelpers(file)&&isMethod&&!isStatic){var _classBrandId;initAdded=!!classBrandId;(_classBrandId=classBrandId)!=null?_classBrandId:classBrandId=prop.scope.generateUidIdentifier(className+"_brand");id=classBrandId;}else{id=prop.scope.generateUidIdentifier(name);}update={id:id,"static":isStatic,method:isMethod,initAdded:initAdded};privateNamesMap.set(name,update);}if(prop.isClassPrivateMethod()){if(prop.node.kind==="get"){var body=prop.node.body.body;var $=void 0;if(body.length===1&&isReturnStatement($=body[0])&&isCallExpression$8($=$.argument)&&$.arguments.length===1&&isThisExpression$2($.arguments[0])&&isIdentifier$j($=$.callee)){update.getId=cloneNode$j($);update.getterDeclared=true;}else{update.getId=prop.scope.generateUidIdentifier("get_"+name);}}else if(prop.node.kind==="set"){var params=prop.node.params;var _body=prop.node.body.body;var _$=void 0;if(_body.length===1&&isExpressionStatement$2(_$=_body[0])&&isCallExpression$8(_$=_$.expression)&&_$.arguments.length===2&&isThisExpression$2(_$.arguments[0])&&isIdentifier$j(_$.arguments[1],{name:params[0].name})&&isIdentifier$j(_$=_$.callee)){update.setId=cloneNode$j(_$);update.setterDeclared=true;}else{update.setId=prop.scope.generateUidIdentifier("set_"+name);}}else if(prop.node.kind==="method"){update.methodId=prop.scope.generateUidIdentifier(name);}}privateNamesMap.set(name,update);}}return privateNamesMap;}function buildPrivateNamesNodes(privateNamesMap,privateFieldsAsProperties,privateFieldsAsSymbols,state){var initNodes=[];var injectedIds=new Set();for(var _iterator2=_createForOfIteratorHelperLoose(privateNamesMap),_step2;!(_step2=_iterator2()).done;){var _step2$value=_slicedToArray(_step2.value,2),name=_step2$value[0],value=_step2$value[1];var isStatic=value["static"],isMethod=value.method,getId=value.getId,setId=value.setId;var isGetterOrSetter=getId||setId;var id=cloneNode$j(value.id);var init=void 0;if(privateFieldsAsProperties){init=callExpression$d(state.addHelper("classPrivateFieldLooseKey"),[stringLiteral$8(name)]);}else if(privateFieldsAsSymbols){init=callExpression$d(identifier$j("Symbol"),[stringLiteral$8(name)]);}else if(!isStatic){if(injectedIds.has(id.name))continue;injectedIds.add(id.name);init=newExpression(identifier$j(isMethod&&(!isGetterOrSetter||newHelpers(state))?"WeakSet":"WeakMap"),[]);}if(init){if(!privateFieldsAsSymbols){annotateAsPure(init);}initNodes.push(template$1.statement.ast(_templateObject$v||(_templateObject$v=_taggedTemplateLiteralLoose(["var "," = ",""])),id,init));}}return initNodes;}function privateNameVisitorFactory(visitor){var nestedVisitor=traverse.visitors.merge([Object.assign({},visitor),visitor$5]);var privateNameVisitor=Object.assign({},visitor,{Class:function Class(path){var privateNamesMap=this.privateNamesMap;var body=path.get("body.body");var visiblePrivateNames=new Map(privateNamesMap);var redeclared=[];for(var _iterator3=_createForOfIteratorHelperLoose(body),_step3;!(_step3=_iterator3()).done;){var prop=_step3.value;if(!prop.isPrivate())continue;var name=prop.node.key.id.name;visiblePrivateNames["delete"](name);redeclared.push(name);}if(!redeclared.length){return;}path.get("body").traverse(nestedVisitor,Object.assign({},this,{redeclared:redeclared}));path.traverse(privateNameVisitor,Object.assign({},this,{privateNamesMap:visiblePrivateNames}));path.skipKey("body");}});return privateNameVisitor;}var privateNameVisitor=privateNameVisitorFactory({PrivateName:function PrivateName(path,_ref){var noDocumentAll=_ref.noDocumentAll;var privateNamesMap=this.privateNamesMap,redeclared=this.redeclared;var node=path.node,parentPath=path.parentPath;if(!parentPath.isMemberExpression({property:node})&&!parentPath.isOptionalMemberExpression({property:node})){return;}var name=node.id.name;if(!privateNamesMap.has(name))return;if(redeclared&&redeclared.includes(name))return;this.handle(parentPath,noDocumentAll);}});function unshadow(name,scope,innerBinding){while((_scope=scope)!=null&&_scope.hasBinding(name)&&!scope.bindingIdentifierEquals(name,innerBinding)){var _scope;scope.rename(name);scope=scope.parent;}}function buildCheckInRHS(rhs,file,inRHSIsObject){if(inRHSIsObject||!(file.availableHelper!=null&&file.availableHelper("checkInRHS")))return rhs;return callExpression$d(file.addHelper("checkInRHS"),[rhs]);}var privateInVisitor=privateNameVisitorFactory({BinaryExpression:function BinaryExpression(path,_ref2){var file=_ref2.file;var _path$node=path.node,operator=_path$node.operator,left=_path$node.left,right=_path$node.right;if(operator!=="in")return;if(!isPrivateName$3(left))return;var privateFieldsAsProperties=this.privateFieldsAsProperties,privateNamesMap=this.privateNamesMap,redeclared=this.redeclared;var name=left.id.name;if(!privateNamesMap.has(name))return;if(redeclared&&redeclared.includes(name))return;unshadow(this.classRef.name,path.scope,this.innerBinding);if(privateFieldsAsProperties){var _privateNamesMap$get=privateNamesMap.get(name),_id=_privateNamesMap$get.id;path.replaceWith(template$1.expression.ast(_templateObject2$g||(_templateObject2$g=_taggedTemplateLiteralLoose(["\n        Object.prototype.hasOwnProperty.call(",", ",")\n      "])),buildCheckInRHS(right,file),cloneNode$j(_id)));return;}var _privateNamesMap$get2=privateNamesMap.get(name),id=_privateNamesMap$get2.id,isStatic=_privateNamesMap$get2["static"];if(isStatic){path.replaceWith(template$1.expression.ast(_templateObject3$b||(_templateObject3$b=_taggedTemplateLiteralLoose([""," === ",""])),buildCheckInRHS(right,file),cloneNode$j(this.classRef)));return;}path.replaceWith(template$1.expression.ast(_templateObject4$7||(_templateObject4$7=_taggedTemplateLiteralLoose(["",".has(",")"])),cloneNode$j(id),buildCheckInRHS(right,file)));}});function readOnlyError(file,name){return callExpression$d(file.addHelper("readOnlyError"),[stringLiteral$8("#"+name)]);}function writeOnlyError(file,name){if(!file.availableHelper("writeOnlyError")){console.warn("@babel/helpers is outdated, update it to silence this warning.");return buildUndefinedNode$2();}return callExpression$d(file.addHelper("writeOnlyError"),[stringLiteral$8("#"+name)]);}function buildStaticPrivateFieldAccess(expr,noUninitializedPrivateFieldAccess){if(noUninitializedPrivateFieldAccess)return expr;return memberExpression$c(expr,identifier$j("_"));}var privateNameHandlerSpec={memoise:function memoise(member,count){var scope=member.scope;var _ref3=member.node,object=_ref3.object;var memo=scope.maybeGenerateMemoised(object);if(!memo){return;}this.memoiser.set(object,memo,count);},receiver:function receiver(member){var _ref4=member.node,object=_ref4.object;if(this.memoiser.has(object)){return cloneNode$j(this.memoiser.get(object));}return cloneNode$j(object);},get:function get(member){var classRef=this.classRef,privateNamesMap=this.privateNamesMap,file=this.file,innerBinding=this.innerBinding,noUninitializedPrivateFieldAccess=this.noUninitializedPrivateFieldAccess;var name=member.node.property.id.name;var _privateNamesMap$get3=privateNamesMap.get(name),id=_privateNamesMap$get3.id,isStatic=_privateNamesMap$get3["static"],isMethod=_privateNamesMap$get3.method,methodId=_privateNamesMap$get3.methodId,getId=_privateNamesMap$get3.getId,setId=_privateNamesMap$get3.setId;var isGetterOrSetter=getId||setId;if(isStatic){unshadow(classRef.name,member.scope,innerBinding);if(!newHelpers(file)){var helperName=isMethod&&!isGetterOrSetter?"classStaticPrivateMethodGet":"classStaticPrivateFieldSpecGet";return callExpression$d(file.addHelper(helperName),[this.receiver(member),cloneNode$j(classRef),cloneNode$j(id)]);}var _receiver=this.receiver(member);var skipCheck=isIdentifier$j(_receiver)&&_receiver.name===classRef.name;if(!isMethod){if(skipCheck){return buildStaticPrivateFieldAccess(cloneNode$j(id),noUninitializedPrivateFieldAccess);}return buildStaticPrivateFieldAccess(callExpression$d(file.addHelper("assertClassBrand"),[cloneNode$j(classRef),_receiver,cloneNode$j(id)]),noUninitializedPrivateFieldAccess);}if(getId){if(skipCheck){return callExpression$d(cloneNode$j(getId),[_receiver]);}return callExpression$d(file.addHelper("classPrivateGetter"),[cloneNode$j(classRef),_receiver,cloneNode$j(getId)]);}if(setId){var err=buildUndefinedNode$2();if(skipCheck)return err;return sequenceExpression$8([callExpression$d(file.addHelper("assertClassBrand"),[cloneNode$j(classRef),_receiver]),err]);}if(skipCheck)return cloneNode$j(id);return callExpression$d(file.addHelper("assertClassBrand"),[cloneNode$j(classRef),_receiver,cloneNode$j(id)]);}if(isMethod){if(isGetterOrSetter){if(!getId){return sequenceExpression$8([this.receiver(member),writeOnlyError(file,name)]);}if(!newHelpers(file)){return callExpression$d(file.addHelper("classPrivateFieldGet"),[this.receiver(member),cloneNode$j(id)]);}return callExpression$d(file.addHelper("classPrivateGetter"),[cloneNode$j(id),this.receiver(member),cloneNode$j(getId)]);}if(!newHelpers(file)){return callExpression$d(file.addHelper("classPrivateMethodGet"),[this.receiver(member),cloneNode$j(id),cloneNode$j(methodId)]);}return callExpression$d(file.addHelper("assertClassBrand"),[cloneNode$j(id),this.receiver(member),cloneNode$j(methodId)]);}if(newHelpers(file)){return callExpression$d(file.addHelper("classPrivateFieldGet2"),[cloneNode$j(id),this.receiver(member)]);}return callExpression$d(file.addHelper("classPrivateFieldGet"),[this.receiver(member),cloneNode$j(id)]);},boundGet:function boundGet(member){this.memoise(member,1);return callExpression$d(memberExpression$c(this.get(member),identifier$j("bind")),[this.receiver(member)]);},set:function set(member,value){var classRef=this.classRef,privateNamesMap=this.privateNamesMap,file=this.file,noUninitializedPrivateFieldAccess=this.noUninitializedPrivateFieldAccess;var name=member.node.property.id.name;var _privateNamesMap$get4=privateNamesMap.get(name),id=_privateNamesMap$get4.id,isStatic=_privateNamesMap$get4["static"],isMethod=_privateNamesMap$get4.method,setId=_privateNamesMap$get4.setId,getId=_privateNamesMap$get4.getId;var isGetterOrSetter=getId||setId;if(isStatic){if(!newHelpers(file)){var helperName=isMethod&&!isGetterOrSetter?"classStaticPrivateMethodSet":"classStaticPrivateFieldSpecSet";return callExpression$d(file.addHelper(helperName),[this.receiver(member),cloneNode$j(classRef),cloneNode$j(id),value]);}var _receiver2=this.receiver(member);var skipCheck=isIdentifier$j(_receiver2)&&_receiver2.name===classRef.name;if(isMethod&&!setId){var err=readOnlyError(file,name);if(skipCheck)return sequenceExpression$8([value,err]);return sequenceExpression$8([value,callExpression$d(file.addHelper("assertClassBrand"),[cloneNode$j(classRef),_receiver2]),readOnlyError(file,name)]);}if(setId){if(skipCheck){return callExpression$d(cloneNode$j(setId),[_receiver2,value]);}return callExpression$d(file.addHelper("classPrivateSetter"),[cloneNode$j(classRef),cloneNode$j(setId),_receiver2,value]);}return assignmentExpression$d("=",buildStaticPrivateFieldAccess(cloneNode$j(id),noUninitializedPrivateFieldAccess),skipCheck?value:callExpression$d(file.addHelper("assertClassBrand"),[cloneNode$j(classRef),_receiver2,value]));}if(isMethod){if(setId){if(!newHelpers(file)){return callExpression$d(file.addHelper("classPrivateFieldSet"),[this.receiver(member),cloneNode$j(id),value]);}return callExpression$d(file.addHelper("classPrivateSetter"),[cloneNode$j(id),cloneNode$j(setId),this.receiver(member),value]);}return sequenceExpression$8([this.receiver(member),value,readOnlyError(file,name)]);}if(newHelpers(file)){return callExpression$d(file.addHelper("classPrivateFieldSet2"),[cloneNode$j(id),this.receiver(member),value]);}return callExpression$d(file.addHelper("classPrivateFieldSet"),[this.receiver(member),cloneNode$j(id),value]);},destructureSet:function destructureSet(member){var classRef=this.classRef,privateNamesMap=this.privateNamesMap,file=this.file,noUninitializedPrivateFieldAccess=this.noUninitializedPrivateFieldAccess;var name=member.node.property.id.name;var _privateNamesMap$get5=privateNamesMap.get(name),id=_privateNamesMap$get5.id,isStatic=_privateNamesMap$get5["static"],isMethod=_privateNamesMap$get5.method,setId=_privateNamesMap$get5.setId;if(!newHelpers(file)){if(isStatic){try{var helper=file.addHelper("classStaticPrivateFieldDestructureSet");}catch(_unused){throw new Error("Babel can not transpile `[C.#p] = [0]` with @babel/helpers < 7.13.10, \n"+"please update @babel/helpers to the latest version.");}return memberExpression$c(callExpression$d(helper,[this.receiver(member),cloneNode$j(classRef),cloneNode$j(id)]),identifier$j("value"));}return memberExpression$c(callExpression$d(file.addHelper("classPrivateFieldDestructureSet"),[this.receiver(member),cloneNode$j(id)]),identifier$j("value"));}if(isMethod&&!setId){return memberExpression$c(sequenceExpression$8([member.node.object,readOnlyError(file,name)]),identifier$j("_"));}if(isStatic&&!isMethod){var getCall=this.get(member);if(!noUninitializedPrivateFieldAccess||!isCallExpression$8(getCall)){return getCall;}var ref=getCall.arguments.pop();getCall.arguments.push(template$1.expression.ast(_templateObject5$4||(_templateObject5$4=_taggedTemplateLiteralLoose(["(_) => "," = _"])),ref));return memberExpression$c(callExpression$d(file.addHelper("toSetter"),[getCall]),identifier$j("_"));}var setCall=this.set(member,identifier$j("_"));if(!isCallExpression$8(setCall)||!isIdentifier$j(setCall.arguments[setCall.arguments.length-1],{name:"_"})){throw member.buildCodeFrameError("Internal Babel error while compiling this code. This is a Babel bug. "+"Please report it at https://github.com/babel/babel/issues.");}var args;if(isMemberExpression$9(setCall.callee,{computed:false})&&isIdentifier$j(setCall.callee.property)&&setCall.callee.property.name==="call"){args=[setCall.callee.object,arrayExpression$1(setCall.arguments.slice(1,-1)),setCall.arguments[0]];}else{args=[setCall.callee,arrayExpression$1(setCall.arguments.slice(0,-1))];}return memberExpression$c(callExpression$d(file.addHelper("toSetter"),args),identifier$j("_"));},call:function call(member,args){this.memoise(member,1);return optimiseCallExpression(this.get(member),this.receiver(member),args,false);},optionalCall:function optionalCall(member,args){this.memoise(member,1);return optimiseCallExpression(this.get(member),this.receiver(member),args,true);},"delete":function _delete(){throw new Error("Internal Babel error: deleting private elements is a parsing error.");}};var privateNameHandlerLoose={get:function get(member){var privateNamesMap=this.privateNamesMap,file=this.file;var object=member.node.object;var name=member.node.property.id.name;return template$1.expression(_templateObject6$2||(_templateObject6$2=_taggedTemplateLiteralLoose(["BASE(REF, PROP)[PROP]"])))({BASE:file.addHelper("classPrivateFieldLooseBase"),REF:cloneNode$j(object),PROP:cloneNode$j(privateNamesMap.get(name).id)});},set:function set(){throw new Error("private name handler with loose = true don't need set()");},boundGet:function boundGet(member){return callExpression$d(memberExpression$c(this.get(member),identifier$j("bind")),[cloneNode$j(member.node.object)]);},simpleSet:function simpleSet(member){return this.get(member);},destructureSet:function destructureSet(member){return this.get(member);},call:function call(member,args){return callExpression$d(this.get(member),args);},optionalCall:function optionalCall(member,args){return optionalCallExpression$2(this.get(member),args,true);},"delete":function _delete(){throw new Error("Internal Babel error: deleting private elements is a parsing error.");}};function transformPrivateNamesUsage(ref,path,privateNamesMap,_ref5,state){var privateFieldsAsProperties=_ref5.privateFieldsAsProperties,noUninitializedPrivateFieldAccess=_ref5.noUninitializedPrivateFieldAccess,noDocumentAll=_ref5.noDocumentAll,innerBinding=_ref5.innerBinding;if(!privateNamesMap.size)return;var body=path.get("body");var handler=privateFieldsAsProperties?privateNameHandlerLoose:privateNameHandlerSpec;memberExpressionToFunctions(body,privateNameVisitor,Object.assign({privateNamesMap:privateNamesMap,classRef:ref,file:state},handler,{noDocumentAll:noDocumentAll,noUninitializedPrivateFieldAccess:noUninitializedPrivateFieldAccess,innerBinding:innerBinding}));body.traverse(privateInVisitor,{privateNamesMap:privateNamesMap,classRef:ref,file:state,privateFieldsAsProperties:privateFieldsAsProperties,innerBinding:innerBinding});}function buildPrivateFieldInitLoose(ref,prop,privateNamesMap){var _privateNamesMap$get6=privateNamesMap.get(prop.node.key.id.name),id=_privateNamesMap$get6.id;var value=prop.node.value||prop.scope.buildUndefinedNode();return inheritPropComments(template$1.statement.ast(_templateObject7$1||(_templateObject7$1=_taggedTemplateLiteralLoose(["\n      Object.defineProperty(",", ",", {\n        // configurable is false by default\n        // enumerable is false by default\n        writable: true,\n        value: ","\n      });\n    "])),ref,cloneNode$j(id),value),prop);}function buildPrivateInstanceFieldInitSpec(ref,prop,privateNamesMap,state){var _privateNamesMap$get7=privateNamesMap.get(prop.node.key.id.name),id=_privateNamesMap$get7.id;var value=prop.node.value||prop.scope.buildUndefinedNode();{if(!state.availableHelper("classPrivateFieldInitSpec")){return inheritPropComments(template$1.statement.ast(_templateObject8$1||(_templateObject8$1=_taggedTemplateLiteralLoose(["",".set(",", {\n          // configurable is always false for private elements\n          // enumerable is always false for private elements\n          writable: true,\n          value: ",",\n        })"])),cloneNode$j(id),ref,value),prop);}}var helper=state.addHelper("classPrivateFieldInitSpec");return inheritPropComments(expressionStatement$a(callExpression$d(helper,[thisExpression$4(),cloneNode$j(id),newHelpers(state)?value:template$1.expression.ast(_templateObject9$1||(_templateObject9$1=_taggedTemplateLiteralLoose(["{ writable: true, value: "," }"])),value)])),prop);}function buildPrivateStaticFieldInitSpec(prop,privateNamesMap,noUninitializedPrivateFieldAccess){var privateName=privateNamesMap.get(prop.node.key.id.name);var value=noUninitializedPrivateFieldAccess?prop.node.value:template$1.expression.ast(_templateObject10$1||(_templateObject10$1=_taggedTemplateLiteralLoose(["{\n        _: ","\n      }"])),prop.node.value||buildUndefinedNode$2());return inheritPropComments(variableDeclaration$8("var",[variableDeclarator$8(cloneNode$j(privateName.id),value)]),prop);}{var buildPrivateStaticFieldInitSpecOld=function buildPrivateStaticFieldInitSpecOld(prop,privateNamesMap){var privateName=privateNamesMap.get(prop.node.key.id.name);var id=privateName.id,getId=privateName.getId,setId=privateName.setId,initAdded=privateName.initAdded;var isGetterOrSetter=getId||setId;if(!prop.isProperty()&&(initAdded||!isGetterOrSetter))return;if(isGetterOrSetter){privateNamesMap.set(prop.node.key.id.name,Object.assign({},privateName,{initAdded:true}));return inheritPropComments(template$1.statement.ast(_templateObject11$1||(_templateObject11$1=_taggedTemplateLiteralLoose(["\n          var "," = {\n            // configurable is false by default\n            // enumerable is false by default\n            // writable is false by default\n            get: ",",\n            set: ","\n          }\n        "])),cloneNode$j(id),getId?getId.name:prop.scope.buildUndefinedNode(),setId?setId.name:prop.scope.buildUndefinedNode()),prop);}var value=prop.node.value||prop.scope.buildUndefinedNode();return inheritPropComments(template$1.statement.ast(_templateObject12$1||(_templateObject12$1=_taggedTemplateLiteralLoose(["\n        var "," = {\n          // configurable is false by default\n          // enumerable is false by default\n          writable: true,\n          value: ","\n        };\n      "])),cloneNode$j(id),value),prop);};}function buildPrivateMethodInitLoose(ref,prop,privateNamesMap){var privateName=privateNamesMap.get(prop.node.key.id.name);var methodId=privateName.methodId,id=privateName.id,getId=privateName.getId,setId=privateName.setId,initAdded=privateName.initAdded;if(initAdded)return;if(methodId){return inheritPropComments(template$1.statement.ast(_templateObject13$1||(_templateObject13$1=_taggedTemplateLiteralLoose(["\n        Object.defineProperty(",", ",", {\n          // configurable is false by default\n          // enumerable is false by default\n          // writable is false by default\n          value: ","\n        });\n      "])),ref,id,methodId.name),prop);}var isGetterOrSetter=getId||setId;if(isGetterOrSetter){privateNamesMap.set(prop.node.key.id.name,Object.assign({},privateName,{initAdded:true}));return inheritPropComments(template$1.statement.ast(_templateObject14$1||(_templateObject14$1=_taggedTemplateLiteralLoose(["\n        Object.defineProperty(",", ",", {\n          // configurable is false by default\n          // enumerable is false by default\n          // writable is false by default\n          get: ",",\n          set: ","\n        });\n      "])),ref,id,getId?getId.name:prop.scope.buildUndefinedNode(),setId?setId.name:prop.scope.buildUndefinedNode()),prop);}}function buildPrivateInstanceMethodInitSpec(ref,prop,privateNamesMap,state){var privateName=privateNamesMap.get(prop.node.key.id.name);if(privateName.initAdded)return;if(!newHelpers(state)){var isGetterOrSetter=privateName.getId||privateName.setId;if(isGetterOrSetter){return buildPrivateAccessorInitialization(ref,prop,privateNamesMap,state);}}return buildPrivateInstanceMethodInitialization(ref,prop,privateNamesMap,state);}function buildPrivateAccessorInitialization(ref,prop,privateNamesMap,state){var privateName=privateNamesMap.get(prop.node.key.id.name);var id=privateName.id,getId=privateName.getId,setId=privateName.setId;privateNamesMap.set(prop.node.key.id.name,Object.assign({},privateName,{initAdded:true}));{if(!state.availableHelper("classPrivateFieldInitSpec")){return inheritPropComments(template$1.statement.ast(_templateObject15$1||(_templateObject15$1=_taggedTemplateLiteralLoose(["\n          ",".set(",", {\n            get: ",",\n            set: ","\n          });\n        "])),id,ref,getId?getId.name:prop.scope.buildUndefinedNode(),setId?setId.name:prop.scope.buildUndefinedNode()),prop);}}var helper=state.addHelper("classPrivateFieldInitSpec");return inheritPropComments(template$1.statement.ast(_templateObject16$1||(_templateObject16$1=_taggedTemplateLiteralLoose(["","(\n      ",",\n      ",",\n      {\n        get: ",",\n        set: ","\n      },\n    )"])),helper,thisExpression$4(),cloneNode$j(id),getId?getId.name:prop.scope.buildUndefinedNode(),setId?setId.name:prop.scope.buildUndefinedNode()),prop);}function buildPrivateInstanceMethodInitialization(ref,prop,privateNamesMap,state){var privateName=privateNamesMap.get(prop.node.key.id.name);var id=privateName.id;{if(!state.availableHelper("classPrivateMethodInitSpec")){return inheritPropComments(template$1.statement.ast(_templateObject17$1||(_templateObject17$1=_taggedTemplateLiteralLoose(["",".add(",")"])),id,ref),prop);}}var helper=state.addHelper("classPrivateMethodInitSpec");return inheritPropComments(template$1.statement.ast(_templateObject18$1||(_templateObject18$1=_taggedTemplateLiteralLoose(["","(\n      ",",\n      ","\n    )"])),helper,thisExpression$4(),cloneNode$j(id)),prop);}function buildPublicFieldInitLoose(ref,prop){var _prop$node=prop.node,key=_prop$node.key,computed=_prop$node.computed;var value=prop.node.value||prop.scope.buildUndefinedNode();return inheritPropComments(expressionStatement$a(assignmentExpression$d("=",memberExpression$c(ref,key,computed||isLiteral$6(key)),value)),prop);}function buildPublicFieldInitSpec(ref,prop,state){var _prop$node2=prop.node,key=_prop$node2.key,computed=_prop$node2.computed;var value=prop.node.value||prop.scope.buildUndefinedNode();return inheritPropComments(expressionStatement$a(callExpression$d(state.addHelper("defineProperty"),[ref,computed||isLiteral$6(key)?key:stringLiteral$8(key.name),value])),prop);}function buildPrivateStaticMethodInitLoose(ref,prop,state,privateNamesMap){var privateName=privateNamesMap.get(prop.node.key.id.name);var id=privateName.id,methodId=privateName.methodId,getId=privateName.getId,setId=privateName.setId,initAdded=privateName.initAdded;if(initAdded)return;var isGetterOrSetter=getId||setId;if(isGetterOrSetter){privateNamesMap.set(prop.node.key.id.name,Object.assign({},privateName,{initAdded:true}));return inheritPropComments(template$1.statement.ast(_templateObject19||(_templateObject19=_taggedTemplateLiteralLoose(["\n        Object.defineProperty(",", ",", {\n          // configurable is false by default\n          // enumerable is false by default\n          // writable is false by default\n          get: ",",\n          set: ","\n        })\n      "])),ref,id,getId?getId.name:prop.scope.buildUndefinedNode(),setId?setId.name:prop.scope.buildUndefinedNode()),prop);}return inheritPropComments(template$1.statement.ast(_templateObject20||(_templateObject20=_taggedTemplateLiteralLoose(["\n      Object.defineProperty(",", ",", {\n        // configurable is false by default\n        // enumerable is false by default\n        // writable is false by default\n        value: ","\n      });\n    "])),ref,id,methodId.name),prop);}function buildPrivateMethodDeclaration(file,prop,privateNamesMap,privateFieldsAsSymbolsOrProperties){if(privateFieldsAsSymbolsOrProperties===void 0){privateFieldsAsSymbolsOrProperties=false;}var privateName=privateNamesMap.get(prop.node.key.id.name);var id=privateName.id,methodId=privateName.methodId,getId=privateName.getId,setId=privateName.setId,getterDeclared=privateName.getterDeclared,setterDeclared=privateName.setterDeclared,isStatic=privateName["static"];var _prop$node3=prop.node,params=_prop$node3.params,body=_prop$node3.body,generator=_prop$node3.generator,async=_prop$node3.async;var isGetter=getId&&params.length===0;var isSetter=setId&&params.length>0;if(isGetter&&getterDeclared||isSetter&&setterDeclared){privateNamesMap.set(prop.node.key.id.name,Object.assign({},privateName,{initAdded:true}));return null;}if(newHelpers(file)&&(isGetter||isSetter)&&!privateFieldsAsSymbolsOrProperties){var scope=prop.get("body").scope;var thisArg=scope.generateUidIdentifier("this");var state={thisRef:thisArg,argumentsPath:[]};prop.traverse(thisContextVisitor,state);if(state.argumentsPath.length){var argumentsId=scope.generateUidIdentifier("arguments");scope.push({id:argumentsId,init:template$1.expression.ast(_templateObject21||(_templateObject21=_taggedTemplateLiteralLoose(["[].slice.call(arguments, 1)"])))});for(var _iterator4=_createForOfIteratorHelperLoose(state.argumentsPath),_step4;!(_step4=_iterator4()).done;){var path=_step4.value;path.replaceWith(cloneNode$j(argumentsId));}}params.unshift(cloneNode$j(thisArg));}var declId=methodId;if(isGetter){privateNamesMap.set(prop.node.key.id.name,Object.assign({},privateName,{getterDeclared:true,initAdded:true}));declId=getId;}else if(isSetter){privateNamesMap.set(prop.node.key.id.name,Object.assign({},privateName,{setterDeclared:true,initAdded:true}));declId=setId;}else if(isStatic&&!privateFieldsAsSymbolsOrProperties){declId=id;}return inheritPropComments(functionDeclaration(cloneNode$j(declId),params,body,generator,async),prop);}var thisContextVisitor=traverse.visitors.merge([{Identifier:function Identifier(path,state){if(state.argumentsPath&&path.node.name==="arguments"){state.argumentsPath.push(path);}},UnaryExpression:function UnaryExpression(path){var node=path.node;if(node.operator==="delete"){var argument=skipTransparentExprWrapperNodes(node.argument);if(isThisExpression$2(argument)){path.replaceWith(booleanLiteral$4(true));}}},ThisExpression:function ThisExpression(path,state){state.needsClassRef=true;path.replaceWith(cloneNode$j(state.thisRef));},MetaProperty:function MetaProperty(path){var node=path.node,scope=path.scope;if(node.meta.name==="new"&&node.property.name==="target"){path.replaceWith(scope.buildUndefinedNode());}}},visitor$5]);var innerReferencesVisitor={ReferencedIdentifier:function ReferencedIdentifier(path,state){if(path.scope.bindingIdentifierEquals(path.node.name,state.innerBinding)){state.needsClassRef=true;path.node.name=state.thisRef.name;}}};function replaceThisContext(path,ref,innerBindingRef){var _state$thisRef;var state={thisRef:ref,needsClassRef:false,innerBinding:innerBindingRef};if(!path.isMethod()){path.traverse(thisContextVisitor,state);}if(innerBindingRef!=null&&(_state$thisRef=state.thisRef)!=null&&_state$thisRef.name&&state.thisRef.name!==innerBindingRef.name){path.traverse(innerReferencesVisitor,state);}return state.needsClassRef;}function isNameOrLength$1(_ref6){var key=_ref6.key,computed=_ref6.computed;if(key.type==="Identifier"){return!computed&&(key.name==="name"||key.name==="length");}if(key.type==="StringLiteral"){return key.value==="name"||key.value==="length";}return false;}function inheritPropComments(node,prop){inheritLeadingComments$1(node,prop.node);inheritInnerComments(node,prop.node);return node;}function buildFieldsInitNodes(ref,superRef,props,privateNamesMap,file,setPublicClassFields,privateFieldsAsSymbolsOrProperties,noUninitializedPrivateFieldAccess,constantSuper,innerBindingRef){var _ref7,_ref8;var classRefFlags=0;var injectSuperRef;var staticNodes=[];var instanceNodes=[];var lastInstanceNodeReturnsThis=false;var pureStaticNodes=[];var classBindingNode=null;var getSuperRef=isIdentifier$j(superRef)?function(){return superRef;}:function(){var _injectSuperRef;(_injectSuperRef=injectSuperRef)!=null?_injectSuperRef:injectSuperRef=props[0].scope.generateUidIdentifierBasedOnNode(superRef);return injectSuperRef;};var classRefForInnerBinding=(_ref7=ref)!=null?_ref7:props[0].scope.generateUidIdentifier((innerBindingRef==null?void 0:innerBindingRef.name)||"Class");(_ref8=ref)!=null?_ref8:ref=cloneNode$j(innerBindingRef);var _loop=function _loop(){var prop=_step5.value;prop.isClassProperty()&&assertFieldTransformed(prop);var isStatic=!(isStaticBlock!=null&&isStaticBlock(prop.node))&&prop.node["static"];var isInstance=!isStatic;var isPrivate=prop.isPrivate();var isPublic=!isPrivate;var isField=prop.isProperty();var isMethod=!isField;var isStaticBlock$1=prop.isStaticBlock==null?void 0:prop.isStaticBlock();if(isStatic)classRefFlags|=1;if(isStatic||isMethod&&isPrivate||isStaticBlock$1){new ReplaceSupers({methodPath:prop,constantSuper:constantSuper,file:file,refToPreserve:innerBindingRef,getSuperRef:getSuperRef,getObjectRef:function getObjectRef(){classRefFlags|=2;if(isStatic||isStaticBlock$1){return classRefForInnerBinding;}else{return memberExpression$c(classRefForInnerBinding,identifier$j("prototype"));}}}).replace();var replaced=replaceThisContext(prop,classRefForInnerBinding,innerBindingRef);if(replaced){classRefFlags|=2;}}lastInstanceNodeReturnsThis=false;switch(true){case isStaticBlock$1:{var blockBody=prop.node.body;if(blockBody.length===1&&isExpressionStatement$2(blockBody[0])){staticNodes.push(inheritPropComments(blockBody[0],prop));}else{staticNodes.push(inheritsComments$1(template$1.statement.ast(_templateObject22||(_templateObject22=_taggedTemplateLiteralLoose(["(() => { "," })()"])),blockBody),prop.node));}break;}case isStatic&&isPrivate&&isField&&privateFieldsAsSymbolsOrProperties:staticNodes.push(buildPrivateFieldInitLoose(cloneNode$j(ref),prop,privateNamesMap));break;case isStatic&&isPrivate&&isField&&!privateFieldsAsSymbolsOrProperties:if(!newHelpers(file)){staticNodes.push(buildPrivateStaticFieldInitSpecOld(prop,privateNamesMap));}else{staticNodes.push(buildPrivateStaticFieldInitSpec(prop,privateNamesMap,noUninitializedPrivateFieldAccess));}break;case isStatic&&isPublic&&isField&&setPublicClassFields:if(!isNameOrLength$1(prop.node)){staticNodes.push(buildPublicFieldInitLoose(cloneNode$j(ref),prop));break;}case isStatic&&isPublic&&isField&&!setPublicClassFields:staticNodes.push(buildPublicFieldInitSpec(cloneNode$j(ref),prop,file));break;case isInstance&&isPrivate&&isField&&privateFieldsAsSymbolsOrProperties:instanceNodes.push(buildPrivateFieldInitLoose(thisExpression$4(),prop,privateNamesMap));break;case isInstance&&isPrivate&&isField&&!privateFieldsAsSymbolsOrProperties:instanceNodes.push(buildPrivateInstanceFieldInitSpec(thisExpression$4(),prop,privateNamesMap,file));break;case isInstance&&isPrivate&&isMethod&&privateFieldsAsSymbolsOrProperties:instanceNodes.unshift(buildPrivateMethodInitLoose(thisExpression$4(),prop,privateNamesMap));pureStaticNodes.push(buildPrivateMethodDeclaration(file,prop,privateNamesMap,privateFieldsAsSymbolsOrProperties));break;case isInstance&&isPrivate&&isMethod&&!privateFieldsAsSymbolsOrProperties:instanceNodes.unshift(buildPrivateInstanceMethodInitSpec(thisExpression$4(),prop,privateNamesMap,file));pureStaticNodes.push(buildPrivateMethodDeclaration(file,prop,privateNamesMap,privateFieldsAsSymbolsOrProperties));break;case isStatic&&isPrivate&&isMethod&&!privateFieldsAsSymbolsOrProperties:if(!newHelpers(file)){staticNodes.unshift(buildPrivateStaticFieldInitSpecOld(prop,privateNamesMap));}pureStaticNodes.push(buildPrivateMethodDeclaration(file,prop,privateNamesMap,privateFieldsAsSymbolsOrProperties));break;case isStatic&&isPrivate&&isMethod&&privateFieldsAsSymbolsOrProperties:staticNodes.unshift(buildPrivateStaticMethodInitLoose(cloneNode$j(ref),prop,file,privateNamesMap));pureStaticNodes.push(buildPrivateMethodDeclaration(file,prop,privateNamesMap,privateFieldsAsSymbolsOrProperties));break;case isInstance&&isPublic&&isField&&setPublicClassFields:instanceNodes.push(buildPublicFieldInitLoose(thisExpression$4(),prop));break;case isInstance&&isPublic&&isField&&!setPublicClassFields:lastInstanceNodeReturnsThis=true;instanceNodes.push(buildPublicFieldInitSpec(thisExpression$4(),prop,file));break;default:throw new Error("Unreachable.");}};for(var _iterator5=_createForOfIteratorHelperLoose(props),_step5;!(_step5=_iterator5()).done;){_loop();}if(classRefFlags&2&&innerBindingRef!=null){classBindingNode=expressionStatement$a(assignmentExpression$d("=",cloneNode$j(classRefForInnerBinding),cloneNode$j(innerBindingRef)));}return{staticNodes:staticNodes.filter(Boolean),instanceNodes:instanceNodes.filter(Boolean),lastInstanceNodeReturnsThis:lastInstanceNodeReturnsThis,pureStaticNodes:pureStaticNodes.filter(Boolean),classBindingNode:classBindingNode,wrapClass:function wrapClass(path){for(var _iterator6=_createForOfIteratorHelperLoose(props),_step6;!(_step6=_iterator6()).done;){var prop=_step6.value;prop.node.leadingComments=null;prop.remove();}if(injectSuperRef){path.scope.push({id:cloneNode$j(injectSuperRef)});path.set("superClass",assignmentExpression$d("=",injectSuperRef,path.node.superClass));}if(classRefFlags!==0){if(path.isClassExpression()){path.scope.push({id:ref});path.replaceWith(assignmentExpression$d("=",cloneNode$j(ref),path.node));}else{if(innerBindingRef==null){path.node.id=ref;}if(classBindingNode!=null){path.scope.push({id:classRefForInnerBinding});}}}return path;}};}var _templateObject$u;var findBareSupers=traverse.visitors.merge([{Super:function Super(path){var node=path.node,parentPath=path.parentPath;if(parentPath.isCallExpression({callee:node})){this.push(parentPath);}}},visitor$5]);var referenceVisitor={"TSTypeAnnotation|TypeAnnotation":function TSTypeAnnotationTypeAnnotation(path){path.skip();},ReferencedIdentifier:function ReferencedIdentifier(path,_ref){var scope=_ref.scope;if(scope.hasOwnBinding(path.node.name)){scope.rename(path.node.name);path.skip();}}};function handleClassTDZ(path,state){if(state.classBinding&&state.classBinding===path.scope.getBinding(path.node.name)){var classNameTDZError=state.file.addHelper("classNameTDZError");var throwNode=callExpression$d(classNameTDZError,[stringLiteral$8(path.node.name)]);path.replaceWith(sequenceExpression$8([throwNode,path.node]));path.skip();}}var classFieldDefinitionEvaluationTDZVisitor={ReferencedIdentifier:handleClassTDZ};function injectInitialization(path,constructor,nodes,renamer,lastReturnsThis){if(!nodes.length)return;var isDerived=!!path.node.superClass;if(!constructor){var newConstructor=classMethod("constructor",identifier$j("constructor"),[],blockStatement$6([]));if(isDerived){newConstructor.params=[restElement$2(identifier$j("args"))];newConstructor.body.body.push(template$1.statement.ast(_templateObject$u||(_templateObject$u=_taggedTemplateLiteralLoose(["super(...args)"]))));}var _ref2=path.get("body").unshiftContainer("body",newConstructor);var _ref3=_slicedToArray(_ref2,1);constructor=_ref3[0];}if(renamer){renamer(referenceVisitor,{scope:constructor.scope});}if(isDerived){var bareSupers=[];constructor.traverse(findBareSupers,bareSupers);var isFirst=true;for(var _i=0,_bareSupers=bareSupers;_i<_bareSupers.length;_i++){var bareSuper=_bareSupers[_i];if(isFirst){isFirst=false;}else{nodes=nodes.map(function(n){return cloneNode$j(n);});}if(!bareSuper.parentPath.isExpressionStatement()){var allNodes=[bareSuper.node].concat(_toConsumableArray(nodes.map(function(n){return toExpression$1(n);})));if(!lastReturnsThis)allNodes.push(thisExpression$4());bareSuper.replaceWith(sequenceExpression$8(allNodes));}else{bareSuper.insertAfter(nodes);}}}else{constructor.get("body").unshiftContainer("body",nodes);}}function memoiseComputedKey(keyNode,scope,hint){var isUidReference=isIdentifier$j(keyNode)&&scope.hasUid(keyNode.name);if(isUidReference){return;}var isMemoiseAssignment=isAssignmentExpression$3(keyNode,{operator:"="})&&isIdentifier$j(keyNode.left)&&scope.hasUid(keyNode.left.name);if(isMemoiseAssignment){return cloneNode$j(keyNode);}else{var ident=identifier$j(hint);scope.push({id:ident,kind:"let"});return assignmentExpression$d("=",cloneNode$j(ident),keyNode);}}function extractComputedKeys(path,computedPaths,file){var scope=path.scope;var declarations=[];var state={classBinding:path.node.id&&scope.getBinding(path.node.id.name),file:file};for(var _iterator=_createForOfIteratorHelperLoose(computedPaths),_step;!(_step=_iterator()).done;){var computedPath=_step.value;var computedKey=computedPath.get("key");if(computedKey.isReferencedIdentifier()){handleClassTDZ(computedKey,state);}else{computedKey.traverse(classFieldDefinitionEvaluationTDZVisitor,state);}var computedNode=computedPath.node;if(!computedKey.isConstantExpression()){var assignment=memoiseComputedKey(computedKey.node,scope,scope.generateUidBasedOnNode(computedKey.node));if(assignment){declarations.push(expressionStatement$a(assignment));computedNode.key=cloneNode$j(assignment.left);}}}return declarations;}var _templateObject$t,_templateObject2$f,_templateObject3$a,_templateObject4$6,_templateObject5$3;function incrementId(id,idx){if(idx===void 0){idx=id.length-1;}if(idx===-1){id.unshift(65);return;}var current=id[idx];if(current===90){id[idx]=97;}else if(current===122){id[idx]=65;incrementId(id,idx-1);}else{id[idx]=current+1;}}function createPrivateUidGeneratorForClass(classPath){var currentPrivateId=[];var privateNames=new Set();classPath.traverse({PrivateName:function PrivateName(path){privateNames.add(path.node.id.name);}});return function(){var reifiedId;do{incrementId(currentPrivateId);reifiedId=String.fromCharCode.apply(String,currentPrivateId);}while(privateNames.has(reifiedId));return privateName(identifier$j(reifiedId));};}function createLazyPrivateUidGeneratorForClass(classPath){var generator;return function(){if(!generator){generator=createPrivateUidGeneratorForClass(classPath);}return generator();};}function replaceClassWithVar(path,className){var id=path.node.id;var scope=path.scope;if(path.type==="ClassDeclaration"){var _className=id.name;var varId=scope.generateUidIdentifierBasedOnNode(id);var classId=identifier$j(_className);scope.rename(_className,varId.name);path.get("id").replaceWith(classId);return{id:cloneNode$j(varId),path:path};}else{var _varId;if(id){className=id.name;_varId=generateLetUidIdentifier(scope.parent,className);scope.rename(className,_varId.name);}else{_varId=generateLetUidIdentifier(scope.parent,typeof className==="string"?className:"decorated_class");}var newClassExpr=classExpression(typeof className==="string"?identifier$j(className):null,path.node.superClass,path.node.body);var _path$replaceWith=path.replaceWith(sequenceExpression$8([newClassExpr,_varId])),_path$replaceWith2=_slicedToArray(_path$replaceWith,1),newPath=_path$replaceWith2[0];return{id:cloneNode$j(_varId),path:newPath.get("expressions.0")};}}function generateClassProperty(key,value,isStatic){if(key.type==="PrivateName"){return classPrivateProperty(key,value,undefined,isStatic);}else{return classProperty(key,value,undefined,undefined,isStatic);}}function addProxyAccessorsFor(className,element,getterKey,setterKey,targetKey,isComputed,isStatic,version){var thisArg=(version==="2023-11"||version==="2023-05")&&isStatic?className:thisExpression$4();var getterBody=blockStatement$6([returnStatement$3(memberExpression$c(cloneNode$j(thisArg),cloneNode$j(targetKey)))]);var setterBody=blockStatement$6([expressionStatement$a(assignmentExpression$d("=",memberExpression$c(cloneNode$j(thisArg),cloneNode$j(targetKey)),identifier$j("v")))]);var getter,setter;if(getterKey.type==="PrivateName"){getter=classPrivateMethod("get",getterKey,[],getterBody,isStatic);setter=classPrivateMethod("set",setterKey,[identifier$j("v")],setterBody,isStatic);}else{getter=classMethod("get",getterKey,[],getterBody,isComputed,isStatic);setter=classMethod("set",setterKey,[identifier$j("v")],setterBody,isComputed,isStatic);}element.insertAfter(setter);element.insertAfter(getter);}function extractProxyAccessorsFor(targetKey,version){if(version!=="2023-11"&&version!=="2023-05"&&version!=="2023-01"){return[template$1.expression.ast(_templateObject$t||(_templateObject$t=_taggedTemplateLiteralLoose(["\n        function () {\n          return this.",";\n        }\n      "])),cloneNode$j(targetKey)),template$1.expression.ast(_templateObject2$f||(_templateObject2$f=_taggedTemplateLiteralLoose(["\n        function (value) {\n          this."," = value;\n        }\n      "])),cloneNode$j(targetKey))];}return[template$1.expression.ast(_templateObject3$a||(_templateObject3$a=_taggedTemplateLiteralLoose(["\n      o => o.","\n    "])),cloneNode$j(targetKey)),template$1.expression.ast(_templateObject4$6||(_templateObject4$6=_taggedTemplateLiteralLoose(["\n      (o, v) => o."," = v\n    "])),cloneNode$j(targetKey))];}function getComputedKeyLastElement(path){path=skipTransparentExprWrappers(path);if(path.isSequenceExpression()){var expressions=path.get("expressions");return getComputedKeyLastElement(expressions[expressions.length-1]);}return path;}function getComputedKeyMemoiser(path){var element=getComputedKeyLastElement(path);if(element.isConstantExpression()){return cloneNode$j(path.node);}else if(element.isIdentifier()&&path.scope.hasUid(element.node.name)){return cloneNode$j(path.node);}else if(element.isAssignmentExpression()&&element.get("left").isIdentifier()){return cloneNode$j(element.node.left);}else{throw new Error("Internal Error: the computed key "+path.toString()+" has not yet been memoised.");}}function prependExpressionsToComputedKey(expressions,fieldPath){var key=fieldPath.get("key");if(key.isSequenceExpression()){expressions.push.apply(expressions,_toConsumableArray(key.node.expressions));}else{expressions.push(key.node);}key.replaceWith(maybeSequenceExpression(expressions));}function appendExpressionsToComputedKey(expressions,fieldPath){var key=fieldPath.get("key");var completion=getComputedKeyLastElement(key);if(completion.isConstantExpression()){prependExpressionsToComputedKey(expressions,fieldPath);}else{var scopeParent=key.scope.parent;var maybeAssignment=memoiseComputedKey(completion.node,scopeParent,scopeParent.generateUid("computedKey"));if(!maybeAssignment){prependExpressionsToComputedKey(expressions,fieldPath);}else{var expressionSequence=[].concat(_toConsumableArray(expressions),[cloneNode$j(maybeAssignment.left)]);var completionParent=completion.parentPath;if(completionParent.isSequenceExpression()){completionParent.pushContainer("expressions",expressionSequence);}else{completion.replaceWith(maybeSequenceExpression([cloneNode$j(maybeAssignment)].concat(_toConsumableArray(expressionSequence))));}}}}function prependExpressionsToFieldInitializer(expressions,fieldPath){var initializer=fieldPath.get("value");if(initializer.node){expressions.push(initializer.node);}else if(expressions.length>0){expressions[expressions.length-1]=unaryExpression$6("void",expressions[expressions.length-1]);}initializer.replaceWith(maybeSequenceExpression(expressions));}function prependExpressionsToStaticBlock(expressions,blockPath){blockPath.unshiftContainer("body",expressionStatement$a(maybeSequenceExpression(expressions)));}function prependExpressionsToConstructor(expressions,constructorPath){constructorPath.node.body.body.unshift(expressionStatement$a(maybeSequenceExpression(expressions)));}function isProtoInitCallExpression(expression,protoInitCall){return isCallExpression$8(expression)&&isIdentifier$j(expression.callee,{name:protoInitCall.name});}function optimizeSuperCallAndExpressions(expressions,protoInitLocal){if(expressions.length>=2&&isProtoInitCallExpression(expressions[1],protoInitLocal)){var mergedSuperCall=callExpression$d(cloneNode$j(protoInitLocal),[expressions[0]]);expressions.splice(0,2,mergedSuperCall);}if(expressions.length>=2&&isThisExpression$2(expressions[expressions.length-1])&&isProtoInitCallExpression(expressions[expressions.length-2],protoInitLocal)){expressions.splice(expressions.length-1,1);}return maybeSequenceExpression(expressions);}function insertExpressionsAfterSuperCallAndOptimize(expressions,constructorPath,protoInitLocal){constructorPath.traverse({CallExpression:{exit:function exit(path){if(!path.get("callee").isSuper())return;var newNodes=[path.node].concat(_toConsumableArray(expressions.map(function(expr){return cloneNode$j(expr);})));if(path.isCompletionRecord()){newNodes.push(thisExpression$4());}path.replaceWith(optimizeSuperCallAndExpressions(newNodes,protoInitLocal));path.skip();}},ClassMethod:function ClassMethod(path){if(path.node.kind==="constructor"){path.skip();}}});}function createConstructorFromExpressions(expressions,isDerivedClass){var body=[expressionStatement$a(maybeSequenceExpression(expressions))];if(isDerivedClass){body.unshift(expressionStatement$a(callExpression$d(_super$1(),[spreadElement$2(identifier$j("args"))])));}return classMethod("constructor",identifier$j("constructor"),isDerivedClass?[restElement$2(identifier$j("args"))]:[],blockStatement$6(body));}function createStaticBlockFromExpressions(expressions){return staticBlock([expressionStatement$a(maybeSequenceExpression(expressions))]);}var FIELD=0;var ACCESSOR=1;var METHOD=2;var GETTER=3;var SETTER=4;var STATIC_OLD_VERSION=5;var STATIC=8;var DECORATORS_HAVE_THIS=16;function getElementKind(element){switch(element.node.type){case"ClassProperty":case"ClassPrivateProperty":return FIELD;case"ClassAccessorProperty":return ACCESSOR;case"ClassMethod":case"ClassPrivateMethod":if(element.node.kind==="get"){return GETTER;}else if(element.node.kind==="set"){return SETTER;}else{return METHOD;}}}function toSortedDecoratorInfo(info){return[].concat(_toConsumableArray(info.filter(function(el){return el.isStatic&&el.kind>=ACCESSOR&&el.kind<=SETTER;})),_toConsumableArray(info.filter(function(el){return!el.isStatic&&el.kind>=ACCESSOR&&el.kind<=SETTER;})),_toConsumableArray(info.filter(function(el){return el.isStatic&&el.kind===FIELD;})),_toConsumableArray(info.filter(function(el){return!el.isStatic&&el.kind===FIELD;})));}function generateDecorationList(decorators,decoratorsThis,version){var decsCount=decorators.length;var haveOneThis=decoratorsThis.some(Boolean);var decs=[];for(var i=0;i<decsCount;i++){if((version==="2023-11"||version==="2023-05")&&haveOneThis){decs.push(decoratorsThis[i]||unaryExpression$6("void",numericLiteral$8(0)));}decs.push(decorators[i]);}return{haveThis:haveOneThis,decs:decs};}function generateDecorationExprs(decorationInfo,version){return arrayExpression$1(decorationInfo.map(function(el){var flag=el.kind;if(el.isStatic){flag+=version==="2023-11"||version==="2023-05"?STATIC:STATIC_OLD_VERSION;}if(el.decoratorsHaveThis)flag+=DECORATORS_HAVE_THIS;return arrayExpression$1([el.decoratorsArray,numericLiteral$8(flag),el.name].concat(_toConsumableArray(el.privateMethods||[])));}));}function extractElementLocalAssignments(decorationInfo){var localIds=[];for(var _iterator=_createForOfIteratorHelperLoose(decorationInfo),_step;!(_step=_iterator()).done;){var el=_step.value;var locals=el.locals;if(Array.isArray(locals)){localIds.push.apply(localIds,_toConsumableArray(locals));}else if(locals!==undefined){localIds.push(locals);}}return localIds;}function addCallAccessorsFor(version,element,key,getId,setId,isStatic){element.insertAfter(classPrivateMethod("get",cloneNode$j(key),[],blockStatement$6([returnStatement$3(callExpression$d(cloneNode$j(getId),version==="2023-11"&&isStatic?[]:[thisExpression$4()]))]),isStatic));element.insertAfter(classPrivateMethod("set",cloneNode$j(key),[identifier$j("v")],blockStatement$6([expressionStatement$a(callExpression$d(cloneNode$j(setId),version==="2023-11"&&isStatic?[identifier$j("v")]:[thisExpression$4(),identifier$j("v")]))]),isStatic));}function movePrivateAccessor(element,key,methodLocalVar,isStatic){var params;var block;if(element.node.kind==="set"){params=[identifier$j("v")];block=[expressionStatement$a(callExpression$d(methodLocalVar,[thisExpression$4(),identifier$j("v")]))];}else{params=[];block=[returnStatement$3(callExpression$d(methodLocalVar,[thisExpression$4()]))];}element.replaceWith(classPrivateMethod(element.node.kind,cloneNode$j(key),params,blockStatement$6(block),isStatic));}function isClassDecoratableElementPath(path){var type=path.type;return type!=="TSDeclareMethod"&&type!=="TSIndexSignature"&&type!=="StaticBlock";}function staticBlockToIIFE(block){return callExpression$d(arrowFunctionExpression$4([],blockStatement$6(block.body)),[]);}function staticBlockToFunctionClosure(block){return functionExpression$2(null,[],blockStatement$6(block.body));}function fieldInitializerToClosure(value){return functionExpression$2(null,[],blockStatement$6([returnStatement$3(value)]));}function maybeSequenceExpression(exprs){if(exprs.length===0)return unaryExpression$6("void",numericLiteral$8(0));if(exprs.length===1)return exprs[0];return sequenceExpression$8(exprs);}function createFunctionExpressionFromPrivateMethod(node){var params=node.params,body=node.body,isGenerator=node.generator,isAsync=node.async;return functionExpression$2(undefined,params,body,isGenerator,isAsync);}function createSetFunctionNameCall(state,className){return callExpression$d(state.addHelper("setFunctionName"),[thisExpression$4(),className]);}function createToPropertyKeyCall(state,propertyKey){return callExpression$d(state.addHelper("toPropertyKey"),[propertyKey]);}function createPrivateBrandCheckClosure(brandName){return arrowFunctionExpression$4([identifier$j("_")],binaryExpression$5("in",cloneNode$j(brandName),identifier$j("_")));}function usesFunctionContextOrYieldAwait(expression){try{traverseFast$2(expression,function(node){if(isThisExpression$2(node)||isSuper$3(node)||isYieldExpression$1(node)||isAwaitExpression(node)||isIdentifier$j(node,{name:"arguments"})||isMetaProperty$1(node)&&node.meta.name!=="import"){throw null;}});return false;}catch(_unused){return true;}}function usesPrivateField(expression){try{traverseFast$2(expression,function(node){if(isPrivateName$3(node)){throw null;}});return false;}catch(_unused2){return true;}}function convertToComputedKey(path){var node=path.node;node.computed=true;if(isIdentifier$j(node.key)){node.key=stringLiteral$8(node.key.name);}}function hasInstancePrivateAccess(path,privateNames){var containsInstancePrivateAccess=false;if(privateNames.length>0){var privateNameVisitor=privateNameVisitorFactory({PrivateName:function PrivateName(path,state){if(state.privateNamesMap.has(path.node.id.name)){containsInstancePrivateAccess=true;path.stop();}}});var privateNamesMap=new Map();for(var _iterator2=_createForOfIteratorHelperLoose(privateNames),_step2;!(_step2=_iterator2()).done;){var _name=_step2.value;privateNamesMap.set(_name,null);}path.traverse(privateNameVisitor,{privateNamesMap:privateNamesMap});}return containsInstancePrivateAccess;}function checkPrivateMethodUpdateError(path,decoratedPrivateMethods){var privateNameVisitor=privateNameVisitorFactory({PrivateName:function PrivateName(path,state){if(!state.privateNamesMap.has(path.node.id.name))return;var parentPath=path.parentPath;var parentParentPath=parentPath.parentPath;if(parentParentPath.node.type==="AssignmentExpression"&&parentParentPath.node.left===parentPath.node||parentParentPath.node.type==="UpdateExpression"||parentParentPath.node.type==="RestElement"||parentParentPath.node.type==="ArrayPattern"||parentParentPath.node.type==="ObjectProperty"&&parentParentPath.node.value===parentPath.node&&parentParentPath.parentPath.type==="ObjectPattern"||parentParentPath.node.type==="ForOfStatement"&&parentParentPath.node.left===parentPath.node){throw path.buildCodeFrameError("Decorated private methods are read-only, but \"#"+path.node.id.name+"\" is updated via this expression.");}}});var privateNamesMap=new Map();for(var _iterator3=_createForOfIteratorHelperLoose(decoratedPrivateMethods),_step3;!(_step3=_iterator3()).done;){var _name2=_step3.value;privateNamesMap.set(_name2,null);}path.traverse(privateNameVisitor,{privateNamesMap:privateNamesMap});}function transformClass$1(path,state,constantSuper,ignoreFunctionLength,className,propertyVisitor,version){var _classDecorationsId;var body=path.get("body.body");var classDecorators=path.node.decorators;var hasElementDecorators=false;var hasComputedKeysSideEffects=false;var elemDecsUseFnContext=false;var generateClassPrivateUid=createLazyPrivateUidGeneratorForClass(path);var classAssignments=[];var scopeParent=path.scope.parent;var memoiseExpression=function memoiseExpression(expression,hint,assignments){var localEvaluatedId=generateLetUidIdentifier(scopeParent,hint);assignments.push(assignmentExpression$d("=",localEvaluatedId,expression));return cloneNode$j(localEvaluatedId);};var protoInitLocal;var staticInitLocal;var instancePrivateNames=[];for(var _iterator4=_createForOfIteratorHelperLoose(body),_step4;!(_step4=_iterator4()).done;){var _element2=_step4.value;if(!isClassDecoratableElementPath(_element2)){continue;}var elementNode=_element2.node;if(!elementNode["static"]&&isPrivateName$3(elementNode.key)){instancePrivateNames.push(elementNode.key.id.name);}if(isDecorated(elementNode)){switch(elementNode.type){case"ClassProperty":propertyVisitor.ClassProperty(_element2,state);break;case"ClassPrivateProperty":propertyVisitor.ClassPrivateProperty(_element2,state);break;case"ClassAccessorProperty":propertyVisitor.ClassAccessorProperty(_element2,state);if(version==="2023-11"){break;}default:if(elementNode["static"]){var _staticInitLocal;(_staticInitLocal=staticInitLocal)!=null?_staticInitLocal:staticInitLocal=generateLetUidIdentifier(scopeParent,"initStatic");}else{var _protoInitLocal;(_protoInitLocal=protoInitLocal)!=null?_protoInitLocal:protoInitLocal=generateLetUidIdentifier(scopeParent,"initProto");}break;}hasElementDecorators=true;elemDecsUseFnContext||(elemDecsUseFnContext=elementNode.decorators.some(usesFunctionContextOrYieldAwait));}else if(elementNode.type==="ClassAccessorProperty"){propertyVisitor.ClassAccessorProperty(_element2,state);var _key3=elementNode.key,_value=elementNode.value,_isStatic=elementNode["static"],computed=elementNode.computed;var _newId=generateClassPrivateUid();var _newField=generateClassProperty(_newId,_value,_isStatic);var keyPath=_element2.get("key");var _element2$replaceWith=_element2.replaceWith(_newField),_element2$replaceWith2=_slicedToArray(_element2$replaceWith,1),_newPath2=_element2$replaceWith2[0];var getterKey=void 0,setterKey=void 0;if(computed&&!keyPath.isConstantExpression()){getterKey=memoiseComputedKey(createToPropertyKeyCall(state,_key3),scopeParent,scopeParent.generateUid("computedKey"));setterKey=cloneNode$j(getterKey.left);}else{getterKey=cloneNode$j(_key3);setterKey=cloneNode$j(_key3);}addProxyAccessorsFor(path.node.id,_newPath2,getterKey,setterKey,_newId,computed,_isStatic,version);}if("computed"in _element2.node&&_element2.node.computed){hasComputedKeysSideEffects||(hasComputedKeysSideEffects=!scopeParent.isStatic(_element2.node.key));}}if(!classDecorators&&!hasElementDecorators){return;}var elementDecoratorInfo=[];var constructorPath;var decoratedPrivateMethods=new Set();var classInitLocal,classIdLocal;var decoratorReceiverId=null;function handleDecoratorExpressions(expressions){var hasSideEffects=false;var usesFnContext=false;var decoratorsThis=[];for(var _iterator5=_createForOfIteratorHelperLoose(expressions),_step5;!(_step5=_iterator5()).done;){var expression=_step5.value;var object=void 0;if((version==="2023-11"||version==="2023-05")&&isMemberExpression$9(expression)){if(isSuper$3(expression.object)){object=thisExpression$4();}else if(scopeParent.isStatic(expression.object)){object=cloneNode$j(expression.object);}else{var _decoratorReceiverId;(_decoratorReceiverId=decoratorReceiverId)!=null?_decoratorReceiverId:decoratorReceiverId=generateLetUidIdentifier(scopeParent,"obj");object=assignmentExpression$d("=",cloneNode$j(decoratorReceiverId),expression.object);expression.object=cloneNode$j(decoratorReceiverId);}}decoratorsThis.push(object);hasSideEffects||(hasSideEffects=!scopeParent.isStatic(expression));usesFnContext||(usesFnContext=usesFunctionContextOrYieldAwait(expression));}return{hasSideEffects:hasSideEffects,usesFnContext:usesFnContext,decoratorsThis:decoratorsThis};}var willExtractSomeElemDecs=hasComputedKeysSideEffects||elemDecsUseFnContext||version!=="2023-11";var needsDeclaraionForClassBinding=false;var classDecorationsFlag=0;var classDecorations=[];var classDecorationsId;var computedKeyAssignments=[];if(classDecorators){classInitLocal=generateLetUidIdentifier(scopeParent,"initClass");needsDeclaraionForClassBinding=path.isClassDeclaration();var _replaceClassWithVar=replaceClassWithVar(path,className);classIdLocal=_replaceClassWithVar.id;path=_replaceClassWithVar.path;path.node.decorators=null;var decoratorExpressions=classDecorators.map(function(el){return el.expression;});var classDecsUsePrivateName=decoratorExpressions.some(usesPrivateField);var _handleDecoratorExpre=handleDecoratorExpressions(decoratorExpressions),hasSideEffects=_handleDecoratorExpre.hasSideEffects,decoratorsThis=_handleDecoratorExpre.decoratorsThis;var _generateDecorationLi=generateDecorationList(decoratorExpressions,decoratorsThis,version),haveThis=_generateDecorationLi.haveThis,decs=_generateDecorationLi.decs;classDecorationsFlag=haveThis?1:0;classDecorations=decs;if(hasSideEffects&&willExtractSomeElemDecs||classDecsUsePrivateName){classDecorationsId=memoiseExpression(arrayExpression$1(classDecorations),"classDecs",classAssignments);}if(!hasElementDecorators){for(var _iterator6=_createForOfIteratorHelperLoose(path.get("body.body")),_step6;!(_step6=_iterator6()).done;){var element=_step6.value;var node=element.node;var isComputed="computed"in node&&node.computed;if(isComputed){if(element.isClassProperty({"static":true})){if(!element.get("key").isConstantExpression()){var key=node.key;var maybeAssignment=memoiseComputedKey(key,scopeParent,scopeParent.generateUid("computedKey"));if(maybeAssignment!=null){node.key=cloneNode$j(maybeAssignment.left);computedKeyAssignments.push(maybeAssignment);}}}else if(computedKeyAssignments.length>0){prependExpressionsToComputedKey(computedKeyAssignments,element);computedKeyAssignments=[];}}}}}else{if(!path.node.id){path.node.id=path.scope.generateUidIdentifier("Class");}classIdLocal=cloneNode$j(path.node.id);}var lastInstancePrivateName;var needsInstancePrivateBrandCheck=false;var fieldInitializerExpressions=[];var staticFieldInitializerExpressions=[];if(hasElementDecorators){if(protoInitLocal){var protoInitCall=callExpression$d(cloneNode$j(protoInitLocal),[thisExpression$4()]);fieldInitializerExpressions.push(protoInitCall);}for(var _iterator7=_createForOfIteratorHelperLoose(body),_step7;!(_step7=_iterator7()).done;){var _element=_step7.value;if(!isClassDecoratableElementPath(_element)){if(staticFieldInitializerExpressions.length>0&&_element.isStaticBlock()){prependExpressionsToStaticBlock(staticFieldInitializerExpressions,_element);staticFieldInitializerExpressions=[];}continue;}var _node=_element.node;var decorators=_node.decorators;var hasDecorators=!!(decorators!=null&&decorators.length);var _isComputed="computed"in _node&&_node.computed;var _name3="computedKey";if(_node.key.type==="PrivateName"){_name3=_node.key.id.name;}else if(!_isComputed&&_node.key.type==="Identifier"){_name3=_node.key.name;}var decoratorsArray=void 0;var decoratorsHaveThis=void 0;if(hasDecorators){var _decoratorExpressions=decorators.map(function(d){return d.expression;});var _handleDecoratorExpre2=handleDecoratorExpressions(_decoratorExpressions),_hasSideEffects=_handleDecoratorExpre2.hasSideEffects,usesFnContext=_handleDecoratorExpre2.usesFnContext,_decoratorsThis=_handleDecoratorExpre2.decoratorsThis;var _generateDecorationLi2=generateDecorationList(_decoratorExpressions,_decoratorsThis,version),_decs=_generateDecorationLi2.decs,_haveThis=_generateDecorationLi2.haveThis;decoratorsHaveThis=_haveThis;decoratorsArray=_decs.length===1?_decs[0]:arrayExpression$1(_decs);if(usesFnContext||_hasSideEffects&&willExtractSomeElemDecs){decoratorsArray=memoiseExpression(decoratorsArray,_name3+"Decs",computedKeyAssignments);}}if(_isComputed){if(!_element.get("key").isConstantExpression()){var _key=_node.key;var _maybeAssignment=memoiseComputedKey(hasDecorators?createToPropertyKeyCall(state,_key):_key,scopeParent,scopeParent.generateUid("computedKey"));if(_maybeAssignment!=null){if(classDecorators&&_element.isClassProperty({"static":true})){_node.key=cloneNode$j(_maybeAssignment.left);computedKeyAssignments.push(_maybeAssignment);}else{_node.key=_maybeAssignment;}}}}var _key2=_node.key,isStatic=_node["static"];var isPrivate=_key2.type==="PrivateName";var kind=getElementKind(_element);if(isPrivate&&!isStatic){if(hasDecorators){needsInstancePrivateBrandCheck=true;}if(isClassPrivateProperty(_node)||!lastInstancePrivateName){lastInstancePrivateName=_key2;}}if(_element.isClassMethod({kind:"constructor"})){constructorPath=_element;}var locals=void 0;if(hasDecorators){var privateMethods=void 0;var nameExpr=void 0;if(_isComputed){nameExpr=getComputedKeyMemoiser(_element.get("key"));}else if(_key2.type==="PrivateName"){nameExpr=stringLiteral$8(_key2.id.name);}else if(_key2.type==="Identifier"){nameExpr=stringLiteral$8(_key2.name);}else{nameExpr=cloneNode$j(_key2);}if(kind===ACCESSOR){var _ref=_element.node,value=_ref.value;var params=version==="2023-11"&&isStatic?[]:[thisExpression$4()];if(value){params.push(cloneNode$j(value));}var newId=generateClassPrivateUid();var newFieldInitId=generateLetUidIdentifier(scopeParent,"init_"+_name3);var newValue=callExpression$d(cloneNode$j(newFieldInitId),params);var newField=generateClassProperty(newId,newValue,isStatic);var _element$replaceWith=_element.replaceWith(newField),_element$replaceWith2=_slicedToArray(_element$replaceWith,1),newPath=_element$replaceWith2[0];if(isPrivate){privateMethods=extractProxyAccessorsFor(newId,version);var getId=generateLetUidIdentifier(scopeParent,"get_"+_name3);var setId=generateLetUidIdentifier(scopeParent,"set_"+_name3);addCallAccessorsFor(version,newPath,_key2,getId,setId,isStatic);locals=[newFieldInitId,getId,setId];}else{addProxyAccessorsFor(path.node.id,newPath,cloneNode$j(_key2),isAssignmentExpression$3(_key2)?cloneNode$j(_key2.left):cloneNode$j(_key2),newId,_isComputed,isStatic,version);locals=[newFieldInitId];}}else if(kind===FIELD){var initId=generateLetUidIdentifier(scopeParent,"init_"+_name3);var valuePath=_element.get("value");var args=version==="2023-11"&&isStatic?[]:[thisExpression$4()];if(valuePath.node)args.push(valuePath.node);valuePath.replaceWith(callExpression$d(cloneNode$j(initId),args));locals=[initId];if(isPrivate){privateMethods=extractProxyAccessorsFor(_key2,version);}}else if(isPrivate){var callId=generateLetUidIdentifier(scopeParent,"call_"+_name3);locals=[callId];var replaceSupers=new ReplaceSupers({constantSuper:constantSuper,methodPath:_element,objectRef:classIdLocal,superRef:path.node.superClass,file:state.file,refToPreserve:classIdLocal});replaceSupers.replace();privateMethods=[createFunctionExpressionFromPrivateMethod(_element.node)];if(kind===GETTER||kind===SETTER){movePrivateAccessor(_element,cloneNode$j(_key2),cloneNode$j(callId),isStatic);}else{var _node2=_element.node;path.node.body.body.unshift(classPrivateProperty(_key2,cloneNode$j(callId),[],_node2["static"]));decoratedPrivateMethods.add(_key2.id.name);_element.remove();}}elementDecoratorInfo.push({kind:kind,decoratorsArray:decoratorsArray,decoratorsHaveThis:decoratorsHaveThis,name:nameExpr,isStatic:isStatic,privateMethods:privateMethods,locals:locals});if(_element.node){_element.node.decorators=null;}}if(_isComputed&&computedKeyAssignments.length>0){if(classDecorators&&_element.isClassProperty({"static":true}));else{prependExpressionsToComputedKey(computedKeyAssignments,kind===ACCESSOR?_element.getNextSibling():_element);computedKeyAssignments=[];}}if(fieldInitializerExpressions.length>0&&!isStatic&&(kind===FIELD||kind===ACCESSOR)){prependExpressionsToFieldInitializer(fieldInitializerExpressions,_element);fieldInitializerExpressions=[];}if(staticFieldInitializerExpressions.length>0&&isStatic&&(kind===FIELD||kind===ACCESSOR)){prependExpressionsToFieldInitializer(staticFieldInitializerExpressions,_element);staticFieldInitializerExpressions=[];}if(hasDecorators&&version==="2023-11"){if(kind===FIELD||kind===ACCESSOR){var initExtraId=generateLetUidIdentifier(scopeParent,"init_extra_"+_name3);locals.push(initExtraId);var initExtraCall=callExpression$d(cloneNode$j(initExtraId),isStatic?[]:[thisExpression$4()]);if(!isStatic){fieldInitializerExpressions.push(initExtraCall);}else{staticFieldInitializerExpressions.push(initExtraCall);}}}}}if(computedKeyAssignments.length>0){var elements=path.get("body.body");var lastComputedElement;for(var i=elements.length-1;i>=0;i--){var _path=elements[i];var _node3=_path.node;if(_node3.computed){if(classDecorators&&isClassProperty(_node3,{"static":true})){continue;}lastComputedElement=_path;break;}}if(lastComputedElement!=null){appendExpressionsToComputedKey(computedKeyAssignments,lastComputedElement);computedKeyAssignments=[];}}if(fieldInitializerExpressions.length>0){var isDerivedClass=!!path.node.superClass;if(constructorPath){if(isDerivedClass){insertExpressionsAfterSuperCallAndOptimize(fieldInitializerExpressions,constructorPath,protoInitLocal);}else{prependExpressionsToConstructor(fieldInitializerExpressions,constructorPath);}}else{path.node.body.body.unshift(createConstructorFromExpressions(fieldInitializerExpressions,isDerivedClass));}fieldInitializerExpressions=[];}if(staticFieldInitializerExpressions.length>0){path.node.body.body.push(createStaticBlockFromExpressions(staticFieldInitializerExpressions));staticFieldInitializerExpressions=[];}var sortedElementDecoratorInfo=toSortedDecoratorInfo(elementDecoratorInfo);var elementDecorations=generateDecorationExprs(version==="2023-11"?elementDecoratorInfo:sortedElementDecoratorInfo,version);var elementLocals=extractElementLocalAssignments(sortedElementDecoratorInfo);if(protoInitLocal){elementLocals.push(protoInitLocal);}if(staticInitLocal){elementLocals.push(staticInitLocal);}var classLocals=[];var classInitInjected=false;var classInitCall=classInitLocal&&callExpression$d(cloneNode$j(classInitLocal),[]);var originalClassPath=path;var originalClass=path.node;var staticClosures=[];if(classDecorators){classLocals.push(classIdLocal,classInitLocal);var statics=[];path.get("body.body").forEach(function(element){if(element.isStaticBlock()){if(hasInstancePrivateAccess(element,instancePrivateNames)){var staticBlockClosureId=memoiseExpression(staticBlockToFunctionClosure(element.node),"staticBlock",staticClosures);staticFieldInitializerExpressions.push(callExpression$d(memberExpression$c(staticBlockClosureId,identifier$j("call")),[thisExpression$4()]));}else{staticFieldInitializerExpressions.push(staticBlockToIIFE(element.node));}element.remove();return;}if((element.isClassProperty()||element.isClassPrivateProperty())&&element.node["static"]){var _valuePath=element.get("value");if(hasInstancePrivateAccess(_valuePath,instancePrivateNames)){var fieldValueClosureId=memoiseExpression(fieldInitializerToClosure(_valuePath.node),"fieldValue",staticClosures);_valuePath.replaceWith(callExpression$d(memberExpression$c(fieldValueClosureId,identifier$j("call")),[thisExpression$4()]));}if(staticFieldInitializerExpressions.length>0){prependExpressionsToFieldInitializer(staticFieldInitializerExpressions,element);staticFieldInitializerExpressions=[];}element.node["static"]=false;statics.push(element.node);element.remove();}else if(element.isClassPrivateMethod({"static":true})){if(hasInstancePrivateAccess(element,instancePrivateNames)){var _replaceSupers=new ReplaceSupers({constantSuper:constantSuper,methodPath:element,objectRef:classIdLocal,superRef:path.node.superClass,file:state.file,refToPreserve:classIdLocal});_replaceSupers.replace();var privateMethodDelegateId=memoiseExpression(createFunctionExpressionFromPrivateMethod(element.node),element.get("key.id").node.name,staticClosures);if(ignoreFunctionLength){element.node.params=[restElement$2(identifier$j("arg"))];element.node.body=blockStatement$6([returnStatement$3(callExpression$d(memberExpression$c(privateMethodDelegateId,identifier$j("apply")),[thisExpression$4(),identifier$j("arg")]))]);}else{element.node.params=element.node.params.map(function(p,i){if(isRestElement$3(p)){return restElement$2(identifier$j("arg"));}else{return identifier$j("_"+i);}});element.node.body=blockStatement$6([returnStatement$3(callExpression$d(memberExpression$c(privateMethodDelegateId,identifier$j("apply")),[thisExpression$4(),identifier$j("arguments")]))]);}}element.node["static"]=false;statics.push(element.node);element.remove();}});if(statics.length>0||staticFieldInitializerExpressions.length>0){var staticsClass=template$1.expression.ast(_templateObject5$3||(_templateObject5$3=_taggedTemplateLiteralLoose(["\n        class extends "," {}\n      "])),state.addHelper("identity"));staticsClass.body.body=[classProperty(toExpression$1(originalClass),undefined,undefined,undefined,true,true)].concat(statics);var constructorBody=[];var newExpr=newExpression(staticsClass,[]);if(staticFieldInitializerExpressions.length>0){constructorBody.push.apply(constructorBody,_toConsumableArray(staticFieldInitializerExpressions));}if(classInitCall){classInitInjected=true;constructorBody.push(classInitCall);}if(constructorBody.length>0){constructorBody.unshift(callExpression$d(_super$1(),[cloneNode$j(classIdLocal)]));staticsClass.body.body.push(createConstructorFromExpressions(constructorBody,false));}else{newExpr.arguments.push(cloneNode$j(classIdLocal));}var _path$replaceWith3=path.replaceWith(newExpr),_path$replaceWith4=_slicedToArray(_path$replaceWith3,1),_newPath=_path$replaceWith4[0];originalClassPath=_newPath.get("callee").get("body").get("body")[0].get("key");}}if(!classInitInjected&&classInitCall){path.node.body.body.push(staticBlock([expressionStatement$a(classInitCall)]));}var superClass=originalClass.superClass;if(superClass&&(version==="2023-11"||version==="2023-05")){var id=path.scope.maybeGenerateMemoised(superClass);if(id){originalClass.superClass=assignmentExpression$d("=",id,superClass);superClass=id;}}var applyDecoratorWrapper=staticBlock([]);originalClass.body.body.unshift(applyDecoratorWrapper);var applyDecsBody=applyDecoratorWrapper.body;if(computedKeyAssignments.length>0){var _elements=originalClassPath.get("body.body");var firstPublicElement;for(var _iterator8=_createForOfIteratorHelperLoose(_elements),_step8;!(_step8=_iterator8()).done;){var _path2=_step8.value;if((_path2.isClassProperty()||_path2.isClassMethod())&&_path2.node.kind!=="constructor"){firstPublicElement=_path2;break;}}if(firstPublicElement!=null){convertToComputedKey(firstPublicElement);prependExpressionsToComputedKey(computedKeyAssignments,firstPublicElement);}else{originalClass.body.body.unshift(classProperty(sequenceExpression$8([].concat(_toConsumableArray(computedKeyAssignments),[stringLiteral$8("_")])),undefined,undefined,undefined,true,true));applyDecsBody.push(expressionStatement$a(unaryExpression$6("delete",memberExpression$c(thisExpression$4(),identifier$j("_")))));}computedKeyAssignments=[];}applyDecsBody.push(expressionStatement$a(createLocalsAssignment(elementLocals,classLocals,elementDecorations,(_classDecorationsId=classDecorationsId)!=null?_classDecorationsId:arrayExpression$1(classDecorations),numericLiteral$8(classDecorationsFlag),needsInstancePrivateBrandCheck?lastInstancePrivateName:null,_typeof(className)==="object"?className:undefined,cloneNode$j(superClass),state,version)));if(staticInitLocal){applyDecsBody.push(expressionStatement$a(callExpression$d(cloneNode$j(staticInitLocal),[thisExpression$4()])));}if(staticClosures.length>0){applyDecsBody.push.apply(applyDecsBody,_toConsumableArray(staticClosures.map(function(expr){return expressionStatement$a(expr);})));}path.insertBefore(classAssignments.map(function(expr){return expressionStatement$a(expr);}));if(needsDeclaraionForClassBinding){path.insertBefore(variableDeclaration$8("let",[variableDeclarator$8(cloneNode$j(classIdLocal))]));}if(decoratedPrivateMethods.size>0){checkPrivateMethodUpdateError(path,decoratedPrivateMethods);}path.scope.crawl();return path;}function createLocalsAssignment(elementLocals,classLocals,elementDecorations,classDecorations,classDecorationsFlag,maybePrivateBrandName,setClassName,superClass,state,version){var lhs,rhs;var args=[setClassName?createSetFunctionNameCall(state,setClassName):thisExpression$4(),classDecorations,elementDecorations];{if(version!=="2023-11"){args.splice(1,2,elementDecorations,classDecorations);}if(version==="2021-12"||version==="2022-03"&&!state.availableHelper("applyDecs2203R")){lhs=arrayPattern([].concat(_toConsumableArray(elementLocals),_toConsumableArray(classLocals)));rhs=callExpression$d(state.addHelper(version==="2021-12"?"applyDecs":"applyDecs2203"),args);return assignmentExpression$d("=",lhs,rhs);}else if(version==="2022-03"){rhs=callExpression$d(state.addHelper("applyDecs2203R"),args);}else if(version==="2023-01"){if(maybePrivateBrandName){args.push(createPrivateBrandCheckClosure(maybePrivateBrandName));}rhs=callExpression$d(state.addHelper("applyDecs2301"),args);}else if(version==="2023-05"){if(maybePrivateBrandName||superClass||classDecorationsFlag.value!==0){args.push(classDecorationsFlag);}if(maybePrivateBrandName){args.push(createPrivateBrandCheckClosure(maybePrivateBrandName));}else if(superClass){args.push(unaryExpression$6("void",numericLiteral$8(0)));}if(superClass)args.push(superClass);rhs=callExpression$d(state.addHelper("applyDecs2305"),args);}}if(version==="2023-11"){if(maybePrivateBrandName||superClass||classDecorationsFlag.value!==0){args.push(classDecorationsFlag);}if(maybePrivateBrandName){args.push(createPrivateBrandCheckClosure(maybePrivateBrandName));}else if(superClass){args.push(unaryExpression$6("void",numericLiteral$8(0)));}if(superClass)args.push(superClass);rhs=callExpression$d(state.addHelper("applyDecs2311"),args);}if(elementLocals.length>0){if(classLocals.length>0){lhs=objectPattern$1([objectProperty$1(identifier$j("e"),arrayPattern(elementLocals)),objectProperty$1(identifier$j("c"),arrayPattern(classLocals))]);}else{lhs=arrayPattern(elementLocals);rhs=memberExpression$c(rhs,identifier$j("e"),false,false);}}else{lhs=arrayPattern(classLocals);rhs=memberExpression$c(rhs,identifier$j("c"),false,false);}return assignmentExpression$d("=",lhs,rhs);}function isProtoKey(node){return node.type==="Identifier"?node.name==="__proto__":node.value==="__proto__";}function isDecorated(node){return node.decorators&&node.decorators.length>0;}function shouldTransformElement(node){switch(node.type){case"ClassAccessorProperty":return true;case"ClassMethod":case"ClassProperty":case"ClassPrivateMethod":case"ClassPrivateProperty":return isDecorated(node);default:return false;}}function shouldTransformClass(node){return isDecorated(node)||node.body.body.some(shouldTransformElement);}function NamedEvaluationVisitoryFactory(isAnonymous,visitor){function handleComputedProperty(propertyPath,key,state){switch(key.type){case"StringLiteral":return stringLiteral$8(key.value);case"NumericLiteral":case"BigIntLiteral":{var keyValue=key.value+"";propertyPath.get("key").replaceWith(stringLiteral$8(keyValue));return stringLiteral$8(keyValue);}default:{var ref=propertyPath.scope.maybeGenerateMemoised(key);propertyPath.get("key").replaceWith(assignmentExpression$d("=",ref,createToPropertyKeyCall(state,key)));return cloneNode$j(ref);}}}return{VariableDeclarator:function VariableDeclarator(path,state){var id=path.node.id;if(id.type==="Identifier"){var initializer=skipTransparentExprWrappers(path.get("init"));if(isAnonymous(initializer)){var _name4=id.name;visitor(initializer,state,_name4);}}},AssignmentExpression:function AssignmentExpression(path,state){var id=path.node.left;if(id.type==="Identifier"){var initializer=skipTransparentExprWrappers(path.get("right"));if(isAnonymous(initializer)){switch(path.node.operator){case"=":case"&&=":case"||=":case"??=":visitor(initializer,state,id.name);}}}},AssignmentPattern:function AssignmentPattern(path,state){var id=path.node.left;if(id.type==="Identifier"){var initializer=skipTransparentExprWrappers(path.get("right"));if(isAnonymous(initializer)){var _name5=id.name;visitor(initializer,state,_name5);}}},ObjectExpression:function ObjectExpression(path,state){for(var _iterator9=_createForOfIteratorHelperLoose(path.get("properties")),_step9;!(_step9=_iterator9()).done;){var propertyPath=_step9.value;var node=propertyPath.node;if(node.type!=="ObjectProperty")continue;var id=node.key;var initializer=skipTransparentExprWrappers(propertyPath.get("value"));if(isAnonymous(initializer)){if(!node.computed){if(!isProtoKey(id)){if(id.type==="Identifier"){visitor(initializer,state,id.name);}else{var className=stringLiteral$8(id.value+"");visitor(initializer,state,className);}}}else{var ref=handleComputedProperty(propertyPath,id,state);visitor(initializer,state,ref);}}}},ClassPrivateProperty:function ClassPrivateProperty(path,state){var node=path.node;var initializer=skipTransparentExprWrappers(path.get("value"));if(isAnonymous(initializer)){var className=stringLiteral$8("#"+node.key.id.name);visitor(initializer,state,className);}},ClassAccessorProperty:function ClassAccessorProperty(path,state){var node=path.node;var id=node.key;var initializer=skipTransparentExprWrappers(path.get("value"));if(isAnonymous(initializer)){if(!node.computed){if(id.type==="Identifier"){visitor(initializer,state,id.name);}else if(id.type==="PrivateName"){var className=stringLiteral$8("#"+id.id.name);visitor(initializer,state,className);}else{var _className2=stringLiteral$8(id.value+"");visitor(initializer,state,_className2);}}else{var ref=handleComputedProperty(path,id,state);visitor(initializer,state,ref);}}},ClassProperty:function ClassProperty(path,state){var node=path.node;var id=node.key;var initializer=skipTransparentExprWrappers(path.get("value"));if(isAnonymous(initializer)){if(!node.computed){if(id.type==="Identifier"){visitor(initializer,state,id.name);}else{var className=stringLiteral$8(id.value+"");visitor(initializer,state,className);}}else{var ref=handleComputedProperty(path,id,state);visitor(initializer,state,ref);}}}};}function isDecoratedAnonymousClassExpression(path){return path.isClassExpression({id:null})&&shouldTransformClass(path.node);}function generateLetUidIdentifier(scope,name){var id=scope.generateUidIdentifier(name);scope.push({id:id,kind:"let"});return cloneNode$j(id);}function createDecoratorTransform(_ref2,_ref3,version,inherits){var _assumption,_assumption2;var assertVersion=_ref2.assertVersion,assumption=_ref2.assumption;var loose=_ref3.loose;{if(version==="2023-11"||version==="2023-05"||version==="2023-01"){assertVersion("*");}else if(version==="2021-12"){assertVersion("*");}else{assertVersion("*");}}var VISITED=new WeakSet();var constantSuper=(_assumption=assumption("constantSuper"))!=null?_assumption:loose;var ignoreFunctionLength=(_assumption2=assumption("ignoreFunctionLength"))!=null?_assumption2:loose;var namedEvaluationVisitor=NamedEvaluationVisitoryFactory(isDecoratedAnonymousClassExpression,visitClass);function visitClass(path,state,className){var _className3,_node$id;if(VISITED.has(path))return;var node=path.node;(_className3=className)!=null?_className3:className=(_node$id=node.id)==null?void 0:_node$id.name;var newPath=transformClass$1(path,state,constantSuper,ignoreFunctionLength,className,namedEvaluationVisitor,version);if(newPath){VISITED.add(newPath);return;}VISITED.add(path);}return{name:"proposal-decorators",inherits:inherits,visitor:Object.assign({ExportDefaultDeclaration:function ExportDefaultDeclaration(path,state){var declaration=path.node.declaration;if((declaration==null?void 0:declaration.type)==="ClassDeclaration"&&isDecorated(declaration)){var isAnonymous=!declaration.id;var updatedVarDeclarationPath=splitExportDeclaration(path);if(isAnonymous){visitClass(updatedVarDeclarationPath,state,stringLiteral$8("default"));}}},ExportNamedDeclaration:function ExportNamedDeclaration(path){var declaration=path.node.declaration;if((declaration==null?void 0:declaration.type)==="ClassDeclaration"&&isDecorated(declaration)){splitExportDeclaration(path);}},Class:function Class(path,state){visitClass(path,state,undefined);}},namedEvaluationVisitor)};}function bool$4(value){if(value==null)return false;return value&&value!=="false"&&value!=="0";}var semver$7=bool$4(browser$1$1.env["BABEL_8_BREAKING"])?requireSemver$2():requireSemver$2();var _templateObject$s,_templateObject2$e,_templateObject3$9,_templateObject4$5;function hasOwnDecorators(node){var _node$decorators;return!!((_node$decorators=node.decorators)!=null&&_node$decorators.length);}function hasDecorators(node){return hasOwnDecorators(node)||node.body.body.some(hasOwnDecorators);}function prop(key,value){if(!value)return null;return objectProperty$1(identifier$j(key),value);}function method(key,body){return objectMethod("method",identifier$j(key),[],blockStatement$6(body));}function takeDecorators(node){var result;if(node.decorators&&node.decorators.length>0){result=arrayExpression$1(node.decorators.map(function(decorator){return decorator.expression;}));}node.decorators=undefined;return result;}function getKey(node){if(node.computed){return node.key;}else if(isIdentifier$j(node.key)){return stringLiteral$8(node.key.name);}else{return stringLiteral$8(String(node.key.value));}}function extractElementDescriptor(file,classRef,superRef,path){var isMethod=path.isClassMethod();if(path.isPrivate()){throw path.buildCodeFrameError("Private "+(isMethod?"methods":"fields")+" in decorated classes are not supported yet.");}if(path.node.type==="ClassAccessorProperty"){throw path.buildCodeFrameError("Accessor properties are not supported in 2018-09 decorator transform, please specify { \"version\": \"2021-12\" } instead.");}if(path.node.type==="StaticBlock"){throw path.buildCodeFrameError("Static blocks are not supported in 2018-09 decorator transform, please specify { \"version\": \"2021-12\" } instead.");}var _ref=path,node=_ref.node,scope=_ref.scope;if(!path.isTSDeclareMethod()){new ReplaceSupers({methodPath:path,objectRef:classRef,superRef:superRef,file:file,refToPreserve:classRef}).replace();}var properties=[prop("kind",stringLiteral$8(isClassMethod(node)?node.kind:"field")),prop("decorators",takeDecorators(node)),prop("static",node["static"]&&booleanLiteral$4(true)),prop("key",getKey(node))].filter(Boolean);if(isClassMethod(node)){var id=node.computed?null:node.key;var transformed=toExpression$1(node);properties.push(prop("value",nameFunction({node:transformed,id:id,scope:scope})||transformed));}else if(isClassProperty(node)&&node.value){properties.push(method("value",template$1.statements.ast(_templateObject$s||(_templateObject$s=_taggedTemplateLiteralLoose(["return ",""])),node.value)));}else{properties.push(prop("value",scope.buildUndefinedNode()));}path.remove();return objectExpression$3(properties);}function addDecorateHelper(file){return file.addHelper("decorate");}function buildDecoratedClass(ref,path,elements,file){var node=path.node,scope=path.scope;var initializeId=scope.generateUidIdentifier("initialize");var isDeclaration=node.id&&path.isDeclaration();var isStrict=path.isInStrictMode();var superClass=node.superClass;node.type="ClassDeclaration";if(!node.id)node.id=cloneNode$j(ref);var superId;if(superClass){superId=scope.generateUidIdentifierBasedOnNode(node.superClass,"super");node.superClass=superId;}var classDecorators=takeDecorators(node);var definitions=arrayExpression$1(elements.filter(function(element){return!element.node["abstract"]&&element.node.type!=="TSIndexSignature";}).map(function(path){return extractElementDescriptor(file,node.id,superId,path);}));var wrapperCall=template$1.expression.ast(_templateObject2$e||(_templateObject2$e=_taggedTemplateLiteralLoose(["\n    ","(\n      ",",\n      function (",", ",") {\n        ","\n        return { F: ",", d: "," };\n      },\n      ","\n    )\n  "])),addDecorateHelper(file),classDecorators||nullLiteral$2(),initializeId,superClass?cloneNode$j(superId):null,node,cloneNode$j(node.id),definitions,superClass);if(!isStrict){wrapperCall.arguments[1].body.directives.push(directive$1(directiveLiteral$1("use strict")));}var replacement=wrapperCall;var classPathDesc="arguments.1.body.body.0";if(isDeclaration){replacement=template$1.statement.ast(_templateObject3$9||(_templateObject3$9=_taggedTemplateLiteralLoose(["let "," = ",""])),ref,wrapperCall);classPathDesc="declarations.0.init."+classPathDesc;}return{instanceNodes:[template$1.statement.ast(_templateObject4$5||(_templateObject4$5=_taggedTemplateLiteralLoose(["\n        ","(this)\n      "])),cloneNode$j(initializeId))],wrapClass:function wrapClass(path){path.replaceWith(replacement);return path.get(classPathDesc);}};}var FEATURES$1=Object.freeze({fields:1<<1,privateMethods:1<<2,decorators:1<<3,privateIn:1<<4,staticBlocks:1<<5});var featuresSameLoose=new Map([[FEATURES$1.fields,"@babel/plugin-transform-class-properties"],[FEATURES$1.privateMethods,"@babel/plugin-transform-private-methods"],[FEATURES$1.privateIn,"@babel/plugin-transform-private-property-in-object"]]);var featuresKey$1="@babel/plugin-class-features/featuresKey";var looseKey="@babel/plugin-class-features/looseKey";{var looseLowPriorityKey="@babel/plugin-class-features/looseLowPriorityKey/#__internal__@babel/preset-env__please-overwrite-loose-instead-of-throwing";}{var canIgnoreLoose=function canIgnoreLoose(file,feature){return!!(file.get(looseLowPriorityKey)&feature);};}function enableFeature$1(file,feature,loose){if(!hasFeature$1(file,feature)||canIgnoreLoose(file,feature)){file.set(featuresKey$1,file.get(featuresKey$1)|feature);if(loose==="#__internal__@babel/preset-env__prefer-true-but-false-is-ok-if-it-prevents-an-error"){setLoose(file,feature,true);file.set(looseLowPriorityKey,file.get(looseLowPriorityKey)|feature);}else if(loose==="#__internal__@babel/preset-env__prefer-false-but-true-is-ok-if-it-prevents-an-error"){setLoose(file,feature,false);file.set(looseLowPriorityKey,file.get(looseLowPriorityKey)|feature);}else{setLoose(file,feature,loose);}}var resolvedLoose;for(var _iterator=_createForOfIteratorHelperLoose(featuresSameLoose),_step;!(_step=_iterator()).done;){var _step$value=_slicedToArray(_step.value,2),_mask=_step$value[0],_name=_step$value[1];if(!hasFeature$1(file,_mask))continue;{if(canIgnoreLoose(file,_mask))continue;}var _loose=isLoose(file,_mask);if(resolvedLoose===!_loose){throw new Error("'loose' mode configuration must be the same for @babel/plugin-transform-class-properties, "+"@babel/plugin-transform-private-methods and "+"@babel/plugin-transform-private-property-in-object (when they are enabled)."+"\n\n"+getBabelShowConfigForHint(file));}else{resolvedLoose=_loose;{var higherPriorityPluginName=_name;}}}if(resolvedLoose!==undefined){for(var _iterator2=_createForOfIteratorHelperLoose(featuresSameLoose),_step2;!(_step2=_iterator2()).done;){var _step2$value=_slicedToArray(_step2.value,2),mask=_step2$value[0],name=_step2$value[1];if(hasFeature$1(file,mask)&&isLoose(file,mask)!==resolvedLoose){setLoose(file,mask,resolvedLoose);console.warn("Though the \"loose\" option was set to \""+!resolvedLoose+"\" in your @babel/preset-env "+("config, it will not be used for "+name+" since the \"loose\" mode option was set to ")+("\""+resolvedLoose+"\" for "+higherPriorityPluginName+".\nThe \"loose\" option must be the ")+"same for @babel/plugin-transform-class-properties, @babel/plugin-transform-private-methods "+"and @babel/plugin-transform-private-property-in-object (when they are enabled): you can "+"silence this warning by explicitly adding\n"+("\t[\""+name+"\", { \"loose\": "+resolvedLoose+" }]\n")+"to the \"plugins\" section of your Babel config."+"\n\n"+getBabelShowConfigForHint(file));}}}}function getBabelShowConfigForHint(file){var filename=file.opts.filename;if(!filename||filename==="unknown"){filename="[name of the input file]";}return"If you already set the same 'loose' mode for these plugins in your config, it's possible that they are enabled multiple times with different options.\nYou can re-run Babel with the BABEL_SHOW_CONFIG_FOR environment variable to show the loaded configuration:\n\tnpx cross-env BABEL_SHOW_CONFIG_FOR="+filename+" <your build command>\nSee https://babeljs.io/docs/configuration#print-effective-configs for more info.";}function hasFeature$1(file,feature){return!!(file.get(featuresKey$1)&feature);}function isLoose(file,feature){return!!(file.get(looseKey)&feature);}function setLoose(file,feature,loose){if(loose)file.set(looseKey,file.get(looseKey)|feature);else file.set(looseKey,file.get(looseKey)&~feature);{file.set(looseLowPriorityKey,file.get(looseLowPriorityKey)&~feature);}}function shouldTransform$2(path,file){var decoratorPath=null;var publicFieldPath=null;var privateFieldPath=null;var privateMethodPath=null;var staticBlockPath=null;if(hasOwnDecorators(path.node)){decoratorPath=path.get("decorators.0");}for(var _iterator3=_createForOfIteratorHelperLoose(path.get("body.body")),_step3;!(_step3=_iterator3()).done;){var el=_step3.value;if(!decoratorPath&&hasOwnDecorators(el.node)){decoratorPath=el.get("decorators.0");}if(!publicFieldPath&&el.isClassProperty()){publicFieldPath=el;}if(!privateFieldPath&&el.isClassPrivateProperty()){privateFieldPath=el;}if(!privateMethodPath&&el.isClassPrivateMethod!=null&&el.isClassPrivateMethod()){privateMethodPath=el;}if(!staticBlockPath&&el.isStaticBlock!=null&&el.isStaticBlock()){staticBlockPath=el;}}if(decoratorPath&&privateFieldPath){throw privateFieldPath.buildCodeFrameError("Private fields in decorated classes are not supported yet.");}if(decoratorPath&&privateMethodPath){throw privateMethodPath.buildCodeFrameError("Private methods in decorated classes are not supported yet.");}if(decoratorPath&&!hasFeature$1(file,FEATURES$1.decorators)){throw path.buildCodeFrameError("Decorators are not enabled."+"\nIf you are using "+'["@babel/plugin-proposal-decorators", { "version": "legacy" }], '+'make sure it comes *before* "@babel/plugin-transform-class-properties" '+"and enable loose mode, like so:\n"+'\t["@babel/plugin-proposal-decorators", { "version": "legacy" }]\n'+'\t["@babel/plugin-transform-class-properties", { "loose": true }]');}if(privateMethodPath&&!hasFeature$1(file,FEATURES$1.privateMethods)){throw privateMethodPath.buildCodeFrameError("Class private methods are not enabled. "+"Please add `@babel/plugin-transform-private-methods` to your configuration.");}if((publicFieldPath||privateFieldPath)&&!hasFeature$1(file,FEATURES$1.fields)&&!hasFeature$1(file,FEATURES$1.privateMethods)){throw path.buildCodeFrameError("Class fields are not enabled. "+"Please add `@babel/plugin-transform-class-properties` to your configuration.");}if(staticBlockPath&&!hasFeature$1(file,FEATURES$1.staticBlocks)){throw path.buildCodeFrameError("Static class blocks are not enabled. "+"Please add `@babel/plugin-transform-class-static-block` to your configuration.");}if(decoratorPath||privateMethodPath||staticBlockPath){return true;}if((publicFieldPath||privateFieldPath)&&hasFeature$1(file,FEATURES$1.fields)){return true;}return false;}var versionKey$1="@babel/plugin-class-features/version";function createClassFeaturePlugin(_ref){var _api$assumption;var name=_ref.name,feature=_ref.feature,loose=_ref.loose,manipulateOptions=_ref.manipulateOptions,api=_ref.api,inherits=_ref.inherits,decoratorVersion=_ref.decoratorVersion;if(feature&FEATURES$1.decorators){{if(decoratorVersion==="2023-11"||decoratorVersion==="2023-05"||decoratorVersion==="2023-01"||decoratorVersion==="2022-03"||decoratorVersion==="2021-12"){return createDecoratorTransform(api,{loose:loose},decoratorVersion,inherits);}}}{var _api;(_api=api)!=null?_api:api={assumption:function assumption(){return void 0;}};}var setPublicClassFields=api.assumption("setPublicClassFields");var privateFieldsAsSymbols=api.assumption("privateFieldsAsSymbols");var privateFieldsAsProperties=api.assumption("privateFieldsAsProperties");var noUninitializedPrivateFieldAccess=(_api$assumption=api.assumption("noUninitializedPrivateFieldAccess"))!=null?_api$assumption:false;var constantSuper=api.assumption("constantSuper");var noDocumentAll=api.assumption("noDocumentAll");if(privateFieldsAsProperties&&privateFieldsAsSymbols){throw new Error("Cannot enable both the \"privateFieldsAsProperties\" and "+"\"privateFieldsAsSymbols\" assumptions as the same time.");}var privateFieldsAsSymbolsOrProperties=privateFieldsAsProperties||privateFieldsAsSymbols;if(loose===true){var explicit=[];if(setPublicClassFields!==undefined){explicit.push("\"setPublicClassFields\"");}if(privateFieldsAsProperties!==undefined){explicit.push("\"privateFieldsAsProperties\"");}if(privateFieldsAsSymbols!==undefined){explicit.push("\"privateFieldsAsSymbols\"");}if(explicit.length!==0){console.warn("["+name+"]: You are using the \"loose: true\" option and you are"+(" explicitly setting a value for the "+explicit.join(" and "))+(" assumption"+(explicit.length>1?"s":"")+". The \"loose\" option")+" can cause incompatibilities with the other class features"+" plugins, so it's recommended that you replace it with the"+" following top-level option:\n"+"\t\"assumptions\": {\n"+"\t\t\"setPublicClassFields\": true,\n"+"\t\t\"privateFieldsAsSymbols\": true\n"+"\t}");}}return{name:name,manipulateOptions:manipulateOptions,inherits:inherits,pre:function pre(file){enableFeature$1(file,feature,loose);{if(typeof file.get(versionKey$1)==="number"){file.set(versionKey$1,"7.24.1");return;}}if(!file.get(versionKey$1)||semver$7.lt(file.get(versionKey$1),"7.24.1")){file.set(versionKey$1,"7.24.1");}},visitor:{Class:function(_Class){function Class(_x,_x2){return _Class.apply(this,arguments);}Class.toString=function(){return _Class.toString();};return Class;}(function(path,_ref2){var _ref3;var file=_ref2.file;if(file.get(versionKey$1)!=="7.24.1")return;if(!shouldTransform$2(path,file))return;var pathIsClassDeclaration=path.isClassDeclaration();if(pathIsClassDeclaration)assertFieldTransformed(path);var loose=isLoose(file,feature);var constructor;var isDecorated=hasDecorators(path.node);var props=[];var elements=[];var computedPaths=[];var privateNames=new Set();var body=path.get("body");for(var _iterator=_createForOfIteratorHelperLoose(body.get("body")),_step;!(_step=_iterator()).done;){var _path=_step.value;if((_path.isClassProperty()||_path.isClassMethod())&&_path.node.computed){computedPaths.push(_path);}if(_path.isPrivate()){var _name=_path.node.key.id.name;var getName="get "+_name;var setName="set "+_name;if(_path.isClassPrivateMethod()){if(_path.node.kind==="get"){if(privateNames.has(getName)||privateNames.has(_name)&&!privateNames.has(setName)){throw _path.buildCodeFrameError("Duplicate private field");}privateNames.add(getName).add(_name);}else if(_path.node.kind==="set"){if(privateNames.has(setName)||privateNames.has(_name)&&!privateNames.has(getName)){throw _path.buildCodeFrameError("Duplicate private field");}privateNames.add(setName).add(_name);}}else{if(privateNames.has(_name)&&!privateNames.has(getName)&&!privateNames.has(setName)||privateNames.has(_name)&&(privateNames.has(getName)||privateNames.has(setName))){throw _path.buildCodeFrameError("Duplicate private field");}privateNames.add(_name);}}if(_path.isClassMethod({kind:"constructor"})){constructor=_path;}else{elements.push(_path);if(_path.isProperty()||_path.isPrivate()||_path.isStaticBlock!=null&&_path.isStaticBlock()){props.push(_path);}}}{if(!props.length&&!isDecorated)return;}var innerBinding=path.node.id;var ref;if(!innerBinding||!pathIsClassDeclaration){nameFunction(path);ref=path.scope.generateUidIdentifier((innerBinding==null?void 0:innerBinding.name)||"Class");}var classRefForDefine=(_ref3=ref)!=null?_ref3:cloneNode$j(innerBinding);var privateNamesMap=buildPrivateNamesMap(classRefForDefine.name,privateFieldsAsSymbolsOrProperties!=null?privateFieldsAsSymbolsOrProperties:loose,props,file);var privateNamesNodes=buildPrivateNamesNodes(privateNamesMap,privateFieldsAsProperties!=null?privateFieldsAsProperties:loose,privateFieldsAsSymbols!=null?privateFieldsAsSymbols:false,file);transformPrivateNamesUsage(classRefForDefine,path,privateNamesMap,{privateFieldsAsProperties:privateFieldsAsSymbolsOrProperties!=null?privateFieldsAsSymbolsOrProperties:loose,noUninitializedPrivateFieldAccess:noUninitializedPrivateFieldAccess,noDocumentAll:noDocumentAll,innerBinding:innerBinding},file);var keysNodes,staticNodes,instanceNodes,lastInstanceNodeReturnsThis,pureStaticNodes,classBindingNode,wrapClass;{if(isDecorated){staticNodes=pureStaticNodes=keysNodes=[];var _buildDecoratedClass=buildDecoratedClass(classRefForDefine,path,elements,file);instanceNodes=_buildDecoratedClass.instanceNodes;wrapClass=_buildDecoratedClass.wrapClass;}else{keysNodes=extractComputedKeys(path,computedPaths,file);var _buildFieldsInitNodes=buildFieldsInitNodes(ref,path.node.superClass,props,privateNamesMap,file,setPublicClassFields!=null?setPublicClassFields:loose,privateFieldsAsSymbolsOrProperties!=null?privateFieldsAsSymbolsOrProperties:loose,noUninitializedPrivateFieldAccess,constantSuper!=null?constantSuper:loose,innerBinding);staticNodes=_buildFieldsInitNodes.staticNodes;pureStaticNodes=_buildFieldsInitNodes.pureStaticNodes;instanceNodes=_buildFieldsInitNodes.instanceNodes;lastInstanceNodeReturnsThis=_buildFieldsInitNodes.lastInstanceNodeReturnsThis;classBindingNode=_buildFieldsInitNodes.classBindingNode;wrapClass=_buildFieldsInitNodes.wrapClass;}}if(instanceNodes.length>0){injectInitialization(path,constructor,instanceNodes,function(referenceVisitor,state){{if(isDecorated)return;}for(var _iterator2=_createForOfIteratorHelperLoose(props),_step2;!(_step2=_iterator2()).done;){var prop=_step2.value;if(isStaticBlock!=null&&isStaticBlock(prop.node)||prop.node["static"])continue;prop.traverse(referenceVisitor,state);}},lastInstanceNodeReturnsThis);}var wrappedPath=wrapClass(path);wrappedPath.insertBefore([].concat(_toConsumableArray(privateNamesNodes),_toConsumableArray(keysNodes)));if(staticNodes.length>0){wrappedPath.insertAfter(staticNodes);}if(pureStaticNodes.length>0){wrappedPath.find(function(parent){return parent.isStatement()||parent.isDeclaration();}).insertAfter(pureStaticNodes);}if(classBindingNode!=null&&pathIsClassDeclaration){wrappedPath.insertAfter(classBindingNode);}}),ExportDefaultDeclaration:function ExportDefaultDeclaration(path,_ref4){var file=_ref4.file;{if(file.get(versionKey$1)!=="7.24.1")return;var decl=path.get("declaration");if(decl.isClassDeclaration()&&hasDecorators(decl.node)){if(decl.node.id){splitExportDeclaration(path);}else{decl.node.type="ClassExpression";}}}}}};}var proposalClassProperties=declare(function(api,options){api.assertVersion("*");return createClassFeaturePlugin({name:"transform-class-properties",api:api,feature:FEATURES$1.fields,loose:options.loose,manipulateOptions:function manipulateOptions(opts,parserOpts){parserOpts.plugins.push("classProperties","classPrivateProperties");}});});var _templateObject$r;function generateUid(scope,denyList){var name="";var uid;var i=1;do{uid=scope._generateUid(name,i);i++;}while(denyList.has(uid));return uid;}var proposalClassStaticBlock=declare(function(_ref){var t=_ref.types,template=_ref.template,assertVersion=_ref.assertVersion;_ref.version;assertVersion("*");return{name:"transform-class-static-block",inherits:undefined,pre:function pre(){enableFeature$1(this.file,FEATURES$1.staticBlocks,false);},visitor:{ClassBody:function ClassBody(classBody){var scope=classBody.scope;var privateNames=new Set();var body=classBody.get("body");for(var _iterator=_createForOfIteratorHelperLoose(body),_step;!(_step=_iterator()).done;){var path=_step.value;if(path.isPrivate()){privateNames.add(path.get("key.id").node.name);}}for(var _iterator2=_createForOfIteratorHelperLoose(body),_step2;!(_step2=_iterator2()).done;){var _path=_step2.value;if(!_path.isStaticBlock())continue;var staticBlockPrivateId=generateUid(scope,privateNames);privateNames.add(staticBlockPrivateId);var staticBlockRef=t.privateName(t.identifier(staticBlockPrivateId));var replacement=void 0;var blockBody=_path.node.body;if(blockBody.length===1&&t.isExpressionStatement(blockBody[0])){replacement=t.inheritsComments(blockBody[0].expression,blockBody[0]);}else{replacement=template.expression.ast(_templateObject$r||(_templateObject$r=_taggedTemplateLiteralLoose(["(() => { "," })()"])),blockBody);}_path.replaceWith(t.classPrivateProperty(staticBlockRef,replacement,[],true));}}}};});var buildClassDecorator=template$1.statement("\n  DECORATOR(CLASS_REF = INNER) || CLASS_REF;\n");var buildClassPrototype=template$1("\n  CLASS_REF.prototype;\n");var buildGetDescriptor=template$1("\n    Object.getOwnPropertyDescriptor(TARGET, PROPERTY);\n");var buildGetObjectInitializer=template$1("\n    (TEMP = Object.getOwnPropertyDescriptor(TARGET, PROPERTY), (TEMP = TEMP ? TEMP.value : undefined), {\n        enumerable: true,\n        configurable: true,\n        writable: true,\n        initializer: function(){\n            return TEMP;\n        }\n    })\n");var WARNING_CALLS=new WeakSet();function applyEnsureOrdering(path){var decorators=(path.isClass()?[path].concat(_toConsumableArray(path.get("body.body"))):path.get("properties")).reduce(function(acc,prop){return acc.concat(prop.node.decorators||[]);},[]);var identDecorators=decorators.filter(function(decorator){return!isIdentifier$j(decorator.expression);});if(identDecorators.length===0)return;return sequenceExpression$8(identDecorators.map(function(decorator){var expression=decorator.expression;var id=decorator.expression=path.scope.generateDeclaredUidIdentifier("dec");return assignmentExpression$d("=",id,expression);}).concat([path.node]));}function applyClassDecorators(classPath){if(!hasClassDecorators(classPath.node))return;var decorators=classPath.node.decorators||[];classPath.node.decorators=null;var name=classPath.scope.generateDeclaredUidIdentifier("class");return decorators.map(function(dec){return dec.expression;}).reverse().reduce(function(acc,decorator){return buildClassDecorator({CLASS_REF:cloneNode$j(name),DECORATOR:cloneNode$j(decorator),INNER:acc}).expression;},classPath.node);}function hasClassDecorators(classNode){var _classNode$decorators;return!!((_classNode$decorators=classNode.decorators)!=null&&_classNode$decorators.length);}function applyMethodDecorators(path,state){if(!hasMethodDecorators(path.node.body.body))return;return applyTargetDecorators(path,state,path.node.body.body);}function hasMethodDecorators(body){return body.some(function(node){var _node$decorators;return(_node$decorators=node.decorators)==null?void 0:_node$decorators.length;});}function applyObjectDecorators(path,state){if(!hasMethodDecorators(path.node.properties))return;return applyTargetDecorators(path,state,path.node.properties.filter(function(prop){return prop.type!=="SpreadElement";}));}function applyTargetDecorators(path,state,decoratedProps){var name=path.scope.generateDeclaredUidIdentifier(path.isClass()?"class":"obj");var exprs=decoratedProps.reduce(function(acc,node){var decorators=[];if(node.decorators!=null){decorators=node.decorators;node.decorators=null;}if(decorators.length===0)return acc;if(node.computed){throw path.buildCodeFrameError("Computed method/property decorators are not yet supported.");}var property=isLiteral$6(node.key)?node.key:stringLiteral$8(node.key.name);var target=path.isClass()&&!node["static"]?buildClassPrototype({CLASS_REF:name}).expression:name;if(isClassProperty(node,{"static":false})){var descriptor=path.scope.generateDeclaredUidIdentifier("descriptor");var initializer=node.value?functionExpression$2(null,[],blockStatement$6([returnStatement$3(node.value)])):nullLiteral$2();node.value=callExpression$d(state.addHelper("initializerWarningHelper"),[descriptor,thisExpression$4()]);WARNING_CALLS.add(node.value);acc.push(assignmentExpression$d("=",cloneNode$j(descriptor),callExpression$d(state.addHelper("applyDecoratedDescriptor"),[cloneNode$j(target),cloneNode$j(property),arrayExpression$1(decorators.map(function(dec){return cloneNode$j(dec.expression);})),objectExpression$3([objectProperty$1(identifier$j("configurable"),booleanLiteral$4(true)),objectProperty$1(identifier$j("enumerable"),booleanLiteral$4(true)),objectProperty$1(identifier$j("writable"),booleanLiteral$4(true)),objectProperty$1(identifier$j("initializer"),initializer)])])));}else{acc.push(callExpression$d(state.addHelper("applyDecoratedDescriptor"),[cloneNode$j(target),cloneNode$j(property),arrayExpression$1(decorators.map(function(dec){return cloneNode$j(dec.expression);})),isObjectProperty$5(node)||isClassProperty(node,{"static":true})?buildGetObjectInitializer({TEMP:path.scope.generateDeclaredUidIdentifier("init"),TARGET:cloneNode$j(target),PROPERTY:cloneNode$j(property)}).expression:buildGetDescriptor({TARGET:cloneNode$j(target),PROPERTY:cloneNode$j(property)}).expression,cloneNode$j(target)]));}return acc;},[]);return sequenceExpression$8([assignmentExpression$d("=",cloneNode$j(name),path.node),sequenceExpression$8(exprs),cloneNode$j(name)]);}function decoratedClassToExpression(_ref){var node=_ref.node,scope=_ref.scope;if(!hasClassDecorators(node)&&!hasMethodDecorators(node.body.body)){return;}var ref=node.id?cloneNode$j(node.id):scope.generateUidIdentifier("class");return variableDeclaration$8("let",[variableDeclarator$8(ref,toExpression$1(node))]);}var visitor$1={ExportDefaultDeclaration:function ExportDefaultDeclaration(path){var decl=path.get("declaration");if(!decl.isClassDeclaration())return;var replacement=decoratedClassToExpression(decl);if(replacement){var _path$replaceWithMult=path.replaceWithMultiple([replacement,exportNamedDeclaration$2(null,[exportSpecifier$2(cloneNode$j(replacement.declarations[0].id),identifier$j("default"))])]),_path$replaceWithMult2=_slicedToArray(_path$replaceWithMult,1),varDeclPath=_path$replaceWithMult2[0];if(!decl.node.id){path.scope.registerDeclaration(varDeclPath);}}},ClassDeclaration:function ClassDeclaration(path){var replacement=decoratedClassToExpression(path);if(replacement){var _path$replaceWith=path.replaceWith(replacement),_path$replaceWith2=_slicedToArray(_path$replaceWith,1),newPath=_path$replaceWith2[0];var decl=newPath.get("declarations.0");var id=decl.node.id;var binding=path.scope.getOwnBinding(id.name);binding.identifier=id;binding.path=decl;}},ClassExpression:function ClassExpression(path,state){var decoratedClass=applyEnsureOrdering(path)||applyClassDecorators(path)||applyMethodDecorators(path,state);if(decoratedClass)path.replaceWith(decoratedClass);},ObjectExpression:function ObjectExpression(path,state){var decoratedObject=applyEnsureOrdering(path)||applyObjectDecorators(path,state);if(decoratedObject)path.replaceWith(decoratedObject);},AssignmentExpression:function AssignmentExpression(path,state){if(!WARNING_CALLS.has(path.node.right))return;path.replaceWith(callExpression$d(state.addHelper("initializerDefineProperty"),[cloneNode$j(path.get("left.object").node),stringLiteral$8(path.get("left.property").node.name||path.get("left.property").node.value),cloneNode$j(path.get("right.arguments")[0].node),cloneNode$j(path.get("right.arguments")[1].node)]));},CallExpression:function CallExpression(path,state){if(path.node.arguments.length!==3)return;if(!WARNING_CALLS.has(path.node.arguments[2]))return;if(path.node.callee.name!==state.addHelper("defineProperty").name){return;}path.replaceWith(callExpression$d(state.addHelper("initializerDefineProperty"),[cloneNode$j(path.get("arguments")[0].node),cloneNode$j(path.get("arguments")[1].node),cloneNode$j(path.get("arguments.2.arguments")[0].node),cloneNode$j(path.get("arguments.2.arguments")[1].node)]));}};var proposalDecorators=declare(function(api,options){api.assertVersion("*");{var legacy=options.legacy;}var version=options.version;if(legacy||version==="legacy"){return{name:"proposal-decorators",inherits:syntaxDecorators,visitor:visitor$1};}else if(!version||version==="2018-09"||version==="2021-12"||version==="2022-03"||version==="2023-01"||version==="2023-05"||version==="2023-11"){api.assertVersion("*");return createClassFeaturePlugin({name:"proposal-decorators",api:api,feature:FEATURES$1.decorators,inherits:syntaxDecorators,decoratorVersion:version});}else{throw new Error("The '.version' option must be one of 'legacy', '2023-11', '2023-05', '2023-01', '2022-03', or '2021-12'.");}});function isPureVoid(node){return isUnaryExpression$1(node)&&node.operator==="void"&&isPureish$2(node.argument);}function unshiftForXStatementBody(statementPath,newStatements){statementPath.ensureBlock();var scope=statementPath.scope,node=statementPath.node;var bodyScopeBindings=statementPath.get("body").scope.bindings;var hasShadowedBlockScopedBindings=Object.keys(bodyScopeBindings).some(function(name){return scope.hasBinding(name);});if(hasShadowedBlockScopedBindings){node.body=blockStatement$6([].concat(_toConsumableArray(newStatements),[node.body]));}else{var _node$body$body;(_node$body$body=node.body.body).unshift.apply(_node$body$body,_toConsumableArray(newStatements));}}function hasArrayRest(pattern){return pattern.elements.some(function(elem){return isRestElement$3(elem);});}function hasObjectRest(pattern){return pattern.properties.some(function(prop){return isRestElement$3(prop);});}var STOP_TRAVERSAL={};var arrayUnpackVisitor=function arrayUnpackVisitor(node,ancestors,state){if(!ancestors.length){return;}if(isIdentifier$j(node)&&isReferenced$2(node,ancestors[ancestors.length-1].node)&&state.bindings[node.name]){state.deopt=true;throw STOP_TRAVERSAL;}};var DestructuringTransformer=function(){function DestructuringTransformer(opts){this.blockHoist=void 0;this.operator=void 0;this.arrayRefSet=void 0;this.nodes=void 0;this.scope=void 0;this.kind=void 0;this.iterableIsArray=void 0;this.arrayLikeIsIterable=void 0;this.objectRestNoSymbols=void 0;this.useBuiltIns=void 0;this.addHelper=void 0;this.blockHoist=opts.blockHoist;this.operator=opts.operator;this.arrayRefSet=new Set();this.nodes=opts.nodes||[];this.scope=opts.scope;this.kind=opts.kind;this.iterableIsArray=opts.iterableIsArray;this.arrayLikeIsIterable=opts.arrayLikeIsIterable;this.objectRestNoSymbols=opts.objectRestNoSymbols;this.useBuiltIns=opts.useBuiltIns;this.addHelper=opts.addHelper;}var _proto=DestructuringTransformer.prototype;_proto.getExtendsHelper=function getExtendsHelper(){return this.useBuiltIns?memberExpression$c(identifier$j("Object"),identifier$j("assign")):this.addHelper("extends");};_proto.buildVariableAssignment=function buildVariableAssignment(id,init){var op=this.operator;if(isMemberExpression$9(id)||isOptionalMemberExpression$3(id))op="=";var node;if(op){node=expressionStatement$a(assignmentExpression$d(op,id,cloneNode$j(init)||this.scope.buildUndefinedNode()));}else{var nodeInit;if((this.kind==="const"||this.kind==="using")&&init===null){nodeInit=this.scope.buildUndefinedNode();}else{nodeInit=cloneNode$j(init);}node=variableDeclaration$8(this.kind,[variableDeclarator$8(id,nodeInit)]);}node._blockHoist=this.blockHoist;return node;};_proto.buildVariableDeclaration=function buildVariableDeclaration(id,init){var declar=variableDeclaration$8("var",[variableDeclarator$8(cloneNode$j(id),cloneNode$j(init))]);declar._blockHoist=this.blockHoist;return declar;};_proto.push=function push(id,_init){var init=cloneNode$j(_init);if(isObjectPattern$2(id)){this.pushObjectPattern(id,init);}else if(isArrayPattern$1(id)){this.pushArrayPattern(id,init);}else if(isAssignmentPattern$5(id)){this.pushAssignmentPattern(id,init);}else{this.nodes.push(this.buildVariableAssignment(id,init));}};_proto.toArray=function toArray(node,count){if(this.iterableIsArray||isIdentifier$j(node)&&this.arrayRefSet.has(node.name)){return node;}else{return this.scope.toArray(node,count,this.arrayLikeIsIterable);}};_proto.pushAssignmentPattern=function pushAssignmentPattern(_ref,valueRef){var left=_ref.left,right=_ref.right;if(isPureVoid(valueRef)){this.push(left,right);return;}var tempId=this.scope.generateUidIdentifierBasedOnNode(valueRef);this.nodes.push(this.buildVariableDeclaration(tempId,valueRef));var tempConditional=conditionalExpression$5(binaryExpression$5("===",cloneNode$j(tempId),this.scope.buildUndefinedNode()),right,cloneNode$j(tempId));if(isPattern(left)){var patternId;var node;if(this.kind==="const"||this.kind==="let"||this.kind==="using"){patternId=this.scope.generateUidIdentifier(tempId.name);node=this.buildVariableDeclaration(patternId,tempConditional);}else{patternId=tempId;node=expressionStatement$a(assignmentExpression$d("=",cloneNode$j(tempId),tempConditional));}this.nodes.push(node);this.push(left,patternId);}else{this.nodes.push(this.buildVariableAssignment(left,tempConditional));}};_proto.pushObjectRest=function pushObjectRest(pattern,objRef,spreadProp,spreadPropIndex){var _this=this;var value=buildObjectExcludingKeys(pattern.properties.slice(0,spreadPropIndex),objRef,this.scope,function(name){return _this.addHelper(name);},this.objectRestNoSymbols,this.useBuiltIns);this.nodes.push(this.buildVariableAssignment(spreadProp.argument,value));};_proto.pushObjectProperty=function pushObjectProperty(prop,propRef){if(isLiteral$6(prop.key))prop.computed=true;var pattern=prop.value;var objRef=memberExpression$c(cloneNode$j(propRef),prop.key,prop.computed);if(isPattern(pattern)){this.push(pattern,objRef);}else{this.nodes.push(this.buildVariableAssignment(pattern,objRef));}};_proto.pushObjectPattern=function pushObjectPattern(pattern,objRef){if(!pattern.properties.length){this.nodes.push(expressionStatement$a(callExpression$d(this.addHelper("objectDestructuringEmpty"),isPureVoid(objRef)?[]:[objRef])));return;}if(pattern.properties.length>1&&!this.scope.isStatic(objRef)){var temp=this.scope.generateUidIdentifierBasedOnNode(objRef);this.nodes.push(this.buildVariableDeclaration(temp,objRef));objRef=temp;}if(hasObjectRest(pattern)){var copiedPattern;for(var i=0;i<pattern.properties.length;i++){var prop=pattern.properties[i];if(isRestElement$3(prop)){break;}var key=prop.key;if(prop.computed&&!this.scope.isPure(key)){var name=this.scope.generateUidIdentifierBasedOnNode(key);this.nodes.push(this.buildVariableDeclaration(name,key));if(!copiedPattern){copiedPattern=pattern=Object.assign({},pattern,{properties:pattern.properties.slice()});}copiedPattern.properties[i]=Object.assign({},prop,{key:name});}}}for(var _i=0;_i<pattern.properties.length;_i++){var _prop=pattern.properties[_i];if(isRestElement$3(_prop)){this.pushObjectRest(pattern,objRef,_prop,_i);}else{this.pushObjectProperty(_prop,objRef);}}};_proto.canUnpackArrayPattern=function canUnpackArrayPattern(pattern,arr){if(!isArrayExpression$2(arr))return false;if(pattern.elements.length>arr.elements.length)return;if(pattern.elements.length<arr.elements.length&&!hasArrayRest(pattern)){return false;}for(var _iterator=_createForOfIteratorHelperLoose(pattern.elements),_step;!(_step=_iterator()).done;){var elem=_step.value;if(!elem)return false;if(isMemberExpression$9(elem))return false;}for(var _iterator2=_createForOfIteratorHelperLoose(arr.elements),_step2;!(_step2=_iterator2()).done;){var _elem=_step2.value;if(isSpreadElement$1(_elem))return false;if(isCallExpression$8(_elem))return false;if(isMemberExpression$9(_elem))return false;}var bindings=getBindingIdentifiers$4(pattern);var state={deopt:false,bindings:bindings};try{traverse$2(arr,arrayUnpackVisitor,state);}catch(e){if(e!==STOP_TRAVERSAL)throw e;}return!state.deopt;};_proto.pushUnpackedArrayPattern=function pushUnpackedArrayPattern(pattern,arr){var _this2=this;var holeToUndefined=function holeToUndefined(el){return el!=null?el:_this2.scope.buildUndefinedNode();};for(var i=0;i<pattern.elements.length;i++){var elem=pattern.elements[i];if(isRestElement$3(elem)){this.push(elem.argument,arrayExpression$1(arr.elements.slice(i).map(holeToUndefined)));}else{this.push(elem,holeToUndefined(arr.elements[i]));}}};_proto.pushArrayPattern=function pushArrayPattern(pattern,arrayRef){if(arrayRef===null){this.nodes.push(expressionStatement$a(callExpression$d(this.addHelper("objectDestructuringEmpty"),[])));return;}if(!pattern.elements)return;if(this.canUnpackArrayPattern(pattern,arrayRef)){this.pushUnpackedArrayPattern(pattern,arrayRef);return;}var count=!hasArrayRest(pattern)&&pattern.elements.length;var toArray=this.toArray(arrayRef,count);if(isIdentifier$j(toArray)){arrayRef=toArray;}else{arrayRef=this.scope.generateUidIdentifierBasedOnNode(arrayRef);this.arrayRefSet.add(arrayRef.name);this.nodes.push(this.buildVariableDeclaration(arrayRef,toArray));}for(var i=0;i<pattern.elements.length;i++){var elem=pattern.elements[i];if(!elem)continue;var elemRef=void 0;if(isRestElement$3(elem)){elemRef=this.toArray(arrayRef);elemRef=callExpression$d(memberExpression$c(elemRef,identifier$j("slice")),[numericLiteral$8(i)]);this.push(elem.argument,elemRef);}else{elemRef=memberExpression$c(arrayRef,numericLiteral$8(i),true);this.push(elem,elemRef);}}};_proto.init=function init(pattern,ref){if(!isArrayExpression$2(ref)&&!isMemberExpression$9(ref)){var memo=this.scope.maybeGenerateMemoised(ref,true);if(memo){this.nodes.push(this.buildVariableDeclaration(memo,cloneNode$j(ref)));ref=memo;}}this.push(pattern,ref);return this.nodes;};return _createClass(DestructuringTransformer);}();function buildObjectExcludingKeys(excludedKeys,objRef,scope,addHelper,objectRestNoSymbols,useBuiltIns){var keys=[];var allLiteral=true;var hasTemplateLiteral=false;for(var i=0;i<excludedKeys.length;i++){var prop=excludedKeys[i];var key=prop.key;if(isIdentifier$j(key)&&!prop.computed){keys.push(stringLiteral$8(key.name));}else if(isTemplateLiteral$2(key)){keys.push(cloneNode$j(key));hasTemplateLiteral=true;}else if(isLiteral$6(key)){keys.push(stringLiteral$8(String(key.value)));}else if(isPrivateName$3(key));else{keys.push(cloneNode$j(key));allLiteral=false;}}var value;if(keys.length===0){var extendsHelper=useBuiltIns?memberExpression$c(identifier$j("Object"),identifier$j("assign")):addHelper("extends");value=callExpression$d(extendsHelper,[objectExpression$3([]),sequenceExpression$8([callExpression$d(addHelper("objectDestructuringEmpty"),[cloneNode$j(objRef)]),cloneNode$j(objRef)])]);}else{var keyExpression=arrayExpression$1(keys);if(!allLiteral){keyExpression=callExpression$d(memberExpression$c(keyExpression,identifier$j("map")),[addHelper("toPropertyKey")]);}else if(!hasTemplateLiteral&&!isProgram$1(scope.block)){var programScope=scope.getProgramParent();var id=programScope.generateUidIdentifier("excluded");programScope.push({id:id,init:keyExpression,kind:"const"});keyExpression=cloneNode$j(id);}value=callExpression$d(addHelper("objectWithoutProperties"+(objectRestNoSymbols?"Loose":"")),[cloneNode$j(objRef),keyExpression]);}return value;}function convertVariableDeclaration(path,addHelper,arrayLikeIsIterable,iterableIsArray,objectRestNoSymbols,useBuiltIns){var node=path.node,scope=path.scope;var nodeKind=node.kind;var nodeLoc=node.loc;var nodes=[];for(var i=0;i<node.declarations.length;i++){var declar=node.declarations[i];var patternId=declar.init;var pattern=declar.id;var destructuring=new DestructuringTransformer({blockHoist:node._blockHoist,nodes:nodes,scope:scope,kind:node.kind,iterableIsArray:iterableIsArray,arrayLikeIsIterable:arrayLikeIsIterable,useBuiltIns:useBuiltIns,objectRestNoSymbols:objectRestNoSymbols,addHelper:addHelper});if(isPattern(pattern)){destructuring.init(pattern,patternId);if(+i!==node.declarations.length-1){inherits$3(nodes[nodes.length-1],declar);}}else{nodes.push(inherits$3(destructuring.buildVariableAssignment(pattern,patternId),declar));}}var tail=null;var nodesOut=[];for(var _i2=0,_nodes=nodes;_i2<_nodes.length;_i2++){var _node=_nodes[_i2];if(isVariableDeclaration$4(_node)){if(tail!==null){var _tail$declarations;(_tail$declarations=tail.declarations).push.apply(_tail$declarations,_toConsumableArray(_node.declarations));continue;}else{_node.kind=nodeKind;tail=_node;}}else{tail=null;}if(!_node.loc){_node.loc=nodeLoc;}nodesOut.push(_node);}if(nodesOut.length===2&&isVariableDeclaration$4(nodesOut[0])&&isExpressionStatement$2(nodesOut[1])&&isCallExpression$8(nodesOut[1].expression)&&nodesOut[0].declarations.length===1){var expr=nodesOut[1].expression;expr.arguments=[nodesOut[0].declarations[0].init];nodesOut=[expr];}else{if(isForStatement$2(path.parent,{init:node})&&!nodesOut.some(function(v){return isVariableDeclaration$4(v);})){for(var _i3=0;_i3<nodesOut.length;_i3++){var _node2=nodesOut[_i3];if(isExpressionStatement$2(_node2)){nodesOut[_i3]=_node2.expression;}}}}if(nodesOut.length===1){path.replaceWith(nodesOut[0]);}else{path.replaceWithMultiple(nodesOut);}scope.crawl();}function convertAssignmentExpression(path,addHelper,arrayLikeIsIterable,iterableIsArray,objectRestNoSymbols,useBuiltIns){var node=path.node,scope=path.scope,parentPath=path.parentPath;var nodes=[];var destructuring=new DestructuringTransformer({operator:node.operator,scope:scope,nodes:nodes,arrayLikeIsIterable:arrayLikeIsIterable,iterableIsArray:iterableIsArray,objectRestNoSymbols:objectRestNoSymbols,useBuiltIns:useBuiltIns,addHelper:addHelper});var ref;if(!parentPath.isExpressionStatement()&&!parentPath.isSequenceExpression()||path.isCompletionRecord()){ref=scope.generateUidIdentifierBasedOnNode(node.right,"ref");nodes.push(variableDeclaration$8("var",[variableDeclarator$8(ref,node.right)]));if(isArrayExpression$2(node.right)){destructuring.arrayRefSet.add(ref.name);}}destructuring.init(node.left,ref||node.right);if(ref){if(parentPath.isArrowFunctionExpression()){path.replaceWith(blockStatement$6([]));nodes.push(returnStatement$3(cloneNode$j(ref)));}else{nodes.push(expressionStatement$a(cloneNode$j(ref)));}}path.replaceWithMultiple(nodes);scope.crawl();}function variableDeclarationHasPattern(node){for(var _iterator=_createForOfIteratorHelperLoose(node.declarations),_step;!(_step=_iterator()).done;){var declar=_step.value;if(isPattern(declar.id)){return true;}}return false;}var _transformDestructuring=declare(function(api,options){var _ref,_api$assumption,_ref2,_options$allowArrayLi,_ref3,_api$assumption2;api.assertVersion("*");var _options$useBuiltIns=options.useBuiltIns,useBuiltIns=_options$useBuiltIns===void 0?false:_options$useBuiltIns;var iterableIsArray=(_ref=(_api$assumption=api.assumption("iterableIsArray"))!=null?_api$assumption:options.loose)!=null?_ref:false;var arrayLikeIsIterable=(_ref2=(_options$allowArrayLi=options.allowArrayLike)!=null?_options$allowArrayLi:api.assumption("arrayLikeIsIterable"))!=null?_ref2:false;var objectRestNoSymbols=(_ref3=(_api$assumption2=api.assumption("objectRestNoSymbols"))!=null?_api$assumption2:options.loose)!=null?_ref3:false;return{name:"transform-destructuring",visitor:{ExportNamedDeclaration:function ExportNamedDeclaration(path){var declaration=path.get("declaration");if(!declaration.isVariableDeclaration())return;if(!variableDeclarationHasPattern(declaration.node))return;var specifiers=[];for(var _i=0,_Object$keys=Object.keys(path.getOuterBindingIdentifiers());_i<_Object$keys.length;_i++){var name=_Object$keys[_i];specifiers.push(exportSpecifier$2(identifier$j(name),identifier$j(name)));}path.replaceWith(declaration.node);path.insertAfter(exportNamedDeclaration$2(null,specifiers));path.scope.crawl();},ForXStatement:function(_ForXStatement){function ForXStatement(_x){return _ForXStatement.apply(this,arguments);}ForXStatement.toString=function(){return _ForXStatement.toString();};return ForXStatement;}(function(path){var _this=this;var node=path.node,scope=path.scope;var left=node.left;if(isPattern(left)){var temp=scope.generateUidIdentifier("ref");node.left=variableDeclaration$8("var",[variableDeclarator$8(temp)]);path.ensureBlock();var statementBody=path.node.body.body;var _nodes=[];if(statementBody.length===0&&path.isCompletionRecord()){_nodes.unshift(expressionStatement$a(scope.buildUndefinedNode()));}_nodes.unshift(expressionStatement$a(assignmentExpression$d("=",left,cloneNode$j(temp))));unshiftForXStatementBody(path,_nodes);scope.crawl();return;}if(!isVariableDeclaration$4(left))return;var pattern=left.declarations[0].id;if(!isPattern(pattern))return;var key=scope.generateUidIdentifier("ref");node.left=variableDeclaration$8(left.kind,[variableDeclarator$8(key,null)]);var nodes=[];var destructuring=new DestructuringTransformer({kind:left.kind,scope:scope,nodes:nodes,arrayLikeIsIterable:arrayLikeIsIterable,iterableIsArray:iterableIsArray,objectRestNoSymbols:objectRestNoSymbols,useBuiltIns:useBuiltIns,addHelper:function addHelper(name){return _this.addHelper(name);}});destructuring.init(pattern,key);unshiftForXStatementBody(path,nodes);scope.crawl();}),CatchClause:function CatchClause(_ref4){var _this2=this;var node=_ref4.node,scope=_ref4.scope;var pattern=node.param;if(!isPattern(pattern))return;var ref=scope.generateUidIdentifier("ref");node.param=ref;var nodes=[];var destructuring=new DestructuringTransformer({kind:"let",scope:scope,nodes:nodes,arrayLikeIsIterable:arrayLikeIsIterable,iterableIsArray:iterableIsArray,objectRestNoSymbols:objectRestNoSymbols,useBuiltIns:useBuiltIns,addHelper:function addHelper(name){return _this2.addHelper(name);}});destructuring.init(pattern,ref);node.body.body=[].concat(nodes,_toConsumableArray(node.body.body));scope.crawl();},AssignmentExpression:function(_AssignmentExpression){function AssignmentExpression(_x2,_x3){return _AssignmentExpression.apply(this,arguments);}AssignmentExpression.toString=function(){return _AssignmentExpression.toString();};return AssignmentExpression;}(function(path,state){if(!isPattern(path.node.left))return;convertAssignmentExpression(path,function(name){return state.addHelper(name);},arrayLikeIsIterable,iterableIsArray,objectRestNoSymbols,useBuiltIns);}),VariableDeclaration:function VariableDeclaration(path,state){var node=path.node,parent=path.parent;if(isForXStatement$1(parent))return;if(!parent||!path.container)return;if(!variableDeclarationHasPattern(node))return;convertVariableDeclaration(path,function(name){return state.addHelper(name);},arrayLikeIsIterable,iterableIsArray,objectRestNoSymbols,useBuiltIns);}}};});var _marked=_regeneratorRuntime().mark(traversePattern),_marked2=_regeneratorRuntime().mark(privateKeyPathIterator),_marked3=_regeneratorRuntime().mark(transformPrivateKeyDestructuring);var assignmentExpression$2=assignmentExpression$d,binaryExpression=binaryExpression$5,conditionalExpression=conditionalExpression$5,cloneNode$1=cloneNode$j,isObjectProperty$2=isObjectProperty$5,isPrivateName$1=isPrivateName$3,memberExpression$2=memberExpression$c,numericLiteral=numericLiteral$8,objectPattern=objectPattern$1,restElement=restElement$2,variableDeclarator=variableDeclarator$8,variableDeclaration=variableDeclaration$8,unaryExpression=unaryExpression$6;function buildUndefinedNode(){return unaryExpression("void",numericLiteral(0));}function transformAssignmentPattern(initializer,tempId){return conditionalExpression(binaryExpression("===",cloneNode$1(tempId),buildUndefinedNode()),initializer,cloneNode$1(tempId));}function initRestExcludingKeys(pattern){if(pattern.type==="ObjectPattern"){var properties=pattern.properties;if(properties[properties.length-1].type==="RestElement"){return[];}}return null;}function growRestExcludingKeys(excludingKeys,properties,scope){if(excludingKeys===null)return;for(var _iterator=_createForOfIteratorHelperLoose(properties),_step;!(_step=_iterator()).done;){var property=_step.value;var propertyKey=property.key;if(property.computed&&!scope.isStatic(propertyKey)){var tempId=scope.generateDeclaredUidIdentifier("m");property.key=assignmentExpression$2("=",tempId,propertyKey);excludingKeys.push({key:tempId,computed:true});}else if(propertyKey.type!=="PrivateName"){excludingKeys.push(property);}}}function buildVariableDeclarationFromParams(params,scope){var _buildAssignmentsFrom=buildAssignmentsFromPatternList(params,scope,false),elements=_buildAssignmentsFrom.elements,transformed=_buildAssignmentsFrom.transformed;return{params:elements,variableDeclaration:variableDeclaration("var",transformed.map(function(_ref){var left=_ref.left,right=_ref.right;return variableDeclarator(left,right);}))};}function buildAssignmentsFromPatternList(elements,scope,isAssignment){var newElements=[],transformed=[];for(var _iterator2=_createForOfIteratorHelperLoose(elements),_step2;!(_step2=_iterator2()).done;){var element=_step2.value;if(element===null){newElements.push(null);transformed.push(null);continue;}var tempId=scope.generateUidIdentifier("p");if(isAssignment){scope.push({id:cloneNode$1(tempId)});}if(element.type==="RestElement"){newElements.push(restElement(tempId));element=element.argument;}else{newElements.push(tempId);}if(element.type==="AssignmentPattern"){transformed.push({left:element.left,right:transformAssignmentPattern(element.right,tempId)});}else{transformed.push({left:element,right:cloneNode$1(tempId)});}}return{elements:newElements,transformed:transformed};}function traversePattern(root,visitor){var stack,item,_item,_node,_index,_depth,list,i,_list,_i;return _regeneratorRuntime().wrap(function traversePattern$(_context){while(1)switch(_context.prev=_context.next){case 0:stack=[];stack.push({node:root,index:0,depth:0});case 2:if(!((item=stack.pop())!==undefined)){_context.next=25;break;}_item=item,_node=_item.node,_index=_item.index;if(!(_node===null)){_context.next=6;break;}return _context.abrupt("continue",2);case 6:return _context.delegateYield(visitor(_node,_index,item.depth),"t0",7);case 7:_depth=item.depth+1;_context.t1=_node.type;_context.next=_context.t1==="AssignmentPattern"?11:_context.t1==="ObjectProperty"?13:_context.t1==="RestElement"?15:_context.t1==="ObjectPattern"?17:_context.t1==="ArrayPattern"?19:_context.t1==="TSParameterProperty"?21:_context.t1==="TSAsExpression"?21:_context.t1==="TSTypeAssertion"?21:_context.t1==="TSNonNullExpression"?21:22;break;case 11:stack.push({node:_node.left,index:0,depth:_depth});return _context.abrupt("break",23);case 13:stack.push({node:_node.value,index:_index,depth:item.depth});return _context.abrupt("break",23);case 15:stack.push({node:_node.argument,index:0,depth:_depth});return _context.abrupt("break",23);case 17:for(list=_node.properties,i=list.length-1;i>=0;i--){stack.push({node:list[i],index:i,depth:_depth});}return _context.abrupt("break",23);case 19:for(_list=_node.elements,_i=_list.length-1;_i>=0;_i--){stack.push({node:_list[_i],index:_i,depth:_depth});}return _context.abrupt("break",23);case 21:throw new Error("TypeScript features must first be transformed by "+"@babel/plugin-transform-typescript.\n"+"If you have already enabled that plugin (or '@babel/preset-typescript'), make sure "+"that it runs before @babel/plugin-proposal-destructuring-private.");case 22:return _context.abrupt("break",23);case 23:_context.next=2;break;case 25:case"end":return _context.stop();}},_marked);}function hasPrivateKeys(pattern){var result=false;traversePattern(pattern,_regeneratorRuntime().mark(function _callee(node){return _regeneratorRuntime().wrap(function _callee$(_context2){while(1)switch(_context2.prev=_context2.next){case 0:if(!(isObjectProperty$2(node)&&isPrivateName$1(node.key))){_context2.next=4;break;}result=true;_context2.next=4;return;case 4:case"end":return _context2.stop();}},_callee);})).next();return result;}function hasPrivateClassElement(node){return node.body.some(function(element){return isPrivateName$1(element.key);});}function privateKeyPathIterator(pattern){var indexPath;return _regeneratorRuntime().wrap(function privateKeyPathIterator$(_context4){while(1)switch(_context4.prev=_context4.next){case 0:indexPath=[];return _context4.delegateYield(traversePattern(pattern,_regeneratorRuntime().mark(function _callee2(node,index,depth){return _regeneratorRuntime().wrap(function _callee2$(_context3){while(1)switch(_context3.prev=_context3.next){case 0:indexPath[depth]=index;if(!(isObjectProperty$2(node)&&isPrivateName$1(node.key))){_context3.next=4;break;}_context3.next=4;return indexPath.slice(1,depth+1);case 4:case"end":return _context3.stop();}},_callee2);})),"t0",2);case 2:case"end":return _context4.stop();}},_marked2);}function rightWillBeReferencedOnce(left){switch(left.type){case"Identifier":case"ArrayPattern":return true;case"ObjectPattern":return left.properties.length===1;default:return false;}}function transformPrivateKeyDestructuring(left,right,scope,isAssignment,shouldPreserveCompletion,addHelper,objectRestNoSymbols,useBuiltIns){var stack,rootRight,item,_item2,restExcludingKeys,_item3,_left,_right,searchPrivateKey,_ref2,properties,indexPath,indexPathIndex,_index2,isRightSafeToReuse,tempId,_left2,_properties,propertiesSlice,nextRestExcludingKeys,property,key,computed,leftElements,leftElementsAfterIndex,_buildAssignmentsFrom2,elements,transformed,i,_transformed$;return _regeneratorRuntime().wrap(function transformPrivateKeyDestructuring$(_context5){while(1)switch(_context5.prev=_context5.next){case 0:stack=[];rootRight=right;stack.push({left:left,right:right,restExcludingKeys:initRestExcludingKeys(left)});case 3:if(!((item=stack.pop())!==undefined)){_context5.next=65;break;}_item2=item,restExcludingKeys=_item2.restExcludingKeys;_item3=item,_left=_item3.left,_right=_item3.right;searchPrivateKey=privateKeyPathIterator(_left).next();if(!searchPrivateKey.done){_context5.next=19;break;}if(!((restExcludingKeys==null?void 0:restExcludingKeys.length)>0)){_context5.next=15;break;}_ref2=_left,properties=_ref2.properties;if(properties.length===1){_left=properties[0].argument;}_context5.next=13;return{left:_left,right:buildObjectExcludingKeys(restExcludingKeys,_right,scope,addHelper,objectRestNoSymbols,useBuiltIns)};case 13:_context5.next=17;break;case 15:_context5.next=17;return{left:_left,right:_right};case 17:_context5.next=63;break;case 19:indexPath=searchPrivateKey.value;indexPathIndex=0;case 21:if(!(indexPathIndex<indexPath.length&&(_index2=indexPath[indexPathIndex])!==undefined||_left.type==="AssignmentPattern")){_context5.next=62;break;}isRightSafeToReuse=!(shouldPreserveCompletion&&_right===rootRight)&&(rightWillBeReferencedOnce(_left)||scope.isStatic(_right));if(isRightSafeToReuse){_context5.next=29;break;}tempId=scope.generateUidIdentifier("m");if(isAssignment){scope.push({id:cloneNode$1(tempId)});}_context5.next=28;return{left:tempId,right:_right};case 28:_right=cloneNode$1(tempId);case 29:_context5.t0=_left.type;_context5.next=_context5.t0==="ObjectPattern"?32:_context5.t0==="AssignmentPattern"?44:_context5.t0==="ArrayPattern"?47:58;break;case 32:_left2=_left,_properties=_left2.properties;if(!(_index2>0)){_context5.next=37;break;}propertiesSlice=_properties.slice(0,_index2);_context5.next=37;return{left:objectPattern(propertiesSlice),right:cloneNode$1(_right)};case 37:if(_index2<_properties.length-1){nextRestExcludingKeys=indexPathIndex===0?restExcludingKeys:initRestExcludingKeys(_left);growRestExcludingKeys(nextRestExcludingKeys,_properties.slice(0,_index2+1),scope);stack.push({left:objectPattern(_properties.slice(_index2+1)),right:cloneNode$1(_right),restExcludingKeys:nextRestExcludingKeys});}property=_properties[_index2];_left=property.value;key=property.key;computed=property.computed||key.type!=="Identifier"&&key.type!=="PrivateName";_right=memberExpression$2(_right,key,computed);return _context5.abrupt("break",59);case 44:_right=transformAssignmentPattern(_left.right,_right);_left=_left.left;return _context5.abrupt("break",59);case 47:leftElements=_left.elements;leftElementsAfterIndex=leftElements.splice(_index2);_buildAssignmentsFrom2=buildAssignmentsFromPatternList(leftElementsAfterIndex,scope,isAssignment),elements=_buildAssignmentsFrom2.elements,transformed=_buildAssignmentsFrom2.transformed;leftElements.push.apply(leftElements,_toConsumableArray(elements));_context5.next=53;return{left:_left,right:cloneNode$1(_right)};case 53:for(i=transformed.length-1;i>0;i--){if(transformed[i]!==null){stack.push(transformed[i]);}}_transformed$=transformed[0];_left=_transformed$.left;_right=_transformed$.right;return _context5.abrupt("break",59);case 58:return _context5.abrupt("break",59);case 59:indexPathIndex++;_context5.next=21;break;case 62:stack.push({left:_left,right:_right,restExcludingKeys:initRestExcludingKeys(_left)});case 63:_context5.next=3;break;case 65:case"end":return _context5.stop();}},_marked3);}var iifeVisitor={"ReferencedIdentifier|BindingIdentifier":function ReferencedIdentifierBindingIdentifier(path,state){var scope=path.scope,node=path.node;var name=node.name;if(name==="eval"||scope.getBinding(name)===state.scope.parent.getBinding(name)&&state.scope.hasOwnBinding(name)){state.needsOuterBinding=true;path.stop();}},"TypeAnnotation|TSTypeAnnotation|TypeParameterDeclaration|TSTypeParameterDeclaration":function TypeAnnotationTSTypeAnnotationTypeParameterDeclarationTSTypeParameterDeclaration(path){return path.skip();}};function collectShadowedParamsNames(param,functionScope,shadowedParams){for(var _i=0,_Object$keys=Object.keys(param.getBindingIdentifiers());_i<_Object$keys.length;_i++){var _functionScope$bindin;var name=_Object$keys[_i];var constantViolations=(_functionScope$bindin=functionScope.bindings[name])==null?void 0:_functionScope$bindin.constantViolations;if(constantViolations){for(var _iterator=_createForOfIteratorHelperLoose(constantViolations),_step;!(_step=_iterator()).done;){var redeclarator=_step.value;var node=redeclarator.node;switch(node.type){case"VariableDeclarator":{if(node.init===null){var declaration=redeclarator.parentPath;if(!declaration.parentPath.isFor()||declaration.parentPath.get("body")===declaration){redeclarator.remove();break;}}shadowedParams.add(name);break;}case"FunctionDeclaration":shadowedParams.add(name);break;}}}}}function buildScopeIIFE(shadowedParams,body){var args=[];var params=[];for(var _iterator2=_createForOfIteratorHelperLoose(shadowedParams),_step2;!(_step2=_iterator2()).done;){var name=_step2.value;args.push(identifier$j(name));params.push(identifier$j(name));}return returnStatement$3(callExpression$d(arrowFunctionExpression$4(params,body),args));}var _templateObject$q;var buildDefaultParam=template$1.statement("\n  let VARIABLE_NAME =\n    arguments.length > ARGUMENT_KEY && arguments[ARGUMENT_KEY] !== undefined ?\n      arguments[ARGUMENT_KEY]\n    :\n      DEFAULT_VALUE;\n");var buildLooseDefaultParam=template$1.statement("\n  if (ASSIGNMENT_IDENTIFIER === UNDEFINED) {\n    ASSIGNMENT_IDENTIFIER = DEFAULT_VALUE;\n  }\n");var buildLooseDestructuredDefaultParam=template$1.statement("\n  let ASSIGNMENT_IDENTIFIER = PARAMETER_NAME === UNDEFINED ? DEFAULT_VALUE : PARAMETER_NAME ;\n");var buildSafeArgumentsAccess=template$1.statement("\n  let $0 = arguments.length > $1 ? arguments[$1] : undefined;\n");function convertFunctionParams(path,ignoreFunctionLength,shouldTransformParam,replaceRestElement){var params=path.get("params");var isSimpleParameterList=params.every(function(param){return param.isIdentifier();});if(isSimpleParameterList)return false;var node=path.node,scope=path.scope;var body=[];var shadowedParams=new Set();for(var _iterator=_createForOfIteratorHelperLoose(params),_step;!(_step=_iterator()).done;){var _param2=_step.value;collectShadowedParamsNames(_param2,scope,shadowedParams);}var state={needsOuterBinding:false,scope:scope};if(shadowedParams.size===0){for(var _iterator2=_createForOfIteratorHelperLoose(params),_step2;!(_step2=_iterator2()).done;){var param=_step2.value;if(!param.isIdentifier())param.traverse(iifeVisitor,state);if(state.needsOuterBinding)break;}}var firstOptionalIndex=null;for(var i=0;i<params.length;i++){var _param=params[i];if(shouldTransformParam&&!shouldTransformParam(i)){continue;}var _transformedRestNodes=[];if(replaceRestElement){replaceRestElement(path,_param,_transformedRestNodes);}var paramIsAssignmentPattern=_param.isAssignmentPattern();if(paramIsAssignmentPattern&&(ignoreFunctionLength||isMethod$1(node,{kind:"set"}))){var left=_param.get("left");var right=_param.get("right");var undefinedNode=scope.buildUndefinedNode();if(left.isIdentifier()){body.push(buildLooseDefaultParam({ASSIGNMENT_IDENTIFIER:cloneNode$j(left.node),DEFAULT_VALUE:right.node,UNDEFINED:undefinedNode}));_param.replaceWith(left.node);}else if(left.isObjectPattern()||left.isArrayPattern()){var paramName=scope.generateUidIdentifier();body.push(buildLooseDestructuredDefaultParam({ASSIGNMENT_IDENTIFIER:left.node,DEFAULT_VALUE:right.node,PARAMETER_NAME:cloneNode$j(paramName),UNDEFINED:undefinedNode}));_param.replaceWith(paramName);}}else if(paramIsAssignmentPattern){if(firstOptionalIndex===null)firstOptionalIndex=i;var _left=_param.get("left");var _right=_param.get("right");var defNode=buildDefaultParam({VARIABLE_NAME:_left.node,DEFAULT_VALUE:_right.node,ARGUMENT_KEY:numericLiteral$8(i)});body.push(defNode);}else if(firstOptionalIndex!==null){var _defNode=buildSafeArgumentsAccess([_param.node,numericLiteral$8(i)]);body.push(_defNode);}else if(_param.isObjectPattern()||_param.isArrayPattern()){var uid=path.scope.generateUidIdentifier("ref");uid.typeAnnotation=_param.node.typeAnnotation;var _defNode2=variableDeclaration$8("let",[variableDeclarator$8(_param.node,uid)]);body.push(_defNode2);_param.replaceWith(cloneNode$j(uid));}if(_transformedRestNodes){for(var _iterator3=_createForOfIteratorHelperLoose(_transformedRestNodes),_step3;!(_step3=_iterator3()).done;){var transformedNode=_step3.value;body.push(transformedNode);}}}if(firstOptionalIndex!==null){node.params=node.params.slice(0,firstOptionalIndex);}path.ensureBlock();var async=node.async,generator=node.generator;if(generator||state.needsOuterBinding||shadowedParams.size>0){body.push(buildScopeIIFE(shadowedParams,path.node.body));path.set("body",blockStatement$6(body));var bodyPath=path.get("body.body");var arrowPath=bodyPath[bodyPath.length-1].get("argument.callee");arrowPath.arrowFunctionToExpression();arrowPath.node.generator=generator;arrowPath.node.async=async;node.generator=false;node.async=false;if(async){path.node.body=template$1.statement.ast(_templateObject$q||(_templateObject$q=_taggedTemplateLiteralLoose(["{\n        try {\n          ","\n        } catch (e) {\n          return Promise.reject(e);\n        }\n      }"])),path.node.body.body);}}else{path.get("body").unshiftContainer("body",body);}return true;}var buildRest=template$1.statement("\n  for (var LEN = ARGUMENTS.length,\n           ARRAY = new Array(ARRAY_LEN),\n           KEY = START;\n       KEY < LEN;\n       KEY++) {\n    ARRAY[ARRAY_KEY] = ARGUMENTS[KEY];\n  }\n");var restIndex=template$1.expression("\n  (INDEX < OFFSET || ARGUMENTS.length <= INDEX) ? undefined : ARGUMENTS[INDEX]\n");var restIndexImpure=template$1.expression("\n  REF = INDEX, (REF < OFFSET || ARGUMENTS.length <= REF) ? undefined : ARGUMENTS[REF]\n");var restLength=template$1.expression("\n  ARGUMENTS.length <= OFFSET ? 0 : ARGUMENTS.length - OFFSET\n");function referencesRest(path,state){if(path.node.name===state.name){return path.scope.bindingIdentifierEquals(state.name,state.outerBinding);}return false;}var memberExpressionOptimisationVisitor={Scope:function Scope(path,state){if(!path.scope.bindingIdentifierEquals(state.name,state.outerBinding)){path.skip();}},Flow:function(_Flow){function Flow(_x){return _Flow.apply(this,arguments);}Flow.toString=function(){return _Flow.toString();};return Flow;}(function(path){if(path.isTypeCastExpression())return;path.skip();}),Function:function Function(path,state){var oldNoOptimise=state.noOptimise;state.noOptimise=true;path.traverse(memberExpressionOptimisationVisitor,state);state.noOptimise=oldNoOptimise;path.skip();},ReferencedIdentifier:function ReferencedIdentifier(path,state){var node=path.node;if(node.name==="arguments"){state.deopted=true;}if(!referencesRest(path,state))return;if(state.noOptimise){state.deopted=true;}else{var parentPath=path.parentPath;if(parentPath.listKey==="params"&&parentPath.key<state.offset){return;}if(parentPath.isMemberExpression({object:node})){var grandparentPath=parentPath.parentPath;var argsOptEligible=!state.deopted&&!(grandparentPath.isAssignmentExpression()&&parentPath.node===grandparentPath.node.left||grandparentPath.isLVal()||grandparentPath.isForXStatement()||grandparentPath.isUpdateExpression()||grandparentPath.isUnaryExpression({operator:"delete"})||(grandparentPath.isCallExpression()||grandparentPath.isNewExpression())&&parentPath.node===grandparentPath.node.callee);if(argsOptEligible){if(parentPath.node.computed){if(parentPath.get("property").isBaseType("number")){state.candidates.push({cause:"indexGetter",path:path});return;}}else if(parentPath.node.property.name==="length"){state.candidates.push({cause:"lengthGetter",path:path});return;}}}if(state.offset===0&&parentPath.isSpreadElement()){var call=parentPath.parentPath;if(call.isCallExpression()&&call.node.arguments.length===1){state.candidates.push({cause:"argSpread",path:path});return;}}state.references.push(path);}},BindingIdentifier:function BindingIdentifier(path,state){if(referencesRest(path,state)){state.deopted=true;}}};function getParamsCount(node){var count=node.params.length;if(count>0&&isIdentifier$j(node.params[0],{name:"this"})){count-=1;}return count;}function hasRest(node){var length=node.params.length;return length>0&&isRestElement$3(node.params[length-1]);}function optimiseIndexGetter(path,argsId,offset){var offsetLiteral=numericLiteral$8(offset);var index;var parent=path.parent;if(isNumericLiteral(parent.property)){index=numericLiteral$8(parent.property.value+offset);}else if(offset===0){index=parent.property;}else{index=binaryExpression$5("+",parent.property,cloneNode$j(offsetLiteral));}var scope=path.scope,parentPath=path.parentPath;if(!scope.isPure(index)){var temp=scope.generateUidIdentifierBasedOnNode(index);scope.push({id:temp,kind:"var"});parentPath.replaceWith(restIndexImpure({ARGUMENTS:argsId,OFFSET:offsetLiteral,INDEX:index,REF:cloneNode$j(temp)}));}else{parentPath.replaceWith(restIndex({ARGUMENTS:argsId,OFFSET:offsetLiteral,INDEX:index}));var replacedParentPath=parentPath;var offsetTestPath=replacedParentPath.get("test");var valRes=offsetTestPath.get("left").evaluate();if(valRes.confident){if(valRes.value===true){replacedParentPath.replaceWith(scope.buildUndefinedNode());}else{offsetTestPath.replaceWith(offsetTestPath.get("right"));}}}}function optimiseLengthGetter(path,argsId,offset){if(offset){path.parentPath.replaceWith(restLength({ARGUMENTS:argsId,OFFSET:numericLiteral$8(offset)}));}else{path.replaceWith(argsId);}}function convertFunctionRest(path){var _state$references;var node=path.node,scope=path.scope;if(!hasRest(node))return false;var restPath=path.get("params."+(node.params.length-1)+".argument");if(!restPath.isIdentifier()){var shadowedParams=new Set();collectShadowedParamsNames(restPath,path.scope,shadowedParams);var needsIIFE=shadowedParams.size>0;if(!needsIIFE){var _state={needsOuterBinding:false,scope:scope};restPath.traverse(iifeVisitor,_state);needsIIFE=_state.needsOuterBinding;}if(needsIIFE){path.ensureBlock();path.set("body",blockStatement$6([buildScopeIIFE(shadowedParams,path.node.body)]));}}var rest=restPath.node;node.params.pop();if(isPattern(rest)){var pattern=rest;rest=scope.generateUidIdentifier("ref");var declar=variableDeclaration$8("let",[variableDeclarator$8(pattern,rest)]);path.ensureBlock();node.body.body.unshift(declar);}else if(rest.name==="arguments"){scope.rename(rest.name);}var argsId=identifier$j("arguments");var paramsCount=getParamsCount(node);var state={references:[],offset:paramsCount,argumentsNode:argsId,outerBinding:scope.getBindingIdentifier(rest.name),candidates:[],name:rest.name,deopted:false};path.traverse(memberExpressionOptimisationVisitor,state);if(!state.deopted&&!state.references.length){for(var _iterator=_createForOfIteratorHelperLoose(state.candidates),_step;!(_step=_iterator()).done;){var _step$value=_step.value,_path=_step$value.path,cause=_step$value.cause;var clonedArgsId=cloneNode$j(argsId);switch(cause){case"indexGetter":optimiseIndexGetter(_path,clonedArgsId,state.offset);break;case"lengthGetter":optimiseLengthGetter(_path,clonedArgsId,state.offset);break;default:_path.replaceWith(clonedArgsId);}}return true;}(_state$references=state.references).push.apply(_state$references,_toConsumableArray(state.candidates.map(function(_ref){var path=_ref.path;return path;})));var start=numericLiteral$8(paramsCount);var key=scope.generateUidIdentifier("key");var len=scope.generateUidIdentifier("len");var arrKey,arrLen;if(paramsCount){arrKey=binaryExpression$5("-",cloneNode$j(key),cloneNode$j(start));arrLen=conditionalExpression$5(binaryExpression$5(">",cloneNode$j(len),cloneNode$j(start)),binaryExpression$5("-",cloneNode$j(len),cloneNode$j(start)),numericLiteral$8(0));}else{arrKey=identifier$j(key.name);arrLen=identifier$j(len.name);}var loop=buildRest({ARGUMENTS:argsId,ARRAY_KEY:arrKey,ARRAY_LEN:arrLen,START:start,ARRAY:rest,KEY:key,LEN:len});if(state.deopted){node.body.body.unshift(loop);}else{var target=path.getEarliestCommonAncestorFrom(state.references).getStatementParent();target.findParent(function(path){if(path.isLoop()){target=path;}else{return path.isFunction();}});target.insertBefore(loop);}return true;}var _transformParameters=declare(function(api,options){var _api$assumption,_api$assumption2;api.assertVersion("*");var ignoreFunctionLength=(_api$assumption=api.assumption("ignoreFunctionLength"))!=null?_api$assumption:options.loose;var noNewArrows=(_api$assumption2=api.assumption("noNewArrows"))!=null?_api$assumption2:true;return{name:"transform-parameters",visitor:{Function:function Function(path){if(path.isArrowFunctionExpression()&&path.get("params").some(function(param){return param.isRestElement()||param.isAssignmentPattern();})){path.arrowFunctionToExpression({allowInsertArrowWithRest:false,noNewArrows:noNewArrows});if(!path.isFunctionExpression())return;}var convertedRest=convertFunctionRest(path);var convertedParams=convertFunctionParams(path,ignoreFunctionLength);if(convertedRest||convertedParams){path.scope.crawl();}}}};});var proposalDestructuringPrivate=declare(function(_ref){var assertVersion=_ref.assertVersion,assumption=_ref.assumption,t=_ref.types;assertVersion("*");var assignmentExpression=t.assignmentExpression,assignmentPattern=t.assignmentPattern,cloneNode=t.cloneNode,expressionStatement=t.expressionStatement,isExpressionStatement=t.isExpressionStatement,isIdentifier=t.isIdentifier,isSequenceExpression=t.isSequenceExpression,sequenceExpression=t.sequenceExpression,variableDeclaration=t.variableDeclaration,variableDeclarator=t.variableDeclarator;var ignoreFunctionLength=assumption("ignoreFunctionLength");var objectRestNoSymbols=assumption("objectRestNoSymbols");var privateKeyDestructuringVisitor={Function:function Function(path){var firstPrivateIndex=path.node.params.findIndex(function(param){return hasPrivateKeys(param);});if(firstPrivateIndex===-1)return;convertFunctionParams(path,ignoreFunctionLength,function(){return false;});var node=path.node,scope=path.scope;var params=node.params;var firstAssignmentPatternIndex=ignoreFunctionLength?-1:params.findIndex(function(param){return param.type==="AssignmentPattern";});var paramsAfterIndex=params.splice(firstPrivateIndex);var _buildVariableDeclara=buildVariableDeclarationFromParams(paramsAfterIndex,scope),transformedParams=_buildVariableDeclara.params,variableDeclaration=_buildVariableDeclara.variableDeclaration;path.get("body").unshiftContainer("body",variableDeclaration);params.push.apply(params,_toConsumableArray(transformedParams));if(firstAssignmentPatternIndex>=firstPrivateIndex){params[firstAssignmentPatternIndex]=assignmentPattern(params[firstAssignmentPatternIndex],scope.buildUndefinedNode());}scope.crawl();},CatchClause:function CatchClause(path){var node=path.node,scope=path.scope;if(!hasPrivateKeys(node.param))return;var ref=scope.generateUidIdentifier("e");path.get("body").unshiftContainer("body",variableDeclaration("let",[variableDeclarator(node.param,ref)]));node.param=cloneNode(ref);scope.crawl();},ForXStatement:function ForXStatement(path){var node=path.node,scope=path.scope;var leftPath=path.get("left");if(leftPath.isVariableDeclaration()){var left=leftPath.node;if(!hasPrivateKeys(left.declarations[0].id))return;var temp=scope.generateUidIdentifier("ref");node.left=variableDeclaration(left.kind,[variableDeclarator(temp,null)]);left.declarations[0].init=cloneNode(temp);unshiftForXStatementBody(path,[left]);scope.crawl();}else if(leftPath.isPattern()){if(!hasPrivateKeys(leftPath.node))return;var _temp=scope.generateUidIdentifier("ref");node.left=variableDeclaration("const",[variableDeclarator(_temp,null)]);var assignExpr=expressionStatement(assignmentExpression("=",leftPath.node,cloneNode(_temp)));unshiftForXStatementBody(path,[assignExpr]);scope.crawl();}},VariableDeclaration:function VariableDeclaration(path,state){var scope=path.scope,node=path.node;var declarations=node.declarations;if(!declarations.some(function(declarator){return hasPrivateKeys(declarator.id);})){return;}var newDeclarations=[];for(var _iterator=_createForOfIteratorHelperLoose(declarations),_step;!(_step=_iterator()).done;){var declarator=_step.value;for(var _iterator2=_createForOfIteratorHelperLoose(transformPrivateKeyDestructuring(declarator.id,declarator.init,scope,false,false,function(name){return state.addHelper(name);},objectRestNoSymbols,true)),_step2;!(_step2=_iterator2()).done;){var _step2$value=_step2.value,left=_step2$value.left,right=_step2$value.right;newDeclarations.push(variableDeclarator(left,right));}}node.declarations=newDeclarations;scope.crawl();},AssignmentExpression:function AssignmentExpression(path,state){var node=path.node,scope=path.scope,parent=path.parent;if(!hasPrivateKeys(node.left))return;var assignments=[];var shouldPreserveCompletion=!isExpressionStatement(parent)&&!isSequenceExpression(parent)||path.isCompletionRecord();for(var _iterator3=_createForOfIteratorHelperLoose(transformPrivateKeyDestructuring(node.left,node.right,scope,true,shouldPreserveCompletion,function(name){return state.addHelper(name);},objectRestNoSymbols,true)),_step3;!(_step3=_iterator3()).done;){var _step3$value=_step3.value,_left=_step3$value.left,_right=_step3$value.right;assignments.push(assignmentExpression("=",_left,_right));}if(shouldPreserveCompletion){var _assignments$=assignments[0],left=_assignments$.left,right=_assignments$.right;if(isIdentifier(left)&&right===node.right){if(!isIdentifier(assignments[assignments.length-1].right,{name:left.name})){assignments.push(cloneNode(left));}}else{var tempId=scope.generateDeclaredUidIdentifier("m");assignments.unshift(assignmentExpression("=",tempId,cloneNode(node.right)));assignments.push(cloneNode(tempId));}}path.replaceWith(sequenceExpression(assignments));scope.crawl();}};var visitor={Class:function Class(path,state){if(!hasPrivateClassElement(path.node.body))return;path.traverse(privateKeyDestructuringVisitor,state);}};return{name:"proposal-destructuring-private",inherits:syntaxDestructuringPrivate,visitor:visitor};});var proposalDoExpressions=declare(function(api){api.assertVersion("*");return{name:"proposal-do-expressions",inherits:syntaxDoExpressions,visitor:{DoExpression:{exit:function exit(path){var node=path.node;if(node.async){return;}var body=node.body.body;if(body.length){path.replaceExpressionWithStatements(body);}else{path.replaceWith(path.scope.buildUndefinedNode());}}}}};});var Alphabetic={};var regenerate$2={exports:{}};regenerate$2.exports;(function(module,exports){(function(root){var freeExports=exports;var freeModule=module&&module.exports==freeExports&&module;var freeGlobal=_typeof(commonjsGlobal)=='object'&&commonjsGlobal;if(freeGlobal.global===freeGlobal||freeGlobal.window===freeGlobal){root=freeGlobal;}var ERRORS={'rangeOrder':"A range\u2019s `stop` value must be greater than or equal "+'to the `start` value.','codePointRange':'Invalid code point value. Code points range from '+'U+000000 to U+10FFFF.'};var HIGH_SURROGATE_MIN=0xD800;var HIGH_SURROGATE_MAX=0xDBFF;var LOW_SURROGATE_MIN=0xDC00;var LOW_SURROGATE_MAX=0xDFFF;var regexNull=/\\x00([^0123456789]|$)/g;var object={};var hasOwnProperty=object.hasOwnProperty;var extend=function extend(destination,source){var key;for(key in source){if(hasOwnProperty.call(source,key)){destination[key]=source[key];}}return destination;};var forEach=function forEach(array,callback){var index=-1;var length=array.length;while(++index<length){callback(array[index],index);}};var toString=object.toString;var isArray=function isArray(value){return toString.call(value)=='[object Array]';};var isNumber=function isNumber(value){return typeof value=='number'||toString.call(value)=='[object Number]';};var zeroes='0000';var pad=function pad(number,totalCharacters){var string=String(number);return string.length<totalCharacters?(zeroes+string).slice(-totalCharacters):string;};var hex=function hex(number){return Number(number).toString(16).toUpperCase();};var slice=[].slice;var dataFromCodePoints=function dataFromCodePoints(codePoints){var index=-1;var length=codePoints.length;var max=length-1;var result=[];var isStart=true;var tmp;var previous=0;while(++index<length){tmp=codePoints[index];if(isStart){result.push(tmp);previous=tmp;isStart=false;}else{if(tmp==previous+1){if(index!=max){previous=tmp;continue;}else{isStart=true;result.push(tmp+1);}}else{result.push(previous+1,tmp);previous=tmp;}}}if(!isStart){result.push(tmp+1);}return result;};var dataRemove=function dataRemove(data,codePoint){var index=0;var start;var end;var length=data.length;while(index<length){start=data[index];end=data[index+1];if(codePoint>=start&&codePoint<end){if(codePoint==start){if(end==start+1){data.splice(index,2);return data;}else{data[index]=codePoint+1;return data;}}else if(codePoint==end-1){data[index+1]=codePoint;return data;}else{data.splice(index,2,start,codePoint,codePoint+1,end);return data;}}index+=2;}return data;};var dataRemoveRange=function dataRemoveRange(data,rangeStart,rangeEnd){if(rangeEnd<rangeStart){throw Error(ERRORS.rangeOrder);}var index=0;var start;var end;while(index<data.length){start=data[index];end=data[index+1]-1;if(start>rangeEnd){return data;}if(rangeStart<=start&&rangeEnd>=end){data.splice(index,2);continue;}if(rangeStart>=start&&rangeEnd<end){if(rangeStart==start){data[index]=rangeEnd+1;data[index+1]=end+1;return data;}data.splice(index,2,start,rangeStart,rangeEnd+1,end+1);return data;}if(rangeStart>=start&&rangeStart<=end){data[index+1]=rangeStart;}else if(rangeEnd>=start&&rangeEnd<=end){data[index]=rangeEnd+1;return data;}index+=2;}return data;};var dataAdd=function dataAdd(data,codePoint){var index=0;var start;var end;var lastIndex=null;var length=data.length;if(codePoint<0x0||codePoint>0x10FFFF){throw RangeError(ERRORS.codePointRange);}while(index<length){start=data[index];end=data[index+1];if(codePoint>=start&&codePoint<end){return data;}if(codePoint==start-1){data[index]=codePoint;return data;}if(start>codePoint){data.splice(lastIndex!=null?lastIndex+2:0,0,codePoint,codePoint+1);return data;}if(codePoint==end){if(codePoint+1==data[index+2]){data.splice(index,4,start,data[index+3]);return data;}data[index+1]=codePoint+1;return data;}lastIndex=index;index+=2;}data.push(codePoint,codePoint+1);return data;};var dataAddData=function dataAddData(dataA,dataB){var index=0;var start;var end;var data=dataA.slice();var length=dataB.length;while(index<length){start=dataB[index];end=dataB[index+1]-1;if(start==end){data=dataAdd(data,start);}else{data=dataAddRange(data,start,end);}index+=2;}return data;};var dataRemoveData=function dataRemoveData(dataA,dataB){var index=0;var start;var end;var data=dataA.slice();var length=dataB.length;while(index<length){start=dataB[index];end=dataB[index+1]-1;if(start==end){data=dataRemove(data,start);}else{data=dataRemoveRange(data,start,end);}index+=2;}return data;};var dataAddRange=function dataAddRange(data,rangeStart,rangeEnd){if(rangeEnd<rangeStart){throw Error(ERRORS.rangeOrder);}if(rangeStart<0x0||rangeStart>0x10FFFF||rangeEnd<0x0||rangeEnd>0x10FFFF){throw RangeError(ERRORS.codePointRange);}var index=0;var start;var end;var added=false;var length=data.length;while(index<length){start=data[index];end=data[index+1];if(added){if(start==rangeEnd+1){data.splice(index-1,2);return data;}if(start>rangeEnd){return data;}if(start>=rangeStart&&start<=rangeEnd){if(end>rangeStart&&end-1<=rangeEnd){data.splice(index,2);index-=2;}else{data.splice(index-1,2);index-=2;}}}else if(start==rangeEnd+1||start==rangeEnd){data[index]=rangeStart;return data;}else if(start>rangeEnd){data.splice(index,0,rangeStart,rangeEnd+1);return data;}else if(rangeStart>=start&&rangeStart<end&&rangeEnd+1<=end){return data;}else if(rangeStart>=start&&rangeStart<end||end==rangeStart){data[index+1]=rangeEnd+1;added=true;}else if(rangeStart<=start&&rangeEnd+1>=end){data[index]=rangeStart;data[index+1]=rangeEnd+1;added=true;}index+=2;}if(!added){data.push(rangeStart,rangeEnd+1);}return data;};var dataContains=function dataContains(data,codePoint){var index=0;var length=data.length;var start=data[index];var end=data[length-1];if(length>=2){if(codePoint<start||codePoint>end){return false;}}while(index<length){start=data[index];end=data[index+1];if(codePoint>=start&&codePoint<end){return true;}index+=2;}return false;};var dataIntersection=function dataIntersection(data,codePoints){var index=0;var length=codePoints.length;var codePoint;var result=[];while(index<length){codePoint=codePoints[index];if(dataContains(data,codePoint)){result.push(codePoint);}++index;}return dataFromCodePoints(result);};var dataIsEmpty=function dataIsEmpty(data){return!data.length;};var dataIsSingleton=function dataIsSingleton(data){return data.length==2&&data[0]+1==data[1];};var dataToArray=function dataToArray(data){var index=0;var start;var end;var result=[];var length=data.length;while(index<length){start=data[index];end=data[index+1];while(start<end){result.push(start);++start;}index+=2;}return result;};var floor=Math.floor;var highSurrogate=function highSurrogate(codePoint){return parseInt(floor((codePoint-0x10000)/0x400)+HIGH_SURROGATE_MIN,10);};var lowSurrogate=function lowSurrogate(codePoint){return parseInt((codePoint-0x10000)%0x400+LOW_SURROGATE_MIN,10);};var stringFromCharCode=String.fromCharCode;var codePointToString=function codePointToString(codePoint){var string;if(codePoint==0x09){string='\\t';}else if(codePoint==0x0A){string='\\n';}else if(codePoint==0x0C){string='\\f';}else if(codePoint==0x0D){string='\\r';}else if(codePoint==0x2D){string='\\x2D';}else if(codePoint==0x5C){string='\\\\';}else if(codePoint==0x24||codePoint>=0x28&&codePoint<=0x2B||codePoint==0x2E||codePoint==0x2F||codePoint==0x3F||codePoint>=0x5B&&codePoint<=0x5E||codePoint>=0x7B&&codePoint<=0x7D){string='\\'+stringFromCharCode(codePoint);}else if(codePoint>=0x20&&codePoint<=0x7E){string=stringFromCharCode(codePoint);}else if(codePoint<=0xFF){string='\\x'+pad(hex(codePoint),2);}else{string="\\u"+pad(hex(codePoint),4);}return string;};var codePointToStringUnicode=function codePointToStringUnicode(codePoint){if(codePoint<=0xFFFF){return codePointToString(codePoint);}return"\\u{"+codePoint.toString(16).toUpperCase()+'}';};var symbolToCodePoint=function symbolToCodePoint(symbol){var length=symbol.length;var first=symbol.charCodeAt(0);var second;if(first>=HIGH_SURROGATE_MIN&&first<=HIGH_SURROGATE_MAX&&length>1){second=symbol.charCodeAt(1);return(first-HIGH_SURROGATE_MIN)*0x400+second-LOW_SURROGATE_MIN+0x10000;}return first;};var createBMPCharacterClasses=function createBMPCharacterClasses(data){var result='';var index=0;var start;var end;var length=data.length;if(dataIsSingleton(data)){return codePointToString(data[0]);}while(index<length){start=data[index];end=data[index+1]-1;if(start==end){result+=codePointToString(start);}else if(start+1==end){result+=codePointToString(start)+codePointToString(end);}else{result+=codePointToString(start)+'-'+codePointToString(end);}index+=2;}return'['+result+']';};var createUnicodeCharacterClasses=function createUnicodeCharacterClasses(data){var result='';var index=0;var start;var end;var length=data.length;if(dataIsSingleton(data)){return codePointToStringUnicode(data[0]);}while(index<length){start=data[index];end=data[index+1]-1;if(start==end){result+=codePointToStringUnicode(start);}else if(start+1==end){result+=codePointToStringUnicode(start)+codePointToStringUnicode(end);}else{result+=codePointToStringUnicode(start)+'-'+codePointToStringUnicode(end);}index+=2;}return'['+result+']';};var splitAtBMP=function splitAtBMP(data){var loneHighSurrogates=[];var loneLowSurrogates=[];var bmp=[];var astral=[];var index=0;var start;var end;var length=data.length;while(index<length){start=data[index];end=data[index+1]-1;if(start<HIGH_SURROGATE_MIN){if(end<HIGH_SURROGATE_MIN){bmp.push(start,end+1);}if(end>=HIGH_SURROGATE_MIN&&end<=HIGH_SURROGATE_MAX){bmp.push(start,HIGH_SURROGATE_MIN);loneHighSurrogates.push(HIGH_SURROGATE_MIN,end+1);}if(end>=LOW_SURROGATE_MIN&&end<=LOW_SURROGATE_MAX){bmp.push(start,HIGH_SURROGATE_MIN);loneHighSurrogates.push(HIGH_SURROGATE_MIN,HIGH_SURROGATE_MAX+1);loneLowSurrogates.push(LOW_SURROGATE_MIN,end+1);}if(end>LOW_SURROGATE_MAX){bmp.push(start,HIGH_SURROGATE_MIN);loneHighSurrogates.push(HIGH_SURROGATE_MIN,HIGH_SURROGATE_MAX+1);loneLowSurrogates.push(LOW_SURROGATE_MIN,LOW_SURROGATE_MAX+1);if(end<=0xFFFF){bmp.push(LOW_SURROGATE_MAX+1,end+1);}else{bmp.push(LOW_SURROGATE_MAX+1,0xFFFF+1);astral.push(0xFFFF+1,end+1);}}}else if(start>=HIGH_SURROGATE_MIN&&start<=HIGH_SURROGATE_MAX){if(end>=HIGH_SURROGATE_MIN&&end<=HIGH_SURROGATE_MAX){loneHighSurrogates.push(start,end+1);}if(end>=LOW_SURROGATE_MIN&&end<=LOW_SURROGATE_MAX){loneHighSurrogates.push(start,HIGH_SURROGATE_MAX+1);loneLowSurrogates.push(LOW_SURROGATE_MIN,end+1);}if(end>LOW_SURROGATE_MAX){loneHighSurrogates.push(start,HIGH_SURROGATE_MAX+1);loneLowSurrogates.push(LOW_SURROGATE_MIN,LOW_SURROGATE_MAX+1);if(end<=0xFFFF){bmp.push(LOW_SURROGATE_MAX+1,end+1);}else{bmp.push(LOW_SURROGATE_MAX+1,0xFFFF+1);astral.push(0xFFFF+1,end+1);}}}else if(start>=LOW_SURROGATE_MIN&&start<=LOW_SURROGATE_MAX){if(end>=LOW_SURROGATE_MIN&&end<=LOW_SURROGATE_MAX){loneLowSurrogates.push(start,end+1);}if(end>LOW_SURROGATE_MAX){loneLowSurrogates.push(start,LOW_SURROGATE_MAX+1);if(end<=0xFFFF){bmp.push(LOW_SURROGATE_MAX+1,end+1);}else{bmp.push(LOW_SURROGATE_MAX+1,0xFFFF+1);astral.push(0xFFFF+1,end+1);}}}else if(start>LOW_SURROGATE_MAX&&start<=0xFFFF){if(end<=0xFFFF){bmp.push(start,end+1);}else{bmp.push(start,0xFFFF+1);astral.push(0xFFFF+1,end+1);}}else{astral.push(start,end+1);}index+=2;}return{'loneHighSurrogates':loneHighSurrogates,'loneLowSurrogates':loneLowSurrogates,'bmp':bmp,'astral':astral};};var optimizeSurrogateMappings=function optimizeSurrogateMappings(surrogateMappings){var result=[];var tmpLow=[];var addLow=false;var mapping;var nextMapping;var highSurrogates;var lowSurrogates;var nextHighSurrogates;var nextLowSurrogates;var index=-1;var length=surrogateMappings.length;while(++index<length){mapping=surrogateMappings[index];nextMapping=surrogateMappings[index+1];if(!nextMapping){result.push(mapping);continue;}highSurrogates=mapping[0];lowSurrogates=mapping[1];nextHighSurrogates=nextMapping[0];nextLowSurrogates=nextMapping[1];tmpLow=lowSurrogates;while(nextHighSurrogates&&highSurrogates[0]==nextHighSurrogates[0]&&highSurrogates[1]==nextHighSurrogates[1]){if(dataIsSingleton(nextLowSurrogates)){tmpLow=dataAdd(tmpLow,nextLowSurrogates[0]);}else{tmpLow=dataAddRange(tmpLow,nextLowSurrogates[0],nextLowSurrogates[1]-1);}++index;mapping=surrogateMappings[index];highSurrogates=mapping[0];lowSurrogates=mapping[1];nextMapping=surrogateMappings[index+1];nextHighSurrogates=nextMapping&&nextMapping[0];nextLowSurrogates=nextMapping&&nextMapping[1];addLow=true;}result.push([highSurrogates,addLow?tmpLow:lowSurrogates]);addLow=false;}return optimizeByLowSurrogates(result);};var optimizeByLowSurrogates=function optimizeByLowSurrogates(surrogateMappings){if(surrogateMappings.length==1){return surrogateMappings;}var index=-1;var innerIndex=-1;while(++index<surrogateMappings.length){var mapping=surrogateMappings[index];var lowSurrogates=mapping[1];var lowSurrogateStart=lowSurrogates[0];var lowSurrogateEnd=lowSurrogates[1];innerIndex=index;while(++innerIndex<surrogateMappings.length){var otherMapping=surrogateMappings[innerIndex];var otherLowSurrogates=otherMapping[1];var otherLowSurrogateStart=otherLowSurrogates[0];var otherLowSurrogateEnd=otherLowSurrogates[1];if(lowSurrogateStart==otherLowSurrogateStart&&lowSurrogateEnd==otherLowSurrogateEnd&&otherLowSurrogates.length===2){if(dataIsSingleton(otherMapping[0])){mapping[0]=dataAdd(mapping[0],otherMapping[0][0]);}else{mapping[0]=dataAddRange(mapping[0],otherMapping[0][0],otherMapping[0][1]-1);}surrogateMappings.splice(innerIndex,1);--innerIndex;}}}return surrogateMappings;};var surrogateSet=function surrogateSet(data){if(!data.length){return[];}var index=0;var start;var end;var startHigh;var startLow;var endHigh;var endLow;var surrogateMappings=[];var length=data.length;while(index<length){start=data[index];end=data[index+1]-1;startHigh=highSurrogate(start);startLow=lowSurrogate(start);endHigh=highSurrogate(end);endLow=lowSurrogate(end);var startsWithLowestLowSurrogate=startLow==LOW_SURROGATE_MIN;var endsWithHighestLowSurrogate=endLow==LOW_SURROGATE_MAX;var complete=false;if(startHigh==endHigh||startsWithLowestLowSurrogate&&endsWithHighestLowSurrogate){surrogateMappings.push([[startHigh,endHigh+1],[startLow,endLow+1]]);complete=true;}else{surrogateMappings.push([[startHigh,startHigh+1],[startLow,LOW_SURROGATE_MAX+1]]);}if(!complete&&startHigh+1<endHigh){if(endsWithHighestLowSurrogate){surrogateMappings.push([[startHigh+1,endHigh+1],[LOW_SURROGATE_MIN,endLow+1]]);complete=true;}else{surrogateMappings.push([[startHigh+1,endHigh],[LOW_SURROGATE_MIN,LOW_SURROGATE_MAX+1]]);}}if(!complete){surrogateMappings.push([[endHigh,endHigh+1],[LOW_SURROGATE_MIN,endLow+1]]);}index+=2;}return optimizeSurrogateMappings(surrogateMappings);};var createSurrogateCharacterClasses=function createSurrogateCharacterClasses(surrogateMappings){var result=[];forEach(surrogateMappings,function(surrogateMapping){var highSurrogates=surrogateMapping[0];var lowSurrogates=surrogateMapping[1];result.push(createBMPCharacterClasses(highSurrogates)+createBMPCharacterClasses(lowSurrogates));});return result.join('|');};var createCharacterClassesFromData=function createCharacterClassesFromData(data,bmpOnly,hasUnicodeFlag){if(hasUnicodeFlag){return createUnicodeCharacterClasses(data);}var result=[];var parts=splitAtBMP(data);var loneHighSurrogates=parts.loneHighSurrogates;var loneLowSurrogates=parts.loneLowSurrogates;var bmp=parts.bmp;var astral=parts.astral;var hasLoneHighSurrogates=!dataIsEmpty(loneHighSurrogates);var hasLoneLowSurrogates=!dataIsEmpty(loneLowSurrogates);var surrogateMappings=surrogateSet(astral);if(bmpOnly){bmp=dataAddData(bmp,loneHighSurrogates);hasLoneHighSurrogates=false;bmp=dataAddData(bmp,loneLowSurrogates);hasLoneLowSurrogates=false;}if(!dataIsEmpty(bmp)){result.push(createBMPCharacterClasses(bmp));}if(surrogateMappings.length){result.push(createSurrogateCharacterClasses(surrogateMappings));}if(hasLoneHighSurrogates){result.push(createBMPCharacterClasses(loneHighSurrogates)+"(?![\\uDC00-\\uDFFF])");}if(hasLoneLowSurrogates){result.push("(?:[^\\uD800-\\uDBFF]|^)"+createBMPCharacterClasses(loneLowSurrogates));}return result.join('|');};var regenerate=function regenerate(value){if(arguments.length>1){value=slice.call(arguments);}if(this instanceof regenerate){this.data=[];return value?this.add(value):this;}return new regenerate().add(value);};regenerate.version='1.4.2';var proto=regenerate.prototype;extend(proto,{'add':function add(value){var $this=this;if(value==null){return $this;}if(value instanceof regenerate){$this.data=dataAddData($this.data,value.data);return $this;}if(arguments.length>1){value=slice.call(arguments);}if(isArray(value)){forEach(value,function(item){$this.add(item);});return $this;}$this.data=dataAdd($this.data,isNumber(value)?value:symbolToCodePoint(value));return $this;},'remove':function remove(value){var $this=this;if(value==null){return $this;}if(value instanceof regenerate){$this.data=dataRemoveData($this.data,value.data);return $this;}if(arguments.length>1){value=slice.call(arguments);}if(isArray(value)){forEach(value,function(item){$this.remove(item);});return $this;}$this.data=dataRemove($this.data,isNumber(value)?value:symbolToCodePoint(value));return $this;},'addRange':function addRange(start,end){var $this=this;$this.data=dataAddRange($this.data,isNumber(start)?start:symbolToCodePoint(start),isNumber(end)?end:symbolToCodePoint(end));return $this;},'removeRange':function removeRange(start,end){var $this=this;var startCodePoint=isNumber(start)?start:symbolToCodePoint(start);var endCodePoint=isNumber(end)?end:symbolToCodePoint(end);$this.data=dataRemoveRange($this.data,startCodePoint,endCodePoint);return $this;},'intersection':function intersection(argument){var $this=this;var array=argument instanceof regenerate?dataToArray(argument.data):argument;$this.data=dataIntersection($this.data,array);return $this;},'contains':function contains(codePoint){return dataContains(this.data,isNumber(codePoint)?codePoint:symbolToCodePoint(codePoint));},'clone':function clone(){var set=new regenerate();set.data=this.data.slice(0);return set;},'toString':function toString(options){var result=createCharacterClassesFromData(this.data,options?options.bmpOnly:false,options?options.hasUnicodeFlag:false);if(!result){return'[]';}return result.replace(regexNull,'\\0$1');},'toRegExp':function toRegExp(flags){var pattern=this.toString(flags&&flags.indexOf('u')!=-1?{'hasUnicodeFlag':true}:null);return RegExp(pattern,flags||'');},'valueOf':function valueOf(){return dataToArray(this.data);}});proto.toArray=proto.valueOf;if(freeExports&&!freeExports.nodeType){if(freeModule){freeModule.exports=regenerate;}else{freeExports.regenerate=regenerate;}}else{root.regenerate=regenerate;}})(commonjsGlobal);})(regenerate$2,regenerate$2.exports);var regenerateExports=regenerate$2.exports;var hasRequiredAlphabetic;function requireAlphabetic(){if(hasRequiredAlphabetic)return Alphabetic;hasRequiredAlphabetic=1;var set=regenerateExports(0xAA,0xB5,0xBA,0x2EC,0x2EE,0x345,0x37F,0x386,0x38C,0x559,0x5BF,0x5C7,0x6FF,0x7FA,0x9B2,0x9CE,0x9D7,0x9FC,0xA51,0xA5E,0xAD0,0xB71,0xB9C,0xBD0,0xBD7,0xC5D,0xD4E,0xDBD,0xDD6,0xE4D,0xE84,0xEA5,0xEC6,0xECD,0xF00,0x1038,0x10C7,0x10CD,0x1258,0x12C0,0x17D7,0x17DC,0x1AA7,0x1CFA,0x1F59,0x1F5B,0x1F5D,0x1FBE,0x2071,0x207F,0x2102,0x2107,0x2115,0x2124,0x2126,0x2128,0x214E,0x2D27,0x2D2D,0x2D6F,0x2E2F,0xA7D3,0xA8C5,0xA8FB,0xA9CF,0xAAC0,0xAAC2,0xFB3E,0x10808,0x1083C,0x10F27,0x110C2,0x11176,0x111DA,0x111DC,0x11237,0x11288,0x11350,0x11357,0x114C7,0x11640,0x11644,0x116B8,0x11909,0x119E1,0x11A9D,0x11C40,0x11D3A,0x11D43,0x11D98,0x11FB0,0x16FE3,0x1B132,0x1B155,0x1BC9E,0x1D4A2,0x1D4BB,0x1D546,0x1E08F,0x1E14E,0x1E947,0x1E94B,0x1EE24,0x1EE27,0x1EE39,0x1EE3B,0x1EE42,0x1EE47,0x1EE49,0x1EE4B,0x1EE54,0x1EE57,0x1EE59,0x1EE5B,0x1EE5D,0x1EE5F,0x1EE64,0x1EE7E);set.addRange(0x41,0x5A).addRange(0x61,0x7A).addRange(0xC0,0xD6).addRange(0xD8,0xF6).addRange(0xF8,0x2C1).addRange(0x2C6,0x2D1).addRange(0x2E0,0x2E4).addRange(0x370,0x374).addRange(0x376,0x377).addRange(0x37A,0x37D).addRange(0x388,0x38A).addRange(0x38E,0x3A1).addRange(0x3A3,0x3F5).addRange(0x3F7,0x481).addRange(0x48A,0x52F).addRange(0x531,0x556).addRange(0x560,0x588).addRange(0x5B0,0x5BD).addRange(0x5C1,0x5C2).addRange(0x5C4,0x5C5).addRange(0x5D0,0x5EA).addRange(0x5EF,0x5F2).addRange(0x610,0x61A).addRange(0x620,0x657).addRange(0x659,0x65F).addRange(0x66E,0x6D3).addRange(0x6D5,0x6DC).addRange(0x6E1,0x6E8).addRange(0x6ED,0x6EF).addRange(0x6FA,0x6FC).addRange(0x710,0x73F).addRange(0x74D,0x7B1).addRange(0x7CA,0x7EA).addRange(0x7F4,0x7F5).addRange(0x800,0x817).addRange(0x81A,0x82C).addRange(0x840,0x858).addRange(0x860,0x86A).addRange(0x870,0x887).addRange(0x889,0x88E).addRange(0x8A0,0x8C9).addRange(0x8D4,0x8DF).addRange(0x8E3,0x8E9).addRange(0x8F0,0x93B).addRange(0x93D,0x94C).addRange(0x94E,0x950).addRange(0x955,0x963).addRange(0x971,0x983).addRange(0x985,0x98C).addRange(0x98F,0x990).addRange(0x993,0x9A8);set.addRange(0x9AA,0x9B0).addRange(0x9B6,0x9B9).addRange(0x9BD,0x9C4).addRange(0x9C7,0x9C8).addRange(0x9CB,0x9CC).addRange(0x9DC,0x9DD).addRange(0x9DF,0x9E3).addRange(0x9F0,0x9F1).addRange(0xA01,0xA03).addRange(0xA05,0xA0A).addRange(0xA0F,0xA10).addRange(0xA13,0xA28).addRange(0xA2A,0xA30).addRange(0xA32,0xA33).addRange(0xA35,0xA36).addRange(0xA38,0xA39).addRange(0xA3E,0xA42).addRange(0xA47,0xA48).addRange(0xA4B,0xA4C).addRange(0xA59,0xA5C).addRange(0xA70,0xA75).addRange(0xA81,0xA83).addRange(0xA85,0xA8D).addRange(0xA8F,0xA91).addRange(0xA93,0xAA8).addRange(0xAAA,0xAB0).addRange(0xAB2,0xAB3).addRange(0xAB5,0xAB9).addRange(0xABD,0xAC5).addRange(0xAC7,0xAC9).addRange(0xACB,0xACC).addRange(0xAE0,0xAE3).addRange(0xAF9,0xAFC).addRange(0xB01,0xB03).addRange(0xB05,0xB0C).addRange(0xB0F,0xB10).addRange(0xB13,0xB28).addRange(0xB2A,0xB30).addRange(0xB32,0xB33).addRange(0xB35,0xB39).addRange(0xB3D,0xB44).addRange(0xB47,0xB48).addRange(0xB4B,0xB4C).addRange(0xB56,0xB57).addRange(0xB5C,0xB5D).addRange(0xB5F,0xB63).addRange(0xB82,0xB83).addRange(0xB85,0xB8A).addRange(0xB8E,0xB90).addRange(0xB92,0xB95).addRange(0xB99,0xB9A);set.addRange(0xB9E,0xB9F).addRange(0xBA3,0xBA4).addRange(0xBA8,0xBAA).addRange(0xBAE,0xBB9).addRange(0xBBE,0xBC2).addRange(0xBC6,0xBC8).addRange(0xBCA,0xBCC).addRange(0xC00,0xC0C).addRange(0xC0E,0xC10).addRange(0xC12,0xC28).addRange(0xC2A,0xC39).addRange(0xC3D,0xC44).addRange(0xC46,0xC48).addRange(0xC4A,0xC4C).addRange(0xC55,0xC56).addRange(0xC58,0xC5A).addRange(0xC60,0xC63).addRange(0xC80,0xC83).addRange(0xC85,0xC8C).addRange(0xC8E,0xC90).addRange(0xC92,0xCA8).addRange(0xCAA,0xCB3).addRange(0xCB5,0xCB9).addRange(0xCBD,0xCC4).addRange(0xCC6,0xCC8).addRange(0xCCA,0xCCC).addRange(0xCD5,0xCD6).addRange(0xCDD,0xCDE).addRange(0xCE0,0xCE3).addRange(0xCF1,0xCF3).addRange(0xD00,0xD0C).addRange(0xD0E,0xD10).addRange(0xD12,0xD3A).addRange(0xD3D,0xD44).addRange(0xD46,0xD48).addRange(0xD4A,0xD4C).addRange(0xD54,0xD57).addRange(0xD5F,0xD63).addRange(0xD7A,0xD7F).addRange(0xD81,0xD83).addRange(0xD85,0xD96).addRange(0xD9A,0xDB1).addRange(0xDB3,0xDBB).addRange(0xDC0,0xDC6).addRange(0xDCF,0xDD4).addRange(0xDD8,0xDDF).addRange(0xDF2,0xDF3).addRange(0xE01,0xE3A).addRange(0xE40,0xE46).addRange(0xE81,0xE82).addRange(0xE86,0xE8A);set.addRange(0xE8C,0xEA3).addRange(0xEA7,0xEB9).addRange(0xEBB,0xEBD).addRange(0xEC0,0xEC4).addRange(0xEDC,0xEDF).addRange(0xF40,0xF47).addRange(0xF49,0xF6C).addRange(0xF71,0xF83).addRange(0xF88,0xF97).addRange(0xF99,0xFBC).addRange(0x1000,0x1036).addRange(0x103B,0x103F).addRange(0x1050,0x108F).addRange(0x109A,0x109D).addRange(0x10A0,0x10C5).addRange(0x10D0,0x10FA).addRange(0x10FC,0x1248).addRange(0x124A,0x124D).addRange(0x1250,0x1256).addRange(0x125A,0x125D).addRange(0x1260,0x1288).addRange(0x128A,0x128D).addRange(0x1290,0x12B0).addRange(0x12B2,0x12B5).addRange(0x12B8,0x12BE).addRange(0x12C2,0x12C5).addRange(0x12C8,0x12D6).addRange(0x12D8,0x1310).addRange(0x1312,0x1315).addRange(0x1318,0x135A).addRange(0x1380,0x138F).addRange(0x13A0,0x13F5).addRange(0x13F8,0x13FD).addRange(0x1401,0x166C).addRange(0x166F,0x167F).addRange(0x1681,0x169A).addRange(0x16A0,0x16EA).addRange(0x16EE,0x16F8).addRange(0x1700,0x1713).addRange(0x171F,0x1733).addRange(0x1740,0x1753).addRange(0x1760,0x176C).addRange(0x176E,0x1770).addRange(0x1772,0x1773).addRange(0x1780,0x17B3).addRange(0x17B6,0x17C8).addRange(0x1820,0x1878).addRange(0x1880,0x18AA).addRange(0x18B0,0x18F5).addRange(0x1900,0x191E).addRange(0x1920,0x192B);set.addRange(0x1930,0x1938).addRange(0x1950,0x196D).addRange(0x1970,0x1974).addRange(0x1980,0x19AB).addRange(0x19B0,0x19C9).addRange(0x1A00,0x1A1B).addRange(0x1A20,0x1A5E).addRange(0x1A61,0x1A74).addRange(0x1ABF,0x1AC0).addRange(0x1ACC,0x1ACE).addRange(0x1B00,0x1B33).addRange(0x1B35,0x1B43).addRange(0x1B45,0x1B4C).addRange(0x1B80,0x1BA9).addRange(0x1BAC,0x1BAF).addRange(0x1BBA,0x1BE5).addRange(0x1BE7,0x1BF1).addRange(0x1C00,0x1C36).addRange(0x1C4D,0x1C4F).addRange(0x1C5A,0x1C7D).addRange(0x1C80,0x1C88).addRange(0x1C90,0x1CBA).addRange(0x1CBD,0x1CBF).addRange(0x1CE9,0x1CEC).addRange(0x1CEE,0x1CF3).addRange(0x1CF5,0x1CF6).addRange(0x1D00,0x1DBF).addRange(0x1DE7,0x1DF4).addRange(0x1E00,0x1F15).addRange(0x1F18,0x1F1D).addRange(0x1F20,0x1F45).addRange(0x1F48,0x1F4D).addRange(0x1F50,0x1F57).addRange(0x1F5F,0x1F7D).addRange(0x1F80,0x1FB4).addRange(0x1FB6,0x1FBC).addRange(0x1FC2,0x1FC4).addRange(0x1FC6,0x1FCC).addRange(0x1FD0,0x1FD3).addRange(0x1FD6,0x1FDB).addRange(0x1FE0,0x1FEC).addRange(0x1FF2,0x1FF4).addRange(0x1FF6,0x1FFC).addRange(0x2090,0x209C).addRange(0x210A,0x2113).addRange(0x2119,0x211D).addRange(0x212A,0x212D).addRange(0x212F,0x2139).addRange(0x213C,0x213F).addRange(0x2145,0x2149).addRange(0x2160,0x2188);set.addRange(0x24B6,0x24E9).addRange(0x2C00,0x2CE4).addRange(0x2CEB,0x2CEE).addRange(0x2CF2,0x2CF3).addRange(0x2D00,0x2D25).addRange(0x2D30,0x2D67).addRange(0x2D80,0x2D96).addRange(0x2DA0,0x2DA6).addRange(0x2DA8,0x2DAE).addRange(0x2DB0,0x2DB6).addRange(0x2DB8,0x2DBE).addRange(0x2DC0,0x2DC6).addRange(0x2DC8,0x2DCE).addRange(0x2DD0,0x2DD6).addRange(0x2DD8,0x2DDE).addRange(0x2DE0,0x2DFF).addRange(0x3005,0x3007).addRange(0x3021,0x3029).addRange(0x3031,0x3035).addRange(0x3038,0x303C).addRange(0x3041,0x3096).addRange(0x309D,0x309F).addRange(0x30A1,0x30FA).addRange(0x30FC,0x30FF).addRange(0x3105,0x312F).addRange(0x3131,0x318E).addRange(0x31A0,0x31BF).addRange(0x31F0,0x31FF).addRange(0x3400,0x4DBF).addRange(0x4E00,0xA48C).addRange(0xA4D0,0xA4FD).addRange(0xA500,0xA60C).addRange(0xA610,0xA61F).addRange(0xA62A,0xA62B).addRange(0xA640,0xA66E).addRange(0xA674,0xA67B).addRange(0xA67F,0xA6EF).addRange(0xA717,0xA71F).addRange(0xA722,0xA788).addRange(0xA78B,0xA7CA).addRange(0xA7D0,0xA7D1).addRange(0xA7D5,0xA7D9).addRange(0xA7F2,0xA805).addRange(0xA807,0xA827).addRange(0xA840,0xA873).addRange(0xA880,0xA8C3).addRange(0xA8F2,0xA8F7).addRange(0xA8FD,0xA8FF).addRange(0xA90A,0xA92A).addRange(0xA930,0xA952).addRange(0xA960,0xA97C);set.addRange(0xA980,0xA9B2).addRange(0xA9B4,0xA9BF).addRange(0xA9E0,0xA9EF).addRange(0xA9FA,0xA9FE).addRange(0xAA00,0xAA36).addRange(0xAA40,0xAA4D).addRange(0xAA60,0xAA76).addRange(0xAA7A,0xAABE).addRange(0xAADB,0xAADD).addRange(0xAAE0,0xAAEF).addRange(0xAAF2,0xAAF5).addRange(0xAB01,0xAB06).addRange(0xAB09,0xAB0E).addRange(0xAB11,0xAB16).addRange(0xAB20,0xAB26).addRange(0xAB28,0xAB2E).addRange(0xAB30,0xAB5A).addRange(0xAB5C,0xAB69).addRange(0xAB70,0xABEA).addRange(0xAC00,0xD7A3).addRange(0xD7B0,0xD7C6).addRange(0xD7CB,0xD7FB).addRange(0xF900,0xFA6D).addRange(0xFA70,0xFAD9).addRange(0xFB00,0xFB06).addRange(0xFB13,0xFB17).addRange(0xFB1D,0xFB28).addRange(0xFB2A,0xFB36).addRange(0xFB38,0xFB3C).addRange(0xFB40,0xFB41).addRange(0xFB43,0xFB44).addRange(0xFB46,0xFBB1).addRange(0xFBD3,0xFD3D).addRange(0xFD50,0xFD8F).addRange(0xFD92,0xFDC7).addRange(0xFDF0,0xFDFB).addRange(0xFE70,0xFE74).addRange(0xFE76,0xFEFC).addRange(0xFF21,0xFF3A).addRange(0xFF41,0xFF5A).addRange(0xFF66,0xFFBE).addRange(0xFFC2,0xFFC7).addRange(0xFFCA,0xFFCF).addRange(0xFFD2,0xFFD7).addRange(0xFFDA,0xFFDC).addRange(0x10000,0x1000B).addRange(0x1000D,0x10026).addRange(0x10028,0x1003A).addRange(0x1003C,0x1003D).addRange(0x1003F,0x1004D).addRange(0x10050,0x1005D);set.addRange(0x10080,0x100FA).addRange(0x10140,0x10174).addRange(0x10280,0x1029C).addRange(0x102A0,0x102D0).addRange(0x10300,0x1031F).addRange(0x1032D,0x1034A).addRange(0x10350,0x1037A).addRange(0x10380,0x1039D).addRange(0x103A0,0x103C3).addRange(0x103C8,0x103CF).addRange(0x103D1,0x103D5).addRange(0x10400,0x1049D).addRange(0x104B0,0x104D3).addRange(0x104D8,0x104FB).addRange(0x10500,0x10527).addRange(0x10530,0x10563).addRange(0x10570,0x1057A).addRange(0x1057C,0x1058A).addRange(0x1058C,0x10592).addRange(0x10594,0x10595).addRange(0x10597,0x105A1).addRange(0x105A3,0x105B1).addRange(0x105B3,0x105B9).addRange(0x105BB,0x105BC).addRange(0x10600,0x10736).addRange(0x10740,0x10755).addRange(0x10760,0x10767).addRange(0x10780,0x10785).addRange(0x10787,0x107B0).addRange(0x107B2,0x107BA).addRange(0x10800,0x10805).addRange(0x1080A,0x10835).addRange(0x10837,0x10838).addRange(0x1083F,0x10855).addRange(0x10860,0x10876).addRange(0x10880,0x1089E).addRange(0x108E0,0x108F2).addRange(0x108F4,0x108F5).addRange(0x10900,0x10915).addRange(0x10920,0x10939).addRange(0x10980,0x109B7).addRange(0x109BE,0x109BF).addRange(0x10A00,0x10A03).addRange(0x10A05,0x10A06).addRange(0x10A0C,0x10A13).addRange(0x10A15,0x10A17).addRange(0x10A19,0x10A35).addRange(0x10A60,0x10A7C).addRange(0x10A80,0x10A9C).addRange(0x10AC0,0x10AC7).addRange(0x10AC9,0x10AE4);set.addRange(0x10B00,0x10B35).addRange(0x10B40,0x10B55).addRange(0x10B60,0x10B72).addRange(0x10B80,0x10B91).addRange(0x10C00,0x10C48).addRange(0x10C80,0x10CB2).addRange(0x10CC0,0x10CF2).addRange(0x10D00,0x10D27).addRange(0x10E80,0x10EA9).addRange(0x10EAB,0x10EAC).addRange(0x10EB0,0x10EB1).addRange(0x10F00,0x10F1C).addRange(0x10F30,0x10F45).addRange(0x10F70,0x10F81).addRange(0x10FB0,0x10FC4).addRange(0x10FE0,0x10FF6).addRange(0x11000,0x11045).addRange(0x11071,0x11075).addRange(0x11080,0x110B8).addRange(0x110D0,0x110E8).addRange(0x11100,0x11132).addRange(0x11144,0x11147).addRange(0x11150,0x11172).addRange(0x11180,0x111BF).addRange(0x111C1,0x111C4).addRange(0x111CE,0x111CF).addRange(0x11200,0x11211).addRange(0x11213,0x11234).addRange(0x1123E,0x11241).addRange(0x11280,0x11286).addRange(0x1128A,0x1128D).addRange(0x1128F,0x1129D).addRange(0x1129F,0x112A8).addRange(0x112B0,0x112E8).addRange(0x11300,0x11303).addRange(0x11305,0x1130C).addRange(0x1130F,0x11310).addRange(0x11313,0x11328).addRange(0x1132A,0x11330).addRange(0x11332,0x11333).addRange(0x11335,0x11339).addRange(0x1133D,0x11344).addRange(0x11347,0x11348).addRange(0x1134B,0x1134C).addRange(0x1135D,0x11363).addRange(0x11400,0x11441).addRange(0x11443,0x11445).addRange(0x11447,0x1144A).addRange(0x1145F,0x11461).addRange(0x11480,0x114C1).addRange(0x114C4,0x114C5);set.addRange(0x11580,0x115B5).addRange(0x115B8,0x115BE).addRange(0x115D8,0x115DD).addRange(0x11600,0x1163E).addRange(0x11680,0x116B5).addRange(0x11700,0x1171A).addRange(0x1171D,0x1172A).addRange(0x11740,0x11746).addRange(0x11800,0x11838).addRange(0x118A0,0x118DF).addRange(0x118FF,0x11906).addRange(0x1190C,0x11913).addRange(0x11915,0x11916).addRange(0x11918,0x11935).addRange(0x11937,0x11938).addRange(0x1193B,0x1193C).addRange(0x1193F,0x11942).addRange(0x119A0,0x119A7).addRange(0x119AA,0x119D7).addRange(0x119DA,0x119DF).addRange(0x119E3,0x119E4).addRange(0x11A00,0x11A32).addRange(0x11A35,0x11A3E).addRange(0x11A50,0x11A97).addRange(0x11AB0,0x11AF8).addRange(0x11C00,0x11C08).addRange(0x11C0A,0x11C36).addRange(0x11C38,0x11C3E).addRange(0x11C72,0x11C8F).addRange(0x11C92,0x11CA7).addRange(0x11CA9,0x11CB6).addRange(0x11D00,0x11D06).addRange(0x11D08,0x11D09).addRange(0x11D0B,0x11D36).addRange(0x11D3C,0x11D3D).addRange(0x11D3F,0x11D41).addRange(0x11D46,0x11D47).addRange(0x11D60,0x11D65).addRange(0x11D67,0x11D68).addRange(0x11D6A,0x11D8E).addRange(0x11D90,0x11D91).addRange(0x11D93,0x11D96).addRange(0x11EE0,0x11EF6).addRange(0x11F00,0x11F10).addRange(0x11F12,0x11F3A).addRange(0x11F3E,0x11F40).addRange(0x12000,0x12399).addRange(0x12400,0x1246E).addRange(0x12480,0x12543).addRange(0x12F90,0x12FF0).addRange(0x13000,0x1342F);set.addRange(0x13441,0x13446).addRange(0x14400,0x14646).addRange(0x16800,0x16A38).addRange(0x16A40,0x16A5E).addRange(0x16A70,0x16ABE).addRange(0x16AD0,0x16AED).addRange(0x16B00,0x16B2F).addRange(0x16B40,0x16B43).addRange(0x16B63,0x16B77).addRange(0x16B7D,0x16B8F).addRange(0x16E40,0x16E7F).addRange(0x16F00,0x16F4A).addRange(0x16F4F,0x16F87).addRange(0x16F8F,0x16F9F).addRange(0x16FE0,0x16FE1).addRange(0x16FF0,0x16FF1).addRange(0x17000,0x187F7).addRange(0x18800,0x18CD5).addRange(0x18D00,0x18D08).addRange(0x1AFF0,0x1AFF3).addRange(0x1AFF5,0x1AFFB).addRange(0x1AFFD,0x1AFFE).addRange(0x1B000,0x1B122).addRange(0x1B150,0x1B152).addRange(0x1B164,0x1B167).addRange(0x1B170,0x1B2FB).addRange(0x1BC00,0x1BC6A).addRange(0x1BC70,0x1BC7C).addRange(0x1BC80,0x1BC88).addRange(0x1BC90,0x1BC99).addRange(0x1D400,0x1D454).addRange(0x1D456,0x1D49C).addRange(0x1D49E,0x1D49F).addRange(0x1D4A5,0x1D4A6).addRange(0x1D4A9,0x1D4AC).addRange(0x1D4AE,0x1D4B9).addRange(0x1D4BD,0x1D4C3).addRange(0x1D4C5,0x1D505).addRange(0x1D507,0x1D50A).addRange(0x1D50D,0x1D514).addRange(0x1D516,0x1D51C).addRange(0x1D51E,0x1D539).addRange(0x1D53B,0x1D53E).addRange(0x1D540,0x1D544).addRange(0x1D54A,0x1D550).addRange(0x1D552,0x1D6A5).addRange(0x1D6A8,0x1D6C0).addRange(0x1D6C2,0x1D6DA).addRange(0x1D6DC,0x1D6FA).addRange(0x1D6FC,0x1D714).addRange(0x1D716,0x1D734);set.addRange(0x1D736,0x1D74E).addRange(0x1D750,0x1D76E).addRange(0x1D770,0x1D788).addRange(0x1D78A,0x1D7A8).addRange(0x1D7AA,0x1D7C2).addRange(0x1D7C4,0x1D7CB).addRange(0x1DF00,0x1DF1E).addRange(0x1DF25,0x1DF2A).addRange(0x1E000,0x1E006).addRange(0x1E008,0x1E018).addRange(0x1E01B,0x1E021).addRange(0x1E023,0x1E024).addRange(0x1E026,0x1E02A).addRange(0x1E030,0x1E06D).addRange(0x1E100,0x1E12C).addRange(0x1E137,0x1E13D).addRange(0x1E290,0x1E2AD).addRange(0x1E2C0,0x1E2EB).addRange(0x1E4D0,0x1E4EB).addRange(0x1E7E0,0x1E7E6).addRange(0x1E7E8,0x1E7EB).addRange(0x1E7ED,0x1E7EE).addRange(0x1E7F0,0x1E7FE).addRange(0x1E800,0x1E8C4).addRange(0x1E900,0x1E943).addRange(0x1EE00,0x1EE03).addRange(0x1EE05,0x1EE1F).addRange(0x1EE21,0x1EE22).addRange(0x1EE29,0x1EE32).addRange(0x1EE34,0x1EE37).addRange(0x1EE4D,0x1EE4F).addRange(0x1EE51,0x1EE52).addRange(0x1EE61,0x1EE62).addRange(0x1EE67,0x1EE6A).addRange(0x1EE6C,0x1EE72).addRange(0x1EE74,0x1EE77).addRange(0x1EE79,0x1EE7C).addRange(0x1EE80,0x1EE89).addRange(0x1EE8B,0x1EE9B).addRange(0x1EEA1,0x1EEA3).addRange(0x1EEA5,0x1EEA9).addRange(0x1EEAB,0x1EEBB).addRange(0x1F130,0x1F149).addRange(0x1F150,0x1F169).addRange(0x1F170,0x1F189).addRange(0x20000,0x2A6DF).addRange(0x2A700,0x2B739).addRange(0x2B740,0x2B81D).addRange(0x2B820,0x2CEA1).addRange(0x2CEB0,0x2EBE0).addRange(0x2EBF0,0x2EE5D);set.addRange(0x2F800,0x2FA1D).addRange(0x30000,0x3134A).addRange(0x31350,0x323AF);Alphabetic.characters=set;return Alphabetic;}var Any={};var hasRequiredAny;function requireAny(){if(hasRequiredAny)return Any;hasRequiredAny=1;var set=regenerateExports();set.addRange(0x0,0x10FFFF);Any.characters=set;return Any;}var ASCII_Hex_Digit={};var hasRequiredASCII_Hex_Digit;function requireASCII_Hex_Digit(){if(hasRequiredASCII_Hex_Digit)return ASCII_Hex_Digit;hasRequiredASCII_Hex_Digit=1;var set=regenerateExports();set.addRange(0x30,0x39).addRange(0x41,0x46).addRange(0x61,0x66);ASCII_Hex_Digit.characters=set;return ASCII_Hex_Digit;}var ASCII={};var hasRequiredASCII;function requireASCII(){if(hasRequiredASCII)return ASCII;hasRequiredASCII=1;var set=regenerateExports();set.addRange(0x0,0x7F);ASCII.characters=set;return ASCII;}var Assigned={};var hasRequiredAssigned;function requireAssigned(){if(hasRequiredAssigned)return Assigned;hasRequiredAssigned=1;var set=regenerateExports(0x38C,0x85E,0x9B2,0x9D7,0xA3C,0xA51,0xA5E,0xAD0,0xB9C,0xBD0,0xBD7,0xC5D,0xDBD,0xDCA,0xDD6,0xE84,0xEA5,0xEC6,0x10C7,0x10CD,0x1258,0x12C0,0x1940,0x1F59,0x1F5B,0x1F5D,0x2D27,0x2D2D,0xA7D3,0xFB3E,0xFDCF,0xFEFF,0x101A0,0x10808,0x1083C,0x1093F,0x110CD,0x11288,0x11350,0x11357,0x11909,0x11D3A,0x11FB0,0x1B132,0x1B155,0x1D4A2,0x1D4BB,0x1D546,0x1E08F,0x1E2FF,0x1EE24,0x1EE27,0x1EE39,0x1EE3B,0x1EE42,0x1EE47,0x1EE49,0x1EE4B,0x1EE54,0x1EE57,0x1EE59,0x1EE5B,0x1EE5D,0x1EE5F,0x1EE64,0x1EE7E,0x1F7F0,0xE0001);set.addRange(0x0,0x377).addRange(0x37A,0x37F).addRange(0x384,0x38A).addRange(0x38E,0x3A1).addRange(0x3A3,0x52F).addRange(0x531,0x556).addRange(0x559,0x58A).addRange(0x58D,0x58F).addRange(0x591,0x5C7).addRange(0x5D0,0x5EA).addRange(0x5EF,0x5F4).addRange(0x600,0x70D).addRange(0x70F,0x74A).addRange(0x74D,0x7B1).addRange(0x7C0,0x7FA).addRange(0x7FD,0x82D).addRange(0x830,0x83E).addRange(0x840,0x85B).addRange(0x860,0x86A).addRange(0x870,0x88E).addRange(0x890,0x891).addRange(0x898,0x983).addRange(0x985,0x98C).addRange(0x98F,0x990).addRange(0x993,0x9A8).addRange(0x9AA,0x9B0).addRange(0x9B6,0x9B9).addRange(0x9BC,0x9C4).addRange(0x9C7,0x9C8).addRange(0x9CB,0x9CE).addRange(0x9DC,0x9DD).addRange(0x9DF,0x9E3).addRange(0x9E6,0x9FE).addRange(0xA01,0xA03).addRange(0xA05,0xA0A).addRange(0xA0F,0xA10).addRange(0xA13,0xA28).addRange(0xA2A,0xA30).addRange(0xA32,0xA33).addRange(0xA35,0xA36).addRange(0xA38,0xA39).addRange(0xA3E,0xA42).addRange(0xA47,0xA48).addRange(0xA4B,0xA4D).addRange(0xA59,0xA5C).addRange(0xA66,0xA76).addRange(0xA81,0xA83).addRange(0xA85,0xA8D).addRange(0xA8F,0xA91).addRange(0xA93,0xAA8).addRange(0xAAA,0xAB0);set.addRange(0xAB2,0xAB3).addRange(0xAB5,0xAB9).addRange(0xABC,0xAC5).addRange(0xAC7,0xAC9).addRange(0xACB,0xACD).addRange(0xAE0,0xAE3).addRange(0xAE6,0xAF1).addRange(0xAF9,0xAFF).addRange(0xB01,0xB03).addRange(0xB05,0xB0C).addRange(0xB0F,0xB10).addRange(0xB13,0xB28).addRange(0xB2A,0xB30).addRange(0xB32,0xB33).addRange(0xB35,0xB39).addRange(0xB3C,0xB44).addRange(0xB47,0xB48).addRange(0xB4B,0xB4D).addRange(0xB55,0xB57).addRange(0xB5C,0xB5D).addRange(0xB5F,0xB63).addRange(0xB66,0xB77).addRange(0xB82,0xB83).addRange(0xB85,0xB8A).addRange(0xB8E,0xB90).addRange(0xB92,0xB95).addRange(0xB99,0xB9A).addRange(0xB9E,0xB9F).addRange(0xBA3,0xBA4).addRange(0xBA8,0xBAA).addRange(0xBAE,0xBB9).addRange(0xBBE,0xBC2).addRange(0xBC6,0xBC8).addRange(0xBCA,0xBCD).addRange(0xBE6,0xBFA).addRange(0xC00,0xC0C).addRange(0xC0E,0xC10).addRange(0xC12,0xC28).addRange(0xC2A,0xC39).addRange(0xC3C,0xC44).addRange(0xC46,0xC48).addRange(0xC4A,0xC4D).addRange(0xC55,0xC56).addRange(0xC58,0xC5A).addRange(0xC60,0xC63).addRange(0xC66,0xC6F).addRange(0xC77,0xC8C).addRange(0xC8E,0xC90).addRange(0xC92,0xCA8).addRange(0xCAA,0xCB3).addRange(0xCB5,0xCB9);set.addRange(0xCBC,0xCC4).addRange(0xCC6,0xCC8).addRange(0xCCA,0xCCD).addRange(0xCD5,0xCD6).addRange(0xCDD,0xCDE).addRange(0xCE0,0xCE3).addRange(0xCE6,0xCEF).addRange(0xCF1,0xCF3).addRange(0xD00,0xD0C).addRange(0xD0E,0xD10).addRange(0xD12,0xD44).addRange(0xD46,0xD48).addRange(0xD4A,0xD4F).addRange(0xD54,0xD63).addRange(0xD66,0xD7F).addRange(0xD81,0xD83).addRange(0xD85,0xD96).addRange(0xD9A,0xDB1).addRange(0xDB3,0xDBB).addRange(0xDC0,0xDC6).addRange(0xDCF,0xDD4).addRange(0xDD8,0xDDF).addRange(0xDE6,0xDEF).addRange(0xDF2,0xDF4).addRange(0xE01,0xE3A).addRange(0xE3F,0xE5B).addRange(0xE81,0xE82).addRange(0xE86,0xE8A).addRange(0xE8C,0xEA3).addRange(0xEA7,0xEBD).addRange(0xEC0,0xEC4).addRange(0xEC8,0xECE).addRange(0xED0,0xED9).addRange(0xEDC,0xEDF).addRange(0xF00,0xF47).addRange(0xF49,0xF6C).addRange(0xF71,0xF97).addRange(0xF99,0xFBC).addRange(0xFBE,0xFCC).addRange(0xFCE,0xFDA).addRange(0x1000,0x10C5).addRange(0x10D0,0x1248).addRange(0x124A,0x124D).addRange(0x1250,0x1256).addRange(0x125A,0x125D).addRange(0x1260,0x1288).addRange(0x128A,0x128D).addRange(0x1290,0x12B0).addRange(0x12B2,0x12B5).addRange(0x12B8,0x12BE).addRange(0x12C2,0x12C5);set.addRange(0x12C8,0x12D6).addRange(0x12D8,0x1310).addRange(0x1312,0x1315).addRange(0x1318,0x135A).addRange(0x135D,0x137C).addRange(0x1380,0x1399).addRange(0x13A0,0x13F5).addRange(0x13F8,0x13FD).addRange(0x1400,0x169C).addRange(0x16A0,0x16F8).addRange(0x1700,0x1715).addRange(0x171F,0x1736).addRange(0x1740,0x1753).addRange(0x1760,0x176C).addRange(0x176E,0x1770).addRange(0x1772,0x1773).addRange(0x1780,0x17DD).addRange(0x17E0,0x17E9).addRange(0x17F0,0x17F9).addRange(0x1800,0x1819).addRange(0x1820,0x1878).addRange(0x1880,0x18AA).addRange(0x18B0,0x18F5).addRange(0x1900,0x191E).addRange(0x1920,0x192B).addRange(0x1930,0x193B).addRange(0x1944,0x196D).addRange(0x1970,0x1974).addRange(0x1980,0x19AB).addRange(0x19B0,0x19C9).addRange(0x19D0,0x19DA).addRange(0x19DE,0x1A1B).addRange(0x1A1E,0x1A5E).addRange(0x1A60,0x1A7C).addRange(0x1A7F,0x1A89).addRange(0x1A90,0x1A99).addRange(0x1AA0,0x1AAD).addRange(0x1AB0,0x1ACE).addRange(0x1B00,0x1B4C).addRange(0x1B50,0x1B7E).addRange(0x1B80,0x1BF3).addRange(0x1BFC,0x1C37).addRange(0x1C3B,0x1C49).addRange(0x1C4D,0x1C88).addRange(0x1C90,0x1CBA).addRange(0x1CBD,0x1CC7).addRange(0x1CD0,0x1CFA).addRange(0x1D00,0x1F15).addRange(0x1F18,0x1F1D).addRange(0x1F20,0x1F45).addRange(0x1F48,0x1F4D);set.addRange(0x1F50,0x1F57).addRange(0x1F5F,0x1F7D).addRange(0x1F80,0x1FB4).addRange(0x1FB6,0x1FC4).addRange(0x1FC6,0x1FD3).addRange(0x1FD6,0x1FDB).addRange(0x1FDD,0x1FEF).addRange(0x1FF2,0x1FF4).addRange(0x1FF6,0x1FFE).addRange(0x2000,0x2064).addRange(0x2066,0x2071).addRange(0x2074,0x208E).addRange(0x2090,0x209C).addRange(0x20A0,0x20C0).addRange(0x20D0,0x20F0).addRange(0x2100,0x218B).addRange(0x2190,0x2426).addRange(0x2440,0x244A).addRange(0x2460,0x2B73).addRange(0x2B76,0x2B95).addRange(0x2B97,0x2CF3).addRange(0x2CF9,0x2D25).addRange(0x2D30,0x2D67).addRange(0x2D6F,0x2D70).addRange(0x2D7F,0x2D96).addRange(0x2DA0,0x2DA6).addRange(0x2DA8,0x2DAE).addRange(0x2DB0,0x2DB6).addRange(0x2DB8,0x2DBE).addRange(0x2DC0,0x2DC6).addRange(0x2DC8,0x2DCE).addRange(0x2DD0,0x2DD6).addRange(0x2DD8,0x2DDE).addRange(0x2DE0,0x2E5D).addRange(0x2E80,0x2E99).addRange(0x2E9B,0x2EF3).addRange(0x2F00,0x2FD5).addRange(0x2FF0,0x303F).addRange(0x3041,0x3096).addRange(0x3099,0x30FF).addRange(0x3105,0x312F).addRange(0x3131,0x318E).addRange(0x3190,0x31E3).addRange(0x31EF,0x321E).addRange(0x3220,0xA48C).addRange(0xA490,0xA4C6).addRange(0xA4D0,0xA62B).addRange(0xA640,0xA6F7).addRange(0xA700,0xA7CA).addRange(0xA7D0,0xA7D1).addRange(0xA7D5,0xA7D9);set.addRange(0xA7F2,0xA82C).addRange(0xA830,0xA839).addRange(0xA840,0xA877).addRange(0xA880,0xA8C5).addRange(0xA8CE,0xA8D9).addRange(0xA8E0,0xA953).addRange(0xA95F,0xA97C).addRange(0xA980,0xA9CD).addRange(0xA9CF,0xA9D9).addRange(0xA9DE,0xA9FE).addRange(0xAA00,0xAA36).addRange(0xAA40,0xAA4D).addRange(0xAA50,0xAA59).addRange(0xAA5C,0xAAC2).addRange(0xAADB,0xAAF6).addRange(0xAB01,0xAB06).addRange(0xAB09,0xAB0E).addRange(0xAB11,0xAB16).addRange(0xAB20,0xAB26).addRange(0xAB28,0xAB2E).addRange(0xAB30,0xAB6B).addRange(0xAB70,0xABED).addRange(0xABF0,0xABF9).addRange(0xAC00,0xD7A3).addRange(0xD7B0,0xD7C6).addRange(0xD7CB,0xD7FB).addRange(0xD800,0xFA6D).addRange(0xFA70,0xFAD9).addRange(0xFB00,0xFB06).addRange(0xFB13,0xFB17).addRange(0xFB1D,0xFB36).addRange(0xFB38,0xFB3C).addRange(0xFB40,0xFB41).addRange(0xFB43,0xFB44).addRange(0xFB46,0xFBC2).addRange(0xFBD3,0xFD8F).addRange(0xFD92,0xFDC7).addRange(0xFDF0,0xFE19).addRange(0xFE20,0xFE52).addRange(0xFE54,0xFE66).addRange(0xFE68,0xFE6B).addRange(0xFE70,0xFE74).addRange(0xFE76,0xFEFC).addRange(0xFF01,0xFFBE).addRange(0xFFC2,0xFFC7).addRange(0xFFCA,0xFFCF).addRange(0xFFD2,0xFFD7).addRange(0xFFDA,0xFFDC).addRange(0xFFE0,0xFFE6).addRange(0xFFE8,0xFFEE).addRange(0xFFF9,0xFFFD);set.addRange(0x10000,0x1000B).addRange(0x1000D,0x10026).addRange(0x10028,0x1003A).addRange(0x1003C,0x1003D).addRange(0x1003F,0x1004D).addRange(0x10050,0x1005D).addRange(0x10080,0x100FA).addRange(0x10100,0x10102).addRange(0x10107,0x10133).addRange(0x10137,0x1018E).addRange(0x10190,0x1019C).addRange(0x101D0,0x101FD).addRange(0x10280,0x1029C).addRange(0x102A0,0x102D0).addRange(0x102E0,0x102FB).addRange(0x10300,0x10323).addRange(0x1032D,0x1034A).addRange(0x10350,0x1037A).addRange(0x10380,0x1039D).addRange(0x1039F,0x103C3).addRange(0x103C8,0x103D5).addRange(0x10400,0x1049D).addRange(0x104A0,0x104A9).addRange(0x104B0,0x104D3).addRange(0x104D8,0x104FB).addRange(0x10500,0x10527).addRange(0x10530,0x10563).addRange(0x1056F,0x1057A).addRange(0x1057C,0x1058A).addRange(0x1058C,0x10592).addRange(0x10594,0x10595).addRange(0x10597,0x105A1).addRange(0x105A3,0x105B1).addRange(0x105B3,0x105B9).addRange(0x105BB,0x105BC).addRange(0x10600,0x10736).addRange(0x10740,0x10755).addRange(0x10760,0x10767).addRange(0x10780,0x10785).addRange(0x10787,0x107B0).addRange(0x107B2,0x107BA).addRange(0x10800,0x10805).addRange(0x1080A,0x10835).addRange(0x10837,0x10838).addRange(0x1083F,0x10855).addRange(0x10857,0x1089E).addRange(0x108A7,0x108AF).addRange(0x108E0,0x108F2).addRange(0x108F4,0x108F5).addRange(0x108FB,0x1091B).addRange(0x1091F,0x10939);set.addRange(0x10980,0x109B7).addRange(0x109BC,0x109CF).addRange(0x109D2,0x10A03).addRange(0x10A05,0x10A06).addRange(0x10A0C,0x10A13).addRange(0x10A15,0x10A17).addRange(0x10A19,0x10A35).addRange(0x10A38,0x10A3A).addRange(0x10A3F,0x10A48).addRange(0x10A50,0x10A58).addRange(0x10A60,0x10A9F).addRange(0x10AC0,0x10AE6).addRange(0x10AEB,0x10AF6).addRange(0x10B00,0x10B35).addRange(0x10B39,0x10B55).addRange(0x10B58,0x10B72).addRange(0x10B78,0x10B91).addRange(0x10B99,0x10B9C).addRange(0x10BA9,0x10BAF).addRange(0x10C00,0x10C48).addRange(0x10C80,0x10CB2).addRange(0x10CC0,0x10CF2).addRange(0x10CFA,0x10D27).addRange(0x10D30,0x10D39).addRange(0x10E60,0x10E7E).addRange(0x10E80,0x10EA9).addRange(0x10EAB,0x10EAD).addRange(0x10EB0,0x10EB1).addRange(0x10EFD,0x10F27).addRange(0x10F30,0x10F59).addRange(0x10F70,0x10F89).addRange(0x10FB0,0x10FCB).addRange(0x10FE0,0x10FF6).addRange(0x11000,0x1104D).addRange(0x11052,0x11075).addRange(0x1107F,0x110C2).addRange(0x110D0,0x110E8).addRange(0x110F0,0x110F9).addRange(0x11100,0x11134).addRange(0x11136,0x11147).addRange(0x11150,0x11176).addRange(0x11180,0x111DF).addRange(0x111E1,0x111F4).addRange(0x11200,0x11211).addRange(0x11213,0x11241).addRange(0x11280,0x11286).addRange(0x1128A,0x1128D).addRange(0x1128F,0x1129D).addRange(0x1129F,0x112A9).addRange(0x112B0,0x112EA).addRange(0x112F0,0x112F9);set.addRange(0x11300,0x11303).addRange(0x11305,0x1130C).addRange(0x1130F,0x11310).addRange(0x11313,0x11328).addRange(0x1132A,0x11330).addRange(0x11332,0x11333).addRange(0x11335,0x11339).addRange(0x1133B,0x11344).addRange(0x11347,0x11348).addRange(0x1134B,0x1134D).addRange(0x1135D,0x11363).addRange(0x11366,0x1136C).addRange(0x11370,0x11374).addRange(0x11400,0x1145B).addRange(0x1145D,0x11461).addRange(0x11480,0x114C7).addRange(0x114D0,0x114D9).addRange(0x11580,0x115B5).addRange(0x115B8,0x115DD).addRange(0x11600,0x11644).addRange(0x11650,0x11659).addRange(0x11660,0x1166C).addRange(0x11680,0x116B9).addRange(0x116C0,0x116C9).addRange(0x11700,0x1171A).addRange(0x1171D,0x1172B).addRange(0x11730,0x11746).addRange(0x11800,0x1183B).addRange(0x118A0,0x118F2).addRange(0x118FF,0x11906).addRange(0x1190C,0x11913).addRange(0x11915,0x11916).addRange(0x11918,0x11935).addRange(0x11937,0x11938).addRange(0x1193B,0x11946).addRange(0x11950,0x11959).addRange(0x119A0,0x119A7).addRange(0x119AA,0x119D7).addRange(0x119DA,0x119E4).addRange(0x11A00,0x11A47).addRange(0x11A50,0x11AA2).addRange(0x11AB0,0x11AF8).addRange(0x11B00,0x11B09).addRange(0x11C00,0x11C08).addRange(0x11C0A,0x11C36).addRange(0x11C38,0x11C45).addRange(0x11C50,0x11C6C).addRange(0x11C70,0x11C8F).addRange(0x11C92,0x11CA7).addRange(0x11CA9,0x11CB6).addRange(0x11D00,0x11D06);set.addRange(0x11D08,0x11D09).addRange(0x11D0B,0x11D36).addRange(0x11D3C,0x11D3D).addRange(0x11D3F,0x11D47).addRange(0x11D50,0x11D59).addRange(0x11D60,0x11D65).addRange(0x11D67,0x11D68).addRange(0x11D6A,0x11D8E).addRange(0x11D90,0x11D91).addRange(0x11D93,0x11D98).addRange(0x11DA0,0x11DA9).addRange(0x11EE0,0x11EF8).addRange(0x11F00,0x11F10).addRange(0x11F12,0x11F3A).addRange(0x11F3E,0x11F59).addRange(0x11FC0,0x11FF1).addRange(0x11FFF,0x12399).addRange(0x12400,0x1246E).addRange(0x12470,0x12474).addRange(0x12480,0x12543).addRange(0x12F90,0x12FF2).addRange(0x13000,0x13455).addRange(0x14400,0x14646).addRange(0x16800,0x16A38).addRange(0x16A40,0x16A5E).addRange(0x16A60,0x16A69).addRange(0x16A6E,0x16ABE).addRange(0x16AC0,0x16AC9).addRange(0x16AD0,0x16AED).addRange(0x16AF0,0x16AF5).addRange(0x16B00,0x16B45).addRange(0x16B50,0x16B59).addRange(0x16B5B,0x16B61).addRange(0x16B63,0x16B77).addRange(0x16B7D,0x16B8F).addRange(0x16E40,0x16E9A).addRange(0x16F00,0x16F4A).addRange(0x16F4F,0x16F87).addRange(0x16F8F,0x16F9F).addRange(0x16FE0,0x16FE4).addRange(0x16FF0,0x16FF1).addRange(0x17000,0x187F7).addRange(0x18800,0x18CD5).addRange(0x18D00,0x18D08).addRange(0x1AFF0,0x1AFF3).addRange(0x1AFF5,0x1AFFB).addRange(0x1AFFD,0x1AFFE).addRange(0x1B000,0x1B122).addRange(0x1B150,0x1B152).addRange(0x1B164,0x1B167).addRange(0x1B170,0x1B2FB);set.addRange(0x1BC00,0x1BC6A).addRange(0x1BC70,0x1BC7C).addRange(0x1BC80,0x1BC88).addRange(0x1BC90,0x1BC99).addRange(0x1BC9C,0x1BCA3).addRange(0x1CF00,0x1CF2D).addRange(0x1CF30,0x1CF46).addRange(0x1CF50,0x1CFC3).addRange(0x1D000,0x1D0F5).addRange(0x1D100,0x1D126).addRange(0x1D129,0x1D1EA).addRange(0x1D200,0x1D245).addRange(0x1D2C0,0x1D2D3).addRange(0x1D2E0,0x1D2F3).addRange(0x1D300,0x1D356).addRange(0x1D360,0x1D378).addRange(0x1D400,0x1D454).addRange(0x1D456,0x1D49C).addRange(0x1D49E,0x1D49F).addRange(0x1D4A5,0x1D4A6).addRange(0x1D4A9,0x1D4AC).addRange(0x1D4AE,0x1D4B9).addRange(0x1D4BD,0x1D4C3).addRange(0x1D4C5,0x1D505).addRange(0x1D507,0x1D50A).addRange(0x1D50D,0x1D514).addRange(0x1D516,0x1D51C).addRange(0x1D51E,0x1D539).addRange(0x1D53B,0x1D53E).addRange(0x1D540,0x1D544).addRange(0x1D54A,0x1D550).addRange(0x1D552,0x1D6A5).addRange(0x1D6A8,0x1D7CB).addRange(0x1D7CE,0x1DA8B).addRange(0x1DA9B,0x1DA9F).addRange(0x1DAA1,0x1DAAF).addRange(0x1DF00,0x1DF1E).addRange(0x1DF25,0x1DF2A).addRange(0x1E000,0x1E006).addRange(0x1E008,0x1E018).addRange(0x1E01B,0x1E021).addRange(0x1E023,0x1E024).addRange(0x1E026,0x1E02A).addRange(0x1E030,0x1E06D).addRange(0x1E100,0x1E12C).addRange(0x1E130,0x1E13D).addRange(0x1E140,0x1E149).addRange(0x1E14E,0x1E14F).addRange(0x1E290,0x1E2AE).addRange(0x1E2C0,0x1E2F9).addRange(0x1E4D0,0x1E4F9);set.addRange(0x1E7E0,0x1E7E6).addRange(0x1E7E8,0x1E7EB).addRange(0x1E7ED,0x1E7EE).addRange(0x1E7F0,0x1E7FE).addRange(0x1E800,0x1E8C4).addRange(0x1E8C7,0x1E8D6).addRange(0x1E900,0x1E94B).addRange(0x1E950,0x1E959).addRange(0x1E95E,0x1E95F).addRange(0x1EC71,0x1ECB4).addRange(0x1ED01,0x1ED3D).addRange(0x1EE00,0x1EE03).addRange(0x1EE05,0x1EE1F).addRange(0x1EE21,0x1EE22).addRange(0x1EE29,0x1EE32).addRange(0x1EE34,0x1EE37).addRange(0x1EE4D,0x1EE4F).addRange(0x1EE51,0x1EE52).addRange(0x1EE61,0x1EE62).addRange(0x1EE67,0x1EE6A).addRange(0x1EE6C,0x1EE72).addRange(0x1EE74,0x1EE77).addRange(0x1EE79,0x1EE7C).addRange(0x1EE80,0x1EE89).addRange(0x1EE8B,0x1EE9B).addRange(0x1EEA1,0x1EEA3).addRange(0x1EEA5,0x1EEA9).addRange(0x1EEAB,0x1EEBB).addRange(0x1EEF0,0x1EEF1).addRange(0x1F000,0x1F02B).addRange(0x1F030,0x1F093).addRange(0x1F0A0,0x1F0AE).addRange(0x1F0B1,0x1F0BF).addRange(0x1F0C1,0x1F0CF).addRange(0x1F0D1,0x1F0F5).addRange(0x1F100,0x1F1AD).addRange(0x1F1E6,0x1F202).addRange(0x1F210,0x1F23B).addRange(0x1F240,0x1F248).addRange(0x1F250,0x1F251).addRange(0x1F260,0x1F265).addRange(0x1F300,0x1F6D7).addRange(0x1F6DC,0x1F6EC).addRange(0x1F6F0,0x1F6FC).addRange(0x1F700,0x1F776).addRange(0x1F77B,0x1F7D9).addRange(0x1F7E0,0x1F7EB).addRange(0x1F800,0x1F80B).addRange(0x1F810,0x1F847).addRange(0x1F850,0x1F859).addRange(0x1F860,0x1F887);set.addRange(0x1F890,0x1F8AD).addRange(0x1F8B0,0x1F8B1).addRange(0x1F900,0x1FA53).addRange(0x1FA60,0x1FA6D).addRange(0x1FA70,0x1FA7C).addRange(0x1FA80,0x1FA88).addRange(0x1FA90,0x1FABD).addRange(0x1FABF,0x1FAC5).addRange(0x1FACE,0x1FADB).addRange(0x1FAE0,0x1FAE8).addRange(0x1FAF0,0x1FAF8).addRange(0x1FB00,0x1FB92).addRange(0x1FB94,0x1FBCA).addRange(0x1FBF0,0x1FBF9).addRange(0x20000,0x2A6DF).addRange(0x2A700,0x2B739).addRange(0x2B740,0x2B81D).addRange(0x2B820,0x2CEA1).addRange(0x2CEB0,0x2EBE0).addRange(0x2EBF0,0x2EE5D).addRange(0x2F800,0x2FA1D).addRange(0x30000,0x3134A).addRange(0x31350,0x323AF).addRange(0xE0020,0xE007F).addRange(0xE0100,0xE01EF).addRange(0xF0000,0xFFFFD).addRange(0x100000,0x10FFFD);Assigned.characters=set;return Assigned;}var Bidi_Control={};var hasRequiredBidi_Control;function requireBidi_Control(){if(hasRequiredBidi_Control)return Bidi_Control;hasRequiredBidi_Control=1;var set=regenerateExports(0x61C);set.addRange(0x200E,0x200F).addRange(0x202A,0x202E).addRange(0x2066,0x2069);Bidi_Control.characters=set;return Bidi_Control;}var Bidi_Mirrored={};var hasRequiredBidi_Mirrored;function requireBidi_Mirrored(){if(hasRequiredBidi_Mirrored)return Bidi_Mirrored;hasRequiredBidi_Mirrored=1;var set=regenerateExports(0x3C,0x3E,0x5B,0x5D,0x7B,0x7D,0xAB,0xBB,0x2140,0x2211,0x2224,0x2226,0x2239,0x2262,0x2298,0x27C0,0x29B8,0x29C9,0x29E1,0x2A24,0x2A26,0x2A29,0x2ADC,0x2ADE,0x2AF3,0x2AFD,0x2BFE,0xFF1C,0xFF1E,0xFF3B,0xFF3D,0xFF5B,0xFF5D,0x1D6DB,0x1D715,0x1D74F,0x1D789,0x1D7C3);set.addRange(0x28,0x29).addRange(0xF3A,0xF3D).addRange(0x169B,0x169C).addRange(0x2039,0x203A).addRange(0x2045,0x2046).addRange(0x207D,0x207E).addRange(0x208D,0x208E).addRange(0x2201,0x2204).addRange(0x2208,0x220D).addRange(0x2215,0x2216).addRange(0x221A,0x221D).addRange(0x221F,0x2222).addRange(0x222B,0x2233).addRange(0x223B,0x224C).addRange(0x2252,0x2255).addRange(0x225F,0x2260).addRange(0x2264,0x226B).addRange(0x226E,0x228C).addRange(0x228F,0x2292).addRange(0x22A2,0x22A3).addRange(0x22A6,0x22B8).addRange(0x22BE,0x22BF).addRange(0x22C9,0x22CD).addRange(0x22D0,0x22D1).addRange(0x22D6,0x22ED).addRange(0x22F0,0x22FF).addRange(0x2308,0x230B).addRange(0x2320,0x2321).addRange(0x2329,0x232A).addRange(0x2768,0x2775).addRange(0x27C3,0x27C6).addRange(0x27C8,0x27C9).addRange(0x27CB,0x27CD).addRange(0x27D3,0x27D6).addRange(0x27DC,0x27DE).addRange(0x27E2,0x27EF).addRange(0x2983,0x2998).addRange(0x299B,0x29A0).addRange(0x29A2,0x29AF).addRange(0x29C0,0x29C5).addRange(0x29CE,0x29D2).addRange(0x29D4,0x29D5).addRange(0x29D8,0x29DC).addRange(0x29E3,0x29E5).addRange(0x29E8,0x29E9).addRange(0x29F4,0x29F9).addRange(0x29FC,0x29FD).addRange(0x2A0A,0x2A1C).addRange(0x2A1E,0x2A21).addRange(0x2A2B,0x2A2E).addRange(0x2A34,0x2A35);set.addRange(0x2A3C,0x2A3E).addRange(0x2A57,0x2A58).addRange(0x2A64,0x2A65).addRange(0x2A6A,0x2A6D).addRange(0x2A6F,0x2A70).addRange(0x2A73,0x2A74).addRange(0x2A79,0x2AA3).addRange(0x2AA6,0x2AAD).addRange(0x2AAF,0x2AD6).addRange(0x2AE2,0x2AE6).addRange(0x2AEC,0x2AEE).addRange(0x2AF7,0x2AFB).addRange(0x2E02,0x2E05).addRange(0x2E09,0x2E0A).addRange(0x2E0C,0x2E0D).addRange(0x2E1C,0x2E1D).addRange(0x2E20,0x2E29).addRange(0x2E55,0x2E5C).addRange(0x3008,0x3011).addRange(0x3014,0x301B).addRange(0xFE59,0xFE5E).addRange(0xFE64,0xFE65).addRange(0xFF08,0xFF09).addRange(0xFF5F,0xFF60).addRange(0xFF62,0xFF63);Bidi_Mirrored.characters=set;return Bidi_Mirrored;}var Case_Ignorable={};var hasRequiredCase_Ignorable;function requireCase_Ignorable(){if(hasRequiredCase_Ignorable)return Case_Ignorable;hasRequiredCase_Ignorable=1;var set=regenerateExports(0x27,0x2E,0x3A,0x5E,0x60,0xA8,0xAD,0xAF,0xB4,0x37A,0x387,0x559,0x55F,0x5BF,0x5C7,0x5F4,0x61C,0x640,0x670,0x70F,0x711,0x7FA,0x7FD,0x888,0x93A,0x93C,0x94D,0x971,0x981,0x9BC,0x9CD,0x9FE,0xA3C,0xA51,0xA75,0xABC,0xACD,0xB01,0xB3C,0xB3F,0xB4D,0xB82,0xBC0,0xBCD,0xC00,0xC04,0xC3C,0xC81,0xCBC,0xCBF,0xCC6,0xD4D,0xD81,0xDCA,0xDD6,0xE31,0xEB1,0xEC6,0xF35,0xF37,0xF39,0xFC6,0x1082,0x108D,0x109D,0x10FC,0x17C6,0x17D7,0x17DD,0x1843,0x18A9,0x1932,0x1A1B,0x1A56,0x1A60,0x1A62,0x1A7F,0x1AA7,0x1B34,0x1B3C,0x1B42,0x1BE6,0x1BED,0x1CED,0x1CF4,0x1D78,0x1FBD,0x2024,0x2027,0x2071,0x207F,0x2D6F,0x2D7F,0x2E2F,0x3005,0x303B,0xA015,0xA60C,0xA67F,0xA770,0xA802,0xA806,0xA80B,0xA82C,0xA8FF,0xA9B3,0xA9CF,0xAA43,0xAA4C,0xAA70,0xAA7C,0xAAB0,0xAAC1,0xAADD,0xAAF6,0xABE5,0xABE8,0xABED,0xFB1E,0xFE13,0xFE52,0xFE55,0xFEFF,0xFF07,0xFF0E,0xFF1A,0xFF3E,0xFF40,0xFF70,0xFFE3,0x101FD,0x102E0,0x10A3F,0x11001,0x11070,0x110BD,0x110C2,0x110CD,0x11173,0x111CF,0x11234,0x1123E,0x11241,0x112DF,0x11340,0x11446,0x1145E,0x114BA,0x1163D,0x116AB,0x116AD,0x116B7,0x1193E,0x11943,0x119E0,0x11A47,0x11C3F,0x11D3A,0x11D47,0x11D95,0x11D97,0x11F40,0x11F42,0x16F4F,0x1DA75,0x1DA84,0x1E08F,0x1E2AE,0xE0001);set.addRange(0xB7,0xB8).addRange(0x2B0,0x36F).addRange(0x374,0x375).addRange(0x384,0x385).addRange(0x483,0x489).addRange(0x591,0x5BD).addRange(0x5C1,0x5C2).addRange(0x5C4,0x5C5).addRange(0x600,0x605).addRange(0x610,0x61A).addRange(0x64B,0x65F).addRange(0x6D6,0x6DD).addRange(0x6DF,0x6E8).addRange(0x6EA,0x6ED).addRange(0x730,0x74A).addRange(0x7A6,0x7B0).addRange(0x7EB,0x7F5).addRange(0x816,0x82D).addRange(0x859,0x85B).addRange(0x890,0x891).addRange(0x898,0x89F).addRange(0x8C9,0x902).addRange(0x941,0x948).addRange(0x951,0x957).addRange(0x962,0x963).addRange(0x9C1,0x9C4).addRange(0x9E2,0x9E3).addRange(0xA01,0xA02).addRange(0xA41,0xA42).addRange(0xA47,0xA48).addRange(0xA4B,0xA4D).addRange(0xA70,0xA71).addRange(0xA81,0xA82).addRange(0xAC1,0xAC5).addRange(0xAC7,0xAC8).addRange(0xAE2,0xAE3).addRange(0xAFA,0xAFF).addRange(0xB41,0xB44).addRange(0xB55,0xB56).addRange(0xB62,0xB63).addRange(0xC3E,0xC40).addRange(0xC46,0xC48).addRange(0xC4A,0xC4D).addRange(0xC55,0xC56).addRange(0xC62,0xC63).addRange(0xCCC,0xCCD).addRange(0xCE2,0xCE3).addRange(0xD00,0xD01).addRange(0xD3B,0xD3C).addRange(0xD41,0xD44).addRange(0xD62,0xD63);set.addRange(0xDD2,0xDD4).addRange(0xE34,0xE3A).addRange(0xE46,0xE4E).addRange(0xEB4,0xEBC).addRange(0xEC8,0xECE).addRange(0xF18,0xF19).addRange(0xF71,0xF7E).addRange(0xF80,0xF84).addRange(0xF86,0xF87).addRange(0xF8D,0xF97).addRange(0xF99,0xFBC).addRange(0x102D,0x1030).addRange(0x1032,0x1037).addRange(0x1039,0x103A).addRange(0x103D,0x103E).addRange(0x1058,0x1059).addRange(0x105E,0x1060).addRange(0x1071,0x1074).addRange(0x1085,0x1086).addRange(0x135D,0x135F).addRange(0x1712,0x1714).addRange(0x1732,0x1733).addRange(0x1752,0x1753).addRange(0x1772,0x1773).addRange(0x17B4,0x17B5).addRange(0x17B7,0x17BD).addRange(0x17C9,0x17D3).addRange(0x180B,0x180F).addRange(0x1885,0x1886).addRange(0x1920,0x1922).addRange(0x1927,0x1928).addRange(0x1939,0x193B).addRange(0x1A17,0x1A18).addRange(0x1A58,0x1A5E).addRange(0x1A65,0x1A6C).addRange(0x1A73,0x1A7C).addRange(0x1AB0,0x1ACE).addRange(0x1B00,0x1B03).addRange(0x1B36,0x1B3A).addRange(0x1B6B,0x1B73).addRange(0x1B80,0x1B81).addRange(0x1BA2,0x1BA5).addRange(0x1BA8,0x1BA9).addRange(0x1BAB,0x1BAD).addRange(0x1BE8,0x1BE9).addRange(0x1BEF,0x1BF1).addRange(0x1C2C,0x1C33).addRange(0x1C36,0x1C37).addRange(0x1C78,0x1C7D).addRange(0x1CD0,0x1CD2).addRange(0x1CD4,0x1CE0);set.addRange(0x1CE2,0x1CE8).addRange(0x1CF8,0x1CF9).addRange(0x1D2C,0x1D6A).addRange(0x1D9B,0x1DFF).addRange(0x1FBF,0x1FC1).addRange(0x1FCD,0x1FCF).addRange(0x1FDD,0x1FDF).addRange(0x1FED,0x1FEF).addRange(0x1FFD,0x1FFE).addRange(0x200B,0x200F).addRange(0x2018,0x2019).addRange(0x202A,0x202E).addRange(0x2060,0x2064).addRange(0x2066,0x206F).addRange(0x2090,0x209C).addRange(0x20D0,0x20F0).addRange(0x2C7C,0x2C7D).addRange(0x2CEF,0x2CF1).addRange(0x2DE0,0x2DFF).addRange(0x302A,0x302D).addRange(0x3031,0x3035).addRange(0x3099,0x309E).addRange(0x30FC,0x30FE).addRange(0xA4F8,0xA4FD).addRange(0xA66F,0xA672).addRange(0xA674,0xA67D).addRange(0xA69C,0xA69F).addRange(0xA6F0,0xA6F1).addRange(0xA700,0xA721).addRange(0xA788,0xA78A).addRange(0xA7F2,0xA7F4).addRange(0xA7F8,0xA7F9).addRange(0xA825,0xA826).addRange(0xA8C4,0xA8C5).addRange(0xA8E0,0xA8F1).addRange(0xA926,0xA92D).addRange(0xA947,0xA951).addRange(0xA980,0xA982).addRange(0xA9B6,0xA9B9).addRange(0xA9BC,0xA9BD).addRange(0xA9E5,0xA9E6).addRange(0xAA29,0xAA2E).addRange(0xAA31,0xAA32).addRange(0xAA35,0xAA36).addRange(0xAAB2,0xAAB4).addRange(0xAAB7,0xAAB8).addRange(0xAABE,0xAABF).addRange(0xAAEC,0xAAED).addRange(0xAAF3,0xAAF4).addRange(0xAB5B,0xAB5F).addRange(0xAB69,0xAB6B);set.addRange(0xFBB2,0xFBC2).addRange(0xFE00,0xFE0F).addRange(0xFE20,0xFE2F).addRange(0xFF9E,0xFF9F).addRange(0xFFF9,0xFFFB).addRange(0x10376,0x1037A).addRange(0x10780,0x10785).addRange(0x10787,0x107B0).addRange(0x107B2,0x107BA).addRange(0x10A01,0x10A03).addRange(0x10A05,0x10A06).addRange(0x10A0C,0x10A0F).addRange(0x10A38,0x10A3A).addRange(0x10AE5,0x10AE6).addRange(0x10D24,0x10D27).addRange(0x10EAB,0x10EAC).addRange(0x10EFD,0x10EFF).addRange(0x10F46,0x10F50).addRange(0x10F82,0x10F85).addRange(0x11038,0x11046).addRange(0x11073,0x11074).addRange(0x1107F,0x11081).addRange(0x110B3,0x110B6).addRange(0x110B9,0x110BA).addRange(0x11100,0x11102).addRange(0x11127,0x1112B).addRange(0x1112D,0x11134).addRange(0x11180,0x11181).addRange(0x111B6,0x111BE).addRange(0x111C9,0x111CC).addRange(0x1122F,0x11231).addRange(0x11236,0x11237).addRange(0x112E3,0x112EA).addRange(0x11300,0x11301).addRange(0x1133B,0x1133C).addRange(0x11366,0x1136C).addRange(0x11370,0x11374).addRange(0x11438,0x1143F).addRange(0x11442,0x11444).addRange(0x114B3,0x114B8).addRange(0x114BF,0x114C0).addRange(0x114C2,0x114C3).addRange(0x115B2,0x115B5).addRange(0x115BC,0x115BD).addRange(0x115BF,0x115C0).addRange(0x115DC,0x115DD).addRange(0x11633,0x1163A).addRange(0x1163F,0x11640).addRange(0x116B0,0x116B5).addRange(0x1171D,0x1171F).addRange(0x11722,0x11725);set.addRange(0x11727,0x1172B).addRange(0x1182F,0x11837).addRange(0x11839,0x1183A).addRange(0x1193B,0x1193C).addRange(0x119D4,0x119D7).addRange(0x119DA,0x119DB).addRange(0x11A01,0x11A0A).addRange(0x11A33,0x11A38).addRange(0x11A3B,0x11A3E).addRange(0x11A51,0x11A56).addRange(0x11A59,0x11A5B).addRange(0x11A8A,0x11A96).addRange(0x11A98,0x11A99).addRange(0x11C30,0x11C36).addRange(0x11C38,0x11C3D).addRange(0x11C92,0x11CA7).addRange(0x11CAA,0x11CB0).addRange(0x11CB2,0x11CB3).addRange(0x11CB5,0x11CB6).addRange(0x11D31,0x11D36).addRange(0x11D3C,0x11D3D).addRange(0x11D3F,0x11D45).addRange(0x11D90,0x11D91).addRange(0x11EF3,0x11EF4).addRange(0x11F00,0x11F01).addRange(0x11F36,0x11F3A).addRange(0x13430,0x13440).addRange(0x13447,0x13455).addRange(0x16AF0,0x16AF4).addRange(0x16B30,0x16B36).addRange(0x16B40,0x16B43).addRange(0x16F8F,0x16F9F).addRange(0x16FE0,0x16FE1).addRange(0x16FE3,0x16FE4).addRange(0x1AFF0,0x1AFF3).addRange(0x1AFF5,0x1AFFB).addRange(0x1AFFD,0x1AFFE).addRange(0x1BC9D,0x1BC9E).addRange(0x1BCA0,0x1BCA3).addRange(0x1CF00,0x1CF2D).addRange(0x1CF30,0x1CF46).addRange(0x1D167,0x1D169).addRange(0x1D173,0x1D182).addRange(0x1D185,0x1D18B).addRange(0x1D1AA,0x1D1AD).addRange(0x1D242,0x1D244).addRange(0x1DA00,0x1DA36).addRange(0x1DA3B,0x1DA6C).addRange(0x1DA9B,0x1DA9F).addRange(0x1DAA1,0x1DAAF).addRange(0x1E000,0x1E006);set.addRange(0x1E008,0x1E018).addRange(0x1E01B,0x1E021).addRange(0x1E023,0x1E024).addRange(0x1E026,0x1E02A).addRange(0x1E030,0x1E06D).addRange(0x1E130,0x1E13D).addRange(0x1E2EC,0x1E2EF).addRange(0x1E4EB,0x1E4EF).addRange(0x1E8D0,0x1E8D6).addRange(0x1E944,0x1E94B).addRange(0x1F3FB,0x1F3FF).addRange(0xE0020,0xE007F).addRange(0xE0100,0xE01EF);Case_Ignorable.characters=set;return Case_Ignorable;}var Cased={};var hasRequiredCased;function requireCased(){if(hasRequiredCased)return Cased;hasRequiredCased=1;var set=regenerateExports(0xAA,0xB5,0xBA,0x345,0x37F,0x386,0x38C,0x10C7,0x10CD,0x1F59,0x1F5B,0x1F5D,0x1FBE,0x2071,0x207F,0x2102,0x2107,0x2115,0x2124,0x2126,0x2128,0x2139,0x214E,0x2D27,0x2D2D,0xA7D3,0x10780,0x1D4A2,0x1D4BB,0x1D546);set.addRange(0x41,0x5A).addRange(0x61,0x7A).addRange(0xC0,0xD6).addRange(0xD8,0xF6).addRange(0xF8,0x1BA).addRange(0x1BC,0x1BF).addRange(0x1C4,0x293).addRange(0x295,0x2B8).addRange(0x2C0,0x2C1).addRange(0x2E0,0x2E4).addRange(0x370,0x373).addRange(0x376,0x377).addRange(0x37A,0x37D).addRange(0x388,0x38A).addRange(0x38E,0x3A1).addRange(0x3A3,0x3F5).addRange(0x3F7,0x481).addRange(0x48A,0x52F).addRange(0x531,0x556).addRange(0x560,0x588).addRange(0x10A0,0x10C5).addRange(0x10D0,0x10FA).addRange(0x10FC,0x10FF).addRange(0x13A0,0x13F5).addRange(0x13F8,0x13FD).addRange(0x1C80,0x1C88).addRange(0x1C90,0x1CBA).addRange(0x1CBD,0x1CBF).addRange(0x1D00,0x1DBF).addRange(0x1E00,0x1F15).addRange(0x1F18,0x1F1D).addRange(0x1F20,0x1F45).addRange(0x1F48,0x1F4D).addRange(0x1F50,0x1F57).addRange(0x1F5F,0x1F7D).addRange(0x1F80,0x1FB4).addRange(0x1FB6,0x1FBC).addRange(0x1FC2,0x1FC4).addRange(0x1FC6,0x1FCC).addRange(0x1FD0,0x1FD3).addRange(0x1FD6,0x1FDB).addRange(0x1FE0,0x1FEC).addRange(0x1FF2,0x1FF4).addRange(0x1FF6,0x1FFC).addRange(0x2090,0x209C).addRange(0x210A,0x2113).addRange(0x2119,0x211D).addRange(0x212A,0x212D).addRange(0x212F,0x2134).addRange(0x213C,0x213F).addRange(0x2145,0x2149);set.addRange(0x2160,0x217F).addRange(0x2183,0x2184).addRange(0x24B6,0x24E9).addRange(0x2C00,0x2CE4).addRange(0x2CEB,0x2CEE).addRange(0x2CF2,0x2CF3).addRange(0x2D00,0x2D25).addRange(0xA640,0xA66D).addRange(0xA680,0xA69D).addRange(0xA722,0xA787).addRange(0xA78B,0xA78E).addRange(0xA790,0xA7CA).addRange(0xA7D0,0xA7D1).addRange(0xA7D5,0xA7D9).addRange(0xA7F2,0xA7F6).addRange(0xA7F8,0xA7FA).addRange(0xAB30,0xAB5A).addRange(0xAB5C,0xAB69).addRange(0xAB70,0xABBF).addRange(0xFB00,0xFB06).addRange(0xFB13,0xFB17).addRange(0xFF21,0xFF3A).addRange(0xFF41,0xFF5A).addRange(0x10400,0x1044F).addRange(0x104B0,0x104D3).addRange(0x104D8,0x104FB).addRange(0x10570,0x1057A).addRange(0x1057C,0x1058A).addRange(0x1058C,0x10592).addRange(0x10594,0x10595).addRange(0x10597,0x105A1).addRange(0x105A3,0x105B1).addRange(0x105B3,0x105B9).addRange(0x105BB,0x105BC).addRange(0x10783,0x10785).addRange(0x10787,0x107B0).addRange(0x107B2,0x107BA).addRange(0x10C80,0x10CB2).addRange(0x10CC0,0x10CF2).addRange(0x118A0,0x118DF).addRange(0x16E40,0x16E7F).addRange(0x1D400,0x1D454).addRange(0x1D456,0x1D49C).addRange(0x1D49E,0x1D49F).addRange(0x1D4A5,0x1D4A6).addRange(0x1D4A9,0x1D4AC).addRange(0x1D4AE,0x1D4B9).addRange(0x1D4BD,0x1D4C3).addRange(0x1D4C5,0x1D505).addRange(0x1D507,0x1D50A).addRange(0x1D50D,0x1D514);set.addRange(0x1D516,0x1D51C).addRange(0x1D51E,0x1D539).addRange(0x1D53B,0x1D53E).addRange(0x1D540,0x1D544).addRange(0x1D54A,0x1D550).addRange(0x1D552,0x1D6A5).addRange(0x1D6A8,0x1D6C0).addRange(0x1D6C2,0x1D6DA).addRange(0x1D6DC,0x1D6FA).addRange(0x1D6FC,0x1D714).addRange(0x1D716,0x1D734).addRange(0x1D736,0x1D74E).addRange(0x1D750,0x1D76E).addRange(0x1D770,0x1D788).addRange(0x1D78A,0x1D7A8).addRange(0x1D7AA,0x1D7C2).addRange(0x1D7C4,0x1D7CB).addRange(0x1DF00,0x1DF09).addRange(0x1DF0B,0x1DF1E).addRange(0x1DF25,0x1DF2A).addRange(0x1E030,0x1E06D).addRange(0x1E900,0x1E943).addRange(0x1F130,0x1F149).addRange(0x1F150,0x1F169).addRange(0x1F170,0x1F189);Cased.characters=set;return Cased;}var Changes_When_Casefolded={};var hasRequiredChanges_When_Casefolded;function requireChanges_When_Casefolded(){if(hasRequiredChanges_When_Casefolded)return Changes_When_Casefolded;hasRequiredChanges_When_Casefolded=1;var set=regenerateExports(0xB5,0x100,0x102,0x104,0x106,0x108,0x10A,0x10C,0x10E,0x110,0x112,0x114,0x116,0x118,0x11A,0x11C,0x11E,0x120,0x122,0x124,0x126,0x128,0x12A,0x12C,0x12E,0x130,0x132,0x134,0x136,0x139,0x13B,0x13D,0x13F,0x141,0x143,0x145,0x147,0x14C,0x14E,0x150,0x152,0x154,0x156,0x158,0x15A,0x15C,0x15E,0x160,0x162,0x164,0x166,0x168,0x16A,0x16C,0x16E,0x170,0x172,0x174,0x176,0x17B,0x17D,0x17F,0x184,0x1A2,0x1A4,0x1A9,0x1AC,0x1B5,0x1BC,0x1CD,0x1CF,0x1D1,0x1D3,0x1D5,0x1D7,0x1D9,0x1DB,0x1DE,0x1E0,0x1E2,0x1E4,0x1E6,0x1E8,0x1EA,0x1EC,0x1EE,0x1F4,0x1FA,0x1FC,0x1FE,0x200,0x202,0x204,0x206,0x208,0x20A,0x20C,0x20E,0x210,0x212,0x214,0x216,0x218,0x21A,0x21C,0x21E,0x220,0x222,0x224,0x226,0x228,0x22A,0x22C,0x22E,0x230,0x232,0x241,0x248,0x24A,0x24C,0x24E,0x345,0x370,0x372,0x376,0x37F,0x386,0x38C,0x3C2,0x3D8,0x3DA,0x3DC,0x3DE,0x3E0,0x3E2,0x3E4,0x3E6,0x3E8,0x3EA,0x3EC,0x3EE,0x3F7,0x460,0x462,0x464,0x466,0x468,0x46A,0x46C,0x46E,0x470,0x472,0x474,0x476,0x478,0x47A,0x47C,0x47E,0x480,0x48A,0x48C,0x48E,0x490,0x492,0x494,0x496,0x498,0x49A,0x49C,0x49E,0x4A0,0x4A2,0x4A4,0x4A6,0x4A8,0x4AA,0x4AC,0x4AE,0x4B0,0x4B2,0x4B4,0x4B6,0x4B8,0x4BA,0x4BC,0x4BE,0x4C3,0x4C5,0x4C7,0x4C9,0x4CB,0x4CD,0x4D0,0x4D2,0x4D4,0x4D6,0x4D8,0x4DA,0x4DC,0x4DE,0x4E0,0x4E2,0x4E4,0x4E6,0x4E8,0x4EA,0x4EC,0x4EE,0x4F0,0x4F2,0x4F4,0x4F6,0x4F8,0x4FA,0x4FC,0x4FE,0x500,0x502,0x504,0x506,0x508,0x50A,0x50C,0x50E,0x510,0x512,0x514,0x516,0x518,0x51A,0x51C,0x51E,0x520,0x522,0x524,0x526,0x528,0x52A,0x52C,0x52E,0x587,0x10C7,0x10CD,0x1E00,0x1E02,0x1E04,0x1E06,0x1E08,0x1E0A,0x1E0C,0x1E0E,0x1E10,0x1E12,0x1E14,0x1E16,0x1E18,0x1E1A,0x1E1C,0x1E1E,0x1E20,0x1E22,0x1E24,0x1E26,0x1E28,0x1E2A,0x1E2C,0x1E2E,0x1E30,0x1E32,0x1E34,0x1E36,0x1E38,0x1E3A,0x1E3C,0x1E3E,0x1E40,0x1E42,0x1E44,0x1E46,0x1E48,0x1E4A,0x1E4C,0x1E4E,0x1E50,0x1E52,0x1E54,0x1E56,0x1E58,0x1E5A,0x1E5C,0x1E5E,0x1E60,0x1E62,0x1E64,0x1E66,0x1E68,0x1E6A,0x1E6C,0x1E6E,0x1E70,0x1E72,0x1E74,0x1E76,0x1E78,0x1E7A,0x1E7C,0x1E7E,0x1E80,0x1E82,0x1E84,0x1E86,0x1E88,0x1E8A,0x1E8C,0x1E8E,0x1E90,0x1E92,0x1E94,0x1E9E,0x1EA0,0x1EA2,0x1EA4,0x1EA6,0x1EA8,0x1EAA,0x1EAC,0x1EAE,0x1EB0,0x1EB2,0x1EB4,0x1EB6,0x1EB8,0x1EBA,0x1EBC,0x1EBE,0x1EC0,0x1EC2,0x1EC4,0x1EC6,0x1EC8,0x1ECA,0x1ECC,0x1ECE,0x1ED0,0x1ED2,0x1ED4,0x1ED6,0x1ED8,0x1EDA,0x1EDC,0x1EDE,0x1EE0,0x1EE2,0x1EE4,0x1EE6,0x1EE8,0x1EEA,0x1EEC,0x1EEE,0x1EF0,0x1EF2,0x1EF4,0x1EF6,0x1EF8,0x1EFA,0x1EFC,0x1EFE,0x1F59,0x1F5B,0x1F5D,0x1F5F,0x2126,0x2132,0x2183,0x2C60,0x2C67,0x2C69,0x2C6B,0x2C72,0x2C75,0x2C82,0x2C84,0x2C86,0x2C88,0x2C8A,0x2C8C,0x2C8E,0x2C90,0x2C92,0x2C94,0x2C96,0x2C98,0x2C9A,0x2C9C,0x2C9E,0x2CA0,0x2CA2,0x2CA4,0x2CA6,0x2CA8,0x2CAA,0x2CAC,0x2CAE,0x2CB0,0x2CB2,0x2CB4,0x2CB6,0x2CB8,0x2CBA,0x2CBC,0x2CBE,0x2CC0,0x2CC2,0x2CC4,0x2CC6,0x2CC8,0x2CCA,0x2CCC,0x2CCE,0x2CD0,0x2CD2,0x2CD4,0x2CD6,0x2CD8,0x2CDA,0x2CDC,0x2CDE,0x2CE0,0x2CE2,0x2CEB,0x2CED,0x2CF2,0xA640,0xA642,0xA644,0xA646,0xA648,0xA64A,0xA64C,0xA64E,0xA650,0xA652,0xA654,0xA656,0xA658,0xA65A,0xA65C,0xA65E,0xA660,0xA662,0xA664,0xA666,0xA668,0xA66A,0xA66C,0xA680,0xA682,0xA684,0xA686,0xA688,0xA68A,0xA68C,0xA68E,0xA690,0xA692,0xA694,0xA696,0xA698,0xA69A,0xA722,0xA724,0xA726,0xA728,0xA72A,0xA72C,0xA72E,0xA732,0xA734,0xA736,0xA738,0xA73A,0xA73C,0xA73E,0xA740,0xA742,0xA744,0xA746,0xA748,0xA74A,0xA74C,0xA74E,0xA750,0xA752,0xA754,0xA756,0xA758,0xA75A,0xA75C,0xA75E,0xA760,0xA762,0xA764,0xA766,0xA768,0xA76A,0xA76C,0xA76E,0xA779,0xA77B,0xA780,0xA782,0xA784,0xA786,0xA78B,0xA78D,0xA790,0xA792,0xA796,0xA798,0xA79A,0xA79C,0xA79E,0xA7A0,0xA7A2,0xA7A4,0xA7A6,0xA7A8,0xA7B6,0xA7B8,0xA7BA,0xA7BC,0xA7BE,0xA7C0,0xA7C2,0xA7C9,0xA7D0,0xA7D6,0xA7D8,0xA7F5);set.addRange(0x41,0x5A).addRange(0xC0,0xD6).addRange(0xD8,0xDF).addRange(0x149,0x14A).addRange(0x178,0x179).addRange(0x181,0x182).addRange(0x186,0x187).addRange(0x189,0x18B).addRange(0x18E,0x191).addRange(0x193,0x194).addRange(0x196,0x198).addRange(0x19C,0x19D).addRange(0x19F,0x1A0).addRange(0x1A6,0x1A7).addRange(0x1AE,0x1AF).addRange(0x1B1,0x1B3).addRange(0x1B7,0x1B8).addRange(0x1C4,0x1C5).addRange(0x1C7,0x1C8).addRange(0x1CA,0x1CB).addRange(0x1F1,0x1F2).addRange(0x1F6,0x1F8).addRange(0x23A,0x23B).addRange(0x23D,0x23E).addRange(0x243,0x246).addRange(0x388,0x38A).addRange(0x38E,0x38F).addRange(0x391,0x3A1).addRange(0x3A3,0x3AB).addRange(0x3CF,0x3D1).addRange(0x3D5,0x3D6).addRange(0x3F0,0x3F1).addRange(0x3F4,0x3F5).addRange(0x3F9,0x3FA).addRange(0x3FD,0x42F).addRange(0x4C0,0x4C1).addRange(0x531,0x556).addRange(0x10A0,0x10C5).addRange(0x13F8,0x13FD).addRange(0x1C80,0x1C88).addRange(0x1C90,0x1CBA).addRange(0x1CBD,0x1CBF).addRange(0x1E9A,0x1E9B).addRange(0x1F08,0x1F0F).addRange(0x1F18,0x1F1D).addRange(0x1F28,0x1F2F).addRange(0x1F38,0x1F3F).addRange(0x1F48,0x1F4D).addRange(0x1F68,0x1F6F).addRange(0x1F80,0x1FAF).addRange(0x1FB2,0x1FB4);set.addRange(0x1FB7,0x1FBC).addRange(0x1FC2,0x1FC4).addRange(0x1FC7,0x1FCC).addRange(0x1FD8,0x1FDB).addRange(0x1FE8,0x1FEC).addRange(0x1FF2,0x1FF4).addRange(0x1FF7,0x1FFC).addRange(0x212A,0x212B).addRange(0x2160,0x216F).addRange(0x24B6,0x24CF).addRange(0x2C00,0x2C2F).addRange(0x2C62,0x2C64).addRange(0x2C6D,0x2C70).addRange(0x2C7E,0x2C80).addRange(0xA77D,0xA77E).addRange(0xA7AA,0xA7AE).addRange(0xA7B0,0xA7B4).addRange(0xA7C4,0xA7C7).addRange(0xAB70,0xABBF).addRange(0xFB00,0xFB06).addRange(0xFB13,0xFB17).addRange(0xFF21,0xFF3A).addRange(0x10400,0x10427).addRange(0x104B0,0x104D3).addRange(0x10570,0x1057A).addRange(0x1057C,0x1058A).addRange(0x1058C,0x10592).addRange(0x10594,0x10595).addRange(0x10C80,0x10CB2).addRange(0x118A0,0x118BF).addRange(0x16E40,0x16E5F).addRange(0x1E900,0x1E921);Changes_When_Casefolded.characters=set;return Changes_When_Casefolded;}var Changes_When_Casemapped={};var hasRequiredChanges_When_Casemapped;function requireChanges_When_Casemapped(){if(hasRequiredChanges_When_Casemapped)return Changes_When_Casemapped;hasRequiredChanges_When_Casemapped=1;var set=regenerateExports(0xB5,0x1BF,0x259,0x263,0x26F,0x275,0x27D,0x280,0x292,0x345,0x37F,0x386,0x38C,0x10C7,0x10CD,0x1D79,0x1D7D,0x1D8E,0x1E9E,0x1F59,0x1F5B,0x1F5D,0x1FBE,0x2126,0x2132,0x214E,0x2D27,0x2D2D,0xAB53);set.addRange(0x41,0x5A).addRange(0x61,0x7A).addRange(0xC0,0xD6).addRange(0xD8,0xF6).addRange(0xF8,0x137).addRange(0x139,0x18C).addRange(0x18E,0x19A).addRange(0x19C,0x1A9).addRange(0x1AC,0x1B9).addRange(0x1BC,0x1BD).addRange(0x1C4,0x220).addRange(0x222,0x233).addRange(0x23A,0x254).addRange(0x256,0x257).addRange(0x25B,0x25C).addRange(0x260,0x261).addRange(0x265,0x266).addRange(0x268,0x26C).addRange(0x271,0x272).addRange(0x282,0x283).addRange(0x287,0x28C).addRange(0x29D,0x29E).addRange(0x370,0x373).addRange(0x376,0x377).addRange(0x37B,0x37D).addRange(0x388,0x38A).addRange(0x38E,0x3A1).addRange(0x3A3,0x3D1).addRange(0x3D5,0x3F5).addRange(0x3F7,0x3FB).addRange(0x3FD,0x481).addRange(0x48A,0x52F).addRange(0x531,0x556).addRange(0x561,0x587).addRange(0x10A0,0x10C5).addRange(0x10D0,0x10FA).addRange(0x10FD,0x10FF).addRange(0x13A0,0x13F5).addRange(0x13F8,0x13FD).addRange(0x1C80,0x1C88).addRange(0x1C90,0x1CBA).addRange(0x1CBD,0x1CBF).addRange(0x1E00,0x1E9B).addRange(0x1EA0,0x1F15).addRange(0x1F18,0x1F1D).addRange(0x1F20,0x1F45).addRange(0x1F48,0x1F4D).addRange(0x1F50,0x1F57).addRange(0x1F5F,0x1F7D).addRange(0x1F80,0x1FB4).addRange(0x1FB6,0x1FBC);set.addRange(0x1FC2,0x1FC4).addRange(0x1FC6,0x1FCC).addRange(0x1FD0,0x1FD3).addRange(0x1FD6,0x1FDB).addRange(0x1FE0,0x1FEC).addRange(0x1FF2,0x1FF4).addRange(0x1FF6,0x1FFC).addRange(0x212A,0x212B).addRange(0x2160,0x217F).addRange(0x2183,0x2184).addRange(0x24B6,0x24E9).addRange(0x2C00,0x2C70).addRange(0x2C72,0x2C73).addRange(0x2C75,0x2C76).addRange(0x2C7E,0x2CE3).addRange(0x2CEB,0x2CEE).addRange(0x2CF2,0x2CF3).addRange(0x2D00,0x2D25).addRange(0xA640,0xA66D).addRange(0xA680,0xA69B).addRange(0xA722,0xA72F).addRange(0xA732,0xA76F).addRange(0xA779,0xA787).addRange(0xA78B,0xA78D).addRange(0xA790,0xA794).addRange(0xA796,0xA7AE).addRange(0xA7B0,0xA7CA).addRange(0xA7D0,0xA7D1).addRange(0xA7D6,0xA7D9).addRange(0xA7F5,0xA7F6).addRange(0xAB70,0xABBF).addRange(0xFB00,0xFB06).addRange(0xFB13,0xFB17).addRange(0xFF21,0xFF3A).addRange(0xFF41,0xFF5A).addRange(0x10400,0x1044F).addRange(0x104B0,0x104D3).addRange(0x104D8,0x104FB).addRange(0x10570,0x1057A).addRange(0x1057C,0x1058A).addRange(0x1058C,0x10592).addRange(0x10594,0x10595).addRange(0x10597,0x105A1).addRange(0x105A3,0x105B1).addRange(0x105B3,0x105B9).addRange(0x105BB,0x105BC).addRange(0x10C80,0x10CB2).addRange(0x10CC0,0x10CF2).addRange(0x118A0,0x118DF).addRange(0x16E40,0x16E7F).addRange(0x1E900,0x1E943);Changes_When_Casemapped.characters=set;return Changes_When_Casemapped;}var Changes_When_Lowercased={};var hasRequiredChanges_When_Lowercased;function requireChanges_When_Lowercased(){if(hasRequiredChanges_When_Lowercased)return Changes_When_Lowercased;hasRequiredChanges_When_Lowercased=1;var set=regenerateExports(0x100,0x102,0x104,0x106,0x108,0x10A,0x10C,0x10E,0x110,0x112,0x114,0x116,0x118,0x11A,0x11C,0x11E,0x120,0x122,0x124,0x126,0x128,0x12A,0x12C,0x12E,0x130,0x132,0x134,0x136,0x139,0x13B,0x13D,0x13F,0x141,0x143,0x145,0x147,0x14A,0x14C,0x14E,0x150,0x152,0x154,0x156,0x158,0x15A,0x15C,0x15E,0x160,0x162,0x164,0x166,0x168,0x16A,0x16C,0x16E,0x170,0x172,0x174,0x176,0x17B,0x17D,0x184,0x1A2,0x1A4,0x1A9,0x1AC,0x1B5,0x1BC,0x1CD,0x1CF,0x1D1,0x1D3,0x1D5,0x1D7,0x1D9,0x1DB,0x1DE,0x1E0,0x1E2,0x1E4,0x1E6,0x1E8,0x1EA,0x1EC,0x1EE,0x1F4,0x1FA,0x1FC,0x1FE,0x200,0x202,0x204,0x206,0x208,0x20A,0x20C,0x20E,0x210,0x212,0x214,0x216,0x218,0x21A,0x21C,0x21E,0x220,0x222,0x224,0x226,0x228,0x22A,0x22C,0x22E,0x230,0x232,0x241,0x248,0x24A,0x24C,0x24E,0x370,0x372,0x376,0x37F,0x386,0x38C,0x3CF,0x3D8,0x3DA,0x3DC,0x3DE,0x3E0,0x3E2,0x3E4,0x3E6,0x3E8,0x3EA,0x3EC,0x3EE,0x3F4,0x3F7,0x460,0x462,0x464,0x466,0x468,0x46A,0x46C,0x46E,0x470,0x472,0x474,0x476,0x478,0x47A,0x47C,0x47E,0x480,0x48A,0x48C,0x48E,0x490,0x492,0x494,0x496,0x498,0x49A,0x49C,0x49E,0x4A0,0x4A2,0x4A4,0x4A6,0x4A8,0x4AA,0x4AC,0x4AE,0x4B0,0x4B2,0x4B4,0x4B6,0x4B8,0x4BA,0x4BC,0x4BE,0x4C3,0x4C5,0x4C7,0x4C9,0x4CB,0x4CD,0x4D0,0x4D2,0x4D4,0x4D6,0x4D8,0x4DA,0x4DC,0x4DE,0x4E0,0x4E2,0x4E4,0x4E6,0x4E8,0x4EA,0x4EC,0x4EE,0x4F0,0x4F2,0x4F4,0x4F6,0x4F8,0x4FA,0x4FC,0x4FE,0x500,0x502,0x504,0x506,0x508,0x50A,0x50C,0x50E,0x510,0x512,0x514,0x516,0x518,0x51A,0x51C,0x51E,0x520,0x522,0x524,0x526,0x528,0x52A,0x52C,0x52E,0x10C7,0x10CD,0x1E00,0x1E02,0x1E04,0x1E06,0x1E08,0x1E0A,0x1E0C,0x1E0E,0x1E10,0x1E12,0x1E14,0x1E16,0x1E18,0x1E1A,0x1E1C,0x1E1E,0x1E20,0x1E22,0x1E24,0x1E26,0x1E28,0x1E2A,0x1E2C,0x1E2E,0x1E30,0x1E32,0x1E34,0x1E36,0x1E38,0x1E3A,0x1E3C,0x1E3E,0x1E40,0x1E42,0x1E44,0x1E46,0x1E48,0x1E4A,0x1E4C,0x1E4E,0x1E50,0x1E52,0x1E54,0x1E56,0x1E58,0x1E5A,0x1E5C,0x1E5E,0x1E60,0x1E62,0x1E64,0x1E66,0x1E68,0x1E6A,0x1E6C,0x1E6E,0x1E70,0x1E72,0x1E74,0x1E76,0x1E78,0x1E7A,0x1E7C,0x1E7E,0x1E80,0x1E82,0x1E84,0x1E86,0x1E88,0x1E8A,0x1E8C,0x1E8E,0x1E90,0x1E92,0x1E94,0x1E9E,0x1EA0,0x1EA2,0x1EA4,0x1EA6,0x1EA8,0x1EAA,0x1EAC,0x1EAE,0x1EB0,0x1EB2,0x1EB4,0x1EB6,0x1EB8,0x1EBA,0x1EBC,0x1EBE,0x1EC0,0x1EC2,0x1EC4,0x1EC6,0x1EC8,0x1ECA,0x1ECC,0x1ECE,0x1ED0,0x1ED2,0x1ED4,0x1ED6,0x1ED8,0x1EDA,0x1EDC,0x1EDE,0x1EE0,0x1EE2,0x1EE4,0x1EE6,0x1EE8,0x1EEA,0x1EEC,0x1EEE,0x1EF0,0x1EF2,0x1EF4,0x1EF6,0x1EF8,0x1EFA,0x1EFC,0x1EFE,0x1F59,0x1F5B,0x1F5D,0x1F5F,0x2126,0x2132,0x2183,0x2C60,0x2C67,0x2C69,0x2C6B,0x2C72,0x2C75,0x2C82,0x2C84,0x2C86,0x2C88,0x2C8A,0x2C8C,0x2C8E,0x2C90,0x2C92,0x2C94,0x2C96,0x2C98,0x2C9A,0x2C9C,0x2C9E,0x2CA0,0x2CA2,0x2CA4,0x2CA6,0x2CA8,0x2CAA,0x2CAC,0x2CAE,0x2CB0,0x2CB2,0x2CB4,0x2CB6,0x2CB8,0x2CBA,0x2CBC,0x2CBE,0x2CC0,0x2CC2,0x2CC4,0x2CC6,0x2CC8,0x2CCA,0x2CCC,0x2CCE,0x2CD0,0x2CD2,0x2CD4,0x2CD6,0x2CD8,0x2CDA,0x2CDC,0x2CDE,0x2CE0,0x2CE2,0x2CEB,0x2CED,0x2CF2,0xA640,0xA642,0xA644,0xA646,0xA648,0xA64A,0xA64C,0xA64E,0xA650,0xA652,0xA654,0xA656,0xA658,0xA65A,0xA65C,0xA65E,0xA660,0xA662,0xA664,0xA666,0xA668,0xA66A,0xA66C,0xA680,0xA682,0xA684,0xA686,0xA688,0xA68A,0xA68C,0xA68E,0xA690,0xA692,0xA694,0xA696,0xA698,0xA69A,0xA722,0xA724,0xA726,0xA728,0xA72A,0xA72C,0xA72E,0xA732,0xA734,0xA736,0xA738,0xA73A,0xA73C,0xA73E,0xA740,0xA742,0xA744,0xA746,0xA748,0xA74A,0xA74C,0xA74E,0xA750,0xA752,0xA754,0xA756,0xA758,0xA75A,0xA75C,0xA75E,0xA760,0xA762,0xA764,0xA766,0xA768,0xA76A,0xA76C,0xA76E,0xA779,0xA77B,0xA780,0xA782,0xA784,0xA786,0xA78B,0xA78D,0xA790,0xA792,0xA796,0xA798,0xA79A,0xA79C,0xA79E,0xA7A0,0xA7A2,0xA7A4,0xA7A6,0xA7A8,0xA7B6,0xA7B8,0xA7BA,0xA7BC,0xA7BE,0xA7C0,0xA7C2,0xA7C9,0xA7D0,0xA7D6,0xA7D8,0xA7F5);set.addRange(0x41,0x5A).addRange(0xC0,0xD6).addRange(0xD8,0xDE).addRange(0x178,0x179).addRange(0x181,0x182).addRange(0x186,0x187).addRange(0x189,0x18B).addRange(0x18E,0x191).addRange(0x193,0x194).addRange(0x196,0x198).addRange(0x19C,0x19D).addRange(0x19F,0x1A0).addRange(0x1A6,0x1A7).addRange(0x1AE,0x1AF).addRange(0x1B1,0x1B3).addRange(0x1B7,0x1B8).addRange(0x1C4,0x1C5).addRange(0x1C7,0x1C8).addRange(0x1CA,0x1CB).addRange(0x1F1,0x1F2).addRange(0x1F6,0x1F8).addRange(0x23A,0x23B).addRange(0x23D,0x23E).addRange(0x243,0x246).addRange(0x388,0x38A).addRange(0x38E,0x38F).addRange(0x391,0x3A1).addRange(0x3A3,0x3AB).addRange(0x3F9,0x3FA).addRange(0x3FD,0x42F).addRange(0x4C0,0x4C1).addRange(0x531,0x556).addRange(0x10A0,0x10C5).addRange(0x13A0,0x13F5).addRange(0x1C90,0x1CBA).addRange(0x1CBD,0x1CBF).addRange(0x1F08,0x1F0F).addRange(0x1F18,0x1F1D).addRange(0x1F28,0x1F2F).addRange(0x1F38,0x1F3F).addRange(0x1F48,0x1F4D).addRange(0x1F68,0x1F6F).addRange(0x1F88,0x1F8F).addRange(0x1F98,0x1F9F).addRange(0x1FA8,0x1FAF).addRange(0x1FB8,0x1FBC).addRange(0x1FC8,0x1FCC).addRange(0x1FD8,0x1FDB).addRange(0x1FE8,0x1FEC).addRange(0x1FF8,0x1FFC).addRange(0x212A,0x212B);set.addRange(0x2160,0x216F).addRange(0x24B6,0x24CF).addRange(0x2C00,0x2C2F).addRange(0x2C62,0x2C64).addRange(0x2C6D,0x2C70).addRange(0x2C7E,0x2C80).addRange(0xA77D,0xA77E).addRange(0xA7AA,0xA7AE).addRange(0xA7B0,0xA7B4).addRange(0xA7C4,0xA7C7).addRange(0xFF21,0xFF3A).addRange(0x10400,0x10427).addRange(0x104B0,0x104D3).addRange(0x10570,0x1057A).addRange(0x1057C,0x1058A).addRange(0x1058C,0x10592).addRange(0x10594,0x10595).addRange(0x10C80,0x10CB2).addRange(0x118A0,0x118BF).addRange(0x16E40,0x16E5F).addRange(0x1E900,0x1E921);Changes_When_Lowercased.characters=set;return Changes_When_Lowercased;}var Changes_When_NFKC_Casefolded={};var hasRequiredChanges_When_NFKC_Casefolded;function requireChanges_When_NFKC_Casefolded(){if(hasRequiredChanges_When_NFKC_Casefolded)return Changes_When_NFKC_Casefolded;hasRequiredChanges_When_NFKC_Casefolded=1;var set=regenerateExports(0xA0,0xA8,0xAA,0xAD,0xAF,0x100,0x102,0x104,0x106,0x108,0x10A,0x10C,0x10E,0x110,0x112,0x114,0x116,0x118,0x11A,0x11C,0x11E,0x120,0x122,0x124,0x126,0x128,0x12A,0x12C,0x12E,0x130,0x136,0x139,0x13B,0x13D,0x143,0x145,0x147,0x14C,0x14E,0x150,0x152,0x154,0x156,0x158,0x15A,0x15C,0x15E,0x160,0x162,0x164,0x166,0x168,0x16A,0x16C,0x16E,0x170,0x172,0x174,0x176,0x17B,0x17D,0x17F,0x184,0x1A2,0x1A4,0x1A9,0x1AC,0x1B5,0x1BC,0x1CF,0x1D1,0x1D3,0x1D5,0x1D7,0x1D9,0x1DB,0x1DE,0x1E0,0x1E2,0x1E4,0x1E6,0x1E8,0x1EA,0x1EC,0x1EE,0x1FA,0x1FC,0x1FE,0x200,0x202,0x204,0x206,0x208,0x20A,0x20C,0x20E,0x210,0x212,0x214,0x216,0x218,0x21A,0x21C,0x21E,0x220,0x222,0x224,0x226,0x228,0x22A,0x22C,0x22E,0x230,0x232,0x241,0x248,0x24A,0x24C,0x24E,0x34F,0x370,0x372,0x374,0x376,0x37A,0x38C,0x3C2,0x3D8,0x3DA,0x3DC,0x3DE,0x3E0,0x3E2,0x3E4,0x3E6,0x3E8,0x3EA,0x3EC,0x3EE,0x3F7,0x460,0x462,0x464,0x466,0x468,0x46A,0x46C,0x46E,0x470,0x472,0x474,0x476,0x478,0x47A,0x47C,0x47E,0x480,0x48A,0x48C,0x48E,0x490,0x492,0x494,0x496,0x498,0x49A,0x49C,0x49E,0x4A0,0x4A2,0x4A4,0x4A6,0x4A8,0x4AA,0x4AC,0x4AE,0x4B0,0x4B2,0x4B4,0x4B6,0x4B8,0x4BA,0x4BC,0x4BE,0x4C3,0x4C5,0x4C7,0x4C9,0x4CB,0x4CD,0x4D0,0x4D2,0x4D4,0x4D6,0x4D8,0x4DA,0x4DC,0x4DE,0x4E0,0x4E2,0x4E4,0x4E6,0x4E8,0x4EA,0x4EC,0x4EE,0x4F0,0x4F2,0x4F4,0x4F6,0x4F8,0x4FA,0x4FC,0x4FE,0x500,0x502,0x504,0x506,0x508,0x50A,0x50C,0x50E,0x510,0x512,0x514,0x516,0x518,0x51A,0x51C,0x51E,0x520,0x522,0x524,0x526,0x528,0x52A,0x52C,0x52E,0x587,0x61C,0x9DF,0xA33,0xA36,0xA5E,0xE33,0xEB3,0xF0C,0xF43,0xF4D,0xF52,0xF57,0xF5C,0xF69,0xF73,0xF81,0xF93,0xF9D,0xFA2,0xFA7,0xFAC,0xFB9,0x10C7,0x10CD,0x10FC,0x1D78,0x1E00,0x1E02,0x1E04,0x1E06,0x1E08,0x1E0A,0x1E0C,0x1E0E,0x1E10,0x1E12,0x1E14,0x1E16,0x1E18,0x1E1A,0x1E1C,0x1E1E,0x1E20,0x1E22,0x1E24,0x1E26,0x1E28,0x1E2A,0x1E2C,0x1E2E,0x1E30,0x1E32,0x1E34,0x1E36,0x1E38,0x1E3A,0x1E3C,0x1E3E,0x1E40,0x1E42,0x1E44,0x1E46,0x1E48,0x1E4A,0x1E4C,0x1E4E,0x1E50,0x1E52,0x1E54,0x1E56,0x1E58,0x1E5A,0x1E5C,0x1E5E,0x1E60,0x1E62,0x1E64,0x1E66,0x1E68,0x1E6A,0x1E6C,0x1E6E,0x1E70,0x1E72,0x1E74,0x1E76,0x1E78,0x1E7A,0x1E7C,0x1E7E,0x1E80,0x1E82,0x1E84,0x1E86,0x1E88,0x1E8A,0x1E8C,0x1E8E,0x1E90,0x1E92,0x1E94,0x1E9E,0x1EA0,0x1EA2,0x1EA4,0x1EA6,0x1EA8,0x1EAA,0x1EAC,0x1EAE,0x1EB0,0x1EB2,0x1EB4,0x1EB6,0x1EB8,0x1EBA,0x1EBC,0x1EBE,0x1EC0,0x1EC2,0x1EC4,0x1EC6,0x1EC8,0x1ECA,0x1ECC,0x1ECE,0x1ED0,0x1ED2,0x1ED4,0x1ED6,0x1ED8,0x1EDA,0x1EDC,0x1EDE,0x1EE0,0x1EE2,0x1EE4,0x1EE6,0x1EE8,0x1EEA,0x1EEC,0x1EEE,0x1EF0,0x1EF2,0x1EF4,0x1EF6,0x1EF8,0x1EFA,0x1EFC,0x1EFE,0x1F59,0x1F5B,0x1F5D,0x1F5F,0x1F71,0x1F73,0x1F75,0x1F77,0x1F79,0x1F7B,0x1F7D,0x1FD3,0x1FE3,0x2011,0x2017,0x203C,0x203E,0x2057,0x20A8,0x2124,0x2126,0x2128,0x2183,0x2189,0x2A0C,0x2ADC,0x2C60,0x2C67,0x2C69,0x2C6B,0x2C72,0x2C75,0x2C82,0x2C84,0x2C86,0x2C88,0x2C8A,0x2C8C,0x2C8E,0x2C90,0x2C92,0x2C94,0x2C96,0x2C98,0x2C9A,0x2C9C,0x2C9E,0x2CA0,0x2CA2,0x2CA4,0x2CA6,0x2CA8,0x2CAA,0x2CAC,0x2CAE,0x2CB0,0x2CB2,0x2CB4,0x2CB6,0x2CB8,0x2CBA,0x2CBC,0x2CBE,0x2CC0,0x2CC2,0x2CC4,0x2CC6,0x2CC8,0x2CCA,0x2CCC,0x2CCE,0x2CD0,0x2CD2,0x2CD4,0x2CD6,0x2CD8,0x2CDA,0x2CDC,0x2CDE,0x2CE0,0x2CE2,0x2CEB,0x2CED,0x2CF2,0x2D6F,0x2E9F,0x2EF3,0x3000,0x3036,0x309F,0x30FF,0xA640,0xA642,0xA644,0xA646,0xA648,0xA64A,0xA64C,0xA64E,0xA650,0xA652,0xA654,0xA656,0xA658,0xA65A,0xA65C,0xA65E,0xA660,0xA662,0xA664,0xA666,0xA668,0xA66A,0xA66C,0xA680,0xA682,0xA684,0xA686,0xA688,0xA68A,0xA68C,0xA68E,0xA690,0xA692,0xA694,0xA696,0xA698,0xA69A,0xA722,0xA724,0xA726,0xA728,0xA72A,0xA72C,0xA72E,0xA732,0xA734,0xA736,0xA738,0xA73A,0xA73C,0xA73E,0xA740,0xA742,0xA744,0xA746,0xA748,0xA74A,0xA74C,0xA74E,0xA750,0xA752,0xA754,0xA756,0xA758,0xA75A,0xA75C,0xA75E,0xA760,0xA762,0xA764,0xA766,0xA768,0xA76A,0xA76C,0xA76E,0xA770,0xA779,0xA77B,0xA780,0xA782,0xA784,0xA786,0xA78B,0xA78D,0xA790,0xA792,0xA796,0xA798,0xA79A,0xA79C,0xA79E,0xA7A0,0xA7A2,0xA7A4,0xA7A6,0xA7A8,0xA7B6,0xA7B8,0xA7BA,0xA7BC,0xA7BE,0xA7C0,0xA7C2,0xA7C9,0xA7D0,0xA7D6,0xA7D8,0xAB69,0xFA10,0xFA12,0xFA20,0xFA22,0xFB1D,0xFB3E,0xFE74,0xFEFF,0x1D4A2,0x1D4BB,0x1D546,0x1EE24,0x1EE27,0x1EE39,0x1EE3B,0x1EE42,0x1EE47,0x1EE49,0x1EE4B,0x1EE54,0x1EE57,0x1EE59,0x1EE5B,0x1EE5D,0x1EE5F,0x1EE64,0x1EE7E,0x1F190);set.addRange(0x41,0x5A).addRange(0xB2,0xB5).addRange(0xB8,0xBA).addRange(0xBC,0xBE).addRange(0xC0,0xD6).addRange(0xD8,0xDF).addRange(0x132,0x134).addRange(0x13F,0x141).addRange(0x149,0x14A).addRange(0x178,0x179).addRange(0x181,0x182).addRange(0x186,0x187).addRange(0x189,0x18B).addRange(0x18E,0x191).addRange(0x193,0x194).addRange(0x196,0x198).addRange(0x19C,0x19D).addRange(0x19F,0x1A0).addRange(0x1A6,0x1A7).addRange(0x1AE,0x1AF).addRange(0x1B1,0x1B3).addRange(0x1B7,0x1B8).addRange(0x1C4,0x1CD).addRange(0x1F1,0x1F4).addRange(0x1F6,0x1F8).addRange(0x23A,0x23B).addRange(0x23D,0x23E).addRange(0x243,0x246).addRange(0x2B0,0x2B8).addRange(0x2D8,0x2DD).addRange(0x2E0,0x2E4).addRange(0x340,0x341).addRange(0x343,0x345).addRange(0x37E,0x37F).addRange(0x384,0x38A).addRange(0x38E,0x38F).addRange(0x391,0x3A1).addRange(0x3A3,0x3AB).addRange(0x3CF,0x3D6).addRange(0x3F0,0x3F2).addRange(0x3F4,0x3F5).addRange(0x3F9,0x3FA).addRange(0x3FD,0x42F).addRange(0x4C0,0x4C1).addRange(0x531,0x556).addRange(0x675,0x678).addRange(0x958,0x95F).addRange(0x9DC,0x9DD).addRange(0xA59,0xA5B).addRange(0xB5C,0xB5D).addRange(0xEDC,0xEDD);set.addRange(0xF75,0xF79).addRange(0x10A0,0x10C5).addRange(0x115F,0x1160).addRange(0x13F8,0x13FD).addRange(0x17B4,0x17B5).addRange(0x180B,0x180F).addRange(0x1C80,0x1C88).addRange(0x1C90,0x1CBA).addRange(0x1CBD,0x1CBF).addRange(0x1D2C,0x1D2E).addRange(0x1D30,0x1D3A).addRange(0x1D3C,0x1D4D).addRange(0x1D4F,0x1D6A).addRange(0x1D9B,0x1DBF).addRange(0x1E9A,0x1E9B).addRange(0x1F08,0x1F0F).addRange(0x1F18,0x1F1D).addRange(0x1F28,0x1F2F).addRange(0x1F38,0x1F3F).addRange(0x1F48,0x1F4D).addRange(0x1F68,0x1F6F).addRange(0x1F80,0x1FAF).addRange(0x1FB2,0x1FB4).addRange(0x1FB7,0x1FC4).addRange(0x1FC7,0x1FCF).addRange(0x1FD8,0x1FDB).addRange(0x1FDD,0x1FDF).addRange(0x1FE8,0x1FEF).addRange(0x1FF2,0x1FF4).addRange(0x1FF7,0x1FFE).addRange(0x2000,0x200F).addRange(0x2024,0x2026).addRange(0x202A,0x202F).addRange(0x2033,0x2034).addRange(0x2036,0x2037).addRange(0x2047,0x2049).addRange(0x205F,0x2071).addRange(0x2074,0x208E).addRange(0x2090,0x209C).addRange(0x2100,0x2103).addRange(0x2105,0x2107).addRange(0x2109,0x2113).addRange(0x2115,0x2116).addRange(0x2119,0x211D).addRange(0x2120,0x2122).addRange(0x212A,0x212D).addRange(0x212F,0x2139).addRange(0x213B,0x2140).addRange(0x2145,0x2149).addRange(0x2150,0x217F).addRange(0x222C,0x222D);set.addRange(0x222F,0x2230).addRange(0x2329,0x232A).addRange(0x2460,0x24EA).addRange(0x2A74,0x2A76).addRange(0x2C00,0x2C2F).addRange(0x2C62,0x2C64).addRange(0x2C6D,0x2C70).addRange(0x2C7C,0x2C80).addRange(0x2F00,0x2FD5).addRange(0x3038,0x303A).addRange(0x309B,0x309C).addRange(0x3131,0x318E).addRange(0x3192,0x319F).addRange(0x3200,0x321E).addRange(0x3220,0x3247).addRange(0x3250,0x327E).addRange(0x3280,0x33FF).addRange(0xA69C,0xA69D).addRange(0xA77D,0xA77E).addRange(0xA7AA,0xA7AE).addRange(0xA7B0,0xA7B4).addRange(0xA7C4,0xA7C7).addRange(0xA7F2,0xA7F5).addRange(0xA7F8,0xA7F9).addRange(0xAB5C,0xAB5F).addRange(0xAB70,0xABBF).addRange(0xF900,0xFA0D).addRange(0xFA15,0xFA1E).addRange(0xFA25,0xFA26).addRange(0xFA2A,0xFA6D).addRange(0xFA70,0xFAD9).addRange(0xFB00,0xFB06).addRange(0xFB13,0xFB17).addRange(0xFB1F,0xFB36).addRange(0xFB38,0xFB3C).addRange(0xFB40,0xFB41).addRange(0xFB43,0xFB44).addRange(0xFB46,0xFBB1).addRange(0xFBD3,0xFD3D).addRange(0xFD50,0xFD8F).addRange(0xFD92,0xFDC7).addRange(0xFDF0,0xFDFC).addRange(0xFE00,0xFE19).addRange(0xFE30,0xFE44).addRange(0xFE47,0xFE52).addRange(0xFE54,0xFE66).addRange(0xFE68,0xFE6B).addRange(0xFE70,0xFE72).addRange(0xFE76,0xFEFC).addRange(0xFF01,0xFFBE).addRange(0xFFC2,0xFFC7);set.addRange(0xFFCA,0xFFCF).addRange(0xFFD2,0xFFD7).addRange(0xFFDA,0xFFDC).addRange(0xFFE0,0xFFE6).addRange(0xFFE8,0xFFEE).addRange(0xFFF0,0xFFF8).addRange(0x10400,0x10427).addRange(0x104B0,0x104D3).addRange(0x10570,0x1057A).addRange(0x1057C,0x1058A).addRange(0x1058C,0x10592).addRange(0x10594,0x10595).addRange(0x10781,0x10785).addRange(0x10787,0x107B0).addRange(0x107B2,0x107BA).addRange(0x10C80,0x10CB2).addRange(0x118A0,0x118BF).addRange(0x16E40,0x16E5F).addRange(0x1BCA0,0x1BCA3).addRange(0x1D15E,0x1D164).addRange(0x1D173,0x1D17A).addRange(0x1D1BB,0x1D1C0).addRange(0x1D400,0x1D454).addRange(0x1D456,0x1D49C).addRange(0x1D49E,0x1D49F).addRange(0x1D4A5,0x1D4A6).addRange(0x1D4A9,0x1D4AC).addRange(0x1D4AE,0x1D4B9).addRange(0x1D4BD,0x1D4C3).addRange(0x1D4C5,0x1D505).addRange(0x1D507,0x1D50A).addRange(0x1D50D,0x1D514).addRange(0x1D516,0x1D51C).addRange(0x1D51E,0x1D539).addRange(0x1D53B,0x1D53E).addRange(0x1D540,0x1D544).addRange(0x1D54A,0x1D550).addRange(0x1D552,0x1D6A5).addRange(0x1D6A8,0x1D7CB).addRange(0x1D7CE,0x1D7FF).addRange(0x1E030,0x1E06D).addRange(0x1E900,0x1E921).addRange(0x1EE00,0x1EE03).addRange(0x1EE05,0x1EE1F).addRange(0x1EE21,0x1EE22).addRange(0x1EE29,0x1EE32).addRange(0x1EE34,0x1EE37).addRange(0x1EE4D,0x1EE4F).addRange(0x1EE51,0x1EE52).addRange(0x1EE61,0x1EE62).addRange(0x1EE67,0x1EE6A);set.addRange(0x1EE6C,0x1EE72).addRange(0x1EE74,0x1EE77).addRange(0x1EE79,0x1EE7C).addRange(0x1EE80,0x1EE89).addRange(0x1EE8B,0x1EE9B).addRange(0x1EEA1,0x1EEA3).addRange(0x1EEA5,0x1EEA9).addRange(0x1EEAB,0x1EEBB).addRange(0x1F100,0x1F10A).addRange(0x1F110,0x1F12E).addRange(0x1F130,0x1F14F).addRange(0x1F16A,0x1F16C).addRange(0x1F200,0x1F202).addRange(0x1F210,0x1F23B).addRange(0x1F240,0x1F248).addRange(0x1F250,0x1F251).addRange(0x1FBF0,0x1FBF9).addRange(0x2F800,0x2FA1D).addRange(0xE0000,0xE0FFF);Changes_When_NFKC_Casefolded.characters=set;return Changes_When_NFKC_Casefolded;}var Changes_When_Titlecased={};var hasRequiredChanges_When_Titlecased;function requireChanges_When_Titlecased(){if(hasRequiredChanges_When_Titlecased)return Changes_When_Titlecased;hasRequiredChanges_When_Titlecased=1;var set=regenerateExports(0xB5,0x101,0x103,0x105,0x107,0x109,0x10B,0x10D,0x10F,0x111,0x113,0x115,0x117,0x119,0x11B,0x11D,0x11F,0x121,0x123,0x125,0x127,0x129,0x12B,0x12D,0x12F,0x131,0x133,0x135,0x137,0x13A,0x13C,0x13E,0x140,0x142,0x144,0x146,0x14B,0x14D,0x14F,0x151,0x153,0x155,0x157,0x159,0x15B,0x15D,0x15F,0x161,0x163,0x165,0x167,0x169,0x16B,0x16D,0x16F,0x171,0x173,0x175,0x177,0x17A,0x17C,0x183,0x185,0x188,0x18C,0x192,0x195,0x19E,0x1A1,0x1A3,0x1A5,0x1A8,0x1AD,0x1B0,0x1B4,0x1B6,0x1B9,0x1BD,0x1BF,0x1C4,0x1CC,0x1CE,0x1D0,0x1D2,0x1D4,0x1D6,0x1D8,0x1DA,0x1DF,0x1E1,0x1E3,0x1E5,0x1E7,0x1E9,0x1EB,0x1ED,0x1F3,0x1F5,0x1F9,0x1FB,0x1FD,0x1FF,0x201,0x203,0x205,0x207,0x209,0x20B,0x20D,0x20F,0x211,0x213,0x215,0x217,0x219,0x21B,0x21D,0x21F,0x223,0x225,0x227,0x229,0x22B,0x22D,0x22F,0x231,0x233,0x23C,0x242,0x247,0x249,0x24B,0x24D,0x259,0x263,0x26F,0x275,0x27D,0x280,0x292,0x345,0x371,0x373,0x377,0x390,0x3D9,0x3DB,0x3DD,0x3DF,0x3E1,0x3E3,0x3E5,0x3E7,0x3E9,0x3EB,0x3ED,0x3F5,0x3F8,0x3FB,0x461,0x463,0x465,0x467,0x469,0x46B,0x46D,0x46F,0x471,0x473,0x475,0x477,0x479,0x47B,0x47D,0x47F,0x481,0x48B,0x48D,0x48F,0x491,0x493,0x495,0x497,0x499,0x49B,0x49D,0x49F,0x4A1,0x4A3,0x4A5,0x4A7,0x4A9,0x4AB,0x4AD,0x4AF,0x4B1,0x4B3,0x4B5,0x4B7,0x4B9,0x4BB,0x4BD,0x4BF,0x4C2,0x4C4,0x4C6,0x4C8,0x4CA,0x4CC,0x4D1,0x4D3,0x4D5,0x4D7,0x4D9,0x4DB,0x4DD,0x4DF,0x4E1,0x4E3,0x4E5,0x4E7,0x4E9,0x4EB,0x4ED,0x4EF,0x4F1,0x4F3,0x4F5,0x4F7,0x4F9,0x4FB,0x4FD,0x4FF,0x501,0x503,0x505,0x507,0x509,0x50B,0x50D,0x50F,0x511,0x513,0x515,0x517,0x519,0x51B,0x51D,0x51F,0x521,0x523,0x525,0x527,0x529,0x52B,0x52D,0x52F,0x1D79,0x1D7D,0x1D8E,0x1E01,0x1E03,0x1E05,0x1E07,0x1E09,0x1E0B,0x1E0D,0x1E0F,0x1E11,0x1E13,0x1E15,0x1E17,0x1E19,0x1E1B,0x1E1D,0x1E1F,0x1E21,0x1E23,0x1E25,0x1E27,0x1E29,0x1E2B,0x1E2D,0x1E2F,0x1E31,0x1E33,0x1E35,0x1E37,0x1E39,0x1E3B,0x1E3D,0x1E3F,0x1E41,0x1E43,0x1E45,0x1E47,0x1E49,0x1E4B,0x1E4D,0x1E4F,0x1E51,0x1E53,0x1E55,0x1E57,0x1E59,0x1E5B,0x1E5D,0x1E5F,0x1E61,0x1E63,0x1E65,0x1E67,0x1E69,0x1E6B,0x1E6D,0x1E6F,0x1E71,0x1E73,0x1E75,0x1E77,0x1E79,0x1E7B,0x1E7D,0x1E7F,0x1E81,0x1E83,0x1E85,0x1E87,0x1E89,0x1E8B,0x1E8D,0x1E8F,0x1E91,0x1E93,0x1EA1,0x1EA3,0x1EA5,0x1EA7,0x1EA9,0x1EAB,0x1EAD,0x1EAF,0x1EB1,0x1EB3,0x1EB5,0x1EB7,0x1EB9,0x1EBB,0x1EBD,0x1EBF,0x1EC1,0x1EC3,0x1EC5,0x1EC7,0x1EC9,0x1ECB,0x1ECD,0x1ECF,0x1ED1,0x1ED3,0x1ED5,0x1ED7,0x1ED9,0x1EDB,0x1EDD,0x1EDF,0x1EE1,0x1EE3,0x1EE5,0x1EE7,0x1EE9,0x1EEB,0x1EED,0x1EEF,0x1EF1,0x1EF3,0x1EF5,0x1EF7,0x1EF9,0x1EFB,0x1EFD,0x1FBE,0x214E,0x2184,0x2C61,0x2C68,0x2C6A,0x2C6C,0x2C73,0x2C76,0x2C81,0x2C83,0x2C85,0x2C87,0x2C89,0x2C8B,0x2C8D,0x2C8F,0x2C91,0x2C93,0x2C95,0x2C97,0x2C99,0x2C9B,0x2C9D,0x2C9F,0x2CA1,0x2CA3,0x2CA5,0x2CA7,0x2CA9,0x2CAB,0x2CAD,0x2CAF,0x2CB1,0x2CB3,0x2CB5,0x2CB7,0x2CB9,0x2CBB,0x2CBD,0x2CBF,0x2CC1,0x2CC3,0x2CC5,0x2CC7,0x2CC9,0x2CCB,0x2CCD,0x2CCF,0x2CD1,0x2CD3,0x2CD5,0x2CD7,0x2CD9,0x2CDB,0x2CDD,0x2CDF,0x2CE1,0x2CE3,0x2CEC,0x2CEE,0x2CF3,0x2D27,0x2D2D,0xA641,0xA643,0xA645,0xA647,0xA649,0xA64B,0xA64D,0xA64F,0xA651,0xA653,0xA655,0xA657,0xA659,0xA65B,0xA65D,0xA65F,0xA661,0xA663,0xA665,0xA667,0xA669,0xA66B,0xA66D,0xA681,0xA683,0xA685,0xA687,0xA689,0xA68B,0xA68D,0xA68F,0xA691,0xA693,0xA695,0xA697,0xA699,0xA69B,0xA723,0xA725,0xA727,0xA729,0xA72B,0xA72D,0xA72F,0xA733,0xA735,0xA737,0xA739,0xA73B,0xA73D,0xA73F,0xA741,0xA743,0xA745,0xA747,0xA749,0xA74B,0xA74D,0xA74F,0xA751,0xA753,0xA755,0xA757,0xA759,0xA75B,0xA75D,0xA75F,0xA761,0xA763,0xA765,0xA767,0xA769,0xA76B,0xA76D,0xA76F,0xA77A,0xA77C,0xA77F,0xA781,0xA783,0xA785,0xA787,0xA78C,0xA791,0xA797,0xA799,0xA79B,0xA79D,0xA79F,0xA7A1,0xA7A3,0xA7A5,0xA7A7,0xA7A9,0xA7B5,0xA7B7,0xA7B9,0xA7BB,0xA7BD,0xA7BF,0xA7C1,0xA7C3,0xA7C8,0xA7CA,0xA7D1,0xA7D7,0xA7D9,0xA7F6,0xAB53);set.addRange(0x61,0x7A).addRange(0xDF,0xF6).addRange(0xF8,0xFF).addRange(0x148,0x149).addRange(0x17E,0x180).addRange(0x199,0x19A).addRange(0x1C6,0x1C7).addRange(0x1C9,0x1CA).addRange(0x1DC,0x1DD).addRange(0x1EF,0x1F1).addRange(0x23F,0x240).addRange(0x24F,0x254).addRange(0x256,0x257).addRange(0x25B,0x25C).addRange(0x260,0x261).addRange(0x265,0x266).addRange(0x268,0x26C).addRange(0x271,0x272).addRange(0x282,0x283).addRange(0x287,0x28C).addRange(0x29D,0x29E).addRange(0x37B,0x37D).addRange(0x3AC,0x3CE).addRange(0x3D0,0x3D1).addRange(0x3D5,0x3D7).addRange(0x3EF,0x3F3).addRange(0x430,0x45F).addRange(0x4CE,0x4CF).addRange(0x561,0x587).addRange(0x13F8,0x13FD).addRange(0x1C80,0x1C88).addRange(0x1E95,0x1E9B).addRange(0x1EFF,0x1F07).addRange(0x1F10,0x1F15).addRange(0x1F20,0x1F27).addRange(0x1F30,0x1F37).addRange(0x1F40,0x1F45).addRange(0x1F50,0x1F57).addRange(0x1F60,0x1F67).addRange(0x1F70,0x1F7D).addRange(0x1F80,0x1F87).addRange(0x1F90,0x1F97).addRange(0x1FA0,0x1FA7).addRange(0x1FB0,0x1FB4).addRange(0x1FB6,0x1FB7).addRange(0x1FC2,0x1FC4).addRange(0x1FC6,0x1FC7).addRange(0x1FD0,0x1FD3).addRange(0x1FD6,0x1FD7).addRange(0x1FE0,0x1FE7).addRange(0x1FF2,0x1FF4);set.addRange(0x1FF6,0x1FF7).addRange(0x2170,0x217F).addRange(0x24D0,0x24E9).addRange(0x2C30,0x2C5F).addRange(0x2C65,0x2C66).addRange(0x2D00,0x2D25).addRange(0xA793,0xA794).addRange(0xAB70,0xABBF).addRange(0xFB00,0xFB06).addRange(0xFB13,0xFB17).addRange(0xFF41,0xFF5A).addRange(0x10428,0x1044F).addRange(0x104D8,0x104FB).addRange(0x10597,0x105A1).addRange(0x105A3,0x105B1).addRange(0x105B3,0x105B9).addRange(0x105BB,0x105BC).addRange(0x10CC0,0x10CF2).addRange(0x118C0,0x118DF).addRange(0x16E60,0x16E7F).addRange(0x1E922,0x1E943);Changes_When_Titlecased.characters=set;return Changes_When_Titlecased;}var Changes_When_Uppercased={};var hasRequiredChanges_When_Uppercased;function requireChanges_When_Uppercased(){if(hasRequiredChanges_When_Uppercased)return Changes_When_Uppercased;hasRequiredChanges_When_Uppercased=1;var set=regenerateExports(0xB5,0x101,0x103,0x105,0x107,0x109,0x10B,0x10D,0x10F,0x111,0x113,0x115,0x117,0x119,0x11B,0x11D,0x11F,0x121,0x123,0x125,0x127,0x129,0x12B,0x12D,0x12F,0x131,0x133,0x135,0x137,0x13A,0x13C,0x13E,0x140,0x142,0x144,0x146,0x14B,0x14D,0x14F,0x151,0x153,0x155,0x157,0x159,0x15B,0x15D,0x15F,0x161,0x163,0x165,0x167,0x169,0x16B,0x16D,0x16F,0x171,0x173,0x175,0x177,0x17A,0x17C,0x183,0x185,0x188,0x18C,0x192,0x195,0x19E,0x1A1,0x1A3,0x1A5,0x1A8,0x1AD,0x1B0,0x1B4,0x1B6,0x1B9,0x1BD,0x1BF,0x1CE,0x1D0,0x1D2,0x1D4,0x1D6,0x1D8,0x1DA,0x1DF,0x1E1,0x1E3,0x1E5,0x1E7,0x1E9,0x1EB,0x1ED,0x1F5,0x1F9,0x1FB,0x1FD,0x1FF,0x201,0x203,0x205,0x207,0x209,0x20B,0x20D,0x20F,0x211,0x213,0x215,0x217,0x219,0x21B,0x21D,0x21F,0x223,0x225,0x227,0x229,0x22B,0x22D,0x22F,0x231,0x233,0x23C,0x242,0x247,0x249,0x24B,0x24D,0x259,0x263,0x26F,0x275,0x27D,0x280,0x292,0x345,0x371,0x373,0x377,0x390,0x3D9,0x3DB,0x3DD,0x3DF,0x3E1,0x3E3,0x3E5,0x3E7,0x3E9,0x3EB,0x3ED,0x3F5,0x3F8,0x3FB,0x461,0x463,0x465,0x467,0x469,0x46B,0x46D,0x46F,0x471,0x473,0x475,0x477,0x479,0x47B,0x47D,0x47F,0x481,0x48B,0x48D,0x48F,0x491,0x493,0x495,0x497,0x499,0x49B,0x49D,0x49F,0x4A1,0x4A3,0x4A5,0x4A7,0x4A9,0x4AB,0x4AD,0x4AF,0x4B1,0x4B3,0x4B5,0x4B7,0x4B9,0x4BB,0x4BD,0x4BF,0x4C2,0x4C4,0x4C6,0x4C8,0x4CA,0x4CC,0x4D1,0x4D3,0x4D5,0x4D7,0x4D9,0x4DB,0x4DD,0x4DF,0x4E1,0x4E3,0x4E5,0x4E7,0x4E9,0x4EB,0x4ED,0x4EF,0x4F1,0x4F3,0x4F5,0x4F7,0x4F9,0x4FB,0x4FD,0x4FF,0x501,0x503,0x505,0x507,0x509,0x50B,0x50D,0x50F,0x511,0x513,0x515,0x517,0x519,0x51B,0x51D,0x51F,0x521,0x523,0x525,0x527,0x529,0x52B,0x52D,0x52F,0x1D79,0x1D7D,0x1D8E,0x1E01,0x1E03,0x1E05,0x1E07,0x1E09,0x1E0B,0x1E0D,0x1E0F,0x1E11,0x1E13,0x1E15,0x1E17,0x1E19,0x1E1B,0x1E1D,0x1E1F,0x1E21,0x1E23,0x1E25,0x1E27,0x1E29,0x1E2B,0x1E2D,0x1E2F,0x1E31,0x1E33,0x1E35,0x1E37,0x1E39,0x1E3B,0x1E3D,0x1E3F,0x1E41,0x1E43,0x1E45,0x1E47,0x1E49,0x1E4B,0x1E4D,0x1E4F,0x1E51,0x1E53,0x1E55,0x1E57,0x1E59,0x1E5B,0x1E5D,0x1E5F,0x1E61,0x1E63,0x1E65,0x1E67,0x1E69,0x1E6B,0x1E6D,0x1E6F,0x1E71,0x1E73,0x1E75,0x1E77,0x1E79,0x1E7B,0x1E7D,0x1E7F,0x1E81,0x1E83,0x1E85,0x1E87,0x1E89,0x1E8B,0x1E8D,0x1E8F,0x1E91,0x1E93,0x1EA1,0x1EA3,0x1EA5,0x1EA7,0x1EA9,0x1EAB,0x1EAD,0x1EAF,0x1EB1,0x1EB3,0x1EB5,0x1EB7,0x1EB9,0x1EBB,0x1EBD,0x1EBF,0x1EC1,0x1EC3,0x1EC5,0x1EC7,0x1EC9,0x1ECB,0x1ECD,0x1ECF,0x1ED1,0x1ED3,0x1ED5,0x1ED7,0x1ED9,0x1EDB,0x1EDD,0x1EDF,0x1EE1,0x1EE3,0x1EE5,0x1EE7,0x1EE9,0x1EEB,0x1EED,0x1EEF,0x1EF1,0x1EF3,0x1EF5,0x1EF7,0x1EF9,0x1EFB,0x1EFD,0x1FBC,0x1FBE,0x1FCC,0x1FFC,0x214E,0x2184,0x2C61,0x2C68,0x2C6A,0x2C6C,0x2C73,0x2C76,0x2C81,0x2C83,0x2C85,0x2C87,0x2C89,0x2C8B,0x2C8D,0x2C8F,0x2C91,0x2C93,0x2C95,0x2C97,0x2C99,0x2C9B,0x2C9D,0x2C9F,0x2CA1,0x2CA3,0x2CA5,0x2CA7,0x2CA9,0x2CAB,0x2CAD,0x2CAF,0x2CB1,0x2CB3,0x2CB5,0x2CB7,0x2CB9,0x2CBB,0x2CBD,0x2CBF,0x2CC1,0x2CC3,0x2CC5,0x2CC7,0x2CC9,0x2CCB,0x2CCD,0x2CCF,0x2CD1,0x2CD3,0x2CD5,0x2CD7,0x2CD9,0x2CDB,0x2CDD,0x2CDF,0x2CE1,0x2CE3,0x2CEC,0x2CEE,0x2CF3,0x2D27,0x2D2D,0xA641,0xA643,0xA645,0xA647,0xA649,0xA64B,0xA64D,0xA64F,0xA651,0xA653,0xA655,0xA657,0xA659,0xA65B,0xA65D,0xA65F,0xA661,0xA663,0xA665,0xA667,0xA669,0xA66B,0xA66D,0xA681,0xA683,0xA685,0xA687,0xA689,0xA68B,0xA68D,0xA68F,0xA691,0xA693,0xA695,0xA697,0xA699,0xA69B,0xA723,0xA725,0xA727,0xA729,0xA72B,0xA72D,0xA72F,0xA733,0xA735,0xA737,0xA739,0xA73B,0xA73D,0xA73F,0xA741,0xA743,0xA745,0xA747,0xA749,0xA74B,0xA74D,0xA74F,0xA751,0xA753,0xA755,0xA757,0xA759,0xA75B,0xA75D,0xA75F,0xA761,0xA763,0xA765,0xA767,0xA769,0xA76B,0xA76D,0xA76F,0xA77A,0xA77C,0xA77F,0xA781,0xA783,0xA785,0xA787,0xA78C,0xA791,0xA797,0xA799,0xA79B,0xA79D,0xA79F,0xA7A1,0xA7A3,0xA7A5,0xA7A7,0xA7A9,0xA7B5,0xA7B7,0xA7B9,0xA7BB,0xA7BD,0xA7BF,0xA7C1,0xA7C3,0xA7C8,0xA7CA,0xA7D1,0xA7D7,0xA7D9,0xA7F6,0xAB53);set.addRange(0x61,0x7A).addRange(0xDF,0xF6).addRange(0xF8,0xFF).addRange(0x148,0x149).addRange(0x17E,0x180).addRange(0x199,0x19A).addRange(0x1C5,0x1C6).addRange(0x1C8,0x1C9).addRange(0x1CB,0x1CC).addRange(0x1DC,0x1DD).addRange(0x1EF,0x1F0).addRange(0x1F2,0x1F3).addRange(0x23F,0x240).addRange(0x24F,0x254).addRange(0x256,0x257).addRange(0x25B,0x25C).addRange(0x260,0x261).addRange(0x265,0x266).addRange(0x268,0x26C).addRange(0x271,0x272).addRange(0x282,0x283).addRange(0x287,0x28C).addRange(0x29D,0x29E).addRange(0x37B,0x37D).addRange(0x3AC,0x3CE).addRange(0x3D0,0x3D1).addRange(0x3D5,0x3D7).addRange(0x3EF,0x3F3).addRange(0x430,0x45F).addRange(0x4CE,0x4CF).addRange(0x561,0x587).addRange(0x10D0,0x10FA).addRange(0x10FD,0x10FF).addRange(0x13F8,0x13FD).addRange(0x1C80,0x1C88).addRange(0x1E95,0x1E9B).addRange(0x1EFF,0x1F07).addRange(0x1F10,0x1F15).addRange(0x1F20,0x1F27).addRange(0x1F30,0x1F37).addRange(0x1F40,0x1F45).addRange(0x1F50,0x1F57).addRange(0x1F60,0x1F67).addRange(0x1F70,0x1F7D).addRange(0x1F80,0x1FB4).addRange(0x1FB6,0x1FB7).addRange(0x1FC2,0x1FC4).addRange(0x1FC6,0x1FC7).addRange(0x1FD0,0x1FD3).addRange(0x1FD6,0x1FD7).addRange(0x1FE0,0x1FE7);set.addRange(0x1FF2,0x1FF4).addRange(0x1FF6,0x1FF7).addRange(0x2170,0x217F).addRange(0x24D0,0x24E9).addRange(0x2C30,0x2C5F).addRange(0x2C65,0x2C66).addRange(0x2D00,0x2D25).addRange(0xA793,0xA794).addRange(0xAB70,0xABBF).addRange(0xFB00,0xFB06).addRange(0xFB13,0xFB17).addRange(0xFF41,0xFF5A).addRange(0x10428,0x1044F).addRange(0x104D8,0x104FB).addRange(0x10597,0x105A1).addRange(0x105A3,0x105B1).addRange(0x105B3,0x105B9).addRange(0x105BB,0x105BC).addRange(0x10CC0,0x10CF2).addRange(0x118C0,0x118DF).addRange(0x16E60,0x16E7F).addRange(0x1E922,0x1E943);Changes_When_Uppercased.characters=set;return Changes_When_Uppercased;}var Dash={};var hasRequiredDash;function requireDash(){if(hasRequiredDash)return Dash;hasRequiredDash=1;var set=regenerateExports(0x2D,0x58A,0x5BE,0x1400,0x1806,0x2053,0x207B,0x208B,0x2212,0x2E17,0x2E1A,0x2E40,0x2E5D,0x301C,0x3030,0x30A0,0xFE58,0xFE63,0xFF0D,0x10EAD);set.addRange(0x2010,0x2015).addRange(0x2E3A,0x2E3B).addRange(0xFE31,0xFE32);Dash.characters=set;return Dash;}var Default_Ignorable_Code_Point={};var hasRequiredDefault_Ignorable_Code_Point;function requireDefault_Ignorable_Code_Point(){if(hasRequiredDefault_Ignorable_Code_Point)return Default_Ignorable_Code_Point;hasRequiredDefault_Ignorable_Code_Point=1;var set=regenerateExports(0xAD,0x34F,0x61C,0x3164,0xFEFF,0xFFA0);set.addRange(0x115F,0x1160).addRange(0x17B4,0x17B5).addRange(0x180B,0x180F).addRange(0x200B,0x200F).addRange(0x202A,0x202E).addRange(0x2060,0x206F).addRange(0xFE00,0xFE0F).addRange(0xFFF0,0xFFF8).addRange(0x1BCA0,0x1BCA3).addRange(0x1D173,0x1D17A).addRange(0xE0000,0xE0FFF);Default_Ignorable_Code_Point.characters=set;return Default_Ignorable_Code_Point;}var Deprecated={};var hasRequiredDeprecated;function requireDeprecated(){if(hasRequiredDeprecated)return Deprecated;hasRequiredDeprecated=1;var set=regenerateExports(0x149,0x673,0xF77,0xF79,0xE0001);set.addRange(0x17A3,0x17A4).addRange(0x206A,0x206F).addRange(0x2329,0x232A);Deprecated.characters=set;return Deprecated;}var Diacritic={};var hasRequiredDiacritic;function requireDiacritic(){if(hasRequiredDiacritic)return Diacritic;hasRequiredDiacritic=1;var set=regenerateExports(0x5E,0x60,0xA8,0xAF,0xB4,0x37A,0x559,0x5BF,0x5C4,0x93C,0x94D,0x971,0x9BC,0x9CD,0xA3C,0xA4D,0xABC,0xACD,0xB3C,0xB4D,0xB55,0xBCD,0xC3C,0xC4D,0xCBC,0xCCD,0xD4D,0xDCA,0xE4E,0xEBA,0xF35,0xF37,0xF39,0xFC6,0x1037,0x108F,0x17DD,0x1A7F,0x1B34,0x1B44,0x1CED,0x1CF4,0x1FBD,0x2E2F,0x30FC,0xA66F,0xA67F,0xA8C4,0xA953,0xA9B3,0xA9C0,0xA9E5,0xAAF6,0xFB1E,0xFF3E,0xFF40,0xFF70,0xFFE3,0x102E0,0x11046,0x11070,0x11173,0x111C0,0x1133C,0x1134D,0x11442,0x11446,0x1163F,0x1172B,0x11943,0x119E0,0x11A34,0x11A47,0x11A99,0x11C3F,0x11D42,0x11D97,0x1E2AE);set.addRange(0xB7,0xB8).addRange(0x2B0,0x34E).addRange(0x350,0x357).addRange(0x35D,0x362).addRange(0x374,0x375).addRange(0x384,0x385).addRange(0x483,0x487).addRange(0x591,0x5A1).addRange(0x5A3,0x5BD).addRange(0x5C1,0x5C2).addRange(0x64B,0x652).addRange(0x657,0x658).addRange(0x6DF,0x6E0).addRange(0x6E5,0x6E6).addRange(0x6EA,0x6EC).addRange(0x730,0x74A).addRange(0x7A6,0x7B0).addRange(0x7EB,0x7F5).addRange(0x818,0x819).addRange(0x898,0x89F).addRange(0x8C9,0x8D2).addRange(0x8E3,0x8FE).addRange(0x951,0x954).addRange(0xAFD,0xAFF).addRange(0xD3B,0xD3C).addRange(0xE47,0xE4C).addRange(0xEC8,0xECC).addRange(0xF18,0xF19).addRange(0xF3E,0xF3F).addRange(0xF82,0xF84).addRange(0xF86,0xF87).addRange(0x1039,0x103A).addRange(0x1063,0x1064).addRange(0x1069,0x106D).addRange(0x1087,0x108D).addRange(0x109A,0x109B).addRange(0x135D,0x135F).addRange(0x1714,0x1715).addRange(0x17C9,0x17D3).addRange(0x1939,0x193B).addRange(0x1A75,0x1A7C).addRange(0x1AB0,0x1ABE).addRange(0x1AC1,0x1ACB).addRange(0x1B6B,0x1B73).addRange(0x1BAA,0x1BAB).addRange(0x1C36,0x1C37).addRange(0x1C78,0x1C7D).addRange(0x1CD0,0x1CE8).addRange(0x1CF7,0x1CF9).addRange(0x1D2C,0x1D6A).addRange(0x1DC4,0x1DCF);set.addRange(0x1DF5,0x1DFF).addRange(0x1FBF,0x1FC1).addRange(0x1FCD,0x1FCF).addRange(0x1FDD,0x1FDF).addRange(0x1FED,0x1FEF).addRange(0x1FFD,0x1FFE).addRange(0x2CEF,0x2CF1).addRange(0x302A,0x302F).addRange(0x3099,0x309C).addRange(0xA67C,0xA67D).addRange(0xA69C,0xA69D).addRange(0xA6F0,0xA6F1).addRange(0xA700,0xA721).addRange(0xA788,0xA78A).addRange(0xA7F8,0xA7F9).addRange(0xA8E0,0xA8F1).addRange(0xA92B,0xA92E).addRange(0xAA7B,0xAA7D).addRange(0xAABF,0xAAC2).addRange(0xAB5B,0xAB5F).addRange(0xAB69,0xAB6B).addRange(0xABEC,0xABED).addRange(0xFE20,0xFE2F).addRange(0xFF9E,0xFF9F).addRange(0x10780,0x10785).addRange(0x10787,0x107B0).addRange(0x107B2,0x107BA).addRange(0x10AE5,0x10AE6).addRange(0x10D22,0x10D27).addRange(0x10EFD,0x10EFF).addRange(0x10F46,0x10F50).addRange(0x10F82,0x10F85).addRange(0x110B9,0x110BA).addRange(0x11133,0x11134).addRange(0x111CA,0x111CC).addRange(0x11235,0x11236).addRange(0x112E9,0x112EA).addRange(0x11366,0x1136C).addRange(0x11370,0x11374).addRange(0x114C2,0x114C3).addRange(0x115BF,0x115C0).addRange(0x116B6,0x116B7).addRange(0x11839,0x1183A).addRange(0x1193D,0x1193E).addRange(0x11D44,0x11D45).addRange(0x13447,0x13455).addRange(0x16AF0,0x16AF4).addRange(0x16B30,0x16B36).addRange(0x16F8F,0x16F9F).addRange(0x16FF0,0x16FF1).addRange(0x1AFF0,0x1AFF3);set.addRange(0x1AFF5,0x1AFFB).addRange(0x1AFFD,0x1AFFE).addRange(0x1CF00,0x1CF2D).addRange(0x1CF30,0x1CF46).addRange(0x1D167,0x1D169).addRange(0x1D16D,0x1D172).addRange(0x1D17B,0x1D182).addRange(0x1D185,0x1D18B).addRange(0x1D1AA,0x1D1AD).addRange(0x1E030,0x1E06D).addRange(0x1E130,0x1E136).addRange(0x1E2EC,0x1E2EF).addRange(0x1E8D0,0x1E8D6).addRange(0x1E944,0x1E946).addRange(0x1E948,0x1E94A);Diacritic.characters=set;return Diacritic;}var Emoji_Component={};var hasRequiredEmoji_Component;function requireEmoji_Component(){if(hasRequiredEmoji_Component)return Emoji_Component;hasRequiredEmoji_Component=1;var set=regenerateExports(0x23,0x2A,0x200D,0x20E3,0xFE0F);set.addRange(0x30,0x39).addRange(0x1F1E6,0x1F1FF).addRange(0x1F3FB,0x1F3FF).addRange(0x1F9B0,0x1F9B3).addRange(0xE0020,0xE007F);Emoji_Component.characters=set;return Emoji_Component;}var Emoji_Modifier_Base={};var hasRequiredEmoji_Modifier_Base;function requireEmoji_Modifier_Base(){if(hasRequiredEmoji_Modifier_Base)return Emoji_Modifier_Base;hasRequiredEmoji_Modifier_Base=1;var set=regenerateExports(0x261D,0x26F9,0x1F385,0x1F3C7,0x1F47C,0x1F48F,0x1F491,0x1F4AA,0x1F57A,0x1F590,0x1F6A3,0x1F6C0,0x1F6CC,0x1F90C,0x1F90F,0x1F926,0x1F977,0x1F9BB);set.addRange(0x270A,0x270D).addRange(0x1F3C2,0x1F3C4).addRange(0x1F3CA,0x1F3CC).addRange(0x1F442,0x1F443).addRange(0x1F446,0x1F450).addRange(0x1F466,0x1F478).addRange(0x1F481,0x1F483).addRange(0x1F485,0x1F487).addRange(0x1F574,0x1F575).addRange(0x1F595,0x1F596).addRange(0x1F645,0x1F647).addRange(0x1F64B,0x1F64F).addRange(0x1F6B4,0x1F6B6).addRange(0x1F918,0x1F91F).addRange(0x1F930,0x1F939).addRange(0x1F93C,0x1F93E).addRange(0x1F9B5,0x1F9B6).addRange(0x1F9B8,0x1F9B9).addRange(0x1F9CD,0x1F9CF).addRange(0x1F9D1,0x1F9DD).addRange(0x1FAC3,0x1FAC5).addRange(0x1FAF0,0x1FAF8);Emoji_Modifier_Base.characters=set;return Emoji_Modifier_Base;}var Emoji_Modifier={};var hasRequiredEmoji_Modifier;function requireEmoji_Modifier(){if(hasRequiredEmoji_Modifier)return Emoji_Modifier;hasRequiredEmoji_Modifier=1;var set=regenerateExports();set.addRange(0x1F3FB,0x1F3FF);Emoji_Modifier.characters=set;return Emoji_Modifier;}var Emoji_Presentation={};var hasRequiredEmoji_Presentation;function requireEmoji_Presentation(){if(hasRequiredEmoji_Presentation)return Emoji_Presentation;hasRequiredEmoji_Presentation=1;var set=regenerateExports(0x23F0,0x23F3,0x267F,0x2693,0x26A1,0x26CE,0x26D4,0x26EA,0x26F5,0x26FA,0x26FD,0x2705,0x2728,0x274C,0x274E,0x2757,0x27B0,0x27BF,0x2B50,0x2B55,0x1F004,0x1F0CF,0x1F18E,0x1F201,0x1F21A,0x1F22F,0x1F3F4,0x1F440,0x1F57A,0x1F5A4,0x1F6CC,0x1F7F0);set.addRange(0x231A,0x231B).addRange(0x23E9,0x23EC).addRange(0x25FD,0x25FE).addRange(0x2614,0x2615).addRange(0x2648,0x2653).addRange(0x26AA,0x26AB).addRange(0x26BD,0x26BE).addRange(0x26C4,0x26C5).addRange(0x26F2,0x26F3).addRange(0x270A,0x270B).addRange(0x2753,0x2755).addRange(0x2795,0x2797).addRange(0x2B1B,0x2B1C).addRange(0x1F191,0x1F19A).addRange(0x1F1E6,0x1F1FF).addRange(0x1F232,0x1F236).addRange(0x1F238,0x1F23A).addRange(0x1F250,0x1F251).addRange(0x1F300,0x1F320).addRange(0x1F32D,0x1F335).addRange(0x1F337,0x1F37C).addRange(0x1F37E,0x1F393).addRange(0x1F3A0,0x1F3CA).addRange(0x1F3CF,0x1F3D3).addRange(0x1F3E0,0x1F3F0).addRange(0x1F3F8,0x1F43E).addRange(0x1F442,0x1F4FC).addRange(0x1F4FF,0x1F53D).addRange(0x1F54B,0x1F54E).addRange(0x1F550,0x1F567).addRange(0x1F595,0x1F596).addRange(0x1F5FB,0x1F64F).addRange(0x1F680,0x1F6C5).addRange(0x1F6D0,0x1F6D2).addRange(0x1F6D5,0x1F6D7).addRange(0x1F6DC,0x1F6DF).addRange(0x1F6EB,0x1F6EC).addRange(0x1F6F4,0x1F6FC).addRange(0x1F7E0,0x1F7EB).addRange(0x1F90C,0x1F93A).addRange(0x1F93C,0x1F945).addRange(0x1F947,0x1F9FF).addRange(0x1FA70,0x1FA7C).addRange(0x1FA80,0x1FA88).addRange(0x1FA90,0x1FABD).addRange(0x1FABF,0x1FAC5).addRange(0x1FACE,0x1FADB).addRange(0x1FAE0,0x1FAE8).addRange(0x1FAF0,0x1FAF8);Emoji_Presentation.characters=set;return Emoji_Presentation;}var Emoji={};var hasRequiredEmoji;function requireEmoji(){if(hasRequiredEmoji)return Emoji;hasRequiredEmoji=1;var set=regenerateExports(0x23,0x2A,0xA9,0xAE,0x203C,0x2049,0x2122,0x2139,0x2328,0x23CF,0x24C2,0x25B6,0x25C0,0x260E,0x2611,0x2618,0x261D,0x2620,0x2626,0x262A,0x2640,0x2642,0x2663,0x2668,0x267B,0x2699,0x26A7,0x26C8,0x26D1,0x26FD,0x2702,0x2705,0x270F,0x2712,0x2714,0x2716,0x271D,0x2721,0x2728,0x2744,0x2747,0x274C,0x274E,0x2757,0x27A1,0x27B0,0x27BF,0x2B50,0x2B55,0x3030,0x303D,0x3297,0x3299,0x1F004,0x1F0CF,0x1F18E,0x1F21A,0x1F22F,0x1F587,0x1F590,0x1F5A8,0x1F5BC,0x1F5E1,0x1F5E3,0x1F5E8,0x1F5EF,0x1F5F3,0x1F6E9,0x1F6F0,0x1F7F0);set.addRange(0x30,0x39).addRange(0x2194,0x2199).addRange(0x21A9,0x21AA).addRange(0x231A,0x231B).addRange(0x23E9,0x23F3).addRange(0x23F8,0x23FA).addRange(0x25AA,0x25AB).addRange(0x25FB,0x25FE).addRange(0x2600,0x2604).addRange(0x2614,0x2615).addRange(0x2622,0x2623).addRange(0x262E,0x262F).addRange(0x2638,0x263A).addRange(0x2648,0x2653).addRange(0x265F,0x2660).addRange(0x2665,0x2666).addRange(0x267E,0x267F).addRange(0x2692,0x2697).addRange(0x269B,0x269C).addRange(0x26A0,0x26A1).addRange(0x26AA,0x26AB).addRange(0x26B0,0x26B1).addRange(0x26BD,0x26BE).addRange(0x26C4,0x26C5).addRange(0x26CE,0x26CF).addRange(0x26D3,0x26D4).addRange(0x26E9,0x26EA).addRange(0x26F0,0x26F5).addRange(0x26F7,0x26FA).addRange(0x2708,0x270D).addRange(0x2733,0x2734).addRange(0x2753,0x2755).addRange(0x2763,0x2764).addRange(0x2795,0x2797).addRange(0x2934,0x2935).addRange(0x2B05,0x2B07).addRange(0x2B1B,0x2B1C).addRange(0x1F170,0x1F171).addRange(0x1F17E,0x1F17F).addRange(0x1F191,0x1F19A).addRange(0x1F1E6,0x1F1FF).addRange(0x1F201,0x1F202).addRange(0x1F232,0x1F23A).addRange(0x1F250,0x1F251).addRange(0x1F300,0x1F321).addRange(0x1F324,0x1F393).addRange(0x1F396,0x1F397).addRange(0x1F399,0x1F39B).addRange(0x1F39E,0x1F3F0).addRange(0x1F3F3,0x1F3F5).addRange(0x1F3F7,0x1F4FD);set.addRange(0x1F4FF,0x1F53D).addRange(0x1F549,0x1F54E).addRange(0x1F550,0x1F567).addRange(0x1F56F,0x1F570).addRange(0x1F573,0x1F57A).addRange(0x1F58A,0x1F58D).addRange(0x1F595,0x1F596).addRange(0x1F5A4,0x1F5A5).addRange(0x1F5B1,0x1F5B2).addRange(0x1F5C2,0x1F5C4).addRange(0x1F5D1,0x1F5D3).addRange(0x1F5DC,0x1F5DE).addRange(0x1F5FA,0x1F64F).addRange(0x1F680,0x1F6C5).addRange(0x1F6CB,0x1F6D2).addRange(0x1F6D5,0x1F6D7).addRange(0x1F6DC,0x1F6E5).addRange(0x1F6EB,0x1F6EC).addRange(0x1F6F3,0x1F6FC).addRange(0x1F7E0,0x1F7EB).addRange(0x1F90C,0x1F93A).addRange(0x1F93C,0x1F945).addRange(0x1F947,0x1F9FF).addRange(0x1FA70,0x1FA7C).addRange(0x1FA80,0x1FA88).addRange(0x1FA90,0x1FABD).addRange(0x1FABF,0x1FAC5).addRange(0x1FACE,0x1FADB).addRange(0x1FAE0,0x1FAE8).addRange(0x1FAF0,0x1FAF8);Emoji.characters=set;return Emoji;}var Extended_Pictographic={};var hasRequiredExtended_Pictographic;function requireExtended_Pictographic(){if(hasRequiredExtended_Pictographic)return Extended_Pictographic;hasRequiredExtended_Pictographic=1;var set=regenerateExports(0xA9,0xAE,0x203C,0x2049,0x2122,0x2139,0x2328,0x2388,0x23CF,0x24C2,0x25B6,0x25C0,0x2714,0x2716,0x271D,0x2721,0x2728,0x2744,0x2747,0x274C,0x274E,0x2757,0x27A1,0x27B0,0x27BF,0x2B50,0x2B55,0x3030,0x303D,0x3297,0x3299,0x1F12F,0x1F18E,0x1F21A,0x1F22F);set.addRange(0x2194,0x2199).addRange(0x21A9,0x21AA).addRange(0x231A,0x231B).addRange(0x23E9,0x23F3).addRange(0x23F8,0x23FA).addRange(0x25AA,0x25AB).addRange(0x25FB,0x25FE).addRange(0x2600,0x2605).addRange(0x2607,0x2612).addRange(0x2614,0x2685).addRange(0x2690,0x2705).addRange(0x2708,0x2712).addRange(0x2733,0x2734).addRange(0x2753,0x2755).addRange(0x2763,0x2767).addRange(0x2795,0x2797).addRange(0x2934,0x2935).addRange(0x2B05,0x2B07).addRange(0x2B1B,0x2B1C).addRange(0x1F000,0x1F0FF).addRange(0x1F10D,0x1F10F).addRange(0x1F16C,0x1F171).addRange(0x1F17E,0x1F17F).addRange(0x1F191,0x1F19A).addRange(0x1F1AD,0x1F1E5).addRange(0x1F201,0x1F20F).addRange(0x1F232,0x1F23A).addRange(0x1F23C,0x1F23F).addRange(0x1F249,0x1F3FA).addRange(0x1F400,0x1F53D).addRange(0x1F546,0x1F64F).addRange(0x1F680,0x1F6FF).addRange(0x1F774,0x1F77F).addRange(0x1F7D5,0x1F7FF).addRange(0x1F80C,0x1F80F).addRange(0x1F848,0x1F84F).addRange(0x1F85A,0x1F85F).addRange(0x1F888,0x1F88F).addRange(0x1F8AE,0x1F8FF).addRange(0x1F90C,0x1F93A).addRange(0x1F93C,0x1F945).addRange(0x1F947,0x1FAFF).addRange(0x1FC00,0x1FFFD);Extended_Pictographic.characters=set;return Extended_Pictographic;}var Extender={};var hasRequiredExtender;function requireExtender(){if(hasRequiredExtender)return Extender;hasRequiredExtender=1;var set=regenerateExports(0xB7,0x640,0x7FA,0xB55,0xE46,0xEC6,0x180A,0x1843,0x1AA7,0x1C36,0x1C7B,0x3005,0xA015,0xA60C,0xA9CF,0xA9E6,0xAA70,0xAADD,0xFF70,0x1135D,0x11A98,0x16FE3);set.addRange(0x2D0,0x2D1).addRange(0x3031,0x3035).addRange(0x309D,0x309E).addRange(0x30FC,0x30FE).addRange(0xAAF3,0xAAF4).addRange(0x10781,0x10782).addRange(0x115C6,0x115C8).addRange(0x16B42,0x16B43).addRange(0x16FE0,0x16FE1).addRange(0x1E13C,0x1E13D).addRange(0x1E944,0x1E946);Extender.characters=set;return Extender;}var Grapheme_Base={};var hasRequiredGrapheme_Base;function requireGrapheme_Base(){if(hasRequiredGrapheme_Base)return Grapheme_Base;hasRequiredGrapheme_Base=1;var set=regenerateExports(0x38C,0x5BE,0x5C0,0x5C3,0x5C6,0x61B,0x6DE,0x6E9,0x710,0x7B1,0x81A,0x824,0x828,0x85E,0x93B,0x9B2,0x9BD,0x9CE,0xA03,0xA5E,0xA76,0xA83,0xAC9,0xAD0,0xAF9,0xB3D,0xB40,0xB83,0xB9C,0xBBF,0xBD0,0xC3D,0xC5D,0xD3D,0xDBD,0xE84,0xEA5,0xEBD,0xEC6,0xF36,0xF38,0xF7F,0xF85,0x1031,0x1038,0x10C7,0x10CD,0x1258,0x12C0,0x1715,0x17B6,0x18AA,0x1940,0x1A57,0x1A61,0x1B3B,0x1BAA,0x1BE7,0x1BEE,0x1CD3,0x1CE1,0x1CFA,0x1F59,0x1F5B,0x1F5D,0x2D27,0x2D2D,0xA673,0xA7D3,0xAA4D,0xAAB1,0xAAC0,0xAAC2,0xFB1D,0xFB3E,0xFDCF,0x101A0,0x10808,0x1083C,0x1093F,0x10EAD,0x11000,0x11075,0x1112C,0x11235,0x11288,0x1133D,0x1133F,0x11350,0x11445,0x1145D,0x114B9,0x114BE,0x114C1,0x115BE,0x1163E,0x116AC,0x116B6,0x11726,0x11838,0x1183B,0x11909,0x1193D,0x11A00,0x11A50,0x11A97,0x11C3E,0x11CA9,0x11CB1,0x11CB4,0x11D46,0x11D96,0x11D98,0x11F41,0x11FB0,0x16AF5,0x1B132,0x1B155,0x1BC9C,0x1BC9F,0x1D166,0x1D245,0x1D4A2,0x1D4BB,0x1D546,0x1E2FF,0x1E94B,0x1EE24,0x1EE27,0x1EE39,0x1EE3B,0x1EE42,0x1EE47,0x1EE49,0x1EE4B,0x1EE54,0x1EE57,0x1EE59,0x1EE5B,0x1EE5D,0x1EE5F,0x1EE64,0x1EE7E,0x1F7F0);set.addRange(0x20,0x7E).addRange(0xA0,0xAC).addRange(0xAE,0x2FF).addRange(0x370,0x377).addRange(0x37A,0x37F).addRange(0x384,0x38A).addRange(0x38E,0x3A1).addRange(0x3A3,0x482).addRange(0x48A,0x52F).addRange(0x531,0x556).addRange(0x559,0x58A).addRange(0x58D,0x58F).addRange(0x5D0,0x5EA).addRange(0x5EF,0x5F4).addRange(0x606,0x60F).addRange(0x61D,0x64A).addRange(0x660,0x66F).addRange(0x671,0x6D5).addRange(0x6E5,0x6E6).addRange(0x6EE,0x70D).addRange(0x712,0x72F).addRange(0x74D,0x7A5).addRange(0x7C0,0x7EA).addRange(0x7F4,0x7FA).addRange(0x7FE,0x815).addRange(0x830,0x83E).addRange(0x840,0x858).addRange(0x860,0x86A).addRange(0x870,0x88E).addRange(0x8A0,0x8C9).addRange(0x903,0x939).addRange(0x93D,0x940).addRange(0x949,0x94C).addRange(0x94E,0x950).addRange(0x958,0x961).addRange(0x964,0x980).addRange(0x982,0x983).addRange(0x985,0x98C).addRange(0x98F,0x990).addRange(0x993,0x9A8).addRange(0x9AA,0x9B0).addRange(0x9B6,0x9B9).addRange(0x9BF,0x9C0).addRange(0x9C7,0x9C8).addRange(0x9CB,0x9CC).addRange(0x9DC,0x9DD).addRange(0x9DF,0x9E1).addRange(0x9E6,0x9FD).addRange(0xA05,0xA0A).addRange(0xA0F,0xA10).addRange(0xA13,0xA28);set.addRange(0xA2A,0xA30).addRange(0xA32,0xA33).addRange(0xA35,0xA36).addRange(0xA38,0xA39).addRange(0xA3E,0xA40).addRange(0xA59,0xA5C).addRange(0xA66,0xA6F).addRange(0xA72,0xA74).addRange(0xA85,0xA8D).addRange(0xA8F,0xA91).addRange(0xA93,0xAA8).addRange(0xAAA,0xAB0).addRange(0xAB2,0xAB3).addRange(0xAB5,0xAB9).addRange(0xABD,0xAC0).addRange(0xACB,0xACC).addRange(0xAE0,0xAE1).addRange(0xAE6,0xAF1).addRange(0xB02,0xB03).addRange(0xB05,0xB0C).addRange(0xB0F,0xB10).addRange(0xB13,0xB28).addRange(0xB2A,0xB30).addRange(0xB32,0xB33).addRange(0xB35,0xB39).addRange(0xB47,0xB48).addRange(0xB4B,0xB4C).addRange(0xB5C,0xB5D).addRange(0xB5F,0xB61).addRange(0xB66,0xB77).addRange(0xB85,0xB8A).addRange(0xB8E,0xB90).addRange(0xB92,0xB95).addRange(0xB99,0xB9A).addRange(0xB9E,0xB9F).addRange(0xBA3,0xBA4).addRange(0xBA8,0xBAA).addRange(0xBAE,0xBB9).addRange(0xBC1,0xBC2).addRange(0xBC6,0xBC8).addRange(0xBCA,0xBCC).addRange(0xBE6,0xBFA).addRange(0xC01,0xC03).addRange(0xC05,0xC0C).addRange(0xC0E,0xC10).addRange(0xC12,0xC28).addRange(0xC2A,0xC39).addRange(0xC41,0xC44).addRange(0xC58,0xC5A).addRange(0xC60,0xC61).addRange(0xC66,0xC6F);set.addRange(0xC77,0xC80).addRange(0xC82,0xC8C).addRange(0xC8E,0xC90).addRange(0xC92,0xCA8).addRange(0xCAA,0xCB3).addRange(0xCB5,0xCB9).addRange(0xCBD,0xCBE).addRange(0xCC0,0xCC1).addRange(0xCC3,0xCC4).addRange(0xCC7,0xCC8).addRange(0xCCA,0xCCB).addRange(0xCDD,0xCDE).addRange(0xCE0,0xCE1).addRange(0xCE6,0xCEF).addRange(0xCF1,0xCF3).addRange(0xD02,0xD0C).addRange(0xD0E,0xD10).addRange(0xD12,0xD3A).addRange(0xD3F,0xD40).addRange(0xD46,0xD48).addRange(0xD4A,0xD4C).addRange(0xD4E,0xD4F).addRange(0xD54,0xD56).addRange(0xD58,0xD61).addRange(0xD66,0xD7F).addRange(0xD82,0xD83).addRange(0xD85,0xD96).addRange(0xD9A,0xDB1).addRange(0xDB3,0xDBB).addRange(0xDC0,0xDC6).addRange(0xDD0,0xDD1).addRange(0xDD8,0xDDE).addRange(0xDE6,0xDEF).addRange(0xDF2,0xDF4).addRange(0xE01,0xE30).addRange(0xE32,0xE33).addRange(0xE3F,0xE46).addRange(0xE4F,0xE5B).addRange(0xE81,0xE82).addRange(0xE86,0xE8A).addRange(0xE8C,0xEA3).addRange(0xEA7,0xEB0).addRange(0xEB2,0xEB3).addRange(0xEC0,0xEC4).addRange(0xED0,0xED9).addRange(0xEDC,0xEDF).addRange(0xF00,0xF17).addRange(0xF1A,0xF34).addRange(0xF3A,0xF47).addRange(0xF49,0xF6C).addRange(0xF88,0xF8C);set.addRange(0xFBE,0xFC5).addRange(0xFC7,0xFCC).addRange(0xFCE,0xFDA).addRange(0x1000,0x102C).addRange(0x103B,0x103C).addRange(0x103F,0x1057).addRange(0x105A,0x105D).addRange(0x1061,0x1070).addRange(0x1075,0x1081).addRange(0x1083,0x1084).addRange(0x1087,0x108C).addRange(0x108E,0x109C).addRange(0x109E,0x10C5).addRange(0x10D0,0x1248).addRange(0x124A,0x124D).addRange(0x1250,0x1256).addRange(0x125A,0x125D).addRange(0x1260,0x1288).addRange(0x128A,0x128D).addRange(0x1290,0x12B0).addRange(0x12B2,0x12B5).addRange(0x12B8,0x12BE).addRange(0x12C2,0x12C5).addRange(0x12C8,0x12D6).addRange(0x12D8,0x1310).addRange(0x1312,0x1315).addRange(0x1318,0x135A).addRange(0x1360,0x137C).addRange(0x1380,0x1399).addRange(0x13A0,0x13F5).addRange(0x13F8,0x13FD).addRange(0x1400,0x169C).addRange(0x16A0,0x16F8).addRange(0x1700,0x1711).addRange(0x171F,0x1731).addRange(0x1734,0x1736).addRange(0x1740,0x1751).addRange(0x1760,0x176C).addRange(0x176E,0x1770).addRange(0x1780,0x17B3).addRange(0x17BE,0x17C5).addRange(0x17C7,0x17C8).addRange(0x17D4,0x17DC).addRange(0x17E0,0x17E9).addRange(0x17F0,0x17F9).addRange(0x1800,0x180A).addRange(0x1810,0x1819).addRange(0x1820,0x1878).addRange(0x1880,0x1884).addRange(0x1887,0x18A8).addRange(0x18B0,0x18F5);set.addRange(0x1900,0x191E).addRange(0x1923,0x1926).addRange(0x1929,0x192B).addRange(0x1930,0x1931).addRange(0x1933,0x1938).addRange(0x1944,0x196D).addRange(0x1970,0x1974).addRange(0x1980,0x19AB).addRange(0x19B0,0x19C9).addRange(0x19D0,0x19DA).addRange(0x19DE,0x1A16).addRange(0x1A19,0x1A1A).addRange(0x1A1E,0x1A55).addRange(0x1A63,0x1A64).addRange(0x1A6D,0x1A72).addRange(0x1A80,0x1A89).addRange(0x1A90,0x1A99).addRange(0x1AA0,0x1AAD).addRange(0x1B04,0x1B33).addRange(0x1B3D,0x1B41).addRange(0x1B43,0x1B4C).addRange(0x1B50,0x1B6A).addRange(0x1B74,0x1B7E).addRange(0x1B82,0x1BA1).addRange(0x1BA6,0x1BA7).addRange(0x1BAE,0x1BE5).addRange(0x1BEA,0x1BEC).addRange(0x1BF2,0x1BF3).addRange(0x1BFC,0x1C2B).addRange(0x1C34,0x1C35).addRange(0x1C3B,0x1C49).addRange(0x1C4D,0x1C88).addRange(0x1C90,0x1CBA).addRange(0x1CBD,0x1CC7).addRange(0x1CE9,0x1CEC).addRange(0x1CEE,0x1CF3).addRange(0x1CF5,0x1CF7).addRange(0x1D00,0x1DBF).addRange(0x1E00,0x1F15).addRange(0x1F18,0x1F1D).addRange(0x1F20,0x1F45).addRange(0x1F48,0x1F4D).addRange(0x1F50,0x1F57).addRange(0x1F5F,0x1F7D).addRange(0x1F80,0x1FB4).addRange(0x1FB6,0x1FC4).addRange(0x1FC6,0x1FD3).addRange(0x1FD6,0x1FDB).addRange(0x1FDD,0x1FEF).addRange(0x1FF2,0x1FF4).addRange(0x1FF6,0x1FFE);set.addRange(0x2000,0x200A).addRange(0x2010,0x2027).addRange(0x202F,0x205F).addRange(0x2070,0x2071).addRange(0x2074,0x208E).addRange(0x2090,0x209C).addRange(0x20A0,0x20C0).addRange(0x2100,0x218B).addRange(0x2190,0x2426).addRange(0x2440,0x244A).addRange(0x2460,0x2B73).addRange(0x2B76,0x2B95).addRange(0x2B97,0x2CEE).addRange(0x2CF2,0x2CF3).addRange(0x2CF9,0x2D25).addRange(0x2D30,0x2D67).addRange(0x2D6F,0x2D70).addRange(0x2D80,0x2D96).addRange(0x2DA0,0x2DA6).addRange(0x2DA8,0x2DAE).addRange(0x2DB0,0x2DB6).addRange(0x2DB8,0x2DBE).addRange(0x2DC0,0x2DC6).addRange(0x2DC8,0x2DCE).addRange(0x2DD0,0x2DD6).addRange(0x2DD8,0x2DDE).addRange(0x2E00,0x2E5D).addRange(0x2E80,0x2E99).addRange(0x2E9B,0x2EF3).addRange(0x2F00,0x2FD5).addRange(0x2FF0,0x3029).addRange(0x3030,0x303F).addRange(0x3041,0x3096).addRange(0x309B,0x30FF).addRange(0x3105,0x312F).addRange(0x3131,0x318E).addRange(0x3190,0x31E3).addRange(0x31EF,0x321E).addRange(0x3220,0xA48C).addRange(0xA490,0xA4C6).addRange(0xA4D0,0xA62B).addRange(0xA640,0xA66E).addRange(0xA67E,0xA69D).addRange(0xA6A0,0xA6EF).addRange(0xA6F2,0xA6F7).addRange(0xA700,0xA7CA).addRange(0xA7D0,0xA7D1).addRange(0xA7D5,0xA7D9).addRange(0xA7F2,0xA801).addRange(0xA803,0xA805).addRange(0xA807,0xA80A);set.addRange(0xA80C,0xA824).addRange(0xA827,0xA82B).addRange(0xA830,0xA839).addRange(0xA840,0xA877).addRange(0xA880,0xA8C3).addRange(0xA8CE,0xA8D9).addRange(0xA8F2,0xA8FE).addRange(0xA900,0xA925).addRange(0xA92E,0xA946).addRange(0xA952,0xA953).addRange(0xA95F,0xA97C).addRange(0xA983,0xA9B2).addRange(0xA9B4,0xA9B5).addRange(0xA9BA,0xA9BB).addRange(0xA9BE,0xA9CD).addRange(0xA9CF,0xA9D9).addRange(0xA9DE,0xA9E4).addRange(0xA9E6,0xA9FE).addRange(0xAA00,0xAA28).addRange(0xAA2F,0xAA30).addRange(0xAA33,0xAA34).addRange(0xAA40,0xAA42).addRange(0xAA44,0xAA4B).addRange(0xAA50,0xAA59).addRange(0xAA5C,0xAA7B).addRange(0xAA7D,0xAAAF).addRange(0xAAB5,0xAAB6).addRange(0xAAB9,0xAABD).addRange(0xAADB,0xAAEB).addRange(0xAAEE,0xAAF5).addRange(0xAB01,0xAB06).addRange(0xAB09,0xAB0E).addRange(0xAB11,0xAB16).addRange(0xAB20,0xAB26).addRange(0xAB28,0xAB2E).addRange(0xAB30,0xAB6B).addRange(0xAB70,0xABE4).addRange(0xABE6,0xABE7).addRange(0xABE9,0xABEC).addRange(0xABF0,0xABF9).addRange(0xAC00,0xD7A3).addRange(0xD7B0,0xD7C6).addRange(0xD7CB,0xD7FB).addRange(0xF900,0xFA6D).addRange(0xFA70,0xFAD9).addRange(0xFB00,0xFB06).addRange(0xFB13,0xFB17).addRange(0xFB1F,0xFB36).addRange(0xFB38,0xFB3C).addRange(0xFB40,0xFB41).addRange(0xFB43,0xFB44);set.addRange(0xFB46,0xFBC2).addRange(0xFBD3,0xFD8F).addRange(0xFD92,0xFDC7).addRange(0xFDF0,0xFDFF).addRange(0xFE10,0xFE19).addRange(0xFE30,0xFE52).addRange(0xFE54,0xFE66).addRange(0xFE68,0xFE6B).addRange(0xFE70,0xFE74).addRange(0xFE76,0xFEFC).addRange(0xFF01,0xFF9D).addRange(0xFFA0,0xFFBE).addRange(0xFFC2,0xFFC7).addRange(0xFFCA,0xFFCF).addRange(0xFFD2,0xFFD7).addRange(0xFFDA,0xFFDC).addRange(0xFFE0,0xFFE6).addRange(0xFFE8,0xFFEE).addRange(0xFFFC,0xFFFD).addRange(0x10000,0x1000B).addRange(0x1000D,0x10026).addRange(0x10028,0x1003A).addRange(0x1003C,0x1003D).addRange(0x1003F,0x1004D).addRange(0x10050,0x1005D).addRange(0x10080,0x100FA).addRange(0x10100,0x10102).addRange(0x10107,0x10133).addRange(0x10137,0x1018E).addRange(0x10190,0x1019C).addRange(0x101D0,0x101FC).addRange(0x10280,0x1029C).addRange(0x102A0,0x102D0).addRange(0x102E1,0x102FB).addRange(0x10300,0x10323).addRange(0x1032D,0x1034A).addRange(0x10350,0x10375).addRange(0x10380,0x1039D).addRange(0x1039F,0x103C3).addRange(0x103C8,0x103D5).addRange(0x10400,0x1049D).addRange(0x104A0,0x104A9).addRange(0x104B0,0x104D3).addRange(0x104D8,0x104FB).addRange(0x10500,0x10527).addRange(0x10530,0x10563).addRange(0x1056F,0x1057A).addRange(0x1057C,0x1058A).addRange(0x1058C,0x10592).addRange(0x10594,0x10595).addRange(0x10597,0x105A1);set.addRange(0x105A3,0x105B1).addRange(0x105B3,0x105B9).addRange(0x105BB,0x105BC).addRange(0x10600,0x10736).addRange(0x10740,0x10755).addRange(0x10760,0x10767).addRange(0x10780,0x10785).addRange(0x10787,0x107B0).addRange(0x107B2,0x107BA).addRange(0x10800,0x10805).addRange(0x1080A,0x10835).addRange(0x10837,0x10838).addRange(0x1083F,0x10855).addRange(0x10857,0x1089E).addRange(0x108A7,0x108AF).addRange(0x108E0,0x108F2).addRange(0x108F4,0x108F5).addRange(0x108FB,0x1091B).addRange(0x1091F,0x10939).addRange(0x10980,0x109B7).addRange(0x109BC,0x109CF).addRange(0x109D2,0x10A00).addRange(0x10A10,0x10A13).addRange(0x10A15,0x10A17).addRange(0x10A19,0x10A35).addRange(0x10A40,0x10A48).addRange(0x10A50,0x10A58).addRange(0x10A60,0x10A9F).addRange(0x10AC0,0x10AE4).addRange(0x10AEB,0x10AF6).addRange(0x10B00,0x10B35).addRange(0x10B39,0x10B55).addRange(0x10B58,0x10B72).addRange(0x10B78,0x10B91).addRange(0x10B99,0x10B9C).addRange(0x10BA9,0x10BAF).addRange(0x10C00,0x10C48).addRange(0x10C80,0x10CB2).addRange(0x10CC0,0x10CF2).addRange(0x10CFA,0x10D23).addRange(0x10D30,0x10D39).addRange(0x10E60,0x10E7E).addRange(0x10E80,0x10EA9).addRange(0x10EB0,0x10EB1).addRange(0x10F00,0x10F27).addRange(0x10F30,0x10F45).addRange(0x10F51,0x10F59).addRange(0x10F70,0x10F81).addRange(0x10F86,0x10F89).addRange(0x10FB0,0x10FCB).addRange(0x10FE0,0x10FF6);set.addRange(0x11002,0x11037).addRange(0x11047,0x1104D).addRange(0x11052,0x1106F).addRange(0x11071,0x11072).addRange(0x11082,0x110B2).addRange(0x110B7,0x110B8).addRange(0x110BB,0x110BC).addRange(0x110BE,0x110C1).addRange(0x110D0,0x110E8).addRange(0x110F0,0x110F9).addRange(0x11103,0x11126).addRange(0x11136,0x11147).addRange(0x11150,0x11172).addRange(0x11174,0x11176).addRange(0x11182,0x111B5).addRange(0x111BF,0x111C8).addRange(0x111CD,0x111CE).addRange(0x111D0,0x111DF).addRange(0x111E1,0x111F4).addRange(0x11200,0x11211).addRange(0x11213,0x1122E).addRange(0x11232,0x11233).addRange(0x11238,0x1123D).addRange(0x1123F,0x11240).addRange(0x11280,0x11286).addRange(0x1128A,0x1128D).addRange(0x1128F,0x1129D).addRange(0x1129F,0x112A9).addRange(0x112B0,0x112DE).addRange(0x112E0,0x112E2).addRange(0x112F0,0x112F9).addRange(0x11302,0x11303).addRange(0x11305,0x1130C).addRange(0x1130F,0x11310).addRange(0x11313,0x11328).addRange(0x1132A,0x11330).addRange(0x11332,0x11333).addRange(0x11335,0x11339).addRange(0x11341,0x11344).addRange(0x11347,0x11348).addRange(0x1134B,0x1134D).addRange(0x1135D,0x11363).addRange(0x11400,0x11437).addRange(0x11440,0x11441).addRange(0x11447,0x1145B).addRange(0x1145F,0x11461).addRange(0x11480,0x114AF).addRange(0x114B1,0x114B2).addRange(0x114BB,0x114BC).addRange(0x114C4,0x114C7).addRange(0x114D0,0x114D9);set.addRange(0x11580,0x115AE).addRange(0x115B0,0x115B1).addRange(0x115B8,0x115BB).addRange(0x115C1,0x115DB).addRange(0x11600,0x11632).addRange(0x1163B,0x1163C).addRange(0x11641,0x11644).addRange(0x11650,0x11659).addRange(0x11660,0x1166C).addRange(0x11680,0x116AA).addRange(0x116AE,0x116AF).addRange(0x116B8,0x116B9).addRange(0x116C0,0x116C9).addRange(0x11700,0x1171A).addRange(0x11720,0x11721).addRange(0x11730,0x11746).addRange(0x11800,0x1182E).addRange(0x118A0,0x118F2).addRange(0x118FF,0x11906).addRange(0x1190C,0x11913).addRange(0x11915,0x11916).addRange(0x11918,0x1192F).addRange(0x11931,0x11935).addRange(0x11937,0x11938).addRange(0x1193F,0x11942).addRange(0x11944,0x11946).addRange(0x11950,0x11959).addRange(0x119A0,0x119A7).addRange(0x119AA,0x119D3).addRange(0x119DC,0x119DF).addRange(0x119E1,0x119E4).addRange(0x11A0B,0x11A32).addRange(0x11A39,0x11A3A).addRange(0x11A3F,0x11A46).addRange(0x11A57,0x11A58).addRange(0x11A5C,0x11A89).addRange(0x11A9A,0x11AA2).addRange(0x11AB0,0x11AF8).addRange(0x11B00,0x11B09).addRange(0x11C00,0x11C08).addRange(0x11C0A,0x11C2F).addRange(0x11C40,0x11C45).addRange(0x11C50,0x11C6C).addRange(0x11C70,0x11C8F).addRange(0x11D00,0x11D06).addRange(0x11D08,0x11D09).addRange(0x11D0B,0x11D30).addRange(0x11D50,0x11D59).addRange(0x11D60,0x11D65).addRange(0x11D67,0x11D68).addRange(0x11D6A,0x11D8E);set.addRange(0x11D93,0x11D94).addRange(0x11DA0,0x11DA9).addRange(0x11EE0,0x11EF2).addRange(0x11EF5,0x11EF8).addRange(0x11F02,0x11F10).addRange(0x11F12,0x11F35).addRange(0x11F3E,0x11F3F).addRange(0x11F43,0x11F59).addRange(0x11FC0,0x11FF1).addRange(0x11FFF,0x12399).addRange(0x12400,0x1246E).addRange(0x12470,0x12474).addRange(0x12480,0x12543).addRange(0x12F90,0x12FF2).addRange(0x13000,0x1342F).addRange(0x13441,0x13446).addRange(0x14400,0x14646).addRange(0x16800,0x16A38).addRange(0x16A40,0x16A5E).addRange(0x16A60,0x16A69).addRange(0x16A6E,0x16ABE).addRange(0x16AC0,0x16AC9).addRange(0x16AD0,0x16AED).addRange(0x16B00,0x16B2F).addRange(0x16B37,0x16B45).addRange(0x16B50,0x16B59).addRange(0x16B5B,0x16B61).addRange(0x16B63,0x16B77).addRange(0x16B7D,0x16B8F).addRange(0x16E40,0x16E9A).addRange(0x16F00,0x16F4A).addRange(0x16F50,0x16F87).addRange(0x16F93,0x16F9F).addRange(0x16FE0,0x16FE3).addRange(0x16FF0,0x16FF1).addRange(0x17000,0x187F7).addRange(0x18800,0x18CD5).addRange(0x18D00,0x18D08).addRange(0x1AFF0,0x1AFF3).addRange(0x1AFF5,0x1AFFB).addRange(0x1AFFD,0x1AFFE).addRange(0x1B000,0x1B122).addRange(0x1B150,0x1B152).addRange(0x1B164,0x1B167).addRange(0x1B170,0x1B2FB).addRange(0x1BC00,0x1BC6A).addRange(0x1BC70,0x1BC7C).addRange(0x1BC80,0x1BC88).addRange(0x1BC90,0x1BC99).addRange(0x1CF50,0x1CFC3).addRange(0x1D000,0x1D0F5);set.addRange(0x1D100,0x1D126).addRange(0x1D129,0x1D164).addRange(0x1D16A,0x1D16D).addRange(0x1D183,0x1D184).addRange(0x1D18C,0x1D1A9).addRange(0x1D1AE,0x1D1EA).addRange(0x1D200,0x1D241).addRange(0x1D2C0,0x1D2D3).addRange(0x1D2E0,0x1D2F3).addRange(0x1D300,0x1D356).addRange(0x1D360,0x1D378).addRange(0x1D400,0x1D454).addRange(0x1D456,0x1D49C).addRange(0x1D49E,0x1D49F).addRange(0x1D4A5,0x1D4A6).addRange(0x1D4A9,0x1D4AC).addRange(0x1D4AE,0x1D4B9).addRange(0x1D4BD,0x1D4C3).addRange(0x1D4C5,0x1D505).addRange(0x1D507,0x1D50A).addRange(0x1D50D,0x1D514).addRange(0x1D516,0x1D51C).addRange(0x1D51E,0x1D539).addRange(0x1D53B,0x1D53E).addRange(0x1D540,0x1D544).addRange(0x1D54A,0x1D550).addRange(0x1D552,0x1D6A5).addRange(0x1D6A8,0x1D7CB).addRange(0x1D7CE,0x1D9FF).addRange(0x1DA37,0x1DA3A).addRange(0x1DA6D,0x1DA74).addRange(0x1DA76,0x1DA83).addRange(0x1DA85,0x1DA8B).addRange(0x1DF00,0x1DF1E).addRange(0x1DF25,0x1DF2A).addRange(0x1E030,0x1E06D).addRange(0x1E100,0x1E12C).addRange(0x1E137,0x1E13D).addRange(0x1E140,0x1E149).addRange(0x1E14E,0x1E14F).addRange(0x1E290,0x1E2AD).addRange(0x1E2C0,0x1E2EB).addRange(0x1E2F0,0x1E2F9).addRange(0x1E4D0,0x1E4EB).addRange(0x1E4F0,0x1E4F9).addRange(0x1E7E0,0x1E7E6).addRange(0x1E7E8,0x1E7EB).addRange(0x1E7ED,0x1E7EE).addRange(0x1E7F0,0x1E7FE).addRange(0x1E800,0x1E8C4).addRange(0x1E8C7,0x1E8CF);set.addRange(0x1E900,0x1E943).addRange(0x1E950,0x1E959).addRange(0x1E95E,0x1E95F).addRange(0x1EC71,0x1ECB4).addRange(0x1ED01,0x1ED3D).addRange(0x1EE00,0x1EE03).addRange(0x1EE05,0x1EE1F).addRange(0x1EE21,0x1EE22).addRange(0x1EE29,0x1EE32).addRange(0x1EE34,0x1EE37).addRange(0x1EE4D,0x1EE4F).addRange(0x1EE51,0x1EE52).addRange(0x1EE61,0x1EE62).addRange(0x1EE67,0x1EE6A).addRange(0x1EE6C,0x1EE72).addRange(0x1EE74,0x1EE77).addRange(0x1EE79,0x1EE7C).addRange(0x1EE80,0x1EE89).addRange(0x1EE8B,0x1EE9B).addRange(0x1EEA1,0x1EEA3).addRange(0x1EEA5,0x1EEA9).addRange(0x1EEAB,0x1EEBB).addRange(0x1EEF0,0x1EEF1).addRange(0x1F000,0x1F02B).addRange(0x1F030,0x1F093).addRange(0x1F0A0,0x1F0AE).addRange(0x1F0B1,0x1F0BF).addRange(0x1F0C1,0x1F0CF).addRange(0x1F0D1,0x1F0F5).addRange(0x1F100,0x1F1AD).addRange(0x1F1E6,0x1F202).addRange(0x1F210,0x1F23B).addRange(0x1F240,0x1F248).addRange(0x1F250,0x1F251).addRange(0x1F260,0x1F265).addRange(0x1F300,0x1F6D7).addRange(0x1F6DC,0x1F6EC).addRange(0x1F6F0,0x1F6FC).addRange(0x1F700,0x1F776).addRange(0x1F77B,0x1F7D9).addRange(0x1F7E0,0x1F7EB).addRange(0x1F800,0x1F80B).addRange(0x1F810,0x1F847).addRange(0x1F850,0x1F859).addRange(0x1F860,0x1F887).addRange(0x1F890,0x1F8AD).addRange(0x1F8B0,0x1F8B1).addRange(0x1F900,0x1FA53).addRange(0x1FA60,0x1FA6D).addRange(0x1FA70,0x1FA7C).addRange(0x1FA80,0x1FA88);set.addRange(0x1FA90,0x1FABD).addRange(0x1FABF,0x1FAC5).addRange(0x1FACE,0x1FADB).addRange(0x1FAE0,0x1FAE8).addRange(0x1FAF0,0x1FAF8).addRange(0x1FB00,0x1FB92).addRange(0x1FB94,0x1FBCA).addRange(0x1FBF0,0x1FBF9).addRange(0x20000,0x2A6DF).addRange(0x2A700,0x2B739).addRange(0x2B740,0x2B81D).addRange(0x2B820,0x2CEA1).addRange(0x2CEB0,0x2EBE0).addRange(0x2EBF0,0x2EE5D).addRange(0x2F800,0x2FA1D).addRange(0x30000,0x3134A).addRange(0x31350,0x323AF);Grapheme_Base.characters=set;return Grapheme_Base;}var Grapheme_Extend={};var hasRequiredGrapheme_Extend;function requireGrapheme_Extend(){if(hasRequiredGrapheme_Extend)return Grapheme_Extend;hasRequiredGrapheme_Extend=1;var set=regenerateExports(0x5BF,0x5C7,0x670,0x711,0x7FD,0x93A,0x93C,0x94D,0x981,0x9BC,0x9BE,0x9CD,0x9D7,0x9FE,0xA3C,0xA51,0xA75,0xABC,0xACD,0xB01,0xB3C,0xB4D,0xB82,0xBBE,0xBC0,0xBCD,0xBD7,0xC00,0xC04,0xC3C,0xC81,0xCBC,0xCBF,0xCC2,0xCC6,0xD3E,0xD4D,0xD57,0xD81,0xDCA,0xDCF,0xDD6,0xDDF,0xE31,0xEB1,0xF35,0xF37,0xF39,0xFC6,0x1082,0x108D,0x109D,0x17C6,0x17DD,0x180F,0x18A9,0x1932,0x1A1B,0x1A56,0x1A60,0x1A62,0x1A7F,0x1B3C,0x1B42,0x1BE6,0x1BED,0x1CED,0x1CF4,0x200C,0x2D7F,0xA802,0xA806,0xA80B,0xA82C,0xA8FF,0xA9B3,0xA9E5,0xAA43,0xAA4C,0xAA7C,0xAAB0,0xAAC1,0xAAF6,0xABE5,0xABE8,0xABED,0xFB1E,0x101FD,0x102E0,0x10A3F,0x11001,0x11070,0x110C2,0x11173,0x111CF,0x11234,0x1123E,0x11241,0x112DF,0x1133E,0x11340,0x11357,0x11446,0x1145E,0x114B0,0x114BA,0x114BD,0x115AF,0x1163D,0x116AB,0x116AD,0x116B7,0x11930,0x1193E,0x11943,0x119E0,0x11A47,0x11C3F,0x11D3A,0x11D47,0x11D95,0x11D97,0x11F40,0x11F42,0x13440,0x16F4F,0x16FE4,0x1D165,0x1DA75,0x1DA84,0x1E08F,0x1E2AE);set.addRange(0x300,0x36F).addRange(0x483,0x489).addRange(0x591,0x5BD).addRange(0x5C1,0x5C2).addRange(0x5C4,0x5C5).addRange(0x610,0x61A).addRange(0x64B,0x65F).addRange(0x6D6,0x6DC).addRange(0x6DF,0x6E4).addRange(0x6E7,0x6E8).addRange(0x6EA,0x6ED).addRange(0x730,0x74A).addRange(0x7A6,0x7B0).addRange(0x7EB,0x7F3).addRange(0x816,0x819).addRange(0x81B,0x823).addRange(0x825,0x827).addRange(0x829,0x82D).addRange(0x859,0x85B).addRange(0x898,0x89F).addRange(0x8CA,0x8E1).addRange(0x8E3,0x902).addRange(0x941,0x948).addRange(0x951,0x957).addRange(0x962,0x963).addRange(0x9C1,0x9C4).addRange(0x9E2,0x9E3).addRange(0xA01,0xA02).addRange(0xA41,0xA42).addRange(0xA47,0xA48).addRange(0xA4B,0xA4D).addRange(0xA70,0xA71).addRange(0xA81,0xA82).addRange(0xAC1,0xAC5).addRange(0xAC7,0xAC8).addRange(0xAE2,0xAE3).addRange(0xAFA,0xAFF).addRange(0xB3E,0xB3F).addRange(0xB41,0xB44).addRange(0xB55,0xB57).addRange(0xB62,0xB63).addRange(0xC3E,0xC40).addRange(0xC46,0xC48).addRange(0xC4A,0xC4D).addRange(0xC55,0xC56).addRange(0xC62,0xC63).addRange(0xCCC,0xCCD).addRange(0xCD5,0xCD6).addRange(0xCE2,0xCE3).addRange(0xD00,0xD01).addRange(0xD3B,0xD3C);set.addRange(0xD41,0xD44).addRange(0xD62,0xD63).addRange(0xDD2,0xDD4).addRange(0xE34,0xE3A).addRange(0xE47,0xE4E).addRange(0xEB4,0xEBC).addRange(0xEC8,0xECE).addRange(0xF18,0xF19).addRange(0xF71,0xF7E).addRange(0xF80,0xF84).addRange(0xF86,0xF87).addRange(0xF8D,0xF97).addRange(0xF99,0xFBC).addRange(0x102D,0x1030).addRange(0x1032,0x1037).addRange(0x1039,0x103A).addRange(0x103D,0x103E).addRange(0x1058,0x1059).addRange(0x105E,0x1060).addRange(0x1071,0x1074).addRange(0x1085,0x1086).addRange(0x135D,0x135F).addRange(0x1712,0x1714).addRange(0x1732,0x1733).addRange(0x1752,0x1753).addRange(0x1772,0x1773).addRange(0x17B4,0x17B5).addRange(0x17B7,0x17BD).addRange(0x17C9,0x17D3).addRange(0x180B,0x180D).addRange(0x1885,0x1886).addRange(0x1920,0x1922).addRange(0x1927,0x1928).addRange(0x1939,0x193B).addRange(0x1A17,0x1A18).addRange(0x1A58,0x1A5E).addRange(0x1A65,0x1A6C).addRange(0x1A73,0x1A7C).addRange(0x1AB0,0x1ACE).addRange(0x1B00,0x1B03).addRange(0x1B34,0x1B3A).addRange(0x1B6B,0x1B73).addRange(0x1B80,0x1B81).addRange(0x1BA2,0x1BA5).addRange(0x1BA8,0x1BA9).addRange(0x1BAB,0x1BAD).addRange(0x1BE8,0x1BE9).addRange(0x1BEF,0x1BF1).addRange(0x1C2C,0x1C33).addRange(0x1C36,0x1C37).addRange(0x1CD0,0x1CD2);set.addRange(0x1CD4,0x1CE0).addRange(0x1CE2,0x1CE8).addRange(0x1CF8,0x1CF9).addRange(0x1DC0,0x1DFF).addRange(0x20D0,0x20F0).addRange(0x2CEF,0x2CF1).addRange(0x2DE0,0x2DFF).addRange(0x302A,0x302F).addRange(0x3099,0x309A).addRange(0xA66F,0xA672).addRange(0xA674,0xA67D).addRange(0xA69E,0xA69F).addRange(0xA6F0,0xA6F1).addRange(0xA825,0xA826).addRange(0xA8C4,0xA8C5).addRange(0xA8E0,0xA8F1).addRange(0xA926,0xA92D).addRange(0xA947,0xA951).addRange(0xA980,0xA982).addRange(0xA9B6,0xA9B9).addRange(0xA9BC,0xA9BD).addRange(0xAA29,0xAA2E).addRange(0xAA31,0xAA32).addRange(0xAA35,0xAA36).addRange(0xAAB2,0xAAB4).addRange(0xAAB7,0xAAB8).addRange(0xAABE,0xAABF).addRange(0xAAEC,0xAAED).addRange(0xFE00,0xFE0F).addRange(0xFE20,0xFE2F).addRange(0xFF9E,0xFF9F).addRange(0x10376,0x1037A).addRange(0x10A01,0x10A03).addRange(0x10A05,0x10A06).addRange(0x10A0C,0x10A0F).addRange(0x10A38,0x10A3A).addRange(0x10AE5,0x10AE6).addRange(0x10D24,0x10D27).addRange(0x10EAB,0x10EAC).addRange(0x10EFD,0x10EFF).addRange(0x10F46,0x10F50).addRange(0x10F82,0x10F85).addRange(0x11038,0x11046).addRange(0x11073,0x11074).addRange(0x1107F,0x11081).addRange(0x110B3,0x110B6).addRange(0x110B9,0x110BA).addRange(0x11100,0x11102).addRange(0x11127,0x1112B).addRange(0x1112D,0x11134).addRange(0x11180,0x11181);set.addRange(0x111B6,0x111BE).addRange(0x111C9,0x111CC).addRange(0x1122F,0x11231).addRange(0x11236,0x11237).addRange(0x112E3,0x112EA).addRange(0x11300,0x11301).addRange(0x1133B,0x1133C).addRange(0x11366,0x1136C).addRange(0x11370,0x11374).addRange(0x11438,0x1143F).addRange(0x11442,0x11444).addRange(0x114B3,0x114B8).addRange(0x114BF,0x114C0).addRange(0x114C2,0x114C3).addRange(0x115B2,0x115B5).addRange(0x115BC,0x115BD).addRange(0x115BF,0x115C0).addRange(0x115DC,0x115DD).addRange(0x11633,0x1163A).addRange(0x1163F,0x11640).addRange(0x116B0,0x116B5).addRange(0x1171D,0x1171F).addRange(0x11722,0x11725).addRange(0x11727,0x1172B).addRange(0x1182F,0x11837).addRange(0x11839,0x1183A).addRange(0x1193B,0x1193C).addRange(0x119D4,0x119D7).addRange(0x119DA,0x119DB).addRange(0x11A01,0x11A0A).addRange(0x11A33,0x11A38).addRange(0x11A3B,0x11A3E).addRange(0x11A51,0x11A56).addRange(0x11A59,0x11A5B).addRange(0x11A8A,0x11A96).addRange(0x11A98,0x11A99).addRange(0x11C30,0x11C36).addRange(0x11C38,0x11C3D).addRange(0x11C92,0x11CA7).addRange(0x11CAA,0x11CB0).addRange(0x11CB2,0x11CB3).addRange(0x11CB5,0x11CB6).addRange(0x11D31,0x11D36).addRange(0x11D3C,0x11D3D).addRange(0x11D3F,0x11D45).addRange(0x11D90,0x11D91).addRange(0x11EF3,0x11EF4).addRange(0x11F00,0x11F01).addRange(0x11F36,0x11F3A).addRange(0x13447,0x13455).addRange(0x16AF0,0x16AF4);set.addRange(0x16B30,0x16B36).addRange(0x16F8F,0x16F92).addRange(0x1BC9D,0x1BC9E).addRange(0x1CF00,0x1CF2D).addRange(0x1CF30,0x1CF46).addRange(0x1D167,0x1D169).addRange(0x1D16E,0x1D172).addRange(0x1D17B,0x1D182).addRange(0x1D185,0x1D18B).addRange(0x1D1AA,0x1D1AD).addRange(0x1D242,0x1D244).addRange(0x1DA00,0x1DA36).addRange(0x1DA3B,0x1DA6C).addRange(0x1DA9B,0x1DA9F).addRange(0x1DAA1,0x1DAAF).addRange(0x1E000,0x1E006).addRange(0x1E008,0x1E018).addRange(0x1E01B,0x1E021).addRange(0x1E023,0x1E024).addRange(0x1E026,0x1E02A).addRange(0x1E130,0x1E136).addRange(0x1E2EC,0x1E2EF).addRange(0x1E4EC,0x1E4EF).addRange(0x1E8D0,0x1E8D6).addRange(0x1E944,0x1E94A).addRange(0xE0020,0xE007F).addRange(0xE0100,0xE01EF);Grapheme_Extend.characters=set;return Grapheme_Extend;}var Hex_Digit={};var hasRequiredHex_Digit;function requireHex_Digit(){if(hasRequiredHex_Digit)return Hex_Digit;hasRequiredHex_Digit=1;var set=regenerateExports();set.addRange(0x30,0x39).addRange(0x41,0x46).addRange(0x61,0x66).addRange(0xFF10,0xFF19).addRange(0xFF21,0xFF26).addRange(0xFF41,0xFF46);Hex_Digit.characters=set;return Hex_Digit;}var ID_Continue={};var hasRequiredID_Continue;function requireID_Continue(){if(hasRequiredID_Continue)return ID_Continue;hasRequiredID_Continue=1;var set=regenerateExports(0x5F,0xAA,0xB5,0xB7,0xBA,0x2EC,0x2EE,0x37F,0x38C,0x559,0x5BF,0x5C7,0x6FF,0x7FA,0x7FD,0x9B2,0x9D7,0x9FC,0x9FE,0xA3C,0xA51,0xA5E,0xAD0,0xB71,0xB9C,0xBD0,0xBD7,0xC5D,0xDBD,0xDCA,0xDD6,0xE84,0xEA5,0xEC6,0xF00,0xF35,0xF37,0xF39,0xFC6,0x10C7,0x10CD,0x1258,0x12C0,0x17D7,0x1AA7,0x1F59,0x1F5B,0x1F5D,0x1FBE,0x2054,0x2071,0x207F,0x20E1,0x2102,0x2107,0x2115,0x2124,0x2126,0x2128,0x214E,0x2D27,0x2D2D,0x2D6F,0xA7D3,0xA82C,0xA8FB,0xFB3E,0xFF3F,0x101FD,0x102E0,0x10808,0x1083C,0x10A3F,0x10F27,0x110C2,0x11176,0x111DC,0x11288,0x11350,0x11357,0x114C7,0x11644,0x11909,0x11A47,0x11A9D,0x11D3A,0x11FB0,0x1B132,0x1B155,0x1D4A2,0x1D4BB,0x1D546,0x1DA75,0x1DA84,0x1E08F,0x1E14E,0x1EE24,0x1EE27,0x1EE39,0x1EE3B,0x1EE42,0x1EE47,0x1EE49,0x1EE4B,0x1EE54,0x1EE57,0x1EE59,0x1EE5B,0x1EE5D,0x1EE5F,0x1EE64,0x1EE7E);set.addRange(0x30,0x39).addRange(0x41,0x5A).addRange(0x61,0x7A).addRange(0xC0,0xD6).addRange(0xD8,0xF6).addRange(0xF8,0x2C1).addRange(0x2C6,0x2D1).addRange(0x2E0,0x2E4).addRange(0x300,0x374).addRange(0x376,0x377).addRange(0x37A,0x37D).addRange(0x386,0x38A).addRange(0x38E,0x3A1).addRange(0x3A3,0x3F5).addRange(0x3F7,0x481).addRange(0x483,0x487).addRange(0x48A,0x52F).addRange(0x531,0x556).addRange(0x560,0x588).addRange(0x591,0x5BD).addRange(0x5C1,0x5C2).addRange(0x5C4,0x5C5).addRange(0x5D0,0x5EA).addRange(0x5EF,0x5F2).addRange(0x610,0x61A).addRange(0x620,0x669).addRange(0x66E,0x6D3).addRange(0x6D5,0x6DC).addRange(0x6DF,0x6E8).addRange(0x6EA,0x6FC).addRange(0x710,0x74A).addRange(0x74D,0x7B1).addRange(0x7C0,0x7F5).addRange(0x800,0x82D).addRange(0x840,0x85B).addRange(0x860,0x86A).addRange(0x870,0x887).addRange(0x889,0x88E).addRange(0x898,0x8E1).addRange(0x8E3,0x963).addRange(0x966,0x96F).addRange(0x971,0x983).addRange(0x985,0x98C).addRange(0x98F,0x990).addRange(0x993,0x9A8).addRange(0x9AA,0x9B0).addRange(0x9B6,0x9B9).addRange(0x9BC,0x9C4).addRange(0x9C7,0x9C8).addRange(0x9CB,0x9CE).addRange(0x9DC,0x9DD);set.addRange(0x9DF,0x9E3).addRange(0x9E6,0x9F1).addRange(0xA01,0xA03).addRange(0xA05,0xA0A).addRange(0xA0F,0xA10).addRange(0xA13,0xA28).addRange(0xA2A,0xA30).addRange(0xA32,0xA33).addRange(0xA35,0xA36).addRange(0xA38,0xA39).addRange(0xA3E,0xA42).addRange(0xA47,0xA48).addRange(0xA4B,0xA4D).addRange(0xA59,0xA5C).addRange(0xA66,0xA75).addRange(0xA81,0xA83).addRange(0xA85,0xA8D).addRange(0xA8F,0xA91).addRange(0xA93,0xAA8).addRange(0xAAA,0xAB0).addRange(0xAB2,0xAB3).addRange(0xAB5,0xAB9).addRange(0xABC,0xAC5).addRange(0xAC7,0xAC9).addRange(0xACB,0xACD).addRange(0xAE0,0xAE3).addRange(0xAE6,0xAEF).addRange(0xAF9,0xAFF).addRange(0xB01,0xB03).addRange(0xB05,0xB0C).addRange(0xB0F,0xB10).addRange(0xB13,0xB28).addRange(0xB2A,0xB30).addRange(0xB32,0xB33).addRange(0xB35,0xB39).addRange(0xB3C,0xB44).addRange(0xB47,0xB48).addRange(0xB4B,0xB4D).addRange(0xB55,0xB57).addRange(0xB5C,0xB5D).addRange(0xB5F,0xB63).addRange(0xB66,0xB6F).addRange(0xB82,0xB83).addRange(0xB85,0xB8A).addRange(0xB8E,0xB90).addRange(0xB92,0xB95).addRange(0xB99,0xB9A).addRange(0xB9E,0xB9F).addRange(0xBA3,0xBA4).addRange(0xBA8,0xBAA).addRange(0xBAE,0xBB9);set.addRange(0xBBE,0xBC2).addRange(0xBC6,0xBC8).addRange(0xBCA,0xBCD).addRange(0xBE6,0xBEF).addRange(0xC00,0xC0C).addRange(0xC0E,0xC10).addRange(0xC12,0xC28).addRange(0xC2A,0xC39).addRange(0xC3C,0xC44).addRange(0xC46,0xC48).addRange(0xC4A,0xC4D).addRange(0xC55,0xC56).addRange(0xC58,0xC5A).addRange(0xC60,0xC63).addRange(0xC66,0xC6F).addRange(0xC80,0xC83).addRange(0xC85,0xC8C).addRange(0xC8E,0xC90).addRange(0xC92,0xCA8).addRange(0xCAA,0xCB3).addRange(0xCB5,0xCB9).addRange(0xCBC,0xCC4).addRange(0xCC6,0xCC8).addRange(0xCCA,0xCCD).addRange(0xCD5,0xCD6).addRange(0xCDD,0xCDE).addRange(0xCE0,0xCE3).addRange(0xCE6,0xCEF).addRange(0xCF1,0xCF3).addRange(0xD00,0xD0C).addRange(0xD0E,0xD10).addRange(0xD12,0xD44).addRange(0xD46,0xD48).addRange(0xD4A,0xD4E).addRange(0xD54,0xD57).addRange(0xD5F,0xD63).addRange(0xD66,0xD6F).addRange(0xD7A,0xD7F).addRange(0xD81,0xD83).addRange(0xD85,0xD96).addRange(0xD9A,0xDB1).addRange(0xDB3,0xDBB).addRange(0xDC0,0xDC6).addRange(0xDCF,0xDD4).addRange(0xDD8,0xDDF).addRange(0xDE6,0xDEF).addRange(0xDF2,0xDF3).addRange(0xE01,0xE3A).addRange(0xE40,0xE4E).addRange(0xE50,0xE59).addRange(0xE81,0xE82);set.addRange(0xE86,0xE8A).addRange(0xE8C,0xEA3).addRange(0xEA7,0xEBD).addRange(0xEC0,0xEC4).addRange(0xEC8,0xECE).addRange(0xED0,0xED9).addRange(0xEDC,0xEDF).addRange(0xF18,0xF19).addRange(0xF20,0xF29).addRange(0xF3E,0xF47).addRange(0xF49,0xF6C).addRange(0xF71,0xF84).addRange(0xF86,0xF97).addRange(0xF99,0xFBC).addRange(0x1000,0x1049).addRange(0x1050,0x109D).addRange(0x10A0,0x10C5).addRange(0x10D0,0x10FA).addRange(0x10FC,0x1248).addRange(0x124A,0x124D).addRange(0x1250,0x1256).addRange(0x125A,0x125D).addRange(0x1260,0x1288).addRange(0x128A,0x128D).addRange(0x1290,0x12B0).addRange(0x12B2,0x12B5).addRange(0x12B8,0x12BE).addRange(0x12C2,0x12C5).addRange(0x12C8,0x12D6).addRange(0x12D8,0x1310).addRange(0x1312,0x1315).addRange(0x1318,0x135A).addRange(0x135D,0x135F).addRange(0x1369,0x1371).addRange(0x1380,0x138F).addRange(0x13A0,0x13F5).addRange(0x13F8,0x13FD).addRange(0x1401,0x166C).addRange(0x166F,0x167F).addRange(0x1681,0x169A).addRange(0x16A0,0x16EA).addRange(0x16EE,0x16F8).addRange(0x1700,0x1715).addRange(0x171F,0x1734).addRange(0x1740,0x1753).addRange(0x1760,0x176C).addRange(0x176E,0x1770).addRange(0x1772,0x1773).addRange(0x1780,0x17D3).addRange(0x17DC,0x17DD).addRange(0x17E0,0x17E9);set.addRange(0x180B,0x180D).addRange(0x180F,0x1819).addRange(0x1820,0x1878).addRange(0x1880,0x18AA).addRange(0x18B0,0x18F5).addRange(0x1900,0x191E).addRange(0x1920,0x192B).addRange(0x1930,0x193B).addRange(0x1946,0x196D).addRange(0x1970,0x1974).addRange(0x1980,0x19AB).addRange(0x19B0,0x19C9).addRange(0x19D0,0x19DA).addRange(0x1A00,0x1A1B).addRange(0x1A20,0x1A5E).addRange(0x1A60,0x1A7C).addRange(0x1A7F,0x1A89).addRange(0x1A90,0x1A99).addRange(0x1AB0,0x1ABD).addRange(0x1ABF,0x1ACE).addRange(0x1B00,0x1B4C).addRange(0x1B50,0x1B59).addRange(0x1B6B,0x1B73).addRange(0x1B80,0x1BF3).addRange(0x1C00,0x1C37).addRange(0x1C40,0x1C49).addRange(0x1C4D,0x1C7D).addRange(0x1C80,0x1C88).addRange(0x1C90,0x1CBA).addRange(0x1CBD,0x1CBF).addRange(0x1CD0,0x1CD2).addRange(0x1CD4,0x1CFA).addRange(0x1D00,0x1F15).addRange(0x1F18,0x1F1D).addRange(0x1F20,0x1F45).addRange(0x1F48,0x1F4D).addRange(0x1F50,0x1F57).addRange(0x1F5F,0x1F7D).addRange(0x1F80,0x1FB4).addRange(0x1FB6,0x1FBC).addRange(0x1FC2,0x1FC4).addRange(0x1FC6,0x1FCC).addRange(0x1FD0,0x1FD3).addRange(0x1FD6,0x1FDB).addRange(0x1FE0,0x1FEC).addRange(0x1FF2,0x1FF4).addRange(0x1FF6,0x1FFC).addRange(0x200C,0x200D).addRange(0x203F,0x2040).addRange(0x2090,0x209C).addRange(0x20D0,0x20DC);set.addRange(0x20E5,0x20F0).addRange(0x210A,0x2113).addRange(0x2118,0x211D).addRange(0x212A,0x2139).addRange(0x213C,0x213F).addRange(0x2145,0x2149).addRange(0x2160,0x2188).addRange(0x2C00,0x2CE4).addRange(0x2CEB,0x2CF3).addRange(0x2D00,0x2D25).addRange(0x2D30,0x2D67).addRange(0x2D7F,0x2D96).addRange(0x2DA0,0x2DA6).addRange(0x2DA8,0x2DAE).addRange(0x2DB0,0x2DB6).addRange(0x2DB8,0x2DBE).addRange(0x2DC0,0x2DC6).addRange(0x2DC8,0x2DCE).addRange(0x2DD0,0x2DD6).addRange(0x2DD8,0x2DDE).addRange(0x2DE0,0x2DFF).addRange(0x3005,0x3007).addRange(0x3021,0x302F).addRange(0x3031,0x3035).addRange(0x3038,0x303C).addRange(0x3041,0x3096).addRange(0x3099,0x309F).addRange(0x30A1,0x30FF).addRange(0x3105,0x312F).addRange(0x3131,0x318E).addRange(0x31A0,0x31BF).addRange(0x31F0,0x31FF).addRange(0x3400,0x4DBF).addRange(0x4E00,0xA48C).addRange(0xA4D0,0xA4FD).addRange(0xA500,0xA60C).addRange(0xA610,0xA62B).addRange(0xA640,0xA66F).addRange(0xA674,0xA67D).addRange(0xA67F,0xA6F1).addRange(0xA717,0xA71F).addRange(0xA722,0xA788).addRange(0xA78B,0xA7CA).addRange(0xA7D0,0xA7D1).addRange(0xA7D5,0xA7D9).addRange(0xA7F2,0xA827).addRange(0xA840,0xA873).addRange(0xA880,0xA8C5).addRange(0xA8D0,0xA8D9).addRange(0xA8E0,0xA8F7).addRange(0xA8FD,0xA92D);set.addRange(0xA930,0xA953).addRange(0xA960,0xA97C).addRange(0xA980,0xA9C0).addRange(0xA9CF,0xA9D9).addRange(0xA9E0,0xA9FE).addRange(0xAA00,0xAA36).addRange(0xAA40,0xAA4D).addRange(0xAA50,0xAA59).addRange(0xAA60,0xAA76).addRange(0xAA7A,0xAAC2).addRange(0xAADB,0xAADD).addRange(0xAAE0,0xAAEF).addRange(0xAAF2,0xAAF6).addRange(0xAB01,0xAB06).addRange(0xAB09,0xAB0E).addRange(0xAB11,0xAB16).addRange(0xAB20,0xAB26).addRange(0xAB28,0xAB2E).addRange(0xAB30,0xAB5A).addRange(0xAB5C,0xAB69).addRange(0xAB70,0xABEA).addRange(0xABEC,0xABED).addRange(0xABF0,0xABF9).addRange(0xAC00,0xD7A3).addRange(0xD7B0,0xD7C6).addRange(0xD7CB,0xD7FB).addRange(0xF900,0xFA6D).addRange(0xFA70,0xFAD9).addRange(0xFB00,0xFB06).addRange(0xFB13,0xFB17).addRange(0xFB1D,0xFB28).addRange(0xFB2A,0xFB36).addRange(0xFB38,0xFB3C).addRange(0xFB40,0xFB41).addRange(0xFB43,0xFB44).addRange(0xFB46,0xFBB1).addRange(0xFBD3,0xFD3D).addRange(0xFD50,0xFD8F).addRange(0xFD92,0xFDC7).addRange(0xFDF0,0xFDFB).addRange(0xFE00,0xFE0F).addRange(0xFE20,0xFE2F).addRange(0xFE33,0xFE34).addRange(0xFE4D,0xFE4F).addRange(0xFE70,0xFE74).addRange(0xFE76,0xFEFC).addRange(0xFF10,0xFF19).addRange(0xFF21,0xFF3A).addRange(0xFF41,0xFF5A).addRange(0xFF65,0xFFBE).addRange(0xFFC2,0xFFC7);set.addRange(0xFFCA,0xFFCF).addRange(0xFFD2,0xFFD7).addRange(0xFFDA,0xFFDC).addRange(0x10000,0x1000B).addRange(0x1000D,0x10026).addRange(0x10028,0x1003A).addRange(0x1003C,0x1003D).addRange(0x1003F,0x1004D).addRange(0x10050,0x1005D).addRange(0x10080,0x100FA).addRange(0x10140,0x10174).addRange(0x10280,0x1029C).addRange(0x102A0,0x102D0).addRange(0x10300,0x1031F).addRange(0x1032D,0x1034A).addRange(0x10350,0x1037A).addRange(0x10380,0x1039D).addRange(0x103A0,0x103C3).addRange(0x103C8,0x103CF).addRange(0x103D1,0x103D5).addRange(0x10400,0x1049D).addRange(0x104A0,0x104A9).addRange(0x104B0,0x104D3).addRange(0x104D8,0x104FB).addRange(0x10500,0x10527).addRange(0x10530,0x10563).addRange(0x10570,0x1057A).addRange(0x1057C,0x1058A).addRange(0x1058C,0x10592).addRange(0x10594,0x10595).addRange(0x10597,0x105A1).addRange(0x105A3,0x105B1).addRange(0x105B3,0x105B9).addRange(0x105BB,0x105BC).addRange(0x10600,0x10736).addRange(0x10740,0x10755).addRange(0x10760,0x10767).addRange(0x10780,0x10785).addRange(0x10787,0x107B0).addRange(0x107B2,0x107BA).addRange(0x10800,0x10805).addRange(0x1080A,0x10835).addRange(0x10837,0x10838).addRange(0x1083F,0x10855).addRange(0x10860,0x10876).addRange(0x10880,0x1089E).addRange(0x108E0,0x108F2).addRange(0x108F4,0x108F5).addRange(0x10900,0x10915).addRange(0x10920,0x10939).addRange(0x10980,0x109B7);set.addRange(0x109BE,0x109BF).addRange(0x10A00,0x10A03).addRange(0x10A05,0x10A06).addRange(0x10A0C,0x10A13).addRange(0x10A15,0x10A17).addRange(0x10A19,0x10A35).addRange(0x10A38,0x10A3A).addRange(0x10A60,0x10A7C).addRange(0x10A80,0x10A9C).addRange(0x10AC0,0x10AC7).addRange(0x10AC9,0x10AE6).addRange(0x10B00,0x10B35).addRange(0x10B40,0x10B55).addRange(0x10B60,0x10B72).addRange(0x10B80,0x10B91).addRange(0x10C00,0x10C48).addRange(0x10C80,0x10CB2).addRange(0x10CC0,0x10CF2).addRange(0x10D00,0x10D27).addRange(0x10D30,0x10D39).addRange(0x10E80,0x10EA9).addRange(0x10EAB,0x10EAC).addRange(0x10EB0,0x10EB1).addRange(0x10EFD,0x10F1C).addRange(0x10F30,0x10F50).addRange(0x10F70,0x10F85).addRange(0x10FB0,0x10FC4).addRange(0x10FE0,0x10FF6).addRange(0x11000,0x11046).addRange(0x11066,0x11075).addRange(0x1107F,0x110BA).addRange(0x110D0,0x110E8).addRange(0x110F0,0x110F9).addRange(0x11100,0x11134).addRange(0x11136,0x1113F).addRange(0x11144,0x11147).addRange(0x11150,0x11173).addRange(0x11180,0x111C4).addRange(0x111C9,0x111CC).addRange(0x111CE,0x111DA).addRange(0x11200,0x11211).addRange(0x11213,0x11237).addRange(0x1123E,0x11241).addRange(0x11280,0x11286).addRange(0x1128A,0x1128D).addRange(0x1128F,0x1129D).addRange(0x1129F,0x112A8).addRange(0x112B0,0x112EA).addRange(0x112F0,0x112F9).addRange(0x11300,0x11303).addRange(0x11305,0x1130C);set.addRange(0x1130F,0x11310).addRange(0x11313,0x11328).addRange(0x1132A,0x11330).addRange(0x11332,0x11333).addRange(0x11335,0x11339).addRange(0x1133B,0x11344).addRange(0x11347,0x11348).addRange(0x1134B,0x1134D).addRange(0x1135D,0x11363).addRange(0x11366,0x1136C).addRange(0x11370,0x11374).addRange(0x11400,0x1144A).addRange(0x11450,0x11459).addRange(0x1145E,0x11461).addRange(0x11480,0x114C5).addRange(0x114D0,0x114D9).addRange(0x11580,0x115B5).addRange(0x115B8,0x115C0).addRange(0x115D8,0x115DD).addRange(0x11600,0x11640).addRange(0x11650,0x11659).addRange(0x11680,0x116B8).addRange(0x116C0,0x116C9).addRange(0x11700,0x1171A).addRange(0x1171D,0x1172B).addRange(0x11730,0x11739).addRange(0x11740,0x11746).addRange(0x11800,0x1183A).addRange(0x118A0,0x118E9).addRange(0x118FF,0x11906).addRange(0x1190C,0x11913).addRange(0x11915,0x11916).addRange(0x11918,0x11935).addRange(0x11937,0x11938).addRange(0x1193B,0x11943).addRange(0x11950,0x11959).addRange(0x119A0,0x119A7).addRange(0x119AA,0x119D7).addRange(0x119DA,0x119E1).addRange(0x119E3,0x119E4).addRange(0x11A00,0x11A3E).addRange(0x11A50,0x11A99).addRange(0x11AB0,0x11AF8).addRange(0x11C00,0x11C08).addRange(0x11C0A,0x11C36).addRange(0x11C38,0x11C40).addRange(0x11C50,0x11C59).addRange(0x11C72,0x11C8F).addRange(0x11C92,0x11CA7).addRange(0x11CA9,0x11CB6).addRange(0x11D00,0x11D06);set.addRange(0x11D08,0x11D09).addRange(0x11D0B,0x11D36).addRange(0x11D3C,0x11D3D).addRange(0x11D3F,0x11D47).addRange(0x11D50,0x11D59).addRange(0x11D60,0x11D65).addRange(0x11D67,0x11D68).addRange(0x11D6A,0x11D8E).addRange(0x11D90,0x11D91).addRange(0x11D93,0x11D98).addRange(0x11DA0,0x11DA9).addRange(0x11EE0,0x11EF6).addRange(0x11F00,0x11F10).addRange(0x11F12,0x11F3A).addRange(0x11F3E,0x11F42).addRange(0x11F50,0x11F59).addRange(0x12000,0x12399).addRange(0x12400,0x1246E).addRange(0x12480,0x12543).addRange(0x12F90,0x12FF0).addRange(0x13000,0x1342F).addRange(0x13440,0x13455).addRange(0x14400,0x14646).addRange(0x16800,0x16A38).addRange(0x16A40,0x16A5E).addRange(0x16A60,0x16A69).addRange(0x16A70,0x16ABE).addRange(0x16AC0,0x16AC9).addRange(0x16AD0,0x16AED).addRange(0x16AF0,0x16AF4).addRange(0x16B00,0x16B36).addRange(0x16B40,0x16B43).addRange(0x16B50,0x16B59).addRange(0x16B63,0x16B77).addRange(0x16B7D,0x16B8F).addRange(0x16E40,0x16E7F).addRange(0x16F00,0x16F4A).addRange(0x16F4F,0x16F87).addRange(0x16F8F,0x16F9F).addRange(0x16FE0,0x16FE1).addRange(0x16FE3,0x16FE4).addRange(0x16FF0,0x16FF1).addRange(0x17000,0x187F7).addRange(0x18800,0x18CD5).addRange(0x18D00,0x18D08).addRange(0x1AFF0,0x1AFF3).addRange(0x1AFF5,0x1AFFB).addRange(0x1AFFD,0x1AFFE).addRange(0x1B000,0x1B122).addRange(0x1B150,0x1B152).addRange(0x1B164,0x1B167);set.addRange(0x1B170,0x1B2FB).addRange(0x1BC00,0x1BC6A).addRange(0x1BC70,0x1BC7C).addRange(0x1BC80,0x1BC88).addRange(0x1BC90,0x1BC99).addRange(0x1BC9D,0x1BC9E).addRange(0x1CF00,0x1CF2D).addRange(0x1CF30,0x1CF46).addRange(0x1D165,0x1D169).addRange(0x1D16D,0x1D172).addRange(0x1D17B,0x1D182).addRange(0x1D185,0x1D18B).addRange(0x1D1AA,0x1D1AD).addRange(0x1D242,0x1D244).addRange(0x1D400,0x1D454).addRange(0x1D456,0x1D49C).addRange(0x1D49E,0x1D49F).addRange(0x1D4A5,0x1D4A6).addRange(0x1D4A9,0x1D4AC).addRange(0x1D4AE,0x1D4B9).addRange(0x1D4BD,0x1D4C3).addRange(0x1D4C5,0x1D505).addRange(0x1D507,0x1D50A).addRange(0x1D50D,0x1D514).addRange(0x1D516,0x1D51C).addRange(0x1D51E,0x1D539).addRange(0x1D53B,0x1D53E).addRange(0x1D540,0x1D544).addRange(0x1D54A,0x1D550).addRange(0x1D552,0x1D6A5).addRange(0x1D6A8,0x1D6C0).addRange(0x1D6C2,0x1D6DA).addRange(0x1D6DC,0x1D6FA).addRange(0x1D6FC,0x1D714).addRange(0x1D716,0x1D734).addRange(0x1D736,0x1D74E).addRange(0x1D750,0x1D76E).addRange(0x1D770,0x1D788).addRange(0x1D78A,0x1D7A8).addRange(0x1D7AA,0x1D7C2).addRange(0x1D7C4,0x1D7CB).addRange(0x1D7CE,0x1D7FF).addRange(0x1DA00,0x1DA36).addRange(0x1DA3B,0x1DA6C).addRange(0x1DA9B,0x1DA9F).addRange(0x1DAA1,0x1DAAF).addRange(0x1DF00,0x1DF1E).addRange(0x1DF25,0x1DF2A).addRange(0x1E000,0x1E006).addRange(0x1E008,0x1E018).addRange(0x1E01B,0x1E021);set.addRange(0x1E023,0x1E024).addRange(0x1E026,0x1E02A).addRange(0x1E030,0x1E06D).addRange(0x1E100,0x1E12C).addRange(0x1E130,0x1E13D).addRange(0x1E140,0x1E149).addRange(0x1E290,0x1E2AE).addRange(0x1E2C0,0x1E2F9).addRange(0x1E4D0,0x1E4F9).addRange(0x1E7E0,0x1E7E6).addRange(0x1E7E8,0x1E7EB).addRange(0x1E7ED,0x1E7EE).addRange(0x1E7F0,0x1E7FE).addRange(0x1E800,0x1E8C4).addRange(0x1E8D0,0x1E8D6).addRange(0x1E900,0x1E94B).addRange(0x1E950,0x1E959).addRange(0x1EE00,0x1EE03).addRange(0x1EE05,0x1EE1F).addRange(0x1EE21,0x1EE22).addRange(0x1EE29,0x1EE32).addRange(0x1EE34,0x1EE37).addRange(0x1EE4D,0x1EE4F).addRange(0x1EE51,0x1EE52).addRange(0x1EE61,0x1EE62).addRange(0x1EE67,0x1EE6A).addRange(0x1EE6C,0x1EE72).addRange(0x1EE74,0x1EE77).addRange(0x1EE79,0x1EE7C).addRange(0x1EE80,0x1EE89).addRange(0x1EE8B,0x1EE9B).addRange(0x1EEA1,0x1EEA3).addRange(0x1EEA5,0x1EEA9).addRange(0x1EEAB,0x1EEBB).addRange(0x1FBF0,0x1FBF9).addRange(0x20000,0x2A6DF).addRange(0x2A700,0x2B739).addRange(0x2B740,0x2B81D).addRange(0x2B820,0x2CEA1).addRange(0x2CEB0,0x2EBE0).addRange(0x2EBF0,0x2EE5D).addRange(0x2F800,0x2FA1D).addRange(0x30000,0x3134A).addRange(0x31350,0x323AF).addRange(0xE0100,0xE01EF);ID_Continue.characters=set;return ID_Continue;}var ID_Start={};var hasRequiredID_Start;function requireID_Start(){if(hasRequiredID_Start)return ID_Start;hasRequiredID_Start=1;var set=regenerateExports(0xAA,0xB5,0xBA,0x2EC,0x2EE,0x37F,0x386,0x38C,0x559,0x6D5,0x6FF,0x710,0x7B1,0x7FA,0x81A,0x824,0x828,0x93D,0x950,0x9B2,0x9BD,0x9CE,0x9FC,0xA5E,0xABD,0xAD0,0xAF9,0xB3D,0xB71,0xB83,0xB9C,0xBD0,0xC3D,0xC5D,0xC80,0xCBD,0xD3D,0xD4E,0xDBD,0xE84,0xEA5,0xEBD,0xEC6,0xF00,0x103F,0x1061,0x108E,0x10C7,0x10CD,0x1258,0x12C0,0x17D7,0x17DC,0x18AA,0x1AA7,0x1CFA,0x1F59,0x1F5B,0x1F5D,0x1FBE,0x2071,0x207F,0x2102,0x2107,0x2115,0x2124,0x2126,0x2128,0x214E,0x2D27,0x2D2D,0x2D6F,0xA7D3,0xA8FB,0xA9CF,0xAA7A,0xAAB1,0xAAC0,0xAAC2,0xFB1D,0xFB3E,0x10808,0x1083C,0x10A00,0x10F27,0x11075,0x11144,0x11147,0x11176,0x111DA,0x111DC,0x11288,0x1133D,0x11350,0x114C7,0x11644,0x116B8,0x11909,0x1193F,0x11941,0x119E1,0x119E3,0x11A00,0x11A3A,0x11A50,0x11A9D,0x11C40,0x11D46,0x11D98,0x11F02,0x11FB0,0x16F50,0x16FE3,0x1B132,0x1B155,0x1D4A2,0x1D4BB,0x1D546,0x1E14E,0x1E94B,0x1EE24,0x1EE27,0x1EE39,0x1EE3B,0x1EE42,0x1EE47,0x1EE49,0x1EE4B,0x1EE54,0x1EE57,0x1EE59,0x1EE5B,0x1EE5D,0x1EE5F,0x1EE64,0x1EE7E);set.addRange(0x41,0x5A).addRange(0x61,0x7A).addRange(0xC0,0xD6).addRange(0xD8,0xF6).addRange(0xF8,0x2C1).addRange(0x2C6,0x2D1).addRange(0x2E0,0x2E4).addRange(0x370,0x374).addRange(0x376,0x377).addRange(0x37A,0x37D).addRange(0x388,0x38A).addRange(0x38E,0x3A1).addRange(0x3A3,0x3F5).addRange(0x3F7,0x481).addRange(0x48A,0x52F).addRange(0x531,0x556).addRange(0x560,0x588).addRange(0x5D0,0x5EA).addRange(0x5EF,0x5F2).addRange(0x620,0x64A).addRange(0x66E,0x66F).addRange(0x671,0x6D3).addRange(0x6E5,0x6E6).addRange(0x6EE,0x6EF).addRange(0x6FA,0x6FC).addRange(0x712,0x72F).addRange(0x74D,0x7A5).addRange(0x7CA,0x7EA).addRange(0x7F4,0x7F5).addRange(0x800,0x815).addRange(0x840,0x858).addRange(0x860,0x86A).addRange(0x870,0x887).addRange(0x889,0x88E).addRange(0x8A0,0x8C9).addRange(0x904,0x939).addRange(0x958,0x961).addRange(0x971,0x980).addRange(0x985,0x98C).addRange(0x98F,0x990).addRange(0x993,0x9A8).addRange(0x9AA,0x9B0).addRange(0x9B6,0x9B9).addRange(0x9DC,0x9DD).addRange(0x9DF,0x9E1).addRange(0x9F0,0x9F1).addRange(0xA05,0xA0A).addRange(0xA0F,0xA10).addRange(0xA13,0xA28).addRange(0xA2A,0xA30).addRange(0xA32,0xA33);set.addRange(0xA35,0xA36).addRange(0xA38,0xA39).addRange(0xA59,0xA5C).addRange(0xA72,0xA74).addRange(0xA85,0xA8D).addRange(0xA8F,0xA91).addRange(0xA93,0xAA8).addRange(0xAAA,0xAB0).addRange(0xAB2,0xAB3).addRange(0xAB5,0xAB9).addRange(0xAE0,0xAE1).addRange(0xB05,0xB0C).addRange(0xB0F,0xB10).addRange(0xB13,0xB28).addRange(0xB2A,0xB30).addRange(0xB32,0xB33).addRange(0xB35,0xB39).addRange(0xB5C,0xB5D).addRange(0xB5F,0xB61).addRange(0xB85,0xB8A).addRange(0xB8E,0xB90).addRange(0xB92,0xB95).addRange(0xB99,0xB9A).addRange(0xB9E,0xB9F).addRange(0xBA3,0xBA4).addRange(0xBA8,0xBAA).addRange(0xBAE,0xBB9).addRange(0xC05,0xC0C).addRange(0xC0E,0xC10).addRange(0xC12,0xC28).addRange(0xC2A,0xC39).addRange(0xC58,0xC5A).addRange(0xC60,0xC61).addRange(0xC85,0xC8C).addRange(0xC8E,0xC90).addRange(0xC92,0xCA8).addRange(0xCAA,0xCB3).addRange(0xCB5,0xCB9).addRange(0xCDD,0xCDE).addRange(0xCE0,0xCE1).addRange(0xCF1,0xCF2).addRange(0xD04,0xD0C).addRange(0xD0E,0xD10).addRange(0xD12,0xD3A).addRange(0xD54,0xD56).addRange(0xD5F,0xD61).addRange(0xD7A,0xD7F).addRange(0xD85,0xD96).addRange(0xD9A,0xDB1).addRange(0xDB3,0xDBB).addRange(0xDC0,0xDC6);set.addRange(0xE01,0xE30).addRange(0xE32,0xE33).addRange(0xE40,0xE46).addRange(0xE81,0xE82).addRange(0xE86,0xE8A).addRange(0xE8C,0xEA3).addRange(0xEA7,0xEB0).addRange(0xEB2,0xEB3).addRange(0xEC0,0xEC4).addRange(0xEDC,0xEDF).addRange(0xF40,0xF47).addRange(0xF49,0xF6C).addRange(0xF88,0xF8C).addRange(0x1000,0x102A).addRange(0x1050,0x1055).addRange(0x105A,0x105D).addRange(0x1065,0x1066).addRange(0x106E,0x1070).addRange(0x1075,0x1081).addRange(0x10A0,0x10C5).addRange(0x10D0,0x10FA).addRange(0x10FC,0x1248).addRange(0x124A,0x124D).addRange(0x1250,0x1256).addRange(0x125A,0x125D).addRange(0x1260,0x1288).addRange(0x128A,0x128D).addRange(0x1290,0x12B0).addRange(0x12B2,0x12B5).addRange(0x12B8,0x12BE).addRange(0x12C2,0x12C5).addRange(0x12C8,0x12D6).addRange(0x12D8,0x1310).addRange(0x1312,0x1315).addRange(0x1318,0x135A).addRange(0x1380,0x138F).addRange(0x13A0,0x13F5).addRange(0x13F8,0x13FD).addRange(0x1401,0x166C).addRange(0x166F,0x167F).addRange(0x1681,0x169A).addRange(0x16A0,0x16EA).addRange(0x16EE,0x16F8).addRange(0x1700,0x1711).addRange(0x171F,0x1731).addRange(0x1740,0x1751).addRange(0x1760,0x176C).addRange(0x176E,0x1770).addRange(0x1780,0x17B3).addRange(0x1820,0x1878).addRange(0x1880,0x18A8);set.addRange(0x18B0,0x18F5).addRange(0x1900,0x191E).addRange(0x1950,0x196D).addRange(0x1970,0x1974).addRange(0x1980,0x19AB).addRange(0x19B0,0x19C9).addRange(0x1A00,0x1A16).addRange(0x1A20,0x1A54).addRange(0x1B05,0x1B33).addRange(0x1B45,0x1B4C).addRange(0x1B83,0x1BA0).addRange(0x1BAE,0x1BAF).addRange(0x1BBA,0x1BE5).addRange(0x1C00,0x1C23).addRange(0x1C4D,0x1C4F).addRange(0x1C5A,0x1C7D).addRange(0x1C80,0x1C88).addRange(0x1C90,0x1CBA).addRange(0x1CBD,0x1CBF).addRange(0x1CE9,0x1CEC).addRange(0x1CEE,0x1CF3).addRange(0x1CF5,0x1CF6).addRange(0x1D00,0x1DBF).addRange(0x1E00,0x1F15).addRange(0x1F18,0x1F1D).addRange(0x1F20,0x1F45).addRange(0x1F48,0x1F4D).addRange(0x1F50,0x1F57).addRange(0x1F5F,0x1F7D).addRange(0x1F80,0x1FB4).addRange(0x1FB6,0x1FBC).addRange(0x1FC2,0x1FC4).addRange(0x1FC6,0x1FCC).addRange(0x1FD0,0x1FD3).addRange(0x1FD6,0x1FDB).addRange(0x1FE0,0x1FEC).addRange(0x1FF2,0x1FF4).addRange(0x1FF6,0x1FFC).addRange(0x2090,0x209C).addRange(0x210A,0x2113).addRange(0x2118,0x211D).addRange(0x212A,0x2139).addRange(0x213C,0x213F).addRange(0x2145,0x2149).addRange(0x2160,0x2188).addRange(0x2C00,0x2CE4).addRange(0x2CEB,0x2CEE).addRange(0x2CF2,0x2CF3).addRange(0x2D00,0x2D25).addRange(0x2D30,0x2D67).addRange(0x2D80,0x2D96);set.addRange(0x2DA0,0x2DA6).addRange(0x2DA8,0x2DAE).addRange(0x2DB0,0x2DB6).addRange(0x2DB8,0x2DBE).addRange(0x2DC0,0x2DC6).addRange(0x2DC8,0x2DCE).addRange(0x2DD0,0x2DD6).addRange(0x2DD8,0x2DDE).addRange(0x3005,0x3007).addRange(0x3021,0x3029).addRange(0x3031,0x3035).addRange(0x3038,0x303C).addRange(0x3041,0x3096).addRange(0x309B,0x309F).addRange(0x30A1,0x30FA).addRange(0x30FC,0x30FF).addRange(0x3105,0x312F).addRange(0x3131,0x318E).addRange(0x31A0,0x31BF).addRange(0x31F0,0x31FF).addRange(0x3400,0x4DBF).addRange(0x4E00,0xA48C).addRange(0xA4D0,0xA4FD).addRange(0xA500,0xA60C).addRange(0xA610,0xA61F).addRange(0xA62A,0xA62B).addRange(0xA640,0xA66E).addRange(0xA67F,0xA69D).addRange(0xA6A0,0xA6EF).addRange(0xA717,0xA71F).addRange(0xA722,0xA788).addRange(0xA78B,0xA7CA).addRange(0xA7D0,0xA7D1).addRange(0xA7D5,0xA7D9).addRange(0xA7F2,0xA801).addRange(0xA803,0xA805).addRange(0xA807,0xA80A).addRange(0xA80C,0xA822).addRange(0xA840,0xA873).addRange(0xA882,0xA8B3).addRange(0xA8F2,0xA8F7).addRange(0xA8FD,0xA8FE).addRange(0xA90A,0xA925).addRange(0xA930,0xA946).addRange(0xA960,0xA97C).addRange(0xA984,0xA9B2).addRange(0xA9E0,0xA9E4).addRange(0xA9E6,0xA9EF).addRange(0xA9FA,0xA9FE).addRange(0xAA00,0xAA28).addRange(0xAA40,0xAA42);set.addRange(0xAA44,0xAA4B).addRange(0xAA60,0xAA76).addRange(0xAA7E,0xAAAF).addRange(0xAAB5,0xAAB6).addRange(0xAAB9,0xAABD).addRange(0xAADB,0xAADD).addRange(0xAAE0,0xAAEA).addRange(0xAAF2,0xAAF4).addRange(0xAB01,0xAB06).addRange(0xAB09,0xAB0E).addRange(0xAB11,0xAB16).addRange(0xAB20,0xAB26).addRange(0xAB28,0xAB2E).addRange(0xAB30,0xAB5A).addRange(0xAB5C,0xAB69).addRange(0xAB70,0xABE2).addRange(0xAC00,0xD7A3).addRange(0xD7B0,0xD7C6).addRange(0xD7CB,0xD7FB).addRange(0xF900,0xFA6D).addRange(0xFA70,0xFAD9).addRange(0xFB00,0xFB06).addRange(0xFB13,0xFB17).addRange(0xFB1F,0xFB28).addRange(0xFB2A,0xFB36).addRange(0xFB38,0xFB3C).addRange(0xFB40,0xFB41).addRange(0xFB43,0xFB44).addRange(0xFB46,0xFBB1).addRange(0xFBD3,0xFD3D).addRange(0xFD50,0xFD8F).addRange(0xFD92,0xFDC7).addRange(0xFDF0,0xFDFB).addRange(0xFE70,0xFE74).addRange(0xFE76,0xFEFC).addRange(0xFF21,0xFF3A).addRange(0xFF41,0xFF5A).addRange(0xFF66,0xFFBE).addRange(0xFFC2,0xFFC7).addRange(0xFFCA,0xFFCF).addRange(0xFFD2,0xFFD7).addRange(0xFFDA,0xFFDC).addRange(0x10000,0x1000B).addRange(0x1000D,0x10026).addRange(0x10028,0x1003A).addRange(0x1003C,0x1003D).addRange(0x1003F,0x1004D).addRange(0x10050,0x1005D).addRange(0x10080,0x100FA).addRange(0x10140,0x10174).addRange(0x10280,0x1029C);set.addRange(0x102A0,0x102D0).addRange(0x10300,0x1031F).addRange(0x1032D,0x1034A).addRange(0x10350,0x10375).addRange(0x10380,0x1039D).addRange(0x103A0,0x103C3).addRange(0x103C8,0x103CF).addRange(0x103D1,0x103D5).addRange(0x10400,0x1049D).addRange(0x104B0,0x104D3).addRange(0x104D8,0x104FB).addRange(0x10500,0x10527).addRange(0x10530,0x10563).addRange(0x10570,0x1057A).addRange(0x1057C,0x1058A).addRange(0x1058C,0x10592).addRange(0x10594,0x10595).addRange(0x10597,0x105A1).addRange(0x105A3,0x105B1).addRange(0x105B3,0x105B9).addRange(0x105BB,0x105BC).addRange(0x10600,0x10736).addRange(0x10740,0x10755).addRange(0x10760,0x10767).addRange(0x10780,0x10785).addRange(0x10787,0x107B0).addRange(0x107B2,0x107BA).addRange(0x10800,0x10805).addRange(0x1080A,0x10835).addRange(0x10837,0x10838).addRange(0x1083F,0x10855).addRange(0x10860,0x10876).addRange(0x10880,0x1089E).addRange(0x108E0,0x108F2).addRange(0x108F4,0x108F5).addRange(0x10900,0x10915).addRange(0x10920,0x10939).addRange(0x10980,0x109B7).addRange(0x109BE,0x109BF).addRange(0x10A10,0x10A13).addRange(0x10A15,0x10A17).addRange(0x10A19,0x10A35).addRange(0x10A60,0x10A7C).addRange(0x10A80,0x10A9C).addRange(0x10AC0,0x10AC7).addRange(0x10AC9,0x10AE4).addRange(0x10B00,0x10B35).addRange(0x10B40,0x10B55).addRange(0x10B60,0x10B72).addRange(0x10B80,0x10B91).addRange(0x10C00,0x10C48);set.addRange(0x10C80,0x10CB2).addRange(0x10CC0,0x10CF2).addRange(0x10D00,0x10D23).addRange(0x10E80,0x10EA9).addRange(0x10EB0,0x10EB1).addRange(0x10F00,0x10F1C).addRange(0x10F30,0x10F45).addRange(0x10F70,0x10F81).addRange(0x10FB0,0x10FC4).addRange(0x10FE0,0x10FF6).addRange(0x11003,0x11037).addRange(0x11071,0x11072).addRange(0x11083,0x110AF).addRange(0x110D0,0x110E8).addRange(0x11103,0x11126).addRange(0x11150,0x11172).addRange(0x11183,0x111B2).addRange(0x111C1,0x111C4).addRange(0x11200,0x11211).addRange(0x11213,0x1122B).addRange(0x1123F,0x11240).addRange(0x11280,0x11286).addRange(0x1128A,0x1128D).addRange(0x1128F,0x1129D).addRange(0x1129F,0x112A8).addRange(0x112B0,0x112DE).addRange(0x11305,0x1130C).addRange(0x1130F,0x11310).addRange(0x11313,0x11328).addRange(0x1132A,0x11330).addRange(0x11332,0x11333).addRange(0x11335,0x11339).addRange(0x1135D,0x11361).addRange(0x11400,0x11434).addRange(0x11447,0x1144A).addRange(0x1145F,0x11461).addRange(0x11480,0x114AF).addRange(0x114C4,0x114C5).addRange(0x11580,0x115AE).addRange(0x115D8,0x115DB).addRange(0x11600,0x1162F).addRange(0x11680,0x116AA).addRange(0x11700,0x1171A).addRange(0x11740,0x11746).addRange(0x11800,0x1182B).addRange(0x118A0,0x118DF).addRange(0x118FF,0x11906).addRange(0x1190C,0x11913).addRange(0x11915,0x11916).addRange(0x11918,0x1192F).addRange(0x119A0,0x119A7);set.addRange(0x119AA,0x119D0).addRange(0x11A0B,0x11A32).addRange(0x11A5C,0x11A89).addRange(0x11AB0,0x11AF8).addRange(0x11C00,0x11C08).addRange(0x11C0A,0x11C2E).addRange(0x11C72,0x11C8F).addRange(0x11D00,0x11D06).addRange(0x11D08,0x11D09).addRange(0x11D0B,0x11D30).addRange(0x11D60,0x11D65).addRange(0x11D67,0x11D68).addRange(0x11D6A,0x11D89).addRange(0x11EE0,0x11EF2).addRange(0x11F04,0x11F10).addRange(0x11F12,0x11F33).addRange(0x12000,0x12399).addRange(0x12400,0x1246E).addRange(0x12480,0x12543).addRange(0x12F90,0x12FF0).addRange(0x13000,0x1342F).addRange(0x13441,0x13446).addRange(0x14400,0x14646).addRange(0x16800,0x16A38).addRange(0x16A40,0x16A5E).addRange(0x16A70,0x16ABE).addRange(0x16AD0,0x16AED).addRange(0x16B00,0x16B2F).addRange(0x16B40,0x16B43).addRange(0x16B63,0x16B77).addRange(0x16B7D,0x16B8F).addRange(0x16E40,0x16E7F).addRange(0x16F00,0x16F4A).addRange(0x16F93,0x16F9F).addRange(0x16FE0,0x16FE1).addRange(0x17000,0x187F7).addRange(0x18800,0x18CD5).addRange(0x18D00,0x18D08).addRange(0x1AFF0,0x1AFF3).addRange(0x1AFF5,0x1AFFB).addRange(0x1AFFD,0x1AFFE).addRange(0x1B000,0x1B122).addRange(0x1B150,0x1B152).addRange(0x1B164,0x1B167).addRange(0x1B170,0x1B2FB).addRange(0x1BC00,0x1BC6A).addRange(0x1BC70,0x1BC7C).addRange(0x1BC80,0x1BC88).addRange(0x1BC90,0x1BC99).addRange(0x1D400,0x1D454).addRange(0x1D456,0x1D49C);set.addRange(0x1D49E,0x1D49F).addRange(0x1D4A5,0x1D4A6).addRange(0x1D4A9,0x1D4AC).addRange(0x1D4AE,0x1D4B9).addRange(0x1D4BD,0x1D4C3).addRange(0x1D4C5,0x1D505).addRange(0x1D507,0x1D50A).addRange(0x1D50D,0x1D514).addRange(0x1D516,0x1D51C).addRange(0x1D51E,0x1D539).addRange(0x1D53B,0x1D53E).addRange(0x1D540,0x1D544).addRange(0x1D54A,0x1D550).addRange(0x1D552,0x1D6A5).addRange(0x1D6A8,0x1D6C0).addRange(0x1D6C2,0x1D6DA).addRange(0x1D6DC,0x1D6FA).addRange(0x1D6FC,0x1D714).addRange(0x1D716,0x1D734).addRange(0x1D736,0x1D74E).addRange(0x1D750,0x1D76E).addRange(0x1D770,0x1D788).addRange(0x1D78A,0x1D7A8).addRange(0x1D7AA,0x1D7C2).addRange(0x1D7C4,0x1D7CB).addRange(0x1DF00,0x1DF1E).addRange(0x1DF25,0x1DF2A).addRange(0x1E030,0x1E06D).addRange(0x1E100,0x1E12C).addRange(0x1E137,0x1E13D).addRange(0x1E290,0x1E2AD).addRange(0x1E2C0,0x1E2EB).addRange(0x1E4D0,0x1E4EB).addRange(0x1E7E0,0x1E7E6).addRange(0x1E7E8,0x1E7EB).addRange(0x1E7ED,0x1E7EE).addRange(0x1E7F0,0x1E7FE).addRange(0x1E800,0x1E8C4).addRange(0x1E900,0x1E943).addRange(0x1EE00,0x1EE03).addRange(0x1EE05,0x1EE1F).addRange(0x1EE21,0x1EE22).addRange(0x1EE29,0x1EE32).addRange(0x1EE34,0x1EE37).addRange(0x1EE4D,0x1EE4F).addRange(0x1EE51,0x1EE52).addRange(0x1EE61,0x1EE62).addRange(0x1EE67,0x1EE6A).addRange(0x1EE6C,0x1EE72).addRange(0x1EE74,0x1EE77).addRange(0x1EE79,0x1EE7C);set.addRange(0x1EE80,0x1EE89).addRange(0x1EE8B,0x1EE9B).addRange(0x1EEA1,0x1EEA3).addRange(0x1EEA5,0x1EEA9).addRange(0x1EEAB,0x1EEBB).addRange(0x20000,0x2A6DF).addRange(0x2A700,0x2B739).addRange(0x2B740,0x2B81D).addRange(0x2B820,0x2CEA1).addRange(0x2CEB0,0x2EBE0).addRange(0x2EBF0,0x2EE5D).addRange(0x2F800,0x2FA1D).addRange(0x30000,0x3134A).addRange(0x31350,0x323AF);ID_Start.characters=set;return ID_Start;}var Ideographic={};var hasRequiredIdeographic;function requireIdeographic(){if(hasRequiredIdeographic)return Ideographic;hasRequiredIdeographic=1;var set=regenerateExports(0x16FE4);set.addRange(0x3006,0x3007).addRange(0x3021,0x3029).addRange(0x3038,0x303A).addRange(0x3400,0x4DBF).addRange(0x4E00,0x9FFF).addRange(0xF900,0xFA6D).addRange(0xFA70,0xFAD9).addRange(0x17000,0x187F7).addRange(0x18800,0x18CD5).addRange(0x18D00,0x18D08).addRange(0x1B170,0x1B2FB).addRange(0x20000,0x2A6DF).addRange(0x2A700,0x2B739).addRange(0x2B740,0x2B81D).addRange(0x2B820,0x2CEA1).addRange(0x2CEB0,0x2EBE0).addRange(0x2EBF0,0x2EE5D).addRange(0x2F800,0x2FA1D).addRange(0x30000,0x3134A).addRange(0x31350,0x323AF);Ideographic.characters=set;return Ideographic;}var IDS_Binary_Operator={};var hasRequiredIDS_Binary_Operator;function requireIDS_Binary_Operator(){if(hasRequiredIDS_Binary_Operator)return IDS_Binary_Operator;hasRequiredIDS_Binary_Operator=1;var set=regenerateExports(0x31EF);set.addRange(0x2FF0,0x2FF1).addRange(0x2FF4,0x2FFD);IDS_Binary_Operator.characters=set;return IDS_Binary_Operator;}var IDS_Trinary_Operator={};var hasRequiredIDS_Trinary_Operator;function requireIDS_Trinary_Operator(){if(hasRequiredIDS_Trinary_Operator)return IDS_Trinary_Operator;hasRequiredIDS_Trinary_Operator=1;var set=regenerateExports();set.addRange(0x2FF2,0x2FF3);IDS_Trinary_Operator.characters=set;return IDS_Trinary_Operator;}var Join_Control={};var hasRequiredJoin_Control;function requireJoin_Control(){if(hasRequiredJoin_Control)return Join_Control;hasRequiredJoin_Control=1;var set=regenerateExports();set.addRange(0x200C,0x200D);Join_Control.characters=set;return Join_Control;}var Logical_Order_Exception={};var hasRequiredLogical_Order_Exception;function requireLogical_Order_Exception(){if(hasRequiredLogical_Order_Exception)return Logical_Order_Exception;hasRequiredLogical_Order_Exception=1;var set=regenerateExports(0x19BA,0xAAB9);set.addRange(0xE40,0xE44).addRange(0xEC0,0xEC4).addRange(0x19B5,0x19B7).addRange(0xAAB5,0xAAB6).addRange(0xAABB,0xAABC);Logical_Order_Exception.characters=set;return Logical_Order_Exception;}var Lowercase={};var hasRequiredLowercase;function requireLowercase(){if(hasRequiredLowercase)return Lowercase;hasRequiredLowercase=1;var set=regenerateExports(0xAA,0xB5,0xBA,0x101,0x103,0x105,0x107,0x109,0x10B,0x10D,0x10F,0x111,0x113,0x115,0x117,0x119,0x11B,0x11D,0x11F,0x121,0x123,0x125,0x127,0x129,0x12B,0x12D,0x12F,0x131,0x133,0x135,0x13A,0x13C,0x13E,0x140,0x142,0x144,0x146,0x14B,0x14D,0x14F,0x151,0x153,0x155,0x157,0x159,0x15B,0x15D,0x15F,0x161,0x163,0x165,0x167,0x169,0x16B,0x16D,0x16F,0x171,0x173,0x175,0x177,0x17A,0x17C,0x183,0x185,0x188,0x192,0x195,0x19E,0x1A1,0x1A3,0x1A5,0x1A8,0x1AD,0x1B0,0x1B4,0x1B6,0x1C6,0x1C9,0x1CC,0x1CE,0x1D0,0x1D2,0x1D4,0x1D6,0x1D8,0x1DA,0x1DF,0x1E1,0x1E3,0x1E5,0x1E7,0x1E9,0x1EB,0x1ED,0x1F3,0x1F5,0x1F9,0x1FB,0x1FD,0x1FF,0x201,0x203,0x205,0x207,0x209,0x20B,0x20D,0x20F,0x211,0x213,0x215,0x217,0x219,0x21B,0x21D,0x21F,0x221,0x223,0x225,0x227,0x229,0x22B,0x22D,0x22F,0x231,0x23C,0x242,0x247,0x249,0x24B,0x24D,0x345,0x371,0x373,0x377,0x390,0x3D9,0x3DB,0x3DD,0x3DF,0x3E1,0x3E3,0x3E5,0x3E7,0x3E9,0x3EB,0x3ED,0x3F5,0x3F8,0x461,0x463,0x465,0x467,0x469,0x46B,0x46D,0x46F,0x471,0x473,0x475,0x477,0x479,0x47B,0x47D,0x47F,0x481,0x48B,0x48D,0x48F,0x491,0x493,0x495,0x497,0x499,0x49B,0x49D,0x49F,0x4A1,0x4A3,0x4A5,0x4A7,0x4A9,0x4AB,0x4AD,0x4AF,0x4B1,0x4B3,0x4B5,0x4B7,0x4B9,0x4BB,0x4BD,0x4BF,0x4C2,0x4C4,0x4C6,0x4C8,0x4CA,0x4CC,0x4D1,0x4D3,0x4D5,0x4D7,0x4D9,0x4DB,0x4DD,0x4DF,0x4E1,0x4E3,0x4E5,0x4E7,0x4E9,0x4EB,0x4ED,0x4EF,0x4F1,0x4F3,0x4F5,0x4F7,0x4F9,0x4FB,0x4FD,0x4FF,0x501,0x503,0x505,0x507,0x509,0x50B,0x50D,0x50F,0x511,0x513,0x515,0x517,0x519,0x51B,0x51D,0x51F,0x521,0x523,0x525,0x527,0x529,0x52B,0x52D,0x52F,0x1E01,0x1E03,0x1E05,0x1E07,0x1E09,0x1E0B,0x1E0D,0x1E0F,0x1E11,0x1E13,0x1E15,0x1E17,0x1E19,0x1E1B,0x1E1D,0x1E1F,0x1E21,0x1E23,0x1E25,0x1E27,0x1E29,0x1E2B,0x1E2D,0x1E2F,0x1E31,0x1E33,0x1E35,0x1E37,0x1E39,0x1E3B,0x1E3D,0x1E3F,0x1E41,0x1E43,0x1E45,0x1E47,0x1E49,0x1E4B,0x1E4D,0x1E4F,0x1E51,0x1E53,0x1E55,0x1E57,0x1E59,0x1E5B,0x1E5D,0x1E5F,0x1E61,0x1E63,0x1E65,0x1E67,0x1E69,0x1E6B,0x1E6D,0x1E6F,0x1E71,0x1E73,0x1E75,0x1E77,0x1E79,0x1E7B,0x1E7D,0x1E7F,0x1E81,0x1E83,0x1E85,0x1E87,0x1E89,0x1E8B,0x1E8D,0x1E8F,0x1E91,0x1E93,0x1E9F,0x1EA1,0x1EA3,0x1EA5,0x1EA7,0x1EA9,0x1EAB,0x1EAD,0x1EAF,0x1EB1,0x1EB3,0x1EB5,0x1EB7,0x1EB9,0x1EBB,0x1EBD,0x1EBF,0x1EC1,0x1EC3,0x1EC5,0x1EC7,0x1EC9,0x1ECB,0x1ECD,0x1ECF,0x1ED1,0x1ED3,0x1ED5,0x1ED7,0x1ED9,0x1EDB,0x1EDD,0x1EDF,0x1EE1,0x1EE3,0x1EE5,0x1EE7,0x1EE9,0x1EEB,0x1EED,0x1EEF,0x1EF1,0x1EF3,0x1EF5,0x1EF7,0x1EF9,0x1EFB,0x1EFD,0x1FBE,0x2071,0x207F,0x210A,0x2113,0x212F,0x2134,0x2139,0x214E,0x2184,0x2C61,0x2C68,0x2C6A,0x2C6C,0x2C71,0x2C81,0x2C83,0x2C85,0x2C87,0x2C89,0x2C8B,0x2C8D,0x2C8F,0x2C91,0x2C93,0x2C95,0x2C97,0x2C99,0x2C9B,0x2C9D,0x2C9F,0x2CA1,0x2CA3,0x2CA5,0x2CA7,0x2CA9,0x2CAB,0x2CAD,0x2CAF,0x2CB1,0x2CB3,0x2CB5,0x2CB7,0x2CB9,0x2CBB,0x2CBD,0x2CBF,0x2CC1,0x2CC3,0x2CC5,0x2CC7,0x2CC9,0x2CCB,0x2CCD,0x2CCF,0x2CD1,0x2CD3,0x2CD5,0x2CD7,0x2CD9,0x2CDB,0x2CDD,0x2CDF,0x2CE1,0x2CEC,0x2CEE,0x2CF3,0x2D27,0x2D2D,0xA641,0xA643,0xA645,0xA647,0xA649,0xA64B,0xA64D,0xA64F,0xA651,0xA653,0xA655,0xA657,0xA659,0xA65B,0xA65D,0xA65F,0xA661,0xA663,0xA665,0xA667,0xA669,0xA66B,0xA66D,0xA681,0xA683,0xA685,0xA687,0xA689,0xA68B,0xA68D,0xA68F,0xA691,0xA693,0xA695,0xA697,0xA699,0xA723,0xA725,0xA727,0xA729,0xA72B,0xA72D,0xA733,0xA735,0xA737,0xA739,0xA73B,0xA73D,0xA73F,0xA741,0xA743,0xA745,0xA747,0xA749,0xA74B,0xA74D,0xA74F,0xA751,0xA753,0xA755,0xA757,0xA759,0xA75B,0xA75D,0xA75F,0xA761,0xA763,0xA765,0xA767,0xA769,0xA76B,0xA76D,0xA77A,0xA77C,0xA77F,0xA781,0xA783,0xA785,0xA787,0xA78C,0xA78E,0xA791,0xA797,0xA799,0xA79B,0xA79D,0xA79F,0xA7A1,0xA7A3,0xA7A5,0xA7A7,0xA7A9,0xA7AF,0xA7B5,0xA7B7,0xA7B9,0xA7BB,0xA7BD,0xA7BF,0xA7C1,0xA7C3,0xA7C8,0xA7CA,0xA7D1,0xA7D3,0xA7D5,0xA7D7,0xA7D9,0xA7F6,0x10780,0x1D4BB,0x1D7CB);set.addRange(0x61,0x7A).addRange(0xDF,0xF6).addRange(0xF8,0xFF).addRange(0x137,0x138).addRange(0x148,0x149).addRange(0x17E,0x180).addRange(0x18C,0x18D).addRange(0x199,0x19B).addRange(0x1AA,0x1AB).addRange(0x1B9,0x1BA).addRange(0x1BD,0x1BF).addRange(0x1DC,0x1DD).addRange(0x1EF,0x1F0).addRange(0x233,0x239).addRange(0x23F,0x240).addRange(0x24F,0x293).addRange(0x295,0x2B8).addRange(0x2C0,0x2C1).addRange(0x2E0,0x2E4).addRange(0x37A,0x37D).addRange(0x3AC,0x3CE).addRange(0x3D0,0x3D1).addRange(0x3D5,0x3D7).addRange(0x3EF,0x3F3).addRange(0x3FB,0x3FC).addRange(0x430,0x45F).addRange(0x4CE,0x4CF).addRange(0x560,0x588).addRange(0x10D0,0x10FA).addRange(0x10FC,0x10FF).addRange(0x13F8,0x13FD).addRange(0x1C80,0x1C88).addRange(0x1D00,0x1DBF).addRange(0x1E95,0x1E9D).addRange(0x1EFF,0x1F07).addRange(0x1F10,0x1F15).addRange(0x1F20,0x1F27).addRange(0x1F30,0x1F37).addRange(0x1F40,0x1F45).addRange(0x1F50,0x1F57).addRange(0x1F60,0x1F67).addRange(0x1F70,0x1F7D).addRange(0x1F80,0x1F87).addRange(0x1F90,0x1F97).addRange(0x1FA0,0x1FA7).addRange(0x1FB0,0x1FB4).addRange(0x1FB6,0x1FB7).addRange(0x1FC2,0x1FC4).addRange(0x1FC6,0x1FC7).addRange(0x1FD0,0x1FD3).addRange(0x1FD6,0x1FD7);set.addRange(0x1FE0,0x1FE7).addRange(0x1FF2,0x1FF4).addRange(0x1FF6,0x1FF7).addRange(0x2090,0x209C).addRange(0x210E,0x210F).addRange(0x213C,0x213D).addRange(0x2146,0x2149).addRange(0x2170,0x217F).addRange(0x24D0,0x24E9).addRange(0x2C30,0x2C5F).addRange(0x2C65,0x2C66).addRange(0x2C73,0x2C74).addRange(0x2C76,0x2C7D).addRange(0x2CE3,0x2CE4).addRange(0x2D00,0x2D25).addRange(0xA69B,0xA69D).addRange(0xA72F,0xA731).addRange(0xA76F,0xA778).addRange(0xA793,0xA795).addRange(0xA7F2,0xA7F4).addRange(0xA7F8,0xA7FA).addRange(0xAB30,0xAB5A).addRange(0xAB5C,0xAB69).addRange(0xAB70,0xABBF).addRange(0xFB00,0xFB06).addRange(0xFB13,0xFB17).addRange(0xFF41,0xFF5A).addRange(0x10428,0x1044F).addRange(0x104D8,0x104FB).addRange(0x10597,0x105A1).addRange(0x105A3,0x105B1).addRange(0x105B3,0x105B9).addRange(0x105BB,0x105BC).addRange(0x10783,0x10785).addRange(0x10787,0x107B0).addRange(0x107B2,0x107BA).addRange(0x10CC0,0x10CF2).addRange(0x118C0,0x118DF).addRange(0x16E60,0x16E7F).addRange(0x1D41A,0x1D433).addRange(0x1D44E,0x1D454).addRange(0x1D456,0x1D467).addRange(0x1D482,0x1D49B).addRange(0x1D4B6,0x1D4B9).addRange(0x1D4BD,0x1D4C3).addRange(0x1D4C5,0x1D4CF).addRange(0x1D4EA,0x1D503).addRange(0x1D51E,0x1D537).addRange(0x1D552,0x1D56B).addRange(0x1D586,0x1D59F).addRange(0x1D5BA,0x1D5D3);set.addRange(0x1D5EE,0x1D607).addRange(0x1D622,0x1D63B).addRange(0x1D656,0x1D66F).addRange(0x1D68A,0x1D6A5).addRange(0x1D6C2,0x1D6DA).addRange(0x1D6DC,0x1D6E1).addRange(0x1D6FC,0x1D714).addRange(0x1D716,0x1D71B).addRange(0x1D736,0x1D74E).addRange(0x1D750,0x1D755).addRange(0x1D770,0x1D788).addRange(0x1D78A,0x1D78F).addRange(0x1D7AA,0x1D7C2).addRange(0x1D7C4,0x1D7C9).addRange(0x1DF00,0x1DF09).addRange(0x1DF0B,0x1DF1E).addRange(0x1DF25,0x1DF2A).addRange(0x1E030,0x1E06D).addRange(0x1E922,0x1E943);Lowercase.characters=set;return Lowercase;}var _Math={};var hasRequired_Math;function require_Math(){if(hasRequired_Math)return _Math;hasRequired_Math=1;var set=regenerateExports(0x2B,0x5E,0x7C,0x7E,0xAC,0xB1,0xD7,0xF7,0x3D5,0x2016,0x2040,0x2044,0x2052,0x20E1,0x2102,0x2107,0x2115,0x2124,0x214B,0x21DD,0x237C,0x23B7,0x23D0,0x25E2,0x25E4,0x2640,0x2642,0xFB29,0xFE68,0xFF0B,0xFF3C,0xFF3E,0xFF5C,0xFF5E,0xFFE2,0x1D4A2,0x1D4BB,0x1D546,0x1EE24,0x1EE27,0x1EE39,0x1EE3B,0x1EE42,0x1EE47,0x1EE49,0x1EE4B,0x1EE54,0x1EE57,0x1EE59,0x1EE5B,0x1EE5D,0x1EE5F,0x1EE64,0x1EE7E);set.addRange(0x3C,0x3E).addRange(0x3D0,0x3D2).addRange(0x3F0,0x3F1).addRange(0x3F4,0x3F6).addRange(0x606,0x608).addRange(0x2032,0x2034).addRange(0x2061,0x2064).addRange(0x207A,0x207E).addRange(0x208A,0x208E).addRange(0x20D0,0x20DC).addRange(0x20E5,0x20E6).addRange(0x20EB,0x20EF).addRange(0x210A,0x2113).addRange(0x2118,0x211D).addRange(0x2128,0x2129).addRange(0x212C,0x212D).addRange(0x212F,0x2131).addRange(0x2133,0x2138).addRange(0x213C,0x2149).addRange(0x2190,0x21A7).addRange(0x21A9,0x21AE).addRange(0x21B0,0x21B1).addRange(0x21B6,0x21B7).addRange(0x21BC,0x21DB).addRange(0x21E4,0x21E5).addRange(0x21F4,0x22FF).addRange(0x2308,0x230B).addRange(0x2320,0x2321).addRange(0x239B,0x23B5).addRange(0x23DC,0x23E2).addRange(0x25A0,0x25A1).addRange(0x25AE,0x25B7).addRange(0x25BC,0x25C1).addRange(0x25C6,0x25C7).addRange(0x25CA,0x25CB).addRange(0x25CF,0x25D3).addRange(0x25E7,0x25EC).addRange(0x25F8,0x25FF).addRange(0x2605,0x2606).addRange(0x2660,0x2663).addRange(0x266D,0x266F).addRange(0x27C0,0x27FF).addRange(0x2900,0x2AFF).addRange(0x2B30,0x2B44).addRange(0x2B47,0x2B4C).addRange(0xFE61,0xFE66).addRange(0xFF1C,0xFF1E).addRange(0xFFE9,0xFFEC).addRange(0x1D400,0x1D454).addRange(0x1D456,0x1D49C).addRange(0x1D49E,0x1D49F);set.addRange(0x1D4A5,0x1D4A6).addRange(0x1D4A9,0x1D4AC).addRange(0x1D4AE,0x1D4B9).addRange(0x1D4BD,0x1D4C3).addRange(0x1D4C5,0x1D505).addRange(0x1D507,0x1D50A).addRange(0x1D50D,0x1D514).addRange(0x1D516,0x1D51C).addRange(0x1D51E,0x1D539).addRange(0x1D53B,0x1D53E).addRange(0x1D540,0x1D544).addRange(0x1D54A,0x1D550).addRange(0x1D552,0x1D6A5).addRange(0x1D6A8,0x1D7CB).addRange(0x1D7CE,0x1D7FF).addRange(0x1EE00,0x1EE03).addRange(0x1EE05,0x1EE1F).addRange(0x1EE21,0x1EE22).addRange(0x1EE29,0x1EE32).addRange(0x1EE34,0x1EE37).addRange(0x1EE4D,0x1EE4F).addRange(0x1EE51,0x1EE52).addRange(0x1EE61,0x1EE62).addRange(0x1EE67,0x1EE6A).addRange(0x1EE6C,0x1EE72).addRange(0x1EE74,0x1EE77).addRange(0x1EE79,0x1EE7C).addRange(0x1EE80,0x1EE89).addRange(0x1EE8B,0x1EE9B).addRange(0x1EEA1,0x1EEA3).addRange(0x1EEA5,0x1EEA9).addRange(0x1EEAB,0x1EEBB).addRange(0x1EEF0,0x1EEF1);_Math.characters=set;return _Math;}var Noncharacter_Code_Point={};var hasRequiredNoncharacter_Code_Point;function requireNoncharacter_Code_Point(){if(hasRequiredNoncharacter_Code_Point)return Noncharacter_Code_Point;hasRequiredNoncharacter_Code_Point=1;var set=regenerateExports();set.addRange(0xFDD0,0xFDEF).addRange(0xFFFE,0xFFFF).addRange(0x1FFFE,0x1FFFF).addRange(0x2FFFE,0x2FFFF).addRange(0x3FFFE,0x3FFFF).addRange(0x4FFFE,0x4FFFF).addRange(0x5FFFE,0x5FFFF).addRange(0x6FFFE,0x6FFFF).addRange(0x7FFFE,0x7FFFF).addRange(0x8FFFE,0x8FFFF).addRange(0x9FFFE,0x9FFFF).addRange(0xAFFFE,0xAFFFF).addRange(0xBFFFE,0xBFFFF).addRange(0xCFFFE,0xCFFFF).addRange(0xDFFFE,0xDFFFF).addRange(0xEFFFE,0xEFFFF).addRange(0xFFFFE,0xFFFFF).addRange(0x10FFFE,0x10FFFF);Noncharacter_Code_Point.characters=set;return Noncharacter_Code_Point;}var Pattern_Syntax={};var hasRequiredPattern_Syntax;function requirePattern_Syntax(){if(hasRequiredPattern_Syntax)return Pattern_Syntax;hasRequiredPattern_Syntax=1;var set=regenerateExports(0x60,0xA9,0xAE,0xB6,0xBB,0xBF,0xD7,0xF7,0x3030);set.addRange(0x21,0x2F).addRange(0x3A,0x40).addRange(0x5B,0x5E).addRange(0x7B,0x7E).addRange(0xA1,0xA7).addRange(0xAB,0xAC).addRange(0xB0,0xB1).addRange(0x2010,0x2027).addRange(0x2030,0x203E).addRange(0x2041,0x2053).addRange(0x2055,0x205E).addRange(0x2190,0x245F).addRange(0x2500,0x2775).addRange(0x2794,0x2BFF).addRange(0x2E00,0x2E7F).addRange(0x3001,0x3003).addRange(0x3008,0x3020).addRange(0xFD3E,0xFD3F).addRange(0xFE45,0xFE46);Pattern_Syntax.characters=set;return Pattern_Syntax;}var Pattern_White_Space={};var hasRequiredPattern_White_Space;function requirePattern_White_Space(){if(hasRequiredPattern_White_Space)return Pattern_White_Space;hasRequiredPattern_White_Space=1;var set=regenerateExports(0x20,0x85);set.addRange(0x9,0xD).addRange(0x200E,0x200F).addRange(0x2028,0x2029);Pattern_White_Space.characters=set;return Pattern_White_Space;}var Quotation_Mark={};var hasRequiredQuotation_Mark;function requireQuotation_Mark(){if(hasRequiredQuotation_Mark)return Quotation_Mark;hasRequiredQuotation_Mark=1;var set=regenerateExports(0x22,0x27,0xAB,0xBB,0x2E42,0xFF02,0xFF07);set.addRange(0x2018,0x201F).addRange(0x2039,0x203A).addRange(0x300C,0x300F).addRange(0x301D,0x301F).addRange(0xFE41,0xFE44).addRange(0xFF62,0xFF63);Quotation_Mark.characters=set;return Quotation_Mark;}var Radical={};var hasRequiredRadical;function requireRadical(){if(hasRequiredRadical)return Radical;hasRequiredRadical=1;var set=regenerateExports();set.addRange(0x2E80,0x2E99).addRange(0x2E9B,0x2EF3).addRange(0x2F00,0x2FD5);Radical.characters=set;return Radical;}var Regional_Indicator={};var hasRequiredRegional_Indicator;function requireRegional_Indicator(){if(hasRequiredRegional_Indicator)return Regional_Indicator;hasRequiredRegional_Indicator=1;var set=regenerateExports();set.addRange(0x1F1E6,0x1F1FF);Regional_Indicator.characters=set;return Regional_Indicator;}var Sentence_Terminal={};var hasRequiredSentence_Terminal;function requireSentence_Terminal(){if(hasRequiredSentence_Terminal)return Sentence_Terminal;hasRequiredSentence_Terminal=1;var set=regenerateExports(0x21,0x2E,0x3F,0x589,0x6D4,0x7F9,0x837,0x839,0x1362,0x166E,0x1803,0x1809,0x2E2E,0x2E3C,0x3002,0xA4FF,0xA6F3,0xA6F7,0xA92F,0xABEB,0xFE52,0xFF01,0xFF0E,0xFF1F,0xFF61,0x111CD,0x112A9,0x11944,0x11946,0x16AF5,0x16B44,0x16E98,0x1BC9F,0x1DA88);set.addRange(0x61D,0x61F).addRange(0x700,0x702).addRange(0x83D,0x83E).addRange(0x964,0x965).addRange(0x104A,0x104B).addRange(0x1367,0x1368).addRange(0x1735,0x1736).addRange(0x17D4,0x17D5).addRange(0x1944,0x1945).addRange(0x1AA8,0x1AAB).addRange(0x1B5A,0x1B5B).addRange(0x1B5E,0x1B5F).addRange(0x1B7D,0x1B7E).addRange(0x1C3B,0x1C3C).addRange(0x1C7E,0x1C7F).addRange(0x203C,0x203D).addRange(0x2047,0x2049).addRange(0x2E53,0x2E54).addRange(0xA60E,0xA60F).addRange(0xA876,0xA877).addRange(0xA8CE,0xA8CF).addRange(0xA9C8,0xA9C9).addRange(0xAA5D,0xAA5F).addRange(0xAAF0,0xAAF1).addRange(0xFE56,0xFE57).addRange(0x10A56,0x10A57).addRange(0x10F55,0x10F59).addRange(0x10F86,0x10F89).addRange(0x11047,0x11048).addRange(0x110BE,0x110C1).addRange(0x11141,0x11143).addRange(0x111C5,0x111C6).addRange(0x111DE,0x111DF).addRange(0x11238,0x11239).addRange(0x1123B,0x1123C).addRange(0x1144B,0x1144C).addRange(0x115C2,0x115C3).addRange(0x115C9,0x115D7).addRange(0x11641,0x11642).addRange(0x1173C,0x1173E).addRange(0x11A42,0x11A43).addRange(0x11A9B,0x11A9C).addRange(0x11C41,0x11C42).addRange(0x11EF7,0x11EF8).addRange(0x11F43,0x11F44).addRange(0x16A6E,0x16A6F).addRange(0x16B37,0x16B38);Sentence_Terminal.characters=set;return Sentence_Terminal;}var Soft_Dotted={};var hasRequiredSoft_Dotted;function requireSoft_Dotted(){if(hasRequiredSoft_Dotted)return Soft_Dotted;hasRequiredSoft_Dotted=1;var set=regenerateExports(0x12F,0x249,0x268,0x29D,0x2B2,0x3F3,0x456,0x458,0x1D62,0x1D96,0x1DA4,0x1DA8,0x1E2D,0x1ECB,0x2071,0x2C7C,0x1DF1A,0x1E068);set.addRange(0x69,0x6A).addRange(0x2148,0x2149).addRange(0x1D422,0x1D423).addRange(0x1D456,0x1D457).addRange(0x1D48A,0x1D48B).addRange(0x1D4BE,0x1D4BF).addRange(0x1D4F2,0x1D4F3).addRange(0x1D526,0x1D527).addRange(0x1D55A,0x1D55B).addRange(0x1D58E,0x1D58F).addRange(0x1D5C2,0x1D5C3).addRange(0x1D5F6,0x1D5F7).addRange(0x1D62A,0x1D62B).addRange(0x1D65E,0x1D65F).addRange(0x1D692,0x1D693).addRange(0x1E04C,0x1E04D);Soft_Dotted.characters=set;return Soft_Dotted;}var Terminal_Punctuation={};var hasRequiredTerminal_Punctuation;function requireTerminal_Punctuation(){if(hasRequiredTerminal_Punctuation)return Terminal_Punctuation;hasRequiredTerminal_Punctuation=1;var set=regenerateExports(0x21,0x2C,0x2E,0x3F,0x37E,0x387,0x589,0x5C3,0x60C,0x61B,0x6D4,0x70C,0x85E,0xF08,0x166E,0x17DA,0x2E2E,0x2E3C,0x2E41,0x2E4C,0xA92F,0xAADF,0xABEB,0xFF01,0xFF0C,0xFF0E,0xFF1F,0xFF61,0xFF64,0x1039F,0x103D0,0x10857,0x1091F,0x111CD,0x112A9,0x11944,0x11946,0x11C71,0x16AF5,0x16B44,0x1BC9F);set.addRange(0x3A,0x3B).addRange(0x61D,0x61F).addRange(0x700,0x70A).addRange(0x7F8,0x7F9).addRange(0x830,0x83E).addRange(0x964,0x965).addRange(0xE5A,0xE5B).addRange(0xF0D,0xF12).addRange(0x104A,0x104B).addRange(0x1361,0x1368).addRange(0x16EB,0x16ED).addRange(0x1735,0x1736).addRange(0x17D4,0x17D6).addRange(0x1802,0x1805).addRange(0x1808,0x1809).addRange(0x1944,0x1945).addRange(0x1AA8,0x1AAB).addRange(0x1B5A,0x1B5B).addRange(0x1B5D,0x1B5F).addRange(0x1B7D,0x1B7E).addRange(0x1C3B,0x1C3F).addRange(0x1C7E,0x1C7F).addRange(0x203C,0x203D).addRange(0x2047,0x2049).addRange(0x2E4E,0x2E4F).addRange(0x2E53,0x2E54).addRange(0x3001,0x3002).addRange(0xA4FE,0xA4FF).addRange(0xA60D,0xA60F).addRange(0xA6F3,0xA6F7).addRange(0xA876,0xA877).addRange(0xA8CE,0xA8CF).addRange(0xA9C7,0xA9C9).addRange(0xAA5D,0xAA5F).addRange(0xAAF0,0xAAF1).addRange(0xFE50,0xFE52).addRange(0xFE54,0xFE57).addRange(0xFF1A,0xFF1B).addRange(0x10A56,0x10A57).addRange(0x10AF0,0x10AF5).addRange(0x10B3A,0x10B3F).addRange(0x10B99,0x10B9C).addRange(0x10F55,0x10F59).addRange(0x10F86,0x10F89).addRange(0x11047,0x1104D).addRange(0x110BE,0x110C1).addRange(0x11141,0x11143).addRange(0x111C5,0x111C6).addRange(0x111DE,0x111DF).addRange(0x11238,0x1123C).addRange(0x1144B,0x1144D);set.addRange(0x1145A,0x1145B).addRange(0x115C2,0x115C5).addRange(0x115C9,0x115D7).addRange(0x11641,0x11642).addRange(0x1173C,0x1173E).addRange(0x11A42,0x11A43).addRange(0x11A9B,0x11A9C).addRange(0x11AA1,0x11AA2).addRange(0x11C41,0x11C43).addRange(0x11EF7,0x11EF8).addRange(0x11F43,0x11F44).addRange(0x12470,0x12474).addRange(0x16A6E,0x16A6F).addRange(0x16B37,0x16B39).addRange(0x16E97,0x16E98).addRange(0x1DA87,0x1DA8A);Terminal_Punctuation.characters=set;return Terminal_Punctuation;}var Unified_Ideograph={};var hasRequiredUnified_Ideograph;function requireUnified_Ideograph(){if(hasRequiredUnified_Ideograph)return Unified_Ideograph;hasRequiredUnified_Ideograph=1;var set=regenerateExports(0xFA11,0xFA1F,0xFA21);set.addRange(0x3400,0x4DBF).addRange(0x4E00,0x9FFF).addRange(0xFA0E,0xFA0F).addRange(0xFA13,0xFA14).addRange(0xFA23,0xFA24).addRange(0xFA27,0xFA29).addRange(0x20000,0x2A6DF).addRange(0x2A700,0x2B739).addRange(0x2B740,0x2B81D).addRange(0x2B820,0x2CEA1).addRange(0x2CEB0,0x2EBE0).addRange(0x2EBF0,0x2EE5D).addRange(0x30000,0x3134A).addRange(0x31350,0x323AF);Unified_Ideograph.characters=set;return Unified_Ideograph;}var Uppercase={};var hasRequiredUppercase;function requireUppercase(){if(hasRequiredUppercase)return Uppercase;hasRequiredUppercase=1;var set=regenerateExports(0x100,0x102,0x104,0x106,0x108,0x10A,0x10C,0x10E,0x110,0x112,0x114,0x116,0x118,0x11A,0x11C,0x11E,0x120,0x122,0x124,0x126,0x128,0x12A,0x12C,0x12E,0x130,0x132,0x134,0x136,0x139,0x13B,0x13D,0x13F,0x141,0x143,0x145,0x147,0x14A,0x14C,0x14E,0x150,0x152,0x154,0x156,0x158,0x15A,0x15C,0x15E,0x160,0x162,0x164,0x166,0x168,0x16A,0x16C,0x16E,0x170,0x172,0x174,0x176,0x17B,0x17D,0x184,0x1A2,0x1A4,0x1A9,0x1AC,0x1B5,0x1BC,0x1C4,0x1C7,0x1CA,0x1CD,0x1CF,0x1D1,0x1D3,0x1D5,0x1D7,0x1D9,0x1DB,0x1DE,0x1E0,0x1E2,0x1E4,0x1E6,0x1E8,0x1EA,0x1EC,0x1EE,0x1F1,0x1F4,0x1FA,0x1FC,0x1FE,0x200,0x202,0x204,0x206,0x208,0x20A,0x20C,0x20E,0x210,0x212,0x214,0x216,0x218,0x21A,0x21C,0x21E,0x220,0x222,0x224,0x226,0x228,0x22A,0x22C,0x22E,0x230,0x232,0x241,0x248,0x24A,0x24C,0x24E,0x370,0x372,0x376,0x37F,0x386,0x38C,0x3CF,0x3D8,0x3DA,0x3DC,0x3DE,0x3E0,0x3E2,0x3E4,0x3E6,0x3E8,0x3EA,0x3EC,0x3EE,0x3F4,0x3F7,0x460,0x462,0x464,0x466,0x468,0x46A,0x46C,0x46E,0x470,0x472,0x474,0x476,0x478,0x47A,0x47C,0x47E,0x480,0x48A,0x48C,0x48E,0x490,0x492,0x494,0x496,0x498,0x49A,0x49C,0x49E,0x4A0,0x4A2,0x4A4,0x4A6,0x4A8,0x4AA,0x4AC,0x4AE,0x4B0,0x4B2,0x4B4,0x4B6,0x4B8,0x4BA,0x4BC,0x4BE,0x4C3,0x4C5,0x4C7,0x4C9,0x4CB,0x4CD,0x4D0,0x4D2,0x4D4,0x4D6,0x4D8,0x4DA,0x4DC,0x4DE,0x4E0,0x4E2,0x4E4,0x4E6,0x4E8,0x4EA,0x4EC,0x4EE,0x4F0,0x4F2,0x4F4,0x4F6,0x4F8,0x4FA,0x4FC,0x4FE,0x500,0x502,0x504,0x506,0x508,0x50A,0x50C,0x50E,0x510,0x512,0x514,0x516,0x518,0x51A,0x51C,0x51E,0x520,0x522,0x524,0x526,0x528,0x52A,0x52C,0x52E,0x10C7,0x10CD,0x1E00,0x1E02,0x1E04,0x1E06,0x1E08,0x1E0A,0x1E0C,0x1E0E,0x1E10,0x1E12,0x1E14,0x1E16,0x1E18,0x1E1A,0x1E1C,0x1E1E,0x1E20,0x1E22,0x1E24,0x1E26,0x1E28,0x1E2A,0x1E2C,0x1E2E,0x1E30,0x1E32,0x1E34,0x1E36,0x1E38,0x1E3A,0x1E3C,0x1E3E,0x1E40,0x1E42,0x1E44,0x1E46,0x1E48,0x1E4A,0x1E4C,0x1E4E,0x1E50,0x1E52,0x1E54,0x1E56,0x1E58,0x1E5A,0x1E5C,0x1E5E,0x1E60,0x1E62,0x1E64,0x1E66,0x1E68,0x1E6A,0x1E6C,0x1E6E,0x1E70,0x1E72,0x1E74,0x1E76,0x1E78,0x1E7A,0x1E7C,0x1E7E,0x1E80,0x1E82,0x1E84,0x1E86,0x1E88,0x1E8A,0x1E8C,0x1E8E,0x1E90,0x1E92,0x1E94,0x1E9E,0x1EA0,0x1EA2,0x1EA4,0x1EA6,0x1EA8,0x1EAA,0x1EAC,0x1EAE,0x1EB0,0x1EB2,0x1EB4,0x1EB6,0x1EB8,0x1EBA,0x1EBC,0x1EBE,0x1EC0,0x1EC2,0x1EC4,0x1EC6,0x1EC8,0x1ECA,0x1ECC,0x1ECE,0x1ED0,0x1ED2,0x1ED4,0x1ED6,0x1ED8,0x1EDA,0x1EDC,0x1EDE,0x1EE0,0x1EE2,0x1EE4,0x1EE6,0x1EE8,0x1EEA,0x1EEC,0x1EEE,0x1EF0,0x1EF2,0x1EF4,0x1EF6,0x1EF8,0x1EFA,0x1EFC,0x1EFE,0x1F59,0x1F5B,0x1F5D,0x1F5F,0x2102,0x2107,0x2115,0x2124,0x2126,0x2128,0x2145,0x2183,0x2C60,0x2C67,0x2C69,0x2C6B,0x2C72,0x2C75,0x2C82,0x2C84,0x2C86,0x2C88,0x2C8A,0x2C8C,0x2C8E,0x2C90,0x2C92,0x2C94,0x2C96,0x2C98,0x2C9A,0x2C9C,0x2C9E,0x2CA0,0x2CA2,0x2CA4,0x2CA6,0x2CA8,0x2CAA,0x2CAC,0x2CAE,0x2CB0,0x2CB2,0x2CB4,0x2CB6,0x2CB8,0x2CBA,0x2CBC,0x2CBE,0x2CC0,0x2CC2,0x2CC4,0x2CC6,0x2CC8,0x2CCA,0x2CCC,0x2CCE,0x2CD0,0x2CD2,0x2CD4,0x2CD6,0x2CD8,0x2CDA,0x2CDC,0x2CDE,0x2CE0,0x2CE2,0x2CEB,0x2CED,0x2CF2,0xA640,0xA642,0xA644,0xA646,0xA648,0xA64A,0xA64C,0xA64E,0xA650,0xA652,0xA654,0xA656,0xA658,0xA65A,0xA65C,0xA65E,0xA660,0xA662,0xA664,0xA666,0xA668,0xA66A,0xA66C,0xA680,0xA682,0xA684,0xA686,0xA688,0xA68A,0xA68C,0xA68E,0xA690,0xA692,0xA694,0xA696,0xA698,0xA69A,0xA722,0xA724,0xA726,0xA728,0xA72A,0xA72C,0xA72E,0xA732,0xA734,0xA736,0xA738,0xA73A,0xA73C,0xA73E,0xA740,0xA742,0xA744,0xA746,0xA748,0xA74A,0xA74C,0xA74E,0xA750,0xA752,0xA754,0xA756,0xA758,0xA75A,0xA75C,0xA75E,0xA760,0xA762,0xA764,0xA766,0xA768,0xA76A,0xA76C,0xA76E,0xA779,0xA77B,0xA780,0xA782,0xA784,0xA786,0xA78B,0xA78D,0xA790,0xA792,0xA796,0xA798,0xA79A,0xA79C,0xA79E,0xA7A0,0xA7A2,0xA7A4,0xA7A6,0xA7A8,0xA7B6,0xA7B8,0xA7BA,0xA7BC,0xA7BE,0xA7C0,0xA7C2,0xA7C9,0xA7D0,0xA7D6,0xA7D8,0xA7F5,0x1D49C,0x1D4A2,0x1D546,0x1D7CA);set.addRange(0x41,0x5A).addRange(0xC0,0xD6).addRange(0xD8,0xDE).addRange(0x178,0x179).addRange(0x181,0x182).addRange(0x186,0x187).addRange(0x189,0x18B).addRange(0x18E,0x191).addRange(0x193,0x194).addRange(0x196,0x198).addRange(0x19C,0x19D).addRange(0x19F,0x1A0).addRange(0x1A6,0x1A7).addRange(0x1AE,0x1AF).addRange(0x1B1,0x1B3).addRange(0x1B7,0x1B8).addRange(0x1F6,0x1F8).addRange(0x23A,0x23B).addRange(0x23D,0x23E).addRange(0x243,0x246).addRange(0x388,0x38A).addRange(0x38E,0x38F).addRange(0x391,0x3A1).addRange(0x3A3,0x3AB).addRange(0x3D2,0x3D4).addRange(0x3F9,0x3FA).addRange(0x3FD,0x42F).addRange(0x4C0,0x4C1).addRange(0x531,0x556).addRange(0x10A0,0x10C5).addRange(0x13A0,0x13F5).addRange(0x1C90,0x1CBA).addRange(0x1CBD,0x1CBF).addRange(0x1F08,0x1F0F).addRange(0x1F18,0x1F1D).addRange(0x1F28,0x1F2F).addRange(0x1F38,0x1F3F).addRange(0x1F48,0x1F4D).addRange(0x1F68,0x1F6F).addRange(0x1FB8,0x1FBB).addRange(0x1FC8,0x1FCB).addRange(0x1FD8,0x1FDB).addRange(0x1FE8,0x1FEC).addRange(0x1FF8,0x1FFB).addRange(0x210B,0x210D).addRange(0x2110,0x2112).addRange(0x2119,0x211D).addRange(0x212A,0x212D).addRange(0x2130,0x2133).addRange(0x213E,0x213F).addRange(0x2160,0x216F);set.addRange(0x24B6,0x24CF).addRange(0x2C00,0x2C2F).addRange(0x2C62,0x2C64).addRange(0x2C6D,0x2C70).addRange(0x2C7E,0x2C80).addRange(0xA77D,0xA77E).addRange(0xA7AA,0xA7AE).addRange(0xA7B0,0xA7B4).addRange(0xA7C4,0xA7C7).addRange(0xFF21,0xFF3A).addRange(0x10400,0x10427).addRange(0x104B0,0x104D3).addRange(0x10570,0x1057A).addRange(0x1057C,0x1058A).addRange(0x1058C,0x10592).addRange(0x10594,0x10595).addRange(0x10C80,0x10CB2).addRange(0x118A0,0x118BF).addRange(0x16E40,0x16E5F).addRange(0x1D400,0x1D419).addRange(0x1D434,0x1D44D).addRange(0x1D468,0x1D481).addRange(0x1D49E,0x1D49F).addRange(0x1D4A5,0x1D4A6).addRange(0x1D4A9,0x1D4AC).addRange(0x1D4AE,0x1D4B5).addRange(0x1D4D0,0x1D4E9).addRange(0x1D504,0x1D505).addRange(0x1D507,0x1D50A).addRange(0x1D50D,0x1D514).addRange(0x1D516,0x1D51C).addRange(0x1D538,0x1D539).addRange(0x1D53B,0x1D53E).addRange(0x1D540,0x1D544).addRange(0x1D54A,0x1D550).addRange(0x1D56C,0x1D585).addRange(0x1D5A0,0x1D5B9).addRange(0x1D5D4,0x1D5ED).addRange(0x1D608,0x1D621).addRange(0x1D63C,0x1D655).addRange(0x1D670,0x1D689).addRange(0x1D6A8,0x1D6C0).addRange(0x1D6E2,0x1D6FA).addRange(0x1D71C,0x1D734).addRange(0x1D756,0x1D76E).addRange(0x1D790,0x1D7A8).addRange(0x1E900,0x1E921).addRange(0x1F130,0x1F149).addRange(0x1F150,0x1F169).addRange(0x1F170,0x1F189);Uppercase.characters=set;return Uppercase;}var Variation_Selector={};var hasRequiredVariation_Selector;function requireVariation_Selector(){if(hasRequiredVariation_Selector)return Variation_Selector;hasRequiredVariation_Selector=1;var set=regenerateExports(0x180F);set.addRange(0x180B,0x180D).addRange(0xFE00,0xFE0F).addRange(0xE0100,0xE01EF);Variation_Selector.characters=set;return Variation_Selector;}var White_Space={};var hasRequiredWhite_Space;function requireWhite_Space(){if(hasRequiredWhite_Space)return White_Space;hasRequiredWhite_Space=1;var set=regenerateExports(0x20,0x85,0xA0,0x1680,0x202F,0x205F,0x3000);set.addRange(0x9,0xD).addRange(0x2000,0x200A).addRange(0x2028,0x2029);White_Space.characters=set;return White_Space;}var XID_Continue={};var hasRequiredXID_Continue;function requireXID_Continue(){if(hasRequiredXID_Continue)return XID_Continue;hasRequiredXID_Continue=1;var set=regenerateExports(0x5F,0xAA,0xB5,0xB7,0xBA,0x2EC,0x2EE,0x37F,0x38C,0x559,0x5BF,0x5C7,0x6FF,0x7FA,0x7FD,0x9B2,0x9D7,0x9FC,0x9FE,0xA3C,0xA51,0xA5E,0xAD0,0xB71,0xB9C,0xBD0,0xBD7,0xC5D,0xDBD,0xDCA,0xDD6,0xE84,0xEA5,0xEC6,0xF00,0xF35,0xF37,0xF39,0xFC6,0x10C7,0x10CD,0x1258,0x12C0,0x17D7,0x1AA7,0x1F59,0x1F5B,0x1F5D,0x1FBE,0x2054,0x2071,0x207F,0x20E1,0x2102,0x2107,0x2115,0x2124,0x2126,0x2128,0x214E,0x2D27,0x2D2D,0x2D6F,0xA7D3,0xA82C,0xA8FB,0xFB3E,0xFE71,0xFE73,0xFE77,0xFE79,0xFE7B,0xFE7D,0xFF3F,0x101FD,0x102E0,0x10808,0x1083C,0x10A3F,0x10F27,0x110C2,0x11176,0x111DC,0x11288,0x11350,0x11357,0x114C7,0x11644,0x11909,0x11A47,0x11A9D,0x11D3A,0x11FB0,0x1B132,0x1B155,0x1D4A2,0x1D4BB,0x1D546,0x1DA75,0x1DA84,0x1E08F,0x1E14E,0x1EE24,0x1EE27,0x1EE39,0x1EE3B,0x1EE42,0x1EE47,0x1EE49,0x1EE4B,0x1EE54,0x1EE57,0x1EE59,0x1EE5B,0x1EE5D,0x1EE5F,0x1EE64,0x1EE7E);set.addRange(0x30,0x39).addRange(0x41,0x5A).addRange(0x61,0x7A).addRange(0xC0,0xD6).addRange(0xD8,0xF6).addRange(0xF8,0x2C1).addRange(0x2C6,0x2D1).addRange(0x2E0,0x2E4).addRange(0x300,0x374).addRange(0x376,0x377).addRange(0x37B,0x37D).addRange(0x386,0x38A).addRange(0x38E,0x3A1).addRange(0x3A3,0x3F5).addRange(0x3F7,0x481).addRange(0x483,0x487).addRange(0x48A,0x52F).addRange(0x531,0x556).addRange(0x560,0x588).addRange(0x591,0x5BD).addRange(0x5C1,0x5C2).addRange(0x5C4,0x5C5).addRange(0x5D0,0x5EA).addRange(0x5EF,0x5F2).addRange(0x610,0x61A).addRange(0x620,0x669).addRange(0x66E,0x6D3).addRange(0x6D5,0x6DC).addRange(0x6DF,0x6E8).addRange(0x6EA,0x6FC).addRange(0x710,0x74A).addRange(0x74D,0x7B1).addRange(0x7C0,0x7F5).addRange(0x800,0x82D).addRange(0x840,0x85B).addRange(0x860,0x86A).addRange(0x870,0x887).addRange(0x889,0x88E).addRange(0x898,0x8E1).addRange(0x8E3,0x963).addRange(0x966,0x96F).addRange(0x971,0x983).addRange(0x985,0x98C).addRange(0x98F,0x990).addRange(0x993,0x9A8).addRange(0x9AA,0x9B0).addRange(0x9B6,0x9B9).addRange(0x9BC,0x9C4).addRange(0x9C7,0x9C8).addRange(0x9CB,0x9CE).addRange(0x9DC,0x9DD);set.addRange(0x9DF,0x9E3).addRange(0x9E6,0x9F1).addRange(0xA01,0xA03).addRange(0xA05,0xA0A).addRange(0xA0F,0xA10).addRange(0xA13,0xA28).addRange(0xA2A,0xA30).addRange(0xA32,0xA33).addRange(0xA35,0xA36).addRange(0xA38,0xA39).addRange(0xA3E,0xA42).addRange(0xA47,0xA48).addRange(0xA4B,0xA4D).addRange(0xA59,0xA5C).addRange(0xA66,0xA75).addRange(0xA81,0xA83).addRange(0xA85,0xA8D).addRange(0xA8F,0xA91).addRange(0xA93,0xAA8).addRange(0xAAA,0xAB0).addRange(0xAB2,0xAB3).addRange(0xAB5,0xAB9).addRange(0xABC,0xAC5).addRange(0xAC7,0xAC9).addRange(0xACB,0xACD).addRange(0xAE0,0xAE3).addRange(0xAE6,0xAEF).addRange(0xAF9,0xAFF).addRange(0xB01,0xB03).addRange(0xB05,0xB0C).addRange(0xB0F,0xB10).addRange(0xB13,0xB28).addRange(0xB2A,0xB30).addRange(0xB32,0xB33).addRange(0xB35,0xB39).addRange(0xB3C,0xB44).addRange(0xB47,0xB48).addRange(0xB4B,0xB4D).addRange(0xB55,0xB57).addRange(0xB5C,0xB5D).addRange(0xB5F,0xB63).addRange(0xB66,0xB6F).addRange(0xB82,0xB83).addRange(0xB85,0xB8A).addRange(0xB8E,0xB90).addRange(0xB92,0xB95).addRange(0xB99,0xB9A).addRange(0xB9E,0xB9F).addRange(0xBA3,0xBA4).addRange(0xBA8,0xBAA).addRange(0xBAE,0xBB9);set.addRange(0xBBE,0xBC2).addRange(0xBC6,0xBC8).addRange(0xBCA,0xBCD).addRange(0xBE6,0xBEF).addRange(0xC00,0xC0C).addRange(0xC0E,0xC10).addRange(0xC12,0xC28).addRange(0xC2A,0xC39).addRange(0xC3C,0xC44).addRange(0xC46,0xC48).addRange(0xC4A,0xC4D).addRange(0xC55,0xC56).addRange(0xC58,0xC5A).addRange(0xC60,0xC63).addRange(0xC66,0xC6F).addRange(0xC80,0xC83).addRange(0xC85,0xC8C).addRange(0xC8E,0xC90).addRange(0xC92,0xCA8).addRange(0xCAA,0xCB3).addRange(0xCB5,0xCB9).addRange(0xCBC,0xCC4).addRange(0xCC6,0xCC8).addRange(0xCCA,0xCCD).addRange(0xCD5,0xCD6).addRange(0xCDD,0xCDE).addRange(0xCE0,0xCE3).addRange(0xCE6,0xCEF).addRange(0xCF1,0xCF3).addRange(0xD00,0xD0C).addRange(0xD0E,0xD10).addRange(0xD12,0xD44).addRange(0xD46,0xD48).addRange(0xD4A,0xD4E).addRange(0xD54,0xD57).addRange(0xD5F,0xD63).addRange(0xD66,0xD6F).addRange(0xD7A,0xD7F).addRange(0xD81,0xD83).addRange(0xD85,0xD96).addRange(0xD9A,0xDB1).addRange(0xDB3,0xDBB).addRange(0xDC0,0xDC6).addRange(0xDCF,0xDD4).addRange(0xDD8,0xDDF).addRange(0xDE6,0xDEF).addRange(0xDF2,0xDF3).addRange(0xE01,0xE3A).addRange(0xE40,0xE4E).addRange(0xE50,0xE59).addRange(0xE81,0xE82);set.addRange(0xE86,0xE8A).addRange(0xE8C,0xEA3).addRange(0xEA7,0xEBD).addRange(0xEC0,0xEC4).addRange(0xEC8,0xECE).addRange(0xED0,0xED9).addRange(0xEDC,0xEDF).addRange(0xF18,0xF19).addRange(0xF20,0xF29).addRange(0xF3E,0xF47).addRange(0xF49,0xF6C).addRange(0xF71,0xF84).addRange(0xF86,0xF97).addRange(0xF99,0xFBC).addRange(0x1000,0x1049).addRange(0x1050,0x109D).addRange(0x10A0,0x10C5).addRange(0x10D0,0x10FA).addRange(0x10FC,0x1248).addRange(0x124A,0x124D).addRange(0x1250,0x1256).addRange(0x125A,0x125D).addRange(0x1260,0x1288).addRange(0x128A,0x128D).addRange(0x1290,0x12B0).addRange(0x12B2,0x12B5).addRange(0x12B8,0x12BE).addRange(0x12C2,0x12C5).addRange(0x12C8,0x12D6).addRange(0x12D8,0x1310).addRange(0x1312,0x1315).addRange(0x1318,0x135A).addRange(0x135D,0x135F).addRange(0x1369,0x1371).addRange(0x1380,0x138F).addRange(0x13A0,0x13F5).addRange(0x13F8,0x13FD).addRange(0x1401,0x166C).addRange(0x166F,0x167F).addRange(0x1681,0x169A).addRange(0x16A0,0x16EA).addRange(0x16EE,0x16F8).addRange(0x1700,0x1715).addRange(0x171F,0x1734).addRange(0x1740,0x1753).addRange(0x1760,0x176C).addRange(0x176E,0x1770).addRange(0x1772,0x1773).addRange(0x1780,0x17D3).addRange(0x17DC,0x17DD).addRange(0x17E0,0x17E9);set.addRange(0x180B,0x180D).addRange(0x180F,0x1819).addRange(0x1820,0x1878).addRange(0x1880,0x18AA).addRange(0x18B0,0x18F5).addRange(0x1900,0x191E).addRange(0x1920,0x192B).addRange(0x1930,0x193B).addRange(0x1946,0x196D).addRange(0x1970,0x1974).addRange(0x1980,0x19AB).addRange(0x19B0,0x19C9).addRange(0x19D0,0x19DA).addRange(0x1A00,0x1A1B).addRange(0x1A20,0x1A5E).addRange(0x1A60,0x1A7C).addRange(0x1A7F,0x1A89).addRange(0x1A90,0x1A99).addRange(0x1AB0,0x1ABD).addRange(0x1ABF,0x1ACE).addRange(0x1B00,0x1B4C).addRange(0x1B50,0x1B59).addRange(0x1B6B,0x1B73).addRange(0x1B80,0x1BF3).addRange(0x1C00,0x1C37).addRange(0x1C40,0x1C49).addRange(0x1C4D,0x1C7D).addRange(0x1C80,0x1C88).addRange(0x1C90,0x1CBA).addRange(0x1CBD,0x1CBF).addRange(0x1CD0,0x1CD2).addRange(0x1CD4,0x1CFA).addRange(0x1D00,0x1F15).addRange(0x1F18,0x1F1D).addRange(0x1F20,0x1F45).addRange(0x1F48,0x1F4D).addRange(0x1F50,0x1F57).addRange(0x1F5F,0x1F7D).addRange(0x1F80,0x1FB4).addRange(0x1FB6,0x1FBC).addRange(0x1FC2,0x1FC4).addRange(0x1FC6,0x1FCC).addRange(0x1FD0,0x1FD3).addRange(0x1FD6,0x1FDB).addRange(0x1FE0,0x1FEC).addRange(0x1FF2,0x1FF4).addRange(0x1FF6,0x1FFC).addRange(0x200C,0x200D).addRange(0x203F,0x2040).addRange(0x2090,0x209C).addRange(0x20D0,0x20DC);set.addRange(0x20E5,0x20F0).addRange(0x210A,0x2113).addRange(0x2118,0x211D).addRange(0x212A,0x2139).addRange(0x213C,0x213F).addRange(0x2145,0x2149).addRange(0x2160,0x2188).addRange(0x2C00,0x2CE4).addRange(0x2CEB,0x2CF3).addRange(0x2D00,0x2D25).addRange(0x2D30,0x2D67).addRange(0x2D7F,0x2D96).addRange(0x2DA0,0x2DA6).addRange(0x2DA8,0x2DAE).addRange(0x2DB0,0x2DB6).addRange(0x2DB8,0x2DBE).addRange(0x2DC0,0x2DC6).addRange(0x2DC8,0x2DCE).addRange(0x2DD0,0x2DD6).addRange(0x2DD8,0x2DDE).addRange(0x2DE0,0x2DFF).addRange(0x3005,0x3007).addRange(0x3021,0x302F).addRange(0x3031,0x3035).addRange(0x3038,0x303C).addRange(0x3041,0x3096).addRange(0x3099,0x309A).addRange(0x309D,0x309F).addRange(0x30A1,0x30FF).addRange(0x3105,0x312F).addRange(0x3131,0x318E).addRange(0x31A0,0x31BF).addRange(0x31F0,0x31FF).addRange(0x3400,0x4DBF).addRange(0x4E00,0xA48C).addRange(0xA4D0,0xA4FD).addRange(0xA500,0xA60C).addRange(0xA610,0xA62B).addRange(0xA640,0xA66F).addRange(0xA674,0xA67D).addRange(0xA67F,0xA6F1).addRange(0xA717,0xA71F).addRange(0xA722,0xA788).addRange(0xA78B,0xA7CA).addRange(0xA7D0,0xA7D1).addRange(0xA7D5,0xA7D9).addRange(0xA7F2,0xA827).addRange(0xA840,0xA873).addRange(0xA880,0xA8C5).addRange(0xA8D0,0xA8D9).addRange(0xA8E0,0xA8F7);set.addRange(0xA8FD,0xA92D).addRange(0xA930,0xA953).addRange(0xA960,0xA97C).addRange(0xA980,0xA9C0).addRange(0xA9CF,0xA9D9).addRange(0xA9E0,0xA9FE).addRange(0xAA00,0xAA36).addRange(0xAA40,0xAA4D).addRange(0xAA50,0xAA59).addRange(0xAA60,0xAA76).addRange(0xAA7A,0xAAC2).addRange(0xAADB,0xAADD).addRange(0xAAE0,0xAAEF).addRange(0xAAF2,0xAAF6).addRange(0xAB01,0xAB06).addRange(0xAB09,0xAB0E).addRange(0xAB11,0xAB16).addRange(0xAB20,0xAB26).addRange(0xAB28,0xAB2E).addRange(0xAB30,0xAB5A).addRange(0xAB5C,0xAB69).addRange(0xAB70,0xABEA).addRange(0xABEC,0xABED).addRange(0xABF0,0xABF9).addRange(0xAC00,0xD7A3).addRange(0xD7B0,0xD7C6).addRange(0xD7CB,0xD7FB).addRange(0xF900,0xFA6D).addRange(0xFA70,0xFAD9).addRange(0xFB00,0xFB06).addRange(0xFB13,0xFB17).addRange(0xFB1D,0xFB28).addRange(0xFB2A,0xFB36).addRange(0xFB38,0xFB3C).addRange(0xFB40,0xFB41).addRange(0xFB43,0xFB44).addRange(0xFB46,0xFBB1).addRange(0xFBD3,0xFC5D).addRange(0xFC64,0xFD3D).addRange(0xFD50,0xFD8F).addRange(0xFD92,0xFDC7).addRange(0xFDF0,0xFDF9).addRange(0xFE00,0xFE0F).addRange(0xFE20,0xFE2F).addRange(0xFE33,0xFE34).addRange(0xFE4D,0xFE4F).addRange(0xFE7F,0xFEFC).addRange(0xFF10,0xFF19).addRange(0xFF21,0xFF3A).addRange(0xFF41,0xFF5A).addRange(0xFF65,0xFFBE);set.addRange(0xFFC2,0xFFC7).addRange(0xFFCA,0xFFCF).addRange(0xFFD2,0xFFD7).addRange(0xFFDA,0xFFDC).addRange(0x10000,0x1000B).addRange(0x1000D,0x10026).addRange(0x10028,0x1003A).addRange(0x1003C,0x1003D).addRange(0x1003F,0x1004D).addRange(0x10050,0x1005D).addRange(0x10080,0x100FA).addRange(0x10140,0x10174).addRange(0x10280,0x1029C).addRange(0x102A0,0x102D0).addRange(0x10300,0x1031F).addRange(0x1032D,0x1034A).addRange(0x10350,0x1037A).addRange(0x10380,0x1039D).addRange(0x103A0,0x103C3).addRange(0x103C8,0x103CF).addRange(0x103D1,0x103D5).addRange(0x10400,0x1049D).addRange(0x104A0,0x104A9).addRange(0x104B0,0x104D3).addRange(0x104D8,0x104FB).addRange(0x10500,0x10527).addRange(0x10530,0x10563).addRange(0x10570,0x1057A).addRange(0x1057C,0x1058A).addRange(0x1058C,0x10592).addRange(0x10594,0x10595).addRange(0x10597,0x105A1).addRange(0x105A3,0x105B1).addRange(0x105B3,0x105B9).addRange(0x105BB,0x105BC).addRange(0x10600,0x10736).addRange(0x10740,0x10755).addRange(0x10760,0x10767).addRange(0x10780,0x10785).addRange(0x10787,0x107B0).addRange(0x107B2,0x107BA).addRange(0x10800,0x10805).addRange(0x1080A,0x10835).addRange(0x10837,0x10838).addRange(0x1083F,0x10855).addRange(0x10860,0x10876).addRange(0x10880,0x1089E).addRange(0x108E0,0x108F2).addRange(0x108F4,0x108F5).addRange(0x10900,0x10915).addRange(0x10920,0x10939);set.addRange(0x10980,0x109B7).addRange(0x109BE,0x109BF).addRange(0x10A00,0x10A03).addRange(0x10A05,0x10A06).addRange(0x10A0C,0x10A13).addRange(0x10A15,0x10A17).addRange(0x10A19,0x10A35).addRange(0x10A38,0x10A3A).addRange(0x10A60,0x10A7C).addRange(0x10A80,0x10A9C).addRange(0x10AC0,0x10AC7).addRange(0x10AC9,0x10AE6).addRange(0x10B00,0x10B35).addRange(0x10B40,0x10B55).addRange(0x10B60,0x10B72).addRange(0x10B80,0x10B91).addRange(0x10C00,0x10C48).addRange(0x10C80,0x10CB2).addRange(0x10CC0,0x10CF2).addRange(0x10D00,0x10D27).addRange(0x10D30,0x10D39).addRange(0x10E80,0x10EA9).addRange(0x10EAB,0x10EAC).addRange(0x10EB0,0x10EB1).addRange(0x10EFD,0x10F1C).addRange(0x10F30,0x10F50).addRange(0x10F70,0x10F85).addRange(0x10FB0,0x10FC4).addRange(0x10FE0,0x10FF6).addRange(0x11000,0x11046).addRange(0x11066,0x11075).addRange(0x1107F,0x110BA).addRange(0x110D0,0x110E8).addRange(0x110F0,0x110F9).addRange(0x11100,0x11134).addRange(0x11136,0x1113F).addRange(0x11144,0x11147).addRange(0x11150,0x11173).addRange(0x11180,0x111C4).addRange(0x111C9,0x111CC).addRange(0x111CE,0x111DA).addRange(0x11200,0x11211).addRange(0x11213,0x11237).addRange(0x1123E,0x11241).addRange(0x11280,0x11286).addRange(0x1128A,0x1128D).addRange(0x1128F,0x1129D).addRange(0x1129F,0x112A8).addRange(0x112B0,0x112EA).addRange(0x112F0,0x112F9).addRange(0x11300,0x11303);set.addRange(0x11305,0x1130C).addRange(0x1130F,0x11310).addRange(0x11313,0x11328).addRange(0x1132A,0x11330).addRange(0x11332,0x11333).addRange(0x11335,0x11339).addRange(0x1133B,0x11344).addRange(0x11347,0x11348).addRange(0x1134B,0x1134D).addRange(0x1135D,0x11363).addRange(0x11366,0x1136C).addRange(0x11370,0x11374).addRange(0x11400,0x1144A).addRange(0x11450,0x11459).addRange(0x1145E,0x11461).addRange(0x11480,0x114C5).addRange(0x114D0,0x114D9).addRange(0x11580,0x115B5).addRange(0x115B8,0x115C0).addRange(0x115D8,0x115DD).addRange(0x11600,0x11640).addRange(0x11650,0x11659).addRange(0x11680,0x116B8).addRange(0x116C0,0x116C9).addRange(0x11700,0x1171A).addRange(0x1171D,0x1172B).addRange(0x11730,0x11739).addRange(0x11740,0x11746).addRange(0x11800,0x1183A).addRange(0x118A0,0x118E9).addRange(0x118FF,0x11906).addRange(0x1190C,0x11913).addRange(0x11915,0x11916).addRange(0x11918,0x11935).addRange(0x11937,0x11938).addRange(0x1193B,0x11943).addRange(0x11950,0x11959).addRange(0x119A0,0x119A7).addRange(0x119AA,0x119D7).addRange(0x119DA,0x119E1).addRange(0x119E3,0x119E4).addRange(0x11A00,0x11A3E).addRange(0x11A50,0x11A99).addRange(0x11AB0,0x11AF8).addRange(0x11C00,0x11C08).addRange(0x11C0A,0x11C36).addRange(0x11C38,0x11C40).addRange(0x11C50,0x11C59).addRange(0x11C72,0x11C8F).addRange(0x11C92,0x11CA7).addRange(0x11CA9,0x11CB6);set.addRange(0x11D00,0x11D06).addRange(0x11D08,0x11D09).addRange(0x11D0B,0x11D36).addRange(0x11D3C,0x11D3D).addRange(0x11D3F,0x11D47).addRange(0x11D50,0x11D59).addRange(0x11D60,0x11D65).addRange(0x11D67,0x11D68).addRange(0x11D6A,0x11D8E).addRange(0x11D90,0x11D91).addRange(0x11D93,0x11D98).addRange(0x11DA0,0x11DA9).addRange(0x11EE0,0x11EF6).addRange(0x11F00,0x11F10).addRange(0x11F12,0x11F3A).addRange(0x11F3E,0x11F42).addRange(0x11F50,0x11F59).addRange(0x12000,0x12399).addRange(0x12400,0x1246E).addRange(0x12480,0x12543).addRange(0x12F90,0x12FF0).addRange(0x13000,0x1342F).addRange(0x13440,0x13455).addRange(0x14400,0x14646).addRange(0x16800,0x16A38).addRange(0x16A40,0x16A5E).addRange(0x16A60,0x16A69).addRange(0x16A70,0x16ABE).addRange(0x16AC0,0x16AC9).addRange(0x16AD0,0x16AED).addRange(0x16AF0,0x16AF4).addRange(0x16B00,0x16B36).addRange(0x16B40,0x16B43).addRange(0x16B50,0x16B59).addRange(0x16B63,0x16B77).addRange(0x16B7D,0x16B8F).addRange(0x16E40,0x16E7F).addRange(0x16F00,0x16F4A).addRange(0x16F4F,0x16F87).addRange(0x16F8F,0x16F9F).addRange(0x16FE0,0x16FE1).addRange(0x16FE3,0x16FE4).addRange(0x16FF0,0x16FF1).addRange(0x17000,0x187F7).addRange(0x18800,0x18CD5).addRange(0x18D00,0x18D08).addRange(0x1AFF0,0x1AFF3).addRange(0x1AFF5,0x1AFFB).addRange(0x1AFFD,0x1AFFE).addRange(0x1B000,0x1B122).addRange(0x1B150,0x1B152);set.addRange(0x1B164,0x1B167).addRange(0x1B170,0x1B2FB).addRange(0x1BC00,0x1BC6A).addRange(0x1BC70,0x1BC7C).addRange(0x1BC80,0x1BC88).addRange(0x1BC90,0x1BC99).addRange(0x1BC9D,0x1BC9E).addRange(0x1CF00,0x1CF2D).addRange(0x1CF30,0x1CF46).addRange(0x1D165,0x1D169).addRange(0x1D16D,0x1D172).addRange(0x1D17B,0x1D182).addRange(0x1D185,0x1D18B).addRange(0x1D1AA,0x1D1AD).addRange(0x1D242,0x1D244).addRange(0x1D400,0x1D454).addRange(0x1D456,0x1D49C).addRange(0x1D49E,0x1D49F).addRange(0x1D4A5,0x1D4A6).addRange(0x1D4A9,0x1D4AC).addRange(0x1D4AE,0x1D4B9).addRange(0x1D4BD,0x1D4C3).addRange(0x1D4C5,0x1D505).addRange(0x1D507,0x1D50A).addRange(0x1D50D,0x1D514).addRange(0x1D516,0x1D51C).addRange(0x1D51E,0x1D539).addRange(0x1D53B,0x1D53E).addRange(0x1D540,0x1D544).addRange(0x1D54A,0x1D550).addRange(0x1D552,0x1D6A5).addRange(0x1D6A8,0x1D6C0).addRange(0x1D6C2,0x1D6DA).addRange(0x1D6DC,0x1D6FA).addRange(0x1D6FC,0x1D714).addRange(0x1D716,0x1D734).addRange(0x1D736,0x1D74E).addRange(0x1D750,0x1D76E).addRange(0x1D770,0x1D788).addRange(0x1D78A,0x1D7A8).addRange(0x1D7AA,0x1D7C2).addRange(0x1D7C4,0x1D7CB).addRange(0x1D7CE,0x1D7FF).addRange(0x1DA00,0x1DA36).addRange(0x1DA3B,0x1DA6C).addRange(0x1DA9B,0x1DA9F).addRange(0x1DAA1,0x1DAAF).addRange(0x1DF00,0x1DF1E).addRange(0x1DF25,0x1DF2A).addRange(0x1E000,0x1E006).addRange(0x1E008,0x1E018);set.addRange(0x1E01B,0x1E021).addRange(0x1E023,0x1E024).addRange(0x1E026,0x1E02A).addRange(0x1E030,0x1E06D).addRange(0x1E100,0x1E12C).addRange(0x1E130,0x1E13D).addRange(0x1E140,0x1E149).addRange(0x1E290,0x1E2AE).addRange(0x1E2C0,0x1E2F9).addRange(0x1E4D0,0x1E4F9).addRange(0x1E7E0,0x1E7E6).addRange(0x1E7E8,0x1E7EB).addRange(0x1E7ED,0x1E7EE).addRange(0x1E7F0,0x1E7FE).addRange(0x1E800,0x1E8C4).addRange(0x1E8D0,0x1E8D6).addRange(0x1E900,0x1E94B).addRange(0x1E950,0x1E959).addRange(0x1EE00,0x1EE03).addRange(0x1EE05,0x1EE1F).addRange(0x1EE21,0x1EE22).addRange(0x1EE29,0x1EE32).addRange(0x1EE34,0x1EE37).addRange(0x1EE4D,0x1EE4F).addRange(0x1EE51,0x1EE52).addRange(0x1EE61,0x1EE62).addRange(0x1EE67,0x1EE6A).addRange(0x1EE6C,0x1EE72).addRange(0x1EE74,0x1EE77).addRange(0x1EE79,0x1EE7C).addRange(0x1EE80,0x1EE89).addRange(0x1EE8B,0x1EE9B).addRange(0x1EEA1,0x1EEA3).addRange(0x1EEA5,0x1EEA9).addRange(0x1EEAB,0x1EEBB).addRange(0x1FBF0,0x1FBF9).addRange(0x20000,0x2A6DF).addRange(0x2A700,0x2B739).addRange(0x2B740,0x2B81D).addRange(0x2B820,0x2CEA1).addRange(0x2CEB0,0x2EBE0).addRange(0x2EBF0,0x2EE5D).addRange(0x2F800,0x2FA1D).addRange(0x30000,0x3134A).addRange(0x31350,0x323AF).addRange(0xE0100,0xE01EF);XID_Continue.characters=set;return XID_Continue;}var XID_Start={};var hasRequiredXID_Start;function requireXID_Start(){if(hasRequiredXID_Start)return XID_Start;hasRequiredXID_Start=1;var set=regenerateExports(0xAA,0xB5,0xBA,0x2EC,0x2EE,0x37F,0x386,0x38C,0x559,0x6D5,0x6FF,0x710,0x7B1,0x7FA,0x81A,0x824,0x828,0x93D,0x950,0x9B2,0x9BD,0x9CE,0x9FC,0xA5E,0xABD,0xAD0,0xAF9,0xB3D,0xB71,0xB83,0xB9C,0xBD0,0xC3D,0xC5D,0xC80,0xCBD,0xD3D,0xD4E,0xDBD,0xE32,0xE84,0xEA5,0xEB2,0xEBD,0xEC6,0xF00,0x103F,0x1061,0x108E,0x10C7,0x10CD,0x1258,0x12C0,0x17D7,0x17DC,0x18AA,0x1AA7,0x1CFA,0x1F59,0x1F5B,0x1F5D,0x1FBE,0x2071,0x207F,0x2102,0x2107,0x2115,0x2124,0x2126,0x2128,0x214E,0x2D27,0x2D2D,0x2D6F,0xA7D3,0xA8FB,0xA9CF,0xAA7A,0xAAB1,0xAAC0,0xAAC2,0xFB1D,0xFB3E,0xFE71,0xFE73,0xFE77,0xFE79,0xFE7B,0xFE7D,0x10808,0x1083C,0x10A00,0x10F27,0x11075,0x11144,0x11147,0x11176,0x111DA,0x111DC,0x11288,0x1133D,0x11350,0x114C7,0x11644,0x116B8,0x11909,0x1193F,0x11941,0x119E1,0x119E3,0x11A00,0x11A3A,0x11A50,0x11A9D,0x11C40,0x11D46,0x11D98,0x11F02,0x11FB0,0x16F50,0x16FE3,0x1B132,0x1B155,0x1D4A2,0x1D4BB,0x1D546,0x1E14E,0x1E94B,0x1EE24,0x1EE27,0x1EE39,0x1EE3B,0x1EE42,0x1EE47,0x1EE49,0x1EE4B,0x1EE54,0x1EE57,0x1EE59,0x1EE5B,0x1EE5D,0x1EE5F,0x1EE64,0x1EE7E);set.addRange(0x41,0x5A).addRange(0x61,0x7A).addRange(0xC0,0xD6).addRange(0xD8,0xF6).addRange(0xF8,0x2C1).addRange(0x2C6,0x2D1).addRange(0x2E0,0x2E4).addRange(0x370,0x374).addRange(0x376,0x377).addRange(0x37B,0x37D).addRange(0x388,0x38A).addRange(0x38E,0x3A1).addRange(0x3A3,0x3F5).addRange(0x3F7,0x481).addRange(0x48A,0x52F).addRange(0x531,0x556).addRange(0x560,0x588).addRange(0x5D0,0x5EA).addRange(0x5EF,0x5F2).addRange(0x620,0x64A).addRange(0x66E,0x66F).addRange(0x671,0x6D3).addRange(0x6E5,0x6E6).addRange(0x6EE,0x6EF).addRange(0x6FA,0x6FC).addRange(0x712,0x72F).addRange(0x74D,0x7A5).addRange(0x7CA,0x7EA).addRange(0x7F4,0x7F5).addRange(0x800,0x815).addRange(0x840,0x858).addRange(0x860,0x86A).addRange(0x870,0x887).addRange(0x889,0x88E).addRange(0x8A0,0x8C9).addRange(0x904,0x939).addRange(0x958,0x961).addRange(0x971,0x980).addRange(0x985,0x98C).addRange(0x98F,0x990).addRange(0x993,0x9A8).addRange(0x9AA,0x9B0).addRange(0x9B6,0x9B9).addRange(0x9DC,0x9DD).addRange(0x9DF,0x9E1).addRange(0x9F0,0x9F1).addRange(0xA05,0xA0A).addRange(0xA0F,0xA10).addRange(0xA13,0xA28).addRange(0xA2A,0xA30).addRange(0xA32,0xA33);set.addRange(0xA35,0xA36).addRange(0xA38,0xA39).addRange(0xA59,0xA5C).addRange(0xA72,0xA74).addRange(0xA85,0xA8D).addRange(0xA8F,0xA91).addRange(0xA93,0xAA8).addRange(0xAAA,0xAB0).addRange(0xAB2,0xAB3).addRange(0xAB5,0xAB9).addRange(0xAE0,0xAE1).addRange(0xB05,0xB0C).addRange(0xB0F,0xB10).addRange(0xB13,0xB28).addRange(0xB2A,0xB30).addRange(0xB32,0xB33).addRange(0xB35,0xB39).addRange(0xB5C,0xB5D).addRange(0xB5F,0xB61).addRange(0xB85,0xB8A).addRange(0xB8E,0xB90).addRange(0xB92,0xB95).addRange(0xB99,0xB9A).addRange(0xB9E,0xB9F).addRange(0xBA3,0xBA4).addRange(0xBA8,0xBAA).addRange(0xBAE,0xBB9).addRange(0xC05,0xC0C).addRange(0xC0E,0xC10).addRange(0xC12,0xC28).addRange(0xC2A,0xC39).addRange(0xC58,0xC5A).addRange(0xC60,0xC61).addRange(0xC85,0xC8C).addRange(0xC8E,0xC90).addRange(0xC92,0xCA8).addRange(0xCAA,0xCB3).addRange(0xCB5,0xCB9).addRange(0xCDD,0xCDE).addRange(0xCE0,0xCE1).addRange(0xCF1,0xCF2).addRange(0xD04,0xD0C).addRange(0xD0E,0xD10).addRange(0xD12,0xD3A).addRange(0xD54,0xD56).addRange(0xD5F,0xD61).addRange(0xD7A,0xD7F).addRange(0xD85,0xD96).addRange(0xD9A,0xDB1).addRange(0xDB3,0xDBB).addRange(0xDC0,0xDC6);set.addRange(0xE01,0xE30).addRange(0xE40,0xE46).addRange(0xE81,0xE82).addRange(0xE86,0xE8A).addRange(0xE8C,0xEA3).addRange(0xEA7,0xEB0).addRange(0xEC0,0xEC4).addRange(0xEDC,0xEDF).addRange(0xF40,0xF47).addRange(0xF49,0xF6C).addRange(0xF88,0xF8C).addRange(0x1000,0x102A).addRange(0x1050,0x1055).addRange(0x105A,0x105D).addRange(0x1065,0x1066).addRange(0x106E,0x1070).addRange(0x1075,0x1081).addRange(0x10A0,0x10C5).addRange(0x10D0,0x10FA).addRange(0x10FC,0x1248).addRange(0x124A,0x124D).addRange(0x1250,0x1256).addRange(0x125A,0x125D).addRange(0x1260,0x1288).addRange(0x128A,0x128D).addRange(0x1290,0x12B0).addRange(0x12B2,0x12B5).addRange(0x12B8,0x12BE).addRange(0x12C2,0x12C5).addRange(0x12C8,0x12D6).addRange(0x12D8,0x1310).addRange(0x1312,0x1315).addRange(0x1318,0x135A).addRange(0x1380,0x138F).addRange(0x13A0,0x13F5).addRange(0x13F8,0x13FD).addRange(0x1401,0x166C).addRange(0x166F,0x167F).addRange(0x1681,0x169A).addRange(0x16A0,0x16EA).addRange(0x16EE,0x16F8).addRange(0x1700,0x1711).addRange(0x171F,0x1731).addRange(0x1740,0x1751).addRange(0x1760,0x176C).addRange(0x176E,0x1770).addRange(0x1780,0x17B3).addRange(0x1820,0x1878).addRange(0x1880,0x18A8).addRange(0x18B0,0x18F5).addRange(0x1900,0x191E);set.addRange(0x1950,0x196D).addRange(0x1970,0x1974).addRange(0x1980,0x19AB).addRange(0x19B0,0x19C9).addRange(0x1A00,0x1A16).addRange(0x1A20,0x1A54).addRange(0x1B05,0x1B33).addRange(0x1B45,0x1B4C).addRange(0x1B83,0x1BA0).addRange(0x1BAE,0x1BAF).addRange(0x1BBA,0x1BE5).addRange(0x1C00,0x1C23).addRange(0x1C4D,0x1C4F).addRange(0x1C5A,0x1C7D).addRange(0x1C80,0x1C88).addRange(0x1C90,0x1CBA).addRange(0x1CBD,0x1CBF).addRange(0x1CE9,0x1CEC).addRange(0x1CEE,0x1CF3).addRange(0x1CF5,0x1CF6).addRange(0x1D00,0x1DBF).addRange(0x1E00,0x1F15).addRange(0x1F18,0x1F1D).addRange(0x1F20,0x1F45).addRange(0x1F48,0x1F4D).addRange(0x1F50,0x1F57).addRange(0x1F5F,0x1F7D).addRange(0x1F80,0x1FB4).addRange(0x1FB6,0x1FBC).addRange(0x1FC2,0x1FC4).addRange(0x1FC6,0x1FCC).addRange(0x1FD0,0x1FD3).addRange(0x1FD6,0x1FDB).addRange(0x1FE0,0x1FEC).addRange(0x1FF2,0x1FF4).addRange(0x1FF6,0x1FFC).addRange(0x2090,0x209C).addRange(0x210A,0x2113).addRange(0x2118,0x211D).addRange(0x212A,0x2139).addRange(0x213C,0x213F).addRange(0x2145,0x2149).addRange(0x2160,0x2188).addRange(0x2C00,0x2CE4).addRange(0x2CEB,0x2CEE).addRange(0x2CF2,0x2CF3).addRange(0x2D00,0x2D25).addRange(0x2D30,0x2D67).addRange(0x2D80,0x2D96).addRange(0x2DA0,0x2DA6).addRange(0x2DA8,0x2DAE);set.addRange(0x2DB0,0x2DB6).addRange(0x2DB8,0x2DBE).addRange(0x2DC0,0x2DC6).addRange(0x2DC8,0x2DCE).addRange(0x2DD0,0x2DD6).addRange(0x2DD8,0x2DDE).addRange(0x3005,0x3007).addRange(0x3021,0x3029).addRange(0x3031,0x3035).addRange(0x3038,0x303C).addRange(0x3041,0x3096).addRange(0x309D,0x309F).addRange(0x30A1,0x30FA).addRange(0x30FC,0x30FF).addRange(0x3105,0x312F).addRange(0x3131,0x318E).addRange(0x31A0,0x31BF).addRange(0x31F0,0x31FF).addRange(0x3400,0x4DBF).addRange(0x4E00,0xA48C).addRange(0xA4D0,0xA4FD).addRange(0xA500,0xA60C).addRange(0xA610,0xA61F).addRange(0xA62A,0xA62B).addRange(0xA640,0xA66E).addRange(0xA67F,0xA69D).addRange(0xA6A0,0xA6EF).addRange(0xA717,0xA71F).addRange(0xA722,0xA788).addRange(0xA78B,0xA7CA).addRange(0xA7D0,0xA7D1).addRange(0xA7D5,0xA7D9).addRange(0xA7F2,0xA801).addRange(0xA803,0xA805).addRange(0xA807,0xA80A).addRange(0xA80C,0xA822).addRange(0xA840,0xA873).addRange(0xA882,0xA8B3).addRange(0xA8F2,0xA8F7).addRange(0xA8FD,0xA8FE).addRange(0xA90A,0xA925).addRange(0xA930,0xA946).addRange(0xA960,0xA97C).addRange(0xA984,0xA9B2).addRange(0xA9E0,0xA9E4).addRange(0xA9E6,0xA9EF).addRange(0xA9FA,0xA9FE).addRange(0xAA00,0xAA28).addRange(0xAA40,0xAA42).addRange(0xAA44,0xAA4B).addRange(0xAA60,0xAA76);set.addRange(0xAA7E,0xAAAF).addRange(0xAAB5,0xAAB6).addRange(0xAAB9,0xAABD).addRange(0xAADB,0xAADD).addRange(0xAAE0,0xAAEA).addRange(0xAAF2,0xAAF4).addRange(0xAB01,0xAB06).addRange(0xAB09,0xAB0E).addRange(0xAB11,0xAB16).addRange(0xAB20,0xAB26).addRange(0xAB28,0xAB2E).addRange(0xAB30,0xAB5A).addRange(0xAB5C,0xAB69).addRange(0xAB70,0xABE2).addRange(0xAC00,0xD7A3).addRange(0xD7B0,0xD7C6).addRange(0xD7CB,0xD7FB).addRange(0xF900,0xFA6D).addRange(0xFA70,0xFAD9).addRange(0xFB00,0xFB06).addRange(0xFB13,0xFB17).addRange(0xFB1F,0xFB28).addRange(0xFB2A,0xFB36).addRange(0xFB38,0xFB3C).addRange(0xFB40,0xFB41).addRange(0xFB43,0xFB44).addRange(0xFB46,0xFBB1).addRange(0xFBD3,0xFC5D).addRange(0xFC64,0xFD3D).addRange(0xFD50,0xFD8F).addRange(0xFD92,0xFDC7).addRange(0xFDF0,0xFDF9).addRange(0xFE7F,0xFEFC).addRange(0xFF21,0xFF3A).addRange(0xFF41,0xFF5A).addRange(0xFF66,0xFF9D).addRange(0xFFA0,0xFFBE).addRange(0xFFC2,0xFFC7).addRange(0xFFCA,0xFFCF).addRange(0xFFD2,0xFFD7).addRange(0xFFDA,0xFFDC).addRange(0x10000,0x1000B).addRange(0x1000D,0x10026).addRange(0x10028,0x1003A).addRange(0x1003C,0x1003D).addRange(0x1003F,0x1004D).addRange(0x10050,0x1005D).addRange(0x10080,0x100FA).addRange(0x10140,0x10174).addRange(0x10280,0x1029C).addRange(0x102A0,0x102D0);set.addRange(0x10300,0x1031F).addRange(0x1032D,0x1034A).addRange(0x10350,0x10375).addRange(0x10380,0x1039D).addRange(0x103A0,0x103C3).addRange(0x103C8,0x103CF).addRange(0x103D1,0x103D5).addRange(0x10400,0x1049D).addRange(0x104B0,0x104D3).addRange(0x104D8,0x104FB).addRange(0x10500,0x10527).addRange(0x10530,0x10563).addRange(0x10570,0x1057A).addRange(0x1057C,0x1058A).addRange(0x1058C,0x10592).addRange(0x10594,0x10595).addRange(0x10597,0x105A1).addRange(0x105A3,0x105B1).addRange(0x105B3,0x105B9).addRange(0x105BB,0x105BC).addRange(0x10600,0x10736).addRange(0x10740,0x10755).addRange(0x10760,0x10767).addRange(0x10780,0x10785).addRange(0x10787,0x107B0).addRange(0x107B2,0x107BA).addRange(0x10800,0x10805).addRange(0x1080A,0x10835).addRange(0x10837,0x10838).addRange(0x1083F,0x10855).addRange(0x10860,0x10876).addRange(0x10880,0x1089E).addRange(0x108E0,0x108F2).addRange(0x108F4,0x108F5).addRange(0x10900,0x10915).addRange(0x10920,0x10939).addRange(0x10980,0x109B7).addRange(0x109BE,0x109BF).addRange(0x10A10,0x10A13).addRange(0x10A15,0x10A17).addRange(0x10A19,0x10A35).addRange(0x10A60,0x10A7C).addRange(0x10A80,0x10A9C).addRange(0x10AC0,0x10AC7).addRange(0x10AC9,0x10AE4).addRange(0x10B00,0x10B35).addRange(0x10B40,0x10B55).addRange(0x10B60,0x10B72).addRange(0x10B80,0x10B91).addRange(0x10C00,0x10C48).addRange(0x10C80,0x10CB2);set.addRange(0x10CC0,0x10CF2).addRange(0x10D00,0x10D23).addRange(0x10E80,0x10EA9).addRange(0x10EB0,0x10EB1).addRange(0x10F00,0x10F1C).addRange(0x10F30,0x10F45).addRange(0x10F70,0x10F81).addRange(0x10FB0,0x10FC4).addRange(0x10FE0,0x10FF6).addRange(0x11003,0x11037).addRange(0x11071,0x11072).addRange(0x11083,0x110AF).addRange(0x110D0,0x110E8).addRange(0x11103,0x11126).addRange(0x11150,0x11172).addRange(0x11183,0x111B2).addRange(0x111C1,0x111C4).addRange(0x11200,0x11211).addRange(0x11213,0x1122B).addRange(0x1123F,0x11240).addRange(0x11280,0x11286).addRange(0x1128A,0x1128D).addRange(0x1128F,0x1129D).addRange(0x1129F,0x112A8).addRange(0x112B0,0x112DE).addRange(0x11305,0x1130C).addRange(0x1130F,0x11310).addRange(0x11313,0x11328).addRange(0x1132A,0x11330).addRange(0x11332,0x11333).addRange(0x11335,0x11339).addRange(0x1135D,0x11361).addRange(0x11400,0x11434).addRange(0x11447,0x1144A).addRange(0x1145F,0x11461).addRange(0x11480,0x114AF).addRange(0x114C4,0x114C5).addRange(0x11580,0x115AE).addRange(0x115D8,0x115DB).addRange(0x11600,0x1162F).addRange(0x11680,0x116AA).addRange(0x11700,0x1171A).addRange(0x11740,0x11746).addRange(0x11800,0x1182B).addRange(0x118A0,0x118DF).addRange(0x118FF,0x11906).addRange(0x1190C,0x11913).addRange(0x11915,0x11916).addRange(0x11918,0x1192F).addRange(0x119A0,0x119A7).addRange(0x119AA,0x119D0);set.addRange(0x11A0B,0x11A32).addRange(0x11A5C,0x11A89).addRange(0x11AB0,0x11AF8).addRange(0x11C00,0x11C08).addRange(0x11C0A,0x11C2E).addRange(0x11C72,0x11C8F).addRange(0x11D00,0x11D06).addRange(0x11D08,0x11D09).addRange(0x11D0B,0x11D30).addRange(0x11D60,0x11D65).addRange(0x11D67,0x11D68).addRange(0x11D6A,0x11D89).addRange(0x11EE0,0x11EF2).addRange(0x11F04,0x11F10).addRange(0x11F12,0x11F33).addRange(0x12000,0x12399).addRange(0x12400,0x1246E).addRange(0x12480,0x12543).addRange(0x12F90,0x12FF0).addRange(0x13000,0x1342F).addRange(0x13441,0x13446).addRange(0x14400,0x14646).addRange(0x16800,0x16A38).addRange(0x16A40,0x16A5E).addRange(0x16A70,0x16ABE).addRange(0x16AD0,0x16AED).addRange(0x16B00,0x16B2F).addRange(0x16B40,0x16B43).addRange(0x16B63,0x16B77).addRange(0x16B7D,0x16B8F).addRange(0x16E40,0x16E7F).addRange(0x16F00,0x16F4A).addRange(0x16F93,0x16F9F).addRange(0x16FE0,0x16FE1).addRange(0x17000,0x187F7).addRange(0x18800,0x18CD5).addRange(0x18D00,0x18D08).addRange(0x1AFF0,0x1AFF3).addRange(0x1AFF5,0x1AFFB).addRange(0x1AFFD,0x1AFFE).addRange(0x1B000,0x1B122).addRange(0x1B150,0x1B152).addRange(0x1B164,0x1B167).addRange(0x1B170,0x1B2FB).addRange(0x1BC00,0x1BC6A).addRange(0x1BC70,0x1BC7C).addRange(0x1BC80,0x1BC88).addRange(0x1BC90,0x1BC99).addRange(0x1D400,0x1D454).addRange(0x1D456,0x1D49C).addRange(0x1D49E,0x1D49F);set.addRange(0x1D4A5,0x1D4A6).addRange(0x1D4A9,0x1D4AC).addRange(0x1D4AE,0x1D4B9).addRange(0x1D4BD,0x1D4C3).addRange(0x1D4C5,0x1D505).addRange(0x1D507,0x1D50A).addRange(0x1D50D,0x1D514).addRange(0x1D516,0x1D51C).addRange(0x1D51E,0x1D539).addRange(0x1D53B,0x1D53E).addRange(0x1D540,0x1D544).addRange(0x1D54A,0x1D550).addRange(0x1D552,0x1D6A5).addRange(0x1D6A8,0x1D6C0).addRange(0x1D6C2,0x1D6DA).addRange(0x1D6DC,0x1D6FA).addRange(0x1D6FC,0x1D714).addRange(0x1D716,0x1D734).addRange(0x1D736,0x1D74E).addRange(0x1D750,0x1D76E).addRange(0x1D770,0x1D788).addRange(0x1D78A,0x1D7A8).addRange(0x1D7AA,0x1D7C2).addRange(0x1D7C4,0x1D7CB).addRange(0x1DF00,0x1DF1E).addRange(0x1DF25,0x1DF2A).addRange(0x1E030,0x1E06D).addRange(0x1E100,0x1E12C).addRange(0x1E137,0x1E13D).addRange(0x1E290,0x1E2AD).addRange(0x1E2C0,0x1E2EB).addRange(0x1E4D0,0x1E4EB).addRange(0x1E7E0,0x1E7E6).addRange(0x1E7E8,0x1E7EB).addRange(0x1E7ED,0x1E7EE).addRange(0x1E7F0,0x1E7FE).addRange(0x1E800,0x1E8C4).addRange(0x1E900,0x1E943).addRange(0x1EE00,0x1EE03).addRange(0x1EE05,0x1EE1F).addRange(0x1EE21,0x1EE22).addRange(0x1EE29,0x1EE32).addRange(0x1EE34,0x1EE37).addRange(0x1EE4D,0x1EE4F).addRange(0x1EE51,0x1EE52).addRange(0x1EE61,0x1EE62).addRange(0x1EE67,0x1EE6A).addRange(0x1EE6C,0x1EE72).addRange(0x1EE74,0x1EE77).addRange(0x1EE79,0x1EE7C).addRange(0x1EE80,0x1EE89);set.addRange(0x1EE8B,0x1EE9B).addRange(0x1EEA1,0x1EEA3).addRange(0x1EEA5,0x1EEA9).addRange(0x1EEAB,0x1EEBB).addRange(0x20000,0x2A6DF).addRange(0x2A700,0x2B739).addRange(0x2B740,0x2B81D).addRange(0x2B820,0x2CEA1).addRange(0x2CEB0,0x2EBE0).addRange(0x2EBF0,0x2EE5D).addRange(0x2F800,0x2FA1D).addRange(0x30000,0x3134A).addRange(0x31350,0x323AF);XID_Start.characters=set;return XID_Start;}var Cased_Letter={};var hasRequiredCased_Letter;function requireCased_Letter(){if(hasRequiredCased_Letter)return Cased_Letter;hasRequiredCased_Letter=1;var set=regenerateExports(0xB5,0x37F,0x386,0x38C,0x10C7,0x10CD,0x1F59,0x1F5B,0x1F5D,0x1FBE,0x2102,0x2107,0x2115,0x2124,0x2126,0x2128,0x2139,0x214E,0x2D27,0x2D2D,0xA7D3,0xA7FA,0x1D4A2,0x1D4BB,0x1D546);set.addRange(0x41,0x5A).addRange(0x61,0x7A).addRange(0xC0,0xD6).addRange(0xD8,0xF6).addRange(0xF8,0x1BA).addRange(0x1BC,0x1BF).addRange(0x1C4,0x293).addRange(0x295,0x2AF).addRange(0x370,0x373).addRange(0x376,0x377).addRange(0x37B,0x37D).addRange(0x388,0x38A).addRange(0x38E,0x3A1).addRange(0x3A3,0x3F5).addRange(0x3F7,0x481).addRange(0x48A,0x52F).addRange(0x531,0x556).addRange(0x560,0x588).addRange(0x10A0,0x10C5).addRange(0x10D0,0x10FA).addRange(0x10FD,0x10FF).addRange(0x13A0,0x13F5).addRange(0x13F8,0x13FD).addRange(0x1C80,0x1C88).addRange(0x1C90,0x1CBA).addRange(0x1CBD,0x1CBF).addRange(0x1D00,0x1D2B).addRange(0x1D6B,0x1D77).addRange(0x1D79,0x1D9A).addRange(0x1E00,0x1F15).addRange(0x1F18,0x1F1D).addRange(0x1F20,0x1F45).addRange(0x1F48,0x1F4D).addRange(0x1F50,0x1F57).addRange(0x1F5F,0x1F7D).addRange(0x1F80,0x1FB4).addRange(0x1FB6,0x1FBC).addRange(0x1FC2,0x1FC4).addRange(0x1FC6,0x1FCC).addRange(0x1FD0,0x1FD3).addRange(0x1FD6,0x1FDB).addRange(0x1FE0,0x1FEC).addRange(0x1FF2,0x1FF4).addRange(0x1FF6,0x1FFC).addRange(0x210A,0x2113).addRange(0x2119,0x211D).addRange(0x212A,0x212D).addRange(0x212F,0x2134).addRange(0x213C,0x213F).addRange(0x2145,0x2149).addRange(0x2183,0x2184);set.addRange(0x2C00,0x2C7B).addRange(0x2C7E,0x2CE4).addRange(0x2CEB,0x2CEE).addRange(0x2CF2,0x2CF3).addRange(0x2D00,0x2D25).addRange(0xA640,0xA66D).addRange(0xA680,0xA69B).addRange(0xA722,0xA76F).addRange(0xA771,0xA787).addRange(0xA78B,0xA78E).addRange(0xA790,0xA7CA).addRange(0xA7D0,0xA7D1).addRange(0xA7D5,0xA7D9).addRange(0xA7F5,0xA7F6).addRange(0xAB30,0xAB5A).addRange(0xAB60,0xAB68).addRange(0xAB70,0xABBF).addRange(0xFB00,0xFB06).addRange(0xFB13,0xFB17).addRange(0xFF21,0xFF3A).addRange(0xFF41,0xFF5A).addRange(0x10400,0x1044F).addRange(0x104B0,0x104D3).addRange(0x104D8,0x104FB).addRange(0x10570,0x1057A).addRange(0x1057C,0x1058A).addRange(0x1058C,0x10592).addRange(0x10594,0x10595).addRange(0x10597,0x105A1).addRange(0x105A3,0x105B1).addRange(0x105B3,0x105B9).addRange(0x105BB,0x105BC).addRange(0x10C80,0x10CB2).addRange(0x10CC0,0x10CF2).addRange(0x118A0,0x118DF).addRange(0x16E40,0x16E7F).addRange(0x1D400,0x1D454).addRange(0x1D456,0x1D49C).addRange(0x1D49E,0x1D49F).addRange(0x1D4A5,0x1D4A6).addRange(0x1D4A9,0x1D4AC).addRange(0x1D4AE,0x1D4B9).addRange(0x1D4BD,0x1D4C3).addRange(0x1D4C5,0x1D505).addRange(0x1D507,0x1D50A).addRange(0x1D50D,0x1D514).addRange(0x1D516,0x1D51C).addRange(0x1D51E,0x1D539).addRange(0x1D53B,0x1D53E).addRange(0x1D540,0x1D544).addRange(0x1D54A,0x1D550);set.addRange(0x1D552,0x1D6A5).addRange(0x1D6A8,0x1D6C0).addRange(0x1D6C2,0x1D6DA).addRange(0x1D6DC,0x1D6FA).addRange(0x1D6FC,0x1D714).addRange(0x1D716,0x1D734).addRange(0x1D736,0x1D74E).addRange(0x1D750,0x1D76E).addRange(0x1D770,0x1D788).addRange(0x1D78A,0x1D7A8).addRange(0x1D7AA,0x1D7C2).addRange(0x1D7C4,0x1D7CB).addRange(0x1DF00,0x1DF09).addRange(0x1DF0B,0x1DF1E).addRange(0x1DF25,0x1DF2A).addRange(0x1E900,0x1E943);Cased_Letter.characters=set;return Cased_Letter;}var Close_Punctuation={};var hasRequiredClose_Punctuation;function requireClose_Punctuation(){if(hasRequiredClose_Punctuation)return Close_Punctuation;hasRequiredClose_Punctuation=1;var set=regenerateExports(0x29,0x5D,0x7D,0xF3B,0xF3D,0x169C,0x2046,0x207E,0x208E,0x2309,0x230B,0x232A,0x2769,0x276B,0x276D,0x276F,0x2771,0x2773,0x2775,0x27C6,0x27E7,0x27E9,0x27EB,0x27ED,0x27EF,0x2984,0x2986,0x2988,0x298A,0x298C,0x298E,0x2990,0x2992,0x2994,0x2996,0x2998,0x29D9,0x29DB,0x29FD,0x2E23,0x2E25,0x2E27,0x2E29,0x2E56,0x2E58,0x2E5A,0x2E5C,0x3009,0x300B,0x300D,0x300F,0x3011,0x3015,0x3017,0x3019,0x301B,0xFD3E,0xFE18,0xFE36,0xFE38,0xFE3A,0xFE3C,0xFE3E,0xFE40,0xFE42,0xFE44,0xFE48,0xFE5A,0xFE5C,0xFE5E,0xFF09,0xFF3D,0xFF5D,0xFF60,0xFF63);set.addRange(0x301E,0x301F);Close_Punctuation.characters=set;return Close_Punctuation;}var Connector_Punctuation={};var hasRequiredConnector_Punctuation;function requireConnector_Punctuation(){if(hasRequiredConnector_Punctuation)return Connector_Punctuation;hasRequiredConnector_Punctuation=1;var set=regenerateExports(0x5F,0x2054,0xFF3F);set.addRange(0x203F,0x2040).addRange(0xFE33,0xFE34).addRange(0xFE4D,0xFE4F);Connector_Punctuation.characters=set;return Connector_Punctuation;}var Control={};var hasRequiredControl;function requireControl(){if(hasRequiredControl)return Control;hasRequiredControl=1;var set=regenerateExports();set.addRange(0x0,0x1F).addRange(0x7F,0x9F);Control.characters=set;return Control;}var Currency_Symbol={};var hasRequiredCurrency_Symbol;function requireCurrency_Symbol(){if(hasRequiredCurrency_Symbol)return Currency_Symbol;hasRequiredCurrency_Symbol=1;var set=regenerateExports(0x24,0x58F,0x60B,0x9FB,0xAF1,0xBF9,0xE3F,0x17DB,0xA838,0xFDFC,0xFE69,0xFF04,0x1E2FF,0x1ECB0);set.addRange(0xA2,0xA5).addRange(0x7FE,0x7FF).addRange(0x9F2,0x9F3).addRange(0x20A0,0x20C0).addRange(0xFFE0,0xFFE1).addRange(0xFFE5,0xFFE6).addRange(0x11FDD,0x11FE0);Currency_Symbol.characters=set;return Currency_Symbol;}var Dash_Punctuation={};var hasRequiredDash_Punctuation;function requireDash_Punctuation(){if(hasRequiredDash_Punctuation)return Dash_Punctuation;hasRequiredDash_Punctuation=1;var set=regenerateExports(0x2D,0x58A,0x5BE,0x1400,0x1806,0x2E17,0x2E1A,0x2E40,0x2E5D,0x301C,0x3030,0x30A0,0xFE58,0xFE63,0xFF0D,0x10EAD);set.addRange(0x2010,0x2015).addRange(0x2E3A,0x2E3B).addRange(0xFE31,0xFE32);Dash_Punctuation.characters=set;return Dash_Punctuation;}var Decimal_Number={};var hasRequiredDecimal_Number;function requireDecimal_Number(){if(hasRequiredDecimal_Number)return Decimal_Number;hasRequiredDecimal_Number=1;var set=regenerateExports();set.addRange(0x30,0x39).addRange(0x660,0x669).addRange(0x6F0,0x6F9).addRange(0x7C0,0x7C9).addRange(0x966,0x96F).addRange(0x9E6,0x9EF).addRange(0xA66,0xA6F).addRange(0xAE6,0xAEF).addRange(0xB66,0xB6F).addRange(0xBE6,0xBEF).addRange(0xC66,0xC6F).addRange(0xCE6,0xCEF).addRange(0xD66,0xD6F).addRange(0xDE6,0xDEF).addRange(0xE50,0xE59).addRange(0xED0,0xED9).addRange(0xF20,0xF29).addRange(0x1040,0x1049).addRange(0x1090,0x1099).addRange(0x17E0,0x17E9).addRange(0x1810,0x1819).addRange(0x1946,0x194F).addRange(0x19D0,0x19D9).addRange(0x1A80,0x1A89).addRange(0x1A90,0x1A99).addRange(0x1B50,0x1B59).addRange(0x1BB0,0x1BB9).addRange(0x1C40,0x1C49).addRange(0x1C50,0x1C59).addRange(0xA620,0xA629).addRange(0xA8D0,0xA8D9).addRange(0xA900,0xA909).addRange(0xA9D0,0xA9D9).addRange(0xA9F0,0xA9F9).addRange(0xAA50,0xAA59).addRange(0xABF0,0xABF9).addRange(0xFF10,0xFF19).addRange(0x104A0,0x104A9).addRange(0x10D30,0x10D39).addRange(0x11066,0x1106F).addRange(0x110F0,0x110F9).addRange(0x11136,0x1113F).addRange(0x111D0,0x111D9).addRange(0x112F0,0x112F9).addRange(0x11450,0x11459).addRange(0x114D0,0x114D9).addRange(0x11650,0x11659).addRange(0x116C0,0x116C9).addRange(0x11730,0x11739).addRange(0x118E0,0x118E9).addRange(0x11950,0x11959);set.addRange(0x11C50,0x11C59).addRange(0x11D50,0x11D59).addRange(0x11DA0,0x11DA9).addRange(0x11F50,0x11F59).addRange(0x16A60,0x16A69).addRange(0x16AC0,0x16AC9).addRange(0x16B50,0x16B59).addRange(0x1D7CE,0x1D7FF).addRange(0x1E140,0x1E149).addRange(0x1E2F0,0x1E2F9).addRange(0x1E4F0,0x1E4F9).addRange(0x1E950,0x1E959).addRange(0x1FBF0,0x1FBF9);Decimal_Number.characters=set;return Decimal_Number;}var Enclosing_Mark={};var hasRequiredEnclosing_Mark;function requireEnclosing_Mark(){if(hasRequiredEnclosing_Mark)return Enclosing_Mark;hasRequiredEnclosing_Mark=1;var set=regenerateExports(0x1ABE);set.addRange(0x488,0x489).addRange(0x20DD,0x20E0).addRange(0x20E2,0x20E4).addRange(0xA670,0xA672);Enclosing_Mark.characters=set;return Enclosing_Mark;}var Final_Punctuation={};var hasRequiredFinal_Punctuation;function requireFinal_Punctuation(){if(hasRequiredFinal_Punctuation)return Final_Punctuation;hasRequiredFinal_Punctuation=1;var set=regenerateExports(0xBB,0x2019,0x201D,0x203A,0x2E03,0x2E05,0x2E0A,0x2E0D,0x2E1D,0x2E21);Final_Punctuation.characters=set;return Final_Punctuation;}var Format={};var hasRequiredFormat;function requireFormat(){if(hasRequiredFormat)return Format;hasRequiredFormat=1;var set=regenerateExports(0xAD,0x61C,0x6DD,0x70F,0x8E2,0x180E,0xFEFF,0x110BD,0x110CD,0xE0001);set.addRange(0x600,0x605).addRange(0x890,0x891).addRange(0x200B,0x200F).addRange(0x202A,0x202E).addRange(0x2060,0x2064).addRange(0x2066,0x206F).addRange(0xFFF9,0xFFFB).addRange(0x13430,0x1343F).addRange(0x1BCA0,0x1BCA3).addRange(0x1D173,0x1D17A).addRange(0xE0020,0xE007F);Format.characters=set;return Format;}var Initial_Punctuation={};var hasRequiredInitial_Punctuation;function requireInitial_Punctuation(){if(hasRequiredInitial_Punctuation)return Initial_Punctuation;hasRequiredInitial_Punctuation=1;var set=regenerateExports(0xAB,0x2018,0x201F,0x2039,0x2E02,0x2E04,0x2E09,0x2E0C,0x2E1C,0x2E20);set.addRange(0x201B,0x201C);Initial_Punctuation.characters=set;return Initial_Punctuation;}var Letter_Number={};var hasRequiredLetter_Number;function requireLetter_Number(){if(hasRequiredLetter_Number)return Letter_Number;hasRequiredLetter_Number=1;var set=regenerateExports(0x3007,0x10341,0x1034A);set.addRange(0x16EE,0x16F0).addRange(0x2160,0x2182).addRange(0x2185,0x2188).addRange(0x3021,0x3029).addRange(0x3038,0x303A).addRange(0xA6E6,0xA6EF).addRange(0x10140,0x10174).addRange(0x103D1,0x103D5).addRange(0x12400,0x1246E);Letter_Number.characters=set;return Letter_Number;}var Letter={};var hasRequiredLetter;function requireLetter(){if(hasRequiredLetter)return Letter;hasRequiredLetter=1;var set=regenerateExports(0xAA,0xB5,0xBA,0x2EC,0x2EE,0x37F,0x386,0x38C,0x559,0x6D5,0x6FF,0x710,0x7B1,0x7FA,0x81A,0x824,0x828,0x93D,0x950,0x9B2,0x9BD,0x9CE,0x9FC,0xA5E,0xABD,0xAD0,0xAF9,0xB3D,0xB71,0xB83,0xB9C,0xBD0,0xC3D,0xC5D,0xC80,0xCBD,0xD3D,0xD4E,0xDBD,0xE84,0xEA5,0xEBD,0xEC6,0xF00,0x103F,0x1061,0x108E,0x10C7,0x10CD,0x1258,0x12C0,0x17D7,0x17DC,0x18AA,0x1AA7,0x1CFA,0x1F59,0x1F5B,0x1F5D,0x1FBE,0x2071,0x207F,0x2102,0x2107,0x2115,0x2124,0x2126,0x2128,0x214E,0x2D27,0x2D2D,0x2D6F,0x2E2F,0xA7D3,0xA8FB,0xA9CF,0xAA7A,0xAAB1,0xAAC0,0xAAC2,0xFB1D,0xFB3E,0x10808,0x1083C,0x10A00,0x10F27,0x11075,0x11144,0x11147,0x11176,0x111DA,0x111DC,0x11288,0x1133D,0x11350,0x114C7,0x11644,0x116B8,0x11909,0x1193F,0x11941,0x119E1,0x119E3,0x11A00,0x11A3A,0x11A50,0x11A9D,0x11C40,0x11D46,0x11D98,0x11F02,0x11FB0,0x16F50,0x16FE3,0x1B132,0x1B155,0x1D4A2,0x1D4BB,0x1D546,0x1E14E,0x1E94B,0x1EE24,0x1EE27,0x1EE39,0x1EE3B,0x1EE42,0x1EE47,0x1EE49,0x1EE4B,0x1EE54,0x1EE57,0x1EE59,0x1EE5B,0x1EE5D,0x1EE5F,0x1EE64,0x1EE7E);set.addRange(0x41,0x5A).addRange(0x61,0x7A).addRange(0xC0,0xD6).addRange(0xD8,0xF6).addRange(0xF8,0x2C1).addRange(0x2C6,0x2D1).addRange(0x2E0,0x2E4).addRange(0x370,0x374).addRange(0x376,0x377).addRange(0x37A,0x37D).addRange(0x388,0x38A).addRange(0x38E,0x3A1).addRange(0x3A3,0x3F5).addRange(0x3F7,0x481).addRange(0x48A,0x52F).addRange(0x531,0x556).addRange(0x560,0x588).addRange(0x5D0,0x5EA).addRange(0x5EF,0x5F2).addRange(0x620,0x64A).addRange(0x66E,0x66F).addRange(0x671,0x6D3).addRange(0x6E5,0x6E6).addRange(0x6EE,0x6EF).addRange(0x6FA,0x6FC).addRange(0x712,0x72F).addRange(0x74D,0x7A5).addRange(0x7CA,0x7EA).addRange(0x7F4,0x7F5).addRange(0x800,0x815).addRange(0x840,0x858).addRange(0x860,0x86A).addRange(0x870,0x887).addRange(0x889,0x88E).addRange(0x8A0,0x8C9).addRange(0x904,0x939).addRange(0x958,0x961).addRange(0x971,0x980).addRange(0x985,0x98C).addRange(0x98F,0x990).addRange(0x993,0x9A8).addRange(0x9AA,0x9B0).addRange(0x9B6,0x9B9).addRange(0x9DC,0x9DD).addRange(0x9DF,0x9E1).addRange(0x9F0,0x9F1).addRange(0xA05,0xA0A).addRange(0xA0F,0xA10).addRange(0xA13,0xA28).addRange(0xA2A,0xA30).addRange(0xA32,0xA33);set.addRange(0xA35,0xA36).addRange(0xA38,0xA39).addRange(0xA59,0xA5C).addRange(0xA72,0xA74).addRange(0xA85,0xA8D).addRange(0xA8F,0xA91).addRange(0xA93,0xAA8).addRange(0xAAA,0xAB0).addRange(0xAB2,0xAB3).addRange(0xAB5,0xAB9).addRange(0xAE0,0xAE1).addRange(0xB05,0xB0C).addRange(0xB0F,0xB10).addRange(0xB13,0xB28).addRange(0xB2A,0xB30).addRange(0xB32,0xB33).addRange(0xB35,0xB39).addRange(0xB5C,0xB5D).addRange(0xB5F,0xB61).addRange(0xB85,0xB8A).addRange(0xB8E,0xB90).addRange(0xB92,0xB95).addRange(0xB99,0xB9A).addRange(0xB9E,0xB9F).addRange(0xBA3,0xBA4).addRange(0xBA8,0xBAA).addRange(0xBAE,0xBB9).addRange(0xC05,0xC0C).addRange(0xC0E,0xC10).addRange(0xC12,0xC28).addRange(0xC2A,0xC39).addRange(0xC58,0xC5A).addRange(0xC60,0xC61).addRange(0xC85,0xC8C).addRange(0xC8E,0xC90).addRange(0xC92,0xCA8).addRange(0xCAA,0xCB3).addRange(0xCB5,0xCB9).addRange(0xCDD,0xCDE).addRange(0xCE0,0xCE1).addRange(0xCF1,0xCF2).addRange(0xD04,0xD0C).addRange(0xD0E,0xD10).addRange(0xD12,0xD3A).addRange(0xD54,0xD56).addRange(0xD5F,0xD61).addRange(0xD7A,0xD7F).addRange(0xD85,0xD96).addRange(0xD9A,0xDB1).addRange(0xDB3,0xDBB).addRange(0xDC0,0xDC6);set.addRange(0xE01,0xE30).addRange(0xE32,0xE33).addRange(0xE40,0xE46).addRange(0xE81,0xE82).addRange(0xE86,0xE8A).addRange(0xE8C,0xEA3).addRange(0xEA7,0xEB0).addRange(0xEB2,0xEB3).addRange(0xEC0,0xEC4).addRange(0xEDC,0xEDF).addRange(0xF40,0xF47).addRange(0xF49,0xF6C).addRange(0xF88,0xF8C).addRange(0x1000,0x102A).addRange(0x1050,0x1055).addRange(0x105A,0x105D).addRange(0x1065,0x1066).addRange(0x106E,0x1070).addRange(0x1075,0x1081).addRange(0x10A0,0x10C5).addRange(0x10D0,0x10FA).addRange(0x10FC,0x1248).addRange(0x124A,0x124D).addRange(0x1250,0x1256).addRange(0x125A,0x125D).addRange(0x1260,0x1288).addRange(0x128A,0x128D).addRange(0x1290,0x12B0).addRange(0x12B2,0x12B5).addRange(0x12B8,0x12BE).addRange(0x12C2,0x12C5).addRange(0x12C8,0x12D6).addRange(0x12D8,0x1310).addRange(0x1312,0x1315).addRange(0x1318,0x135A).addRange(0x1380,0x138F).addRange(0x13A0,0x13F5).addRange(0x13F8,0x13FD).addRange(0x1401,0x166C).addRange(0x166F,0x167F).addRange(0x1681,0x169A).addRange(0x16A0,0x16EA).addRange(0x16F1,0x16F8).addRange(0x1700,0x1711).addRange(0x171F,0x1731).addRange(0x1740,0x1751).addRange(0x1760,0x176C).addRange(0x176E,0x1770).addRange(0x1780,0x17B3).addRange(0x1820,0x1878).addRange(0x1880,0x1884);set.addRange(0x1887,0x18A8).addRange(0x18B0,0x18F5).addRange(0x1900,0x191E).addRange(0x1950,0x196D).addRange(0x1970,0x1974).addRange(0x1980,0x19AB).addRange(0x19B0,0x19C9).addRange(0x1A00,0x1A16).addRange(0x1A20,0x1A54).addRange(0x1B05,0x1B33).addRange(0x1B45,0x1B4C).addRange(0x1B83,0x1BA0).addRange(0x1BAE,0x1BAF).addRange(0x1BBA,0x1BE5).addRange(0x1C00,0x1C23).addRange(0x1C4D,0x1C4F).addRange(0x1C5A,0x1C7D).addRange(0x1C80,0x1C88).addRange(0x1C90,0x1CBA).addRange(0x1CBD,0x1CBF).addRange(0x1CE9,0x1CEC).addRange(0x1CEE,0x1CF3).addRange(0x1CF5,0x1CF6).addRange(0x1D00,0x1DBF).addRange(0x1E00,0x1F15).addRange(0x1F18,0x1F1D).addRange(0x1F20,0x1F45).addRange(0x1F48,0x1F4D).addRange(0x1F50,0x1F57).addRange(0x1F5F,0x1F7D).addRange(0x1F80,0x1FB4).addRange(0x1FB6,0x1FBC).addRange(0x1FC2,0x1FC4).addRange(0x1FC6,0x1FCC).addRange(0x1FD0,0x1FD3).addRange(0x1FD6,0x1FDB).addRange(0x1FE0,0x1FEC).addRange(0x1FF2,0x1FF4).addRange(0x1FF6,0x1FFC).addRange(0x2090,0x209C).addRange(0x210A,0x2113).addRange(0x2119,0x211D).addRange(0x212A,0x212D).addRange(0x212F,0x2139).addRange(0x213C,0x213F).addRange(0x2145,0x2149).addRange(0x2183,0x2184).addRange(0x2C00,0x2CE4).addRange(0x2CEB,0x2CEE).addRange(0x2CF2,0x2CF3).addRange(0x2D00,0x2D25);set.addRange(0x2D30,0x2D67).addRange(0x2D80,0x2D96).addRange(0x2DA0,0x2DA6).addRange(0x2DA8,0x2DAE).addRange(0x2DB0,0x2DB6).addRange(0x2DB8,0x2DBE).addRange(0x2DC0,0x2DC6).addRange(0x2DC8,0x2DCE).addRange(0x2DD0,0x2DD6).addRange(0x2DD8,0x2DDE).addRange(0x3005,0x3006).addRange(0x3031,0x3035).addRange(0x303B,0x303C).addRange(0x3041,0x3096).addRange(0x309D,0x309F).addRange(0x30A1,0x30FA).addRange(0x30FC,0x30FF).addRange(0x3105,0x312F).addRange(0x3131,0x318E).addRange(0x31A0,0x31BF).addRange(0x31F0,0x31FF).addRange(0x3400,0x4DBF).addRange(0x4E00,0xA48C).addRange(0xA4D0,0xA4FD).addRange(0xA500,0xA60C).addRange(0xA610,0xA61F).addRange(0xA62A,0xA62B).addRange(0xA640,0xA66E).addRange(0xA67F,0xA69D).addRange(0xA6A0,0xA6E5).addRange(0xA717,0xA71F).addRange(0xA722,0xA788).addRange(0xA78B,0xA7CA).addRange(0xA7D0,0xA7D1).addRange(0xA7D5,0xA7D9).addRange(0xA7F2,0xA801).addRange(0xA803,0xA805).addRange(0xA807,0xA80A).addRange(0xA80C,0xA822).addRange(0xA840,0xA873).addRange(0xA882,0xA8B3).addRange(0xA8F2,0xA8F7).addRange(0xA8FD,0xA8FE).addRange(0xA90A,0xA925).addRange(0xA930,0xA946).addRange(0xA960,0xA97C).addRange(0xA984,0xA9B2).addRange(0xA9E0,0xA9E4).addRange(0xA9E6,0xA9EF).addRange(0xA9FA,0xA9FE).addRange(0xAA00,0xAA28);set.addRange(0xAA40,0xAA42).addRange(0xAA44,0xAA4B).addRange(0xAA60,0xAA76).addRange(0xAA7E,0xAAAF).addRange(0xAAB5,0xAAB6).addRange(0xAAB9,0xAABD).addRange(0xAADB,0xAADD).addRange(0xAAE0,0xAAEA).addRange(0xAAF2,0xAAF4).addRange(0xAB01,0xAB06).addRange(0xAB09,0xAB0E).addRange(0xAB11,0xAB16).addRange(0xAB20,0xAB26).addRange(0xAB28,0xAB2E).addRange(0xAB30,0xAB5A).addRange(0xAB5C,0xAB69).addRange(0xAB70,0xABE2).addRange(0xAC00,0xD7A3).addRange(0xD7B0,0xD7C6).addRange(0xD7CB,0xD7FB).addRange(0xF900,0xFA6D).addRange(0xFA70,0xFAD9).addRange(0xFB00,0xFB06).addRange(0xFB13,0xFB17).addRange(0xFB1F,0xFB28).addRange(0xFB2A,0xFB36).addRange(0xFB38,0xFB3C).addRange(0xFB40,0xFB41).addRange(0xFB43,0xFB44).addRange(0xFB46,0xFBB1).addRange(0xFBD3,0xFD3D).addRange(0xFD50,0xFD8F).addRange(0xFD92,0xFDC7).addRange(0xFDF0,0xFDFB).addRange(0xFE70,0xFE74).addRange(0xFE76,0xFEFC).addRange(0xFF21,0xFF3A).addRange(0xFF41,0xFF5A).addRange(0xFF66,0xFFBE).addRange(0xFFC2,0xFFC7).addRange(0xFFCA,0xFFCF).addRange(0xFFD2,0xFFD7).addRange(0xFFDA,0xFFDC).addRange(0x10000,0x1000B).addRange(0x1000D,0x10026).addRange(0x10028,0x1003A).addRange(0x1003C,0x1003D).addRange(0x1003F,0x1004D).addRange(0x10050,0x1005D).addRange(0x10080,0x100FA).addRange(0x10280,0x1029C);set.addRange(0x102A0,0x102D0).addRange(0x10300,0x1031F).addRange(0x1032D,0x10340).addRange(0x10342,0x10349).addRange(0x10350,0x10375).addRange(0x10380,0x1039D).addRange(0x103A0,0x103C3).addRange(0x103C8,0x103CF).addRange(0x10400,0x1049D).addRange(0x104B0,0x104D3).addRange(0x104D8,0x104FB).addRange(0x10500,0x10527).addRange(0x10530,0x10563).addRange(0x10570,0x1057A).addRange(0x1057C,0x1058A).addRange(0x1058C,0x10592).addRange(0x10594,0x10595).addRange(0x10597,0x105A1).addRange(0x105A3,0x105B1).addRange(0x105B3,0x105B9).addRange(0x105BB,0x105BC).addRange(0x10600,0x10736).addRange(0x10740,0x10755).addRange(0x10760,0x10767).addRange(0x10780,0x10785).addRange(0x10787,0x107B0).addRange(0x107B2,0x107BA).addRange(0x10800,0x10805).addRange(0x1080A,0x10835).addRange(0x10837,0x10838).addRange(0x1083F,0x10855).addRange(0x10860,0x10876).addRange(0x10880,0x1089E).addRange(0x108E0,0x108F2).addRange(0x108F4,0x108F5).addRange(0x10900,0x10915).addRange(0x10920,0x10939).addRange(0x10980,0x109B7).addRange(0x109BE,0x109BF).addRange(0x10A10,0x10A13).addRange(0x10A15,0x10A17).addRange(0x10A19,0x10A35).addRange(0x10A60,0x10A7C).addRange(0x10A80,0x10A9C).addRange(0x10AC0,0x10AC7).addRange(0x10AC9,0x10AE4).addRange(0x10B00,0x10B35).addRange(0x10B40,0x10B55).addRange(0x10B60,0x10B72).addRange(0x10B80,0x10B91).addRange(0x10C00,0x10C48);set.addRange(0x10C80,0x10CB2).addRange(0x10CC0,0x10CF2).addRange(0x10D00,0x10D23).addRange(0x10E80,0x10EA9).addRange(0x10EB0,0x10EB1).addRange(0x10F00,0x10F1C).addRange(0x10F30,0x10F45).addRange(0x10F70,0x10F81).addRange(0x10FB0,0x10FC4).addRange(0x10FE0,0x10FF6).addRange(0x11003,0x11037).addRange(0x11071,0x11072).addRange(0x11083,0x110AF).addRange(0x110D0,0x110E8).addRange(0x11103,0x11126).addRange(0x11150,0x11172).addRange(0x11183,0x111B2).addRange(0x111C1,0x111C4).addRange(0x11200,0x11211).addRange(0x11213,0x1122B).addRange(0x1123F,0x11240).addRange(0x11280,0x11286).addRange(0x1128A,0x1128D).addRange(0x1128F,0x1129D).addRange(0x1129F,0x112A8).addRange(0x112B0,0x112DE).addRange(0x11305,0x1130C).addRange(0x1130F,0x11310).addRange(0x11313,0x11328).addRange(0x1132A,0x11330).addRange(0x11332,0x11333).addRange(0x11335,0x11339).addRange(0x1135D,0x11361).addRange(0x11400,0x11434).addRange(0x11447,0x1144A).addRange(0x1145F,0x11461).addRange(0x11480,0x114AF).addRange(0x114C4,0x114C5).addRange(0x11580,0x115AE).addRange(0x115D8,0x115DB).addRange(0x11600,0x1162F).addRange(0x11680,0x116AA).addRange(0x11700,0x1171A).addRange(0x11740,0x11746).addRange(0x11800,0x1182B).addRange(0x118A0,0x118DF).addRange(0x118FF,0x11906).addRange(0x1190C,0x11913).addRange(0x11915,0x11916).addRange(0x11918,0x1192F).addRange(0x119A0,0x119A7);set.addRange(0x119AA,0x119D0).addRange(0x11A0B,0x11A32).addRange(0x11A5C,0x11A89).addRange(0x11AB0,0x11AF8).addRange(0x11C00,0x11C08).addRange(0x11C0A,0x11C2E).addRange(0x11C72,0x11C8F).addRange(0x11D00,0x11D06).addRange(0x11D08,0x11D09).addRange(0x11D0B,0x11D30).addRange(0x11D60,0x11D65).addRange(0x11D67,0x11D68).addRange(0x11D6A,0x11D89).addRange(0x11EE0,0x11EF2).addRange(0x11F04,0x11F10).addRange(0x11F12,0x11F33).addRange(0x12000,0x12399).addRange(0x12480,0x12543).addRange(0x12F90,0x12FF0).addRange(0x13000,0x1342F).addRange(0x13441,0x13446).addRange(0x14400,0x14646).addRange(0x16800,0x16A38).addRange(0x16A40,0x16A5E).addRange(0x16A70,0x16ABE).addRange(0x16AD0,0x16AED).addRange(0x16B00,0x16B2F).addRange(0x16B40,0x16B43).addRange(0x16B63,0x16B77).addRange(0x16B7D,0x16B8F).addRange(0x16E40,0x16E7F).addRange(0x16F00,0x16F4A).addRange(0x16F93,0x16F9F).addRange(0x16FE0,0x16FE1).addRange(0x17000,0x187F7).addRange(0x18800,0x18CD5).addRange(0x18D00,0x18D08).addRange(0x1AFF0,0x1AFF3).addRange(0x1AFF5,0x1AFFB).addRange(0x1AFFD,0x1AFFE).addRange(0x1B000,0x1B122).addRange(0x1B150,0x1B152).addRange(0x1B164,0x1B167).addRange(0x1B170,0x1B2FB).addRange(0x1BC00,0x1BC6A).addRange(0x1BC70,0x1BC7C).addRange(0x1BC80,0x1BC88).addRange(0x1BC90,0x1BC99).addRange(0x1D400,0x1D454).addRange(0x1D456,0x1D49C).addRange(0x1D49E,0x1D49F);set.addRange(0x1D4A5,0x1D4A6).addRange(0x1D4A9,0x1D4AC).addRange(0x1D4AE,0x1D4B9).addRange(0x1D4BD,0x1D4C3).addRange(0x1D4C5,0x1D505).addRange(0x1D507,0x1D50A).addRange(0x1D50D,0x1D514).addRange(0x1D516,0x1D51C).addRange(0x1D51E,0x1D539).addRange(0x1D53B,0x1D53E).addRange(0x1D540,0x1D544).addRange(0x1D54A,0x1D550).addRange(0x1D552,0x1D6A5).addRange(0x1D6A8,0x1D6C0).addRange(0x1D6C2,0x1D6DA).addRange(0x1D6DC,0x1D6FA).addRange(0x1D6FC,0x1D714).addRange(0x1D716,0x1D734).addRange(0x1D736,0x1D74E).addRange(0x1D750,0x1D76E).addRange(0x1D770,0x1D788).addRange(0x1D78A,0x1D7A8).addRange(0x1D7AA,0x1D7C2).addRange(0x1D7C4,0x1D7CB).addRange(0x1DF00,0x1DF1E).addRange(0x1DF25,0x1DF2A).addRange(0x1E030,0x1E06D).addRange(0x1E100,0x1E12C).addRange(0x1E137,0x1E13D).addRange(0x1E290,0x1E2AD).addRange(0x1E2C0,0x1E2EB).addRange(0x1E4D0,0x1E4EB).addRange(0x1E7E0,0x1E7E6).addRange(0x1E7E8,0x1E7EB).addRange(0x1E7ED,0x1E7EE).addRange(0x1E7F0,0x1E7FE).addRange(0x1E800,0x1E8C4).addRange(0x1E900,0x1E943).addRange(0x1EE00,0x1EE03).addRange(0x1EE05,0x1EE1F).addRange(0x1EE21,0x1EE22).addRange(0x1EE29,0x1EE32).addRange(0x1EE34,0x1EE37).addRange(0x1EE4D,0x1EE4F).addRange(0x1EE51,0x1EE52).addRange(0x1EE61,0x1EE62).addRange(0x1EE67,0x1EE6A).addRange(0x1EE6C,0x1EE72).addRange(0x1EE74,0x1EE77).addRange(0x1EE79,0x1EE7C).addRange(0x1EE80,0x1EE89);set.addRange(0x1EE8B,0x1EE9B).addRange(0x1EEA1,0x1EEA3).addRange(0x1EEA5,0x1EEA9).addRange(0x1EEAB,0x1EEBB).addRange(0x20000,0x2A6DF).addRange(0x2A700,0x2B739).addRange(0x2B740,0x2B81D).addRange(0x2B820,0x2CEA1).addRange(0x2CEB0,0x2EBE0).addRange(0x2EBF0,0x2EE5D).addRange(0x2F800,0x2FA1D).addRange(0x30000,0x3134A).addRange(0x31350,0x323AF);Letter.characters=set;return Letter;}var Line_Separator={};var hasRequiredLine_Separator;function requireLine_Separator(){if(hasRequiredLine_Separator)return Line_Separator;hasRequiredLine_Separator=1;var set=regenerateExports(0x2028);Line_Separator.characters=set;return Line_Separator;}var Lowercase_Letter={};var hasRequiredLowercase_Letter;function requireLowercase_Letter(){if(hasRequiredLowercase_Letter)return Lowercase_Letter;hasRequiredLowercase_Letter=1;var set=regenerateExports(0xB5,0x101,0x103,0x105,0x107,0x109,0x10B,0x10D,0x10F,0x111,0x113,0x115,0x117,0x119,0x11B,0x11D,0x11F,0x121,0x123,0x125,0x127,0x129,0x12B,0x12D,0x12F,0x131,0x133,0x135,0x13A,0x13C,0x13E,0x140,0x142,0x144,0x146,0x14B,0x14D,0x14F,0x151,0x153,0x155,0x157,0x159,0x15B,0x15D,0x15F,0x161,0x163,0x165,0x167,0x169,0x16B,0x16D,0x16F,0x171,0x173,0x175,0x177,0x17A,0x17C,0x183,0x185,0x188,0x192,0x195,0x19E,0x1A1,0x1A3,0x1A5,0x1A8,0x1AD,0x1B0,0x1B4,0x1B6,0x1C6,0x1C9,0x1CC,0x1CE,0x1D0,0x1D2,0x1D4,0x1D6,0x1D8,0x1DA,0x1DF,0x1E1,0x1E3,0x1E5,0x1E7,0x1E9,0x1EB,0x1ED,0x1F3,0x1F5,0x1F9,0x1FB,0x1FD,0x1FF,0x201,0x203,0x205,0x207,0x209,0x20B,0x20D,0x20F,0x211,0x213,0x215,0x217,0x219,0x21B,0x21D,0x21F,0x221,0x223,0x225,0x227,0x229,0x22B,0x22D,0x22F,0x231,0x23C,0x242,0x247,0x249,0x24B,0x24D,0x371,0x373,0x377,0x390,0x3D9,0x3DB,0x3DD,0x3DF,0x3E1,0x3E3,0x3E5,0x3E7,0x3E9,0x3EB,0x3ED,0x3F5,0x3F8,0x461,0x463,0x465,0x467,0x469,0x46B,0x46D,0x46F,0x471,0x473,0x475,0x477,0x479,0x47B,0x47D,0x47F,0x481,0x48B,0x48D,0x48F,0x491,0x493,0x495,0x497,0x499,0x49B,0x49D,0x49F,0x4A1,0x4A3,0x4A5,0x4A7,0x4A9,0x4AB,0x4AD,0x4AF,0x4B1,0x4B3,0x4B5,0x4B7,0x4B9,0x4BB,0x4BD,0x4BF,0x4C2,0x4C4,0x4C6,0x4C8,0x4CA,0x4CC,0x4D1,0x4D3,0x4D5,0x4D7,0x4D9,0x4DB,0x4DD,0x4DF,0x4E1,0x4E3,0x4E5,0x4E7,0x4E9,0x4EB,0x4ED,0x4EF,0x4F1,0x4F3,0x4F5,0x4F7,0x4F9,0x4FB,0x4FD,0x4FF,0x501,0x503,0x505,0x507,0x509,0x50B,0x50D,0x50F,0x511,0x513,0x515,0x517,0x519,0x51B,0x51D,0x51F,0x521,0x523,0x525,0x527,0x529,0x52B,0x52D,0x52F,0x1E01,0x1E03,0x1E05,0x1E07,0x1E09,0x1E0B,0x1E0D,0x1E0F,0x1E11,0x1E13,0x1E15,0x1E17,0x1E19,0x1E1B,0x1E1D,0x1E1F,0x1E21,0x1E23,0x1E25,0x1E27,0x1E29,0x1E2B,0x1E2D,0x1E2F,0x1E31,0x1E33,0x1E35,0x1E37,0x1E39,0x1E3B,0x1E3D,0x1E3F,0x1E41,0x1E43,0x1E45,0x1E47,0x1E49,0x1E4B,0x1E4D,0x1E4F,0x1E51,0x1E53,0x1E55,0x1E57,0x1E59,0x1E5B,0x1E5D,0x1E5F,0x1E61,0x1E63,0x1E65,0x1E67,0x1E69,0x1E6B,0x1E6D,0x1E6F,0x1E71,0x1E73,0x1E75,0x1E77,0x1E79,0x1E7B,0x1E7D,0x1E7F,0x1E81,0x1E83,0x1E85,0x1E87,0x1E89,0x1E8B,0x1E8D,0x1E8F,0x1E91,0x1E93,0x1E9F,0x1EA1,0x1EA3,0x1EA5,0x1EA7,0x1EA9,0x1EAB,0x1EAD,0x1EAF,0x1EB1,0x1EB3,0x1EB5,0x1EB7,0x1EB9,0x1EBB,0x1EBD,0x1EBF,0x1EC1,0x1EC3,0x1EC5,0x1EC7,0x1EC9,0x1ECB,0x1ECD,0x1ECF,0x1ED1,0x1ED3,0x1ED5,0x1ED7,0x1ED9,0x1EDB,0x1EDD,0x1EDF,0x1EE1,0x1EE3,0x1EE5,0x1EE7,0x1EE9,0x1EEB,0x1EED,0x1EEF,0x1EF1,0x1EF3,0x1EF5,0x1EF7,0x1EF9,0x1EFB,0x1EFD,0x1FBE,0x210A,0x2113,0x212F,0x2134,0x2139,0x214E,0x2184,0x2C61,0x2C68,0x2C6A,0x2C6C,0x2C71,0x2C81,0x2C83,0x2C85,0x2C87,0x2C89,0x2C8B,0x2C8D,0x2C8F,0x2C91,0x2C93,0x2C95,0x2C97,0x2C99,0x2C9B,0x2C9D,0x2C9F,0x2CA1,0x2CA3,0x2CA5,0x2CA7,0x2CA9,0x2CAB,0x2CAD,0x2CAF,0x2CB1,0x2CB3,0x2CB5,0x2CB7,0x2CB9,0x2CBB,0x2CBD,0x2CBF,0x2CC1,0x2CC3,0x2CC5,0x2CC7,0x2CC9,0x2CCB,0x2CCD,0x2CCF,0x2CD1,0x2CD3,0x2CD5,0x2CD7,0x2CD9,0x2CDB,0x2CDD,0x2CDF,0x2CE1,0x2CEC,0x2CEE,0x2CF3,0x2D27,0x2D2D,0xA641,0xA643,0xA645,0xA647,0xA649,0xA64B,0xA64D,0xA64F,0xA651,0xA653,0xA655,0xA657,0xA659,0xA65B,0xA65D,0xA65F,0xA661,0xA663,0xA665,0xA667,0xA669,0xA66B,0xA66D,0xA681,0xA683,0xA685,0xA687,0xA689,0xA68B,0xA68D,0xA68F,0xA691,0xA693,0xA695,0xA697,0xA699,0xA69B,0xA723,0xA725,0xA727,0xA729,0xA72B,0xA72D,0xA733,0xA735,0xA737,0xA739,0xA73B,0xA73D,0xA73F,0xA741,0xA743,0xA745,0xA747,0xA749,0xA74B,0xA74D,0xA74F,0xA751,0xA753,0xA755,0xA757,0xA759,0xA75B,0xA75D,0xA75F,0xA761,0xA763,0xA765,0xA767,0xA769,0xA76B,0xA76D,0xA76F,0xA77A,0xA77C,0xA77F,0xA781,0xA783,0xA785,0xA787,0xA78C,0xA78E,0xA791,0xA797,0xA799,0xA79B,0xA79D,0xA79F,0xA7A1,0xA7A3,0xA7A5,0xA7A7,0xA7A9,0xA7AF,0xA7B5,0xA7B7,0xA7B9,0xA7BB,0xA7BD,0xA7BF,0xA7C1,0xA7C3,0xA7C8,0xA7CA,0xA7D1,0xA7D3,0xA7D5,0xA7D7,0xA7D9,0xA7F6,0xA7FA,0x1D4BB,0x1D7CB);set.addRange(0x61,0x7A).addRange(0xDF,0xF6).addRange(0xF8,0xFF).addRange(0x137,0x138).addRange(0x148,0x149).addRange(0x17E,0x180).addRange(0x18C,0x18D).addRange(0x199,0x19B).addRange(0x1AA,0x1AB).addRange(0x1B9,0x1BA).addRange(0x1BD,0x1BF).addRange(0x1DC,0x1DD).addRange(0x1EF,0x1F0).addRange(0x233,0x239).addRange(0x23F,0x240).addRange(0x24F,0x293).addRange(0x295,0x2AF).addRange(0x37B,0x37D).addRange(0x3AC,0x3CE).addRange(0x3D0,0x3D1).addRange(0x3D5,0x3D7).addRange(0x3EF,0x3F3).addRange(0x3FB,0x3FC).addRange(0x430,0x45F).addRange(0x4CE,0x4CF).addRange(0x560,0x588).addRange(0x10D0,0x10FA).addRange(0x10FD,0x10FF).addRange(0x13F8,0x13FD).addRange(0x1C80,0x1C88).addRange(0x1D00,0x1D2B).addRange(0x1D6B,0x1D77).addRange(0x1D79,0x1D9A).addRange(0x1E95,0x1E9D).addRange(0x1EFF,0x1F07).addRange(0x1F10,0x1F15).addRange(0x1F20,0x1F27).addRange(0x1F30,0x1F37).addRange(0x1F40,0x1F45).addRange(0x1F50,0x1F57).addRange(0x1F60,0x1F67).addRange(0x1F70,0x1F7D).addRange(0x1F80,0x1F87).addRange(0x1F90,0x1F97).addRange(0x1FA0,0x1FA7).addRange(0x1FB0,0x1FB4).addRange(0x1FB6,0x1FB7).addRange(0x1FC2,0x1FC4).addRange(0x1FC6,0x1FC7).addRange(0x1FD0,0x1FD3).addRange(0x1FD6,0x1FD7);set.addRange(0x1FE0,0x1FE7).addRange(0x1FF2,0x1FF4).addRange(0x1FF6,0x1FF7).addRange(0x210E,0x210F).addRange(0x213C,0x213D).addRange(0x2146,0x2149).addRange(0x2C30,0x2C5F).addRange(0x2C65,0x2C66).addRange(0x2C73,0x2C74).addRange(0x2C76,0x2C7B).addRange(0x2CE3,0x2CE4).addRange(0x2D00,0x2D25).addRange(0xA72F,0xA731).addRange(0xA771,0xA778).addRange(0xA793,0xA795).addRange(0xAB30,0xAB5A).addRange(0xAB60,0xAB68).addRange(0xAB70,0xABBF).addRange(0xFB00,0xFB06).addRange(0xFB13,0xFB17).addRange(0xFF41,0xFF5A).addRange(0x10428,0x1044F).addRange(0x104D8,0x104FB).addRange(0x10597,0x105A1).addRange(0x105A3,0x105B1).addRange(0x105B3,0x105B9).addRange(0x105BB,0x105BC).addRange(0x10CC0,0x10CF2).addRange(0x118C0,0x118DF).addRange(0x16E60,0x16E7F).addRange(0x1D41A,0x1D433).addRange(0x1D44E,0x1D454).addRange(0x1D456,0x1D467).addRange(0x1D482,0x1D49B).addRange(0x1D4B6,0x1D4B9).addRange(0x1D4BD,0x1D4C3).addRange(0x1D4C5,0x1D4CF).addRange(0x1D4EA,0x1D503).addRange(0x1D51E,0x1D537).addRange(0x1D552,0x1D56B).addRange(0x1D586,0x1D59F).addRange(0x1D5BA,0x1D5D3).addRange(0x1D5EE,0x1D607).addRange(0x1D622,0x1D63B).addRange(0x1D656,0x1D66F).addRange(0x1D68A,0x1D6A5).addRange(0x1D6C2,0x1D6DA).addRange(0x1D6DC,0x1D6E1).addRange(0x1D6FC,0x1D714).addRange(0x1D716,0x1D71B).addRange(0x1D736,0x1D74E);set.addRange(0x1D750,0x1D755).addRange(0x1D770,0x1D788).addRange(0x1D78A,0x1D78F).addRange(0x1D7AA,0x1D7C2).addRange(0x1D7C4,0x1D7C9).addRange(0x1DF00,0x1DF09).addRange(0x1DF0B,0x1DF1E).addRange(0x1DF25,0x1DF2A).addRange(0x1E922,0x1E943);Lowercase_Letter.characters=set;return Lowercase_Letter;}var Mark={};var hasRequiredMark;function requireMark(){if(hasRequiredMark)return Mark;hasRequiredMark=1;var set=regenerateExports(0x5BF,0x5C7,0x670,0x711,0x7FD,0x9BC,0x9D7,0x9FE,0xA3C,0xA51,0xA75,0xABC,0xB3C,0xB82,0xBD7,0xC3C,0xCBC,0xCF3,0xD57,0xDCA,0xDD6,0xE31,0xEB1,0xF35,0xF37,0xF39,0xFC6,0x108F,0x17DD,0x180F,0x18A9,0x1A7F,0x1CED,0x1CF4,0x2D7F,0xA802,0xA806,0xA80B,0xA82C,0xA8FF,0xA9E5,0xAA43,0xAAB0,0xAAC1,0xFB1E,0x101FD,0x102E0,0x10A3F,0x11070,0x110C2,0x11173,0x1123E,0x11241,0x11357,0x1145E,0x11940,0x119E4,0x11A47,0x11D3A,0x11D47,0x11F03,0x13440,0x16F4F,0x16FE4,0x1DA75,0x1DA84,0x1E08F,0x1E2AE);set.addRange(0x300,0x36F).addRange(0x483,0x489).addRange(0x591,0x5BD).addRange(0x5C1,0x5C2).addRange(0x5C4,0x5C5).addRange(0x610,0x61A).addRange(0x64B,0x65F).addRange(0x6D6,0x6DC).addRange(0x6DF,0x6E4).addRange(0x6E7,0x6E8).addRange(0x6EA,0x6ED).addRange(0x730,0x74A).addRange(0x7A6,0x7B0).addRange(0x7EB,0x7F3).addRange(0x816,0x819).addRange(0x81B,0x823).addRange(0x825,0x827).addRange(0x829,0x82D).addRange(0x859,0x85B).addRange(0x898,0x89F).addRange(0x8CA,0x8E1).addRange(0x8E3,0x903).addRange(0x93A,0x93C).addRange(0x93E,0x94F).addRange(0x951,0x957).addRange(0x962,0x963).addRange(0x981,0x983).addRange(0x9BE,0x9C4).addRange(0x9C7,0x9C8).addRange(0x9CB,0x9CD).addRange(0x9E2,0x9E3).addRange(0xA01,0xA03).addRange(0xA3E,0xA42).addRange(0xA47,0xA48).addRange(0xA4B,0xA4D).addRange(0xA70,0xA71).addRange(0xA81,0xA83).addRange(0xABE,0xAC5).addRange(0xAC7,0xAC9).addRange(0xACB,0xACD).addRange(0xAE2,0xAE3).addRange(0xAFA,0xAFF).addRange(0xB01,0xB03).addRange(0xB3E,0xB44).addRange(0xB47,0xB48).addRange(0xB4B,0xB4D).addRange(0xB55,0xB57).addRange(0xB62,0xB63).addRange(0xBBE,0xBC2).addRange(0xBC6,0xBC8).addRange(0xBCA,0xBCD);set.addRange(0xC00,0xC04).addRange(0xC3E,0xC44).addRange(0xC46,0xC48).addRange(0xC4A,0xC4D).addRange(0xC55,0xC56).addRange(0xC62,0xC63).addRange(0xC81,0xC83).addRange(0xCBE,0xCC4).addRange(0xCC6,0xCC8).addRange(0xCCA,0xCCD).addRange(0xCD5,0xCD6).addRange(0xCE2,0xCE3).addRange(0xD00,0xD03).addRange(0xD3B,0xD3C).addRange(0xD3E,0xD44).addRange(0xD46,0xD48).addRange(0xD4A,0xD4D).addRange(0xD62,0xD63).addRange(0xD81,0xD83).addRange(0xDCF,0xDD4).addRange(0xDD8,0xDDF).addRange(0xDF2,0xDF3).addRange(0xE34,0xE3A).addRange(0xE47,0xE4E).addRange(0xEB4,0xEBC).addRange(0xEC8,0xECE).addRange(0xF18,0xF19).addRange(0xF3E,0xF3F).addRange(0xF71,0xF84).addRange(0xF86,0xF87).addRange(0xF8D,0xF97).addRange(0xF99,0xFBC).addRange(0x102B,0x103E).addRange(0x1056,0x1059).addRange(0x105E,0x1060).addRange(0x1062,0x1064).addRange(0x1067,0x106D).addRange(0x1071,0x1074).addRange(0x1082,0x108D).addRange(0x109A,0x109D).addRange(0x135D,0x135F).addRange(0x1712,0x1715).addRange(0x1732,0x1734).addRange(0x1752,0x1753).addRange(0x1772,0x1773).addRange(0x17B4,0x17D3).addRange(0x180B,0x180D).addRange(0x1885,0x1886).addRange(0x1920,0x192B).addRange(0x1930,0x193B).addRange(0x1A17,0x1A1B);set.addRange(0x1A55,0x1A5E).addRange(0x1A60,0x1A7C).addRange(0x1AB0,0x1ACE).addRange(0x1B00,0x1B04).addRange(0x1B34,0x1B44).addRange(0x1B6B,0x1B73).addRange(0x1B80,0x1B82).addRange(0x1BA1,0x1BAD).addRange(0x1BE6,0x1BF3).addRange(0x1C24,0x1C37).addRange(0x1CD0,0x1CD2).addRange(0x1CD4,0x1CE8).addRange(0x1CF7,0x1CF9).addRange(0x1DC0,0x1DFF).addRange(0x20D0,0x20F0).addRange(0x2CEF,0x2CF1).addRange(0x2DE0,0x2DFF).addRange(0x302A,0x302F).addRange(0x3099,0x309A).addRange(0xA66F,0xA672).addRange(0xA674,0xA67D).addRange(0xA69E,0xA69F).addRange(0xA6F0,0xA6F1).addRange(0xA823,0xA827).addRange(0xA880,0xA881).addRange(0xA8B4,0xA8C5).addRange(0xA8E0,0xA8F1).addRange(0xA926,0xA92D).addRange(0xA947,0xA953).addRange(0xA980,0xA983).addRange(0xA9B3,0xA9C0).addRange(0xAA29,0xAA36).addRange(0xAA4C,0xAA4D).addRange(0xAA7B,0xAA7D).addRange(0xAAB2,0xAAB4).addRange(0xAAB7,0xAAB8).addRange(0xAABE,0xAABF).addRange(0xAAEB,0xAAEF).addRange(0xAAF5,0xAAF6).addRange(0xABE3,0xABEA).addRange(0xABEC,0xABED).addRange(0xFE00,0xFE0F).addRange(0xFE20,0xFE2F).addRange(0x10376,0x1037A).addRange(0x10A01,0x10A03).addRange(0x10A05,0x10A06).addRange(0x10A0C,0x10A0F).addRange(0x10A38,0x10A3A).addRange(0x10AE5,0x10AE6).addRange(0x10D24,0x10D27).addRange(0x10EAB,0x10EAC);set.addRange(0x10EFD,0x10EFF).addRange(0x10F46,0x10F50).addRange(0x10F82,0x10F85).addRange(0x11000,0x11002).addRange(0x11038,0x11046).addRange(0x11073,0x11074).addRange(0x1107F,0x11082).addRange(0x110B0,0x110BA).addRange(0x11100,0x11102).addRange(0x11127,0x11134).addRange(0x11145,0x11146).addRange(0x11180,0x11182).addRange(0x111B3,0x111C0).addRange(0x111C9,0x111CC).addRange(0x111CE,0x111CF).addRange(0x1122C,0x11237).addRange(0x112DF,0x112EA).addRange(0x11300,0x11303).addRange(0x1133B,0x1133C).addRange(0x1133E,0x11344).addRange(0x11347,0x11348).addRange(0x1134B,0x1134D).addRange(0x11362,0x11363).addRange(0x11366,0x1136C).addRange(0x11370,0x11374).addRange(0x11435,0x11446).addRange(0x114B0,0x114C3).addRange(0x115AF,0x115B5).addRange(0x115B8,0x115C0).addRange(0x115DC,0x115DD).addRange(0x11630,0x11640).addRange(0x116AB,0x116B7).addRange(0x1171D,0x1172B).addRange(0x1182C,0x1183A).addRange(0x11930,0x11935).addRange(0x11937,0x11938).addRange(0x1193B,0x1193E).addRange(0x11942,0x11943).addRange(0x119D1,0x119D7).addRange(0x119DA,0x119E0).addRange(0x11A01,0x11A0A).addRange(0x11A33,0x11A39).addRange(0x11A3B,0x11A3E).addRange(0x11A51,0x11A5B).addRange(0x11A8A,0x11A99).addRange(0x11C2F,0x11C36).addRange(0x11C38,0x11C3F).addRange(0x11C92,0x11CA7).addRange(0x11CA9,0x11CB6).addRange(0x11D31,0x11D36).addRange(0x11D3C,0x11D3D);set.addRange(0x11D3F,0x11D45).addRange(0x11D8A,0x11D8E).addRange(0x11D90,0x11D91).addRange(0x11D93,0x11D97).addRange(0x11EF3,0x11EF6).addRange(0x11F00,0x11F01).addRange(0x11F34,0x11F3A).addRange(0x11F3E,0x11F42).addRange(0x13447,0x13455).addRange(0x16AF0,0x16AF4).addRange(0x16B30,0x16B36).addRange(0x16F51,0x16F87).addRange(0x16F8F,0x16F92).addRange(0x16FF0,0x16FF1).addRange(0x1BC9D,0x1BC9E).addRange(0x1CF00,0x1CF2D).addRange(0x1CF30,0x1CF46).addRange(0x1D165,0x1D169).addRange(0x1D16D,0x1D172).addRange(0x1D17B,0x1D182).addRange(0x1D185,0x1D18B).addRange(0x1D1AA,0x1D1AD).addRange(0x1D242,0x1D244).addRange(0x1DA00,0x1DA36).addRange(0x1DA3B,0x1DA6C).addRange(0x1DA9B,0x1DA9F).addRange(0x1DAA1,0x1DAAF).addRange(0x1E000,0x1E006).addRange(0x1E008,0x1E018).addRange(0x1E01B,0x1E021).addRange(0x1E023,0x1E024).addRange(0x1E026,0x1E02A).addRange(0x1E130,0x1E136).addRange(0x1E2EC,0x1E2EF).addRange(0x1E4EC,0x1E4EF).addRange(0x1E8D0,0x1E8D6).addRange(0x1E944,0x1E94A).addRange(0xE0100,0xE01EF);Mark.characters=set;return Mark;}var Math_Symbol={};var hasRequiredMath_Symbol;function requireMath_Symbol(){if(hasRequiredMath_Symbol)return Math_Symbol;hasRequiredMath_Symbol=1;var set=regenerateExports(0x2B,0x7C,0x7E,0xAC,0xB1,0xD7,0xF7,0x3F6,0x2044,0x2052,0x2118,0x214B,0x21A0,0x21A3,0x21A6,0x21AE,0x21D2,0x21D4,0x237C,0x25B7,0x25C1,0x266F,0xFB29,0xFE62,0xFF0B,0xFF5C,0xFF5E,0xFFE2,0x1D6C1,0x1D6DB,0x1D6FB,0x1D715,0x1D735,0x1D74F,0x1D76F,0x1D789,0x1D7A9,0x1D7C3);set.addRange(0x3C,0x3E).addRange(0x606,0x608).addRange(0x207A,0x207C).addRange(0x208A,0x208C).addRange(0x2140,0x2144).addRange(0x2190,0x2194).addRange(0x219A,0x219B).addRange(0x21CE,0x21CF).addRange(0x21F4,0x22FF).addRange(0x2320,0x2321).addRange(0x239B,0x23B3).addRange(0x23DC,0x23E1).addRange(0x25F8,0x25FF).addRange(0x27C0,0x27C4).addRange(0x27C7,0x27E5).addRange(0x27F0,0x27FF).addRange(0x2900,0x2982).addRange(0x2999,0x29D7).addRange(0x29DC,0x29FB).addRange(0x29FE,0x2AFF).addRange(0x2B30,0x2B44).addRange(0x2B47,0x2B4C).addRange(0xFE64,0xFE66).addRange(0xFF1C,0xFF1E).addRange(0xFFE9,0xFFEC).addRange(0x1EEF0,0x1EEF1);Math_Symbol.characters=set;return Math_Symbol;}var Modifier_Letter={};var hasRequiredModifier_Letter;function requireModifier_Letter(){if(hasRequiredModifier_Letter)return Modifier_Letter;hasRequiredModifier_Letter=1;var set=regenerateExports(0x2EC,0x2EE,0x374,0x37A,0x559,0x640,0x7FA,0x81A,0x824,0x828,0x8C9,0x971,0xE46,0xEC6,0x10FC,0x17D7,0x1843,0x1AA7,0x1D78,0x2071,0x207F,0x2D6F,0x2E2F,0x3005,0x303B,0xA015,0xA60C,0xA67F,0xA770,0xA788,0xA9CF,0xA9E6,0xAA70,0xAADD,0xAB69,0xFF70,0x16FE3,0x1E4EB,0x1E94B);set.addRange(0x2B0,0x2C1).addRange(0x2C6,0x2D1).addRange(0x2E0,0x2E4).addRange(0x6E5,0x6E6).addRange(0x7F4,0x7F5).addRange(0x1C78,0x1C7D).addRange(0x1D2C,0x1D6A).addRange(0x1D9B,0x1DBF).addRange(0x2090,0x209C).addRange(0x2C7C,0x2C7D).addRange(0x3031,0x3035).addRange(0x309D,0x309E).addRange(0x30FC,0x30FE).addRange(0xA4F8,0xA4FD).addRange(0xA69C,0xA69D).addRange(0xA717,0xA71F).addRange(0xA7F2,0xA7F4).addRange(0xA7F8,0xA7F9).addRange(0xAAF3,0xAAF4).addRange(0xAB5C,0xAB5F).addRange(0xFF9E,0xFF9F).addRange(0x10780,0x10785).addRange(0x10787,0x107B0).addRange(0x107B2,0x107BA).addRange(0x16B40,0x16B43).addRange(0x16F93,0x16F9F).addRange(0x16FE0,0x16FE1).addRange(0x1AFF0,0x1AFF3).addRange(0x1AFF5,0x1AFFB).addRange(0x1AFFD,0x1AFFE).addRange(0x1E030,0x1E06D).addRange(0x1E137,0x1E13D);Modifier_Letter.characters=set;return Modifier_Letter;}var Modifier_Symbol={};var hasRequiredModifier_Symbol;function requireModifier_Symbol(){if(hasRequiredModifier_Symbol)return Modifier_Symbol;hasRequiredModifier_Symbol=1;var set=regenerateExports(0x5E,0x60,0xA8,0xAF,0xB4,0xB8,0x2ED,0x375,0x888,0x1FBD,0xAB5B,0xFF3E,0xFF40,0xFFE3);set.addRange(0x2C2,0x2C5).addRange(0x2D2,0x2DF).addRange(0x2E5,0x2EB).addRange(0x2EF,0x2FF).addRange(0x384,0x385).addRange(0x1FBF,0x1FC1).addRange(0x1FCD,0x1FCF).addRange(0x1FDD,0x1FDF).addRange(0x1FED,0x1FEF).addRange(0x1FFD,0x1FFE).addRange(0x309B,0x309C).addRange(0xA700,0xA716).addRange(0xA720,0xA721).addRange(0xA789,0xA78A).addRange(0xAB6A,0xAB6B).addRange(0xFBB2,0xFBC2).addRange(0x1F3FB,0x1F3FF);Modifier_Symbol.characters=set;return Modifier_Symbol;}var Nonspacing_Mark={};var hasRequiredNonspacing_Mark;function requireNonspacing_Mark(){if(hasRequiredNonspacing_Mark)return Nonspacing_Mark;hasRequiredNonspacing_Mark=1;var set=regenerateExports(0x5BF,0x5C7,0x670,0x711,0x7FD,0x93A,0x93C,0x94D,0x981,0x9BC,0x9CD,0x9FE,0xA3C,0xA51,0xA75,0xABC,0xACD,0xB01,0xB3C,0xB3F,0xB4D,0xB82,0xBC0,0xBCD,0xC00,0xC04,0xC3C,0xC81,0xCBC,0xCBF,0xCC6,0xD4D,0xD81,0xDCA,0xDD6,0xE31,0xEB1,0xF35,0xF37,0xF39,0xFC6,0x1082,0x108D,0x109D,0x17C6,0x17DD,0x180F,0x18A9,0x1932,0x1A1B,0x1A56,0x1A60,0x1A62,0x1A7F,0x1B34,0x1B3C,0x1B42,0x1BE6,0x1BED,0x1CED,0x1CF4,0x20E1,0x2D7F,0xA66F,0xA802,0xA806,0xA80B,0xA82C,0xA8FF,0xA9B3,0xA9E5,0xAA43,0xAA4C,0xAA7C,0xAAB0,0xAAC1,0xAAF6,0xABE5,0xABE8,0xABED,0xFB1E,0x101FD,0x102E0,0x10A3F,0x11001,0x11070,0x110C2,0x11173,0x111CF,0x11234,0x1123E,0x11241,0x112DF,0x11340,0x11446,0x1145E,0x114BA,0x1163D,0x116AB,0x116AD,0x116B7,0x1193E,0x11943,0x119E0,0x11A47,0x11C3F,0x11D3A,0x11D47,0x11D95,0x11D97,0x11F40,0x11F42,0x13440,0x16F4F,0x16FE4,0x1DA75,0x1DA84,0x1E08F,0x1E2AE);set.addRange(0x300,0x36F).addRange(0x483,0x487).addRange(0x591,0x5BD).addRange(0x5C1,0x5C2).addRange(0x5C4,0x5C5).addRange(0x610,0x61A).addRange(0x64B,0x65F).addRange(0x6D6,0x6DC).addRange(0x6DF,0x6E4).addRange(0x6E7,0x6E8).addRange(0x6EA,0x6ED).addRange(0x730,0x74A).addRange(0x7A6,0x7B0).addRange(0x7EB,0x7F3).addRange(0x816,0x819).addRange(0x81B,0x823).addRange(0x825,0x827).addRange(0x829,0x82D).addRange(0x859,0x85B).addRange(0x898,0x89F).addRange(0x8CA,0x8E1).addRange(0x8E3,0x902).addRange(0x941,0x948).addRange(0x951,0x957).addRange(0x962,0x963).addRange(0x9C1,0x9C4).addRange(0x9E2,0x9E3).addRange(0xA01,0xA02).addRange(0xA41,0xA42).addRange(0xA47,0xA48).addRange(0xA4B,0xA4D).addRange(0xA70,0xA71).addRange(0xA81,0xA82).addRange(0xAC1,0xAC5).addRange(0xAC7,0xAC8).addRange(0xAE2,0xAE3).addRange(0xAFA,0xAFF).addRange(0xB41,0xB44).addRange(0xB55,0xB56).addRange(0xB62,0xB63).addRange(0xC3E,0xC40).addRange(0xC46,0xC48).addRange(0xC4A,0xC4D).addRange(0xC55,0xC56).addRange(0xC62,0xC63).addRange(0xCCC,0xCCD).addRange(0xCE2,0xCE3).addRange(0xD00,0xD01).addRange(0xD3B,0xD3C).addRange(0xD41,0xD44).addRange(0xD62,0xD63);set.addRange(0xDD2,0xDD4).addRange(0xE34,0xE3A).addRange(0xE47,0xE4E).addRange(0xEB4,0xEBC).addRange(0xEC8,0xECE).addRange(0xF18,0xF19).addRange(0xF71,0xF7E).addRange(0xF80,0xF84).addRange(0xF86,0xF87).addRange(0xF8D,0xF97).addRange(0xF99,0xFBC).addRange(0x102D,0x1030).addRange(0x1032,0x1037).addRange(0x1039,0x103A).addRange(0x103D,0x103E).addRange(0x1058,0x1059).addRange(0x105E,0x1060).addRange(0x1071,0x1074).addRange(0x1085,0x1086).addRange(0x135D,0x135F).addRange(0x1712,0x1714).addRange(0x1732,0x1733).addRange(0x1752,0x1753).addRange(0x1772,0x1773).addRange(0x17B4,0x17B5).addRange(0x17B7,0x17BD).addRange(0x17C9,0x17D3).addRange(0x180B,0x180D).addRange(0x1885,0x1886).addRange(0x1920,0x1922).addRange(0x1927,0x1928).addRange(0x1939,0x193B).addRange(0x1A17,0x1A18).addRange(0x1A58,0x1A5E).addRange(0x1A65,0x1A6C).addRange(0x1A73,0x1A7C).addRange(0x1AB0,0x1ABD).addRange(0x1ABF,0x1ACE).addRange(0x1B00,0x1B03).addRange(0x1B36,0x1B3A).addRange(0x1B6B,0x1B73).addRange(0x1B80,0x1B81).addRange(0x1BA2,0x1BA5).addRange(0x1BA8,0x1BA9).addRange(0x1BAB,0x1BAD).addRange(0x1BE8,0x1BE9).addRange(0x1BEF,0x1BF1).addRange(0x1C2C,0x1C33).addRange(0x1C36,0x1C37).addRange(0x1CD0,0x1CD2).addRange(0x1CD4,0x1CE0);set.addRange(0x1CE2,0x1CE8).addRange(0x1CF8,0x1CF9).addRange(0x1DC0,0x1DFF).addRange(0x20D0,0x20DC).addRange(0x20E5,0x20F0).addRange(0x2CEF,0x2CF1).addRange(0x2DE0,0x2DFF).addRange(0x302A,0x302D).addRange(0x3099,0x309A).addRange(0xA674,0xA67D).addRange(0xA69E,0xA69F).addRange(0xA6F0,0xA6F1).addRange(0xA825,0xA826).addRange(0xA8C4,0xA8C5).addRange(0xA8E0,0xA8F1).addRange(0xA926,0xA92D).addRange(0xA947,0xA951).addRange(0xA980,0xA982).addRange(0xA9B6,0xA9B9).addRange(0xA9BC,0xA9BD).addRange(0xAA29,0xAA2E).addRange(0xAA31,0xAA32).addRange(0xAA35,0xAA36).addRange(0xAAB2,0xAAB4).addRange(0xAAB7,0xAAB8).addRange(0xAABE,0xAABF).addRange(0xAAEC,0xAAED).addRange(0xFE00,0xFE0F).addRange(0xFE20,0xFE2F).addRange(0x10376,0x1037A).addRange(0x10A01,0x10A03).addRange(0x10A05,0x10A06).addRange(0x10A0C,0x10A0F).addRange(0x10A38,0x10A3A).addRange(0x10AE5,0x10AE6).addRange(0x10D24,0x10D27).addRange(0x10EAB,0x10EAC).addRange(0x10EFD,0x10EFF).addRange(0x10F46,0x10F50).addRange(0x10F82,0x10F85).addRange(0x11038,0x11046).addRange(0x11073,0x11074).addRange(0x1107F,0x11081).addRange(0x110B3,0x110B6).addRange(0x110B9,0x110BA).addRange(0x11100,0x11102).addRange(0x11127,0x1112B).addRange(0x1112D,0x11134).addRange(0x11180,0x11181).addRange(0x111B6,0x111BE).addRange(0x111C9,0x111CC);set.addRange(0x1122F,0x11231).addRange(0x11236,0x11237).addRange(0x112E3,0x112EA).addRange(0x11300,0x11301).addRange(0x1133B,0x1133C).addRange(0x11366,0x1136C).addRange(0x11370,0x11374).addRange(0x11438,0x1143F).addRange(0x11442,0x11444).addRange(0x114B3,0x114B8).addRange(0x114BF,0x114C0).addRange(0x114C2,0x114C3).addRange(0x115B2,0x115B5).addRange(0x115BC,0x115BD).addRange(0x115BF,0x115C0).addRange(0x115DC,0x115DD).addRange(0x11633,0x1163A).addRange(0x1163F,0x11640).addRange(0x116B0,0x116B5).addRange(0x1171D,0x1171F).addRange(0x11722,0x11725).addRange(0x11727,0x1172B).addRange(0x1182F,0x11837).addRange(0x11839,0x1183A).addRange(0x1193B,0x1193C).addRange(0x119D4,0x119D7).addRange(0x119DA,0x119DB).addRange(0x11A01,0x11A0A).addRange(0x11A33,0x11A38).addRange(0x11A3B,0x11A3E).addRange(0x11A51,0x11A56).addRange(0x11A59,0x11A5B).addRange(0x11A8A,0x11A96).addRange(0x11A98,0x11A99).addRange(0x11C30,0x11C36).addRange(0x11C38,0x11C3D).addRange(0x11C92,0x11CA7).addRange(0x11CAA,0x11CB0).addRange(0x11CB2,0x11CB3).addRange(0x11CB5,0x11CB6).addRange(0x11D31,0x11D36).addRange(0x11D3C,0x11D3D).addRange(0x11D3F,0x11D45).addRange(0x11D90,0x11D91).addRange(0x11EF3,0x11EF4).addRange(0x11F00,0x11F01).addRange(0x11F36,0x11F3A).addRange(0x13447,0x13455).addRange(0x16AF0,0x16AF4).addRange(0x16B30,0x16B36).addRange(0x16F8F,0x16F92);set.addRange(0x1BC9D,0x1BC9E).addRange(0x1CF00,0x1CF2D).addRange(0x1CF30,0x1CF46).addRange(0x1D167,0x1D169).addRange(0x1D17B,0x1D182).addRange(0x1D185,0x1D18B).addRange(0x1D1AA,0x1D1AD).addRange(0x1D242,0x1D244).addRange(0x1DA00,0x1DA36).addRange(0x1DA3B,0x1DA6C).addRange(0x1DA9B,0x1DA9F).addRange(0x1DAA1,0x1DAAF).addRange(0x1E000,0x1E006).addRange(0x1E008,0x1E018).addRange(0x1E01B,0x1E021).addRange(0x1E023,0x1E024).addRange(0x1E026,0x1E02A).addRange(0x1E130,0x1E136).addRange(0x1E2EC,0x1E2EF).addRange(0x1E4EC,0x1E4EF).addRange(0x1E8D0,0x1E8D6).addRange(0x1E944,0x1E94A).addRange(0xE0100,0xE01EF);Nonspacing_Mark.characters=set;return Nonspacing_Mark;}var _Number={};var hasRequired_Number;function require_Number(){if(hasRequired_Number)return _Number;hasRequired_Number=1;var set=regenerateExports(0xB9,0x2070,0x2CFD,0x3007,0x10341,0x1034A);set.addRange(0x30,0x39).addRange(0xB2,0xB3).addRange(0xBC,0xBE).addRange(0x660,0x669).addRange(0x6F0,0x6F9).addRange(0x7C0,0x7C9).addRange(0x966,0x96F).addRange(0x9E6,0x9EF).addRange(0x9F4,0x9F9).addRange(0xA66,0xA6F).addRange(0xAE6,0xAEF).addRange(0xB66,0xB6F).addRange(0xB72,0xB77).addRange(0xBE6,0xBF2).addRange(0xC66,0xC6F).addRange(0xC78,0xC7E).addRange(0xCE6,0xCEF).addRange(0xD58,0xD5E).addRange(0xD66,0xD78).addRange(0xDE6,0xDEF).addRange(0xE50,0xE59).addRange(0xED0,0xED9).addRange(0xF20,0xF33).addRange(0x1040,0x1049).addRange(0x1090,0x1099).addRange(0x1369,0x137C).addRange(0x16EE,0x16F0).addRange(0x17E0,0x17E9).addRange(0x17F0,0x17F9).addRange(0x1810,0x1819).addRange(0x1946,0x194F).addRange(0x19D0,0x19DA).addRange(0x1A80,0x1A89).addRange(0x1A90,0x1A99).addRange(0x1B50,0x1B59).addRange(0x1BB0,0x1BB9).addRange(0x1C40,0x1C49).addRange(0x1C50,0x1C59).addRange(0x2074,0x2079).addRange(0x2080,0x2089).addRange(0x2150,0x2182).addRange(0x2185,0x2189).addRange(0x2460,0x249B).addRange(0x24EA,0x24FF).addRange(0x2776,0x2793).addRange(0x3021,0x3029).addRange(0x3038,0x303A).addRange(0x3192,0x3195).addRange(0x3220,0x3229).addRange(0x3248,0x324F).addRange(0x3251,0x325F);set.addRange(0x3280,0x3289).addRange(0x32B1,0x32BF).addRange(0xA620,0xA629).addRange(0xA6E6,0xA6EF).addRange(0xA830,0xA835).addRange(0xA8D0,0xA8D9).addRange(0xA900,0xA909).addRange(0xA9D0,0xA9D9).addRange(0xA9F0,0xA9F9).addRange(0xAA50,0xAA59).addRange(0xABF0,0xABF9).addRange(0xFF10,0xFF19).addRange(0x10107,0x10133).addRange(0x10140,0x10178).addRange(0x1018A,0x1018B).addRange(0x102E1,0x102FB).addRange(0x10320,0x10323).addRange(0x103D1,0x103D5).addRange(0x104A0,0x104A9).addRange(0x10858,0x1085F).addRange(0x10879,0x1087F).addRange(0x108A7,0x108AF).addRange(0x108FB,0x108FF).addRange(0x10916,0x1091B).addRange(0x109BC,0x109BD).addRange(0x109C0,0x109CF).addRange(0x109D2,0x109FF).addRange(0x10A40,0x10A48).addRange(0x10A7D,0x10A7E).addRange(0x10A9D,0x10A9F).addRange(0x10AEB,0x10AEF).addRange(0x10B58,0x10B5F).addRange(0x10B78,0x10B7F).addRange(0x10BA9,0x10BAF).addRange(0x10CFA,0x10CFF).addRange(0x10D30,0x10D39).addRange(0x10E60,0x10E7E).addRange(0x10F1D,0x10F26).addRange(0x10F51,0x10F54).addRange(0x10FC5,0x10FCB).addRange(0x11052,0x1106F).addRange(0x110F0,0x110F9).addRange(0x11136,0x1113F).addRange(0x111D0,0x111D9).addRange(0x111E1,0x111F4).addRange(0x112F0,0x112F9).addRange(0x11450,0x11459).addRange(0x114D0,0x114D9).addRange(0x11650,0x11659).addRange(0x116C0,0x116C9).addRange(0x11730,0x1173B);set.addRange(0x118E0,0x118F2).addRange(0x11950,0x11959).addRange(0x11C50,0x11C6C).addRange(0x11D50,0x11D59).addRange(0x11DA0,0x11DA9).addRange(0x11F50,0x11F59).addRange(0x11FC0,0x11FD4).addRange(0x12400,0x1246E).addRange(0x16A60,0x16A69).addRange(0x16AC0,0x16AC9).addRange(0x16B50,0x16B59).addRange(0x16B5B,0x16B61).addRange(0x16E80,0x16E96).addRange(0x1D2C0,0x1D2D3).addRange(0x1D2E0,0x1D2F3).addRange(0x1D360,0x1D378).addRange(0x1D7CE,0x1D7FF).addRange(0x1E140,0x1E149).addRange(0x1E2F0,0x1E2F9).addRange(0x1E4F0,0x1E4F9).addRange(0x1E8C7,0x1E8CF).addRange(0x1E950,0x1E959).addRange(0x1EC71,0x1ECAB).addRange(0x1ECAD,0x1ECAF).addRange(0x1ECB1,0x1ECB4).addRange(0x1ED01,0x1ED2D).addRange(0x1ED2F,0x1ED3D).addRange(0x1F100,0x1F10C).addRange(0x1FBF0,0x1FBF9);_Number.characters=set;return _Number;}var Open_Punctuation={};var hasRequiredOpen_Punctuation;function requireOpen_Punctuation(){if(hasRequiredOpen_Punctuation)return Open_Punctuation;hasRequiredOpen_Punctuation=1;var set=regenerateExports(0x28,0x5B,0x7B,0xF3A,0xF3C,0x169B,0x201A,0x201E,0x2045,0x207D,0x208D,0x2308,0x230A,0x2329,0x2768,0x276A,0x276C,0x276E,0x2770,0x2772,0x2774,0x27C5,0x27E6,0x27E8,0x27EA,0x27EC,0x27EE,0x2983,0x2985,0x2987,0x2989,0x298B,0x298D,0x298F,0x2991,0x2993,0x2995,0x2997,0x29D8,0x29DA,0x29FC,0x2E22,0x2E24,0x2E26,0x2E28,0x2E42,0x2E55,0x2E57,0x2E59,0x2E5B,0x3008,0x300A,0x300C,0x300E,0x3010,0x3014,0x3016,0x3018,0x301A,0x301D,0xFD3F,0xFE17,0xFE35,0xFE37,0xFE39,0xFE3B,0xFE3D,0xFE3F,0xFE41,0xFE43,0xFE47,0xFE59,0xFE5B,0xFE5D,0xFF08,0xFF3B,0xFF5B,0xFF5F,0xFF62);Open_Punctuation.characters=set;return Open_Punctuation;}var Other_Letter={};var hasRequiredOther_Letter;function requireOther_Letter(){if(hasRequiredOther_Letter)return Other_Letter;hasRequiredOther_Letter=1;var set=regenerateExports(0xAA,0xBA,0x1BB,0x294,0x6D5,0x6FF,0x710,0x7B1,0x93D,0x950,0x9B2,0x9BD,0x9CE,0x9FC,0xA5E,0xABD,0xAD0,0xAF9,0xB3D,0xB71,0xB83,0xB9C,0xBD0,0xC3D,0xC5D,0xC80,0xCBD,0xD3D,0xD4E,0xDBD,0xE84,0xEA5,0xEBD,0xF00,0x103F,0x1061,0x108E,0x1258,0x12C0,0x17DC,0x18AA,0x1CFA,0x3006,0x303C,0x309F,0x30FF,0xA66E,0xA78F,0xA7F7,0xA8FB,0xAA7A,0xAAB1,0xAAC0,0xAAC2,0xAAF2,0xFB1D,0xFB3E,0x10808,0x1083C,0x10A00,0x10F27,0x11075,0x11144,0x11147,0x11176,0x111DA,0x111DC,0x11288,0x1133D,0x11350,0x114C7,0x11644,0x116B8,0x11909,0x1193F,0x11941,0x119E1,0x119E3,0x11A00,0x11A3A,0x11A50,0x11A9D,0x11C40,0x11D46,0x11D98,0x11F02,0x11FB0,0x16F50,0x1B132,0x1B155,0x1DF0A,0x1E14E,0x1EE24,0x1EE27,0x1EE39,0x1EE3B,0x1EE42,0x1EE47,0x1EE49,0x1EE4B,0x1EE54,0x1EE57,0x1EE59,0x1EE5B,0x1EE5D,0x1EE5F,0x1EE64,0x1EE7E);set.addRange(0x1C0,0x1C3).addRange(0x5D0,0x5EA).addRange(0x5EF,0x5F2).addRange(0x620,0x63F).addRange(0x641,0x64A).addRange(0x66E,0x66F).addRange(0x671,0x6D3).addRange(0x6EE,0x6EF).addRange(0x6FA,0x6FC).addRange(0x712,0x72F).addRange(0x74D,0x7A5).addRange(0x7CA,0x7EA).addRange(0x800,0x815).addRange(0x840,0x858).addRange(0x860,0x86A).addRange(0x870,0x887).addRange(0x889,0x88E).addRange(0x8A0,0x8C8).addRange(0x904,0x939).addRange(0x958,0x961).addRange(0x972,0x980).addRange(0x985,0x98C).addRange(0x98F,0x990).addRange(0x993,0x9A8).addRange(0x9AA,0x9B0).addRange(0x9B6,0x9B9).addRange(0x9DC,0x9DD).addRange(0x9DF,0x9E1).addRange(0x9F0,0x9F1).addRange(0xA05,0xA0A).addRange(0xA0F,0xA10).addRange(0xA13,0xA28).addRange(0xA2A,0xA30).addRange(0xA32,0xA33).addRange(0xA35,0xA36).addRange(0xA38,0xA39).addRange(0xA59,0xA5C).addRange(0xA72,0xA74).addRange(0xA85,0xA8D).addRange(0xA8F,0xA91).addRange(0xA93,0xAA8).addRange(0xAAA,0xAB0).addRange(0xAB2,0xAB3).addRange(0xAB5,0xAB9).addRange(0xAE0,0xAE1).addRange(0xB05,0xB0C).addRange(0xB0F,0xB10).addRange(0xB13,0xB28).addRange(0xB2A,0xB30).addRange(0xB32,0xB33).addRange(0xB35,0xB39);set.addRange(0xB5C,0xB5D).addRange(0xB5F,0xB61).addRange(0xB85,0xB8A).addRange(0xB8E,0xB90).addRange(0xB92,0xB95).addRange(0xB99,0xB9A).addRange(0xB9E,0xB9F).addRange(0xBA3,0xBA4).addRange(0xBA8,0xBAA).addRange(0xBAE,0xBB9).addRange(0xC05,0xC0C).addRange(0xC0E,0xC10).addRange(0xC12,0xC28).addRange(0xC2A,0xC39).addRange(0xC58,0xC5A).addRange(0xC60,0xC61).addRange(0xC85,0xC8C).addRange(0xC8E,0xC90).addRange(0xC92,0xCA8).addRange(0xCAA,0xCB3).addRange(0xCB5,0xCB9).addRange(0xCDD,0xCDE).addRange(0xCE0,0xCE1).addRange(0xCF1,0xCF2).addRange(0xD04,0xD0C).addRange(0xD0E,0xD10).addRange(0xD12,0xD3A).addRange(0xD54,0xD56).addRange(0xD5F,0xD61).addRange(0xD7A,0xD7F).addRange(0xD85,0xD96).addRange(0xD9A,0xDB1).addRange(0xDB3,0xDBB).addRange(0xDC0,0xDC6).addRange(0xE01,0xE30).addRange(0xE32,0xE33).addRange(0xE40,0xE45).addRange(0xE81,0xE82).addRange(0xE86,0xE8A).addRange(0xE8C,0xEA3).addRange(0xEA7,0xEB0).addRange(0xEB2,0xEB3).addRange(0xEC0,0xEC4).addRange(0xEDC,0xEDF).addRange(0xF40,0xF47).addRange(0xF49,0xF6C).addRange(0xF88,0xF8C).addRange(0x1000,0x102A).addRange(0x1050,0x1055).addRange(0x105A,0x105D).addRange(0x1065,0x1066);set.addRange(0x106E,0x1070).addRange(0x1075,0x1081).addRange(0x1100,0x1248).addRange(0x124A,0x124D).addRange(0x1250,0x1256).addRange(0x125A,0x125D).addRange(0x1260,0x1288).addRange(0x128A,0x128D).addRange(0x1290,0x12B0).addRange(0x12B2,0x12B5).addRange(0x12B8,0x12BE).addRange(0x12C2,0x12C5).addRange(0x12C8,0x12D6).addRange(0x12D8,0x1310).addRange(0x1312,0x1315).addRange(0x1318,0x135A).addRange(0x1380,0x138F).addRange(0x1401,0x166C).addRange(0x166F,0x167F).addRange(0x1681,0x169A).addRange(0x16A0,0x16EA).addRange(0x16F1,0x16F8).addRange(0x1700,0x1711).addRange(0x171F,0x1731).addRange(0x1740,0x1751).addRange(0x1760,0x176C).addRange(0x176E,0x1770).addRange(0x1780,0x17B3).addRange(0x1820,0x1842).addRange(0x1844,0x1878).addRange(0x1880,0x1884).addRange(0x1887,0x18A8).addRange(0x18B0,0x18F5).addRange(0x1900,0x191E).addRange(0x1950,0x196D).addRange(0x1970,0x1974).addRange(0x1980,0x19AB).addRange(0x19B0,0x19C9).addRange(0x1A00,0x1A16).addRange(0x1A20,0x1A54).addRange(0x1B05,0x1B33).addRange(0x1B45,0x1B4C).addRange(0x1B83,0x1BA0).addRange(0x1BAE,0x1BAF).addRange(0x1BBA,0x1BE5).addRange(0x1C00,0x1C23).addRange(0x1C4D,0x1C4F).addRange(0x1C5A,0x1C77).addRange(0x1CE9,0x1CEC).addRange(0x1CEE,0x1CF3).addRange(0x1CF5,0x1CF6);set.addRange(0x2135,0x2138).addRange(0x2D30,0x2D67).addRange(0x2D80,0x2D96).addRange(0x2DA0,0x2DA6).addRange(0x2DA8,0x2DAE).addRange(0x2DB0,0x2DB6).addRange(0x2DB8,0x2DBE).addRange(0x2DC0,0x2DC6).addRange(0x2DC8,0x2DCE).addRange(0x2DD0,0x2DD6).addRange(0x2DD8,0x2DDE).addRange(0x3041,0x3096).addRange(0x30A1,0x30FA).addRange(0x3105,0x312F).addRange(0x3131,0x318E).addRange(0x31A0,0x31BF).addRange(0x31F0,0x31FF).addRange(0x3400,0x4DBF).addRange(0x4E00,0xA014).addRange(0xA016,0xA48C).addRange(0xA4D0,0xA4F7).addRange(0xA500,0xA60B).addRange(0xA610,0xA61F).addRange(0xA62A,0xA62B).addRange(0xA6A0,0xA6E5).addRange(0xA7FB,0xA801).addRange(0xA803,0xA805).addRange(0xA807,0xA80A).addRange(0xA80C,0xA822).addRange(0xA840,0xA873).addRange(0xA882,0xA8B3).addRange(0xA8F2,0xA8F7).addRange(0xA8FD,0xA8FE).addRange(0xA90A,0xA925).addRange(0xA930,0xA946).addRange(0xA960,0xA97C).addRange(0xA984,0xA9B2).addRange(0xA9E0,0xA9E4).addRange(0xA9E7,0xA9EF).addRange(0xA9FA,0xA9FE).addRange(0xAA00,0xAA28).addRange(0xAA40,0xAA42).addRange(0xAA44,0xAA4B).addRange(0xAA60,0xAA6F).addRange(0xAA71,0xAA76).addRange(0xAA7E,0xAAAF).addRange(0xAAB5,0xAAB6).addRange(0xAAB9,0xAABD).addRange(0xAADB,0xAADC).addRange(0xAAE0,0xAAEA).addRange(0xAB01,0xAB06);set.addRange(0xAB09,0xAB0E).addRange(0xAB11,0xAB16).addRange(0xAB20,0xAB26).addRange(0xAB28,0xAB2E).addRange(0xABC0,0xABE2).addRange(0xAC00,0xD7A3).addRange(0xD7B0,0xD7C6).addRange(0xD7CB,0xD7FB).addRange(0xF900,0xFA6D).addRange(0xFA70,0xFAD9).addRange(0xFB1F,0xFB28).addRange(0xFB2A,0xFB36).addRange(0xFB38,0xFB3C).addRange(0xFB40,0xFB41).addRange(0xFB43,0xFB44).addRange(0xFB46,0xFBB1).addRange(0xFBD3,0xFD3D).addRange(0xFD50,0xFD8F).addRange(0xFD92,0xFDC7).addRange(0xFDF0,0xFDFB).addRange(0xFE70,0xFE74).addRange(0xFE76,0xFEFC).addRange(0xFF66,0xFF6F).addRange(0xFF71,0xFF9D).addRange(0xFFA0,0xFFBE).addRange(0xFFC2,0xFFC7).addRange(0xFFCA,0xFFCF).addRange(0xFFD2,0xFFD7).addRange(0xFFDA,0xFFDC).addRange(0x10000,0x1000B).addRange(0x1000D,0x10026).addRange(0x10028,0x1003A).addRange(0x1003C,0x1003D).addRange(0x1003F,0x1004D).addRange(0x10050,0x1005D).addRange(0x10080,0x100FA).addRange(0x10280,0x1029C).addRange(0x102A0,0x102D0).addRange(0x10300,0x1031F).addRange(0x1032D,0x10340).addRange(0x10342,0x10349).addRange(0x10350,0x10375).addRange(0x10380,0x1039D).addRange(0x103A0,0x103C3).addRange(0x103C8,0x103CF).addRange(0x10450,0x1049D).addRange(0x10500,0x10527).addRange(0x10530,0x10563).addRange(0x10600,0x10736).addRange(0x10740,0x10755).addRange(0x10760,0x10767);set.addRange(0x10800,0x10805).addRange(0x1080A,0x10835).addRange(0x10837,0x10838).addRange(0x1083F,0x10855).addRange(0x10860,0x10876).addRange(0x10880,0x1089E).addRange(0x108E0,0x108F2).addRange(0x108F4,0x108F5).addRange(0x10900,0x10915).addRange(0x10920,0x10939).addRange(0x10980,0x109B7).addRange(0x109BE,0x109BF).addRange(0x10A10,0x10A13).addRange(0x10A15,0x10A17).addRange(0x10A19,0x10A35).addRange(0x10A60,0x10A7C).addRange(0x10A80,0x10A9C).addRange(0x10AC0,0x10AC7).addRange(0x10AC9,0x10AE4).addRange(0x10B00,0x10B35).addRange(0x10B40,0x10B55).addRange(0x10B60,0x10B72).addRange(0x10B80,0x10B91).addRange(0x10C00,0x10C48).addRange(0x10D00,0x10D23).addRange(0x10E80,0x10EA9).addRange(0x10EB0,0x10EB1).addRange(0x10F00,0x10F1C).addRange(0x10F30,0x10F45).addRange(0x10F70,0x10F81).addRange(0x10FB0,0x10FC4).addRange(0x10FE0,0x10FF6).addRange(0x11003,0x11037).addRange(0x11071,0x11072).addRange(0x11083,0x110AF).addRange(0x110D0,0x110E8).addRange(0x11103,0x11126).addRange(0x11150,0x11172).addRange(0x11183,0x111B2).addRange(0x111C1,0x111C4).addRange(0x11200,0x11211).addRange(0x11213,0x1122B).addRange(0x1123F,0x11240).addRange(0x11280,0x11286).addRange(0x1128A,0x1128D).addRange(0x1128F,0x1129D).addRange(0x1129F,0x112A8).addRange(0x112B0,0x112DE).addRange(0x11305,0x1130C).addRange(0x1130F,0x11310).addRange(0x11313,0x11328);set.addRange(0x1132A,0x11330).addRange(0x11332,0x11333).addRange(0x11335,0x11339).addRange(0x1135D,0x11361).addRange(0x11400,0x11434).addRange(0x11447,0x1144A).addRange(0x1145F,0x11461).addRange(0x11480,0x114AF).addRange(0x114C4,0x114C5).addRange(0x11580,0x115AE).addRange(0x115D8,0x115DB).addRange(0x11600,0x1162F).addRange(0x11680,0x116AA).addRange(0x11700,0x1171A).addRange(0x11740,0x11746).addRange(0x11800,0x1182B).addRange(0x118FF,0x11906).addRange(0x1190C,0x11913).addRange(0x11915,0x11916).addRange(0x11918,0x1192F).addRange(0x119A0,0x119A7).addRange(0x119AA,0x119D0).addRange(0x11A0B,0x11A32).addRange(0x11A5C,0x11A89).addRange(0x11AB0,0x11AF8).addRange(0x11C00,0x11C08).addRange(0x11C0A,0x11C2E).addRange(0x11C72,0x11C8F).addRange(0x11D00,0x11D06).addRange(0x11D08,0x11D09).addRange(0x11D0B,0x11D30).addRange(0x11D60,0x11D65).addRange(0x11D67,0x11D68).addRange(0x11D6A,0x11D89).addRange(0x11EE0,0x11EF2).addRange(0x11F04,0x11F10).addRange(0x11F12,0x11F33).addRange(0x12000,0x12399).addRange(0x12480,0x12543).addRange(0x12F90,0x12FF0).addRange(0x13000,0x1342F).addRange(0x13441,0x13446).addRange(0x14400,0x14646).addRange(0x16800,0x16A38).addRange(0x16A40,0x16A5E).addRange(0x16A70,0x16ABE).addRange(0x16AD0,0x16AED).addRange(0x16B00,0x16B2F).addRange(0x16B63,0x16B77).addRange(0x16B7D,0x16B8F).addRange(0x16F00,0x16F4A);set.addRange(0x17000,0x187F7).addRange(0x18800,0x18CD5).addRange(0x18D00,0x18D08).addRange(0x1B000,0x1B122).addRange(0x1B150,0x1B152).addRange(0x1B164,0x1B167).addRange(0x1B170,0x1B2FB).addRange(0x1BC00,0x1BC6A).addRange(0x1BC70,0x1BC7C).addRange(0x1BC80,0x1BC88).addRange(0x1BC90,0x1BC99).addRange(0x1E100,0x1E12C).addRange(0x1E290,0x1E2AD).addRange(0x1E2C0,0x1E2EB).addRange(0x1E4D0,0x1E4EA).addRange(0x1E7E0,0x1E7E6).addRange(0x1E7E8,0x1E7EB).addRange(0x1E7ED,0x1E7EE).addRange(0x1E7F0,0x1E7FE).addRange(0x1E800,0x1E8C4).addRange(0x1EE00,0x1EE03).addRange(0x1EE05,0x1EE1F).addRange(0x1EE21,0x1EE22).addRange(0x1EE29,0x1EE32).addRange(0x1EE34,0x1EE37).addRange(0x1EE4D,0x1EE4F).addRange(0x1EE51,0x1EE52).addRange(0x1EE61,0x1EE62).addRange(0x1EE67,0x1EE6A).addRange(0x1EE6C,0x1EE72).addRange(0x1EE74,0x1EE77).addRange(0x1EE79,0x1EE7C).addRange(0x1EE80,0x1EE89).addRange(0x1EE8B,0x1EE9B).addRange(0x1EEA1,0x1EEA3).addRange(0x1EEA5,0x1EEA9).addRange(0x1EEAB,0x1EEBB).addRange(0x20000,0x2A6DF).addRange(0x2A700,0x2B739).addRange(0x2B740,0x2B81D).addRange(0x2B820,0x2CEA1).addRange(0x2CEB0,0x2EBE0).addRange(0x2EBF0,0x2EE5D).addRange(0x2F800,0x2FA1D).addRange(0x30000,0x3134A).addRange(0x31350,0x323AF);Other_Letter.characters=set;return Other_Letter;}var Other_Number={};var hasRequiredOther_Number;function requireOther_Number(){if(hasRequiredOther_Number)return Other_Number;hasRequiredOther_Number=1;var set=regenerateExports(0xB9,0x19DA,0x2070,0x2189,0x2CFD);set.addRange(0xB2,0xB3).addRange(0xBC,0xBE).addRange(0x9F4,0x9F9).addRange(0xB72,0xB77).addRange(0xBF0,0xBF2).addRange(0xC78,0xC7E).addRange(0xD58,0xD5E).addRange(0xD70,0xD78).addRange(0xF2A,0xF33).addRange(0x1369,0x137C).addRange(0x17F0,0x17F9).addRange(0x2074,0x2079).addRange(0x2080,0x2089).addRange(0x2150,0x215F).addRange(0x2460,0x249B).addRange(0x24EA,0x24FF).addRange(0x2776,0x2793).addRange(0x3192,0x3195).addRange(0x3220,0x3229).addRange(0x3248,0x324F).addRange(0x3251,0x325F).addRange(0x3280,0x3289).addRange(0x32B1,0x32BF).addRange(0xA830,0xA835).addRange(0x10107,0x10133).addRange(0x10175,0x10178).addRange(0x1018A,0x1018B).addRange(0x102E1,0x102FB).addRange(0x10320,0x10323).addRange(0x10858,0x1085F).addRange(0x10879,0x1087F).addRange(0x108A7,0x108AF).addRange(0x108FB,0x108FF).addRange(0x10916,0x1091B).addRange(0x109BC,0x109BD).addRange(0x109C0,0x109CF).addRange(0x109D2,0x109FF).addRange(0x10A40,0x10A48).addRange(0x10A7D,0x10A7E).addRange(0x10A9D,0x10A9F).addRange(0x10AEB,0x10AEF).addRange(0x10B58,0x10B5F).addRange(0x10B78,0x10B7F).addRange(0x10BA9,0x10BAF).addRange(0x10CFA,0x10CFF).addRange(0x10E60,0x10E7E).addRange(0x10F1D,0x10F26).addRange(0x10F51,0x10F54).addRange(0x10FC5,0x10FCB).addRange(0x11052,0x11065).addRange(0x111E1,0x111F4);set.addRange(0x1173A,0x1173B).addRange(0x118EA,0x118F2).addRange(0x11C5A,0x11C6C).addRange(0x11FC0,0x11FD4).addRange(0x16B5B,0x16B61).addRange(0x16E80,0x16E96).addRange(0x1D2C0,0x1D2D3).addRange(0x1D2E0,0x1D2F3).addRange(0x1D360,0x1D378).addRange(0x1E8C7,0x1E8CF).addRange(0x1EC71,0x1ECAB).addRange(0x1ECAD,0x1ECAF).addRange(0x1ECB1,0x1ECB4).addRange(0x1ED01,0x1ED2D).addRange(0x1ED2F,0x1ED3D).addRange(0x1F100,0x1F10C);Other_Number.characters=set;return Other_Number;}var Other_Punctuation={};var hasRequiredOther_Punctuation;function requireOther_Punctuation(){if(hasRequiredOther_Punctuation)return Other_Punctuation;hasRequiredOther_Punctuation=1;var set=regenerateExports(0x2A,0x2C,0x5C,0xA1,0xA7,0xBF,0x37E,0x387,0x589,0x5C0,0x5C3,0x5C6,0x61B,0x6D4,0x85E,0x970,0x9FD,0xA76,0xAF0,0xC77,0xC84,0xDF4,0xE4F,0xF14,0xF85,0x10FB,0x166E,0x1CD3,0x2053,0x2D70,0x2E0B,0x2E1B,0x2E41,0x303D,0x30FB,0xA673,0xA67E,0xA8FC,0xA95F,0xABEB,0xFE19,0xFE30,0xFE68,0xFF0A,0xFF0C,0xFF3C,0xFF61,0x1039F,0x103D0,0x1056F,0x10857,0x1091F,0x1093F,0x10A7F,0x111CD,0x111DB,0x112A9,0x1145D,0x114C6,0x116B9,0x1183B,0x119E2,0x11FFF,0x16AF5,0x16B44,0x16FE2,0x1BC9F);set.addRange(0x21,0x23).addRange(0x25,0x27).addRange(0x2E,0x2F).addRange(0x3A,0x3B).addRange(0x3F,0x40).addRange(0xB6,0xB7).addRange(0x55A,0x55F).addRange(0x5F3,0x5F4).addRange(0x609,0x60A).addRange(0x60C,0x60D).addRange(0x61D,0x61F).addRange(0x66A,0x66D).addRange(0x700,0x70D).addRange(0x7F7,0x7F9).addRange(0x830,0x83E).addRange(0x964,0x965).addRange(0xE5A,0xE5B).addRange(0xF04,0xF12).addRange(0xFD0,0xFD4).addRange(0xFD9,0xFDA).addRange(0x104A,0x104F).addRange(0x1360,0x1368).addRange(0x16EB,0x16ED).addRange(0x1735,0x1736).addRange(0x17D4,0x17D6).addRange(0x17D8,0x17DA).addRange(0x1800,0x1805).addRange(0x1807,0x180A).addRange(0x1944,0x1945).addRange(0x1A1E,0x1A1F).addRange(0x1AA0,0x1AA6).addRange(0x1AA8,0x1AAD).addRange(0x1B5A,0x1B60).addRange(0x1B7D,0x1B7E).addRange(0x1BFC,0x1BFF).addRange(0x1C3B,0x1C3F).addRange(0x1C7E,0x1C7F).addRange(0x1CC0,0x1CC7).addRange(0x2016,0x2017).addRange(0x2020,0x2027).addRange(0x2030,0x2038).addRange(0x203B,0x203E).addRange(0x2041,0x2043).addRange(0x2047,0x2051).addRange(0x2055,0x205E).addRange(0x2CF9,0x2CFC).addRange(0x2CFE,0x2CFF).addRange(0x2E00,0x2E01).addRange(0x2E06,0x2E08).addRange(0x2E0E,0x2E16).addRange(0x2E18,0x2E19);set.addRange(0x2E1E,0x2E1F).addRange(0x2E2A,0x2E2E).addRange(0x2E30,0x2E39).addRange(0x2E3C,0x2E3F).addRange(0x2E43,0x2E4F).addRange(0x2E52,0x2E54).addRange(0x3001,0x3003).addRange(0xA4FE,0xA4FF).addRange(0xA60D,0xA60F).addRange(0xA6F2,0xA6F7).addRange(0xA874,0xA877).addRange(0xA8CE,0xA8CF).addRange(0xA8F8,0xA8FA).addRange(0xA92E,0xA92F).addRange(0xA9C1,0xA9CD).addRange(0xA9DE,0xA9DF).addRange(0xAA5C,0xAA5F).addRange(0xAADE,0xAADF).addRange(0xAAF0,0xAAF1).addRange(0xFE10,0xFE16).addRange(0xFE45,0xFE46).addRange(0xFE49,0xFE4C).addRange(0xFE50,0xFE52).addRange(0xFE54,0xFE57).addRange(0xFE5F,0xFE61).addRange(0xFE6A,0xFE6B).addRange(0xFF01,0xFF03).addRange(0xFF05,0xFF07).addRange(0xFF0E,0xFF0F).addRange(0xFF1A,0xFF1B).addRange(0xFF1F,0xFF20).addRange(0xFF64,0xFF65).addRange(0x10100,0x10102).addRange(0x10A50,0x10A58).addRange(0x10AF0,0x10AF6).addRange(0x10B39,0x10B3F).addRange(0x10B99,0x10B9C).addRange(0x10F55,0x10F59).addRange(0x10F86,0x10F89).addRange(0x11047,0x1104D).addRange(0x110BB,0x110BC).addRange(0x110BE,0x110C1).addRange(0x11140,0x11143).addRange(0x11174,0x11175).addRange(0x111C5,0x111C8).addRange(0x111DD,0x111DF).addRange(0x11238,0x1123D).addRange(0x1144B,0x1144F).addRange(0x1145A,0x1145B).addRange(0x115C1,0x115D7).addRange(0x11641,0x11643);set.addRange(0x11660,0x1166C).addRange(0x1173C,0x1173E).addRange(0x11944,0x11946).addRange(0x11A3F,0x11A46).addRange(0x11A9A,0x11A9C).addRange(0x11A9E,0x11AA2).addRange(0x11B00,0x11B09).addRange(0x11C41,0x11C45).addRange(0x11C70,0x11C71).addRange(0x11EF7,0x11EF8).addRange(0x11F43,0x11F4F).addRange(0x12470,0x12474).addRange(0x12FF1,0x12FF2).addRange(0x16A6E,0x16A6F).addRange(0x16B37,0x16B3B).addRange(0x16E97,0x16E9A).addRange(0x1DA87,0x1DA8B).addRange(0x1E95E,0x1E95F);Other_Punctuation.characters=set;return Other_Punctuation;}var Other_Symbol={};var hasRequiredOther_Symbol;function requireOther_Symbol(){if(hasRequiredOther_Symbol)return Other_Symbol;hasRequiredOther_Symbol=1;var set=regenerateExports(0xA6,0xA9,0xAE,0xB0,0x482,0x6DE,0x6E9,0x7F6,0x9FA,0xB70,0xBFA,0xC7F,0xD4F,0xD79,0xF13,0xF34,0xF36,0xF38,0x166D,0x1940,0x2114,0x2125,0x2127,0x2129,0x212E,0x214A,0x214F,0x21D3,0x3004,0x3020,0x31EF,0x3250,0xA839,0xFDCF,0xFFE4,0xFFE8,0x101A0,0x10AC8,0x1173F,0x16B45,0x1BC9C,0x1D245,0x1E14F,0x1ECAC,0x1ED2E,0x1F7F0);set.addRange(0x58D,0x58E).addRange(0x60E,0x60F).addRange(0x6FD,0x6FE).addRange(0xBF3,0xBF8).addRange(0xF01,0xF03).addRange(0xF15,0xF17).addRange(0xF1A,0xF1F).addRange(0xFBE,0xFC5).addRange(0xFC7,0xFCC).addRange(0xFCE,0xFCF).addRange(0xFD5,0xFD8).addRange(0x109E,0x109F).addRange(0x1390,0x1399).addRange(0x19DE,0x19FF).addRange(0x1B61,0x1B6A).addRange(0x1B74,0x1B7C).addRange(0x2100,0x2101).addRange(0x2103,0x2106).addRange(0x2108,0x2109).addRange(0x2116,0x2117).addRange(0x211E,0x2123).addRange(0x213A,0x213B).addRange(0x214C,0x214D).addRange(0x218A,0x218B).addRange(0x2195,0x2199).addRange(0x219C,0x219F).addRange(0x21A1,0x21A2).addRange(0x21A4,0x21A5).addRange(0x21A7,0x21AD).addRange(0x21AF,0x21CD).addRange(0x21D0,0x21D1).addRange(0x21D5,0x21F3).addRange(0x2300,0x2307).addRange(0x230C,0x231F).addRange(0x2322,0x2328).addRange(0x232B,0x237B).addRange(0x237D,0x239A).addRange(0x23B4,0x23DB).addRange(0x23E2,0x2426).addRange(0x2440,0x244A).addRange(0x249C,0x24E9).addRange(0x2500,0x25B6).addRange(0x25B8,0x25C0).addRange(0x25C2,0x25F7).addRange(0x2600,0x266E).addRange(0x2670,0x2767).addRange(0x2794,0x27BF).addRange(0x2800,0x28FF).addRange(0x2B00,0x2B2F).addRange(0x2B45,0x2B46).addRange(0x2B4D,0x2B73);set.addRange(0x2B76,0x2B95).addRange(0x2B97,0x2BFF).addRange(0x2CE5,0x2CEA).addRange(0x2E50,0x2E51).addRange(0x2E80,0x2E99).addRange(0x2E9B,0x2EF3).addRange(0x2F00,0x2FD5).addRange(0x2FF0,0x2FFF).addRange(0x3012,0x3013).addRange(0x3036,0x3037).addRange(0x303E,0x303F).addRange(0x3190,0x3191).addRange(0x3196,0x319F).addRange(0x31C0,0x31E3).addRange(0x3200,0x321E).addRange(0x322A,0x3247).addRange(0x3260,0x327F).addRange(0x328A,0x32B0).addRange(0x32C0,0x33FF).addRange(0x4DC0,0x4DFF).addRange(0xA490,0xA4C6).addRange(0xA828,0xA82B).addRange(0xA836,0xA837).addRange(0xAA77,0xAA79).addRange(0xFD40,0xFD4F).addRange(0xFDFD,0xFDFF).addRange(0xFFED,0xFFEE).addRange(0xFFFC,0xFFFD).addRange(0x10137,0x1013F).addRange(0x10179,0x10189).addRange(0x1018C,0x1018E).addRange(0x10190,0x1019C).addRange(0x101D0,0x101FC).addRange(0x10877,0x10878).addRange(0x11FD5,0x11FDC).addRange(0x11FE1,0x11FF1).addRange(0x16B3C,0x16B3F).addRange(0x1CF50,0x1CFC3).addRange(0x1D000,0x1D0F5).addRange(0x1D100,0x1D126).addRange(0x1D129,0x1D164).addRange(0x1D16A,0x1D16C).addRange(0x1D183,0x1D184).addRange(0x1D18C,0x1D1A9).addRange(0x1D1AE,0x1D1EA).addRange(0x1D200,0x1D241).addRange(0x1D300,0x1D356).addRange(0x1D800,0x1D9FF).addRange(0x1DA37,0x1DA3A).addRange(0x1DA6D,0x1DA74).addRange(0x1DA76,0x1DA83);set.addRange(0x1DA85,0x1DA86).addRange(0x1F000,0x1F02B).addRange(0x1F030,0x1F093).addRange(0x1F0A0,0x1F0AE).addRange(0x1F0B1,0x1F0BF).addRange(0x1F0C1,0x1F0CF).addRange(0x1F0D1,0x1F0F5).addRange(0x1F10D,0x1F1AD).addRange(0x1F1E6,0x1F202).addRange(0x1F210,0x1F23B).addRange(0x1F240,0x1F248).addRange(0x1F250,0x1F251).addRange(0x1F260,0x1F265).addRange(0x1F300,0x1F3FA).addRange(0x1F400,0x1F6D7).addRange(0x1F6DC,0x1F6EC).addRange(0x1F6F0,0x1F6FC).addRange(0x1F700,0x1F776).addRange(0x1F77B,0x1F7D9).addRange(0x1F7E0,0x1F7EB).addRange(0x1F800,0x1F80B).addRange(0x1F810,0x1F847).addRange(0x1F850,0x1F859).addRange(0x1F860,0x1F887).addRange(0x1F890,0x1F8AD).addRange(0x1F8B0,0x1F8B1).addRange(0x1F900,0x1FA53).addRange(0x1FA60,0x1FA6D).addRange(0x1FA70,0x1FA7C).addRange(0x1FA80,0x1FA88).addRange(0x1FA90,0x1FABD).addRange(0x1FABF,0x1FAC5).addRange(0x1FACE,0x1FADB).addRange(0x1FAE0,0x1FAE8).addRange(0x1FAF0,0x1FAF8).addRange(0x1FB00,0x1FB92).addRange(0x1FB94,0x1FBCA);Other_Symbol.characters=set;return Other_Symbol;}var Other={};var hasRequiredOther;function requireOther(){if(hasRequiredOther)return Other;hasRequiredOther=1;var set=regenerateExports(0xAD,0x38B,0x38D,0x3A2,0x530,0x590,0x61C,0x6DD,0x83F,0x85F,0x8E2,0x984,0x9A9,0x9B1,0x9DE,0xA04,0xA29,0xA31,0xA34,0xA37,0xA3D,0xA5D,0xA84,0xA8E,0xA92,0xAA9,0xAB1,0xAB4,0xAC6,0xACA,0xB00,0xB04,0xB29,0xB31,0xB34,0xB5E,0xB84,0xB91,0xB9B,0xB9D,0xBC9,0xC0D,0xC11,0xC29,0xC45,0xC49,0xC57,0xC8D,0xC91,0xCA9,0xCB4,0xCC5,0xCC9,0xCDF,0xCF0,0xD0D,0xD11,0xD45,0xD49,0xD80,0xD84,0xDB2,0xDBC,0xDD5,0xDD7,0xE83,0xE85,0xE8B,0xEA4,0xEA6,0xEC5,0xEC7,0xECF,0xF48,0xF98,0xFBD,0xFCD,0x10C6,0x1249,0x1257,0x1259,0x1289,0x12B1,0x12BF,0x12C1,0x12D7,0x1311,0x176D,0x1771,0x180E,0x191F,0x1A5F,0x1B7F,0x1F58,0x1F5A,0x1F5C,0x1F5E,0x1FB5,0x1FC5,0x1FDC,0x1FF5,0x1FFF,0x208F,0x2B96,0x2D26,0x2DA7,0x2DAF,0x2DB7,0x2DBF,0x2DC7,0x2DCF,0x2DD7,0x2DDF,0x2E9A,0x3040,0x3130,0x318F,0x321F,0xA7D2,0xA7D4,0xA9CE,0xA9FF,0xAB27,0xAB2F,0xFB37,0xFB3D,0xFB3F,0xFB42,0xFB45,0xFE53,0xFE67,0xFE75,0xFFE7,0x1000C,0x10027,0x1003B,0x1003E,0x1018F,0x1039E,0x1057B,0x1058B,0x10593,0x10596,0x105A2,0x105B2,0x105BA,0x10786,0x107B1,0x10809,0x10836,0x10856,0x108F3,0x10A04,0x10A14,0x10A18,0x10E7F,0x10EAA,0x110BD,0x11135,0x111E0,0x11212,0x11287,0x11289,0x1128E,0x1129E,0x11304,0x11329,0x11331,0x11334,0x1133A,0x1145C,0x11914,0x11917,0x11936,0x11C09,0x11C37,0x11CA8,0x11D07,0x11D0A,0x11D3B,0x11D3E,0x11D66,0x11D69,0x11D8F,0x11D92,0x11F11,0x1246F,0x16A5F,0x16ABF,0x16B5A,0x16B62,0x1AFF4,0x1AFFC,0x1AFFF,0x1D455,0x1D49D,0x1D4AD,0x1D4BA,0x1D4BC,0x1D4C4,0x1D506,0x1D515,0x1D51D,0x1D53A,0x1D53F,0x1D545,0x1D551,0x1DAA0,0x1E007,0x1E022,0x1E025,0x1E7E7,0x1E7EC,0x1E7EF,0x1E7FF,0x1EE04,0x1EE20,0x1EE23,0x1EE28,0x1EE33,0x1EE38,0x1EE3A,0x1EE48,0x1EE4A,0x1EE4C,0x1EE50,0x1EE53,0x1EE58,0x1EE5A,0x1EE5C,0x1EE5E,0x1EE60,0x1EE63,0x1EE6B,0x1EE73,0x1EE78,0x1EE7D,0x1EE7F,0x1EE8A,0x1EEA4,0x1EEAA,0x1F0C0,0x1F0D0,0x1FABE,0x1FB93);set.addRange(0x0,0x1F).addRange(0x7F,0x9F).addRange(0x378,0x379).addRange(0x380,0x383).addRange(0x557,0x558).addRange(0x58B,0x58C).addRange(0x5C8,0x5CF).addRange(0x5EB,0x5EE).addRange(0x5F5,0x605).addRange(0x70E,0x70F).addRange(0x74B,0x74C).addRange(0x7B2,0x7BF).addRange(0x7FB,0x7FC).addRange(0x82E,0x82F).addRange(0x85C,0x85D).addRange(0x86B,0x86F).addRange(0x88F,0x897).addRange(0x98D,0x98E).addRange(0x991,0x992).addRange(0x9B3,0x9B5).addRange(0x9BA,0x9BB).addRange(0x9C5,0x9C6).addRange(0x9C9,0x9CA).addRange(0x9CF,0x9D6).addRange(0x9D8,0x9DB).addRange(0x9E4,0x9E5).addRange(0x9FF,0xA00).addRange(0xA0B,0xA0E).addRange(0xA11,0xA12).addRange(0xA3A,0xA3B).addRange(0xA43,0xA46).addRange(0xA49,0xA4A).addRange(0xA4E,0xA50).addRange(0xA52,0xA58).addRange(0xA5F,0xA65).addRange(0xA77,0xA80).addRange(0xABA,0xABB).addRange(0xACE,0xACF).addRange(0xAD1,0xADF).addRange(0xAE4,0xAE5).addRange(0xAF2,0xAF8).addRange(0xB0D,0xB0E).addRange(0xB11,0xB12).addRange(0xB3A,0xB3B).addRange(0xB45,0xB46).addRange(0xB49,0xB4A).addRange(0xB4E,0xB54).addRange(0xB58,0xB5B).addRange(0xB64,0xB65).addRange(0xB78,0xB81).addRange(0xB8B,0xB8D);set.addRange(0xB96,0xB98).addRange(0xBA0,0xBA2).addRange(0xBA5,0xBA7).addRange(0xBAB,0xBAD).addRange(0xBBA,0xBBD).addRange(0xBC3,0xBC5).addRange(0xBCE,0xBCF).addRange(0xBD1,0xBD6).addRange(0xBD8,0xBE5).addRange(0xBFB,0xBFF).addRange(0xC3A,0xC3B).addRange(0xC4E,0xC54).addRange(0xC5B,0xC5C).addRange(0xC5E,0xC5F).addRange(0xC64,0xC65).addRange(0xC70,0xC76).addRange(0xCBA,0xCBB).addRange(0xCCE,0xCD4).addRange(0xCD7,0xCDC).addRange(0xCE4,0xCE5).addRange(0xCF4,0xCFF).addRange(0xD50,0xD53).addRange(0xD64,0xD65).addRange(0xD97,0xD99).addRange(0xDBE,0xDBF).addRange(0xDC7,0xDC9).addRange(0xDCB,0xDCE).addRange(0xDE0,0xDE5).addRange(0xDF0,0xDF1).addRange(0xDF5,0xE00).addRange(0xE3B,0xE3E).addRange(0xE5C,0xE80).addRange(0xEBE,0xEBF).addRange(0xEDA,0xEDB).addRange(0xEE0,0xEFF).addRange(0xF6D,0xF70).addRange(0xFDB,0xFFF).addRange(0x10C8,0x10CC).addRange(0x10CE,0x10CF).addRange(0x124E,0x124F).addRange(0x125E,0x125F).addRange(0x128E,0x128F).addRange(0x12B6,0x12B7).addRange(0x12C6,0x12C7).addRange(0x1316,0x1317).addRange(0x135B,0x135C).addRange(0x137D,0x137F).addRange(0x139A,0x139F).addRange(0x13F6,0x13F7).addRange(0x13FE,0x13FF).addRange(0x169D,0x169F);set.addRange(0x16F9,0x16FF).addRange(0x1716,0x171E).addRange(0x1737,0x173F).addRange(0x1754,0x175F).addRange(0x1774,0x177F).addRange(0x17DE,0x17DF).addRange(0x17EA,0x17EF).addRange(0x17FA,0x17FF).addRange(0x181A,0x181F).addRange(0x1879,0x187F).addRange(0x18AB,0x18AF).addRange(0x18F6,0x18FF).addRange(0x192C,0x192F).addRange(0x193C,0x193F).addRange(0x1941,0x1943).addRange(0x196E,0x196F).addRange(0x1975,0x197F).addRange(0x19AC,0x19AF).addRange(0x19CA,0x19CF).addRange(0x19DB,0x19DD).addRange(0x1A1C,0x1A1D).addRange(0x1A7D,0x1A7E).addRange(0x1A8A,0x1A8F).addRange(0x1A9A,0x1A9F).addRange(0x1AAE,0x1AAF).addRange(0x1ACF,0x1AFF).addRange(0x1B4D,0x1B4F).addRange(0x1BF4,0x1BFB).addRange(0x1C38,0x1C3A).addRange(0x1C4A,0x1C4C).addRange(0x1C89,0x1C8F).addRange(0x1CBB,0x1CBC).addRange(0x1CC8,0x1CCF).addRange(0x1CFB,0x1CFF).addRange(0x1F16,0x1F17).addRange(0x1F1E,0x1F1F).addRange(0x1F46,0x1F47).addRange(0x1F4E,0x1F4F).addRange(0x1F7E,0x1F7F).addRange(0x1FD4,0x1FD5).addRange(0x1FF0,0x1FF1).addRange(0x200B,0x200F).addRange(0x202A,0x202E).addRange(0x2060,0x206F).addRange(0x2072,0x2073).addRange(0x209D,0x209F).addRange(0x20C1,0x20CF).addRange(0x20F1,0x20FF).addRange(0x218C,0x218F).addRange(0x2427,0x243F).addRange(0x244B,0x245F);set.addRange(0x2B74,0x2B75).addRange(0x2CF4,0x2CF8).addRange(0x2D28,0x2D2C).addRange(0x2D2E,0x2D2F).addRange(0x2D68,0x2D6E).addRange(0x2D71,0x2D7E).addRange(0x2D97,0x2D9F).addRange(0x2E5E,0x2E7F).addRange(0x2EF4,0x2EFF).addRange(0x2FD6,0x2FEF).addRange(0x3097,0x3098).addRange(0x3100,0x3104).addRange(0x31E4,0x31EE).addRange(0xA48D,0xA48F).addRange(0xA4C7,0xA4CF).addRange(0xA62C,0xA63F).addRange(0xA6F8,0xA6FF).addRange(0xA7CB,0xA7CF).addRange(0xA7DA,0xA7F1).addRange(0xA82D,0xA82F).addRange(0xA83A,0xA83F).addRange(0xA878,0xA87F).addRange(0xA8C6,0xA8CD).addRange(0xA8DA,0xA8DF).addRange(0xA954,0xA95E).addRange(0xA97D,0xA97F).addRange(0xA9DA,0xA9DD).addRange(0xAA37,0xAA3F).addRange(0xAA4E,0xAA4F).addRange(0xAA5A,0xAA5B).addRange(0xAAC3,0xAADA).addRange(0xAAF7,0xAB00).addRange(0xAB07,0xAB08).addRange(0xAB0F,0xAB10).addRange(0xAB17,0xAB1F).addRange(0xAB6C,0xAB6F).addRange(0xABEE,0xABEF).addRange(0xABFA,0xABFF).addRange(0xD7A4,0xD7AF).addRange(0xD7C7,0xD7CA).addRange(0xD7FC,0xF8FF).addRange(0xFA6E,0xFA6F).addRange(0xFADA,0xFAFF).addRange(0xFB07,0xFB12).addRange(0xFB18,0xFB1C).addRange(0xFBC3,0xFBD2).addRange(0xFD90,0xFD91).addRange(0xFDC8,0xFDCE).addRange(0xFDD0,0xFDEF).addRange(0xFE1A,0xFE1F).addRange(0xFE6C,0xFE6F);set.addRange(0xFEFD,0xFF00).addRange(0xFFBF,0xFFC1).addRange(0xFFC8,0xFFC9).addRange(0xFFD0,0xFFD1).addRange(0xFFD8,0xFFD9).addRange(0xFFDD,0xFFDF).addRange(0xFFEF,0xFFFB).addRange(0xFFFE,0xFFFF).addRange(0x1004E,0x1004F).addRange(0x1005E,0x1007F).addRange(0x100FB,0x100FF).addRange(0x10103,0x10106).addRange(0x10134,0x10136).addRange(0x1019D,0x1019F).addRange(0x101A1,0x101CF).addRange(0x101FE,0x1027F).addRange(0x1029D,0x1029F).addRange(0x102D1,0x102DF).addRange(0x102FC,0x102FF).addRange(0x10324,0x1032C).addRange(0x1034B,0x1034F).addRange(0x1037B,0x1037F).addRange(0x103C4,0x103C7).addRange(0x103D6,0x103FF).addRange(0x1049E,0x1049F).addRange(0x104AA,0x104AF).addRange(0x104D4,0x104D7).addRange(0x104FC,0x104FF).addRange(0x10528,0x1052F).addRange(0x10564,0x1056E).addRange(0x105BD,0x105FF).addRange(0x10737,0x1073F).addRange(0x10756,0x1075F).addRange(0x10768,0x1077F).addRange(0x107BB,0x107FF).addRange(0x10806,0x10807).addRange(0x10839,0x1083B).addRange(0x1083D,0x1083E).addRange(0x1089F,0x108A6).addRange(0x108B0,0x108DF).addRange(0x108F6,0x108FA).addRange(0x1091C,0x1091E).addRange(0x1093A,0x1093E).addRange(0x10940,0x1097F).addRange(0x109B8,0x109BB).addRange(0x109D0,0x109D1).addRange(0x10A07,0x10A0B).addRange(0x10A36,0x10A37).addRange(0x10A3B,0x10A3E).addRange(0x10A49,0x10A4F).addRange(0x10A59,0x10A5F);set.addRange(0x10AA0,0x10ABF).addRange(0x10AE7,0x10AEA).addRange(0x10AF7,0x10AFF).addRange(0x10B36,0x10B38).addRange(0x10B56,0x10B57).addRange(0x10B73,0x10B77).addRange(0x10B92,0x10B98).addRange(0x10B9D,0x10BA8).addRange(0x10BB0,0x10BFF).addRange(0x10C49,0x10C7F).addRange(0x10CB3,0x10CBF).addRange(0x10CF3,0x10CF9).addRange(0x10D28,0x10D2F).addRange(0x10D3A,0x10E5F).addRange(0x10EAE,0x10EAF).addRange(0x10EB2,0x10EFC).addRange(0x10F28,0x10F2F).addRange(0x10F5A,0x10F6F).addRange(0x10F8A,0x10FAF).addRange(0x10FCC,0x10FDF).addRange(0x10FF7,0x10FFF).addRange(0x1104E,0x11051).addRange(0x11076,0x1107E).addRange(0x110C3,0x110CF).addRange(0x110E9,0x110EF).addRange(0x110FA,0x110FF).addRange(0x11148,0x1114F).addRange(0x11177,0x1117F).addRange(0x111F5,0x111FF).addRange(0x11242,0x1127F).addRange(0x112AA,0x112AF).addRange(0x112EB,0x112EF).addRange(0x112FA,0x112FF).addRange(0x1130D,0x1130E).addRange(0x11311,0x11312).addRange(0x11345,0x11346).addRange(0x11349,0x1134A).addRange(0x1134E,0x1134F).addRange(0x11351,0x11356).addRange(0x11358,0x1135C).addRange(0x11364,0x11365).addRange(0x1136D,0x1136F).addRange(0x11375,0x113FF).addRange(0x11462,0x1147F).addRange(0x114C8,0x114CF).addRange(0x114DA,0x1157F).addRange(0x115B6,0x115B7).addRange(0x115DE,0x115FF).addRange(0x11645,0x1164F).addRange(0x1165A,0x1165F).addRange(0x1166D,0x1167F);set.addRange(0x116BA,0x116BF).addRange(0x116CA,0x116FF).addRange(0x1171B,0x1171C).addRange(0x1172C,0x1172F).addRange(0x11747,0x117FF).addRange(0x1183C,0x1189F).addRange(0x118F3,0x118FE).addRange(0x11907,0x11908).addRange(0x1190A,0x1190B).addRange(0x11939,0x1193A).addRange(0x11947,0x1194F).addRange(0x1195A,0x1199F).addRange(0x119A8,0x119A9).addRange(0x119D8,0x119D9).addRange(0x119E5,0x119FF).addRange(0x11A48,0x11A4F).addRange(0x11AA3,0x11AAF).addRange(0x11AF9,0x11AFF).addRange(0x11B0A,0x11BFF).addRange(0x11C46,0x11C4F).addRange(0x11C6D,0x11C6F).addRange(0x11C90,0x11C91).addRange(0x11CB7,0x11CFF).addRange(0x11D37,0x11D39).addRange(0x11D48,0x11D4F).addRange(0x11D5A,0x11D5F).addRange(0x11D99,0x11D9F).addRange(0x11DAA,0x11EDF).addRange(0x11EF9,0x11EFF).addRange(0x11F3B,0x11F3D).addRange(0x11F5A,0x11FAF).addRange(0x11FB1,0x11FBF).addRange(0x11FF2,0x11FFE).addRange(0x1239A,0x123FF).addRange(0x12475,0x1247F).addRange(0x12544,0x12F8F).addRange(0x12FF3,0x12FFF).addRange(0x13430,0x1343F).addRange(0x13456,0x143FF).addRange(0x14647,0x167FF).addRange(0x16A39,0x16A3F).addRange(0x16A6A,0x16A6D).addRange(0x16ACA,0x16ACF).addRange(0x16AEE,0x16AEF).addRange(0x16AF6,0x16AFF).addRange(0x16B46,0x16B4F).addRange(0x16B78,0x16B7C).addRange(0x16B90,0x16E3F).addRange(0x16E9B,0x16EFF).addRange(0x16F4B,0x16F4E).addRange(0x16F88,0x16F8E);set.addRange(0x16FA0,0x16FDF).addRange(0x16FE5,0x16FEF).addRange(0x16FF2,0x16FFF).addRange(0x187F8,0x187FF).addRange(0x18CD6,0x18CFF).addRange(0x18D09,0x1AFEF).addRange(0x1B123,0x1B131).addRange(0x1B133,0x1B14F).addRange(0x1B153,0x1B154).addRange(0x1B156,0x1B163).addRange(0x1B168,0x1B16F).addRange(0x1B2FC,0x1BBFF).addRange(0x1BC6B,0x1BC6F).addRange(0x1BC7D,0x1BC7F).addRange(0x1BC89,0x1BC8F).addRange(0x1BC9A,0x1BC9B).addRange(0x1BCA0,0x1CEFF).addRange(0x1CF2E,0x1CF2F).addRange(0x1CF47,0x1CF4F).addRange(0x1CFC4,0x1CFFF).addRange(0x1D0F6,0x1D0FF).addRange(0x1D127,0x1D128).addRange(0x1D173,0x1D17A).addRange(0x1D1EB,0x1D1FF).addRange(0x1D246,0x1D2BF).addRange(0x1D2D4,0x1D2DF).addRange(0x1D2F4,0x1D2FF).addRange(0x1D357,0x1D35F).addRange(0x1D379,0x1D3FF).addRange(0x1D4A0,0x1D4A1).addRange(0x1D4A3,0x1D4A4).addRange(0x1D4A7,0x1D4A8).addRange(0x1D50B,0x1D50C).addRange(0x1D547,0x1D549).addRange(0x1D6A6,0x1D6A7).addRange(0x1D7CC,0x1D7CD).addRange(0x1DA8C,0x1DA9A).addRange(0x1DAB0,0x1DEFF).addRange(0x1DF1F,0x1DF24).addRange(0x1DF2B,0x1DFFF).addRange(0x1E019,0x1E01A).addRange(0x1E02B,0x1E02F).addRange(0x1E06E,0x1E08E).addRange(0x1E090,0x1E0FF).addRange(0x1E12D,0x1E12F).addRange(0x1E13E,0x1E13F).addRange(0x1E14A,0x1E14D).addRange(0x1E150,0x1E28F).addRange(0x1E2AF,0x1E2BF).addRange(0x1E2FA,0x1E2FE).addRange(0x1E300,0x1E4CF);set.addRange(0x1E4FA,0x1E7DF).addRange(0x1E8C5,0x1E8C6).addRange(0x1E8D7,0x1E8FF).addRange(0x1E94C,0x1E94F).addRange(0x1E95A,0x1E95D).addRange(0x1E960,0x1EC70).addRange(0x1ECB5,0x1ED00).addRange(0x1ED3E,0x1EDFF).addRange(0x1EE25,0x1EE26).addRange(0x1EE3C,0x1EE41).addRange(0x1EE43,0x1EE46).addRange(0x1EE55,0x1EE56).addRange(0x1EE65,0x1EE66).addRange(0x1EE9C,0x1EEA0).addRange(0x1EEBC,0x1EEEF).addRange(0x1EEF2,0x1EFFF).addRange(0x1F02C,0x1F02F).addRange(0x1F094,0x1F09F).addRange(0x1F0AF,0x1F0B0).addRange(0x1F0F6,0x1F0FF).addRange(0x1F1AE,0x1F1E5).addRange(0x1F203,0x1F20F).addRange(0x1F23C,0x1F23F).addRange(0x1F249,0x1F24F).addRange(0x1F252,0x1F25F).addRange(0x1F266,0x1F2FF).addRange(0x1F6D8,0x1F6DB).addRange(0x1F6ED,0x1F6EF).addRange(0x1F6FD,0x1F6FF).addRange(0x1F777,0x1F77A).addRange(0x1F7DA,0x1F7DF).addRange(0x1F7EC,0x1F7EF).addRange(0x1F7F1,0x1F7FF).addRange(0x1F80C,0x1F80F).addRange(0x1F848,0x1F84F).addRange(0x1F85A,0x1F85F).addRange(0x1F888,0x1F88F).addRange(0x1F8AE,0x1F8AF).addRange(0x1F8B2,0x1F8FF).addRange(0x1FA54,0x1FA5F).addRange(0x1FA6E,0x1FA6F).addRange(0x1FA7D,0x1FA7F).addRange(0x1FA89,0x1FA8F).addRange(0x1FAC6,0x1FACD).addRange(0x1FADC,0x1FADF).addRange(0x1FAE9,0x1FAEF).addRange(0x1FAF9,0x1FAFF).addRange(0x1FBCB,0x1FBEF).addRange(0x1FBFA,0x1FFFF).addRange(0x2A6E0,0x2A6FF).addRange(0x2B73A,0x2B73F);set.addRange(0x2B81E,0x2B81F).addRange(0x2CEA2,0x2CEAF).addRange(0x2EBE1,0x2EBEF).addRange(0x2EE5E,0x2F7FF).addRange(0x2FA1E,0x2FFFF).addRange(0x3134B,0x3134F).addRange(0x323B0,0xE00FF).addRange(0xE01F0,0x10FFFF);Other.characters=set;return Other;}var Paragraph_Separator={};var hasRequiredParagraph_Separator;function requireParagraph_Separator(){if(hasRequiredParagraph_Separator)return Paragraph_Separator;hasRequiredParagraph_Separator=1;var set=regenerateExports(0x2029);Paragraph_Separator.characters=set;return Paragraph_Separator;}var Private_Use={};var hasRequiredPrivate_Use;function requirePrivate_Use(){if(hasRequiredPrivate_Use)return Private_Use;hasRequiredPrivate_Use=1;var set=regenerateExports();set.addRange(0xE000,0xF8FF).addRange(0xF0000,0xFFFFD).addRange(0x100000,0x10FFFD);Private_Use.characters=set;return Private_Use;}var Punctuation={};var hasRequiredPunctuation;function requirePunctuation(){if(hasRequiredPunctuation)return Punctuation;hasRequiredPunctuation=1;var set=regenerateExports(0x5F,0x7B,0x7D,0xA1,0xA7,0xAB,0xBB,0xBF,0x37E,0x387,0x5BE,0x5C0,0x5C3,0x5C6,0x61B,0x6D4,0x85E,0x970,0x9FD,0xA76,0xAF0,0xC77,0xC84,0xDF4,0xE4F,0xF14,0xF85,0x10FB,0x1400,0x166E,0x1CD3,0x2D70,0x3030,0x303D,0x30A0,0x30FB,0xA673,0xA67E,0xA8FC,0xA95F,0xABEB,0xFE63,0xFE68,0xFF3F,0xFF5B,0xFF5D,0x1039F,0x103D0,0x1056F,0x10857,0x1091F,0x1093F,0x10A7F,0x10EAD,0x111CD,0x111DB,0x112A9,0x1145D,0x114C6,0x116B9,0x1183B,0x119E2,0x11FFF,0x16AF5,0x16B44,0x16FE2,0x1BC9F);set.addRange(0x21,0x23).addRange(0x25,0x2A).addRange(0x2C,0x2F).addRange(0x3A,0x3B).addRange(0x3F,0x40).addRange(0x5B,0x5D).addRange(0xB6,0xB7).addRange(0x55A,0x55F).addRange(0x589,0x58A).addRange(0x5F3,0x5F4).addRange(0x609,0x60A).addRange(0x60C,0x60D).addRange(0x61D,0x61F).addRange(0x66A,0x66D).addRange(0x700,0x70D).addRange(0x7F7,0x7F9).addRange(0x830,0x83E).addRange(0x964,0x965).addRange(0xE5A,0xE5B).addRange(0xF04,0xF12).addRange(0xF3A,0xF3D).addRange(0xFD0,0xFD4).addRange(0xFD9,0xFDA).addRange(0x104A,0x104F).addRange(0x1360,0x1368).addRange(0x169B,0x169C).addRange(0x16EB,0x16ED).addRange(0x1735,0x1736).addRange(0x17D4,0x17D6).addRange(0x17D8,0x17DA).addRange(0x1800,0x180A).addRange(0x1944,0x1945).addRange(0x1A1E,0x1A1F).addRange(0x1AA0,0x1AA6).addRange(0x1AA8,0x1AAD).addRange(0x1B5A,0x1B60).addRange(0x1B7D,0x1B7E).addRange(0x1BFC,0x1BFF).addRange(0x1C3B,0x1C3F).addRange(0x1C7E,0x1C7F).addRange(0x1CC0,0x1CC7).addRange(0x2010,0x2027).addRange(0x2030,0x2043).addRange(0x2045,0x2051).addRange(0x2053,0x205E).addRange(0x207D,0x207E).addRange(0x208D,0x208E).addRange(0x2308,0x230B).addRange(0x2329,0x232A).addRange(0x2768,0x2775).addRange(0x27C5,0x27C6);set.addRange(0x27E6,0x27EF).addRange(0x2983,0x2998).addRange(0x29D8,0x29DB).addRange(0x29FC,0x29FD).addRange(0x2CF9,0x2CFC).addRange(0x2CFE,0x2CFF).addRange(0x2E00,0x2E2E).addRange(0x2E30,0x2E4F).addRange(0x2E52,0x2E5D).addRange(0x3001,0x3003).addRange(0x3008,0x3011).addRange(0x3014,0x301F).addRange(0xA4FE,0xA4FF).addRange(0xA60D,0xA60F).addRange(0xA6F2,0xA6F7).addRange(0xA874,0xA877).addRange(0xA8CE,0xA8CF).addRange(0xA8F8,0xA8FA).addRange(0xA92E,0xA92F).addRange(0xA9C1,0xA9CD).addRange(0xA9DE,0xA9DF).addRange(0xAA5C,0xAA5F).addRange(0xAADE,0xAADF).addRange(0xAAF0,0xAAF1).addRange(0xFD3E,0xFD3F).addRange(0xFE10,0xFE19).addRange(0xFE30,0xFE52).addRange(0xFE54,0xFE61).addRange(0xFE6A,0xFE6B).addRange(0xFF01,0xFF03).addRange(0xFF05,0xFF0A).addRange(0xFF0C,0xFF0F).addRange(0xFF1A,0xFF1B).addRange(0xFF1F,0xFF20).addRange(0xFF3B,0xFF3D).addRange(0xFF5F,0xFF65).addRange(0x10100,0x10102).addRange(0x10A50,0x10A58).addRange(0x10AF0,0x10AF6).addRange(0x10B39,0x10B3F).addRange(0x10B99,0x10B9C).addRange(0x10F55,0x10F59).addRange(0x10F86,0x10F89).addRange(0x11047,0x1104D).addRange(0x110BB,0x110BC).addRange(0x110BE,0x110C1).addRange(0x11140,0x11143).addRange(0x11174,0x11175).addRange(0x111C5,0x111C8).addRange(0x111DD,0x111DF).addRange(0x11238,0x1123D);set.addRange(0x1144B,0x1144F).addRange(0x1145A,0x1145B).addRange(0x115C1,0x115D7).addRange(0x11641,0x11643).addRange(0x11660,0x1166C).addRange(0x1173C,0x1173E).addRange(0x11944,0x11946).addRange(0x11A3F,0x11A46).addRange(0x11A9A,0x11A9C).addRange(0x11A9E,0x11AA2).addRange(0x11B00,0x11B09).addRange(0x11C41,0x11C45).addRange(0x11C70,0x11C71).addRange(0x11EF7,0x11EF8).addRange(0x11F43,0x11F4F).addRange(0x12470,0x12474).addRange(0x12FF1,0x12FF2).addRange(0x16A6E,0x16A6F).addRange(0x16B37,0x16B3B).addRange(0x16E97,0x16E9A).addRange(0x1DA87,0x1DA8B).addRange(0x1E95E,0x1E95F);Punctuation.characters=set;return Punctuation;}var Separator={};var hasRequiredSeparator;function requireSeparator(){if(hasRequiredSeparator)return Separator;hasRequiredSeparator=1;var set=regenerateExports(0x20,0xA0,0x1680,0x202F,0x205F,0x3000);set.addRange(0x2000,0x200A).addRange(0x2028,0x2029);Separator.characters=set;return Separator;}var Space_Separator={};var hasRequiredSpace_Separator;function requireSpace_Separator(){if(hasRequiredSpace_Separator)return Space_Separator;hasRequiredSpace_Separator=1;var set=regenerateExports(0x20,0xA0,0x1680,0x202F,0x205F,0x3000);set.addRange(0x2000,0x200A);Space_Separator.characters=set;return Space_Separator;}var Spacing_Mark={};var hasRequiredSpacing_Mark;function requireSpacing_Mark(){if(hasRequiredSpacing_Mark)return Spacing_Mark;hasRequiredSpacing_Mark=1;var set=regenerateExports(0x903,0x93B,0x9D7,0xA03,0xA83,0xAC9,0xB3E,0xB40,0xB57,0xBD7,0xCBE,0xCF3,0xD57,0xF7F,0x1031,0x1038,0x108F,0x1715,0x1734,0x17B6,0x1A55,0x1A57,0x1A61,0x1B04,0x1B35,0x1B3B,0x1B82,0x1BA1,0x1BAA,0x1BE7,0x1BEE,0x1CE1,0x1CF7,0xA827,0xA983,0xAA4D,0xAA7B,0xAA7D,0xAAEB,0xAAF5,0xABEC,0x11000,0x11002,0x11082,0x1112C,0x11182,0x111CE,0x11235,0x11357,0x11445,0x114B9,0x114C1,0x115BE,0x1163E,0x116AC,0x116B6,0x11726,0x11838,0x1193D,0x11940,0x11942,0x119E4,0x11A39,0x11A97,0x11C2F,0x11C3E,0x11CA9,0x11CB1,0x11CB4,0x11D96,0x11F03,0x11F41);set.addRange(0x93E,0x940).addRange(0x949,0x94C).addRange(0x94E,0x94F).addRange(0x982,0x983).addRange(0x9BE,0x9C0).addRange(0x9C7,0x9C8).addRange(0x9CB,0x9CC).addRange(0xA3E,0xA40).addRange(0xABE,0xAC0).addRange(0xACB,0xACC).addRange(0xB02,0xB03).addRange(0xB47,0xB48).addRange(0xB4B,0xB4C).addRange(0xBBE,0xBBF).addRange(0xBC1,0xBC2).addRange(0xBC6,0xBC8).addRange(0xBCA,0xBCC).addRange(0xC01,0xC03).addRange(0xC41,0xC44).addRange(0xC82,0xC83).addRange(0xCC0,0xCC4).addRange(0xCC7,0xCC8).addRange(0xCCA,0xCCB).addRange(0xCD5,0xCD6).addRange(0xD02,0xD03).addRange(0xD3E,0xD40).addRange(0xD46,0xD48).addRange(0xD4A,0xD4C).addRange(0xD82,0xD83).addRange(0xDCF,0xDD1).addRange(0xDD8,0xDDF).addRange(0xDF2,0xDF3).addRange(0xF3E,0xF3F).addRange(0x102B,0x102C).addRange(0x103B,0x103C).addRange(0x1056,0x1057).addRange(0x1062,0x1064).addRange(0x1067,0x106D).addRange(0x1083,0x1084).addRange(0x1087,0x108C).addRange(0x109A,0x109C).addRange(0x17BE,0x17C5).addRange(0x17C7,0x17C8).addRange(0x1923,0x1926).addRange(0x1929,0x192B).addRange(0x1930,0x1931).addRange(0x1933,0x1938).addRange(0x1A19,0x1A1A).addRange(0x1A63,0x1A64).addRange(0x1A6D,0x1A72).addRange(0x1B3D,0x1B41);set.addRange(0x1B43,0x1B44).addRange(0x1BA6,0x1BA7).addRange(0x1BEA,0x1BEC).addRange(0x1BF2,0x1BF3).addRange(0x1C24,0x1C2B).addRange(0x1C34,0x1C35).addRange(0x302E,0x302F).addRange(0xA823,0xA824).addRange(0xA880,0xA881).addRange(0xA8B4,0xA8C3).addRange(0xA952,0xA953).addRange(0xA9B4,0xA9B5).addRange(0xA9BA,0xA9BB).addRange(0xA9BE,0xA9C0).addRange(0xAA2F,0xAA30).addRange(0xAA33,0xAA34).addRange(0xAAEE,0xAAEF).addRange(0xABE3,0xABE4).addRange(0xABE6,0xABE7).addRange(0xABE9,0xABEA).addRange(0x110B0,0x110B2).addRange(0x110B7,0x110B8).addRange(0x11145,0x11146).addRange(0x111B3,0x111B5).addRange(0x111BF,0x111C0).addRange(0x1122C,0x1122E).addRange(0x11232,0x11233).addRange(0x112E0,0x112E2).addRange(0x11302,0x11303).addRange(0x1133E,0x1133F).addRange(0x11341,0x11344).addRange(0x11347,0x11348).addRange(0x1134B,0x1134D).addRange(0x11362,0x11363).addRange(0x11435,0x11437).addRange(0x11440,0x11441).addRange(0x114B0,0x114B2).addRange(0x114BB,0x114BE).addRange(0x115AF,0x115B1).addRange(0x115B8,0x115BB).addRange(0x11630,0x11632).addRange(0x1163B,0x1163C).addRange(0x116AE,0x116AF).addRange(0x11720,0x11721).addRange(0x1182C,0x1182E).addRange(0x11930,0x11935).addRange(0x11937,0x11938).addRange(0x119D1,0x119D3).addRange(0x119DC,0x119DF).addRange(0x11A57,0x11A58).addRange(0x11D8A,0x11D8E);set.addRange(0x11D93,0x11D94).addRange(0x11EF5,0x11EF6).addRange(0x11F34,0x11F35).addRange(0x11F3E,0x11F3F).addRange(0x16F51,0x16F87).addRange(0x16FF0,0x16FF1).addRange(0x1D165,0x1D166).addRange(0x1D16D,0x1D172);Spacing_Mark.characters=set;return Spacing_Mark;}var Surrogate={};var hasRequiredSurrogate;function requireSurrogate(){if(hasRequiredSurrogate)return Surrogate;hasRequiredSurrogate=1;var set=regenerateExports();set.addRange(0xD800,0xDFFF);Surrogate.characters=set;return Surrogate;}var _Symbol={};var hasRequired_Symbol;function require_Symbol(){if(hasRequired_Symbol)return _Symbol;hasRequired_Symbol=1;var set=regenerateExports(0x24,0x2B,0x5E,0x60,0x7C,0x7E,0xAC,0xB4,0xB8,0xD7,0xF7,0x2ED,0x375,0x3F6,0x482,0x60B,0x6DE,0x6E9,0x7F6,0x888,0xAF1,0xB70,0xC7F,0xD4F,0xD79,0xE3F,0xF13,0xF34,0xF36,0xF38,0x166D,0x17DB,0x1940,0x1FBD,0x2044,0x2052,0x2114,0x2125,0x2127,0x2129,0x212E,0x214F,0x3004,0x3020,0x31EF,0x3250,0xAB5B,0xFB29,0xFDCF,0xFE62,0xFE69,0xFF04,0xFF0B,0xFF3E,0xFF40,0xFF5C,0xFF5E,0x101A0,0x10AC8,0x1173F,0x16B45,0x1BC9C,0x1D245,0x1D6C1,0x1D6DB,0x1D6FB,0x1D715,0x1D735,0x1D74F,0x1D76F,0x1D789,0x1D7A9,0x1D7C3,0x1E14F,0x1E2FF,0x1ECAC,0x1ECB0,0x1ED2E,0x1F7F0);set.addRange(0x3C,0x3E).addRange(0xA2,0xA6).addRange(0xA8,0xA9).addRange(0xAE,0xB1).addRange(0x2C2,0x2C5).addRange(0x2D2,0x2DF).addRange(0x2E5,0x2EB).addRange(0x2EF,0x2FF).addRange(0x384,0x385).addRange(0x58D,0x58F).addRange(0x606,0x608).addRange(0x60E,0x60F).addRange(0x6FD,0x6FE).addRange(0x7FE,0x7FF).addRange(0x9F2,0x9F3).addRange(0x9FA,0x9FB).addRange(0xBF3,0xBFA).addRange(0xF01,0xF03).addRange(0xF15,0xF17).addRange(0xF1A,0xF1F).addRange(0xFBE,0xFC5).addRange(0xFC7,0xFCC).addRange(0xFCE,0xFCF).addRange(0xFD5,0xFD8).addRange(0x109E,0x109F).addRange(0x1390,0x1399).addRange(0x19DE,0x19FF).addRange(0x1B61,0x1B6A).addRange(0x1B74,0x1B7C).addRange(0x1FBF,0x1FC1).addRange(0x1FCD,0x1FCF).addRange(0x1FDD,0x1FDF).addRange(0x1FED,0x1FEF).addRange(0x1FFD,0x1FFE).addRange(0x207A,0x207C).addRange(0x208A,0x208C).addRange(0x20A0,0x20C0).addRange(0x2100,0x2101).addRange(0x2103,0x2106).addRange(0x2108,0x2109).addRange(0x2116,0x2118).addRange(0x211E,0x2123).addRange(0x213A,0x213B).addRange(0x2140,0x2144).addRange(0x214A,0x214D).addRange(0x218A,0x218B).addRange(0x2190,0x2307).addRange(0x230C,0x2328).addRange(0x232B,0x2426).addRange(0x2440,0x244A).addRange(0x249C,0x24E9);set.addRange(0x2500,0x2767).addRange(0x2794,0x27C4).addRange(0x27C7,0x27E5).addRange(0x27F0,0x2982).addRange(0x2999,0x29D7).addRange(0x29DC,0x29FB).addRange(0x29FE,0x2B73).addRange(0x2B76,0x2B95).addRange(0x2B97,0x2BFF).addRange(0x2CE5,0x2CEA).addRange(0x2E50,0x2E51).addRange(0x2E80,0x2E99).addRange(0x2E9B,0x2EF3).addRange(0x2F00,0x2FD5).addRange(0x2FF0,0x2FFF).addRange(0x3012,0x3013).addRange(0x3036,0x3037).addRange(0x303E,0x303F).addRange(0x309B,0x309C).addRange(0x3190,0x3191).addRange(0x3196,0x319F).addRange(0x31C0,0x31E3).addRange(0x3200,0x321E).addRange(0x322A,0x3247).addRange(0x3260,0x327F).addRange(0x328A,0x32B0).addRange(0x32C0,0x33FF).addRange(0x4DC0,0x4DFF).addRange(0xA490,0xA4C6).addRange(0xA700,0xA716).addRange(0xA720,0xA721).addRange(0xA789,0xA78A).addRange(0xA828,0xA82B).addRange(0xA836,0xA839).addRange(0xAA77,0xAA79).addRange(0xAB6A,0xAB6B).addRange(0xFBB2,0xFBC2).addRange(0xFD40,0xFD4F).addRange(0xFDFC,0xFDFF).addRange(0xFE64,0xFE66).addRange(0xFF1C,0xFF1E).addRange(0xFFE0,0xFFE6).addRange(0xFFE8,0xFFEE).addRange(0xFFFC,0xFFFD).addRange(0x10137,0x1013F).addRange(0x10179,0x10189).addRange(0x1018C,0x1018E).addRange(0x10190,0x1019C).addRange(0x101D0,0x101FC).addRange(0x10877,0x10878).addRange(0x11FD5,0x11FF1);set.addRange(0x16B3C,0x16B3F).addRange(0x1CF50,0x1CFC3).addRange(0x1D000,0x1D0F5).addRange(0x1D100,0x1D126).addRange(0x1D129,0x1D164).addRange(0x1D16A,0x1D16C).addRange(0x1D183,0x1D184).addRange(0x1D18C,0x1D1A9).addRange(0x1D1AE,0x1D1EA).addRange(0x1D200,0x1D241).addRange(0x1D300,0x1D356).addRange(0x1D800,0x1D9FF).addRange(0x1DA37,0x1DA3A).addRange(0x1DA6D,0x1DA74).addRange(0x1DA76,0x1DA83).addRange(0x1DA85,0x1DA86).addRange(0x1EEF0,0x1EEF1).addRange(0x1F000,0x1F02B).addRange(0x1F030,0x1F093).addRange(0x1F0A0,0x1F0AE).addRange(0x1F0B1,0x1F0BF).addRange(0x1F0C1,0x1F0CF).addRange(0x1F0D1,0x1F0F5).addRange(0x1F10D,0x1F1AD).addRange(0x1F1E6,0x1F202).addRange(0x1F210,0x1F23B).addRange(0x1F240,0x1F248).addRange(0x1F250,0x1F251).addRange(0x1F260,0x1F265).addRange(0x1F300,0x1F6D7).addRange(0x1F6DC,0x1F6EC).addRange(0x1F6F0,0x1F6FC).addRange(0x1F700,0x1F776).addRange(0x1F77B,0x1F7D9).addRange(0x1F7E0,0x1F7EB).addRange(0x1F800,0x1F80B).addRange(0x1F810,0x1F847).addRange(0x1F850,0x1F859).addRange(0x1F860,0x1F887).addRange(0x1F890,0x1F8AD).addRange(0x1F8B0,0x1F8B1).addRange(0x1F900,0x1FA53).addRange(0x1FA60,0x1FA6D).addRange(0x1FA70,0x1FA7C).addRange(0x1FA80,0x1FA88).addRange(0x1FA90,0x1FABD).addRange(0x1FABF,0x1FAC5).addRange(0x1FACE,0x1FADB).addRange(0x1FAE0,0x1FAE8).addRange(0x1FAF0,0x1FAF8).addRange(0x1FB00,0x1FB92);set.addRange(0x1FB94,0x1FBCA);_Symbol.characters=set;return _Symbol;}var Titlecase_Letter={};var hasRequiredTitlecase_Letter;function requireTitlecase_Letter(){if(hasRequiredTitlecase_Letter)return Titlecase_Letter;hasRequiredTitlecase_Letter=1;var set=regenerateExports(0x1C5,0x1C8,0x1CB,0x1F2,0x1FBC,0x1FCC,0x1FFC);set.addRange(0x1F88,0x1F8F).addRange(0x1F98,0x1F9F).addRange(0x1FA8,0x1FAF);Titlecase_Letter.characters=set;return Titlecase_Letter;}var Unassigned={};var hasRequiredUnassigned;function requireUnassigned(){if(hasRequiredUnassigned)return Unassigned;hasRequiredUnassigned=1;var set=regenerateExports(0x38B,0x38D,0x3A2,0x530,0x590,0x70E,0x83F,0x85F,0x88F,0x984,0x9A9,0x9B1,0x9DE,0xA04,0xA29,0xA31,0xA34,0xA37,0xA3D,0xA5D,0xA84,0xA8E,0xA92,0xAA9,0xAB1,0xAB4,0xAC6,0xACA,0xB00,0xB04,0xB29,0xB31,0xB34,0xB5E,0xB84,0xB91,0xB9B,0xB9D,0xBC9,0xC0D,0xC11,0xC29,0xC45,0xC49,0xC57,0xC8D,0xC91,0xCA9,0xCB4,0xCC5,0xCC9,0xCDF,0xCF0,0xD0D,0xD11,0xD45,0xD49,0xD80,0xD84,0xDB2,0xDBC,0xDD5,0xDD7,0xE83,0xE85,0xE8B,0xEA4,0xEA6,0xEC5,0xEC7,0xECF,0xF48,0xF98,0xFBD,0xFCD,0x10C6,0x1249,0x1257,0x1259,0x1289,0x12B1,0x12BF,0x12C1,0x12D7,0x1311,0x176D,0x1771,0x191F,0x1A5F,0x1B7F,0x1F58,0x1F5A,0x1F5C,0x1F5E,0x1FB5,0x1FC5,0x1FDC,0x1FF5,0x1FFF,0x2065,0x208F,0x2B96,0x2D26,0x2DA7,0x2DAF,0x2DB7,0x2DBF,0x2DC7,0x2DCF,0x2DD7,0x2DDF,0x2E9A,0x3040,0x3130,0x318F,0x321F,0xA7D2,0xA7D4,0xA9CE,0xA9FF,0xAB27,0xAB2F,0xFB37,0xFB3D,0xFB3F,0xFB42,0xFB45,0xFE53,0xFE67,0xFE75,0xFF00,0xFFE7,0x1000C,0x10027,0x1003B,0x1003E,0x1018F,0x1039E,0x1057B,0x1058B,0x10593,0x10596,0x105A2,0x105B2,0x105BA,0x10786,0x107B1,0x10809,0x10836,0x10856,0x108F3,0x10A04,0x10A14,0x10A18,0x10E7F,0x10EAA,0x11135,0x111E0,0x11212,0x11287,0x11289,0x1128E,0x1129E,0x11304,0x11329,0x11331,0x11334,0x1133A,0x1145C,0x11914,0x11917,0x11936,0x11C09,0x11C37,0x11CA8,0x11D07,0x11D0A,0x11D3B,0x11D3E,0x11D66,0x11D69,0x11D8F,0x11D92,0x11F11,0x1246F,0x16A5F,0x16ABF,0x16B5A,0x16B62,0x1AFF4,0x1AFFC,0x1AFFF,0x1D455,0x1D49D,0x1D4AD,0x1D4BA,0x1D4BC,0x1D4C4,0x1D506,0x1D515,0x1D51D,0x1D53A,0x1D53F,0x1D545,0x1D551,0x1DAA0,0x1E007,0x1E022,0x1E025,0x1E7E7,0x1E7EC,0x1E7EF,0x1E7FF,0x1EE04,0x1EE20,0x1EE23,0x1EE28,0x1EE33,0x1EE38,0x1EE3A,0x1EE48,0x1EE4A,0x1EE4C,0x1EE50,0x1EE53,0x1EE58,0x1EE5A,0x1EE5C,0x1EE5E,0x1EE60,0x1EE63,0x1EE6B,0x1EE73,0x1EE78,0x1EE7D,0x1EE7F,0x1EE8A,0x1EEA4,0x1EEAA,0x1F0C0,0x1F0D0,0x1FABE,0x1FB93);set.addRange(0x378,0x379).addRange(0x380,0x383).addRange(0x557,0x558).addRange(0x58B,0x58C).addRange(0x5C8,0x5CF).addRange(0x5EB,0x5EE).addRange(0x5F5,0x5FF).addRange(0x74B,0x74C).addRange(0x7B2,0x7BF).addRange(0x7FB,0x7FC).addRange(0x82E,0x82F).addRange(0x85C,0x85D).addRange(0x86B,0x86F).addRange(0x892,0x897).addRange(0x98D,0x98E).addRange(0x991,0x992).addRange(0x9B3,0x9B5).addRange(0x9BA,0x9BB).addRange(0x9C5,0x9C6).addRange(0x9C9,0x9CA).addRange(0x9CF,0x9D6).addRange(0x9D8,0x9DB).addRange(0x9E4,0x9E5).addRange(0x9FF,0xA00).addRange(0xA0B,0xA0E).addRange(0xA11,0xA12).addRange(0xA3A,0xA3B).addRange(0xA43,0xA46).addRange(0xA49,0xA4A).addRange(0xA4E,0xA50).addRange(0xA52,0xA58).addRange(0xA5F,0xA65).addRange(0xA77,0xA80).addRange(0xABA,0xABB).addRange(0xACE,0xACF).addRange(0xAD1,0xADF).addRange(0xAE4,0xAE5).addRange(0xAF2,0xAF8).addRange(0xB0D,0xB0E).addRange(0xB11,0xB12).addRange(0xB3A,0xB3B).addRange(0xB45,0xB46).addRange(0xB49,0xB4A).addRange(0xB4E,0xB54).addRange(0xB58,0xB5B).addRange(0xB64,0xB65).addRange(0xB78,0xB81).addRange(0xB8B,0xB8D).addRange(0xB96,0xB98).addRange(0xBA0,0xBA2).addRange(0xBA5,0xBA7);set.addRange(0xBAB,0xBAD).addRange(0xBBA,0xBBD).addRange(0xBC3,0xBC5).addRange(0xBCE,0xBCF).addRange(0xBD1,0xBD6).addRange(0xBD8,0xBE5).addRange(0xBFB,0xBFF).addRange(0xC3A,0xC3B).addRange(0xC4E,0xC54).addRange(0xC5B,0xC5C).addRange(0xC5E,0xC5F).addRange(0xC64,0xC65).addRange(0xC70,0xC76).addRange(0xCBA,0xCBB).addRange(0xCCE,0xCD4).addRange(0xCD7,0xCDC).addRange(0xCE4,0xCE5).addRange(0xCF4,0xCFF).addRange(0xD50,0xD53).addRange(0xD64,0xD65).addRange(0xD97,0xD99).addRange(0xDBE,0xDBF).addRange(0xDC7,0xDC9).addRange(0xDCB,0xDCE).addRange(0xDE0,0xDE5).addRange(0xDF0,0xDF1).addRange(0xDF5,0xE00).addRange(0xE3B,0xE3E).addRange(0xE5C,0xE80).addRange(0xEBE,0xEBF).addRange(0xEDA,0xEDB).addRange(0xEE0,0xEFF).addRange(0xF6D,0xF70).addRange(0xFDB,0xFFF).addRange(0x10C8,0x10CC).addRange(0x10CE,0x10CF).addRange(0x124E,0x124F).addRange(0x125E,0x125F).addRange(0x128E,0x128F).addRange(0x12B6,0x12B7).addRange(0x12C6,0x12C7).addRange(0x1316,0x1317).addRange(0x135B,0x135C).addRange(0x137D,0x137F).addRange(0x139A,0x139F).addRange(0x13F6,0x13F7).addRange(0x13FE,0x13FF).addRange(0x169D,0x169F).addRange(0x16F9,0x16FF).addRange(0x1716,0x171E).addRange(0x1737,0x173F);set.addRange(0x1754,0x175F).addRange(0x1774,0x177F).addRange(0x17DE,0x17DF).addRange(0x17EA,0x17EF).addRange(0x17FA,0x17FF).addRange(0x181A,0x181F).addRange(0x1879,0x187F).addRange(0x18AB,0x18AF).addRange(0x18F6,0x18FF).addRange(0x192C,0x192F).addRange(0x193C,0x193F).addRange(0x1941,0x1943).addRange(0x196E,0x196F).addRange(0x1975,0x197F).addRange(0x19AC,0x19AF).addRange(0x19CA,0x19CF).addRange(0x19DB,0x19DD).addRange(0x1A1C,0x1A1D).addRange(0x1A7D,0x1A7E).addRange(0x1A8A,0x1A8F).addRange(0x1A9A,0x1A9F).addRange(0x1AAE,0x1AAF).addRange(0x1ACF,0x1AFF).addRange(0x1B4D,0x1B4F).addRange(0x1BF4,0x1BFB).addRange(0x1C38,0x1C3A).addRange(0x1C4A,0x1C4C).addRange(0x1C89,0x1C8F).addRange(0x1CBB,0x1CBC).addRange(0x1CC8,0x1CCF).addRange(0x1CFB,0x1CFF).addRange(0x1F16,0x1F17).addRange(0x1F1E,0x1F1F).addRange(0x1F46,0x1F47).addRange(0x1F4E,0x1F4F).addRange(0x1F7E,0x1F7F).addRange(0x1FD4,0x1FD5).addRange(0x1FF0,0x1FF1).addRange(0x2072,0x2073).addRange(0x209D,0x209F).addRange(0x20C1,0x20CF).addRange(0x20F1,0x20FF).addRange(0x218C,0x218F).addRange(0x2427,0x243F).addRange(0x244B,0x245F).addRange(0x2B74,0x2B75).addRange(0x2CF4,0x2CF8).addRange(0x2D28,0x2D2C).addRange(0x2D2E,0x2D2F).addRange(0x2D68,0x2D6E).addRange(0x2D71,0x2D7E);set.addRange(0x2D97,0x2D9F).addRange(0x2E5E,0x2E7F).addRange(0x2EF4,0x2EFF).addRange(0x2FD6,0x2FEF).addRange(0x3097,0x3098).addRange(0x3100,0x3104).addRange(0x31E4,0x31EE).addRange(0xA48D,0xA48F).addRange(0xA4C7,0xA4CF).addRange(0xA62C,0xA63F).addRange(0xA6F8,0xA6FF).addRange(0xA7CB,0xA7CF).addRange(0xA7DA,0xA7F1).addRange(0xA82D,0xA82F).addRange(0xA83A,0xA83F).addRange(0xA878,0xA87F).addRange(0xA8C6,0xA8CD).addRange(0xA8DA,0xA8DF).addRange(0xA954,0xA95E).addRange(0xA97D,0xA97F).addRange(0xA9DA,0xA9DD).addRange(0xAA37,0xAA3F).addRange(0xAA4E,0xAA4F).addRange(0xAA5A,0xAA5B).addRange(0xAAC3,0xAADA).addRange(0xAAF7,0xAB00).addRange(0xAB07,0xAB08).addRange(0xAB0F,0xAB10).addRange(0xAB17,0xAB1F).addRange(0xAB6C,0xAB6F).addRange(0xABEE,0xABEF).addRange(0xABFA,0xABFF).addRange(0xD7A4,0xD7AF).addRange(0xD7C7,0xD7CA).addRange(0xD7FC,0xD7FF).addRange(0xFA6E,0xFA6F).addRange(0xFADA,0xFAFF).addRange(0xFB07,0xFB12).addRange(0xFB18,0xFB1C).addRange(0xFBC3,0xFBD2).addRange(0xFD90,0xFD91).addRange(0xFDC8,0xFDCE).addRange(0xFDD0,0xFDEF).addRange(0xFE1A,0xFE1F).addRange(0xFE6C,0xFE6F).addRange(0xFEFD,0xFEFE).addRange(0xFFBF,0xFFC1).addRange(0xFFC8,0xFFC9).addRange(0xFFD0,0xFFD1).addRange(0xFFD8,0xFFD9).addRange(0xFFDD,0xFFDF);set.addRange(0xFFEF,0xFFF8).addRange(0xFFFE,0xFFFF).addRange(0x1004E,0x1004F).addRange(0x1005E,0x1007F).addRange(0x100FB,0x100FF).addRange(0x10103,0x10106).addRange(0x10134,0x10136).addRange(0x1019D,0x1019F).addRange(0x101A1,0x101CF).addRange(0x101FE,0x1027F).addRange(0x1029D,0x1029F).addRange(0x102D1,0x102DF).addRange(0x102FC,0x102FF).addRange(0x10324,0x1032C).addRange(0x1034B,0x1034F).addRange(0x1037B,0x1037F).addRange(0x103C4,0x103C7).addRange(0x103D6,0x103FF).addRange(0x1049E,0x1049F).addRange(0x104AA,0x104AF).addRange(0x104D4,0x104D7).addRange(0x104FC,0x104FF).addRange(0x10528,0x1052F).addRange(0x10564,0x1056E).addRange(0x105BD,0x105FF).addRange(0x10737,0x1073F).addRange(0x10756,0x1075F).addRange(0x10768,0x1077F).addRange(0x107BB,0x107FF).addRange(0x10806,0x10807).addRange(0x10839,0x1083B).addRange(0x1083D,0x1083E).addRange(0x1089F,0x108A6).addRange(0x108B0,0x108DF).addRange(0x108F6,0x108FA).addRange(0x1091C,0x1091E).addRange(0x1093A,0x1093E).addRange(0x10940,0x1097F).addRange(0x109B8,0x109BB).addRange(0x109D0,0x109D1).addRange(0x10A07,0x10A0B).addRange(0x10A36,0x10A37).addRange(0x10A3B,0x10A3E).addRange(0x10A49,0x10A4F).addRange(0x10A59,0x10A5F).addRange(0x10AA0,0x10ABF).addRange(0x10AE7,0x10AEA).addRange(0x10AF7,0x10AFF).addRange(0x10B36,0x10B38).addRange(0x10B56,0x10B57).addRange(0x10B73,0x10B77);set.addRange(0x10B92,0x10B98).addRange(0x10B9D,0x10BA8).addRange(0x10BB0,0x10BFF).addRange(0x10C49,0x10C7F).addRange(0x10CB3,0x10CBF).addRange(0x10CF3,0x10CF9).addRange(0x10D28,0x10D2F).addRange(0x10D3A,0x10E5F).addRange(0x10EAE,0x10EAF).addRange(0x10EB2,0x10EFC).addRange(0x10F28,0x10F2F).addRange(0x10F5A,0x10F6F).addRange(0x10F8A,0x10FAF).addRange(0x10FCC,0x10FDF).addRange(0x10FF7,0x10FFF).addRange(0x1104E,0x11051).addRange(0x11076,0x1107E).addRange(0x110C3,0x110CC).addRange(0x110CE,0x110CF).addRange(0x110E9,0x110EF).addRange(0x110FA,0x110FF).addRange(0x11148,0x1114F).addRange(0x11177,0x1117F).addRange(0x111F5,0x111FF).addRange(0x11242,0x1127F).addRange(0x112AA,0x112AF).addRange(0x112EB,0x112EF).addRange(0x112FA,0x112FF).addRange(0x1130D,0x1130E).addRange(0x11311,0x11312).addRange(0x11345,0x11346).addRange(0x11349,0x1134A).addRange(0x1134E,0x1134F).addRange(0x11351,0x11356).addRange(0x11358,0x1135C).addRange(0x11364,0x11365).addRange(0x1136D,0x1136F).addRange(0x11375,0x113FF).addRange(0x11462,0x1147F).addRange(0x114C8,0x114CF).addRange(0x114DA,0x1157F).addRange(0x115B6,0x115B7).addRange(0x115DE,0x115FF).addRange(0x11645,0x1164F).addRange(0x1165A,0x1165F).addRange(0x1166D,0x1167F).addRange(0x116BA,0x116BF).addRange(0x116CA,0x116FF).addRange(0x1171B,0x1171C).addRange(0x1172C,0x1172F).addRange(0x11747,0x117FF);set.addRange(0x1183C,0x1189F).addRange(0x118F3,0x118FE).addRange(0x11907,0x11908).addRange(0x1190A,0x1190B).addRange(0x11939,0x1193A).addRange(0x11947,0x1194F).addRange(0x1195A,0x1199F).addRange(0x119A8,0x119A9).addRange(0x119D8,0x119D9).addRange(0x119E5,0x119FF).addRange(0x11A48,0x11A4F).addRange(0x11AA3,0x11AAF).addRange(0x11AF9,0x11AFF).addRange(0x11B0A,0x11BFF).addRange(0x11C46,0x11C4F).addRange(0x11C6D,0x11C6F).addRange(0x11C90,0x11C91).addRange(0x11CB7,0x11CFF).addRange(0x11D37,0x11D39).addRange(0x11D48,0x11D4F).addRange(0x11D5A,0x11D5F).addRange(0x11D99,0x11D9F).addRange(0x11DAA,0x11EDF).addRange(0x11EF9,0x11EFF).addRange(0x11F3B,0x11F3D).addRange(0x11F5A,0x11FAF).addRange(0x11FB1,0x11FBF).addRange(0x11FF2,0x11FFE).addRange(0x1239A,0x123FF).addRange(0x12475,0x1247F).addRange(0x12544,0x12F8F).addRange(0x12FF3,0x12FFF).addRange(0x13456,0x143FF).addRange(0x14647,0x167FF).addRange(0x16A39,0x16A3F).addRange(0x16A6A,0x16A6D).addRange(0x16ACA,0x16ACF).addRange(0x16AEE,0x16AEF).addRange(0x16AF6,0x16AFF).addRange(0x16B46,0x16B4F).addRange(0x16B78,0x16B7C).addRange(0x16B90,0x16E3F).addRange(0x16E9B,0x16EFF).addRange(0x16F4B,0x16F4E).addRange(0x16F88,0x16F8E).addRange(0x16FA0,0x16FDF).addRange(0x16FE5,0x16FEF).addRange(0x16FF2,0x16FFF).addRange(0x187F8,0x187FF).addRange(0x18CD6,0x18CFF).addRange(0x18D09,0x1AFEF);set.addRange(0x1B123,0x1B131).addRange(0x1B133,0x1B14F).addRange(0x1B153,0x1B154).addRange(0x1B156,0x1B163).addRange(0x1B168,0x1B16F).addRange(0x1B2FC,0x1BBFF).addRange(0x1BC6B,0x1BC6F).addRange(0x1BC7D,0x1BC7F).addRange(0x1BC89,0x1BC8F).addRange(0x1BC9A,0x1BC9B).addRange(0x1BCA4,0x1CEFF).addRange(0x1CF2E,0x1CF2F).addRange(0x1CF47,0x1CF4F).addRange(0x1CFC4,0x1CFFF).addRange(0x1D0F6,0x1D0FF).addRange(0x1D127,0x1D128).addRange(0x1D1EB,0x1D1FF).addRange(0x1D246,0x1D2BF).addRange(0x1D2D4,0x1D2DF).addRange(0x1D2F4,0x1D2FF).addRange(0x1D357,0x1D35F).addRange(0x1D379,0x1D3FF).addRange(0x1D4A0,0x1D4A1).addRange(0x1D4A3,0x1D4A4).addRange(0x1D4A7,0x1D4A8).addRange(0x1D50B,0x1D50C).addRange(0x1D547,0x1D549).addRange(0x1D6A6,0x1D6A7).addRange(0x1D7CC,0x1D7CD).addRange(0x1DA8C,0x1DA9A).addRange(0x1DAB0,0x1DEFF).addRange(0x1DF1F,0x1DF24).addRange(0x1DF2B,0x1DFFF).addRange(0x1E019,0x1E01A).addRange(0x1E02B,0x1E02F).addRange(0x1E06E,0x1E08E).addRange(0x1E090,0x1E0FF).addRange(0x1E12D,0x1E12F).addRange(0x1E13E,0x1E13F).addRange(0x1E14A,0x1E14D).addRange(0x1E150,0x1E28F).addRange(0x1E2AF,0x1E2BF).addRange(0x1E2FA,0x1E2FE).addRange(0x1E300,0x1E4CF).addRange(0x1E4FA,0x1E7DF).addRange(0x1E8C5,0x1E8C6).addRange(0x1E8D7,0x1E8FF).addRange(0x1E94C,0x1E94F).addRange(0x1E95A,0x1E95D).addRange(0x1E960,0x1EC70).addRange(0x1ECB5,0x1ED00);set.addRange(0x1ED3E,0x1EDFF).addRange(0x1EE25,0x1EE26).addRange(0x1EE3C,0x1EE41).addRange(0x1EE43,0x1EE46).addRange(0x1EE55,0x1EE56).addRange(0x1EE65,0x1EE66).addRange(0x1EE9C,0x1EEA0).addRange(0x1EEBC,0x1EEEF).addRange(0x1EEF2,0x1EFFF).addRange(0x1F02C,0x1F02F).addRange(0x1F094,0x1F09F).addRange(0x1F0AF,0x1F0B0).addRange(0x1F0F6,0x1F0FF).addRange(0x1F1AE,0x1F1E5).addRange(0x1F203,0x1F20F).addRange(0x1F23C,0x1F23F).addRange(0x1F249,0x1F24F).addRange(0x1F252,0x1F25F).addRange(0x1F266,0x1F2FF).addRange(0x1F6D8,0x1F6DB).addRange(0x1F6ED,0x1F6EF).addRange(0x1F6FD,0x1F6FF).addRange(0x1F777,0x1F77A).addRange(0x1F7DA,0x1F7DF).addRange(0x1F7EC,0x1F7EF).addRange(0x1F7F1,0x1F7FF).addRange(0x1F80C,0x1F80F).addRange(0x1F848,0x1F84F).addRange(0x1F85A,0x1F85F).addRange(0x1F888,0x1F88F).addRange(0x1F8AE,0x1F8AF).addRange(0x1F8B2,0x1F8FF).addRange(0x1FA54,0x1FA5F).addRange(0x1FA6E,0x1FA6F).addRange(0x1FA7D,0x1FA7F).addRange(0x1FA89,0x1FA8F).addRange(0x1FAC6,0x1FACD).addRange(0x1FADC,0x1FADF).addRange(0x1FAE9,0x1FAEF).addRange(0x1FAF9,0x1FAFF).addRange(0x1FBCB,0x1FBEF).addRange(0x1FBFA,0x1FFFF).addRange(0x2A6E0,0x2A6FF).addRange(0x2B73A,0x2B73F).addRange(0x2B81E,0x2B81F).addRange(0x2CEA2,0x2CEAF).addRange(0x2EBE1,0x2EBEF).addRange(0x2EE5E,0x2F7FF).addRange(0x2FA1E,0x2FFFF).addRange(0x3134B,0x3134F).addRange(0x323B0,0xE0000);set.addRange(0xE0002,0xE001F).addRange(0xE0080,0xE00FF).addRange(0xE01F0,0xEFFFF).addRange(0xFFFFE,0xFFFFF).addRange(0x10FFFE,0x10FFFF);Unassigned.characters=set;return Unassigned;}var Uppercase_Letter={};var hasRequiredUppercase_Letter;function requireUppercase_Letter(){if(hasRequiredUppercase_Letter)return Uppercase_Letter;hasRequiredUppercase_Letter=1;var set=regenerateExports(0x100,0x102,0x104,0x106,0x108,0x10A,0x10C,0x10E,0x110,0x112,0x114,0x116,0x118,0x11A,0x11C,0x11E,0x120,0x122,0x124,0x126,0x128,0x12A,0x12C,0x12E,0x130,0x132,0x134,0x136,0x139,0x13B,0x13D,0x13F,0x141,0x143,0x145,0x147,0x14A,0x14C,0x14E,0x150,0x152,0x154,0x156,0x158,0x15A,0x15C,0x15E,0x160,0x162,0x164,0x166,0x168,0x16A,0x16C,0x16E,0x170,0x172,0x174,0x176,0x17B,0x17D,0x184,0x1A2,0x1A4,0x1A9,0x1AC,0x1B5,0x1BC,0x1C4,0x1C7,0x1CA,0x1CD,0x1CF,0x1D1,0x1D3,0x1D5,0x1D7,0x1D9,0x1DB,0x1DE,0x1E0,0x1E2,0x1E4,0x1E6,0x1E8,0x1EA,0x1EC,0x1EE,0x1F1,0x1F4,0x1FA,0x1FC,0x1FE,0x200,0x202,0x204,0x206,0x208,0x20A,0x20C,0x20E,0x210,0x212,0x214,0x216,0x218,0x21A,0x21C,0x21E,0x220,0x222,0x224,0x226,0x228,0x22A,0x22C,0x22E,0x230,0x232,0x241,0x248,0x24A,0x24C,0x24E,0x370,0x372,0x376,0x37F,0x386,0x38C,0x3CF,0x3D8,0x3DA,0x3DC,0x3DE,0x3E0,0x3E2,0x3E4,0x3E6,0x3E8,0x3EA,0x3EC,0x3EE,0x3F4,0x3F7,0x460,0x462,0x464,0x466,0x468,0x46A,0x46C,0x46E,0x470,0x472,0x474,0x476,0x478,0x47A,0x47C,0x47E,0x480,0x48A,0x48C,0x48E,0x490,0x492,0x494,0x496,0x498,0x49A,0x49C,0x49E,0x4A0,0x4A2,0x4A4,0x4A6,0x4A8,0x4AA,0x4AC,0x4AE,0x4B0,0x4B2,0x4B4,0x4B6,0x4B8,0x4BA,0x4BC,0x4BE,0x4C3,0x4C5,0x4C7,0x4C9,0x4CB,0x4CD,0x4D0,0x4D2,0x4D4,0x4D6,0x4D8,0x4DA,0x4DC,0x4DE,0x4E0,0x4E2,0x4E4,0x4E6,0x4E8,0x4EA,0x4EC,0x4EE,0x4F0,0x4F2,0x4F4,0x4F6,0x4F8,0x4FA,0x4FC,0x4FE,0x500,0x502,0x504,0x506,0x508,0x50A,0x50C,0x50E,0x510,0x512,0x514,0x516,0x518,0x51A,0x51C,0x51E,0x520,0x522,0x524,0x526,0x528,0x52A,0x52C,0x52E,0x10C7,0x10CD,0x1E00,0x1E02,0x1E04,0x1E06,0x1E08,0x1E0A,0x1E0C,0x1E0E,0x1E10,0x1E12,0x1E14,0x1E16,0x1E18,0x1E1A,0x1E1C,0x1E1E,0x1E20,0x1E22,0x1E24,0x1E26,0x1E28,0x1E2A,0x1E2C,0x1E2E,0x1E30,0x1E32,0x1E34,0x1E36,0x1E38,0x1E3A,0x1E3C,0x1E3E,0x1E40,0x1E42,0x1E44,0x1E46,0x1E48,0x1E4A,0x1E4C,0x1E4E,0x1E50,0x1E52,0x1E54,0x1E56,0x1E58,0x1E5A,0x1E5C,0x1E5E,0x1E60,0x1E62,0x1E64,0x1E66,0x1E68,0x1E6A,0x1E6C,0x1E6E,0x1E70,0x1E72,0x1E74,0x1E76,0x1E78,0x1E7A,0x1E7C,0x1E7E,0x1E80,0x1E82,0x1E84,0x1E86,0x1E88,0x1E8A,0x1E8C,0x1E8E,0x1E90,0x1E92,0x1E94,0x1E9E,0x1EA0,0x1EA2,0x1EA4,0x1EA6,0x1EA8,0x1EAA,0x1EAC,0x1EAE,0x1EB0,0x1EB2,0x1EB4,0x1EB6,0x1EB8,0x1EBA,0x1EBC,0x1EBE,0x1EC0,0x1EC2,0x1EC4,0x1EC6,0x1EC8,0x1ECA,0x1ECC,0x1ECE,0x1ED0,0x1ED2,0x1ED4,0x1ED6,0x1ED8,0x1EDA,0x1EDC,0x1EDE,0x1EE0,0x1EE2,0x1EE4,0x1EE6,0x1EE8,0x1EEA,0x1EEC,0x1EEE,0x1EF0,0x1EF2,0x1EF4,0x1EF6,0x1EF8,0x1EFA,0x1EFC,0x1EFE,0x1F59,0x1F5B,0x1F5D,0x1F5F,0x2102,0x2107,0x2115,0x2124,0x2126,0x2128,0x2145,0x2183,0x2C60,0x2C67,0x2C69,0x2C6B,0x2C72,0x2C75,0x2C82,0x2C84,0x2C86,0x2C88,0x2C8A,0x2C8C,0x2C8E,0x2C90,0x2C92,0x2C94,0x2C96,0x2C98,0x2C9A,0x2C9C,0x2C9E,0x2CA0,0x2CA2,0x2CA4,0x2CA6,0x2CA8,0x2CAA,0x2CAC,0x2CAE,0x2CB0,0x2CB2,0x2CB4,0x2CB6,0x2CB8,0x2CBA,0x2CBC,0x2CBE,0x2CC0,0x2CC2,0x2CC4,0x2CC6,0x2CC8,0x2CCA,0x2CCC,0x2CCE,0x2CD0,0x2CD2,0x2CD4,0x2CD6,0x2CD8,0x2CDA,0x2CDC,0x2CDE,0x2CE0,0x2CE2,0x2CEB,0x2CED,0x2CF2,0xA640,0xA642,0xA644,0xA646,0xA648,0xA64A,0xA64C,0xA64E,0xA650,0xA652,0xA654,0xA656,0xA658,0xA65A,0xA65C,0xA65E,0xA660,0xA662,0xA664,0xA666,0xA668,0xA66A,0xA66C,0xA680,0xA682,0xA684,0xA686,0xA688,0xA68A,0xA68C,0xA68E,0xA690,0xA692,0xA694,0xA696,0xA698,0xA69A,0xA722,0xA724,0xA726,0xA728,0xA72A,0xA72C,0xA72E,0xA732,0xA734,0xA736,0xA738,0xA73A,0xA73C,0xA73E,0xA740,0xA742,0xA744,0xA746,0xA748,0xA74A,0xA74C,0xA74E,0xA750,0xA752,0xA754,0xA756,0xA758,0xA75A,0xA75C,0xA75E,0xA760,0xA762,0xA764,0xA766,0xA768,0xA76A,0xA76C,0xA76E,0xA779,0xA77B,0xA780,0xA782,0xA784,0xA786,0xA78B,0xA78D,0xA790,0xA792,0xA796,0xA798,0xA79A,0xA79C,0xA79E,0xA7A0,0xA7A2,0xA7A4,0xA7A6,0xA7A8,0xA7B6,0xA7B8,0xA7BA,0xA7BC,0xA7BE,0xA7C0,0xA7C2,0xA7C9,0xA7D0,0xA7D6,0xA7D8,0xA7F5,0x1D49C,0x1D4A2,0x1D546,0x1D7CA);set.addRange(0x41,0x5A).addRange(0xC0,0xD6).addRange(0xD8,0xDE).addRange(0x178,0x179).addRange(0x181,0x182).addRange(0x186,0x187).addRange(0x189,0x18B).addRange(0x18E,0x191).addRange(0x193,0x194).addRange(0x196,0x198).addRange(0x19C,0x19D).addRange(0x19F,0x1A0).addRange(0x1A6,0x1A7).addRange(0x1AE,0x1AF).addRange(0x1B1,0x1B3).addRange(0x1B7,0x1B8).addRange(0x1F6,0x1F8).addRange(0x23A,0x23B).addRange(0x23D,0x23E).addRange(0x243,0x246).addRange(0x388,0x38A).addRange(0x38E,0x38F).addRange(0x391,0x3A1).addRange(0x3A3,0x3AB).addRange(0x3D2,0x3D4).addRange(0x3F9,0x3FA).addRange(0x3FD,0x42F).addRange(0x4C0,0x4C1).addRange(0x531,0x556).addRange(0x10A0,0x10C5).addRange(0x13A0,0x13F5).addRange(0x1C90,0x1CBA).addRange(0x1CBD,0x1CBF).addRange(0x1F08,0x1F0F).addRange(0x1F18,0x1F1D).addRange(0x1F28,0x1F2F).addRange(0x1F38,0x1F3F).addRange(0x1F48,0x1F4D).addRange(0x1F68,0x1F6F).addRange(0x1FB8,0x1FBB).addRange(0x1FC8,0x1FCB).addRange(0x1FD8,0x1FDB).addRange(0x1FE8,0x1FEC).addRange(0x1FF8,0x1FFB).addRange(0x210B,0x210D).addRange(0x2110,0x2112).addRange(0x2119,0x211D).addRange(0x212A,0x212D).addRange(0x2130,0x2133).addRange(0x213E,0x213F).addRange(0x2C00,0x2C2F);set.addRange(0x2C62,0x2C64).addRange(0x2C6D,0x2C70).addRange(0x2C7E,0x2C80).addRange(0xA77D,0xA77E).addRange(0xA7AA,0xA7AE).addRange(0xA7B0,0xA7B4).addRange(0xA7C4,0xA7C7).addRange(0xFF21,0xFF3A).addRange(0x10400,0x10427).addRange(0x104B0,0x104D3).addRange(0x10570,0x1057A).addRange(0x1057C,0x1058A).addRange(0x1058C,0x10592).addRange(0x10594,0x10595).addRange(0x10C80,0x10CB2).addRange(0x118A0,0x118BF).addRange(0x16E40,0x16E5F).addRange(0x1D400,0x1D419).addRange(0x1D434,0x1D44D).addRange(0x1D468,0x1D481).addRange(0x1D49E,0x1D49F).addRange(0x1D4A5,0x1D4A6).addRange(0x1D4A9,0x1D4AC).addRange(0x1D4AE,0x1D4B5).addRange(0x1D4D0,0x1D4E9).addRange(0x1D504,0x1D505).addRange(0x1D507,0x1D50A).addRange(0x1D50D,0x1D514).addRange(0x1D516,0x1D51C).addRange(0x1D538,0x1D539).addRange(0x1D53B,0x1D53E).addRange(0x1D540,0x1D544).addRange(0x1D54A,0x1D550).addRange(0x1D56C,0x1D585).addRange(0x1D5A0,0x1D5B9).addRange(0x1D5D4,0x1D5ED).addRange(0x1D608,0x1D621).addRange(0x1D63C,0x1D655).addRange(0x1D670,0x1D689).addRange(0x1D6A8,0x1D6C0).addRange(0x1D6E2,0x1D6FA).addRange(0x1D71C,0x1D734).addRange(0x1D756,0x1D76E).addRange(0x1D790,0x1D7A8).addRange(0x1E900,0x1E921);Uppercase_Letter.characters=set;return Uppercase_Letter;}var regenerateUnicodeProperties;var hasRequiredRegenerateUnicodeProperties;function requireRegenerateUnicodeProperties(){if(hasRequiredRegenerateUnicodeProperties)return regenerateUnicodeProperties;hasRequiredRegenerateUnicodeProperties=1;regenerateUnicodeProperties=new Map([['General_Category',['Cased_Letter','Close_Punctuation','Connector_Punctuation','Control','Currency_Symbol','Dash_Punctuation','Decimal_Number','Enclosing_Mark','Final_Punctuation','Format','Initial_Punctuation','Letter','Letter_Number','Line_Separator','Lowercase_Letter','Mark','Math_Symbol','Modifier_Letter','Modifier_Symbol','Nonspacing_Mark','Number','Open_Punctuation','Other','Other_Letter','Other_Number','Other_Punctuation','Other_Symbol','Paragraph_Separator','Private_Use','Punctuation','Separator','Space_Separator','Spacing_Mark','Surrogate','Symbol','Titlecase_Letter','Unassigned','Uppercase_Letter']],['Script',['Adlam','Ahom','Anatolian_Hieroglyphs','Arabic','Armenian','Avestan','Balinese','Bamum','Bassa_Vah','Batak','Bengali','Bhaiksuki','Bopomofo','Brahmi','Braille','Buginese','Buhid','Canadian_Aboriginal','Carian','Caucasian_Albanian','Chakma','Cham','Cherokee','Chorasmian','Common','Coptic','Cuneiform','Cypriot','Cypro_Minoan','Cyrillic','Deseret','Devanagari','Dives_Akuru','Dogra','Duployan','Egyptian_Hieroglyphs','Elbasan','Elymaic','Ethiopic','Georgian','Glagolitic','Gothic','Grantha','Greek','Gujarati','Gunjala_Gondi','Gurmukhi','Han','Hangul','Hanifi_Rohingya','Hanunoo','Hatran','Hebrew','Hiragana','Imperial_Aramaic','Inherited','Inscriptional_Pahlavi','Inscriptional_Parthian','Javanese','Kaithi','Kannada','Katakana','Kawi','Kayah_Li','Kharoshthi','Khitan_Small_Script','Khmer','Khojki','Khudawadi','Lao','Latin','Lepcha','Limbu','Linear_A','Linear_B','Lisu','Lycian','Lydian','Mahajani','Makasar','Malayalam','Mandaic','Manichaean','Marchen','Masaram_Gondi','Medefaidrin','Meetei_Mayek','Mende_Kikakui','Meroitic_Cursive','Meroitic_Hieroglyphs','Miao','Modi','Mongolian','Mro','Multani','Myanmar','Nabataean','Nag_Mundari','Nandinagari','New_Tai_Lue','Newa','Nko','Nushu','Nyiakeng_Puachue_Hmong','Ogham','Ol_Chiki','Old_Hungarian','Old_Italic','Old_North_Arabian','Old_Permic','Old_Persian','Old_Sogdian','Old_South_Arabian','Old_Turkic','Old_Uyghur','Oriya','Osage','Osmanya','Pahawh_Hmong','Palmyrene','Pau_Cin_Hau','Phags_Pa','Phoenician','Psalter_Pahlavi','Rejang','Runic','Samaritan','Saurashtra','Sharada','Shavian','Siddham','SignWriting','Sinhala','Sogdian','Sora_Sompeng','Soyombo','Sundanese','Syloti_Nagri','Syriac','Tagalog','Tagbanwa','Tai_Le','Tai_Tham','Tai_Viet','Takri','Tamil','Tangsa','Tangut','Telugu','Thaana','Thai','Tibetan','Tifinagh','Tirhuta','Toto','Ugaritic','Vai','Vithkuqi','Wancho','Warang_Citi','Yezidi','Yi','Zanabazar_Square']],['Script_Extensions',['Adlam','Ahom','Anatolian_Hieroglyphs','Arabic','Armenian','Avestan','Balinese','Bamum','Bassa_Vah','Batak','Bengali','Bhaiksuki','Bopomofo','Brahmi','Braille','Buginese','Buhid','Canadian_Aboriginal','Carian','Caucasian_Albanian','Chakma','Cham','Cherokee','Chorasmian','Common','Coptic','Cuneiform','Cypriot','Cypro_Minoan','Cyrillic','Deseret','Devanagari','Dives_Akuru','Dogra','Duployan','Egyptian_Hieroglyphs','Elbasan','Elymaic','Ethiopic','Georgian','Glagolitic','Gothic','Grantha','Greek','Gujarati','Gunjala_Gondi','Gurmukhi','Han','Hangul','Hanifi_Rohingya','Hanunoo','Hatran','Hebrew','Hiragana','Imperial_Aramaic','Inherited','Inscriptional_Pahlavi','Inscriptional_Parthian','Javanese','Kaithi','Kannada','Katakana','Kawi','Kayah_Li','Kharoshthi','Khitan_Small_Script','Khmer','Khojki','Khudawadi','Lao','Latin','Lepcha','Limbu','Linear_A','Linear_B','Lisu','Lycian','Lydian','Mahajani','Makasar','Malayalam','Mandaic','Manichaean','Marchen','Masaram_Gondi','Medefaidrin','Meetei_Mayek','Mende_Kikakui','Meroitic_Cursive','Meroitic_Hieroglyphs','Miao','Modi','Mongolian','Mro','Multani','Myanmar','Nabataean','Nag_Mundari','Nandinagari','New_Tai_Lue','Newa','Nko','Nushu','Nyiakeng_Puachue_Hmong','Ogham','Ol_Chiki','Old_Hungarian','Old_Italic','Old_North_Arabian','Old_Permic','Old_Persian','Old_Sogdian','Old_South_Arabian','Old_Turkic','Old_Uyghur','Oriya','Osage','Osmanya','Pahawh_Hmong','Palmyrene','Pau_Cin_Hau','Phags_Pa','Phoenician','Psalter_Pahlavi','Rejang','Runic','Samaritan','Saurashtra','Sharada','Shavian','Siddham','SignWriting','Sinhala','Sogdian','Sora_Sompeng','Soyombo','Sundanese','Syloti_Nagri','Syriac','Tagalog','Tagbanwa','Tai_Le','Tai_Tham','Tai_Viet','Takri','Tamil','Tangsa','Tangut','Telugu','Thaana','Thai','Tibetan','Tifinagh','Tirhuta','Toto','Ugaritic','Vai','Vithkuqi','Wancho','Warang_Citi','Yezidi','Yi','Zanabazar_Square']],['Binary_Property',['ASCII','ASCII_Hex_Digit','Alphabetic','Any','Assigned','Bidi_Control','Bidi_Mirrored','Case_Ignorable','Cased','Changes_When_Casefolded','Changes_When_Casemapped','Changes_When_Lowercased','Changes_When_NFKC_Casefolded','Changes_When_Titlecased','Changes_When_Uppercased','Dash','Default_Ignorable_Code_Point','Deprecated','Diacritic','Emoji','Emoji_Component','Emoji_Modifier','Emoji_Modifier_Base','Emoji_Presentation','Extended_Pictographic','Extender','Grapheme_Base','Grapheme_Extend','Hex_Digit','IDS_Binary_Operator','IDS_Trinary_Operator','ID_Continue','ID_Start','Ideographic','Join_Control','Logical_Order_Exception','Lowercase','Math','Noncharacter_Code_Point','Pattern_Syntax','Pattern_White_Space','Quotation_Mark','Radical','Regional_Indicator','Sentence_Terminal','Soft_Dotted','Terminal_Punctuation','Unified_Ideograph','Uppercase','Variation_Selector','White_Space','XID_Continue','XID_Start']],['Property_of_Strings',['Basic_Emoji','Emoji_Keycap_Sequence','RGI_Emoji','RGI_Emoji_Flag_Sequence','RGI_Emoji_Modifier_Sequence','RGI_Emoji_Tag_Sequence','RGI_Emoji_ZWJ_Sequence']]]);return regenerateUnicodeProperties;}var Basic_Emoji={};var hasRequiredBasic_Emoji;function requireBasic_Emoji(){if(hasRequiredBasic_Emoji)return Basic_Emoji;hasRequiredBasic_Emoji=1;var set=regenerateExports(0x23F0,0x23F3,0x267F,0x2693,0x26A1,0x26CE,0x26D4,0x26EA,0x26F5,0x26FA,0x26FD,0x2705,0x2728,0x274C,0x274E,0x2757,0x27B0,0x27BF,0x2B50,0x2B55,0x1F004,0x1F0CF,0x1F18E,0x1F201,0x1F21A,0x1F22F,0x1F3F4,0x1F440,0x1F57A,0x1F5A4,0x1F6CC,0x1F7F0);set.addRange(0x231A,0x231B).addRange(0x23E9,0x23EC).addRange(0x25FD,0x25FE).addRange(0x2614,0x2615).addRange(0x2648,0x2653).addRange(0x26AA,0x26AB).addRange(0x26BD,0x26BE).addRange(0x26C4,0x26C5).addRange(0x26F2,0x26F3).addRange(0x270A,0x270B).addRange(0x2753,0x2755).addRange(0x2795,0x2797).addRange(0x2B1B,0x2B1C).addRange(0x1F191,0x1F19A).addRange(0x1F232,0x1F236).addRange(0x1F238,0x1F23A).addRange(0x1F250,0x1F251).addRange(0x1F300,0x1F320).addRange(0x1F32D,0x1F335).addRange(0x1F337,0x1F37C).addRange(0x1F37E,0x1F393).addRange(0x1F3A0,0x1F3CA).addRange(0x1F3CF,0x1F3D3).addRange(0x1F3E0,0x1F3F0).addRange(0x1F3F8,0x1F43E).addRange(0x1F442,0x1F4FC).addRange(0x1F4FF,0x1F53D).addRange(0x1F54B,0x1F54E).addRange(0x1F550,0x1F567).addRange(0x1F595,0x1F596).addRange(0x1F5FB,0x1F64F).addRange(0x1F680,0x1F6C5).addRange(0x1F6D0,0x1F6D2).addRange(0x1F6D5,0x1F6D7).addRange(0x1F6DC,0x1F6DF).addRange(0x1F6EB,0x1F6EC).addRange(0x1F6F4,0x1F6FC).addRange(0x1F7E0,0x1F7EB).addRange(0x1F90C,0x1F93A).addRange(0x1F93C,0x1F945).addRange(0x1F947,0x1F9FF).addRange(0x1FA70,0x1FA7C).addRange(0x1FA80,0x1FA88).addRange(0x1FA90,0x1FABD).addRange(0x1FABF,0x1FAC5).addRange(0x1FACE,0x1FADB).addRange(0x1FAE0,0x1FAE8).addRange(0x1FAF0,0x1FAF8);Basic_Emoji.characters=set;Basic_Emoji.strings=["\xA9\uFE0F","\xAE\uFE0F","\u203C\uFE0F","\u2049\uFE0F","\u2122\uFE0F","\u2139\uFE0F","\u2194\uFE0F","\u2195\uFE0F","\u2196\uFE0F","\u2197\uFE0F","\u2198\uFE0F","\u2199\uFE0F","\u21A9\uFE0F","\u21AA\uFE0F","\u2328\uFE0F","\u23CF\uFE0F","\u23ED\uFE0F","\u23EE\uFE0F","\u23EF\uFE0F","\u23F1\uFE0F","\u23F2\uFE0F","\u23F8\uFE0F","\u23F9\uFE0F","\u23FA\uFE0F","\u24C2\uFE0F","\u25AA\uFE0F","\u25AB\uFE0F","\u25B6\uFE0F","\u25C0\uFE0F","\u25FB\uFE0F","\u25FC\uFE0F","\u2600\uFE0F","\u2601\uFE0F","\u2602\uFE0F","\u2603\uFE0F","\u2604\uFE0F","\u260E\uFE0F","\u2611\uFE0F","\u2618\uFE0F","\u261D\uFE0F","\u2620\uFE0F","\u2622\uFE0F","\u2623\uFE0F","\u2626\uFE0F","\u262A\uFE0F","\u262E\uFE0F","\u262F\uFE0F","\u2638\uFE0F","\u2639\uFE0F","\u263A\uFE0F","\u2640\uFE0F","\u2642\uFE0F","\u265F\uFE0F","\u2660\uFE0F","\u2663\uFE0F","\u2665\uFE0F","\u2666\uFE0F","\u2668\uFE0F","\u267B\uFE0F","\u267E\uFE0F","\u2692\uFE0F","\u2694\uFE0F","\u2695\uFE0F","\u2696\uFE0F","\u2697\uFE0F","\u2699\uFE0F","\u269B\uFE0F","\u269C\uFE0F","\u26A0\uFE0F","\u26A7\uFE0F","\u26B0\uFE0F","\u26B1\uFE0F","\u26C8\uFE0F","\u26CF\uFE0F","\u26D1\uFE0F","\u26D3\uFE0F","\u26E9\uFE0F","\u26F0\uFE0F","\u26F1\uFE0F","\u26F4\uFE0F","\u26F7\uFE0F","\u26F8\uFE0F","\u26F9\uFE0F","\u2702\uFE0F","\u2708\uFE0F","\u2709\uFE0F","\u270C\uFE0F","\u270D\uFE0F","\u270F\uFE0F","\u2712\uFE0F","\u2714\uFE0F","\u2716\uFE0F","\u271D\uFE0F","\u2721\uFE0F","\u2733\uFE0F","\u2734\uFE0F","\u2744\uFE0F","\u2747\uFE0F","\u2763\uFE0F","\u2764\uFE0F","\u27A1\uFE0F","\u2934\uFE0F","\u2935\uFE0F","\u2B05\uFE0F","\u2B06\uFE0F","\u2B07\uFE0F","\u3030\uFE0F","\u303D\uFE0F","\u3297\uFE0F","\u3299\uFE0F","\uD83C\uDD70\uFE0F","\uD83C\uDD71\uFE0F","\uD83C\uDD7E\uFE0F","\uD83C\uDD7F\uFE0F","\uD83C\uDE02\uFE0F","\uD83C\uDE37\uFE0F","\uD83C\uDF21\uFE0F","\uD83C\uDF24\uFE0F","\uD83C\uDF25\uFE0F","\uD83C\uDF26\uFE0F","\uD83C\uDF27\uFE0F","\uD83C\uDF28\uFE0F","\uD83C\uDF29\uFE0F","\uD83C\uDF2A\uFE0F","\uD83C\uDF2B\uFE0F","\uD83C\uDF2C\uFE0F","\uD83C\uDF36\uFE0F","\uD83C\uDF7D\uFE0F","\uD83C\uDF96\uFE0F","\uD83C\uDF97\uFE0F","\uD83C\uDF99\uFE0F","\uD83C\uDF9A\uFE0F","\uD83C\uDF9B\uFE0F","\uD83C\uDF9E\uFE0F","\uD83C\uDF9F\uFE0F","\uD83C\uDFCB\uFE0F","\uD83C\uDFCC\uFE0F","\uD83C\uDFCD\uFE0F","\uD83C\uDFCE\uFE0F","\uD83C\uDFD4\uFE0F","\uD83C\uDFD5\uFE0F","\uD83C\uDFD6\uFE0F","\uD83C\uDFD7\uFE0F","\uD83C\uDFD8\uFE0F","\uD83C\uDFD9\uFE0F","\uD83C\uDFDA\uFE0F","\uD83C\uDFDB\uFE0F","\uD83C\uDFDC\uFE0F","\uD83C\uDFDD\uFE0F","\uD83C\uDFDE\uFE0F","\uD83C\uDFDF\uFE0F","\uD83C\uDFF3\uFE0F","\uD83C\uDFF5\uFE0F","\uD83C\uDFF7\uFE0F","\uD83D\uDC3F\uFE0F","\uD83D\uDC41\uFE0F","\uD83D\uDCFD\uFE0F","\uD83D\uDD49\uFE0F","\uD83D\uDD4A\uFE0F","\uD83D\uDD6F\uFE0F","\uD83D\uDD70\uFE0F","\uD83D\uDD73\uFE0F","\uD83D\uDD74\uFE0F","\uD83D\uDD75\uFE0F","\uD83D\uDD76\uFE0F","\uD83D\uDD77\uFE0F","\uD83D\uDD78\uFE0F","\uD83D\uDD79\uFE0F","\uD83D\uDD87\uFE0F","\uD83D\uDD8A\uFE0F","\uD83D\uDD8B\uFE0F","\uD83D\uDD8C\uFE0F","\uD83D\uDD8D\uFE0F","\uD83D\uDD90\uFE0F","\uD83D\uDDA5\uFE0F","\uD83D\uDDA8\uFE0F","\uD83D\uDDB1\uFE0F","\uD83D\uDDB2\uFE0F","\uD83D\uDDBC\uFE0F","\uD83D\uDDC2\uFE0F","\uD83D\uDDC3\uFE0F","\uD83D\uDDC4\uFE0F","\uD83D\uDDD1\uFE0F","\uD83D\uDDD2\uFE0F","\uD83D\uDDD3\uFE0F","\uD83D\uDDDC\uFE0F","\uD83D\uDDDD\uFE0F","\uD83D\uDDDE\uFE0F","\uD83D\uDDE1\uFE0F","\uD83D\uDDE3\uFE0F","\uD83D\uDDE8\uFE0F","\uD83D\uDDEF\uFE0F","\uD83D\uDDF3\uFE0F","\uD83D\uDDFA\uFE0F","\uD83D\uDECB\uFE0F","\uD83D\uDECD\uFE0F","\uD83D\uDECE\uFE0F","\uD83D\uDECF\uFE0F","\uD83D\uDEE0\uFE0F","\uD83D\uDEE1\uFE0F","\uD83D\uDEE2\uFE0F","\uD83D\uDEE3\uFE0F","\uD83D\uDEE4\uFE0F","\uD83D\uDEE5\uFE0F","\uD83D\uDEE9\uFE0F","\uD83D\uDEF0\uFE0F","\uD83D\uDEF3\uFE0F"];return Basic_Emoji;}var Emoji_Keycap_Sequence={};var hasRequiredEmoji_Keycap_Sequence;function requireEmoji_Keycap_Sequence(){if(hasRequiredEmoji_Keycap_Sequence)return Emoji_Keycap_Sequence;hasRequiredEmoji_Keycap_Sequence=1;var set=regenerateExports();Emoji_Keycap_Sequence.characters=set;Emoji_Keycap_Sequence.strings=["#\uFE0F\u20E3","*\uFE0F\u20E3","0\uFE0F\u20E3","1\uFE0F\u20E3","2\uFE0F\u20E3","3\uFE0F\u20E3","4\uFE0F\u20E3","5\uFE0F\u20E3","6\uFE0F\u20E3","7\uFE0F\u20E3","8\uFE0F\u20E3","9\uFE0F\u20E3"];return Emoji_Keycap_Sequence;}var RGI_Emoji_Flag_Sequence={};var hasRequiredRGI_Emoji_Flag_Sequence;function requireRGI_Emoji_Flag_Sequence(){if(hasRequiredRGI_Emoji_Flag_Sequence)return RGI_Emoji_Flag_Sequence;hasRequiredRGI_Emoji_Flag_Sequence=1;var set=regenerateExports();RGI_Emoji_Flag_Sequence.characters=set;RGI_Emoji_Flag_Sequence.strings=["\uD83C\uDDE6\uD83C\uDDE8","\uD83C\uDDE6\uD83C\uDDE9","\uD83C\uDDE6\uD83C\uDDEA","\uD83C\uDDE6\uD83C\uDDEB","\uD83C\uDDE6\uD83C\uDDEC","\uD83C\uDDE6\uD83C\uDDEE","\uD83C\uDDE6\uD83C\uDDF1","\uD83C\uDDE6\uD83C\uDDF2","\uD83C\uDDE6\uD83C\uDDF4","\uD83C\uDDE6\uD83C\uDDF6","\uD83C\uDDE6\uD83C\uDDF7","\uD83C\uDDE6\uD83C\uDDF8","\uD83C\uDDE6\uD83C\uDDF9","\uD83C\uDDE6\uD83C\uDDFA","\uD83C\uDDE6\uD83C\uDDFC","\uD83C\uDDE6\uD83C\uDDFD","\uD83C\uDDE6\uD83C\uDDFF","\uD83C\uDDE7\uD83C\uDDE6","\uD83C\uDDE7\uD83C\uDDE7","\uD83C\uDDE7\uD83C\uDDE9","\uD83C\uDDE7\uD83C\uDDEA","\uD83C\uDDE7\uD83C\uDDEB","\uD83C\uDDE7\uD83C\uDDEC","\uD83C\uDDE7\uD83C\uDDED","\uD83C\uDDE7\uD83C\uDDEE","\uD83C\uDDE7\uD83C\uDDEF","\uD83C\uDDE7\uD83C\uDDF1","\uD83C\uDDE7\uD83C\uDDF2","\uD83C\uDDE7\uD83C\uDDF3","\uD83C\uDDE7\uD83C\uDDF4","\uD83C\uDDE7\uD83C\uDDF6","\uD83C\uDDE7\uD83C\uDDF7","\uD83C\uDDE7\uD83C\uDDF8","\uD83C\uDDE7\uD83C\uDDF9","\uD83C\uDDE7\uD83C\uDDFB","\uD83C\uDDE7\uD83C\uDDFC","\uD83C\uDDE7\uD83C\uDDFE","\uD83C\uDDE7\uD83C\uDDFF","\uD83C\uDDE8\uD83C\uDDE6","\uD83C\uDDE8\uD83C\uDDE8","\uD83C\uDDE8\uD83C\uDDE9","\uD83C\uDDE8\uD83C\uDDEB","\uD83C\uDDE8\uD83C\uDDEC","\uD83C\uDDE8\uD83C\uDDED","\uD83C\uDDE8\uD83C\uDDEE","\uD83C\uDDE8\uD83C\uDDF0","\uD83C\uDDE8\uD83C\uDDF1","\uD83C\uDDE8\uD83C\uDDF2","\uD83C\uDDE8\uD83C\uDDF3","\uD83C\uDDE8\uD83C\uDDF4","\uD83C\uDDE8\uD83C\uDDF5","\uD83C\uDDE8\uD83C\uDDF7","\uD83C\uDDE8\uD83C\uDDFA","\uD83C\uDDE8\uD83C\uDDFB","\uD83C\uDDE8\uD83C\uDDFC","\uD83C\uDDE8\uD83C\uDDFD","\uD83C\uDDE8\uD83C\uDDFE","\uD83C\uDDE8\uD83C\uDDFF","\uD83C\uDDE9\uD83C\uDDEA","\uD83C\uDDE9\uD83C\uDDEC","\uD83C\uDDE9\uD83C\uDDEF","\uD83C\uDDE9\uD83C\uDDF0","\uD83C\uDDE9\uD83C\uDDF2","\uD83C\uDDE9\uD83C\uDDF4","\uD83C\uDDE9\uD83C\uDDFF","\uD83C\uDDEA\uD83C\uDDE6","\uD83C\uDDEA\uD83C\uDDE8","\uD83C\uDDEA\uD83C\uDDEA","\uD83C\uDDEA\uD83C\uDDEC","\uD83C\uDDEA\uD83C\uDDED","\uD83C\uDDEA\uD83C\uDDF7","\uD83C\uDDEA\uD83C\uDDF8","\uD83C\uDDEA\uD83C\uDDF9","\uD83C\uDDEA\uD83C\uDDFA","\uD83C\uDDEB\uD83C\uDDEE","\uD83C\uDDEB\uD83C\uDDEF","\uD83C\uDDEB\uD83C\uDDF0","\uD83C\uDDEB\uD83C\uDDF2","\uD83C\uDDEB\uD83C\uDDF4","\uD83C\uDDEB\uD83C\uDDF7","\uD83C\uDDEC\uD83C\uDDE6","\uD83C\uDDEC\uD83C\uDDE7","\uD83C\uDDEC\uD83C\uDDE9","\uD83C\uDDEC\uD83C\uDDEA","\uD83C\uDDEC\uD83C\uDDEB","\uD83C\uDDEC\uD83C\uDDEC","\uD83C\uDDEC\uD83C\uDDED","\uD83C\uDDEC\uD83C\uDDEE","\uD83C\uDDEC\uD83C\uDDF1","\uD83C\uDDEC\uD83C\uDDF2","\uD83C\uDDEC\uD83C\uDDF3","\uD83C\uDDEC\uD83C\uDDF5","\uD83C\uDDEC\uD83C\uDDF6","\uD83C\uDDEC\uD83C\uDDF7","\uD83C\uDDEC\uD83C\uDDF8","\uD83C\uDDEC\uD83C\uDDF9","\uD83C\uDDEC\uD83C\uDDFA","\uD83C\uDDEC\uD83C\uDDFC","\uD83C\uDDEC\uD83C\uDDFE","\uD83C\uDDED\uD83C\uDDF0","\uD83C\uDDED\uD83C\uDDF2","\uD83C\uDDED\uD83C\uDDF3","\uD83C\uDDED\uD83C\uDDF7","\uD83C\uDDED\uD83C\uDDF9","\uD83C\uDDED\uD83C\uDDFA","\uD83C\uDDEE\uD83C\uDDE8","\uD83C\uDDEE\uD83C\uDDE9","\uD83C\uDDEE\uD83C\uDDEA","\uD83C\uDDEE\uD83C\uDDF1","\uD83C\uDDEE\uD83C\uDDF2","\uD83C\uDDEE\uD83C\uDDF3","\uD83C\uDDEE\uD83C\uDDF4","\uD83C\uDDEE\uD83C\uDDF6","\uD83C\uDDEE\uD83C\uDDF7","\uD83C\uDDEE\uD83C\uDDF8","\uD83C\uDDEE\uD83C\uDDF9","\uD83C\uDDEF\uD83C\uDDEA","\uD83C\uDDEF\uD83C\uDDF2","\uD83C\uDDEF\uD83C\uDDF4","\uD83C\uDDEF\uD83C\uDDF5","\uD83C\uDDF0\uD83C\uDDEA","\uD83C\uDDF0\uD83C\uDDEC","\uD83C\uDDF0\uD83C\uDDED","\uD83C\uDDF0\uD83C\uDDEE","\uD83C\uDDF0\uD83C\uDDF2","\uD83C\uDDF0\uD83C\uDDF3","\uD83C\uDDF0\uD83C\uDDF5","\uD83C\uDDF0\uD83C\uDDF7","\uD83C\uDDF0\uD83C\uDDFC","\uD83C\uDDF0\uD83C\uDDFE","\uD83C\uDDF0\uD83C\uDDFF","\uD83C\uDDF1\uD83C\uDDE6","\uD83C\uDDF1\uD83C\uDDE7","\uD83C\uDDF1\uD83C\uDDE8","\uD83C\uDDF1\uD83C\uDDEE","\uD83C\uDDF1\uD83C\uDDF0","\uD83C\uDDF1\uD83C\uDDF7","\uD83C\uDDF1\uD83C\uDDF8","\uD83C\uDDF1\uD83C\uDDF9","\uD83C\uDDF1\uD83C\uDDFA","\uD83C\uDDF1\uD83C\uDDFB","\uD83C\uDDF1\uD83C\uDDFE","\uD83C\uDDF2\uD83C\uDDE6","\uD83C\uDDF2\uD83C\uDDE8","\uD83C\uDDF2\uD83C\uDDE9","\uD83C\uDDF2\uD83C\uDDEA","\uD83C\uDDF2\uD83C\uDDEB","\uD83C\uDDF2\uD83C\uDDEC","\uD83C\uDDF2\uD83C\uDDED","\uD83C\uDDF2\uD83C\uDDF0","\uD83C\uDDF2\uD83C\uDDF1","\uD83C\uDDF2\uD83C\uDDF2","\uD83C\uDDF2\uD83C\uDDF3","\uD83C\uDDF2\uD83C\uDDF4","\uD83C\uDDF2\uD83C\uDDF5","\uD83C\uDDF2\uD83C\uDDF6","\uD83C\uDDF2\uD83C\uDDF7","\uD83C\uDDF2\uD83C\uDDF8","\uD83C\uDDF2\uD83C\uDDF9","\uD83C\uDDF2\uD83C\uDDFA","\uD83C\uDDF2\uD83C\uDDFB","\uD83C\uDDF2\uD83C\uDDFC","\uD83C\uDDF2\uD83C\uDDFD","\uD83C\uDDF2\uD83C\uDDFE","\uD83C\uDDF2\uD83C\uDDFF","\uD83C\uDDF3\uD83C\uDDE6","\uD83C\uDDF3\uD83C\uDDE8","\uD83C\uDDF3\uD83C\uDDEA","\uD83C\uDDF3\uD83C\uDDEB","\uD83C\uDDF3\uD83C\uDDEC","\uD83C\uDDF3\uD83C\uDDEE","\uD83C\uDDF3\uD83C\uDDF1","\uD83C\uDDF3\uD83C\uDDF4","\uD83C\uDDF3\uD83C\uDDF5","\uD83C\uDDF3\uD83C\uDDF7","\uD83C\uDDF3\uD83C\uDDFA","\uD83C\uDDF3\uD83C\uDDFF","\uD83C\uDDF4\uD83C\uDDF2","\uD83C\uDDF5\uD83C\uDDE6","\uD83C\uDDF5\uD83C\uDDEA","\uD83C\uDDF5\uD83C\uDDEB","\uD83C\uDDF5\uD83C\uDDEC","\uD83C\uDDF5\uD83C\uDDED","\uD83C\uDDF5\uD83C\uDDF0","\uD83C\uDDF5\uD83C\uDDF1","\uD83C\uDDF5\uD83C\uDDF2","\uD83C\uDDF5\uD83C\uDDF3","\uD83C\uDDF5\uD83C\uDDF7","\uD83C\uDDF5\uD83C\uDDF8","\uD83C\uDDF5\uD83C\uDDF9","\uD83C\uDDF5\uD83C\uDDFC","\uD83C\uDDF5\uD83C\uDDFE","\uD83C\uDDF6\uD83C\uDDE6","\uD83C\uDDF7\uD83C\uDDEA","\uD83C\uDDF7\uD83C\uDDF4","\uD83C\uDDF7\uD83C\uDDF8","\uD83C\uDDF7\uD83C\uDDFA","\uD83C\uDDF7\uD83C\uDDFC","\uD83C\uDDF8\uD83C\uDDE6","\uD83C\uDDF8\uD83C\uDDE7","\uD83C\uDDF8\uD83C\uDDE8","\uD83C\uDDF8\uD83C\uDDE9","\uD83C\uDDF8\uD83C\uDDEA","\uD83C\uDDF8\uD83C\uDDEC","\uD83C\uDDF8\uD83C\uDDED","\uD83C\uDDF8\uD83C\uDDEE","\uD83C\uDDF8\uD83C\uDDEF","\uD83C\uDDF8\uD83C\uDDF0","\uD83C\uDDF8\uD83C\uDDF1","\uD83C\uDDF8\uD83C\uDDF2","\uD83C\uDDF8\uD83C\uDDF3","\uD83C\uDDF8\uD83C\uDDF4","\uD83C\uDDF8\uD83C\uDDF7","\uD83C\uDDF8\uD83C\uDDF8","\uD83C\uDDF8\uD83C\uDDF9","\uD83C\uDDF8\uD83C\uDDFB","\uD83C\uDDF8\uD83C\uDDFD","\uD83C\uDDF8\uD83C\uDDFE","\uD83C\uDDF8\uD83C\uDDFF","\uD83C\uDDF9\uD83C\uDDE6","\uD83C\uDDF9\uD83C\uDDE8","\uD83C\uDDF9\uD83C\uDDE9","\uD83C\uDDF9\uD83C\uDDEB","\uD83C\uDDF9\uD83C\uDDEC","\uD83C\uDDF9\uD83C\uDDED","\uD83C\uDDF9\uD83C\uDDEF","\uD83C\uDDF9\uD83C\uDDF0","\uD83C\uDDF9\uD83C\uDDF1","\uD83C\uDDF9\uD83C\uDDF2","\uD83C\uDDF9\uD83C\uDDF3","\uD83C\uDDF9\uD83C\uDDF4","\uD83C\uDDF9\uD83C\uDDF7","\uD83C\uDDF9\uD83C\uDDF9","\uD83C\uDDF9\uD83C\uDDFB","\uD83C\uDDF9\uD83C\uDDFC","\uD83C\uDDF9\uD83C\uDDFF","\uD83C\uDDFA\uD83C\uDDE6","\uD83C\uDDFA\uD83C\uDDEC","\uD83C\uDDFA\uD83C\uDDF2","\uD83C\uDDFA\uD83C\uDDF3","\uD83C\uDDFA\uD83C\uDDF8","\uD83C\uDDFA\uD83C\uDDFE","\uD83C\uDDFA\uD83C\uDDFF","\uD83C\uDDFB\uD83C\uDDE6","\uD83C\uDDFB\uD83C\uDDE8","\uD83C\uDDFB\uD83C\uDDEA","\uD83C\uDDFB\uD83C\uDDEC","\uD83C\uDDFB\uD83C\uDDEE","\uD83C\uDDFB\uD83C\uDDF3","\uD83C\uDDFB\uD83C\uDDFA","\uD83C\uDDFC\uD83C\uDDEB","\uD83C\uDDFC\uD83C\uDDF8","\uD83C\uDDFD\uD83C\uDDF0","\uD83C\uDDFE\uD83C\uDDEA","\uD83C\uDDFE\uD83C\uDDF9","\uD83C\uDDFF\uD83C\uDDE6","\uD83C\uDDFF\uD83C\uDDF2","\uD83C\uDDFF\uD83C\uDDFC"];return RGI_Emoji_Flag_Sequence;}var RGI_Emoji_Modifier_Sequence={};var hasRequiredRGI_Emoji_Modifier_Sequence;function requireRGI_Emoji_Modifier_Sequence(){if(hasRequiredRGI_Emoji_Modifier_Sequence)return RGI_Emoji_Modifier_Sequence;hasRequiredRGI_Emoji_Modifier_Sequence=1;var set=regenerateExports();RGI_Emoji_Modifier_Sequence.characters=set;RGI_Emoji_Modifier_Sequence.strings=["\u261D\uD83C\uDFFB","\u261D\uD83C\uDFFC","\u261D\uD83C\uDFFD","\u261D\uD83C\uDFFE","\u261D\uD83C\uDFFF","\u26F9\uD83C\uDFFB","\u26F9\uD83C\uDFFC","\u26F9\uD83C\uDFFD","\u26F9\uD83C\uDFFE","\u26F9\uD83C\uDFFF","\u270A\uD83C\uDFFB","\u270A\uD83C\uDFFC","\u270A\uD83C\uDFFD","\u270A\uD83C\uDFFE","\u270A\uD83C\uDFFF","\u270B\uD83C\uDFFB","\u270B\uD83C\uDFFC","\u270B\uD83C\uDFFD","\u270B\uD83C\uDFFE","\u270B\uD83C\uDFFF","\u270C\uD83C\uDFFB","\u270C\uD83C\uDFFC","\u270C\uD83C\uDFFD","\u270C\uD83C\uDFFE","\u270C\uD83C\uDFFF","\u270D\uD83C\uDFFB","\u270D\uD83C\uDFFC","\u270D\uD83C\uDFFD","\u270D\uD83C\uDFFE","\u270D\uD83C\uDFFF","\uD83C\uDF85\uD83C\uDFFB","\uD83C\uDF85\uD83C\uDFFC","\uD83C\uDF85\uD83C\uDFFD","\uD83C\uDF85\uD83C\uDFFE","\uD83C\uDF85\uD83C\uDFFF","\uD83C\uDFC2\uD83C\uDFFB","\uD83C\uDFC2\uD83C\uDFFC","\uD83C\uDFC2\uD83C\uDFFD","\uD83C\uDFC2\uD83C\uDFFE","\uD83C\uDFC2\uD83C\uDFFF","\uD83C\uDFC3\uD83C\uDFFB","\uD83C\uDFC3\uD83C\uDFFC","\uD83C\uDFC3\uD83C\uDFFD","\uD83C\uDFC3\uD83C\uDFFE","\uD83C\uDFC3\uD83C\uDFFF","\uD83C\uDFC4\uD83C\uDFFB","\uD83C\uDFC4\uD83C\uDFFC","\uD83C\uDFC4\uD83C\uDFFD","\uD83C\uDFC4\uD83C\uDFFE","\uD83C\uDFC4\uD83C\uDFFF","\uD83C\uDFC7\uD83C\uDFFB","\uD83C\uDFC7\uD83C\uDFFC","\uD83C\uDFC7\uD83C\uDFFD","\uD83C\uDFC7\uD83C\uDFFE","\uD83C\uDFC7\uD83C\uDFFF","\uD83C\uDFCA\uD83C\uDFFB","\uD83C\uDFCA\uD83C\uDFFC","\uD83C\uDFCA\uD83C\uDFFD","\uD83C\uDFCA\uD83C\uDFFE","\uD83C\uDFCA\uD83C\uDFFF","\uD83C\uDFCB\uD83C\uDFFB","\uD83C\uDFCB\uD83C\uDFFC","\uD83C\uDFCB\uD83C\uDFFD","\uD83C\uDFCB\uD83C\uDFFE","\uD83C\uDFCB\uD83C\uDFFF","\uD83C\uDFCC\uD83C\uDFFB","\uD83C\uDFCC\uD83C\uDFFC","\uD83C\uDFCC\uD83C\uDFFD","\uD83C\uDFCC\uD83C\uDFFE","\uD83C\uDFCC\uD83C\uDFFF","\uD83D\uDC42\uD83C\uDFFB","\uD83D\uDC42\uD83C\uDFFC","\uD83D\uDC42\uD83C\uDFFD","\uD83D\uDC42\uD83C\uDFFE","\uD83D\uDC42\uD83C\uDFFF","\uD83D\uDC43\uD83C\uDFFB","\uD83D\uDC43\uD83C\uDFFC","\uD83D\uDC43\uD83C\uDFFD","\uD83D\uDC43\uD83C\uDFFE","\uD83D\uDC43\uD83C\uDFFF","\uD83D\uDC46\uD83C\uDFFB","\uD83D\uDC46\uD83C\uDFFC","\uD83D\uDC46\uD83C\uDFFD","\uD83D\uDC46\uD83C\uDFFE","\uD83D\uDC46\uD83C\uDFFF","\uD83D\uDC47\uD83C\uDFFB","\uD83D\uDC47\uD83C\uDFFC","\uD83D\uDC47\uD83C\uDFFD","\uD83D\uDC47\uD83C\uDFFE","\uD83D\uDC47\uD83C\uDFFF","\uD83D\uDC48\uD83C\uDFFB","\uD83D\uDC48\uD83C\uDFFC","\uD83D\uDC48\uD83C\uDFFD","\uD83D\uDC48\uD83C\uDFFE","\uD83D\uDC48\uD83C\uDFFF","\uD83D\uDC49\uD83C\uDFFB","\uD83D\uDC49\uD83C\uDFFC","\uD83D\uDC49\uD83C\uDFFD","\uD83D\uDC49\uD83C\uDFFE","\uD83D\uDC49\uD83C\uDFFF","\uD83D\uDC4A\uD83C\uDFFB","\uD83D\uDC4A\uD83C\uDFFC","\uD83D\uDC4A\uD83C\uDFFD","\uD83D\uDC4A\uD83C\uDFFE","\uD83D\uDC4A\uD83C\uDFFF","\uD83D\uDC4B\uD83C\uDFFB","\uD83D\uDC4B\uD83C\uDFFC","\uD83D\uDC4B\uD83C\uDFFD","\uD83D\uDC4B\uD83C\uDFFE","\uD83D\uDC4B\uD83C\uDFFF","\uD83D\uDC4C\uD83C\uDFFB","\uD83D\uDC4C\uD83C\uDFFC","\uD83D\uDC4C\uD83C\uDFFD","\uD83D\uDC4C\uD83C\uDFFE","\uD83D\uDC4C\uD83C\uDFFF","\uD83D\uDC4D\uD83C\uDFFB","\uD83D\uDC4D\uD83C\uDFFC","\uD83D\uDC4D\uD83C\uDFFD","\uD83D\uDC4D\uD83C\uDFFE","\uD83D\uDC4D\uD83C\uDFFF","\uD83D\uDC4E\uD83C\uDFFB","\uD83D\uDC4E\uD83C\uDFFC","\uD83D\uDC4E\uD83C\uDFFD","\uD83D\uDC4E\uD83C\uDFFE","\uD83D\uDC4E\uD83C\uDFFF","\uD83D\uDC4F\uD83C\uDFFB","\uD83D\uDC4F\uD83C\uDFFC","\uD83D\uDC4F\uD83C\uDFFD","\uD83D\uDC4F\uD83C\uDFFE","\uD83D\uDC4F\uD83C\uDFFF","\uD83D\uDC50\uD83C\uDFFB","\uD83D\uDC50\uD83C\uDFFC","\uD83D\uDC50\uD83C\uDFFD","\uD83D\uDC50\uD83C\uDFFE","\uD83D\uDC50\uD83C\uDFFF","\uD83D\uDC66\uD83C\uDFFB","\uD83D\uDC66\uD83C\uDFFC","\uD83D\uDC66\uD83C\uDFFD","\uD83D\uDC66\uD83C\uDFFE","\uD83D\uDC66\uD83C\uDFFF","\uD83D\uDC67\uD83C\uDFFB","\uD83D\uDC67\uD83C\uDFFC","\uD83D\uDC67\uD83C\uDFFD","\uD83D\uDC67\uD83C\uDFFE","\uD83D\uDC67\uD83C\uDFFF","\uD83D\uDC68\uD83C\uDFFB","\uD83D\uDC68\uD83C\uDFFC","\uD83D\uDC68\uD83C\uDFFD","\uD83D\uDC68\uD83C\uDFFE","\uD83D\uDC68\uD83C\uDFFF","\uD83D\uDC69\uD83C\uDFFB","\uD83D\uDC69\uD83C\uDFFC","\uD83D\uDC69\uD83C\uDFFD","\uD83D\uDC69\uD83C\uDFFE","\uD83D\uDC69\uD83C\uDFFF","\uD83D\uDC6B\uD83C\uDFFB","\uD83D\uDC6B\uD83C\uDFFC","\uD83D\uDC6B\uD83C\uDFFD","\uD83D\uDC6B\uD83C\uDFFE","\uD83D\uDC6B\uD83C\uDFFF","\uD83D\uDC6C\uD83C\uDFFB","\uD83D\uDC6C\uD83C\uDFFC","\uD83D\uDC6C\uD83C\uDFFD","\uD83D\uDC6C\uD83C\uDFFE","\uD83D\uDC6C\uD83C\uDFFF","\uD83D\uDC6D\uD83C\uDFFB","\uD83D\uDC6D\uD83C\uDFFC","\uD83D\uDC6D\uD83C\uDFFD","\uD83D\uDC6D\uD83C\uDFFE","\uD83D\uDC6D\uD83C\uDFFF","\uD83D\uDC6E\uD83C\uDFFB","\uD83D\uDC6E\uD83C\uDFFC","\uD83D\uDC6E\uD83C\uDFFD","\uD83D\uDC6E\uD83C\uDFFE","\uD83D\uDC6E\uD83C\uDFFF","\uD83D\uDC70\uD83C\uDFFB","\uD83D\uDC70\uD83C\uDFFC","\uD83D\uDC70\uD83C\uDFFD","\uD83D\uDC70\uD83C\uDFFE","\uD83D\uDC70\uD83C\uDFFF","\uD83D\uDC71\uD83C\uDFFB","\uD83D\uDC71\uD83C\uDFFC","\uD83D\uDC71\uD83C\uDFFD","\uD83D\uDC71\uD83C\uDFFE","\uD83D\uDC71\uD83C\uDFFF","\uD83D\uDC72\uD83C\uDFFB","\uD83D\uDC72\uD83C\uDFFC","\uD83D\uDC72\uD83C\uDFFD","\uD83D\uDC72\uD83C\uDFFE","\uD83D\uDC72\uD83C\uDFFF","\uD83D\uDC73\uD83C\uDFFB","\uD83D\uDC73\uD83C\uDFFC","\uD83D\uDC73\uD83C\uDFFD","\uD83D\uDC73\uD83C\uDFFE","\uD83D\uDC73\uD83C\uDFFF","\uD83D\uDC74\uD83C\uDFFB","\uD83D\uDC74\uD83C\uDFFC","\uD83D\uDC74\uD83C\uDFFD","\uD83D\uDC74\uD83C\uDFFE","\uD83D\uDC74\uD83C\uDFFF","\uD83D\uDC75\uD83C\uDFFB","\uD83D\uDC75\uD83C\uDFFC","\uD83D\uDC75\uD83C\uDFFD","\uD83D\uDC75\uD83C\uDFFE","\uD83D\uDC75\uD83C\uDFFF","\uD83D\uDC76\uD83C\uDFFB","\uD83D\uDC76\uD83C\uDFFC","\uD83D\uDC76\uD83C\uDFFD","\uD83D\uDC76\uD83C\uDFFE","\uD83D\uDC76\uD83C\uDFFF","\uD83D\uDC77\uD83C\uDFFB","\uD83D\uDC77\uD83C\uDFFC","\uD83D\uDC77\uD83C\uDFFD","\uD83D\uDC77\uD83C\uDFFE","\uD83D\uDC77\uD83C\uDFFF","\uD83D\uDC78\uD83C\uDFFB","\uD83D\uDC78\uD83C\uDFFC","\uD83D\uDC78\uD83C\uDFFD","\uD83D\uDC78\uD83C\uDFFE","\uD83D\uDC78\uD83C\uDFFF","\uD83D\uDC7C\uD83C\uDFFB","\uD83D\uDC7C\uD83C\uDFFC","\uD83D\uDC7C\uD83C\uDFFD","\uD83D\uDC7C\uD83C\uDFFE","\uD83D\uDC7C\uD83C\uDFFF","\uD83D\uDC81\uD83C\uDFFB","\uD83D\uDC81\uD83C\uDFFC","\uD83D\uDC81\uD83C\uDFFD","\uD83D\uDC81\uD83C\uDFFE","\uD83D\uDC81\uD83C\uDFFF","\uD83D\uDC82\uD83C\uDFFB","\uD83D\uDC82\uD83C\uDFFC","\uD83D\uDC82\uD83C\uDFFD","\uD83D\uDC82\uD83C\uDFFE","\uD83D\uDC82\uD83C\uDFFF","\uD83D\uDC83\uD83C\uDFFB","\uD83D\uDC83\uD83C\uDFFC","\uD83D\uDC83\uD83C\uDFFD","\uD83D\uDC83\uD83C\uDFFE","\uD83D\uDC83\uD83C\uDFFF","\uD83D\uDC85\uD83C\uDFFB","\uD83D\uDC85\uD83C\uDFFC","\uD83D\uDC85\uD83C\uDFFD","\uD83D\uDC85\uD83C\uDFFE","\uD83D\uDC85\uD83C\uDFFF","\uD83D\uDC86\uD83C\uDFFB","\uD83D\uDC86\uD83C\uDFFC","\uD83D\uDC86\uD83C\uDFFD","\uD83D\uDC86\uD83C\uDFFE","\uD83D\uDC86\uD83C\uDFFF","\uD83D\uDC87\uD83C\uDFFB","\uD83D\uDC87\uD83C\uDFFC","\uD83D\uDC87\uD83C\uDFFD","\uD83D\uDC87\uD83C\uDFFE","\uD83D\uDC87\uD83C\uDFFF","\uD83D\uDC8F\uD83C\uDFFB","\uD83D\uDC8F\uD83C\uDFFC","\uD83D\uDC8F\uD83C\uDFFD","\uD83D\uDC8F\uD83C\uDFFE","\uD83D\uDC8F\uD83C\uDFFF","\uD83D\uDC91\uD83C\uDFFB","\uD83D\uDC91\uD83C\uDFFC","\uD83D\uDC91\uD83C\uDFFD","\uD83D\uDC91\uD83C\uDFFE","\uD83D\uDC91\uD83C\uDFFF","\uD83D\uDCAA\uD83C\uDFFB","\uD83D\uDCAA\uD83C\uDFFC","\uD83D\uDCAA\uD83C\uDFFD","\uD83D\uDCAA\uD83C\uDFFE","\uD83D\uDCAA\uD83C\uDFFF","\uD83D\uDD74\uD83C\uDFFB","\uD83D\uDD74\uD83C\uDFFC","\uD83D\uDD74\uD83C\uDFFD","\uD83D\uDD74\uD83C\uDFFE","\uD83D\uDD74\uD83C\uDFFF","\uD83D\uDD75\uD83C\uDFFB","\uD83D\uDD75\uD83C\uDFFC","\uD83D\uDD75\uD83C\uDFFD","\uD83D\uDD75\uD83C\uDFFE","\uD83D\uDD75\uD83C\uDFFF","\uD83D\uDD7A\uD83C\uDFFB","\uD83D\uDD7A\uD83C\uDFFC","\uD83D\uDD7A\uD83C\uDFFD","\uD83D\uDD7A\uD83C\uDFFE","\uD83D\uDD7A\uD83C\uDFFF","\uD83D\uDD90\uD83C\uDFFB","\uD83D\uDD90\uD83C\uDFFC","\uD83D\uDD90\uD83C\uDFFD","\uD83D\uDD90\uD83C\uDFFE","\uD83D\uDD90\uD83C\uDFFF","\uD83D\uDD95\uD83C\uDFFB","\uD83D\uDD95\uD83C\uDFFC","\uD83D\uDD95\uD83C\uDFFD","\uD83D\uDD95\uD83C\uDFFE","\uD83D\uDD95\uD83C\uDFFF","\uD83D\uDD96\uD83C\uDFFB","\uD83D\uDD96\uD83C\uDFFC","\uD83D\uDD96\uD83C\uDFFD","\uD83D\uDD96\uD83C\uDFFE","\uD83D\uDD96\uD83C\uDFFF","\uD83D\uDE45\uD83C\uDFFB","\uD83D\uDE45\uD83C\uDFFC","\uD83D\uDE45\uD83C\uDFFD","\uD83D\uDE45\uD83C\uDFFE","\uD83D\uDE45\uD83C\uDFFF","\uD83D\uDE46\uD83C\uDFFB","\uD83D\uDE46\uD83C\uDFFC","\uD83D\uDE46\uD83C\uDFFD","\uD83D\uDE46\uD83C\uDFFE","\uD83D\uDE46\uD83C\uDFFF","\uD83D\uDE47\uD83C\uDFFB","\uD83D\uDE47\uD83C\uDFFC","\uD83D\uDE47\uD83C\uDFFD","\uD83D\uDE47\uD83C\uDFFE","\uD83D\uDE47\uD83C\uDFFF","\uD83D\uDE4B\uD83C\uDFFB","\uD83D\uDE4B\uD83C\uDFFC","\uD83D\uDE4B\uD83C\uDFFD","\uD83D\uDE4B\uD83C\uDFFE","\uD83D\uDE4B\uD83C\uDFFF","\uD83D\uDE4C\uD83C\uDFFB","\uD83D\uDE4C\uD83C\uDFFC","\uD83D\uDE4C\uD83C\uDFFD","\uD83D\uDE4C\uD83C\uDFFE","\uD83D\uDE4C\uD83C\uDFFF","\uD83D\uDE4D\uD83C\uDFFB","\uD83D\uDE4D\uD83C\uDFFC","\uD83D\uDE4D\uD83C\uDFFD","\uD83D\uDE4D\uD83C\uDFFE","\uD83D\uDE4D\uD83C\uDFFF","\uD83D\uDE4E\uD83C\uDFFB","\uD83D\uDE4E\uD83C\uDFFC","\uD83D\uDE4E\uD83C\uDFFD","\uD83D\uDE4E\uD83C\uDFFE","\uD83D\uDE4E\uD83C\uDFFF","\uD83D\uDE4F\uD83C\uDFFB","\uD83D\uDE4F\uD83C\uDFFC","\uD83D\uDE4F\uD83C\uDFFD","\uD83D\uDE4F\uD83C\uDFFE","\uD83D\uDE4F\uD83C\uDFFF","\uD83D\uDEA3\uD83C\uDFFB","\uD83D\uDEA3\uD83C\uDFFC","\uD83D\uDEA3\uD83C\uDFFD","\uD83D\uDEA3\uD83C\uDFFE","\uD83D\uDEA3\uD83C\uDFFF","\uD83D\uDEB4\uD83C\uDFFB","\uD83D\uDEB4\uD83C\uDFFC","\uD83D\uDEB4\uD83C\uDFFD","\uD83D\uDEB4\uD83C\uDFFE","\uD83D\uDEB4\uD83C\uDFFF","\uD83D\uDEB5\uD83C\uDFFB","\uD83D\uDEB5\uD83C\uDFFC","\uD83D\uDEB5\uD83C\uDFFD","\uD83D\uDEB5\uD83C\uDFFE","\uD83D\uDEB5\uD83C\uDFFF","\uD83D\uDEB6\uD83C\uDFFB","\uD83D\uDEB6\uD83C\uDFFC","\uD83D\uDEB6\uD83C\uDFFD","\uD83D\uDEB6\uD83C\uDFFE","\uD83D\uDEB6\uD83C\uDFFF","\uD83D\uDEC0\uD83C\uDFFB","\uD83D\uDEC0\uD83C\uDFFC","\uD83D\uDEC0\uD83C\uDFFD","\uD83D\uDEC0\uD83C\uDFFE","\uD83D\uDEC0\uD83C\uDFFF","\uD83D\uDECC\uD83C\uDFFB","\uD83D\uDECC\uD83C\uDFFC","\uD83D\uDECC\uD83C\uDFFD","\uD83D\uDECC\uD83C\uDFFE","\uD83D\uDECC\uD83C\uDFFF","\uD83E\uDD0C\uD83C\uDFFB","\uD83E\uDD0C\uD83C\uDFFC","\uD83E\uDD0C\uD83C\uDFFD","\uD83E\uDD0C\uD83C\uDFFE","\uD83E\uDD0C\uD83C\uDFFF","\uD83E\uDD0F\uD83C\uDFFB","\uD83E\uDD0F\uD83C\uDFFC","\uD83E\uDD0F\uD83C\uDFFD","\uD83E\uDD0F\uD83C\uDFFE","\uD83E\uDD0F\uD83C\uDFFF","\uD83E\uDD18\uD83C\uDFFB","\uD83E\uDD18\uD83C\uDFFC","\uD83E\uDD18\uD83C\uDFFD","\uD83E\uDD18\uD83C\uDFFE","\uD83E\uDD18\uD83C\uDFFF","\uD83E\uDD19\uD83C\uDFFB","\uD83E\uDD19\uD83C\uDFFC","\uD83E\uDD19\uD83C\uDFFD","\uD83E\uDD19\uD83C\uDFFE","\uD83E\uDD19\uD83C\uDFFF","\uD83E\uDD1A\uD83C\uDFFB","\uD83E\uDD1A\uD83C\uDFFC","\uD83E\uDD1A\uD83C\uDFFD","\uD83E\uDD1A\uD83C\uDFFE","\uD83E\uDD1A\uD83C\uDFFF","\uD83E\uDD1B\uD83C\uDFFB","\uD83E\uDD1B\uD83C\uDFFC","\uD83E\uDD1B\uD83C\uDFFD","\uD83E\uDD1B\uD83C\uDFFE","\uD83E\uDD1B\uD83C\uDFFF","\uD83E\uDD1C\uD83C\uDFFB","\uD83E\uDD1C\uD83C\uDFFC","\uD83E\uDD1C\uD83C\uDFFD","\uD83E\uDD1C\uD83C\uDFFE","\uD83E\uDD1C\uD83C\uDFFF","\uD83E\uDD1D\uD83C\uDFFB","\uD83E\uDD1D\uD83C\uDFFC","\uD83E\uDD1D\uD83C\uDFFD","\uD83E\uDD1D\uD83C\uDFFE","\uD83E\uDD1D\uD83C\uDFFF","\uD83E\uDD1E\uD83C\uDFFB","\uD83E\uDD1E\uD83C\uDFFC","\uD83E\uDD1E\uD83C\uDFFD","\uD83E\uDD1E\uD83C\uDFFE","\uD83E\uDD1E\uD83C\uDFFF","\uD83E\uDD1F\uD83C\uDFFB","\uD83E\uDD1F\uD83C\uDFFC","\uD83E\uDD1F\uD83C\uDFFD","\uD83E\uDD1F\uD83C\uDFFE","\uD83E\uDD1F\uD83C\uDFFF","\uD83E\uDD26\uD83C\uDFFB","\uD83E\uDD26\uD83C\uDFFC","\uD83E\uDD26\uD83C\uDFFD","\uD83E\uDD26\uD83C\uDFFE","\uD83E\uDD26\uD83C\uDFFF","\uD83E\uDD30\uD83C\uDFFB","\uD83E\uDD30\uD83C\uDFFC","\uD83E\uDD30\uD83C\uDFFD","\uD83E\uDD30\uD83C\uDFFE","\uD83E\uDD30\uD83C\uDFFF","\uD83E\uDD31\uD83C\uDFFB","\uD83E\uDD31\uD83C\uDFFC","\uD83E\uDD31\uD83C\uDFFD","\uD83E\uDD31\uD83C\uDFFE","\uD83E\uDD31\uD83C\uDFFF","\uD83E\uDD32\uD83C\uDFFB","\uD83E\uDD32\uD83C\uDFFC","\uD83E\uDD32\uD83C\uDFFD","\uD83E\uDD32\uD83C\uDFFE","\uD83E\uDD32\uD83C\uDFFF","\uD83E\uDD33\uD83C\uDFFB","\uD83E\uDD33\uD83C\uDFFC","\uD83E\uDD33\uD83C\uDFFD","\uD83E\uDD33\uD83C\uDFFE","\uD83E\uDD33\uD83C\uDFFF","\uD83E\uDD34\uD83C\uDFFB","\uD83E\uDD34\uD83C\uDFFC","\uD83E\uDD34\uD83C\uDFFD","\uD83E\uDD34\uD83C\uDFFE","\uD83E\uDD34\uD83C\uDFFF","\uD83E\uDD35\uD83C\uDFFB","\uD83E\uDD35\uD83C\uDFFC","\uD83E\uDD35\uD83C\uDFFD","\uD83E\uDD35\uD83C\uDFFE","\uD83E\uDD35\uD83C\uDFFF","\uD83E\uDD36\uD83C\uDFFB","\uD83E\uDD36\uD83C\uDFFC","\uD83E\uDD36\uD83C\uDFFD","\uD83E\uDD36\uD83C\uDFFE","\uD83E\uDD36\uD83C\uDFFF","\uD83E\uDD37\uD83C\uDFFB","\uD83E\uDD37\uD83C\uDFFC","\uD83E\uDD37\uD83C\uDFFD","\uD83E\uDD37\uD83C\uDFFE","\uD83E\uDD37\uD83C\uDFFF","\uD83E\uDD38\uD83C\uDFFB","\uD83E\uDD38\uD83C\uDFFC","\uD83E\uDD38\uD83C\uDFFD","\uD83E\uDD38\uD83C\uDFFE","\uD83E\uDD38\uD83C\uDFFF","\uD83E\uDD39\uD83C\uDFFB","\uD83E\uDD39\uD83C\uDFFC","\uD83E\uDD39\uD83C\uDFFD","\uD83E\uDD39\uD83C\uDFFE","\uD83E\uDD39\uD83C\uDFFF","\uD83E\uDD3D\uD83C\uDFFB","\uD83E\uDD3D\uD83C\uDFFC","\uD83E\uDD3D\uD83C\uDFFD","\uD83E\uDD3D\uD83C\uDFFE","\uD83E\uDD3D\uD83C\uDFFF","\uD83E\uDD3E\uD83C\uDFFB","\uD83E\uDD3E\uD83C\uDFFC","\uD83E\uDD3E\uD83C\uDFFD","\uD83E\uDD3E\uD83C\uDFFE","\uD83E\uDD3E\uD83C\uDFFF","\uD83E\uDD77\uD83C\uDFFB","\uD83E\uDD77\uD83C\uDFFC","\uD83E\uDD77\uD83C\uDFFD","\uD83E\uDD77\uD83C\uDFFE","\uD83E\uDD77\uD83C\uDFFF","\uD83E\uDDB5\uD83C\uDFFB","\uD83E\uDDB5\uD83C\uDFFC","\uD83E\uDDB5\uD83C\uDFFD","\uD83E\uDDB5\uD83C\uDFFE","\uD83E\uDDB5\uD83C\uDFFF","\uD83E\uDDB6\uD83C\uDFFB","\uD83E\uDDB6\uD83C\uDFFC","\uD83E\uDDB6\uD83C\uDFFD","\uD83E\uDDB6\uD83C\uDFFE","\uD83E\uDDB6\uD83C\uDFFF","\uD83E\uDDB8\uD83C\uDFFB","\uD83E\uDDB8\uD83C\uDFFC","\uD83E\uDDB8\uD83C\uDFFD","\uD83E\uDDB8\uD83C\uDFFE","\uD83E\uDDB8\uD83C\uDFFF","\uD83E\uDDB9\uD83C\uDFFB","\uD83E\uDDB9\uD83C\uDFFC","\uD83E\uDDB9\uD83C\uDFFD","\uD83E\uDDB9\uD83C\uDFFE","\uD83E\uDDB9\uD83C\uDFFF","\uD83E\uDDBB\uD83C\uDFFB","\uD83E\uDDBB\uD83C\uDFFC","\uD83E\uDDBB\uD83C\uDFFD","\uD83E\uDDBB\uD83C\uDFFE","\uD83E\uDDBB\uD83C\uDFFF","\uD83E\uDDCD\uD83C\uDFFB","\uD83E\uDDCD\uD83C\uDFFC","\uD83E\uDDCD\uD83C\uDFFD","\uD83E\uDDCD\uD83C\uDFFE","\uD83E\uDDCD\uD83C\uDFFF","\uD83E\uDDCE\uD83C\uDFFB","\uD83E\uDDCE\uD83C\uDFFC","\uD83E\uDDCE\uD83C\uDFFD","\uD83E\uDDCE\uD83C\uDFFE","\uD83E\uDDCE\uD83C\uDFFF","\uD83E\uDDCF\uD83C\uDFFB","\uD83E\uDDCF\uD83C\uDFFC","\uD83E\uDDCF\uD83C\uDFFD","\uD83E\uDDCF\uD83C\uDFFE","\uD83E\uDDCF\uD83C\uDFFF","\uD83E\uDDD1\uD83C\uDFFB","\uD83E\uDDD1\uD83C\uDFFC","\uD83E\uDDD1\uD83C\uDFFD","\uD83E\uDDD1\uD83C\uDFFE","\uD83E\uDDD1\uD83C\uDFFF","\uD83E\uDDD2\uD83C\uDFFB","\uD83E\uDDD2\uD83C\uDFFC","\uD83E\uDDD2\uD83C\uDFFD","\uD83E\uDDD2\uD83C\uDFFE","\uD83E\uDDD2\uD83C\uDFFF","\uD83E\uDDD3\uD83C\uDFFB","\uD83E\uDDD3\uD83C\uDFFC","\uD83E\uDDD3\uD83C\uDFFD","\uD83E\uDDD3\uD83C\uDFFE","\uD83E\uDDD3\uD83C\uDFFF","\uD83E\uDDD4\uD83C\uDFFB","\uD83E\uDDD4\uD83C\uDFFC","\uD83E\uDDD4\uD83C\uDFFD","\uD83E\uDDD4\uD83C\uDFFE","\uD83E\uDDD4\uD83C\uDFFF","\uD83E\uDDD5\uD83C\uDFFB","\uD83E\uDDD5\uD83C\uDFFC","\uD83E\uDDD5\uD83C\uDFFD","\uD83E\uDDD5\uD83C\uDFFE","\uD83E\uDDD5\uD83C\uDFFF","\uD83E\uDDD6\uD83C\uDFFB","\uD83E\uDDD6\uD83C\uDFFC","\uD83E\uDDD6\uD83C\uDFFD","\uD83E\uDDD6\uD83C\uDFFE","\uD83E\uDDD6\uD83C\uDFFF","\uD83E\uDDD7\uD83C\uDFFB","\uD83E\uDDD7\uD83C\uDFFC","\uD83E\uDDD7\uD83C\uDFFD","\uD83E\uDDD7\uD83C\uDFFE","\uD83E\uDDD7\uD83C\uDFFF","\uD83E\uDDD8\uD83C\uDFFB","\uD83E\uDDD8\uD83C\uDFFC","\uD83E\uDDD8\uD83C\uDFFD","\uD83E\uDDD8\uD83C\uDFFE","\uD83E\uDDD8\uD83C\uDFFF","\uD83E\uDDD9\uD83C\uDFFB","\uD83E\uDDD9\uD83C\uDFFC","\uD83E\uDDD9\uD83C\uDFFD","\uD83E\uDDD9\uD83C\uDFFE","\uD83E\uDDD9\uD83C\uDFFF","\uD83E\uDDDA\uD83C\uDFFB","\uD83E\uDDDA\uD83C\uDFFC","\uD83E\uDDDA\uD83C\uDFFD","\uD83E\uDDDA\uD83C\uDFFE","\uD83E\uDDDA\uD83C\uDFFF","\uD83E\uDDDB\uD83C\uDFFB","\uD83E\uDDDB\uD83C\uDFFC","\uD83E\uDDDB\uD83C\uDFFD","\uD83E\uDDDB\uD83C\uDFFE","\uD83E\uDDDB\uD83C\uDFFF","\uD83E\uDDDC\uD83C\uDFFB","\uD83E\uDDDC\uD83C\uDFFC","\uD83E\uDDDC\uD83C\uDFFD","\uD83E\uDDDC\uD83C\uDFFE","\uD83E\uDDDC\uD83C\uDFFF","\uD83E\uDDDD\uD83C\uDFFB","\uD83E\uDDDD\uD83C\uDFFC","\uD83E\uDDDD\uD83C\uDFFD","\uD83E\uDDDD\uD83C\uDFFE","\uD83E\uDDDD\uD83C\uDFFF","\uD83E\uDEC3\uD83C\uDFFB","\uD83E\uDEC3\uD83C\uDFFC","\uD83E\uDEC3\uD83C\uDFFD","\uD83E\uDEC3\uD83C\uDFFE","\uD83E\uDEC3\uD83C\uDFFF","\uD83E\uDEC4\uD83C\uDFFB","\uD83E\uDEC4\uD83C\uDFFC","\uD83E\uDEC4\uD83C\uDFFD","\uD83E\uDEC4\uD83C\uDFFE","\uD83E\uDEC4\uD83C\uDFFF","\uD83E\uDEC5\uD83C\uDFFB","\uD83E\uDEC5\uD83C\uDFFC","\uD83E\uDEC5\uD83C\uDFFD","\uD83E\uDEC5\uD83C\uDFFE","\uD83E\uDEC5\uD83C\uDFFF","\uD83E\uDEF0\uD83C\uDFFB","\uD83E\uDEF0\uD83C\uDFFC","\uD83E\uDEF0\uD83C\uDFFD","\uD83E\uDEF0\uD83C\uDFFE","\uD83E\uDEF0\uD83C\uDFFF","\uD83E\uDEF1\uD83C\uDFFB","\uD83E\uDEF1\uD83C\uDFFC","\uD83E\uDEF1\uD83C\uDFFD","\uD83E\uDEF1\uD83C\uDFFE","\uD83E\uDEF1\uD83C\uDFFF","\uD83E\uDEF2\uD83C\uDFFB","\uD83E\uDEF2\uD83C\uDFFC","\uD83E\uDEF2\uD83C\uDFFD","\uD83E\uDEF2\uD83C\uDFFE","\uD83E\uDEF2\uD83C\uDFFF","\uD83E\uDEF3\uD83C\uDFFB","\uD83E\uDEF3\uD83C\uDFFC","\uD83E\uDEF3\uD83C\uDFFD","\uD83E\uDEF3\uD83C\uDFFE","\uD83E\uDEF3\uD83C\uDFFF","\uD83E\uDEF4\uD83C\uDFFB","\uD83E\uDEF4\uD83C\uDFFC","\uD83E\uDEF4\uD83C\uDFFD","\uD83E\uDEF4\uD83C\uDFFE","\uD83E\uDEF4\uD83C\uDFFF","\uD83E\uDEF5\uD83C\uDFFB","\uD83E\uDEF5\uD83C\uDFFC","\uD83E\uDEF5\uD83C\uDFFD","\uD83E\uDEF5\uD83C\uDFFE","\uD83E\uDEF5\uD83C\uDFFF","\uD83E\uDEF6\uD83C\uDFFB","\uD83E\uDEF6\uD83C\uDFFC","\uD83E\uDEF6\uD83C\uDFFD","\uD83E\uDEF6\uD83C\uDFFE","\uD83E\uDEF6\uD83C\uDFFF","\uD83E\uDEF7\uD83C\uDFFB","\uD83E\uDEF7\uD83C\uDFFC","\uD83E\uDEF7\uD83C\uDFFD","\uD83E\uDEF7\uD83C\uDFFE","\uD83E\uDEF7\uD83C\uDFFF","\uD83E\uDEF8\uD83C\uDFFB","\uD83E\uDEF8\uD83C\uDFFC","\uD83E\uDEF8\uD83C\uDFFD","\uD83E\uDEF8\uD83C\uDFFE","\uD83E\uDEF8\uD83C\uDFFF"];return RGI_Emoji_Modifier_Sequence;}var RGI_Emoji_Tag_Sequence={};var hasRequiredRGI_Emoji_Tag_Sequence;function requireRGI_Emoji_Tag_Sequence(){if(hasRequiredRGI_Emoji_Tag_Sequence)return RGI_Emoji_Tag_Sequence;hasRequiredRGI_Emoji_Tag_Sequence=1;var set=regenerateExports();RGI_Emoji_Tag_Sequence.characters=set;RGI_Emoji_Tag_Sequence.strings=["\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67\uDB40\uDC7F","\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74\uDB40\uDC7F","\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73\uDB40\uDC7F"];return RGI_Emoji_Tag_Sequence;}var RGI_Emoji_ZWJ_Sequence={};var hasRequiredRGI_Emoji_ZWJ_Sequence;function requireRGI_Emoji_ZWJ_Sequence(){if(hasRequiredRGI_Emoji_ZWJ_Sequence)return RGI_Emoji_ZWJ_Sequence;hasRequiredRGI_Emoji_ZWJ_Sequence=1;var set=regenerateExports();RGI_Emoji_ZWJ_Sequence.characters=set;RGI_Emoji_ZWJ_Sequence.strings=["\uD83D\uDC68\u200D\u2764\uFE0F\u200D\uD83D\uDC68","\uD83D\uDC68\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68","\uD83D\uDC68\u200D\uD83D\uDC66","\uD83D\uDC68\u200D\uD83D\uDC66\u200D\uD83D\uDC66","\uD83D\uDC68\u200D\uD83D\uDC67","\uD83D\uDC68\u200D\uD83D\uDC67\u200D\uD83D\uDC66","\uD83D\uDC68\u200D\uD83D\uDC67\u200D\uD83D\uDC67","\uD83D\uDC68\u200D\uD83D\uDC68\u200D\uD83D\uDC66","\uD83D\uDC68\u200D\uD83D\uDC68\u200D\uD83D\uDC66\u200D\uD83D\uDC66","\uD83D\uDC68\u200D\uD83D\uDC68\u200D\uD83D\uDC67","\uD83D\uDC68\u200D\uD83D\uDC68\u200D\uD83D\uDC67\u200D\uD83D\uDC66","\uD83D\uDC68\u200D\uD83D\uDC68\u200D\uD83D\uDC67\u200D\uD83D\uDC67","\uD83D\uDC68\u200D\uD83D\uDC69\u200D\uD83D\uDC66","\uD83D\uDC68\u200D\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66","\uD83D\uDC68\u200D\uD83D\uDC69\u200D\uD83D\uDC67","\uD83D\uDC68\u200D\uD83D\uDC69\u200D\uD83D\uDC67\u200D\uD83D\uDC66","\uD83D\uDC68\u200D\uD83D\uDC69\u200D\uD83D\uDC67\u200D\uD83D\uDC67","\uD83D\uDC68\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFB","\uD83D\uDC68\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFC","\uD83D\uDC68\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFD","\uD83D\uDC68\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFE","\uD83D\uDC68\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFF","\uD83D\uDC68\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFB","\uD83D\uDC68\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFC","\uD83D\uDC68\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFD","\uD83D\uDC68\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFE","\uD83D\uDC68\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFF","\uD83D\uDC68\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFC","\uD83D\uDC68\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFD","\uD83D\uDC68\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFE","\uD83D\uDC68\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFF","\uD83D\uDC68\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFB","\uD83D\uDC68\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFC","\uD83D\uDC68\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFD","\uD83D\uDC68\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFE","\uD83D\uDC68\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFF","\uD83D\uDC68\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFB","\uD83D\uDC68\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFC","\uD83D\uDC68\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFD","\uD83D\uDC68\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFE","\uD83D\uDC68\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFF","\uD83D\uDC68\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFB","\uD83D\uDC68\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFD","\uD83D\uDC68\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFE","\uD83D\uDC68\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFF","\uD83D\uDC68\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFB","\uD83D\uDC68\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFC","\uD83D\uDC68\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFD","\uD83D\uDC68\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFE","\uD83D\uDC68\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFF","\uD83D\uDC68\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFB","\uD83D\uDC68\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFC","\uD83D\uDC68\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFD","\uD83D\uDC68\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFE","\uD83D\uDC68\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFF","\uD83D\uDC68\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFB","\uD83D\uDC68\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFC","\uD83D\uDC68\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFE","\uD83D\uDC68\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFF","\uD83D\uDC68\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFB","\uD83D\uDC68\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFC","\uD83D\uDC68\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFD","\uD83D\uDC68\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFE","\uD83D\uDC68\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFF","\uD83D\uDC68\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFB","\uD83D\uDC68\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFC","\uD83D\uDC68\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFD","\uD83D\uDC68\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFE","\uD83D\uDC68\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFF","\uD83D\uDC68\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFB","\uD83D\uDC68\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFC","\uD83D\uDC68\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFD","\uD83D\uDC68\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFF","\uD83D\uDC68\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFB","\uD83D\uDC68\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFC","\uD83D\uDC68\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFD","\uD83D\uDC68\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFE","\uD83D\uDC68\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFF","\uD83D\uDC68\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFB","\uD83D\uDC68\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFC","\uD83D\uDC68\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFD","\uD83D\uDC68\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFE","\uD83D\uDC68\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFF","\uD83D\uDC68\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFB","\uD83D\uDC68\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFC","\uD83D\uDC68\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFD","\uD83D\uDC68\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFE","\uD83D\uDC69\u200D\u2764\uFE0F\u200D\uD83D\uDC68","\uD83D\uDC69\u200D\u2764\uFE0F\u200D\uD83D\uDC69","\uD83D\uDC69\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68","\uD83D\uDC69\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC69","\uD83D\uDC69\u200D\uD83D\uDC66","\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66","\uD83D\uDC69\u200D\uD83D\uDC67","\uD83D\uDC69\u200D\uD83D\uDC67\u200D\uD83D\uDC66","\uD83D\uDC69\u200D\uD83D\uDC67\u200D\uD83D\uDC67","\uD83D\uDC69\u200D\uD83D\uDC69\u200D\uD83D\uDC66","\uD83D\uDC69\u200D\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66","\uD83D\uDC69\u200D\uD83D\uDC69\u200D\uD83D\uDC67","\uD83D\uDC69\u200D\uD83D\uDC69\u200D\uD83D\uDC67\u200D\uD83D\uDC66","\uD83D\uDC69\u200D\uD83D\uDC69\u200D\uD83D\uDC67\u200D\uD83D\uDC67","\uD83D\uDC69\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFB","\uD83D\uDC69\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFC","\uD83D\uDC69\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFD","\uD83D\uDC69\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFE","\uD83D\uDC69\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFF","\uD83D\uDC69\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC69\uD83C\uDFFB","\uD83D\uDC69\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC69\uD83C\uDFFC","\uD83D\uDC69\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC69\uD83C\uDFFD","\uD83D\uDC69\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC69\uD83C\uDFFE","\uD83D\uDC69\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC69\uD83C\uDFFF","\uD83D\uDC69\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFB","\uD83D\uDC69\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFC","\uD83D\uDC69\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFD","\uD83D\uDC69\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFE","\uD83D\uDC69\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFF","\uD83D\uDC69\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC69\uD83C\uDFFB","\uD83D\uDC69\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC69\uD83C\uDFFC","\uD83D\uDC69\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC69\uD83C\uDFFD","\uD83D\uDC69\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC69\uD83C\uDFFE","\uD83D\uDC69\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC69\uD83C\uDFFF","\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFC","\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFD","\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFE","\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFF","\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83D\uDC69\uD83C\uDFFC","\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83D\uDC69\uD83C\uDFFD","\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83D\uDC69\uD83C\uDFFE","\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83D\uDC69\uD83C\uDFFF","\uD83D\uDC69\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFB","\uD83D\uDC69\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFC","\uD83D\uDC69\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFD","\uD83D\uDC69\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFE","\uD83D\uDC69\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFF","\uD83D\uDC69\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC69\uD83C\uDFFB","\uD83D\uDC69\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC69\uD83C\uDFFC","\uD83D\uDC69\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC69\uD83C\uDFFD","\uD83D\uDC69\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC69\uD83C\uDFFE","\uD83D\uDC69\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC69\uD83C\uDFFF","\uD83D\uDC69\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFB","\uD83D\uDC69\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFC","\uD83D\uDC69\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFD","\uD83D\uDC69\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFE","\uD83D\uDC69\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFF","\uD83D\uDC69\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC69\uD83C\uDFFB","\uD83D\uDC69\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC69\uD83C\uDFFC","\uD83D\uDC69\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC69\uD83C\uDFFD","\uD83D\uDC69\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC69\uD83C\uDFFE","\uD83D\uDC69\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC69\uD83C\uDFFF","\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFB","\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFD","\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFE","\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFF","\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC69\uD83C\uDFFB","\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC69\uD83C\uDFFD","\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC69\uD83C\uDFFE","\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC69\uD83C\uDFFF","\uD83D\uDC69\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFB","\uD83D\uDC69\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFC","\uD83D\uDC69\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFD","\uD83D\uDC69\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFE","\uD83D\uDC69\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFF","\uD83D\uDC69\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC69\uD83C\uDFFB","\uD83D\uDC69\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC69\uD83C\uDFFC","\uD83D\uDC69\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC69\uD83C\uDFFD","\uD83D\uDC69\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC69\uD83C\uDFFE","\uD83D\uDC69\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC69\uD83C\uDFFF","\uD83D\uDC69\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFB","\uD83D\uDC69\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFC","\uD83D\uDC69\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFD","\uD83D\uDC69\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFE","\uD83D\uDC69\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFF","\uD83D\uDC69\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC69\uD83C\uDFFB","\uD83D\uDC69\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC69\uD83C\uDFFC","\uD83D\uDC69\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC69\uD83C\uDFFD","\uD83D\uDC69\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC69\uD83C\uDFFE","\uD83D\uDC69\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC69\uD83C\uDFFF","\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFB","\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFC","\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFE","\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFF","\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC69\uD83C\uDFFB","\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC69\uD83C\uDFFC","\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC69\uD83C\uDFFE","\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC69\uD83C\uDFFF","\uD83D\uDC69\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFB","\uD83D\uDC69\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFC","\uD83D\uDC69\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFD","\uD83D\uDC69\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFE","\uD83D\uDC69\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFF","\uD83D\uDC69\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC69\uD83C\uDFFB","\uD83D\uDC69\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC69\uD83C\uDFFC","\uD83D\uDC69\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC69\uD83C\uDFFD","\uD83D\uDC69\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC69\uD83C\uDFFE","\uD83D\uDC69\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC69\uD83C\uDFFF","\uD83D\uDC69\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFB","\uD83D\uDC69\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFC","\uD83D\uDC69\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFD","\uD83D\uDC69\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFE","\uD83D\uDC69\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFF","\uD83D\uDC69\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC69\uD83C\uDFFB","\uD83D\uDC69\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC69\uD83C\uDFFC","\uD83D\uDC69\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC69\uD83C\uDFFD","\uD83D\uDC69\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC69\uD83C\uDFFE","\uD83D\uDC69\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC69\uD83C\uDFFF","\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFB","\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFC","\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFD","\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFF","\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC69\uD83C\uDFFB","\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC69\uD83C\uDFFC","\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC69\uD83C\uDFFD","\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC69\uD83C\uDFFF","\uD83D\uDC69\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFB","\uD83D\uDC69\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFC","\uD83D\uDC69\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFD","\uD83D\uDC69\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFE","\uD83D\uDC69\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFF","\uD83D\uDC69\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC69\uD83C\uDFFB","\uD83D\uDC69\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC69\uD83C\uDFFC","\uD83D\uDC69\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC69\uD83C\uDFFD","\uD83D\uDC69\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC69\uD83C\uDFFE","\uD83D\uDC69\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC69\uD83C\uDFFF","\uD83D\uDC69\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFB","\uD83D\uDC69\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFC","\uD83D\uDC69\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFD","\uD83D\uDC69\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFE","\uD83D\uDC69\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFF","\uD83D\uDC69\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC69\uD83C\uDFFB","\uD83D\uDC69\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC69\uD83C\uDFFC","\uD83D\uDC69\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC69\uD83C\uDFFD","\uD83D\uDC69\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC69\uD83C\uDFFE","\uD83D\uDC69\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC69\uD83C\uDFFF","\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFB","\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFC","\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFD","\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFE","\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83D\uDC69\uD83C\uDFFB","\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83D\uDC69\uD83C\uDFFC","\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83D\uDC69\uD83C\uDFFD","\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83D\uDC69\uD83C\uDFFE","\uD83E\uDDD1\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1","\uD83E\uDDD1\u200D\uD83E\uDDD1\u200D\uD83E\uDDD2","\uD83E\uDDD1\u200D\uD83E\uDDD1\u200D\uD83E\uDDD2\u200D\uD83E\uDDD2","\uD83E\uDDD1\u200D\uD83E\uDDD2","\uD83E\uDDD1\u200D\uD83E\uDDD2\u200D\uD83E\uDDD2","\uD83E\uDDD1\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83E\uDDD1\uD83C\uDFFC","\uD83E\uDDD1\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83E\uDDD1\uD83C\uDFFD","\uD83E\uDDD1\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83E\uDDD1\uD83C\uDFFE","\uD83E\uDDD1\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83E\uDDD1\uD83C\uDFFF","\uD83E\uDDD1\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83E\uDDD1\uD83C\uDFFC","\uD83E\uDDD1\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83E\uDDD1\uD83C\uDFFD","\uD83E\uDDD1\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83E\uDDD1\uD83C\uDFFE","\uD83E\uDDD1\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83E\uDDD1\uD83C\uDFFF","\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1\uD83C\uDFFB","\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1\uD83C\uDFFC","\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1\uD83C\uDFFD","\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1\uD83C\uDFFE","\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1\uD83C\uDFFF","\uD83E\uDDD1\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83E\uDDD1\uD83C\uDFFB","\uD83E\uDDD1\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83E\uDDD1\uD83C\uDFFD","\uD83E\uDDD1\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83E\uDDD1\uD83C\uDFFE","\uD83E\uDDD1\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83E\uDDD1\uD83C\uDFFF","\uD83E\uDDD1\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83E\uDDD1\uD83C\uDFFB","\uD83E\uDDD1\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83E\uDDD1\uD83C\uDFFD","\uD83E\uDDD1\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83E\uDDD1\uD83C\uDFFE","\uD83E\uDDD1\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83E\uDDD1\uD83C\uDFFF","\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1\uD83C\uDFFB","\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1\uD83C\uDFFC","\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1\uD83C\uDFFD","\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1\uD83C\uDFFE","\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1\uD83C\uDFFF","\uD83E\uDDD1\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83E\uDDD1\uD83C\uDFFB","\uD83E\uDDD1\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83E\uDDD1\uD83C\uDFFC","\uD83E\uDDD1\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83E\uDDD1\uD83C\uDFFE","\uD83E\uDDD1\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83E\uDDD1\uD83C\uDFFF","\uD83E\uDDD1\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83E\uDDD1\uD83C\uDFFB","\uD83E\uDDD1\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83E\uDDD1\uD83C\uDFFC","\uD83E\uDDD1\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83E\uDDD1\uD83C\uDFFE","\uD83E\uDDD1\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83E\uDDD1\uD83C\uDFFF","\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1\uD83C\uDFFB","\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1\uD83C\uDFFC","\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1\uD83C\uDFFD","\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1\uD83C\uDFFE","\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1\uD83C\uDFFF","\uD83E\uDDD1\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83E\uDDD1\uD83C\uDFFB","\uD83E\uDDD1\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83E\uDDD1\uD83C\uDFFC","\uD83E\uDDD1\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83E\uDDD1\uD83C\uDFFD","\uD83E\uDDD1\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83E\uDDD1\uD83C\uDFFF","\uD83E\uDDD1\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83E\uDDD1\uD83C\uDFFB","\uD83E\uDDD1\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83E\uDDD1\uD83C\uDFFC","\uD83E\uDDD1\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83E\uDDD1\uD83C\uDFFD","\uD83E\uDDD1\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83E\uDDD1\uD83C\uDFFF","\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1\uD83C\uDFFB","\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1\uD83C\uDFFC","\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1\uD83C\uDFFD","\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1\uD83C\uDFFE","\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1\uD83C\uDFFF","\uD83E\uDDD1\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83E\uDDD1\uD83C\uDFFB","\uD83E\uDDD1\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83E\uDDD1\uD83C\uDFFC","\uD83E\uDDD1\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83E\uDDD1\uD83C\uDFFD","\uD83E\uDDD1\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83E\uDDD1\uD83C\uDFFE","\uD83E\uDDD1\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83E\uDDD1\uD83C\uDFFB","\uD83E\uDDD1\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83E\uDDD1\uD83C\uDFFC","\uD83E\uDDD1\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83E\uDDD1\uD83C\uDFFD","\uD83E\uDDD1\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83E\uDDD1\uD83C\uDFFE","\uD83E\uDDD1\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1\uD83C\uDFFB","\uD83E\uDDD1\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1\uD83C\uDFFC","\uD83E\uDDD1\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1\uD83C\uDFFD","\uD83E\uDDD1\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1\uD83C\uDFFE","\uD83E\uDDD1\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1\uD83C\uDFFF","\uD83E\uDEF1\uD83C\uDFFB\u200D\uD83E\uDEF2\uD83C\uDFFC","\uD83E\uDEF1\uD83C\uDFFB\u200D\uD83E\uDEF2\uD83C\uDFFD","\uD83E\uDEF1\uD83C\uDFFB\u200D\uD83E\uDEF2\uD83C\uDFFE","\uD83E\uDEF1\uD83C\uDFFB\u200D\uD83E\uDEF2\uD83C\uDFFF","\uD83E\uDEF1\uD83C\uDFFC\u200D\uD83E\uDEF2\uD83C\uDFFB","\uD83E\uDEF1\uD83C\uDFFC\u200D\uD83E\uDEF2\uD83C\uDFFD","\uD83E\uDEF1\uD83C\uDFFC\u200D\uD83E\uDEF2\uD83C\uDFFE","\uD83E\uDEF1\uD83C\uDFFC\u200D\uD83E\uDEF2\uD83C\uDFFF","\uD83E\uDEF1\uD83C\uDFFD\u200D\uD83E\uDEF2\uD83C\uDFFB","\uD83E\uDEF1\uD83C\uDFFD\u200D\uD83E\uDEF2\uD83C\uDFFC","\uD83E\uDEF1\uD83C\uDFFD\u200D\uD83E\uDEF2\uD83C\uDFFE","\uD83E\uDEF1\uD83C\uDFFD\u200D\uD83E\uDEF2\uD83C\uDFFF","\uD83E\uDEF1\uD83C\uDFFE\u200D\uD83E\uDEF2\uD83C\uDFFB","\uD83E\uDEF1\uD83C\uDFFE\u200D\uD83E\uDEF2\uD83C\uDFFC","\uD83E\uDEF1\uD83C\uDFFE\u200D\uD83E\uDEF2\uD83C\uDFFD","\uD83E\uDEF1\uD83C\uDFFE\u200D\uD83E\uDEF2\uD83C\uDFFF","\uD83E\uDEF1\uD83C\uDFFF\u200D\uD83E\uDEF2\uD83C\uDFFB","\uD83E\uDEF1\uD83C\uDFFF\u200D\uD83E\uDEF2\uD83C\uDFFC","\uD83E\uDEF1\uD83C\uDFFF\u200D\uD83E\uDEF2\uD83C\uDFFD","\uD83E\uDEF1\uD83C\uDFFF\u200D\uD83E\uDEF2\uD83C\uDFFE","\uD83C\uDFC3\u200D\u27A1\uFE0F","\uD83C\uDFC3\uD83C\uDFFB\u200D\u27A1\uFE0F","\uD83C\uDFC3\uD83C\uDFFC\u200D\u27A1\uFE0F","\uD83C\uDFC3\uD83C\uDFFD\u200D\u27A1\uFE0F","\uD83C\uDFC3\uD83C\uDFFE\u200D\u27A1\uFE0F","\uD83C\uDFC3\uD83C\uDFFF\u200D\u27A1\uFE0F","\uD83D\uDC68\u200D\u2695\uFE0F","\uD83D\uDC68\u200D\u2696\uFE0F","\uD83D\uDC68\u200D\u2708\uFE0F","\uD83D\uDC68\u200D\uD83C\uDF3E","\uD83D\uDC68\u200D\uD83C\uDF73","\uD83D\uDC68\u200D\uD83C\uDF7C","\uD83D\uDC68\u200D\uD83C\uDF93","\uD83D\uDC68\u200D\uD83C\uDFA4","\uD83D\uDC68\u200D\uD83C\uDFA8","\uD83D\uDC68\u200D\uD83C\uDFEB","\uD83D\uDC68\u200D\uD83C\uDFED","\uD83D\uDC68\u200D\uD83D\uDCBB","\uD83D\uDC68\u200D\uD83D\uDCBC","\uD83D\uDC68\u200D\uD83D\uDD27","\uD83D\uDC68\u200D\uD83D\uDD2C","\uD83D\uDC68\u200D\uD83D\uDE80","\uD83D\uDC68\u200D\uD83D\uDE92","\uD83D\uDC68\u200D\uD83E\uDDAF","\uD83D\uDC68\u200D\uD83E\uDDAF\u200D\u27A1\uFE0F","\uD83D\uDC68\u200D\uD83E\uDDBC","\uD83D\uDC68\u200D\uD83E\uDDBC\u200D\u27A1\uFE0F","\uD83D\uDC68\u200D\uD83E\uDDBD","\uD83D\uDC68\u200D\uD83E\uDDBD\u200D\u27A1\uFE0F","\uD83D\uDC68\uD83C\uDFFB\u200D\u2695\uFE0F","\uD83D\uDC68\uD83C\uDFFB\u200D\u2696\uFE0F","\uD83D\uDC68\uD83C\uDFFB\u200D\u2708\uFE0F","\uD83D\uDC68\uD83C\uDFFB\u200D\uD83C\uDF3E","\uD83D\uDC68\uD83C\uDFFB\u200D\uD83C\uDF73","\uD83D\uDC68\uD83C\uDFFB\u200D\uD83C\uDF7C","\uD83D\uDC68\uD83C\uDFFB\u200D\uD83C\uDF93","\uD83D\uDC68\uD83C\uDFFB\u200D\uD83C\uDFA4","\uD83D\uDC68\uD83C\uDFFB\u200D\uD83C\uDFA8","\uD83D\uDC68\uD83C\uDFFB\u200D\uD83C\uDFEB","\uD83D\uDC68\uD83C\uDFFB\u200D\uD83C\uDFED","\uD83D\uDC68\uD83C\uDFFB\u200D\uD83D\uDCBB","\uD83D\uDC68\uD83C\uDFFB\u200D\uD83D\uDCBC","\uD83D\uDC68\uD83C\uDFFB\u200D\uD83D\uDD27","\uD83D\uDC68\uD83C\uDFFB\u200D\uD83D\uDD2C","\uD83D\uDC68\uD83C\uDFFB\u200D\uD83D\uDE80","\uD83D\uDC68\uD83C\uDFFB\u200D\uD83D\uDE92","\uD83D\uDC68\uD83C\uDFFB\u200D\uD83E\uDDAF","\uD83D\uDC68\uD83C\uDFFB\u200D\uD83E\uDDAF\u200D\u27A1\uFE0F","\uD83D\uDC68\uD83C\uDFFB\u200D\uD83E\uDDBC","\uD83D\uDC68\uD83C\uDFFB\u200D\uD83E\uDDBC\u200D\u27A1\uFE0F","\uD83D\uDC68\uD83C\uDFFB\u200D\uD83E\uDDBD","\uD83D\uDC68\uD83C\uDFFB\u200D\uD83E\uDDBD\u200D\u27A1\uFE0F","\uD83D\uDC68\uD83C\uDFFC\u200D\u2695\uFE0F","\uD83D\uDC68\uD83C\uDFFC\u200D\u2696\uFE0F","\uD83D\uDC68\uD83C\uDFFC\u200D\u2708\uFE0F","\uD83D\uDC68\uD83C\uDFFC\u200D\uD83C\uDF3E","\uD83D\uDC68\uD83C\uDFFC\u200D\uD83C\uDF73","\uD83D\uDC68\uD83C\uDFFC\u200D\uD83C\uDF7C","\uD83D\uDC68\uD83C\uDFFC\u200D\uD83C\uDF93","\uD83D\uDC68\uD83C\uDFFC\u200D\uD83C\uDFA4","\uD83D\uDC68\uD83C\uDFFC\u200D\uD83C\uDFA8","\uD83D\uDC68\uD83C\uDFFC\u200D\uD83C\uDFEB","\uD83D\uDC68\uD83C\uDFFC\u200D\uD83C\uDFED","\uD83D\uDC68\uD83C\uDFFC\u200D\uD83D\uDCBB","\uD83D\uDC68\uD83C\uDFFC\u200D\uD83D\uDCBC","\uD83D\uDC68\uD83C\uDFFC\u200D\uD83D\uDD27","\uD83D\uDC68\uD83C\uDFFC\u200D\uD83D\uDD2C","\uD83D\uDC68\uD83C\uDFFC\u200D\uD83D\uDE80","\uD83D\uDC68\uD83C\uDFFC\u200D\uD83D\uDE92","\uD83D\uDC68\uD83C\uDFFC\u200D\uD83E\uDDAF","\uD83D\uDC68\uD83C\uDFFC\u200D\uD83E\uDDAF\u200D\u27A1\uFE0F","\uD83D\uDC68\uD83C\uDFFC\u200D\uD83E\uDDBC","\uD83D\uDC68\uD83C\uDFFC\u200D\uD83E\uDDBC\u200D\u27A1\uFE0F","\uD83D\uDC68\uD83C\uDFFC\u200D\uD83E\uDDBD","\uD83D\uDC68\uD83C\uDFFC\u200D\uD83E\uDDBD\u200D\u27A1\uFE0F","\uD83D\uDC68\uD83C\uDFFD\u200D\u2695\uFE0F","\uD83D\uDC68\uD83C\uDFFD\u200D\u2696\uFE0F","\uD83D\uDC68\uD83C\uDFFD\u200D\u2708\uFE0F","\uD83D\uDC68\uD83C\uDFFD\u200D\uD83C\uDF3E","\uD83D\uDC68\uD83C\uDFFD\u200D\uD83C\uDF73","\uD83D\uDC68\uD83C\uDFFD\u200D\uD83C\uDF7C","\uD83D\uDC68\uD83C\uDFFD\u200D\uD83C\uDF93","\uD83D\uDC68\uD83C\uDFFD\u200D\uD83C\uDFA4","\uD83D\uDC68\uD83C\uDFFD\u200D\uD83C\uDFA8","\uD83D\uDC68\uD83C\uDFFD\u200D\uD83C\uDFEB","\uD83D\uDC68\uD83C\uDFFD\u200D\uD83C\uDFED","\uD83D\uDC68\uD83C\uDFFD\u200D\uD83D\uDCBB","\uD83D\uDC68\uD83C\uDFFD\u200D\uD83D\uDCBC","\uD83D\uDC68\uD83C\uDFFD\u200D\uD83D\uDD27","\uD83D\uDC68\uD83C\uDFFD\u200D\uD83D\uDD2C","\uD83D\uDC68\uD83C\uDFFD\u200D\uD83D\uDE80","\uD83D\uDC68\uD83C\uDFFD\u200D\uD83D\uDE92","\uD83D\uDC68\uD83C\uDFFD\u200D\uD83E\uDDAF","\uD83D\uDC68\uD83C\uDFFD\u200D\uD83E\uDDAF\u200D\u27A1\uFE0F","\uD83D\uDC68\uD83C\uDFFD\u200D\uD83E\uDDBC","\uD83D\uDC68\uD83C\uDFFD\u200D\uD83E\uDDBC\u200D\u27A1\uFE0F","\uD83D\uDC68\uD83C\uDFFD\u200D\uD83E\uDDBD","\uD83D\uDC68\uD83C\uDFFD\u200D\uD83E\uDDBD\u200D\u27A1\uFE0F","\uD83D\uDC68\uD83C\uDFFE\u200D\u2695\uFE0F","\uD83D\uDC68\uD83C\uDFFE\u200D\u2696\uFE0F","\uD83D\uDC68\uD83C\uDFFE\u200D\u2708\uFE0F","\uD83D\uDC68\uD83C\uDFFE\u200D\uD83C\uDF3E","\uD83D\uDC68\uD83C\uDFFE\u200D\uD83C\uDF73","\uD83D\uDC68\uD83C\uDFFE\u200D\uD83C\uDF7C","\uD83D\uDC68\uD83C\uDFFE\u200D\uD83C\uDF93","\uD83D\uDC68\uD83C\uDFFE\u200D\uD83C\uDFA4","\uD83D\uDC68\uD83C\uDFFE\u200D\uD83C\uDFA8","\uD83D\uDC68\uD83C\uDFFE\u200D\uD83C\uDFEB","\uD83D\uDC68\uD83C\uDFFE\u200D\uD83C\uDFED","\uD83D\uDC68\uD83C\uDFFE\u200D\uD83D\uDCBB","\uD83D\uDC68\uD83C\uDFFE\u200D\uD83D\uDCBC","\uD83D\uDC68\uD83C\uDFFE\u200D\uD83D\uDD27","\uD83D\uDC68\uD83C\uDFFE\u200D\uD83D\uDD2C","\uD83D\uDC68\uD83C\uDFFE\u200D\uD83D\uDE80","\uD83D\uDC68\uD83C\uDFFE\u200D\uD83D\uDE92","\uD83D\uDC68\uD83C\uDFFE\u200D\uD83E\uDDAF","\uD83D\uDC68\uD83C\uDFFE\u200D\uD83E\uDDAF\u200D\u27A1\uFE0F","\uD83D\uDC68\uD83C\uDFFE\u200D\uD83E\uDDBC","\uD83D\uDC68\uD83C\uDFFE\u200D\uD83E\uDDBC\u200D\u27A1\uFE0F","\uD83D\uDC68\uD83C\uDFFE\u200D\uD83E\uDDBD","\uD83D\uDC68\uD83C\uDFFE\u200D\uD83E\uDDBD\u200D\u27A1\uFE0F","\uD83D\uDC68\uD83C\uDFFF\u200D\u2695\uFE0F","\uD83D\uDC68\uD83C\uDFFF\u200D\u2696\uFE0F","\uD83D\uDC68\uD83C\uDFFF\u200D\u2708\uFE0F","\uD83D\uDC68\uD83C\uDFFF\u200D\uD83C\uDF3E","\uD83D\uDC68\uD83C\uDFFF\u200D\uD83C\uDF73","\uD83D\uDC68\uD83C\uDFFF\u200D\uD83C\uDF7C","\uD83D\uDC68\uD83C\uDFFF\u200D\uD83C\uDF93","\uD83D\uDC68\uD83C\uDFFF\u200D\uD83C\uDFA4","\uD83D\uDC68\uD83C\uDFFF\u200D\uD83C\uDFA8","\uD83D\uDC68\uD83C\uDFFF\u200D\uD83C\uDFEB","\uD83D\uDC68\uD83C\uDFFF\u200D\uD83C\uDFED","\uD83D\uDC68\uD83C\uDFFF\u200D\uD83D\uDCBB","\uD83D\uDC68\uD83C\uDFFF\u200D\uD83D\uDCBC","\uD83D\uDC68\uD83C\uDFFF\u200D\uD83D\uDD27","\uD83D\uDC68\uD83C\uDFFF\u200D\uD83D\uDD2C","\uD83D\uDC68\uD83C\uDFFF\u200D\uD83D\uDE80","\uD83D\uDC68\uD83C\uDFFF\u200D\uD83D\uDE92","\uD83D\uDC68\uD83C\uDFFF\u200D\uD83E\uDDAF","\uD83D\uDC68\uD83C\uDFFF\u200D\uD83E\uDDAF\u200D\u27A1\uFE0F","\uD83D\uDC68\uD83C\uDFFF\u200D\uD83E\uDDBC","\uD83D\uDC68\uD83C\uDFFF\u200D\uD83E\uDDBC\u200D\u27A1\uFE0F","\uD83D\uDC68\uD83C\uDFFF\u200D\uD83E\uDDBD","\uD83D\uDC68\uD83C\uDFFF\u200D\uD83E\uDDBD\u200D\u27A1\uFE0F","\uD83D\uDC69\u200D\u2695\uFE0F","\uD83D\uDC69\u200D\u2696\uFE0F","\uD83D\uDC69\u200D\u2708\uFE0F","\uD83D\uDC69\u200D\uD83C\uDF3E","\uD83D\uDC69\u200D\uD83C\uDF73","\uD83D\uDC69\u200D\uD83C\uDF7C","\uD83D\uDC69\u200D\uD83C\uDF93","\uD83D\uDC69\u200D\uD83C\uDFA4","\uD83D\uDC69\u200D\uD83C\uDFA8","\uD83D\uDC69\u200D\uD83C\uDFEB","\uD83D\uDC69\u200D\uD83C\uDFED","\uD83D\uDC69\u200D\uD83D\uDCBB","\uD83D\uDC69\u200D\uD83D\uDCBC","\uD83D\uDC69\u200D\uD83D\uDD27","\uD83D\uDC69\u200D\uD83D\uDD2C","\uD83D\uDC69\u200D\uD83D\uDE80","\uD83D\uDC69\u200D\uD83D\uDE92","\uD83D\uDC69\u200D\uD83E\uDDAF","\uD83D\uDC69\u200D\uD83E\uDDAF\u200D\u27A1\uFE0F","\uD83D\uDC69\u200D\uD83E\uDDBC","\uD83D\uDC69\u200D\uD83E\uDDBC\u200D\u27A1\uFE0F","\uD83D\uDC69\u200D\uD83E\uDDBD","\uD83D\uDC69\u200D\uD83E\uDDBD\u200D\u27A1\uFE0F","\uD83D\uDC69\uD83C\uDFFB\u200D\u2695\uFE0F","\uD83D\uDC69\uD83C\uDFFB\u200D\u2696\uFE0F","\uD83D\uDC69\uD83C\uDFFB\u200D\u2708\uFE0F","\uD83D\uDC69\uD83C\uDFFB\u200D\uD83C\uDF3E","\uD83D\uDC69\uD83C\uDFFB\u200D\uD83C\uDF73","\uD83D\uDC69\uD83C\uDFFB\u200D\uD83C\uDF7C","\uD83D\uDC69\uD83C\uDFFB\u200D\uD83C\uDF93","\uD83D\uDC69\uD83C\uDFFB\u200D\uD83C\uDFA4","\uD83D\uDC69\uD83C\uDFFB\u200D\uD83C\uDFA8","\uD83D\uDC69\uD83C\uDFFB\u200D\uD83C\uDFEB","\uD83D\uDC69\uD83C\uDFFB\u200D\uD83C\uDFED","\uD83D\uDC69\uD83C\uDFFB\u200D\uD83D\uDCBB","\uD83D\uDC69\uD83C\uDFFB\u200D\uD83D\uDCBC","\uD83D\uDC69\uD83C\uDFFB\u200D\uD83D\uDD27","\uD83D\uDC69\uD83C\uDFFB\u200D\uD83D\uDD2C","\uD83D\uDC69\uD83C\uDFFB\u200D\uD83D\uDE80","\uD83D\uDC69\uD83C\uDFFB\u200D\uD83D\uDE92","\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDDAF","\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDDAF\u200D\u27A1\uFE0F","\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDDBC","\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDDBC\u200D\u27A1\uFE0F","\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDDBD","\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDDBD\u200D\u27A1\uFE0F","\uD83D\uDC69\uD83C\uDFFC\u200D\u2695\uFE0F","\uD83D\uDC69\uD83C\uDFFC\u200D\u2696\uFE0F","\uD83D\uDC69\uD83C\uDFFC\u200D\u2708\uFE0F","\uD83D\uDC69\uD83C\uDFFC\u200D\uD83C\uDF3E","\uD83D\uDC69\uD83C\uDFFC\u200D\uD83C\uDF73","\uD83D\uDC69\uD83C\uDFFC\u200D\uD83C\uDF7C","\uD83D\uDC69\uD83C\uDFFC\u200D\uD83C\uDF93","\uD83D\uDC69\uD83C\uDFFC\u200D\uD83C\uDFA4","\uD83D\uDC69\uD83C\uDFFC\u200D\uD83C\uDFA8","\uD83D\uDC69\uD83C\uDFFC\u200D\uD83C\uDFEB","\uD83D\uDC69\uD83C\uDFFC\u200D\uD83C\uDFED","\uD83D\uDC69\uD83C\uDFFC\u200D\uD83D\uDCBB","\uD83D\uDC69\uD83C\uDFFC\u200D\uD83D\uDCBC","\uD83D\uDC69\uD83C\uDFFC\u200D\uD83D\uDD27","\uD83D\uDC69\uD83C\uDFFC\u200D\uD83D\uDD2C","\uD83D\uDC69\uD83C\uDFFC\u200D\uD83D\uDE80","\uD83D\uDC69\uD83C\uDFFC\u200D\uD83D\uDE92","\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDDAF","\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDDAF\u200D\u27A1\uFE0F","\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDDBC","\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDDBC\u200D\u27A1\uFE0F","\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDDBD","\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDDBD\u200D\u27A1\uFE0F","\uD83D\uDC69\uD83C\uDFFD\u200D\u2695\uFE0F","\uD83D\uDC69\uD83C\uDFFD\u200D\u2696\uFE0F","\uD83D\uDC69\uD83C\uDFFD\u200D\u2708\uFE0F","\uD83D\uDC69\uD83C\uDFFD\u200D\uD83C\uDF3E","\uD83D\uDC69\uD83C\uDFFD\u200D\uD83C\uDF73","\uD83D\uDC69\uD83C\uDFFD\u200D\uD83C\uDF7C","\uD83D\uDC69\uD83C\uDFFD\u200D\uD83C\uDF93","\uD83D\uDC69\uD83C\uDFFD\u200D\uD83C\uDFA4","\uD83D\uDC69\uD83C\uDFFD\u200D\uD83C\uDFA8","\uD83D\uDC69\uD83C\uDFFD\u200D\uD83C\uDFEB","\uD83D\uDC69\uD83C\uDFFD\u200D\uD83C\uDFED","\uD83D\uDC69\uD83C\uDFFD\u200D\uD83D\uDCBB","\uD83D\uDC69\uD83C\uDFFD\u200D\uD83D\uDCBC","\uD83D\uDC69\uD83C\uDFFD\u200D\uD83D\uDD27","\uD83D\uDC69\uD83C\uDFFD\u200D\uD83D\uDD2C","\uD83D\uDC69\uD83C\uDFFD\u200D\uD83D\uDE80","\uD83D\uDC69\uD83C\uDFFD\u200D\uD83D\uDE92","\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDDAF","\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDDAF\u200D\u27A1\uFE0F","\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDDBC","\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDDBC\u200D\u27A1\uFE0F","\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDDBD","\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDDBD\u200D\u27A1\uFE0F","\uD83D\uDC69\uD83C\uDFFE\u200D\u2695\uFE0F","\uD83D\uDC69\uD83C\uDFFE\u200D\u2696\uFE0F","\uD83D\uDC69\uD83C\uDFFE\u200D\u2708\uFE0F","\uD83D\uDC69\uD83C\uDFFE\u200D\uD83C\uDF3E","\uD83D\uDC69\uD83C\uDFFE\u200D\uD83C\uDF73","\uD83D\uDC69\uD83C\uDFFE\u200D\uD83C\uDF7C","\uD83D\uDC69\uD83C\uDFFE\u200D\uD83C\uDF93","\uD83D\uDC69\uD83C\uDFFE\u200D\uD83C\uDFA4","\uD83D\uDC69\uD83C\uDFFE\u200D\uD83C\uDFA8","\uD83D\uDC69\uD83C\uDFFE\u200D\uD83C\uDFEB","\uD83D\uDC69\uD83C\uDFFE\u200D\uD83C\uDFED","\uD83D\uDC69\uD83C\uDFFE\u200D\uD83D\uDCBB","\uD83D\uDC69\uD83C\uDFFE\u200D\uD83D\uDCBC","\uD83D\uDC69\uD83C\uDFFE\u200D\uD83D\uDD27","\uD83D\uDC69\uD83C\uDFFE\u200D\uD83D\uDD2C","\uD83D\uDC69\uD83C\uDFFE\u200D\uD83D\uDE80","\uD83D\uDC69\uD83C\uDFFE\u200D\uD83D\uDE92","\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDDAF","\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDDAF\u200D\u27A1\uFE0F","\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDDBC","\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDDBC\u200D\u27A1\uFE0F","\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDDBD","\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDDBD\u200D\u27A1\uFE0F","\uD83D\uDC69\uD83C\uDFFF\u200D\u2695\uFE0F","\uD83D\uDC69\uD83C\uDFFF\u200D\u2696\uFE0F","\uD83D\uDC69\uD83C\uDFFF\u200D\u2708\uFE0F","\uD83D\uDC69\uD83C\uDFFF\u200D\uD83C\uDF3E","\uD83D\uDC69\uD83C\uDFFF\u200D\uD83C\uDF73","\uD83D\uDC69\uD83C\uDFFF\u200D\uD83C\uDF7C","\uD83D\uDC69\uD83C\uDFFF\u200D\uD83C\uDF93","\uD83D\uDC69\uD83C\uDFFF\u200D\uD83C\uDFA4","\uD83D\uDC69\uD83C\uDFFF\u200D\uD83C\uDFA8","\uD83D\uDC69\uD83C\uDFFF\u200D\uD83C\uDFEB","\uD83D\uDC69\uD83C\uDFFF\u200D\uD83C\uDFED","\uD83D\uDC69\uD83C\uDFFF\u200D\uD83D\uDCBB","\uD83D\uDC69\uD83C\uDFFF\u200D\uD83D\uDCBC","\uD83D\uDC69\uD83C\uDFFF\u200D\uD83D\uDD27","\uD83D\uDC69\uD83C\uDFFF\u200D\uD83D\uDD2C","\uD83D\uDC69\uD83C\uDFFF\u200D\uD83D\uDE80","\uD83D\uDC69\uD83C\uDFFF\u200D\uD83D\uDE92","\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDDAF","\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDDAF\u200D\u27A1\uFE0F","\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDDBC","\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDDBC\u200D\u27A1\uFE0F","\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDDBD","\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDDBD\u200D\u27A1\uFE0F","\uD83D\uDEB6\u200D\u27A1\uFE0F","\uD83D\uDEB6\uD83C\uDFFB\u200D\u27A1\uFE0F","\uD83D\uDEB6\uD83C\uDFFC\u200D\u27A1\uFE0F","\uD83D\uDEB6\uD83C\uDFFD\u200D\u27A1\uFE0F","\uD83D\uDEB6\uD83C\uDFFE\u200D\u27A1\uFE0F","\uD83D\uDEB6\uD83C\uDFFF\u200D\u27A1\uFE0F","\uD83E\uDDCE\u200D\u27A1\uFE0F","\uD83E\uDDCE\uD83C\uDFFB\u200D\u27A1\uFE0F","\uD83E\uDDCE\uD83C\uDFFC\u200D\u27A1\uFE0F","\uD83E\uDDCE\uD83C\uDFFD\u200D\u27A1\uFE0F","\uD83E\uDDCE\uD83C\uDFFE\u200D\u27A1\uFE0F","\uD83E\uDDCE\uD83C\uDFFF\u200D\u27A1\uFE0F","\uD83E\uDDD1\u200D\u2695\uFE0F","\uD83E\uDDD1\u200D\u2696\uFE0F","\uD83E\uDDD1\u200D\u2708\uFE0F","\uD83E\uDDD1\u200D\uD83C\uDF3E","\uD83E\uDDD1\u200D\uD83C\uDF73","\uD83E\uDDD1\u200D\uD83C\uDF7C","\uD83E\uDDD1\u200D\uD83C\uDF84","\uD83E\uDDD1\u200D\uD83C\uDF93","\uD83E\uDDD1\u200D\uD83C\uDFA4","\uD83E\uDDD1\u200D\uD83C\uDFA8","\uD83E\uDDD1\u200D\uD83C\uDFEB","\uD83E\uDDD1\u200D\uD83C\uDFED","\uD83E\uDDD1\u200D\uD83D\uDCBB","\uD83E\uDDD1\u200D\uD83D\uDCBC","\uD83E\uDDD1\u200D\uD83D\uDD27","\uD83E\uDDD1\u200D\uD83D\uDD2C","\uD83E\uDDD1\u200D\uD83D\uDE80","\uD83E\uDDD1\u200D\uD83D\uDE92","\uD83E\uDDD1\u200D\uD83E\uDDAF","\uD83E\uDDD1\u200D\uD83E\uDDAF\u200D\u27A1\uFE0F","\uD83E\uDDD1\u200D\uD83E\uDDBC","\uD83E\uDDD1\u200D\uD83E\uDDBC\u200D\u27A1\uFE0F","\uD83E\uDDD1\u200D\uD83E\uDDBD","\uD83E\uDDD1\u200D\uD83E\uDDBD\u200D\u27A1\uFE0F","\uD83E\uDDD1\uD83C\uDFFB\u200D\u2695\uFE0F","\uD83E\uDDD1\uD83C\uDFFB\u200D\u2696\uFE0F","\uD83E\uDDD1\uD83C\uDFFB\u200D\u2708\uFE0F","\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83C\uDF3E","\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83C\uDF73","\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83C\uDF7C","\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83C\uDF84","\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83C\uDF93","\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83C\uDFA4","\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83C\uDFA8","\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83C\uDFEB","\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83C\uDFED","\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83D\uDCBB","\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83D\uDCBC","\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83D\uDD27","\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83D\uDD2C","\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83D\uDE80","\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83D\uDE92","\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDDAF","\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDDAF\u200D\u27A1\uFE0F","\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDDBC","\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDDBC\u200D\u27A1\uFE0F","\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDDBD","\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDDBD\u200D\u27A1\uFE0F","\uD83E\uDDD1\uD83C\uDFFC\u200D\u2695\uFE0F","\uD83E\uDDD1\uD83C\uDFFC\u200D\u2696\uFE0F","\uD83E\uDDD1\uD83C\uDFFC\u200D\u2708\uFE0F","\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83C\uDF3E","\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83C\uDF73","\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83C\uDF7C","\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83C\uDF84","\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83C\uDF93","\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83C\uDFA4","\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83C\uDFA8","\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83C\uDFEB","\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83C\uDFED","\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83D\uDCBB","\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83D\uDCBC","\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83D\uDD27","\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83D\uDD2C","\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83D\uDE80","\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83D\uDE92","\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDDAF","\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDDAF\u200D\u27A1\uFE0F","\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDDBC","\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDDBC\u200D\u27A1\uFE0F","\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDDBD","\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDDBD\u200D\u27A1\uFE0F","\uD83E\uDDD1\uD83C\uDFFD\u200D\u2695\uFE0F","\uD83E\uDDD1\uD83C\uDFFD\u200D\u2696\uFE0F","\uD83E\uDDD1\uD83C\uDFFD\u200D\u2708\uFE0F","\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83C\uDF3E","\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83C\uDF73","\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83C\uDF7C","\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83C\uDF84","\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83C\uDF93","\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83C\uDFA4","\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83C\uDFA8","\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83C\uDFEB","\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83C\uDFED","\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83D\uDCBB","\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83D\uDCBC","\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83D\uDD27","\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83D\uDD2C","\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83D\uDE80","\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83D\uDE92","\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDDAF","\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDDAF\u200D\u27A1\uFE0F","\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDDBC","\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDDBC\u200D\u27A1\uFE0F","\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDDBD","\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDDBD\u200D\u27A1\uFE0F","\uD83E\uDDD1\uD83C\uDFFE\u200D\u2695\uFE0F","\uD83E\uDDD1\uD83C\uDFFE\u200D\u2696\uFE0F","\uD83E\uDDD1\uD83C\uDFFE\u200D\u2708\uFE0F","\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83C\uDF3E","\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83C\uDF73","\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83C\uDF7C","\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83C\uDF84","\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83C\uDF93","\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83C\uDFA4","\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83C\uDFA8","\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83C\uDFEB","\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83C\uDFED","\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83D\uDCBB","\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83D\uDCBC","\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83D\uDD27","\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83D\uDD2C","\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83D\uDE80","\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83D\uDE92","\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDDAF","\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDDAF\u200D\u27A1\uFE0F","\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDDBC","\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDDBC\u200D\u27A1\uFE0F","\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDDBD","\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDDBD\u200D\u27A1\uFE0F","\uD83E\uDDD1\uD83C\uDFFF\u200D\u2695\uFE0F","\uD83E\uDDD1\uD83C\uDFFF\u200D\u2696\uFE0F","\uD83E\uDDD1\uD83C\uDFFF\u200D\u2708\uFE0F","\uD83E\uDDD1\uD83C\uDFFF\u200D\uD83C\uDF3E","\uD83E\uDDD1\uD83C\uDFFF\u200D\uD83C\uDF73","\uD83E\uDDD1\uD83C\uDFFF\u200D\uD83C\uDF7C","\uD83E\uDDD1\uD83C\uDFFF\u200D\uD83C\uDF84","\uD83E\uDDD1\uD83C\uDFFF\u200D\uD83C\uDF93","\uD83E\uDDD1\uD83C\uDFFF\u200D\uD83C\uDFA4","\uD83E\uDDD1\uD83C\uDFFF\u200D\uD83C\uDFA8","\uD83E\uDDD1\uD83C\uDFFF\u200D\uD83C\uDFEB","\uD83E\uDDD1\uD83C\uDFFF\u200D\uD83C\uDFED","\uD83E\uDDD1\uD83C\uDFFF\u200D\uD83D\uDCBB","\uD83E\uDDD1\uD83C\uDFFF\u200D\uD83D\uDCBC","\uD83E\uDDD1\uD83C\uDFFF\u200D\uD83D\uDD27","\uD83E\uDDD1\uD83C\uDFFF\u200D\uD83D\uDD2C","\uD83E\uDDD1\uD83C\uDFFF\u200D\uD83D\uDE80","\uD83E\uDDD1\uD83C\uDFFF\u200D\uD83D\uDE92","\uD83E\uDDD1\uD83C\uDFFF\u200D\uD83E\uDDAF","\uD83E\uDDD1\uD83C\uDFFF\u200D\uD83E\uDDAF\u200D\u27A1\uFE0F","\uD83E\uDDD1\uD83C\uDFFF\u200D\uD83E\uDDBC","\uD83E\uDDD1\uD83C\uDFFF\u200D\uD83E\uDDBC\u200D\u27A1\uFE0F","\uD83E\uDDD1\uD83C\uDFFF\u200D\uD83E\uDDBD","\uD83E\uDDD1\uD83C\uDFFF\u200D\uD83E\uDDBD\u200D\u27A1\uFE0F","\u26F9\uD83C\uDFFB\u200D\u2640\uFE0F","\u26F9\uD83C\uDFFB\u200D\u2642\uFE0F","\u26F9\uD83C\uDFFC\u200D\u2640\uFE0F","\u26F9\uD83C\uDFFC\u200D\u2642\uFE0F","\u26F9\uD83C\uDFFD\u200D\u2640\uFE0F","\u26F9\uD83C\uDFFD\u200D\u2642\uFE0F","\u26F9\uD83C\uDFFE\u200D\u2640\uFE0F","\u26F9\uD83C\uDFFE\u200D\u2642\uFE0F","\u26F9\uD83C\uDFFF\u200D\u2640\uFE0F","\u26F9\uD83C\uDFFF\u200D\u2642\uFE0F","\u26F9\uFE0F\u200D\u2640\uFE0F","\u26F9\uFE0F\u200D\u2642\uFE0F","\uD83C\uDFC3\u200D\u2640\uFE0F","\uD83C\uDFC3\u200D\u2640\uFE0F\u200D\u27A1\uFE0F","\uD83C\uDFC3\u200D\u2642\uFE0F","\uD83C\uDFC3\u200D\u2642\uFE0F\u200D\u27A1\uFE0F","\uD83C\uDFC3\uD83C\uDFFB\u200D\u2640\uFE0F","\uD83C\uDFC3\uD83C\uDFFB\u200D\u2640\uFE0F\u200D\u27A1\uFE0F","\uD83C\uDFC3\uD83C\uDFFB\u200D\u2642\uFE0F","\uD83C\uDFC3\uD83C\uDFFB\u200D\u2642\uFE0F\u200D\u27A1\uFE0F","\uD83C\uDFC3\uD83C\uDFFC\u200D\u2640\uFE0F","\uD83C\uDFC3\uD83C\uDFFC\u200D\u2640\uFE0F\u200D\u27A1\uFE0F","\uD83C\uDFC3\uD83C\uDFFC\u200D\u2642\uFE0F","\uD83C\uDFC3\uD83C\uDFFC\u200D\u2642\uFE0F\u200D\u27A1\uFE0F","\uD83C\uDFC3\uD83C\uDFFD\u200D\u2640\uFE0F","\uD83C\uDFC3\uD83C\uDFFD\u200D\u2640\uFE0F\u200D\u27A1\uFE0F","\uD83C\uDFC3\uD83C\uDFFD\u200D\u2642\uFE0F","\uD83C\uDFC3\uD83C\uDFFD\u200D\u2642\uFE0F\u200D\u27A1\uFE0F","\uD83C\uDFC3\uD83C\uDFFE\u200D\u2640\uFE0F","\uD83C\uDFC3\uD83C\uDFFE\u200D\u2640\uFE0F\u200D\u27A1\uFE0F","\uD83C\uDFC3\uD83C\uDFFE\u200D\u2642\uFE0F","\uD83C\uDFC3\uD83C\uDFFE\u200D\u2642\uFE0F\u200D\u27A1\uFE0F","\uD83C\uDFC3\uD83C\uDFFF\u200D\u2640\uFE0F","\uD83C\uDFC3\uD83C\uDFFF\u200D\u2640\uFE0F\u200D\u27A1\uFE0F","\uD83C\uDFC3\uD83C\uDFFF\u200D\u2642\uFE0F","\uD83C\uDFC3\uD83C\uDFFF\u200D\u2642\uFE0F\u200D\u27A1\uFE0F","\uD83C\uDFC4\u200D\u2640\uFE0F","\uD83C\uDFC4\u200D\u2642\uFE0F","\uD83C\uDFC4\uD83C\uDFFB\u200D\u2640\uFE0F","\uD83C\uDFC4\uD83C\uDFFB\u200D\u2642\uFE0F","\uD83C\uDFC4\uD83C\uDFFC\u200D\u2640\uFE0F","\uD83C\uDFC4\uD83C\uDFFC\u200D\u2642\uFE0F","\uD83C\uDFC4\uD83C\uDFFD\u200D\u2640\uFE0F","\uD83C\uDFC4\uD83C\uDFFD\u200D\u2642\uFE0F","\uD83C\uDFC4\uD83C\uDFFE\u200D\u2640\uFE0F","\uD83C\uDFC4\uD83C\uDFFE\u200D\u2642\uFE0F","\uD83C\uDFC4\uD83C\uDFFF\u200D\u2640\uFE0F","\uD83C\uDFC4\uD83C\uDFFF\u200D\u2642\uFE0F","\uD83C\uDFCA\u200D\u2640\uFE0F","\uD83C\uDFCA\u200D\u2642\uFE0F","\uD83C\uDFCA\uD83C\uDFFB\u200D\u2640\uFE0F","\uD83C\uDFCA\uD83C\uDFFB\u200D\u2642\uFE0F","\uD83C\uDFCA\uD83C\uDFFC\u200D\u2640\uFE0F","\uD83C\uDFCA\uD83C\uDFFC\u200D\u2642\uFE0F","\uD83C\uDFCA\uD83C\uDFFD\u200D\u2640\uFE0F","\uD83C\uDFCA\uD83C\uDFFD\u200D\u2642\uFE0F","\uD83C\uDFCA\uD83C\uDFFE\u200D\u2640\uFE0F","\uD83C\uDFCA\uD83C\uDFFE\u200D\u2642\uFE0F","\uD83C\uDFCA\uD83C\uDFFF\u200D\u2640\uFE0F","\uD83C\uDFCA\uD83C\uDFFF\u200D\u2642\uFE0F","\uD83C\uDFCB\uD83C\uDFFB\u200D\u2640\uFE0F","\uD83C\uDFCB\uD83C\uDFFB\u200D\u2642\uFE0F","\uD83C\uDFCB\uD83C\uDFFC\u200D\u2640\uFE0F","\uD83C\uDFCB\uD83C\uDFFC\u200D\u2642\uFE0F","\uD83C\uDFCB\uD83C\uDFFD\u200D\u2640\uFE0F","\uD83C\uDFCB\uD83C\uDFFD\u200D\u2642\uFE0F","\uD83C\uDFCB\uD83C\uDFFE\u200D\u2640\uFE0F","\uD83C\uDFCB\uD83C\uDFFE\u200D\u2642\uFE0F","\uD83C\uDFCB\uD83C\uDFFF\u200D\u2640\uFE0F","\uD83C\uDFCB\uD83C\uDFFF\u200D\u2642\uFE0F","\uD83C\uDFCB\uFE0F\u200D\u2640\uFE0F","\uD83C\uDFCB\uFE0F\u200D\u2642\uFE0F","\uD83C\uDFCC\uD83C\uDFFB\u200D\u2640\uFE0F","\uD83C\uDFCC\uD83C\uDFFB\u200D\u2642\uFE0F","\uD83C\uDFCC\uD83C\uDFFC\u200D\u2640\uFE0F","\uD83C\uDFCC\uD83C\uDFFC\u200D\u2642\uFE0F","\uD83C\uDFCC\uD83C\uDFFD\u200D\u2640\uFE0F","\uD83C\uDFCC\uD83C\uDFFD\u200D\u2642\uFE0F","\uD83C\uDFCC\uD83C\uDFFE\u200D\u2640\uFE0F","\uD83C\uDFCC\uD83C\uDFFE\u200D\u2642\uFE0F","\uD83C\uDFCC\uD83C\uDFFF\u200D\u2640\uFE0F","\uD83C\uDFCC\uD83C\uDFFF\u200D\u2642\uFE0F","\uD83C\uDFCC\uFE0F\u200D\u2640\uFE0F","\uD83C\uDFCC\uFE0F\u200D\u2642\uFE0F","\uD83D\uDC6E\u200D\u2640\uFE0F","\uD83D\uDC6E\u200D\u2642\uFE0F","\uD83D\uDC6E\uD83C\uDFFB\u200D\u2640\uFE0F","\uD83D\uDC6E\uD83C\uDFFB\u200D\u2642\uFE0F","\uD83D\uDC6E\uD83C\uDFFC\u200D\u2640\uFE0F","\uD83D\uDC6E\uD83C\uDFFC\u200D\u2642\uFE0F","\uD83D\uDC6E\uD83C\uDFFD\u200D\u2640\uFE0F","\uD83D\uDC6E\uD83C\uDFFD\u200D\u2642\uFE0F","\uD83D\uDC6E\uD83C\uDFFE\u200D\u2640\uFE0F","\uD83D\uDC6E\uD83C\uDFFE\u200D\u2642\uFE0F","\uD83D\uDC6E\uD83C\uDFFF\u200D\u2640\uFE0F","\uD83D\uDC6E\uD83C\uDFFF\u200D\u2642\uFE0F","\uD83D\uDC6F\u200D\u2640\uFE0F","\uD83D\uDC6F\u200D\u2642\uFE0F","\uD83D\uDC70\u200D\u2640\uFE0F","\uD83D\uDC70\u200D\u2642\uFE0F","\uD83D\uDC70\uD83C\uDFFB\u200D\u2640\uFE0F","\uD83D\uDC70\uD83C\uDFFB\u200D\u2642\uFE0F","\uD83D\uDC70\uD83C\uDFFC\u200D\u2640\uFE0F","\uD83D\uDC70\uD83C\uDFFC\u200D\u2642\uFE0F","\uD83D\uDC70\uD83C\uDFFD\u200D\u2640\uFE0F","\uD83D\uDC70\uD83C\uDFFD\u200D\u2642\uFE0F","\uD83D\uDC70\uD83C\uDFFE\u200D\u2640\uFE0F","\uD83D\uDC70\uD83C\uDFFE\u200D\u2642\uFE0F","\uD83D\uDC70\uD83C\uDFFF\u200D\u2640\uFE0F","\uD83D\uDC70\uD83C\uDFFF\u200D\u2642\uFE0F","\uD83D\uDC71\u200D\u2640\uFE0F","\uD83D\uDC71\u200D\u2642\uFE0F","\uD83D\uDC71\uD83C\uDFFB\u200D\u2640\uFE0F","\uD83D\uDC71\uD83C\uDFFB\u200D\u2642\uFE0F","\uD83D\uDC71\uD83C\uDFFC\u200D\u2640\uFE0F","\uD83D\uDC71\uD83C\uDFFC\u200D\u2642\uFE0F","\uD83D\uDC71\uD83C\uDFFD\u200D\u2640\uFE0F","\uD83D\uDC71\uD83C\uDFFD\u200D\u2642\uFE0F","\uD83D\uDC71\uD83C\uDFFE\u200D\u2640\uFE0F","\uD83D\uDC71\uD83C\uDFFE\u200D\u2642\uFE0F","\uD83D\uDC71\uD83C\uDFFF\u200D\u2640\uFE0F","\uD83D\uDC71\uD83C\uDFFF\u200D\u2642\uFE0F","\uD83D\uDC73\u200D\u2640\uFE0F","\uD83D\uDC73\u200D\u2642\uFE0F","\uD83D\uDC73\uD83C\uDFFB\u200D\u2640\uFE0F","\uD83D\uDC73\uD83C\uDFFB\u200D\u2642\uFE0F","\uD83D\uDC73\uD83C\uDFFC\u200D\u2640\uFE0F","\uD83D\uDC73\uD83C\uDFFC\u200D\u2642\uFE0F","\uD83D\uDC73\uD83C\uDFFD\u200D\u2640\uFE0F","\uD83D\uDC73\uD83C\uDFFD\u200D\u2642\uFE0F","\uD83D\uDC73\uD83C\uDFFE\u200D\u2640\uFE0F","\uD83D\uDC73\uD83C\uDFFE\u200D\u2642\uFE0F","\uD83D\uDC73\uD83C\uDFFF\u200D\u2640\uFE0F","\uD83D\uDC73\uD83C\uDFFF\u200D\u2642\uFE0F","\uD83D\uDC77\u200D\u2640\uFE0F","\uD83D\uDC77\u200D\u2642\uFE0F","\uD83D\uDC77\uD83C\uDFFB\u200D\u2640\uFE0F","\uD83D\uDC77\uD83C\uDFFB\u200D\u2642\uFE0F","\uD83D\uDC77\uD83C\uDFFC\u200D\u2640\uFE0F","\uD83D\uDC77\uD83C\uDFFC\u200D\u2642\uFE0F","\uD83D\uDC77\uD83C\uDFFD\u200D\u2640\uFE0F","\uD83D\uDC77\uD83C\uDFFD\u200D\u2642\uFE0F","\uD83D\uDC77\uD83C\uDFFE\u200D\u2640\uFE0F","\uD83D\uDC77\uD83C\uDFFE\u200D\u2642\uFE0F","\uD83D\uDC77\uD83C\uDFFF\u200D\u2640\uFE0F","\uD83D\uDC77\uD83C\uDFFF\u200D\u2642\uFE0F","\uD83D\uDC81\u200D\u2640\uFE0F","\uD83D\uDC81\u200D\u2642\uFE0F","\uD83D\uDC81\uD83C\uDFFB\u200D\u2640\uFE0F","\uD83D\uDC81\uD83C\uDFFB\u200D\u2642\uFE0F","\uD83D\uDC81\uD83C\uDFFC\u200D\u2640\uFE0F","\uD83D\uDC81\uD83C\uDFFC\u200D\u2642\uFE0F","\uD83D\uDC81\uD83C\uDFFD\u200D\u2640\uFE0F","\uD83D\uDC81\uD83C\uDFFD\u200D\u2642\uFE0F","\uD83D\uDC81\uD83C\uDFFE\u200D\u2640\uFE0F","\uD83D\uDC81\uD83C\uDFFE\u200D\u2642\uFE0F","\uD83D\uDC81\uD83C\uDFFF\u200D\u2640\uFE0F","\uD83D\uDC81\uD83C\uDFFF\u200D\u2642\uFE0F","\uD83D\uDC82\u200D\u2640\uFE0F","\uD83D\uDC82\u200D\u2642\uFE0F","\uD83D\uDC82\uD83C\uDFFB\u200D\u2640\uFE0F","\uD83D\uDC82\uD83C\uDFFB\u200D\u2642\uFE0F","\uD83D\uDC82\uD83C\uDFFC\u200D\u2640\uFE0F","\uD83D\uDC82\uD83C\uDFFC\u200D\u2642\uFE0F","\uD83D\uDC82\uD83C\uDFFD\u200D\u2640\uFE0F","\uD83D\uDC82\uD83C\uDFFD\u200D\u2642\uFE0F","\uD83D\uDC82\uD83C\uDFFE\u200D\u2640\uFE0F","\uD83D\uDC82\uD83C\uDFFE\u200D\u2642\uFE0F","\uD83D\uDC82\uD83C\uDFFF\u200D\u2640\uFE0F","\uD83D\uDC82\uD83C\uDFFF\u200D\u2642\uFE0F","\uD83D\uDC86\u200D\u2640\uFE0F","\uD83D\uDC86\u200D\u2642\uFE0F","\uD83D\uDC86\uD83C\uDFFB\u200D\u2640\uFE0F","\uD83D\uDC86\uD83C\uDFFB\u200D\u2642\uFE0F","\uD83D\uDC86\uD83C\uDFFC\u200D\u2640\uFE0F","\uD83D\uDC86\uD83C\uDFFC\u200D\u2642\uFE0F","\uD83D\uDC86\uD83C\uDFFD\u200D\u2640\uFE0F","\uD83D\uDC86\uD83C\uDFFD\u200D\u2642\uFE0F","\uD83D\uDC86\uD83C\uDFFE\u200D\u2640\uFE0F","\uD83D\uDC86\uD83C\uDFFE\u200D\u2642\uFE0F","\uD83D\uDC86\uD83C\uDFFF\u200D\u2640\uFE0F","\uD83D\uDC86\uD83C\uDFFF\u200D\u2642\uFE0F","\uD83D\uDC87\u200D\u2640\uFE0F","\uD83D\uDC87\u200D\u2642\uFE0F","\uD83D\uDC87\uD83C\uDFFB\u200D\u2640\uFE0F","\uD83D\uDC87\uD83C\uDFFB\u200D\u2642\uFE0F","\uD83D\uDC87\uD83C\uDFFC\u200D\u2640\uFE0F","\uD83D\uDC87\uD83C\uDFFC\u200D\u2642\uFE0F","\uD83D\uDC87\uD83C\uDFFD\u200D\u2640\uFE0F","\uD83D\uDC87\uD83C\uDFFD\u200D\u2642\uFE0F","\uD83D\uDC87\uD83C\uDFFE\u200D\u2640\uFE0F","\uD83D\uDC87\uD83C\uDFFE\u200D\u2642\uFE0F","\uD83D\uDC87\uD83C\uDFFF\u200D\u2640\uFE0F","\uD83D\uDC87\uD83C\uDFFF\u200D\u2642\uFE0F","\uD83D\uDD75\uD83C\uDFFB\u200D\u2640\uFE0F","\uD83D\uDD75\uD83C\uDFFB\u200D\u2642\uFE0F","\uD83D\uDD75\uD83C\uDFFC\u200D\u2640\uFE0F","\uD83D\uDD75\uD83C\uDFFC\u200D\u2642\uFE0F","\uD83D\uDD75\uD83C\uDFFD\u200D\u2640\uFE0F","\uD83D\uDD75\uD83C\uDFFD\u200D\u2642\uFE0F","\uD83D\uDD75\uD83C\uDFFE\u200D\u2640\uFE0F","\uD83D\uDD75\uD83C\uDFFE\u200D\u2642\uFE0F","\uD83D\uDD75\uD83C\uDFFF\u200D\u2640\uFE0F","\uD83D\uDD75\uD83C\uDFFF\u200D\u2642\uFE0F","\uD83D\uDD75\uFE0F\u200D\u2640\uFE0F","\uD83D\uDD75\uFE0F\u200D\u2642\uFE0F","\uD83D\uDE45\u200D\u2640\uFE0F","\uD83D\uDE45\u200D\u2642\uFE0F","\uD83D\uDE45\uD83C\uDFFB\u200D\u2640\uFE0F","\uD83D\uDE45\uD83C\uDFFB\u200D\u2642\uFE0F","\uD83D\uDE45\uD83C\uDFFC\u200D\u2640\uFE0F","\uD83D\uDE45\uD83C\uDFFC\u200D\u2642\uFE0F","\uD83D\uDE45\uD83C\uDFFD\u200D\u2640\uFE0F","\uD83D\uDE45\uD83C\uDFFD\u200D\u2642\uFE0F","\uD83D\uDE45\uD83C\uDFFE\u200D\u2640\uFE0F","\uD83D\uDE45\uD83C\uDFFE\u200D\u2642\uFE0F","\uD83D\uDE45\uD83C\uDFFF\u200D\u2640\uFE0F","\uD83D\uDE45\uD83C\uDFFF\u200D\u2642\uFE0F","\uD83D\uDE46\u200D\u2640\uFE0F","\uD83D\uDE46\u200D\u2642\uFE0F","\uD83D\uDE46\uD83C\uDFFB\u200D\u2640\uFE0F","\uD83D\uDE46\uD83C\uDFFB\u200D\u2642\uFE0F","\uD83D\uDE46\uD83C\uDFFC\u200D\u2640\uFE0F","\uD83D\uDE46\uD83C\uDFFC\u200D\u2642\uFE0F","\uD83D\uDE46\uD83C\uDFFD\u200D\u2640\uFE0F","\uD83D\uDE46\uD83C\uDFFD\u200D\u2642\uFE0F","\uD83D\uDE46\uD83C\uDFFE\u200D\u2640\uFE0F","\uD83D\uDE46\uD83C\uDFFE\u200D\u2642\uFE0F","\uD83D\uDE46\uD83C\uDFFF\u200D\u2640\uFE0F","\uD83D\uDE46\uD83C\uDFFF\u200D\u2642\uFE0F","\uD83D\uDE47\u200D\u2640\uFE0F","\uD83D\uDE47\u200D\u2642\uFE0F","\uD83D\uDE47\uD83C\uDFFB\u200D\u2640\uFE0F","\uD83D\uDE47\uD83C\uDFFB\u200D\u2642\uFE0F","\uD83D\uDE47\uD83C\uDFFC\u200D\u2640\uFE0F","\uD83D\uDE47\uD83C\uDFFC\u200D\u2642\uFE0F","\uD83D\uDE47\uD83C\uDFFD\u200D\u2640\uFE0F","\uD83D\uDE47\uD83C\uDFFD\u200D\u2642\uFE0F","\uD83D\uDE47\uD83C\uDFFE\u200D\u2640\uFE0F","\uD83D\uDE47\uD83C\uDFFE\u200D\u2642\uFE0F","\uD83D\uDE47\uD83C\uDFFF\u200D\u2640\uFE0F","\uD83D\uDE47\uD83C\uDFFF\u200D\u2642\uFE0F","\uD83D\uDE4B\u200D\u2640\uFE0F","\uD83D\uDE4B\u200D\u2642\uFE0F","\uD83D\uDE4B\uD83C\uDFFB\u200D\u2640\uFE0F","\uD83D\uDE4B\uD83C\uDFFB\u200D\u2642\uFE0F","\uD83D\uDE4B\uD83C\uDFFC\u200D\u2640\uFE0F","\uD83D\uDE4B\uD83C\uDFFC\u200D\u2642\uFE0F","\uD83D\uDE4B\uD83C\uDFFD\u200D\u2640\uFE0F","\uD83D\uDE4B\uD83C\uDFFD\u200D\u2642\uFE0F","\uD83D\uDE4B\uD83C\uDFFE\u200D\u2640\uFE0F","\uD83D\uDE4B\uD83C\uDFFE\u200D\u2642\uFE0F","\uD83D\uDE4B\uD83C\uDFFF\u200D\u2640\uFE0F","\uD83D\uDE4B\uD83C\uDFFF\u200D\u2642\uFE0F","\uD83D\uDE4D\u200D\u2640\uFE0F","\uD83D\uDE4D\u200D\u2642\uFE0F","\uD83D\uDE4D\uD83C\uDFFB\u200D\u2640\uFE0F","\uD83D\uDE4D\uD83C\uDFFB\u200D\u2642\uFE0F","\uD83D\uDE4D\uD83C\uDFFC\u200D\u2640\uFE0F","\uD83D\uDE4D\uD83C\uDFFC\u200D\u2642\uFE0F","\uD83D\uDE4D\uD83C\uDFFD\u200D\u2640\uFE0F","\uD83D\uDE4D\uD83C\uDFFD\u200D\u2642\uFE0F","\uD83D\uDE4D\uD83C\uDFFE\u200D\u2640\uFE0F","\uD83D\uDE4D\uD83C\uDFFE\u200D\u2642\uFE0F","\uD83D\uDE4D\uD83C\uDFFF\u200D\u2640\uFE0F","\uD83D\uDE4D\uD83C\uDFFF\u200D\u2642\uFE0F","\uD83D\uDE4E\u200D\u2640\uFE0F","\uD83D\uDE4E\u200D\u2642\uFE0F","\uD83D\uDE4E\uD83C\uDFFB\u200D\u2640\uFE0F","\uD83D\uDE4E\uD83C\uDFFB\u200D\u2642\uFE0F","\uD83D\uDE4E\uD83C\uDFFC\u200D\u2640\uFE0F","\uD83D\uDE4E\uD83C\uDFFC\u200D\u2642\uFE0F","\uD83D\uDE4E\uD83C\uDFFD\u200D\u2640\uFE0F","\uD83D\uDE4E\uD83C\uDFFD\u200D\u2642\uFE0F","\uD83D\uDE4E\uD83C\uDFFE\u200D\u2640\uFE0F","\uD83D\uDE4E\uD83C\uDFFE\u200D\u2642\uFE0F","\uD83D\uDE4E\uD83C\uDFFF\u200D\u2640\uFE0F","\uD83D\uDE4E\uD83C\uDFFF\u200D\u2642\uFE0F","\uD83D\uDEA3\u200D\u2640\uFE0F","\uD83D\uDEA3\u200D\u2642\uFE0F","\uD83D\uDEA3\uD83C\uDFFB\u200D\u2640\uFE0F","\uD83D\uDEA3\uD83C\uDFFB\u200D\u2642\uFE0F","\uD83D\uDEA3\uD83C\uDFFC\u200D\u2640\uFE0F","\uD83D\uDEA3\uD83C\uDFFC\u200D\u2642\uFE0F","\uD83D\uDEA3\uD83C\uDFFD\u200D\u2640\uFE0F","\uD83D\uDEA3\uD83C\uDFFD\u200D\u2642\uFE0F","\uD83D\uDEA3\uD83C\uDFFE\u200D\u2640\uFE0F","\uD83D\uDEA3\uD83C\uDFFE\u200D\u2642\uFE0F","\uD83D\uDEA3\uD83C\uDFFF\u200D\u2640\uFE0F","\uD83D\uDEA3\uD83C\uDFFF\u200D\u2642\uFE0F","\uD83D\uDEB4\u200D\u2640\uFE0F","\uD83D\uDEB4\u200D\u2642\uFE0F","\uD83D\uDEB4\uD83C\uDFFB\u200D\u2640\uFE0F","\uD83D\uDEB4\uD83C\uDFFB\u200D\u2642\uFE0F","\uD83D\uDEB4\uD83C\uDFFC\u200D\u2640\uFE0F","\uD83D\uDEB4\uD83C\uDFFC\u200D\u2642\uFE0F","\uD83D\uDEB4\uD83C\uDFFD\u200D\u2640\uFE0F","\uD83D\uDEB4\uD83C\uDFFD\u200D\u2642\uFE0F","\uD83D\uDEB4\uD83C\uDFFE\u200D\u2640\uFE0F","\uD83D\uDEB4\uD83C\uDFFE\u200D\u2642\uFE0F","\uD83D\uDEB4\uD83C\uDFFF\u200D\u2640\uFE0F","\uD83D\uDEB4\uD83C\uDFFF\u200D\u2642\uFE0F","\uD83D\uDEB5\u200D\u2640\uFE0F","\uD83D\uDEB5\u200D\u2642\uFE0F","\uD83D\uDEB5\uD83C\uDFFB\u200D\u2640\uFE0F","\uD83D\uDEB5\uD83C\uDFFB\u200D\u2642\uFE0F","\uD83D\uDEB5\uD83C\uDFFC\u200D\u2640\uFE0F","\uD83D\uDEB5\uD83C\uDFFC\u200D\u2642\uFE0F","\uD83D\uDEB5\uD83C\uDFFD\u200D\u2640\uFE0F","\uD83D\uDEB5\uD83C\uDFFD\u200D\u2642\uFE0F","\uD83D\uDEB5\uD83C\uDFFE\u200D\u2640\uFE0F","\uD83D\uDEB5\uD83C\uDFFE\u200D\u2642\uFE0F","\uD83D\uDEB5\uD83C\uDFFF\u200D\u2640\uFE0F","\uD83D\uDEB5\uD83C\uDFFF\u200D\u2642\uFE0F","\uD83D\uDEB6\u200D\u2640\uFE0F","\uD83D\uDEB6\u200D\u2640\uFE0F\u200D\u27A1\uFE0F","\uD83D\uDEB6\u200D\u2642\uFE0F","\uD83D\uDEB6\u200D\u2642\uFE0F\u200D\u27A1\uFE0F","\uD83D\uDEB6\uD83C\uDFFB\u200D\u2640\uFE0F","\uD83D\uDEB6\uD83C\uDFFB\u200D\u2640\uFE0F\u200D\u27A1\uFE0F","\uD83D\uDEB6\uD83C\uDFFB\u200D\u2642\uFE0F","\uD83D\uDEB6\uD83C\uDFFB\u200D\u2642\uFE0F\u200D\u27A1\uFE0F","\uD83D\uDEB6\uD83C\uDFFC\u200D\u2640\uFE0F","\uD83D\uDEB6\uD83C\uDFFC\u200D\u2640\uFE0F\u200D\u27A1\uFE0F","\uD83D\uDEB6\uD83C\uDFFC\u200D\u2642\uFE0F","\uD83D\uDEB6\uD83C\uDFFC\u200D\u2642\uFE0F\u200D\u27A1\uFE0F","\uD83D\uDEB6\uD83C\uDFFD\u200D\u2640\uFE0F","\uD83D\uDEB6\uD83C\uDFFD\u200D\u2640\uFE0F\u200D\u27A1\uFE0F","\uD83D\uDEB6\uD83C\uDFFD\u200D\u2642\uFE0F","\uD83D\uDEB6\uD83C\uDFFD\u200D\u2642\uFE0F\u200D\u27A1\uFE0F","\uD83D\uDEB6\uD83C\uDFFE\u200D\u2640\uFE0F","\uD83D\uDEB6\uD83C\uDFFE\u200D\u2640\uFE0F\u200D\u27A1\uFE0F","\uD83D\uDEB6\uD83C\uDFFE\u200D\u2642\uFE0F","\uD83D\uDEB6\uD83C\uDFFE\u200D\u2642\uFE0F\u200D\u27A1\uFE0F","\uD83D\uDEB6\uD83C\uDFFF\u200D\u2640\uFE0F","\uD83D\uDEB6\uD83C\uDFFF\u200D\u2640\uFE0F\u200D\u27A1\uFE0F","\uD83D\uDEB6\uD83C\uDFFF\u200D\u2642\uFE0F","\uD83D\uDEB6\uD83C\uDFFF\u200D\u2642\uFE0F\u200D\u27A1\uFE0F","\uD83E\uDD26\u200D\u2640\uFE0F","\uD83E\uDD26\u200D\u2642\uFE0F","\uD83E\uDD26\uD83C\uDFFB\u200D\u2640\uFE0F","\uD83E\uDD26\uD83C\uDFFB\u200D\u2642\uFE0F","\uD83E\uDD26\uD83C\uDFFC\u200D\u2640\uFE0F","\uD83E\uDD26\uD83C\uDFFC\u200D\u2642\uFE0F","\uD83E\uDD26\uD83C\uDFFD\u200D\u2640\uFE0F","\uD83E\uDD26\uD83C\uDFFD\u200D\u2642\uFE0F","\uD83E\uDD26\uD83C\uDFFE\u200D\u2640\uFE0F","\uD83E\uDD26\uD83C\uDFFE\u200D\u2642\uFE0F","\uD83E\uDD26\uD83C\uDFFF\u200D\u2640\uFE0F","\uD83E\uDD26\uD83C\uDFFF\u200D\u2642\uFE0F","\uD83E\uDD35\u200D\u2640\uFE0F","\uD83E\uDD35\u200D\u2642\uFE0F","\uD83E\uDD35\uD83C\uDFFB\u200D\u2640\uFE0F","\uD83E\uDD35\uD83C\uDFFB\u200D\u2642\uFE0F","\uD83E\uDD35\uD83C\uDFFC\u200D\u2640\uFE0F","\uD83E\uDD35\uD83C\uDFFC\u200D\u2642\uFE0F","\uD83E\uDD35\uD83C\uDFFD\u200D\u2640\uFE0F","\uD83E\uDD35\uD83C\uDFFD\u200D\u2642\uFE0F","\uD83E\uDD35\uD83C\uDFFE\u200D\u2640\uFE0F","\uD83E\uDD35\uD83C\uDFFE\u200D\u2642\uFE0F","\uD83E\uDD35\uD83C\uDFFF\u200D\u2640\uFE0F","\uD83E\uDD35\uD83C\uDFFF\u200D\u2642\uFE0F","\uD83E\uDD37\u200D\u2640\uFE0F","\uD83E\uDD37\u200D\u2642\uFE0F","\uD83E\uDD37\uD83C\uDFFB\u200D\u2640\uFE0F","\uD83E\uDD37\uD83C\uDFFB\u200D\u2642\uFE0F","\uD83E\uDD37\uD83C\uDFFC\u200D\u2640\uFE0F","\uD83E\uDD37\uD83C\uDFFC\u200D\u2642\uFE0F","\uD83E\uDD37\uD83C\uDFFD\u200D\u2640\uFE0F","\uD83E\uDD37\uD83C\uDFFD\u200D\u2642\uFE0F","\uD83E\uDD37\uD83C\uDFFE\u200D\u2640\uFE0F","\uD83E\uDD37\uD83C\uDFFE\u200D\u2642\uFE0F","\uD83E\uDD37\uD83C\uDFFF\u200D\u2640\uFE0F","\uD83E\uDD37\uD83C\uDFFF\u200D\u2642\uFE0F","\uD83E\uDD38\u200D\u2640\uFE0F","\uD83E\uDD38\u200D\u2642\uFE0F","\uD83E\uDD38\uD83C\uDFFB\u200D\u2640\uFE0F","\uD83E\uDD38\uD83C\uDFFB\u200D\u2642\uFE0F","\uD83E\uDD38\uD83C\uDFFC\u200D\u2640\uFE0F","\uD83E\uDD38\uD83C\uDFFC\u200D\u2642\uFE0F","\uD83E\uDD38\uD83C\uDFFD\u200D\u2640\uFE0F","\uD83E\uDD38\uD83C\uDFFD\u200D\u2642\uFE0F","\uD83E\uDD38\uD83C\uDFFE\u200D\u2640\uFE0F","\uD83E\uDD38\uD83C\uDFFE\u200D\u2642\uFE0F","\uD83E\uDD38\uD83C\uDFFF\u200D\u2640\uFE0F","\uD83E\uDD38\uD83C\uDFFF\u200D\u2642\uFE0F","\uD83E\uDD39\u200D\u2640\uFE0F","\uD83E\uDD39\u200D\u2642\uFE0F","\uD83E\uDD39\uD83C\uDFFB\u200D\u2640\uFE0F","\uD83E\uDD39\uD83C\uDFFB\u200D\u2642\uFE0F","\uD83E\uDD39\uD83C\uDFFC\u200D\u2640\uFE0F","\uD83E\uDD39\uD83C\uDFFC\u200D\u2642\uFE0F","\uD83E\uDD39\uD83C\uDFFD\u200D\u2640\uFE0F","\uD83E\uDD39\uD83C\uDFFD\u200D\u2642\uFE0F","\uD83E\uDD39\uD83C\uDFFE\u200D\u2640\uFE0F","\uD83E\uDD39\uD83C\uDFFE\u200D\u2642\uFE0F","\uD83E\uDD39\uD83C\uDFFF\u200D\u2640\uFE0F","\uD83E\uDD39\uD83C\uDFFF\u200D\u2642\uFE0F","\uD83E\uDD3C\u200D\u2640\uFE0F","\uD83E\uDD3C\u200D\u2642\uFE0F","\uD83E\uDD3D\u200D\u2640\uFE0F","\uD83E\uDD3D\u200D\u2642\uFE0F","\uD83E\uDD3D\uD83C\uDFFB\u200D\u2640\uFE0F","\uD83E\uDD3D\uD83C\uDFFB\u200D\u2642\uFE0F","\uD83E\uDD3D\uD83C\uDFFC\u200D\u2640\uFE0F","\uD83E\uDD3D\uD83C\uDFFC\u200D\u2642\uFE0F","\uD83E\uDD3D\uD83C\uDFFD\u200D\u2640\uFE0F","\uD83E\uDD3D\uD83C\uDFFD\u200D\u2642\uFE0F","\uD83E\uDD3D\uD83C\uDFFE\u200D\u2640\uFE0F","\uD83E\uDD3D\uD83C\uDFFE\u200D\u2642\uFE0F","\uD83E\uDD3D\uD83C\uDFFF\u200D\u2640\uFE0F","\uD83E\uDD3D\uD83C\uDFFF\u200D\u2642\uFE0F","\uD83E\uDD3E\u200D\u2640\uFE0F","\uD83E\uDD3E\u200D\u2642\uFE0F","\uD83E\uDD3E\uD83C\uDFFB\u200D\u2640\uFE0F","\uD83E\uDD3E\uD83C\uDFFB\u200D\u2642\uFE0F","\uD83E\uDD3E\uD83C\uDFFC\u200D\u2640\uFE0F","\uD83E\uDD3E\uD83C\uDFFC\u200D\u2642\uFE0F","\uD83E\uDD3E\uD83C\uDFFD\u200D\u2640\uFE0F","\uD83E\uDD3E\uD83C\uDFFD\u200D\u2642\uFE0F","\uD83E\uDD3E\uD83C\uDFFE\u200D\u2640\uFE0F","\uD83E\uDD3E\uD83C\uDFFE\u200D\u2642\uFE0F","\uD83E\uDD3E\uD83C\uDFFF\u200D\u2640\uFE0F","\uD83E\uDD3E\uD83C\uDFFF\u200D\u2642\uFE0F","\uD83E\uDDB8\u200D\u2640\uFE0F","\uD83E\uDDB8\u200D\u2642\uFE0F","\uD83E\uDDB8\uD83C\uDFFB\u200D\u2640\uFE0F","\uD83E\uDDB8\uD83C\uDFFB\u200D\u2642\uFE0F","\uD83E\uDDB8\uD83C\uDFFC\u200D\u2640\uFE0F","\uD83E\uDDB8\uD83C\uDFFC\u200D\u2642\uFE0F","\uD83E\uDDB8\uD83C\uDFFD\u200D\u2640\uFE0F","\uD83E\uDDB8\uD83C\uDFFD\u200D\u2642\uFE0F","\uD83E\uDDB8\uD83C\uDFFE\u200D\u2640\uFE0F","\uD83E\uDDB8\uD83C\uDFFE\u200D\u2642\uFE0F","\uD83E\uDDB8\uD83C\uDFFF\u200D\u2640\uFE0F","\uD83E\uDDB8\uD83C\uDFFF\u200D\u2642\uFE0F","\uD83E\uDDB9\u200D\u2640\uFE0F","\uD83E\uDDB9\u200D\u2642\uFE0F","\uD83E\uDDB9\uD83C\uDFFB\u200D\u2640\uFE0F","\uD83E\uDDB9\uD83C\uDFFB\u200D\u2642\uFE0F","\uD83E\uDDB9\uD83C\uDFFC\u200D\u2640\uFE0F","\uD83E\uDDB9\uD83C\uDFFC\u200D\u2642\uFE0F","\uD83E\uDDB9\uD83C\uDFFD\u200D\u2640\uFE0F","\uD83E\uDDB9\uD83C\uDFFD\u200D\u2642\uFE0F","\uD83E\uDDB9\uD83C\uDFFE\u200D\u2640\uFE0F","\uD83E\uDDB9\uD83C\uDFFE\u200D\u2642\uFE0F","\uD83E\uDDB9\uD83C\uDFFF\u200D\u2640\uFE0F","\uD83E\uDDB9\uD83C\uDFFF\u200D\u2642\uFE0F","\uD83E\uDDCD\u200D\u2640\uFE0F","\uD83E\uDDCD\u200D\u2642\uFE0F","\uD83E\uDDCD\uD83C\uDFFB\u200D\u2640\uFE0F","\uD83E\uDDCD\uD83C\uDFFB\u200D\u2642\uFE0F","\uD83E\uDDCD\uD83C\uDFFC\u200D\u2640\uFE0F","\uD83E\uDDCD\uD83C\uDFFC\u200D\u2642\uFE0F","\uD83E\uDDCD\uD83C\uDFFD\u200D\u2640\uFE0F","\uD83E\uDDCD\uD83C\uDFFD\u200D\u2642\uFE0F","\uD83E\uDDCD\uD83C\uDFFE\u200D\u2640\uFE0F","\uD83E\uDDCD\uD83C\uDFFE\u200D\u2642\uFE0F","\uD83E\uDDCD\uD83C\uDFFF\u200D\u2640\uFE0F","\uD83E\uDDCD\uD83C\uDFFF\u200D\u2642\uFE0F","\uD83E\uDDCE\u200D\u2640\uFE0F","\uD83E\uDDCE\u200D\u2640\uFE0F\u200D\u27A1\uFE0F","\uD83E\uDDCE\u200D\u2642\uFE0F","\uD83E\uDDCE\u200D\u2642\uFE0F\u200D\u27A1\uFE0F","\uD83E\uDDCE\uD83C\uDFFB\u200D\u2640\uFE0F","\uD83E\uDDCE\uD83C\uDFFB\u200D\u2640\uFE0F\u200D\u27A1\uFE0F","\uD83E\uDDCE\uD83C\uDFFB\u200D\u2642\uFE0F","\uD83E\uDDCE\uD83C\uDFFB\u200D\u2642\uFE0F\u200D\u27A1\uFE0F","\uD83E\uDDCE\uD83C\uDFFC\u200D\u2640\uFE0F","\uD83E\uDDCE\uD83C\uDFFC\u200D\u2640\uFE0F\u200D\u27A1\uFE0F","\uD83E\uDDCE\uD83C\uDFFC\u200D\u2642\uFE0F","\uD83E\uDDCE\uD83C\uDFFC\u200D\u2642\uFE0F\u200D\u27A1\uFE0F","\uD83E\uDDCE\uD83C\uDFFD\u200D\u2640\uFE0F","\uD83E\uDDCE\uD83C\uDFFD\u200D\u2640\uFE0F\u200D\u27A1\uFE0F","\uD83E\uDDCE\uD83C\uDFFD\u200D\u2642\uFE0F","\uD83E\uDDCE\uD83C\uDFFD\u200D\u2642\uFE0F\u200D\u27A1\uFE0F","\uD83E\uDDCE\uD83C\uDFFE\u200D\u2640\uFE0F","\uD83E\uDDCE\uD83C\uDFFE\u200D\u2640\uFE0F\u200D\u27A1\uFE0F","\uD83E\uDDCE\uD83C\uDFFE\u200D\u2642\uFE0F","\uD83E\uDDCE\uD83C\uDFFE\u200D\u2642\uFE0F\u200D\u27A1\uFE0F","\uD83E\uDDCE\uD83C\uDFFF\u200D\u2640\uFE0F","\uD83E\uDDCE\uD83C\uDFFF\u200D\u2640\uFE0F\u200D\u27A1\uFE0F","\uD83E\uDDCE\uD83C\uDFFF\u200D\u2642\uFE0F","\uD83E\uDDCE\uD83C\uDFFF\u200D\u2642\uFE0F\u200D\u27A1\uFE0F","\uD83E\uDDCF\u200D\u2640\uFE0F","\uD83E\uDDCF\u200D\u2642\uFE0F","\uD83E\uDDCF\uD83C\uDFFB\u200D\u2640\uFE0F","\uD83E\uDDCF\uD83C\uDFFB\u200D\u2642\uFE0F","\uD83E\uDDCF\uD83C\uDFFC\u200D\u2640\uFE0F","\uD83E\uDDCF\uD83C\uDFFC\u200D\u2642\uFE0F","\uD83E\uDDCF\uD83C\uDFFD\u200D\u2640\uFE0F","\uD83E\uDDCF\uD83C\uDFFD\u200D\u2642\uFE0F","\uD83E\uDDCF\uD83C\uDFFE\u200D\u2640\uFE0F","\uD83E\uDDCF\uD83C\uDFFE\u200D\u2642\uFE0F","\uD83E\uDDCF\uD83C\uDFFF\u200D\u2640\uFE0F","\uD83E\uDDCF\uD83C\uDFFF\u200D\u2642\uFE0F","\uD83E\uDDD4\u200D\u2640\uFE0F","\uD83E\uDDD4\u200D\u2642\uFE0F","\uD83E\uDDD4\uD83C\uDFFB\u200D\u2640\uFE0F","\uD83E\uDDD4\uD83C\uDFFB\u200D\u2642\uFE0F","\uD83E\uDDD4\uD83C\uDFFC\u200D\u2640\uFE0F","\uD83E\uDDD4\uD83C\uDFFC\u200D\u2642\uFE0F","\uD83E\uDDD4\uD83C\uDFFD\u200D\u2640\uFE0F","\uD83E\uDDD4\uD83C\uDFFD\u200D\u2642\uFE0F","\uD83E\uDDD4\uD83C\uDFFE\u200D\u2640\uFE0F","\uD83E\uDDD4\uD83C\uDFFE\u200D\u2642\uFE0F","\uD83E\uDDD4\uD83C\uDFFF\u200D\u2640\uFE0F","\uD83E\uDDD4\uD83C\uDFFF\u200D\u2642\uFE0F","\uD83E\uDDD6\u200D\u2640\uFE0F","\uD83E\uDDD6\u200D\u2642\uFE0F","\uD83E\uDDD6\uD83C\uDFFB\u200D\u2640\uFE0F","\uD83E\uDDD6\uD83C\uDFFB\u200D\u2642\uFE0F","\uD83E\uDDD6\uD83C\uDFFC\u200D\u2640\uFE0F","\uD83E\uDDD6\uD83C\uDFFC\u200D\u2642\uFE0F","\uD83E\uDDD6\uD83C\uDFFD\u200D\u2640\uFE0F","\uD83E\uDDD6\uD83C\uDFFD\u200D\u2642\uFE0F","\uD83E\uDDD6\uD83C\uDFFE\u200D\u2640\uFE0F","\uD83E\uDDD6\uD83C\uDFFE\u200D\u2642\uFE0F","\uD83E\uDDD6\uD83C\uDFFF\u200D\u2640\uFE0F","\uD83E\uDDD6\uD83C\uDFFF\u200D\u2642\uFE0F","\uD83E\uDDD7\u200D\u2640\uFE0F","\uD83E\uDDD7\u200D\u2642\uFE0F","\uD83E\uDDD7\uD83C\uDFFB\u200D\u2640\uFE0F","\uD83E\uDDD7\uD83C\uDFFB\u200D\u2642\uFE0F","\uD83E\uDDD7\uD83C\uDFFC\u200D\u2640\uFE0F","\uD83E\uDDD7\uD83C\uDFFC\u200D\u2642\uFE0F","\uD83E\uDDD7\uD83C\uDFFD\u200D\u2640\uFE0F","\uD83E\uDDD7\uD83C\uDFFD\u200D\u2642\uFE0F","\uD83E\uDDD7\uD83C\uDFFE\u200D\u2640\uFE0F","\uD83E\uDDD7\uD83C\uDFFE\u200D\u2642\uFE0F","\uD83E\uDDD7\uD83C\uDFFF\u200D\u2640\uFE0F","\uD83E\uDDD7\uD83C\uDFFF\u200D\u2642\uFE0F","\uD83E\uDDD8\u200D\u2640\uFE0F","\uD83E\uDDD8\u200D\u2642\uFE0F","\uD83E\uDDD8\uD83C\uDFFB\u200D\u2640\uFE0F","\uD83E\uDDD8\uD83C\uDFFB\u200D\u2642\uFE0F","\uD83E\uDDD8\uD83C\uDFFC\u200D\u2640\uFE0F","\uD83E\uDDD8\uD83C\uDFFC\u200D\u2642\uFE0F","\uD83E\uDDD8\uD83C\uDFFD\u200D\u2640\uFE0F","\uD83E\uDDD8\uD83C\uDFFD\u200D\u2642\uFE0F","\uD83E\uDDD8\uD83C\uDFFE\u200D\u2640\uFE0F","\uD83E\uDDD8\uD83C\uDFFE\u200D\u2642\uFE0F","\uD83E\uDDD8\uD83C\uDFFF\u200D\u2640\uFE0F","\uD83E\uDDD8\uD83C\uDFFF\u200D\u2642\uFE0F","\uD83E\uDDD9\u200D\u2640\uFE0F","\uD83E\uDDD9\u200D\u2642\uFE0F","\uD83E\uDDD9\uD83C\uDFFB\u200D\u2640\uFE0F","\uD83E\uDDD9\uD83C\uDFFB\u200D\u2642\uFE0F","\uD83E\uDDD9\uD83C\uDFFC\u200D\u2640\uFE0F","\uD83E\uDDD9\uD83C\uDFFC\u200D\u2642\uFE0F","\uD83E\uDDD9\uD83C\uDFFD\u200D\u2640\uFE0F","\uD83E\uDDD9\uD83C\uDFFD\u200D\u2642\uFE0F","\uD83E\uDDD9\uD83C\uDFFE\u200D\u2640\uFE0F","\uD83E\uDDD9\uD83C\uDFFE\u200D\u2642\uFE0F","\uD83E\uDDD9\uD83C\uDFFF\u200D\u2640\uFE0F","\uD83E\uDDD9\uD83C\uDFFF\u200D\u2642\uFE0F","\uD83E\uDDDA\u200D\u2640\uFE0F","\uD83E\uDDDA\u200D\u2642\uFE0F","\uD83E\uDDDA\uD83C\uDFFB\u200D\u2640\uFE0F","\uD83E\uDDDA\uD83C\uDFFB\u200D\u2642\uFE0F","\uD83E\uDDDA\uD83C\uDFFC\u200D\u2640\uFE0F","\uD83E\uDDDA\uD83C\uDFFC\u200D\u2642\uFE0F","\uD83E\uDDDA\uD83C\uDFFD\u200D\u2640\uFE0F","\uD83E\uDDDA\uD83C\uDFFD\u200D\u2642\uFE0F","\uD83E\uDDDA\uD83C\uDFFE\u200D\u2640\uFE0F","\uD83E\uDDDA\uD83C\uDFFE\u200D\u2642\uFE0F","\uD83E\uDDDA\uD83C\uDFFF\u200D\u2640\uFE0F","\uD83E\uDDDA\uD83C\uDFFF\u200D\u2642\uFE0F","\uD83E\uDDDB\u200D\u2640\uFE0F","\uD83E\uDDDB\u200D\u2642\uFE0F","\uD83E\uDDDB\uD83C\uDFFB\u200D\u2640\uFE0F","\uD83E\uDDDB\uD83C\uDFFB\u200D\u2642\uFE0F","\uD83E\uDDDB\uD83C\uDFFC\u200D\u2640\uFE0F","\uD83E\uDDDB\uD83C\uDFFC\u200D\u2642\uFE0F","\uD83E\uDDDB\uD83C\uDFFD\u200D\u2640\uFE0F","\uD83E\uDDDB\uD83C\uDFFD\u200D\u2642\uFE0F","\uD83E\uDDDB\uD83C\uDFFE\u200D\u2640\uFE0F","\uD83E\uDDDB\uD83C\uDFFE\u200D\u2642\uFE0F","\uD83E\uDDDB\uD83C\uDFFF\u200D\u2640\uFE0F","\uD83E\uDDDB\uD83C\uDFFF\u200D\u2642\uFE0F","\uD83E\uDDDC\u200D\u2640\uFE0F","\uD83E\uDDDC\u200D\u2642\uFE0F","\uD83E\uDDDC\uD83C\uDFFB\u200D\u2640\uFE0F","\uD83E\uDDDC\uD83C\uDFFB\u200D\u2642\uFE0F","\uD83E\uDDDC\uD83C\uDFFC\u200D\u2640\uFE0F","\uD83E\uDDDC\uD83C\uDFFC\u200D\u2642\uFE0F","\uD83E\uDDDC\uD83C\uDFFD\u200D\u2640\uFE0F","\uD83E\uDDDC\uD83C\uDFFD\u200D\u2642\uFE0F","\uD83E\uDDDC\uD83C\uDFFE\u200D\u2640\uFE0F","\uD83E\uDDDC\uD83C\uDFFE\u200D\u2642\uFE0F","\uD83E\uDDDC\uD83C\uDFFF\u200D\u2640\uFE0F","\uD83E\uDDDC\uD83C\uDFFF\u200D\u2642\uFE0F","\uD83E\uDDDD\u200D\u2640\uFE0F","\uD83E\uDDDD\u200D\u2642\uFE0F","\uD83E\uDDDD\uD83C\uDFFB\u200D\u2640\uFE0F","\uD83E\uDDDD\uD83C\uDFFB\u200D\u2642\uFE0F","\uD83E\uDDDD\uD83C\uDFFC\u200D\u2640\uFE0F","\uD83E\uDDDD\uD83C\uDFFC\u200D\u2642\uFE0F","\uD83E\uDDDD\uD83C\uDFFD\u200D\u2640\uFE0F","\uD83E\uDDDD\uD83C\uDFFD\u200D\u2642\uFE0F","\uD83E\uDDDD\uD83C\uDFFE\u200D\u2640\uFE0F","\uD83E\uDDDD\uD83C\uDFFE\u200D\u2642\uFE0F","\uD83E\uDDDD\uD83C\uDFFF\u200D\u2640\uFE0F","\uD83E\uDDDD\uD83C\uDFFF\u200D\u2642\uFE0F","\uD83E\uDDDE\u200D\u2640\uFE0F","\uD83E\uDDDE\u200D\u2642\uFE0F","\uD83E\uDDDF\u200D\u2640\uFE0F","\uD83E\uDDDF\u200D\u2642\uFE0F","\uD83D\uDC68\u200D\uD83E\uDDB0","\uD83D\uDC68\u200D\uD83E\uDDB1","\uD83D\uDC68\u200D\uD83E\uDDB2","\uD83D\uDC68\u200D\uD83E\uDDB3","\uD83D\uDC68\uD83C\uDFFB\u200D\uD83E\uDDB0","\uD83D\uDC68\uD83C\uDFFB\u200D\uD83E\uDDB1","\uD83D\uDC68\uD83C\uDFFB\u200D\uD83E\uDDB2","\uD83D\uDC68\uD83C\uDFFB\u200D\uD83E\uDDB3","\uD83D\uDC68\uD83C\uDFFC\u200D\uD83E\uDDB0","\uD83D\uDC68\uD83C\uDFFC\u200D\uD83E\uDDB1","\uD83D\uDC68\uD83C\uDFFC\u200D\uD83E\uDDB2","\uD83D\uDC68\uD83C\uDFFC\u200D\uD83E\uDDB3","\uD83D\uDC68\uD83C\uDFFD\u200D\uD83E\uDDB0","\uD83D\uDC68\uD83C\uDFFD\u200D\uD83E\uDDB1","\uD83D\uDC68\uD83C\uDFFD\u200D\uD83E\uDDB2","\uD83D\uDC68\uD83C\uDFFD\u200D\uD83E\uDDB3","\uD83D\uDC68\uD83C\uDFFE\u200D\uD83E\uDDB0","\uD83D\uDC68\uD83C\uDFFE\u200D\uD83E\uDDB1","\uD83D\uDC68\uD83C\uDFFE\u200D\uD83E\uDDB2","\uD83D\uDC68\uD83C\uDFFE\u200D\uD83E\uDDB3","\uD83D\uDC68\uD83C\uDFFF\u200D\uD83E\uDDB0","\uD83D\uDC68\uD83C\uDFFF\u200D\uD83E\uDDB1","\uD83D\uDC68\uD83C\uDFFF\u200D\uD83E\uDDB2","\uD83D\uDC68\uD83C\uDFFF\u200D\uD83E\uDDB3","\uD83D\uDC69\u200D\uD83E\uDDB0","\uD83D\uDC69\u200D\uD83E\uDDB1","\uD83D\uDC69\u200D\uD83E\uDDB2","\uD83D\uDC69\u200D\uD83E\uDDB3","\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDDB0","\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDDB1","\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDDB2","\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDDB3","\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDDB0","\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDDB1","\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDDB2","\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDDB3","\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDDB0","\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDDB1","\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDDB2","\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDDB3","\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDDB0","\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDDB1","\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDDB2","\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDDB3","\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDDB0","\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDDB1","\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDDB2","\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDDB3","\uD83E\uDDD1\u200D\uD83E\uDDB0","\uD83E\uDDD1\u200D\uD83E\uDDB1","\uD83E\uDDD1\u200D\uD83E\uDDB2","\uD83E\uDDD1\u200D\uD83E\uDDB3","\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDDB0","\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDDB1","\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDDB2","\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDDB3","\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDDB0","\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDDB1","\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDDB2","\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDDB3","\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDDB0","\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDDB1","\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDDB2","\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDDB3","\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDDB0","\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDDB1","\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDDB2","\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDDB3","\uD83E\uDDD1\uD83C\uDFFF\u200D\uD83E\uDDB0","\uD83E\uDDD1\uD83C\uDFFF\u200D\uD83E\uDDB1","\uD83E\uDDD1\uD83C\uDFFF\u200D\uD83E\uDDB2","\uD83E\uDDD1\uD83C\uDFFF\u200D\uD83E\uDDB3","\u26D3\uFE0F\u200D\uD83D\uDCA5","\u2764\uFE0F\u200D\uD83D\uDD25","\u2764\uFE0F\u200D\uD83E\uDE79","\uD83C\uDF44\u200D\uD83D\uDFEB","\uD83C\uDF4B\u200D\uD83D\uDFE9","\uD83C\uDFF3\uFE0F\u200D\u26A7\uFE0F","\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08","\uD83C\uDFF4\u200D\u2620\uFE0F","\uD83D\uDC08\u200D\u2B1B","\uD83D\uDC15\u200D\uD83E\uDDBA","\uD83D\uDC26\u200D\u2B1B","\uD83D\uDC26\u200D\uD83D\uDD25","\uD83D\uDC3B\u200D\u2744\uFE0F","\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8\uFE0F","\uD83D\uDE2E\u200D\uD83D\uDCA8","\uD83D\uDE35\u200D\uD83D\uDCAB","\uD83D\uDE36\u200D\uD83C\uDF2B\uFE0F","\uD83D\uDE42\u200D\u2194\uFE0F","\uD83D\uDE42\u200D\u2195\uFE0F"];return RGI_Emoji_ZWJ_Sequence;}var RGI_Emoji={};var hasRequiredRGI_Emoji;function requireRGI_Emoji(){if(hasRequiredRGI_Emoji)return RGI_Emoji;hasRequiredRGI_Emoji=1;var set=regenerateExports(0x23F0,0x23F3,0x267F,0x2693,0x26A1,0x26CE,0x26D4,0x26EA,0x26F5,0x26FA,0x26FD,0x2705,0x2728,0x274C,0x274E,0x2757,0x27B0,0x27BF,0x2B50,0x2B55,0x1F004,0x1F0CF,0x1F18E,0x1F201,0x1F21A,0x1F22F,0x1F3F4,0x1F440,0x1F57A,0x1F5A4,0x1F6CC,0x1F7F0);set.addRange(0x231A,0x231B).addRange(0x23E9,0x23EC).addRange(0x25FD,0x25FE).addRange(0x2614,0x2615).addRange(0x2648,0x2653).addRange(0x26AA,0x26AB).addRange(0x26BD,0x26BE).addRange(0x26C4,0x26C5).addRange(0x26F2,0x26F3).addRange(0x270A,0x270B).addRange(0x2753,0x2755).addRange(0x2795,0x2797).addRange(0x2B1B,0x2B1C).addRange(0x1F191,0x1F19A).addRange(0x1F232,0x1F236).addRange(0x1F238,0x1F23A).addRange(0x1F250,0x1F251).addRange(0x1F300,0x1F320).addRange(0x1F32D,0x1F335).addRange(0x1F337,0x1F37C).addRange(0x1F37E,0x1F393).addRange(0x1F3A0,0x1F3CA).addRange(0x1F3CF,0x1F3D3).addRange(0x1F3E0,0x1F3F0).addRange(0x1F3F8,0x1F43E).addRange(0x1F442,0x1F4FC).addRange(0x1F4FF,0x1F53D).addRange(0x1F54B,0x1F54E).addRange(0x1F550,0x1F567).addRange(0x1F595,0x1F596).addRange(0x1F5FB,0x1F64F).addRange(0x1F680,0x1F6C5).addRange(0x1F6D0,0x1F6D2).addRange(0x1F6D5,0x1F6D7).addRange(0x1F6DC,0x1F6DF).addRange(0x1F6EB,0x1F6EC).addRange(0x1F6F4,0x1F6FC).addRange(0x1F7E0,0x1F7EB).addRange(0x1F90C,0x1F93A).addRange(0x1F93C,0x1F945).addRange(0x1F947,0x1F9FF).addRange(0x1FA70,0x1FA7C).addRange(0x1FA80,0x1FA88).addRange(0x1FA90,0x1FABD).addRange(0x1FABF,0x1FAC5).addRange(0x1FACE,0x1FADB).addRange(0x1FAE0,0x1FAE8).addRange(0x1FAF0,0x1FAF8);RGI_Emoji.characters=set;RGI_Emoji.strings=["#\uFE0F\u20E3","*\uFE0F\u20E3","0\uFE0F\u20E3","1\uFE0F\u20E3","2\uFE0F\u20E3","3\uFE0F\u20E3","4\uFE0F\u20E3","5\uFE0F\u20E3","6\uFE0F\u20E3","7\uFE0F\u20E3","8\uFE0F\u20E3","9\uFE0F\u20E3","\xA9\uFE0F","\xAE\uFE0F","\u203C\uFE0F","\u2049\uFE0F","\u2122\uFE0F","\u2139\uFE0F","\u2194\uFE0F","\u2195\uFE0F","\u2196\uFE0F","\u2197\uFE0F","\u2198\uFE0F","\u2199\uFE0F","\u21A9\uFE0F","\u21AA\uFE0F","\u2328\uFE0F","\u23CF\uFE0F","\u23ED\uFE0F","\u23EE\uFE0F","\u23EF\uFE0F","\u23F1\uFE0F","\u23F2\uFE0F","\u23F8\uFE0F","\u23F9\uFE0F","\u23FA\uFE0F","\u24C2\uFE0F","\u25AA\uFE0F","\u25AB\uFE0F","\u25B6\uFE0F","\u25C0\uFE0F","\u25FB\uFE0F","\u25FC\uFE0F","\u2600\uFE0F","\u2601\uFE0F","\u2602\uFE0F","\u2603\uFE0F","\u2604\uFE0F","\u260E\uFE0F","\u2611\uFE0F","\u2618\uFE0F","\u261D\uD83C\uDFFB","\u261D\uD83C\uDFFC","\u261D\uD83C\uDFFD","\u261D\uD83C\uDFFE","\u261D\uD83C\uDFFF","\u261D\uFE0F","\u2620\uFE0F","\u2622\uFE0F","\u2623\uFE0F","\u2626\uFE0F","\u262A\uFE0F","\u262E\uFE0F","\u262F\uFE0F","\u2638\uFE0F","\u2639\uFE0F","\u263A\uFE0F","\u2640\uFE0F","\u2642\uFE0F","\u265F\uFE0F","\u2660\uFE0F","\u2663\uFE0F","\u2665\uFE0F","\u2666\uFE0F","\u2668\uFE0F","\u267B\uFE0F","\u267E\uFE0F","\u2692\uFE0F","\u2694\uFE0F","\u2695\uFE0F","\u2696\uFE0F","\u2697\uFE0F","\u2699\uFE0F","\u269B\uFE0F","\u269C\uFE0F","\u26A0\uFE0F","\u26A7\uFE0F","\u26B0\uFE0F","\u26B1\uFE0F","\u26C8\uFE0F","\u26CF\uFE0F","\u26D1\uFE0F","\u26D3\uFE0F","\u26D3\uFE0F\u200D\uD83D\uDCA5","\u26E9\uFE0F","\u26F0\uFE0F","\u26F1\uFE0F","\u26F4\uFE0F","\u26F7\uFE0F","\u26F8\uFE0F","\u26F9\uD83C\uDFFB","\u26F9\uD83C\uDFFB\u200D\u2640\uFE0F","\u26F9\uD83C\uDFFB\u200D\u2642\uFE0F","\u26F9\uD83C\uDFFC","\u26F9\uD83C\uDFFC\u200D\u2640\uFE0F","\u26F9\uD83C\uDFFC\u200D\u2642\uFE0F","\u26F9\uD83C\uDFFD","\u26F9\uD83C\uDFFD\u200D\u2640\uFE0F","\u26F9\uD83C\uDFFD\u200D\u2642\uFE0F","\u26F9\uD83C\uDFFE","\u26F9\uD83C\uDFFE\u200D\u2640\uFE0F","\u26F9\uD83C\uDFFE\u200D\u2642\uFE0F","\u26F9\uD83C\uDFFF","\u26F9\uD83C\uDFFF\u200D\u2640\uFE0F","\u26F9\uD83C\uDFFF\u200D\u2642\uFE0F","\u26F9\uFE0F","\u26F9\uFE0F\u200D\u2640\uFE0F","\u26F9\uFE0F\u200D\u2642\uFE0F","\u2702\uFE0F","\u2708\uFE0F","\u2709\uFE0F","\u270A\uD83C\uDFFB","\u270A\uD83C\uDFFC","\u270A\uD83C\uDFFD","\u270A\uD83C\uDFFE","\u270A\uD83C\uDFFF","\u270B\uD83C\uDFFB","\u270B\uD83C\uDFFC","\u270B\uD83C\uDFFD","\u270B\uD83C\uDFFE","\u270B\uD83C\uDFFF","\u270C\uD83C\uDFFB","\u270C\uD83C\uDFFC","\u270C\uD83C\uDFFD","\u270C\uD83C\uDFFE","\u270C\uD83C\uDFFF","\u270C\uFE0F","\u270D\uD83C\uDFFB","\u270D\uD83C\uDFFC","\u270D\uD83C\uDFFD","\u270D\uD83C\uDFFE","\u270D\uD83C\uDFFF","\u270D\uFE0F","\u270F\uFE0F","\u2712\uFE0F","\u2714\uFE0F","\u2716\uFE0F","\u271D\uFE0F","\u2721\uFE0F","\u2733\uFE0F","\u2734\uFE0F","\u2744\uFE0F","\u2747\uFE0F","\u2763\uFE0F","\u2764\uFE0F","\u2764\uFE0F\u200D\uD83D\uDD25","\u2764\uFE0F\u200D\uD83E\uDE79","\u27A1\uFE0F","\u2934\uFE0F","\u2935\uFE0F","\u2B05\uFE0F","\u2B06\uFE0F","\u2B07\uFE0F","\u3030\uFE0F","\u303D\uFE0F","\u3297\uFE0F","\u3299\uFE0F","\uD83C\uDD70\uFE0F","\uD83C\uDD71\uFE0F","\uD83C\uDD7E\uFE0F","\uD83C\uDD7F\uFE0F","\uD83C\uDDE6\uD83C\uDDE8","\uD83C\uDDE6\uD83C\uDDE9","\uD83C\uDDE6\uD83C\uDDEA","\uD83C\uDDE6\uD83C\uDDEB","\uD83C\uDDE6\uD83C\uDDEC","\uD83C\uDDE6\uD83C\uDDEE","\uD83C\uDDE6\uD83C\uDDF1","\uD83C\uDDE6\uD83C\uDDF2","\uD83C\uDDE6\uD83C\uDDF4","\uD83C\uDDE6\uD83C\uDDF6","\uD83C\uDDE6\uD83C\uDDF7","\uD83C\uDDE6\uD83C\uDDF8","\uD83C\uDDE6\uD83C\uDDF9","\uD83C\uDDE6\uD83C\uDDFA","\uD83C\uDDE6\uD83C\uDDFC","\uD83C\uDDE6\uD83C\uDDFD","\uD83C\uDDE6\uD83C\uDDFF","\uD83C\uDDE7\uD83C\uDDE6","\uD83C\uDDE7\uD83C\uDDE7","\uD83C\uDDE7\uD83C\uDDE9","\uD83C\uDDE7\uD83C\uDDEA","\uD83C\uDDE7\uD83C\uDDEB","\uD83C\uDDE7\uD83C\uDDEC","\uD83C\uDDE7\uD83C\uDDED","\uD83C\uDDE7\uD83C\uDDEE","\uD83C\uDDE7\uD83C\uDDEF","\uD83C\uDDE7\uD83C\uDDF1","\uD83C\uDDE7\uD83C\uDDF2","\uD83C\uDDE7\uD83C\uDDF3","\uD83C\uDDE7\uD83C\uDDF4","\uD83C\uDDE7\uD83C\uDDF6","\uD83C\uDDE7\uD83C\uDDF7","\uD83C\uDDE7\uD83C\uDDF8","\uD83C\uDDE7\uD83C\uDDF9","\uD83C\uDDE7\uD83C\uDDFB","\uD83C\uDDE7\uD83C\uDDFC","\uD83C\uDDE7\uD83C\uDDFE","\uD83C\uDDE7\uD83C\uDDFF","\uD83C\uDDE8\uD83C\uDDE6","\uD83C\uDDE8\uD83C\uDDE8","\uD83C\uDDE8\uD83C\uDDE9","\uD83C\uDDE8\uD83C\uDDEB","\uD83C\uDDE8\uD83C\uDDEC","\uD83C\uDDE8\uD83C\uDDED","\uD83C\uDDE8\uD83C\uDDEE","\uD83C\uDDE8\uD83C\uDDF0","\uD83C\uDDE8\uD83C\uDDF1","\uD83C\uDDE8\uD83C\uDDF2","\uD83C\uDDE8\uD83C\uDDF3","\uD83C\uDDE8\uD83C\uDDF4","\uD83C\uDDE8\uD83C\uDDF5","\uD83C\uDDE8\uD83C\uDDF7","\uD83C\uDDE8\uD83C\uDDFA","\uD83C\uDDE8\uD83C\uDDFB","\uD83C\uDDE8\uD83C\uDDFC","\uD83C\uDDE8\uD83C\uDDFD","\uD83C\uDDE8\uD83C\uDDFE","\uD83C\uDDE8\uD83C\uDDFF","\uD83C\uDDE9\uD83C\uDDEA","\uD83C\uDDE9\uD83C\uDDEC","\uD83C\uDDE9\uD83C\uDDEF","\uD83C\uDDE9\uD83C\uDDF0","\uD83C\uDDE9\uD83C\uDDF2","\uD83C\uDDE9\uD83C\uDDF4","\uD83C\uDDE9\uD83C\uDDFF","\uD83C\uDDEA\uD83C\uDDE6","\uD83C\uDDEA\uD83C\uDDE8","\uD83C\uDDEA\uD83C\uDDEA","\uD83C\uDDEA\uD83C\uDDEC","\uD83C\uDDEA\uD83C\uDDED","\uD83C\uDDEA\uD83C\uDDF7","\uD83C\uDDEA\uD83C\uDDF8","\uD83C\uDDEA\uD83C\uDDF9","\uD83C\uDDEA\uD83C\uDDFA","\uD83C\uDDEB\uD83C\uDDEE","\uD83C\uDDEB\uD83C\uDDEF","\uD83C\uDDEB\uD83C\uDDF0","\uD83C\uDDEB\uD83C\uDDF2","\uD83C\uDDEB\uD83C\uDDF4","\uD83C\uDDEB\uD83C\uDDF7","\uD83C\uDDEC\uD83C\uDDE6","\uD83C\uDDEC\uD83C\uDDE7","\uD83C\uDDEC\uD83C\uDDE9","\uD83C\uDDEC\uD83C\uDDEA","\uD83C\uDDEC\uD83C\uDDEB","\uD83C\uDDEC\uD83C\uDDEC","\uD83C\uDDEC\uD83C\uDDED","\uD83C\uDDEC\uD83C\uDDEE","\uD83C\uDDEC\uD83C\uDDF1","\uD83C\uDDEC\uD83C\uDDF2","\uD83C\uDDEC\uD83C\uDDF3","\uD83C\uDDEC\uD83C\uDDF5","\uD83C\uDDEC\uD83C\uDDF6","\uD83C\uDDEC\uD83C\uDDF7","\uD83C\uDDEC\uD83C\uDDF8","\uD83C\uDDEC\uD83C\uDDF9","\uD83C\uDDEC\uD83C\uDDFA","\uD83C\uDDEC\uD83C\uDDFC","\uD83C\uDDEC\uD83C\uDDFE","\uD83C\uDDED\uD83C\uDDF0","\uD83C\uDDED\uD83C\uDDF2","\uD83C\uDDED\uD83C\uDDF3","\uD83C\uDDED\uD83C\uDDF7","\uD83C\uDDED\uD83C\uDDF9","\uD83C\uDDED\uD83C\uDDFA","\uD83C\uDDEE\uD83C\uDDE8","\uD83C\uDDEE\uD83C\uDDE9","\uD83C\uDDEE\uD83C\uDDEA","\uD83C\uDDEE\uD83C\uDDF1","\uD83C\uDDEE\uD83C\uDDF2","\uD83C\uDDEE\uD83C\uDDF3","\uD83C\uDDEE\uD83C\uDDF4","\uD83C\uDDEE\uD83C\uDDF6","\uD83C\uDDEE\uD83C\uDDF7","\uD83C\uDDEE\uD83C\uDDF8","\uD83C\uDDEE\uD83C\uDDF9","\uD83C\uDDEF\uD83C\uDDEA","\uD83C\uDDEF\uD83C\uDDF2","\uD83C\uDDEF\uD83C\uDDF4","\uD83C\uDDEF\uD83C\uDDF5","\uD83C\uDDF0\uD83C\uDDEA","\uD83C\uDDF0\uD83C\uDDEC","\uD83C\uDDF0\uD83C\uDDED","\uD83C\uDDF0\uD83C\uDDEE","\uD83C\uDDF0\uD83C\uDDF2","\uD83C\uDDF0\uD83C\uDDF3","\uD83C\uDDF0\uD83C\uDDF5","\uD83C\uDDF0\uD83C\uDDF7","\uD83C\uDDF0\uD83C\uDDFC","\uD83C\uDDF0\uD83C\uDDFE","\uD83C\uDDF0\uD83C\uDDFF","\uD83C\uDDF1\uD83C\uDDE6","\uD83C\uDDF1\uD83C\uDDE7","\uD83C\uDDF1\uD83C\uDDE8","\uD83C\uDDF1\uD83C\uDDEE","\uD83C\uDDF1\uD83C\uDDF0","\uD83C\uDDF1\uD83C\uDDF7","\uD83C\uDDF1\uD83C\uDDF8","\uD83C\uDDF1\uD83C\uDDF9","\uD83C\uDDF1\uD83C\uDDFA","\uD83C\uDDF1\uD83C\uDDFB","\uD83C\uDDF1\uD83C\uDDFE","\uD83C\uDDF2\uD83C\uDDE6","\uD83C\uDDF2\uD83C\uDDE8","\uD83C\uDDF2\uD83C\uDDE9","\uD83C\uDDF2\uD83C\uDDEA","\uD83C\uDDF2\uD83C\uDDEB","\uD83C\uDDF2\uD83C\uDDEC","\uD83C\uDDF2\uD83C\uDDED","\uD83C\uDDF2\uD83C\uDDF0","\uD83C\uDDF2\uD83C\uDDF1","\uD83C\uDDF2\uD83C\uDDF2","\uD83C\uDDF2\uD83C\uDDF3","\uD83C\uDDF2\uD83C\uDDF4","\uD83C\uDDF2\uD83C\uDDF5","\uD83C\uDDF2\uD83C\uDDF6","\uD83C\uDDF2\uD83C\uDDF7","\uD83C\uDDF2\uD83C\uDDF8","\uD83C\uDDF2\uD83C\uDDF9","\uD83C\uDDF2\uD83C\uDDFA","\uD83C\uDDF2\uD83C\uDDFB","\uD83C\uDDF2\uD83C\uDDFC","\uD83C\uDDF2\uD83C\uDDFD","\uD83C\uDDF2\uD83C\uDDFE","\uD83C\uDDF2\uD83C\uDDFF","\uD83C\uDDF3\uD83C\uDDE6","\uD83C\uDDF3\uD83C\uDDE8","\uD83C\uDDF3\uD83C\uDDEA","\uD83C\uDDF3\uD83C\uDDEB","\uD83C\uDDF3\uD83C\uDDEC","\uD83C\uDDF3\uD83C\uDDEE","\uD83C\uDDF3\uD83C\uDDF1","\uD83C\uDDF3\uD83C\uDDF4","\uD83C\uDDF3\uD83C\uDDF5","\uD83C\uDDF3\uD83C\uDDF7","\uD83C\uDDF3\uD83C\uDDFA","\uD83C\uDDF3\uD83C\uDDFF","\uD83C\uDDF4\uD83C\uDDF2","\uD83C\uDDF5\uD83C\uDDE6","\uD83C\uDDF5\uD83C\uDDEA","\uD83C\uDDF5\uD83C\uDDEB","\uD83C\uDDF5\uD83C\uDDEC","\uD83C\uDDF5\uD83C\uDDED","\uD83C\uDDF5\uD83C\uDDF0","\uD83C\uDDF5\uD83C\uDDF1","\uD83C\uDDF5\uD83C\uDDF2","\uD83C\uDDF5\uD83C\uDDF3","\uD83C\uDDF5\uD83C\uDDF7","\uD83C\uDDF5\uD83C\uDDF8","\uD83C\uDDF5\uD83C\uDDF9","\uD83C\uDDF5\uD83C\uDDFC","\uD83C\uDDF5\uD83C\uDDFE","\uD83C\uDDF6\uD83C\uDDE6","\uD83C\uDDF7\uD83C\uDDEA","\uD83C\uDDF7\uD83C\uDDF4","\uD83C\uDDF7\uD83C\uDDF8","\uD83C\uDDF7\uD83C\uDDFA","\uD83C\uDDF7\uD83C\uDDFC","\uD83C\uDDF8\uD83C\uDDE6","\uD83C\uDDF8\uD83C\uDDE7","\uD83C\uDDF8\uD83C\uDDE8","\uD83C\uDDF8\uD83C\uDDE9","\uD83C\uDDF8\uD83C\uDDEA","\uD83C\uDDF8\uD83C\uDDEC","\uD83C\uDDF8\uD83C\uDDED","\uD83C\uDDF8\uD83C\uDDEE","\uD83C\uDDF8\uD83C\uDDEF","\uD83C\uDDF8\uD83C\uDDF0","\uD83C\uDDF8\uD83C\uDDF1","\uD83C\uDDF8\uD83C\uDDF2","\uD83C\uDDF8\uD83C\uDDF3","\uD83C\uDDF8\uD83C\uDDF4","\uD83C\uDDF8\uD83C\uDDF7","\uD83C\uDDF8\uD83C\uDDF8","\uD83C\uDDF8\uD83C\uDDF9","\uD83C\uDDF8\uD83C\uDDFB","\uD83C\uDDF8\uD83C\uDDFD","\uD83C\uDDF8\uD83C\uDDFE","\uD83C\uDDF8\uD83C\uDDFF","\uD83C\uDDF9\uD83C\uDDE6","\uD83C\uDDF9\uD83C\uDDE8","\uD83C\uDDF9\uD83C\uDDE9","\uD83C\uDDF9\uD83C\uDDEB","\uD83C\uDDF9\uD83C\uDDEC","\uD83C\uDDF9\uD83C\uDDED","\uD83C\uDDF9\uD83C\uDDEF","\uD83C\uDDF9\uD83C\uDDF0","\uD83C\uDDF9\uD83C\uDDF1","\uD83C\uDDF9\uD83C\uDDF2","\uD83C\uDDF9\uD83C\uDDF3","\uD83C\uDDF9\uD83C\uDDF4","\uD83C\uDDF9\uD83C\uDDF7","\uD83C\uDDF9\uD83C\uDDF9","\uD83C\uDDF9\uD83C\uDDFB","\uD83C\uDDF9\uD83C\uDDFC","\uD83C\uDDF9\uD83C\uDDFF","\uD83C\uDDFA\uD83C\uDDE6","\uD83C\uDDFA\uD83C\uDDEC","\uD83C\uDDFA\uD83C\uDDF2","\uD83C\uDDFA\uD83C\uDDF3","\uD83C\uDDFA\uD83C\uDDF8","\uD83C\uDDFA\uD83C\uDDFE","\uD83C\uDDFA\uD83C\uDDFF","\uD83C\uDDFB\uD83C\uDDE6","\uD83C\uDDFB\uD83C\uDDE8","\uD83C\uDDFB\uD83C\uDDEA","\uD83C\uDDFB\uD83C\uDDEC","\uD83C\uDDFB\uD83C\uDDEE","\uD83C\uDDFB\uD83C\uDDF3","\uD83C\uDDFB\uD83C\uDDFA","\uD83C\uDDFC\uD83C\uDDEB","\uD83C\uDDFC\uD83C\uDDF8","\uD83C\uDDFD\uD83C\uDDF0","\uD83C\uDDFE\uD83C\uDDEA","\uD83C\uDDFE\uD83C\uDDF9","\uD83C\uDDFF\uD83C\uDDE6","\uD83C\uDDFF\uD83C\uDDF2","\uD83C\uDDFF\uD83C\uDDFC","\uD83C\uDE02\uFE0F","\uD83C\uDE37\uFE0F","\uD83C\uDF21\uFE0F","\uD83C\uDF24\uFE0F","\uD83C\uDF25\uFE0F","\uD83C\uDF26\uFE0F","\uD83C\uDF27\uFE0F","\uD83C\uDF28\uFE0F","\uD83C\uDF29\uFE0F","\uD83C\uDF2A\uFE0F","\uD83C\uDF2B\uFE0F","\uD83C\uDF2C\uFE0F","\uD83C\uDF36\uFE0F","\uD83C\uDF44\u200D\uD83D\uDFEB","\uD83C\uDF4B\u200D\uD83D\uDFE9","\uD83C\uDF7D\uFE0F","\uD83C\uDF85\uD83C\uDFFB","\uD83C\uDF85\uD83C\uDFFC","\uD83C\uDF85\uD83C\uDFFD","\uD83C\uDF85\uD83C\uDFFE","\uD83C\uDF85\uD83C\uDFFF","\uD83C\uDF96\uFE0F","\uD83C\uDF97\uFE0F","\uD83C\uDF99\uFE0F","\uD83C\uDF9A\uFE0F","\uD83C\uDF9B\uFE0F","\uD83C\uDF9E\uFE0F","\uD83C\uDF9F\uFE0F","\uD83C\uDFC2\uD83C\uDFFB","\uD83C\uDFC2\uD83C\uDFFC","\uD83C\uDFC2\uD83C\uDFFD","\uD83C\uDFC2\uD83C\uDFFE","\uD83C\uDFC2\uD83C\uDFFF","\uD83C\uDFC3\u200D\u2640\uFE0F","\uD83C\uDFC3\u200D\u2640\uFE0F\u200D\u27A1\uFE0F","\uD83C\uDFC3\u200D\u2642\uFE0F","\uD83C\uDFC3\u200D\u2642\uFE0F\u200D\u27A1\uFE0F","\uD83C\uDFC3\u200D\u27A1\uFE0F","\uD83C\uDFC3\uD83C\uDFFB","\uD83C\uDFC3\uD83C\uDFFB\u200D\u2640\uFE0F","\uD83C\uDFC3\uD83C\uDFFB\u200D\u2640\uFE0F\u200D\u27A1\uFE0F","\uD83C\uDFC3\uD83C\uDFFB\u200D\u2642\uFE0F","\uD83C\uDFC3\uD83C\uDFFB\u200D\u2642\uFE0F\u200D\u27A1\uFE0F","\uD83C\uDFC3\uD83C\uDFFB\u200D\u27A1\uFE0F","\uD83C\uDFC3\uD83C\uDFFC","\uD83C\uDFC3\uD83C\uDFFC\u200D\u2640\uFE0F","\uD83C\uDFC3\uD83C\uDFFC\u200D\u2640\uFE0F\u200D\u27A1\uFE0F","\uD83C\uDFC3\uD83C\uDFFC\u200D\u2642\uFE0F","\uD83C\uDFC3\uD83C\uDFFC\u200D\u2642\uFE0F\u200D\u27A1\uFE0F","\uD83C\uDFC3\uD83C\uDFFC\u200D\u27A1\uFE0F","\uD83C\uDFC3\uD83C\uDFFD","\uD83C\uDFC3\uD83C\uDFFD\u200D\u2640\uFE0F","\uD83C\uDFC3\uD83C\uDFFD\u200D\u2640\uFE0F\u200D\u27A1\uFE0F","\uD83C\uDFC3\uD83C\uDFFD\u200D\u2642\uFE0F","\uD83C\uDFC3\uD83C\uDFFD\u200D\u2642\uFE0F\u200D\u27A1\uFE0F","\uD83C\uDFC3\uD83C\uDFFD\u200D\u27A1\uFE0F","\uD83C\uDFC3\uD83C\uDFFE","\uD83C\uDFC3\uD83C\uDFFE\u200D\u2640\uFE0F","\uD83C\uDFC3\uD83C\uDFFE\u200D\u2640\uFE0F\u200D\u27A1\uFE0F","\uD83C\uDFC3\uD83C\uDFFE\u200D\u2642\uFE0F","\uD83C\uDFC3\uD83C\uDFFE\u200D\u2642\uFE0F\u200D\u27A1\uFE0F","\uD83C\uDFC3\uD83C\uDFFE\u200D\u27A1\uFE0F","\uD83C\uDFC3\uD83C\uDFFF","\uD83C\uDFC3\uD83C\uDFFF\u200D\u2640\uFE0F","\uD83C\uDFC3\uD83C\uDFFF\u200D\u2640\uFE0F\u200D\u27A1\uFE0F","\uD83C\uDFC3\uD83C\uDFFF\u200D\u2642\uFE0F","\uD83C\uDFC3\uD83C\uDFFF\u200D\u2642\uFE0F\u200D\u27A1\uFE0F","\uD83C\uDFC3\uD83C\uDFFF\u200D\u27A1\uFE0F","\uD83C\uDFC4\u200D\u2640\uFE0F","\uD83C\uDFC4\u200D\u2642\uFE0F","\uD83C\uDFC4\uD83C\uDFFB","\uD83C\uDFC4\uD83C\uDFFB\u200D\u2640\uFE0F","\uD83C\uDFC4\uD83C\uDFFB\u200D\u2642\uFE0F","\uD83C\uDFC4\uD83C\uDFFC","\uD83C\uDFC4\uD83C\uDFFC\u200D\u2640\uFE0F","\uD83C\uDFC4\uD83C\uDFFC\u200D\u2642\uFE0F","\uD83C\uDFC4\uD83C\uDFFD","\uD83C\uDFC4\uD83C\uDFFD\u200D\u2640\uFE0F","\uD83C\uDFC4\uD83C\uDFFD\u200D\u2642\uFE0F","\uD83C\uDFC4\uD83C\uDFFE","\uD83C\uDFC4\uD83C\uDFFE\u200D\u2640\uFE0F","\uD83C\uDFC4\uD83C\uDFFE\u200D\u2642\uFE0F","\uD83C\uDFC4\uD83C\uDFFF","\uD83C\uDFC4\uD83C\uDFFF\u200D\u2640\uFE0F","\uD83C\uDFC4\uD83C\uDFFF\u200D\u2642\uFE0F","\uD83C\uDFC7\uD83C\uDFFB","\uD83C\uDFC7\uD83C\uDFFC","\uD83C\uDFC7\uD83C\uDFFD","\uD83C\uDFC7\uD83C\uDFFE","\uD83C\uDFC7\uD83C\uDFFF","\uD83C\uDFCA\u200D\u2640\uFE0F","\uD83C\uDFCA\u200D\u2642\uFE0F","\uD83C\uDFCA\uD83C\uDFFB","\uD83C\uDFCA\uD83C\uDFFB\u200D\u2640\uFE0F","\uD83C\uDFCA\uD83C\uDFFB\u200D\u2642\uFE0F","\uD83C\uDFCA\uD83C\uDFFC","\uD83C\uDFCA\uD83C\uDFFC\u200D\u2640\uFE0F","\uD83C\uDFCA\uD83C\uDFFC\u200D\u2642\uFE0F","\uD83C\uDFCA\uD83C\uDFFD","\uD83C\uDFCA\uD83C\uDFFD\u200D\u2640\uFE0F","\uD83C\uDFCA\uD83C\uDFFD\u200D\u2642\uFE0F","\uD83C\uDFCA\uD83C\uDFFE","\uD83C\uDFCA\uD83C\uDFFE\u200D\u2640\uFE0F","\uD83C\uDFCA\uD83C\uDFFE\u200D\u2642\uFE0F","\uD83C\uDFCA\uD83C\uDFFF","\uD83C\uDFCA\uD83C\uDFFF\u200D\u2640\uFE0F","\uD83C\uDFCA\uD83C\uDFFF\u200D\u2642\uFE0F","\uD83C\uDFCB\uD83C\uDFFB","\uD83C\uDFCB\uD83C\uDFFB\u200D\u2640\uFE0F","\uD83C\uDFCB\uD83C\uDFFB\u200D\u2642\uFE0F","\uD83C\uDFCB\uD83C\uDFFC","\uD83C\uDFCB\uD83C\uDFFC\u200D\u2640\uFE0F","\uD83C\uDFCB\uD83C\uDFFC\u200D\u2642\uFE0F","\uD83C\uDFCB\uD83C\uDFFD","\uD83C\uDFCB\uD83C\uDFFD\u200D\u2640\uFE0F","\uD83C\uDFCB\uD83C\uDFFD\u200D\u2642\uFE0F","\uD83C\uDFCB\uD83C\uDFFE","\uD83C\uDFCB\uD83C\uDFFE\u200D\u2640\uFE0F","\uD83C\uDFCB\uD83C\uDFFE\u200D\u2642\uFE0F","\uD83C\uDFCB\uD83C\uDFFF","\uD83C\uDFCB\uD83C\uDFFF\u200D\u2640\uFE0F","\uD83C\uDFCB\uD83C\uDFFF\u200D\u2642\uFE0F","\uD83C\uDFCB\uFE0F","\uD83C\uDFCB\uFE0F\u200D\u2640\uFE0F","\uD83C\uDFCB\uFE0F\u200D\u2642\uFE0F","\uD83C\uDFCC\uD83C\uDFFB","\uD83C\uDFCC\uD83C\uDFFB\u200D\u2640\uFE0F","\uD83C\uDFCC\uD83C\uDFFB\u200D\u2642\uFE0F","\uD83C\uDFCC\uD83C\uDFFC","\uD83C\uDFCC\uD83C\uDFFC\u200D\u2640\uFE0F","\uD83C\uDFCC\uD83C\uDFFC\u200D\u2642\uFE0F","\uD83C\uDFCC\uD83C\uDFFD","\uD83C\uDFCC\uD83C\uDFFD\u200D\u2640\uFE0F","\uD83C\uDFCC\uD83C\uDFFD\u200D\u2642\uFE0F","\uD83C\uDFCC\uD83C\uDFFE","\uD83C\uDFCC\uD83C\uDFFE\u200D\u2640\uFE0F","\uD83C\uDFCC\uD83C\uDFFE\u200D\u2642\uFE0F","\uD83C\uDFCC\uD83C\uDFFF","\uD83C\uDFCC\uD83C\uDFFF\u200D\u2640\uFE0F","\uD83C\uDFCC\uD83C\uDFFF\u200D\u2642\uFE0F","\uD83C\uDFCC\uFE0F","\uD83C\uDFCC\uFE0F\u200D\u2640\uFE0F","\uD83C\uDFCC\uFE0F\u200D\u2642\uFE0F","\uD83C\uDFCD\uFE0F","\uD83C\uDFCE\uFE0F","\uD83C\uDFD4\uFE0F","\uD83C\uDFD5\uFE0F","\uD83C\uDFD6\uFE0F","\uD83C\uDFD7\uFE0F","\uD83C\uDFD8\uFE0F","\uD83C\uDFD9\uFE0F","\uD83C\uDFDA\uFE0F","\uD83C\uDFDB\uFE0F","\uD83C\uDFDC\uFE0F","\uD83C\uDFDD\uFE0F","\uD83C\uDFDE\uFE0F","\uD83C\uDFDF\uFE0F","\uD83C\uDFF3\uFE0F","\uD83C\uDFF3\uFE0F\u200D\u26A7\uFE0F","\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08","\uD83C\uDFF4\u200D\u2620\uFE0F","\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67\uDB40\uDC7F","\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74\uDB40\uDC7F","\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73\uDB40\uDC7F","\uD83C\uDFF5\uFE0F","\uD83C\uDFF7\uFE0F","\uD83D\uDC08\u200D\u2B1B","\uD83D\uDC15\u200D\uD83E\uDDBA","\uD83D\uDC26\u200D\u2B1B","\uD83D\uDC26\u200D\uD83D\uDD25","\uD83D\uDC3B\u200D\u2744\uFE0F","\uD83D\uDC3F\uFE0F","\uD83D\uDC41\uFE0F","\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8\uFE0F","\uD83D\uDC42\uD83C\uDFFB","\uD83D\uDC42\uD83C\uDFFC","\uD83D\uDC42\uD83C\uDFFD","\uD83D\uDC42\uD83C\uDFFE","\uD83D\uDC42\uD83C\uDFFF","\uD83D\uDC43\uD83C\uDFFB","\uD83D\uDC43\uD83C\uDFFC","\uD83D\uDC43\uD83C\uDFFD","\uD83D\uDC43\uD83C\uDFFE","\uD83D\uDC43\uD83C\uDFFF","\uD83D\uDC46\uD83C\uDFFB","\uD83D\uDC46\uD83C\uDFFC","\uD83D\uDC46\uD83C\uDFFD","\uD83D\uDC46\uD83C\uDFFE","\uD83D\uDC46\uD83C\uDFFF","\uD83D\uDC47\uD83C\uDFFB","\uD83D\uDC47\uD83C\uDFFC","\uD83D\uDC47\uD83C\uDFFD","\uD83D\uDC47\uD83C\uDFFE","\uD83D\uDC47\uD83C\uDFFF","\uD83D\uDC48\uD83C\uDFFB","\uD83D\uDC48\uD83C\uDFFC","\uD83D\uDC48\uD83C\uDFFD","\uD83D\uDC48\uD83C\uDFFE","\uD83D\uDC48\uD83C\uDFFF","\uD83D\uDC49\uD83C\uDFFB","\uD83D\uDC49\uD83C\uDFFC","\uD83D\uDC49\uD83C\uDFFD","\uD83D\uDC49\uD83C\uDFFE","\uD83D\uDC49\uD83C\uDFFF","\uD83D\uDC4A\uD83C\uDFFB","\uD83D\uDC4A\uD83C\uDFFC","\uD83D\uDC4A\uD83C\uDFFD","\uD83D\uDC4A\uD83C\uDFFE","\uD83D\uDC4A\uD83C\uDFFF","\uD83D\uDC4B\uD83C\uDFFB","\uD83D\uDC4B\uD83C\uDFFC","\uD83D\uDC4B\uD83C\uDFFD","\uD83D\uDC4B\uD83C\uDFFE","\uD83D\uDC4B\uD83C\uDFFF","\uD83D\uDC4C\uD83C\uDFFB","\uD83D\uDC4C\uD83C\uDFFC","\uD83D\uDC4C\uD83C\uDFFD","\uD83D\uDC4C\uD83C\uDFFE","\uD83D\uDC4C\uD83C\uDFFF","\uD83D\uDC4D\uD83C\uDFFB","\uD83D\uDC4D\uD83C\uDFFC","\uD83D\uDC4D\uD83C\uDFFD","\uD83D\uDC4D\uD83C\uDFFE","\uD83D\uDC4D\uD83C\uDFFF","\uD83D\uDC4E\uD83C\uDFFB","\uD83D\uDC4E\uD83C\uDFFC","\uD83D\uDC4E\uD83C\uDFFD","\uD83D\uDC4E\uD83C\uDFFE","\uD83D\uDC4E\uD83C\uDFFF","\uD83D\uDC4F\uD83C\uDFFB","\uD83D\uDC4F\uD83C\uDFFC","\uD83D\uDC4F\uD83C\uDFFD","\uD83D\uDC4F\uD83C\uDFFE","\uD83D\uDC4F\uD83C\uDFFF","\uD83D\uDC50\uD83C\uDFFB","\uD83D\uDC50\uD83C\uDFFC","\uD83D\uDC50\uD83C\uDFFD","\uD83D\uDC50\uD83C\uDFFE","\uD83D\uDC50\uD83C\uDFFF","\uD83D\uDC66\uD83C\uDFFB","\uD83D\uDC66\uD83C\uDFFC","\uD83D\uDC66\uD83C\uDFFD","\uD83D\uDC66\uD83C\uDFFE","\uD83D\uDC66\uD83C\uDFFF","\uD83D\uDC67\uD83C\uDFFB","\uD83D\uDC67\uD83C\uDFFC","\uD83D\uDC67\uD83C\uDFFD","\uD83D\uDC67\uD83C\uDFFE","\uD83D\uDC67\uD83C\uDFFF","\uD83D\uDC68\u200D\u2695\uFE0F","\uD83D\uDC68\u200D\u2696\uFE0F","\uD83D\uDC68\u200D\u2708\uFE0F","\uD83D\uDC68\u200D\u2764\uFE0F\u200D\uD83D\uDC68","\uD83D\uDC68\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68","\uD83D\uDC68\u200D\uD83C\uDF3E","\uD83D\uDC68\u200D\uD83C\uDF73","\uD83D\uDC68\u200D\uD83C\uDF7C","\uD83D\uDC68\u200D\uD83C\uDF93","\uD83D\uDC68\u200D\uD83C\uDFA4","\uD83D\uDC68\u200D\uD83C\uDFA8","\uD83D\uDC68\u200D\uD83C\uDFEB","\uD83D\uDC68\u200D\uD83C\uDFED","\uD83D\uDC68\u200D\uD83D\uDC66","\uD83D\uDC68\u200D\uD83D\uDC66\u200D\uD83D\uDC66","\uD83D\uDC68\u200D\uD83D\uDC67","\uD83D\uDC68\u200D\uD83D\uDC67\u200D\uD83D\uDC66","\uD83D\uDC68\u200D\uD83D\uDC67\u200D\uD83D\uDC67","\uD83D\uDC68\u200D\uD83D\uDC68\u200D\uD83D\uDC66","\uD83D\uDC68\u200D\uD83D\uDC68\u200D\uD83D\uDC66\u200D\uD83D\uDC66","\uD83D\uDC68\u200D\uD83D\uDC68\u200D\uD83D\uDC67","\uD83D\uDC68\u200D\uD83D\uDC68\u200D\uD83D\uDC67\u200D\uD83D\uDC66","\uD83D\uDC68\u200D\uD83D\uDC68\u200D\uD83D\uDC67\u200D\uD83D\uDC67","\uD83D\uDC68\u200D\uD83D\uDC69\u200D\uD83D\uDC66","\uD83D\uDC68\u200D\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66","\uD83D\uDC68\u200D\uD83D\uDC69\u200D\uD83D\uDC67","\uD83D\uDC68\u200D\uD83D\uDC69\u200D\uD83D\uDC67\u200D\uD83D\uDC66","\uD83D\uDC68\u200D\uD83D\uDC69\u200D\uD83D\uDC67\u200D\uD83D\uDC67","\uD83D\uDC68\u200D\uD83D\uDCBB","\uD83D\uDC68\u200D\uD83D\uDCBC","\uD83D\uDC68\u200D\uD83D\uDD27","\uD83D\uDC68\u200D\uD83D\uDD2C","\uD83D\uDC68\u200D\uD83D\uDE80","\uD83D\uDC68\u200D\uD83D\uDE92","\uD83D\uDC68\u200D\uD83E\uDDAF","\uD83D\uDC68\u200D\uD83E\uDDAF\u200D\u27A1\uFE0F","\uD83D\uDC68\u200D\uD83E\uDDB0","\uD83D\uDC68\u200D\uD83E\uDDB1","\uD83D\uDC68\u200D\uD83E\uDDB2","\uD83D\uDC68\u200D\uD83E\uDDB3","\uD83D\uDC68\u200D\uD83E\uDDBC","\uD83D\uDC68\u200D\uD83E\uDDBC\u200D\u27A1\uFE0F","\uD83D\uDC68\u200D\uD83E\uDDBD","\uD83D\uDC68\u200D\uD83E\uDDBD\u200D\u27A1\uFE0F","\uD83D\uDC68\uD83C\uDFFB","\uD83D\uDC68\uD83C\uDFFB\u200D\u2695\uFE0F","\uD83D\uDC68\uD83C\uDFFB\u200D\u2696\uFE0F","\uD83D\uDC68\uD83C\uDFFB\u200D\u2708\uFE0F","\uD83D\uDC68\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFB","\uD83D\uDC68\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFC","\uD83D\uDC68\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFD","\uD83D\uDC68\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFE","\uD83D\uDC68\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFF","\uD83D\uDC68\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFB","\uD83D\uDC68\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFC","\uD83D\uDC68\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFD","\uD83D\uDC68\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFE","\uD83D\uDC68\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFF","\uD83D\uDC68\uD83C\uDFFB\u200D\uD83C\uDF3E","\uD83D\uDC68\uD83C\uDFFB\u200D\uD83C\uDF73","\uD83D\uDC68\uD83C\uDFFB\u200D\uD83C\uDF7C","\uD83D\uDC68\uD83C\uDFFB\u200D\uD83C\uDF93","\uD83D\uDC68\uD83C\uDFFB\u200D\uD83C\uDFA4","\uD83D\uDC68\uD83C\uDFFB\u200D\uD83C\uDFA8","\uD83D\uDC68\uD83C\uDFFB\u200D\uD83C\uDFEB","\uD83D\uDC68\uD83C\uDFFB\u200D\uD83C\uDFED","\uD83D\uDC68\uD83C\uDFFB\u200D\uD83D\uDCBB","\uD83D\uDC68\uD83C\uDFFB\u200D\uD83D\uDCBC","\uD83D\uDC68\uD83C\uDFFB\u200D\uD83D\uDD27","\uD83D\uDC68\uD83C\uDFFB\u200D\uD83D\uDD2C","\uD83D\uDC68\uD83C\uDFFB\u200D\uD83D\uDE80","\uD83D\uDC68\uD83C\uDFFB\u200D\uD83D\uDE92","\uD83D\uDC68\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFC","\uD83D\uDC68\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFD","\uD83D\uDC68\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFE","\uD83D\uDC68\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFF","\uD83D\uDC68\uD83C\uDFFB\u200D\uD83E\uDDAF","\uD83D\uDC68\uD83C\uDFFB\u200D\uD83E\uDDAF\u200D\u27A1\uFE0F","\uD83D\uDC68\uD83C\uDFFB\u200D\uD83E\uDDB0","\uD83D\uDC68\uD83C\uDFFB\u200D\uD83E\uDDB1","\uD83D\uDC68\uD83C\uDFFB\u200D\uD83E\uDDB2","\uD83D\uDC68\uD83C\uDFFB\u200D\uD83E\uDDB3","\uD83D\uDC68\uD83C\uDFFB\u200D\uD83E\uDDBC","\uD83D\uDC68\uD83C\uDFFB\u200D\uD83E\uDDBC\u200D\u27A1\uFE0F","\uD83D\uDC68\uD83C\uDFFB\u200D\uD83E\uDDBD","\uD83D\uDC68\uD83C\uDFFB\u200D\uD83E\uDDBD\u200D\u27A1\uFE0F","\uD83D\uDC68\uD83C\uDFFC","\uD83D\uDC68\uD83C\uDFFC\u200D\u2695\uFE0F","\uD83D\uDC68\uD83C\uDFFC\u200D\u2696\uFE0F","\uD83D\uDC68\uD83C\uDFFC\u200D\u2708\uFE0F","\uD83D\uDC68\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFB","\uD83D\uDC68\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFC","\uD83D\uDC68\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFD","\uD83D\uDC68\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFE","\uD83D\uDC68\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFF","\uD83D\uDC68\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFB","\uD83D\uDC68\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFC","\uD83D\uDC68\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFD","\uD83D\uDC68\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFE","\uD83D\uDC68\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFF","\uD83D\uDC68\uD83C\uDFFC\u200D\uD83C\uDF3E","\uD83D\uDC68\uD83C\uDFFC\u200D\uD83C\uDF73","\uD83D\uDC68\uD83C\uDFFC\u200D\uD83C\uDF7C","\uD83D\uDC68\uD83C\uDFFC\u200D\uD83C\uDF93","\uD83D\uDC68\uD83C\uDFFC\u200D\uD83C\uDFA4","\uD83D\uDC68\uD83C\uDFFC\u200D\uD83C\uDFA8","\uD83D\uDC68\uD83C\uDFFC\u200D\uD83C\uDFEB","\uD83D\uDC68\uD83C\uDFFC\u200D\uD83C\uDFED","\uD83D\uDC68\uD83C\uDFFC\u200D\uD83D\uDCBB","\uD83D\uDC68\uD83C\uDFFC\u200D\uD83D\uDCBC","\uD83D\uDC68\uD83C\uDFFC\u200D\uD83D\uDD27","\uD83D\uDC68\uD83C\uDFFC\u200D\uD83D\uDD2C","\uD83D\uDC68\uD83C\uDFFC\u200D\uD83D\uDE80","\uD83D\uDC68\uD83C\uDFFC\u200D\uD83D\uDE92","\uD83D\uDC68\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFB","\uD83D\uDC68\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFD","\uD83D\uDC68\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFE","\uD83D\uDC68\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFF","\uD83D\uDC68\uD83C\uDFFC\u200D\uD83E\uDDAF","\uD83D\uDC68\uD83C\uDFFC\u200D\uD83E\uDDAF\u200D\u27A1\uFE0F","\uD83D\uDC68\uD83C\uDFFC\u200D\uD83E\uDDB0","\uD83D\uDC68\uD83C\uDFFC\u200D\uD83E\uDDB1","\uD83D\uDC68\uD83C\uDFFC\u200D\uD83E\uDDB2","\uD83D\uDC68\uD83C\uDFFC\u200D\uD83E\uDDB3","\uD83D\uDC68\uD83C\uDFFC\u200D\uD83E\uDDBC","\uD83D\uDC68\uD83C\uDFFC\u200D\uD83E\uDDBC\u200D\u27A1\uFE0F","\uD83D\uDC68\uD83C\uDFFC\u200D\uD83E\uDDBD","\uD83D\uDC68\uD83C\uDFFC\u200D\uD83E\uDDBD\u200D\u27A1\uFE0F","\uD83D\uDC68\uD83C\uDFFD","\uD83D\uDC68\uD83C\uDFFD\u200D\u2695\uFE0F","\uD83D\uDC68\uD83C\uDFFD\u200D\u2696\uFE0F","\uD83D\uDC68\uD83C\uDFFD\u200D\u2708\uFE0F","\uD83D\uDC68\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFB","\uD83D\uDC68\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFC","\uD83D\uDC68\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFD","\uD83D\uDC68\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFE","\uD83D\uDC68\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFF","\uD83D\uDC68\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFB","\uD83D\uDC68\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFC","\uD83D\uDC68\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFD","\uD83D\uDC68\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFE","\uD83D\uDC68\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFF","\uD83D\uDC68\uD83C\uDFFD\u200D\uD83C\uDF3E","\uD83D\uDC68\uD83C\uDFFD\u200D\uD83C\uDF73","\uD83D\uDC68\uD83C\uDFFD\u200D\uD83C\uDF7C","\uD83D\uDC68\uD83C\uDFFD\u200D\uD83C\uDF93","\uD83D\uDC68\uD83C\uDFFD\u200D\uD83C\uDFA4","\uD83D\uDC68\uD83C\uDFFD\u200D\uD83C\uDFA8","\uD83D\uDC68\uD83C\uDFFD\u200D\uD83C\uDFEB","\uD83D\uDC68\uD83C\uDFFD\u200D\uD83C\uDFED","\uD83D\uDC68\uD83C\uDFFD\u200D\uD83D\uDCBB","\uD83D\uDC68\uD83C\uDFFD\u200D\uD83D\uDCBC","\uD83D\uDC68\uD83C\uDFFD\u200D\uD83D\uDD27","\uD83D\uDC68\uD83C\uDFFD\u200D\uD83D\uDD2C","\uD83D\uDC68\uD83C\uDFFD\u200D\uD83D\uDE80","\uD83D\uDC68\uD83C\uDFFD\u200D\uD83D\uDE92","\uD83D\uDC68\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFB","\uD83D\uDC68\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFC","\uD83D\uDC68\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFE","\uD83D\uDC68\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFF","\uD83D\uDC68\uD83C\uDFFD\u200D\uD83E\uDDAF","\uD83D\uDC68\uD83C\uDFFD\u200D\uD83E\uDDAF\u200D\u27A1\uFE0F","\uD83D\uDC68\uD83C\uDFFD\u200D\uD83E\uDDB0","\uD83D\uDC68\uD83C\uDFFD\u200D\uD83E\uDDB1","\uD83D\uDC68\uD83C\uDFFD\u200D\uD83E\uDDB2","\uD83D\uDC68\uD83C\uDFFD\u200D\uD83E\uDDB3","\uD83D\uDC68\uD83C\uDFFD\u200D\uD83E\uDDBC","\uD83D\uDC68\uD83C\uDFFD\u200D\uD83E\uDDBC\u200D\u27A1\uFE0F","\uD83D\uDC68\uD83C\uDFFD\u200D\uD83E\uDDBD","\uD83D\uDC68\uD83C\uDFFD\u200D\uD83E\uDDBD\u200D\u27A1\uFE0F","\uD83D\uDC68\uD83C\uDFFE","\uD83D\uDC68\uD83C\uDFFE\u200D\u2695\uFE0F","\uD83D\uDC68\uD83C\uDFFE\u200D\u2696\uFE0F","\uD83D\uDC68\uD83C\uDFFE\u200D\u2708\uFE0F","\uD83D\uDC68\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFB","\uD83D\uDC68\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFC","\uD83D\uDC68\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFD","\uD83D\uDC68\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFE","\uD83D\uDC68\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFF","\uD83D\uDC68\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFB","\uD83D\uDC68\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFC","\uD83D\uDC68\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFD","\uD83D\uDC68\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFE","\uD83D\uDC68\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFF","\uD83D\uDC68\uD83C\uDFFE\u200D\uD83C\uDF3E","\uD83D\uDC68\uD83C\uDFFE\u200D\uD83C\uDF73","\uD83D\uDC68\uD83C\uDFFE\u200D\uD83C\uDF7C","\uD83D\uDC68\uD83C\uDFFE\u200D\uD83C\uDF93","\uD83D\uDC68\uD83C\uDFFE\u200D\uD83C\uDFA4","\uD83D\uDC68\uD83C\uDFFE\u200D\uD83C\uDFA8","\uD83D\uDC68\uD83C\uDFFE\u200D\uD83C\uDFEB","\uD83D\uDC68\uD83C\uDFFE\u200D\uD83C\uDFED","\uD83D\uDC68\uD83C\uDFFE\u200D\uD83D\uDCBB","\uD83D\uDC68\uD83C\uDFFE\u200D\uD83D\uDCBC","\uD83D\uDC68\uD83C\uDFFE\u200D\uD83D\uDD27","\uD83D\uDC68\uD83C\uDFFE\u200D\uD83D\uDD2C","\uD83D\uDC68\uD83C\uDFFE\u200D\uD83D\uDE80","\uD83D\uDC68\uD83C\uDFFE\u200D\uD83D\uDE92","\uD83D\uDC68\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFB","\uD83D\uDC68\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFC","\uD83D\uDC68\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFD","\uD83D\uDC68\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFF","\uD83D\uDC68\uD83C\uDFFE\u200D\uD83E\uDDAF","\uD83D\uDC68\uD83C\uDFFE\u200D\uD83E\uDDAF\u200D\u27A1\uFE0F","\uD83D\uDC68\uD83C\uDFFE\u200D\uD83E\uDDB0","\uD83D\uDC68\uD83C\uDFFE\u200D\uD83E\uDDB1","\uD83D\uDC68\uD83C\uDFFE\u200D\uD83E\uDDB2","\uD83D\uDC68\uD83C\uDFFE\u200D\uD83E\uDDB3","\uD83D\uDC68\uD83C\uDFFE\u200D\uD83E\uDDBC","\uD83D\uDC68\uD83C\uDFFE\u200D\uD83E\uDDBC\u200D\u27A1\uFE0F","\uD83D\uDC68\uD83C\uDFFE\u200D\uD83E\uDDBD","\uD83D\uDC68\uD83C\uDFFE\u200D\uD83E\uDDBD\u200D\u27A1\uFE0F","\uD83D\uDC68\uD83C\uDFFF","\uD83D\uDC68\uD83C\uDFFF\u200D\u2695\uFE0F","\uD83D\uDC68\uD83C\uDFFF\u200D\u2696\uFE0F","\uD83D\uDC68\uD83C\uDFFF\u200D\u2708\uFE0F","\uD83D\uDC68\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFB","\uD83D\uDC68\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFC","\uD83D\uDC68\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFD","\uD83D\uDC68\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFE","\uD83D\uDC68\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFF","\uD83D\uDC68\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFB","\uD83D\uDC68\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFC","\uD83D\uDC68\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFD","\uD83D\uDC68\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFE","\uD83D\uDC68\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFF","\uD83D\uDC68\uD83C\uDFFF\u200D\uD83C\uDF3E","\uD83D\uDC68\uD83C\uDFFF\u200D\uD83C\uDF73","\uD83D\uDC68\uD83C\uDFFF\u200D\uD83C\uDF7C","\uD83D\uDC68\uD83C\uDFFF\u200D\uD83C\uDF93","\uD83D\uDC68\uD83C\uDFFF\u200D\uD83C\uDFA4","\uD83D\uDC68\uD83C\uDFFF\u200D\uD83C\uDFA8","\uD83D\uDC68\uD83C\uDFFF\u200D\uD83C\uDFEB","\uD83D\uDC68\uD83C\uDFFF\u200D\uD83C\uDFED","\uD83D\uDC68\uD83C\uDFFF\u200D\uD83D\uDCBB","\uD83D\uDC68\uD83C\uDFFF\u200D\uD83D\uDCBC","\uD83D\uDC68\uD83C\uDFFF\u200D\uD83D\uDD27","\uD83D\uDC68\uD83C\uDFFF\u200D\uD83D\uDD2C","\uD83D\uDC68\uD83C\uDFFF\u200D\uD83D\uDE80","\uD83D\uDC68\uD83C\uDFFF\u200D\uD83D\uDE92","\uD83D\uDC68\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFB","\uD83D\uDC68\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFC","\uD83D\uDC68\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFD","\uD83D\uDC68\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFE","\uD83D\uDC68\uD83C\uDFFF\u200D\uD83E\uDDAF","\uD83D\uDC68\uD83C\uDFFF\u200D\uD83E\uDDAF\u200D\u27A1\uFE0F","\uD83D\uDC68\uD83C\uDFFF\u200D\uD83E\uDDB0","\uD83D\uDC68\uD83C\uDFFF\u200D\uD83E\uDDB1","\uD83D\uDC68\uD83C\uDFFF\u200D\uD83E\uDDB2","\uD83D\uDC68\uD83C\uDFFF\u200D\uD83E\uDDB3","\uD83D\uDC68\uD83C\uDFFF\u200D\uD83E\uDDBC","\uD83D\uDC68\uD83C\uDFFF\u200D\uD83E\uDDBC\u200D\u27A1\uFE0F","\uD83D\uDC68\uD83C\uDFFF\u200D\uD83E\uDDBD","\uD83D\uDC68\uD83C\uDFFF\u200D\uD83E\uDDBD\u200D\u27A1\uFE0F","\uD83D\uDC69\u200D\u2695\uFE0F","\uD83D\uDC69\u200D\u2696\uFE0F","\uD83D\uDC69\u200D\u2708\uFE0F","\uD83D\uDC69\u200D\u2764\uFE0F\u200D\uD83D\uDC68","\uD83D\uDC69\u200D\u2764\uFE0F\u200D\uD83D\uDC69","\uD83D\uDC69\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68","\uD83D\uDC69\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC69","\uD83D\uDC69\u200D\uD83C\uDF3E","\uD83D\uDC69\u200D\uD83C\uDF73","\uD83D\uDC69\u200D\uD83C\uDF7C","\uD83D\uDC69\u200D\uD83C\uDF93","\uD83D\uDC69\u200D\uD83C\uDFA4","\uD83D\uDC69\u200D\uD83C\uDFA8","\uD83D\uDC69\u200D\uD83C\uDFEB","\uD83D\uDC69\u200D\uD83C\uDFED","\uD83D\uDC69\u200D\uD83D\uDC66","\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66","\uD83D\uDC69\u200D\uD83D\uDC67","\uD83D\uDC69\u200D\uD83D\uDC67\u200D\uD83D\uDC66","\uD83D\uDC69\u200D\uD83D\uDC67\u200D\uD83D\uDC67","\uD83D\uDC69\u200D\uD83D\uDC69\u200D\uD83D\uDC66","\uD83D\uDC69\u200D\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66","\uD83D\uDC69\u200D\uD83D\uDC69\u200D\uD83D\uDC67","\uD83D\uDC69\u200D\uD83D\uDC69\u200D\uD83D\uDC67\u200D\uD83D\uDC66","\uD83D\uDC69\u200D\uD83D\uDC69\u200D\uD83D\uDC67\u200D\uD83D\uDC67","\uD83D\uDC69\u200D\uD83D\uDCBB","\uD83D\uDC69\u200D\uD83D\uDCBC","\uD83D\uDC69\u200D\uD83D\uDD27","\uD83D\uDC69\u200D\uD83D\uDD2C","\uD83D\uDC69\u200D\uD83D\uDE80","\uD83D\uDC69\u200D\uD83D\uDE92","\uD83D\uDC69\u200D\uD83E\uDDAF","\uD83D\uDC69\u200D\uD83E\uDDAF\u200D\u27A1\uFE0F","\uD83D\uDC69\u200D\uD83E\uDDB0","\uD83D\uDC69\u200D\uD83E\uDDB1","\uD83D\uDC69\u200D\uD83E\uDDB2","\uD83D\uDC69\u200D\uD83E\uDDB3","\uD83D\uDC69\u200D\uD83E\uDDBC","\uD83D\uDC69\u200D\uD83E\uDDBC\u200D\u27A1\uFE0F","\uD83D\uDC69\u200D\uD83E\uDDBD","\uD83D\uDC69\u200D\uD83E\uDDBD\u200D\u27A1\uFE0F","\uD83D\uDC69\uD83C\uDFFB","\uD83D\uDC69\uD83C\uDFFB\u200D\u2695\uFE0F","\uD83D\uDC69\uD83C\uDFFB\u200D\u2696\uFE0F","\uD83D\uDC69\uD83C\uDFFB\u200D\u2708\uFE0F","\uD83D\uDC69\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFB","\uD83D\uDC69\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFC","\uD83D\uDC69\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFD","\uD83D\uDC69\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFE","\uD83D\uDC69\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFF","\uD83D\uDC69\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC69\uD83C\uDFFB","\uD83D\uDC69\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC69\uD83C\uDFFC","\uD83D\uDC69\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC69\uD83C\uDFFD","\uD83D\uDC69\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC69\uD83C\uDFFE","\uD83D\uDC69\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC69\uD83C\uDFFF","\uD83D\uDC69\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFB","\uD83D\uDC69\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFC","\uD83D\uDC69\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFD","\uD83D\uDC69\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFE","\uD83D\uDC69\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFF","\uD83D\uDC69\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC69\uD83C\uDFFB","\uD83D\uDC69\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC69\uD83C\uDFFC","\uD83D\uDC69\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC69\uD83C\uDFFD","\uD83D\uDC69\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC69\uD83C\uDFFE","\uD83D\uDC69\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC69\uD83C\uDFFF","\uD83D\uDC69\uD83C\uDFFB\u200D\uD83C\uDF3E","\uD83D\uDC69\uD83C\uDFFB\u200D\uD83C\uDF73","\uD83D\uDC69\uD83C\uDFFB\u200D\uD83C\uDF7C","\uD83D\uDC69\uD83C\uDFFB\u200D\uD83C\uDF93","\uD83D\uDC69\uD83C\uDFFB\u200D\uD83C\uDFA4","\uD83D\uDC69\uD83C\uDFFB\u200D\uD83C\uDFA8","\uD83D\uDC69\uD83C\uDFFB\u200D\uD83C\uDFEB","\uD83D\uDC69\uD83C\uDFFB\u200D\uD83C\uDFED","\uD83D\uDC69\uD83C\uDFFB\u200D\uD83D\uDCBB","\uD83D\uDC69\uD83C\uDFFB\u200D\uD83D\uDCBC","\uD83D\uDC69\uD83C\uDFFB\u200D\uD83D\uDD27","\uD83D\uDC69\uD83C\uDFFB\u200D\uD83D\uDD2C","\uD83D\uDC69\uD83C\uDFFB\u200D\uD83D\uDE80","\uD83D\uDC69\uD83C\uDFFB\u200D\uD83D\uDE92","\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFC","\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFD","\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFE","\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFF","\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83D\uDC69\uD83C\uDFFC","\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83D\uDC69\uD83C\uDFFD","\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83D\uDC69\uD83C\uDFFE","\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83D\uDC69\uD83C\uDFFF","\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDDAF","\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDDAF\u200D\u27A1\uFE0F","\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDDB0","\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDDB1","\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDDB2","\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDDB3","\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDDBC","\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDDBC\u200D\u27A1\uFE0F","\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDDBD","\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDDBD\u200D\u27A1\uFE0F","\uD83D\uDC69\uD83C\uDFFC","\uD83D\uDC69\uD83C\uDFFC\u200D\u2695\uFE0F","\uD83D\uDC69\uD83C\uDFFC\u200D\u2696\uFE0F","\uD83D\uDC69\uD83C\uDFFC\u200D\u2708\uFE0F","\uD83D\uDC69\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFB","\uD83D\uDC69\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFC","\uD83D\uDC69\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFD","\uD83D\uDC69\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFE","\uD83D\uDC69\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFF","\uD83D\uDC69\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC69\uD83C\uDFFB","\uD83D\uDC69\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC69\uD83C\uDFFC","\uD83D\uDC69\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC69\uD83C\uDFFD","\uD83D\uDC69\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC69\uD83C\uDFFE","\uD83D\uDC69\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC69\uD83C\uDFFF","\uD83D\uDC69\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFB","\uD83D\uDC69\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFC","\uD83D\uDC69\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFD","\uD83D\uDC69\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFE","\uD83D\uDC69\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFF","\uD83D\uDC69\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC69\uD83C\uDFFB","\uD83D\uDC69\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC69\uD83C\uDFFC","\uD83D\uDC69\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC69\uD83C\uDFFD","\uD83D\uDC69\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC69\uD83C\uDFFE","\uD83D\uDC69\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC69\uD83C\uDFFF","\uD83D\uDC69\uD83C\uDFFC\u200D\uD83C\uDF3E","\uD83D\uDC69\uD83C\uDFFC\u200D\uD83C\uDF73","\uD83D\uDC69\uD83C\uDFFC\u200D\uD83C\uDF7C","\uD83D\uDC69\uD83C\uDFFC\u200D\uD83C\uDF93","\uD83D\uDC69\uD83C\uDFFC\u200D\uD83C\uDFA4","\uD83D\uDC69\uD83C\uDFFC\u200D\uD83C\uDFA8","\uD83D\uDC69\uD83C\uDFFC\u200D\uD83C\uDFEB","\uD83D\uDC69\uD83C\uDFFC\u200D\uD83C\uDFED","\uD83D\uDC69\uD83C\uDFFC\u200D\uD83D\uDCBB","\uD83D\uDC69\uD83C\uDFFC\u200D\uD83D\uDCBC","\uD83D\uDC69\uD83C\uDFFC\u200D\uD83D\uDD27","\uD83D\uDC69\uD83C\uDFFC\u200D\uD83D\uDD2C","\uD83D\uDC69\uD83C\uDFFC\u200D\uD83D\uDE80","\uD83D\uDC69\uD83C\uDFFC\u200D\uD83D\uDE92","\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFB","\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFD","\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFE","\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFF","\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC69\uD83C\uDFFB","\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC69\uD83C\uDFFD","\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC69\uD83C\uDFFE","\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC69\uD83C\uDFFF","\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDDAF","\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDDAF\u200D\u27A1\uFE0F","\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDDB0","\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDDB1","\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDDB2","\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDDB3","\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDDBC","\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDDBC\u200D\u27A1\uFE0F","\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDDBD","\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDDBD\u200D\u27A1\uFE0F","\uD83D\uDC69\uD83C\uDFFD","\uD83D\uDC69\uD83C\uDFFD\u200D\u2695\uFE0F","\uD83D\uDC69\uD83C\uDFFD\u200D\u2696\uFE0F","\uD83D\uDC69\uD83C\uDFFD\u200D\u2708\uFE0F","\uD83D\uDC69\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFB","\uD83D\uDC69\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFC","\uD83D\uDC69\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFD","\uD83D\uDC69\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFE","\uD83D\uDC69\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFF","\uD83D\uDC69\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC69\uD83C\uDFFB","\uD83D\uDC69\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC69\uD83C\uDFFC","\uD83D\uDC69\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC69\uD83C\uDFFD","\uD83D\uDC69\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC69\uD83C\uDFFE","\uD83D\uDC69\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC69\uD83C\uDFFF","\uD83D\uDC69\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFB","\uD83D\uDC69\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFC","\uD83D\uDC69\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFD","\uD83D\uDC69\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFE","\uD83D\uDC69\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFF","\uD83D\uDC69\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC69\uD83C\uDFFB","\uD83D\uDC69\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC69\uD83C\uDFFC","\uD83D\uDC69\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC69\uD83C\uDFFD","\uD83D\uDC69\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC69\uD83C\uDFFE","\uD83D\uDC69\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC69\uD83C\uDFFF","\uD83D\uDC69\uD83C\uDFFD\u200D\uD83C\uDF3E","\uD83D\uDC69\uD83C\uDFFD\u200D\uD83C\uDF73","\uD83D\uDC69\uD83C\uDFFD\u200D\uD83C\uDF7C","\uD83D\uDC69\uD83C\uDFFD\u200D\uD83C\uDF93","\uD83D\uDC69\uD83C\uDFFD\u200D\uD83C\uDFA4","\uD83D\uDC69\uD83C\uDFFD\u200D\uD83C\uDFA8","\uD83D\uDC69\uD83C\uDFFD\u200D\uD83C\uDFEB","\uD83D\uDC69\uD83C\uDFFD\u200D\uD83C\uDFED","\uD83D\uDC69\uD83C\uDFFD\u200D\uD83D\uDCBB","\uD83D\uDC69\uD83C\uDFFD\u200D\uD83D\uDCBC","\uD83D\uDC69\uD83C\uDFFD\u200D\uD83D\uDD27","\uD83D\uDC69\uD83C\uDFFD\u200D\uD83D\uDD2C","\uD83D\uDC69\uD83C\uDFFD\u200D\uD83D\uDE80","\uD83D\uDC69\uD83C\uDFFD\u200D\uD83D\uDE92","\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFB","\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFC","\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFE","\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFF","\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC69\uD83C\uDFFB","\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC69\uD83C\uDFFC","\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC69\uD83C\uDFFE","\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC69\uD83C\uDFFF","\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDDAF","\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDDAF\u200D\u27A1\uFE0F","\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDDB0","\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDDB1","\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDDB2","\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDDB3","\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDDBC","\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDDBC\u200D\u27A1\uFE0F","\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDDBD","\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDDBD\u200D\u27A1\uFE0F","\uD83D\uDC69\uD83C\uDFFE","\uD83D\uDC69\uD83C\uDFFE\u200D\u2695\uFE0F","\uD83D\uDC69\uD83C\uDFFE\u200D\u2696\uFE0F","\uD83D\uDC69\uD83C\uDFFE\u200D\u2708\uFE0F","\uD83D\uDC69\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFB","\uD83D\uDC69\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFC","\uD83D\uDC69\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFD","\uD83D\uDC69\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFE","\uD83D\uDC69\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFF","\uD83D\uDC69\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC69\uD83C\uDFFB","\uD83D\uDC69\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC69\uD83C\uDFFC","\uD83D\uDC69\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC69\uD83C\uDFFD","\uD83D\uDC69\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC69\uD83C\uDFFE","\uD83D\uDC69\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC69\uD83C\uDFFF","\uD83D\uDC69\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFB","\uD83D\uDC69\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFC","\uD83D\uDC69\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFD","\uD83D\uDC69\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFE","\uD83D\uDC69\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFF","\uD83D\uDC69\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC69\uD83C\uDFFB","\uD83D\uDC69\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC69\uD83C\uDFFC","\uD83D\uDC69\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC69\uD83C\uDFFD","\uD83D\uDC69\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC69\uD83C\uDFFE","\uD83D\uDC69\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC69\uD83C\uDFFF","\uD83D\uDC69\uD83C\uDFFE\u200D\uD83C\uDF3E","\uD83D\uDC69\uD83C\uDFFE\u200D\uD83C\uDF73","\uD83D\uDC69\uD83C\uDFFE\u200D\uD83C\uDF7C","\uD83D\uDC69\uD83C\uDFFE\u200D\uD83C\uDF93","\uD83D\uDC69\uD83C\uDFFE\u200D\uD83C\uDFA4","\uD83D\uDC69\uD83C\uDFFE\u200D\uD83C\uDFA8","\uD83D\uDC69\uD83C\uDFFE\u200D\uD83C\uDFEB","\uD83D\uDC69\uD83C\uDFFE\u200D\uD83C\uDFED","\uD83D\uDC69\uD83C\uDFFE\u200D\uD83D\uDCBB","\uD83D\uDC69\uD83C\uDFFE\u200D\uD83D\uDCBC","\uD83D\uDC69\uD83C\uDFFE\u200D\uD83D\uDD27","\uD83D\uDC69\uD83C\uDFFE\u200D\uD83D\uDD2C","\uD83D\uDC69\uD83C\uDFFE\u200D\uD83D\uDE80","\uD83D\uDC69\uD83C\uDFFE\u200D\uD83D\uDE92","\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFB","\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFC","\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFD","\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFF","\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC69\uD83C\uDFFB","\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC69\uD83C\uDFFC","\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC69\uD83C\uDFFD","\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC69\uD83C\uDFFF","\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDDAF","\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDDAF\u200D\u27A1\uFE0F","\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDDB0","\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDDB1","\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDDB2","\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDDB3","\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDDBC","\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDDBC\u200D\u27A1\uFE0F","\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDDBD","\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDDBD\u200D\u27A1\uFE0F","\uD83D\uDC69\uD83C\uDFFF","\uD83D\uDC69\uD83C\uDFFF\u200D\u2695\uFE0F","\uD83D\uDC69\uD83C\uDFFF\u200D\u2696\uFE0F","\uD83D\uDC69\uD83C\uDFFF\u200D\u2708\uFE0F","\uD83D\uDC69\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFB","\uD83D\uDC69\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFC","\uD83D\uDC69\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFD","\uD83D\uDC69\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFE","\uD83D\uDC69\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC68\uD83C\uDFFF","\uD83D\uDC69\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC69\uD83C\uDFFB","\uD83D\uDC69\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC69\uD83C\uDFFC","\uD83D\uDC69\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC69\uD83C\uDFFD","\uD83D\uDC69\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC69\uD83C\uDFFE","\uD83D\uDC69\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC69\uD83C\uDFFF","\uD83D\uDC69\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFB","\uD83D\uDC69\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFC","\uD83D\uDC69\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFD","\uD83D\uDC69\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFE","\uD83D\uDC69\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83C\uDFFF","\uD83D\uDC69\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC69\uD83C\uDFFB","\uD83D\uDC69\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC69\uD83C\uDFFC","\uD83D\uDC69\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC69\uD83C\uDFFD","\uD83D\uDC69\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC69\uD83C\uDFFE","\uD83D\uDC69\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC69\uD83C\uDFFF","\uD83D\uDC69\uD83C\uDFFF\u200D\uD83C\uDF3E","\uD83D\uDC69\uD83C\uDFFF\u200D\uD83C\uDF73","\uD83D\uDC69\uD83C\uDFFF\u200D\uD83C\uDF7C","\uD83D\uDC69\uD83C\uDFFF\u200D\uD83C\uDF93","\uD83D\uDC69\uD83C\uDFFF\u200D\uD83C\uDFA4","\uD83D\uDC69\uD83C\uDFFF\u200D\uD83C\uDFA8","\uD83D\uDC69\uD83C\uDFFF\u200D\uD83C\uDFEB","\uD83D\uDC69\uD83C\uDFFF\u200D\uD83C\uDFED","\uD83D\uDC69\uD83C\uDFFF\u200D\uD83D\uDCBB","\uD83D\uDC69\uD83C\uDFFF\u200D\uD83D\uDCBC","\uD83D\uDC69\uD83C\uDFFF\u200D\uD83D\uDD27","\uD83D\uDC69\uD83C\uDFFF\u200D\uD83D\uDD2C","\uD83D\uDC69\uD83C\uDFFF\u200D\uD83D\uDE80","\uD83D\uDC69\uD83C\uDFFF\u200D\uD83D\uDE92","\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFB","\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFC","\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFD","\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFE","\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83D\uDC69\uD83C\uDFFB","\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83D\uDC69\uD83C\uDFFC","\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83D\uDC69\uD83C\uDFFD","\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83D\uDC69\uD83C\uDFFE","\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDDAF","\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDDAF\u200D\u27A1\uFE0F","\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDDB0","\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDDB1","\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDDB2","\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDDB3","\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDDBC","\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDDBC\u200D\u27A1\uFE0F","\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDDBD","\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDDBD\u200D\u27A1\uFE0F","\uD83D\uDC6B\uD83C\uDFFB","\uD83D\uDC6B\uD83C\uDFFC","\uD83D\uDC6B\uD83C\uDFFD","\uD83D\uDC6B\uD83C\uDFFE","\uD83D\uDC6B\uD83C\uDFFF","\uD83D\uDC6C\uD83C\uDFFB","\uD83D\uDC6C\uD83C\uDFFC","\uD83D\uDC6C\uD83C\uDFFD","\uD83D\uDC6C\uD83C\uDFFE","\uD83D\uDC6C\uD83C\uDFFF","\uD83D\uDC6D\uD83C\uDFFB","\uD83D\uDC6D\uD83C\uDFFC","\uD83D\uDC6D\uD83C\uDFFD","\uD83D\uDC6D\uD83C\uDFFE","\uD83D\uDC6D\uD83C\uDFFF","\uD83D\uDC6E\u200D\u2640\uFE0F","\uD83D\uDC6E\u200D\u2642\uFE0F","\uD83D\uDC6E\uD83C\uDFFB","\uD83D\uDC6E\uD83C\uDFFB\u200D\u2640\uFE0F","\uD83D\uDC6E\uD83C\uDFFB\u200D\u2642\uFE0F","\uD83D\uDC6E\uD83C\uDFFC","\uD83D\uDC6E\uD83C\uDFFC\u200D\u2640\uFE0F","\uD83D\uDC6E\uD83C\uDFFC\u200D\u2642\uFE0F","\uD83D\uDC6E\uD83C\uDFFD","\uD83D\uDC6E\uD83C\uDFFD\u200D\u2640\uFE0F","\uD83D\uDC6E\uD83C\uDFFD\u200D\u2642\uFE0F","\uD83D\uDC6E\uD83C\uDFFE","\uD83D\uDC6E\uD83C\uDFFE\u200D\u2640\uFE0F","\uD83D\uDC6E\uD83C\uDFFE\u200D\u2642\uFE0F","\uD83D\uDC6E\uD83C\uDFFF","\uD83D\uDC6E\uD83C\uDFFF\u200D\u2640\uFE0F","\uD83D\uDC6E\uD83C\uDFFF\u200D\u2642\uFE0F","\uD83D\uDC6F\u200D\u2640\uFE0F","\uD83D\uDC6F\u200D\u2642\uFE0F","\uD83D\uDC70\u200D\u2640\uFE0F","\uD83D\uDC70\u200D\u2642\uFE0F","\uD83D\uDC70\uD83C\uDFFB","\uD83D\uDC70\uD83C\uDFFB\u200D\u2640\uFE0F","\uD83D\uDC70\uD83C\uDFFB\u200D\u2642\uFE0F","\uD83D\uDC70\uD83C\uDFFC","\uD83D\uDC70\uD83C\uDFFC\u200D\u2640\uFE0F","\uD83D\uDC70\uD83C\uDFFC\u200D\u2642\uFE0F","\uD83D\uDC70\uD83C\uDFFD","\uD83D\uDC70\uD83C\uDFFD\u200D\u2640\uFE0F","\uD83D\uDC70\uD83C\uDFFD\u200D\u2642\uFE0F","\uD83D\uDC70\uD83C\uDFFE","\uD83D\uDC70\uD83C\uDFFE\u200D\u2640\uFE0F","\uD83D\uDC70\uD83C\uDFFE\u200D\u2642\uFE0F","\uD83D\uDC70\uD83C\uDFFF","\uD83D\uDC70\uD83C\uDFFF\u200D\u2640\uFE0F","\uD83D\uDC70\uD83C\uDFFF\u200D\u2642\uFE0F","\uD83D\uDC71\u200D\u2640\uFE0F","\uD83D\uDC71\u200D\u2642\uFE0F","\uD83D\uDC71\uD83C\uDFFB","\uD83D\uDC71\uD83C\uDFFB\u200D\u2640\uFE0F","\uD83D\uDC71\uD83C\uDFFB\u200D\u2642\uFE0F","\uD83D\uDC71\uD83C\uDFFC","\uD83D\uDC71\uD83C\uDFFC\u200D\u2640\uFE0F","\uD83D\uDC71\uD83C\uDFFC\u200D\u2642\uFE0F","\uD83D\uDC71\uD83C\uDFFD","\uD83D\uDC71\uD83C\uDFFD\u200D\u2640\uFE0F","\uD83D\uDC71\uD83C\uDFFD\u200D\u2642\uFE0F","\uD83D\uDC71\uD83C\uDFFE","\uD83D\uDC71\uD83C\uDFFE\u200D\u2640\uFE0F","\uD83D\uDC71\uD83C\uDFFE\u200D\u2642\uFE0F","\uD83D\uDC71\uD83C\uDFFF","\uD83D\uDC71\uD83C\uDFFF\u200D\u2640\uFE0F","\uD83D\uDC71\uD83C\uDFFF\u200D\u2642\uFE0F","\uD83D\uDC72\uD83C\uDFFB","\uD83D\uDC72\uD83C\uDFFC","\uD83D\uDC72\uD83C\uDFFD","\uD83D\uDC72\uD83C\uDFFE","\uD83D\uDC72\uD83C\uDFFF","\uD83D\uDC73\u200D\u2640\uFE0F","\uD83D\uDC73\u200D\u2642\uFE0F","\uD83D\uDC73\uD83C\uDFFB","\uD83D\uDC73\uD83C\uDFFB\u200D\u2640\uFE0F","\uD83D\uDC73\uD83C\uDFFB\u200D\u2642\uFE0F","\uD83D\uDC73\uD83C\uDFFC","\uD83D\uDC73\uD83C\uDFFC\u200D\u2640\uFE0F","\uD83D\uDC73\uD83C\uDFFC\u200D\u2642\uFE0F","\uD83D\uDC73\uD83C\uDFFD","\uD83D\uDC73\uD83C\uDFFD\u200D\u2640\uFE0F","\uD83D\uDC73\uD83C\uDFFD\u200D\u2642\uFE0F","\uD83D\uDC73\uD83C\uDFFE","\uD83D\uDC73\uD83C\uDFFE\u200D\u2640\uFE0F","\uD83D\uDC73\uD83C\uDFFE\u200D\u2642\uFE0F","\uD83D\uDC73\uD83C\uDFFF","\uD83D\uDC73\uD83C\uDFFF\u200D\u2640\uFE0F","\uD83D\uDC73\uD83C\uDFFF\u200D\u2642\uFE0F","\uD83D\uDC74\uD83C\uDFFB","\uD83D\uDC74\uD83C\uDFFC","\uD83D\uDC74\uD83C\uDFFD","\uD83D\uDC74\uD83C\uDFFE","\uD83D\uDC74\uD83C\uDFFF","\uD83D\uDC75\uD83C\uDFFB","\uD83D\uDC75\uD83C\uDFFC","\uD83D\uDC75\uD83C\uDFFD","\uD83D\uDC75\uD83C\uDFFE","\uD83D\uDC75\uD83C\uDFFF","\uD83D\uDC76\uD83C\uDFFB","\uD83D\uDC76\uD83C\uDFFC","\uD83D\uDC76\uD83C\uDFFD","\uD83D\uDC76\uD83C\uDFFE","\uD83D\uDC76\uD83C\uDFFF","\uD83D\uDC77\u200D\u2640\uFE0F","\uD83D\uDC77\u200D\u2642\uFE0F","\uD83D\uDC77\uD83C\uDFFB","\uD83D\uDC77\uD83C\uDFFB\u200D\u2640\uFE0F","\uD83D\uDC77\uD83C\uDFFB\u200D\u2642\uFE0F","\uD83D\uDC77\uD83C\uDFFC","\uD83D\uDC77\uD83C\uDFFC\u200D\u2640\uFE0F","\uD83D\uDC77\uD83C\uDFFC\u200D\u2642\uFE0F","\uD83D\uDC77\uD83C\uDFFD","\uD83D\uDC77\uD83C\uDFFD\u200D\u2640\uFE0F","\uD83D\uDC77\uD83C\uDFFD\u200D\u2642\uFE0F","\uD83D\uDC77\uD83C\uDFFE","\uD83D\uDC77\uD83C\uDFFE\u200D\u2640\uFE0F","\uD83D\uDC77\uD83C\uDFFE\u200D\u2642\uFE0F","\uD83D\uDC77\uD83C\uDFFF","\uD83D\uDC77\uD83C\uDFFF\u200D\u2640\uFE0F","\uD83D\uDC77\uD83C\uDFFF\u200D\u2642\uFE0F","\uD83D\uDC78\uD83C\uDFFB","\uD83D\uDC78\uD83C\uDFFC","\uD83D\uDC78\uD83C\uDFFD","\uD83D\uDC78\uD83C\uDFFE","\uD83D\uDC78\uD83C\uDFFF","\uD83D\uDC7C\uD83C\uDFFB","\uD83D\uDC7C\uD83C\uDFFC","\uD83D\uDC7C\uD83C\uDFFD","\uD83D\uDC7C\uD83C\uDFFE","\uD83D\uDC7C\uD83C\uDFFF","\uD83D\uDC81\u200D\u2640\uFE0F","\uD83D\uDC81\u200D\u2642\uFE0F","\uD83D\uDC81\uD83C\uDFFB","\uD83D\uDC81\uD83C\uDFFB\u200D\u2640\uFE0F","\uD83D\uDC81\uD83C\uDFFB\u200D\u2642\uFE0F","\uD83D\uDC81\uD83C\uDFFC","\uD83D\uDC81\uD83C\uDFFC\u200D\u2640\uFE0F","\uD83D\uDC81\uD83C\uDFFC\u200D\u2642\uFE0F","\uD83D\uDC81\uD83C\uDFFD","\uD83D\uDC81\uD83C\uDFFD\u200D\u2640\uFE0F","\uD83D\uDC81\uD83C\uDFFD\u200D\u2642\uFE0F","\uD83D\uDC81\uD83C\uDFFE","\uD83D\uDC81\uD83C\uDFFE\u200D\u2640\uFE0F","\uD83D\uDC81\uD83C\uDFFE\u200D\u2642\uFE0F","\uD83D\uDC81\uD83C\uDFFF","\uD83D\uDC81\uD83C\uDFFF\u200D\u2640\uFE0F","\uD83D\uDC81\uD83C\uDFFF\u200D\u2642\uFE0F","\uD83D\uDC82\u200D\u2640\uFE0F","\uD83D\uDC82\u200D\u2642\uFE0F","\uD83D\uDC82\uD83C\uDFFB","\uD83D\uDC82\uD83C\uDFFB\u200D\u2640\uFE0F","\uD83D\uDC82\uD83C\uDFFB\u200D\u2642\uFE0F","\uD83D\uDC82\uD83C\uDFFC","\uD83D\uDC82\uD83C\uDFFC\u200D\u2640\uFE0F","\uD83D\uDC82\uD83C\uDFFC\u200D\u2642\uFE0F","\uD83D\uDC82\uD83C\uDFFD","\uD83D\uDC82\uD83C\uDFFD\u200D\u2640\uFE0F","\uD83D\uDC82\uD83C\uDFFD\u200D\u2642\uFE0F","\uD83D\uDC82\uD83C\uDFFE","\uD83D\uDC82\uD83C\uDFFE\u200D\u2640\uFE0F","\uD83D\uDC82\uD83C\uDFFE\u200D\u2642\uFE0F","\uD83D\uDC82\uD83C\uDFFF","\uD83D\uDC82\uD83C\uDFFF\u200D\u2640\uFE0F","\uD83D\uDC82\uD83C\uDFFF\u200D\u2642\uFE0F","\uD83D\uDC83\uD83C\uDFFB","\uD83D\uDC83\uD83C\uDFFC","\uD83D\uDC83\uD83C\uDFFD","\uD83D\uDC83\uD83C\uDFFE","\uD83D\uDC83\uD83C\uDFFF","\uD83D\uDC85\uD83C\uDFFB","\uD83D\uDC85\uD83C\uDFFC","\uD83D\uDC85\uD83C\uDFFD","\uD83D\uDC85\uD83C\uDFFE","\uD83D\uDC85\uD83C\uDFFF","\uD83D\uDC86\u200D\u2640\uFE0F","\uD83D\uDC86\u200D\u2642\uFE0F","\uD83D\uDC86\uD83C\uDFFB","\uD83D\uDC86\uD83C\uDFFB\u200D\u2640\uFE0F","\uD83D\uDC86\uD83C\uDFFB\u200D\u2642\uFE0F","\uD83D\uDC86\uD83C\uDFFC","\uD83D\uDC86\uD83C\uDFFC\u200D\u2640\uFE0F","\uD83D\uDC86\uD83C\uDFFC\u200D\u2642\uFE0F","\uD83D\uDC86\uD83C\uDFFD","\uD83D\uDC86\uD83C\uDFFD\u200D\u2640\uFE0F","\uD83D\uDC86\uD83C\uDFFD\u200D\u2642\uFE0F","\uD83D\uDC86\uD83C\uDFFE","\uD83D\uDC86\uD83C\uDFFE\u200D\u2640\uFE0F","\uD83D\uDC86\uD83C\uDFFE\u200D\u2642\uFE0F","\uD83D\uDC86\uD83C\uDFFF","\uD83D\uDC86\uD83C\uDFFF\u200D\u2640\uFE0F","\uD83D\uDC86\uD83C\uDFFF\u200D\u2642\uFE0F","\uD83D\uDC87\u200D\u2640\uFE0F","\uD83D\uDC87\u200D\u2642\uFE0F","\uD83D\uDC87\uD83C\uDFFB","\uD83D\uDC87\uD83C\uDFFB\u200D\u2640\uFE0F","\uD83D\uDC87\uD83C\uDFFB\u200D\u2642\uFE0F","\uD83D\uDC87\uD83C\uDFFC","\uD83D\uDC87\uD83C\uDFFC\u200D\u2640\uFE0F","\uD83D\uDC87\uD83C\uDFFC\u200D\u2642\uFE0F","\uD83D\uDC87\uD83C\uDFFD","\uD83D\uDC87\uD83C\uDFFD\u200D\u2640\uFE0F","\uD83D\uDC87\uD83C\uDFFD\u200D\u2642\uFE0F","\uD83D\uDC87\uD83C\uDFFE","\uD83D\uDC87\uD83C\uDFFE\u200D\u2640\uFE0F","\uD83D\uDC87\uD83C\uDFFE\u200D\u2642\uFE0F","\uD83D\uDC87\uD83C\uDFFF","\uD83D\uDC87\uD83C\uDFFF\u200D\u2640\uFE0F","\uD83D\uDC87\uD83C\uDFFF\u200D\u2642\uFE0F","\uD83D\uDC8F\uD83C\uDFFB","\uD83D\uDC8F\uD83C\uDFFC","\uD83D\uDC8F\uD83C\uDFFD","\uD83D\uDC8F\uD83C\uDFFE","\uD83D\uDC8F\uD83C\uDFFF","\uD83D\uDC91\uD83C\uDFFB","\uD83D\uDC91\uD83C\uDFFC","\uD83D\uDC91\uD83C\uDFFD","\uD83D\uDC91\uD83C\uDFFE","\uD83D\uDC91\uD83C\uDFFF","\uD83D\uDCAA\uD83C\uDFFB","\uD83D\uDCAA\uD83C\uDFFC","\uD83D\uDCAA\uD83C\uDFFD","\uD83D\uDCAA\uD83C\uDFFE","\uD83D\uDCAA\uD83C\uDFFF","\uD83D\uDCFD\uFE0F","\uD83D\uDD49\uFE0F","\uD83D\uDD4A\uFE0F","\uD83D\uDD6F\uFE0F","\uD83D\uDD70\uFE0F","\uD83D\uDD73\uFE0F","\uD83D\uDD74\uD83C\uDFFB","\uD83D\uDD74\uD83C\uDFFC","\uD83D\uDD74\uD83C\uDFFD","\uD83D\uDD74\uD83C\uDFFE","\uD83D\uDD74\uD83C\uDFFF","\uD83D\uDD74\uFE0F","\uD83D\uDD75\uD83C\uDFFB","\uD83D\uDD75\uD83C\uDFFB\u200D\u2640\uFE0F","\uD83D\uDD75\uD83C\uDFFB\u200D\u2642\uFE0F","\uD83D\uDD75\uD83C\uDFFC","\uD83D\uDD75\uD83C\uDFFC\u200D\u2640\uFE0F","\uD83D\uDD75\uD83C\uDFFC\u200D\u2642\uFE0F","\uD83D\uDD75\uD83C\uDFFD","\uD83D\uDD75\uD83C\uDFFD\u200D\u2640\uFE0F","\uD83D\uDD75\uD83C\uDFFD\u200D\u2642\uFE0F","\uD83D\uDD75\uD83C\uDFFE","\uD83D\uDD75\uD83C\uDFFE\u200D\u2640\uFE0F","\uD83D\uDD75\uD83C\uDFFE\u200D\u2642\uFE0F","\uD83D\uDD75\uD83C\uDFFF","\uD83D\uDD75\uD83C\uDFFF\u200D\u2640\uFE0F","\uD83D\uDD75\uD83C\uDFFF\u200D\u2642\uFE0F","\uD83D\uDD75\uFE0F","\uD83D\uDD75\uFE0F\u200D\u2640\uFE0F","\uD83D\uDD75\uFE0F\u200D\u2642\uFE0F","\uD83D\uDD76\uFE0F","\uD83D\uDD77\uFE0F","\uD83D\uDD78\uFE0F","\uD83D\uDD79\uFE0F","\uD83D\uDD7A\uD83C\uDFFB","\uD83D\uDD7A\uD83C\uDFFC","\uD83D\uDD7A\uD83C\uDFFD","\uD83D\uDD7A\uD83C\uDFFE","\uD83D\uDD7A\uD83C\uDFFF","\uD83D\uDD87\uFE0F","\uD83D\uDD8A\uFE0F","\uD83D\uDD8B\uFE0F","\uD83D\uDD8C\uFE0F","\uD83D\uDD8D\uFE0F","\uD83D\uDD90\uD83C\uDFFB","\uD83D\uDD90\uD83C\uDFFC","\uD83D\uDD90\uD83C\uDFFD","\uD83D\uDD90\uD83C\uDFFE","\uD83D\uDD90\uD83C\uDFFF","\uD83D\uDD90\uFE0F","\uD83D\uDD95\uD83C\uDFFB","\uD83D\uDD95\uD83C\uDFFC","\uD83D\uDD95\uD83C\uDFFD","\uD83D\uDD95\uD83C\uDFFE","\uD83D\uDD95\uD83C\uDFFF","\uD83D\uDD96\uD83C\uDFFB","\uD83D\uDD96\uD83C\uDFFC","\uD83D\uDD96\uD83C\uDFFD","\uD83D\uDD96\uD83C\uDFFE","\uD83D\uDD96\uD83C\uDFFF","\uD83D\uDDA5\uFE0F","\uD83D\uDDA8\uFE0F","\uD83D\uDDB1\uFE0F","\uD83D\uDDB2\uFE0F","\uD83D\uDDBC\uFE0F","\uD83D\uDDC2\uFE0F","\uD83D\uDDC3\uFE0F","\uD83D\uDDC4\uFE0F","\uD83D\uDDD1\uFE0F","\uD83D\uDDD2\uFE0F","\uD83D\uDDD3\uFE0F","\uD83D\uDDDC\uFE0F","\uD83D\uDDDD\uFE0F","\uD83D\uDDDE\uFE0F","\uD83D\uDDE1\uFE0F","\uD83D\uDDE3\uFE0F","\uD83D\uDDE8\uFE0F","\uD83D\uDDEF\uFE0F","\uD83D\uDDF3\uFE0F","\uD83D\uDDFA\uFE0F","\uD83D\uDE2E\u200D\uD83D\uDCA8","\uD83D\uDE35\u200D\uD83D\uDCAB","\uD83D\uDE36\u200D\uD83C\uDF2B\uFE0F","\uD83D\uDE42\u200D\u2194\uFE0F","\uD83D\uDE42\u200D\u2195\uFE0F","\uD83D\uDE45\u200D\u2640\uFE0F","\uD83D\uDE45\u200D\u2642\uFE0F","\uD83D\uDE45\uD83C\uDFFB","\uD83D\uDE45\uD83C\uDFFB\u200D\u2640\uFE0F","\uD83D\uDE45\uD83C\uDFFB\u200D\u2642\uFE0F","\uD83D\uDE45\uD83C\uDFFC","\uD83D\uDE45\uD83C\uDFFC\u200D\u2640\uFE0F","\uD83D\uDE45\uD83C\uDFFC\u200D\u2642\uFE0F","\uD83D\uDE45\uD83C\uDFFD","\uD83D\uDE45\uD83C\uDFFD\u200D\u2640\uFE0F","\uD83D\uDE45\uD83C\uDFFD\u200D\u2642\uFE0F","\uD83D\uDE45\uD83C\uDFFE","\uD83D\uDE45\uD83C\uDFFE\u200D\u2640\uFE0F","\uD83D\uDE45\uD83C\uDFFE\u200D\u2642\uFE0F","\uD83D\uDE45\uD83C\uDFFF","\uD83D\uDE45\uD83C\uDFFF\u200D\u2640\uFE0F","\uD83D\uDE45\uD83C\uDFFF\u200D\u2642\uFE0F","\uD83D\uDE46\u200D\u2640\uFE0F","\uD83D\uDE46\u200D\u2642\uFE0F","\uD83D\uDE46\uD83C\uDFFB","\uD83D\uDE46\uD83C\uDFFB\u200D\u2640\uFE0F","\uD83D\uDE46\uD83C\uDFFB\u200D\u2642\uFE0F","\uD83D\uDE46\uD83C\uDFFC","\uD83D\uDE46\uD83C\uDFFC\u200D\u2640\uFE0F","\uD83D\uDE46\uD83C\uDFFC\u200D\u2642\uFE0F","\uD83D\uDE46\uD83C\uDFFD","\uD83D\uDE46\uD83C\uDFFD\u200D\u2640\uFE0F","\uD83D\uDE46\uD83C\uDFFD\u200D\u2642\uFE0F","\uD83D\uDE46\uD83C\uDFFE","\uD83D\uDE46\uD83C\uDFFE\u200D\u2640\uFE0F","\uD83D\uDE46\uD83C\uDFFE\u200D\u2642\uFE0F","\uD83D\uDE46\uD83C\uDFFF","\uD83D\uDE46\uD83C\uDFFF\u200D\u2640\uFE0F","\uD83D\uDE46\uD83C\uDFFF\u200D\u2642\uFE0F","\uD83D\uDE47\u200D\u2640\uFE0F","\uD83D\uDE47\u200D\u2642\uFE0F","\uD83D\uDE47\uD83C\uDFFB","\uD83D\uDE47\uD83C\uDFFB\u200D\u2640\uFE0F","\uD83D\uDE47\uD83C\uDFFB\u200D\u2642\uFE0F","\uD83D\uDE47\uD83C\uDFFC","\uD83D\uDE47\uD83C\uDFFC\u200D\u2640\uFE0F","\uD83D\uDE47\uD83C\uDFFC\u200D\u2642\uFE0F","\uD83D\uDE47\uD83C\uDFFD","\uD83D\uDE47\uD83C\uDFFD\u200D\u2640\uFE0F","\uD83D\uDE47\uD83C\uDFFD\u200D\u2642\uFE0F","\uD83D\uDE47\uD83C\uDFFE","\uD83D\uDE47\uD83C\uDFFE\u200D\u2640\uFE0F","\uD83D\uDE47\uD83C\uDFFE\u200D\u2642\uFE0F","\uD83D\uDE47\uD83C\uDFFF","\uD83D\uDE47\uD83C\uDFFF\u200D\u2640\uFE0F","\uD83D\uDE47\uD83C\uDFFF\u200D\u2642\uFE0F","\uD83D\uDE4B\u200D\u2640\uFE0F","\uD83D\uDE4B\u200D\u2642\uFE0F","\uD83D\uDE4B\uD83C\uDFFB","\uD83D\uDE4B\uD83C\uDFFB\u200D\u2640\uFE0F","\uD83D\uDE4B\uD83C\uDFFB\u200D\u2642\uFE0F","\uD83D\uDE4B\uD83C\uDFFC","\uD83D\uDE4B\uD83C\uDFFC\u200D\u2640\uFE0F","\uD83D\uDE4B\uD83C\uDFFC\u200D\u2642\uFE0F","\uD83D\uDE4B\uD83C\uDFFD","\uD83D\uDE4B\uD83C\uDFFD\u200D\u2640\uFE0F","\uD83D\uDE4B\uD83C\uDFFD\u200D\u2642\uFE0F","\uD83D\uDE4B\uD83C\uDFFE","\uD83D\uDE4B\uD83C\uDFFE\u200D\u2640\uFE0F","\uD83D\uDE4B\uD83C\uDFFE\u200D\u2642\uFE0F","\uD83D\uDE4B\uD83C\uDFFF","\uD83D\uDE4B\uD83C\uDFFF\u200D\u2640\uFE0F","\uD83D\uDE4B\uD83C\uDFFF\u200D\u2642\uFE0F","\uD83D\uDE4C\uD83C\uDFFB","\uD83D\uDE4C\uD83C\uDFFC","\uD83D\uDE4C\uD83C\uDFFD","\uD83D\uDE4C\uD83C\uDFFE","\uD83D\uDE4C\uD83C\uDFFF","\uD83D\uDE4D\u200D\u2640\uFE0F","\uD83D\uDE4D\u200D\u2642\uFE0F","\uD83D\uDE4D\uD83C\uDFFB","\uD83D\uDE4D\uD83C\uDFFB\u200D\u2640\uFE0F","\uD83D\uDE4D\uD83C\uDFFB\u200D\u2642\uFE0F","\uD83D\uDE4D\uD83C\uDFFC","\uD83D\uDE4D\uD83C\uDFFC\u200D\u2640\uFE0F","\uD83D\uDE4D\uD83C\uDFFC\u200D\u2642\uFE0F","\uD83D\uDE4D\uD83C\uDFFD","\uD83D\uDE4D\uD83C\uDFFD\u200D\u2640\uFE0F","\uD83D\uDE4D\uD83C\uDFFD\u200D\u2642\uFE0F","\uD83D\uDE4D\uD83C\uDFFE","\uD83D\uDE4D\uD83C\uDFFE\u200D\u2640\uFE0F","\uD83D\uDE4D\uD83C\uDFFE\u200D\u2642\uFE0F","\uD83D\uDE4D\uD83C\uDFFF","\uD83D\uDE4D\uD83C\uDFFF\u200D\u2640\uFE0F","\uD83D\uDE4D\uD83C\uDFFF\u200D\u2642\uFE0F","\uD83D\uDE4E\u200D\u2640\uFE0F","\uD83D\uDE4E\u200D\u2642\uFE0F","\uD83D\uDE4E\uD83C\uDFFB","\uD83D\uDE4E\uD83C\uDFFB\u200D\u2640\uFE0F","\uD83D\uDE4E\uD83C\uDFFB\u200D\u2642\uFE0F","\uD83D\uDE4E\uD83C\uDFFC","\uD83D\uDE4E\uD83C\uDFFC\u200D\u2640\uFE0F","\uD83D\uDE4E\uD83C\uDFFC\u200D\u2642\uFE0F","\uD83D\uDE4E\uD83C\uDFFD","\uD83D\uDE4E\uD83C\uDFFD\u200D\u2640\uFE0F","\uD83D\uDE4E\uD83C\uDFFD\u200D\u2642\uFE0F","\uD83D\uDE4E\uD83C\uDFFE","\uD83D\uDE4E\uD83C\uDFFE\u200D\u2640\uFE0F","\uD83D\uDE4E\uD83C\uDFFE\u200D\u2642\uFE0F","\uD83D\uDE4E\uD83C\uDFFF","\uD83D\uDE4E\uD83C\uDFFF\u200D\u2640\uFE0F","\uD83D\uDE4E\uD83C\uDFFF\u200D\u2642\uFE0F","\uD83D\uDE4F\uD83C\uDFFB","\uD83D\uDE4F\uD83C\uDFFC","\uD83D\uDE4F\uD83C\uDFFD","\uD83D\uDE4F\uD83C\uDFFE","\uD83D\uDE4F\uD83C\uDFFF","\uD83D\uDEA3\u200D\u2640\uFE0F","\uD83D\uDEA3\u200D\u2642\uFE0F","\uD83D\uDEA3\uD83C\uDFFB","\uD83D\uDEA3\uD83C\uDFFB\u200D\u2640\uFE0F","\uD83D\uDEA3\uD83C\uDFFB\u200D\u2642\uFE0F","\uD83D\uDEA3\uD83C\uDFFC","\uD83D\uDEA3\uD83C\uDFFC\u200D\u2640\uFE0F","\uD83D\uDEA3\uD83C\uDFFC\u200D\u2642\uFE0F","\uD83D\uDEA3\uD83C\uDFFD","\uD83D\uDEA3\uD83C\uDFFD\u200D\u2640\uFE0F","\uD83D\uDEA3\uD83C\uDFFD\u200D\u2642\uFE0F","\uD83D\uDEA3\uD83C\uDFFE","\uD83D\uDEA3\uD83C\uDFFE\u200D\u2640\uFE0F","\uD83D\uDEA3\uD83C\uDFFE\u200D\u2642\uFE0F","\uD83D\uDEA3\uD83C\uDFFF","\uD83D\uDEA3\uD83C\uDFFF\u200D\u2640\uFE0F","\uD83D\uDEA3\uD83C\uDFFF\u200D\u2642\uFE0F","\uD83D\uDEB4\u200D\u2640\uFE0F","\uD83D\uDEB4\u200D\u2642\uFE0F","\uD83D\uDEB4\uD83C\uDFFB","\uD83D\uDEB4\uD83C\uDFFB\u200D\u2640\uFE0F","\uD83D\uDEB4\uD83C\uDFFB\u200D\u2642\uFE0F","\uD83D\uDEB4\uD83C\uDFFC","\uD83D\uDEB4\uD83C\uDFFC\u200D\u2640\uFE0F","\uD83D\uDEB4\uD83C\uDFFC\u200D\u2642\uFE0F","\uD83D\uDEB4\uD83C\uDFFD","\uD83D\uDEB4\uD83C\uDFFD\u200D\u2640\uFE0F","\uD83D\uDEB4\uD83C\uDFFD\u200D\u2642\uFE0F","\uD83D\uDEB4\uD83C\uDFFE","\uD83D\uDEB4\uD83C\uDFFE\u200D\u2640\uFE0F","\uD83D\uDEB4\uD83C\uDFFE\u200D\u2642\uFE0F","\uD83D\uDEB4\uD83C\uDFFF","\uD83D\uDEB4\uD83C\uDFFF\u200D\u2640\uFE0F","\uD83D\uDEB4\uD83C\uDFFF\u200D\u2642\uFE0F","\uD83D\uDEB5\u200D\u2640\uFE0F","\uD83D\uDEB5\u200D\u2642\uFE0F","\uD83D\uDEB5\uD83C\uDFFB","\uD83D\uDEB5\uD83C\uDFFB\u200D\u2640\uFE0F","\uD83D\uDEB5\uD83C\uDFFB\u200D\u2642\uFE0F","\uD83D\uDEB5\uD83C\uDFFC","\uD83D\uDEB5\uD83C\uDFFC\u200D\u2640\uFE0F","\uD83D\uDEB5\uD83C\uDFFC\u200D\u2642\uFE0F","\uD83D\uDEB5\uD83C\uDFFD","\uD83D\uDEB5\uD83C\uDFFD\u200D\u2640\uFE0F","\uD83D\uDEB5\uD83C\uDFFD\u200D\u2642\uFE0F","\uD83D\uDEB5\uD83C\uDFFE","\uD83D\uDEB5\uD83C\uDFFE\u200D\u2640\uFE0F","\uD83D\uDEB5\uD83C\uDFFE\u200D\u2642\uFE0F","\uD83D\uDEB5\uD83C\uDFFF","\uD83D\uDEB5\uD83C\uDFFF\u200D\u2640\uFE0F","\uD83D\uDEB5\uD83C\uDFFF\u200D\u2642\uFE0F","\uD83D\uDEB6\u200D\u2640\uFE0F","\uD83D\uDEB6\u200D\u2640\uFE0F\u200D\u27A1\uFE0F","\uD83D\uDEB6\u200D\u2642\uFE0F","\uD83D\uDEB6\u200D\u2642\uFE0F\u200D\u27A1\uFE0F","\uD83D\uDEB6\u200D\u27A1\uFE0F","\uD83D\uDEB6\uD83C\uDFFB","\uD83D\uDEB6\uD83C\uDFFB\u200D\u2640\uFE0F","\uD83D\uDEB6\uD83C\uDFFB\u200D\u2640\uFE0F\u200D\u27A1\uFE0F","\uD83D\uDEB6\uD83C\uDFFB\u200D\u2642\uFE0F","\uD83D\uDEB6\uD83C\uDFFB\u200D\u2642\uFE0F\u200D\u27A1\uFE0F","\uD83D\uDEB6\uD83C\uDFFB\u200D\u27A1\uFE0F","\uD83D\uDEB6\uD83C\uDFFC","\uD83D\uDEB6\uD83C\uDFFC\u200D\u2640\uFE0F","\uD83D\uDEB6\uD83C\uDFFC\u200D\u2640\uFE0F\u200D\u27A1\uFE0F","\uD83D\uDEB6\uD83C\uDFFC\u200D\u2642\uFE0F","\uD83D\uDEB6\uD83C\uDFFC\u200D\u2642\uFE0F\u200D\u27A1\uFE0F","\uD83D\uDEB6\uD83C\uDFFC\u200D\u27A1\uFE0F","\uD83D\uDEB6\uD83C\uDFFD","\uD83D\uDEB6\uD83C\uDFFD\u200D\u2640\uFE0F","\uD83D\uDEB6\uD83C\uDFFD\u200D\u2640\uFE0F\u200D\u27A1\uFE0F","\uD83D\uDEB6\uD83C\uDFFD\u200D\u2642\uFE0F","\uD83D\uDEB6\uD83C\uDFFD\u200D\u2642\uFE0F\u200D\u27A1\uFE0F","\uD83D\uDEB6\uD83C\uDFFD\u200D\u27A1\uFE0F","\uD83D\uDEB6\uD83C\uDFFE","\uD83D\uDEB6\uD83C\uDFFE\u200D\u2640\uFE0F","\uD83D\uDEB6\uD83C\uDFFE\u200D\u2640\uFE0F\u200D\u27A1\uFE0F","\uD83D\uDEB6\uD83C\uDFFE\u200D\u2642\uFE0F","\uD83D\uDEB6\uD83C\uDFFE\u200D\u2642\uFE0F\u200D\u27A1\uFE0F","\uD83D\uDEB6\uD83C\uDFFE\u200D\u27A1\uFE0F","\uD83D\uDEB6\uD83C\uDFFF","\uD83D\uDEB6\uD83C\uDFFF\u200D\u2640\uFE0F","\uD83D\uDEB6\uD83C\uDFFF\u200D\u2640\uFE0F\u200D\u27A1\uFE0F","\uD83D\uDEB6\uD83C\uDFFF\u200D\u2642\uFE0F","\uD83D\uDEB6\uD83C\uDFFF\u200D\u2642\uFE0F\u200D\u27A1\uFE0F","\uD83D\uDEB6\uD83C\uDFFF\u200D\u27A1\uFE0F","\uD83D\uDEC0\uD83C\uDFFB","\uD83D\uDEC0\uD83C\uDFFC","\uD83D\uDEC0\uD83C\uDFFD","\uD83D\uDEC0\uD83C\uDFFE","\uD83D\uDEC0\uD83C\uDFFF","\uD83D\uDECB\uFE0F","\uD83D\uDECC\uD83C\uDFFB","\uD83D\uDECC\uD83C\uDFFC","\uD83D\uDECC\uD83C\uDFFD","\uD83D\uDECC\uD83C\uDFFE","\uD83D\uDECC\uD83C\uDFFF","\uD83D\uDECD\uFE0F","\uD83D\uDECE\uFE0F","\uD83D\uDECF\uFE0F","\uD83D\uDEE0\uFE0F","\uD83D\uDEE1\uFE0F","\uD83D\uDEE2\uFE0F","\uD83D\uDEE3\uFE0F","\uD83D\uDEE4\uFE0F","\uD83D\uDEE5\uFE0F","\uD83D\uDEE9\uFE0F","\uD83D\uDEF0\uFE0F","\uD83D\uDEF3\uFE0F","\uD83E\uDD0C\uD83C\uDFFB","\uD83E\uDD0C\uD83C\uDFFC","\uD83E\uDD0C\uD83C\uDFFD","\uD83E\uDD0C\uD83C\uDFFE","\uD83E\uDD0C\uD83C\uDFFF","\uD83E\uDD0F\uD83C\uDFFB","\uD83E\uDD0F\uD83C\uDFFC","\uD83E\uDD0F\uD83C\uDFFD","\uD83E\uDD0F\uD83C\uDFFE","\uD83E\uDD0F\uD83C\uDFFF","\uD83E\uDD18\uD83C\uDFFB","\uD83E\uDD18\uD83C\uDFFC","\uD83E\uDD18\uD83C\uDFFD","\uD83E\uDD18\uD83C\uDFFE","\uD83E\uDD18\uD83C\uDFFF","\uD83E\uDD19\uD83C\uDFFB","\uD83E\uDD19\uD83C\uDFFC","\uD83E\uDD19\uD83C\uDFFD","\uD83E\uDD19\uD83C\uDFFE","\uD83E\uDD19\uD83C\uDFFF","\uD83E\uDD1A\uD83C\uDFFB","\uD83E\uDD1A\uD83C\uDFFC","\uD83E\uDD1A\uD83C\uDFFD","\uD83E\uDD1A\uD83C\uDFFE","\uD83E\uDD1A\uD83C\uDFFF","\uD83E\uDD1B\uD83C\uDFFB","\uD83E\uDD1B\uD83C\uDFFC","\uD83E\uDD1B\uD83C\uDFFD","\uD83E\uDD1B\uD83C\uDFFE","\uD83E\uDD1B\uD83C\uDFFF","\uD83E\uDD1C\uD83C\uDFFB","\uD83E\uDD1C\uD83C\uDFFC","\uD83E\uDD1C\uD83C\uDFFD","\uD83E\uDD1C\uD83C\uDFFE","\uD83E\uDD1C\uD83C\uDFFF","\uD83E\uDD1D\uD83C\uDFFB","\uD83E\uDD1D\uD83C\uDFFC","\uD83E\uDD1D\uD83C\uDFFD","\uD83E\uDD1D\uD83C\uDFFE","\uD83E\uDD1D\uD83C\uDFFF","\uD83E\uDD1E\uD83C\uDFFB","\uD83E\uDD1E\uD83C\uDFFC","\uD83E\uDD1E\uD83C\uDFFD","\uD83E\uDD1E\uD83C\uDFFE","\uD83E\uDD1E\uD83C\uDFFF","\uD83E\uDD1F\uD83C\uDFFB","\uD83E\uDD1F\uD83C\uDFFC","\uD83E\uDD1F\uD83C\uDFFD","\uD83E\uDD1F\uD83C\uDFFE","\uD83E\uDD1F\uD83C\uDFFF","\uD83E\uDD26\u200D\u2640\uFE0F","\uD83E\uDD26\u200D\u2642\uFE0F","\uD83E\uDD26\uD83C\uDFFB","\uD83E\uDD26\uD83C\uDFFB\u200D\u2640\uFE0F","\uD83E\uDD26\uD83C\uDFFB\u200D\u2642\uFE0F","\uD83E\uDD26\uD83C\uDFFC","\uD83E\uDD26\uD83C\uDFFC\u200D\u2640\uFE0F","\uD83E\uDD26\uD83C\uDFFC\u200D\u2642\uFE0F","\uD83E\uDD26\uD83C\uDFFD","\uD83E\uDD26\uD83C\uDFFD\u200D\u2640\uFE0F","\uD83E\uDD26\uD83C\uDFFD\u200D\u2642\uFE0F","\uD83E\uDD26\uD83C\uDFFE","\uD83E\uDD26\uD83C\uDFFE\u200D\u2640\uFE0F","\uD83E\uDD26\uD83C\uDFFE\u200D\u2642\uFE0F","\uD83E\uDD26\uD83C\uDFFF","\uD83E\uDD26\uD83C\uDFFF\u200D\u2640\uFE0F","\uD83E\uDD26\uD83C\uDFFF\u200D\u2642\uFE0F","\uD83E\uDD30\uD83C\uDFFB","\uD83E\uDD30\uD83C\uDFFC","\uD83E\uDD30\uD83C\uDFFD","\uD83E\uDD30\uD83C\uDFFE","\uD83E\uDD30\uD83C\uDFFF","\uD83E\uDD31\uD83C\uDFFB","\uD83E\uDD31\uD83C\uDFFC","\uD83E\uDD31\uD83C\uDFFD","\uD83E\uDD31\uD83C\uDFFE","\uD83E\uDD31\uD83C\uDFFF","\uD83E\uDD32\uD83C\uDFFB","\uD83E\uDD32\uD83C\uDFFC","\uD83E\uDD32\uD83C\uDFFD","\uD83E\uDD32\uD83C\uDFFE","\uD83E\uDD32\uD83C\uDFFF","\uD83E\uDD33\uD83C\uDFFB","\uD83E\uDD33\uD83C\uDFFC","\uD83E\uDD33\uD83C\uDFFD","\uD83E\uDD33\uD83C\uDFFE","\uD83E\uDD33\uD83C\uDFFF","\uD83E\uDD34\uD83C\uDFFB","\uD83E\uDD34\uD83C\uDFFC","\uD83E\uDD34\uD83C\uDFFD","\uD83E\uDD34\uD83C\uDFFE","\uD83E\uDD34\uD83C\uDFFF","\uD83E\uDD35\u200D\u2640\uFE0F","\uD83E\uDD35\u200D\u2642\uFE0F","\uD83E\uDD35\uD83C\uDFFB","\uD83E\uDD35\uD83C\uDFFB\u200D\u2640\uFE0F","\uD83E\uDD35\uD83C\uDFFB\u200D\u2642\uFE0F","\uD83E\uDD35\uD83C\uDFFC","\uD83E\uDD35\uD83C\uDFFC\u200D\u2640\uFE0F","\uD83E\uDD35\uD83C\uDFFC\u200D\u2642\uFE0F","\uD83E\uDD35\uD83C\uDFFD","\uD83E\uDD35\uD83C\uDFFD\u200D\u2640\uFE0F","\uD83E\uDD35\uD83C\uDFFD\u200D\u2642\uFE0F","\uD83E\uDD35\uD83C\uDFFE","\uD83E\uDD35\uD83C\uDFFE\u200D\u2640\uFE0F","\uD83E\uDD35\uD83C\uDFFE\u200D\u2642\uFE0F","\uD83E\uDD35\uD83C\uDFFF","\uD83E\uDD35\uD83C\uDFFF\u200D\u2640\uFE0F","\uD83E\uDD35\uD83C\uDFFF\u200D\u2642\uFE0F","\uD83E\uDD36\uD83C\uDFFB","\uD83E\uDD36\uD83C\uDFFC","\uD83E\uDD36\uD83C\uDFFD","\uD83E\uDD36\uD83C\uDFFE","\uD83E\uDD36\uD83C\uDFFF","\uD83E\uDD37\u200D\u2640\uFE0F","\uD83E\uDD37\u200D\u2642\uFE0F","\uD83E\uDD37\uD83C\uDFFB","\uD83E\uDD37\uD83C\uDFFB\u200D\u2640\uFE0F","\uD83E\uDD37\uD83C\uDFFB\u200D\u2642\uFE0F","\uD83E\uDD37\uD83C\uDFFC","\uD83E\uDD37\uD83C\uDFFC\u200D\u2640\uFE0F","\uD83E\uDD37\uD83C\uDFFC\u200D\u2642\uFE0F","\uD83E\uDD37\uD83C\uDFFD","\uD83E\uDD37\uD83C\uDFFD\u200D\u2640\uFE0F","\uD83E\uDD37\uD83C\uDFFD\u200D\u2642\uFE0F","\uD83E\uDD37\uD83C\uDFFE","\uD83E\uDD37\uD83C\uDFFE\u200D\u2640\uFE0F","\uD83E\uDD37\uD83C\uDFFE\u200D\u2642\uFE0F","\uD83E\uDD37\uD83C\uDFFF","\uD83E\uDD37\uD83C\uDFFF\u200D\u2640\uFE0F","\uD83E\uDD37\uD83C\uDFFF\u200D\u2642\uFE0F","\uD83E\uDD38\u200D\u2640\uFE0F","\uD83E\uDD38\u200D\u2642\uFE0F","\uD83E\uDD38\uD83C\uDFFB","\uD83E\uDD38\uD83C\uDFFB\u200D\u2640\uFE0F","\uD83E\uDD38\uD83C\uDFFB\u200D\u2642\uFE0F","\uD83E\uDD38\uD83C\uDFFC","\uD83E\uDD38\uD83C\uDFFC\u200D\u2640\uFE0F","\uD83E\uDD38\uD83C\uDFFC\u200D\u2642\uFE0F","\uD83E\uDD38\uD83C\uDFFD","\uD83E\uDD38\uD83C\uDFFD\u200D\u2640\uFE0F","\uD83E\uDD38\uD83C\uDFFD\u200D\u2642\uFE0F","\uD83E\uDD38\uD83C\uDFFE","\uD83E\uDD38\uD83C\uDFFE\u200D\u2640\uFE0F","\uD83E\uDD38\uD83C\uDFFE\u200D\u2642\uFE0F","\uD83E\uDD38\uD83C\uDFFF","\uD83E\uDD38\uD83C\uDFFF\u200D\u2640\uFE0F","\uD83E\uDD38\uD83C\uDFFF\u200D\u2642\uFE0F","\uD83E\uDD39\u200D\u2640\uFE0F","\uD83E\uDD39\u200D\u2642\uFE0F","\uD83E\uDD39\uD83C\uDFFB","\uD83E\uDD39\uD83C\uDFFB\u200D\u2640\uFE0F","\uD83E\uDD39\uD83C\uDFFB\u200D\u2642\uFE0F","\uD83E\uDD39\uD83C\uDFFC","\uD83E\uDD39\uD83C\uDFFC\u200D\u2640\uFE0F","\uD83E\uDD39\uD83C\uDFFC\u200D\u2642\uFE0F","\uD83E\uDD39\uD83C\uDFFD","\uD83E\uDD39\uD83C\uDFFD\u200D\u2640\uFE0F","\uD83E\uDD39\uD83C\uDFFD\u200D\u2642\uFE0F","\uD83E\uDD39\uD83C\uDFFE","\uD83E\uDD39\uD83C\uDFFE\u200D\u2640\uFE0F","\uD83E\uDD39\uD83C\uDFFE\u200D\u2642\uFE0F","\uD83E\uDD39\uD83C\uDFFF","\uD83E\uDD39\uD83C\uDFFF\u200D\u2640\uFE0F","\uD83E\uDD39\uD83C\uDFFF\u200D\u2642\uFE0F","\uD83E\uDD3C\u200D\u2640\uFE0F","\uD83E\uDD3C\u200D\u2642\uFE0F","\uD83E\uDD3D\u200D\u2640\uFE0F","\uD83E\uDD3D\u200D\u2642\uFE0F","\uD83E\uDD3D\uD83C\uDFFB","\uD83E\uDD3D\uD83C\uDFFB\u200D\u2640\uFE0F","\uD83E\uDD3D\uD83C\uDFFB\u200D\u2642\uFE0F","\uD83E\uDD3D\uD83C\uDFFC","\uD83E\uDD3D\uD83C\uDFFC\u200D\u2640\uFE0F","\uD83E\uDD3D\uD83C\uDFFC\u200D\u2642\uFE0F","\uD83E\uDD3D\uD83C\uDFFD","\uD83E\uDD3D\uD83C\uDFFD\u200D\u2640\uFE0F","\uD83E\uDD3D\uD83C\uDFFD\u200D\u2642\uFE0F","\uD83E\uDD3D\uD83C\uDFFE","\uD83E\uDD3D\uD83C\uDFFE\u200D\u2640\uFE0F","\uD83E\uDD3D\uD83C\uDFFE\u200D\u2642\uFE0F","\uD83E\uDD3D\uD83C\uDFFF","\uD83E\uDD3D\uD83C\uDFFF\u200D\u2640\uFE0F","\uD83E\uDD3D\uD83C\uDFFF\u200D\u2642\uFE0F","\uD83E\uDD3E\u200D\u2640\uFE0F","\uD83E\uDD3E\u200D\u2642\uFE0F","\uD83E\uDD3E\uD83C\uDFFB","\uD83E\uDD3E\uD83C\uDFFB\u200D\u2640\uFE0F","\uD83E\uDD3E\uD83C\uDFFB\u200D\u2642\uFE0F","\uD83E\uDD3E\uD83C\uDFFC","\uD83E\uDD3E\uD83C\uDFFC\u200D\u2640\uFE0F","\uD83E\uDD3E\uD83C\uDFFC\u200D\u2642\uFE0F","\uD83E\uDD3E\uD83C\uDFFD","\uD83E\uDD3E\uD83C\uDFFD\u200D\u2640\uFE0F","\uD83E\uDD3E\uD83C\uDFFD\u200D\u2642\uFE0F","\uD83E\uDD3E\uD83C\uDFFE","\uD83E\uDD3E\uD83C\uDFFE\u200D\u2640\uFE0F","\uD83E\uDD3E\uD83C\uDFFE\u200D\u2642\uFE0F","\uD83E\uDD3E\uD83C\uDFFF","\uD83E\uDD3E\uD83C\uDFFF\u200D\u2640\uFE0F","\uD83E\uDD3E\uD83C\uDFFF\u200D\u2642\uFE0F","\uD83E\uDD77\uD83C\uDFFB","\uD83E\uDD77\uD83C\uDFFC","\uD83E\uDD77\uD83C\uDFFD","\uD83E\uDD77\uD83C\uDFFE","\uD83E\uDD77\uD83C\uDFFF","\uD83E\uDDB5\uD83C\uDFFB","\uD83E\uDDB5\uD83C\uDFFC","\uD83E\uDDB5\uD83C\uDFFD","\uD83E\uDDB5\uD83C\uDFFE","\uD83E\uDDB5\uD83C\uDFFF","\uD83E\uDDB6\uD83C\uDFFB","\uD83E\uDDB6\uD83C\uDFFC","\uD83E\uDDB6\uD83C\uDFFD","\uD83E\uDDB6\uD83C\uDFFE","\uD83E\uDDB6\uD83C\uDFFF","\uD83E\uDDB8\u200D\u2640\uFE0F","\uD83E\uDDB8\u200D\u2642\uFE0F","\uD83E\uDDB8\uD83C\uDFFB","\uD83E\uDDB8\uD83C\uDFFB\u200D\u2640\uFE0F","\uD83E\uDDB8\uD83C\uDFFB\u200D\u2642\uFE0F","\uD83E\uDDB8\uD83C\uDFFC","\uD83E\uDDB8\uD83C\uDFFC\u200D\u2640\uFE0F","\uD83E\uDDB8\uD83C\uDFFC\u200D\u2642\uFE0F","\uD83E\uDDB8\uD83C\uDFFD","\uD83E\uDDB8\uD83C\uDFFD\u200D\u2640\uFE0F","\uD83E\uDDB8\uD83C\uDFFD\u200D\u2642\uFE0F","\uD83E\uDDB8\uD83C\uDFFE","\uD83E\uDDB8\uD83C\uDFFE\u200D\u2640\uFE0F","\uD83E\uDDB8\uD83C\uDFFE\u200D\u2642\uFE0F","\uD83E\uDDB8\uD83C\uDFFF","\uD83E\uDDB8\uD83C\uDFFF\u200D\u2640\uFE0F","\uD83E\uDDB8\uD83C\uDFFF\u200D\u2642\uFE0F","\uD83E\uDDB9\u200D\u2640\uFE0F","\uD83E\uDDB9\u200D\u2642\uFE0F","\uD83E\uDDB9\uD83C\uDFFB","\uD83E\uDDB9\uD83C\uDFFB\u200D\u2640\uFE0F","\uD83E\uDDB9\uD83C\uDFFB\u200D\u2642\uFE0F","\uD83E\uDDB9\uD83C\uDFFC","\uD83E\uDDB9\uD83C\uDFFC\u200D\u2640\uFE0F","\uD83E\uDDB9\uD83C\uDFFC\u200D\u2642\uFE0F","\uD83E\uDDB9\uD83C\uDFFD","\uD83E\uDDB9\uD83C\uDFFD\u200D\u2640\uFE0F","\uD83E\uDDB9\uD83C\uDFFD\u200D\u2642\uFE0F","\uD83E\uDDB9\uD83C\uDFFE","\uD83E\uDDB9\uD83C\uDFFE\u200D\u2640\uFE0F","\uD83E\uDDB9\uD83C\uDFFE\u200D\u2642\uFE0F","\uD83E\uDDB9\uD83C\uDFFF","\uD83E\uDDB9\uD83C\uDFFF\u200D\u2640\uFE0F","\uD83E\uDDB9\uD83C\uDFFF\u200D\u2642\uFE0F","\uD83E\uDDBB\uD83C\uDFFB","\uD83E\uDDBB\uD83C\uDFFC","\uD83E\uDDBB\uD83C\uDFFD","\uD83E\uDDBB\uD83C\uDFFE","\uD83E\uDDBB\uD83C\uDFFF","\uD83E\uDDCD\u200D\u2640\uFE0F","\uD83E\uDDCD\u200D\u2642\uFE0F","\uD83E\uDDCD\uD83C\uDFFB","\uD83E\uDDCD\uD83C\uDFFB\u200D\u2640\uFE0F","\uD83E\uDDCD\uD83C\uDFFB\u200D\u2642\uFE0F","\uD83E\uDDCD\uD83C\uDFFC","\uD83E\uDDCD\uD83C\uDFFC\u200D\u2640\uFE0F","\uD83E\uDDCD\uD83C\uDFFC\u200D\u2642\uFE0F","\uD83E\uDDCD\uD83C\uDFFD","\uD83E\uDDCD\uD83C\uDFFD\u200D\u2640\uFE0F","\uD83E\uDDCD\uD83C\uDFFD\u200D\u2642\uFE0F","\uD83E\uDDCD\uD83C\uDFFE","\uD83E\uDDCD\uD83C\uDFFE\u200D\u2640\uFE0F","\uD83E\uDDCD\uD83C\uDFFE\u200D\u2642\uFE0F","\uD83E\uDDCD\uD83C\uDFFF","\uD83E\uDDCD\uD83C\uDFFF\u200D\u2640\uFE0F","\uD83E\uDDCD\uD83C\uDFFF\u200D\u2642\uFE0F","\uD83E\uDDCE\u200D\u2640\uFE0F","\uD83E\uDDCE\u200D\u2640\uFE0F\u200D\u27A1\uFE0F","\uD83E\uDDCE\u200D\u2642\uFE0F","\uD83E\uDDCE\u200D\u2642\uFE0F\u200D\u27A1\uFE0F","\uD83E\uDDCE\u200D\u27A1\uFE0F","\uD83E\uDDCE\uD83C\uDFFB","\uD83E\uDDCE\uD83C\uDFFB\u200D\u2640\uFE0F","\uD83E\uDDCE\uD83C\uDFFB\u200D\u2640\uFE0F\u200D\u27A1\uFE0F","\uD83E\uDDCE\uD83C\uDFFB\u200D\u2642\uFE0F","\uD83E\uDDCE\uD83C\uDFFB\u200D\u2642\uFE0F\u200D\u27A1\uFE0F","\uD83E\uDDCE\uD83C\uDFFB\u200D\u27A1\uFE0F","\uD83E\uDDCE\uD83C\uDFFC","\uD83E\uDDCE\uD83C\uDFFC\u200D\u2640\uFE0F","\uD83E\uDDCE\uD83C\uDFFC\u200D\u2640\uFE0F\u200D\u27A1\uFE0F","\uD83E\uDDCE\uD83C\uDFFC\u200D\u2642\uFE0F","\uD83E\uDDCE\uD83C\uDFFC\u200D\u2642\uFE0F\u200D\u27A1\uFE0F","\uD83E\uDDCE\uD83C\uDFFC\u200D\u27A1\uFE0F","\uD83E\uDDCE\uD83C\uDFFD","\uD83E\uDDCE\uD83C\uDFFD\u200D\u2640\uFE0F","\uD83E\uDDCE\uD83C\uDFFD\u200D\u2640\uFE0F\u200D\u27A1\uFE0F","\uD83E\uDDCE\uD83C\uDFFD\u200D\u2642\uFE0F","\uD83E\uDDCE\uD83C\uDFFD\u200D\u2642\uFE0F\u200D\u27A1\uFE0F","\uD83E\uDDCE\uD83C\uDFFD\u200D\u27A1\uFE0F","\uD83E\uDDCE\uD83C\uDFFE","\uD83E\uDDCE\uD83C\uDFFE\u200D\u2640\uFE0F","\uD83E\uDDCE\uD83C\uDFFE\u200D\u2640\uFE0F\u200D\u27A1\uFE0F","\uD83E\uDDCE\uD83C\uDFFE\u200D\u2642\uFE0F","\uD83E\uDDCE\uD83C\uDFFE\u200D\u2642\uFE0F\u200D\u27A1\uFE0F","\uD83E\uDDCE\uD83C\uDFFE\u200D\u27A1\uFE0F","\uD83E\uDDCE\uD83C\uDFFF","\uD83E\uDDCE\uD83C\uDFFF\u200D\u2640\uFE0F","\uD83E\uDDCE\uD83C\uDFFF\u200D\u2640\uFE0F\u200D\u27A1\uFE0F","\uD83E\uDDCE\uD83C\uDFFF\u200D\u2642\uFE0F","\uD83E\uDDCE\uD83C\uDFFF\u200D\u2642\uFE0F\u200D\u27A1\uFE0F","\uD83E\uDDCE\uD83C\uDFFF\u200D\u27A1\uFE0F","\uD83E\uDDCF\u200D\u2640\uFE0F","\uD83E\uDDCF\u200D\u2642\uFE0F","\uD83E\uDDCF\uD83C\uDFFB","\uD83E\uDDCF\uD83C\uDFFB\u200D\u2640\uFE0F","\uD83E\uDDCF\uD83C\uDFFB\u200D\u2642\uFE0F","\uD83E\uDDCF\uD83C\uDFFC","\uD83E\uDDCF\uD83C\uDFFC\u200D\u2640\uFE0F","\uD83E\uDDCF\uD83C\uDFFC\u200D\u2642\uFE0F","\uD83E\uDDCF\uD83C\uDFFD","\uD83E\uDDCF\uD83C\uDFFD\u200D\u2640\uFE0F","\uD83E\uDDCF\uD83C\uDFFD\u200D\u2642\uFE0F","\uD83E\uDDCF\uD83C\uDFFE","\uD83E\uDDCF\uD83C\uDFFE\u200D\u2640\uFE0F","\uD83E\uDDCF\uD83C\uDFFE\u200D\u2642\uFE0F","\uD83E\uDDCF\uD83C\uDFFF","\uD83E\uDDCF\uD83C\uDFFF\u200D\u2640\uFE0F","\uD83E\uDDCF\uD83C\uDFFF\u200D\u2642\uFE0F","\uD83E\uDDD1\u200D\u2695\uFE0F","\uD83E\uDDD1\u200D\u2696\uFE0F","\uD83E\uDDD1\u200D\u2708\uFE0F","\uD83E\uDDD1\u200D\uD83C\uDF3E","\uD83E\uDDD1\u200D\uD83C\uDF73","\uD83E\uDDD1\u200D\uD83C\uDF7C","\uD83E\uDDD1\u200D\uD83C\uDF84","\uD83E\uDDD1\u200D\uD83C\uDF93","\uD83E\uDDD1\u200D\uD83C\uDFA4","\uD83E\uDDD1\u200D\uD83C\uDFA8","\uD83E\uDDD1\u200D\uD83C\uDFEB","\uD83E\uDDD1\u200D\uD83C\uDFED","\uD83E\uDDD1\u200D\uD83D\uDCBB","\uD83E\uDDD1\u200D\uD83D\uDCBC","\uD83E\uDDD1\u200D\uD83D\uDD27","\uD83E\uDDD1\u200D\uD83D\uDD2C","\uD83E\uDDD1\u200D\uD83D\uDE80","\uD83E\uDDD1\u200D\uD83D\uDE92","\uD83E\uDDD1\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1","\uD83E\uDDD1\u200D\uD83E\uDDAF","\uD83E\uDDD1\u200D\uD83E\uDDAF\u200D\u27A1\uFE0F","\uD83E\uDDD1\u200D\uD83E\uDDB0","\uD83E\uDDD1\u200D\uD83E\uDDB1","\uD83E\uDDD1\u200D\uD83E\uDDB2","\uD83E\uDDD1\u200D\uD83E\uDDB3","\uD83E\uDDD1\u200D\uD83E\uDDBC","\uD83E\uDDD1\u200D\uD83E\uDDBC\u200D\u27A1\uFE0F","\uD83E\uDDD1\u200D\uD83E\uDDBD","\uD83E\uDDD1\u200D\uD83E\uDDBD\u200D\u27A1\uFE0F","\uD83E\uDDD1\u200D\uD83E\uDDD1\u200D\uD83E\uDDD2","\uD83E\uDDD1\u200D\uD83E\uDDD1\u200D\uD83E\uDDD2\u200D\uD83E\uDDD2","\uD83E\uDDD1\u200D\uD83E\uDDD2","\uD83E\uDDD1\u200D\uD83E\uDDD2\u200D\uD83E\uDDD2","\uD83E\uDDD1\uD83C\uDFFB","\uD83E\uDDD1\uD83C\uDFFB\u200D\u2695\uFE0F","\uD83E\uDDD1\uD83C\uDFFB\u200D\u2696\uFE0F","\uD83E\uDDD1\uD83C\uDFFB\u200D\u2708\uFE0F","\uD83E\uDDD1\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83E\uDDD1\uD83C\uDFFC","\uD83E\uDDD1\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83E\uDDD1\uD83C\uDFFD","\uD83E\uDDD1\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83E\uDDD1\uD83C\uDFFE","\uD83E\uDDD1\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83E\uDDD1\uD83C\uDFFF","\uD83E\uDDD1\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83E\uDDD1\uD83C\uDFFC","\uD83E\uDDD1\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83E\uDDD1\uD83C\uDFFD","\uD83E\uDDD1\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83E\uDDD1\uD83C\uDFFE","\uD83E\uDDD1\uD83C\uDFFB\u200D\u2764\uFE0F\u200D\uD83E\uDDD1\uD83C\uDFFF","\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83C\uDF3E","\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83C\uDF73","\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83C\uDF7C","\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83C\uDF84","\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83C\uDF93","\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83C\uDFA4","\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83C\uDFA8","\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83C\uDFEB","\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83C\uDFED","\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83D\uDCBB","\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83D\uDCBC","\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83D\uDD27","\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83D\uDD2C","\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83D\uDE80","\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83D\uDE92","\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1\uD83C\uDFFB","\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1\uD83C\uDFFC","\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1\uD83C\uDFFD","\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1\uD83C\uDFFE","\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1\uD83C\uDFFF","\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDDAF","\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDDAF\u200D\u27A1\uFE0F","\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDDB0","\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDDB1","\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDDB2","\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDDB3","\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDDBC","\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDDBC\u200D\u27A1\uFE0F","\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDDBD","\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDDBD\u200D\u27A1\uFE0F","\uD83E\uDDD1\uD83C\uDFFC","\uD83E\uDDD1\uD83C\uDFFC\u200D\u2695\uFE0F","\uD83E\uDDD1\uD83C\uDFFC\u200D\u2696\uFE0F","\uD83E\uDDD1\uD83C\uDFFC\u200D\u2708\uFE0F","\uD83E\uDDD1\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83E\uDDD1\uD83C\uDFFB","\uD83E\uDDD1\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83E\uDDD1\uD83C\uDFFD","\uD83E\uDDD1\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83E\uDDD1\uD83C\uDFFE","\uD83E\uDDD1\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83E\uDDD1\uD83C\uDFFF","\uD83E\uDDD1\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83E\uDDD1\uD83C\uDFFB","\uD83E\uDDD1\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83E\uDDD1\uD83C\uDFFD","\uD83E\uDDD1\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83E\uDDD1\uD83C\uDFFE","\uD83E\uDDD1\uD83C\uDFFC\u200D\u2764\uFE0F\u200D\uD83E\uDDD1\uD83C\uDFFF","\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83C\uDF3E","\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83C\uDF73","\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83C\uDF7C","\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83C\uDF84","\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83C\uDF93","\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83C\uDFA4","\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83C\uDFA8","\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83C\uDFEB","\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83C\uDFED","\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83D\uDCBB","\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83D\uDCBC","\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83D\uDD27","\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83D\uDD2C","\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83D\uDE80","\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83D\uDE92","\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1\uD83C\uDFFB","\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1\uD83C\uDFFC","\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1\uD83C\uDFFD","\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1\uD83C\uDFFE","\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1\uD83C\uDFFF","\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDDAF","\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDDAF\u200D\u27A1\uFE0F","\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDDB0","\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDDB1","\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDDB2","\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDDB3","\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDDBC","\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDDBC\u200D\u27A1\uFE0F","\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDDBD","\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDDBD\u200D\u27A1\uFE0F","\uD83E\uDDD1\uD83C\uDFFD","\uD83E\uDDD1\uD83C\uDFFD\u200D\u2695\uFE0F","\uD83E\uDDD1\uD83C\uDFFD\u200D\u2696\uFE0F","\uD83E\uDDD1\uD83C\uDFFD\u200D\u2708\uFE0F","\uD83E\uDDD1\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83E\uDDD1\uD83C\uDFFB","\uD83E\uDDD1\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83E\uDDD1\uD83C\uDFFC","\uD83E\uDDD1\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83E\uDDD1\uD83C\uDFFE","\uD83E\uDDD1\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83E\uDDD1\uD83C\uDFFF","\uD83E\uDDD1\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83E\uDDD1\uD83C\uDFFB","\uD83E\uDDD1\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83E\uDDD1\uD83C\uDFFC","\uD83E\uDDD1\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83E\uDDD1\uD83C\uDFFE","\uD83E\uDDD1\uD83C\uDFFD\u200D\u2764\uFE0F\u200D\uD83E\uDDD1\uD83C\uDFFF","\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83C\uDF3E","\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83C\uDF73","\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83C\uDF7C","\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83C\uDF84","\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83C\uDF93","\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83C\uDFA4","\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83C\uDFA8","\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83C\uDFEB","\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83C\uDFED","\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83D\uDCBB","\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83D\uDCBC","\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83D\uDD27","\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83D\uDD2C","\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83D\uDE80","\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83D\uDE92","\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1\uD83C\uDFFB","\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1\uD83C\uDFFC","\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1\uD83C\uDFFD","\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1\uD83C\uDFFE","\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1\uD83C\uDFFF","\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDDAF","\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDDAF\u200D\u27A1\uFE0F","\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDDB0","\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDDB1","\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDDB2","\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDDB3","\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDDBC","\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDDBC\u200D\u27A1\uFE0F","\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDDBD","\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDDBD\u200D\u27A1\uFE0F","\uD83E\uDDD1\uD83C\uDFFE","\uD83E\uDDD1\uD83C\uDFFE\u200D\u2695\uFE0F","\uD83E\uDDD1\uD83C\uDFFE\u200D\u2696\uFE0F","\uD83E\uDDD1\uD83C\uDFFE\u200D\u2708\uFE0F","\uD83E\uDDD1\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83E\uDDD1\uD83C\uDFFB","\uD83E\uDDD1\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83E\uDDD1\uD83C\uDFFC","\uD83E\uDDD1\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83E\uDDD1\uD83C\uDFFD","\uD83E\uDDD1\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83E\uDDD1\uD83C\uDFFF","\uD83E\uDDD1\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83E\uDDD1\uD83C\uDFFB","\uD83E\uDDD1\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83E\uDDD1\uD83C\uDFFC","\uD83E\uDDD1\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83E\uDDD1\uD83C\uDFFD","\uD83E\uDDD1\uD83C\uDFFE\u200D\u2764\uFE0F\u200D\uD83E\uDDD1\uD83C\uDFFF","\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83C\uDF3E","\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83C\uDF73","\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83C\uDF7C","\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83C\uDF84","\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83C\uDF93","\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83C\uDFA4","\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83C\uDFA8","\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83C\uDFEB","\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83C\uDFED","\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83D\uDCBB","\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83D\uDCBC","\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83D\uDD27","\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83D\uDD2C","\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83D\uDE80","\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83D\uDE92","\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1\uD83C\uDFFB","\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1\uD83C\uDFFC","\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1\uD83C\uDFFD","\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1\uD83C\uDFFE","\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1\uD83C\uDFFF","\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDDAF","\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDDAF\u200D\u27A1\uFE0F","\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDDB0","\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDDB1","\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDDB2","\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDDB3","\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDDBC","\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDDBC\u200D\u27A1\uFE0F","\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDDBD","\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDDBD\u200D\u27A1\uFE0F","\uD83E\uDDD1\uD83C\uDFFF","\uD83E\uDDD1\uD83C\uDFFF\u200D\u2695\uFE0F","\uD83E\uDDD1\uD83C\uDFFF\u200D\u2696\uFE0F","\uD83E\uDDD1\uD83C\uDFFF\u200D\u2708\uFE0F","\uD83E\uDDD1\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83E\uDDD1\uD83C\uDFFB","\uD83E\uDDD1\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83E\uDDD1\uD83C\uDFFC","\uD83E\uDDD1\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83E\uDDD1\uD83C\uDFFD","\uD83E\uDDD1\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83E\uDDD1\uD83C\uDFFE","\uD83E\uDDD1\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83E\uDDD1\uD83C\uDFFB","\uD83E\uDDD1\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83E\uDDD1\uD83C\uDFFC","\uD83E\uDDD1\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83E\uDDD1\uD83C\uDFFD","\uD83E\uDDD1\uD83C\uDFFF\u200D\u2764\uFE0F\u200D\uD83E\uDDD1\uD83C\uDFFE","\uD83E\uDDD1\uD83C\uDFFF\u200D\uD83C\uDF3E","\uD83E\uDDD1\uD83C\uDFFF\u200D\uD83C\uDF73","\uD83E\uDDD1\uD83C\uDFFF\u200D\uD83C\uDF7C","\uD83E\uDDD1\uD83C\uDFFF\u200D\uD83C\uDF84","\uD83E\uDDD1\uD83C\uDFFF\u200D\uD83C\uDF93","\uD83E\uDDD1\uD83C\uDFFF\u200D\uD83C\uDFA4","\uD83E\uDDD1\uD83C\uDFFF\u200D\uD83C\uDFA8","\uD83E\uDDD1\uD83C\uDFFF\u200D\uD83C\uDFEB","\uD83E\uDDD1\uD83C\uDFFF\u200D\uD83C\uDFED","\uD83E\uDDD1\uD83C\uDFFF\u200D\uD83D\uDCBB","\uD83E\uDDD1\uD83C\uDFFF\u200D\uD83D\uDCBC","\uD83E\uDDD1\uD83C\uDFFF\u200D\uD83D\uDD27","\uD83E\uDDD1\uD83C\uDFFF\u200D\uD83D\uDD2C","\uD83E\uDDD1\uD83C\uDFFF\u200D\uD83D\uDE80","\uD83E\uDDD1\uD83C\uDFFF\u200D\uD83D\uDE92","\uD83E\uDDD1\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1\uD83C\uDFFB","\uD83E\uDDD1\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1\uD83C\uDFFC","\uD83E\uDDD1\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1\uD83C\uDFFD","\uD83E\uDDD1\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1\uD83C\uDFFE","\uD83E\uDDD1\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1\uD83C\uDFFF","\uD83E\uDDD1\uD83C\uDFFF\u200D\uD83E\uDDAF","\uD83E\uDDD1\uD83C\uDFFF\u200D\uD83E\uDDAF\u200D\u27A1\uFE0F","\uD83E\uDDD1\uD83C\uDFFF\u200D\uD83E\uDDB0","\uD83E\uDDD1\uD83C\uDFFF\u200D\uD83E\uDDB1","\uD83E\uDDD1\uD83C\uDFFF\u200D\uD83E\uDDB2","\uD83E\uDDD1\uD83C\uDFFF\u200D\uD83E\uDDB3","\uD83E\uDDD1\uD83C\uDFFF\u200D\uD83E\uDDBC","\uD83E\uDDD1\uD83C\uDFFF\u200D\uD83E\uDDBC\u200D\u27A1\uFE0F","\uD83E\uDDD1\uD83C\uDFFF\u200D\uD83E\uDDBD","\uD83E\uDDD1\uD83C\uDFFF\u200D\uD83E\uDDBD\u200D\u27A1\uFE0F","\uD83E\uDDD2\uD83C\uDFFB","\uD83E\uDDD2\uD83C\uDFFC","\uD83E\uDDD2\uD83C\uDFFD","\uD83E\uDDD2\uD83C\uDFFE","\uD83E\uDDD2\uD83C\uDFFF","\uD83E\uDDD3\uD83C\uDFFB","\uD83E\uDDD3\uD83C\uDFFC","\uD83E\uDDD3\uD83C\uDFFD","\uD83E\uDDD3\uD83C\uDFFE","\uD83E\uDDD3\uD83C\uDFFF","\uD83E\uDDD4\u200D\u2640\uFE0F","\uD83E\uDDD4\u200D\u2642\uFE0F","\uD83E\uDDD4\uD83C\uDFFB","\uD83E\uDDD4\uD83C\uDFFB\u200D\u2640\uFE0F","\uD83E\uDDD4\uD83C\uDFFB\u200D\u2642\uFE0F","\uD83E\uDDD4\uD83C\uDFFC","\uD83E\uDDD4\uD83C\uDFFC\u200D\u2640\uFE0F","\uD83E\uDDD4\uD83C\uDFFC\u200D\u2642\uFE0F","\uD83E\uDDD4\uD83C\uDFFD","\uD83E\uDDD4\uD83C\uDFFD\u200D\u2640\uFE0F","\uD83E\uDDD4\uD83C\uDFFD\u200D\u2642\uFE0F","\uD83E\uDDD4\uD83C\uDFFE","\uD83E\uDDD4\uD83C\uDFFE\u200D\u2640\uFE0F","\uD83E\uDDD4\uD83C\uDFFE\u200D\u2642\uFE0F","\uD83E\uDDD4\uD83C\uDFFF","\uD83E\uDDD4\uD83C\uDFFF\u200D\u2640\uFE0F","\uD83E\uDDD4\uD83C\uDFFF\u200D\u2642\uFE0F","\uD83E\uDDD5\uD83C\uDFFB","\uD83E\uDDD5\uD83C\uDFFC","\uD83E\uDDD5\uD83C\uDFFD","\uD83E\uDDD5\uD83C\uDFFE","\uD83E\uDDD5\uD83C\uDFFF","\uD83E\uDDD6\u200D\u2640\uFE0F","\uD83E\uDDD6\u200D\u2642\uFE0F","\uD83E\uDDD6\uD83C\uDFFB","\uD83E\uDDD6\uD83C\uDFFB\u200D\u2640\uFE0F","\uD83E\uDDD6\uD83C\uDFFB\u200D\u2642\uFE0F","\uD83E\uDDD6\uD83C\uDFFC","\uD83E\uDDD6\uD83C\uDFFC\u200D\u2640\uFE0F","\uD83E\uDDD6\uD83C\uDFFC\u200D\u2642\uFE0F","\uD83E\uDDD6\uD83C\uDFFD","\uD83E\uDDD6\uD83C\uDFFD\u200D\u2640\uFE0F","\uD83E\uDDD6\uD83C\uDFFD\u200D\u2642\uFE0F","\uD83E\uDDD6\uD83C\uDFFE","\uD83E\uDDD6\uD83C\uDFFE\u200D\u2640\uFE0F","\uD83E\uDDD6\uD83C\uDFFE\u200D\u2642\uFE0F","\uD83E\uDDD6\uD83C\uDFFF","\uD83E\uDDD6\uD83C\uDFFF\u200D\u2640\uFE0F","\uD83E\uDDD6\uD83C\uDFFF\u200D\u2642\uFE0F","\uD83E\uDDD7\u200D\u2640\uFE0F","\uD83E\uDDD7\u200D\u2642\uFE0F","\uD83E\uDDD7\uD83C\uDFFB","\uD83E\uDDD7\uD83C\uDFFB\u200D\u2640\uFE0F","\uD83E\uDDD7\uD83C\uDFFB\u200D\u2642\uFE0F","\uD83E\uDDD7\uD83C\uDFFC","\uD83E\uDDD7\uD83C\uDFFC\u200D\u2640\uFE0F","\uD83E\uDDD7\uD83C\uDFFC\u200D\u2642\uFE0F","\uD83E\uDDD7\uD83C\uDFFD","\uD83E\uDDD7\uD83C\uDFFD\u200D\u2640\uFE0F","\uD83E\uDDD7\uD83C\uDFFD\u200D\u2642\uFE0F","\uD83E\uDDD7\uD83C\uDFFE","\uD83E\uDDD7\uD83C\uDFFE\u200D\u2640\uFE0F","\uD83E\uDDD7\uD83C\uDFFE\u200D\u2642\uFE0F","\uD83E\uDDD7\uD83C\uDFFF","\uD83E\uDDD7\uD83C\uDFFF\u200D\u2640\uFE0F","\uD83E\uDDD7\uD83C\uDFFF\u200D\u2642\uFE0F","\uD83E\uDDD8\u200D\u2640\uFE0F","\uD83E\uDDD8\u200D\u2642\uFE0F","\uD83E\uDDD8\uD83C\uDFFB","\uD83E\uDDD8\uD83C\uDFFB\u200D\u2640\uFE0F","\uD83E\uDDD8\uD83C\uDFFB\u200D\u2642\uFE0F","\uD83E\uDDD8\uD83C\uDFFC","\uD83E\uDDD8\uD83C\uDFFC\u200D\u2640\uFE0F","\uD83E\uDDD8\uD83C\uDFFC\u200D\u2642\uFE0F","\uD83E\uDDD8\uD83C\uDFFD","\uD83E\uDDD8\uD83C\uDFFD\u200D\u2640\uFE0F","\uD83E\uDDD8\uD83C\uDFFD\u200D\u2642\uFE0F","\uD83E\uDDD8\uD83C\uDFFE","\uD83E\uDDD8\uD83C\uDFFE\u200D\u2640\uFE0F","\uD83E\uDDD8\uD83C\uDFFE\u200D\u2642\uFE0F","\uD83E\uDDD8\uD83C\uDFFF","\uD83E\uDDD8\uD83C\uDFFF\u200D\u2640\uFE0F","\uD83E\uDDD8\uD83C\uDFFF\u200D\u2642\uFE0F","\uD83E\uDDD9\u200D\u2640\uFE0F","\uD83E\uDDD9\u200D\u2642\uFE0F","\uD83E\uDDD9\uD83C\uDFFB","\uD83E\uDDD9\uD83C\uDFFB\u200D\u2640\uFE0F","\uD83E\uDDD9\uD83C\uDFFB\u200D\u2642\uFE0F","\uD83E\uDDD9\uD83C\uDFFC","\uD83E\uDDD9\uD83C\uDFFC\u200D\u2640\uFE0F","\uD83E\uDDD9\uD83C\uDFFC\u200D\u2642\uFE0F","\uD83E\uDDD9\uD83C\uDFFD","\uD83E\uDDD9\uD83C\uDFFD\u200D\u2640\uFE0F","\uD83E\uDDD9\uD83C\uDFFD\u200D\u2642\uFE0F","\uD83E\uDDD9\uD83C\uDFFE","\uD83E\uDDD9\uD83C\uDFFE\u200D\u2640\uFE0F","\uD83E\uDDD9\uD83C\uDFFE\u200D\u2642\uFE0F","\uD83E\uDDD9\uD83C\uDFFF","\uD83E\uDDD9\uD83C\uDFFF\u200D\u2640\uFE0F","\uD83E\uDDD9\uD83C\uDFFF\u200D\u2642\uFE0F","\uD83E\uDDDA\u200D\u2640\uFE0F","\uD83E\uDDDA\u200D\u2642\uFE0F","\uD83E\uDDDA\uD83C\uDFFB","\uD83E\uDDDA\uD83C\uDFFB\u200D\u2640\uFE0F","\uD83E\uDDDA\uD83C\uDFFB\u200D\u2642\uFE0F","\uD83E\uDDDA\uD83C\uDFFC","\uD83E\uDDDA\uD83C\uDFFC\u200D\u2640\uFE0F","\uD83E\uDDDA\uD83C\uDFFC\u200D\u2642\uFE0F","\uD83E\uDDDA\uD83C\uDFFD","\uD83E\uDDDA\uD83C\uDFFD\u200D\u2640\uFE0F","\uD83E\uDDDA\uD83C\uDFFD\u200D\u2642\uFE0F","\uD83E\uDDDA\uD83C\uDFFE","\uD83E\uDDDA\uD83C\uDFFE\u200D\u2640\uFE0F","\uD83E\uDDDA\uD83C\uDFFE\u200D\u2642\uFE0F","\uD83E\uDDDA\uD83C\uDFFF","\uD83E\uDDDA\uD83C\uDFFF\u200D\u2640\uFE0F","\uD83E\uDDDA\uD83C\uDFFF\u200D\u2642\uFE0F","\uD83E\uDDDB\u200D\u2640\uFE0F","\uD83E\uDDDB\u200D\u2642\uFE0F","\uD83E\uDDDB\uD83C\uDFFB","\uD83E\uDDDB\uD83C\uDFFB\u200D\u2640\uFE0F","\uD83E\uDDDB\uD83C\uDFFB\u200D\u2642\uFE0F","\uD83E\uDDDB\uD83C\uDFFC","\uD83E\uDDDB\uD83C\uDFFC\u200D\u2640\uFE0F","\uD83E\uDDDB\uD83C\uDFFC\u200D\u2642\uFE0F","\uD83E\uDDDB\uD83C\uDFFD","\uD83E\uDDDB\uD83C\uDFFD\u200D\u2640\uFE0F","\uD83E\uDDDB\uD83C\uDFFD\u200D\u2642\uFE0F","\uD83E\uDDDB\uD83C\uDFFE","\uD83E\uDDDB\uD83C\uDFFE\u200D\u2640\uFE0F","\uD83E\uDDDB\uD83C\uDFFE\u200D\u2642\uFE0F","\uD83E\uDDDB\uD83C\uDFFF","\uD83E\uDDDB\uD83C\uDFFF\u200D\u2640\uFE0F","\uD83E\uDDDB\uD83C\uDFFF\u200D\u2642\uFE0F","\uD83E\uDDDC\u200D\u2640\uFE0F","\uD83E\uDDDC\u200D\u2642\uFE0F","\uD83E\uDDDC\uD83C\uDFFB","\uD83E\uDDDC\uD83C\uDFFB\u200D\u2640\uFE0F","\uD83E\uDDDC\uD83C\uDFFB\u200D\u2642\uFE0F","\uD83E\uDDDC\uD83C\uDFFC","\uD83E\uDDDC\uD83C\uDFFC\u200D\u2640\uFE0F","\uD83E\uDDDC\uD83C\uDFFC\u200D\u2642\uFE0F","\uD83E\uDDDC\uD83C\uDFFD","\uD83E\uDDDC\uD83C\uDFFD\u200D\u2640\uFE0F","\uD83E\uDDDC\uD83C\uDFFD\u200D\u2642\uFE0F","\uD83E\uDDDC\uD83C\uDFFE","\uD83E\uDDDC\uD83C\uDFFE\u200D\u2640\uFE0F","\uD83E\uDDDC\uD83C\uDFFE\u200D\u2642\uFE0F","\uD83E\uDDDC\uD83C\uDFFF","\uD83E\uDDDC\uD83C\uDFFF\u200D\u2640\uFE0F","\uD83E\uDDDC\uD83C\uDFFF\u200D\u2642\uFE0F","\uD83E\uDDDD\u200D\u2640\uFE0F","\uD83E\uDDDD\u200D\u2642\uFE0F","\uD83E\uDDDD\uD83C\uDFFB","\uD83E\uDDDD\uD83C\uDFFB\u200D\u2640\uFE0F","\uD83E\uDDDD\uD83C\uDFFB\u200D\u2642\uFE0F","\uD83E\uDDDD\uD83C\uDFFC","\uD83E\uDDDD\uD83C\uDFFC\u200D\u2640\uFE0F","\uD83E\uDDDD\uD83C\uDFFC\u200D\u2642\uFE0F","\uD83E\uDDDD\uD83C\uDFFD","\uD83E\uDDDD\uD83C\uDFFD\u200D\u2640\uFE0F","\uD83E\uDDDD\uD83C\uDFFD\u200D\u2642\uFE0F","\uD83E\uDDDD\uD83C\uDFFE","\uD83E\uDDDD\uD83C\uDFFE\u200D\u2640\uFE0F","\uD83E\uDDDD\uD83C\uDFFE\u200D\u2642\uFE0F","\uD83E\uDDDD\uD83C\uDFFF","\uD83E\uDDDD\uD83C\uDFFF\u200D\u2640\uFE0F","\uD83E\uDDDD\uD83C\uDFFF\u200D\u2642\uFE0F","\uD83E\uDDDE\u200D\u2640\uFE0F","\uD83E\uDDDE\u200D\u2642\uFE0F","\uD83E\uDDDF\u200D\u2640\uFE0F","\uD83E\uDDDF\u200D\u2642\uFE0F","\uD83E\uDEC3\uD83C\uDFFB","\uD83E\uDEC3\uD83C\uDFFC","\uD83E\uDEC3\uD83C\uDFFD","\uD83E\uDEC3\uD83C\uDFFE","\uD83E\uDEC3\uD83C\uDFFF","\uD83E\uDEC4\uD83C\uDFFB","\uD83E\uDEC4\uD83C\uDFFC","\uD83E\uDEC4\uD83C\uDFFD","\uD83E\uDEC4\uD83C\uDFFE","\uD83E\uDEC4\uD83C\uDFFF","\uD83E\uDEC5\uD83C\uDFFB","\uD83E\uDEC5\uD83C\uDFFC","\uD83E\uDEC5\uD83C\uDFFD","\uD83E\uDEC5\uD83C\uDFFE","\uD83E\uDEC5\uD83C\uDFFF","\uD83E\uDEF0\uD83C\uDFFB","\uD83E\uDEF0\uD83C\uDFFC","\uD83E\uDEF0\uD83C\uDFFD","\uD83E\uDEF0\uD83C\uDFFE","\uD83E\uDEF0\uD83C\uDFFF","\uD83E\uDEF1\uD83C\uDFFB","\uD83E\uDEF1\uD83C\uDFFB\u200D\uD83E\uDEF2\uD83C\uDFFC","\uD83E\uDEF1\uD83C\uDFFB\u200D\uD83E\uDEF2\uD83C\uDFFD","\uD83E\uDEF1\uD83C\uDFFB\u200D\uD83E\uDEF2\uD83C\uDFFE","\uD83E\uDEF1\uD83C\uDFFB\u200D\uD83E\uDEF2\uD83C\uDFFF","\uD83E\uDEF1\uD83C\uDFFC","\uD83E\uDEF1\uD83C\uDFFC\u200D\uD83E\uDEF2\uD83C\uDFFB","\uD83E\uDEF1\uD83C\uDFFC\u200D\uD83E\uDEF2\uD83C\uDFFD","\uD83E\uDEF1\uD83C\uDFFC\u200D\uD83E\uDEF2\uD83C\uDFFE","\uD83E\uDEF1\uD83C\uDFFC\u200D\uD83E\uDEF2\uD83C\uDFFF","\uD83E\uDEF1\uD83C\uDFFD","\uD83E\uDEF1\uD83C\uDFFD\u200D\uD83E\uDEF2\uD83C\uDFFB","\uD83E\uDEF1\uD83C\uDFFD\u200D\uD83E\uDEF2\uD83C\uDFFC","\uD83E\uDEF1\uD83C\uDFFD\u200D\uD83E\uDEF2\uD83C\uDFFE","\uD83E\uDEF1\uD83C\uDFFD\u200D\uD83E\uDEF2\uD83C\uDFFF","\uD83E\uDEF1\uD83C\uDFFE","\uD83E\uDEF1\uD83C\uDFFE\u200D\uD83E\uDEF2\uD83C\uDFFB","\uD83E\uDEF1\uD83C\uDFFE\u200D\uD83E\uDEF2\uD83C\uDFFC","\uD83E\uDEF1\uD83C\uDFFE\u200D\uD83E\uDEF2\uD83C\uDFFD","\uD83E\uDEF1\uD83C\uDFFE\u200D\uD83E\uDEF2\uD83C\uDFFF","\uD83E\uDEF1\uD83C\uDFFF","\uD83E\uDEF1\uD83C\uDFFF\u200D\uD83E\uDEF2\uD83C\uDFFB","\uD83E\uDEF1\uD83C\uDFFF\u200D\uD83E\uDEF2\uD83C\uDFFC","\uD83E\uDEF1\uD83C\uDFFF\u200D\uD83E\uDEF2\uD83C\uDFFD","\uD83E\uDEF1\uD83C\uDFFF\u200D\uD83E\uDEF2\uD83C\uDFFE","\uD83E\uDEF2\uD83C\uDFFB","\uD83E\uDEF2\uD83C\uDFFC","\uD83E\uDEF2\uD83C\uDFFD","\uD83E\uDEF2\uD83C\uDFFE","\uD83E\uDEF2\uD83C\uDFFF","\uD83E\uDEF3\uD83C\uDFFB","\uD83E\uDEF3\uD83C\uDFFC","\uD83E\uDEF3\uD83C\uDFFD","\uD83E\uDEF3\uD83C\uDFFE","\uD83E\uDEF3\uD83C\uDFFF","\uD83E\uDEF4\uD83C\uDFFB","\uD83E\uDEF4\uD83C\uDFFC","\uD83E\uDEF4\uD83C\uDFFD","\uD83E\uDEF4\uD83C\uDFFE","\uD83E\uDEF4\uD83C\uDFFF","\uD83E\uDEF5\uD83C\uDFFB","\uD83E\uDEF5\uD83C\uDFFC","\uD83E\uDEF5\uD83C\uDFFD","\uD83E\uDEF5\uD83C\uDFFE","\uD83E\uDEF5\uD83C\uDFFF","\uD83E\uDEF6\uD83C\uDFFB","\uD83E\uDEF6\uD83C\uDFFC","\uD83E\uDEF6\uD83C\uDFFD","\uD83E\uDEF6\uD83C\uDFFE","\uD83E\uDEF6\uD83C\uDFFF","\uD83E\uDEF7\uD83C\uDFFB","\uD83E\uDEF7\uD83C\uDFFC","\uD83E\uDEF7\uD83C\uDFFD","\uD83E\uDEF7\uD83C\uDFFE","\uD83E\uDEF7\uD83C\uDFFF","\uD83E\uDEF8\uD83C\uDFFB","\uD83E\uDEF8\uD83C\uDFFC","\uD83E\uDEF8\uD83C\uDFFD","\uD83E\uDEF8\uD83C\uDFFE","\uD83E\uDEF8\uD83C\uDFFF"];return RGI_Emoji;}var Adlam$1={};var hasRequiredAdlam$1;function requireAdlam$1(){if(hasRequiredAdlam$1)return Adlam$1;hasRequiredAdlam$1=1;var set=regenerateExports(0x61F,0x640);set.addRange(0x1E900,0x1E94B).addRange(0x1E950,0x1E959).addRange(0x1E95E,0x1E95F);Adlam$1.characters=set;return Adlam$1;}var Ahom$1={};var hasRequiredAhom$1;function requireAhom$1(){if(hasRequiredAhom$1)return Ahom$1;hasRequiredAhom$1=1;var set=regenerateExports();set.addRange(0x11700,0x1171A).addRange(0x1171D,0x1172B).addRange(0x11730,0x11746);Ahom$1.characters=set;return Ahom$1;}var Anatolian_Hieroglyphs$1={};var hasRequiredAnatolian_Hieroglyphs$1;function requireAnatolian_Hieroglyphs$1(){if(hasRequiredAnatolian_Hieroglyphs$1)return Anatolian_Hieroglyphs$1;hasRequiredAnatolian_Hieroglyphs$1=1;var set=regenerateExports();set.addRange(0x14400,0x14646);Anatolian_Hieroglyphs$1.characters=set;return Anatolian_Hieroglyphs$1;}var Arabic$1={};var hasRequiredArabic$1;function requireArabic$1(){if(hasRequiredArabic$1)return Arabic$1;hasRequiredArabic$1=1;var set=regenerateExports(0xFDCF,0x1EE24,0x1EE27,0x1EE39,0x1EE3B,0x1EE42,0x1EE47,0x1EE49,0x1EE4B,0x1EE54,0x1EE57,0x1EE59,0x1EE5B,0x1EE5D,0x1EE5F,0x1EE64,0x1EE7E);set.addRange(0x600,0x604).addRange(0x606,0x6DC).addRange(0x6DE,0x6FF).addRange(0x750,0x77F).addRange(0x870,0x88E).addRange(0x890,0x891).addRange(0x898,0x8E1).addRange(0x8E3,0x8FF).addRange(0xFB50,0xFBC2).addRange(0xFBD3,0xFD8F).addRange(0xFD92,0xFDC7).addRange(0xFDF0,0xFDFF).addRange(0xFE70,0xFE74).addRange(0xFE76,0xFEFC).addRange(0x102E0,0x102FB).addRange(0x10E60,0x10E7E).addRange(0x10EFD,0x10EFF).addRange(0x1EE00,0x1EE03).addRange(0x1EE05,0x1EE1F).addRange(0x1EE21,0x1EE22).addRange(0x1EE29,0x1EE32).addRange(0x1EE34,0x1EE37).addRange(0x1EE4D,0x1EE4F).addRange(0x1EE51,0x1EE52).addRange(0x1EE61,0x1EE62).addRange(0x1EE67,0x1EE6A).addRange(0x1EE6C,0x1EE72).addRange(0x1EE74,0x1EE77).addRange(0x1EE79,0x1EE7C).addRange(0x1EE80,0x1EE89).addRange(0x1EE8B,0x1EE9B).addRange(0x1EEA1,0x1EEA3).addRange(0x1EEA5,0x1EEA9).addRange(0x1EEAB,0x1EEBB).addRange(0x1EEF0,0x1EEF1);Arabic$1.characters=set;return Arabic$1;}var Armenian$1={};var hasRequiredArmenian$1;function requireArmenian$1(){if(hasRequiredArmenian$1)return Armenian$1;hasRequiredArmenian$1=1;var set=regenerateExports();set.addRange(0x531,0x556).addRange(0x559,0x58A).addRange(0x58D,0x58F).addRange(0xFB13,0xFB17);Armenian$1.characters=set;return Armenian$1;}var Avestan$1={};var hasRequiredAvestan$1;function requireAvestan$1(){if(hasRequiredAvestan$1)return Avestan$1;hasRequiredAvestan$1=1;var set=regenerateExports();set.addRange(0x10B00,0x10B35).addRange(0x10B39,0x10B3F);Avestan$1.characters=set;return Avestan$1;}var Balinese$1={};var hasRequiredBalinese$1;function requireBalinese$1(){if(hasRequiredBalinese$1)return Balinese$1;hasRequiredBalinese$1=1;var set=regenerateExports();set.addRange(0x1B00,0x1B4C).addRange(0x1B50,0x1B7E);Balinese$1.characters=set;return Balinese$1;}var Bamum$1={};var hasRequiredBamum$1;function requireBamum$1(){if(hasRequiredBamum$1)return Bamum$1;hasRequiredBamum$1=1;var set=regenerateExports();set.addRange(0xA6A0,0xA6F7).addRange(0x16800,0x16A38);Bamum$1.characters=set;return Bamum$1;}var Bassa_Vah$1={};var hasRequiredBassa_Vah$1;function requireBassa_Vah$1(){if(hasRequiredBassa_Vah$1)return Bassa_Vah$1;hasRequiredBassa_Vah$1=1;var set=regenerateExports();set.addRange(0x16AD0,0x16AED).addRange(0x16AF0,0x16AF5);Bassa_Vah$1.characters=set;return Bassa_Vah$1;}var Batak$1={};var hasRequiredBatak$1;function requireBatak$1(){if(hasRequiredBatak$1)return Batak$1;hasRequiredBatak$1=1;var set=regenerateExports();set.addRange(0x1BC0,0x1BF3).addRange(0x1BFC,0x1BFF);Batak$1.characters=set;return Batak$1;}var Bengali$1={};var hasRequiredBengali$1;function requireBengali$1(){if(hasRequiredBengali$1)return Bengali$1;hasRequiredBengali$1=1;var set=regenerateExports(0x9B2,0x9D7,0x1CD0,0x1CD2,0x1CD8,0x1CE1,0x1CEA,0x1CED,0x1CF2,0xA8F1);set.addRange(0x951,0x952).addRange(0x964,0x965).addRange(0x980,0x983).addRange(0x985,0x98C).addRange(0x98F,0x990).addRange(0x993,0x9A8).addRange(0x9AA,0x9B0).addRange(0x9B6,0x9B9).addRange(0x9BC,0x9C4).addRange(0x9C7,0x9C8).addRange(0x9CB,0x9CE).addRange(0x9DC,0x9DD).addRange(0x9DF,0x9E3).addRange(0x9E6,0x9FE).addRange(0x1CD5,0x1CD6).addRange(0x1CF5,0x1CF7);Bengali$1.characters=set;return Bengali$1;}var Bhaiksuki$1={};var hasRequiredBhaiksuki$1;function requireBhaiksuki$1(){if(hasRequiredBhaiksuki$1)return Bhaiksuki$1;hasRequiredBhaiksuki$1=1;var set=regenerateExports();set.addRange(0x11C00,0x11C08).addRange(0x11C0A,0x11C36).addRange(0x11C38,0x11C45).addRange(0x11C50,0x11C6C);Bhaiksuki$1.characters=set;return Bhaiksuki$1;}var Bopomofo$1={};var hasRequiredBopomofo$1;function requireBopomofo$1(){if(hasRequiredBopomofo$1)return Bopomofo$1;hasRequiredBopomofo$1=1;var set=regenerateExports(0x3030,0x3037,0x30FB);set.addRange(0x2EA,0x2EB).addRange(0x3001,0x3003).addRange(0x3008,0x3011).addRange(0x3013,0x301F).addRange(0x302A,0x302D).addRange(0x3105,0x312F).addRange(0x31A0,0x31BF).addRange(0xFE45,0xFE46).addRange(0xFF61,0xFF65);Bopomofo$1.characters=set;return Bopomofo$1;}var Brahmi$1={};var hasRequiredBrahmi$1;function requireBrahmi$1(){if(hasRequiredBrahmi$1)return Brahmi$1;hasRequiredBrahmi$1=1;var set=regenerateExports(0x1107F);set.addRange(0x11000,0x1104D).addRange(0x11052,0x11075);Brahmi$1.characters=set;return Brahmi$1;}var Braille$1={};var hasRequiredBraille$1;function requireBraille$1(){if(hasRequiredBraille$1)return Braille$1;hasRequiredBraille$1=1;var set=regenerateExports();set.addRange(0x2800,0x28FF);Braille$1.characters=set;return Braille$1;}var Buginese$1={};var hasRequiredBuginese$1;function requireBuginese$1(){if(hasRequiredBuginese$1)return Buginese$1;hasRequiredBuginese$1=1;var set=regenerateExports(0xA9CF);set.addRange(0x1A00,0x1A1B).addRange(0x1A1E,0x1A1F);Buginese$1.characters=set;return Buginese$1;}var Buhid$1={};var hasRequiredBuhid$1;function requireBuhid$1(){if(hasRequiredBuhid$1)return Buhid$1;hasRequiredBuhid$1=1;var set=regenerateExports();set.addRange(0x1735,0x1736).addRange(0x1740,0x1753);Buhid$1.characters=set;return Buhid$1;}var Canadian_Aboriginal$1={};var hasRequiredCanadian_Aboriginal$1;function requireCanadian_Aboriginal$1(){if(hasRequiredCanadian_Aboriginal$1)return Canadian_Aboriginal$1;hasRequiredCanadian_Aboriginal$1=1;var set=regenerateExports();set.addRange(0x1400,0x167F).addRange(0x18B0,0x18F5).addRange(0x11AB0,0x11ABF);Canadian_Aboriginal$1.characters=set;return Canadian_Aboriginal$1;}var Carian$1={};var hasRequiredCarian$1;function requireCarian$1(){if(hasRequiredCarian$1)return Carian$1;hasRequiredCarian$1=1;var set=regenerateExports();set.addRange(0x102A0,0x102D0);Carian$1.characters=set;return Carian$1;}var Caucasian_Albanian$1={};var hasRequiredCaucasian_Albanian$1;function requireCaucasian_Albanian$1(){if(hasRequiredCaucasian_Albanian$1)return Caucasian_Albanian$1;hasRequiredCaucasian_Albanian$1=1;var set=regenerateExports(0x1056F);set.addRange(0x10530,0x10563);Caucasian_Albanian$1.characters=set;return Caucasian_Albanian$1;}var Chakma$1={};var hasRequiredChakma$1;function requireChakma$1(){if(hasRequiredChakma$1)return Chakma$1;hasRequiredChakma$1=1;var set=regenerateExports();set.addRange(0x9E6,0x9EF).addRange(0x1040,0x1049).addRange(0x11100,0x11134).addRange(0x11136,0x11147);Chakma$1.characters=set;return Chakma$1;}var Cham$1={};var hasRequiredCham$1;function requireCham$1(){if(hasRequiredCham$1)return Cham$1;hasRequiredCham$1=1;var set=regenerateExports();set.addRange(0xAA00,0xAA36).addRange(0xAA40,0xAA4D).addRange(0xAA50,0xAA59).addRange(0xAA5C,0xAA5F);Cham$1.characters=set;return Cham$1;}var Cherokee$1={};var hasRequiredCherokee$1;function requireCherokee$1(){if(hasRequiredCherokee$1)return Cherokee$1;hasRequiredCherokee$1=1;var set=regenerateExports();set.addRange(0x13A0,0x13F5).addRange(0x13F8,0x13FD).addRange(0xAB70,0xABBF);Cherokee$1.characters=set;return Cherokee$1;}var Chorasmian$1={};var hasRequiredChorasmian$1;function requireChorasmian$1(){if(hasRequiredChorasmian$1)return Chorasmian$1;hasRequiredChorasmian$1=1;var set=regenerateExports();set.addRange(0x10FB0,0x10FCB);Chorasmian$1.characters=set;return Chorasmian$1;}var Common$1={};var hasRequiredCommon$1;function requireCommon$1(){if(hasRequiredCommon$1)return Common$1;hasRequiredCommon$1=1;var set=regenerateExports(0xD7,0xF7,0x374,0x37E,0x385,0x387,0x605,0x6DD,0x8E2,0xE3F,0x3004,0x3012,0x3020,0x3036,0x31EF,0x327F,0x33FF,0xAB5B,0xFEFF,0x1D4A2,0x1D4BB,0x1D546,0x1F7F0,0xE0001);set.addRange(0x0,0x40).addRange(0x5B,0x60).addRange(0x7B,0xA9).addRange(0xAB,0xB9).addRange(0xBB,0xBF).addRange(0x2B9,0x2DF).addRange(0x2E5,0x2E9).addRange(0x2EC,0x2FF).addRange(0xFD5,0xFD8).addRange(0x16EB,0x16ED).addRange(0x2000,0x200B).addRange(0x200E,0x202E).addRange(0x2030,0x2064).addRange(0x2066,0x2070).addRange(0x2074,0x207E).addRange(0x2080,0x208E).addRange(0x20A0,0x20C0).addRange(0x2100,0x2125).addRange(0x2127,0x2129).addRange(0x212C,0x2131).addRange(0x2133,0x214D).addRange(0x214F,0x215F).addRange(0x2189,0x218B).addRange(0x2190,0x2426).addRange(0x2440,0x244A).addRange(0x2460,0x27FF).addRange(0x2900,0x2B73).addRange(0x2B76,0x2B95).addRange(0x2B97,0x2BFF).addRange(0x2E00,0x2E42).addRange(0x2E44,0x2E5D).addRange(0x2FF0,0x3000).addRange(0x3248,0x325F).addRange(0x32B1,0x32BF).addRange(0x32CC,0x32CF).addRange(0x3371,0x337A).addRange(0x3380,0x33DF).addRange(0x4DC0,0x4DFF).addRange(0xA708,0xA721).addRange(0xA788,0xA78A).addRange(0xAB6A,0xAB6B).addRange(0xFE10,0xFE19).addRange(0xFE30,0xFE44).addRange(0xFE47,0xFE52).addRange(0xFE54,0xFE66).addRange(0xFE68,0xFE6B).addRange(0xFF01,0xFF20).addRange(0xFF3B,0xFF40).addRange(0xFF5B,0xFF60).addRange(0xFFE0,0xFFE6).addRange(0xFFE8,0xFFEE);set.addRange(0xFFF9,0xFFFD).addRange(0x10190,0x1019C).addRange(0x101D0,0x101FC).addRange(0x1CF50,0x1CFC3).addRange(0x1D000,0x1D0F5).addRange(0x1D100,0x1D126).addRange(0x1D129,0x1D166).addRange(0x1D16A,0x1D17A).addRange(0x1D183,0x1D184).addRange(0x1D18C,0x1D1A9).addRange(0x1D1AE,0x1D1EA).addRange(0x1D2C0,0x1D2D3).addRange(0x1D2E0,0x1D2F3).addRange(0x1D300,0x1D356).addRange(0x1D372,0x1D378).addRange(0x1D400,0x1D454).addRange(0x1D456,0x1D49C).addRange(0x1D49E,0x1D49F).addRange(0x1D4A5,0x1D4A6).addRange(0x1D4A9,0x1D4AC).addRange(0x1D4AE,0x1D4B9).addRange(0x1D4BD,0x1D4C3).addRange(0x1D4C5,0x1D505).addRange(0x1D507,0x1D50A).addRange(0x1D50D,0x1D514).addRange(0x1D516,0x1D51C).addRange(0x1D51E,0x1D539).addRange(0x1D53B,0x1D53E).addRange(0x1D540,0x1D544).addRange(0x1D54A,0x1D550).addRange(0x1D552,0x1D6A5).addRange(0x1D6A8,0x1D7CB).addRange(0x1D7CE,0x1D7FF).addRange(0x1EC71,0x1ECB4).addRange(0x1ED01,0x1ED3D).addRange(0x1F000,0x1F02B).addRange(0x1F030,0x1F093).addRange(0x1F0A0,0x1F0AE).addRange(0x1F0B1,0x1F0BF).addRange(0x1F0C1,0x1F0CF).addRange(0x1F0D1,0x1F0F5).addRange(0x1F100,0x1F1AD).addRange(0x1F1E6,0x1F1FF).addRange(0x1F201,0x1F202).addRange(0x1F210,0x1F23B).addRange(0x1F240,0x1F248).addRange(0x1F260,0x1F265).addRange(0x1F300,0x1F6D7).addRange(0x1F6DC,0x1F6EC).addRange(0x1F6F0,0x1F6FC).addRange(0x1F700,0x1F776);set.addRange(0x1F77B,0x1F7D9).addRange(0x1F7E0,0x1F7EB).addRange(0x1F800,0x1F80B).addRange(0x1F810,0x1F847).addRange(0x1F850,0x1F859).addRange(0x1F860,0x1F887).addRange(0x1F890,0x1F8AD).addRange(0x1F8B0,0x1F8B1).addRange(0x1F900,0x1FA53).addRange(0x1FA60,0x1FA6D).addRange(0x1FA70,0x1FA7C).addRange(0x1FA80,0x1FA88).addRange(0x1FA90,0x1FABD).addRange(0x1FABF,0x1FAC5).addRange(0x1FACE,0x1FADB).addRange(0x1FAE0,0x1FAE8).addRange(0x1FAF0,0x1FAF8).addRange(0x1FB00,0x1FB92).addRange(0x1FB94,0x1FBCA).addRange(0x1FBF0,0x1FBF9).addRange(0xE0020,0xE007F);Common$1.characters=set;return Common$1;}var Coptic$1={};var hasRequiredCoptic$1;function requireCoptic$1(){if(hasRequiredCoptic$1)return Coptic$1;hasRequiredCoptic$1=1;var set=regenerateExports();set.addRange(0x3E2,0x3EF).addRange(0x2C80,0x2CF3).addRange(0x2CF9,0x2CFF).addRange(0x102E0,0x102FB);Coptic$1.characters=set;return Coptic$1;}var Cuneiform$1={};var hasRequiredCuneiform$1;function requireCuneiform$1(){if(hasRequiredCuneiform$1)return Cuneiform$1;hasRequiredCuneiform$1=1;var set=regenerateExports();set.addRange(0x12000,0x12399).addRange(0x12400,0x1246E).addRange(0x12470,0x12474).addRange(0x12480,0x12543);Cuneiform$1.characters=set;return Cuneiform$1;}var Cypriot$1={};var hasRequiredCypriot$1;function requireCypriot$1(){if(hasRequiredCypriot$1)return Cypriot$1;hasRequiredCypriot$1=1;var set=regenerateExports(0x10808,0x1083C,0x1083F);set.addRange(0x10100,0x10102).addRange(0x10107,0x10133).addRange(0x10137,0x1013F).addRange(0x10800,0x10805).addRange(0x1080A,0x10835).addRange(0x10837,0x10838);Cypriot$1.characters=set;return Cypriot$1;}var Cypro_Minoan$1={};var hasRequiredCypro_Minoan$1;function requireCypro_Minoan$1(){if(hasRequiredCypro_Minoan$1)return Cypro_Minoan$1;hasRequiredCypro_Minoan$1=1;var set=regenerateExports();set.addRange(0x10100,0x10101).addRange(0x12F90,0x12FF2);Cypro_Minoan$1.characters=set;return Cypro_Minoan$1;}var Cyrillic$1={};var hasRequiredCyrillic$1;function requireCyrillic$1(){if(hasRequiredCyrillic$1)return Cyrillic$1;hasRequiredCyrillic$1=1;var set=regenerateExports(0x1D2B,0x1D78,0x1DF8,0x2E43,0x1E08F);set.addRange(0x400,0x52F).addRange(0x1C80,0x1C88).addRange(0x2DE0,0x2DFF).addRange(0xA640,0xA69F).addRange(0xFE2E,0xFE2F).addRange(0x1E030,0x1E06D);Cyrillic$1.characters=set;return Cyrillic$1;}var Deseret$1={};var hasRequiredDeseret$1;function requireDeseret$1(){if(hasRequiredDeseret$1)return Deseret$1;hasRequiredDeseret$1=1;var set=regenerateExports();set.addRange(0x10400,0x1044F);Deseret$1.characters=set;return Deseret$1;}var Devanagari$1={};var hasRequiredDevanagari$1;function requireDevanagari$1(){if(hasRequiredDevanagari$1)return Devanagari$1;hasRequiredDevanagari$1=1;var set=regenerateExports(0x20F0);set.addRange(0x900,0x952).addRange(0x955,0x97F).addRange(0x1CD0,0x1CF6).addRange(0x1CF8,0x1CF9).addRange(0xA830,0xA839).addRange(0xA8E0,0xA8FF).addRange(0x11B00,0x11B09);Devanagari$1.characters=set;return Devanagari$1;}var Dives_Akuru$1={};var hasRequiredDives_Akuru$1;function requireDives_Akuru$1(){if(hasRequiredDives_Akuru$1)return Dives_Akuru$1;hasRequiredDives_Akuru$1=1;var set=regenerateExports(0x11909);set.addRange(0x11900,0x11906).addRange(0x1190C,0x11913).addRange(0x11915,0x11916).addRange(0x11918,0x11935).addRange(0x11937,0x11938).addRange(0x1193B,0x11946).addRange(0x11950,0x11959);Dives_Akuru$1.characters=set;return Dives_Akuru$1;}var Dogra$1={};var hasRequiredDogra$1;function requireDogra$1(){if(hasRequiredDogra$1)return Dogra$1;hasRequiredDogra$1=1;var set=regenerateExports();set.addRange(0x964,0x96F).addRange(0xA830,0xA839).addRange(0x11800,0x1183B);Dogra$1.characters=set;return Dogra$1;}var Duployan$1={};var hasRequiredDuployan$1;function requireDuployan$1(){if(hasRequiredDuployan$1)return Duployan$1;hasRequiredDuployan$1=1;var set=regenerateExports();set.addRange(0x1BC00,0x1BC6A).addRange(0x1BC70,0x1BC7C).addRange(0x1BC80,0x1BC88).addRange(0x1BC90,0x1BC99).addRange(0x1BC9C,0x1BCA3);Duployan$1.characters=set;return Duployan$1;}var Egyptian_Hieroglyphs$1={};var hasRequiredEgyptian_Hieroglyphs$1;function requireEgyptian_Hieroglyphs$1(){if(hasRequiredEgyptian_Hieroglyphs$1)return Egyptian_Hieroglyphs$1;hasRequiredEgyptian_Hieroglyphs$1=1;var set=regenerateExports();set.addRange(0x13000,0x13455);Egyptian_Hieroglyphs$1.characters=set;return Egyptian_Hieroglyphs$1;}var Elbasan$1={};var hasRequiredElbasan$1;function requireElbasan$1(){if(hasRequiredElbasan$1)return Elbasan$1;hasRequiredElbasan$1=1;var set=regenerateExports();set.addRange(0x10500,0x10527);Elbasan$1.characters=set;return Elbasan$1;}var Elymaic$1={};var hasRequiredElymaic$1;function requireElymaic$1(){if(hasRequiredElymaic$1)return Elymaic$1;hasRequiredElymaic$1=1;var set=regenerateExports();set.addRange(0x10FE0,0x10FF6);Elymaic$1.characters=set;return Elymaic$1;}var Ethiopic$1={};var hasRequiredEthiopic$1;function requireEthiopic$1(){if(hasRequiredEthiopic$1)return Ethiopic$1;hasRequiredEthiopic$1=1;var set=regenerateExports(0x1258,0x12C0);set.addRange(0x1200,0x1248).addRange(0x124A,0x124D).addRange(0x1250,0x1256).addRange(0x125A,0x125D).addRange(0x1260,0x1288).addRange(0x128A,0x128D).addRange(0x1290,0x12B0).addRange(0x12B2,0x12B5).addRange(0x12B8,0x12BE).addRange(0x12C2,0x12C5).addRange(0x12C8,0x12D6).addRange(0x12D8,0x1310).addRange(0x1312,0x1315).addRange(0x1318,0x135A).addRange(0x135D,0x137C).addRange(0x1380,0x1399).addRange(0x2D80,0x2D96).addRange(0x2DA0,0x2DA6).addRange(0x2DA8,0x2DAE).addRange(0x2DB0,0x2DB6).addRange(0x2DB8,0x2DBE).addRange(0x2DC0,0x2DC6).addRange(0x2DC8,0x2DCE).addRange(0x2DD0,0x2DD6).addRange(0x2DD8,0x2DDE).addRange(0xAB01,0xAB06).addRange(0xAB09,0xAB0E).addRange(0xAB11,0xAB16).addRange(0xAB20,0xAB26).addRange(0xAB28,0xAB2E).addRange(0x1E7E0,0x1E7E6).addRange(0x1E7E8,0x1E7EB).addRange(0x1E7ED,0x1E7EE).addRange(0x1E7F0,0x1E7FE);Ethiopic$1.characters=set;return Ethiopic$1;}var Georgian$1={};var hasRequiredGeorgian$1;function requireGeorgian$1(){if(hasRequiredGeorgian$1)return Georgian$1;hasRequiredGeorgian$1=1;var set=regenerateExports(0x10C7,0x10CD,0x2D27,0x2D2D);set.addRange(0x10A0,0x10C5).addRange(0x10D0,0x10FF).addRange(0x1C90,0x1CBA).addRange(0x1CBD,0x1CBF).addRange(0x2D00,0x2D25);Georgian$1.characters=set;return Georgian$1;}var Glagolitic$1={};var hasRequiredGlagolitic$1;function requireGlagolitic$1(){if(hasRequiredGlagolitic$1)return Glagolitic$1;hasRequiredGlagolitic$1=1;var set=regenerateExports(0x484,0x487,0x2E43,0xA66F);set.addRange(0x2C00,0x2C5F).addRange(0x1E000,0x1E006).addRange(0x1E008,0x1E018).addRange(0x1E01B,0x1E021).addRange(0x1E023,0x1E024).addRange(0x1E026,0x1E02A);Glagolitic$1.characters=set;return Glagolitic$1;}var Gothic$1={};var hasRequiredGothic$1;function requireGothic$1(){if(hasRequiredGothic$1)return Gothic$1;hasRequiredGothic$1=1;var set=regenerateExports();set.addRange(0x10330,0x1034A);Gothic$1.characters=set;return Gothic$1;}var Grantha$1={};var hasRequiredGrantha$1;function requireGrantha$1(){if(hasRequiredGrantha$1)return Grantha$1;hasRequiredGrantha$1=1;var set=regenerateExports(0x1CD0,0x20F0,0x11350,0x11357,0x11FD3);set.addRange(0x951,0x952).addRange(0x964,0x965).addRange(0xBE6,0xBF3).addRange(0x1CD2,0x1CD3).addRange(0x1CF2,0x1CF4).addRange(0x1CF8,0x1CF9).addRange(0x11300,0x11303).addRange(0x11305,0x1130C).addRange(0x1130F,0x11310).addRange(0x11313,0x11328).addRange(0x1132A,0x11330).addRange(0x11332,0x11333).addRange(0x11335,0x11339).addRange(0x1133B,0x11344).addRange(0x11347,0x11348).addRange(0x1134B,0x1134D).addRange(0x1135D,0x11363).addRange(0x11366,0x1136C).addRange(0x11370,0x11374).addRange(0x11FD0,0x11FD1);Grantha$1.characters=set;return Grantha$1;}var Greek$1={};var hasRequiredGreek$1;function requireGreek$1(){if(hasRequiredGreek$1)return Greek$1;hasRequiredGreek$1=1;var set=regenerateExports(0x342,0x345,0x37F,0x384,0x386,0x38C,0x1F59,0x1F5B,0x1F5D,0x2126,0xAB65,0x101A0);set.addRange(0x370,0x373).addRange(0x375,0x377).addRange(0x37A,0x37D).addRange(0x388,0x38A).addRange(0x38E,0x3A1).addRange(0x3A3,0x3E1).addRange(0x3F0,0x3FF).addRange(0x1D26,0x1D2A).addRange(0x1D5D,0x1D61).addRange(0x1D66,0x1D6A).addRange(0x1DBF,0x1DC1).addRange(0x1F00,0x1F15).addRange(0x1F18,0x1F1D).addRange(0x1F20,0x1F45).addRange(0x1F48,0x1F4D).addRange(0x1F50,0x1F57).addRange(0x1F5F,0x1F7D).addRange(0x1F80,0x1FB4).addRange(0x1FB6,0x1FC4).addRange(0x1FC6,0x1FD3).addRange(0x1FD6,0x1FDB).addRange(0x1FDD,0x1FEF).addRange(0x1FF2,0x1FF4).addRange(0x1FF6,0x1FFE).addRange(0x10140,0x1018E).addRange(0x1D200,0x1D245);Greek$1.characters=set;return Greek$1;}var Gujarati$1={};var hasRequiredGujarati$1;function requireGujarati$1(){if(hasRequiredGujarati$1)return Gujarati$1;hasRequiredGujarati$1=1;var set=regenerateExports(0xAD0);set.addRange(0x951,0x952).addRange(0x964,0x965).addRange(0xA81,0xA83).addRange(0xA85,0xA8D).addRange(0xA8F,0xA91).addRange(0xA93,0xAA8).addRange(0xAAA,0xAB0).addRange(0xAB2,0xAB3).addRange(0xAB5,0xAB9).addRange(0xABC,0xAC5).addRange(0xAC7,0xAC9).addRange(0xACB,0xACD).addRange(0xAE0,0xAE3).addRange(0xAE6,0xAF1).addRange(0xAF9,0xAFF).addRange(0xA830,0xA839);Gujarati$1.characters=set;return Gujarati$1;}var Gunjala_Gondi$1={};var hasRequiredGunjala_Gondi$1;function requireGunjala_Gondi$1(){if(hasRequiredGunjala_Gondi$1)return Gunjala_Gondi$1;hasRequiredGunjala_Gondi$1=1;var set=regenerateExports();set.addRange(0x964,0x965).addRange(0x11D60,0x11D65).addRange(0x11D67,0x11D68).addRange(0x11D6A,0x11D8E).addRange(0x11D90,0x11D91).addRange(0x11D93,0x11D98).addRange(0x11DA0,0x11DA9);Gunjala_Gondi$1.characters=set;return Gunjala_Gondi$1;}var Gurmukhi$1={};var hasRequiredGurmukhi$1;function requireGurmukhi$1(){if(hasRequiredGurmukhi$1)return Gurmukhi$1;hasRequiredGurmukhi$1=1;var set=regenerateExports(0xA3C,0xA51,0xA5E);set.addRange(0x951,0x952).addRange(0x964,0x965).addRange(0xA01,0xA03).addRange(0xA05,0xA0A).addRange(0xA0F,0xA10).addRange(0xA13,0xA28).addRange(0xA2A,0xA30).addRange(0xA32,0xA33).addRange(0xA35,0xA36).addRange(0xA38,0xA39).addRange(0xA3E,0xA42).addRange(0xA47,0xA48).addRange(0xA4B,0xA4D).addRange(0xA59,0xA5C).addRange(0xA66,0xA76).addRange(0xA830,0xA839);Gurmukhi$1.characters=set;return Gurmukhi$1;}var Han$1={};var hasRequiredHan$1;function requireHan$1(){if(hasRequiredHan$1)return Han$1;hasRequiredHan$1=1;var set=regenerateExports(0x3030,0x30FB,0x32FF);set.addRange(0x2E80,0x2E99).addRange(0x2E9B,0x2EF3).addRange(0x2F00,0x2FD5).addRange(0x3001,0x3003).addRange(0x3005,0x3011).addRange(0x3013,0x301F).addRange(0x3021,0x302D).addRange(0x3037,0x303F).addRange(0x3190,0x319F).addRange(0x31C0,0x31E3).addRange(0x3220,0x3247).addRange(0x3280,0x32B0).addRange(0x32C0,0x32CB).addRange(0x3358,0x3370).addRange(0x337B,0x337F).addRange(0x33E0,0x33FE).addRange(0x3400,0x4DBF).addRange(0x4E00,0x9FFF).addRange(0xA700,0xA707).addRange(0xF900,0xFA6D).addRange(0xFA70,0xFAD9).addRange(0xFE45,0xFE46).addRange(0xFF61,0xFF65).addRange(0x16FE2,0x16FE3).addRange(0x16FF0,0x16FF1).addRange(0x1D360,0x1D371).addRange(0x1F250,0x1F251).addRange(0x20000,0x2A6DF).addRange(0x2A700,0x2B739).addRange(0x2B740,0x2B81D).addRange(0x2B820,0x2CEA1).addRange(0x2CEB0,0x2EBE0).addRange(0x2EBF0,0x2EE5D).addRange(0x2F800,0x2FA1D).addRange(0x30000,0x3134A).addRange(0x31350,0x323AF);Han$1.characters=set;return Han$1;}var Hangul$1={};var hasRequiredHangul$1;function requireHangul$1(){if(hasRequiredHangul$1)return Hangul$1;hasRequiredHangul$1=1;var set=regenerateExports(0x3037,0x30FB);set.addRange(0x1100,0x11FF).addRange(0x3001,0x3003).addRange(0x3008,0x3011).addRange(0x3013,0x301F).addRange(0x302E,0x3030).addRange(0x3131,0x318E).addRange(0x3200,0x321E).addRange(0x3260,0x327E).addRange(0xA960,0xA97C).addRange(0xAC00,0xD7A3).addRange(0xD7B0,0xD7C6).addRange(0xD7CB,0xD7FB).addRange(0xFE45,0xFE46).addRange(0xFF61,0xFF65).addRange(0xFFA0,0xFFBE).addRange(0xFFC2,0xFFC7).addRange(0xFFCA,0xFFCF).addRange(0xFFD2,0xFFD7).addRange(0xFFDA,0xFFDC);Hangul$1.characters=set;return Hangul$1;}var Hanifi_Rohingya$1={};var hasRequiredHanifi_Rohingya$1;function requireHanifi_Rohingya$1(){if(hasRequiredHanifi_Rohingya$1)return Hanifi_Rohingya$1;hasRequiredHanifi_Rohingya$1=1;var set=regenerateExports(0x60C,0x61B,0x61F,0x640,0x6D4);set.addRange(0x10D00,0x10D27).addRange(0x10D30,0x10D39);Hanifi_Rohingya$1.characters=set;return Hanifi_Rohingya$1;}var Hanunoo$1={};var hasRequiredHanunoo$1;function requireHanunoo$1(){if(hasRequiredHanunoo$1)return Hanunoo$1;hasRequiredHanunoo$1=1;var set=regenerateExports();set.addRange(0x1720,0x1736);Hanunoo$1.characters=set;return Hanunoo$1;}var Hatran$1={};var hasRequiredHatran$1;function requireHatran$1(){if(hasRequiredHatran$1)return Hatran$1;hasRequiredHatran$1=1;var set=regenerateExports();set.addRange(0x108E0,0x108F2).addRange(0x108F4,0x108F5).addRange(0x108FB,0x108FF);Hatran$1.characters=set;return Hatran$1;}var Hebrew$1={};var hasRequiredHebrew$1;function requireHebrew$1(){if(hasRequiredHebrew$1)return Hebrew$1;hasRequiredHebrew$1=1;var set=regenerateExports(0xFB3E);set.addRange(0x591,0x5C7).addRange(0x5D0,0x5EA).addRange(0x5EF,0x5F4).addRange(0xFB1D,0xFB36).addRange(0xFB38,0xFB3C).addRange(0xFB40,0xFB41).addRange(0xFB43,0xFB44).addRange(0xFB46,0xFB4F);Hebrew$1.characters=set;return Hebrew$1;}var Hiragana$1={};var hasRequiredHiragana$1;function requireHiragana$1(){if(hasRequiredHiragana$1)return Hiragana$1;hasRequiredHiragana$1=1;var set=regenerateExports(0x3037,0xFF70,0x1B132,0x1F200);set.addRange(0x3001,0x3003).addRange(0x3008,0x3011).addRange(0x3013,0x301F).addRange(0x3030,0x3035).addRange(0x303C,0x303D).addRange(0x3041,0x3096).addRange(0x3099,0x30A0).addRange(0x30FB,0x30FC).addRange(0xFE45,0xFE46).addRange(0xFF61,0xFF65).addRange(0xFF9E,0xFF9F).addRange(0x1B001,0x1B11F).addRange(0x1B150,0x1B152);Hiragana$1.characters=set;return Hiragana$1;}var Imperial_Aramaic$1={};var hasRequiredImperial_Aramaic$1;function requireImperial_Aramaic$1(){if(hasRequiredImperial_Aramaic$1)return Imperial_Aramaic$1;hasRequiredImperial_Aramaic$1=1;var set=regenerateExports();set.addRange(0x10840,0x10855).addRange(0x10857,0x1085F);Imperial_Aramaic$1.characters=set;return Imperial_Aramaic$1;}var Inherited$1={};var hasRequiredInherited$1;function requireInherited$1(){if(hasRequiredInherited$1)return Inherited$1;hasRequiredInherited$1=1;var set=regenerateExports(0x1DF9,0x101FD);set.addRange(0x300,0x341).addRange(0x343,0x344).addRange(0x346,0x362).addRange(0x953,0x954).addRange(0x1AB0,0x1ACE).addRange(0x1DC2,0x1DF7).addRange(0x1DFB,0x1DFF).addRange(0x200C,0x200D).addRange(0x20D0,0x20EF).addRange(0xFE00,0xFE0F).addRange(0xFE20,0xFE2D).addRange(0x1CF00,0x1CF2D).addRange(0x1CF30,0x1CF46).addRange(0x1D167,0x1D169).addRange(0x1D17B,0x1D182).addRange(0x1D185,0x1D18B).addRange(0x1D1AA,0x1D1AD).addRange(0xE0100,0xE01EF);Inherited$1.characters=set;return Inherited$1;}var Inscriptional_Pahlavi$1={};var hasRequiredInscriptional_Pahlavi$1;function requireInscriptional_Pahlavi$1(){if(hasRequiredInscriptional_Pahlavi$1)return Inscriptional_Pahlavi$1;hasRequiredInscriptional_Pahlavi$1=1;var set=regenerateExports();set.addRange(0x10B60,0x10B72).addRange(0x10B78,0x10B7F);Inscriptional_Pahlavi$1.characters=set;return Inscriptional_Pahlavi$1;}var Inscriptional_Parthian$1={};var hasRequiredInscriptional_Parthian$1;function requireInscriptional_Parthian$1(){if(hasRequiredInscriptional_Parthian$1)return Inscriptional_Parthian$1;hasRequiredInscriptional_Parthian$1=1;var set=regenerateExports();set.addRange(0x10B40,0x10B55).addRange(0x10B58,0x10B5F);Inscriptional_Parthian$1.characters=set;return Inscriptional_Parthian$1;}var Javanese$1={};var hasRequiredJavanese$1;function requireJavanese$1(){if(hasRequiredJavanese$1)return Javanese$1;hasRequiredJavanese$1=1;var set=regenerateExports();set.addRange(0xA980,0xA9CD).addRange(0xA9CF,0xA9D9).addRange(0xA9DE,0xA9DF);Javanese$1.characters=set;return Javanese$1;}var Kaithi$1={};var hasRequiredKaithi$1;function requireKaithi$1(){if(hasRequiredKaithi$1)return Kaithi$1;hasRequiredKaithi$1=1;var set=regenerateExports(0x110CD);set.addRange(0x966,0x96F).addRange(0xA830,0xA839).addRange(0x11080,0x110C2);Kaithi$1.characters=set;return Kaithi$1;}var Kannada$1={};var hasRequiredKannada$1;function requireKannada$1(){if(hasRequiredKannada$1)return Kannada$1;hasRequiredKannada$1=1;var set=regenerateExports(0x1CD0,0x1CD2,0x1CDA,0x1CF2,0x1CF4);set.addRange(0x951,0x952).addRange(0x964,0x965).addRange(0xC80,0xC8C).addRange(0xC8E,0xC90).addRange(0xC92,0xCA8).addRange(0xCAA,0xCB3).addRange(0xCB5,0xCB9).addRange(0xCBC,0xCC4).addRange(0xCC6,0xCC8).addRange(0xCCA,0xCCD).addRange(0xCD5,0xCD6).addRange(0xCDD,0xCDE).addRange(0xCE0,0xCE3).addRange(0xCE6,0xCEF).addRange(0xCF1,0xCF3).addRange(0xA830,0xA835);Kannada$1.characters=set;return Kannada$1;}var Katakana$1={};var hasRequiredKatakana$1;function requireKatakana$1(){if(hasRequiredKatakana$1)return Katakana$1;hasRequiredKatakana$1=1;var set=regenerateExports(0x3037,0x1B000,0x1B155);set.addRange(0x3001,0x3003).addRange(0x3008,0x3011).addRange(0x3013,0x301F).addRange(0x3030,0x3035).addRange(0x303C,0x303D).addRange(0x3099,0x309C).addRange(0x30A0,0x30FF).addRange(0x31F0,0x31FF).addRange(0x32D0,0x32FE).addRange(0x3300,0x3357).addRange(0xFE45,0xFE46).addRange(0xFF61,0xFF9F).addRange(0x1AFF0,0x1AFF3).addRange(0x1AFF5,0x1AFFB).addRange(0x1AFFD,0x1AFFE).addRange(0x1B120,0x1B122).addRange(0x1B164,0x1B167);Katakana$1.characters=set;return Katakana$1;}var Kawi$1={};var hasRequiredKawi$1;function requireKawi$1(){if(hasRequiredKawi$1)return Kawi$1;hasRequiredKawi$1=1;var set=regenerateExports();set.addRange(0x11F00,0x11F10).addRange(0x11F12,0x11F3A).addRange(0x11F3E,0x11F59);Kawi$1.characters=set;return Kawi$1;}var Kayah_Li$1={};var hasRequiredKayah_Li$1;function requireKayah_Li$1(){if(hasRequiredKayah_Li$1)return Kayah_Li$1;hasRequiredKayah_Li$1=1;var set=regenerateExports();set.addRange(0xA900,0xA92F);Kayah_Li$1.characters=set;return Kayah_Li$1;}var Kharoshthi$1={};var hasRequiredKharoshthi$1;function requireKharoshthi$1(){if(hasRequiredKharoshthi$1)return Kharoshthi$1;hasRequiredKharoshthi$1=1;var set=regenerateExports();set.addRange(0x10A00,0x10A03).addRange(0x10A05,0x10A06).addRange(0x10A0C,0x10A13).addRange(0x10A15,0x10A17).addRange(0x10A19,0x10A35).addRange(0x10A38,0x10A3A).addRange(0x10A3F,0x10A48).addRange(0x10A50,0x10A58);Kharoshthi$1.characters=set;return Kharoshthi$1;}var Khitan_Small_Script$1={};var hasRequiredKhitan_Small_Script$1;function requireKhitan_Small_Script$1(){if(hasRequiredKhitan_Small_Script$1)return Khitan_Small_Script$1;hasRequiredKhitan_Small_Script$1=1;var set=regenerateExports(0x16FE4);set.addRange(0x18B00,0x18CD5);Khitan_Small_Script$1.characters=set;return Khitan_Small_Script$1;}var Khmer$1={};var hasRequiredKhmer$1;function requireKhmer$1(){if(hasRequiredKhmer$1)return Khmer$1;hasRequiredKhmer$1=1;var set=regenerateExports();set.addRange(0x1780,0x17DD).addRange(0x17E0,0x17E9).addRange(0x17F0,0x17F9).addRange(0x19E0,0x19FF);Khmer$1.characters=set;return Khmer$1;}var Khojki$1={};var hasRequiredKhojki$1;function requireKhojki$1(){if(hasRequiredKhojki$1)return Khojki$1;hasRequiredKhojki$1=1;var set=regenerateExports();set.addRange(0xAE6,0xAEF).addRange(0xA830,0xA839).addRange(0x11200,0x11211).addRange(0x11213,0x11241);Khojki$1.characters=set;return Khojki$1;}var Khudawadi$1={};var hasRequiredKhudawadi$1;function requireKhudawadi$1(){if(hasRequiredKhudawadi$1)return Khudawadi$1;hasRequiredKhudawadi$1=1;var set=regenerateExports();set.addRange(0x964,0x965).addRange(0xA830,0xA839).addRange(0x112B0,0x112EA).addRange(0x112F0,0x112F9);Khudawadi$1.characters=set;return Khudawadi$1;}var Lao$1={};var hasRequiredLao$1;function requireLao$1(){if(hasRequiredLao$1)return Lao$1;hasRequiredLao$1=1;var set=regenerateExports(0xE84,0xEA5,0xEC6);set.addRange(0xE81,0xE82).addRange(0xE86,0xE8A).addRange(0xE8C,0xEA3).addRange(0xEA7,0xEBD).addRange(0xEC0,0xEC4).addRange(0xEC8,0xECE).addRange(0xED0,0xED9).addRange(0xEDC,0xEDF);Lao$1.characters=set;return Lao$1;}var Latin$1={};var hasRequiredLatin$1;function requireLatin$1(){if(hasRequiredLatin$1)return Latin$1;hasRequiredLatin$1=1;var set=regenerateExports(0xAA,0xBA,0x10FB,0x202F,0x2071,0x207F,0x20F0,0x2132,0x214E,0xA7D3,0xA92E);set.addRange(0x41,0x5A).addRange(0x61,0x7A).addRange(0xC0,0xD6).addRange(0xD8,0xF6).addRange(0xF8,0x2B8).addRange(0x2E0,0x2E4).addRange(0x363,0x36F).addRange(0x485,0x486).addRange(0x951,0x952).addRange(0x1D00,0x1D25).addRange(0x1D2C,0x1D5C).addRange(0x1D62,0x1D65).addRange(0x1D6B,0x1D77).addRange(0x1D79,0x1DBE).addRange(0x1E00,0x1EFF).addRange(0x2090,0x209C).addRange(0x212A,0x212B).addRange(0x2160,0x2188).addRange(0x2C60,0x2C7F).addRange(0xA700,0xA707).addRange(0xA722,0xA787).addRange(0xA78B,0xA7CA).addRange(0xA7D0,0xA7D1).addRange(0xA7D5,0xA7D9).addRange(0xA7F2,0xA7FF).addRange(0xAB30,0xAB5A).addRange(0xAB5C,0xAB64).addRange(0xAB66,0xAB69).addRange(0xFB00,0xFB06).addRange(0xFF21,0xFF3A).addRange(0xFF41,0xFF5A).addRange(0x10780,0x10785).addRange(0x10787,0x107B0).addRange(0x107B2,0x107BA).addRange(0x1DF00,0x1DF1E).addRange(0x1DF25,0x1DF2A);Latin$1.characters=set;return Latin$1;}var Lepcha$1={};var hasRequiredLepcha$1;function requireLepcha$1(){if(hasRequiredLepcha$1)return Lepcha$1;hasRequiredLepcha$1=1;var set=regenerateExports();set.addRange(0x1C00,0x1C37).addRange(0x1C3B,0x1C49).addRange(0x1C4D,0x1C4F);Lepcha$1.characters=set;return Lepcha$1;}var Limbu$1={};var hasRequiredLimbu$1;function requireLimbu$1(){if(hasRequiredLimbu$1)return Limbu$1;hasRequiredLimbu$1=1;var set=regenerateExports(0x965,0x1940);set.addRange(0x1900,0x191E).addRange(0x1920,0x192B).addRange(0x1930,0x193B).addRange(0x1944,0x194F);Limbu$1.characters=set;return Limbu$1;}var Linear_A$1={};var hasRequiredLinear_A$1;function requireLinear_A$1(){if(hasRequiredLinear_A$1)return Linear_A$1;hasRequiredLinear_A$1=1;var set=regenerateExports();set.addRange(0x10107,0x10133).addRange(0x10600,0x10736).addRange(0x10740,0x10755).addRange(0x10760,0x10767);Linear_A$1.characters=set;return Linear_A$1;}var Linear_B$1={};var hasRequiredLinear_B$1;function requireLinear_B$1(){if(hasRequiredLinear_B$1)return Linear_B$1;hasRequiredLinear_B$1=1;var set=regenerateExports();set.addRange(0x10000,0x1000B).addRange(0x1000D,0x10026).addRange(0x10028,0x1003A).addRange(0x1003C,0x1003D).addRange(0x1003F,0x1004D).addRange(0x10050,0x1005D).addRange(0x10080,0x100FA).addRange(0x10100,0x10102).addRange(0x10107,0x10133).addRange(0x10137,0x1013F);Linear_B$1.characters=set;return Linear_B$1;}var Lisu$1={};var hasRequiredLisu$1;function requireLisu$1(){if(hasRequiredLisu$1)return Lisu$1;hasRequiredLisu$1=1;var set=regenerateExports(0x11FB0);set.addRange(0xA4D0,0xA4FF);Lisu$1.characters=set;return Lisu$1;}var Lycian$1={};var hasRequiredLycian$1;function requireLycian$1(){if(hasRequiredLycian$1)return Lycian$1;hasRequiredLycian$1=1;var set=regenerateExports();set.addRange(0x10280,0x1029C);Lycian$1.characters=set;return Lycian$1;}var Lydian$1={};var hasRequiredLydian$1;function requireLydian$1(){if(hasRequiredLydian$1)return Lydian$1;hasRequiredLydian$1=1;var set=regenerateExports(0x1093F);set.addRange(0x10920,0x10939);Lydian$1.characters=set;return Lydian$1;}var Mahajani$1={};var hasRequiredMahajani$1;function requireMahajani$1(){if(hasRequiredMahajani$1)return Mahajani$1;hasRequiredMahajani$1=1;var set=regenerateExports();set.addRange(0x964,0x96F).addRange(0xA830,0xA839).addRange(0x11150,0x11176);Mahajani$1.characters=set;return Mahajani$1;}var Makasar$1={};var hasRequiredMakasar$1;function requireMakasar$1(){if(hasRequiredMakasar$1)return Makasar$1;hasRequiredMakasar$1=1;var set=regenerateExports();set.addRange(0x11EE0,0x11EF8);Makasar$1.characters=set;return Makasar$1;}var Malayalam$1={};var hasRequiredMalayalam$1;function requireMalayalam$1(){if(hasRequiredMalayalam$1)return Malayalam$1;hasRequiredMalayalam$1=1;var set=regenerateExports(0x1CDA,0x1CF2);set.addRange(0x951,0x952).addRange(0x964,0x965).addRange(0xD00,0xD0C).addRange(0xD0E,0xD10).addRange(0xD12,0xD44).addRange(0xD46,0xD48).addRange(0xD4A,0xD4F).addRange(0xD54,0xD63).addRange(0xD66,0xD7F).addRange(0xA830,0xA832);Malayalam$1.characters=set;return Malayalam$1;}var Mandaic$1={};var hasRequiredMandaic$1;function requireMandaic$1(){if(hasRequiredMandaic$1)return Mandaic$1;hasRequiredMandaic$1=1;var set=regenerateExports(0x640,0x85E);set.addRange(0x840,0x85B);Mandaic$1.characters=set;return Mandaic$1;}var Manichaean$1={};var hasRequiredManichaean$1;function requireManichaean$1(){if(hasRequiredManichaean$1)return Manichaean$1;hasRequiredManichaean$1=1;var set=regenerateExports(0x640);set.addRange(0x10AC0,0x10AE6).addRange(0x10AEB,0x10AF6);Manichaean$1.characters=set;return Manichaean$1;}var Marchen$1={};var hasRequiredMarchen$1;function requireMarchen$1(){if(hasRequiredMarchen$1)return Marchen$1;hasRequiredMarchen$1=1;var set=regenerateExports();set.addRange(0x11C70,0x11C8F).addRange(0x11C92,0x11CA7).addRange(0x11CA9,0x11CB6);Marchen$1.characters=set;return Marchen$1;}var Masaram_Gondi$1={};var hasRequiredMasaram_Gondi$1;function requireMasaram_Gondi$1(){if(hasRequiredMasaram_Gondi$1)return Masaram_Gondi$1;hasRequiredMasaram_Gondi$1=1;var set=regenerateExports(0x11D3A);set.addRange(0x964,0x965).addRange(0x11D00,0x11D06).addRange(0x11D08,0x11D09).addRange(0x11D0B,0x11D36).addRange(0x11D3C,0x11D3D).addRange(0x11D3F,0x11D47).addRange(0x11D50,0x11D59);Masaram_Gondi$1.characters=set;return Masaram_Gondi$1;}var Medefaidrin$1={};var hasRequiredMedefaidrin$1;function requireMedefaidrin$1(){if(hasRequiredMedefaidrin$1)return Medefaidrin$1;hasRequiredMedefaidrin$1=1;var set=regenerateExports();set.addRange(0x16E40,0x16E9A);Medefaidrin$1.characters=set;return Medefaidrin$1;}var Meetei_Mayek$1={};var hasRequiredMeetei_Mayek$1;function requireMeetei_Mayek$1(){if(hasRequiredMeetei_Mayek$1)return Meetei_Mayek$1;hasRequiredMeetei_Mayek$1=1;var set=regenerateExports();set.addRange(0xAAE0,0xAAF6).addRange(0xABC0,0xABED).addRange(0xABF0,0xABF9);Meetei_Mayek$1.characters=set;return Meetei_Mayek$1;}var Mende_Kikakui$1={};var hasRequiredMende_Kikakui$1;function requireMende_Kikakui$1(){if(hasRequiredMende_Kikakui$1)return Mende_Kikakui$1;hasRequiredMende_Kikakui$1=1;var set=regenerateExports();set.addRange(0x1E800,0x1E8C4).addRange(0x1E8C7,0x1E8D6);Mende_Kikakui$1.characters=set;return Mende_Kikakui$1;}var Meroitic_Cursive$1={};var hasRequiredMeroitic_Cursive$1;function requireMeroitic_Cursive$1(){if(hasRequiredMeroitic_Cursive$1)return Meroitic_Cursive$1;hasRequiredMeroitic_Cursive$1=1;var set=regenerateExports();set.addRange(0x109A0,0x109B7).addRange(0x109BC,0x109CF).addRange(0x109D2,0x109FF);Meroitic_Cursive$1.characters=set;return Meroitic_Cursive$1;}var Meroitic_Hieroglyphs$1={};var hasRequiredMeroitic_Hieroglyphs$1;function requireMeroitic_Hieroglyphs$1(){if(hasRequiredMeroitic_Hieroglyphs$1)return Meroitic_Hieroglyphs$1;hasRequiredMeroitic_Hieroglyphs$1=1;var set=regenerateExports();set.addRange(0x10980,0x1099F);Meroitic_Hieroglyphs$1.characters=set;return Meroitic_Hieroglyphs$1;}var Miao$1={};var hasRequiredMiao$1;function requireMiao$1(){if(hasRequiredMiao$1)return Miao$1;hasRequiredMiao$1=1;var set=regenerateExports();set.addRange(0x16F00,0x16F4A).addRange(0x16F4F,0x16F87).addRange(0x16F8F,0x16F9F);Miao$1.characters=set;return Miao$1;}var Modi$1={};var hasRequiredModi$1;function requireModi$1(){if(hasRequiredModi$1)return Modi$1;hasRequiredModi$1=1;var set=regenerateExports();set.addRange(0xA830,0xA839).addRange(0x11600,0x11644).addRange(0x11650,0x11659);Modi$1.characters=set;return Modi$1;}var Mongolian$1={};var hasRequiredMongolian$1;function requireMongolian$1(){if(hasRequiredMongolian$1)return Mongolian$1;hasRequiredMongolian$1=1;var set=regenerateExports(0x202F);set.addRange(0x1800,0x1819).addRange(0x1820,0x1878).addRange(0x1880,0x18AA).addRange(0x11660,0x1166C);Mongolian$1.characters=set;return Mongolian$1;}var Mro$1={};var hasRequiredMro$1;function requireMro$1(){if(hasRequiredMro$1)return Mro$1;hasRequiredMro$1=1;var set=regenerateExports();set.addRange(0x16A40,0x16A5E).addRange(0x16A60,0x16A69).addRange(0x16A6E,0x16A6F);Mro$1.characters=set;return Mro$1;}var Multani$1={};var hasRequiredMultani$1;function requireMultani$1(){if(hasRequiredMultani$1)return Multani$1;hasRequiredMultani$1=1;var set=regenerateExports(0x11288);set.addRange(0xA66,0xA6F).addRange(0x11280,0x11286).addRange(0x1128A,0x1128D).addRange(0x1128F,0x1129D).addRange(0x1129F,0x112A9);Multani$1.characters=set;return Multani$1;}var Myanmar$1={};var hasRequiredMyanmar$1;function requireMyanmar$1(){if(hasRequiredMyanmar$1)return Myanmar$1;hasRequiredMyanmar$1=1;var set=regenerateExports(0xA92E);set.addRange(0x1000,0x109F).addRange(0xA9E0,0xA9FE).addRange(0xAA60,0xAA7F);Myanmar$1.characters=set;return Myanmar$1;}var Nabataean$1={};var hasRequiredNabataean$1;function requireNabataean$1(){if(hasRequiredNabataean$1)return Nabataean$1;hasRequiredNabataean$1=1;var set=regenerateExports();set.addRange(0x10880,0x1089E).addRange(0x108A7,0x108AF);Nabataean$1.characters=set;return Nabataean$1;}var Nag_Mundari$1={};var hasRequiredNag_Mundari$1;function requireNag_Mundari$1(){if(hasRequiredNag_Mundari$1)return Nag_Mundari$1;hasRequiredNag_Mundari$1=1;var set=regenerateExports();set.addRange(0x1E4D0,0x1E4F9);Nag_Mundari$1.characters=set;return Nag_Mundari$1;}var Nandinagari$1={};var hasRequiredNandinagari$1;function requireNandinagari$1(){if(hasRequiredNandinagari$1)return Nandinagari$1;hasRequiredNandinagari$1=1;var set=regenerateExports(0x1CE9,0x1CF2,0x1CFA);set.addRange(0x964,0x965).addRange(0xCE6,0xCEF).addRange(0xA830,0xA835).addRange(0x119A0,0x119A7).addRange(0x119AA,0x119D7).addRange(0x119DA,0x119E4);Nandinagari$1.characters=set;return Nandinagari$1;}var New_Tai_Lue$1={};var hasRequiredNew_Tai_Lue$1;function requireNew_Tai_Lue$1(){if(hasRequiredNew_Tai_Lue$1)return New_Tai_Lue$1;hasRequiredNew_Tai_Lue$1=1;var set=regenerateExports();set.addRange(0x1980,0x19AB).addRange(0x19B0,0x19C9).addRange(0x19D0,0x19DA).addRange(0x19DE,0x19DF);New_Tai_Lue$1.characters=set;return New_Tai_Lue$1;}var Newa$1={};var hasRequiredNewa$1;function requireNewa$1(){if(hasRequiredNewa$1)return Newa$1;hasRequiredNewa$1=1;var set=regenerateExports();set.addRange(0x11400,0x1145B).addRange(0x1145D,0x11461);Newa$1.characters=set;return Newa$1;}var Nko$1={};var hasRequiredNko$1;function requireNko$1(){if(hasRequiredNko$1)return Nko$1;hasRequiredNko$1=1;var set=regenerateExports(0x60C,0x61B,0x61F);set.addRange(0x7C0,0x7FA).addRange(0x7FD,0x7FF).addRange(0xFD3E,0xFD3F);Nko$1.characters=set;return Nko$1;}var Nushu$1={};var hasRequiredNushu$1;function requireNushu$1(){if(hasRequiredNushu$1)return Nushu$1;hasRequiredNushu$1=1;var set=regenerateExports(0x16FE1);set.addRange(0x1B170,0x1B2FB);Nushu$1.characters=set;return Nushu$1;}var Nyiakeng_Puachue_Hmong$1={};var hasRequiredNyiakeng_Puachue_Hmong$1;function requireNyiakeng_Puachue_Hmong$1(){if(hasRequiredNyiakeng_Puachue_Hmong$1)return Nyiakeng_Puachue_Hmong$1;hasRequiredNyiakeng_Puachue_Hmong$1=1;var set=regenerateExports();set.addRange(0x1E100,0x1E12C).addRange(0x1E130,0x1E13D).addRange(0x1E140,0x1E149).addRange(0x1E14E,0x1E14F);Nyiakeng_Puachue_Hmong$1.characters=set;return Nyiakeng_Puachue_Hmong$1;}var Ogham$1={};var hasRequiredOgham$1;function requireOgham$1(){if(hasRequiredOgham$1)return Ogham$1;hasRequiredOgham$1=1;var set=regenerateExports();set.addRange(0x1680,0x169C);Ogham$1.characters=set;return Ogham$1;}var Ol_Chiki$1={};var hasRequiredOl_Chiki$1;function requireOl_Chiki$1(){if(hasRequiredOl_Chiki$1)return Ol_Chiki$1;hasRequiredOl_Chiki$1=1;var set=regenerateExports();set.addRange(0x1C50,0x1C7F);Ol_Chiki$1.characters=set;return Ol_Chiki$1;}var Old_Hungarian$1={};var hasRequiredOld_Hungarian$1;function requireOld_Hungarian$1(){if(hasRequiredOld_Hungarian$1)return Old_Hungarian$1;hasRequiredOld_Hungarian$1=1;var set=regenerateExports();set.addRange(0x10C80,0x10CB2).addRange(0x10CC0,0x10CF2).addRange(0x10CFA,0x10CFF);Old_Hungarian$1.characters=set;return Old_Hungarian$1;}var Old_Italic$1={};var hasRequiredOld_Italic$1;function requireOld_Italic$1(){if(hasRequiredOld_Italic$1)return Old_Italic$1;hasRequiredOld_Italic$1=1;var set=regenerateExports();set.addRange(0x10300,0x10323).addRange(0x1032D,0x1032F);Old_Italic$1.characters=set;return Old_Italic$1;}var Old_North_Arabian$1={};var hasRequiredOld_North_Arabian$1;function requireOld_North_Arabian$1(){if(hasRequiredOld_North_Arabian$1)return Old_North_Arabian$1;hasRequiredOld_North_Arabian$1=1;var set=regenerateExports();set.addRange(0x10A80,0x10A9F);Old_North_Arabian$1.characters=set;return Old_North_Arabian$1;}var Old_Permic$1={};var hasRequiredOld_Permic$1;function requireOld_Permic$1(){if(hasRequiredOld_Permic$1)return Old_Permic$1;hasRequiredOld_Permic$1=1;var set=regenerateExports(0x483);set.addRange(0x10350,0x1037A);Old_Permic$1.characters=set;return Old_Permic$1;}var Old_Persian$1={};var hasRequiredOld_Persian$1;function requireOld_Persian$1(){if(hasRequiredOld_Persian$1)return Old_Persian$1;hasRequiredOld_Persian$1=1;var set=regenerateExports();set.addRange(0x103A0,0x103C3).addRange(0x103C8,0x103D5);Old_Persian$1.characters=set;return Old_Persian$1;}var Old_Sogdian$1={};var hasRequiredOld_Sogdian$1;function requireOld_Sogdian$1(){if(hasRequiredOld_Sogdian$1)return Old_Sogdian$1;hasRequiredOld_Sogdian$1=1;var set=regenerateExports();set.addRange(0x10F00,0x10F27);Old_Sogdian$1.characters=set;return Old_Sogdian$1;}var Old_South_Arabian$1={};var hasRequiredOld_South_Arabian$1;function requireOld_South_Arabian$1(){if(hasRequiredOld_South_Arabian$1)return Old_South_Arabian$1;hasRequiredOld_South_Arabian$1=1;var set=regenerateExports();set.addRange(0x10A60,0x10A7F);Old_South_Arabian$1.characters=set;return Old_South_Arabian$1;}var Old_Turkic$1={};var hasRequiredOld_Turkic$1;function requireOld_Turkic$1(){if(hasRequiredOld_Turkic$1)return Old_Turkic$1;hasRequiredOld_Turkic$1=1;var set=regenerateExports();set.addRange(0x10C00,0x10C48);Old_Turkic$1.characters=set;return Old_Turkic$1;}var Old_Uyghur$1={};var hasRequiredOld_Uyghur$1;function requireOld_Uyghur$1(){if(hasRequiredOld_Uyghur$1)return Old_Uyghur$1;hasRequiredOld_Uyghur$1=1;var set=regenerateExports(0x640,0x10AF2);set.addRange(0x10F70,0x10F89);Old_Uyghur$1.characters=set;return Old_Uyghur$1;}var Oriya$1={};var hasRequiredOriya$1;function requireOriya$1(){if(hasRequiredOriya$1)return Oriya$1;hasRequiredOriya$1=1;var set=regenerateExports(0x1CDA,0x1CF2);set.addRange(0x951,0x952).addRange(0x964,0x965).addRange(0xB01,0xB03).addRange(0xB05,0xB0C).addRange(0xB0F,0xB10).addRange(0xB13,0xB28).addRange(0xB2A,0xB30).addRange(0xB32,0xB33).addRange(0xB35,0xB39).addRange(0xB3C,0xB44).addRange(0xB47,0xB48).addRange(0xB4B,0xB4D).addRange(0xB55,0xB57).addRange(0xB5C,0xB5D).addRange(0xB5F,0xB63).addRange(0xB66,0xB77);Oriya$1.characters=set;return Oriya$1;}var Osage$1={};var hasRequiredOsage$1;function requireOsage$1(){if(hasRequiredOsage$1)return Osage$1;hasRequiredOsage$1=1;var set=regenerateExports();set.addRange(0x104B0,0x104D3).addRange(0x104D8,0x104FB);Osage$1.characters=set;return Osage$1;}var Osmanya$1={};var hasRequiredOsmanya$1;function requireOsmanya$1(){if(hasRequiredOsmanya$1)return Osmanya$1;hasRequiredOsmanya$1=1;var set=regenerateExports();set.addRange(0x10480,0x1049D).addRange(0x104A0,0x104A9);Osmanya$1.characters=set;return Osmanya$1;}var Pahawh_Hmong$1={};var hasRequiredPahawh_Hmong$1;function requirePahawh_Hmong$1(){if(hasRequiredPahawh_Hmong$1)return Pahawh_Hmong$1;hasRequiredPahawh_Hmong$1=1;var set=regenerateExports();set.addRange(0x16B00,0x16B45).addRange(0x16B50,0x16B59).addRange(0x16B5B,0x16B61).addRange(0x16B63,0x16B77).addRange(0x16B7D,0x16B8F);Pahawh_Hmong$1.characters=set;return Pahawh_Hmong$1;}var Palmyrene$1={};var hasRequiredPalmyrene$1;function requirePalmyrene$1(){if(hasRequiredPalmyrene$1)return Palmyrene$1;hasRequiredPalmyrene$1=1;var set=regenerateExports();set.addRange(0x10860,0x1087F);Palmyrene$1.characters=set;return Palmyrene$1;}var Pau_Cin_Hau$1={};var hasRequiredPau_Cin_Hau$1;function requirePau_Cin_Hau$1(){if(hasRequiredPau_Cin_Hau$1)return Pau_Cin_Hau$1;hasRequiredPau_Cin_Hau$1=1;var set=regenerateExports();set.addRange(0x11AC0,0x11AF8);Pau_Cin_Hau$1.characters=set;return Pau_Cin_Hau$1;}var Phags_Pa$1={};var hasRequiredPhags_Pa$1;function requirePhags_Pa$1(){if(hasRequiredPhags_Pa$1)return Phags_Pa$1;hasRequiredPhags_Pa$1=1;var set=regenerateExports(0x1805);set.addRange(0x1802,0x1803).addRange(0xA840,0xA877);Phags_Pa$1.characters=set;return Phags_Pa$1;}var Phoenician$1={};var hasRequiredPhoenician$1;function requirePhoenician$1(){if(hasRequiredPhoenician$1)return Phoenician$1;hasRequiredPhoenician$1=1;var set=regenerateExports(0x1091F);set.addRange(0x10900,0x1091B);Phoenician$1.characters=set;return Phoenician$1;}var Psalter_Pahlavi$1={};var hasRequiredPsalter_Pahlavi$1;function requirePsalter_Pahlavi$1(){if(hasRequiredPsalter_Pahlavi$1)return Psalter_Pahlavi$1;hasRequiredPsalter_Pahlavi$1=1;var set=regenerateExports(0x640);set.addRange(0x10B80,0x10B91).addRange(0x10B99,0x10B9C).addRange(0x10BA9,0x10BAF);Psalter_Pahlavi$1.characters=set;return Psalter_Pahlavi$1;}var Rejang$1={};var hasRequiredRejang$1;function requireRejang$1(){if(hasRequiredRejang$1)return Rejang$1;hasRequiredRejang$1=1;var set=regenerateExports(0xA95F);set.addRange(0xA930,0xA953);Rejang$1.characters=set;return Rejang$1;}var Runic$1={};var hasRequiredRunic$1;function requireRunic$1(){if(hasRequiredRunic$1)return Runic$1;hasRequiredRunic$1=1;var set=regenerateExports();set.addRange(0x16A0,0x16EA).addRange(0x16EE,0x16F8);Runic$1.characters=set;return Runic$1;}var Samaritan$1={};var hasRequiredSamaritan$1;function requireSamaritan$1(){if(hasRequiredSamaritan$1)return Samaritan$1;hasRequiredSamaritan$1=1;var set=regenerateExports();set.addRange(0x800,0x82D).addRange(0x830,0x83E);Samaritan$1.characters=set;return Samaritan$1;}var Saurashtra$1={};var hasRequiredSaurashtra$1;function requireSaurashtra$1(){if(hasRequiredSaurashtra$1)return Saurashtra$1;hasRequiredSaurashtra$1=1;var set=regenerateExports();set.addRange(0xA880,0xA8C5).addRange(0xA8CE,0xA8D9);Saurashtra$1.characters=set;return Saurashtra$1;}var Sharada$1={};var hasRequiredSharada$1;function requireSharada$1(){if(hasRequiredSharada$1)return Sharada$1;hasRequiredSharada$1=1;var set=regenerateExports(0x951,0x1CD7,0x1CD9,0x1CE0,0xA838);set.addRange(0x1CDC,0x1CDD).addRange(0xA830,0xA835).addRange(0x11180,0x111DF);Sharada$1.characters=set;return Sharada$1;}var Shavian$1={};var hasRequiredShavian$1;function requireShavian$1(){if(hasRequiredShavian$1)return Shavian$1;hasRequiredShavian$1=1;var set=regenerateExports();set.addRange(0x10450,0x1047F);Shavian$1.characters=set;return Shavian$1;}var Siddham$1={};var hasRequiredSiddham$1;function requireSiddham$1(){if(hasRequiredSiddham$1)return Siddham$1;hasRequiredSiddham$1=1;var set=regenerateExports();set.addRange(0x11580,0x115B5).addRange(0x115B8,0x115DD);Siddham$1.characters=set;return Siddham$1;}var SignWriting$1={};var hasRequiredSignWriting$1;function requireSignWriting$1(){if(hasRequiredSignWriting$1)return SignWriting$1;hasRequiredSignWriting$1=1;var set=regenerateExports();set.addRange(0x1D800,0x1DA8B).addRange(0x1DA9B,0x1DA9F).addRange(0x1DAA1,0x1DAAF);SignWriting$1.characters=set;return SignWriting$1;}var Sinhala$1={};var hasRequiredSinhala$1;function requireSinhala$1(){if(hasRequiredSinhala$1)return Sinhala$1;hasRequiredSinhala$1=1;var set=regenerateExports(0xDBD,0xDCA,0xDD6,0x1CF2);set.addRange(0x964,0x965).addRange(0xD81,0xD83).addRange(0xD85,0xD96).addRange(0xD9A,0xDB1).addRange(0xDB3,0xDBB).addRange(0xDC0,0xDC6).addRange(0xDCF,0xDD4).addRange(0xDD8,0xDDF).addRange(0xDE6,0xDEF).addRange(0xDF2,0xDF4).addRange(0x111E1,0x111F4);Sinhala$1.characters=set;return Sinhala$1;}var Sogdian$1={};var hasRequiredSogdian$1;function requireSogdian$1(){if(hasRequiredSogdian$1)return Sogdian$1;hasRequiredSogdian$1=1;var set=regenerateExports(0x640);set.addRange(0x10F30,0x10F59);Sogdian$1.characters=set;return Sogdian$1;}var Sora_Sompeng$1={};var hasRequiredSora_Sompeng$1;function requireSora_Sompeng$1(){if(hasRequiredSora_Sompeng$1)return Sora_Sompeng$1;hasRequiredSora_Sompeng$1=1;var set=regenerateExports();set.addRange(0x110D0,0x110E8).addRange(0x110F0,0x110F9);Sora_Sompeng$1.characters=set;return Sora_Sompeng$1;}var Soyombo$1={};var hasRequiredSoyombo$1;function requireSoyombo$1(){if(hasRequiredSoyombo$1)return Soyombo$1;hasRequiredSoyombo$1=1;var set=regenerateExports();set.addRange(0x11A50,0x11AA2);Soyombo$1.characters=set;return Soyombo$1;}var Sundanese$1={};var hasRequiredSundanese$1;function requireSundanese$1(){if(hasRequiredSundanese$1)return Sundanese$1;hasRequiredSundanese$1=1;var set=regenerateExports();set.addRange(0x1B80,0x1BBF).addRange(0x1CC0,0x1CC7);Sundanese$1.characters=set;return Sundanese$1;}var Syloti_Nagri$1={};var hasRequiredSyloti_Nagri$1;function requireSyloti_Nagri$1(){if(hasRequiredSyloti_Nagri$1)return Syloti_Nagri$1;hasRequiredSyloti_Nagri$1=1;var set=regenerateExports();set.addRange(0x964,0x965).addRange(0x9E6,0x9EF).addRange(0xA800,0xA82C);Syloti_Nagri$1.characters=set;return Syloti_Nagri$1;}var Syriac$1={};var hasRequiredSyriac$1;function requireSyriac$1(){if(hasRequiredSyriac$1)return Syriac$1;hasRequiredSyriac$1=1;var set=regenerateExports(0x60C,0x61F,0x640,0x670,0x1DF8,0x1DFA);set.addRange(0x61B,0x61C).addRange(0x64B,0x655).addRange(0x700,0x70D).addRange(0x70F,0x74A).addRange(0x74D,0x74F).addRange(0x860,0x86A);Syriac$1.characters=set;return Syriac$1;}var Tagalog$1={};var hasRequiredTagalog$1;function requireTagalog$1(){if(hasRequiredTagalog$1)return Tagalog$1;hasRequiredTagalog$1=1;var set=regenerateExports(0x171F);set.addRange(0x1700,0x1715).addRange(0x1735,0x1736);Tagalog$1.characters=set;return Tagalog$1;}var Tagbanwa$1={};var hasRequiredTagbanwa$1;function requireTagbanwa$1(){if(hasRequiredTagbanwa$1)return Tagbanwa$1;hasRequiredTagbanwa$1=1;var set=regenerateExports();set.addRange(0x1735,0x1736).addRange(0x1760,0x176C).addRange(0x176E,0x1770).addRange(0x1772,0x1773);Tagbanwa$1.characters=set;return Tagbanwa$1;}var Tai_Le$1={};var hasRequiredTai_Le$1;function requireTai_Le$1(){if(hasRequiredTai_Le$1)return Tai_Le$1;hasRequiredTai_Le$1=1;var set=regenerateExports();set.addRange(0x1040,0x1049).addRange(0x1950,0x196D).addRange(0x1970,0x1974);Tai_Le$1.characters=set;return Tai_Le$1;}var Tai_Tham$1={};var hasRequiredTai_Tham$1;function requireTai_Tham$1(){if(hasRequiredTai_Tham$1)return Tai_Tham$1;hasRequiredTai_Tham$1=1;var set=regenerateExports();set.addRange(0x1A20,0x1A5E).addRange(0x1A60,0x1A7C).addRange(0x1A7F,0x1A89).addRange(0x1A90,0x1A99).addRange(0x1AA0,0x1AAD);Tai_Tham$1.characters=set;return Tai_Tham$1;}var Tai_Viet$1={};var hasRequiredTai_Viet$1;function requireTai_Viet$1(){if(hasRequiredTai_Viet$1)return Tai_Viet$1;hasRequiredTai_Viet$1=1;var set=regenerateExports();set.addRange(0xAA80,0xAAC2).addRange(0xAADB,0xAADF);Tai_Viet$1.characters=set;return Tai_Viet$1;}var Takri$1={};var hasRequiredTakri$1;function requireTakri$1(){if(hasRequiredTakri$1)return Takri$1;hasRequiredTakri$1=1;var set=regenerateExports();set.addRange(0x964,0x965).addRange(0xA830,0xA839).addRange(0x11680,0x116B9).addRange(0x116C0,0x116C9);Takri$1.characters=set;return Takri$1;}var Tamil$1={};var hasRequiredTamil$1;function requireTamil$1(){if(hasRequiredTamil$1)return Tamil$1;hasRequiredTamil$1=1;var set=regenerateExports(0xB9C,0xBD0,0xBD7,0x1CDA,0xA8F3,0x11301,0x11303,0x11FFF);set.addRange(0x951,0x952).addRange(0x964,0x965).addRange(0xB82,0xB83).addRange(0xB85,0xB8A).addRange(0xB8E,0xB90).addRange(0xB92,0xB95).addRange(0xB99,0xB9A).addRange(0xB9E,0xB9F).addRange(0xBA3,0xBA4).addRange(0xBA8,0xBAA).addRange(0xBAE,0xBB9).addRange(0xBBE,0xBC2).addRange(0xBC6,0xBC8).addRange(0xBCA,0xBCD).addRange(0xBE6,0xBFA).addRange(0x1133B,0x1133C).addRange(0x11FC0,0x11FF1);Tamil$1.characters=set;return Tamil$1;}var Tangsa$1={};var hasRequiredTangsa$1;function requireTangsa$1(){if(hasRequiredTangsa$1)return Tangsa$1;hasRequiredTangsa$1=1;var set=regenerateExports();set.addRange(0x16A70,0x16ABE).addRange(0x16AC0,0x16AC9);Tangsa$1.characters=set;return Tangsa$1;}var Tangut$1={};var hasRequiredTangut$1;function requireTangut$1(){if(hasRequiredTangut$1)return Tangut$1;hasRequiredTangut$1=1;var set=regenerateExports(0x16FE0);set.addRange(0x17000,0x187F7).addRange(0x18800,0x18AFF).addRange(0x18D00,0x18D08);Tangut$1.characters=set;return Tangut$1;}var Telugu$1={};var hasRequiredTelugu$1;function requireTelugu$1(){if(hasRequiredTelugu$1)return Telugu$1;hasRequiredTelugu$1=1;var set=regenerateExports(0xC5D,0x1CDA,0x1CF2);set.addRange(0x951,0x952).addRange(0x964,0x965).addRange(0xC00,0xC0C).addRange(0xC0E,0xC10).addRange(0xC12,0xC28).addRange(0xC2A,0xC39).addRange(0xC3C,0xC44).addRange(0xC46,0xC48).addRange(0xC4A,0xC4D).addRange(0xC55,0xC56).addRange(0xC58,0xC5A).addRange(0xC60,0xC63).addRange(0xC66,0xC6F).addRange(0xC77,0xC7F);Telugu$1.characters=set;return Telugu$1;}var Thaana$1={};var hasRequiredThaana$1;function requireThaana$1(){if(hasRequiredThaana$1)return Thaana$1;hasRequiredThaana$1=1;var set=regenerateExports(0x60C,0x61F,0xFDF2,0xFDFD);set.addRange(0x61B,0x61C).addRange(0x660,0x669).addRange(0x780,0x7B1);Thaana$1.characters=set;return Thaana$1;}var Thai$1={};var hasRequiredThai$1;function requireThai$1(){if(hasRequiredThai$1)return Thai$1;hasRequiredThai$1=1;var set=regenerateExports();set.addRange(0xE01,0xE3A).addRange(0xE40,0xE5B);Thai$1.characters=set;return Thai$1;}var Tibetan$1={};var hasRequiredTibetan$1;function requireTibetan$1(){if(hasRequiredTibetan$1)return Tibetan$1;hasRequiredTibetan$1=1;var set=regenerateExports();set.addRange(0xF00,0xF47).addRange(0xF49,0xF6C).addRange(0xF71,0xF97).addRange(0xF99,0xFBC).addRange(0xFBE,0xFCC).addRange(0xFCE,0xFD4).addRange(0xFD9,0xFDA);Tibetan$1.characters=set;return Tibetan$1;}var Tifinagh$1={};var hasRequiredTifinagh$1;function requireTifinagh$1(){if(hasRequiredTifinagh$1)return Tifinagh$1;hasRequiredTifinagh$1=1;var set=regenerateExports(0x2D7F);set.addRange(0x2D30,0x2D67).addRange(0x2D6F,0x2D70);Tifinagh$1.characters=set;return Tifinagh$1;}var Tirhuta$1={};var hasRequiredTirhuta$1;function requireTirhuta$1(){if(hasRequiredTirhuta$1)return Tirhuta$1;hasRequiredTirhuta$1=1;var set=regenerateExports(0x1CF2);set.addRange(0x951,0x952).addRange(0x964,0x965).addRange(0xA830,0xA839).addRange(0x11480,0x114C7).addRange(0x114D0,0x114D9);Tirhuta$1.characters=set;return Tirhuta$1;}var Toto$1={};var hasRequiredToto$1;function requireToto$1(){if(hasRequiredToto$1)return Toto$1;hasRequiredToto$1=1;var set=regenerateExports();set.addRange(0x1E290,0x1E2AE);Toto$1.characters=set;return Toto$1;}var Ugaritic$1={};var hasRequiredUgaritic$1;function requireUgaritic$1(){if(hasRequiredUgaritic$1)return Ugaritic$1;hasRequiredUgaritic$1=1;var set=regenerateExports(0x1039F);set.addRange(0x10380,0x1039D);Ugaritic$1.characters=set;return Ugaritic$1;}var Vai$1={};var hasRequiredVai$1;function requireVai$1(){if(hasRequiredVai$1)return Vai$1;hasRequiredVai$1=1;var set=regenerateExports();set.addRange(0xA500,0xA62B);Vai$1.characters=set;return Vai$1;}var Vithkuqi$1={};var hasRequiredVithkuqi$1;function requireVithkuqi$1(){if(hasRequiredVithkuqi$1)return Vithkuqi$1;hasRequiredVithkuqi$1=1;var set=regenerateExports();set.addRange(0x10570,0x1057A).addRange(0x1057C,0x1058A).addRange(0x1058C,0x10592).addRange(0x10594,0x10595).addRange(0x10597,0x105A1).addRange(0x105A3,0x105B1).addRange(0x105B3,0x105B9).addRange(0x105BB,0x105BC);Vithkuqi$1.characters=set;return Vithkuqi$1;}var Wancho$1={};var hasRequiredWancho$1;function requireWancho$1(){if(hasRequiredWancho$1)return Wancho$1;hasRequiredWancho$1=1;var set=regenerateExports(0x1E2FF);set.addRange(0x1E2C0,0x1E2F9);Wancho$1.characters=set;return Wancho$1;}var Warang_Citi$1={};var hasRequiredWarang_Citi$1;function requireWarang_Citi$1(){if(hasRequiredWarang_Citi$1)return Warang_Citi$1;hasRequiredWarang_Citi$1=1;var set=regenerateExports(0x118FF);set.addRange(0x118A0,0x118F2);Warang_Citi$1.characters=set;return Warang_Citi$1;}var Yezidi$1={};var hasRequiredYezidi$1;function requireYezidi$1(){if(hasRequiredYezidi$1)return Yezidi$1;hasRequiredYezidi$1=1;var set=regenerateExports(0x60C,0x61B,0x61F);set.addRange(0x660,0x669).addRange(0x10E80,0x10EA9).addRange(0x10EAB,0x10EAD).addRange(0x10EB0,0x10EB1);Yezidi$1.characters=set;return Yezidi$1;}var Yi$1={};var hasRequiredYi$1;function requireYi$1(){if(hasRequiredYi$1)return Yi$1;hasRequiredYi$1=1;var set=regenerateExports(0x30FB);set.addRange(0x3001,0x3002).addRange(0x3008,0x3011).addRange(0x3014,0x301B).addRange(0xA000,0xA48C).addRange(0xA490,0xA4C6).addRange(0xFF61,0xFF65);Yi$1.characters=set;return Yi$1;}var Zanabazar_Square$1={};var hasRequiredZanabazar_Square$1;function requireZanabazar_Square$1(){if(hasRequiredZanabazar_Square$1)return Zanabazar_Square$1;hasRequiredZanabazar_Square$1=1;var set=regenerateExports();set.addRange(0x11A00,0x11A47);Zanabazar_Square$1.characters=set;return Zanabazar_Square$1;}var Adlam={};var hasRequiredAdlam;function requireAdlam(){if(hasRequiredAdlam)return Adlam;hasRequiredAdlam=1;var set=regenerateExports();set.addRange(0x1E900,0x1E94B).addRange(0x1E950,0x1E959).addRange(0x1E95E,0x1E95F);Adlam.characters=set;return Adlam;}var Ahom={};var hasRequiredAhom;function requireAhom(){if(hasRequiredAhom)return Ahom;hasRequiredAhom=1;var set=regenerateExports();set.addRange(0x11700,0x1171A).addRange(0x1171D,0x1172B).addRange(0x11730,0x11746);Ahom.characters=set;return Ahom;}var Anatolian_Hieroglyphs={};var hasRequiredAnatolian_Hieroglyphs;function requireAnatolian_Hieroglyphs(){if(hasRequiredAnatolian_Hieroglyphs)return Anatolian_Hieroglyphs;hasRequiredAnatolian_Hieroglyphs=1;var set=regenerateExports();set.addRange(0x14400,0x14646);Anatolian_Hieroglyphs.characters=set;return Anatolian_Hieroglyphs;}var Arabic={};var hasRequiredArabic;function requireArabic(){if(hasRequiredArabic)return Arabic;hasRequiredArabic=1;var set=regenerateExports(0xFDCF,0x1EE24,0x1EE27,0x1EE39,0x1EE3B,0x1EE42,0x1EE47,0x1EE49,0x1EE4B,0x1EE54,0x1EE57,0x1EE59,0x1EE5B,0x1EE5D,0x1EE5F,0x1EE64,0x1EE7E);set.addRange(0x600,0x604).addRange(0x606,0x60B).addRange(0x60D,0x61A).addRange(0x61C,0x61E).addRange(0x620,0x63F).addRange(0x641,0x64A).addRange(0x656,0x66F).addRange(0x671,0x6DC).addRange(0x6DE,0x6FF).addRange(0x750,0x77F).addRange(0x870,0x88E).addRange(0x890,0x891).addRange(0x898,0x8E1).addRange(0x8E3,0x8FF).addRange(0xFB50,0xFBC2).addRange(0xFBD3,0xFD3D).addRange(0xFD40,0xFD8F).addRange(0xFD92,0xFDC7).addRange(0xFDF0,0xFDFF).addRange(0xFE70,0xFE74).addRange(0xFE76,0xFEFC).addRange(0x10E60,0x10E7E).addRange(0x10EFD,0x10EFF).addRange(0x1EE00,0x1EE03).addRange(0x1EE05,0x1EE1F).addRange(0x1EE21,0x1EE22).addRange(0x1EE29,0x1EE32).addRange(0x1EE34,0x1EE37).addRange(0x1EE4D,0x1EE4F).addRange(0x1EE51,0x1EE52).addRange(0x1EE61,0x1EE62).addRange(0x1EE67,0x1EE6A).addRange(0x1EE6C,0x1EE72).addRange(0x1EE74,0x1EE77).addRange(0x1EE79,0x1EE7C).addRange(0x1EE80,0x1EE89).addRange(0x1EE8B,0x1EE9B).addRange(0x1EEA1,0x1EEA3).addRange(0x1EEA5,0x1EEA9).addRange(0x1EEAB,0x1EEBB).addRange(0x1EEF0,0x1EEF1);Arabic.characters=set;return Arabic;}var Armenian={};var hasRequiredArmenian;function requireArmenian(){if(hasRequiredArmenian)return Armenian;hasRequiredArmenian=1;var set=regenerateExports();set.addRange(0x531,0x556).addRange(0x559,0x58A).addRange(0x58D,0x58F).addRange(0xFB13,0xFB17);Armenian.characters=set;return Armenian;}var Avestan={};var hasRequiredAvestan;function requireAvestan(){if(hasRequiredAvestan)return Avestan;hasRequiredAvestan=1;var set=regenerateExports();set.addRange(0x10B00,0x10B35).addRange(0x10B39,0x10B3F);Avestan.characters=set;return Avestan;}var Balinese={};var hasRequiredBalinese;function requireBalinese(){if(hasRequiredBalinese)return Balinese;hasRequiredBalinese=1;var set=regenerateExports();set.addRange(0x1B00,0x1B4C).addRange(0x1B50,0x1B7E);Balinese.characters=set;return Balinese;}var Bamum={};var hasRequiredBamum;function requireBamum(){if(hasRequiredBamum)return Bamum;hasRequiredBamum=1;var set=regenerateExports();set.addRange(0xA6A0,0xA6F7).addRange(0x16800,0x16A38);Bamum.characters=set;return Bamum;}var Bassa_Vah={};var hasRequiredBassa_Vah;function requireBassa_Vah(){if(hasRequiredBassa_Vah)return Bassa_Vah;hasRequiredBassa_Vah=1;var set=regenerateExports();set.addRange(0x16AD0,0x16AED).addRange(0x16AF0,0x16AF5);Bassa_Vah.characters=set;return Bassa_Vah;}var Batak={};var hasRequiredBatak;function requireBatak(){if(hasRequiredBatak)return Batak;hasRequiredBatak=1;var set=regenerateExports();set.addRange(0x1BC0,0x1BF3).addRange(0x1BFC,0x1BFF);Batak.characters=set;return Batak;}var Bengali={};var hasRequiredBengali;function requireBengali(){if(hasRequiredBengali)return Bengali;hasRequiredBengali=1;var set=regenerateExports(0x9B2,0x9D7);set.addRange(0x980,0x983).addRange(0x985,0x98C).addRange(0x98F,0x990).addRange(0x993,0x9A8).addRange(0x9AA,0x9B0).addRange(0x9B6,0x9B9).addRange(0x9BC,0x9C4).addRange(0x9C7,0x9C8).addRange(0x9CB,0x9CE).addRange(0x9DC,0x9DD).addRange(0x9DF,0x9E3).addRange(0x9E6,0x9FE);Bengali.characters=set;return Bengali;}var Bhaiksuki={};var hasRequiredBhaiksuki;function requireBhaiksuki(){if(hasRequiredBhaiksuki)return Bhaiksuki;hasRequiredBhaiksuki=1;var set=regenerateExports();set.addRange(0x11C00,0x11C08).addRange(0x11C0A,0x11C36).addRange(0x11C38,0x11C45).addRange(0x11C50,0x11C6C);Bhaiksuki.characters=set;return Bhaiksuki;}var Bopomofo={};var hasRequiredBopomofo;function requireBopomofo(){if(hasRequiredBopomofo)return Bopomofo;hasRequiredBopomofo=1;var set=regenerateExports();set.addRange(0x2EA,0x2EB).addRange(0x3105,0x312F).addRange(0x31A0,0x31BF);Bopomofo.characters=set;return Bopomofo;}var Brahmi={};var hasRequiredBrahmi;function requireBrahmi(){if(hasRequiredBrahmi)return Brahmi;hasRequiredBrahmi=1;var set=regenerateExports(0x1107F);set.addRange(0x11000,0x1104D).addRange(0x11052,0x11075);Brahmi.characters=set;return Brahmi;}var Braille={};var hasRequiredBraille;function requireBraille(){if(hasRequiredBraille)return Braille;hasRequiredBraille=1;var set=regenerateExports();set.addRange(0x2800,0x28FF);Braille.characters=set;return Braille;}var Buginese={};var hasRequiredBuginese;function requireBuginese(){if(hasRequiredBuginese)return Buginese;hasRequiredBuginese=1;var set=regenerateExports();set.addRange(0x1A00,0x1A1B).addRange(0x1A1E,0x1A1F);Buginese.characters=set;return Buginese;}var Buhid={};var hasRequiredBuhid;function requireBuhid(){if(hasRequiredBuhid)return Buhid;hasRequiredBuhid=1;var set=regenerateExports();set.addRange(0x1740,0x1753);Buhid.characters=set;return Buhid;}var Canadian_Aboriginal={};var hasRequiredCanadian_Aboriginal;function requireCanadian_Aboriginal(){if(hasRequiredCanadian_Aboriginal)return Canadian_Aboriginal;hasRequiredCanadian_Aboriginal=1;var set=regenerateExports();set.addRange(0x1400,0x167F).addRange(0x18B0,0x18F5).addRange(0x11AB0,0x11ABF);Canadian_Aboriginal.characters=set;return Canadian_Aboriginal;}var Carian={};var hasRequiredCarian;function requireCarian(){if(hasRequiredCarian)return Carian;hasRequiredCarian=1;var set=regenerateExports();set.addRange(0x102A0,0x102D0);Carian.characters=set;return Carian;}var Caucasian_Albanian={};var hasRequiredCaucasian_Albanian;function requireCaucasian_Albanian(){if(hasRequiredCaucasian_Albanian)return Caucasian_Albanian;hasRequiredCaucasian_Albanian=1;var set=regenerateExports(0x1056F);set.addRange(0x10530,0x10563);Caucasian_Albanian.characters=set;return Caucasian_Albanian;}var Chakma={};var hasRequiredChakma;function requireChakma(){if(hasRequiredChakma)return Chakma;hasRequiredChakma=1;var set=regenerateExports();set.addRange(0x11100,0x11134).addRange(0x11136,0x11147);Chakma.characters=set;return Chakma;}var Cham={};var hasRequiredCham;function requireCham(){if(hasRequiredCham)return Cham;hasRequiredCham=1;var set=regenerateExports();set.addRange(0xAA00,0xAA36).addRange(0xAA40,0xAA4D).addRange(0xAA50,0xAA59).addRange(0xAA5C,0xAA5F);Cham.characters=set;return Cham;}var Cherokee={};var hasRequiredCherokee;function requireCherokee(){if(hasRequiredCherokee)return Cherokee;hasRequiredCherokee=1;var set=regenerateExports();set.addRange(0x13A0,0x13F5).addRange(0x13F8,0x13FD).addRange(0xAB70,0xABBF);Cherokee.characters=set;return Cherokee;}var Chorasmian={};var hasRequiredChorasmian;function requireChorasmian(){if(hasRequiredChorasmian)return Chorasmian;hasRequiredChorasmian=1;var set=regenerateExports();set.addRange(0x10FB0,0x10FCB);Chorasmian.characters=set;return Chorasmian;}var Common={};var hasRequiredCommon;function requireCommon(){if(hasRequiredCommon)return Common;hasRequiredCommon=1;var set=regenerateExports(0xD7,0xF7,0x374,0x37E,0x385,0x387,0x605,0x60C,0x61B,0x61F,0x640,0x6DD,0x8E2,0xE3F,0x10FB,0x1805,0x1CD3,0x1CE1,0x1CFA,0x3006,0x30A0,0x31EF,0x32FF,0xA92E,0xA9CF,0xAB5B,0xFEFF,0xFF70,0x1D4A2,0x1D4BB,0x1D546,0x1F7F0,0xE0001);set.addRange(0x0,0x40).addRange(0x5B,0x60).addRange(0x7B,0xA9).addRange(0xAB,0xB9).addRange(0xBB,0xBF).addRange(0x2B9,0x2DF).addRange(0x2E5,0x2E9).addRange(0x2EC,0x2FF).addRange(0x964,0x965).addRange(0xFD5,0xFD8).addRange(0x16EB,0x16ED).addRange(0x1735,0x1736).addRange(0x1802,0x1803).addRange(0x1CE9,0x1CEC).addRange(0x1CEE,0x1CF3).addRange(0x1CF5,0x1CF7).addRange(0x2000,0x200B).addRange(0x200E,0x2064).addRange(0x2066,0x2070).addRange(0x2074,0x207E).addRange(0x2080,0x208E).addRange(0x20A0,0x20C0).addRange(0x2100,0x2125).addRange(0x2127,0x2129).addRange(0x212C,0x2131).addRange(0x2133,0x214D).addRange(0x214F,0x215F).addRange(0x2189,0x218B).addRange(0x2190,0x2426).addRange(0x2440,0x244A).addRange(0x2460,0x27FF).addRange(0x2900,0x2B73).addRange(0x2B76,0x2B95).addRange(0x2B97,0x2BFF).addRange(0x2E00,0x2E5D).addRange(0x2FF0,0x3004).addRange(0x3008,0x3020).addRange(0x3030,0x3037).addRange(0x303C,0x303F).addRange(0x309B,0x309C).addRange(0x30FB,0x30FC).addRange(0x3190,0x319F).addRange(0x31C0,0x31E3).addRange(0x3220,0x325F).addRange(0x327F,0x32CF).addRange(0x3358,0x33FF).addRange(0x4DC0,0x4DFF).addRange(0xA700,0xA721).addRange(0xA788,0xA78A).addRange(0xA830,0xA839).addRange(0xAB6A,0xAB6B);set.addRange(0xFD3E,0xFD3F).addRange(0xFE10,0xFE19).addRange(0xFE30,0xFE52).addRange(0xFE54,0xFE66).addRange(0xFE68,0xFE6B).addRange(0xFF01,0xFF20).addRange(0xFF3B,0xFF40).addRange(0xFF5B,0xFF65).addRange(0xFF9E,0xFF9F).addRange(0xFFE0,0xFFE6).addRange(0xFFE8,0xFFEE).addRange(0xFFF9,0xFFFD).addRange(0x10100,0x10102).addRange(0x10107,0x10133).addRange(0x10137,0x1013F).addRange(0x10190,0x1019C).addRange(0x101D0,0x101FC).addRange(0x102E1,0x102FB).addRange(0x1BCA0,0x1BCA3).addRange(0x1CF50,0x1CFC3).addRange(0x1D000,0x1D0F5).addRange(0x1D100,0x1D126).addRange(0x1D129,0x1D166).addRange(0x1D16A,0x1D17A).addRange(0x1D183,0x1D184).addRange(0x1D18C,0x1D1A9).addRange(0x1D1AE,0x1D1EA).addRange(0x1D2C0,0x1D2D3).addRange(0x1D2E0,0x1D2F3).addRange(0x1D300,0x1D356).addRange(0x1D360,0x1D378).addRange(0x1D400,0x1D454).addRange(0x1D456,0x1D49C).addRange(0x1D49E,0x1D49F).addRange(0x1D4A5,0x1D4A6).addRange(0x1D4A9,0x1D4AC).addRange(0x1D4AE,0x1D4B9).addRange(0x1D4BD,0x1D4C3).addRange(0x1D4C5,0x1D505).addRange(0x1D507,0x1D50A).addRange(0x1D50D,0x1D514).addRange(0x1D516,0x1D51C).addRange(0x1D51E,0x1D539).addRange(0x1D53B,0x1D53E).addRange(0x1D540,0x1D544).addRange(0x1D54A,0x1D550).addRange(0x1D552,0x1D6A5).addRange(0x1D6A8,0x1D7CB).addRange(0x1D7CE,0x1D7FF).addRange(0x1EC71,0x1ECB4).addRange(0x1ED01,0x1ED3D);set.addRange(0x1F000,0x1F02B).addRange(0x1F030,0x1F093).addRange(0x1F0A0,0x1F0AE).addRange(0x1F0B1,0x1F0BF).addRange(0x1F0C1,0x1F0CF).addRange(0x1F0D1,0x1F0F5).addRange(0x1F100,0x1F1AD).addRange(0x1F1E6,0x1F1FF).addRange(0x1F201,0x1F202).addRange(0x1F210,0x1F23B).addRange(0x1F240,0x1F248).addRange(0x1F250,0x1F251).addRange(0x1F260,0x1F265).addRange(0x1F300,0x1F6D7).addRange(0x1F6DC,0x1F6EC).addRange(0x1F6F0,0x1F6FC).addRange(0x1F700,0x1F776).addRange(0x1F77B,0x1F7D9).addRange(0x1F7E0,0x1F7EB).addRange(0x1F800,0x1F80B).addRange(0x1F810,0x1F847).addRange(0x1F850,0x1F859).addRange(0x1F860,0x1F887).addRange(0x1F890,0x1F8AD).addRange(0x1F8B0,0x1F8B1).addRange(0x1F900,0x1FA53).addRange(0x1FA60,0x1FA6D).addRange(0x1FA70,0x1FA7C).addRange(0x1FA80,0x1FA88).addRange(0x1FA90,0x1FABD).addRange(0x1FABF,0x1FAC5).addRange(0x1FACE,0x1FADB).addRange(0x1FAE0,0x1FAE8).addRange(0x1FAF0,0x1FAF8).addRange(0x1FB00,0x1FB92).addRange(0x1FB94,0x1FBCA).addRange(0x1FBF0,0x1FBF9).addRange(0xE0020,0xE007F);Common.characters=set;return Common;}var Coptic={};var hasRequiredCoptic;function requireCoptic(){if(hasRequiredCoptic)return Coptic;hasRequiredCoptic=1;var set=regenerateExports();set.addRange(0x3E2,0x3EF).addRange(0x2C80,0x2CF3).addRange(0x2CF9,0x2CFF);Coptic.characters=set;return Coptic;}var Cuneiform={};var hasRequiredCuneiform;function requireCuneiform(){if(hasRequiredCuneiform)return Cuneiform;hasRequiredCuneiform=1;var set=regenerateExports();set.addRange(0x12000,0x12399).addRange(0x12400,0x1246E).addRange(0x12470,0x12474).addRange(0x12480,0x12543);Cuneiform.characters=set;return Cuneiform;}var Cypriot={};var hasRequiredCypriot;function requireCypriot(){if(hasRequiredCypriot)return Cypriot;hasRequiredCypriot=1;var set=regenerateExports(0x10808,0x1083C,0x1083F);set.addRange(0x10800,0x10805).addRange(0x1080A,0x10835).addRange(0x10837,0x10838);Cypriot.characters=set;return Cypriot;}var Cypro_Minoan={};var hasRequiredCypro_Minoan;function requireCypro_Minoan(){if(hasRequiredCypro_Minoan)return Cypro_Minoan;hasRequiredCypro_Minoan=1;var set=regenerateExports();set.addRange(0x12F90,0x12FF2);Cypro_Minoan.characters=set;return Cypro_Minoan;}var Cyrillic={};var hasRequiredCyrillic;function requireCyrillic(){if(hasRequiredCyrillic)return Cyrillic;hasRequiredCyrillic=1;var set=regenerateExports(0x1D2B,0x1D78,0x1E08F);set.addRange(0x400,0x484).addRange(0x487,0x52F).addRange(0x1C80,0x1C88).addRange(0x2DE0,0x2DFF).addRange(0xA640,0xA69F).addRange(0xFE2E,0xFE2F).addRange(0x1E030,0x1E06D);Cyrillic.characters=set;return Cyrillic;}var Deseret={};var hasRequiredDeseret;function requireDeseret(){if(hasRequiredDeseret)return Deseret;hasRequiredDeseret=1;var set=regenerateExports();set.addRange(0x10400,0x1044F);Deseret.characters=set;return Deseret;}var Devanagari={};var hasRequiredDevanagari;function requireDevanagari(){if(hasRequiredDevanagari)return Devanagari;hasRequiredDevanagari=1;var set=regenerateExports();set.addRange(0x900,0x950).addRange(0x955,0x963).addRange(0x966,0x97F).addRange(0xA8E0,0xA8FF).addRange(0x11B00,0x11B09);Devanagari.characters=set;return Devanagari;}var Dives_Akuru={};var hasRequiredDives_Akuru;function requireDives_Akuru(){if(hasRequiredDives_Akuru)return Dives_Akuru;hasRequiredDives_Akuru=1;var set=regenerateExports(0x11909);set.addRange(0x11900,0x11906).addRange(0x1190C,0x11913).addRange(0x11915,0x11916).addRange(0x11918,0x11935).addRange(0x11937,0x11938).addRange(0x1193B,0x11946).addRange(0x11950,0x11959);Dives_Akuru.characters=set;return Dives_Akuru;}var Dogra={};var hasRequiredDogra;function requireDogra(){if(hasRequiredDogra)return Dogra;hasRequiredDogra=1;var set=regenerateExports();set.addRange(0x11800,0x1183B);Dogra.characters=set;return Dogra;}var Duployan={};var hasRequiredDuployan;function requireDuployan(){if(hasRequiredDuployan)return Duployan;hasRequiredDuployan=1;var set=regenerateExports();set.addRange(0x1BC00,0x1BC6A).addRange(0x1BC70,0x1BC7C).addRange(0x1BC80,0x1BC88).addRange(0x1BC90,0x1BC99).addRange(0x1BC9C,0x1BC9F);Duployan.characters=set;return Duployan;}var Egyptian_Hieroglyphs={};var hasRequiredEgyptian_Hieroglyphs;function requireEgyptian_Hieroglyphs(){if(hasRequiredEgyptian_Hieroglyphs)return Egyptian_Hieroglyphs;hasRequiredEgyptian_Hieroglyphs=1;var set=regenerateExports();set.addRange(0x13000,0x13455);Egyptian_Hieroglyphs.characters=set;return Egyptian_Hieroglyphs;}var Elbasan={};var hasRequiredElbasan;function requireElbasan(){if(hasRequiredElbasan)return Elbasan;hasRequiredElbasan=1;var set=regenerateExports();set.addRange(0x10500,0x10527);Elbasan.characters=set;return Elbasan;}var Elymaic={};var hasRequiredElymaic;function requireElymaic(){if(hasRequiredElymaic)return Elymaic;hasRequiredElymaic=1;var set=regenerateExports();set.addRange(0x10FE0,0x10FF6);Elymaic.characters=set;return Elymaic;}var Ethiopic={};var hasRequiredEthiopic;function requireEthiopic(){if(hasRequiredEthiopic)return Ethiopic;hasRequiredEthiopic=1;var set=regenerateExports(0x1258,0x12C0);set.addRange(0x1200,0x1248).addRange(0x124A,0x124D).addRange(0x1250,0x1256).addRange(0x125A,0x125D).addRange(0x1260,0x1288).addRange(0x128A,0x128D).addRange(0x1290,0x12B0).addRange(0x12B2,0x12B5).addRange(0x12B8,0x12BE).addRange(0x12C2,0x12C5).addRange(0x12C8,0x12D6).addRange(0x12D8,0x1310).addRange(0x1312,0x1315).addRange(0x1318,0x135A).addRange(0x135D,0x137C).addRange(0x1380,0x1399).addRange(0x2D80,0x2D96).addRange(0x2DA0,0x2DA6).addRange(0x2DA8,0x2DAE).addRange(0x2DB0,0x2DB6).addRange(0x2DB8,0x2DBE).addRange(0x2DC0,0x2DC6).addRange(0x2DC8,0x2DCE).addRange(0x2DD0,0x2DD6).addRange(0x2DD8,0x2DDE).addRange(0xAB01,0xAB06).addRange(0xAB09,0xAB0E).addRange(0xAB11,0xAB16).addRange(0xAB20,0xAB26).addRange(0xAB28,0xAB2E).addRange(0x1E7E0,0x1E7E6).addRange(0x1E7E8,0x1E7EB).addRange(0x1E7ED,0x1E7EE).addRange(0x1E7F0,0x1E7FE);Ethiopic.characters=set;return Ethiopic;}var Georgian={};var hasRequiredGeorgian;function requireGeorgian(){if(hasRequiredGeorgian)return Georgian;hasRequiredGeorgian=1;var set=regenerateExports(0x10C7,0x10CD,0x2D27,0x2D2D);set.addRange(0x10A0,0x10C5).addRange(0x10D0,0x10FA).addRange(0x10FC,0x10FF).addRange(0x1C90,0x1CBA).addRange(0x1CBD,0x1CBF).addRange(0x2D00,0x2D25);Georgian.characters=set;return Georgian;}var Glagolitic={};var hasRequiredGlagolitic;function requireGlagolitic(){if(hasRequiredGlagolitic)return Glagolitic;hasRequiredGlagolitic=1;var set=regenerateExports();set.addRange(0x2C00,0x2C5F).addRange(0x1E000,0x1E006).addRange(0x1E008,0x1E018).addRange(0x1E01B,0x1E021).addRange(0x1E023,0x1E024).addRange(0x1E026,0x1E02A);Glagolitic.characters=set;return Glagolitic;}var Gothic={};var hasRequiredGothic;function requireGothic(){if(hasRequiredGothic)return Gothic;hasRequiredGothic=1;var set=regenerateExports();set.addRange(0x10330,0x1034A);Gothic.characters=set;return Gothic;}var Grantha={};var hasRequiredGrantha;function requireGrantha(){if(hasRequiredGrantha)return Grantha;hasRequiredGrantha=1;var set=regenerateExports(0x11350,0x11357);set.addRange(0x11300,0x11303).addRange(0x11305,0x1130C).addRange(0x1130F,0x11310).addRange(0x11313,0x11328).addRange(0x1132A,0x11330).addRange(0x11332,0x11333).addRange(0x11335,0x11339).addRange(0x1133C,0x11344).addRange(0x11347,0x11348).addRange(0x1134B,0x1134D).addRange(0x1135D,0x11363).addRange(0x11366,0x1136C).addRange(0x11370,0x11374);Grantha.characters=set;return Grantha;}var Greek={};var hasRequiredGreek;function requireGreek(){if(hasRequiredGreek)return Greek;hasRequiredGreek=1;var set=regenerateExports(0x37F,0x384,0x386,0x38C,0x1DBF,0x1F59,0x1F5B,0x1F5D,0x2126,0xAB65,0x101A0);set.addRange(0x370,0x373).addRange(0x375,0x377).addRange(0x37A,0x37D).addRange(0x388,0x38A).addRange(0x38E,0x3A1).addRange(0x3A3,0x3E1).addRange(0x3F0,0x3FF).addRange(0x1D26,0x1D2A).addRange(0x1D5D,0x1D61).addRange(0x1D66,0x1D6A).addRange(0x1F00,0x1F15).addRange(0x1F18,0x1F1D).addRange(0x1F20,0x1F45).addRange(0x1F48,0x1F4D).addRange(0x1F50,0x1F57).addRange(0x1F5F,0x1F7D).addRange(0x1F80,0x1FB4).addRange(0x1FB6,0x1FC4).addRange(0x1FC6,0x1FD3).addRange(0x1FD6,0x1FDB).addRange(0x1FDD,0x1FEF).addRange(0x1FF2,0x1FF4).addRange(0x1FF6,0x1FFE).addRange(0x10140,0x1018E).addRange(0x1D200,0x1D245);Greek.characters=set;return Greek;}var Gujarati={};var hasRequiredGujarati;function requireGujarati(){if(hasRequiredGujarati)return Gujarati;hasRequiredGujarati=1;var set=regenerateExports(0xAD0);set.addRange(0xA81,0xA83).addRange(0xA85,0xA8D).addRange(0xA8F,0xA91).addRange(0xA93,0xAA8).addRange(0xAAA,0xAB0).addRange(0xAB2,0xAB3).addRange(0xAB5,0xAB9).addRange(0xABC,0xAC5).addRange(0xAC7,0xAC9).addRange(0xACB,0xACD).addRange(0xAE0,0xAE3).addRange(0xAE6,0xAF1).addRange(0xAF9,0xAFF);Gujarati.characters=set;return Gujarati;}var Gunjala_Gondi={};var hasRequiredGunjala_Gondi;function requireGunjala_Gondi(){if(hasRequiredGunjala_Gondi)return Gunjala_Gondi;hasRequiredGunjala_Gondi=1;var set=regenerateExports();set.addRange(0x11D60,0x11D65).addRange(0x11D67,0x11D68).addRange(0x11D6A,0x11D8E).addRange(0x11D90,0x11D91).addRange(0x11D93,0x11D98).addRange(0x11DA0,0x11DA9);Gunjala_Gondi.characters=set;return Gunjala_Gondi;}var Gurmukhi={};var hasRequiredGurmukhi;function requireGurmukhi(){if(hasRequiredGurmukhi)return Gurmukhi;hasRequiredGurmukhi=1;var set=regenerateExports(0xA3C,0xA51,0xA5E);set.addRange(0xA01,0xA03).addRange(0xA05,0xA0A).addRange(0xA0F,0xA10).addRange(0xA13,0xA28).addRange(0xA2A,0xA30).addRange(0xA32,0xA33).addRange(0xA35,0xA36).addRange(0xA38,0xA39).addRange(0xA3E,0xA42).addRange(0xA47,0xA48).addRange(0xA4B,0xA4D).addRange(0xA59,0xA5C).addRange(0xA66,0xA76);Gurmukhi.characters=set;return Gurmukhi;}var Han={};var hasRequiredHan;function requireHan(){if(hasRequiredHan)return Han;hasRequiredHan=1;var set=regenerateExports(0x3005,0x3007);set.addRange(0x2E80,0x2E99).addRange(0x2E9B,0x2EF3).addRange(0x2F00,0x2FD5).addRange(0x3021,0x3029).addRange(0x3038,0x303B).addRange(0x3400,0x4DBF).addRange(0x4E00,0x9FFF).addRange(0xF900,0xFA6D).addRange(0xFA70,0xFAD9).addRange(0x16FE2,0x16FE3).addRange(0x16FF0,0x16FF1).addRange(0x20000,0x2A6DF).addRange(0x2A700,0x2B739).addRange(0x2B740,0x2B81D).addRange(0x2B820,0x2CEA1).addRange(0x2CEB0,0x2EBE0).addRange(0x2EBF0,0x2EE5D).addRange(0x2F800,0x2FA1D).addRange(0x30000,0x3134A).addRange(0x31350,0x323AF);Han.characters=set;return Han;}var Hangul={};var hasRequiredHangul;function requireHangul(){if(hasRequiredHangul)return Hangul;hasRequiredHangul=1;var set=regenerateExports();set.addRange(0x1100,0x11FF).addRange(0x302E,0x302F).addRange(0x3131,0x318E).addRange(0x3200,0x321E).addRange(0x3260,0x327E).addRange(0xA960,0xA97C).addRange(0xAC00,0xD7A3).addRange(0xD7B0,0xD7C6).addRange(0xD7CB,0xD7FB).addRange(0xFFA0,0xFFBE).addRange(0xFFC2,0xFFC7).addRange(0xFFCA,0xFFCF).addRange(0xFFD2,0xFFD7).addRange(0xFFDA,0xFFDC);Hangul.characters=set;return Hangul;}var Hanifi_Rohingya={};var hasRequiredHanifi_Rohingya;function requireHanifi_Rohingya(){if(hasRequiredHanifi_Rohingya)return Hanifi_Rohingya;hasRequiredHanifi_Rohingya=1;var set=regenerateExports();set.addRange(0x10D00,0x10D27).addRange(0x10D30,0x10D39);Hanifi_Rohingya.characters=set;return Hanifi_Rohingya;}var Hanunoo={};var hasRequiredHanunoo;function requireHanunoo(){if(hasRequiredHanunoo)return Hanunoo;hasRequiredHanunoo=1;var set=regenerateExports();set.addRange(0x1720,0x1734);Hanunoo.characters=set;return Hanunoo;}var Hatran={};var hasRequiredHatran;function requireHatran(){if(hasRequiredHatran)return Hatran;hasRequiredHatran=1;var set=regenerateExports();set.addRange(0x108E0,0x108F2).addRange(0x108F4,0x108F5).addRange(0x108FB,0x108FF);Hatran.characters=set;return Hatran;}var Hebrew={};var hasRequiredHebrew;function requireHebrew(){if(hasRequiredHebrew)return Hebrew;hasRequiredHebrew=1;var set=regenerateExports(0xFB3E);set.addRange(0x591,0x5C7).addRange(0x5D0,0x5EA).addRange(0x5EF,0x5F4).addRange(0xFB1D,0xFB36).addRange(0xFB38,0xFB3C).addRange(0xFB40,0xFB41).addRange(0xFB43,0xFB44).addRange(0xFB46,0xFB4F);Hebrew.characters=set;return Hebrew;}var Hiragana={};var hasRequiredHiragana;function requireHiragana(){if(hasRequiredHiragana)return Hiragana;hasRequiredHiragana=1;var set=regenerateExports(0x1B132,0x1F200);set.addRange(0x3041,0x3096).addRange(0x309D,0x309F).addRange(0x1B001,0x1B11F).addRange(0x1B150,0x1B152);Hiragana.characters=set;return Hiragana;}var Imperial_Aramaic={};var hasRequiredImperial_Aramaic;function requireImperial_Aramaic(){if(hasRequiredImperial_Aramaic)return Imperial_Aramaic;hasRequiredImperial_Aramaic=1;var set=regenerateExports();set.addRange(0x10840,0x10855).addRange(0x10857,0x1085F);Imperial_Aramaic.characters=set;return Imperial_Aramaic;}var Inherited={};var hasRequiredInherited;function requireInherited(){if(hasRequiredInherited)return Inherited;hasRequiredInherited=1;var set=regenerateExports(0x670,0x1CED,0x1CF4,0x101FD,0x102E0,0x1133B);set.addRange(0x300,0x36F).addRange(0x485,0x486).addRange(0x64B,0x655).addRange(0x951,0x954).addRange(0x1AB0,0x1ACE).addRange(0x1CD0,0x1CD2).addRange(0x1CD4,0x1CE0).addRange(0x1CE2,0x1CE8).addRange(0x1CF8,0x1CF9).addRange(0x1DC0,0x1DFF).addRange(0x200C,0x200D).addRange(0x20D0,0x20F0).addRange(0x302A,0x302D).addRange(0x3099,0x309A).addRange(0xFE00,0xFE0F).addRange(0xFE20,0xFE2D).addRange(0x1CF00,0x1CF2D).addRange(0x1CF30,0x1CF46).addRange(0x1D167,0x1D169).addRange(0x1D17B,0x1D182).addRange(0x1D185,0x1D18B).addRange(0x1D1AA,0x1D1AD).addRange(0xE0100,0xE01EF);Inherited.characters=set;return Inherited;}var Inscriptional_Pahlavi={};var hasRequiredInscriptional_Pahlavi;function requireInscriptional_Pahlavi(){if(hasRequiredInscriptional_Pahlavi)return Inscriptional_Pahlavi;hasRequiredInscriptional_Pahlavi=1;var set=regenerateExports();set.addRange(0x10B60,0x10B72).addRange(0x10B78,0x10B7F);Inscriptional_Pahlavi.characters=set;return Inscriptional_Pahlavi;}var Inscriptional_Parthian={};var hasRequiredInscriptional_Parthian;function requireInscriptional_Parthian(){if(hasRequiredInscriptional_Parthian)return Inscriptional_Parthian;hasRequiredInscriptional_Parthian=1;var set=regenerateExports();set.addRange(0x10B40,0x10B55).addRange(0x10B58,0x10B5F);Inscriptional_Parthian.characters=set;return Inscriptional_Parthian;}var Javanese={};var hasRequiredJavanese;function requireJavanese(){if(hasRequiredJavanese)return Javanese;hasRequiredJavanese=1;var set=regenerateExports();set.addRange(0xA980,0xA9CD).addRange(0xA9D0,0xA9D9).addRange(0xA9DE,0xA9DF);Javanese.characters=set;return Javanese;}var Kaithi={};var hasRequiredKaithi;function requireKaithi(){if(hasRequiredKaithi)return Kaithi;hasRequiredKaithi=1;var set=regenerateExports(0x110CD);set.addRange(0x11080,0x110C2);Kaithi.characters=set;return Kaithi;}var Kannada={};var hasRequiredKannada;function requireKannada(){if(hasRequiredKannada)return Kannada;hasRequiredKannada=1;var set=regenerateExports();set.addRange(0xC80,0xC8C).addRange(0xC8E,0xC90).addRange(0xC92,0xCA8).addRange(0xCAA,0xCB3).addRange(0xCB5,0xCB9).addRange(0xCBC,0xCC4).addRange(0xCC6,0xCC8).addRange(0xCCA,0xCCD).addRange(0xCD5,0xCD6).addRange(0xCDD,0xCDE).addRange(0xCE0,0xCE3).addRange(0xCE6,0xCEF).addRange(0xCF1,0xCF3);Kannada.characters=set;return Kannada;}var Katakana={};var hasRequiredKatakana;function requireKatakana(){if(hasRequiredKatakana)return Katakana;hasRequiredKatakana=1;var set=regenerateExports(0x1B000,0x1B155);set.addRange(0x30A1,0x30FA).addRange(0x30FD,0x30FF).addRange(0x31F0,0x31FF).addRange(0x32D0,0x32FE).addRange(0x3300,0x3357).addRange(0xFF66,0xFF6F).addRange(0xFF71,0xFF9D).addRange(0x1AFF0,0x1AFF3).addRange(0x1AFF5,0x1AFFB).addRange(0x1AFFD,0x1AFFE).addRange(0x1B120,0x1B122).addRange(0x1B164,0x1B167);Katakana.characters=set;return Katakana;}var Kawi={};var hasRequiredKawi;function requireKawi(){if(hasRequiredKawi)return Kawi;hasRequiredKawi=1;var set=regenerateExports();set.addRange(0x11F00,0x11F10).addRange(0x11F12,0x11F3A).addRange(0x11F3E,0x11F59);Kawi.characters=set;return Kawi;}var Kayah_Li={};var hasRequiredKayah_Li;function requireKayah_Li(){if(hasRequiredKayah_Li)return Kayah_Li;hasRequiredKayah_Li=1;var set=regenerateExports(0xA92F);set.addRange(0xA900,0xA92D);Kayah_Li.characters=set;return Kayah_Li;}var Kharoshthi={};var hasRequiredKharoshthi;function requireKharoshthi(){if(hasRequiredKharoshthi)return Kharoshthi;hasRequiredKharoshthi=1;var set=regenerateExports();set.addRange(0x10A00,0x10A03).addRange(0x10A05,0x10A06).addRange(0x10A0C,0x10A13).addRange(0x10A15,0x10A17).addRange(0x10A19,0x10A35).addRange(0x10A38,0x10A3A).addRange(0x10A3F,0x10A48).addRange(0x10A50,0x10A58);Kharoshthi.characters=set;return Kharoshthi;}var Khitan_Small_Script={};var hasRequiredKhitan_Small_Script;function requireKhitan_Small_Script(){if(hasRequiredKhitan_Small_Script)return Khitan_Small_Script;hasRequiredKhitan_Small_Script=1;var set=regenerateExports(0x16FE4);set.addRange(0x18B00,0x18CD5);Khitan_Small_Script.characters=set;return Khitan_Small_Script;}var Khmer={};var hasRequiredKhmer;function requireKhmer(){if(hasRequiredKhmer)return Khmer;hasRequiredKhmer=1;var set=regenerateExports();set.addRange(0x1780,0x17DD).addRange(0x17E0,0x17E9).addRange(0x17F0,0x17F9).addRange(0x19E0,0x19FF);Khmer.characters=set;return Khmer;}var Khojki={};var hasRequiredKhojki;function requireKhojki(){if(hasRequiredKhojki)return Khojki;hasRequiredKhojki=1;var set=regenerateExports();set.addRange(0x11200,0x11211).addRange(0x11213,0x11241);Khojki.characters=set;return Khojki;}var Khudawadi={};var hasRequiredKhudawadi;function requireKhudawadi(){if(hasRequiredKhudawadi)return Khudawadi;hasRequiredKhudawadi=1;var set=regenerateExports();set.addRange(0x112B0,0x112EA).addRange(0x112F0,0x112F9);Khudawadi.characters=set;return Khudawadi;}var Lao={};var hasRequiredLao;function requireLao(){if(hasRequiredLao)return Lao;hasRequiredLao=1;var set=regenerateExports(0xE84,0xEA5,0xEC6);set.addRange(0xE81,0xE82).addRange(0xE86,0xE8A).addRange(0xE8C,0xEA3).addRange(0xEA7,0xEBD).addRange(0xEC0,0xEC4).addRange(0xEC8,0xECE).addRange(0xED0,0xED9).addRange(0xEDC,0xEDF);Lao.characters=set;return Lao;}var Latin={};var hasRequiredLatin;function requireLatin(){if(hasRequiredLatin)return Latin;hasRequiredLatin=1;var set=regenerateExports(0xAA,0xBA,0x2071,0x207F,0x2132,0x214E,0xA7D3);set.addRange(0x41,0x5A).addRange(0x61,0x7A).addRange(0xC0,0xD6).addRange(0xD8,0xF6).addRange(0xF8,0x2B8).addRange(0x2E0,0x2E4).addRange(0x1D00,0x1D25).addRange(0x1D2C,0x1D5C).addRange(0x1D62,0x1D65).addRange(0x1D6B,0x1D77).addRange(0x1D79,0x1DBE).addRange(0x1E00,0x1EFF).addRange(0x2090,0x209C).addRange(0x212A,0x212B).addRange(0x2160,0x2188).addRange(0x2C60,0x2C7F).addRange(0xA722,0xA787).addRange(0xA78B,0xA7CA).addRange(0xA7D0,0xA7D1).addRange(0xA7D5,0xA7D9).addRange(0xA7F2,0xA7FF).addRange(0xAB30,0xAB5A).addRange(0xAB5C,0xAB64).addRange(0xAB66,0xAB69).addRange(0xFB00,0xFB06).addRange(0xFF21,0xFF3A).addRange(0xFF41,0xFF5A).addRange(0x10780,0x10785).addRange(0x10787,0x107B0).addRange(0x107B2,0x107BA).addRange(0x1DF00,0x1DF1E).addRange(0x1DF25,0x1DF2A);Latin.characters=set;return Latin;}var Lepcha={};var hasRequiredLepcha;function requireLepcha(){if(hasRequiredLepcha)return Lepcha;hasRequiredLepcha=1;var set=regenerateExports();set.addRange(0x1C00,0x1C37).addRange(0x1C3B,0x1C49).addRange(0x1C4D,0x1C4F);Lepcha.characters=set;return Lepcha;}var Limbu={};var hasRequiredLimbu;function requireLimbu(){if(hasRequiredLimbu)return Limbu;hasRequiredLimbu=1;var set=regenerateExports(0x1940);set.addRange(0x1900,0x191E).addRange(0x1920,0x192B).addRange(0x1930,0x193B).addRange(0x1944,0x194F);Limbu.characters=set;return Limbu;}var Linear_A={};var hasRequiredLinear_A;function requireLinear_A(){if(hasRequiredLinear_A)return Linear_A;hasRequiredLinear_A=1;var set=regenerateExports();set.addRange(0x10600,0x10736).addRange(0x10740,0x10755).addRange(0x10760,0x10767);Linear_A.characters=set;return Linear_A;}var Linear_B={};var hasRequiredLinear_B;function requireLinear_B(){if(hasRequiredLinear_B)return Linear_B;hasRequiredLinear_B=1;var set=regenerateExports();set.addRange(0x10000,0x1000B).addRange(0x1000D,0x10026).addRange(0x10028,0x1003A).addRange(0x1003C,0x1003D).addRange(0x1003F,0x1004D).addRange(0x10050,0x1005D).addRange(0x10080,0x100FA);Linear_B.characters=set;return Linear_B;}var Lisu={};var hasRequiredLisu;function requireLisu(){if(hasRequiredLisu)return Lisu;hasRequiredLisu=1;var set=regenerateExports(0x11FB0);set.addRange(0xA4D0,0xA4FF);Lisu.characters=set;return Lisu;}var Lycian={};var hasRequiredLycian;function requireLycian(){if(hasRequiredLycian)return Lycian;hasRequiredLycian=1;var set=regenerateExports();set.addRange(0x10280,0x1029C);Lycian.characters=set;return Lycian;}var Lydian={};var hasRequiredLydian;function requireLydian(){if(hasRequiredLydian)return Lydian;hasRequiredLydian=1;var set=regenerateExports(0x1093F);set.addRange(0x10920,0x10939);Lydian.characters=set;return Lydian;}var Mahajani={};var hasRequiredMahajani;function requireMahajani(){if(hasRequiredMahajani)return Mahajani;hasRequiredMahajani=1;var set=regenerateExports();set.addRange(0x11150,0x11176);Mahajani.characters=set;return Mahajani;}var Makasar={};var hasRequiredMakasar;function requireMakasar(){if(hasRequiredMakasar)return Makasar;hasRequiredMakasar=1;var set=regenerateExports();set.addRange(0x11EE0,0x11EF8);Makasar.characters=set;return Makasar;}var Malayalam={};var hasRequiredMalayalam;function requireMalayalam(){if(hasRequiredMalayalam)return Malayalam;hasRequiredMalayalam=1;var set=regenerateExports();set.addRange(0xD00,0xD0C).addRange(0xD0E,0xD10).addRange(0xD12,0xD44).addRange(0xD46,0xD48).addRange(0xD4A,0xD4F).addRange(0xD54,0xD63).addRange(0xD66,0xD7F);Malayalam.characters=set;return Malayalam;}var Mandaic={};var hasRequiredMandaic;function requireMandaic(){if(hasRequiredMandaic)return Mandaic;hasRequiredMandaic=1;var set=regenerateExports(0x85E);set.addRange(0x840,0x85B);Mandaic.characters=set;return Mandaic;}var Manichaean={};var hasRequiredManichaean;function requireManichaean(){if(hasRequiredManichaean)return Manichaean;hasRequiredManichaean=1;var set=regenerateExports();set.addRange(0x10AC0,0x10AE6).addRange(0x10AEB,0x10AF6);Manichaean.characters=set;return Manichaean;}var Marchen={};var hasRequiredMarchen;function requireMarchen(){if(hasRequiredMarchen)return Marchen;hasRequiredMarchen=1;var set=regenerateExports();set.addRange(0x11C70,0x11C8F).addRange(0x11C92,0x11CA7).addRange(0x11CA9,0x11CB6);Marchen.characters=set;return Marchen;}var Masaram_Gondi={};var hasRequiredMasaram_Gondi;function requireMasaram_Gondi(){if(hasRequiredMasaram_Gondi)return Masaram_Gondi;hasRequiredMasaram_Gondi=1;var set=regenerateExports(0x11D3A);set.addRange(0x11D00,0x11D06).addRange(0x11D08,0x11D09).addRange(0x11D0B,0x11D36).addRange(0x11D3C,0x11D3D).addRange(0x11D3F,0x11D47).addRange(0x11D50,0x11D59);Masaram_Gondi.characters=set;return Masaram_Gondi;}var Medefaidrin={};var hasRequiredMedefaidrin;function requireMedefaidrin(){if(hasRequiredMedefaidrin)return Medefaidrin;hasRequiredMedefaidrin=1;var set=regenerateExports();set.addRange(0x16E40,0x16E9A);Medefaidrin.characters=set;return Medefaidrin;}var Meetei_Mayek={};var hasRequiredMeetei_Mayek;function requireMeetei_Mayek(){if(hasRequiredMeetei_Mayek)return Meetei_Mayek;hasRequiredMeetei_Mayek=1;var set=regenerateExports();set.addRange(0xAAE0,0xAAF6).addRange(0xABC0,0xABED).addRange(0xABF0,0xABF9);Meetei_Mayek.characters=set;return Meetei_Mayek;}var Mende_Kikakui={};var hasRequiredMende_Kikakui;function requireMende_Kikakui(){if(hasRequiredMende_Kikakui)return Mende_Kikakui;hasRequiredMende_Kikakui=1;var set=regenerateExports();set.addRange(0x1E800,0x1E8C4).addRange(0x1E8C7,0x1E8D6);Mende_Kikakui.characters=set;return Mende_Kikakui;}var Meroitic_Cursive={};var hasRequiredMeroitic_Cursive;function requireMeroitic_Cursive(){if(hasRequiredMeroitic_Cursive)return Meroitic_Cursive;hasRequiredMeroitic_Cursive=1;var set=regenerateExports();set.addRange(0x109A0,0x109B7).addRange(0x109BC,0x109CF).addRange(0x109D2,0x109FF);Meroitic_Cursive.characters=set;return Meroitic_Cursive;}var Meroitic_Hieroglyphs={};var hasRequiredMeroitic_Hieroglyphs;function requireMeroitic_Hieroglyphs(){if(hasRequiredMeroitic_Hieroglyphs)return Meroitic_Hieroglyphs;hasRequiredMeroitic_Hieroglyphs=1;var set=regenerateExports();set.addRange(0x10980,0x1099F);Meroitic_Hieroglyphs.characters=set;return Meroitic_Hieroglyphs;}var Miao={};var hasRequiredMiao;function requireMiao(){if(hasRequiredMiao)return Miao;hasRequiredMiao=1;var set=regenerateExports();set.addRange(0x16F00,0x16F4A).addRange(0x16F4F,0x16F87).addRange(0x16F8F,0x16F9F);Miao.characters=set;return Miao;}var Modi={};var hasRequiredModi;function requireModi(){if(hasRequiredModi)return Modi;hasRequiredModi=1;var set=regenerateExports();set.addRange(0x11600,0x11644).addRange(0x11650,0x11659);Modi.characters=set;return Modi;}var Mongolian={};var hasRequiredMongolian;function requireMongolian(){if(hasRequiredMongolian)return Mongolian;hasRequiredMongolian=1;var set=regenerateExports(0x1804);set.addRange(0x1800,0x1801).addRange(0x1806,0x1819).addRange(0x1820,0x1878).addRange(0x1880,0x18AA).addRange(0x11660,0x1166C);Mongolian.characters=set;return Mongolian;}var Mro={};var hasRequiredMro;function requireMro(){if(hasRequiredMro)return Mro;hasRequiredMro=1;var set=regenerateExports();set.addRange(0x16A40,0x16A5E).addRange(0x16A60,0x16A69).addRange(0x16A6E,0x16A6F);Mro.characters=set;return Mro;}var Multani={};var hasRequiredMultani;function requireMultani(){if(hasRequiredMultani)return Multani;hasRequiredMultani=1;var set=regenerateExports(0x11288);set.addRange(0x11280,0x11286).addRange(0x1128A,0x1128D).addRange(0x1128F,0x1129D).addRange(0x1129F,0x112A9);Multani.characters=set;return Multani;}var Myanmar={};var hasRequiredMyanmar;function requireMyanmar(){if(hasRequiredMyanmar)return Myanmar;hasRequiredMyanmar=1;var set=regenerateExports();set.addRange(0x1000,0x109F).addRange(0xA9E0,0xA9FE).addRange(0xAA60,0xAA7F);Myanmar.characters=set;return Myanmar;}var Nabataean={};var hasRequiredNabataean;function requireNabataean(){if(hasRequiredNabataean)return Nabataean;hasRequiredNabataean=1;var set=regenerateExports();set.addRange(0x10880,0x1089E).addRange(0x108A7,0x108AF);Nabataean.characters=set;return Nabataean;}var Nag_Mundari={};var hasRequiredNag_Mundari;function requireNag_Mundari(){if(hasRequiredNag_Mundari)return Nag_Mundari;hasRequiredNag_Mundari=1;var set=regenerateExports();set.addRange(0x1E4D0,0x1E4F9);Nag_Mundari.characters=set;return Nag_Mundari;}var Nandinagari={};var hasRequiredNandinagari;function requireNandinagari(){if(hasRequiredNandinagari)return Nandinagari;hasRequiredNandinagari=1;var set=regenerateExports();set.addRange(0x119A0,0x119A7).addRange(0x119AA,0x119D7).addRange(0x119DA,0x119E4);Nandinagari.characters=set;return Nandinagari;}var New_Tai_Lue={};var hasRequiredNew_Tai_Lue;function requireNew_Tai_Lue(){if(hasRequiredNew_Tai_Lue)return New_Tai_Lue;hasRequiredNew_Tai_Lue=1;var set=regenerateExports();set.addRange(0x1980,0x19AB).addRange(0x19B0,0x19C9).addRange(0x19D0,0x19DA).addRange(0x19DE,0x19DF);New_Tai_Lue.characters=set;return New_Tai_Lue;}var Newa={};var hasRequiredNewa;function requireNewa(){if(hasRequiredNewa)return Newa;hasRequiredNewa=1;var set=regenerateExports();set.addRange(0x11400,0x1145B).addRange(0x1145D,0x11461);Newa.characters=set;return Newa;}var Nko={};var hasRequiredNko;function requireNko(){if(hasRequiredNko)return Nko;hasRequiredNko=1;var set=regenerateExports();set.addRange(0x7C0,0x7FA).addRange(0x7FD,0x7FF);Nko.characters=set;return Nko;}var Nushu={};var hasRequiredNushu;function requireNushu(){if(hasRequiredNushu)return Nushu;hasRequiredNushu=1;var set=regenerateExports(0x16FE1);set.addRange(0x1B170,0x1B2FB);Nushu.characters=set;return Nushu;}var Nyiakeng_Puachue_Hmong={};var hasRequiredNyiakeng_Puachue_Hmong;function requireNyiakeng_Puachue_Hmong(){if(hasRequiredNyiakeng_Puachue_Hmong)return Nyiakeng_Puachue_Hmong;hasRequiredNyiakeng_Puachue_Hmong=1;var set=regenerateExports();set.addRange(0x1E100,0x1E12C).addRange(0x1E130,0x1E13D).addRange(0x1E140,0x1E149).addRange(0x1E14E,0x1E14F);Nyiakeng_Puachue_Hmong.characters=set;return Nyiakeng_Puachue_Hmong;}var Ogham={};var hasRequiredOgham;function requireOgham(){if(hasRequiredOgham)return Ogham;hasRequiredOgham=1;var set=regenerateExports();set.addRange(0x1680,0x169C);Ogham.characters=set;return Ogham;}var Ol_Chiki={};var hasRequiredOl_Chiki;function requireOl_Chiki(){if(hasRequiredOl_Chiki)return Ol_Chiki;hasRequiredOl_Chiki=1;var set=regenerateExports();set.addRange(0x1C50,0x1C7F);Ol_Chiki.characters=set;return Ol_Chiki;}var Old_Hungarian={};var hasRequiredOld_Hungarian;function requireOld_Hungarian(){if(hasRequiredOld_Hungarian)return Old_Hungarian;hasRequiredOld_Hungarian=1;var set=regenerateExports();set.addRange(0x10C80,0x10CB2).addRange(0x10CC0,0x10CF2).addRange(0x10CFA,0x10CFF);Old_Hungarian.characters=set;return Old_Hungarian;}var Old_Italic={};var hasRequiredOld_Italic;function requireOld_Italic(){if(hasRequiredOld_Italic)return Old_Italic;hasRequiredOld_Italic=1;var set=regenerateExports();set.addRange(0x10300,0x10323).addRange(0x1032D,0x1032F);Old_Italic.characters=set;return Old_Italic;}var Old_North_Arabian={};var hasRequiredOld_North_Arabian;function requireOld_North_Arabian(){if(hasRequiredOld_North_Arabian)return Old_North_Arabian;hasRequiredOld_North_Arabian=1;var set=regenerateExports();set.addRange(0x10A80,0x10A9F);Old_North_Arabian.characters=set;return Old_North_Arabian;}var Old_Permic={};var hasRequiredOld_Permic;function requireOld_Permic(){if(hasRequiredOld_Permic)return Old_Permic;hasRequiredOld_Permic=1;var set=regenerateExports();set.addRange(0x10350,0x1037A);Old_Permic.characters=set;return Old_Permic;}var Old_Persian={};var hasRequiredOld_Persian;function requireOld_Persian(){if(hasRequiredOld_Persian)return Old_Persian;hasRequiredOld_Persian=1;var set=regenerateExports();set.addRange(0x103A0,0x103C3).addRange(0x103C8,0x103D5);Old_Persian.characters=set;return Old_Persian;}var Old_Sogdian={};var hasRequiredOld_Sogdian;function requireOld_Sogdian(){if(hasRequiredOld_Sogdian)return Old_Sogdian;hasRequiredOld_Sogdian=1;var set=regenerateExports();set.addRange(0x10F00,0x10F27);Old_Sogdian.characters=set;return Old_Sogdian;}var Old_South_Arabian={};var hasRequiredOld_South_Arabian;function requireOld_South_Arabian(){if(hasRequiredOld_South_Arabian)return Old_South_Arabian;hasRequiredOld_South_Arabian=1;var set=regenerateExports();set.addRange(0x10A60,0x10A7F);Old_South_Arabian.characters=set;return Old_South_Arabian;}var Old_Turkic={};var hasRequiredOld_Turkic;function requireOld_Turkic(){if(hasRequiredOld_Turkic)return Old_Turkic;hasRequiredOld_Turkic=1;var set=regenerateExports();set.addRange(0x10C00,0x10C48);Old_Turkic.characters=set;return Old_Turkic;}var Old_Uyghur={};var hasRequiredOld_Uyghur;function requireOld_Uyghur(){if(hasRequiredOld_Uyghur)return Old_Uyghur;hasRequiredOld_Uyghur=1;var set=regenerateExports();set.addRange(0x10F70,0x10F89);Old_Uyghur.characters=set;return Old_Uyghur;}var Oriya={};var hasRequiredOriya;function requireOriya(){if(hasRequiredOriya)return Oriya;hasRequiredOriya=1;var set=regenerateExports();set.addRange(0xB01,0xB03).addRange(0xB05,0xB0C).addRange(0xB0F,0xB10).addRange(0xB13,0xB28).addRange(0xB2A,0xB30).addRange(0xB32,0xB33).addRange(0xB35,0xB39).addRange(0xB3C,0xB44).addRange(0xB47,0xB48).addRange(0xB4B,0xB4D).addRange(0xB55,0xB57).addRange(0xB5C,0xB5D).addRange(0xB5F,0xB63).addRange(0xB66,0xB77);Oriya.characters=set;return Oriya;}var Osage={};var hasRequiredOsage;function requireOsage(){if(hasRequiredOsage)return Osage;hasRequiredOsage=1;var set=regenerateExports();set.addRange(0x104B0,0x104D3).addRange(0x104D8,0x104FB);Osage.characters=set;return Osage;}var Osmanya={};var hasRequiredOsmanya;function requireOsmanya(){if(hasRequiredOsmanya)return Osmanya;hasRequiredOsmanya=1;var set=regenerateExports();set.addRange(0x10480,0x1049D).addRange(0x104A0,0x104A9);Osmanya.characters=set;return Osmanya;}var Pahawh_Hmong={};var hasRequiredPahawh_Hmong;function requirePahawh_Hmong(){if(hasRequiredPahawh_Hmong)return Pahawh_Hmong;hasRequiredPahawh_Hmong=1;var set=regenerateExports();set.addRange(0x16B00,0x16B45).addRange(0x16B50,0x16B59).addRange(0x16B5B,0x16B61).addRange(0x16B63,0x16B77).addRange(0x16B7D,0x16B8F);Pahawh_Hmong.characters=set;return Pahawh_Hmong;}var Palmyrene={};var hasRequiredPalmyrene;function requirePalmyrene(){if(hasRequiredPalmyrene)return Palmyrene;hasRequiredPalmyrene=1;var set=regenerateExports();set.addRange(0x10860,0x1087F);Palmyrene.characters=set;return Palmyrene;}var Pau_Cin_Hau={};var hasRequiredPau_Cin_Hau;function requirePau_Cin_Hau(){if(hasRequiredPau_Cin_Hau)return Pau_Cin_Hau;hasRequiredPau_Cin_Hau=1;var set=regenerateExports();set.addRange(0x11AC0,0x11AF8);Pau_Cin_Hau.characters=set;return Pau_Cin_Hau;}var Phags_Pa={};var hasRequiredPhags_Pa;function requirePhags_Pa(){if(hasRequiredPhags_Pa)return Phags_Pa;hasRequiredPhags_Pa=1;var set=regenerateExports();set.addRange(0xA840,0xA877);Phags_Pa.characters=set;return Phags_Pa;}var Phoenician={};var hasRequiredPhoenician;function requirePhoenician(){if(hasRequiredPhoenician)return Phoenician;hasRequiredPhoenician=1;var set=regenerateExports(0x1091F);set.addRange(0x10900,0x1091B);Phoenician.characters=set;return Phoenician;}var Psalter_Pahlavi={};var hasRequiredPsalter_Pahlavi;function requirePsalter_Pahlavi(){if(hasRequiredPsalter_Pahlavi)return Psalter_Pahlavi;hasRequiredPsalter_Pahlavi=1;var set=regenerateExports();set.addRange(0x10B80,0x10B91).addRange(0x10B99,0x10B9C).addRange(0x10BA9,0x10BAF);Psalter_Pahlavi.characters=set;return Psalter_Pahlavi;}var Rejang={};var hasRequiredRejang;function requireRejang(){if(hasRequiredRejang)return Rejang;hasRequiredRejang=1;var set=regenerateExports(0xA95F);set.addRange(0xA930,0xA953);Rejang.characters=set;return Rejang;}var Runic={};var hasRequiredRunic;function requireRunic(){if(hasRequiredRunic)return Runic;hasRequiredRunic=1;var set=regenerateExports();set.addRange(0x16A0,0x16EA).addRange(0x16EE,0x16F8);Runic.characters=set;return Runic;}var Samaritan={};var hasRequiredSamaritan;function requireSamaritan(){if(hasRequiredSamaritan)return Samaritan;hasRequiredSamaritan=1;var set=regenerateExports();set.addRange(0x800,0x82D).addRange(0x830,0x83E);Samaritan.characters=set;return Samaritan;}var Saurashtra={};var hasRequiredSaurashtra;function requireSaurashtra(){if(hasRequiredSaurashtra)return Saurashtra;hasRequiredSaurashtra=1;var set=regenerateExports();set.addRange(0xA880,0xA8C5).addRange(0xA8CE,0xA8D9);Saurashtra.characters=set;return Saurashtra;}var Sharada={};var hasRequiredSharada;function requireSharada(){if(hasRequiredSharada)return Sharada;hasRequiredSharada=1;var set=regenerateExports();set.addRange(0x11180,0x111DF);Sharada.characters=set;return Sharada;}var Shavian={};var hasRequiredShavian;function requireShavian(){if(hasRequiredShavian)return Shavian;hasRequiredShavian=1;var set=regenerateExports();set.addRange(0x10450,0x1047F);Shavian.characters=set;return Shavian;}var Siddham={};var hasRequiredSiddham;function requireSiddham(){if(hasRequiredSiddham)return Siddham;hasRequiredSiddham=1;var set=regenerateExports();set.addRange(0x11580,0x115B5).addRange(0x115B8,0x115DD);Siddham.characters=set;return Siddham;}var SignWriting={};var hasRequiredSignWriting;function requireSignWriting(){if(hasRequiredSignWriting)return SignWriting;hasRequiredSignWriting=1;var set=regenerateExports();set.addRange(0x1D800,0x1DA8B).addRange(0x1DA9B,0x1DA9F).addRange(0x1DAA1,0x1DAAF);SignWriting.characters=set;return SignWriting;}var Sinhala={};var hasRequiredSinhala;function requireSinhala(){if(hasRequiredSinhala)return Sinhala;hasRequiredSinhala=1;var set=regenerateExports(0xDBD,0xDCA,0xDD6);set.addRange(0xD81,0xD83).addRange(0xD85,0xD96).addRange(0xD9A,0xDB1).addRange(0xDB3,0xDBB).addRange(0xDC0,0xDC6).addRange(0xDCF,0xDD4).addRange(0xDD8,0xDDF).addRange(0xDE6,0xDEF).addRange(0xDF2,0xDF4).addRange(0x111E1,0x111F4);Sinhala.characters=set;return Sinhala;}var Sogdian={};var hasRequiredSogdian;function requireSogdian(){if(hasRequiredSogdian)return Sogdian;hasRequiredSogdian=1;var set=regenerateExports();set.addRange(0x10F30,0x10F59);Sogdian.characters=set;return Sogdian;}var Sora_Sompeng={};var hasRequiredSora_Sompeng;function requireSora_Sompeng(){if(hasRequiredSora_Sompeng)return Sora_Sompeng;hasRequiredSora_Sompeng=1;var set=regenerateExports();set.addRange(0x110D0,0x110E8).addRange(0x110F0,0x110F9);Sora_Sompeng.characters=set;return Sora_Sompeng;}var Soyombo={};var hasRequiredSoyombo;function requireSoyombo(){if(hasRequiredSoyombo)return Soyombo;hasRequiredSoyombo=1;var set=regenerateExports();set.addRange(0x11A50,0x11AA2);Soyombo.characters=set;return Soyombo;}var Sundanese={};var hasRequiredSundanese;function requireSundanese(){if(hasRequiredSundanese)return Sundanese;hasRequiredSundanese=1;var set=regenerateExports();set.addRange(0x1B80,0x1BBF).addRange(0x1CC0,0x1CC7);Sundanese.characters=set;return Sundanese;}var Syloti_Nagri={};var hasRequiredSyloti_Nagri;function requireSyloti_Nagri(){if(hasRequiredSyloti_Nagri)return Syloti_Nagri;hasRequiredSyloti_Nagri=1;var set=regenerateExports();set.addRange(0xA800,0xA82C);Syloti_Nagri.characters=set;return Syloti_Nagri;}var Syriac={};var hasRequiredSyriac;function requireSyriac(){if(hasRequiredSyriac)return Syriac;hasRequiredSyriac=1;var set=regenerateExports();set.addRange(0x700,0x70D).addRange(0x70F,0x74A).addRange(0x74D,0x74F).addRange(0x860,0x86A);Syriac.characters=set;return Syriac;}var Tagalog={};var hasRequiredTagalog;function requireTagalog(){if(hasRequiredTagalog)return Tagalog;hasRequiredTagalog=1;var set=regenerateExports(0x171F);set.addRange(0x1700,0x1715);Tagalog.characters=set;return Tagalog;}var Tagbanwa={};var hasRequiredTagbanwa;function requireTagbanwa(){if(hasRequiredTagbanwa)return Tagbanwa;hasRequiredTagbanwa=1;var set=regenerateExports();set.addRange(0x1760,0x176C).addRange(0x176E,0x1770).addRange(0x1772,0x1773);Tagbanwa.characters=set;return Tagbanwa;}var Tai_Le={};var hasRequiredTai_Le;function requireTai_Le(){if(hasRequiredTai_Le)return Tai_Le;hasRequiredTai_Le=1;var set=regenerateExports();set.addRange(0x1950,0x196D).addRange(0x1970,0x1974);Tai_Le.characters=set;return Tai_Le;}var Tai_Tham={};var hasRequiredTai_Tham;function requireTai_Tham(){if(hasRequiredTai_Tham)return Tai_Tham;hasRequiredTai_Tham=1;var set=regenerateExports();set.addRange(0x1A20,0x1A5E).addRange(0x1A60,0x1A7C).addRange(0x1A7F,0x1A89).addRange(0x1A90,0x1A99).addRange(0x1AA0,0x1AAD);Tai_Tham.characters=set;return Tai_Tham;}var Tai_Viet={};var hasRequiredTai_Viet;function requireTai_Viet(){if(hasRequiredTai_Viet)return Tai_Viet;hasRequiredTai_Viet=1;var set=regenerateExports();set.addRange(0xAA80,0xAAC2).addRange(0xAADB,0xAADF);Tai_Viet.characters=set;return Tai_Viet;}var Takri={};var hasRequiredTakri;function requireTakri(){if(hasRequiredTakri)return Takri;hasRequiredTakri=1;var set=regenerateExports();set.addRange(0x11680,0x116B9).addRange(0x116C0,0x116C9);Takri.characters=set;return Takri;}var Tamil={};var hasRequiredTamil;function requireTamil(){if(hasRequiredTamil)return Tamil;hasRequiredTamil=1;var set=regenerateExports(0xB9C,0xBD0,0xBD7,0x11FFF);set.addRange(0xB82,0xB83).addRange(0xB85,0xB8A).addRange(0xB8E,0xB90).addRange(0xB92,0xB95).addRange(0xB99,0xB9A).addRange(0xB9E,0xB9F).addRange(0xBA3,0xBA4).addRange(0xBA8,0xBAA).addRange(0xBAE,0xBB9).addRange(0xBBE,0xBC2).addRange(0xBC6,0xBC8).addRange(0xBCA,0xBCD).addRange(0xBE6,0xBFA).addRange(0x11FC0,0x11FF1);Tamil.characters=set;return Tamil;}var Tangsa={};var hasRequiredTangsa;function requireTangsa(){if(hasRequiredTangsa)return Tangsa;hasRequiredTangsa=1;var set=regenerateExports();set.addRange(0x16A70,0x16ABE).addRange(0x16AC0,0x16AC9);Tangsa.characters=set;return Tangsa;}var Tangut={};var hasRequiredTangut;function requireTangut(){if(hasRequiredTangut)return Tangut;hasRequiredTangut=1;var set=regenerateExports(0x16FE0);set.addRange(0x17000,0x187F7).addRange(0x18800,0x18AFF).addRange(0x18D00,0x18D08);Tangut.characters=set;return Tangut;}var Telugu={};var hasRequiredTelugu;function requireTelugu(){if(hasRequiredTelugu)return Telugu;hasRequiredTelugu=1;var set=regenerateExports(0xC5D);set.addRange(0xC00,0xC0C).addRange(0xC0E,0xC10).addRange(0xC12,0xC28).addRange(0xC2A,0xC39).addRange(0xC3C,0xC44).addRange(0xC46,0xC48).addRange(0xC4A,0xC4D).addRange(0xC55,0xC56).addRange(0xC58,0xC5A).addRange(0xC60,0xC63).addRange(0xC66,0xC6F).addRange(0xC77,0xC7F);Telugu.characters=set;return Telugu;}var Thaana={};var hasRequiredThaana;function requireThaana(){if(hasRequiredThaana)return Thaana;hasRequiredThaana=1;var set=regenerateExports();set.addRange(0x780,0x7B1);Thaana.characters=set;return Thaana;}var Thai={};var hasRequiredThai;function requireThai(){if(hasRequiredThai)return Thai;hasRequiredThai=1;var set=regenerateExports();set.addRange(0xE01,0xE3A).addRange(0xE40,0xE5B);Thai.characters=set;return Thai;}var Tibetan={};var hasRequiredTibetan;function requireTibetan(){if(hasRequiredTibetan)return Tibetan;hasRequiredTibetan=1;var set=regenerateExports();set.addRange(0xF00,0xF47).addRange(0xF49,0xF6C).addRange(0xF71,0xF97).addRange(0xF99,0xFBC).addRange(0xFBE,0xFCC).addRange(0xFCE,0xFD4).addRange(0xFD9,0xFDA);Tibetan.characters=set;return Tibetan;}var Tifinagh={};var hasRequiredTifinagh;function requireTifinagh(){if(hasRequiredTifinagh)return Tifinagh;hasRequiredTifinagh=1;var set=regenerateExports(0x2D7F);set.addRange(0x2D30,0x2D67).addRange(0x2D6F,0x2D70);Tifinagh.characters=set;return Tifinagh;}var Tirhuta={};var hasRequiredTirhuta;function requireTirhuta(){if(hasRequiredTirhuta)return Tirhuta;hasRequiredTirhuta=1;var set=regenerateExports();set.addRange(0x11480,0x114C7).addRange(0x114D0,0x114D9);Tirhuta.characters=set;return Tirhuta;}var Toto={};var hasRequiredToto;function requireToto(){if(hasRequiredToto)return Toto;hasRequiredToto=1;var set=regenerateExports();set.addRange(0x1E290,0x1E2AE);Toto.characters=set;return Toto;}var Ugaritic={};var hasRequiredUgaritic;function requireUgaritic(){if(hasRequiredUgaritic)return Ugaritic;hasRequiredUgaritic=1;var set=regenerateExports(0x1039F);set.addRange(0x10380,0x1039D);Ugaritic.characters=set;return Ugaritic;}var Vai={};var hasRequiredVai;function requireVai(){if(hasRequiredVai)return Vai;hasRequiredVai=1;var set=regenerateExports();set.addRange(0xA500,0xA62B);Vai.characters=set;return Vai;}var Vithkuqi={};var hasRequiredVithkuqi;function requireVithkuqi(){if(hasRequiredVithkuqi)return Vithkuqi;hasRequiredVithkuqi=1;var set=regenerateExports();set.addRange(0x10570,0x1057A).addRange(0x1057C,0x1058A).addRange(0x1058C,0x10592).addRange(0x10594,0x10595).addRange(0x10597,0x105A1).addRange(0x105A3,0x105B1).addRange(0x105B3,0x105B9).addRange(0x105BB,0x105BC);Vithkuqi.characters=set;return Vithkuqi;}var Wancho={};var hasRequiredWancho;function requireWancho(){if(hasRequiredWancho)return Wancho;hasRequiredWancho=1;var set=regenerateExports(0x1E2FF);set.addRange(0x1E2C0,0x1E2F9);Wancho.characters=set;return Wancho;}var Warang_Citi={};var hasRequiredWarang_Citi;function requireWarang_Citi(){if(hasRequiredWarang_Citi)return Warang_Citi;hasRequiredWarang_Citi=1;var set=regenerateExports(0x118FF);set.addRange(0x118A0,0x118F2);Warang_Citi.characters=set;return Warang_Citi;}var Yezidi={};var hasRequiredYezidi;function requireYezidi(){if(hasRequiredYezidi)return Yezidi;hasRequiredYezidi=1;var set=regenerateExports();set.addRange(0x10E80,0x10EA9).addRange(0x10EAB,0x10EAD).addRange(0x10EB0,0x10EB1);Yezidi.characters=set;return Yezidi;}var Yi={};var hasRequiredYi;function requireYi(){if(hasRequiredYi)return Yi;hasRequiredYi=1;var set=regenerateExports();set.addRange(0xA000,0xA48C).addRange(0xA490,0xA4C6);Yi.characters=set;return Yi;}var Zanabazar_Square={};var hasRequiredZanabazar_Square;function requireZanabazar_Square(){if(hasRequiredZanabazar_Square)return Zanabazar_Square;hasRequiredZanabazar_Square=1;var set=regenerateExports();set.addRange(0x11A00,0x11A47);Zanabazar_Square.characters=set;return Zanabazar_Square;}var unicodeVersion;var hasRequiredUnicodeVersion;function requireUnicodeVersion(){if(hasRequiredUnicodeVersion)return unicodeVersion;hasRequiredUnicodeVersion=1;unicodeVersion='15.1.0';return unicodeVersion;}var dynamicModules;function getDynamicModules(){return dynamicModules||(dynamicModules={"/node_modules/regenerate-unicode-properties/Binary_Property/Alphabetic.js":requireAlphabetic,"/node_modules/regenerate-unicode-properties/Binary_Property/Any.js":requireAny,"/node_modules/regenerate-unicode-properties/Binary_Property/ASCII_Hex_Digit.js":requireASCII_Hex_Digit,"/node_modules/regenerate-unicode-properties/Binary_Property/ASCII.js":requireASCII,"/node_modules/regenerate-unicode-properties/Binary_Property/Assigned.js":requireAssigned,"/node_modules/regenerate-unicode-properties/Binary_Property/Bidi_Control.js":requireBidi_Control,"/node_modules/regenerate-unicode-properties/Binary_Property/Bidi_Mirrored.js":requireBidi_Mirrored,"/node_modules/regenerate-unicode-properties/Binary_Property/Case_Ignorable.js":requireCase_Ignorable,"/node_modules/regenerate-unicode-properties/Binary_Property/Cased.js":requireCased,"/node_modules/regenerate-unicode-properties/Binary_Property/Changes_When_Casefolded.js":requireChanges_When_Casefolded,"/node_modules/regenerate-unicode-properties/Binary_Property/Changes_When_Casemapped.js":requireChanges_When_Casemapped,"/node_modules/regenerate-unicode-properties/Binary_Property/Changes_When_Lowercased.js":requireChanges_When_Lowercased,"/node_modules/regenerate-unicode-properties/Binary_Property/Changes_When_NFKC_Casefolded.js":requireChanges_When_NFKC_Casefolded,"/node_modules/regenerate-unicode-properties/Binary_Property/Changes_When_Titlecased.js":requireChanges_When_Titlecased,"/node_modules/regenerate-unicode-properties/Binary_Property/Changes_When_Uppercased.js":requireChanges_When_Uppercased,"/node_modules/regenerate-unicode-properties/Binary_Property/Dash.js":requireDash,"/node_modules/regenerate-unicode-properties/Binary_Property/Default_Ignorable_Code_Point.js":requireDefault_Ignorable_Code_Point,"/node_modules/regenerate-unicode-properties/Binary_Property/Deprecated.js":requireDeprecated,"/node_modules/regenerate-unicode-properties/Binary_Property/Diacritic.js":requireDiacritic,"/node_modules/regenerate-unicode-properties/Binary_Property/Emoji_Component.js":requireEmoji_Component,"/node_modules/regenerate-unicode-properties/Binary_Property/Emoji_Modifier_Base.js":requireEmoji_Modifier_Base,"/node_modules/regenerate-unicode-properties/Binary_Property/Emoji_Modifier.js":requireEmoji_Modifier,"/node_modules/regenerate-unicode-properties/Binary_Property/Emoji_Presentation.js":requireEmoji_Presentation,"/node_modules/regenerate-unicode-properties/Binary_Property/Emoji.js":requireEmoji,"/node_modules/regenerate-unicode-properties/Binary_Property/Extended_Pictographic.js":requireExtended_Pictographic,"/node_modules/regenerate-unicode-properties/Binary_Property/Extender.js":requireExtender,"/node_modules/regenerate-unicode-properties/Binary_Property/Grapheme_Base.js":requireGrapheme_Base,"/node_modules/regenerate-unicode-properties/Binary_Property/Grapheme_Extend.js":requireGrapheme_Extend,"/node_modules/regenerate-unicode-properties/Binary_Property/Hex_Digit.js":requireHex_Digit,"/node_modules/regenerate-unicode-properties/Binary_Property/ID_Continue.js":requireID_Continue,"/node_modules/regenerate-unicode-properties/Binary_Property/ID_Start.js":requireID_Start,"/node_modules/regenerate-unicode-properties/Binary_Property/Ideographic.js":requireIdeographic,"/node_modules/regenerate-unicode-properties/Binary_Property/IDS_Binary_Operator.js":requireIDS_Binary_Operator,"/node_modules/regenerate-unicode-properties/Binary_Property/IDS_Trinary_Operator.js":requireIDS_Trinary_Operator,"/node_modules/regenerate-unicode-properties/Binary_Property/Join_Control.js":requireJoin_Control,"/node_modules/regenerate-unicode-properties/Binary_Property/Logical_Order_Exception.js":requireLogical_Order_Exception,"/node_modules/regenerate-unicode-properties/Binary_Property/Lowercase.js":requireLowercase,"/node_modules/regenerate-unicode-properties/Binary_Property/Math.js":require_Math,"/node_modules/regenerate-unicode-properties/Binary_Property/Noncharacter_Code_Point.js":requireNoncharacter_Code_Point,"/node_modules/regenerate-unicode-properties/Binary_Property/Pattern_Syntax.js":requirePattern_Syntax,"/node_modules/regenerate-unicode-properties/Binary_Property/Pattern_White_Space.js":requirePattern_White_Space,"/node_modules/regenerate-unicode-properties/Binary_Property/Quotation_Mark.js":requireQuotation_Mark,"/node_modules/regenerate-unicode-properties/Binary_Property/Radical.js":requireRadical,"/node_modules/regenerate-unicode-properties/Binary_Property/Regional_Indicator.js":requireRegional_Indicator,"/node_modules/regenerate-unicode-properties/Binary_Property/Sentence_Terminal.js":requireSentence_Terminal,"/node_modules/regenerate-unicode-properties/Binary_Property/Soft_Dotted.js":requireSoft_Dotted,"/node_modules/regenerate-unicode-properties/Binary_Property/Terminal_Punctuation.js":requireTerminal_Punctuation,"/node_modules/regenerate-unicode-properties/Binary_Property/Unified_Ideograph.js":requireUnified_Ideograph,"/node_modules/regenerate-unicode-properties/Binary_Property/Uppercase.js":requireUppercase,"/node_modules/regenerate-unicode-properties/Binary_Property/Variation_Selector.js":requireVariation_Selector,"/node_modules/regenerate-unicode-properties/Binary_Property/White_Space.js":requireWhite_Space,"/node_modules/regenerate-unicode-properties/Binary_Property/XID_Continue.js":requireXID_Continue,"/node_modules/regenerate-unicode-properties/Binary_Property/XID_Start.js":requireXID_Start,"/node_modules/regenerate-unicode-properties/General_Category/Cased_Letter.js":requireCased_Letter,"/node_modules/regenerate-unicode-properties/General_Category/Close_Punctuation.js":requireClose_Punctuation,"/node_modules/regenerate-unicode-properties/General_Category/Connector_Punctuation.js":requireConnector_Punctuation,"/node_modules/regenerate-unicode-properties/General_Category/Control.js":requireControl,"/node_modules/regenerate-unicode-properties/General_Category/Currency_Symbol.js":requireCurrency_Symbol,"/node_modules/regenerate-unicode-properties/General_Category/Dash_Punctuation.js":requireDash_Punctuation,"/node_modules/regenerate-unicode-properties/General_Category/Decimal_Number.js":requireDecimal_Number,"/node_modules/regenerate-unicode-properties/General_Category/Enclosing_Mark.js":requireEnclosing_Mark,"/node_modules/regenerate-unicode-properties/General_Category/Final_Punctuation.js":requireFinal_Punctuation,"/node_modules/regenerate-unicode-properties/General_Category/Format.js":requireFormat,"/node_modules/regenerate-unicode-properties/General_Category/Initial_Punctuation.js":requireInitial_Punctuation,"/node_modules/regenerate-unicode-properties/General_Category/Letter_Number.js":requireLetter_Number,"/node_modules/regenerate-unicode-properties/General_Category/Letter.js":requireLetter,"/node_modules/regenerate-unicode-properties/General_Category/Line_Separator.js":requireLine_Separator,"/node_modules/regenerate-unicode-properties/General_Category/Lowercase_Letter.js":requireLowercase_Letter,"/node_modules/regenerate-unicode-properties/General_Category/Mark.js":requireMark,"/node_modules/regenerate-unicode-properties/General_Category/Math_Symbol.js":requireMath_Symbol,"/node_modules/regenerate-unicode-properties/General_Category/Modifier_Letter.js":requireModifier_Letter,"/node_modules/regenerate-unicode-properties/General_Category/Modifier_Symbol.js":requireModifier_Symbol,"/node_modules/regenerate-unicode-properties/General_Category/Nonspacing_Mark.js":requireNonspacing_Mark,"/node_modules/regenerate-unicode-properties/General_Category/Number.js":require_Number,"/node_modules/regenerate-unicode-properties/General_Category/Open_Punctuation.js":requireOpen_Punctuation,"/node_modules/regenerate-unicode-properties/General_Category/Other_Letter.js":requireOther_Letter,"/node_modules/regenerate-unicode-properties/General_Category/Other_Number.js":requireOther_Number,"/node_modules/regenerate-unicode-properties/General_Category/Other_Punctuation.js":requireOther_Punctuation,"/node_modules/regenerate-unicode-properties/General_Category/Other_Symbol.js":requireOther_Symbol,"/node_modules/regenerate-unicode-properties/General_Category/Other.js":requireOther,"/node_modules/regenerate-unicode-properties/General_Category/Paragraph_Separator.js":requireParagraph_Separator,"/node_modules/regenerate-unicode-properties/General_Category/Private_Use.js":requirePrivate_Use,"/node_modules/regenerate-unicode-properties/General_Category/Punctuation.js":requirePunctuation,"/node_modules/regenerate-unicode-properties/General_Category/Separator.js":requireSeparator,"/node_modules/regenerate-unicode-properties/General_Category/Space_Separator.js":requireSpace_Separator,"/node_modules/regenerate-unicode-properties/General_Category/Spacing_Mark.js":requireSpacing_Mark,"/node_modules/regenerate-unicode-properties/General_Category/Surrogate.js":requireSurrogate,"/node_modules/regenerate-unicode-properties/General_Category/Symbol.js":require_Symbol,"/node_modules/regenerate-unicode-properties/General_Category/Titlecase_Letter.js":requireTitlecase_Letter,"/node_modules/regenerate-unicode-properties/General_Category/Unassigned.js":requireUnassigned,"/node_modules/regenerate-unicode-properties/General_Category/Uppercase_Letter.js":requireUppercase_Letter,"/node_modules/regenerate-unicode-properties/index.js":requireRegenerateUnicodeProperties,"/node_modules/regenerate-unicode-properties/Property_of_Strings/Basic_Emoji.js":requireBasic_Emoji,"/node_modules/regenerate-unicode-properties/Property_of_Strings/Emoji_Keycap_Sequence.js":requireEmoji_Keycap_Sequence,"/node_modules/regenerate-unicode-properties/Property_of_Strings/RGI_Emoji_Flag_Sequence.js":requireRGI_Emoji_Flag_Sequence,"/node_modules/regenerate-unicode-properties/Property_of_Strings/RGI_Emoji_Modifier_Sequence.js":requireRGI_Emoji_Modifier_Sequence,"/node_modules/regenerate-unicode-properties/Property_of_Strings/RGI_Emoji_Tag_Sequence.js":requireRGI_Emoji_Tag_Sequence,"/node_modules/regenerate-unicode-properties/Property_of_Strings/RGI_Emoji_ZWJ_Sequence.js":requireRGI_Emoji_ZWJ_Sequence,"/node_modules/regenerate-unicode-properties/Property_of_Strings/RGI_Emoji.js":requireRGI_Emoji,"/node_modules/regenerate-unicode-properties/Script_Extensions/Adlam.js":requireAdlam$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Ahom.js":requireAhom$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Anatolian_Hieroglyphs.js":requireAnatolian_Hieroglyphs$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Arabic.js":requireArabic$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Armenian.js":requireArmenian$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Avestan.js":requireAvestan$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Balinese.js":requireBalinese$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Bamum.js":requireBamum$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Bassa_Vah.js":requireBassa_Vah$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Batak.js":requireBatak$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Bengali.js":requireBengali$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Bhaiksuki.js":requireBhaiksuki$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Bopomofo.js":requireBopomofo$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Brahmi.js":requireBrahmi$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Braille.js":requireBraille$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Buginese.js":requireBuginese$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Buhid.js":requireBuhid$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Canadian_Aboriginal.js":requireCanadian_Aboriginal$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Carian.js":requireCarian$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Caucasian_Albanian.js":requireCaucasian_Albanian$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Chakma.js":requireChakma$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Cham.js":requireCham$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Cherokee.js":requireCherokee$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Chorasmian.js":requireChorasmian$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Common.js":requireCommon$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Coptic.js":requireCoptic$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Cuneiform.js":requireCuneiform$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Cypriot.js":requireCypriot$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Cypro_Minoan.js":requireCypro_Minoan$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Cyrillic.js":requireCyrillic$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Deseret.js":requireDeseret$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Devanagari.js":requireDevanagari$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Dives_Akuru.js":requireDives_Akuru$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Dogra.js":requireDogra$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Duployan.js":requireDuployan$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Egyptian_Hieroglyphs.js":requireEgyptian_Hieroglyphs$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Elbasan.js":requireElbasan$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Elymaic.js":requireElymaic$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Ethiopic.js":requireEthiopic$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Georgian.js":requireGeorgian$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Glagolitic.js":requireGlagolitic$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Gothic.js":requireGothic$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Grantha.js":requireGrantha$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Greek.js":requireGreek$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Gujarati.js":requireGujarati$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Gunjala_Gondi.js":requireGunjala_Gondi$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Gurmukhi.js":requireGurmukhi$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Han.js":requireHan$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Hangul.js":requireHangul$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Hanifi_Rohingya.js":requireHanifi_Rohingya$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Hanunoo.js":requireHanunoo$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Hatran.js":requireHatran$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Hebrew.js":requireHebrew$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Hiragana.js":requireHiragana$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Imperial_Aramaic.js":requireImperial_Aramaic$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Inherited.js":requireInherited$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Inscriptional_Pahlavi.js":requireInscriptional_Pahlavi$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Inscriptional_Parthian.js":requireInscriptional_Parthian$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Javanese.js":requireJavanese$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Kaithi.js":requireKaithi$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Kannada.js":requireKannada$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Katakana.js":requireKatakana$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Kawi.js":requireKawi$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Kayah_Li.js":requireKayah_Li$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Kharoshthi.js":requireKharoshthi$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Khitan_Small_Script.js":requireKhitan_Small_Script$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Khmer.js":requireKhmer$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Khojki.js":requireKhojki$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Khudawadi.js":requireKhudawadi$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Lao.js":requireLao$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Latin.js":requireLatin$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Lepcha.js":requireLepcha$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Limbu.js":requireLimbu$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Linear_A.js":requireLinear_A$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Linear_B.js":requireLinear_B$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Lisu.js":requireLisu$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Lycian.js":requireLycian$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Lydian.js":requireLydian$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Mahajani.js":requireMahajani$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Makasar.js":requireMakasar$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Malayalam.js":requireMalayalam$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Mandaic.js":requireMandaic$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Manichaean.js":requireManichaean$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Marchen.js":requireMarchen$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Masaram_Gondi.js":requireMasaram_Gondi$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Medefaidrin.js":requireMedefaidrin$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Meetei_Mayek.js":requireMeetei_Mayek$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Mende_Kikakui.js":requireMende_Kikakui$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Meroitic_Cursive.js":requireMeroitic_Cursive$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Meroitic_Hieroglyphs.js":requireMeroitic_Hieroglyphs$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Miao.js":requireMiao$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Modi.js":requireModi$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Mongolian.js":requireMongolian$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Mro.js":requireMro$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Multani.js":requireMultani$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Myanmar.js":requireMyanmar$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Nabataean.js":requireNabataean$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Nag_Mundari.js":requireNag_Mundari$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Nandinagari.js":requireNandinagari$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/New_Tai_Lue.js":requireNew_Tai_Lue$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Newa.js":requireNewa$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Nko.js":requireNko$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Nushu.js":requireNushu$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Nyiakeng_Puachue_Hmong.js":requireNyiakeng_Puachue_Hmong$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Ogham.js":requireOgham$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Ol_Chiki.js":requireOl_Chiki$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Old_Hungarian.js":requireOld_Hungarian$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Old_Italic.js":requireOld_Italic$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Old_North_Arabian.js":requireOld_North_Arabian$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Old_Permic.js":requireOld_Permic$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Old_Persian.js":requireOld_Persian$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Old_Sogdian.js":requireOld_Sogdian$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Old_South_Arabian.js":requireOld_South_Arabian$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Old_Turkic.js":requireOld_Turkic$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Old_Uyghur.js":requireOld_Uyghur$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Oriya.js":requireOriya$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Osage.js":requireOsage$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Osmanya.js":requireOsmanya$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Pahawh_Hmong.js":requirePahawh_Hmong$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Palmyrene.js":requirePalmyrene$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Pau_Cin_Hau.js":requirePau_Cin_Hau$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Phags_Pa.js":requirePhags_Pa$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Phoenician.js":requirePhoenician$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Psalter_Pahlavi.js":requirePsalter_Pahlavi$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Rejang.js":requireRejang$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Runic.js":requireRunic$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Samaritan.js":requireSamaritan$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Saurashtra.js":requireSaurashtra$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Sharada.js":requireSharada$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Shavian.js":requireShavian$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Siddham.js":requireSiddham$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/SignWriting.js":requireSignWriting$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Sinhala.js":requireSinhala$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Sogdian.js":requireSogdian$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Sora_Sompeng.js":requireSora_Sompeng$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Soyombo.js":requireSoyombo$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Sundanese.js":requireSundanese$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Syloti_Nagri.js":requireSyloti_Nagri$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Syriac.js":requireSyriac$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Tagalog.js":requireTagalog$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Tagbanwa.js":requireTagbanwa$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Tai_Le.js":requireTai_Le$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Tai_Tham.js":requireTai_Tham$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Tai_Viet.js":requireTai_Viet$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Takri.js":requireTakri$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Tamil.js":requireTamil$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Tangsa.js":requireTangsa$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Tangut.js":requireTangut$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Telugu.js":requireTelugu$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Thaana.js":requireThaana$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Thai.js":requireThai$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Tibetan.js":requireTibetan$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Tifinagh.js":requireTifinagh$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Tirhuta.js":requireTirhuta$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Toto.js":requireToto$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Ugaritic.js":requireUgaritic$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Vai.js":requireVai$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Vithkuqi.js":requireVithkuqi$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Wancho.js":requireWancho$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Warang_Citi.js":requireWarang_Citi$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Yezidi.js":requireYezidi$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Yi.js":requireYi$1,"/node_modules/regenerate-unicode-properties/Script_Extensions/Zanabazar_Square.js":requireZanabazar_Square$1,"/node_modules/regenerate-unicode-properties/Script/Adlam.js":requireAdlam,"/node_modules/regenerate-unicode-properties/Script/Ahom.js":requireAhom,"/node_modules/regenerate-unicode-properties/Script/Anatolian_Hieroglyphs.js":requireAnatolian_Hieroglyphs,"/node_modules/regenerate-unicode-properties/Script/Arabic.js":requireArabic,"/node_modules/regenerate-unicode-properties/Script/Armenian.js":requireArmenian,"/node_modules/regenerate-unicode-properties/Script/Avestan.js":requireAvestan,"/node_modules/regenerate-unicode-properties/Script/Balinese.js":requireBalinese,"/node_modules/regenerate-unicode-properties/Script/Bamum.js":requireBamum,"/node_modules/regenerate-unicode-properties/Script/Bassa_Vah.js":requireBassa_Vah,"/node_modules/regenerate-unicode-properties/Script/Batak.js":requireBatak,"/node_modules/regenerate-unicode-properties/Script/Bengali.js":requireBengali,"/node_modules/regenerate-unicode-properties/Script/Bhaiksuki.js":requireBhaiksuki,"/node_modules/regenerate-unicode-properties/Script/Bopomofo.js":requireBopomofo,"/node_modules/regenerate-unicode-properties/Script/Brahmi.js":requireBrahmi,"/node_modules/regenerate-unicode-properties/Script/Braille.js":requireBraille,"/node_modules/regenerate-unicode-properties/Script/Buginese.js":requireBuginese,"/node_modules/regenerate-unicode-properties/Script/Buhid.js":requireBuhid,"/node_modules/regenerate-unicode-properties/Script/Canadian_Aboriginal.js":requireCanadian_Aboriginal,"/node_modules/regenerate-unicode-properties/Script/Carian.js":requireCarian,"/node_modules/regenerate-unicode-properties/Script/Caucasian_Albanian.js":requireCaucasian_Albanian,"/node_modules/regenerate-unicode-properties/Script/Chakma.js":requireChakma,"/node_modules/regenerate-unicode-properties/Script/Cham.js":requireCham,"/node_modules/regenerate-unicode-properties/Script/Cherokee.js":requireCherokee,"/node_modules/regenerate-unicode-properties/Script/Chorasmian.js":requireChorasmian,"/node_modules/regenerate-unicode-properties/Script/Common.js":requireCommon,"/node_modules/regenerate-unicode-properties/Script/Coptic.js":requireCoptic,"/node_modules/regenerate-unicode-properties/Script/Cuneiform.js":requireCuneiform,"/node_modules/regenerate-unicode-properties/Script/Cypriot.js":requireCypriot,"/node_modules/regenerate-unicode-properties/Script/Cypro_Minoan.js":requireCypro_Minoan,"/node_modules/regenerate-unicode-properties/Script/Cyrillic.js":requireCyrillic,"/node_modules/regenerate-unicode-properties/Script/Deseret.js":requireDeseret,"/node_modules/regenerate-unicode-properties/Script/Devanagari.js":requireDevanagari,"/node_modules/regenerate-unicode-properties/Script/Dives_Akuru.js":requireDives_Akuru,"/node_modules/regenerate-unicode-properties/Script/Dogra.js":requireDogra,"/node_modules/regenerate-unicode-properties/Script/Duployan.js":requireDuployan,"/node_modules/regenerate-unicode-properties/Script/Egyptian_Hieroglyphs.js":requireEgyptian_Hieroglyphs,"/node_modules/regenerate-unicode-properties/Script/Elbasan.js":requireElbasan,"/node_modules/regenerate-unicode-properties/Script/Elymaic.js":requireElymaic,"/node_modules/regenerate-unicode-properties/Script/Ethiopic.js":requireEthiopic,"/node_modules/regenerate-unicode-properties/Script/Georgian.js":requireGeorgian,"/node_modules/regenerate-unicode-properties/Script/Glagolitic.js":requireGlagolitic,"/node_modules/regenerate-unicode-properties/Script/Gothic.js":requireGothic,"/node_modules/regenerate-unicode-properties/Script/Grantha.js":requireGrantha,"/node_modules/regenerate-unicode-properties/Script/Greek.js":requireGreek,"/node_modules/regenerate-unicode-properties/Script/Gujarati.js":requireGujarati,"/node_modules/regenerate-unicode-properties/Script/Gunjala_Gondi.js":requireGunjala_Gondi,"/node_modules/regenerate-unicode-properties/Script/Gurmukhi.js":requireGurmukhi,"/node_modules/regenerate-unicode-properties/Script/Han.js":requireHan,"/node_modules/regenerate-unicode-properties/Script/Hangul.js":requireHangul,"/node_modules/regenerate-unicode-properties/Script/Hanifi_Rohingya.js":requireHanifi_Rohingya,"/node_modules/regenerate-unicode-properties/Script/Hanunoo.js":requireHanunoo,"/node_modules/regenerate-unicode-properties/Script/Hatran.js":requireHatran,"/node_modules/regenerate-unicode-properties/Script/Hebrew.js":requireHebrew,"/node_modules/regenerate-unicode-properties/Script/Hiragana.js":requireHiragana,"/node_modules/regenerate-unicode-properties/Script/Imperial_Aramaic.js":requireImperial_Aramaic,"/node_modules/regenerate-unicode-properties/Script/Inherited.js":requireInherited,"/node_modules/regenerate-unicode-properties/Script/Inscriptional_Pahlavi.js":requireInscriptional_Pahlavi,"/node_modules/regenerate-unicode-properties/Script/Inscriptional_Parthian.js":requireInscriptional_Parthian,"/node_modules/regenerate-unicode-properties/Script/Javanese.js":requireJavanese,"/node_modules/regenerate-unicode-properties/Script/Kaithi.js":requireKaithi,"/node_modules/regenerate-unicode-properties/Script/Kannada.js":requireKannada,"/node_modules/regenerate-unicode-properties/Script/Katakana.js":requireKatakana,"/node_modules/regenerate-unicode-properties/Script/Kawi.js":requireKawi,"/node_modules/regenerate-unicode-properties/Script/Kayah_Li.js":requireKayah_Li,"/node_modules/regenerate-unicode-properties/Script/Kharoshthi.js":requireKharoshthi,"/node_modules/regenerate-unicode-properties/Script/Khitan_Small_Script.js":requireKhitan_Small_Script,"/node_modules/regenerate-unicode-properties/Script/Khmer.js":requireKhmer,"/node_modules/regenerate-unicode-properties/Script/Khojki.js":requireKhojki,"/node_modules/regenerate-unicode-properties/Script/Khudawadi.js":requireKhudawadi,"/node_modules/regenerate-unicode-properties/Script/Lao.js":requireLao,"/node_modules/regenerate-unicode-properties/Script/Latin.js":requireLatin,"/node_modules/regenerate-unicode-properties/Script/Lepcha.js":requireLepcha,"/node_modules/regenerate-unicode-properties/Script/Limbu.js":requireLimbu,"/node_modules/regenerate-unicode-properties/Script/Linear_A.js":requireLinear_A,"/node_modules/regenerate-unicode-properties/Script/Linear_B.js":requireLinear_B,"/node_modules/regenerate-unicode-properties/Script/Lisu.js":requireLisu,"/node_modules/regenerate-unicode-properties/Script/Lycian.js":requireLycian,"/node_modules/regenerate-unicode-properties/Script/Lydian.js":requireLydian,"/node_modules/regenerate-unicode-properties/Script/Mahajani.js":requireMahajani,"/node_modules/regenerate-unicode-properties/Script/Makasar.js":requireMakasar,"/node_modules/regenerate-unicode-properties/Script/Malayalam.js":requireMalayalam,"/node_modules/regenerate-unicode-properties/Script/Mandaic.js":requireMandaic,"/node_modules/regenerate-unicode-properties/Script/Manichaean.js":requireManichaean,"/node_modules/regenerate-unicode-properties/Script/Marchen.js":requireMarchen,"/node_modules/regenerate-unicode-properties/Script/Masaram_Gondi.js":requireMasaram_Gondi,"/node_modules/regenerate-unicode-properties/Script/Medefaidrin.js":requireMedefaidrin,"/node_modules/regenerate-unicode-properties/Script/Meetei_Mayek.js":requireMeetei_Mayek,"/node_modules/regenerate-unicode-properties/Script/Mende_Kikakui.js":requireMende_Kikakui,"/node_modules/regenerate-unicode-properties/Script/Meroitic_Cursive.js":requireMeroitic_Cursive,"/node_modules/regenerate-unicode-properties/Script/Meroitic_Hieroglyphs.js":requireMeroitic_Hieroglyphs,"/node_modules/regenerate-unicode-properties/Script/Miao.js":requireMiao,"/node_modules/regenerate-unicode-properties/Script/Modi.js":requireModi,"/node_modules/regenerate-unicode-properties/Script/Mongolian.js":requireMongolian,"/node_modules/regenerate-unicode-properties/Script/Mro.js":requireMro,"/node_modules/regenerate-unicode-properties/Script/Multani.js":requireMultani,"/node_modules/regenerate-unicode-properties/Script/Myanmar.js":requireMyanmar,"/node_modules/regenerate-unicode-properties/Script/Nabataean.js":requireNabataean,"/node_modules/regenerate-unicode-properties/Script/Nag_Mundari.js":requireNag_Mundari,"/node_modules/regenerate-unicode-properties/Script/Nandinagari.js":requireNandinagari,"/node_modules/regenerate-unicode-properties/Script/New_Tai_Lue.js":requireNew_Tai_Lue,"/node_modules/regenerate-unicode-properties/Script/Newa.js":requireNewa,"/node_modules/regenerate-unicode-properties/Script/Nko.js":requireNko,"/node_modules/regenerate-unicode-properties/Script/Nushu.js":requireNushu,"/node_modules/regenerate-unicode-properties/Script/Nyiakeng_Puachue_Hmong.js":requireNyiakeng_Puachue_Hmong,"/node_modules/regenerate-unicode-properties/Script/Ogham.js":requireOgham,"/node_modules/regenerate-unicode-properties/Script/Ol_Chiki.js":requireOl_Chiki,"/node_modules/regenerate-unicode-properties/Script/Old_Hungarian.js":requireOld_Hungarian,"/node_modules/regenerate-unicode-properties/Script/Old_Italic.js":requireOld_Italic,"/node_modules/regenerate-unicode-properties/Script/Old_North_Arabian.js":requireOld_North_Arabian,"/node_modules/regenerate-unicode-properties/Script/Old_Permic.js":requireOld_Permic,"/node_modules/regenerate-unicode-properties/Script/Old_Persian.js":requireOld_Persian,"/node_modules/regenerate-unicode-properties/Script/Old_Sogdian.js":requireOld_Sogdian,"/node_modules/regenerate-unicode-properties/Script/Old_South_Arabian.js":requireOld_South_Arabian,"/node_modules/regenerate-unicode-properties/Script/Old_Turkic.js":requireOld_Turkic,"/node_modules/regenerate-unicode-properties/Script/Old_Uyghur.js":requireOld_Uyghur,"/node_modules/regenerate-unicode-properties/Script/Oriya.js":requireOriya,"/node_modules/regenerate-unicode-properties/Script/Osage.js":requireOsage,"/node_modules/regenerate-unicode-properties/Script/Osmanya.js":requireOsmanya,"/node_modules/regenerate-unicode-properties/Script/Pahawh_Hmong.js":requirePahawh_Hmong,"/node_modules/regenerate-unicode-properties/Script/Palmyrene.js":requirePalmyrene,"/node_modules/regenerate-unicode-properties/Script/Pau_Cin_Hau.js":requirePau_Cin_Hau,"/node_modules/regenerate-unicode-properties/Script/Phags_Pa.js":requirePhags_Pa,"/node_modules/regenerate-unicode-properties/Script/Phoenician.js":requirePhoenician,"/node_modules/regenerate-unicode-properties/Script/Psalter_Pahlavi.js":requirePsalter_Pahlavi,"/node_modules/regenerate-unicode-properties/Script/Rejang.js":requireRejang,"/node_modules/regenerate-unicode-properties/Script/Runic.js":requireRunic,"/node_modules/regenerate-unicode-properties/Script/Samaritan.js":requireSamaritan,"/node_modules/regenerate-unicode-properties/Script/Saurashtra.js":requireSaurashtra,"/node_modules/regenerate-unicode-properties/Script/Sharada.js":requireSharada,"/node_modules/regenerate-unicode-properties/Script/Shavian.js":requireShavian,"/node_modules/regenerate-unicode-properties/Script/Siddham.js":requireSiddham,"/node_modules/regenerate-unicode-properties/Script/SignWriting.js":requireSignWriting,"/node_modules/regenerate-unicode-properties/Script/Sinhala.js":requireSinhala,"/node_modules/regenerate-unicode-properties/Script/Sogdian.js":requireSogdian,"/node_modules/regenerate-unicode-properties/Script/Sora_Sompeng.js":requireSora_Sompeng,"/node_modules/regenerate-unicode-properties/Script/Soyombo.js":requireSoyombo,"/node_modules/regenerate-unicode-properties/Script/Sundanese.js":requireSundanese,"/node_modules/regenerate-unicode-properties/Script/Syloti_Nagri.js":requireSyloti_Nagri,"/node_modules/regenerate-unicode-properties/Script/Syriac.js":requireSyriac,"/node_modules/regenerate-unicode-properties/Script/Tagalog.js":requireTagalog,"/node_modules/regenerate-unicode-properties/Script/Tagbanwa.js":requireTagbanwa,"/node_modules/regenerate-unicode-properties/Script/Tai_Le.js":requireTai_Le,"/node_modules/regenerate-unicode-properties/Script/Tai_Tham.js":requireTai_Tham,"/node_modules/regenerate-unicode-properties/Script/Tai_Viet.js":requireTai_Viet,"/node_modules/regenerate-unicode-properties/Script/Takri.js":requireTakri,"/node_modules/regenerate-unicode-properties/Script/Tamil.js":requireTamil,"/node_modules/regenerate-unicode-properties/Script/Tangsa.js":requireTangsa,"/node_modules/regenerate-unicode-properties/Script/Tangut.js":requireTangut,"/node_modules/regenerate-unicode-properties/Script/Telugu.js":requireTelugu,"/node_modules/regenerate-unicode-properties/Script/Thaana.js":requireThaana,"/node_modules/regenerate-unicode-properties/Script/Thai.js":requireThai,"/node_modules/regenerate-unicode-properties/Script/Tibetan.js":requireTibetan,"/node_modules/regenerate-unicode-properties/Script/Tifinagh.js":requireTifinagh,"/node_modules/regenerate-unicode-properties/Script/Tirhuta.js":requireTirhuta,"/node_modules/regenerate-unicode-properties/Script/Toto.js":requireToto,"/node_modules/regenerate-unicode-properties/Script/Ugaritic.js":requireUgaritic,"/node_modules/regenerate-unicode-properties/Script/Vai.js":requireVai,"/node_modules/regenerate-unicode-properties/Script/Vithkuqi.js":requireVithkuqi,"/node_modules/regenerate-unicode-properties/Script/Wancho.js":requireWancho,"/node_modules/regenerate-unicode-properties/Script/Warang_Citi.js":requireWarang_Citi,"/node_modules/regenerate-unicode-properties/Script/Yezidi.js":requireYezidi,"/node_modules/regenerate-unicode-properties/Script/Yi.js":requireYi,"/node_modules/regenerate-unicode-properties/Script/Zanabazar_Square.js":requireZanabazar_Square,"/node_modules/regenerate-unicode-properties/unicode-version.js":requireUnicodeVersion});}function createCommonjsRequire(originalModuleDir){function handleRequire(path){var resolvedPath=commonjsResolve(path,originalModuleDir);if(resolvedPath!==null){return getDynamicModules()[resolvedPath]();}throw new Error('Could not dynamically require "'+path+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.');}handleRequire.resolve=function(path){var resolvedPath=commonjsResolve(path,originalModuleDir);if(resolvedPath!==null){return resolvedPath;}return require.resolve(path);};return handleRequire;}function commonjsResolve(path,originalModuleDir){var shouldTryNodeModules=isPossibleNodeModulesPath(path);path=normalize(path);var relPath;if(path[0]==='/'){originalModuleDir='';}var modules=getDynamicModules();var checkedExtensions=['','.js','.json'];while(true){if(!shouldTryNodeModules){relPath=normalize(originalModuleDir+'/'+path);}else{relPath=normalize(originalModuleDir+'/node_modules/'+path);}if(relPath.endsWith('/..')){break;// Travelled too far up, avoid infinite loop
}for(var extensionIndex=0;extensionIndex<checkedExtensions.length;extensionIndex++){var resolvedPath=relPath+checkedExtensions[extensionIndex];if(modules[resolvedPath]){return resolvedPath;}}if(!shouldTryNodeModules)break;var nextDir=normalize(originalModuleDir+'/..');if(nextDir===originalModuleDir)break;originalModuleDir=nextDir;}return null;}function isPossibleNodeModulesPath(modulePath){var c0=modulePath[0];if(c0==='/'||c0==='\\')return false;var c1=modulePath[1],c2=modulePath[2];if(c0==='.'&&(!c1||c1==='/'||c1==='\\')||c0==='.'&&c1==='.'&&(!c2||c2==='/'||c2==='\\'))return false;if(c1===':'&&(c2==='/'||c2==='\\'))return false;return true;}function normalize(path){path=path.replace(/\\/g,'/');var parts=path.split('/');var slashed=parts[0]==='';for(var i=1;i<parts.length;i++){if(parts[i]==='.'||parts[i]===''){parts.splice(i--,1);}}for(var i=1;i<parts.length;i++){if(parts[i]!=='..')continue;if(i>0&&parts[i-1]!=='..'&&parts[i-1]!=='.'){parts.splice(--i,2);i--;}}path=parts.join('/');if(slashed&&path[0]!=='/')path='/'+path;else if(path.length===0)path='.';return path;}var regjsgen={exports:{}};regjsgen.exports;(function(module,exports){(function(){var objectTypes={'function':true,'object':true};var root=objectTypes[typeof window==="undefined"?"undefined":_typeof(window)]&&window||this;var freeExports=exports&&!exports.nodeType&&exports;var hasFreeModule=module&&!module.nodeType;var freeGlobal=freeExports&&hasFreeModule&&_typeof(commonjsGlobal)=='object'&&commonjsGlobal;if(freeGlobal&&(freeGlobal.global===freeGlobal||freeGlobal.window===freeGlobal||freeGlobal.self===freeGlobal)){root=freeGlobal;}var hasOwnProperty=Object.prototype.hasOwnProperty;function fromCodePoint(){var codePoint=Number(arguments[0]);if(!isFinite(codePoint)||codePoint<0||codePoint>0x10FFFF||Math.floor(codePoint)!=codePoint){throw RangeError('Invalid code point: '+codePoint);}if(codePoint<=0xFFFF){return String.fromCharCode(codePoint);}else{codePoint-=0x10000;var highSurrogate=(codePoint>>10)+0xD800;var lowSurrogate=codePoint%0x400+0xDC00;return String.fromCharCode(highSurrogate,lowSurrogate);}}var assertTypeRegexMap={};function assertType(type,expected){if(expected.indexOf('|')==-1){if(type==expected){return;}throw Error('Invalid node type: '+type+'; expected type: '+expected);}expected=hasOwnProperty.call(assertTypeRegexMap,expected)?assertTypeRegexMap[expected]:assertTypeRegexMap[expected]=RegExp('^(?:'+expected+')$');if(expected.test(type)){return;}throw Error('Invalid node type: '+type+'; expected types: '+expected);}function generate(node){var type=node.type;if(hasOwnProperty.call(generators,type)){return generators[type](node);}throw Error('Invalid node type: '+type);}function generateSequence(generator,terms,separator){var i=-1,length=terms.length,result='',term;while(++i<length){term=terms[i];if(separator&&i>0)result+=separator;if(i+1<length&&terms[i].type=='value'&&terms[i].kind=='null'&&terms[i+1].type=='value'&&terms[i+1].kind=='symbol'&&terms[i+1].codePoint>=48&&terms[i+1].codePoint<=57){result+='\\000';continue;}result+=generator(term);}return result;}function generateAlternative(node){assertType(node.type,'alternative');return generateSequence(generateTerm,node.body);}function generateAnchor(node){assertType(node.type,'anchor');switch(node.kind){case'start':return'^';case'end':return'$';case'boundary':return'\\b';case'not-boundary':return'\\B';default:throw Error('Invalid assertion');}}var atomType='anchor|characterClass|characterClassEscape|dot|group|reference|unicodePropertyEscape|value';function generateAtom(node){assertType(node.type,atomType);return generate(node);}function generateCharacterClass(node){assertType(node.type,'characterClass');var kind=node.kind;var separator=kind==='intersection'?'&&':kind==='subtraction'?'--':'';return'['+(node.negative?'^':'')+generateSequence(generateClassAtom,node.body,separator)+']';}function generateCharacterClassEscape(node){assertType(node.type,'characterClassEscape');return'\\'+node.value;}function generateCharacterClassRange(node){assertType(node.type,'characterClassRange');var min=node.min,max=node.max;if(min.type=='characterClassRange'||max.type=='characterClassRange'){throw Error('Invalid character class range');}return generateClassAtom(min)+'-'+generateClassAtom(max);}function generateClassAtom(node){assertType(node.type,'anchor|characterClass|characterClassEscape|characterClassRange|dot|value|unicodePropertyEscape|classStrings');return generate(node);}function generateClassStrings(node){assertType(node.type,'classStrings');return'\\q{'+generateSequence(generateClassString,node.strings,'|')+'}';}function generateClassString(node){assertType(node.type,'classString');return generateSequence(generate,node.characters);}function generateDisjunction(node){assertType(node.type,'disjunction');return generateSequence(generate,node.body,'|');}function generateDot(node){assertType(node.type,'dot');return'.';}function generateGroup(node){assertType(node.type,'group');var result='';switch(node.behavior){case'normal':if(node.name){result+='?<'+generateIdentifier(node.name)+'>';}break;case'ignore':if(node.modifierFlags){result+='?';if(node.modifierFlags.enabling)result+=node.modifierFlags.enabling;if(node.modifierFlags.disabling)result+="-"+node.modifierFlags.disabling;result+=':';}else{result+='?:';}break;case'lookahead':result+='?=';break;case'negativeLookahead':result+='?!';break;case'lookbehind':result+='?<=';break;case'negativeLookbehind':result+='?<!';break;default:throw Error('Invalid behaviour: '+node.behaviour);}result+=generateSequence(generate,node.body);return'('+result+')';}function generateIdentifier(node){assertType(node.type,'identifier');return node.value;}function generateQuantifier(node){assertType(node.type,'quantifier');var quantifier='',min=node.min,max=node.max;if(max==null){if(min==0){quantifier='*';}else if(min==1){quantifier='+';}else{quantifier='{'+min+',}';}}else if(min==max){quantifier='{'+min+'}';}else if(min==0&&max==1){quantifier='?';}else{quantifier='{'+min+','+max+'}';}if(!node.greedy){quantifier+='?';}return generateAtom(node.body[0])+quantifier;}function generateReference(node){assertType(node.type,'reference');if(node.matchIndex){return'\\'+node.matchIndex;}if(node.name){return'\\k<'+generateIdentifier(node.name)+'>';}throw new Error('Unknown reference type');}function generateTerm(node){assertType(node.type,atomType+'|empty|quantifier');return generate(node);}function generateUnicodePropertyEscape(node){assertType(node.type,'unicodePropertyEscape');return'\\'+(node.negative?'P':'p')+'{'+node.value+'}';}function generateValue(node){assertType(node.type,'value');var kind=node.kind,codePoint=node.codePoint;if(typeof codePoint!='number'){throw new Error('Invalid code point: '+codePoint);}switch(kind){case'controlLetter':return'\\c'+fromCodePoint(codePoint+64);case'hexadecimalEscape':return'\\x'+('00'+codePoint.toString(16).toUpperCase()).slice(-2);case'identifier':return'\\'+fromCodePoint(codePoint);case'null':return'\\'+codePoint;case'octal':return'\\'+('000'+codePoint.toString(8)).slice(-3);case'singleEscape':switch(codePoint){case 0x0008:return'\\b';case 0x0009:return'\\t';case 0x000A:return'\\n';case 0x000B:return'\\v';case 0x000C:return'\\f';case 0x000D:return'\\r';case 0x002D:return'\\-';default:throw Error('Invalid code point: '+codePoint);}case'symbol':return fromCodePoint(codePoint);case'unicodeEscape':return"\\u"+('0000'+codePoint.toString(16).toUpperCase()).slice(-4);case'unicodeCodePointEscape':return"\\u{"+codePoint.toString(16).toUpperCase()+'}';default:throw Error('Unsupported node kind: '+kind);}}var generators={'alternative':generateAlternative,'anchor':generateAnchor,'characterClass':generateCharacterClass,'characterClassEscape':generateCharacterClassEscape,'characterClassRange':generateCharacterClassRange,'classStrings':generateClassStrings,'disjunction':generateDisjunction,'dot':generateDot,'group':generateGroup,'quantifier':generateQuantifier,'reference':generateReference,'unicodePropertyEscape':generateUnicodePropertyEscape,'value':generateValue};var regjsgen={'generate':generate};if(freeExports&&hasFreeModule){freeExports.generate=generate;}else{root.regjsgen=regjsgen;}}).call(commonjsGlobal);})(regjsgen,regjsgen.exports);var regjsgenExports=regjsgen.exports;var parser={exports:{}};(function(module){(function(){var fromCodePoint=String.fromCodePoint||function(){var stringFromCharCode=String.fromCharCode;var floor=Math.floor;return function fromCodePoint(){var MAX_SIZE=0x4000;var codeUnits=[];var highSurrogate;var lowSurrogate;var index=-1;var length=arguments.length;if(!length){return'';}var result='';while(++index<length){var codePoint=Number(arguments[index]);if(!isFinite(codePoint)||codePoint<0||codePoint>0x10FFFF||floor(codePoint)!=codePoint){throw RangeError('Invalid code point: '+codePoint);}if(codePoint<=0xFFFF){codeUnits.push(codePoint);}else{codePoint-=0x10000;highSurrogate=(codePoint>>10)+0xD800;lowSurrogate=codePoint%0x400+0xDC00;codeUnits.push(highSurrogate,lowSurrogate);}if(index+1==length||codeUnits.length>MAX_SIZE){result+=stringFromCharCode.apply(null,codeUnits);codeUnits.length=0;}}return result;};}();function parse(str,flags,features){if(!features){features={};}function addRaw(node){node.raw=str.substring(node.range[0],node.range[1]);return node;}function updateRawStart(node,start){node.range[0]=start;return addRaw(node);}function createAnchor(kind,rawLength){return addRaw({type:'anchor',kind:kind,range:[pos-rawLength,pos]});}function createValue(kind,codePoint,from,to){return addRaw({type:'value',kind:kind,codePoint:codePoint,range:[from,to]});}function createEscaped(kind,codePoint,value,fromOffset){fromOffset=fromOffset||0;return createValue(kind,codePoint,pos-(value.length+fromOffset),pos);}function createCharacter(matches){var _char=matches[0];var first=_char.charCodeAt(0);if(isUnicodeMode){var second;if(_char.length===1&&first>=0xD800&&first<=0xDBFF){second=lookahead().charCodeAt(0);if(second>=0xDC00&&second<=0xDFFF){pos++;return createValue('symbol',(first-0xD800)*0x400+second-0xDC00+0x10000,pos-2,pos);}}}return createValue('symbol',first,pos-1,pos);}function createDisjunction(alternatives,from,to){return addRaw({type:'disjunction',body:alternatives,range:[from,to]});}function createDot(){return addRaw({type:'dot',range:[pos-1,pos]});}function createCharacterClassEscape(value){return addRaw({type:'characterClassEscape',value:value,range:[pos-2,pos]});}function createReference(matchIndex){return addRaw({type:'reference',matchIndex:parseInt(matchIndex,10),range:[pos-1-matchIndex.length,pos]});}function createNamedReference(name){return addRaw({type:'reference',name:name,range:[name.range[0]-3,pos]});}function createGroup(behavior,disjunction,from,to){return addRaw({type:'group',behavior:behavior,body:disjunction,range:[from,to]});}function createQuantifier(min,max,from,to,symbol){if(to==null){from=pos-1;to=pos;}return addRaw({type:'quantifier',min:min,max:max,greedy:true,body:null,symbol:symbol,range:[from,to]});}function createAlternative(terms,from,to){return addRaw({type:'alternative',body:terms,range:[from,to]});}function createCharacterClass(contents,negative,from,to){return addRaw({type:'characterClass',kind:contents.kind,body:contents.body,negative:negative,range:[from,to]});}function createClassRange(min,max,from,to){if(min.codePoint>max.codePoint){bail('invalid range in character class',min.raw+'-'+max.raw,from,to);}return addRaw({type:'characterClassRange',min:min,max:max,range:[from,to]});}function createClassStrings(strings,from,to){return addRaw({type:'classStrings',strings:strings,range:[from,to]});}function createClassString(characters,from,to){return addRaw({type:'classString',characters:characters,range:[from,to]});}function flattenBody(body){if(body.type==='alternative'){return body.body;}else{return[body];}}function incr(amount){amount=amount||1;var res=str.substring(pos,pos+amount);pos+=amount||1;return res;}function skip(value){if(!match(value)){bail('character',value);}}function match(value){if(str.indexOf(value,pos)===pos){return incr(value.length);}}function lookahead(){return str[pos];}function current(value){return str.indexOf(value,pos)===pos;}function next(value){return str[pos+1]===value;}function matchReg(regExp){var subStr=str.substring(pos);var res=subStr.match(regExp);if(res){res.range=[];res.range[0]=pos;incr(res[0].length);res.range[1]=pos;}return res;}function parseDisjunction(){var res=[],from=pos;res.push(parseAlternative());while(match('|')){res.push(parseAlternative());}if(res.length===1){return res[0];}return createDisjunction(res,from,pos);}function parseAlternative(){var res=[],from=pos;var term;while(term=parseTerm()){res.push(term);}if(res.length===1){return res[0];}return createAlternative(res,from,pos);}function parseTerm(){if(pos>=str.length||current('|')||current(')')){return null;}var anchor=parseAnchor();if(anchor){return anchor;}var atom=parseAtomAndExtendedAtom();var quantifier;if(!atom){var pos_backup=pos;quantifier=parseQuantifier()||false;if(quantifier){pos=pos_backup;bail('Expected atom');}var res;if(!isUnicodeMode&&(res=matchReg(/^{/))){atom=createCharacter(res);}else{bail('Expected atom');}}quantifier=parseQuantifier()||false;if(quantifier){quantifier.body=flattenBody(atom);updateRawStart(quantifier,atom.range[0]);return quantifier;}return atom;}function parseGroup(matchA,typeA,matchB,typeB){var type=null,from=pos;if(match(matchA)){type=typeA;}else if(match(matchB)){type=typeB;}else{return false;}return finishGroup(type,from);}function finishGroup(type,from){var body=parseDisjunction();if(!body){bail('Expected disjunction');}skip(')');var group=createGroup(type,flattenBody(body),from,pos);if(type=='normal'){if(firstIteration){closedCaptureCounter++;}}return group;}function parseAnchor(){if(match('^')){return createAnchor('start',1);}else if(match('$')){return createAnchor('end',1);}else if(match('\\b')){return createAnchor('boundary',2);}else if(match('\\B')){return createAnchor('not-boundary',2);}else{return parseGroup('(?=','lookahead','(?!','negativeLookahead');}}function parseQuantifier(){var res,from=pos;var quantifier;var min,max;if(match('*')){quantifier=createQuantifier(0,undefined,undefined,undefined,'*');}else if(match('+')){quantifier=createQuantifier(1,undefined,undefined,undefined,"+");}else if(match('?')){quantifier=createQuantifier(0,1,undefined,undefined,"?");}else if(res=matchReg(/^\{([0-9]+)\}/)){min=parseInt(res[1],10);quantifier=createQuantifier(min,min,res.range[0],res.range[1]);}else if(res=matchReg(/^\{([0-9]+),\}/)){min=parseInt(res[1],10);quantifier=createQuantifier(min,undefined,res.range[0],res.range[1]);}else if(res=matchReg(/^\{([0-9]+),([0-9]+)\}/)){min=parseInt(res[1],10);max=parseInt(res[2],10);if(min>max){bail('numbers out of order in {} quantifier','',from,pos);}quantifier=createQuantifier(min,max,res.range[0],res.range[1]);}if(min&&!Number.isSafeInteger(min)||max&&!Number.isSafeInteger(max)){bail("iterations outside JS safe integer range in quantifier","",from,pos);}if(quantifier){if(match('?')){quantifier.greedy=false;quantifier.range[1]+=1;}}return quantifier;}function parseAtomAndExtendedAtom(){var res;if(res=matchReg(/^[^^$\\.*+?()[\]{}|]/)){return createCharacter(res);}else if(!isUnicodeMode&&(res=matchReg(/^(?:]|})/))){return createCharacter(res);}else if(match('.')){return createDot();}else if(match('\\')){res=parseAtomEscape();if(!res){if(!isUnicodeMode&&lookahead()=='c'){return createValue('symbol',92,pos-1,pos);}bail('atomEscape');}return res;}else if(res=parseCharacterClass()){return res;}else if(features.lookbehind&&(res=parseGroup('(?<=','lookbehind','(?<!','negativeLookbehind'))){return res;}else if(features.namedGroups&&match("(?<")){var name=parseIdentifier();skip(">");var group=finishGroup("normal",name.range[0]-3);group.name=name;return group;}else if(features.modifiers&&str.indexOf("(?")==pos&&str[pos+2]!=":"){return parseModifiersGroup();}else{return parseGroup('(?:','ignore','(','normal');}}function parseModifiersGroup(){function hasDupChar(str){var i=0;while(i<str.length){if(str.indexOf(str[i],i+1)!=-1){return true;}i++;}return false;}var from=pos;incr(2);var enablingFlags=matchReg(/^[sim]+/);var disablingFlags;if(match("-")){disablingFlags=matchReg(/^[sim]+/);if(!disablingFlags){bail('Invalid flags for modifiers group');}}else if(!enablingFlags){bail('Invalid flags for modifiers group');}enablingFlags=enablingFlags?enablingFlags[0]:"";disablingFlags=disablingFlags?disablingFlags[0]:"";var flags=enablingFlags+disablingFlags;if(flags.length>3||hasDupChar(flags)){bail('flags cannot be duplicated for modifiers group');}skip(":");var modifiersGroup=finishGroup("ignore",from);modifiersGroup.modifierFlags={enabling:enablingFlags,disabling:disablingFlags};return modifiersGroup;}function parseUnicodeSurrogatePairEscape(firstEscape){if(isUnicodeMode){var first,second;if(firstEscape.kind=='unicodeEscape'&&(first=firstEscape.codePoint)>=0xD800&&first<=0xDBFF&&current('\\')&&next('u')){var prevPos=pos;pos++;var secondEscape=parseClassEscape();if(secondEscape.kind=='unicodeEscape'&&(second=secondEscape.codePoint)>=0xDC00&&second<=0xDFFF){firstEscape.range[1]=secondEscape.range[1];firstEscape.codePoint=(first-0xD800)*0x400+second-0xDC00+0x10000;firstEscape.type='value';firstEscape.kind='unicodeCodePointEscape';addRaw(firstEscape);}else{pos=prevPos;}}}return firstEscape;}function parseClassEscape(){return parseAtomEscape(true);}function parseAtomEscape(insideCharacterClass){var res,from=pos;res=parseDecimalEscape(insideCharacterClass)||parseNamedReference();if(res){return res;}if(insideCharacterClass){if(match('b')){return createEscaped('singleEscape',0x0008,'\\b');}else if(match('B')){bail('\\B not possible inside of CharacterClass','',from);}else if(!isUnicodeMode&&(res=matchReg(/^c([0-9])/))){return createEscaped('controlLetter',res[1]+16,res[1],2);}else if(!isUnicodeMode&&(res=matchReg(/^c_/))){return createEscaped('controlLetter',31,'_',2);}if(isUnicodeMode&&match('-')){return createEscaped('singleEscape',0x002d,'\\-');}}res=parseCharacterClassEscape()||parseCharacterEscape();return res;}function parseDecimalEscape(insideCharacterClass){var res,match,from=pos;if(res=matchReg(/^(?!0)\d+/)){match=res[0];var refIdx=parseInt(res[0],10);if(refIdx<=closedCaptureCounter&&!insideCharacterClass){return createReference(res[0]);}else{backrefDenied.push(refIdx);if(firstIteration){shouldReparse=true;}else{bailOctalEscapeIfUnicode(from,pos);}incr(-res[0].length);if(res=matchReg(/^[0-7]{1,3}/)){return createEscaped('octal',parseInt(res[0],8),res[0],1);}else{res=createCharacter(matchReg(/^[89]/));return updateRawStart(res,res.range[0]-1);}}}else if(res=matchReg(/^[0-7]{1,3}/)){match=res[0];if(match!=='0'){bailOctalEscapeIfUnicode(from,pos);}if(/^0{1,3}$/.test(match)){return createEscaped('null',0x0000,'0',match.length);}else{return createEscaped('octal',parseInt(match,8),match,1);}}return false;}function bailOctalEscapeIfUnicode(from,pos){if(isUnicodeMode){bail("Invalid decimal escape in unicode mode",null,from,pos);}}function parseCharacterClassEscape(){var res;if(res=matchReg(/^[dDsSwW]/)){return createCharacterClassEscape(res[0]);}else if(features.unicodePropertyEscape&&isUnicodeMode&&(res=matchReg(/^([pP])\{([^\}]+)\}/))){return addRaw({type:'unicodePropertyEscape',negative:res[1]==='P',value:res[2],range:[res.range[0]-1,res.range[1]],raw:res[0]});}else if(features.unicodeSet&&hasUnicodeSetFlag&&match('q{')){return parseClassStrings();}return false;}function parseNamedReference(){if(features.namedGroups&&matchReg(/^k<(?=.*?>)/)){var name=parseIdentifier();skip('>');return createNamedReference(name);}}function parseRegExpUnicodeEscapeSequence(){var res;if(res=matchReg(/^u([0-9a-fA-F]{4})/)){return parseUnicodeSurrogatePairEscape(createEscaped('unicodeEscape',parseInt(res[1],16),res[1],2));}else if(isUnicodeMode&&(res=matchReg(/^u\{([0-9a-fA-F]+)\}/))){return createEscaped('unicodeCodePointEscape',parseInt(res[1],16),res[1],4);}}function parseCharacterEscape(){var res;var from=pos;if(res=matchReg(/^[fnrtv]/)){var codePoint=0;switch(res[0]){case't':codePoint=0x009;break;case'n':codePoint=0x00A;break;case'v':codePoint=0x00B;break;case'f':codePoint=0x00C;break;case'r':codePoint=0x00D;break;}return createEscaped('singleEscape',codePoint,'\\'+res[0]);}else if(res=matchReg(/^c([a-zA-Z])/)){return createEscaped('controlLetter',res[1].charCodeAt(0)%32,res[1],2);}else if(res=matchReg(/^x([0-9a-fA-F]{2})/)){return createEscaped('hexadecimalEscape',parseInt(res[1],16),res[1],2);}else if(res=parseRegExpUnicodeEscapeSequence()){if(!res||res.codePoint>0x10FFFF){bail('Invalid escape sequence',null,from,pos);}return res;}else{return parseIdentityEscape();}}function parseIdentifierAtom(check){var ch=lookahead();var from=pos;if(ch==='\\'){incr();var esc=parseRegExpUnicodeEscapeSequence();if(!esc||!check(esc.codePoint)){bail('Invalid escape sequence',null,from,pos);}return fromCodePoint(esc.codePoint);}var code=ch.charCodeAt(0);if(code>=0xD800&&code<=0xDBFF){ch+=str[pos+1];var second=ch.charCodeAt(1);if(second>=0xDC00&&second<=0xDFFF){code=(code-0xD800)*0x400+second-0xDC00+0x10000;}}if(!check(code))return;incr();if(code>0xFFFF)incr();return ch;}function parseIdentifier(){var start=pos;var res=parseIdentifierAtom(isIdentifierStart);if(!res){bail('Invalid identifier');}var ch;while(ch=parseIdentifierAtom(isIdentifierPart)){res+=ch;}return addRaw({type:'identifier',value:res,range:[start,pos]});}function isIdentifierStart(ch){var NonAsciiIdentifierStart=/[\$A-Z_a-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEF\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7B9\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDD00-\uDD23\uDF00-\uDF1C\uDF27\uDF30-\uDF45]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD44\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF1A]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCDF\uDCFF\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE83\uDE86-\uDE89\uDE9D\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDEE0-\uDEF2]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE7F\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFF1]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]/;return ch===36||ch===95||ch>=65&&ch<=90||ch>=97&&ch<=122||ch>=0x80&&NonAsciiIdentifierStart.test(fromCodePoint(ch));}function isIdentifierPart(ch){var NonAsciiIdentifierPartOnly=/[0-9_\xB7\u0300-\u036F\u0387\u0483-\u0487\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u0669\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u06F0-\u06F9\u0711\u0730-\u074A\u07A6-\u07B0\u07C0-\u07C9\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08D3-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0966-\u096F\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09E6-\u09EF\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A66-\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AE6-\u0AEF\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B62\u0B63\u0B66-\u0B6F\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0BE6-\u0BEF\u0C00-\u0C04\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0CE6-\u0CEF\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D66-\u0D6F\u0D82\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0E50-\u0E59\u0EB1\u0EB4-\u0EB9\u0EBB\u0EBC\u0EC8-\u0ECD\u0ED0-\u0ED9\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1040-\u1049\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F-\u109D\u135D-\u135F\u1369-\u1371\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u18A9\u1920-\u192B\u1930-\u193B\u1946-\u194F\u19D0-\u19DA\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AB0-\u1ABD\u1B00-\u1B04\u1B34-\u1B44\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BB0-\u1BB9\u1BE6-\u1BF3\u1C24-\u1C37\u1C40-\u1C49\u1C50-\u1C59\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF2-\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DF9\u1DFB-\u1DFF\u200C\u200D\u203F\u2040\u2054\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA620-\uA629\uA66F\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA880\uA881\uA8B4-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F1\uA8FF-\uA909\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9D0-\uA9D9\uA9E5\uA9F0-\uA9F9\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA50-\uAA59\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uABF0-\uABF9\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFF10-\uFF19\uFF3F]|\uD800[\uDDFD\uDEE0\uDF76-\uDF7A]|\uD801[\uDCA0-\uDCA9]|\uD802[\uDE01-\uDE03\uDE05\uDE06\uDE0C-\uDE0F\uDE38-\uDE3A\uDE3F\uDEE5\uDEE6]|\uD803[\uDD24-\uDD27\uDD30-\uDD39\uDF46-\uDF50]|\uD804[\uDC00-\uDC02\uDC38-\uDC46\uDC66-\uDC6F\uDC7F-\uDC82\uDCB0-\uDCBA\uDCF0-\uDCF9\uDD00-\uDD02\uDD27-\uDD34\uDD36-\uDD3F\uDD45\uDD46\uDD73\uDD80-\uDD82\uDDB3-\uDDC0\uDDC9-\uDDCC\uDDD0-\uDDD9\uDE2C-\uDE37\uDE3E\uDEDF-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF3B\uDF3C\uDF3E-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF57\uDF62\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC35-\uDC46\uDC50-\uDC59\uDC5E\uDCB0-\uDCC3\uDCD0-\uDCD9\uDDAF-\uDDB5\uDDB8-\uDDC0\uDDDC\uDDDD\uDE30-\uDE40\uDE50-\uDE59\uDEAB-\uDEB7\uDEC0-\uDEC9\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDC2C-\uDC3A\uDCE0-\uDCE9\uDE01-\uDE0A\uDE33-\uDE39\uDE3B-\uDE3E\uDE47\uDE51-\uDE5B\uDE8A-\uDE99]|\uD807[\uDC2F-\uDC36\uDC38-\uDC3F\uDC50-\uDC59\uDC92-\uDCA7\uDCA9-\uDCB6\uDD31-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD45\uDD47\uDD50-\uDD59\uDD8A-\uDD8E\uDD90\uDD91\uDD93-\uDD97\uDDA0-\uDDA9\uDEF3-\uDEF6]|\uD81A[\uDE60-\uDE69\uDEF0-\uDEF4\uDF30-\uDF36\uDF50-\uDF59]|\uD81B[\uDF51-\uDF7E\uDF8F-\uDF92]|\uD82F[\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDCD0-\uDCD6\uDD44-\uDD4A\uDD50-\uDD59]|\uDB40[\uDD00-\uDDEF]/;return isIdentifierStart(ch)||ch>=48&&ch<=57||ch>=0x80&&NonAsciiIdentifierPartOnly.test(fromCodePoint(ch));}function parseIdentityEscape(){var tmp;var l=lookahead();if(isUnicodeMode&&/[\^\$\.\*\+\?\(\)\\\[\]\{\}\|\/]/.test(l)||!isUnicodeMode&&l!=="c"){if(l==="k"&&features.lookbehind){return null;}tmp=incr();return createEscaped('identifier',tmp.charCodeAt(0),tmp,1);}return null;}function parseCharacterClass(){var res,from=pos;if(res=matchReg(/^\[\^/)){res=parseClassRanges();skip(']');return createCharacterClass(res,true,from,pos);}else if(match('[')){res=parseClassRanges();skip(']');return createCharacterClass(res,false,from,pos);}return null;}function parseClassRanges(){var res;if(current(']')){return{kind:'union',body:[]};}else if(hasUnicodeSetFlag){return parseClassContents();}else{res=parseNonemptyClassRanges();if(!res){bail('nonEmptyClassRanges');}return{kind:'union',body:res};}}function parseHelperClassRanges(atom){var from,to,res,atomTo,dash;if(current('-')&&!next(']')){from=atom.range[0];dash=createCharacter(match('-'));atomTo=parseClassAtom();if(!atomTo){bail('classAtom');}to=pos;var classRanges=parseClassRanges();if(!classRanges){bail('classRanges');}if(!('codePoint'in atom)||!('codePoint'in atomTo)){if(!isUnicodeMode){res=[atom,dash,atomTo];}else{bail('invalid character class');}}else{res=[createClassRange(atom,atomTo,from,to)];}if(classRanges.type==='empty'){return res;}return res.concat(classRanges.body);}res=parseNonemptyClassRangesNoDash();if(!res){bail('nonEmptyClassRangesNoDash');}return[atom].concat(res);}function parseNonemptyClassRanges(){var atom=parseClassAtom();if(!atom){bail('classAtom');}if(current(']')){return[atom];}return parseHelperClassRanges(atom);}function parseNonemptyClassRangesNoDash(){var res=parseClassAtom();if(!res){bail('classAtom');}if(current(']')){return res;}return parseHelperClassRanges(res);}function parseClassAtom(){if(match('-')){return createCharacter('-');}else{return parseClassAtomNoDash();}}function parseClassAtomNoDash(){var res;if(res=matchReg(/^[^\\\]-]/)){return createCharacter(res[0]);}else if(match('\\')){res=parseClassEscape();if(!res){bail('classEscape');}return parseUnicodeSurrogatePairEscape(res);}}function parseClassContents(){var body=[];var kind;var operand=parseClassOperand(true);body.push(operand);if(operand.type==='classRange'){kind='union';}else if(current('&')){kind='intersection';}else if(current('-')){kind='subtraction';}else{kind='union';}while(!current(']')){if(kind==='intersection'){skip('&');skip('&');if(current('&')){bail('&& cannot be followed by &. Wrap it in brackets: &&[&].');}}else if(kind==='subtraction'){skip('-');skip('-');}operand=parseClassOperand(kind==='union');body.push(operand);}return{kind:kind,body:body};}function parseClassOperand(allowRanges){var from=pos;var start,res;if(match('\\')){if(res=parseClassEscape()){start=res;}else if(res=parseClassCharacterEscapedHelper()){return res;}else{bail('Invalid escape','\\'+lookahead(),from);}}else if(res=parseClassCharacterUnescapedHelper()){start=res;}else if(res=parseCharacterClass()){return res;}else{bail('Invalid character',lookahead());}if(allowRanges&&current('-')&&!next('-')){skip('-');if(res=parseClassCharacter()){return createClassRange(start,res,from,pos);}bail('Invalid range end',lookahead());}return start;}function parseClassCharacter(){if(match('\\')){var res,from=pos;if(res=parseClassCharacterEscapedHelper()){return res;}else{bail('Invalid escape','\\'+lookahead(),from);}}return parseClassCharacterUnescapedHelper();}function parseClassCharacterUnescapedHelper(){var res;if(res=matchReg(/^[^()[\]{}/\-\\|]/)){return createCharacter(res);}}function parseClassCharacterEscapedHelper(){var res;if(match('b')){return createEscaped('singleEscape',0x0008,'\\b');}else if(match('B')){bail('\\B not possible inside of ClassContents','',pos-2);}else if(res=matchReg(/^[&\-!#%,:;<=>@_`~]/)){return createEscaped('identifier',res[0].codePointAt(0),res[0]);}else if(res=parseCharacterEscape()){return res;}else{return null;}}function parseClassStrings(){var from=pos-3;var res=[];do{res.push(parseClassString());}while(match('|'));skip('}');return createClassStrings(res,from,pos);}function parseClassString(){var res=[],from=pos;var _char2;while(_char2=parseClassCharacter()){res.push(_char2);}return createClassString(res,from,pos);}function bail(message,details,from,to){from=from==null?pos:from;to=to==null?from:to;var contextStart=Math.max(0,from-10);var contextEnd=Math.min(to+10,str.length);var context='    '+str.substring(contextStart,contextEnd);var pointer='    '+new Array(from-contextStart+1).join(' ')+'^';throw SyntaxError(message+' at position '+from+(details?': '+details:'')+'\n'+context+'\n'+pointer);}var backrefDenied=[];var closedCaptureCounter=0;var firstIteration=true;var shouldReparse=false;var hasUnicodeFlag=(flags||"").indexOf("u")!==-1;var hasUnicodeSetFlag=(flags||"").indexOf("v")!==-1;var isUnicodeMode=hasUnicodeFlag||hasUnicodeSetFlag;var pos=0;if(hasUnicodeSetFlag&&!features.unicodeSet){throw new Error('The "v" flag is only supported when the .unicodeSet option is enabled.');}if(hasUnicodeFlag&&hasUnicodeSetFlag){throw new Error('The "u" and "v" flags are mutually exclusive.');}str=String(str);if(str===''){str='(?:)';}var result=parseDisjunction();if(result.range[1]!==str.length){bail('Could not parse entire input - got stuck','',result.range[1]);}shouldReparse=shouldReparse||backrefDenied.some(function(ref){return ref<=closedCaptureCounter;});if(shouldReparse){pos=0;firstIteration=false;return parseDisjunction();}return result;}var regjsparser={parse:parse};if(module.exports){module.exports=regjsparser;}else{window.regjsparser=regjsparser;}})();})(parser);var parserExports=parser.exports;var unicodeCanonicalPropertyNamesEcmascript=new Set(['General_Category','Script','Script_Extensions','Alphabetic','Any','ASCII','ASCII_Hex_Digit','Assigned','Bidi_Control','Bidi_Mirrored','Case_Ignorable','Cased','Changes_When_Casefolded','Changes_When_Casemapped','Changes_When_Lowercased','Changes_When_NFKC_Casefolded','Changes_When_Titlecased','Changes_When_Uppercased','Dash','Default_Ignorable_Code_Point','Deprecated','Diacritic','Emoji','Emoji_Component','Emoji_Modifier','Emoji_Modifier_Base','Emoji_Presentation','Extended_Pictographic','Extender','Grapheme_Base','Grapheme_Extend','Hex_Digit','ID_Continue','ID_Start','Ideographic','IDS_Binary_Operator','IDS_Trinary_Operator','Join_Control','Logical_Order_Exception','Lowercase','Math','Noncharacter_Code_Point','Pattern_Syntax','Pattern_White_Space','Quotation_Mark','Radical','Regional_Indicator','Sentence_Terminal','Soft_Dotted','Terminal_Punctuation','Unified_Ideograph','Uppercase','Variation_Selector','White_Space','XID_Continue','XID_Start']);var unicodePropertyAliasesEcmascript=new Map([['scx','Script_Extensions'],['sc','Script'],['gc','General_Category'],['AHex','ASCII_Hex_Digit'],['Alpha','Alphabetic'],['Bidi_C','Bidi_Control'],['Bidi_M','Bidi_Mirrored'],['Cased','Cased'],['CI','Case_Ignorable'],['CWCF','Changes_When_Casefolded'],['CWCM','Changes_When_Casemapped'],['CWKCF','Changes_When_NFKC_Casefolded'],['CWL','Changes_When_Lowercased'],['CWT','Changes_When_Titlecased'],['CWU','Changes_When_Uppercased'],['Dash','Dash'],['Dep','Deprecated'],['DI','Default_Ignorable_Code_Point'],['Dia','Diacritic'],['EBase','Emoji_Modifier_Base'],['EComp','Emoji_Component'],['EMod','Emoji_Modifier'],['Emoji','Emoji'],['EPres','Emoji_Presentation'],['Ext','Extender'],['ExtPict','Extended_Pictographic'],['Gr_Base','Grapheme_Base'],['Gr_Ext','Grapheme_Extend'],['Hex','Hex_Digit'],['IDC','ID_Continue'],['Ideo','Ideographic'],['IDS','ID_Start'],['IDSB','IDS_Binary_Operator'],['IDST','IDS_Trinary_Operator'],['Join_C','Join_Control'],['LOE','Logical_Order_Exception'],['Lower','Lowercase'],['Math','Math'],['NChar','Noncharacter_Code_Point'],['Pat_Syn','Pattern_Syntax'],['Pat_WS','Pattern_White_Space'],['QMark','Quotation_Mark'],['Radical','Radical'],['RI','Regional_Indicator'],['SD','Soft_Dotted'],['STerm','Sentence_Terminal'],['Term','Terminal_Punctuation'],['UIdeo','Unified_Ideograph'],['Upper','Uppercase'],['VS','Variation_Selector'],['WSpace','White_Space'],['space','White_Space'],['XIDC','XID_Continue'],['XIDS','XID_Start']]);var canonicalProperties=unicodeCanonicalPropertyNamesEcmascript;var propertyAliases=unicodePropertyAliasesEcmascript;var matchProperty=function matchProperty(property){if(canonicalProperties.has(property)){return property;}if(propertyAliases.has(property)){return propertyAliases.get(property);}throw new Error("Unknown property: "+property);};var unicodeMatchPropertyEcmascript=matchProperty;var mappings=new Map([['General_Category',new Map([['C','Other'],['Cc','Control'],['cntrl','Control'],['Cf','Format'],['Cn','Unassigned'],['Co','Private_Use'],['Cs','Surrogate'],['L','Letter'],['LC','Cased_Letter'],['Ll','Lowercase_Letter'],['Lm','Modifier_Letter'],['Lo','Other_Letter'],['Lt','Titlecase_Letter'],['Lu','Uppercase_Letter'],['M','Mark'],['Combining_Mark','Mark'],['Mc','Spacing_Mark'],['Me','Enclosing_Mark'],['Mn','Nonspacing_Mark'],['N','Number'],['Nd','Decimal_Number'],['digit','Decimal_Number'],['Nl','Letter_Number'],['No','Other_Number'],['P','Punctuation'],['punct','Punctuation'],['Pc','Connector_Punctuation'],['Pd','Dash_Punctuation'],['Pe','Close_Punctuation'],['Pf','Final_Punctuation'],['Pi','Initial_Punctuation'],['Po','Other_Punctuation'],['Ps','Open_Punctuation'],['S','Symbol'],['Sc','Currency_Symbol'],['Sk','Modifier_Symbol'],['Sm','Math_Symbol'],['So','Other_Symbol'],['Z','Separator'],['Zl','Line_Separator'],['Zp','Paragraph_Separator'],['Zs','Space_Separator'],['Other','Other'],['Control','Control'],['Format','Format'],['Unassigned','Unassigned'],['Private_Use','Private_Use'],['Surrogate','Surrogate'],['Letter','Letter'],['Cased_Letter','Cased_Letter'],['Lowercase_Letter','Lowercase_Letter'],['Modifier_Letter','Modifier_Letter'],['Other_Letter','Other_Letter'],['Titlecase_Letter','Titlecase_Letter'],['Uppercase_Letter','Uppercase_Letter'],['Mark','Mark'],['Spacing_Mark','Spacing_Mark'],['Enclosing_Mark','Enclosing_Mark'],['Nonspacing_Mark','Nonspacing_Mark'],['Number','Number'],['Decimal_Number','Decimal_Number'],['Letter_Number','Letter_Number'],['Other_Number','Other_Number'],['Punctuation','Punctuation'],['Connector_Punctuation','Connector_Punctuation'],['Dash_Punctuation','Dash_Punctuation'],['Close_Punctuation','Close_Punctuation'],['Final_Punctuation','Final_Punctuation'],['Initial_Punctuation','Initial_Punctuation'],['Other_Punctuation','Other_Punctuation'],['Open_Punctuation','Open_Punctuation'],['Symbol','Symbol'],['Currency_Symbol','Currency_Symbol'],['Modifier_Symbol','Modifier_Symbol'],['Math_Symbol','Math_Symbol'],['Other_Symbol','Other_Symbol'],['Separator','Separator'],['Line_Separator','Line_Separator'],['Paragraph_Separator','Paragraph_Separator'],['Space_Separator','Space_Separator']])],['Script',new Map([['Adlm','Adlam'],['Aghb','Caucasian_Albanian'],['Ahom','Ahom'],['Arab','Arabic'],['Armi','Imperial_Aramaic'],['Armn','Armenian'],['Avst','Avestan'],['Bali','Balinese'],['Bamu','Bamum'],['Bass','Bassa_Vah'],['Batk','Batak'],['Beng','Bengali'],['Bhks','Bhaiksuki'],['Bopo','Bopomofo'],['Brah','Brahmi'],['Brai','Braille'],['Bugi','Buginese'],['Buhd','Buhid'],['Cakm','Chakma'],['Cans','Canadian_Aboriginal'],['Cari','Carian'],['Cham','Cham'],['Cher','Cherokee'],['Chrs','Chorasmian'],['Copt','Coptic'],['Qaac','Coptic'],['Cpmn','Cypro_Minoan'],['Cprt','Cypriot'],['Cyrl','Cyrillic'],['Deva','Devanagari'],['Diak','Dives_Akuru'],['Dogr','Dogra'],['Dsrt','Deseret'],['Dupl','Duployan'],['Egyp','Egyptian_Hieroglyphs'],['Elba','Elbasan'],['Elym','Elymaic'],['Ethi','Ethiopic'],['Geor','Georgian'],['Glag','Glagolitic'],['Gong','Gunjala_Gondi'],['Gonm','Masaram_Gondi'],['Goth','Gothic'],['Gran','Grantha'],['Grek','Greek'],['Gujr','Gujarati'],['Guru','Gurmukhi'],['Hang','Hangul'],['Hani','Han'],['Hano','Hanunoo'],['Hatr','Hatran'],['Hebr','Hebrew'],['Hira','Hiragana'],['Hluw','Anatolian_Hieroglyphs'],['Hmng','Pahawh_Hmong'],['Hmnp','Nyiakeng_Puachue_Hmong'],['Hrkt','Katakana_Or_Hiragana'],['Hung','Old_Hungarian'],['Ital','Old_Italic'],['Java','Javanese'],['Kali','Kayah_Li'],['Kana','Katakana'],['Kawi','Kawi'],['Khar','Kharoshthi'],['Khmr','Khmer'],['Khoj','Khojki'],['Kits','Khitan_Small_Script'],['Knda','Kannada'],['Kthi','Kaithi'],['Lana','Tai_Tham'],['Laoo','Lao'],['Latn','Latin'],['Lepc','Lepcha'],['Limb','Limbu'],['Lina','Linear_A'],['Linb','Linear_B'],['Lisu','Lisu'],['Lyci','Lycian'],['Lydi','Lydian'],['Mahj','Mahajani'],['Maka','Makasar'],['Mand','Mandaic'],['Mani','Manichaean'],['Marc','Marchen'],['Medf','Medefaidrin'],['Mend','Mende_Kikakui'],['Merc','Meroitic_Cursive'],['Mero','Meroitic_Hieroglyphs'],['Mlym','Malayalam'],['Modi','Modi'],['Mong','Mongolian'],['Mroo','Mro'],['Mtei','Meetei_Mayek'],['Mult','Multani'],['Mymr','Myanmar'],['Nagm','Nag_Mundari'],['Nand','Nandinagari'],['Narb','Old_North_Arabian'],['Nbat','Nabataean'],['Newa','Newa'],['Nkoo','Nko'],['Nshu','Nushu'],['Ogam','Ogham'],['Olck','Ol_Chiki'],['Orkh','Old_Turkic'],['Orya','Oriya'],['Osge','Osage'],['Osma','Osmanya'],['Ougr','Old_Uyghur'],['Palm','Palmyrene'],['Pauc','Pau_Cin_Hau'],['Perm','Old_Permic'],['Phag','Phags_Pa'],['Phli','Inscriptional_Pahlavi'],['Phlp','Psalter_Pahlavi'],['Phnx','Phoenician'],['Plrd','Miao'],['Prti','Inscriptional_Parthian'],['Rjng','Rejang'],['Rohg','Hanifi_Rohingya'],['Runr','Runic'],['Samr','Samaritan'],['Sarb','Old_South_Arabian'],['Saur','Saurashtra'],['Sgnw','SignWriting'],['Shaw','Shavian'],['Shrd','Sharada'],['Sidd','Siddham'],['Sind','Khudawadi'],['Sinh','Sinhala'],['Sogd','Sogdian'],['Sogo','Old_Sogdian'],['Sora','Sora_Sompeng'],['Soyo','Soyombo'],['Sund','Sundanese'],['Sylo','Syloti_Nagri'],['Syrc','Syriac'],['Tagb','Tagbanwa'],['Takr','Takri'],['Tale','Tai_Le'],['Talu','New_Tai_Lue'],['Taml','Tamil'],['Tang','Tangut'],['Tavt','Tai_Viet'],['Telu','Telugu'],['Tfng','Tifinagh'],['Tglg','Tagalog'],['Thaa','Thaana'],['Thai','Thai'],['Tibt','Tibetan'],['Tirh','Tirhuta'],['Tnsa','Tangsa'],['Toto','Toto'],['Ugar','Ugaritic'],['Vaii','Vai'],['Vith','Vithkuqi'],['Wara','Warang_Citi'],['Wcho','Wancho'],['Xpeo','Old_Persian'],['Xsux','Cuneiform'],['Yezi','Yezidi'],['Yiii','Yi'],['Zanb','Zanabazar_Square'],['Zinh','Inherited'],['Qaai','Inherited'],['Zyyy','Common'],['Zzzz','Unknown'],['Adlam','Adlam'],['Caucasian_Albanian','Caucasian_Albanian'],['Arabic','Arabic'],['Imperial_Aramaic','Imperial_Aramaic'],['Armenian','Armenian'],['Avestan','Avestan'],['Balinese','Balinese'],['Bamum','Bamum'],['Bassa_Vah','Bassa_Vah'],['Batak','Batak'],['Bengali','Bengali'],['Bhaiksuki','Bhaiksuki'],['Bopomofo','Bopomofo'],['Brahmi','Brahmi'],['Braille','Braille'],['Buginese','Buginese'],['Buhid','Buhid'],['Chakma','Chakma'],['Canadian_Aboriginal','Canadian_Aboriginal'],['Carian','Carian'],['Cherokee','Cherokee'],['Chorasmian','Chorasmian'],['Coptic','Coptic'],['Cypro_Minoan','Cypro_Minoan'],['Cypriot','Cypriot'],['Cyrillic','Cyrillic'],['Devanagari','Devanagari'],['Dives_Akuru','Dives_Akuru'],['Dogra','Dogra'],['Deseret','Deseret'],['Duployan','Duployan'],['Egyptian_Hieroglyphs','Egyptian_Hieroglyphs'],['Elbasan','Elbasan'],['Elymaic','Elymaic'],['Ethiopic','Ethiopic'],['Georgian','Georgian'],['Glagolitic','Glagolitic'],['Gunjala_Gondi','Gunjala_Gondi'],['Masaram_Gondi','Masaram_Gondi'],['Gothic','Gothic'],['Grantha','Grantha'],['Greek','Greek'],['Gujarati','Gujarati'],['Gurmukhi','Gurmukhi'],['Hangul','Hangul'],['Han','Han'],['Hanunoo','Hanunoo'],['Hatran','Hatran'],['Hebrew','Hebrew'],['Hiragana','Hiragana'],['Anatolian_Hieroglyphs','Anatolian_Hieroglyphs'],['Pahawh_Hmong','Pahawh_Hmong'],['Nyiakeng_Puachue_Hmong','Nyiakeng_Puachue_Hmong'],['Katakana_Or_Hiragana','Katakana_Or_Hiragana'],['Old_Hungarian','Old_Hungarian'],['Old_Italic','Old_Italic'],['Javanese','Javanese'],['Kayah_Li','Kayah_Li'],['Katakana','Katakana'],['Kharoshthi','Kharoshthi'],['Khmer','Khmer'],['Khojki','Khojki'],['Khitan_Small_Script','Khitan_Small_Script'],['Kannada','Kannada'],['Kaithi','Kaithi'],['Tai_Tham','Tai_Tham'],['Lao','Lao'],['Latin','Latin'],['Lepcha','Lepcha'],['Limbu','Limbu'],['Linear_A','Linear_A'],['Linear_B','Linear_B'],['Lycian','Lycian'],['Lydian','Lydian'],['Mahajani','Mahajani'],['Makasar','Makasar'],['Mandaic','Mandaic'],['Manichaean','Manichaean'],['Marchen','Marchen'],['Medefaidrin','Medefaidrin'],['Mende_Kikakui','Mende_Kikakui'],['Meroitic_Cursive','Meroitic_Cursive'],['Meroitic_Hieroglyphs','Meroitic_Hieroglyphs'],['Malayalam','Malayalam'],['Mongolian','Mongolian'],['Mro','Mro'],['Meetei_Mayek','Meetei_Mayek'],['Multani','Multani'],['Myanmar','Myanmar'],['Nag_Mundari','Nag_Mundari'],['Nandinagari','Nandinagari'],['Old_North_Arabian','Old_North_Arabian'],['Nabataean','Nabataean'],['Nko','Nko'],['Nushu','Nushu'],['Ogham','Ogham'],['Ol_Chiki','Ol_Chiki'],['Old_Turkic','Old_Turkic'],['Oriya','Oriya'],['Osage','Osage'],['Osmanya','Osmanya'],['Old_Uyghur','Old_Uyghur'],['Palmyrene','Palmyrene'],['Pau_Cin_Hau','Pau_Cin_Hau'],['Old_Permic','Old_Permic'],['Phags_Pa','Phags_Pa'],['Inscriptional_Pahlavi','Inscriptional_Pahlavi'],['Psalter_Pahlavi','Psalter_Pahlavi'],['Phoenician','Phoenician'],['Miao','Miao'],['Inscriptional_Parthian','Inscriptional_Parthian'],['Rejang','Rejang'],['Hanifi_Rohingya','Hanifi_Rohingya'],['Runic','Runic'],['Samaritan','Samaritan'],['Old_South_Arabian','Old_South_Arabian'],['Saurashtra','Saurashtra'],['SignWriting','SignWriting'],['Shavian','Shavian'],['Sharada','Sharada'],['Siddham','Siddham'],['Khudawadi','Khudawadi'],['Sinhala','Sinhala'],['Sogdian','Sogdian'],['Old_Sogdian','Old_Sogdian'],['Sora_Sompeng','Sora_Sompeng'],['Soyombo','Soyombo'],['Sundanese','Sundanese'],['Syloti_Nagri','Syloti_Nagri'],['Syriac','Syriac'],['Tagbanwa','Tagbanwa'],['Takri','Takri'],['Tai_Le','Tai_Le'],['New_Tai_Lue','New_Tai_Lue'],['Tamil','Tamil'],['Tangut','Tangut'],['Tai_Viet','Tai_Viet'],['Telugu','Telugu'],['Tifinagh','Tifinagh'],['Tagalog','Tagalog'],['Thaana','Thaana'],['Tibetan','Tibetan'],['Tirhuta','Tirhuta'],['Tangsa','Tangsa'],['Ugaritic','Ugaritic'],['Vai','Vai'],['Vithkuqi','Vithkuqi'],['Warang_Citi','Warang_Citi'],['Wancho','Wancho'],['Old_Persian','Old_Persian'],['Cuneiform','Cuneiform'],['Yezidi','Yezidi'],['Yi','Yi'],['Zanabazar_Square','Zanabazar_Square'],['Inherited','Inherited'],['Common','Common'],['Unknown','Unknown']])],['Script_Extensions',new Map([['Adlm','Adlam'],['Aghb','Caucasian_Albanian'],['Ahom','Ahom'],['Arab','Arabic'],['Armi','Imperial_Aramaic'],['Armn','Armenian'],['Avst','Avestan'],['Bali','Balinese'],['Bamu','Bamum'],['Bass','Bassa_Vah'],['Batk','Batak'],['Beng','Bengali'],['Bhks','Bhaiksuki'],['Bopo','Bopomofo'],['Brah','Brahmi'],['Brai','Braille'],['Bugi','Buginese'],['Buhd','Buhid'],['Cakm','Chakma'],['Cans','Canadian_Aboriginal'],['Cari','Carian'],['Cham','Cham'],['Cher','Cherokee'],['Chrs','Chorasmian'],['Copt','Coptic'],['Qaac','Coptic'],['Cpmn','Cypro_Minoan'],['Cprt','Cypriot'],['Cyrl','Cyrillic'],['Deva','Devanagari'],['Diak','Dives_Akuru'],['Dogr','Dogra'],['Dsrt','Deseret'],['Dupl','Duployan'],['Egyp','Egyptian_Hieroglyphs'],['Elba','Elbasan'],['Elym','Elymaic'],['Ethi','Ethiopic'],['Geor','Georgian'],['Glag','Glagolitic'],['Gong','Gunjala_Gondi'],['Gonm','Masaram_Gondi'],['Goth','Gothic'],['Gran','Grantha'],['Grek','Greek'],['Gujr','Gujarati'],['Guru','Gurmukhi'],['Hang','Hangul'],['Hani','Han'],['Hano','Hanunoo'],['Hatr','Hatran'],['Hebr','Hebrew'],['Hira','Hiragana'],['Hluw','Anatolian_Hieroglyphs'],['Hmng','Pahawh_Hmong'],['Hmnp','Nyiakeng_Puachue_Hmong'],['Hrkt','Katakana_Or_Hiragana'],['Hung','Old_Hungarian'],['Ital','Old_Italic'],['Java','Javanese'],['Kali','Kayah_Li'],['Kana','Katakana'],['Kawi','Kawi'],['Khar','Kharoshthi'],['Khmr','Khmer'],['Khoj','Khojki'],['Kits','Khitan_Small_Script'],['Knda','Kannada'],['Kthi','Kaithi'],['Lana','Tai_Tham'],['Laoo','Lao'],['Latn','Latin'],['Lepc','Lepcha'],['Limb','Limbu'],['Lina','Linear_A'],['Linb','Linear_B'],['Lisu','Lisu'],['Lyci','Lycian'],['Lydi','Lydian'],['Mahj','Mahajani'],['Maka','Makasar'],['Mand','Mandaic'],['Mani','Manichaean'],['Marc','Marchen'],['Medf','Medefaidrin'],['Mend','Mende_Kikakui'],['Merc','Meroitic_Cursive'],['Mero','Meroitic_Hieroglyphs'],['Mlym','Malayalam'],['Modi','Modi'],['Mong','Mongolian'],['Mroo','Mro'],['Mtei','Meetei_Mayek'],['Mult','Multani'],['Mymr','Myanmar'],['Nagm','Nag_Mundari'],['Nand','Nandinagari'],['Narb','Old_North_Arabian'],['Nbat','Nabataean'],['Newa','Newa'],['Nkoo','Nko'],['Nshu','Nushu'],['Ogam','Ogham'],['Olck','Ol_Chiki'],['Orkh','Old_Turkic'],['Orya','Oriya'],['Osge','Osage'],['Osma','Osmanya'],['Ougr','Old_Uyghur'],['Palm','Palmyrene'],['Pauc','Pau_Cin_Hau'],['Perm','Old_Permic'],['Phag','Phags_Pa'],['Phli','Inscriptional_Pahlavi'],['Phlp','Psalter_Pahlavi'],['Phnx','Phoenician'],['Plrd','Miao'],['Prti','Inscriptional_Parthian'],['Rjng','Rejang'],['Rohg','Hanifi_Rohingya'],['Runr','Runic'],['Samr','Samaritan'],['Sarb','Old_South_Arabian'],['Saur','Saurashtra'],['Sgnw','SignWriting'],['Shaw','Shavian'],['Shrd','Sharada'],['Sidd','Siddham'],['Sind','Khudawadi'],['Sinh','Sinhala'],['Sogd','Sogdian'],['Sogo','Old_Sogdian'],['Sora','Sora_Sompeng'],['Soyo','Soyombo'],['Sund','Sundanese'],['Sylo','Syloti_Nagri'],['Syrc','Syriac'],['Tagb','Tagbanwa'],['Takr','Takri'],['Tale','Tai_Le'],['Talu','New_Tai_Lue'],['Taml','Tamil'],['Tang','Tangut'],['Tavt','Tai_Viet'],['Telu','Telugu'],['Tfng','Tifinagh'],['Tglg','Tagalog'],['Thaa','Thaana'],['Thai','Thai'],['Tibt','Tibetan'],['Tirh','Tirhuta'],['Tnsa','Tangsa'],['Toto','Toto'],['Ugar','Ugaritic'],['Vaii','Vai'],['Vith','Vithkuqi'],['Wara','Warang_Citi'],['Wcho','Wancho'],['Xpeo','Old_Persian'],['Xsux','Cuneiform'],['Yezi','Yezidi'],['Yiii','Yi'],['Zanb','Zanabazar_Square'],['Zinh','Inherited'],['Qaai','Inherited'],['Zyyy','Common'],['Zzzz','Unknown'],['Adlam','Adlam'],['Caucasian_Albanian','Caucasian_Albanian'],['Arabic','Arabic'],['Imperial_Aramaic','Imperial_Aramaic'],['Armenian','Armenian'],['Avestan','Avestan'],['Balinese','Balinese'],['Bamum','Bamum'],['Bassa_Vah','Bassa_Vah'],['Batak','Batak'],['Bengali','Bengali'],['Bhaiksuki','Bhaiksuki'],['Bopomofo','Bopomofo'],['Brahmi','Brahmi'],['Braille','Braille'],['Buginese','Buginese'],['Buhid','Buhid'],['Chakma','Chakma'],['Canadian_Aboriginal','Canadian_Aboriginal'],['Carian','Carian'],['Cherokee','Cherokee'],['Chorasmian','Chorasmian'],['Coptic','Coptic'],['Cypro_Minoan','Cypro_Minoan'],['Cypriot','Cypriot'],['Cyrillic','Cyrillic'],['Devanagari','Devanagari'],['Dives_Akuru','Dives_Akuru'],['Dogra','Dogra'],['Deseret','Deseret'],['Duployan','Duployan'],['Egyptian_Hieroglyphs','Egyptian_Hieroglyphs'],['Elbasan','Elbasan'],['Elymaic','Elymaic'],['Ethiopic','Ethiopic'],['Georgian','Georgian'],['Glagolitic','Glagolitic'],['Gunjala_Gondi','Gunjala_Gondi'],['Masaram_Gondi','Masaram_Gondi'],['Gothic','Gothic'],['Grantha','Grantha'],['Greek','Greek'],['Gujarati','Gujarati'],['Gurmukhi','Gurmukhi'],['Hangul','Hangul'],['Han','Han'],['Hanunoo','Hanunoo'],['Hatran','Hatran'],['Hebrew','Hebrew'],['Hiragana','Hiragana'],['Anatolian_Hieroglyphs','Anatolian_Hieroglyphs'],['Pahawh_Hmong','Pahawh_Hmong'],['Nyiakeng_Puachue_Hmong','Nyiakeng_Puachue_Hmong'],['Katakana_Or_Hiragana','Katakana_Or_Hiragana'],['Old_Hungarian','Old_Hungarian'],['Old_Italic','Old_Italic'],['Javanese','Javanese'],['Kayah_Li','Kayah_Li'],['Katakana','Katakana'],['Kharoshthi','Kharoshthi'],['Khmer','Khmer'],['Khojki','Khojki'],['Khitan_Small_Script','Khitan_Small_Script'],['Kannada','Kannada'],['Kaithi','Kaithi'],['Tai_Tham','Tai_Tham'],['Lao','Lao'],['Latin','Latin'],['Lepcha','Lepcha'],['Limbu','Limbu'],['Linear_A','Linear_A'],['Linear_B','Linear_B'],['Lycian','Lycian'],['Lydian','Lydian'],['Mahajani','Mahajani'],['Makasar','Makasar'],['Mandaic','Mandaic'],['Manichaean','Manichaean'],['Marchen','Marchen'],['Medefaidrin','Medefaidrin'],['Mende_Kikakui','Mende_Kikakui'],['Meroitic_Cursive','Meroitic_Cursive'],['Meroitic_Hieroglyphs','Meroitic_Hieroglyphs'],['Malayalam','Malayalam'],['Mongolian','Mongolian'],['Mro','Mro'],['Meetei_Mayek','Meetei_Mayek'],['Multani','Multani'],['Myanmar','Myanmar'],['Nag_Mundari','Nag_Mundari'],['Nandinagari','Nandinagari'],['Old_North_Arabian','Old_North_Arabian'],['Nabataean','Nabataean'],['Nko','Nko'],['Nushu','Nushu'],['Ogham','Ogham'],['Ol_Chiki','Ol_Chiki'],['Old_Turkic','Old_Turkic'],['Oriya','Oriya'],['Osage','Osage'],['Osmanya','Osmanya'],['Old_Uyghur','Old_Uyghur'],['Palmyrene','Palmyrene'],['Pau_Cin_Hau','Pau_Cin_Hau'],['Old_Permic','Old_Permic'],['Phags_Pa','Phags_Pa'],['Inscriptional_Pahlavi','Inscriptional_Pahlavi'],['Psalter_Pahlavi','Psalter_Pahlavi'],['Phoenician','Phoenician'],['Miao','Miao'],['Inscriptional_Parthian','Inscriptional_Parthian'],['Rejang','Rejang'],['Hanifi_Rohingya','Hanifi_Rohingya'],['Runic','Runic'],['Samaritan','Samaritan'],['Old_South_Arabian','Old_South_Arabian'],['Saurashtra','Saurashtra'],['SignWriting','SignWriting'],['Shavian','Shavian'],['Sharada','Sharada'],['Siddham','Siddham'],['Khudawadi','Khudawadi'],['Sinhala','Sinhala'],['Sogdian','Sogdian'],['Old_Sogdian','Old_Sogdian'],['Sora_Sompeng','Sora_Sompeng'],['Soyombo','Soyombo'],['Sundanese','Sundanese'],['Syloti_Nagri','Syloti_Nagri'],['Syriac','Syriac'],['Tagbanwa','Tagbanwa'],['Takri','Takri'],['Tai_Le','Tai_Le'],['New_Tai_Lue','New_Tai_Lue'],['Tamil','Tamil'],['Tangut','Tangut'],['Tai_Viet','Tai_Viet'],['Telugu','Telugu'],['Tifinagh','Tifinagh'],['Tagalog','Tagalog'],['Thaana','Thaana'],['Tibetan','Tibetan'],['Tirhuta','Tirhuta'],['Tangsa','Tangsa'],['Ugaritic','Ugaritic'],['Vai','Vai'],['Vithkuqi','Vithkuqi'],['Warang_Citi','Warang_Citi'],['Wancho','Wancho'],['Old_Persian','Old_Persian'],['Cuneiform','Cuneiform'],['Yezidi','Yezidi'],['Yi','Yi'],['Zanabazar_Square','Zanabazar_Square'],['Inherited','Inherited'],['Common','Common'],['Unknown','Unknown']])]]);var propertyToValueAliases=mappings;var matchPropertyValue=function matchPropertyValue(property,value){var aliasToValue=propertyToValueAliases.get(property);if(!aliasToValue){throw new Error("Unknown property `"+property+"`.");}var canonicalValue=aliasToValue.get(value);if(canonicalValue){return canonicalValue;}throw new Error("Unknown value `"+value+"` for property `"+property+"`.");};var unicodeMatchPropertyValueEcmascript=matchPropertyValue;var iuMappings$1=new Map([[0x4B,0x212A],[0x53,0x17F],[0x6B,0x212A],[0x73,0x17F],[0xB5,0x39C],[0xC5,0x212B],[0xDF,0x1E9E],[0xE5,0x212B],[0x17F,0x53],[0x1C4,0x1C5],[0x1C5,0x1C4],[0x1C7,0x1C8],[0x1C8,0x1C7],[0x1CA,0x1CB],[0x1CB,0x1CA],[0x1F1,0x1F2],[0x1F2,0x1F1],[0x345,0x1FBE],[0x392,0x3D0],[0x395,0x3F5],[0x398,0x3F4],[0x399,0x1FBE],[0x39A,0x3F0],[0x39C,0xB5],[0x3A0,0x3D6],[0x3A1,0x3F1],[0x3A3,0x3C2],[0x3A6,0x3D5],[0x3A9,0x2126],[0x3B8,0x3F4],[0x3C2,0x3A3],[0x3C9,0x2126],[0x3D0,0x392],[0x3D1,0x3F4],[0x3D5,0x3A6],[0x3D6,0x3A0],[0x3F0,0x39A],[0x3F1,0x3A1],[0x3F4,[0x398,0x3D1,0x3B8]],[0x3F5,0x395],[0x412,0x1C80],[0x414,0x1C81],[0x41E,0x1C82],[0x421,0x1C83],[0x422,0x1C85],[0x42A,0x1C86],[0x462,0x1C87],[0x1C80,0x412],[0x1C81,0x414],[0x1C82,0x41E],[0x1C83,0x421],[0x1C84,0x1C85],[0x1C85,[0x422,0x1C84]],[0x1C86,0x42A],[0x1C87,0x462],[0x1C88,0xA64A],[0x1E60,0x1E9B],[0x1E9B,0x1E60],[0x1E9E,0xDF],[0x1F80,0x1F88],[0x1F81,0x1F89],[0x1F82,0x1F8A],[0x1F83,0x1F8B],[0x1F84,0x1F8C],[0x1F85,0x1F8D],[0x1F86,0x1F8E],[0x1F87,0x1F8F],[0x1F88,0x1F80],[0x1F89,0x1F81],[0x1F8A,0x1F82],[0x1F8B,0x1F83],[0x1F8C,0x1F84],[0x1F8D,0x1F85],[0x1F8E,0x1F86],[0x1F8F,0x1F87],[0x1F90,0x1F98],[0x1F91,0x1F99],[0x1F92,0x1F9A],[0x1F93,0x1F9B],[0x1F94,0x1F9C],[0x1F95,0x1F9D],[0x1F96,0x1F9E],[0x1F97,0x1F9F],[0x1F98,0x1F90],[0x1F99,0x1F91],[0x1F9A,0x1F92],[0x1F9B,0x1F93],[0x1F9C,0x1F94],[0x1F9D,0x1F95],[0x1F9E,0x1F96],[0x1F9F,0x1F97],[0x1FA0,0x1FA8],[0x1FA1,0x1FA9],[0x1FA2,0x1FAA],[0x1FA3,0x1FAB],[0x1FA4,0x1FAC],[0x1FA5,0x1FAD],[0x1FA6,0x1FAE],[0x1FA7,0x1FAF],[0x1FA8,0x1FA0],[0x1FA9,0x1FA1],[0x1FAA,0x1FA2],[0x1FAB,0x1FA3],[0x1FAC,0x1FA4],[0x1FAD,0x1FA5],[0x1FAE,0x1FA6],[0x1FAF,0x1FA7],[0x1FB3,0x1FBC],[0x1FBC,0x1FB3],[0x1FBE,[0x345,0x399]],[0x1FC3,0x1FCC],[0x1FCC,0x1FC3],[0x1FF3,0x1FFC],[0x1FFC,0x1FF3],[0x2126,[0x3A9,0x3C9]],[0x212A,0x4B],[0x212B,[0xC5,0xE5]],[0xA64A,0x1C88],[0x10400,0x10428],[0x10401,0x10429],[0x10402,0x1042A],[0x10403,0x1042B],[0x10404,0x1042C],[0x10405,0x1042D],[0x10406,0x1042E],[0x10407,0x1042F],[0x10408,0x10430],[0x10409,0x10431],[0x1040A,0x10432],[0x1040B,0x10433],[0x1040C,0x10434],[0x1040D,0x10435],[0x1040E,0x10436],[0x1040F,0x10437],[0x10410,0x10438],[0x10411,0x10439],[0x10412,0x1043A],[0x10413,0x1043B],[0x10414,0x1043C],[0x10415,0x1043D],[0x10416,0x1043E],[0x10417,0x1043F],[0x10418,0x10440],[0x10419,0x10441],[0x1041A,0x10442],[0x1041B,0x10443],[0x1041C,0x10444],[0x1041D,0x10445],[0x1041E,0x10446],[0x1041F,0x10447],[0x10420,0x10448],[0x10421,0x10449],[0x10422,0x1044A],[0x10423,0x1044B],[0x10424,0x1044C],[0x10425,0x1044D],[0x10426,0x1044E],[0x10427,0x1044F],[0x10428,0x10400],[0x10429,0x10401],[0x1042A,0x10402],[0x1042B,0x10403],[0x1042C,0x10404],[0x1042D,0x10405],[0x1042E,0x10406],[0x1042F,0x10407],[0x10430,0x10408],[0x10431,0x10409],[0x10432,0x1040A],[0x10433,0x1040B],[0x10434,0x1040C],[0x10435,0x1040D],[0x10436,0x1040E],[0x10437,0x1040F],[0x10438,0x10410],[0x10439,0x10411],[0x1043A,0x10412],[0x1043B,0x10413],[0x1043C,0x10414],[0x1043D,0x10415],[0x1043E,0x10416],[0x1043F,0x10417],[0x10440,0x10418],[0x10441,0x10419],[0x10442,0x1041A],[0x10443,0x1041B],[0x10444,0x1041C],[0x10445,0x1041D],[0x10446,0x1041E],[0x10447,0x1041F],[0x10448,0x10420],[0x10449,0x10421],[0x1044A,0x10422],[0x1044B,0x10423],[0x1044C,0x10424],[0x1044D,0x10425],[0x1044E,0x10426],[0x1044F,0x10427],[0x104B0,0x104D8],[0x104B1,0x104D9],[0x104B2,0x104DA],[0x104B3,0x104DB],[0x104B4,0x104DC],[0x104B5,0x104DD],[0x104B6,0x104DE],[0x104B7,0x104DF],[0x104B8,0x104E0],[0x104B9,0x104E1],[0x104BA,0x104E2],[0x104BB,0x104E3],[0x104BC,0x104E4],[0x104BD,0x104E5],[0x104BE,0x104E6],[0x104BF,0x104E7],[0x104C0,0x104E8],[0x104C1,0x104E9],[0x104C2,0x104EA],[0x104C3,0x104EB],[0x104C4,0x104EC],[0x104C5,0x104ED],[0x104C6,0x104EE],[0x104C7,0x104EF],[0x104C8,0x104F0],[0x104C9,0x104F1],[0x104CA,0x104F2],[0x104CB,0x104F3],[0x104CC,0x104F4],[0x104CD,0x104F5],[0x104CE,0x104F6],[0x104CF,0x104F7],[0x104D0,0x104F8],[0x104D1,0x104F9],[0x104D2,0x104FA],[0x104D3,0x104FB],[0x104D8,0x104B0],[0x104D9,0x104B1],[0x104DA,0x104B2],[0x104DB,0x104B3],[0x104DC,0x104B4],[0x104DD,0x104B5],[0x104DE,0x104B6],[0x104DF,0x104B7],[0x104E0,0x104B8],[0x104E1,0x104B9],[0x104E2,0x104BA],[0x104E3,0x104BB],[0x104E4,0x104BC],[0x104E5,0x104BD],[0x104E6,0x104BE],[0x104E7,0x104BF],[0x104E8,0x104C0],[0x104E9,0x104C1],[0x104EA,0x104C2],[0x104EB,0x104C3],[0x104EC,0x104C4],[0x104ED,0x104C5],[0x104EE,0x104C6],[0x104EF,0x104C7],[0x104F0,0x104C8],[0x104F1,0x104C9],[0x104F2,0x104CA],[0x104F3,0x104CB],[0x104F4,0x104CC],[0x104F5,0x104CD],[0x104F6,0x104CE],[0x104F7,0x104CF],[0x104F8,0x104D0],[0x104F9,0x104D1],[0x104FA,0x104D2],[0x104FB,0x104D3],[0x10570,0x10597],[0x10571,0x10598],[0x10572,0x10599],[0x10573,0x1059A],[0x10574,0x1059B],[0x10575,0x1059C],[0x10576,0x1059D],[0x10577,0x1059E],[0x10578,0x1059F],[0x10579,0x105A0],[0x1057A,0x105A1],[0x1057C,0x105A3],[0x1057D,0x105A4],[0x1057E,0x105A5],[0x1057F,0x105A6],[0x10580,0x105A7],[0x10581,0x105A8],[0x10582,0x105A9],[0x10583,0x105AA],[0x10584,0x105AB],[0x10585,0x105AC],[0x10586,0x105AD],[0x10587,0x105AE],[0x10588,0x105AF],[0x10589,0x105B0],[0x1058A,0x105B1],[0x1058C,0x105B3],[0x1058D,0x105B4],[0x1058E,0x105B5],[0x1058F,0x105B6],[0x10590,0x105B7],[0x10591,0x105B8],[0x10592,0x105B9],[0x10594,0x105BB],[0x10595,0x105BC],[0x10597,0x10570],[0x10598,0x10571],[0x10599,0x10572],[0x1059A,0x10573],[0x1059B,0x10574],[0x1059C,0x10575],[0x1059D,0x10576],[0x1059E,0x10577],[0x1059F,0x10578],[0x105A0,0x10579],[0x105A1,0x1057A],[0x105A3,0x1057C],[0x105A4,0x1057D],[0x105A5,0x1057E],[0x105A6,0x1057F],[0x105A7,0x10580],[0x105A8,0x10581],[0x105A9,0x10582],[0x105AA,0x10583],[0x105AB,0x10584],[0x105AC,0x10585],[0x105AD,0x10586],[0x105AE,0x10587],[0x105AF,0x10588],[0x105B0,0x10589],[0x105B1,0x1058A],[0x105B3,0x1058C],[0x105B4,0x1058D],[0x105B5,0x1058E],[0x105B6,0x1058F],[0x105B7,0x10590],[0x105B8,0x10591],[0x105B9,0x10592],[0x105BB,0x10594],[0x105BC,0x10595],[0x10C80,0x10CC0],[0x10C81,0x10CC1],[0x10C82,0x10CC2],[0x10C83,0x10CC3],[0x10C84,0x10CC4],[0x10C85,0x10CC5],[0x10C86,0x10CC6],[0x10C87,0x10CC7],[0x10C88,0x10CC8],[0x10C89,0x10CC9],[0x10C8A,0x10CCA],[0x10C8B,0x10CCB],[0x10C8C,0x10CCC],[0x10C8D,0x10CCD],[0x10C8E,0x10CCE],[0x10C8F,0x10CCF],[0x10C90,0x10CD0],[0x10C91,0x10CD1],[0x10C92,0x10CD2],[0x10C93,0x10CD3],[0x10C94,0x10CD4],[0x10C95,0x10CD5],[0x10C96,0x10CD6],[0x10C97,0x10CD7],[0x10C98,0x10CD8],[0x10C99,0x10CD9],[0x10C9A,0x10CDA],[0x10C9B,0x10CDB],[0x10C9C,0x10CDC],[0x10C9D,0x10CDD],[0x10C9E,0x10CDE],[0x10C9F,0x10CDF],[0x10CA0,0x10CE0],[0x10CA1,0x10CE1],[0x10CA2,0x10CE2],[0x10CA3,0x10CE3],[0x10CA4,0x10CE4],[0x10CA5,0x10CE5],[0x10CA6,0x10CE6],[0x10CA7,0x10CE7],[0x10CA8,0x10CE8],[0x10CA9,0x10CE9],[0x10CAA,0x10CEA],[0x10CAB,0x10CEB],[0x10CAC,0x10CEC],[0x10CAD,0x10CED],[0x10CAE,0x10CEE],[0x10CAF,0x10CEF],[0x10CB0,0x10CF0],[0x10CB1,0x10CF1],[0x10CB2,0x10CF2],[0x10CC0,0x10C80],[0x10CC1,0x10C81],[0x10CC2,0x10C82],[0x10CC3,0x10C83],[0x10CC4,0x10C84],[0x10CC5,0x10C85],[0x10CC6,0x10C86],[0x10CC7,0x10C87],[0x10CC8,0x10C88],[0x10CC9,0x10C89],[0x10CCA,0x10C8A],[0x10CCB,0x10C8B],[0x10CCC,0x10C8C],[0x10CCD,0x10C8D],[0x10CCE,0x10C8E],[0x10CCF,0x10C8F],[0x10CD0,0x10C90],[0x10CD1,0x10C91],[0x10CD2,0x10C92],[0x10CD3,0x10C93],[0x10CD4,0x10C94],[0x10CD5,0x10C95],[0x10CD6,0x10C96],[0x10CD7,0x10C97],[0x10CD8,0x10C98],[0x10CD9,0x10C99],[0x10CDA,0x10C9A],[0x10CDB,0x10C9B],[0x10CDC,0x10C9C],[0x10CDD,0x10C9D],[0x10CDE,0x10C9E],[0x10CDF,0x10C9F],[0x10CE0,0x10CA0],[0x10CE1,0x10CA1],[0x10CE2,0x10CA2],[0x10CE3,0x10CA3],[0x10CE4,0x10CA4],[0x10CE5,0x10CA5],[0x10CE6,0x10CA6],[0x10CE7,0x10CA7],[0x10CE8,0x10CA8],[0x10CE9,0x10CA9],[0x10CEA,0x10CAA],[0x10CEB,0x10CAB],[0x10CEC,0x10CAC],[0x10CED,0x10CAD],[0x10CEE,0x10CAE],[0x10CEF,0x10CAF],[0x10CF0,0x10CB0],[0x10CF1,0x10CB1],[0x10CF2,0x10CB2],[0x118A0,0x118C0],[0x118A1,0x118C1],[0x118A2,0x118C2],[0x118A3,0x118C3],[0x118A4,0x118C4],[0x118A5,0x118C5],[0x118A6,0x118C6],[0x118A7,0x118C7],[0x118A8,0x118C8],[0x118A9,0x118C9],[0x118AA,0x118CA],[0x118AB,0x118CB],[0x118AC,0x118CC],[0x118AD,0x118CD],[0x118AE,0x118CE],[0x118AF,0x118CF],[0x118B0,0x118D0],[0x118B1,0x118D1],[0x118B2,0x118D2],[0x118B3,0x118D3],[0x118B4,0x118D4],[0x118B5,0x118D5],[0x118B6,0x118D6],[0x118B7,0x118D7],[0x118B8,0x118D8],[0x118B9,0x118D9],[0x118BA,0x118DA],[0x118BB,0x118DB],[0x118BC,0x118DC],[0x118BD,0x118DD],[0x118BE,0x118DE],[0x118BF,0x118DF],[0x118C0,0x118A0],[0x118C1,0x118A1],[0x118C2,0x118A2],[0x118C3,0x118A3],[0x118C4,0x118A4],[0x118C5,0x118A5],[0x118C6,0x118A6],[0x118C7,0x118A7],[0x118C8,0x118A8],[0x118C9,0x118A9],[0x118CA,0x118AA],[0x118CB,0x118AB],[0x118CC,0x118AC],[0x118CD,0x118AD],[0x118CE,0x118AE],[0x118CF,0x118AF],[0x118D0,0x118B0],[0x118D1,0x118B1],[0x118D2,0x118B2],[0x118D3,0x118B3],[0x118D4,0x118B4],[0x118D5,0x118B5],[0x118D6,0x118B6],[0x118D7,0x118B7],[0x118D8,0x118B8],[0x118D9,0x118B9],[0x118DA,0x118BA],[0x118DB,0x118BB],[0x118DC,0x118BC],[0x118DD,0x118BD],[0x118DE,0x118BE],[0x118DF,0x118BF],[0x16E40,0x16E60],[0x16E41,0x16E61],[0x16E42,0x16E62],[0x16E43,0x16E63],[0x16E44,0x16E64],[0x16E45,0x16E65],[0x16E46,0x16E66],[0x16E47,0x16E67],[0x16E48,0x16E68],[0x16E49,0x16E69],[0x16E4A,0x16E6A],[0x16E4B,0x16E6B],[0x16E4C,0x16E6C],[0x16E4D,0x16E6D],[0x16E4E,0x16E6E],[0x16E4F,0x16E6F],[0x16E50,0x16E70],[0x16E51,0x16E71],[0x16E52,0x16E72],[0x16E53,0x16E73],[0x16E54,0x16E74],[0x16E55,0x16E75],[0x16E56,0x16E76],[0x16E57,0x16E77],[0x16E58,0x16E78],[0x16E59,0x16E79],[0x16E5A,0x16E7A],[0x16E5B,0x16E7B],[0x16E5C,0x16E7C],[0x16E5D,0x16E7D],[0x16E5E,0x16E7E],[0x16E5F,0x16E7F],[0x16E60,0x16E40],[0x16E61,0x16E41],[0x16E62,0x16E42],[0x16E63,0x16E43],[0x16E64,0x16E44],[0x16E65,0x16E45],[0x16E66,0x16E46],[0x16E67,0x16E47],[0x16E68,0x16E48],[0x16E69,0x16E49],[0x16E6A,0x16E4A],[0x16E6B,0x16E4B],[0x16E6C,0x16E4C],[0x16E6D,0x16E4D],[0x16E6E,0x16E4E],[0x16E6F,0x16E4F],[0x16E70,0x16E50],[0x16E71,0x16E51],[0x16E72,0x16E52],[0x16E73,0x16E53],[0x16E74,0x16E54],[0x16E75,0x16E55],[0x16E76,0x16E56],[0x16E77,0x16E57],[0x16E78,0x16E58],[0x16E79,0x16E59],[0x16E7A,0x16E5A],[0x16E7B,0x16E5B],[0x16E7C,0x16E5C],[0x16E7D,0x16E5D],[0x16E7E,0x16E5E],[0x16E7F,0x16E5F],[0x1E900,0x1E922],[0x1E901,0x1E923],[0x1E902,0x1E924],[0x1E903,0x1E925],[0x1E904,0x1E926],[0x1E905,0x1E927],[0x1E906,0x1E928],[0x1E907,0x1E929],[0x1E908,0x1E92A],[0x1E909,0x1E92B],[0x1E90A,0x1E92C],[0x1E90B,0x1E92D],[0x1E90C,0x1E92E],[0x1E90D,0x1E92F],[0x1E90E,0x1E930],[0x1E90F,0x1E931],[0x1E910,0x1E932],[0x1E911,0x1E933],[0x1E912,0x1E934],[0x1E913,0x1E935],[0x1E914,0x1E936],[0x1E915,0x1E937],[0x1E916,0x1E938],[0x1E917,0x1E939],[0x1E918,0x1E93A],[0x1E919,0x1E93B],[0x1E91A,0x1E93C],[0x1E91B,0x1E93D],[0x1E91C,0x1E93E],[0x1E91D,0x1E93F],[0x1E91E,0x1E940],[0x1E91F,0x1E941],[0x1E920,0x1E942],[0x1E921,0x1E943],[0x1E922,0x1E900],[0x1E923,0x1E901],[0x1E924,0x1E902],[0x1E925,0x1E903],[0x1E926,0x1E904],[0x1E927,0x1E905],[0x1E928,0x1E906],[0x1E929,0x1E907],[0x1E92A,0x1E908],[0x1E92B,0x1E909],[0x1E92C,0x1E90A],[0x1E92D,0x1E90B],[0x1E92E,0x1E90C],[0x1E92F,0x1E90D],[0x1E930,0x1E90E],[0x1E931,0x1E90F],[0x1E932,0x1E910],[0x1E933,0x1E911],[0x1E934,0x1E912],[0x1E935,0x1E913],[0x1E936,0x1E914],[0x1E937,0x1E915],[0x1E938,0x1E916],[0x1E939,0x1E917],[0x1E93A,0x1E918],[0x1E93B,0x1E919],[0x1E93C,0x1E91A],[0x1E93D,0x1E91B],[0x1E93E,0x1E91C],[0x1E93F,0x1E91D],[0x1E940,0x1E91E],[0x1E941,0x1E91F],[0x1E942,0x1E920],[0x1E943,0x1E921]]);var characterClassEscapeSets={};var regenerate$1=regenerateExports;characterClassEscapeSets.REGULAR=new Map([['d',regenerate$1().addRange(0x30,0x39)],['D',regenerate$1().addRange(0x0,0x2F).addRange(0x3A,0xFFFF)],['s',regenerate$1(0x20,0xA0,0x1680,0x202F,0x205F,0x3000,0xFEFF).addRange(0x9,0xD).addRange(0x2000,0x200A).addRange(0x2028,0x2029)],['S',regenerate$1().addRange(0x0,0x8).addRange(0xE,0x1F).addRange(0x21,0x9F).addRange(0xA1,0x167F).addRange(0x1681,0x1FFF).addRange(0x200B,0x2027).addRange(0x202A,0x202E).addRange(0x2030,0x205E).addRange(0x2060,0x2FFF).addRange(0x3001,0xFEFE).addRange(0xFF00,0xFFFF)],['w',regenerate$1(0x5F).addRange(0x30,0x39).addRange(0x41,0x5A).addRange(0x61,0x7A)],['W',regenerate$1(0x60).addRange(0x0,0x2F).addRange(0x3A,0x40).addRange(0x5B,0x5E).addRange(0x7B,0xFFFF)]]);characterClassEscapeSets.UNICODE=new Map([['d',regenerate$1().addRange(0x30,0x39)],['D',regenerate$1().addRange(0x0,0x2F).addRange(0x3A,0x10FFFF)],['s',regenerate$1(0x20,0xA0,0x1680,0x202F,0x205F,0x3000,0xFEFF).addRange(0x9,0xD).addRange(0x2000,0x200A).addRange(0x2028,0x2029)],['S',regenerate$1().addRange(0x0,0x8).addRange(0xE,0x1F).addRange(0x21,0x9F).addRange(0xA1,0x167F).addRange(0x1681,0x1FFF).addRange(0x200B,0x2027).addRange(0x202A,0x202E).addRange(0x2030,0x205E).addRange(0x2060,0x2FFF).addRange(0x3001,0xFEFE).addRange(0xFF00,0x10FFFF)],['w',regenerate$1(0x5F).addRange(0x30,0x39).addRange(0x41,0x5A).addRange(0x61,0x7A)],['W',regenerate$1(0x60).addRange(0x0,0x2F).addRange(0x3A,0x40).addRange(0x5B,0x5E).addRange(0x7B,0x10FFFF)]]);characterClassEscapeSets.UNICODE_IGNORE_CASE=new Map([['d',regenerate$1().addRange(0x30,0x39)],['D',regenerate$1().addRange(0x0,0x2F).addRange(0x3A,0x10FFFF)],['s',regenerate$1(0x20,0xA0,0x1680,0x202F,0x205F,0x3000,0xFEFF).addRange(0x9,0xD).addRange(0x2000,0x200A).addRange(0x2028,0x2029)],['S',regenerate$1().addRange(0x0,0x8).addRange(0xE,0x1F).addRange(0x21,0x9F).addRange(0xA1,0x167F).addRange(0x1681,0x1FFF).addRange(0x200B,0x2027).addRange(0x202A,0x202E).addRange(0x2030,0x205E).addRange(0x2060,0x2FFF).addRange(0x3001,0xFEFE).addRange(0xFF00,0x10FFFF)],['w',regenerate$1(0x5F,0x17F,0x212A).addRange(0x30,0x39).addRange(0x41,0x5A).addRange(0x61,0x7A)],['W',regenerate$1(0x60).addRange(0x0,0x2F).addRange(0x3A,0x40).addRange(0x5B,0x5E).addRange(0x7B,0x17E).addRange(0x180,0x2129).addRange(0x212B,0x10FFFF)]]);var generate=regjsgenExports.generate;var parse=parserExports.parse;var regenerate=regenerateExports;var unicodeMatchProperty=unicodeMatchPropertyEcmascript;var unicodeMatchPropertyValue=unicodeMatchPropertyValueEcmascript;var iuMappings=iuMappings$1;var ESCAPE_SETS=characterClassEscapeSets;function flatMap$1(array,callback){var result=[];array.forEach(function(item){var res=callback(item);if(Array.isArray(res)){result.push.apply(result,res);}else{result.push(res);}});return result;}var SPECIAL_CHARS=/([\\^$.*+?()[\]{}|])/g;var UNICODE_SET=regenerate().addRange(0x0,0x10FFFF);var ASTRAL_SET=regenerate().addRange(0x10000,0x10FFFF);var NEWLINE_SET=regenerate().add(0x000A,0x000D,0x2028,0x2029);var DOT_SET_UNICODE=UNICODE_SET.clone().remove(NEWLINE_SET);var getCharacterClassEscapeSet=function getCharacterClassEscapeSet(character,unicode,ignoreCase){if(unicode){if(ignoreCase){return ESCAPE_SETS.UNICODE_IGNORE_CASE.get(character);}return ESCAPE_SETS.UNICODE.get(character);}return ESCAPE_SETS.REGULAR.get(character);};var getUnicodeDotSet=function getUnicodeDotSet(dotAll){return dotAll?UNICODE_SET:DOT_SET_UNICODE;};var getUnicodePropertyValueSet=function getUnicodePropertyValueSet(property,value){var path=value?property+"/"+value:"Binary_Property/"+property;try{return createCommonjsRequire("/node_modules/regexpu-core")("regenerate-unicode-properties/"+path+".js");}catch(exception){throw new Error("Failed to recognize value `"+value+"` for property "+("`"+property+"`."));}};var handleLoneUnicodePropertyNameOrValue=function handleLoneUnicodePropertyNameOrValue(value){try{var _property='General_Category';var category=unicodeMatchPropertyValue(_property,value);return getUnicodePropertyValueSet(_property,category);}catch(exception){}try{return getUnicodePropertyValueSet('Property_of_Strings',value);}catch(exception){}var property=unicodeMatchProperty(value);return getUnicodePropertyValueSet(property);};var getUnicodePropertyEscapeSet=function getUnicodePropertyEscapeSet(value,isNegative){var parts=value.split('=');var firstPart=parts[0];var set;if(parts.length==1){set=handleLoneUnicodePropertyNameOrValue(firstPart);}else{var property=unicodeMatchProperty(firstPart);var _value=unicodeMatchPropertyValue(property,parts[1]);set=getUnicodePropertyValueSet(property,_value);}if(isNegative){if(set.strings){throw new Error('Cannot negate Unicode property of strings');}return{characters:UNICODE_SET.clone().remove(set.characters),strings:new Set()};}return{characters:set.characters.clone(),strings:set.strings?new Set(set.strings.map(function(str){return str.replace(SPECIAL_CHARS,'\\$1');})):new Set()};};var getUnicodePropertyEscapeCharacterClassData=function getUnicodePropertyEscapeCharacterClassData(property,isNegative){var set=getUnicodePropertyEscapeSet(property,isNegative);var data=getCharacterClassEmptyData();data.singleChars=set.characters;if(set.strings.size>0){data.longStrings=set.strings;data.maybeIncludesStrings=true;}return data;};function configNeedCaseFoldAscii(){return!!config.modifiersData.i;}function configNeedCaseFoldUnicode(){if(config.modifiersData.i===false)return false;if(!config.transform.unicodeFlag)return false;return Boolean(config.modifiersData.i||config.flags.ignoreCase);}regenerate.prototype.iuAddRange=function(min,max){var $this=this;do{var folded=caseFold(min,configNeedCaseFoldAscii(),configNeedCaseFoldUnicode());if(folded){$this.add(folded);}}while(++min<=max);return $this;};regenerate.prototype.iuRemoveRange=function(min,max){var $this=this;do{var folded=caseFold(min,configNeedCaseFoldAscii(),configNeedCaseFoldUnicode());if(folded){$this.remove(folded);}}while(++min<=max);return $this;};var update=function update(item,pattern){var tree=parse(pattern,config.useUnicodeFlag?'u':'',{lookbehind:true,namedGroups:true,unicodePropertyEscape:true,unicodeSet:true,modifiers:true});switch(tree.type){case'characterClass':case'group':case'value':break;default:tree=wrap(tree,pattern);}Object.assign(item,tree);};var wrap=function wrap(tree,pattern){return{'type':'group','behavior':'ignore','body':[tree],'raw':"(?:"+pattern+")"};};var caseFold=function caseFold(codePoint,includeAscii,includeUnicode){var folded=(includeUnicode?iuMappings.get(codePoint):undefined)||[];if(typeof folded==='number')folded=[folded];if(includeAscii){if(codePoint>=0x41&&codePoint<=0x5A){folded.push(codePoint+0x20);}else if(codePoint>=0x61&&codePoint<=0x7A){folded.push(codePoint-0x20);}}return folded.length==0?false:folded;};var buildHandler=function buildHandler(action){switch(action){case'union':return{single:function single(data,cp){data.singleChars.add(cp);},regSet:function regSet(data,set2){data.singleChars.add(set2);},range:function range(data,start,end){data.singleChars.addRange(start,end);},iuRange:function iuRange(data,start,end){data.singleChars.iuAddRange(start,end);},nested:function nested(data,nestedData){data.singleChars.add(nestedData.singleChars);for(var _iterator=_createForOfIteratorHelperLoose(nestedData.longStrings),_step;!(_step=_iterator()).done;){var str=_step.value;data.longStrings.add(str);}if(nestedData.maybeIncludesStrings)data.maybeIncludesStrings=true;}};case'union-negative':{var regSet=function regSet(data,set2){data.singleChars=UNICODE_SET.clone().remove(set2).add(data.singleChars);};return{single:function single(data,cp){var unicode=UNICODE_SET.clone();data.singleChars=data.singleChars.contains(cp)?unicode:unicode.remove(cp);},regSet:regSet,range:function range(data,start,end){data.singleChars=UNICODE_SET.clone().removeRange(start,end).add(data.singleChars);},iuRange:function iuRange(data,start,end){data.singleChars=UNICODE_SET.clone().iuRemoveRange(start,end).add(data.singleChars);},nested:function nested(data,nestedData){regSet(data,nestedData.singleChars);if(nestedData.maybeIncludesStrings)throw new Error('ASSERTION ERROR');}};}case'intersection':{var _regSet=function _regSet(data,set2){if(data.first)data.singleChars=set2;else data.singleChars.intersection(set2);};return{single:function single(data,cp){data.singleChars=data.first||data.singleChars.contains(cp)?regenerate(cp):regenerate();data.longStrings.clear();data.maybeIncludesStrings=false;},regSet:function regSet(data,set){_regSet(data,set);data.longStrings.clear();data.maybeIncludesStrings=false;},range:function range(data,start,end){if(data.first)data.singleChars.addRange(start,end);else data.singleChars.intersection(regenerate().addRange(start,end));data.longStrings.clear();data.maybeIncludesStrings=false;},iuRange:function iuRange(data,start,end){if(data.first)data.singleChars.iuAddRange(start,end);else data.singleChars.intersection(regenerate().iuAddRange(start,end));data.longStrings.clear();data.maybeIncludesStrings=false;},nested:function nested(data,nestedData){_regSet(data,nestedData.singleChars);if(data.first){data.longStrings=nestedData.longStrings;data.maybeIncludesStrings=nestedData.maybeIncludesStrings;}else{for(var _iterator2=_createForOfIteratorHelperLoose(data.longStrings),_step2;!(_step2=_iterator2()).done;){var str=_step2.value;if(!nestedData.longStrings.has(str))data.longStrings["delete"](str);}if(!nestedData.maybeIncludesStrings)data.maybeIncludesStrings=false;}}};}case'subtraction':{var _regSet2=function _regSet2(data,set2){if(data.first)data.singleChars.add(set2);else data.singleChars.remove(set2);};return{single:function single(data,cp){if(data.first)data.singleChars.add(cp);else data.singleChars.remove(cp);},regSet:_regSet2,range:function range(data,start,end){if(data.first)data.singleChars.addRange(start,end);else data.singleChars.removeRange(start,end);},iuRange:function iuRange(data,start,end){if(data.first)data.singleChars.iuAddRange(start,end);else data.singleChars.iuRemoveRange(start,end);},nested:function nested(data,nestedData){_regSet2(data,nestedData.singleChars);if(data.first){data.longStrings=nestedData.longStrings;data.maybeIncludesStrings=nestedData.maybeIncludesStrings;}else{for(var _iterator3=_createForOfIteratorHelperLoose(data.longStrings),_step3;!(_step3=_iterator3()).done;){var str=_step3.value;if(nestedData.longStrings.has(str))data.longStrings["delete"](str);}}}};}default:throw new Error("Unknown set action: "+characterClassItem.kind);}};var getCharacterClassEmptyData=function getCharacterClassEmptyData(){return{transformed:config.transform.unicodeFlag,singleChars:regenerate(),longStrings:new Set(),hasEmptyString:false,first:true,maybeIncludesStrings:false};};var maybeFold=function maybeFold(codePoint){var caseFoldAscii=configNeedCaseFoldAscii();var caseFoldUnicode=configNeedCaseFoldUnicode();if(caseFoldAscii||caseFoldUnicode){var folded=caseFold(codePoint,caseFoldAscii,caseFoldUnicode);if(folded){return[codePoint,folded];}}return[codePoint];};var computeClassStrings=function computeClassStrings(classStrings,regenerateOptions){var data=getCharacterClassEmptyData();var caseFoldAscii=configNeedCaseFoldAscii();var caseFoldUnicode=configNeedCaseFoldUnicode();for(var _iterator4=_createForOfIteratorHelperLoose(classStrings.strings),_step4;!(_step4=_iterator4()).done;){var string=_step4.value;if(string.characters.length===1){maybeFold(string.characters[0].codePoint).forEach(function(cp){data.singleChars.add(cp);});}else{var stringifiedString=void 0;if(caseFoldUnicode||caseFoldAscii){stringifiedString='';for(var _iterator5=_createForOfIteratorHelperLoose(string.characters),_step5;!(_step5=_iterator5()).done;){var ch=_step5.value;var set=regenerate(ch.codePoint);var folded=maybeFold(ch.codePoint);if(folded)set.add(folded);stringifiedString+=set.toString(regenerateOptions);}}else{stringifiedString=string.characters.map(function(ch){return generate(ch);}).join('');}data.longStrings.add(stringifiedString);data.maybeIncludesStrings=true;}}return data;};var computeCharacterClass=function computeCharacterClass(characterClassItem,regenerateOptions){var data=getCharacterClassEmptyData();var handlePositive;var handleNegative;switch(characterClassItem.kind){case'union':handlePositive=buildHandler('union');handleNegative=buildHandler('union-negative');break;case'intersection':handlePositive=buildHandler('intersection');handleNegative=buildHandler('subtraction');break;case'subtraction':handlePositive=buildHandler('subtraction');handleNegative=buildHandler('intersection');break;default:throw new Error("Unknown character class kind: "+characterClassItem.kind);}var caseFoldAscii=configNeedCaseFoldAscii();var caseFoldUnicode=configNeedCaseFoldUnicode();for(var _iterator6=_createForOfIteratorHelperLoose(characterClassItem.body),_step6;!(_step6=_iterator6()).done;){var item=_step6.value;switch(item.type){case'value':maybeFold(item.codePoint).forEach(function(cp){handlePositive.single(data,cp);});break;case'characterClassRange':var min=item.min.codePoint;var max=item.max.codePoint;handlePositive.range(data,min,max);if(caseFoldAscii||caseFoldUnicode){handlePositive.iuRange(data,min,max);data.transformed=true;}break;case'characterClassEscape':handlePositive.regSet(data,getCharacterClassEscapeSet(item.value,config.flags.unicode,config.flags.ignoreCase));break;case'unicodePropertyEscape':var nestedData=getUnicodePropertyEscapeCharacterClassData(item.value,item.negative);handlePositive.nested(data,nestedData);data.transformed=data.transformed||config.transform.unicodePropertyEscapes||config.transform.unicodeSetsFlag&&nestedData.maybeIncludesStrings;break;case'characterClass':var handler=item.negative?handleNegative:handlePositive;var res=computeCharacterClass(item,regenerateOptions);handler.nested(data,res);data.transformed=true;break;case'classStrings':handlePositive.nested(data,computeClassStrings(item,regenerateOptions));data.transformed=true;break;default:throw new Error("Unknown term type: "+item.type);}data.first=false;}if(characterClassItem.negative&&data.maybeIncludesStrings){throw new SyntaxError('Cannot negate set containing strings');}return data;};var processCharacterClass=function processCharacterClass(characterClassItem,regenerateOptions,computed){if(computed===void 0){computed=computeCharacterClass(characterClassItem,regenerateOptions);}var negative=characterClassItem.negative;var _computed=computed,singleChars=_computed.singleChars,transformed=_computed.transformed,longStrings=_computed.longStrings;if(transformed){var setStr=singleChars.toString(regenerateOptions);if(negative){if(config.useUnicodeFlag){update(characterClassItem,"[^"+(setStr[0]==='['?setStr.slice(1,-1):setStr)+"]");}else{if(config.flags.unicode){if(config.flags.ignoreCase){var astralCharsSet=singleChars.clone().intersection(ASTRAL_SET);var surrogateOrBMPSetStr=singleChars.clone().remove(astralCharsSet).addRange(0xd800,0xdfff).toString({bmpOnly:true});var astralNegativeSetStr=ASTRAL_SET.clone().remove(astralCharsSet).toString(regenerateOptions);update(characterClassItem,"(?!"+surrogateOrBMPSetStr+")[\\s\\S]|"+astralNegativeSetStr);}else{update(characterClassItem,UNICODE_SET.clone().remove(singleChars).toString(regenerateOptions));}}else{update(characterClassItem,"(?!"+setStr+")[\\s\\S]");}}}else{var hasEmptyString=longStrings.has('');var pieces=Array.from(longStrings).sort(function(a,b){return b.length-a.length;});if(setStr!=='[]'||longStrings.size===0){pieces.splice(pieces.length-(hasEmptyString?1:0),0,setStr);}update(characterClassItem,pieces.join('|'));}}return characterClassItem;};var assertNoUnmatchedReferences=function assertNoUnmatchedReferences(groups){var unmatchedReferencesNames=Object.keys(groups.unmatchedReferences);if(unmatchedReferencesNames.length>0){throw new Error("Unknown group names: "+unmatchedReferencesNames);}};var processModifiers=function processModifiers(item,regenerateOptions,groups){var enabling=item.modifierFlags.enabling;var disabling=item.modifierFlags.disabling;delete item.modifierFlags;item.behavior='ignore';var oldData=Object.assign({},config.modifiersData);enabling.split('').forEach(function(flag){config.modifiersData[flag]=true;});disabling.split('').forEach(function(flag){config.modifiersData[flag]=false;});item.body=item.body.map(function(term){return processTerm(term,regenerateOptions,groups);});config.modifiersData=oldData;return item;};var processTerm=function processTerm(item,regenerateOptions,groups){switch(item.type){case'dot':if(config.transform.unicodeFlag){update(item,getUnicodeDotSet(config.flags.dotAll||config.modifiersData.s).toString(regenerateOptions));}else if(config.transform.dotAllFlag||config.modifiersData.s){update(item,'[\\s\\S]');}break;case'characterClass':item=processCharacterClass(item,regenerateOptions);break;case'unicodePropertyEscape':var data=getUnicodePropertyEscapeCharacterClassData(item.value,item.negative);if(data.maybeIncludesStrings){if(!config.flags.unicodeSets){throw new Error('Properties of strings are only supported when using the unicodeSets (v) flag.');}if(config.transform.unicodeSetsFlag){data.transformed=true;item=processCharacterClass(item,regenerateOptions,data);}}else if(config.transform.unicodePropertyEscapes){update(item,data.singleChars.toString(regenerateOptions));}break;case'characterClassEscape':if(config.transform.unicodeFlag){update(item,getCharacterClassEscapeSet(item.value,true,config.flags.ignoreCase).toString(regenerateOptions));}break;case'group':if(item.behavior=='normal'){groups.lastIndex++;}if(item.name){var name=item.name.value;if(groups.namesConflicts[name]){throw new Error("Group '"+name+"' has already been defined in this context.");}groups.namesConflicts[name]=true;if(config.transform.namedGroups){delete item.name;}var index=groups.lastIndex;if(!groups.names[name]){groups.names[name]=[];}groups.names[name].push(index);if(groups.onNamedGroup){groups.onNamedGroup.call(null,name,index);}if(groups.unmatchedReferences[name]){delete groups.unmatchedReferences[name];}}if(item.modifierFlags&&config.transform.modifiers){return processModifiers(item,regenerateOptions,groups);}case'quantifier':item.body=item.body.map(function(term){return processTerm(term,regenerateOptions,groups);});break;case'disjunction':var outerNamesConflicts=groups.namesConflicts;item.body=item.body.map(function(term){groups.namesConflicts=Object.create(outerNamesConflicts);return processTerm(term,regenerateOptions,groups);});break;case'alternative':item.body=flatMap$1(item.body,function(term){var res=processTerm(term,regenerateOptions,groups);return res.type==='alternative'?res.body:res;});break;case'value':var codePoint=item.codePoint;var set=regenerate(codePoint);var folded=maybeFold(codePoint);set.add(folded);update(item,set.toString(regenerateOptions));break;case'reference':if(item.name){var _name=item.name.value;var indexes=groups.names[_name];if(!indexes){groups.unmatchedReferences[_name]=true;}if(config.transform.namedGroups){if(indexes){var body=indexes.map(function(index){return{'type':'reference','matchIndex':index,'raw':'\\'+index};});if(body.length===1){return body[0];}return{'type':'alternative','body':body,'raw':body.map(function(term){return term.raw;}).join('')};}return{'type':'group','behavior':'ignore','body':[],'raw':'(?:)'};}}break;case'anchor':if(config.modifiersData.m){if(item.kind=='start'){update(item,"(?:^|(?<="+NEWLINE_SET.toString()+"))");}else if(item.kind=='end'){update(item,"(?:$|(?="+NEWLINE_SET.toString()+"))");}}case'empty':break;default:throw new Error("Unknown term type: "+item.type);}return item;};var config={'flags':{'ignoreCase':false,'unicode':false,'unicodeSets':false,'dotAll':false,'multiline':false},'transform':{'dotAllFlag':false,'unicodeFlag':false,'unicodeSetsFlag':false,'unicodePropertyEscapes':false,'namedGroups':false,'modifiers':false},'modifiersData':{'i':undefined,'s':undefined,'m':undefined},get useUnicodeFlag(){return(this.flags.unicode||this.flags.unicodeSets)&&!this.transform.unicodeFlag;}};var validateOptions=function validateOptions(options){if(!options)return;for(var _i=0,_Object$keys=Object.keys(options);_i<_Object$keys.length;_i++){var key=_Object$keys[_i];var value=options[key];switch(key){case'dotAllFlag':case'unicodeFlag':case'unicodePropertyEscapes':case'namedGroups':if(value!=null&&value!==false&&value!=='transform'){throw new Error("."+key+" must be false (default) or 'transform'.");}break;case'modifiers':case'unicodeSetsFlag':if(value!=null&&value!==false&&value!=='parse'&&value!=='transform'){throw new Error("."+key+" must be false (default), 'parse' or 'transform'.");}break;case'onNamedGroup':case'onNewFlags':if(value!=null&&typeof value!=='function'){throw new Error("."+key+" must be a function.");}break;default:throw new Error("."+key+" is not a valid regexpu-core option.");}}};var hasFlag=function hasFlag(flags,flag){return flags?flags.includes(flag):false;};var transform$2=function transform(options,name){return options?options[name]==='transform':false;};var rewritePattern=function rewritePattern(pattern,flags,options){validateOptions(options);config.flags.unicode=hasFlag(flags,'u');config.flags.unicodeSets=hasFlag(flags,'v');config.flags.ignoreCase=hasFlag(flags,'i');config.flags.dotAll=hasFlag(flags,'s');config.flags.multiline=hasFlag(flags,'m');config.transform.dotAllFlag=config.flags.dotAll&&transform$2(options,'dotAllFlag');config.transform.unicodeFlag=(config.flags.unicode||config.flags.unicodeSets)&&transform$2(options,'unicodeFlag');config.transform.unicodeSetsFlag=config.flags.unicodeSets&&transform$2(options,'unicodeSetsFlag');config.transform.unicodePropertyEscapes=config.flags.unicode&&(transform$2(options,'unicodeFlag')||transform$2(options,'unicodePropertyEscapes'));config.transform.namedGroups=transform$2(options,'namedGroups');config.transform.modifiers=transform$2(options,'modifiers');config.modifiersData.i=undefined;config.modifiersData.s=undefined;config.modifiersData.m=undefined;var regjsparserFeatures={'unicodeSet':Boolean(options&&options.unicodeSetsFlag),'modifiers':Boolean(options&&options.modifiers),'unicodePropertyEscape':true,'namedGroups':true,'lookbehind':true};var regenerateOptions={'hasUnicodeFlag':config.useUnicodeFlag,'bmpOnly':!config.flags.unicode};var groups={'onNamedGroup':options&&options.onNamedGroup,'lastIndex':0,'names':Object.create(null),'namesConflicts':Object.create(null),'unmatchedReferences':Object.create(null)};var tree=parse(pattern,flags,regjsparserFeatures);if(config.transform.modifiers){if(/\(\?[a-z]*-[a-z]+:/.test(pattern)){var allDisabledModifiers=Object.create(null);var itemStack=[tree];var node;while(node=itemStack.pop(),node!=undefined){if(Array.isArray(node)){Array.prototype.push.apply(itemStack,node);}else if(_typeof(node)=='object'&&node!=null){for(var _i2=0,_Object$keys2=Object.keys(node);_i2<_Object$keys2.length;_i2++){var key=_Object$keys2[_i2];var value=node[key];if(key=='modifierFlags'){if(value.disabling.length>0){value.disabling.split('').forEach(function(flag){allDisabledModifiers[flag]=true;});}}else if(_typeof(value)=='object'&&value!=null){itemStack.push(value);}}}}for(var _i3=0,_Object$keys3=Object.keys(allDisabledModifiers);_i3<_Object$keys3.length;_i3++){var flag=_Object$keys3[_i3];config.modifiersData[flag]=true;}}}processTerm(tree,regenerateOptions,groups);assertNoUnmatchedReferences(groups);var onNewFlags=options&&options.onNewFlags;if(onNewFlags){var newFlags=flags.split('').filter(function(flag){return!config.modifiersData[flag];}).join('');if(config.transform.unicodeSetsFlag){newFlags=newFlags.replace('v','u');}if(config.transform.unicodeFlag){newFlags=newFlags.replace('u','');}if(config.transform.dotAllFlag==='transform'){newFlags=newFlags.replace('s','');}onNewFlags(newFlags);}return generate(tree);};var rewritePattern_1=rewritePattern;function bool$3(value){if(value==null)return false;return value&&value!=="false"&&value!=="0";}var semver$6=bool$3(browser$1$1.env["BABEL_8_BREAKING"])?requireSemver$2():requireSemver$2();var FEATURES=Object.freeze({unicodeFlag:1<<0,dotAllFlag:1<<1,unicodePropertyEscape:1<<2,namedCaptureGroups:1<<3,unicodeSetsFlag_syntax:1<<4,unicodeSetsFlag:1<<5,duplicateNamedCaptureGroups:1<<6,modifiers:1<<7});var featuresKey="@babel/plugin-regexp-features/featuresKey";var runtimeKey="@babel/plugin-regexp-features/runtimeKey";function enableFeature(features,feature){return features|feature;}function hasFeature(features,feature){return!!(features&feature);}function generateRegexpuOptions(pattern,toTransform){var feat=function feat(name,ok){if(ok===void 0){ok="transform";}return hasFeature(toTransform,FEATURES[name])?ok:false;};var featDuplicateNamedGroups=function featDuplicateNamedGroups(){if(!feat("duplicateNamedCaptureGroups"))return false;var regex=/\(\?<([^>]+)>/g;var seen=new Set();for(var match;match=regex.exec(pattern);seen.add(match[1])){if(seen.has(match[1]))return"transform";}return false;};return{unicodeFlag:feat("unicodeFlag"),unicodeSetsFlag:feat("unicodeSetsFlag")||"parse",dotAllFlag:feat("dotAllFlag"),unicodePropertyEscapes:feat("unicodePropertyEscape"),namedGroups:feat("namedCaptureGroups")||featDuplicateNamedGroups(),onNamedGroup:function onNamedGroup(){},modifiers:feat("modifiers")};}function canSkipRegexpu(node,options){var flags=node.flags,pattern=node.pattern;if(flags.includes("v")){if(options.unicodeSetsFlag==="transform")return false;}if(flags.includes("u")){if(options.unicodeFlag==="transform")return false;if(options.unicodePropertyEscapes==="transform"&&/\\[pP]{/.test(pattern)){return false;}}if(flags.includes("s")){if(options.dotAllFlag==="transform")return false;}if(options.namedGroups==="transform"&&/\(\?<(?![=!])/.test(pattern)){return false;}if(options.modifiers==="transform"&&/\(\?[\w-]+:/.test(pattern)){return false;}return true;}function transformFlags(regexpuOptions,flags){if(regexpuOptions.unicodeSetsFlag==="transform"){flags=flags.replace("v","u");}if(regexpuOptions.unicodeFlag==="transform"){flags=flags.replace("u","");}if(regexpuOptions.dotAllFlag==="transform"){flags=flags.replace("s","");}return flags;}var versionKey="@babel/plugin-regexp-features/version";function createRegExpFeaturePlugin(_ref){var name=_ref.name,feature=_ref.feature,_ref$options=_ref.options,options=_ref$options===void 0?{}:_ref$options,_ref$manipulateOption=_ref.manipulateOptions,manipulateOptions=_ref$manipulateOption===void 0?function(){}:_ref$manipulateOption;return{name:name,manipulateOptions:manipulateOptions,pre:function pre(){var _file$get;var file=this.file;var features=(_file$get=file.get(featuresKey))!=null?_file$get:0;var newFeatures=enableFeature(features,FEATURES[feature]);var useUnicodeFlag=options.useUnicodeFlag,runtime=options.runtime;if(useUnicodeFlag===false){newFeatures=enableFeature(newFeatures,FEATURES.unicodeFlag);}if(newFeatures!==features){file.set(featuresKey,newFeatures);}if(runtime!==undefined){if(file.has(runtimeKey)&&file.get(runtimeKey)!==runtime&&hasFeature(newFeatures,FEATURES.duplicateNamedCaptureGroups)){throw new Error("The 'runtime' option must be the same for "+"'@babel/plugin-transform-named-capturing-groups-regex' and "+"'@babel/plugin-proposal-duplicate-named-capturing-groups-regex'.");}if(feature==="namedCaptureGroups"){if(!runtime||!file.has(runtimeKey))file.set(runtimeKey,runtime);}else{file.set(runtimeKey,runtime);}}{if(typeof file.get(versionKey)==="number"){file.set(versionKey,"7.22.15");return;}}if(!file.get(versionKey)||semver$6.lt(file.get(versionKey),"7.22.15")){file.set(versionKey,"7.22.15");}},visitor:{RegExpLiteral:function RegExpLiteral(path){var _file$get2,_newFlags;var node=path.node;var file=this.file;var features=file.get(featuresKey);var runtime=(_file$get2=file.get(runtimeKey))!=null?_file$get2:true;var regexpuOptions=generateRegexpuOptions(node.pattern,features);if(canSkipRegexpu(node,regexpuOptions)){return;}var namedCaptureGroups={__proto__:null};if(regexpuOptions.namedGroups==="transform"){regexpuOptions.onNamedGroup=function(name,index){var prev=namedCaptureGroups[name];if(typeof prev==="number"){namedCaptureGroups[name]=[prev,index];}else if(Array.isArray(prev)){prev.push(index);}else{namedCaptureGroups[name]=index;}};}var newFlags;if(regexpuOptions.modifiers==="transform"){regexpuOptions.onNewFlags=function(flags){newFlags=flags;};}node.pattern=rewritePattern_1(node.pattern,node.flags,regexpuOptions);if(regexpuOptions.namedGroups==="transform"&&Object.keys(namedCaptureGroups).length>0&&runtime&&!isRegExpTest(path)){var call=callExpression$d(this.addHelper("wrapRegExp"),[node,valueToNode$1(namedCaptureGroups)]);annotateAsPure(call);path.replaceWith(call);}node.flags=transformFlags(regexpuOptions,(_newFlags=newFlags)!=null?_newFlags:node.flags);}}};}function isRegExpTest(path){return path.parentPath.isMemberExpression({object:path.node,computed:false})&&path.parentPath.get("property").isIdentifier({name:"test"});}var proposalDuplicateNamedCapturingGroupsRegex=declare(function(api,options){api.assertVersion("*");var runtime=options.runtime;if(runtime!==undefined&&typeof runtime!=="boolean"){throw new Error("The 'runtime' option must be boolean");}return createRegExpFeaturePlugin({name:"proposal-duplicate-named-capturing-groups-regex",feature:"duplicateNamedCaptureGroups",options:{runtime:runtime}});});var SUPPORTED_MODULES=["commonjs","amd","systemjs"];var MODULES_NOT_FOUND="@babel/plugin-transform-dynamic-import depends on a modules\ntransform plugin. Supported plugins are:\n - @babel/plugin-transform-modules-commonjs ^7.4.0\n - @babel/plugin-transform-modules-amd ^7.4.0\n - @babel/plugin-transform-modules-systemjs ^7.4.0\n\nIf you are using Webpack or Rollup and thus don't want\nBabel to transpile your imports and exports, you can use\nthe @babel/plugin-syntax-dynamic-import plugin and let your\nbundler handle dynamic imports.\n";var proposalDynamicImport=declare(function(api){api.assertVersion("*");return{name:"transform-dynamic-import",inherits:undefined,pre:function pre(){this.file.set("@babel/plugin-proposal-dynamic-import","7.24.1");},visitor:{Program:function Program(){var modules=this.file.get("@babel/plugin-transform-modules-*");if(!SUPPORTED_MODULES.includes(modules)){throw new Error(MODULES_NOT_FOUND);}}}};});var proposalExportDefaultFrom=declare(function(api){api.assertVersion("*");return{name:"proposal-export-default-from",inherits:syntaxExportDefaultFrom,visitor:{ExportNamedDeclaration:function ExportNamedDeclaration(path){var node=path.node;var specifiers=node.specifiers,source=node.source;if(!isExportDefaultSpecifier$1(specifiers[0]))return;var _specifiers$shift=specifiers.shift(),exported=_specifiers$shift.exported;if(specifiers.every(function(s){return isExportSpecifier(s);})){specifiers.unshift(exportSpecifier$2(identifier$j("default"),exported));return;}path.insertBefore(exportNamedDeclaration$2(null,[exportSpecifier$2(identifier$j("default"),exported)],cloneNode$j(source)));}}};});var proposalExportNamespaceFrom=declare(function(api){api.assertVersion("*");return{name:"transform-export-namespace-from",inherits:undefined,visitor:{ExportNamedDeclaration:function ExportNamedDeclaration(path){var _exported$name;var node=path.node,scope=path.scope;var specifiers=node.specifiers;var index=isExportDefaultSpecifier$1(specifiers[0])?1:0;if(!isExportNamespaceSpecifier$1(specifiers[index]))return;var nodes=[];if(index===1){nodes.push(exportNamedDeclaration$2(null,[specifiers.shift()],node.source));}var specifier=specifiers.shift();var exported=specifier.exported;var uid=scope.generateUidIdentifier((_exported$name=exported.name)!=null?_exported$name:exported.value);nodes.push(importDeclaration$1([importNamespaceSpecifier$1(uid)],cloneNode$j(node.source)),exportNamedDeclaration$2(null,[exportSpecifier$2(cloneNode$j(uid),exported)]));if(node.specifiers.length>=1){nodes.push(node);}var _path$replaceWithMult=path.replaceWithMultiple(nodes),_path$replaceWithMult2=_slicedToArray(_path$replaceWithMult,1),importDeclaration=_path$replaceWithMult2[0];path.scope.registerDeclaration(importDeclaration);}}};});var proposalFunctionBind=declare(function(api){api.assertVersion("*");function getTempId(scope){var id=scope.path.getData("functionBind");if(id)return cloneNode$j(id);id=scope.generateDeclaredUidIdentifier("context");return scope.path.setData("functionBind",id);}function getObject(bind){if(isExpression$4(bind.object)){return bind.object;}return bind.callee.object;}function getStaticContext(bind,scope){var object=getObject(bind);return scope.isStatic(object)&&(isSuper$3(object)?thisExpression$4():object);}function inferBindContext(bind,scope){var staticContext=getStaticContext(bind,scope);if(staticContext)return cloneNode$j(staticContext);var tempId=getTempId(scope);if(bind.object){bind.callee=sequenceExpression$8([assignmentExpression$d("=",tempId,bind.object),bind.callee]);}else if(isMemberExpression$9(bind.callee)){bind.callee.object=assignmentExpression$d("=",tempId,bind.callee.object);}return cloneNode$j(tempId);}return{name:"proposal-function-bind",inherits:syntaxFunctionBind,visitor:{CallExpression:function CallExpression(_ref){var node=_ref.node,scope=_ref.scope;var bind=node.callee;if(!isBindExpression(bind))return;var context=inferBindContext(bind,scope);node.callee=memberExpression$c(bind.callee,identifier$j("call"));node.arguments.unshift(context);},BindExpression:function BindExpression(path){var node=path.node,scope=path.scope;var context=inferBindContext(node,scope);path.replaceWith(callExpression$d(memberExpression$c(node.callee,identifier$j("bind")),[context]));}}};});var proposalFunctionSent=declare(function(api){api.assertVersion("*");var isFunctionSent=function isFunctionSent(node){return isIdentifier$j(node.meta,{name:"function"})&&isIdentifier$j(node.property,{name:"sent"});};var hasBeenReplaced=function hasBeenReplaced(node,sentId){return isAssignmentExpression$3(node)&&isIdentifier$j(node.left,{name:sentId});};var yieldVisitor={Function:function Function(path){path.skip();},YieldExpression:function YieldExpression(path){if(!hasBeenReplaced(path.parent,this.sentId)){path.replaceWith(assignmentExpression$d("=",identifier$j(this.sentId),path.node));}},MetaProperty:function MetaProperty(path){if(isFunctionSent(path.node)){path.replaceWith(identifier$j(this.sentId));}}};return{name:"proposal-function-sent",inherits:syntaxFunctionSent,visitor:{MetaProperty:function MetaProperty(path,state){if(!isFunctionSent(path.node))return;var fnPath=path.getFunctionParent();if(!fnPath.node.generator){throw new Error("Parent generator function not found");}var sentId=path.scope.generateUid("function.sent");fnPath.traverse(yieldVisitor,{sentId:sentId});fnPath.node.body.body.unshift(variableDeclaration$8("let",[variableDeclarator$8(identifier$j(sentId),yieldExpression$2())]));wrapFunction(fnPath,state.addHelper("skipFirstGeneratorNext"));}}};});var proposalJsonStrings=declare(function(api){api.assertVersion("*");var regex=/(\\*)([\u2028\u2029])/g;function replace(match,escapes,separator){var isEscaped=escapes.length%2===1;if(isEscaped)return match;return escapes+"\\u"+separator.charCodeAt(0).toString(16);}return{name:"transform-json-strings",inherits:undefined,visitor:{"DirectiveLiteral|StringLiteral":function DirectiveLiteralStringLiteral(_ref){var node=_ref.node;var extra=node.extra;if(!(extra!=null&&extra.raw))return;extra.raw=extra.raw.replace(regex,replace);}}};});var proposalLogicalAssignmentOperators=declare(function(api){api.assertVersion("*");return{name:"transform-logical-assignment-operators",inherits:undefined,visitor:{AssignmentExpression:function AssignmentExpression(path){var node=path.node,scope=path.scope;var operator=node.operator,left=node.left,right=node.right;var operatorTrunc=operator.slice(0,-1);if(!LOGICAL_OPERATORS$3.includes(operatorTrunc)){return;}var lhs=cloneNode$j(left);if(isMemberExpression$9(left)){var object=left.object,property=left.property,computed=left.computed;var memo=scope.maybeGenerateMemoised(object);if(memo){left.object=memo;lhs.object=assignmentExpression$d("=",cloneNode$j(memo),object);}if(computed){var _memo=scope.maybeGenerateMemoised(property);if(_memo){left.property=_memo;lhs.property=assignmentExpression$d("=",cloneNode$j(_memo),property);}}}path.replaceWith(logicalExpression$3(operatorTrunc,lhs,assignmentExpression$d("=",left,right)));}}};});var _templateObject$p;var proposalNullishCoalescingOperator=declare(function(api,_ref){var _api$assumption;var _ref$loose=_ref.loose,loose=_ref$loose===void 0?false:_ref$loose;api.assertVersion("*");var noDocumentAll=(_api$assumption=api.assumption("noDocumentAll"))!=null?_api$assumption:loose;return{name:"transform-nullish-coalescing-operator",inherits:undefined,visitor:{LogicalExpression:function LogicalExpression(path){var node=path.node,scope=path.scope;if(node.operator!=="??"){return;}var ref;var assignment;if(scope.isStatic(node.left)){ref=node.left;assignment=cloneNode$j(node.left);}else if(scope.path.isPattern()){path.replaceWith(template$1.statement.ast(_templateObject$p||(_templateObject$p=_taggedTemplateLiteralLoose(["(() => ",")()"])),path.node));return;}else{ref=scope.generateUidIdentifierBasedOnNode(node.left);scope.push({id:cloneNode$j(ref)});assignment=assignmentExpression$d("=",ref,node.left);}path.replaceWith(conditionalExpression$5(noDocumentAll?binaryExpression$5("!=",assignment,nullLiteral$2()):logicalExpression$3("&&",binaryExpression$5("!==",assignment,nullLiteral$2()),binaryExpression$5("!==",cloneNode$j(ref),scope.buildUndefinedNode())),cloneNode$j(ref),node.right));}}};});function remover(_ref){var _extra$raw;var node=_ref.node;var extra=node.extra;if(extra!=null&&(_extra$raw=extra.raw)!=null&&_extra$raw.includes("_")){extra.raw=extra.raw.replace(/_/g,"");}}var proposalNumericSeparator=declare(function(api){api.assertVersion("*");return{name:"transform-numeric-separator",inherits:undefined,visitor:{NumericLiteral:remover,BigIntLiteral:remover}};});var isObjectProperty$1=isObjectProperty$5,isArrayPattern=isArrayPattern$1,isObjectPattern=isObjectPattern$2,isAssignmentPattern$1=isAssignmentPattern$5,isRestElement=isRestElement$3,isIdentifier$2=isIdentifier$j;function shouldStoreRHSInTemporaryVariable(node){if(isArrayPattern(node)){var nonNullElements=node.elements.filter(function(element){return element!==null;});if(nonNullElements.length>1)return true;else return shouldStoreRHSInTemporaryVariable(nonNullElements[0]);}else if(isObjectPattern(node)){var properties=node.properties;if(properties.length>1)return true;else if(properties.length===0)return false;else{var firstProperty=properties[0];if(isObjectProperty$1(firstProperty)){return shouldStoreRHSInTemporaryVariable(firstProperty.value);}else{return shouldStoreRHSInTemporaryVariable(firstProperty);}}}else if(isAssignmentPattern$1(node)){return shouldStoreRHSInTemporaryVariable(node.left);}else if(isRestElement(node)){if(isIdentifier$2(node.argument))return true;return shouldStoreRHSInTemporaryVariable(node.argument);}else{return false;}}var compatData={"Object.assign":{chrome:"49",opera:"36",edge:"13",firefox:"36",safari:"10",node:"6",deno:"1",ios:"10",samsung:"5",opera_mobile:"36",electron:"0.37"}};var isAssignmentPattern=isAssignmentPattern$5,isObjectProperty=isObjectProperty$5;{var node=identifier$j("a");var property=objectProperty$1(identifier$j("key"),node);var pattern=objectPattern$1([property]);var ZERO_REFS=isReferenced$2(node,property,pattern)?1:0;}var proposalObjectRestSpread=declare(function(api,opts){var _api$assumption,_api$assumption2,_api$assumption3,_api$assumption4;api.assertVersion("*");var targets=api.targets();var supportsObjectAssign=!isRequired("Object.assign",targets,{compatData:compatData});var _opts$useBuiltIns=opts.useBuiltIns,useBuiltIns=_opts$useBuiltIns===void 0?supportsObjectAssign:_opts$useBuiltIns,_opts$loose=opts.loose,loose=_opts$loose===void 0?false:_opts$loose;if(typeof loose!=="boolean"){throw new Error(".loose must be a boolean, or undefined");}var ignoreFunctionLength=(_api$assumption=api.assumption("ignoreFunctionLength"))!=null?_api$assumption:loose;var objectRestNoSymbols=(_api$assumption2=api.assumption("objectRestNoSymbols"))!=null?_api$assumption2:loose;var pureGetters=(_api$assumption3=api.assumption("pureGetters"))!=null?_api$assumption3:loose;var setSpreadProperties=(_api$assumption4=api.assumption("setSpreadProperties"))!=null?_api$assumption4:loose;function getExtendsHelper(file){return useBuiltIns?memberExpression$c(identifier$j("Object"),identifier$j("assign")):file.addHelper("extends");}function hasRestElement(path){var foundRestElement=false;visitRestElements(path,function(restElement){foundRestElement=true;restElement.stop();});return foundRestElement;}function hasObjectPatternRestElement(path){var foundRestElement=false;visitRestElements(path,function(restElement){if(restElement.parentPath.isObjectPattern()){foundRestElement=true;restElement.stop();}});return foundRestElement;}function visitRestElements(path,visitor){path.traverse({Expression:function Expression(path){var parent=path.parent,key=path.key;if(isAssignmentPattern(parent)&&key==="right"||isObjectProperty(parent)&&parent.computed&&key==="key"){path.skip();}},RestElement:visitor});}function hasSpread(node){for(var _iterator=_createForOfIteratorHelperLoose(node.properties),_step;!(_step=_iterator()).done;){var prop=_step.value;if(isSpreadElement$1(prop)){return true;}}return false;}function extractNormalizedKeys(node){var props=node.properties;var keys=[];var allPrimitives=true;var hasTemplateLiteral=false;for(var _iterator2=_createForOfIteratorHelperLoose(props),_step2;!(_step2=_iterator2()).done;){var prop=_step2.value;var key=prop.key;if(isIdentifier$j(key)&&!prop.computed){keys.push(stringLiteral$8(key.name));}else if(isTemplateLiteral$2(key)){keys.push(cloneNode$j(key));hasTemplateLiteral=true;}else if(isLiteral$6(key)){keys.push(stringLiteral$8(String(key.value)));}else{keys.push(cloneNode$j(key));if(isMemberExpression$9(key,{computed:false})&&isIdentifier$j(key.object,{name:"Symbol"})||isCallExpression$8(key)&&matchesPattern$2(key.callee,"Symbol.for"));else{allPrimitives=false;}}}return{keys:keys,allPrimitives:allPrimitives,hasTemplateLiteral:hasTemplateLiteral};}function replaceImpureComputedKeys(properties,scope){var impureComputedPropertyDeclarators=[];for(var _iterator3=_createForOfIteratorHelperLoose(properties),_step3;!(_step3=_iterator3()).done;){var propPath=_step3.value;var key=propPath.get("key");if(propPath.node.computed&&!key.isPure()){var name=scope.generateUidBasedOnNode(key.node);var declarator=variableDeclarator$8(identifier$j(name),key.node);impureComputedPropertyDeclarators.push(declarator);key.replaceWith(identifier$j(name));}}return impureComputedPropertyDeclarators;}function removeUnusedExcludedKeys(path){var bindings=path.getOuterBindingIdentifierPaths();Object.keys(bindings).forEach(function(bindingName){var bindingParentPath=bindings[bindingName].parentPath;if(path.scope.getBinding(bindingName).references>ZERO_REFS||!bindingParentPath.isObjectProperty()){return;}bindingParentPath.remove();});}function createObjectRest(path,file,objRef){var props=path.get("properties");var last=props[props.length-1];assertRestElement(last.node);var restElement=cloneNode$j(last.node);last.remove();var impureComputedPropertyDeclarators=replaceImpureComputedKeys(path.get("properties"),path.scope);var _extractNormalizedKey=extractNormalizedKeys(path.node),keys=_extractNormalizedKey.keys,allPrimitives=_extractNormalizedKey.allPrimitives,hasTemplateLiteral=_extractNormalizedKey.hasTemplateLiteral;if(keys.length===0){return[impureComputedPropertyDeclarators,restElement.argument,callExpression$d(getExtendsHelper(file),[objectExpression$3([]),sequenceExpression$8([callExpression$d(file.addHelper("objectDestructuringEmpty"),[cloneNode$j(objRef)]),cloneNode$j(objRef)])])];}var keyExpression;if(!allPrimitives){keyExpression=callExpression$d(memberExpression$c(arrayExpression$1(keys),identifier$j("map")),[file.addHelper("toPropertyKey")]);}else{keyExpression=arrayExpression$1(keys);if(!hasTemplateLiteral&&!isProgram$1(path.scope.block)){var program=path.findParent(function(path){return path.isProgram();});var id=path.scope.generateUidIdentifier("excluded");program.scope.push({id:id,init:keyExpression,kind:"const"});keyExpression=cloneNode$j(id);}}return[impureComputedPropertyDeclarators,restElement.argument,callExpression$d(file.addHelper("objectWithoutProperties"+(objectRestNoSymbols?"Loose":"")),[cloneNode$j(objRef),keyExpression])];}function replaceRestElement(parentPath,paramPath,container){if(paramPath.isAssignmentPattern()){replaceRestElement(parentPath,paramPath.get("left"),container);return;}if(paramPath.isArrayPattern()&&hasRestElement(paramPath)){var elements=paramPath.get("elements");for(var i=0;i<elements.length;i++){replaceRestElement(parentPath,elements[i],container);}}if(paramPath.isObjectPattern()&&hasRestElement(paramPath)){var uid=parentPath.scope.generateUidIdentifier("ref");var declar=variableDeclaration$8("let",[variableDeclarator$8(paramPath.node,uid)]);if(container){container.push(declar);}else{parentPath.ensureBlock();parentPath.get("body").unshiftContainer("body",declar);}paramPath.replaceWith(cloneNode$j(uid));}}return{name:"transform-object-rest-spread",inherits:undefined,visitor:{Function:function Function(path){var params=path.get("params");var paramsWithRestElement=new Set();var idsInRestParams=new Set();for(var _i=0;_i<params.length;++_i){var param=params[_i];if(hasRestElement(param)){paramsWithRestElement.add(_i);for(var _i2=0,_Object$keys=Object.keys(param.getBindingIdentifiers());_i2<_Object$keys.length;_i2++){var name=_Object$keys[_i2];idsInRestParams.add(name);}}}var idInRest=false;var IdentifierHandler=function IdentifierHandler(path,functionScope){var name=path.node.name;if(path.scope.getBinding(name)===functionScope.getBinding(name)&&idsInRestParams.has(name)){idInRest=true;path.stop();}};var i;for(i=0;i<params.length&&!idInRest;++i){var _param=params[i];if(!paramsWithRestElement.has(i)){if(_param.isReferencedIdentifier()||_param.isBindingIdentifier()){IdentifierHandler(_param,path.scope);}else{_param.traverse({"Scope|TypeAnnotation|TSTypeAnnotation":function ScopeTypeAnnotationTSTypeAnnotation(path){return path.skip();},"ReferencedIdentifier|BindingIdentifier":IdentifierHandler},path.scope);}}}if(!idInRest){for(var _i3=0;_i3<params.length;++_i3){var _param2=params[_i3];if(paramsWithRestElement.has(_i3)){replaceRestElement(path,_param2);}}}else{var shouldTransformParam=function shouldTransformParam(idx){return idx>=i-1||paramsWithRestElement.has(idx);};convertFunctionParams(path,ignoreFunctionLength,shouldTransformParam,replaceRestElement);}},VariableDeclarator:function(_VariableDeclarator){function VariableDeclarator(_x,_x2){return _VariableDeclarator.apply(this,arguments);}VariableDeclarator.toString=function(){return _VariableDeclarator.toString();};return VariableDeclarator;}(function(path,file){if(!path.get("id").isObjectPattern()){return;}var insertionPath=path;var originalPath=path;visitRestElements(path.get("id"),function(path){if(!path.parentPath.isObjectPattern()){return;}if(shouldStoreRHSInTemporaryVariable(originalPath.node.id)&&!isIdentifier$j(originalPath.node.init)){var initRef=path.scope.generateUidIdentifierBasedOnNode(originalPath.node.init,"ref");originalPath.insertBefore(variableDeclarator$8(initRef,originalPath.node.init));originalPath.replaceWith(variableDeclarator$8(originalPath.node.id,cloneNode$j(initRef)));return;}var ref=originalPath.node.init;var refPropertyPath=[];var kind;path.findParent(function(path){if(path.isObjectProperty()){refPropertyPath.unshift(path);}else if(path.isVariableDeclarator()){kind=path.parentPath.node.kind;return true;}});var impureObjRefComputedDeclarators=replaceImpureComputedKeys(refPropertyPath,path.scope);refPropertyPath.forEach(function(prop){var node=prop.node;ref=memberExpression$c(ref,cloneNode$j(node.key),node.computed||isLiteral$6(node.key));});var objectPatternPath=path.findParent(function(path){return path.isObjectPattern();});var _createObjectRest=createObjectRest(objectPatternPath,file,ref),_createObjectRest2=_slicedToArray(_createObjectRest,3),impureComputedPropertyDeclarators=_createObjectRest2[0],argument=_createObjectRest2[1],callExpression=_createObjectRest2[2];if(pureGetters){removeUnusedExcludedKeys(objectPatternPath);}assertIdentifier(argument);insertionPath.insertBefore(impureComputedPropertyDeclarators);insertionPath.insertBefore(impureObjRefComputedDeclarators);insertionPath=insertionPath.insertAfter(variableDeclarator$8(argument,callExpression))[0];path.scope.registerBinding(kind,insertionPath);if(objectPatternPath.node.properties.length===0){objectPatternPath.findParent(function(path){return path.isObjectProperty()||path.isVariableDeclarator();}).remove();}});}),ExportNamedDeclaration:function ExportNamedDeclaration(path){var declaration=path.get("declaration");if(!declaration.isVariableDeclaration())return;var hasRest=declaration.get("declarations").some(function(path){return hasObjectPatternRestElement(path.get("id"));});if(!hasRest)return;var specifiers=[];for(var _i4=0,_Object$keys2=Object.keys(path.getOuterBindingIdentifiers(true));_i4<_Object$keys2.length;_i4++){var name=_Object$keys2[_i4];specifiers.push(exportSpecifier$2(identifier$j(name),identifier$j(name)));}path.replaceWith(declaration.node);path.insertAfter(exportNamedDeclaration$2(null,specifiers));},CatchClause:function CatchClause(path){var paramPath=path.get("param");replaceRestElement(path,paramPath);},AssignmentExpression:function AssignmentExpression(path,file){var leftPath=path.get("left");if(leftPath.isObjectPattern()&&hasRestElement(leftPath)){var nodes=[];var refName=path.scope.generateUidBasedOnNode(path.node.right,"ref");nodes.push(variableDeclaration$8("var",[variableDeclarator$8(identifier$j(refName),path.node.right)]));var _createObjectRest3=createObjectRest(leftPath,file,identifier$j(refName)),_createObjectRest4=_slicedToArray(_createObjectRest3,3),impureComputedPropertyDeclarators=_createObjectRest4[0],argument=_createObjectRest4[1],callExpression=_createObjectRest4[2];if(impureComputedPropertyDeclarators.length>0){nodes.push(variableDeclaration$8("var",impureComputedPropertyDeclarators));}var nodeWithoutSpread=cloneNode$j(path.node);nodeWithoutSpread.right=identifier$j(refName);nodes.push(expressionStatement$a(nodeWithoutSpread));nodes.push(expressionStatement$a(assignmentExpression$d("=",argument,callExpression)));nodes.push(expressionStatement$a(identifier$j(refName)));path.replaceWithMultiple(nodes);}},ForXStatement:function(_ForXStatement){function ForXStatement(_x3){return _ForXStatement.apply(this,arguments);}ForXStatement.toString=function(){return _ForXStatement.toString();};return ForXStatement;}(function(path){var node=path.node,scope=path.scope;var leftPath=path.get("left");var left=node.left;if(!hasObjectPatternRestElement(leftPath)){return;}if(!isVariableDeclaration$4(left)){var temp=scope.generateUidIdentifier("ref");node.left=variableDeclaration$8("var",[variableDeclarator$8(temp)]);path.ensureBlock();var body=path.node.body;if(body.body.length===0&&path.isCompletionRecord()){body.body.unshift(expressionStatement$a(scope.buildUndefinedNode()));}body.body.unshift(expressionStatement$a(assignmentExpression$d("=",left,cloneNode$j(temp))));}else{var _pattern=left.declarations[0].id;var key=scope.generateUidIdentifier("ref");node.left=variableDeclaration$8(left.kind,[variableDeclarator$8(key,null)]);path.ensureBlock();var _body=node.body;_body.body.unshift(variableDeclaration$8(node.left.kind,[variableDeclarator$8(_pattern,cloneNode$j(key))]));}}),ArrayPattern:function ArrayPattern(path){var objectPatterns=[];visitRestElements(path,function(path){if(!path.parentPath.isObjectPattern()){return;}var objectPattern=path.parentPath;var uid=path.scope.generateUidIdentifier("ref");objectPatterns.push(variableDeclarator$8(objectPattern.node,uid));objectPattern.replaceWith(cloneNode$j(uid));path.skip();});if(objectPatterns.length>0){var statementPath=path.getStatementParent();var statementNode=statementPath.node;var kind=statementNode.type==="VariableDeclaration"?statementNode.kind:"var";statementPath.insertAfter(variableDeclaration$8(kind,objectPatterns));}},ObjectExpression:function ObjectExpression(path,file){if(!hasSpread(path.node))return;var helper;if(setSpreadProperties){helper=getExtendsHelper(file);}else{{try{helper=file.addHelper("objectSpread2");}catch(_unused){this.file.declarations["objectSpread2"]=null;helper=file.addHelper("objectSpread");}}}var exp=null;var props=[];function make(){var hadProps=props.length>0;var obj=objectExpression$3(props);props=[];if(!exp){exp=callExpression$d(helper,[obj]);return;}if(pureGetters){if(hadProps){exp.arguments.push(obj);}return;}exp=callExpression$d(cloneNode$j(helper),[exp].concat(_toConsumableArray(hadProps?[objectExpression$3([]),obj]:[])));}for(var _iterator4=_createForOfIteratorHelperLoose(path.node.properties),_step4;!(_step4=_iterator4()).done;){var prop=_step4.value;if(isSpreadElement$1(prop)){make();exp.arguments.push(prop.argument);}else{props.push(prop);}}if(props.length)make();path.replaceWith(exp);}}};});var proposalOptionalCatchBinding=declare(function(api){api.assertVersion("*");return{name:"transform-optional-catch-binding",inherits:undefined,visitor:{CatchClause:function CatchClause(path){if(!path.node.param){var uid=path.scope.generateUidIdentifier("unused");var paramPath=path.get("param");paramPath.replaceWith(uid);}}}};});function willPathCastToBoolean(path){var maybeWrapped=findOutermostTransparentParent(path);var node=maybeWrapped.node,parentPath=maybeWrapped.parentPath;if(parentPath.isLogicalExpression()){var _parentPath$node=parentPath.node,operator=_parentPath$node.operator,right=_parentPath$node.right;if(operator==="&&"||operator==="||"||operator==="??"&&node===right){return willPathCastToBoolean(parentPath);}}if(parentPath.isSequenceExpression()){var expressions=parentPath.node.expressions;if(expressions[expressions.length-1]===node){return willPathCastToBoolean(parentPath);}else{return true;}}return parentPath.isConditional({test:node})||parentPath.isUnaryExpression({operator:"!"})||parentPath.isLoop({test:node});}function findOutermostTransparentParent(path){var maybeWrapped=path;path.findParent(function(p){if(!isTransparentExprWrapper(p.node))return true;maybeWrapped=p;});return maybeWrapped;}var _templateObject$o;var last=function last(arr){return arr[arr.length-1];};function isSimpleMemberExpression(expression){expression=skipTransparentExprWrapperNodes(expression);return isIdentifier$j(expression)||isSuper$3(expression)||isMemberExpression$9(expression)&&!expression.computed&&isSimpleMemberExpression(expression.object);}function needsMemoize(path){var optionalPath=path;var scope=path.scope;while(optionalPath.isOptionalMemberExpression()||optionalPath.isOptionalCallExpression()){var _optionalPath=optionalPath,node=_optionalPath.node;var childPath=skipTransparentExprWrappers(optionalPath.isOptionalMemberExpression()?optionalPath.get("object"):optionalPath.get("callee"));if(node.optional){return!scope.isStatic(childPath.node);}optionalPath=childPath;}}var NULLISH_CHECK=template$1.expression("%%check%% === null || %%ref%% === void 0");var NULLISH_CHECK_NO_DDA=template$1.expression("%%check%% == null");var NULLISH_CHECK_NEG=template$1.expression("%%check%% !== null && %%ref%% !== void 0");var NULLISH_CHECK_NO_DDA_NEG=template$1.expression("%%check%% != null");function transformOptionalChain(path,_ref,replacementPath,ifNullish,wrapLast){var pureGetters=_ref.pureGetters,noDocumentAll=_ref.noDocumentAll;var scope=path.scope;if(scope.path.isPattern()&&needsMemoize(path)){replacementPath.replaceWith(template$1.expression.ast(_templateObject$o||(_templateObject$o=_taggedTemplateLiteralLoose(["(() => ",")()"])),replacementPath.node));return;}var optionals=[];var optionalPath=path;while(optionalPath.isOptionalMemberExpression()||optionalPath.isOptionalCallExpression()){var _optionalPath2=optionalPath,node=_optionalPath2.node;if(node.optional){optionals.push(node);}if(optionalPath.isOptionalMemberExpression()){optionalPath.node.type="MemberExpression";optionalPath=skipTransparentExprWrappers(optionalPath.get("object"));}else if(optionalPath.isOptionalCallExpression()){optionalPath.node.type="CallExpression";optionalPath=skipTransparentExprWrappers(optionalPath.get("callee"));}}if(optionals.length===0){return;}var checks=[];var tmpVar;for(var i=optionals.length-1;i>=0;i--){var _node=optionals[i];var isCall=isCallExpression$8(_node);var chainWithTypes=isCall?_node.callee:_node.object;var chain=skipTransparentExprWrapperNodes(chainWithTypes);var ref=void 0;var _check=void 0;if(isCall&&isIdentifier$j(chain,{name:"eval"})){_check=ref=chain;_node.callee=sequenceExpression$8([numericLiteral$8(0),ref]);}else if(pureGetters&&isCall&&isSimpleMemberExpression(chain)){_check=ref=_node.callee;}else if(scope.isStatic(chain)){_check=ref=chainWithTypes;}else{if(!tmpVar||isCall){tmpVar=scope.generateUidIdentifierBasedOnNode(chain);scope.push({id:cloneNode$j(tmpVar)});}ref=tmpVar;_check=assignmentExpression$d("=",cloneNode$j(tmpVar),chainWithTypes);isCall?_node.callee=ref:_node.object=ref;}if(isCall&&isMemberExpression$9(chain)){if(pureGetters&&isSimpleMemberExpression(chain)){_node.callee=chainWithTypes;}else{var object=chain.object;var context=void 0;if(isSuper$3(object)){context=thisExpression$4();}else{var memoized=scope.maybeGenerateMemoised(object);if(memoized){context=memoized;chain.object=assignmentExpression$d("=",memoized,object);}else{context=object;}}_node.arguments.unshift(cloneNode$j(context));_node.callee=memberExpression$c(_node.callee,identifier$j("call"));}}var data={check:cloneNode$j(_check),ref:cloneNode$j(ref)};Object.defineProperty(data,"ref",{enumerable:false});checks.push(data);}var result=replacementPath.node;if(wrapLast)result=wrapLast(result);var ifNullishBoolean=isBooleanLiteral(ifNullish);var ifNullishFalse=ifNullishBoolean&&ifNullish.value===false;var ifNullishVoid=!ifNullishBoolean&&isUnaryExpression$1(ifNullish,{operator:"void"});var isEvaluationValueIgnored=isExpressionStatement$2(replacementPath.parent)&&!replacementPath.isCompletionRecord()||isSequenceExpression$1(replacementPath.parent)&&last(replacementPath.parent.expressions)!==replacementPath.node;var tpl=ifNullishFalse?noDocumentAll?NULLISH_CHECK_NO_DDA_NEG:NULLISH_CHECK_NEG:noDocumentAll?NULLISH_CHECK_NO_DDA:NULLISH_CHECK;var logicalOp=ifNullishFalse?"&&":"||";var check=checks.map(tpl).reduce(function(expr,check){return logicalExpression$3(logicalOp,expr,check);});replacementPath.replaceWith(ifNullishBoolean||ifNullishVoid&&isEvaluationValueIgnored?logicalExpression$3(logicalOp,check,result):conditionalExpression$5(check,ifNullish,result));}function transform$1(path,assumptions){var scope=path.scope;var maybeWrapped=findOutermostTransparentParent(path);var parentPath=maybeWrapped.parentPath;if(parentPath.isUnaryExpression({operator:"delete"})){transformOptionalChain(path,assumptions,parentPath,booleanLiteral$4(true));}else{var wrapLast;if(parentPath.isCallExpression({callee:maybeWrapped.node})&&path.isOptionalMemberExpression()){wrapLast=function wrapLast(replacement){var _baseRef;var object=skipTransparentExprWrapperNodes(replacement.object);var baseRef;if(!assumptions.pureGetters||!isSimpleMemberExpression(object)){baseRef=scope.maybeGenerateMemoised(object);if(baseRef){replacement.object=assignmentExpression$d("=",baseRef,object);}}return callExpression$d(memberExpression$c(replacement,identifier$j("bind")),[cloneNode$j((_baseRef=baseRef)!=null?_baseRef:object)]);};}transformOptionalChain(path,assumptions,path,willPathCastToBoolean(maybeWrapped)?booleanLiteral$4(false):scope.buildUndefinedNode(),wrapLast);}}var proposalOptionalChaining=declare(function(api,options){var _api$assumption,_api$assumption2;api.assertVersion("*");var _options$loose=options.loose,loose=_options$loose===void 0?false:_options$loose;var noDocumentAll=(_api$assumption=api.assumption("noDocumentAll"))!=null?_api$assumption:loose;var pureGetters=(_api$assumption2=api.assumption("pureGetters"))!=null?_api$assumption2:loose;return{name:"transform-optional-chaining",inherits:undefined,visitor:{"OptionalCallExpression|OptionalMemberExpression":function OptionalCallExpressionOptionalMemberExpression(path){transform$1(path,{noDocumentAll:noDocumentAll,pureGetters:pureGetters});}}};});var proposalOptionalChainingAssign=declare(function(api){var _api$assumption,_api$assumption2;api.assertVersion("*");var assumptions={noDocumentAll:(_api$assumption=api.assumption("noDocumentAll"))!=null?_api$assumption:false,pureGetters:(_api$assumption2=api.assumption("pureGetters"))!=null?_api$assumption2:false};var t=api.types;return{name:"transform-optional-chaining-assign",inherits:syntaxOptionalChainingAssign,visitor:{AssignmentExpression:function AssignmentExpression(path,state){var _lhs$node$extra;var lhs=path.get("left");if(!lhs.isExpression())return;var isParenthesized=((_lhs$node$extra=lhs.node.extra)==null?void 0:_lhs$node$extra.parenthesized)||t.isParenthesizedExpression(lhs.node);lhs=skipTransparentExprWrappers(lhs);if(!lhs.isOptionalMemberExpression())return;var ifNullish=path.scope.buildUndefinedNode();if(isParenthesized){ifNullish=t.callExpression(state.addHelper("nullishReceiverError"),[]);if(path.node.operator==="="){ifNullish=t.sequenceExpression([t.cloneNode(path.node.right),ifNullish]);}}transformOptionalChain(lhs,assumptions,path,ifNullish);}}};});function isConciseArrowExpression(node){return isArrowFunctionExpression$2(node)&&isExpression$4(node.body)&&!node.async;}var buildOptimizedSequenceExpression=function buildOptimizedSequenceExpression(_ref){var call=_ref.call,path=_ref.path,placeholder=_ref.placeholder;var calledExpression=call.callee;var pipelineLeft=path.node.left;var assign=assignmentExpression$d("=",cloneNode$j(placeholder),pipelineLeft);var expressionIsArrow=isConciseArrowExpression(calledExpression);if(expressionIsArrow){var param;var optimizeArrow=true;var params=calledExpression.params;if(params.length===1&&isIdentifier$j(params[0])){param=params[0];}else if(params.length>0){optimizeArrow=false;}if(optimizeArrow&&!param){return sequenceExpression$8([pipelineLeft,calledExpression.body]);}else if(param){path.scope.push({id:cloneNode$j(placeholder)});path.get("right").scope.rename(param.name,placeholder.name);return sequenceExpression$8([assign,calledExpression.body]);}}else if(isIdentifier$j(calledExpression,{name:"eval"})){var evalSequence=sequenceExpression$8([numericLiteral$8(0),calledExpression]);call.callee=evalSequence;}path.scope.push({id:cloneNode$j(placeholder)});return sequenceExpression$8([assign,call]);};var minimalVisitor={BinaryExpression:function(_BinaryExpression){function BinaryExpression(_x){return _BinaryExpression.apply(this,arguments);}BinaryExpression.toString=function(){return _BinaryExpression.toString();};return BinaryExpression;}(function(path){var scope=path.scope,node=path.node;var operator=node.operator,left=node.left,right=node.right;if(operator!=="|>")return;var placeholder=scope.generateUidIdentifierBasedOnNode(left);var call=callExpression$d(right,[cloneNode$j(placeholder)]);path.replaceWith(buildOptimizedSequenceExpression({placeholder:placeholder,call:call,path:path}));})};var topicReferenceVisitor={exit:function exit(path,state){if(path.isTopicReference()){state.topicReferences.push(path);}else{if(state.topicReferences.length===0&&!state.sideEffectsBeforeFirstTopicReference&&!path.isPure()){state.sideEffectsBeforeFirstTopicReference=true;}}},"ClassBody|Function":function ClassBodyFunction(_,state){if(state.topicReferences.length===0){state.sideEffectsBeforeFirstTopicReference=true;}}};var visitor={BinaryExpression:{exit:function exit(path){var scope=path.scope,node=path.node;if(node.operator!=="|>"){return;}var pipeBodyPath=path.get("right");if(pipeBodyPath.node.type==="TopicReference"){path.replaceWith(node.left);return;}var visitorState={topicReferences:[],sideEffectsBeforeFirstTopicReference:pipeBodyPath.isFunction()};pipeBodyPath.traverse(topicReferenceVisitor,visitorState);if(visitorState.topicReferences.length===1&&(!visitorState.sideEffectsBeforeFirstTopicReference||path.scope.isPure(node.left,true))){visitorState.topicReferences[0].replaceWith(node.left);path.replaceWith(node.right);return;}var topicVariable=scope.generateUidIdentifierBasedOnNode(node);scope.push({id:topicVariable});visitorState.topicReferences.forEach(function(path){return path.replaceWith(cloneNode$j(topicVariable));});path.replaceWith(sequenceExpression$8([assignmentExpression$d("=",cloneNode$j(topicVariable),node.left),node.right]));}}};var fsharpVisitor={BinaryExpression:function(_BinaryExpression){function BinaryExpression(_x){return _BinaryExpression.apply(this,arguments);}BinaryExpression.toString=function(){return _BinaryExpression.toString();};return BinaryExpression;}(function(path){var scope=path.scope,node=path.node;var operator=node.operator,left=node.left,right=node.right;if(operator!=="|>")return;var placeholder=scope.generateUidIdentifierBasedOnNode(left);var call=right.type==="AwaitExpression"?awaitExpression$1(cloneNode$j(placeholder)):callExpression$d(right,[cloneNode$j(placeholder)]);var sequence=buildOptimizedSequenceExpression({placeholder:placeholder,call:call,path:path});path.replaceWith(sequence);})};var updateTopicReferenceVisitor={PipelinePrimaryTopicReference:function PipelinePrimaryTopicReference(path){path.replaceWith(cloneNode$j(this.topicId));},PipelineTopicExpression:function PipelineTopicExpression(path){path.skip();}};var smartVisitor={BinaryExpression:function BinaryExpression(path){var scope=path.scope;var node=path.node;var operator=node.operator,left=node.left,right=node.right;if(operator!=="|>")return;var placeholder=scope.generateUidIdentifierBasedOnNode(left);scope.push({id:placeholder});var call;if(isPipelineTopicExpression(right)){path.get("right").traverse(updateTopicReferenceVisitor,{topicId:placeholder});call=right.expression;}else{var callee=right.callee;if(isIdentifier$j(callee,{name:"eval"})){callee=sequenceExpression$8([numericLiteral$8(0),callee]);}call=callExpression$d(callee,[cloneNode$j(placeholder)]);}path.replaceWith(sequenceExpression$8([assignmentExpression$d("=",cloneNode$j(placeholder),left),call]));}};var visitorsPerProposal={minimal:minimalVisitor,hack:visitor,fsharp:fsharpVisitor,smart:smartVisitor};var proposalPipelineOperator=declare(function(api,options){api.assertVersion("*");var proposal=options.proposal;if(proposal==="smart"){console.warn("The smart-mix pipe operator is deprecated. Use \"proposal\": \"hack\" instead.");}return{name:"proposal-pipeline-operator",inherits:syntaxPipelineOperator,visitor:visitorsPerProposal[options.proposal]};});var proposalPrivateMethods=declare(function(api,options){api.assertVersion("*");return createClassFeaturePlugin({name:"transform-private-methods",api:api,feature:FEATURES$1.privateMethods,loose:options.loose,manipulateOptions:function manipulateOptions(opts,parserOpts){parserOpts.plugins.push("classPrivateMethods");}});});var _templateObject$n,_templateObject2$d,_templateObject3$8,_templateObject4$4,_templateObject5$2,_templateObject6$1;var proposalPrivatePropertyInObject=declare(function(api,opt){api.assertVersion("*");var t=api.types,template=api.template;var loose=opt.loose;var classWeakSets=new WeakMap();var fieldsWeakSets=new WeakMap();function unshadow(name,targetScope,scope){while(scope!==targetScope){if(scope.hasOwnBinding(name))scope.rename(name);scope=scope.parent;}}function injectToFieldInit(fieldPath,expr,before){if(before===void 0){before=false;}if(fieldPath.node.value){var value=fieldPath.get("value");if(before){value.insertBefore(expr);}else{value.insertAfter(expr);}}else{fieldPath.set("value",t.unaryExpression("void",expr));}}function injectInitialization$1(classPath,init){var firstFieldPath;var constructorPath;for(var _iterator=_createForOfIteratorHelperLoose(classPath.get("body.body")),_step;!(_step=_iterator()).done;){var el=_step.value;if((el.isClassProperty()||el.isClassPrivateProperty())&&!el.node["static"]){firstFieldPath=el;break;}if(!constructorPath&&el.isClassMethod({kind:"constructor"})){constructorPath=el;}}if(firstFieldPath){injectToFieldInit(firstFieldPath,init,true);}else{injectInitialization(classPath,constructorPath,[t.expressionStatement(init)]);}}function getWeakSetId(weakSets,outerClass,reference,name,inject){if(name===void 0){name="";}var id=weakSets.get(reference.node);if(!id){id=outerClass.scope.generateUidIdentifier((name||"")+" brandCheck");weakSets.set(reference.node,id);inject(reference,template.expression.ast(_templateObject$n||(_templateObject$n=_taggedTemplateLiteralLoose(["",".add(this)"])),t.cloneNode(id)));var newExpr=t.newExpression(t.identifier("WeakSet"),[]);annotateAsPure(newExpr);outerClass.insertBefore(template.ast(_templateObject2$d||(_templateObject2$d=_taggedTemplateLiteralLoose(["var "," = ",""])),id,newExpr));}return t.cloneNode(id);}return{name:"transform-private-property-in-object",inherits:undefined,pre:function pre(){enableFeature$1(this.file,FEATURES$1.privateIn,loose);},visitor:{BinaryExpression:function BinaryExpression(path,state){var node=path.node;var file=state.file;if(node.operator!=="in")return;if(!t.isPrivateName(node.left))return;var name=node.left.id.name;var privateElement;var outerClass=path.findParent(function(path){if(!path.isClass())return false;privateElement=path.get("body.body").find(function(_ref){var node=_ref.node;return t.isPrivate(node)&&node.key.id.name===name;});return!!privateElement;});if(outerClass.parentPath.scope.path.isPattern()){outerClass.replaceWith(template.ast(_templateObject3$8||(_templateObject3$8=_taggedTemplateLiteralLoose(["(() => ",")()"])),outerClass.node));return;}if(privateElement.node.type==="ClassPrivateMethod"){if(privateElement.node["static"]){if(outerClass.node.id){unshadow(outerClass.node.id.name,outerClass.scope,path.scope);}else{outerClass.set("id",path.scope.generateUidIdentifier("class"));}path.replaceWith(template.expression.ast(_templateObject4$4||(_templateObject4$4=_taggedTemplateLiteralLoose(["\n                "," === ","\n              "])),t.cloneNode(outerClass.node.id),buildCheckInRHS(node.right,file)));}else{var _outerClass$node$id;var id=getWeakSetId(classWeakSets,outerClass,outerClass,(_outerClass$node$id=outerClass.node.id)==null?void 0:_outerClass$node$id.name,injectInitialization$1);path.replaceWith(template.expression.ast(_templateObject5$2||(_templateObject5$2=_taggedTemplateLiteralLoose(["",".has(",")"])),id,buildCheckInRHS(node.right,file)));}}else{var _id=getWeakSetId(fieldsWeakSets,outerClass,privateElement,privateElement.node.key.id.name,injectToFieldInit);path.replaceWith(template.expression.ast(_templateObject6$1||(_templateObject6$1=_taggedTemplateLiteralLoose(["",".has(",")"])),_id,buildCheckInRHS(node.right,file)));}}}};});var v$2=new OptionValidator("@babel/plugin-proposal-record-and-tuple");var proposalRecordAndTuple=declare(function(api,options){api.assertVersion("*");var polyfillModuleName=v$2.validateStringOption("polyfillModuleName",options.polyfillModuleName,"@bloomberg/record-tuple-polyfill");var shouldImportPolyfill=v$2.validateBooleanOption("importPolyfill",options.importPolyfill,!!options.polyfillModuleName);var importCaches=new WeakMap();function getOr(map,key,getDefault){var value=map.get(key);if(!value)map.set(key,value=getDefault());return value;}function getBuiltIn(name,programPath){if(!shouldImportPolyfill)return identifier$j(name);if(!programPath){throw new Error("Internal error: unable to find the Program node.");}var cacheKey=name+":"+isModule(programPath);var cache=getOr(importCaches,programPath.node,function(){return new Map();});var localBindingName=getOr(cache,cacheKey,function(){return addNamed(programPath,name,polyfillModuleName,{importedInterop:"uncompiled"}).name;});return identifier$j(localBindingName);}return{name:"proposal-record-and-tuple",inherits:syntaxRecordAndTuple,visitor:{Program:function Program(path,state){state.programPath=path;},RecordExpression:function RecordExpression(path,state){var record=getBuiltIn("Record",state.programPath);var object=objectExpression$3(path.node.properties);var wrapped=callExpression$d(record,[object]);path.replaceWith(wrapped);},TupleExpression:function TupleExpression(path,state){var tuple=getBuiltIn("Tuple",state.programPath);var wrapped=callExpression$d(tuple,path.node.elements);path.replaceWith(wrapped);}}};});var proposalRegexpModifiers=declare(function(api){api.assertVersion("*");return createRegExpFeaturePlugin({name:"proposal-regexp-modifiers",feature:"modifiers"});});var syntaxThrowExpressions=declare(function(api){api.assertVersion("*");return{name:"syntax-throw-expressions",manipulateOptions:function manipulateOptions(opts,parserOpts){parserOpts.plugins.push("throwExpressions");}};});var proposalThrowExpressions=declare(function(api){api.assertVersion("*");return{name:"proposal-throw-expressions",inherits:syntaxThrowExpressions,visitor:{UnaryExpression:function UnaryExpression(path){var _path$node=path.node,operator=_path$node.operator,argument=_path$node.argument;if(operator!=="throw")return;var arrow=functionExpression$2(null,[identifier$j("e")],blockStatement$6([throwStatement(identifier$j("e"))]));path.replaceWith(callExpression$d(arrow,[argument]));}}};});var proposalUnicodePropertyRegex=declare(function(api,options){api.assertVersion("*");var _options$useUnicodeFl=options.useUnicodeFlag,useUnicodeFlag=_options$useUnicodeFl===void 0?true:_options$useUnicodeFl;if(typeof useUnicodeFlag!=="boolean"){throw new Error(".useUnicodeFlag must be a boolean, or undefined");}return createRegExpFeaturePlugin({name:"transform-unicode-property-regex",feature:"unicodePropertyEscape",options:{useUnicodeFlag:useUnicodeFlag}});});var _transformUnicodeSetsRegex=declare(function(api){api.assertVersion("*");return createRegExpFeaturePlugin({name:"transform-unicode-sets-regex",feature:"unicodeSetsFlag",manipulateOptions:function manipulateOptions(opts,parserOpts){parserOpts.plugins.push("regexpUnicodeSets");}});});var _transformAsyncToGenerator=declare(function(api,options){var _api$assumption,_api$assumption2;api.assertVersion("*");var method=options.method,module=options.module;var noNewArrows=(_api$assumption=api.assumption("noNewArrows"))!=null?_api$assumption:true;var ignoreFunctionLength=(_api$assumption2=api.assumption("ignoreFunctionLength"))!=null?_api$assumption2:false;if(method&&module){return{name:"transform-async-to-generator",visitor:{Function:function Function(path,state){if(!path.node.async||path.node.generator)return;var wrapAsync=state.methodWrapper;if(wrapAsync){wrapAsync=cloneNode$j(wrapAsync);}else{wrapAsync=state.methodWrapper=addNamed(path,method,module);}remapAsyncToGenerator(path,{wrapAsync:wrapAsync},noNewArrows,ignoreFunctionLength);}}};}return{name:"transform-async-to-generator",visitor:{Function:function Function(path,state){if(!path.node.async||path.node.generator)return;remapAsyncToGenerator(path,{wrapAsync:state.addHelper("asyncToGenerator")},noNewArrows,ignoreFunctionLength);}}};});var _transformArrowFunctions=declare(function(api,options){var _api$assumption;api.assertVersion("*");var noNewArrows=(_api$assumption=api.assumption("noNewArrows"))!=null?_api$assumption:!options.spec;return{name:"transform-arrow-functions",visitor:{ArrowFunctionExpression:function ArrowFunctionExpression(path){if(!path.isArrowFunctionExpression())return;{path.arrowFunctionToExpression({allowInsertArrow:false,noNewArrows:noNewArrows,specCompliant:!noNewArrows});}}}};});var _transformBlockScopedFunctions=declare(function(api){api.assertVersion("*");function transformStatementList(paths){for(var _iterator=_createForOfIteratorHelperLoose(paths),_step;!(_step=_iterator()).done;){var path=_step.value;if(!path.isFunctionDeclaration())continue;var func=path.node;var declar=variableDeclaration$8("let",[variableDeclarator$8(func.id,toExpression$1(func))]);declar._blockHoist=2;func.id=null;path.replaceWith(declar);}}return{name:"transform-block-scoped-functions",visitor:{BlockStatement:function BlockStatement(path){var node=path.node,parent=path.parent;if(isFunction$5(parent,{body:node})||isExportDeclaration$3(parent)){return;}transformStatementList(path.get("body"));},SwitchCase:function SwitchCase(path){transformStatementList(path.get("consequent"));}}};});var _templateObject$m,_templateObject2$c,_templateObject3$7,_templateObject4$3;var collectLoopBodyBindingsVisitor={"Expression|Declaration|Loop":function ExpressionDeclarationLoop(path){path.skip();},Scope:function Scope(path,state){if(path.isFunctionParent())path.skip();var bindings=path.scope.bindings;for(var _i=0,_Object$keys=Object.keys(bindings);_i<_Object$keys.length;_i++){var name=_Object$keys[_i];var binding=bindings[name];if(binding.kind==="let"||binding.kind==="const"||binding.kind==="hoisted"){state.blockScoped.push(binding);}}}};function getLoopBodyBindings(loopPath){var state={blockScoped:[]};loopPath.traverse(collectLoopBodyBindingsVisitor,state);return state.blockScoped;}function getUsageInBody(binding,loopPath){var seen=new WeakSet();var capturedInClosure=false;var constantViolations=filterMap(binding.constantViolations,function(path){var _relativeLoopLocation=relativeLoopLocation(path,loopPath),inBody=_relativeLoopLocation.inBody,inClosure=_relativeLoopLocation.inClosure;if(!inBody)return null;capturedInClosure||(capturedInClosure=inClosure);var id=path.isUpdateExpression()?path.get("argument"):path.isAssignmentExpression()?path.get("left"):null;if(id)seen.add(id.node);return id;});var references=filterMap(binding.referencePaths,function(path){if(seen.has(path.node))return null;var _relativeLoopLocation2=relativeLoopLocation(path,loopPath),inBody=_relativeLoopLocation2.inBody,inClosure=_relativeLoopLocation2.inClosure;if(!inBody)return null;capturedInClosure||(capturedInClosure=inClosure);return path;});return{capturedInClosure:capturedInClosure,hasConstantViolations:constantViolations.length>0,usages:references.concat(constantViolations)};}function relativeLoopLocation(path,loopPath){var bodyPath=loopPath.get("body");var inClosure=false;for(var currPath=path;currPath;currPath=currPath.parentPath){if(currPath.isFunction()||currPath.isClass()||currPath.isMethod()){inClosure=true;}if(currPath===bodyPath){return{inBody:true,inClosure:inClosure};}else if(currPath===loopPath){return{inBody:false,inClosure:inClosure};}}throw new Error("Internal Babel error: path is not in loop. Please report this as a bug.");}var collectCompletionsAndVarsVisitor={Function:function Function(path){path.skip();},LabeledStatement:{enter:function enter(_ref,state){var node=_ref.node;state.labelsStack.push(node.label.name);},exit:function exit(_ref2,state){var node=_ref2.node;var popped=state.labelsStack.pop();if(popped!==node.label.name){throw new Error("Assertion failure. Please report this bug to Babel.");}}},Loop:{enter:function enter(_,state){state.labellessContinueTargets++;state.labellessBreakTargets++;},exit:function exit(_,state){state.labellessContinueTargets--;state.labellessBreakTargets--;}},SwitchStatement:{enter:function enter(_,state){state.labellessBreakTargets++;},exit:function exit(_,state){state.labellessBreakTargets--;}},"BreakStatement|ContinueStatement":function BreakStatementContinueStatement(path,state){var label=path.node.label;if(label){if(state.labelsStack.includes(label.name))return;}else if(path.isBreakStatement()?state.labellessBreakTargets>0:state.labellessContinueTargets>0){return;}state.breaksContinues.push(path);},ReturnStatement:function ReturnStatement(path,state){state.returns.push(path);},VariableDeclaration:function VariableDeclaration(path,state){if(path.parent===state.loopNode&&isVarInLoopHead(path))return;if(path.node.kind==="var")state.vars.push(path);}};function wrapLoopBody(loopPath,captured,updatedBindingsUsages){var loopNode=loopPath.node;var state={breaksContinues:[],returns:[],labelsStack:[],labellessBreakTargets:0,labellessContinueTargets:0,vars:[],loopNode:loopNode};loopPath.traverse(collectCompletionsAndVarsVisitor,state);var callArgs=[];var closureParams=[];var updater=[];for(var _iterator=_createForOfIteratorHelperLoose(updatedBindingsUsages),_step;!(_step=_iterator()).done;){var _step$value=_slicedToArray(_step.value,2),_name2=_step$value[0],updatedUsage=_step$value[1];callArgs.push(identifier$j(_name2));var innerName=loopPath.scope.generateUid(_name2);closureParams.push(identifier$j(innerName));updater.push(assignmentExpression$d("=",identifier$j(_name2),identifier$j(innerName)));for(var _iterator7=_createForOfIteratorHelperLoose(updatedUsage),_step7;!(_step7=_iterator7()).done;){var _path3=_step7.value;_path3.replaceWith(identifier$j(innerName));}}for(var _iterator2=_createForOfIteratorHelperLoose(captured),_step2;!(_step2=_iterator2()).done;){var _name3=_step2.value;if(updatedBindingsUsages.has(_name3))continue;callArgs.push(identifier$j(_name3));closureParams.push(identifier$j(_name3));}var id=loopPath.scope.generateUid("loop");var fn=functionExpression$2(null,closureParams,toBlock(loopNode.body));var call=callExpression$d(identifier$j(id),callArgs);var fnParent=loopPath.findParent(function(p){return p.isFunction();});if(fnParent){var _ref3=fnParent.node,async=_ref3.async,generator=_ref3.generator;fn.async=async;fn.generator=generator;if(generator)call=yieldExpression$2(call,true);else if(async)call=awaitExpression$1(call);}var updaterNode=updater.length>0?expressionStatement$a(sequenceExpression$8(updater)):null;if(updaterNode)fn.body.body.push(updaterNode);var _ref4=loopPath.insertBefore(variableDeclaration$8("var",[variableDeclarator$8(identifier$j(id),fn)])),_ref5=_slicedToArray(_ref4,1),varPath=_ref5[0];var bodyStmts=[];var varNames=[];for(var _iterator3=_createForOfIteratorHelperLoose(state.vars),_step3;!(_step3=_iterator3()).done;){var _varPath=_step3.value;var assign=[];for(var _iterator8=_createForOfIteratorHelperLoose(_varPath.node.declarations),_step8;!(_step8=_iterator8()).done;){var decl=_step8.value;varNames.push.apply(varNames,_toConsumableArray(Object.keys(getBindingIdentifiers$4(decl.id))));if(decl.init){assign.push(assignmentExpression$d("=",decl.id,decl.init));}}if(assign.length>0){var replacement=assign.length===1?assign[0]:sequenceExpression$8(assign);if(!isForStatement$2(_varPath.parent,{init:_varPath.node})&&!isForXStatement$1(_varPath.parent,{left:_varPath.node})){replacement=expressionStatement$a(replacement);}_varPath.replaceWith(replacement);}else{_varPath.remove();}}if(varNames.length){varPath.pushContainer("declarations",varNames.map(function(name){return variableDeclarator$8(identifier$j(name));}));}var labelNum=state.breaksContinues.length;var returnNum=state.returns.length;if(labelNum+returnNum===0){bodyStmts.push(expressionStatement$a(call));}else if(labelNum===1&&returnNum===0){for(var _iterator4=_createForOfIteratorHelperLoose(state.breaksContinues),_step4;!(_step4=_iterator4()).done;){var path=_step4.value;var node=path.node;var type=node.type,label=node.label;var name=type==="BreakStatement"?"break":"continue";if(label)name+=" "+label.name;path.replaceWith(addComment$2(returnStatement$3(numericLiteral$8(1)),"trailing"," "+name,true));if(updaterNode)path.insertBefore(cloneNode$j(updaterNode));bodyStmts.push(template$1.statement.ast(_templateObject$m||(_templateObject$m=_taggedTemplateLiteralLoose(["\n        if (",") ","\n      "])),call,node));}}else{var completionId=loopPath.scope.generateUid("ret");if(varPath.isVariableDeclaration()){varPath.pushContainer("declarations",[variableDeclarator$8(identifier$j(completionId))]);bodyStmts.push(expressionStatement$a(assignmentExpression$d("=",identifier$j(completionId),call)));}else{bodyStmts.push(variableDeclaration$8("var",[variableDeclarator$8(identifier$j(completionId),call)]));}var injected=[];for(var _iterator5=_createForOfIteratorHelperLoose(state.breaksContinues),_step5;!(_step5=_iterator5()).done;){var _path2=_step5.value;var _node=_path2.node;var _type=_node.type,_label=_node.label;var _name=_type==="BreakStatement"?"break":"continue";if(_label)_name+=" "+_label.name;var i=injected.indexOf(_name);var hasInjected=i!==-1;if(!hasInjected){injected.push(_name);i=injected.length-1;}_path2.replaceWith(addComment$2(returnStatement$3(numericLiteral$8(i)),"trailing"," "+_name,true));if(updaterNode)_path2.insertBefore(cloneNode$j(updaterNode));if(hasInjected)continue;bodyStmts.push(template$1.statement.ast(_templateObject4$3||(_templateObject4$3=_taggedTemplateLiteralLoose(["\n        if ("," === ",") ","\n      "])),identifier$j(completionId),numericLiteral$8(i),_node));}if(returnNum){for(var _iterator6=_createForOfIteratorHelperLoose(state.returns),_step6;!(_step6=_iterator6()).done;){var _path=_step6.value;var arg=_path.node.argument||_path.scope.buildUndefinedNode();_path.replaceWith(template$1.statement.ast(_templateObject3$7||(_templateObject3$7=_taggedTemplateLiteralLoose(["\n          return { v: "," };\n        "])),arg));}bodyStmts.push(template$1.statement.ast(_templateObject2$c||(_templateObject2$c=_taggedTemplateLiteralLoose(["\n          if (",") return ",".v;\n        "])),identifier$j(completionId),identifier$j(completionId)));}}loopNode.body=blockStatement$6(bodyStmts);return varPath;}function isVarInLoopHead(path){if(isForStatement$2(path.parent))return path.key==="init";if(isForXStatement$1(path.parent))return path.key==="left";return false;}function filterMap(list,fn){var result=[];for(var _iterator9=_createForOfIteratorHelperLoose(list),_step9;!(_step9=_iterator9()).done;){var _item=_step9.value;var mapped=fn(_item);if(mapped)result.push(mapped);}return result;}function validateUsage(path,state,tdzEnabled){var dynamicTDZNames=[];for(var _i=0,_Object$keys=Object.keys(path.getBindingIdentifiers());_i<_Object$keys.length;_i++){var name=_Object$keys[_i];var binding=path.scope.getBinding(name);if(!binding)continue;if(tdzEnabled){if(injectTDZChecks(binding,state))dynamicTDZNames.push(name);}if(path.node.kind==="const"){disallowConstantViolations(name,binding,state);}}return dynamicTDZNames;}function disallowConstantViolations(name,binding,state){for(var _iterator=_createForOfIteratorHelperLoose(binding.constantViolations),_step;!(_step=_iterator()).done;){var violation=_step.value;var readOnlyError=state.addHelper("readOnlyError");var throwNode=callExpression$d(readOnlyError,[stringLiteral$8(name)]);if(violation.isAssignmentExpression()){var _violation$node=violation.node,operator=_violation$node.operator,left=_violation$node.left,right=_violation$node.right;if(operator==="="){var exprs=[right];exprs.push(throwNode);violation.replaceWith(sequenceExpression$8(exprs));}else if(["&&=","||=","??="].includes(operator)){violation.replaceWith(logicalExpression$3(operator.slice(0,-1),left,sequenceExpression$8([right,throwNode])));}else{violation.replaceWith(sequenceExpression$8([binaryExpression$5(operator.slice(0,-1),left,right),throwNode]));}}else if(violation.isUpdateExpression()){violation.replaceWith(sequenceExpression$8([unaryExpression$6("+",violation.get("argument").node),throwNode]));}else if(violation.isForXStatement()){violation.ensureBlock();violation.get("left").replaceWith(variableDeclaration$8("var",[variableDeclarator$8(violation.scope.generateUidIdentifier(name))]));violation.node.body.body.unshift(expressionStatement$a(throwNode));}}}function getTDZStatus(refPath,bindingPath){var executionStatus=bindingPath._guessExecutionStatusRelativeTo(refPath);if(executionStatus==="before"){return"outside";}else if(executionStatus==="after"){return"inside";}else{return"maybe";}}var skipTDZChecks=new WeakSet();function buildTDZAssert(status,node,state){if(status==="maybe"){var clone=cloneNode$j(node);skipTDZChecks.add(clone);return callExpression$d(state.addHelper("temporalRef"),[clone,stringLiteral$8(node.name)]);}else{return callExpression$d(state.addHelper("tdz"),[stringLiteral$8(node.name)]);}}function getTDZReplacement(path,state,id){var _path$scope$getBindin;if(id===void 0){id=path.node;}if(skipTDZChecks.has(id))return;skipTDZChecks.add(id);var bindingPath=(_path$scope$getBindin=path.scope.getBinding(id.name))==null?void 0:_path$scope$getBindin.path;if(!bindingPath||bindingPath.isFunctionDeclaration())return;var status=getTDZStatus(path,bindingPath);if(status==="outside")return;if(status==="maybe"){bindingPath.parent._tdzThis=true;}return{status:status,node:buildTDZAssert(status,id,state)};}function injectTDZChecks(binding,state){var allUsages=new Set(binding.referencePaths);binding.constantViolations.forEach(allUsages.add,allUsages);var dynamicTdz=false;for(var _iterator2=_createForOfIteratorHelperLoose(binding.constantViolations),_step2;!(_step2=_iterator2()).done;){var _path2=_step2.value;var node=_path2.node;if(skipTDZChecks.has(node))continue;skipTDZChecks.add(node);if(_path2.isUpdateExpression()){var arg=_path2.get("argument");var _replacement=getTDZReplacement(_path2,state,arg.node);if(!_replacement)continue;if(_replacement.status==="maybe"){dynamicTdz=true;_path2.insertBefore(_replacement.node);}else{_path2.replaceWith(_replacement.node);}}else if(_path2.isAssignmentExpression()){var nodes=[];var ids=_path2.getBindingIdentifiers();for(var _i3=0,_Object$keys2=Object.keys(ids);_i3<_Object$keys2.length;_i3++){var name=_Object$keys2[_i3];var _replacement2=getTDZReplacement(_path2,state,ids[name]);if(_replacement2){nodes.push(expressionStatement$a(_replacement2.node));if(_replacement2.status==="inside")break;if(_replacement2.status==="maybe")dynamicTdz=true;}}if(nodes.length>0)_path2.insertBefore(nodes);}}for(var _i2=0,_arr=binding.referencePaths;_i2<_arr.length;_i2++){var _path=_arr[_i2];if(_path.parentPath.isUpdateExpression())continue;if(_path.parentPath.isFor({left:_path.node}))continue;var replacement=getTDZReplacement(_path,state);if(!replacement)continue;if(replacement.status==="maybe")dynamicTdz=true;_path.replaceWith(replacement.node);}return dynamicTdz;}var annexB33FunctionsVisitor={VariableDeclaration:function VariableDeclaration(path){if(isStrict(path))return;if(path.node.kind!=="var")return;var varScope=path.scope.getFunctionParent()||path.scope.getProgramParent();varScope.path.traverse(functionsToVarVisitor,{names:Object.keys(path.getBindingIdentifiers())});},BlockStatement:function BlockStatement(path){if(isStrict(path))return;if(isFunction$5(path.parent,{body:path.node}))return;transformStatementList(path.get("body"));},SwitchCase:function SwitchCase(path){if(isStrict(path))return;transformStatementList(path.get("consequent"));}};function transformStatementList(paths){outer:for(var _iterator=_createForOfIteratorHelperLoose(paths),_step;!(_step=_iterator()).done;){var path=_step.value;if(!path.isFunctionDeclaration())continue;if(path.node.async||path.node.generator)return;var scope=path.parentPath.scope;if(isVarScope(scope))return;var name=path.node.id.name;var currScope=scope;do{if(currScope.parent.hasOwnBinding(name))continue outer;currScope=currScope.parent;}while(!isVarScope(currScope));maybeTransformBlockScopedFunction(path);}}function maybeTransformBlockScopedFunction(path){var node=path.node,scope=path.parentPath.scope;var id=node.id;scope.removeOwnBinding(id.name);node.id=null;var varNode=variableDeclaration$8("var",[variableDeclarator$8(id,toExpression$1(node))]);varNode._blockHoist=2;var _path$replaceWith=path.replaceWith(varNode),_path$replaceWith2=_slicedToArray(_path$replaceWith,1),varPath=_path$replaceWith2[0];scope.registerDeclaration(varPath);}var functionsToVarVisitor={Scope:function Scope(path,_ref){var names=_ref.names;for(var _iterator2=_createForOfIteratorHelperLoose(names),_step2;!(_step2=_iterator2()).done;){var name=_step2.value;var binding=path.scope.getOwnBinding(name);if(binding&&binding.kind==="hoisted"){maybeTransformBlockScopedFunction(binding.path);}}},"Expression|Declaration":function ExpressionDeclaration(path){path.skip();}};function isVarScope(scope){return scope.path.isFunctionParent()||scope.path.isProgram();}function isStrict(path){return!!path.find(function(_ref2){var _node$directives;var node=_ref2.node;if(isProgram$1(node)){if(node.sourceType==="module")return true;}else if(isClass$1(node)){return true;}else if(!isBlockStatement$3(node)){return false;}return(_node$directives=node.directives)==null?void 0:_node$directives.some(function(directive){return directive.value.value==="use strict";});});}var _transformBlockScoping=declare(function(api,opts){api.assertVersion("*");var _opts$throwIfClosureR=opts.throwIfClosureRequired,throwIfClosureRequired=_opts$throwIfClosureR===void 0?false:_opts$throwIfClosureR,_opts$tdz=opts.tdz,tdzEnabled=_opts$tdz===void 0?false:_opts$tdz;if(typeof throwIfClosureRequired!=="boolean"){throw new Error(".throwIfClosureRequired must be a boolean, or undefined");}if(typeof tdzEnabled!=="boolean"){throw new Error(".tdz must be a boolean, or undefined");}return{name:"transform-block-scoping",visitor:traverse.visitors.merge([annexB33FunctionsVisitor,{Loop:function(_Loop){function Loop(_x,_x2){return _Loop.apply(this,arguments);}Loop.toString=function(){return _Loop.toString();};return Loop;}(function(path,state){var isForStatement=path.isForStatement();var headPath=isForStatement?path.get("init"):path.isForXStatement()?path.get("left"):null;var needsBodyWrap=false;var markNeedsBodyWrap=function markNeedsBodyWrap(){if(throwIfClosureRequired){throw path.buildCodeFrameError("Compiling let/const in this block would add a closure "+"(throwIfClosureRequired).");}needsBodyWrap=true;};var body=path.get("body");var bodyScope;if(body.isBlockStatement()){bodyScope=body.scope;var bindings=getLoopBodyBindings(path);for(var _iterator=_createForOfIteratorHelperLoose(bindings),_step;!(_step=_iterator()).done;){var binding=_step.value;var _getUsageInBody=getUsageInBody(binding,path),capturedInClosure=_getUsageInBody.capturedInClosure;if(capturedInClosure)markNeedsBodyWrap();}}var captured=[];var updatedBindingsUsages=new Map();if(headPath&&isBlockScoped(headPath.node)){var names=Object.keys(headPath.getBindingIdentifiers());var headScope=headPath.scope;for(var _i=0,_names=names;_i<_names.length;_i++){var _bodyScope;var name=_names[_i];if((_bodyScope=bodyScope)!=null&&_bodyScope.hasOwnBinding(name))continue;var _binding=headScope.getOwnBinding(name);if(!_binding){headScope.crawl();_binding=headScope.getOwnBinding(name);}var _getUsageInBody2=getUsageInBody(_binding,path),usages=_getUsageInBody2.usages,_capturedInClosure=_getUsageInBody2.capturedInClosure,hasConstantViolations=_getUsageInBody2.hasConstantViolations;if(headScope.parent.hasBinding(name)||headScope.parent.hasGlobal(name)){var newName=headScope.generateUid(name);headScope.rename(name,newName);name=newName;}if(_capturedInClosure){markNeedsBodyWrap();captured.push(name);}if(isForStatement&&hasConstantViolations){updatedBindingsUsages.set(name,usages);}}}if(needsBodyWrap){var varPath=wrapLoopBody(path,captured,updatedBindingsUsages);if(headPath!=null&&headPath.isVariableDeclaration()){transformBlockScopedVariable(headPath,state,tdzEnabled);}varPath.get("declarations.0.init").unwrapFunctionEnvironment();}}),VariableDeclaration:function VariableDeclaration(path,state){transformBlockScopedVariable(path,state,tdzEnabled);},ClassDeclaration:function ClassDeclaration(path){var id=path.node.id;if(!id)return;var scope=path.parentPath.scope;if(!isVarScope(scope)&&scope.parent.hasBinding(id.name,{noUids:true})){path.scope.rename(id.name);}}}])};});var conflictingFunctionsVisitor={Scope:function Scope(path,_ref){var names=_ref.names;for(var _iterator2=_createForOfIteratorHelperLoose(names),_step2;!(_step2=_iterator2()).done;){var name=_step2.value;var binding=path.scope.getOwnBinding(name);if(binding&&binding.kind==="hoisted"){path.scope.rename(name);}}},"Expression|Declaration":function ExpressionDeclaration(path){path.skip();}};function transformBlockScopedVariable(path,state,tdzEnabled){if(!isBlockScoped(path.node))return;var dynamicTDZNames=validateUsage(path,state,tdzEnabled);path.node.kind="var";var bindingNames=Object.keys(path.getBindingIdentifiers());for(var _i2=0,_bindingNames=bindingNames;_i2<_bindingNames.length;_i2++){var name=_bindingNames[_i2];var binding=path.scope.getOwnBinding(name);if(!binding)continue;binding.kind="var";}if(isInLoop(path)&&!isVarInLoopHead(path)||dynamicTDZNames.length>0){for(var _iterator3=_createForOfIteratorHelperLoose(path.node.declarations),_step3;!(_step3=_iterator3()).done;){var _decl$init;var decl=_step3.value;(_decl$init=decl.init)!=null?_decl$init:decl.init=path.scope.buildUndefinedNode();}}var blockScope=path.scope;var varScope=blockScope.getFunctionParent()||blockScope.getProgramParent();if(varScope!==blockScope){for(var _iterator4=_createForOfIteratorHelperLoose(bindingNames),_step4;!(_step4=_iterator4()).done;){var _name=_step4.value;var newName=_name;if(blockScope.parent.hasBinding(_name,{noUids:true})||blockScope.parent.hasGlobal(_name)){newName=blockScope.generateUid(_name);blockScope.rename(_name,newName);}blockScope.moveBindingTo(newName,varScope);}}blockScope.path.traverse(conflictingFunctionsVisitor,{names:bindingNames});for(var _iterator5=_createForOfIteratorHelperLoose(dynamicTDZNames),_step5;!(_step5=_iterator5()).done;){var _name2=_step5.value;path.scope.push({id:identifier$j(_name2),init:state.addHelper("temporalUndefined")});}}function isLetOrConst(kind){return kind==="let"||kind==="const";}function isInLoop(path){if(!path.parentPath)return false;if(path.parentPath.isLoop())return true;if(path.parentPath.isFunctionParent())return false;return isInLoop(path.parentPath);}function isBlockScoped(node){if(!isVariableDeclaration$4(node))return false;if(node[BLOCK_SCOPED_SYMBOL]){return true;}if(!isLetOrConst(node.kind)&&node.kind!=="using"){return false;}return true;}function bool$2(value){if(value==null)return false;return value&&value!=="false"&&value!=="0";}var globals=bool$2(browser$1$1.env["BABEL_8_BREAKING"])?requireGlobalsBABEL_8_BREAKINGFalse():requireGlobalsBABEL_8_BREAKINGFalse();var _templateObject$l;var helper$1=template$1.statement(_templateObject$l||(_templateObject$l=_taggedTemplateLiteralLoose(["\n  function CALL_SUPER(\n    _this,\n    derived,\n    args,\n  ) {\n    function isNativeReflectConstruct() {\n      if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n\n      // core-js@3\n      if (Reflect.construct.sham) return false;\n\n      // Proxy can't be polyfilled. Every browser implemented\n      // proxies before or at the same time as Reflect.construct,\n      // so if they support Proxy they also support Reflect.construct.\n      if (typeof Proxy === \"function\") return true;\n\n      // Since Reflect.construct can't be properly polyfilled, some\n      // implementations (e.g. core-js@2) don't set the correct internal slots.\n      // Those polyfills don't allow us to subclass built-ins, so we need to\n      // use our fallback implementation.\n      try {\n        // If the internal slots aren't set, this throws an error similar to\n        //   TypeError: this is not a Boolean object.\n        return !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}),);\n      } catch (e) {\n        return false;\n      }\n    }\n\n    // Super\n    derived = GET_PROTOTYPE_OF(derived);\n    return POSSIBLE_CONSTRUCTOR_RETURN(\n      _this,\n      isNativeReflectConstruct()\n        ? // NOTE: This doesn't work if this.__proto__.constructor has been modified.\n          Reflect.construct(\n            derived,\n            args || [],\n            GET_PROTOTYPE_OF(_this).constructor,\n          )\n        : derived.apply(_this, args),\n    );\n  }\n"])));var helperIDs=new WeakMap();function addCallSuperHelper(file){if(helperIDs.has(file)){return(cloneNode$j||clone)(helperIDs.get(file));}try{return file.addHelper("callSuper");}catch(_unused){}var id=file.scope.generateUidIdentifier("callSuper");helperIDs.set(file,id);var fn=helper$1({CALL_SUPER:id,GET_PROTOTYPE_OF:file.addHelper("getPrototypeOf"),POSSIBLE_CONSTRUCTOR_RETURN:file.addHelper("possibleConstructorReturn")});file.path.unshiftContainer("body",[fn]);file.scope.registerDeclaration(file.path.get("body.0"));return cloneNode$j(id);}var _templateObject$k;function buildConstructor(classRef,constructorBody,node){var func=functionDeclaration(cloneNode$j(classRef),[],constructorBody);inherits$3(func,node);return func;}function transformClass(path,file,builtinClasses,isLoose,assumptions,supportUnicodeId){var classState={parent:undefined,scope:undefined,node:undefined,path:undefined,file:undefined,classId:undefined,classRef:undefined,superName:null,superReturns:[],isDerived:false,extendsNative:false,construct:undefined,constructorBody:undefined,userConstructor:undefined,userConstructorPath:undefined,hasConstructor:false,body:[],superThises:[],pushedInherits:false,pushedCreateClass:false,protoAlias:null,isLoose:false,dynamicKeys:new Map(),methods:{instance:{hasComputed:false,list:[],map:new Map()},"static":{hasComputed:false,list:[],map:new Map()}}};var setState=function setState(newState){Object.assign(classState,newState);};var findThisesVisitor=traverse.visitors.merge([visitor$5,{ThisExpression:function ThisExpression(path){classState.superThises.push(path);}}]);function createClassHelper(args){return callExpression$d(classState.file.addHelper("createClass"),args);}function maybeCreateConstructor(){var classBodyPath=classState.path.get("body");for(var _iterator=_createForOfIteratorHelperLoose(classBodyPath.get("body")),_step;!(_step=_iterator()).done;){var _path=_step.value;if(_path.isClassMethod({kind:"constructor"}))return;}var params,body;if(classState.isDerived){var _constructor=template$1.expression.ast(_templateObject$k||(_templateObject$k=_taggedTemplateLiteralLoose(["\n        (function () {\n          super(...arguments);\n        })\n      "])));params=_constructor.params;body=_constructor.body;}else{params=[];body=blockStatement$6([]);}classBodyPath.unshiftContainer("body",classMethod("constructor",identifier$j("constructor"),params,body));}function buildBody(){maybeCreateConstructor();pushBody();verifyConstructor();if(classState.userConstructor){var _constructorBody$body;var constructorBody=classState.constructorBody,userConstructor=classState.userConstructor,construct=classState.construct;(_constructorBody$body=constructorBody.body).push.apply(_constructorBody$body,_toConsumableArray(userConstructor.body.body));inherits$3(construct,userConstructor);inherits$3(constructorBody,userConstructor.body);}pushDescriptors();}function pushBody(){var classBodyPaths=classState.path.get("body.body");var _loop=function _loop(){var path=_step2.value;var node=path.node;if(path.isClassProperty()||path.isClassPrivateProperty()){throw path.buildCodeFrameError("Missing class properties transform.");}if(node.decorators){throw path.buildCodeFrameError("Method has decorators, put the decorator plugin before the classes one.");}if(isClassMethod(node)){var isConstructor=node.kind==="constructor";var replaceSupers=new ReplaceSupers({methodPath:path,objectRef:classState.classRef,superRef:classState.superName,constantSuper:assumptions.constantSuper,file:classState.file,refToPreserve:classState.classRef});replaceSupers.replace();var superReturns=[];path.traverse(traverse.visitors.merge([visitor$5,{ReturnStatement:function ReturnStatement(path){if(!path.getFunctionParent().isArrowFunctionExpression()){superReturns.push(path);}}}]));if(isConstructor){pushConstructor(superReturns,node,path);}else{pushMethod(node,path);}}};for(var _iterator2=_createForOfIteratorHelperLoose(classBodyPaths),_step2;!(_step2=_iterator2()).done;){_loop();}}function pushDescriptors(){pushInheritsToBody();var body=classState.body;var props={instance:null,"static":null};for(var _iterator3=_createForOfIteratorHelperLoose(["static","instance"]),_step3;!(_step3=_iterator3()).done;){var placement=_step3.value;if(classState.methods[placement].list.length){props[placement]=classState.methods[placement].list.map(function(desc){var obj=objectExpression$3([objectProperty$1(identifier$j("key"),desc.key)]);for(var _iterator4=_createForOfIteratorHelperLoose(["get","set","value"]),_step4;!(_step4=_iterator4()).done;){var kind=_step4.value;if(desc[kind]!=null){obj.properties.push(objectProperty$1(identifier$j(kind),desc[kind]));}}return obj;});}}if(props.instance||props["static"]){var args=[cloneNode$j(classState.classRef),props.instance?arrayExpression$1(props.instance):nullLiteral$2(),props["static"]?arrayExpression$1(props["static"]):nullLiteral$2()];var lastNonNullIndex=0;for(var i=0;i<args.length;i++){if(!isNullLiteral$2(args[i]))lastNonNullIndex=i;}args=args.slice(0,lastNonNullIndex+1);body.push(returnStatement$3(createClassHelper(args)));classState.pushedCreateClass=true;}}function wrapSuperCall(bareSuper,superRef,thisRef,body){var bareSuperNode=bareSuper.node;var call;if(assumptions.superIsCallableConstructor){bareSuperNode.arguments.unshift(thisExpression$4());if(bareSuperNode.arguments.length===2&&isSpreadElement$1(bareSuperNode.arguments[1])&&isIdentifier$j(bareSuperNode.arguments[1].argument,{name:"arguments"})){bareSuperNode.arguments[1]=bareSuperNode.arguments[1].argument;bareSuperNode.callee=memberExpression$c(cloneNode$j(superRef),identifier$j("apply"));}else{bareSuperNode.callee=memberExpression$c(cloneNode$j(superRef),identifier$j("call"));}call=logicalExpression$3("||",bareSuperNode,thisExpression$4());}else{var _bareSuperNode$argume;var args=[thisExpression$4(),cloneNode$j(classState.classRef)];if((_bareSuperNode$argume=bareSuperNode.arguments)!=null&&_bareSuperNode$argume.length){var bareSuperNodeArguments=bareSuperNode.arguments;if(bareSuperNodeArguments.length===1&&isSpreadElement$1(bareSuperNodeArguments[0])&&isIdentifier$j(bareSuperNodeArguments[0].argument,{name:"arguments"})){args.push(bareSuperNodeArguments[0].argument);}else{args.push(arrayExpression$1(bareSuperNodeArguments));}}call=callExpression$d(addCallSuperHelper(classState.file),args);}if(bareSuper.parentPath.isExpressionStatement()&&bareSuper.parentPath.container===body.node.body&&body.node.body.length-1===bareSuper.parentPath.key){if(classState.superThises.length){call=assignmentExpression$d("=",thisRef(),call);}bareSuper.parentPath.replaceWith(returnStatement$3(call));}else{bareSuper.replaceWith(assignmentExpression$d("=",thisRef(),call));}}function verifyConstructor(){if(!classState.isDerived)return;var path=classState.userConstructorPath;var body=path.get("body");var constructorBody=path.get("body");var maxGuaranteedSuperBeforeIndex=constructorBody.node.body.length;path.traverse(findThisesVisitor);var _thisRef=function thisRef(){var ref=path.scope.generateDeclaredUidIdentifier("this");maxGuaranteedSuperBeforeIndex++;_thisRef=function thisRef(){return cloneNode$j(ref);};return ref;};var buildAssertThisInitialized=function buildAssertThisInitialized(){return callExpression$d(classState.file.addHelper("assertThisInitialized"),[_thisRef()]);};var bareSupers=[];path.traverse(traverse.visitors.merge([visitor$5,{Super:function Super(path){var node=path.node,parentPath=path.parentPath;if(parentPath.isCallExpression({callee:node})){bareSupers.unshift(parentPath);}}}]));var _loop2=function _loop2(){var bareSuper=_bareSupers[_i];wrapSuperCall(bareSuper,classState.superName,_thisRef,body);if(maxGuaranteedSuperBeforeIndex>=0){var lastParentPath;bareSuper.find(function(parentPath){if(parentPath===constructorBody){maxGuaranteedSuperBeforeIndex=Math.min(maxGuaranteedSuperBeforeIndex,lastParentPath.key);return true;}if(parentPath.isLoop()||parentPath.isConditional()||parentPath.isArrowFunctionExpression()){maxGuaranteedSuperBeforeIndex=-1;return true;}lastParentPath=parentPath;});}};for(var _i=0,_bareSupers=bareSupers;_i<_bareSupers.length;_i++){_loop2();}var _loop3=function _loop3(){var thisPath=_step5.value;var node=thisPath.node,parentPath=thisPath.parentPath;if(parentPath.isMemberExpression({object:node})){thisPath.replaceWith(_thisRef());return 1;}var thisIndex;thisPath.find(function(parentPath){if(parentPath.parentPath===constructorBody){thisIndex=parentPath.key;return true;}});if(maxGuaranteedSuperBeforeIndex!=-1&&thisIndex>maxGuaranteedSuperBeforeIndex){thisPath.replaceWith(_thisRef());}else{thisPath.replaceWith(buildAssertThisInitialized());}};for(var _iterator5=_createForOfIteratorHelperLoose(classState.superThises),_step5;!(_step5=_iterator5()).done;){if(_loop3())continue;}var wrapReturn;if(classState.isLoose){wrapReturn=function wrapReturn(returnArg){var thisExpr=buildAssertThisInitialized();return returnArg?logicalExpression$3("||",returnArg,thisExpr):thisExpr;};}else{wrapReturn=function wrapReturn(returnArg){var returnParams=[_thisRef()];if(returnArg!=null){returnParams.push(returnArg);}return callExpression$d(classState.file.addHelper("possibleConstructorReturn"),returnParams);};}var bodyPaths=body.get("body");var guaranteedSuperBeforeFinish=maxGuaranteedSuperBeforeIndex!==-1&&maxGuaranteedSuperBeforeIndex<bodyPaths.length;if(!bodyPaths.length||!bodyPaths.pop().isReturnStatement()){body.pushContainer("body",returnStatement$3(guaranteedSuperBeforeFinish?_thisRef():buildAssertThisInitialized()));}for(var _iterator6=_createForOfIteratorHelperLoose(classState.superReturns),_step6;!(_step6=_iterator6()).done;){var returnPath=_step6.value;returnPath.get("argument").replaceWith(wrapReturn(returnPath.node.argument));}}function pushMethod(node,path){var scope=path?path.scope:classState.scope;if(node.kind==="method"){if(processMethod(node,scope))return;}var placement=node["static"]?"static":"instance";var methods=classState.methods[placement];var descKey=node.kind==="method"?"value":node.kind;var key=isNumericLiteral(node.key)||isBigIntLiteral(node.key)?stringLiteral$8(String(node.key.value)):toComputedKey$2(node);var fn=toExpression$1(node);if(isStringLiteral$5(key)){if(node.kind==="method"){var _nameFunction;fn=(_nameFunction=nameFunction({id:key,node:node,scope:scope},undefined,supportUnicodeId))!=null?_nameFunction:fn;}}else{methods.hasComputed=true;}var descriptor;if(!methods.hasComputed&&methods.map.has(key.value)){descriptor=methods.map.get(key.value);descriptor[descKey]=fn;if(descKey==="value"){descriptor.get=null;descriptor.set=null;}else{descriptor.value=null;}}else{var _descriptor;descriptor=(_descriptor={key:key},_descriptor[descKey]=fn,_descriptor);methods.list.push(descriptor);if(!methods.hasComputed){methods.map.set(key.value,descriptor);}}}function processMethod(node,scope){if(assumptions.setClassMethods&&!node.decorators){var classRef=classState.classRef;if(!node["static"]){insertProtoAliasOnce();classRef=classState.protoAlias;}var methodName=memberExpression$c(cloneNode$j(classRef),node.key,node.computed||isLiteral$6(node.key));var func=functionExpression$2(null,node.params,node.body,node.generator,node.async);inherits$3(func,node);var key=toComputedKey$2(node,node.key);if(isStringLiteral$5(key)){var _nameFunction2;func=(_nameFunction2=nameFunction({node:func,id:key,scope:scope},undefined,supportUnicodeId))!=null?_nameFunction2:func;}var expr=expressionStatement$a(assignmentExpression$d("=",methodName,func));inheritsComments$1(expr,node);classState.body.push(expr);return true;}return false;}function insertProtoAliasOnce(){if(classState.protoAlias===null){setState({protoAlias:classState.scope.generateUidIdentifier("proto")});var classProto=memberExpression$c(classState.classRef,identifier$j("prototype"));var protoDeclaration=variableDeclaration$8("var",[variableDeclarator$8(classState.protoAlias,classProto)]);classState.body.push(protoDeclaration);}}function pushConstructor(superReturns,method,path){setState({userConstructorPath:path,userConstructor:method,hasConstructor:true,superReturns:superReturns});var construct=classState.construct;inheritsComments$1(construct,method);construct.params=method.params;inherits$3(construct.body,method.body);construct.body.directives=method.body.directives;if(classState.hasInstanceDescriptors||classState.hasStaticDescriptors){pushDescriptors();}pushInheritsToBody();}function pushInheritsToBody(){if(!classState.isDerived||classState.pushedInherits)return;classState.pushedInherits=true;classState.body.unshift(expressionStatement$a(callExpression$d(classState.file.addHelper(classState.isLoose?"inheritsLoose":"inherits"),[cloneNode$j(classState.classRef),cloneNode$j(classState.superName)])));}function extractDynamicKeys(){var dynamicKeys=classState.dynamicKeys,node=classState.node,scope=classState.scope;for(var _iterator7=_createForOfIteratorHelperLoose(node.body.body),_step7;!(_step7=_iterator7()).done;){var elem=_step7.value;if(!isClassMethod(elem)||!elem.computed)continue;if(scope.isPure(elem.key,true))continue;var id=scope.generateUidIdentifierBasedOnNode(elem.key);dynamicKeys.set(id.name,elem.key);elem.key=id;}}function setupClosureParamsArgs(){var superName=classState.superName,dynamicKeys=classState.dynamicKeys;var closureParams=[];var closureArgs=[];if(classState.isDerived){var arg=cloneNode$j(superName);if(classState.extendsNative){arg=callExpression$d(classState.file.addHelper("wrapNativeSuper"),[arg]);annotateAsPure(arg);}var param=classState.scope.generateUidIdentifierBasedOnNode(superName);closureParams.push(param);closureArgs.push(arg);setState({superName:cloneNode$j(param)});}for(var _iterator8=_createForOfIteratorHelperLoose(dynamicKeys),_step8;!(_step8=_iterator8()).done;){var _step8$value=_slicedToArray(_step8.value,2),name=_step8$value[0],value=_step8$value[1];closureParams.push(identifier$j(name));closureArgs.push(value);}return{closureParams:closureParams,closureArgs:closureArgs};}function classTransformer(path,file,builtinClasses,isLoose){setState({parent:path.parent,scope:path.scope,node:path.node,path:path,file:file,isLoose:isLoose});setState({classId:classState.node.id,classRef:classState.node.id?identifier$j(classState.node.id.name):classState.scope.generateUidIdentifier("class"),superName:classState.node.superClass,isDerived:!!classState.node.superClass,constructorBody:blockStatement$6([])});setState({extendsNative:isIdentifier$j(classState.superName)&&builtinClasses.has(classState.superName.name)&&!classState.scope.hasBinding(classState.superName.name,true)});var classRef=classState.classRef,node=classState.node,constructorBody=classState.constructorBody;setState({construct:buildConstructor(classRef,constructorBody,node)});extractDynamicKeys();var body=classState.body;var _setupClosureParamsAr=setupClosureParamsArgs(),closureParams=_setupClosureParamsAr.closureParams,closureArgs=_setupClosureParamsAr.closureArgs;buildBody();if(!assumptions.noClassCalls){constructorBody.body.unshift(expressionStatement$a(callExpression$d(classState.file.addHelper("classCallCheck"),[thisExpression$4(),cloneNode$j(classState.classRef)])));}var isStrict=path.isInStrictMode();var constructorOnly=classState.classId&&body.length===0;if(constructorOnly&&!isStrict){for(var _iterator9=_createForOfIteratorHelperLoose(classState.construct.params),_step9;!(_step9=_iterator9()).done;){var param=_step9.value;if(!isIdentifier$j(param)){constructorOnly=false;break;}}}var directives=constructorOnly?classState.construct.body.directives:[];if(!isStrict){directives.push(directive$1(directiveLiteral$1("use strict")));}if(constructorOnly){var expr=toExpression$1(classState.construct);return classState.isLoose?expr:createClassHelper([expr]);}if(!classState.pushedCreateClass){body.push(returnStatement$3(classState.isLoose?cloneNode$j(classState.classRef):createClassHelper([cloneNode$j(classState.classRef)])));}body.unshift(classState.construct);var container=arrowFunctionExpression$4(closureParams,blockStatement$6(body,directives));return callExpression$d(container,closureArgs);}return classTransformer(path,file,builtinClasses,isLoose);}var getBuiltinClasses=function getBuiltinClasses(category){return Object.keys(globals[category]).filter(function(name){return /^[A-Z]/.test(name);});};var builtinClasses=new Set([].concat(_toConsumableArray(getBuiltinClasses("builtin")),_toConsumableArray(getBuiltinClasses("browser"))));var _transformClasses=declare(function(api,options){var _api$assumption,_api$assumption2,_api$assumption3,_api$assumption4;api.assertVersion("*");var _options$loose=options.loose,loose=_options$loose===void 0?false:_options$loose;var setClassMethods=(_api$assumption=api.assumption("setClassMethods"))!=null?_api$assumption:loose;var constantSuper=(_api$assumption2=api.assumption("constantSuper"))!=null?_api$assumption2:loose;var superIsCallableConstructor=(_api$assumption3=api.assumption("superIsCallableConstructor"))!=null?_api$assumption3:loose;var noClassCalls=(_api$assumption4=api.assumption("noClassCalls"))!=null?_api$assumption4:loose;var supportUnicodeId=!isRequired("transform-unicode-escapes",api.targets());var VISITED=new WeakSet();return{name:"transform-classes",visitor:{ExportDefaultDeclaration:function ExportDefaultDeclaration(path){if(!path.get("declaration").isClassDeclaration())return;splitExportDeclaration(path);},ClassDeclaration:function ClassDeclaration(path){var node=path.node;var ref=node.id||path.scope.generateUidIdentifier("class");path.replaceWith(variableDeclaration$8("let",[variableDeclarator$8(ref,toExpression$1(node))]));},ClassExpression:function ClassExpression(path,state){var node=path.node;if(VISITED.has(node))return;var inferred=nameFunction(path,undefined,supportUnicodeId);if(inferred&&inferred!==node){path.replaceWith(inferred);return;}VISITED.add(node);var _path$replaceWith=path.replaceWith(transformClass(path,state.file,builtinClasses,loose,{setClassMethods:setClassMethods,constantSuper:constantSuper,superIsCallableConstructor:superIsCallableConstructor,noClassCalls:noClassCalls},supportUnicodeId)),_path$replaceWith2=_slicedToArray(_path$replaceWith,1),replacedPath=_path$replaceWith2[0];if(replacedPath.isCallExpression()){annotateAsPure(replacedPath);var callee=replacedPath.get("callee");if(callee.isArrowFunctionExpression()){callee.arrowFunctionToExpression();}}}}};});var _templateObject$j;{var DefineAccessorHelper=template$1.expression.ast(_templateObject$j||(_templateObject$j=_taggedTemplateLiteralLoose(["\n    function (type, obj, key, fn) {\n      var desc = { configurable: true, enumerable: true };\n      desc[type] = fn;\n      return Object.defineProperty(obj, key, desc);\n    }\n  "])));DefineAccessorHelper._compact=true;}var _transformComputedProperties=declare(function(api,options){var _api$assumption;api.assertVersion("*");var setComputedProperties=(_api$assumption=api.assumption("setComputedProperties"))!=null?_api$assumption:options.loose;var pushComputedProps=setComputedProperties?pushComputedPropsLoose:pushComputedPropsSpec;function buildDefineAccessor(state,obj,prop){var type=prop.kind;var key=!prop.computed&&isIdentifier$j(prop.key)?stringLiteral$8(prop.key.name):prop.key;var fn=getValue(prop);{var helper;if(state.availableHelper("defineAccessor")){helper=state.addHelper("defineAccessor");}else{var file=state.file;helper=file.get("fallbackDefineAccessorHelper");if(!helper){var id=file.scope.generateUidIdentifier("defineAccessor");file.scope.push({id:id,init:DefineAccessorHelper});file.set("fallbackDefineAccessorHelper",helper=id);}helper=cloneNode$j(helper);}return callExpression$d(helper,[stringLiteral$8(type),obj,key,fn]);}}function getValue(prop){if(isObjectProperty$5(prop)){return prop.value;}else if(isObjectMethod$1(prop)){return functionExpression$2(null,prop.params,prop.body,prop.generator,prop.async);}}function pushAssign(objId,prop,body){body.push(expressionStatement$a(assignmentExpression$d("=",memberExpression$c(cloneNode$j(objId),prop.key,prop.computed||isLiteral$6(prop.key)),getValue(prop))));}function pushComputedPropsLoose(info){var computedProps=info.computedProps,state=info.state,initPropExpression=info.initPropExpression,objId=info.objId,body=info.body;for(var _iterator=_createForOfIteratorHelperLoose(computedProps),_step;!(_step=_iterator()).done;){var prop=_step.value;if(isObjectMethod$1(prop)&&(prop.kind==="get"||prop.kind==="set")){if(computedProps.length===1){return buildDefineAccessor(state,initPropExpression,prop);}else{body.push(expressionStatement$a(buildDefineAccessor(state,cloneNode$j(objId),prop)));}}else{pushAssign(cloneNode$j(objId),prop,body);}}}function pushComputedPropsSpec(info){var objId=info.objId,body=info.body,computedProps=info.computedProps,state=info.state;var CHUNK_LENGTH_CAP=10;var currentChunk=null;var computedPropsChunks=[];for(var _iterator2=_createForOfIteratorHelperLoose(computedProps),_step2;!(_step2=_iterator2()).done;){var _prop=_step2.value;if(!currentChunk||currentChunk.length===CHUNK_LENGTH_CAP){currentChunk=[];computedPropsChunks.push(currentChunk);}currentChunk.push(_prop);}for(var _i=0,_computedPropsChunks=computedPropsChunks;_i<_computedPropsChunks.length;_i++){var chunk=_computedPropsChunks[_i];var single=computedPropsChunks.length===1;var node=single?info.initPropExpression:cloneNode$j(objId);for(var _iterator3=_createForOfIteratorHelperLoose(chunk),_step3;!(_step3=_iterator3()).done;){var prop=_step3.value;if(isObjectMethod$1(prop)&&(prop.kind==="get"||prop.kind==="set")){node=buildDefineAccessor(info.state,node,prop);}else{node=callExpression$d(state.addHelper("defineProperty"),[node,toComputedKey$2(prop),getValue(prop)]);}}if(single)return node;body.push(expressionStatement$a(node));}}return{name:"transform-computed-properties",visitor:{ObjectExpression:{exit:function exit(path,state){var node=path.node,parent=path.parent,scope=path.scope;var hasComputed=false;for(var _iterator4=_createForOfIteratorHelperLoose(node.properties),_step4;!(_step4=_iterator4()).done;){var prop=_step4.value;hasComputed=prop.computed===true;if(hasComputed)break;}if(!hasComputed)return;var initProps=[];var computedProps=[];var foundComputed=false;for(var _iterator5=_createForOfIteratorHelperLoose(node.properties),_step5;!(_step5=_iterator5()).done;){var _prop2=_step5.value;if(isSpreadElement$1(_prop2)){continue;}if(_prop2.computed){foundComputed=true;}if(foundComputed){computedProps.push(_prop2);}else{initProps.push(_prop2);}}var objId=scope.generateUidIdentifierBasedOnNode(parent);var initPropExpression=objectExpression$3(initProps);var body=[];body.push(variableDeclaration$8("var",[variableDeclarator$8(objId,initPropExpression)]));var single=pushComputedProps({scope:scope,objId:objId,body:body,computedProps:computedProps,initPropExpression:initPropExpression,state:state});if(single){path.replaceWith(single);}else{if(setComputedProperties){body.push(expressionStatement$a(cloneNode$j(objId)));}path.replaceWithMultiple(body);}}}}};});var _transformDotallRegex=declare(function(api){api.assertVersion("*");return createRegExpFeaturePlugin({name:"transform-dotall-regex",feature:"dotAllFlag"});});function getName(key){if(isIdentifier$j(key)){return key.name;}return key.value.toString();}var _transformDuplicateKeys=declare(function(api){api.assertVersion("*");return{name:"transform-duplicate-keys",visitor:{ObjectExpression:function ObjectExpression(path){var node=path.node;var plainProps=node.properties.filter(function(prop){return!isSpreadElement$1(prop)&&!prop.computed;});var alreadySeenData=Object.create(null);var alreadySeenGetters=Object.create(null);var alreadySeenSetters=Object.create(null);for(var _iterator=_createForOfIteratorHelperLoose(plainProps),_step;!(_step=_iterator()).done;){var prop=_step.value;var name=getName(prop.key);var isDuplicate=false;switch(prop.kind){case"get":if(alreadySeenData[name]||alreadySeenGetters[name]){isDuplicate=true;}alreadySeenGetters[name]=true;break;case"set":if(alreadySeenData[name]||alreadySeenSetters[name]){isDuplicate=true;}alreadySeenSetters[name]=true;break;default:if(alreadySeenData[name]||alreadySeenGetters[name]||alreadySeenSetters[name]){isDuplicate=true;}alreadySeenData[name]=true;}if(isDuplicate){prop.computed=true;prop.key=stringLiteral$8(name);}}}}};});var assignmentExpression$1=assignmentExpression$d,cloneNode=cloneNode$j,isIdentifier$1=isIdentifier$j,isLiteral=isLiteral$6,isMemberExpression=isMemberExpression$9,isPrivateName=isPrivateName$3,isPureish=isPureish$2,isSuper=isSuper$3,memberExpression$1=memberExpression$c,toComputedKey=toComputedKey$2;function getObjRef(node,nodes,scope){var ref;if(isIdentifier$1(node)){if(scope.hasBinding(node.name)){return node;}else{ref=node;}}else if(isMemberExpression(node)){ref=node.object;if(isSuper(ref)||isIdentifier$1(ref)&&scope.hasBinding(ref.name)){return ref;}}else{throw new Error("We can't explode this node type "+node["type"]);}var temp=scope.generateUidIdentifierBasedOnNode(ref);scope.push({id:temp});nodes.push(assignmentExpression$1("=",cloneNode(temp),cloneNode(ref)));return temp;}function getPropRef(node,nodes,scope){var prop=node.property;if(isPrivateName(prop)){throw new Error("We can't generate property ref for private name, please install `@babel/plugin-transform-class-properties`");}var key=toComputedKey(node,prop);if(isLiteral(key)&&isPureish(key))return key;var temp=scope.generateUidIdentifierBasedOnNode(prop);scope.push({id:temp});nodes.push(assignmentExpression$1("=",cloneNode(temp),cloneNode(prop)));return temp;}function explode(node,nodes,scope){var obj=getObjRef(node,nodes,scope);var ref,uid;if(isIdentifier$1(node)){ref=cloneNode(node);uid=obj;}else{var prop=getPropRef(node,nodes,scope);var computed=node.computed||isLiteral(prop);uid=memberExpression$1(cloneNode(obj),cloneNode(prop),computed);ref=memberExpression$1(cloneNode(obj),cloneNode(prop),computed);}return{uid:uid,ref:ref};}var assignmentExpression=assignmentExpression$d,sequenceExpression=sequenceExpression$8;function build(opts){var build=opts.build,operator=opts.operator;var visitor={AssignmentExpression:function(_AssignmentExpression){function AssignmentExpression(_x){return _AssignmentExpression.apply(this,arguments);}AssignmentExpression.toString=function(){return _AssignmentExpression.toString();};return AssignmentExpression;}(function(path){var node=path.node,scope=path.scope;if(node.operator!==operator+"=")return;var nodes=[];var exploded=explode(node.left,nodes,scope);nodes.push(assignmentExpression("=",exploded.ref,build(exploded.uid,node.right)));path.replaceWith(sequenceExpression(nodes));}),BinaryExpression:function BinaryExpression(path){var node=path.node;if(node.operator===operator){path.replaceWith(build(node.left,node.right));}}};return visitor;}var transformExponentialOperator=declare(function(api){api.assertVersion("*");return{name:"transform-exponentiation-operator",visitor:build({operator:"**",build:function build(left,right){return callExpression$d(memberExpression$c(identifier$j("Math"),identifier$j("pow")),[left,right]);}})};});var transformFlowComments=declare(function(api){api.assertVersion("*");function commentFromString(comment){return typeof comment==="string"?{type:"CommentBlock",value:comment}:comment;}function attachComment(_ref){var _toPath;var ofPath=_ref.ofPath,toPath=_ref.toPath,_ref$where=_ref.where,where=_ref$where===void 0?"trailing":_ref$where,_ref$optional=_ref.optional,optional=_ref$optional===void 0?false:_ref$optional,_ref$comments=_ref.comments,comments=_ref$comments===void 0?generateComment(ofPath,optional):_ref$comments,_ref$keepType=_ref.keepType,keepType=_ref$keepType===void 0?false:_ref$keepType;if(!((_toPath=toPath)!=null&&_toPath.node)){toPath=ofPath.getPrevSibling();where="trailing";}if(!toPath.node){toPath=ofPath.getNextSibling();where="leading";}if(!toPath.node){toPath=ofPath.parentPath;where="inner";}if(!Array.isArray(comments)){comments=[comments];}var newComments=comments.map(commentFromString);if(!keepType&&ofPath!=null&&ofPath.node){var node=ofPath.node;var parent=ofPath.parentPath;var prev=ofPath.getPrevSibling();var next=ofPath.getNextSibling();var isSingleChild=!(prev.node||next.node);var leading=node.leadingComments;var trailing=node.trailingComments;if(isSingleChild&&leading){parent.addComments("inner",leading);}toPath.addComments(where,newComments);ofPath.remove();if(isSingleChild&&trailing){parent.addComments("inner",trailing);}}else{toPath.addComments(where,newComments);}}function wrapInFlowComment(path){attachComment({ofPath:path,comments:generateComment(path,path.parent.optional)});}function generateComment(path,optional){var comment=path.getSource().replace(/\*-\//g,"*-ESCAPED/").replace(/\*\//g,"*-/");if(optional)comment="?"+comment;if(comment[0]!==":")comment=":: "+comment;return comment;}function isTypeImport(importKind){return importKind==="type"||importKind==="typeof";}return{name:"transform-flow-comments",inherits:syntaxFlow,visitor:{TypeCastExpression:function TypeCastExpression(path){var node=path.node;attachComment({ofPath:path.get("typeAnnotation"),toPath:path.get("expression"),keepType:true});path.replaceWith(parenthesizedExpression(node.expression));},Identifier:function Identifier(path){if(path.parentPath.isFlow())return;var node=path.node;if(node.typeAnnotation){attachComment({ofPath:path.get("typeAnnotation"),toPath:path,optional:node.optional||node.typeAnnotation.optional});if(node.optional){node.optional=false;}}else if(node.optional){attachComment({toPath:path,comments:":: ?"});node.optional=false;}},AssignmentPattern:{exit:function exit(_ref2){var node=_ref2.node;var left=node.left;if(left.optional){left.optional=false;}}},Function:function Function(path){if(path.isDeclareFunction())return;var node=path.node;if(node.typeParameters){attachComment({ofPath:path.get("typeParameters"),toPath:path.get("id"),optional:node.typeParameters.optional});}if(node.returnType){attachComment({ofPath:path.get("returnType"),toPath:path.get("body"),where:"leading",optional:node.returnType.typeAnnotation.optional});}},ClassProperty:function ClassProperty(path){var node=path.node;if(!node.value){wrapInFlowComment(path);}else if(node.typeAnnotation){attachComment({ofPath:path.get("typeAnnotation"),toPath:path.get("key"),optional:node.typeAnnotation.optional});}},ExportNamedDeclaration:function ExportNamedDeclaration(path){var node=path.node;if(node.exportKind!=="type"&&!isFlow$1(node.declaration)){return;}wrapInFlowComment(path);},ImportDeclaration:function ImportDeclaration(path){var node=path.node;if(isTypeImport(node.importKind)){wrapInFlowComment(path);return;}var typeSpecifiers=node.specifiers.filter(function(specifier){return specifier.type==="ImportSpecifier"&&isTypeImport(specifier.importKind);});var nonTypeSpecifiers=node.specifiers.filter(function(specifier){return specifier.type!=="ImportSpecifier"||!isTypeImport(specifier.importKind);});node.specifiers=nonTypeSpecifiers;if(typeSpecifiers.length>0){var typeImportNode=cloneNode$j(node);typeImportNode.specifiers=typeSpecifiers;var comment=":: "+generate$1(typeImportNode).code;if(nonTypeSpecifiers.length>0){attachComment({toPath:path,comments:comment});}else{attachComment({ofPath:path,comments:comment});}}},ObjectPattern:function ObjectPattern(path){var node=path.node;if(node.typeAnnotation){attachComment({ofPath:path.get("typeAnnotation"),toPath:path,optional:node.optional||node.typeAnnotation.optional});}},Flow:function(_Flow){function Flow(_x){return _Flow.apply(this,arguments);}Flow.toString=function(){return _Flow.toString();};return Flow;}(function(path){wrapInFlowComment(path);}),Class:function Class(path){var node=path.node;var comments=[];if(node.typeParameters){var typeParameters=path.get("typeParameters");comments.push(generateComment(typeParameters,node.typeParameters.optional));var trailingComments=node.typeParameters.trailingComments;if(trailingComments){var _comments;(_comments=comments).push.apply(_comments,_toConsumableArray(trailingComments));}typeParameters.remove();}if(node.superClass){if(comments.length>0){attachComment({toPath:path.get("id"),comments:comments});comments=[];}if(node.superTypeParameters){var superTypeParameters=path.get("superTypeParameters");comments.push(generateComment(superTypeParameters,superTypeParameters.node.optional));superTypeParameters.remove();}}if(node["implements"]){var impls=path.get("implements");var comment="implements "+impls.map(function(impl){return generateComment(impl).replace(/^:: /,"");}).join(", ");delete node["implements"];if(comments.length===1){comments[0]+=" "+comment;}else{comments.push(":: "+comment);}}if(comments.length>0){attachComment({toPath:path.get("body"),where:"leading",comments:comments});}}}};});var transformFlowStripTypes=declare(function(api,opts){api.assertVersion("*");var FLOW_DIRECTIVE=/(@flow(\s+(strict(-local)?|weak))?|@noflow)/;var skipStrip=false;var _opts$requireDirectiv=opts.requireDirective,requireDirective=_opts$requireDirectiv===void 0?false:_opts$requireDirectiv;{var _opts$allowDeclareFie=opts.allowDeclareFields,allowDeclareFields=_opts$allowDeclareFie===void 0?false:_opts$allowDeclareFie;}return{name:"transform-flow-strip-types",inherits:syntaxFlow,visitor:{Program:function Program(path,_ref){var comments=_ref.file.ast.comments;skipStrip=false;var directiveFound=false;if(comments){for(var _iterator=_createForOfIteratorHelperLoose(comments),_step;!(_step=_iterator()).done;){var comment=_step.value;if(FLOW_DIRECTIVE.test(comment.value)){directiveFound=true;comment.value=comment.value.replace(FLOW_DIRECTIVE,"");if(!comment.value.replace(/\*/g,"").trim()){comment.ignore=true;}}}}if(!directiveFound&&requireDirective){skipStrip=true;}},ImportDeclaration:function ImportDeclaration(path){if(skipStrip)return;if(!path.node.specifiers.length)return;var typeCount=0;path.node.specifiers.forEach(function(_ref2){var importKind=_ref2.importKind;if(importKind==="type"||importKind==="typeof"){typeCount++;}});if(typeCount===path.node.specifiers.length){path.remove();}},Flow:function(_Flow){function Flow(_x){return _Flow.apply(this,arguments);}Flow.toString=function(){return _Flow.toString();};return Flow;}(function(path){if(skipStrip){throw path.buildCodeFrameError("A @flow directive is required when using Flow annotations with "+"the `requireDirective` option.");}path.remove();}),ClassPrivateProperty:function ClassPrivateProperty(path){if(skipStrip)return;path.node.typeAnnotation=null;},Class:function Class(path){if(skipStrip)return;path.node["implements"]=null;path.get("body.body").forEach(function(child){if(child.isClassProperty()){var node=child.node;{if(!allowDeclareFields&&node.declare){throw child.buildCodeFrameError("The 'declare' modifier is only allowed when the "+"'allowDeclareFields' option of "+"@babel/plugin-transform-flow-strip-types or "+"@babel/preset-flow is enabled.");}}if(node.declare){child.remove();}else{{if(!allowDeclareFields&&!node.value&&!node.decorators){child.remove();return;}}node.variance=null;node.typeAnnotation=null;}}});},AssignmentPattern:function AssignmentPattern(_ref3){var node=_ref3.node;if(skipStrip)return;if(node.left.optional){node.left.optional=false;}},Function:function Function(_ref4){var node=_ref4.node;if(skipStrip)return;if(node.params.length>0&&node.params[0].type==="Identifier"&&node.params[0].name==="this"){node.params.shift();}for(var i=0;i<node.params.length;i++){var param=node.params[i];if(param.type==="AssignmentPattern"){param=param.left;}if(param.optional){param.optional=false;}}if(!isMethod$1(node)){node.predicate=null;}},TypeCastExpression:function TypeCastExpression(path){if(skipStrip)return;var node=path.node;do{node=node.expression;}while(isTypeCastExpression$1(node));path.replaceWith(node);},CallExpression:function CallExpression(_ref5){var node=_ref5.node;if(skipStrip)return;node.typeArguments=null;},OptionalCallExpression:function OptionalCallExpression(_ref6){var node=_ref6.node;if(skipStrip)return;node.typeArguments=null;},NewExpression:function NewExpression(_ref7){var node=_ref7.node;if(skipStrip)return;node.typeArguments=null;}}};});function transformWithoutHelper(loose,path,state){var _block$body;var pushComputedProps=loose?pushComputedPropsLoose:pushComputedPropsSpec;var node=path.node;var build=pushComputedProps(path,state);var declar=build.declar;var loop=build.loop;var block=loop.body;path.ensureBlock();if(declar){block.body.push(declar);}(_block$body=block.body).push.apply(_block$body,_toConsumableArray(node.body.body));inherits$3(loop,node);inherits$3(loop.body,node.body);if(build.replaceParent){path.parentPath.replaceWithMultiple(build.node);path.remove();}else{path.replaceWithMultiple(build.node);}}var buildForOfLoose=template$1.statement("\n  for (var LOOP_OBJECT = OBJECT,\n          IS_ARRAY = Array.isArray(LOOP_OBJECT),\n          INDEX = 0,\n          LOOP_OBJECT = IS_ARRAY ? LOOP_OBJECT : LOOP_OBJECT[Symbol.iterator]();;) {\n    INTERMEDIATE;\n    if (IS_ARRAY) {\n      if (INDEX >= LOOP_OBJECT.length) break;\n      ID = LOOP_OBJECT[INDEX++];\n    } else {\n      INDEX = LOOP_OBJECT.next();\n      if (INDEX.done) break;\n      ID = INDEX.value;\n    }\n  }\n");var buildForOf=template$1.statements("\n  var ITERATOR_COMPLETION = true;\n  var ITERATOR_HAD_ERROR_KEY = false;\n  var ITERATOR_ERROR_KEY = undefined;\n  try {\n    for (\n      var ITERATOR_KEY = OBJECT[Symbol.iterator](), STEP_KEY;\n      !(ITERATOR_COMPLETION = (STEP_KEY = ITERATOR_KEY.next()).done);\n      ITERATOR_COMPLETION = true\n    ) {}\n  } catch (err) {\n    ITERATOR_HAD_ERROR_KEY = true;\n    ITERATOR_ERROR_KEY = err;\n  } finally {\n    try {\n      if (!ITERATOR_COMPLETION && ITERATOR_KEY.return != null) {\n        ITERATOR_KEY.return();\n      }\n    } finally {\n      if (ITERATOR_HAD_ERROR_KEY) {\n        throw ITERATOR_ERROR_KEY;\n      }\n    }\n  }\n");function pushComputedPropsLoose(path,state){var node=path.node,scope=path.scope,parent=path.parent;var left=node.left;var declar,id,intermediate;if(isIdentifier$j(left)||isPattern(left)||isMemberExpression$9(left)){id=left;intermediate=null;}else if(isVariableDeclaration$4(left)){id=scope.generateUidIdentifier("ref");declar=variableDeclaration$8(left.kind,[variableDeclarator$8(left.declarations[0].id,identifier$j(id.name))]);intermediate=variableDeclaration$8("var",[variableDeclarator$8(identifier$j(id.name))]);}else{throw state.buildCodeFrameError(left,"Unknown node type "+left.type+" in ForStatement");}var iteratorKey=scope.generateUidIdentifier("iterator");var isArrayKey=scope.generateUidIdentifier("isArray");var loop=buildForOfLoose({LOOP_OBJECT:iteratorKey,IS_ARRAY:isArrayKey,OBJECT:node.right,INDEX:scope.generateUidIdentifier("i"),ID:id,INTERMEDIATE:intermediate});var isLabeledParent=isLabeledStatement(parent);var labeled;if(isLabeledParent){labeled=labeledStatement(parent.label,loop);}return{replaceParent:isLabeledParent,declar:declar,node:labeled||loop,loop:loop};}function pushComputedPropsSpec(path,state){var node=path.node,scope=path.scope,parent=path.parent;var left=node.left;var declar;var stepKey=scope.generateUid("step");var stepValue=memberExpression$c(identifier$j(stepKey),identifier$j("value"));if(isIdentifier$j(left)||isPattern(left)||isMemberExpression$9(left)){declar=expressionStatement$a(assignmentExpression$d("=",left,stepValue));}else if(isVariableDeclaration$4(left)){declar=variableDeclaration$8(left.kind,[variableDeclarator$8(left.declarations[0].id,stepValue)]);}else{throw state.buildCodeFrameError(left,"Unknown node type "+left.type+" in ForStatement");}var template=buildForOf({ITERATOR_HAD_ERROR_KEY:scope.generateUidIdentifier("didIteratorError"),ITERATOR_COMPLETION:scope.generateUidIdentifier("iteratorNormalCompletion"),ITERATOR_ERROR_KEY:scope.generateUidIdentifier("iteratorError"),ITERATOR_KEY:scope.generateUidIdentifier("iterator"),STEP_KEY:identifier$j(stepKey),OBJECT:node.right});var isLabeledParent=isLabeledStatement(parent);var tryBody=template[3].block.body;var loop=tryBody[0];if(isLabeledParent){tryBody[0]=labeledStatement(parent.label,loop);}return{replaceParent:isLabeledParent,declar:declar,loop:loop,node:template};}var _templateObject$i,_templateObject2$b,_templateObject3$6;function buildLoopBody(path,declar,newBody){var block;var bodyPath=path.get("body");var body=newBody!=null?newBody:bodyPath.node;if(isBlockStatement$3(body)&&Object.keys(path.getBindingIdentifiers()).some(function(id){return bodyPath.scope.hasOwnBinding(id);})){block=blockStatement$6([declar,body]);}else{block=toBlock(body);block.body.unshift(declar);}return block;}var _transformForOf=declare(function(api,options){var _options$assumeArray,_options$allowArrayLi,_api$assumption;api.assertVersion("*");{var assumeArray=options.assumeArray,allowArrayLike=options.allowArrayLike,loose=options.loose;if(loose===true&&assumeArray===true){throw new Error("The loose and assumeArray options cannot be used together in @babel/plugin-transform-for-of");}if(assumeArray===true&&allowArrayLike===true){throw new Error("The assumeArray and allowArrayLike options cannot be used together in @babel/plugin-transform-for-of");}{if(allowArrayLike&&/^7\.\d\./.test(api.version)){throw new Error("The allowArrayLike is only supported when using @babel/core@^7.10.0");}}}var iterableIsArray=(_options$assumeArray=options.assumeArray)!=null?_options$assumeArray:!options.loose&&api.assumption("iterableIsArray");var arrayLikeIsIterable=(_options$allowArrayLi=options.allowArrayLike)!=null?_options$allowArrayLi:api.assumption("arrayLikeIsIterable");var skipIteratorClosing=(_api$assumption=api.assumption("skipForOfIteratorClosing"))!=null?_api$assumption:options.loose;if(iterableIsArray&&arrayLikeIsIterable){throw new Error("The \"iterableIsArray\" and \"arrayLikeIsIterable\" assumptions are not compatible.");}if(iterableIsArray){return{name:"transform-for-of",visitor:{ForOfStatement:function ForOfStatement(path){var scope=path.scope;var _path$node=path.node,left=_path$node.left,isAwait=_path$node["await"];if(isAwait){return;}var right=skipTransparentExprWrapperNodes(path.node.right);var i=scope.generateUidIdentifier("i");var array=scope.maybeGenerateMemoised(right,true);if(!array&&isIdentifier$j(right)&&path.get("body").scope.hasOwnBinding(right.name)){array=scope.generateUidIdentifier("arr");}var inits=[variableDeclarator$8(i,numericLiteral$8(0))];if(array){inits.push(variableDeclarator$8(array,right));}else{array=right;}var item=memberExpression$c(cloneNode$j(array),cloneNode$j(i),true);var assignment;if(isVariableDeclaration$4(left)){assignment=left;assignment.declarations[0].init=item;}else{assignment=expressionStatement$a(assignmentExpression$d("=",left,item));}path.replaceWith(forStatement(variableDeclaration$8("let",inits),binaryExpression$5("<",cloneNode$j(i),memberExpression$c(cloneNode$j(array),identifier$j("length"))),updateExpression$1("++",cloneNode$j(i)),buildLoopBody(path,assignment)));}}};}var buildForOfArray=template$1(_templateObject$i||(_templateObject$i=_taggedTemplateLiteralLoose(["\n    for (var KEY = 0, NAME = ARR; KEY < NAME.length; KEY++) BODY;\n  "])));var buildForOfNoIteratorClosing=template$1.statements(_templateObject2$b||(_templateObject2$b=_taggedTemplateLiteralLoose(["\n    for (var ITERATOR_HELPER = CREATE_ITERATOR_HELPER(OBJECT, ARRAY_LIKE_IS_ITERABLE), STEP_KEY;\n        !(STEP_KEY = ITERATOR_HELPER()).done;) BODY;\n  "])));var buildForOf=template$1.statements(_templateObject3$6||(_templateObject3$6=_taggedTemplateLiteralLoose(["\n    var ITERATOR_HELPER = CREATE_ITERATOR_HELPER(OBJECT, ARRAY_LIKE_IS_ITERABLE), STEP_KEY;\n    try {\n      for (ITERATOR_HELPER.s(); !(STEP_KEY = ITERATOR_HELPER.n()).done;) BODY;\n    } catch (err) {\n      ITERATOR_HELPER.e(err);\n    } finally {\n      ITERATOR_HELPER.f();\n    }\n  "])));var builder=skipIteratorClosing?{build:buildForOfNoIteratorClosing,helper:"createForOfIteratorHelperLoose",getContainer:function getContainer(nodes){return nodes;}}:{build:buildForOf,helper:"createForOfIteratorHelper",getContainer:function getContainer(nodes){return nodes[1].block.body;}};function _ForOfStatementArray(path){var node=path.node,scope=path.scope;var right=scope.generateUidIdentifierBasedOnNode(node.right,"arr");var iterationKey=scope.generateUidIdentifier("i");var loop=buildForOfArray({BODY:node.body,KEY:iterationKey,NAME:right,ARR:node.right});inherits$3(loop,node);var iterationValue=memberExpression$c(cloneNode$j(right),cloneNode$j(iterationKey),true);var declar;var left=node.left;if(isVariableDeclaration$4(left)){left.declarations[0].init=iterationValue;declar=left;}else{declar=expressionStatement$a(assignmentExpression$d("=",left,iterationValue));}loop.body=buildLoopBody(path,declar,loop.body);return loop;}return{name:"transform-for-of",visitor:{ForOfStatement:function ForOfStatement(path,state){var right=path.get("right");if(right.isArrayExpression()||right.isGenericType("Array")||isArrayTypeAnnotation$2(right.getTypeAnnotation())){path.replaceWith(_ForOfStatementArray(path));return;}{if(!state.availableHelper(builder.helper)){transformWithoutHelper(skipIteratorClosing,path,state);return;}}var node=path.node,parent=path.parent,scope=path.scope;var left=node.left;var declar;var stepKey=scope.generateUid("step");var stepValue=memberExpression$c(identifier$j(stepKey),identifier$j("value"));if(isVariableDeclaration$4(left)){declar=variableDeclaration$8(left.kind,[variableDeclarator$8(left.declarations[0].id,stepValue)]);}else{declar=expressionStatement$a(assignmentExpression$d("=",left,stepValue));}var nodes=builder.build({CREATE_ITERATOR_HELPER:state.addHelper(builder.helper),ITERATOR_HELPER:scope.generateUidIdentifier("iterator"),ARRAY_LIKE_IS_ITERABLE:arrayLikeIsIterable?booleanLiteral$4(true):null,STEP_KEY:identifier$j(stepKey),OBJECT:node.right,BODY:buildLoopBody(path,declar)});var container=builder.getContainer(nodes);inherits$3(container[0],node);inherits$3(container[0].body,node.body);if(isLabeledStatement(parent)){container[0]=labeledStatement(parent.label,container[0]);path.parentPath.replaceWithMultiple(nodes);path.skip();}else{path.replaceWithMultiple(nodes);}}}};});var _transformFunctionName=declare(function(api){api.assertVersion("*");var supportUnicodeId=!isRequired("transform-unicode-escapes",api.targets());return{name:"transform-function-name",visitor:{FunctionExpression:{exit:function exit(path){if(path.key!=="value"&&!path.parentPath.isObjectProperty()){var replacement=nameFunction(path);if(replacement)path.replaceWith(replacement);}}},ObjectProperty:function ObjectProperty(path){var value=path.get("value");if(value.isFunction()){var newNode=nameFunction(value,false,supportUnicodeId);if(newNode)value.replaceWith(newNode);}}}};});var transformInstanceof=declare(function(api){api.assertVersion("*");return{name:"transform-instanceof",visitor:{BinaryExpression:function BinaryExpression(path){var node=path.node;if(node.operator==="instanceof"){var helper=this.addHelper("instanceof");var isUnderHelper=path.findParent(function(path){return path.isVariableDeclarator()&&path.node.id===helper||path.isFunctionDeclaration()&&path.node.id&&path.node.id.name===helper.name;});if(isUnderHelper){return;}else{path.replaceWith(callExpression$d(helper,[node.left,node.right]));}}}}};});var transformJscript=declare(function(api){api.assertVersion("*");return{name:"transform-jscript",visitor:{FunctionExpression:{exit:function exit(path){var node=path.node;if(!node.id)return;path.replaceWith(callExpression$d(functionExpression$2(null,[],blockStatement$6([toStatement(node),returnStatement$3(cloneNode$j(node.id))])),[]));}}}};});var _transformLiterals=declare(function(api){api.assertVersion("*");return{name:"transform-literals",visitor:{NumericLiteral:function NumericLiteral(_ref){var node=_ref.node;if(node.extra&&/^0[ob]/i.test(node.extra.raw)){node.extra=undefined;}},StringLiteral:function StringLiteral(_ref2){var node=_ref2.node;if(node.extra&&/\\[u]/gi.test(node.extra.raw)){node.extra=undefined;}}}};});var _transformMemberExpressionLiterals=declare(function(api){api.assertVersion("*");return{name:"transform-member-expression-literals",visitor:{MemberExpression:{exit:function exit(_ref){var node=_ref.node;var prop=node.property;if(!node.computed&&isIdentifier$j(prop)&&!isValidES3Identifier(prop.name)){node.property=stringLiteral$8(prop.name);node.computed=true;}}}}};});var _templateObject$h;var buildWrapper$1=template$1.statement("\n  define(MODULE_NAME, AMD_ARGUMENTS, function(IMPORT_NAMES) {\n  })\n");var buildAnonymousWrapper=template$1.statement("\n  define([\"require\"], function(REQUIRE) {\n  })\n");function injectWrapper(path,wrapper){var _path$node=path.node,body=_path$node.body,directives=_path$node.directives;path.node.directives=[];path.node.body=[];var amdFactoryCall=path.pushContainer("body",wrapper)[0].get("expression");var amdFactoryCallArgs=amdFactoryCall.get("arguments");var amdFactory=amdFactoryCallArgs[amdFactoryCallArgs.length-1].get("body");amdFactory.pushContainer("directives",directives);amdFactory.pushContainer("body",body);}var _transformModulesAmd=declare(function(api,options){var _api$assumption,_api$assumption2,_visitor;api.assertVersion("*");var allowTopLevelThis=options.allowTopLevelThis,strict=options.strict,strictMode=options.strictMode,importInterop=options.importInterop,noInterop=options.noInterop;var constantReexports=(_api$assumption=api.assumption("constantReexports"))!=null?_api$assumption:options.loose;var enumerableModuleMeta=(_api$assumption2=api.assumption("enumerableModuleMeta"))!=null?_api$assumption2:options.loose;return{name:"transform-modules-amd",pre:function pre(){this.file.set("@babel/plugin-transform-modules-*","amd");},visitor:(_visitor={},_visitor["CallExpression"+(api.types.importExpression?"|ImportExpression":"")]=function(path,state){if(!this.file.has("@babel/plugin-proposal-dynamic-import"))return;if(path.isCallExpression()&&!path.get("callee").isImport())return;var requireId=state.requireId,resolveId=state.resolveId,rejectId=state.rejectId;if(!requireId){requireId=path.scope.generateUidIdentifier("require");state.requireId=requireId;}if(!resolveId||!rejectId){resolveId=path.scope.generateUidIdentifier("resolve");rejectId=path.scope.generateUidIdentifier("reject");state.resolveId=resolveId;state.rejectId=rejectId;}var result=identifier$j("imported");if(!noInterop){result=wrapInterop(this.file.path,result,"namespace");}path.replaceWith(buildDynamicImport(path.node,false,false,function(specifier){return template$1.expression.ast(_templateObject$h||(_templateObject$h=_taggedTemplateLiteralLoose(["\n              new Promise((",", ",") =>\n                ","(\n                  [","],\n                  imported => ","(","),\n                  ","\n                )\n              )\n            "])),resolveId,rejectId,requireId,specifier,cloneNode$j(resolveId),result,cloneNode$j(rejectId));}));},_visitor.Program={exit:function exit(path,_ref){var requireId=_ref.requireId;if(!isModule(path)){if(requireId){injectWrapper(path,buildAnonymousWrapper({REQUIRE:cloneNode$j(requireId)}));}return;}var amdArgs=[];var importNames=[];if(requireId){amdArgs.push(stringLiteral$8("require"));importNames.push(cloneNode$j(requireId));}var moduleName=getModuleName(this.file.opts,options);if(moduleName)moduleName=stringLiteral$8(moduleName);var _rewriteModuleStateme=rewriteModuleStatementsAndPrepareHeader(path,{enumerableModuleMeta:enumerableModuleMeta,constantReexports:constantReexports,strict:strict,strictMode:strictMode,allowTopLevelThis:allowTopLevelThis,importInterop:importInterop,noInterop:noInterop,filename:this.file.opts.filename}),meta=_rewriteModuleStateme.meta,headers=_rewriteModuleStateme.headers;if(hasExports(meta)){amdArgs.push(stringLiteral$8("exports"));importNames.push(identifier$j(meta.exportName));}for(var _iterator=_createForOfIteratorHelperLoose(meta.source),_step;!(_step=_iterator()).done;){var _step$value=_slicedToArray(_step.value,2),source=_step$value[0],metadata=_step$value[1];amdArgs.push(stringLiteral$8(source));importNames.push(identifier$j(metadata.name));if(!isSideEffectImport(metadata)){var interop=wrapInterop(path,identifier$j(metadata.name),metadata.interop);if(interop){var header=expressionStatement$a(assignmentExpression$d("=",identifier$j(metadata.name),interop));header.loc=metadata.loc;headers.push(header);}}headers.push.apply(headers,_toConsumableArray(buildNamespaceInitStatements(meta,metadata,constantReexports)));}ensureStatementsHoisted(headers);path.unshiftContainer("body",headers);injectWrapper(path,buildWrapper$1({MODULE_NAME:moduleName,AMD_ARGUMENTS:arrayExpression$1(amdArgs),IMPORT_NAMES:importNames}));}},_visitor)};});var _templateObject$g;var requireNoInterop=function requireNoInterop(source){return template$1.expression.ast(_templateObject$g||(_templateObject$g=_taggedTemplateLiteralLoose(["require(",")"])),source);};var requireInterop=function requireInterop(source,file){return callExpression$d(file.addHelper("interopRequireWildcard"),[requireNoInterop(source)]);};function transformDynamicImport(path,noInterop,file){var buildRequire=noInterop?requireNoInterop:requireInterop;path.replaceWith(buildDynamicImport(path.node,true,false,function(specifier){return buildRequire(specifier,file);}));}var _templateObject$f;var lazyImportsHook=function lazyImportsHook(lazy){return{name:"@babel/plugin-transform-modules-commonjs"+"/lazy",version:"7.24.1",getWrapperPayload:function getWrapperPayload(source,metadata){if(isSideEffectImport(metadata)||metadata.reexportAll){return null;}if(lazy===true){return /\./.test(source)?null:"lazy/function";}if(Array.isArray(lazy)){return lazy.indexOf(source)===-1?null:"lazy/function";}if(typeof lazy==="function"){return lazy(source)?"lazy/function":null;}},buildRequireWrapper:function buildRequireWrapper(name,init,payload,referenced){if(payload==="lazy/function"){if(!referenced)return false;return template$1.statement.ast(_templateObject$f||(_templateObject$f=_taggedTemplateLiteralLoose(["\n        function ","() {\n          const data = ",";\n          "," = function(){ return data; };\n          return data;\n        }\n      "])),name,init,name);}},wrapReference:function wrapReference(ref,payload){if(payload==="lazy/function")return callExpression$d(ref,[]);}};};var commonJSHooksKey="@babel/plugin-transform-modules-commonjs/customWrapperPlugin";function defineCommonJSHook(file,hook){var hooks=file.get(commonJSHooksKey);if(!hooks)file.set(commonJSHooksKey,hooks=[]);hooks.push(hook);}function findMap(arr,cb){if(arr){for(var _iterator=_createForOfIteratorHelperLoose(arr),_step;!(_step=_iterator()).done;){var _el=_step.value;var res=cb(_el);if(res!=null)return res;}}}function makeInvokers(file){var hooks=file.get(commonJSHooksKey);return{getWrapperPayload:function getWrapperPayload(){for(var _len=arguments.length,args=new Array(_len),_key=0;_key<_len;_key++){args[_key]=arguments[_key];}return findMap(hooks,function(hook){return hook.getWrapperPayload==null?void 0:hook.getWrapperPayload.apply(hook,args);});},wrapReference:function wrapReference(){for(var _len2=arguments.length,args=new Array(_len2),_key2=0;_key2<_len2;_key2++){args[_key2]=arguments[_key2];}return findMap(hooks,function(hook){return hook.wrapReference==null?void 0:hook.wrapReference.apply(hook,args);});},buildRequireWrapper:function buildRequireWrapper(){for(var _len3=arguments.length,args=new Array(_len3),_key3=0;_key3<_len3;_key3++){args[_key3]=arguments[_key3];}return findMap(hooks,function(hook){return hook.buildRequireWrapper==null?void 0:hook.buildRequireWrapper.apply(hook,args);});}};}var _templateObject$e,_templateObject2$a;var transformModulesCommonJS=declare(function(api,options){var _api$assumption,_api$assumption2,_api$assumption3,_visitor;api.assertVersion("*");var _options$strictNamesp=options.strictNamespace,strictNamespace=_options$strictNamesp===void 0?false:_options$strictNamesp,_options$mjsStrictNam=options.mjsStrictNamespace,mjsStrictNamespace=_options$mjsStrictNam===void 0?strictNamespace:_options$mjsStrictNam,allowTopLevelThis=options.allowTopLevelThis,strict=options.strict,strictMode=options.strictMode,noInterop=options.noInterop,importInterop=options.importInterop,_options$lazy=options.lazy,lazy=_options$lazy===void 0?false:_options$lazy,_options$allowCommonJ=options.allowCommonJSExports,allowCommonJSExports=_options$allowCommonJ===void 0?true:_options$allowCommonJ,_options$loose=options.loose,loose=_options$loose===void 0?false:_options$loose;var constantReexports=(_api$assumption=api.assumption("constantReexports"))!=null?_api$assumption:loose;var enumerableModuleMeta=(_api$assumption2=api.assumption("enumerableModuleMeta"))!=null?_api$assumption2:loose;var noIncompleteNsImportDetection=(_api$assumption3=api.assumption("noIncompleteNsImportDetection"))!=null?_api$assumption3:false;if(typeof lazy!=="boolean"&&typeof lazy!=="function"&&(!Array.isArray(lazy)||!lazy.every(function(item){return typeof item==="string";}))){throw new Error(".lazy must be a boolean, array of strings, or a function");}if(typeof strictNamespace!=="boolean"){throw new Error(".strictNamespace must be a boolean, or undefined");}if(typeof mjsStrictNamespace!=="boolean"){throw new Error(".mjsStrictNamespace must be a boolean, or undefined");}var getAssertion=function getAssertion(localName){return template$1.expression.ast(_templateObject$e||(_templateObject$e=_taggedTemplateLiteralLoose(["\n    (function(){\n      throw new Error(\n        \"The CommonJS '\" + \"","\" + \"' variable is not available in ES6 modules.\" +\n        \"Consider setting setting sourceType:script or sourceType:unambiguous in your \" +\n        \"Babel config for this file.\");\n    })()\n  "])),localName);};var moduleExportsVisitor={ReferencedIdentifier:function ReferencedIdentifier(path){var localName=path.node.name;if(localName!=="module"&&localName!=="exports")return;var localBinding=path.scope.getBinding(localName);var rootBinding=this.scope.getBinding(localName);if(rootBinding!==localBinding||path.parentPath.isObjectProperty({value:path.node})&&path.parentPath.parentPath.isObjectPattern()||path.parentPath.isAssignmentExpression({left:path.node})||path.isAssignmentExpression({left:path.node})){return;}path.replaceWith(getAssertion(localName));},UpdateExpression:function UpdateExpression(path){var arg=path.get("argument");if(!arg.isIdentifier())return;var localName=arg.node.name;if(localName!=="module"&&localName!=="exports")return;var localBinding=path.scope.getBinding(localName);var rootBinding=this.scope.getBinding(localName);if(rootBinding!==localBinding)return;path.replaceWith(assignmentExpression$d(path.node.operator[0]+"=",arg.node,getAssertion(localName)));},AssignmentExpression:function AssignmentExpression(path){var _this=this;var left=path.get("left");if(left.isIdentifier()){var localName=left.node.name;if(localName!=="module"&&localName!=="exports")return;var localBinding=path.scope.getBinding(localName);var rootBinding=this.scope.getBinding(localName);if(rootBinding!==localBinding)return;var right=path.get("right");right.replaceWith(sequenceExpression$8([right.node,getAssertion(localName)]));}else if(left.isPattern()){var ids=left.getOuterBindingIdentifiers();var _localName=Object.keys(ids).filter(function(localName){if(localName!=="module"&&localName!=="exports")return false;return _this.scope.getBinding(localName)===path.scope.getBinding(localName);})[0];if(_localName){var _right=path.get("right");_right.replaceWith(sequenceExpression$8([_right.node,getAssertion(_localName)]));}}}};return{name:"transform-modules-commonjs",pre:function pre(){this.file.set("@babel/plugin-transform-modules-*","commonjs");if(lazy)defineCommonJSHook(this.file,lazyImportsHook(lazy));},visitor:(_visitor={},_visitor["CallExpression"+(api.types.importExpression?"|ImportExpression":"")]=function(path){if(!this.file.has("@babel/plugin-proposal-dynamic-import"))return;if(path.isCallExpression()&&!isImport(path.node.callee))return;var scope=path.scope;do{scope.rename("require");}while(scope=scope.parent);transformDynamicImport(path,noInterop,this.file);},_visitor.Program={exit:function exit(path,state){if(!isModule(path))return;path.scope.rename("exports");path.scope.rename("module");path.scope.rename("require");path.scope.rename("__filename");path.scope.rename("__dirname");if(!allowCommonJSExports){{simplifyAccess(path,new Set(["module","exports"]),false);}path.traverse(moduleExportsVisitor,{scope:path.scope});}var moduleName=getModuleName(this.file.opts,options);if(moduleName)moduleName=stringLiteral$8(moduleName);var hooks=makeInvokers(this.file);var _rewriteModuleStateme=rewriteModuleStatementsAndPrepareHeader(path,{exportName:"exports",constantReexports:constantReexports,enumerableModuleMeta:enumerableModuleMeta,strict:strict,strictMode:strictMode,allowTopLevelThis:allowTopLevelThis,noInterop:noInterop,importInterop:importInterop,wrapReference:hooks.wrapReference,getWrapperPayload:hooks.getWrapperPayload,esNamespaceOnly:typeof state.filename==="string"&&/\.mjs$/.test(state.filename)?mjsStrictNamespace:strictNamespace,noIncompleteNsImportDetection:noIncompleteNsImportDetection,filename:this.file.opts.filename}),meta=_rewriteModuleStateme.meta,headers=_rewriteModuleStateme.headers;for(var _iterator=_createForOfIteratorHelperLoose(meta.source),_step;!(_step=_iterator()).done;){var _step$value=_slicedToArray(_step.value,2),source=_step$value[0],metadata=_step$value[1];var loadExpr=callExpression$d(identifier$j("require"),[stringLiteral$8(source)]);var header=void 0;if(isSideEffectImport(metadata)){if(lazy&&metadata.wrap==="function"){throw new Error("Assertion failure");}header=expressionStatement$a(loadExpr);}else{var _header;var init=wrapInterop(path,loadExpr,metadata.interop)||loadExpr;if(metadata.wrap){var res=hooks.buildRequireWrapper(metadata.name,init,metadata.wrap,metadata.referenced);if(res===false)continue;else header=res;}(_header=header)!=null?_header:header=template$1.statement.ast(_templateObject2$a||(_templateObject2$a=_taggedTemplateLiteralLoose(["\n                var "," = ",";\n              "])),metadata.name,init);}header.loc=metadata.loc;headers.push(header);headers.push.apply(headers,_toConsumableArray(buildNamespaceInitStatements(meta,metadata,constantReexports,hooks.wrapReference)));}ensureStatementsHoisted(headers);path.unshiftContainer("body",headers);path.get("body").forEach(function(path){if(headers.indexOf(path.node)===-1)return;if(path.isVariableDeclaration()){path.scope.registerDeclaration(path);}});}},_visitor)};});var buildTemplate=template$1.statement("\n  SYSTEM_REGISTER(MODULE_NAME, SOURCES, function (EXPORT_IDENTIFIER, CONTEXT_IDENTIFIER) {\n    \"use strict\";\n    BEFORE_BODY;\n    return {\n      setters: SETTERS,\n      execute: EXECUTE,\n    };\n  });\n");var buildExportAll=template$1.statement("\n  for (var KEY in TARGET) {\n    if (KEY !== \"default\" && KEY !== \"__esModule\") EXPORT_OBJ[KEY] = TARGET[KEY];\n  }\n");var MISSING_PLUGIN_WARNING="WARNING: Dynamic import() transformation must be enabled using the\n         @babel/plugin-transform-dynamic-import plugin. Babel 8 will\n         no longer transform import() without using that plugin.\n";var MISSING_PLUGIN_ERROR="ERROR: Dynamic import() transformation must be enabled using the\n       @babel/plugin-transform-dynamic-import plugin. Babel 8\n       no longer transforms import() without using that plugin.\n";function getExportSpecifierName(node,stringSpecifiers){if(node.type==="Identifier"){return node.name;}else if(node.type==="StringLiteral"){var stringValue=node.value;if(!isIdentifierName(stringValue)){stringSpecifiers.add(stringValue);}return stringValue;}else{throw new Error("Expected export specifier to be either Identifier or StringLiteral, got "+node.type);}}function constructExportCall(path,exportIdent,exportNames,exportValues,exportStarTarget,stringSpecifiers){var statements=[];if(!exportStarTarget){if(exportNames.length===1){statements.push(expressionStatement$a(callExpression$d(exportIdent,[stringLiteral$8(exportNames[0]),exportValues[0]])));}else{var objectProperties=[];for(var i=0;i<exportNames.length;i++){var exportName=exportNames[i];var exportValue=exportValues[i];objectProperties.push(objectProperty$1(stringSpecifiers.has(exportName)?stringLiteral$8(exportName):identifier$j(exportName),exportValue));}statements.push(expressionStatement$a(callExpression$d(exportIdent,[objectExpression$3(objectProperties)])));}}else{var exportObj=path.scope.generateUid("exportObj");statements.push(variableDeclaration$8("var",[variableDeclarator$8(identifier$j(exportObj),objectExpression$3([]))]));statements.push(buildExportAll({KEY:path.scope.generateUidIdentifier("key"),EXPORT_OBJ:identifier$j(exportObj),TARGET:exportStarTarget}));for(var _i=0;_i<exportNames.length;_i++){var _exportName=exportNames[_i];var _exportValue=exportValues[_i];statements.push(expressionStatement$a(assignmentExpression$d("=",memberExpression$c(identifier$j(exportObj),identifier$j(_exportName)),_exportValue)));}statements.push(expressionStatement$a(callExpression$d(exportIdent,[identifier$j(exportObj)])));}return statements;}var _transformModulesSystemjs=declare(function(api,options){var _visitor;api.assertVersion("*");var _options$systemGlobal=options.systemGlobal,systemGlobal=_options$systemGlobal===void 0?"System":_options$systemGlobal,_options$allowTopLeve=options.allowTopLevelThis,allowTopLevelThis=_options$allowTopLeve===void 0?false:_options$allowTopLeve;var reassignmentVisited=new WeakSet();var reassignmentVisitor={"AssignmentExpression|UpdateExpression":function AssignmentExpressionUpdateExpression(path){if(reassignmentVisited.has(path.node))return;reassignmentVisited.add(path.node);var arg=path.isAssignmentExpression()?path.get("left"):path.get("argument");if(arg.isObjectPattern()||arg.isArrayPattern()){var exprs=[path.node];for(var _i2=0,_Object$keys=Object.keys(arg.getBindingIdentifiers());_i2<_Object$keys.length;_i2++){var _name=_Object$keys[_i2];if(this.scope.getBinding(_name)!==path.scope.getBinding(_name)){return;}var _exportedNames=this.exports[_name];if(!_exportedNames)continue;for(var _iterator=_createForOfIteratorHelperLoose(_exportedNames),_step;!(_step=_iterator()).done;){var exportedName=_step.value;exprs.push(this.buildCall(exportedName,identifier$j(_name)).expression);}}path.replaceWith(sequenceExpression$8(exprs));return;}if(!arg.isIdentifier())return;var name=arg.node.name;if(this.scope.getBinding(name)!==path.scope.getBinding(name))return;var exportedNames=this.exports[name];if(!exportedNames)return;var node=path.node;var isPostUpdateExpression=isUpdateExpression$1(node,{prefix:false});if(isPostUpdateExpression){node=binaryExpression$5(node.operator[0],unaryExpression$6("+",cloneNode$j(node.argument)),numericLiteral$8(1));}for(var _iterator2=_createForOfIteratorHelperLoose(exportedNames),_step2;!(_step2=_iterator2()).done;){var _exportedName=_step2.value;node=this.buildCall(_exportedName,node).expression;}if(isPostUpdateExpression){node=sequenceExpression$8([node,path.node]);}path.replaceWith(node);}};return{name:"transform-modules-systemjs",pre:function pre(){this.file.set("@babel/plugin-transform-modules-*","systemjs");},visitor:(_visitor={},_visitor["CallExpression"+(api.types.importExpression?"|ImportExpression":"")]=function(path,state){if(path.isCallExpression()&&!isImport(path.node.callee))return;if(path.isCallExpression()){if(!this.file.has("@babel/plugin-proposal-dynamic-import")){{console.warn(MISSING_PLUGIN_WARNING);}}}else{if(!this.file.has("@babel/plugin-proposal-dynamic-import")){throw new Error(MISSING_PLUGIN_ERROR);}}path.replaceWith(buildDynamicImport(path.node,false,true,function(specifier){return callExpression$d(memberExpression$c(identifier$j(state.contextIdent),identifier$j("import")),[specifier]);}));},_visitor.MetaProperty=function MetaProperty(path,state){if(path.node.meta.name==="import"&&path.node.property.name==="meta"){path.replaceWith(memberExpression$c(identifier$j(state.contextIdent),identifier$j("meta")));}},_visitor.ReferencedIdentifier=function ReferencedIdentifier(path,state){if(path.node.name==="__moduleName"&&!path.scope.hasBinding("__moduleName")){path.replaceWith(memberExpression$c(identifier$j(state.contextIdent),identifier$j("id")));}},_visitor.Program={enter:function enter(path,state){state.contextIdent=path.scope.generateUid("context");state.stringSpecifiers=new Set();if(!allowTopLevelThis){rewriteThis(path);}},exit:function exit(path,state){var scope=path.scope;var exportIdent=scope.generateUid("export");var contextIdent=state.contextIdent,stringSpecifiers=state.stringSpecifiers;var exportMap=Object.create(null);var modules=[];var beforeBody=[];var setters=[];var sources=[];var variableIds=[];var removedPaths=[];function addExportName(key,val){exportMap[key]=exportMap[key]||[];exportMap[key].push(val);}function pushModule(source,key,specifiers){var module;modules.forEach(function(m){if(m.key===source){module=m;}});if(!module){modules.push(module={key:source,imports:[],exports:[]});}module[key]=module[key].concat(specifiers);}function buildExportCall(name,val){return expressionStatement$a(callExpression$d(identifier$j(exportIdent),[stringLiteral$8(name),val]));}var exportNames=[];var exportValues=[];var body=path.get("body");for(var _iterator3=_createForOfIteratorHelperLoose(body),_step3;!(_step3=_iterator3()).done;){var _path2=_step3.value;if(_path2.isFunctionDeclaration()){beforeBody.push(_path2.node);removedPaths.push(_path2);}else if(_path2.isClassDeclaration()){variableIds.push(cloneNode$j(_path2.node.id));_path2.replaceWith(expressionStatement$a(assignmentExpression$d("=",cloneNode$j(_path2.node.id),toExpression$1(_path2.node))));}else if(_path2.isVariableDeclaration()){_path2.node.kind="var";}else if(_path2.isImportDeclaration()){var source=_path2.node.source.value;pushModule(source,"imports",_path2.node.specifiers);for(var _i4=0,_Object$keys2=Object.keys(_path2.getBindingIdentifiers());_i4<_Object$keys2.length;_i4++){var _name2=_Object$keys2[_i4];scope.removeBinding(_name2);variableIds.push(identifier$j(_name2));}_path2.remove();}else if(_path2.isExportAllDeclaration()){pushModule(_path2.node.source.value,"exports",_path2.node);_path2.remove();}else if(_path2.isExportDefaultDeclaration()){var declar=_path2.node.declaration;if(isClassDeclaration$2(declar)){var id=declar.id;if(id){exportNames.push("default");exportValues.push(scope.buildUndefinedNode());variableIds.push(cloneNode$j(id));addExportName(id.name,"default");_path2.replaceWith(expressionStatement$a(assignmentExpression$d("=",cloneNode$j(id),toExpression$1(declar))));}else{exportNames.push("default");exportValues.push(toExpression$1(declar));removedPaths.push(_path2);}}else if(isFunctionDeclaration$2(declar)){var _id=declar.id;if(_id){beforeBody.push(declar);exportNames.push("default");exportValues.push(cloneNode$j(_id));addExportName(_id.name,"default");}else{exportNames.push("default");exportValues.push(toExpression$1(declar));}removedPaths.push(_path2);}else{_path2.replaceWith(buildExportCall("default",declar));}}else if(_path2.isExportNamedDeclaration()){var _declar=_path2.node.declaration;if(_declar){_path2.replaceWith(_declar);if(isFunction$5(_declar)){var _name3=_declar.id.name;addExportName(_name3,_name3);beforeBody.push(_declar);exportNames.push(_name3);exportValues.push(cloneNode$j(_declar.id));removedPaths.push(_path2);}else if(isClass$1(_declar)){var _name4=_declar.id.name;exportNames.push(_name4);exportValues.push(scope.buildUndefinedNode());variableIds.push(cloneNode$j(_declar.id));_path2.replaceWith(expressionStatement$a(assignmentExpression$d("=",cloneNode$j(_declar.id),toExpression$1(_declar))));addExportName(_name4,_name4);}else{if(isVariableDeclaration$4(_declar)){_declar.kind="var";}for(var _i5=0,_Object$keys3=Object.keys(getBindingIdentifiers$4(_declar));_i5<_Object$keys3.length;_i5++){var _name5=_Object$keys3[_i5];addExportName(_name5,_name5);}}}else{var specifiers=_path2.node.specifiers;if(specifiers!=null&&specifiers.length){if(_path2.node.source){pushModule(_path2.node.source.value,"exports",specifiers);_path2.remove();}else{var nodes=[];for(var _iterator7=_createForOfIteratorHelperLoose(specifiers),_step7;!(_step7=_iterator7()).done;){var specifier=_step7.value;var local=specifier.local,exported=specifier.exported;var binding=scope.getBinding(local.name);var exportedName=getExportSpecifierName(exported,stringSpecifiers);if(binding&&isFunctionDeclaration$2(binding.path.node)){exportNames.push(exportedName);exportValues.push(cloneNode$j(local));}else if(!binding){nodes.push(buildExportCall(exportedName,local));}addExportName(local.name,exportedName);}_path2.replaceWithMultiple(nodes);}}else{_path2.remove();}}}}modules.forEach(function(specifiers){var setterBody=[];var target=scope.generateUid(specifiers.key);for(var _iterator4=_createForOfIteratorHelperLoose(specifiers.imports),_step4;!(_step4=_iterator4()).done;){var specifier=_step4.value;if(isImportNamespaceSpecifier$1(specifier)){setterBody.push(expressionStatement$a(assignmentExpression$d("=",specifier.local,identifier$j(target))));}else if(isImportDefaultSpecifier$1(specifier)){specifier=importSpecifier$2(specifier.local,identifier$j("default"));}if(isImportSpecifier$1(specifier)){var _specifier=specifier,imported=_specifier.imported;setterBody.push(expressionStatement$a(assignmentExpression$d("=",specifier.local,memberExpression$c(identifier$j(target),specifier.imported,imported.type==="StringLiteral"))));}}if(specifiers.exports.length){var _exportNames=[];var _exportValues=[];var hasExportStar=false;for(var _iterator5=_createForOfIteratorHelperLoose(specifiers.exports),_step5;!(_step5=_iterator5()).done;){var node=_step5.value;if(isExportAllDeclaration$1(node)){hasExportStar=true;}else if(isExportSpecifier(node)){var exportedName=getExportSpecifierName(node.exported,stringSpecifiers);_exportNames.push(exportedName);_exportValues.push(memberExpression$c(identifier$j(target),node.local,isStringLiteral$5(node.local)));}else;}setterBody.push.apply(setterBody,_toConsumableArray(constructExportCall(path,identifier$j(exportIdent),_exportNames,_exportValues,hasExportStar?identifier$j(target):null,stringSpecifiers)));}sources.push(stringLiteral$8(specifiers.key));setters.push(functionExpression$2(null,[identifier$j(target)],blockStatement$6(setterBody)));});var moduleName=getModuleName(this.file.opts,options);if(moduleName)moduleName=stringLiteral$8(moduleName);hoistVariables(path,function(id,name,hasInit){variableIds.push(id);if(!hasInit&&name in exportMap){for(var _iterator6=_createForOfIteratorHelperLoose(exportMap[name]),_step6;!(_step6=_iterator6()).done;){var exported=_step6.value;exportNames.push(exported);exportValues.push(scope.buildUndefinedNode());}}});if(variableIds.length){beforeBody.unshift(variableDeclaration$8("var",variableIds.map(function(id){return variableDeclarator$8(id);})));}if(exportNames.length){beforeBody.push.apply(beforeBody,_toConsumableArray(constructExportCall(path,identifier$j(exportIdent),exportNames,exportValues,null,stringSpecifiers)));}path.traverse(reassignmentVisitor,{exports:exportMap,buildCall:buildExportCall,scope:scope});for(var _i3=0,_removedPaths=removedPaths;_i3<_removedPaths.length;_i3++){var _path=_removedPaths[_i3];_path.remove();}var hasTLA=false;path.traverse({AwaitExpression:function AwaitExpression(path){hasTLA=true;path.stop();},Function:function Function(path){path.skip();},noScope:true});path.node.body=[buildTemplate({SYSTEM_REGISTER:memberExpression$c(identifier$j(systemGlobal),identifier$j("register")),BEFORE_BODY:beforeBody,MODULE_NAME:moduleName,SETTERS:arrayExpression$1(setters),EXECUTE:functionExpression$2(null,[],blockStatement$6(path.node.body),false,hasTLA),SOURCES:arrayExpression$1(sources),EXPORT_IDENTIFIER:identifier$j(exportIdent),CONTEXT_IDENTIFIER:identifier$j(contextIdent)})];path.requeue(path.get("body.0"));}},_visitor)};});var buildPrerequisiteAssignment=template$1("\n  GLOBAL_REFERENCE = GLOBAL_REFERENCE || {}\n");var buildWrapper=template$1("\n  (function (global, factory) {\n    if (typeof define === \"function\" && define.amd) {\n      define(MODULE_NAME, AMD_ARGUMENTS, factory);\n    } else if (typeof exports !== \"undefined\") {\n      factory(COMMONJS_ARGUMENTS);\n    } else {\n      var mod = { exports: {} };\n      factory(BROWSER_ARGUMENTS);\n\n      GLOBAL_TO_ASSIGN;\n    }\n  })(\n    typeof globalThis !== \"undefined\" ? globalThis\n      : typeof self !== \"undefined\" ? self\n      : this,\n    function(IMPORT_NAMES) {\n  })\n");var _transformModulesUmd=declare(function(api,options){var _api$assumption,_api$assumption2;api.assertVersion("*");var globals=options.globals,exactGlobals=options.exactGlobals,allowTopLevelThis=options.allowTopLevelThis,strict=options.strict,strictMode=options.strictMode,noInterop=options.noInterop,importInterop=options.importInterop;var constantReexports=(_api$assumption=api.assumption("constantReexports"))!=null?_api$assumption:options.loose;var enumerableModuleMeta=(_api$assumption2=api.assumption("enumerableModuleMeta"))!=null?_api$assumption2:options.loose;function buildBrowserInit(browserGlobals,exactGlobals,filename,moduleName){var moduleNameOrBasename=moduleName?moduleName.value:basename(filename,extname(filename));var globalToAssign=memberExpression$c(identifier$j("global"),identifier$j(toIdentifier$1(moduleNameOrBasename)));var initAssignments=[];if(exactGlobals){var globalName=browserGlobals[moduleNameOrBasename];if(globalName){initAssignments=[];var members=globalName.split(".");globalToAssign=members.slice(1).reduce(function(accum,curr){initAssignments.push(buildPrerequisiteAssignment({GLOBAL_REFERENCE:cloneNode$j(accum)}));return memberExpression$c(accum,identifier$j(curr));},memberExpression$c(identifier$j("global"),identifier$j(members[0])));}}initAssignments.push(expressionStatement$a(assignmentExpression$d("=",globalToAssign,memberExpression$c(identifier$j("mod"),identifier$j("exports")))));return initAssignments;}function buildBrowserArg(browserGlobals,exactGlobals,source){var memberExpression;if(exactGlobals){var globalRef=browserGlobals[source];if(globalRef){memberExpression=globalRef.split(".").reduce(function(accum,curr){return memberExpression$c(accum,identifier$j(curr));},identifier$j("global"));}else{memberExpression=memberExpression$c(identifier$j("global"),identifier$j(toIdentifier$1(source)));}}else{var requireName=basename(source,extname(source));var globalName=browserGlobals[requireName]||requireName;memberExpression=memberExpression$c(identifier$j("global"),identifier$j(toIdentifier$1(globalName)));}return memberExpression;}return{name:"transform-modules-umd",visitor:{Program:{exit:function exit(path){if(!isModule(path))return;var browserGlobals=globals||{};var moduleName=getModuleName(this.file.opts,options);var moduleNameLiteral;if(moduleName)moduleNameLiteral=stringLiteral$8(moduleName);var _rewriteModuleStateme=rewriteModuleStatementsAndPrepareHeader(path,{constantReexports:constantReexports,enumerableModuleMeta:enumerableModuleMeta,strict:strict,strictMode:strictMode,allowTopLevelThis:allowTopLevelThis,noInterop:noInterop,importInterop:importInterop,filename:this.file.opts.filename}),meta=_rewriteModuleStateme.meta,headers=_rewriteModuleStateme.headers;var amdArgs=[];var commonjsArgs=[];var browserArgs=[];var importNames=[];if(hasExports(meta)){amdArgs.push(stringLiteral$8("exports"));commonjsArgs.push(identifier$j("exports"));browserArgs.push(memberExpression$c(identifier$j("mod"),identifier$j("exports")));importNames.push(identifier$j(meta.exportName));}for(var _iterator=_createForOfIteratorHelperLoose(meta.source),_step;!(_step=_iterator()).done;){var _step$value=_slicedToArray(_step.value,2),source=_step$value[0],metadata=_step$value[1];amdArgs.push(stringLiteral$8(source));commonjsArgs.push(callExpression$d(identifier$j("require"),[stringLiteral$8(source)]));browserArgs.push(buildBrowserArg(browserGlobals,exactGlobals,source));importNames.push(identifier$j(metadata.name));if(!isSideEffectImport(metadata)){var interop=wrapInterop(path,identifier$j(metadata.name),metadata.interop);if(interop){var header=expressionStatement$a(assignmentExpression$d("=",identifier$j(metadata.name),interop));header.loc=meta.loc;headers.push(header);}}headers.push.apply(headers,_toConsumableArray(buildNamespaceInitStatements(meta,metadata,constantReexports)));}ensureStatementsHoisted(headers);path.unshiftContainer("body",headers);var _path$node=path.node,body=_path$node.body,directives=_path$node.directives;path.node.directives=[];path.node.body=[];var umdWrapper=path.pushContainer("body",[buildWrapper({MODULE_NAME:moduleNameLiteral,AMD_ARGUMENTS:arrayExpression$1(amdArgs),COMMONJS_ARGUMENTS:commonjsArgs,BROWSER_ARGUMENTS:browserArgs,IMPORT_NAMES:importNames,GLOBAL_TO_ASSIGN:buildBrowserInit(browserGlobals,exactGlobals,this.filename||"unknown",moduleNameLiteral)})])[0];var umdFactory=umdWrapper.get("expression.arguments")[1].get("body");umdFactory.pushContainer("directives",directives);umdFactory.pushContainer("body",body);}}}};});var _transformNamedCapturingGroupsRegex=declare(function(api,options){var runtime=options.runtime;if(runtime!==undefined&&typeof runtime!=="boolean"){throw new Error("The 'runtime' option must be boolean");}return createRegExpFeaturePlugin({name:"transform-named-capturing-groups-regex",feature:"namedCaptureGroups",options:{runtime:runtime}});});var _transformNewTarget=declare(function(api){api.assertVersion("*");return{name:"transform-new-target",visitor:{MetaProperty:function MetaProperty(path){var meta=path.get("meta");var property=path.get("property");var scope=path.scope;if(meta.isIdentifier({name:"new"})&&property.isIdentifier({name:"target"})){var func=path.findParent(function(path){if(path.isClass())return true;if(path.isFunction()&&!path.isArrowFunctionExpression()){if(path.isClassMethod({kind:"constructor"})){return false;}return true;}return false;});if(!func){throw path.buildCodeFrameError("new.target must be under a (non-arrow) function or a class.");}var node=func.node;if(isMethod$1(node)){path.replaceWith(scope.buildUndefinedNode());return;}var _constructor=memberExpression$c(thisExpression$4(),identifier$j("constructor"));if(func.isClass()){path.replaceWith(_constructor);return;}if(!node.id){node.id=scope.generateUidIdentifier("target");}else{var _scope=path.scope;var name=node.id.name;while(_scope!==func.parentPath.scope){if(_scope.hasOwnBinding(name)&&!_scope.bindingIdentifierEquals(name,node.id)){_scope.rename(name);}_scope=_scope.parent;}}path.replaceWith(conditionalExpression$5(binaryExpression$5("instanceof",thisExpression$4(),cloneNode$j(node.id)),_constructor,scope.buildUndefinedNode()));}}}};});var transformObjectAssign=declare(function(api){api.assertVersion("*");return{name:"transform-object-assign",visitor:{CallExpression:function CallExpression(path,file){if(path.get("callee").matchesPattern("Object.assign")){path.node.callee=file.addHelper("extends");}}}};});function replacePropertySuper(path,getObjectRef,file){var replaceSupers=new ReplaceSupers({getObjectRef:getObjectRef,methodPath:path,file:file});replaceSupers.replace();}var _transformObjectSuper=declare(function(api){api.assertVersion("*");var newLets=new Set();return{name:"transform-object-super",visitor:{Loop:{exit:function exit(path){newLets.forEach(function(v){if(v.scopePath===path){path.scope.push({id:v.id,kind:"let"});path.scope.crawl();path.requeue();newLets["delete"](v);}});}},ObjectExpression:function ObjectExpression(path,state){var objectRef;var getObjectRef=function getObjectRef(){return objectRef=objectRef||path.scope.generateUidIdentifier("obj");};path.get("properties").forEach(function(propPath){if(!propPath.isMethod())return;replacePropertySuper(propPath,getObjectRef,state.file);});if(objectRef){var scopePath=path.findParent(function(p){return p.isFunction()||p.isProgram()||p.isLoop();});var useLet=scopePath.isLoop();if(useLet){newLets.add({scopePath:scopePath,id:cloneNode$j(objectRef)});}else{path.scope.push({id:cloneNode$j(objectRef),kind:"var"});}path.replaceWith(assignmentExpression$d("=",cloneNode$j(objectRef),path.node));}}}};});var transformObjectSetPrototypeOfToAssign=declare(function(api){api.assertVersion("*");return{name:"transform-object-set-prototype-of-to-assign",visitor:{CallExpression:function CallExpression(path,file){if(path.get("callee").matchesPattern("Object.setPrototypeOf")){path.node.callee=file.addHelper("defaults");}}}};});var _transformPropertyLiterals=declare(function(api){api.assertVersion("*");return{name:"transform-property-literals",visitor:{ObjectProperty:{exit:function exit(_ref){var node=_ref.node;var key=node.key;if(!node.computed&&isIdentifier$j(key)&&!isValidES3Identifier(key.name)){node.key=stringLiteral$8(key.name);}}}}};});function pushAccessor(mutatorMap,node){var _mutatorMap$alias;var alias=toKeyAlias(node);var map=(_mutatorMap$alias=mutatorMap[alias])!=null?_mutatorMap$alias:mutatorMap[alias]={_inherits:[],_key:node.key};map._inherits.push(node);var value=functionExpression$2(null,node.params,node.body,node.generator,node.async);value.returnType=node.returnType;inheritsComments$1(value,node);map[node.kind]=value;return map;}function toDefineObject(mutatorMap){var objExpr=objectExpression$3([]);Object.keys(mutatorMap).forEach(function(mutatorMapKey){var map=mutatorMap[mutatorMapKey];map.configurable=booleanLiteral$4(true);map.enumerable=booleanLiteral$4(true);var mapNode=objectExpression$3([]);var propNode=objectProperty$1(map._key,mapNode,map._computed);Object.keys(map).forEach(function(key){var node=map[key];if(key[0]==="_")return;var prop=objectProperty$1(identifier$j(key),node);inheritsComments$1(prop,node);removeComments$1(node);mapNode.properties.push(prop);});objExpr.properties.push(propNode);});return objExpr;}var transformPropertyMutators=declare(function(api){api.assertVersion("*");return{name:"transform-property-mutators",visitor:{ObjectExpression:function ObjectExpression(path){var node=path.node;var mutatorMap;var newProperties=node.properties.filter(function(prop){if(isObjectMethod$1(prop)&&!prop.computed&&(prop.kind==="get"||prop.kind==="set")){var _mutatorMap;pushAccessor((_mutatorMap=mutatorMap)!=null?_mutatorMap:mutatorMap={},prop);return false;}return true;});if(mutatorMap===undefined){return;}node.properties=newProperties;path.replaceWith(callExpression$d(memberExpression$c(identifier$j("Object"),identifier$j("defineProperties")),[node,toDefineObject(mutatorMap)]));}}};});var transformProtoToAssign=declare(function(api){api.assertVersion("*");function isProtoKey(node){return!isSpreadElement$1(node)&&isStringLiteral$5(toComputedKey$2(node,node.key),{value:"__proto__"});}function isProtoAssignmentExpression(node){var left=node;return isMemberExpression$9(left)&&isStringLiteral$5(toComputedKey$2(left,left.property),{value:"__proto__"});}function buildDefaultsCallExpression(expr,ref,file){return expressionStatement$a(callExpression$d(file.addHelper("defaults"),[ref,expr.right]));}return{name:"transform-proto-to-assign",visitor:{AssignmentExpression:function AssignmentExpression(path,_ref){var file=_ref.file;if(!isProtoAssignmentExpression(path.node.left))return;var nodes=[];var left=path.node.left.object;var temp=path.scope.maybeGenerateMemoised(left);if(temp){nodes.push(expressionStatement$a(assignmentExpression$d("=",temp,left)));}nodes.push(buildDefaultsCallExpression(path.node,cloneNode$j(temp||left),file));if(temp)nodes.push(cloneNode$j(temp));path.replaceWithMultiple(nodes);},ExpressionStatement:function ExpressionStatement(path,_ref2){var file=_ref2.file;var expr=path.node.expression;if(!isAssignmentExpression$3(expr,{operator:"="}))return;if(isProtoAssignmentExpression(expr.left)){path.replaceWith(buildDefaultsCallExpression(expr,expr.left.object,file));}},ObjectExpression:function ObjectExpression(path,_ref3){var file=_ref3.file;var proto;var node=path.node;var properties=node.properties;for(var i=0;i<properties.length;i++){var prop=properties[i];if(isProtoKey(prop)){proto=prop.value;properties.splice(i,1);break;}}if(proto){var args=[objectExpression$3([]),proto];if(node.properties.length)args.push(node);path.replaceWith(callExpression$d(file.addHelper("extends"),args));}}}};});var _templateObject$d;var transformReactConstantElements=declare(function(api,options){api.assertVersion("*");var allowMutablePropsOnTags=options.allowMutablePropsOnTags;if(allowMutablePropsOnTags!=null&&!Array.isArray(allowMutablePropsOnTags)){throw new Error(".allowMutablePropsOnTags must be an array, null, or undefined.");}var HOISTED=new WeakMap();function declares(node,scope){if(isJSXIdentifier$3(node,{name:"this"})||isJSXIdentifier$3(node,{name:"arguments"})||isJSXIdentifier$3(node,{name:"super"})||isJSXIdentifier$3(node,{name:"new"})){var path=scope.path;return path.isFunctionParent()&&!path.isArrowFunctionExpression();}return scope.hasOwnBinding(node.name);}function isHoistingScope(_ref){var path=_ref.path;return path.isFunctionParent()||path.isLoop()||path.isProgram();}function getHoistingScope(scope){while(!isHoistingScope(scope))scope=scope.parent;return scope;}var targetScopeVisitor={ReferencedIdentifier:function ReferencedIdentifier(path,state){var node=path.node;var scope=path.scope;while(scope!==state.jsxScope){if(declares(node,scope))return;scope=scope.parent;}while(scope){if(scope===state.targetScope)return;if(declares(node,scope))break;scope=scope.parent;}state.targetScope=getHoistingScope(scope);}};var immutabilityVisitor={enter:function enter(path,state){var _expressionResult$deo;var stop=function stop(){state.isImmutable=false;path.stop();};var skip=function skip(){path.skip();};if(path.isJSXClosingElement()){skip();return;}if(path.isJSXIdentifier({name:"ref"})&&path.parentPath.isJSXAttribute({name:path.node})){stop();return;}if(path.isJSXIdentifier()||path.isJSXMemberExpression()||path.isJSXNamespacedName()||path.isImmutable()){return;}if(path.isIdentifier()){var binding=path.scope.getBinding(path.node.name);if(binding&&binding.constant)return;}var mutablePropsAllowed=state.mutablePropsAllowed;if(mutablePropsAllowed&&path.isFunction()){path.traverse(targetScopeVisitor,state);skip();return;}if(!path.isPure()){stop();return;}var expressionResult=path.evaluate();if(expressionResult.confident){var value=expressionResult.value;if(mutablePropsAllowed||value===null||_typeof(value)!=="object"&&typeof value!=="function"){skip();return;}}else if((_expressionResult$deo=expressionResult.deopt)!=null&&_expressionResult$deo.isIdentifier()){return;}stop();}};var hoistingVisitor=Object.assign({},immutabilityVisitor,targetScopeVisitor);return{name:"transform-react-constant-elements",visitor:{JSXElement:function JSXElement(path){var _jsxScope;if(HOISTED.has(path.node))return;var name=path.node.openingElement.name;var mutablePropsAllowed=false;if(allowMutablePropsOnTags!=null){var lastSegment=name;while(isJSXMemberExpression$2(lastSegment)){lastSegment=lastSegment.property;}var elementName=lastSegment.name;mutablePropsAllowed=allowMutablePropsOnTags.includes(elementName);}var jsxScope;var current=path;while(!jsxScope&&current.parentPath.isJSX()){current=current.parentPath;jsxScope=HOISTED.get(current.node);}(_jsxScope=jsxScope)!=null?_jsxScope:jsxScope=path.scope;HOISTED.set(path.node,jsxScope);var visitorState={isImmutable:true,mutablePropsAllowed:mutablePropsAllowed,jsxScope:jsxScope,targetScope:path.scope.getProgramParent()};path.traverse(hoistingVisitor,visitorState);if(!visitorState.isImmutable)return;var targetScope=visitorState.targetScope;for(var currentScope=jsxScope;;){if(targetScope===currentScope)return;if(isHoistingScope(currentScope))break;currentScope=currentScope.parent;if(!currentScope){throw new Error("Internal @babel/plugin-transform-react-constant-elements error: "+"targetScope must be an ancestor of jsxScope. "+"This is a Babel bug, please report it.");}}var id=path.scope.generateUidBasedOnNode(name);targetScope.push({id:identifier$j(id)});HOISTED.set(path.node,targetScope);var replacement=template$1.expression.ast(_templateObject$d||(_templateObject$d=_taggedTemplateLiteralLoose(["\n          "," || ("," = ",")\n        "])),identifier$j(id),identifier$j(id),path.node);if(path.parentPath.isJSXElement()||path.parentPath.isJSXAttribute()){replacement=jsxExpressionContainer$1(replacement);}path.replaceWith(replacement);}}};});var transformReactDisplayName=declare(function(api){api.assertVersion("*");function addDisplayName(id,call){var props=call.arguments[0].properties;var safe=true;for(var i=0;i<props.length;i++){var prop=props[i];if(isSpreadElement$1(prop)){continue;}var key=toComputedKey$2(prop);if(isStringLiteral$5(key,{value:"displayName"})){safe=false;break;}}if(safe){props.unshift(objectProperty$1(identifier$j("displayName"),stringLiteral$8(id)));}}var isCreateClassCallExpression=buildMatchMemberExpression$1("React.createClass");var isCreateClassAddon=function isCreateClassAddon(callee){return isIdentifier$j(callee,{name:"createReactClass"});};function isCreateClass(node){if(!node||!isCallExpression$8(node))return false;if(!isCreateClassCallExpression(node.callee)&&!isCreateClassAddon(node.callee)){return false;}var args=node.arguments;if(args.length!==1)return false;var first=args[0];if(!isObjectExpression$3(first))return false;return true;}return{name:"transform-react-display-name",visitor:{ExportDefaultDeclaration:function ExportDefaultDeclaration(_ref,state){var node=_ref.node;if(isCreateClass(node.declaration)){var filename=state.filename||"unknown";var displayName=path$1.basename(filename,path$1.extname(filename));if(displayName==="index"){displayName=path$1.basename(path$1.dirname(filename));}addDisplayName(displayName,node.declaration);}},CallExpression:function CallExpression(path){var node=path.node;if(!isCreateClass(node))return;var id;path.find(function(path){if(path.isAssignmentExpression()){id=path.node.left;}else if(path.isObjectProperty()){id=path.node.key;}else if(path.isVariableDeclarator()){id=path.node.id;}else if(path.isStatement()){return true;}if(id)return true;});if(!id)return;if(isMemberExpression$9(id)){id=id.property;}if(isIdentifier$j(id)){addDisplayName(id.name,node);}}}};});var booleanLiteral=booleanLiteral$4,callExpression=callExpression$d,identifier=identifier$j,inherits=inherits$3,isIdentifier=isIdentifier$j,isJSXExpressionContainer=isJSXExpressionContainer$1,isJSXIdentifier=isJSXIdentifier$3,isJSXMemberExpression=isJSXMemberExpression$2,isJSXNamespacedName=isJSXNamespacedName$1,isJSXSpreadAttribute=isJSXSpreadAttribute$1,isObjectExpression=isObjectExpression$3,isReferenced=isReferenced$2,isStringLiteral=isStringLiteral$5,isValidIdentifier=isValidIdentifier$1,memberExpression=memberExpression$c,nullLiteral=nullLiteral$2,objectExpression=objectExpression$3,objectProperty=objectProperty$1,react=react$3,spreadElement=spreadElement$2,stringLiteral=stringLiteral$8,thisExpression=thisExpression$4;function helper(opts){var visitor={};visitor.JSXNamespacedName=function(path){if(opts.throwIfNamespace){throw path.buildCodeFrameError("Namespace tags are not supported by default. React's JSX doesn't support namespace tags. You can set `throwIfNamespace: false` to bypass this warning.");}};visitor.JSXSpreadChild=function(path){throw path.buildCodeFrameError("Spread children are not supported in React.");};visitor.JSXElement={exit:function exit(path,state){var callExpr=buildElementCall(path,state);if(callExpr){path.replaceWith(inherits(callExpr,path.node));}}};visitor.JSXFragment={exit:function exit(path,state){if(opts.compat){throw path.buildCodeFrameError("Fragment tags are only supported in React 16 and up.");}var callExpr=buildFragmentCall(path,state);if(callExpr){path.replaceWith(inherits(callExpr,path.node));}}};return visitor;function convertJSXIdentifier(node,parent){if(isJSXIdentifier(node)){if(node.name==="this"&&isReferenced(node,parent)){return thisExpression();}else if(isValidIdentifier(node.name,false)){node.type="Identifier";return node;}else{return stringLiteral(node.name);}}else if(isJSXMemberExpression(node)){return memberExpression(convertJSXIdentifier(node.object,node),convertJSXIdentifier(node.property,node));}else if(isJSXNamespacedName(node)){return stringLiteral(node.namespace.name+":"+node.name.name);}return node;}function convertAttributeValue(node){if(isJSXExpressionContainer(node)){return node.expression;}else{return node;}}function convertAttribute(node){if(isJSXSpreadAttribute(node)){return spreadElement(node.argument);}var value=convertAttributeValue(node.value||booleanLiteral(true));if(isStringLiteral(value)&&!isJSXExpressionContainer(node.value)){var _value$extra;value.value=value.value.replace(/\n\s+/g," ");(_value$extra=value.extra)==null||delete _value$extra.raw;}if(isJSXNamespacedName(node.name)){node.name=stringLiteral(node.name.namespace.name+":"+node.name.name.name);}else if(isValidIdentifier(node.name.name,false)){node.name.type="Identifier";}else{node.name=stringLiteral(node.name.name);}return inherits(objectProperty(node.name,value),node);}function buildElementCall(path,pass){if(opts.filter&&!opts.filter(path.node,pass))return;var openingPath=path.get("openingElement");path.node.children=react.buildChildren(path.node);var tagExpr=convertJSXIdentifier(openingPath.node.name,openingPath.node);var args=[];var tagName;if(isIdentifier(tagExpr)){tagName=tagExpr.name;}else if(isStringLiteral(tagExpr)){tagName=tagExpr.value;}var state={tagExpr:tagExpr,tagName:tagName,args:args,pure:false};if(opts.pre){opts.pre(state,pass);}var attribs=openingPath.node.attributes;var convertedAttributes;if(attribs.length){{convertedAttributes=buildOpeningElementAttributes(attribs,pass);}}else{convertedAttributes=nullLiteral();}args.push.apply(args,[convertedAttributes].concat(_toConsumableArray(path.node.children)));if(opts.post){opts.post(state,pass);}var call=state.call||callExpression(state.callee,args);if(state.pure)annotateAsPure(call);return call;}function pushProps(_props,objs){if(!_props.length)return _props;objs.push(objectExpression(_props));return[];}function buildOpeningElementAttributes(attribs,pass){var _props=[];var objs=[];var _pass$opts$useSpread=pass.opts.useSpread,useSpread=_pass$opts$useSpread===void 0?false:_pass$opts$useSpread;if(typeof useSpread!=="boolean"){throw new Error("transform-react-jsx currently only accepts a boolean option for "+"useSpread (defaults to false)");}var useBuiltIns=pass.opts.useBuiltIns||false;if(typeof useBuiltIns!=="boolean"){throw new Error("transform-react-jsx currently only accepts a boolean option for "+"useBuiltIns (defaults to false)");}if(useSpread&&useBuiltIns){throw new Error("transform-react-jsx currently only accepts useBuiltIns or useSpread "+"but not both");}if(useSpread){var props=attribs.map(convertAttribute);return objectExpression(props);}while(attribs.length){var prop=attribs.shift();if(isJSXSpreadAttribute(prop)){_props=pushProps(_props,objs);objs.push(prop.argument);}else{_props.push(convertAttribute(prop));}}pushProps(_props,objs);var convertedAttribs;if(objs.length===1){convertedAttribs=objs[0];}else{if(!isObjectExpression(objs[0])){objs.unshift(objectExpression([]));}var helper=useBuiltIns?memberExpression(identifier("Object"),identifier("assign")):pass.addHelper("extends");convertedAttribs=callExpression(helper,objs);}return convertedAttribs;}function buildFragmentCall(path,pass){if(opts.filter&&!opts.filter(path.node,pass))return;path.node.children=react.buildChildren(path.node);var args=[];var tagName=null;var tagExpr=pass.get("jsxFragIdentifier")();var state={tagExpr:tagExpr,tagName:tagName,args:args,pure:false};if(opts.pre){opts.pre(state,pass);}args.push.apply(args,[nullLiteral()].concat(_toConsumableArray(path.node.children)));if(opts.post){opts.post(state,pass);}pass.set("usedFragment",true);var call=state.call||callExpression(state.callee,args);if(state.pure)annotateAsPure(call);return call;}}var transformReactInlineElements=declare(function(api){api.assertVersion("*");function hasRefOrSpread(attrs){for(var i=0;i<attrs.length;i++){var attr=attrs[i];if(isJSXSpreadAttribute$1(attr))return true;if(isJSXAttributeOfName(attr,"ref"))return true;}return false;}function isJSXAttributeOfName(attr,name){return isJSXAttribute(attr)&&isJSXIdentifier$3(attr.name,{name:name});}var visitor=helper({filter:function filter(node){return node.type==="JSXElement"&&!hasRefOrSpread(node.openingElement.attributes);},pre:function pre(state){var tagName=state.tagName;var args=state.args;if(react$3.isCompatTag(tagName)){args.push(stringLiteral$8(tagName));}else{args.push(state.tagExpr);}},post:function post(state,pass){state.callee=pass.addHelper("jsx");var props=state.args[1];var hasKey=false;if(isObjectExpression$3(props)){var keyIndex=props.properties.findIndex(function(prop){return isIdentifier$j(prop.key,{name:"key"});});if(keyIndex>-1){state.args.splice(2,0,props.properties[keyIndex].value);props.properties.splice(keyIndex,1);hasKey=true;}}else if(isNullLiteral$2(props)){state.args.splice(1,1,objectExpression$3([]));}if(!hasKey&&state.args.length>2){state.args.splice(2,0,unaryExpression$6("void",numericLiteral$8(0)));}state.pure=true;}});return{name:"transform-react-inline-elements",visitor:visitor};});var _templateObject$c;var DEFAULT={importSource:"react",runtime:"automatic",pragma:"React.createElement",pragmaFrag:"React.Fragment"};var JSX_SOURCE_ANNOTATION_REGEX=/^\s*\*?\s*@jsxImportSource\s+([^\s]+)\s*$/m;var JSX_RUNTIME_ANNOTATION_REGEX=/^\s*\*?\s*@jsxRuntime\s+([^\s]+)\s*$/m;var JSX_ANNOTATION_REGEX=/^\s*\*?\s*@jsx\s+([^\s]+)\s*$/m;var JSX_FRAG_ANNOTATION_REGEX=/^\s*\*?\s*@jsxFrag\s+([^\s]+)\s*$/m;var get=function get(pass,name){return pass.get("@babel/plugin-react-jsx/"+name);};var set=function set(pass,name,v){return pass.set("@babel/plugin-react-jsx/"+name,v);};function hasProto(node){return node.properties.some(function(value){return isObjectProperty$5(value,{computed:false,shorthand:false})&&(isIdentifier$j(value.key,{name:"__proto__"})||isStringLiteral$5(value.key,{value:"__proto__"}));});}function createPlugin(_ref){var name=_ref.name,development=_ref.development;return declare(function(_,options){var PURE_ANNOTATION=options.pure,_options$throwIfNames=options.throwIfNamespace,throwIfNamespace=_options$throwIfNames===void 0?true:_options$throwIfNames,filter=options.filter,_options$runtime=options.runtime,RUNTIME_DEFAULT=_options$runtime===void 0?development?"automatic":"classic":_options$runtime,_options$importSource=options.importSource,IMPORT_SOURCE_DEFAULT=_options$importSource===void 0?DEFAULT.importSource:_options$importSource,_options$pragma=options.pragma,PRAGMA_DEFAULT=_options$pragma===void 0?DEFAULT.pragma:_options$pragma,_options$pragmaFrag=options.pragmaFrag,PRAGMA_FRAG_DEFAULT=_options$pragmaFrag===void 0?DEFAULT.pragmaFrag:_options$pragmaFrag;{var _options$useSpread=options.useSpread,useSpread=_options$useSpread===void 0?false:_options$useSpread,_options$useBuiltIns=options.useBuiltIns,useBuiltIns=_options$useBuiltIns===void 0?false:_options$useBuiltIns;if(RUNTIME_DEFAULT==="classic"){if(typeof useSpread!=="boolean"){throw new Error("transform-react-jsx currently only accepts a boolean option for "+"useSpread (defaults to false)");}if(typeof useBuiltIns!=="boolean"){throw new Error("transform-react-jsx currently only accepts a boolean option for "+"useBuiltIns (defaults to false)");}if(useSpread&&useBuiltIns){throw new Error("transform-react-jsx currently only accepts useBuiltIns or useSpread "+"but not both");}}}var injectMetaPropertiesVisitor={JSXOpeningElement:function JSXOpeningElement(path,state){var attributes=[];if(isThisAllowed(path.scope)){attributes.push(jsxAttribute(jsxIdentifier$2("__self"),jsxExpressionContainer$1(thisExpression$4())));}attributes.push(jsxAttribute(jsxIdentifier$2("__source"),jsxExpressionContainer$1(makeSource(path,state))));path.pushContainer("attributes",attributes);}};return{name:name,inherits:syntaxJsx,visitor:{JSXNamespacedName:function JSXNamespacedName(path){if(throwIfNamespace){throw path.buildCodeFrameError("Namespace tags are not supported by default. React's JSX doesn't support namespace tags. You can set `throwIfNamespace: false` to bypass this warning.");}},JSXSpreadChild:function JSXSpreadChild(path){throw path.buildCodeFrameError("Spread children are not supported in React.");},Program:{enter:function enter(path,state){var file=state.file;var runtime=RUNTIME_DEFAULT;var source=IMPORT_SOURCE_DEFAULT;var pragma=PRAGMA_DEFAULT;var pragmaFrag=PRAGMA_FRAG_DEFAULT;var sourceSet=!!options.importSource;var pragmaSet=!!options.pragma;var pragmaFragSet=!!options.pragmaFrag;if(file.ast.comments){for(var _iterator=_createForOfIteratorHelperLoose(file.ast.comments),_step;!(_step=_iterator()).done;){var comment=_step.value;var sourceMatches=JSX_SOURCE_ANNOTATION_REGEX.exec(comment.value);if(sourceMatches){source=sourceMatches[1];sourceSet=true;}var runtimeMatches=JSX_RUNTIME_ANNOTATION_REGEX.exec(comment.value);if(runtimeMatches){runtime=runtimeMatches[1];}var jsxMatches=JSX_ANNOTATION_REGEX.exec(comment.value);if(jsxMatches){pragma=jsxMatches[1];pragmaSet=true;}var jsxFragMatches=JSX_FRAG_ANNOTATION_REGEX.exec(comment.value);if(jsxFragMatches){pragmaFrag=jsxFragMatches[1];pragmaFragSet=true;}}}set(state,"runtime",runtime);if(runtime==="classic"){if(sourceSet){throw path.buildCodeFrameError("importSource cannot be set when runtime is classic.");}var createElement=toMemberExpression(pragma);var fragment=toMemberExpression(pragmaFrag);set(state,"id/createElement",function(){return cloneNode$j(createElement);});set(state,"id/fragment",function(){return cloneNode$j(fragment);});set(state,"defaultPure",pragma===DEFAULT.pragma);}else if(runtime==="automatic"){if(pragmaSet||pragmaFragSet){throw path.buildCodeFrameError("pragma and pragmaFrag cannot be set when runtime is automatic.");}var define=function define(name,id){return set(state,name,createImportLazily(state,path,id,source));};define("id/jsx",development?"jsxDEV":"jsx");define("id/jsxs",development?"jsxDEV":"jsxs");define("id/createElement","createElement");define("id/fragment","Fragment");set(state,"defaultPure",source===DEFAULT.importSource);}else{throw path.buildCodeFrameError("Runtime must be either \"classic\" or \"automatic\".");}if(development){path.traverse(injectMetaPropertiesVisitor,state);}}},JSXFragment:{exit:function exit(path,file){var callExpr;if(get(file,"runtime")==="classic"){callExpr=buildCreateElementFragmentCall(path,file);}else{callExpr=buildJSXFragmentCall(path,file);}path.replaceWith(inherits$3(callExpr,path.node));}},JSXElement:{exit:function exit(path,file){var callExpr;if(get(file,"runtime")==="classic"||shouldUseCreateElement(path)){callExpr=buildCreateElementCall(path,file);}else{callExpr=buildJSXElementCall(path,file);}path.replaceWith(inherits$3(callExpr,path.node));}},JSXAttribute:function JSXAttribute(path){if(isJSXElement(path.node.value)){path.node.value=jsxExpressionContainer$1(path.node.value);}}}};function isDerivedClass(classPath){return classPath.node.superClass!==null;}function isThisAllowed(scope){do{var _scope=scope,path=_scope.path;if(path.isFunctionParent()&&!path.isArrowFunctionExpression()){if(!path.isMethod()){return true;}if(path.node.kind!=="constructor"){return true;}return!isDerivedClass(path.parentPath.parentPath);}if(path.isTSModuleBlock()){return false;}}while(scope=scope.parent);return true;}function call(pass,name,args){var node=callExpression$d(get(pass,"id/"+name)(),args);if(PURE_ANNOTATION!=null?PURE_ANNOTATION:get(pass,"defaultPure"))annotateAsPure(node);return node;}function shouldUseCreateElement(path){var openingPath=path.get("openingElement");var attributes=openingPath.node.attributes;var seenPropsSpread=false;for(var i=0;i<attributes.length;i++){var attr=attributes[i];if(seenPropsSpread&&isJSXAttribute(attr)&&attr.name.name==="key"){return true;}else if(isJSXSpreadAttribute$1(attr)){seenPropsSpread=true;}}return false;}function convertJSXIdentifier(node,parent){if(isJSXIdentifier$3(node)){if(node.name==="this"&&isReferenced$2(node,parent)){return thisExpression$4();}else if(isValidIdentifier$1(node.name,false)){node.type="Identifier";return node;}else{return stringLiteral$8(node.name);}}else if(isJSXMemberExpression$2(node)){return memberExpression$c(convertJSXIdentifier(node.object,node),convertJSXIdentifier(node.property,node));}else if(isJSXNamespacedName$1(node)){return stringLiteral$8(node.namespace.name+":"+node.name.name);}return node;}function convertAttributeValue(node){if(isJSXExpressionContainer$1(node)){return node.expression;}else{return node;}}function accumulateAttribute(array,attribute){if(isJSXSpreadAttribute$1(attribute.node)){var arg=attribute.node.argument;if(isObjectExpression$3(arg)&&!hasProto(arg)){array.push.apply(array,_toConsumableArray(arg.properties));}else{array.push(spreadElement$2(arg));}return array;}var value=convertAttributeValue(attribute.node.name.name!=="key"?attribute.node.value||booleanLiteral$4(true):attribute.node.value);if(attribute.node.name.name==="key"&&value===null){throw attribute.buildCodeFrameError('Please provide an explicit key value. Using "key" as a shorthand for "key={true}" is not allowed.');}if(isStringLiteral$5(value)&&!isJSXExpressionContainer$1(attribute.node.value)){var _value$extra;value.value=value.value.replace(/\n\s+/g," ");(_value$extra=value.extra)==null||delete _value$extra.raw;}if(isJSXNamespacedName$1(attribute.node.name)){attribute.node.name=stringLiteral$8(attribute.node.name.namespace.name+":"+attribute.node.name.name.name);}else if(isValidIdentifier$1(attribute.node.name.name,false)){attribute.node.name.type="Identifier";}else{attribute.node.name=stringLiteral$8(attribute.node.name.name);}array.push(inherits$3(objectProperty$1(attribute.node.name,value),attribute.node));return array;}function buildChildrenProperty(children){var childrenNode;if(children.length===1){childrenNode=children[0];}else if(children.length>1){childrenNode=arrayExpression$1(children);}else{return undefined;}return objectProperty$1(identifier$j("children"),childrenNode);}function buildJSXElementCall(path,file){var openingPath=path.get("openingElement");var args=[getTag(openingPath)];var attribsArray=[];var extracted=Object.create(null);for(var _iterator2=_createForOfIteratorHelperLoose(openingPath.get("attributes")),_step2;!(_step2=_iterator2()).done;){var attr=_step2.value;if(attr.isJSXAttribute()&&isJSXIdentifier$3(attr.node.name)){var _name=attr.node.name.name;switch(_name){case"__source":case"__self":if(extracted[_name])throw sourceSelfError(path,_name);case"key":{var keyValue=convertAttributeValue(attr.node.value);if(keyValue===null){throw attr.buildCodeFrameError('Please provide an explicit key value. Using "key" as a shorthand for "key={true}" is not allowed.');}extracted[_name]=keyValue;break;}default:attribsArray.push(attr);}}else{attribsArray.push(attr);}}var children=react$3.buildChildren(path.node);var attribs;if(attribsArray.length||children.length){attribs=buildJSXOpeningElementAttributes(attribsArray,children);}else{attribs=objectExpression$3([]);}args.push(attribs);if(development){var _extracted$key;args.push((_extracted$key=extracted.key)!=null?_extracted$key:path.scope.buildUndefinedNode(),booleanLiteral$4(children.length>1));if(extracted.__source){args.push(extracted.__source);if(extracted.__self)args.push(extracted.__self);}else if(extracted.__self){args.push(path.scope.buildUndefinedNode(),extracted.__self);}}else if(extracted.key!==undefined){args.push(extracted.key);}return call(file,children.length>1?"jsxs":"jsx",args);}function buildJSXOpeningElementAttributes(attribs,children){var props=attribs.reduce(accumulateAttribute,[]);if((children==null?void 0:children.length)>0){props.push(buildChildrenProperty(children));}return objectExpression$3(props);}function buildJSXFragmentCall(path,file){var args=[get(file,"id/fragment")()];var children=react$3.buildChildren(path.node);args.push(objectExpression$3(children.length>0?[buildChildrenProperty(children)]:[]));if(development){args.push(path.scope.buildUndefinedNode(),booleanLiteral$4(children.length>1));}return call(file,children.length>1?"jsxs":"jsx",args);}function buildCreateElementFragmentCall(path,file){if(filter&&!filter(path.node,file))return;return call(file,"createElement",[get(file,"id/fragment")(),nullLiteral$2()].concat(_toConsumableArray(react$3.buildChildren(path.node))));}function buildCreateElementCall(path,file){var openingPath=path.get("openingElement");return call(file,"createElement",[getTag(openingPath),buildCreateElementOpeningElementAttributes(file,path,openingPath.get("attributes"))].concat(_toConsumableArray(react$3.buildChildren(path.node))));}function getTag(openingPath){var tagExpr=convertJSXIdentifier(openingPath.node.name,openingPath.node);var tagName;if(isIdentifier$j(tagExpr)){tagName=tagExpr.name;}else if(isStringLiteral$5(tagExpr)){tagName=tagExpr.value;}if(react$3.isCompatTag(tagName)){return stringLiteral$8(tagName);}else{return tagExpr;}}function buildCreateElementOpeningElementAttributes(file,path,attribs){var runtime=get(file,"runtime");{if(runtime!=="automatic"){var objs=[];var _props=attribs.reduce(accumulateAttribute,[]);if(!useSpread){var start=0;_props.forEach(function(prop,i){if(isSpreadElement$1(prop)){if(i>start){objs.push(objectExpression$3(_props.slice(start,i)));}objs.push(prop.argument);start=i+1;}});if(_props.length>start){objs.push(objectExpression$3(_props.slice(start)));}}else if(_props.length){objs.push(objectExpression$3(_props));}if(!objs.length){return nullLiteral$2();}if(objs.length===1){if(!(isSpreadElement$1(_props[0])&&isObjectExpression$3(_props[0].argument))){return objs[0];}}if(!isObjectExpression$3(objs[0])){objs.unshift(objectExpression$3([]));}var helper=useBuiltIns?memberExpression$c(identifier$j("Object"),identifier$j("assign")):file.addHelper("extends");return callExpression$d(helper,objs);}}var props=[];var found=Object.create(null);for(var _iterator3=_createForOfIteratorHelperLoose(attribs),_step3;!(_step3=_iterator3()).done;){var attr=_step3.value;var _node=attr.node;var _name2=isJSXAttribute(_node)&&isJSXIdentifier$3(_node.name)&&_node.name.name;if(runtime==="automatic"&&(_name2==="__source"||_name2==="__self")){if(found[_name2])throw sourceSelfError(path,_name2);found[_name2]=true;}accumulateAttribute(props,attr);}return props.length===1&&isSpreadElement$1(props[0])&&!isObjectExpression$3(props[0].argument)?props[0].argument:props.length>0?objectExpression$3(props):nullLiteral$2();}});function getSource(source,importName){switch(importName){case"Fragment":return source+"/"+(development?"jsx-dev-runtime":"jsx-runtime");case"jsxDEV":return source+"/jsx-dev-runtime";case"jsx":case"jsxs":return source+"/jsx-runtime";case"createElement":return source;}}function createImportLazily(pass,path,importName,source){return function(){var actualSource=getSource(source,importName);if(isModule(path)){var reference=get(pass,"imports/"+importName);if(reference)return cloneNode$j(reference);reference=addNamed(path,importName,actualSource,{importedInterop:"uncompiled",importPosition:"after"});set(pass,"imports/"+importName,reference);return reference;}else{var _reference=get(pass,"requires/"+actualSource);if(_reference){_reference=cloneNode$j(_reference);}else{_reference=addNamespace(path,actualSource,{importedInterop:"uncompiled"});set(pass,"requires/"+actualSource,_reference);}return memberExpression$c(_reference,identifier$j(importName));}};}}function toMemberExpression(id){return id.split(".").map(function(name){return identifier$j(name);}).reduce(function(object,property){return memberExpression$c(object,property);});}function makeSource(path,state){var location=path.node.loc;if(!location){return path.scope.buildUndefinedNode();}if(!state.fileNameIdentifier){var _state$filename=state.filename,filename=_state$filename===void 0?"":_state$filename;var fileNameIdentifier=path.scope.generateUidIdentifier("_jsxFileName");path.scope.getProgramParent().push({id:fileNameIdentifier,init:stringLiteral$8(filename)});state.fileNameIdentifier=fileNameIdentifier;}return makeTrace(cloneNode$j(state.fileNameIdentifier),location.start.line,location.start.column);}function makeTrace(fileNameIdentifier,lineNumber,column0Based){var fileLineLiteral=lineNumber!=null?numericLiteral$8(lineNumber):nullLiteral$2();var fileColumnLiteral=column0Based!=null?numericLiteral$8(column0Based+1):nullLiteral$2();return template$1.expression.ast(_templateObject$c||(_templateObject$c=_taggedTemplateLiteralLoose(["{\n    fileName: ",",\n    lineNumber: ",",\n    columnNumber: ",",\n  }"])),fileNameIdentifier,fileLineLiteral,fileColumnLiteral);}function sourceSelfError(path,name){var pluginName="transform-react-jsx-"+name.slice(2);return path.buildCodeFrameError("Duplicate "+name+" prop found. You are most likely using the deprecated "+pluginName+" Babel plugin. Both __source and __self are automatically set when using the automatic runtime. Please remove transform-react-jsx-source and transform-react-jsx-self from your Babel config.");}var transformReactJSX=createPlugin({name:"transform-react-jsx",development:false});var transformReactJsxCompat=declare(function(api){api.assertVersion("*");return{name:"transform-react-jsx-compat",manipulateOptions:function manipulateOptions(_,parserOpts){parserOpts.plugins.push("jsx");},visitor:helper({pre:function pre(state){state.callee=state.tagExpr;},post:function post(state){if(react$3.isCompatTag(state.tagName)){state.call=callExpression$d(memberExpression$c(memberExpression$c(identifier$j("React"),identifier$j("DOM")),state.tagExpr,isLiteral$6(state.tagExpr)),state.args);}},compat:true})};});var transformReactJSXDevelopment=createPlugin({name:"transform-react-jsx/development",development:true});var TRACE_ID$1="__self";function getThisFunctionParent(path){var scope=path.scope;do{var _scope=scope,_path=_scope.path;if(_path.isFunctionParent()&&!_path.isArrowFunctionExpression()){return _path;}}while(scope=scope.parent);return null;}function isDerivedClass(classPath){return classPath.node.superClass!==null;}function isThisAllowed(path){var parentMethodOrFunction=getThisFunctionParent(path);if(parentMethodOrFunction===null){return true;}if(!parentMethodOrFunction.isMethod()){return true;}if(parentMethodOrFunction.node.kind!=="constructor"){return true;}return!isDerivedClass(parentMethodOrFunction.parentPath.parentPath);}var transformReactJsxSelf=declare(function(api){api.assertVersion("*");var visitor={JSXOpeningElement:function JSXOpeningElement(path){if(!isThisAllowed(path)){return;}var node=path.node;var id=jsxIdentifier$2(TRACE_ID$1);var trace=thisExpression$4();node.attributes.push(jsxAttribute(id,jsxExpressionContainer$1(trace)));}};return{name:"transform-react-jsx-self",visitor:{Program:function Program(path){path.traverse(visitor);}}};});var _templateObject$b;var TRACE_ID="__source";var FILE_NAME_VAR="_jsxFileName";var createNodeFromNullish=function createNodeFromNullish(val,fn){return val==null?nullLiteral$2():fn(val);};var transformReactJsxSource=declare(function(api){api.assertVersion("*");function makeTrace(fileNameIdentifier,_ref){var line=_ref.line,column=_ref.column;var fileLineLiteral=createNodeFromNullish(line,numericLiteral$8);var fileColumnLiteral=createNodeFromNullish(column,function(c){return numericLiteral$8(c+1);});return template$1.expression.ast(_templateObject$b||(_templateObject$b=_taggedTemplateLiteralLoose(["{\n      fileName: ",",\n      lineNumber: ",",\n      columnNumber: ",",\n    }"])),fileNameIdentifier,fileLineLiteral,fileColumnLiteral);}var isSourceAttr=function isSourceAttr(attr){return isJSXAttribute(attr)&&attr.name.name===TRACE_ID;};return{name:"transform-react-jsx-source",visitor:{JSXOpeningElement:function JSXOpeningElement(path,state){var node=path.node;if(!node.loc||path.node.attributes.some(isSourceAttr)){return;}if(!state.fileNameIdentifier){var fileNameId=path.scope.generateUidIdentifier(FILE_NAME_VAR);state.fileNameIdentifier=fileNameId;path.scope.getProgramParent().push({id:fileNameId,init:stringLiteral$8(state.filename||"")});}node.attributes.push(jsxAttribute(jsxIdentifier$2(TRACE_ID),jsxExpressionContainer$1(makeTrace(cloneNode$j(state.fileNameIdentifier),node.loc.start))));}}};});var lib$7={};var visit={};var interopRequireDefault={exports:{}};(function(module){function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj};}module.exports=_interopRequireDefault,module.exports.__esModule=true,module.exports["default"]=module.exports;})(interopRequireDefault);var interopRequireDefaultExports=interopRequireDefault.exports;var require$$1$2=/*@__PURE__*/getAugmentedNamespace(_polyfillNode_assert);var hoist$1={};var util$1={};var hasRequiredUtil;function requireUtil(){if(hasRequiredUtil)return util$1;hasRequiredUtil=1;util$1.__esModule=true;util$1.getTypes=getTypes;util$1.isReference=isReference;util$1.replaceWithOrRemove=replaceWithOrRemove;util$1.runtimeProperty=runtimeProperty;util$1.wrapWithTypes=wrapWithTypes;var currentTypes=null;function wrapWithTypes(types,fn){return function(){var oldTypes=currentTypes;currentTypes=types;try{for(var _len=arguments.length,args=new Array(_len),_key=0;_key<_len;_key++){args[_key]=arguments[_key];}return fn.apply(this,args);}finally{currentTypes=oldTypes;}};}function getTypes(){return currentTypes;}function runtimeProperty(name){var t=getTypes();return t.memberExpression(t.identifier("regeneratorRuntime"),t.identifier(name),false);}function isReference(path){return path.isReferenced()||path.parentPath.isAssignmentExpression({left:path.node});}function replaceWithOrRemove(path,replacement){if(replacement){path.replaceWith(replacement);}else{path.remove();}}return util$1;}var hasRequiredHoist;function requireHoist(){if(hasRequiredHoist)return hoist$1;hasRequiredHoist=1;var util=_interopRequireWildcard(requireUtil());function _getRequireWildcardCache(nodeInterop){if(typeof WeakMap!=="function")return null;var cacheBabelInterop=new WeakMap();var cacheNodeInterop=new WeakMap();return(_getRequireWildcardCache=function _getRequireWildcardCache(nodeInterop){return nodeInterop?cacheNodeInterop:cacheBabelInterop;})(nodeInterop);}function _interopRequireWildcard(obj,nodeInterop){if(!nodeInterop&&obj&&obj.__esModule){return obj;}if(obj===null||_typeof(obj)!=="object"&&typeof obj!=="function"){return{"default":obj};}var cache=_getRequireWildcardCache(nodeInterop);if(cache&&cache.has(obj)){return cache.get(obj);}var newObj={};var hasPropertyDescriptor=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var key in obj){if(key!=="default"&&Object.prototype.hasOwnProperty.call(obj,key)){var desc=hasPropertyDescriptor?Object.getOwnPropertyDescriptor(obj,key):null;if(desc&&(desc.get||desc.set)){Object.defineProperty(newObj,key,desc);}else{newObj[key]=obj[key];}}}newObj["default"]=obj;if(cache){cache.set(obj,newObj);}return newObj;}var hasOwn=Object.prototype.hasOwnProperty;hoist$1.hoist=function(funPath){var t=util.getTypes();t.assertFunction(funPath.node);var vars={};function varDeclToExpr(_ref,includeIdentifiers){var vdec=_ref.node,scope=_ref.scope;t.assertVariableDeclaration(vdec);var exprs=[];vdec.declarations.forEach(function(dec){vars[dec.id.name]=t.identifier(dec.id.name);scope.removeBinding(dec.id.name);if(dec.init){exprs.push(t.assignmentExpression("=",dec.id,dec.init));}else if(includeIdentifiers){exprs.push(dec.id);}});if(exprs.length===0)return null;if(exprs.length===1)return exprs[0];return t.sequenceExpression(exprs);}funPath.get("body").traverse({VariableDeclaration:{exit:function exit(path){var expr=varDeclToExpr(path,false);if(expr===null){path.remove();}else{util.replaceWithOrRemove(path,t.expressionStatement(expr));}path.skip();}},ForStatement:function ForStatement(path){var init=path.get("init");if(init.isVariableDeclaration()){util.replaceWithOrRemove(init,varDeclToExpr(init,false));}},ForXStatement:function ForXStatement(path){var left=path.get("left");if(left.isVariableDeclaration()){util.replaceWithOrRemove(left,varDeclToExpr(left,true));}},FunctionDeclaration:function FunctionDeclaration(path){var node=path.node;vars[node.id.name]=node.id;var assignment=t.expressionStatement(t.assignmentExpression("=",t.clone(node.id),t.functionExpression(path.scope.generateUidIdentifierBasedOnNode(node),node.params,node.body,node.generator,node.expression)));if(path.parentPath.isBlockStatement()){path.parentPath.unshiftContainer("body",assignment);path.remove();}else{util.replaceWithOrRemove(path,assignment);}path.scope.removeBinding(node.id.name);path.skip();},FunctionExpression:function FunctionExpression(path){path.skip();},ArrowFunctionExpression:function ArrowFunctionExpression(path){path.skip();}});var paramNames={};funPath.get("params").forEach(function(paramPath){var param=paramPath.node;if(t.isIdentifier(param)){paramNames[param.name]=param;}});var declarations=[];Object.keys(vars).forEach(function(name){if(!hasOwn.call(paramNames,name)){declarations.push(t.variableDeclarator(vars[name],null));}});if(declarations.length===0){return null;}return t.variableDeclaration("var",declarations);};return hoist$1;}var emit={};var leap={};var require$$3=/*@__PURE__*/getAugmentedNamespace(_polyfillNode_util$1);var hasRequiredLeap;function requireLeap(){if(hasRequiredLeap)return leap;hasRequiredLeap=1;var _interopRequireDefault=interopRequireDefaultExports;var _assert=_interopRequireDefault(require$$1$2);var _emit=requireEmit();var _util=require$$3;var _util2=requireUtil();function Entry(){_assert["default"].ok(this instanceof Entry);}function FunctionEntry(returnLoc){Entry.call(this);(0,_util2.getTypes)().assertLiteral(returnLoc);this.returnLoc=returnLoc;}(0,_util.inherits)(FunctionEntry,Entry);leap.FunctionEntry=FunctionEntry;function LoopEntry(breakLoc,continueLoc,label){Entry.call(this);var t=(0,_util2.getTypes)();t.assertLiteral(breakLoc);t.assertLiteral(continueLoc);if(label){t.assertIdentifier(label);}else{label=null;}this.breakLoc=breakLoc;this.continueLoc=continueLoc;this.label=label;}(0,_util.inherits)(LoopEntry,Entry);leap.LoopEntry=LoopEntry;function SwitchEntry(breakLoc){Entry.call(this);(0,_util2.getTypes)().assertLiteral(breakLoc);this.breakLoc=breakLoc;}(0,_util.inherits)(SwitchEntry,Entry);leap.SwitchEntry=SwitchEntry;function TryEntry(firstLoc,catchEntry,finallyEntry){Entry.call(this);var t=(0,_util2.getTypes)();t.assertLiteral(firstLoc);if(catchEntry){_assert["default"].ok(catchEntry instanceof CatchEntry);}else{catchEntry=null;}if(finallyEntry){_assert["default"].ok(finallyEntry instanceof FinallyEntry);}else{finallyEntry=null;}_assert["default"].ok(catchEntry||finallyEntry);this.firstLoc=firstLoc;this.catchEntry=catchEntry;this.finallyEntry=finallyEntry;}(0,_util.inherits)(TryEntry,Entry);leap.TryEntry=TryEntry;function CatchEntry(firstLoc,paramId){Entry.call(this);var t=(0,_util2.getTypes)();t.assertLiteral(firstLoc);t.assertIdentifier(paramId);this.firstLoc=firstLoc;this.paramId=paramId;}(0,_util.inherits)(CatchEntry,Entry);leap.CatchEntry=CatchEntry;function FinallyEntry(firstLoc,afterLoc){Entry.call(this);var t=(0,_util2.getTypes)();t.assertLiteral(firstLoc);t.assertLiteral(afterLoc);this.firstLoc=firstLoc;this.afterLoc=afterLoc;}(0,_util.inherits)(FinallyEntry,Entry);leap.FinallyEntry=FinallyEntry;function LabeledEntry(breakLoc,label){Entry.call(this);var t=(0,_util2.getTypes)();t.assertLiteral(breakLoc);t.assertIdentifier(label);this.breakLoc=breakLoc;this.label=label;}(0,_util.inherits)(LabeledEntry,Entry);leap.LabeledEntry=LabeledEntry;function LeapManager(emitter){_assert["default"].ok(this instanceof LeapManager);_assert["default"].ok(emitter instanceof _emit.Emitter);this.emitter=emitter;this.entryStack=[new FunctionEntry(emitter.finalLoc)];}var LMp=LeapManager.prototype;leap.LeapManager=LeapManager;LMp.withEntry=function(entry,callback){_assert["default"].ok(entry instanceof Entry);this.entryStack.push(entry);try{callback.call(this.emitter);}finally{var popped=this.entryStack.pop();_assert["default"].strictEqual(popped,entry);}};LMp._findLeapLocation=function(property,label){for(var i=this.entryStack.length-1;i>=0;--i){var entry=this.entryStack[i];var loc=entry[property];if(loc){if(label){if(entry.label&&entry.label.name===label.name){return loc;}}else if(entry instanceof LabeledEntry);else{return loc;}}}return null;};LMp.getBreakLoc=function(label){return this._findLeapLocation("breakLoc",label);};LMp.getContinueLoc=function(label){return this._findLeapLocation("continueLoc",label);};return leap;}var meta={};var hasRequiredMeta;function requireMeta(){if(hasRequiredMeta)return meta;hasRequiredMeta=1;var _interopRequireDefault=interopRequireDefaultExports;var _assert=_interopRequireDefault(require$$1$2);var _util=requireUtil();var mMap=new WeakMap();function m(node){if(!mMap.has(node)){mMap.set(node,{});}return mMap.get(node);}var hasOwn=Object.prototype.hasOwnProperty;function makePredicate(propertyName,knownTypes){function onlyChildren(node){var t=(0,_util.getTypes)();t.assertNode(node);var result=false;function check(child){if(result);else if(Array.isArray(child)){child.some(check);}else if(t.isNode(child)){_assert["default"].strictEqual(result,false);result=predicate(child);}return result;}var keys=t.VISITOR_KEYS[node.type];if(keys){for(var i=0;i<keys.length;i++){var key=keys[i];var child=node[key];check(child);}}return result;}function predicate(node){(0,_util.getTypes)().assertNode(node);var meta=m(node);if(hasOwn.call(meta,propertyName))return meta[propertyName];if(hasOwn.call(opaqueTypes,node.type))return meta[propertyName]=false;if(hasOwn.call(knownTypes,node.type))return meta[propertyName]=true;return meta[propertyName]=onlyChildren(node);}predicate.onlyChildren=onlyChildren;return predicate;}var opaqueTypes={FunctionExpression:true,ArrowFunctionExpression:true};var sideEffectTypes={CallExpression:true,ForInStatement:true,UnaryExpression:true,BinaryExpression:true,AssignmentExpression:true,UpdateExpression:true,NewExpression:true};var leapTypes={YieldExpression:true,BreakStatement:true,ContinueStatement:true,ReturnStatement:true,ThrowStatement:true};for(var type in leapTypes){if(hasOwn.call(leapTypes,type)){sideEffectTypes[type]=leapTypes[type];}}meta.hasSideEffects=makePredicate("hasSideEffects",sideEffectTypes);meta.containsLeap=makePredicate("containsLeap",leapTypes);return meta;}var hasRequiredEmit;function requireEmit(){if(hasRequiredEmit)return emit;hasRequiredEmit=1;var _interopRequireDefault=interopRequireDefaultExports;var _assert=_interopRequireDefault(require$$1$2);var leap=_interopRequireWildcard(requireLeap());var meta=_interopRequireWildcard(requireMeta());var util=_interopRequireWildcard(requireUtil());function _getRequireWildcardCache(nodeInterop){if(typeof WeakMap!=="function")return null;var cacheBabelInterop=new WeakMap();var cacheNodeInterop=new WeakMap();return(_getRequireWildcardCache=function _getRequireWildcardCache(nodeInterop){return nodeInterop?cacheNodeInterop:cacheBabelInterop;})(nodeInterop);}function _interopRequireWildcard(obj,nodeInterop){if(!nodeInterop&&obj&&obj.__esModule){return obj;}if(obj===null||_typeof(obj)!=="object"&&typeof obj!=="function"){return{"default":obj};}var cache=_getRequireWildcardCache(nodeInterop);if(cache&&cache.has(obj)){return cache.get(obj);}var newObj={};var hasPropertyDescriptor=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var key in obj){if(key!=="default"&&Object.prototype.hasOwnProperty.call(obj,key)){var desc=hasPropertyDescriptor?Object.getOwnPropertyDescriptor(obj,key):null;if(desc&&(desc.get||desc.set)){Object.defineProperty(newObj,key,desc);}else{newObj[key]=obj[key];}}}newObj["default"]=obj;if(cache){cache.set(obj,newObj);}return newObj;}var hasOwn=Object.prototype.hasOwnProperty;function Emitter(contextId){_assert["default"].ok(this instanceof Emitter);util.getTypes().assertIdentifier(contextId);this.nextTempId=0;this.contextId=contextId;this.listing=[];this.marked=[true];this.insertedLocs=new Set();this.finalLoc=this.loc();this.tryEntries=[];this.leapManager=new leap.LeapManager(this);}var Ep=Emitter.prototype;emit.Emitter=Emitter;var PENDING_LOCATION=Number.MAX_VALUE;Ep.loc=function(){var l=util.getTypes().numericLiteral(PENDING_LOCATION);this.insertedLocs.add(l);return l;};Ep.getInsertedLocs=function(){return this.insertedLocs;};Ep.getContextId=function(){return util.getTypes().clone(this.contextId);};Ep.mark=function(loc){util.getTypes().assertLiteral(loc);var index=this.listing.length;if(loc.value===PENDING_LOCATION){loc.value=index;}else{_assert["default"].strictEqual(loc.value,index);}this.marked[index]=true;return loc;};Ep.emit=function(node){var t=util.getTypes();if(t.isExpression(node)){node=t.expressionStatement(node);}t.assertStatement(node);this.listing.push(node);};Ep.emitAssign=function(lhs,rhs){this.emit(this.assign(lhs,rhs));return lhs;};Ep.assign=function(lhs,rhs){var t=util.getTypes();return t.expressionStatement(t.assignmentExpression("=",t.cloneDeep(lhs),rhs));};Ep.contextProperty=function(name,computed){var t=util.getTypes();return t.memberExpression(this.getContextId(),computed?t.stringLiteral(name):t.identifier(name),!!computed);};Ep.stop=function(rval){if(rval){this.setReturnValue(rval);}this.jump(this.finalLoc);};Ep.setReturnValue=function(valuePath){util.getTypes().assertExpression(valuePath.value);this.emitAssign(this.contextProperty("rval"),this.explodeExpression(valuePath));};Ep.clearPendingException=function(tryLoc,assignee){var t=util.getTypes();t.assertLiteral(tryLoc);var catchCall=t.callExpression(this.contextProperty("catch",true),[t.clone(tryLoc)]);if(assignee){this.emitAssign(assignee,catchCall);}else{this.emit(catchCall);}};Ep.jump=function(toLoc){this.emitAssign(this.contextProperty("next"),toLoc);this.emit(util.getTypes().breakStatement());};Ep.jumpIf=function(test,toLoc){var t=util.getTypes();t.assertExpression(test);t.assertLiteral(toLoc);this.emit(t.ifStatement(test,t.blockStatement([this.assign(this.contextProperty("next"),toLoc),t.breakStatement()])));};Ep.jumpIfNot=function(test,toLoc){var t=util.getTypes();t.assertExpression(test);t.assertLiteral(toLoc);var negatedTest;if(t.isUnaryExpression(test)&&test.operator==="!"){negatedTest=test.argument;}else{negatedTest=t.unaryExpression("!",test);}this.emit(t.ifStatement(negatedTest,t.blockStatement([this.assign(this.contextProperty("next"),toLoc),t.breakStatement()])));};Ep.makeTempVar=function(){return this.contextProperty("t"+this.nextTempId++);};Ep.getContextFunction=function(id){var t=util.getTypes();return t.functionExpression(id||null,[this.getContextId()],t.blockStatement([this.getDispatchLoop()]),false,false);};Ep.getDispatchLoop=function(){var self=this;var t=util.getTypes();var cases=[];var current;var alreadyEnded=false;self.listing.forEach(function(stmt,i){if(self.marked.hasOwnProperty(i)){cases.push(t.switchCase(t.numericLiteral(i),current=[]));alreadyEnded=false;}if(!alreadyEnded){current.push(stmt);if(t.isCompletionStatement(stmt))alreadyEnded=true;}});this.finalLoc.value=this.listing.length;cases.push(t.switchCase(this.finalLoc,[]),t.switchCase(t.stringLiteral("end"),[t.returnStatement(t.callExpression(this.contextProperty("stop"),[]))]));return t.whileStatement(t.numericLiteral(1),t.switchStatement(t.assignmentExpression("=",this.contextProperty("prev"),this.contextProperty("next")),cases));};Ep.getTryLocsList=function(){if(this.tryEntries.length===0){return null;}var t=util.getTypes();var lastLocValue=0;return t.arrayExpression(this.tryEntries.map(function(tryEntry){var thisLocValue=tryEntry.firstLoc.value;_assert["default"].ok(thisLocValue>=lastLocValue,"try entries out of order");lastLocValue=thisLocValue;var ce=tryEntry.catchEntry;var fe=tryEntry.finallyEntry;var locs=[tryEntry.firstLoc,ce?ce.firstLoc:null];if(fe){locs[2]=fe.firstLoc;locs[3]=fe.afterLoc;}return t.arrayExpression(locs.map(function(loc){return loc&&t.clone(loc);}));}));};Ep.explode=function(path,ignoreResult){var t=util.getTypes();var node=path.node;var self=this;t.assertNode(node);if(t.isDeclaration(node))throw getDeclError(node);if(t.isStatement(node))return self.explodeStatement(path);if(t.isExpression(node))return self.explodeExpression(path,ignoreResult);switch(node.type){case"Program":return path.get("body").map(self.explodeStatement,self);case"VariableDeclarator":throw getDeclError(node);case"Property":case"SwitchCase":case"CatchClause":throw new Error(node.type+" nodes should be handled by their parents");default:throw new Error("unknown Node of type "+JSON.stringify(node.type));}};function getDeclError(node){return new Error("all declarations should have been transformed into "+"assignments before the Exploder began its work: "+JSON.stringify(node));}Ep.explodeStatement=function(path,labelId){var t=util.getTypes();var stmt=path.node;var self=this;var before,after,head;t.assertStatement(stmt);if(labelId){t.assertIdentifier(labelId);}else{labelId=null;}if(t.isBlockStatement(stmt)){path.get("body").forEach(function(path){self.explodeStatement(path);});return;}if(!meta.containsLeap(stmt)){self.emit(stmt);return;}switch(stmt.type){case"ExpressionStatement":self.explodeExpression(path.get("expression"),true);break;case"LabeledStatement":after=this.loc();self.leapManager.withEntry(new leap.LabeledEntry(after,stmt.label),function(){self.explodeStatement(path.get("body"),stmt.label);});self.mark(after);break;case"WhileStatement":before=this.loc();after=this.loc();self.mark(before);self.jumpIfNot(self.explodeExpression(path.get("test")),after);self.leapManager.withEntry(new leap.LoopEntry(after,before,labelId),function(){self.explodeStatement(path.get("body"));});self.jump(before);self.mark(after);break;case"DoWhileStatement":var first=this.loc();var test=this.loc();after=this.loc();self.mark(first);self.leapManager.withEntry(new leap.LoopEntry(after,test,labelId),function(){self.explode(path.get("body"));});self.mark(test);self.jumpIf(self.explodeExpression(path.get("test")),first);self.mark(after);break;case"ForStatement":head=this.loc();var update=this.loc();after=this.loc();if(stmt.init){self.explode(path.get("init"),true);}self.mark(head);if(stmt.test){self.jumpIfNot(self.explodeExpression(path.get("test")),after);}self.leapManager.withEntry(new leap.LoopEntry(after,update,labelId),function(){self.explodeStatement(path.get("body"));});self.mark(update);if(stmt.update){self.explode(path.get("update"),true);}self.jump(head);self.mark(after);break;case"TypeCastExpression":return self.explodeExpression(path.get("expression"));case"ForInStatement":head=this.loc();after=this.loc();var keyIterNextFn=self.makeTempVar();self.emitAssign(keyIterNextFn,t.callExpression(util.runtimeProperty("keys"),[self.explodeExpression(path.get("right"))]));self.mark(head);var keyInfoTmpVar=self.makeTempVar();self.jumpIf(t.memberExpression(t.assignmentExpression("=",keyInfoTmpVar,t.callExpression(t.cloneDeep(keyIterNextFn),[])),t.identifier("done"),false),after);self.emitAssign(stmt.left,t.memberExpression(t.cloneDeep(keyInfoTmpVar),t.identifier("value"),false));self.leapManager.withEntry(new leap.LoopEntry(after,head,labelId),function(){self.explodeStatement(path.get("body"));});self.jump(head);self.mark(after);break;case"BreakStatement":self.emitAbruptCompletion({type:"break",target:self.leapManager.getBreakLoc(stmt.label)});break;case"ContinueStatement":self.emitAbruptCompletion({type:"continue",target:self.leapManager.getContinueLoc(stmt.label)});break;case"SwitchStatement":var disc=self.emitAssign(self.makeTempVar(),self.explodeExpression(path.get("discriminant")));after=this.loc();var defaultLoc=this.loc();var condition=defaultLoc;var caseLocs=[];var cases=stmt.cases||[];for(var i=cases.length-1;i>=0;--i){var c=cases[i];t.assertSwitchCase(c);if(c.test){condition=t.conditionalExpression(t.binaryExpression("===",t.cloneDeep(disc),c.test),caseLocs[i]=this.loc(),condition);}else{caseLocs[i]=defaultLoc;}}var discriminant=path.get("discriminant");util.replaceWithOrRemove(discriminant,condition);self.jump(self.explodeExpression(discriminant));self.leapManager.withEntry(new leap.SwitchEntry(after),function(){path.get("cases").forEach(function(casePath){var i=casePath.key;self.mark(caseLocs[i]);casePath.get("consequent").forEach(function(path){self.explodeStatement(path);});});});self.mark(after);if(defaultLoc.value===PENDING_LOCATION){self.mark(defaultLoc);_assert["default"].strictEqual(after.value,defaultLoc.value);}break;case"IfStatement":var elseLoc=stmt.alternate&&this.loc();after=this.loc();self.jumpIfNot(self.explodeExpression(path.get("test")),elseLoc||after);self.explodeStatement(path.get("consequent"));if(elseLoc){self.jump(after);self.mark(elseLoc);self.explodeStatement(path.get("alternate"));}self.mark(after);break;case"ReturnStatement":self.emitAbruptCompletion({type:"return",value:self.explodeExpression(path.get("argument"))});break;case"WithStatement":throw new Error("WithStatement not supported in generator functions.");case"TryStatement":after=this.loc();var handler=stmt.handler;var catchLoc=handler&&this.loc();var catchEntry=catchLoc&&new leap.CatchEntry(catchLoc,handler.param);var finallyLoc=stmt.finalizer&&this.loc();var finallyEntry=finallyLoc&&new leap.FinallyEntry(finallyLoc,after);var tryEntry=new leap.TryEntry(self.getUnmarkedCurrentLoc(),catchEntry,finallyEntry);self.tryEntries.push(tryEntry);self.updateContextPrevLoc(tryEntry.firstLoc);self.leapManager.withEntry(tryEntry,function(){self.explodeStatement(path.get("block"));if(catchLoc){if(finallyLoc){self.jump(finallyLoc);}else{self.jump(after);}self.updateContextPrevLoc(self.mark(catchLoc));var bodyPath=path.get("handler.body");var safeParam=self.makeTempVar();self.clearPendingException(tryEntry.firstLoc,safeParam);bodyPath.traverse(catchParamVisitor,{getSafeParam:function getSafeParam(){return t.cloneDeep(safeParam);},catchParamName:handler.param.name});self.leapManager.withEntry(catchEntry,function(){self.explodeStatement(bodyPath);});}if(finallyLoc){self.updateContextPrevLoc(self.mark(finallyLoc));self.leapManager.withEntry(finallyEntry,function(){self.explodeStatement(path.get("finalizer"));});self.emit(t.returnStatement(t.callExpression(self.contextProperty("finish"),[finallyEntry.firstLoc])));}});self.mark(after);break;case"ThrowStatement":self.emit(t.throwStatement(self.explodeExpression(path.get("argument"))));break;case"ClassDeclaration":self.emit(self.explodeClass(path));break;default:throw new Error("unknown Statement of type "+JSON.stringify(stmt.type));}};var catchParamVisitor={Identifier:function Identifier(path,state){if(path.node.name===state.catchParamName&&util.isReference(path)){util.replaceWithOrRemove(path,state.getSafeParam());}},Scope:function Scope(path,state){if(path.scope.hasOwnBinding(state.catchParamName)){path.skip();}}};Ep.emitAbruptCompletion=function(record){if(!isValidCompletion(record)){_assert["default"].ok(false,"invalid completion record: "+JSON.stringify(record));}_assert["default"].notStrictEqual(record.type,"normal","normal completions are not abrupt");var t=util.getTypes();var abruptArgs=[t.stringLiteral(record.type)];if(record.type==="break"||record.type==="continue"){t.assertLiteral(record.target);abruptArgs[1]=this.insertedLocs.has(record.target)?record.target:t.cloneDeep(record.target);}else if(record.type==="return"||record.type==="throw"){if(record.value){t.assertExpression(record.value);abruptArgs[1]=this.insertedLocs.has(record.value)?record.value:t.cloneDeep(record.value);}}this.emit(t.returnStatement(t.callExpression(this.contextProperty("abrupt"),abruptArgs)));};function isValidCompletion(record){var type=record.type;if(type==="normal"){return!hasOwn.call(record,"target");}if(type==="break"||type==="continue"){return!hasOwn.call(record,"value")&&util.getTypes().isLiteral(record.target);}if(type==="return"||type==="throw"){return hasOwn.call(record,"value")&&!hasOwn.call(record,"target");}return false;}Ep.getUnmarkedCurrentLoc=function(){return util.getTypes().numericLiteral(this.listing.length);};Ep.updateContextPrevLoc=function(loc){var t=util.getTypes();if(loc){t.assertLiteral(loc);if(loc.value===PENDING_LOCATION){loc.value=this.listing.length;}else{_assert["default"].strictEqual(loc.value,this.listing.length);}}else{loc=this.getUnmarkedCurrentLoc();}this.emitAssign(this.contextProperty("prev"),loc);};Ep.explodeViaTempVar=function(tempVar,childPath,hasLeapingChildren,ignoreChildResult){_assert["default"].ok(!ignoreChildResult||!tempVar,"Ignoring the result of a child expression but forcing it to "+"be assigned to a temporary variable?");var t=util.getTypes();var result=this.explodeExpression(childPath,ignoreChildResult);if(ignoreChildResult);else if(tempVar||hasLeapingChildren&&!t.isLiteral(result)){result=this.emitAssign(tempVar||this.makeTempVar(),result);}return result;};Ep.explodeExpression=function(path,ignoreResult){var t=util.getTypes();var expr=path.node;if(expr){t.assertExpression(expr);}else{return expr;}var self=this;var result;var after;function finish(expr){t.assertExpression(expr);if(ignoreResult){self.emit(expr);}return expr;}if(!meta.containsLeap(expr)){return finish(expr);}var hasLeapingChildren=meta.containsLeap.onlyChildren(expr);switch(expr.type){case"MemberExpression":return finish(t.memberExpression(self.explodeExpression(path.get("object")),expr.computed?self.explodeViaTempVar(null,path.get("property"),hasLeapingChildren):expr.property,expr.computed));case"CallExpression":var calleePath=path.get("callee");var argsPath=path.get("arguments");var newCallee;var newArgs;var hasLeapingArgs=argsPath.some(function(argPath){return meta.containsLeap(argPath.node);});var injectFirstArg=null;if(t.isMemberExpression(calleePath.node)){if(hasLeapingArgs){var newObject=self.explodeViaTempVar(self.makeTempVar(),calleePath.get("object"),hasLeapingChildren);var newProperty=calleePath.node.computed?self.explodeViaTempVar(null,calleePath.get("property"),hasLeapingChildren):calleePath.node.property;injectFirstArg=newObject;newCallee=t.memberExpression(t.memberExpression(t.cloneDeep(newObject),newProperty,calleePath.node.computed),t.identifier("call"),false);}else{newCallee=self.explodeExpression(calleePath);}}else{newCallee=self.explodeViaTempVar(null,calleePath,hasLeapingChildren);if(t.isMemberExpression(newCallee)){newCallee=t.sequenceExpression([t.numericLiteral(0),t.cloneDeep(newCallee)]);}}if(hasLeapingArgs){newArgs=argsPath.map(function(argPath){return self.explodeViaTempVar(null,argPath,hasLeapingChildren);});if(injectFirstArg)newArgs.unshift(injectFirstArg);newArgs=newArgs.map(function(arg){return t.cloneDeep(arg);});}else{newArgs=path.node.arguments;}return finish(t.callExpression(newCallee,newArgs));case"NewExpression":return finish(t.newExpression(self.explodeViaTempVar(null,path.get("callee"),hasLeapingChildren),path.get("arguments").map(function(argPath){return self.explodeViaTempVar(null,argPath,hasLeapingChildren);})));case"ObjectExpression":return finish(t.objectExpression(path.get("properties").map(function(propPath){if(propPath.isObjectProperty()){return t.objectProperty(propPath.node.key,self.explodeViaTempVar(null,propPath.get("value"),hasLeapingChildren),propPath.node.computed);}else{return propPath.node;}})));case"ArrayExpression":return finish(t.arrayExpression(path.get("elements").map(function(elemPath){if(!elemPath.node){return null;}if(elemPath.isSpreadElement()){return t.spreadElement(self.explodeViaTempVar(null,elemPath.get("argument"),hasLeapingChildren));}else{return self.explodeViaTempVar(null,elemPath,hasLeapingChildren);}})));case"SequenceExpression":var lastIndex=expr.expressions.length-1;path.get("expressions").forEach(function(exprPath){if(exprPath.key===lastIndex){result=self.explodeExpression(exprPath,ignoreResult);}else{self.explodeExpression(exprPath,true);}});return result;case"LogicalExpression":after=this.loc();if(!ignoreResult){result=self.makeTempVar();}var left=self.explodeViaTempVar(result,path.get("left"),hasLeapingChildren);if(expr.operator==="&&"){self.jumpIfNot(left,after);}else{_assert["default"].strictEqual(expr.operator,"||");self.jumpIf(left,after);}self.explodeViaTempVar(result,path.get("right"),hasLeapingChildren,ignoreResult);self.mark(after);return result;case"ConditionalExpression":var elseLoc=this.loc();after=this.loc();var test=self.explodeExpression(path.get("test"));self.jumpIfNot(test,elseLoc);if(!ignoreResult){result=self.makeTempVar();}self.explodeViaTempVar(result,path.get("consequent"),hasLeapingChildren,ignoreResult);self.jump(after);self.mark(elseLoc);self.explodeViaTempVar(result,path.get("alternate"),hasLeapingChildren,ignoreResult);self.mark(after);return result;case"UnaryExpression":return finish(t.unaryExpression(expr.operator,self.explodeExpression(path.get("argument")),!!expr.prefix));case"BinaryExpression":return finish(t.binaryExpression(expr.operator,self.explodeViaTempVar(null,path.get("left"),hasLeapingChildren),self.explodeViaTempVar(null,path.get("right"),hasLeapingChildren)));case"AssignmentExpression":if(expr.operator==="="){return finish(t.assignmentExpression(expr.operator,self.explodeExpression(path.get("left")),self.explodeExpression(path.get("right"))));}var lhs=self.explodeExpression(path.get("left"));var temp=self.emitAssign(self.makeTempVar(),lhs);return finish(t.assignmentExpression("=",t.cloneDeep(lhs),t.assignmentExpression(expr.operator,t.cloneDeep(temp),self.explodeExpression(path.get("right")))));case"UpdateExpression":return finish(t.updateExpression(expr.operator,self.explodeExpression(path.get("argument")),expr.prefix));case"YieldExpression":after=this.loc();var arg=expr.argument&&self.explodeExpression(path.get("argument"));if(arg&&expr.delegate){var _result=self.makeTempVar();var _ret=t.returnStatement(t.callExpression(self.contextProperty("delegateYield"),[arg,t.stringLiteral(_result.property.name),after]));_ret.loc=expr.loc;self.emit(_ret);self.mark(after);return _result;}self.emitAssign(self.contextProperty("next"),after);var ret=t.returnStatement(t.cloneDeep(arg)||null);ret.loc=expr.loc;self.emit(ret);self.mark(after);return self.contextProperty("sent");case"ClassExpression":return finish(self.explodeClass(path));default:throw new Error("unknown Expression of type "+JSON.stringify(expr.type));}};Ep.explodeClass=function(path){var explodingChildren=[];if(path.node.superClass){explodingChildren.push(path.get("superClass"));}path.get("body.body").forEach(function(member){if(member.node.computed){explodingChildren.push(member.get("key"));}});var hasLeapingChildren=explodingChildren.some(function(child){return meta.containsLeap(child);});for(var i=0;i<explodingChildren.length;i++){var child=explodingChildren[i];var isLast=i===explodingChildren.length-1;if(isLast){child.replaceWith(this.explodeExpression(child));}else{child.replaceWith(this.explodeViaTempVar(null,child,hasLeapingChildren));}}return path.node;};return emit;}var replaceShorthandObjectMethod={};var hasRequiredReplaceShorthandObjectMethod;function requireReplaceShorthandObjectMethod(){if(hasRequiredReplaceShorthandObjectMethod)return replaceShorthandObjectMethod;hasRequiredReplaceShorthandObjectMethod=1;(function(exports){exports.__esModule=true;exports["default"]=replaceShorthandObjectMethod;var util=_interopRequireWildcard(requireUtil());function _getRequireWildcardCache(nodeInterop){if(typeof WeakMap!=="function")return null;var cacheBabelInterop=new WeakMap();var cacheNodeInterop=new WeakMap();return(_getRequireWildcardCache=function _getRequireWildcardCache(nodeInterop){return nodeInterop?cacheNodeInterop:cacheBabelInterop;})(nodeInterop);}function _interopRequireWildcard(obj,nodeInterop){if(!nodeInterop&&obj&&obj.__esModule){return obj;}if(obj===null||_typeof(obj)!=="object"&&typeof obj!=="function"){return{"default":obj};}var cache=_getRequireWildcardCache(nodeInterop);if(cache&&cache.has(obj)){return cache.get(obj);}var newObj={};var hasPropertyDescriptor=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var key in obj){if(key!=="default"&&Object.prototype.hasOwnProperty.call(obj,key)){var desc=hasPropertyDescriptor?Object.getOwnPropertyDescriptor(obj,key):null;if(desc&&(desc.get||desc.set)){Object.defineProperty(newObj,key,desc);}else{newObj[key]=obj[key];}}}newObj["default"]=obj;if(cache){cache.set(obj,newObj);}return newObj;}function replaceShorthandObjectMethod(path){var t=util.getTypes();if(!path.node||!t.isFunction(path.node)){throw new Error("replaceShorthandObjectMethod can only be called on Function AST node paths.");}if(!t.isObjectMethod(path.node)){return path;}if(!path.node.generator){return path;}var parameters=path.node.params.map(function(param){return t.cloneDeep(param);});var functionExpression=t.functionExpression(null,parameters,t.cloneDeep(path.node.body),path.node.generator,path.node.async);util.replaceWithOrRemove(path,t.objectProperty(t.cloneDeep(path.node.key),functionExpression,path.node.computed,false));return path.get("value");}})(replaceShorthandObjectMethod);return replaceShorthandObjectMethod;}var _interopRequireDefault=interopRequireDefaultExports;var _assert=_interopRequireDefault(require$$1$2);var _hoist=requireHoist();var _emit=requireEmit();var _replaceShorthandObjectMethod=_interopRequireDefault(requireReplaceShorthandObjectMethod());var util=_interopRequireWildcard(requireUtil());function _getRequireWildcardCache(nodeInterop){if(typeof WeakMap!=="function")return null;var cacheBabelInterop=new WeakMap();var cacheNodeInterop=new WeakMap();return(_getRequireWildcardCache=function _getRequireWildcardCache(nodeInterop){return nodeInterop?cacheNodeInterop:cacheBabelInterop;})(nodeInterop);}function _interopRequireWildcard(obj,nodeInterop){if(!nodeInterop&&obj&&obj.__esModule){return obj;}if(obj===null||_typeof(obj)!=="object"&&typeof obj!=="function"){return{"default":obj};}var cache=_getRequireWildcardCache(nodeInterop);if(cache&&cache.has(obj)){return cache.get(obj);}var newObj={};var hasPropertyDescriptor=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var key in obj){if(key!=="default"&&Object.prototype.hasOwnProperty.call(obj,key)){var desc=hasPropertyDescriptor?Object.getOwnPropertyDescriptor(obj,key):null;if(desc&&(desc.get||desc.set)){Object.defineProperty(newObj,key,desc);}else{newObj[key]=obj[key];}}}newObj["default"]=obj;if(cache){cache.set(obj,newObj);}return newObj;}visit.getVisitor=function(_ref){var t=_ref.types;return{Method:function Method(path,state){var node=path.node;if(!shouldRegenerate(node,state))return;var container=t.functionExpression(null,[],t.cloneNode(node.body,false),node.generator,node.async);path.get("body").set("body",[t.returnStatement(t.callExpression(container,[]))]);node.async=false;node.generator=false;path.get("body.body.0.argument.callee").unwrapFunctionEnvironment();},Function:{exit:util.wrapWithTypes(t,function(path,state){var node=path.node;if(!shouldRegenerate(node,state))return;path=(0,_replaceShorthandObjectMethod["default"])(path);node=path.node;var contextId=path.scope.generateUidIdentifier("context");var argsId=path.scope.generateUidIdentifier("args");path.ensureBlock();var bodyBlockPath=path.get("body");if(node.async){bodyBlockPath.traverse(awaitVisitor);}bodyBlockPath.traverse(functionSentVisitor,{context:contextId});var outerBody=[];var innerBody=[];bodyBlockPath.get("body").forEach(function(childPath){var node=childPath.node;if(t.isExpressionStatement(node)&&t.isStringLiteral(node.expression)){outerBody.push(node);}else if(node&&node._blockHoist!=null){outerBody.push(node);}else{innerBody.push(node);}});if(outerBody.length>0){bodyBlockPath.node.body=innerBody;}var outerFnExpr=getOuterFnExpr(path);t.assertIdentifier(node.id);var innerFnId=t.identifier(node.id.name+"$");var vars=(0,_hoist.hoist)(path);var context={usesThis:false,usesArguments:false,getArgsId:function getArgsId(){return t.clone(argsId);}};path.traverse(argumentsThisVisitor,context);if(context.usesArguments){vars=vars||t.variableDeclaration("var",[]);vars.declarations.push(t.variableDeclarator(t.clone(argsId),t.identifier("arguments")));}var emitter=new _emit.Emitter(contextId);emitter.explode(path.get("body"));if(vars&&vars.declarations.length>0){outerBody.push(vars);}var wrapArgs=[emitter.getContextFunction(innerFnId)];var tryLocsList=emitter.getTryLocsList();if(node.generator){wrapArgs.push(outerFnExpr);}else if(context.usesThis||tryLocsList||node.async){wrapArgs.push(t.nullLiteral());}if(context.usesThis){wrapArgs.push(t.thisExpression());}else if(tryLocsList||node.async){wrapArgs.push(t.nullLiteral());}if(tryLocsList){wrapArgs.push(tryLocsList);}else if(node.async){wrapArgs.push(t.nullLiteral());}if(node.async){var currentScope=path.scope;do{if(currentScope.hasOwnBinding("Promise"))currentScope.rename("Promise");}while(currentScope=currentScope.parent);wrapArgs.push(t.identifier("Promise"));}var wrapCall=t.callExpression(util.runtimeProperty(node.async?"async":"wrap"),wrapArgs);outerBody.push(t.returnStatement(wrapCall));node.body=t.blockStatement(outerBody);path.get("body.body").forEach(function(p){return p.scope.registerDeclaration(p);});var oldDirectives=bodyBlockPath.node.directives;if(oldDirectives){node.body.directives=oldDirectives;}var wasGeneratorFunction=node.generator;if(wasGeneratorFunction){node.generator=false;}if(node.async){node.async=false;}if(wasGeneratorFunction&&t.isExpression(node)){util.replaceWithOrRemove(path,t.callExpression(util.runtimeProperty("mark"),[node]));path.addComment("leading","#__PURE__");}var insertedLocs=emitter.getInsertedLocs();path.traverse({NumericLiteral:function NumericLiteral(path){if(!insertedLocs.has(path.node)){return;}path.replaceWith(t.numericLiteral(path.node.value));}});path.requeue();})}};};function shouldRegenerate(node,state){if(node.generator){if(node.async){return state.opts.asyncGenerators!==false;}else{return state.opts.generators!==false;}}else if(node.async){return state.opts.async!==false;}else{return false;}}function getOuterFnExpr(funPath){var t=util.getTypes();var node=funPath.node;t.assertFunction(node);if(!node.id){node.id=funPath.scope.parent.generateUidIdentifier("callee");}if(node.generator&&t.isFunctionDeclaration(node)){return getMarkedFunctionId(funPath);}return t.clone(node.id);}var markInfo=new WeakMap();function getMarkInfo(node){if(!markInfo.has(node)){markInfo.set(node,{});}return markInfo.get(node);}function getMarkedFunctionId(funPath){var t=util.getTypes();var node=funPath.node;t.assertIdentifier(node.id);var blockPath=funPath.findParent(function(path){return path.isProgram()||path.isBlockStatement();});if(!blockPath){return node.id;}var block=blockPath.node;_assert["default"].ok(Array.isArray(block.body));var info=getMarkInfo(block);if(!info.decl){info.decl=t.variableDeclaration("var",[]);blockPath.unshiftContainer("body",info.decl);info.declPath=blockPath.get("body.0");}_assert["default"].strictEqual(info.declPath.node,info.decl);var markedId=blockPath.scope.generateUidIdentifier("marked");var markCallExp=t.callExpression(util.runtimeProperty("mark"),[t.clone(node.id)]);var index=info.decl.declarations.push(t.variableDeclarator(markedId,markCallExp))-1;var markCallExpPath=info.declPath.get("declarations."+index+".init");_assert["default"].strictEqual(markCallExpPath.node,markCallExp);markCallExpPath.addComment("leading","#__PURE__");return t.clone(markedId);}var argumentsThisVisitor={"FunctionExpression|FunctionDeclaration|Method":function FunctionExpressionFunctionDeclarationMethod(path){path.skip();},Identifier:function Identifier(path,state){if(path.node.name==="arguments"&&util.isReference(path)){util.replaceWithOrRemove(path,state.getArgsId());state.usesArguments=true;}},ThisExpression:function ThisExpression(path,state){state.usesThis=true;}};var functionSentVisitor={MetaProperty:function MetaProperty(path){var node=path.node;if(node.meta.name==="function"&&node.property.name==="sent"){var t=util.getTypes();util.replaceWithOrRemove(path,t.memberExpression(t.clone(this.context),t.identifier("_sent")));}}};var awaitVisitor={Function:function Function(path){path.skip();},AwaitExpression:function AwaitExpression(path){var t=util.getTypes();var argument=path.node.argument;util.replaceWithOrRemove(path,t.yieldExpression(t.callExpression(util.runtimeProperty("awrap"),[argument]),false));}};(function(exports){exports.__esModule=true;exports["default"]=_default;var _visit=visit;function _default(context){var plugin={visitor:(0,_visit.getVisitor)(context)};var version=context&&context.version;if(version&&parseInt(version,10)>=7){plugin.name="regenerator-transform";}return plugin;}})(lib$7);var _transformRegenerator=declare(function(_ref){var t=_ref.types,assertVersion=_ref.assertVersion;assertVersion("*");return{name:"transform-regenerator",inherits:lib$7["default"],visitor:{CallExpression:function CallExpression(path){{var _this$availableHelper;if(!((_this$availableHelper=this.availableHelper)!=null&&_this$availableHelper.call(this,"regeneratorRuntime"))){return;}}var callee=path.get("callee");if(!callee.isMemberExpression())return;var obj=callee.get("object");if(obj.isIdentifier({name:"regeneratorRuntime"})){var helper=this.addHelper("regeneratorRuntime");{if(t.isArrowFunctionExpression(helper)){obj.replaceWith(helper.body);return;}}obj.replaceWith(t.callExpression(helper,[]));}}}};});var _transformReservedWords=declare(function(api){api.assertVersion("*");return{name:"transform-reserved-words",visitor:{"BindingIdentifier|ReferencedIdentifier":function BindingIdentifierReferencedIdentifier(path){if(!isValidES3Identifier(path.node.name)){path.scope.rename(path.node.name);}}}};});function bool$1(value){if(value==null)return false;return value&&value!=="false"&&value!=="0";}var semver$5=bool$1(browser$1$1.env["BABEL_8_BREAKING"])?requireSemver$2():requireSemver$2();function hasMinVersion(minVersion,runtimeVersion){if(!runtimeVersion)return true;if(semver$5.valid(runtimeVersion))runtimeVersion="^"+runtimeVersion;return!semver$5.intersects("<"+minVersion,runtimeVersion)&&!semver$5.intersects(">=8.0.0",runtimeVersion);}function getRuntimePath(moduleName,dirname,absoluteRuntime){if(absoluteRuntime===false)return moduleName;resolveFSPath();}function resolveFSPath(){throw new Error("The 'absoluteRuntime' option is not supported when using @babel/standalone.");}var babel7={};var lib$6={};var require$$0$5={"es6.array.copy-within":{chrome:"45",opera:"32",edge:"12",firefox:"32",safari:"9",node:"4",deno:"1",ios:"9",samsung:"5",rhino:"1.7.13",opera_mobile:"32",electron:"0.31"},"es6.array.every":{chrome:"5",opera:"10.10",edge:"12",firefox:"2",safari:"3.1",node:"0.4",deno:"1",ie:"9",android:"4",ios:"6",phantom:"1.9",samsung:"1",rhino:"1.7.13",opera_mobile:"10.1",electron:"0.20"},"es6.array.fill":{chrome:"45",opera:"32",edge:"12",firefox:"31",safari:"7.1",node:"4",deno:"1",ios:"8",samsung:"5",rhino:"1.7.13",opera_mobile:"32",electron:"0.31"},"es6.array.filter":{chrome:"51",opera:"38",edge:"13",firefox:"48",safari:"10",node:"6.5",deno:"1",ios:"10",samsung:"5",opera_mobile:"41",electron:"1.2"},"es6.array.find":{chrome:"45",opera:"32",edge:"12",firefox:"25",safari:"7.1",node:"4",deno:"1",ios:"8",samsung:"5",rhino:"1.7.13",opera_mobile:"32",electron:"0.31"},"es6.array.find-index":{chrome:"45",opera:"32",edge:"12",firefox:"25",safari:"7.1",node:"4",deno:"1",ios:"8",samsung:"5",rhino:"1.7.13",opera_mobile:"32",electron:"0.31"},"es7.array.flat-map":{chrome:"69",opera:"56",edge:"79",firefox:"62",safari:"12",node:"11",deno:"1",ios:"12",samsung:"10",opera_mobile:"48",electron:"4.0"},"es6.array.for-each":{chrome:"5",opera:"10.10",edge:"12",firefox:"2",safari:"3.1",node:"0.4",deno:"1",ie:"9",android:"4",ios:"6",phantom:"1.9",samsung:"1",rhino:"1.7.13",opera_mobile:"10.1",electron:"0.20"},"es6.array.from":{chrome:"51",opera:"38",edge:"15",firefox:"36",safari:"10",node:"6.5",deno:"1",ios:"10",samsung:"5",opera_mobile:"41",electron:"1.2"},"es7.array.includes":{chrome:"47",opera:"34",edge:"14",firefox:"102",safari:"10",node:"6",deno:"1",ios:"10",samsung:"5",opera_mobile:"34",electron:"0.36"},"es6.array.index-of":{chrome:"5",opera:"10.10",edge:"12",firefox:"2",safari:"3.1",node:"0.4",deno:"1",ie:"9",android:"4",ios:"6",phantom:"1.9",samsung:"1",rhino:"1.7.13",opera_mobile:"10.1",electron:"0.20"},"es6.array.is-array":{chrome:"5",opera:"10.50",edge:"12",firefox:"4",safari:"4",node:"0.4",deno:"1",ie:"9",android:"4",ios:"6",phantom:"1.9",samsung:"1",rhino:"1.7.13",opera_mobile:"10.1",electron:"0.20"},"es6.array.iterator":{chrome:"66",opera:"53",edge:"12",firefox:"60",safari:"9",node:"10",deno:"1",ios:"9",samsung:"9",rhino:"1.7.13",opera_mobile:"47",electron:"3.0"},"es6.array.last-index-of":{chrome:"5",opera:"10.10",edge:"12",firefox:"2",safari:"3.1",node:"0.4",deno:"1",ie:"9",android:"4",ios:"6",phantom:"1.9",samsung:"1",rhino:"1.7.13",opera_mobile:"10.1",electron:"0.20"},"es6.array.map":{chrome:"51",opera:"38",edge:"13",firefox:"48",safari:"10",node:"6.5",deno:"1",ios:"10",samsung:"5",opera_mobile:"41",electron:"1.2"},"es6.array.of":{chrome:"45",opera:"32",edge:"12",firefox:"25",safari:"9",node:"4",deno:"1",ios:"9",samsung:"5",rhino:"1.7.13",opera_mobile:"32",electron:"0.31"},"es6.array.reduce":{chrome:"5",opera:"10.50",edge:"12",firefox:"3",safari:"4",node:"0.4",deno:"1",ie:"9",android:"4",ios:"6",phantom:"1.9",samsung:"1",rhino:"1.7.13",opera_mobile:"10.1",electron:"0.20"},"es6.array.reduce-right":{chrome:"5",opera:"10.50",edge:"12",firefox:"3",safari:"4",node:"0.4",deno:"1",ie:"9",android:"4",ios:"6",phantom:"1.9",samsung:"1",rhino:"1.7.13",opera_mobile:"10.1",electron:"0.20"},"es6.array.slice":{chrome:"51",opera:"38",edge:"13",firefox:"48",safari:"10",node:"6.5",deno:"1",ios:"10",samsung:"5",opera_mobile:"41",electron:"1.2"},"es6.array.some":{chrome:"5",opera:"10.10",edge:"12",firefox:"2",safari:"3.1",node:"0.4",deno:"1",ie:"9",android:"4",ios:"6",phantom:"1.9",samsung:"1",rhino:"1.7.13",opera_mobile:"10.1",electron:"0.20"},"es6.array.sort":{chrome:"63",opera:"50",edge:"12",firefox:"5",safari:"12",node:"10",deno:"1",ie:"9",ios:"12",samsung:"8",rhino:"1.7.13",opera_mobile:"46",electron:"3.0"},"es6.array.species":{chrome:"51",opera:"38",edge:"13",firefox:"48",safari:"10",node:"6.5",deno:"1",ios:"10",samsung:"5",opera_mobile:"41",electron:"1.2"},"es6.date.now":{chrome:"5",opera:"10.50",edge:"12",firefox:"2",safari:"4",node:"0.4",deno:"1",ie:"9",android:"4",ios:"6",phantom:"1.9",samsung:"1",rhino:"1.7.13",opera_mobile:"10.1",electron:"0.20"},"es6.date.to-iso-string":{chrome:"5",opera:"10.50",edge:"12",firefox:"3.5",safari:"4",node:"0.4",deno:"1",ie:"9",android:"4",ios:"6",phantom:"1.9",samsung:"1",rhino:"1.7.13",opera_mobile:"10.1",electron:"0.20"},"es6.date.to-json":{chrome:"5",opera:"12.10",edge:"12",firefox:"4",safari:"10",node:"0.4",deno:"1",ie:"9",android:"4",ios:"10",samsung:"1",rhino:"1.7.13",opera_mobile:"12.1",electron:"0.20"},"es6.date.to-primitive":{chrome:"47",opera:"34",edge:"15",firefox:"44",safari:"10",node:"6",deno:"1",ios:"10",samsung:"5",opera_mobile:"34",electron:"0.36"},"es6.date.to-string":{chrome:"5",opera:"10.50",edge:"12",firefox:"2",safari:"3.1",node:"0.4",deno:"1",ie:"10",android:"4",ios:"6",phantom:"1.9",samsung:"1",rhino:"1.7.13",opera_mobile:"10.1",electron:"0.20"},"es6.function.bind":{chrome:"7",opera:"12",edge:"12",firefox:"4",safari:"5.1",node:"0.4",deno:"1",ie:"9",android:"4",ios:"6",phantom:"1.9",samsung:"1",rhino:"1.7.13",opera_mobile:"12",electron:"0.20"},"es6.function.has-instance":{chrome:"51",opera:"38",edge:"15",firefox:"50",safari:"10",node:"6.5",deno:"1",ios:"10",samsung:"5",opera_mobile:"41",electron:"1.2"},"es6.function.name":{chrome:"5",opera:"10.50",edge:"14",firefox:"2",safari:"4",node:"0.4",deno:"1",android:"4",ios:"6",phantom:"1.9",samsung:"1",rhino:"1.7.13",opera_mobile:"10.1",electron:"0.20"},"es6.map":{chrome:"51",opera:"38",edge:"15",firefox:"53",safari:"10",node:"6.5",deno:"1",ios:"10",samsung:"5",opera_mobile:"41",electron:"1.2"},"es6.math.acosh":{chrome:"38",opera:"25",edge:"12",firefox:"25",safari:"7.1",node:"0.12",deno:"1",ios:"8",samsung:"3",rhino:"1.7.13",opera_mobile:"25",electron:"0.20"},"es6.math.asinh":{chrome:"38",opera:"25",edge:"12",firefox:"25",safari:"7.1",node:"0.12",deno:"1",ios:"8",samsung:"3",rhino:"1.7.13",opera_mobile:"25",electron:"0.20"},"es6.math.atanh":{chrome:"38",opera:"25",edge:"12",firefox:"25",safari:"7.1",node:"0.12",deno:"1",ios:"8",samsung:"3",rhino:"1.7.13",opera_mobile:"25",electron:"0.20"},"es6.math.cbrt":{chrome:"38",opera:"25",edge:"12",firefox:"25",safari:"7.1",node:"0.12",deno:"1",ios:"8",samsung:"3",rhino:"1.7.13",opera_mobile:"25",electron:"0.20"},"es6.math.clz32":{chrome:"38",opera:"25",edge:"12",firefox:"31",safari:"9",node:"0.12",deno:"1",ios:"9",samsung:"3",rhino:"1.7.13",opera_mobile:"25",electron:"0.20"},"es6.math.cosh":{chrome:"38",opera:"25",edge:"12",firefox:"25",safari:"7.1",node:"0.12",deno:"1",ios:"8",samsung:"3",rhino:"1.7.13",opera_mobile:"25",electron:"0.20"},"es6.math.expm1":{chrome:"38",opera:"25",edge:"12",firefox:"25",safari:"7.1",node:"0.12",deno:"1",ios:"8",samsung:"3",rhino:"1.7.13",opera_mobile:"25",electron:"0.20"},"es6.math.fround":{chrome:"38",opera:"25",edge:"12",firefox:"26",safari:"7.1",node:"0.12",deno:"1",ios:"8",samsung:"3",rhino:"1.7.13",opera_mobile:"25",electron:"0.20"},"es6.math.hypot":{chrome:"38",opera:"25",edge:"12",firefox:"27",safari:"7.1",node:"0.12",deno:"1",ios:"8",samsung:"3",rhino:"1.7.13",opera_mobile:"25",electron:"0.20"},"es6.math.imul":{chrome:"30",opera:"17",edge:"12",firefox:"23",safari:"7",node:"0.12",deno:"1",android:"4.4",ios:"7",samsung:"2",rhino:"1.7.13",opera_mobile:"18",electron:"0.20"},"es6.math.log1p":{chrome:"38",opera:"25",edge:"12",firefox:"25",safari:"7.1",node:"0.12",deno:"1",ios:"8",samsung:"3",rhino:"1.7.13",opera_mobile:"25",electron:"0.20"},"es6.math.log10":{chrome:"38",opera:"25",edge:"12",firefox:"25",safari:"7.1",node:"0.12",deno:"1",ios:"8",samsung:"3",rhino:"1.7.13",opera_mobile:"25",electron:"0.20"},"es6.math.log2":{chrome:"38",opera:"25",edge:"12",firefox:"25",safari:"7.1",node:"0.12",deno:"1",ios:"8",samsung:"3",rhino:"1.7.13",opera_mobile:"25",electron:"0.20"},"es6.math.sign":{chrome:"38",opera:"25",edge:"12",firefox:"25",safari:"9",node:"0.12",deno:"1",ios:"9",samsung:"3",rhino:"1.7.13",opera_mobile:"25",electron:"0.20"},"es6.math.sinh":{chrome:"38",opera:"25",edge:"12",firefox:"25",safari:"7.1",node:"0.12",deno:"1",ios:"8",samsung:"3",rhino:"1.7.13",opera_mobile:"25",electron:"0.20"},"es6.math.tanh":{chrome:"38",opera:"25",edge:"12",firefox:"25",safari:"7.1",node:"0.12",deno:"1",ios:"8",samsung:"3",rhino:"1.7.13",opera_mobile:"25",electron:"0.20"},"es6.math.trunc":{chrome:"38",opera:"25",edge:"12",firefox:"25",safari:"7.1",node:"0.12",deno:"1",ios:"8",samsung:"3",rhino:"1.7.13",opera_mobile:"25",electron:"0.20"},"es6.number.constructor":{chrome:"41",opera:"28",edge:"12",firefox:"36",safari:"9",node:"4",deno:"1",ios:"9",samsung:"3.4",rhino:"1.7.13",opera_mobile:"28",electron:"0.21"},"es6.number.epsilon":{chrome:"34",opera:"21",edge:"12",firefox:"25",safari:"9",node:"0.12",deno:"1",ios:"9",samsung:"2",rhino:"1.7.14",opera_mobile:"21",electron:"0.20"},"es6.number.is-finite":{chrome:"19",opera:"15",edge:"12",firefox:"16",safari:"9",node:"0.8",deno:"1",android:"4.1",ios:"9",samsung:"1.5",rhino:"1.7.13",opera_mobile:"14",electron:"0.20"},"es6.number.is-integer":{chrome:"34",opera:"21",edge:"12",firefox:"16",safari:"9",node:"0.12",deno:"1",ios:"9",samsung:"2",rhino:"1.7.13",opera_mobile:"21",electron:"0.20"},"es6.number.is-nan":{chrome:"19",opera:"15",edge:"12",firefox:"15",safari:"9",node:"0.8",deno:"1",android:"4.1",ios:"9",samsung:"1.5",rhino:"1.7.13",opera_mobile:"14",electron:"0.20"},"es6.number.is-safe-integer":{chrome:"34",opera:"21",edge:"12",firefox:"32",safari:"9",node:"0.12",deno:"1",ios:"9",samsung:"2",rhino:"1.7.13",opera_mobile:"21",electron:"0.20"},"es6.number.max-safe-integer":{chrome:"34",opera:"21",edge:"12",firefox:"31",safari:"9",node:"0.12",deno:"1",ios:"9",samsung:"2",rhino:"1.7.13",opera_mobile:"21",electron:"0.20"},"es6.number.min-safe-integer":{chrome:"34",opera:"21",edge:"12",firefox:"31",safari:"9",node:"0.12",deno:"1",ios:"9",samsung:"2",rhino:"1.7.13",opera_mobile:"21",electron:"0.20"},"es6.number.parse-float":{chrome:"34",opera:"21",edge:"12",firefox:"25",safari:"9",node:"0.12",deno:"1",ios:"9",samsung:"2",rhino:"1.7.14",opera_mobile:"21",electron:"0.20"},"es6.number.parse-int":{chrome:"34",opera:"21",edge:"12",firefox:"25",safari:"9",node:"0.12",deno:"1",ios:"9",samsung:"2",rhino:"1.7.14",opera_mobile:"21",electron:"0.20"},"es6.object.assign":{chrome:"49",opera:"36",edge:"13",firefox:"36",safari:"10",node:"6",deno:"1",ios:"10",samsung:"5",opera_mobile:"36",electron:"0.37"},"es6.object.create":{chrome:"5",opera:"12",edge:"12",firefox:"4",safari:"4",node:"0.4",deno:"1",ie:"9",android:"4",ios:"6",phantom:"1.9",samsung:"1",rhino:"1.7.13",opera_mobile:"12",electron:"0.20"},"es7.object.define-getter":{chrome:"62",opera:"49",edge:"16",firefox:"48",safari:"9",node:"8.10",deno:"1",ios:"9",samsung:"8",opera_mobile:"46",electron:"3.0"},"es7.object.define-setter":{chrome:"62",opera:"49",edge:"16",firefox:"48",safari:"9",node:"8.10",deno:"1",ios:"9",samsung:"8",opera_mobile:"46",electron:"3.0"},"es6.object.define-property":{chrome:"5",opera:"12",edge:"12",firefox:"4",safari:"5.1",node:"0.4",deno:"1",ie:"9",android:"4",ios:"6",phantom:"1.9",samsung:"1",rhino:"1.7.13",opera_mobile:"12",electron:"0.20"},"es6.object.define-properties":{chrome:"5",opera:"12",edge:"12",firefox:"4",safari:"4",node:"0.4",deno:"1",ie:"9",android:"4",ios:"6",phantom:"1.9",samsung:"1",rhino:"1.7.13",opera_mobile:"12",electron:"0.20"},"es7.object.entries":{chrome:"54",opera:"41",edge:"14",firefox:"47",safari:"10.1",node:"7",deno:"1",ios:"10.3",samsung:"6",rhino:"1.7.14",opera_mobile:"41",electron:"1.4"},"es6.object.freeze":{chrome:"44",opera:"31",edge:"12",firefox:"35",safari:"9",node:"4",deno:"1",ios:"9",samsung:"4",rhino:"1.7.13",opera_mobile:"32",electron:"0.30"},"es6.object.get-own-property-descriptor":{chrome:"44",opera:"31",edge:"12",firefox:"35",safari:"9",node:"4",deno:"1",ios:"9",samsung:"4",rhino:"1.7.13",opera_mobile:"32",electron:"0.30"},"es7.object.get-own-property-descriptors":{chrome:"54",opera:"41",edge:"15",firefox:"50",safari:"10.1",node:"7",deno:"1",ios:"10.3",samsung:"6",opera_mobile:"41",electron:"1.4"},"es6.object.get-own-property-names":{chrome:"40",opera:"27",edge:"12",firefox:"33",safari:"9",node:"4",deno:"1",ios:"9",samsung:"3.4",rhino:"1.7.13",opera_mobile:"27",electron:"0.21"},"es6.object.get-prototype-of":{chrome:"44",opera:"31",edge:"12",firefox:"35",safari:"9",node:"4",deno:"1",ios:"9",samsung:"4",rhino:"1.7.13",opera_mobile:"32",electron:"0.30"},"es7.object.lookup-getter":{chrome:"62",opera:"49",edge:"79",firefox:"36",safari:"9",node:"8.10",deno:"1",ios:"9",samsung:"8",opera_mobile:"46",electron:"3.0"},"es7.object.lookup-setter":{chrome:"62",opera:"49",edge:"79",firefox:"36",safari:"9",node:"8.10",deno:"1",ios:"9",samsung:"8",opera_mobile:"46",electron:"3.0"},"es6.object.prevent-extensions":{chrome:"44",opera:"31",edge:"12",firefox:"35",safari:"9",node:"4",deno:"1",ios:"9",samsung:"4",rhino:"1.7.13",opera_mobile:"32",electron:"0.30"},"es6.object.to-string":{chrome:"57",opera:"44",edge:"15",firefox:"51",safari:"10",node:"8",deno:"1",ios:"10",samsung:"7",opera_mobile:"43",electron:"1.7"},"es6.object.is":{chrome:"19",opera:"15",edge:"12",firefox:"22",safari:"9",node:"0.8",deno:"1",android:"4.1",ios:"9",samsung:"1.5",rhino:"1.7.13",opera_mobile:"14",electron:"0.20"},"es6.object.is-frozen":{chrome:"44",opera:"31",edge:"12",firefox:"35",safari:"9",node:"4",deno:"1",ios:"9",samsung:"4",rhino:"1.7.13",opera_mobile:"32",electron:"0.30"},"es6.object.is-sealed":{chrome:"44",opera:"31",edge:"12",firefox:"35",safari:"9",node:"4",deno:"1",ios:"9",samsung:"4",rhino:"1.7.13",opera_mobile:"32",electron:"0.30"},"es6.object.is-extensible":{chrome:"44",opera:"31",edge:"12",firefox:"35",safari:"9",node:"4",deno:"1",ios:"9",samsung:"4",rhino:"1.7.13",opera_mobile:"32",electron:"0.30"},"es6.object.keys":{chrome:"40",opera:"27",edge:"12",firefox:"35",safari:"9",node:"4",deno:"1",ios:"9",samsung:"3.4",rhino:"1.7.13",opera_mobile:"27",electron:"0.21"},"es6.object.seal":{chrome:"44",opera:"31",edge:"12",firefox:"35",safari:"9",node:"4",deno:"1",ios:"9",samsung:"4",rhino:"1.7.13",opera_mobile:"32",electron:"0.30"},"es6.object.set-prototype-of":{chrome:"34",opera:"21",edge:"12",firefox:"31",safari:"9",node:"0.12",deno:"1",ie:"11",ios:"9",samsung:"2",rhino:"1.7.13",opera_mobile:"21",electron:"0.20"},"es7.object.values":{chrome:"54",opera:"41",edge:"14",firefox:"47",safari:"10.1",node:"7",deno:"1",ios:"10.3",samsung:"6",rhino:"1.7.14",opera_mobile:"41",electron:"1.4"},"es6.promise":{chrome:"51",opera:"38",edge:"14",firefox:"45",safari:"10",node:"6.5",deno:"1",ios:"10",samsung:"5",opera_mobile:"41",electron:"1.2"},"es7.promise.finally":{chrome:"63",opera:"50",edge:"18",firefox:"58",safari:"11.1",node:"10",deno:"1",ios:"11.3",samsung:"8",opera_mobile:"46",electron:"3.0"},"es6.reflect.apply":{chrome:"49",opera:"36",edge:"12",firefox:"42",safari:"10",node:"6",deno:"1",ios:"10",samsung:"5",opera_mobile:"36",electron:"0.37"},"es6.reflect.construct":{chrome:"49",opera:"36",edge:"13",firefox:"49",safari:"10",node:"6",deno:"1",ios:"10",samsung:"5",opera_mobile:"36",electron:"0.37"},"es6.reflect.define-property":{chrome:"49",opera:"36",edge:"13",firefox:"42",safari:"10",node:"6",deno:"1",ios:"10",samsung:"5",opera_mobile:"36",electron:"0.37"},"es6.reflect.delete-property":{chrome:"49",opera:"36",edge:"12",firefox:"42",safari:"10",node:"6",deno:"1",ios:"10",samsung:"5",opera_mobile:"36",electron:"0.37"},"es6.reflect.get":{chrome:"49",opera:"36",edge:"12",firefox:"42",safari:"10",node:"6",deno:"1",ios:"10",samsung:"5",opera_mobile:"36",electron:"0.37"},"es6.reflect.get-own-property-descriptor":{chrome:"49",opera:"36",edge:"12",firefox:"42",safari:"10",node:"6",deno:"1",ios:"10",samsung:"5",opera_mobile:"36",electron:"0.37"},"es6.reflect.get-prototype-of":{chrome:"49",opera:"36",edge:"12",firefox:"42",safari:"10",node:"6",deno:"1",ios:"10",samsung:"5",opera_mobile:"36",electron:"0.37"},"es6.reflect.has":{chrome:"49",opera:"36",edge:"12",firefox:"42",safari:"10",node:"6",deno:"1",ios:"10",samsung:"5",opera_mobile:"36",electron:"0.37"},"es6.reflect.is-extensible":{chrome:"49",opera:"36",edge:"12",firefox:"42",safari:"10",node:"6",deno:"1",ios:"10",samsung:"5",opera_mobile:"36",electron:"0.37"},"es6.reflect.own-keys":{chrome:"49",opera:"36",edge:"12",firefox:"42",safari:"10",node:"6",deno:"1",ios:"10",samsung:"5",opera_mobile:"36",electron:"0.37"},"es6.reflect.prevent-extensions":{chrome:"49",opera:"36",edge:"12",firefox:"42",safari:"10",node:"6",deno:"1",ios:"10",samsung:"5",opera_mobile:"36",electron:"0.37"},"es6.reflect.set":{chrome:"49",opera:"36",edge:"12",firefox:"42",safari:"10",node:"6",deno:"1",ios:"10",samsung:"5",opera_mobile:"36",electron:"0.37"},"es6.reflect.set-prototype-of":{chrome:"49",opera:"36",edge:"12",firefox:"42",safari:"10",node:"6",deno:"1",ios:"10",samsung:"5",opera_mobile:"36",electron:"0.37"},"es6.regexp.constructor":{chrome:"50",opera:"37",edge:"79",firefox:"40",safari:"10",node:"6",deno:"1",ios:"10",samsung:"5",opera_mobile:"37",electron:"1.1"},"es6.regexp.flags":{chrome:"49",opera:"36",edge:"79",firefox:"37",safari:"9",node:"6",deno:"1",ios:"9",samsung:"5",opera_mobile:"36",electron:"0.37"},"es6.regexp.match":{chrome:"50",opera:"37",edge:"79",firefox:"49",safari:"10",node:"6",deno:"1",ios:"10",samsung:"5",rhino:"1.7.13",opera_mobile:"37",electron:"1.1"},"es6.regexp.replace":{chrome:"50",opera:"37",edge:"79",firefox:"49",safari:"10",node:"6",deno:"1",ios:"10",samsung:"5",opera_mobile:"37",electron:"1.1"},"es6.regexp.split":{chrome:"50",opera:"37",edge:"79",firefox:"49",safari:"10",node:"6",deno:"1",ios:"10",samsung:"5",opera_mobile:"37",electron:"1.1"},"es6.regexp.search":{chrome:"50",opera:"37",edge:"79",firefox:"49",safari:"10",node:"6",deno:"1",ios:"10",samsung:"5",rhino:"1.7.13",opera_mobile:"37",electron:"1.1"},"es6.regexp.to-string":{chrome:"50",opera:"37",edge:"79",firefox:"39",safari:"10",node:"6",deno:"1",ios:"10",samsung:"5",opera_mobile:"37",electron:"1.1"},"es6.set":{chrome:"51",opera:"38",edge:"15",firefox:"53",safari:"10",node:"6.5",deno:"1",ios:"10",samsung:"5",opera_mobile:"41",electron:"1.2"},"es6.symbol":{chrome:"51",opera:"38",edge:"79",firefox:"51",safari:"10",node:"6.5",deno:"1",ios:"10",samsung:"5",opera_mobile:"41",electron:"1.2"},"es7.symbol.async-iterator":{chrome:"63",opera:"50",edge:"79",firefox:"57",safari:"12",node:"10",deno:"1",ios:"12",samsung:"8",opera_mobile:"46",electron:"3.0"},"es6.string.anchor":{chrome:"5",opera:"15",edge:"12",firefox:"17",safari:"6",node:"0.4",deno:"1",android:"4",ios:"7",phantom:"1.9",samsung:"1",rhino:"1.7.14",opera_mobile:"14",electron:"0.20"},"es6.string.big":{chrome:"5",opera:"15",edge:"12",firefox:"17",safari:"6",node:"0.4",deno:"1",android:"4",ios:"7",phantom:"1.9",samsung:"1",rhino:"1.7.14",opera_mobile:"14",electron:"0.20"},"es6.string.blink":{chrome:"5",opera:"15",edge:"12",firefox:"17",safari:"6",node:"0.4",deno:"1",android:"4",ios:"7",phantom:"1.9",samsung:"1",rhino:"1.7.14",opera_mobile:"14",electron:"0.20"},"es6.string.bold":{chrome:"5",opera:"15",edge:"12",firefox:"17",safari:"6",node:"0.4",deno:"1",android:"4",ios:"7",phantom:"1.9",samsung:"1",rhino:"1.7.14",opera_mobile:"14",electron:"0.20"},"es6.string.code-point-at":{chrome:"41",opera:"28",edge:"12",firefox:"29",safari:"9",node:"4",deno:"1",ios:"9",samsung:"3.4",rhino:"1.7.13",opera_mobile:"28",electron:"0.21"},"es6.string.ends-with":{chrome:"41",opera:"28",edge:"12",firefox:"29",safari:"9",node:"4",deno:"1",ios:"9",samsung:"3.4",rhino:"1.7.13",opera_mobile:"28",electron:"0.21"},"es6.string.fixed":{chrome:"5",opera:"15",edge:"12",firefox:"17",safari:"6",node:"0.4",deno:"1",android:"4",ios:"7",phantom:"1.9",samsung:"1",rhino:"1.7.14",opera_mobile:"14",electron:"0.20"},"es6.string.fontcolor":{chrome:"5",opera:"15",edge:"12",firefox:"17",safari:"6",node:"0.4",deno:"1",android:"4",ios:"7",phantom:"1.9",samsung:"1",rhino:"1.7.14",opera_mobile:"14",electron:"0.20"},"es6.string.fontsize":{chrome:"5",opera:"15",edge:"12",firefox:"17",safari:"6",node:"0.4",deno:"1",android:"4",ios:"7",phantom:"1.9",samsung:"1",rhino:"1.7.14",opera_mobile:"14",electron:"0.20"},"es6.string.from-code-point":{chrome:"41",opera:"28",edge:"12",firefox:"29",safari:"9",node:"4",deno:"1",ios:"9",samsung:"3.4",rhino:"1.7.13",opera_mobile:"28",electron:"0.21"},"es6.string.includes":{chrome:"41",opera:"28",edge:"12",firefox:"40",safari:"9",node:"4",deno:"1",ios:"9",samsung:"3.4",rhino:"1.7.13",opera_mobile:"28",electron:"0.21"},"es6.string.italics":{chrome:"5",opera:"15",edge:"12",firefox:"17",safari:"6",node:"0.4",deno:"1",android:"4",ios:"7",phantom:"1.9",samsung:"1",rhino:"1.7.14",opera_mobile:"14",electron:"0.20"},"es6.string.iterator":{chrome:"38",opera:"25",edge:"12",firefox:"36",safari:"9",node:"0.12",deno:"1",ios:"9",samsung:"3",rhino:"1.7.13",opera_mobile:"25",electron:"0.20"},"es6.string.link":{chrome:"5",opera:"15",edge:"12",firefox:"17",safari:"6",node:"0.4",deno:"1",android:"4",ios:"7",phantom:"1.9",samsung:"1",rhino:"1.7.14",opera_mobile:"14",electron:"0.20"},"es7.string.pad-start":{chrome:"57",opera:"44",edge:"15",firefox:"48",safari:"10",node:"8",deno:"1",ios:"10",samsung:"7",rhino:"1.7.13",opera_mobile:"43",electron:"1.7"},"es7.string.pad-end":{chrome:"57",opera:"44",edge:"15",firefox:"48",safari:"10",node:"8",deno:"1",ios:"10",samsung:"7",rhino:"1.7.13",opera_mobile:"43",electron:"1.7"},"es6.string.raw":{chrome:"41",opera:"28",edge:"12",firefox:"34",safari:"9",node:"4",deno:"1",ios:"9",samsung:"3.4",rhino:"1.7.14",opera_mobile:"28",electron:"0.21"},"es6.string.repeat":{chrome:"41",opera:"28",edge:"12",firefox:"24",safari:"9",node:"4",deno:"1",ios:"9",samsung:"3.4",rhino:"1.7.13",opera_mobile:"28",electron:"0.21"},"es6.string.small":{chrome:"5",opera:"15",edge:"12",firefox:"17",safari:"6",node:"0.4",deno:"1",android:"4",ios:"7",phantom:"1.9",samsung:"1",rhino:"1.7.14",opera_mobile:"14",electron:"0.20"},"es6.string.starts-with":{chrome:"41",opera:"28",edge:"12",firefox:"29",safari:"9",node:"4",deno:"1",ios:"9",samsung:"3.4",rhino:"1.7.13",opera_mobile:"28",electron:"0.21"},"es6.string.strike":{chrome:"5",opera:"15",edge:"12",firefox:"17",safari:"6",node:"0.4",deno:"1",android:"4",ios:"7",phantom:"1.9",samsung:"1",rhino:"1.7.14",opera_mobile:"14",electron:"0.20"},"es6.string.sub":{chrome:"5",opera:"15",edge:"12",firefox:"17",safari:"6",node:"0.4",deno:"1",android:"4",ios:"7",phantom:"1.9",samsung:"1",rhino:"1.7.14",opera_mobile:"14",electron:"0.20"},"es6.string.sup":{chrome:"5",opera:"15",edge:"12",firefox:"17",safari:"6",node:"0.4",deno:"1",android:"4",ios:"7",phantom:"1.9",samsung:"1",rhino:"1.7.14",opera_mobile:"14",electron:"0.20"},"es6.string.trim":{chrome:"5",opera:"10.50",edge:"12",firefox:"3.5",safari:"4",node:"0.4",deno:"1",ie:"9",android:"4",ios:"6",phantom:"1.9",samsung:"1",rhino:"1.7.13",opera_mobile:"10.1",electron:"0.20"},"es7.string.trim-left":{chrome:"66",opera:"53",edge:"79",firefox:"61",safari:"12",node:"10",deno:"1",ios:"12",samsung:"9",rhino:"1.7.13",opera_mobile:"47",electron:"3.0"},"es7.string.trim-right":{chrome:"66",opera:"53",edge:"79",firefox:"61",safari:"12",node:"10",deno:"1",ios:"12",samsung:"9",rhino:"1.7.13",opera_mobile:"47",electron:"3.0"},"es6.typed.array-buffer":{chrome:"51",opera:"38",edge:"13",firefox:"48",safari:"10",node:"6.5",deno:"1",ios:"10",samsung:"5",opera_mobile:"41",electron:"1.2"},"es6.typed.data-view":{chrome:"5",opera:"12",edge:"12",firefox:"15",safari:"5.1",node:"0.4",deno:"1",ie:"10",android:"4",ios:"6",phantom:"1.9",samsung:"1",rhino:"1.7.13",opera_mobile:"12",electron:"0.20"},"es6.typed.int8-array":{chrome:"51",opera:"38",edge:"13",firefox:"48",safari:"10",node:"6.5",deno:"1",ios:"10",samsung:"5",opera_mobile:"41",electron:"1.2"},"es6.typed.uint8-array":{chrome:"51",opera:"38",edge:"13",firefox:"48",safari:"10",node:"6.5",deno:"1",ios:"10",samsung:"5",opera_mobile:"41",electron:"1.2"},"es6.typed.uint8-clamped-array":{chrome:"51",opera:"38",edge:"13",firefox:"48",safari:"10",node:"6.5",deno:"1",ios:"10",samsung:"5",opera_mobile:"41",electron:"1.2"},"es6.typed.int16-array":{chrome:"51",opera:"38",edge:"13",firefox:"48",safari:"10",node:"6.5",deno:"1",ios:"10",samsung:"5",opera_mobile:"41",electron:"1.2"},"es6.typed.uint16-array":{chrome:"51",opera:"38",edge:"13",firefox:"48",safari:"10",node:"6.5",deno:"1",ios:"10",samsung:"5",opera_mobile:"41",electron:"1.2"},"es6.typed.int32-array":{chrome:"51",opera:"38",edge:"13",firefox:"48",safari:"10",node:"6.5",deno:"1",ios:"10",samsung:"5",opera_mobile:"41",electron:"1.2"},"es6.typed.uint32-array":{chrome:"51",opera:"38",edge:"13",firefox:"48",safari:"10",node:"6.5",deno:"1",ios:"10",samsung:"5",opera_mobile:"41",electron:"1.2"},"es6.typed.float32-array":{chrome:"51",opera:"38",edge:"13",firefox:"48",safari:"10",node:"6.5",deno:"1",ios:"10",samsung:"5",opera_mobile:"41",electron:"1.2"},"es6.typed.float64-array":{chrome:"51",opera:"38",edge:"13",firefox:"48",safari:"10",node:"6.5",deno:"1",ios:"10",samsung:"5",opera_mobile:"41",electron:"1.2"},"es6.weak-map":{chrome:"51",opera:"38",edge:"15",firefox:"53",safari:"9",node:"6.5",deno:"1",ios:"9",samsung:"5",opera_mobile:"41",electron:"1.2"},"es6.weak-set":{chrome:"51",opera:"38",edge:"15",firefox:"53",safari:"9",node:"6.5",deno:"1",ios:"9",samsung:"5",opera_mobile:"41",electron:"1.2"}};var corejs2BuiltIns;var hasRequiredCorejs2BuiltIns;function requireCorejs2BuiltIns(){if(hasRequiredCorejs2BuiltIns)return corejs2BuiltIns;hasRequiredCorejs2BuiltIns=1;corejs2BuiltIns=require$$0$5;return corejs2BuiltIns;}var builtInDefinitions$2={};var hasRequiredBuiltInDefinitions$2;function requireBuiltInDefinitions$2(){if(hasRequiredBuiltInDefinitions$2)return builtInDefinitions$2;hasRequiredBuiltInDefinitions$2=1;builtInDefinitions$2.__esModule=true;builtInDefinitions$2.StaticProperties=builtInDefinitions$2.InstanceProperties=builtInDefinitions$2.CommonIterators=builtInDefinitions$2.BuiltIns=void 0;var _corejs2BuiltIns=_interopRequireDefault(requireCorejs2BuiltIns());function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj};}var define=function define(name,pure,global,meta){if(global===void 0){global=[];}return{name:name,pure:pure,global:global,meta:meta};};var pureAndGlobal=function pureAndGlobal(pure,global,minRuntimeVersion){if(minRuntimeVersion===void 0){minRuntimeVersion=null;}return define(global[0],pure,global,{minRuntimeVersion:minRuntimeVersion});};var globalOnly=function globalOnly(global){return define(global[0],null,global);};var pureOnly=function pureOnly(pure,name){return define(name,pure,[]);};var ArrayNatureIterators=["es6.object.to-string","es6.array.iterator","web.dom.iterable"];var CommonIterators=["es6.string.iterator"].concat(ArrayNatureIterators);builtInDefinitions$2.CommonIterators=CommonIterators;var PromiseDependencies=["es6.object.to-string","es6.promise"];var BuiltIns={DataView:globalOnly(["es6.typed.data-view"]),Float32Array:globalOnly(["es6.typed.float32-array"]),Float64Array:globalOnly(["es6.typed.float64-array"]),Int8Array:globalOnly(["es6.typed.int8-array"]),Int16Array:globalOnly(["es6.typed.int16-array"]),Int32Array:globalOnly(["es6.typed.int32-array"]),Map:pureAndGlobal("map",["es6.map"].concat(_toConsumableArray(CommonIterators))),Number:globalOnly(["es6.number.constructor"]),Promise:pureAndGlobal("promise",PromiseDependencies),RegExp:globalOnly(["es6.regexp.constructor"]),Set:pureAndGlobal("set",["es6.set"].concat(_toConsumableArray(CommonIterators))),Symbol:pureAndGlobal("symbol/index",["es6.symbol"]),Uint8Array:globalOnly(["es6.typed.uint8-array"]),Uint8ClampedArray:globalOnly(["es6.typed.uint8-clamped-array"]),Uint16Array:globalOnly(["es6.typed.uint16-array"]),Uint32Array:globalOnly(["es6.typed.uint32-array"]),WeakMap:pureAndGlobal("weak-map",["es6.weak-map"].concat(_toConsumableArray(CommonIterators))),WeakSet:pureAndGlobal("weak-set",["es6.weak-set"].concat(_toConsumableArray(CommonIterators))),setImmediate:pureOnly("set-immediate","web.immediate"),clearImmediate:pureOnly("clear-immediate","web.immediate"),parseFloat:pureOnly("parse-float","es6.parse-float"),parseInt:pureOnly("parse-int","es6.parse-int")};builtInDefinitions$2.BuiltIns=BuiltIns;var InstanceProperties={__defineGetter__:globalOnly(["es7.object.define-getter"]),__defineSetter__:globalOnly(["es7.object.define-setter"]),__lookupGetter__:globalOnly(["es7.object.lookup-getter"]),__lookupSetter__:globalOnly(["es7.object.lookup-setter"]),anchor:globalOnly(["es6.string.anchor"]),big:globalOnly(["es6.string.big"]),bind:globalOnly(["es6.function.bind"]),blink:globalOnly(["es6.string.blink"]),bold:globalOnly(["es6.string.bold"]),codePointAt:globalOnly(["es6.string.code-point-at"]),copyWithin:globalOnly(["es6.array.copy-within"]),endsWith:globalOnly(["es6.string.ends-with"]),entries:globalOnly(ArrayNatureIterators),every:globalOnly(["es6.array.every"]),fill:globalOnly(["es6.array.fill"]),filter:globalOnly(["es6.array.filter"]),"finally":globalOnly(["es7.promise.finally"].concat(PromiseDependencies)),find:globalOnly(["es6.array.find"]),findIndex:globalOnly(["es6.array.find-index"]),fixed:globalOnly(["es6.string.fixed"]),flags:globalOnly(["es6.regexp.flags"]),flatMap:globalOnly(["es7.array.flat-map"]),fontcolor:globalOnly(["es6.string.fontcolor"]),fontsize:globalOnly(["es6.string.fontsize"]),forEach:globalOnly(["es6.array.for-each"]),includes:globalOnly(["es6.string.includes","es7.array.includes"]),indexOf:globalOnly(["es6.array.index-of"]),italics:globalOnly(["es6.string.italics"]),keys:globalOnly(ArrayNatureIterators),lastIndexOf:globalOnly(["es6.array.last-index-of"]),link:globalOnly(["es6.string.link"]),map:globalOnly(["es6.array.map"]),match:globalOnly(["es6.regexp.match"]),name:globalOnly(["es6.function.name"]),padStart:globalOnly(["es7.string.pad-start"]),padEnd:globalOnly(["es7.string.pad-end"]),reduce:globalOnly(["es6.array.reduce"]),reduceRight:globalOnly(["es6.array.reduce-right"]),repeat:globalOnly(["es6.string.repeat"]),replace:globalOnly(["es6.regexp.replace"]),search:globalOnly(["es6.regexp.search"]),small:globalOnly(["es6.string.small"]),some:globalOnly(["es6.array.some"]),sort:globalOnly(["es6.array.sort"]),split:globalOnly(["es6.regexp.split"]),startsWith:globalOnly(["es6.string.starts-with"]),strike:globalOnly(["es6.string.strike"]),sub:globalOnly(["es6.string.sub"]),sup:globalOnly(["es6.string.sup"]),toISOString:globalOnly(["es6.date.to-iso-string"]),toJSON:globalOnly(["es6.date.to-json"]),toString:globalOnly(["es6.object.to-string","es6.date.to-string","es6.regexp.to-string"]),trim:globalOnly(["es6.string.trim"]),trimEnd:globalOnly(["es7.string.trim-right"]),trimLeft:globalOnly(["es7.string.trim-left"]),trimRight:globalOnly(["es7.string.trim-right"]),trimStart:globalOnly(["es7.string.trim-left"]),values:globalOnly(ArrayNatureIterators)};builtInDefinitions$2.InstanceProperties=InstanceProperties;if("es6.array.slice"in _corejs2BuiltIns["default"]){InstanceProperties.slice=globalOnly(["es6.array.slice"]);}var StaticProperties={Array:{from:pureAndGlobal("array/from",["es6.symbol","es6.array.from"].concat(_toConsumableArray(CommonIterators))),isArray:pureAndGlobal("array/is-array",["es6.array.is-array"]),of:pureAndGlobal("array/of",["es6.array.of"])},Date:{now:pureAndGlobal("date/now",["es6.date.now"])},JSON:{stringify:pureOnly("json/stringify","es6.symbol")},Math:{acosh:pureAndGlobal("math/acosh",["es6.math.acosh"],"7.0.1"),asinh:pureAndGlobal("math/asinh",["es6.math.asinh"],"7.0.1"),atanh:pureAndGlobal("math/atanh",["es6.math.atanh"],"7.0.1"),cbrt:pureAndGlobal("math/cbrt",["es6.math.cbrt"],"7.0.1"),clz32:pureAndGlobal("math/clz32",["es6.math.clz32"],"7.0.1"),cosh:pureAndGlobal("math/cosh",["es6.math.cosh"],"7.0.1"),expm1:pureAndGlobal("math/expm1",["es6.math.expm1"],"7.0.1"),fround:pureAndGlobal("math/fround",["es6.math.fround"],"7.0.1"),hypot:pureAndGlobal("math/hypot",["es6.math.hypot"],"7.0.1"),imul:pureAndGlobal("math/imul",["es6.math.imul"],"7.0.1"),log1p:pureAndGlobal("math/log1p",["es6.math.log1p"],"7.0.1"),log10:pureAndGlobal("math/log10",["es6.math.log10"],"7.0.1"),log2:pureAndGlobal("math/log2",["es6.math.log2"],"7.0.1"),sign:pureAndGlobal("math/sign",["es6.math.sign"],"7.0.1"),sinh:pureAndGlobal("math/sinh",["es6.math.sinh"],"7.0.1"),tanh:pureAndGlobal("math/tanh",["es6.math.tanh"],"7.0.1"),trunc:pureAndGlobal("math/trunc",["es6.math.trunc"],"7.0.1")},Number:{EPSILON:pureAndGlobal("number/epsilon",["es6.number.epsilon"]),MIN_SAFE_INTEGER:pureAndGlobal("number/min-safe-integer",["es6.number.min-safe-integer"]),MAX_SAFE_INTEGER:pureAndGlobal("number/max-safe-integer",["es6.number.max-safe-integer"]),isFinite:pureAndGlobal("number/is-finite",["es6.number.is-finite"]),isInteger:pureAndGlobal("number/is-integer",["es6.number.is-integer"]),isSafeInteger:pureAndGlobal("number/is-safe-integer",["es6.number.is-safe-integer"]),isNaN:pureAndGlobal("number/is-nan",["es6.number.is-nan"]),parseFloat:pureAndGlobal("number/parse-float",["es6.number.parse-float"]),parseInt:pureAndGlobal("number/parse-int",["es6.number.parse-int"])},Object:{assign:pureAndGlobal("object/assign",["es6.object.assign"]),create:pureAndGlobal("object/create",["es6.object.create"]),defineProperties:pureAndGlobal("object/define-properties",["es6.object.define-properties"]),defineProperty:pureAndGlobal("object/define-property",["es6.object.define-property"]),entries:pureAndGlobal("object/entries",["es7.object.entries"]),freeze:pureAndGlobal("object/freeze",["es6.object.freeze"]),getOwnPropertyDescriptor:pureAndGlobal("object/get-own-property-descriptor",["es6.object.get-own-property-descriptor"]),getOwnPropertyDescriptors:pureAndGlobal("object/get-own-property-descriptors",["es7.object.get-own-property-descriptors"]),getOwnPropertyNames:pureAndGlobal("object/get-own-property-names",["es6.object.get-own-property-names"]),getOwnPropertySymbols:pureAndGlobal("object/get-own-property-symbols",["es6.symbol"]),getPrototypeOf:pureAndGlobal("object/get-prototype-of",["es6.object.get-prototype-of"]),is:pureAndGlobal("object/is",["es6.object.is"]),isExtensible:pureAndGlobal("object/is-extensible",["es6.object.is-extensible"]),isFrozen:pureAndGlobal("object/is-frozen",["es6.object.is-frozen"]),isSealed:pureAndGlobal("object/is-sealed",["es6.object.is-sealed"]),keys:pureAndGlobal("object/keys",["es6.object.keys"]),preventExtensions:pureAndGlobal("object/prevent-extensions",["es6.object.prevent-extensions"]),seal:pureAndGlobal("object/seal",["es6.object.seal"]),setPrototypeOf:pureAndGlobal("object/set-prototype-of",["es6.object.set-prototype-of"]),values:pureAndGlobal("object/values",["es7.object.values"])},Promise:{all:globalOnly(CommonIterators),race:globalOnly(CommonIterators)},Reflect:{apply:pureAndGlobal("reflect/apply",["es6.reflect.apply"]),construct:pureAndGlobal("reflect/construct",["es6.reflect.construct"]),defineProperty:pureAndGlobal("reflect/define-property",["es6.reflect.define-property"]),deleteProperty:pureAndGlobal("reflect/delete-property",["es6.reflect.delete-property"]),get:pureAndGlobal("reflect/get",["es6.reflect.get"]),getOwnPropertyDescriptor:pureAndGlobal("reflect/get-own-property-descriptor",["es6.reflect.get-own-property-descriptor"]),getPrototypeOf:pureAndGlobal("reflect/get-prototype-of",["es6.reflect.get-prototype-of"]),has:pureAndGlobal("reflect/has",["es6.reflect.has"]),isExtensible:pureAndGlobal("reflect/is-extensible",["es6.reflect.is-extensible"]),ownKeys:pureAndGlobal("reflect/own-keys",["es6.reflect.own-keys"]),preventExtensions:pureAndGlobal("reflect/prevent-extensions",["es6.reflect.prevent-extensions"]),set:pureAndGlobal("reflect/set",["es6.reflect.set"]),setPrototypeOf:pureAndGlobal("reflect/set-prototype-of",["es6.reflect.set-prototype-of"])},String:{at:pureOnly("string/at","es7.string.at"),fromCodePoint:pureAndGlobal("string/from-code-point",["es6.string.from-code-point"]),raw:pureAndGlobal("string/raw",["es6.string.raw"])},Symbol:{asyncIterator:globalOnly(["es6.symbol","es7.symbol.async-iterator"]),"for":pureOnly("symbol/for","es6.symbol"),hasInstance:pureOnly("symbol/has-instance","es6.symbol"),isConcatSpreadable:pureOnly("symbol/is-concat-spreadable","es6.symbol"),iterator:define("es6.symbol","symbol/iterator",CommonIterators),keyFor:pureOnly("symbol/key-for","es6.symbol"),match:pureAndGlobal("symbol/match",["es6.regexp.match"]),replace:pureOnly("symbol/replace","es6.symbol"),search:pureOnly("symbol/search","es6.symbol"),species:pureOnly("symbol/species","es6.symbol"),split:pureOnly("symbol/split","es6.symbol"),toPrimitive:pureOnly("symbol/to-primitive","es6.symbol"),toStringTag:pureOnly("symbol/to-string-tag","es6.symbol"),unscopables:pureOnly("symbol/unscopables","es6.symbol")}};builtInDefinitions$2.StaticProperties=StaticProperties;return builtInDefinitions$2;}var addPlatformSpecificPolyfills$1={};var hasRequiredAddPlatformSpecificPolyfills$1;function requireAddPlatformSpecificPolyfills$1(){if(hasRequiredAddPlatformSpecificPolyfills$1)return addPlatformSpecificPolyfills$1;hasRequiredAddPlatformSpecificPolyfills$1=1;addPlatformSpecificPolyfills$1.__esModule=true;addPlatformSpecificPolyfills$1["default"]=_default;function _extends(){_extends=Object.assign?Object.assign.bind():function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};return _extends.apply(this,arguments);}var webPolyfills={"web.timers":{},"web.immediate":{},"web.dom.iterable":{}};var purePolyfills={"es6.parse-float":{},"es6.parse-int":{},"es7.string.at":{}};function _default(targets,method,polyfills){var targetNames=Object.keys(targets);var isAnyTarget=!targetNames.length;var isWebTarget=targetNames.some(function(name){return name!=="node";});return _extends({},polyfills,method==="usage-pure"?purePolyfills:null,isAnyTarget||isWebTarget?webPolyfills:null);}return addPlatformSpecificPolyfills$1;}var helpers$2={};var semver$4={exports:{}};var hasRequiredSemver$1;function requireSemver$1(){if(hasRequiredSemver$1)return semver$4.exports;hasRequiredSemver$1=1;(function(module,exports){exports=module.exports=SemVer;var debug;if(_typeof(browser$1$1)==='object'&&browser$1$1.env&&browser$1$1.env.NODE_DEBUG&&/\bsemver\b/i.test(browser$1$1.env.NODE_DEBUG)){debug=function debug(){var args=Array.prototype.slice.call(arguments,0);args.unshift('SEMVER');console.log.apply(console,args);};}else{debug=function debug(){};}exports.SEMVER_SPEC_VERSION='2.0.0';var MAX_LENGTH=256;var MAX_SAFE_INTEGER=Number.MAX_SAFE_INTEGER||9007199254740991;var MAX_SAFE_COMPONENT_LENGTH=16;var MAX_SAFE_BUILD_LENGTH=MAX_LENGTH-6;var re=exports.re=[];var safeRe=exports.safeRe=[];var src=exports.src=[];var t=exports.tokens={};var R=0;function tok(n){t[n]=R++;}var LETTERDASHNUMBER='[a-zA-Z0-9-]';var safeRegexReplacements=[['\\s',1],['\\d',MAX_LENGTH],[LETTERDASHNUMBER,MAX_SAFE_BUILD_LENGTH]];function makeSafeRe(value){for(var i=0;i<safeRegexReplacements.length;i++){var token=safeRegexReplacements[i][0];var max=safeRegexReplacements[i][1];value=value.split(token+'*').join(token+'{0,'+max+'}').split(token+'+').join(token+'{1,'+max+'}');}return value;}tok('NUMERICIDENTIFIER');src[t.NUMERICIDENTIFIER]='0|[1-9]\\d*';tok('NUMERICIDENTIFIERLOOSE');src[t.NUMERICIDENTIFIERLOOSE]='\\d+';tok('NONNUMERICIDENTIFIER');src[t.NONNUMERICIDENTIFIER]='\\d*[a-zA-Z-]'+LETTERDASHNUMBER+'*';tok('MAINVERSION');src[t.MAINVERSION]='('+src[t.NUMERICIDENTIFIER]+')\\.'+'('+src[t.NUMERICIDENTIFIER]+')\\.'+'('+src[t.NUMERICIDENTIFIER]+')';tok('MAINVERSIONLOOSE');src[t.MAINVERSIONLOOSE]='('+src[t.NUMERICIDENTIFIERLOOSE]+')\\.'+'('+src[t.NUMERICIDENTIFIERLOOSE]+')\\.'+'('+src[t.NUMERICIDENTIFIERLOOSE]+')';tok('PRERELEASEIDENTIFIER');src[t.PRERELEASEIDENTIFIER]='(?:'+src[t.NUMERICIDENTIFIER]+'|'+src[t.NONNUMERICIDENTIFIER]+')';tok('PRERELEASEIDENTIFIERLOOSE');src[t.PRERELEASEIDENTIFIERLOOSE]='(?:'+src[t.NUMERICIDENTIFIERLOOSE]+'|'+src[t.NONNUMERICIDENTIFIER]+')';tok('PRERELEASE');src[t.PRERELEASE]='(?:-('+src[t.PRERELEASEIDENTIFIER]+'(?:\\.'+src[t.PRERELEASEIDENTIFIER]+')*))';tok('PRERELEASELOOSE');src[t.PRERELEASELOOSE]='(?:-?('+src[t.PRERELEASEIDENTIFIERLOOSE]+'(?:\\.'+src[t.PRERELEASEIDENTIFIERLOOSE]+')*))';tok('BUILDIDENTIFIER');src[t.BUILDIDENTIFIER]=LETTERDASHNUMBER+'+';tok('BUILD');src[t.BUILD]='(?:\\+('+src[t.BUILDIDENTIFIER]+'(?:\\.'+src[t.BUILDIDENTIFIER]+')*))';tok('FULL');tok('FULLPLAIN');src[t.FULLPLAIN]='v?'+src[t.MAINVERSION]+src[t.PRERELEASE]+'?'+src[t.BUILD]+'?';src[t.FULL]='^'+src[t.FULLPLAIN]+'$';tok('LOOSEPLAIN');src[t.LOOSEPLAIN]='[v=\\s]*'+src[t.MAINVERSIONLOOSE]+src[t.PRERELEASELOOSE]+'?'+src[t.BUILD]+'?';tok('LOOSE');src[t.LOOSE]='^'+src[t.LOOSEPLAIN]+'$';tok('GTLT');src[t.GTLT]='((?:<|>)?=?)';tok('XRANGEIDENTIFIERLOOSE');src[t.XRANGEIDENTIFIERLOOSE]=src[t.NUMERICIDENTIFIERLOOSE]+'|x|X|\\*';tok('XRANGEIDENTIFIER');src[t.XRANGEIDENTIFIER]=src[t.NUMERICIDENTIFIER]+'|x|X|\\*';tok('XRANGEPLAIN');src[t.XRANGEPLAIN]='[v=\\s]*('+src[t.XRANGEIDENTIFIER]+')'+'(?:\\.('+src[t.XRANGEIDENTIFIER]+')'+'(?:\\.('+src[t.XRANGEIDENTIFIER]+')'+'(?:'+src[t.PRERELEASE]+')?'+src[t.BUILD]+'?'+')?)?';tok('XRANGEPLAINLOOSE');src[t.XRANGEPLAINLOOSE]='[v=\\s]*('+src[t.XRANGEIDENTIFIERLOOSE]+')'+'(?:\\.('+src[t.XRANGEIDENTIFIERLOOSE]+')'+'(?:\\.('+src[t.XRANGEIDENTIFIERLOOSE]+')'+'(?:'+src[t.PRERELEASELOOSE]+')?'+src[t.BUILD]+'?'+')?)?';tok('XRANGE');src[t.XRANGE]='^'+src[t.GTLT]+'\\s*'+src[t.XRANGEPLAIN]+'$';tok('XRANGELOOSE');src[t.XRANGELOOSE]='^'+src[t.GTLT]+'\\s*'+src[t.XRANGEPLAINLOOSE]+'$';tok('COERCE');src[t.COERCE]='(^|[^\\d])'+'(\\d{1,'+MAX_SAFE_COMPONENT_LENGTH+'})'+'(?:\\.(\\d{1,'+MAX_SAFE_COMPONENT_LENGTH+'}))?'+'(?:\\.(\\d{1,'+MAX_SAFE_COMPONENT_LENGTH+'}))?'+'(?:$|[^\\d])';tok('COERCERTL');re[t.COERCERTL]=new RegExp(src[t.COERCE],'g');safeRe[t.COERCERTL]=new RegExp(makeSafeRe(src[t.COERCE]),'g');tok('LONETILDE');src[t.LONETILDE]='(?:~>?)';tok('TILDETRIM');src[t.TILDETRIM]='(\\s*)'+src[t.LONETILDE]+'\\s+';re[t.TILDETRIM]=new RegExp(src[t.TILDETRIM],'g');safeRe[t.TILDETRIM]=new RegExp(makeSafeRe(src[t.TILDETRIM]),'g');var tildeTrimReplace='$1~';tok('TILDE');src[t.TILDE]='^'+src[t.LONETILDE]+src[t.XRANGEPLAIN]+'$';tok('TILDELOOSE');src[t.TILDELOOSE]='^'+src[t.LONETILDE]+src[t.XRANGEPLAINLOOSE]+'$';tok('LONECARET');src[t.LONECARET]='(?:\\^)';tok('CARETTRIM');src[t.CARETTRIM]='(\\s*)'+src[t.LONECARET]+'\\s+';re[t.CARETTRIM]=new RegExp(src[t.CARETTRIM],'g');safeRe[t.CARETTRIM]=new RegExp(makeSafeRe(src[t.CARETTRIM]),'g');var caretTrimReplace='$1^';tok('CARET');src[t.CARET]='^'+src[t.LONECARET]+src[t.XRANGEPLAIN]+'$';tok('CARETLOOSE');src[t.CARETLOOSE]='^'+src[t.LONECARET]+src[t.XRANGEPLAINLOOSE]+'$';tok('COMPARATORLOOSE');src[t.COMPARATORLOOSE]='^'+src[t.GTLT]+'\\s*('+src[t.LOOSEPLAIN]+')$|^$';tok('COMPARATOR');src[t.COMPARATOR]='^'+src[t.GTLT]+'\\s*('+src[t.FULLPLAIN]+')$|^$';tok('COMPARATORTRIM');src[t.COMPARATORTRIM]='(\\s*)'+src[t.GTLT]+'\\s*('+src[t.LOOSEPLAIN]+'|'+src[t.XRANGEPLAIN]+')';re[t.COMPARATORTRIM]=new RegExp(src[t.COMPARATORTRIM],'g');safeRe[t.COMPARATORTRIM]=new RegExp(makeSafeRe(src[t.COMPARATORTRIM]),'g');var comparatorTrimReplace='$1$2$3';tok('HYPHENRANGE');src[t.HYPHENRANGE]='^\\s*('+src[t.XRANGEPLAIN]+')'+'\\s+-\\s+'+'('+src[t.XRANGEPLAIN]+')'+'\\s*$';tok('HYPHENRANGELOOSE');src[t.HYPHENRANGELOOSE]='^\\s*('+src[t.XRANGEPLAINLOOSE]+')'+'\\s+-\\s+'+'('+src[t.XRANGEPLAINLOOSE]+')'+'\\s*$';tok('STAR');src[t.STAR]='(<|>)?=?\\s*\\*';for(var i=0;i<R;i++){debug(i,src[i]);if(!re[i]){re[i]=new RegExp(src[i]);safeRe[i]=new RegExp(makeSafeRe(src[i]));}}exports.parse=parse;function parse(version,options){if(!options||_typeof(options)!=='object'){options={loose:!!options,includePrerelease:false};}if(version instanceof SemVer){return version;}if(typeof version!=='string'){return null;}if(version.length>MAX_LENGTH){return null;}var r=options.loose?safeRe[t.LOOSE]:safeRe[t.FULL];if(!r.test(version)){return null;}try{return new SemVer(version,options);}catch(er){return null;}}exports.valid=valid;function valid(version,options){var v=parse(version,options);return v?v.version:null;}exports.clean=clean;function clean(version,options){var s=parse(version.trim().replace(/^[=v]+/,''),options);return s?s.version:null;}exports.SemVer=SemVer;function SemVer(version,options){if(!options||_typeof(options)!=='object'){options={loose:!!options,includePrerelease:false};}if(version instanceof SemVer){if(version.loose===options.loose){return version;}else{version=version.version;}}else if(typeof version!=='string'){throw new TypeError('Invalid Version: '+version);}if(version.length>MAX_LENGTH){throw new TypeError('version is longer than '+MAX_LENGTH+' characters');}if(!(this instanceof SemVer)){return new SemVer(version,options);}debug('SemVer',version,options);this.options=options;this.loose=!!options.loose;var m=version.trim().match(options.loose?safeRe[t.LOOSE]:safeRe[t.FULL]);if(!m){throw new TypeError('Invalid Version: '+version);}this.raw=version;this.major=+m[1];this.minor=+m[2];this.patch=+m[3];if(this.major>MAX_SAFE_INTEGER||this.major<0){throw new TypeError('Invalid major version');}if(this.minor>MAX_SAFE_INTEGER||this.minor<0){throw new TypeError('Invalid minor version');}if(this.patch>MAX_SAFE_INTEGER||this.patch<0){throw new TypeError('Invalid patch version');}if(!m[4]){this.prerelease=[];}else{this.prerelease=m[4].split('.').map(function(id){if(/^[0-9]+$/.test(id)){var num=+id;if(num>=0&&num<MAX_SAFE_INTEGER){return num;}}return id;});}this.build=m[5]?m[5].split('.'):[];this.format();}SemVer.prototype.format=function(){this.version=this.major+'.'+this.minor+'.'+this.patch;if(this.prerelease.length){this.version+='-'+this.prerelease.join('.');}return this.version;};SemVer.prototype.toString=function(){return this.version;};SemVer.prototype.compare=function(other){debug('SemVer.compare',this.version,this.options,other);if(!(other instanceof SemVer)){other=new SemVer(other,this.options);}return this.compareMain(other)||this.comparePre(other);};SemVer.prototype.compareMain=function(other){if(!(other instanceof SemVer)){other=new SemVer(other,this.options);}return compareIdentifiers(this.major,other.major)||compareIdentifiers(this.minor,other.minor)||compareIdentifiers(this.patch,other.patch);};SemVer.prototype.comparePre=function(other){if(!(other instanceof SemVer)){other=new SemVer(other,this.options);}if(this.prerelease.length&&!other.prerelease.length){return-1;}else if(!this.prerelease.length&&other.prerelease.length){return 1;}else if(!this.prerelease.length&&!other.prerelease.length){return 0;}var i=0;do{var a=this.prerelease[i];var b=other.prerelease[i];debug('prerelease compare',i,a,b);if(a===undefined&&b===undefined){return 0;}else if(b===undefined){return 1;}else if(a===undefined){return-1;}else if(a===b){continue;}else{return compareIdentifiers(a,b);}}while(++i);};SemVer.prototype.compareBuild=function(other){if(!(other instanceof SemVer)){other=new SemVer(other,this.options);}var i=0;do{var a=this.build[i];var b=other.build[i];debug('prerelease compare',i,a,b);if(a===undefined&&b===undefined){return 0;}else if(b===undefined){return 1;}else if(a===undefined){return-1;}else if(a===b){continue;}else{return compareIdentifiers(a,b);}}while(++i);};SemVer.prototype.inc=function(release,identifier){switch(release){case'premajor':this.prerelease.length=0;this.patch=0;this.minor=0;this.major++;this.inc('pre',identifier);break;case'preminor':this.prerelease.length=0;this.patch=0;this.minor++;this.inc('pre',identifier);break;case'prepatch':this.prerelease.length=0;this.inc('patch',identifier);this.inc('pre',identifier);break;case'prerelease':if(this.prerelease.length===0){this.inc('patch',identifier);}this.inc('pre',identifier);break;case'major':if(this.minor!==0||this.patch!==0||this.prerelease.length===0){this.major++;}this.minor=0;this.patch=0;this.prerelease=[];break;case'minor':if(this.patch!==0||this.prerelease.length===0){this.minor++;}this.patch=0;this.prerelease=[];break;case'patch':if(this.prerelease.length===0){this.patch++;}this.prerelease=[];break;case'pre':if(this.prerelease.length===0){this.prerelease=[0];}else{var i=this.prerelease.length;while(--i>=0){if(typeof this.prerelease[i]==='number'){this.prerelease[i]++;i=-2;}}if(i===-1){this.prerelease.push(0);}}if(identifier){if(this.prerelease[0]===identifier){if(isNaN(this.prerelease[1])){this.prerelease=[identifier,0];}}else{this.prerelease=[identifier,0];}}break;default:throw new Error('invalid increment argument: '+release);}this.format();this.raw=this.version;return this;};exports.inc=inc;function inc(version,release,loose,identifier){if(typeof loose==='string'){identifier=loose;loose=undefined;}try{return new SemVer(version,loose).inc(release,identifier).version;}catch(er){return null;}}exports.diff=diff;function diff(version1,version2){if(eq(version1,version2)){return null;}else{var v1=parse(version1);var v2=parse(version2);var prefix='';if(v1.prerelease.length||v2.prerelease.length){prefix='pre';var defaultResult='prerelease';}for(var key in v1){if(key==='major'||key==='minor'||key==='patch'){if(v1[key]!==v2[key]){return prefix+key;}}}return defaultResult;}}exports.compareIdentifiers=compareIdentifiers;var numeric=/^[0-9]+$/;function compareIdentifiers(a,b){var anum=numeric.test(a);var bnum=numeric.test(b);if(anum&&bnum){a=+a;b=+b;}return a===b?0:anum&&!bnum?-1:bnum&&!anum?1:a<b?-1:1;}exports.rcompareIdentifiers=rcompareIdentifiers;function rcompareIdentifiers(a,b){return compareIdentifiers(b,a);}exports.major=major;function major(a,loose){return new SemVer(a,loose).major;}exports.minor=minor;function minor(a,loose){return new SemVer(a,loose).minor;}exports.patch=patch;function patch(a,loose){return new SemVer(a,loose).patch;}exports.compare=compare;function compare(a,b,loose){return new SemVer(a,loose).compare(new SemVer(b,loose));}exports.compareLoose=compareLoose;function compareLoose(a,b){return compare(a,b,true);}exports.compareBuild=compareBuild;function compareBuild(a,b,loose){var versionA=new SemVer(a,loose);var versionB=new SemVer(b,loose);return versionA.compare(versionB)||versionA.compareBuild(versionB);}exports.rcompare=rcompare;function rcompare(a,b,loose){return compare(b,a,loose);}exports.sort=sort;function sort(list,loose){return list.sort(function(a,b){return exports.compareBuild(a,b,loose);});}exports.rsort=rsort;function rsort(list,loose){return list.sort(function(a,b){return exports.compareBuild(b,a,loose);});}exports.gt=gt;function gt(a,b,loose){return compare(a,b,loose)>0;}exports.lt=lt;function lt(a,b,loose){return compare(a,b,loose)<0;}exports.eq=eq;function eq(a,b,loose){return compare(a,b,loose)===0;}exports.neq=neq;function neq(a,b,loose){return compare(a,b,loose)!==0;}exports.gte=gte;function gte(a,b,loose){return compare(a,b,loose)>=0;}exports.lte=lte;function lte(a,b,loose){return compare(a,b,loose)<=0;}exports.cmp=cmp;function cmp(a,op,b,loose){switch(op){case'===':if(_typeof(a)==='object')a=a.version;if(_typeof(b)==='object')b=b.version;return a===b;case'!==':if(_typeof(a)==='object')a=a.version;if(_typeof(b)==='object')b=b.version;return a!==b;case'':case'=':case'==':return eq(a,b,loose);case'!=':return neq(a,b,loose);case'>':return gt(a,b,loose);case'>=':return gte(a,b,loose);case'<':return lt(a,b,loose);case'<=':return lte(a,b,loose);default:throw new TypeError('Invalid operator: '+op);}}exports.Comparator=Comparator;function Comparator(comp,options){if(!options||_typeof(options)!=='object'){options={loose:!!options,includePrerelease:false};}if(comp instanceof Comparator){if(comp.loose===!!options.loose){return comp;}else{comp=comp.value;}}if(!(this instanceof Comparator)){return new Comparator(comp,options);}comp=comp.trim().split(/\s+/).join(' ');debug('comparator',comp,options);this.options=options;this.loose=!!options.loose;this.parse(comp);if(this.semver===ANY){this.value='';}else{this.value=this.operator+this.semver.version;}debug('comp',this);}var ANY={};Comparator.prototype.parse=function(comp){var r=this.options.loose?safeRe[t.COMPARATORLOOSE]:safeRe[t.COMPARATOR];var m=comp.match(r);if(!m){throw new TypeError('Invalid comparator: '+comp);}this.operator=m[1]!==undefined?m[1]:'';if(this.operator==='='){this.operator='';}if(!m[2]){this.semver=ANY;}else{this.semver=new SemVer(m[2],this.options.loose);}};Comparator.prototype.toString=function(){return this.value;};Comparator.prototype.test=function(version){debug('Comparator.test',version,this.options.loose);if(this.semver===ANY||version===ANY){return true;}if(typeof version==='string'){try{version=new SemVer(version,this.options);}catch(er){return false;}}return cmp(version,this.operator,this.semver,this.options);};Comparator.prototype.intersects=function(comp,options){if(!(comp instanceof Comparator)){throw new TypeError('a Comparator is required');}if(!options||_typeof(options)!=='object'){options={loose:!!options,includePrerelease:false};}var rangeTmp;if(this.operator===''){if(this.value===''){return true;}rangeTmp=new Range(comp.value,options);return satisfies(this.value,rangeTmp,options);}else if(comp.operator===''){if(comp.value===''){return true;}rangeTmp=new Range(this.value,options);return satisfies(comp.semver,rangeTmp,options);}var sameDirectionIncreasing=(this.operator==='>='||this.operator==='>')&&(comp.operator==='>='||comp.operator==='>');var sameDirectionDecreasing=(this.operator==='<='||this.operator==='<')&&(comp.operator==='<='||comp.operator==='<');var sameSemVer=this.semver.version===comp.semver.version;var differentDirectionsInclusive=(this.operator==='>='||this.operator==='<=')&&(comp.operator==='>='||comp.operator==='<=');var oppositeDirectionsLessThan=cmp(this.semver,'<',comp.semver,options)&&(this.operator==='>='||this.operator==='>')&&(comp.operator==='<='||comp.operator==='<');var oppositeDirectionsGreaterThan=cmp(this.semver,'>',comp.semver,options)&&(this.operator==='<='||this.operator==='<')&&(comp.operator==='>='||comp.operator==='>');return sameDirectionIncreasing||sameDirectionDecreasing||sameSemVer&&differentDirectionsInclusive||oppositeDirectionsLessThan||oppositeDirectionsGreaterThan;};exports.Range=Range;function Range(range,options){if(!options||_typeof(options)!=='object'){options={loose:!!options,includePrerelease:false};}if(range instanceof Range){if(range.loose===!!options.loose&&range.includePrerelease===!!options.includePrerelease){return range;}else{return new Range(range.raw,options);}}if(range instanceof Comparator){return new Range(range.value,options);}if(!(this instanceof Range)){return new Range(range,options);}this.options=options;this.loose=!!options.loose;this.includePrerelease=!!options.includePrerelease;this.raw=range.trim().split(/\s+/).join(' ');this.set=this.raw.split('||').map(function(range){return this.parseRange(range.trim());},this).filter(function(c){return c.length;});if(!this.set.length){throw new TypeError('Invalid SemVer Range: '+this.raw);}this.format();}Range.prototype.format=function(){this.range=this.set.map(function(comps){return comps.join(' ').trim();}).join('||').trim();return this.range;};Range.prototype.toString=function(){return this.range;};Range.prototype.parseRange=function(range){var loose=this.options.loose;var hr=loose?safeRe[t.HYPHENRANGELOOSE]:safeRe[t.HYPHENRANGE];range=range.replace(hr,hyphenReplace);debug('hyphen replace',range);range=range.replace(safeRe[t.COMPARATORTRIM],comparatorTrimReplace);debug('comparator trim',range,safeRe[t.COMPARATORTRIM]);range=range.replace(safeRe[t.TILDETRIM],tildeTrimReplace);range=range.replace(safeRe[t.CARETTRIM],caretTrimReplace);range=range.split(/\s+/).join(' ');var compRe=loose?safeRe[t.COMPARATORLOOSE]:safeRe[t.COMPARATOR];var set=range.split(' ').map(function(comp){return parseComparator(comp,this.options);},this).join(' ').split(/\s+/);if(this.options.loose){set=set.filter(function(comp){return!!comp.match(compRe);});}set=set.map(function(comp){return new Comparator(comp,this.options);},this);return set;};Range.prototype.intersects=function(range,options){if(!(range instanceof Range)){throw new TypeError('a Range is required');}return this.set.some(function(thisComparators){return isSatisfiable(thisComparators,options)&&range.set.some(function(rangeComparators){return isSatisfiable(rangeComparators,options)&&thisComparators.every(function(thisComparator){return rangeComparators.every(function(rangeComparator){return thisComparator.intersects(rangeComparator,options);});});});});};function isSatisfiable(comparators,options){var result=true;var remainingComparators=comparators.slice();var testComparator=remainingComparators.pop();while(result&&remainingComparators.length){result=remainingComparators.every(function(otherComparator){return testComparator.intersects(otherComparator,options);});testComparator=remainingComparators.pop();}return result;}exports.toComparators=toComparators;function toComparators(range,options){return new Range(range,options).set.map(function(comp){return comp.map(function(c){return c.value;}).join(' ').trim().split(' ');});}function parseComparator(comp,options){debug('comp',comp,options);comp=replaceCarets(comp,options);debug('caret',comp);comp=replaceTildes(comp,options);debug('tildes',comp);comp=replaceXRanges(comp,options);debug('xrange',comp);comp=replaceStars(comp,options);debug('stars',comp);return comp;}function isX(id){return!id||id.toLowerCase()==='x'||id==='*';}function replaceTildes(comp,options){return comp.trim().split(/\s+/).map(function(comp){return replaceTilde(comp,options);}).join(' ');}function replaceTilde(comp,options){var r=options.loose?safeRe[t.TILDELOOSE]:safeRe[t.TILDE];return comp.replace(r,function(_,M,m,p,pr){debug('tilde',comp,_,M,m,p,pr);var ret;if(isX(M)){ret='';}else if(isX(m)){ret='>='+M+'.0.0 <'+(+M+1)+'.0.0';}else if(isX(p)){ret='>='+M+'.'+m+'.0 <'+M+'.'+(+m+1)+'.0';}else if(pr){debug('replaceTilde pr',pr);ret='>='+M+'.'+m+'.'+p+'-'+pr+' <'+M+'.'+(+m+1)+'.0';}else{ret='>='+M+'.'+m+'.'+p+' <'+M+'.'+(+m+1)+'.0';}debug('tilde return',ret);return ret;});}function replaceCarets(comp,options){return comp.trim().split(/\s+/).map(function(comp){return replaceCaret(comp,options);}).join(' ');}function replaceCaret(comp,options){debug('caret',comp,options);var r=options.loose?safeRe[t.CARETLOOSE]:safeRe[t.CARET];return comp.replace(r,function(_,M,m,p,pr){debug('caret',comp,_,M,m,p,pr);var ret;if(isX(M)){ret='';}else if(isX(m)){ret='>='+M+'.0.0 <'+(+M+1)+'.0.0';}else if(isX(p)){if(M==='0'){ret='>='+M+'.'+m+'.0 <'+M+'.'+(+m+1)+'.0';}else{ret='>='+M+'.'+m+'.0 <'+(+M+1)+'.0.0';}}else if(pr){debug('replaceCaret pr',pr);if(M==='0'){if(m==='0'){ret='>='+M+'.'+m+'.'+p+'-'+pr+' <'+M+'.'+m+'.'+(+p+1);}else{ret='>='+M+'.'+m+'.'+p+'-'+pr+' <'+M+'.'+(+m+1)+'.0';}}else{ret='>='+M+'.'+m+'.'+p+'-'+pr+' <'+(+M+1)+'.0.0';}}else{debug('no pr');if(M==='0'){if(m==='0'){ret='>='+M+'.'+m+'.'+p+' <'+M+'.'+m+'.'+(+p+1);}else{ret='>='+M+'.'+m+'.'+p+' <'+M+'.'+(+m+1)+'.0';}}else{ret='>='+M+'.'+m+'.'+p+' <'+(+M+1)+'.0.0';}}debug('caret return',ret);return ret;});}function replaceXRanges(comp,options){debug('replaceXRanges',comp,options);return comp.split(/\s+/).map(function(comp){return replaceXRange(comp,options);}).join(' ');}function replaceXRange(comp,options){comp=comp.trim();var r=options.loose?safeRe[t.XRANGELOOSE]:safeRe[t.XRANGE];return comp.replace(r,function(ret,gtlt,M,m,p,pr){debug('xRange',comp,ret,gtlt,M,m,p,pr);var xM=isX(M);var xm=xM||isX(m);var xp=xm||isX(p);var anyX=xp;if(gtlt==='='&&anyX){gtlt='';}pr=options.includePrerelease?'-0':'';if(xM){if(gtlt==='>'||gtlt==='<'){ret='<0.0.0-0';}else{ret='*';}}else if(gtlt&&anyX){if(xm){m=0;}p=0;if(gtlt==='>'){gtlt='>=';if(xm){M=+M+1;m=0;p=0;}else{m=+m+1;p=0;}}else if(gtlt==='<='){gtlt='<';if(xm){M=+M+1;}else{m=+m+1;}}ret=gtlt+M+'.'+m+'.'+p+pr;}else if(xm){ret='>='+M+'.0.0'+pr+' <'+(+M+1)+'.0.0'+pr;}else if(xp){ret='>='+M+'.'+m+'.0'+pr+' <'+M+'.'+(+m+1)+'.0'+pr;}debug('xRange return',ret);return ret;});}function replaceStars(comp,options){debug('replaceStars',comp,options);return comp.trim().replace(safeRe[t.STAR],'');}function hyphenReplace($0,from,fM,fm,fp,fpr,fb,to,tM,tm,tp,tpr,tb){if(isX(fM)){from='';}else if(isX(fm)){from='>='+fM+'.0.0';}else if(isX(fp)){from='>='+fM+'.'+fm+'.0';}else{from='>='+from;}if(isX(tM)){to='';}else if(isX(tm)){to='<'+(+tM+1)+'.0.0';}else if(isX(tp)){to='<'+tM+'.'+(+tm+1)+'.0';}else if(tpr){to='<='+tM+'.'+tm+'.'+tp+'-'+tpr;}else{to='<='+to;}return(from+' '+to).trim();}Range.prototype.test=function(version){if(!version){return false;}if(typeof version==='string'){try{version=new SemVer(version,this.options);}catch(er){return false;}}for(var i=0;i<this.set.length;i++){if(testSet(this.set[i],version,this.options)){return true;}}return false;};function testSet(set,version,options){for(var i=0;i<set.length;i++){if(!set[i].test(version)){return false;}}if(version.prerelease.length&&!options.includePrerelease){for(i=0;i<set.length;i++){debug(set[i].semver);if(set[i].semver===ANY){continue;}if(set[i].semver.prerelease.length>0){var allowed=set[i].semver;if(allowed.major===version.major&&allowed.minor===version.minor&&allowed.patch===version.patch){return true;}}}return false;}return true;}exports.satisfies=satisfies;function satisfies(version,range,options){try{range=new Range(range,options);}catch(er){return false;}return range.test(version);}exports.maxSatisfying=maxSatisfying;function maxSatisfying(versions,range,options){var max=null;var maxSV=null;try{var rangeObj=new Range(range,options);}catch(er){return null;}versions.forEach(function(v){if(rangeObj.test(v)){if(!max||maxSV.compare(v)===-1){max=v;maxSV=new SemVer(max,options);}}});return max;}exports.minSatisfying=minSatisfying;function minSatisfying(versions,range,options){var min=null;var minSV=null;try{var rangeObj=new Range(range,options);}catch(er){return null;}versions.forEach(function(v){if(rangeObj.test(v)){if(!min||minSV.compare(v)===1){min=v;minSV=new SemVer(min,options);}}});return min;}exports.minVersion=minVersion;function minVersion(range,loose){range=new Range(range,loose);var minver=new SemVer('0.0.0');if(range.test(minver)){return minver;}minver=new SemVer('0.0.0-0');if(range.test(minver)){return minver;}minver=null;for(var i=0;i<range.set.length;++i){var comparators=range.set[i];comparators.forEach(function(comparator){var compver=new SemVer(comparator.semver.version);switch(comparator.operator){case'>':if(compver.prerelease.length===0){compver.patch++;}else{compver.prerelease.push(0);}compver.raw=compver.format();case'':case'>=':if(!minver||gt(minver,compver)){minver=compver;}break;case'<':case'<=':break;default:throw new Error('Unexpected operation: '+comparator.operator);}});}if(minver&&range.test(minver)){return minver;}return null;}exports.validRange=validRange;function validRange(range,options){try{return new Range(range,options).range||'*';}catch(er){return null;}}exports.ltr=ltr;function ltr(version,range,options){return outside(version,range,'<',options);}exports.gtr=gtr;function gtr(version,range,options){return outside(version,range,'>',options);}exports.outside=outside;function outside(version,range,hilo,options){version=new SemVer(version,options);range=new Range(range,options);var gtfn,ltefn,ltfn,comp,ecomp;switch(hilo){case'>':gtfn=gt;ltefn=lte;ltfn=lt;comp='>';ecomp='>=';break;case'<':gtfn=lt;ltefn=gte;ltfn=gt;comp='<';ecomp='<=';break;default:throw new TypeError('Must provide a hilo val of "<" or ">"');}if(satisfies(version,range,options)){return false;}for(var i=0;i<range.set.length;++i){var comparators=range.set[i];var high=null;var low=null;comparators.forEach(function(comparator){if(comparator.semver===ANY){comparator=new Comparator('>=0.0.0');}high=high||comparator;low=low||comparator;if(gtfn(comparator.semver,high.semver,options)){high=comparator;}else if(ltfn(comparator.semver,low.semver,options)){low=comparator;}});if(high.operator===comp||high.operator===ecomp){return false;}if((!low.operator||low.operator===comp)&&ltefn(version,low.semver)){return false;}else if(low.operator===ecomp&&ltfn(version,low.semver)){return false;}}return true;}exports.prerelease=prerelease;function prerelease(version,options){var parsed=parse(version,options);return parsed&&parsed.prerelease.length?parsed.prerelease:null;}exports.intersects=intersects;function intersects(r1,r2,options){r1=new Range(r1,options);r2=new Range(r2,options);return r1.intersects(r2);}exports.coerce=coerce;function coerce(version,options){if(version instanceof SemVer){return version;}if(typeof version==='number'){version=String(version);}if(typeof version!=='string'){return null;}options=options||{};var match=null;if(!options.rtl){match=version.match(safeRe[t.COERCE]);}else{var next;while((next=safeRe[t.COERCERTL].exec(version))&&(!match||match.index+match[0].length!==version.length)){if(!match||next.index+next[0].length!==match.index+match[0].length){match=next;}safeRe[t.COERCERTL].lastIndex=next.index+next[1].length+next[2].length;}safeRe[t.COERCERTL].lastIndex=-1;}if(match===null){return null;}return parse(match[2]+'.'+(match[3]||'0')+'.'+(match[4]||'0'),options);}})(semver$4,semver$4.exports);return semver$4.exports;}var hasRequiredHelpers$1;function requireHelpers$1(){if(hasRequiredHelpers$1)return helpers$2;hasRequiredHelpers$1=1;helpers$2.__esModule=true;helpers$2.hasMinVersion=hasMinVersion;var _semver=_interopRequireDefault(requireSemver$1());function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj};}function hasMinVersion(minVersion,runtimeVersion){if(!runtimeVersion||!minVersion)return true;runtimeVersion=String(runtimeVersion);if(_semver["default"].valid(runtimeVersion))runtimeVersion="^"+runtimeVersion;return!_semver["default"].intersects("<"+minVersion,runtimeVersion)&&!_semver["default"].intersects(">=8.0.0",runtimeVersion);}return helpers$2;}var lib$5={};var require$$0$4=/*@__PURE__*/getAugmentedNamespace(pluginUtilsShim);var require$$1$1=/*@__PURE__*/getAugmentedNamespace(src);var utils$3={};var require$$5=/*@__PURE__*/getAugmentedNamespace(_babel);var _templateObject$a,_templateObject2$9,_templateObject3$5;var hasRequiredUtils$3;function requireUtils$3(){if(hasRequiredUtils$3)return utils$3;hasRequiredUtils$3=1;utils$3.__esModule=true;utils$3.createUtilsGetter=createUtilsGetter;utils$3.getImportSource=getImportSource;utils$3.getRequireSource=getRequireSource;utils$3.has=has;utils$3.intersection=intersection;utils$3.resolveKey=resolveKey;utils$3.resolveSource=resolveSource;var _babel=_interopRequireWildcard(require$$5);function _getRequireWildcardCache(nodeInterop){if(typeof WeakMap!=="function")return null;var cacheBabelInterop=new WeakMap();var cacheNodeInterop=new WeakMap();return(_getRequireWildcardCache=function _getRequireWildcardCache(nodeInterop){return nodeInterop?cacheNodeInterop:cacheBabelInterop;})(nodeInterop);}function _interopRequireWildcard(obj,nodeInterop){if(!nodeInterop&&obj&&obj.__esModule){return obj;}if(obj===null||_typeof(obj)!=="object"&&typeof obj!=="function"){return{"default":obj};}var cache=_getRequireWildcardCache(nodeInterop);if(cache&&cache.has(obj)){return cache.get(obj);}var newObj={};var hasPropertyDescriptor=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var key in obj){if(key!=="default"&&Object.prototype.hasOwnProperty.call(obj,key)){var desc=hasPropertyDescriptor?Object.getOwnPropertyDescriptor(obj,key):null;if(desc&&(desc.get||desc.set)){Object.defineProperty(newObj,key,desc);}else{newObj[key]=obj[key];}}}newObj["default"]=obj;if(cache){cache.set(obj,newObj);}return newObj;}var _ref=_babel["default"]||_babel,t=_ref.types,template=_ref.template;function intersection(a,b){var result=new Set();a.forEach(function(v){return b.has(v)&&result.add(v);});return result;}function has(object,key){return Object.prototype.hasOwnProperty.call(object,key);}function getType(target){return Object.prototype.toString.call(target).slice(8,-1);}function resolveId(path){if(path.isIdentifier()&&!path.scope.hasBinding(path.node.name,true)){return path.node.name;}if(path.isPure()){var _path$evaluate=path.evaluate(),deopt=_path$evaluate.deopt;if(deopt&&deopt.isIdentifier()){return deopt.node.name;}}}function resolveKey(path,computed){if(computed===void 0){computed=false;}var scope=path.scope;if(path.isStringLiteral())return path.node.value;var isIdentifier=path.isIdentifier();if(isIdentifier&&!(computed||path.parent.computed)){return path.node.name;}if(computed&&path.isMemberExpression()&&path.get("object").isIdentifier({name:"Symbol"})&&!scope.hasBinding("Symbol",true)){var sym=resolveKey(path.get("property"),path.node.computed);if(sym)return"Symbol."+sym;}if(isIdentifier?scope.hasBinding(path.node.name,true):path.isPure()){var _path$evaluate2=path.evaluate(),value=_path$evaluate2.value;if(typeof value==="string")return value;}}function resolveSource(obj){if(obj.isMemberExpression()&&obj.get("property").isIdentifier({name:"prototype"})){var _id=resolveId(obj.get("object"));if(_id){return{id:_id,placement:"prototype"};}return{id:null,placement:null};}var id=resolveId(obj);if(id){return{id:id,placement:"static"};}if(obj.isRegExpLiteral()){return{id:"RegExp",placement:"prototype"};}else if(obj.isFunction()){return{id:"Function",placement:"prototype"};}else if(obj.isPure()){var _obj$evaluate=obj.evaluate(),value=_obj$evaluate.value;if(value!==undefined){return{id:getType(value),placement:"prototype"};}}return{id:null,placement:null};}function getImportSource(_ref2){var node=_ref2.node;if(node.specifiers.length===0)return node.source.value;}function getRequireSource(_ref3){var node=_ref3.node;if(!t.isExpressionStatement(node))return;var expression=node.expression;if(t.isCallExpression(expression)&&t.isIdentifier(expression.callee)&&expression.callee.name==="require"&&expression.arguments.length===1&&t.isStringLiteral(expression.arguments[0])){return expression.arguments[0].value;}}function hoist(node){node._blockHoist=3;return node;}function createUtilsGetter(cache){return function(path){var prog=path.findParent(function(p){return p.isProgram();});return{injectGlobalImport:function injectGlobalImport(url,moduleName){cache.storeAnonymous(prog,url,moduleName,function(isScript,source){return isScript?template.statement.ast(_templateObject$a||(_templateObject$a=_taggedTemplateLiteralLoose(["require(",")"])),source):t.importDeclaration([],source);});},injectNamedImport:function injectNamedImport(url,name,hint,moduleName){if(hint===void 0){hint=name;}return cache.storeNamed(prog,url,name,moduleName,function(isScript,source,name){var id=prog.scope.generateUidIdentifier(hint);return{node:isScript?hoist(template.statement.ast(_templateObject2$9||(_templateObject2$9=_taggedTemplateLiteralLoose(["\n                  var "," = require(",").","\n                "])),id,source,name)):t.importDeclaration([t.importSpecifier(id,name)],source),name:id.name};});},injectDefaultImport:function injectDefaultImport(url,hint,moduleName){if(hint===void 0){hint=url;}return cache.storeNamed(prog,url,"default",moduleName,function(isScript,source){var id=prog.scope.generateUidIdentifier(hint);return{node:isScript?hoist(template.statement.ast(_templateObject3$5||(_templateObject3$5=_taggedTemplateLiteralLoose(["var "," = require(",")"])),id,source)):t.importDeclaration([t.importDefaultSpecifier(id)],source),name:id.name};});}};};}return utils$3;}var importsInjector$1={};var hasRequiredImportsInjector$1;function requireImportsInjector$1(){if(hasRequiredImportsInjector$1)return importsInjector$1;hasRequiredImportsInjector$1=1;importsInjector$1.__esModule=true;importsInjector$1["default"]=void 0;var _babel=_interopRequireWildcard(require$$5);function _getRequireWildcardCache(nodeInterop){if(typeof WeakMap!=="function")return null;var cacheBabelInterop=new WeakMap();var cacheNodeInterop=new WeakMap();return(_getRequireWildcardCache=function _getRequireWildcardCache(nodeInterop){return nodeInterop?cacheNodeInterop:cacheBabelInterop;})(nodeInterop);}function _interopRequireWildcard(obj,nodeInterop){if(!nodeInterop&&obj&&obj.__esModule){return obj;}if(obj===null||_typeof(obj)!=="object"&&typeof obj!=="function"){return{"default":obj};}var cache=_getRequireWildcardCache(nodeInterop);if(cache&&cache.has(obj)){return cache.get(obj);}var newObj={};var hasPropertyDescriptor=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var key in obj){if(key!=="default"&&Object.prototype.hasOwnProperty.call(obj,key)){var desc=hasPropertyDescriptor?Object.getOwnPropertyDescriptor(obj,key):null;if(desc&&(desc.get||desc.set)){Object.defineProperty(newObj,key,desc);}else{newObj[key]=obj[key];}}}newObj["default"]=obj;if(cache){cache.set(obj,newObj);}return newObj;}var _ref=_babel["default"]||_babel,t=_ref.types;var ImportsCachedInjector=function(){function ImportsCachedInjector(resolver,getPreferredIndex){this._imports=new WeakMap();this._anonymousImports=new WeakMap();this._lastImports=new WeakMap();this._resolver=resolver;this._getPreferredIndex=getPreferredIndex;}var _proto=ImportsCachedInjector.prototype;_proto.storeAnonymous=function storeAnonymous(programPath,url,moduleName,getVal){var key=this._normalizeKey(programPath,url);var imports=this._ensure(this._anonymousImports,programPath,Set);if(imports.has(key))return;var node=getVal(programPath.node.sourceType==="script",t.stringLiteral(this._resolver(url)));imports.add(key);this._injectImport(programPath,node,moduleName);};_proto.storeNamed=function storeNamed(programPath,url,name,moduleName,getVal){var key=this._normalizeKey(programPath,url,name);var imports=this._ensure(this._imports,programPath,Map);if(!imports.has(key)){var _getVal=getVal(programPath.node.sourceType==="script",t.stringLiteral(this._resolver(url)),t.identifier(name)),node=_getVal.node,id=_getVal.name;imports.set(key,id);this._injectImport(programPath,node,moduleName);}return t.identifier(imports.get(key));};_proto._injectImport=function _injectImport(programPath,node,moduleName){var _this$_lastImports$ge;var newIndex=this._getPreferredIndex(moduleName);var lastImports=(_this$_lastImports$ge=this._lastImports.get(programPath))!=null?_this$_lastImports$ge:[];var isPathStillValid=function isPathStillValid(path){return path.node&&path.parent===programPath.node&&path.container===programPath.node.body;};var last;if(newIndex===Infinity){if(lastImports.length>0){last=lastImports[lastImports.length-1].path;if(!isPathStillValid(last))last=undefined;}}else{for(var _iterator=_createForOfIteratorHelperLoose(lastImports.entries()),_step;!(_step=_iterator()).done;){var _step$value=_slicedToArray(_step.value,2),i=_step$value[0],data=_step$value[1];var path=data.path,index=data.index;if(isPathStillValid(path)){if(newIndex<index){var _path$insertBefore=path.insertBefore(node),_path$insertBefore2=_slicedToArray(_path$insertBefore,1),newPath=_path$insertBefore2[0];lastImports.splice(i,0,{path:newPath,index:newIndex});return;}last=path;}}}if(last){var _last$insertAfter=last.insertAfter(node),_last$insertAfter2=_slicedToArray(_last$insertAfter,1),_newPath=_last$insertAfter2[0];lastImports.push({path:_newPath,index:newIndex});}else{var _programPath$unshiftC=programPath.unshiftContainer("body",node),_programPath$unshiftC2=_slicedToArray(_programPath$unshiftC,1),_newPath2=_programPath$unshiftC2[0];this._lastImports.set(programPath,[{path:_newPath2,index:newIndex}]);}};_proto._ensure=function _ensure(map,programPath,Collection){var collection=map.get(programPath);if(!collection){collection=new Collection();map.set(programPath,collection);}return collection;};_proto._normalizeKey=function _normalizeKey(programPath,url,name){if(name===void 0){name="";}var sourceType=programPath.node.sourceType;return(name&&sourceType)+"::"+url+"::"+name;};return _createClass(ImportsCachedInjector);}();importsInjector$1["default"]=ImportsCachedInjector;return importsInjector$1;}var debugUtils$1={};var hasRequiredDebugUtils$1;function requireDebugUtils$1(){if(hasRequiredDebugUtils$1)return debugUtils$1;hasRequiredDebugUtils$1=1;debugUtils$1.__esModule=true;debugUtils$1.presetEnvSilentDebugHeader=void 0;debugUtils$1.stringifyTargets=stringifyTargets;debugUtils$1.stringifyTargetsMultiline=stringifyTargetsMultiline;var _helperCompilationTargets=require$$1$1;var presetEnvSilentDebugHeader="#__secret_key__@babel/preset-env__don't_log_debug_header_and_resolved_targets";debugUtils$1.presetEnvSilentDebugHeader=presetEnvSilentDebugHeader;function stringifyTargetsMultiline(targets){return JSON.stringify((0,_helperCompilationTargets.prettifyTargets)(targets),null,2);}function stringifyTargets(targets){return JSON.stringify(targets).replace(/,/g,", ").replace(/^\{"/,'{ "').replace(/"\}$/,'" }');}return debugUtils$1;}var normalizeOptions$5={};var hasRequiredNormalizeOptions$1;function requireNormalizeOptions$1(){if(hasRequiredNormalizeOptions$1)return normalizeOptions$5;hasRequiredNormalizeOptions$1=1;normalizeOptions$5.__esModule=true;normalizeOptions$5.applyMissingDependenciesDefaults=applyMissingDependenciesDefaults;normalizeOptions$5.validateIncludeExclude=validateIncludeExclude;var _utils=requireUtils$3();function patternToRegExp(pattern){if(pattern instanceof RegExp)return pattern;try{return new RegExp("^"+pattern+"$");}catch(_unused){return null;}}function buildUnusedError(label,unused){if(!unused.length)return"";return"  - The following \""+label+"\" patterns didn't match any polyfill:\n"+unused.map(function(original){return"    "+String(original)+"\n";}).join("");}function buldDuplicatesError(duplicates){if(!duplicates.size)return"";return"  - The following polyfills were matched both by \"include\" and \"exclude\" patterns:\n"+Array.from(duplicates,function(name){return"    "+name+"\n";}).join("");}function validateIncludeExclude(provider,polyfills,includePatterns,excludePatterns){var current;var filter=function filter(pattern){var regexp=patternToRegExp(pattern);if(!regexp)return false;var matched=false;for(var _iterator=_createForOfIteratorHelperLoose(polyfills.keys()),_step;!(_step=_iterator()).done;){var polyfill=_step.value;if(regexp.test(polyfill)){matched=true;current.add(polyfill);}}return!matched;};var include=current=new Set();var unusedInclude=Array.from(includePatterns).filter(filter);var exclude=current=new Set();var unusedExclude=Array.from(excludePatterns).filter(filter);var duplicates=(0,_utils.intersection)(include,exclude);if(duplicates.size>0||unusedInclude.length>0||unusedExclude.length>0){throw new Error("Error while validating the \""+provider+"\" provider options:\n"+buildUnusedError("include",unusedInclude)+buildUnusedError("exclude",unusedExclude)+buldDuplicatesError(duplicates));}return{include:include,exclude:exclude};}function applyMissingDependenciesDefaults(options,babelApi){var _options$missingDepen=options.missingDependencies,missingDependencies=_options$missingDepen===void 0?{}:_options$missingDepen;if(missingDependencies===false)return false;var caller=babelApi.caller(function(caller){return caller==null?void 0:caller.name;});var _missingDependencies$=missingDependencies.log,log=_missingDependencies$===void 0?"deferred":_missingDependencies$,_missingDependencies$2=missingDependencies.inject,inject=_missingDependencies$2===void 0?caller==="rollup-plugin-babel"?"throw":"import":_missingDependencies$2,_missingDependencies$3=missingDependencies.all,all=_missingDependencies$3===void 0?false:_missingDependencies$3;return{log:log,inject:inject,all:all};}return normalizeOptions$5;}var visitors$1={};var usage$2={};var hasRequiredUsage$1;function requireUsage$1(){if(hasRequiredUsage$1)return usage$2;hasRequiredUsage$1=1;usage$2.__esModule=true;usage$2["default"]=void 0;var _utils=requireUtils$3();function isRemoved(path){if(path.removed)return true;if(!path.parentPath)return false;if(path.listKey){if(!path.parentPath.node[path.listKey].includes(path.node))return true;}else{if(path.parentPath.node[path.key]!==path.node)return true;}return isRemoved(path.parentPath);}var _default=function _default(callProvider){function property(object,key,placement,path){return callProvider({kind:"property",object:object,key:key,placement:placement},path);}function handleReferencedIdentifier(path){var name=path.node.name,scope=path.scope;if(scope.getBindingIdentifier(name))return;callProvider({kind:"global",name:name},path);}function analyzeMemberExpression(path){var key=(0,_utils.resolveKey)(path.get("property"),path.node.computed);return{key:key,handleAsMemberExpression:!!key&&key!=="prototype"};}return{ReferencedIdentifier:function ReferencedIdentifier(path){var parentPath=path.parentPath;if(parentPath.isMemberExpression({object:path.node})&&analyzeMemberExpression(parentPath).handleAsMemberExpression){return;}handleReferencedIdentifier(path);},MemberExpression:function MemberExpression(path){var _analyzeMemberExpress=analyzeMemberExpression(path),key=_analyzeMemberExpress.key,handleAsMemberExpression=_analyzeMemberExpress.handleAsMemberExpression;if(!handleAsMemberExpression)return;var object=path.get("object");var objectIsGlobalIdentifier=object.isIdentifier();if(objectIsGlobalIdentifier){var binding=object.scope.getBinding(object.node.name);if(binding){if(binding.path.isImportNamespaceSpecifier())return;objectIsGlobalIdentifier=false;}}var source=(0,_utils.resolveSource)(object);var skipObject=property(source.id,key,source.placement,path);skipObject||(skipObject=!objectIsGlobalIdentifier||path.shouldSkip||object.shouldSkip||isRemoved(object));if(!skipObject)handleReferencedIdentifier(object);},ObjectPattern:function ObjectPattern(path){var parentPath=path.parentPath,parent=path.parent;var obj;if(parentPath.isVariableDeclarator()){obj=parentPath.get("init");}else if(parentPath.isAssignmentExpression()){obj=parentPath.get("right");}else if(parentPath.isFunction()){var grand=parentPath.parentPath;if(grand.isCallExpression()||grand.isNewExpression()){if(grand.node.callee===parent){obj=grand.get("arguments")[path.key];}}}var id=null;var placement=null;if(obj){var _ref=(0,_utils.resolveSource)(obj);id=_ref.id;placement=_ref.placement;}for(var _iterator=_createForOfIteratorHelperLoose(path.get("properties")),_step;!(_step=_iterator()).done;){var prop=_step.value;if(prop.isObjectProperty()){var key=(0,_utils.resolveKey)(prop.get("key"));if(key)property(id,key,placement,prop);}}},BinaryExpression:function BinaryExpression(path){if(path.node.operator!=="in")return;var source=(0,_utils.resolveSource)(path.get("right"));var key=(0,_utils.resolveKey)(path.get("left"),true);if(!key)return;callProvider({kind:"in",object:source.id,key:key,placement:source.placement},path);}};};usage$2["default"]=_default;return usage$2;}var entry$2={};var hasRequiredEntry$1;function requireEntry$1(){if(hasRequiredEntry$1)return entry$2;hasRequiredEntry$1=1;entry$2.__esModule=true;entry$2["default"]=void 0;var _utils=requireUtils$3();var _default=function _default(callProvider){return{ImportDeclaration:function ImportDeclaration(path){var source=(0,_utils.getImportSource)(path);if(!source)return;callProvider({kind:"import",source:source},path);},Program:function Program(path){path.get("body").forEach(function(bodyPath){var source=(0,_utils.getRequireSource)(bodyPath);if(!source)return;callProvider({kind:"import",source:source},bodyPath);});}};};entry$2["default"]=_default;return entry$2;}var hasRequiredVisitors$1;function requireVisitors$1(){if(hasRequiredVisitors$1)return visitors$1;hasRequiredVisitors$1=1;visitors$1.__esModule=true;visitors$1.usage=visitors$1.entry=void 0;var _usage=_interopRequireDefault(requireUsage$1());visitors$1.usage=_usage["default"];var _entry=_interopRequireDefault(requireEntry$1());visitors$1.entry=_entry["default"];function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj};}return visitors$1;}var dependencies$1={};var hasRequiredDependencies$1;function requireDependencies$1(){if(hasRequiredDependencies$1)return dependencies$1;hasRequiredDependencies$1=1;dependencies$1.__esModule=true;dependencies$1.has=has;dependencies$1.laterLogMissing=laterLogMissing;dependencies$1.logMissing=logMissing;dependencies$1.resolve=resolve;function resolve(dirname,moduleName,absoluteImports){if(absoluteImports===false)return moduleName;throw new Error("\"absoluteImports\" is not supported in bundles prepared for the browser.");}function has(basedir,name){return true;}function logMissing(missingDeps){}function laterLogMissing(missingDeps){}return dependencies$1;}var metaResolver$1={};var hasRequiredMetaResolver$1;function requireMetaResolver$1(){if(hasRequiredMetaResolver$1)return metaResolver$1;hasRequiredMetaResolver$1=1;metaResolver$1.__esModule=true;metaResolver$1["default"]=createMetaResolver;var _utils=requireUtils$3();var PossibleGlobalObjects=new Set(["global","globalThis","self","window"]);function createMetaResolver(polyfills){var staticP=polyfills["static"],instanceP=polyfills.instance,globalP=polyfills.global;return function(meta){if(meta.kind==="global"&&globalP&&(0,_utils.has)(globalP,meta.name)){return{kind:"global",desc:globalP[meta.name],name:meta.name};}if(meta.kind==="property"||meta.kind==="in"){var placement=meta.placement,object=meta.object,key=meta.key;if(object&&placement==="static"){if(globalP&&PossibleGlobalObjects.has(object)&&(0,_utils.has)(globalP,key)){return{kind:"global",desc:globalP[key],name:key};}if(staticP&&(0,_utils.has)(staticP,object)&&(0,_utils.has)(staticP[object],key)){return{kind:"static",desc:staticP[object][key],name:object+"$"+key};}}if(instanceP&&(0,_utils.has)(instanceP,key)){return{kind:"instance",desc:instanceP[key],name:""+key};}}};}return metaResolver$1;}var hasRequiredLib$6;function requireLib$6(){if(hasRequiredLib$6)return lib$5;hasRequiredLib$6=1;lib$5.__esModule=true;lib$5["default"]=definePolyfillProvider;var _helperPluginUtils=require$$0$4;var _helperCompilationTargets=_interopRequireWildcard(require$$1$1);var _utils=requireUtils$3();var _importsInjector=_interopRequireDefault(requireImportsInjector$1());var _debugUtils=requireDebugUtils$1();var _normalizeOptions=requireNormalizeOptions$1();var v=_interopRequireWildcard(requireVisitors$1());var deps=_interopRequireWildcard(requireDependencies$1());var _metaResolver=_interopRequireDefault(requireMetaResolver$1());var _excluded=["method","targets","ignoreBrowserslistConfig","configPath","debug","shouldInjectPolyfill","absoluteImports"];function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj};}function _getRequireWildcardCache(nodeInterop){if(typeof WeakMap!=="function")return null;var cacheBabelInterop=new WeakMap();var cacheNodeInterop=new WeakMap();return(_getRequireWildcardCache=function _getRequireWildcardCache(nodeInterop){return nodeInterop?cacheNodeInterop:cacheBabelInterop;})(nodeInterop);}function _interopRequireWildcard(obj,nodeInterop){if(!nodeInterop&&obj&&obj.__esModule){return obj;}if(obj===null||_typeof(obj)!=="object"&&typeof obj!=="function"){return{"default":obj};}var cache=_getRequireWildcardCache(nodeInterop);if(cache&&cache.has(obj)){return cache.get(obj);}var newObj={};var hasPropertyDescriptor=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var key in obj){if(key!=="default"&&Object.prototype.hasOwnProperty.call(obj,key)){var desc=hasPropertyDescriptor?Object.getOwnPropertyDescriptor(obj,key):null;if(desc&&(desc.get||desc.set)){Object.defineProperty(newObj,key,desc);}else{newObj[key]=obj[key];}}}newObj["default"]=obj;if(cache){cache.set(obj,newObj);}return newObj;}function _objectWithoutPropertiesLoose(source,excluded){if(source==null)return{};var target={};var sourceKeys=Object.keys(source);var key,i;for(i=0;i<sourceKeys.length;i++){key=sourceKeys[i];if(excluded.indexOf(key)>=0)continue;target[key]=source[key];}return target;}var getTargets=_helperCompilationTargets["default"]["default"]||_helperCompilationTargets["default"];function resolveOptions(options,babelApi){var method=options.method,targetsOption=options.targets,ignoreBrowserslistConfig=options.ignoreBrowserslistConfig,configPath=options.configPath,debug=options.debug,shouldInjectPolyfill=options.shouldInjectPolyfill,absoluteImports=options.absoluteImports,providerOptions=_objectWithoutPropertiesLoose(options,_excluded);if(isEmpty(options)){throw new Error("This plugin requires options, for example:\n    {\n      \"plugins\": [\n        [\"<plugin name>\", { method: \"usage-pure\" }]\n      ]\n    }\n\nSee more options at https://github.com/babel/babel-polyfills/blob/main/docs/usage.md");}var methodName;if(method==="usage-global")methodName="usageGlobal";else if(method==="entry-global")methodName="entryGlobal";else if(method==="usage-pure")methodName="usagePure";else if(typeof method!=="string"){throw new Error(".method must be a string");}else{throw new Error(".method must be one of \"entry-global\", \"usage-global\""+(" or \"usage-pure\" (received "+JSON.stringify(method)+")"));}if(typeof shouldInjectPolyfill==="function"){if(options.include||options.exclude){throw new Error(".include and .exclude are not supported when using the"+" .shouldInjectPolyfill function.");}}else if(shouldInjectPolyfill!=null){throw new Error(".shouldInjectPolyfill must be a function, or undefined"+(" (received "+JSON.stringify(shouldInjectPolyfill)+")"));}if(absoluteImports!=null&&typeof absoluteImports!=="boolean"&&typeof absoluteImports!=="string"){throw new Error(".absoluteImports must be a boolean, a string, or undefined"+(" (received "+JSON.stringify(absoluteImports)+")"));}var targets;if(targetsOption||configPath||ignoreBrowserslistConfig){var targetsObj=typeof targetsOption==="string"||Array.isArray(targetsOption)?{browsers:targetsOption}:targetsOption;targets=getTargets(targetsObj,{ignoreBrowserslistConfig:ignoreBrowserslistConfig,configPath:configPath});}else{targets=babelApi.targets();}return{method:method,methodName:methodName,targets:targets,absoluteImports:absoluteImports!=null?absoluteImports:false,shouldInjectPolyfill:shouldInjectPolyfill,debug:!!debug,providerOptions:providerOptions};}function instantiateProvider(factory,options,missingDependencies,dirname,debugLog,babelApi){var _resolveOptions=resolveOptions(options,babelApi),method=_resolveOptions.method,methodName=_resolveOptions.methodName,targets=_resolveOptions.targets,_debug=_resolveOptions.debug,_shouldInjectPolyfill=_resolveOptions.shouldInjectPolyfill,providerOptions=_resolveOptions.providerOptions,absoluteImports=_resolveOptions.absoluteImports;var include,exclude;var polyfillsSupport;var polyfillsNames;var filterPolyfills;var getUtils=(0,_utils.createUtilsGetter)(new _importsInjector["default"](function(moduleName){return deps.resolve(dirname,moduleName,absoluteImports);},function(name){var _polyfillsNames$get,_polyfillsNames;return(_polyfillsNames$get=(_polyfillsNames=polyfillsNames)==null?void 0:_polyfillsNames.get(name))!=null?_polyfillsNames$get:Infinity;}));var depsCache=new Map();var api={babel:babelApi,getUtils:getUtils,method:options.method,targets:targets,createMetaResolver:_metaResolver["default"],shouldInjectPolyfill:function shouldInjectPolyfill(name){if(polyfillsNames===undefined){throw new Error("Internal error in the "+factory.name+" provider: "+"shouldInjectPolyfill() can't be called during initialization.");}if(!polyfillsNames.has(name)){console.warn("Internal error in the "+providerName+" provider: "+("unknown polyfill \""+name+"\"."));}if(filterPolyfills&&!filterPolyfills(name))return false;var shouldInject=(0,_helperCompilationTargets.isRequired)(name,targets,{compatData:polyfillsSupport,includes:include,excludes:exclude});if(_shouldInjectPolyfill){shouldInject=_shouldInjectPolyfill(name,shouldInject);if(typeof shouldInject!=="boolean"){throw new Error(".shouldInjectPolyfill must return a boolean.");}}return shouldInject;},debug:function debug(name){var _debugLog,_debugLog$polyfillsSu;debugLog().found=true;if(!_debug||!name)return;if(debugLog().polyfills.has(providerName))return;debugLog().polyfills.add(name);(_debugLog$polyfillsSu=(_debugLog=debugLog()).polyfillsSupport)!=null?_debugLog$polyfillsSu:_debugLog.polyfillsSupport=polyfillsSupport;},assertDependency:function assertDependency(name,version){if(version===void 0){version="*";}if(missingDependencies===false)return;if(absoluteImports){return;}var dep=version==="*"?name:name+"@^"+version;var found=missingDependencies.all?false:mapGetOr(depsCache,name+" :: "+dirname,function(){return deps.has(dirname,name);});if(!found){debugLog().missingDeps.add(dep);}}};var provider=factory(api,providerOptions,dirname);var providerName=provider.name||factory.name;if(typeof provider[methodName]!=="function"){throw new Error("The \""+providerName+"\" provider doesn't support the \""+method+"\" polyfilling method.");}if(Array.isArray(provider.polyfills)){polyfillsNames=new Map(provider.polyfills.map(function(name,index){return[name,index];}));filterPolyfills=provider.filterPolyfills;}else if(provider.polyfills){polyfillsNames=new Map(Object.keys(provider.polyfills).map(function(name,index){return[name,index];}));polyfillsSupport=provider.polyfills;filterPolyfills=provider.filterPolyfills;}else{polyfillsNames=new Map();}var _ref2=(0,_normalizeOptions.validateIncludeExclude)(providerName,polyfillsNames,providerOptions.include||[],providerOptions.exclude||[]);include=_ref2.include;exclude=_ref2.exclude;var callProvider;if(methodName==="usageGlobal"){callProvider=function callProvider(payload,path){var _ref;var utils=getUtils(path);return(_ref=provider[methodName](payload,utils,path))!=null?_ref:false;};}else{callProvider=function callProvider(payload,path){var utils=getUtils(path);provider[methodName](payload,utils,path);return false;};}return{debug:_debug,method:method,targets:targets,provider:provider,providerName:providerName,callProvider:callProvider};}function definePolyfillProvider(factory){return(0,_helperPluginUtils.declare)(function(babelApi,options,dirname){babelApi.assertVersion("^7.0.0 || ^8.0.0-alpha.0");var traverse=babelApi.traverse;var debugLog;var missingDependencies=(0,_normalizeOptions.applyMissingDependenciesDefaults)(options,babelApi);var _instantiateProvider=instantiateProvider(factory,options,missingDependencies,dirname,function(){return debugLog;},babelApi),debug=_instantiateProvider.debug,method=_instantiateProvider.method,targets=_instantiateProvider.targets,provider=_instantiateProvider.provider,providerName=_instantiateProvider.providerName,callProvider=_instantiateProvider.callProvider;var createVisitor=method==="entry-global"?v.entry:v.usage;var visitor=provider.visitor?traverse.visitors.merge([createVisitor(callProvider),provider.visitor]):createVisitor(callProvider);if(debug&&debug!==_debugUtils.presetEnvSilentDebugHeader){console.log(providerName+": `DEBUG` option");console.log("\nUsing targets: "+(0,_debugUtils.stringifyTargetsMultiline)(targets));console.log("\nUsing polyfills with `"+method+"` method:");}var runtimeName=provider.runtimeName;return{name:"inject-polyfills",visitor:visitor,pre:function pre(file){var _provider$pre;if(runtimeName){if(file.get("runtimeHelpersModuleName")&&file.get("runtimeHelpersModuleName")!==runtimeName){console.warn("Two different polyfill providers"+(" ("+file.get("runtimeHelpersModuleProvider"))+(" and "+providerName+") are trying to define two")+" conflicting @babel/runtime alternatives:"+(" "+file.get("runtimeHelpersModuleName")+" and "+runtimeName+".")+" The second one will be ignored.");}else{file.set("runtimeHelpersModuleName",runtimeName);file.set("runtimeHelpersModuleProvider",providerName);}}debugLog={polyfills:new Set(),polyfillsSupport:undefined,found:false,providers:new Set(),missingDeps:new Set()};(_provider$pre=provider.pre)==null?void 0:_provider$pre.apply(this,arguments);},post:function post(){var _provider$post;(_provider$post=provider.post)==null?void 0:_provider$post.apply(this,arguments);if(missingDependencies!==false){if(missingDependencies.log==="per-file"){deps.logMissing(debugLog.missingDeps);}else{deps.laterLogMissing(debugLog.missingDeps);}}if(!debug)return;if(this.filename)console.log("\n["+this.filename+"]");if(debugLog.polyfills.size===0){console.log(method==="entry-global"?debugLog.found?"Based on your targets, the "+providerName+" polyfill did not add any polyfill.":"The entry point for the "+providerName+" polyfill has not been found.":"Based on your code and targets, the "+providerName+" polyfill did not add any polyfill.");return;}if(method==="entry-global"){console.log("The "+providerName+" polyfill entry has been replaced with "+"the following polyfills:");}else{console.log("The "+providerName+" polyfill added the following polyfills:");}for(var _iterator=_createForOfIteratorHelperLoose(debugLog.polyfills),_step;!(_step=_iterator()).done;){var name=_step.value;var _debugLog$polyfillsSu2;if((_debugLog$polyfillsSu2=debugLog.polyfillsSupport)!=null&&_debugLog$polyfillsSu2[name]){var filteredTargets=(0,_helperCompilationTargets.getInclusionReasons)(name,targets,debugLog.polyfillsSupport);var formattedTargets=JSON.stringify(filteredTargets).replace(/,/g,", ").replace(/^\{"/,'{ "').replace(/"\}$/,'" }');console.log("  "+name+" "+formattedTargets);}else{console.log("  "+name);}}}};});}function mapGetOr(map,key,getDefault){var val=map.get(key);if(val===undefined){val=getDefault();map.set(key,val);}return val;}function isEmpty(obj){return Object.keys(obj).length===0;}return lib$5;}var hasRequiredLib$5;function requireLib$5(){if(hasRequiredLib$5)return lib$6;hasRequiredLib$5=1;lib$6.__esModule=true;lib$6["default"]=void 0;var _corejs2BuiltIns=_interopRequireDefault(requireCorejs2BuiltIns());var _builtInDefinitions=requireBuiltInDefinitions$2();var _addPlatformSpecificPolyfills=_interopRequireDefault(requireAddPlatformSpecificPolyfills$1());var _helpers=requireHelpers$1();var _helperDefinePolyfillProvider=_interopRequireDefault(requireLib$6());var _babel=_interopRequireWildcard(require$$5);function _getRequireWildcardCache(nodeInterop){if(typeof WeakMap!=="function")return null;var cacheBabelInterop=new WeakMap();var cacheNodeInterop=new WeakMap();return(_getRequireWildcardCache=function _getRequireWildcardCache(nodeInterop){return nodeInterop?cacheNodeInterop:cacheBabelInterop;})(nodeInterop);}function _interopRequireWildcard(obj,nodeInterop){if(!nodeInterop&&obj&&obj.__esModule){return obj;}if(obj===null||_typeof(obj)!=="object"&&typeof obj!=="function"){return{"default":obj};}var cache=_getRequireWildcardCache(nodeInterop);if(cache&&cache.has(obj)){return cache.get(obj);}var newObj={};var hasPropertyDescriptor=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var key in obj){if(key!=="default"&&Object.prototype.hasOwnProperty.call(obj,key)){var desc=hasPropertyDescriptor?Object.getOwnPropertyDescriptor(obj,key):null;if(desc&&(desc.get||desc.set)){Object.defineProperty(newObj,key,desc);}else{newObj[key]=obj[key];}}}newObj["default"]=obj;if(cache){cache.set(obj,newObj);}return newObj;}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj};}var _ref=_babel["default"]||_babel,t=_ref.types;var BABEL_RUNTIME="@babel/runtime-corejs2";var presetEnvCompat="#__secret_key__@babel/preset-env__compatibility";var runtimeCompat="#__secret_key__@babel/runtime__compatibility";var has=Function.call.bind(Object.hasOwnProperty);var _default=(0,_helperDefinePolyfillProvider["default"])(function(api,_ref2){var _ref2$presetEnvCompat=_ref2[presetEnvCompat],_ref2$presetEnvCompat2=_ref2$presetEnvCompat===void 0?{}:_ref2$presetEnvCompat,_ref2$presetEnvCompat3=_ref2$presetEnvCompat2.entryInjectRegenerator,entryInjectRegenerator=_ref2$presetEnvCompat3===void 0?false:_ref2$presetEnvCompat3,_ref2$presetEnvCompat4=_ref2$presetEnvCompat2.noRuntimeName,noRuntimeName=_ref2$presetEnvCompat4===void 0?false:_ref2$presetEnvCompat4,_ref2$runtimeCompat=_ref2[runtimeCompat],_ref2$runtimeCompat2=_ref2$runtimeCompat===void 0?{}:_ref2$runtimeCompat,_ref2$runtimeCompat2$=_ref2$runtimeCompat2.useBabelRuntime,useBabelRuntime=_ref2$runtimeCompat2$===void 0?false:_ref2$runtimeCompat2$,_ref2$runtimeCompat2$2=_ref2$runtimeCompat2.runtimeVersion,runtimeVersion=_ref2$runtimeCompat2$2===void 0?"":_ref2$runtimeCompat2$2,_ref2$runtimeCompat2$3=_ref2$runtimeCompat2.ext,ext=_ref2$runtimeCompat2$3===void 0?".js":_ref2$runtimeCompat2$3;var resolve=api.createMetaResolver({global:_builtInDefinitions.BuiltIns,"static":_builtInDefinitions.StaticProperties,instance:_builtInDefinitions.InstanceProperties});var debug=api.debug,shouldInjectPolyfill=api.shouldInjectPolyfill,method=api.method;var polyfills=(0,_addPlatformSpecificPolyfills["default"])(api.targets,method,_corejs2BuiltIns["default"]);var coreJSBase=useBabelRuntime?BABEL_RUNTIME+"/core-js":method==="usage-pure"?"core-js/library/fn":"core-js/modules";function inject(name,utils){if(typeof name==="string"){if(has(polyfills,name)&&shouldInjectPolyfill(name)){debug(name);utils.injectGlobalImport(coreJSBase+"/"+name+".js");}return;}name.forEach(function(name){return inject(name,utils);});}function maybeInjectPure(desc,hint,utils){var pure=desc.pure,meta=desc.meta,name=desc.name;if(!pure||!shouldInjectPolyfill(name))return;if(runtimeVersion&&meta&&meta.minRuntimeVersion&&!(0,_helpers.hasMinVersion)(meta&&meta.minRuntimeVersion,runtimeVersion)){return;}if(useBabelRuntime&&pure==="symbol/index")pure="symbol";return utils.injectDefaultImport(coreJSBase+"/"+pure+ext,hint);}return{name:"corejs2",runtimeName:noRuntimeName?null:BABEL_RUNTIME,polyfills:polyfills,entryGlobal:function entryGlobal(meta,utils,path){if(meta.kind==="import"&&meta.source==="core-js"){debug(null);inject(Object.keys(polyfills),utils);if(entryInjectRegenerator){utils.injectGlobalImport("regenerator-runtime/runtime.js");}path.remove();}},usageGlobal:function usageGlobal(meta,utils){var resolved=resolve(meta);if(!resolved)return;var deps=resolved.desc.global;if(resolved.kind!=="global"&&"object"in meta&&meta.object&&meta.placement==="prototype"){var low=meta.object.toLowerCase();deps=deps.filter(function(m){return m.includes(low);});}inject(deps,utils);},usagePure:function usagePure(meta,utils,path){if(meta.kind==="in"){if(meta.key==="Symbol.iterator"){path.replaceWith(t.callExpression(utils.injectDefaultImport(coreJSBase+"/is-iterable"+ext,"isIterable"),[path.node.right]));}return;}if(path.parentPath.isUnaryExpression({operator:"delete"}))return;if(meta.kind==="property"){if(!path.isMemberExpression())return;if(!path.isReferenced())return;if(meta.key==="Symbol.iterator"&&shouldInjectPolyfill("es6.symbol")&&path.parentPath.isCallExpression({callee:path.node})&&path.parentPath.node.arguments.length===0){path.parentPath.replaceWith(t.callExpression(utils.injectDefaultImport(coreJSBase+"/get-iterator"+ext,"getIterator"),[path.node.object]));path.skip();return;}}var resolved=resolve(meta);if(!resolved)return;var id=maybeInjectPure(resolved.desc,resolved.name,utils);if(id)path.replaceWith(id);},visitor:method==="usage-global"&&{YieldExpression:function YieldExpression(path){if(path.node.delegate){inject("web.dom.iterable",api.getUtils(path));}},"ForOfStatement|ArrayPattern":function ForOfStatementArrayPattern(path){_builtInDefinitions.CommonIterators.forEach(function(name){return inject(name,api.getUtils(path));});}}};});lib$6["default"]=_default;return lib$6;}var babelPluginPolyfillCorejs2$1;var hasRequiredBabelPluginPolyfillCorejs2$1;function requireBabelPluginPolyfillCorejs2$1(){if(hasRequiredBabelPluginPolyfillCorejs2$1)return babelPluginPolyfillCorejs2$1;hasRequiredBabelPluginPolyfillCorejs2$1=1;function bool(value){if(value==null)return false;return value&&value!=="false"&&value!=="0";}babelPluginPolyfillCorejs2$1=bool(browser$1$1.env["BABEL_8_BREAKING"])?null:requireLib$5();return babelPluginPolyfillCorejs2$1;}var lib$4={};var require$$0$3={"es.symbol":{android:"49",bun:"0.1.1",chrome:"49","chrome-android":"49",deno:"1.0",edge:"15",electron:"0.37",firefox:"51","firefox-android":"51",hermes:"0.1",ios:"10.0",node:"6.0",oculus:"3.0",opera:"36","opera-android":"36",opera_mobile:"36",quest:"3.0","react-native":"0.69",safari:"10.0",samsung:"5.0"},"es.symbol.description":{android:"70",bun:"0.1.1",chrome:"70","chrome-android":"70",deno:"1.0",edge:"79",electron:"5.0",firefox:"63","firefox-android":"63",ios:"12.2",node:"11.0",oculus:"6.0",opera:"57","opera-android":"49",opera_mobile:"49",quest:"6.0",safari:"12.1",samsung:"10.0"},"es.symbol.async-iterator":{android:"63",bun:"0.1.1",chrome:"63","chrome-android":"63",deno:"1.0",edge:"79",electron:"3.0",firefox:"55","firefox-android":"55",ios:"12.0",node:"10.0",oculus:"5.0",opera:"50","opera-android":"46",opera_mobile:"46",quest:"5.0",safari:"12.0",samsung:"8.0"},"es.symbol.has-instance":{android:"50",bun:"0.1.1",chrome:"50","chrome-android":"50",deno:"1.0",edge:"15",electron:"1.1",firefox:"49","firefox-android":"49",hermes:"0.1",ios:"10.0",node:"6.0",oculus:"3.0",opera:"37","opera-android":"37",opera_mobile:"37",quest:"3.0","react-native":"0.69",rhino:"1.7.13",safari:"10.0",samsung:"5.0"},"es.symbol.is-concat-spreadable":{android:"48",bun:"0.1.1",chrome:"48","chrome-android":"48",deno:"1.0",edge:"15",electron:"0.37",firefox:"48","firefox-android":"48",hermes:"0.1",ios:"10.0",node:"6.0",oculus:"3.0",opera:"35","opera-android":"35",opera_mobile:"35",quest:"3.0","react-native":"0.69",rhino:"1.7.13",safari:"10.0",samsung:"5.0"},"es.symbol.iterator":{android:"41",bun:"0.1.1",chrome:"41","chrome-android":"41",deno:"1.0",edge:"13",electron:"0.21",firefox:"36","firefox-android":"36",hermes:"0.1",ios:"9.0",node:"1.0",oculus:"3.0",opera:"28","opera-android":"28",opera_mobile:"28",quest:"3.0","react-native":"0.69",rhino:"1.7.13",safari:"9.0",samsung:"3.4"},"es.symbol.match":{android:"50",bun:"0.1.1",chrome:"50","chrome-android":"50",deno:"1.0",edge:"79",electron:"1.1",firefox:"40","firefox-android":"40",hermes:"0.1",ios:"10.0",node:"6.0",oculus:"3.0",opera:"37","opera-android":"37",opera_mobile:"37",quest:"3.0","react-native":"0.69",rhino:"1.7.13",safari:"10.0",samsung:"5.0"},"es.symbol.match-all":{android:"73",bun:"0.1.1",chrome:"73","chrome-android":"73",deno:"1.0",edge:"79",electron:"5.0",firefox:"67","firefox-android":"67",hermes:"0.6",ios:"13.0",node:"12.0",oculus:"6.0",opera:"60","opera-android":"52",opera_mobile:"52",quest:"6.0","react-native":"0.69",safari:"13",samsung:"11.0"},"es.symbol.replace":{android:"50",bun:"0.1.1",chrome:"50","chrome-android":"50",deno:"1.0",edge:"79",electron:"1.1",firefox:"49","firefox-android":"49",hermes:"0.1",ios:"10.0",node:"6.0",oculus:"3.0",opera:"37","opera-android":"37",opera_mobile:"37",quest:"3.0","react-native":"0.69",rhino:"1.7.13",safari:"10.0",samsung:"5.0"},"es.symbol.search":{android:"50",bun:"0.1.1",chrome:"50","chrome-android":"50",deno:"1.0",edge:"79",electron:"1.1",firefox:"49","firefox-android":"49",hermes:"0.1",ios:"10.0",node:"6.0",oculus:"3.0",opera:"37","opera-android":"37",opera_mobile:"37",quest:"3.0","react-native":"0.69",rhino:"1.7.13",safari:"10.0",samsung:"5.0"},"es.symbol.species":{android:"51",bun:"0.1.1",chrome:"51","chrome-android":"51",deno:"1.0",edge:"13",electron:"1.2",firefox:"41","firefox-android":"41",ios:"10.0",node:"6.5",oculus:"3.0",opera:"38","opera-android":"38",opera_mobile:"38",quest:"3.0",rhino:"1.7.13",safari:"10.0",samsung:"5.0"},"es.symbol.split":{android:"50",bun:"0.1.1",chrome:"50","chrome-android":"50",deno:"1.0",edge:"79",electron:"1.1",firefox:"49","firefox-android":"49",hermes:"0.1",ios:"10.0",node:"6.0",oculus:"3.0",opera:"37","opera-android":"37",opera_mobile:"37",quest:"3.0","react-native":"0.69",rhino:"1.7.13",safari:"10.0",samsung:"5.0"},"es.symbol.to-primitive":{android:"47",bun:"0.1.1",chrome:"47","chrome-android":"47",deno:"1.0",edge:"15",electron:"0.36",firefox:"44","firefox-android":"44",hermes:"0.1",ios:"10.0",node:"6.0",oculus:"3.0",opera:"34","opera-android":"34",opera_mobile:"34",quest:"3.0","react-native":"0.69",rhino:"1.7.13",safari:"10.0",samsung:"5.0"},"es.symbol.to-string-tag":{android:"49",bun:"0.1.1",chrome:"49","chrome-android":"49",deno:"1.0",edge:"15",electron:"0.37",firefox:"51","firefox-android":"51",hermes:"0.1",ios:"10.0",node:"6.0",oculus:"3.0",opera:"36","opera-android":"36",opera_mobile:"36",quest:"3.0","react-native":"0.69",rhino:"1.7.13",safari:"10.0",samsung:"5.0"},"es.symbol.unscopables":{android:"41",bun:"0.1.1",chrome:"41","chrome-android":"41",deno:"1.0",edge:"13",electron:"0.21",firefox:"48","firefox-android":"48",ios:"9.0",node:"1.0",oculus:"3.0",opera:"28","opera-android":"28",opera_mobile:"28",quest:"3.0",rhino:"1.7.13",safari:"9.0",samsung:"3.4"},"es.error.cause":{android:"94",bun:"0.1.1",chrome:"94","chrome-android":"94",deno:"1.14",edge:"94",electron:"15.0",firefox:"91","firefox-android":"91",hermes:"0.8",ios:"15.0",node:"16.11",oculus:"18.0",opera:"80","opera-android":"66",opera_mobile:"66",quest:"18.0","react-native":"0.69",safari:"15.0",samsung:"17.0"},"es.error.to-string":{android:"4.4.3",bun:"0.1.1",chrome:"33","chrome-android":"33",deno:"1.0",edge:"12",electron:"0.20",firefox:"11","firefox-android":"11",hermes:"0.1",ie:"9",ios:"9.0",node:"0.11.13",oculus:"3.0",opera:"20","opera-android":"20",opera_mobile:"20",quest:"3.0","react-native":"0.69",rhino:"1.7.14",safari:"8.0",samsung:"2.0"},"es.aggregate-error":{android:"85",bun:"0.1.1",chrome:"85","chrome-android":"85",deno:"1.2",edge:"85",electron:"10.0",firefox:"79","firefox-android":"79",ios:"14.0",node:"15.0",oculus:"12.0",opera:"71","opera-android":"60",opera_mobile:"60",quest:"12.0",safari:"14.0",samsung:"14.0"},"es.aggregate-error.cause":{android:"94",bun:"0.1.1",chrome:"94","chrome-android":"94",deno:"1.14",edge:"94",electron:"15.0",firefox:"91","firefox-android":"91",ios:"15.0",node:"16.11",oculus:"18.0",opera:"80","opera-android":"66",opera_mobile:"66",quest:"18.0",safari:"15.0",samsung:"17.0"},"es.array.at":{android:"92",bun:"0.1.1",chrome:"92","chrome-android":"92",deno:"1.12",edge:"92",electron:"14.0",firefox:"90","firefox-android":"90",ios:"15.4",node:"16.6",oculus:"17.0",opera:"78","opera-android":"65",opera_mobile:"65",quest:"17.0","react-native":"0.71",safari:"15.4",samsung:"16.0"},"es.array.concat":{android:"51",bun:"0.1.1",chrome:"51","chrome-android":"51",deno:"1.0",edge:"15",electron:"1.2",firefox:"48","firefox-android":"48",ios:"10.0",node:"6.5",oculus:"3.0",opera:"38","opera-android":"38",opera_mobile:"38",quest:"3.0",safari:"10.0",samsung:"5.0"},"es.array.copy-within":{android:"45",bun:"0.1.1",chrome:"45","chrome-android":"45",deno:"1.0",edge:"12",electron:"0.31",firefox:"48","firefox-android":"48",ios:"9.0",node:"4.0",oculus:"3.0",opera:"32","opera-android":"32",opera_mobile:"32",quest:"3.0",safari:"9.0",samsung:"5.0"},"es.array.every":{android:"4.4",bun:"0.1.1",chrome:"26","chrome-android":"26",deno:"1.0",edge:"12",electron:"0.20",firefox:"4","firefox-android":"4",hermes:"0.1",ie:"9",ios:"8.0",node:"0.11.0",oculus:"3.0",opera:"15","opera-android":"15",opera_mobile:"15",quest:"3.0","react-native":"0.69",rhino:"1.7.13",safari:"7.1",samsung:"1.5"},"es.array.fill":{android:"45",bun:"0.1.1",chrome:"45","chrome-android":"45",deno:"1.0",edge:"12",electron:"0.31",firefox:"48","firefox-android":"48",ios:"9.0",node:"4.0",oculus:"3.0",opera:"32","opera-android":"32",opera_mobile:"32",quest:"3.0",safari:"9.0",samsung:"5.0"},"es.array.filter":{android:"51",bun:"0.1.1",chrome:"51","chrome-android":"51",deno:"1.0",edge:"15",electron:"1.2",firefox:"48","firefox-android":"48",ios:"10.0",node:"6.5",oculus:"3.0",opera:"38","opera-android":"38",opera_mobile:"38",quest:"3.0",safari:"10.0",samsung:"5.0"},"es.array.find":{android:"45",bun:"0.1.1",chrome:"45","chrome-android":"45",deno:"1.0",edge:"13",electron:"0.31",firefox:"48","firefox-android":"48",ios:"9.0",node:"4.0",oculus:"3.0",opera:"32","opera-android":"32",opera_mobile:"32",quest:"3.0",safari:"9.0",samsung:"5.0"},"es.array.find-index":{android:"45",bun:"0.1.1",chrome:"45","chrome-android":"45",deno:"1.0",edge:"13",electron:"0.31",firefox:"48","firefox-android":"48",ios:"9.0",node:"4.0",oculus:"3.0",opera:"32","opera-android":"32",opera_mobile:"32",quest:"3.0",safari:"9.0",samsung:"5.0"},"es.array.find-last":{android:"97",bun:"0.1.1",chrome:"97","chrome-android":"97",deno:"1.16",edge:"97",electron:"17.0",firefox:"104","firefox-android":"104",hermes:"0.11",ios:"15.4",node:"18.0",oculus:"20.0",opera:"83","opera-android":"68",opera_mobile:"68",quest:"20.0","react-native":"0.69",safari:"15.4",samsung:"18.0"},"es.array.find-last-index":{android:"97",bun:"0.1.1",chrome:"97","chrome-android":"97",deno:"1.16",edge:"97",electron:"17.0",firefox:"104","firefox-android":"104",hermes:"0.11",ios:"15.4",node:"18.0",oculus:"20.0",opera:"83","opera-android":"68",opera_mobile:"68",quest:"20.0","react-native":"0.69",safari:"15.4",samsung:"18.0"},"es.array.flat":{android:"69",bun:"0.1.1",chrome:"69","chrome-android":"69",deno:"1.0",edge:"79",electron:"4.0",firefox:"62","firefox-android":"62",hermes:"0.4",ios:"12.0",node:"11.0",oculus:"6.0",opera:"56","opera-android":"48",opera_mobile:"48",quest:"6.0","react-native":"0.69",safari:"12.0",samsung:"10.0"},"es.array.flat-map":{android:"69",bun:"0.1.1",chrome:"69","chrome-android":"69",deno:"1.0",edge:"79",electron:"4.0",firefox:"62","firefox-android":"62",hermes:"0.4",ios:"12.0",node:"11.0",oculus:"6.0",opera:"56","opera-android":"48",opera_mobile:"48",quest:"6.0","react-native":"0.69",safari:"12.0",samsung:"10.0"},"es.array.for-each":{android:"4.4",bun:"0.1.1",chrome:"26","chrome-android":"26",deno:"1.0",edge:"12",electron:"0.20",firefox:"4","firefox-android":"4",hermes:"0.1",ie:"9",ios:"8.0",node:"0.11.0",oculus:"3.0",opera:"15","opera-android":"15",opera_mobile:"15",quest:"3.0","react-native":"0.69",rhino:"1.7.13",safari:"7.1",samsung:"1.5"},"es.array.from":{android:"51",bun:"0.1.1",chrome:"51","chrome-android":"51",deno:"1.0",edge:"15",electron:"1.2",firefox:"53","firefox-android":"53",ios:"9.0",node:"6.5",oculus:"3.0",opera:"38","opera-android":"38",opera_mobile:"38",quest:"3.0",rhino:"1.7.13",safari:"9.0",samsung:"5.0"},"es.array.includes":{android:"53",bun:"0.1.1",chrome:"53","chrome-android":"53",deno:"1.0",edge:"14",electron:"1.4",firefox:"102","firefox-android":"102",ios:"10.0",node:"7.0",oculus:"3.0",opera:"40","opera-android":"40",opera_mobile:"40",quest:"3.0",safari:"10.0",samsung:"6.0"},"es.array.index-of":{android:"51",bun:"0.1.1",chrome:"51","chrome-android":"51",deno:"1.0",edge:"12",electron:"1.2",firefox:"47","firefox-android":"47",hermes:"0.1",ie:"9",ios:"8.0",node:"6.5",oculus:"3.0",opera:"38","opera-android":"38",opera_mobile:"38",quest:"3.0","react-native":"0.69",rhino:"1.7.13",safari:"7.1",samsung:"5.0"},"es.array.is-array":{android:"3.0",bun:"0.1.1",chrome:"5","chrome-android":"18",deno:"1.0",edge:"12",electron:"0.20",firefox:"4","firefox-android":"4",hermes:"0.1",ie:"9",ios:"3.0",node:"0.1.27",oculus:"3.0",opera:"10.50","opera-android":"10.50",opera_mobile:"10.50",phantom:"1.9",quest:"3.0","react-native":"0.69",rhino:"1.7.13",safari:"4.0",samsung:"1.0"},"es.array.iterator":{android:"66",bun:"0.1.1",chrome:"66","chrome-android":"66",deno:"1.0",edge:"15",electron:"3.0",firefox:"60","firefox-android":"60",ios:"10.0",node:"10.0",oculus:"5.0",opera:"53","opera-android":"47",opera_mobile:"47",quest:"5.0",safari:"10.0",samsung:"9.0"},"es.array.join":{android:"4.4",bun:"0.1.1",chrome:"26","chrome-android":"26",deno:"1.0",edge:"13",electron:"0.20",firefox:"4","firefox-android":"4",hermes:"0.1",ios:"8.0",node:"0.11.0",oculus:"3.0",opera:"15","opera-android":"15",opera_mobile:"15",quest:"3.0","react-native":"0.69",rhino:"1.7.13",safari:"7.1",samsung:"1.5"},"es.array.last-index-of":{android:"51",bun:"0.1.1",chrome:"51","chrome-android":"51",deno:"1.0",edge:"12",electron:"1.2",firefox:"47","firefox-android":"47",hermes:"0.1",ie:"9",ios:"8.0",node:"6.5",oculus:"3.0",opera:"38","opera-android":"38",opera_mobile:"38",quest:"3.0","react-native":"0.69",rhino:"1.7.13",safari:"7.1",samsung:"5.0"},"es.array.map":{android:"51",bun:"0.1.1",chrome:"51","chrome-android":"51",deno:"1.0",edge:"13",electron:"1.2",firefox:"50","firefox-android":"50",ios:"10.0",node:"6.5",oculus:"3.0",opera:"38","opera-android":"38",opera_mobile:"38",quest:"3.0",safari:"10.0",samsung:"5.0"},"es.array.of":{android:"45",bun:"0.1.1",chrome:"45","chrome-android":"45",deno:"1.0",edge:"13",electron:"0.31",firefox:"25","firefox-android":"25",hermes:"0.1",ios:"9.0",node:"4.0",oculus:"3.0",opera:"32","opera-android":"32",opera_mobile:"32",quest:"3.0","react-native":"0.69",rhino:"1.7.13",safari:"9.0",samsung:"5.0"},"es.array.push":{bun:"0.1.1",firefox:"55","firefox-android":"55",hermes:"0.2",ios:"16.0","react-native":"0.69",safari:"16.0"},"es.array.reduce":{android:"83",bun:"0.1.1",chrome:"83","chrome-android":"83",deno:"1.0",edge:"12",electron:"9.0",firefox:"4","firefox-android":"4",hermes:"0.1",ie:"9",ios:"8.0",node:"6.0",oculus:"10.0",opera:"69","opera-android":"59",opera_mobile:"59",quest:"10.0","react-native":"0.69",rhino:"1.7.13",safari:"7.1",samsung:"13.0"},"es.array.reduce-right":{android:"83",bun:"0.1.1",chrome:"83","chrome-android":"83",deno:"1.0",edge:"12",electron:"9.0",firefox:"4","firefox-android":"4",hermes:"0.1",ie:"9",ios:"8.0",node:"6.0",oculus:"10.0",opera:"69","opera-android":"59",opera_mobile:"59",quest:"10.0","react-native":"0.69",rhino:"1.7.13",safari:"7.1",samsung:"13.0"},"es.array.reverse":{android:"3.0",bun:"0.1.1",chrome:"1","chrome-android":"18",deno:"1.0",edge:"12",electron:"0.20",firefox:"1","firefox-android":"4",hermes:"0.1",ie:"5.5",ios:"12.2",node:"0.0.3",oculus:"3.0",opera:"10.50","opera-android":"10.50",opera_mobile:"10.50",quest:"3.0","react-native":"0.69",rhino:"1.7.13",safari:"12.0.2",samsung:"1.0"},"es.array.slice":{android:"51",bun:"0.1.1",chrome:"51","chrome-android":"51",deno:"1.0",edge:"13",electron:"1.2",firefox:"48","firefox-android":"48",ios:"10.0",node:"6.5",oculus:"3.0",opera:"38","opera-android":"38",opera_mobile:"38",quest:"3.0",safari:"10.0",samsung:"5.0"},"es.array.some":{android:"4.4",bun:"0.1.1",chrome:"26","chrome-android":"26",deno:"1.0",edge:"12",electron:"0.20",firefox:"4","firefox-android":"4",hermes:"0.1",ie:"9",ios:"8.0",node:"0.11.0",oculus:"3.0",opera:"15","opera-android":"15",opera_mobile:"15",quest:"3.0","react-native":"0.69",rhino:"1.7.13",safari:"7.1",samsung:"1.5"},"es.array.sort":{android:"70",bun:"0.1.1",chrome:"70","chrome-android":"70",deno:"1.0",edge:"79",electron:"5.0",firefox:"4","firefox-android":"4",hermes:"0.10",ios:"12.0",node:"11.0",oculus:"6.0",opera:"57","opera-android":"49",opera_mobile:"49",quest:"6.0","react-native":"0.69",safari:"12.0",samsung:"10.0"},"es.array.species":{android:"51",bun:"0.1.1",chrome:"51","chrome-android":"51",deno:"1.0",edge:"13",electron:"1.2",firefox:"48","firefox-android":"48",ios:"10.0",node:"6.5",oculus:"3.0",opera:"38","opera-android":"38",opera_mobile:"38",quest:"3.0",safari:"10.0",samsung:"5.0"},"es.array.splice":{android:"51",bun:"0.1.1",chrome:"51","chrome-android":"51",deno:"1.0",edge:"13",electron:"1.2",firefox:"49","firefox-android":"49",ios:"10.0",node:"6.5",oculus:"3.0",opera:"38","opera-android":"38",opera_mobile:"38",quest:"3.0",safari:"10.0",samsung:"5.0"},"es.array.to-reversed":{android:"110",bun:"0.1.1",chrome:"110","chrome-android":"110",deno:"1.27",edge:"110",electron:"23.0",firefox:"115","firefox-android":"115",ios:"16.0",node:"20.0",oculus:"26.0",opera:"96","opera-android":"74",opera_mobile:"74",quest:"26.0",safari:"16.0",samsung:"21.0"},"es.array.to-sorted":{android:"110",bun:"0.1.1",chrome:"110","chrome-android":"110",deno:"1.27",edge:"110",electron:"23.0",firefox:"115","firefox-android":"115",ios:"16.0",node:"20.0",oculus:"26.0",opera:"96","opera-android":"74",opera_mobile:"74",quest:"26.0",safari:"16.0",samsung:"21.0"},"es.array.to-spliced":{android:"110",bun:"0.1.1",chrome:"110","chrome-android":"110",deno:"1.27",edge:"110",electron:"23.0",firefox:"115","firefox-android":"115",ios:"16.0",node:"20.0",oculus:"26.0",opera:"96","opera-android":"74",opera_mobile:"74",quest:"26.0",safari:"16.0",samsung:"21.0"},"es.array.unscopables.flat":{android:"73",bun:"0.1.1",chrome:"73","chrome-android":"73",deno:"1.0",edge:"79",electron:"5.0",firefox:"67","firefox-android":"67",ios:"13.0",node:"12.0",oculus:"6.0",opera:"60","opera-android":"52",opera_mobile:"52",quest:"6.0",safari:"13",samsung:"11.0"},"es.array.unscopables.flat-map":{android:"73",bun:"0.1.1",chrome:"73","chrome-android":"73",deno:"1.0",edge:"79",electron:"5.0",firefox:"67","firefox-android":"67",ios:"13.0",node:"12.0",oculus:"6.0",opera:"60","opera-android":"52",opera_mobile:"52",quest:"6.0",safari:"13",samsung:"11.0"},"es.array.unshift":{android:"71",bun:"0.1.1",chrome:"71","chrome-android":"71",deno:"1.0",edge:"12",electron:"5.0",firefox:"23","firefox-android":"23",hermes:"0.1",ie:"9",ios:"16.0",node:"12.0",oculus:"6.0",opera:"58","opera-android":"50",opera_mobile:"50",quest:"6.0","react-native":"0.69",safari:"16.0",samsung:"10.0"},"es.array.with":{android:"110",bun:"0.1.1",chrome:"110","chrome-android":"110",deno:"1.27",edge:"110",electron:"23.0",firefox:"115","firefox-android":"115",ios:"16.0",node:"20.0",oculus:"26.0",opera:"96","opera-android":"74",opera_mobile:"74",quest:"26.0",safari:"16.0",samsung:"21.0"},"es.array-buffer.constructor":{android:"4.4",bun:"0.1.1",chrome:"28","chrome-android":"28",deno:"1.0",edge:"14",electron:"0.20",firefox:"44","firefox-android":"44",hermes:"0.1",ios:"12.0",node:"0.11.1",oculus:"3.0",opera:"15","opera-android":"15",opera_mobile:"15",quest:"3.0","react-native":"0.69",safari:"12.0",samsung:"1.5"},"es.array-buffer.is-view":{android:"4.4.3",bun:"0.1.1",chrome:"32","chrome-android":"32",deno:"1.0",edge:"12",electron:"0.20",firefox:"29","firefox-android":"29",hermes:"0.1",ie:"11",ios:"8.0",node:"0.11.9",oculus:"3.0",opera:"19","opera-android":"19",opera_mobile:"19",quest:"3.0","react-native":"0.69",safari:"7.1",samsung:"2.0"},"es.array-buffer.slice":{android:"4.4.3",bun:"0.1.1",chrome:"31","chrome-android":"31",deno:"1.0",edge:"12",electron:"0.20",firefox:"46","firefox-android":"46",hermes:"0.1",ie:"11",ios:"12.2",node:"0.11.8",oculus:"3.0",opera:"18","opera-android":"18",opera_mobile:"18",quest:"3.0","react-native":"0.69",rhino:"1.7.13",safari:"12.1",samsung:"2.0"},"es.data-view":{android:"4.4",bun:"0.1.1",chrome:"26","chrome-android":"26",deno:"1.0",edge:"12",electron:"0.20",firefox:"15","firefox-android":"15",hermes:"0.1",ie:"10",ios:"8.0",node:"0.11.0",oculus:"3.0",opera:"15","opera-android":"15",opera_mobile:"15",quest:"3.0","react-native":"0.69",rhino:"1.7.13",safari:"7.1",samsung:"1.5"},"es.date.get-year":{android:"3.0",bun:"0.1.1",chrome:"1","chrome-android":"18",deno:"1.0",edge:"12",electron:"0.20",firefox:"1","firefox-android":"4",hermes:"0.1",ie:"9",ios:"1.0",node:"0.0.3",oculus:"3.0",opera:"3","opera-android":"3",opera_mobile:"3",phantom:"1.9",quest:"3.0","react-native":"0.69",rhino:"1.7.13",safari:"1",samsung:"1.0"},"es.date.now":{android:"3.0",bun:"0.1.1",chrome:"5","chrome-android":"18",deno:"1.0",edge:"12",electron:"0.20",firefox:"2","firefox-android":"4",hermes:"0.1",ie:"9",ios:"3.0",node:"0.1.27",oculus:"3.0",opera:"10.50","opera-android":"10.50",opera_mobile:"10.50",phantom:"1.9",quest:"3.0","react-native":"0.69",rhino:"1.7.13",safari:"4.0",samsung:"1.0"},"es.date.set-year":{android:"3.0",bun:"0.1.1",chrome:"1","chrome-android":"18",deno:"1.0",edge:"12",electron:"0.20",firefox:"1","firefox-android":"4",hermes:"0.1",ie:"3",ios:"1.0",node:"0.0.3",oculus:"3.0",opera:"3","opera-android":"3",opera_mobile:"3",phantom:"1.9",quest:"3.0","react-native":"0.69",rhino:"1.7.13",safari:"1",samsung:"1.0"},"es.date.to-gmt-string":{android:"3.0",bun:"0.1.1",chrome:"1","chrome-android":"18",deno:"1.0",edge:"12",electron:"0.20",firefox:"1","firefox-android":"4",hermes:"0.1",ie:"3",ios:"1.0",node:"0.0.3",oculus:"3.0",opera:"3","opera-android":"3",opera_mobile:"3",phantom:"1.9",quest:"3.0","react-native":"0.69",rhino:"1.7.13",safari:"1",samsung:"1.0"},"es.date.to-iso-string":{android:"4.4",bun:"0.1.1",chrome:"26","chrome-android":"26",deno:"1.0",edge:"12",electron:"0.20",firefox:"7","firefox-android":"7",hermes:"0.1",ie:"9",ios:"8.0",node:"0.11.0",oculus:"3.0",opera:"15","opera-android":"15",opera_mobile:"15",quest:"3.0","react-native":"0.69",rhino:"1.7.13",safari:"7.1",samsung:"1.5"},"es.date.to-json":{android:"4.4",bun:"0.1.1",chrome:"26","chrome-android":"26",deno:"1.0",edge:"12",electron:"0.20",firefox:"4","firefox-android":"4",hermes:"0.1",ie:"9",ios:"10.0",node:"0.11.0",oculus:"3.0",opera:"15","opera-android":"15",opera_mobile:"15",quest:"3.0","react-native":"0.69",rhino:"1.7.13",safari:"10.0",samsung:"1.5"},"es.date.to-primitive":{android:"47",bun:"0.1.1",chrome:"47","chrome-android":"47",deno:"1.0",edge:"15",electron:"0.36",firefox:"44","firefox-android":"44",hermes:"0.1",ios:"10.0",node:"6.0",oculus:"3.0",opera:"34","opera-android":"34",opera_mobile:"34",quest:"3.0","react-native":"0.69",safari:"10.0",samsung:"5.0"},"es.date.to-string":{android:"3.0",bun:"0.1.1",chrome:"5","chrome-android":"18",deno:"1.0",edge:"12",electron:"0.20",firefox:"2","firefox-android":"4",hermes:"0.1",ie:"9",ios:"2.0",node:"0.1.27",oculus:"3.0",opera:"10.50","opera-android":"10.50",opera_mobile:"10.50",phantom:"1.9",quest:"3.0","react-native":"0.69",rhino:"1.7.13",safari:"3.1",samsung:"1.0"},"es.escape":{android:"3.0",bun:"0.1.1",chrome:"1","chrome-android":"18",deno:"1.0",edge:"12",electron:"0.20",firefox:"1","firefox-android":"4",hermes:"0.1",ie:"3",ios:"1.0",node:"0.0.3",oculus:"3.0",opera:"3","opera-android":"3",opera_mobile:"3",phantom:"1.9",quest:"3.0","react-native":"0.69",rhino:"1.7.13",safari:"1",samsung:"1.0"},"es.function.bind":{android:"3.0",bun:"0.1.1",chrome:"7","chrome-android":"18",deno:"1.0",edge:"12",electron:"0.20",firefox:"4","firefox-android":"4",hermes:"0.1",ie:"9",ios:"5.0",node:"0.1.101",oculus:"3.0",opera:"12","opera-android":"12",opera_mobile:"12",phantom:"2.0",quest:"3.0","react-native":"0.69",rhino:"1.7.13",safari:"5.1",samsung:"1.0"},"es.function.has-instance":{android:"51",bun:"0.1.1",chrome:"51","chrome-android":"51",deno:"1.0",edge:"15",electron:"1.2",firefox:"50","firefox-android":"50",hermes:"0.1",ios:"10.0",node:"6.5",oculus:"3.0",opera:"38","opera-android":"38",opera_mobile:"38",quest:"3.0","react-native":"0.69",safari:"10.0",samsung:"5.0"},"es.function.name":{android:"3.0",bun:"0.1.1",chrome:"5","chrome-android":"18",deno:"1.0",edge:"12",electron:"0.20",firefox:"2","firefox-android":"4",hermes:"0.1",ios:"3.0",node:"0.1.27",oculus:"3.0",opera:"10.50","opera-android":"10.50",opera_mobile:"10.50",phantom:"1.9",quest:"3.0","react-native":"0.69",rhino:"1.7.13",safari:"4.0",samsung:"1.0"},"es.global-this":{android:"71",bun:"0.1.1",chrome:"71","chrome-android":"71",deno:"1.0",edge:"79",electron:"5.0",firefox:"65","firefox-android":"65",hermes:"0.2",ios:"12.2",node:"12.0",oculus:"6.0",opera:"58","opera-android":"50",opera_mobile:"50",quest:"6.0","react-native":"0.69",rhino:"1.7.14",safari:"12.1",samsung:"10.0"},"es.json.stringify":{android:"72",bun:"0.1.1",chrome:"72","chrome-android":"72",deno:"1.0",edge:"79",electron:"5.0",firefox:"64","firefox-android":"64",ios:"12.2",node:"12.0",oculus:"6.0",opera:"59","opera-android":"51",opera_mobile:"51",quest:"6.0",safari:"12.1",samsung:"11.0"},"es.json.to-string-tag":{android:"50",bun:"0.1.1",chrome:"50","chrome-android":"50",deno:"1.0",edge:"15",electron:"1.1",firefox:"51","firefox-android":"51",hermes:"0.1",ios:"10.0",node:"6.0",oculus:"3.0",opera:"37","opera-android":"37",opera_mobile:"37",quest:"3.0","react-native":"0.69",safari:"10.0",samsung:"5.0"},"es.map":{android:"51",bun:"0.1.1",chrome:"51","chrome-android":"51",deno:"1.0",edge:"15",electron:"1.2",firefox:"53","firefox-android":"53",ios:"10.0",node:"6.5",oculus:"3.0",opera:"38","opera-android":"38",opera_mobile:"38",quest:"3.0",rhino:"1.7.13",safari:"10.0",samsung:"5.0"},"es.math.acosh":{android:"54",bun:"0.1.1",chrome:"54","chrome-android":"54",deno:"1.0",edge:"13",electron:"1.4",firefox:"25","firefox-android":"25",hermes:"0.1",ios:"8.0",node:"7.0",oculus:"3.0",opera:"41","opera-android":"41",opera_mobile:"41",quest:"3.0","react-native":"0.69",safari:"7.1",samsung:"6.0"},"es.math.asinh":{android:"38",bun:"0.1.1",chrome:"38","chrome-android":"38",deno:"1.0",edge:"13",electron:"0.20",firefox:"25","firefox-android":"25",hermes:"0.1",ios:"8.0",node:"0.11.15",oculus:"3.0",opera:"25","opera-android":"25",opera_mobile:"25",quest:"3.0","react-native":"0.69",rhino:"1.7.13",safari:"7.1",samsung:"3.0"},"es.math.atanh":{android:"38",bun:"0.1.1",chrome:"38","chrome-android":"38",deno:"1.0",edge:"13",electron:"0.20",firefox:"25","firefox-android":"25",hermes:"0.1",ios:"8.0",node:"0.11.15",oculus:"3.0",opera:"25","opera-android":"25",opera_mobile:"25",quest:"3.0","react-native":"0.69",rhino:"1.7.13",safari:"7.1",samsung:"3.0"},"es.math.cbrt":{android:"38",bun:"0.1.1",chrome:"38","chrome-android":"38",deno:"1.0",edge:"12",electron:"0.20",firefox:"25","firefox-android":"25",hermes:"0.1",ios:"8.0",node:"0.11.15",oculus:"3.0",opera:"25","opera-android":"25",opera_mobile:"25",quest:"3.0","react-native":"0.69",rhino:"1.7.13",safari:"7.1",samsung:"3.0"},"es.math.clz32":{android:"38",bun:"0.1.1",chrome:"38","chrome-android":"38",deno:"1.0",edge:"12",electron:"0.20",firefox:"31","firefox-android":"31",hermes:"0.1",ios:"9.0",node:"0.11.15",oculus:"3.0",opera:"25","opera-android":"25",opera_mobile:"25",quest:"3.0","react-native":"0.69",rhino:"1.7.13",safari:"9.0",samsung:"3.0"},"es.math.cosh":{android:"39",bun:"0.1.1",chrome:"39","chrome-android":"39",deno:"1.0",edge:"13",electron:"0.20",firefox:"25","firefox-android":"25",hermes:"0.1",ios:"8.0",node:"1.0",oculus:"3.0",opera:"26","opera-android":"26",opera_mobile:"26",quest:"3.0","react-native":"0.69",rhino:"1.7.13",safari:"7.1",samsung:"3.4"},"es.math.expm1":{android:"39",bun:"0.1.1",chrome:"39","chrome-android":"39",deno:"1.0",edge:"13",electron:"0.20",firefox:"46","firefox-android":"46",hermes:"0.1",ios:"8.0",node:"1.0",oculus:"3.0",opera:"26","opera-android":"26",opera_mobile:"26",quest:"3.0","react-native":"0.69",rhino:"1.7.13",safari:"7.1",samsung:"3.4"},"es.math.fround":{android:"38",bun:"0.1.1",chrome:"38","chrome-android":"38",deno:"1.0",edge:"12",electron:"0.20",firefox:"26","firefox-android":"26",hermes:"0.1",ios:"8.0",node:"0.11.15",oculus:"3.0",opera:"25","opera-android":"25",opera_mobile:"25",quest:"3.0","react-native":"0.69",rhino:"1.7.13",safari:"7.1",samsung:"3.0"},"es.math.hypot":{android:"78",bun:"0.1.1",chrome:"78","chrome-android":"78",deno:"1.0",edge:"12",electron:"7.0",firefox:"27","firefox-android":"27",hermes:"0.1",ios:"8.0",node:"13.0",oculus:"8.0",opera:"65","opera-android":"56",opera_mobile:"56",quest:"8.0","react-native":"0.69",rhino:"1.7.13",safari:"7.1",samsung:"12.0"},"es.math.imul":{android:"4.4",bun:"0.1.1",chrome:"28","chrome-android":"28",deno:"1.0",edge:"13",electron:"0.20",firefox:"20","firefox-android":"20",hermes:"0.1",ios:"9.0",node:"0.11.1",oculus:"3.0",opera:"15","opera-android":"15",opera_mobile:"15",quest:"3.0","react-native":"0.69",rhino:"1.7.13",safari:"9.0",samsung:"1.5"},"es.math.log10":{android:"38",bun:"0.1.1",chrome:"38","chrome-android":"38",deno:"1.0",edge:"12",electron:"0.20",firefox:"25","firefox-android":"25",hermes:"0.1",ios:"8.0",node:"0.11.15",oculus:"3.0",opera:"25","opera-android":"25",opera_mobile:"25",quest:"3.0","react-native":"0.69",rhino:"1.7.13",safari:"7.1",samsung:"3.0"},"es.math.log1p":{android:"38",bun:"0.1.1",chrome:"38","chrome-android":"38",deno:"1.0",edge:"12",electron:"0.20",firefox:"25","firefox-android":"25",hermes:"0.1",ios:"8.0",node:"0.11.15",oculus:"3.0",opera:"25","opera-android":"25",opera_mobile:"25",quest:"3.0","react-native":"0.69",rhino:"1.7.13",safari:"7.1",samsung:"3.0"},"es.math.log2":{android:"38",bun:"0.1.1",chrome:"38","chrome-android":"38",deno:"1.0",edge:"12",electron:"0.20",firefox:"25","firefox-android":"25",hermes:"0.1",ios:"8.0",node:"0.11.15",oculus:"3.0",opera:"25","opera-android":"25",opera_mobile:"25",quest:"3.0","react-native":"0.69",rhino:"1.7.13",safari:"7.1",samsung:"3.0"},"es.math.sign":{android:"38",bun:"0.1.1",chrome:"38","chrome-android":"38",deno:"1.0",edge:"12",electron:"0.20",firefox:"25","firefox-android":"25",hermes:"0.1",ios:"9.0",node:"0.11.15",oculus:"3.0",opera:"25","opera-android":"25",opera_mobile:"25",quest:"3.0","react-native":"0.69",rhino:"1.7.13",safari:"9.0",samsung:"3.0"},"es.math.sinh":{android:"39",bun:"0.1.1",chrome:"39","chrome-android":"39",deno:"1.0",edge:"13",electron:"0.20",firefox:"25","firefox-android":"25",hermes:"0.1",ios:"8.0",node:"1.0",oculus:"3.0",opera:"26","opera-android":"26",opera_mobile:"26",quest:"3.0","react-native":"0.69",rhino:"1.7.13",safari:"7.1",samsung:"3.4"},"es.math.tanh":{android:"38",bun:"0.1.1",chrome:"38","chrome-android":"38",deno:"1.0",edge:"12",electron:"0.20",firefox:"25","firefox-android":"25",hermes:"0.1",ios:"8.0",node:"0.11.15",oculus:"3.0",opera:"25","opera-android":"25",opera_mobile:"25",quest:"3.0","react-native":"0.69",rhino:"1.7.13",safari:"7.1",samsung:"3.0"},"es.math.to-string-tag":{android:"50",bun:"0.1.1",chrome:"50","chrome-android":"50",deno:"1.0",edge:"15",electron:"1.1",firefox:"51","firefox-android":"51",hermes:"0.1",ios:"10.0",node:"6.0",oculus:"3.0",opera:"37","opera-android":"37",opera_mobile:"37",quest:"3.0","react-native":"0.69",safari:"10.0",samsung:"5.0"},"es.math.trunc":{android:"38",bun:"0.1.1",chrome:"38","chrome-android":"38",deno:"1.0",edge:"12",electron:"0.20",firefox:"25","firefox-android":"25",hermes:"0.1",ios:"8.0",node:"0.11.15",oculus:"3.0",opera:"25","opera-android":"25",opera_mobile:"25",quest:"3.0","react-native":"0.69",rhino:"1.7.13",safari:"7.1",samsung:"3.0"},"es.number.constructor":{android:"41",bun:"0.1.1",chrome:"41","chrome-android":"41",deno:"1.0",edge:"13",electron:"0.21",firefox:"46","firefox-android":"46",hermes:"0.5",ios:"9.0",node:"1.0",oculus:"3.0",opera:"28","opera-android":"28",opera_mobile:"28",quest:"3.0","react-native":"0.69",rhino:"1.7.13",safari:"9.0",samsung:"3.4"},"es.number.epsilon":{android:"37",bun:"0.1.1",chrome:"34","chrome-android":"34",deno:"1.0",edge:"12",electron:"0.20",firefox:"25","firefox-android":"25",hermes:"0.1",ios:"9.0",node:"0.11.13",oculus:"3.0",opera:"21","opera-android":"21",opera_mobile:"21",quest:"3.0","react-native":"0.69",rhino:"1.7.14",safari:"9.0",samsung:"2.0"},"es.number.is-finite":{android:"4.1",bun:"0.1.1",chrome:"19","chrome-android":"25",deno:"1.0",edge:"12",electron:"0.20",firefox:"16","firefox-android":"16",hermes:"0.1",ios:"9.0",node:"0.7.3",oculus:"3.0",opera:"15","opera-android":"15",opera_mobile:"15",quest:"3.0","react-native":"0.69",rhino:"1.7.13",safari:"9.0",samsung:"1.5"},"es.number.is-integer":{android:"37",bun:"0.1.1",chrome:"34","chrome-android":"34",deno:"1.0",edge:"12",electron:"0.20",firefox:"16","firefox-android":"16",hermes:"0.1",ios:"9.0",node:"0.11.13",oculus:"3.0",opera:"21","opera-android":"21",opera_mobile:"21",quest:"3.0","react-native":"0.69",rhino:"1.7.13",safari:"9.0",samsung:"2.0"},"es.number.is-nan":{android:"4.1",bun:"0.1.1",chrome:"19","chrome-android":"25",deno:"1.0",edge:"12",electron:"0.20",firefox:"15","firefox-android":"15",hermes:"0.1",ios:"9.0",node:"0.7.3",oculus:"3.0",opera:"15","opera-android":"15",opera_mobile:"15",quest:"3.0","react-native":"0.69",rhino:"1.7.13",safari:"9.0",samsung:"1.5"},"es.number.is-safe-integer":{android:"37",bun:"0.1.1",chrome:"34","chrome-android":"34",deno:"1.0",edge:"12",electron:"0.20",firefox:"32","firefox-android":"32",hermes:"0.1",ios:"9.0",node:"0.11.13",oculus:"3.0",opera:"21","opera-android":"21",opera_mobile:"21",quest:"3.0","react-native":"0.69",rhino:"1.7.13",safari:"9.0",samsung:"2.0"},"es.number.max-safe-integer":{android:"37",bun:"0.1.1",chrome:"34","chrome-android":"34",deno:"1.0",edge:"12",electron:"0.20",firefox:"31","firefox-android":"31",hermes:"0.1",ios:"9.0",node:"0.11.13",oculus:"3.0",opera:"21","opera-android":"21",opera_mobile:"21",quest:"3.0","react-native":"0.69",rhino:"1.7.13",safari:"9.0",samsung:"2.0"},"es.number.min-safe-integer":{android:"37",bun:"0.1.1",chrome:"34","chrome-android":"34",deno:"1.0",edge:"12",electron:"0.20",firefox:"31","firefox-android":"31",hermes:"0.1",ios:"9.0",node:"0.11.13",oculus:"3.0",opera:"21","opera-android":"21",opera_mobile:"21",quest:"3.0","react-native":"0.69",rhino:"1.7.13",safari:"9.0",samsung:"2.0"},"es.number.parse-float":{android:"37",bun:"0.1.1",chrome:"35","chrome-android":"35",deno:"1.0",edge:"79",electron:"0.20",firefox:"39","firefox-android":"39",hermes:"0.1",ios:"11.0",node:"0.11.13",oculus:"3.0",opera:"22","opera-android":"22",opera_mobile:"22",quest:"3.0","react-native":"0.69",rhino:"1.7.14",safari:"11.0",samsung:"3.0"},"es.number.parse-int":{android:"37",bun:"0.1.1",chrome:"35","chrome-android":"35",deno:"1.0",edge:"79",electron:"0.20",firefox:"39","firefox-android":"39",hermes:"0.1",ios:"9.0",node:"0.11.13",oculus:"3.0",opera:"22","opera-android":"22",opera_mobile:"22",quest:"3.0","react-native":"0.69",rhino:"1.7.14",safari:"9.0",samsung:"3.0"},"es.number.to-exponential":{android:"51",bun:"0.1.1",chrome:"51","chrome-android":"51",deno:"1.0",edge:"18",electron:"1.2",firefox:"87","firefox-android":"87",hermes:"0.1",ios:"11.0",node:"6.5",oculus:"3.0",opera:"38","opera-android":"38",opera_mobile:"38",quest:"3.0","react-native":"0.69",rhino:"1.7.14",safari:"11",samsung:"5.0"},"es.number.to-fixed":{android:"4.4",bun:"0.1.1",chrome:"26","chrome-android":"26",deno:"1.0",edge:"79",electron:"0.20",firefox:"4","firefox-android":"4",hermes:"0.1",ios:"8.0",node:"0.11.0",oculus:"3.0",opera:"15","opera-android":"15",opera_mobile:"15",quest:"3.0","react-native":"0.69",rhino:"1.7.13",safari:"7.1",samsung:"1.5"},"es.number.to-precision":{android:"4.4",bun:"0.1.1",chrome:"26","chrome-android":"26",deno:"1.0",edge:"12",electron:"0.20",firefox:"4","firefox-android":"4",hermes:"0.1",ie:"8",ios:"8.0",node:"0.11.0",oculus:"3.0",opera:"15","opera-android":"15",opera_mobile:"15",quest:"3.0","react-native":"0.69",rhino:"1.7.13",safari:"7.1",samsung:"1.5"},"es.object.assign":{android:"49",bun:"0.1.1",chrome:"49","chrome-android":"49",deno:"1.0",edge:"79",electron:"0.37",firefox:"36","firefox-android":"36",hermes:"0.4",ios:"9.0",node:"6.0",oculus:"3.0",opera:"36","opera-android":"36",opera_mobile:"36",quest:"3.0","react-native":"0.69",safari:"9.0",samsung:"5.0"},"es.object.create":{android:"3.0",bun:"0.1.1",chrome:"5","chrome-android":"18",deno:"1.0",edge:"12",electron:"0.20",firefox:"4","firefox-android":"4",hermes:"0.1",ie:"9",ios:"3.0",node:"0.1.27",oculus:"3.0",opera:"12","opera-android":"12",opera_mobile:"12",phantom:"1.9",quest:"3.0","react-native":"0.69",rhino:"1.7.13",safari:"4.0",samsung:"1.0"},"es.object.define-getter":{android:"62",bun:"0.1.1",chrome:"62","chrome-android":"62",deno:"1.0",edge:"16",electron:"3.0",firefox:"48","firefox-android":"48",hermes:"0.1",ios:"8.0",node:"8.10",oculus:"5.0",opera:"49","opera-android":"46",opera_mobile:"46",quest:"5.0","react-native":"0.69",rhino:"1.7.13",safari:"7.1",samsung:"8.0"},"es.object.define-properties":{android:"37",bun:"0.1.1",chrome:"37","chrome-android":"37",deno:"1.0",edge:"12",electron:"0.20",firefox:"4","firefox-android":"4",hermes:"0.1",ie:"9",ios:"5.0",node:"0.11.15",oculus:"3.0",opera:"12","opera-android":"12",opera_mobile:"12",phantom:"2.0",quest:"3.0","react-native":"0.69",rhino:"1.7.13",safari:"5.1",samsung:"3.0"},"es.object.define-property":{android:"37",bun:"0.1.1",chrome:"37","chrome-android":"37",deno:"1.0",edge:"12",electron:"0.20",firefox:"4","firefox-android":"4",hermes:"0.1",ie:"9",ios:"5.0",node:"0.11.15",oculus:"3.0",opera:"12","opera-android":"12",opera_mobile:"12",phantom:"2.0",quest:"3.0","react-native":"0.69",rhino:"1.7.13",safari:"5.1",samsung:"3.0"},"es.object.define-setter":{android:"62",bun:"0.1.1",chrome:"62","chrome-android":"62",deno:"1.0",edge:"16",electron:"3.0",firefox:"48","firefox-android":"48",hermes:"0.1",ios:"8.0",node:"8.10",oculus:"5.0",opera:"49","opera-android":"46",opera_mobile:"46",quest:"5.0","react-native":"0.69",rhino:"1.7.13",safari:"7.1",samsung:"8.0"},"es.object.entries":{android:"54",bun:"0.1.1",chrome:"54","chrome-android":"54",deno:"1.0",edge:"14",electron:"1.4",firefox:"47","firefox-android":"47",hermes:"0.1",ios:"10.3",node:"7.0",oculus:"3.0",opera:"41","opera-android":"41",opera_mobile:"41",quest:"3.0","react-native":"0.69",rhino:"1.7.14",safari:"10.1",samsung:"6.0"},"es.object.freeze":{android:"44",bun:"0.1.1",chrome:"44","chrome-android":"44",deno:"1.0",edge:"13",electron:"0.30",firefox:"35","firefox-android":"35",hermes:"0.1",ios:"9.0",node:"3.0",oculus:"3.0",opera:"31","opera-android":"31",opera_mobile:"31",quest:"3.0","react-native":"0.69",rhino:"1.7.13",safari:"9.0",samsung:"4.0"},"es.object.from-entries":{android:"73",bun:"0.1.1",chrome:"73","chrome-android":"73",deno:"1.0",edge:"79",electron:"5.0",firefox:"63","firefox-android":"63",hermes:"0.4",ios:"12.2",node:"12.0",oculus:"6.0",opera:"60","opera-android":"52",opera_mobile:"52",quest:"6.0","react-native":"0.69",rhino:"1.7.14",safari:"12.1",samsung:"11.0"},"es.object.get-own-property-descriptor":{android:"44",bun:"0.1.1",chrome:"44","chrome-android":"44",deno:"1.0",edge:"13",electron:"0.30",firefox:"35","firefox-android":"35",hermes:"0.1",ios:"9.0",node:"3.0",oculus:"3.0",opera:"31","opera-android":"31",opera_mobile:"31",quest:"3.0","react-native":"0.69",rhino:"1.7.13",safari:"9.0",samsung:"4.0"},"es.object.get-own-property-descriptors":{android:"54",bun:"0.1.1",chrome:"54","chrome-android":"54",deno:"1.0",edge:"15",electron:"1.4",firefox:"50","firefox-android":"50",hermes:"0.6",ios:"10.0",node:"7.0",oculus:"3.0",opera:"41","opera-android":"41",opera_mobile:"41",quest:"3.0","react-native":"0.69",safari:"10.0",samsung:"6.0"},"es.object.get-own-property-names":{android:"40",bun:"0.1.1",chrome:"40","chrome-android":"40",deno:"1.0",edge:"13",electron:"0.21",firefox:"34","firefox-android":"34",hermes:"0.1",ios:"9.0",node:"1.0",oculus:"3.0",opera:"27","opera-android":"27",opera_mobile:"27",quest:"3.0","react-native":"0.69",rhino:"1.7.13",safari:"9.0",samsung:"3.4"},"es.object.get-prototype-of":{android:"44",bun:"0.1.1",chrome:"44","chrome-android":"44",deno:"1.0",edge:"13",electron:"0.30",firefox:"35","firefox-android":"35",hermes:"0.1",ios:"9.0",node:"3.0",oculus:"3.0",opera:"31","opera-android":"31",opera_mobile:"31",quest:"3.0","react-native":"0.69",rhino:"1.7.13",safari:"9.0",samsung:"4.0"},"es.object.has-own":{android:"93",bun:"0.1.1",chrome:"93","chrome-android":"93",deno:"1.13",edge:"93",electron:"14.0",firefox:"92","firefox-android":"92",hermes:"0.10",ios:"15.4",node:"16.9",oculus:"17.0",opera:"79","opera-android":"66",opera_mobile:"66",quest:"17.0","react-native":"0.69",safari:"15.4",samsung:"17.0"},"es.object.is":{android:"4.1",bun:"0.1.1",chrome:"19","chrome-android":"25",deno:"1.0",edge:"12",electron:"0.20",firefox:"22","firefox-android":"22",hermes:"0.1",ios:"9.0",node:"0.7.3",oculus:"3.0",opera:"15","opera-android":"15",opera_mobile:"15",quest:"3.0","react-native":"0.69",rhino:"1.7.13",safari:"9.0",samsung:"1.5"},"es.object.is-extensible":{android:"44",bun:"0.1.1",chrome:"44","chrome-android":"44",deno:"1.0",edge:"13",electron:"0.30",firefox:"35","firefox-android":"35",hermes:"0.1",ios:"9.0",node:"3.0",oculus:"3.0",opera:"31","opera-android":"31",opera_mobile:"31",quest:"3.0","react-native":"0.69",rhino:"1.7.13",safari:"9.0",samsung:"4.0"},"es.object.is-frozen":{android:"44",bun:"0.1.1",chrome:"44","chrome-android":"44",deno:"1.0",edge:"13",electron:"0.30",firefox:"35","firefox-android":"35",hermes:"0.1",ios:"9.0",node:"3.0",oculus:"3.0",opera:"31","opera-android":"31",opera_mobile:"31",quest:"3.0","react-native":"0.69",rhino:"1.7.13",safari:"9.0",samsung:"4.0"},"es.object.is-sealed":{android:"44",bun:"0.1.1",chrome:"44","chrome-android":"44",deno:"1.0",edge:"13",electron:"0.30",firefox:"35","firefox-android":"35",hermes:"0.1",ios:"9.0",node:"3.0",oculus:"3.0",opera:"31","opera-android":"31",opera_mobile:"31",quest:"3.0","react-native":"0.69",rhino:"1.7.13",safari:"9.0",samsung:"4.0"},"es.object.keys":{android:"40",bun:"0.1.1",chrome:"40","chrome-android":"40",deno:"1.0",edge:"13",electron:"0.21",firefox:"35","firefox-android":"35",hermes:"0.1",ios:"9.0",node:"1.0",oculus:"3.0",opera:"27","opera-android":"27",opera_mobile:"27",quest:"3.0","react-native":"0.69",rhino:"1.7.13",safari:"9.0",samsung:"3.4"},"es.object.lookup-getter":{android:"62",bun:"0.1.1",chrome:"62","chrome-android":"62",deno:"1.0",edge:"16",electron:"3.0",firefox:"48","firefox-android":"48",hermes:"0.1",ios:"8.0",node:"8.10",oculus:"5.0",opera:"49","opera-android":"46",opera_mobile:"46",quest:"5.0","react-native":"0.69",rhino:"1.7.13",safari:"7.1",samsung:"8.0"},"es.object.lookup-setter":{android:"62",bun:"0.1.1",chrome:"62","chrome-android":"62",deno:"1.0",edge:"16",electron:"3.0",firefox:"48","firefox-android":"48",hermes:"0.1",ios:"8.0",node:"8.10",oculus:"5.0",opera:"49","opera-android":"46",opera_mobile:"46",quest:"5.0","react-native":"0.69",rhino:"1.7.13",safari:"7.1",samsung:"8.0"},"es.object.prevent-extensions":{android:"44",bun:"0.1.1",chrome:"44","chrome-android":"44",deno:"1.0",edge:"13",electron:"0.30",firefox:"35","firefox-android":"35",hermes:"0.1",ios:"9.0",node:"3.0",oculus:"3.0",opera:"31","opera-android":"31",opera_mobile:"31",quest:"3.0","react-native":"0.69",rhino:"1.7.13",safari:"9.0",samsung:"4.0"},"es.object.proto":{android:"3.0",bun:"0.1.1",chrome:"5","chrome-android":"18",edge:"12",electron:"0.20",firefox:"2","firefox-android":"4",hermes:"0.1",ie:"11",ios:"2.0",node:"0.1.27",oculus:"3.0",opera:"10.50","opera-android":"10.50",opera_mobile:"10.50",phantom:"1.9",quest:"3.0","react-native":"0.69",safari:"3.1",samsung:"1.0"},"es.object.seal":{android:"44",bun:"0.1.1",chrome:"44","chrome-android":"44",deno:"1.0",edge:"13",electron:"0.30",firefox:"35","firefox-android":"35",hermes:"0.1",ios:"9.0",node:"3.0",oculus:"3.0",opera:"31","opera-android":"31",opera_mobile:"31",quest:"3.0","react-native":"0.69",rhino:"1.7.13",safari:"9.0",samsung:"4.0"},"es.object.set-prototype-of":{android:"37",bun:"0.1.1",chrome:"34","chrome-android":"34",deno:"1.0",edge:"12",electron:"0.20",firefox:"31","firefox-android":"31",hermes:"0.1",ie:"11",ios:"9.0",node:"0.11.13",oculus:"3.0",opera:"21","opera-android":"21",opera_mobile:"21",quest:"3.0","react-native":"0.69",rhino:"1.7.13",safari:"9.0",samsung:"2.0"},"es.object.to-string":{android:"49",bun:"0.1.1",chrome:"49","chrome-android":"49",deno:"1.0",edge:"15",electron:"0.37",firefox:"51","firefox-android":"51",hermes:"0.1",ios:"10.0",node:"6.0",oculus:"3.0",opera:"36","opera-android":"36",opera_mobile:"36",quest:"3.0","react-native":"0.69",safari:"10.0",samsung:"5.0"},"es.object.values":{android:"54",bun:"0.1.1",chrome:"54","chrome-android":"54",deno:"1.0",edge:"14",electron:"1.4",firefox:"47","firefox-android":"47",hermes:"0.1",ios:"10.3",node:"7.0",oculus:"3.0",opera:"41","opera-android":"41",opera_mobile:"41",quest:"3.0","react-native":"0.69",rhino:"1.7.14",safari:"10.1",samsung:"6.0"},"es.parse-float":{android:"37",bun:"0.1.1",chrome:"35","chrome-android":"35",deno:"1.0",edge:"74",electron:"0.20",firefox:"8","firefox-android":"8",hermes:"0.1",ie:"8",ios:"8.0",node:"0.11.13",oculus:"3.0",opera:"22","opera-android":"22",opera_mobile:"22",quest:"3.0","react-native":"0.69",rhino:"1.7.13",safari:"7.1",samsung:"3.0"},"es.parse-int":{android:"37",bun:"0.1.1",chrome:"35","chrome-android":"35",deno:"1.0",edge:"74",electron:"0.20",firefox:"21","firefox-android":"21",hermes:"0.1",ie:"9",ios:"8.0",node:"0.11.13",oculus:"3.0",opera:"22","opera-android":"22",opera_mobile:"22",quest:"3.0","react-native":"0.69",rhino:"1.7.13",safari:"7.1",samsung:"3.0"},"es.promise":{android:"67",bun:"0.1.1",chrome:"67","chrome-android":"67",deno:"1.24",edge:"79",electron:"4.0",firefox:"69","firefox-android":"69",ios:"11.0",node:"10.4",oculus:"6.0",opera:"54","opera-android":"48",opera_mobile:"48",quest:"6.0",rhino:"1.7.14",safari:"11.0",samsung:"9.0"},"es.promise.all-settled":{android:"76",bun:"0.1.1",chrome:"76","chrome-android":"76",deno:"1.24",edge:"79",electron:"6.0",firefox:"71","firefox-android":"71",ios:"13.0",node:"12.9",oculus:"7.0",opera:"63","opera-android":"54",opera_mobile:"54",quest:"7.0",safari:"13",samsung:"12.0"},"es.promise.any":{android:"85",bun:"0.1.1",chrome:"85","chrome-android":"85",deno:"1.24",edge:"85",electron:"10.0",firefox:"79","firefox-android":"79",ios:"14.0",node:"15.0",oculus:"12.0",opera:"71","opera-android":"60",opera_mobile:"60",quest:"12.0",safari:"14.0",samsung:"14.0"},"es.promise.finally":{android:"67",bun:"0.1.1",chrome:"67","chrome-android":"67",deno:"1.24",edge:"79",electron:"4.0",firefox:"69","firefox-android":"69",ios:"13.2.3",node:"10.4",oculus:"6.0",opera:"54","opera-android":"48",opera_mobile:"48",quest:"6.0",rhino:"1.7.14",safari:"13.0.3",samsung:"9.0"},"es.reflect.apply":{android:"49",bun:"0.1.1",chrome:"49","chrome-android":"49",deno:"1.0",edge:"15",electron:"0.37",firefox:"42","firefox-android":"42",hermes:"0.7",ios:"10.0",node:"6.0",oculus:"3.0",opera:"36","opera-android":"36",opera_mobile:"36",quest:"3.0","react-native":"0.69",safari:"10.0",samsung:"5.0"},"es.reflect.construct":{android:"49",bun:"0.1.1",chrome:"49","chrome-android":"49",deno:"1.0",edge:"15",electron:"0.37",firefox:"44","firefox-android":"44",hermes:"0.7",ios:"10.0",node:"6.0",oculus:"3.0",opera:"36","opera-android":"36",opera_mobile:"36",quest:"3.0","react-native":"0.69",safari:"10.0",samsung:"5.0"},"es.reflect.define-property":{android:"49",bun:"0.1.1",chrome:"49","chrome-android":"49",deno:"1.0",edge:"13",electron:"0.37",firefox:"42","firefox-android":"42",hermes:"0.7",ios:"10.0",node:"6.0",oculus:"3.0",opera:"36","opera-android":"36",opera_mobile:"36",quest:"3.0","react-native":"0.69",safari:"10.0",samsung:"5.0"},"es.reflect.delete-property":{android:"49",bun:"0.1.1",chrome:"49","chrome-android":"49",deno:"1.0",edge:"12",electron:"0.37",firefox:"42","firefox-android":"42",hermes:"0.7",ios:"10.0",node:"6.0",oculus:"3.0",opera:"36","opera-android":"36",opera_mobile:"36",quest:"3.0","react-native":"0.69",safari:"10.0",samsung:"5.0"},"es.reflect.get":{android:"49",bun:"0.1.1",chrome:"49","chrome-android":"49",deno:"1.0",edge:"12",electron:"0.37",firefox:"42","firefox-android":"42",hermes:"0.7",ios:"10.0",node:"6.0",oculus:"3.0",opera:"36","opera-android":"36",opera_mobile:"36",quest:"3.0","react-native":"0.69",safari:"10.0",samsung:"5.0"},"es.reflect.get-own-property-descriptor":{android:"49",bun:"0.1.1",chrome:"49","chrome-android":"49",deno:"1.0",edge:"12",electron:"0.37",firefox:"42","firefox-android":"42",hermes:"0.7",ios:"10.0",node:"6.0",oculus:"3.0",opera:"36","opera-android":"36",opera_mobile:"36",quest:"3.0","react-native":"0.69",safari:"10.0",samsung:"5.0"},"es.reflect.get-prototype-of":{android:"49",bun:"0.1.1",chrome:"49","chrome-android":"49",deno:"1.0",edge:"12",electron:"0.37",firefox:"42","firefox-android":"42",hermes:"0.7",ios:"10.0",node:"6.0",oculus:"3.0",opera:"36","opera-android":"36",opera_mobile:"36",quest:"3.0","react-native":"0.69",safari:"10.0",samsung:"5.0"},"es.reflect.has":{android:"49",bun:"0.1.1",chrome:"49","chrome-android":"49",deno:"1.0",edge:"12",electron:"0.37",firefox:"42","firefox-android":"42",hermes:"0.7",ios:"10.0",node:"6.0",oculus:"3.0",opera:"36","opera-android":"36",opera_mobile:"36",quest:"3.0","react-native":"0.69",safari:"10.0",samsung:"5.0"},"es.reflect.is-extensible":{android:"49",bun:"0.1.1",chrome:"49","chrome-android":"49",deno:"1.0",edge:"12",electron:"0.37",firefox:"42","firefox-android":"42",hermes:"0.7",ios:"10.0",node:"6.0",oculus:"3.0",opera:"36","opera-android":"36",opera_mobile:"36",quest:"3.0","react-native":"0.69",safari:"10.0",samsung:"5.0"},"es.reflect.own-keys":{android:"49",bun:"0.1.1",chrome:"49","chrome-android":"49",deno:"1.0",edge:"12",electron:"0.37",firefox:"42","firefox-android":"42",hermes:"0.7",ios:"10.0",node:"6.0",oculus:"3.0",opera:"36","opera-android":"36",opera_mobile:"36",quest:"3.0","react-native":"0.69",safari:"10.0",samsung:"5.0"},"es.reflect.prevent-extensions":{android:"49",bun:"0.1.1",chrome:"49","chrome-android":"49",deno:"1.0",edge:"12",electron:"0.37",firefox:"42","firefox-android":"42",hermes:"0.7",ios:"10.0",node:"6.0",oculus:"3.0",opera:"36","opera-android":"36",opera_mobile:"36",quest:"3.0","react-native":"0.69",safari:"10.0",samsung:"5.0"},"es.reflect.set":{android:"49",bun:"0.1.1",chrome:"49","chrome-android":"49",deno:"1.0",edge:"79",electron:"0.37",firefox:"42","firefox-android":"42",hermes:"0.7",ios:"10.0",node:"6.0",oculus:"3.0",opera:"36","opera-android":"36",opera_mobile:"36",quest:"3.0","react-native":"0.69",safari:"10.0",samsung:"5.0"},"es.reflect.set-prototype-of":{android:"49",bun:"0.1.1",chrome:"49","chrome-android":"49",deno:"1.0",edge:"12",electron:"0.37",firefox:"42","firefox-android":"42",hermes:"0.7",ios:"10.0",node:"6.0",oculus:"3.0",opera:"36","opera-android":"36",opera_mobile:"36",quest:"3.0","react-native":"0.69",safari:"10.0",samsung:"5.0"},"es.reflect.to-string-tag":{android:"86",bun:"0.1.1",chrome:"86","chrome-android":"86",deno:"1.3",edge:"86",electron:"11.0",firefox:"82","firefox-android":"82",hermes:"0.7",ios:"14.0",node:"15.0",oculus:"12.0",opera:"72","opera-android":"61",opera_mobile:"61",quest:"12.0","react-native":"0.69",safari:"14.0",samsung:"14.0"},"es.regexp.constructor":{android:"64",bun:"0.1.1",chrome:"64","chrome-android":"64",deno:"1.0",edge:"79",electron:"3.0",firefox:"78","firefox-android":"78",ios:"11.3",node:"10.0",oculus:"5.0",opera:"51","opera-android":"47",opera_mobile:"47",quest:"5.0",safari:"11.1",samsung:"9.0"},"es.regexp.dot-all":{android:"62",bun:"0.1.1",chrome:"62","chrome-android":"62",deno:"1.0",edge:"79",electron:"3.0",firefox:"78","firefox-android":"78",hermes:"0.4",ios:"11.3",node:"8.10",oculus:"5.0",opera:"49","opera-android":"46",opera_mobile:"46",quest:"5.0","react-native":"0.69",safari:"11.1",samsung:"8.0"},"es.regexp.exec":{android:"64",bun:"0.1.1",chrome:"64","chrome-android":"64",deno:"1.0",edge:"79",electron:"3.0",firefox:"78","firefox-android":"78",ios:"11.3",node:"10.0",oculus:"5.0",opera:"51","opera-android":"47",opera_mobile:"47",quest:"5.0","react-native":"0.71",safari:"11.1",samsung:"9.0"},"es.regexp.flags":{android:"111",bun:"0.1.1",chrome:"111","chrome-android":"111",deno:"1.32",edge:"111",electron:"24.0",firefox:"78","firefox-android":"78",hermes:"0.4",ios:"11.3",node:"20.0",oculus:"27.0",opera:"97","opera-android":"75",opera_mobile:"75",quest:"27.0","react-native":"0.69",safari:"11.1",samsung:"22.0"},"es.regexp.sticky":{android:"49",bun:"0.1.1",chrome:"49","chrome-android":"49",deno:"1.0",edge:"13",electron:"0.37",firefox:"3","firefox-android":"4",hermes:"0.3",ios:"10.0",node:"6.0",oculus:"3.0",opera:"36","opera-android":"36",opera_mobile:"36",quest:"3.0","react-native":"0.69",safari:"10.0",samsung:"5.0"},"es.regexp.test":{android:"51",bun:"0.1.1",chrome:"51","chrome-android":"51",deno:"1.0",edge:"79",electron:"1.2",firefox:"46","firefox-android":"46",ios:"10.0",node:"6.5",oculus:"3.0",opera:"38","opera-android":"38",opera_mobile:"38",quest:"3.0",safari:"10.0",samsung:"5.0"},"es.regexp.to-string":{android:"50",bun:"0.1.1",chrome:"50","chrome-android":"50",deno:"1.0",edge:"79",electron:"1.1",firefox:"46","firefox-android":"46",hermes:"0.1",ios:"10.0",node:"6.0",oculus:"3.0",opera:"37","opera-android":"37",opera_mobile:"37",quest:"3.0","react-native":"0.69",safari:"10.0",samsung:"5.0"},"es.set":{android:"51",bun:"0.1.1",chrome:"51","chrome-android":"51",deno:"1.0",edge:"15",electron:"1.2",firefox:"53","firefox-android":"53",ios:"10.0",node:"6.5",oculus:"3.0",opera:"38","opera-android":"38",opera_mobile:"38",quest:"3.0",rhino:"1.7.13",safari:"10.0",samsung:"5.0"},"es.string.at-alternative":{android:"92",bun:"0.1.1",chrome:"92","chrome-android":"92",deno:"1.12",edge:"92",electron:"14.0",firefox:"90","firefox-android":"90",ios:"15.4",node:"16.6",oculus:"17.0",opera:"78","opera-android":"65",opera_mobile:"65",quest:"17.0","react-native":"0.71",safari:"15.4",samsung:"16.0"},"es.string.code-point-at":{android:"41",bun:"0.1.1",chrome:"41","chrome-android":"41",deno:"1.0",edge:"13",electron:"0.21",firefox:"29","firefox-android":"29",hermes:"0.1",ios:"9.0",node:"1.0",oculus:"3.0",opera:"28","opera-android":"28",opera_mobile:"28",quest:"3.0","react-native":"0.69",rhino:"1.7.13",safari:"9.0",samsung:"3.4"},"es.string.ends-with":{android:"51",bun:"0.1.1",chrome:"51","chrome-android":"51",deno:"1.0",edge:"79",electron:"1.2",firefox:"40","firefox-android":"40",hermes:"0.1",ios:"10.0",node:"6.5",oculus:"3.0",opera:"38","opera-android":"38",opera_mobile:"38",quest:"3.0","react-native":"0.69",safari:"10.0",samsung:"5.0"},"es.string.from-code-point":{android:"41",bun:"0.1.1",chrome:"41","chrome-android":"41",deno:"1.0",edge:"13",electron:"0.21",firefox:"29","firefox-android":"29",hermes:"0.1",ios:"9.0",node:"1.0",oculus:"3.0",opera:"28","opera-android":"28",opera_mobile:"28",quest:"3.0","react-native":"0.69",rhino:"1.7.13",safari:"9.0",samsung:"3.4"},"es.string.includes":{android:"51",bun:"0.1.1",chrome:"51","chrome-android":"51",deno:"1.0",edge:"79",electron:"1.2",firefox:"40","firefox-android":"40",hermes:"0.1",ios:"10.0",node:"6.5",oculus:"3.0",opera:"38","opera-android":"38",opera_mobile:"38",quest:"3.0","react-native":"0.69",safari:"10.0",samsung:"5.0"},"es.string.is-well-formed":{android:"111",bun:"0.4.0",chrome:"111","chrome-android":"111",deno:"1.32",edge:"111",electron:"24.0",ios:"16.4",node:"20.0",oculus:"27.0",opera:"97","opera-android":"75",opera_mobile:"75",quest:"27.0",safari:"16.4",samsung:"22.0"},"es.string.iterator":{android:"41",bun:"0.1.1",chrome:"41","chrome-android":"41",deno:"1.0",edge:"13",electron:"0.21",firefox:"36","firefox-android":"36",hermes:"0.1",ios:"9.0",node:"1.0",oculus:"3.0",opera:"28","opera-android":"28",opera_mobile:"28",quest:"3.0","react-native":"0.69",rhino:"1.7.13",safari:"9.0",samsung:"3.4"},"es.string.match":{android:"51",bun:"0.1.1",chrome:"51","chrome-android":"51",deno:"1.0",edge:"79",electron:"1.2",firefox:"49","firefox-android":"49",hermes:"0.1",ios:"10.0",node:"6.5",oculus:"3.0",opera:"38","opera-android":"38",opera_mobile:"38",quest:"3.0","react-native":"0.69",safari:"10.0",samsung:"5.0"},"es.string.match-all":{android:"80",bun:"0.1.1",chrome:"80","chrome-android":"80",deno:"1.0",edge:"80",electron:"8.0",firefox:"73","firefox-android":"73",hermes:"0.6",ios:"13.4",node:"14.0",oculus:"9.0",opera:"67","opera-android":"57",opera_mobile:"57",quest:"9.0","react-native":"0.69",safari:"13.1",samsung:"13.0"},"es.string.pad-end":{android:"57",bun:"0.1.1",chrome:"57","chrome-android":"57",deno:"1.0",edge:"15",electron:"1.7",firefox:"48","firefox-android":"48",hermes:"0.1",ios:"11.0",node:"8.0",oculus:"3.0",opera:"44","opera-android":"43",opera_mobile:"43",quest:"3.0","react-native":"0.69",rhino:"1.7.13",safari:"11.0",samsung:"7.0"},"es.string.pad-start":{android:"57",bun:"0.1.1",chrome:"57","chrome-android":"57",deno:"1.0",edge:"15",electron:"1.7",firefox:"48","firefox-android":"48",hermes:"0.1",ios:"11.0",node:"8.0",oculus:"3.0",opera:"44","opera-android":"43",opera_mobile:"43",quest:"3.0","react-native":"0.69",rhino:"1.7.13",safari:"11.0",samsung:"7.0"},"es.string.raw":{android:"41",bun:"0.1.1",chrome:"41","chrome-android":"41",deno:"1.0",edge:"13",electron:"0.21",firefox:"34","firefox-android":"34",hermes:"0.1",ios:"9.0",node:"1.0",oculus:"3.0",opera:"28","opera-android":"28",opera_mobile:"28",quest:"3.0","react-native":"0.69",rhino:"1.7.14",safari:"9.0",samsung:"3.4"},"es.string.repeat":{android:"41",bun:"0.1.1",chrome:"41","chrome-android":"41",deno:"1.0",edge:"13",electron:"0.21",firefox:"24","firefox-android":"24",hermes:"0.1",ios:"9.0",node:"1.0",oculus:"3.0",opera:"28","opera-android":"28",opera_mobile:"28",quest:"3.0","react-native":"0.69",rhino:"1.7.13",safari:"9.0",samsung:"3.4"},"es.string.replace":{android:"64",bun:"0.1.1",chrome:"64","chrome-android":"64",deno:"1.0",edge:"79",electron:"3.0",firefox:"78","firefox-android":"78",ios:"14.0",node:"10.0",oculus:"5.0",opera:"51","opera-android":"47",opera_mobile:"47",quest:"5.0","react-native":"0.71",safari:"14.0",samsung:"9.0"},"es.string.replace-all":{android:"85",bun:"0.1.1",chrome:"85","chrome-android":"85",deno:"1.2",edge:"85",electron:"10.0",firefox:"77","firefox-android":"77",hermes:"0.7",ios:"13.4",node:"15.0",oculus:"12.0",opera:"71","opera-android":"60",opera_mobile:"60",quest:"12.0","react-native":"0.69",safari:"13.1",samsung:"14.0"},"es.string.search":{android:"51",bun:"0.1.1",chrome:"51","chrome-android":"51",deno:"1.0",edge:"79",electron:"1.2",firefox:"49","firefox-android":"49",hermes:"0.1",ios:"10.0",node:"6.5",oculus:"3.0",opera:"38","opera-android":"38",opera_mobile:"38",quest:"3.0","react-native":"0.69",safari:"10.0",samsung:"5.0"},"es.string.split":{android:"54",bun:"0.1.1",chrome:"54","chrome-android":"54",deno:"1.0",edge:"79",electron:"1.4",firefox:"49","firefox-android":"49",ios:"10.0",node:"7.0",oculus:"3.0",opera:"41","opera-android":"41",opera_mobile:"41",quest:"3.0",safari:"10.0",samsung:"6.0"},"es.string.starts-with":{android:"51",bun:"0.1.1",chrome:"51","chrome-android":"51",deno:"1.0",edge:"79",electron:"1.2",firefox:"40","firefox-android":"40",hermes:"0.1",ios:"10.0",node:"6.5",oculus:"3.0",opera:"38","opera-android":"38",opera_mobile:"38",quest:"3.0","react-native":"0.69",safari:"10.0",samsung:"5.0"},"es.string.substr":{android:"3.0",bun:"0.1.1",chrome:"1","chrome-android":"18",deno:"1.0",edge:"12",electron:"0.20",firefox:"1","firefox-android":"4",hermes:"0.1",ie:"9",ios:"1.0",node:"0.0.3",oculus:"3.0",opera:"4","opera-android":"4",opera_mobile:"4",phantom:"1.9",quest:"3.0","react-native":"0.69",rhino:"1.7.13",safari:"1",samsung:"1.0"},"es.string.to-well-formed":{android:"111",bun:"0.5.7",chrome:"111","chrome-android":"111",deno:"1.32",edge:"111",electron:"24.0",ios:"16.4",node:"20.0",oculus:"27.0",opera:"97","opera-android":"75",opera_mobile:"75",quest:"27.0",safari:"16.4",samsung:"22.0"},"es.string.trim":{android:"59",bun:"0.1.1",chrome:"59","chrome-android":"59",deno:"1.0",edge:"15",electron:"1.8",firefox:"52","firefox-android":"52",hermes:"0.1",ios:"12.2",node:"8.3",oculus:"4.0",opera:"46","opera-android":"43",opera_mobile:"43",quest:"4.0","react-native":"0.69",safari:"12.1",samsung:"7.0"},"es.string.trim-end":{android:"66",bun:"0.1.1",chrome:"66","chrome-android":"66",deno:"1.0",edge:"79",electron:"3.0",firefox:"61","firefox-android":"61",hermes:"0.3",ios:"12.2",node:"10.0",oculus:"5.0",opera:"53","opera-android":"47",opera_mobile:"47",quest:"5.0","react-native":"0.69",safari:"12.1",samsung:"9.0"},"es.string.trim-start":{android:"66",bun:"0.1.1",chrome:"66","chrome-android":"66",deno:"1.0",edge:"79",electron:"3.0",firefox:"61","firefox-android":"61",hermes:"0.3",ios:"12.0",node:"10.0",oculus:"5.0",opera:"53","opera-android":"47",opera_mobile:"47",quest:"5.0","react-native":"0.69",safari:"12.0",samsung:"9.0"},"es.string.anchor":{android:"3.0",bun:"0.1.1",chrome:"5","chrome-android":"18",deno:"1.0",edge:"12",electron:"0.20",firefox:"17","firefox-android":"17",ios:"6.0",node:"0.1.27",oculus:"3.0",opera:"15","opera-android":"15",opera_mobile:"15",phantom:"2.0",quest:"3.0",rhino:"1.7.14",safari:"6.0",samsung:"1.0"},"es.string.big":{android:"3.0",bun:"0.1.1",chrome:"5","chrome-android":"18",deno:"1.0",edge:"12",electron:"0.20",firefox:"2","firefox-android":"4",ios:"2.0",node:"0.1.27",oculus:"3.0",opera:"10.50","opera-android":"10.50",opera_mobile:"10.50",phantom:"1.9",quest:"3.0",rhino:"1.7.13",safari:"3.1",samsung:"1.0"},"es.string.blink":{android:"3.0",bun:"0.1.1",chrome:"5","chrome-android":"18",deno:"1.0",edge:"12",electron:"0.20",firefox:"2","firefox-android":"4",ios:"2.0",node:"0.1.27",oculus:"3.0",opera:"10.50","opera-android":"10.50",opera_mobile:"10.50",phantom:"1.9",quest:"3.0",rhino:"1.7.13",safari:"3.1",samsung:"1.0"},"es.string.bold":{android:"3.0",bun:"0.1.1",chrome:"5","chrome-android":"18",deno:"1.0",edge:"12",electron:"0.20",firefox:"2","firefox-android":"4",ios:"2.0",node:"0.1.27",oculus:"3.0",opera:"10.50","opera-android":"10.50",opera_mobile:"10.50",phantom:"1.9",quest:"3.0",rhino:"1.7.13",safari:"3.1",samsung:"1.0"},"es.string.fixed":{android:"3.0",bun:"0.1.1",chrome:"5","chrome-android":"18",deno:"1.0",edge:"12",electron:"0.20",firefox:"2","firefox-android":"4",ios:"2.0",node:"0.1.27",oculus:"3.0",opera:"10.50","opera-android":"10.50",opera_mobile:"10.50",phantom:"1.9",quest:"3.0",rhino:"1.7.13",safari:"3.1",samsung:"1.0"},"es.string.fontcolor":{android:"3.0",bun:"0.1.1",chrome:"5","chrome-android":"18",deno:"1.0",edge:"12",electron:"0.20",firefox:"17","firefox-android":"17",ios:"6.0",node:"0.1.27",oculus:"3.0",opera:"15","opera-android":"15",opera_mobile:"15",phantom:"2.0",quest:"3.0",rhino:"1.7.14",safari:"6.0",samsung:"1.0"},"es.string.fontsize":{android:"3.0",bun:"0.1.1",chrome:"5","chrome-android":"18",deno:"1.0",edge:"12",electron:"0.20",firefox:"17","firefox-android":"17",ios:"6.0",node:"0.1.27",oculus:"3.0",opera:"15","opera-android":"15",opera_mobile:"15",phantom:"2.0",quest:"3.0",rhino:"1.7.14",safari:"6.0",samsung:"1.0"},"es.string.italics":{android:"3.0",bun:"0.1.1",chrome:"5","chrome-android":"18",deno:"1.0",edge:"12",electron:"0.20",firefox:"2","firefox-android":"4",ios:"2.0",node:"0.1.27",oculus:"3.0",opera:"10.50","opera-android":"10.50",opera_mobile:"10.50",phantom:"1.9",quest:"3.0",rhino:"1.7.13",safari:"3.1",samsung:"1.0"},"es.string.link":{android:"3.0",bun:"0.1.1",chrome:"5","chrome-android":"18",deno:"1.0",edge:"12",electron:"0.20",firefox:"17","firefox-android":"17",ios:"6.0",node:"0.1.27",oculus:"3.0",opera:"15","opera-android":"15",opera_mobile:"15",phantom:"2.0",quest:"3.0",rhino:"1.7.14",safari:"6.0",samsung:"1.0"},"es.string.small":{android:"3.0",bun:"0.1.1",chrome:"5","chrome-android":"18",deno:"1.0",edge:"12",electron:"0.20",firefox:"2","firefox-android":"4",ios:"2.0",node:"0.1.27",oculus:"3.0",opera:"10.50","opera-android":"10.50",opera_mobile:"10.50",phantom:"1.9",quest:"3.0",rhino:"1.7.13",safari:"3.1",samsung:"1.0"},"es.string.strike":{android:"3.0",bun:"0.1.1",chrome:"5","chrome-android":"18",deno:"1.0",edge:"12",electron:"0.20",firefox:"2","firefox-android":"4",ios:"2.0",node:"0.1.27",oculus:"3.0",opera:"10.50","opera-android":"10.50",opera_mobile:"10.50",phantom:"1.9",quest:"3.0",rhino:"1.7.13",safari:"3.1",samsung:"1.0"},"es.string.sub":{android:"3.0",bun:"0.1.1",chrome:"5","chrome-android":"18",deno:"1.0",edge:"12",electron:"0.20",firefox:"2","firefox-android":"4",ios:"2.0",node:"0.1.27",oculus:"3.0",opera:"10.50","opera-android":"10.50",opera_mobile:"10.50",phantom:"1.9",quest:"3.0",rhino:"1.7.13",safari:"3.1",samsung:"1.0"},"es.string.sup":{android:"3.0",bun:"0.1.1",chrome:"5","chrome-android":"18",deno:"1.0",edge:"12",electron:"0.20",firefox:"2","firefox-android":"4",ios:"2.0",node:"0.1.27",oculus:"3.0",opera:"10.50","opera-android":"10.50",opera_mobile:"10.50",phantom:"1.9",quest:"3.0",rhino:"1.7.13",safari:"3.1",samsung:"1.0"},"es.typed-array.float32-array":{android:"54",bun:"0.1.1",chrome:"54","chrome-android":"54",deno:"1.0",edge:"15",electron:"1.4",firefox:"55","firefox-android":"55",ios:"14.0",node:"7.0",oculus:"3.0",opera:"41","opera-android":"41",opera_mobile:"41",quest:"3.0",safari:"14.0",samsung:"6.0"},"es.typed-array.float64-array":{android:"54",bun:"0.1.1",chrome:"54","chrome-android":"54",deno:"1.0",edge:"15",electron:"1.4",firefox:"55","firefox-android":"55",ios:"14.0",node:"7.0",oculus:"3.0",opera:"41","opera-android":"41",opera_mobile:"41",quest:"3.0",safari:"14.0",samsung:"6.0"},"es.typed-array.int8-array":{android:"54",bun:"0.1.1",chrome:"54","chrome-android":"54",deno:"1.0",edge:"15",electron:"1.4",firefox:"55","firefox-android":"55",ios:"14.0",node:"7.0",oculus:"3.0",opera:"41","opera-android":"41",opera_mobile:"41",quest:"3.0",safari:"14.0",samsung:"6.0"},"es.typed-array.int16-array":{android:"54",bun:"0.1.1",chrome:"54","chrome-android":"54",deno:"1.0",edge:"15",electron:"1.4",firefox:"55","firefox-android":"55",ios:"14.0",node:"7.0",oculus:"3.0",opera:"41","opera-android":"41",opera_mobile:"41",quest:"3.0",safari:"14.0",samsung:"6.0"},"es.typed-array.int32-array":{android:"54",bun:"0.1.1",chrome:"54","chrome-android":"54",deno:"1.0",edge:"15",electron:"1.4",firefox:"55","firefox-android":"55",ios:"14.0",node:"7.0",oculus:"3.0",opera:"41","opera-android":"41",opera_mobile:"41",quest:"3.0",safari:"14.0",samsung:"6.0"},"es.typed-array.uint8-array":{android:"54",bun:"0.1.1",chrome:"54","chrome-android":"54",deno:"1.0",edge:"15",electron:"1.4",firefox:"55","firefox-android":"55",ios:"14.0",node:"7.0",oculus:"3.0",opera:"41","opera-android":"41",opera_mobile:"41",quest:"3.0",safari:"14.0",samsung:"6.0"},"es.typed-array.uint8-clamped-array":{android:"54",bun:"0.1.1",chrome:"54","chrome-android":"54",deno:"1.0",edge:"15",electron:"1.4",firefox:"55","firefox-android":"55",ios:"14.0",node:"7.0",oculus:"3.0",opera:"41","opera-android":"41",opera_mobile:"41",quest:"3.0",safari:"14.0",samsung:"6.0"},"es.typed-array.uint16-array":{android:"54",bun:"0.1.1",chrome:"54","chrome-android":"54",deno:"1.0",edge:"15",electron:"1.4",firefox:"55","firefox-android":"55",ios:"14.0",node:"7.0",oculus:"3.0",opera:"41","opera-android":"41",opera_mobile:"41",quest:"3.0",safari:"14.0",samsung:"6.0"},"es.typed-array.uint32-array":{android:"54",bun:"0.1.1",chrome:"54","chrome-android":"54",deno:"1.0",edge:"15",electron:"1.4",firefox:"55","firefox-android":"55",ios:"14.0",node:"7.0",oculus:"3.0",opera:"41","opera-android":"41",opera_mobile:"41",quest:"3.0",safari:"14.0",samsung:"6.0"},"es.typed-array.at":{android:"92",bun:"0.1.1",chrome:"92","chrome-android":"92",deno:"1.12",edge:"92",electron:"14.0",firefox:"90","firefox-android":"90",ios:"15.4",node:"16.6",oculus:"17.0",opera:"78","opera-android":"65",opera_mobile:"65",quest:"17.0","react-native":"0.71",safari:"15.4",samsung:"16.0"},"es.typed-array.copy-within":{android:"45",bun:"0.1.1",chrome:"45","chrome-android":"45",deno:"1.0",edge:"13",electron:"0.31",firefox:"34","firefox-android":"34",hermes:"0.1",ios:"10.0",node:"4.0",oculus:"3.0",opera:"32","opera-android":"32",opera_mobile:"32",quest:"3.0","react-native":"0.69",safari:"10.0",samsung:"5.0"},"es.typed-array.every":{android:"45",bun:"0.1.1",chrome:"45","chrome-android":"45",deno:"1.0",edge:"13",electron:"0.31",firefox:"37","firefox-android":"37",hermes:"0.1",ios:"10.0",node:"4.0",oculus:"3.0",opera:"32","opera-android":"32",opera_mobile:"32",quest:"3.0","react-native":"0.69",safari:"10.0",samsung:"5.0"},"es.typed-array.fill":{android:"58",bun:"0.1.1",chrome:"58","chrome-android":"58",deno:"1.0",edge:"79",electron:"1.7",firefox:"55","firefox-android":"55",hermes:"0.1",ios:"14.5",node:"8.0",oculus:"4.0",opera:"45","opera-android":"43",opera_mobile:"43",quest:"4.0","react-native":"0.69",safari:"14.1",samsung:"7.0"},"es.typed-array.filter":{android:"45",bun:"0.1.1",chrome:"45","chrome-android":"45",deno:"1.0",edge:"13",electron:"0.31",firefox:"38","firefox-android":"38",hermes:"0.1",ios:"10.0",node:"4.0",oculus:"3.0",opera:"32","opera-android":"32",opera_mobile:"32",quest:"3.0","react-native":"0.69",safari:"10.0",samsung:"5.0"},"es.typed-array.find":{android:"45",bun:"0.1.1",chrome:"45","chrome-android":"45",deno:"1.0",edge:"13",electron:"0.31",firefox:"37","firefox-android":"37",hermes:"0.1",ios:"10.0",node:"4.0",oculus:"3.0",opera:"32","opera-android":"32",opera_mobile:"32",quest:"3.0","react-native":"0.69",safari:"10.0",samsung:"5.0"},"es.typed-array.find-index":{android:"45",bun:"0.1.1",chrome:"45","chrome-android":"45",deno:"1.0",edge:"13",electron:"0.31",firefox:"37","firefox-android":"37",hermes:"0.1",ios:"10.0",node:"4.0",oculus:"3.0",opera:"32","opera-android":"32",opera_mobile:"32",quest:"3.0","react-native":"0.69",safari:"10.0",samsung:"5.0"},"es.typed-array.find-last":{android:"97",bun:"0.1.1",chrome:"97","chrome-android":"97",deno:"1.16",edge:"97",electron:"17.0",firefox:"104","firefox-android":"104",hermes:"0.11",ios:"15.4",node:"18.0",oculus:"20.0",opera:"83","opera-android":"68",opera_mobile:"68",quest:"20.0","react-native":"0.69",safari:"15.4",samsung:"18.0"},"es.typed-array.find-last-index":{android:"97",bun:"0.1.1",chrome:"97","chrome-android":"97",deno:"1.16",edge:"97",electron:"17.0",firefox:"104","firefox-android":"104",hermes:"0.11",ios:"15.4",node:"18.0",oculus:"20.0",opera:"83","opera-android":"68",opera_mobile:"68",quest:"20.0","react-native":"0.69",safari:"15.4",samsung:"18.0"},"es.typed-array.for-each":{android:"45",bun:"0.1.1",chrome:"45","chrome-android":"45",deno:"1.0",edge:"13",electron:"0.31",firefox:"38","firefox-android":"38",hermes:"0.1",ios:"10.0",node:"4.0",oculus:"3.0",opera:"32","opera-android":"32",opera_mobile:"32",quest:"3.0","react-native":"0.69",safari:"10.0",samsung:"5.0"},"es.typed-array.from":{android:"54",bun:"0.1.1",chrome:"54","chrome-android":"54",deno:"1.0",edge:"15",electron:"1.4",firefox:"55","firefox-android":"55",ios:"14.0",node:"7.0",oculus:"3.0",opera:"41","opera-android":"41",opera_mobile:"41",quest:"3.0",safari:"14.0",samsung:"6.0"},"es.typed-array.includes":{android:"49",bun:"0.1.1",chrome:"49","chrome-android":"49",deno:"1.0",edge:"14",electron:"0.37",firefox:"43","firefox-android":"43",hermes:"0.1",ios:"10.0",node:"6.0",oculus:"3.0",opera:"36","opera-android":"36",opera_mobile:"36",quest:"3.0","react-native":"0.69",safari:"10.0",samsung:"5.0"},"es.typed-array.index-of":{android:"45",bun:"0.1.1",chrome:"45","chrome-android":"45",deno:"1.0",edge:"13",electron:"0.31",firefox:"37","firefox-android":"37",hermes:"0.1",ios:"10.0",node:"4.0",oculus:"3.0",opera:"32","opera-android":"32",opera_mobile:"32",quest:"3.0","react-native":"0.69",safari:"10.0",samsung:"5.0"},"es.typed-array.iterator":{android:"51",bun:"0.1.1",chrome:"51","chrome-android":"51",deno:"1.0",edge:"13",electron:"1.2",firefox:"37","firefox-android":"37",hermes:"0.1",ios:"10.0",node:"6.5",oculus:"3.0",opera:"38","opera-android":"38",opera_mobile:"38",quest:"3.0","react-native":"0.69",safari:"10.0",samsung:"5.0"},"es.typed-array.join":{android:"45",bun:"0.1.1",chrome:"45","chrome-android":"45",deno:"1.0",edge:"13",electron:"0.31",firefox:"37","firefox-android":"37",hermes:"0.1",ios:"10.0",node:"4.0",oculus:"3.0",opera:"32","opera-android":"32",opera_mobile:"32",quest:"3.0","react-native":"0.69",safari:"10.0",samsung:"5.0"},"es.typed-array.last-index-of":{android:"45",bun:"0.1.1",chrome:"45","chrome-android":"45",deno:"1.0",edge:"13",electron:"0.31",firefox:"37","firefox-android":"37",hermes:"0.1",ios:"10.0",node:"4.0",oculus:"3.0",opera:"32","opera-android":"32",opera_mobile:"32",quest:"3.0","react-native":"0.69",safari:"10.0",samsung:"5.0"},"es.typed-array.map":{android:"45",bun:"0.1.1",chrome:"45","chrome-android":"45",deno:"1.0",edge:"13",electron:"0.31",firefox:"38","firefox-android":"38",hermes:"0.1",ios:"10.0",node:"4.0",oculus:"3.0",opera:"32","opera-android":"32",opera_mobile:"32",quest:"3.0","react-native":"0.69",safari:"10.0",samsung:"5.0"},"es.typed-array.of":{android:"54",bun:"0.1.1",chrome:"54","chrome-android":"54",deno:"1.0",edge:"15",electron:"1.4",firefox:"55","firefox-android":"55",ios:"14.0",node:"7.0",oculus:"3.0",opera:"41","opera-android":"41",opera_mobile:"41",quest:"3.0",safari:"14.0",samsung:"6.0"},"es.typed-array.reduce":{android:"45",bun:"0.1.1",chrome:"45","chrome-android":"45",deno:"1.0",edge:"13",electron:"0.31",firefox:"37","firefox-android":"37",hermes:"0.1",ios:"10.0",node:"4.0",oculus:"3.0",opera:"32","opera-android":"32",opera_mobile:"32",quest:"3.0","react-native":"0.69",safari:"10.0",samsung:"5.0"},"es.typed-array.reduce-right":{android:"45",bun:"0.1.1",chrome:"45","chrome-android":"45",deno:"1.0",edge:"13",electron:"0.31",firefox:"37","firefox-android":"37",hermes:"0.1",ios:"10.0",node:"4.0",oculus:"3.0",opera:"32","opera-android":"32",opera_mobile:"32",quest:"3.0","react-native":"0.69",safari:"10.0",samsung:"5.0"},"es.typed-array.reverse":{android:"45",bun:"0.1.1",chrome:"45","chrome-android":"45",deno:"1.0",edge:"13",electron:"0.31",firefox:"37","firefox-android":"37",hermes:"0.1",ios:"10.0",node:"4.0",oculus:"3.0",opera:"32","opera-android":"32",opera_mobile:"32",quest:"3.0","react-native":"0.69",safari:"10.0",samsung:"5.0"},"es.typed-array.set":{android:"95",bun:"0.1.1",chrome:"95","chrome-android":"95",deno:"1.15",edge:"95",electron:"16.0",firefox:"54","firefox-android":"54",hermes:"0.1",ios:"14.5",node:"17.0",oculus:"18.0",opera:"81","opera-android":"67",opera_mobile:"67",quest:"18.0","react-native":"0.69",safari:"14.1",samsung:"17.0"},"es.typed-array.slice":{android:"45",bun:"0.1.1",chrome:"45","chrome-android":"45",deno:"1.0",edge:"13",electron:"0.31",firefox:"38","firefox-android":"38",hermes:"0.1",ios:"10.0",node:"4.0",oculus:"3.0",opera:"32","opera-android":"32",opera_mobile:"32",quest:"3.0","react-native":"0.69",safari:"10.0",samsung:"5.0"},"es.typed-array.some":{android:"45",bun:"0.1.1",chrome:"45","chrome-android":"45",deno:"1.0",edge:"13",electron:"0.31",firefox:"37","firefox-android":"37",hermes:"0.1",ios:"10.0",node:"4.0",oculus:"3.0",opera:"32","opera-android":"32",opera_mobile:"32",quest:"3.0","react-native":"0.69",safari:"10.0",samsung:"5.0"},"es.typed-array.sort":{android:"74",bun:"0.1.1",chrome:"74","chrome-android":"74",deno:"1.0",edge:"79",electron:"6.0",firefox:"67","firefox-android":"67",hermes:"0.10",ios:"14.5",node:"12.0",oculus:"6.0",opera:"61","opera-android":"53",opera_mobile:"53",quest:"6.0","react-native":"0.69",safari:"14.1",samsung:"11.0"},"es.typed-array.subarray":{android:"4.4",bun:"0.1.1",chrome:"26","chrome-android":"26",deno:"1.0",edge:"13",electron:"0.20",firefox:"15","firefox-android":"15",hermes:"0.1",ios:"8.0",node:"0.11.0",oculus:"3.0",opera:"15","opera-android":"15",opera_mobile:"15",quest:"3.0","react-native":"0.69",safari:"7.1",samsung:"1.5"},"es.typed-array.to-locale-string":{android:"45",bun:"0.1.1",chrome:"45","chrome-android":"45",deno:"1.0",edge:"79",electron:"0.31",firefox:"51","firefox-android":"51",hermes:"0.1",ios:"10.0",node:"4.0",oculus:"3.0",opera:"32","opera-android":"32",opera_mobile:"32",quest:"3.0","react-native":"0.69",safari:"10.0",samsung:"5.0"},"es.typed-array.to-reversed":{android:"110",bun:"0.1.1",chrome:"110","chrome-android":"110",deno:"1.27",edge:"110",electron:"23.0",firefox:"115","firefox-android":"115",ios:"16.0",node:"20.0",oculus:"26.0",opera:"96","opera-android":"74",opera_mobile:"74",quest:"26.0",safari:"16.0",samsung:"21.0"},"es.typed-array.to-sorted":{android:"110",bun:"0.1.1",chrome:"110","chrome-android":"110",deno:"1.27",edge:"110",electron:"23.0",firefox:"115","firefox-android":"115",ios:"16.0",node:"20.0",oculus:"26.0",opera:"96","opera-android":"74",opera_mobile:"74",quest:"26.0",safari:"16.0",samsung:"21.0"},"es.typed-array.to-string":{android:"51",bun:"0.1.1",chrome:"51","chrome-android":"51",deno:"1.0",edge:"13",electron:"1.2",firefox:"51","firefox-android":"51",hermes:"0.1",ios:"10.0",node:"6.5",oculus:"3.0",opera:"38","opera-android":"38",opera_mobile:"38",quest:"3.0","react-native":"0.69",safari:"10.0",samsung:"5.0"},"es.typed-array.with":{android:"110",bun:"0.1.9",chrome:"110","chrome-android":"110",deno:"1.27",edge:"110",electron:"23.0",firefox:"115","firefox-android":"115",ios:"16.4",node:"20.0",oculus:"26.0",opera:"96","opera-android":"74",opera_mobile:"74",quest:"26.0",safari:"16.4",samsung:"21.0"},"es.unescape":{android:"3.0",bun:"0.1.1",chrome:"1","chrome-android":"18",deno:"1.0",edge:"12",electron:"0.20",firefox:"1","firefox-android":"4",hermes:"0.1",ie:"3",ios:"1.0",node:"0.0.3",oculus:"3.0",opera:"3","opera-android":"3",opera_mobile:"3",phantom:"1.9",quest:"3.0","react-native":"0.69",rhino:"1.7.13",safari:"1",samsung:"1.0"},"es.weak-map":{android:"51",bun:"0.1.1",chrome:"51","chrome-android":"51",deno:"1.0",edge:"79",electron:"1.2",firefox:"53","firefox-android":"53",ios:"10.0",node:"6.5",oculus:"3.0",opera:"38","opera-android":"38",opera_mobile:"38",quest:"3.0",rhino:"1.7.13",safari:"10.0",samsung:"5.0"},"es.weak-set":{android:"51",bun:"0.1.1",chrome:"51","chrome-android":"51",deno:"1.0",edge:"15",electron:"1.2",firefox:"53","firefox-android":"53",ios:"10.0",node:"6.5",oculus:"3.0",opera:"38","opera-android":"38",opera_mobile:"38",quest:"3.0",rhino:"1.7.13",safari:"10.0",samsung:"5.0"},"esnext.aggregate-error":{android:"85",bun:"0.1.1",chrome:"85","chrome-android":"85",deno:"1.2",edge:"85",electron:"10.0",firefox:"79","firefox-android":"79",ios:"14.0",node:"15.0",oculus:"12.0",opera:"71","opera-android":"60",opera_mobile:"60",quest:"12.0",safari:"14.0",samsung:"14.0"},"esnext.suppressed-error.constructor":{},"esnext.array.from-async":{bun:"0.3.0",firefox:"115","firefox-android":"115",ios:"16.4",safari:"16.4"},"esnext.array.at":{android:"92",bun:"0.1.1",chrome:"92","chrome-android":"92",deno:"1.12",edge:"92",electron:"14.0",firefox:"90","firefox-android":"90",ios:"15.4",node:"16.6",oculus:"17.0",opera:"78","opera-android":"65",opera_mobile:"65",quest:"17.0","react-native":"0.71",safari:"15.4",samsung:"16.0"},"esnext.array.filter-out":{},"esnext.array.filter-reject":{},"esnext.array.find-last":{android:"97",bun:"0.1.1",chrome:"97","chrome-android":"97",deno:"1.16",edge:"97",electron:"17.0",firefox:"104","firefox-android":"104",hermes:"0.11",ios:"15.4",node:"18.0",oculus:"20.0",opera:"83","opera-android":"68",opera_mobile:"68",quest:"20.0","react-native":"0.69",safari:"15.4",samsung:"18.0"},"esnext.array.find-last-index":{android:"97",bun:"0.1.1",chrome:"97","chrome-android":"97",deno:"1.16",edge:"97",electron:"17.0",firefox:"104","firefox-android":"104",hermes:"0.11",ios:"15.4",node:"18.0",oculus:"20.0",opera:"83","opera-android":"68",opera_mobile:"68",quest:"20.0","react-native":"0.69",safari:"15.4",samsung:"18.0"},"esnext.array.group":{},"esnext.array.group-by":{},"esnext.array.group-by-to-map":{},"esnext.array.group-to-map":{},"esnext.array.is-template-object":{},"esnext.array.last-index":{},"esnext.array.last-item":{},"esnext.array.to-reversed":{android:"110",bun:"0.1.1",chrome:"110","chrome-android":"110",deno:"1.27",edge:"110",electron:"23.0",firefox:"115","firefox-android":"115",ios:"16.0",node:"20.0",oculus:"26.0",opera:"96","opera-android":"74",opera_mobile:"74",quest:"26.0",safari:"16.0",samsung:"21.0"},"esnext.array.to-sorted":{android:"110",bun:"0.1.1",chrome:"110","chrome-android":"110",deno:"1.27",edge:"110",electron:"23.0",firefox:"115","firefox-android":"115",ios:"16.0",node:"20.0",oculus:"26.0",opera:"96","opera-android":"74",opera_mobile:"74",quest:"26.0",safari:"16.0",samsung:"21.0"},"esnext.array.to-spliced":{android:"110",bun:"0.1.1",chrome:"110","chrome-android":"110",deno:"1.27",edge:"110",electron:"23.0",firefox:"115","firefox-android":"115",ios:"16.0",node:"20.0",oculus:"26.0",opera:"96","opera-android":"74",opera_mobile:"74",quest:"26.0",safari:"16.0",samsung:"21.0"},"esnext.array.unique-by":{},"esnext.array.with":{android:"110",bun:"0.1.1",chrome:"110","chrome-android":"110",deno:"1.27",edge:"110",electron:"23.0",firefox:"115","firefox-android":"115",ios:"16.0",node:"20.0",oculus:"26.0",opera:"96","opera-android":"74",opera_mobile:"74",quest:"26.0",safari:"16.0",samsung:"21.0"},"esnext.array-buffer.detached":{android:"114",chrome:"114","chrome-android":"114",deno:"1.33",edge:"114",electron:"25.0",opera:"100"},"esnext.array-buffer.transfer":{android:"114",chrome:"114","chrome-android":"114",deno:"1.33",edge:"114",electron:"25.0",opera:"100"},"esnext.array-buffer.transfer-to-fixed-length":{android:"114",chrome:"114","chrome-android":"114",deno:"1.33",edge:"114",electron:"25.0",opera:"100"},"esnext.async-disposable-stack.constructor":{},"esnext.async-iterator.constructor":{},"esnext.async-iterator.as-indexed-pairs":{},"esnext.async-iterator.async-dispose":{},"esnext.async-iterator.drop":{},"esnext.async-iterator.every":{},"esnext.async-iterator.filter":{},"esnext.async-iterator.find":{},"esnext.async-iterator.flat-map":{},"esnext.async-iterator.for-each":{},"esnext.async-iterator.from":{},"esnext.async-iterator.indexed":{},"esnext.async-iterator.map":{},"esnext.async-iterator.reduce":{},"esnext.async-iterator.some":{},"esnext.async-iterator.take":{},"esnext.async-iterator.to-array":{},"esnext.bigint.range":{},"esnext.composite-key":{},"esnext.composite-symbol":{},"esnext.disposable-stack.constructor":{},"esnext.function.demethodize":{},"esnext.function.is-callable":{},"esnext.function.is-constructor":{},"esnext.function.metadata":{},"esnext.function.un-this":{},"esnext.global-this":{android:"71",bun:"0.1.1",chrome:"71","chrome-android":"71",deno:"1.0",edge:"79",electron:"5.0",firefox:"65","firefox-android":"65",hermes:"0.2",ios:"12.2",node:"12.0",oculus:"6.0",opera:"58","opera-android":"50",opera_mobile:"50",quest:"6.0","react-native":"0.69",rhino:"1.7.14",safari:"12.1",samsung:"10.0"},"esnext.iterator.constructor":{},"esnext.iterator.as-indexed-pairs":{},"esnext.iterator.dispose":{},"esnext.iterator.drop":{},"esnext.iterator.every":{},"esnext.iterator.filter":{},"esnext.iterator.find":{},"esnext.iterator.flat-map":{},"esnext.iterator.for-each":{},"esnext.iterator.from":{},"esnext.iterator.indexed":{},"esnext.iterator.map":{},"esnext.iterator.range":{},"esnext.iterator.reduce":{},"esnext.iterator.some":{},"esnext.iterator.take":{},"esnext.iterator.to-array":{},"esnext.iterator.to-async":{},"esnext.json.is-raw-json":{android:"114",chrome:"114","chrome-android":"114",deno:"1.33",edge:"114",electron:"25.0",opera:"100"},"esnext.json.parse":{android:"114",chrome:"114","chrome-android":"114",deno:"1.33",edge:"114",electron:"25.0",opera:"100"},"esnext.json.raw-json":{android:"114",chrome:"114","chrome-android":"114",deno:"1.33",edge:"114",electron:"25.0",opera:"100"},"esnext.map.delete-all":{},"esnext.map.emplace":{},"esnext.map.every":{},"esnext.map.filter":{},"esnext.map.find":{},"esnext.map.find-key":{},"esnext.map.from":{},"esnext.map.group-by":{},"esnext.map.includes":{},"esnext.map.key-by":{},"esnext.map.key-of":{},"esnext.map.map-keys":{},"esnext.map.map-values":{},"esnext.map.merge":{},"esnext.map.of":{},"esnext.map.reduce":{},"esnext.map.some":{},"esnext.map.update":{},"esnext.map.update-or-insert":{},"esnext.map.upsert":{},"esnext.math.clamp":{},"esnext.math.deg-per-rad":{},"esnext.math.degrees":{},"esnext.math.fscale":{},"esnext.math.iaddh":{},"esnext.math.imulh":{},"esnext.math.isubh":{},"esnext.math.rad-per-deg":{},"esnext.math.radians":{},"esnext.math.scale":{},"esnext.math.seeded-prng":{},"esnext.math.signbit":{},"esnext.math.umulh":{},"esnext.number.from-string":{},"esnext.number.range":{},"esnext.object.has-own":{android:"93",bun:"0.1.1",chrome:"93","chrome-android":"93",deno:"1.13",edge:"93",electron:"14.0",firefox:"92","firefox-android":"92",hermes:"0.10",ios:"15.4",node:"16.9",oculus:"17.0",opera:"79","opera-android":"66",opera_mobile:"66",quest:"17.0","react-native":"0.69",safari:"15.4",samsung:"17.0"},"esnext.object.iterate-entries":{},"esnext.object.iterate-keys":{},"esnext.object.iterate-values":{},"esnext.object.group-by":{},"esnext.observable":{},"esnext.promise.all-settled":{android:"76",bun:"0.1.1",chrome:"76","chrome-android":"76",deno:"1.24",edge:"79",electron:"6.0",firefox:"71","firefox-android":"71",ios:"13.0",node:"12.9",oculus:"7.0",opera:"63","opera-android":"54",opera_mobile:"54",quest:"7.0",safari:"13",samsung:"12.0"},"esnext.promise.any":{android:"85",bun:"0.1.1",chrome:"85","chrome-android":"85",deno:"1.24",edge:"85",electron:"10.0",firefox:"79","firefox-android":"79",ios:"14.0",node:"15.0",oculus:"12.0",opera:"71","opera-android":"60",opera_mobile:"60",quest:"12.0",safari:"14.0",samsung:"14.0"},"esnext.promise.try":{},"esnext.promise.with-resolvers":{},"esnext.reflect.define-metadata":{},"esnext.reflect.delete-metadata":{},"esnext.reflect.get-metadata":{},"esnext.reflect.get-metadata-keys":{},"esnext.reflect.get-own-metadata":{},"esnext.reflect.get-own-metadata-keys":{},"esnext.reflect.has-metadata":{},"esnext.reflect.has-own-metadata":{},"esnext.reflect.metadata":{},"esnext.set.add-all":{},"esnext.set.delete-all":{},"esnext.set.difference.v2":{bun:"0.6.0"},"esnext.set.difference":{},"esnext.set.every":{},"esnext.set.filter":{},"esnext.set.find":{},"esnext.set.from":{},"esnext.set.intersection.v2":{bun:"0.5.7"},"esnext.set.intersection":{},"esnext.set.is-disjoint-from.v2":{bun:"0.5.7"},"esnext.set.is-disjoint-from":{},"esnext.set.is-subset-of.v2":{bun:"0.5.7"},"esnext.set.is-subset-of":{},"esnext.set.is-superset-of.v2":{bun:"0.5.7"},"esnext.set.is-superset-of":{},"esnext.set.join":{},"esnext.set.map":{},"esnext.set.of":{},"esnext.set.reduce":{},"esnext.set.some":{},"esnext.set.symmetric-difference.v2":{bun:"0.5.7"},"esnext.set.symmetric-difference":{},"esnext.set.union.v2":{bun:"0.5.7"},"esnext.set.union":{},"esnext.string.at":{},"esnext.string.cooked":{},"esnext.string.code-points":{},"esnext.string.dedent":{},"esnext.string.is-well-formed":{android:"111",bun:"0.4.0",chrome:"111","chrome-android":"111",deno:"1.32",edge:"111",electron:"24.0",ios:"16.4",node:"20.0",oculus:"27.0",opera:"97","opera-android":"75",opera_mobile:"75",quest:"27.0",safari:"16.4",samsung:"22.0"},"esnext.string.match-all":{android:"80",bun:"0.1.1",chrome:"80","chrome-android":"80",deno:"1.0",edge:"80",electron:"8.0",firefox:"73","firefox-android":"73",hermes:"0.6",ios:"13.4",node:"14.0",oculus:"9.0",opera:"67","opera-android":"57",opera_mobile:"57",quest:"9.0","react-native":"0.69",safari:"13.1",samsung:"13.0"},"esnext.string.replace-all":{android:"85",bun:"0.1.1",chrome:"85","chrome-android":"85",deno:"1.2",edge:"85",electron:"10.0",firefox:"77","firefox-android":"77",hermes:"0.7",ios:"13.4",node:"15.0",oculus:"12.0",opera:"71","opera-android":"60",opera_mobile:"60",quest:"12.0","react-native":"0.69",safari:"13.1",samsung:"14.0"},"esnext.string.to-well-formed":{android:"111",bun:"0.5.7",chrome:"111","chrome-android":"111",deno:"1.32",edge:"111",electron:"24.0",ios:"16.4",node:"20.0",oculus:"27.0",opera:"97","opera-android":"75",opera_mobile:"75",quest:"27.0",safari:"16.4",samsung:"22.0"},"esnext.symbol.async-dispose":{},"esnext.symbol.dispose":{},"esnext.symbol.is-registered-symbol":{},"esnext.symbol.is-registered":{},"esnext.symbol.is-well-known-symbol":{},"esnext.symbol.is-well-known":{},"esnext.symbol.matcher":{},"esnext.symbol.metadata":{},"esnext.symbol.metadata-key":{},"esnext.symbol.observable":{},"esnext.symbol.pattern-match":{},"esnext.symbol.replace-all":{},"esnext.typed-array.from-async":{},"esnext.typed-array.at":{android:"92",bun:"0.1.1",chrome:"92","chrome-android":"92",deno:"1.12",edge:"92",electron:"14.0",firefox:"90","firefox-android":"90",ios:"15.4",node:"16.6",oculus:"17.0",opera:"78","opera-android":"65",opera_mobile:"65",quest:"17.0","react-native":"0.71",safari:"15.4",samsung:"16.0"},"esnext.typed-array.filter-out":{},"esnext.typed-array.filter-reject":{},"esnext.typed-array.find-last":{android:"97",bun:"0.1.1",chrome:"97","chrome-android":"97",deno:"1.16",edge:"97",electron:"17.0",firefox:"104","firefox-android":"104",hermes:"0.11",ios:"15.4",node:"18.0",oculus:"20.0",opera:"83","opera-android":"68",opera_mobile:"68",quest:"20.0","react-native":"0.69",safari:"15.4",samsung:"18.0"},"esnext.typed-array.find-last-index":{android:"97",bun:"0.1.1",chrome:"97","chrome-android":"97",deno:"1.16",edge:"97",electron:"17.0",firefox:"104","firefox-android":"104",hermes:"0.11",ios:"15.4",node:"18.0",oculus:"20.0",opera:"83","opera-android":"68",opera_mobile:"68",quest:"20.0","react-native":"0.69",safari:"15.4",samsung:"18.0"},"esnext.typed-array.group-by":{},"esnext.typed-array.to-reversed":{android:"110",bun:"0.1.1",chrome:"110","chrome-android":"110",deno:"1.27",edge:"110",electron:"23.0",firefox:"115","firefox-android":"115",ios:"16.0",node:"20.0",oculus:"26.0",opera:"96","opera-android":"74",opera_mobile:"74",quest:"26.0",safari:"16.0",samsung:"21.0"},"esnext.typed-array.to-sorted":{android:"110",bun:"0.1.1",chrome:"110","chrome-android":"110",deno:"1.27",edge:"110",electron:"23.0",firefox:"115","firefox-android":"115",ios:"16.0",node:"20.0",oculus:"26.0",opera:"96","opera-android":"74",opera_mobile:"74",quest:"26.0",safari:"16.0",samsung:"21.0"},"esnext.typed-array.to-spliced":{},"esnext.typed-array.unique-by":{},"esnext.typed-array.with":{android:"110",bun:"0.1.9",chrome:"110","chrome-android":"110",deno:"1.27",edge:"110",electron:"23.0",firefox:"115","firefox-android":"115",ios:"16.4",node:"20.0",oculus:"26.0",opera:"96","opera-android":"74",opera_mobile:"74",quest:"26.0",safari:"16.4",samsung:"21.0"},"esnext.weak-map.delete-all":{},"esnext.weak-map.from":{},"esnext.weak-map.of":{},"esnext.weak-map.emplace":{},"esnext.weak-map.upsert":{},"esnext.weak-set.add-all":{},"esnext.weak-set.delete-all":{},"esnext.weak-set.from":{},"esnext.weak-set.of":{},"web.atob":{android:"37",bun:"0.1.1",chrome:"34","chrome-android":"34",deno:"1.0",edge:"16",electron:"0.20",firefox:"27","firefox-android":"27",ios:"10.3",node:"18.0",oculus:"3.0",opera:"10.5","opera-android":"10.5",opera_mobile:"10.5",quest:"3.0",safari:"10.1",samsung:"2.0"},"web.btoa":{android:"3.0",bun:"0.1.1",chrome:"4","chrome-android":"18",deno:"1.0",edge:"16",electron:"0.20",firefox:"27","firefox-android":"27",ios:"1.0",node:"17.5",oculus:"3.0",opera:"10.5","opera-android":"10.5",opera_mobile:"10.5",phantom:"1.9",quest:"3.0",safari:"3.0",samsung:"1.0"},"web.dom-collections.for-each":{android:"58",bun:"0.1.1",chrome:"58","chrome-android":"58",deno:"1.0",edge:"16",electron:"1.7",firefox:"50","firefox-android":"50",hermes:"0.1",ios:"10.0",node:"0.0.1",oculus:"4.0",opera:"45","opera-android":"43",opera_mobile:"43",quest:"4.0","react-native":"0.69",rhino:"1.7.13",safari:"10.0",samsung:"7.0"},"web.dom-collections.iterator":{android:"66",bun:"0.1.1",chrome:"66","chrome-android":"66",deno:"1.0",edge:"79",electron:"3.0",firefox:"60","firefox-android":"60",hermes:"0.1",ios:"13.4",node:"0.0.1",oculus:"5.0",opera:"53","opera-android":"47",opera_mobile:"47",quest:"5.0","react-native":"0.69",rhino:"1.7.13",safari:"13.1",samsung:"9.0"},"web.dom-exception.constructor":{android:"46",bun:"0.1.1",chrome:"46","chrome-android":"46",deno:"1.7",edge:"79",electron:"0.36",firefox:"37","firefox-android":"37",ios:"11.3",node:"17.0",oculus:"3.0",opera:"33","opera-android":"33",opera_mobile:"33",quest:"3.0",safari:"11.1",samsung:"5.0"},"web.dom-exception.stack":{deno:"1.15",firefox:"37","firefox-android":"37",node:"17.0"},"web.dom-exception.to-string-tag":{android:"49",bun:"0.1.1",chrome:"49","chrome-android":"49",deno:"1.7",edge:"79",electron:"0.37",firefox:"51","firefox-android":"51",ios:"11.3",node:"17.0",oculus:"3.0",opera:"36","opera-android":"36",opera_mobile:"36",quest:"3.0",safari:"11.1",samsung:"5.0"},"web.immediate":{bun:"0.4.0",ie:"10",node:"0.9.1"},"web.queue-microtask":{android:"71",bun:"0.1.1",chrome:"71","chrome-android":"71",deno:"1.0",edge:"79",electron:"5.0",firefox:"69","firefox-android":"69",ios:"12.2",node:"12.0",oculus:"6.0",opera:"58","opera-android":"50",opera_mobile:"50",quest:"6.0",safari:"12.1",samsung:"10.0"},"web.self":{android:"86",chrome:"86","chrome-android":"86",deno:"1.29.3",edge:"86",electron:"11.0",firefox:"31","firefox-android":"31",ios:"10.0",oculus:"12.0",opera:"72","opera-android":"61",opera_mobile:"61",quest:"12.0",safari:"10",samsung:"14.0"},"web.structured-clone":{},"web.timers":{android:"1.5",bun:"0.4.0",chrome:"1","chrome-android":"18",deno:"1.0",edge:"12",electron:"0.20",firefox:"1","firefox-android":"4",hermes:"0.1",ie:"10",ios:"1.0",node:"0.0.1",oculus:"3.0",opera:"7","opera-android":"7",opera_mobile:"7",phantom:"1.9",quest:"3.0","react-native":"0.69",rhino:"1.7.13",safari:"1.0",samsung:"1.0"},"web.url":{android:"67",bun:"0.1.1",chrome:"67","chrome-android":"67",deno:"1.0",edge:"79",electron:"4.0",firefox:"57","firefox-android":"57",ios:"14.0",node:"10.0",oculus:"6.0",opera:"54","opera-android":"48",opera_mobile:"48",quest:"6.0",safari:"14.0",samsung:"9.0"},"web.url.can-parse":{deno:"1.33.2",firefox:"115","firefox-android":"115",node:"20.1.0"},"web.url.to-json":{android:"71",bun:"0.1.1",chrome:"71","chrome-android":"71",deno:"1.0",edge:"79",electron:"5.0",firefox:"57","firefox-android":"57",ios:"14.0",node:"10.0",oculus:"6.0",opera:"58","opera-android":"50",opera_mobile:"50",quest:"6.0",safari:"14.0",samsung:"10.0"},"web.url-search-params":{android:"67",bun:"0.1.1",chrome:"67","chrome-android":"67",deno:"1.0",edge:"79",electron:"4.0",firefox:"57","firefox-android":"57",ios:"14.0",node:"10.0",oculus:"6.0",opera:"54","opera-android":"48",opera_mobile:"48",quest:"6.0",safari:"14.0",samsung:"9.0"},"web.url-search-params.delete":{firefox:"115","firefox-android":"115",node:"20.2.0"},"web.url-search-params.has":{firefox:"115","firefox-android":"115",node:"20.2.0"},"web.url-search-params.size":{android:"113",chrome:"113","chrome-android":"113",deno:"1.32",edge:"113",electron:"25.0",firefox:"112","firefox-android":"112",node:"19.8.0",opera:"99","opera-android":"76",opera_mobile:"76"}};var data$1;var hasRequiredData;function requireData(){if(hasRequiredData)return data$1;hasRequiredData=1;data$1=require$$0$3;return data$1;}var shippedProposals={};var hasRequiredShippedProposals;function requireShippedProposals(){if(hasRequiredShippedProposals)return shippedProposals;hasRequiredShippedProposals=1;shippedProposals.__esModule=true;shippedProposals["default"]=void 0;var _default=new Set(["esnext.suppressed-error.constructor","esnext.array.from-async","esnext.array.group","esnext.array.group-to-map","esnext.iterator.constructor","esnext.iterator.drop","esnext.iterator.every","esnext.iterator.filter","esnext.iterator.find","esnext.iterator.flat-map","esnext.iterator.for-each","esnext.iterator.from","esnext.iterator.map","esnext.iterator.reduce","esnext.iterator.some","esnext.iterator.take","esnext.iterator.to-array","esnext.json.is-raw-json","esnext.json.parse","esnext.json.raw-json","esnext.set.difference.v2","esnext.set.intersection.v2","esnext.set.is-disjoint-from.v2","esnext.set.is-subset-of.v2","esnext.set.is-superset-of.v2","esnext.set.symmetric-difference.v2","esnext.set.union.v2","esnext.symbol.async-dispose","esnext.symbol.dispose","esnext.symbol.metadata"]);shippedProposals["default"]=_default;return shippedProposals;}var has$2=Object.hasOwn||Function.call.bind({}.hasOwnProperty);function semver$3(input){if(input instanceof semver$3)return input;if(!(this instanceof semver$3))return new semver$3(input);var match=/(\d+)(?:\.(\d+))?(?:\.(\d+))?/.exec(input);if(!match)throw TypeError("Invalid version: "+input);var _match=_slicedToArray(match,4),$major=_match[1],$minor=_match[2],$patch=_match[3];this.major=+$major;this.minor=$minor?+$minor:0;this.patch=$patch?+$patch:0;}semver$3.prototype.toString=function(){return this.major+"."+this.minor+"."+this.patch;};function compare$1($a,operator,$b){var a=semver$3($a);var b=semver$3($b);for(var _i=0,_arr=['major','minor','patch'];_i<_arr.length;_i++){var component=_arr[_i];if(a[component]<b[component])return operator==='<'||operator==='<='||operator==='!=';if(a[component]>b[component])return operator==='>'||operator==='>='||operator==='!=';}return operator==='=='||operator==='<='||operator==='>=';}function filterOutStabilizedProposals(modules){var modulesSet=new Set(modules);for(var _iterator=_createForOfIteratorHelperLoose(modulesSet),_step;!(_step=_iterator()).done;){var $module=_step.value;if($module.startsWith('esnext.')&&modulesSet.has($module.replace(/^esnext\./,'es.'))){modulesSet["delete"]($module);}}return _toConsumableArray(modulesSet);}function intersection$2(list,order){var set=list instanceof Set?list:new Set(list);return order.filter(function(name){return set.has(name);});}function sortObjectByKey(object,fn){return Object.keys(object).sort(fn).reduce(function(memo,key){memo[key]=object[key];return memo;},{});}var helpers$1={compare:compare$1,filterOutStabilizedProposals:filterOutStabilizedProposals,has:has$2,intersection:intersection$2,semver:semver$3,sortObjectByKey:sortObjectByKey};var require$$1={"3.0":["es.symbol","es.symbol.description","es.symbol.async-iterator","es.symbol.has-instance","es.symbol.is-concat-spreadable","es.symbol.iterator","es.symbol.match","es.symbol.replace","es.symbol.search","es.symbol.species","es.symbol.split","es.symbol.to-primitive","es.symbol.to-string-tag","es.symbol.unscopables","es.array.concat","es.array.copy-within","es.array.every","es.array.fill","es.array.filter","es.array.find","es.array.find-index","es.array.flat","es.array.flat-map","es.array.for-each","es.array.from","es.array.includes","es.array.index-of","es.array.is-array","es.array.iterator","es.array.join","es.array.last-index-of","es.array.map","es.array.of","es.array.reduce","es.array.reduce-right","es.array.reverse","es.array.slice","es.array.some","es.array.sort","es.array.species","es.array.splice","es.array.unscopables.flat","es.array.unscopables.flat-map","es.array-buffer.constructor","es.array-buffer.is-view","es.array-buffer.slice","es.data-view","es.date.now","es.date.to-iso-string","es.date.to-json","es.date.to-primitive","es.date.to-string","es.function.bind","es.function.has-instance","es.function.name","es.json.to-string-tag","es.map","es.math.acosh","es.math.asinh","es.math.atanh","es.math.cbrt","es.math.clz32","es.math.cosh","es.math.expm1","es.math.fround","es.math.hypot","es.math.imul","es.math.log10","es.math.log1p","es.math.log2","es.math.sign","es.math.sinh","es.math.tanh","es.math.to-string-tag","es.math.trunc","es.number.constructor","es.number.epsilon","es.number.is-finite","es.number.is-integer","es.number.is-nan","es.number.is-safe-integer","es.number.max-safe-integer","es.number.min-safe-integer","es.number.parse-float","es.number.parse-int","es.number.to-fixed","es.number.to-precision","es.object.assign","es.object.create","es.object.define-getter","es.object.define-properties","es.object.define-property","es.object.define-setter","es.object.entries","es.object.freeze","es.object.from-entries","es.object.get-own-property-descriptor","es.object.get-own-property-descriptors","es.object.get-own-property-names","es.object.get-prototype-of","es.object.is","es.object.is-extensible","es.object.is-frozen","es.object.is-sealed","es.object.keys","es.object.lookup-getter","es.object.lookup-setter","es.object.prevent-extensions","es.object.seal","es.object.set-prototype-of","es.object.to-string","es.object.values","es.parse-float","es.parse-int","es.promise","es.promise.finally","es.reflect.apply","es.reflect.construct","es.reflect.define-property","es.reflect.delete-property","es.reflect.get","es.reflect.get-own-property-descriptor","es.reflect.get-prototype-of","es.reflect.has","es.reflect.is-extensible","es.reflect.own-keys","es.reflect.prevent-extensions","es.reflect.set","es.reflect.set-prototype-of","es.regexp.constructor","es.regexp.exec","es.regexp.flags","es.regexp.to-string","es.set","es.string.code-point-at","es.string.ends-with","es.string.from-code-point","es.string.includes","es.string.iterator","es.string.match","es.string.pad-end","es.string.pad-start","es.string.raw","es.string.repeat","es.string.replace","es.string.search","es.string.split","es.string.starts-with","es.string.trim","es.string.trim-end","es.string.trim-start","es.string.anchor","es.string.big","es.string.blink","es.string.bold","es.string.fixed","es.string.fontcolor","es.string.fontsize","es.string.italics","es.string.link","es.string.small","es.string.strike","es.string.sub","es.string.sup","es.typed-array.float32-array","es.typed-array.float64-array","es.typed-array.int8-array","es.typed-array.int16-array","es.typed-array.int32-array","es.typed-array.uint8-array","es.typed-array.uint8-clamped-array","es.typed-array.uint16-array","es.typed-array.uint32-array","es.typed-array.copy-within","es.typed-array.every","es.typed-array.fill","es.typed-array.filter","es.typed-array.find","es.typed-array.find-index","es.typed-array.for-each","es.typed-array.from","es.typed-array.includes","es.typed-array.index-of","es.typed-array.iterator","es.typed-array.join","es.typed-array.last-index-of","es.typed-array.map","es.typed-array.of","es.typed-array.reduce","es.typed-array.reduce-right","es.typed-array.reverse","es.typed-array.set","es.typed-array.slice","es.typed-array.some","es.typed-array.sort","es.typed-array.subarray","es.typed-array.to-locale-string","es.typed-array.to-string","es.weak-map","es.weak-set","esnext.aggregate-error","esnext.array.last-index","esnext.array.last-item","esnext.composite-key","esnext.composite-symbol","esnext.global-this","esnext.map.delete-all","esnext.map.every","esnext.map.filter","esnext.map.find","esnext.map.find-key","esnext.map.from","esnext.map.group-by","esnext.map.includes","esnext.map.key-by","esnext.map.key-of","esnext.map.map-keys","esnext.map.map-values","esnext.map.merge","esnext.map.of","esnext.map.reduce","esnext.map.some","esnext.map.update","esnext.math.clamp","esnext.math.deg-per-rad","esnext.math.degrees","esnext.math.fscale","esnext.math.iaddh","esnext.math.imulh","esnext.math.isubh","esnext.math.rad-per-deg","esnext.math.radians","esnext.math.scale","esnext.math.seeded-prng","esnext.math.signbit","esnext.math.umulh","esnext.number.from-string","esnext.observable","esnext.promise.all-settled","esnext.promise.any","esnext.promise.try","esnext.reflect.define-metadata","esnext.reflect.delete-metadata","esnext.reflect.get-metadata","esnext.reflect.get-metadata-keys","esnext.reflect.get-own-metadata","esnext.reflect.get-own-metadata-keys","esnext.reflect.has-metadata","esnext.reflect.has-own-metadata","esnext.reflect.metadata","esnext.set.add-all","esnext.set.delete-all","esnext.set.difference","esnext.set.every","esnext.set.filter","esnext.set.find","esnext.set.from","esnext.set.intersection","esnext.set.is-disjoint-from","esnext.set.is-subset-of","esnext.set.is-superset-of","esnext.set.join","esnext.set.map","esnext.set.of","esnext.set.reduce","esnext.set.some","esnext.set.symmetric-difference","esnext.set.union","esnext.string.at","esnext.string.code-points","esnext.string.match-all","esnext.string.replace-all","esnext.symbol.dispose","esnext.symbol.observable","esnext.symbol.pattern-match","esnext.weak-map.delete-all","esnext.weak-map.from","esnext.weak-map.of","esnext.weak-set.add-all","esnext.weak-set.delete-all","esnext.weak-set.from","esnext.weak-set.of","web.dom-collections.for-each","web.dom-collections.iterator","web.immediate","web.queue-microtask","web.timers","web.url","web.url.to-json","web.url-search-params"],"3.1":["es.string.match-all","es.symbol.match-all","esnext.symbol.replace-all"],"3.2":["es.promise.all-settled","esnext.array.is-template-object","esnext.map.update-or-insert","esnext.symbol.async-dispose"],"3.3":["es.global-this","esnext.async-iterator.constructor","esnext.async-iterator.as-indexed-pairs","esnext.async-iterator.drop","esnext.async-iterator.every","esnext.async-iterator.filter","esnext.async-iterator.find","esnext.async-iterator.flat-map","esnext.async-iterator.for-each","esnext.async-iterator.from","esnext.async-iterator.map","esnext.async-iterator.reduce","esnext.async-iterator.some","esnext.async-iterator.take","esnext.async-iterator.to-array","esnext.iterator.constructor","esnext.iterator.as-indexed-pairs","esnext.iterator.drop","esnext.iterator.every","esnext.iterator.filter","esnext.iterator.find","esnext.iterator.flat-map","esnext.iterator.for-each","esnext.iterator.from","esnext.iterator.map","esnext.iterator.reduce","esnext.iterator.some","esnext.iterator.take","esnext.iterator.to-array","esnext.map.upsert","esnext.weak-map.upsert"],"3.4":["es.json.stringify"],"3.5":["esnext.object.iterate-entries","esnext.object.iterate-keys","esnext.object.iterate-values"],"3.6":["es.regexp.sticky","es.regexp.test"],"3.7":["es.aggregate-error","es.promise.any","es.reflect.to-string-tag","es.string.replace-all","esnext.map.emplace","esnext.weak-map.emplace"],"3.8":["esnext.array.at","esnext.array.filter-out","esnext.array.unique-by","esnext.bigint.range","esnext.number.range","esnext.typed-array.at","esnext.typed-array.filter-out"],"3.9":["esnext.array.find-last","esnext.array.find-last-index","esnext.typed-array.find-last","esnext.typed-array.find-last-index","esnext.typed-array.unique-by"],"3.11":["esnext.object.has-own"],"3.12":["esnext.symbol.matcher","esnext.symbol.metadata"],"3.15":["es.date.get-year","es.date.set-year","es.date.to-gmt-string","es.escape","es.regexp.dot-all","es.string.substr","es.unescape"],"3.16":["esnext.array.filter-reject","esnext.array.group-by","esnext.typed-array.filter-reject","esnext.typed-array.group-by"],"3.17":["es.array.at","es.object.has-own","es.string.at-alternative","es.typed-array.at"],"3.18":["esnext.array.from-async","esnext.typed-array.from-async"],"3.20":["es.error.cause","es.error.to-string","es.aggregate-error.cause","es.number.to-exponential","esnext.array.group-by-to-map","esnext.array.to-reversed","esnext.array.to-sorted","esnext.array.to-spliced","esnext.array.with","esnext.function.is-callable","esnext.function.is-constructor","esnext.function.un-this","esnext.iterator.to-async","esnext.string.cooked","esnext.typed-array.to-reversed","esnext.typed-array.to-sorted","esnext.typed-array.to-spliced","esnext.typed-array.with","web.dom-exception.constructor","web.dom-exception.stack","web.dom-exception.to-string-tag","web.structured-clone"],"3.21":["web.atob","web.btoa"],"3.23":["es.array.find-last","es.array.find-last-index","es.array.push","es.array.unshift","es.typed-array.find-last","es.typed-array.find-last-index","esnext.array.group","esnext.array.group-to-map","esnext.symbol.metadata-key"],"3.24":["esnext.async-iterator.indexed","esnext.iterator.indexed"],"3.25":["es.object.proto"],"3.26":["esnext.string.is-well-formed","esnext.string.to-well-formed","web.self"],"3.27":["esnext.suppressed-error.constructor","esnext.async-disposable-stack.constructor","esnext.async-iterator.async-dispose","esnext.disposable-stack.constructor","esnext.iterator.dispose","esnext.set.difference.v2","esnext.set.intersection.v2","esnext.set.is-disjoint-from.v2","esnext.set.is-subset-of.v2","esnext.set.is-superset-of.v2","esnext.set.symmetric-difference.v2","esnext.set.union.v2","esnext.string.dedent"],"3.28":["es.array.to-reversed","es.array.to-sorted","es.array.to-spliced","es.array.with","es.typed-array.to-reversed","es.typed-array.to-sorted","es.typed-array.with","esnext.array-buffer.detached","esnext.array-buffer.transfer","esnext.array-buffer.transfer-to-fixed-length","esnext.function.demethodize","esnext.iterator.range","esnext.json.is-raw-json","esnext.json.parse","esnext.json.raw-json","esnext.symbol.is-registered","esnext.symbol.is-well-known"],"3.29":["web.url-search-params.size"],"3.30":["web.url.can-parse"],"3.31":["es.string.is-well-formed","es.string.to-well-formed","esnext.function.metadata","esnext.object.group-by","esnext.promise.with-resolvers","esnext.symbol.is-registered-symbol","esnext.symbol.is-well-known-symbol","web.url-search-params.delete","web.url-search-params.has"]};var require$$2=["es.symbol","es.symbol.description","es.symbol.async-iterator","es.symbol.has-instance","es.symbol.is-concat-spreadable","es.symbol.iterator","es.symbol.match","es.symbol.match-all","es.symbol.replace","es.symbol.search","es.symbol.species","es.symbol.split","es.symbol.to-primitive","es.symbol.to-string-tag","es.symbol.unscopables","es.error.cause","es.error.to-string","es.aggregate-error","es.aggregate-error.cause","es.array.at","es.array.concat","es.array.copy-within","es.array.every","es.array.fill","es.array.filter","es.array.find","es.array.find-index","es.array.find-last","es.array.find-last-index","es.array.flat","es.array.flat-map","es.array.for-each","es.array.from","es.array.includes","es.array.index-of","es.array.is-array","es.array.iterator","es.array.join","es.array.last-index-of","es.array.map","es.array.of","es.array.push","es.array.reduce","es.array.reduce-right","es.array.reverse","es.array.slice","es.array.some","es.array.sort","es.array.species","es.array.splice","es.array.to-reversed","es.array.to-sorted","es.array.to-spliced","es.array.unscopables.flat","es.array.unscopables.flat-map","es.array.unshift","es.array.with","es.array-buffer.constructor","es.array-buffer.is-view","es.array-buffer.slice","es.data-view","es.date.get-year","es.date.now","es.date.set-year","es.date.to-gmt-string","es.date.to-iso-string","es.date.to-json","es.date.to-primitive","es.date.to-string","es.escape","es.function.bind","es.function.has-instance","es.function.name","es.global-this","es.json.stringify","es.json.to-string-tag","es.map","es.math.acosh","es.math.asinh","es.math.atanh","es.math.cbrt","es.math.clz32","es.math.cosh","es.math.expm1","es.math.fround","es.math.hypot","es.math.imul","es.math.log10","es.math.log1p","es.math.log2","es.math.sign","es.math.sinh","es.math.tanh","es.math.to-string-tag","es.math.trunc","es.number.constructor","es.number.epsilon","es.number.is-finite","es.number.is-integer","es.number.is-nan","es.number.is-safe-integer","es.number.max-safe-integer","es.number.min-safe-integer","es.number.parse-float","es.number.parse-int","es.number.to-exponential","es.number.to-fixed","es.number.to-precision","es.object.assign","es.object.create","es.object.define-getter","es.object.define-properties","es.object.define-property","es.object.define-setter","es.object.entries","es.object.freeze","es.object.from-entries","es.object.get-own-property-descriptor","es.object.get-own-property-descriptors","es.object.get-own-property-names","es.object.get-prototype-of","es.object.has-own","es.object.is","es.object.is-extensible","es.object.is-frozen","es.object.is-sealed","es.object.keys","es.object.lookup-getter","es.object.lookup-setter","es.object.prevent-extensions","es.object.proto","es.object.seal","es.object.set-prototype-of","es.object.to-string","es.object.values","es.parse-float","es.parse-int","es.promise","es.promise.all-settled","es.promise.any","es.promise.finally","es.reflect.apply","es.reflect.construct","es.reflect.define-property","es.reflect.delete-property","es.reflect.get","es.reflect.get-own-property-descriptor","es.reflect.get-prototype-of","es.reflect.has","es.reflect.is-extensible","es.reflect.own-keys","es.reflect.prevent-extensions","es.reflect.set","es.reflect.set-prototype-of","es.reflect.to-string-tag","es.regexp.constructor","es.regexp.dot-all","es.regexp.exec","es.regexp.flags","es.regexp.sticky","es.regexp.test","es.regexp.to-string","es.set","es.string.at-alternative","es.string.code-point-at","es.string.ends-with","es.string.from-code-point","es.string.includes","es.string.is-well-formed","es.string.iterator","es.string.match","es.string.match-all","es.string.pad-end","es.string.pad-start","es.string.raw","es.string.repeat","es.string.replace","es.string.replace-all","es.string.search","es.string.split","es.string.starts-with","es.string.substr","es.string.to-well-formed","es.string.trim","es.string.trim-end","es.string.trim-start","es.string.anchor","es.string.big","es.string.blink","es.string.bold","es.string.fixed","es.string.fontcolor","es.string.fontsize","es.string.italics","es.string.link","es.string.small","es.string.strike","es.string.sub","es.string.sup","es.typed-array.float32-array","es.typed-array.float64-array","es.typed-array.int8-array","es.typed-array.int16-array","es.typed-array.int32-array","es.typed-array.uint8-array","es.typed-array.uint8-clamped-array","es.typed-array.uint16-array","es.typed-array.uint32-array","es.typed-array.at","es.typed-array.copy-within","es.typed-array.every","es.typed-array.fill","es.typed-array.filter","es.typed-array.find","es.typed-array.find-index","es.typed-array.find-last","es.typed-array.find-last-index","es.typed-array.for-each","es.typed-array.from","es.typed-array.includes","es.typed-array.index-of","es.typed-array.iterator","es.typed-array.join","es.typed-array.last-index-of","es.typed-array.map","es.typed-array.of","es.typed-array.reduce","es.typed-array.reduce-right","es.typed-array.reverse","es.typed-array.set","es.typed-array.slice","es.typed-array.some","es.typed-array.sort","es.typed-array.subarray","es.typed-array.to-locale-string","es.typed-array.to-reversed","es.typed-array.to-sorted","es.typed-array.to-string","es.typed-array.with","es.unescape","es.weak-map","es.weak-set","esnext.aggregate-error","esnext.suppressed-error.constructor","esnext.array.from-async","esnext.array.at","esnext.array.filter-out","esnext.array.filter-reject","esnext.array.find-last","esnext.array.find-last-index","esnext.array.group","esnext.array.group-by","esnext.array.group-by-to-map","esnext.array.group-to-map","esnext.array.is-template-object","esnext.array.last-index","esnext.array.last-item","esnext.array.to-reversed","esnext.array.to-sorted","esnext.array.to-spliced","esnext.array.unique-by","esnext.array.with","esnext.array-buffer.detached","esnext.array-buffer.transfer","esnext.array-buffer.transfer-to-fixed-length","esnext.async-disposable-stack.constructor","esnext.async-iterator.constructor","esnext.async-iterator.as-indexed-pairs","esnext.async-iterator.async-dispose","esnext.async-iterator.drop","esnext.async-iterator.every","esnext.async-iterator.filter","esnext.async-iterator.find","esnext.async-iterator.flat-map","esnext.async-iterator.for-each","esnext.async-iterator.from","esnext.async-iterator.indexed","esnext.async-iterator.map","esnext.async-iterator.reduce","esnext.async-iterator.some","esnext.async-iterator.take","esnext.async-iterator.to-array","esnext.bigint.range","esnext.composite-key","esnext.composite-symbol","esnext.disposable-stack.constructor","esnext.function.demethodize","esnext.function.is-callable","esnext.function.is-constructor","esnext.function.metadata","esnext.function.un-this","esnext.global-this","esnext.iterator.constructor","esnext.iterator.as-indexed-pairs","esnext.iterator.dispose","esnext.iterator.drop","esnext.iterator.every","esnext.iterator.filter","esnext.iterator.find","esnext.iterator.flat-map","esnext.iterator.for-each","esnext.iterator.from","esnext.iterator.indexed","esnext.iterator.map","esnext.iterator.range","esnext.iterator.reduce","esnext.iterator.some","esnext.iterator.take","esnext.iterator.to-array","esnext.iterator.to-async","esnext.json.is-raw-json","esnext.json.parse","esnext.json.raw-json","esnext.map.delete-all","esnext.map.emplace","esnext.map.every","esnext.map.filter","esnext.map.find","esnext.map.find-key","esnext.map.from","esnext.map.group-by","esnext.map.includes","esnext.map.key-by","esnext.map.key-of","esnext.map.map-keys","esnext.map.map-values","esnext.map.merge","esnext.map.of","esnext.map.reduce","esnext.map.some","esnext.map.update","esnext.map.update-or-insert","esnext.map.upsert","esnext.math.clamp","esnext.math.deg-per-rad","esnext.math.degrees","esnext.math.fscale","esnext.math.iaddh","esnext.math.imulh","esnext.math.isubh","esnext.math.rad-per-deg","esnext.math.radians","esnext.math.scale","esnext.math.seeded-prng","esnext.math.signbit","esnext.math.umulh","esnext.number.from-string","esnext.number.range","esnext.object.has-own","esnext.object.iterate-entries","esnext.object.iterate-keys","esnext.object.iterate-values","esnext.object.group-by","esnext.observable","esnext.promise.all-settled","esnext.promise.any","esnext.promise.try","esnext.promise.with-resolvers","esnext.reflect.define-metadata","esnext.reflect.delete-metadata","esnext.reflect.get-metadata","esnext.reflect.get-metadata-keys","esnext.reflect.get-own-metadata","esnext.reflect.get-own-metadata-keys","esnext.reflect.has-metadata","esnext.reflect.has-own-metadata","esnext.reflect.metadata","esnext.set.add-all","esnext.set.delete-all","esnext.set.difference.v2","esnext.set.difference","esnext.set.every","esnext.set.filter","esnext.set.find","esnext.set.from","esnext.set.intersection.v2","esnext.set.intersection","esnext.set.is-disjoint-from.v2","esnext.set.is-disjoint-from","esnext.set.is-subset-of.v2","esnext.set.is-subset-of","esnext.set.is-superset-of.v2","esnext.set.is-superset-of","esnext.set.join","esnext.set.map","esnext.set.of","esnext.set.reduce","esnext.set.some","esnext.set.symmetric-difference.v2","esnext.set.symmetric-difference","esnext.set.union.v2","esnext.set.union","esnext.string.at","esnext.string.cooked","esnext.string.code-points","esnext.string.dedent","esnext.string.is-well-formed","esnext.string.match-all","esnext.string.replace-all","esnext.string.to-well-formed","esnext.symbol.async-dispose","esnext.symbol.dispose","esnext.symbol.is-registered-symbol","esnext.symbol.is-registered","esnext.symbol.is-well-known-symbol","esnext.symbol.is-well-known","esnext.symbol.matcher","esnext.symbol.metadata","esnext.symbol.metadata-key","esnext.symbol.observable","esnext.symbol.pattern-match","esnext.symbol.replace-all","esnext.typed-array.from-async","esnext.typed-array.at","esnext.typed-array.filter-out","esnext.typed-array.filter-reject","esnext.typed-array.find-last","esnext.typed-array.find-last-index","esnext.typed-array.group-by","esnext.typed-array.to-reversed","esnext.typed-array.to-sorted","esnext.typed-array.to-spliced","esnext.typed-array.unique-by","esnext.typed-array.with","esnext.weak-map.delete-all","esnext.weak-map.from","esnext.weak-map.of","esnext.weak-map.emplace","esnext.weak-map.upsert","esnext.weak-set.add-all","esnext.weak-set.delete-all","esnext.weak-set.from","esnext.weak-set.of","web.atob","web.btoa","web.dom-collections.for-each","web.dom-collections.iterator","web.dom-exception.constructor","web.dom-exception.stack","web.dom-exception.to-string-tag","web.immediate","web.queue-microtask","web.self","web.structured-clone","web.timers","web.url","web.url.can-parse","web.url.to-json","web.url-search-params","web.url-search-params.delete","web.url-search-params.has","web.url-search-params.size"];var compare=helpers$1.compare,intersection$1=helpers$1.intersection,semver$2=helpers$1.semver;var modulesByVersions=require$$1;var modules=require$$2;var getModulesListForTargetVersion$2=function getModulesListForTargetVersion(raw){var corejs=semver$2(raw);if(corejs.major!==3){throw RangeError('This version of `core-js-compat` works only with `core-js@3`.');}var result=[];for(var _i=0,_Object$keys=Object.keys(modulesByVersions);_i<_Object$keys.length;_i++){var version=_Object$keys[_i];if(compare(version,'<=',corejs)){result.push.apply(result,_toConsumableArray(modulesByVersions[version]));}}return intersection$1(result,modules);};var getModulesListForTargetVersion$1;var hasRequiredGetModulesListForTargetVersion;function requireGetModulesListForTargetVersion(){if(hasRequiredGetModulesListForTargetVersion)return getModulesListForTargetVersion$1;hasRequiredGetModulesListForTargetVersion=1;getModulesListForTargetVersion$1=getModulesListForTargetVersion$2;return getModulesListForTargetVersion$1;}var builtInDefinitions$1={};var hasRequiredBuiltInDefinitions$1;function requireBuiltInDefinitions$1(){var _InstanceProperties;if(hasRequiredBuiltInDefinitions$1)return builtInDefinitions$1;hasRequiredBuiltInDefinitions$1=1;builtInDefinitions$1.__esModule=true;builtInDefinitions$1.StaticProperties=builtInDefinitions$1.PromiseDependenciesWithIterators=builtInDefinitions$1.PromiseDependencies=builtInDefinitions$1.InstanceProperties=builtInDefinitions$1.DecoratorMetadataDependencies=builtInDefinitions$1.CommonIterators=builtInDefinitions$1.BuiltIns=void 0;var _data=_interopRequireDefault(requireData());function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj};}function _extends(){_extends=Object.assign?Object.assign.bind():function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};return _extends.apply(this,arguments);}var polyfillsOrder={};Object.keys(_data["default"]).forEach(function(name,index){polyfillsOrder[name]=index;});var define=function define(pure,global,name,exclude){if(name===void 0){name=global[0];}return{name:name,pure:pure,global:global.sort(function(a,b){return polyfillsOrder[a]-polyfillsOrder[b];}),exclude:exclude};};var typed=function typed(){for(var _len=arguments.length,modules=new Array(_len),_key=0;_key<_len;_key++){modules[_key]=arguments[_key];}return define(null,[].concat(modules,TypedArrayDependencies));};var ArrayNatureIterators=["es.array.iterator","web.dom-collections.iterator"];var CommonIterators=["es.string.iterator"].concat(ArrayNatureIterators);builtInDefinitions$1.CommonIterators=CommonIterators;var ArrayNatureIteratorsWithTag=["es.object.to-string"].concat(ArrayNatureIterators);var CommonIteratorsWithTag=["es.object.to-string"].concat(_toConsumableArray(CommonIterators));var ErrorDependencies=["es.error.cause","es.error.to-string"];var SuppressedErrorDependencies=["esnext.suppressed-error.constructor"].concat(ErrorDependencies);var TypedArrayDependencies=["es.typed-array.at","es.typed-array.copy-within","es.typed-array.every","es.typed-array.fill","es.typed-array.filter","es.typed-array.find","es.typed-array.find-index","es.typed-array.find-last","es.typed-array.find-last-index","es.typed-array.for-each","es.typed-array.includes","es.typed-array.index-of","es.typed-array.iterator","es.typed-array.join","es.typed-array.last-index-of","es.typed-array.map","es.typed-array.reduce","es.typed-array.reduce-right","es.typed-array.reverse","es.typed-array.set","es.typed-array.slice","es.typed-array.some","es.typed-array.sort","es.typed-array.subarray","es.typed-array.to-locale-string","es.typed-array.to-reversed","es.typed-array.to-sorted","es.typed-array.to-string","es.typed-array.with","es.object.to-string","es.array.iterator","es.array-buffer.slice","es.data-view","es.array-buffer.detached","es.array-buffer.transfer","es.array-buffer.transfer-to-fixed-length","esnext.typed-array.filter-reject","esnext.typed-array.group-by","esnext.typed-array.to-spliced","esnext.typed-array.unique-by"];var PromiseDependencies=["es.promise","es.object.to-string"];builtInDefinitions$1.PromiseDependencies=PromiseDependencies;var PromiseDependenciesWithIterators=[].concat(PromiseDependencies,_toConsumableArray(CommonIterators));builtInDefinitions$1.PromiseDependenciesWithIterators=PromiseDependenciesWithIterators;var SymbolDependencies=["es.symbol","es.symbol.description","es.object.to-string"];var MapDependencies=["es.map","esnext.map.delete-all","esnext.map.emplace","esnext.map.every","esnext.map.filter","esnext.map.find","esnext.map.find-key","esnext.map.includes","esnext.map.key-of","esnext.map.map-keys","esnext.map.map-values","esnext.map.merge","esnext.map.reduce","esnext.map.some","esnext.map.update"].concat(_toConsumableArray(CommonIteratorsWithTag));var SetDependencies=["es.set","esnext.set.add-all","esnext.set.delete-all","esnext.set.difference","esnext.set.difference.v2","esnext.set.every","esnext.set.filter","esnext.set.find","esnext.set.intersection","esnext.set.intersection.v2","esnext.set.is-disjoint-from","esnext.set.is-disjoint-from.v2","esnext.set.is-subset-of","esnext.set.is-subset-of.v2","esnext.set.is-superset-of","esnext.set.is-superset-of.v2","esnext.set.join","esnext.set.map","esnext.set.reduce","esnext.set.some","esnext.set.symmetric-difference","esnext.set.symmetric-difference.v2","esnext.set.union","esnext.set.union.v2"].concat(_toConsumableArray(CommonIteratorsWithTag));var WeakMapDependencies=["es.weak-map","esnext.weak-map.delete-all","esnext.weak-map.emplace"].concat(_toConsumableArray(CommonIteratorsWithTag));var WeakSetDependencies=["es.weak-set","esnext.weak-set.add-all","esnext.weak-set.delete-all"].concat(_toConsumableArray(CommonIteratorsWithTag));var DOMExceptionDependencies=["web.dom-exception.constructor","web.dom-exception.stack","web.dom-exception.to-string-tag","es.error.to-string"];var URLSearchParamsDependencies=["web.url-search-params","web.url-search-params.delete","web.url-search-params.has","web.url-search-params.size"].concat(_toConsumableArray(CommonIteratorsWithTag));var AsyncIteratorDependencies=["esnext.async-iterator.constructor"].concat(PromiseDependencies);var AsyncIteratorProblemMethods=["esnext.async-iterator.every","esnext.async-iterator.filter","esnext.async-iterator.find","esnext.async-iterator.flat-map","esnext.async-iterator.for-each","esnext.async-iterator.map","esnext.async-iterator.reduce","esnext.async-iterator.some"];var IteratorDependencies=["esnext.iterator.constructor","es.object.to-string"];var DecoratorMetadataDependencies=["esnext.symbol.metadata","esnext.function.metadata"];builtInDefinitions$1.DecoratorMetadataDependencies=DecoratorMetadataDependencies;var TypedArrayStaticMethods=function TypedArrayStaticMethods(base){return{from:define(null,["es.typed-array.from",base].concat(TypedArrayDependencies)),fromAsync:define(null,["esnext.typed-array.from-async",base].concat(_toConsumableArray(PromiseDependenciesWithIterators),TypedArrayDependencies)),of:define(null,["es.typed-array.of",base].concat(TypedArrayDependencies))};};var DataViewDependencies=["es.data-view","es.array-buffer.constructor","es.array-buffer.slice","es.array-buffer.detached","es.array-buffer.transfer","es.array-buffer.transfer-to-fixed-length","es.object.to-string"];var BuiltIns={AsyncDisposableStack:define("async-disposable-stack/index",["esnext.async-disposable-stack.constructor","es.object.to-string","esnext.async-iterator.async-dispose","esnext.iterator.dispose"].concat(PromiseDependencies,_toConsumableArray(SuppressedErrorDependencies))),AsyncIterator:define("async-iterator/index",AsyncIteratorDependencies),AggregateError:define("aggregate-error",["es.aggregate-error"].concat(ErrorDependencies,_toConsumableArray(CommonIteratorsWithTag),["es.aggregate-error.cause"])),ArrayBuffer:define(null,["es.array-buffer.constructor","es.array-buffer.slice","es.data-view","es.array-buffer.detached","es.array-buffer.transfer","es.array-buffer.transfer-to-fixed-length","es.object.to-string"]),DataView:define(null,DataViewDependencies),Date:define(null,["es.date.to-string"]),DOMException:define("dom-exception/index",DOMExceptionDependencies),DisposableStack:define("disposable-stack/index",["esnext.disposable-stack.constructor","es.object.to-string","esnext.iterator.dispose"].concat(_toConsumableArray(SuppressedErrorDependencies))),Error:define(null,ErrorDependencies),EvalError:define(null,ErrorDependencies),Float32Array:typed("es.typed-array.float32-array"),Float64Array:typed("es.typed-array.float64-array"),Int8Array:typed("es.typed-array.int8-array"),Int16Array:typed("es.typed-array.int16-array"),Int32Array:typed("es.typed-array.int32-array"),Iterator:define("iterator/index",IteratorDependencies),Uint8Array:typed("es.typed-array.uint8-array","esnext.uint8-array.to-base64","esnext.uint8-array.to-hex"),Uint8ClampedArray:typed("es.typed-array.uint8-clamped-array"),Uint16Array:typed("es.typed-array.uint16-array"),Uint32Array:typed("es.typed-array.uint32-array"),Map:define("map/index",MapDependencies),Number:define(null,["es.number.constructor"]),Observable:define("observable/index",["esnext.observable","esnext.symbol.observable","es.object.to-string"].concat(_toConsumableArray(CommonIteratorsWithTag))),Promise:define("promise/index",PromiseDependencies),RangeError:define(null,ErrorDependencies),ReferenceError:define(null,ErrorDependencies),Reflect:define(null,["es.reflect.to-string-tag","es.object.to-string"]),RegExp:define(null,["es.regexp.constructor","es.regexp.dot-all","es.regexp.exec","es.regexp.sticky","es.regexp.to-string"]),Set:define("set/index",SetDependencies),SuppressedError:define("suppressed-error",SuppressedErrorDependencies),Symbol:define("symbol/index",SymbolDependencies),SyntaxError:define(null,ErrorDependencies),TypeError:define(null,ErrorDependencies),URIError:define(null,ErrorDependencies),URL:define("url/index",["web.url","web.url.to-json"].concat(_toConsumableArray(URLSearchParamsDependencies))),URLSearchParams:define("url-search-params/index",URLSearchParamsDependencies),WeakMap:define("weak-map/index",WeakMapDependencies),WeakSet:define("weak-set/index",WeakSetDependencies),atob:define("atob",["web.atob"].concat(DOMExceptionDependencies)),btoa:define("btoa",["web.btoa"].concat(DOMExceptionDependencies)),clearImmediate:define("clear-immediate",["web.immediate"]),compositeKey:define("composite-key",["esnext.composite-key"]),compositeSymbol:define("composite-symbol",["esnext.composite-symbol"]),escape:define("escape",["es.escape"]),fetch:define(null,PromiseDependencies),globalThis:define("global-this",["es.global-this"]),parseFloat:define("parse-float",["es.parse-float"]),parseInt:define("parse-int",["es.parse-int"]),queueMicrotask:define("queue-microtask",["web.queue-microtask"]),self:define("self",["web.self"]),setImmediate:define("set-immediate",["web.immediate"]),setInterval:define("set-interval",["web.timers"]),setTimeout:define("set-timeout",["web.timers"]),structuredClone:define("structured-clone",["web.structured-clone"].concat(DOMExceptionDependencies,["es.array.iterator","es.object.keys","es.object.to-string","es.map","es.set"])),unescape:define("unescape",["es.unescape"])};builtInDefinitions$1.BuiltIns=BuiltIns;var StaticProperties={AsyncIterator:{from:define("async-iterator/from",["esnext.async-iterator.from"].concat(_toConsumableArray(AsyncIteratorDependencies),AsyncIteratorProblemMethods,_toConsumableArray(CommonIterators)))},Array:{from:define("array/from",["es.array.from","es.string.iterator"]),fromAsync:define("array/from-async",["esnext.array.from-async"].concat(_toConsumableArray(PromiseDependenciesWithIterators))),isArray:define("array/is-array",["es.array.is-array"]),isTemplateObject:define("array/is-template-object",["esnext.array.is-template-object"]),of:define("array/of",["es.array.of"])},ArrayBuffer:{isView:define(null,["es.array-buffer.is-view"])},BigInt:{range:define("bigint/range",["esnext.bigint.range","es.object.to-string"])},Date:{now:define("date/now",["es.date.now"])},Function:{isCallable:define("function/is-callable",["esnext.function.is-callable"]),isConstructor:define("function/is-constructor",["esnext.function.is-constructor"])},Iterator:{from:define("iterator/from",["esnext.iterator.from"].concat(IteratorDependencies,_toConsumableArray(CommonIterators))),range:define("iterator/range",["esnext.iterator.range","es.object.to-string"])},JSON:{isRawJSON:define("json/is-raw-json",["esnext.json.is-raw-json"]),parse:define("json/parse",["esnext.json.parse","es.object.keys"]),rawJSON:define("json/raw-json",["esnext.json.raw-json","es.object.create","es.object.freeze"]),stringify:define("json/stringify",["es.json.stringify","es.date.to-json"],"es.symbol")},Math:{DEG_PER_RAD:define("math/deg-per-rad",["esnext.math.deg-per-rad"]),RAD_PER_DEG:define("math/rad-per-deg",["esnext.math.rad-per-deg"]),acosh:define("math/acosh",["es.math.acosh"]),asinh:define("math/asinh",["es.math.asinh"]),atanh:define("math/atanh",["es.math.atanh"]),cbrt:define("math/cbrt",["es.math.cbrt"]),clamp:define("math/clamp",["esnext.math.clamp"]),clz32:define("math/clz32",["es.math.clz32"]),cosh:define("math/cosh",["es.math.cosh"]),degrees:define("math/degrees",["esnext.math.degrees"]),expm1:define("math/expm1",["es.math.expm1"]),fround:define("math/fround",["es.math.fround"]),f16round:define("math/f16round",["esnext.math.f16round"]),fscale:define("math/fscale",["esnext.math.fscale"]),hypot:define("math/hypot",["es.math.hypot"]),iaddh:define("math/iaddh",["esnext.math.iaddh"]),imul:define("math/imul",["es.math.imul"]),imulh:define("math/imulh",["esnext.math.imulh"]),isubh:define("math/isubh",["esnext.math.isubh"]),log10:define("math/log10",["es.math.log10"]),log1p:define("math/log1p",["es.math.log1p"]),log2:define("math/log2",["es.math.log2"]),radians:define("math/radians",["esnext.math.radians"]),scale:define("math/scale",["esnext.math.scale"]),seededPRNG:define("math/seeded-prng",["esnext.math.seeded-prng"]),sign:define("math/sign",["es.math.sign"]),signbit:define("math/signbit",["esnext.math.signbit"]),sinh:define("math/sinh",["es.math.sinh"]),tanh:define("math/tanh",["es.math.tanh"]),trunc:define("math/trunc",["es.math.trunc"]),umulh:define("math/umulh",["esnext.math.umulh"])},Map:{from:define(null,["esnext.map.from"].concat(_toConsumableArray(MapDependencies))),groupBy:define("map/group-by",["es.map.group-by"].concat(_toConsumableArray(MapDependencies))),keyBy:define("map/key-by",["esnext.map.key-by"].concat(_toConsumableArray(MapDependencies))),of:define(null,["esnext.map.of"].concat(_toConsumableArray(MapDependencies)))},Number:{EPSILON:define("number/epsilon",["es.number.epsilon"]),MAX_SAFE_INTEGER:define("number/max-safe-integer",["es.number.max-safe-integer"]),MIN_SAFE_INTEGER:define("number/min-safe-integer",["es.number.min-safe-integer"]),fromString:define("number/from-string",["esnext.number.from-string"]),isFinite:define("number/is-finite",["es.number.is-finite"]),isInteger:define("number/is-integer",["es.number.is-integer"]),isNaN:define("number/is-nan",["es.number.is-nan"]),isSafeInteger:define("number/is-safe-integer",["es.number.is-safe-integer"]),parseFloat:define("number/parse-float",["es.number.parse-float"]),parseInt:define("number/parse-int",["es.number.parse-int"]),range:define("number/range",["esnext.number.range","es.object.to-string"])},Object:{assign:define("object/assign",["es.object.assign"]),create:define("object/create",["es.object.create"]),defineProperties:define("object/define-properties",["es.object.define-properties"]),defineProperty:define("object/define-property",["es.object.define-property"]),entries:define("object/entries",["es.object.entries"]),freeze:define("object/freeze",["es.object.freeze"]),fromEntries:define("object/from-entries",["es.object.from-entries","es.array.iterator"]),getOwnPropertyDescriptor:define("object/get-own-property-descriptor",["es.object.get-own-property-descriptor"]),getOwnPropertyDescriptors:define("object/get-own-property-descriptors",["es.object.get-own-property-descriptors"]),getOwnPropertyNames:define("object/get-own-property-names",["es.object.get-own-property-names"]),getOwnPropertySymbols:define("object/get-own-property-symbols",["es.symbol"]),getPrototypeOf:define("object/get-prototype-of",["es.object.get-prototype-of"]),groupBy:define("object/group-by",["es.object.group-by","es.object.create"]),hasOwn:define("object/has-own",["es.object.has-own"]),is:define("object/is",["es.object.is"]),isExtensible:define("object/is-extensible",["es.object.is-extensible"]),isFrozen:define("object/is-frozen",["es.object.is-frozen"]),isSealed:define("object/is-sealed",["es.object.is-sealed"]),keys:define("object/keys",["es.object.keys"]),preventExtensions:define("object/prevent-extensions",["es.object.prevent-extensions"]),seal:define("object/seal",["es.object.seal"]),setPrototypeOf:define("object/set-prototype-of",["es.object.set-prototype-of"]),values:define("object/values",["es.object.values"])},Promise:{all:define(null,PromiseDependenciesWithIterators),allSettled:define("promise/all-settled",["es.promise.all-settled"].concat(_toConsumableArray(PromiseDependenciesWithIterators))),any:define("promise/any",["es.promise.any","es.aggregate-error"].concat(_toConsumableArray(PromiseDependenciesWithIterators))),race:define(null,PromiseDependenciesWithIterators),"try":define("promise/try",["esnext.promise.try"].concat(PromiseDependencies)),withResolvers:define("promise/with-resolvers",["es.promise.with-resolvers"].concat(PromiseDependencies))},Reflect:{apply:define("reflect/apply",["es.reflect.apply"]),construct:define("reflect/construct",["es.reflect.construct"]),defineMetadata:define("reflect/define-metadata",["esnext.reflect.define-metadata"]),defineProperty:define("reflect/define-property",["es.reflect.define-property"]),deleteMetadata:define("reflect/delete-metadata",["esnext.reflect.delete-metadata"]),deleteProperty:define("reflect/delete-property",["es.reflect.delete-property"]),get:define("reflect/get",["es.reflect.get"]),getMetadata:define("reflect/get-metadata",["esnext.reflect.get-metadata"]),getMetadataKeys:define("reflect/get-metadata-keys",["esnext.reflect.get-metadata-keys"]),getOwnMetadata:define("reflect/get-own-metadata",["esnext.reflect.get-own-metadata"]),getOwnMetadataKeys:define("reflect/get-own-metadata-keys",["esnext.reflect.get-own-metadata-keys"]),getOwnPropertyDescriptor:define("reflect/get-own-property-descriptor",["es.reflect.get-own-property-descriptor"]),getPrototypeOf:define("reflect/get-prototype-of",["es.reflect.get-prototype-of"]),has:define("reflect/has",["es.reflect.has"]),hasMetadata:define("reflect/has-metadata",["esnext.reflect.has-metadata"]),hasOwnMetadata:define("reflect/has-own-metadata",["esnext.reflect.has-own-metadata"]),isExtensible:define("reflect/is-extensible",["es.reflect.is-extensible"]),metadata:define("reflect/metadata",["esnext.reflect.metadata"]),ownKeys:define("reflect/own-keys",["es.reflect.own-keys"]),preventExtensions:define("reflect/prevent-extensions",["es.reflect.prevent-extensions"]),set:define("reflect/set",["es.reflect.set"]),setPrototypeOf:define("reflect/set-prototype-of",["es.reflect.set-prototype-of"])},RegExp:{escape:define("regexp/escape",["esnext.regexp.escape"])},Set:{from:define(null,["esnext.set.from"].concat(_toConsumableArray(SetDependencies))),of:define(null,["esnext.set.of"].concat(_toConsumableArray(SetDependencies)))},String:{cooked:define("string/cooked",["esnext.string.cooked"]),dedent:define("string/dedent",["esnext.string.dedent","es.string.from-code-point","es.weak-map"]),fromCodePoint:define("string/from-code-point",["es.string.from-code-point"]),raw:define("string/raw",["es.string.raw"])},Symbol:{asyncDispose:define("symbol/async-dispose",["esnext.symbol.async-dispose","esnext.async-iterator.async-dispose"]),asyncIterator:define("symbol/async-iterator",["es.symbol.async-iterator"]),dispose:define("symbol/dispose",["esnext.symbol.dispose","esnext.iterator.dispose"]),"for":define("symbol/for",[],"es.symbol"),hasInstance:define("symbol/has-instance",["es.symbol.has-instance","es.function.has-instance"]),isConcatSpreadable:define("symbol/is-concat-spreadable",["es.symbol.is-concat-spreadable","es.array.concat"]),isRegistered:define("symbol/is-registered",["esnext.symbol.is-registered","es.symbol"]),isRegisteredSymbol:define("symbol/is-registered-symbol",["esnext.symbol.is-registered-symbol","es.symbol"]),isWellKnown:define("symbol/is-well-known",["esnext.symbol.is-well-known","es.symbol"]),isWellKnownSymbol:define("symbol/is-well-known-symbol",["esnext.symbol.is-well-known-symbol","es.symbol"]),iterator:define("symbol/iterator",["es.symbol.iterator"].concat(_toConsumableArray(CommonIteratorsWithTag))),keyFor:define("symbol/key-for",[],"es.symbol"),match:define("symbol/match",["es.symbol.match","es.string.match"]),matcher:define("symbol/matcher",["esnext.symbol.matcher"]),matchAll:define("symbol/match-all",["es.symbol.match-all","es.string.match-all"]),metadata:define("symbol/metadata",DecoratorMetadataDependencies),metadataKey:define("symbol/metadata-key",["esnext.symbol.metadata-key"]),observable:define("symbol/observable",["esnext.symbol.observable"]),patternMatch:define("symbol/pattern-match",["esnext.symbol.pattern-match"]),replace:define("symbol/replace",["es.symbol.replace","es.string.replace"]),search:define("symbol/search",["es.symbol.search","es.string.search"]),species:define("symbol/species",["es.symbol.species","es.array.species"]),split:define("symbol/split",["es.symbol.split","es.string.split"]),toPrimitive:define("symbol/to-primitive",["es.symbol.to-primitive","es.date.to-primitive"]),toStringTag:define("symbol/to-string-tag",["es.symbol.to-string-tag","es.object.to-string","es.math.to-string-tag","es.json.to-string-tag"]),unscopables:define("symbol/unscopables",["es.symbol.unscopables"])},URL:{canParse:define("url/can-parse",["web.url.can-parse","web.url"])},WeakMap:{from:define(null,["esnext.weak-map.from"].concat(_toConsumableArray(WeakMapDependencies))),of:define(null,["esnext.weak-map.of"].concat(_toConsumableArray(WeakMapDependencies)))},WeakSet:{from:define(null,["esnext.weak-set.from"].concat(_toConsumableArray(WeakSetDependencies))),of:define(null,["esnext.weak-set.of"].concat(_toConsumableArray(WeakSetDependencies)))},Int8Array:TypedArrayStaticMethods("es.typed-array.int8-array"),Uint8Array:_extends({fromBase64:define(null,["esnext.uint8-array.from-base64"].concat(TypedArrayDependencies)),fromHex:define(null,["esnext.uint8-array.from-hex"].concat(TypedArrayDependencies))},TypedArrayStaticMethods("es.typed-array.uint8-array")),Uint8ClampedArray:TypedArrayStaticMethods("es.typed-array.uint8-clamped-array"),Int16Array:TypedArrayStaticMethods("es.typed-array.int16-array"),Uint16Array:TypedArrayStaticMethods("es.typed-array.uint16-array"),Int32Array:TypedArrayStaticMethods("es.typed-array.int32-array"),Uint32Array:TypedArrayStaticMethods("es.typed-array.uint32-array"),Float32Array:TypedArrayStaticMethods("es.typed-array.float32-array"),Float64Array:TypedArrayStaticMethods("es.typed-array.float64-array"),WebAssembly:{CompileError:define(null,ErrorDependencies),LinkError:define(null,ErrorDependencies),RuntimeError:define(null,ErrorDependencies)}};builtInDefinitions$1.StaticProperties=StaticProperties;var InstanceProperties=(_InstanceProperties={asIndexedPairs:define("instance/asIndexedPairs",["esnext.async-iterator.as-indexed-pairs"].concat(_toConsumableArray(AsyncIteratorDependencies),["esnext.iterator.as-indexed-pairs"],IteratorDependencies)),at:define("instance/at",["esnext.string.at","es.string.at-alternative","es.array.at"]),anchor:define(null,["es.string.anchor"]),big:define(null,["es.string.big"]),bind:define("instance/bind",["es.function.bind"]),blink:define(null,["es.string.blink"]),bold:define(null,["es.string.bold"]),codePointAt:define("instance/code-point-at",["es.string.code-point-at"]),codePoints:define("instance/code-points",["esnext.string.code-points"]),concat:define("instance/concat",["es.array.concat"],undefined,["String"]),copyWithin:define("instance/copy-within",["es.array.copy-within"]),demethodize:define("instance/demethodize",["esnext.function.demethodize"]),description:define(null,["es.symbol","es.symbol.description"]),dotAll:define(null,["es.regexp.dot-all"]),drop:define(null,["esnext.async-iterator.drop"].concat(_toConsumableArray(AsyncIteratorDependencies),["esnext.iterator.drop"],IteratorDependencies)),emplace:define("instance/emplace",["esnext.map.emplace","esnext.weak-map.emplace"]),endsWith:define("instance/ends-with",["es.string.ends-with"]),entries:define("instance/entries",ArrayNatureIteratorsWithTag),every:define("instance/every",["es.array.every","esnext.async-iterator.every","esnext.iterator.every"].concat(IteratorDependencies)),exec:define(null,["es.regexp.exec"]),fill:define("instance/fill",["es.array.fill"]),filter:define("instance/filter",["es.array.filter","esnext.async-iterator.filter","esnext.iterator.filter"].concat(IteratorDependencies)),filterReject:define("instance/filterReject",["esnext.array.filter-reject"]),"finally":define(null,["es.promise.finally"].concat(PromiseDependencies)),find:define("instance/find",["es.array.find","esnext.async-iterator.find","esnext.iterator.find"].concat(IteratorDependencies)),findIndex:define("instance/find-index",["es.array.find-index"]),findLast:define("instance/find-last",["es.array.find-last"]),findLastIndex:define("instance/find-last-index",["es.array.find-last-index"]),fixed:define(null,["es.string.fixed"]),flags:define("instance/flags",["es.regexp.flags"]),flatMap:define("instance/flat-map",["es.array.flat-map","es.array.unscopables.flat-map","esnext.async-iterator.flat-map","esnext.iterator.flat-map"].concat(IteratorDependencies)),flat:define("instance/flat",["es.array.flat","es.array.unscopables.flat"]),getFloat16:define(null,["esnext.data-view.get-float16"].concat(DataViewDependencies)),getUint8Clamped:define(null,["esnext.data-view.get-uint8-clamped"].concat(DataViewDependencies)),getYear:define(null,["es.date.get-year"]),group:define("instance/group",["esnext.array.group"]),groupBy:define("instance/group-by",["esnext.array.group-by"]),groupByToMap:define("instance/group-by-to-map",["esnext.array.group-by-to-map","es.map","es.object.to-string"]),groupToMap:define("instance/group-to-map",["esnext.array.group-to-map","es.map","es.object.to-string"]),fontcolor:define(null,["es.string.fontcolor"]),fontsize:define(null,["es.string.fontsize"]),forEach:define("instance/for-each",["es.array.for-each","esnext.async-iterator.for-each","esnext.iterator.for-each"].concat(IteratorDependencies,["web.dom-collections.for-each"])),includes:define("instance/includes",["es.array.includes","es.string.includes"]),indexed:define(null,["esnext.async-iterator.indexed"].concat(_toConsumableArray(AsyncIteratorDependencies),["esnext.iterator.indexed"],IteratorDependencies)),indexOf:define("instance/index-of",["es.array.index-of"]),isWellFormed:define("instance/is-well-formed",["es.string.is-well-formed"]),italic:define(null,["es.string.italics"]),join:define(null,["es.array.join"]),keys:define("instance/keys",ArrayNatureIteratorsWithTag),lastIndex:define(null,["esnext.array.last-index"]),lastIndexOf:define("instance/last-index-of",["es.array.last-index-of"]),lastItem:define(null,["esnext.array.last-item"]),link:define(null,["es.string.link"]),map:define("instance/map",["es.array.map","esnext.async-iterator.map","esnext.iterator.map"]),match:define(null,["es.string.match","es.regexp.exec"]),matchAll:define("instance/match-all",["es.string.match-all","es.regexp.exec"]),name:define(null,["es.function.name"]),padEnd:define("instance/pad-end",["es.string.pad-end"]),padStart:define("instance/pad-start",["es.string.pad-start"]),push:define("instance/push",["es.array.push"]),reduce:define("instance/reduce",["es.array.reduce","esnext.async-iterator.reduce","esnext.iterator.reduce"].concat(IteratorDependencies)),reduceRight:define("instance/reduce-right",["es.array.reduce-right"]),repeat:define("instance/repeat",["es.string.repeat"]),replace:define(null,["es.string.replace","es.regexp.exec"]),replaceAll:define("instance/replace-all",["es.string.replace-all","es.string.replace","es.regexp.exec"]),reverse:define("instance/reverse",["es.array.reverse"]),search:define(null,["es.string.search","es.regexp.exec"]),setFloat16:define(null,["esnext.data-view.set-float16"].concat(DataViewDependencies)),setUint8Clamped:define(null,["esnext.data-view.set-uint8-clamped"].concat(DataViewDependencies)),setYear:define(null,["es.date.set-year"]),slice:define("instance/slice",["es.array.slice"]),small:define(null,["es.string.small"]),some:define("instance/some",["es.array.some","esnext.async-iterator.some","esnext.iterator.some"].concat(IteratorDependencies)),sort:define("instance/sort",["es.array.sort"]),splice:define("instance/splice",["es.array.splice"]),split:define(null,["es.string.split","es.regexp.exec"]),startsWith:define("instance/starts-with",["es.string.starts-with"]),sticky:define(null,["es.regexp.sticky"]),strike:define(null,["es.string.strike"]),sub:define(null,["es.string.sub"]),substr:define(null,["es.string.substr"]),sup:define(null,["es.string.sup"]),take:define(null,["esnext.async-iterator.take"].concat(_toConsumableArray(AsyncIteratorDependencies),["esnext.iterator.take"],IteratorDependencies)),test:define(null,["es.regexp.test","es.regexp.exec"]),toArray:define(null,["esnext.async-iterator.to-array"].concat(_toConsumableArray(AsyncIteratorDependencies),["esnext.iterator.to-array"],IteratorDependencies)),toAsync:define(null,["esnext.iterator.to-async"].concat(IteratorDependencies,_toConsumableArray(AsyncIteratorDependencies),AsyncIteratorProblemMethods)),toExponential:define(null,["es.number.to-exponential"]),toFixed:define(null,["es.number.to-fixed"]),toGMTString:define(null,["es.date.to-gmt-string"]),toISOString:define(null,["es.date.to-iso-string"]),toJSON:define(null,["es.date.to-json"]),toPrecision:define(null,["es.number.to-precision"]),toReversed:define("instance/to-reversed",["es.array.to-reversed"]),toSorted:define("instance/to-sorted",["es.array.to-sorted","es.array.sort"]),toSpliced:define("instance/to-spliced",["es.array.to-spliced"]),toString:define(null,["es.object.to-string","es.error.to-string","es.date.to-string","es.regexp.to-string"]),toWellFormed:define("instance/to-well-formed",["es.string.to-well-formed"]),trim:define("instance/trim",["es.string.trim"]),trimEnd:define("instance/trim-end",["es.string.trim-end"]),trimLeft:define("instance/trim-left",["es.string.trim-start"]),trimRight:define("instance/trim-right",["es.string.trim-end"]),trimStart:define("instance/trim-start",["es.string.trim-start"]),uniqueBy:define("instance/unique-by",["esnext.array.unique-by","es.map"]),unshift:define("instance/unshift",["es.array.unshift"]),unThis:define("instance/un-this",["esnext.function.un-this"]),values:define("instance/values",ArrayNatureIteratorsWithTag),"with":define("instance/with",["es.array.with"]),__defineGetter__:define(null,["es.object.define-getter"]),__defineSetter__:define(null,["es.object.define-setter"]),__lookupGetter__:define(null,["es.object.lookup-getter"]),__lookupSetter__:define(null,["es.object.lookup-setter"])},_InstanceProperties["__proto__"]=define(null,["es.object.proto"]),_InstanceProperties);builtInDefinitions$1.InstanceProperties=InstanceProperties;return builtInDefinitions$1;}var babelRuntimeCorejs3Paths={};var hasRequiredBabelRuntimeCorejs3Paths;function requireBabelRuntimeCorejs3Paths(){if(hasRequiredBabelRuntimeCorejs3Paths)return babelRuntimeCorejs3Paths;hasRequiredBabelRuntimeCorejs3Paths=1;babelRuntimeCorejs3Paths.__esModule=true;babelRuntimeCorejs3Paths.stable=babelRuntimeCorejs3Paths.proposals=void 0;var stable=new Set(["array","array/from","array/is-array","array/of","clear-immediate","date/now","instance/bind","instance/code-point-at","instance/concat","instance/copy-within","instance/ends-with","instance/entries","instance/every","instance/fill","instance/filter","instance/find","instance/find-index","instance/flags","instance/flat","instance/flat-map","instance/for-each","instance/includes","instance/index-of","instance/keys","instance/last-index-of","instance/map","instance/pad-end","instance/pad-start","instance/reduce","instance/reduce-right","instance/repeat","instance/reverse","instance/slice","instance/some","instance/sort","instance/splice","instance/starts-with","instance/trim","instance/trim-end","instance/trim-left","instance/trim-right","instance/trim-start","instance/values","json/stringify","map","math/acosh","math/asinh","math/atanh","math/cbrt","math/clz32","math/cosh","math/expm1","math/fround","math/hypot","math/imul","math/log10","math/log1p","math/log2","math/sign","math/sinh","math/tanh","math/trunc","number/epsilon","number/is-finite","number/is-integer","number/is-nan","number/is-safe-integer","number/max-safe-integer","number/min-safe-integer","number/parse-float","number/parse-int","object/assign","object/create","object/define-properties","object/define-property","object/entries","object/freeze","object/from-entries","object/get-own-property-descriptor","object/get-own-property-descriptors","object/get-own-property-names","object/get-own-property-symbols","object/get-prototype-of","object/is","object/is-extensible","object/is-frozen","object/is-sealed","object/keys","object/prevent-extensions","object/seal","object/set-prototype-of","object/values","parse-float","parse-int","promise","queue-microtask","reflect/apply","reflect/construct","reflect/define-property","reflect/delete-property","reflect/get","reflect/get-own-property-descriptor","reflect/get-prototype-of","reflect/has","reflect/is-extensible","reflect/own-keys","reflect/prevent-extensions","reflect/set","reflect/set-prototype-of","set","set-immediate","set-interval","set-timeout","string/from-code-point","string/raw","symbol","symbol/async-iterator","symbol/for","symbol/has-instance","symbol/is-concat-spreadable","symbol/iterator","symbol/key-for","symbol/match","symbol/replace","symbol/search","symbol/species","symbol/split","symbol/to-primitive","symbol/to-string-tag","symbol/unscopables","url","url-search-params","weak-map","weak-set"]);babelRuntimeCorejs3Paths.stable=stable;var proposals=new Set([].concat(_toConsumableArray(stable),["aggregate-error","composite-key","composite-symbol","global-this","instance/at","instance/code-points","instance/match-all","instance/replace-all","math/clamp","math/degrees","math/deg-per-rad","math/fscale","math/iaddh","math/imulh","math/isubh","math/rad-per-deg","math/radians","math/scale","math/seeded-prng","math/signbit","math/umulh","number/from-string","observable","reflect/define-metadata","reflect/delete-metadata","reflect/get-metadata","reflect/get-metadata-keys","reflect/get-own-metadata","reflect/get-own-metadata-keys","reflect/has-metadata","reflect/has-own-metadata","reflect/metadata","symbol/dispose","symbol/observable","symbol/pattern-match"]));babelRuntimeCorejs3Paths.proposals=proposals;return babelRuntimeCorejs3Paths;}var usageFilters={};var hasRequiredUsageFilters;function requireUsageFilters(){if(hasRequiredUsageFilters)return usageFilters;hasRequiredUsageFilters=1;usageFilters.__esModule=true;usageFilters["default"]=canSkipPolyfill;var _babel=_interopRequireWildcard(require$$5);function _getRequireWildcardCache(nodeInterop){if(typeof WeakMap!=="function")return null;var cacheBabelInterop=new WeakMap();var cacheNodeInterop=new WeakMap();return(_getRequireWildcardCache=function _getRequireWildcardCache(nodeInterop){return nodeInterop?cacheNodeInterop:cacheBabelInterop;})(nodeInterop);}function _interopRequireWildcard(obj,nodeInterop){if(!nodeInterop&&obj&&obj.__esModule){return obj;}if(obj===null||_typeof(obj)!=="object"&&typeof obj!=="function"){return{"default":obj};}var cache=_getRequireWildcardCache(nodeInterop);if(cache&&cache.has(obj)){return cache.get(obj);}var newObj={};var hasPropertyDescriptor=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var key in obj){if(key!=="default"&&Object.prototype.hasOwnProperty.call(obj,key)){var desc=hasPropertyDescriptor?Object.getOwnPropertyDescriptor(obj,key):null;if(desc&&(desc.get||desc.set)){Object.defineProperty(newObj,key,desc);}else{newObj[key]=obj[key];}}}newObj["default"]=obj;if(cache){cache.set(obj,newObj);}return newObj;}var _ref=_babel["default"]||_babel,t=_ref.types;function canSkipPolyfill(desc,path){var node=path.node,parent=path.parent;switch(desc.name){case"es.string.split":{if(!t.isCallExpression(parent,{callee:node}))return false;if(parent.arguments.length<1)return true;var splitter=parent.arguments[0];return t.isStringLiteral(splitter)||t.isTemplateLiteral(splitter);}}}return usageFilters;}var utils$2={};var require$$0$2={"core-js":["es.symbol","es.symbol.description","es.symbol.async-iterator","es.symbol.has-instance","es.symbol.is-concat-spreadable","es.symbol.iterator","es.symbol.match","es.symbol.match-all","es.symbol.replace","es.symbol.search","es.symbol.species","es.symbol.split","es.symbol.to-primitive","es.symbol.to-string-tag","es.symbol.unscopables","es.error.cause","es.error.to-string","es.aggregate-error","es.aggregate-error.cause","es.array.at","es.array.concat","es.array.copy-within","es.array.every","es.array.fill","es.array.filter","es.array.find","es.array.find-index","es.array.find-last","es.array.find-last-index","es.array.flat","es.array.flat-map","es.array.for-each","es.array.from","es.array.includes","es.array.index-of","es.array.is-array","es.array.iterator","es.array.join","es.array.last-index-of","es.array.map","es.array.of","es.array.push","es.array.reduce","es.array.reduce-right","es.array.reverse","es.array.slice","es.array.some","es.array.sort","es.array.species","es.array.splice","es.array.to-reversed","es.array.to-sorted","es.array.to-spliced","es.array.unscopables.flat","es.array.unscopables.flat-map","es.array.unshift","es.array.with","es.array-buffer.constructor","es.array-buffer.is-view","es.array-buffer.slice","es.data-view","es.date.get-year","es.date.now","es.date.set-year","es.date.to-gmt-string","es.date.to-iso-string","es.date.to-json","es.date.to-primitive","es.date.to-string","es.escape","es.function.bind","es.function.has-instance","es.function.name","es.global-this","es.json.stringify","es.json.to-string-tag","es.map","es.math.acosh","es.math.asinh","es.math.atanh","es.math.cbrt","es.math.clz32","es.math.cosh","es.math.expm1","es.math.fround","es.math.hypot","es.math.imul","es.math.log10","es.math.log1p","es.math.log2","es.math.sign","es.math.sinh","es.math.tanh","es.math.to-string-tag","es.math.trunc","es.number.constructor","es.number.epsilon","es.number.is-finite","es.number.is-integer","es.number.is-nan","es.number.is-safe-integer","es.number.max-safe-integer","es.number.min-safe-integer","es.number.parse-float","es.number.parse-int","es.number.to-exponential","es.number.to-fixed","es.number.to-precision","es.object.assign","es.object.create","es.object.define-getter","es.object.define-properties","es.object.define-property","es.object.define-setter","es.object.entries","es.object.freeze","es.object.from-entries","es.object.get-own-property-descriptor","es.object.get-own-property-descriptors","es.object.get-own-property-names","es.object.get-prototype-of","es.object.has-own","es.object.is","es.object.is-extensible","es.object.is-frozen","es.object.is-sealed","es.object.keys","es.object.lookup-getter","es.object.lookup-setter","es.object.prevent-extensions","es.object.proto","es.object.seal","es.object.set-prototype-of","es.object.to-string","es.object.values","es.parse-float","es.parse-int","es.promise","es.promise.all-settled","es.promise.any","es.promise.finally","es.reflect.apply","es.reflect.construct","es.reflect.define-property","es.reflect.delete-property","es.reflect.get","es.reflect.get-own-property-descriptor","es.reflect.get-prototype-of","es.reflect.has","es.reflect.is-extensible","es.reflect.own-keys","es.reflect.prevent-extensions","es.reflect.set","es.reflect.set-prototype-of","es.reflect.to-string-tag","es.regexp.constructor","es.regexp.dot-all","es.regexp.exec","es.regexp.flags","es.regexp.sticky","es.regexp.test","es.regexp.to-string","es.set","es.string.at-alternative","es.string.code-point-at","es.string.ends-with","es.string.from-code-point","es.string.includes","es.string.is-well-formed","es.string.iterator","es.string.match","es.string.match-all","es.string.pad-end","es.string.pad-start","es.string.raw","es.string.repeat","es.string.replace","es.string.replace-all","es.string.search","es.string.split","es.string.starts-with","es.string.substr","es.string.to-well-formed","es.string.trim","es.string.trim-end","es.string.trim-start","es.string.anchor","es.string.big","es.string.blink","es.string.bold","es.string.fixed","es.string.fontcolor","es.string.fontsize","es.string.italics","es.string.link","es.string.small","es.string.strike","es.string.sub","es.string.sup","es.typed-array.float32-array","es.typed-array.float64-array","es.typed-array.int8-array","es.typed-array.int16-array","es.typed-array.int32-array","es.typed-array.uint8-array","es.typed-array.uint8-clamped-array","es.typed-array.uint16-array","es.typed-array.uint32-array","es.typed-array.at","es.typed-array.copy-within","es.typed-array.every","es.typed-array.fill","es.typed-array.filter","es.typed-array.find","es.typed-array.find-index","es.typed-array.find-last","es.typed-array.find-last-index","es.typed-array.for-each","es.typed-array.from","es.typed-array.includes","es.typed-array.index-of","es.typed-array.iterator","es.typed-array.join","es.typed-array.last-index-of","es.typed-array.map","es.typed-array.of","es.typed-array.reduce","es.typed-array.reduce-right","es.typed-array.reverse","es.typed-array.set","es.typed-array.slice","es.typed-array.some","es.typed-array.sort","es.typed-array.subarray","es.typed-array.to-locale-string","es.typed-array.to-reversed","es.typed-array.to-sorted","es.typed-array.to-string","es.typed-array.with","es.unescape","es.weak-map","es.weak-set","esnext.aggregate-error","esnext.suppressed-error.constructor","esnext.array.from-async","esnext.array.at","esnext.array.filter-out","esnext.array.filter-reject","esnext.array.find-last","esnext.array.find-last-index","esnext.array.group","esnext.array.group-by","esnext.array.group-by-to-map","esnext.array.group-to-map","esnext.array.is-template-object","esnext.array.last-index","esnext.array.last-item","esnext.array.to-reversed","esnext.array.to-sorted","esnext.array.to-spliced","esnext.array.unique-by","esnext.array.with","esnext.array-buffer.detached","esnext.array-buffer.transfer","esnext.array-buffer.transfer-to-fixed-length","esnext.async-disposable-stack.constructor","esnext.async-iterator.constructor","esnext.async-iterator.as-indexed-pairs","esnext.async-iterator.async-dispose","esnext.async-iterator.drop","esnext.async-iterator.every","esnext.async-iterator.filter","esnext.async-iterator.find","esnext.async-iterator.flat-map","esnext.async-iterator.for-each","esnext.async-iterator.from","esnext.async-iterator.indexed","esnext.async-iterator.map","esnext.async-iterator.reduce","esnext.async-iterator.some","esnext.async-iterator.take","esnext.async-iterator.to-array","esnext.bigint.range","esnext.composite-key","esnext.composite-symbol","esnext.disposable-stack.constructor","esnext.function.demethodize","esnext.function.is-callable","esnext.function.is-constructor","esnext.function.metadata","esnext.function.un-this","esnext.global-this","esnext.iterator.constructor","esnext.iterator.as-indexed-pairs","esnext.iterator.dispose","esnext.iterator.drop","esnext.iterator.every","esnext.iterator.filter","esnext.iterator.find","esnext.iterator.flat-map","esnext.iterator.for-each","esnext.iterator.from","esnext.iterator.indexed","esnext.iterator.map","esnext.iterator.range","esnext.iterator.reduce","esnext.iterator.some","esnext.iterator.take","esnext.iterator.to-array","esnext.iterator.to-async","esnext.json.is-raw-json","esnext.json.parse","esnext.json.raw-json","esnext.map.delete-all","esnext.map.emplace","esnext.map.every","esnext.map.filter","esnext.map.find","esnext.map.find-key","esnext.map.from","esnext.map.group-by","esnext.map.includes","esnext.map.key-by","esnext.map.key-of","esnext.map.map-keys","esnext.map.map-values","esnext.map.merge","esnext.map.of","esnext.map.reduce","esnext.map.some","esnext.map.update","esnext.map.update-or-insert","esnext.map.upsert","esnext.math.clamp","esnext.math.deg-per-rad","esnext.math.degrees","esnext.math.fscale","esnext.math.iaddh","esnext.math.imulh","esnext.math.isubh","esnext.math.rad-per-deg","esnext.math.radians","esnext.math.scale","esnext.math.seeded-prng","esnext.math.signbit","esnext.math.umulh","esnext.number.from-string","esnext.number.range","esnext.object.has-own","esnext.object.iterate-entries","esnext.object.iterate-keys","esnext.object.iterate-values","esnext.object.group-by","esnext.observable","esnext.promise.all-settled","esnext.promise.any","esnext.promise.try","esnext.promise.with-resolvers","esnext.reflect.define-metadata","esnext.reflect.delete-metadata","esnext.reflect.get-metadata","esnext.reflect.get-metadata-keys","esnext.reflect.get-own-metadata","esnext.reflect.get-own-metadata-keys","esnext.reflect.has-metadata","esnext.reflect.has-own-metadata","esnext.reflect.metadata","esnext.set.add-all","esnext.set.delete-all","esnext.set.difference.v2","esnext.set.difference","esnext.set.every","esnext.set.filter","esnext.set.find","esnext.set.from","esnext.set.intersection.v2","esnext.set.intersection","esnext.set.is-disjoint-from.v2","esnext.set.is-disjoint-from","esnext.set.is-subset-of.v2","esnext.set.is-subset-of","esnext.set.is-superset-of.v2","esnext.set.is-superset-of","esnext.set.join","esnext.set.map","esnext.set.of","esnext.set.reduce","esnext.set.some","esnext.set.symmetric-difference.v2","esnext.set.symmetric-difference","esnext.set.union.v2","esnext.set.union","esnext.string.at","esnext.string.cooked","esnext.string.code-points","esnext.string.dedent","esnext.string.is-well-formed","esnext.string.match-all","esnext.string.replace-all","esnext.string.to-well-formed","esnext.symbol.async-dispose","esnext.symbol.dispose","esnext.symbol.is-registered-symbol","esnext.symbol.is-registered","esnext.symbol.is-well-known-symbol","esnext.symbol.is-well-known","esnext.symbol.matcher","esnext.symbol.metadata","esnext.symbol.metadata-key","esnext.symbol.observable","esnext.symbol.pattern-match","esnext.symbol.replace-all","esnext.typed-array.from-async","esnext.typed-array.at","esnext.typed-array.filter-out","esnext.typed-array.filter-reject","esnext.typed-array.find-last","esnext.typed-array.find-last-index","esnext.typed-array.group-by","esnext.typed-array.to-reversed","esnext.typed-array.to-sorted","esnext.typed-array.to-spliced","esnext.typed-array.unique-by","esnext.typed-array.with","esnext.weak-map.delete-all","esnext.weak-map.from","esnext.weak-map.of","esnext.weak-map.emplace","esnext.weak-map.upsert","esnext.weak-set.add-all","esnext.weak-set.delete-all","esnext.weak-set.from","esnext.weak-set.of","web.atob","web.btoa","web.dom-collections.for-each","web.dom-collections.iterator","web.dom-exception.constructor","web.dom-exception.stack","web.dom-exception.to-string-tag","web.immediate","web.queue-microtask","web.self","web.structured-clone","web.timers","web.url","web.url.can-parse","web.url.to-json","web.url-search-params","web.url-search-params.delete","web.url-search-params.has","web.url-search-params.size"],"core-js/actual":["es.symbol","es.symbol.description","es.symbol.async-iterator","es.symbol.has-instance","es.symbol.is-concat-spreadable","es.symbol.iterator","es.symbol.match","es.symbol.match-all","es.symbol.replace","es.symbol.search","es.symbol.species","es.symbol.split","es.symbol.to-primitive","es.symbol.to-string-tag","es.symbol.unscopables","es.error.cause","es.error.to-string","es.aggregate-error","es.aggregate-error.cause","es.array.at","es.array.concat","es.array.copy-within","es.array.every","es.array.fill","es.array.filter","es.array.find","es.array.find-index","es.array.find-last","es.array.find-last-index","es.array.flat","es.array.flat-map","es.array.for-each","es.array.from","es.array.includes","es.array.index-of","es.array.is-array","es.array.iterator","es.array.join","es.array.last-index-of","es.array.map","es.array.of","es.array.push","es.array.reduce","es.array.reduce-right","es.array.reverse","es.array.slice","es.array.some","es.array.sort","es.array.species","es.array.splice","es.array.to-reversed","es.array.to-sorted","es.array.to-spliced","es.array.unscopables.flat","es.array.unscopables.flat-map","es.array.unshift","es.array.with","es.array-buffer.constructor","es.array-buffer.is-view","es.array-buffer.slice","es.data-view","es.date.get-year","es.date.now","es.date.set-year","es.date.to-gmt-string","es.date.to-iso-string","es.date.to-json","es.date.to-primitive","es.date.to-string","es.escape","es.function.bind","es.function.has-instance","es.function.name","es.global-this","es.json.stringify","es.json.to-string-tag","es.map","es.math.acosh","es.math.asinh","es.math.atanh","es.math.cbrt","es.math.clz32","es.math.cosh","es.math.expm1","es.math.fround","es.math.hypot","es.math.imul","es.math.log10","es.math.log1p","es.math.log2","es.math.sign","es.math.sinh","es.math.tanh","es.math.to-string-tag","es.math.trunc","es.number.constructor","es.number.epsilon","es.number.is-finite","es.number.is-integer","es.number.is-nan","es.number.is-safe-integer","es.number.max-safe-integer","es.number.min-safe-integer","es.number.parse-float","es.number.parse-int","es.number.to-exponential","es.number.to-fixed","es.number.to-precision","es.object.assign","es.object.create","es.object.define-getter","es.object.define-properties","es.object.define-property","es.object.define-setter","es.object.entries","es.object.freeze","es.object.from-entries","es.object.get-own-property-descriptor","es.object.get-own-property-descriptors","es.object.get-own-property-names","es.object.get-prototype-of","es.object.has-own","es.object.is","es.object.is-extensible","es.object.is-frozen","es.object.is-sealed","es.object.keys","es.object.lookup-getter","es.object.lookup-setter","es.object.prevent-extensions","es.object.proto","es.object.seal","es.object.set-prototype-of","es.object.to-string","es.object.values","es.parse-float","es.parse-int","es.promise","es.promise.all-settled","es.promise.any","es.promise.finally","es.reflect.apply","es.reflect.construct","es.reflect.define-property","es.reflect.delete-property","es.reflect.get","es.reflect.get-own-property-descriptor","es.reflect.get-prototype-of","es.reflect.has","es.reflect.is-extensible","es.reflect.own-keys","es.reflect.prevent-extensions","es.reflect.set","es.reflect.set-prototype-of","es.reflect.to-string-tag","es.regexp.constructor","es.regexp.dot-all","es.regexp.exec","es.regexp.flags","es.regexp.sticky","es.regexp.test","es.regexp.to-string","es.set","es.string.at-alternative","es.string.code-point-at","es.string.ends-with","es.string.from-code-point","es.string.includes","es.string.is-well-formed","es.string.iterator","es.string.match","es.string.match-all","es.string.pad-end","es.string.pad-start","es.string.raw","es.string.repeat","es.string.replace","es.string.replace-all","es.string.search","es.string.split","es.string.starts-with","es.string.substr","es.string.to-well-formed","es.string.trim","es.string.trim-end","es.string.trim-start","es.string.anchor","es.string.big","es.string.blink","es.string.bold","es.string.fixed","es.string.fontcolor","es.string.fontsize","es.string.italics","es.string.link","es.string.small","es.string.strike","es.string.sub","es.string.sup","es.typed-array.float32-array","es.typed-array.float64-array","es.typed-array.int8-array","es.typed-array.int16-array","es.typed-array.int32-array","es.typed-array.uint8-array","es.typed-array.uint8-clamped-array","es.typed-array.uint16-array","es.typed-array.uint32-array","es.typed-array.at","es.typed-array.copy-within","es.typed-array.every","es.typed-array.fill","es.typed-array.filter","es.typed-array.find","es.typed-array.find-index","es.typed-array.find-last","es.typed-array.find-last-index","es.typed-array.for-each","es.typed-array.from","es.typed-array.includes","es.typed-array.index-of","es.typed-array.iterator","es.typed-array.join","es.typed-array.last-index-of","es.typed-array.map","es.typed-array.of","es.typed-array.reduce","es.typed-array.reduce-right","es.typed-array.reverse","es.typed-array.set","es.typed-array.slice","es.typed-array.some","es.typed-array.sort","es.typed-array.subarray","es.typed-array.to-locale-string","es.typed-array.to-reversed","es.typed-array.to-sorted","es.typed-array.to-string","es.typed-array.with","es.unescape","es.weak-map","es.weak-set","esnext.aggregate-error","esnext.suppressed-error.constructor","esnext.array.from-async","esnext.array.at","esnext.array.find-last","esnext.array.find-last-index","esnext.array.group","esnext.array.group-by","esnext.array.group-by-to-map","esnext.array.group-to-map","esnext.array.to-reversed","esnext.array.to-sorted","esnext.array.to-spliced","esnext.array.with","esnext.array-buffer.detached","esnext.array-buffer.transfer","esnext.array-buffer.transfer-to-fixed-length","esnext.async-iterator.constructor","esnext.async-iterator.drop","esnext.async-iterator.every","esnext.async-iterator.filter","esnext.async-iterator.find","esnext.async-iterator.flat-map","esnext.async-iterator.for-each","esnext.async-iterator.from","esnext.async-iterator.map","esnext.async-iterator.reduce","esnext.async-iterator.some","esnext.async-iterator.take","esnext.async-iterator.to-array","esnext.disposable-stack.constructor","esnext.function.metadata","esnext.global-this","esnext.iterator.constructor","esnext.iterator.dispose","esnext.iterator.drop","esnext.iterator.every","esnext.iterator.filter","esnext.iterator.find","esnext.iterator.flat-map","esnext.iterator.for-each","esnext.iterator.from","esnext.iterator.map","esnext.iterator.reduce","esnext.iterator.some","esnext.iterator.take","esnext.iterator.to-array","esnext.iterator.to-async","esnext.json.is-raw-json","esnext.json.parse","esnext.json.raw-json","esnext.object.has-own","esnext.promise.all-settled","esnext.promise.any","esnext.set.difference.v2","esnext.set.intersection.v2","esnext.set.is-disjoint-from.v2","esnext.set.is-subset-of.v2","esnext.set.is-superset-of.v2","esnext.set.symmetric-difference.v2","esnext.set.union.v2","esnext.string.is-well-formed","esnext.string.match-all","esnext.string.replace-all","esnext.string.to-well-formed","esnext.symbol.dispose","esnext.symbol.metadata","esnext.typed-array.at","esnext.typed-array.find-last","esnext.typed-array.find-last-index","esnext.typed-array.to-reversed","esnext.typed-array.to-sorted","esnext.typed-array.to-spliced","esnext.typed-array.with","web.atob","web.btoa","web.dom-collections.for-each","web.dom-collections.iterator","web.dom-exception.constructor","web.dom-exception.stack","web.dom-exception.to-string-tag","web.immediate","web.queue-microtask","web.self","web.structured-clone","web.timers","web.url","web.url.can-parse","web.url.to-json","web.url-search-params","web.url-search-params.delete","web.url-search-params.has","web.url-search-params.size"],"core-js/actual/aggregate-error":["es.error.cause","es.aggregate-error","es.aggregate-error.cause","es.array.iterator","es.string.iterator","esnext.aggregate-error","web.dom-collections.iterator"],"core-js/actual/array":["es.array.at","es.array.concat","es.array.copy-within","es.array.every","es.array.fill","es.array.filter","es.array.find","es.array.find-index","es.array.find-last","es.array.find-last-index","es.array.flat","es.array.flat-map","es.array.for-each","es.array.from","es.array.includes","es.array.index-of","es.array.is-array","es.array.iterator","es.array.join","es.array.last-index-of","es.array.map","es.array.of","es.array.push","es.array.reduce","es.array.reduce-right","es.array.reverse","es.array.slice","es.array.some","es.array.sort","es.array.species","es.array.splice","es.array.to-reversed","es.array.to-sorted","es.array.to-spliced","es.array.unscopables.flat","es.array.unscopables.flat-map","es.array.unshift","es.array.with","es.object.to-string","es.promise","es.string.iterator","esnext.array.from-async","esnext.array.find-last","esnext.array.find-last-index","esnext.array.group","esnext.array.group-by","esnext.array.group-by-to-map","esnext.array.group-to-map","esnext.array.to-reversed","esnext.array.to-sorted","esnext.array.to-spliced","esnext.array.with"],"core-js/actual/array-buffer":["es.array-buffer.constructor","es.array-buffer.is-view","es.array-buffer.slice","es.object.to-string","esnext.array-buffer.detached","esnext.array-buffer.transfer","esnext.array-buffer.transfer-to-fixed-length"],"core-js/actual/array-buffer/constructor":["es.array-buffer.constructor","es.array-buffer.slice","es.object.to-string","esnext.array-buffer.detached","esnext.array-buffer.transfer","esnext.array-buffer.transfer-to-fixed-length"],"core-js/actual/array-buffer/detached":["es.array-buffer.constructor","es.array-buffer.is-view","es.array-buffer.slice","es.object.to-string","esnext.array-buffer.detached"],"core-js/actual/array-buffer/is-view":["es.array-buffer.is-view"],"core-js/actual/array-buffer/slice":["es.array-buffer.slice"],"core-js/actual/array-buffer/transfer":["es.array-buffer.constructor","es.array-buffer.is-view","es.array-buffer.slice","es.object.to-string","esnext.array-buffer.transfer"],"core-js/actual/array-buffer/transfer-to-fixed-length":["es.array-buffer.constructor","es.array-buffer.is-view","es.array-buffer.slice","es.object.to-string","esnext.array-buffer.transfer-to-fixed-length"],"core-js/actual/array/at":["es.array.at"],"core-js/actual/array/concat":["es.array.concat"],"core-js/actual/array/copy-within":["es.array.copy-within"],"core-js/actual/array/entries":["es.array.iterator","es.object.to-string"],"core-js/actual/array/every":["es.array.every"],"core-js/actual/array/fill":["es.array.fill"],"core-js/actual/array/filter":["es.array.filter"],"core-js/actual/array/find":["es.array.find"],"core-js/actual/array/find-index":["es.array.find-index"],"core-js/actual/array/find-last":["es.array.find-last","esnext.array.find-last"],"core-js/actual/array/find-last-index":["es.array.find-last-index","esnext.array.find-last-index"],"core-js/actual/array/flat":["es.array.flat","es.array.unscopables.flat"],"core-js/actual/array/flat-map":["es.array.flat-map","es.array.unscopables.flat-map"],"core-js/actual/array/for-each":["es.array.for-each"],"core-js/actual/array/from":["es.array.from","es.string.iterator"],"core-js/actual/array/from-async":["es.array.iterator","es.object.to-string","es.promise","es.string.iterator","esnext.array.from-async"],"core-js/actual/array/group":["esnext.array.group"],"core-js/actual/array/group-by":["esnext.array.group-by"],"core-js/actual/array/group-by-to-map":["es.map","es.object.to-string","esnext.array.group-by-to-map"],"core-js/actual/array/group-to-map":["es.map","es.object.to-string","esnext.array.group-to-map"],"core-js/actual/array/includes":["es.array.includes"],"core-js/actual/array/index-of":["es.array.index-of"],"core-js/actual/array/is-array":["es.array.is-array"],"core-js/actual/array/iterator":["es.array.iterator","es.object.to-string"],"core-js/actual/array/join":["es.array.join"],"core-js/actual/array/keys":["es.array.iterator","es.object.to-string"],"core-js/actual/array/last-index-of":["es.array.last-index-of"],"core-js/actual/array/map":["es.array.map"],"core-js/actual/array/of":["es.array.of"],"core-js/actual/array/push":["es.array.push"],"core-js/actual/array/reduce":["es.array.reduce"],"core-js/actual/array/reduce-right":["es.array.reduce-right"],"core-js/actual/array/reverse":["es.array.reverse"],"core-js/actual/array/slice":["es.array.slice"],"core-js/actual/array/some":["es.array.some"],"core-js/actual/array/sort":["es.array.sort"],"core-js/actual/array/splice":["es.array.splice"],"core-js/actual/array/to-reversed":["es.array.to-reversed","esnext.array.to-reversed"],"core-js/actual/array/to-sorted":["es.array.sort","es.array.to-sorted","esnext.array.to-sorted"],"core-js/actual/array/to-spliced":["es.array.to-spliced","esnext.array.to-spliced"],"core-js/actual/array/unshift":["es.array.unshift"],"core-js/actual/array/values":["es.array.iterator","es.object.to-string"],"core-js/actual/array/virtual":["es.array.at","es.array.concat","es.array.copy-within","es.array.every","es.array.fill","es.array.filter","es.array.find","es.array.find-index","es.array.find-last","es.array.find-last-index","es.array.flat","es.array.flat-map","es.array.for-each","es.array.includes","es.array.index-of","es.array.iterator","es.array.join","es.array.last-index-of","es.array.map","es.array.push","es.array.reduce","es.array.reduce-right","es.array.reverse","es.array.slice","es.array.some","es.array.sort","es.array.species","es.array.splice","es.array.to-reversed","es.array.to-sorted","es.array.to-spliced","es.array.unscopables.flat","es.array.unscopables.flat-map","es.array.unshift","es.array.with","es.map","es.object.to-string","esnext.array.find-last","esnext.array.find-last-index","esnext.array.group","esnext.array.group-by","esnext.array.group-by-to-map","esnext.array.group-to-map","esnext.array.to-reversed","esnext.array.to-sorted","esnext.array.to-spliced","esnext.array.with"],"core-js/actual/array/virtual/at":["es.array.at"],"core-js/actual/array/virtual/concat":["es.array.concat"],"core-js/actual/array/virtual/copy-within":["es.array.copy-within"],"core-js/actual/array/virtual/entries":["es.array.iterator","es.object.to-string"],"core-js/actual/array/virtual/every":["es.array.every"],"core-js/actual/array/virtual/fill":["es.array.fill"],"core-js/actual/array/virtual/filter":["es.array.filter"],"core-js/actual/array/virtual/find":["es.array.find"],"core-js/actual/array/virtual/find-index":["es.array.find-index"],"core-js/actual/array/virtual/find-last":["es.array.find-last","esnext.array.find-last"],"core-js/actual/array/virtual/find-last-index":["es.array.find-last-index","esnext.array.find-last-index"],"core-js/actual/array/virtual/flat":["es.array.flat","es.array.unscopables.flat"],"core-js/actual/array/virtual/flat-map":["es.array.flat-map","es.array.unscopables.flat-map"],"core-js/actual/array/virtual/for-each":["es.array.for-each"],"core-js/actual/array/virtual/group":["esnext.array.group"],"core-js/actual/array/virtual/group-by":["esnext.array.group-by"],"core-js/actual/array/virtual/group-by-to-map":["es.map","es.object.to-string","esnext.array.group-by-to-map"],"core-js/actual/array/virtual/group-to-map":["es.map","es.object.to-string","esnext.array.group-to-map"],"core-js/actual/array/virtual/includes":["es.array.includes"],"core-js/actual/array/virtual/index-of":["es.array.index-of"],"core-js/actual/array/virtual/iterator":["es.array.iterator","es.object.to-string"],"core-js/actual/array/virtual/join":["es.array.join"],"core-js/actual/array/virtual/keys":["es.array.iterator","es.object.to-string"],"core-js/actual/array/virtual/last-index-of":["es.array.last-index-of"],"core-js/actual/array/virtual/map":["es.array.map"],"core-js/actual/array/virtual/push":["es.array.push"],"core-js/actual/array/virtual/reduce":["es.array.reduce"],"core-js/actual/array/virtual/reduce-right":["es.array.reduce-right"],"core-js/actual/array/virtual/reverse":["es.array.reverse"],"core-js/actual/array/virtual/slice":["es.array.slice"],"core-js/actual/array/virtual/some":["es.array.some"],"core-js/actual/array/virtual/sort":["es.array.sort"],"core-js/actual/array/virtual/splice":["es.array.splice"],"core-js/actual/array/virtual/to-reversed":["es.array.to-reversed","esnext.array.to-reversed"],"core-js/actual/array/virtual/to-sorted":["es.array.sort","es.array.to-sorted","esnext.array.to-sorted"],"core-js/actual/array/virtual/to-spliced":["es.array.to-spliced","esnext.array.to-spliced"],"core-js/actual/array/virtual/unshift":["es.array.unshift"],"core-js/actual/array/virtual/values":["es.array.iterator","es.object.to-string"],"core-js/actual/array/virtual/with":["es.array.with","esnext.array.with"],"core-js/actual/array/with":["es.array.with","esnext.array.with"],"core-js/actual/async-iterator":["es.array.iterator","es.object.to-string","es.promise","es.string.iterator","esnext.async-iterator.constructor","esnext.async-iterator.drop","esnext.async-iterator.every","esnext.async-iterator.filter","esnext.async-iterator.find","esnext.async-iterator.flat-map","esnext.async-iterator.for-each","esnext.async-iterator.from","esnext.async-iterator.map","esnext.async-iterator.reduce","esnext.async-iterator.some","esnext.async-iterator.take","esnext.async-iterator.to-array","web.dom-collections.iterator"],"core-js/actual/async-iterator/drop":["es.object.to-string","es.promise","esnext.async-iterator.constructor","esnext.async-iterator.drop"],"core-js/actual/async-iterator/every":["es.object.to-string","es.promise","esnext.async-iterator.constructor","esnext.async-iterator.every"],"core-js/actual/async-iterator/filter":["es.object.to-string","es.promise","esnext.async-iterator.constructor","esnext.async-iterator.filter"],"core-js/actual/async-iterator/find":["es.object.to-string","es.promise","esnext.async-iterator.constructor","esnext.async-iterator.find"],"core-js/actual/async-iterator/flat-map":["es.object.to-string","es.promise","esnext.async-iterator.constructor","esnext.async-iterator.flat-map"],"core-js/actual/async-iterator/for-each":["es.object.to-string","es.promise","esnext.async-iterator.constructor","esnext.async-iterator.for-each"],"core-js/actual/async-iterator/from":["es.array.iterator","es.object.to-string","es.promise","es.string.iterator","esnext.async-iterator.constructor","esnext.async-iterator.drop","esnext.async-iterator.every","esnext.async-iterator.filter","esnext.async-iterator.find","esnext.async-iterator.flat-map","esnext.async-iterator.for-each","esnext.async-iterator.from","esnext.async-iterator.map","esnext.async-iterator.reduce","esnext.async-iterator.some","esnext.async-iterator.take","esnext.async-iterator.to-array","web.dom-collections.iterator"],"core-js/actual/async-iterator/map":["es.object.to-string","es.promise","esnext.async-iterator.constructor","esnext.async-iterator.map"],"core-js/actual/async-iterator/reduce":["es.object.to-string","es.promise","esnext.async-iterator.constructor","esnext.async-iterator.reduce"],"core-js/actual/async-iterator/some":["es.object.to-string","es.promise","esnext.async-iterator.constructor","esnext.async-iterator.some"],"core-js/actual/async-iterator/take":["es.object.to-string","es.promise","esnext.async-iterator.constructor","esnext.async-iterator.take"],"core-js/actual/async-iterator/to-array":["es.object.to-string","es.promise","esnext.async-iterator.constructor","esnext.async-iterator.to-array"],"core-js/actual/atob":["es.error.to-string","es.object.to-string","web.atob","web.dom-exception.constructor","web.dom-exception.stack","web.dom-exception.to-string-tag"],"core-js/actual/btoa":["es.error.to-string","es.object.to-string","web.btoa","web.dom-exception.constructor","web.dom-exception.stack","web.dom-exception.to-string-tag"],"core-js/actual/clear-immediate":["web.immediate"],"core-js/actual/data-view":["es.array-buffer.constructor","es.array-buffer.slice","es.data-view","es.object.to-string"],"core-js/actual/date":["es.date.get-year","es.date.now","es.date.set-year","es.date.to-gmt-string","es.date.to-iso-string","es.date.to-json","es.date.to-primitive","es.date.to-string"],"core-js/actual/date/get-year":["es.date.get-year"],"core-js/actual/date/now":["es.date.now"],"core-js/actual/date/set-year":["es.date.set-year"],"core-js/actual/date/to-gmt-string":["es.date.to-gmt-string"],"core-js/actual/date/to-iso-string":["es.date.to-iso-string","es.date.to-json"],"core-js/actual/date/to-json":["es.date.to-json"],"core-js/actual/date/to-primitive":["es.date.to-primitive"],"core-js/actual/date/to-string":["es.date.to-string"],"core-js/actual/disposable-stack":["es.error.cause","es.error.to-string","es.object.to-string","esnext.suppressed-error.constructor","esnext.disposable-stack.constructor","esnext.iterator.dispose"],"core-js/actual/disposable-stack/constructor":["es.error.cause","es.error.to-string","es.object.to-string","esnext.suppressed-error.constructor","esnext.disposable-stack.constructor","esnext.iterator.dispose"],"core-js/actual/dom-collections":["es.array.iterator","es.object.to-string","web.dom-collections.for-each","web.dom-collections.iterator"],"core-js/actual/dom-collections/for-each":["web.dom-collections.for-each"],"core-js/actual/dom-collections/iterator":["es.object.to-string","web.dom-collections.iterator"],"core-js/actual/dom-exception":["es.error.to-string","web.dom-exception.constructor","web.dom-exception.stack","web.dom-exception.to-string-tag"],"core-js/actual/dom-exception/constructor":["es.error.to-string","web.dom-exception.constructor","web.dom-exception.stack"],"core-js/actual/dom-exception/to-string-tag":["web.dom-exception.to-string-tag"],"core-js/actual/error":["es.error.cause","es.error.to-string"],"core-js/actual/error/constructor":["es.error.cause"],"core-js/actual/error/to-string":["es.error.to-string"],"core-js/actual/escape":["es.escape"],"core-js/actual/function":["es.function.bind","es.function.has-instance","es.function.name","esnext.function.metadata"],"core-js/actual/function/bind":["es.function.bind"],"core-js/actual/function/has-instance":["es.function.has-instance"],"core-js/actual/function/metadata":["esnext.function.metadata"],"core-js/actual/function/name":["es.function.name"],"core-js/actual/function/virtual":["es.function.bind"],"core-js/actual/function/virtual/bind":["es.function.bind"],"core-js/actual/get-iterator":["es.array.iterator","es.string.iterator","web.dom-collections.iterator"],"core-js/actual/get-iterator-method":["es.array.iterator","es.string.iterator","web.dom-collections.iterator"],"core-js/actual/global-this":["es.global-this"],"core-js/actual/instance/at":["es.array.at","es.string.at-alternative"],"core-js/actual/instance/bind":["es.function.bind"],"core-js/actual/instance/code-point-at":["es.string.code-point-at"],"core-js/actual/instance/concat":["es.array.concat"],"core-js/actual/instance/copy-within":["es.array.copy-within"],"core-js/actual/instance/ends-with":["es.string.ends-with"],"core-js/actual/instance/entries":["es.array.iterator","es.object.to-string","web.dom-collections.iterator"],"core-js/actual/instance/every":["es.array.every"],"core-js/actual/instance/fill":["es.array.fill"],"core-js/actual/instance/filter":["es.array.filter"],"core-js/actual/instance/find":["es.array.find"],"core-js/actual/instance/find-index":["es.array.find-index"],"core-js/actual/instance/find-last":["es.array.find-last","esnext.array.find-last"],"core-js/actual/instance/find-last-index":["es.array.find-last-index","esnext.array.find-last-index"],"core-js/actual/instance/flags":["es.regexp.flags"],"core-js/actual/instance/flat":["es.array.flat","es.array.unscopables.flat"],"core-js/actual/instance/flat-map":["es.array.flat-map","es.array.unscopables.flat-map"],"core-js/actual/instance/for-each":["es.array.for-each","web.dom-collections.iterator"],"core-js/actual/instance/group":["esnext.array.group"],"core-js/actual/instance/group-by":["esnext.array.group-by"],"core-js/actual/instance/group-by-to-map":["es.map","es.object.to-string","esnext.array.group-by-to-map"],"core-js/actual/instance/group-to-map":["es.map","es.object.to-string","esnext.array.group-to-map"],"core-js/actual/instance/includes":["es.array.includes","es.string.includes"],"core-js/actual/instance/index-of":["es.array.index-of"],"core-js/actual/instance/is-well-formed":["es.string.is-well-formed"],"core-js/actual/instance/keys":["es.array.iterator","es.object.to-string","web.dom-collections.iterator"],"core-js/actual/instance/last-index-of":["es.array.last-index-of"],"core-js/actual/instance/map":["es.array.map"],"core-js/actual/instance/match-all":["es.object.to-string","es.regexp.exec","es.string.match-all"],"core-js/actual/instance/pad-end":["es.string.pad-end"],"core-js/actual/instance/pad-start":["es.string.pad-start"],"core-js/actual/instance/push":["es.array.push"],"core-js/actual/instance/reduce":["es.array.reduce"],"core-js/actual/instance/reduce-right":["es.array.reduce-right"],"core-js/actual/instance/repeat":["es.string.repeat"],"core-js/actual/instance/replace-all":["es.regexp.exec","es.string.replace","es.string.replace-all"],"core-js/actual/instance/reverse":["es.array.reverse"],"core-js/actual/instance/slice":["es.array.slice"],"core-js/actual/instance/some":["es.array.some"],"core-js/actual/instance/sort":["es.array.sort"],"core-js/actual/instance/splice":["es.array.splice"],"core-js/actual/instance/starts-with":["es.string.starts-with"],"core-js/actual/instance/to-reversed":["es.array.to-reversed","esnext.array.to-reversed"],"core-js/actual/instance/to-sorted":["es.array.sort","es.array.to-sorted","esnext.array.to-sorted"],"core-js/actual/instance/to-spliced":["es.array.to-spliced","esnext.array.to-spliced"],"core-js/actual/instance/to-well-formed":["es.string.to-well-formed"],"core-js/actual/instance/trim":["es.string.trim"],"core-js/actual/instance/trim-end":["es.string.trim-end"],"core-js/actual/instance/trim-left":["es.string.trim-start"],"core-js/actual/instance/trim-right":["es.string.trim-end"],"core-js/actual/instance/trim-start":["es.string.trim-start"],"core-js/actual/instance/unshift":["es.array.unshift"],"core-js/actual/instance/values":["es.array.iterator","es.object.to-string","web.dom-collections.iterator"],"core-js/actual/instance/with":["es.array.with","esnext.array.with"],"core-js/actual/is-iterable":["es.array.iterator","es.string.iterator","web.dom-collections.iterator"],"core-js/actual/iterator":["es.array.iterator","es.object.to-string","es.promise","es.string.iterator","esnext.iterator.constructor","esnext.iterator.dispose","esnext.iterator.drop","esnext.iterator.every","esnext.iterator.filter","esnext.iterator.find","esnext.iterator.flat-map","esnext.iterator.for-each","esnext.iterator.from","esnext.iterator.map","esnext.iterator.reduce","esnext.iterator.some","esnext.iterator.take","esnext.iterator.to-array","esnext.iterator.to-async","web.dom-collections.iterator"],"core-js/actual/iterator/dispose":["esnext.iterator.dispose"],"core-js/actual/iterator/drop":["es.object.to-string","esnext.iterator.constructor","esnext.iterator.drop"],"core-js/actual/iterator/every":["es.object.to-string","esnext.iterator.constructor","esnext.iterator.every"],"core-js/actual/iterator/filter":["es.object.to-string","esnext.iterator.constructor","esnext.iterator.filter"],"core-js/actual/iterator/find":["es.object.to-string","esnext.iterator.constructor","esnext.iterator.find"],"core-js/actual/iterator/flat-map":["es.object.to-string","esnext.iterator.constructor","esnext.iterator.flat-map"],"core-js/actual/iterator/for-each":["es.object.to-string","esnext.iterator.constructor","esnext.iterator.for-each"],"core-js/actual/iterator/from":["es.array.iterator","es.object.to-string","es.promise","es.string.iterator","esnext.iterator.constructor","esnext.iterator.dispose","esnext.iterator.drop","esnext.iterator.every","esnext.iterator.filter","esnext.iterator.find","esnext.iterator.flat-map","esnext.iterator.for-each","esnext.iterator.from","esnext.iterator.map","esnext.iterator.reduce","esnext.iterator.some","esnext.iterator.take","esnext.iterator.to-array","esnext.iterator.to-async","web.dom-collections.iterator"],"core-js/actual/iterator/map":["es.object.to-string","esnext.iterator.constructor","esnext.iterator.map"],"core-js/actual/iterator/reduce":["es.object.to-string","esnext.iterator.constructor","esnext.iterator.reduce"],"core-js/actual/iterator/some":["es.object.to-string","esnext.iterator.constructor","esnext.iterator.some"],"core-js/actual/iterator/take":["es.object.to-string","esnext.iterator.constructor","esnext.iterator.take"],"core-js/actual/iterator/to-array":["es.object.to-string","esnext.iterator.constructor","esnext.iterator.to-array"],"core-js/actual/iterator/to-async":["es.object.to-string","es.promise","esnext.iterator.constructor","esnext.iterator.to-async"],"core-js/actual/json":["es.json.stringify","es.json.to-string-tag","es.object.create","es.object.freeze","es.object.keys","esnext.json.is-raw-json","esnext.json.parse","esnext.json.raw-json"],"core-js/actual/json/is-raw-json":["esnext.json.is-raw-json"],"core-js/actual/json/parse":["es.object.keys","esnext.json.parse"],"core-js/actual/json/raw-json":["es.object.create","es.object.freeze","esnext.json.raw-json"],"core-js/actual/json/stringify":["es.json.stringify"],"core-js/actual/json/to-string-tag":["es.json.to-string-tag"],"core-js/actual/map":["es.array.iterator","es.map","es.object.to-string","es.string.iterator","web.dom-collections.iterator"],"core-js/actual/math":["es.math.acosh","es.math.asinh","es.math.atanh","es.math.cbrt","es.math.clz32","es.math.cosh","es.math.expm1","es.math.fround","es.math.hypot","es.math.imul","es.math.log10","es.math.log1p","es.math.log2","es.math.sign","es.math.sinh","es.math.tanh","es.math.to-string-tag","es.math.trunc"],"core-js/actual/math/acosh":["es.math.acosh"],"core-js/actual/math/asinh":["es.math.asinh"],"core-js/actual/math/atanh":["es.math.atanh"],"core-js/actual/math/cbrt":["es.math.cbrt"],"core-js/actual/math/clz32":["es.math.clz32"],"core-js/actual/math/cosh":["es.math.cosh"],"core-js/actual/math/expm1":["es.math.expm1"],"core-js/actual/math/fround":["es.math.fround"],"core-js/actual/math/hypot":["es.math.hypot"],"core-js/actual/math/imul":["es.math.imul"],"core-js/actual/math/log10":["es.math.log10"],"core-js/actual/math/log1p":["es.math.log1p"],"core-js/actual/math/log2":["es.math.log2"],"core-js/actual/math/sign":["es.math.sign"],"core-js/actual/math/sinh":["es.math.sinh"],"core-js/actual/math/tanh":["es.math.tanh"],"core-js/actual/math/to-string-tag":["es.math.to-string-tag"],"core-js/actual/math/trunc":["es.math.trunc"],"core-js/actual/number":["es.number.constructor","es.number.epsilon","es.number.is-finite","es.number.is-integer","es.number.is-nan","es.number.is-safe-integer","es.number.max-safe-integer","es.number.min-safe-integer","es.number.parse-float","es.number.parse-int","es.number.to-exponential","es.number.to-fixed","es.number.to-precision"],"core-js/actual/number/constructor":["es.number.constructor"],"core-js/actual/number/epsilon":["es.number.epsilon"],"core-js/actual/number/is-finite":["es.number.is-finite"],"core-js/actual/number/is-integer":["es.number.is-integer"],"core-js/actual/number/is-nan":["es.number.is-nan"],"core-js/actual/number/is-safe-integer":["es.number.is-safe-integer"],"core-js/actual/number/max-safe-integer":["es.number.max-safe-integer"],"core-js/actual/number/min-safe-integer":["es.number.min-safe-integer"],"core-js/actual/number/parse-float":["es.number.parse-float"],"core-js/actual/number/parse-int":["es.number.parse-int"],"core-js/actual/number/to-exponential":["es.number.to-exponential"],"core-js/actual/number/to-fixed":["es.number.to-fixed"],"core-js/actual/number/to-precision":["es.number.to-precision"],"core-js/actual/number/virtual":["es.number.to-exponential","es.number.to-fixed","es.number.to-precision"],"core-js/actual/number/virtual/to-exponential":["es.number.to-exponential"],"core-js/actual/number/virtual/to-fixed":["es.number.to-fixed"],"core-js/actual/number/virtual/to-precision":["es.number.to-precision"],"core-js/actual/object":["es.symbol","es.json.to-string-tag","es.math.to-string-tag","es.object.assign","es.object.create","es.object.define-getter","es.object.define-properties","es.object.define-property","es.object.define-setter","es.object.entries","es.object.freeze","es.object.from-entries","es.object.get-own-property-descriptor","es.object.get-own-property-descriptors","es.object.get-own-property-names","es.object.get-prototype-of","es.object.has-own","es.object.is","es.object.is-extensible","es.object.is-frozen","es.object.is-sealed","es.object.keys","es.object.lookup-getter","es.object.lookup-setter","es.object.prevent-extensions","es.object.proto","es.object.seal","es.object.set-prototype-of","es.object.to-string","es.object.values","es.reflect.to-string-tag","web.dom-collections.iterator"],"core-js/actual/object/assign":["es.object.assign"],"core-js/actual/object/create":["es.object.create"],"core-js/actual/object/define-getter":["es.object.define-getter"],"core-js/actual/object/define-properties":["es.object.define-properties"],"core-js/actual/object/define-property":["es.object.define-property"],"core-js/actual/object/define-setter":["es.object.define-setter"],"core-js/actual/object/entries":["es.object.entries"],"core-js/actual/object/freeze":["es.object.freeze"],"core-js/actual/object/from-entries":["es.array.iterator","es.object.from-entries","web.dom-collections.iterator"],"core-js/actual/object/get-own-property-descriptor":["es.object.get-own-property-descriptor"],"core-js/actual/object/get-own-property-descriptors":["es.object.get-own-property-descriptors"],"core-js/actual/object/get-own-property-names":["es.object.get-own-property-names"],"core-js/actual/object/get-own-property-symbols":["es.symbol"],"core-js/actual/object/get-prototype-of":["es.object.get-prototype-of"],"core-js/actual/object/has-own":["es.object.has-own"],"core-js/actual/object/is":["es.object.is"],"core-js/actual/object/is-extensible":["es.object.is-extensible"],"core-js/actual/object/is-frozen":["es.object.is-frozen"],"core-js/actual/object/is-sealed":["es.object.is-sealed"],"core-js/actual/object/keys":["es.object.keys"],"core-js/actual/object/lookup-getter":["es.object.lookup-getter"],"core-js/actual/object/lookup-setter":["es.object.lookup-setter"],"core-js/actual/object/prevent-extensions":["es.object.prevent-extensions"],"core-js/actual/object/proto":["es.object.proto"],"core-js/actual/object/seal":["es.object.seal"],"core-js/actual/object/set-prototype-of":["es.object.set-prototype-of"],"core-js/actual/object/to-string":["es.json.to-string-tag","es.math.to-string-tag","es.object.to-string","es.reflect.to-string-tag"],"core-js/actual/object/values":["es.object.values"],"core-js/actual/parse-float":["es.parse-float"],"core-js/actual/parse-int":["es.parse-int"],"core-js/actual/promise":["es.aggregate-error","es.array.iterator","es.object.to-string","es.promise","es.promise.all-settled","es.promise.any","es.promise.finally","es.string.iterator","web.dom-collections.iterator"],"core-js/actual/promise/all-settled":["es.array.iterator","es.object.to-string","es.promise","es.promise.all-settled","es.string.iterator","web.dom-collections.iterator"],"core-js/actual/promise/any":["es.aggregate-error","es.array.iterator","es.object.to-string","es.promise","es.promise.any","es.string.iterator","web.dom-collections.iterator"],"core-js/actual/promise/finally":["es.object.to-string","es.promise","es.promise.finally"],"core-js/actual/queue-microtask":["web.queue-microtask"],"core-js/actual/reflect":["es.object.to-string","es.reflect.apply","es.reflect.construct","es.reflect.define-property","es.reflect.delete-property","es.reflect.get","es.reflect.get-own-property-descriptor","es.reflect.get-prototype-of","es.reflect.has","es.reflect.is-extensible","es.reflect.own-keys","es.reflect.prevent-extensions","es.reflect.set","es.reflect.set-prototype-of","es.reflect.to-string-tag"],"core-js/actual/reflect/apply":["es.reflect.apply"],"core-js/actual/reflect/construct":["es.reflect.construct"],"core-js/actual/reflect/define-property":["es.reflect.define-property"],"core-js/actual/reflect/delete-property":["es.reflect.delete-property"],"core-js/actual/reflect/get":["es.reflect.get"],"core-js/actual/reflect/get-own-property-descriptor":["es.reflect.get-own-property-descriptor"],"core-js/actual/reflect/get-prototype-of":["es.reflect.get-prototype-of"],"core-js/actual/reflect/has":["es.reflect.has"],"core-js/actual/reflect/is-extensible":["es.reflect.is-extensible"],"core-js/actual/reflect/own-keys":["es.reflect.own-keys"],"core-js/actual/reflect/prevent-extensions":["es.reflect.prevent-extensions"],"core-js/actual/reflect/set":["es.reflect.set"],"core-js/actual/reflect/set-prototype-of":["es.reflect.set-prototype-of"],"core-js/actual/reflect/to-string-tag":["es.reflect.to-string-tag"],"core-js/actual/regexp":["es.regexp.constructor","es.regexp.dot-all","es.regexp.exec","es.regexp.flags","es.regexp.sticky","es.regexp.test","es.regexp.to-string","es.string.match","es.string.replace","es.string.search","es.string.split"],"core-js/actual/regexp/constructor":["es.regexp.constructor","es.regexp.dot-all","es.regexp.exec","es.regexp.sticky"],"core-js/actual/regexp/dot-all":["es.regexp.constructor","es.regexp.dot-all","es.regexp.exec"],"core-js/actual/regexp/flags":["es.regexp.flags"],"core-js/actual/regexp/match":["es.regexp.exec","es.string.match"],"core-js/actual/regexp/replace":["es.regexp.exec","es.string.replace"],"core-js/actual/regexp/search":["es.regexp.exec","es.string.search"],"core-js/actual/regexp/split":["es.regexp.exec","es.string.split"],"core-js/actual/regexp/sticky":["es.regexp.constructor","es.regexp.exec","es.regexp.sticky"],"core-js/actual/regexp/test":["es.regexp.exec","es.regexp.test"],"core-js/actual/regexp/to-string":["es.regexp.to-string"],"core-js/actual/self":["web.self"],"core-js/actual/set":["es.array.iterator","es.object.to-string","es.set","es.string.iterator","esnext.set.difference.v2","esnext.set.intersection.v2","esnext.set.is-disjoint-from.v2","esnext.set.is-subset-of.v2","esnext.set.is-superset-of.v2","esnext.set.symmetric-difference.v2","esnext.set.union.v2","web.dom-collections.iterator"],"core-js/actual/set-immediate":["web.immediate"],"core-js/actual/set-interval":["web.timers"],"core-js/actual/set-timeout":["web.timers"],"core-js/actual/set/difference":["es.set","esnext.set.difference.v2"],"core-js/actual/set/intersection":["es.set","esnext.set.intersection.v2"],"core-js/actual/set/is-disjoint-from":["es.set","esnext.set.is-disjoint-from.v2"],"core-js/actual/set/is-subset-of":["es.set","esnext.set.is-subset-of.v2"],"core-js/actual/set/is-superset-of":["es.set","esnext.set.is-superset-of.v2"],"core-js/actual/set/symmetric-difference":["es.set","esnext.set.symmetric-difference.v2"],"core-js/actual/set/union":["es.set","esnext.set.union.v2"],"core-js/actual/string":["es.object.to-string","es.regexp.exec","es.string.at-alternative","es.string.code-point-at","es.string.ends-with","es.string.from-code-point","es.string.includes","es.string.is-well-formed","es.string.iterator","es.string.match","es.string.match-all","es.string.pad-end","es.string.pad-start","es.string.raw","es.string.repeat","es.string.replace","es.string.replace-all","es.string.search","es.string.split","es.string.starts-with","es.string.substr","es.string.to-well-formed","es.string.trim","es.string.trim-end","es.string.trim-start","es.string.anchor","es.string.big","es.string.blink","es.string.bold","es.string.fixed","es.string.fontcolor","es.string.fontsize","es.string.italics","es.string.link","es.string.small","es.string.strike","es.string.sub","es.string.sup","esnext.string.is-well-formed","esnext.string.to-well-formed"],"core-js/actual/string/anchor":["es.string.anchor"],"core-js/actual/string/at":["es.string.at-alternative"],"core-js/actual/string/big":["es.string.big"],"core-js/actual/string/blink":["es.string.blink"],"core-js/actual/string/bold":["es.string.bold"],"core-js/actual/string/code-point-at":["es.string.code-point-at"],"core-js/actual/string/ends-with":["es.string.ends-with"],"core-js/actual/string/fixed":["es.string.fixed"],"core-js/actual/string/fontcolor":["es.string.fontcolor"],"core-js/actual/string/fontsize":["es.string.fontsize"],"core-js/actual/string/from-code-point":["es.string.from-code-point"],"core-js/actual/string/includes":["es.string.includes"],"core-js/actual/string/is-well-formed":["es.string.is-well-formed","esnext.string.is-well-formed"],"core-js/actual/string/italics":["es.string.italics"],"core-js/actual/string/iterator":["es.object.to-string","es.string.iterator"],"core-js/actual/string/link":["es.string.link"],"core-js/actual/string/match":["es.regexp.exec","es.string.match"],"core-js/actual/string/match-all":["es.object.to-string","es.regexp.exec","es.string.match-all"],"core-js/actual/string/pad-end":["es.string.pad-end"],"core-js/actual/string/pad-start":["es.string.pad-start"],"core-js/actual/string/raw":["es.string.raw"],"core-js/actual/string/repeat":["es.string.repeat"],"core-js/actual/string/replace":["es.regexp.exec","es.string.replace"],"core-js/actual/string/replace-all":["es.regexp.exec","es.string.replace","es.string.replace-all"],"core-js/actual/string/search":["es.regexp.exec","es.string.search"],"core-js/actual/string/small":["es.string.small"],"core-js/actual/string/split":["es.regexp.exec","es.string.split"],"core-js/actual/string/starts-with":["es.string.starts-with"],"core-js/actual/string/strike":["es.string.strike"],"core-js/actual/string/sub":["es.string.sub"],"core-js/actual/string/substr":["es.string.substr"],"core-js/actual/string/sup":["es.string.sup"],"core-js/actual/string/to-well-formed":["es.string.to-well-formed","esnext.string.to-well-formed"],"core-js/actual/string/trim":["es.string.trim"],"core-js/actual/string/trim-end":["es.string.trim-end"],"core-js/actual/string/trim-left":["es.string.trim-start"],"core-js/actual/string/trim-right":["es.string.trim-end"],"core-js/actual/string/trim-start":["es.string.trim-start"],"core-js/actual/string/virtual":["es.object.to-string","es.regexp.exec","es.string.at-alternative","es.string.code-point-at","es.string.ends-with","es.string.includes","es.string.iterator","es.string.match","es.string.match-all","es.string.pad-end","es.string.pad-start","es.string.repeat","es.string.replace","es.string.replace-all","es.string.search","es.string.split","es.string.starts-with","es.string.substr","es.string.trim","es.string.trim-end","es.string.trim-start","es.string.anchor","es.string.big","es.string.blink","es.string.bold","es.string.fixed","es.string.fontcolor","es.string.fontsize","es.string.italics","es.string.link","es.string.small","es.string.strike","es.string.sub","es.string.sup","esnext.string.is-well-formed","esnext.string.to-well-formed"],"core-js/actual/string/virtual/anchor":["es.string.anchor"],"core-js/actual/string/virtual/at":["es.string.at-alternative"],"core-js/actual/string/virtual/big":["es.string.big"],"core-js/actual/string/virtual/blink":["es.string.blink"],"core-js/actual/string/virtual/bold":["es.string.bold"],"core-js/actual/string/virtual/code-point-at":["es.string.code-point-at"],"core-js/actual/string/virtual/ends-with":["es.string.ends-with"],"core-js/actual/string/virtual/fixed":["es.string.fixed"],"core-js/actual/string/virtual/fontcolor":["es.string.fontcolor"],"core-js/actual/string/virtual/fontsize":["es.string.fontsize"],"core-js/actual/string/virtual/includes":["es.string.includes"],"core-js/actual/string/virtual/is-well-formed":["es.string.is-well-formed","esnext.string.is-well-formed"],"core-js/actual/string/virtual/italics":["es.string.italics"],"core-js/actual/string/virtual/iterator":["es.object.to-string","es.string.iterator"],"core-js/actual/string/virtual/link":["es.string.link"],"core-js/actual/string/virtual/match-all":["es.object.to-string","es.regexp.exec","es.string.match-all"],"core-js/actual/string/virtual/pad-end":["es.string.pad-end"],"core-js/actual/string/virtual/pad-start":["es.string.pad-start"],"core-js/actual/string/virtual/repeat":["es.string.repeat"],"core-js/actual/string/virtual/replace-all":["es.regexp.exec","es.string.replace","es.string.replace-all"],"core-js/actual/string/virtual/small":["es.string.small"],"core-js/actual/string/virtual/starts-with":["es.string.starts-with"],"core-js/actual/string/virtual/strike":["es.string.strike"],"core-js/actual/string/virtual/sub":["es.string.sub"],"core-js/actual/string/virtual/substr":["es.string.substr"],"core-js/actual/string/virtual/sup":["es.string.sup"],"core-js/actual/string/virtual/to-well-formed":["es.string.to-well-formed","esnext.string.to-well-formed"],"core-js/actual/string/virtual/trim":["es.string.trim"],"core-js/actual/string/virtual/trim-end":["es.string.trim-end"],"core-js/actual/string/virtual/trim-left":["es.string.trim-start"],"core-js/actual/string/virtual/trim-right":["es.string.trim-end"],"core-js/actual/string/virtual/trim-start":["es.string.trim-start"],"core-js/actual/structured-clone":["es.error.to-string","es.array.iterator","es.map","es.object.keys","es.object.to-string","es.set","web.dom-exception.constructor","web.dom-exception.stack","web.dom-exception.to-string-tag","web.structured-clone"],"core-js/actual/suppressed-error":["es.error.cause","es.error.to-string","esnext.suppressed-error.constructor"],"core-js/actual/symbol":["es.symbol","es.symbol.description","es.symbol.async-iterator","es.symbol.has-instance","es.symbol.is-concat-spreadable","es.symbol.iterator","es.symbol.match","es.symbol.match-all","es.symbol.replace","es.symbol.search","es.symbol.species","es.symbol.split","es.symbol.to-primitive","es.symbol.to-string-tag","es.symbol.unscopables","es.array.concat","es.json.to-string-tag","es.math.to-string-tag","es.object.to-string","es.reflect.to-string-tag","esnext.function.metadata","esnext.symbol.dispose","esnext.symbol.metadata","web.dom-collections.iterator"],"core-js/actual/symbol/async-iterator":["es.symbol.async-iterator"],"core-js/actual/symbol/description":["es.symbol.description"],"core-js/actual/symbol/dispose":["esnext.symbol.dispose"],"core-js/actual/symbol/for":["es.symbol"],"core-js/actual/symbol/has-instance":["es.symbol.has-instance","es.function.has-instance"],"core-js/actual/symbol/is-concat-spreadable":["es.symbol.is-concat-spreadable","es.array.concat"],"core-js/actual/symbol/iterator":["es.symbol.iterator","es.array.iterator","es.object.to-string","es.string.iterator","web.dom-collections.iterator"],"core-js/actual/symbol/key-for":["es.symbol"],"core-js/actual/symbol/match":["es.symbol.match","es.regexp.exec","es.string.match"],"core-js/actual/symbol/match-all":["es.symbol.match-all","es.object.to-string","es.regexp.exec","es.string.match-all"],"core-js/actual/symbol/metadata":["esnext.function.metadata","esnext.symbol.metadata"],"core-js/actual/symbol/replace":["es.symbol.replace","es.regexp.exec","es.string.replace"],"core-js/actual/symbol/search":["es.symbol.search","es.regexp.exec","es.string.search"],"core-js/actual/symbol/species":["es.symbol.species"],"core-js/actual/symbol/split":["es.symbol.split","es.regexp.exec","es.string.split"],"core-js/actual/symbol/to-primitive":["es.symbol.to-primitive","es.date.to-primitive"],"core-js/actual/symbol/to-string-tag":["es.symbol.to-string-tag","es.json.to-string-tag","es.math.to-string-tag","es.object.to-string","es.reflect.to-string-tag"],"core-js/actual/symbol/unscopables":["es.symbol.unscopables"],"core-js/actual/typed-array":["es.object.to-string","es.string.iterator","es.typed-array.float32-array","es.typed-array.float64-array","es.typed-array.int8-array","es.typed-array.int16-array","es.typed-array.int32-array","es.typed-array.uint8-array","es.typed-array.uint8-clamped-array","es.typed-array.uint16-array","es.typed-array.uint32-array","es.typed-array.at","es.typed-array.copy-within","es.typed-array.every","es.typed-array.fill","es.typed-array.filter","es.typed-array.find","es.typed-array.find-index","es.typed-array.find-last","es.typed-array.find-last-index","es.typed-array.for-each","es.typed-array.from","es.typed-array.includes","es.typed-array.index-of","es.typed-array.iterator","es.typed-array.join","es.typed-array.last-index-of","es.typed-array.map","es.typed-array.of","es.typed-array.reduce","es.typed-array.reduce-right","es.typed-array.reverse","es.typed-array.set","es.typed-array.slice","es.typed-array.some","es.typed-array.sort","es.typed-array.subarray","es.typed-array.to-locale-string","es.typed-array.to-reversed","es.typed-array.to-sorted","es.typed-array.to-string","es.typed-array.with","esnext.typed-array.find-last","esnext.typed-array.find-last-index","esnext.typed-array.to-reversed","esnext.typed-array.to-sorted","esnext.typed-array.to-spliced","esnext.typed-array.with"],"core-js/actual/typed-array/at":["es.typed-array.at"],"core-js/actual/typed-array/copy-within":["es.typed-array.copy-within"],"core-js/actual/typed-array/entries":["es.object.to-string","es.typed-array.iterator"],"core-js/actual/typed-array/every":["es.typed-array.every"],"core-js/actual/typed-array/fill":["es.typed-array.fill"],"core-js/actual/typed-array/filter":["es.typed-array.filter"],"core-js/actual/typed-array/find":["es.typed-array.find"],"core-js/actual/typed-array/find-index":["es.typed-array.find-index"],"core-js/actual/typed-array/find-last":["es.typed-array.find-last","esnext.typed-array.find-last"],"core-js/actual/typed-array/find-last-index":["es.typed-array.find-last-index","esnext.typed-array.find-last-index"],"core-js/actual/typed-array/float32-array":["es.array-buffer.constructor","es.array-buffer.slice","es.object.to-string","es.string.iterator","es.typed-array.float32-array","es.typed-array.at","es.typed-array.copy-within","es.typed-array.every","es.typed-array.fill","es.typed-array.filter","es.typed-array.find","es.typed-array.find-index","es.typed-array.find-last","es.typed-array.find-last-index","es.typed-array.for-each","es.typed-array.from","es.typed-array.includes","es.typed-array.index-of","es.typed-array.iterator","es.typed-array.join","es.typed-array.last-index-of","es.typed-array.map","es.typed-array.of","es.typed-array.reduce","es.typed-array.reduce-right","es.typed-array.reverse","es.typed-array.set","es.typed-array.slice","es.typed-array.some","es.typed-array.sort","es.typed-array.subarray","es.typed-array.to-locale-string","es.typed-array.to-reversed","es.typed-array.to-sorted","es.typed-array.to-string","es.typed-array.with","esnext.typed-array.find-last","esnext.typed-array.find-last-index","esnext.typed-array.to-reversed","esnext.typed-array.to-sorted","esnext.typed-array.to-spliced","esnext.typed-array.with"],"core-js/actual/typed-array/float64-array":["es.array-buffer.constructor","es.array-buffer.slice","es.object.to-string","es.string.iterator","es.typed-array.float64-array","es.typed-array.at","es.typed-array.copy-within","es.typed-array.every","es.typed-array.fill","es.typed-array.filter","es.typed-array.find","es.typed-array.find-index","es.typed-array.find-last","es.typed-array.find-last-index","es.typed-array.for-each","es.typed-array.from","es.typed-array.includes","es.typed-array.index-of","es.typed-array.iterator","es.typed-array.join","es.typed-array.last-index-of","es.typed-array.map","es.typed-array.of","es.typed-array.reduce","es.typed-array.reduce-right","es.typed-array.reverse","es.typed-array.set","es.typed-array.slice","es.typed-array.some","es.typed-array.sort","es.typed-array.subarray","es.typed-array.to-locale-string","es.typed-array.to-reversed","es.typed-array.to-sorted","es.typed-array.to-string","es.typed-array.with","esnext.typed-array.find-last","esnext.typed-array.find-last-index","esnext.typed-array.to-reversed","esnext.typed-array.to-sorted","esnext.typed-array.to-spliced","esnext.typed-array.with"],"core-js/actual/typed-array/for-each":["es.typed-array.for-each"],"core-js/actual/typed-array/from":["es.typed-array.from"],"core-js/actual/typed-array/includes":["es.typed-array.includes"],"core-js/actual/typed-array/index-of":["es.typed-array.index-of"],"core-js/actual/typed-array/int16-array":["es.array-buffer.constructor","es.array-buffer.slice","es.object.to-string","es.string.iterator","es.typed-array.int16-array","es.typed-array.at","es.typed-array.copy-within","es.typed-array.every","es.typed-array.fill","es.typed-array.filter","es.typed-array.find","es.typed-array.find-index","es.typed-array.find-last","es.typed-array.find-last-index","es.typed-array.for-each","es.typed-array.from","es.typed-array.includes","es.typed-array.index-of","es.typed-array.iterator","es.typed-array.join","es.typed-array.last-index-of","es.typed-array.map","es.typed-array.of","es.typed-array.reduce","es.typed-array.reduce-right","es.typed-array.reverse","es.typed-array.set","es.typed-array.slice","es.typed-array.some","es.typed-array.sort","es.typed-array.subarray","es.typed-array.to-locale-string","es.typed-array.to-reversed","es.typed-array.to-sorted","es.typed-array.to-string","es.typed-array.with","esnext.typed-array.find-last","esnext.typed-array.find-last-index","esnext.typed-array.to-reversed","esnext.typed-array.to-sorted","esnext.typed-array.to-spliced","esnext.typed-array.with"],"core-js/actual/typed-array/int32-array":["es.array-buffer.constructor","es.array-buffer.slice","es.object.to-string","es.string.iterator","es.typed-array.int32-array","es.typed-array.at","es.typed-array.copy-within","es.typed-array.every","es.typed-array.fill","es.typed-array.filter","es.typed-array.find","es.typed-array.find-index","es.typed-array.find-last","es.typed-array.find-last-index","es.typed-array.for-each","es.typed-array.from","es.typed-array.includes","es.typed-array.index-of","es.typed-array.iterator","es.typed-array.join","es.typed-array.last-index-of","es.typed-array.map","es.typed-array.of","es.typed-array.reduce","es.typed-array.reduce-right","es.typed-array.reverse","es.typed-array.set","es.typed-array.slice","es.typed-array.some","es.typed-array.sort","es.typed-array.subarray","es.typed-array.to-locale-string","es.typed-array.to-reversed","es.typed-array.to-sorted","es.typed-array.to-string","es.typed-array.with","esnext.typed-array.find-last","esnext.typed-array.find-last-index","esnext.typed-array.to-reversed","esnext.typed-array.to-sorted","esnext.typed-array.to-spliced","esnext.typed-array.with"],"core-js/actual/typed-array/int8-array":["es.array-buffer.constructor","es.array-buffer.slice","es.object.to-string","es.string.iterator","es.typed-array.int8-array","es.typed-array.at","es.typed-array.copy-within","es.typed-array.every","es.typed-array.fill","es.typed-array.filter","es.typed-array.find","es.typed-array.find-index","es.typed-array.find-last","es.typed-array.find-last-index","es.typed-array.for-each","es.typed-array.from","es.typed-array.includes","es.typed-array.index-of","es.typed-array.iterator","es.typed-array.join","es.typed-array.last-index-of","es.typed-array.map","es.typed-array.of","es.typed-array.reduce","es.typed-array.reduce-right","es.typed-array.reverse","es.typed-array.set","es.typed-array.slice","es.typed-array.some","es.typed-array.sort","es.typed-array.subarray","es.typed-array.to-locale-string","es.typed-array.to-reversed","es.typed-array.to-sorted","es.typed-array.to-string","es.typed-array.with","esnext.typed-array.find-last","esnext.typed-array.find-last-index","esnext.typed-array.to-reversed","esnext.typed-array.to-sorted","esnext.typed-array.to-spliced","esnext.typed-array.with"],"core-js/actual/typed-array/iterator":["es.object.to-string","es.typed-array.iterator"],"core-js/actual/typed-array/join":["es.typed-array.join"],"core-js/actual/typed-array/keys":["es.object.to-string","es.typed-array.iterator"],"core-js/actual/typed-array/last-index-of":["es.typed-array.last-index-of"],"core-js/actual/typed-array/map":["es.typed-array.map"],"core-js/actual/typed-array/methods":["es.object.to-string","es.string.iterator","es.typed-array.at","es.typed-array.copy-within","es.typed-array.every","es.typed-array.fill","es.typed-array.filter","es.typed-array.find","es.typed-array.find-index","es.typed-array.find-last","es.typed-array.find-last-index","es.typed-array.for-each","es.typed-array.from","es.typed-array.includes","es.typed-array.index-of","es.typed-array.iterator","es.typed-array.join","es.typed-array.last-index-of","es.typed-array.map","es.typed-array.of","es.typed-array.reduce","es.typed-array.reduce-right","es.typed-array.reverse","es.typed-array.set","es.typed-array.slice","es.typed-array.some","es.typed-array.sort","es.typed-array.subarray","es.typed-array.to-locale-string","es.typed-array.to-reversed","es.typed-array.to-sorted","es.typed-array.to-string","es.typed-array.with","esnext.typed-array.find-last","esnext.typed-array.find-last-index","esnext.typed-array.to-reversed","esnext.typed-array.to-sorted","esnext.typed-array.to-spliced","esnext.typed-array.with"],"core-js/actual/typed-array/of":["es.typed-array.of"],"core-js/actual/typed-array/reduce":["es.typed-array.reduce"],"core-js/actual/typed-array/reduce-right":["es.typed-array.reduce-right"],"core-js/actual/typed-array/reverse":["es.typed-array.reverse"],"core-js/actual/typed-array/set":["es.typed-array.set"],"core-js/actual/typed-array/slice":["es.typed-array.slice"],"core-js/actual/typed-array/some":["es.typed-array.some"],"core-js/actual/typed-array/sort":["es.typed-array.sort"],"core-js/actual/typed-array/subarray":["es.typed-array.subarray"],"core-js/actual/typed-array/to-locale-string":["es.typed-array.to-locale-string"],"core-js/actual/typed-array/to-reversed":["es.typed-array.to-reversed","esnext.typed-array.to-reversed"],"core-js/actual/typed-array/to-sorted":["es.typed-array.sort","es.typed-array.to-sorted","esnext.typed-array.to-sorted"],"core-js/actual/typed-array/to-spliced":["esnext.typed-array.to-spliced"],"core-js/actual/typed-array/to-string":["es.typed-array.to-string"],"core-js/actual/typed-array/uint16-array":["es.array-buffer.constructor","es.array-buffer.slice","es.object.to-string","es.string.iterator","es.typed-array.uint16-array","es.typed-array.at","es.typed-array.copy-within","es.typed-array.every","es.typed-array.fill","es.typed-array.filter","es.typed-array.find","es.typed-array.find-index","es.typed-array.find-last","es.typed-array.find-last-index","es.typed-array.for-each","es.typed-array.from","es.typed-array.includes","es.typed-array.index-of","es.typed-array.iterator","es.typed-array.join","es.typed-array.last-index-of","es.typed-array.map","es.typed-array.of","es.typed-array.reduce","es.typed-array.reduce-right","es.typed-array.reverse","es.typed-array.set","es.typed-array.slice","es.typed-array.some","es.typed-array.sort","es.typed-array.subarray","es.typed-array.to-locale-string","es.typed-array.to-reversed","es.typed-array.to-sorted","es.typed-array.to-string","es.typed-array.with","esnext.typed-array.find-last","esnext.typed-array.find-last-index","esnext.typed-array.to-reversed","esnext.typed-array.to-sorted","esnext.typed-array.to-spliced","esnext.typed-array.with"],"core-js/actual/typed-array/uint32-array":["es.array-buffer.constructor","es.array-buffer.slice","es.object.to-string","es.string.iterator","es.typed-array.uint32-array","es.typed-array.at","es.typed-array.copy-within","es.typed-array.every","es.typed-array.fill","es.typed-array.filter","es.typed-array.find","es.typed-array.find-index","es.typed-array.find-last","es.typed-array.find-last-index","es.typed-array.for-each","es.typed-array.from","es.typed-array.includes","es.typed-array.index-of","es.typed-array.iterator","es.typed-array.join","es.typed-array.last-index-of","es.typed-array.map","es.typed-array.of","es.typed-array.reduce","es.typed-array.reduce-right","es.typed-array.reverse","es.typed-array.set","es.typed-array.slice","es.typed-array.some","es.typed-array.sort","es.typed-array.subarray","es.typed-array.to-locale-string","es.typed-array.to-reversed","es.typed-array.to-sorted","es.typed-array.to-string","es.typed-array.with","esnext.typed-array.find-last","esnext.typed-array.find-last-index","esnext.typed-array.to-reversed","esnext.typed-array.to-sorted","esnext.typed-array.to-spliced","esnext.typed-array.with"],"core-js/actual/typed-array/uint8-array":["es.array-buffer.constructor","es.array-buffer.slice","es.object.to-string","es.string.iterator","es.typed-array.uint8-array","es.typed-array.at","es.typed-array.copy-within","es.typed-array.every","es.typed-array.fill","es.typed-array.filter","es.typed-array.find","es.typed-array.find-index","es.typed-array.find-last","es.typed-array.find-last-index","es.typed-array.for-each","es.typed-array.from","es.typed-array.includes","es.typed-array.index-of","es.typed-array.iterator","es.typed-array.join","es.typed-array.last-index-of","es.typed-array.map","es.typed-array.of","es.typed-array.reduce","es.typed-array.reduce-right","es.typed-array.reverse","es.typed-array.set","es.typed-array.slice","es.typed-array.some","es.typed-array.sort","es.typed-array.subarray","es.typed-array.to-locale-string","es.typed-array.to-reversed","es.typed-array.to-sorted","es.typed-array.to-string","es.typed-array.with","esnext.typed-array.find-last","esnext.typed-array.find-last-index","esnext.typed-array.to-reversed","esnext.typed-array.to-sorted","esnext.typed-array.to-spliced","esnext.typed-array.with"],"core-js/actual/typed-array/uint8-clamped-array":["es.array-buffer.constructor","es.array-buffer.slice","es.object.to-string","es.string.iterator","es.typed-array.uint8-clamped-array","es.typed-array.at","es.typed-array.copy-within","es.typed-array.every","es.typed-array.fill","es.typed-array.filter","es.typed-array.find","es.typed-array.find-index","es.typed-array.find-last","es.typed-array.find-last-index","es.typed-array.for-each","es.typed-array.from","es.typed-array.includes","es.typed-array.index-of","es.typed-array.iterator","es.typed-array.join","es.typed-array.last-index-of","es.typed-array.map","es.typed-array.of","es.typed-array.reduce","es.typed-array.reduce-right","es.typed-array.reverse","es.typed-array.set","es.typed-array.slice","es.typed-array.some","es.typed-array.sort","es.typed-array.subarray","es.typed-array.to-locale-string","es.typed-array.to-reversed","es.typed-array.to-sorted","es.typed-array.to-string","es.typed-array.with","esnext.typed-array.find-last","esnext.typed-array.find-last-index","esnext.typed-array.to-reversed","esnext.typed-array.to-sorted","esnext.typed-array.to-spliced","esnext.typed-array.with"],"core-js/actual/typed-array/values":["es.object.to-string","es.typed-array.iterator"],"core-js/actual/typed-array/with":["es.typed-array.with","esnext.typed-array.with"],"core-js/actual/unescape":["es.unescape"],"core-js/actual/url":["web.url","web.url.can-parse","web.url.to-json","web.url-search-params","web.url-search-params.delete","web.url-search-params.has","web.url-search-params.size"],"core-js/actual/url-search-params":["web.dom-collections.iterator","web.url-search-params","web.url-search-params.delete","web.url-search-params.has","web.url-search-params.size"],"core-js/actual/url/can-parse":["web.url","web.url.can-parse"],"core-js/actual/url/to-json":["web.url.to-json"],"core-js/actual/weak-map":["es.array.iterator","es.object.to-string","es.weak-map","web.dom-collections.iterator"],"core-js/actual/weak-set":["es.array.iterator","es.object.to-string","es.weak-set","web.dom-collections.iterator"],"core-js/es":["es.symbol","es.symbol.description","es.symbol.async-iterator","es.symbol.has-instance","es.symbol.is-concat-spreadable","es.symbol.iterator","es.symbol.match","es.symbol.match-all","es.symbol.replace","es.symbol.search","es.symbol.species","es.symbol.split","es.symbol.to-primitive","es.symbol.to-string-tag","es.symbol.unscopables","es.error.cause","es.error.to-string","es.aggregate-error","es.aggregate-error.cause","es.array.at","es.array.concat","es.array.copy-within","es.array.every","es.array.fill","es.array.filter","es.array.find","es.array.find-index","es.array.find-last","es.array.find-last-index","es.array.flat","es.array.flat-map","es.array.for-each","es.array.from","es.array.includes","es.array.index-of","es.array.is-array","es.array.iterator","es.array.join","es.array.last-index-of","es.array.map","es.array.of","es.array.push","es.array.reduce","es.array.reduce-right","es.array.reverse","es.array.slice","es.array.some","es.array.sort","es.array.species","es.array.splice","es.array.to-reversed","es.array.to-sorted","es.array.to-spliced","es.array.unscopables.flat","es.array.unscopables.flat-map","es.array.unshift","es.array.with","es.array-buffer.constructor","es.array-buffer.is-view","es.array-buffer.slice","es.data-view","es.date.get-year","es.date.now","es.date.set-year","es.date.to-gmt-string","es.date.to-iso-string","es.date.to-json","es.date.to-primitive","es.date.to-string","es.escape","es.function.bind","es.function.has-instance","es.function.name","es.global-this","es.json.stringify","es.json.to-string-tag","es.map","es.math.acosh","es.math.asinh","es.math.atanh","es.math.cbrt","es.math.clz32","es.math.cosh","es.math.expm1","es.math.fround","es.math.hypot","es.math.imul","es.math.log10","es.math.log1p","es.math.log2","es.math.sign","es.math.sinh","es.math.tanh","es.math.to-string-tag","es.math.trunc","es.number.constructor","es.number.epsilon","es.number.is-finite","es.number.is-integer","es.number.is-nan","es.number.is-safe-integer","es.number.max-safe-integer","es.number.min-safe-integer","es.number.parse-float","es.number.parse-int","es.number.to-exponential","es.number.to-fixed","es.number.to-precision","es.object.assign","es.object.create","es.object.define-getter","es.object.define-properties","es.object.define-property","es.object.define-setter","es.object.entries","es.object.freeze","es.object.from-entries","es.object.get-own-property-descriptor","es.object.get-own-property-descriptors","es.object.get-own-property-names","es.object.get-prototype-of","es.object.has-own","es.object.is","es.object.is-extensible","es.object.is-frozen","es.object.is-sealed","es.object.keys","es.object.lookup-getter","es.object.lookup-setter","es.object.prevent-extensions","es.object.proto","es.object.seal","es.object.set-prototype-of","es.object.to-string","es.object.values","es.parse-float","es.parse-int","es.promise","es.promise.all-settled","es.promise.any","es.promise.finally","es.reflect.apply","es.reflect.construct","es.reflect.define-property","es.reflect.delete-property","es.reflect.get","es.reflect.get-own-property-descriptor","es.reflect.get-prototype-of","es.reflect.has","es.reflect.is-extensible","es.reflect.own-keys","es.reflect.prevent-extensions","es.reflect.set","es.reflect.set-prototype-of","es.reflect.to-string-tag","es.regexp.constructor","es.regexp.dot-all","es.regexp.exec","es.regexp.flags","es.regexp.sticky","es.regexp.test","es.regexp.to-string","es.set","es.string.at-alternative","es.string.code-point-at","es.string.ends-with","es.string.from-code-point","es.string.includes","es.string.is-well-formed","es.string.iterator","es.string.match","es.string.match-all","es.string.pad-end","es.string.pad-start","es.string.raw","es.string.repeat","es.string.replace","es.string.replace-all","es.string.search","es.string.split","es.string.starts-with","es.string.substr","es.string.to-well-formed","es.string.trim","es.string.trim-end","es.string.trim-start","es.string.anchor","es.string.big","es.string.blink","es.string.bold","es.string.fixed","es.string.fontcolor","es.string.fontsize","es.string.italics","es.string.link","es.string.small","es.string.strike","es.string.sub","es.string.sup","es.typed-array.float32-array","es.typed-array.float64-array","es.typed-array.int8-array","es.typed-array.int16-array","es.typed-array.int32-array","es.typed-array.uint8-array","es.typed-array.uint8-clamped-array","es.typed-array.uint16-array","es.typed-array.uint32-array","es.typed-array.at","es.typed-array.copy-within","es.typed-array.every","es.typed-array.fill","es.typed-array.filter","es.typed-array.find","es.typed-array.find-index","es.typed-array.find-last","es.typed-array.find-last-index","es.typed-array.for-each","es.typed-array.from","es.typed-array.includes","es.typed-array.index-of","es.typed-array.iterator","es.typed-array.join","es.typed-array.last-index-of","es.typed-array.map","es.typed-array.of","es.typed-array.reduce","es.typed-array.reduce-right","es.typed-array.reverse","es.typed-array.set","es.typed-array.slice","es.typed-array.some","es.typed-array.sort","es.typed-array.subarray","es.typed-array.to-locale-string","es.typed-array.to-reversed","es.typed-array.to-sorted","es.typed-array.to-string","es.typed-array.with","es.unescape","es.weak-map","es.weak-set"],"core-js/es/aggregate-error":["es.error.cause","es.aggregate-error","es.aggregate-error.cause","es.array.iterator","es.string.iterator"],"core-js/es/array":["es.array.at","es.array.concat","es.array.copy-within","es.array.every","es.array.fill","es.array.filter","es.array.find","es.array.find-index","es.array.find-last","es.array.find-last-index","es.array.flat","es.array.flat-map","es.array.for-each","es.array.from","es.array.includes","es.array.index-of","es.array.is-array","es.array.iterator","es.array.join","es.array.last-index-of","es.array.map","es.array.of","es.array.push","es.array.reduce","es.array.reduce-right","es.array.reverse","es.array.slice","es.array.some","es.array.sort","es.array.species","es.array.splice","es.array.to-reversed","es.array.to-sorted","es.array.to-spliced","es.array.unscopables.flat","es.array.unscopables.flat-map","es.array.unshift","es.array.with","es.object.to-string","es.string.iterator"],"core-js/es/array-buffer":["es.array-buffer.constructor","es.array-buffer.is-view","es.array-buffer.slice","es.object.to-string"],"core-js/es/array-buffer/constructor":["es.array-buffer.constructor","es.array-buffer.slice","es.object.to-string"],"core-js/es/array-buffer/is-view":["es.array-buffer.is-view"],"core-js/es/array-buffer/slice":["es.array-buffer.slice"],"core-js/es/array/at":["es.array.at"],"core-js/es/array/concat":["es.array.concat"],"core-js/es/array/copy-within":["es.array.copy-within"],"core-js/es/array/entries":["es.array.iterator","es.object.to-string"],"core-js/es/array/every":["es.array.every"],"core-js/es/array/fill":["es.array.fill"],"core-js/es/array/filter":["es.array.filter"],"core-js/es/array/find":["es.array.find"],"core-js/es/array/find-index":["es.array.find-index"],"core-js/es/array/find-last":["es.array.find-last"],"core-js/es/array/find-last-index":["es.array.find-last-index"],"core-js/es/array/flat":["es.array.flat","es.array.unscopables.flat"],"core-js/es/array/flat-map":["es.array.flat-map","es.array.unscopables.flat-map"],"core-js/es/array/for-each":["es.array.for-each"],"core-js/es/array/from":["es.array.from","es.string.iterator"],"core-js/es/array/includes":["es.array.includes"],"core-js/es/array/index-of":["es.array.index-of"],"core-js/es/array/is-array":["es.array.is-array"],"core-js/es/array/iterator":["es.array.iterator","es.object.to-string"],"core-js/es/array/join":["es.array.join"],"core-js/es/array/keys":["es.array.iterator","es.object.to-string"],"core-js/es/array/last-index-of":["es.array.last-index-of"],"core-js/es/array/map":["es.array.map"],"core-js/es/array/of":["es.array.of"],"core-js/es/array/push":["es.array.push"],"core-js/es/array/reduce":["es.array.reduce"],"core-js/es/array/reduce-right":["es.array.reduce-right"],"core-js/es/array/reverse":["es.array.reverse"],"core-js/es/array/slice":["es.array.slice"],"core-js/es/array/some":["es.array.some"],"core-js/es/array/sort":["es.array.sort"],"core-js/es/array/splice":["es.array.splice"],"core-js/es/array/to-reversed":["es.array.to-reversed"],"core-js/es/array/to-sorted":["es.array.sort","es.array.to-sorted"],"core-js/es/array/to-spliced":["es.array.to-spliced"],"core-js/es/array/unshift":["es.array.unshift"],"core-js/es/array/values":["es.array.iterator","es.object.to-string"],"core-js/es/array/virtual":["es.array.at","es.array.concat","es.array.copy-within","es.array.every","es.array.fill","es.array.filter","es.array.find","es.array.find-index","es.array.find-last","es.array.find-last-index","es.array.flat","es.array.flat-map","es.array.for-each","es.array.includes","es.array.index-of","es.array.iterator","es.array.join","es.array.last-index-of","es.array.map","es.array.push","es.array.reduce","es.array.reduce-right","es.array.reverse","es.array.slice","es.array.some","es.array.sort","es.array.species","es.array.splice","es.array.to-reversed","es.array.to-sorted","es.array.to-spliced","es.array.unscopables.flat","es.array.unscopables.flat-map","es.array.unshift","es.array.with","es.object.to-string"],"core-js/es/array/virtual/at":["es.array.at"],"core-js/es/array/virtual/concat":["es.array.concat"],"core-js/es/array/virtual/copy-within":["es.array.copy-within"],"core-js/es/array/virtual/entries":["es.array.iterator","es.object.to-string"],"core-js/es/array/virtual/every":["es.array.every"],"core-js/es/array/virtual/fill":["es.array.fill"],"core-js/es/array/virtual/filter":["es.array.filter"],"core-js/es/array/virtual/find":["es.array.find"],"core-js/es/array/virtual/find-index":["es.array.find-index"],"core-js/es/array/virtual/find-last":["es.array.find-last"],"core-js/es/array/virtual/find-last-index":["es.array.find-last-index"],"core-js/es/array/virtual/flat":["es.array.flat","es.array.unscopables.flat"],"core-js/es/array/virtual/flat-map":["es.array.flat-map","es.array.unscopables.flat-map"],"core-js/es/array/virtual/for-each":["es.array.for-each"],"core-js/es/array/virtual/includes":["es.array.includes"],"core-js/es/array/virtual/index-of":["es.array.index-of"],"core-js/es/array/virtual/iterator":["es.array.iterator","es.object.to-string"],"core-js/es/array/virtual/join":["es.array.join"],"core-js/es/array/virtual/keys":["es.array.iterator","es.object.to-string"],"core-js/es/array/virtual/last-index-of":["es.array.last-index-of"],"core-js/es/array/virtual/map":["es.array.map"],"core-js/es/array/virtual/push":["es.array.push"],"core-js/es/array/virtual/reduce":["es.array.reduce"],"core-js/es/array/virtual/reduce-right":["es.array.reduce-right"],"core-js/es/array/virtual/reverse":["es.array.reverse"],"core-js/es/array/virtual/slice":["es.array.slice"],"core-js/es/array/virtual/some":["es.array.some"],"core-js/es/array/virtual/sort":["es.array.sort"],"core-js/es/array/virtual/splice":["es.array.splice"],"core-js/es/array/virtual/to-reversed":["es.array.to-reversed"],"core-js/es/array/virtual/to-sorted":["es.array.sort","es.array.to-sorted"],"core-js/es/array/virtual/to-spliced":["es.array.to-spliced"],"core-js/es/array/virtual/unshift":["es.array.unshift"],"core-js/es/array/virtual/values":["es.array.iterator","es.object.to-string"],"core-js/es/array/virtual/with":["es.array.with"],"core-js/es/array/with":["es.array.with"],"core-js/es/data-view":["es.array-buffer.constructor","es.array-buffer.slice","es.data-view","es.object.to-string"],"core-js/es/date":["es.date.get-year","es.date.now","es.date.set-year","es.date.to-gmt-string","es.date.to-iso-string","es.date.to-json","es.date.to-primitive","es.date.to-string"],"core-js/es/date/get-year":["es.date.get-year"],"core-js/es/date/now":["es.date.now"],"core-js/es/date/set-year":["es.date.set-year"],"core-js/es/date/to-gmt-string":["es.date.to-gmt-string"],"core-js/es/date/to-iso-string":["es.date.to-iso-string","es.date.to-json"],"core-js/es/date/to-json":["es.date.to-json"],"core-js/es/date/to-primitive":["es.date.to-primitive"],"core-js/es/date/to-string":["es.date.to-string"],"core-js/es/error":["es.error.cause","es.error.to-string"],"core-js/es/error/constructor":["es.error.cause"],"core-js/es/error/to-string":["es.error.to-string"],"core-js/es/escape":["es.escape"],"core-js/es/function":["es.function.bind","es.function.has-instance","es.function.name"],"core-js/es/function/bind":["es.function.bind"],"core-js/es/function/has-instance":["es.function.has-instance"],"core-js/es/function/name":["es.function.name"],"core-js/es/function/virtual":["es.function.bind"],"core-js/es/function/virtual/bind":["es.function.bind"],"core-js/es/get-iterator":["es.array.iterator","es.string.iterator"],"core-js/es/get-iterator-method":["es.array.iterator","es.string.iterator"],"core-js/es/global-this":["es.global-this"],"core-js/es/instance/at":["es.array.at","es.string.at-alternative"],"core-js/es/instance/bind":["es.function.bind"],"core-js/es/instance/code-point-at":["es.string.code-point-at"],"core-js/es/instance/concat":["es.array.concat"],"core-js/es/instance/copy-within":["es.array.copy-within"],"core-js/es/instance/ends-with":["es.string.ends-with"],"core-js/es/instance/entries":["es.array.iterator","es.object.to-string"],"core-js/es/instance/every":["es.array.every"],"core-js/es/instance/fill":["es.array.fill"],"core-js/es/instance/filter":["es.array.filter"],"core-js/es/instance/find":["es.array.find"],"core-js/es/instance/find-index":["es.array.find-index"],"core-js/es/instance/find-last":["es.array.find-last"],"core-js/es/instance/find-last-index":["es.array.find-last-index"],"core-js/es/instance/flags":["es.regexp.flags"],"core-js/es/instance/flat":["es.array.flat","es.array.unscopables.flat"],"core-js/es/instance/flat-map":["es.array.flat-map","es.array.unscopables.flat-map"],"core-js/es/instance/for-each":["es.array.for-each"],"core-js/es/instance/includes":["es.array.includes","es.string.includes"],"core-js/es/instance/index-of":["es.array.index-of"],"core-js/es/instance/is-well-formed":["es.string.is-well-formed"],"core-js/es/instance/keys":["es.array.iterator","es.object.to-string"],"core-js/es/instance/last-index-of":["es.array.last-index-of"],"core-js/es/instance/map":["es.array.map"],"core-js/es/instance/match-all":["es.object.to-string","es.regexp.exec","es.string.match-all"],"core-js/es/instance/pad-end":["es.string.pad-end"],"core-js/es/instance/pad-start":["es.string.pad-start"],"core-js/es/instance/push":["es.array.push"],"core-js/es/instance/reduce":["es.array.reduce"],"core-js/es/instance/reduce-right":["es.array.reduce-right"],"core-js/es/instance/repeat":["es.string.repeat"],"core-js/es/instance/replace-all":["es.regexp.exec","es.string.replace","es.string.replace-all"],"core-js/es/instance/reverse":["es.array.reverse"],"core-js/es/instance/slice":["es.array.slice"],"core-js/es/instance/some":["es.array.some"],"core-js/es/instance/sort":["es.array.sort"],"core-js/es/instance/splice":["es.array.splice"],"core-js/es/instance/starts-with":["es.string.starts-with"],"core-js/es/instance/to-reversed":["es.array.to-reversed"],"core-js/es/instance/to-sorted":["es.array.sort","es.array.to-sorted"],"core-js/es/instance/to-spliced":["es.array.to-spliced"],"core-js/es/instance/to-well-formed":["es.string.to-well-formed"],"core-js/es/instance/trim":["es.string.trim"],"core-js/es/instance/trim-end":["es.string.trim-end"],"core-js/es/instance/trim-left":["es.string.trim-start"],"core-js/es/instance/trim-right":["es.string.trim-end"],"core-js/es/instance/trim-start":["es.string.trim-start"],"core-js/es/instance/unshift":["es.array.unshift"],"core-js/es/instance/values":["es.array.iterator","es.object.to-string"],"core-js/es/instance/with":["es.array.with"],"core-js/es/is-iterable":["es.array.iterator","es.string.iterator"],"core-js/es/json":["es.json.stringify","es.json.to-string-tag"],"core-js/es/json/stringify":["es.json.stringify"],"core-js/es/json/to-string-tag":["es.json.to-string-tag"],"core-js/es/map":["es.array.iterator","es.map","es.object.to-string","es.string.iterator"],"core-js/es/math":["es.math.acosh","es.math.asinh","es.math.atanh","es.math.cbrt","es.math.clz32","es.math.cosh","es.math.expm1","es.math.fround","es.math.hypot","es.math.imul","es.math.log10","es.math.log1p","es.math.log2","es.math.sign","es.math.sinh","es.math.tanh","es.math.to-string-tag","es.math.trunc"],"core-js/es/math/acosh":["es.math.acosh"],"core-js/es/math/asinh":["es.math.asinh"],"core-js/es/math/atanh":["es.math.atanh"],"core-js/es/math/cbrt":["es.math.cbrt"],"core-js/es/math/clz32":["es.math.clz32"],"core-js/es/math/cosh":["es.math.cosh"],"core-js/es/math/expm1":["es.math.expm1"],"core-js/es/math/fround":["es.math.fround"],"core-js/es/math/hypot":["es.math.hypot"],"core-js/es/math/imul":["es.math.imul"],"core-js/es/math/log10":["es.math.log10"],"core-js/es/math/log1p":["es.math.log1p"],"core-js/es/math/log2":["es.math.log2"],"core-js/es/math/sign":["es.math.sign"],"core-js/es/math/sinh":["es.math.sinh"],"core-js/es/math/tanh":["es.math.tanh"],"core-js/es/math/to-string-tag":["es.math.to-string-tag"],"core-js/es/math/trunc":["es.math.trunc"],"core-js/es/number":["es.number.constructor","es.number.epsilon","es.number.is-finite","es.number.is-integer","es.number.is-nan","es.number.is-safe-integer","es.number.max-safe-integer","es.number.min-safe-integer","es.number.parse-float","es.number.parse-int","es.number.to-exponential","es.number.to-fixed","es.number.to-precision"],"core-js/es/number/constructor":["es.number.constructor"],"core-js/es/number/epsilon":["es.number.epsilon"],"core-js/es/number/is-finite":["es.number.is-finite"],"core-js/es/number/is-integer":["es.number.is-integer"],"core-js/es/number/is-nan":["es.number.is-nan"],"core-js/es/number/is-safe-integer":["es.number.is-safe-integer"],"core-js/es/number/max-safe-integer":["es.number.max-safe-integer"],"core-js/es/number/min-safe-integer":["es.number.min-safe-integer"],"core-js/es/number/parse-float":["es.number.parse-float"],"core-js/es/number/parse-int":["es.number.parse-int"],"core-js/es/number/to-exponential":["es.number.to-exponential"],"core-js/es/number/to-fixed":["es.number.to-fixed"],"core-js/es/number/to-precision":["es.number.to-precision"],"core-js/es/number/virtual":["es.number.to-exponential","es.number.to-fixed","es.number.to-precision"],"core-js/es/number/virtual/to-exponential":["es.number.to-exponential"],"core-js/es/number/virtual/to-fixed":["es.number.to-fixed"],"core-js/es/number/virtual/to-precision":["es.number.to-precision"],"core-js/es/object":["es.symbol","es.json.to-string-tag","es.math.to-string-tag","es.object.assign","es.object.create","es.object.define-getter","es.object.define-properties","es.object.define-property","es.object.define-setter","es.object.entries","es.object.freeze","es.object.from-entries","es.object.get-own-property-descriptor","es.object.get-own-property-descriptors","es.object.get-own-property-names","es.object.get-prototype-of","es.object.has-own","es.object.is","es.object.is-extensible","es.object.is-frozen","es.object.is-sealed","es.object.keys","es.object.lookup-getter","es.object.lookup-setter","es.object.prevent-extensions","es.object.proto","es.object.seal","es.object.set-prototype-of","es.object.to-string","es.object.values","es.reflect.to-string-tag"],"core-js/es/object/assign":["es.object.assign"],"core-js/es/object/create":["es.object.create"],"core-js/es/object/define-getter":["es.object.define-getter"],"core-js/es/object/define-properties":["es.object.define-properties"],"core-js/es/object/define-property":["es.object.define-property"],"core-js/es/object/define-setter":["es.object.define-setter"],"core-js/es/object/entries":["es.object.entries"],"core-js/es/object/freeze":["es.object.freeze"],"core-js/es/object/from-entries":["es.array.iterator","es.object.from-entries"],"core-js/es/object/get-own-property-descriptor":["es.object.get-own-property-descriptor"],"core-js/es/object/get-own-property-descriptors":["es.object.get-own-property-descriptors"],"core-js/es/object/get-own-property-names":["es.object.get-own-property-names"],"core-js/es/object/get-own-property-symbols":["es.symbol"],"core-js/es/object/get-prototype-of":["es.object.get-prototype-of"],"core-js/es/object/has-own":["es.object.has-own"],"core-js/es/object/is":["es.object.is"],"core-js/es/object/is-extensible":["es.object.is-extensible"],"core-js/es/object/is-frozen":["es.object.is-frozen"],"core-js/es/object/is-sealed":["es.object.is-sealed"],"core-js/es/object/keys":["es.object.keys"],"core-js/es/object/lookup-getter":["es.object.lookup-getter"],"core-js/es/object/lookup-setter":["es.object.lookup-setter"],"core-js/es/object/prevent-extensions":["es.object.prevent-extensions"],"core-js/es/object/proto":["es.object.proto"],"core-js/es/object/seal":["es.object.seal"],"core-js/es/object/set-prototype-of":["es.object.set-prototype-of"],"core-js/es/object/to-string":["es.json.to-string-tag","es.math.to-string-tag","es.object.to-string","es.reflect.to-string-tag"],"core-js/es/object/values":["es.object.values"],"core-js/es/parse-float":["es.parse-float"],"core-js/es/parse-int":["es.parse-int"],"core-js/es/promise":["es.aggregate-error","es.array.iterator","es.object.to-string","es.promise","es.promise.all-settled","es.promise.any","es.promise.finally","es.string.iterator"],"core-js/es/promise/all-settled":["es.array.iterator","es.object.to-string","es.promise","es.promise.all-settled","es.string.iterator"],"core-js/es/promise/any":["es.aggregate-error","es.array.iterator","es.object.to-string","es.promise","es.promise.any","es.string.iterator"],"core-js/es/promise/finally":["es.object.to-string","es.promise","es.promise.finally"],"core-js/es/reflect":["es.object.to-string","es.reflect.apply","es.reflect.construct","es.reflect.define-property","es.reflect.delete-property","es.reflect.get","es.reflect.get-own-property-descriptor","es.reflect.get-prototype-of","es.reflect.has","es.reflect.is-extensible","es.reflect.own-keys","es.reflect.prevent-extensions","es.reflect.set","es.reflect.set-prototype-of","es.reflect.to-string-tag"],"core-js/es/reflect/apply":["es.reflect.apply"],"core-js/es/reflect/construct":["es.reflect.construct"],"core-js/es/reflect/define-property":["es.reflect.define-property"],"core-js/es/reflect/delete-property":["es.reflect.delete-property"],"core-js/es/reflect/get":["es.reflect.get"],"core-js/es/reflect/get-own-property-descriptor":["es.reflect.get-own-property-descriptor"],"core-js/es/reflect/get-prototype-of":["es.reflect.get-prototype-of"],"core-js/es/reflect/has":["es.reflect.has"],"core-js/es/reflect/is-extensible":["es.reflect.is-extensible"],"core-js/es/reflect/own-keys":["es.reflect.own-keys"],"core-js/es/reflect/prevent-extensions":["es.reflect.prevent-extensions"],"core-js/es/reflect/set":["es.reflect.set"],"core-js/es/reflect/set-prototype-of":["es.reflect.set-prototype-of"],"core-js/es/reflect/to-string-tag":["es.object.to-string","es.reflect.to-string-tag"],"core-js/es/regexp":["es.regexp.constructor","es.regexp.dot-all","es.regexp.exec","es.regexp.flags","es.regexp.sticky","es.regexp.test","es.regexp.to-string","es.string.match","es.string.replace","es.string.search","es.string.split"],"core-js/es/regexp/constructor":["es.regexp.constructor","es.regexp.dot-all","es.regexp.exec","es.regexp.sticky"],"core-js/es/regexp/dot-all":["es.regexp.constructor","es.regexp.dot-all","es.regexp.exec"],"core-js/es/regexp/flags":["es.regexp.flags"],"core-js/es/regexp/match":["es.regexp.exec","es.string.match"],"core-js/es/regexp/replace":["es.regexp.exec","es.string.replace"],"core-js/es/regexp/search":["es.regexp.exec","es.string.search"],"core-js/es/regexp/split":["es.regexp.exec","es.string.split"],"core-js/es/regexp/sticky":["es.regexp.constructor","es.regexp.exec","es.regexp.sticky"],"core-js/es/regexp/test":["es.regexp.exec","es.regexp.test"],"core-js/es/regexp/to-string":["es.regexp.to-string"],"core-js/es/set":["es.array.iterator","es.object.to-string","es.set","es.string.iterator"],"core-js/es/string":["es.object.to-string","es.regexp.exec","es.string.at-alternative","es.string.code-point-at","es.string.ends-with","es.string.from-code-point","es.string.includes","es.string.is-well-formed","es.string.iterator","es.string.match","es.string.match-all","es.string.pad-end","es.string.pad-start","es.string.raw","es.string.repeat","es.string.replace","es.string.replace-all","es.string.search","es.string.split","es.string.starts-with","es.string.substr","es.string.to-well-formed","es.string.trim","es.string.trim-end","es.string.trim-start","es.string.anchor","es.string.big","es.string.blink","es.string.bold","es.string.fixed","es.string.fontcolor","es.string.fontsize","es.string.italics","es.string.link","es.string.small","es.string.strike","es.string.sub","es.string.sup"],"core-js/es/string/anchor":["es.string.anchor"],"core-js/es/string/at":["es.string.at-alternative"],"core-js/es/string/big":["es.string.big"],"core-js/es/string/blink":["es.string.blink"],"core-js/es/string/bold":["es.string.bold"],"core-js/es/string/code-point-at":["es.string.code-point-at"],"core-js/es/string/ends-with":["es.string.ends-with"],"core-js/es/string/fixed":["es.string.fixed"],"core-js/es/string/fontcolor":["es.string.fontcolor"],"core-js/es/string/fontsize":["es.string.fontsize"],"core-js/es/string/from-code-point":["es.string.from-code-point"],"core-js/es/string/includes":["es.string.includes"],"core-js/es/string/is-well-formed":["es.string.is-well-formed"],"core-js/es/string/italics":["es.string.italics"],"core-js/es/string/iterator":["es.object.to-string","es.string.iterator"],"core-js/es/string/link":["es.string.link"],"core-js/es/string/match":["es.regexp.exec","es.string.match"],"core-js/es/string/match-all":["es.object.to-string","es.regexp.exec","es.string.match-all"],"core-js/es/string/pad-end":["es.string.pad-end"],"core-js/es/string/pad-start":["es.string.pad-start"],"core-js/es/string/raw":["es.string.raw"],"core-js/es/string/repeat":["es.string.repeat"],"core-js/es/string/replace":["es.regexp.exec","es.string.replace"],"core-js/es/string/replace-all":["es.regexp.exec","es.string.replace","es.string.replace-all"],"core-js/es/string/search":["es.regexp.exec","es.string.search"],"core-js/es/string/small":["es.string.small"],"core-js/es/string/split":["es.regexp.exec","es.string.split"],"core-js/es/string/starts-with":["es.string.starts-with"],"core-js/es/string/strike":["es.string.strike"],"core-js/es/string/sub":["es.string.sub"],"core-js/es/string/substr":["es.string.substr"],"core-js/es/string/sup":["es.string.sup"],"core-js/es/string/to-well-formed":["es.string.to-well-formed"],"core-js/es/string/trim":["es.string.trim"],"core-js/es/string/trim-end":["es.string.trim-end"],"core-js/es/string/trim-left":["es.string.trim-start"],"core-js/es/string/trim-right":["es.string.trim-end"],"core-js/es/string/trim-start":["es.string.trim-start"],"core-js/es/string/virtual":["es.object.to-string","es.regexp.exec","es.string.at-alternative","es.string.code-point-at","es.string.ends-with","es.string.includes","es.string.iterator","es.string.match","es.string.match-all","es.string.pad-end","es.string.pad-start","es.string.repeat","es.string.replace","es.string.replace-all","es.string.search","es.string.split","es.string.starts-with","es.string.substr","es.string.trim","es.string.trim-end","es.string.trim-start","es.string.anchor","es.string.big","es.string.blink","es.string.bold","es.string.fixed","es.string.fontcolor","es.string.fontsize","es.string.italics","es.string.link","es.string.small","es.string.strike","es.string.sub","es.string.sup"],"core-js/es/string/virtual/anchor":["es.string.anchor"],"core-js/es/string/virtual/at":["es.string.at-alternative"],"core-js/es/string/virtual/big":["es.string.big"],"core-js/es/string/virtual/blink":["es.string.blink"],"core-js/es/string/virtual/bold":["es.string.bold"],"core-js/es/string/virtual/code-point-at":["es.string.code-point-at"],"core-js/es/string/virtual/ends-with":["es.string.ends-with"],"core-js/es/string/virtual/fixed":["es.string.fixed"],"core-js/es/string/virtual/fontcolor":["es.string.fontcolor"],"core-js/es/string/virtual/fontsize":["es.string.fontsize"],"core-js/es/string/virtual/includes":["es.string.includes"],"core-js/es/string/virtual/is-well-formed":["es.string.is-well-formed"],"core-js/es/string/virtual/italics":["es.string.italics"],"core-js/es/string/virtual/iterator":["es.object.to-string","es.string.iterator"],"core-js/es/string/virtual/link":["es.string.link"],"core-js/es/string/virtual/match-all":["es.object.to-string","es.regexp.exec","es.string.match-all"],"core-js/es/string/virtual/pad-end":["es.string.pad-end"],"core-js/es/string/virtual/pad-start":["es.string.pad-start"],"core-js/es/string/virtual/repeat":["es.string.repeat"],"core-js/es/string/virtual/replace-all":["es.regexp.exec","es.string.replace","es.string.replace-all"],"core-js/es/string/virtual/small":["es.string.small"],"core-js/es/string/virtual/starts-with":["es.string.starts-with"],"core-js/es/string/virtual/strike":["es.string.strike"],"core-js/es/string/virtual/sub":["es.string.sub"],"core-js/es/string/virtual/substr":["es.string.substr"],"core-js/es/string/virtual/sup":["es.string.sup"],"core-js/es/string/virtual/to-well-formed":["es.string.to-well-formed"],"core-js/es/string/virtual/trim":["es.string.trim"],"core-js/es/string/virtual/trim-end":["es.string.trim-end"],"core-js/es/string/virtual/trim-left":["es.string.trim-start"],"core-js/es/string/virtual/trim-right":["es.string.trim-end"],"core-js/es/string/virtual/trim-start":["es.string.trim-start"],"core-js/es/symbol":["es.symbol","es.symbol.description","es.symbol.async-iterator","es.symbol.has-instance","es.symbol.is-concat-spreadable","es.symbol.iterator","es.symbol.match","es.symbol.match-all","es.symbol.replace","es.symbol.search","es.symbol.species","es.symbol.split","es.symbol.to-primitive","es.symbol.to-string-tag","es.symbol.unscopables","es.array.concat","es.json.to-string-tag","es.math.to-string-tag","es.object.to-string","es.reflect.to-string-tag"],"core-js/es/symbol/async-iterator":["es.symbol.async-iterator"],"core-js/es/symbol/description":["es.symbol.description"],"core-js/es/symbol/for":["es.symbol"],"core-js/es/symbol/has-instance":["es.symbol.has-instance","es.function.has-instance"],"core-js/es/symbol/is-concat-spreadable":["es.symbol.is-concat-spreadable","es.array.concat"],"core-js/es/symbol/iterator":["es.symbol.iterator","es.array.iterator","es.object.to-string","es.string.iterator"],"core-js/es/symbol/key-for":["es.symbol"],"core-js/es/symbol/match":["es.symbol.match","es.regexp.exec","es.string.match"],"core-js/es/symbol/match-all":["es.symbol.match-all","es.object.to-string","es.regexp.exec","es.string.match-all"],"core-js/es/symbol/replace":["es.symbol.replace","es.regexp.exec","es.string.replace"],"core-js/es/symbol/search":["es.symbol.search","es.regexp.exec","es.string.search"],"core-js/es/symbol/species":["es.symbol.species"],"core-js/es/symbol/split":["es.symbol.split","es.regexp.exec","es.string.split"],"core-js/es/symbol/to-primitive":["es.symbol.to-primitive","es.date.to-primitive"],"core-js/es/symbol/to-string-tag":["es.symbol.to-string-tag","es.json.to-string-tag","es.math.to-string-tag","es.object.to-string","es.reflect.to-string-tag"],"core-js/es/symbol/unscopables":["es.symbol.unscopables"],"core-js/es/typed-array":["es.object.to-string","es.string.iterator","es.typed-array.float32-array","es.typed-array.float64-array","es.typed-array.int8-array","es.typed-array.int16-array","es.typed-array.int32-array","es.typed-array.uint8-array","es.typed-array.uint8-clamped-array","es.typed-array.uint16-array","es.typed-array.uint32-array","es.typed-array.at","es.typed-array.copy-within","es.typed-array.every","es.typed-array.fill","es.typed-array.filter","es.typed-array.find","es.typed-array.find-index","es.typed-array.find-last","es.typed-array.find-last-index","es.typed-array.for-each","es.typed-array.from","es.typed-array.includes","es.typed-array.index-of","es.typed-array.iterator","es.typed-array.join","es.typed-array.last-index-of","es.typed-array.map","es.typed-array.of","es.typed-array.reduce","es.typed-array.reduce-right","es.typed-array.reverse","es.typed-array.set","es.typed-array.slice","es.typed-array.some","es.typed-array.sort","es.typed-array.subarray","es.typed-array.to-locale-string","es.typed-array.to-reversed","es.typed-array.to-sorted","es.typed-array.to-string","es.typed-array.with"],"core-js/es/typed-array/at":["es.typed-array.at"],"core-js/es/typed-array/copy-within":["es.typed-array.copy-within"],"core-js/es/typed-array/entries":["es.object.to-string","es.typed-array.iterator"],"core-js/es/typed-array/every":["es.typed-array.every"],"core-js/es/typed-array/fill":["es.typed-array.fill"],"core-js/es/typed-array/filter":["es.typed-array.filter"],"core-js/es/typed-array/find":["es.typed-array.find"],"core-js/es/typed-array/find-index":["es.typed-array.find-index"],"core-js/es/typed-array/find-last":["es.typed-array.find-last"],"core-js/es/typed-array/find-last-index":["es.typed-array.find-last-index"],"core-js/es/typed-array/float32-array":["es.array-buffer.constructor","es.array-buffer.slice","es.object.to-string","es.string.iterator","es.typed-array.float32-array","es.typed-array.at","es.typed-array.copy-within","es.typed-array.every","es.typed-array.fill","es.typed-array.filter","es.typed-array.find","es.typed-array.find-index","es.typed-array.find-last","es.typed-array.find-last-index","es.typed-array.for-each","es.typed-array.from","es.typed-array.includes","es.typed-array.index-of","es.typed-array.iterator","es.typed-array.join","es.typed-array.last-index-of","es.typed-array.map","es.typed-array.of","es.typed-array.reduce","es.typed-array.reduce-right","es.typed-array.reverse","es.typed-array.set","es.typed-array.slice","es.typed-array.some","es.typed-array.sort","es.typed-array.subarray","es.typed-array.to-locale-string","es.typed-array.to-reversed","es.typed-array.to-sorted","es.typed-array.to-string","es.typed-array.with"],"core-js/es/typed-array/float64-array":["es.array-buffer.constructor","es.array-buffer.slice","es.object.to-string","es.string.iterator","es.typed-array.float64-array","es.typed-array.at","es.typed-array.copy-within","es.typed-array.every","es.typed-array.fill","es.typed-array.filter","es.typed-array.find","es.typed-array.find-index","es.typed-array.find-last","es.typed-array.find-last-index","es.typed-array.for-each","es.typed-array.from","es.typed-array.includes","es.typed-array.index-of","es.typed-array.iterator","es.typed-array.join","es.typed-array.last-index-of","es.typed-array.map","es.typed-array.of","es.typed-array.reduce","es.typed-array.reduce-right","es.typed-array.reverse","es.typed-array.set","es.typed-array.slice","es.typed-array.some","es.typed-array.sort","es.typed-array.subarray","es.typed-array.to-locale-string","es.typed-array.to-reversed","es.typed-array.to-sorted","es.typed-array.to-string","es.typed-array.with"],"core-js/es/typed-array/for-each":["es.typed-array.for-each"],"core-js/es/typed-array/from":["es.typed-array.from"],"core-js/es/typed-array/includes":["es.typed-array.includes"],"core-js/es/typed-array/index-of":["es.typed-array.index-of"],"core-js/es/typed-array/int16-array":["es.array-buffer.constructor","es.array-buffer.slice","es.object.to-string","es.string.iterator","es.typed-array.int16-array","es.typed-array.at","es.typed-array.copy-within","es.typed-array.every","es.typed-array.fill","es.typed-array.filter","es.typed-array.find","es.typed-array.find-index","es.typed-array.find-last","es.typed-array.find-last-index","es.typed-array.for-each","es.typed-array.from","es.typed-array.includes","es.typed-array.index-of","es.typed-array.iterator","es.typed-array.join","es.typed-array.last-index-of","es.typed-array.map","es.typed-array.of","es.typed-array.reduce","es.typed-array.reduce-right","es.typed-array.reverse","es.typed-array.set","es.typed-array.slice","es.typed-array.some","es.typed-array.sort","es.typed-array.subarray","es.typed-array.to-locale-string","es.typed-array.to-reversed","es.typed-array.to-sorted","es.typed-array.to-string","es.typed-array.with"],"core-js/es/typed-array/int32-array":["es.array-buffer.constructor","es.array-buffer.slice","es.object.to-string","es.string.iterator","es.typed-array.int32-array","es.typed-array.at","es.typed-array.copy-within","es.typed-array.every","es.typed-array.fill","es.typed-array.filter","es.typed-array.find","es.typed-array.find-index","es.typed-array.find-last","es.typed-array.find-last-index","es.typed-array.for-each","es.typed-array.from","es.typed-array.includes","es.typed-array.index-of","es.typed-array.iterator","es.typed-array.join","es.typed-array.last-index-of","es.typed-array.map","es.typed-array.of","es.typed-array.reduce","es.typed-array.reduce-right","es.typed-array.reverse","es.typed-array.set","es.typed-array.slice","es.typed-array.some","es.typed-array.sort","es.typed-array.subarray","es.typed-array.to-locale-string","es.typed-array.to-reversed","es.typed-array.to-sorted","es.typed-array.to-string","es.typed-array.with"],"core-js/es/typed-array/int8-array":["es.array-buffer.constructor","es.array-buffer.slice","es.object.to-string","es.string.iterator","es.typed-array.int8-array","es.typed-array.at","es.typed-array.copy-within","es.typed-array.every","es.typed-array.fill","es.typed-array.filter","es.typed-array.find","es.typed-array.find-index","es.typed-array.find-last","es.typed-array.find-last-index","es.typed-array.for-each","es.typed-array.from","es.typed-array.includes","es.typed-array.index-of","es.typed-array.iterator","es.typed-array.join","es.typed-array.last-index-of","es.typed-array.map","es.typed-array.of","es.typed-array.reduce","es.typed-array.reduce-right","es.typed-array.reverse","es.typed-array.set","es.typed-array.slice","es.typed-array.some","es.typed-array.sort","es.typed-array.subarray","es.typed-array.to-locale-string","es.typed-array.to-reversed","es.typed-array.to-sorted","es.typed-array.to-string","es.typed-array.with"],"core-js/es/typed-array/iterator":["es.object.to-string","es.typed-array.iterator"],"core-js/es/typed-array/join":["es.typed-array.join"],"core-js/es/typed-array/keys":["es.object.to-string","es.typed-array.iterator"],"core-js/es/typed-array/last-index-of":["es.typed-array.last-index-of"],"core-js/es/typed-array/map":["es.typed-array.map"],"core-js/es/typed-array/methods":["es.object.to-string","es.string.iterator","es.typed-array.at","es.typed-array.copy-within","es.typed-array.every","es.typed-array.fill","es.typed-array.filter","es.typed-array.find","es.typed-array.find-index","es.typed-array.find-last","es.typed-array.find-last-index","es.typed-array.for-each","es.typed-array.from","es.typed-array.includes","es.typed-array.index-of","es.typed-array.iterator","es.typed-array.join","es.typed-array.last-index-of","es.typed-array.map","es.typed-array.of","es.typed-array.reduce","es.typed-array.reduce-right","es.typed-array.reverse","es.typed-array.set","es.typed-array.slice","es.typed-array.some","es.typed-array.sort","es.typed-array.subarray","es.typed-array.to-locale-string","es.typed-array.to-reversed","es.typed-array.to-sorted","es.typed-array.to-string","es.typed-array.with"],"core-js/es/typed-array/of":["es.typed-array.of"],"core-js/es/typed-array/reduce":["es.typed-array.reduce"],"core-js/es/typed-array/reduce-right":["es.typed-array.reduce-right"],"core-js/es/typed-array/reverse":["es.typed-array.reverse"],"core-js/es/typed-array/set":["es.typed-array.set"],"core-js/es/typed-array/slice":["es.typed-array.slice"],"core-js/es/typed-array/some":["es.typed-array.some"],"core-js/es/typed-array/sort":["es.typed-array.sort"],"core-js/es/typed-array/subarray":["es.typed-array.subarray"],"core-js/es/typed-array/to-locale-string":["es.typed-array.to-locale-string"],"core-js/es/typed-array/to-reversed":["es.typed-array.to-reversed"],"core-js/es/typed-array/to-sorted":["es.typed-array.sort","es.typed-array.to-sorted"],"core-js/es/typed-array/to-string":["es.typed-array.to-string"],"core-js/es/typed-array/uint16-array":["es.array-buffer.constructor","es.array-buffer.slice","es.object.to-string","es.string.iterator","es.typed-array.uint16-array","es.typed-array.at","es.typed-array.copy-within","es.typed-array.every","es.typed-array.fill","es.typed-array.filter","es.typed-array.find","es.typed-array.find-index","es.typed-array.find-last","es.typed-array.find-last-index","es.typed-array.for-each","es.typed-array.from","es.typed-array.includes","es.typed-array.index-of","es.typed-array.iterator","es.typed-array.join","es.typed-array.last-index-of","es.typed-array.map","es.typed-array.of","es.typed-array.reduce","es.typed-array.reduce-right","es.typed-array.reverse","es.typed-array.set","es.typed-array.slice","es.typed-array.some","es.typed-array.sort","es.typed-array.subarray","es.typed-array.to-locale-string","es.typed-array.to-reversed","es.typed-array.to-sorted","es.typed-array.to-string","es.typed-array.with"],"core-js/es/typed-array/uint32-array":["es.array-buffer.constructor","es.array-buffer.slice","es.object.to-string","es.string.iterator","es.typed-array.uint32-array","es.typed-array.at","es.typed-array.copy-within","es.typed-array.every","es.typed-array.fill","es.typed-array.filter","es.typed-array.find","es.typed-array.find-index","es.typed-array.find-last","es.typed-array.find-last-index","es.typed-array.for-each","es.typed-array.from","es.typed-array.includes","es.typed-array.index-of","es.typed-array.iterator","es.typed-array.join","es.typed-array.last-index-of","es.typed-array.map","es.typed-array.of","es.typed-array.reduce","es.typed-array.reduce-right","es.typed-array.reverse","es.typed-array.set","es.typed-array.slice","es.typed-array.some","es.typed-array.sort","es.typed-array.subarray","es.typed-array.to-locale-string","es.typed-array.to-reversed","es.typed-array.to-sorted","es.typed-array.to-string","es.typed-array.with"],"core-js/es/typed-array/uint8-array":["es.array-buffer.constructor","es.array-buffer.slice","es.object.to-string","es.string.iterator","es.typed-array.uint8-array","es.typed-array.at","es.typed-array.copy-within","es.typed-array.every","es.typed-array.fill","es.typed-array.filter","es.typed-array.find","es.typed-array.find-index","es.typed-array.find-last","es.typed-array.find-last-index","es.typed-array.for-each","es.typed-array.from","es.typed-array.includes","es.typed-array.index-of","es.typed-array.iterator","es.typed-array.join","es.typed-array.last-index-of","es.typed-array.map","es.typed-array.of","es.typed-array.reduce","es.typed-array.reduce-right","es.typed-array.reverse","es.typed-array.set","es.typed-array.slice","es.typed-array.some","es.typed-array.sort","es.typed-array.subarray","es.typed-array.to-locale-string","es.typed-array.to-reversed","es.typed-array.to-sorted","es.typed-array.to-string","es.typed-array.with"],"core-js/es/typed-array/uint8-clamped-array":["es.array-buffer.constructor","es.array-buffer.slice","es.object.to-string","es.string.iterator","es.typed-array.uint8-clamped-array","es.typed-array.at","es.typed-array.copy-within","es.typed-array.every","es.typed-array.fill","es.typed-array.filter","es.typed-array.find","es.typed-array.find-index","es.typed-array.find-last","es.typed-array.find-last-index","es.typed-array.for-each","es.typed-array.from","es.typed-array.includes","es.typed-array.index-of","es.typed-array.iterator","es.typed-array.join","es.typed-array.last-index-of","es.typed-array.map","es.typed-array.of","es.typed-array.reduce","es.typed-array.reduce-right","es.typed-array.reverse","es.typed-array.set","es.typed-array.slice","es.typed-array.some","es.typed-array.sort","es.typed-array.subarray","es.typed-array.to-locale-string","es.typed-array.to-reversed","es.typed-array.to-sorted","es.typed-array.to-string","es.typed-array.with"],"core-js/es/typed-array/values":["es.object.to-string","es.typed-array.iterator"],"core-js/es/typed-array/with":["es.typed-array.with"],"core-js/es/unescape":["es.unescape"],"core-js/es/weak-map":["es.array.iterator","es.object.to-string","es.weak-map"],"core-js/es/weak-set":["es.array.iterator","es.object.to-string","es.weak-set"],"core-js/features":["es.symbol","es.symbol.description","es.symbol.async-iterator","es.symbol.has-instance","es.symbol.is-concat-spreadable","es.symbol.iterator","es.symbol.match","es.symbol.match-all","es.symbol.replace","es.symbol.search","es.symbol.species","es.symbol.split","es.symbol.to-primitive","es.symbol.to-string-tag","es.symbol.unscopables","es.error.cause","es.error.to-string","es.aggregate-error","es.aggregate-error.cause","es.array.at","es.array.concat","es.array.copy-within","es.array.every","es.array.fill","es.array.filter","es.array.find","es.array.find-index","es.array.find-last","es.array.find-last-index","es.array.flat","es.array.flat-map","es.array.for-each","es.array.from","es.array.includes","es.array.index-of","es.array.is-array","es.array.iterator","es.array.join","es.array.last-index-of","es.array.map","es.array.of","es.array.push","es.array.reduce","es.array.reduce-right","es.array.reverse","es.array.slice","es.array.some","es.array.sort","es.array.species","es.array.splice","es.array.to-reversed","es.array.to-sorted","es.array.to-spliced","es.array.unscopables.flat","es.array.unscopables.flat-map","es.array.unshift","es.array.with","es.array-buffer.constructor","es.array-buffer.is-view","es.array-buffer.slice","es.data-view","es.date.get-year","es.date.now","es.date.set-year","es.date.to-gmt-string","es.date.to-iso-string","es.date.to-json","es.date.to-primitive","es.date.to-string","es.escape","es.function.bind","es.function.has-instance","es.function.name","es.global-this","es.json.stringify","es.json.to-string-tag","es.map","es.math.acosh","es.math.asinh","es.math.atanh","es.math.cbrt","es.math.clz32","es.math.cosh","es.math.expm1","es.math.fround","es.math.hypot","es.math.imul","es.math.log10","es.math.log1p","es.math.log2","es.math.sign","es.math.sinh","es.math.tanh","es.math.to-string-tag","es.math.trunc","es.number.constructor","es.number.epsilon","es.number.is-finite","es.number.is-integer","es.number.is-nan","es.number.is-safe-integer","es.number.max-safe-integer","es.number.min-safe-integer","es.number.parse-float","es.number.parse-int","es.number.to-exponential","es.number.to-fixed","es.number.to-precision","es.object.assign","es.object.create","es.object.define-getter","es.object.define-properties","es.object.define-property","es.object.define-setter","es.object.entries","es.object.freeze","es.object.from-entries","es.object.get-own-property-descriptor","es.object.get-own-property-descriptors","es.object.get-own-property-names","es.object.get-prototype-of","es.object.has-own","es.object.is","es.object.is-extensible","es.object.is-frozen","es.object.is-sealed","es.object.keys","es.object.lookup-getter","es.object.lookup-setter","es.object.prevent-extensions","es.object.proto","es.object.seal","es.object.set-prototype-of","es.object.to-string","es.object.values","es.parse-float","es.parse-int","es.promise","es.promise.all-settled","es.promise.any","es.promise.finally","es.reflect.apply","es.reflect.construct","es.reflect.define-property","es.reflect.delete-property","es.reflect.get","es.reflect.get-own-property-descriptor","es.reflect.get-prototype-of","es.reflect.has","es.reflect.is-extensible","es.reflect.own-keys","es.reflect.prevent-extensions","es.reflect.set","es.reflect.set-prototype-of","es.reflect.to-string-tag","es.regexp.constructor","es.regexp.dot-all","es.regexp.exec","es.regexp.flags","es.regexp.sticky","es.regexp.test","es.regexp.to-string","es.set","es.string.at-alternative","es.string.code-point-at","es.string.ends-with","es.string.from-code-point","es.string.includes","es.string.is-well-formed","es.string.iterator","es.string.match","es.string.match-all","es.string.pad-end","es.string.pad-start","es.string.raw","es.string.repeat","es.string.replace","es.string.replace-all","es.string.search","es.string.split","es.string.starts-with","es.string.substr","es.string.to-well-formed","es.string.trim","es.string.trim-end","es.string.trim-start","es.string.anchor","es.string.big","es.string.blink","es.string.bold","es.string.fixed","es.string.fontcolor","es.string.fontsize","es.string.italics","es.string.link","es.string.small","es.string.strike","es.string.sub","es.string.sup","es.typed-array.float32-array","es.typed-array.float64-array","es.typed-array.int8-array","es.typed-array.int16-array","es.typed-array.int32-array","es.typed-array.uint8-array","es.typed-array.uint8-clamped-array","es.typed-array.uint16-array","es.typed-array.uint32-array","es.typed-array.at","es.typed-array.copy-within","es.typed-array.every","es.typed-array.fill","es.typed-array.filter","es.typed-array.find","es.typed-array.find-index","es.typed-array.find-last","es.typed-array.find-last-index","es.typed-array.for-each","es.typed-array.from","es.typed-array.includes","es.typed-array.index-of","es.typed-array.iterator","es.typed-array.join","es.typed-array.last-index-of","es.typed-array.map","es.typed-array.of","es.typed-array.reduce","es.typed-array.reduce-right","es.typed-array.reverse","es.typed-array.set","es.typed-array.slice","es.typed-array.some","es.typed-array.sort","es.typed-array.subarray","es.typed-array.to-locale-string","es.typed-array.to-reversed","es.typed-array.to-sorted","es.typed-array.to-string","es.typed-array.with","es.unescape","es.weak-map","es.weak-set","esnext.aggregate-error","esnext.suppressed-error.constructor","esnext.array.from-async","esnext.array.at","esnext.array.filter-out","esnext.array.filter-reject","esnext.array.find-last","esnext.array.find-last-index","esnext.array.group","esnext.array.group-by","esnext.array.group-by-to-map","esnext.array.group-to-map","esnext.array.is-template-object","esnext.array.last-index","esnext.array.last-item","esnext.array.to-reversed","esnext.array.to-sorted","esnext.array.to-spliced","esnext.array.unique-by","esnext.array.with","esnext.array-buffer.detached","esnext.array-buffer.transfer","esnext.array-buffer.transfer-to-fixed-length","esnext.async-disposable-stack.constructor","esnext.async-iterator.constructor","esnext.async-iterator.as-indexed-pairs","esnext.async-iterator.async-dispose","esnext.async-iterator.drop","esnext.async-iterator.every","esnext.async-iterator.filter","esnext.async-iterator.find","esnext.async-iterator.flat-map","esnext.async-iterator.for-each","esnext.async-iterator.from","esnext.async-iterator.indexed","esnext.async-iterator.map","esnext.async-iterator.reduce","esnext.async-iterator.some","esnext.async-iterator.take","esnext.async-iterator.to-array","esnext.bigint.range","esnext.composite-key","esnext.composite-symbol","esnext.disposable-stack.constructor","esnext.function.demethodize","esnext.function.is-callable","esnext.function.is-constructor","esnext.function.metadata","esnext.function.un-this","esnext.global-this","esnext.iterator.constructor","esnext.iterator.as-indexed-pairs","esnext.iterator.dispose","esnext.iterator.drop","esnext.iterator.every","esnext.iterator.filter","esnext.iterator.find","esnext.iterator.flat-map","esnext.iterator.for-each","esnext.iterator.from","esnext.iterator.indexed","esnext.iterator.map","esnext.iterator.range","esnext.iterator.reduce","esnext.iterator.some","esnext.iterator.take","esnext.iterator.to-array","esnext.iterator.to-async","esnext.json.is-raw-json","esnext.json.parse","esnext.json.raw-json","esnext.map.delete-all","esnext.map.emplace","esnext.map.every","esnext.map.filter","esnext.map.find","esnext.map.find-key","esnext.map.from","esnext.map.group-by","esnext.map.includes","esnext.map.key-by","esnext.map.key-of","esnext.map.map-keys","esnext.map.map-values","esnext.map.merge","esnext.map.of","esnext.map.reduce","esnext.map.some","esnext.map.update","esnext.map.update-or-insert","esnext.map.upsert","esnext.math.clamp","esnext.math.deg-per-rad","esnext.math.degrees","esnext.math.fscale","esnext.math.iaddh","esnext.math.imulh","esnext.math.isubh","esnext.math.rad-per-deg","esnext.math.radians","esnext.math.scale","esnext.math.seeded-prng","esnext.math.signbit","esnext.math.umulh","esnext.number.from-string","esnext.number.range","esnext.object.has-own","esnext.object.iterate-entries","esnext.object.iterate-keys","esnext.object.iterate-values","esnext.object.group-by","esnext.observable","esnext.promise.all-settled","esnext.promise.any","esnext.promise.try","esnext.promise.with-resolvers","esnext.reflect.define-metadata","esnext.reflect.delete-metadata","esnext.reflect.get-metadata","esnext.reflect.get-metadata-keys","esnext.reflect.get-own-metadata","esnext.reflect.get-own-metadata-keys","esnext.reflect.has-metadata","esnext.reflect.has-own-metadata","esnext.reflect.metadata","esnext.set.add-all","esnext.set.delete-all","esnext.set.difference.v2","esnext.set.difference","esnext.set.every","esnext.set.filter","esnext.set.find","esnext.set.from","esnext.set.intersection.v2","esnext.set.intersection","esnext.set.is-disjoint-from.v2","esnext.set.is-disjoint-from","esnext.set.is-subset-of.v2","esnext.set.is-subset-of","esnext.set.is-superset-of.v2","esnext.set.is-superset-of","esnext.set.join","esnext.set.map","esnext.set.of","esnext.set.reduce","esnext.set.some","esnext.set.symmetric-difference.v2","esnext.set.symmetric-difference","esnext.set.union.v2","esnext.set.union","esnext.string.at","esnext.string.cooked","esnext.string.code-points","esnext.string.dedent","esnext.string.is-well-formed","esnext.string.match-all","esnext.string.replace-all","esnext.string.to-well-formed","esnext.symbol.async-dispose","esnext.symbol.dispose","esnext.symbol.is-registered-symbol","esnext.symbol.is-registered","esnext.symbol.is-well-known-symbol","esnext.symbol.is-well-known","esnext.symbol.matcher","esnext.symbol.metadata","esnext.symbol.metadata-key","esnext.symbol.observable","esnext.symbol.pattern-match","esnext.symbol.replace-all","esnext.typed-array.from-async","esnext.typed-array.at","esnext.typed-array.filter-out","esnext.typed-array.filter-reject","esnext.typed-array.find-last","esnext.typed-array.find-last-index","esnext.typed-array.group-by","esnext.typed-array.to-reversed","esnext.typed-array.to-sorted","esnext.typed-array.to-spliced","esnext.typed-array.unique-by","esnext.typed-array.with","esnext.weak-map.delete-all","esnext.weak-map.from","esnext.weak-map.of","esnext.weak-map.emplace","esnext.weak-map.upsert","esnext.weak-set.add-all","esnext.weak-set.delete-all","esnext.weak-set.from","esnext.weak-set.of","web.atob","web.btoa","web.dom-collections.for-each","web.dom-collections.iterator","web.dom-exception.constructor","web.dom-exception.stack","web.dom-exception.to-string-tag","web.immediate","web.queue-microtask","web.self","web.structured-clone","web.timers","web.url","web.url.can-parse","web.url.to-json","web.url-search-params","web.url-search-params.delete","web.url-search-params.has","web.url-search-params.size"],"core-js/features/aggregate-error":["es.error.cause","es.aggregate-error","es.aggregate-error.cause","es.array.iterator","es.string.iterator","esnext.aggregate-error","web.dom-collections.iterator"],"core-js/features/array":["es.array.at","es.array.concat","es.array.copy-within","es.array.every","es.array.fill","es.array.filter","es.array.find","es.array.find-index","es.array.find-last","es.array.find-last-index","es.array.flat","es.array.flat-map","es.array.for-each","es.array.from","es.array.includes","es.array.index-of","es.array.is-array","es.array.iterator","es.array.join","es.array.last-index-of","es.array.map","es.array.of","es.array.push","es.array.reduce","es.array.reduce-right","es.array.reverse","es.array.slice","es.array.some","es.array.sort","es.array.species","es.array.splice","es.array.to-reversed","es.array.to-sorted","es.array.to-spliced","es.array.unscopables.flat","es.array.unscopables.flat-map","es.array.unshift","es.array.with","es.map","es.object.to-string","es.promise","es.string.iterator","esnext.array.from-async","esnext.array.at","esnext.array.filter-out","esnext.array.filter-reject","esnext.array.find-last","esnext.array.find-last-index","esnext.array.group","esnext.array.group-by","esnext.array.group-by-to-map","esnext.array.group-to-map","esnext.array.is-template-object","esnext.array.last-index","esnext.array.last-item","esnext.array.to-reversed","esnext.array.to-sorted","esnext.array.to-spliced","esnext.array.unique-by","esnext.array.with"],"core-js/features/array-buffer":["es.array-buffer.constructor","es.array-buffer.is-view","es.array-buffer.slice","es.object.to-string","esnext.array-buffer.detached","esnext.array-buffer.transfer","esnext.array-buffer.transfer-to-fixed-length"],"core-js/features/array-buffer/constructor":["es.array-buffer.constructor","es.array-buffer.slice","es.object.to-string","esnext.array-buffer.detached","esnext.array-buffer.transfer","esnext.array-buffer.transfer-to-fixed-length"],"core-js/features/array-buffer/detached":["es.array-buffer.constructor","es.array-buffer.is-view","es.array-buffer.slice","es.object.to-string","esnext.array-buffer.detached"],"core-js/features/array-buffer/is-view":["es.array-buffer.is-view"],"core-js/features/array-buffer/slice":["es.array-buffer.slice"],"core-js/features/array-buffer/transfer":["es.array-buffer.constructor","es.array-buffer.is-view","es.array-buffer.slice","es.object.to-string","esnext.array-buffer.transfer"],"core-js/features/array-buffer/transfer-to-fixed-length":["es.array-buffer.constructor","es.array-buffer.is-view","es.array-buffer.slice","es.object.to-string","esnext.array-buffer.transfer-to-fixed-length"],"core-js/features/array/at":["es.array.at","esnext.array.at"],"core-js/features/array/concat":["es.array.concat"],"core-js/features/array/copy-within":["es.array.copy-within"],"core-js/features/array/entries":["es.array.iterator","es.object.to-string"],"core-js/features/array/every":["es.array.every"],"core-js/features/array/fill":["es.array.fill"],"core-js/features/array/filter":["es.array.filter"],"core-js/features/array/filter-out":["esnext.array.filter-out"],"core-js/features/array/filter-reject":["esnext.array.filter-reject"],"core-js/features/array/find":["es.array.find"],"core-js/features/array/find-index":["es.array.find-index"],"core-js/features/array/find-last":["es.array.find-last","esnext.array.find-last"],"core-js/features/array/find-last-index":["es.array.find-last-index","esnext.array.find-last-index"],"core-js/features/array/flat":["es.array.flat","es.array.unscopables.flat"],"core-js/features/array/flat-map":["es.array.flat-map","es.array.unscopables.flat-map"],"core-js/features/array/for-each":["es.array.for-each"],"core-js/features/array/from":["es.array.from","es.string.iterator"],"core-js/features/array/from-async":["es.array.iterator","es.object.to-string","es.promise","es.string.iterator","esnext.array.from-async"],"core-js/features/array/group":["esnext.array.group"],"core-js/features/array/group-by":["esnext.array.group-by"],"core-js/features/array/group-by-to-map":["es.map","es.object.to-string","esnext.array.group-by-to-map"],"core-js/features/array/group-to-map":["es.map","es.object.to-string","esnext.array.group-to-map"],"core-js/features/array/includes":["es.array.includes"],"core-js/features/array/index-of":["es.array.index-of"],"core-js/features/array/is-array":["es.array.is-array"],"core-js/features/array/is-template-object":["esnext.array.is-template-object"],"core-js/features/array/iterator":["es.array.iterator","es.object.to-string"],"core-js/features/array/join":["es.array.join"],"core-js/features/array/keys":["es.array.iterator","es.object.to-string"],"core-js/features/array/last-index":["esnext.array.last-index"],"core-js/features/array/last-index-of":["es.array.last-index-of"],"core-js/features/array/last-item":["esnext.array.last-item"],"core-js/features/array/map":["es.array.map"],"core-js/features/array/of":["es.array.of"],"core-js/features/array/push":["es.array.push"],"core-js/features/array/reduce":["es.array.reduce"],"core-js/features/array/reduce-right":["es.array.reduce-right"],"core-js/features/array/reverse":["es.array.reverse"],"core-js/features/array/slice":["es.array.slice"],"core-js/features/array/some":["es.array.some"],"core-js/features/array/sort":["es.array.sort"],"core-js/features/array/splice":["es.array.splice"],"core-js/features/array/to-reversed":["es.array.to-reversed","esnext.array.to-reversed"],"core-js/features/array/to-sorted":["es.array.sort","es.array.to-sorted","esnext.array.to-sorted"],"core-js/features/array/to-spliced":["es.array.to-spliced","esnext.array.to-spliced"],"core-js/features/array/unique-by":["es.map","esnext.array.unique-by"],"core-js/features/array/unshift":["es.array.unshift"],"core-js/features/array/values":["es.array.iterator","es.object.to-string"],"core-js/features/array/virtual":["es.array.at","es.array.concat","es.array.copy-within","es.array.every","es.array.fill","es.array.filter","es.array.find","es.array.find-index","es.array.find-last","es.array.find-last-index","es.array.flat","es.array.flat-map","es.array.for-each","es.array.includes","es.array.index-of","es.array.iterator","es.array.join","es.array.last-index-of","es.array.map","es.array.push","es.array.reduce","es.array.reduce-right","es.array.reverse","es.array.slice","es.array.some","es.array.sort","es.array.species","es.array.splice","es.array.to-reversed","es.array.to-sorted","es.array.to-spliced","es.array.unscopables.flat","es.array.unscopables.flat-map","es.array.unshift","es.array.with","es.map","es.object.to-string","esnext.array.at","esnext.array.filter-out","esnext.array.filter-reject","esnext.array.find-last","esnext.array.find-last-index","esnext.array.group","esnext.array.group-by","esnext.array.group-by-to-map","esnext.array.group-to-map","esnext.array.to-reversed","esnext.array.to-sorted","esnext.array.to-spliced","esnext.array.unique-by","esnext.array.with"],"core-js/features/array/virtual/at":["es.array.at","esnext.array.at"],"core-js/features/array/virtual/concat":["es.array.concat"],"core-js/features/array/virtual/copy-within":["es.array.copy-within"],"core-js/features/array/virtual/entries":["es.array.iterator","es.object.to-string"],"core-js/features/array/virtual/every":["es.array.every"],"core-js/features/array/virtual/fill":["es.array.fill"],"core-js/features/array/virtual/filter":["es.array.filter"],"core-js/features/array/virtual/filter-out":["esnext.array.filter-out"],"core-js/features/array/virtual/filter-reject":["esnext.array.filter-reject"],"core-js/features/array/virtual/find":["es.array.find"],"core-js/features/array/virtual/find-index":["es.array.find-index"],"core-js/features/array/virtual/find-last":["es.array.find-last","esnext.array.find-last"],"core-js/features/array/virtual/find-last-index":["es.array.find-last-index","esnext.array.find-last-index"],"core-js/features/array/virtual/flat":["es.array.flat","es.array.unscopables.flat"],"core-js/features/array/virtual/flat-map":["es.array.flat-map","es.array.unscopables.flat-map"],"core-js/features/array/virtual/for-each":["es.array.for-each"],"core-js/features/array/virtual/group":["esnext.array.group"],"core-js/features/array/virtual/group-by":["esnext.array.group-by"],"core-js/features/array/virtual/group-by-to-map":["es.map","es.object.to-string","esnext.array.group-by-to-map"],"core-js/features/array/virtual/group-to-map":["es.map","es.object.to-string","esnext.array.group-to-map"],"core-js/features/array/virtual/includes":["es.array.includes"],"core-js/features/array/virtual/index-of":["es.array.index-of"],"core-js/features/array/virtual/iterator":["es.array.iterator","es.object.to-string"],"core-js/features/array/virtual/join":["es.array.join"],"core-js/features/array/virtual/keys":["es.array.iterator","es.object.to-string"],"core-js/features/array/virtual/last-index-of":["es.array.last-index-of"],"core-js/features/array/virtual/map":["es.array.map"],"core-js/features/array/virtual/push":["es.array.push"],"core-js/features/array/virtual/reduce":["es.array.reduce"],"core-js/features/array/virtual/reduce-right":["es.array.reduce-right"],"core-js/features/array/virtual/reverse":["es.array.reverse"],"core-js/features/array/virtual/slice":["es.array.slice"],"core-js/features/array/virtual/some":["es.array.some"],"core-js/features/array/virtual/sort":["es.array.sort"],"core-js/features/array/virtual/splice":["es.array.splice"],"core-js/features/array/virtual/to-reversed":["es.array.to-reversed","esnext.array.to-reversed"],"core-js/features/array/virtual/to-sorted":["es.array.sort","es.array.to-sorted","esnext.array.to-sorted"],"core-js/features/array/virtual/to-spliced":["es.array.to-spliced","esnext.array.to-spliced"],"core-js/features/array/virtual/unique-by":["es.map","esnext.array.unique-by"],"core-js/features/array/virtual/unshift":["es.array.unshift"],"core-js/features/array/virtual/values":["es.array.iterator","es.object.to-string"],"core-js/features/array/virtual/with":["es.array.with","esnext.array.with"],"core-js/features/array/with":["es.array.with","esnext.array.with"],"core-js/features/async-disposable-stack":["es.error.cause","es.error.to-string","es.object.to-string","es.promise","esnext.suppressed-error.constructor","esnext.async-disposable-stack.constructor","esnext.async-iterator.async-dispose","esnext.iterator.dispose"],"core-js/features/async-disposable-stack/constructor":["es.error.cause","es.error.to-string","es.object.to-string","es.promise","esnext.suppressed-error.constructor","esnext.async-disposable-stack.constructor","esnext.async-iterator.async-dispose","esnext.iterator.dispose"],"core-js/features/async-iterator":["es.array.iterator","es.object.to-string","es.promise","es.string.iterator","esnext.async-iterator.constructor","esnext.async-iterator.as-indexed-pairs","esnext.async-iterator.async-dispose","esnext.async-iterator.drop","esnext.async-iterator.every","esnext.async-iterator.filter","esnext.async-iterator.find","esnext.async-iterator.flat-map","esnext.async-iterator.for-each","esnext.async-iterator.from","esnext.async-iterator.indexed","esnext.async-iterator.map","esnext.async-iterator.reduce","esnext.async-iterator.some","esnext.async-iterator.take","esnext.async-iterator.to-array","web.dom-collections.iterator"],"core-js/features/async-iterator/as-indexed-pairs":["es.object.to-string","es.promise","esnext.async-iterator.constructor","esnext.async-iterator.as-indexed-pairs"],"core-js/features/async-iterator/async-dispose":["es.object.to-string","es.promise","esnext.async-iterator.async-dispose"],"core-js/features/async-iterator/drop":["es.object.to-string","es.promise","esnext.async-iterator.constructor","esnext.async-iterator.drop"],"core-js/features/async-iterator/every":["es.object.to-string","es.promise","esnext.async-iterator.constructor","esnext.async-iterator.every"],"core-js/features/async-iterator/filter":["es.object.to-string","es.promise","esnext.async-iterator.constructor","esnext.async-iterator.filter"],"core-js/features/async-iterator/find":["es.object.to-string","es.promise","esnext.async-iterator.constructor","esnext.async-iterator.find"],"core-js/features/async-iterator/flat-map":["es.object.to-string","es.promise","esnext.async-iterator.constructor","esnext.async-iterator.flat-map"],"core-js/features/async-iterator/for-each":["es.object.to-string","es.promise","esnext.async-iterator.constructor","esnext.async-iterator.for-each"],"core-js/features/async-iterator/from":["es.array.iterator","es.object.to-string","es.promise","es.string.iterator","esnext.async-iterator.constructor","esnext.async-iterator.drop","esnext.async-iterator.every","esnext.async-iterator.filter","esnext.async-iterator.find","esnext.async-iterator.flat-map","esnext.async-iterator.for-each","esnext.async-iterator.from","esnext.async-iterator.map","esnext.async-iterator.reduce","esnext.async-iterator.some","esnext.async-iterator.take","esnext.async-iterator.to-array","web.dom-collections.iterator"],"core-js/features/async-iterator/indexed":["es.object.to-string","es.promise","esnext.async-iterator.constructor","esnext.async-iterator.indexed"],"core-js/features/async-iterator/map":["es.object.to-string","es.promise","esnext.async-iterator.constructor","esnext.async-iterator.map"],"core-js/features/async-iterator/reduce":["es.object.to-string","es.promise","esnext.async-iterator.constructor","esnext.async-iterator.reduce"],"core-js/features/async-iterator/some":["es.object.to-string","es.promise","esnext.async-iterator.constructor","esnext.async-iterator.some"],"core-js/features/async-iterator/take":["es.object.to-string","es.promise","esnext.async-iterator.constructor","esnext.async-iterator.take"],"core-js/features/async-iterator/to-array":["es.object.to-string","es.promise","esnext.async-iterator.constructor","esnext.async-iterator.to-array"],"core-js/features/atob":["es.error.to-string","es.object.to-string","web.atob","web.dom-exception.constructor","web.dom-exception.stack","web.dom-exception.to-string-tag"],"core-js/features/bigint":["es.object.to-string","esnext.bigint.range"],"core-js/features/bigint/range":["es.object.to-string","esnext.bigint.range"],"core-js/features/btoa":["es.error.to-string","es.object.to-string","web.btoa","web.dom-exception.constructor","web.dom-exception.stack","web.dom-exception.to-string-tag"],"core-js/features/clear-immediate":["web.immediate"],"core-js/features/composite-key":["esnext.composite-key"],"core-js/features/composite-symbol":["es.symbol","esnext.composite-symbol"],"core-js/features/data-view":["es.array-buffer.constructor","es.array-buffer.slice","es.data-view","es.object.to-string"],"core-js/features/date":["es.date.get-year","es.date.now","es.date.set-year","es.date.to-gmt-string","es.date.to-iso-string","es.date.to-json","es.date.to-primitive","es.date.to-string"],"core-js/features/date/get-year":["es.date.get-year"],"core-js/features/date/now":["es.date.now"],"core-js/features/date/set-year":["es.date.set-year"],"core-js/features/date/to-gmt-string":["es.date.to-gmt-string"],"core-js/features/date/to-iso-string":["es.date.to-iso-string","es.date.to-json"],"core-js/features/date/to-json":["es.date.to-json"],"core-js/features/date/to-primitive":["es.date.to-primitive"],"core-js/features/date/to-string":["es.date.to-string"],"core-js/features/disposable-stack":["es.error.cause","es.error.to-string","es.object.to-string","esnext.suppressed-error.constructor","esnext.disposable-stack.constructor","esnext.iterator.dispose"],"core-js/features/disposable-stack/constructor":["es.error.cause","es.error.to-string","es.object.to-string","esnext.suppressed-error.constructor","esnext.disposable-stack.constructor","esnext.iterator.dispose"],"core-js/features/dom-collections":["es.array.iterator","es.object.to-string","web.dom-collections.for-each","web.dom-collections.iterator"],"core-js/features/dom-collections/for-each":["web.dom-collections.for-each"],"core-js/features/dom-collections/iterator":["es.object.to-string","web.dom-collections.iterator"],"core-js/features/dom-exception":["es.error.to-string","web.dom-exception.constructor","web.dom-exception.stack","web.dom-exception.to-string-tag"],"core-js/features/dom-exception/constructor":["es.error.to-string","web.dom-exception.constructor","web.dom-exception.stack"],"core-js/features/dom-exception/to-string-tag":["web.dom-exception.to-string-tag"],"core-js/features/error":["es.error.cause","es.error.to-string"],"core-js/features/error/constructor":["es.error.cause"],"core-js/features/error/to-string":["es.error.to-string"],"core-js/features/escape":["es.escape"],"core-js/features/function":["es.function.bind","es.function.has-instance","es.function.name","esnext.function.demethodize","esnext.function.is-callable","esnext.function.is-constructor","esnext.function.metadata","esnext.function.un-this"],"core-js/features/function/bind":["es.function.bind"],"core-js/features/function/demethodize":["esnext.function.demethodize"],"core-js/features/function/has-instance":["es.function.has-instance"],"core-js/features/function/is-callable":["esnext.function.is-callable"],"core-js/features/function/is-constructor":["esnext.function.is-constructor"],"core-js/features/function/metadata":["esnext.function.metadata"],"core-js/features/function/name":["es.function.name"],"core-js/features/function/un-this":["esnext.function.un-this"],"core-js/features/function/virtual":["es.function.bind","esnext.function.demethodize","esnext.function.un-this"],"core-js/features/function/virtual/bind":["es.function.bind"],"core-js/features/function/virtual/demethodize":["esnext.function.demethodize"],"core-js/features/function/virtual/un-this":["esnext.function.un-this"],"core-js/features/get-iterator":["es.array.iterator","es.string.iterator","web.dom-collections.iterator"],"core-js/features/get-iterator-method":["es.array.iterator","es.string.iterator","web.dom-collections.iterator"],"core-js/features/global-this":["es.global-this","esnext.global-this"],"core-js/features/instance/at":["es.array.at","es.string.at-alternative","esnext.array.at","esnext.string.at"],"core-js/features/instance/bind":["es.function.bind"],"core-js/features/instance/code-point-at":["es.string.code-point-at"],"core-js/features/instance/code-points":["es.object.to-string","esnext.string.code-points"],"core-js/features/instance/concat":["es.array.concat"],"core-js/features/instance/copy-within":["es.array.copy-within"],"core-js/features/instance/demethodize":["esnext.function.demethodize"],"core-js/features/instance/ends-with":["es.string.ends-with"],"core-js/features/instance/entries":["es.array.iterator","es.object.to-string","web.dom-collections.iterator"],"core-js/features/instance/every":["es.array.every"],"core-js/features/instance/fill":["es.array.fill"],"core-js/features/instance/filter":["es.array.filter"],"core-js/features/instance/filter-out":["esnext.array.filter-out"],"core-js/features/instance/filter-reject":["esnext.array.filter-reject"],"core-js/features/instance/find":["es.array.find"],"core-js/features/instance/find-index":["es.array.find-index"],"core-js/features/instance/find-last":["es.array.find-last","esnext.array.find-last"],"core-js/features/instance/find-last-index":["es.array.find-last-index","esnext.array.find-last-index"],"core-js/features/instance/flags":["es.regexp.flags"],"core-js/features/instance/flat":["es.array.flat","es.array.unscopables.flat"],"core-js/features/instance/flat-map":["es.array.flat-map","es.array.unscopables.flat-map"],"core-js/features/instance/for-each":["es.array.for-each","web.dom-collections.iterator"],"core-js/features/instance/group":["esnext.array.group"],"core-js/features/instance/group-by":["esnext.array.group-by"],"core-js/features/instance/group-by-to-map":["es.map","es.object.to-string","esnext.array.group-by-to-map"],"core-js/features/instance/group-to-map":["es.map","es.object.to-string","esnext.array.group-to-map"],"core-js/features/instance/includes":["es.array.includes","es.string.includes"],"core-js/features/instance/index-of":["es.array.index-of"],"core-js/features/instance/is-well-formed":["es.string.is-well-formed"],"core-js/features/instance/keys":["es.array.iterator","es.object.to-string","web.dom-collections.iterator"],"core-js/features/instance/last-index-of":["es.array.last-index-of"],"core-js/features/instance/map":["es.array.map"],"core-js/features/instance/match-all":["es.object.to-string","es.regexp.exec","es.string.match-all","esnext.string.match-all"],"core-js/features/instance/pad-end":["es.string.pad-end"],"core-js/features/instance/pad-start":["es.string.pad-start"],"core-js/features/instance/push":["es.array.push"],"core-js/features/instance/reduce":["es.array.reduce"],"core-js/features/instance/reduce-right":["es.array.reduce-right"],"core-js/features/instance/repeat":["es.string.repeat"],"core-js/features/instance/replace-all":["es.regexp.exec","es.string.replace","es.string.replace-all","esnext.string.replace-all"],"core-js/features/instance/reverse":["es.array.reverse"],"core-js/features/instance/slice":["es.array.slice"],"core-js/features/instance/some":["es.array.some"],"core-js/features/instance/sort":["es.array.sort"],"core-js/features/instance/splice":["es.array.splice"],"core-js/features/instance/starts-with":["es.string.starts-with"],"core-js/features/instance/to-reversed":["es.array.to-reversed","esnext.array.to-reversed"],"core-js/features/instance/to-sorted":["es.array.sort","es.array.to-sorted","esnext.array.to-sorted"],"core-js/features/instance/to-spliced":["es.array.to-spliced","esnext.array.to-spliced"],"core-js/features/instance/to-well-formed":["es.string.to-well-formed"],"core-js/features/instance/trim":["es.string.trim"],"core-js/features/instance/trim-end":["es.string.trim-end"],"core-js/features/instance/trim-left":["es.string.trim-start"],"core-js/features/instance/trim-right":["es.string.trim-end"],"core-js/features/instance/trim-start":["es.string.trim-start"],"core-js/features/instance/un-this":["esnext.function.un-this"],"core-js/features/instance/unique-by":["es.map","esnext.array.unique-by"],"core-js/features/instance/unshift":["es.array.unshift"],"core-js/features/instance/values":["es.array.iterator","es.object.to-string","web.dom-collections.iterator"],"core-js/features/instance/with":["es.array.with","esnext.array.with"],"core-js/features/is-iterable":["es.array.iterator","es.string.iterator","web.dom-collections.iterator"],"core-js/features/iterator":["es.array.iterator","es.object.to-string","es.promise","es.string.iterator","esnext.iterator.constructor","esnext.iterator.as-indexed-pairs","esnext.iterator.dispose","esnext.iterator.drop","esnext.iterator.every","esnext.iterator.filter","esnext.iterator.find","esnext.iterator.flat-map","esnext.iterator.for-each","esnext.iterator.from","esnext.iterator.indexed","esnext.iterator.map","esnext.iterator.range","esnext.iterator.reduce","esnext.iterator.some","esnext.iterator.take","esnext.iterator.to-array","esnext.iterator.to-async","web.dom-collections.iterator"],"core-js/features/iterator/as-indexed-pairs":["es.object.to-string","esnext.iterator.constructor","esnext.iterator.as-indexed-pairs"],"core-js/features/iterator/dispose":["esnext.iterator.dispose"],"core-js/features/iterator/drop":["es.object.to-string","esnext.iterator.constructor","esnext.iterator.drop"],"core-js/features/iterator/every":["es.object.to-string","esnext.iterator.constructor","esnext.iterator.every"],"core-js/features/iterator/filter":["es.object.to-string","esnext.iterator.constructor","esnext.iterator.filter"],"core-js/features/iterator/find":["es.object.to-string","esnext.iterator.constructor","esnext.iterator.find"],"core-js/features/iterator/flat-map":["es.object.to-string","esnext.iterator.constructor","esnext.iterator.flat-map"],"core-js/features/iterator/for-each":["es.object.to-string","esnext.iterator.constructor","esnext.iterator.for-each"],"core-js/features/iterator/from":["es.array.iterator","es.object.to-string","es.promise","es.string.iterator","esnext.iterator.constructor","esnext.iterator.dispose","esnext.iterator.drop","esnext.iterator.every","esnext.iterator.filter","esnext.iterator.find","esnext.iterator.flat-map","esnext.iterator.for-each","esnext.iterator.from","esnext.iterator.map","esnext.iterator.reduce","esnext.iterator.some","esnext.iterator.take","esnext.iterator.to-array","esnext.iterator.to-async","web.dom-collections.iterator"],"core-js/features/iterator/indexed":["es.object.to-string","esnext.iterator.constructor","esnext.iterator.indexed"],"core-js/features/iterator/map":["es.object.to-string","esnext.iterator.constructor","esnext.iterator.map"],"core-js/features/iterator/range":["es.object.to-string","esnext.iterator.constructor","esnext.iterator.range"],"core-js/features/iterator/reduce":["es.object.to-string","esnext.iterator.constructor","esnext.iterator.reduce"],"core-js/features/iterator/some":["es.object.to-string","esnext.iterator.constructor","esnext.iterator.some"],"core-js/features/iterator/take":["es.object.to-string","esnext.iterator.constructor","esnext.iterator.take"],"core-js/features/iterator/to-array":["es.object.to-string","esnext.iterator.constructor","esnext.iterator.to-array"],"core-js/features/iterator/to-async":["es.object.to-string","es.promise","esnext.iterator.constructor","esnext.iterator.to-async"],"core-js/features/json":["es.json.stringify","es.json.to-string-tag","es.object.create","es.object.freeze","es.object.keys","esnext.json.is-raw-json","esnext.json.parse","esnext.json.raw-json"],"core-js/features/json/is-raw-json":["esnext.json.is-raw-json"],"core-js/features/json/parse":["es.object.keys","esnext.json.parse"],"core-js/features/json/raw-json":["es.object.create","es.object.freeze","esnext.json.raw-json"],"core-js/features/json/stringify":["es.json.stringify"],"core-js/features/json/to-string-tag":["es.json.to-string-tag"],"core-js/features/map":["es.array.iterator","es.map","es.object.to-string","es.string.iterator","esnext.map.delete-all","esnext.map.emplace","esnext.map.every","esnext.map.filter","esnext.map.find","esnext.map.find-key","esnext.map.from","esnext.map.group-by","esnext.map.includes","esnext.map.key-by","esnext.map.key-of","esnext.map.map-keys","esnext.map.map-values","esnext.map.merge","esnext.map.of","esnext.map.reduce","esnext.map.some","esnext.map.update","esnext.map.update-or-insert","esnext.map.upsert","web.dom-collections.iterator"],"core-js/features/map/delete-all":["es.map","esnext.map.delete-all"],"core-js/features/map/emplace":["es.map","esnext.map.emplace"],"core-js/features/map/every":["es.map","esnext.map.every"],"core-js/features/map/filter":["es.map","esnext.map.filter"],"core-js/features/map/find":["es.map","esnext.map.find"],"core-js/features/map/find-key":["es.map","esnext.map.find-key"],"core-js/features/map/from":["es.array.iterator","es.map","es.string.iterator","esnext.map.from","web.dom-collections.iterator"],"core-js/features/map/group-by":["es.map","esnext.map.group-by"],"core-js/features/map/includes":["es.map","esnext.map.includes"],"core-js/features/map/key-by":["es.map","esnext.map.key-by"],"core-js/features/map/key-of":["es.map","esnext.map.key-of"],"core-js/features/map/map-keys":["es.map","esnext.map.map-keys"],"core-js/features/map/map-values":["es.map","esnext.map.map-values"],"core-js/features/map/merge":["es.map","esnext.map.merge"],"core-js/features/map/of":["es.array.iterator","es.map","esnext.map.of"],"core-js/features/map/reduce":["es.map","esnext.map.reduce"],"core-js/features/map/some":["es.map","esnext.map.some"],"core-js/features/map/update":["es.map","esnext.map.update"],"core-js/features/map/update-or-insert":["es.map","esnext.map.update-or-insert"],"core-js/features/map/upsert":["es.map","esnext.map.upsert"],"core-js/features/math":["es.math.acosh","es.math.asinh","es.math.atanh","es.math.cbrt","es.math.clz32","es.math.cosh","es.math.expm1","es.math.fround","es.math.hypot","es.math.imul","es.math.log10","es.math.log1p","es.math.log2","es.math.sign","es.math.sinh","es.math.tanh","es.math.to-string-tag","es.math.trunc","esnext.math.clamp","esnext.math.deg-per-rad","esnext.math.degrees","esnext.math.fscale","esnext.math.iaddh","esnext.math.imulh","esnext.math.isubh","esnext.math.rad-per-deg","esnext.math.radians","esnext.math.scale","esnext.math.seeded-prng","esnext.math.signbit","esnext.math.umulh"],"core-js/features/math/acosh":["es.math.acosh"],"core-js/features/math/asinh":["es.math.asinh"],"core-js/features/math/atanh":["es.math.atanh"],"core-js/features/math/cbrt":["es.math.cbrt"],"core-js/features/math/clamp":["esnext.math.clamp"],"core-js/features/math/clz32":["es.math.clz32"],"core-js/features/math/cosh":["es.math.cosh"],"core-js/features/math/deg-per-rad":["esnext.math.deg-per-rad"],"core-js/features/math/degrees":["esnext.math.degrees"],"core-js/features/math/expm1":["es.math.expm1"],"core-js/features/math/fround":["es.math.fround"],"core-js/features/math/fscale":["esnext.math.fscale"],"core-js/features/math/hypot":["es.math.hypot"],"core-js/features/math/iaddh":["esnext.math.iaddh"],"core-js/features/math/imul":["es.math.imul"],"core-js/features/math/imulh":["esnext.math.imulh"],"core-js/features/math/isubh":["esnext.math.isubh"],"core-js/features/math/log10":["es.math.log10"],"core-js/features/math/log1p":["es.math.log1p"],"core-js/features/math/log2":["es.math.log2"],"core-js/features/math/rad-per-deg":["esnext.math.rad-per-deg"],"core-js/features/math/radians":["esnext.math.radians"],"core-js/features/math/scale":["esnext.math.scale"],"core-js/features/math/seeded-prng":["esnext.math.seeded-prng"],"core-js/features/math/sign":["es.math.sign"],"core-js/features/math/signbit":["esnext.math.signbit"],"core-js/features/math/sinh":["es.math.sinh"],"core-js/features/math/tanh":["es.math.tanh"],"core-js/features/math/to-string-tag":["es.math.to-string-tag"],"core-js/features/math/trunc":["es.math.trunc"],"core-js/features/math/umulh":["esnext.math.umulh"],"core-js/features/number":["es.number.constructor","es.number.epsilon","es.number.is-finite","es.number.is-integer","es.number.is-nan","es.number.is-safe-integer","es.number.max-safe-integer","es.number.min-safe-integer","es.number.parse-float","es.number.parse-int","es.number.to-exponential","es.number.to-fixed","es.number.to-precision","es.object.to-string","esnext.number.from-string","esnext.number.range"],"core-js/features/number/constructor":["es.number.constructor"],"core-js/features/number/epsilon":["es.number.epsilon"],"core-js/features/number/from-string":["esnext.number.from-string"],"core-js/features/number/is-finite":["es.number.is-finite"],"core-js/features/number/is-integer":["es.number.is-integer"],"core-js/features/number/is-nan":["es.number.is-nan"],"core-js/features/number/is-safe-integer":["es.number.is-safe-integer"],"core-js/features/number/max-safe-integer":["es.number.max-safe-integer"],"core-js/features/number/min-safe-integer":["es.number.min-safe-integer"],"core-js/features/number/parse-float":["es.number.parse-float"],"core-js/features/number/parse-int":["es.number.parse-int"],"core-js/features/number/range":["es.object.to-string","esnext.number.range"],"core-js/features/number/to-exponential":["es.number.to-exponential"],"core-js/features/number/to-fixed":["es.number.to-fixed"],"core-js/features/number/to-precision":["es.number.to-precision"],"core-js/features/number/virtual":["es.number.to-exponential","es.number.to-fixed","es.number.to-precision"],"core-js/features/number/virtual/to-exponential":["es.number.to-exponential"],"core-js/features/number/virtual/to-fixed":["es.number.to-fixed"],"core-js/features/number/virtual/to-precision":["es.number.to-precision"],"core-js/features/object":["es.symbol","es.json.to-string-tag","es.math.to-string-tag","es.object.assign","es.object.create","es.object.define-getter","es.object.define-properties","es.object.define-property","es.object.define-setter","es.object.entries","es.object.freeze","es.object.from-entries","es.object.get-own-property-descriptor","es.object.get-own-property-descriptors","es.object.get-own-property-names","es.object.get-prototype-of","es.object.has-own","es.object.is","es.object.is-extensible","es.object.is-frozen","es.object.is-sealed","es.object.keys","es.object.lookup-getter","es.object.lookup-setter","es.object.prevent-extensions","es.object.proto","es.object.seal","es.object.set-prototype-of","es.object.to-string","es.object.values","es.reflect.to-string-tag","esnext.object.has-own","esnext.object.iterate-entries","esnext.object.iterate-keys","esnext.object.iterate-values","esnext.object.group-by","web.dom-collections.iterator"],"core-js/features/object/assign":["es.object.assign"],"core-js/features/object/create":["es.object.create"],"core-js/features/object/define-getter":["es.object.define-getter"],"core-js/features/object/define-properties":["es.object.define-properties"],"core-js/features/object/define-property":["es.object.define-property"],"core-js/features/object/define-setter":["es.object.define-setter"],"core-js/features/object/entries":["es.object.entries"],"core-js/features/object/freeze":["es.object.freeze"],"core-js/features/object/from-entries":["es.array.iterator","es.object.from-entries","web.dom-collections.iterator"],"core-js/features/object/get-own-property-descriptor":["es.object.get-own-property-descriptor"],"core-js/features/object/get-own-property-descriptors":["es.object.get-own-property-descriptors"],"core-js/features/object/get-own-property-names":["es.object.get-own-property-names"],"core-js/features/object/get-own-property-symbols":["es.symbol"],"core-js/features/object/get-prototype-of":["es.object.get-prototype-of"],"core-js/features/object/group-by":["es.object.create","esnext.object.group-by"],"core-js/features/object/has-own":["es.object.has-own","esnext.object.has-own"],"core-js/features/object/is":["es.object.is"],"core-js/features/object/is-extensible":["es.object.is-extensible"],"core-js/features/object/is-frozen":["es.object.is-frozen"],"core-js/features/object/is-sealed":["es.object.is-sealed"],"core-js/features/object/iterate-entries":["esnext.object.iterate-entries"],"core-js/features/object/iterate-keys":["esnext.object.iterate-keys"],"core-js/features/object/iterate-values":["esnext.object.iterate-values"],"core-js/features/object/keys":["es.object.keys"],"core-js/features/object/lookup-getter":["es.object.lookup-getter"],"core-js/features/object/lookup-setter":["es.object.lookup-setter"],"core-js/features/object/prevent-extensions":["es.object.prevent-extensions"],"core-js/features/object/proto":["es.object.proto"],"core-js/features/object/seal":["es.object.seal"],"core-js/features/object/set-prototype-of":["es.object.set-prototype-of"],"core-js/features/object/to-string":["es.json.to-string-tag","es.math.to-string-tag","es.object.to-string","es.reflect.to-string-tag"],"core-js/features/object/values":["es.object.values"],"core-js/features/observable":["es.object.to-string","es.string.iterator","esnext.observable","esnext.symbol.observable","web.dom-collections.iterator"],"core-js/features/parse-float":["es.parse-float"],"core-js/features/parse-int":["es.parse-int"],"core-js/features/promise":["es.aggregate-error","es.array.iterator","es.object.to-string","es.promise","es.promise.all-settled","es.promise.any","es.promise.finally","es.string.iterator","esnext.aggregate-error","esnext.promise.all-settled","esnext.promise.any","esnext.promise.try","esnext.promise.with-resolvers","web.dom-collections.iterator"],"core-js/features/promise/all-settled":["es.array.iterator","es.object.to-string","es.promise","es.promise.all-settled","es.string.iterator","esnext.promise.all-settled","web.dom-collections.iterator"],"core-js/features/promise/any":["es.aggregate-error","es.array.iterator","es.object.to-string","es.promise","es.promise.any","es.string.iterator","esnext.aggregate-error","esnext.promise.any","web.dom-collections.iterator"],"core-js/features/promise/finally":["es.object.to-string","es.promise","es.promise.finally"],"core-js/features/promise/try":["es.promise","esnext.promise.try"],"core-js/features/promise/with-resolvers":["es.promise","esnext.promise.with-resolvers"],"core-js/features/queue-microtask":["web.queue-microtask"],"core-js/features/reflect":["es.object.to-string","es.reflect.apply","es.reflect.construct","es.reflect.define-property","es.reflect.delete-property","es.reflect.get","es.reflect.get-own-property-descriptor","es.reflect.get-prototype-of","es.reflect.has","es.reflect.is-extensible","es.reflect.own-keys","es.reflect.prevent-extensions","es.reflect.set","es.reflect.set-prototype-of","es.reflect.to-string-tag","esnext.reflect.define-metadata","esnext.reflect.delete-metadata","esnext.reflect.get-metadata","esnext.reflect.get-metadata-keys","esnext.reflect.get-own-metadata","esnext.reflect.get-own-metadata-keys","esnext.reflect.has-metadata","esnext.reflect.has-own-metadata","esnext.reflect.metadata"],"core-js/features/reflect/apply":["es.reflect.apply"],"core-js/features/reflect/construct":["es.reflect.construct"],"core-js/features/reflect/define-metadata":["esnext.reflect.define-metadata"],"core-js/features/reflect/define-property":["es.reflect.define-property"],"core-js/features/reflect/delete-metadata":["esnext.reflect.delete-metadata"],"core-js/features/reflect/delete-property":["es.reflect.delete-property"],"core-js/features/reflect/get":["es.reflect.get"],"core-js/features/reflect/get-metadata":["esnext.reflect.get-metadata"],"core-js/features/reflect/get-metadata-keys":["esnext.reflect.get-metadata-keys"],"core-js/features/reflect/get-own-metadata":["esnext.reflect.get-own-metadata"],"core-js/features/reflect/get-own-metadata-keys":["esnext.reflect.get-own-metadata-keys"],"core-js/features/reflect/get-own-property-descriptor":["es.reflect.get-own-property-descriptor"],"core-js/features/reflect/get-prototype-of":["es.reflect.get-prototype-of"],"core-js/features/reflect/has":["es.reflect.has"],"core-js/features/reflect/has-metadata":["esnext.reflect.has-metadata"],"core-js/features/reflect/has-own-metadata":["esnext.reflect.has-own-metadata"],"core-js/features/reflect/is-extensible":["es.reflect.is-extensible"],"core-js/features/reflect/metadata":["esnext.reflect.metadata"],"core-js/features/reflect/own-keys":["es.reflect.own-keys"],"core-js/features/reflect/prevent-extensions":["es.reflect.prevent-extensions"],"core-js/features/reflect/set":["es.reflect.set"],"core-js/features/reflect/set-prototype-of":["es.reflect.set-prototype-of"],"core-js/features/reflect/to-string-tag":["es.reflect.to-string-tag"],"core-js/features/regexp":["es.regexp.constructor","es.regexp.dot-all","es.regexp.exec","es.regexp.flags","es.regexp.sticky","es.regexp.test","es.regexp.to-string","es.string.match","es.string.replace","es.string.search","es.string.split"],"core-js/features/regexp/constructor":["es.regexp.constructor","es.regexp.dot-all","es.regexp.exec","es.regexp.sticky"],"core-js/features/regexp/dot-all":["es.regexp.constructor","es.regexp.dot-all","es.regexp.exec"],"core-js/features/regexp/flags":["es.regexp.flags"],"core-js/features/regexp/match":["es.regexp.exec","es.string.match"],"core-js/features/regexp/replace":["es.regexp.exec","es.string.replace"],"core-js/features/regexp/search":["es.regexp.exec","es.string.search"],"core-js/features/regexp/split":["es.regexp.exec","es.string.split"],"core-js/features/regexp/sticky":["es.regexp.constructor","es.regexp.exec","es.regexp.sticky"],"core-js/features/regexp/test":["es.regexp.exec","es.regexp.test"],"core-js/features/regexp/to-string":["es.regexp.to-string"],"core-js/features/self":["web.self"],"core-js/features/set":["es.array.iterator","es.object.to-string","es.set","es.string.iterator","esnext.set.add-all","esnext.set.delete-all","esnext.set.difference.v2","esnext.set.difference","esnext.set.every","esnext.set.filter","esnext.set.find","esnext.set.from","esnext.set.intersection.v2","esnext.set.intersection","esnext.set.is-disjoint-from.v2","esnext.set.is-disjoint-from","esnext.set.is-subset-of.v2","esnext.set.is-subset-of","esnext.set.is-superset-of.v2","esnext.set.is-superset-of","esnext.set.join","esnext.set.map","esnext.set.of","esnext.set.reduce","esnext.set.some","esnext.set.symmetric-difference.v2","esnext.set.symmetric-difference","esnext.set.union.v2","esnext.set.union","web.dom-collections.iterator"],"core-js/features/set-immediate":["web.immediate"],"core-js/features/set-interval":["web.timers"],"core-js/features/set-timeout":["web.timers"],"core-js/features/set/add-all":["es.set","esnext.set.add-all"],"core-js/features/set/delete-all":["es.set","esnext.set.delete-all"],"core-js/features/set/difference":["es.array.iterator","es.set","es.string.iterator","esnext.set.difference.v2","esnext.set.difference","web.dom-collections.iterator"],"core-js/features/set/every":["es.set","esnext.set.every"],"core-js/features/set/filter":["es.set","esnext.set.filter"],"core-js/features/set/find":["es.set","esnext.set.find"],"core-js/features/set/from":["es.array.iterator","es.set","es.string.iterator","esnext.set.from","web.dom-collections.iterator"],"core-js/features/set/intersection":["es.array.iterator","es.set","es.string.iterator","esnext.set.intersection.v2","esnext.set.intersection","web.dom-collections.iterator"],"core-js/features/set/is-disjoint-from":["es.array.iterator","es.set","es.string.iterator","esnext.set.is-disjoint-from.v2","esnext.set.is-disjoint-from","web.dom-collections.iterator"],"core-js/features/set/is-subset-of":["es.array.iterator","es.set","es.string.iterator","esnext.set.is-subset-of.v2","esnext.set.is-subset-of","web.dom-collections.iterator"],"core-js/features/set/is-superset-of":["es.array.iterator","es.set","es.string.iterator","esnext.set.is-superset-of.v2","esnext.set.is-superset-of","web.dom-collections.iterator"],"core-js/features/set/join":["es.set","esnext.set.join"],"core-js/features/set/map":["es.set","esnext.set.map"],"core-js/features/set/of":["es.array.iterator","es.set","esnext.set.of"],"core-js/features/set/reduce":["es.set","esnext.set.reduce"],"core-js/features/set/some":["es.set","esnext.set.some"],"core-js/features/set/symmetric-difference":["es.array.iterator","es.set","es.string.iterator","esnext.set.symmetric-difference.v2","esnext.set.symmetric-difference","web.dom-collections.iterator"],"core-js/features/set/union":["es.array.iterator","es.set","es.string.iterator","esnext.set.union.v2","esnext.set.union","web.dom-collections.iterator"],"core-js/features/string":["es.object.to-string","es.regexp.exec","es.string.at-alternative","es.string.code-point-at","es.string.ends-with","es.string.from-code-point","es.string.includes","es.string.is-well-formed","es.string.iterator","es.string.match","es.string.match-all","es.string.pad-end","es.string.pad-start","es.string.raw","es.string.repeat","es.string.replace","es.string.replace-all","es.string.search","es.string.split","es.string.starts-with","es.string.substr","es.string.to-well-formed","es.string.trim","es.string.trim-end","es.string.trim-start","es.string.anchor","es.string.big","es.string.blink","es.string.bold","es.string.fixed","es.string.fontcolor","es.string.fontsize","es.string.italics","es.string.link","es.string.small","es.string.strike","es.string.sub","es.string.sup","es.weak-map","esnext.string.at","esnext.string.cooked","esnext.string.code-points","esnext.string.dedent","esnext.string.is-well-formed","esnext.string.match-all","esnext.string.replace-all","esnext.string.to-well-formed"],"core-js/features/string/anchor":["es.string.anchor"],"core-js/features/string/at":["es.string.at-alternative","esnext.string.at"],"core-js/features/string/big":["es.string.big"],"core-js/features/string/blink":["es.string.blink"],"core-js/features/string/bold":["es.string.bold"],"core-js/features/string/code-point-at":["es.string.code-point-at"],"core-js/features/string/code-points":["es.object.to-string","esnext.string.code-points"],"core-js/features/string/cooked":["esnext.string.cooked"],"core-js/features/string/dedent":["es.string.from-code-point","es.weak-map","esnext.string.dedent"],"core-js/features/string/ends-with":["es.string.ends-with"],"core-js/features/string/fixed":["es.string.fixed"],"core-js/features/string/fontcolor":["es.string.fontcolor"],"core-js/features/string/fontsize":["es.string.fontsize"],"core-js/features/string/from-code-point":["es.string.from-code-point"],"core-js/features/string/includes":["es.string.includes"],"core-js/features/string/is-well-formed":["es.string.is-well-formed","esnext.string.is-well-formed"],"core-js/features/string/italics":["es.string.italics"],"core-js/features/string/iterator":["es.object.to-string","es.string.iterator"],"core-js/features/string/link":["es.string.link"],"core-js/features/string/match":["es.regexp.exec","es.string.match"],"core-js/features/string/match-all":["es.object.to-string","es.regexp.exec","es.string.match-all","esnext.string.match-all"],"core-js/features/string/pad-end":["es.string.pad-end"],"core-js/features/string/pad-start":["es.string.pad-start"],"core-js/features/string/raw":["es.string.raw"],"core-js/features/string/repeat":["es.string.repeat"],"core-js/features/string/replace":["es.regexp.exec","es.string.replace"],"core-js/features/string/replace-all":["es.regexp.exec","es.string.replace","es.string.replace-all","esnext.string.replace-all"],"core-js/features/string/search":["es.regexp.exec","es.string.search"],"core-js/features/string/small":["es.string.small"],"core-js/features/string/split":["es.regexp.exec","es.string.split"],"core-js/features/string/starts-with":["es.string.starts-with"],"core-js/features/string/strike":["es.string.strike"],"core-js/features/string/sub":["es.string.sub"],"core-js/features/string/substr":["es.string.substr"],"core-js/features/string/sup":["es.string.sup"],"core-js/features/string/to-well-formed":["es.string.to-well-formed","esnext.string.to-well-formed"],"core-js/features/string/trim":["es.string.trim"],"core-js/features/string/trim-end":["es.string.trim-end"],"core-js/features/string/trim-left":["es.string.trim-start"],"core-js/features/string/trim-right":["es.string.trim-end"],"core-js/features/string/trim-start":["es.string.trim-start"],"core-js/features/string/virtual":["es.object.to-string","es.regexp.exec","es.string.at-alternative","es.string.code-point-at","es.string.ends-with","es.string.includes","es.string.iterator","es.string.match","es.string.match-all","es.string.pad-end","es.string.pad-start","es.string.repeat","es.string.replace","es.string.replace-all","es.string.search","es.string.split","es.string.starts-with","es.string.substr","es.string.trim","es.string.trim-end","es.string.trim-start","es.string.anchor","es.string.big","es.string.blink","es.string.bold","es.string.fixed","es.string.fontcolor","es.string.fontsize","es.string.italics","es.string.link","es.string.small","es.string.strike","es.string.sub","es.string.sup","esnext.string.at","esnext.string.code-points","esnext.string.is-well-formed","esnext.string.match-all","esnext.string.replace-all","esnext.string.to-well-formed"],"core-js/features/string/virtual/anchor":["es.string.anchor"],"core-js/features/string/virtual/at":["es.string.at-alternative","esnext.string.at"],"core-js/features/string/virtual/big":["es.string.big"],"core-js/features/string/virtual/blink":["es.string.blink"],"core-js/features/string/virtual/bold":["es.string.bold"],"core-js/features/string/virtual/code-point-at":["es.string.code-point-at"],"core-js/features/string/virtual/code-points":["es.object.to-string","esnext.string.code-points"],"core-js/features/string/virtual/ends-with":["es.string.ends-with"],"core-js/features/string/virtual/fixed":["es.string.fixed"],"core-js/features/string/virtual/fontcolor":["es.string.fontcolor"],"core-js/features/string/virtual/fontsize":["es.string.fontsize"],"core-js/features/string/virtual/includes":["es.string.includes"],"core-js/features/string/virtual/is-well-formed":["es.string.is-well-formed","esnext.string.is-well-formed"],"core-js/features/string/virtual/italics":["es.string.italics"],"core-js/features/string/virtual/iterator":["es.object.to-string","es.string.iterator"],"core-js/features/string/virtual/link":["es.string.link"],"core-js/features/string/virtual/match-all":["es.object.to-string","es.regexp.exec","es.string.match-all","esnext.string.match-all"],"core-js/features/string/virtual/pad-end":["es.string.pad-end"],"core-js/features/string/virtual/pad-start":["es.string.pad-start"],"core-js/features/string/virtual/repeat":["es.string.repeat"],"core-js/features/string/virtual/replace-all":["es.regexp.exec","es.string.replace","es.string.replace-all","esnext.string.replace-all"],"core-js/features/string/virtual/small":["es.string.small"],"core-js/features/string/virtual/starts-with":["es.string.starts-with"],"core-js/features/string/virtual/strike":["es.string.strike"],"core-js/features/string/virtual/sub":["es.string.sub"],"core-js/features/string/virtual/substr":["es.string.substr"],"core-js/features/string/virtual/sup":["es.string.sup"],"core-js/features/string/virtual/to-well-formed":["es.string.to-well-formed","esnext.string.to-well-formed"],"core-js/features/string/virtual/trim":["es.string.trim"],"core-js/features/string/virtual/trim-end":["es.string.trim-end"],"core-js/features/string/virtual/trim-left":["es.string.trim-start"],"core-js/features/string/virtual/trim-right":["es.string.trim-end"],"core-js/features/string/virtual/trim-start":["es.string.trim-start"],"core-js/features/structured-clone":["es.error.to-string","es.array.iterator","es.map","es.object.keys","es.object.to-string","es.set","web.dom-exception.constructor","web.dom-exception.stack","web.dom-exception.to-string-tag","web.structured-clone"],"core-js/features/suppressed-error":["es.error.cause","es.error.to-string","esnext.suppressed-error.constructor"],"core-js/features/symbol":["es.symbol","es.symbol.description","es.symbol.async-iterator","es.symbol.has-instance","es.symbol.is-concat-spreadable","es.symbol.iterator","es.symbol.match","es.symbol.match-all","es.symbol.replace","es.symbol.search","es.symbol.species","es.symbol.split","es.symbol.to-primitive","es.symbol.to-string-tag","es.symbol.unscopables","es.array.concat","es.json.to-string-tag","es.math.to-string-tag","es.object.to-string","es.reflect.to-string-tag","esnext.function.metadata","esnext.symbol.async-dispose","esnext.symbol.dispose","esnext.symbol.is-registered-symbol","esnext.symbol.is-registered","esnext.symbol.is-well-known-symbol","esnext.symbol.is-well-known","esnext.symbol.matcher","esnext.symbol.metadata","esnext.symbol.metadata-key","esnext.symbol.observable","esnext.symbol.pattern-match","esnext.symbol.replace-all","web.dom-collections.iterator"],"core-js/features/symbol/async-dispose":["esnext.symbol.async-dispose"],"core-js/features/symbol/async-iterator":["es.symbol.async-iterator"],"core-js/features/symbol/description":["es.symbol.description"],"core-js/features/symbol/dispose":["esnext.symbol.dispose"],"core-js/features/symbol/for":["es.symbol"],"core-js/features/symbol/has-instance":["es.symbol.has-instance","es.function.has-instance"],"core-js/features/symbol/is-concat-spreadable":["es.symbol.is-concat-spreadable","es.array.concat"],"core-js/features/symbol/is-registered":["es.symbol","esnext.symbol.is-registered"],"core-js/features/symbol/is-registered-symbol":["es.symbol","esnext.symbol.is-registered-symbol"],"core-js/features/symbol/is-well-known":["es.symbol","esnext.symbol.is-well-known"],"core-js/features/symbol/is-well-known-symbol":["es.symbol","esnext.symbol.is-well-known-symbol"],"core-js/features/symbol/iterator":["es.symbol.iterator","es.array.iterator","es.object.to-string","es.string.iterator","web.dom-collections.iterator"],"core-js/features/symbol/key-for":["es.symbol"],"core-js/features/symbol/match":["es.symbol.match","es.regexp.exec","es.string.match"],"core-js/features/symbol/match-all":["es.symbol.match-all","es.object.to-string","es.regexp.exec","es.string.match-all"],"core-js/features/symbol/matcher":["esnext.symbol.matcher"],"core-js/features/symbol/metadata":["esnext.function.metadata","esnext.symbol.metadata"],"core-js/features/symbol/metadata-key":["esnext.symbol.metadata-key"],"core-js/features/symbol/observable":["esnext.symbol.observable"],"core-js/features/symbol/pattern-match":["esnext.symbol.pattern-match"],"core-js/features/symbol/replace":["es.symbol.replace","es.regexp.exec","es.string.replace"],"core-js/features/symbol/replace-all":["esnext.symbol.replace-all"],"core-js/features/symbol/search":["es.symbol.search","es.regexp.exec","es.string.search"],"core-js/features/symbol/species":["es.symbol.species"],"core-js/features/symbol/split":["es.symbol.split","es.regexp.exec","es.string.split"],"core-js/features/symbol/to-primitive":["es.symbol.to-primitive","es.date.to-primitive"],"core-js/features/symbol/to-string-tag":["es.symbol.to-string-tag","es.json.to-string-tag","es.math.to-string-tag","es.object.to-string","es.reflect.to-string-tag"],"core-js/features/symbol/unscopables":["es.symbol.unscopables"],"core-js/features/typed-array":["es.map","es.object.to-string","es.promise","es.string.iterator","es.typed-array.float32-array","es.typed-array.float64-array","es.typed-array.int8-array","es.typed-array.int16-array","es.typed-array.int32-array","es.typed-array.uint8-array","es.typed-array.uint8-clamped-array","es.typed-array.uint16-array","es.typed-array.uint32-array","es.typed-array.at","es.typed-array.copy-within","es.typed-array.every","es.typed-array.fill","es.typed-array.filter","es.typed-array.find","es.typed-array.find-index","es.typed-array.find-last","es.typed-array.find-last-index","es.typed-array.for-each","es.typed-array.from","es.typed-array.includes","es.typed-array.index-of","es.typed-array.iterator","es.typed-array.join","es.typed-array.last-index-of","es.typed-array.map","es.typed-array.of","es.typed-array.reduce","es.typed-array.reduce-right","es.typed-array.reverse","es.typed-array.set","es.typed-array.slice","es.typed-array.some","es.typed-array.sort","es.typed-array.subarray","es.typed-array.to-locale-string","es.typed-array.to-reversed","es.typed-array.to-sorted","es.typed-array.to-string","es.typed-array.with","esnext.typed-array.from-async","esnext.typed-array.at","esnext.typed-array.filter-out","esnext.typed-array.filter-reject","esnext.typed-array.find-last","esnext.typed-array.find-last-index","esnext.typed-array.group-by","esnext.typed-array.to-reversed","esnext.typed-array.to-sorted","esnext.typed-array.to-spliced","esnext.typed-array.unique-by","esnext.typed-array.with"],"core-js/features/typed-array/at":["es.typed-array.at","esnext.typed-array.at"],"core-js/features/typed-array/copy-within":["es.typed-array.copy-within"],"core-js/features/typed-array/entries":["es.object.to-string","es.typed-array.iterator"],"core-js/features/typed-array/every":["es.typed-array.every"],"core-js/features/typed-array/fill":["es.typed-array.fill"],"core-js/features/typed-array/filter":["es.typed-array.filter"],"core-js/features/typed-array/filter-out":["esnext.typed-array.filter-out"],"core-js/features/typed-array/filter-reject":["esnext.typed-array.filter-reject"],"core-js/features/typed-array/find":["es.typed-array.find"],"core-js/features/typed-array/find-index":["es.typed-array.find-index"],"core-js/features/typed-array/find-last":["es.typed-array.find-last","esnext.typed-array.find-last"],"core-js/features/typed-array/find-last-index":["es.typed-array.find-last-index","esnext.typed-array.find-last-index"],"core-js/features/typed-array/float32-array":["es.array-buffer.constructor","es.array-buffer.slice","es.map","es.object.to-string","es.promise","es.string.iterator","es.typed-array.float32-array","es.typed-array.at","es.typed-array.copy-within","es.typed-array.every","es.typed-array.fill","es.typed-array.filter","es.typed-array.find","es.typed-array.find-index","es.typed-array.find-last","es.typed-array.find-last-index","es.typed-array.for-each","es.typed-array.from","es.typed-array.includes","es.typed-array.index-of","es.typed-array.iterator","es.typed-array.join","es.typed-array.last-index-of","es.typed-array.map","es.typed-array.of","es.typed-array.reduce","es.typed-array.reduce-right","es.typed-array.reverse","es.typed-array.set","es.typed-array.slice","es.typed-array.some","es.typed-array.sort","es.typed-array.subarray","es.typed-array.to-locale-string","es.typed-array.to-reversed","es.typed-array.to-sorted","es.typed-array.to-string","es.typed-array.with","esnext.typed-array.from-async","esnext.typed-array.at","esnext.typed-array.filter-out","esnext.typed-array.filter-reject","esnext.typed-array.find-last","esnext.typed-array.find-last-index","esnext.typed-array.group-by","esnext.typed-array.to-reversed","esnext.typed-array.to-sorted","esnext.typed-array.to-spliced","esnext.typed-array.unique-by","esnext.typed-array.with"],"core-js/features/typed-array/float64-array":["es.array-buffer.constructor","es.array-buffer.slice","es.map","es.object.to-string","es.promise","es.string.iterator","es.typed-array.float64-array","es.typed-array.at","es.typed-array.copy-within","es.typed-array.every","es.typed-array.fill","es.typed-array.filter","es.typed-array.find","es.typed-array.find-index","es.typed-array.find-last","es.typed-array.find-last-index","es.typed-array.for-each","es.typed-array.from","es.typed-array.includes","es.typed-array.index-of","es.typed-array.iterator","es.typed-array.join","es.typed-array.last-index-of","es.typed-array.map","es.typed-array.of","es.typed-array.reduce","es.typed-array.reduce-right","es.typed-array.reverse","es.typed-array.set","es.typed-array.slice","es.typed-array.some","es.typed-array.sort","es.typed-array.subarray","es.typed-array.to-locale-string","es.typed-array.to-reversed","es.typed-array.to-sorted","es.typed-array.to-string","es.typed-array.with","esnext.typed-array.from-async","esnext.typed-array.at","esnext.typed-array.filter-out","esnext.typed-array.filter-reject","esnext.typed-array.find-last","esnext.typed-array.find-last-index","esnext.typed-array.group-by","esnext.typed-array.to-reversed","esnext.typed-array.to-sorted","esnext.typed-array.to-spliced","esnext.typed-array.unique-by","esnext.typed-array.with"],"core-js/features/typed-array/for-each":["es.typed-array.for-each"],"core-js/features/typed-array/from":["es.typed-array.from"],"core-js/features/typed-array/from-async":["esnext.typed-array.from-async"],"core-js/features/typed-array/group-by":["esnext.typed-array.group-by"],"core-js/features/typed-array/includes":["es.typed-array.includes"],"core-js/features/typed-array/index-of":["es.typed-array.index-of"],"core-js/features/typed-array/int16-array":["es.array-buffer.constructor","es.array-buffer.slice","es.map","es.object.to-string","es.promise","es.string.iterator","es.typed-array.int16-array","es.typed-array.at","es.typed-array.copy-within","es.typed-array.every","es.typed-array.fill","es.typed-array.filter","es.typed-array.find","es.typed-array.find-index","es.typed-array.find-last","es.typed-array.find-last-index","es.typed-array.for-each","es.typed-array.from","es.typed-array.includes","es.typed-array.index-of","es.typed-array.iterator","es.typed-array.join","es.typed-array.last-index-of","es.typed-array.map","es.typed-array.of","es.typed-array.reduce","es.typed-array.reduce-right","es.typed-array.reverse","es.typed-array.set","es.typed-array.slice","es.typed-array.some","es.typed-array.sort","es.typed-array.subarray","es.typed-array.to-locale-string","es.typed-array.to-reversed","es.typed-array.to-sorted","es.typed-array.to-string","es.typed-array.with","esnext.typed-array.from-async","esnext.typed-array.at","esnext.typed-array.filter-out","esnext.typed-array.filter-reject","esnext.typed-array.find-last","esnext.typed-array.find-last-index","esnext.typed-array.group-by","esnext.typed-array.to-reversed","esnext.typed-array.to-sorted","esnext.typed-array.to-spliced","esnext.typed-array.unique-by","esnext.typed-array.with"],"core-js/features/typed-array/int32-array":["es.array-buffer.constructor","es.array-buffer.slice","es.map","es.object.to-string","es.promise","es.string.iterator","es.typed-array.int32-array","es.typed-array.at","es.typed-array.copy-within","es.typed-array.every","es.typed-array.fill","es.typed-array.filter","es.typed-array.find","es.typed-array.find-index","es.typed-array.find-last","es.typed-array.find-last-index","es.typed-array.for-each","es.typed-array.from","es.typed-array.includes","es.typed-array.index-of","es.typed-array.iterator","es.typed-array.join","es.typed-array.last-index-of","es.typed-array.map","es.typed-array.of","es.typed-array.reduce","es.typed-array.reduce-right","es.typed-array.reverse","es.typed-array.set","es.typed-array.slice","es.typed-array.some","es.typed-array.sort","es.typed-array.subarray","es.typed-array.to-locale-string","es.typed-array.to-reversed","es.typed-array.to-sorted","es.typed-array.to-string","es.typed-array.with","esnext.typed-array.from-async","esnext.typed-array.at","esnext.typed-array.filter-out","esnext.typed-array.filter-reject","esnext.typed-array.find-last","esnext.typed-array.find-last-index","esnext.typed-array.group-by","esnext.typed-array.to-reversed","esnext.typed-array.to-sorted","esnext.typed-array.to-spliced","esnext.typed-array.unique-by","esnext.typed-array.with"],"core-js/features/typed-array/int8-array":["es.array-buffer.constructor","es.array-buffer.slice","es.map","es.object.to-string","es.promise","es.string.iterator","es.typed-array.int8-array","es.typed-array.at","es.typed-array.copy-within","es.typed-array.every","es.typed-array.fill","es.typed-array.filter","es.typed-array.find","es.typed-array.find-index","es.typed-array.find-last","es.typed-array.find-last-index","es.typed-array.for-each","es.typed-array.from","es.typed-array.includes","es.typed-array.index-of","es.typed-array.iterator","es.typed-array.join","es.typed-array.last-index-of","es.typed-array.map","es.typed-array.of","es.typed-array.reduce","es.typed-array.reduce-right","es.typed-array.reverse","es.typed-array.set","es.typed-array.slice","es.typed-array.some","es.typed-array.sort","es.typed-array.subarray","es.typed-array.to-locale-string","es.typed-array.to-reversed","es.typed-array.to-sorted","es.typed-array.to-string","es.typed-array.with","esnext.typed-array.from-async","esnext.typed-array.at","esnext.typed-array.filter-out","esnext.typed-array.filter-reject","esnext.typed-array.find-last","esnext.typed-array.find-last-index","esnext.typed-array.group-by","esnext.typed-array.to-reversed","esnext.typed-array.to-sorted","esnext.typed-array.to-spliced","esnext.typed-array.unique-by","esnext.typed-array.with"],"core-js/features/typed-array/iterator":["es.object.to-string","es.typed-array.iterator"],"core-js/features/typed-array/join":["es.typed-array.join"],"core-js/features/typed-array/keys":["es.object.to-string","es.typed-array.iterator"],"core-js/features/typed-array/last-index-of":["es.typed-array.last-index-of"],"core-js/features/typed-array/map":["es.typed-array.map"],"core-js/features/typed-array/methods":["es.map","es.object.to-string","es.promise","es.string.iterator","es.typed-array.at","es.typed-array.copy-within","es.typed-array.every","es.typed-array.fill","es.typed-array.filter","es.typed-array.find","es.typed-array.find-index","es.typed-array.find-last","es.typed-array.find-last-index","es.typed-array.for-each","es.typed-array.from","es.typed-array.includes","es.typed-array.index-of","es.typed-array.iterator","es.typed-array.join","es.typed-array.last-index-of","es.typed-array.map","es.typed-array.of","es.typed-array.reduce","es.typed-array.reduce-right","es.typed-array.reverse","es.typed-array.set","es.typed-array.slice","es.typed-array.some","es.typed-array.sort","es.typed-array.subarray","es.typed-array.to-locale-string","es.typed-array.to-reversed","es.typed-array.to-sorted","es.typed-array.to-string","es.typed-array.with","esnext.typed-array.from-async","esnext.typed-array.at","esnext.typed-array.filter-out","esnext.typed-array.filter-reject","esnext.typed-array.find-last","esnext.typed-array.find-last-index","esnext.typed-array.group-by","esnext.typed-array.to-reversed","esnext.typed-array.to-sorted","esnext.typed-array.to-spliced","esnext.typed-array.unique-by","esnext.typed-array.with"],"core-js/features/typed-array/of":["es.typed-array.of"],"core-js/features/typed-array/reduce":["es.typed-array.reduce"],"core-js/features/typed-array/reduce-right":["es.typed-array.reduce-right"],"core-js/features/typed-array/reverse":["es.typed-array.reverse"],"core-js/features/typed-array/set":["es.typed-array.set"],"core-js/features/typed-array/slice":["es.typed-array.slice"],"core-js/features/typed-array/some":["es.typed-array.some"],"core-js/features/typed-array/sort":["es.typed-array.sort"],"core-js/features/typed-array/subarray":["es.typed-array.subarray"],"core-js/features/typed-array/to-locale-string":["es.typed-array.to-locale-string"],"core-js/features/typed-array/to-reversed":["es.typed-array.to-reversed","esnext.typed-array.to-reversed"],"core-js/features/typed-array/to-sorted":["es.typed-array.sort","es.typed-array.to-sorted","esnext.typed-array.to-sorted"],"core-js/features/typed-array/to-spliced":["esnext.typed-array.to-spliced"],"core-js/features/typed-array/to-string":["es.typed-array.to-string"],"core-js/features/typed-array/uint16-array":["es.array-buffer.constructor","es.array-buffer.slice","es.map","es.object.to-string","es.promise","es.string.iterator","es.typed-array.uint16-array","es.typed-array.at","es.typed-array.copy-within","es.typed-array.every","es.typed-array.fill","es.typed-array.filter","es.typed-array.find","es.typed-array.find-index","es.typed-array.find-last","es.typed-array.find-last-index","es.typed-array.for-each","es.typed-array.from","es.typed-array.includes","es.typed-array.index-of","es.typed-array.iterator","es.typed-array.join","es.typed-array.last-index-of","es.typed-array.map","es.typed-array.of","es.typed-array.reduce","es.typed-array.reduce-right","es.typed-array.reverse","es.typed-array.set","es.typed-array.slice","es.typed-array.some","es.typed-array.sort","es.typed-array.subarray","es.typed-array.to-locale-string","es.typed-array.to-reversed","es.typed-array.to-sorted","es.typed-array.to-string","es.typed-array.with","esnext.typed-array.from-async","esnext.typed-array.at","esnext.typed-array.filter-out","esnext.typed-array.filter-reject","esnext.typed-array.find-last","esnext.typed-array.find-last-index","esnext.typed-array.group-by","esnext.typed-array.to-reversed","esnext.typed-array.to-sorted","esnext.typed-array.to-spliced","esnext.typed-array.unique-by","esnext.typed-array.with"],"core-js/features/typed-array/uint32-array":["es.array-buffer.constructor","es.array-buffer.slice","es.map","es.object.to-string","es.promise","es.string.iterator","es.typed-array.uint32-array","es.typed-array.at","es.typed-array.copy-within","es.typed-array.every","es.typed-array.fill","es.typed-array.filter","es.typed-array.find","es.typed-array.find-index","es.typed-array.find-last","es.typed-array.find-last-index","es.typed-array.for-each","es.typed-array.from","es.typed-array.includes","es.typed-array.index-of","es.typed-array.iterator","es.typed-array.join","es.typed-array.last-index-of","es.typed-array.map","es.typed-array.of","es.typed-array.reduce","es.typed-array.reduce-right","es.typed-array.reverse","es.typed-array.set","es.typed-array.slice","es.typed-array.some","es.typed-array.sort","es.typed-array.subarray","es.typed-array.to-locale-string","es.typed-array.to-reversed","es.typed-array.to-sorted","es.typed-array.to-string","es.typed-array.with","esnext.typed-array.from-async","esnext.typed-array.at","esnext.typed-array.filter-out","esnext.typed-array.filter-reject","esnext.typed-array.find-last","esnext.typed-array.find-last-index","esnext.typed-array.group-by","esnext.typed-array.to-reversed","esnext.typed-array.to-sorted","esnext.typed-array.to-spliced","esnext.typed-array.unique-by","esnext.typed-array.with"],"core-js/features/typed-array/uint8-array":["es.array-buffer.constructor","es.array-buffer.slice","es.map","es.object.to-string","es.promise","es.string.iterator","es.typed-array.uint8-array","es.typed-array.at","es.typed-array.copy-within","es.typed-array.every","es.typed-array.fill","es.typed-array.filter","es.typed-array.find","es.typed-array.find-index","es.typed-array.find-last","es.typed-array.find-last-index","es.typed-array.for-each","es.typed-array.from","es.typed-array.includes","es.typed-array.index-of","es.typed-array.iterator","es.typed-array.join","es.typed-array.last-index-of","es.typed-array.map","es.typed-array.of","es.typed-array.reduce","es.typed-array.reduce-right","es.typed-array.reverse","es.typed-array.set","es.typed-array.slice","es.typed-array.some","es.typed-array.sort","es.typed-array.subarray","es.typed-array.to-locale-string","es.typed-array.to-reversed","es.typed-array.to-sorted","es.typed-array.to-string","es.typed-array.with","esnext.typed-array.from-async","esnext.typed-array.at","esnext.typed-array.filter-out","esnext.typed-array.filter-reject","esnext.typed-array.find-last","esnext.typed-array.find-last-index","esnext.typed-array.group-by","esnext.typed-array.to-reversed","esnext.typed-array.to-sorted","esnext.typed-array.to-spliced","esnext.typed-array.unique-by","esnext.typed-array.with"],"core-js/features/typed-array/uint8-clamped-array":["es.array-buffer.constructor","es.array-buffer.slice","es.map","es.object.to-string","es.promise","es.string.iterator","es.typed-array.uint8-clamped-array","es.typed-array.at","es.typed-array.copy-within","es.typed-array.every","es.typed-array.fill","es.typed-array.filter","es.typed-array.find","es.typed-array.find-index","es.typed-array.find-last","es.typed-array.find-last-index","es.typed-array.for-each","es.typed-array.from","es.typed-array.includes","es.typed-array.index-of","es.typed-array.iterator","es.typed-array.join","es.typed-array.last-index-of","es.typed-array.map","es.typed-array.of","es.typed-array.reduce","es.typed-array.reduce-right","es.typed-array.reverse","es.typed-array.set","es.typed-array.slice","es.typed-array.some","es.typed-array.sort","es.typed-array.subarray","es.typed-array.to-locale-string","es.typed-array.to-reversed","es.typed-array.to-sorted","es.typed-array.to-string","es.typed-array.with","esnext.typed-array.from-async","esnext.typed-array.at","esnext.typed-array.filter-out","esnext.typed-array.filter-reject","esnext.typed-array.find-last","esnext.typed-array.find-last-index","esnext.typed-array.group-by","esnext.typed-array.to-reversed","esnext.typed-array.to-sorted","esnext.typed-array.to-spliced","esnext.typed-array.unique-by","esnext.typed-array.with"],"core-js/features/typed-array/unique-by":["es.map","esnext.typed-array.unique-by"],"core-js/features/typed-array/values":["es.object.to-string","es.typed-array.iterator"],"core-js/features/typed-array/with":["es.typed-array.with","esnext.typed-array.with"],"core-js/features/unescape":["es.unescape"],"core-js/features/url":["web.url","web.url.can-parse","web.url.to-json","web.url-search-params","web.url-search-params.delete","web.url-search-params.has","web.url-search-params.size"],"core-js/features/url-search-params":["web.dom-collections.iterator","web.url-search-params","web.url-search-params.delete","web.url-search-params.has","web.url-search-params.size"],"core-js/features/url/can-parse":["web.url","web.url.can-parse"],"core-js/features/url/to-json":["web.url.to-json"],"core-js/features/weak-map":["es.array.iterator","es.object.to-string","es.string.iterator","es.weak-map","esnext.weak-map.delete-all","esnext.weak-map.from","esnext.weak-map.of","esnext.weak-map.emplace","esnext.weak-map.upsert","web.dom-collections.iterator"],"core-js/features/weak-map/delete-all":["es.weak-map","esnext.weak-map.delete-all"],"core-js/features/weak-map/emplace":["es.weak-map","esnext.weak-map.emplace"],"core-js/features/weak-map/from":["es.array.iterator","es.string.iterator","es.weak-map","esnext.weak-map.from","web.dom-collections.iterator"],"core-js/features/weak-map/of":["es.array.iterator","es.weak-map","esnext.weak-map.of"],"core-js/features/weak-map/upsert":["es.weak-map","esnext.weak-map.upsert"],"core-js/features/weak-set":["es.array.iterator","es.object.to-string","es.string.iterator","es.weak-set","esnext.weak-set.add-all","esnext.weak-set.delete-all","esnext.weak-set.from","esnext.weak-set.of","web.dom-collections.iterator"],"core-js/features/weak-set/add-all":["es.weak-set","esnext.weak-set.add-all"],"core-js/features/weak-set/delete-all":["es.weak-set","esnext.weak-set.delete-all"],"core-js/features/weak-set/from":["es.array.iterator","es.string.iterator","es.weak-set","esnext.weak-set.from","web.dom-collections.iterator"],"core-js/features/weak-set/of":["es.array.iterator","es.weak-set","esnext.weak-set.of"],"core-js/full":["es.symbol","es.symbol.description","es.symbol.async-iterator","es.symbol.has-instance","es.symbol.is-concat-spreadable","es.symbol.iterator","es.symbol.match","es.symbol.match-all","es.symbol.replace","es.symbol.search","es.symbol.species","es.symbol.split","es.symbol.to-primitive","es.symbol.to-string-tag","es.symbol.unscopables","es.error.cause","es.error.to-string","es.aggregate-error","es.aggregate-error.cause","es.array.at","es.array.concat","es.array.copy-within","es.array.every","es.array.fill","es.array.filter","es.array.find","es.array.find-index","es.array.find-last","es.array.find-last-index","es.array.flat","es.array.flat-map","es.array.for-each","es.array.from","es.array.includes","es.array.index-of","es.array.is-array","es.array.iterator","es.array.join","es.array.last-index-of","es.array.map","es.array.of","es.array.push","es.array.reduce","es.array.reduce-right","es.array.reverse","es.array.slice","es.array.some","es.array.sort","es.array.species","es.array.splice","es.array.to-reversed","es.array.to-sorted","es.array.to-spliced","es.array.unscopables.flat","es.array.unscopables.flat-map","es.array.unshift","es.array.with","es.array-buffer.constructor","es.array-buffer.is-view","es.array-buffer.slice","es.data-view","es.date.get-year","es.date.now","es.date.set-year","es.date.to-gmt-string","es.date.to-iso-string","es.date.to-json","es.date.to-primitive","es.date.to-string","es.escape","es.function.bind","es.function.has-instance","es.function.name","es.global-this","es.json.stringify","es.json.to-string-tag","es.map","es.math.acosh","es.math.asinh","es.math.atanh","es.math.cbrt","es.math.clz32","es.math.cosh","es.math.expm1","es.math.fround","es.math.hypot","es.math.imul","es.math.log10","es.math.log1p","es.math.log2","es.math.sign","es.math.sinh","es.math.tanh","es.math.to-string-tag","es.math.trunc","es.number.constructor","es.number.epsilon","es.number.is-finite","es.number.is-integer","es.number.is-nan","es.number.is-safe-integer","es.number.max-safe-integer","es.number.min-safe-integer","es.number.parse-float","es.number.parse-int","es.number.to-exponential","es.number.to-fixed","es.number.to-precision","es.object.assign","es.object.create","es.object.define-getter","es.object.define-properties","es.object.define-property","es.object.define-setter","es.object.entries","es.object.freeze","es.object.from-entries","es.object.get-own-property-descriptor","es.object.get-own-property-descriptors","es.object.get-own-property-names","es.object.get-prototype-of","es.object.has-own","es.object.is","es.object.is-extensible","es.object.is-frozen","es.object.is-sealed","es.object.keys","es.object.lookup-getter","es.object.lookup-setter","es.object.prevent-extensions","es.object.proto","es.object.seal","es.object.set-prototype-of","es.object.to-string","es.object.values","es.parse-float","es.parse-int","es.promise","es.promise.all-settled","es.promise.any","es.promise.finally","es.reflect.apply","es.reflect.construct","es.reflect.define-property","es.reflect.delete-property","es.reflect.get","es.reflect.get-own-property-descriptor","es.reflect.get-prototype-of","es.reflect.has","es.reflect.is-extensible","es.reflect.own-keys","es.reflect.prevent-extensions","es.reflect.set","es.reflect.set-prototype-of","es.reflect.to-string-tag","es.regexp.constructor","es.regexp.dot-all","es.regexp.exec","es.regexp.flags","es.regexp.sticky","es.regexp.test","es.regexp.to-string","es.set","es.string.at-alternative","es.string.code-point-at","es.string.ends-with","es.string.from-code-point","es.string.includes","es.string.is-well-formed","es.string.iterator","es.string.match","es.string.match-all","es.string.pad-end","es.string.pad-start","es.string.raw","es.string.repeat","es.string.replace","es.string.replace-all","es.string.search","es.string.split","es.string.starts-with","es.string.substr","es.string.to-well-formed","es.string.trim","es.string.trim-end","es.string.trim-start","es.string.anchor","es.string.big","es.string.blink","es.string.bold","es.string.fixed","es.string.fontcolor","es.string.fontsize","es.string.italics","es.string.link","es.string.small","es.string.strike","es.string.sub","es.string.sup","es.typed-array.float32-array","es.typed-array.float64-array","es.typed-array.int8-array","es.typed-array.int16-array","es.typed-array.int32-array","es.typed-array.uint8-array","es.typed-array.uint8-clamped-array","es.typed-array.uint16-array","es.typed-array.uint32-array","es.typed-array.at","es.typed-array.copy-within","es.typed-array.every","es.typed-array.fill","es.typed-array.filter","es.typed-array.find","es.typed-array.find-index","es.typed-array.find-last","es.typed-array.find-last-index","es.typed-array.for-each","es.typed-array.from","es.typed-array.includes","es.typed-array.index-of","es.typed-array.iterator","es.typed-array.join","es.typed-array.last-index-of","es.typed-array.map","es.typed-array.of","es.typed-array.reduce","es.typed-array.reduce-right","es.typed-array.reverse","es.typed-array.set","es.typed-array.slice","es.typed-array.some","es.typed-array.sort","es.typed-array.subarray","es.typed-array.to-locale-string","es.typed-array.to-reversed","es.typed-array.to-sorted","es.typed-array.to-string","es.typed-array.with","es.unescape","es.weak-map","es.weak-set","esnext.aggregate-error","esnext.suppressed-error.constructor","esnext.array.from-async","esnext.array.at","esnext.array.filter-out","esnext.array.filter-reject","esnext.array.find-last","esnext.array.find-last-index","esnext.array.group","esnext.array.group-by","esnext.array.group-by-to-map","esnext.array.group-to-map","esnext.array.is-template-object","esnext.array.last-index","esnext.array.last-item","esnext.array.to-reversed","esnext.array.to-sorted","esnext.array.to-spliced","esnext.array.unique-by","esnext.array.with","esnext.array-buffer.detached","esnext.array-buffer.transfer","esnext.array-buffer.transfer-to-fixed-length","esnext.async-disposable-stack.constructor","esnext.async-iterator.constructor","esnext.async-iterator.as-indexed-pairs","esnext.async-iterator.async-dispose","esnext.async-iterator.drop","esnext.async-iterator.every","esnext.async-iterator.filter","esnext.async-iterator.find","esnext.async-iterator.flat-map","esnext.async-iterator.for-each","esnext.async-iterator.from","esnext.async-iterator.indexed","esnext.async-iterator.map","esnext.async-iterator.reduce","esnext.async-iterator.some","esnext.async-iterator.take","esnext.async-iterator.to-array","esnext.bigint.range","esnext.composite-key","esnext.composite-symbol","esnext.disposable-stack.constructor","esnext.function.demethodize","esnext.function.is-callable","esnext.function.is-constructor","esnext.function.metadata","esnext.function.un-this","esnext.global-this","esnext.iterator.constructor","esnext.iterator.as-indexed-pairs","esnext.iterator.dispose","esnext.iterator.drop","esnext.iterator.every","esnext.iterator.filter","esnext.iterator.find","esnext.iterator.flat-map","esnext.iterator.for-each","esnext.iterator.from","esnext.iterator.indexed","esnext.iterator.map","esnext.iterator.range","esnext.iterator.reduce","esnext.iterator.some","esnext.iterator.take","esnext.iterator.to-array","esnext.iterator.to-async","esnext.json.is-raw-json","esnext.json.parse","esnext.json.raw-json","esnext.map.delete-all","esnext.map.emplace","esnext.map.every","esnext.map.filter","esnext.map.find","esnext.map.find-key","esnext.map.from","esnext.map.group-by","esnext.map.includes","esnext.map.key-by","esnext.map.key-of","esnext.map.map-keys","esnext.map.map-values","esnext.map.merge","esnext.map.of","esnext.map.reduce","esnext.map.some","esnext.map.update","esnext.map.update-or-insert","esnext.map.upsert","esnext.math.clamp","esnext.math.deg-per-rad","esnext.math.degrees","esnext.math.fscale","esnext.math.iaddh","esnext.math.imulh","esnext.math.isubh","esnext.math.rad-per-deg","esnext.math.radians","esnext.math.scale","esnext.math.seeded-prng","esnext.math.signbit","esnext.math.umulh","esnext.number.from-string","esnext.number.range","esnext.object.has-own","esnext.object.iterate-entries","esnext.object.iterate-keys","esnext.object.iterate-values","esnext.object.group-by","esnext.observable","esnext.promise.all-settled","esnext.promise.any","esnext.promise.try","esnext.promise.with-resolvers","esnext.reflect.define-metadata","esnext.reflect.delete-metadata","esnext.reflect.get-metadata","esnext.reflect.get-metadata-keys","esnext.reflect.get-own-metadata","esnext.reflect.get-own-metadata-keys","esnext.reflect.has-metadata","esnext.reflect.has-own-metadata","esnext.reflect.metadata","esnext.set.add-all","esnext.set.delete-all","esnext.set.difference.v2","esnext.set.difference","esnext.set.every","esnext.set.filter","esnext.set.find","esnext.set.from","esnext.set.intersection.v2","esnext.set.intersection","esnext.set.is-disjoint-from.v2","esnext.set.is-disjoint-from","esnext.set.is-subset-of.v2","esnext.set.is-subset-of","esnext.set.is-superset-of.v2","esnext.set.is-superset-of","esnext.set.join","esnext.set.map","esnext.set.of","esnext.set.reduce","esnext.set.some","esnext.set.symmetric-difference.v2","esnext.set.symmetric-difference","esnext.set.union.v2","esnext.set.union","esnext.string.at","esnext.string.cooked","esnext.string.code-points","esnext.string.dedent","esnext.string.is-well-formed","esnext.string.match-all","esnext.string.replace-all","esnext.string.to-well-formed","esnext.symbol.async-dispose","esnext.symbol.dispose","esnext.symbol.is-registered-symbol","esnext.symbol.is-registered","esnext.symbol.is-well-known-symbol","esnext.symbol.is-well-known","esnext.symbol.matcher","esnext.symbol.metadata","esnext.symbol.metadata-key","esnext.symbol.observable","esnext.symbol.pattern-match","esnext.symbol.replace-all","esnext.typed-array.from-async","esnext.typed-array.at","esnext.typed-array.filter-out","esnext.typed-array.filter-reject","esnext.typed-array.find-last","esnext.typed-array.find-last-index","esnext.typed-array.group-by","esnext.typed-array.to-reversed","esnext.typed-array.to-sorted","esnext.typed-array.to-spliced","esnext.typed-array.unique-by","esnext.typed-array.with","esnext.weak-map.delete-all","esnext.weak-map.from","esnext.weak-map.of","esnext.weak-map.emplace","esnext.weak-map.upsert","esnext.weak-set.add-all","esnext.weak-set.delete-all","esnext.weak-set.from","esnext.weak-set.of","web.atob","web.btoa","web.dom-collections.for-each","web.dom-collections.iterator","web.dom-exception.constructor","web.dom-exception.stack","web.dom-exception.to-string-tag","web.immediate","web.queue-microtask","web.self","web.structured-clone","web.timers","web.url","web.url.can-parse","web.url.to-json","web.url-search-params","web.url-search-params.delete","web.url-search-params.has","web.url-search-params.size"],"core-js/full/aggregate-error":["es.error.cause","es.aggregate-error","es.aggregate-error.cause","es.array.iterator","es.string.iterator","esnext.aggregate-error","web.dom-collections.iterator"],"core-js/full/array":["es.array.at","es.array.concat","es.array.copy-within","es.array.every","es.array.fill","es.array.filter","es.array.find","es.array.find-index","es.array.find-last","es.array.find-last-index","es.array.flat","es.array.flat-map","es.array.for-each","es.array.from","es.array.includes","es.array.index-of","es.array.is-array","es.array.iterator","es.array.join","es.array.last-index-of","es.array.map","es.array.of","es.array.push","es.array.reduce","es.array.reduce-right","es.array.reverse","es.array.slice","es.array.some","es.array.sort","es.array.species","es.array.splice","es.array.to-reversed","es.array.to-sorted","es.array.to-spliced","es.array.unscopables.flat","es.array.unscopables.flat-map","es.array.unshift","es.array.with","es.map","es.object.to-string","es.promise","es.string.iterator","esnext.array.from-async","esnext.array.at","esnext.array.filter-out","esnext.array.filter-reject","esnext.array.find-last","esnext.array.find-last-index","esnext.array.group","esnext.array.group-by","esnext.array.group-by-to-map","esnext.array.group-to-map","esnext.array.is-template-object","esnext.array.last-index","esnext.array.last-item","esnext.array.to-reversed","esnext.array.to-sorted","esnext.array.to-spliced","esnext.array.unique-by","esnext.array.with"],"core-js/full/array-buffer":["es.array-buffer.constructor","es.array-buffer.is-view","es.array-buffer.slice","es.object.to-string","esnext.array-buffer.detached","esnext.array-buffer.transfer","esnext.array-buffer.transfer-to-fixed-length"],"core-js/full/array-buffer/constructor":["es.array-buffer.constructor","es.array-buffer.slice","es.object.to-string","esnext.array-buffer.detached","esnext.array-buffer.transfer","esnext.array-buffer.transfer-to-fixed-length"],"core-js/full/array-buffer/detached":["es.array-buffer.constructor","es.array-buffer.is-view","es.array-buffer.slice","es.object.to-string","esnext.array-buffer.detached"],"core-js/full/array-buffer/is-view":["es.array-buffer.is-view"],"core-js/full/array-buffer/slice":["es.array-buffer.slice"],"core-js/full/array-buffer/transfer":["es.array-buffer.constructor","es.array-buffer.is-view","es.array-buffer.slice","es.object.to-string","esnext.array-buffer.transfer"],"core-js/full/array-buffer/transfer-to-fixed-length":["es.array-buffer.constructor","es.array-buffer.is-view","es.array-buffer.slice","es.object.to-string","esnext.array-buffer.transfer-to-fixed-length"],"core-js/full/array/at":["es.array.at","esnext.array.at"],"core-js/full/array/concat":["es.array.concat"],"core-js/full/array/copy-within":["es.array.copy-within"],"core-js/full/array/entries":["es.array.iterator","es.object.to-string"],"core-js/full/array/every":["es.array.every"],"core-js/full/array/fill":["es.array.fill"],"core-js/full/array/filter":["es.array.filter"],"core-js/full/array/filter-out":["esnext.array.filter-out"],"core-js/full/array/filter-reject":["esnext.array.filter-reject"],"core-js/full/array/find":["es.array.find"],"core-js/full/array/find-index":["es.array.find-index"],"core-js/full/array/find-last":["es.array.find-last","esnext.array.find-last"],"core-js/full/array/find-last-index":["es.array.find-last-index","esnext.array.find-last-index"],"core-js/full/array/flat":["es.array.flat","es.array.unscopables.flat"],"core-js/full/array/flat-map":["es.array.flat-map","es.array.unscopables.flat-map"],"core-js/full/array/for-each":["es.array.for-each"],"core-js/full/array/from":["es.array.from","es.string.iterator"],"core-js/full/array/from-async":["es.array.iterator","es.object.to-string","es.promise","es.string.iterator","esnext.array.from-async"],"core-js/full/array/group":["esnext.array.group"],"core-js/full/array/group-by":["esnext.array.group-by"],"core-js/full/array/group-by-to-map":["es.map","es.object.to-string","esnext.array.group-by-to-map"],"core-js/full/array/group-to-map":["es.map","es.object.to-string","esnext.array.group-to-map"],"core-js/full/array/includes":["es.array.includes"],"core-js/full/array/index-of":["es.array.index-of"],"core-js/full/array/is-array":["es.array.is-array"],"core-js/full/array/is-template-object":["esnext.array.is-template-object"],"core-js/full/array/iterator":["es.array.iterator","es.object.to-string"],"core-js/full/array/join":["es.array.join"],"core-js/full/array/keys":["es.array.iterator","es.object.to-string"],"core-js/full/array/last-index":["esnext.array.last-index"],"core-js/full/array/last-index-of":["es.array.last-index-of"],"core-js/full/array/last-item":["esnext.array.last-item"],"core-js/full/array/map":["es.array.map"],"core-js/full/array/of":["es.array.of"],"core-js/full/array/push":["es.array.push"],"core-js/full/array/reduce":["es.array.reduce"],"core-js/full/array/reduce-right":["es.array.reduce-right"],"core-js/full/array/reverse":["es.array.reverse"],"core-js/full/array/slice":["es.array.slice"],"core-js/full/array/some":["es.array.some"],"core-js/full/array/sort":["es.array.sort"],"core-js/full/array/splice":["es.array.splice"],"core-js/full/array/to-reversed":["es.array.to-reversed","esnext.array.to-reversed"],"core-js/full/array/to-sorted":["es.array.sort","es.array.to-sorted","esnext.array.to-sorted"],"core-js/full/array/to-spliced":["es.array.to-spliced","esnext.array.to-spliced"],"core-js/full/array/unique-by":["es.map","esnext.array.unique-by"],"core-js/full/array/unshift":["es.array.unshift"],"core-js/full/array/values":["es.array.iterator","es.object.to-string"],"core-js/full/array/virtual":["es.array.at","es.array.concat","es.array.copy-within","es.array.every","es.array.fill","es.array.filter","es.array.find","es.array.find-index","es.array.find-last","es.array.find-last-index","es.array.flat","es.array.flat-map","es.array.for-each","es.array.includes","es.array.index-of","es.array.iterator","es.array.join","es.array.last-index-of","es.array.map","es.array.push","es.array.reduce","es.array.reduce-right","es.array.reverse","es.array.slice","es.array.some","es.array.sort","es.array.species","es.array.splice","es.array.to-reversed","es.array.to-sorted","es.array.to-spliced","es.array.unscopables.flat","es.array.unscopables.flat-map","es.array.unshift","es.array.with","es.map","es.object.to-string","esnext.array.at","esnext.array.filter-out","esnext.array.filter-reject","esnext.array.find-last","esnext.array.find-last-index","esnext.array.group","esnext.array.group-by","esnext.array.group-by-to-map","esnext.array.group-to-map","esnext.array.to-reversed","esnext.array.to-sorted","esnext.array.to-spliced","esnext.array.unique-by","esnext.array.with"],"core-js/full/array/virtual/at":["es.array.at","esnext.array.at"],"core-js/full/array/virtual/concat":["es.array.concat"],"core-js/full/array/virtual/copy-within":["es.array.copy-within"],"core-js/full/array/virtual/entries":["es.array.iterator","es.object.to-string"],"core-js/full/array/virtual/every":["es.array.every"],"core-js/full/array/virtual/fill":["es.array.fill"],"core-js/full/array/virtual/filter":["es.array.filter"],"core-js/full/array/virtual/filter-out":["esnext.array.filter-out"],"core-js/full/array/virtual/filter-reject":["esnext.array.filter-reject"],"core-js/full/array/virtual/find":["es.array.find"],"core-js/full/array/virtual/find-index":["es.array.find-index"],"core-js/full/array/virtual/find-last":["es.array.find-last","esnext.array.find-last"],"core-js/full/array/virtual/find-last-index":["es.array.find-last-index","esnext.array.find-last-index"],"core-js/full/array/virtual/flat":["es.array.flat","es.array.unscopables.flat"],"core-js/full/array/virtual/flat-map":["es.array.flat-map","es.array.unscopables.flat-map"],"core-js/full/array/virtual/for-each":["es.array.for-each"],"core-js/full/array/virtual/group":["esnext.array.group"],"core-js/full/array/virtual/group-by":["esnext.array.group-by"],"core-js/full/array/virtual/group-by-to-map":["es.map","es.object.to-string","esnext.array.group-by-to-map"],"core-js/full/array/virtual/group-to-map":["es.map","es.object.to-string","esnext.array.group-to-map"],"core-js/full/array/virtual/includes":["es.array.includes"],"core-js/full/array/virtual/index-of":["es.array.index-of"],"core-js/full/array/virtual/iterator":["es.array.iterator","es.object.to-string"],"core-js/full/array/virtual/join":["es.array.join"],"core-js/full/array/virtual/keys":["es.array.iterator","es.object.to-string"],"core-js/full/array/virtual/last-index-of":["es.array.last-index-of"],"core-js/full/array/virtual/map":["es.array.map"],"core-js/full/array/virtual/push":["es.array.push"],"core-js/full/array/virtual/reduce":["es.array.reduce"],"core-js/full/array/virtual/reduce-right":["es.array.reduce-right"],"core-js/full/array/virtual/reverse":["es.array.reverse"],"core-js/full/array/virtual/slice":["es.array.slice"],"core-js/full/array/virtual/some":["es.array.some"],"core-js/full/array/virtual/sort":["es.array.sort"],"core-js/full/array/virtual/splice":["es.array.splice"],"core-js/full/array/virtual/to-reversed":["es.array.to-reversed","esnext.array.to-reversed"],"core-js/full/array/virtual/to-sorted":["es.array.sort","es.array.to-sorted","esnext.array.to-sorted"],"core-js/full/array/virtual/to-spliced":["es.array.to-spliced","esnext.array.to-spliced"],"core-js/full/array/virtual/unique-by":["es.map","esnext.array.unique-by"],"core-js/full/array/virtual/unshift":["es.array.unshift"],"core-js/full/array/virtual/values":["es.array.iterator","es.object.to-string"],"core-js/full/array/virtual/with":["es.array.with","esnext.array.with"],"core-js/full/array/with":["es.array.with","esnext.array.with"],"core-js/full/async-disposable-stack":["es.error.cause","es.error.to-string","es.object.to-string","es.promise","esnext.suppressed-error.constructor","esnext.async-disposable-stack.constructor","esnext.async-iterator.async-dispose","esnext.iterator.dispose"],"core-js/full/async-disposable-stack/constructor":["es.error.cause","es.error.to-string","es.object.to-string","es.promise","esnext.suppressed-error.constructor","esnext.async-disposable-stack.constructor","esnext.async-iterator.async-dispose","esnext.iterator.dispose"],"core-js/full/async-iterator":["es.array.iterator","es.object.to-string","es.promise","es.string.iterator","esnext.async-iterator.constructor","esnext.async-iterator.as-indexed-pairs","esnext.async-iterator.async-dispose","esnext.async-iterator.drop","esnext.async-iterator.every","esnext.async-iterator.filter","esnext.async-iterator.find","esnext.async-iterator.flat-map","esnext.async-iterator.for-each","esnext.async-iterator.from","esnext.async-iterator.indexed","esnext.async-iterator.map","esnext.async-iterator.reduce","esnext.async-iterator.some","esnext.async-iterator.take","esnext.async-iterator.to-array","web.dom-collections.iterator"],"core-js/full/async-iterator/as-indexed-pairs":["es.object.to-string","es.promise","esnext.async-iterator.constructor","esnext.async-iterator.as-indexed-pairs"],"core-js/full/async-iterator/async-dispose":["es.object.to-string","es.promise","esnext.async-iterator.async-dispose"],"core-js/full/async-iterator/drop":["es.object.to-string","es.promise","esnext.async-iterator.constructor","esnext.async-iterator.drop"],"core-js/full/async-iterator/every":["es.object.to-string","es.promise","esnext.async-iterator.constructor","esnext.async-iterator.every"],"core-js/full/async-iterator/filter":["es.object.to-string","es.promise","esnext.async-iterator.constructor","esnext.async-iterator.filter"],"core-js/full/async-iterator/find":["es.object.to-string","es.promise","esnext.async-iterator.constructor","esnext.async-iterator.find"],"core-js/full/async-iterator/flat-map":["es.object.to-string","es.promise","esnext.async-iterator.constructor","esnext.async-iterator.flat-map"],"core-js/full/async-iterator/for-each":["es.object.to-string","es.promise","esnext.async-iterator.constructor","esnext.async-iterator.for-each"],"core-js/full/async-iterator/from":["es.array.iterator","es.object.to-string","es.promise","es.string.iterator","esnext.async-iterator.constructor","esnext.async-iterator.drop","esnext.async-iterator.every","esnext.async-iterator.filter","esnext.async-iterator.find","esnext.async-iterator.flat-map","esnext.async-iterator.for-each","esnext.async-iterator.from","esnext.async-iterator.map","esnext.async-iterator.reduce","esnext.async-iterator.some","esnext.async-iterator.take","esnext.async-iterator.to-array","web.dom-collections.iterator"],"core-js/full/async-iterator/indexed":["es.object.to-string","es.promise","esnext.async-iterator.constructor","esnext.async-iterator.indexed"],"core-js/full/async-iterator/map":["es.object.to-string","es.promise","esnext.async-iterator.constructor","esnext.async-iterator.map"],"core-js/full/async-iterator/reduce":["es.object.to-string","es.promise","esnext.async-iterator.constructor","esnext.async-iterator.reduce"],"core-js/full/async-iterator/some":["es.object.to-string","es.promise","esnext.async-iterator.constructor","esnext.async-iterator.some"],"core-js/full/async-iterator/take":["es.object.to-string","es.promise","esnext.async-iterator.constructor","esnext.async-iterator.take"],"core-js/full/async-iterator/to-array":["es.object.to-string","es.promise","esnext.async-iterator.constructor","esnext.async-iterator.to-array"],"core-js/full/atob":["es.error.to-string","es.object.to-string","web.atob","web.dom-exception.constructor","web.dom-exception.stack","web.dom-exception.to-string-tag"],"core-js/full/bigint":["es.object.to-string","esnext.bigint.range"],"core-js/full/bigint/range":["es.object.to-string","esnext.bigint.range"],"core-js/full/btoa":["es.error.to-string","es.object.to-string","web.btoa","web.dom-exception.constructor","web.dom-exception.stack","web.dom-exception.to-string-tag"],"core-js/full/clear-immediate":["web.immediate"],"core-js/full/composite-key":["esnext.composite-key"],"core-js/full/composite-symbol":["es.symbol","esnext.composite-symbol"],"core-js/full/data-view":["es.array-buffer.constructor","es.array-buffer.slice","es.data-view","es.object.to-string"],"core-js/full/date":["es.date.get-year","es.date.now","es.date.set-year","es.date.to-gmt-string","es.date.to-iso-string","es.date.to-json","es.date.to-primitive","es.date.to-string"],"core-js/full/date/get-year":["es.date.get-year"],"core-js/full/date/now":["es.date.now"],"core-js/full/date/set-year":["es.date.set-year"],"core-js/full/date/to-gmt-string":["es.date.to-gmt-string"],"core-js/full/date/to-iso-string":["es.date.to-iso-string","es.date.to-json"],"core-js/full/date/to-json":["es.date.to-json"],"core-js/full/date/to-primitive":["es.date.to-primitive"],"core-js/full/date/to-string":["es.date.to-string"],"core-js/full/disposable-stack":["es.error.cause","es.error.to-string","es.object.to-string","esnext.suppressed-error.constructor","esnext.disposable-stack.constructor","esnext.iterator.dispose"],"core-js/full/disposable-stack/constructor":["es.error.cause","es.error.to-string","es.object.to-string","esnext.suppressed-error.constructor","esnext.disposable-stack.constructor","esnext.iterator.dispose"],"core-js/full/dom-collections":["es.array.iterator","es.object.to-string","web.dom-collections.for-each","web.dom-collections.iterator"],"core-js/full/dom-collections/for-each":["web.dom-collections.for-each"],"core-js/full/dom-collections/iterator":["es.object.to-string","web.dom-collections.iterator"],"core-js/full/dom-exception":["es.error.to-string","web.dom-exception.constructor","web.dom-exception.stack","web.dom-exception.to-string-tag"],"core-js/full/dom-exception/constructor":["es.error.to-string","web.dom-exception.constructor","web.dom-exception.stack"],"core-js/full/dom-exception/to-string-tag":["web.dom-exception.to-string-tag"],"core-js/full/error":["es.error.cause","es.error.to-string"],"core-js/full/error/constructor":["es.error.cause"],"core-js/full/error/to-string":["es.error.to-string"],"core-js/full/escape":["es.escape"],"core-js/full/function":["es.function.bind","es.function.has-instance","es.function.name","esnext.function.demethodize","esnext.function.is-callable","esnext.function.is-constructor","esnext.function.metadata","esnext.function.un-this"],"core-js/full/function/bind":["es.function.bind"],"core-js/full/function/demethodize":["esnext.function.demethodize"],"core-js/full/function/has-instance":["es.function.has-instance"],"core-js/full/function/is-callable":["esnext.function.is-callable"],"core-js/full/function/is-constructor":["esnext.function.is-constructor"],"core-js/full/function/metadata":["esnext.function.metadata"],"core-js/full/function/name":["es.function.name"],"core-js/full/function/un-this":["esnext.function.un-this"],"core-js/full/function/virtual":["es.function.bind","esnext.function.demethodize","esnext.function.un-this"],"core-js/full/function/virtual/bind":["es.function.bind"],"core-js/full/function/virtual/demethodize":["esnext.function.demethodize"],"core-js/full/function/virtual/un-this":["esnext.function.un-this"],"core-js/full/get-iterator":["es.array.iterator","es.string.iterator","web.dom-collections.iterator"],"core-js/full/get-iterator-method":["es.array.iterator","es.string.iterator","web.dom-collections.iterator"],"core-js/full/global-this":["es.global-this","esnext.global-this"],"core-js/full/instance/at":["es.array.at","es.string.at-alternative","esnext.array.at","esnext.string.at"],"core-js/full/instance/bind":["es.function.bind"],"core-js/full/instance/code-point-at":["es.string.code-point-at"],"core-js/full/instance/code-points":["es.object.to-string","esnext.string.code-points"],"core-js/full/instance/concat":["es.array.concat"],"core-js/full/instance/copy-within":["es.array.copy-within"],"core-js/full/instance/demethodize":["esnext.function.demethodize"],"core-js/full/instance/ends-with":["es.string.ends-with"],"core-js/full/instance/entries":["es.array.iterator","es.object.to-string","web.dom-collections.iterator"],"core-js/full/instance/every":["es.array.every"],"core-js/full/instance/fill":["es.array.fill"],"core-js/full/instance/filter":["es.array.filter"],"core-js/full/instance/filter-out":["esnext.array.filter-out"],"core-js/full/instance/filter-reject":["esnext.array.filter-reject"],"core-js/full/instance/find":["es.array.find"],"core-js/full/instance/find-index":["es.array.find-index"],"core-js/full/instance/find-last":["es.array.find-last","esnext.array.find-last"],"core-js/full/instance/find-last-index":["es.array.find-last-index","esnext.array.find-last-index"],"core-js/full/instance/flags":["es.regexp.flags"],"core-js/full/instance/flat":["es.array.flat","es.array.unscopables.flat"],"core-js/full/instance/flat-map":["es.array.flat-map","es.array.unscopables.flat-map"],"core-js/full/instance/for-each":["es.array.for-each","web.dom-collections.iterator"],"core-js/full/instance/group":["esnext.array.group"],"core-js/full/instance/group-by":["esnext.array.group-by"],"core-js/full/instance/group-by-to-map":["es.map","es.object.to-string","esnext.array.group-by-to-map"],"core-js/full/instance/group-to-map":["es.map","es.object.to-string","esnext.array.group-to-map"],"core-js/full/instance/includes":["es.array.includes","es.string.includes"],"core-js/full/instance/index-of":["es.array.index-of"],"core-js/full/instance/is-well-formed":["es.string.is-well-formed"],"core-js/full/instance/keys":["es.array.iterator","es.object.to-string","web.dom-collections.iterator"],"core-js/full/instance/last-index-of":["es.array.last-index-of"],"core-js/full/instance/map":["es.array.map"],"core-js/full/instance/match-all":["es.object.to-string","es.regexp.exec","es.string.match-all","esnext.string.match-all"],"core-js/full/instance/pad-end":["es.string.pad-end"],"core-js/full/instance/pad-start":["es.string.pad-start"],"core-js/full/instance/push":["es.array.push"],"core-js/full/instance/reduce":["es.array.reduce"],"core-js/full/instance/reduce-right":["es.array.reduce-right"],"core-js/full/instance/repeat":["es.string.repeat"],"core-js/full/instance/replace-all":["es.regexp.exec","es.string.replace","es.string.replace-all","esnext.string.replace-all"],"core-js/full/instance/reverse":["es.array.reverse"],"core-js/full/instance/slice":["es.array.slice"],"core-js/full/instance/some":["es.array.some"],"core-js/full/instance/sort":["es.array.sort"],"core-js/full/instance/splice":["es.array.splice"],"core-js/full/instance/starts-with":["es.string.starts-with"],"core-js/full/instance/to-reversed":["es.array.to-reversed","esnext.array.to-reversed"],"core-js/full/instance/to-sorted":["es.array.sort","es.array.to-sorted","esnext.array.to-sorted"],"core-js/full/instance/to-spliced":["es.array.to-spliced","esnext.array.to-spliced"],"core-js/full/instance/to-well-formed":["es.string.to-well-formed"],"core-js/full/instance/trim":["es.string.trim"],"core-js/full/instance/trim-end":["es.string.trim-end"],"core-js/full/instance/trim-left":["es.string.trim-start"],"core-js/full/instance/trim-right":["es.string.trim-end"],"core-js/full/instance/trim-start":["es.string.trim-start"],"core-js/full/instance/un-this":["esnext.function.un-this"],"core-js/full/instance/unique-by":["es.map","esnext.array.unique-by"],"core-js/full/instance/unshift":["es.array.unshift"],"core-js/full/instance/values":["es.array.iterator","es.object.to-string","web.dom-collections.iterator"],"core-js/full/instance/with":["es.array.with","esnext.array.with"],"core-js/full/is-iterable":["es.array.iterator","es.string.iterator","web.dom-collections.iterator"],"core-js/full/iterator":["es.array.iterator","es.object.to-string","es.promise","es.string.iterator","esnext.iterator.constructor","esnext.iterator.as-indexed-pairs","esnext.iterator.dispose","esnext.iterator.drop","esnext.iterator.every","esnext.iterator.filter","esnext.iterator.find","esnext.iterator.flat-map","esnext.iterator.for-each","esnext.iterator.from","esnext.iterator.indexed","esnext.iterator.map","esnext.iterator.range","esnext.iterator.reduce","esnext.iterator.some","esnext.iterator.take","esnext.iterator.to-array","esnext.iterator.to-async","web.dom-collections.iterator"],"core-js/full/iterator/as-indexed-pairs":["es.object.to-string","esnext.iterator.constructor","esnext.iterator.as-indexed-pairs"],"core-js/full/iterator/dispose":["esnext.iterator.dispose"],"core-js/full/iterator/drop":["es.object.to-string","esnext.iterator.constructor","esnext.iterator.drop"],"core-js/full/iterator/every":["es.object.to-string","esnext.iterator.constructor","esnext.iterator.every"],"core-js/full/iterator/filter":["es.object.to-string","esnext.iterator.constructor","esnext.iterator.filter"],"core-js/full/iterator/find":["es.object.to-string","esnext.iterator.constructor","esnext.iterator.find"],"core-js/full/iterator/flat-map":["es.object.to-string","esnext.iterator.constructor","esnext.iterator.flat-map"],"core-js/full/iterator/for-each":["es.object.to-string","esnext.iterator.constructor","esnext.iterator.for-each"],"core-js/full/iterator/from":["es.array.iterator","es.object.to-string","es.promise","es.string.iterator","esnext.iterator.constructor","esnext.iterator.dispose","esnext.iterator.drop","esnext.iterator.every","esnext.iterator.filter","esnext.iterator.find","esnext.iterator.flat-map","esnext.iterator.for-each","esnext.iterator.from","esnext.iterator.map","esnext.iterator.reduce","esnext.iterator.some","esnext.iterator.take","esnext.iterator.to-array","esnext.iterator.to-async","web.dom-collections.iterator"],"core-js/full/iterator/indexed":["es.object.to-string","esnext.iterator.constructor","esnext.iterator.indexed"],"core-js/full/iterator/map":["es.object.to-string","esnext.iterator.constructor","esnext.iterator.map"],"core-js/full/iterator/range":["es.object.to-string","esnext.iterator.constructor","esnext.iterator.range"],"core-js/full/iterator/reduce":["es.object.to-string","esnext.iterator.constructor","esnext.iterator.reduce"],"core-js/full/iterator/some":["es.object.to-string","esnext.iterator.constructor","esnext.iterator.some"],"core-js/full/iterator/take":["es.object.to-string","esnext.iterator.constructor","esnext.iterator.take"],"core-js/full/iterator/to-array":["es.object.to-string","esnext.iterator.constructor","esnext.iterator.to-array"],"core-js/full/iterator/to-async":["es.object.to-string","es.promise","esnext.iterator.constructor","esnext.iterator.to-async"],"core-js/full/json":["es.json.stringify","es.json.to-string-tag","es.object.create","es.object.freeze","es.object.keys","esnext.json.is-raw-json","esnext.json.parse","esnext.json.raw-json"],"core-js/full/json/is-raw-json":["esnext.json.is-raw-json"],"core-js/full/json/parse":["es.object.keys","esnext.json.parse"],"core-js/full/json/raw-json":["es.object.create","es.object.freeze","esnext.json.raw-json"],"core-js/full/json/stringify":["es.json.stringify"],"core-js/full/json/to-string-tag":["es.json.to-string-tag"],"core-js/full/map":["es.array.iterator","es.map","es.object.to-string","es.string.iterator","esnext.map.delete-all","esnext.map.emplace","esnext.map.every","esnext.map.filter","esnext.map.find","esnext.map.find-key","esnext.map.from","esnext.map.group-by","esnext.map.includes","esnext.map.key-by","esnext.map.key-of","esnext.map.map-keys","esnext.map.map-values","esnext.map.merge","esnext.map.of","esnext.map.reduce","esnext.map.some","esnext.map.update","esnext.map.update-or-insert","esnext.map.upsert","web.dom-collections.iterator"],"core-js/full/map/delete-all":["es.map","esnext.map.delete-all"],"core-js/full/map/emplace":["es.map","esnext.map.emplace"],"core-js/full/map/every":["es.map","esnext.map.every"],"core-js/full/map/filter":["es.map","esnext.map.filter"],"core-js/full/map/find":["es.map","esnext.map.find"],"core-js/full/map/find-key":["es.map","esnext.map.find-key"],"core-js/full/map/from":["es.array.iterator","es.map","es.string.iterator","esnext.map.from","web.dom-collections.iterator"],"core-js/full/map/group-by":["es.map","esnext.map.group-by"],"core-js/full/map/includes":["es.map","esnext.map.includes"],"core-js/full/map/key-by":["es.map","esnext.map.key-by"],"core-js/full/map/key-of":["es.map","esnext.map.key-of"],"core-js/full/map/map-keys":["es.map","esnext.map.map-keys"],"core-js/full/map/map-values":["es.map","esnext.map.map-values"],"core-js/full/map/merge":["es.map","esnext.map.merge"],"core-js/full/map/of":["es.array.iterator","es.map","esnext.map.of"],"core-js/full/map/reduce":["es.map","esnext.map.reduce"],"core-js/full/map/some":["es.map","esnext.map.some"],"core-js/full/map/update":["es.map","esnext.map.update"],"core-js/full/map/update-or-insert":["es.map","esnext.map.update-or-insert"],"core-js/full/map/upsert":["es.map","esnext.map.upsert"],"core-js/full/math":["es.math.acosh","es.math.asinh","es.math.atanh","es.math.cbrt","es.math.clz32","es.math.cosh","es.math.expm1","es.math.fround","es.math.hypot","es.math.imul","es.math.log10","es.math.log1p","es.math.log2","es.math.sign","es.math.sinh","es.math.tanh","es.math.to-string-tag","es.math.trunc","esnext.math.clamp","esnext.math.deg-per-rad","esnext.math.degrees","esnext.math.fscale","esnext.math.iaddh","esnext.math.imulh","esnext.math.isubh","esnext.math.rad-per-deg","esnext.math.radians","esnext.math.scale","esnext.math.seeded-prng","esnext.math.signbit","esnext.math.umulh"],"core-js/full/math/acosh":["es.math.acosh"],"core-js/full/math/asinh":["es.math.asinh"],"core-js/full/math/atanh":["es.math.atanh"],"core-js/full/math/cbrt":["es.math.cbrt"],"core-js/full/math/clamp":["esnext.math.clamp"],"core-js/full/math/clz32":["es.math.clz32"],"core-js/full/math/cosh":["es.math.cosh"],"core-js/full/math/deg-per-rad":["esnext.math.deg-per-rad"],"core-js/full/math/degrees":["esnext.math.degrees"],"core-js/full/math/expm1":["es.math.expm1"],"core-js/full/math/fround":["es.math.fround"],"core-js/full/math/fscale":["esnext.math.fscale"],"core-js/full/math/hypot":["es.math.hypot"],"core-js/full/math/iaddh":["esnext.math.iaddh"],"core-js/full/math/imul":["es.math.imul"],"core-js/full/math/imulh":["esnext.math.imulh"],"core-js/full/math/isubh":["esnext.math.isubh"],"core-js/full/math/log10":["es.math.log10"],"core-js/full/math/log1p":["es.math.log1p"],"core-js/full/math/log2":["es.math.log2"],"core-js/full/math/rad-per-deg":["esnext.math.rad-per-deg"],"core-js/full/math/radians":["esnext.math.radians"],"core-js/full/math/scale":["esnext.math.scale"],"core-js/full/math/seeded-prng":["esnext.math.seeded-prng"],"core-js/full/math/sign":["es.math.sign"],"core-js/full/math/signbit":["esnext.math.signbit"],"core-js/full/math/sinh":["es.math.sinh"],"core-js/full/math/tanh":["es.math.tanh"],"core-js/full/math/to-string-tag":["es.math.to-string-tag"],"core-js/full/math/trunc":["es.math.trunc"],"core-js/full/math/umulh":["esnext.math.umulh"],"core-js/full/number":["es.number.constructor","es.number.epsilon","es.number.is-finite","es.number.is-integer","es.number.is-nan","es.number.is-safe-integer","es.number.max-safe-integer","es.number.min-safe-integer","es.number.parse-float","es.number.parse-int","es.number.to-exponential","es.number.to-fixed","es.number.to-precision","es.object.to-string","esnext.number.from-string","esnext.number.range"],"core-js/full/number/constructor":["es.number.constructor"],"core-js/full/number/epsilon":["es.number.epsilon"],"core-js/full/number/from-string":["esnext.number.from-string"],"core-js/full/number/is-finite":["es.number.is-finite"],"core-js/full/number/is-integer":["es.number.is-integer"],"core-js/full/number/is-nan":["es.number.is-nan"],"core-js/full/number/is-safe-integer":["es.number.is-safe-integer"],"core-js/full/number/max-safe-integer":["es.number.max-safe-integer"],"core-js/full/number/min-safe-integer":["es.number.min-safe-integer"],"core-js/full/number/parse-float":["es.number.parse-float"],"core-js/full/number/parse-int":["es.number.parse-int"],"core-js/full/number/range":["es.object.to-string","esnext.number.range"],"core-js/full/number/to-exponential":["es.number.to-exponential"],"core-js/full/number/to-fixed":["es.number.to-fixed"],"core-js/full/number/to-precision":["es.number.to-precision"],"core-js/full/number/virtual":["es.number.to-exponential","es.number.to-fixed","es.number.to-precision"],"core-js/full/number/virtual/to-exponential":["es.number.to-exponential"],"core-js/full/number/virtual/to-fixed":["es.number.to-fixed"],"core-js/full/number/virtual/to-precision":["es.number.to-precision"],"core-js/full/object":["es.symbol","es.json.to-string-tag","es.math.to-string-tag","es.object.assign","es.object.create","es.object.define-getter","es.object.define-properties","es.object.define-property","es.object.define-setter","es.object.entries","es.object.freeze","es.object.from-entries","es.object.get-own-property-descriptor","es.object.get-own-property-descriptors","es.object.get-own-property-names","es.object.get-prototype-of","es.object.has-own","es.object.is","es.object.is-extensible","es.object.is-frozen","es.object.is-sealed","es.object.keys","es.object.lookup-getter","es.object.lookup-setter","es.object.prevent-extensions","es.object.proto","es.object.seal","es.object.set-prototype-of","es.object.to-string","es.object.values","es.reflect.to-string-tag","esnext.object.has-own","esnext.object.iterate-entries","esnext.object.iterate-keys","esnext.object.iterate-values","esnext.object.group-by","web.dom-collections.iterator"],"core-js/full/object/assign":["es.object.assign"],"core-js/full/object/create":["es.object.create"],"core-js/full/object/define-getter":["es.object.define-getter"],"core-js/full/object/define-properties":["es.object.define-properties"],"core-js/full/object/define-property":["es.object.define-property"],"core-js/full/object/define-setter":["es.object.define-setter"],"core-js/full/object/entries":["es.object.entries"],"core-js/full/object/freeze":["es.object.freeze"],"core-js/full/object/from-entries":["es.array.iterator","es.object.from-entries","web.dom-collections.iterator"],"core-js/full/object/get-own-property-descriptor":["es.object.get-own-property-descriptor"],"core-js/full/object/get-own-property-descriptors":["es.object.get-own-property-descriptors"],"core-js/full/object/get-own-property-names":["es.object.get-own-property-names"],"core-js/full/object/get-own-property-symbols":["es.symbol"],"core-js/full/object/get-prototype-of":["es.object.get-prototype-of"],"core-js/full/object/group-by":["es.object.create","esnext.object.group-by"],"core-js/full/object/has-own":["es.object.has-own","esnext.object.has-own"],"core-js/full/object/is":["es.object.is"],"core-js/full/object/is-extensible":["es.object.is-extensible"],"core-js/full/object/is-frozen":["es.object.is-frozen"],"core-js/full/object/is-sealed":["es.object.is-sealed"],"core-js/full/object/iterate-entries":["esnext.object.iterate-entries"],"core-js/full/object/iterate-keys":["esnext.object.iterate-keys"],"core-js/full/object/iterate-values":["esnext.object.iterate-values"],"core-js/full/object/keys":["es.object.keys"],"core-js/full/object/lookup-getter":["es.object.lookup-getter"],"core-js/full/object/lookup-setter":["es.object.lookup-setter"],"core-js/full/object/prevent-extensions":["es.object.prevent-extensions"],"core-js/full/object/proto":["es.object.proto"],"core-js/full/object/seal":["es.object.seal"],"core-js/full/object/set-prototype-of":["es.object.set-prototype-of"],"core-js/full/object/to-string":["es.json.to-string-tag","es.math.to-string-tag","es.object.to-string","es.reflect.to-string-tag"],"core-js/full/object/values":["es.object.values"],"core-js/full/observable":["es.object.to-string","es.string.iterator","esnext.observable","esnext.symbol.observable","web.dom-collections.iterator"],"core-js/full/parse-float":["es.parse-float"],"core-js/full/parse-int":["es.parse-int"],"core-js/full/promise":["es.aggregate-error","es.array.iterator","es.object.to-string","es.promise","es.promise.all-settled","es.promise.any","es.promise.finally","es.string.iterator","esnext.aggregate-error","esnext.promise.all-settled","esnext.promise.any","esnext.promise.try","esnext.promise.with-resolvers","web.dom-collections.iterator"],"core-js/full/promise/all-settled":["es.array.iterator","es.object.to-string","es.promise","es.promise.all-settled","es.string.iterator","esnext.promise.all-settled","web.dom-collections.iterator"],"core-js/full/promise/any":["es.aggregate-error","es.array.iterator","es.object.to-string","es.promise","es.promise.any","es.string.iterator","esnext.aggregate-error","esnext.promise.any","web.dom-collections.iterator"],"core-js/full/promise/finally":["es.object.to-string","es.promise","es.promise.finally"],"core-js/full/promise/try":["es.promise","esnext.promise.try"],"core-js/full/promise/with-resolvers":["es.promise","esnext.promise.with-resolvers"],"core-js/full/queue-microtask":["web.queue-microtask"],"core-js/full/reflect":["es.object.to-string","es.reflect.apply","es.reflect.construct","es.reflect.define-property","es.reflect.delete-property","es.reflect.get","es.reflect.get-own-property-descriptor","es.reflect.get-prototype-of","es.reflect.has","es.reflect.is-extensible","es.reflect.own-keys","es.reflect.prevent-extensions","es.reflect.set","es.reflect.set-prototype-of","es.reflect.to-string-tag","esnext.reflect.define-metadata","esnext.reflect.delete-metadata","esnext.reflect.get-metadata","esnext.reflect.get-metadata-keys","esnext.reflect.get-own-metadata","esnext.reflect.get-own-metadata-keys","esnext.reflect.has-metadata","esnext.reflect.has-own-metadata","esnext.reflect.metadata"],"core-js/full/reflect/apply":["es.reflect.apply"],"core-js/full/reflect/construct":["es.reflect.construct"],"core-js/full/reflect/define-metadata":["esnext.reflect.define-metadata"],"core-js/full/reflect/define-property":["es.reflect.define-property"],"core-js/full/reflect/delete-metadata":["esnext.reflect.delete-metadata"],"core-js/full/reflect/delete-property":["es.reflect.delete-property"],"core-js/full/reflect/get":["es.reflect.get"],"core-js/full/reflect/get-metadata":["esnext.reflect.get-metadata"],"core-js/full/reflect/get-metadata-keys":["esnext.reflect.get-metadata-keys"],"core-js/full/reflect/get-own-metadata":["esnext.reflect.get-own-metadata"],"core-js/full/reflect/get-own-metadata-keys":["esnext.reflect.get-own-metadata-keys"],"core-js/full/reflect/get-own-property-descriptor":["es.reflect.get-own-property-descriptor"],"core-js/full/reflect/get-prototype-of":["es.reflect.get-prototype-of"],"core-js/full/reflect/has":["es.reflect.has"],"core-js/full/reflect/has-metadata":["esnext.reflect.has-metadata"],"core-js/full/reflect/has-own-metadata":["esnext.reflect.has-own-metadata"],"core-js/full/reflect/is-extensible":["es.reflect.is-extensible"],"core-js/full/reflect/metadata":["esnext.reflect.metadata"],"core-js/full/reflect/own-keys":["es.reflect.own-keys"],"core-js/full/reflect/prevent-extensions":["es.reflect.prevent-extensions"],"core-js/full/reflect/set":["es.reflect.set"],"core-js/full/reflect/set-prototype-of":["es.reflect.set-prototype-of"],"core-js/full/reflect/to-string-tag":["es.reflect.to-string-tag"],"core-js/full/regexp":["es.regexp.constructor","es.regexp.dot-all","es.regexp.exec","es.regexp.flags","es.regexp.sticky","es.regexp.test","es.regexp.to-string","es.string.match","es.string.replace","es.string.search","es.string.split"],"core-js/full/regexp/constructor":["es.regexp.constructor","es.regexp.dot-all","es.regexp.exec","es.regexp.sticky"],"core-js/full/regexp/dot-all":["es.regexp.constructor","es.regexp.dot-all","es.regexp.exec"],"core-js/full/regexp/flags":["es.regexp.flags"],"core-js/full/regexp/match":["es.regexp.exec","es.string.match"],"core-js/full/regexp/replace":["es.regexp.exec","es.string.replace"],"core-js/full/regexp/search":["es.regexp.exec","es.string.search"],"core-js/full/regexp/split":["es.regexp.exec","es.string.split"],"core-js/full/regexp/sticky":["es.regexp.constructor","es.regexp.exec","es.regexp.sticky"],"core-js/full/regexp/test":["es.regexp.exec","es.regexp.test"],"core-js/full/regexp/to-string":["es.regexp.to-string"],"core-js/full/self":["web.self"],"core-js/full/set":["es.array.iterator","es.object.to-string","es.set","es.string.iterator","esnext.set.add-all","esnext.set.delete-all","esnext.set.difference.v2","esnext.set.difference","esnext.set.every","esnext.set.filter","esnext.set.find","esnext.set.from","esnext.set.intersection.v2","esnext.set.intersection","esnext.set.is-disjoint-from.v2","esnext.set.is-disjoint-from","esnext.set.is-subset-of.v2","esnext.set.is-subset-of","esnext.set.is-superset-of.v2","esnext.set.is-superset-of","esnext.set.join","esnext.set.map","esnext.set.of","esnext.set.reduce","esnext.set.some","esnext.set.symmetric-difference.v2","esnext.set.symmetric-difference","esnext.set.union.v2","esnext.set.union","web.dom-collections.iterator"],"core-js/full/set-immediate":["web.immediate"],"core-js/full/set-interval":["web.timers"],"core-js/full/set-timeout":["web.timers"],"core-js/full/set/add-all":["es.set","esnext.set.add-all"],"core-js/full/set/delete-all":["es.set","esnext.set.delete-all"],"core-js/full/set/difference":["es.array.iterator","es.set","es.string.iterator","esnext.set.difference.v2","esnext.set.difference","web.dom-collections.iterator"],"core-js/full/set/every":["es.set","esnext.set.every"],"core-js/full/set/filter":["es.set","esnext.set.filter"],"core-js/full/set/find":["es.set","esnext.set.find"],"core-js/full/set/from":["es.array.iterator","es.set","es.string.iterator","esnext.set.from","web.dom-collections.iterator"],"core-js/full/set/intersection":["es.array.iterator","es.set","es.string.iterator","esnext.set.intersection.v2","esnext.set.intersection","web.dom-collections.iterator"],"core-js/full/set/is-disjoint-from":["es.array.iterator","es.set","es.string.iterator","esnext.set.is-disjoint-from.v2","esnext.set.is-disjoint-from","web.dom-collections.iterator"],"core-js/full/set/is-subset-of":["es.array.iterator","es.set","es.string.iterator","esnext.set.is-subset-of.v2","esnext.set.is-subset-of","web.dom-collections.iterator"],"core-js/full/set/is-superset-of":["es.array.iterator","es.set","es.string.iterator","esnext.set.is-superset-of.v2","esnext.set.is-superset-of","web.dom-collections.iterator"],"core-js/full/set/join":["es.set","esnext.set.join"],"core-js/full/set/map":["es.set","esnext.set.map"],"core-js/full/set/of":["es.array.iterator","es.set","esnext.set.of"],"core-js/full/set/reduce":["es.set","esnext.set.reduce"],"core-js/full/set/some":["es.set","esnext.set.some"],"core-js/full/set/symmetric-difference":["es.array.iterator","es.set","es.string.iterator","esnext.set.symmetric-difference.v2","esnext.set.symmetric-difference","web.dom-collections.iterator"],"core-js/full/set/union":["es.array.iterator","es.set","es.string.iterator","esnext.set.union.v2","esnext.set.union","web.dom-collections.iterator"],"core-js/full/string":["es.object.to-string","es.regexp.exec","es.string.at-alternative","es.string.code-point-at","es.string.ends-with","es.string.from-code-point","es.string.includes","es.string.is-well-formed","es.string.iterator","es.string.match","es.string.match-all","es.string.pad-end","es.string.pad-start","es.string.raw","es.string.repeat","es.string.replace","es.string.replace-all","es.string.search","es.string.split","es.string.starts-with","es.string.substr","es.string.to-well-formed","es.string.trim","es.string.trim-end","es.string.trim-start","es.string.anchor","es.string.big","es.string.blink","es.string.bold","es.string.fixed","es.string.fontcolor","es.string.fontsize","es.string.italics","es.string.link","es.string.small","es.string.strike","es.string.sub","es.string.sup","es.weak-map","esnext.string.at","esnext.string.cooked","esnext.string.code-points","esnext.string.dedent","esnext.string.is-well-formed","esnext.string.match-all","esnext.string.replace-all","esnext.string.to-well-formed"],"core-js/full/string/anchor":["es.string.anchor"],"core-js/full/string/at":["es.string.at-alternative","esnext.string.at"],"core-js/full/string/big":["es.string.big"],"core-js/full/string/blink":["es.string.blink"],"core-js/full/string/bold":["es.string.bold"],"core-js/full/string/code-point-at":["es.string.code-point-at"],"core-js/full/string/code-points":["es.object.to-string","esnext.string.code-points"],"core-js/full/string/cooked":["esnext.string.cooked"],"core-js/full/string/dedent":["es.string.from-code-point","es.weak-map","esnext.string.dedent"],"core-js/full/string/ends-with":["es.string.ends-with"],"core-js/full/string/fixed":["es.string.fixed"],"core-js/full/string/fontcolor":["es.string.fontcolor"],"core-js/full/string/fontsize":["es.string.fontsize"],"core-js/full/string/from-code-point":["es.string.from-code-point"],"core-js/full/string/includes":["es.string.includes"],"core-js/full/string/is-well-formed":["es.string.is-well-formed","esnext.string.is-well-formed"],"core-js/full/string/italics":["es.string.italics"],"core-js/full/string/iterator":["es.object.to-string","es.string.iterator"],"core-js/full/string/link":["es.string.link"],"core-js/full/string/match":["es.regexp.exec","es.string.match"],"core-js/full/string/match-all":["es.object.to-string","es.regexp.exec","es.string.match-all","esnext.string.match-all"],"core-js/full/string/pad-end":["es.string.pad-end"],"core-js/full/string/pad-start":["es.string.pad-start"],"core-js/full/string/raw":["es.string.raw"],"core-js/full/string/repeat":["es.string.repeat"],"core-js/full/string/replace":["es.regexp.exec","es.string.replace"],"core-js/full/string/replace-all":["es.regexp.exec","es.string.replace","es.string.replace-all","esnext.string.replace-all"],"core-js/full/string/search":["es.regexp.exec","es.string.search"],"core-js/full/string/small":["es.string.small"],"core-js/full/string/split":["es.regexp.exec","es.string.split"],"core-js/full/string/starts-with":["es.string.starts-with"],"core-js/full/string/strike":["es.string.strike"],"core-js/full/string/sub":["es.string.sub"],"core-js/full/string/substr":["es.string.substr"],"core-js/full/string/sup":["es.string.sup"],"core-js/full/string/to-well-formed":["es.string.to-well-formed","esnext.string.to-well-formed"],"core-js/full/string/trim":["es.string.trim"],"core-js/full/string/trim-end":["es.string.trim-end"],"core-js/full/string/trim-left":["es.string.trim-start"],"core-js/full/string/trim-right":["es.string.trim-end"],"core-js/full/string/trim-start":["es.string.trim-start"],"core-js/full/string/virtual":["es.object.to-string","es.regexp.exec","es.string.at-alternative","es.string.code-point-at","es.string.ends-with","es.string.includes","es.string.iterator","es.string.match","es.string.match-all","es.string.pad-end","es.string.pad-start","es.string.repeat","es.string.replace","es.string.replace-all","es.string.search","es.string.split","es.string.starts-with","es.string.substr","es.string.trim","es.string.trim-end","es.string.trim-start","es.string.anchor","es.string.big","es.string.blink","es.string.bold","es.string.fixed","es.string.fontcolor","es.string.fontsize","es.string.italics","es.string.link","es.string.small","es.string.strike","es.string.sub","es.string.sup","esnext.string.at","esnext.string.code-points","esnext.string.is-well-formed","esnext.string.match-all","esnext.string.replace-all","esnext.string.to-well-formed"],"core-js/full/string/virtual/anchor":["es.string.anchor"],"core-js/full/string/virtual/at":["es.string.at-alternative","esnext.string.at"],"core-js/full/string/virtual/big":["es.string.big"],"core-js/full/string/virtual/blink":["es.string.blink"],"core-js/full/string/virtual/bold":["es.string.bold"],"core-js/full/string/virtual/code-point-at":["es.string.code-point-at"],"core-js/full/string/virtual/code-points":["es.object.to-string","esnext.string.code-points"],"core-js/full/string/virtual/ends-with":["es.string.ends-with"],"core-js/full/string/virtual/fixed":["es.string.fixed"],"core-js/full/string/virtual/fontcolor":["es.string.fontcolor"],"core-js/full/string/virtual/fontsize":["es.string.fontsize"],"core-js/full/string/virtual/includes":["es.string.includes"],"core-js/full/string/virtual/is-well-formed":["es.string.is-well-formed","esnext.string.is-well-formed"],"core-js/full/string/virtual/italics":["es.string.italics"],"core-js/full/string/virtual/iterator":["es.object.to-string","es.string.iterator"],"core-js/full/string/virtual/link":["es.string.link"],"core-js/full/string/virtual/match-all":["es.object.to-string","es.regexp.exec","es.string.match-all","esnext.string.match-all"],"core-js/full/string/virtual/pad-end":["es.string.pad-end"],"core-js/full/string/virtual/pad-start":["es.string.pad-start"],"core-js/full/string/virtual/repeat":["es.string.repeat"],"core-js/full/string/virtual/replace-all":["es.regexp.exec","es.string.replace","es.string.replace-all","esnext.string.replace-all"],"core-js/full/string/virtual/small":["es.string.small"],"core-js/full/string/virtual/starts-with":["es.string.starts-with"],"core-js/full/string/virtual/strike":["es.string.strike"],"core-js/full/string/virtual/sub":["es.string.sub"],"core-js/full/string/virtual/substr":["es.string.substr"],"core-js/full/string/virtual/sup":["es.string.sup"],"core-js/full/string/virtual/to-well-formed":["es.string.to-well-formed","esnext.string.to-well-formed"],"core-js/full/string/virtual/trim":["es.string.trim"],"core-js/full/string/virtual/trim-end":["es.string.trim-end"],"core-js/full/string/virtual/trim-left":["es.string.trim-start"],"core-js/full/string/virtual/trim-right":["es.string.trim-end"],"core-js/full/string/virtual/trim-start":["es.string.trim-start"],"core-js/full/structured-clone":["es.error.to-string","es.array.iterator","es.map","es.object.keys","es.object.to-string","es.set","web.dom-exception.constructor","web.dom-exception.stack","web.dom-exception.to-string-tag","web.structured-clone"],"core-js/full/suppressed-error":["es.error.cause","es.error.to-string","esnext.suppressed-error.constructor"],"core-js/full/symbol":["es.symbol","es.symbol.description","es.symbol.async-iterator","es.symbol.has-instance","es.symbol.is-concat-spreadable","es.symbol.iterator","es.symbol.match","es.symbol.match-all","es.symbol.replace","es.symbol.search","es.symbol.species","es.symbol.split","es.symbol.to-primitive","es.symbol.to-string-tag","es.symbol.unscopables","es.array.concat","es.json.to-string-tag","es.math.to-string-tag","es.object.to-string","es.reflect.to-string-tag","esnext.function.metadata","esnext.symbol.async-dispose","esnext.symbol.dispose","esnext.symbol.is-registered-symbol","esnext.symbol.is-registered","esnext.symbol.is-well-known-symbol","esnext.symbol.is-well-known","esnext.symbol.matcher","esnext.symbol.metadata","esnext.symbol.metadata-key","esnext.symbol.observable","esnext.symbol.pattern-match","esnext.symbol.replace-all","web.dom-collections.iterator"],"core-js/full/symbol/async-dispose":["esnext.symbol.async-dispose"],"core-js/full/symbol/async-iterator":["es.symbol.async-iterator"],"core-js/full/symbol/description":["es.symbol.description"],"core-js/full/symbol/dispose":["esnext.symbol.dispose"],"core-js/full/symbol/for":["es.symbol"],"core-js/full/symbol/has-instance":["es.symbol.has-instance","es.function.has-instance"],"core-js/full/symbol/is-concat-spreadable":["es.symbol.is-concat-spreadable","es.array.concat"],"core-js/full/symbol/is-registered":["es.symbol","esnext.symbol.is-registered"],"core-js/full/symbol/is-registered-symbol":["es.symbol","esnext.symbol.is-registered-symbol"],"core-js/full/symbol/is-well-known":["es.symbol","esnext.symbol.is-well-known"],"core-js/full/symbol/is-well-known-symbol":["es.symbol","esnext.symbol.is-well-known-symbol"],"core-js/full/symbol/iterator":["es.symbol.iterator","es.array.iterator","es.object.to-string","es.string.iterator","web.dom-collections.iterator"],"core-js/full/symbol/key-for":["es.symbol"],"core-js/full/symbol/match":["es.symbol.match","es.regexp.exec","es.string.match"],"core-js/full/symbol/match-all":["es.symbol.match-all","es.object.to-string","es.regexp.exec","es.string.match-all"],"core-js/full/symbol/matcher":["esnext.symbol.matcher"],"core-js/full/symbol/metadata":["esnext.function.metadata","esnext.symbol.metadata"],"core-js/full/symbol/metadata-key":["esnext.symbol.metadata-key"],"core-js/full/symbol/observable":["esnext.symbol.observable"],"core-js/full/symbol/pattern-match":["esnext.symbol.pattern-match"],"core-js/full/symbol/replace":["es.symbol.replace","es.regexp.exec","es.string.replace"],"core-js/full/symbol/replace-all":["esnext.symbol.replace-all"],"core-js/full/symbol/search":["es.symbol.search","es.regexp.exec","es.string.search"],"core-js/full/symbol/species":["es.symbol.species"],"core-js/full/symbol/split":["es.symbol.split","es.regexp.exec","es.string.split"],"core-js/full/symbol/to-primitive":["es.symbol.to-primitive","es.date.to-primitive"],"core-js/full/symbol/to-string-tag":["es.symbol.to-string-tag","es.json.to-string-tag","es.math.to-string-tag","es.object.to-string","es.reflect.to-string-tag"],"core-js/full/symbol/unscopables":["es.symbol.unscopables"],"core-js/full/typed-array":["es.map","es.object.to-string","es.promise","es.string.iterator","es.typed-array.float32-array","es.typed-array.float64-array","es.typed-array.int8-array","es.typed-array.int16-array","es.typed-array.int32-array","es.typed-array.uint8-array","es.typed-array.uint8-clamped-array","es.typed-array.uint16-array","es.typed-array.uint32-array","es.typed-array.at","es.typed-array.copy-within","es.typed-array.every","es.typed-array.fill","es.typed-array.filter","es.typed-array.find","es.typed-array.find-index","es.typed-array.find-last","es.typed-array.find-last-index","es.typed-array.for-each","es.typed-array.from","es.typed-array.includes","es.typed-array.index-of","es.typed-array.iterator","es.typed-array.join","es.typed-array.last-index-of","es.typed-array.map","es.typed-array.of","es.typed-array.reduce","es.typed-array.reduce-right","es.typed-array.reverse","es.typed-array.set","es.typed-array.slice","es.typed-array.some","es.typed-array.sort","es.typed-array.subarray","es.typed-array.to-locale-string","es.typed-array.to-reversed","es.typed-array.to-sorted","es.typed-array.to-string","es.typed-array.with","esnext.typed-array.from-async","esnext.typed-array.at","esnext.typed-array.filter-out","esnext.typed-array.filter-reject","esnext.typed-array.find-last","esnext.typed-array.find-last-index","esnext.typed-array.group-by","esnext.typed-array.to-reversed","esnext.typed-array.to-sorted","esnext.typed-array.to-spliced","esnext.typed-array.unique-by","esnext.typed-array.with"],"core-js/full/typed-array/at":["es.typed-array.at","esnext.typed-array.at"],"core-js/full/typed-array/copy-within":["es.typed-array.copy-within"],"core-js/full/typed-array/entries":["es.object.to-string","es.typed-array.iterator"],"core-js/full/typed-array/every":["es.typed-array.every"],"core-js/full/typed-array/fill":["es.typed-array.fill"],"core-js/full/typed-array/filter":["es.typed-array.filter"],"core-js/full/typed-array/filter-out":["esnext.typed-array.filter-out"],"core-js/full/typed-array/filter-reject":["esnext.typed-array.filter-reject"],"core-js/full/typed-array/find":["es.typed-array.find"],"core-js/full/typed-array/find-index":["es.typed-array.find-index"],"core-js/full/typed-array/find-last":["es.typed-array.find-last","esnext.typed-array.find-last"],"core-js/full/typed-array/find-last-index":["es.typed-array.find-last-index","esnext.typed-array.find-last-index"],"core-js/full/typed-array/float32-array":["es.array-buffer.constructor","es.array-buffer.slice","es.map","es.object.to-string","es.promise","es.string.iterator","es.typed-array.float32-array","es.typed-array.at","es.typed-array.copy-within","es.typed-array.every","es.typed-array.fill","es.typed-array.filter","es.typed-array.find","es.typed-array.find-index","es.typed-array.find-last","es.typed-array.find-last-index","es.typed-array.for-each","es.typed-array.from","es.typed-array.includes","es.typed-array.index-of","es.typed-array.iterator","es.typed-array.join","es.typed-array.last-index-of","es.typed-array.map","es.typed-array.of","es.typed-array.reduce","es.typed-array.reduce-right","es.typed-array.reverse","es.typed-array.set","es.typed-array.slice","es.typed-array.some","es.typed-array.sort","es.typed-array.subarray","es.typed-array.to-locale-string","es.typed-array.to-reversed","es.typed-array.to-sorted","es.typed-array.to-string","es.typed-array.with","esnext.typed-array.from-async","esnext.typed-array.at","esnext.typed-array.filter-out","esnext.typed-array.filter-reject","esnext.typed-array.find-last","esnext.typed-array.find-last-index","esnext.typed-array.group-by","esnext.typed-array.to-reversed","esnext.typed-array.to-sorted","esnext.typed-array.to-spliced","esnext.typed-array.unique-by","esnext.typed-array.with"],"core-js/full/typed-array/float64-array":["es.array-buffer.constructor","es.array-buffer.slice","es.map","es.object.to-string","es.promise","es.string.iterator","es.typed-array.float64-array","es.typed-array.at","es.typed-array.copy-within","es.typed-array.every","es.typed-array.fill","es.typed-array.filter","es.typed-array.find","es.typed-array.find-index","es.typed-array.find-last","es.typed-array.find-last-index","es.typed-array.for-each","es.typed-array.from","es.typed-array.includes","es.typed-array.index-of","es.typed-array.iterator","es.typed-array.join","es.typed-array.last-index-of","es.typed-array.map","es.typed-array.of","es.typed-array.reduce","es.typed-array.reduce-right","es.typed-array.reverse","es.typed-array.set","es.typed-array.slice","es.typed-array.some","es.typed-array.sort","es.typed-array.subarray","es.typed-array.to-locale-string","es.typed-array.to-reversed","es.typed-array.to-sorted","es.typed-array.to-string","es.typed-array.with","esnext.typed-array.from-async","esnext.typed-array.at","esnext.typed-array.filter-out","esnext.typed-array.filter-reject","esnext.typed-array.find-last","esnext.typed-array.find-last-index","esnext.typed-array.group-by","esnext.typed-array.to-reversed","esnext.typed-array.to-sorted","esnext.typed-array.to-spliced","esnext.typed-array.unique-by","esnext.typed-array.with"],"core-js/full/typed-array/for-each":["es.typed-array.for-each"],"core-js/full/typed-array/from":["es.typed-array.from"],"core-js/full/typed-array/from-async":["esnext.typed-array.from-async"],"core-js/full/typed-array/group-by":["esnext.typed-array.group-by"],"core-js/full/typed-array/includes":["es.typed-array.includes"],"core-js/full/typed-array/index-of":["es.typed-array.index-of"],"core-js/full/typed-array/int16-array":["es.array-buffer.constructor","es.array-buffer.slice","es.map","es.object.to-string","es.promise","es.string.iterator","es.typed-array.int16-array","es.typed-array.at","es.typed-array.copy-within","es.typed-array.every","es.typed-array.fill","es.typed-array.filter","es.typed-array.find","es.typed-array.find-index","es.typed-array.find-last","es.typed-array.find-last-index","es.typed-array.for-each","es.typed-array.from","es.typed-array.includes","es.typed-array.index-of","es.typed-array.iterator","es.typed-array.join","es.typed-array.last-index-of","es.typed-array.map","es.typed-array.of","es.typed-array.reduce","es.typed-array.reduce-right","es.typed-array.reverse","es.typed-array.set","es.typed-array.slice","es.typed-array.some","es.typed-array.sort","es.typed-array.subarray","es.typed-array.to-locale-string","es.typed-array.to-reversed","es.typed-array.to-sorted","es.typed-array.to-string","es.typed-array.with","esnext.typed-array.from-async","esnext.typed-array.at","esnext.typed-array.filter-out","esnext.typed-array.filter-reject","esnext.typed-array.find-last","esnext.typed-array.find-last-index","esnext.typed-array.group-by","esnext.typed-array.to-reversed","esnext.typed-array.to-sorted","esnext.typed-array.to-spliced","esnext.typed-array.unique-by","esnext.typed-array.with"],"core-js/full/typed-array/int32-array":["es.array-buffer.constructor","es.array-buffer.slice","es.map","es.object.to-string","es.promise","es.string.iterator","es.typed-array.int32-array","es.typed-array.at","es.typed-array.copy-within","es.typed-array.every","es.typed-array.fill","es.typed-array.filter","es.typed-array.find","es.typed-array.find-index","es.typed-array.find-last","es.typed-array.find-last-index","es.typed-array.for-each","es.typed-array.from","es.typed-array.includes","es.typed-array.index-of","es.typed-array.iterator","es.typed-array.join","es.typed-array.last-index-of","es.typed-array.map","es.typed-array.of","es.typed-array.reduce","es.typed-array.reduce-right","es.typed-array.reverse","es.typed-array.set","es.typed-array.slice","es.typed-array.some","es.typed-array.sort","es.typed-array.subarray","es.typed-array.to-locale-string","es.typed-array.to-reversed","es.typed-array.to-sorted","es.typed-array.to-string","es.typed-array.with","esnext.typed-array.from-async","esnext.typed-array.at","esnext.typed-array.filter-out","esnext.typed-array.filter-reject","esnext.typed-array.find-last","esnext.typed-array.find-last-index","esnext.typed-array.group-by","esnext.typed-array.to-reversed","esnext.typed-array.to-sorted","esnext.typed-array.to-spliced","esnext.typed-array.unique-by","esnext.typed-array.with"],"core-js/full/typed-array/int8-array":["es.array-buffer.constructor","es.array-buffer.slice","es.map","es.object.to-string","es.promise","es.string.iterator","es.typed-array.int8-array","es.typed-array.at","es.typed-array.copy-within","es.typed-array.every","es.typed-array.fill","es.typed-array.filter","es.typed-array.find","es.typed-array.find-index","es.typed-array.find-last","es.typed-array.find-last-index","es.typed-array.for-each","es.typed-array.from","es.typed-array.includes","es.typed-array.index-of","es.typed-array.iterator","es.typed-array.join","es.typed-array.last-index-of","es.typed-array.map","es.typed-array.of","es.typed-array.reduce","es.typed-array.reduce-right","es.typed-array.reverse","es.typed-array.set","es.typed-array.slice","es.typed-array.some","es.typed-array.sort","es.typed-array.subarray","es.typed-array.to-locale-string","es.typed-array.to-reversed","es.typed-array.to-sorted","es.typed-array.to-string","es.typed-array.with","esnext.typed-array.from-async","esnext.typed-array.at","esnext.typed-array.filter-out","esnext.typed-array.filter-reject","esnext.typed-array.find-last","esnext.typed-array.find-last-index","esnext.typed-array.group-by","esnext.typed-array.to-reversed","esnext.typed-array.to-sorted","esnext.typed-array.to-spliced","esnext.typed-array.unique-by","esnext.typed-array.with"],"core-js/full/typed-array/iterator":["es.object.to-string","es.typed-array.iterator"],"core-js/full/typed-array/join":["es.typed-array.join"],"core-js/full/typed-array/keys":["es.object.to-string","es.typed-array.iterator"],"core-js/full/typed-array/last-index-of":["es.typed-array.last-index-of"],"core-js/full/typed-array/map":["es.typed-array.map"],"core-js/full/typed-array/methods":["es.map","es.object.to-string","es.promise","es.string.iterator","es.typed-array.at","es.typed-array.copy-within","es.typed-array.every","es.typed-array.fill","es.typed-array.filter","es.typed-array.find","es.typed-array.find-index","es.typed-array.find-last","es.typed-array.find-last-index","es.typed-array.for-each","es.typed-array.from","es.typed-array.includes","es.typed-array.index-of","es.typed-array.iterator","es.typed-array.join","es.typed-array.last-index-of","es.typed-array.map","es.typed-array.of","es.typed-array.reduce","es.typed-array.reduce-right","es.typed-array.reverse","es.typed-array.set","es.typed-array.slice","es.typed-array.some","es.typed-array.sort","es.typed-array.subarray","es.typed-array.to-locale-string","es.typed-array.to-reversed","es.typed-array.to-sorted","es.typed-array.to-string","es.typed-array.with","esnext.typed-array.from-async","esnext.typed-array.at","esnext.typed-array.filter-out","esnext.typed-array.filter-reject","esnext.typed-array.find-last","esnext.typed-array.find-last-index","esnext.typed-array.group-by","esnext.typed-array.to-reversed","esnext.typed-array.to-sorted","esnext.typed-array.to-spliced","esnext.typed-array.unique-by","esnext.typed-array.with"],"core-js/full/typed-array/of":["es.typed-array.of"],"core-js/full/typed-array/reduce":["es.typed-array.reduce"],"core-js/full/typed-array/reduce-right":["es.typed-array.reduce-right"],"core-js/full/typed-array/reverse":["es.typed-array.reverse"],"core-js/full/typed-array/set":["es.typed-array.set"],"core-js/full/typed-array/slice":["es.typed-array.slice"],"core-js/full/typed-array/some":["es.typed-array.some"],"core-js/full/typed-array/sort":["es.typed-array.sort"],"core-js/full/typed-array/subarray":["es.typed-array.subarray"],"core-js/full/typed-array/to-locale-string":["es.typed-array.to-locale-string"],"core-js/full/typed-array/to-reversed":["es.typed-array.to-reversed","esnext.typed-array.to-reversed"],"core-js/full/typed-array/to-sorted":["es.typed-array.sort","es.typed-array.to-sorted","esnext.typed-array.to-sorted"],"core-js/full/typed-array/to-spliced":["esnext.typed-array.to-spliced"],"core-js/full/typed-array/to-string":["es.typed-array.to-string"],"core-js/full/typed-array/uint16-array":["es.array-buffer.constructor","es.array-buffer.slice","es.map","es.object.to-string","es.promise","es.string.iterator","es.typed-array.uint16-array","es.typed-array.at","es.typed-array.copy-within","es.typed-array.every","es.typed-array.fill","es.typed-array.filter","es.typed-array.find","es.typed-array.find-index","es.typed-array.find-last","es.typed-array.find-last-index","es.typed-array.for-each","es.typed-array.from","es.typed-array.includes","es.typed-array.index-of","es.typed-array.iterator","es.typed-array.join","es.typed-array.last-index-of","es.typed-array.map","es.typed-array.of","es.typed-array.reduce","es.typed-array.reduce-right","es.typed-array.reverse","es.typed-array.set","es.typed-array.slice","es.typed-array.some","es.typed-array.sort","es.typed-array.subarray","es.typed-array.to-locale-string","es.typed-array.to-reversed","es.typed-array.to-sorted","es.typed-array.to-string","es.typed-array.with","esnext.typed-array.from-async","esnext.typed-array.at","esnext.typed-array.filter-out","esnext.typed-array.filter-reject","esnext.typed-array.find-last","esnext.typed-array.find-last-index","esnext.typed-array.group-by","esnext.typed-array.to-reversed","esnext.typed-array.to-sorted","esnext.typed-array.to-spliced","esnext.typed-array.unique-by","esnext.typed-array.with"],"core-js/full/typed-array/uint32-array":["es.array-buffer.constructor","es.array-buffer.slice","es.map","es.object.to-string","es.promise","es.string.iterator","es.typed-array.uint32-array","es.typed-array.at","es.typed-array.copy-within","es.typed-array.every","es.typed-array.fill","es.typed-array.filter","es.typed-array.find","es.typed-array.find-index","es.typed-array.find-last","es.typed-array.find-last-index","es.typed-array.for-each","es.typed-array.from","es.typed-array.includes","es.typed-array.index-of","es.typed-array.iterator","es.typed-array.join","es.typed-array.last-index-of","es.typed-array.map","es.typed-array.of","es.typed-array.reduce","es.typed-array.reduce-right","es.typed-array.reverse","es.typed-array.set","es.typed-array.slice","es.typed-array.some","es.typed-array.sort","es.typed-array.subarray","es.typed-array.to-locale-string","es.typed-array.to-reversed","es.typed-array.to-sorted","es.typed-array.to-string","es.typed-array.with","esnext.typed-array.from-async","esnext.typed-array.at","esnext.typed-array.filter-out","esnext.typed-array.filter-reject","esnext.typed-array.find-last","esnext.typed-array.find-last-index","esnext.typed-array.group-by","esnext.typed-array.to-reversed","esnext.typed-array.to-sorted","esnext.typed-array.to-spliced","esnext.typed-array.unique-by","esnext.typed-array.with"],"core-js/full/typed-array/uint8-array":["es.array-buffer.constructor","es.array-buffer.slice","es.map","es.object.to-string","es.promise","es.string.iterator","es.typed-array.uint8-array","es.typed-array.at","es.typed-array.copy-within","es.typed-array.every","es.typed-array.fill","es.typed-array.filter","es.typed-array.find","es.typed-array.find-index","es.typed-array.find-last","es.typed-array.find-last-index","es.typed-array.for-each","es.typed-array.from","es.typed-array.includes","es.typed-array.index-of","es.typed-array.iterator","es.typed-array.join","es.typed-array.last-index-of","es.typed-array.map","es.typed-array.of","es.typed-array.reduce","es.typed-array.reduce-right","es.typed-array.reverse","es.typed-array.set","es.typed-array.slice","es.typed-array.some","es.typed-array.sort","es.typed-array.subarray","es.typed-array.to-locale-string","es.typed-array.to-reversed","es.typed-array.to-sorted","es.typed-array.to-string","es.typed-array.with","esnext.typed-array.from-async","esnext.typed-array.at","esnext.typed-array.filter-out","esnext.typed-array.filter-reject","esnext.typed-array.find-last","esnext.typed-array.find-last-index","esnext.typed-array.group-by","esnext.typed-array.to-reversed","esnext.typed-array.to-sorted","esnext.typed-array.to-spliced","esnext.typed-array.unique-by","esnext.typed-array.with"],"core-js/full/typed-array/uint8-clamped-array":["es.array-buffer.constructor","es.array-buffer.slice","es.map","es.object.to-string","es.promise","es.string.iterator","es.typed-array.uint8-clamped-array","es.typed-array.at","es.typed-array.copy-within","es.typed-array.every","es.typed-array.fill","es.typed-array.filter","es.typed-array.find","es.typed-array.find-index","es.typed-array.find-last","es.typed-array.find-last-index","es.typed-array.for-each","es.typed-array.from","es.typed-array.includes","es.typed-array.index-of","es.typed-array.iterator","es.typed-array.join","es.typed-array.last-index-of","es.typed-array.map","es.typed-array.of","es.typed-array.reduce","es.typed-array.reduce-right","es.typed-array.reverse","es.typed-array.set","es.typed-array.slice","es.typed-array.some","es.typed-array.sort","es.typed-array.subarray","es.typed-array.to-locale-string","es.typed-array.to-reversed","es.typed-array.to-sorted","es.typed-array.to-string","es.typed-array.with","esnext.typed-array.from-async","esnext.typed-array.at","esnext.typed-array.filter-out","esnext.typed-array.filter-reject","esnext.typed-array.find-last","esnext.typed-array.find-last-index","esnext.typed-array.group-by","esnext.typed-array.to-reversed","esnext.typed-array.to-sorted","esnext.typed-array.to-spliced","esnext.typed-array.unique-by","esnext.typed-array.with"],"core-js/full/typed-array/unique-by":["es.map","esnext.typed-array.unique-by"],"core-js/full/typed-array/values":["es.object.to-string","es.typed-array.iterator"],"core-js/full/typed-array/with":["es.typed-array.with","esnext.typed-array.with"],"core-js/full/unescape":["es.unescape"],"core-js/full/url":["web.url","web.url.can-parse","web.url.to-json","web.url-search-params","web.url-search-params.delete","web.url-search-params.has","web.url-search-params.size"],"core-js/full/url-search-params":["web.dom-collections.iterator","web.url-search-params","web.url-search-params.delete","web.url-search-params.has","web.url-search-params.size"],"core-js/full/url/can-parse":["web.url","web.url.can-parse"],"core-js/full/url/to-json":["web.url.to-json"],"core-js/full/weak-map":["es.array.iterator","es.object.to-string","es.string.iterator","es.weak-map","esnext.weak-map.delete-all","esnext.weak-map.from","esnext.weak-map.of","esnext.weak-map.emplace","esnext.weak-map.upsert","web.dom-collections.iterator"],"core-js/full/weak-map/delete-all":["es.weak-map","esnext.weak-map.delete-all"],"core-js/full/weak-map/emplace":["es.weak-map","esnext.weak-map.emplace"],"core-js/full/weak-map/from":["es.array.iterator","es.string.iterator","es.weak-map","esnext.weak-map.from","web.dom-collections.iterator"],"core-js/full/weak-map/of":["es.array.iterator","es.weak-map","esnext.weak-map.of"],"core-js/full/weak-map/upsert":["es.weak-map","esnext.weak-map.upsert"],"core-js/full/weak-set":["es.array.iterator","es.object.to-string","es.string.iterator","es.weak-set","esnext.weak-set.add-all","esnext.weak-set.delete-all","esnext.weak-set.from","esnext.weak-set.of","web.dom-collections.iterator"],"core-js/full/weak-set/add-all":["es.weak-set","esnext.weak-set.add-all"],"core-js/full/weak-set/delete-all":["es.weak-set","esnext.weak-set.delete-all"],"core-js/full/weak-set/from":["es.array.iterator","es.string.iterator","es.weak-set","esnext.weak-set.from","web.dom-collections.iterator"],"core-js/full/weak-set/of":["es.array.iterator","es.weak-set","esnext.weak-set.of"],"core-js/modules/es.aggregate-error":["es.aggregate-error"],"core-js/modules/es.aggregate-error.cause":["es.aggregate-error.cause"],"core-js/modules/es.aggregate-error.constructor":["es.aggregate-error.constructor"],"core-js/modules/es.array-buffer.constructor":["es.array-buffer.constructor"],"core-js/modules/es.array-buffer.is-view":["es.array-buffer.is-view"],"core-js/modules/es.array-buffer.slice":["es.array-buffer.slice"],"core-js/modules/es.array.at":["es.array.at"],"core-js/modules/es.array.concat":["es.array.concat"],"core-js/modules/es.array.copy-within":["es.array.copy-within"],"core-js/modules/es.array.every":["es.array.every"],"core-js/modules/es.array.fill":["es.array.fill"],"core-js/modules/es.array.filter":["es.array.filter"],"core-js/modules/es.array.find":["es.array.find"],"core-js/modules/es.array.find-index":["es.array.find-index"],"core-js/modules/es.array.find-last":["es.array.find-last"],"core-js/modules/es.array.find-last-index":["es.array.find-last-index"],"core-js/modules/es.array.flat":["es.array.flat"],"core-js/modules/es.array.flat-map":["es.array.flat-map"],"core-js/modules/es.array.for-each":["es.array.for-each"],"core-js/modules/es.array.from":["es.array.from"],"core-js/modules/es.array.includes":["es.array.includes"],"core-js/modules/es.array.index-of":["es.array.index-of"],"core-js/modules/es.array.is-array":["es.array.is-array"],"core-js/modules/es.array.iterator":["es.array.iterator"],"core-js/modules/es.array.join":["es.array.join"],"core-js/modules/es.array.last-index-of":["es.array.last-index-of"],"core-js/modules/es.array.map":["es.array.map"],"core-js/modules/es.array.of":["es.array.of"],"core-js/modules/es.array.push":["es.array.push"],"core-js/modules/es.array.reduce":["es.array.reduce"],"core-js/modules/es.array.reduce-right":["es.array.reduce-right"],"core-js/modules/es.array.reverse":["es.array.reverse"],"core-js/modules/es.array.slice":["es.array.slice"],"core-js/modules/es.array.some":["es.array.some"],"core-js/modules/es.array.sort":["es.array.sort"],"core-js/modules/es.array.species":["es.array.species"],"core-js/modules/es.array.splice":["es.array.splice"],"core-js/modules/es.array.to-reversed":["es.array.to-reversed"],"core-js/modules/es.array.to-sorted":["es.array.to-sorted"],"core-js/modules/es.array.to-spliced":["es.array.to-spliced"],"core-js/modules/es.array.unscopables.flat":["es.array.unscopables.flat"],"core-js/modules/es.array.unscopables.flat-map":["es.array.unscopables.flat-map"],"core-js/modules/es.array.unshift":["es.array.unshift"],"core-js/modules/es.array.with":["es.array.with"],"core-js/modules/es.data-view":["es.data-view"],"core-js/modules/es.data-view.constructor":["es.data-view.constructor"],"core-js/modules/es.date.get-year":["es.date.get-year"],"core-js/modules/es.date.now":["es.date.now"],"core-js/modules/es.date.set-year":["es.date.set-year"],"core-js/modules/es.date.to-gmt-string":["es.date.to-gmt-string"],"core-js/modules/es.date.to-iso-string":["es.date.to-iso-string"],"core-js/modules/es.date.to-json":["es.date.to-json"],"core-js/modules/es.date.to-primitive":["es.date.to-primitive"],"core-js/modules/es.date.to-string":["es.date.to-string"],"core-js/modules/es.error.cause":["es.error.cause"],"core-js/modules/es.error.to-string":["es.error.to-string"],"core-js/modules/es.escape":["es.escape"],"core-js/modules/es.function.bind":["es.function.bind"],"core-js/modules/es.function.has-instance":["es.function.has-instance"],"core-js/modules/es.function.name":["es.function.name"],"core-js/modules/es.global-this":["es.global-this"],"core-js/modules/es.json.stringify":["es.json.stringify"],"core-js/modules/es.json.to-string-tag":["es.json.to-string-tag"],"core-js/modules/es.map":["es.map"],"core-js/modules/es.map.constructor":["es.map.constructor"],"core-js/modules/es.math.acosh":["es.math.acosh"],"core-js/modules/es.math.asinh":["es.math.asinh"],"core-js/modules/es.math.atanh":["es.math.atanh"],"core-js/modules/es.math.cbrt":["es.math.cbrt"],"core-js/modules/es.math.clz32":["es.math.clz32"],"core-js/modules/es.math.cosh":["es.math.cosh"],"core-js/modules/es.math.expm1":["es.math.expm1"],"core-js/modules/es.math.fround":["es.math.fround"],"core-js/modules/es.math.hypot":["es.math.hypot"],"core-js/modules/es.math.imul":["es.math.imul"],"core-js/modules/es.math.log10":["es.math.log10"],"core-js/modules/es.math.log1p":["es.math.log1p"],"core-js/modules/es.math.log2":["es.math.log2"],"core-js/modules/es.math.sign":["es.math.sign"],"core-js/modules/es.math.sinh":["es.math.sinh"],"core-js/modules/es.math.tanh":["es.math.tanh"],"core-js/modules/es.math.to-string-tag":["es.math.to-string-tag"],"core-js/modules/es.math.trunc":["es.math.trunc"],"core-js/modules/es.number.constructor":["es.number.constructor"],"core-js/modules/es.number.epsilon":["es.number.epsilon"],"core-js/modules/es.number.is-finite":["es.number.is-finite"],"core-js/modules/es.number.is-integer":["es.number.is-integer"],"core-js/modules/es.number.is-nan":["es.number.is-nan"],"core-js/modules/es.number.is-safe-integer":["es.number.is-safe-integer"],"core-js/modules/es.number.max-safe-integer":["es.number.max-safe-integer"],"core-js/modules/es.number.min-safe-integer":["es.number.min-safe-integer"],"core-js/modules/es.number.parse-float":["es.number.parse-float"],"core-js/modules/es.number.parse-int":["es.number.parse-int"],"core-js/modules/es.number.to-exponential":["es.number.to-exponential"],"core-js/modules/es.number.to-fixed":["es.number.to-fixed"],"core-js/modules/es.number.to-precision":["es.number.to-precision"],"core-js/modules/es.object.assign":["es.object.assign"],"core-js/modules/es.object.create":["es.object.create"],"core-js/modules/es.object.define-getter":["es.object.define-getter"],"core-js/modules/es.object.define-properties":["es.object.define-properties"],"core-js/modules/es.object.define-property":["es.object.define-property"],"core-js/modules/es.object.define-setter":["es.object.define-setter"],"core-js/modules/es.object.entries":["es.object.entries"],"core-js/modules/es.object.freeze":["es.object.freeze"],"core-js/modules/es.object.from-entries":["es.object.from-entries"],"core-js/modules/es.object.get-own-property-descriptor":["es.object.get-own-property-descriptor"],"core-js/modules/es.object.get-own-property-descriptors":["es.object.get-own-property-descriptors"],"core-js/modules/es.object.get-own-property-names":["es.object.get-own-property-names"],"core-js/modules/es.object.get-own-property-symbols":["es.object.get-own-property-symbols"],"core-js/modules/es.object.get-prototype-of":["es.object.get-prototype-of"],"core-js/modules/es.object.has-own":["es.object.has-own"],"core-js/modules/es.object.is":["es.object.is"],"core-js/modules/es.object.is-extensible":["es.object.is-extensible"],"core-js/modules/es.object.is-frozen":["es.object.is-frozen"],"core-js/modules/es.object.is-sealed":["es.object.is-sealed"],"core-js/modules/es.object.keys":["es.object.keys"],"core-js/modules/es.object.lookup-getter":["es.object.lookup-getter"],"core-js/modules/es.object.lookup-setter":["es.object.lookup-setter"],"core-js/modules/es.object.prevent-extensions":["es.object.prevent-extensions"],"core-js/modules/es.object.proto":["es.object.proto"],"core-js/modules/es.object.seal":["es.object.seal"],"core-js/modules/es.object.set-prototype-of":["es.object.set-prototype-of"],"core-js/modules/es.object.to-string":["es.object.to-string"],"core-js/modules/es.object.values":["es.object.values"],"core-js/modules/es.parse-float":["es.parse-float"],"core-js/modules/es.parse-int":["es.parse-int"],"core-js/modules/es.promise":["es.promise"],"core-js/modules/es.promise.all":["es.promise.all"],"core-js/modules/es.promise.all-settled":["es.promise.all-settled"],"core-js/modules/es.promise.any":["es.promise.any"],"core-js/modules/es.promise.catch":["es.promise.catch"],"core-js/modules/es.promise.constructor":["es.promise.constructor"],"core-js/modules/es.promise.finally":["es.promise.finally"],"core-js/modules/es.promise.race":["es.promise.race"],"core-js/modules/es.promise.reject":["es.promise.reject"],"core-js/modules/es.promise.resolve":["es.promise.resolve"],"core-js/modules/es.reflect.apply":["es.reflect.apply"],"core-js/modules/es.reflect.construct":["es.reflect.construct"],"core-js/modules/es.reflect.define-property":["es.reflect.define-property"],"core-js/modules/es.reflect.delete-property":["es.reflect.delete-property"],"core-js/modules/es.reflect.get":["es.reflect.get"],"core-js/modules/es.reflect.get-own-property-descriptor":["es.reflect.get-own-property-descriptor"],"core-js/modules/es.reflect.get-prototype-of":["es.reflect.get-prototype-of"],"core-js/modules/es.reflect.has":["es.reflect.has"],"core-js/modules/es.reflect.is-extensible":["es.reflect.is-extensible"],"core-js/modules/es.reflect.own-keys":["es.reflect.own-keys"],"core-js/modules/es.reflect.prevent-extensions":["es.reflect.prevent-extensions"],"core-js/modules/es.reflect.set":["es.reflect.set"],"core-js/modules/es.reflect.set-prototype-of":["es.reflect.set-prototype-of"],"core-js/modules/es.reflect.to-string-tag":["es.reflect.to-string-tag"],"core-js/modules/es.regexp.constructor":["es.regexp.constructor"],"core-js/modules/es.regexp.dot-all":["es.regexp.dot-all"],"core-js/modules/es.regexp.exec":["es.regexp.exec"],"core-js/modules/es.regexp.flags":["es.regexp.flags"],"core-js/modules/es.regexp.sticky":["es.regexp.sticky"],"core-js/modules/es.regexp.test":["es.regexp.test"],"core-js/modules/es.regexp.to-string":["es.regexp.to-string"],"core-js/modules/es.set":["es.set"],"core-js/modules/es.set.constructor":["es.set.constructor"],"core-js/modules/es.string.anchor":["es.string.anchor"],"core-js/modules/es.string.at-alternative":["es.string.at-alternative"],"core-js/modules/es.string.big":["es.string.big"],"core-js/modules/es.string.blink":["es.string.blink"],"core-js/modules/es.string.bold":["es.string.bold"],"core-js/modules/es.string.code-point-at":["es.string.code-point-at"],"core-js/modules/es.string.ends-with":["es.string.ends-with"],"core-js/modules/es.string.fixed":["es.string.fixed"],"core-js/modules/es.string.fontcolor":["es.string.fontcolor"],"core-js/modules/es.string.fontsize":["es.string.fontsize"],"core-js/modules/es.string.from-code-point":["es.string.from-code-point"],"core-js/modules/es.string.includes":["es.string.includes"],"core-js/modules/es.string.is-well-formed":["es.string.is-well-formed"],"core-js/modules/es.string.italics":["es.string.italics"],"core-js/modules/es.string.iterator":["es.string.iterator"],"core-js/modules/es.string.link":["es.string.link"],"core-js/modules/es.string.match":["es.string.match"],"core-js/modules/es.string.match-all":["es.string.match-all"],"core-js/modules/es.string.pad-end":["es.string.pad-end"],"core-js/modules/es.string.pad-start":["es.string.pad-start"],"core-js/modules/es.string.raw":["es.string.raw"],"core-js/modules/es.string.repeat":["es.string.repeat"],"core-js/modules/es.string.replace":["es.string.replace"],"core-js/modules/es.string.replace-all":["es.string.replace-all"],"core-js/modules/es.string.search":["es.string.search"],"core-js/modules/es.string.small":["es.string.small"],"core-js/modules/es.string.split":["es.string.split"],"core-js/modules/es.string.starts-with":["es.string.starts-with"],"core-js/modules/es.string.strike":["es.string.strike"],"core-js/modules/es.string.sub":["es.string.sub"],"core-js/modules/es.string.substr":["es.string.substr"],"core-js/modules/es.string.sup":["es.string.sup"],"core-js/modules/es.string.to-well-formed":["es.string.to-well-formed"],"core-js/modules/es.string.trim":["es.string.trim"],"core-js/modules/es.string.trim-end":["es.string.trim-end"],"core-js/modules/es.string.trim-left":["es.string.trim-left"],"core-js/modules/es.string.trim-right":["es.string.trim-right"],"core-js/modules/es.string.trim-start":["es.string.trim-start"],"core-js/modules/es.symbol":["es.symbol"],"core-js/modules/es.symbol.async-iterator":["es.symbol.async-iterator"],"core-js/modules/es.symbol.constructor":["es.symbol.constructor"],"core-js/modules/es.symbol.description":["es.symbol.description"],"core-js/modules/es.symbol.for":["es.symbol.for"],"core-js/modules/es.symbol.has-instance":["es.symbol.has-instance"],"core-js/modules/es.symbol.is-concat-spreadable":["es.symbol.is-concat-spreadable"],"core-js/modules/es.symbol.iterator":["es.symbol.iterator"],"core-js/modules/es.symbol.key-for":["es.symbol.key-for"],"core-js/modules/es.symbol.match":["es.symbol.match"],"core-js/modules/es.symbol.match-all":["es.symbol.match-all"],"core-js/modules/es.symbol.replace":["es.symbol.replace"],"core-js/modules/es.symbol.search":["es.symbol.search"],"core-js/modules/es.symbol.species":["es.symbol.species"],"core-js/modules/es.symbol.split":["es.symbol.split"],"core-js/modules/es.symbol.to-primitive":["es.symbol.to-primitive"],"core-js/modules/es.symbol.to-string-tag":["es.symbol.to-string-tag"],"core-js/modules/es.symbol.unscopables":["es.symbol.unscopables"],"core-js/modules/es.typed-array.at":["es.typed-array.at"],"core-js/modules/es.typed-array.copy-within":["es.typed-array.copy-within"],"core-js/modules/es.typed-array.every":["es.typed-array.every"],"core-js/modules/es.typed-array.fill":["es.typed-array.fill"],"core-js/modules/es.typed-array.filter":["es.typed-array.filter"],"core-js/modules/es.typed-array.find":["es.typed-array.find"],"core-js/modules/es.typed-array.find-index":["es.typed-array.find-index"],"core-js/modules/es.typed-array.find-last":["es.typed-array.find-last"],"core-js/modules/es.typed-array.find-last-index":["es.typed-array.find-last-index"],"core-js/modules/es.typed-array.float32-array":["es.typed-array.float32-array"],"core-js/modules/es.typed-array.float64-array":["es.typed-array.float64-array"],"core-js/modules/es.typed-array.for-each":["es.typed-array.for-each"],"core-js/modules/es.typed-array.from":["es.typed-array.from"],"core-js/modules/es.typed-array.includes":["es.typed-array.includes"],"core-js/modules/es.typed-array.index-of":["es.typed-array.index-of"],"core-js/modules/es.typed-array.int16-array":["es.typed-array.int16-array"],"core-js/modules/es.typed-array.int32-array":["es.typed-array.int32-array"],"core-js/modules/es.typed-array.int8-array":["es.typed-array.int8-array"],"core-js/modules/es.typed-array.iterator":["es.typed-array.iterator"],"core-js/modules/es.typed-array.join":["es.typed-array.join"],"core-js/modules/es.typed-array.last-index-of":["es.typed-array.last-index-of"],"core-js/modules/es.typed-array.map":["es.typed-array.map"],"core-js/modules/es.typed-array.of":["es.typed-array.of"],"core-js/modules/es.typed-array.reduce":["es.typed-array.reduce"],"core-js/modules/es.typed-array.reduce-right":["es.typed-array.reduce-right"],"core-js/modules/es.typed-array.reverse":["es.typed-array.reverse"],"core-js/modules/es.typed-array.set":["es.typed-array.set"],"core-js/modules/es.typed-array.slice":["es.typed-array.slice"],"core-js/modules/es.typed-array.some":["es.typed-array.some"],"core-js/modules/es.typed-array.sort":["es.typed-array.sort"],"core-js/modules/es.typed-array.subarray":["es.typed-array.subarray"],"core-js/modules/es.typed-array.to-locale-string":["es.typed-array.to-locale-string"],"core-js/modules/es.typed-array.to-reversed":["es.typed-array.to-reversed"],"core-js/modules/es.typed-array.to-sorted":["es.typed-array.to-sorted"],"core-js/modules/es.typed-array.to-string":["es.typed-array.to-string"],"core-js/modules/es.typed-array.uint16-array":["es.typed-array.uint16-array"],"core-js/modules/es.typed-array.uint32-array":["es.typed-array.uint32-array"],"core-js/modules/es.typed-array.uint8-array":["es.typed-array.uint8-array"],"core-js/modules/es.typed-array.uint8-clamped-array":["es.typed-array.uint8-clamped-array"],"core-js/modules/es.typed-array.with":["es.typed-array.with"],"core-js/modules/es.unescape":["es.unescape"],"core-js/modules/es.weak-map":["es.weak-map"],"core-js/modules/es.weak-map.constructor":["es.weak-map.constructor"],"core-js/modules/es.weak-set":["es.weak-set"],"core-js/modules/es.weak-set.constructor":["es.weak-set.constructor"],"core-js/modules/esnext.aggregate-error":["esnext.aggregate-error"],"core-js/modules/esnext.array-buffer.detached":["esnext.array-buffer.detached"],"core-js/modules/esnext.array-buffer.transfer":["esnext.array-buffer.transfer"],"core-js/modules/esnext.array-buffer.transfer-to-fixed-length":["esnext.array-buffer.transfer-to-fixed-length"],"core-js/modules/esnext.array.at":["esnext.array.at"],"core-js/modules/esnext.array.filter-out":["esnext.array.filter-out"],"core-js/modules/esnext.array.filter-reject":["esnext.array.filter-reject"],"core-js/modules/esnext.array.find-last":["esnext.array.find-last"],"core-js/modules/esnext.array.find-last-index":["esnext.array.find-last-index"],"core-js/modules/esnext.array.from-async":["esnext.array.from-async"],"core-js/modules/esnext.array.group":["esnext.array.group"],"core-js/modules/esnext.array.group-by":["esnext.array.group-by"],"core-js/modules/esnext.array.group-by-to-map":["esnext.array.group-by-to-map"],"core-js/modules/esnext.array.group-to-map":["esnext.array.group-to-map"],"core-js/modules/esnext.array.is-template-object":["esnext.array.is-template-object"],"core-js/modules/esnext.array.last-index":["esnext.array.last-index"],"core-js/modules/esnext.array.last-item":["esnext.array.last-item"],"core-js/modules/esnext.array.to-reversed":["esnext.array.to-reversed"],"core-js/modules/esnext.array.to-sorted":["esnext.array.to-sorted"],"core-js/modules/esnext.array.to-spliced":["esnext.array.to-spliced"],"core-js/modules/esnext.array.unique-by":["esnext.array.unique-by"],"core-js/modules/esnext.array.with":["esnext.array.with"],"core-js/modules/esnext.async-disposable-stack.constructor":["esnext.async-disposable-stack.constructor"],"core-js/modules/esnext.async-iterator.as-indexed-pairs":["esnext.async-iterator.as-indexed-pairs"],"core-js/modules/esnext.async-iterator.async-dispose":["esnext.async-iterator.async-dispose"],"core-js/modules/esnext.async-iterator.constructor":["esnext.async-iterator.constructor"],"core-js/modules/esnext.async-iterator.drop":["esnext.async-iterator.drop"],"core-js/modules/esnext.async-iterator.every":["esnext.async-iterator.every"],"core-js/modules/esnext.async-iterator.filter":["esnext.async-iterator.filter"],"core-js/modules/esnext.async-iterator.find":["esnext.async-iterator.find"],"core-js/modules/esnext.async-iterator.flat-map":["esnext.async-iterator.flat-map"],"core-js/modules/esnext.async-iterator.for-each":["esnext.async-iterator.for-each"],"core-js/modules/esnext.async-iterator.from":["esnext.async-iterator.from"],"core-js/modules/esnext.async-iterator.indexed":["esnext.async-iterator.indexed"],"core-js/modules/esnext.async-iterator.map":["esnext.async-iterator.map"],"core-js/modules/esnext.async-iterator.reduce":["esnext.async-iterator.reduce"],"core-js/modules/esnext.async-iterator.some":["esnext.async-iterator.some"],"core-js/modules/esnext.async-iterator.take":["esnext.async-iterator.take"],"core-js/modules/esnext.async-iterator.to-array":["esnext.async-iterator.to-array"],"core-js/modules/esnext.bigint.range":["esnext.bigint.range"],"core-js/modules/esnext.composite-key":["esnext.composite-key"],"core-js/modules/esnext.composite-symbol":["esnext.composite-symbol"],"core-js/modules/esnext.disposable-stack.constructor":["esnext.disposable-stack.constructor"],"core-js/modules/esnext.function.demethodize":["esnext.function.demethodize"],"core-js/modules/esnext.function.is-callable":["esnext.function.is-callable"],"core-js/modules/esnext.function.is-constructor":["esnext.function.is-constructor"],"core-js/modules/esnext.function.metadata":["esnext.function.metadata"],"core-js/modules/esnext.function.un-this":["esnext.function.un-this"],"core-js/modules/esnext.global-this":["esnext.global-this"],"core-js/modules/esnext.iterator.as-indexed-pairs":["esnext.iterator.as-indexed-pairs"],"core-js/modules/esnext.iterator.constructor":["esnext.iterator.constructor"],"core-js/modules/esnext.iterator.dispose":["esnext.iterator.dispose"],"core-js/modules/esnext.iterator.drop":["esnext.iterator.drop"],"core-js/modules/esnext.iterator.every":["esnext.iterator.every"],"core-js/modules/esnext.iterator.filter":["esnext.iterator.filter"],"core-js/modules/esnext.iterator.find":["esnext.iterator.find"],"core-js/modules/esnext.iterator.flat-map":["esnext.iterator.flat-map"],"core-js/modules/esnext.iterator.for-each":["esnext.iterator.for-each"],"core-js/modules/esnext.iterator.from":["esnext.iterator.from"],"core-js/modules/esnext.iterator.indexed":["esnext.iterator.indexed"],"core-js/modules/esnext.iterator.map":["esnext.iterator.map"],"core-js/modules/esnext.iterator.range":["esnext.iterator.range"],"core-js/modules/esnext.iterator.reduce":["esnext.iterator.reduce"],"core-js/modules/esnext.iterator.some":["esnext.iterator.some"],"core-js/modules/esnext.iterator.take":["esnext.iterator.take"],"core-js/modules/esnext.iterator.to-array":["esnext.iterator.to-array"],"core-js/modules/esnext.iterator.to-async":["esnext.iterator.to-async"],"core-js/modules/esnext.json.is-raw-json":["esnext.json.is-raw-json"],"core-js/modules/esnext.json.parse":["esnext.json.parse"],"core-js/modules/esnext.json.raw-json":["esnext.json.raw-json"],"core-js/modules/esnext.map.delete-all":["esnext.map.delete-all"],"core-js/modules/esnext.map.emplace":["esnext.map.emplace"],"core-js/modules/esnext.map.every":["esnext.map.every"],"core-js/modules/esnext.map.filter":["esnext.map.filter"],"core-js/modules/esnext.map.find":["esnext.map.find"],"core-js/modules/esnext.map.find-key":["esnext.map.find-key"],"core-js/modules/esnext.map.from":["esnext.map.from"],"core-js/modules/esnext.map.group-by":["esnext.map.group-by"],"core-js/modules/esnext.map.includes":["esnext.map.includes"],"core-js/modules/esnext.map.key-by":["esnext.map.key-by"],"core-js/modules/esnext.map.key-of":["esnext.map.key-of"],"core-js/modules/esnext.map.map-keys":["esnext.map.map-keys"],"core-js/modules/esnext.map.map-values":["esnext.map.map-values"],"core-js/modules/esnext.map.merge":["esnext.map.merge"],"core-js/modules/esnext.map.of":["esnext.map.of"],"core-js/modules/esnext.map.reduce":["esnext.map.reduce"],"core-js/modules/esnext.map.some":["esnext.map.some"],"core-js/modules/esnext.map.update":["esnext.map.update"],"core-js/modules/esnext.map.update-or-insert":["esnext.map.update-or-insert"],"core-js/modules/esnext.map.upsert":["esnext.map.upsert"],"core-js/modules/esnext.math.clamp":["esnext.math.clamp"],"core-js/modules/esnext.math.deg-per-rad":["esnext.math.deg-per-rad"],"core-js/modules/esnext.math.degrees":["esnext.math.degrees"],"core-js/modules/esnext.math.fscale":["esnext.math.fscale"],"core-js/modules/esnext.math.iaddh":["esnext.math.iaddh"],"core-js/modules/esnext.math.imulh":["esnext.math.imulh"],"core-js/modules/esnext.math.isubh":["esnext.math.isubh"],"core-js/modules/esnext.math.rad-per-deg":["esnext.math.rad-per-deg"],"core-js/modules/esnext.math.radians":["esnext.math.radians"],"core-js/modules/esnext.math.scale":["esnext.math.scale"],"core-js/modules/esnext.math.seeded-prng":["esnext.math.seeded-prng"],"core-js/modules/esnext.math.signbit":["esnext.math.signbit"],"core-js/modules/esnext.math.umulh":["esnext.math.umulh"],"core-js/modules/esnext.number.from-string":["esnext.number.from-string"],"core-js/modules/esnext.number.range":["esnext.number.range"],"core-js/modules/esnext.object.group-by":["esnext.object.group-by"],"core-js/modules/esnext.object.has-own":["esnext.object.has-own"],"core-js/modules/esnext.object.iterate-entries":["esnext.object.iterate-entries"],"core-js/modules/esnext.object.iterate-keys":["esnext.object.iterate-keys"],"core-js/modules/esnext.object.iterate-values":["esnext.object.iterate-values"],"core-js/modules/esnext.observable":["esnext.observable"],"core-js/modules/esnext.observable.constructor":["esnext.observable.constructor"],"core-js/modules/esnext.observable.from":["esnext.observable.from"],"core-js/modules/esnext.observable.of":["esnext.observable.of"],"core-js/modules/esnext.promise.all-settled":["esnext.promise.all-settled"],"core-js/modules/esnext.promise.any":["esnext.promise.any"],"core-js/modules/esnext.promise.try":["esnext.promise.try"],"core-js/modules/esnext.promise.with-resolvers":["esnext.promise.with-resolvers"],"core-js/modules/esnext.reflect.define-metadata":["esnext.reflect.define-metadata"],"core-js/modules/esnext.reflect.delete-metadata":["esnext.reflect.delete-metadata"],"core-js/modules/esnext.reflect.get-metadata":["esnext.reflect.get-metadata"],"core-js/modules/esnext.reflect.get-metadata-keys":["esnext.reflect.get-metadata-keys"],"core-js/modules/esnext.reflect.get-own-metadata":["esnext.reflect.get-own-metadata"],"core-js/modules/esnext.reflect.get-own-metadata-keys":["esnext.reflect.get-own-metadata-keys"],"core-js/modules/esnext.reflect.has-metadata":["esnext.reflect.has-metadata"],"core-js/modules/esnext.reflect.has-own-metadata":["esnext.reflect.has-own-metadata"],"core-js/modules/esnext.reflect.metadata":["esnext.reflect.metadata"],"core-js/modules/esnext.set.add-all":["esnext.set.add-all"],"core-js/modules/esnext.set.delete-all":["esnext.set.delete-all"],"core-js/modules/esnext.set.difference":["esnext.set.difference"],"core-js/modules/esnext.set.difference.v2":["esnext.set.difference.v2"],"core-js/modules/esnext.set.every":["esnext.set.every"],"core-js/modules/esnext.set.filter":["esnext.set.filter"],"core-js/modules/esnext.set.find":["esnext.set.find"],"core-js/modules/esnext.set.from":["esnext.set.from"],"core-js/modules/esnext.set.intersection":["esnext.set.intersection"],"core-js/modules/esnext.set.intersection.v2":["esnext.set.intersection.v2"],"core-js/modules/esnext.set.is-disjoint-from":["esnext.set.is-disjoint-from"],"core-js/modules/esnext.set.is-disjoint-from.v2":["esnext.set.is-disjoint-from.v2"],"core-js/modules/esnext.set.is-subset-of":["esnext.set.is-subset-of"],"core-js/modules/esnext.set.is-subset-of.v2":["esnext.set.is-subset-of.v2"],"core-js/modules/esnext.set.is-superset-of":["esnext.set.is-superset-of"],"core-js/modules/esnext.set.is-superset-of.v2":["esnext.set.is-superset-of.v2"],"core-js/modules/esnext.set.join":["esnext.set.join"],"core-js/modules/esnext.set.map":["esnext.set.map"],"core-js/modules/esnext.set.of":["esnext.set.of"],"core-js/modules/esnext.set.reduce":["esnext.set.reduce"],"core-js/modules/esnext.set.some":["esnext.set.some"],"core-js/modules/esnext.set.symmetric-difference":["esnext.set.symmetric-difference"],"core-js/modules/esnext.set.symmetric-difference.v2":["esnext.set.symmetric-difference.v2"],"core-js/modules/esnext.set.union":["esnext.set.union"],"core-js/modules/esnext.set.union.v2":["esnext.set.union.v2"],"core-js/modules/esnext.string.at":["esnext.string.at"],"core-js/modules/esnext.string.at-alternative":["esnext.string.at-alternative"],"core-js/modules/esnext.string.code-points":["esnext.string.code-points"],"core-js/modules/esnext.string.cooked":["esnext.string.cooked"],"core-js/modules/esnext.string.dedent":["esnext.string.dedent"],"core-js/modules/esnext.string.is-well-formed":["esnext.string.is-well-formed"],"core-js/modules/esnext.string.match-all":["esnext.string.match-all"],"core-js/modules/esnext.string.replace-all":["esnext.string.replace-all"],"core-js/modules/esnext.string.to-well-formed":["esnext.string.to-well-formed"],"core-js/modules/esnext.suppressed-error.constructor":["esnext.suppressed-error.constructor"],"core-js/modules/esnext.symbol.async-dispose":["esnext.symbol.async-dispose"],"core-js/modules/esnext.symbol.dispose":["esnext.symbol.dispose"],"core-js/modules/esnext.symbol.is-registered":["esnext.symbol.is-registered"],"core-js/modules/esnext.symbol.is-registered-symbol":["esnext.symbol.is-registered-symbol"],"core-js/modules/esnext.symbol.is-well-known":["esnext.symbol.is-well-known"],"core-js/modules/esnext.symbol.is-well-known-symbol":["esnext.symbol.is-well-known-symbol"],"core-js/modules/esnext.symbol.matcher":["esnext.symbol.matcher"],"core-js/modules/esnext.symbol.metadata":["esnext.symbol.metadata"],"core-js/modules/esnext.symbol.metadata-key":["esnext.symbol.metadata-key"],"core-js/modules/esnext.symbol.observable":["esnext.symbol.observable"],"core-js/modules/esnext.symbol.pattern-match":["esnext.symbol.pattern-match"],"core-js/modules/esnext.symbol.replace-all":["esnext.symbol.replace-all"],"core-js/modules/esnext.typed-array.at":["esnext.typed-array.at"],"core-js/modules/esnext.typed-array.filter-out":["esnext.typed-array.filter-out"],"core-js/modules/esnext.typed-array.filter-reject":["esnext.typed-array.filter-reject"],"core-js/modules/esnext.typed-array.find-last":["esnext.typed-array.find-last"],"core-js/modules/esnext.typed-array.find-last-index":["esnext.typed-array.find-last-index"],"core-js/modules/esnext.typed-array.from-async":["esnext.typed-array.from-async"],"core-js/modules/esnext.typed-array.group-by":["esnext.typed-array.group-by"],"core-js/modules/esnext.typed-array.to-reversed":["esnext.typed-array.to-reversed"],"core-js/modules/esnext.typed-array.to-sorted":["esnext.typed-array.to-sorted"],"core-js/modules/esnext.typed-array.to-spliced":["esnext.typed-array.to-spliced"],"core-js/modules/esnext.typed-array.unique-by":["esnext.typed-array.unique-by"],"core-js/modules/esnext.typed-array.with":["esnext.typed-array.with"],"core-js/modules/esnext.weak-map.delete-all":["esnext.weak-map.delete-all"],"core-js/modules/esnext.weak-map.emplace":["esnext.weak-map.emplace"],"core-js/modules/esnext.weak-map.from":["esnext.weak-map.from"],"core-js/modules/esnext.weak-map.of":["esnext.weak-map.of"],"core-js/modules/esnext.weak-map.upsert":["esnext.weak-map.upsert"],"core-js/modules/esnext.weak-set.add-all":["esnext.weak-set.add-all"],"core-js/modules/esnext.weak-set.delete-all":["esnext.weak-set.delete-all"],"core-js/modules/esnext.weak-set.from":["esnext.weak-set.from"],"core-js/modules/esnext.weak-set.of":["esnext.weak-set.of"],"core-js/modules/web.atob":["web.atob"],"core-js/modules/web.btoa":["web.btoa"],"core-js/modules/web.clear-immediate":["web.clear-immediate"],"core-js/modules/web.dom-collections.for-each":["web.dom-collections.for-each"],"core-js/modules/web.dom-collections.iterator":["web.dom-collections.iterator"],"core-js/modules/web.dom-exception.constructor":["web.dom-exception.constructor"],"core-js/modules/web.dom-exception.stack":["web.dom-exception.stack"],"core-js/modules/web.dom-exception.to-string-tag":["web.dom-exception.to-string-tag"],"core-js/modules/web.immediate":["web.immediate"],"core-js/modules/web.queue-microtask":["web.queue-microtask"],"core-js/modules/web.self":["web.self"],"core-js/modules/web.set-immediate":["web.set-immediate"],"core-js/modules/web.set-interval":["web.set-interval"],"core-js/modules/web.set-timeout":["web.set-timeout"],"core-js/modules/web.structured-clone":["web.structured-clone"],"core-js/modules/web.timers":["web.timers"],"core-js/modules/web.url":["web.url"],"core-js/modules/web.url-search-params":["web.url-search-params"],"core-js/modules/web.url-search-params.constructor":["web.url-search-params.constructor"],"core-js/modules/web.url-search-params.delete":["web.url-search-params.delete"],"core-js/modules/web.url-search-params.has":["web.url-search-params.has"],"core-js/modules/web.url-search-params.size":["web.url-search-params.size"],"core-js/modules/web.url.can-parse":["web.url.can-parse"],"core-js/modules/web.url.constructor":["web.url.constructor"],"core-js/modules/web.url.to-json":["web.url.to-json"],"core-js/proposals":["es.map","es.string.at-alternative","esnext.aggregate-error","esnext.suppressed-error.constructor","esnext.array.from-async","esnext.array.at","esnext.array.filter-out","esnext.array.filter-reject","esnext.array.find-last","esnext.array.find-last-index","esnext.array.group","esnext.array.group-by","esnext.array.group-by-to-map","esnext.array.group-to-map","esnext.array.is-template-object","esnext.array.last-index","esnext.array.last-item","esnext.array.to-reversed","esnext.array.to-sorted","esnext.array.to-spliced","esnext.array.unique-by","esnext.array.with","esnext.array-buffer.detached","esnext.array-buffer.transfer","esnext.array-buffer.transfer-to-fixed-length","esnext.async-disposable-stack.constructor","esnext.async-iterator.constructor","esnext.async-iterator.as-indexed-pairs","esnext.async-iterator.async-dispose","esnext.async-iterator.drop","esnext.async-iterator.every","esnext.async-iterator.filter","esnext.async-iterator.find","esnext.async-iterator.flat-map","esnext.async-iterator.for-each","esnext.async-iterator.from","esnext.async-iterator.indexed","esnext.async-iterator.map","esnext.async-iterator.reduce","esnext.async-iterator.some","esnext.async-iterator.take","esnext.async-iterator.to-array","esnext.bigint.range","esnext.composite-key","esnext.composite-symbol","esnext.disposable-stack.constructor","esnext.function.demethodize","esnext.function.is-callable","esnext.function.is-constructor","esnext.function.metadata","esnext.function.un-this","esnext.global-this","esnext.iterator.constructor","esnext.iterator.as-indexed-pairs","esnext.iterator.dispose","esnext.iterator.drop","esnext.iterator.every","esnext.iterator.filter","esnext.iterator.find","esnext.iterator.flat-map","esnext.iterator.for-each","esnext.iterator.from","esnext.iterator.indexed","esnext.iterator.map","esnext.iterator.range","esnext.iterator.reduce","esnext.iterator.some","esnext.iterator.take","esnext.iterator.to-array","esnext.iterator.to-async","esnext.json.is-raw-json","esnext.json.parse","esnext.json.raw-json","esnext.map.delete-all","esnext.map.emplace","esnext.map.every","esnext.map.filter","esnext.map.find","esnext.map.find-key","esnext.map.from","esnext.map.group-by","esnext.map.includes","esnext.map.key-by","esnext.map.key-of","esnext.map.map-keys","esnext.map.map-values","esnext.map.merge","esnext.map.of","esnext.map.reduce","esnext.map.some","esnext.map.update","esnext.map.update-or-insert","esnext.map.upsert","esnext.math.clamp","esnext.math.deg-per-rad","esnext.math.degrees","esnext.math.fscale","esnext.math.iaddh","esnext.math.imulh","esnext.math.isubh","esnext.math.rad-per-deg","esnext.math.radians","esnext.math.scale","esnext.math.seeded-prng","esnext.math.signbit","esnext.math.umulh","esnext.number.from-string","esnext.number.range","esnext.object.has-own","esnext.object.iterate-entries","esnext.object.iterate-keys","esnext.object.iterate-values","esnext.object.group-by","esnext.observable","esnext.promise.all-settled","esnext.promise.any","esnext.promise.try","esnext.promise.with-resolvers","esnext.reflect.define-metadata","esnext.reflect.delete-metadata","esnext.reflect.get-metadata","esnext.reflect.get-metadata-keys","esnext.reflect.get-own-metadata","esnext.reflect.get-own-metadata-keys","esnext.reflect.has-metadata","esnext.reflect.has-own-metadata","esnext.reflect.metadata","esnext.set.add-all","esnext.set.delete-all","esnext.set.difference.v2","esnext.set.difference","esnext.set.every","esnext.set.filter","esnext.set.find","esnext.set.from","esnext.set.intersection.v2","esnext.set.intersection","esnext.set.is-disjoint-from.v2","esnext.set.is-disjoint-from","esnext.set.is-subset-of.v2","esnext.set.is-subset-of","esnext.set.is-superset-of.v2","esnext.set.is-superset-of","esnext.set.join","esnext.set.map","esnext.set.of","esnext.set.reduce","esnext.set.some","esnext.set.symmetric-difference.v2","esnext.set.symmetric-difference","esnext.set.union.v2","esnext.set.union","esnext.string.at","esnext.string.cooked","esnext.string.code-points","esnext.string.dedent","esnext.string.is-well-formed","esnext.string.match-all","esnext.string.replace-all","esnext.string.to-well-formed","esnext.symbol.async-dispose","esnext.symbol.dispose","esnext.symbol.is-registered-symbol","esnext.symbol.is-registered","esnext.symbol.is-well-known-symbol","esnext.symbol.is-well-known","esnext.symbol.matcher","esnext.symbol.metadata","esnext.symbol.metadata-key","esnext.symbol.observable","esnext.symbol.pattern-match","esnext.symbol.replace-all","esnext.typed-array.from-async","esnext.typed-array.at","esnext.typed-array.filter-out","esnext.typed-array.filter-reject","esnext.typed-array.find-last","esnext.typed-array.find-last-index","esnext.typed-array.group-by","esnext.typed-array.to-reversed","esnext.typed-array.to-sorted","esnext.typed-array.to-spliced","esnext.typed-array.unique-by","esnext.typed-array.with","esnext.weak-map.delete-all","esnext.weak-map.from","esnext.weak-map.of","esnext.weak-map.emplace","esnext.weak-map.upsert","esnext.weak-set.add-all","esnext.weak-set.delete-all","esnext.weak-set.from","esnext.weak-set.of","web.url","web.url.can-parse","web.url.to-json","web.url-search-params","web.url-search-params.delete","web.url-search-params.has","web.url-search-params.size"],"core-js/proposals/accessible-object-hasownproperty":["esnext.object.has-own"],"core-js/proposals/array-buffer-transfer":["esnext.array-buffer.detached","esnext.array-buffer.transfer","esnext.array-buffer.transfer-to-fixed-length"],"core-js/proposals/array-filtering":["esnext.array.filter-out","esnext.array.filter-reject","esnext.typed-array.filter-out","esnext.typed-array.filter-reject"],"core-js/proposals/array-filtering-stage-1":["esnext.array.filter-reject","esnext.typed-array.filter-reject"],"core-js/proposals/array-find-from-last":["esnext.array.find-last","esnext.array.find-last-index","esnext.typed-array.find-last","esnext.typed-array.find-last-index"],"core-js/proposals/array-flat-map":["es.array.flat","es.array.flat-map","es.array.unscopables.flat","es.array.unscopables.flat-map"],"core-js/proposals/array-from-async":["esnext.array.from-async","esnext.typed-array.from-async"],"core-js/proposals/array-from-async-stage-2":["esnext.array.from-async"],"core-js/proposals/array-grouping":["esnext.array.group-by","esnext.array.group-by-to-map","esnext.typed-array.group-by"],"core-js/proposals/array-grouping-stage-3":["esnext.array.group-by","esnext.array.group-by-to-map"],"core-js/proposals/array-grouping-stage-3-2":["esnext.array.group","esnext.array.group-to-map"],"core-js/proposals/array-grouping-v2":["esnext.map.group-by","esnext.object.group-by"],"core-js/proposals/array-includes":["es.array.includes","es.typed-array.includes"],"core-js/proposals/array-is-template-object":["esnext.array.is-template-object"],"core-js/proposals/array-last":["esnext.array.last-index","esnext.array.last-item"],"core-js/proposals/array-unique":["es.map","esnext.array.unique-by","esnext.typed-array.unique-by"],"core-js/proposals/async-explicit-resource-management":["esnext.suppressed-error.constructor","esnext.async-disposable-stack.constructor","esnext.async-iterator.async-dispose","esnext.symbol.async-dispose"],"core-js/proposals/async-iteration":["es.symbol.async-iterator"],"core-js/proposals/async-iterator-helpers":["esnext.async-iterator.constructor","esnext.async-iterator.drop","esnext.async-iterator.every","esnext.async-iterator.filter","esnext.async-iterator.find","esnext.async-iterator.flat-map","esnext.async-iterator.for-each","esnext.async-iterator.from","esnext.async-iterator.map","esnext.async-iterator.reduce","esnext.async-iterator.some","esnext.async-iterator.take","esnext.async-iterator.to-array","esnext.iterator.to-async"],"core-js/proposals/change-array-by-copy":["esnext.array.to-reversed","esnext.array.to-sorted","esnext.array.to-spliced","esnext.array.with","esnext.typed-array.to-reversed","esnext.typed-array.to-sorted","esnext.typed-array.to-spliced","esnext.typed-array.with"],"core-js/proposals/change-array-by-copy-stage-4":["esnext.array.to-reversed","esnext.array.to-sorted","esnext.array.to-spliced","esnext.array.with","esnext.typed-array.to-reversed","esnext.typed-array.to-sorted","esnext.typed-array.with"],"core-js/proposals/collection-methods":["esnext.map.delete-all","esnext.map.every","esnext.map.filter","esnext.map.find","esnext.map.find-key","esnext.map.group-by","esnext.map.includes","esnext.map.key-by","esnext.map.key-of","esnext.map.map-keys","esnext.map.map-values","esnext.map.merge","esnext.map.reduce","esnext.map.some","esnext.map.update","esnext.set.add-all","esnext.set.delete-all","esnext.set.every","esnext.set.filter","esnext.set.find","esnext.set.join","esnext.set.map","esnext.set.reduce","esnext.set.some","esnext.weak-map.delete-all","esnext.weak-set.add-all","esnext.weak-set.delete-all"],"core-js/proposals/collection-of-from":["esnext.map.from","esnext.map.of","esnext.set.from","esnext.set.of","esnext.weak-map.from","esnext.weak-map.of","esnext.weak-set.from","esnext.weak-set.of"],"core-js/proposals/decorator-metadata":["esnext.symbol.metadata-key"],"core-js/proposals/decorator-metadata-v2":["esnext.function.metadata","esnext.symbol.metadata"],"core-js/proposals/decorators":["esnext.symbol.metadata"],"core-js/proposals/efficient-64-bit-arithmetic":["esnext.math.iaddh","esnext.math.imulh","esnext.math.isubh","esnext.math.umulh"],"core-js/proposals/error-cause":["es.error.cause","es.aggregate-error.cause"],"core-js/proposals/explicit-resource-management":["esnext.suppressed-error.constructor","esnext.disposable-stack.constructor","esnext.iterator.dispose","esnext.symbol.dispose"],"core-js/proposals/function-demethodize":["esnext.function.demethodize"],"core-js/proposals/function-is-callable-is-constructor":["esnext.function.is-callable","esnext.function.is-constructor"],"core-js/proposals/function-un-this":["esnext.function.un-this"],"core-js/proposals/global-this":["esnext.global-this"],"core-js/proposals/iterator-helpers":["esnext.async-iterator.constructor","esnext.async-iterator.as-indexed-pairs","esnext.async-iterator.drop","esnext.async-iterator.every","esnext.async-iterator.filter","esnext.async-iterator.find","esnext.async-iterator.flat-map","esnext.async-iterator.for-each","esnext.async-iterator.from","esnext.async-iterator.indexed","esnext.async-iterator.map","esnext.async-iterator.reduce","esnext.async-iterator.some","esnext.async-iterator.take","esnext.async-iterator.to-array","esnext.iterator.constructor","esnext.iterator.as-indexed-pairs","esnext.iterator.drop","esnext.iterator.every","esnext.iterator.filter","esnext.iterator.find","esnext.iterator.flat-map","esnext.iterator.for-each","esnext.iterator.from","esnext.iterator.indexed","esnext.iterator.map","esnext.iterator.reduce","esnext.iterator.some","esnext.iterator.take","esnext.iterator.to-array","esnext.iterator.to-async"],"core-js/proposals/iterator-helpers-stage-3":["esnext.async-iterator.constructor","esnext.async-iterator.drop","esnext.async-iterator.every","esnext.async-iterator.filter","esnext.async-iterator.find","esnext.async-iterator.flat-map","esnext.async-iterator.for-each","esnext.async-iterator.from","esnext.async-iterator.map","esnext.async-iterator.reduce","esnext.async-iterator.some","esnext.async-iterator.take","esnext.async-iterator.to-array","esnext.iterator.constructor","esnext.iterator.drop","esnext.iterator.every","esnext.iterator.filter","esnext.iterator.find","esnext.iterator.flat-map","esnext.iterator.for-each","esnext.iterator.from","esnext.iterator.map","esnext.iterator.reduce","esnext.iterator.some","esnext.iterator.take","esnext.iterator.to-array","esnext.iterator.to-async"],"core-js/proposals/iterator-helpers-stage-3-2":["esnext.iterator.constructor","esnext.iterator.drop","esnext.iterator.every","esnext.iterator.filter","esnext.iterator.find","esnext.iterator.flat-map","esnext.iterator.for-each","esnext.iterator.from","esnext.iterator.map","esnext.iterator.reduce","esnext.iterator.some","esnext.iterator.take","esnext.iterator.to-array"],"core-js/proposals/iterator-range":["esnext.iterator.constructor","esnext.iterator.range"],"core-js/proposals/json-parse-with-source":["esnext.json.is-raw-json","esnext.json.parse","esnext.json.raw-json"],"core-js/proposals/keys-composition":["esnext.composite-key","esnext.composite-symbol"],"core-js/proposals/map-update-or-insert":["esnext.map.emplace","esnext.map.update-or-insert","esnext.map.upsert","esnext.weak-map.emplace","esnext.weak-map.upsert"],"core-js/proposals/map-upsert":["esnext.map.emplace","esnext.map.update-or-insert","esnext.map.upsert","esnext.weak-map.emplace","esnext.weak-map.upsert"],"core-js/proposals/map-upsert-stage-2":["esnext.map.emplace","esnext.weak-map.emplace"],"core-js/proposals/math-extensions":["esnext.math.clamp","esnext.math.deg-per-rad","esnext.math.degrees","esnext.math.fscale","esnext.math.rad-per-deg","esnext.math.radians","esnext.math.scale"],"core-js/proposals/math-signbit":["esnext.math.signbit"],"core-js/proposals/number-from-string":["esnext.number.from-string"],"core-js/proposals/number-range":["esnext.bigint.range","esnext.number.range"],"core-js/proposals/object-from-entries":["es.object.from-entries"],"core-js/proposals/object-getownpropertydescriptors":["es.object.get-own-property-descriptors"],"core-js/proposals/object-iteration":["esnext.object.iterate-entries","esnext.object.iterate-keys","esnext.object.iterate-values"],"core-js/proposals/object-values-entries":["es.object.entries","es.object.values"],"core-js/proposals/observable":["esnext.observable","esnext.symbol.observable"],"core-js/proposals/pattern-matching":["esnext.symbol.matcher","esnext.symbol.pattern-match"],"core-js/proposals/promise-all-settled":["esnext.promise.all-settled"],"core-js/proposals/promise-any":["esnext.aggregate-error","esnext.promise.any"],"core-js/proposals/promise-finally":["es.promise.finally"],"core-js/proposals/promise-try":["esnext.promise.try"],"core-js/proposals/promise-with-resolvers":["esnext.promise.with-resolvers"],"core-js/proposals/reflect-metadata":["esnext.reflect.define-metadata","esnext.reflect.delete-metadata","esnext.reflect.get-metadata","esnext.reflect.get-metadata-keys","esnext.reflect.get-own-metadata","esnext.reflect.get-own-metadata-keys","esnext.reflect.has-metadata","esnext.reflect.has-own-metadata","esnext.reflect.metadata"],"core-js/proposals/regexp-dotall-flag":["es.regexp.constructor","es.regexp.dot-all","es.regexp.exec","es.regexp.flags"],"core-js/proposals/regexp-named-groups":["es.regexp.constructor","es.regexp.exec","es.string.replace"],"core-js/proposals/relative-indexing-method":["es.string.at-alternative","esnext.array.at","esnext.typed-array.at"],"core-js/proposals/seeded-random":["esnext.math.seeded-prng"],"core-js/proposals/set-methods":["esnext.set.difference.v2","esnext.set.difference","esnext.set.intersection.v2","esnext.set.intersection","esnext.set.is-disjoint-from.v2","esnext.set.is-disjoint-from","esnext.set.is-subset-of.v2","esnext.set.is-subset-of","esnext.set.is-superset-of.v2","esnext.set.is-superset-of","esnext.set.symmetric-difference.v2","esnext.set.symmetric-difference","esnext.set.union.v2","esnext.set.union"],"core-js/proposals/set-methods-v2":["esnext.set.difference.v2","esnext.set.intersection.v2","esnext.set.is-disjoint-from.v2","esnext.set.is-subset-of.v2","esnext.set.is-superset-of.v2","esnext.set.symmetric-difference.v2","esnext.set.union.v2"],"core-js/proposals/string-at":["esnext.string.at"],"core-js/proposals/string-code-points":["esnext.string.code-points"],"core-js/proposals/string-cooked":["esnext.string.cooked"],"core-js/proposals/string-dedent":["esnext.string.dedent"],"core-js/proposals/string-left-right-trim":["es.string.trim-end","es.string.trim-start"],"core-js/proposals/string-match-all":["esnext.string.match-all"],"core-js/proposals/string-padding":["es.string.pad-end","es.string.pad-start"],"core-js/proposals/string-replace-all":["esnext.string.replace-all","esnext.symbol.replace-all"],"core-js/proposals/string-replace-all-stage-4":["esnext.string.replace-all"],"core-js/proposals/symbol-description":["es.symbol.description"],"core-js/proposals/symbol-predicates":["esnext.symbol.is-registered","esnext.symbol.is-well-known"],"core-js/proposals/symbol-predicates-v2":["esnext.symbol.is-registered-symbol","esnext.symbol.is-well-known-symbol"],"core-js/proposals/url":["web.url","web.url.can-parse","web.url.to-json","web.url-search-params","web.url-search-params.delete","web.url-search-params.has","web.url-search-params.size"],"core-js/proposals/using-statement":["esnext.symbol.async-dispose","esnext.symbol.dispose"],"core-js/proposals/well-formed-stringify":["es.json.stringify"],"core-js/proposals/well-formed-unicode-strings":["esnext.string.is-well-formed","esnext.string.to-well-formed"],"core-js/stable":["es.symbol","es.symbol.description","es.symbol.async-iterator","es.symbol.has-instance","es.symbol.is-concat-spreadable","es.symbol.iterator","es.symbol.match","es.symbol.match-all","es.symbol.replace","es.symbol.search","es.symbol.species","es.symbol.split","es.symbol.to-primitive","es.symbol.to-string-tag","es.symbol.unscopables","es.error.cause","es.error.to-string","es.aggregate-error","es.aggregate-error.cause","es.array.at","es.array.concat","es.array.copy-within","es.array.every","es.array.fill","es.array.filter","es.array.find","es.array.find-index","es.array.find-last","es.array.find-last-index","es.array.flat","es.array.flat-map","es.array.for-each","es.array.from","es.array.includes","es.array.index-of","es.array.is-array","es.array.iterator","es.array.join","es.array.last-index-of","es.array.map","es.array.of","es.array.push","es.array.reduce","es.array.reduce-right","es.array.reverse","es.array.slice","es.array.some","es.array.sort","es.array.species","es.array.splice","es.array.to-reversed","es.array.to-sorted","es.array.to-spliced","es.array.unscopables.flat","es.array.unscopables.flat-map","es.array.unshift","es.array.with","es.array-buffer.constructor","es.array-buffer.is-view","es.array-buffer.slice","es.data-view","es.date.get-year","es.date.now","es.date.set-year","es.date.to-gmt-string","es.date.to-iso-string","es.date.to-json","es.date.to-primitive","es.date.to-string","es.escape","es.function.bind","es.function.has-instance","es.function.name","es.global-this","es.json.stringify","es.json.to-string-tag","es.map","es.math.acosh","es.math.asinh","es.math.atanh","es.math.cbrt","es.math.clz32","es.math.cosh","es.math.expm1","es.math.fround","es.math.hypot","es.math.imul","es.math.log10","es.math.log1p","es.math.log2","es.math.sign","es.math.sinh","es.math.tanh","es.math.to-string-tag","es.math.trunc","es.number.constructor","es.number.epsilon","es.number.is-finite","es.number.is-integer","es.number.is-nan","es.number.is-safe-integer","es.number.max-safe-integer","es.number.min-safe-integer","es.number.parse-float","es.number.parse-int","es.number.to-exponential","es.number.to-fixed","es.number.to-precision","es.object.assign","es.object.create","es.object.define-getter","es.object.define-properties","es.object.define-property","es.object.define-setter","es.object.entries","es.object.freeze","es.object.from-entries","es.object.get-own-property-descriptor","es.object.get-own-property-descriptors","es.object.get-own-property-names","es.object.get-prototype-of","es.object.has-own","es.object.is","es.object.is-extensible","es.object.is-frozen","es.object.is-sealed","es.object.keys","es.object.lookup-getter","es.object.lookup-setter","es.object.prevent-extensions","es.object.proto","es.object.seal","es.object.set-prototype-of","es.object.to-string","es.object.values","es.parse-float","es.parse-int","es.promise","es.promise.all-settled","es.promise.any","es.promise.finally","es.reflect.apply","es.reflect.construct","es.reflect.define-property","es.reflect.delete-property","es.reflect.get","es.reflect.get-own-property-descriptor","es.reflect.get-prototype-of","es.reflect.has","es.reflect.is-extensible","es.reflect.own-keys","es.reflect.prevent-extensions","es.reflect.set","es.reflect.set-prototype-of","es.reflect.to-string-tag","es.regexp.constructor","es.regexp.dot-all","es.regexp.exec","es.regexp.flags","es.regexp.sticky","es.regexp.test","es.regexp.to-string","es.set","es.string.at-alternative","es.string.code-point-at","es.string.ends-with","es.string.from-code-point","es.string.includes","es.string.is-well-formed","es.string.iterator","es.string.match","es.string.match-all","es.string.pad-end","es.string.pad-start","es.string.raw","es.string.repeat","es.string.replace","es.string.replace-all","es.string.search","es.string.split","es.string.starts-with","es.string.substr","es.string.to-well-formed","es.string.trim","es.string.trim-end","es.string.trim-start","es.string.anchor","es.string.big","es.string.blink","es.string.bold","es.string.fixed","es.string.fontcolor","es.string.fontsize","es.string.italics","es.string.link","es.string.small","es.string.strike","es.string.sub","es.string.sup","es.typed-array.float32-array","es.typed-array.float64-array","es.typed-array.int8-array","es.typed-array.int16-array","es.typed-array.int32-array","es.typed-array.uint8-array","es.typed-array.uint8-clamped-array","es.typed-array.uint16-array","es.typed-array.uint32-array","es.typed-array.at","es.typed-array.copy-within","es.typed-array.every","es.typed-array.fill","es.typed-array.filter","es.typed-array.find","es.typed-array.find-index","es.typed-array.find-last","es.typed-array.find-last-index","es.typed-array.for-each","es.typed-array.from","es.typed-array.includes","es.typed-array.index-of","es.typed-array.iterator","es.typed-array.join","es.typed-array.last-index-of","es.typed-array.map","es.typed-array.of","es.typed-array.reduce","es.typed-array.reduce-right","es.typed-array.reverse","es.typed-array.set","es.typed-array.slice","es.typed-array.some","es.typed-array.sort","es.typed-array.subarray","es.typed-array.to-locale-string","es.typed-array.to-reversed","es.typed-array.to-sorted","es.typed-array.to-string","es.typed-array.with","es.unescape","es.weak-map","es.weak-set","web.atob","web.btoa","web.dom-collections.for-each","web.dom-collections.iterator","web.dom-exception.constructor","web.dom-exception.stack","web.dom-exception.to-string-tag","web.immediate","web.queue-microtask","web.self","web.structured-clone","web.timers","web.url","web.url.can-parse","web.url.to-json","web.url-search-params","web.url-search-params.delete","web.url-search-params.has","web.url-search-params.size"],"core-js/stable/aggregate-error":["es.error.cause","es.aggregate-error","es.aggregate-error.cause","es.array.iterator","es.string.iterator","esnext.aggregate-error","web.dom-collections.iterator"],"core-js/stable/array":["es.array.at","es.array.concat","es.array.copy-within","es.array.every","es.array.fill","es.array.filter","es.array.find","es.array.find-index","es.array.find-last","es.array.find-last-index","es.array.flat","es.array.flat-map","es.array.for-each","es.array.from","es.array.includes","es.array.index-of","es.array.is-array","es.array.iterator","es.array.join","es.array.last-index-of","es.array.map","es.array.of","es.array.push","es.array.reduce","es.array.reduce-right","es.array.reverse","es.array.slice","es.array.some","es.array.sort","es.array.species","es.array.splice","es.array.to-reversed","es.array.to-sorted","es.array.to-spliced","es.array.unscopables.flat","es.array.unscopables.flat-map","es.array.unshift","es.array.with","es.object.to-string","es.string.iterator"],"core-js/stable/array-buffer":["es.array-buffer.constructor","es.array-buffer.is-view","es.array-buffer.slice","es.object.to-string"],"core-js/stable/array-buffer/constructor":["es.array-buffer.constructor","es.array-buffer.slice","es.object.to-string"],"core-js/stable/array-buffer/is-view":["es.array-buffer.is-view"],"core-js/stable/array-buffer/slice":["es.array-buffer.slice"],"core-js/stable/array/at":["es.array.at"],"core-js/stable/array/concat":["es.array.concat"],"core-js/stable/array/copy-within":["es.array.copy-within"],"core-js/stable/array/entries":["es.array.iterator","es.object.to-string"],"core-js/stable/array/every":["es.array.every"],"core-js/stable/array/fill":["es.array.fill"],"core-js/stable/array/filter":["es.array.filter"],"core-js/stable/array/find":["es.array.find"],"core-js/stable/array/find-index":["es.array.find-index"],"core-js/stable/array/find-last":["es.array.find-last"],"core-js/stable/array/find-last-index":["es.array.find-last-index"],"core-js/stable/array/flat":["es.array.flat","es.array.unscopables.flat"],"core-js/stable/array/flat-map":["es.array.flat-map","es.array.unscopables.flat-map"],"core-js/stable/array/for-each":["es.array.for-each"],"core-js/stable/array/from":["es.array.from","es.string.iterator"],"core-js/stable/array/includes":["es.array.includes"],"core-js/stable/array/index-of":["es.array.index-of"],"core-js/stable/array/is-array":["es.array.is-array"],"core-js/stable/array/iterator":["es.array.iterator","es.object.to-string"],"core-js/stable/array/join":["es.array.join"],"core-js/stable/array/keys":["es.array.iterator","es.object.to-string"],"core-js/stable/array/last-index-of":["es.array.last-index-of"],"core-js/stable/array/map":["es.array.map"],"core-js/stable/array/of":["es.array.of"],"core-js/stable/array/push":["es.array.push"],"core-js/stable/array/reduce":["es.array.reduce"],"core-js/stable/array/reduce-right":["es.array.reduce-right"],"core-js/stable/array/reverse":["es.array.reverse"],"core-js/stable/array/slice":["es.array.slice"],"core-js/stable/array/some":["es.array.some"],"core-js/stable/array/sort":["es.array.sort"],"core-js/stable/array/splice":["es.array.splice"],"core-js/stable/array/to-reversed":["es.array.to-reversed"],"core-js/stable/array/to-sorted":["es.array.sort","es.array.to-sorted"],"core-js/stable/array/to-spliced":["es.array.to-spliced"],"core-js/stable/array/unshift":["es.array.unshift"],"core-js/stable/array/values":["es.array.iterator","es.object.to-string"],"core-js/stable/array/virtual":["es.array.at","es.array.concat","es.array.copy-within","es.array.every","es.array.fill","es.array.filter","es.array.find","es.array.find-index","es.array.find-last","es.array.find-last-index","es.array.flat","es.array.flat-map","es.array.for-each","es.array.includes","es.array.index-of","es.array.iterator","es.array.join","es.array.last-index-of","es.array.map","es.array.push","es.array.reduce","es.array.reduce-right","es.array.reverse","es.array.slice","es.array.some","es.array.sort","es.array.species","es.array.splice","es.array.to-reversed","es.array.to-sorted","es.array.to-spliced","es.array.unscopables.flat","es.array.unscopables.flat-map","es.array.unshift","es.array.with","es.object.to-string"],"core-js/stable/array/virtual/at":["es.array.at"],"core-js/stable/array/virtual/concat":["es.array.concat"],"core-js/stable/array/virtual/copy-within":["es.array.copy-within"],"core-js/stable/array/virtual/entries":["es.array.iterator","es.object.to-string"],"core-js/stable/array/virtual/every":["es.array.every"],"core-js/stable/array/virtual/fill":["es.array.fill"],"core-js/stable/array/virtual/filter":["es.array.filter"],"core-js/stable/array/virtual/find":["es.array.find"],"core-js/stable/array/virtual/find-index":["es.array.find-index"],"core-js/stable/array/virtual/find-last":["es.array.find-last"],"core-js/stable/array/virtual/find-last-index":["es.array.find-last-index"],"core-js/stable/array/virtual/flat":["es.array.flat","es.array.unscopables.flat"],"core-js/stable/array/virtual/flat-map":["es.array.flat-map","es.array.unscopables.flat-map"],"core-js/stable/array/virtual/for-each":["es.array.for-each"],"core-js/stable/array/virtual/includes":["es.array.includes"],"core-js/stable/array/virtual/index-of":["es.array.index-of"],"core-js/stable/array/virtual/iterator":["es.array.iterator","es.object.to-string"],"core-js/stable/array/virtual/join":["es.array.join"],"core-js/stable/array/virtual/keys":["es.array.iterator","es.object.to-string"],"core-js/stable/array/virtual/last-index-of":["es.array.last-index-of"],"core-js/stable/array/virtual/map":["es.array.map"],"core-js/stable/array/virtual/push":["es.array.push"],"core-js/stable/array/virtual/reduce":["es.array.reduce"],"core-js/stable/array/virtual/reduce-right":["es.array.reduce-right"],"core-js/stable/array/virtual/reverse":["es.array.reverse"],"core-js/stable/array/virtual/slice":["es.array.slice"],"core-js/stable/array/virtual/some":["es.array.some"],"core-js/stable/array/virtual/sort":["es.array.sort"],"core-js/stable/array/virtual/splice":["es.array.splice"],"core-js/stable/array/virtual/to-reversed":["es.array.to-reversed"],"core-js/stable/array/virtual/to-sorted":["es.array.sort","es.array.to-sorted"],"core-js/stable/array/virtual/to-spliced":["es.array.to-spliced"],"core-js/stable/array/virtual/unshift":["es.array.unshift"],"core-js/stable/array/virtual/values":["es.array.iterator","es.object.to-string"],"core-js/stable/array/virtual/with":["es.array.with"],"core-js/stable/array/with":["es.array.with"],"core-js/stable/atob":["es.error.to-string","es.object.to-string","web.atob","web.dom-exception.constructor","web.dom-exception.stack","web.dom-exception.to-string-tag"],"core-js/stable/btoa":["es.error.to-string","es.object.to-string","web.btoa","web.dom-exception.constructor","web.dom-exception.stack","web.dom-exception.to-string-tag"],"core-js/stable/clear-immediate":["web.immediate"],"core-js/stable/data-view":["es.array-buffer.constructor","es.array-buffer.slice","es.data-view","es.object.to-string"],"core-js/stable/date":["es.date.get-year","es.date.now","es.date.set-year","es.date.to-gmt-string","es.date.to-iso-string","es.date.to-json","es.date.to-primitive","es.date.to-string"],"core-js/stable/date/get-year":["es.date.get-year"],"core-js/stable/date/now":["es.date.now"],"core-js/stable/date/set-year":["es.date.set-year"],"core-js/stable/date/to-gmt-string":["es.date.to-gmt-string"],"core-js/stable/date/to-iso-string":["es.date.to-iso-string","es.date.to-json"],"core-js/stable/date/to-json":["es.date.to-json"],"core-js/stable/date/to-primitive":["es.date.to-primitive"],"core-js/stable/date/to-string":["es.date.to-string"],"core-js/stable/dom-collections":["es.array.iterator","es.object.to-string","web.dom-collections.for-each","web.dom-collections.iterator"],"core-js/stable/dom-collections/for-each":["web.dom-collections.for-each"],"core-js/stable/dom-collections/iterator":["es.object.to-string","web.dom-collections.iterator"],"core-js/stable/dom-exception":["es.error.to-string","web.dom-exception.constructor","web.dom-exception.stack","web.dom-exception.to-string-tag"],"core-js/stable/dom-exception/constructor":["es.error.to-string","web.dom-exception.constructor","web.dom-exception.stack"],"core-js/stable/dom-exception/to-string-tag":["web.dom-exception.to-string-tag"],"core-js/stable/error":["es.error.cause","es.error.to-string"],"core-js/stable/error/constructor":["es.error.cause"],"core-js/stable/error/to-string":["es.error.to-string"],"core-js/stable/escape":["es.escape"],"core-js/stable/function":["es.function.bind","es.function.has-instance","es.function.name"],"core-js/stable/function/bind":["es.function.bind"],"core-js/stable/function/has-instance":["es.function.has-instance"],"core-js/stable/function/name":["es.function.name"],"core-js/stable/function/virtual":["es.function.bind"],"core-js/stable/function/virtual/bind":["es.function.bind"],"core-js/stable/get-iterator":["es.array.iterator","es.string.iterator","web.dom-collections.iterator"],"core-js/stable/get-iterator-method":["es.array.iterator","es.string.iterator","web.dom-collections.iterator"],"core-js/stable/global-this":["es.global-this"],"core-js/stable/instance/at":["es.array.at","es.string.at-alternative"],"core-js/stable/instance/bind":["es.function.bind"],"core-js/stable/instance/code-point-at":["es.string.code-point-at"],"core-js/stable/instance/concat":["es.array.concat"],"core-js/stable/instance/copy-within":["es.array.copy-within"],"core-js/stable/instance/ends-with":["es.string.ends-with"],"core-js/stable/instance/entries":["es.array.iterator","es.object.to-string","web.dom-collections.iterator"],"core-js/stable/instance/every":["es.array.every"],"core-js/stable/instance/fill":["es.array.fill"],"core-js/stable/instance/filter":["es.array.filter"],"core-js/stable/instance/find":["es.array.find"],"core-js/stable/instance/find-index":["es.array.find-index"],"core-js/stable/instance/find-last":["es.array.find-last"],"core-js/stable/instance/find-last-index":["es.array.find-last-index"],"core-js/stable/instance/flags":["es.regexp.flags"],"core-js/stable/instance/flat":["es.array.flat","es.array.unscopables.flat"],"core-js/stable/instance/flat-map":["es.array.flat-map","es.array.unscopables.flat-map"],"core-js/stable/instance/for-each":["es.array.for-each","web.dom-collections.iterator"],"core-js/stable/instance/includes":["es.array.includes","es.string.includes"],"core-js/stable/instance/index-of":["es.array.index-of"],"core-js/stable/instance/is-well-formed":["es.string.is-well-formed"],"core-js/stable/instance/keys":["es.array.iterator","es.object.to-string","web.dom-collections.iterator"],"core-js/stable/instance/last-index-of":["es.array.last-index-of"],"core-js/stable/instance/map":["es.array.map"],"core-js/stable/instance/match-all":["es.object.to-string","es.regexp.exec","es.string.match-all"],"core-js/stable/instance/pad-end":["es.string.pad-end"],"core-js/stable/instance/pad-start":["es.string.pad-start"],"core-js/stable/instance/push":["es.array.push"],"core-js/stable/instance/reduce":["es.array.reduce"],"core-js/stable/instance/reduce-right":["es.array.reduce-right"],"core-js/stable/instance/repeat":["es.string.repeat"],"core-js/stable/instance/replace-all":["es.regexp.exec","es.string.replace","es.string.replace-all"],"core-js/stable/instance/reverse":["es.array.reverse"],"core-js/stable/instance/slice":["es.array.slice"],"core-js/stable/instance/some":["es.array.some"],"core-js/stable/instance/sort":["es.array.sort"],"core-js/stable/instance/splice":["es.array.splice"],"core-js/stable/instance/starts-with":["es.string.starts-with"],"core-js/stable/instance/to-reversed":["es.array.to-reversed"],"core-js/stable/instance/to-sorted":["es.array.sort","es.array.to-sorted"],"core-js/stable/instance/to-spliced":["es.array.to-spliced"],"core-js/stable/instance/to-well-formed":["es.string.to-well-formed"],"core-js/stable/instance/trim":["es.string.trim"],"core-js/stable/instance/trim-end":["es.string.trim-end"],"core-js/stable/instance/trim-left":["es.string.trim-start"],"core-js/stable/instance/trim-right":["es.string.trim-end"],"core-js/stable/instance/trim-start":["es.string.trim-start"],"core-js/stable/instance/unshift":["es.array.unshift"],"core-js/stable/instance/values":["es.array.iterator","es.object.to-string","web.dom-collections.iterator"],"core-js/stable/instance/with":["es.array.with"],"core-js/stable/is-iterable":["es.array.iterator","es.string.iterator","web.dom-collections.iterator"],"core-js/stable/json":["es.json.stringify","es.json.to-string-tag"],"core-js/stable/json/stringify":["es.json.stringify"],"core-js/stable/json/to-string-tag":["es.json.to-string-tag"],"core-js/stable/map":["es.array.iterator","es.map","es.object.to-string","es.string.iterator","web.dom-collections.iterator"],"core-js/stable/math":["es.math.acosh","es.math.asinh","es.math.atanh","es.math.cbrt","es.math.clz32","es.math.cosh","es.math.expm1","es.math.fround","es.math.hypot","es.math.imul","es.math.log10","es.math.log1p","es.math.log2","es.math.sign","es.math.sinh","es.math.tanh","es.math.to-string-tag","es.math.trunc"],"core-js/stable/math/acosh":["es.math.acosh"],"core-js/stable/math/asinh":["es.math.asinh"],"core-js/stable/math/atanh":["es.math.atanh"],"core-js/stable/math/cbrt":["es.math.cbrt"],"core-js/stable/math/clz32":["es.math.clz32"],"core-js/stable/math/cosh":["es.math.cosh"],"core-js/stable/math/expm1":["es.math.expm1"],"core-js/stable/math/fround":["es.math.fround"],"core-js/stable/math/hypot":["es.math.hypot"],"core-js/stable/math/imul":["es.math.imul"],"core-js/stable/math/log10":["es.math.log10"],"core-js/stable/math/log1p":["es.math.log1p"],"core-js/stable/math/log2":["es.math.log2"],"core-js/stable/math/sign":["es.math.sign"],"core-js/stable/math/sinh":["es.math.sinh"],"core-js/stable/math/tanh":["es.math.tanh"],"core-js/stable/math/to-string-tag":["es.math.to-string-tag"],"core-js/stable/math/trunc":["es.math.trunc"],"core-js/stable/number":["es.number.constructor","es.number.epsilon","es.number.is-finite","es.number.is-integer","es.number.is-nan","es.number.is-safe-integer","es.number.max-safe-integer","es.number.min-safe-integer","es.number.parse-float","es.number.parse-int","es.number.to-exponential","es.number.to-fixed","es.number.to-precision"],"core-js/stable/number/constructor":["es.number.constructor"],"core-js/stable/number/epsilon":["es.number.epsilon"],"core-js/stable/number/is-finite":["es.number.is-finite"],"core-js/stable/number/is-integer":["es.number.is-integer"],"core-js/stable/number/is-nan":["es.number.is-nan"],"core-js/stable/number/is-safe-integer":["es.number.is-safe-integer"],"core-js/stable/number/max-safe-integer":["es.number.max-safe-integer"],"core-js/stable/number/min-safe-integer":["es.number.min-safe-integer"],"core-js/stable/number/parse-float":["es.number.parse-float"],"core-js/stable/number/parse-int":["es.number.parse-int"],"core-js/stable/number/to-exponential":["es.number.to-exponential"],"core-js/stable/number/to-fixed":["es.number.to-fixed"],"core-js/stable/number/to-precision":["es.number.to-precision"],"core-js/stable/number/virtual":["es.number.to-exponential","es.number.to-fixed","es.number.to-precision"],"core-js/stable/number/virtual/to-exponential":["es.number.to-exponential"],"core-js/stable/number/virtual/to-fixed":["es.number.to-fixed"],"core-js/stable/number/virtual/to-precision":["es.number.to-precision"],"core-js/stable/object":["es.symbol","es.json.to-string-tag","es.math.to-string-tag","es.object.assign","es.object.create","es.object.define-getter","es.object.define-properties","es.object.define-property","es.object.define-setter","es.object.entries","es.object.freeze","es.object.from-entries","es.object.get-own-property-descriptor","es.object.get-own-property-descriptors","es.object.get-own-property-names","es.object.get-prototype-of","es.object.has-own","es.object.is","es.object.is-extensible","es.object.is-frozen","es.object.is-sealed","es.object.keys","es.object.lookup-getter","es.object.lookup-setter","es.object.prevent-extensions","es.object.proto","es.object.seal","es.object.set-prototype-of","es.object.to-string","es.object.values","es.reflect.to-string-tag","web.dom-collections.iterator"],"core-js/stable/object/assign":["es.object.assign"],"core-js/stable/object/create":["es.object.create"],"core-js/stable/object/define-getter":["es.object.define-getter"],"core-js/stable/object/define-properties":["es.object.define-properties"],"core-js/stable/object/define-property":["es.object.define-property"],"core-js/stable/object/define-setter":["es.object.define-setter"],"core-js/stable/object/entries":["es.object.entries"],"core-js/stable/object/freeze":["es.object.freeze"],"core-js/stable/object/from-entries":["es.array.iterator","es.object.from-entries","web.dom-collections.iterator"],"core-js/stable/object/get-own-property-descriptor":["es.object.get-own-property-descriptor"],"core-js/stable/object/get-own-property-descriptors":["es.object.get-own-property-descriptors"],"core-js/stable/object/get-own-property-names":["es.object.get-own-property-names"],"core-js/stable/object/get-own-property-symbols":["es.symbol"],"core-js/stable/object/get-prototype-of":["es.object.get-prototype-of"],"core-js/stable/object/has-own":["es.object.has-own"],"core-js/stable/object/is":["es.object.is"],"core-js/stable/object/is-extensible":["es.object.is-extensible"],"core-js/stable/object/is-frozen":["es.object.is-frozen"],"core-js/stable/object/is-sealed":["es.object.is-sealed"],"core-js/stable/object/keys":["es.object.keys"],"core-js/stable/object/lookup-getter":["es.object.lookup-getter"],"core-js/stable/object/lookup-setter":["es.object.lookup-setter"],"core-js/stable/object/prevent-extensions":["es.object.prevent-extensions"],"core-js/stable/object/proto":["es.object.proto"],"core-js/stable/object/seal":["es.object.seal"],"core-js/stable/object/set-prototype-of":["es.object.set-prototype-of"],"core-js/stable/object/to-string":["es.json.to-string-tag","es.math.to-string-tag","es.object.to-string","es.reflect.to-string-tag"],"core-js/stable/object/values":["es.object.values"],"core-js/stable/parse-float":["es.parse-float"],"core-js/stable/parse-int":["es.parse-int"],"core-js/stable/promise":["es.aggregate-error","es.array.iterator","es.object.to-string","es.promise","es.promise.all-settled","es.promise.any","es.promise.finally","es.string.iterator","web.dom-collections.iterator"],"core-js/stable/promise/all-settled":["es.array.iterator","es.object.to-string","es.promise","es.promise.all-settled","es.string.iterator","web.dom-collections.iterator"],"core-js/stable/promise/any":["es.aggregate-error","es.array.iterator","es.object.to-string","es.promise","es.promise.any","es.string.iterator","web.dom-collections.iterator"],"core-js/stable/promise/finally":["es.object.to-string","es.promise","es.promise.finally"],"core-js/stable/queue-microtask":["web.queue-microtask"],"core-js/stable/reflect":["es.object.to-string","es.reflect.apply","es.reflect.construct","es.reflect.define-property","es.reflect.delete-property","es.reflect.get","es.reflect.get-own-property-descriptor","es.reflect.get-prototype-of","es.reflect.has","es.reflect.is-extensible","es.reflect.own-keys","es.reflect.prevent-extensions","es.reflect.set","es.reflect.set-prototype-of","es.reflect.to-string-tag"],"core-js/stable/reflect/apply":["es.reflect.apply"],"core-js/stable/reflect/construct":["es.reflect.construct"],"core-js/stable/reflect/define-property":["es.reflect.define-property"],"core-js/stable/reflect/delete-property":["es.reflect.delete-property"],"core-js/stable/reflect/get":["es.reflect.get"],"core-js/stable/reflect/get-own-property-descriptor":["es.reflect.get-own-property-descriptor"],"core-js/stable/reflect/get-prototype-of":["es.reflect.get-prototype-of"],"core-js/stable/reflect/has":["es.reflect.has"],"core-js/stable/reflect/is-extensible":["es.reflect.is-extensible"],"core-js/stable/reflect/own-keys":["es.reflect.own-keys"],"core-js/stable/reflect/prevent-extensions":["es.reflect.prevent-extensions"],"core-js/stable/reflect/set":["es.reflect.set"],"core-js/stable/reflect/set-prototype-of":["es.reflect.set-prototype-of"],"core-js/stable/reflect/to-string-tag":["es.reflect.to-string-tag"],"core-js/stable/regexp":["es.regexp.constructor","es.regexp.dot-all","es.regexp.exec","es.regexp.flags","es.regexp.sticky","es.regexp.test","es.regexp.to-string","es.string.match","es.string.replace","es.string.search","es.string.split"],"core-js/stable/regexp/constructor":["es.regexp.constructor","es.regexp.dot-all","es.regexp.exec","es.regexp.sticky"],"core-js/stable/regexp/dot-all":["es.regexp.constructor","es.regexp.dot-all","es.regexp.exec"],"core-js/stable/regexp/flags":["es.regexp.flags"],"core-js/stable/regexp/match":["es.regexp.exec","es.string.match"],"core-js/stable/regexp/replace":["es.regexp.exec","es.string.replace"],"core-js/stable/regexp/search":["es.regexp.exec","es.string.search"],"core-js/stable/regexp/split":["es.regexp.exec","es.string.split"],"core-js/stable/regexp/sticky":["es.regexp.constructor","es.regexp.exec","es.regexp.sticky"],"core-js/stable/regexp/test":["es.regexp.exec","es.regexp.test"],"core-js/stable/regexp/to-string":["es.regexp.to-string"],"core-js/stable/self":["web.self"],"core-js/stable/set":["es.array.iterator","es.object.to-string","es.set","es.string.iterator","web.dom-collections.iterator"],"core-js/stable/set-immediate":["web.immediate"],"core-js/stable/set-interval":["web.timers"],"core-js/stable/set-timeout":["web.timers"],"core-js/stable/string":["es.object.to-string","es.regexp.exec","es.string.at-alternative","es.string.code-point-at","es.string.ends-with","es.string.from-code-point","es.string.includes","es.string.is-well-formed","es.string.iterator","es.string.match","es.string.match-all","es.string.pad-end","es.string.pad-start","es.string.raw","es.string.repeat","es.string.replace","es.string.replace-all","es.string.search","es.string.split","es.string.starts-with","es.string.substr","es.string.to-well-formed","es.string.trim","es.string.trim-end","es.string.trim-start","es.string.anchor","es.string.big","es.string.blink","es.string.bold","es.string.fixed","es.string.fontcolor","es.string.fontsize","es.string.italics","es.string.link","es.string.small","es.string.strike","es.string.sub","es.string.sup"],"core-js/stable/string/anchor":["es.string.anchor"],"core-js/stable/string/at":["es.string.at-alternative"],"core-js/stable/string/big":["es.string.big"],"core-js/stable/string/blink":["es.string.blink"],"core-js/stable/string/bold":["es.string.bold"],"core-js/stable/string/code-point-at":["es.string.code-point-at"],"core-js/stable/string/ends-with":["es.string.ends-with"],"core-js/stable/string/fixed":["es.string.fixed"],"core-js/stable/string/fontcolor":["es.string.fontcolor"],"core-js/stable/string/fontsize":["es.string.fontsize"],"core-js/stable/string/from-code-point":["es.string.from-code-point"],"core-js/stable/string/includes":["es.string.includes"],"core-js/stable/string/is-well-formed":["es.string.is-well-formed"],"core-js/stable/string/italics":["es.string.italics"],"core-js/stable/string/iterator":["es.object.to-string","es.string.iterator"],"core-js/stable/string/link":["es.string.link"],"core-js/stable/string/match":["es.regexp.exec","es.string.match"],"core-js/stable/string/match-all":["es.object.to-string","es.regexp.exec","es.string.match-all"],"core-js/stable/string/pad-end":["es.string.pad-end"],"core-js/stable/string/pad-start":["es.string.pad-start"],"core-js/stable/string/raw":["es.string.raw"],"core-js/stable/string/repeat":["es.string.repeat"],"core-js/stable/string/replace":["es.regexp.exec","es.string.replace"],"core-js/stable/string/replace-all":["es.regexp.exec","es.string.replace","es.string.replace-all"],"core-js/stable/string/search":["es.regexp.exec","es.string.search"],"core-js/stable/string/small":["es.string.small"],"core-js/stable/string/split":["es.regexp.exec","es.string.split"],"core-js/stable/string/starts-with":["es.string.starts-with"],"core-js/stable/string/strike":["es.string.strike"],"core-js/stable/string/sub":["es.string.sub"],"core-js/stable/string/substr":["es.string.substr"],"core-js/stable/string/sup":["es.string.sup"],"core-js/stable/string/to-well-formed":["es.string.to-well-formed"],"core-js/stable/string/trim":["es.string.trim"],"core-js/stable/string/trim-end":["es.string.trim-end"],"core-js/stable/string/trim-left":["es.string.trim-start"],"core-js/stable/string/trim-right":["es.string.trim-end"],"core-js/stable/string/trim-start":["es.string.trim-start"],"core-js/stable/string/virtual":["es.object.to-string","es.regexp.exec","es.string.at-alternative","es.string.code-point-at","es.string.ends-with","es.string.includes","es.string.iterator","es.string.match","es.string.match-all","es.string.pad-end","es.string.pad-start","es.string.repeat","es.string.replace","es.string.replace-all","es.string.search","es.string.split","es.string.starts-with","es.string.substr","es.string.trim","es.string.trim-end","es.string.trim-start","es.string.anchor","es.string.big","es.string.blink","es.string.bold","es.string.fixed","es.string.fontcolor","es.string.fontsize","es.string.italics","es.string.link","es.string.small","es.string.strike","es.string.sub","es.string.sup"],"core-js/stable/string/virtual/anchor":["es.string.anchor"],"core-js/stable/string/virtual/at":["es.string.at-alternative"],"core-js/stable/string/virtual/big":["es.string.big"],"core-js/stable/string/virtual/blink":["es.string.blink"],"core-js/stable/string/virtual/bold":["es.string.bold"],"core-js/stable/string/virtual/code-point-at":["es.string.code-point-at"],"core-js/stable/string/virtual/ends-with":["es.string.ends-with"],"core-js/stable/string/virtual/fixed":["es.string.fixed"],"core-js/stable/string/virtual/fontcolor":["es.string.fontcolor"],"core-js/stable/string/virtual/fontsize":["es.string.fontsize"],"core-js/stable/string/virtual/includes":["es.string.includes"],"core-js/stable/string/virtual/is-well-formed":["es.string.is-well-formed"],"core-js/stable/string/virtual/italics":["es.string.italics"],"core-js/stable/string/virtual/iterator":["es.object.to-string","es.string.iterator"],"core-js/stable/string/virtual/link":["es.string.link"],"core-js/stable/string/virtual/match-all":["es.object.to-string","es.regexp.exec","es.string.match-all"],"core-js/stable/string/virtual/pad-end":["es.string.pad-end"],"core-js/stable/string/virtual/pad-start":["es.string.pad-start"],"core-js/stable/string/virtual/repeat":["es.string.repeat"],"core-js/stable/string/virtual/replace-all":["es.regexp.exec","es.string.replace","es.string.replace-all"],"core-js/stable/string/virtual/small":["es.string.small"],"core-js/stable/string/virtual/starts-with":["es.string.starts-with"],"core-js/stable/string/virtual/strike":["es.string.strike"],"core-js/stable/string/virtual/sub":["es.string.sub"],"core-js/stable/string/virtual/substr":["es.string.substr"],"core-js/stable/string/virtual/sup":["es.string.sup"],"core-js/stable/string/virtual/to-well-formed":["es.string.to-well-formed"],"core-js/stable/string/virtual/trim":["es.string.trim"],"core-js/stable/string/virtual/trim-end":["es.string.trim-end"],"core-js/stable/string/virtual/trim-left":["es.string.trim-start"],"core-js/stable/string/virtual/trim-right":["es.string.trim-end"],"core-js/stable/string/virtual/trim-start":["es.string.trim-start"],"core-js/stable/structured-clone":["es.error.to-string","es.array.iterator","es.map","es.object.keys","es.object.to-string","es.set","web.dom-exception.constructor","web.dom-exception.stack","web.dom-exception.to-string-tag","web.structured-clone"],"core-js/stable/symbol":["es.symbol","es.symbol.description","es.symbol.async-iterator","es.symbol.has-instance","es.symbol.is-concat-spreadable","es.symbol.iterator","es.symbol.match","es.symbol.match-all","es.symbol.replace","es.symbol.search","es.symbol.species","es.symbol.split","es.symbol.to-primitive","es.symbol.to-string-tag","es.symbol.unscopables","es.array.concat","es.json.to-string-tag","es.math.to-string-tag","es.object.to-string","es.reflect.to-string-tag","web.dom-collections.iterator"],"core-js/stable/symbol/async-iterator":["es.symbol.async-iterator"],"core-js/stable/symbol/description":["es.symbol.description"],"core-js/stable/symbol/for":["es.symbol"],"core-js/stable/symbol/has-instance":["es.symbol.has-instance","es.function.has-instance"],"core-js/stable/symbol/is-concat-spreadable":["es.symbol.is-concat-spreadable","es.array.concat"],"core-js/stable/symbol/iterator":["es.symbol.iterator","es.array.iterator","es.object.to-string","es.string.iterator","web.dom-collections.iterator"],"core-js/stable/symbol/key-for":["es.symbol"],"core-js/stable/symbol/match":["es.symbol.match","es.regexp.exec","es.string.match"],"core-js/stable/symbol/match-all":["es.symbol.match-all","es.object.to-string","es.regexp.exec","es.string.match-all"],"core-js/stable/symbol/replace":["es.symbol.replace","es.regexp.exec","es.string.replace"],"core-js/stable/symbol/search":["es.symbol.search","es.regexp.exec","es.string.search"],"core-js/stable/symbol/species":["es.symbol.species"],"core-js/stable/symbol/split":["es.symbol.split","es.regexp.exec","es.string.split"],"core-js/stable/symbol/to-primitive":["es.symbol.to-primitive","es.date.to-primitive"],"core-js/stable/symbol/to-string-tag":["es.symbol.to-string-tag","es.json.to-string-tag","es.math.to-string-tag","es.object.to-string","es.reflect.to-string-tag"],"core-js/stable/symbol/unscopables":["es.symbol.unscopables"],"core-js/stable/typed-array":["es.object.to-string","es.string.iterator","es.typed-array.float32-array","es.typed-array.float64-array","es.typed-array.int8-array","es.typed-array.int16-array","es.typed-array.int32-array","es.typed-array.uint8-array","es.typed-array.uint8-clamped-array","es.typed-array.uint16-array","es.typed-array.uint32-array","es.typed-array.at","es.typed-array.copy-within","es.typed-array.every","es.typed-array.fill","es.typed-array.filter","es.typed-array.find","es.typed-array.find-index","es.typed-array.find-last","es.typed-array.find-last-index","es.typed-array.for-each","es.typed-array.from","es.typed-array.includes","es.typed-array.index-of","es.typed-array.iterator","es.typed-array.join","es.typed-array.last-index-of","es.typed-array.map","es.typed-array.of","es.typed-array.reduce","es.typed-array.reduce-right","es.typed-array.reverse","es.typed-array.set","es.typed-array.slice","es.typed-array.some","es.typed-array.sort","es.typed-array.subarray","es.typed-array.to-locale-string","es.typed-array.to-reversed","es.typed-array.to-sorted","es.typed-array.to-string","es.typed-array.with"],"core-js/stable/typed-array/at":["es.typed-array.at"],"core-js/stable/typed-array/copy-within":["es.typed-array.copy-within"],"core-js/stable/typed-array/entries":["es.object.to-string","es.typed-array.iterator"],"core-js/stable/typed-array/every":["es.typed-array.every"],"core-js/stable/typed-array/fill":["es.typed-array.fill"],"core-js/stable/typed-array/filter":["es.typed-array.filter"],"core-js/stable/typed-array/find":["es.typed-array.find"],"core-js/stable/typed-array/find-index":["es.typed-array.find-index"],"core-js/stable/typed-array/find-last":["es.typed-array.find-last"],"core-js/stable/typed-array/find-last-index":["es.typed-array.find-last-index"],"core-js/stable/typed-array/float32-array":["es.array-buffer.constructor","es.array-buffer.slice","es.object.to-string","es.string.iterator","es.typed-array.float32-array","es.typed-array.at","es.typed-array.copy-within","es.typed-array.every","es.typed-array.fill","es.typed-array.filter","es.typed-array.find","es.typed-array.find-index","es.typed-array.find-last","es.typed-array.find-last-index","es.typed-array.for-each","es.typed-array.from","es.typed-array.includes","es.typed-array.index-of","es.typed-array.iterator","es.typed-array.join","es.typed-array.last-index-of","es.typed-array.map","es.typed-array.of","es.typed-array.reduce","es.typed-array.reduce-right","es.typed-array.reverse","es.typed-array.set","es.typed-array.slice","es.typed-array.some","es.typed-array.sort","es.typed-array.subarray","es.typed-array.to-locale-string","es.typed-array.to-reversed","es.typed-array.to-sorted","es.typed-array.to-string","es.typed-array.with"],"core-js/stable/typed-array/float64-array":["es.array-buffer.constructor","es.array-buffer.slice","es.object.to-string","es.string.iterator","es.typed-array.float64-array","es.typed-array.at","es.typed-array.copy-within","es.typed-array.every","es.typed-array.fill","es.typed-array.filter","es.typed-array.find","es.typed-array.find-index","es.typed-array.find-last","es.typed-array.find-last-index","es.typed-array.for-each","es.typed-array.from","es.typed-array.includes","es.typed-array.index-of","es.typed-array.iterator","es.typed-array.join","es.typed-array.last-index-of","es.typed-array.map","es.typed-array.of","es.typed-array.reduce","es.typed-array.reduce-right","es.typed-array.reverse","es.typed-array.set","es.typed-array.slice","es.typed-array.some","es.typed-array.sort","es.typed-array.subarray","es.typed-array.to-locale-string","es.typed-array.to-reversed","es.typed-array.to-sorted","es.typed-array.to-string","es.typed-array.with"],"core-js/stable/typed-array/for-each":["es.typed-array.for-each"],"core-js/stable/typed-array/from":["es.typed-array.from"],"core-js/stable/typed-array/includes":["es.typed-array.includes"],"core-js/stable/typed-array/index-of":["es.typed-array.index-of"],"core-js/stable/typed-array/int16-array":["es.array-buffer.constructor","es.array-buffer.slice","es.object.to-string","es.string.iterator","es.typed-array.int16-array","es.typed-array.at","es.typed-array.copy-within","es.typed-array.every","es.typed-array.fill","es.typed-array.filter","es.typed-array.find","es.typed-array.find-index","es.typed-array.find-last","es.typed-array.find-last-index","es.typed-array.for-each","es.typed-array.from","es.typed-array.includes","es.typed-array.index-of","es.typed-array.iterator","es.typed-array.join","es.typed-array.last-index-of","es.typed-array.map","es.typed-array.of","es.typed-array.reduce","es.typed-array.reduce-right","es.typed-array.reverse","es.typed-array.set","es.typed-array.slice","es.typed-array.some","es.typed-array.sort","es.typed-array.subarray","es.typed-array.to-locale-string","es.typed-array.to-reversed","es.typed-array.to-sorted","es.typed-array.to-string","es.typed-array.with"],"core-js/stable/typed-array/int32-array":["es.array-buffer.constructor","es.array-buffer.slice","es.object.to-string","es.string.iterator","es.typed-array.int32-array","es.typed-array.at","es.typed-array.copy-within","es.typed-array.every","es.typed-array.fill","es.typed-array.filter","es.typed-array.find","es.typed-array.find-index","es.typed-array.find-last","es.typed-array.find-last-index","es.typed-array.for-each","es.typed-array.from","es.typed-array.includes","es.typed-array.index-of","es.typed-array.iterator","es.typed-array.join","es.typed-array.last-index-of","es.typed-array.map","es.typed-array.of","es.typed-array.reduce","es.typed-array.reduce-right","es.typed-array.reverse","es.typed-array.set","es.typed-array.slice","es.typed-array.some","es.typed-array.sort","es.typed-array.subarray","es.typed-array.to-locale-string","es.typed-array.to-reversed","es.typed-array.to-sorted","es.typed-array.to-string","es.typed-array.with"],"core-js/stable/typed-array/int8-array":["es.array-buffer.constructor","es.array-buffer.slice","es.object.to-string","es.string.iterator","es.typed-array.int8-array","es.typed-array.at","es.typed-array.copy-within","es.typed-array.every","es.typed-array.fill","es.typed-array.filter","es.typed-array.find","es.typed-array.find-index","es.typed-array.find-last","es.typed-array.find-last-index","es.typed-array.for-each","es.typed-array.from","es.typed-array.includes","es.typed-array.index-of","es.typed-array.iterator","es.typed-array.join","es.typed-array.last-index-of","es.typed-array.map","es.typed-array.of","es.typed-array.reduce","es.typed-array.reduce-right","es.typed-array.reverse","es.typed-array.set","es.typed-array.slice","es.typed-array.some","es.typed-array.sort","es.typed-array.subarray","es.typed-array.to-locale-string","es.typed-array.to-reversed","es.typed-array.to-sorted","es.typed-array.to-string","es.typed-array.with"],"core-js/stable/typed-array/iterator":["es.object.to-string","es.typed-array.iterator"],"core-js/stable/typed-array/join":["es.typed-array.join"],"core-js/stable/typed-array/keys":["es.object.to-string","es.typed-array.iterator"],"core-js/stable/typed-array/last-index-of":["es.typed-array.last-index-of"],"core-js/stable/typed-array/map":["es.typed-array.map"],"core-js/stable/typed-array/methods":["es.object.to-string","es.string.iterator","es.typed-array.at","es.typed-array.copy-within","es.typed-array.every","es.typed-array.fill","es.typed-array.filter","es.typed-array.find","es.typed-array.find-index","es.typed-array.find-last","es.typed-array.find-last-index","es.typed-array.for-each","es.typed-array.from","es.typed-array.includes","es.typed-array.index-of","es.typed-array.iterator","es.typed-array.join","es.typed-array.last-index-of","es.typed-array.map","es.typed-array.of","es.typed-array.reduce","es.typed-array.reduce-right","es.typed-array.reverse","es.typed-array.set","es.typed-array.slice","es.typed-array.some","es.typed-array.sort","es.typed-array.subarray","es.typed-array.to-locale-string","es.typed-array.to-reversed","es.typed-array.to-sorted","es.typed-array.to-string","es.typed-array.with"],"core-js/stable/typed-array/of":["es.typed-array.of"],"core-js/stable/typed-array/reduce":["es.typed-array.reduce"],"core-js/stable/typed-array/reduce-right":["es.typed-array.reduce-right"],"core-js/stable/typed-array/reverse":["es.typed-array.reverse"],"core-js/stable/typed-array/set":["es.typed-array.set"],"core-js/stable/typed-array/slice":["es.typed-array.slice"],"core-js/stable/typed-array/some":["es.typed-array.some"],"core-js/stable/typed-array/sort":["es.typed-array.sort"],"core-js/stable/typed-array/subarray":["es.typed-array.subarray"],"core-js/stable/typed-array/to-locale-string":["es.typed-array.to-locale-string"],"core-js/stable/typed-array/to-reversed":["es.typed-array.to-reversed"],"core-js/stable/typed-array/to-sorted":["es.typed-array.sort","es.typed-array.to-sorted"],"core-js/stable/typed-array/to-string":["es.typed-array.to-string"],"core-js/stable/typed-array/uint16-array":["es.array-buffer.constructor","es.array-buffer.slice","es.object.to-string","es.string.iterator","es.typed-array.uint16-array","es.typed-array.at","es.typed-array.copy-within","es.typed-array.every","es.typed-array.fill","es.typed-array.filter","es.typed-array.find","es.typed-array.find-index","es.typed-array.find-last","es.typed-array.find-last-index","es.typed-array.for-each","es.typed-array.from","es.typed-array.includes","es.typed-array.index-of","es.typed-array.iterator","es.typed-array.join","es.typed-array.last-index-of","es.typed-array.map","es.typed-array.of","es.typed-array.reduce","es.typed-array.reduce-right","es.typed-array.reverse","es.typed-array.set","es.typed-array.slice","es.typed-array.some","es.typed-array.sort","es.typed-array.subarray","es.typed-array.to-locale-string","es.typed-array.to-reversed","es.typed-array.to-sorted","es.typed-array.to-string","es.typed-array.with"],"core-js/stable/typed-array/uint32-array":["es.array-buffer.constructor","es.array-buffer.slice","es.object.to-string","es.string.iterator","es.typed-array.uint32-array","es.typed-array.at","es.typed-array.copy-within","es.typed-array.every","es.typed-array.fill","es.typed-array.filter","es.typed-array.find","es.typed-array.find-index","es.typed-array.find-last","es.typed-array.find-last-index","es.typed-array.for-each","es.typed-array.from","es.typed-array.includes","es.typed-array.index-of","es.typed-array.iterator","es.typed-array.join","es.typed-array.last-index-of","es.typed-array.map","es.typed-array.of","es.typed-array.reduce","es.typed-array.reduce-right","es.typed-array.reverse","es.typed-array.set","es.typed-array.slice","es.typed-array.some","es.typed-array.sort","es.typed-array.subarray","es.typed-array.to-locale-string","es.typed-array.to-reversed","es.typed-array.to-sorted","es.typed-array.to-string","es.typed-array.with"],"core-js/stable/typed-array/uint8-array":["es.array-buffer.constructor","es.array-buffer.slice","es.object.to-string","es.string.iterator","es.typed-array.uint8-array","es.typed-array.at","es.typed-array.copy-within","es.typed-array.every","es.typed-array.fill","es.typed-array.filter","es.typed-array.find","es.typed-array.find-index","es.typed-array.find-last","es.typed-array.find-last-index","es.typed-array.for-each","es.typed-array.from","es.typed-array.includes","es.typed-array.index-of","es.typed-array.iterator","es.typed-array.join","es.typed-array.last-index-of","es.typed-array.map","es.typed-array.of","es.typed-array.reduce","es.typed-array.reduce-right","es.typed-array.reverse","es.typed-array.set","es.typed-array.slice","es.typed-array.some","es.typed-array.sort","es.typed-array.subarray","es.typed-array.to-locale-string","es.typed-array.to-reversed","es.typed-array.to-sorted","es.typed-array.to-string","es.typed-array.with"],"core-js/stable/typed-array/uint8-clamped-array":["es.array-buffer.constructor","es.array-buffer.slice","es.object.to-string","es.string.iterator","es.typed-array.uint8-clamped-array","es.typed-array.at","es.typed-array.copy-within","es.typed-array.every","es.typed-array.fill","es.typed-array.filter","es.typed-array.find","es.typed-array.find-index","es.typed-array.find-last","es.typed-array.find-last-index","es.typed-array.for-each","es.typed-array.from","es.typed-array.includes","es.typed-array.index-of","es.typed-array.iterator","es.typed-array.join","es.typed-array.last-index-of","es.typed-array.map","es.typed-array.of","es.typed-array.reduce","es.typed-array.reduce-right","es.typed-array.reverse","es.typed-array.set","es.typed-array.slice","es.typed-array.some","es.typed-array.sort","es.typed-array.subarray","es.typed-array.to-locale-string","es.typed-array.to-reversed","es.typed-array.to-sorted","es.typed-array.to-string","es.typed-array.with"],"core-js/stable/typed-array/values":["es.object.to-string","es.typed-array.iterator"],"core-js/stable/typed-array/with":["es.typed-array.with"],"core-js/stable/unescape":["es.unescape"],"core-js/stable/url":["web.url","web.url.can-parse","web.url.to-json","web.url-search-params","web.url-search-params.delete","web.url-search-params.has","web.url-search-params.size"],"core-js/stable/url-search-params":["web.dom-collections.iterator","web.url-search-params","web.url-search-params.delete","web.url-search-params.has","web.url-search-params.size"],"core-js/stable/url/can-parse":["web.url","web.url.can-parse"],"core-js/stable/url/to-json":["web.url.to-json"],"core-js/stable/weak-map":["es.array.iterator","es.object.to-string","es.weak-map","web.dom-collections.iterator"],"core-js/stable/weak-set":["es.array.iterator","es.object.to-string","es.weak-set","web.dom-collections.iterator"],"core-js/stage":["es.map","es.string.at-alternative","esnext.aggregate-error","esnext.suppressed-error.constructor","esnext.array.from-async","esnext.array.at","esnext.array.filter-out","esnext.array.filter-reject","esnext.array.find-last","esnext.array.find-last-index","esnext.array.group","esnext.array.group-by","esnext.array.group-by-to-map","esnext.array.group-to-map","esnext.array.is-template-object","esnext.array.last-index","esnext.array.last-item","esnext.array.to-reversed","esnext.array.to-sorted","esnext.array.to-spliced","esnext.array.unique-by","esnext.array.with","esnext.array-buffer.detached","esnext.array-buffer.transfer","esnext.array-buffer.transfer-to-fixed-length","esnext.async-disposable-stack.constructor","esnext.async-iterator.constructor","esnext.async-iterator.as-indexed-pairs","esnext.async-iterator.async-dispose","esnext.async-iterator.drop","esnext.async-iterator.every","esnext.async-iterator.filter","esnext.async-iterator.find","esnext.async-iterator.flat-map","esnext.async-iterator.for-each","esnext.async-iterator.from","esnext.async-iterator.indexed","esnext.async-iterator.map","esnext.async-iterator.reduce","esnext.async-iterator.some","esnext.async-iterator.take","esnext.async-iterator.to-array","esnext.bigint.range","esnext.composite-key","esnext.composite-symbol","esnext.disposable-stack.constructor","esnext.function.demethodize","esnext.function.is-callable","esnext.function.is-constructor","esnext.function.metadata","esnext.function.un-this","esnext.global-this","esnext.iterator.constructor","esnext.iterator.as-indexed-pairs","esnext.iterator.dispose","esnext.iterator.drop","esnext.iterator.every","esnext.iterator.filter","esnext.iterator.find","esnext.iterator.flat-map","esnext.iterator.for-each","esnext.iterator.from","esnext.iterator.indexed","esnext.iterator.map","esnext.iterator.range","esnext.iterator.reduce","esnext.iterator.some","esnext.iterator.take","esnext.iterator.to-array","esnext.iterator.to-async","esnext.json.is-raw-json","esnext.json.parse","esnext.json.raw-json","esnext.map.delete-all","esnext.map.emplace","esnext.map.every","esnext.map.filter","esnext.map.find","esnext.map.find-key","esnext.map.from","esnext.map.group-by","esnext.map.includes","esnext.map.key-by","esnext.map.key-of","esnext.map.map-keys","esnext.map.map-values","esnext.map.merge","esnext.map.of","esnext.map.reduce","esnext.map.some","esnext.map.update","esnext.map.update-or-insert","esnext.map.upsert","esnext.math.clamp","esnext.math.deg-per-rad","esnext.math.degrees","esnext.math.fscale","esnext.math.iaddh","esnext.math.imulh","esnext.math.isubh","esnext.math.rad-per-deg","esnext.math.radians","esnext.math.scale","esnext.math.seeded-prng","esnext.math.signbit","esnext.math.umulh","esnext.number.from-string","esnext.number.range","esnext.object.has-own","esnext.object.iterate-entries","esnext.object.iterate-keys","esnext.object.iterate-values","esnext.object.group-by","esnext.observable","esnext.promise.all-settled","esnext.promise.any","esnext.promise.try","esnext.promise.with-resolvers","esnext.reflect.define-metadata","esnext.reflect.delete-metadata","esnext.reflect.get-metadata","esnext.reflect.get-metadata-keys","esnext.reflect.get-own-metadata","esnext.reflect.get-own-metadata-keys","esnext.reflect.has-metadata","esnext.reflect.has-own-metadata","esnext.reflect.metadata","esnext.set.add-all","esnext.set.delete-all","esnext.set.difference.v2","esnext.set.difference","esnext.set.every","esnext.set.filter","esnext.set.find","esnext.set.from","esnext.set.intersection.v2","esnext.set.intersection","esnext.set.is-disjoint-from.v2","esnext.set.is-disjoint-from","esnext.set.is-subset-of.v2","esnext.set.is-subset-of","esnext.set.is-superset-of.v2","esnext.set.is-superset-of","esnext.set.join","esnext.set.map","esnext.set.of","esnext.set.reduce","esnext.set.some","esnext.set.symmetric-difference.v2","esnext.set.symmetric-difference","esnext.set.union.v2","esnext.set.union","esnext.string.at","esnext.string.cooked","esnext.string.code-points","esnext.string.dedent","esnext.string.is-well-formed","esnext.string.match-all","esnext.string.replace-all","esnext.string.to-well-formed","esnext.symbol.async-dispose","esnext.symbol.dispose","esnext.symbol.is-registered-symbol","esnext.symbol.is-registered","esnext.symbol.is-well-known-symbol","esnext.symbol.is-well-known","esnext.symbol.matcher","esnext.symbol.metadata","esnext.symbol.metadata-key","esnext.symbol.observable","esnext.symbol.pattern-match","esnext.symbol.replace-all","esnext.typed-array.from-async","esnext.typed-array.at","esnext.typed-array.filter-out","esnext.typed-array.filter-reject","esnext.typed-array.find-last","esnext.typed-array.find-last-index","esnext.typed-array.group-by","esnext.typed-array.to-reversed","esnext.typed-array.to-sorted","esnext.typed-array.to-spliced","esnext.typed-array.unique-by","esnext.typed-array.with","esnext.weak-map.delete-all","esnext.weak-map.from","esnext.weak-map.of","esnext.weak-map.emplace","esnext.weak-map.upsert","esnext.weak-set.add-all","esnext.weak-set.delete-all","esnext.weak-set.from","esnext.weak-set.of","web.url","web.url.can-parse","web.url.to-json","web.url-search-params","web.url-search-params.delete","web.url-search-params.has","web.url-search-params.size"],"core-js/stage/0":["es.map","es.string.at-alternative","esnext.aggregate-error","esnext.suppressed-error.constructor","esnext.array.from-async","esnext.array.at","esnext.array.filter-out","esnext.array.filter-reject","esnext.array.find-last","esnext.array.find-last-index","esnext.array.group","esnext.array.group-by","esnext.array.group-by-to-map","esnext.array.group-to-map","esnext.array.is-template-object","esnext.array.last-index","esnext.array.last-item","esnext.array.to-reversed","esnext.array.to-sorted","esnext.array.to-spliced","esnext.array.unique-by","esnext.array.with","esnext.array-buffer.detached","esnext.array-buffer.transfer","esnext.array-buffer.transfer-to-fixed-length","esnext.async-disposable-stack.constructor","esnext.async-iterator.constructor","esnext.async-iterator.as-indexed-pairs","esnext.async-iterator.async-dispose","esnext.async-iterator.drop","esnext.async-iterator.every","esnext.async-iterator.filter","esnext.async-iterator.find","esnext.async-iterator.flat-map","esnext.async-iterator.for-each","esnext.async-iterator.from","esnext.async-iterator.indexed","esnext.async-iterator.map","esnext.async-iterator.reduce","esnext.async-iterator.some","esnext.async-iterator.take","esnext.async-iterator.to-array","esnext.bigint.range","esnext.composite-key","esnext.composite-symbol","esnext.disposable-stack.constructor","esnext.function.demethodize","esnext.function.is-callable","esnext.function.is-constructor","esnext.function.metadata","esnext.function.un-this","esnext.global-this","esnext.iterator.constructor","esnext.iterator.as-indexed-pairs","esnext.iterator.dispose","esnext.iterator.drop","esnext.iterator.every","esnext.iterator.filter","esnext.iterator.find","esnext.iterator.flat-map","esnext.iterator.for-each","esnext.iterator.from","esnext.iterator.indexed","esnext.iterator.map","esnext.iterator.range","esnext.iterator.reduce","esnext.iterator.some","esnext.iterator.take","esnext.iterator.to-array","esnext.iterator.to-async","esnext.json.is-raw-json","esnext.json.parse","esnext.json.raw-json","esnext.map.delete-all","esnext.map.emplace","esnext.map.every","esnext.map.filter","esnext.map.find","esnext.map.find-key","esnext.map.from","esnext.map.group-by","esnext.map.includes","esnext.map.key-by","esnext.map.key-of","esnext.map.map-keys","esnext.map.map-values","esnext.map.merge","esnext.map.of","esnext.map.reduce","esnext.map.some","esnext.map.update","esnext.map.update-or-insert","esnext.map.upsert","esnext.math.clamp","esnext.math.deg-per-rad","esnext.math.degrees","esnext.math.fscale","esnext.math.iaddh","esnext.math.imulh","esnext.math.isubh","esnext.math.rad-per-deg","esnext.math.radians","esnext.math.scale","esnext.math.seeded-prng","esnext.math.signbit","esnext.math.umulh","esnext.number.from-string","esnext.number.range","esnext.object.has-own","esnext.object.iterate-entries","esnext.object.iterate-keys","esnext.object.iterate-values","esnext.object.group-by","esnext.observable","esnext.promise.all-settled","esnext.promise.any","esnext.promise.try","esnext.promise.with-resolvers","esnext.set.add-all","esnext.set.delete-all","esnext.set.difference.v2","esnext.set.difference","esnext.set.every","esnext.set.filter","esnext.set.find","esnext.set.from","esnext.set.intersection.v2","esnext.set.intersection","esnext.set.is-disjoint-from.v2","esnext.set.is-disjoint-from","esnext.set.is-subset-of.v2","esnext.set.is-subset-of","esnext.set.is-superset-of.v2","esnext.set.is-superset-of","esnext.set.join","esnext.set.map","esnext.set.of","esnext.set.reduce","esnext.set.some","esnext.set.symmetric-difference.v2","esnext.set.symmetric-difference","esnext.set.union.v2","esnext.set.union","esnext.string.at","esnext.string.cooked","esnext.string.code-points","esnext.string.dedent","esnext.string.is-well-formed","esnext.string.match-all","esnext.string.replace-all","esnext.string.to-well-formed","esnext.symbol.async-dispose","esnext.symbol.dispose","esnext.symbol.is-registered-symbol","esnext.symbol.is-registered","esnext.symbol.is-well-known-symbol","esnext.symbol.is-well-known","esnext.symbol.matcher","esnext.symbol.metadata","esnext.symbol.metadata-key","esnext.symbol.observable","esnext.symbol.pattern-match","esnext.symbol.replace-all","esnext.typed-array.from-async","esnext.typed-array.at","esnext.typed-array.filter-out","esnext.typed-array.filter-reject","esnext.typed-array.find-last","esnext.typed-array.find-last-index","esnext.typed-array.group-by","esnext.typed-array.to-reversed","esnext.typed-array.to-sorted","esnext.typed-array.to-spliced","esnext.typed-array.unique-by","esnext.typed-array.with","esnext.weak-map.delete-all","esnext.weak-map.from","esnext.weak-map.of","esnext.weak-map.emplace","esnext.weak-map.upsert","esnext.weak-set.add-all","esnext.weak-set.delete-all","esnext.weak-set.from","esnext.weak-set.of","web.url","web.url.can-parse","web.url.to-json","web.url-search-params","web.url-search-params.delete","web.url-search-params.has","web.url-search-params.size"],"core-js/stage/1":["es.map","es.string.at-alternative","esnext.aggregate-error","esnext.suppressed-error.constructor","esnext.array.from-async","esnext.array.at","esnext.array.filter-reject","esnext.array.find-last","esnext.array.find-last-index","esnext.array.group","esnext.array.group-by","esnext.array.group-by-to-map","esnext.array.group-to-map","esnext.array.is-template-object","esnext.array.last-index","esnext.array.last-item","esnext.array.to-reversed","esnext.array.to-sorted","esnext.array.to-spliced","esnext.array.unique-by","esnext.array.with","esnext.array-buffer.detached","esnext.array-buffer.transfer","esnext.array-buffer.transfer-to-fixed-length","esnext.async-disposable-stack.constructor","esnext.async-iterator.constructor","esnext.async-iterator.as-indexed-pairs","esnext.async-iterator.async-dispose","esnext.async-iterator.drop","esnext.async-iterator.every","esnext.async-iterator.filter","esnext.async-iterator.find","esnext.async-iterator.flat-map","esnext.async-iterator.for-each","esnext.async-iterator.from","esnext.async-iterator.indexed","esnext.async-iterator.map","esnext.async-iterator.reduce","esnext.async-iterator.some","esnext.async-iterator.take","esnext.async-iterator.to-array","esnext.bigint.range","esnext.composite-key","esnext.composite-symbol","esnext.disposable-stack.constructor","esnext.function.metadata","esnext.global-this","esnext.iterator.constructor","esnext.iterator.as-indexed-pairs","esnext.iterator.dispose","esnext.iterator.drop","esnext.iterator.every","esnext.iterator.filter","esnext.iterator.find","esnext.iterator.flat-map","esnext.iterator.for-each","esnext.iterator.from","esnext.iterator.indexed","esnext.iterator.map","esnext.iterator.range","esnext.iterator.reduce","esnext.iterator.some","esnext.iterator.take","esnext.iterator.to-array","esnext.iterator.to-async","esnext.json.is-raw-json","esnext.json.parse","esnext.json.raw-json","esnext.map.delete-all","esnext.map.emplace","esnext.map.every","esnext.map.filter","esnext.map.find","esnext.map.find-key","esnext.map.from","esnext.map.group-by","esnext.map.includes","esnext.map.key-by","esnext.map.key-of","esnext.map.map-keys","esnext.map.map-values","esnext.map.merge","esnext.map.of","esnext.map.reduce","esnext.map.some","esnext.map.update","esnext.map.update-or-insert","esnext.map.upsert","esnext.math.clamp","esnext.math.deg-per-rad","esnext.math.degrees","esnext.math.fscale","esnext.math.rad-per-deg","esnext.math.radians","esnext.math.scale","esnext.math.seeded-prng","esnext.math.signbit","esnext.number.from-string","esnext.number.range","esnext.object.has-own","esnext.object.iterate-entries","esnext.object.iterate-keys","esnext.object.iterate-values","esnext.object.group-by","esnext.observable","esnext.promise.all-settled","esnext.promise.any","esnext.promise.try","esnext.promise.with-resolvers","esnext.set.add-all","esnext.set.delete-all","esnext.set.difference.v2","esnext.set.difference","esnext.set.every","esnext.set.filter","esnext.set.find","esnext.set.from","esnext.set.intersection.v2","esnext.set.intersection","esnext.set.is-disjoint-from.v2","esnext.set.is-disjoint-from","esnext.set.is-subset-of.v2","esnext.set.is-subset-of","esnext.set.is-superset-of.v2","esnext.set.is-superset-of","esnext.set.join","esnext.set.map","esnext.set.of","esnext.set.reduce","esnext.set.some","esnext.set.symmetric-difference.v2","esnext.set.symmetric-difference","esnext.set.union.v2","esnext.set.union","esnext.string.cooked","esnext.string.code-points","esnext.string.dedent","esnext.string.is-well-formed","esnext.string.match-all","esnext.string.replace-all","esnext.string.to-well-formed","esnext.symbol.async-dispose","esnext.symbol.dispose","esnext.symbol.is-registered-symbol","esnext.symbol.is-registered","esnext.symbol.is-well-known-symbol","esnext.symbol.is-well-known","esnext.symbol.matcher","esnext.symbol.metadata","esnext.symbol.metadata-key","esnext.symbol.observable","esnext.symbol.pattern-match","esnext.symbol.replace-all","esnext.typed-array.from-async","esnext.typed-array.at","esnext.typed-array.filter-reject","esnext.typed-array.find-last","esnext.typed-array.find-last-index","esnext.typed-array.group-by","esnext.typed-array.to-reversed","esnext.typed-array.to-sorted","esnext.typed-array.to-spliced","esnext.typed-array.unique-by","esnext.typed-array.with","esnext.weak-map.delete-all","esnext.weak-map.from","esnext.weak-map.of","esnext.weak-map.emplace","esnext.weak-map.upsert","esnext.weak-set.add-all","esnext.weak-set.delete-all","esnext.weak-set.from","esnext.weak-set.of"],"core-js/stage/2":["es.string.at-alternative","esnext.aggregate-error","esnext.suppressed-error.constructor","esnext.array.from-async","esnext.array.at","esnext.array.find-last","esnext.array.find-last-index","esnext.array.group","esnext.array.group-by","esnext.array.group-by-to-map","esnext.array.group-to-map","esnext.array.is-template-object","esnext.array.to-reversed","esnext.array.to-sorted","esnext.array.to-spliced","esnext.array.with","esnext.array-buffer.detached","esnext.array-buffer.transfer","esnext.array-buffer.transfer-to-fixed-length","esnext.async-disposable-stack.constructor","esnext.async-iterator.constructor","esnext.async-iterator.as-indexed-pairs","esnext.async-iterator.async-dispose","esnext.async-iterator.drop","esnext.async-iterator.every","esnext.async-iterator.filter","esnext.async-iterator.find","esnext.async-iterator.flat-map","esnext.async-iterator.for-each","esnext.async-iterator.from","esnext.async-iterator.indexed","esnext.async-iterator.map","esnext.async-iterator.reduce","esnext.async-iterator.some","esnext.async-iterator.take","esnext.async-iterator.to-array","esnext.disposable-stack.constructor","esnext.function.metadata","esnext.global-this","esnext.iterator.constructor","esnext.iterator.as-indexed-pairs","esnext.iterator.dispose","esnext.iterator.drop","esnext.iterator.every","esnext.iterator.filter","esnext.iterator.find","esnext.iterator.flat-map","esnext.iterator.for-each","esnext.iterator.from","esnext.iterator.indexed","esnext.iterator.map","esnext.iterator.range","esnext.iterator.reduce","esnext.iterator.some","esnext.iterator.take","esnext.iterator.to-array","esnext.iterator.to-async","esnext.json.is-raw-json","esnext.json.parse","esnext.json.raw-json","esnext.map.emplace","esnext.map.group-by","esnext.object.has-own","esnext.object.group-by","esnext.promise.all-settled","esnext.promise.any","esnext.promise.with-resolvers","esnext.set.difference.v2","esnext.set.difference","esnext.set.intersection.v2","esnext.set.intersection","esnext.set.is-disjoint-from.v2","esnext.set.is-disjoint-from","esnext.set.is-subset-of.v2","esnext.set.is-subset-of","esnext.set.is-superset-of.v2","esnext.set.is-superset-of","esnext.set.symmetric-difference.v2","esnext.set.symmetric-difference","esnext.set.union.v2","esnext.set.union","esnext.string.dedent","esnext.string.is-well-formed","esnext.string.match-all","esnext.string.replace-all","esnext.string.to-well-formed","esnext.symbol.async-dispose","esnext.symbol.dispose","esnext.symbol.is-registered-symbol","esnext.symbol.is-registered","esnext.symbol.is-well-known-symbol","esnext.symbol.is-well-known","esnext.symbol.metadata","esnext.symbol.metadata-key","esnext.typed-array.at","esnext.typed-array.find-last","esnext.typed-array.find-last-index","esnext.typed-array.group-by","esnext.typed-array.to-reversed","esnext.typed-array.to-sorted","esnext.typed-array.to-spliced","esnext.typed-array.with","esnext.weak-map.emplace"],"core-js/stage/3":["es.string.at-alternative","esnext.aggregate-error","esnext.suppressed-error.constructor","esnext.array.from-async","esnext.array.at","esnext.array.find-last","esnext.array.find-last-index","esnext.array.group","esnext.array.group-by","esnext.array.group-by-to-map","esnext.array.group-to-map","esnext.array.to-reversed","esnext.array.to-sorted","esnext.array.to-spliced","esnext.array.with","esnext.array-buffer.detached","esnext.array-buffer.transfer","esnext.array-buffer.transfer-to-fixed-length","esnext.async-iterator.constructor","esnext.async-iterator.drop","esnext.async-iterator.every","esnext.async-iterator.filter","esnext.async-iterator.find","esnext.async-iterator.flat-map","esnext.async-iterator.for-each","esnext.async-iterator.from","esnext.async-iterator.map","esnext.async-iterator.reduce","esnext.async-iterator.some","esnext.async-iterator.take","esnext.async-iterator.to-array","esnext.disposable-stack.constructor","esnext.function.metadata","esnext.global-this","esnext.iterator.constructor","esnext.iterator.dispose","esnext.iterator.drop","esnext.iterator.every","esnext.iterator.filter","esnext.iterator.find","esnext.iterator.flat-map","esnext.iterator.for-each","esnext.iterator.from","esnext.iterator.map","esnext.iterator.reduce","esnext.iterator.some","esnext.iterator.take","esnext.iterator.to-array","esnext.iterator.to-async","esnext.json.is-raw-json","esnext.json.parse","esnext.json.raw-json","esnext.object.has-own","esnext.promise.all-settled","esnext.promise.any","esnext.set.difference.v2","esnext.set.intersection.v2","esnext.set.is-disjoint-from.v2","esnext.set.is-subset-of.v2","esnext.set.is-superset-of.v2","esnext.set.symmetric-difference.v2","esnext.set.union.v2","esnext.string.is-well-formed","esnext.string.match-all","esnext.string.replace-all","esnext.string.to-well-formed","esnext.symbol.dispose","esnext.symbol.metadata","esnext.typed-array.at","esnext.typed-array.find-last","esnext.typed-array.find-last-index","esnext.typed-array.to-reversed","esnext.typed-array.to-sorted","esnext.typed-array.to-spliced","esnext.typed-array.with"],"core-js/stage/4":["es.string.at-alternative","esnext.aggregate-error","esnext.array.at","esnext.array.find-last","esnext.array.find-last-index","esnext.array.to-reversed","esnext.array.to-sorted","esnext.array.to-spliced","esnext.array.with","esnext.global-this","esnext.object.has-own","esnext.promise.all-settled","esnext.promise.any","esnext.string.is-well-formed","esnext.string.match-all","esnext.string.replace-all","esnext.string.to-well-formed","esnext.typed-array.at","esnext.typed-array.find-last","esnext.typed-array.find-last-index","esnext.typed-array.to-reversed","esnext.typed-array.to-sorted","esnext.typed-array.with"],"core-js/stage/pre":["es.map","es.string.at-alternative","esnext.aggregate-error","esnext.suppressed-error.constructor","esnext.array.from-async","esnext.array.at","esnext.array.filter-out","esnext.array.filter-reject","esnext.array.find-last","esnext.array.find-last-index","esnext.array.group","esnext.array.group-by","esnext.array.group-by-to-map","esnext.array.group-to-map","esnext.array.is-template-object","esnext.array.last-index","esnext.array.last-item","esnext.array.to-reversed","esnext.array.to-sorted","esnext.array.to-spliced","esnext.array.unique-by","esnext.array.with","esnext.array-buffer.detached","esnext.array-buffer.transfer","esnext.array-buffer.transfer-to-fixed-length","esnext.async-disposable-stack.constructor","esnext.async-iterator.constructor","esnext.async-iterator.as-indexed-pairs","esnext.async-iterator.async-dispose","esnext.async-iterator.drop","esnext.async-iterator.every","esnext.async-iterator.filter","esnext.async-iterator.find","esnext.async-iterator.flat-map","esnext.async-iterator.for-each","esnext.async-iterator.from","esnext.async-iterator.indexed","esnext.async-iterator.map","esnext.async-iterator.reduce","esnext.async-iterator.some","esnext.async-iterator.take","esnext.async-iterator.to-array","esnext.bigint.range","esnext.composite-key","esnext.composite-symbol","esnext.disposable-stack.constructor","esnext.function.demethodize","esnext.function.is-callable","esnext.function.is-constructor","esnext.function.metadata","esnext.function.un-this","esnext.global-this","esnext.iterator.constructor","esnext.iterator.as-indexed-pairs","esnext.iterator.dispose","esnext.iterator.drop","esnext.iterator.every","esnext.iterator.filter","esnext.iterator.find","esnext.iterator.flat-map","esnext.iterator.for-each","esnext.iterator.from","esnext.iterator.indexed","esnext.iterator.map","esnext.iterator.range","esnext.iterator.reduce","esnext.iterator.some","esnext.iterator.take","esnext.iterator.to-array","esnext.iterator.to-async","esnext.json.is-raw-json","esnext.json.parse","esnext.json.raw-json","esnext.map.delete-all","esnext.map.emplace","esnext.map.every","esnext.map.filter","esnext.map.find","esnext.map.find-key","esnext.map.from","esnext.map.group-by","esnext.map.includes","esnext.map.key-by","esnext.map.key-of","esnext.map.map-keys","esnext.map.map-values","esnext.map.merge","esnext.map.of","esnext.map.reduce","esnext.map.some","esnext.map.update","esnext.map.update-or-insert","esnext.map.upsert","esnext.math.clamp","esnext.math.deg-per-rad","esnext.math.degrees","esnext.math.fscale","esnext.math.iaddh","esnext.math.imulh","esnext.math.isubh","esnext.math.rad-per-deg","esnext.math.radians","esnext.math.scale","esnext.math.seeded-prng","esnext.math.signbit","esnext.math.umulh","esnext.number.from-string","esnext.number.range","esnext.object.has-own","esnext.object.iterate-entries","esnext.object.iterate-keys","esnext.object.iterate-values","esnext.object.group-by","esnext.observable","esnext.promise.all-settled","esnext.promise.any","esnext.promise.try","esnext.promise.with-resolvers","esnext.reflect.define-metadata","esnext.reflect.delete-metadata","esnext.reflect.get-metadata","esnext.reflect.get-metadata-keys","esnext.reflect.get-own-metadata","esnext.reflect.get-own-metadata-keys","esnext.reflect.has-metadata","esnext.reflect.has-own-metadata","esnext.reflect.metadata","esnext.set.add-all","esnext.set.delete-all","esnext.set.difference.v2","esnext.set.difference","esnext.set.every","esnext.set.filter","esnext.set.find","esnext.set.from","esnext.set.intersection.v2","esnext.set.intersection","esnext.set.is-disjoint-from.v2","esnext.set.is-disjoint-from","esnext.set.is-subset-of.v2","esnext.set.is-subset-of","esnext.set.is-superset-of.v2","esnext.set.is-superset-of","esnext.set.join","esnext.set.map","esnext.set.of","esnext.set.reduce","esnext.set.some","esnext.set.symmetric-difference.v2","esnext.set.symmetric-difference","esnext.set.union.v2","esnext.set.union","esnext.string.at","esnext.string.cooked","esnext.string.code-points","esnext.string.dedent","esnext.string.is-well-formed","esnext.string.match-all","esnext.string.replace-all","esnext.string.to-well-formed","esnext.symbol.async-dispose","esnext.symbol.dispose","esnext.symbol.is-registered-symbol","esnext.symbol.is-registered","esnext.symbol.is-well-known-symbol","esnext.symbol.is-well-known","esnext.symbol.matcher","esnext.symbol.metadata","esnext.symbol.metadata-key","esnext.symbol.observable","esnext.symbol.pattern-match","esnext.symbol.replace-all","esnext.typed-array.from-async","esnext.typed-array.at","esnext.typed-array.filter-out","esnext.typed-array.filter-reject","esnext.typed-array.find-last","esnext.typed-array.find-last-index","esnext.typed-array.group-by","esnext.typed-array.to-reversed","esnext.typed-array.to-sorted","esnext.typed-array.to-spliced","esnext.typed-array.unique-by","esnext.typed-array.with","esnext.weak-map.delete-all","esnext.weak-map.from","esnext.weak-map.of","esnext.weak-map.emplace","esnext.weak-map.upsert","esnext.weak-set.add-all","esnext.weak-set.delete-all","esnext.weak-set.from","esnext.weak-set.of","web.url","web.url.can-parse","web.url.to-json","web.url-search-params","web.url-search-params.delete","web.url-search-params.has","web.url-search-params.size"],"core-js/web":["web.atob","web.btoa","web.dom-collections.for-each","web.dom-collections.iterator","web.dom-exception.constructor","web.dom-exception.stack","web.dom-exception.to-string-tag","web.immediate","web.queue-microtask","web.self","web.structured-clone","web.timers","web.url","web.url.can-parse","web.url.to-json","web.url-search-params","web.url-search-params.delete","web.url-search-params.has","web.url-search-params.size"],"core-js/web/dom-collections":["web.dom-collections.for-each","web.dom-collections.iterator"],"core-js/web/dom-exception":["es.error.to-string","web.dom-exception.constructor","web.dom-exception.stack","web.dom-exception.to-string-tag"],"core-js/web/immediate":["web.immediate"],"core-js/web/queue-microtask":["web.queue-microtask"],"core-js/web/structured-clone":["es.array.iterator","es.map","es.object.to-string","es.set","web.structured-clone"],"core-js/web/timers":["web.timers"],"core-js/web/url":["web.url","web.url.can-parse","web.url.to-json","web.url-search-params","web.url-search-params.delete","web.url-search-params.has","web.url-search-params.size"],"core-js/web/url-search-params":["web.url-search-params","web.url-search-params.delete","web.url-search-params.has","web.url-search-params.size"]};var entries$1;var hasRequiredEntries;function requireEntries(){if(hasRequiredEntries)return entries$1;hasRequiredEntries=1;entries$1=require$$0$2;return entries$1;}var hasRequiredUtils$2;function requireUtils$2(){if(hasRequiredUtils$2)return utils$2;hasRequiredUtils$2=1;utils$2.__esModule=true;utils$2.BABEL_RUNTIME=void 0;utils$2.callMethod=callMethod;utils$2.coreJSModule=coreJSModule;utils$2.coreJSPureHelper=coreJSPureHelper;utils$2.isCoreJSSource=isCoreJSSource;var _babel=_interopRequireWildcard(require$$5);var _entries=_interopRequireDefault(requireEntries());function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj};}function _getRequireWildcardCache(nodeInterop){if(typeof WeakMap!=="function")return null;var cacheBabelInterop=new WeakMap();var cacheNodeInterop=new WeakMap();return(_getRequireWildcardCache=function _getRequireWildcardCache(nodeInterop){return nodeInterop?cacheNodeInterop:cacheBabelInterop;})(nodeInterop);}function _interopRequireWildcard(obj,nodeInterop){if(!nodeInterop&&obj&&obj.__esModule){return obj;}if(obj===null||_typeof(obj)!=="object"&&typeof obj!=="function"){return{"default":obj};}var cache=_getRequireWildcardCache(nodeInterop);if(cache&&cache.has(obj)){return cache.get(obj);}var newObj={};var hasPropertyDescriptor=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var key in obj){if(key!=="default"&&Object.prototype.hasOwnProperty.call(obj,key)){var desc=hasPropertyDescriptor?Object.getOwnPropertyDescriptor(obj,key):null;if(desc&&(desc.get||desc.set)){Object.defineProperty(newObj,key,desc);}else{newObj[key]=obj[key];}}}newObj["default"]=obj;if(cache){cache.set(obj,newObj);}return newObj;}var _ref=_babel["default"]||_babel,t=_ref.types;var BABEL_RUNTIME="@babel/runtime-corejs3";utils$2.BABEL_RUNTIME=BABEL_RUNTIME;function callMethod(path,id){var object=path.node.object;var context1,context2;if(t.isIdentifier(object)){context1=object;context2=t.cloneNode(object);}else{context1=path.scope.generateDeclaredUidIdentifier("context");context2=t.assignmentExpression("=",t.cloneNode(context1),object);}path.replaceWith(t.memberExpression(t.callExpression(id,[context2]),t.identifier("call")));path.parentPath.unshiftContainer("arguments",context1);}function isCoreJSSource(source){if(typeof source==="string"){source=source.replace(/\\/g,"/").replace(/(\/(index)?)?(\.js)?$/i,"").toLowerCase();}return Object.prototype.hasOwnProperty.call(_entries["default"],source)&&_entries["default"][source];}function coreJSModule(name){return"core-js/modules/"+name+".js";}function coreJSPureHelper(name,useBabelRuntime,ext){return useBabelRuntime?BABEL_RUNTIME+"/core-js/"+name+ext:"core-js-pure/features/"+name+".js";}return utils$2;}var hasRequiredLib$4;function requireLib$4(){if(hasRequiredLib$4)return lib$4;hasRequiredLib$4=1;lib$4.__esModule=true;lib$4["default"]=void 0;var _data=_interopRequireDefault(requireData());var _shippedProposals=_interopRequireDefault(requireShippedProposals());var _getModulesListForTargetVersion=_interopRequireDefault(requireGetModulesListForTargetVersion());var _builtInDefinitions=requireBuiltInDefinitions$1();var BabelRuntimePaths=_interopRequireWildcard(requireBabelRuntimeCorejs3Paths());var _usageFilters=_interopRequireDefault(requireUsageFilters());var _babel=_interopRequireWildcard(require$$5);var _utils=requireUtils$2();var _helperDefinePolyfillProvider=_interopRequireDefault(requireLib$6());function _getRequireWildcardCache(nodeInterop){if(typeof WeakMap!=="function")return null;var cacheBabelInterop=new WeakMap();var cacheNodeInterop=new WeakMap();return(_getRequireWildcardCache=function _getRequireWildcardCache(nodeInterop){return nodeInterop?cacheNodeInterop:cacheBabelInterop;})(nodeInterop);}function _interopRequireWildcard(obj,nodeInterop){if(!nodeInterop&&obj&&obj.__esModule){return obj;}if(obj===null||_typeof(obj)!=="object"&&typeof obj!=="function"){return{"default":obj};}var cache=_getRequireWildcardCache(nodeInterop);if(cache&&cache.has(obj)){return cache.get(obj);}var newObj={};var hasPropertyDescriptor=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var key in obj){if(key!=="default"&&Object.prototype.hasOwnProperty.call(obj,key)){var desc=hasPropertyDescriptor?Object.getOwnPropertyDescriptor(obj,key):null;if(desc&&(desc.get||desc.set)){Object.defineProperty(newObj,key,desc);}else{newObj[key]=obj[key];}}}newObj["default"]=obj;if(cache){cache.set(obj,newObj);}return newObj;}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj};}function _extends(){_extends=Object.assign?Object.assign.bind():function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};return _extends.apply(this,arguments);}var _ref=_babel["default"]||_babel,t=_ref.types;var presetEnvCompat="#__secret_key__@babel/preset-env__compatibility";var runtimeCompat="#__secret_key__@babel/runtime__compatibility";var uniqueObjects=["array","string","iterator","async-iterator","dom-collections"].map(function(v){return new RegExp("[a-z]*\\."+v+"\\..*");});var esnextFallback=function esnextFallback(name,cb){if(cb(name))return true;if(!name.startsWith("es."))return false;var fallback="esnext."+name.slice(3);if(!_data["default"][fallback])return false;return cb(fallback);};var _default=(0,_helperDefinePolyfillProvider["default"])(function(_ref2,_ref3){var getUtils=_ref2.getUtils,method=_ref2.method,shouldInjectPolyfill=_ref2.shouldInjectPolyfill,createMetaResolver=_ref2.createMetaResolver,debug=_ref2.debug,babel=_ref2.babel;var _ref3$version=_ref3.version,version=_ref3$version===void 0?3:_ref3$version,proposals=_ref3.proposals,shippedProposals=_ref3.shippedProposals,_ref3$presetEnvCompat=_ref3[presetEnvCompat],_ref3$presetEnvCompat2=_ref3$presetEnvCompat===void 0?{}:_ref3$presetEnvCompat,_ref3$presetEnvCompat3=_ref3$presetEnvCompat2.noRuntimeName,noRuntimeName=_ref3$presetEnvCompat3===void 0?false:_ref3$presetEnvCompat3,_ref3$runtimeCompat=_ref3[runtimeCompat],_ref3$runtimeCompat2=_ref3$runtimeCompat===void 0?{}:_ref3$runtimeCompat,_ref3$runtimeCompat2$=_ref3$runtimeCompat2.useBabelRuntime,useBabelRuntime=_ref3$runtimeCompat2$===void 0?false:_ref3$runtimeCompat2$,_ref3$runtimeCompat2$2=_ref3$runtimeCompat2.ext,ext=_ref3$runtimeCompat2$2===void 0?".js":_ref3$runtimeCompat2$2;var isWebpack=babel.caller(function(caller){return(caller==null?void 0:caller.name)==="babel-loader";});var resolve=createMetaResolver({global:_builtInDefinitions.BuiltIns,"static":_builtInDefinitions.StaticProperties,instance:_builtInDefinitions.InstanceProperties});var available=new Set((0,_getModulesListForTargetVersion["default"])(version));function getCoreJSPureBase(useProposalBase){return useBabelRuntime?useProposalBase?_utils.BABEL_RUNTIME+"/core-js":_utils.BABEL_RUNTIME+"/core-js-stable":useProposalBase?"core-js-pure/features":"core-js-pure/stable";}function maybeInjectGlobalImpl(name,utils){if(shouldInjectPolyfill(name)){debug(name);utils.injectGlobalImport((0,_utils.coreJSModule)(name),name);return true;}return false;}function maybeInjectGlobal(names,utils,fallback){if(fallback===void 0){fallback=true;}for(var _iterator=_createForOfIteratorHelperLoose(names),_step;!(_step=_iterator()).done;){var name=_step.value;if(fallback){esnextFallback(name,function(name){return maybeInjectGlobalImpl(name,utils);});}else{maybeInjectGlobalImpl(name,utils);}}}function maybeInjectPure(desc,hint,utils,object){if(desc.pure&&!(object&&desc.exclude&&desc.exclude.includes(object))&&esnextFallback(desc.name,shouldInjectPolyfill)){var name=desc.name;var useProposalBase=false;if(proposals||shippedProposals&&name.startsWith("esnext.")){useProposalBase=true;}else if(name.startsWith("es.")&&!available.has(name)){useProposalBase=true;}if(useBabelRuntime&&!(useProposalBase?BabelRuntimePaths.proposals:BabelRuntimePaths.stable).has(desc.pure)){return;}var coreJSPureBase=getCoreJSPureBase(useProposalBase);return utils.injectDefaultImport(coreJSPureBase+"/"+desc.pure+ext,hint);}}function isFeatureStable(name){if(name.startsWith("esnext.")){var esName="es."+name.slice(7);return esName in _data["default"];}return true;}return{name:"corejs3",runtimeName:noRuntimeName?null:_utils.BABEL_RUNTIME,polyfills:_data["default"],filterPolyfills:function filterPolyfills(name){if(!available.has(name))return false;if(proposals||method==="entry-global")return true;if(shippedProposals&&_shippedProposals["default"].has(name)){return true;}return isFeatureStable(name);},entryGlobal:function entryGlobal(meta,utils,path){if(meta.kind!=="import")return;var modules=(0,_utils.isCoreJSSource)(meta.source);if(!modules)return;if(modules.length===1&&meta.source===(0,_utils.coreJSModule)(modules[0])&&shouldInjectPolyfill(modules[0])){debug(null);return;}var modulesSet=new Set(modules);var filteredModules=modules.filter(function(module){if(!module.startsWith("esnext."))return true;var stable=module.replace("esnext.","es.");if(modulesSet.has(stable)&&shouldInjectPolyfill(stable)){return false;}return true;});maybeInjectGlobal(filteredModules,utils,false);path.remove();},usageGlobal:function usageGlobal(meta,utils,path){var resolved=resolve(meta);if(!resolved)return;if((0,_usageFilters["default"])(resolved.desc,path))return;var deps=resolved.desc.global;if(resolved.kind!=="global"&&"object"in meta&&meta.object&&meta.placement==="prototype"){var low=meta.object.toLowerCase();deps=deps.filter(function(m){return uniqueObjects.some(function(v){return v.test(m);})?m.includes(low):true;});}maybeInjectGlobal(deps,utils);return true;},usagePure:function usagePure(meta,utils,path){if(meta.kind==="in"){if(meta.key==="Symbol.iterator"){path.replaceWith(t.callExpression(utils.injectDefaultImport((0,_utils.coreJSPureHelper)("is-iterable",useBabelRuntime,ext),"isIterable"),[path.node.right]));}return;}if(path.parentPath.isUnaryExpression({operator:"delete"}))return;if(meta.kind==="property"){if(!path.isMemberExpression())return;if(!path.isReferenced())return;if(path.parentPath.isUpdateExpression())return;if(t.isSuper(path.node.object)){return;}if(meta.key==="Symbol.iterator"){if(!shouldInjectPolyfill("es.symbol.iterator"))return;var parent=path.parent,node=path.node;if(t.isCallExpression(parent,{callee:node})){if(parent.arguments.length===0){path.parentPath.replaceWith(t.callExpression(utils.injectDefaultImport((0,_utils.coreJSPureHelper)("get-iterator",useBabelRuntime,ext),"getIterator"),[node.object]));path.skip();}else{(0,_utils.callMethod)(path,utils.injectDefaultImport((0,_utils.coreJSPureHelper)("get-iterator-method",useBabelRuntime,ext),"getIteratorMethod"));}}else{path.replaceWith(t.callExpression(utils.injectDefaultImport((0,_utils.coreJSPureHelper)("get-iterator-method",useBabelRuntime,ext),"getIteratorMethod"),[path.node.object]));}return;}}var resolved=resolve(meta);if(!resolved)return;if((0,_usageFilters["default"])(resolved.desc,path))return;if(useBabelRuntime&&resolved.desc.pure&&resolved.desc.pure.slice(-6)==="/index"){resolved=_extends({},resolved,{desc:_extends({},resolved.desc,{pure:resolved.desc.pure.slice(0,-6)})});}if(resolved.kind==="global"){var id=maybeInjectPure(resolved.desc,resolved.name,utils);if(id)path.replaceWith(id);}else if(resolved.kind==="static"){var _id=maybeInjectPure(resolved.desc,resolved.name,utils,meta.object);if(_id)path.replaceWith(_id);}else if(resolved.kind==="instance"){var _id2=maybeInjectPure(resolved.desc,resolved.name+"InstanceProperty",utils,meta.object);if(!_id2)return;var _node=path.node;if(t.isCallExpression(path.parent,{callee:_node})){(0,_utils.callMethod)(path,_id2);}else{path.replaceWith(t.callExpression(_id2,[_node.object]));}}},visitor:method==="usage-global"&&{CallExpression:function CallExpression(path){if(path.get("callee").isImport()){var utils=getUtils(path);if(isWebpack){maybeInjectGlobal(_builtInDefinitions.PromiseDependenciesWithIterators,utils);}else{maybeInjectGlobal(_builtInDefinitions.PromiseDependencies,utils);}}},Function:function Function(path){if(path.node.async){maybeInjectGlobal(_builtInDefinitions.PromiseDependencies,getUtils(path));}},"ForOfStatement|ArrayPattern":function ForOfStatementArrayPattern(path){maybeInjectGlobal(_builtInDefinitions.CommonIterators,getUtils(path));},SpreadElement:function SpreadElement(path){if(!path.parentPath.isObjectExpression()){maybeInjectGlobal(_builtInDefinitions.CommonIterators,getUtils(path));}},YieldExpression:function YieldExpression(path){if(path.node.delegate){maybeInjectGlobal(_builtInDefinitions.CommonIterators,getUtils(path));}},Class:function Class(path){var _path$node$decorators;var hasDecorators=((_path$node$decorators=path.node.decorators)==null?void 0:_path$node$decorators.length)||path.node.body.body.some(function(el){var _decorators;return(_decorators=el.decorators)==null?void 0:_decorators.length;});if(hasDecorators){maybeInjectGlobal(_builtInDefinitions.DecoratorMetadataDependencies,getUtils(path));}}}};});lib$4["default"]=_default;return lib$4;}var lib$3={};var hasRequiredLib$3;function requireLib$3(){if(hasRequiredLib$3)return lib$3;hasRequiredLib$3=1;lib$3.__esModule=true;lib$3["default"]=void 0;var _helperDefinePolyfillProvider=_interopRequireDefault(requireLib$6());function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj};}var runtimeCompat="#__secret_key__@babel/runtime__compatibility";var _default=(0,_helperDefinePolyfillProvider["default"])(function(_ref2,options){var debug=_ref2.debug,targets=_ref2.targets,babel=_ref2.babel;if(!shallowEqual(targets,babel.targets())){throw new Error("This plugin does not use the targets option. Only preset-env's targets"+" or top-level targets need to be configured for this plugin to work."+" See https://github.com/babel/babel-polyfills/issues/36 for more"+" details.");}var _options$runtimeCompa=options[runtimeCompat],_options$runtimeCompa2=_options$runtimeCompa===void 0?{}:_options$runtimeCompa,_options$runtimeCompa3=_options$runtimeCompa2.moduleName,moduleName=_options$runtimeCompa3===void 0?null:_options$runtimeCompa3,_options$runtimeCompa4=_options$runtimeCompa2.useBabelRuntime,useBabelRuntime=_options$runtimeCompa4===void 0?false:_options$runtimeCompa4;return{name:"regenerator",polyfills:["regenerator-runtime"],usageGlobal:function usageGlobal(meta,utils){if(isRegenerator(meta)){debug("regenerator-runtime");utils.injectGlobalImport("regenerator-runtime/runtime.js");}},usagePure:function usagePure(meta,utils,path){if(isRegenerator(meta)){var pureName="regenerator-runtime";if(useBabelRuntime){var _ref;var runtimeName=(_ref=moduleName!=null?moduleName:path.hub.file.get("runtimeHelpersModuleName"))!=null?_ref:"@babel/runtime";pureName=runtimeName+"/regenerator";}path.replaceWith(utils.injectDefaultImport(pureName,"regenerator-runtime"));}}};});lib$3["default"]=_default;var isRegenerator=function isRegenerator(meta){return meta.kind==="global"&&meta.name==="regeneratorRuntime";};function shallowEqual(obj1,obj2){return JSON.stringify(obj1)===JSON.stringify(obj2);}return lib$3;}var babelPluginPolyfillRegenerator$1;var hasRequiredBabelPluginPolyfillRegenerator$1;function requireBabelPluginPolyfillRegenerator$1(){if(hasRequiredBabelPluginPolyfillRegenerator$1)return babelPluginPolyfillRegenerator$1;hasRequiredBabelPluginPolyfillRegenerator$1=1;function bool(value){if(value==null)return false;return value&&value!=="false"&&value!=="0";}babelPluginPolyfillRegenerator$1=bool(browser$1$1.env["BABEL_8_BREAKING"])?null:requireLib$3();return babelPluginPolyfillRegenerator$1;}var polyfills;var hasRequiredPolyfills;function requirePolyfills(){if(hasRequiredPolyfills)return polyfills;hasRequiredPolyfills=1;var pluginCorejs2=requireBabelPluginPolyfillCorejs2$1()["default"];var pluginCorejs3=requireLib$4()["default"];var pluginRegenerator=requireBabelPluginPolyfillRegenerator$1()["default"];var pluginsCompat="#__secret_key__@babel/runtime__compatibility";function createCorejs2Plugin(options){return function(api,_,filename){return pluginCorejs2(api,options,filename);};}function createCorejs3Plugin(options){return function(api,_,filename){return pluginCorejs3(api,options,filename);};}function createRegeneratorPlugin(options,useRuntimeRegenerator,corejsPlugin){if(!useRuntimeRegenerator)return corejsPlugin!=null?corejsPlugin:undefined;return function(api,_,filename){return Object.assign({},pluginRegenerator(api,options,filename),{inherits:corejsPlugin!=null?corejsPlugin:undefined});};}polyfills=function createBasePolyfillsPlugin(_ref,runtimeVersion,absoluteImports){var _polyfillOpts;var corejs=_ref.corejs,_ref$regenerator=_ref.regenerator,regenerator=_ref$regenerator===void 0?true:_ref$regenerator,moduleName=_ref.moduleName;var proposals=false;var rawVersion;if(_typeof(corejs)==="object"&&corejs!==null){rawVersion=corejs.version;proposals=Boolean(corejs.proposals);}else{rawVersion=corejs;}var corejsVersion=rawVersion?Number(rawVersion):false;if(![false,2,3].includes(corejsVersion)){throw new Error("The `core-js` version must be false, 2 or 3, but got "+JSON.stringify(rawVersion)+".");}if(proposals&&(!corejsVersion||corejsVersion<3)){throw new Error("The 'proposals' option is only supported when using 'corejs: 3'");}if(typeof regenerator!=="boolean"){throw new Error("The 'regenerator' option must be undefined, or a boolean.");}var polyfillOpts=(_polyfillOpts={method:"usage-pure",absoluteImports:absoluteImports,proposals:proposals},_polyfillOpts[pluginsCompat]={useBabelRuntime:true,runtimeVersion:runtimeVersion,ext:"",moduleName:moduleName},_polyfillOpts);return createRegeneratorPlugin(polyfillOpts,regenerator,corejsVersion===2?createCorejs2Plugin(polyfillOpts):corejsVersion===3?createCorejs3Plugin(polyfillOpts):null);};return polyfills;}(function(exports){Object.defineProperty(exports,"createPolyfillPlugins",{get:function get(){return requirePolyfills();}});})(babel7);var transformRuntime=declare(function(api,options,dirname){api.assertVersion("*");var _options$version=options.version,runtimeVersion=_options$version===void 0?"7.0.0-beta.0":_options$version,_options$absoluteRunt=options.absoluteRuntime,absoluteRuntime=_options$absoluteRunt===void 0?false:_options$absoluteRunt,_options$moduleName=options.moduleName,moduleName=_options$moduleName===void 0?null:_options$moduleName;if(typeof absoluteRuntime!=="boolean"&&typeof absoluteRuntime!=="string"){throw new Error("The 'absoluteRuntime' option must be undefined, a boolean, or a string.");}if(typeof runtimeVersion!=="string"){throw new Error("The 'version' option must be a version string.");}if(moduleName!==null&&typeof moduleName!=="string"){throw new Error("The 'moduleName' option must be null or a string.");}{var DUAL_MODE_RUNTIME="7.13.0";var supportsCJSDefault=hasMinVersion(DUAL_MODE_RUNTIME,runtimeVersion);}if(hasOwnProperty.call(options,"useBuiltIns")){if(options["useBuiltIns"]){throw new Error("The 'useBuiltIns' option has been removed. The @babel/runtime "+"module now uses builtins by default.");}else{throw new Error("The 'useBuiltIns' option has been removed. Use the 'corejs'"+"option to polyfill with `core-js` via @babel/runtime.");}}if(hasOwnProperty.call(options,"polyfill")){if(options["polyfill"]===false){throw new Error("The 'polyfill' option has been removed. The @babel/runtime "+"module now skips polyfilling by default.");}else{throw new Error("The 'polyfill' option has been removed. Use the 'corejs'"+"option to polyfill with `core-js` via @babel/runtime.");}}{var _options$useESModules=options.useESModules,useESModules=_options$useESModules===void 0?false:_options$useESModules;if(typeof useESModules!=="boolean"&&useESModules!=="auto"){throw new Error("The 'useESModules' option must be undefined, or a boolean, or 'auto'.");}var esModules=useESModules==="auto"?api.caller(function(caller){return!!(caller!=null&&caller.supportsStaticESM);}):useESModules;}{var _options$helpers=options.helpers,useRuntimeHelpers=_options$helpers===void 0?true:_options$helpers;if(typeof useRuntimeHelpers!=="boolean"){throw new Error("The 'helpers' option must be undefined, or a boolean.");}}var HEADER_HELPERS=new Set(["interopRequireWildcard","interopRequireDefault"]);return{name:"transform-runtime",inherits:babel7.createPolyfillPlugins(options,runtimeVersion,absoluteRuntime),pre:function pre(file){if(!useRuntimeHelpers)return;var modulePath;file.set("helperGenerator",function(name){var _modulePath,_ref;(_modulePath=modulePath)!=null?_modulePath:modulePath=getRuntimePath((_ref=moduleName!=null?moduleName:file.get("runtimeHelpersModuleName"))!=null?_ref:"@babel/runtime",dirname,absoluteRuntime);{if(!(file.availableHelper!=null&&file.availableHelper(name,runtimeVersion))){if(name==="regeneratorRuntime"){return arrowFunctionExpression$4([],identifier$j("regeneratorRuntime"));}return;}}var blockHoist=HEADER_HELPERS.has(name)&&!isModule(file.path)?4:undefined;var helperPath=modulePath+"/helpers/"+(esModules&&file.path.node.sourceType==="module"?"esm/"+name:name);if(absoluteRuntime)helperPath=resolveFSPath();return addDefaultImport(helperPath,name,blockHoist,true);});var cache=new Map();function addDefaultImport(source,nameHint,blockHoist,isHelper){if(isHelper===void 0){isHelper=false;}var cacheKey=isModule(file.path);var key=source+":"+nameHint+":"+(cacheKey||"");var cached=cache.get(key);if(cached){cached=cloneNode$j(cached);}else{cached=addDefault(file.path,source,{importedInterop:isHelper&&supportsCJSDefault?"compiled":"uncompiled",nameHint:nameHint,blockHoist:blockHoist});cache.set(key,cached);}return cached;}}};});var _transformShorthandProperties=declare(function(api){api.assertVersion("*");return{name:"transform-shorthand-properties",visitor:{ObjectMethod:function ObjectMethod(path){var node=path.node;if(node.kind==="method"){var func=functionExpression$2(null,node.params,node.body,node.generator,node.async);func.returnType=node.returnType;var computedKey=toComputedKey$2(node);if(isStringLiteral$5(computedKey,{value:"__proto__"})){path.replaceWith(objectProperty$1(computedKey,func,true));}else{path.replaceWith(objectProperty$1(node.key,func,node.computed));}}},ObjectProperty:function ObjectProperty(path){var node=path.node;if(node.shorthand){var computedKey=toComputedKey$2(node);if(isStringLiteral$5(computedKey,{value:"__proto__"})){path.replaceWith(objectProperty$1(computedKey,node.value,true));}else{node.shorthand=false;}}}}};});var _transformSpread=declare(function(api,options){var _api$assumption,_options$allowArrayLi;api.assertVersion("*");var iterableIsArray=(_api$assumption=api.assumption("iterableIsArray"))!=null?_api$assumption:options.loose;var arrayLikeIsIterable=(_options$allowArrayLi=options.allowArrayLike)!=null?_options$allowArrayLi:api.assumption("arrayLikeIsIterable");function getSpreadLiteral(spread,scope){if(iterableIsArray&&!isIdentifier$j(spread.argument,{name:"arguments"})){return spread.argument;}else{return scope.toArray(spread.argument,true,arrayLikeIsIterable);}}function hasHole(spread){return spread.elements.some(function(el){return el===null;});}function hasSpread(nodes){for(var i=0;i<nodes.length;i++){if(isSpreadElement$1(nodes[i])){return true;}}return false;}function push(_props,nodes){if(!_props.length)return _props;nodes.push(arrayExpression$1(_props));return[];}function build(props,scope,file){var nodes=[];var _props=[];for(var _iterator=_createForOfIteratorHelperLoose(props),_step;!(_step=_iterator()).done;){var prop=_step.value;if(isSpreadElement$1(prop)){_props=push(_props,nodes);var spreadLiteral=getSpreadLiteral(prop,scope);if(isArrayExpression$2(spreadLiteral)&&hasHole(spreadLiteral)){spreadLiteral=callExpression$d(file.addHelper("arrayWithoutHoles"),[spreadLiteral]);}nodes.push(spreadLiteral);}else{_props.push(prop);}}push(_props,nodes);return nodes;}return{name:"transform-spread",visitor:{ArrayExpression:function ArrayExpression(path){var node=path.node,scope=path.scope;var elements=node.elements;if(!hasSpread(elements))return;var nodes=build(elements,scope,this.file);var first=nodes[0];if(nodes.length===1&&first!==elements[0].argument){path.replaceWith(first);return;}if(!isArrayExpression$2(first)){first=arrayExpression$1([]);}else{nodes.shift();}path.replaceWith(callExpression$d(memberExpression$c(first,identifier$j("concat")),nodes));},CallExpression:function CallExpression(path){var node=path.node,scope=path.scope;var args=node.arguments;if(!hasSpread(args))return;var calleePath=skipTransparentExprWrappers(path.get("callee"));if(calleePath.isSuper()){throw path.buildCodeFrameError("It's not possible to compile spread arguments in `super()` without compiling classes.\n"+"Please add '@babel/plugin-transform-classes' to your Babel configuration.");}var contextLiteral=scope.buildUndefinedNode();node.arguments=[];var nodes;if(args.length===1&&isIdentifier$j(args[0].argument,{name:"arguments"})){nodes=[args[0].argument];}else{nodes=build(args,scope,this.file);}var first=nodes.shift();if(nodes.length){node.arguments.push(callExpression$d(memberExpression$c(first,identifier$j("concat")),nodes));}else{node.arguments.push(first);}var callee=calleePath.node;if(isMemberExpression$9(callee)){var temp=scope.maybeGenerateMemoised(callee.object);if(temp){callee.object=assignmentExpression$d("=",temp,callee.object);contextLiteral=temp;}else{contextLiteral=cloneNode$j(callee.object);}}node.callee=memberExpression$c(node.callee,identifier$j("apply"));if(isSuper$3(contextLiteral)){contextLiteral=thisExpression$4();}node.arguments.unshift(cloneNode$j(contextLiteral));},NewExpression:function NewExpression(path){var node=path.node,scope=path.scope;if(!hasSpread(node.arguments))return;var nodes=build(node.arguments,scope,this.file);var first=nodes.shift();var args;if(nodes.length){args=callExpression$d(memberExpression$c(first,identifier$j("concat")),nodes);}else{args=first;}path.replaceWith(callExpression$d(path.hub.addHelper("construct"),[node.callee,args]));}}};});var _transformStickyRegex=declare(function(api){api.assertVersion("*");return{name:"transform-sticky-regex",visitor:{RegExpLiteral:function RegExpLiteral(path){var node=path.node;if(!node.flags.includes("y"))return;path.replaceWith(newExpression(identifier$j("RegExp"),[stringLiteral$8(node.pattern),stringLiteral$8(node.flags)]));}}};});var transformStrictMode=declare(function(api){api.assertVersion("*");return{name:"transform-strict-mode",visitor:{Program:function Program(path){var node=path.node;for(var _iterator=_createForOfIteratorHelperLoose(node.directives),_step;!(_step=_iterator()).done;){var directive=_step.value;if(directive.value.value==="use strict")return;}path.unshiftContainer("directives",directive$1(directiveLiteral$1("use strict")));}}};});var _templateObject$9;var _transformTemplateLiterals=declare(function(api,options){var _api$assumption,_api$assumption2;api.assertVersion("*");var ignoreToPrimitiveHint=(_api$assumption=api.assumption("ignoreToPrimitiveHint"))!=null?_api$assumption:options.loose;var mutableTemplateObject=(_api$assumption2=api.assumption("mutableTemplateObject"))!=null?_api$assumption2:options.loose;var helperName="taggedTemplateLiteral";if(mutableTemplateObject)helperName+="Loose";function buildConcatCallExpressions(items){var avail=true;return items.reduce(function(left,right){var canBeInserted=isLiteral$6(right);if(!canBeInserted&&avail){canBeInserted=true;avail=false;}if(canBeInserted&&isCallExpression$8(left)){left.arguments.push(right);return left;}return callExpression$d(memberExpression$c(left,identifier$j("concat")),[right]);});}return{name:"transform-template-literals",visitor:{TaggedTemplateExpression:function TaggedTemplateExpression(path){var node=path.node;var quasi=node.quasi;var strings=[];var raws=[];var isStringsRawEqual=true;for(var _iterator=_createForOfIteratorHelperLoose(quasi.quasis),_step;!(_step=_iterator()).done;){var elem=_step.value;var _elem$value=elem.value,raw=_elem$value.raw,cooked=_elem$value.cooked;var value=cooked==null?path.scope.buildUndefinedNode():stringLiteral$8(cooked);strings.push(value);raws.push(stringLiteral$8(raw));if(raw!==cooked){isStringsRawEqual=false;}}var helperArgs=[arrayExpression$1(strings)];if(!isStringsRawEqual){helperArgs.push(arrayExpression$1(raws));}var tmp=path.scope.generateUidIdentifier("templateObject");path.scope.getProgramParent().push({id:cloneNode$j(tmp)});path.replaceWith(callExpression$d(node.tag,[template$1.expression.ast(_templateObject$9||(_templateObject$9=_taggedTemplateLiteralLoose(["\n              "," || (\n                "," = ","(",")\n              )\n            "])),cloneNode$j(tmp),tmp,this.addHelper(helperName),helperArgs)].concat(_toConsumableArray(quasi.expressions))));},TemplateLiteral:function TemplateLiteral(path){if(path.parent.type==="TSLiteralType"){return;}var nodes=[];var expressions=path.get("expressions");var index=0;for(var _iterator2=_createForOfIteratorHelperLoose(path.node.quasis),_step2;!(_step2=_iterator2()).done;){var elem=_step2.value;if(elem.value.cooked){nodes.push(stringLiteral$8(elem.value.cooked));}if(index<expressions.length){var expr=expressions[index++];var node=expr.node;if(!isStringLiteral$5(node,{value:""})){nodes.push(node);}}}if(!isStringLiteral$5(nodes[0])&&!(ignoreToPrimitiveHint&&isStringLiteral$5(nodes[1]))){nodes.unshift(stringLiteral$8(""));}var root=nodes[0];if(ignoreToPrimitiveHint){for(var i=1;i<nodes.length;i++){root=binaryExpression$5("+",root,nodes[i]);}}else if(nodes.length>1){root=buildConcatCallExpressions(nodes);}path.replaceWith(root);}}};});var _transformTypeofSymbol=declare(function(api){api.assertVersion("*");return{name:"transform-typeof-symbol",visitor:{Scope:function Scope(_ref){var scope=_ref.scope;if(!scope.getBinding("Symbol")){return;}scope.rename("Symbol");},UnaryExpression:function UnaryExpression(path){var node=path.node,parent=path.parent;if(node.operator!=="typeof")return;if(path.parentPath.isBinaryExpression()&&EQUALITY_BINARY_OPERATORS.indexOf(parent.operator)>=0){var opposite=path.getOpposite();if(opposite.isStringLiteral()&&opposite.node.value!=="symbol"&&opposite.node.value!=="object"){return;}}var isUnderHelper=path.findParent(function(path){if(path.isFunction()){var _path$get;return((_path$get=path.get("body.directives.0"))==null?void 0:_path$get.node.value.value)==="@babel/helpers - typeof";}});if(isUnderHelper)return;var helper=this.addHelper("typeof");isUnderHelper=path.findParent(function(path){return path.isVariableDeclarator()&&path.node.id===helper||path.isFunctionDeclaration()&&path.node.id&&path.node.id.name===helper.name;});if(isUnderHelper){return;}var call=callExpression$d(helper,[node.argument]);var arg=path.get("argument");if(arg.isIdentifier()&&!path.scope.hasBinding(arg.node.name,true)){var unary=unaryExpression$6("typeof",cloneNode$j(node.argument));path.replaceWith(conditionalExpression$5(binaryExpression$5("===",unary,stringLiteral$8("undefined")),stringLiteral$8("undefined"),call));}else{path.replaceWith(call);}}}};});var ENUMS=new WeakMap();var buildEnumWrapper=template$1.expression("\n    (function (ID) {\n      ASSIGNMENTS;\n      return ID;\n    })(INIT)\n  ");function transpileEnum(path,t){var node=path.node,parentPath=path.parentPath;if(node.declare){path.remove();return;}var name=node.id.name;var _enumFill=enumFill(path,t,node.id),fill=_enumFill.fill,data=_enumFill.data,isPure=_enumFill.isPure;switch(parentPath.type){case"BlockStatement":case"ExportNamedDeclaration":case"Program":{var isGlobal=t.isProgram(path.parent);var isSeen=seen(parentPath);var init=t.objectExpression([]);if(isSeen||isGlobal){init=t.logicalExpression("||",t.cloneNode(fill.ID),init);}var enumIIFE=buildEnumWrapper(Object.assign({},fill,{INIT:init}));if(isPure)annotateAsPure(enumIIFE);if(isSeen){var toReplace=parentPath.isExportDeclaration()?parentPath:path;toReplace.replaceWith(t.expressionStatement(t.assignmentExpression("=",t.cloneNode(node.id),enumIIFE)));}else{path.scope.registerDeclaration(path.replaceWith(t.variableDeclaration(isGlobal?"var":"let",[t.variableDeclarator(node.id,enumIIFE)]))[0]);}ENUMS.set(path.scope.getBindingIdentifier(name),data);break;}default:throw new Error("Unexpected enum parent '"+path.parent.type);}function seen(parentPath){if(parentPath.isExportDeclaration()){return seen(parentPath.parentPath);}if(parentPath.getData(name)){return true;}else{parentPath.setData(name,true);return false;}}}var buildStringAssignment=template$1("\n  ENUM[\"NAME\"] = VALUE;\n");var buildNumericAssignment=template$1("\n  ENUM[ENUM[\"NAME\"] = VALUE] = \"NAME\";\n");var buildEnumMember=function buildEnumMember(isString,options){return(isString?buildStringAssignment:buildNumericAssignment)(options);};function enumFill(path,t,id){var _translateEnumValues=translateEnumValues(path,t),x=_translateEnumValues.enumValues,data=_translateEnumValues.data,isPure=_translateEnumValues.isPure;var assignments=x.map(function(_ref){var _ref2=_slicedToArray(_ref,2),memberName=_ref2[0],memberValue=_ref2[1];return buildEnumMember(t.isStringLiteral(memberValue),{ENUM:t.cloneNode(id),NAME:memberName,VALUE:memberValue});});return{fill:{ID:t.cloneNode(id),ASSIGNMENTS:assignments},data:data,isPure:isPure};}function ReferencedIdentifier(expr,state){var seen=state.seen,path=state.path,t=state.t;var name=expr.node.name;if(seen.has(name)&&!expr.scope.hasOwnBinding(name)){expr.replaceWith(t.memberExpression(t.cloneNode(path.node.id),t.cloneNode(expr.node)));expr.skip();}}var enumSelfReferenceVisitor={ReferencedIdentifier:ReferencedIdentifier};function translateEnumValues(path,t){var _ENUMS$get;var bindingIdentifier=path.scope.getBindingIdentifier(path.node.id.name);var seen=(_ENUMS$get=ENUMS.get(bindingIdentifier))!=null?_ENUMS$get:new Map();var constValue=-1;var lastName;var isPure=true;var enumValues=path.get("members").map(function(memberPath){var member=memberPath.node;var name=t.isIdentifier(member.id)?member.id.name:member.id.value;var initializerPath=memberPath.get("initializer");var initializer=member.initializer;var value;if(initializer){constValue=computeConstantValue(initializerPath,seen);if(constValue!==undefined){seen.set(name,constValue);assert(typeof constValue==="number"||typeof constValue==="string");if(constValue===Infinity||Number.isNaN(constValue)){value=t.identifier(String(constValue));}else if(constValue===-Infinity){value=t.unaryExpression("-",t.identifier("Infinity"));}else{value=t.valueToNode(constValue);}}else{isPure&&(isPure=initializerPath.isPure());if(initializerPath.isReferencedIdentifier()){ReferencedIdentifier(initializerPath,{t:t,seen:seen,path:path});}else{initializerPath.traverse(enumSelfReferenceVisitor,{t:t,seen:seen,path:path});}value=initializerPath.node;seen.set(name,undefined);}}else if(typeof constValue==="number"){constValue+=1;value=t.numericLiteral(constValue);seen.set(name,constValue);}else if(typeof constValue==="string"){throw path.buildCodeFrameError("Enum member must have initializer.");}else{var lastRef=t.memberExpression(t.cloneNode(path.node.id),t.stringLiteral(lastName),true);value=t.binaryExpression("+",t.numericLiteral(1),lastRef);seen.set(name,undefined);}lastName=name;return[name,value];});return{isPure:isPure,data:seen,enumValues:enumValues};}function computeConstantValue(path,prevMembers,seen){if(seen===void 0){seen=new Set();}return evaluate(path);function evaluate(path){var expr=path.node;switch(expr.type){case"MemberExpression":return evaluateRef(path,prevMembers,seen);case"StringLiteral":return expr.value;case"UnaryExpression":return evalUnaryExpression(path);case"BinaryExpression":return evalBinaryExpression(path);case"NumericLiteral":return expr.value;case"ParenthesizedExpression":return evaluate(path.get("expression"));case"Identifier":return evaluateRef(path,prevMembers,seen);case"TemplateLiteral":{if(expr.quasis.length===1){return expr.quasis[0].value.cooked;}var paths=path.get("expressions");var quasis=expr.quasis;var str="";for(var i=0;i<quasis.length;i++){str+=quasis[i].value.cooked;if(i+1<quasis.length){var _value=evaluateRef(paths[i],prevMembers,seen);if(_value===undefined)return undefined;str+=_value;}}return str;}default:return undefined;}}function evaluateRef(path,prevMembers,seen){if(path.isMemberExpression()){var expr=path.node;var obj=expr.object;var prop=expr.property;if(!isIdentifier$j(obj)||(expr.computed?!isStringLiteral$5(prop):!isIdentifier$j(prop))){return;}var bindingIdentifier=path.scope.getBindingIdentifier(obj.name);var data=ENUMS.get(bindingIdentifier);if(!data)return;return data.get(prop.computed?prop.value:prop.name);}else if(path.isIdentifier()){var _name=path.node.name;if(["Infinity","NaN"].includes(_name)){return Number(_name);}var _value2=prevMembers==null?void 0:prevMembers.get(_name);if(_value2!==undefined){return _value2;}if(seen.has(path.node))return;seen.add(path.node);_value2=computeConstantValue(path.resolve(),prevMembers,seen);prevMembers==null||prevMembers.set(_name,_value2);return _value2;}}function evalUnaryExpression(path){var value=evaluate(path.get("argument"));if(value===undefined){return undefined;}switch(path.node.operator){case"+":return value;case"-":return-value;case"~":return~value;default:return undefined;}}function evalBinaryExpression(path){var left=evaluate(path.get("left"));if(left===undefined){return undefined;}var right=evaluate(path.get("right"));if(right===undefined){return undefined;}switch(path.node.operator){case"|":return left|right;case"&":return left&right;case">>":return left>>right;case">>>":return left>>>right;case"<<":return left<<right;case"^":return left^right;case"*":return left*right;case"/":return left/right;case"+":return left+right;case"-":return left-right;case"%":return left%right;case"**":return Math.pow(left,right);default:return undefined;}}}function transpileConstEnum(path,t){var name=path.node.id.name;var parentIsExport=path.parentPath.isExportNamedDeclaration();var isExported=parentIsExport;if(!isExported&&t.isProgram(path.parent)){isExported=path.parent.body.some(function(stmt){return t.isExportNamedDeclaration(stmt)&&stmt.exportKind!=="type"&&!stmt.source&&stmt.specifiers.some(function(spec){return t.isExportSpecifier(spec)&&spec.exportKind!=="type"&&spec.local.name===name;});});}var _translateEnumValues=translateEnumValues(path,t),entries=_translateEnumValues.enumValues;if(isExported){var obj=t.objectExpression(entries.map(function(_ref){var _ref2=_slicedToArray(_ref,2),name=_ref2[0],value=_ref2[1];return t.objectProperty(t.isValidIdentifier(name)?t.identifier(name):t.stringLiteral(name),value);}));if(path.scope.hasOwnBinding(name)){(parentIsExport?path.parentPath:path).replaceWith(t.expressionStatement(t.callExpression(t.memberExpression(t.identifier("Object"),t.identifier("assign")),[path.node.id,obj])));}else{path.replaceWith(t.variableDeclaration("var",[t.variableDeclarator(path.node.id,obj)]));path.scope.registerDeclaration(path);}return;}var entriesMap=new Map(entries);path.scope.path.traverse({Scope:function Scope(path){if(path.scope.hasOwnBinding(name))path.skip();},MemberExpression:function MemberExpression(path){if(!t.isIdentifier(path.node.object,{name:name}))return;var key;if(path.node.computed){if(t.isStringLiteral(path.node.property)){key=path.node.property.value;}else{return;}}else if(t.isIdentifier(path.node.property)){key=path.node.property.name;}else{return;}if(!entriesMap.has(key))return;path.replaceWith(t.cloneNode(entriesMap.get(key)));}});path.remove();}var GLOBAL_TYPES=new WeakMap();function isGlobalType(_ref,name){var scope=_ref.scope;if(scope.hasBinding(name))return false;if(GLOBAL_TYPES.get(scope).has(name))return true;console.warn("The exported identifier \""+name+"\" is not declared in Babel's scope tracker\n"+"as a JavaScript value binding, and \"@babel/plugin-transform-typescript\"\n"+"never encountered it as a TypeScript type declaration.\n"+"It will be treated as a JavaScript value.\n\n"+"This problem is likely caused by another plugin injecting\n"+("\""+name+"\" without registering it in the scope tracker. If you are the author\n")+" of that plugin, please use \"scope.registerDeclaration(declarationPath)\".");return false;}function registerGlobalType(programScope,name){GLOBAL_TYPES.get(programScope).add(name);}var _templateObject$8,_templateObject2$8;function transpileNamespace(path,allowNamespaces){if(path.node.declare||path.node.id.type==="StringLiteral"){path.remove();return;}if(!allowNamespaces){throw path.get("id").buildCodeFrameError("Namespace not marked type-only declare."+" Non-declarative namespaces are only supported experimentally in Babel."+" To enable and review caveats see:"+" https://babeljs.io/docs/en/babel-plugin-transform-typescript");}var name=path.node.id.name;var value=handleNested(path,cloneNode$j(path.node,true));if(value===null){var program=path.findParent(function(p){return p.isProgram();});registerGlobalType(program.scope,name);path.remove();}else if(path.scope.hasOwnBinding(name)){path.replaceWith(value);}else{path.scope.registerDeclaration(path.replaceWithMultiple([getDeclaration(name),value])[0]);}}function getDeclaration(name){return variableDeclaration$8("let",[variableDeclarator$8(identifier$j(name))]);}function getMemberExpression(name,itemName){return memberExpression$c(identifier$j(name),identifier$j(itemName));}function handleVariableDeclaration(node,name,hub){if(node.kind!=="const"){throw hub.file.buildCodeFrameError(node,"Namespaces exporting non-const are not supported by Babel."+" Change to const or see:"+" https://babeljs.io/docs/en/babel-plugin-transform-typescript");}var declarations=node.declarations;if(declarations.every(function(declarator){return isIdentifier$j(declarator.id);})){for(var _iterator=_createForOfIteratorHelperLoose(declarations),_step;!(_step=_iterator()).done;){var declarator=_step.value;declarator.init=assignmentExpression$d("=",getMemberExpression(name,declarator.id.name),declarator.init);}return[node];}var bindingIdentifiers=getBindingIdentifiers$4(node);var assignments=[];for(var idName in bindingIdentifiers){assignments.push(assignmentExpression$d("=",getMemberExpression(name,idName),cloneNode$j(bindingIdentifiers[idName])));}return[node,expressionStatement$a(sequenceExpression$8(assignments))];}function buildNestedAmbientModuleError(path,node){return path.hub.buildError(node,"Ambient modules cannot be nested in other modules or namespaces.",Error);}function handleNested(path,node,parentExport){var names=new Set();var realName=node.id;assertIdentifier(realName);var name=path.scope.generateUid(realName.name);var namespaceTopLevel=isTSModuleBlock(node.body)?node.body.body:[exportNamedDeclaration$2(node.body)];var isEmpty=true;for(var i=0;i<namespaceTopLevel.length;i++){var subNode=namespaceTopLevel[i];switch(subNode.type){case"TSModuleDeclaration":{if(!isIdentifier$j(subNode.id)){throw buildNestedAmbientModuleError(path,subNode);}var transformed=handleNested(path,subNode);if(transformed!==null){isEmpty=false;var moduleName=subNode.id.name;if(names.has(moduleName)){namespaceTopLevel[i]=transformed;}else{names.add(moduleName);namespaceTopLevel.splice(i++,1,getDeclaration(moduleName),transformed);}}continue;}case"TSEnumDeclaration":case"FunctionDeclaration":case"ClassDeclaration":isEmpty=false;names.add(subNode.id.name);continue;case"VariableDeclaration":{isEmpty=false;for(var _name in getBindingIdentifiers$4(subNode)){names.add(_name);}continue;}default:isEmpty&&(isEmpty=isTypeScript(subNode));continue;case"ExportNamedDeclaration":}if("declare"in subNode.declaration&&subNode.declaration.declare){continue;}switch(subNode.declaration.type){case"TSEnumDeclaration":case"FunctionDeclaration":case"ClassDeclaration":{isEmpty=false;var itemName=subNode.declaration.id.name;names.add(itemName);namespaceTopLevel.splice(i++,1,subNode.declaration,expressionStatement$a(assignmentExpression$d("=",getMemberExpression(name,itemName),identifier$j(itemName))));break;}case"VariableDeclaration":{isEmpty=false;var nodes=handleVariableDeclaration(subNode.declaration,name,path.hub);namespaceTopLevel.splice.apply(namespaceTopLevel,[i,nodes.length].concat(_toConsumableArray(nodes)));i+=nodes.length-1;break;}case"TSModuleDeclaration":{if(!isIdentifier$j(subNode.declaration.id)){throw buildNestedAmbientModuleError(path,subNode.declaration);}var _transformed=handleNested(path,subNode.declaration,identifier$j(name));if(_transformed!==null){isEmpty=false;var _moduleName=subNode.declaration.id.name;if(names.has(_moduleName)){namespaceTopLevel[i]=_transformed;}else{names.add(_moduleName);namespaceTopLevel.splice(i++,1,getDeclaration(_moduleName),_transformed);}}else{namespaceTopLevel.splice(i,1);i--;}}}}if(isEmpty)return null;var fallthroughValue=objectExpression$3([]);if(parentExport){var memberExpr=memberExpression$c(parentExport,realName);fallthroughValue=template$1.expression.ast(_templateObject$8||(_templateObject$8=_taggedTemplateLiteralLoose(["\n      "," ||\n        ("," = ",")\n    "])),cloneNode$j(memberExpr),cloneNode$j(memberExpr),fallthroughValue);}return template$1.statement.ast(_templateObject2$8||(_templateObject2$8=_taggedTemplateLiteralLoose(["\n    (function (",") {\n      ","\n    })("," || ("," = ","));\n  "])),identifier$j(name),namespaceTopLevel,realName,cloneNode$j(realName),fallthroughValue);}var _templateObject$7,_templateObject2$7;function isInType(path){switch(path.parent.type){case"TSTypeReference":case"TSExpressionWithTypeArguments":case"TSTypeQuery":return true;case"TSQualifiedName":return path.parentPath.findParent(function(path){return path.type!=="TSQualifiedName";}).type!=="TSImportEqualsDeclaration";case"ExportSpecifier":return path.parent.exportKind==="type"||path.parentPath.parent.exportKind==="type";default:return false;}}var NEEDS_EXPLICIT_ESM=new WeakMap();var PARSED_PARAMS=new WeakSet();function safeRemove(path){var ids=path.getBindingIdentifiers();for(var _i=0,_Object$keys=Object.keys(ids);_i<_Object$keys.length;_i++){var name=_Object$keys[_i];var binding=path.scope.getBinding(name);if(binding&&binding.identifier===ids[name]){binding.scope.removeBinding(name);}}path.opts.noScope=true;path.remove();path.opts.noScope=false;}function assertCjsTransformEnabled(path,pass,wrong,suggestion,extra){if(extra===void 0){extra="";}if(pass.file.get("@babel/plugin-transform-modules-*")!=="commonjs"){throw path.buildCodeFrameError("`"+wrong+"` is only supported when compiling modules to CommonJS.\n"+("Please consider using `"+suggestion+"`"+extra+", or add ")+"@babel/plugin-transform-modules-commonjs to your Babel config.");}}var transformTypeScript=declare(function(api,opts){var _visitor;var t=api.types,template=api.template;api.assertVersion("*");var JSX_PRAGMA_REGEX=/\*?\s*@jsx((?:Frag)?)\s+([^\s]+)/;var _opts$allowNamespaces=opts.allowNamespaces,allowNamespaces=_opts$allowNamespaces===void 0?true:_opts$allowNamespaces,_opts$jsxPragma=opts.jsxPragma,jsxPragma=_opts$jsxPragma===void 0?"React.createElement":_opts$jsxPragma,_opts$jsxPragmaFrag=opts.jsxPragmaFrag,jsxPragmaFrag=_opts$jsxPragmaFrag===void 0?"React.Fragment":_opts$jsxPragmaFrag,_opts$onlyRemoveTypeI=opts.onlyRemoveTypeImports,onlyRemoveTypeImports=_opts$onlyRemoveTypeI===void 0?false:_opts$onlyRemoveTypeI,_opts$optimizeConstEn=opts.optimizeConstEnums,optimizeConstEnums=_opts$optimizeConstEn===void 0?false:_opts$optimizeConstEn;{var _opts$allowDeclareFie=opts.allowDeclareFields,allowDeclareFields=_opts$allowDeclareFie===void 0?false:_opts$allowDeclareFie;}var classMemberVisitors={field:function field(path){var node=path.node;{if(!allowDeclareFields&&node.declare){throw path.buildCodeFrameError("The 'declare' modifier is only allowed when the 'allowDeclareFields' option of "+"@babel/plugin-transform-typescript or @babel/preset-typescript is enabled.");}}if(node.declare){if(node.value){throw path.buildCodeFrameError("Fields with the 'declare' modifier cannot be initialized here, but only in the constructor");}if(!node.decorators){path.remove();}}else if(node.definite){if(node.value){throw path.buildCodeFrameError("Definitely assigned fields cannot be initialized here, but only in the constructor");}{if(!allowDeclareFields&&!node.decorators&&!t.isClassPrivateProperty(node)){path.remove();}}}else if(node["abstract"]){path.remove();}else{if(!allowDeclareFields&&!node.value&&!node.decorators&&!t.isClassPrivateProperty(node)){path.remove();}}if(node.accessibility)node.accessibility=null;if(node["abstract"])node["abstract"]=null;if(node.readonly)node.readonly=null;if(node.optional)node.optional=null;if(node.typeAnnotation)node.typeAnnotation=null;if(node.definite)node.definite=null;if(node.declare)node.declare=null;if(node.override)node.override=null;},method:function method(_ref){var node=_ref.node;if(node.accessibility)node.accessibility=null;if(node["abstract"])node["abstract"]=null;if(node.optional)node.optional=null;if(node.override)node.override=null;},constructor:function constructor(path,classPath){if(path.node.accessibility)path.node.accessibility=null;var assigns=[];var scope=path.scope;for(var _iterator=_createForOfIteratorHelperLoose(path.get("params")),_step;!(_step=_iterator()).done;){var paramPath=_step.value;var param=paramPath.node;if(param.type==="TSParameterProperty"){var parameter=param.parameter;if(PARSED_PARAMS.has(parameter))continue;PARSED_PARAMS.add(parameter);var id=void 0;if(t.isIdentifier(parameter)){id=parameter;}else if(t.isAssignmentPattern(parameter)&&t.isIdentifier(parameter.left)){id=parameter.left;}else{throw paramPath.buildCodeFrameError("Parameter properties can not be destructuring patterns.");}assigns.push(template.statement.ast(_templateObject$7||(_templateObject$7=_taggedTemplateLiteralLoose(["\n              this."," = ","\n            "])),t.cloneNode(id),t.cloneNode(id)));paramPath.replaceWith(paramPath.get("parameter"));scope.registerBinding("param",paramPath);}}injectInitialization(classPath,path,assigns);}};return{name:"transform-typescript",inherits:syntaxTypescript,visitor:(_visitor={Pattern:visitPattern,Identifier:visitPattern,RestElement:visitPattern,Program:{enter:function enter(path,state){var file=state.file;var fileJsxPragma=null;var fileJsxPragmaFrag=null;var programScope=path.scope;if(!GLOBAL_TYPES.has(programScope)){GLOBAL_TYPES.set(programScope,new Set());}if(file.ast.comments){for(var _iterator2=_createForOfIteratorHelperLoose(file.ast.comments),_step2;!(_step2=_iterator2()).done;){var comment=_step2.value;var jsxMatches=JSX_PRAGMA_REGEX.exec(comment.value);if(jsxMatches){if(jsxMatches[1]){fileJsxPragmaFrag=jsxMatches[2];}else{fileJsxPragma=jsxMatches[2];}}}}var pragmaImportName=fileJsxPragma||jsxPragma;if(pragmaImportName){var _pragmaImportName$spl=pragmaImportName.split(".");var _pragmaImportName$spl2=_slicedToArray(_pragmaImportName$spl,1);pragmaImportName=_pragmaImportName$spl2[0];}var pragmaFragImportName=fileJsxPragmaFrag||jsxPragmaFrag;if(pragmaFragImportName){var _pragmaFragImportName=pragmaFragImportName.split(".");var _pragmaFragImportName2=_slicedToArray(_pragmaFragImportName,1);pragmaFragImportName=_pragmaFragImportName2[0];}var _loop=function _loop(){var stmt=_step3.value;if(stmt.isImportDeclaration()){if(!NEEDS_EXPLICIT_ESM.has(state.file.ast.program)){NEEDS_EXPLICIT_ESM.set(state.file.ast.program,true);}if(stmt.node.importKind==="type"){for(var _iterator4=_createForOfIteratorHelperLoose(stmt.node.specifiers),_step4;!(_step4=_iterator4()).done;){var specifier=_step4.value;registerGlobalType(programScope,specifier.local.name);}stmt.remove();return 0;}var importsToRemove=new Set();var specifiersLength=stmt.node.specifiers.length;var isAllSpecifiersElided=function isAllSpecifiersElided(){return specifiersLength>0&&specifiersLength===importsToRemove.size;};for(var _iterator5=_createForOfIteratorHelperLoose(stmt.node.specifiers),_step5;!(_step5=_iterator5()).done;){var _specifier2=_step5.value;if(_specifier2.type==="ImportSpecifier"&&_specifier2.importKind==="type"){registerGlobalType(programScope,_specifier2.local.name);var _binding=stmt.scope.getBinding(_specifier2.local.name);if(_binding){importsToRemove.add(_binding.path);}}}if(onlyRemoveTypeImports){NEEDS_EXPLICIT_ESM.set(path.node,false);}else{if(stmt.node.specifiers.length===0){NEEDS_EXPLICIT_ESM.set(path.node,false);return 0;}for(var _iterator6=_createForOfIteratorHelperLoose(stmt.node.specifiers),_step6;!(_step6=_iterator6()).done;){var _specifier=_step6.value;var binding=stmt.scope.getBinding(_specifier.local.name);if(binding&&!importsToRemove.has(binding.path)){if(isImportTypeOnly({binding:binding,programPath:path,pragmaImportName:pragmaImportName,pragmaFragImportName:pragmaFragImportName})){importsToRemove.add(binding.path);}else{NEEDS_EXPLICIT_ESM.set(path.node,false);}}}}if(isAllSpecifiersElided()&&!onlyRemoveTypeImports){stmt.remove();}else{for(var _iterator7=_createForOfIteratorHelperLoose(importsToRemove),_step7;!(_step7=_iterator7()).done;){var importPath=_step7.value;importPath.remove();}}return 0;}if(stmt.isExportDeclaration()){stmt=stmt.get("declaration");}if(stmt.isVariableDeclaration({declare:true})){for(var _i2=0,_Object$keys2=Object.keys(stmt.getBindingIdentifiers());_i2<_Object$keys2.length;_i2++){var name=_Object$keys2[_i2];registerGlobalType(programScope,name);}}else if(stmt.isTSTypeAliasDeclaration()||stmt.isTSDeclareFunction()&&stmt.get("id").isIdentifier()||stmt.isTSInterfaceDeclaration()||stmt.isClassDeclaration({declare:true})||stmt.isTSEnumDeclaration({declare:true})||stmt.isTSModuleDeclaration({declare:true})&&stmt.get("id").isIdentifier()){registerGlobalType(programScope,stmt.node.id.name);}},_ret;for(var _iterator3=_createForOfIteratorHelperLoose(path.get("body")),_step3;!(_step3=_iterator3()).done;){_ret=_loop();if(_ret===0)continue;}},exit:function exit(path){if(path.node.sourceType==="module"&&NEEDS_EXPLICIT_ESM.get(path.node)){path.pushContainer("body",t.exportNamedDeclaration());}}},ExportNamedDeclaration:function ExportNamedDeclaration(path,state){if(!NEEDS_EXPLICIT_ESM.has(state.file.ast.program)){NEEDS_EXPLICIT_ESM.set(state.file.ast.program,true);}if(path.node.exportKind==="type"){path.remove();return;}if(path.node.source&&path.node.specifiers.length>0&&path.node.specifiers.every(function(specifier){return specifier.type==="ExportSpecifier"&&specifier.exportKind==="type";})){path.remove();return;}if(!path.node.source&&path.node.specifiers.length>0&&path.node.specifiers.every(function(specifier){return t.isExportSpecifier(specifier)&&isGlobalType(path,specifier.local.name);})){path.remove();return;}if(t.isTSModuleDeclaration(path.node.declaration)){var namespace=path.node.declaration;var id=namespace.id;if(t.isIdentifier(id)){if(path.scope.hasOwnBinding(id.name)){path.replaceWith(namespace);}else{var _path$replaceWithMult=path.replaceWithMultiple([t.exportNamedDeclaration(t.variableDeclaration("let",[t.variableDeclarator(t.cloneNode(id))])),namespace]),_path$replaceWithMult2=_slicedToArray(_path$replaceWithMult,1),newExport=_path$replaceWithMult2[0];path.scope.registerDeclaration(newExport);}}}NEEDS_EXPLICIT_ESM.set(state.file.ast.program,false);},ExportAllDeclaration:function ExportAllDeclaration(path){if(path.node.exportKind==="type")path.remove();},ExportSpecifier:function ExportSpecifier(path){var parent=path.parent;if(!parent.source&&isGlobalType(path,path.node.local.name)||path.node.exportKind==="type"){path.remove();}},ExportDefaultDeclaration:function ExportDefaultDeclaration(path,state){if(!NEEDS_EXPLICIT_ESM.has(state.file.ast.program)){NEEDS_EXPLICIT_ESM.set(state.file.ast.program,true);}if(t.isIdentifier(path.node.declaration)&&isGlobalType(path,path.node.declaration.name)){path.remove();return;}NEEDS_EXPLICIT_ESM.set(state.file.ast.program,false);},TSDeclareFunction:function TSDeclareFunction(path){safeRemove(path);},TSDeclareMethod:function TSDeclareMethod(path){safeRemove(path);},VariableDeclaration:function VariableDeclaration(path){if(path.node.declare){safeRemove(path);}},VariableDeclarator:function VariableDeclarator(_ref2){var node=_ref2.node;if(node.definite)node.definite=null;},TSIndexSignature:function TSIndexSignature(path){path.remove();},ClassDeclaration:function ClassDeclaration(path){var node=path.node;if(node.declare){safeRemove(path);}},Class:function Class(path){var node=path.node;if(node.typeParameters)node.typeParameters=null;if(node.superTypeParameters)node.superTypeParameters=null;if(node["implements"])node["implements"]=null;if(node["abstract"])node["abstract"]=null;path.get("body.body").forEach(function(child){if(child.isClassMethod()||child.isClassPrivateMethod()){if(child.node.kind==="constructor"){classMemberVisitors.constructor(child,path);}else{classMemberVisitors.method(child);}}else if(child.isClassProperty()||child.isClassPrivateProperty()||child.isClassAccessorProperty()){classMemberVisitors.field(child);}});},Function:function Function(path){var node=path.node;if(node.typeParameters)node.typeParameters=null;if(node.returnType)node.returnType=null;var params=node.params;if(params.length>0&&t.isIdentifier(params[0],{name:"this"})){params.shift();}},TSModuleDeclaration:function TSModuleDeclaration(path){transpileNamespace(path,allowNamespaces);},TSInterfaceDeclaration:function TSInterfaceDeclaration(path){path.remove();},TSTypeAliasDeclaration:function TSTypeAliasDeclaration(path){path.remove();},TSEnumDeclaration:function TSEnumDeclaration(path){if(optimizeConstEnums&&path.node["const"]){transpileConstEnum(path,t);}else{transpileEnum(path,t);}},TSImportEqualsDeclaration:function(_TSImportEqualsDeclaration){function TSImportEqualsDeclaration(_x,_x2){return _TSImportEqualsDeclaration.apply(this,arguments);}TSImportEqualsDeclaration.toString=function(){return _TSImportEqualsDeclaration.toString();};return TSImportEqualsDeclaration;}(function(path,pass){var _path$node=path.node,id=_path$node.id,moduleReference=_path$node.moduleReference;var init;var varKind;if(t.isTSExternalModuleReference(moduleReference)){assertCjsTransformEnabled(path,pass,"import "+id.name+" = require(...);","import "+id.name+" from '...';"," alongside Typescript's --allowSyntheticDefaultImports option");init=t.callExpression(t.identifier("require"),[moduleReference.expression]);varKind="const";}else{init=entityNameToExpr(moduleReference);varKind="var";}path.replaceWith(t.variableDeclaration(varKind,[t.variableDeclarator(id,init)]));path.scope.registerDeclaration(path);}),TSExportAssignment:function TSExportAssignment(path,pass){assertCjsTransformEnabled(path,pass,"export = <value>;","export default <value>;");path.replaceWith(template.statement.ast(_templateObject2$7||(_templateObject2$7=_taggedTemplateLiteralLoose(["module.exports = ",""])),path.node.expression));},TSTypeAssertion:function TSTypeAssertion(path){path.replaceWith(path.node.expression);}},_visitor["TSAsExpression"+(t.tsSatisfiesExpression?"|TSSatisfiesExpression":"")]=function(_TSAsExpression){function TSAsExpression(_x3){return _TSAsExpression.apply(this,arguments);}TSAsExpression.toString=function(){return _TSAsExpression.toString();};return TSAsExpression;}(function(path){var node=path.node;do{node=node.expression;}while(t.isTSAsExpression(node)||t.isTSSatisfiesExpression!=null&&t.isTSSatisfiesExpression(node));path.replaceWith(node);}),_visitor[api.types.tsInstantiationExpression?"TSNonNullExpression|TSInstantiationExpression":"TSNonNullExpression"]=function(path){path.replaceWith(path.node.expression);},_visitor.CallExpression=function CallExpression(path){path.node.typeParameters=null;},_visitor.OptionalCallExpression=function OptionalCallExpression(path){path.node.typeParameters=null;},_visitor.NewExpression=function NewExpression(path){path.node.typeParameters=null;},_visitor.JSXOpeningElement=function JSXOpeningElement(path){path.node.typeParameters=null;},_visitor.TaggedTemplateExpression=function TaggedTemplateExpression(path){path.node.typeParameters=null;},_visitor)};function entityNameToExpr(node){if(t.isTSQualifiedName(node)){return t.memberExpression(entityNameToExpr(node.left),node.right);}return node;}function visitPattern(_ref3){var node=_ref3.node;if(node.typeAnnotation)node.typeAnnotation=null;if(t.isIdentifier(node)&&node.optional)node.optional=null;}function isImportTypeOnly(_ref4){var binding=_ref4.binding,programPath=_ref4.programPath,pragmaImportName=_ref4.pragmaImportName,pragmaFragImportName=_ref4.pragmaFragImportName;for(var _iterator8=_createForOfIteratorHelperLoose(binding.referencePaths),_step8;!(_step8=_iterator8()).done;){var path=_step8.value;if(!isInType(path)){return false;}}if(binding.identifier.name!==pragmaImportName&&binding.identifier.name!==pragmaFragImportName){return true;}var sourceFileHasJsx=false;programPath.traverse({"JSXElement|JSXFragment":function JSXElementJSXFragment(path){sourceFileHasJsx=true;path.stop();}});return!sourceFileHasJsx;}});var _transformUnicodeEscapes=declare(function(api){api.assertVersion("*");var surrogate=/[\ud800-\udfff]/g;var unicodeEscape=/(\\+)u\{([0-9a-fA-F]+)\}/g;function escape(code){{var str=code.toString(16);while(str.length<4)str="0"+str;return"\\u"+str;}}function replacer(match,backslashes,code){if(backslashes.length%2===0){return match;}var _char=String.fromCodePoint(parseInt(code,16));var escaped=backslashes.slice(0,-1)+escape(_char.charCodeAt(0));return _char.length===1?escaped:escaped+escape(_char.charCodeAt(1));}function replaceUnicodeEscapes(str){return str.replace(unicodeEscape,replacer);}function getUnicodeEscape(str){var match;while(match=unicodeEscape.exec(str)){if(match[1].length%2===0)continue;unicodeEscape.lastIndex=0;return match[0];}return null;}return{name:"transform-unicode-escapes",manipulateOptions:function manipulateOptions(_ref){var _generatorOpts$jsescO,_generatorOpts$jsescO2;var generatorOpts=_ref.generatorOpts;if(!generatorOpts.jsescOption){generatorOpts.jsescOption={};}(_generatorOpts$jsescO2=(_generatorOpts$jsescO=generatorOpts.jsescOption).minimal)!=null?_generatorOpts$jsescO2:_generatorOpts$jsescO.minimal=false;},visitor:{Identifier:function Identifier(path){var node=path.node,key=path.key;var name=node.name;var replaced=name.replace(surrogate,function(c){return"_u"+c.charCodeAt(0).toString(16);});if(name===replaced)return;var str=inherits$3(stringLiteral$8(name),node);if(key==="key"){path.replaceWith(str);return;}var parentPath=path.parentPath,scope=path.scope;if(parentPath.isMemberExpression({property:node})||parentPath.isOptionalMemberExpression({property:node})){parentPath.node.computed=true;path.replaceWith(str);return;}var binding=scope.getBinding(name);if(binding){scope.rename(name,scope.generateUid(replaced));return;}throw path.buildCodeFrameError("Can't reference '"+name+"' as a bare identifier");},"StringLiteral|DirectiveLiteral":function StringLiteralDirectiveLiteral(path){var node=path.node;var extra=node.extra;if(extra!=null&&extra.raw)extra.raw=replaceUnicodeEscapes(extra.raw);},TemplateElement:function TemplateElement(path){var node=path.node,parentPath=path.parentPath;var value=node.value;var firstEscape=getUnicodeEscape(value.raw);if(!firstEscape)return;var grandParent=parentPath.parentPath;if(grandParent.isTaggedTemplateExpression()){throw path.buildCodeFrameError("Can't replace Unicode escape '"+firstEscape+"' inside tagged template literals. You can enable '@babel/plugin-transform-template-literals' to compile them to classic strings.");}value.raw=replaceUnicodeEscapes(value.raw);}}};});var _transformUnicodeRegex=declare(function(api){api.assertVersion("*");return createRegExpFeaturePlugin({name:"transform-unicode-regex",feature:"unicodeFlag"});});var _templateObject$6,_templateObject2$6;var proposalExplicitResourceManagement=declare(function(api){api.assertVersion("*");var TOP_LEVEL_USING=new Map();function isUsingDeclaration(node){if(!isVariableDeclaration$4(node))return false;return node.kind==="using"||node.kind==="await using"||TOP_LEVEL_USING.has(node);}var transformUsingDeclarationsVisitor={ForOfStatement:function(_ForOfStatement){function ForOfStatement(_x){return _ForOfStatement.apply(this,arguments);}ForOfStatement.toString=function(){return _ForOfStatement.toString();};return ForOfStatement;}(function(path){var left=path.node.left;if(!isUsingDeclaration(left))return;var id=left.declarations[0].id;var tmpId=path.scope.generateUidIdentifierBasedOnNode(id);left.declarations[0].id=tmpId;left.kind="const";path.ensureBlock();path.node.body.body.unshift(variableDeclaration$8("using",[variableDeclarator$8(id,cloneNode$j(tmpId))]));}),"BlockStatement|StaticBlock":function BlockStatementStaticBlock(path,state){if(state.availableHelper("usingCtx")){var ctx=null;var needsAwait=false;for(var _iterator=_createForOfIteratorHelperLoose(path.node.body),_step;!(_step=_iterator()).done;){var _ctx;var node=_step.value;if(!isUsingDeclaration(node))continue;(_ctx=ctx)!=null?_ctx:ctx=path.scope.generateUidIdentifier("usingCtx");var isAwaitUsing=node.kind==="await using"||TOP_LEVEL_USING.get(node)===1;needsAwait||(needsAwait=isAwaitUsing);if(!TOP_LEVEL_USING["delete"](node)){node.kind="const";}for(var _iterator2=_createForOfIteratorHelperLoose(node.declarations),_step2;!(_step2=_iterator2()).done;){var decl=_step2.value;decl.init=callExpression$d(memberExpression$c(cloneNode$j(ctx),isAwaitUsing?identifier$j("a"):identifier$j("u")),[decl.init]);}}if(!ctx)return;var disposeCall=callExpression$d(memberExpression$c(cloneNode$j(ctx),identifier$j("d")),[]);var replacement=template$1.statement.ast(_templateObject$6||(_templateObject$6=_taggedTemplateLiteralLoose(["\n        try {\n          var "," = ","();\n          ","\n        } catch (_) {\n          ",".e = _;\n        } finally {\n          ","\n        }\n      "])),cloneNode$j(ctx),state.addHelper("usingCtx"),path.node.body,cloneNode$j(ctx),needsAwait?awaitExpression$1(disposeCall):disposeCall);inherits$3(replacement,path.node);var parentPath=path.parentPath;if(parentPath.isFunction()||parentPath.isTryStatement()||parentPath.isCatchClause()){path.replaceWith(blockStatement$6([replacement]));}else if(path.isStaticBlock()){path.node.body=[replacement];}else{path.replaceWith(replacement);}}else{var stackId=null;var _needsAwait=false;var _loop=function _loop(){var _stackId;var node=_step3.value;if(!isUsingDeclaration(node))return 1;(_stackId=stackId)!=null?_stackId:stackId=path.scope.generateUidIdentifier("stack");var isAwaitUsing=node.kind==="await using"||TOP_LEVEL_USING.get(node)===1;_needsAwait||(_needsAwait=isAwaitUsing);if(!TOP_LEVEL_USING["delete"](node)){node.kind="const";}node.declarations.forEach(function(decl){var args=[cloneNode$j(stackId),decl.init];if(isAwaitUsing)args.push(booleanLiteral$4(true));decl.init=callExpression$d(state.addHelper("using"),args);});};for(var _iterator3=_createForOfIteratorHelperLoose(path.node.body),_step3;!(_step3=_iterator3()).done;){if(_loop())continue;}if(!stackId)return;var errorId=path.scope.generateUidIdentifier("error");var hasErrorId=path.scope.generateUidIdentifier("hasError");var _disposeCall=callExpression$d(state.addHelper("dispose"),[cloneNode$j(stackId),cloneNode$j(errorId),cloneNode$j(hasErrorId)]);if(_needsAwait)_disposeCall=awaitExpression$1(_disposeCall);var _replacement=template$1.statement.ast(_templateObject2$6||(_templateObject2$6=_taggedTemplateLiteralLoose(["\n        try {\n          var "," = [];\n          ","\n        } catch (_) {\n          var "," = _;\n          var "," = true;\n        } finally {\n          ","\n        }\n      "])),stackId,path.node.body,errorId,hasErrorId,_disposeCall);inherits$3(_replacement.block,path.node);var _parentPath=path.parentPath;if(_parentPath.isFunction()||_parentPath.isTryStatement()||_parentPath.isCatchClause()){path.replaceWith(blockStatement$6([_replacement]));}else if(path.isStaticBlock()){path.node.body=[_replacement];}else{path.replaceWith(_replacement);}}}};var transformUsingDeclarationsVisitorSkipFn=traverse.visitors.merge([transformUsingDeclarationsVisitor,{Function:function Function(path){path.skip();}}]);return{name:"proposal-explicit-resource-management",inherits:syntaxExplicitResourceManagement,visitor:traverse.visitors.merge([transformUsingDeclarationsVisitor,{Program:function Program(path){TOP_LEVEL_USING.clear();if(path.node.sourceType!=="module")return;if(!path.node.body.some(isUsingDeclaration))return;var innerBlockBody=[];for(var _iterator4=_createForOfIteratorHelperLoose(path.get("body")),_step4;!(_step4=_iterator4()).done;){var stmt=_step4.value;if(stmt.isFunctionDeclaration()||stmt.isImportDeclaration()){continue;}var node=stmt.node;var shouldRemove=true;if(stmt.isExportDefaultDeclaration()){var _varId;var declaration=stmt.node.declaration;var varId=void 0;if(isClassDeclaration$2(declaration)){varId=declaration.id;declaration.id=null;declaration=toExpression$1(declaration);}else if(!isExpression$4(declaration)){continue;}(_varId=varId)!=null?_varId:varId=path.scope.generateUidIdentifier("_default");innerBlockBody.push(variableDeclaration$8("var",[variableDeclarator$8(varId,declaration)]));stmt.replaceWith(exportNamedDeclaration$2(null,[exportSpecifier$2(cloneNode$j(varId),identifier$j("default"))]));continue;}if(stmt.isExportNamedDeclaration()){node=stmt.node.declaration;if(!node||isFunction$5(node))continue;stmt.replaceWith(exportNamedDeclaration$2(null,Object.keys(getOuterBindingIdentifiers$2(node,false)).map(function(id){return exportSpecifier$2(identifier$j(id),identifier$j(id));})));shouldRemove=false;}else if(stmt.isExportDeclaration()){continue;}if(isClassDeclaration$2(node)){var _node=node,id=_node.id;node.id=null;innerBlockBody.push(variableDeclaration$8("var",[variableDeclarator$8(id,toExpression$1(node))]));}else if(isVariableDeclaration$4(node)){if(node.kind==="using"){TOP_LEVEL_USING.set(stmt.node,0);}else if(node.kind==="await using"){TOP_LEVEL_USING.set(stmt.node,1);}node.kind="var";innerBlockBody.push(node);}else{innerBlockBody.push(stmt.node);}if(shouldRemove)stmt.remove();}path.pushContainer("body",blockStatement$6(innerBlockBody));},Function:function Function(path,state){if(path.node.async){path.traverse(transformUsingDeclarationsVisitorSkipFn,state);}}}])};});var syntaxImportDefer=declare(function(api){api.assertVersion("*");return{name:"syntax-import-defer",manipulateOptions:function manipulateOptions(_,parserOpts){parserOpts.plugins.push("deferredImportEvaluation");}};});var _templateObject$5,_templateObject2$5;var proposalImportDefer=declare(function(api){api.assertVersion("*");var t=api.types;var template=api.template;function allReferencesAreProps(scope,node){var specifier=node.specifiers[0];t.assertImportNamespaceSpecifier(specifier);var binding=scope.getOwnBinding(specifier.local.name);return!!(binding!=null&&binding.referencePaths.every(function(path){return path.parentPath.isMemberExpression({object:path.node});}));}return{name:"proposal-import-defer",inherits:syntaxImportDefer,pre:function pre(){var file=this.file;defineCommonJSHook(file,{name:"@babel/plugin-proposal-import-defer",version:"7.24.1",getWrapperPayload:function getWrapperPayload(source,metadata,importNodes){var needsProxy=false;for(var _iterator=_createForOfIteratorHelperLoose(importNodes),_step;!(_step=_iterator()).done;){var node=_step.value;if(!t.isImportDeclaration(node))return null;if(node.phase!=="defer")return null;if(!allReferencesAreProps(file.scope,node))needsProxy=true;}return needsProxy?"defer/proxy":"defer/function";},buildRequireWrapper:function buildRequireWrapper(name,init,payload,referenced){if(payload==="defer/proxy"){if(!referenced)return false;return template.statement.ast(_templateObject$5||(_templateObject$5=_taggedTemplateLiteralLoose(["\n              var "," = ","(\n                () => ","\n              )\n            "])),name,file.addHelper("importDeferProxy"),init);}if(payload==="defer/function"){if(!referenced)return false;return template.statement.ast(_templateObject2$5||(_templateObject2$5=_taggedTemplateLiteralLoose(["\n              function ","(data) {\n                "," = () => data;\n                return data = ",";\n              }\n            "])),name,name,init);}},wrapReference:function wrapReference(ref,payload){if(payload==="defer/function")return t.callExpression(ref,[]);}});},visitor:{Program:function Program(path){if(this.file.get("@babel/plugin-transform-modules-*")!=="commonjs"){throw new Error("@babel/plugin-proposal-import-defer can only be used when"+" transpiling modules to CommonJS.");}var eagerImports=new Set();for(var _iterator2=_createForOfIteratorHelperLoose(path.get("body")),_step2;!(_step2=_iterator2()).done;){var child=_step2.value;if(child.isImportDeclaration()&&child.node.phase==null||child.isExportNamedDeclaration()&&child.node.source!==null||child.isExportAllDeclaration()){var specifier=child.node.source.value;if(!eagerImports.has(specifier)){eagerImports.add(specifier);}}}var importsToPush=[];for(var _iterator3=_createForOfIteratorHelperLoose(path.get("body")),_step3;!(_step3=_iterator3()).done;){var _child=_step3.value;if(_child.isImportDeclaration({phase:"defer"})){var _specifier=_child.node.source.value;if(!eagerImports.has(_specifier))continue;_child.node.phase=null;importsToPush.push(_child.node);_child.remove();}}if(importsToPush.length){path.pushContainer("body",importsToPush);path.scope.crawl();}}}};});var _excluded$1=["node"];function isEmpty$1(obj){return Object.keys(obj).length===0;}var isRequiredOptions={compatData:{webIMR:{chrome:"105.0.0",edge:"105.0.0",firefox:"106.0.0",opera:"91.0.0",safari:"16.4.0",opera_mobile:"72.0.0",ios:"16.4.0",samsung:"20.0",deno:"1.24.0"},nodeIMR:{node:"20.6.0"},nodeFSP:{node:"10.0.0"}}};var SUPPORT_CACHE=new WeakMap();function getSupport(targets){if(SUPPORT_CACHE.has(targets))return SUPPORT_CACHE.get(targets);var nodeTarget=targets.node,webTargets=_objectWithoutPropertiesLoose(targets,_excluded$1);var emptyNodeTarget=nodeTarget==null;var emptyWebTargets=isEmpty$1(webTargets);var needsNodeSupport=!emptyNodeTarget||emptyWebTargets;var needsWebSupport=!emptyWebTargets||emptyNodeTarget;var webSupportsIMR=!emptyWebTargets&&!isRequired("webIMR",webTargets,isRequiredOptions);var nodeSupportsIMR=!emptyNodeTarget&&!isRequired("nodeIMR",{node:nodeTarget},isRequiredOptions);var nodeSupportsFsPromises=!emptyNodeTarget&&!isRequired("nodeFSP",{node:nodeTarget},isRequiredOptions);var result={needsNodeSupport:needsNodeSupport,needsWebSupport:needsWebSupport,nodeSupportsIMR:nodeSupportsIMR,webSupportsIMR:webSupportsIMR,nodeSupportsFsPromises:nodeSupportsFsPromises};SUPPORT_CACHE.set(targets,result);return result;}var _templateObject$4,_templateObject2$4,_templateObject3$4,_templateObject4$2,_templateObject5$1,_templateObject6,_templateObject7,_templateObject8,_templateObject9,_templateObject10,_templateObject11,_templateObject12,_templateObject13,_templateObject14,_templateObject15,_templateObject16,_templateObject17,_templateObject18;function imp(path,name,module){return addNamed(path,name,module,{importedType:"es6"});}var imr=function imr(s){return template$1.expression.ast(_templateObject$4||(_templateObject$4=_taggedTemplateLiteralLoose(["\n  import.meta.resolve(",")\n"])),s);};var imrWithFallback=function imrWithFallback(s){return template$1.expression.ast(_templateObject2$4||(_templateObject2$4=_taggedTemplateLiteralLoose(["\n  import.meta.resolve?.(",") ?? new URL(",", import.meta.url)\n"])),s,cloneNode$j(s));};function importToPlatformApi(targets,transformers,toCommonJS){var _buildFetchAsync;var _getSupport=getSupport(targets),needsNodeSupport=_getSupport.needsNodeSupport,needsWebSupport=_getSupport.needsWebSupport,nodeSupportsIMR=_getSupport.nodeSupportsIMR,webSupportsIMR=_getSupport.webSupportsIMR,nodeSupportsFsPromises=_getSupport.nodeSupportsFsPromises;var buildFetchAsync;var buildFetchSync;var p=function p(_ref){var w=_ref.web,n=_ref.node,_ref$nodeFSP=_ref.nodeFSP,nF=_ref$nodeFSP===void 0?nodeSupportsFsPromises:_ref$nodeFSP,_ref$webIMR=_ref.webIMR,wI=_ref$webIMR===void 0?webSupportsIMR:_ref$webIMR,_ref$nodeIMR=_ref.nodeIMR,nI=_ref$nodeIMR===void 0?nodeSupportsIMR:_ref$nodeIMR,_ref$toCJS=_ref.toCJS,c=_ref$toCJS===void 0?toCommonJS:_ref$toCJS;return+w+(+n<<1)+(+wI<<2)+(+nI<<3)+(+c<<4)+(+nF<<5);};var readFileP=function readFileP(fs,arg){if(nodeSupportsFsPromises){return template$1.expression.ast(_templateObject3$4||(_templateObject3$4=_taggedTemplateLiteralLoose(["",".promises.readFile(",")"])),fs,arg);}return template$1.expression.ast(_templateObject4$2||(_templateObject4$2=_taggedTemplateLiteralLoose(["\n      new Promise(\n        (a =>\n          (r, j) => ",".readFile(a, (e, d) => e ? j(e) : r(d))\n        )(",")\n      )"])),fs,arg);};switch(p({web:needsWebSupport,node:needsNodeSupport,webIMR:webSupportsIMR,nodeIMR:nodeSupportsIMR,toCJS:toCommonJS})){case p({web:true,node:true}):buildFetchAsync=function buildFetchAsync(specifier){var web=transformers.webFetch(callExpression$d(identifier$j("fetch"),[(webSupportsIMR?imr:imrWithFallback)(cloneNode$j(specifier))]));var node=nodeSupportsIMR?template$1.expression.ast(_templateObject5$1||(_templateObject5$1=_taggedTemplateLiteralLoose(["\n                import(\"fs\").then(\n                  fs => ","\n                ).then(",")\n              "])),readFileP(identifier$j("fs"),template$1.expression.ast(_templateObject6||(_templateObject6=_taggedTemplateLiteralLoose(["new URL(",")"])),imr(specifier))),transformers.nodeFsAsync()):template$1.expression.ast(_templateObject7||(_templateObject7=_taggedTemplateLiteralLoose(["\n                Promise.all([import(\"fs\"), import(\"module\")])\n                  .then(([fs, module]) =>\n                    ","\n                  )\n                  .then(",")\n              "])),readFileP(identifier$j("fs"),template$1.expression.ast(_templateObject8||(_templateObject8=_taggedTemplateLiteralLoose(["\n                        module.createRequire(import.meta.url).resolve(",")\n                      "])),specifier)),transformers.nodeFsAsync());return template$1.expression.ast(_templateObject9||(_templateObject9=_taggedTemplateLiteralLoose(["\n            typeof process === \"object\" && process.versions?.node\n              ? ","\n              : ","\n          "])),node,web);};break;case p({web:true,node:false,webIMR:true}):buildFetchAsync=function buildFetchAsync(specifier){return transformers.webFetch(callExpression$d(identifier$j("fetch"),[imr(specifier)]));};break;case p({web:true,node:false,webIMR:false}):buildFetchAsync=function buildFetchAsync(specifier){return transformers.webFetch(callExpression$d(identifier$j("fetch"),[imrWithFallback(specifier)]));};break;case p({web:false,node:true,toCJS:true}):buildFetchSync=function buildFetchSync(specifier){return transformers.nodeFsSync(template$1.expression.ast(_templateObject10||(_templateObject10=_taggedTemplateLiteralLoose(["\n            require(\"fs\").readFileSync(require.resolve(","))\n          "])),specifier));};buildFetchAsync=function buildFetchAsync(specifier){return template$1.expression.ast(_templateObject11||(_templateObject11=_taggedTemplateLiteralLoose(["\n            require(\"fs\").promises.readFile(require.resolve(","))\n              .then(",")\n          "])),specifier,transformers.nodeFsAsync());};break;case p({web:false,node:true,toCJS:false,nodeIMR:true}):buildFetchSync=function buildFetchSync(specifier,path){return transformers.nodeFsSync(template$1.expression.ast(_templateObject12||(_templateObject12=_taggedTemplateLiteralLoose(["\n            ","(\n              new URL(",")\n            )\n          "])),imp(path,"readFileSync","fs"),imr(specifier)));};buildFetchAsync=function buildFetchAsync(specifier,path){return template$1.expression.ast(_templateObject13||(_templateObject13=_taggedTemplateLiteralLoose(["\n          ","\n            .readFile(new URL(","))\n            .then(",")\n        "])),imp(path,"promises","fs"),imr(specifier),transformers.nodeFsAsync());};break;case p({web:false,node:true,toCJS:false,nodeIMR:false}):buildFetchSync=function buildFetchSync(specifier,path){return transformers.nodeFsSync(template$1.expression.ast(_templateObject14||(_templateObject14=_taggedTemplateLiteralLoose(["\n            ","(\n              ","(import.meta.url)\n                .resolve(",")\n            )\n          "])),imp(path,"readFileSync","fs"),imp(path,"createRequire","module"),specifier));};buildFetchAsync=function buildFetchAsync(specifier,path){return transformers.webFetch(template$1.expression.ast(_templateObject15||(_templateObject15=_taggedTemplateLiteralLoose(["\n            ","\n              .readFile(\n                ","(import.meta.url)\n                  .resolve(",")\n              )\n          "])),imp(path,"promises","fs"),imp(path,"createRequire","module"),specifier));};break;default:throw new Error("Internal Babel error: unreachable code.");}(_buildFetchAsync=buildFetchAsync)!=null?_buildFetchAsync:buildFetchAsync=buildFetchSync;var buildFetchAsyncWrapped=function buildFetchAsyncWrapped(expression,path){if(isStringLiteral$5(expression)){return template$1.expression.ast(_templateObject16||(_templateObject16=_taggedTemplateLiteralLoose(["\n        Promise.resolve().then(() => ",")\n      "])),buildFetchAsync(expression,path));}else{return template$1.expression.ast(_templateObject17||(_templateObject17=_taggedTemplateLiteralLoose(["\n        Promise.resolve(`${","}`).then((s) => ",")\n      "],["\n        Promise.resolve(\\`\\${","}\\`).then((s) => ",")\n      "])),expression,buildFetchAsync(identifier$j("s"),path));}};return{buildFetch:buildFetchSync||buildFetchAsync,buildFetchAsync:buildFetchAsyncWrapped,needsAwait:!buildFetchSync};}function buildParallelStaticImports(data,needsAwait){if(data.length===0)return null;var declarators=[];if(data.length===1){var rhs=data[0].fetch;if(needsAwait)rhs=awaitExpression$1(rhs);declarators.push(variableDeclarator$8(data[0].id,rhs));}else if(needsAwait){var ids=data.map(function(_ref2){var id=_ref2.id;return id;});var fetches=data.map(function(_ref3){var fetch=_ref3.fetch;return fetch;});declarators.push(variableDeclarator$8(arrayPattern(ids),awaitExpression$1(template$1.expression.ast(_templateObject18||(_templateObject18=_taggedTemplateLiteralLoose(["\n            Promise.all(",")\n          "])),arrayExpression$1(fetches)))));}else{for(var _iterator=_createForOfIteratorHelperLoose(data),_step;!(_step=_iterator()).done;){var _step$value=_step.value,id=_step$value.id,_fetch=_step$value.fetch;declarators.push(variableDeclarator$8(id,_fetch));}}return variableDeclaration$8("const",declarators);}var _templateObject$3,_templateObject2$3,_templateObject3$3,_templateObject4$1,_templateObject5;var proposalJsonModules=declare(function(api){var t=api.types,template=api.template;api.assertVersion("*");var targets=api.targets();var helperESM;var helperCJS;var transformers={webFetch:function webFetch(fetch){return template.expression.ast(_templateObject$3||(_templateObject$3=_taggedTemplateLiteralLoose(["",".then(r => r.json())"])),fetch);},nodeFsSync:function nodeFsSync(read){return template.expression.ast(_templateObject2$3||(_templateObject2$3=_taggedTemplateLiteralLoose(["JSON.parse(",")"])),read);},nodeFsAsync:function nodeFsAsync(){return template.expression.ast(_templateObject3$3||(_templateObject3$3=_taggedTemplateLiteralLoose(["JSON.parse"])));}};var getHelper=function getHelper(file){var modules=file.get("@babel/plugin-transform-modules-*");if(modules==="commonjs"){var _helperCJS;return(_helperCJS=helperCJS)!=null?_helperCJS:helperCJS=importToPlatformApi(targets,transformers,true);}if(modules==null){var _helperESM;return(_helperESM=helperESM)!=null?_helperESM:helperESM=importToPlatformApi(targets,transformers,false);}throw new Error("@babel/plugin-proposal-json-modules can only be used when not "+"compiling modules, or when compiling them to CommonJS.");};function getAttributeKey(_ref){var key=_ref.key;return t.isIdentifier(key)?key.name:key.value;}function hasTypeJson(attributes){return!!(attributes!=null&&attributes.some(function(attr){return getAttributeKey(attr)==="type"&&attr.value.value==="json";}));}return{name:"proposal-json-modules",inherits:_syntaxImportAttributes,visitor:{Program:function Program(path){if(path.node.sourceType!=="module")return;var helper=getHelper(this.file);var data=[];for(var _iterator=_createForOfIteratorHelperLoose(path.get("body")),_step;!(_step=_iterator()).done;){var _id;var _decl=_step.value;if(!_decl.isImportDeclaration())continue;var attributes=_decl.node.attributes||_decl.node.assertions;if(!hasTypeJson(attributes))continue;if(_decl.node.phase!=null){throw _decl.buildCodeFrameError("JSON modules do not support phase modifiers.");}if(attributes.length>1){var paths=_decl.node.attributes?_decl.get("attributes"):_decl.get("assertions");var index=getAttributeKey(attributes[0])==="type"?1:0;throw paths[index].buildCodeFrameError("Unknown attribute for JSON modules.");}var id=void 0;var needsNS=false;for(var _iterator2=_createForOfIteratorHelperLoose(_decl.get("specifiers")),_step2;!(_step2=_iterator2()).done;){var specifier=_step2.value;if(specifier.isImportSpecifier()){throw specifier.buildCodeFrameError("JSON modules do not support named imports.");}id=specifier.node.local;needsNS=specifier.isImportNamespaceSpecifier();}(_id=id)!=null?_id:id=path.scope.generateUidIdentifier("_");var fetch=helper.buildFetch(_decl.node.source,path);if(needsNS){if(helper.needsAwait){fetch=template.expression.ast(_templateObject4$1||(_templateObject4$1=_taggedTemplateLiteralLoose(["\n                ",".then(j => ({ default: j }))\n              "])),fetch);}else{fetch=template.expression.ast(_templateObject5||(_templateObject5=_taggedTemplateLiteralLoose(["{ default: "," }"])),fetch);}}data.push({id:id,fetch:fetch});_decl.remove();}var decl=buildParallelStaticImports(data,helper.needsAwait);if(decl)path.unshiftContainer("body",decl);}}};});var syntaxAsyncGenerators=makeNoopPlugin(),syntaxClassProperties=makeNoopPlugin(),syntaxClassStaticBlock=makeNoopPlugin(),syntaxImportMeta=makeNoopPlugin(),syntaxObjectRestSpread=makeNoopPlugin(),syntaxOptionalCatchBinding=makeNoopPlugin(),syntaxTopLevelAwait=makeNoopPlugin();var all={"syntax-async-generators":syntaxAsyncGenerators,"syntax-class-properties":syntaxClassProperties,"syntax-class-static-block":syntaxClassStaticBlock,"syntax-import-meta":syntaxImportMeta,"syntax-object-rest-spread":syntaxObjectRestSpread,"syntax-optional-catch-binding":syntaxOptionalCatchBinding,"syntax-top-level-await":syntaxTopLevelAwait,"external-helpers":externalHelpers,"syntax-decimal":syntaxDecimal,"syntax-decorators":syntaxDecorators,"syntax-destructuring-private":syntaxDestructuringPrivate,"syntax-do-expressions":syntaxDoExpressions,"syntax-explicit-resource-management":syntaxExplicitResourceManagement,"syntax-export-default-from":syntaxExportDefaultFrom,"syntax-flow":syntaxFlow,"syntax-function-bind":syntaxFunctionBind,"syntax-function-sent":syntaxFunctionSent,"syntax-import-assertions":_syntaxImportAssertions,"syntax-import-attributes":_syntaxImportAttributes,"syntax-import-reflection":syntaxImportReflection,"syntax-jsx":syntaxJsx,"syntax-module-blocks":syntaxModuleBlocks,"syntax-optional-chaining-assign":syntaxOptionalChainingAssign,"syntax-pipeline-operator":syntaxPipelineOperator,"syntax-record-and-tuple":syntaxRecordAndTuple,"syntax-typescript":syntaxTypescript,"transform-async-generator-functions":proposalAsyncGeneratorFunctions,"transform-class-properties":proposalClassProperties,"transform-class-static-block":proposalClassStaticBlock,"proposal-decorators":proposalDecorators,"proposal-destructuring-private":proposalDestructuringPrivate,"proposal-do-expressions":proposalDoExpressions,"proposal-duplicate-named-capturing-groups-regex":proposalDuplicateNamedCapturingGroupsRegex,"transform-dynamic-import":proposalDynamicImport,"proposal-export-default-from":proposalExportDefaultFrom,"transform-export-namespace-from":proposalExportNamespaceFrom,"proposal-function-bind":proposalFunctionBind,"proposal-function-sent":proposalFunctionSent,"transform-json-strings":proposalJsonStrings,"transform-logical-assignment-operators":proposalLogicalAssignmentOperators,"transform-nullish-coalescing-operator":proposalNullishCoalescingOperator,"transform-numeric-separator":proposalNumericSeparator,"transform-object-rest-spread":proposalObjectRestSpread,"transform-optional-catch-binding":proposalOptionalCatchBinding,"transform-optional-chaining":proposalOptionalChaining,"proposal-optional-chaining-assign":proposalOptionalChainingAssign,"proposal-pipeline-operator":proposalPipelineOperator,"transform-private-methods":proposalPrivateMethods,"transform-private-property-in-object":proposalPrivatePropertyInObject,"proposal-record-and-tuple":proposalRecordAndTuple,"proposal-regexp-modifiers":proposalRegexpModifiers,"proposal-throw-expressions":proposalThrowExpressions,"transform-unicode-property-regex":proposalUnicodePropertyRegex,"transform-unicode-sets-regex":_transformUnicodeSetsRegex,"transform-async-to-generator":_transformAsyncToGenerator,"transform-arrow-functions":_transformArrowFunctions,"transform-block-scoped-functions":_transformBlockScopedFunctions,"transform-block-scoping":_transformBlockScoping,"transform-classes":_transformClasses,"transform-computed-properties":_transformComputedProperties,"transform-destructuring":_transformDestructuring,"transform-dotall-regex":_transformDotallRegex,"transform-duplicate-keys":_transformDuplicateKeys,"transform-exponentiation-operator":transformExponentialOperator,"transform-flow-comments":transformFlowComments,"transform-flow-strip-types":transformFlowStripTypes,"transform-for-of":_transformForOf,"transform-function-name":_transformFunctionName,"transform-instanceof":transformInstanceof,"transform-jscript":transformJscript,"transform-literals":_transformLiterals,"transform-member-expression-literals":_transformMemberExpressionLiterals,"transform-modules-amd":_transformModulesAmd,"transform-modules-commonjs":transformModulesCommonJS,"transform-modules-systemjs":_transformModulesSystemjs,"transform-modules-umd":_transformModulesUmd,"transform-named-capturing-groups-regex":_transformNamedCapturingGroupsRegex,"transform-new-target":_transformNewTarget,"transform-object-assign":transformObjectAssign,"transform-object-super":_transformObjectSuper,"transform-object-set-prototype-of-to-assign":transformObjectSetPrototypeOfToAssign,"transform-parameters":_transformParameters,"transform-property-literals":_transformPropertyLiterals,"transform-property-mutators":transformPropertyMutators,"transform-proto-to-assign":transformProtoToAssign,"transform-react-constant-elements":transformReactConstantElements,"transform-react-display-name":transformReactDisplayName,"transform-react-inline-elements":transformReactInlineElements,"transform-react-jsx":transformReactJSX,"transform-react-jsx-compat":transformReactJsxCompat,"transform-react-jsx-development":transformReactJSXDevelopment,"transform-react-jsx-self":transformReactJsxSelf,"transform-react-jsx-source":transformReactJsxSource,"transform-regenerator":_transformRegenerator,"transform-reserved-words":_transformReservedWords,"transform-runtime":transformRuntime,"transform-shorthand-properties":_transformShorthandProperties,"transform-spread":_transformSpread,"transform-sticky-regex":_transformStickyRegex,"transform-strict-mode":transformStrictMode,"transform-template-literals":_transformTemplateLiterals,"transform-typeof-symbol":_transformTypeofSymbol,"transform-typescript":transformTypeScript,"transform-unicode-escapes":_transformUnicodeEscapes,"transform-unicode-regex":_transformUnicodeRegex,"proposal-explicit-resource-management":proposalExplicitResourceManagement,"proposal-import-defer":proposalImportDefer,"proposal-json-modules":proposalJsonModules};var preset2015=function preset2015(_,opts){var loose=false;var modules="commonjs";var spec=false;if(opts!==undefined){if(opts.loose!==undefined)loose=opts.loose;if(opts.modules!==undefined)modules=opts.modules;if(opts.spec!==undefined)spec=opts.spec;}var optsLoose={loose:loose};return{plugins:[[_transformTemplateLiterals,{loose:loose,spec:spec}],_transformLiterals,_transformFunctionName,[_transformArrowFunctions,{spec:spec}],_transformBlockScopedFunctions,[_transformClasses,optsLoose],_transformObjectSuper,_transformShorthandProperties,_transformDuplicateKeys,[_transformComputedProperties,optsLoose],[_transformForOf,optsLoose],_transformStickyRegex,_transformUnicodeEscapes,_transformUnicodeRegex,[_transformSpread,optsLoose],[_transformParameters,optsLoose],[_transformDestructuring,optsLoose],_transformBlockScoping,_transformTypeofSymbol,transformInstanceof,(modules==="commonjs"||modules==="cjs")&&[transformModulesCommonJS,optsLoose],modules==="systemjs"&&[_transformModulesSystemjs,optsLoose],modules==="amd"&&[_transformModulesAmd,optsLoose],modules==="umd"&&[_transformModulesUmd,optsLoose],[_transformRegenerator,{async:false,asyncGenerators:false}]].filter(Boolean)};};var presetStage3=function presetStage3(_,opts){if(opts===void 0){opts={};}var _opts=opts,_opts$loose=_opts.loose,loose=_opts$loose===void 0?false:_opts$loose,_opts$decoratorsLegac=_opts.decoratorsLegacy,decoratorsLegacy=_opts$decoratorsLegac===void 0?false:_opts$decoratorsLegac,_opts$decoratorsVersi=_opts.decoratorsVersion,decoratorsVersion=_opts$decoratorsVersi===void 0?"2018-09":_opts$decoratorsVersi,decoratorsBeforeExport=_opts.decoratorsBeforeExport;var plugins=[[_syntaxImportAttributes,{deprecatedAssertSyntax:true}],_transformUnicodeSetsRegex,proposalDuplicateNamedCapturingGroupsRegex,[proposalDecorators,{version:decoratorsLegacy?"legacy":decoratorsVersion,decoratorsBeforeExport:decoratorsBeforeExport}],proposalRegexpModifiers,proposalExplicitResourceManagement,proposalJsonModules].concat(_toConsumableArray([proposalExportNamespaceFrom,proposalLogicalAssignmentOperators,[proposalOptionalChaining,{loose:loose}],[proposalNullishCoalescingOperator,{loose:loose}],[proposalClassProperties,{loose:loose}],proposalJsonStrings,proposalNumericSeparator,[proposalPrivateMethods,{loose:loose}],proposalPrivatePropertyInObject,proposalClassStaticBlock]));return{plugins:plugins};};var presetStage2=function presetStage2(_,opts){if(opts===void 0){opts={};}var _opts=opts,_opts$pipelineProposa=_opts.pipelineProposal,pipelineProposal=_opts$pipelineProposa===void 0?"minimal":_opts$pipelineProposa,_opts$pipelineTopicTo=_opts.pipelineTopicToken,pipelineTopicToken=_opts$pipelineTopicTo===void 0?"%":_opts$pipelineTopicTo,_opts$recordAndTupleS=_opts.recordAndTupleSyntax,recordAndTupleSyntax=_opts$recordAndTupleS===void 0?"hash":_opts$recordAndTupleS;return{presets:[[presetStage3,opts]],plugins:[proposalDestructuringPrivate,[proposalPipelineOperator,{proposal:pipelineProposal,topicToken:pipelineTopicToken}],proposalFunctionSent,proposalThrowExpressions,[proposalRecordAndTuple,{syntaxType:recordAndTupleSyntax}],syntaxModuleBlocks,syntaxImportReflection]};};var presetStage1=function presetStage1(_,opts){if(opts===void 0){opts={};}var _opts=opts,_opts$loose=_opts.loose,loose=_opts$loose===void 0?false:_opts$loose,_opts$useBuiltIns=_opts.useBuiltIns,useBuiltIns=_opts$useBuiltIns===void 0?false:_opts$useBuiltIns,decoratorsLegacy=_opts.decoratorsLegacy,decoratorsVersion=_opts.decoratorsVersion,decoratorsBeforeExport=_opts.decoratorsBeforeExport,pipelineProposal=_opts.pipelineProposal,pipelineTopicToken=_opts.pipelineTopicToken,recordAndTupleSyntax=_opts.recordAndTupleSyntax,_opts$optionalChainin=_opts.optionalChainingAssignVersion,optionalChainingAssignVersion=_opts$optionalChainin===void 0?"2023-07":_opts$optionalChainin;return{presets:[[presetStage2,{loose:loose,useBuiltIns:useBuiltIns,decoratorsLegacy:decoratorsLegacy,decoratorsVersion:decoratorsVersion,decoratorsBeforeExport:decoratorsBeforeExport,pipelineProposal:pipelineProposal,pipelineTopicToken:pipelineTopicToken,recordAndTupleSyntax:recordAndTupleSyntax}]],plugins:[syntaxDecimal,proposalExportDefaultFrom,proposalDoExpressions,[proposalOptionalChainingAssign,{version:optionalChainingAssignVersion}]]};};var presetStage0=function presetStage0(_,opts){if(opts===void 0){opts={};}var _opts=opts,_opts$loose=_opts.loose,loose=_opts$loose===void 0?false:_opts$loose,_opts$useBuiltIns=_opts.useBuiltIns,useBuiltIns=_opts$useBuiltIns===void 0?false:_opts$useBuiltIns,decoratorsLegacy=_opts.decoratorsLegacy,decoratorsVersion=_opts.decoratorsVersion,decoratorsBeforeExport=_opts.decoratorsBeforeExport,pipelineProposal=_opts.pipelineProposal,pipelineTopicToken=_opts.pipelineTopicToken;return{presets:[[presetStage1,{loose:loose,useBuiltIns:useBuiltIns,decoratorsLegacy:decoratorsLegacy,decoratorsVersion:decoratorsVersion,decoratorsBeforeExport:decoratorsBeforeExport,pipelineProposal:pipelineProposal,pipelineTopicToken:pipelineTopicToken}]],plugins:[proposalFunctionBind]};};function bool(value){if(value==null)return false;return value&&value!=="false"&&value!=="0";}var semver$1=bool(browser$1$1.env["BABEL_8_BREAKING"])?requireSemver$2():requireSemver$2();var logPlugin=function logPlugin(item,targetVersions,list){var filteredList=getInclusionReasons(item,targetVersions,list);var support=list[item];{if(item.startsWith("transform-")){var proposalName="proposal-"+item.slice(10);if(proposalName==="proposal-dynamic-import"||hasOwnProperty.call(plugins$1,proposalName)){item=proposalName;}}}if(!support){console.log("  "+item);return;}var formattedTargets="{";var first=true;for(var _i=0,_arr=Object.keys(filteredList);_i<_arr.length;_i++){var target=_arr[_i];if(!first)formattedTargets+=",";first=false;formattedTargets+=" "+target;if(support[target])formattedTargets+=" < "+support[target];}formattedTargets+=" }";console.log("  "+item+" "+formattedTargets);};var transformAsyncArrowsInClass={exports:{}};(function(module,exports){exports.__esModule=true;exports["default"]=void 0;var OPTS={allowInsertArrow:false,specCompliant:false};var _default=function _default(_ref){var t=_ref.types;return{name:"transform-async-arrows-in-class",visitor:{ArrowFunctionExpression:function ArrowFunctionExpression(path){if(path.node.async&&path.findParent(t.isClassMethod)){path.arrowFunctionToExpression(OPTS);}}}};};exports["default"]=_default;module.exports=exports["default"];})(transformAsyncArrowsInClass,transformAsyncArrowsInClass.exports);var transformAsyncArrowsInClassExports=transformAsyncArrowsInClass.exports;var transformEdgeDefaultParameters={exports:{}};(function(module,exports){exports.__esModule=true;exports["default"]=void 0;var _default=function _default(_ref){var t=_ref.types;var isArrowParent=function isArrowParent(p){return p.parentKey==="params"&&p.parentPath&&t.isArrowFunctionExpression(p.parentPath);};return{name:"transform-edge-default-parameters",visitor:{AssignmentPattern:function AssignmentPattern(path){var arrowArgParent=path.find(isArrowParent);if(arrowArgParent&&path.parent.shorthand){path.parent.shorthand=false;(path.parent.extra||{}).shorthand=false;path.scope.rename(path.parent.key.name);}}}};};exports["default"]=_default;module.exports=exports["default"];})(transformEdgeDefaultParameters,transformEdgeDefaultParameters.exports);var transformEdgeDefaultParametersExports=transformEdgeDefaultParameters.exports;var transformEdgeFunctionName={exports:{}};(function(module,exports){exports.__esModule=true;exports["default"]=void 0;var _default=function _default(_ref){var t=_ref.types;return{name:"transform-edge-function-name",visitor:{FunctionExpression:{exit:function exit(path){if(!path.node.id&&t.isIdentifier(path.parent.id)){var id=t.cloneNode(path.parent.id);var binding=path.scope.getBinding(id.name);if(binding==null?void 0:binding.constantViolations.length){path.scope.rename(id.name);}path.node.id=id;}}}}};};exports["default"]=_default;module.exports=exports["default"];})(transformEdgeFunctionName,transformEdgeFunctionName.exports);var transformEdgeFunctionNameExports=transformEdgeFunctionName.exports;var transformTaggedTemplateCaching={exports:{}};(function(module,exports){exports.__esModule=true;exports["default"]=void 0;var _default=function _default(_ref){var t=_ref.types;return{name:"transform-tagged-template-caching",visitor:{TaggedTemplateExpression:function TaggedTemplateExpression(path,state){var processed=state.get("processed");if(!processed){processed=new WeakSet();state.set("processed",processed);}if(processed.has(path.node))return path.skip();var expressions=path.node.quasi.expressions;var identity=state.get("identity");if(!identity){identity=path.scope.getProgramParent().generateDeclaredUidIdentifier("_");state.set("identity",identity);var binding=path.scope.getBinding(identity.name);binding.path.get("init").replaceWith(t.arrowFunctionExpression([t.identifier("t")],t.identifier("t")));}var template=t.taggedTemplateExpression(t.cloneNode(identity),t.templateLiteral(path.node.quasi.quasis,expressions.map(function(){return t.numericLiteral(0);})));processed.add(template);var ident=path.scope.getProgramParent().generateDeclaredUidIdentifier("t");path.scope.getBinding(ident.name).path.parent.kind="let";var inlineCache=t.logicalExpression("||",ident,t.assignmentExpression("=",t.cloneNode(ident),template));var node=t.callExpression(path.node.tag,[inlineCache].concat(_toConsumableArray(expressions)));path.replaceWith(node);}}};};exports["default"]=_default;module.exports=exports["default"];})(transformTaggedTemplateCaching,transformTaggedTemplateCaching.exports);var transformTaggedTemplateCachingExports=transformTaggedTemplateCaching.exports;var transformSafariBlockShadowing={exports:{}};(function(module,exports){exports.__esModule=true;exports["default"]=_default;function _default(_ref){var t=_ref.types;return{name:"transform-safari-block-shadowing",visitor:{VariableDeclarator:function VariableDeclarator(path){var kind=path.parent.kind;if(kind!=="let"&&kind!=="const")return;var block=path.scope.block;if(t.isFunction(block)||t.isProgram(block))return;var bindings=t.getOuterBindingIdentifiers(path.node.id);for(var _i=0,_Object$keys=Object.keys(bindings);_i<_Object$keys.length;_i++){var name=_Object$keys[_i];var scope=path.scope;if(!scope.hasOwnBinding(name))continue;while(scope=scope.parent){if(scope.hasOwnBinding(name)){path.scope.rename(name);break;}if(t.isFunction(scope.block)||t.isProgram(scope.block)){break;}}}}}};}module.exports=exports["default"];})(transformSafariBlockShadowing,transformSafariBlockShadowing.exports);var transformSafariBlockShadowingExports=transformSafariBlockShadowing.exports;var transformSafariForShadowing={exports:{}};(function(module,exports){exports.__esModule=true;exports["default"]=void 0;function handle(declaration){if(!declaration.isVariableDeclaration())return;var fn=declaration.getFunctionParent();var name=declaration.node.declarations[0].id.name;if(fn&&fn.scope.hasOwnBinding(name)&&fn.scope.getOwnBinding(name).kind==="param"){declaration.scope.rename(name);}}var _default=function _default(){return{name:"transform-safari-for-shadowing",visitor:{ForXStatement:function ForXStatement(path){handle(path.get("left"));},ForStatement:function ForStatement(path){handle(path.get("init"));}}};};exports["default"]=_default;module.exports=exports["default"];})(transformSafariForShadowing,transformSafariForShadowing.exports);var transformSafariForShadowingExports=transformSafariForShadowing.exports;function shouldTransform$1(path){var node=path.node;var functionId=node.id;if(!functionId)return false;var name=functionId.name;var paramNameBinding=path.scope.getOwnBinding(name);if(paramNameBinding===undefined){return false;}if(paramNameBinding.kind!=="param"){return false;}if(paramNameBinding.identifier===paramNameBinding.path.node){return false;}return name;}var bugfixSafariIdDestructuringCollisionInFunctionExpression=declare(function(api){api.assertVersion("*");return{name:"plugin-bugfix-safari-id-destructuring-collision-in-function-expression",visitor:{FunctionExpression:function FunctionExpression(path){var name=shouldTransform$1(path);if(name){var scope=path.scope;var newParamName=scope.generateUid(name);scope.rename(name,newParamName);}}}};});function matchAffectedArguments(argumentNodes){var spreadIndex=argumentNodes.findIndex(function(node){return isSpreadElement$1(node);});return spreadIndex>=0&&spreadIndex!==argumentNodes.length-1;}function shouldTransform(path){var optionalPath=path;var chains=[];for(;;){if(optionalPath.isOptionalMemberExpression()){chains.push(optionalPath.node);optionalPath=skipTransparentExprWrappers(optionalPath.get("object"));}else if(optionalPath.isOptionalCallExpression()){chains.push(optionalPath.node);optionalPath=skipTransparentExprWrappers(optionalPath.get("callee"));}else{break;}}for(var i=0;i<chains.length;i++){var node=chains[i];if(isOptionalCallExpression$2(node)&&matchAffectedArguments(node.arguments)){if(node.optional){return true;}var callee=chains[i+1];if(isOptionalMemberExpression$3(callee,{optional:true})){return true;}}}return false;}var bugfixV8SpreadParametersInOptionalChaining=declare(function(api){var _api$assumption,_api$assumption2;api.assertVersion("*");var noDocumentAll=(_api$assumption=api.assumption("noDocumentAll"))!=null?_api$assumption:false;var pureGetters=(_api$assumption2=api.assumption("pureGetters"))!=null?_api$assumption2:false;return{name:"bugfix-v8-spread-parameters-in-optional-chaining",visitor:{"OptionalCallExpression|OptionalMemberExpression":function OptionalCallExpressionOptionalMemberExpression(path){if(shouldTransform(path)){transform$1(path,{noDocumentAll:noDocumentAll,pureGetters:pureGetters});}}}};});function isNameOrLength(key){if(isIdentifier$j(key)){return key.name==="name"||key.name==="length";}if(isStringLiteral$5(key)){return key.value==="name"||key.value==="length";}return false;}function isStaticFieldWithValue(node){return(isClassProperty(node)||isClassPrivateProperty(node))&&node["static"]&&!!node.value;}var hasReferenceVisitor={ReferencedIdentifier:function ReferencedIdentifier(path,state){if(path.node.name===state.name){state.ref();path.stop();}},Scope:function Scope(path,_ref){var name=_ref.name;if(path.scope.hasOwnBinding(name)){path.skip();}}};function isReferenceOrThis(node,name){return isThisExpression$2(node)||name&&isIdentifier$j(node,{name:name});}var hasReferenceOrThisVisitor={"ThisExpression|ReferencedIdentifier":function ThisExpressionReferencedIdentifier(path,state){if(isReferenceOrThis(path.node,state.name)){state.ref();path.stop();}},FunctionParent:function FunctionParent(path,state){if(path.isArrowFunctionExpression())return;if(state.name&&!path.scope.hasOwnBinding(state.name)){path.traverse(hasReferenceVisitor,state);}path.skip();if(path.isMethod()){requeueComputedKeyAndDecorators(path);}}};function getPotentiallyBuggyFieldsIndexes(path){var _path$node$id;var buggyPublicStaticFieldsIndexes=[];var classReferenced=false;var className=(_path$node$id=path.node.id)==null?void 0:_path$node$id.name;var hasReferenceState={name:className,ref:function ref(){return classReferenced=true;}};if(className){for(var _iterator=_createForOfIteratorHelperLoose(path.get("body.body")),_step;!(_step=_iterator()).done;){var el=_step.value;if(el.node.computed){el.get("key").traverse(hasReferenceVisitor,hasReferenceState);if(classReferenced)break;}}}var nextPotentiallyBuggy=false;var body=path.node.body.body;for(var i=0;i<body.length;i++){var node=body[i];if(!nextPotentiallyBuggy){if(isStaticBlock(node)){classReferenced=true;nextPotentiallyBuggy=true;}else if(isStaticFieldWithValue(node)){if(!classReferenced){if(isReferenceOrThis(node.value,className)){classReferenced=true;}else{path.get("body.body."+i+".value").traverse(hasReferenceOrThisVisitor,hasReferenceState);}}if(classReferenced){nextPotentiallyBuggy=!path.scope.isPure(node.value);}}}if(isClassProperty(node,{"static":true})&&(nextPotentiallyBuggy||node.computed||isNameOrLength(node.key))){buggyPublicStaticFieldsIndexes.push(i);}}return buggyPublicStaticFieldsIndexes;}function getNameOrLengthStaticFieldsIndexes(path){var indexes=[];var body=path.node.body.body;for(var i=0;i<body.length;i++){var node=body[i];if(isClassProperty(node,{"static":true,computed:false})&&isNameOrLength(node.key)){indexes.push(i);}}return indexes;}function toRanges(nums){var ranges=[];if(nums.length===0)return ranges;var start=nums[0];var end=start+1;for(var i=1;i<nums.length;i++){if(nums[i]<=nums[i-1]){throw new Error("Internal Babel error: nums must be in ascending order");}if(nums[i]===end){end++;}else{ranges.push([start,end]);start=nums[i];end=start+1;}}ranges.push([start,end]);return ranges;}function buildFieldsReplacement(fields,scope,file){return staticBlock(fields.map(function(field){var key=field.computed||!isIdentifier$j(field.key)?field.key:stringLiteral$8(field.key.name);return expressionStatement$a(callExpression$d(file.addHelper("defineProperty"),[thisExpression$4(),key,field.value||scope.buildUndefinedNode()]));}));}var bugfixV8StaticClassFieldsRedefineReadonly=declare(function(api){api.assertVersion("*");var setPublicClassFields=api.assumption("setPublicClassFields");return{name:"bugfix-v8-static-class-fields-redefine-readonly",visitor:{Class:function(_Class){function Class(_x){return _Class.apply(this,arguments);}Class.toString=function(){return _Class.toString();};return Class;}(function(path){var ranges=toRanges(setPublicClassFields?getNameOrLengthStaticFieldsIndexes(path):getPotentiallyBuggyFieldsIndexes(path));for(var i=ranges.length-1;i>=0;i--){var _ranges$i=_slicedToArray(ranges[i],2),start=_ranges$i[0],end=_ranges$i[1];var startPath=path.get("body.body")[start];startPath.replaceWith(buildFieldsReplacement(path.node.body.body.slice(start,end),path.scope,this.file));for(var j=end-1;j>start;j--){path.get("body.body")[j].remove();}}})}};});var availablePlugins$1={"bugfix/transform-async-arrows-in-class":function bugfixTransformAsyncArrowsInClass(){return transformAsyncArrowsInClassExports;},"bugfix/transform-edge-default-parameters":function bugfixTransformEdgeDefaultParameters(){return transformEdgeDefaultParametersExports;},"bugfix/transform-edge-function-name":function bugfixTransformEdgeFunctionName(){return transformEdgeFunctionNameExports;},"bugfix/transform-safari-block-shadowing":function bugfixTransformSafariBlockShadowing(){return transformSafariBlockShadowingExports;},"bugfix/transform-safari-for-shadowing":function bugfixTransformSafariForShadowing(){return transformSafariForShadowingExports;},"bugfix/transform-safari-id-destructuring-collision-in-function-expression":function bugfixTransformSafariIdDestructuringCollisionInFunctionExpression(){return bugfixSafariIdDestructuringCollisionInFunctionExpression;},"bugfix/transform-tagged-template-caching":function bugfixTransformTaggedTemplateCaching(){return transformTaggedTemplateCachingExports;},"bugfix/transform-v8-spread-parameters-in-optional-chaining":function bugfixTransformV8SpreadParametersInOptionalChaining(){return bugfixV8SpreadParametersInOptionalChaining;},"bugfix/transform-v8-static-class-fields-redefine-readonly":function bugfixTransformV8StaticClassFieldsRedefineReadonly(){return bugfixV8StaticClassFieldsRedefineReadonly;},"syntax-import-assertions":function syntaxImportAssertions(){return _syntaxImportAssertions;},"syntax-import-attributes":function syntaxImportAttributes(){return _syntaxImportAttributes;},"transform-arrow-functions":function transformArrowFunctions(){return _transformArrowFunctions;},"transform-async-generator-functions":function transformAsyncGeneratorFunctions(){return proposalAsyncGeneratorFunctions;},"transform-async-to-generator":function transformAsyncToGenerator(){return _transformAsyncToGenerator;},"transform-block-scoped-functions":function transformBlockScopedFunctions(){return _transformBlockScopedFunctions;},"transform-block-scoping":function transformBlockScoping(){return _transformBlockScoping;},"transform-class-properties":function transformClassProperties(){return proposalClassProperties;},"transform-class-static-block":function transformClassStaticBlock(){return proposalClassStaticBlock;},"transform-classes":function transformClasses(){return _transformClasses;},"transform-computed-properties":function transformComputedProperties(){return _transformComputedProperties;},"transform-destructuring":function transformDestructuring(){return _transformDestructuring;},"transform-dotall-regex":function transformDotallRegex(){return _transformDotallRegex;},"transform-duplicate-keys":function transformDuplicateKeys(){return _transformDuplicateKeys;},"transform-dynamic-import":function transformDynamicImport(){return proposalDynamicImport;},"transform-exponentiation-operator":function transformExponentiationOperator(){return transformExponentialOperator;},"transform-export-namespace-from":function transformExportNamespaceFrom(){return proposalExportNamespaceFrom;},"transform-for-of":function transformForOf(){return _transformForOf;},"transform-function-name":function transformFunctionName(){return _transformFunctionName;},"transform-json-strings":function transformJsonStrings(){return proposalJsonStrings;},"transform-literals":function transformLiterals(){return _transformLiterals;},"transform-logical-assignment-operators":function transformLogicalAssignmentOperators(){return proposalLogicalAssignmentOperators;},"transform-member-expression-literals":function transformMemberExpressionLiterals(){return _transformMemberExpressionLiterals;},"transform-modules-amd":function transformModulesAmd(){return _transformModulesAmd;},"transform-modules-commonjs":function transformModulesCommonjs(){return transformModulesCommonJS;},"transform-modules-systemjs":function transformModulesSystemjs(){return _transformModulesSystemjs;},"transform-modules-umd":function transformModulesUmd(){return _transformModulesUmd;},"transform-named-capturing-groups-regex":function transformNamedCapturingGroupsRegex(){return _transformNamedCapturingGroupsRegex;},"transform-new-target":function transformNewTarget(){return _transformNewTarget;},"transform-nullish-coalescing-operator":function transformNullishCoalescingOperator(){return proposalNullishCoalescingOperator;},"transform-numeric-separator":function transformNumericSeparator(){return proposalNumericSeparator;},"transform-object-rest-spread":function transformObjectRestSpread(){return proposalObjectRestSpread;},"transform-object-super":function transformObjectSuper(){return _transformObjectSuper;},"transform-optional-catch-binding":function transformOptionalCatchBinding(){return proposalOptionalCatchBinding;},"transform-optional-chaining":function transformOptionalChaining(){return proposalOptionalChaining;},"transform-parameters":function transformParameters(){return _transformParameters;},"transform-private-methods":function transformPrivateMethods(){return proposalPrivateMethods;},"transform-private-property-in-object":function transformPrivatePropertyInObject(){return proposalPrivatePropertyInObject;},"transform-property-literals":function transformPropertyLiterals(){return _transformPropertyLiterals;},"transform-regenerator":function transformRegenerator(){return _transformRegenerator;},"transform-reserved-words":function transformReservedWords(){return _transformReservedWords;},"transform-shorthand-properties":function transformShorthandProperties(){return _transformShorthandProperties;},"transform-spread":function transformSpread(){return _transformSpread;},"transform-sticky-regex":function transformStickyRegex(){return _transformStickyRegex;},"transform-template-literals":function transformTemplateLiterals(){return _transformTemplateLiterals;},"transform-typeof-symbol":function transformTypeofSymbol(){return _transformTypeofSymbol;},"transform-unicode-escapes":function transformUnicodeEscapes(){return _transformUnicodeEscapes;},"transform-unicode-property-regex":function transformUnicodePropertyRegex(){return proposalUnicodePropertyRegex;},"transform-unicode-regex":function transformUnicodeRegex(){return _transformUnicodeRegex;},"transform-unicode-sets-regex":function transformUnicodeSetsRegex(){return _transformUnicodeSetsRegex;}};var minVersions={};{Object.assign(minVersions,{"bugfix/transform-safari-id-destructuring-collision-in-function-expression":"7.16.0","bugfix/transform-v8-static-class-fields-redefine-readonly":"7.12.0","syntax-import-attributes":"7.22.0","transform-class-static-block":"7.12.0","transform-private-property-in-object":"7.10.0"});var e=function e(){return function(){return function(){return{};};};};Object.assign(availablePlugins$1,{"syntax-async-generators":e(),"syntax-class-properties":e(),"syntax-class-static-block":e(),"syntax-dynamic-import":e(),"syntax-export-namespace-from":e(),"syntax-import-meta":e(),"syntax-json-strings":e(),"syntax-logical-assignment-operators":e(),"syntax-nullish-coalescing-operator":e(),"syntax-numeric-separator":e(),"syntax-object-rest-spread":e(),"syntax-optional-catch-binding":e(),"syntax-optional-chaining":e(),"syntax-private-property-in-object":e(),"syntax-top-level-await":e()});{availablePlugins$1["unicode-sets-regex"]=e();}}function addProposalSyntaxPlugins(items,proposalSyntaxPlugins){proposalSyntaxPlugins.forEach(function(plugin){items.add(plugin);});}function removeUnnecessaryItems(items,overlapping){items.forEach(function(item){var _overlapping$item;(_overlapping$item=overlapping[item])==null||_overlapping$item.forEach(function(name){return items["delete"](name);});});}function removeUnsupportedItems(items,babelVersion){items.forEach(function(item){if(hasOwnProperty.call(minVersions,item)&&semver$1.lt(babelVersion,minVersions[item])){items["delete"](item);}});}var moduleTransformations={amd:"transform-modules-amd",commonjs:"transform-modules-commonjs",cjs:"transform-modules-commonjs",systemjs:"transform-modules-systemjs",umd:"transform-modules-umd"};var require$$0$1={"bugfix/transform-async-arrows-in-class":{chrome:"55",opera:"42",edge:"15",firefox:"52",safari:"11",node:"7.6",deno:"1",ios:"11",samsung:"6",opera_mobile:"42",electron:"1.6"},"bugfix/transform-edge-default-parameters":{chrome:"49",opera:"36",edge:"18",firefox:"52",safari:"10",node:"6",deno:"1",ios:"10",samsung:"5",opera_mobile:"36",electron:"0.37"},"bugfix/transform-edge-function-name":{chrome:"51",opera:"38",edge:"79",firefox:"53",safari:"10",node:"6.5",deno:"1",ios:"10",samsung:"5",opera_mobile:"41",electron:"1.2"},"bugfix/transform-safari-block-shadowing":{chrome:"49",opera:"36",edge:"12",firefox:"44",safari:"11",node:"6",deno:"1",ie:"11",ios:"11",samsung:"5",opera_mobile:"36",electron:"0.37"},"bugfix/transform-safari-for-shadowing":{chrome:"49",opera:"36",edge:"12",firefox:"4",safari:"11",node:"6",deno:"1",ie:"11",ios:"11",samsung:"5",rhino:"1.7.13",opera_mobile:"36",electron:"0.37"},"bugfix/transform-safari-id-destructuring-collision-in-function-expression":{chrome:"49",opera:"36",edge:"14",firefox:"2",safari:"16.3",node:"6",deno:"1",ios:"16.3",samsung:"5",opera_mobile:"36",electron:"0.37"},"bugfix/transform-tagged-template-caching":{chrome:"41",opera:"28",edge:"12",firefox:"34",safari:"13",node:"4",deno:"1",ios:"13",samsung:"3.4",rhino:"1.7.14",opera_mobile:"28",electron:"0.21"},"bugfix/transform-v8-spread-parameters-in-optional-chaining":{chrome:"91",opera:"77",edge:"91",firefox:"74",safari:"13.1",node:"16.9",deno:"1.9",ios:"13.4",samsung:"16",opera_mobile:"64",electron:"13.0"},"transform-optional-chaining":{chrome:"80",opera:"67",edge:"80",firefox:"74",safari:"13.1",node:"14",deno:"1",ios:"13.4",samsung:"13",opera_mobile:"57",electron:"8.0"},"proposal-optional-chaining":{chrome:"80",opera:"67",edge:"80",firefox:"74",safari:"13.1",node:"14",deno:"1",ios:"13.4",samsung:"13",opera_mobile:"57",electron:"8.0"},"transform-parameters":{chrome:"49",opera:"36",edge:"15",firefox:"53",safari:"10",node:"6",deno:"1",ios:"10",samsung:"5",opera_mobile:"36",electron:"0.37"},"transform-async-to-generator":{chrome:"55",opera:"42",edge:"15",firefox:"52",safari:"10.1",node:"7.6",deno:"1",ios:"10.3",samsung:"6",opera_mobile:"42",electron:"1.6"},"transform-template-literals":{chrome:"41",opera:"28",edge:"13",firefox:"34",safari:"9",node:"4",deno:"1",ios:"9",samsung:"3.4",opera_mobile:"28",electron:"0.21"},"transform-function-name":{chrome:"51",opera:"38",edge:"14",firefox:"53",safari:"10",node:"6.5",deno:"1",ios:"10",samsung:"5",opera_mobile:"41",electron:"1.2"},"transform-block-scoping":{chrome:"50",opera:"37",edge:"14",firefox:"53",safari:"10",node:"6",deno:"1",ios:"10",samsung:"5",opera_mobile:"37",electron:"1.1"}};var pluginBugfixes=require$$0$1;var require$$0={"transform-async-to-generator":["bugfix/transform-async-arrows-in-class"],"transform-parameters":["bugfix/transform-edge-default-parameters","bugfix/transform-safari-id-destructuring-collision-in-function-expression"],"transform-function-name":["bugfix/transform-edge-function-name"],"transform-block-scoping":["bugfix/transform-safari-block-shadowing","bugfix/transform-safari-for-shadowing"],"transform-template-literals":["bugfix/transform-tagged-template-caching"],"transform-optional-chaining":["bugfix/transform-v8-spread-parameters-in-optional-chaining"],"proposal-optional-chaining":["bugfix/transform-v8-spread-parameters-in-optional-chaining"],"transform-class-properties":["bugfix/transform-v8-static-class-fields-redefine-readonly"],"proposal-class-properties":["bugfix/transform-v8-static-class-fields-redefine-readonly"]};var overlappingPlugins$1=require$$0;var keys=Object.keys;var plugins=filterAvailable(plugins$1);var pluginsBugfixes=filterAvailable(pluginBugfixes);var overlappingPlugins=filterAvailable(overlappingPlugins$1);overlappingPlugins["syntax-import-attributes"]=["syntax-import-assertions"];function filterAvailable(data){var result={};for(var _iterator=_createForOfIteratorHelperLoose(keys(data)),_step;!(_step=_iterator()).done;){var plugin=_step.value;if(hasOwnProperty.call(availablePlugins$1,plugin)){result[plugin]=data[plugin];}}return result;}var TopLevelOptions={bugfixes:"bugfixes",configPath:"configPath",corejs:"corejs",debug:"debug",exclude:"exclude",forceAllTransforms:"forceAllTransforms",ignoreBrowserslistConfig:"ignoreBrowserslistConfig",include:"include",modules:"modules",shippedProposals:"shippedProposals",targets:"targets",useBuiltIns:"useBuiltIns",browserslistEnv:"browserslistEnv"};{Object.assign(TopLevelOptions,{loose:"loose",spec:"spec"});}var ModulesOption={"false":false,auto:"auto",amd:"amd",commonjs:"commonjs",cjs:"cjs",systemjs:"systemjs",umd:"umd"};var UseBuiltInsOption={"false":false,entry:"entry",usage:"usage"};var babel7Plugins={};var lib$2={};var builtInDefinitions={};var hasRequiredBuiltInDefinitions;function requireBuiltInDefinitions(){if(hasRequiredBuiltInDefinitions)return builtInDefinitions;hasRequiredBuiltInDefinitions=1;builtInDefinitions.__esModule=true;builtInDefinitions.StaticProperties=builtInDefinitions.InstanceProperties=builtInDefinitions.CommonIterators=builtInDefinitions.BuiltIns=void 0;var _corejs2BuiltIns=_interopRequireDefault(requireCorejs2BuiltIns());function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj};}var define=function define(name,pure,global,meta){if(global===void 0){global=[];}return{name:name,pure:pure,global:global,meta:meta};};var pureAndGlobal=function pureAndGlobal(pure,global,minRuntimeVersion){if(minRuntimeVersion===void 0){minRuntimeVersion=null;}return define(global[0],pure,global,{minRuntimeVersion:minRuntimeVersion});};var globalOnly=function globalOnly(global){return define(global[0],null,global);};var pureOnly=function pureOnly(pure,name){return define(name,pure,[]);};var ArrayNatureIterators=["es6.object.to-string","es6.array.iterator","web.dom.iterable"];var CommonIterators=["es6.string.iterator"].concat(ArrayNatureIterators);builtInDefinitions.CommonIterators=CommonIterators;var PromiseDependencies=["es6.object.to-string","es6.promise"];var BuiltIns={DataView:globalOnly(["es6.typed.data-view"]),Float32Array:globalOnly(["es6.typed.float32-array"]),Float64Array:globalOnly(["es6.typed.float64-array"]),Int8Array:globalOnly(["es6.typed.int8-array"]),Int16Array:globalOnly(["es6.typed.int16-array"]),Int32Array:globalOnly(["es6.typed.int32-array"]),Map:pureAndGlobal("map",["es6.map"].concat(_toConsumableArray(CommonIterators))),Number:globalOnly(["es6.number.constructor"]),Promise:pureAndGlobal("promise",PromiseDependencies),RegExp:globalOnly(["es6.regexp.constructor"]),Set:pureAndGlobal("set",["es6.set"].concat(_toConsumableArray(CommonIterators))),Symbol:pureAndGlobal("symbol/index",["es6.symbol"]),Uint8Array:globalOnly(["es6.typed.uint8-array"]),Uint8ClampedArray:globalOnly(["es6.typed.uint8-clamped-array"]),Uint16Array:globalOnly(["es6.typed.uint16-array"]),Uint32Array:globalOnly(["es6.typed.uint32-array"]),WeakMap:pureAndGlobal("weak-map",["es6.weak-map"].concat(_toConsumableArray(CommonIterators))),WeakSet:pureAndGlobal("weak-set",["es6.weak-set"].concat(_toConsumableArray(CommonIterators))),setImmediate:pureOnly("set-immediate","web.immediate"),clearImmediate:pureOnly("clear-immediate","web.immediate"),parseFloat:pureOnly("parse-float","es6.parse-float"),parseInt:pureOnly("parse-int","es6.parse-int")};builtInDefinitions.BuiltIns=BuiltIns;var InstanceProperties={__defineGetter__:globalOnly(["es7.object.define-getter"]),__defineSetter__:globalOnly(["es7.object.define-setter"]),__lookupGetter__:globalOnly(["es7.object.lookup-getter"]),__lookupSetter__:globalOnly(["es7.object.lookup-setter"]),anchor:globalOnly(["es6.string.anchor"]),big:globalOnly(["es6.string.big"]),bind:globalOnly(["es6.function.bind"]),blink:globalOnly(["es6.string.blink"]),bold:globalOnly(["es6.string.bold"]),codePointAt:globalOnly(["es6.string.code-point-at"]),copyWithin:globalOnly(["es6.array.copy-within"]),endsWith:globalOnly(["es6.string.ends-with"]),entries:globalOnly(ArrayNatureIterators),every:globalOnly(["es6.array.every"]),fill:globalOnly(["es6.array.fill"]),filter:globalOnly(["es6.array.filter"]),"finally":globalOnly(["es7.promise.finally"].concat(PromiseDependencies)),find:globalOnly(["es6.array.find"]),findIndex:globalOnly(["es6.array.find-index"]),fixed:globalOnly(["es6.string.fixed"]),flags:globalOnly(["es6.regexp.flags"]),flatMap:globalOnly(["es7.array.flat-map"]),fontcolor:globalOnly(["es6.string.fontcolor"]),fontsize:globalOnly(["es6.string.fontsize"]),forEach:globalOnly(["es6.array.for-each"]),includes:globalOnly(["es6.string.includes","es7.array.includes"]),indexOf:globalOnly(["es6.array.index-of"]),italics:globalOnly(["es6.string.italics"]),keys:globalOnly(ArrayNatureIterators),lastIndexOf:globalOnly(["es6.array.last-index-of"]),link:globalOnly(["es6.string.link"]),map:globalOnly(["es6.array.map"]),match:globalOnly(["es6.regexp.match"]),name:globalOnly(["es6.function.name"]),padStart:globalOnly(["es7.string.pad-start"]),padEnd:globalOnly(["es7.string.pad-end"]),reduce:globalOnly(["es6.array.reduce"]),reduceRight:globalOnly(["es6.array.reduce-right"]),repeat:globalOnly(["es6.string.repeat"]),replace:globalOnly(["es6.regexp.replace"]),search:globalOnly(["es6.regexp.search"]),small:globalOnly(["es6.string.small"]),some:globalOnly(["es6.array.some"]),sort:globalOnly(["es6.array.sort"]),split:globalOnly(["es6.regexp.split"]),startsWith:globalOnly(["es6.string.starts-with"]),strike:globalOnly(["es6.string.strike"]),sub:globalOnly(["es6.string.sub"]),sup:globalOnly(["es6.string.sup"]),toISOString:globalOnly(["es6.date.to-iso-string"]),toJSON:globalOnly(["es6.date.to-json"]),toString:globalOnly(["es6.object.to-string","es6.date.to-string","es6.regexp.to-string"]),trim:globalOnly(["es6.string.trim"]),trimEnd:globalOnly(["es7.string.trim-right"]),trimLeft:globalOnly(["es7.string.trim-left"]),trimRight:globalOnly(["es7.string.trim-right"]),trimStart:globalOnly(["es7.string.trim-left"]),values:globalOnly(ArrayNatureIterators)};builtInDefinitions.InstanceProperties=InstanceProperties;if("es6.array.slice"in _corejs2BuiltIns["default"]){InstanceProperties.slice=globalOnly(["es6.array.slice"]);}var StaticProperties={Array:{from:pureAndGlobal("array/from",["es6.symbol","es6.array.from"].concat(_toConsumableArray(CommonIterators))),isArray:pureAndGlobal("array/is-array",["es6.array.is-array"]),of:pureAndGlobal("array/of",["es6.array.of"])},Date:{now:pureAndGlobal("date/now",["es6.date.now"])},JSON:{stringify:pureOnly("json/stringify","es6.symbol")},Math:{acosh:pureAndGlobal("math/acosh",["es6.math.acosh"],"7.0.1"),asinh:pureAndGlobal("math/asinh",["es6.math.asinh"],"7.0.1"),atanh:pureAndGlobal("math/atanh",["es6.math.atanh"],"7.0.1"),cbrt:pureAndGlobal("math/cbrt",["es6.math.cbrt"],"7.0.1"),clz32:pureAndGlobal("math/clz32",["es6.math.clz32"],"7.0.1"),cosh:pureAndGlobal("math/cosh",["es6.math.cosh"],"7.0.1"),expm1:pureAndGlobal("math/expm1",["es6.math.expm1"],"7.0.1"),fround:pureAndGlobal("math/fround",["es6.math.fround"],"7.0.1"),hypot:pureAndGlobal("math/hypot",["es6.math.hypot"],"7.0.1"),imul:pureAndGlobal("math/imul",["es6.math.imul"],"7.0.1"),log1p:pureAndGlobal("math/log1p",["es6.math.log1p"],"7.0.1"),log10:pureAndGlobal("math/log10",["es6.math.log10"],"7.0.1"),log2:pureAndGlobal("math/log2",["es6.math.log2"],"7.0.1"),sign:pureAndGlobal("math/sign",["es6.math.sign"],"7.0.1"),sinh:pureAndGlobal("math/sinh",["es6.math.sinh"],"7.0.1"),tanh:pureAndGlobal("math/tanh",["es6.math.tanh"],"7.0.1"),trunc:pureAndGlobal("math/trunc",["es6.math.trunc"],"7.0.1")},Number:{EPSILON:pureAndGlobal("number/epsilon",["es6.number.epsilon"]),MIN_SAFE_INTEGER:pureAndGlobal("number/min-safe-integer",["es6.number.min-safe-integer"]),MAX_SAFE_INTEGER:pureAndGlobal("number/max-safe-integer",["es6.number.max-safe-integer"]),isFinite:pureAndGlobal("number/is-finite",["es6.number.is-finite"]),isInteger:pureAndGlobal("number/is-integer",["es6.number.is-integer"]),isSafeInteger:pureAndGlobal("number/is-safe-integer",["es6.number.is-safe-integer"]),isNaN:pureAndGlobal("number/is-nan",["es6.number.is-nan"]),parseFloat:pureAndGlobal("number/parse-float",["es6.number.parse-float"]),parseInt:pureAndGlobal("number/parse-int",["es6.number.parse-int"])},Object:{assign:pureAndGlobal("object/assign",["es6.object.assign"]),create:pureAndGlobal("object/create",["es6.object.create"]),defineProperties:pureAndGlobal("object/define-properties",["es6.object.define-properties"]),defineProperty:pureAndGlobal("object/define-property",["es6.object.define-property"]),entries:pureAndGlobal("object/entries",["es7.object.entries"]),freeze:pureAndGlobal("object/freeze",["es6.object.freeze"]),getOwnPropertyDescriptor:pureAndGlobal("object/get-own-property-descriptor",["es6.object.get-own-property-descriptor"]),getOwnPropertyDescriptors:pureAndGlobal("object/get-own-property-descriptors",["es7.object.get-own-property-descriptors"]),getOwnPropertyNames:pureAndGlobal("object/get-own-property-names",["es6.object.get-own-property-names"]),getOwnPropertySymbols:pureAndGlobal("object/get-own-property-symbols",["es6.symbol"]),getPrototypeOf:pureAndGlobal("object/get-prototype-of",["es6.object.get-prototype-of"]),is:pureAndGlobal("object/is",["es6.object.is"]),isExtensible:pureAndGlobal("object/is-extensible",["es6.object.is-extensible"]),isFrozen:pureAndGlobal("object/is-frozen",["es6.object.is-frozen"]),isSealed:pureAndGlobal("object/is-sealed",["es6.object.is-sealed"]),keys:pureAndGlobal("object/keys",["es6.object.keys"]),preventExtensions:pureAndGlobal("object/prevent-extensions",["es6.object.prevent-extensions"]),seal:pureAndGlobal("object/seal",["es6.object.seal"]),setPrototypeOf:pureAndGlobal("object/set-prototype-of",["es6.object.set-prototype-of"]),values:pureAndGlobal("object/values",["es7.object.values"])},Promise:{all:globalOnly(CommonIterators),race:globalOnly(CommonIterators)},Reflect:{apply:pureAndGlobal("reflect/apply",["es6.reflect.apply"]),construct:pureAndGlobal("reflect/construct",["es6.reflect.construct"]),defineProperty:pureAndGlobal("reflect/define-property",["es6.reflect.define-property"]),deleteProperty:pureAndGlobal("reflect/delete-property",["es6.reflect.delete-property"]),get:pureAndGlobal("reflect/get",["es6.reflect.get"]),getOwnPropertyDescriptor:pureAndGlobal("reflect/get-own-property-descriptor",["es6.reflect.get-own-property-descriptor"]),getPrototypeOf:pureAndGlobal("reflect/get-prototype-of",["es6.reflect.get-prototype-of"]),has:pureAndGlobal("reflect/has",["es6.reflect.has"]),isExtensible:pureAndGlobal("reflect/is-extensible",["es6.reflect.is-extensible"]),ownKeys:pureAndGlobal("reflect/own-keys",["es6.reflect.own-keys"]),preventExtensions:pureAndGlobal("reflect/prevent-extensions",["es6.reflect.prevent-extensions"]),set:pureAndGlobal("reflect/set",["es6.reflect.set"]),setPrototypeOf:pureAndGlobal("reflect/set-prototype-of",["es6.reflect.set-prototype-of"])},String:{at:pureOnly("string/at","es7.string.at"),fromCodePoint:pureAndGlobal("string/from-code-point",["es6.string.from-code-point"]),raw:pureAndGlobal("string/raw",["es6.string.raw"])},Symbol:{asyncIterator:globalOnly(["es6.symbol","es7.symbol.async-iterator"]),"for":pureOnly("symbol/for","es6.symbol"),hasInstance:pureOnly("symbol/has-instance","es6.symbol"),isConcatSpreadable:pureOnly("symbol/is-concat-spreadable","es6.symbol"),iterator:define("es6.symbol","symbol/iterator",CommonIterators),keyFor:pureOnly("symbol/key-for","es6.symbol"),match:pureAndGlobal("symbol/match",["es6.regexp.match"]),replace:pureOnly("symbol/replace","es6.symbol"),search:pureOnly("symbol/search","es6.symbol"),species:pureOnly("symbol/species","es6.symbol"),split:pureOnly("symbol/split","es6.symbol"),toPrimitive:pureOnly("symbol/to-primitive","es6.symbol"),toStringTag:pureOnly("symbol/to-string-tag","es6.symbol"),unscopables:pureOnly("symbol/unscopables","es6.symbol")}};builtInDefinitions.StaticProperties=StaticProperties;return builtInDefinitions;}var addPlatformSpecificPolyfills={};var hasRequiredAddPlatformSpecificPolyfills;function requireAddPlatformSpecificPolyfills(){if(hasRequiredAddPlatformSpecificPolyfills)return addPlatformSpecificPolyfills;hasRequiredAddPlatformSpecificPolyfills=1;addPlatformSpecificPolyfills.__esModule=true;addPlatformSpecificPolyfills["default"]=_default;function _extends(){_extends=Object.assign?Object.assign.bind():function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};return _extends.apply(this,arguments);}var webPolyfills={"web.timers":{},"web.immediate":{},"web.dom.iterable":{}};var purePolyfills={"es6.parse-float":{},"es6.parse-int":{},"es7.string.at":{}};function _default(targets,method,polyfills){var targetNames=Object.keys(targets);var isAnyTarget=!targetNames.length;var isWebTarget=targetNames.some(function(name){return name!=="node";});return _extends({},polyfills,method==="usage-pure"?purePolyfills:null,isAnyTarget||isWebTarget?webPolyfills:null);}return addPlatformSpecificPolyfills;}var helpers={};var semver={exports:{}};var hasRequiredSemver;function requireSemver(){if(hasRequiredSemver)return semver.exports;hasRequiredSemver=1;(function(module,exports){exports=module.exports=SemVer;var debug;if(_typeof(browser$1$1)==='object'&&browser$1$1.env&&browser$1$1.env.NODE_DEBUG&&/\bsemver\b/i.test(browser$1$1.env.NODE_DEBUG)){debug=function debug(){var args=Array.prototype.slice.call(arguments,0);args.unshift('SEMVER');console.log.apply(console,args);};}else{debug=function debug(){};}exports.SEMVER_SPEC_VERSION='2.0.0';var MAX_LENGTH=256;var MAX_SAFE_INTEGER=Number.MAX_SAFE_INTEGER||9007199254740991;var MAX_SAFE_COMPONENT_LENGTH=16;var MAX_SAFE_BUILD_LENGTH=MAX_LENGTH-6;var re=exports.re=[];var safeRe=exports.safeRe=[];var src=exports.src=[];var t=exports.tokens={};var R=0;function tok(n){t[n]=R++;}var LETTERDASHNUMBER='[a-zA-Z0-9-]';var safeRegexReplacements=[['\\s',1],['\\d',MAX_LENGTH],[LETTERDASHNUMBER,MAX_SAFE_BUILD_LENGTH]];function makeSafeRe(value){for(var i=0;i<safeRegexReplacements.length;i++){var token=safeRegexReplacements[i][0];var max=safeRegexReplacements[i][1];value=value.split(token+'*').join(token+'{0,'+max+'}').split(token+'+').join(token+'{1,'+max+'}');}return value;}tok('NUMERICIDENTIFIER');src[t.NUMERICIDENTIFIER]='0|[1-9]\\d*';tok('NUMERICIDENTIFIERLOOSE');src[t.NUMERICIDENTIFIERLOOSE]='\\d+';tok('NONNUMERICIDENTIFIER');src[t.NONNUMERICIDENTIFIER]='\\d*[a-zA-Z-]'+LETTERDASHNUMBER+'*';tok('MAINVERSION');src[t.MAINVERSION]='('+src[t.NUMERICIDENTIFIER]+')\\.'+'('+src[t.NUMERICIDENTIFIER]+')\\.'+'('+src[t.NUMERICIDENTIFIER]+')';tok('MAINVERSIONLOOSE');src[t.MAINVERSIONLOOSE]='('+src[t.NUMERICIDENTIFIERLOOSE]+')\\.'+'('+src[t.NUMERICIDENTIFIERLOOSE]+')\\.'+'('+src[t.NUMERICIDENTIFIERLOOSE]+')';tok('PRERELEASEIDENTIFIER');src[t.PRERELEASEIDENTIFIER]='(?:'+src[t.NUMERICIDENTIFIER]+'|'+src[t.NONNUMERICIDENTIFIER]+')';tok('PRERELEASEIDENTIFIERLOOSE');src[t.PRERELEASEIDENTIFIERLOOSE]='(?:'+src[t.NUMERICIDENTIFIERLOOSE]+'|'+src[t.NONNUMERICIDENTIFIER]+')';tok('PRERELEASE');src[t.PRERELEASE]='(?:-('+src[t.PRERELEASEIDENTIFIER]+'(?:\\.'+src[t.PRERELEASEIDENTIFIER]+')*))';tok('PRERELEASELOOSE');src[t.PRERELEASELOOSE]='(?:-?('+src[t.PRERELEASEIDENTIFIERLOOSE]+'(?:\\.'+src[t.PRERELEASEIDENTIFIERLOOSE]+')*))';tok('BUILDIDENTIFIER');src[t.BUILDIDENTIFIER]=LETTERDASHNUMBER+'+';tok('BUILD');src[t.BUILD]='(?:\\+('+src[t.BUILDIDENTIFIER]+'(?:\\.'+src[t.BUILDIDENTIFIER]+')*))';tok('FULL');tok('FULLPLAIN');src[t.FULLPLAIN]='v?'+src[t.MAINVERSION]+src[t.PRERELEASE]+'?'+src[t.BUILD]+'?';src[t.FULL]='^'+src[t.FULLPLAIN]+'$';tok('LOOSEPLAIN');src[t.LOOSEPLAIN]='[v=\\s]*'+src[t.MAINVERSIONLOOSE]+src[t.PRERELEASELOOSE]+'?'+src[t.BUILD]+'?';tok('LOOSE');src[t.LOOSE]='^'+src[t.LOOSEPLAIN]+'$';tok('GTLT');src[t.GTLT]='((?:<|>)?=?)';tok('XRANGEIDENTIFIERLOOSE');src[t.XRANGEIDENTIFIERLOOSE]=src[t.NUMERICIDENTIFIERLOOSE]+'|x|X|\\*';tok('XRANGEIDENTIFIER');src[t.XRANGEIDENTIFIER]=src[t.NUMERICIDENTIFIER]+'|x|X|\\*';tok('XRANGEPLAIN');src[t.XRANGEPLAIN]='[v=\\s]*('+src[t.XRANGEIDENTIFIER]+')'+'(?:\\.('+src[t.XRANGEIDENTIFIER]+')'+'(?:\\.('+src[t.XRANGEIDENTIFIER]+')'+'(?:'+src[t.PRERELEASE]+')?'+src[t.BUILD]+'?'+')?)?';tok('XRANGEPLAINLOOSE');src[t.XRANGEPLAINLOOSE]='[v=\\s]*('+src[t.XRANGEIDENTIFIERLOOSE]+')'+'(?:\\.('+src[t.XRANGEIDENTIFIERLOOSE]+')'+'(?:\\.('+src[t.XRANGEIDENTIFIERLOOSE]+')'+'(?:'+src[t.PRERELEASELOOSE]+')?'+src[t.BUILD]+'?'+')?)?';tok('XRANGE');src[t.XRANGE]='^'+src[t.GTLT]+'\\s*'+src[t.XRANGEPLAIN]+'$';tok('XRANGELOOSE');src[t.XRANGELOOSE]='^'+src[t.GTLT]+'\\s*'+src[t.XRANGEPLAINLOOSE]+'$';tok('COERCE');src[t.COERCE]='(^|[^\\d])'+'(\\d{1,'+MAX_SAFE_COMPONENT_LENGTH+'})'+'(?:\\.(\\d{1,'+MAX_SAFE_COMPONENT_LENGTH+'}))?'+'(?:\\.(\\d{1,'+MAX_SAFE_COMPONENT_LENGTH+'}))?'+'(?:$|[^\\d])';tok('COERCERTL');re[t.COERCERTL]=new RegExp(src[t.COERCE],'g');safeRe[t.COERCERTL]=new RegExp(makeSafeRe(src[t.COERCE]),'g');tok('LONETILDE');src[t.LONETILDE]='(?:~>?)';tok('TILDETRIM');src[t.TILDETRIM]='(\\s*)'+src[t.LONETILDE]+'\\s+';re[t.TILDETRIM]=new RegExp(src[t.TILDETRIM],'g');safeRe[t.TILDETRIM]=new RegExp(makeSafeRe(src[t.TILDETRIM]),'g');var tildeTrimReplace='$1~';tok('TILDE');src[t.TILDE]='^'+src[t.LONETILDE]+src[t.XRANGEPLAIN]+'$';tok('TILDELOOSE');src[t.TILDELOOSE]='^'+src[t.LONETILDE]+src[t.XRANGEPLAINLOOSE]+'$';tok('LONECARET');src[t.LONECARET]='(?:\\^)';tok('CARETTRIM');src[t.CARETTRIM]='(\\s*)'+src[t.LONECARET]+'\\s+';re[t.CARETTRIM]=new RegExp(src[t.CARETTRIM],'g');safeRe[t.CARETTRIM]=new RegExp(makeSafeRe(src[t.CARETTRIM]),'g');var caretTrimReplace='$1^';tok('CARET');src[t.CARET]='^'+src[t.LONECARET]+src[t.XRANGEPLAIN]+'$';tok('CARETLOOSE');src[t.CARETLOOSE]='^'+src[t.LONECARET]+src[t.XRANGEPLAINLOOSE]+'$';tok('COMPARATORLOOSE');src[t.COMPARATORLOOSE]='^'+src[t.GTLT]+'\\s*('+src[t.LOOSEPLAIN]+')$|^$';tok('COMPARATOR');src[t.COMPARATOR]='^'+src[t.GTLT]+'\\s*('+src[t.FULLPLAIN]+')$|^$';tok('COMPARATORTRIM');src[t.COMPARATORTRIM]='(\\s*)'+src[t.GTLT]+'\\s*('+src[t.LOOSEPLAIN]+'|'+src[t.XRANGEPLAIN]+')';re[t.COMPARATORTRIM]=new RegExp(src[t.COMPARATORTRIM],'g');safeRe[t.COMPARATORTRIM]=new RegExp(makeSafeRe(src[t.COMPARATORTRIM]),'g');var comparatorTrimReplace='$1$2$3';tok('HYPHENRANGE');src[t.HYPHENRANGE]='^\\s*('+src[t.XRANGEPLAIN]+')'+'\\s+-\\s+'+'('+src[t.XRANGEPLAIN]+')'+'\\s*$';tok('HYPHENRANGELOOSE');src[t.HYPHENRANGELOOSE]='^\\s*('+src[t.XRANGEPLAINLOOSE]+')'+'\\s+-\\s+'+'('+src[t.XRANGEPLAINLOOSE]+')'+'\\s*$';tok('STAR');src[t.STAR]='(<|>)?=?\\s*\\*';for(var i=0;i<R;i++){debug(i,src[i]);if(!re[i]){re[i]=new RegExp(src[i]);safeRe[i]=new RegExp(makeSafeRe(src[i]));}}exports.parse=parse;function parse(version,options){if(!options||_typeof(options)!=='object'){options={loose:!!options,includePrerelease:false};}if(version instanceof SemVer){return version;}if(typeof version!=='string'){return null;}if(version.length>MAX_LENGTH){return null;}var r=options.loose?safeRe[t.LOOSE]:safeRe[t.FULL];if(!r.test(version)){return null;}try{return new SemVer(version,options);}catch(er){return null;}}exports.valid=valid;function valid(version,options){var v=parse(version,options);return v?v.version:null;}exports.clean=clean;function clean(version,options){var s=parse(version.trim().replace(/^[=v]+/,''),options);return s?s.version:null;}exports.SemVer=SemVer;function SemVer(version,options){if(!options||_typeof(options)!=='object'){options={loose:!!options,includePrerelease:false};}if(version instanceof SemVer){if(version.loose===options.loose){return version;}else{version=version.version;}}else if(typeof version!=='string'){throw new TypeError('Invalid Version: '+version);}if(version.length>MAX_LENGTH){throw new TypeError('version is longer than '+MAX_LENGTH+' characters');}if(!(this instanceof SemVer)){return new SemVer(version,options);}debug('SemVer',version,options);this.options=options;this.loose=!!options.loose;var m=version.trim().match(options.loose?safeRe[t.LOOSE]:safeRe[t.FULL]);if(!m){throw new TypeError('Invalid Version: '+version);}this.raw=version;this.major=+m[1];this.minor=+m[2];this.patch=+m[3];if(this.major>MAX_SAFE_INTEGER||this.major<0){throw new TypeError('Invalid major version');}if(this.minor>MAX_SAFE_INTEGER||this.minor<0){throw new TypeError('Invalid minor version');}if(this.patch>MAX_SAFE_INTEGER||this.patch<0){throw new TypeError('Invalid patch version');}if(!m[4]){this.prerelease=[];}else{this.prerelease=m[4].split('.').map(function(id){if(/^[0-9]+$/.test(id)){var num=+id;if(num>=0&&num<MAX_SAFE_INTEGER){return num;}}return id;});}this.build=m[5]?m[5].split('.'):[];this.format();}SemVer.prototype.format=function(){this.version=this.major+'.'+this.minor+'.'+this.patch;if(this.prerelease.length){this.version+='-'+this.prerelease.join('.');}return this.version;};SemVer.prototype.toString=function(){return this.version;};SemVer.prototype.compare=function(other){debug('SemVer.compare',this.version,this.options,other);if(!(other instanceof SemVer)){other=new SemVer(other,this.options);}return this.compareMain(other)||this.comparePre(other);};SemVer.prototype.compareMain=function(other){if(!(other instanceof SemVer)){other=new SemVer(other,this.options);}return compareIdentifiers(this.major,other.major)||compareIdentifiers(this.minor,other.minor)||compareIdentifiers(this.patch,other.patch);};SemVer.prototype.comparePre=function(other){if(!(other instanceof SemVer)){other=new SemVer(other,this.options);}if(this.prerelease.length&&!other.prerelease.length){return-1;}else if(!this.prerelease.length&&other.prerelease.length){return 1;}else if(!this.prerelease.length&&!other.prerelease.length){return 0;}var i=0;do{var a=this.prerelease[i];var b=other.prerelease[i];debug('prerelease compare',i,a,b);if(a===undefined&&b===undefined){return 0;}else if(b===undefined){return 1;}else if(a===undefined){return-1;}else if(a===b){continue;}else{return compareIdentifiers(a,b);}}while(++i);};SemVer.prototype.compareBuild=function(other){if(!(other instanceof SemVer)){other=new SemVer(other,this.options);}var i=0;do{var a=this.build[i];var b=other.build[i];debug('prerelease compare',i,a,b);if(a===undefined&&b===undefined){return 0;}else if(b===undefined){return 1;}else if(a===undefined){return-1;}else if(a===b){continue;}else{return compareIdentifiers(a,b);}}while(++i);};SemVer.prototype.inc=function(release,identifier){switch(release){case'premajor':this.prerelease.length=0;this.patch=0;this.minor=0;this.major++;this.inc('pre',identifier);break;case'preminor':this.prerelease.length=0;this.patch=0;this.minor++;this.inc('pre',identifier);break;case'prepatch':this.prerelease.length=0;this.inc('patch',identifier);this.inc('pre',identifier);break;case'prerelease':if(this.prerelease.length===0){this.inc('patch',identifier);}this.inc('pre',identifier);break;case'major':if(this.minor!==0||this.patch!==0||this.prerelease.length===0){this.major++;}this.minor=0;this.patch=0;this.prerelease=[];break;case'minor':if(this.patch!==0||this.prerelease.length===0){this.minor++;}this.patch=0;this.prerelease=[];break;case'patch':if(this.prerelease.length===0){this.patch++;}this.prerelease=[];break;case'pre':if(this.prerelease.length===0){this.prerelease=[0];}else{var i=this.prerelease.length;while(--i>=0){if(typeof this.prerelease[i]==='number'){this.prerelease[i]++;i=-2;}}if(i===-1){this.prerelease.push(0);}}if(identifier){if(this.prerelease[0]===identifier){if(isNaN(this.prerelease[1])){this.prerelease=[identifier,0];}}else{this.prerelease=[identifier,0];}}break;default:throw new Error('invalid increment argument: '+release);}this.format();this.raw=this.version;return this;};exports.inc=inc;function inc(version,release,loose,identifier){if(typeof loose==='string'){identifier=loose;loose=undefined;}try{return new SemVer(version,loose).inc(release,identifier).version;}catch(er){return null;}}exports.diff=diff;function diff(version1,version2){if(eq(version1,version2)){return null;}else{var v1=parse(version1);var v2=parse(version2);var prefix='';if(v1.prerelease.length||v2.prerelease.length){prefix='pre';var defaultResult='prerelease';}for(var key in v1){if(key==='major'||key==='minor'||key==='patch'){if(v1[key]!==v2[key]){return prefix+key;}}}return defaultResult;}}exports.compareIdentifiers=compareIdentifiers;var numeric=/^[0-9]+$/;function compareIdentifiers(a,b){var anum=numeric.test(a);var bnum=numeric.test(b);if(anum&&bnum){a=+a;b=+b;}return a===b?0:anum&&!bnum?-1:bnum&&!anum?1:a<b?-1:1;}exports.rcompareIdentifiers=rcompareIdentifiers;function rcompareIdentifiers(a,b){return compareIdentifiers(b,a);}exports.major=major;function major(a,loose){return new SemVer(a,loose).major;}exports.minor=minor;function minor(a,loose){return new SemVer(a,loose).minor;}exports.patch=patch;function patch(a,loose){return new SemVer(a,loose).patch;}exports.compare=compare;function compare(a,b,loose){return new SemVer(a,loose).compare(new SemVer(b,loose));}exports.compareLoose=compareLoose;function compareLoose(a,b){return compare(a,b,true);}exports.compareBuild=compareBuild;function compareBuild(a,b,loose){var versionA=new SemVer(a,loose);var versionB=new SemVer(b,loose);return versionA.compare(versionB)||versionA.compareBuild(versionB);}exports.rcompare=rcompare;function rcompare(a,b,loose){return compare(b,a,loose);}exports.sort=sort;function sort(list,loose){return list.sort(function(a,b){return exports.compareBuild(a,b,loose);});}exports.rsort=rsort;function rsort(list,loose){return list.sort(function(a,b){return exports.compareBuild(b,a,loose);});}exports.gt=gt;function gt(a,b,loose){return compare(a,b,loose)>0;}exports.lt=lt;function lt(a,b,loose){return compare(a,b,loose)<0;}exports.eq=eq;function eq(a,b,loose){return compare(a,b,loose)===0;}exports.neq=neq;function neq(a,b,loose){return compare(a,b,loose)!==0;}exports.gte=gte;function gte(a,b,loose){return compare(a,b,loose)>=0;}exports.lte=lte;function lte(a,b,loose){return compare(a,b,loose)<=0;}exports.cmp=cmp;function cmp(a,op,b,loose){switch(op){case'===':if(_typeof(a)==='object')a=a.version;if(_typeof(b)==='object')b=b.version;return a===b;case'!==':if(_typeof(a)==='object')a=a.version;if(_typeof(b)==='object')b=b.version;return a!==b;case'':case'=':case'==':return eq(a,b,loose);case'!=':return neq(a,b,loose);case'>':return gt(a,b,loose);case'>=':return gte(a,b,loose);case'<':return lt(a,b,loose);case'<=':return lte(a,b,loose);default:throw new TypeError('Invalid operator: '+op);}}exports.Comparator=Comparator;function Comparator(comp,options){if(!options||_typeof(options)!=='object'){options={loose:!!options,includePrerelease:false};}if(comp instanceof Comparator){if(comp.loose===!!options.loose){return comp;}else{comp=comp.value;}}if(!(this instanceof Comparator)){return new Comparator(comp,options);}comp=comp.trim().split(/\s+/).join(' ');debug('comparator',comp,options);this.options=options;this.loose=!!options.loose;this.parse(comp);if(this.semver===ANY){this.value='';}else{this.value=this.operator+this.semver.version;}debug('comp',this);}var ANY={};Comparator.prototype.parse=function(comp){var r=this.options.loose?safeRe[t.COMPARATORLOOSE]:safeRe[t.COMPARATOR];var m=comp.match(r);if(!m){throw new TypeError('Invalid comparator: '+comp);}this.operator=m[1]!==undefined?m[1]:'';if(this.operator==='='){this.operator='';}if(!m[2]){this.semver=ANY;}else{this.semver=new SemVer(m[2],this.options.loose);}};Comparator.prototype.toString=function(){return this.value;};Comparator.prototype.test=function(version){debug('Comparator.test',version,this.options.loose);if(this.semver===ANY||version===ANY){return true;}if(typeof version==='string'){try{version=new SemVer(version,this.options);}catch(er){return false;}}return cmp(version,this.operator,this.semver,this.options);};Comparator.prototype.intersects=function(comp,options){if(!(comp instanceof Comparator)){throw new TypeError('a Comparator is required');}if(!options||_typeof(options)!=='object'){options={loose:!!options,includePrerelease:false};}var rangeTmp;if(this.operator===''){if(this.value===''){return true;}rangeTmp=new Range(comp.value,options);return satisfies(this.value,rangeTmp,options);}else if(comp.operator===''){if(comp.value===''){return true;}rangeTmp=new Range(this.value,options);return satisfies(comp.semver,rangeTmp,options);}var sameDirectionIncreasing=(this.operator==='>='||this.operator==='>')&&(comp.operator==='>='||comp.operator==='>');var sameDirectionDecreasing=(this.operator==='<='||this.operator==='<')&&(comp.operator==='<='||comp.operator==='<');var sameSemVer=this.semver.version===comp.semver.version;var differentDirectionsInclusive=(this.operator==='>='||this.operator==='<=')&&(comp.operator==='>='||comp.operator==='<=');var oppositeDirectionsLessThan=cmp(this.semver,'<',comp.semver,options)&&(this.operator==='>='||this.operator==='>')&&(comp.operator==='<='||comp.operator==='<');var oppositeDirectionsGreaterThan=cmp(this.semver,'>',comp.semver,options)&&(this.operator==='<='||this.operator==='<')&&(comp.operator==='>='||comp.operator==='>');return sameDirectionIncreasing||sameDirectionDecreasing||sameSemVer&&differentDirectionsInclusive||oppositeDirectionsLessThan||oppositeDirectionsGreaterThan;};exports.Range=Range;function Range(range,options){if(!options||_typeof(options)!=='object'){options={loose:!!options,includePrerelease:false};}if(range instanceof Range){if(range.loose===!!options.loose&&range.includePrerelease===!!options.includePrerelease){return range;}else{return new Range(range.raw,options);}}if(range instanceof Comparator){return new Range(range.value,options);}if(!(this instanceof Range)){return new Range(range,options);}this.options=options;this.loose=!!options.loose;this.includePrerelease=!!options.includePrerelease;this.raw=range.trim().split(/\s+/).join(' ');this.set=this.raw.split('||').map(function(range){return this.parseRange(range.trim());},this).filter(function(c){return c.length;});if(!this.set.length){throw new TypeError('Invalid SemVer Range: '+this.raw);}this.format();}Range.prototype.format=function(){this.range=this.set.map(function(comps){return comps.join(' ').trim();}).join('||').trim();return this.range;};Range.prototype.toString=function(){return this.range;};Range.prototype.parseRange=function(range){var loose=this.options.loose;var hr=loose?safeRe[t.HYPHENRANGELOOSE]:safeRe[t.HYPHENRANGE];range=range.replace(hr,hyphenReplace);debug('hyphen replace',range);range=range.replace(safeRe[t.COMPARATORTRIM],comparatorTrimReplace);debug('comparator trim',range,safeRe[t.COMPARATORTRIM]);range=range.replace(safeRe[t.TILDETRIM],tildeTrimReplace);range=range.replace(safeRe[t.CARETTRIM],caretTrimReplace);range=range.split(/\s+/).join(' ');var compRe=loose?safeRe[t.COMPARATORLOOSE]:safeRe[t.COMPARATOR];var set=range.split(' ').map(function(comp){return parseComparator(comp,this.options);},this).join(' ').split(/\s+/);if(this.options.loose){set=set.filter(function(comp){return!!comp.match(compRe);});}set=set.map(function(comp){return new Comparator(comp,this.options);},this);return set;};Range.prototype.intersects=function(range,options){if(!(range instanceof Range)){throw new TypeError('a Range is required');}return this.set.some(function(thisComparators){return isSatisfiable(thisComparators,options)&&range.set.some(function(rangeComparators){return isSatisfiable(rangeComparators,options)&&thisComparators.every(function(thisComparator){return rangeComparators.every(function(rangeComparator){return thisComparator.intersects(rangeComparator,options);});});});});};function isSatisfiable(comparators,options){var result=true;var remainingComparators=comparators.slice();var testComparator=remainingComparators.pop();while(result&&remainingComparators.length){result=remainingComparators.every(function(otherComparator){return testComparator.intersects(otherComparator,options);});testComparator=remainingComparators.pop();}return result;}exports.toComparators=toComparators;function toComparators(range,options){return new Range(range,options).set.map(function(comp){return comp.map(function(c){return c.value;}).join(' ').trim().split(' ');});}function parseComparator(comp,options){debug('comp',comp,options);comp=replaceCarets(comp,options);debug('caret',comp);comp=replaceTildes(comp,options);debug('tildes',comp);comp=replaceXRanges(comp,options);debug('xrange',comp);comp=replaceStars(comp,options);debug('stars',comp);return comp;}function isX(id){return!id||id.toLowerCase()==='x'||id==='*';}function replaceTildes(comp,options){return comp.trim().split(/\s+/).map(function(comp){return replaceTilde(comp,options);}).join(' ');}function replaceTilde(comp,options){var r=options.loose?safeRe[t.TILDELOOSE]:safeRe[t.TILDE];return comp.replace(r,function(_,M,m,p,pr){debug('tilde',comp,_,M,m,p,pr);var ret;if(isX(M)){ret='';}else if(isX(m)){ret='>='+M+'.0.0 <'+(+M+1)+'.0.0';}else if(isX(p)){ret='>='+M+'.'+m+'.0 <'+M+'.'+(+m+1)+'.0';}else if(pr){debug('replaceTilde pr',pr);ret='>='+M+'.'+m+'.'+p+'-'+pr+' <'+M+'.'+(+m+1)+'.0';}else{ret='>='+M+'.'+m+'.'+p+' <'+M+'.'+(+m+1)+'.0';}debug('tilde return',ret);return ret;});}function replaceCarets(comp,options){return comp.trim().split(/\s+/).map(function(comp){return replaceCaret(comp,options);}).join(' ');}function replaceCaret(comp,options){debug('caret',comp,options);var r=options.loose?safeRe[t.CARETLOOSE]:safeRe[t.CARET];return comp.replace(r,function(_,M,m,p,pr){debug('caret',comp,_,M,m,p,pr);var ret;if(isX(M)){ret='';}else if(isX(m)){ret='>='+M+'.0.0 <'+(+M+1)+'.0.0';}else if(isX(p)){if(M==='0'){ret='>='+M+'.'+m+'.0 <'+M+'.'+(+m+1)+'.0';}else{ret='>='+M+'.'+m+'.0 <'+(+M+1)+'.0.0';}}else if(pr){debug('replaceCaret pr',pr);if(M==='0'){if(m==='0'){ret='>='+M+'.'+m+'.'+p+'-'+pr+' <'+M+'.'+m+'.'+(+p+1);}else{ret='>='+M+'.'+m+'.'+p+'-'+pr+' <'+M+'.'+(+m+1)+'.0';}}else{ret='>='+M+'.'+m+'.'+p+'-'+pr+' <'+(+M+1)+'.0.0';}}else{debug('no pr');if(M==='0'){if(m==='0'){ret='>='+M+'.'+m+'.'+p+' <'+M+'.'+m+'.'+(+p+1);}else{ret='>='+M+'.'+m+'.'+p+' <'+M+'.'+(+m+1)+'.0';}}else{ret='>='+M+'.'+m+'.'+p+' <'+(+M+1)+'.0.0';}}debug('caret return',ret);return ret;});}function replaceXRanges(comp,options){debug('replaceXRanges',comp,options);return comp.split(/\s+/).map(function(comp){return replaceXRange(comp,options);}).join(' ');}function replaceXRange(comp,options){comp=comp.trim();var r=options.loose?safeRe[t.XRANGELOOSE]:safeRe[t.XRANGE];return comp.replace(r,function(ret,gtlt,M,m,p,pr){debug('xRange',comp,ret,gtlt,M,m,p,pr);var xM=isX(M);var xm=xM||isX(m);var xp=xm||isX(p);var anyX=xp;if(gtlt==='='&&anyX){gtlt='';}pr=options.includePrerelease?'-0':'';if(xM){if(gtlt==='>'||gtlt==='<'){ret='<0.0.0-0';}else{ret='*';}}else if(gtlt&&anyX){if(xm){m=0;}p=0;if(gtlt==='>'){gtlt='>=';if(xm){M=+M+1;m=0;p=0;}else{m=+m+1;p=0;}}else if(gtlt==='<='){gtlt='<';if(xm){M=+M+1;}else{m=+m+1;}}ret=gtlt+M+'.'+m+'.'+p+pr;}else if(xm){ret='>='+M+'.0.0'+pr+' <'+(+M+1)+'.0.0'+pr;}else if(xp){ret='>='+M+'.'+m+'.0'+pr+' <'+M+'.'+(+m+1)+'.0'+pr;}debug('xRange return',ret);return ret;});}function replaceStars(comp,options){debug('replaceStars',comp,options);return comp.trim().replace(safeRe[t.STAR],'');}function hyphenReplace($0,from,fM,fm,fp,fpr,fb,to,tM,tm,tp,tpr,tb){if(isX(fM)){from='';}else if(isX(fm)){from='>='+fM+'.0.0';}else if(isX(fp)){from='>='+fM+'.'+fm+'.0';}else{from='>='+from;}if(isX(tM)){to='';}else if(isX(tm)){to='<'+(+tM+1)+'.0.0';}else if(isX(tp)){to='<'+tM+'.'+(+tm+1)+'.0';}else if(tpr){to='<='+tM+'.'+tm+'.'+tp+'-'+tpr;}else{to='<='+to;}return(from+' '+to).trim();}Range.prototype.test=function(version){if(!version){return false;}if(typeof version==='string'){try{version=new SemVer(version,this.options);}catch(er){return false;}}for(var i=0;i<this.set.length;i++){if(testSet(this.set[i],version,this.options)){return true;}}return false;};function testSet(set,version,options){for(var i=0;i<set.length;i++){if(!set[i].test(version)){return false;}}if(version.prerelease.length&&!options.includePrerelease){for(i=0;i<set.length;i++){debug(set[i].semver);if(set[i].semver===ANY){continue;}if(set[i].semver.prerelease.length>0){var allowed=set[i].semver;if(allowed.major===version.major&&allowed.minor===version.minor&&allowed.patch===version.patch){return true;}}}return false;}return true;}exports.satisfies=satisfies;function satisfies(version,range,options){try{range=new Range(range,options);}catch(er){return false;}return range.test(version);}exports.maxSatisfying=maxSatisfying;function maxSatisfying(versions,range,options){var max=null;var maxSV=null;try{var rangeObj=new Range(range,options);}catch(er){return null;}versions.forEach(function(v){if(rangeObj.test(v)){if(!max||maxSV.compare(v)===-1){max=v;maxSV=new SemVer(max,options);}}});return max;}exports.minSatisfying=minSatisfying;function minSatisfying(versions,range,options){var min=null;var minSV=null;try{var rangeObj=new Range(range,options);}catch(er){return null;}versions.forEach(function(v){if(rangeObj.test(v)){if(!min||minSV.compare(v)===1){min=v;minSV=new SemVer(min,options);}}});return min;}exports.minVersion=minVersion;function minVersion(range,loose){range=new Range(range,loose);var minver=new SemVer('0.0.0');if(range.test(minver)){return minver;}minver=new SemVer('0.0.0-0');if(range.test(minver)){return minver;}minver=null;for(var i=0;i<range.set.length;++i){var comparators=range.set[i];comparators.forEach(function(comparator){var compver=new SemVer(comparator.semver.version);switch(comparator.operator){case'>':if(compver.prerelease.length===0){compver.patch++;}else{compver.prerelease.push(0);}compver.raw=compver.format();case'':case'>=':if(!minver||gt(minver,compver)){minver=compver;}break;case'<':case'<=':break;default:throw new Error('Unexpected operation: '+comparator.operator);}});}if(minver&&range.test(minver)){return minver;}return null;}exports.validRange=validRange;function validRange(range,options){try{return new Range(range,options).range||'*';}catch(er){return null;}}exports.ltr=ltr;function ltr(version,range,options){return outside(version,range,'<',options);}exports.gtr=gtr;function gtr(version,range,options){return outside(version,range,'>',options);}exports.outside=outside;function outside(version,range,hilo,options){version=new SemVer(version,options);range=new Range(range,options);var gtfn,ltefn,ltfn,comp,ecomp;switch(hilo){case'>':gtfn=gt;ltefn=lte;ltfn=lt;comp='>';ecomp='>=';break;case'<':gtfn=lt;ltefn=gte;ltfn=gt;comp='<';ecomp='<=';break;default:throw new TypeError('Must provide a hilo val of "<" or ">"');}if(satisfies(version,range,options)){return false;}for(var i=0;i<range.set.length;++i){var comparators=range.set[i];var high=null;var low=null;comparators.forEach(function(comparator){if(comparator.semver===ANY){comparator=new Comparator('>=0.0.0');}high=high||comparator;low=low||comparator;if(gtfn(comparator.semver,high.semver,options)){high=comparator;}else if(ltfn(comparator.semver,low.semver,options)){low=comparator;}});if(high.operator===comp||high.operator===ecomp){return false;}if((!low.operator||low.operator===comp)&&ltefn(version,low.semver)){return false;}else if(low.operator===ecomp&&ltfn(version,low.semver)){return false;}}return true;}exports.prerelease=prerelease;function prerelease(version,options){var parsed=parse(version,options);return parsed&&parsed.prerelease.length?parsed.prerelease:null;}exports.intersects=intersects;function intersects(r1,r2,options){r1=new Range(r1,options);r2=new Range(r2,options);return r1.intersects(r2);}exports.coerce=coerce;function coerce(version,options){if(version instanceof SemVer){return version;}if(typeof version==='number'){version=String(version);}if(typeof version!=='string'){return null;}options=options||{};var match=null;if(!options.rtl){match=version.match(safeRe[t.COERCE]);}else{var next;while((next=safeRe[t.COERCERTL].exec(version))&&(!match||match.index+match[0].length!==version.length)){if(!match||next.index+next[0].length!==match.index+match[0].length){match=next;}safeRe[t.COERCERTL].lastIndex=next.index+next[1].length+next[2].length;}safeRe[t.COERCERTL].lastIndex=-1;}if(match===null){return null;}return parse(match[2]+'.'+(match[3]||'0')+'.'+(match[4]||'0'),options);}})(semver,semver.exports);return semver.exports;}var hasRequiredHelpers;function requireHelpers(){if(hasRequiredHelpers)return helpers;hasRequiredHelpers=1;helpers.__esModule=true;helpers.hasMinVersion=hasMinVersion;var _semver=_interopRequireDefault(requireSemver());function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj};}function hasMinVersion(minVersion,runtimeVersion){if(!runtimeVersion||!minVersion)return true;runtimeVersion=String(runtimeVersion);if(_semver["default"].valid(runtimeVersion))runtimeVersion="^"+runtimeVersion;return!_semver["default"].intersects("<"+minVersion,runtimeVersion)&&!_semver["default"].intersects(">=8.0.0",runtimeVersion);}return helpers;}var lib$1={};var utils$1={};var _templateObject$2,_templateObject2$2,_templateObject3$2;var hasRequiredUtils$1;function requireUtils$1(){if(hasRequiredUtils$1)return utils$1;hasRequiredUtils$1=1;utils$1.__esModule=true;utils$1.createUtilsGetter=createUtilsGetter;utils$1.getImportSource=getImportSource;utils$1.getRequireSource=getRequireSource;utils$1.has=has;utils$1.intersection=intersection;utils$1.resolveKey=resolveKey;utils$1.resolveSource=resolveSource;var _babel=_interopRequireWildcard(require$$5);function _getRequireWildcardCache(nodeInterop){if(typeof WeakMap!=="function")return null;var cacheBabelInterop=new WeakMap();var cacheNodeInterop=new WeakMap();return(_getRequireWildcardCache=function _getRequireWildcardCache(nodeInterop){return nodeInterop?cacheNodeInterop:cacheBabelInterop;})(nodeInterop);}function _interopRequireWildcard(obj,nodeInterop){if(!nodeInterop&&obj&&obj.__esModule){return obj;}if(obj===null||_typeof(obj)!=="object"&&typeof obj!=="function"){return{"default":obj};}var cache=_getRequireWildcardCache(nodeInterop);if(cache&&cache.has(obj)){return cache.get(obj);}var newObj={};var hasPropertyDescriptor=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var key in obj){if(key!=="default"&&Object.prototype.hasOwnProperty.call(obj,key)){var desc=hasPropertyDescriptor?Object.getOwnPropertyDescriptor(obj,key):null;if(desc&&(desc.get||desc.set)){Object.defineProperty(newObj,key,desc);}else{newObj[key]=obj[key];}}}newObj["default"]=obj;if(cache){cache.set(obj,newObj);}return newObj;}var _ref=_babel["default"]||_babel,t=_ref.types,template=_ref.template;function intersection(a,b){var result=new Set();a.forEach(function(v){return b.has(v)&&result.add(v);});return result;}function has(object,key){return Object.prototype.hasOwnProperty.call(object,key);}function getType(target){return Object.prototype.toString.call(target).slice(8,-1);}function resolveId(path){if(path.isIdentifier()&&!path.scope.hasBinding(path.node.name,true)){return path.node.name;}if(path.isPure()){var _path$evaluate=path.evaluate(),deopt=_path$evaluate.deopt;if(deopt&&deopt.isIdentifier()){return deopt.node.name;}}}function resolveKey(path,computed){if(computed===void 0){computed=false;}var scope=path.scope;if(path.isStringLiteral())return path.node.value;var isIdentifier=path.isIdentifier();if(isIdentifier&&!(computed||path.parent.computed)){return path.node.name;}if(computed&&path.isMemberExpression()&&path.get("object").isIdentifier({name:"Symbol"})&&!scope.hasBinding("Symbol",true)){var sym=resolveKey(path.get("property"),path.node.computed);if(sym)return"Symbol."+sym;}if(isIdentifier?scope.hasBinding(path.node.name,true):path.isPure()){var _path$evaluate2=path.evaluate(),value=_path$evaluate2.value;if(typeof value==="string")return value;}}function resolveSource(obj){if(obj.isMemberExpression()&&obj.get("property").isIdentifier({name:"prototype"})){var _id=resolveId(obj.get("object"));if(_id){return{id:_id,placement:"prototype"};}return{id:null,placement:null};}var id=resolveId(obj);if(id){return{id:id,placement:"static"};}if(obj.isRegExpLiteral()){return{id:"RegExp",placement:"prototype"};}else if(obj.isFunction()){return{id:"Function",placement:"prototype"};}else if(obj.isPure()){var _obj$evaluate=obj.evaluate(),value=_obj$evaluate.value;if(value!==undefined){return{id:getType(value),placement:"prototype"};}}return{id:null,placement:null};}function getImportSource(_ref2){var node=_ref2.node;if(node.specifiers.length===0)return node.source.value;}function getRequireSource(_ref3){var node=_ref3.node;if(!t.isExpressionStatement(node))return;var expression=node.expression;if(t.isCallExpression(expression)&&t.isIdentifier(expression.callee)&&expression.callee.name==="require"&&expression.arguments.length===1&&t.isStringLiteral(expression.arguments[0])){return expression.arguments[0].value;}}function hoist(node){node._blockHoist=3;return node;}function createUtilsGetter(cache){return function(path){var prog=path.findParent(function(p){return p.isProgram();});return{injectGlobalImport:function injectGlobalImport(url,moduleName){cache.storeAnonymous(prog,url,moduleName,function(isScript,source){return isScript?template.statement.ast(_templateObject$2||(_templateObject$2=_taggedTemplateLiteralLoose(["require(",")"])),source):t.importDeclaration([],source);});},injectNamedImport:function injectNamedImport(url,name,hint,moduleName){if(hint===void 0){hint=name;}return cache.storeNamed(prog,url,name,moduleName,function(isScript,source,name){var id=prog.scope.generateUidIdentifier(hint);return{node:isScript?hoist(template.statement.ast(_templateObject2$2||(_templateObject2$2=_taggedTemplateLiteralLoose(["\n                  var "," = require(",").","\n                "])),id,source,name)):t.importDeclaration([t.importSpecifier(id,name)],source),name:id.name};});},injectDefaultImport:function injectDefaultImport(url,hint,moduleName){if(hint===void 0){hint=url;}return cache.storeNamed(prog,url,"default",moduleName,function(isScript,source){var id=prog.scope.generateUidIdentifier(hint);return{node:isScript?hoist(template.statement.ast(_templateObject3$2||(_templateObject3$2=_taggedTemplateLiteralLoose(["var "," = require(",")"])),id,source)):t.importDeclaration([t.importDefaultSpecifier(id)],source),name:id.name};});}};};}return utils$1;}var importsInjector={};var hasRequiredImportsInjector;function requireImportsInjector(){if(hasRequiredImportsInjector)return importsInjector;hasRequiredImportsInjector=1;importsInjector.__esModule=true;importsInjector["default"]=void 0;var _babel=_interopRequireWildcard(require$$5);function _getRequireWildcardCache(nodeInterop){if(typeof WeakMap!=="function")return null;var cacheBabelInterop=new WeakMap();var cacheNodeInterop=new WeakMap();return(_getRequireWildcardCache=function _getRequireWildcardCache(nodeInterop){return nodeInterop?cacheNodeInterop:cacheBabelInterop;})(nodeInterop);}function _interopRequireWildcard(obj,nodeInterop){if(!nodeInterop&&obj&&obj.__esModule){return obj;}if(obj===null||_typeof(obj)!=="object"&&typeof obj!=="function"){return{"default":obj};}var cache=_getRequireWildcardCache(nodeInterop);if(cache&&cache.has(obj)){return cache.get(obj);}var newObj={};var hasPropertyDescriptor=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var key in obj){if(key!=="default"&&Object.prototype.hasOwnProperty.call(obj,key)){var desc=hasPropertyDescriptor?Object.getOwnPropertyDescriptor(obj,key):null;if(desc&&(desc.get||desc.set)){Object.defineProperty(newObj,key,desc);}else{newObj[key]=obj[key];}}}newObj["default"]=obj;if(cache){cache.set(obj,newObj);}return newObj;}var _ref=_babel["default"]||_babel,t=_ref.types;var ImportsCachedInjector=function(){function ImportsCachedInjector(resolver,getPreferredIndex){this._imports=new WeakMap();this._anonymousImports=new WeakMap();this._lastImports=new WeakMap();this._resolver=resolver;this._getPreferredIndex=getPreferredIndex;}var _proto=ImportsCachedInjector.prototype;_proto.storeAnonymous=function storeAnonymous(programPath,url,moduleName,getVal){var key=this._normalizeKey(programPath,url);var imports=this._ensure(this._anonymousImports,programPath,Set);if(imports.has(key))return;var node=getVal(programPath.node.sourceType==="script",t.stringLiteral(this._resolver(url)));imports.add(key);this._injectImport(programPath,node,moduleName);};_proto.storeNamed=function storeNamed(programPath,url,name,moduleName,getVal){var key=this._normalizeKey(programPath,url,name);var imports=this._ensure(this._imports,programPath,Map);if(!imports.has(key)){var _getVal=getVal(programPath.node.sourceType==="script",t.stringLiteral(this._resolver(url)),t.identifier(name)),node=_getVal.node,id=_getVal.name;imports.set(key,id);this._injectImport(programPath,node,moduleName);}return t.identifier(imports.get(key));};_proto._injectImport=function _injectImport(programPath,node,moduleName){var _this$_lastImports$ge;var newIndex=this._getPreferredIndex(moduleName);var lastImports=(_this$_lastImports$ge=this._lastImports.get(programPath))!=null?_this$_lastImports$ge:[];var isPathStillValid=function isPathStillValid(path){return path.node&&path.parent===programPath.node&&path.container===programPath.node.body;};var last;if(newIndex===Infinity){if(lastImports.length>0){last=lastImports[lastImports.length-1].path;if(!isPathStillValid(last))last=undefined;}}else{for(var _iterator=_createForOfIteratorHelperLoose(lastImports.entries()),_step;!(_step=_iterator()).done;){var _step$value=_slicedToArray(_step.value,2),i=_step$value[0],data=_step$value[1];var path=data.path,index=data.index;if(isPathStillValid(path)){if(newIndex<index){var _path$insertBefore=path.insertBefore(node),_path$insertBefore2=_slicedToArray(_path$insertBefore,1),newPath=_path$insertBefore2[0];lastImports.splice(i,0,{path:newPath,index:newIndex});return;}last=path;}}}if(last){var _last$insertAfter=last.insertAfter(node),_last$insertAfter2=_slicedToArray(_last$insertAfter,1),_newPath=_last$insertAfter2[0];lastImports.push({path:_newPath,index:newIndex});}else{var _programPath$unshiftC=programPath.unshiftContainer("body",node),_programPath$unshiftC2=_slicedToArray(_programPath$unshiftC,1),_newPath2=_programPath$unshiftC2[0];this._lastImports.set(programPath,[{path:_newPath2,index:newIndex}]);}};_proto._ensure=function _ensure(map,programPath,Collection){var collection=map.get(programPath);if(!collection){collection=new Collection();map.set(programPath,collection);}return collection;};_proto._normalizeKey=function _normalizeKey(programPath,url,name){if(name===void 0){name="";}var sourceType=programPath.node.sourceType;return(name&&sourceType)+"::"+url+"::"+name;};return _createClass(ImportsCachedInjector);}();importsInjector["default"]=ImportsCachedInjector;return importsInjector;}var debugUtils={};var hasRequiredDebugUtils;function requireDebugUtils(){if(hasRequiredDebugUtils)return debugUtils;hasRequiredDebugUtils=1;debugUtils.__esModule=true;debugUtils.presetEnvSilentDebugHeader=void 0;debugUtils.stringifyTargets=stringifyTargets;debugUtils.stringifyTargetsMultiline=stringifyTargetsMultiline;var _helperCompilationTargets=require$$1$1;var presetEnvSilentDebugHeader="#__secret_key__@babel/preset-env__don't_log_debug_header_and_resolved_targets";debugUtils.presetEnvSilentDebugHeader=presetEnvSilentDebugHeader;function stringifyTargetsMultiline(targets){return JSON.stringify((0,_helperCompilationTargets.prettifyTargets)(targets),null,2);}function stringifyTargets(targets){return JSON.stringify(targets).replace(/,/g,", ").replace(/^\{"/,'{ "').replace(/"\}$/,'" }');}return debugUtils;}var normalizeOptions$4={};var hasRequiredNormalizeOptions;function requireNormalizeOptions(){if(hasRequiredNormalizeOptions)return normalizeOptions$4;hasRequiredNormalizeOptions=1;normalizeOptions$4.__esModule=true;normalizeOptions$4.applyMissingDependenciesDefaults=applyMissingDependenciesDefaults;normalizeOptions$4.validateIncludeExclude=validateIncludeExclude;var _utils=requireUtils$1();function patternToRegExp(pattern){if(pattern instanceof RegExp)return pattern;try{return new RegExp("^"+pattern+"$");}catch(_unused){return null;}}function buildUnusedError(label,unused){if(!unused.length)return"";return"  - The following \""+label+"\" patterns didn't match any polyfill:\n"+unused.map(function(original){return"    "+String(original)+"\n";}).join("");}function buldDuplicatesError(duplicates){if(!duplicates.size)return"";return"  - The following polyfills were matched both by \"include\" and \"exclude\" patterns:\n"+Array.from(duplicates,function(name){return"    "+name+"\n";}).join("");}function validateIncludeExclude(provider,polyfills,includePatterns,excludePatterns){var current;var filter=function filter(pattern){var regexp=patternToRegExp(pattern);if(!regexp)return false;var matched=false;for(var _iterator=_createForOfIteratorHelperLoose(polyfills.keys()),_step;!(_step=_iterator()).done;){var polyfill=_step.value;if(regexp.test(polyfill)){matched=true;current.add(polyfill);}}return!matched;};var include=current=new Set();var unusedInclude=Array.from(includePatterns).filter(filter);var exclude=current=new Set();var unusedExclude=Array.from(excludePatterns).filter(filter);var duplicates=(0,_utils.intersection)(include,exclude);if(duplicates.size>0||unusedInclude.length>0||unusedExclude.length>0){throw new Error("Error while validating the \""+provider+"\" provider options:\n"+buildUnusedError("include",unusedInclude)+buildUnusedError("exclude",unusedExclude)+buldDuplicatesError(duplicates));}return{include:include,exclude:exclude};}function applyMissingDependenciesDefaults(options,babelApi){var _options$missingDepen=options.missingDependencies,missingDependencies=_options$missingDepen===void 0?{}:_options$missingDepen;if(missingDependencies===false)return false;var caller=babelApi.caller(function(caller){return caller==null?void 0:caller.name;});var _missingDependencies$=missingDependencies.log,log=_missingDependencies$===void 0?"deferred":_missingDependencies$,_missingDependencies$2=missingDependencies.inject,inject=_missingDependencies$2===void 0?caller==="rollup-plugin-babel"?"throw":"import":_missingDependencies$2,_missingDependencies$3=missingDependencies.all,all=_missingDependencies$3===void 0?false:_missingDependencies$3;return{log:log,inject:inject,all:all};}return normalizeOptions$4;}var visitors={};var usage$1={};var hasRequiredUsage;function requireUsage(){if(hasRequiredUsage)return usage$1;hasRequiredUsage=1;usage$1.__esModule=true;usage$1["default"]=void 0;var _utils=requireUtils$1();function isRemoved(path){if(path.removed)return true;if(!path.parentPath)return false;if(path.listKey){if(!path.parentPath.node[path.listKey].includes(path.node))return true;}else{if(path.parentPath.node[path.key]!==path.node)return true;}return isRemoved(path.parentPath);}var _default=function _default(callProvider){function property(object,key,placement,path){return callProvider({kind:"property",object:object,key:key,placement:placement},path);}function handleReferencedIdentifier(path){var name=path.node.name,scope=path.scope;if(scope.getBindingIdentifier(name))return;callProvider({kind:"global",name:name},path);}function analyzeMemberExpression(path){var key=(0,_utils.resolveKey)(path.get("property"),path.node.computed);return{key:key,handleAsMemberExpression:!!key&&key!=="prototype"};}return{ReferencedIdentifier:function ReferencedIdentifier(path){var parentPath=path.parentPath;if(parentPath.isMemberExpression({object:path.node})&&analyzeMemberExpression(parentPath).handleAsMemberExpression){return;}handleReferencedIdentifier(path);},MemberExpression:function MemberExpression(path){var _analyzeMemberExpress=analyzeMemberExpression(path),key=_analyzeMemberExpress.key,handleAsMemberExpression=_analyzeMemberExpress.handleAsMemberExpression;if(!handleAsMemberExpression)return;var object=path.get("object");var objectIsGlobalIdentifier=object.isIdentifier();if(objectIsGlobalIdentifier){var binding=object.scope.getBinding(object.node.name);if(binding){if(binding.path.isImportNamespaceSpecifier())return;objectIsGlobalIdentifier=false;}}var source=(0,_utils.resolveSource)(object);var skipObject=property(source.id,key,source.placement,path);skipObject||(skipObject=!objectIsGlobalIdentifier||path.shouldSkip||object.shouldSkip||isRemoved(object));if(!skipObject)handleReferencedIdentifier(object);},ObjectPattern:function ObjectPattern(path){var parentPath=path.parentPath,parent=path.parent;var obj;if(parentPath.isVariableDeclarator()){obj=parentPath.get("init");}else if(parentPath.isAssignmentExpression()){obj=parentPath.get("right");}else if(parentPath.isFunction()){var grand=parentPath.parentPath;if(grand.isCallExpression()||grand.isNewExpression()){if(grand.node.callee===parent){obj=grand.get("arguments")[path.key];}}}var id=null;var placement=null;if(obj){var _ref=(0,_utils.resolveSource)(obj);id=_ref.id;placement=_ref.placement;}for(var _iterator=_createForOfIteratorHelperLoose(path.get("properties")),_step;!(_step=_iterator()).done;){var prop=_step.value;if(prop.isObjectProperty()){var key=(0,_utils.resolveKey)(prop.get("key"));if(key)property(id,key,placement,prop);}}},BinaryExpression:function BinaryExpression(path){if(path.node.operator!=="in")return;var source=(0,_utils.resolveSource)(path.get("right"));var key=(0,_utils.resolveKey)(path.get("left"),true);if(!key)return;callProvider({kind:"in",object:source.id,key:key,placement:source.placement},path);}};};usage$1["default"]=_default;return usage$1;}var entry$1={};var hasRequiredEntry;function requireEntry(){if(hasRequiredEntry)return entry$1;hasRequiredEntry=1;entry$1.__esModule=true;entry$1["default"]=void 0;var _utils=requireUtils$1();var _default=function _default(callProvider){return{ImportDeclaration:function ImportDeclaration(path){var source=(0,_utils.getImportSource)(path);if(!source)return;callProvider({kind:"import",source:source},path);},Program:function Program(path){path.get("body").forEach(function(bodyPath){var source=(0,_utils.getRequireSource)(bodyPath);if(!source)return;callProvider({kind:"import",source:source},bodyPath);});}};};entry$1["default"]=_default;return entry$1;}var hasRequiredVisitors;function requireVisitors(){if(hasRequiredVisitors)return visitors;hasRequiredVisitors=1;visitors.__esModule=true;visitors.usage=visitors.entry=void 0;var _usage=_interopRequireDefault(requireUsage());visitors.usage=_usage["default"];var _entry=_interopRequireDefault(requireEntry());visitors.entry=_entry["default"];function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj};}return visitors;}var dependencies={};var hasRequiredDependencies;function requireDependencies(){if(hasRequiredDependencies)return dependencies;hasRequiredDependencies=1;dependencies.__esModule=true;dependencies.has=has;dependencies.laterLogMissing=laterLogMissing;dependencies.logMissing=logMissing;dependencies.resolve=resolve;function resolve(dirname,moduleName,absoluteImports){if(absoluteImports===false)return moduleName;throw new Error("\"absoluteImports\" is not supported in bundles prepared for the browser.");}function has(basedir,name){return true;}function logMissing(missingDeps){}function laterLogMissing(missingDeps){}return dependencies;}var metaResolver={};var hasRequiredMetaResolver;function requireMetaResolver(){if(hasRequiredMetaResolver)return metaResolver;hasRequiredMetaResolver=1;metaResolver.__esModule=true;metaResolver["default"]=createMetaResolver;var _utils=requireUtils$1();var PossibleGlobalObjects=new Set(["global","globalThis","self","window"]);function createMetaResolver(polyfills){var staticP=polyfills["static"],instanceP=polyfills.instance,globalP=polyfills.global;return function(meta){if(meta.kind==="global"&&globalP&&(0,_utils.has)(globalP,meta.name)){return{kind:"global",desc:globalP[meta.name],name:meta.name};}if(meta.kind==="property"||meta.kind==="in"){var placement=meta.placement,object=meta.object,key=meta.key;if(object&&placement==="static"){if(globalP&&PossibleGlobalObjects.has(object)&&(0,_utils.has)(globalP,key)){return{kind:"global",desc:globalP[key],name:key};}if(staticP&&(0,_utils.has)(staticP,object)&&(0,_utils.has)(staticP[object],key)){return{kind:"static",desc:staticP[object][key],name:object+"$"+key};}}if(instanceP&&(0,_utils.has)(instanceP,key)){return{kind:"instance",desc:instanceP[key],name:""+key};}}};}return metaResolver;}var hasRequiredLib$2;function requireLib$2(){if(hasRequiredLib$2)return lib$1;hasRequiredLib$2=1;lib$1.__esModule=true;lib$1["default"]=definePolyfillProvider;var _helperPluginUtils=require$$0$4;var _helperCompilationTargets=_interopRequireWildcard(require$$1$1);var _utils=requireUtils$1();var _importsInjector=_interopRequireDefault(requireImportsInjector());var _debugUtils=requireDebugUtils();var _normalizeOptions=requireNormalizeOptions();var v=_interopRequireWildcard(requireVisitors());var deps=_interopRequireWildcard(requireDependencies());var _metaResolver=_interopRequireDefault(requireMetaResolver());var _excluded=["method","targets","ignoreBrowserslistConfig","configPath","debug","shouldInjectPolyfill","absoluteImports"];function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj};}function _getRequireWildcardCache(nodeInterop){if(typeof WeakMap!=="function")return null;var cacheBabelInterop=new WeakMap();var cacheNodeInterop=new WeakMap();return(_getRequireWildcardCache=function _getRequireWildcardCache(nodeInterop){return nodeInterop?cacheNodeInterop:cacheBabelInterop;})(nodeInterop);}function _interopRequireWildcard(obj,nodeInterop){if(!nodeInterop&&obj&&obj.__esModule){return obj;}if(obj===null||_typeof(obj)!=="object"&&typeof obj!=="function"){return{"default":obj};}var cache=_getRequireWildcardCache(nodeInterop);if(cache&&cache.has(obj)){return cache.get(obj);}var newObj={};var hasPropertyDescriptor=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var key in obj){if(key!=="default"&&Object.prototype.hasOwnProperty.call(obj,key)){var desc=hasPropertyDescriptor?Object.getOwnPropertyDescriptor(obj,key):null;if(desc&&(desc.get||desc.set)){Object.defineProperty(newObj,key,desc);}else{newObj[key]=obj[key];}}}newObj["default"]=obj;if(cache){cache.set(obj,newObj);}return newObj;}function _objectWithoutPropertiesLoose(source,excluded){if(source==null)return{};var target={};var sourceKeys=Object.keys(source);var key,i;for(i=0;i<sourceKeys.length;i++){key=sourceKeys[i];if(excluded.indexOf(key)>=0)continue;target[key]=source[key];}return target;}var getTargets=_helperCompilationTargets["default"]["default"]||_helperCompilationTargets["default"];function resolveOptions(options,babelApi){var method=options.method,targetsOption=options.targets,ignoreBrowserslistConfig=options.ignoreBrowserslistConfig,configPath=options.configPath,debug=options.debug,shouldInjectPolyfill=options.shouldInjectPolyfill,absoluteImports=options.absoluteImports,providerOptions=_objectWithoutPropertiesLoose(options,_excluded);if(isEmpty(options)){throw new Error("This plugin requires options, for example:\n    {\n      \"plugins\": [\n        [\"<plugin name>\", { method: \"usage-pure\" }]\n      ]\n    }\n\nSee more options at https://github.com/babel/babel-polyfills/blob/main/docs/usage.md");}var methodName;if(method==="usage-global")methodName="usageGlobal";else if(method==="entry-global")methodName="entryGlobal";else if(method==="usage-pure")methodName="usagePure";else if(typeof method!=="string"){throw new Error(".method must be a string");}else{throw new Error(".method must be one of \"entry-global\", \"usage-global\""+(" or \"usage-pure\" (received "+JSON.stringify(method)+")"));}if(typeof shouldInjectPolyfill==="function"){if(options.include||options.exclude){throw new Error(".include and .exclude are not supported when using the"+" .shouldInjectPolyfill function.");}}else if(shouldInjectPolyfill!=null){throw new Error(".shouldInjectPolyfill must be a function, or undefined"+(" (received "+JSON.stringify(shouldInjectPolyfill)+")"));}if(absoluteImports!=null&&typeof absoluteImports!=="boolean"&&typeof absoluteImports!=="string"){throw new Error(".absoluteImports must be a boolean, a string, or undefined"+(" (received "+JSON.stringify(absoluteImports)+")"));}var targets;if(targetsOption||configPath||ignoreBrowserslistConfig){var targetsObj=typeof targetsOption==="string"||Array.isArray(targetsOption)?{browsers:targetsOption}:targetsOption;targets=getTargets(targetsObj,{ignoreBrowserslistConfig:ignoreBrowserslistConfig,configPath:configPath});}else{targets=babelApi.targets();}return{method:method,methodName:methodName,targets:targets,absoluteImports:absoluteImports!=null?absoluteImports:false,shouldInjectPolyfill:shouldInjectPolyfill,debug:!!debug,providerOptions:providerOptions};}function instantiateProvider(factory,options,missingDependencies,dirname,debugLog,babelApi){var _resolveOptions=resolveOptions(options,babelApi),method=_resolveOptions.method,methodName=_resolveOptions.methodName,targets=_resolveOptions.targets,_debug=_resolveOptions.debug,_shouldInjectPolyfill=_resolveOptions.shouldInjectPolyfill,providerOptions=_resolveOptions.providerOptions,absoluteImports=_resolveOptions.absoluteImports;var include,exclude;var polyfillsSupport;var polyfillsNames;var filterPolyfills;var getUtils=(0,_utils.createUtilsGetter)(new _importsInjector["default"](function(moduleName){return deps.resolve(dirname,moduleName,absoluteImports);},function(name){var _polyfillsNames$get,_polyfillsNames;return(_polyfillsNames$get=(_polyfillsNames=polyfillsNames)==null?void 0:_polyfillsNames.get(name))!=null?_polyfillsNames$get:Infinity;}));var depsCache=new Map();var api={babel:babelApi,getUtils:getUtils,method:options.method,targets:targets,createMetaResolver:_metaResolver["default"],shouldInjectPolyfill:function shouldInjectPolyfill(name){if(polyfillsNames===undefined){throw new Error("Internal error in the "+factory.name+" provider: "+"shouldInjectPolyfill() can't be called during initialization.");}if(!polyfillsNames.has(name)){console.warn("Internal error in the "+providerName+" provider: "+("unknown polyfill \""+name+"\"."));}if(filterPolyfills&&!filterPolyfills(name))return false;var shouldInject=(0,_helperCompilationTargets.isRequired)(name,targets,{compatData:polyfillsSupport,includes:include,excludes:exclude});if(_shouldInjectPolyfill){shouldInject=_shouldInjectPolyfill(name,shouldInject);if(typeof shouldInject!=="boolean"){throw new Error(".shouldInjectPolyfill must return a boolean.");}}return shouldInject;},debug:function debug(name){var _debugLog,_debugLog$polyfillsSu;debugLog().found=true;if(!_debug||!name)return;if(debugLog().polyfills.has(providerName))return;debugLog().polyfills.add(name);(_debugLog$polyfillsSu=(_debugLog=debugLog()).polyfillsSupport)!=null?_debugLog$polyfillsSu:_debugLog.polyfillsSupport=polyfillsSupport;},assertDependency:function assertDependency(name,version){if(version===void 0){version="*";}if(missingDependencies===false)return;if(absoluteImports){return;}var dep=version==="*"?name:name+"@^"+version;var found=missingDependencies.all?false:mapGetOr(depsCache,name+" :: "+dirname,function(){return deps.has(dirname,name);});if(!found){debugLog().missingDeps.add(dep);}}};var provider=factory(api,providerOptions,dirname);var providerName=provider.name||factory.name;if(typeof provider[methodName]!=="function"){throw new Error("The \""+providerName+"\" provider doesn't support the \""+method+"\" polyfilling method.");}if(Array.isArray(provider.polyfills)){polyfillsNames=new Map(provider.polyfills.map(function(name,index){return[name,index];}));filterPolyfills=provider.filterPolyfills;}else if(provider.polyfills){polyfillsNames=new Map(Object.keys(provider.polyfills).map(function(name,index){return[name,index];}));polyfillsSupport=provider.polyfills;filterPolyfills=provider.filterPolyfills;}else{polyfillsNames=new Map();}var _ref2=(0,_normalizeOptions.validateIncludeExclude)(providerName,polyfillsNames,providerOptions.include||[],providerOptions.exclude||[]);include=_ref2.include;exclude=_ref2.exclude;var callProvider;if(methodName==="usageGlobal"){callProvider=function callProvider(payload,path){var _ref;var utils=getUtils(path);return(_ref=provider[methodName](payload,utils,path))!=null?_ref:false;};}else{callProvider=function callProvider(payload,path){var utils=getUtils(path);provider[methodName](payload,utils,path);return false;};}return{debug:_debug,method:method,targets:targets,provider:provider,providerName:providerName,callProvider:callProvider};}function definePolyfillProvider(factory){return(0,_helperPluginUtils.declare)(function(babelApi,options,dirname){babelApi.assertVersion("^7.0.0 || ^8.0.0-alpha.0");var traverse=babelApi.traverse;var debugLog;var missingDependencies=(0,_normalizeOptions.applyMissingDependenciesDefaults)(options,babelApi);var _instantiateProvider=instantiateProvider(factory,options,missingDependencies,dirname,function(){return debugLog;},babelApi),debug=_instantiateProvider.debug,method=_instantiateProvider.method,targets=_instantiateProvider.targets,provider=_instantiateProvider.provider,providerName=_instantiateProvider.providerName,callProvider=_instantiateProvider.callProvider;var createVisitor=method==="entry-global"?v.entry:v.usage;var visitor=provider.visitor?traverse.visitors.merge([createVisitor(callProvider),provider.visitor]):createVisitor(callProvider);if(debug&&debug!==_debugUtils.presetEnvSilentDebugHeader){console.log(providerName+": `DEBUG` option");console.log("\nUsing targets: "+(0,_debugUtils.stringifyTargetsMultiline)(targets));console.log("\nUsing polyfills with `"+method+"` method:");}var runtimeName=provider.runtimeName;return{name:"inject-polyfills",visitor:visitor,pre:function pre(file){var _provider$pre;if(runtimeName){if(file.get("runtimeHelpersModuleName")&&file.get("runtimeHelpersModuleName")!==runtimeName){console.warn("Two different polyfill providers"+(" ("+file.get("runtimeHelpersModuleProvider"))+(" and "+providerName+") are trying to define two")+" conflicting @babel/runtime alternatives:"+(" "+file.get("runtimeHelpersModuleName")+" and "+runtimeName+".")+" The second one will be ignored.");}else{file.set("runtimeHelpersModuleName",runtimeName);file.set("runtimeHelpersModuleProvider",providerName);}}debugLog={polyfills:new Set(),polyfillsSupport:undefined,found:false,providers:new Set(),missingDeps:new Set()};(_provider$pre=provider.pre)==null?void 0:_provider$pre.apply(this,arguments);},post:function post(){var _provider$post;(_provider$post=provider.post)==null?void 0:_provider$post.apply(this,arguments);if(missingDependencies!==false){if(missingDependencies.log==="per-file"){deps.logMissing(debugLog.missingDeps);}else{deps.laterLogMissing(debugLog.missingDeps);}}if(!debug)return;if(this.filename)console.log("\n["+this.filename+"]");if(debugLog.polyfills.size===0){console.log(method==="entry-global"?debugLog.found?"Based on your targets, the "+providerName+" polyfill did not add any polyfill.":"The entry point for the "+providerName+" polyfill has not been found.":"Based on your code and targets, the "+providerName+" polyfill did not add any polyfill.");return;}if(method==="entry-global"){console.log("The "+providerName+" polyfill entry has been replaced with "+"the following polyfills:");}else{console.log("The "+providerName+" polyfill added the following polyfills:");}for(var _iterator=_createForOfIteratorHelperLoose(debugLog.polyfills),_step;!(_step=_iterator()).done;){var name=_step.value;var _debugLog$polyfillsSu2;if((_debugLog$polyfillsSu2=debugLog.polyfillsSupport)!=null&&_debugLog$polyfillsSu2[name]){var filteredTargets=(0,_helperCompilationTargets.getInclusionReasons)(name,targets,debugLog.polyfillsSupport);var formattedTargets=JSON.stringify(filteredTargets).replace(/,/g,", ").replace(/^\{"/,'{ "').replace(/"\}$/,'" }');console.log("  "+name+" "+formattedTargets);}else{console.log("  "+name);}}}};});}function mapGetOr(map,key,getDefault){var val=map.get(key);if(val===undefined){val=getDefault();map.set(key,val);}return val;}function isEmpty(obj){return Object.keys(obj).length===0;}return lib$1;}var hasRequiredLib$1;function requireLib$1(){if(hasRequiredLib$1)return lib$2;hasRequiredLib$1=1;lib$2.__esModule=true;lib$2["default"]=void 0;var _corejs2BuiltIns=_interopRequireDefault(requireCorejs2BuiltIns());var _builtInDefinitions=requireBuiltInDefinitions();var _addPlatformSpecificPolyfills=_interopRequireDefault(requireAddPlatformSpecificPolyfills());var _helpers=requireHelpers();var _helperDefinePolyfillProvider=_interopRequireDefault(requireLib$2());var _babel=_interopRequireWildcard(require$$5);function _getRequireWildcardCache(nodeInterop){if(typeof WeakMap!=="function")return null;var cacheBabelInterop=new WeakMap();var cacheNodeInterop=new WeakMap();return(_getRequireWildcardCache=function _getRequireWildcardCache(nodeInterop){return nodeInterop?cacheNodeInterop:cacheBabelInterop;})(nodeInterop);}function _interopRequireWildcard(obj,nodeInterop){if(!nodeInterop&&obj&&obj.__esModule){return obj;}if(obj===null||_typeof(obj)!=="object"&&typeof obj!=="function"){return{"default":obj};}var cache=_getRequireWildcardCache(nodeInterop);if(cache&&cache.has(obj)){return cache.get(obj);}var newObj={};var hasPropertyDescriptor=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var key in obj){if(key!=="default"&&Object.prototype.hasOwnProperty.call(obj,key)){var desc=hasPropertyDescriptor?Object.getOwnPropertyDescriptor(obj,key):null;if(desc&&(desc.get||desc.set)){Object.defineProperty(newObj,key,desc);}else{newObj[key]=obj[key];}}}newObj["default"]=obj;if(cache){cache.set(obj,newObj);}return newObj;}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj};}var _ref=_babel["default"]||_babel,t=_ref.types;var BABEL_RUNTIME="@babel/runtime-corejs2";var presetEnvCompat="#__secret_key__@babel/preset-env__compatibility";var runtimeCompat="#__secret_key__@babel/runtime__compatibility";var has=Function.call.bind(Object.hasOwnProperty);var _default=(0,_helperDefinePolyfillProvider["default"])(function(api,_ref2){var _ref2$presetEnvCompat=_ref2[presetEnvCompat],_ref2$presetEnvCompat2=_ref2$presetEnvCompat===void 0?{}:_ref2$presetEnvCompat,_ref2$presetEnvCompat3=_ref2$presetEnvCompat2.entryInjectRegenerator,entryInjectRegenerator=_ref2$presetEnvCompat3===void 0?false:_ref2$presetEnvCompat3,_ref2$presetEnvCompat4=_ref2$presetEnvCompat2.noRuntimeName,noRuntimeName=_ref2$presetEnvCompat4===void 0?false:_ref2$presetEnvCompat4,_ref2$runtimeCompat=_ref2[runtimeCompat],_ref2$runtimeCompat2=_ref2$runtimeCompat===void 0?{}:_ref2$runtimeCompat,_ref2$runtimeCompat2$=_ref2$runtimeCompat2.useBabelRuntime,useBabelRuntime=_ref2$runtimeCompat2$===void 0?false:_ref2$runtimeCompat2$,_ref2$runtimeCompat2$2=_ref2$runtimeCompat2.runtimeVersion,runtimeVersion=_ref2$runtimeCompat2$2===void 0?"":_ref2$runtimeCompat2$2,_ref2$runtimeCompat2$3=_ref2$runtimeCompat2.ext,ext=_ref2$runtimeCompat2$3===void 0?".js":_ref2$runtimeCompat2$3;var resolve=api.createMetaResolver({global:_builtInDefinitions.BuiltIns,"static":_builtInDefinitions.StaticProperties,instance:_builtInDefinitions.InstanceProperties});var debug=api.debug,shouldInjectPolyfill=api.shouldInjectPolyfill,method=api.method;var polyfills=(0,_addPlatformSpecificPolyfills["default"])(api.targets,method,_corejs2BuiltIns["default"]);var coreJSBase=useBabelRuntime?BABEL_RUNTIME+"/core-js":method==="usage-pure"?"core-js/library/fn":"core-js/modules";function inject(name,utils){if(typeof name==="string"){if(has(polyfills,name)&&shouldInjectPolyfill(name)){debug(name);utils.injectGlobalImport(coreJSBase+"/"+name+".js");}return;}name.forEach(function(name){return inject(name,utils);});}function maybeInjectPure(desc,hint,utils){var pure=desc.pure,meta=desc.meta,name=desc.name;if(!pure||!shouldInjectPolyfill(name))return;if(runtimeVersion&&meta&&meta.minRuntimeVersion&&!(0,_helpers.hasMinVersion)(meta&&meta.minRuntimeVersion,runtimeVersion)){return;}if(useBabelRuntime&&pure==="symbol/index")pure="symbol";return utils.injectDefaultImport(coreJSBase+"/"+pure+ext,hint);}return{name:"corejs2",runtimeName:noRuntimeName?null:BABEL_RUNTIME,polyfills:polyfills,entryGlobal:function entryGlobal(meta,utils,path){if(meta.kind==="import"&&meta.source==="core-js"){debug(null);inject(Object.keys(polyfills),utils);if(entryInjectRegenerator){utils.injectGlobalImport("regenerator-runtime/runtime.js");}path.remove();}},usageGlobal:function usageGlobal(meta,utils){var resolved=resolve(meta);if(!resolved)return;var deps=resolved.desc.global;if(resolved.kind!=="global"&&"object"in meta&&meta.object&&meta.placement==="prototype"){var low=meta.object.toLowerCase();deps=deps.filter(function(m){return m.includes(low);});}inject(deps,utils);},usagePure:function usagePure(meta,utils,path){if(meta.kind==="in"){if(meta.key==="Symbol.iterator"){path.replaceWith(t.callExpression(utils.injectDefaultImport(coreJSBase+"/is-iterable"+ext,"isIterable"),[path.node.right]));}return;}if(path.parentPath.isUnaryExpression({operator:"delete"}))return;if(meta.kind==="property"){if(!path.isMemberExpression())return;if(!path.isReferenced())return;if(meta.key==="Symbol.iterator"&&shouldInjectPolyfill("es6.symbol")&&path.parentPath.isCallExpression({callee:path.node})&&path.parentPath.node.arguments.length===0){path.parentPath.replaceWith(t.callExpression(utils.injectDefaultImport(coreJSBase+"/get-iterator"+ext,"getIterator"),[path.node.object]));path.skip();return;}}var resolved=resolve(meta);if(!resolved)return;var id=maybeInjectPure(resolved.desc,resolved.name,utils);if(id)path.replaceWith(id);},visitor:method==="usage-global"&&{YieldExpression:function YieldExpression(path){if(path.node.delegate){inject("web.dom.iterable",api.getUtils(path));}},"ForOfStatement|ArrayPattern":function ForOfStatementArrayPattern(path){_builtInDefinitions.CommonIterators.forEach(function(name){return inject(name,api.getUtils(path));});}}};});lib$2["default"]=_default;return lib$2;}var babelPluginPolyfillCorejs2;var hasRequiredBabelPluginPolyfillCorejs2;function requireBabelPluginPolyfillCorejs2(){if(hasRequiredBabelPluginPolyfillCorejs2)return babelPluginPolyfillCorejs2;hasRequiredBabelPluginPolyfillCorejs2=1;function bool(value){if(value==null)return false;return value&&value!=="false"&&value!=="0";}babelPluginPolyfillCorejs2=bool(browser$1$1.env["BABEL_8_BREAKING"])?null:requireLib$1();return babelPluginPolyfillCorejs2;}var lib={};var hasRequiredLib;function requireLib(){if(hasRequiredLib)return lib;hasRequiredLib=1;lib.__esModule=true;lib["default"]=void 0;var _helperDefinePolyfillProvider=_interopRequireDefault(requireLib$2());function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj};}var runtimeCompat="#__secret_key__@babel/runtime__compatibility";var _default=(0,_helperDefinePolyfillProvider["default"])(function(_ref2,options){var debug=_ref2.debug,targets=_ref2.targets,babel=_ref2.babel;if(!shallowEqual(targets,babel.targets())){throw new Error("This plugin does not use the targets option. Only preset-env's targets"+" or top-level targets need to be configured for this plugin to work."+" See https://github.com/babel/babel-polyfills/issues/36 for more"+" details.");}var _options$runtimeCompa=options[runtimeCompat],_options$runtimeCompa2=_options$runtimeCompa===void 0?{}:_options$runtimeCompa,_options$runtimeCompa3=_options$runtimeCompa2.moduleName,moduleName=_options$runtimeCompa3===void 0?null:_options$runtimeCompa3,_options$runtimeCompa4=_options$runtimeCompa2.useBabelRuntime,useBabelRuntime=_options$runtimeCompa4===void 0?false:_options$runtimeCompa4;return{name:"regenerator",polyfills:["regenerator-runtime"],usageGlobal:function usageGlobal(meta,utils){if(isRegenerator(meta)){debug("regenerator-runtime");utils.injectGlobalImport("regenerator-runtime/runtime.js");}},usagePure:function usagePure(meta,utils,path){if(isRegenerator(meta)){var pureName="regenerator-runtime";if(useBabelRuntime){var _ref;var runtimeName=(_ref=moduleName!=null?moduleName:path.hub.file.get("runtimeHelpersModuleName"))!=null?_ref:"@babel/runtime";pureName=runtimeName+"/regenerator";}path.replaceWith(utils.injectDefaultImport(pureName,"regenerator-runtime"));}}};});lib["default"]=_default;var isRegenerator=function isRegenerator(meta){return meta.kind==="global"&&meta.name==="regeneratorRuntime";};function shallowEqual(obj1,obj2){return JSON.stringify(obj1)===JSON.stringify(obj2);}return lib;}var babelPluginPolyfillRegenerator;var hasRequiredBabelPluginPolyfillRegenerator;function requireBabelPluginPolyfillRegenerator(){if(hasRequiredBabelPluginPolyfillRegenerator)return babelPluginPolyfillRegenerator;hasRequiredBabelPluginPolyfillRegenerator=1;function bool(value){if(value==null)return false;return value&&value!=="false"&&value!=="0";}babelPluginPolyfillRegenerator=bool(browser$1$1.env["BABEL_8_BREAKING"])?null:requireLib();return babelPluginPolyfillRegenerator;}var utils={};var hasRequiredUtils;function requireUtils(){if(hasRequiredUtils)return utils;hasRequiredUtils=1;utils.getImportSource=function(_ref){var node=_ref.node;if(node.specifiers.length===0)return node.source.value;};utils.getRequireSource=function(_ref2){var node=_ref2.node;if(node.type!=="ExpressionStatement")return;var expression=node.expression;if(expression.type==="CallExpression"&&expression.callee.type==="Identifier"&&expression.callee.name==="require"&&expression.arguments.length===1&&expression.arguments[0].type==="StringLiteral"){return expression.arguments[0].value;}};utils.isPolyfillSource=function(source){return source==="@babel/polyfill"||source==="core-js";};return utils;}var _templateObject$1,_templateObject2$1,_templateObject3$1,_templateObject4;var babelPolyfill;var hasRequiredBabelPolyfill;function requireBabelPolyfill(){if(hasRequiredBabelPolyfill)return babelPolyfill;hasRequiredBabelPolyfill=1;var _require$$=requireUtils(),getImportSource=_require$$.getImportSource,getRequireSource=_require$$.getRequireSource,isPolyfillSource=_require$$.isPolyfillSource;var BABEL_POLYFILL_DEPRECATION="\n  `@babel/polyfill` is deprecated. Please, use required parts of `core-js`\n  and `regenerator-runtime/runtime` separately";var NO_DIRECT_POLYFILL_IMPORT="\n  When setting `useBuiltIns: 'usage'`, polyfills are automatically imported when needed.\n  Please remove the direct import of `SPECIFIER` or use `useBuiltIns: 'entry'` instead.";babelPolyfill=function babelPolyfill(_ref,_ref2){var template=_ref.template;var regenerator=_ref2.regenerator,deprecated=_ref2.deprecated,usage=_ref2.usage;return{name:"preset-env/replace-babel-polyfill",visitor:{ImportDeclaration:function ImportDeclaration(path){var src=getImportSource(path);if(usage&&isPolyfillSource(src)){console.warn(NO_DIRECT_POLYFILL_IMPORT.replace("SPECIFIER",src));if(!deprecated)path.remove();}else if(src==="@babel/polyfill"){if(deprecated){console.warn(BABEL_POLYFILL_DEPRECATION);}else if(regenerator){path.replaceWithMultiple(template.ast(_templateObject$1||(_templateObject$1=_taggedTemplateLiteralLoose(["\n              import \"core-js\";\n              import \"regenerator-runtime/runtime.js\";\n            "]))));}else{path.replaceWith(template.ast(_templateObject2$1||(_templateObject2$1=_taggedTemplateLiteralLoose(["\n              import \"core-js\";\n            "]))));}}},Program:function Program(path){path.get("body").forEach(function(bodyPath){var src=getRequireSource(bodyPath);if(usage&&isPolyfillSource(src)){console.warn(NO_DIRECT_POLYFILL_IMPORT.replace("SPECIFIER",src));if(!deprecated)bodyPath.remove();}else if(src==="@babel/polyfill"){if(deprecated){console.warn(BABEL_POLYFILL_DEPRECATION);}else if(regenerator){bodyPath.replaceWithMultiple(template.ast(_templateObject3$1||(_templateObject3$1=_taggedTemplateLiteralLoose(["\n                require(\"core-js\");\n                require(\"regenerator-runtime/runtime.js\");\n              "]))));}else{bodyPath.replaceWith(template.ast(_templateObject4||(_templateObject4=_taggedTemplateLiteralLoose(["\n                require(\"core-js\");\n              "]))));}}});}}};};return babelPolyfill;}var regenerator;var hasRequiredRegenerator;function requireRegenerator(){if(hasRequiredRegenerator)return regenerator;hasRequiredRegenerator=1;var _require$$=requireUtils(),getImportSource=_require$$.getImportSource,getRequireSource=_require$$.getRequireSource;function isRegeneratorSource(source){return source==="regenerator-runtime/runtime"||source==="regenerator-runtime/runtime.js";}regenerator=function regenerator(){var visitor={ImportDeclaration:function ImportDeclaration(path){if(isRegeneratorSource(getImportSource(path))){this.regeneratorImportExcluded=true;path.remove();}},Program:function Program(path){var _this=this;path.get("body").forEach(function(bodyPath){if(isRegeneratorSource(getRequireSource(bodyPath))){_this.regeneratorImportExcluded=true;bodyPath.remove();}});}};return{name:"preset-env/remove-regenerator",visitor:visitor,pre:function pre(){this.regeneratorImportExcluded=false;},post:function post(){if(this.opts.debug&&this.regeneratorImportExcluded){var filename=this.file.opts.filename;if(browser$1$1.env.BABEL_ENV==="test"){filename=filename.replace(/\\/g,"/");}console.log("\n["+filename+"] Based on your targets, regenerator-runtime import excluded.");}}};};return regenerator;}(function(exports){{Object.defineProperties(exports,{pluginCoreJS2:{get:function get(){return requireBabelPluginPolyfillCorejs2()["default"];}},pluginRegenerator:{get:function get(){return requireBabelPluginPolyfillRegenerator()["default"];}},legacyBabelPolyfillPlugin:{get:function get(){return requireBabelPolyfill();}},removeRegeneratorEntryPlugin:{get:function get(){return requireRegenerator();}},corejs2Polyfills:{get:function get(){return requireCorejs2BuiltIns();}}});}})(babel7Plugins);var v$1=new OptionValidator("@babel/preset-env");var allPluginsList=Object.keys(plugins);var modulePlugins=["transform-dynamic-import"].concat(_toConsumableArray(Object.keys(moduleTransformations).map(function(m){return moduleTransformations[m];})));var getValidIncludesAndExcludes=function getValidIncludesAndExcludes(type,corejs){var set=new Set(allPluginsList);if(type==="exclude")modulePlugins.map(set.add,set);if(corejs){if(corejs===2){Object.keys(babel7Plugins.corejs2Polyfills).map(set.add,set);set.add("web.timers").add("web.immediate").add("web.dom.iterable");}else{Object.keys(require$$0$3).map(set.add,set);}}return Array.from(set);};function flatMap(array,fn){return Array.prototype.concat.apply([],array.map(fn));}var normalizePluginName=function normalizePluginName(plugin){return plugin.replace(/^(@babel\/|babel-)(plugin-)?/,"");};var expandIncludesAndExcludes=function expandIncludesAndExcludes(filterList,type,corejs){if(filterList===void 0){filterList=[];}if(filterList.length===0)return[];var filterableItems=getValidIncludesAndExcludes(type,corejs);var invalidFilters=[];var selectedPlugins=flatMap(filterList,function(filter){var re;if(typeof filter==="string"){try{re=new RegExp("^"+normalizePluginName(filter)+"$");}catch(e){invalidFilters.push(filter);return[];}}else{re=filter;}var items=filterableItems.filter(function(item){return re.test(item)||re.test(item.replace(/^transform-/,"proposal-"));});if(items.length===0)invalidFilters.push(filter);return items;});v$1.invariant(invalidFilters.length===0,"The plugins/built-ins '"+invalidFilters.join(", ")+"' passed to the '"+type+"' option are not\n    valid. Please check data/[plugin-features|built-in-features].js in babel-preset-env");return selectedPlugins;};var checkDuplicateIncludeExcludes=function checkDuplicateIncludeExcludes(include,exclude){if(include===void 0){include=[];}if(exclude===void 0){exclude=[];}var duplicates=include.filter(function(opt){return exclude.indexOf(opt)>=0;});v$1.invariant(duplicates.length===0,"The plugins/built-ins '"+duplicates.join(", ")+"' were found in both the \"include\" and\n    \"exclude\" options.");};var normalizeTargets=function normalizeTargets(targets){if(typeof targets==="string"||Array.isArray(targets)){return{browsers:targets};}return Object.assign({},targets);};var validateModulesOption=function validateModulesOption(modulesOpt){if(modulesOpt===void 0){modulesOpt=ModulesOption.auto;}v$1.invariant(ModulesOption[modulesOpt.toString()]||modulesOpt===ModulesOption["false"],"The 'modules' option must be one of \n"+" - 'false' to indicate no module processing\n"+" - a specific module type: 'commonjs', 'amd', 'umd', 'systemjs'"+" - 'auto' (default) which will automatically select 'false' if the current\n"+"   process is known to support ES module syntax, or \"commonjs\" otherwise\n");return modulesOpt;};var validateUseBuiltInsOption=function validateUseBuiltInsOption(builtInsOpt){if(builtInsOpt===void 0){builtInsOpt=false;}v$1.invariant(UseBuiltInsOption[builtInsOpt.toString()]||builtInsOpt===UseBuiltInsOption["false"],"The 'useBuiltIns' option must be either\n    'false' (default) to indicate no polyfill,\n    '\"entry\"' to indicate replacing the entry polyfill, or\n    '\"usage\"' to import only used polyfills per file");return builtInsOpt;};function normalizeCoreJSOption(corejs,useBuiltIns){var proposals=false;var rawVersion;if(useBuiltIns&&corejs===undefined){{rawVersion=2;console.warn("\nWARNING (@babel/preset-env): We noticed you're using the `useBuiltIns` option without declaring a "+"core-js version. Currently, we assume version 2.x when no version "+"is passed. Since this default version will likely change in future "+"versions of Babel, we recommend explicitly setting the core-js version "+"you are using via the `corejs` option.\n"+"\nYou should also be sure that the version you pass to the `corejs` "+"option matches the version specified in your `package.json`'s "+"`dependencies` section. If it doesn't, you need to run one of the "+"following commands:\n\n"+"  npm install --save core-js@2    npm install --save core-js@3\n"+"  yarn add core-js@2              yarn add core-js@3\n\n"+"More info about useBuiltIns: https://babeljs.io/docs/en/babel-preset-env#usebuiltins\n"+"More info about core-js: https://babeljs.io/docs/en/babel-preset-env#corejs");}}else if(_typeof(corejs)==="object"&&corejs!==null){rawVersion=corejs.version;proposals=Boolean(corejs.proposals);}else{rawVersion=corejs;}var version=rawVersion?semver$1.coerce(String(rawVersion)):false;if(version){if(useBuiltIns){{if(version.major<2||version.major>3){throw new RangeError("Invalid Option: The version passed to `corejs` is invalid. Currently, "+"only core-js@2 and core-js@3 are supported.");}}}else{console.warn("\nWARNING (@babel/preset-env): The `corejs` option only has an effect when the `useBuiltIns` option is not `false`\n");}}return{version:version,proposals:proposals};}function normalizeOptions$3(opts){v$1.validateTopLevelOptions(opts,TopLevelOptions);var useBuiltIns=validateUseBuiltInsOption(opts.useBuiltIns);var corejs=normalizeCoreJSOption(opts.corejs,useBuiltIns);var include=expandIncludesAndExcludes(opts.include,TopLevelOptions.include,!!corejs.version&&corejs.version.major);var exclude=expandIncludesAndExcludes(opts.exclude,TopLevelOptions.exclude,!!corejs.version&&corejs.version.major);checkDuplicateIncludeExcludes(include,exclude);{v$1.validateBooleanOption("loose",opts.loose);v$1.validateBooleanOption("spec",opts.spec);}return{bugfixes:v$1.validateBooleanOption(TopLevelOptions.bugfixes,opts.bugfixes,false),configPath:v$1.validateStringOption(TopLevelOptions.configPath,opts.configPath,browser$1$1.cwd()),corejs:corejs,debug:v$1.validateBooleanOption(TopLevelOptions.debug,opts.debug,false),include:include,exclude:exclude,forceAllTransforms:v$1.validateBooleanOption(TopLevelOptions.forceAllTransforms,opts.forceAllTransforms,false),ignoreBrowserslistConfig:v$1.validateBooleanOption(TopLevelOptions.ignoreBrowserslistConfig,opts.ignoreBrowserslistConfig,false),modules:validateModulesOption(opts.modules),shippedProposals:v$1.validateBooleanOption(TopLevelOptions.shippedProposals,opts.shippedProposals,false),targets:normalizeTargets(opts.targets),useBuiltIns:useBuiltIns,browserslistEnv:v$1.validateStringOption(TopLevelOptions.browserslistEnv,opts.browserslistEnv)};}var proposalPlugins=new Set();var proposalSyntaxPlugins=["syntax-import-assertions","syntax-import-attributes"];var pluginSyntaxObject={"transform-async-generator-functions":"syntax-async-generators","transform-class-properties":"syntax-class-properties","transform-class-static-block":"syntax-class-static-block","transform-export-namespace-from":"syntax-export-namespace-from","transform-json-strings":"syntax-json-strings","transform-nullish-coalescing-operator":"syntax-nullish-coalescing-operator","transform-numeric-separator":"syntax-numeric-separator","transform-object-rest-spread":"syntax-object-rest-spread","transform-optional-catch-binding":"syntax-optional-catch-binding","transform-optional-chaining":"syntax-optional-chaining","transform-private-methods":"syntax-class-properties","transform-private-property-in-object":"syntax-private-property-in-object","transform-unicode-property-regex":null};var pluginSyntaxEntries=Object.keys(pluginSyntaxObject).map(function(key){return[key,pluginSyntaxObject[key]];});var pluginSyntaxMap=new Map(pluginSyntaxEntries);var data=require$$0$3;var getModulesListForTargetVersion=getModulesListForTargetVersion$2;var entries=require$$0$2;var _excluded=["method","targets","ignoreBrowserslistConfig","configPath","debug","shouldInjectPolyfill","absoluteImports"];var _templateObject,_templateObject2,_templateObject3;var _ref2$1=_babel,t$1$1=_ref2$1.types,template=_ref2$1.template;function intersection(a,b){var result=new Set();a.forEach(function(v){return b.has(v)&&result.add(v);});return result;}function has$1(object,key){return Object.prototype.hasOwnProperty.call(object,key);}function getType(target){return Object.prototype.toString.call(target).slice(8,-1);}function resolveId(path){if(path.isIdentifier()&&!path.scope.hasBinding(path.node.name,true)){return path.node.name;}if(path.isPure()){var _path$evaluate=path.evaluate(),deopt=_path$evaluate.deopt;if(deopt&&deopt.isIdentifier()){return deopt.node.name;}}}function resolveKey(path,computed){if(computed===void 0){computed=false;}var scope=path.scope;if(path.isStringLiteral())return path.node.value;var isIdentifier=path.isIdentifier();if(isIdentifier&&!(computed||path.parent.computed)){return path.node.name;}if(computed&&path.isMemberExpression()&&path.get("object").isIdentifier({name:"Symbol"})&&!scope.hasBinding("Symbol",true)){var sym=resolveKey(path.get("property"),path.node.computed);if(sym)return"Symbol."+sym;}if(isIdentifier?scope.hasBinding(path.node.name,true):path.isPure()){var _path$evaluate2=path.evaluate(),value=_path$evaluate2.value;if(typeof value==="string")return value;}}function resolveSource(obj){if(obj.isMemberExpression()&&obj.get("property").isIdentifier({name:"prototype"})){var _id=resolveId(obj.get("object"));if(_id){return{id:_id,placement:"prototype"};}return{id:null,placement:null};}var id=resolveId(obj);if(id){return{id:id,placement:"static"};}if(obj.isRegExpLiteral()){return{id:"RegExp",placement:"prototype"};}else if(obj.isFunction()){return{id:"Function",placement:"prototype"};}else if(obj.isPure()){var _obj$evaluate=obj.evaluate(),value=_obj$evaluate.value;if(value!==undefined){return{id:getType(value),placement:"prototype"};}}return{id:null,placement:null};}function getImportSource(_ref3){var node=_ref3.node;if(node.specifiers.length===0)return node.source.value;}function getRequireSource(_ref4){var node=_ref4.node;if(!t$1$1.isExpressionStatement(node))return;var expression=node.expression;if(t$1$1.isCallExpression(expression)&&t$1$1.isIdentifier(expression.callee)&&expression.callee.name==="require"&&expression.arguments.length===1&&t$1$1.isStringLiteral(expression.arguments[0])){return expression.arguments[0].value;}}function hoist(node){node._blockHoist=3;return node;}function createUtilsGetter(cache){return function(path){var prog=path.findParent(function(p){return p.isProgram();});return{injectGlobalImport:function injectGlobalImport(url,moduleName){cache.storeAnonymous(prog,url,moduleName,function(isScript,source){return isScript?template.statement.ast(_templateObject||(_templateObject=_taggedTemplateLiteralLoose(["require(",")"])),source):t$1$1.importDeclaration([],source);});},injectNamedImport:function injectNamedImport(url,name,hint,moduleName){if(hint===void 0){hint=name;}return cache.storeNamed(prog,url,name,moduleName,function(isScript,source,name){var id=prog.scope.generateUidIdentifier(hint);return{node:isScript?hoist(template.statement.ast(_templateObject2||(_templateObject2=_taggedTemplateLiteralLoose(["\n                  var "," = require(",").","\n                "])),id,source,name)):t$1$1.importDeclaration([t$1$1.importSpecifier(id,name)],source),name:id.name};});},injectDefaultImport:function injectDefaultImport(url,hint,moduleName){if(hint===void 0){hint=url;}return cache.storeNamed(prog,url,"default",moduleName,function(isScript,source){var id=prog.scope.generateUidIdentifier(hint);return{node:isScript?hoist(template.statement.ast(_templateObject3||(_templateObject3=_taggedTemplateLiteralLoose(["var "," = require(",")"])),id,source)):t$1$1.importDeclaration([t$1$1.importDefaultSpecifier(id)],source),name:id.name};});}};};}var _ref5=_babel,t$3=_ref5.types;var ImportsCachedInjector=function(){function ImportsCachedInjector(resolver,getPreferredIndex){this._imports=new WeakMap();this._anonymousImports=new WeakMap();this._lastImports=new WeakMap();this._resolver=resolver;this._getPreferredIndex=getPreferredIndex;}var _proto=ImportsCachedInjector.prototype;_proto.storeAnonymous=function storeAnonymous(programPath,url,moduleName,getVal){var key=this._normalizeKey(programPath,url);var imports=this._ensure(this._anonymousImports,programPath,Set);if(imports.has(key))return;var node=getVal(programPath.node.sourceType==="script",t$3.stringLiteral(this._resolver(url)));imports.add(key);this._injectImport(programPath,node,moduleName);};_proto.storeNamed=function storeNamed(programPath,url,name,moduleName,getVal){var key=this._normalizeKey(programPath,url,name);var imports=this._ensure(this._imports,programPath,Map);if(!imports.has(key)){var _getVal=getVal(programPath.node.sourceType==="script",t$3.stringLiteral(this._resolver(url)),t$3.identifier(name)),node=_getVal.node,id=_getVal.name;imports.set(key,id);this._injectImport(programPath,node,moduleName);}return t$3.identifier(imports.get(key));};_proto._injectImport=function _injectImport(programPath,node,moduleName){var _this$_lastImports$ge;var newIndex=this._getPreferredIndex(moduleName);var lastImports=(_this$_lastImports$ge=this._lastImports.get(programPath))!=null?_this$_lastImports$ge:[];var isPathStillValid=function isPathStillValid(path){return path.node&&path.parent===programPath.node&&path.container===programPath.node.body;};var last;if(newIndex===Infinity){if(lastImports.length>0){last=lastImports[lastImports.length-1].path;if(!isPathStillValid(last))last=undefined;}}else{for(var _iterator=_createForOfIteratorHelperLoose(lastImports.entries()),_step;!(_step=_iterator()).done;){var _step$value=_slicedToArray(_step.value,2),i=_step$value[0],data=_step$value[1];var path=data.path,index=data.index;if(isPathStillValid(path)){if(newIndex<index){var _path$insertBefore=path.insertBefore(node),_path$insertBefore2=_slicedToArray(_path$insertBefore,1),newPath=_path$insertBefore2[0];lastImports.splice(i,0,{path:newPath,index:newIndex});return;}last=path;}}}if(last){var _last$insertAfter=last.insertAfter(node),_last$insertAfter2=_slicedToArray(_last$insertAfter,1),_newPath=_last$insertAfter2[0];lastImports.push({path:_newPath,index:newIndex});}else{var _programPath$unshiftC=programPath.unshiftContainer("body",node),_programPath$unshiftC2=_slicedToArray(_programPath$unshiftC,1),_newPath2=_programPath$unshiftC2[0];this._lastImports.set(programPath,[{path:_newPath2,index:newIndex}]);}};_proto._ensure=function _ensure(map,programPath,Collection){var collection=map.get(programPath);if(!collection){collection=new Collection();map.set(programPath,collection);}return collection;};_proto._normalizeKey=function _normalizeKey(programPath,url,name){if(name===void 0){name="";}var sourceType=programPath.node.sourceType;return(name&&sourceType)+"::"+url+"::"+name;};return _createClass(ImportsCachedInjector);}();var presetEnvSilentDebugHeader="#__secret_key__@babel/preset-env__don't_log_debug_header_and_resolved_targets";function stringifyTargetsMultiline(targets){return JSON.stringify(prettifyTargets(targets),null,2);}function patternToRegExp(pattern){if(pattern instanceof RegExp)return pattern;try{return new RegExp("^"+pattern+"$");}catch(_unused){return null;}}function buildUnusedError(label,unused){if(!unused.length)return"";return"  - The following \""+label+"\" patterns didn't match any polyfill:\n"+unused.map(function(original){return"    "+String(original)+"\n";}).join("");}function buldDuplicatesError(duplicates){if(!duplicates.size)return"";return"  - The following polyfills were matched both by \"include\" and \"exclude\" patterns:\n"+Array.from(duplicates,function(name){return"    "+name+"\n";}).join("");}function validateIncludeExclude(provider,polyfills,includePatterns,excludePatterns){var current;var filter=function filter(pattern){var regexp=patternToRegExp(pattern);if(!regexp)return false;var matched=false;for(var _iterator2=_createForOfIteratorHelperLoose(polyfills.keys()),_step2;!(_step2=_iterator2()).done;){var polyfill=_step2.value;if(regexp.test(polyfill)){matched=true;current.add(polyfill);}}return!matched;};var include=current=new Set();var unusedInclude=Array.from(includePatterns).filter(filter);var exclude=current=new Set();var unusedExclude=Array.from(excludePatterns).filter(filter);var duplicates=intersection(include,exclude);if(duplicates.size>0||unusedInclude.length>0||unusedExclude.length>0){throw new Error("Error while validating the \""+provider+"\" provider options:\n"+buildUnusedError("include",unusedInclude)+buildUnusedError("exclude",unusedExclude)+buldDuplicatesError(duplicates));}return{include:include,exclude:exclude};}function applyMissingDependenciesDefaults(options,babelApi){var _options$missingDepen=options.missingDependencies,missingDependencies=_options$missingDepen===void 0?{}:_options$missingDepen;if(missingDependencies===false)return false;var caller=babelApi.caller(function(caller){return caller==null?void 0:caller.name;});var _missingDependencies$=missingDependencies.log,log=_missingDependencies$===void 0?"deferred":_missingDependencies$,_missingDependencies$2=missingDependencies.inject,inject=_missingDependencies$2===void 0?caller==="rollup-plugin-babel"?"throw":"import":_missingDependencies$2,_missingDependencies$3=missingDependencies.all,all=_missingDependencies$3===void 0?false:_missingDependencies$3;return{log:log,inject:inject,all:all};}function isRemoved(path){if(path.removed)return true;if(!path.parentPath)return false;if(path.listKey){if(!path.parentPath.node[path.listKey].includes(path.node))return true;}else{if(path.parentPath.node[path.key]!==path.node)return true;}return isRemoved(path.parentPath);}var usage=function usage(callProvider){function property(object,key,placement,path){return callProvider({kind:"property",object:object,key:key,placement:placement},path);}function handleReferencedIdentifier(path){var name=path.node.name,scope=path.scope;if(scope.getBindingIdentifier(name))return;callProvider({kind:"global",name:name},path);}function analyzeMemberExpression(path){var key=resolveKey(path.get("property"),path.node.computed);return{key:key,handleAsMemberExpression:!!key&&key!=="prototype"};}return{ReferencedIdentifier:function ReferencedIdentifier(path){var parentPath=path.parentPath;if(parentPath.isMemberExpression({object:path.node})&&analyzeMemberExpression(parentPath).handleAsMemberExpression){return;}handleReferencedIdentifier(path);},MemberExpression:function MemberExpression(path){var _analyzeMemberExpress=analyzeMemberExpression(path),key=_analyzeMemberExpress.key,handleAsMemberExpression=_analyzeMemberExpress.handleAsMemberExpression;if(!handleAsMemberExpression)return;var object=path.get("object");var objectIsGlobalIdentifier=object.isIdentifier();if(objectIsGlobalIdentifier){var binding=object.scope.getBinding(object.node.name);if(binding){if(binding.path.isImportNamespaceSpecifier())return;objectIsGlobalIdentifier=false;}}var source=resolveSource(object);var skipObject=property(source.id,key,source.placement,path);skipObject||(skipObject=!objectIsGlobalIdentifier||path.shouldSkip||object.shouldSkip||isRemoved(object));if(!skipObject)handleReferencedIdentifier(object);},ObjectPattern:function ObjectPattern(path){var parentPath=path.parentPath,parent=path.parent;var obj;if(parentPath.isVariableDeclarator()){obj=parentPath.get("init");}else if(parentPath.isAssignmentExpression()){obj=parentPath.get("right");}else if(parentPath.isFunction()){var grand=parentPath.parentPath;if(grand.isCallExpression()||grand.isNewExpression()){if(grand.node.callee===parent){obj=grand.get("arguments")[path.key];}}}var id=null;var placement=null;if(obj){var _resolveSource=resolveSource(obj);id=_resolveSource.id;placement=_resolveSource.placement;}for(var _iterator3=_createForOfIteratorHelperLoose(path.get("properties")),_step3;!(_step3=_iterator3()).done;){var prop=_step3.value;if(prop.isObjectProperty()){var key=resolveKey(prop.get("key"));if(key)property(id,key,placement,prop);}}},BinaryExpression:function BinaryExpression(path){if(path.node.operator!=="in")return;var source=resolveSource(path.get("right"));var key=resolveKey(path.get("left"),true);if(!key)return;callProvider({kind:"in",object:source.id,key:key,placement:source.placement},path);}};};var entry=function entry(callProvider){return{ImportDeclaration:function ImportDeclaration(path){var source=getImportSource(path);if(!source)return;callProvider({kind:"import",source:source},path);},Program:function Program(path){path.get("body").forEach(function(bodyPath){var source=getRequireSource(bodyPath);if(!source)return;callProvider({kind:"import",source:source},bodyPath);});}};};function resolve(dirname,moduleName,absoluteImports){if(absoluteImports===false)return moduleName;throw new Error("\"absoluteImports\" is not supported in bundles prepared for the browser.");}function has(basedir,name){return true;}function logMissing(missingDeps){}function laterLogMissing(missingDeps){}var PossibleGlobalObjects=new Set(["global","globalThis","self","window"]);function createMetaResolver(polyfills){var staticP=polyfills["static"],instanceP=polyfills.instance,globalP=polyfills.global;return function(meta){if(meta.kind==="global"&&globalP&&has$1(globalP,meta.name)){return{kind:"global",desc:globalP[meta.name],name:meta.name};}if(meta.kind==="property"||meta.kind==="in"){var placement=meta.placement,object=meta.object,key=meta.key;if(object&&placement==="static"){if(globalP&&PossibleGlobalObjects.has(object)&&has$1(globalP,key)){return{kind:"global",desc:globalP[key],name:key};}if(staticP&&has$1(staticP,object)&&has$1(staticP[object],key)){return{kind:"static",desc:staticP[object][key],name:object+"$"+key};}}if(instanceP&&has$1(instanceP,key)){return{kind:"instance",desc:instanceP[key],name:""+key};}}};}var getTargets=getTargets$1["default"]||getTargets$1;function resolveOptions(options,babelApi){var method=options.method,targetsOption=options.targets,ignoreBrowserslistConfig=options.ignoreBrowserslistConfig,configPath=options.configPath,debug=options.debug,shouldInjectPolyfill=options.shouldInjectPolyfill,absoluteImports=options.absoluteImports,providerOptions=_objectWithoutProperties(options,_excluded);if(isEmpty(options)){throw new Error("This plugin requires options, for example:\n    {\n      \"plugins\": [\n        [\"<plugin name>\", { method: \"usage-pure\" }]\n      ]\n    }\n\nSee more options at https://github.com/babel/babel-polyfills/blob/main/docs/usage.md");}var methodName;if(method==="usage-global")methodName="usageGlobal";else if(method==="entry-global")methodName="entryGlobal";else if(method==="usage-pure")methodName="usagePure";else if(typeof method!=="string"){throw new Error(".method must be a string");}else{throw new Error(".method must be one of \"entry-global\", \"usage-global\""+(" or \"usage-pure\" (received "+JSON.stringify(method)+")"));}if(typeof shouldInjectPolyfill==="function"){if(options.include||options.exclude){throw new Error(".include and .exclude are not supported when using the"+" .shouldInjectPolyfill function.");}}else if(shouldInjectPolyfill!=null){throw new Error(".shouldInjectPolyfill must be a function, or undefined"+(" (received "+JSON.stringify(shouldInjectPolyfill)+")"));}if(absoluteImports!=null&&typeof absoluteImports!=="boolean"&&typeof absoluteImports!=="string"){throw new Error(".absoluteImports must be a boolean, a string, or undefined"+(" (received "+JSON.stringify(absoluteImports)+")"));}var targets;if(targetsOption||configPath||ignoreBrowserslistConfig){var targetsObj=typeof targetsOption==="string"||Array.isArray(targetsOption)?{browsers:targetsOption}:targetsOption;targets=getTargets(targetsObj,{ignoreBrowserslistConfig:ignoreBrowserslistConfig,configPath:configPath});}else{targets=babelApi.targets();}return{method:method,methodName:methodName,targets:targets,absoluteImports:absoluteImports!=null?absoluteImports:false,shouldInjectPolyfill:shouldInjectPolyfill,debug:!!debug,providerOptions:providerOptions};}function instantiateProvider(factory,options,missingDependencies,dirname,debugLog,babelApi){var _resolveOptions=resolveOptions(options,babelApi),method=_resolveOptions.method,methodName=_resolveOptions.methodName,targets=_resolveOptions.targets,_debug=_resolveOptions.debug,_shouldInjectPolyfill=_resolveOptions.shouldInjectPolyfill,providerOptions=_resolveOptions.providerOptions,absoluteImports=_resolveOptions.absoluteImports;var include,exclude;var polyfillsSupport;var polyfillsNames;var filterPolyfills;var getUtils=createUtilsGetter(new ImportsCachedInjector(function(moduleName){return resolve(dirname,moduleName,absoluteImports);},function(name){var _polyfillsNames$get,_polyfillsNames;return(_polyfillsNames$get=(_polyfillsNames=polyfillsNames)==null?void 0:_polyfillsNames.get(name))!=null?_polyfillsNames$get:Infinity;}));var depsCache=new Map();var api={babel:babelApi,getUtils:getUtils,method:options.method,targets:targets,createMetaResolver:createMetaResolver,shouldInjectPolyfill:function shouldInjectPolyfill(name){if(polyfillsNames===undefined){throw new Error("Internal error in the "+factory.name+" provider: "+"shouldInjectPolyfill() can't be called during initialization.");}if(!polyfillsNames.has(name)){console.warn("Internal error in the "+providerName+" provider: "+("unknown polyfill \""+name+"\"."));}if(filterPolyfills&&!filterPolyfills(name))return false;var shouldInject=isRequired(name,targets,{compatData:polyfillsSupport,includes:include,excludes:exclude});if(_shouldInjectPolyfill){shouldInject=_shouldInjectPolyfill(name,shouldInject);if(typeof shouldInject!=="boolean"){throw new Error(".shouldInjectPolyfill must return a boolean.");}}return shouldInject;},debug:function debug(name){var _debugLog,_debugLog$polyfillsSu;debugLog().found=true;if(!_debug||!name)return;if(debugLog().polyfills.has(providerName))return;debugLog().polyfills.add(name);(_debugLog$polyfillsSu=(_debugLog=debugLog()).polyfillsSupport)!=null?_debugLog$polyfillsSu:_debugLog.polyfillsSupport=polyfillsSupport;},assertDependency:function assertDependency(name,version){if(version===void 0){version="*";}if(missingDependencies===false)return;if(absoluteImports){return;}var dep=version==="*"?name:name+"@^"+version;var found=missingDependencies.all?false:mapGetOr(depsCache,name+" :: "+dirname,function(){return has();});if(!found){debugLog().missingDeps.add(dep);}}};var provider=factory(api,providerOptions,dirname);var providerName=provider.name||factory.name;if(typeof provider[methodName]!=="function"){throw new Error("The \""+providerName+"\" provider doesn't support the \""+method+"\" polyfilling method.");}if(Array.isArray(provider.polyfills)){polyfillsNames=new Map(provider.polyfills.map(function(name,index){return[name,index];}));filterPolyfills=provider.filterPolyfills;}else if(provider.polyfills){polyfillsNames=new Map(Object.keys(provider.polyfills).map(function(name,index){return[name,index];}));polyfillsSupport=provider.polyfills;filterPolyfills=provider.filterPolyfills;}else{polyfillsNames=new Map();}var _validateIncludeExclu=validateIncludeExclude(providerName,polyfillsNames,providerOptions.include||[],providerOptions.exclude||[]);include=_validateIncludeExclu.include;exclude=_validateIncludeExclu.exclude;var callProvider;if(methodName==="usageGlobal"){callProvider=function callProvider(payload,path){var _ref;var utils=getUtils(path);return(_ref=provider[methodName](payload,utils,path))!=null?_ref:false;};}else{callProvider=function callProvider(payload,path){var utils=getUtils(path);provider[methodName](payload,utils,path);return false;};}return{debug:_debug,method:method,targets:targets,provider:provider,providerName:providerName,callProvider:callProvider};}function definePolyfillProvider(factory){return declare(function(babelApi,options,dirname){babelApi.assertVersion("^7.0.0 || ^8.0.0-alpha.0");var traverse=babelApi.traverse;var debugLog;var missingDependencies=applyMissingDependenciesDefaults(options,babelApi);var _instantiateProvider=instantiateProvider(factory,options,missingDependencies,dirname,function(){return debugLog;},babelApi),debug=_instantiateProvider.debug,method=_instantiateProvider.method,targets=_instantiateProvider.targets,provider=_instantiateProvider.provider,providerName=_instantiateProvider.providerName,callProvider=_instantiateProvider.callProvider;var createVisitor=method==="entry-global"?entry:usage;var visitor=provider.visitor?traverse.visitors.merge([createVisitor(callProvider),provider.visitor]):createVisitor(callProvider);if(debug&&debug!==presetEnvSilentDebugHeader){console.log(providerName+": `DEBUG` option");console.log("\nUsing targets: "+stringifyTargetsMultiline(targets));console.log("\nUsing polyfills with `"+method+"` method:");}var runtimeName=provider.runtimeName;return{name:"inject-polyfills",visitor:visitor,pre:function pre(file){var _provider$pre;if(runtimeName){if(file.get("runtimeHelpersModuleName")&&file.get("runtimeHelpersModuleName")!==runtimeName){console.warn("Two different polyfill providers"+(" ("+file.get("runtimeHelpersModuleProvider"))+(" and "+providerName+") are trying to define two")+" conflicting @babel/runtime alternatives:"+(" "+file.get("runtimeHelpersModuleName")+" and "+runtimeName+".")+" The second one will be ignored.");}else{file.set("runtimeHelpersModuleName",runtimeName);file.set("runtimeHelpersModuleProvider",providerName);}}debugLog={polyfills:new Set(),polyfillsSupport:undefined,found:false,providers:new Set(),missingDeps:new Set()};(_provider$pre=provider.pre)==null?void 0:_provider$pre.apply(this,arguments);},post:function post(){var _provider$post;(_provider$post=provider.post)==null?void 0:_provider$post.apply(this,arguments);if(missingDependencies!==false){if(missingDependencies.log==="per-file"){logMissing(debugLog.missingDeps);}else{laterLogMissing(debugLog.missingDeps);}}if(!debug)return;if(this.filename)console.log("\n["+this.filename+"]");if(debugLog.polyfills.size===0){console.log(method==="entry-global"?debugLog.found?"Based on your targets, the "+providerName+" polyfill did not add any polyfill.":"The entry point for the "+providerName+" polyfill has not been found.":"Based on your code and targets, the "+providerName+" polyfill did not add any polyfill.");return;}if(method==="entry-global"){console.log("The "+providerName+" polyfill entry has been replaced with "+"the following polyfills:");}else{console.log("The "+providerName+" polyfill added the following polyfills:");}for(var _iterator4=_createForOfIteratorHelperLoose(debugLog.polyfills),_step4;!(_step4=_iterator4()).done;){var name=_step4.value;var _debugLog$polyfillsSu2;if((_debugLog$polyfillsSu2=debugLog.polyfillsSupport)!=null&&_debugLog$polyfillsSu2[name]){var filteredTargets=getInclusionReasons(name,targets,debugLog.polyfillsSupport);var formattedTargets=JSON.stringify(filteredTargets).replace(/,/g,", ").replace(/^\{"/,'{ "').replace(/"\}$/,'" }');console.log("  "+name+" "+formattedTargets);}else{console.log("  "+name);}}}};});}function mapGetOr(map,key,getDefault){var val=map.get(key);if(val===undefined){val=getDefault();map.set(key,val);}return val;}function isEmpty(obj){return Object.keys(obj).length===0;}var _InstanceProperties;var corejs3ShippedProposalsList=new Set(["esnext.suppressed-error.constructor","esnext.array.from-async","esnext.array.group","esnext.array.group-to-map","esnext.iterator.constructor","esnext.iterator.drop","esnext.iterator.every","esnext.iterator.filter","esnext.iterator.find","esnext.iterator.flat-map","esnext.iterator.for-each","esnext.iterator.from","esnext.iterator.map","esnext.iterator.reduce","esnext.iterator.some","esnext.iterator.take","esnext.iterator.to-array","esnext.json.is-raw-json","esnext.json.parse","esnext.json.raw-json","esnext.set.difference.v2","esnext.set.intersection.v2","esnext.set.is-disjoint-from.v2","esnext.set.is-subset-of.v2","esnext.set.is-superset-of.v2","esnext.set.symmetric-difference.v2","esnext.set.union.v2","esnext.symbol.async-dispose","esnext.symbol.dispose","esnext.symbol.metadata"]);var polyfillsOrder={};Object.keys(data).forEach(function(name,index){polyfillsOrder[name]=index;});var define=function define(pure,global,name,exclude){if(name===void 0){name=global[0];}return{name:name,pure:pure,global:global.sort(function(a,b){return polyfillsOrder[a]-polyfillsOrder[b];}),exclude:exclude};};var typed=function typed(){for(var _len=arguments.length,modules=new Array(_len),_key=0;_key<_len;_key++){modules[_key]=arguments[_key];}return define(null,[].concat(modules,TypedArrayDependencies));};var ArrayNatureIterators=["es.array.iterator","web.dom-collections.iterator"];var CommonIterators=["es.string.iterator"].concat(ArrayNatureIterators);var ArrayNatureIteratorsWithTag=["es.object.to-string"].concat(ArrayNatureIterators);var CommonIteratorsWithTag=["es.object.to-string"].concat(_toConsumableArray(CommonIterators));var ErrorDependencies=["es.error.cause","es.error.to-string"];var SuppressedErrorDependencies=["esnext.suppressed-error.constructor"].concat(ErrorDependencies);var TypedArrayDependencies=["es.typed-array.at","es.typed-array.copy-within","es.typed-array.every","es.typed-array.fill","es.typed-array.filter","es.typed-array.find","es.typed-array.find-index","es.typed-array.find-last","es.typed-array.find-last-index","es.typed-array.for-each","es.typed-array.includes","es.typed-array.index-of","es.typed-array.iterator","es.typed-array.join","es.typed-array.last-index-of","es.typed-array.map","es.typed-array.reduce","es.typed-array.reduce-right","es.typed-array.reverse","es.typed-array.set","es.typed-array.slice","es.typed-array.some","es.typed-array.sort","es.typed-array.subarray","es.typed-array.to-locale-string","es.typed-array.to-reversed","es.typed-array.to-sorted","es.typed-array.to-string","es.typed-array.with","es.object.to-string","es.array.iterator","es.array-buffer.slice","es.data-view","es.array-buffer.detached","es.array-buffer.transfer","es.array-buffer.transfer-to-fixed-length","esnext.typed-array.filter-reject","esnext.typed-array.group-by","esnext.typed-array.to-spliced","esnext.typed-array.unique-by"];var PromiseDependencies=["es.promise","es.object.to-string"];var PromiseDependenciesWithIterators=[].concat(PromiseDependencies,_toConsumableArray(CommonIterators));var SymbolDependencies=["es.symbol","es.symbol.description","es.object.to-string"];var MapDependencies=["es.map","esnext.map.delete-all","esnext.map.emplace","esnext.map.every","esnext.map.filter","esnext.map.find","esnext.map.find-key","esnext.map.includes","esnext.map.key-of","esnext.map.map-keys","esnext.map.map-values","esnext.map.merge","esnext.map.reduce","esnext.map.some","esnext.map.update"].concat(_toConsumableArray(CommonIteratorsWithTag));var SetDependencies=["es.set","esnext.set.add-all","esnext.set.delete-all","esnext.set.difference","esnext.set.difference.v2","esnext.set.every","esnext.set.filter","esnext.set.find","esnext.set.intersection","esnext.set.intersection.v2","esnext.set.is-disjoint-from","esnext.set.is-disjoint-from.v2","esnext.set.is-subset-of","esnext.set.is-subset-of.v2","esnext.set.is-superset-of","esnext.set.is-superset-of.v2","esnext.set.join","esnext.set.map","esnext.set.reduce","esnext.set.some","esnext.set.symmetric-difference","esnext.set.symmetric-difference.v2","esnext.set.union","esnext.set.union.v2"].concat(_toConsumableArray(CommonIteratorsWithTag));var WeakMapDependencies=["es.weak-map","esnext.weak-map.delete-all","esnext.weak-map.emplace"].concat(_toConsumableArray(CommonIteratorsWithTag));var WeakSetDependencies=["es.weak-set","esnext.weak-set.add-all","esnext.weak-set.delete-all"].concat(_toConsumableArray(CommonIteratorsWithTag));var DOMExceptionDependencies=["web.dom-exception.constructor","web.dom-exception.stack","web.dom-exception.to-string-tag","es.error.to-string"];var URLSearchParamsDependencies=["web.url-search-params","web.url-search-params.delete","web.url-search-params.has","web.url-search-params.size"].concat(_toConsumableArray(CommonIteratorsWithTag));var AsyncIteratorDependencies=["esnext.async-iterator.constructor"].concat(PromiseDependencies);var AsyncIteratorProblemMethods=["esnext.async-iterator.every","esnext.async-iterator.filter","esnext.async-iterator.find","esnext.async-iterator.flat-map","esnext.async-iterator.for-each","esnext.async-iterator.map","esnext.async-iterator.reduce","esnext.async-iterator.some"];var IteratorDependencies=["esnext.iterator.constructor","es.object.to-string"];var DecoratorMetadataDependencies=["esnext.symbol.metadata","esnext.function.metadata"];var TypedArrayStaticMethods=function TypedArrayStaticMethods(base){return{from:define(null,["es.typed-array.from",base].concat(TypedArrayDependencies)),fromAsync:define(null,["esnext.typed-array.from-async",base].concat(_toConsumableArray(PromiseDependenciesWithIterators),TypedArrayDependencies)),of:define(null,["es.typed-array.of",base].concat(TypedArrayDependencies))};};var DataViewDependencies=["es.data-view","es.array-buffer.constructor","es.array-buffer.slice","es.array-buffer.detached","es.array-buffer.transfer","es.array-buffer.transfer-to-fixed-length","es.object.to-string"];var BuiltIns={AsyncDisposableStack:define("async-disposable-stack/index",["esnext.async-disposable-stack.constructor","es.object.to-string","esnext.async-iterator.async-dispose","esnext.iterator.dispose"].concat(PromiseDependencies,_toConsumableArray(SuppressedErrorDependencies))),AsyncIterator:define("async-iterator/index",AsyncIteratorDependencies),AggregateError:define("aggregate-error",["es.aggregate-error"].concat(ErrorDependencies,_toConsumableArray(CommonIteratorsWithTag),["es.aggregate-error.cause"])),ArrayBuffer:define(null,["es.array-buffer.constructor","es.array-buffer.slice","es.data-view","es.array-buffer.detached","es.array-buffer.transfer","es.array-buffer.transfer-to-fixed-length","es.object.to-string"]),DataView:define(null,DataViewDependencies),Date:define(null,["es.date.to-string"]),DOMException:define("dom-exception/index",DOMExceptionDependencies),DisposableStack:define("disposable-stack/index",["esnext.disposable-stack.constructor","es.object.to-string","esnext.iterator.dispose"].concat(_toConsumableArray(SuppressedErrorDependencies))),Error:define(null,ErrorDependencies),EvalError:define(null,ErrorDependencies),Float32Array:typed("es.typed-array.float32-array"),Float64Array:typed("es.typed-array.float64-array"),Int8Array:typed("es.typed-array.int8-array"),Int16Array:typed("es.typed-array.int16-array"),Int32Array:typed("es.typed-array.int32-array"),Iterator:define("iterator/index",IteratorDependencies),Uint8Array:typed("es.typed-array.uint8-array","esnext.uint8-array.to-base64","esnext.uint8-array.to-hex"),Uint8ClampedArray:typed("es.typed-array.uint8-clamped-array"),Uint16Array:typed("es.typed-array.uint16-array"),Uint32Array:typed("es.typed-array.uint32-array"),Map:define("map/index",MapDependencies),Number:define(null,["es.number.constructor"]),Observable:define("observable/index",["esnext.observable","esnext.symbol.observable","es.object.to-string"].concat(_toConsumableArray(CommonIteratorsWithTag))),Promise:define("promise/index",PromiseDependencies),RangeError:define(null,ErrorDependencies),ReferenceError:define(null,ErrorDependencies),Reflect:define(null,["es.reflect.to-string-tag","es.object.to-string"]),RegExp:define(null,["es.regexp.constructor","es.regexp.dot-all","es.regexp.exec","es.regexp.sticky","es.regexp.to-string"]),Set:define("set/index",SetDependencies),SuppressedError:define("suppressed-error",SuppressedErrorDependencies),Symbol:define("symbol/index",SymbolDependencies),SyntaxError:define(null,ErrorDependencies),TypeError:define(null,ErrorDependencies),URIError:define(null,ErrorDependencies),URL:define("url/index",["web.url","web.url.to-json"].concat(_toConsumableArray(URLSearchParamsDependencies))),URLSearchParams:define("url-search-params/index",URLSearchParamsDependencies),WeakMap:define("weak-map/index",WeakMapDependencies),WeakSet:define("weak-set/index",WeakSetDependencies),atob:define("atob",["web.atob"].concat(DOMExceptionDependencies)),btoa:define("btoa",["web.btoa"].concat(DOMExceptionDependencies)),clearImmediate:define("clear-immediate",["web.immediate"]),compositeKey:define("composite-key",["esnext.composite-key"]),compositeSymbol:define("composite-symbol",["esnext.composite-symbol"]),escape:define("escape",["es.escape"]),fetch:define(null,PromiseDependencies),globalThis:define("global-this",["es.global-this"]),parseFloat:define("parse-float",["es.parse-float"]),parseInt:define("parse-int",["es.parse-int"]),queueMicrotask:define("queue-microtask",["web.queue-microtask"]),self:define("self",["web.self"]),setImmediate:define("set-immediate",["web.immediate"]),setInterval:define("set-interval",["web.timers"]),setTimeout:define("set-timeout",["web.timers"]),structuredClone:define("structured-clone",["web.structured-clone"].concat(DOMExceptionDependencies,["es.array.iterator","es.object.keys","es.object.to-string","es.map","es.set"])),unescape:define("unescape",["es.unescape"])};var StaticProperties={AsyncIterator:{from:define("async-iterator/from",["esnext.async-iterator.from"].concat(_toConsumableArray(AsyncIteratorDependencies),AsyncIteratorProblemMethods,_toConsumableArray(CommonIterators)))},Array:{from:define("array/from",["es.array.from","es.string.iterator"]),fromAsync:define("array/from-async",["esnext.array.from-async"].concat(_toConsumableArray(PromiseDependenciesWithIterators))),isArray:define("array/is-array",["es.array.is-array"]),isTemplateObject:define("array/is-template-object",["esnext.array.is-template-object"]),of:define("array/of",["es.array.of"])},ArrayBuffer:{isView:define(null,["es.array-buffer.is-view"])},BigInt:{range:define("bigint/range",["esnext.bigint.range","es.object.to-string"])},Date:{now:define("date/now",["es.date.now"])},Function:{isCallable:define("function/is-callable",["esnext.function.is-callable"]),isConstructor:define("function/is-constructor",["esnext.function.is-constructor"])},Iterator:{from:define("iterator/from",["esnext.iterator.from"].concat(IteratorDependencies,_toConsumableArray(CommonIterators))),range:define("iterator/range",["esnext.iterator.range","es.object.to-string"])},JSON:{isRawJSON:define("json/is-raw-json",["esnext.json.is-raw-json"]),parse:define("json/parse",["esnext.json.parse","es.object.keys"]),rawJSON:define("json/raw-json",["esnext.json.raw-json","es.object.create","es.object.freeze"]),stringify:define("json/stringify",["es.json.stringify","es.date.to-json"],"es.symbol")},Math:{DEG_PER_RAD:define("math/deg-per-rad",["esnext.math.deg-per-rad"]),RAD_PER_DEG:define("math/rad-per-deg",["esnext.math.rad-per-deg"]),acosh:define("math/acosh",["es.math.acosh"]),asinh:define("math/asinh",["es.math.asinh"]),atanh:define("math/atanh",["es.math.atanh"]),cbrt:define("math/cbrt",["es.math.cbrt"]),clamp:define("math/clamp",["esnext.math.clamp"]),clz32:define("math/clz32",["es.math.clz32"]),cosh:define("math/cosh",["es.math.cosh"]),degrees:define("math/degrees",["esnext.math.degrees"]),expm1:define("math/expm1",["es.math.expm1"]),fround:define("math/fround",["es.math.fround"]),f16round:define("math/f16round",["esnext.math.f16round"]),fscale:define("math/fscale",["esnext.math.fscale"]),hypot:define("math/hypot",["es.math.hypot"]),iaddh:define("math/iaddh",["esnext.math.iaddh"]),imul:define("math/imul",["es.math.imul"]),imulh:define("math/imulh",["esnext.math.imulh"]),isubh:define("math/isubh",["esnext.math.isubh"]),log10:define("math/log10",["es.math.log10"]),log1p:define("math/log1p",["es.math.log1p"]),log2:define("math/log2",["es.math.log2"]),radians:define("math/radians",["esnext.math.radians"]),scale:define("math/scale",["esnext.math.scale"]),seededPRNG:define("math/seeded-prng",["esnext.math.seeded-prng"]),sign:define("math/sign",["es.math.sign"]),signbit:define("math/signbit",["esnext.math.signbit"]),sinh:define("math/sinh",["es.math.sinh"]),tanh:define("math/tanh",["es.math.tanh"]),trunc:define("math/trunc",["es.math.trunc"]),umulh:define("math/umulh",["esnext.math.umulh"])},Map:{from:define(null,["esnext.map.from"].concat(_toConsumableArray(MapDependencies))),groupBy:define("map/group-by",["es.map.group-by"].concat(_toConsumableArray(MapDependencies))),keyBy:define("map/key-by",["esnext.map.key-by"].concat(_toConsumableArray(MapDependencies))),of:define(null,["esnext.map.of"].concat(_toConsumableArray(MapDependencies)))},Number:{EPSILON:define("number/epsilon",["es.number.epsilon"]),MAX_SAFE_INTEGER:define("number/max-safe-integer",["es.number.max-safe-integer"]),MIN_SAFE_INTEGER:define("number/min-safe-integer",["es.number.min-safe-integer"]),fromString:define("number/from-string",["esnext.number.from-string"]),isFinite:define("number/is-finite",["es.number.is-finite"]),isInteger:define("number/is-integer",["es.number.is-integer"]),isNaN:define("number/is-nan",["es.number.is-nan"]),isSafeInteger:define("number/is-safe-integer",["es.number.is-safe-integer"]),parseFloat:define("number/parse-float",["es.number.parse-float"]),parseInt:define("number/parse-int",["es.number.parse-int"]),range:define("number/range",["esnext.number.range","es.object.to-string"])},Object:{assign:define("object/assign",["es.object.assign"]),create:define("object/create",["es.object.create"]),defineProperties:define("object/define-properties",["es.object.define-properties"]),defineProperty:define("object/define-property",["es.object.define-property"]),entries:define("object/entries",["es.object.entries"]),freeze:define("object/freeze",["es.object.freeze"]),fromEntries:define("object/from-entries",["es.object.from-entries","es.array.iterator"]),getOwnPropertyDescriptor:define("object/get-own-property-descriptor",["es.object.get-own-property-descriptor"]),getOwnPropertyDescriptors:define("object/get-own-property-descriptors",["es.object.get-own-property-descriptors"]),getOwnPropertyNames:define("object/get-own-property-names",["es.object.get-own-property-names"]),getOwnPropertySymbols:define("object/get-own-property-symbols",["es.symbol"]),getPrototypeOf:define("object/get-prototype-of",["es.object.get-prototype-of"]),groupBy:define("object/group-by",["es.object.group-by","es.object.create"]),hasOwn:define("object/has-own",["es.object.has-own"]),is:define("object/is",["es.object.is"]),isExtensible:define("object/is-extensible",["es.object.is-extensible"]),isFrozen:define("object/is-frozen",["es.object.is-frozen"]),isSealed:define("object/is-sealed",["es.object.is-sealed"]),keys:define("object/keys",["es.object.keys"]),preventExtensions:define("object/prevent-extensions",["es.object.prevent-extensions"]),seal:define("object/seal",["es.object.seal"]),setPrototypeOf:define("object/set-prototype-of",["es.object.set-prototype-of"]),values:define("object/values",["es.object.values"])},Promise:{all:define(null,PromiseDependenciesWithIterators),allSettled:define("promise/all-settled",["es.promise.all-settled"].concat(_toConsumableArray(PromiseDependenciesWithIterators))),any:define("promise/any",["es.promise.any","es.aggregate-error"].concat(_toConsumableArray(PromiseDependenciesWithIterators))),race:define(null,PromiseDependenciesWithIterators),"try":define("promise/try",["esnext.promise.try"].concat(PromiseDependencies)),withResolvers:define("promise/with-resolvers",["es.promise.with-resolvers"].concat(PromiseDependencies))},Reflect:{apply:define("reflect/apply",["es.reflect.apply"]),construct:define("reflect/construct",["es.reflect.construct"]),defineMetadata:define("reflect/define-metadata",["esnext.reflect.define-metadata"]),defineProperty:define("reflect/define-property",["es.reflect.define-property"]),deleteMetadata:define("reflect/delete-metadata",["esnext.reflect.delete-metadata"]),deleteProperty:define("reflect/delete-property",["es.reflect.delete-property"]),get:define("reflect/get",["es.reflect.get"]),getMetadata:define("reflect/get-metadata",["esnext.reflect.get-metadata"]),getMetadataKeys:define("reflect/get-metadata-keys",["esnext.reflect.get-metadata-keys"]),getOwnMetadata:define("reflect/get-own-metadata",["esnext.reflect.get-own-metadata"]),getOwnMetadataKeys:define("reflect/get-own-metadata-keys",["esnext.reflect.get-own-metadata-keys"]),getOwnPropertyDescriptor:define("reflect/get-own-property-descriptor",["es.reflect.get-own-property-descriptor"]),getPrototypeOf:define("reflect/get-prototype-of",["es.reflect.get-prototype-of"]),has:define("reflect/has",["es.reflect.has"]),hasMetadata:define("reflect/has-metadata",["esnext.reflect.has-metadata"]),hasOwnMetadata:define("reflect/has-own-metadata",["esnext.reflect.has-own-metadata"]),isExtensible:define("reflect/is-extensible",["es.reflect.is-extensible"]),metadata:define("reflect/metadata",["esnext.reflect.metadata"]),ownKeys:define("reflect/own-keys",["es.reflect.own-keys"]),preventExtensions:define("reflect/prevent-extensions",["es.reflect.prevent-extensions"]),set:define("reflect/set",["es.reflect.set"]),setPrototypeOf:define("reflect/set-prototype-of",["es.reflect.set-prototype-of"])},RegExp:{escape:define("regexp/escape",["esnext.regexp.escape"])},Set:{from:define(null,["esnext.set.from"].concat(_toConsumableArray(SetDependencies))),of:define(null,["esnext.set.of"].concat(_toConsumableArray(SetDependencies)))},String:{cooked:define("string/cooked",["esnext.string.cooked"]),dedent:define("string/dedent",["esnext.string.dedent","es.string.from-code-point","es.weak-map"]),fromCodePoint:define("string/from-code-point",["es.string.from-code-point"]),raw:define("string/raw",["es.string.raw"])},Symbol:{asyncDispose:define("symbol/async-dispose",["esnext.symbol.async-dispose","esnext.async-iterator.async-dispose"]),asyncIterator:define("symbol/async-iterator",["es.symbol.async-iterator"]),dispose:define("symbol/dispose",["esnext.symbol.dispose","esnext.iterator.dispose"]),"for":define("symbol/for",[],"es.symbol"),hasInstance:define("symbol/has-instance",["es.symbol.has-instance","es.function.has-instance"]),isConcatSpreadable:define("symbol/is-concat-spreadable",["es.symbol.is-concat-spreadable","es.array.concat"]),isRegistered:define("symbol/is-registered",["esnext.symbol.is-registered","es.symbol"]),isRegisteredSymbol:define("symbol/is-registered-symbol",["esnext.symbol.is-registered-symbol","es.symbol"]),isWellKnown:define("symbol/is-well-known",["esnext.symbol.is-well-known","es.symbol"]),isWellKnownSymbol:define("symbol/is-well-known-symbol",["esnext.symbol.is-well-known-symbol","es.symbol"]),iterator:define("symbol/iterator",["es.symbol.iterator"].concat(_toConsumableArray(CommonIteratorsWithTag))),keyFor:define("symbol/key-for",[],"es.symbol"),match:define("symbol/match",["es.symbol.match","es.string.match"]),matcher:define("symbol/matcher",["esnext.symbol.matcher"]),matchAll:define("symbol/match-all",["es.symbol.match-all","es.string.match-all"]),metadata:define("symbol/metadata",DecoratorMetadataDependencies),metadataKey:define("symbol/metadata-key",["esnext.symbol.metadata-key"]),observable:define("symbol/observable",["esnext.symbol.observable"]),patternMatch:define("symbol/pattern-match",["esnext.symbol.pattern-match"]),replace:define("symbol/replace",["es.symbol.replace","es.string.replace"]),search:define("symbol/search",["es.symbol.search","es.string.search"]),species:define("symbol/species",["es.symbol.species","es.array.species"]),split:define("symbol/split",["es.symbol.split","es.string.split"]),toPrimitive:define("symbol/to-primitive",["es.symbol.to-primitive","es.date.to-primitive"]),toStringTag:define("symbol/to-string-tag",["es.symbol.to-string-tag","es.object.to-string","es.math.to-string-tag","es.json.to-string-tag"]),unscopables:define("symbol/unscopables",["es.symbol.unscopables"])},URL:{canParse:define("url/can-parse",["web.url.can-parse","web.url"])},WeakMap:{from:define(null,["esnext.weak-map.from"].concat(_toConsumableArray(WeakMapDependencies))),of:define(null,["esnext.weak-map.of"].concat(_toConsumableArray(WeakMapDependencies)))},WeakSet:{from:define(null,["esnext.weak-set.from"].concat(_toConsumableArray(WeakSetDependencies))),of:define(null,["esnext.weak-set.of"].concat(_toConsumableArray(WeakSetDependencies)))},Int8Array:TypedArrayStaticMethods("es.typed-array.int8-array"),Uint8Array:Object.assign({fromBase64:define(null,["esnext.uint8-array.from-base64"].concat(TypedArrayDependencies)),fromHex:define(null,["esnext.uint8-array.from-hex"].concat(TypedArrayDependencies))},TypedArrayStaticMethods("es.typed-array.uint8-array")),Uint8ClampedArray:TypedArrayStaticMethods("es.typed-array.uint8-clamped-array"),Int16Array:TypedArrayStaticMethods("es.typed-array.int16-array"),Uint16Array:TypedArrayStaticMethods("es.typed-array.uint16-array"),Int32Array:TypedArrayStaticMethods("es.typed-array.int32-array"),Uint32Array:TypedArrayStaticMethods("es.typed-array.uint32-array"),Float32Array:TypedArrayStaticMethods("es.typed-array.float32-array"),Float64Array:TypedArrayStaticMethods("es.typed-array.float64-array"),WebAssembly:{CompileError:define(null,ErrorDependencies),LinkError:define(null,ErrorDependencies),RuntimeError:define(null,ErrorDependencies)}};var InstanceProperties=(_InstanceProperties={asIndexedPairs:define("instance/asIndexedPairs",["esnext.async-iterator.as-indexed-pairs"].concat(_toConsumableArray(AsyncIteratorDependencies),["esnext.iterator.as-indexed-pairs"],IteratorDependencies)),at:define("instance/at",["esnext.string.at","es.string.at-alternative","es.array.at"]),anchor:define(null,["es.string.anchor"]),big:define(null,["es.string.big"]),bind:define("instance/bind",["es.function.bind"]),blink:define(null,["es.string.blink"]),bold:define(null,["es.string.bold"]),codePointAt:define("instance/code-point-at",["es.string.code-point-at"]),codePoints:define("instance/code-points",["esnext.string.code-points"]),concat:define("instance/concat",["es.array.concat"],undefined,["String"]),copyWithin:define("instance/copy-within",["es.array.copy-within"]),demethodize:define("instance/demethodize",["esnext.function.demethodize"]),description:define(null,["es.symbol","es.symbol.description"]),dotAll:define(null,["es.regexp.dot-all"]),drop:define(null,["esnext.async-iterator.drop"].concat(_toConsumableArray(AsyncIteratorDependencies),["esnext.iterator.drop"],IteratorDependencies)),emplace:define("instance/emplace",["esnext.map.emplace","esnext.weak-map.emplace"]),endsWith:define("instance/ends-with",["es.string.ends-with"]),entries:define("instance/entries",ArrayNatureIteratorsWithTag),every:define("instance/every",["es.array.every","esnext.async-iterator.every","esnext.iterator.every"].concat(IteratorDependencies)),exec:define(null,["es.regexp.exec"]),fill:define("instance/fill",["es.array.fill"]),filter:define("instance/filter",["es.array.filter","esnext.async-iterator.filter","esnext.iterator.filter"].concat(IteratorDependencies)),filterReject:define("instance/filterReject",["esnext.array.filter-reject"]),"finally":define(null,["es.promise.finally"].concat(PromiseDependencies)),find:define("instance/find",["es.array.find","esnext.async-iterator.find","esnext.iterator.find"].concat(IteratorDependencies)),findIndex:define("instance/find-index",["es.array.find-index"]),findLast:define("instance/find-last",["es.array.find-last"]),findLastIndex:define("instance/find-last-index",["es.array.find-last-index"]),fixed:define(null,["es.string.fixed"]),flags:define("instance/flags",["es.regexp.flags"]),flatMap:define("instance/flat-map",["es.array.flat-map","es.array.unscopables.flat-map","esnext.async-iterator.flat-map","esnext.iterator.flat-map"].concat(IteratorDependencies)),flat:define("instance/flat",["es.array.flat","es.array.unscopables.flat"]),getFloat16:define(null,["esnext.data-view.get-float16"].concat(DataViewDependencies)),getUint8Clamped:define(null,["esnext.data-view.get-uint8-clamped"].concat(DataViewDependencies)),getYear:define(null,["es.date.get-year"]),group:define("instance/group",["esnext.array.group"]),groupBy:define("instance/group-by",["esnext.array.group-by"]),groupByToMap:define("instance/group-by-to-map",["esnext.array.group-by-to-map","es.map","es.object.to-string"]),groupToMap:define("instance/group-to-map",["esnext.array.group-to-map","es.map","es.object.to-string"]),fontcolor:define(null,["es.string.fontcolor"]),fontsize:define(null,["es.string.fontsize"]),forEach:define("instance/for-each",["es.array.for-each","esnext.async-iterator.for-each","esnext.iterator.for-each"].concat(IteratorDependencies,["web.dom-collections.for-each"])),includes:define("instance/includes",["es.array.includes","es.string.includes"]),indexed:define(null,["esnext.async-iterator.indexed"].concat(_toConsumableArray(AsyncIteratorDependencies),["esnext.iterator.indexed"],IteratorDependencies)),indexOf:define("instance/index-of",["es.array.index-of"]),isWellFormed:define("instance/is-well-formed",["es.string.is-well-formed"]),italic:define(null,["es.string.italics"]),join:define(null,["es.array.join"]),keys:define("instance/keys",ArrayNatureIteratorsWithTag),lastIndex:define(null,["esnext.array.last-index"]),lastIndexOf:define("instance/last-index-of",["es.array.last-index-of"]),lastItem:define(null,["esnext.array.last-item"]),link:define(null,["es.string.link"]),map:define("instance/map",["es.array.map","esnext.async-iterator.map","esnext.iterator.map"]),match:define(null,["es.string.match","es.regexp.exec"]),matchAll:define("instance/match-all",["es.string.match-all","es.regexp.exec"]),name:define(null,["es.function.name"]),padEnd:define("instance/pad-end",["es.string.pad-end"]),padStart:define("instance/pad-start",["es.string.pad-start"]),push:define("instance/push",["es.array.push"]),reduce:define("instance/reduce",["es.array.reduce","esnext.async-iterator.reduce","esnext.iterator.reduce"].concat(IteratorDependencies)),reduceRight:define("instance/reduce-right",["es.array.reduce-right"]),repeat:define("instance/repeat",["es.string.repeat"]),replace:define(null,["es.string.replace","es.regexp.exec"]),replaceAll:define("instance/replace-all",["es.string.replace-all","es.string.replace","es.regexp.exec"]),reverse:define("instance/reverse",["es.array.reverse"]),search:define(null,["es.string.search","es.regexp.exec"]),setFloat16:define(null,["esnext.data-view.set-float16"].concat(DataViewDependencies)),setUint8Clamped:define(null,["esnext.data-view.set-uint8-clamped"].concat(DataViewDependencies)),setYear:define(null,["es.date.set-year"]),slice:define("instance/slice",["es.array.slice"]),small:define(null,["es.string.small"]),some:define("instance/some",["es.array.some","esnext.async-iterator.some","esnext.iterator.some"].concat(IteratorDependencies)),sort:define("instance/sort",["es.array.sort"]),splice:define("instance/splice",["es.array.splice"]),split:define(null,["es.string.split","es.regexp.exec"]),startsWith:define("instance/starts-with",["es.string.starts-with"]),sticky:define(null,["es.regexp.sticky"]),strike:define(null,["es.string.strike"]),sub:define(null,["es.string.sub"]),substr:define(null,["es.string.substr"]),sup:define(null,["es.string.sup"]),take:define(null,["esnext.async-iterator.take"].concat(_toConsumableArray(AsyncIteratorDependencies),["esnext.iterator.take"],IteratorDependencies)),test:define(null,["es.regexp.test","es.regexp.exec"]),toArray:define(null,["esnext.async-iterator.to-array"].concat(_toConsumableArray(AsyncIteratorDependencies),["esnext.iterator.to-array"],IteratorDependencies)),toAsync:define(null,["esnext.iterator.to-async"].concat(IteratorDependencies,_toConsumableArray(AsyncIteratorDependencies),AsyncIteratorProblemMethods)),toExponential:define(null,["es.number.to-exponential"]),toFixed:define(null,["es.number.to-fixed"]),toGMTString:define(null,["es.date.to-gmt-string"]),toISOString:define(null,["es.date.to-iso-string"]),toJSON:define(null,["es.date.to-json"]),toPrecision:define(null,["es.number.to-precision"]),toReversed:define("instance/to-reversed",["es.array.to-reversed"]),toSorted:define("instance/to-sorted",["es.array.to-sorted","es.array.sort"]),toSpliced:define("instance/to-spliced",["es.array.to-spliced"]),toString:define(null,["es.object.to-string","es.error.to-string","es.date.to-string","es.regexp.to-string"]),toWellFormed:define("instance/to-well-formed",["es.string.to-well-formed"]),trim:define("instance/trim",["es.string.trim"]),trimEnd:define("instance/trim-end",["es.string.trim-end"]),trimLeft:define("instance/trim-left",["es.string.trim-start"]),trimRight:define("instance/trim-right",["es.string.trim-end"]),trimStart:define("instance/trim-start",["es.string.trim-start"]),uniqueBy:define("instance/unique-by",["esnext.array.unique-by","es.map"]),unshift:define("instance/unshift",["es.array.unshift"]),unThis:define("instance/un-this",["esnext.function.un-this"]),values:define("instance/values",ArrayNatureIteratorsWithTag),"with":define("instance/with",["es.array.with"]),__defineGetter__:define(null,["es.object.define-getter"]),__defineSetter__:define(null,["es.object.define-setter"]),__lookupGetter__:define(null,["es.object.lookup-getter"]),__lookupSetter__:define(null,["es.object.lookup-setter"])},_InstanceProperties["__proto__"]=define(null,["es.object.proto"]),_InstanceProperties);var stable=new Set(["array","array/from","array/is-array","array/of","clear-immediate","date/now","instance/bind","instance/code-point-at","instance/concat","instance/copy-within","instance/ends-with","instance/entries","instance/every","instance/fill","instance/filter","instance/find","instance/find-index","instance/flags","instance/flat","instance/flat-map","instance/for-each","instance/includes","instance/index-of","instance/keys","instance/last-index-of","instance/map","instance/pad-end","instance/pad-start","instance/reduce","instance/reduce-right","instance/repeat","instance/reverse","instance/slice","instance/some","instance/sort","instance/splice","instance/starts-with","instance/trim","instance/trim-end","instance/trim-left","instance/trim-right","instance/trim-start","instance/values","json/stringify","map","math/acosh","math/asinh","math/atanh","math/cbrt","math/clz32","math/cosh","math/expm1","math/fround","math/hypot","math/imul","math/log10","math/log1p","math/log2","math/sign","math/sinh","math/tanh","math/trunc","number/epsilon","number/is-finite","number/is-integer","number/is-nan","number/is-safe-integer","number/max-safe-integer","number/min-safe-integer","number/parse-float","number/parse-int","object/assign","object/create","object/define-properties","object/define-property","object/entries","object/freeze","object/from-entries","object/get-own-property-descriptor","object/get-own-property-descriptors","object/get-own-property-names","object/get-own-property-symbols","object/get-prototype-of","object/is","object/is-extensible","object/is-frozen","object/is-sealed","object/keys","object/prevent-extensions","object/seal","object/set-prototype-of","object/values","parse-float","parse-int","promise","queue-microtask","reflect/apply","reflect/construct","reflect/define-property","reflect/delete-property","reflect/get","reflect/get-own-property-descriptor","reflect/get-prototype-of","reflect/has","reflect/is-extensible","reflect/own-keys","reflect/prevent-extensions","reflect/set","reflect/set-prototype-of","set","set-immediate","set-interval","set-timeout","string/from-code-point","string/raw","symbol","symbol/async-iterator","symbol/for","symbol/has-instance","symbol/is-concat-spreadable","symbol/iterator","symbol/key-for","symbol/match","symbol/replace","symbol/search","symbol/species","symbol/split","symbol/to-primitive","symbol/to-string-tag","symbol/unscopables","url","url-search-params","weak-map","weak-set"]);var proposals=new Set([].concat(_toConsumableArray(stable),["aggregate-error","composite-key","composite-symbol","global-this","instance/at","instance/code-points","instance/match-all","instance/replace-all","math/clamp","math/degrees","math/deg-per-rad","math/fscale","math/iaddh","math/imulh","math/isubh","math/rad-per-deg","math/radians","math/scale","math/seeded-prng","math/signbit","math/umulh","number/from-string","observable","reflect/define-metadata","reflect/delete-metadata","reflect/get-metadata","reflect/get-metadata-keys","reflect/get-own-metadata","reflect/get-own-metadata-keys","reflect/has-metadata","reflect/has-own-metadata","reflect/metadata","symbol/dispose","symbol/observable","symbol/pattern-match"]));var _ref=_babel,t$2=_ref.types;function canSkipPolyfill(desc,path){var node=path.node,parent=path.parent;switch(desc.name){case"es.string.split":{if(!t$2.isCallExpression(parent,{callee:node}))return false;if(parent.arguments.length<1)return true;var splitter=parent.arguments[0];return t$2.isStringLiteral(splitter)||t$2.isTemplateLiteral(splitter);}}}var _ref2=_babel,t$1=_ref2.types;var BABEL_RUNTIME="@babel/runtime-corejs3";function callMethod(path,id){var object=path.node.object;var context1,context2;if(t$1.isIdentifier(object)){context1=object;context2=t$1.cloneNode(object);}else{context1=path.scope.generateDeclaredUidIdentifier("context");context2=t$1.assignmentExpression("=",t$1.cloneNode(context1),object);}path.replaceWith(t$1.memberExpression(t$1.callExpression(id,[context2]),t$1.identifier("call")));path.parentPath.unshiftContainer("arguments",context1);}function isCoreJSSource(source){if(typeof source==="string"){source=source.replace(/\\/g,"/").replace(/(\/(index)?)?(\.js)?$/i,"").toLowerCase();}return Object.prototype.hasOwnProperty.call(entries,source)&&entries[source];}function coreJSModule(name){return"core-js/modules/"+name+".js";}function coreJSPureHelper(name,useBabelRuntime,ext){return useBabelRuntime?BABEL_RUNTIME+"/core-js/"+name+ext:"core-js-pure/features/"+name+".js";}var _ref3=_babel,t=_ref3.types;var presetEnvCompat="#__secret_key__@babel/preset-env__compatibility";var runtimeCompat="#__secret_key__@babel/runtime__compatibility";var uniqueObjects=["array","string","iterator","async-iterator","dom-collections"].map(function(v){return new RegExp("[a-z]*\\."+v+"\\..*");});var esnextFallback=function esnextFallback(name,cb){if(cb(name))return true;if(!name.startsWith("es."))return false;var fallback="esnext."+name.slice(3);if(!data[fallback])return false;return cb(fallback);};var index=definePolyfillProvider(function(_ref4,_ref5){var getUtils=_ref4.getUtils,method=_ref4.method,shouldInjectPolyfill=_ref4.shouldInjectPolyfill,createMetaResolver=_ref4.createMetaResolver,debug=_ref4.debug,babel=_ref4.babel;var _ref5$version=_ref5.version,version=_ref5$version===void 0?3:_ref5$version,proposals$1=_ref5.proposals,shippedProposals=_ref5.shippedProposals,_ref5$presetEnvCompat=_ref5[presetEnvCompat],_ref5$presetEnvCompat2=_ref5$presetEnvCompat===void 0?{}:_ref5$presetEnvCompat,_ref5$presetEnvCompat3=_ref5$presetEnvCompat2.noRuntimeName,noRuntimeName=_ref5$presetEnvCompat3===void 0?false:_ref5$presetEnvCompat3,_ref5$runtimeCompat=_ref5[runtimeCompat],_ref5$runtimeCompat2=_ref5$runtimeCompat===void 0?{}:_ref5$runtimeCompat,_ref5$runtimeCompat2$=_ref5$runtimeCompat2.useBabelRuntime,useBabelRuntime=_ref5$runtimeCompat2$===void 0?false:_ref5$runtimeCompat2$,_ref5$runtimeCompat2$2=_ref5$runtimeCompat2.ext,ext=_ref5$runtimeCompat2$2===void 0?".js":_ref5$runtimeCompat2$2;var isWebpack=babel.caller(function(caller){return(caller==null?void 0:caller.name)==="babel-loader";});var resolve=createMetaResolver({global:BuiltIns,"static":StaticProperties,instance:InstanceProperties});var available=new Set(getModulesListForTargetVersion(version));function getCoreJSPureBase(useProposalBase){return useBabelRuntime?useProposalBase?BABEL_RUNTIME+"/core-js":BABEL_RUNTIME+"/core-js-stable":useProposalBase?"core-js-pure/features":"core-js-pure/stable";}function maybeInjectGlobalImpl(name,utils){if(shouldInjectPolyfill(name)){debug(name);utils.injectGlobalImport(coreJSModule(name),name);return true;}return false;}function maybeInjectGlobal(names,utils,fallback){if(fallback===void 0){fallback=true;}for(var _iterator=_createForOfIteratorHelperLoose(names),_step;!(_step=_iterator()).done;){var name=_step.value;if(fallback){esnextFallback(name,function(name){return maybeInjectGlobalImpl(name,utils);});}else{maybeInjectGlobalImpl(name,utils);}}}function maybeInjectPure(desc,hint,utils,object){if(desc.pure&&!(object&&desc.exclude&&desc.exclude.includes(object))&&esnextFallback(desc.name,shouldInjectPolyfill)){var name=desc.name;var useProposalBase=false;if(proposals$1||shippedProposals&&name.startsWith("esnext.")){useProposalBase=true;}else if(name.startsWith("es.")&&!available.has(name)){useProposalBase=true;}if(useBabelRuntime&&!(useProposalBase?proposals:stable).has(desc.pure)){return;}var coreJSPureBase=getCoreJSPureBase(useProposalBase);return utils.injectDefaultImport(coreJSPureBase+"/"+desc.pure+ext,hint);}}function isFeatureStable(name){if(name.startsWith("esnext.")){var esName="es."+name.slice(7);return esName in data;}return true;}return{name:"corejs3",runtimeName:noRuntimeName?null:BABEL_RUNTIME,polyfills:data,filterPolyfills:function filterPolyfills(name){if(!available.has(name))return false;if(proposals$1||method==="entry-global")return true;if(shippedProposals&&corejs3ShippedProposalsList.has(name)){return true;}return isFeatureStable(name);},entryGlobal:function entryGlobal(meta,utils,path){if(meta.kind!=="import")return;var modules=isCoreJSSource(meta.source);if(!modules)return;if(modules.length===1&&meta.source===coreJSModule(modules[0])&&shouldInjectPolyfill(modules[0])){debug(null);return;}var modulesSet=new Set(modules);var filteredModules=modules.filter(function(module){if(!module.startsWith("esnext."))return true;var stable=module.replace("esnext.","es.");if(modulesSet.has(stable)&&shouldInjectPolyfill(stable)){return false;}return true;});maybeInjectGlobal(filteredModules,utils,false);path.remove();},usageGlobal:function usageGlobal(meta,utils,path){var resolved=resolve(meta);if(!resolved)return;if(canSkipPolyfill(resolved.desc,path))return;var deps=resolved.desc.global;if(resolved.kind!=="global"&&"object"in meta&&meta.object&&meta.placement==="prototype"){var low=meta.object.toLowerCase();deps=deps.filter(function(m){return uniqueObjects.some(function(v){return v.test(m);})?m.includes(low):true;});}maybeInjectGlobal(deps,utils);return true;},usagePure:function usagePure(meta,utils,path){if(meta.kind==="in"){if(meta.key==="Symbol.iterator"){path.replaceWith(t.callExpression(utils.injectDefaultImport(coreJSPureHelper("is-iterable",useBabelRuntime,ext),"isIterable"),[path.node.right]));}return;}if(path.parentPath.isUnaryExpression({operator:"delete"}))return;if(meta.kind==="property"){if(!path.isMemberExpression())return;if(!path.isReferenced())return;if(path.parentPath.isUpdateExpression())return;if(t.isSuper(path.node.object)){return;}if(meta.key==="Symbol.iterator"){if(!shouldInjectPolyfill("es.symbol.iterator"))return;var parent=path.parent,node=path.node;if(t.isCallExpression(parent,{callee:node})){if(parent.arguments.length===0){path.parentPath.replaceWith(t.callExpression(utils.injectDefaultImport(coreJSPureHelper("get-iterator",useBabelRuntime,ext),"getIterator"),[node.object]));path.skip();}else{callMethod(path,utils.injectDefaultImport(coreJSPureHelper("get-iterator-method",useBabelRuntime,ext),"getIteratorMethod"));}}else{path.replaceWith(t.callExpression(utils.injectDefaultImport(coreJSPureHelper("get-iterator-method",useBabelRuntime,ext),"getIteratorMethod"),[path.node.object]));}return;}}var resolved=resolve(meta);if(!resolved)return;if(canSkipPolyfill(resolved.desc,path))return;if(useBabelRuntime&&resolved.desc.pure&&resolved.desc.pure.slice(-6)==="/index"){resolved=Object.assign(Object.assign({},resolved),{},{desc:Object.assign(Object.assign({},resolved.desc),{},{pure:resolved.desc.pure.slice(0,-6)})});}if(resolved.kind==="global"){var id=maybeInjectPure(resolved.desc,resolved.name,utils);if(id)path.replaceWith(id);}else if(resolved.kind==="static"){var _id=maybeInjectPure(resolved.desc,resolved.name,utils,meta.object);if(_id)path.replaceWith(_id);}else if(resolved.kind==="instance"){var _id2=maybeInjectPure(resolved.desc,resolved.name+"InstanceProperty",utils,meta.object);if(!_id2)return;var _node=path.node;if(t.isCallExpression(path.parent,{callee:_node})){callMethod(path,_id2);}else{path.replaceWith(t.callExpression(_id2,[_node.object]));}}},visitor:method==="usage-global"&&{CallExpression:function CallExpression(path){if(path.get("callee").isImport()){var utils=getUtils(path);if(isWebpack){maybeInjectGlobal(PromiseDependenciesWithIterators,utils);}else{maybeInjectGlobal(PromiseDependencies,utils);}}},Function:function Function(path){if(path.node.async){maybeInjectGlobal(PromiseDependencies,getUtils(path));}},"ForOfStatement|ArrayPattern":function ForOfStatementArrayPattern(path){maybeInjectGlobal(CommonIterators,getUtils(path));},SpreadElement:function SpreadElement(path){if(!path.parentPath.isObjectExpression()){maybeInjectGlobal(CommonIterators,getUtils(path));}},YieldExpression:function YieldExpression(path){if(path.node.delegate){maybeInjectGlobal(CommonIterators,getUtils(path));}},Class:function Class(path){var _path$node$decorators;var hasDecorators=((_path$node$decorators=path.node.decorators)==null?void 0:_path$node$decorators.length)||path.node.body.body.some(function(el){var _decorators;return(_decorators=el.decorators)==null?void 0:_decorators.length;});if(hasDecorators){maybeInjectGlobal(DecoratorMetadataDependencies,getUtils(path));}}}};});var pluginCoreJS3=index["default"]||index;function filterStageFromList(list,stageList){return Object.keys(list).reduce(function(result,item){if(!stageList.has(item)){result[item]=list[item];}return result;},{});}var pluginLists={withProposals:{withoutBugfixes:plugins,withBugfixes:Object.assign({},plugins,pluginsBugfixes)},withoutProposals:{withoutBugfixes:filterStageFromList(plugins,proposalPlugins),withBugfixes:filterStageFromList(Object.assign({},plugins,pluginsBugfixes),proposalPlugins)}};function getPluginList(proposals,bugfixes){if(proposals){if(bugfixes)return pluginLists.withProposals.withBugfixes;else return pluginLists.withProposals.withoutBugfixes;}else{if(bugfixes)return pluginLists.withoutProposals.withBugfixes;else return pluginLists.withoutProposals.withoutBugfixes;}}var getPlugin=function getPlugin(pluginName){var plugin=availablePlugins$1[pluginName]();if(!plugin){throw new Error("Could not find plugin \""+pluginName+"\". Ensure there is an entry in ./available-plugins.js for it.");}return plugin;};var transformIncludesAndExcludes=function transformIncludesAndExcludes(opts){return opts.reduce(function(result,opt){var target=opt.match(/^(es|es6|es7|esnext|web)\./)?"builtIns":"plugins";result[target].add(opt);return result;},{all:opts,plugins:new Set(),builtIns:new Set()});};function getSpecialModulesPluginNames(modules,shouldTransformDynamicImport){var modulesPluginNames=[];if(modules){modulesPluginNames.push(moduleTransformations[modules]);}if(shouldTransformDynamicImport){if(modules&&modules!=="umd"){modulesPluginNames.push("transform-dynamic-import");}else{console.warn("Dynamic import can only be transformed when transforming ES"+" modules to AMD, CommonJS or SystemJS.");}}{if(!shouldTransformDynamicImport){modulesPluginNames.push("syntax-dynamic-import");}modulesPluginNames.push("syntax-top-level-await");modulesPluginNames.push("syntax-import-meta");}return modulesPluginNames;}var getCoreJSOptions=function getCoreJSOptions(_ref){var useBuiltIns=_ref.useBuiltIns,corejs=_ref.corejs,polyfillTargets=_ref.polyfillTargets,include=_ref.include,exclude=_ref.exclude,proposals=_ref.proposals,shippedProposals=_ref.shippedProposals,debug=_ref.debug;return{method:useBuiltIns+"-global",version:corejs?corejs.toString():undefined,targets:polyfillTargets,include:include,exclude:exclude,proposals:proposals,shippedProposals:shippedProposals,debug:debug,"#__secret_key__@babel/preset-env__compatibility":{noRuntimeName:true}};};{var getPolyfillPlugins=function getPolyfillPlugins(_ref2){var useBuiltIns=_ref2.useBuiltIns,corejs=_ref2.corejs,polyfillTargets=_ref2.polyfillTargets,include=_ref2.include,exclude=_ref2.exclude,proposals=_ref2.proposals,shippedProposals=_ref2.shippedProposals,regenerator=_ref2.regenerator,debug=_ref2.debug;var polyfillPlugins=[];if(useBuiltIns==="usage"||useBuiltIns==="entry"){var pluginOptions=getCoreJSOptions({useBuiltIns:useBuiltIns,corejs:corejs,polyfillTargets:polyfillTargets,include:include,exclude:exclude,proposals:proposals,shippedProposals:shippedProposals,debug:debug});if(corejs){{if(useBuiltIns==="usage"){if(corejs.major===2){polyfillPlugins.push([babel7Plugins.pluginCoreJS2,pluginOptions],[babel7Plugins.legacyBabelPolyfillPlugin,{usage:true}]);}else{polyfillPlugins.push([pluginCoreJS3,pluginOptions],[babel7Plugins.legacyBabelPolyfillPlugin,{usage:true,deprecated:true}]);}if(regenerator){polyfillPlugins.push([babel7Plugins.pluginRegenerator,{method:"usage-global",debug:debug}]);}}else{if(corejs.major===2){polyfillPlugins.push([babel7Plugins.legacyBabelPolyfillPlugin,{regenerator:regenerator}],[babel7Plugins.pluginCoreJS2,pluginOptions]);}else{polyfillPlugins.push([pluginCoreJS3,pluginOptions],[babel7Plugins.legacyBabelPolyfillPlugin,{deprecated:true}]);if(!regenerator){polyfillPlugins.push([babel7Plugins.removeRegeneratorEntryPlugin,pluginOptions]);}}}}}}return polyfillPlugins;};{exports.getPolyfillPlugins=getPolyfillPlugins;}}function getLocalTargets(optionsTargets,ignoreBrowserslistConfig,configPath,browserslistEnv){if(optionsTargets!=null&&optionsTargets.esmodules&&optionsTargets.browsers){console.warn("\n@babel/preset-env: esmodules and browsers targets have been specified together.\n`browsers` target, `"+optionsTargets.browsers.toString()+"` will be ignored.\n");}return getTargets$1(optionsTargets,{ignoreBrowserslistConfig:ignoreBrowserslistConfig,configPath:configPath,browserslistEnv:browserslistEnv});}function supportsStaticESM(caller){return!!(caller!=null&&caller.supportsStaticESM);}function supportsDynamicImport(caller){return!!(caller!=null&&caller.supportsDynamicImport);}function supportsExportNamespaceFrom(caller){return!!(caller!=null&&caller.supportsExportNamespaceFrom);}var presetEnv=declare(function(api,opts){api.assertVersion("*");var babelTargets=api.targets();var _normalizeOptions=normalizeOptions$3(opts),bugfixes=_normalizeOptions.bugfixes,configPath=_normalizeOptions.configPath,debug=_normalizeOptions.debug,optionsExclude=_normalizeOptions.exclude,forceAllTransforms=_normalizeOptions.forceAllTransforms,ignoreBrowserslistConfig=_normalizeOptions.ignoreBrowserslistConfig,optionsInclude=_normalizeOptions.include,optionsModules=_normalizeOptions.modules,shippedProposals=_normalizeOptions.shippedProposals,optionsTargets=_normalizeOptions.targets,useBuiltIns=_normalizeOptions.useBuiltIns,_normalizeOptions$cor=_normalizeOptions.corejs,corejs=_normalizeOptions$cor.version,proposals=_normalizeOptions$cor.proposals,browserslistEnv=_normalizeOptions.browserslistEnv;{var loose=opts.loose,_opts$spec=opts.spec,spec=_opts$spec===void 0?false:_opts$spec;}var targets=babelTargets;if(semver$1.lt(api.version,"7.13.0")||opts.targets||opts.configPath||opts.browserslistEnv||opts.ignoreBrowserslistConfig){{var hasUglifyTarget=false;if(optionsTargets!=null&&optionsTargets.uglify){hasUglifyTarget=true;delete optionsTargets.uglify;console.warn("\nThe uglify target has been deprecated. Set the top level\noption `forceAllTransforms: true` instead.\n");}}targets=getLocalTargets(optionsTargets,ignoreBrowserslistConfig,configPath,browserslistEnv);}var transformTargets=forceAllTransforms||hasUglifyTarget?{}:targets;var include=transformIncludesAndExcludes(optionsInclude);var exclude=transformIncludesAndExcludes(optionsExclude);var compatData=getPluginList(shippedProposals,bugfixes);var modules=optionsModules==="auto"?api.caller(supportsStaticESM)?false:"commonjs":optionsModules;var shouldTransformDynamicImport=optionsModules==="auto"?!api.caller(supportsDynamicImport):!!modules;if(!exclude.plugins.has("transform-export-namespace-from")&&(optionsModules==="auto"?!api.caller(supportsExportNamespaceFrom):!!modules)){include.plugins.add("transform-export-namespace-from");}var pluginNames=filterItems(compatData,include.plugins,exclude.plugins,transformTargets,getSpecialModulesPluginNames(modules,shouldTransformDynamicImport),!loose?undefined:["transform-typeof-symbol"],pluginSyntaxMap);if(shippedProposals){addProposalSyntaxPlugins(pluginNames,proposalSyntaxPlugins);}removeUnsupportedItems(pluginNames,api.version);removeUnnecessaryItems(pluginNames,overlappingPlugins);var polyfillPlugins=getPolyfillPlugins({useBuiltIns:useBuiltIns,corejs:corejs,polyfillTargets:targets,include:include.builtIns,exclude:exclude.builtIns,proposals:proposals,shippedProposals:shippedProposals,regenerator:pluginNames.has("transform-regenerator"),debug:debug});var pluginUseBuiltIns=useBuiltIns!==false;var plugins=Array.from(pluginNames).map(function(pluginName){if(pluginName==="transform-class-properties"||pluginName==="transform-private-methods"||pluginName==="transform-private-property-in-object"){return[getPlugin(pluginName),{loose:loose?"#__internal__@babel/preset-env__prefer-true-but-false-is-ok-if-it-prevents-an-error":"#__internal__@babel/preset-env__prefer-false-but-true-is-ok-if-it-prevents-an-error"}];}if(pluginName==="syntax-import-attributes"){return[getPlugin(pluginName),{deprecatedAssertSyntax:true}];}return[getPlugin(pluginName),{spec:spec,loose:loose,useBuiltIns:pluginUseBuiltIns}];}).concat(polyfillPlugins);if(debug){console.log("@babel/preset-env: `DEBUG` option");console.log("\nUsing targets:");console.log(JSON.stringify(prettifyTargets(targets),null,2));console.log("\nUsing modules transform: "+optionsModules.toString());console.log("\nUsing plugins:");pluginNames.forEach(function(pluginName){logPlugin(pluginName,targets,compatData);});if(!useBuiltIns){console.log("\nUsing polyfills: No polyfills were added, since the `useBuiltIns` option was not set.");}}return{plugins:plugins};});{exports.getModulesPluginNames=function(_ref3){var modules=_ref3.modules,transformations=_ref3.transformations,shouldTransformESM=_ref3.shouldTransformESM,shouldTransformDynamicImport=_ref3.shouldTransformDynamicImport,shouldTransformExportNamespaceFrom=_ref3.shouldTransformExportNamespaceFrom;var modulesPluginNames=[];if(modules!==false&&transformations[modules]){if(shouldTransformESM){modulesPluginNames.push(transformations[modules]);}if(shouldTransformDynamicImport){if(shouldTransformESM&&modules!=="umd"){modulesPluginNames.push("transform-dynamic-import");}else{console.warn("Dynamic import can only be transformed when transforming ES"+" modules to AMD, CommonJS or SystemJS.");}}}if(shouldTransformExportNamespaceFrom){modulesPluginNames.push("transform-export-namespace-from");}if(!shouldTransformDynamicImport){modulesPluginNames.push("syntax-dynamic-import");}if(!shouldTransformExportNamespaceFrom){modulesPluginNames.push("syntax-export-namespace-from");}modulesPluginNames.push("syntax-top-level-await");modulesPluginNames.push("syntax-import-meta");return modulesPluginNames;};}new OptionValidator("@babel/preset-flow");function normalizeOptions$2(options){if(options===void 0){options={};}var _options=options,all=_options.all,ignoreExtensions=_options.ignoreExtensions,experimental_useHermesParser=_options.experimental_useHermesParser;var _options2=options,allowDeclareFields=_options2.allowDeclareFields;{return{all:all,allowDeclareFields:allowDeclareFields,ignoreExtensions:ignoreExtensions,experimental_useHermesParser:experimental_useHermesParser};}}var presetFlow=declare(function(api,opts){api.assertVersion("*");var _normalizeOptions=normalizeOptions$2(opts),all=_normalizeOptions.all,allowDeclareFields=_normalizeOptions.allowDeclareFields,_normalizeOptions$ign=_normalizeOptions.ignoreExtensions,ignoreExtensions=_normalizeOptions$ign===void 0?true:_normalizeOptions$ign,_normalizeOptions$exp=_normalizeOptions.experimental_useHermesParser,useHermesParser=_normalizeOptions$exp===void 0?false:_normalizeOptions$exp;var plugins=[[transformFlowStripTypes,{all:all,allowDeclareFields:allowDeclareFields}]];if(useHermesParser){if(Number.parseInt(browser$1$1.versions.node,10)<12){throw new Error("The Hermes parser is only supported in Node 12 and later.");}{throw new Error("The Hermes parser is not supported in the @babel/standalone.");}}if(ignoreExtensions){return{plugins:plugins};}return{overrides:[{test:function test(filename){return filename==null||!/\.tsx?$/.test(filename);},plugins:plugins}]};});var PURE_CALLS=[["react",new Set(["cloneElement","createContext","createElement","createFactory","createRef","forwardRef","isValidElement","memo","lazy"])],["react-dom",new Set(["createPortal"])]];var transformReactPure=declare(function(api){api.assertVersion("*");return{name:"transform-react-pure-annotations",visitor:{CallExpression:function CallExpression(path){if(isReactCall(path)){annotateAsPure(path);}}}};});function isReactCall(path){var calleePath=path.get("callee");if(!calleePath.isMemberExpression()){for(var _i=0,_PURE_CALLS=PURE_CALLS;_i<_PURE_CALLS.length;_i++){var _PURE_CALLS$_i=_slicedToArray(_PURE_CALLS[_i],2),module=_PURE_CALLS$_i[0],methods=_PURE_CALLS$_i[1];for(var _iterator=_createForOfIteratorHelperLoose(methods),_step;!(_step=_iterator()).done;){var method=_step.value;if(calleePath.referencesImport(module,method)){return true;}}}return false;}var object=calleePath.get("object");var callee=calleePath.node;if(!callee.computed&&isIdentifier$j(callee.property)){var propertyName=callee.property.name;for(var _i2=0,_PURE_CALLS2=PURE_CALLS;_i2<_PURE_CALLS2.length;_i2++){var _PURE_CALLS2$_i=_slicedToArray(_PURE_CALLS2[_i2],2),_module=_PURE_CALLS2$_i[0],_methods=_PURE_CALLS2$_i[1];if(object.referencesImport(_module,"default")||object.referencesImport(_module,"*")){return _methods.has(propertyName);}}}return false;}new OptionValidator("@babel/preset-react");function normalizeOptions$1(options){if(options===void 0){options={};}{var _options=options,pragma=_options.pragma,pragmaFrag=_options.pragmaFrag;var _options2=options,pure=_options2.pure,_options2$throwIfName=_options2.throwIfNamespace,throwIfNamespace=_options2$throwIfName===void 0?true:_options2$throwIfName,_options2$runtime=_options2.runtime,runtime=_options2$runtime===void 0?"classic":_options2$runtime,importSource=_options2.importSource,useBuiltIns=_options2.useBuiltIns,useSpread=_options2.useSpread;if(runtime==="classic"){pragma=pragma||"React.createElement";pragmaFrag=pragmaFrag||"React.Fragment";}var development=!!options.development;return{development:development,importSource:importSource,pragma:pragma,pragmaFrag:pragmaFrag,pure:pure,runtime:runtime,throwIfNamespace:throwIfNamespace,useBuiltIns:useBuiltIns,useSpread:useSpread};}}var presetReact=declare(function(api,opts){api.assertVersion("*");var _normalizeOptions=normalizeOptions$1(opts),development=_normalizeOptions.development,importSource=_normalizeOptions.importSource,pragma=_normalizeOptions.pragma,pragmaFrag=_normalizeOptions.pragmaFrag,pure=_normalizeOptions.pure,runtime=_normalizeOptions.runtime,throwIfNamespace=_normalizeOptions.throwIfNamespace;return{plugins:[[development?transformReactJSXDevelopment:transformReactJSX,{importSource:importSource,pragma:pragma,pragmaFrag:pragmaFrag,runtime:runtime,throwIfNamespace:throwIfNamespace,pure:pure,useBuiltIns:!!opts.useBuiltIns,useSpread:opts.useSpread}],transformReactDisplayName,pure!==false&&transformReactPure].filter(Boolean)};});var v=new OptionValidator("@babel/preset-typescript");function normalizeOptions(options){if(options===void 0){options={};}var _options=options,_options$allowNamespa=_options.allowNamespaces,allowNamespaces=_options$allowNamespa===void 0?true:_options$allowNamespa,jsxPragma=_options.jsxPragma,onlyRemoveTypeImports=_options.onlyRemoveTypeImports;var TopLevelOptions={ignoreExtensions:"ignoreExtensions",allowNamespaces:"allowNamespaces",disallowAmbiguousJSXLike:"disallowAmbiguousJSXLike",jsxPragma:"jsxPragma",jsxPragmaFrag:"jsxPragmaFrag",onlyRemoveTypeImports:"onlyRemoveTypeImports",optimizeConstEnums:"optimizeConstEnums",rewriteImportExtensions:"rewriteImportExtensions",allExtensions:"allExtensions",isTSX:"isTSX"};var jsxPragmaFrag=v.validateStringOption(TopLevelOptions.jsxPragmaFrag,options.jsxPragmaFrag,"React.Fragment");{var allExtensions=v.validateBooleanOption(TopLevelOptions.allExtensions,options.allExtensions,false);var isTSX=v.validateBooleanOption(TopLevelOptions.isTSX,options.isTSX,false);if(isTSX){v.invariant(allExtensions,"isTSX:true requires allExtensions:true");}}var ignoreExtensions=v.validateBooleanOption(TopLevelOptions.ignoreExtensions,options.ignoreExtensions,false);var disallowAmbiguousJSXLike=v.validateBooleanOption(TopLevelOptions.disallowAmbiguousJSXLike,options.disallowAmbiguousJSXLike,false);if(disallowAmbiguousJSXLike){{v.invariant(allExtensions,"disallowAmbiguousJSXLike:true requires allExtensions:true");}}var optimizeConstEnums=v.validateBooleanOption(TopLevelOptions.optimizeConstEnums,options.optimizeConstEnums,false);var rewriteImportExtensions=v.validateBooleanOption(TopLevelOptions.rewriteImportExtensions,options.rewriteImportExtensions,false);var normalized={ignoreExtensions:ignoreExtensions,allowNamespaces:allowNamespaces,disallowAmbiguousJSXLike:disallowAmbiguousJSXLike,jsxPragma:jsxPragma,jsxPragmaFrag:jsxPragmaFrag,onlyRemoveTypeImports:onlyRemoveTypeImports,optimizeConstEnums:optimizeConstEnums,rewriteImportExtensions:rewriteImportExtensions};{normalized.allExtensions=allExtensions;normalized.isTSX=isTSX;}return normalized;}var pluginRewriteTSImports=declare(function(_ref){var t=_ref.types;return{name:"preset-typescript/plugin-rewrite-ts-imports",visitor:{"ImportDeclaration|ExportAllDeclaration|ExportNamedDeclaration":function ImportDeclarationExportAllDeclarationExportNamedDeclaration(_ref2){var node=_ref2.node;var source=node.source;var kind=t.isImportDeclaration(node)?node.importKind:node.exportKind;if(kind==="value"&&source&&/[\\/]/.test(source.value)){source.value=source.value.replace(/(\.[mc]?)ts$/,"$1js").replace(/\.tsx$/,".js");}}}};});var presetTypescript=declare(function(api,opts){api.assertVersion("*");var _normalizeOptions=normalizeOptions(opts),allExtensions=_normalizeOptions.allExtensions,ignoreExtensions=_normalizeOptions.ignoreExtensions,allowNamespaces=_normalizeOptions.allowNamespaces,disallowAmbiguousJSXLike=_normalizeOptions.disallowAmbiguousJSXLike,isTSX=_normalizeOptions.isTSX,jsxPragma=_normalizeOptions.jsxPragma,jsxPragmaFrag=_normalizeOptions.jsxPragmaFrag,onlyRemoveTypeImports=_normalizeOptions.onlyRemoveTypeImports,optimizeConstEnums=_normalizeOptions.optimizeConstEnums,rewriteImportExtensions=_normalizeOptions.rewriteImportExtensions;var pluginOptions=function pluginOptions(disallowAmbiguousJSXLike){return{allowDeclareFields:opts.allowDeclareFields,allowNamespaces:allowNamespaces,disallowAmbiguousJSXLike:disallowAmbiguousJSXLike,jsxPragma:jsxPragma,jsxPragmaFrag:jsxPragmaFrag,onlyRemoveTypeImports:onlyRemoveTypeImports,optimizeConstEnums:optimizeConstEnums};};var getPlugins=function getPlugins(isTSX,disallowAmbiguousJSXLike){{return[[transformTypeScript,Object.assign({isTSX:isTSX},pluginOptions(disallowAmbiguousJSXLike))]];}};var disableExtensionDetect=allExtensions||ignoreExtensions;return{plugins:rewriteImportExtensions?[pluginRewriteTSImports]:[],overrides:disableExtensionDetect?[{plugins:getPlugins(isTSX,disallowAmbiguousJSXLike)}]:[{test:/\.ts$/,plugins:getPlugins(false,false)},{test:/\.mts$/,sourceType:"module",plugins:getPlugins(false,true)},{test:/\.cts$/,sourceType:"unambiguous",plugins:[[transformModulesCommonJS,{allowTopLevelThis:true}],[transformTypeScript,pluginOptions(true)]]},{test:/\.tsx$/,plugins:getPlugins(true,false)}]};});var scriptTypes=["text/jsx","text/babel"];var headEl;var inlineScriptCount=0;function transformCode(transformFn,script){var source;if(script.url!=null){source=script.url;}else{source="Inline Babel script";inlineScriptCount++;if(inlineScriptCount>1){source+=" ("+inlineScriptCount+")";}}return transformFn(script.content,buildBabelOptions(script,source)).code;}function buildBabelOptions(script,filename){var presets=script.presets;if(!presets){if(script.type==="module"){presets=["react",["env",{targets:{esmodules:true},modules:false}]];}else{presets=["react","env"];}}return{filename:filename,presets:presets,plugins:script.plugins||["transform-class-properties","transform-object-rest-spread","transform-flow-strip-types"],sourceMaps:"inline",sourceFileName:filename};}function run(transformFn,script){var scriptEl=document.createElement("script");if(script.type){scriptEl.setAttribute("type",script.type);}if(script.nonce){scriptEl.nonce=script.nonce;}scriptEl.text=transformCode(transformFn,script);headEl.appendChild(scriptEl);}function load(url,successCallback,errorCallback){var xhr=new XMLHttpRequest();xhr.open("GET",url,true);if("overrideMimeType"in xhr){xhr.overrideMimeType("text/plain");}xhr.onreadystatechange=function(){if(xhr.readyState===4){if(xhr.status===0||xhr.status===200){successCallback(xhr.responseText);}else{errorCallback();throw new Error("Could not load "+url);}}};xhr.send(null);}function getPluginsOrPresetsFromScript(script,attributeName){var rawValue=script.getAttribute(attributeName);if(rawValue===""){return[];}if(!rawValue){return null;}return rawValue.split(",").map(function(item){return item.trim();});}function loadScripts(transformFn,scripts){var results=[];var count=scripts.length;function check(){for(var i=0;i<count;i++){var result=results[i];if(result.loaded&&!result.executed){result.executed=true;run(transformFn,result);}else if(!result.loaded&&!result.error&&!result.async){break;}}}var _loop=function _loop(){var script=scripts[i];var result={async:script.hasAttribute("async"),type:script.getAttribute("data-type"),nonce:script.nonce,error:false,executed:false,plugins:getPluginsOrPresetsFromScript(script,"data-plugins"),presets:getPluginsOrPresetsFromScript(script,"data-presets"),loaded:false,url:null,content:null};results.push(result);if(script.src){result.url=script.src;load(script.src,function(content){result.loaded=true;result.content=content;check();},function(){result.error=true;check();});}else{result.url=script.getAttribute("data-module")||null;result.loaded=true;result.content=script.innerHTML;}};for(var i=0;i<count;i++){_loop();}check();}function runScripts(transformFn,scripts){headEl=document.getElementsByTagName("head")[0];if(!scripts){scripts=document.getElementsByTagName("script");}var jsxScripts=[];for(var i=0;i<scripts.length;i++){var script=scripts.item(i);var type=script.type.split(";")[0];if(scriptTypes.indexOf(type)!==-1){jsxScripts.push(script);}}if(jsxScripts.length===0){return;}console.warn("You are using the in-browser Babel transformer. Be sure to precompile "+"your scripts for production - https://babeljs.io/docs/setup/");loadScripts(transformFn,jsxScripts);}var packages=/*#__PURE__*/Object.freeze({__proto__:null,generator:index$4,parser:index$3,template:index$2,traverse:index$1,types:t$4});var legacyPluginAliases={__proto__:null,"transform-class-static-block":"proposal-class-static-block","transform-private-property-in-object":"proposal-private-property-in-object","transform-class-properties":"proposal-class-properties","transform-private-methods":"proposal-private-methods","transform-numeric-separator":"proposal-numeric-separator","transform-logical-assignment-operators":"proposal-logical-assignment-operators","transform-nullish-coalescing-operator":"proposal-nullish-coalescing-operator","transform-optional-chaining":"proposal-optional-chaining","transform-json-strings":"proposal-json-strings","transform-optional-catch-binding":"proposal-optional-catch-binding","transform-async-generator-functions":"proposal-async-generator-functions","transform-object-rest-spread":"proposal-object-rest-spread","transform-unicode-property-regex":"proposal-unicode-property-regex","transform-export-namespace-from":"proposal-export-namespace-from"};var _window;for(var name in legacyPluginAliases){all[legacyPluginAliases[name]]=all[name];}all["proposal-unicode-sets-regex"]=all["transform-unicode-sets-regex"];var availablePlugins={};registerPlugins(all);var availablePresets={env:presetEnv,es2015:preset2015,es2016:function es2016(){return{plugins:[availablePlugins["transform-exponentiation-operator"]]};},es2017:function es2017(){return{plugins:[availablePlugins["transform-async-to-generator"]]};},react:presetReact,"stage-0":presetStage0,"stage-1":presetStage1,"stage-2":presetStage2,"stage-3":presetStage3,"es2015-loose":{presets:[[preset2015,{loose:true}]]},"es2015-no-commonjs":{presets:[[preset2015,{modules:false}]]},typescript:presetTypescript,flow:presetFlow};var isArray=Array.isArray||function(arg){return Object.prototype.toString.call(arg)==="[object Array]";};function loadBuiltin(builtinTable,name){if(isArray(name)&&typeof name[0]==="string"){if(hasOwnProperty.call(builtinTable,name[0])){return[builtinTable[name[0]]].concat(name.slice(1));}return;}else if(typeof name==="string"){return builtinTable[name];}return name;}function processOptions(options){var presets=(options.presets||[]).map(function(presetName){var preset=loadBuiltin(availablePresets,presetName);if(preset){if(isArray(preset)&&_typeof(preset[0])==="object"&&hasOwnProperty.call(preset[0],"buildPreset")){preset[0]=Object.assign({},preset[0],{buildPreset:preset[0].buildPreset});}}else{throw new Error("Invalid preset specified in Babel options: \""+presetName+"\"");}return preset;});var plugins=(options.plugins||[]).map(function(pluginName){var plugin=loadBuiltin(availablePlugins,pluginName);if(!plugin){throw new Error("Invalid plugin specified in Babel options: \""+pluginName+"\"");}return plugin;});return Object.assign({babelrc:false},options,{presets:presets,plugins:plugins});}function transform(code,options){return transformSync(code,processOptions(options));}function transformFromAst(ast,code,options){return transformFromAstSync(ast,code,processOptions(options));}var buildExternalHelpers=babelBuildExternalHelpers;function registerPlugin(name,plugin){if(hasOwnProperty.call(availablePlugins,name)){console.warn("A plugin named \""+name+"\" is already registered, it will be overridden");}availablePlugins[name]=plugin;}function registerPlugins(newPlugins){Object.keys(newPlugins).forEach(function(name){return registerPlugin(name,newPlugins[name]);});}function registerPreset(name,preset){if(hasOwnProperty.call(availablePresets,name)){if(name==="env"){console.warn("@babel/preset-env is now included in @babel/standalone, please remove @babel/preset-env-standalone");}else{console.warn("A preset named \""+name+"\" is already registered, it will be overridden");}}availablePresets[name]=preset;}function registerPresets(newPresets){Object.keys(newPresets).forEach(function(name){return registerPreset(name,newPresets[name]);});}var version="7.24.3";function onDOMContentLoaded(){transformScriptTags();}if(typeof window!=="undefined"&&(_window=window)!=null&&_window.addEventListener){window.addEventListener("DOMContentLoaded",onDOMContentLoaded,false);}function transformScriptTags(scriptTags){runScripts(transform,scriptTags);}function disableScriptTags(){window.removeEventListener("DOMContentLoaded",onDOMContentLoaded);}exports.availablePlugins=availablePlugins;exports.availablePresets=availablePresets;exports.buildExternalHelpers=buildExternalHelpers;exports.disableScriptTags=disableScriptTags;exports.packages=packages;exports.registerPlugin=registerPlugin;exports.registerPlugins=registerPlugins;exports.registerPreset=registerPreset;exports.registerPresets=registerPresets;exports.transform=transform;exports.transformFromAst=transformFromAst;exports.transformScriptTags=transformScriptTags;exports.version=version;Object.defineProperty(exports,'__esModule',{value:true});});

}).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
},{}],3:[function(require,module,exports){
"use strict";

Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.acceptCompletion = exports.CompletionContext = void 0;
exports.autocompletion = autocompletion;
exports.clearSnippet = void 0;
exports.closeBrackets = closeBrackets;
exports.completeAnyWord = exports.closeCompletion = exports.closeBracketsKeymap = void 0;
exports.completeFromList = completeFromList;
exports.completionKeymap = void 0;
exports.completionStatus = completionStatus;
exports.currentCompletions = currentCompletions;
exports.deleteBracketPair = void 0;
exports.hasNextSnippetField = hasNextSnippetField;
exports.hasPrevSnippetField = hasPrevSnippetField;
exports.ifIn = ifIn;
exports.ifNotIn = ifNotIn;
exports.insertBracket = insertBracket;
exports.insertCompletionText = insertCompletionText;
exports.moveCompletionSelection = moveCompletionSelection;
exports.prevSnippetField = exports.pickedCompletion = exports.nextSnippetField = void 0;
exports.selectedCompletion = selectedCompletion;
exports.selectedCompletionIndex = selectedCompletionIndex;
exports.setSelectedCompletion = setSelectedCompletion;
exports.snippet = snippet;
exports.snippetCompletion = snippetCompletion;
exports.startCompletion = exports.snippetKeymap = void 0;
var _state = require("@codemirror/state");
var _view = require("@codemirror/view");
var _language = require("@codemirror/language");
function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
/**
An instance of this is passed to completion source functions.
*/
var CompletionContext = exports.CompletionContext = /*#__PURE__*/function () {
  /**
  Create a new completion context. (Mostly useful for testing
  completion sources—in the editor, the extension will create
  these for you.)
  */
  function CompletionContext(
  /**
  The editor state that the completion happens in.
  */
  state,
  /**
  The position at which the completion is happening.
  */
  pos,
  /**
  Indicates whether completion was activated explicitly, or
  implicitly by typing. The usual way to respond to this is to
  only return completions when either there is part of a
  completable entity before the cursor, or `explicit` is true.
  */
  explicit) {
    _classCallCheck(this, CompletionContext);
    this.state = state;
    this.pos = pos;
    this.explicit = explicit;
    /**
    @internal
    */
    this.abortListeners = [];
  }
  /**
  Get the extent, content, and (if there is a token) type of the
  token before `this.pos`.
  */
  return _createClass(CompletionContext, [{
    key: "tokenBefore",
    value: function tokenBefore(types) {
      var token = (0, _language.syntaxTree)(this.state).resolveInner(this.pos, -1);
      while (token && types.indexOf(token.name) < 0) token = token.parent;
      return token ? {
        from: token.from,
        to: this.pos,
        text: this.state.sliceDoc(token.from, this.pos),
        type: token.type
      } : null;
    }
    /**
    Get the match of the given expression directly before the
    cursor.
    */
  }, {
    key: "matchBefore",
    value: function matchBefore(expr) {
      var line = this.state.doc.lineAt(this.pos);
      var start = Math.max(line.from, this.pos - 250);
      var str = line.text.slice(start - line.from, this.pos - line.from);
      var found = str.search(ensureAnchor(expr, false));
      return found < 0 ? null : {
        from: start + found,
        to: this.pos,
        text: str.slice(found)
      };
    }
    /**
    Yields true when the query has been aborted. Can be useful in
    asynchronous queries to avoid doing work that will be ignored.
    */
  }, {
    key: "aborted",
    get: function get() {
      return this.abortListeners == null;
    }
    /**
    Allows you to register abort handlers, which will be called when
    the query is
    [aborted](https://codemirror.net/6/docs/ref/#autocomplete.CompletionContext.aborted).
    */
  }, {
    key: "addEventListener",
    value: function addEventListener(type, listener) {
      if (type == "abort" && this.abortListeners) this.abortListeners.push(listener);
    }
  }]);
}();
function toSet(chars) {
  var flat = Object.keys(chars).join("");
  var words = /\w/.test(flat);
  if (words) flat = flat.replace(/\w/g, "");
  return "[".concat(words ? "\\w" : "").concat(flat.replace(/[^\w\s]/g, "\\$&"), "]");
}
function prefixMatch(options) {
  var first = Object.create(null),
    rest = Object.create(null);
  var _iterator = _createForOfIteratorHelper(options),
    _step;
  try {
    for (_iterator.s(); !(_step = _iterator.n()).done;) {
      var label = _step.value.label;
      first[label[0]] = true;
      for (var i = 1; i < label.length; i++) rest[label[i]] = true;
    }
  } catch (err) {
    _iterator.e(err);
  } finally {
    _iterator.f();
  }
  var source = toSet(first) + toSet(rest) + "*$";
  return [new RegExp("^" + source), new RegExp(source)];
}
/**
Given a a fixed array of options, return an autocompleter that
completes them.
*/
function completeFromList(list) {
  var options = list.map(function (o) {
    return typeof o == "string" ? {
      label: o
    } : o;
  });
  var _ref = options.every(function (o) {
      return /^\w+$/.test(o.label);
    }) ? [/\w*$/, /\w+$/] : prefixMatch(options),
    _ref2 = _slicedToArray(_ref, 2),
    validFor = _ref2[0],
    match = _ref2[1];
  return function (context) {
    var token = context.matchBefore(match);
    return token || context.explicit ? {
      from: token ? token.from : context.pos,
      options: options,
      validFor: validFor
    } : null;
  };
}
/**
Wrap the given completion source so that it will only fire when the
cursor is in a syntax node with one of the given names.
*/
function ifIn(nodes, source) {
  return function (context) {
    for (var pos = (0, _language.syntaxTree)(context.state).resolveInner(context.pos, -1); pos; pos = pos.parent) {
      if (nodes.indexOf(pos.name) > -1) return source(context);
      if (pos.type.isTop) break;
    }
    return null;
  };
}
/**
Wrap the given completion source so that it will not fire when the
cursor is in a syntax node with one of the given names.
*/
function ifNotIn(nodes, source) {
  return function (context) {
    for (var pos = (0, _language.syntaxTree)(context.state).resolveInner(context.pos, -1); pos; pos = pos.parent) {
      if (nodes.indexOf(pos.name) > -1) return null;
      if (pos.type.isTop) break;
    }
    return source(context);
  };
}
var Option = /*#__PURE__*/_createClass(function Option(completion, source, match, score) {
  _classCallCheck(this, Option);
  this.completion = completion;
  this.source = source;
  this.match = match;
  this.score = score;
});
function cur(state) {
  return state.selection.main.from;
}
// Make sure the given regexp has a $ at its end and, if `start` is
// true, a ^ at its start.
function ensureAnchor(expr, start) {
  var _a;
  var source = expr.source;
  var addStart = start && source[0] != "^",
    addEnd = source[source.length - 1] != "$";
  if (!addStart && !addEnd) return expr;
  return new RegExp("".concat(addStart ? "^" : "", "(?:").concat(source, ")").concat(addEnd ? "$" : ""), (_a = expr.flags) !== null && _a !== void 0 ? _a : expr.ignoreCase ? "i" : "");
}
/**
This annotation is added to transactions that are produced by
picking a completion.
*/
var pickedCompletion = exports.pickedCompletion = /*@__PURE__*/_state.Annotation.define();
/**
Helper function that returns a transaction spec which inserts a
completion's text in the main selection range, and any other
selection range that has the same text in front of it.
*/
function insertCompletionText(state, text, from, to) {
  var main = state.selection.main,
    fromOff = from - main.from,
    toOff = to - main.from;
  return Object.assign(Object.assign({}, state.changeByRange(function (range) {
    if (range != main && from != to && state.sliceDoc(range.from + fromOff, range.from + toOff) != state.sliceDoc(from, to)) return {
      range: range
    };
    return {
      changes: {
        from: range.from + fromOff,
        to: to == main.from ? range.to : range.from + toOff,
        insert: text
      },
      range: _state.EditorSelection.cursor(range.from + fromOff + text.length)
    };
  })), {
    scrollIntoView: true,
    userEvent: "input.complete"
  });
}
var SourceCache = /*@__PURE__*/new WeakMap();
function asSource(source) {
  if (!Array.isArray(source)) return source;
  var known = SourceCache.get(source);
  if (!known) SourceCache.set(source, known = completeFromList(source));
  return known;
}
var startCompletionEffect = /*@__PURE__*/_state.StateEffect.define();
var closeCompletionEffect = /*@__PURE__*/_state.StateEffect.define();

// A pattern matcher for fuzzy completion matching. Create an instance
// once for a pattern, and then use that to match any number of
// completions.
var FuzzyMatcher = /*#__PURE__*/function () {
  function FuzzyMatcher(pattern) {
    _classCallCheck(this, FuzzyMatcher);
    this.pattern = pattern;
    this.chars = [];
    this.folded = [];
    // Buffers reused by calls to `match` to track matched character
    // positions.
    this.any = [];
    this.precise = [];
    this.byWord = [];
    this.score = 0;
    this.matched = [];
    for (var p = 0; p < pattern.length;) {
      var _char = (0, _state.codePointAt)(pattern, p),
        size = (0, _state.codePointSize)(_char);
      this.chars.push(_char);
      var part = pattern.slice(p, p + size),
        upper = part.toUpperCase();
      this.folded.push((0, _state.codePointAt)(upper == part ? part.toLowerCase() : upper, 0));
      p += size;
    }
    this.astral = pattern.length != this.chars.length;
  }
  return _createClass(FuzzyMatcher, [{
    key: "ret",
    value: function ret(score, matched) {
      this.score = score;
      this.matched = matched;
      return this;
    }
    // Matches a given word (completion) against the pattern (input).
    // Will return a boolean indicating whether there was a match and,
    // on success, set `this.score` to the score, `this.matched` to an
    // array of `from, to` pairs indicating the matched parts of `word`.
    //
    // The score is a number that is more negative the worse the match
    // is. See `Penalty` above.
  }, {
    key: "match",
    value: function match(word) {
      if (this.pattern.length == 0) return this.ret(-100 /* Penalty.NotFull */, []);
      if (word.length < this.pattern.length) return null;
      var chars = this.chars,
        folded = this.folded,
        any = this.any,
        precise = this.precise,
        byWord = this.byWord;
      // For single-character queries, only match when they occur right
      // at the start
      if (chars.length == 1) {
        var first = (0, _state.codePointAt)(word, 0),
          firstSize = (0, _state.codePointSize)(first);
        var _score = firstSize == word.length ? 0 : -100 /* Penalty.NotFull */;
        if (first == chars[0]) ;else if (first == folded[0]) _score += -200 /* Penalty.CaseFold */;else return null;
        return this.ret(_score, [0, firstSize]);
      }
      var direct = word.indexOf(this.pattern);
      if (direct == 0) return this.ret(word.length == this.pattern.length ? 0 : -100 /* Penalty.NotFull */, [0, this.pattern.length]);
      var len = chars.length,
        anyTo = 0;
      if (direct < 0) {
        for (var i = 0, e = Math.min(word.length, 200); i < e && anyTo < len;) {
          var next = (0, _state.codePointAt)(word, i);
          if (next == chars[anyTo] || next == folded[anyTo]) any[anyTo++] = i;
          i += (0, _state.codePointSize)(next);
        }
        // No match, exit immediately
        if (anyTo < len) return null;
      }
      // This tracks the extent of the precise (non-folded, not
      // necessarily adjacent) match
      var preciseTo = 0;
      // Tracks whether there is a match that hits only characters that
      // appear to be starting words. `byWordFolded` is set to true when
      // a case folded character is encountered in such a match
      var byWordTo = 0,
        byWordFolded = false;
      // If we've found a partial adjacent match, these track its state
      var adjacentTo = 0,
        adjacentStart = -1,
        adjacentEnd = -1;
      var hasLower = /[a-z]/.test(word),
        wordAdjacent = true;
      // Go over the option's text, scanning for the various kinds of matches
      for (var _i = 0, _e = Math.min(word.length, 200), prevType = 0 /* Tp.NonWord */; _i < _e && byWordTo < len;) {
        var _next = (0, _state.codePointAt)(word, _i);
        if (direct < 0) {
          if (preciseTo < len && _next == chars[preciseTo]) precise[preciseTo++] = _i;
          if (adjacentTo < len) {
            if (_next == chars[adjacentTo] || _next == folded[adjacentTo]) {
              if (adjacentTo == 0) adjacentStart = _i;
              adjacentEnd = _i + 1;
              adjacentTo++;
            } else {
              adjacentTo = 0;
            }
          }
        }
        var ch = void 0,
          type = _next < 0xff ? _next >= 48 && _next <= 57 || _next >= 97 && _next <= 122 ? 2 /* Tp.Lower */ : _next >= 65 && _next <= 90 ? 1 /* Tp.Upper */ : 0 /* Tp.NonWord */ : (ch = (0, _state.fromCodePoint)(_next)) != ch.toLowerCase() ? 1 /* Tp.Upper */ : ch != ch.toUpperCase() ? 2 /* Tp.Lower */ : 0 /* Tp.NonWord */;
        if (!_i || type == 1 /* Tp.Upper */ && hasLower || prevType == 0 /* Tp.NonWord */ && type != 0 /* Tp.NonWord */) {
          if (chars[byWordTo] == _next || folded[byWordTo] == _next && (byWordFolded = true)) byWord[byWordTo++] = _i;else if (byWord.length) wordAdjacent = false;
        }
        prevType = type;
        _i += (0, _state.codePointSize)(_next);
      }
      if (byWordTo == len && byWord[0] == 0 && wordAdjacent) return this.result(-100 /* Penalty.ByWord */ + (byWordFolded ? -200 /* Penalty.CaseFold */ : 0), byWord, word);
      if (adjacentTo == len && adjacentStart == 0) return this.ret(-200 /* Penalty.CaseFold */ - word.length + (adjacentEnd == word.length ? 0 : -100 /* Penalty.NotFull */), [0, adjacentEnd]);
      if (direct > -1) return this.ret(-700 /* Penalty.NotStart */ - word.length, [direct, direct + this.pattern.length]);
      if (adjacentTo == len) return this.ret(-200 /* Penalty.CaseFold */ + -700 /* Penalty.NotStart */ - word.length, [adjacentStart, adjacentEnd]);
      if (byWordTo == len) return this.result(-100 /* Penalty.ByWord */ + (byWordFolded ? -200 /* Penalty.CaseFold */ : 0) + -700 /* Penalty.NotStart */ + (wordAdjacent ? 0 : -1100 /* Penalty.Gap */), byWord, word);
      return chars.length == 2 ? null : this.result((any[0] ? -700 /* Penalty.NotStart */ : 0) + -200 /* Penalty.CaseFold */ + -1100 /* Penalty.Gap */, any, word);
    }
  }, {
    key: "result",
    value: function result(score, positions, word) {
      var result = [],
        i = 0;
      var _iterator2 = _createForOfIteratorHelper(positions),
        _step2;
      try {
        for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
          var pos = _step2.value;
          var to = pos + (this.astral ? (0, _state.codePointSize)((0, _state.codePointAt)(word, pos)) : 1);
          if (i && result[i - 1] == pos) result[i - 1] = to;else {
            result[i++] = pos;
            result[i++] = to;
          }
        }
      } catch (err) {
        _iterator2.e(err);
      } finally {
        _iterator2.f();
      }
      return this.ret(score - word.length, result);
    }
  }]);
}();
var StrictMatcher = /*#__PURE__*/function () {
  function StrictMatcher(pattern) {
    _classCallCheck(this, StrictMatcher);
    this.pattern = pattern;
    this.matched = [];
    this.score = 0;
    this.folded = pattern.toLowerCase();
  }
  return _createClass(StrictMatcher, [{
    key: "match",
    value: function match(word) {
      if (word.length < this.pattern.length) return null;
      var start = word.slice(0, this.pattern.length);
      var match = start == this.pattern ? 0 : start.toLowerCase() == this.folded ? -200 /* Penalty.CaseFold */ : null;
      if (match == null) return null;
      this.matched = [0, start.length];
      this.score = match + (word.length == this.pattern.length ? 0 : -100 /* Penalty.NotFull */);
      return this;
    }
  }]);
}();
var completionConfig = /*@__PURE__*/_state.Facet.define({
  combine: function combine(configs) {
    return (0, _state.combineConfig)(configs, {
      activateOnTyping: true,
      activateOnTypingDelay: 100,
      selectOnOpen: true,
      override: null,
      closeOnBlur: true,
      maxRenderedOptions: 100,
      defaultKeymap: true,
      tooltipClass: function tooltipClass() {
        return "";
      },
      optionClass: function optionClass() {
        return "";
      },
      aboveCursor: false,
      icons: true,
      addToOptions: [],
      positionInfo: defaultPositionInfo,
      filterStrict: false,
      compareCompletions: function compareCompletions(a, b) {
        return a.label.localeCompare(b.label);
      },
      interactionDelay: 75,
      updateSyncTime: 100
    }, {
      defaultKeymap: function defaultKeymap(a, b) {
        return a && b;
      },
      closeOnBlur: function closeOnBlur(a, b) {
        return a && b;
      },
      icons: function icons(a, b) {
        return a && b;
      },
      tooltipClass: function tooltipClass(a, b) {
        return function (c) {
          return joinClass(a(c), b(c));
        };
      },
      optionClass: function optionClass(a, b) {
        return function (c) {
          return joinClass(a(c), b(c));
        };
      },
      addToOptions: function addToOptions(a, b) {
        return a.concat(b);
      },
      filterStrict: function filterStrict(a, b) {
        return a || b;
      }
    });
  }
});
function joinClass(a, b) {
  return a ? b ? a + " " + b : a : b;
}
function defaultPositionInfo(view, list, option, info, space, tooltip) {
  var rtl = view.textDirection == _view.Direction.RTL,
    left = rtl,
    narrow = false;
  var side = "top",
    offset,
    maxWidth;
  var spaceLeft = list.left - space.left,
    spaceRight = space.right - list.right;
  var infoWidth = info.right - info.left,
    infoHeight = info.bottom - info.top;
  if (left && spaceLeft < Math.min(infoWidth, spaceRight)) left = false;else if (!left && spaceRight < Math.min(infoWidth, spaceLeft)) left = true;
  if (infoWidth <= (left ? spaceLeft : spaceRight)) {
    offset = Math.max(space.top, Math.min(option.top, space.bottom - infoHeight)) - list.top;
    maxWidth = Math.min(400 /* Info.Width */, left ? spaceLeft : spaceRight);
  } else {
    narrow = true;
    maxWidth = Math.min(400 /* Info.Width */, (rtl ? list.right : space.right - list.left) - 30 /* Info.Margin */);
    var spaceBelow = space.bottom - list.bottom;
    if (spaceBelow >= infoHeight || spaceBelow > list.top) {
      // Below the completion
      offset = option.bottom - list.top;
    } else {
      // Above it
      side = "bottom";
      offset = list.bottom - option.top;
    }
  }
  var scaleY = (list.bottom - list.top) / tooltip.offsetHeight;
  var scaleX = (list.right - list.left) / tooltip.offsetWidth;
  return {
    style: "".concat(side, ": ").concat(offset / scaleY, "px; max-width: ").concat(maxWidth / scaleX, "px"),
    "class": "cm-completionInfo-" + (narrow ? rtl ? "left-narrow" : "right-narrow" : left ? "left" : "right")
  };
}
function optionContent(config) {
  var content = config.addToOptions.slice();
  if (config.icons) content.push({
    render: function render(completion) {
      var _icon$classList;
      var icon = document.createElement("div");
      icon.classList.add("cm-completionIcon");
      if (completion.type) (_icon$classList = icon.classList).add.apply(_icon$classList, _toConsumableArray(completion.type.split(/\s+/g).map(function (cls) {
        return "cm-completionIcon-" + cls;
      })));
      icon.setAttribute("aria-hidden", "true");
      return icon;
    },
    position: 20
  });
  content.push({
    render: function render(completion, _s, _v, match) {
      var labelElt = document.createElement("span");
      labelElt.className = "cm-completionLabel";
      var label = completion.displayLabel || completion.label,
        off = 0;
      for (var j = 0; j < match.length;) {
        var from = match[j++],
          to = match[j++];
        if (from > off) labelElt.appendChild(document.createTextNode(label.slice(off, from)));
        var span = labelElt.appendChild(document.createElement("span"));
        span.appendChild(document.createTextNode(label.slice(from, to)));
        span.className = "cm-completionMatchedText";
        off = to;
      }
      if (off < label.length) labelElt.appendChild(document.createTextNode(label.slice(off)));
      return labelElt;
    },
    position: 50
  }, {
    render: function render(completion) {
      if (!completion.detail) return null;
      var detailElt = document.createElement("span");
      detailElt.className = "cm-completionDetail";
      detailElt.textContent = completion.detail;
      return detailElt;
    },
    position: 80
  });
  return content.sort(function (a, b) {
    return a.position - b.position;
  }).map(function (a) {
    return a.render;
  });
}
function rangeAroundSelected(total, selected, max) {
  if (total <= max) return {
    from: 0,
    to: total
  };
  if (selected < 0) selected = 0;
  if (selected <= total >> 1) {
    var _off = Math.floor(selected / max);
    return {
      from: _off * max,
      to: (_off + 1) * max
    };
  }
  var off = Math.floor((total - selected) / max);
  return {
    from: total - (off + 1) * max,
    to: total - off * max
  };
}
var CompletionTooltip = /*#__PURE__*/function () {
  function CompletionTooltip(view, stateField, applyCompletion) {
    var _this = this;
    _classCallCheck(this, CompletionTooltip);
    this.view = view;
    this.stateField = stateField;
    this.applyCompletion = applyCompletion;
    this.info = null;
    this.infoDestroy = null;
    this.placeInfoReq = {
      read: function read() {
        return _this.measureInfo();
      },
      write: function write(pos) {
        return _this.placeInfo(pos);
      },
      key: this
    };
    this.space = null;
    this.currentClass = "";
    var cState = view.state.field(stateField);
    var _cState$open = cState.open,
      options = _cState$open.options,
      selected = _cState$open.selected;
    var config = view.state.facet(completionConfig);
    this.optionContent = optionContent(config);
    this.optionClass = config.optionClass;
    this.tooltipClass = config.tooltipClass;
    this.range = rangeAroundSelected(options.length, selected, config.maxRenderedOptions);
    this.dom = document.createElement("div");
    this.dom.className = "cm-tooltip-autocomplete";
    this.updateTooltipClass(view.state);
    this.dom.addEventListener("mousedown", function (e) {
      var options = view.state.field(stateField).open.options;
      for (var dom = e.target, match; dom && dom != _this.dom; dom = dom.parentNode) {
        if (dom.nodeName == "LI" && (match = /-(\d+)$/.exec(dom.id)) && +match[1] < options.length) {
          _this.applyCompletion(view, options[+match[1]]);
          e.preventDefault();
          return;
        }
      }
    });
    this.dom.addEventListener("focusout", function (e) {
      var state = view.state.field(_this.stateField, false);
      if (state && state.tooltip && view.state.facet(completionConfig).closeOnBlur && e.relatedTarget != view.contentDOM) view.dispatch({
        effects: closeCompletionEffect.of(null)
      });
    });
    this.showOptions(options, cState.id);
  }
  return _createClass(CompletionTooltip, [{
    key: "mount",
    value: function mount() {
      this.updateSel();
    }
  }, {
    key: "showOptions",
    value: function showOptions(options, id) {
      var _this2 = this;
      if (this.list) this.list.remove();
      this.list = this.dom.appendChild(this.createListBox(options, id, this.range));
      this.list.addEventListener("scroll", function () {
        if (_this2.info) _this2.view.requestMeasure(_this2.placeInfoReq);
      });
    }
  }, {
    key: "update",
    value: function update(_update) {
      var _a;
      var cState = _update.state.field(this.stateField);
      var prevState = _update.startState.field(this.stateField);
      this.updateTooltipClass(_update.state);
      if (cState != prevState) {
        var _cState$open2 = cState.open,
          options = _cState$open2.options,
          selected = _cState$open2.selected,
          disabled = _cState$open2.disabled;
        if (!prevState.open || prevState.open.options != options) {
          this.range = rangeAroundSelected(options.length, selected, _update.state.facet(completionConfig).maxRenderedOptions);
          this.showOptions(options, cState.id);
        }
        this.updateSel();
        if (disabled != ((_a = prevState.open) === null || _a === void 0 ? void 0 : _a.disabled)) this.dom.classList.toggle("cm-tooltip-autocomplete-disabled", !!disabled);
      }
    }
  }, {
    key: "updateTooltipClass",
    value: function updateTooltipClass(state) {
      var cls = this.tooltipClass(state);
      if (cls != this.currentClass) {
        var _iterator3 = _createForOfIteratorHelper(this.currentClass.split(" ")),
          _step3;
        try {
          for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
            var c = _step3.value;
            if (c) this.dom.classList.remove(c);
          }
        } catch (err) {
          _iterator3.e(err);
        } finally {
          _iterator3.f();
        }
        var _iterator4 = _createForOfIteratorHelper(cls.split(" ")),
          _step4;
        try {
          for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
            var _c = _step4.value;
            if (_c) this.dom.classList.add(_c);
          }
        } catch (err) {
          _iterator4.e(err);
        } finally {
          _iterator4.f();
        }
        this.currentClass = cls;
      }
    }
  }, {
    key: "positioned",
    value: function positioned(space) {
      this.space = space;
      if (this.info) this.view.requestMeasure(this.placeInfoReq);
    }
  }, {
    key: "updateSel",
    value: function updateSel() {
      var _this3 = this;
      var cState = this.view.state.field(this.stateField),
        open = cState.open;
      if (open.selected > -1 && open.selected < this.range.from || open.selected >= this.range.to) {
        this.range = rangeAroundSelected(open.options.length, open.selected, this.view.state.facet(completionConfig).maxRenderedOptions);
        this.showOptions(open.options, cState.id);
      }
      if (this.updateSelectedOption(open.selected)) {
        this.destroyInfo();
        var completion = open.options[open.selected].completion;
        var info = completion.info;
        if (!info) return;
        var infoResult = typeof info === "string" ? document.createTextNode(info) : info(completion);
        if (!infoResult) return;
        if ("then" in infoResult) {
          infoResult.then(function (obj) {
            if (obj && _this3.view.state.field(_this3.stateField, false) == cState) _this3.addInfoPane(obj, completion);
          })["catch"](function (e) {
            return (0, _view.logException)(_this3.view.state, e, "completion info");
          });
        } else {
          this.addInfoPane(infoResult, completion);
        }
      }
    }
  }, {
    key: "addInfoPane",
    value: function addInfoPane(content, completion) {
      this.destroyInfo();
      var wrap = this.info = document.createElement("div");
      wrap.className = "cm-tooltip cm-completionInfo";
      if (content.nodeType != null) {
        wrap.appendChild(content);
        this.infoDestroy = null;
      } else {
        var dom = content.dom,
          destroy = content.destroy;
        wrap.appendChild(dom);
        this.infoDestroy = destroy || null;
      }
      this.dom.appendChild(wrap);
      this.view.requestMeasure(this.placeInfoReq);
    }
  }, {
    key: "updateSelectedOption",
    value: function updateSelectedOption(selected) {
      var set = null;
      for (var opt = this.list.firstChild, i = this.range.from; opt; opt = opt.nextSibling, i++) {
        if (opt.nodeName != "LI" || !opt.id) {
          i--; // A section header
        } else if (i == selected) {
          if (!opt.hasAttribute("aria-selected")) {
            opt.setAttribute("aria-selected", "true");
            set = opt;
          }
        } else {
          if (opt.hasAttribute("aria-selected")) opt.removeAttribute("aria-selected");
        }
      }
      if (set) scrollIntoView(this.list, set);
      return set;
    }
  }, {
    key: "measureInfo",
    value: function measureInfo() {
      var sel = this.dom.querySelector("[aria-selected]");
      if (!sel || !this.info) return null;
      var listRect = this.dom.getBoundingClientRect();
      var infoRect = this.info.getBoundingClientRect();
      var selRect = sel.getBoundingClientRect();
      var space = this.space;
      if (!space) {
        var win = this.dom.ownerDocument.defaultView || window;
        space = {
          left: 0,
          top: 0,
          right: win.innerWidth,
          bottom: win.innerHeight
        };
      }
      if (selRect.top > Math.min(space.bottom, listRect.bottom) - 10 || selRect.bottom < Math.max(space.top, listRect.top) + 10) return null;
      return this.view.state.facet(completionConfig).positionInfo(this.view, listRect, selRect, infoRect, space, this.dom);
    }
  }, {
    key: "placeInfo",
    value: function placeInfo(pos) {
      if (this.info) {
        if (pos) {
          if (pos.style) this.info.style.cssText = pos.style;
          this.info.className = "cm-tooltip cm-completionInfo " + (pos["class"] || "");
        } else {
          this.info.style.cssText = "top: -1e6px";
        }
      }
    }
  }, {
    key: "createListBox",
    value: function createListBox(options, id, range) {
      var ul = document.createElement("ul");
      ul.id = id;
      ul.setAttribute("role", "listbox");
      ul.setAttribute("aria-expanded", "true");
      ul.setAttribute("aria-label", this.view.state.phrase("Completions"));
      var curSection = null;
      for (var i = range.from; i < range.to; i++) {
        var _options$i = options[i],
          completion = _options$i.completion,
          match = _options$i.match,
          section = completion.section;
        if (section) {
          var name = typeof section == "string" ? section : section.name;
          if (name != curSection && (i > range.from || range.from == 0)) {
            curSection = name;
            if (typeof section != "string" && section.header) {
              ul.appendChild(section.header(section));
            } else {
              var header = ul.appendChild(document.createElement("completion-section"));
              header.textContent = name;
            }
          }
        }
        var li = ul.appendChild(document.createElement("li"));
        li.id = id + "-" + i;
        li.setAttribute("role", "option");
        var cls = this.optionClass(completion);
        if (cls) li.className = cls;
        var _iterator5 = _createForOfIteratorHelper(this.optionContent),
          _step5;
        try {
          for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
            var source = _step5.value;
            var node = source(completion, this.view.state, this.view, match);
            if (node) li.appendChild(node);
          }
        } catch (err) {
          _iterator5.e(err);
        } finally {
          _iterator5.f();
        }
      }
      if (range.from) ul.classList.add("cm-completionListIncompleteTop");
      if (range.to < options.length) ul.classList.add("cm-completionListIncompleteBottom");
      return ul;
    }
  }, {
    key: "destroyInfo",
    value: function destroyInfo() {
      if (this.info) {
        if (this.infoDestroy) this.infoDestroy();
        this.info.remove();
        this.info = null;
      }
    }
  }, {
    key: "destroy",
    value: function destroy() {
      this.destroyInfo();
    }
  }]);
}();
function completionTooltip(stateField, applyCompletion) {
  return function (view) {
    return new CompletionTooltip(view, stateField, applyCompletion);
  };
}
function scrollIntoView(container, element) {
  var parent = container.getBoundingClientRect();
  var self = element.getBoundingClientRect();
  var scaleY = parent.height / container.offsetHeight;
  if (self.top < parent.top) container.scrollTop -= (parent.top - self.top) / scaleY;else if (self.bottom > parent.bottom) container.scrollTop += (self.bottom - parent.bottom) / scaleY;
}

// Used to pick a preferred option when two options with the same
// label occur in the result.
function score(option) {
  return (option.boost || 0) * 100 + (option.apply ? 10 : 0) + (option.info ? 5 : 0) + (option.type ? 1 : 0);
}
function sortOptions(active, state) {
  var options = [];
  var sections = null;
  var addOption = function addOption(option) {
    options.push(option);
    var section = option.completion.section;
    if (section) {
      if (!sections) sections = [];
      var name = typeof section == "string" ? section : section.name;
      if (!sections.some(function (s) {
        return s.name == name;
      })) sections.push(typeof section == "string" ? {
        name: name
      } : section);
    }
  };
  var conf = state.facet(completionConfig);
  var _iterator6 = _createForOfIteratorHelper(active),
    _step6;
  try {
    for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {
      var a = _step6.value;
      if (a.hasResult()) {
        var getMatch = a.result.getMatch;
        if (a.result.filter === false) {
          var _iterator10 = _createForOfIteratorHelper(a.result.options),
            _step10;
          try {
            for (_iterator10.s(); !(_step10 = _iterator10.n()).done;) {
              var _option = _step10.value;
              addOption(new Option(_option, a.source, getMatch ? getMatch(_option) : [], 1e9 - options.length));
            }
          } catch (err) {
            _iterator10.e(err);
          } finally {
            _iterator10.f();
          }
        } else {
          var pattern = state.sliceDoc(a.from, a.to),
            match = void 0;
          var matcher = conf.filterStrict ? new StrictMatcher(pattern) : new FuzzyMatcher(pattern);
          var _iterator11 = _createForOfIteratorHelper(a.result.options),
            _step11;
          try {
            for (_iterator11.s(); !(_step11 = _iterator11.n()).done;) {
              var _option2 = _step11.value;
              if (match = matcher.match(_option2.label)) {
                var matched = !_option2.displayLabel ? match.matched : getMatch ? getMatch(_option2, match.matched) : [];
                addOption(new Option(_option2, a.source, matched, match.score + (_option2.boost || 0)));
              }
            }
          } catch (err) {
            _iterator11.e(err);
          } finally {
            _iterator11.f();
          }
        }
      }
    }
  } catch (err) {
    _iterator6.e(err);
  } finally {
    _iterator6.f();
  }
  if (sections) {
    var sectionOrder = Object.create(null),
      pos = 0;
    var cmp = function cmp(a, b) {
      var _a, _b;
      return ((_a = a.rank) !== null && _a !== void 0 ? _a : 1e9) - ((_b = b.rank) !== null && _b !== void 0 ? _b : 1e9) || (a.name < b.name ? -1 : 1);
    };
    var _iterator7 = _createForOfIteratorHelper(sections.sort(cmp)),
      _step7;
    try {
      for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {
        var s = _step7.value;
        pos -= 1e5;
        sectionOrder[s.name] = pos;
      }
    } catch (err) {
      _iterator7.e(err);
    } finally {
      _iterator7.f();
    }
    var _iterator8 = _createForOfIteratorHelper(options),
      _step8;
    try {
      for (_iterator8.s(); !(_step8 = _iterator8.n()).done;) {
        var option = _step8.value;
        var section = option.completion.section;
        if (section) option.score += sectionOrder[typeof section == "string" ? section : section.name];
      }
    } catch (err) {
      _iterator8.e(err);
    } finally {
      _iterator8.f();
    }
  }
  var result = [],
    prev = null;
  var compare = conf.compareCompletions;
  var _iterator9 = _createForOfIteratorHelper(options.sort(function (a, b) {
      return b.score - a.score || compare(a.completion, b.completion);
    })),
    _step9;
  try {
    for (_iterator9.s(); !(_step9 = _iterator9.n()).done;) {
      var opt = _step9.value;
      var _cur = opt.completion;
      if (!prev || prev.label != _cur.label || prev.detail != _cur.detail || prev.type != null && _cur.type != null && prev.type != _cur.type || prev.apply != _cur.apply || prev.boost != _cur.boost) result.push(opt);else if (score(opt.completion) > score(prev)) result[result.length - 1] = opt;
      prev = opt.completion;
    }
  } catch (err) {
    _iterator9.e(err);
  } finally {
    _iterator9.f();
  }
  return result;
}
var CompletionDialog = /*#__PURE__*/function () {
  function CompletionDialog(options, attrs, tooltip, timestamp, selected, disabled) {
    _classCallCheck(this, CompletionDialog);
    this.options = options;
    this.attrs = attrs;
    this.tooltip = tooltip;
    this.timestamp = timestamp;
    this.selected = selected;
    this.disabled = disabled;
  }
  return _createClass(CompletionDialog, [{
    key: "setSelected",
    value: function setSelected(selected, id) {
      return selected == this.selected || selected >= this.options.length ? this : new CompletionDialog(this.options, makeAttrs(id, selected), this.tooltip, this.timestamp, selected, this.disabled);
    }
  }, {
    key: "map",
    value: function map(changes) {
      return new CompletionDialog(this.options, this.attrs, Object.assign(Object.assign({}, this.tooltip), {
        pos: changes.mapPos(this.tooltip.pos)
      }), this.timestamp, this.selected, this.disabled);
    }
  }], [{
    key: "build",
    value: function build(active, state, id, prev, conf) {
      var options = sortOptions(active, state);
      if (!options.length) {
        return prev && active.some(function (a) {
          return a.state == 1;
        } /* State.Pending */) ? new CompletionDialog(prev.options, prev.attrs, prev.tooltip, prev.timestamp, prev.selected, true) : null;
      }
      var selected = state.facet(completionConfig).selectOnOpen ? 0 : -1;
      if (prev && prev.selected != selected && prev.selected != -1) {
        var selectedValue = prev.options[prev.selected].completion;
        for (var i = 0; i < options.length; i++) if (options[i].completion == selectedValue) {
          selected = i;
          break;
        }
      }
      return new CompletionDialog(options, makeAttrs(id, selected), {
        pos: active.reduce(function (a, b) {
          return b.hasResult() ? Math.min(a, b.from) : a;
        }, 1e8),
        create: createTooltip,
        above: conf.aboveCursor
      }, prev ? prev.timestamp : Date.now(), selected, false);
    }
  }]);
}();
var CompletionState = /*#__PURE__*/function () {
  function CompletionState(active, id, open) {
    _classCallCheck(this, CompletionState);
    this.active = active;
    this.id = id;
    this.open = open;
  }
  return _createClass(CompletionState, [{
    key: "update",
    value: function update(tr) {
      var _this4 = this;
      var state = tr.state,
        conf = state.facet(completionConfig);
      var sources = conf.override || state.languageDataAt("autocomplete", cur(state)).map(asSource);
      var active = sources.map(function (source) {
        var value = _this4.active.find(function (s) {
          return s.source == source;
        }) || new ActiveSource(source, _this4.active.some(function (a) {
          return a.state != 0;
        } /* State.Inactive */) ? 1 /* State.Pending */ : 0 /* State.Inactive */);
        return value.update(tr, conf);
      });
      if (active.length == this.active.length && active.every(function (a, i) {
        return a == _this4.active[i];
      })) active = this.active;
      var open = this.open;
      if (open && tr.docChanged) open = open.map(tr.changes);
      if (tr.selection || active.some(function (a) {
        return a.hasResult() && tr.changes.touchesRange(a.from, a.to);
      }) || !sameResults(active, this.active)) open = CompletionDialog.build(active, state, this.id, open, conf);else if (open && open.disabled && !active.some(function (a) {
        return a.state == 1;
      } /* State.Pending */)) open = null;
      if (!open && active.every(function (a) {
        return a.state != 1;
      } /* State.Pending */) && active.some(function (a) {
        return a.hasResult();
      })) active = active.map(function (a) {
        return a.hasResult() ? new ActiveSource(a.source, 0 /* State.Inactive */) : a;
      });
      var _iterator12 = _createForOfIteratorHelper(tr.effects),
        _step12;
      try {
        for (_iterator12.s(); !(_step12 = _iterator12.n()).done;) {
          var effect = _step12.value;
          if (effect.is(setSelectedEffect)) open = open && open.setSelected(effect.value, this.id);
        }
      } catch (err) {
        _iterator12.e(err);
      } finally {
        _iterator12.f();
      }
      return active == this.active && open == this.open ? this : new CompletionState(active, this.id, open);
    }
  }, {
    key: "tooltip",
    get: function get() {
      return this.open ? this.open.tooltip : null;
    }
  }, {
    key: "attrs",
    get: function get() {
      return this.open ? this.open.attrs : baseAttrs;
    }
  }], [{
    key: "start",
    value: function start() {
      return new CompletionState(none, "cm-ac-" + Math.floor(Math.random() * 2e6).toString(36), null);
    }
  }]);
}();
function sameResults(a, b) {
  if (a == b) return true;
  for (var iA = 0, iB = 0;;) {
    while (iA < a.length && !a[iA].hasResult) iA++;
    while (iB < b.length && !b[iB].hasResult) iB++;
    var endA = iA == a.length,
      endB = iB == b.length;
    if (endA || endB) return endA == endB;
    if (a[iA++].result != b[iB++].result) return false;
  }
}
var baseAttrs = {
  "aria-autocomplete": "list"
};
function makeAttrs(id, selected) {
  var result = {
    "aria-autocomplete": "list",
    "aria-haspopup": "listbox",
    "aria-controls": id
  };
  if (selected > -1) result["aria-activedescendant"] = id + "-" + selected;
  return result;
}
var none = [];
function getUserEvent(tr) {
  return tr.isUserEvent("input.type") ? "input" : tr.isUserEvent("delete.backward") ? "delete" : null;
}
var ActiveSource = /*#__PURE__*/function () {
  function ActiveSource(source, state) {
    var explicitPos = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : -1;
    _classCallCheck(this, ActiveSource);
    this.source = source;
    this.state = state;
    this.explicitPos = explicitPos;
  }
  return _createClass(ActiveSource, [{
    key: "hasResult",
    value: function hasResult() {
      return false;
    }
  }, {
    key: "update",
    value: function update(tr, conf) {
      var event = getUserEvent(tr),
        value = this;
      if (event) value = value.handleUserEvent(tr, event, conf);else if (tr.docChanged) value = value.handleChange(tr);else if (tr.selection && value.state != 0 /* State.Inactive */) value = new ActiveSource(value.source, 0 /* State.Inactive */);
      var _iterator13 = _createForOfIteratorHelper(tr.effects),
        _step13;
      try {
        for (_iterator13.s(); !(_step13 = _iterator13.n()).done;) {
          var effect = _step13.value;
          if (effect.is(startCompletionEffect)) value = new ActiveSource(value.source, 1 /* State.Pending */, effect.value ? cur(tr.state) : -1);else if (effect.is(closeCompletionEffect)) value = new ActiveSource(value.source, 0 /* State.Inactive */);else if (effect.is(setActiveEffect)) {
            var _iterator14 = _createForOfIteratorHelper(effect.value),
              _step14;
            try {
              for (_iterator14.s(); !(_step14 = _iterator14.n()).done;) {
                var active = _step14.value;
                if (active.source == value.source) value = active;
              }
            } catch (err) {
              _iterator14.e(err);
            } finally {
              _iterator14.f();
            }
          }
        }
      } catch (err) {
        _iterator13.e(err);
      } finally {
        _iterator13.f();
      }
      return value;
    }
  }, {
    key: "handleUserEvent",
    value: function handleUserEvent(tr, type, conf) {
      return type == "delete" || !conf.activateOnTyping ? this.map(tr.changes) : new ActiveSource(this.source, 1 /* State.Pending */);
    }
  }, {
    key: "handleChange",
    value: function handleChange(tr) {
      return tr.changes.touchesRange(cur(tr.startState)) ? new ActiveSource(this.source, 0 /* State.Inactive */) : this.map(tr.changes);
    }
  }, {
    key: "map",
    value: function map(changes) {
      return changes.empty || this.explicitPos < 0 ? this : new ActiveSource(this.source, this.state, changes.mapPos(this.explicitPos));
    }
  }]);
}();
var ActiveResult = /*#__PURE__*/function (_ActiveSource) {
  function ActiveResult(source, explicitPos, result, from, to) {
    var _this5;
    _classCallCheck(this, ActiveResult);
    _this5 = _callSuper(this, ActiveResult, [source, 2 /* State.Result */, explicitPos]);
    _this5.result = result;
    _this5.from = from;
    _this5.to = to;
    return _this5;
  }
  _inherits(ActiveResult, _ActiveSource);
  return _createClass(ActiveResult, [{
    key: "hasResult",
    value: function hasResult() {
      return true;
    }
  }, {
    key: "handleUserEvent",
    value: function handleUserEvent(tr, type, conf) {
      var _a;
      var result = this.result;
      if (result.map && !tr.changes.empty) result = result.map(result, tr.changes);
      var from = tr.changes.mapPos(this.from),
        to = tr.changes.mapPos(this.to, 1);
      var pos = cur(tr.state);
      if ((this.explicitPos < 0 ? pos <= from : pos < this.from) || pos > to || !result || type == "delete" && cur(tr.startState) == this.from) return new ActiveSource(this.source, type == "input" && conf.activateOnTyping ? 1 /* State.Pending */ : 0 /* State.Inactive */);
      var explicitPos = this.explicitPos < 0 ? -1 : tr.changes.mapPos(this.explicitPos);
      if (checkValid(result.validFor, tr.state, from, to)) return new ActiveResult(this.source, explicitPos, result, from, to);
      if (result.update && (result = result.update(result, from, to, new CompletionContext(tr.state, pos, explicitPos >= 0)))) return new ActiveResult(this.source, explicitPos, result, result.from, (_a = result.to) !== null && _a !== void 0 ? _a : cur(tr.state));
      return new ActiveSource(this.source, 1 /* State.Pending */, explicitPos);
    }
  }, {
    key: "handleChange",
    value: function handleChange(tr) {
      return tr.changes.touchesRange(this.from, this.to) ? new ActiveSource(this.source, 0 /* State.Inactive */) : this.map(tr.changes);
    }
  }, {
    key: "map",
    value: function map(mapping) {
      if (mapping.empty) return this;
      var result = this.result.map ? this.result.map(this.result, mapping) : this.result;
      if (!result) return new ActiveSource(this.source, 0 /* State.Inactive */);
      return new ActiveResult(this.source, this.explicitPos < 0 ? -1 : mapping.mapPos(this.explicitPos), this.result, mapping.mapPos(this.from), mapping.mapPos(this.to, 1));
    }
  }]);
}(ActiveSource);
function checkValid(validFor, state, from, to) {
  if (!validFor) return false;
  var text = state.sliceDoc(from, to);
  return typeof validFor == "function" ? validFor(text, from, to, state) : ensureAnchor(validFor, true).test(text);
}
var setActiveEffect = /*@__PURE__*/_state.StateEffect.define({
  map: function map(sources, mapping) {
    return sources.map(function (s) {
      return s.map(mapping);
    });
  }
});
var setSelectedEffect = /*@__PURE__*/_state.StateEffect.define();
var completionState = /*@__PURE__*/_state.StateField.define({
  create: function create() {
    return CompletionState.start();
  },
  update: function update(value, tr) {
    return value.update(tr);
  },
  provide: function provide(f) {
    return [_view.showTooltip.from(f, function (val) {
      return val.tooltip;
    }), _view.EditorView.contentAttributes.from(f, function (state) {
      return state.attrs;
    })];
  }
});
function applyCompletion(view, option) {
  var apply = option.completion.apply || option.completion.label;
  var result = view.state.field(completionState).active.find(function (a) {
    return a.source == option.source;
  });
  if (!(result instanceof ActiveResult)) return false;
  if (typeof apply == "string") view.dispatch(Object.assign(Object.assign({}, insertCompletionText(view.state, apply, result.from, result.to)), {
    annotations: pickedCompletion.of(option.completion)
  }));else apply(view, option.completion, result.from, result.to);
  return true;
}
var createTooltip = /*@__PURE__*/completionTooltip(completionState, applyCompletion);

/**
Returns a command that moves the completion selection forward or
backward by the given amount.
*/
function moveCompletionSelection(forward) {
  var by = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "option";
  return function (view) {
    var cState = view.state.field(completionState, false);
    if (!cState || !cState.open || cState.open.disabled || Date.now() - cState.open.timestamp < view.state.facet(completionConfig).interactionDelay) return false;
    var step = 1,
      tooltip;
    if (by == "page" && (tooltip = (0, _view.getTooltip)(view, cState.open.tooltip))) step = Math.max(2, Math.floor(tooltip.dom.offsetHeight / tooltip.dom.querySelector("li").offsetHeight) - 1);
    var length = cState.open.options.length;
    var selected = cState.open.selected > -1 ? cState.open.selected + step * (forward ? 1 : -1) : forward ? 0 : length - 1;
    if (selected < 0) selected = by == "page" ? 0 : length - 1;else if (selected >= length) selected = by == "page" ? length - 1 : 0;
    view.dispatch({
      effects: setSelectedEffect.of(selected)
    });
    return true;
  };
}
/**
Accept the current completion.
*/
var acceptCompletion = exports.acceptCompletion = function acceptCompletion(view) {
  var cState = view.state.field(completionState, false);
  if (view.state.readOnly || !cState || !cState.open || cState.open.selected < 0 || cState.open.disabled || Date.now() - cState.open.timestamp < view.state.facet(completionConfig).interactionDelay) return false;
  return applyCompletion(view, cState.open.options[cState.open.selected]);
};
/**
Explicitly start autocompletion.
*/
var startCompletion = exports.startCompletion = function startCompletion(view) {
  var cState = view.state.field(completionState, false);
  if (!cState) return false;
  view.dispatch({
    effects: startCompletionEffect.of(true)
  });
  return true;
};
/**
Close the currently active completion.
*/
var closeCompletion = exports.closeCompletion = function closeCompletion(view) {
  var cState = view.state.field(completionState, false);
  if (!cState || !cState.active.some(function (a) {
    return a.state != 0;
  } /* State.Inactive */)) return false;
  view.dispatch({
    effects: closeCompletionEffect.of(null)
  });
  return true;
};
var RunningQuery = /*#__PURE__*/_createClass(function RunningQuery(active, context) {
  _classCallCheck(this, RunningQuery);
  this.active = active;
  this.context = context;
  this.time = Date.now();
  this.updates = [];
  // Note that 'undefined' means 'not done yet', whereas 'null' means
  // 'query returned null'.
  this.done = undefined;
});
var MaxUpdateCount = 50,
  MinAbortTime = 1000;
var completionPlugin = /*@__PURE__*/_view.ViewPlugin.fromClass( /*#__PURE__*/function () {
  function _class(view) {
    _classCallCheck(this, _class);
    this.view = view;
    this.debounceUpdate = -1;
    this.running = [];
    this.debounceAccept = -1;
    this.pendingStart = false;
    this.composing = 0 /* CompositionState.None */;
    var _iterator15 = _createForOfIteratorHelper(view.state.field(completionState).active),
      _step15;
    try {
      for (_iterator15.s(); !(_step15 = _iterator15.n()).done;) {
        var active = _step15.value;
        if (active.state == 1 /* State.Pending */) this.startQuery(active);
      }
    } catch (err) {
      _iterator15.e(err);
    } finally {
      _iterator15.f();
    }
  }
  return _createClass(_class, [{
    key: "update",
    value: function update(_update2) {
      var _this6 = this;
      var cState = _update2.state.field(completionState);
      if (!_update2.selectionSet && !_update2.docChanged && _update2.startState.field(completionState) == cState) return;
      var doesReset = _update2.transactions.some(function (tr) {
        return (tr.selection || tr.docChanged) && !getUserEvent(tr);
      });
      for (var i = 0; i < this.running.length; i++) {
        var query = this.running[i];
        if (doesReset || query.updates.length + _update2.transactions.length > MaxUpdateCount && Date.now() - query.time > MinAbortTime) {
          var _iterator16 = _createForOfIteratorHelper(query.context.abortListeners),
            _step16;
          try {
            for (_iterator16.s(); !(_step16 = _iterator16.n()).done;) {
              var handler = _step16.value;
              try {
                handler();
              } catch (e) {
                (0, _view.logException)(this.view.state, e);
              }
            }
          } catch (err) {
            _iterator16.e(err);
          } finally {
            _iterator16.f();
          }
          query.context.abortListeners = null;
          this.running.splice(i--, 1);
        } else {
          var _query$updates;
          (_query$updates = query.updates).push.apply(_query$updates, _toConsumableArray(_update2.transactions));
        }
      }
      if (this.debounceUpdate > -1) clearTimeout(this.debounceUpdate);
      if (_update2.transactions.some(function (tr) {
        return tr.effects.some(function (e) {
          return e.is(startCompletionEffect);
        });
      })) this.pendingStart = true;
      var delay = this.pendingStart ? 50 : _update2.state.facet(completionConfig).activateOnTypingDelay;
      this.debounceUpdate = cState.active.some(function (a) {
        return a.state == 1 /* State.Pending */ && !_this6.running.some(function (q) {
          return q.active.source == a.source;
        });
      }) ? setTimeout(function () {
        return _this6.startUpdate();
      }, delay) : -1;
      if (this.composing != 0 /* CompositionState.None */) {
        var _iterator17 = _createForOfIteratorHelper(_update2.transactions),
          _step17;
        try {
          for (_iterator17.s(); !(_step17 = _iterator17.n()).done;) {
            var tr = _step17.value;
            if (getUserEvent(tr) == "input") this.composing = 2 /* CompositionState.Changed */;else if (this.composing == 2 /* CompositionState.Changed */ && tr.selection) this.composing = 3 /* CompositionState.ChangedAndMoved */;
          }
        } catch (err) {
          _iterator17.e(err);
        } finally {
          _iterator17.f();
        }
      }
    }
  }, {
    key: "startUpdate",
    value: function startUpdate() {
      var _this7 = this;
      this.debounceUpdate = -1;
      this.pendingStart = false;
      var state = this.view.state,
        cState = state.field(completionState);
      var _iterator18 = _createForOfIteratorHelper(cState.active),
        _step18;
      try {
        var _loop = function _loop() {
          var active = _step18.value;
          if (active.state == 1 /* State.Pending */ && !_this7.running.some(function (r) {
            return r.active.source == active.source;
          })) _this7.startQuery(active);
        };
        for (_iterator18.s(); !(_step18 = _iterator18.n()).done;) {
          _loop();
        }
      } catch (err) {
        _iterator18.e(err);
      } finally {
        _iterator18.f();
      }
    }
  }, {
    key: "startQuery",
    value: function startQuery(active) {
      var _this8 = this;
      var state = this.view.state,
        pos = cur(state);
      var context = new CompletionContext(state, pos, active.explicitPos == pos);
      var pending = new RunningQuery(active, context);
      this.running.push(pending);
      Promise.resolve(active.source(context)).then(function (result) {
        if (!pending.context.aborted) {
          pending.done = result || null;
          _this8.scheduleAccept();
        }
      }, function (err) {
        _this8.view.dispatch({
          effects: closeCompletionEffect.of(null)
        });
        (0, _view.logException)(_this8.view.state, err);
      });
    }
  }, {
    key: "scheduleAccept",
    value: function scheduleAccept() {
      var _this9 = this;
      if (this.running.every(function (q) {
        return q.done !== undefined;
      })) this.accept();else if (this.debounceAccept < 0) this.debounceAccept = setTimeout(function () {
        return _this9.accept();
      }, this.view.state.facet(completionConfig).updateSyncTime);
    }
    // For each finished query in this.running, try to create a result
    // or, if appropriate, restart the query.
  }, {
    key: "accept",
    value: function accept() {
      var _this10 = this;
      var _a;
      if (this.debounceAccept > -1) clearTimeout(this.debounceAccept);
      this.debounceAccept = -1;
      var updated = [];
      var conf = this.view.state.facet(completionConfig);
      var _loop2 = function _loop2(_i2) {
          var query = _this10.running[_i2];
          if (query.done === undefined) {
            i = _i2;
            return 0;
          } // continue
          _this10.running.splice(_i2--, 1);
          if (query.done) {
            var active = new ActiveResult(query.active.source, query.active.explicitPos, query.done, query.done.from, (_a = query.done.to) !== null && _a !== void 0 ? _a : cur(query.updates.length ? query.updates[0].startState : _this10.view.state));
            // Replay the transactions that happened since the start of
            // the request and see if that preserves the result
            var _iterator19 = _createForOfIteratorHelper(query.updates),
              _step19;
            try {
              for (_iterator19.s(); !(_step19 = _iterator19.n()).done;) {
                var tr = _step19.value;
                active = active.update(tr, conf);
              }
            } catch (err) {
              _iterator19.e(err);
            } finally {
              _iterator19.f();
            }
            if (active.hasResult()) {
              updated.push(active);
              i = _i2;
              return 0; // continue
            }
          }
          var current = _this10.view.state.field(completionState).active.find(function (a) {
            return a.source == query.active.source;
          });
          if (current && current.state == 1 /* State.Pending */) {
            if (query.done == null) {
              // Explicitly failed. Should clear the pending status if it
              // hasn't been re-set in the meantime.
              var _active = new ActiveSource(query.active.source, 0 /* State.Inactive */);
              var _iterator20 = _createForOfIteratorHelper(query.updates),
                _step20;
              try {
                for (_iterator20.s(); !(_step20 = _iterator20.n()).done;) {
                  var _tr = _step20.value;
                  _active = _active.update(_tr, conf);
                }
              } catch (err) {
                _iterator20.e(err);
              } finally {
                _iterator20.f();
              }
              if (_active.state != 1 /* State.Pending */) updated.push(_active);
            } else {
              // Cleared by subsequent transactions. Restart.
              _this10.startQuery(current);
            }
          }
          i = _i2;
        },
        _ret;
      for (var i = 0; i < this.running.length; i++) {
        _ret = _loop2(i);
        if (_ret === 0) continue;
      }
      if (updated.length) this.view.dispatch({
        effects: setActiveEffect.of(updated)
      });
    }
  }]);
}(), {
  eventHandlers: {
    blur: function blur(event) {
      var _this11 = this;
      var state = this.view.state.field(completionState, false);
      if (state && state.tooltip && this.view.state.facet(completionConfig).closeOnBlur) {
        var dialog = state.open && (0, _view.getTooltip)(this.view, state.open.tooltip);
        if (!dialog || !dialog.dom.contains(event.relatedTarget)) setTimeout(function () {
          return _this11.view.dispatch({
            effects: closeCompletionEffect.of(null)
          });
        }, 10);
      }
    },
    compositionstart: function compositionstart() {
      this.composing = 1 /* CompositionState.Started */;
    },
    compositionend: function compositionend() {
      var _this12 = this;
      if (this.composing == 3 /* CompositionState.ChangedAndMoved */) {
        // Safari fires compositionend events synchronously, possibly
        // from inside an update, so dispatch asynchronously to avoid reentrancy
        setTimeout(function () {
          return _this12.view.dispatch({
            effects: startCompletionEffect.of(false)
          });
        }, 20);
      }
      this.composing = 0 /* CompositionState.None */;
    }
  }
});
var windows = (typeof navigator === "undefined" ? "undefined" : _typeof(navigator)) == "object" && /*@__PURE__*/ /Win/.test(navigator.platform);
var commitCharacters = /*@__PURE__*/_state.Prec.highest( /*@__PURE__*/_view.EditorView.domEventHandlers({
  keydown: function keydown(event, view) {
    var field = view.state.field(completionState, false);
    if (!field || !field.open || field.open.disabled || field.open.selected < 0 || event.key.length > 1 || event.ctrlKey && !(windows && event.altKey) || event.metaKey) return false;
    var option = field.open.options[field.open.selected];
    var result = field.active.find(function (a) {
      return a.source == option.source;
    });
    var commitChars = option.completion.commitCharacters || result.result.commitCharacters;
    if (commitChars && commitChars.indexOf(event.key) > -1) applyCompletion(view, option);
    return false;
  }
}));
var baseTheme = /*@__PURE__*/_view.EditorView.baseTheme({
  ".cm-tooltip.cm-tooltip-autocomplete": {
    "& > ul": {
      fontFamily: "monospace",
      whiteSpace: "nowrap",
      overflow: "hidden auto",
      maxWidth_fallback: "700px",
      maxWidth: "min(700px, 95vw)",
      minWidth: "250px",
      maxHeight: "10em",
      height: "100%",
      listStyle: "none",
      margin: 0,
      padding: 0,
      "& > li, & > completion-section": {
        padding: "1px 3px",
        lineHeight: 1.2
      },
      "& > li": {
        overflowX: "hidden",
        textOverflow: "ellipsis",
        cursor: "pointer"
      },
      "& > completion-section": {
        display: "list-item",
        borderBottom: "1px solid silver",
        paddingLeft: "0.5em",
        opacity: 0.7
      }
    }
  },
  "&light .cm-tooltip-autocomplete ul li[aria-selected]": {
    background: "#17c",
    color: "white"
  },
  "&light .cm-tooltip-autocomplete-disabled ul li[aria-selected]": {
    background: "#777"
  },
  "&dark .cm-tooltip-autocomplete ul li[aria-selected]": {
    background: "#347",
    color: "white"
  },
  "&dark .cm-tooltip-autocomplete-disabled ul li[aria-selected]": {
    background: "#444"
  },
  ".cm-completionListIncompleteTop:before, .cm-completionListIncompleteBottom:after": {
    content: '"···"',
    opacity: 0.5,
    display: "block",
    textAlign: "center"
  },
  ".cm-tooltip.cm-completionInfo": {
    position: "absolute",
    padding: "3px 9px",
    width: "max-content",
    maxWidth: "".concat(400 /* Info.Width */, "px"),
    boxSizing: "border-box"
  },
  ".cm-completionInfo.cm-completionInfo-left": {
    right: "100%"
  },
  ".cm-completionInfo.cm-completionInfo-right": {
    left: "100%"
  },
  ".cm-completionInfo.cm-completionInfo-left-narrow": {
    right: "".concat(30 /* Info.Margin */, "px")
  },
  ".cm-completionInfo.cm-completionInfo-right-narrow": {
    left: "".concat(30 /* Info.Margin */, "px")
  },
  "&light .cm-snippetField": {
    backgroundColor: "#00000022"
  },
  "&dark .cm-snippetField": {
    backgroundColor: "#ffffff22"
  },
  ".cm-snippetFieldPosition": {
    verticalAlign: "text-top",
    width: 0,
    height: "1.15em",
    display: "inline-block",
    margin: "0 -0.7px -.7em",
    borderLeft: "1.4px dotted #888"
  },
  ".cm-completionMatchedText": {
    textDecoration: "underline"
  },
  ".cm-completionDetail": {
    marginLeft: "0.5em",
    fontStyle: "italic"
  },
  ".cm-completionIcon": {
    fontSize: "90%",
    width: ".8em",
    display: "inline-block",
    textAlign: "center",
    paddingRight: ".6em",
    opacity: "0.6",
    boxSizing: "content-box"
  },
  ".cm-completionIcon-function, .cm-completionIcon-method": {
    "&:after": {
      content: "'ƒ'"
    }
  },
  ".cm-completionIcon-class": {
    "&:after": {
      content: "'○'"
    }
  },
  ".cm-completionIcon-interface": {
    "&:after": {
      content: "'◌'"
    }
  },
  ".cm-completionIcon-variable": {
    "&:after": {
      content: "'𝑥'"
    }
  },
  ".cm-completionIcon-constant": {
    "&:after": {
      content: "'𝐶'"
    }
  },
  ".cm-completionIcon-type": {
    "&:after": {
      content: "'𝑡'"
    }
  },
  ".cm-completionIcon-enum": {
    "&:after": {
      content: "'∪'"
    }
  },
  ".cm-completionIcon-property": {
    "&:after": {
      content: "'□'"
    }
  },
  ".cm-completionIcon-keyword": {
    "&:after": {
      content: "'\uD83D\uDD11\uFE0E'"
    } // Disable emoji rendering
  },
  ".cm-completionIcon-namespace": {
    "&:after": {
      content: "'▢'"
    }
  },
  ".cm-completionIcon-text": {
    "&:after": {
      content: "'abc'",
      fontSize: "50%",
      verticalAlign: "middle"
    }
  }
});
var FieldPos = /*#__PURE__*/_createClass(function FieldPos(field, line, from, to) {
  _classCallCheck(this, FieldPos);
  this.field = field;
  this.line = line;
  this.from = from;
  this.to = to;
});
var FieldRange = /*#__PURE__*/function () {
  function FieldRange(field, from, to) {
    _classCallCheck(this, FieldRange);
    this.field = field;
    this.from = from;
    this.to = to;
  }
  return _createClass(FieldRange, [{
    key: "map",
    value: function map(changes) {
      var from = changes.mapPos(this.from, -1, _state.MapMode.TrackDel);
      var to = changes.mapPos(this.to, 1, _state.MapMode.TrackDel);
      return from == null || to == null ? null : new FieldRange(this.field, from, to);
    }
  }]);
}();
var Snippet = /*#__PURE__*/function () {
  function Snippet(lines, fieldPositions) {
    _classCallCheck(this, Snippet);
    this.lines = lines;
    this.fieldPositions = fieldPositions;
  }
  return _createClass(Snippet, [{
    key: "instantiate",
    value: function instantiate(state, pos) {
      var text = [],
        lineStart = [pos];
      var lineObj = state.doc.lineAt(pos),
        baseIndent = /^\s*/.exec(lineObj.text)[0];
      var _iterator21 = _createForOfIteratorHelper(this.lines),
        _step21;
      try {
        for (_iterator21.s(); !(_step21 = _iterator21.n()).done;) {
          var line = _step21.value;
          if (text.length) {
            var indent = baseIndent,
              tabs = /^\t*/.exec(line)[0].length;
            for (var i = 0; i < tabs; i++) indent += state.facet(_language.indentUnit);
            lineStart.push(pos + indent.length - tabs);
            line = indent + line.slice(tabs);
          }
          text.push(line);
          pos += line.length + 1;
        }
      } catch (err) {
        _iterator21.e(err);
      } finally {
        _iterator21.f();
      }
      var ranges = this.fieldPositions.map(function (pos) {
        return new FieldRange(pos.field, lineStart[pos.line] + pos.from, lineStart[pos.line] + pos.to);
      });
      return {
        text: text,
        ranges: ranges
      };
    }
  }], [{
    key: "parse",
    value: function parse(template) {
      var fields = [];
      var lines = [],
        positions = [],
        m;
      var _iterator22 = _createForOfIteratorHelper(template.split(/\r\n?|\n/)),
        _step22;
      try {
        for (_iterator22.s(); !(_step22 = _iterator22.n()).done;) {
          var line = _step22.value;
          while (m = /[#$]\{(?:(\d+)(?::([^}]*))?|([^}]*))\}/.exec(line)) {
            var seq = m[1] ? +m[1] : null,
              name = m[2] || m[3] || "",
              found = -1;
            for (var i = 0; i < fields.length; i++) {
              if (seq != null ? fields[i].seq == seq : name ? fields[i].name == name : false) found = i;
            }
            if (found < 0) {
              var _i3 = 0;
              while (_i3 < fields.length && (seq == null || fields[_i3].seq != null && fields[_i3].seq < seq)) _i3++;
              fields.splice(_i3, 0, {
                seq: seq,
                name: name
              });
              found = _i3;
              var _iterator23 = _createForOfIteratorHelper(positions),
                _step23;
              try {
                for (_iterator23.s(); !(_step23 = _iterator23.n()).done;) {
                  var pos = _step23.value;
                  if (pos.field >= found) pos.field++;
                }
              } catch (err) {
                _iterator23.e(err);
              } finally {
                _iterator23.f();
              }
            }
            positions.push(new FieldPos(found, lines.length, m.index, m.index + name.length));
            line = line.slice(0, m.index) + name + line.slice(m.index + m[0].length);
          }
          for (var esc; esc = /\\([{}])/.exec(line);) {
            line = line.slice(0, esc.index) + esc[1] + line.slice(esc.index + esc[0].length);
            var _iterator24 = _createForOfIteratorHelper(positions),
              _step24;
            try {
              for (_iterator24.s(); !(_step24 = _iterator24.n()).done;) {
                var _pos = _step24.value;
                if (_pos.line == lines.length && _pos.from > esc.index) {
                  _pos.from--;
                  _pos.to--;
                }
              }
            } catch (err) {
              _iterator24.e(err);
            } finally {
              _iterator24.f();
            }
          }
          lines.push(line);
        }
      } catch (err) {
        _iterator22.e(err);
      } finally {
        _iterator22.f();
      }
      return new Snippet(lines, positions);
    }
  }]);
}();
var fieldMarker = /*@__PURE__*/_view.Decoration.widget({
  widget: /*@__PURE__*/new ( /*#__PURE__*/function (_WidgetType) {
    function _class2() {
      _classCallCheck(this, _class2);
      return _callSuper(this, _class2, arguments);
    }
    _inherits(_class2, _WidgetType);
    return _createClass(_class2, [{
      key: "toDOM",
      value: function toDOM() {
        var span = document.createElement("span");
        span.className = "cm-snippetFieldPosition";
        return span;
      }
    }, {
      key: "ignoreEvent",
      value: function ignoreEvent() {
        return false;
      }
    }]);
  }(_view.WidgetType))()
});
var fieldRange = /*@__PURE__*/_view.Decoration.mark({
  "class": "cm-snippetField"
});
var ActiveSnippet = /*#__PURE__*/function () {
  function ActiveSnippet(ranges, active) {
    _classCallCheck(this, ActiveSnippet);
    this.ranges = ranges;
    this.active = active;
    this.deco = _view.Decoration.set(ranges.map(function (r) {
      return (r.from == r.to ? fieldMarker : fieldRange).range(r.from, r.to);
    }));
  }
  return _createClass(ActiveSnippet, [{
    key: "map",
    value: function map(changes) {
      var ranges = [];
      var _iterator25 = _createForOfIteratorHelper(this.ranges),
        _step25;
      try {
        for (_iterator25.s(); !(_step25 = _iterator25.n()).done;) {
          var r = _step25.value;
          var mapped = r.map(changes);
          if (!mapped) return null;
          ranges.push(mapped);
        }
      } catch (err) {
        _iterator25.e(err);
      } finally {
        _iterator25.f();
      }
      return new ActiveSnippet(ranges, this.active);
    }
  }, {
    key: "selectionInsideField",
    value: function selectionInsideField(sel) {
      var _this13 = this;
      return sel.ranges.every(function (range) {
        return _this13.ranges.some(function (r) {
          return r.field == _this13.active && r.from <= range.from && r.to >= range.to;
        });
      });
    }
  }]);
}();
var setActive = /*@__PURE__*/_state.StateEffect.define({
  map: function map(value, changes) {
    return value && value.map(changes);
  }
});
var moveToField = /*@__PURE__*/_state.StateEffect.define();
var snippetState = /*@__PURE__*/_state.StateField.define({
  create: function create() {
    return null;
  },
  update: function update(value, tr) {
    var _iterator26 = _createForOfIteratorHelper(tr.effects),
      _step26;
    try {
      for (_iterator26.s(); !(_step26 = _iterator26.n()).done;) {
        var effect = _step26.value;
        if (effect.is(setActive)) return effect.value;
        if (effect.is(moveToField) && value) return new ActiveSnippet(value.ranges, effect.value);
      }
    } catch (err) {
      _iterator26.e(err);
    } finally {
      _iterator26.f();
    }
    if (value && tr.docChanged) value = value.map(tr.changes);
    if (value && tr.selection && !value.selectionInsideField(tr.selection)) value = null;
    return value;
  },
  provide: function provide(f) {
    return _view.EditorView.decorations.from(f, function (val) {
      return val ? val.deco : _view.Decoration.none;
    });
  }
});
function fieldSelection(ranges, field) {
  return _state.EditorSelection.create(ranges.filter(function (r) {
    return r.field == field;
  }).map(function (r) {
    return _state.EditorSelection.range(r.from, r.to);
  }));
}
/**
Convert a snippet template to a function that can
[apply](https://codemirror.net/6/docs/ref/#autocomplete.Completion.apply) it. Snippets are written
using syntax like this:

    "for (let ${index} = 0; ${index} < ${end}; ${index}++) {\n\t${}\n}"

Each `${}` placeholder (you may also use `#{}`) indicates a field
that the user can fill in. Its name, if any, will be the default
content for the field.

When the snippet is activated by calling the returned function,
the code is inserted at the given position. Newlines in the
template are indented by the indentation of the start line, plus
one [indent unit](https://codemirror.net/6/docs/ref/#language.indentUnit) per tab character after
the newline.

On activation, (all instances of) the first field are selected.
The user can move between fields with Tab and Shift-Tab as long as
the fields are active. Moving to the last field or moving the
cursor out of the current field deactivates the fields.

The order of fields defaults to textual order, but you can add
numbers to placeholders (`${1}` or `${1:defaultText}`) to provide
a custom order.

To include a literal `{` or `}` in your template, put a backslash
in front of it. This will be removed and the brace will not be
interpreted as indicating a placeholder.
*/
function snippet(template) {
  var snippet = Snippet.parse(template);
  return function (editor, completion, from, to) {
    var _snippet$instantiate = snippet.instantiate(editor.state, from),
      text = _snippet$instantiate.text,
      ranges = _snippet$instantiate.ranges;
    var spec = {
      changes: {
        from: from,
        to: to,
        insert: _state.Text.of(text)
      },
      scrollIntoView: true,
      annotations: completion ? [pickedCompletion.of(completion), _state.Transaction.userEvent.of("input.complete")] : undefined
    };
    if (ranges.length) spec.selection = fieldSelection(ranges, 0);
    if (ranges.some(function (r) {
      return r.field > 0;
    })) {
      var active = new ActiveSnippet(ranges, 0);
      var effects = spec.effects = [setActive.of(active)];
      if (editor.state.field(snippetState, false) === undefined) effects.push(_state.StateEffect.appendConfig.of([snippetState, addSnippetKeymap, snippetPointerHandler, baseTheme]));
    }
    editor.dispatch(editor.state.update(spec));
  };
}
function moveField(dir) {
  return function (_ref3) {
    var state = _ref3.state,
      dispatch = _ref3.dispatch;
    var active = state.field(snippetState, false);
    if (!active || dir < 0 && active.active == 0) return false;
    var next = active.active + dir,
      last = dir > 0 && !active.ranges.some(function (r) {
        return r.field == next + dir;
      });
    dispatch(state.update({
      selection: fieldSelection(active.ranges, next),
      effects: setActive.of(last ? null : new ActiveSnippet(active.ranges, next)),
      scrollIntoView: true
    }));
    return true;
  };
}
/**
A command that clears the active snippet, if any.
*/
var clearSnippet = exports.clearSnippet = function clearSnippet(_ref4) {
  var state = _ref4.state,
    dispatch = _ref4.dispatch;
  var active = state.field(snippetState, false);
  if (!active) return false;
  dispatch(state.update({
    effects: setActive.of(null)
  }));
  return true;
};
/**
Move to the next snippet field, if available.
*/
var nextSnippetField = exports.nextSnippetField = /*@__PURE__*/moveField(1);
/**
Move to the previous snippet field, if available.
*/
var prevSnippetField = exports.prevSnippetField = /*@__PURE__*/moveField(-1);
/**
Check if there is an active snippet with a next field for
`nextSnippetField` to move to.
*/
function hasNextSnippetField(state) {
  var active = state.field(snippetState, false);
  return !!(active && active.ranges.some(function (r) {
    return r.field == active.active + 1;
  }));
}
/**
Returns true if there is an active snippet and a previous field
for `prevSnippetField` to move to.
*/
function hasPrevSnippetField(state) {
  var active = state.field(snippetState, false);
  return !!(active && active.active > 0);
}
var defaultSnippetKeymap = [{
  key: "Tab",
  run: nextSnippetField,
  shift: prevSnippetField
}, {
  key: "Enter",
  run: nextSnippetField,
  shift: prevSnippetField
}, {
  key: "Escape",
  run: clearSnippet
}];
/**
A facet that can be used to configure the key bindings used by
snippets. The default binds Tab to
[`nextSnippetField`](https://codemirror.net/6/docs/ref/#autocomplete.nextSnippetField), Shift-Tab to
[`prevSnippetField`](https://codemirror.net/6/docs/ref/#autocomplete.prevSnippetField), and Escape
to [`clearSnippet`](https://codemirror.net/6/docs/ref/#autocomplete.clearSnippet).
*/
var snippetKeymap = exports.snippetKeymap = /*@__PURE__*/_state.Facet.define({
  combine: function combine(maps) {
    return maps.length ? maps[0] : defaultSnippetKeymap;
  }
});
var addSnippetKeymap = /*@__PURE__*/_state.Prec.highest( /*@__PURE__*/_view.keymap.compute([snippetKeymap], function (state) {
  return state.facet(snippetKeymap);
}));
/**
Create a completion from a snippet. Returns an object with the
properties from `completion`, plus an `apply` function that
applies the snippet.
*/
function snippetCompletion(template, completion) {
  return Object.assign(Object.assign({}, completion), {
    apply: snippet(template)
  });
}
var snippetPointerHandler = /*@__PURE__*/_view.EditorView.domEventHandlers({
  mousedown: function mousedown(event, view) {
    var active = view.state.field(snippetState, false),
      pos;
    if (!active || (pos = view.posAtCoords({
      x: event.clientX,
      y: event.clientY
    })) == null) return false;
    var match = active.ranges.find(function (r) {
      return r.from <= pos && r.to >= pos;
    });
    if (!match || match.field == active.active) return false;
    view.dispatch({
      selection: fieldSelection(active.ranges, match.field),
      effects: setActive.of(active.ranges.some(function (r) {
        return r.field > match.field;
      }) ? new ActiveSnippet(active.ranges, match.field) : null),
      scrollIntoView: true
    });
    return true;
  }
});
function wordRE(wordChars) {
  var escaped = wordChars.replace(/[\]\-\\]/g, "\\$&");
  try {
    return new RegExp("[\\p{Alphabetic}\\p{Number}_".concat(escaped, "]+"), "ug");
  } catch (_a) {
    return new RegExp("[w".concat(escaped, "]"), "g");
  }
}
function mapRE(re, f) {
  return new RegExp(f(re.source), re.unicode ? "u" : "");
}
var wordCaches = /*@__PURE__*/Object.create(null);
function wordCache(wordChars) {
  return wordCaches[wordChars] || (wordCaches[wordChars] = new WeakMap());
}
function storeWords(doc, wordRE, result, seen, ignoreAt) {
  for (var lines = doc.iterLines(), pos = 0; !lines.next().done;) {
    var value = lines.value,
      m = void 0;
    wordRE.lastIndex = 0;
    while (m = wordRE.exec(value)) {
      if (!seen[m[0]] && pos + m.index != ignoreAt) {
        result.push({
          type: "text",
          label: m[0]
        });
        seen[m[0]] = true;
        if (result.length >= 2000 /* C.MaxList */) return;
      }
    }
    pos += value.length + 1;
  }
}
function collectWords(doc, cache, wordRE, to, ignoreAt) {
  var big = doc.length >= 1000 /* C.MinCacheLen */;
  var cached = big && cache.get(doc);
  if (cached) return cached;
  var result = [],
    seen = Object.create(null);
  if (doc.children) {
    var pos = 0;
    var _iterator27 = _createForOfIteratorHelper(doc.children),
      _step27;
    try {
      for (_iterator27.s(); !(_step27 = _iterator27.n()).done;) {
        var ch = _step27.value;
        if (ch.length >= 1000 /* C.MinCacheLen */) {
          var _iterator28 = _createForOfIteratorHelper(collectWords(ch, cache, wordRE, to - pos, ignoreAt - pos)),
            _step28;
          try {
            for (_iterator28.s(); !(_step28 = _iterator28.n()).done;) {
              var c = _step28.value;
              if (!seen[c.label]) {
                seen[c.label] = true;
                result.push(c);
              }
            }
          } catch (err) {
            _iterator28.e(err);
          } finally {
            _iterator28.f();
          }
        } else {
          storeWords(ch, wordRE, result, seen, ignoreAt - pos);
        }
        pos += ch.length + 1;
      }
    } catch (err) {
      _iterator27.e(err);
    } finally {
      _iterator27.f();
    }
  } else {
    storeWords(doc, wordRE, result, seen, ignoreAt);
  }
  if (big && result.length < 2000 /* C.MaxList */) cache.set(doc, result);
  return result;
}
/**
A completion source that will scan the document for words (using a
[character categorizer](https://codemirror.net/6/docs/ref/#state.EditorState.charCategorizer)), and
return those as completions.
*/
var completeAnyWord = exports.completeAnyWord = function completeAnyWord(context) {
  var wordChars = context.state.languageDataAt("wordChars", context.pos).join("");
  var re = wordRE(wordChars);
  var token = context.matchBefore(mapRE(re, function (s) {
    return s + "$";
  }));
  if (!token && !context.explicit) return null;
  var from = token ? token.from : context.pos;
  var options = collectWords(context.state.doc, wordCache(wordChars), re, 50000 /* C.Range */, from);
  return {
    from: from,
    options: options,
    validFor: mapRE(re, function (s) {
      return "^" + s;
    })
  };
};
var defaults = {
  brackets: ["(", "[", "{", "'", '"'],
  before: ")]}:;>",
  stringPrefixes: []
};
var closeBracketEffect = /*@__PURE__*/_state.StateEffect.define({
  map: function map(value, mapping) {
    var mapped = mapping.mapPos(value, -1, _state.MapMode.TrackAfter);
    return mapped == null ? undefined : mapped;
  }
});
var closedBracket = /*@__PURE__*/new ( /*#__PURE__*/function (_RangeValue) {
  function _class3() {
    _classCallCheck(this, _class3);
    return _callSuper(this, _class3, arguments);
  }
  _inherits(_class3, _RangeValue);
  return _createClass(_class3);
}(_state.RangeValue))();
closedBracket.startSide = 1;
closedBracket.endSide = -1;
var bracketState = /*@__PURE__*/_state.StateField.define({
  create: function create() {
    return _state.RangeSet.empty;
  },
  update: function update(value, tr) {
    value = value.map(tr.changes);
    if (tr.selection) {
      var line = tr.state.doc.lineAt(tr.selection.main.head);
      value = value.update({
        filter: function filter(from) {
          return from >= line.from && from <= line.to;
        }
      });
    }
    var _iterator29 = _createForOfIteratorHelper(tr.effects),
      _step29;
    try {
      for (_iterator29.s(); !(_step29 = _iterator29.n()).done;) {
        var effect = _step29.value;
        if (effect.is(closeBracketEffect)) value = value.update({
          add: [closedBracket.range(effect.value, effect.value + 1)]
        });
      }
    } catch (err) {
      _iterator29.e(err);
    } finally {
      _iterator29.f();
    }
    return value;
  }
});
/**
Extension to enable bracket-closing behavior. When a closeable
bracket is typed, its closing bracket is immediately inserted
after the cursor. When closing a bracket directly in front of a
closing bracket inserted by the extension, the cursor moves over
that bracket.
*/
function closeBrackets() {
  return [inputHandler, bracketState];
}
var definedClosing = "()[]{}<>";
function closing(ch) {
  for (var i = 0; i < definedClosing.length; i += 2) if (definedClosing.charCodeAt(i) == ch) return definedClosing.charAt(i + 1);
  return (0, _state.fromCodePoint)(ch < 128 ? ch : ch + 1);
}
function config(state, pos) {
  return state.languageDataAt("closeBrackets", pos)[0] || defaults;
}
var android = (typeof navigator === "undefined" ? "undefined" : _typeof(navigator)) == "object" && /*@__PURE__*/ /Android\b/.test(navigator.userAgent);
var inputHandler = /*@__PURE__*/_view.EditorView.inputHandler.of(function (view, from, to, insert) {
  if ((android ? view.composing : view.compositionStarted) || view.state.readOnly) return false;
  var sel = view.state.selection.main;
  if (insert.length > 2 || insert.length == 2 && (0, _state.codePointSize)((0, _state.codePointAt)(insert, 0)) == 1 || from != sel.from || to != sel.to) return false;
  var tr = insertBracket(view.state, insert);
  if (!tr) return false;
  view.dispatch(tr);
  return true;
});
/**
Command that implements deleting a pair of matching brackets when
the cursor is between them.
*/
var deleteBracketPair = exports.deleteBracketPair = function deleteBracketPair(_ref5) {
  var state = _ref5.state,
    dispatch = _ref5.dispatch;
  if (state.readOnly) return false;
  var conf = config(state, state.selection.main.head);
  var tokens = conf.brackets || defaults.brackets;
  var dont = null,
    changes = state.changeByRange(function (range) {
      if (range.empty) {
        var before = prevChar(state.doc, range.head);
        var _iterator30 = _createForOfIteratorHelper(tokens),
          _step30;
        try {
          for (_iterator30.s(); !(_step30 = _iterator30.n()).done;) {
            var token = _step30.value;
            if (token == before && nextChar(state.doc, range.head) == closing((0, _state.codePointAt)(token, 0))) return {
              changes: {
                from: range.head - token.length,
                to: range.head + token.length
              },
              range: _state.EditorSelection.cursor(range.head - token.length)
            };
          }
        } catch (err) {
          _iterator30.e(err);
        } finally {
          _iterator30.f();
        }
      }
      return {
        range: dont = range
      };
    });
  if (!dont) dispatch(state.update(changes, {
    scrollIntoView: true,
    userEvent: "delete.backward"
  }));
  return !dont;
};
/**
Close-brackets related key bindings. Binds Backspace to
[`deleteBracketPair`](https://codemirror.net/6/docs/ref/#autocomplete.deleteBracketPair).
*/
var closeBracketsKeymap = exports.closeBracketsKeymap = [{
  key: "Backspace",
  run: deleteBracketPair
}];
/**
Implements the extension's behavior on text insertion. If the
given string counts as a bracket in the language around the
selection, and replacing the selection with it requires custom
behavior (inserting a closing version or skipping past a
previously-closed bracket), this function returns a transaction
representing that custom behavior. (You only need this if you want
to programmatically insert brackets—the
[`closeBrackets`](https://codemirror.net/6/docs/ref/#autocomplete.closeBrackets) extension will
take care of running this for user input.)
*/
function insertBracket(state, bracket) {
  var conf = config(state, state.selection.main.head);
  var tokens = conf.brackets || defaults.brackets;
  var _iterator31 = _createForOfIteratorHelper(tokens),
    _step31;
  try {
    for (_iterator31.s(); !(_step31 = _iterator31.n()).done;) {
      var tok = _step31.value;
      var closed = closing((0, _state.codePointAt)(tok, 0));
      if (bracket == tok) return closed == tok ? handleSame(state, tok, tokens.indexOf(tok + tok + tok) > -1, conf) : handleOpen(state, tok, closed, conf.before || defaults.before);
      if (bracket == closed && closedBracketAt(state, state.selection.main.from)) return handleClose(state, tok, closed);
    }
  } catch (err) {
    _iterator31.e(err);
  } finally {
    _iterator31.f();
  }
  return null;
}
function closedBracketAt(state, pos) {
  var found = false;
  state.field(bracketState).between(0, state.doc.length, function (from) {
    if (from == pos) found = true;
  });
  return found;
}
function nextChar(doc, pos) {
  var next = doc.sliceString(pos, pos + 2);
  return next.slice(0, (0, _state.codePointSize)((0, _state.codePointAt)(next, 0)));
}
function prevChar(doc, pos) {
  var prev = doc.sliceString(pos - 2, pos);
  return (0, _state.codePointSize)((0, _state.codePointAt)(prev, 0)) == prev.length ? prev : prev.slice(1);
}
function handleOpen(state, open, close, closeBefore) {
  var dont = null,
    changes = state.changeByRange(function (range) {
      if (!range.empty) return {
        changes: [{
          insert: open,
          from: range.from
        }, {
          insert: close,
          from: range.to
        }],
        effects: closeBracketEffect.of(range.to + open.length),
        range: _state.EditorSelection.range(range.anchor + open.length, range.head + open.length)
      };
      var next = nextChar(state.doc, range.head);
      if (!next || /\s/.test(next) || closeBefore.indexOf(next) > -1) return {
        changes: {
          insert: open + close,
          from: range.head
        },
        effects: closeBracketEffect.of(range.head + open.length),
        range: _state.EditorSelection.cursor(range.head + open.length)
      };
      return {
        range: dont = range
      };
    });
  return dont ? null : state.update(changes, {
    scrollIntoView: true,
    userEvent: "input.type"
  });
}
function handleClose(state, _open, close) {
  var dont = null,
    changes = state.changeByRange(function (range) {
      if (range.empty && nextChar(state.doc, range.head) == close) return {
        changes: {
          from: range.head,
          to: range.head + close.length,
          insert: close
        },
        range: _state.EditorSelection.cursor(range.head + close.length)
      };
      return dont = {
        range: range
      };
    });
  return dont ? null : state.update(changes, {
    scrollIntoView: true,
    userEvent: "input.type"
  });
}
// Handles cases where the open and close token are the same, and
// possibly triple quotes (as in `"""abc"""`-style quoting).
function handleSame(state, token, allowTriple, config) {
  var stringPrefixes = config.stringPrefixes || defaults.stringPrefixes;
  var dont = null,
    changes = state.changeByRange(function (range) {
      if (!range.empty) return {
        changes: [{
          insert: token,
          from: range.from
        }, {
          insert: token,
          from: range.to
        }],
        effects: closeBracketEffect.of(range.to + token.length),
        range: _state.EditorSelection.range(range.anchor + token.length, range.head + token.length)
      };
      var pos = range.head,
        next = nextChar(state.doc, pos),
        start;
      if (next == token) {
        if (nodeStart(state, pos)) {
          return {
            changes: {
              insert: token + token,
              from: pos
            },
            effects: closeBracketEffect.of(pos + token.length),
            range: _state.EditorSelection.cursor(pos + token.length)
          };
        } else if (closedBracketAt(state, pos)) {
          var isTriple = allowTriple && state.sliceDoc(pos, pos + token.length * 3) == token + token + token;
          var content = isTriple ? token + token + token : token;
          return {
            changes: {
              from: pos,
              to: pos + content.length,
              insert: content
            },
            range: _state.EditorSelection.cursor(pos + content.length)
          };
        }
      } else if (allowTriple && state.sliceDoc(pos - 2 * token.length, pos) == token + token && (start = canStartStringAt(state, pos - 2 * token.length, stringPrefixes)) > -1 && nodeStart(state, start)) {
        return {
          changes: {
            insert: token + token + token + token,
            from: pos
          },
          effects: closeBracketEffect.of(pos + token.length),
          range: _state.EditorSelection.cursor(pos + token.length)
        };
      } else if (state.charCategorizer(pos)(next) != _state.CharCategory.Word) {
        if (canStartStringAt(state, pos, stringPrefixes) > -1 && !probablyInString(state, pos, token, stringPrefixes)) return {
          changes: {
            insert: token + token,
            from: pos
          },
          effects: closeBracketEffect.of(pos + token.length),
          range: _state.EditorSelection.cursor(pos + token.length)
        };
      }
      return {
        range: dont = range
      };
    });
  return dont ? null : state.update(changes, {
    scrollIntoView: true,
    userEvent: "input.type"
  });
}
function nodeStart(state, pos) {
  var tree = (0, _language.syntaxTree)(state).resolveInner(pos + 1);
  return tree.parent && tree.from == pos;
}
function probablyInString(state, pos, quoteToken, prefixes) {
  var node = (0, _language.syntaxTree)(state).resolveInner(pos, -1);
  var maxPrefix = prefixes.reduce(function (m, p) {
    return Math.max(m, p.length);
  }, 0);
  for (var i = 0; i < 5; i++) {
    var start = state.sliceDoc(node.from, Math.min(node.to, node.from + quoteToken.length + maxPrefix));
    var quotePos = start.indexOf(quoteToken);
    if (!quotePos || quotePos > -1 && prefixes.indexOf(start.slice(0, quotePos)) > -1) {
      var first = node.firstChild;
      while (first && first.from == node.from && first.to - first.from > quoteToken.length + quotePos) {
        if (state.sliceDoc(first.to - quoteToken.length, first.to) == quoteToken) return false;
        first = first.firstChild;
      }
      return true;
    }
    var parent = node.to == pos && node.parent;
    if (!parent) break;
    node = parent;
  }
  return false;
}
function canStartStringAt(state, pos, prefixes) {
  var charCat = state.charCategorizer(pos);
  if (charCat(state.sliceDoc(pos - 1, pos)) != _state.CharCategory.Word) return pos;
  var _iterator32 = _createForOfIteratorHelper(prefixes),
    _step32;
  try {
    for (_iterator32.s(); !(_step32 = _iterator32.n()).done;) {
      var prefix = _step32.value;
      var start = pos - prefix.length;
      if (state.sliceDoc(start, pos) == prefix && charCat(state.sliceDoc(start - 1, start)) != _state.CharCategory.Word) return start;
    }
  } catch (err) {
    _iterator32.e(err);
  } finally {
    _iterator32.f();
  }
  return -1;
}

/**
Returns an extension that enables autocompletion.
*/
function autocompletion() {
  var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
  return [commitCharacters, completionState, completionConfig.of(config), completionPlugin, completionKeymapExt, baseTheme];
}
/**
Basic keybindings for autocompletion.

 - Ctrl-Space: [`startCompletion`](https://codemirror.net/6/docs/ref/#autocomplete.startCompletion)
 - Escape: [`closeCompletion`](https://codemirror.net/6/docs/ref/#autocomplete.closeCompletion)
 - ArrowDown: [`moveCompletionSelection`](https://codemirror.net/6/docs/ref/#autocomplete.moveCompletionSelection)`(true)`
 - ArrowUp: [`moveCompletionSelection`](https://codemirror.net/6/docs/ref/#autocomplete.moveCompletionSelection)`(false)`
 - PageDown: [`moveCompletionSelection`](https://codemirror.net/6/docs/ref/#autocomplete.moveCompletionSelection)`(true, "page")`
 - PageDown: [`moveCompletionSelection`](https://codemirror.net/6/docs/ref/#autocomplete.moveCompletionSelection)`(true, "page")`
 - Enter: [`acceptCompletion`](https://codemirror.net/6/docs/ref/#autocomplete.acceptCompletion)
*/
var completionKeymap = exports.completionKeymap = [{
  key: "Ctrl-Space",
  run: startCompletion
}, {
  key: "Escape",
  run: closeCompletion
}, {
  key: "ArrowDown",
  run: /*@__PURE__*/moveCompletionSelection(true)
}, {
  key: "ArrowUp",
  run: /*@__PURE__*/moveCompletionSelection(false)
}, {
  key: "PageDown",
  run: /*@__PURE__*/moveCompletionSelection(true, "page")
}, {
  key: "PageUp",
  run: /*@__PURE__*/moveCompletionSelection(false, "page")
}, {
  key: "Enter",
  run: acceptCompletion
}, {
  key: "Tab",
  run: acceptCompletion
}];
var completionKeymapExt = /*@__PURE__*/_state.Prec.highest( /*@__PURE__*/_view.keymap.computeN([completionConfig], function (state) {
  return state.facet(completionConfig).defaultKeymap ? [completionKeymap] : [];
}));
/**
Get the current completion status. When completions are available,
this will return `"active"`. When completions are pending (in the
process of being queried), this returns `"pending"`. Otherwise, it
returns `null`.
*/
function completionStatus(state) {
  var cState = state.field(completionState, false);
  return cState && cState.active.some(function (a) {
    return a.state == 1;
  } /* State.Pending */) ? "pending" : cState && cState.active.some(function (a) {
    return a.state != 0;
  } /* State.Inactive */) ? "active" : null;
}
var completionArrayCache = /*@__PURE__*/new WeakMap();
/**
Returns the available completions as an array.
*/
function currentCompletions(state) {
  var _a;
  var open = (_a = state.field(completionState, false)) === null || _a === void 0 ? void 0 : _a.open;
  if (!open || open.disabled) return [];
  var completions = completionArrayCache.get(open.options);
  if (!completions) completionArrayCache.set(open.options, completions = open.options.map(function (o) {
    return o.completion;
  }));
  return completions;
}
/**
Return the currently selected completion, if any.
*/
function selectedCompletion(state) {
  var _a;
  var open = (_a = state.field(completionState, false)) === null || _a === void 0 ? void 0 : _a.open;
  return open && !open.disabled && open.selected >= 0 ? open.options[open.selected].completion : null;
}
/**
Returns the currently selected position in the active completion
list, or null if no completions are active.
*/
function selectedCompletionIndex(state) {
  var _a;
  var open = (_a = state.field(completionState, false)) === null || _a === void 0 ? void 0 : _a.open;
  return open && !open.disabled && open.selected >= 0 ? open.selected : null;
}
/**
Create an effect that can be attached to a transaction to change
the currently selected completion.
*/
function setSelectedCompletion(index) {
  return setSelectedEffect.of(index);
}

},{"@codemirror/language":6,"@codemirror/state":9,"@codemirror/view":10}],4:[function(require,module,exports){
"use strict";

function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.emacsStyleKeymap = exports.deleteTrailingWhitespace = exports.deleteToLineStart = exports.deleteToLineEnd = exports.deleteLineBoundaryForward = exports.deleteLineBoundaryBackward = exports.deleteLine = exports.deleteGroupForward = exports.deleteGroupBackward = exports.deleteCharForward = exports.deleteCharBackward = exports.defaultKeymap = exports.cursorSyntaxRight = exports.cursorSyntaxLeft = exports.cursorSubwordForward = exports.cursorSubwordBackward = exports.cursorPageUp = exports.cursorPageDown = exports.cursorMatchingBracket = exports.cursorLineUp = exports.cursorLineStart = exports.cursorLineEnd = exports.cursorLineDown = exports.cursorLineBoundaryRight = exports.cursorLineBoundaryLeft = exports.cursorLineBoundaryForward = exports.cursorLineBoundaryBackward = exports.cursorGroupRight = exports.cursorGroupLeft = exports.cursorGroupForward = exports.cursorGroupBackward = exports.cursorDocStart = exports.cursorDocEnd = exports.cursorCharRight = exports.cursorCharLeft = exports.cursorCharForward = exports.cursorCharBackward = exports.copyLineUp = exports.copyLineDown = exports.blockUncomment = exports.blockComment = void 0;
exports.history = history;
exports.undoSelection = exports.undoDepth = exports.undo = exports.transposeChars = exports.toggleLineComment = exports.toggleComment = exports.toggleBlockCommentByLine = exports.toggleBlockComment = exports.standardKeymap = exports.splitLine = exports.simplifySelection = exports.selectSyntaxRight = exports.selectSyntaxLeft = exports.selectSubwordForward = exports.selectSubwordBackward = exports.selectParentSyntax = exports.selectPageUp = exports.selectPageDown = exports.selectMatchingBracket = exports.selectLineUp = exports.selectLineStart = exports.selectLineEnd = exports.selectLineDown = exports.selectLineBoundaryRight = exports.selectLineBoundaryLeft = exports.selectLineBoundaryForward = exports.selectLineBoundaryBackward = exports.selectLine = exports.selectGroupRight = exports.selectGroupLeft = exports.selectGroupForward = exports.selectGroupBackward = exports.selectDocStart = exports.selectDocEnd = exports.selectCharRight = exports.selectCharLeft = exports.selectCharForward = exports.selectCharBackward = exports.selectAll = exports.redoSelection = exports.redoDepth = exports.redo = exports.moveLineUp = exports.moveLineDown = exports.lineUncomment = exports.lineComment = exports.isolateHistory = exports.invertedEffects = exports.insertTab = exports.insertNewlineAndIndent = exports.insertNewline = exports.insertBlankLine = exports.indentWithTab = exports.indentSelection = exports.indentMore = exports.indentLess = exports.historyKeymap = exports.historyField = void 0;
var _state = require("@codemirror/state");
var _view = require("@codemirror/view");
var _language = require("@codemirror/language");
var _common = require("@lezer/common");
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
/**
Comment or uncomment the current selection. Will use line comments
if available, otherwise falling back to block comments.
*/
var toggleComment = exports.toggleComment = function toggleComment(target) {
  var state = target.state,
    line = state.doc.lineAt(state.selection.main.from),
    config = getConfig(target.state, line.from);
  return config.line ? toggleLineComment(target) : config.block ? toggleBlockCommentByLine(target) : false;
};
function command(f, option) {
  return function (_ref) {
    var state = _ref.state,
      dispatch = _ref.dispatch;
    if (state.readOnly) return false;
    var tr = f(option, state);
    if (!tr) return false;
    dispatch(state.update(tr));
    return true;
  };
}
/**
Comment or uncomment the current selection using line comments.
The line comment syntax is taken from the
[`commentTokens`](https://codemirror.net/6/docs/ref/#commands.CommentTokens) [language
data](https://codemirror.net/6/docs/ref/#state.EditorState.languageDataAt).
*/
var toggleLineComment = exports.toggleLineComment = /*@__PURE__*/command(changeLineComment, 0 /* CommentOption.Toggle */);
/**
Comment the current selection using line comments.
*/
var lineComment = exports.lineComment = /*@__PURE__*/command(changeLineComment, 1 /* CommentOption.Comment */);
/**
Uncomment the current selection using line comments.
*/
var lineUncomment = exports.lineUncomment = /*@__PURE__*/command(changeLineComment, 2 /* CommentOption.Uncomment */);
/**
Comment or uncomment the current selection using block comments.
The block comment syntax is taken from the
[`commentTokens`](https://codemirror.net/6/docs/ref/#commands.CommentTokens) [language
data](https://codemirror.net/6/docs/ref/#state.EditorState.languageDataAt).
*/
var toggleBlockComment = exports.toggleBlockComment = /*@__PURE__*/command(changeBlockComment, 0 /* CommentOption.Toggle */);
/**
Comment the current selection using block comments.
*/
var blockComment = exports.blockComment = /*@__PURE__*/command(changeBlockComment, 1 /* CommentOption.Comment */);
/**
Uncomment the current selection using block comments.
*/
var blockUncomment = exports.blockUncomment = /*@__PURE__*/command(changeBlockComment, 2 /* CommentOption.Uncomment */);
/**
Comment or uncomment the lines around the current selection using
block comments.
*/
var toggleBlockCommentByLine = exports.toggleBlockCommentByLine = /*@__PURE__*/command(function (o, s) {
  return changeBlockComment(o, s, selectedLineRanges(s));
}, 0 /* CommentOption.Toggle */);
function getConfig(state, pos) {
  var data = state.languageDataAt("commentTokens", pos);
  return data.length ? data[0] : {};
}
var SearchMargin = 50;
/**
Determines if the given range is block-commented in the given
state.
*/
function findBlockComment(state, _ref2, from, to) {
  var open = _ref2.open,
    close = _ref2.close;
  var textBefore = state.sliceDoc(from - SearchMargin, from);
  var textAfter = state.sliceDoc(to, to + SearchMargin);
  var spaceBefore = /\s*$/.exec(textBefore)[0].length,
    spaceAfter = /^\s*/.exec(textAfter)[0].length;
  var beforeOff = textBefore.length - spaceBefore;
  if (textBefore.slice(beforeOff - open.length, beforeOff) == open && textAfter.slice(spaceAfter, spaceAfter + close.length) == close) {
    return {
      open: {
        pos: from - spaceBefore,
        margin: spaceBefore && 1
      },
      close: {
        pos: to + spaceAfter,
        margin: spaceAfter && 1
      }
    };
  }
  var startText, endText;
  if (to - from <= 2 * SearchMargin) {
    startText = endText = state.sliceDoc(from, to);
  } else {
    startText = state.sliceDoc(from, from + SearchMargin);
    endText = state.sliceDoc(to - SearchMargin, to);
  }
  var startSpace = /^\s*/.exec(startText)[0].length,
    endSpace = /\s*$/.exec(endText)[0].length;
  var endOff = endText.length - endSpace - close.length;
  if (startText.slice(startSpace, startSpace + open.length) == open && endText.slice(endOff, endOff + close.length) == close) {
    return {
      open: {
        pos: from + startSpace + open.length,
        margin: /\s/.test(startText.charAt(startSpace + open.length)) ? 1 : 0
      },
      close: {
        pos: to - endSpace - close.length,
        margin: /\s/.test(endText.charAt(endOff - 1)) ? 1 : 0
      }
    };
  }
  return null;
}
function selectedLineRanges(state) {
  var ranges = [];
  var _iterator = _createForOfIteratorHelper(state.selection.ranges),
    _step;
  try {
    for (_iterator.s(); !(_step = _iterator.n()).done;) {
      var r = _step.value;
      var fromLine = state.doc.lineAt(r.from);
      var toLine = r.to <= fromLine.to ? fromLine : state.doc.lineAt(r.to);
      var last = ranges.length - 1;
      if (last >= 0 && ranges[last].to > fromLine.from) ranges[last].to = toLine.to;else ranges.push({
        from: fromLine.from + /^\s*/.exec(fromLine.text)[0].length,
        to: toLine.to
      });
    }
  } catch (err) {
    _iterator.e(err);
  } finally {
    _iterator.f();
  }
  return ranges;
}
// Performs toggle, comment and uncomment of block comments in
// languages that support them.
function changeBlockComment(option, state) {
  var ranges = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : state.selection.ranges;
  var tokens = ranges.map(function (r) {
    return getConfig(state, r.from).block;
  });
  if (!tokens.every(function (c) {
    return c;
  })) return null;
  var comments = ranges.map(function (r, i) {
    return findBlockComment(state, tokens[i], r.from, r.to);
  });
  if (option != 2 /* CommentOption.Uncomment */ && !comments.every(function (c) {
    return c;
  })) {
    return {
      changes: state.changes(ranges.map(function (range, i) {
        if (comments[i]) return [];
        return [{
          from: range.from,
          insert: tokens[i].open + " "
        }, {
          from: range.to,
          insert: " " + tokens[i].close
        }];
      }))
    };
  } else if (option != 1 /* CommentOption.Comment */ && comments.some(function (c) {
    return c;
  })) {
    var changes = [];
    for (var i = 0, comment; i < comments.length; i++) if (comment = comments[i]) {
      var token = tokens[i],
        _comment = comment,
        open = _comment.open,
        close = _comment.close;
      changes.push({
        from: open.pos - token.open.length,
        to: open.pos + open.margin
      }, {
        from: close.pos - close.margin,
        to: close.pos + token.close.length
      });
    }
    return {
      changes: changes
    };
  }
  return null;
}
// Performs toggle, comment and uncomment of line comments.
function changeLineComment(option, state) {
  var ranges = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : state.selection.ranges;
  var lines = [];
  var prevLine = -1;
  var _iterator2 = _createForOfIteratorHelper(ranges),
    _step2;
  try {
    for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
      var _step2$value = _step2.value,
        _from = _step2$value.from,
        _to = _step2$value.to;
      var startI = lines.length,
        minIndent = 1e9;
      var _token2 = getConfig(state, _from).line;
      if (!_token2) continue;
      for (var pos = _from; pos <= _to;) {
        var _line2 = state.doc.lineAt(pos);
        if (_line2.from > prevLine && (_from == _to || _to > _line2.from)) {
          prevLine = _line2.from;
          var _indent = /^\s*/.exec(_line2.text)[0].length;
          var _empty = _indent == _line2.length;
          var _comment2 = _line2.text.slice(_indent, _indent + _token2.length) == _token2 ? _indent : -1;
          if (_indent < _line2.text.length && _indent < minIndent) minIndent = _indent;
          lines.push({
            line: _line2,
            comment: _comment2,
            token: _token2,
            indent: _indent,
            empty: _empty,
            single: false
          });
        }
        pos = _line2.to + 1;
      }
      if (minIndent < 1e9) for (var i = startI; i < lines.length; i++) if (lines[i].indent < lines[i].line.text.length) lines[i].indent = minIndent;
      if (lines.length == startI + 1) lines[startI].single = true;
    }
  } catch (err) {
    _iterator2.e(err);
  } finally {
    _iterator2.f();
  }
  if (option != 2 /* CommentOption.Uncomment */ && lines.some(function (l) {
    return l.comment < 0 && (!l.empty || l.single);
  })) {
    var changes = [];
    var _iterator3 = _createForOfIteratorHelper(lines),
      _step3;
    try {
      for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
        var _step3$value = _step3.value,
          line = _step3$value.line,
          token = _step3$value.token,
          indent = _step3$value.indent,
          empty = _step3$value.empty,
          single = _step3$value.single;
        if (single || !empty) changes.push({
          from: line.from + indent,
          insert: token + " "
        });
      }
    } catch (err) {
      _iterator3.e(err);
    } finally {
      _iterator3.f();
    }
    var changeSet = state.changes(changes);
    return {
      changes: changeSet,
      selection: state.selection.map(changeSet, 1)
    };
  } else if (option != 1 /* CommentOption.Comment */ && lines.some(function (l) {
    return l.comment >= 0;
  })) {
    var _changes = [];
    var _iterator4 = _createForOfIteratorHelper(lines),
      _step4;
    try {
      for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
        var _step4$value = _step4.value,
          _line = _step4$value.line,
          comment = _step4$value.comment,
          _token = _step4$value.token;
        if (comment >= 0) {
          var from = _line.from + comment,
            to = from + _token.length;
          if (_line.text[to - _line.from] == " ") to++;
          _changes.push({
            from: from,
            to: to
          });
        }
      }
    } catch (err) {
      _iterator4.e(err);
    } finally {
      _iterator4.f();
    }
    return {
      changes: _changes
    };
  }
  return null;
}
var fromHistory = /*@__PURE__*/_state.Annotation.define();
/**
Transaction annotation that will prevent that transaction from
being combined with other transactions in the undo history. Given
`"before"`, it'll prevent merging with previous transactions. With
`"after"`, subsequent transactions won't be combined with this
one. With `"full"`, the transaction is isolated on both sides.
*/
var isolateHistory = exports.isolateHistory = /*@__PURE__*/_state.Annotation.define();
/**
This facet provides a way to register functions that, given a
transaction, provide a set of effects that the history should
store when inverting the transaction. This can be used to
integrate some kinds of effects in the history, so that they can
be undone (and redone again).
*/
var invertedEffects = exports.invertedEffects = /*@__PURE__*/_state.Facet.define();
var historyConfig = /*@__PURE__*/_state.Facet.define({
  combine: function combine(configs) {
    return (0, _state.combineConfig)(configs, {
      minDepth: 100,
      newGroupDelay: 500,
      joinToEvent: function joinToEvent(_t, isAdjacent) {
        return isAdjacent;
      }
    }, {
      minDepth: Math.max,
      newGroupDelay: Math.min,
      joinToEvent: function joinToEvent(a, b) {
        return function (tr, adj) {
          return a(tr, adj) || b(tr, adj);
        };
      }
    });
  }
});
var historyField_ = /*@__PURE__*/_state.StateField.define({
  create: function create() {
    return HistoryState.empty;
  },
  update: function update(state, tr) {
    var config = tr.state.facet(historyConfig);
    var fromHist = tr.annotation(fromHistory);
    if (fromHist) {
      var item = HistEvent.fromTransaction(tr, fromHist.selection),
        from = fromHist.side;
      var other = from == 0 /* BranchName.Done */ ? state.undone : state.done;
      if (item) other = updateBranch(other, other.length, config.minDepth, item);else other = _addSelection(other, tr.startState.selection);
      return new HistoryState(from == 0 /* BranchName.Done */ ? fromHist.rest : other, from == 0 /* BranchName.Done */ ? other : fromHist.rest);
    }
    var isolate = tr.annotation(isolateHistory);
    if (isolate == "full" || isolate == "before") state = state.isolate();
    if (tr.annotation(_state.Transaction.addToHistory) === false) return !tr.changes.empty ? state.addMapping(tr.changes.desc) : state;
    var event = HistEvent.fromTransaction(tr);
    var time = tr.annotation(_state.Transaction.time),
      userEvent = tr.annotation(_state.Transaction.userEvent);
    if (event) state = state.addChanges(event, time, userEvent, config, tr);else if (tr.selection) state = state.addSelection(tr.startState.selection, time, userEvent, config.newGroupDelay);
    if (isolate == "full" || isolate == "after") state = state.isolate();
    return state;
  },
  toJSON: function toJSON(value) {
    return {
      done: value.done.map(function (e) {
        return e.toJSON();
      }),
      undone: value.undone.map(function (e) {
        return e.toJSON();
      })
    };
  },
  fromJSON: function fromJSON(json) {
    return new HistoryState(json.done.map(HistEvent.fromJSON), json.undone.map(HistEvent.fromJSON));
  }
});
/**
Create a history extension with the given configuration.
*/
function history() {
  var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
  return [historyField_, historyConfig.of(config), _view.EditorView.domEventHandlers({
    beforeinput: function beforeinput(e, view) {
      var command = e.inputType == "historyUndo" ? undo : e.inputType == "historyRedo" ? redo : null;
      if (!command) return false;
      e.preventDefault();
      return command(view);
    }
  })];
}
/**
The state field used to store the history data. Should probably
only be used when you want to
[serialize](https://codemirror.net/6/docs/ref/#state.EditorState.toJSON) or
[deserialize](https://codemirror.net/6/docs/ref/#state.EditorState^fromJSON) state objects in a way
that preserves history.
*/
var historyField = exports.historyField = historyField_;
function cmd(side, selection) {
  return function (_ref3) {
    var state = _ref3.state,
      dispatch = _ref3.dispatch;
    if (!selection && state.readOnly) return false;
    var historyState = state.field(historyField_, false);
    if (!historyState) return false;
    var tr = historyState.pop(side, state, selection);
    if (!tr) return false;
    dispatch(tr);
    return true;
  };
}
/**
Undo a single group of history events. Returns false if no group
was available.
*/
var undo = exports.undo = /*@__PURE__*/cmd(0 /* BranchName.Done */, false);
/**
Redo a group of history events. Returns false if no group was
available.
*/
var redo = exports.redo = /*@__PURE__*/cmd(1 /* BranchName.Undone */, false);
/**
Undo a change or selection change.
*/
var undoSelection = exports.undoSelection = /*@__PURE__*/cmd(0 /* BranchName.Done */, true);
/**
Redo a change or selection change.
*/
var redoSelection = exports.redoSelection = /*@__PURE__*/cmd(1 /* BranchName.Undone */, true);
function depth(side) {
  return function (state) {
    var histState = state.field(historyField_, false);
    if (!histState) return 0;
    var branch = side == 0 /* BranchName.Done */ ? histState.done : histState.undone;
    return branch.length - (branch.length && !branch[0].changes ? 1 : 0);
  };
}
/**
The amount of undoable change events available in a given state.
*/
var undoDepth = exports.undoDepth = /*@__PURE__*/depth(0 /* BranchName.Done */);
/**
The amount of redoable change events available in a given state.
*/
var redoDepth = exports.redoDepth = /*@__PURE__*/depth(1 /* BranchName.Undone */);
// History events store groups of changes or effects that need to be
// undone/redone together.
var HistEvent = /*#__PURE__*/function () {
  function HistEvent(
  // The changes in this event. Normal events hold at least one
  // change or effect. But it may be necessary to store selection
  // events before the first change, in which case a special type of
  // instance is created which doesn't hold any changes, with
  // changes == startSelection == undefined
  changes,
  // The effects associated with this event
  effects,
  // Accumulated mapping (from addToHistory==false) that should be
  // applied to events below this one.
  mapped,
  // The selection before this event
  startSelection,
  // Stores selection changes after this event, to be used for
  // selection undo/redo.
  selectionsAfter) {
    _classCallCheck(this, HistEvent);
    this.changes = changes;
    this.effects = effects;
    this.mapped = mapped;
    this.startSelection = startSelection;
    this.selectionsAfter = selectionsAfter;
  }
  return _createClass(HistEvent, [{
    key: "setSelAfter",
    value: function setSelAfter(after) {
      return new HistEvent(this.changes, this.effects, this.mapped, this.startSelection, after);
    }
  }, {
    key: "toJSON",
    value: function toJSON() {
      var _a, _b, _c;
      return {
        changes: (_a = this.changes) === null || _a === void 0 ? void 0 : _a.toJSON(),
        mapped: (_b = this.mapped) === null || _b === void 0 ? void 0 : _b.toJSON(),
        startSelection: (_c = this.startSelection) === null || _c === void 0 ? void 0 : _c.toJSON(),
        selectionsAfter: this.selectionsAfter.map(function (s) {
          return s.toJSON();
        })
      };
    }
  }], [{
    key: "fromJSON",
    value: function fromJSON(json) {
      return new HistEvent(json.changes && _state.ChangeSet.fromJSON(json.changes), [], json.mapped && _state.ChangeDesc.fromJSON(json.mapped), json.startSelection && _state.EditorSelection.fromJSON(json.startSelection), json.selectionsAfter.map(_state.EditorSelection.fromJSON));
    }
    // This does not check `addToHistory` and such, it assumes the
    // transaction needs to be converted to an item. Returns null when
    // there are no changes or effects in the transaction.
  }, {
    key: "fromTransaction",
    value: function fromTransaction(tr, selection) {
      var effects = none;
      var _iterator5 = _createForOfIteratorHelper(tr.startState.facet(invertedEffects)),
        _step5;
      try {
        for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
          var invert = _step5.value;
          var result = invert(tr);
          if (result.length) effects = effects.concat(result);
        }
      } catch (err) {
        _iterator5.e(err);
      } finally {
        _iterator5.f();
      }
      if (!effects.length && tr.changes.empty) return null;
      return new HistEvent(tr.changes.invert(tr.startState.doc), effects, undefined, selection || tr.startState.selection, none);
    }
  }, {
    key: "selection",
    value: function selection(selections) {
      return new HistEvent(undefined, none, undefined, undefined, selections);
    }
  }]);
}();
function updateBranch(branch, to, maxLen, newEvent) {
  var start = to + 1 > maxLen + 20 ? to - maxLen - 1 : 0;
  var newBranch = branch.slice(start, to);
  newBranch.push(newEvent);
  return newBranch;
}
function isAdjacent(a, b) {
  var ranges = [],
    isAdjacent = false;
  a.iterChangedRanges(function (f, t) {
    return ranges.push(f, t);
  });
  b.iterChangedRanges(function (_f, _t, f, t) {
    for (var i = 0; i < ranges.length;) {
      var from = ranges[i++],
        to = ranges[i++];
      if (t >= from && f <= to) isAdjacent = true;
    }
  });
  return isAdjacent;
}
function eqSelectionShape(a, b) {
  return a.ranges.length == b.ranges.length && a.ranges.filter(function (r, i) {
    return r.empty != b.ranges[i].empty;
  }).length === 0;
}
function conc(a, b) {
  return !a.length ? b : !b.length ? a : a.concat(b);
}
var none = [];
var MaxSelectionsPerEvent = 200;
function _addSelection(branch, selection) {
  if (!branch.length) {
    return [HistEvent.selection([selection])];
  } else {
    var lastEvent = branch[branch.length - 1];
    var sels = lastEvent.selectionsAfter.slice(Math.max(0, lastEvent.selectionsAfter.length - MaxSelectionsPerEvent));
    if (sels.length && sels[sels.length - 1].eq(selection)) return branch;
    sels.push(selection);
    return updateBranch(branch, branch.length - 1, 1e9, lastEvent.setSelAfter(sels));
  }
}
// Assumes the top item has one or more selectionAfter values
function popSelection(branch) {
  var last = branch[branch.length - 1];
  var newBranch = branch.slice();
  newBranch[branch.length - 1] = last.setSelAfter(last.selectionsAfter.slice(0, last.selectionsAfter.length - 1));
  return newBranch;
}
// Add a mapping to the top event in the given branch. If this maps
// away all the changes and effects in that item, drop it and
// propagate the mapping to the next item.
function addMappingToBranch(branch, mapping) {
  if (!branch.length) return branch;
  var length = branch.length,
    selections = none;
  while (length) {
    var event = mapEvent(branch[length - 1], mapping, selections);
    if (event.changes && !event.changes.empty || event.effects.length) {
      // Event survived mapping
      var result = branch.slice(0, length);
      result[length - 1] = event;
      return result;
    } else {
      // Drop this event, since there's no changes or effects left
      mapping = event.mapped;
      length--;
      selections = event.selectionsAfter;
    }
  }
  return selections.length ? [HistEvent.selection(selections)] : none;
}
function mapEvent(event, mapping, extraSelections) {
  var selections = conc(event.selectionsAfter.length ? event.selectionsAfter.map(function (s) {
    return s.map(mapping);
  }) : none, extraSelections);
  // Change-less events don't store mappings (they are always the last event in a branch)
  if (!event.changes) return HistEvent.selection(selections);
  var mappedChanges = event.changes.map(mapping),
    before = mapping.mapDesc(event.changes, true);
  var fullMapping = event.mapped ? event.mapped.composeDesc(before) : before;
  return new HistEvent(mappedChanges, _state.StateEffect.mapEffects(event.effects, mapping), fullMapping, event.startSelection.map(before), selections);
}
var joinableUserEvent = /^(input\.type|delete)($|\.)/;
var HistoryState = /*#__PURE__*/function () {
  function HistoryState(done, undone) {
    var prevTime = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;
    var prevUserEvent = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : undefined;
    _classCallCheck(this, HistoryState);
    this.done = done;
    this.undone = undone;
    this.prevTime = prevTime;
    this.prevUserEvent = prevUserEvent;
  }
  return _createClass(HistoryState, [{
    key: "isolate",
    value: function isolate() {
      return this.prevTime ? new HistoryState(this.done, this.undone) : this;
    }
  }, {
    key: "addChanges",
    value: function addChanges(event, time, userEvent, config, tr) {
      var done = this.done,
        lastEvent = done[done.length - 1];
      if (lastEvent && lastEvent.changes && !lastEvent.changes.empty && event.changes && (!userEvent || joinableUserEvent.test(userEvent)) && (!lastEvent.selectionsAfter.length && time - this.prevTime < config.newGroupDelay && config.joinToEvent(tr, isAdjacent(lastEvent.changes, event.changes)) ||
      // For compose (but not compose.start) events, always join with previous event
      userEvent == "input.type.compose")) {
        done = updateBranch(done, done.length - 1, config.minDepth, new HistEvent(event.changes.compose(lastEvent.changes), conc(event.effects, lastEvent.effects), lastEvent.mapped, lastEvent.startSelection, none));
      } else {
        done = updateBranch(done, done.length, config.minDepth, event);
      }
      return new HistoryState(done, none, time, userEvent);
    }
  }, {
    key: "addSelection",
    value: function addSelection(selection, time, userEvent, newGroupDelay) {
      var last = this.done.length ? this.done[this.done.length - 1].selectionsAfter : none;
      if (last.length > 0 && time - this.prevTime < newGroupDelay && userEvent == this.prevUserEvent && userEvent && /^select($|\.)/.test(userEvent) && eqSelectionShape(last[last.length - 1], selection)) return this;
      return new HistoryState(_addSelection(this.done, selection), this.undone, time, userEvent);
    }
  }, {
    key: "addMapping",
    value: function addMapping(mapping) {
      return new HistoryState(addMappingToBranch(this.done, mapping), addMappingToBranch(this.undone, mapping), this.prevTime, this.prevUserEvent);
    }
  }, {
    key: "pop",
    value: function pop(side, state, onlySelection) {
      var branch = side == 0 /* BranchName.Done */ ? this.done : this.undone;
      if (branch.length == 0) return null;
      var event = branch[branch.length - 1],
        selection = event.selectionsAfter[0] || state.selection;
      if (onlySelection && event.selectionsAfter.length) {
        return state.update({
          selection: event.selectionsAfter[event.selectionsAfter.length - 1],
          annotations: fromHistory.of({
            side: side,
            rest: popSelection(branch),
            selection: selection
          }),
          userEvent: side == 0 /* BranchName.Done */ ? "select.undo" : "select.redo",
          scrollIntoView: true
        });
      } else if (!event.changes) {
        return null;
      } else {
        var rest = branch.length == 1 ? none : branch.slice(0, branch.length - 1);
        if (event.mapped) rest = addMappingToBranch(rest, event.mapped);
        return state.update({
          changes: event.changes,
          selection: event.startSelection,
          effects: event.effects,
          annotations: fromHistory.of({
            side: side,
            rest: rest,
            selection: selection
          }),
          filter: false,
          userEvent: side == 0 /* BranchName.Done */ ? "undo" : "redo",
          scrollIntoView: true
        });
      }
    }
  }]);
}();
HistoryState.empty = /*@__PURE__*/new HistoryState(none, none);
/**
Default key bindings for the undo history.

- Mod-z: [`undo`](https://codemirror.net/6/docs/ref/#commands.undo).
- Mod-y (Mod-Shift-z on macOS) + Ctrl-Shift-z on Linux: [`redo`](https://codemirror.net/6/docs/ref/#commands.redo).
- Mod-u: [`undoSelection`](https://codemirror.net/6/docs/ref/#commands.undoSelection).
- Alt-u (Mod-Shift-u on macOS): [`redoSelection`](https://codemirror.net/6/docs/ref/#commands.redoSelection).
*/
var historyKeymap = exports.historyKeymap = [{
  key: "Mod-z",
  run: undo,
  preventDefault: true
}, {
  key: "Mod-y",
  mac: "Mod-Shift-z",
  run: redo,
  preventDefault: true
}, {
  linux: "Ctrl-Shift-z",
  run: redo,
  preventDefault: true
}, {
  key: "Mod-u",
  run: undoSelection,
  preventDefault: true
}, {
  key: "Alt-u",
  mac: "Mod-Shift-u",
  run: redoSelection,
  preventDefault: true
}];
function updateSel(sel, by) {
  return _state.EditorSelection.create(sel.ranges.map(by), sel.mainIndex);
}
function setSel(state, selection) {
  return state.update({
    selection: selection,
    scrollIntoView: true,
    userEvent: "select"
  });
}
function moveSel(_ref4, how) {
  var state = _ref4.state,
    dispatch = _ref4.dispatch;
  var selection = updateSel(state.selection, how);
  if (selection.eq(state.selection, true)) return false;
  dispatch(setSel(state, selection));
  return true;
}
function rangeEnd(range, forward) {
  return _state.EditorSelection.cursor(forward ? range.to : range.from);
}
function cursorByChar(view, forward) {
  return moveSel(view, function (range) {
    return range.empty ? view.moveByChar(range, forward) : rangeEnd(range, forward);
  });
}
function ltrAtCursor(view) {
  return view.textDirectionAt(view.state.selection.main.head) == _view.Direction.LTR;
}
/**
Move the selection one character to the left (which is backward in
left-to-right text, forward in right-to-left text).
*/
var cursorCharLeft = exports.cursorCharLeft = function cursorCharLeft(view) {
  return cursorByChar(view, !ltrAtCursor(view));
};
/**
Move the selection one character to the right.
*/
var cursorCharRight = exports.cursorCharRight = function cursorCharRight(view) {
  return cursorByChar(view, ltrAtCursor(view));
};
/**
Move the selection one character forward.
*/
var cursorCharForward = exports.cursorCharForward = function cursorCharForward(view) {
  return cursorByChar(view, true);
};
/**
Move the selection one character backward.
*/
var cursorCharBackward = exports.cursorCharBackward = function cursorCharBackward(view) {
  return cursorByChar(view, false);
};
function cursorByGroup(view, forward) {
  return moveSel(view, function (range) {
    return range.empty ? view.moveByGroup(range, forward) : rangeEnd(range, forward);
  });
}
/**
Move the selection to the left across one group of word or
non-word (but also non-space) characters.
*/
var cursorGroupLeft = exports.cursorGroupLeft = function cursorGroupLeft(view) {
  return cursorByGroup(view, !ltrAtCursor(view));
};
/**
Move the selection one group to the right.
*/
var cursorGroupRight = exports.cursorGroupRight = function cursorGroupRight(view) {
  return cursorByGroup(view, ltrAtCursor(view));
};
/**
Move the selection one group forward.
*/
var cursorGroupForward = exports.cursorGroupForward = function cursorGroupForward(view) {
  return cursorByGroup(view, true);
};
/**
Move the selection one group backward.
*/
var cursorGroupBackward = exports.cursorGroupBackward = function cursorGroupBackward(view) {
  return cursorByGroup(view, false);
};
var segmenter = typeof Intl != "undefined" && Intl.Segmenter ? /*@__PURE__*/new Intl.Segmenter(undefined, {
  granularity: "word"
}) : null;
function moveBySubword(view, range, forward) {
  var categorize = view.state.charCategorizer(range.from);
  var cat = _state.CharCategory.Space,
    pos = range.from,
    steps = 0;
  var done = false,
    sawUpper = false,
    sawLower = false;
  var step = function step(next) {
    if (done) return false;
    pos += forward ? next.length : -next.length;
    var nextCat = categorize(next),
      ahead;
    if (nextCat == _state.CharCategory.Word && next.charCodeAt(0) < 128 && /[\W_]/.test(next)) nextCat = -1; // Treat word punctuation specially
    if (cat == _state.CharCategory.Space) cat = nextCat;
    if (cat != nextCat) return false;
    if (cat == _state.CharCategory.Word) {
      if (next.toLowerCase() == next) {
        if (!forward && sawUpper) return false;
        sawLower = true;
      } else if (sawLower) {
        if (forward) return false;
        done = true;
      } else {
        if (sawUpper && forward && categorize(ahead = view.state.sliceDoc(pos, pos + 1)) == _state.CharCategory.Word && ahead.toLowerCase() == ahead) return false;
        sawUpper = true;
      }
    }
    steps++;
    return true;
  };
  var end = view.moveByChar(range, forward, function (start) {
    step(start);
    return step;
  });
  if (segmenter && cat == _state.CharCategory.Word && end.from == range.from + steps * (forward ? 1 : -1)) {
    var from = Math.min(range.head, end.head),
      to = Math.max(range.head, end.head);
    var skipped = view.state.sliceDoc(from, to);
    if (skipped.length > 1 && /[\u4E00-\uffff]/.test(skipped)) {
      var segments = Array.from(segmenter.segment(skipped));
      if (segments.length > 1) {
        if (forward) return _state.EditorSelection.cursor(range.head + segments[1].index, -1);
        return _state.EditorSelection.cursor(end.head + segments[segments.length - 1].index, 1);
      }
    }
  }
  return end;
}
function cursorBySubword(view, forward) {
  return moveSel(view, function (range) {
    return range.empty ? moveBySubword(view, range, forward) : rangeEnd(range, forward);
  });
}
/**
Move the selection one group or camel-case subword forward.
*/
var cursorSubwordForward = exports.cursorSubwordForward = function cursorSubwordForward(view) {
  return cursorBySubword(view, true);
};
/**
Move the selection one group or camel-case subword backward.
*/
var cursorSubwordBackward = exports.cursorSubwordBackward = function cursorSubwordBackward(view) {
  return cursorBySubword(view, false);
};
function interestingNode(state, node, bracketProp) {
  if (node.type.prop(bracketProp)) return true;
  var len = node.to - node.from;
  return len && (len > 2 || /[^\s,.;:]/.test(state.sliceDoc(node.from, node.to))) || node.firstChild;
}
function moveBySyntax(state, start, forward) {
  var pos = (0, _language.syntaxTree)(state).resolveInner(start.head);
  var bracketProp = forward ? _common.NodeProp.closedBy : _common.NodeProp.openedBy;
  // Scan forward through child nodes to see if there's an interesting
  // node ahead.
  for (var at = start.head;;) {
    var next = forward ? pos.childAfter(at) : pos.childBefore(at);
    if (!next) break;
    if (interestingNode(state, next, bracketProp)) pos = next;else at = forward ? next.to : next.from;
  }
  var bracket = pos.type.prop(bracketProp),
    match,
    newPos;
  if (bracket && (match = forward ? (0, _language.matchBrackets)(state, pos.from, 1) : (0, _language.matchBrackets)(state, pos.to, -1)) && match.matched) newPos = forward ? match.end.to : match.end.from;else newPos = forward ? pos.to : pos.from;
  return _state.EditorSelection.cursor(newPos, forward ? -1 : 1);
}
/**
Move the cursor over the next syntactic element to the left.
*/
var cursorSyntaxLeft = exports.cursorSyntaxLeft = function cursorSyntaxLeft(view) {
  return moveSel(view, function (range) {
    return moveBySyntax(view.state, range, !ltrAtCursor(view));
  });
};
/**
Move the cursor over the next syntactic element to the right.
*/
var cursorSyntaxRight = exports.cursorSyntaxRight = function cursorSyntaxRight(view) {
  return moveSel(view, function (range) {
    return moveBySyntax(view.state, range, ltrAtCursor(view));
  });
};
function cursorByLine(view, forward) {
  return moveSel(view, function (range) {
    if (!range.empty) return rangeEnd(range, forward);
    var moved = view.moveVertically(range, forward);
    return moved.head != range.head ? moved : view.moveToLineBoundary(range, forward);
  });
}
/**
Move the selection one line up.
*/
var cursorLineUp = exports.cursorLineUp = function cursorLineUp(view) {
  return cursorByLine(view, false);
};
/**
Move the selection one line down.
*/
var cursorLineDown = exports.cursorLineDown = function cursorLineDown(view) {
  return cursorByLine(view, true);
};
function pageInfo(view) {
  var selfScroll = view.scrollDOM.clientHeight < view.scrollDOM.scrollHeight - 2;
  var marginTop = 0,
    marginBottom = 0,
    height;
  if (selfScroll) {
    var _iterator6 = _createForOfIteratorHelper(view.state.facet(_view.EditorView.scrollMargins)),
      _step6;
    try {
      for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {
        var source = _step6.value;
        var margins = source(view);
        if (margins === null || margins === void 0 ? void 0 : margins.top) marginTop = Math.max(margins === null || margins === void 0 ? void 0 : margins.top, marginTop);
        if (margins === null || margins === void 0 ? void 0 : margins.bottom) marginBottom = Math.max(margins === null || margins === void 0 ? void 0 : margins.bottom, marginBottom);
      }
    } catch (err) {
      _iterator6.e(err);
    } finally {
      _iterator6.f();
    }
    height = view.scrollDOM.clientHeight - marginTop - marginBottom;
  } else {
    height = (view.dom.ownerDocument.defaultView || window).innerHeight;
  }
  return {
    marginTop: marginTop,
    marginBottom: marginBottom,
    selfScroll: selfScroll,
    height: Math.max(view.defaultLineHeight, height - 5)
  };
}
function cursorByPage(view, forward) {
  var page = pageInfo(view);
  var state = view.state,
    selection = updateSel(state.selection, function (range) {
      return range.empty ? view.moveVertically(range, forward, page.height) : rangeEnd(range, forward);
    });
  if (selection.eq(state.selection)) return false;
  var effect;
  if (page.selfScroll) {
    var startPos = view.coordsAtPos(state.selection.main.head);
    var scrollRect = view.scrollDOM.getBoundingClientRect();
    var scrollTop = scrollRect.top + page.marginTop,
      scrollBottom = scrollRect.bottom - page.marginBottom;
    if (startPos && startPos.top > scrollTop && startPos.bottom < scrollBottom) effect = _view.EditorView.scrollIntoView(selection.main.head, {
      y: "start",
      yMargin: startPos.top - scrollTop
    });
  }
  view.dispatch(setSel(state, selection), {
    effects: effect
  });
  return true;
}
/**
Move the selection one page up.
*/
var cursorPageUp = exports.cursorPageUp = function cursorPageUp(view) {
  return cursorByPage(view, false);
};
/**
Move the selection one page down.
*/
var cursorPageDown = exports.cursorPageDown = function cursorPageDown(view) {
  return cursorByPage(view, true);
};
function moveByLineBoundary(view, start, forward) {
  var line = view.lineBlockAt(start.head),
    moved = view.moveToLineBoundary(start, forward);
  if (moved.head == start.head && moved.head != (forward ? line.to : line.from)) moved = view.moveToLineBoundary(start, forward, false);
  if (!forward && moved.head == line.from && line.length) {
    var space = /^\s*/.exec(view.state.sliceDoc(line.from, Math.min(line.from + 100, line.to)))[0].length;
    if (space && start.head != line.from + space) moved = _state.EditorSelection.cursor(line.from + space);
  }
  return moved;
}
/**
Move the selection to the next line wrap point, or to the end of
the line if there isn't one left on this line.
*/
var cursorLineBoundaryForward = exports.cursorLineBoundaryForward = function cursorLineBoundaryForward(view) {
  return moveSel(view, function (range) {
    return moveByLineBoundary(view, range, true);
  });
};
/**
Move the selection to previous line wrap point, or failing that to
the start of the line. If the line is indented, and the cursor
isn't already at the end of the indentation, this will move to the
end of the indentation instead of the start of the line.
*/
var cursorLineBoundaryBackward = exports.cursorLineBoundaryBackward = function cursorLineBoundaryBackward(view) {
  return moveSel(view, function (range) {
    return moveByLineBoundary(view, range, false);
  });
};
/**
Move the selection one line wrap point to the left.
*/
var cursorLineBoundaryLeft = exports.cursorLineBoundaryLeft = function cursorLineBoundaryLeft(view) {
  return moveSel(view, function (range) {
    return moveByLineBoundary(view, range, !ltrAtCursor(view));
  });
};
/**
Move the selection one line wrap point to the right.
*/
var cursorLineBoundaryRight = exports.cursorLineBoundaryRight = function cursorLineBoundaryRight(view) {
  return moveSel(view, function (range) {
    return moveByLineBoundary(view, range, ltrAtCursor(view));
  });
};
/**
Move the selection to the start of the line.
*/
var cursorLineStart = exports.cursorLineStart = function cursorLineStart(view) {
  return moveSel(view, function (range) {
    return _state.EditorSelection.cursor(view.lineBlockAt(range.head).from, 1);
  });
};
/**
Move the selection to the end of the line.
*/
var cursorLineEnd = exports.cursorLineEnd = function cursorLineEnd(view) {
  return moveSel(view, function (range) {
    return _state.EditorSelection.cursor(view.lineBlockAt(range.head).to, -1);
  });
};
function toMatchingBracket(state, dispatch, extend) {
  var found = false,
    selection = updateSel(state.selection, function (range) {
      var matching = (0, _language.matchBrackets)(state, range.head, -1) || (0, _language.matchBrackets)(state, range.head, 1) || range.head > 0 && (0, _language.matchBrackets)(state, range.head - 1, 1) || range.head < state.doc.length && (0, _language.matchBrackets)(state, range.head + 1, -1);
      if (!matching || !matching.end) return range;
      found = true;
      var head = matching.start.from == range.head ? matching.end.to : matching.end.from;
      return extend ? _state.EditorSelection.range(range.anchor, head) : _state.EditorSelection.cursor(head);
    });
  if (!found) return false;
  dispatch(setSel(state, selection));
  return true;
}
/**
Move the selection to the bracket matching the one it is currently
on, if any.
*/
var cursorMatchingBracket = exports.cursorMatchingBracket = function cursorMatchingBracket(_ref5) {
  var state = _ref5.state,
    dispatch = _ref5.dispatch;
  return toMatchingBracket(state, dispatch, false);
};
/**
Extend the selection to the bracket matching the one the selection
head is currently on, if any.
*/
var selectMatchingBracket = exports.selectMatchingBracket = function selectMatchingBracket(_ref6) {
  var state = _ref6.state,
    dispatch = _ref6.dispatch;
  return toMatchingBracket(state, dispatch, true);
};
function extendSel(view, how) {
  var selection = updateSel(view.state.selection, function (range) {
    var head = how(range);
    return _state.EditorSelection.range(range.anchor, head.head, head.goalColumn, head.bidiLevel || undefined);
  });
  if (selection.eq(view.state.selection)) return false;
  view.dispatch(setSel(view.state, selection));
  return true;
}
function selectByChar(view, forward) {
  return extendSel(view, function (range) {
    return view.moveByChar(range, forward);
  });
}
/**
Move the selection head one character to the left, while leaving
the anchor in place.
*/
var selectCharLeft = exports.selectCharLeft = function selectCharLeft(view) {
  return selectByChar(view, !ltrAtCursor(view));
};
/**
Move the selection head one character to the right.
*/
var selectCharRight = exports.selectCharRight = function selectCharRight(view) {
  return selectByChar(view, ltrAtCursor(view));
};
/**
Move the selection head one character forward.
*/
var selectCharForward = exports.selectCharForward = function selectCharForward(view) {
  return selectByChar(view, true);
};
/**
Move the selection head one character backward.
*/
var selectCharBackward = exports.selectCharBackward = function selectCharBackward(view) {
  return selectByChar(view, false);
};
function selectByGroup(view, forward) {
  return extendSel(view, function (range) {
    return view.moveByGroup(range, forward);
  });
}
/**
Move the selection head one [group](https://codemirror.net/6/docs/ref/#commands.cursorGroupLeft) to
the left.
*/
var selectGroupLeft = exports.selectGroupLeft = function selectGroupLeft(view) {
  return selectByGroup(view, !ltrAtCursor(view));
};
/**
Move the selection head one group to the right.
*/
var selectGroupRight = exports.selectGroupRight = function selectGroupRight(view) {
  return selectByGroup(view, ltrAtCursor(view));
};
/**
Move the selection head one group forward.
*/
var selectGroupForward = exports.selectGroupForward = function selectGroupForward(view) {
  return selectByGroup(view, true);
};
/**
Move the selection head one group backward.
*/
var selectGroupBackward = exports.selectGroupBackward = function selectGroupBackward(view) {
  return selectByGroup(view, false);
};
function selectBySubword(view, forward) {
  return extendSel(view, function (range) {
    return moveBySubword(view, range, forward);
  });
}
/**
Move the selection head one group or camel-case subword forward.
*/
var selectSubwordForward = exports.selectSubwordForward = function selectSubwordForward(view) {
  return selectBySubword(view, true);
};
/**
Move the selection head one group or subword backward.
*/
var selectSubwordBackward = exports.selectSubwordBackward = function selectSubwordBackward(view) {
  return selectBySubword(view, false);
};
/**
Move the selection head over the next syntactic element to the left.
*/
var selectSyntaxLeft = exports.selectSyntaxLeft = function selectSyntaxLeft(view) {
  return extendSel(view, function (range) {
    return moveBySyntax(view.state, range, !ltrAtCursor(view));
  });
};
/**
Move the selection head over the next syntactic element to the right.
*/
var selectSyntaxRight = exports.selectSyntaxRight = function selectSyntaxRight(view) {
  return extendSel(view, function (range) {
    return moveBySyntax(view.state, range, ltrAtCursor(view));
  });
};
function selectByLine(view, forward) {
  return extendSel(view, function (range) {
    return view.moveVertically(range, forward);
  });
}
/**
Move the selection head one line up.
*/
var selectLineUp = exports.selectLineUp = function selectLineUp(view) {
  return selectByLine(view, false);
};
/**
Move the selection head one line down.
*/
var selectLineDown = exports.selectLineDown = function selectLineDown(view) {
  return selectByLine(view, true);
};
function selectByPage(view, forward) {
  return extendSel(view, function (range) {
    return view.moveVertically(range, forward, pageInfo(view).height);
  });
}
/**
Move the selection head one page up.
*/
var selectPageUp = exports.selectPageUp = function selectPageUp(view) {
  return selectByPage(view, false);
};
/**
Move the selection head one page down.
*/
var selectPageDown = exports.selectPageDown = function selectPageDown(view) {
  return selectByPage(view, true);
};
/**
Move the selection head to the next line boundary.
*/
var selectLineBoundaryForward = exports.selectLineBoundaryForward = function selectLineBoundaryForward(view) {
  return extendSel(view, function (range) {
    return moveByLineBoundary(view, range, true);
  });
};
/**
Move the selection head to the previous line boundary.
*/
var selectLineBoundaryBackward = exports.selectLineBoundaryBackward = function selectLineBoundaryBackward(view) {
  return extendSel(view, function (range) {
    return moveByLineBoundary(view, range, false);
  });
};
/**
Move the selection head one line boundary to the left.
*/
var selectLineBoundaryLeft = exports.selectLineBoundaryLeft = function selectLineBoundaryLeft(view) {
  return extendSel(view, function (range) {
    return moveByLineBoundary(view, range, !ltrAtCursor(view));
  });
};
/**
Move the selection head one line boundary to the right.
*/
var selectLineBoundaryRight = exports.selectLineBoundaryRight = function selectLineBoundaryRight(view) {
  return extendSel(view, function (range) {
    return moveByLineBoundary(view, range, ltrAtCursor(view));
  });
};
/**
Move the selection head to the start of the line.
*/
var selectLineStart = exports.selectLineStart = function selectLineStart(view) {
  return extendSel(view, function (range) {
    return _state.EditorSelection.cursor(view.lineBlockAt(range.head).from);
  });
};
/**
Move the selection head to the end of the line.
*/
var selectLineEnd = exports.selectLineEnd = function selectLineEnd(view) {
  return extendSel(view, function (range) {
    return _state.EditorSelection.cursor(view.lineBlockAt(range.head).to);
  });
};
/**
Move the selection to the start of the document.
*/
var cursorDocStart = exports.cursorDocStart = function cursorDocStart(_ref7) {
  var state = _ref7.state,
    dispatch = _ref7.dispatch;
  dispatch(setSel(state, {
    anchor: 0
  }));
  return true;
};
/**
Move the selection to the end of the document.
*/
var cursorDocEnd = exports.cursorDocEnd = function cursorDocEnd(_ref8) {
  var state = _ref8.state,
    dispatch = _ref8.dispatch;
  dispatch(setSel(state, {
    anchor: state.doc.length
  }));
  return true;
};
/**
Move the selection head to the start of the document.
*/
var selectDocStart = exports.selectDocStart = function selectDocStart(_ref9) {
  var state = _ref9.state,
    dispatch = _ref9.dispatch;
  dispatch(setSel(state, {
    anchor: state.selection.main.anchor,
    head: 0
  }));
  return true;
};
/**
Move the selection head to the end of the document.
*/
var selectDocEnd = exports.selectDocEnd = function selectDocEnd(_ref10) {
  var state = _ref10.state,
    dispatch = _ref10.dispatch;
  dispatch(setSel(state, {
    anchor: state.selection.main.anchor,
    head: state.doc.length
  }));
  return true;
};
/**
Select the entire document.
*/
var selectAll = exports.selectAll = function selectAll(_ref11) {
  var state = _ref11.state,
    dispatch = _ref11.dispatch;
  dispatch(state.update({
    selection: {
      anchor: 0,
      head: state.doc.length
    },
    userEvent: "select"
  }));
  return true;
};
/**
Expand the selection to cover entire lines.
*/
var selectLine = exports.selectLine = function selectLine(_ref12) {
  var state = _ref12.state,
    dispatch = _ref12.dispatch;
  var ranges = selectedLineBlocks(state).map(function (_ref13) {
    var from = _ref13.from,
      to = _ref13.to;
    return _state.EditorSelection.range(from, Math.min(to + 1, state.doc.length));
  });
  dispatch(state.update({
    selection: _state.EditorSelection.create(ranges),
    userEvent: "select"
  }));
  return true;
};
/**
Select the next syntactic construct that is larger than the
selection. Note that this will only work insofar as the language
[provider](https://codemirror.net/6/docs/ref/#language.language) you use builds up a full
syntax tree.
*/
var selectParentSyntax = exports.selectParentSyntax = function selectParentSyntax(_ref14) {
  var state = _ref14.state,
    dispatch = _ref14.dispatch;
  var selection = updateSel(state.selection, function (range) {
    var _a;
    var stack = (0, _language.syntaxTree)(state).resolveStack(range.from, 1);
    for (var cur = stack; cur; cur = cur.next) {
      var _cur = cur,
        node = _cur.node;
      if ((node.from < range.from && node.to >= range.to || node.to > range.to && node.from <= range.from) && ((_a = node.parent) === null || _a === void 0 ? void 0 : _a.parent)) return _state.EditorSelection.range(node.to, node.from);
    }
    return range;
  });
  dispatch(setSel(state, selection));
  return true;
};
/**
Simplify the current selection. When multiple ranges are selected,
reduce it to its main range. Otherwise, if the selection is
non-empty, convert it to a cursor selection.
*/
var simplifySelection = exports.simplifySelection = function simplifySelection(_ref15) {
  var state = _ref15.state,
    dispatch = _ref15.dispatch;
  var cur = state.selection,
    selection = null;
  if (cur.ranges.length > 1) selection = _state.EditorSelection.create([cur.main]);else if (!cur.main.empty) selection = _state.EditorSelection.create([_state.EditorSelection.cursor(cur.main.head)]);
  if (!selection) return false;
  dispatch(setSel(state, selection));
  return true;
};
function deleteBy(target, by) {
  if (target.state.readOnly) return false;
  var event = "delete.selection",
    state = target.state;
  var changes = state.changeByRange(function (range) {
    var from = range.from,
      to = range.to;
    if (from == to) {
      var towards = by(range);
      if (towards < from) {
        event = "delete.backward";
        towards = skipAtomic(target, towards, false);
      } else if (towards > from) {
        event = "delete.forward";
        towards = skipAtomic(target, towards, true);
      }
      from = Math.min(from, towards);
      to = Math.max(to, towards);
    } else {
      from = skipAtomic(target, from, false);
      to = skipAtomic(target, to, true);
    }
    return from == to ? {
      range: range
    } : {
      changes: {
        from: from,
        to: to
      },
      range: _state.EditorSelection.cursor(from, from < range.head ? -1 : 1)
    };
  });
  if (changes.changes.empty) return false;
  target.dispatch(state.update(changes, {
    scrollIntoView: true,
    userEvent: event,
    effects: event == "delete.selection" ? _view.EditorView.announce.of(state.phrase("Selection deleted")) : undefined
  }));
  return true;
}
function skipAtomic(target, pos, forward) {
  if (target instanceof _view.EditorView) {
    var _iterator7 = _createForOfIteratorHelper(target.state.facet(_view.EditorView.atomicRanges).map(function (f) {
        return f(target);
      })),
      _step7;
    try {
      for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {
        var ranges = _step7.value;
        ranges.between(pos, pos, function (from, to) {
          if (from < pos && to > pos) pos = forward ? to : from;
        });
      }
    } catch (err) {
      _iterator7.e(err);
    } finally {
      _iterator7.f();
    }
  }
  return pos;
}
var deleteByChar = function deleteByChar(target, forward) {
  return deleteBy(target, function (range) {
    var pos = range.from,
      state = target.state,
      line = state.doc.lineAt(pos),
      before,
      targetPos;
    if (!forward && pos > line.from && pos < line.from + 200 && !/[^ \t]/.test(before = line.text.slice(0, pos - line.from))) {
      if (before[before.length - 1] == "\t") return pos - 1;
      var col = (0, _state.countColumn)(before, state.tabSize),
        drop = col % (0, _language.getIndentUnit)(state) || (0, _language.getIndentUnit)(state);
      for (var i = 0; i < drop && before[before.length - 1 - i] == " "; i++) pos--;
      targetPos = pos;
    } else {
      targetPos = (0, _state.findClusterBreak)(line.text, pos - line.from, forward, forward) + line.from;
      if (targetPos == pos && line.number != (forward ? state.doc.lines : 1)) targetPos += forward ? 1 : -1;else if (!forward && /[\ufe00-\ufe0f]/.test(line.text.slice(targetPos - line.from, pos - line.from))) targetPos = (0, _state.findClusterBreak)(line.text, targetPos - line.from, false, false) + line.from;
    }
    return targetPos;
  });
};
/**
Delete the selection, or, for cursor selections, the character
before the cursor.
*/
var deleteCharBackward = exports.deleteCharBackward = function deleteCharBackward(view) {
  return deleteByChar(view, false);
};
/**
Delete the selection or the character after the cursor.
*/
var deleteCharForward = exports.deleteCharForward = function deleteCharForward(view) {
  return deleteByChar(view, true);
};
var deleteByGroup = function deleteByGroup(target, forward) {
  return deleteBy(target, function (range) {
    var pos = range.head,
      state = target.state,
      line = state.doc.lineAt(pos);
    var categorize = state.charCategorizer(pos);
    for (var cat = null;;) {
      if (pos == (forward ? line.to : line.from)) {
        if (pos == range.head && line.number != (forward ? state.doc.lines : 1)) pos += forward ? 1 : -1;
        break;
      }
      var next = (0, _state.findClusterBreak)(line.text, pos - line.from, forward) + line.from;
      var nextChar = line.text.slice(Math.min(pos, next) - line.from, Math.max(pos, next) - line.from);
      var nextCat = categorize(nextChar);
      if (cat != null && nextCat != cat) break;
      if (nextChar != " " || pos != range.head) cat = nextCat;
      pos = next;
    }
    return pos;
  });
};
/**
Delete the selection or backward until the end of the next
[group](https://codemirror.net/6/docs/ref/#view.EditorView.moveByGroup), only skipping groups of
whitespace when they consist of a single space.
*/
var deleteGroupBackward = exports.deleteGroupBackward = function deleteGroupBackward(target) {
  return deleteByGroup(target, false);
};
/**
Delete the selection or forward until the end of the next group.
*/
var deleteGroupForward = exports.deleteGroupForward = function deleteGroupForward(target) {
  return deleteByGroup(target, true);
};
/**
Delete the selection, or, if it is a cursor selection, delete to
the end of the line. If the cursor is directly at the end of the
line, delete the line break after it.
*/
var deleteToLineEnd = exports.deleteToLineEnd = function deleteToLineEnd(view) {
  return deleteBy(view, function (range) {
    var lineEnd = view.lineBlockAt(range.head).to;
    return range.head < lineEnd ? lineEnd : Math.min(view.state.doc.length, range.head + 1);
  });
};
/**
Delete the selection, or, if it is a cursor selection, delete to
the start of the line. If the cursor is directly at the start of the
line, delete the line break before it.
*/
var deleteToLineStart = exports.deleteToLineStart = function deleteToLineStart(view) {
  return deleteBy(view, function (range) {
    var lineStart = view.lineBlockAt(range.head).from;
    return range.head > lineStart ? lineStart : Math.max(0, range.head - 1);
  });
};
/**
Delete the selection, or, if it is a cursor selection, delete to
the start of the line or the next line wrap before the cursor.
*/
var deleteLineBoundaryBackward = exports.deleteLineBoundaryBackward = function deleteLineBoundaryBackward(view) {
  return deleteBy(view, function (range) {
    var lineStart = view.moveToLineBoundary(range, false).head;
    return range.head > lineStart ? lineStart : Math.max(0, range.head - 1);
  });
};
/**
Delete the selection, or, if it is a cursor selection, delete to
the end of the line or the next line wrap after the cursor.
*/
var deleteLineBoundaryForward = exports.deleteLineBoundaryForward = function deleteLineBoundaryForward(view) {
  return deleteBy(view, function (range) {
    var lineStart = view.moveToLineBoundary(range, true).head;
    return range.head < lineStart ? lineStart : Math.min(view.state.doc.length, range.head + 1);
  });
};
/**
Delete all whitespace directly before a line end from the
document.
*/
var deleteTrailingWhitespace = exports.deleteTrailingWhitespace = function deleteTrailingWhitespace(_ref16) {
  var state = _ref16.state,
    dispatch = _ref16.dispatch;
  if (state.readOnly) return false;
  var changes = [];
  for (var pos = 0, prev = "", iter = state.doc.iter();;) {
    iter.next();
    if (iter.lineBreak || iter.done) {
      var trailing = prev.search(/\s+$/);
      if (trailing > -1) changes.push({
        from: pos - (prev.length - trailing),
        to: pos
      });
      if (iter.done) break;
      prev = "";
    } else {
      prev = iter.value;
    }
    pos += iter.value.length;
  }
  if (!changes.length) return false;
  dispatch(state.update({
    changes: changes,
    userEvent: "delete"
  }));
  return true;
};
/**
Replace each selection range with a line break, leaving the cursor
on the line before the break.
*/
var splitLine = exports.splitLine = function splitLine(_ref17) {
  var state = _ref17.state,
    dispatch = _ref17.dispatch;
  if (state.readOnly) return false;
  var changes = state.changeByRange(function (range) {
    return {
      changes: {
        from: range.from,
        to: range.to,
        insert: _state.Text.of(["", ""])
      },
      range: _state.EditorSelection.cursor(range.from)
    };
  });
  dispatch(state.update(changes, {
    scrollIntoView: true,
    userEvent: "input"
  }));
  return true;
};
/**
Flip the characters before and after the cursor(s).
*/
var transposeChars = exports.transposeChars = function transposeChars(_ref18) {
  var state = _ref18.state,
    dispatch = _ref18.dispatch;
  if (state.readOnly) return false;
  var changes = state.changeByRange(function (range) {
    if (!range.empty || range.from == 0 || range.from == state.doc.length) return {
      range: range
    };
    var pos = range.from,
      line = state.doc.lineAt(pos);
    var from = pos == line.from ? pos - 1 : (0, _state.findClusterBreak)(line.text, pos - line.from, false) + line.from;
    var to = pos == line.to ? pos + 1 : (0, _state.findClusterBreak)(line.text, pos - line.from, true) + line.from;
    return {
      changes: {
        from: from,
        to: to,
        insert: state.doc.slice(pos, to).append(state.doc.slice(from, pos))
      },
      range: _state.EditorSelection.cursor(to)
    };
  });
  if (changes.changes.empty) return false;
  dispatch(state.update(changes, {
    scrollIntoView: true,
    userEvent: "move.character"
  }));
  return true;
};
function selectedLineBlocks(state) {
  var blocks = [],
    upto = -1;
  var _iterator8 = _createForOfIteratorHelper(state.selection.ranges),
    _step8;
  try {
    for (_iterator8.s(); !(_step8 = _iterator8.n()).done;) {
      var range = _step8.value;
      var startLine = state.doc.lineAt(range.from),
        endLine = state.doc.lineAt(range.to);
      if (!range.empty && range.to == endLine.from) endLine = state.doc.lineAt(range.to - 1);
      if (upto >= startLine.number) {
        var prev = blocks[blocks.length - 1];
        prev.to = endLine.to;
        prev.ranges.push(range);
      } else {
        blocks.push({
          from: startLine.from,
          to: endLine.to,
          ranges: [range]
        });
      }
      upto = endLine.number + 1;
    }
  } catch (err) {
    _iterator8.e(err);
  } finally {
    _iterator8.f();
  }
  return blocks;
}
function moveLine(state, dispatch, forward) {
  if (state.readOnly) return false;
  var changes = [],
    ranges = [];
  var _iterator9 = _createForOfIteratorHelper(selectedLineBlocks(state)),
    _step9;
  try {
    for (_iterator9.s(); !(_step9 = _iterator9.n()).done;) {
      var block = _step9.value;
      if (forward ? block.to == state.doc.length : block.from == 0) continue;
      var nextLine = state.doc.lineAt(forward ? block.to + 1 : block.from - 1);
      var size = nextLine.length + 1;
      if (forward) {
        changes.push({
          from: block.to,
          to: nextLine.to
        }, {
          from: block.from,
          insert: nextLine.text + state.lineBreak
        });
        var _iterator10 = _createForOfIteratorHelper(block.ranges),
          _step10;
        try {
          for (_iterator10.s(); !(_step10 = _iterator10.n()).done;) {
            var r = _step10.value;
            ranges.push(_state.EditorSelection.range(Math.min(state.doc.length, r.anchor + size), Math.min(state.doc.length, r.head + size)));
          }
        } catch (err) {
          _iterator10.e(err);
        } finally {
          _iterator10.f();
        }
      } else {
        changes.push({
          from: nextLine.from,
          to: block.from
        }, {
          from: block.to,
          insert: state.lineBreak + nextLine.text
        });
        var _iterator11 = _createForOfIteratorHelper(block.ranges),
          _step11;
        try {
          for (_iterator11.s(); !(_step11 = _iterator11.n()).done;) {
            var _r = _step11.value;
            ranges.push(_state.EditorSelection.range(_r.anchor - size, _r.head - size));
          }
        } catch (err) {
          _iterator11.e(err);
        } finally {
          _iterator11.f();
        }
      }
    }
  } catch (err) {
    _iterator9.e(err);
  } finally {
    _iterator9.f();
  }
  if (!changes.length) return false;
  dispatch(state.update({
    changes: changes,
    scrollIntoView: true,
    selection: _state.EditorSelection.create(ranges, state.selection.mainIndex),
    userEvent: "move.line"
  }));
  return true;
}
/**
Move the selected lines up one line.
*/
var moveLineUp = exports.moveLineUp = function moveLineUp(_ref19) {
  var state = _ref19.state,
    dispatch = _ref19.dispatch;
  return moveLine(state, dispatch, false);
};
/**
Move the selected lines down one line.
*/
var moveLineDown = exports.moveLineDown = function moveLineDown(_ref20) {
  var state = _ref20.state,
    dispatch = _ref20.dispatch;
  return moveLine(state, dispatch, true);
};
function copyLine(state, dispatch, forward) {
  if (state.readOnly) return false;
  var changes = [];
  var _iterator12 = _createForOfIteratorHelper(selectedLineBlocks(state)),
    _step12;
  try {
    for (_iterator12.s(); !(_step12 = _iterator12.n()).done;) {
      var block = _step12.value;
      if (forward) changes.push({
        from: block.from,
        insert: state.doc.slice(block.from, block.to) + state.lineBreak
      });else changes.push({
        from: block.to,
        insert: state.lineBreak + state.doc.slice(block.from, block.to)
      });
    }
  } catch (err) {
    _iterator12.e(err);
  } finally {
    _iterator12.f();
  }
  dispatch(state.update({
    changes: changes,
    scrollIntoView: true,
    userEvent: "input.copyline"
  }));
  return true;
}
/**
Create a copy of the selected lines. Keep the selection in the top copy.
*/
var copyLineUp = exports.copyLineUp = function copyLineUp(_ref21) {
  var state = _ref21.state,
    dispatch = _ref21.dispatch;
  return copyLine(state, dispatch, false);
};
/**
Create a copy of the selected lines. Keep the selection in the bottom copy.
*/
var copyLineDown = exports.copyLineDown = function copyLineDown(_ref22) {
  var state = _ref22.state,
    dispatch = _ref22.dispatch;
  return copyLine(state, dispatch, true);
};
/**
Delete selected lines.
*/
var deleteLine = exports.deleteLine = function deleteLine(view) {
  if (view.state.readOnly) return false;
  var state = view.state,
    changes = state.changes(selectedLineBlocks(state).map(function (_ref23) {
      var from = _ref23.from,
        to = _ref23.to;
      if (from > 0) from--;else if (to < state.doc.length) to++;
      return {
        from: from,
        to: to
      };
    }));
  var selection = updateSel(state.selection, function (range) {
    return view.moveVertically(range, true);
  }).map(changes);
  view.dispatch({
    changes: changes,
    selection: selection,
    scrollIntoView: true,
    userEvent: "delete.line"
  });
  return true;
};
/**
Replace the selection with a newline.
*/
var insertNewline = exports.insertNewline = function insertNewline(_ref24) {
  var state = _ref24.state,
    dispatch = _ref24.dispatch;
  dispatch(state.update(state.replaceSelection(state.lineBreak), {
    scrollIntoView: true,
    userEvent: "input"
  }));
  return true;
};
function isBetweenBrackets(state, pos) {
  if (/\(\)|\[\]|\{\}/.test(state.sliceDoc(pos - 1, pos + 1))) return {
    from: pos,
    to: pos
  };
  var context = (0, _language.syntaxTree)(state).resolveInner(pos);
  var before = context.childBefore(pos),
    after = context.childAfter(pos),
    closedBy;
  if (before && after && before.to <= pos && after.from >= pos && (closedBy = before.type.prop(_common.NodeProp.closedBy)) && closedBy.indexOf(after.name) > -1 && state.doc.lineAt(before.to).from == state.doc.lineAt(after.from).from && !/\S/.test(state.sliceDoc(before.to, after.from))) return {
    from: before.to,
    to: after.from
  };
  return null;
}
/**
Replace the selection with a newline and indent the newly created
line(s). If the current line consists only of whitespace, this
will also delete that whitespace. When the cursor is between
matching brackets, an additional newline will be inserted after
the cursor.
*/
var insertNewlineAndIndent = exports.insertNewlineAndIndent = /*@__PURE__*/newlineAndIndent(false);
/**
Create a blank, indented line below the current line.
*/
var insertBlankLine = exports.insertBlankLine = /*@__PURE__*/newlineAndIndent(true);
function newlineAndIndent(atEof) {
  return function (_ref25) {
    var state = _ref25.state,
      dispatch = _ref25.dispatch;
    if (state.readOnly) return false;
    var changes = state.changeByRange(function (range) {
      var from = range.from,
        to = range.to,
        line = state.doc.lineAt(from);
      var explode = !atEof && from == to && isBetweenBrackets(state, from);
      if (atEof) from = to = (to <= line.to ? line : state.doc.lineAt(to)).to;
      var cx = new _language.IndentContext(state, {
        simulateBreak: from,
        simulateDoubleBreak: !!explode
      });
      var indent = (0, _language.getIndentation)(cx, from);
      if (indent == null) indent = (0, _state.countColumn)(/^\s*/.exec(state.doc.lineAt(from).text)[0], state.tabSize);
      while (to < line.to && /\s/.test(line.text[to - line.from])) to++;
      if (explode) {
        from = explode.from;
        to = explode.to;
      } else if (from > line.from && from < line.from + 100 && !/\S/.test(line.text.slice(0, from))) from = line.from;
      var insert = ["", (0, _language.indentString)(state, indent)];
      if (explode) insert.push((0, _language.indentString)(state, cx.lineIndent(line.from, -1)));
      return {
        changes: {
          from: from,
          to: to,
          insert: _state.Text.of(insert)
        },
        range: _state.EditorSelection.cursor(from + 1 + insert[1].length)
      };
    });
    dispatch(state.update(changes, {
      scrollIntoView: true,
      userEvent: "input"
    }));
    return true;
  };
}
function changeBySelectedLine(state, f) {
  var atLine = -1;
  return state.changeByRange(function (range) {
    var changes = [];
    for (var pos = range.from; pos <= range.to;) {
      var line = state.doc.lineAt(pos);
      if (line.number > atLine && (range.empty || range.to > line.from)) {
        f(line, changes, range);
        atLine = line.number;
      }
      pos = line.to + 1;
    }
    var changeSet = state.changes(changes);
    return {
      changes: changes,
      range: _state.EditorSelection.range(changeSet.mapPos(range.anchor, 1), changeSet.mapPos(range.head, 1))
    };
  });
}
/**
Auto-indent the selected lines. This uses the [indentation service
facet](https://codemirror.net/6/docs/ref/#language.indentService) as source for auto-indent
information.
*/
var indentSelection = exports.indentSelection = function indentSelection(_ref26) {
  var state = _ref26.state,
    dispatch = _ref26.dispatch;
  if (state.readOnly) return false;
  var updated = Object.create(null);
  var context = new _language.IndentContext(state, {
    overrideIndentation: function overrideIndentation(start) {
      var found = updated[start];
      return found == null ? -1 : found;
    }
  });
  var changes = changeBySelectedLine(state, function (line, changes, range) {
    var indent = (0, _language.getIndentation)(context, line.from);
    if (indent == null) return;
    if (!/\S/.test(line.text)) indent = 0;
    var cur = /^\s*/.exec(line.text)[0];
    var norm = (0, _language.indentString)(state, indent);
    if (cur != norm || range.from < line.from + cur.length) {
      updated[line.from] = indent;
      changes.push({
        from: line.from,
        to: line.from + cur.length,
        insert: norm
      });
    }
  });
  if (!changes.changes.empty) dispatch(state.update(changes, {
    userEvent: "indent"
  }));
  return true;
};
/**
Add a [unit](https://codemirror.net/6/docs/ref/#language.indentUnit) of indentation to all selected
lines.
*/
var indentMore = exports.indentMore = function indentMore(_ref27) {
  var state = _ref27.state,
    dispatch = _ref27.dispatch;
  if (state.readOnly) return false;
  dispatch(state.update(changeBySelectedLine(state, function (line, changes) {
    changes.push({
      from: line.from,
      insert: state.facet(_language.indentUnit)
    });
  }), {
    userEvent: "input.indent"
  }));
  return true;
};
/**
Remove a [unit](https://codemirror.net/6/docs/ref/#language.indentUnit) of indentation from all
selected lines.
*/
var indentLess = exports.indentLess = function indentLess(_ref28) {
  var state = _ref28.state,
    dispatch = _ref28.dispatch;
  if (state.readOnly) return false;
  dispatch(state.update(changeBySelectedLine(state, function (line, changes) {
    var space = /^\s*/.exec(line.text)[0];
    if (!space) return;
    var col = (0, _state.countColumn)(space, state.tabSize),
      keep = 0;
    var insert = (0, _language.indentString)(state, Math.max(0, col - (0, _language.getIndentUnit)(state)));
    while (keep < space.length && keep < insert.length && space.charCodeAt(keep) == insert.charCodeAt(keep)) keep++;
    changes.push({
      from: line.from + keep,
      to: line.from + space.length,
      insert: insert.slice(keep)
    });
  }), {
    userEvent: "delete.dedent"
  }));
  return true;
};
/**
Insert a tab character at the cursor or, if something is selected,
use [`indentMore`](https://codemirror.net/6/docs/ref/#commands.indentMore) to indent the entire
selection.
*/
var insertTab = exports.insertTab = function insertTab(_ref29) {
  var state = _ref29.state,
    dispatch = _ref29.dispatch;
  if (state.selection.ranges.some(function (r) {
    return !r.empty;
  })) return indentMore({
    state: state,
    dispatch: dispatch
  });
  dispatch(state.update(state.replaceSelection("\t"), {
    scrollIntoView: true,
    userEvent: "input"
  }));
  return true;
};
/**
Array of key bindings containing the Emacs-style bindings that are
available on macOS by default.

 - Ctrl-b: [`cursorCharLeft`](https://codemirror.net/6/docs/ref/#commands.cursorCharLeft) ([`selectCharLeft`](https://codemirror.net/6/docs/ref/#commands.selectCharLeft) with Shift)
 - Ctrl-f: [`cursorCharRight`](https://codemirror.net/6/docs/ref/#commands.cursorCharRight) ([`selectCharRight`](https://codemirror.net/6/docs/ref/#commands.selectCharRight) with Shift)
 - Ctrl-p: [`cursorLineUp`](https://codemirror.net/6/docs/ref/#commands.cursorLineUp) ([`selectLineUp`](https://codemirror.net/6/docs/ref/#commands.selectLineUp) with Shift)
 - Ctrl-n: [`cursorLineDown`](https://codemirror.net/6/docs/ref/#commands.cursorLineDown) ([`selectLineDown`](https://codemirror.net/6/docs/ref/#commands.selectLineDown) with Shift)
 - Ctrl-a: [`cursorLineStart`](https://codemirror.net/6/docs/ref/#commands.cursorLineStart) ([`selectLineStart`](https://codemirror.net/6/docs/ref/#commands.selectLineStart) with Shift)
 - Ctrl-e: [`cursorLineEnd`](https://codemirror.net/6/docs/ref/#commands.cursorLineEnd) ([`selectLineEnd`](https://codemirror.net/6/docs/ref/#commands.selectLineEnd) with Shift)
 - Ctrl-d: [`deleteCharForward`](https://codemirror.net/6/docs/ref/#commands.deleteCharForward)
 - Ctrl-h: [`deleteCharBackward`](https://codemirror.net/6/docs/ref/#commands.deleteCharBackward)
 - Ctrl-k: [`deleteToLineEnd`](https://codemirror.net/6/docs/ref/#commands.deleteToLineEnd)
 - Ctrl-Alt-h: [`deleteGroupBackward`](https://codemirror.net/6/docs/ref/#commands.deleteGroupBackward)
 - Ctrl-o: [`splitLine`](https://codemirror.net/6/docs/ref/#commands.splitLine)
 - Ctrl-t: [`transposeChars`](https://codemirror.net/6/docs/ref/#commands.transposeChars)
 - Ctrl-v: [`cursorPageDown`](https://codemirror.net/6/docs/ref/#commands.cursorPageDown)
 - Alt-v: [`cursorPageUp`](https://codemirror.net/6/docs/ref/#commands.cursorPageUp)
*/
var emacsStyleKeymap = exports.emacsStyleKeymap = [{
  key: "Ctrl-b",
  run: cursorCharLeft,
  shift: selectCharLeft,
  preventDefault: true
}, {
  key: "Ctrl-f",
  run: cursorCharRight,
  shift: selectCharRight
}, {
  key: "Ctrl-p",
  run: cursorLineUp,
  shift: selectLineUp
}, {
  key: "Ctrl-n",
  run: cursorLineDown,
  shift: selectLineDown
}, {
  key: "Ctrl-a",
  run: cursorLineStart,
  shift: selectLineStart
}, {
  key: "Ctrl-e",
  run: cursorLineEnd,
  shift: selectLineEnd
}, {
  key: "Ctrl-d",
  run: deleteCharForward
}, {
  key: "Ctrl-h",
  run: deleteCharBackward
}, {
  key: "Ctrl-k",
  run: deleteToLineEnd
}, {
  key: "Ctrl-Alt-h",
  run: deleteGroupBackward
}, {
  key: "Ctrl-o",
  run: splitLine
}, {
  key: "Ctrl-t",
  run: transposeChars
}, {
  key: "Ctrl-v",
  run: cursorPageDown
}];
/**
An array of key bindings closely sticking to platform-standard or
widely used bindings. (This includes the bindings from
[`emacsStyleKeymap`](https://codemirror.net/6/docs/ref/#commands.emacsStyleKeymap), with their `key`
property changed to `mac`.)

 - ArrowLeft: [`cursorCharLeft`](https://codemirror.net/6/docs/ref/#commands.cursorCharLeft) ([`selectCharLeft`](https://codemirror.net/6/docs/ref/#commands.selectCharLeft) with Shift)
 - ArrowRight: [`cursorCharRight`](https://codemirror.net/6/docs/ref/#commands.cursorCharRight) ([`selectCharRight`](https://codemirror.net/6/docs/ref/#commands.selectCharRight) with Shift)
 - Ctrl-ArrowLeft (Alt-ArrowLeft on macOS): [`cursorGroupLeft`](https://codemirror.net/6/docs/ref/#commands.cursorGroupLeft) ([`selectGroupLeft`](https://codemirror.net/6/docs/ref/#commands.selectGroupLeft) with Shift)
 - Ctrl-ArrowRight (Alt-ArrowRight on macOS): [`cursorGroupRight`](https://codemirror.net/6/docs/ref/#commands.cursorGroupRight) ([`selectGroupRight`](https://codemirror.net/6/docs/ref/#commands.selectGroupRight) with Shift)
 - Cmd-ArrowLeft (on macOS): [`cursorLineStart`](https://codemirror.net/6/docs/ref/#commands.cursorLineStart) ([`selectLineStart`](https://codemirror.net/6/docs/ref/#commands.selectLineStart) with Shift)
 - Cmd-ArrowRight (on macOS): [`cursorLineEnd`](https://codemirror.net/6/docs/ref/#commands.cursorLineEnd) ([`selectLineEnd`](https://codemirror.net/6/docs/ref/#commands.selectLineEnd) with Shift)
 - ArrowUp: [`cursorLineUp`](https://codemirror.net/6/docs/ref/#commands.cursorLineUp) ([`selectLineUp`](https://codemirror.net/6/docs/ref/#commands.selectLineUp) with Shift)
 - ArrowDown: [`cursorLineDown`](https://codemirror.net/6/docs/ref/#commands.cursorLineDown) ([`selectLineDown`](https://codemirror.net/6/docs/ref/#commands.selectLineDown) with Shift)
 - Cmd-ArrowUp (on macOS): [`cursorDocStart`](https://codemirror.net/6/docs/ref/#commands.cursorDocStart) ([`selectDocStart`](https://codemirror.net/6/docs/ref/#commands.selectDocStart) with Shift)
 - Cmd-ArrowDown (on macOS): [`cursorDocEnd`](https://codemirror.net/6/docs/ref/#commands.cursorDocEnd) ([`selectDocEnd`](https://codemirror.net/6/docs/ref/#commands.selectDocEnd) with Shift)
 - Ctrl-ArrowUp (on macOS): [`cursorPageUp`](https://codemirror.net/6/docs/ref/#commands.cursorPageUp) ([`selectPageUp`](https://codemirror.net/6/docs/ref/#commands.selectPageUp) with Shift)
 - Ctrl-ArrowDown (on macOS): [`cursorPageDown`](https://codemirror.net/6/docs/ref/#commands.cursorPageDown) ([`selectPageDown`](https://codemirror.net/6/docs/ref/#commands.selectPageDown) with Shift)
 - PageUp: [`cursorPageUp`](https://codemirror.net/6/docs/ref/#commands.cursorPageUp) ([`selectPageUp`](https://codemirror.net/6/docs/ref/#commands.selectPageUp) with Shift)
 - PageDown: [`cursorPageDown`](https://codemirror.net/6/docs/ref/#commands.cursorPageDown) ([`selectPageDown`](https://codemirror.net/6/docs/ref/#commands.selectPageDown) with Shift)
 - Home: [`cursorLineBoundaryBackward`](https://codemirror.net/6/docs/ref/#commands.cursorLineBoundaryBackward) ([`selectLineBoundaryBackward`](https://codemirror.net/6/docs/ref/#commands.selectLineBoundaryBackward) with Shift)
 - End: [`cursorLineBoundaryForward`](https://codemirror.net/6/docs/ref/#commands.cursorLineBoundaryForward) ([`selectLineBoundaryForward`](https://codemirror.net/6/docs/ref/#commands.selectLineBoundaryForward) with Shift)
 - Ctrl-Home (Cmd-Home on macOS): [`cursorDocStart`](https://codemirror.net/6/docs/ref/#commands.cursorDocStart) ([`selectDocStart`](https://codemirror.net/6/docs/ref/#commands.selectDocStart) with Shift)
 - Ctrl-End (Cmd-Home on macOS): [`cursorDocEnd`](https://codemirror.net/6/docs/ref/#commands.cursorDocEnd) ([`selectDocEnd`](https://codemirror.net/6/docs/ref/#commands.selectDocEnd) with Shift)
 - Enter: [`insertNewlineAndIndent`](https://codemirror.net/6/docs/ref/#commands.insertNewlineAndIndent)
 - Ctrl-a (Cmd-a on macOS): [`selectAll`](https://codemirror.net/6/docs/ref/#commands.selectAll)
 - Backspace: [`deleteCharBackward`](https://codemirror.net/6/docs/ref/#commands.deleteCharBackward)
 - Delete: [`deleteCharForward`](https://codemirror.net/6/docs/ref/#commands.deleteCharForward)
 - Ctrl-Backspace (Alt-Backspace on macOS): [`deleteGroupBackward`](https://codemirror.net/6/docs/ref/#commands.deleteGroupBackward)
 - Ctrl-Delete (Alt-Delete on macOS): [`deleteGroupForward`](https://codemirror.net/6/docs/ref/#commands.deleteGroupForward)
 - Cmd-Backspace (macOS): [`deleteLineBoundaryBackward`](https://codemirror.net/6/docs/ref/#commands.deleteLineBoundaryBackward).
 - Cmd-Delete (macOS): [`deleteLineBoundaryForward`](https://codemirror.net/6/docs/ref/#commands.deleteLineBoundaryForward).
*/
var standardKeymap = exports.standardKeymap = /*@__PURE__*/[{
  key: "ArrowLeft",
  run: cursorCharLeft,
  shift: selectCharLeft,
  preventDefault: true
}, {
  key: "Mod-ArrowLeft",
  mac: "Alt-ArrowLeft",
  run: cursorGroupLeft,
  shift: selectGroupLeft,
  preventDefault: true
}, {
  mac: "Cmd-ArrowLeft",
  run: cursorLineBoundaryLeft,
  shift: selectLineBoundaryLeft,
  preventDefault: true
}, {
  key: "ArrowRight",
  run: cursorCharRight,
  shift: selectCharRight,
  preventDefault: true
}, {
  key: "Mod-ArrowRight",
  mac: "Alt-ArrowRight",
  run: cursorGroupRight,
  shift: selectGroupRight,
  preventDefault: true
}, {
  mac: "Cmd-ArrowRight",
  run: cursorLineBoundaryRight,
  shift: selectLineBoundaryRight,
  preventDefault: true
}, {
  key: "ArrowUp",
  run: cursorLineUp,
  shift: selectLineUp,
  preventDefault: true
}, {
  mac: "Cmd-ArrowUp",
  run: cursorDocStart,
  shift: selectDocStart
}, {
  mac: "Ctrl-ArrowUp",
  run: cursorPageUp,
  shift: selectPageUp
}, {
  key: "ArrowDown",
  run: cursorLineDown,
  shift: selectLineDown,
  preventDefault: true
}, {
  mac: "Cmd-ArrowDown",
  run: cursorDocEnd,
  shift: selectDocEnd
}, {
  mac: "Ctrl-ArrowDown",
  run: cursorPageDown,
  shift: selectPageDown
}, {
  key: "PageUp",
  run: cursorPageUp,
  shift: selectPageUp
}, {
  key: "PageDown",
  run: cursorPageDown,
  shift: selectPageDown
}, {
  key: "Home",
  run: cursorLineBoundaryBackward,
  shift: selectLineBoundaryBackward,
  preventDefault: true
}, {
  key: "Mod-Home",
  run: cursorDocStart,
  shift: selectDocStart
}, {
  key: "End",
  run: cursorLineBoundaryForward,
  shift: selectLineBoundaryForward,
  preventDefault: true
}, {
  key: "Mod-End",
  run: cursorDocEnd,
  shift: selectDocEnd
}, {
  key: "Enter",
  run: insertNewlineAndIndent
}, {
  key: "Mod-a",
  run: selectAll
}, {
  key: "Backspace",
  run: deleteCharBackward,
  shift: deleteCharBackward
}, {
  key: "Delete",
  run: deleteCharForward
}, {
  key: "Mod-Backspace",
  mac: "Alt-Backspace",
  run: deleteGroupBackward
}, {
  key: "Mod-Delete",
  mac: "Alt-Delete",
  run: deleteGroupForward
}, {
  mac: "Mod-Backspace",
  run: deleteLineBoundaryBackward
}, {
  mac: "Mod-Delete",
  run: deleteLineBoundaryForward
}].concat( /*@__PURE__*/emacsStyleKeymap.map(function (b) {
  return {
    mac: b.key,
    run: b.run,
    shift: b.shift
  };
}));
/**
The default keymap. Includes all bindings from
[`standardKeymap`](https://codemirror.net/6/docs/ref/#commands.standardKeymap) plus the following:

- Alt-ArrowLeft (Ctrl-ArrowLeft on macOS): [`cursorSyntaxLeft`](https://codemirror.net/6/docs/ref/#commands.cursorSyntaxLeft) ([`selectSyntaxLeft`](https://codemirror.net/6/docs/ref/#commands.selectSyntaxLeft) with Shift)
- Alt-ArrowRight (Ctrl-ArrowRight on macOS): [`cursorSyntaxRight`](https://codemirror.net/6/docs/ref/#commands.cursorSyntaxRight) ([`selectSyntaxRight`](https://codemirror.net/6/docs/ref/#commands.selectSyntaxRight) with Shift)
- Alt-ArrowUp: [`moveLineUp`](https://codemirror.net/6/docs/ref/#commands.moveLineUp)
- Alt-ArrowDown: [`moveLineDown`](https://codemirror.net/6/docs/ref/#commands.moveLineDown)
- Shift-Alt-ArrowUp: [`copyLineUp`](https://codemirror.net/6/docs/ref/#commands.copyLineUp)
- Shift-Alt-ArrowDown: [`copyLineDown`](https://codemirror.net/6/docs/ref/#commands.copyLineDown)
- Escape: [`simplifySelection`](https://codemirror.net/6/docs/ref/#commands.simplifySelection)
- Ctrl-Enter (Cmd-Enter on macOS): [`insertBlankLine`](https://codemirror.net/6/docs/ref/#commands.insertBlankLine)
- Alt-l (Ctrl-l on macOS): [`selectLine`](https://codemirror.net/6/docs/ref/#commands.selectLine)
- Ctrl-i (Cmd-i on macOS): [`selectParentSyntax`](https://codemirror.net/6/docs/ref/#commands.selectParentSyntax)
- Ctrl-[ (Cmd-[ on macOS): [`indentLess`](https://codemirror.net/6/docs/ref/#commands.indentLess)
- Ctrl-] (Cmd-] on macOS): [`indentMore`](https://codemirror.net/6/docs/ref/#commands.indentMore)
- Ctrl-Alt-\\ (Cmd-Alt-\\ on macOS): [`indentSelection`](https://codemirror.net/6/docs/ref/#commands.indentSelection)
- Shift-Ctrl-k (Shift-Cmd-k on macOS): [`deleteLine`](https://codemirror.net/6/docs/ref/#commands.deleteLine)
- Shift-Ctrl-\\ (Shift-Cmd-\\ on macOS): [`cursorMatchingBracket`](https://codemirror.net/6/docs/ref/#commands.cursorMatchingBracket)
- Ctrl-/ (Cmd-/ on macOS): [`toggleComment`](https://codemirror.net/6/docs/ref/#commands.toggleComment).
- Shift-Alt-a: [`toggleBlockComment`](https://codemirror.net/6/docs/ref/#commands.toggleBlockComment).
*/
var defaultKeymap = exports.defaultKeymap = /*@__PURE__*/[{
  key: "Alt-ArrowLeft",
  mac: "Ctrl-ArrowLeft",
  run: cursorSyntaxLeft,
  shift: selectSyntaxLeft
}, {
  key: "Alt-ArrowRight",
  mac: "Ctrl-ArrowRight",
  run: cursorSyntaxRight,
  shift: selectSyntaxRight
}, {
  key: "Alt-ArrowUp",
  run: moveLineUp
}, {
  key: "Shift-Alt-ArrowUp",
  run: copyLineUp
}, {
  key: "Alt-ArrowDown",
  run: moveLineDown
}, {
  key: "Shift-Alt-ArrowDown",
  run: copyLineDown
}, {
  key: "Escape",
  run: simplifySelection
}, {
  key: "Mod-Enter",
  run: insertBlankLine
}, {
  key: "Alt-l",
  mac: "Ctrl-l",
  run: selectLine
}, {
  key: "Mod-i",
  run: selectParentSyntax,
  preventDefault: true
}, {
  key: "Mod-[",
  run: indentLess
}, {
  key: "Mod-]",
  run: indentMore
}, {
  key: "Mod-Alt-\\",
  run: indentSelection
}, {
  key: "Shift-Mod-k",
  run: deleteLine
}, {
  key: "Shift-Mod-\\",
  run: cursorMatchingBracket
}, {
  key: "Mod-/",
  run: toggleComment
}, {
  key: "Alt-A",
  run: toggleBlockComment
}].concat(standardKeymap);
/**
A binding that binds Tab to [`indentMore`](https://codemirror.net/6/docs/ref/#commands.indentMore) and
Shift-Tab to [`indentLess`](https://codemirror.net/6/docs/ref/#commands.indentLess).
Please see the [Tab example](../../examples/tab/) before using
this.
*/
var indentWithTab = exports.indentWithTab = {
  key: "Tab",
  run: indentMore,
  shift: indentLess
};

},{"@codemirror/language":6,"@codemirror/state":9,"@codemirror/view":10,"@lezer/common":11}],5:[function(require,module,exports){
"use strict";

Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.autoCloseTags = void 0;
exports.completionPath = completionPath;
exports.esLint = esLint;
exports.javascript = javascript;
exports.jsxLanguage = exports.javascriptLanguage = void 0;
exports.localCompletionSource = localCompletionSource;
exports.scopeCompletionSource = scopeCompletionSource;
exports.typescriptSnippets = exports.typescriptLanguage = exports.tsxLanguage = exports.snippets = void 0;
var _javascript = require("@lezer/javascript");
var _language = require("@codemirror/language");
var _state = require("@codemirror/state");
var _view = require("@codemirror/view");
var _autocomplete = require("@codemirror/autocomplete");
var _common = require("@lezer/common");
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
/**
A collection of JavaScript-related
[snippets](https://codemirror.net/6/docs/ref/#autocomplete.snippet).
*/
var snippets = exports.snippets = [/*@__PURE__*/(0, _autocomplete.snippetCompletion)("function ${name}(${params}) {\n\t${}\n}", {
  label: "function",
  detail: "definition",
  type: "keyword"
}), /*@__PURE__*/(0, _autocomplete.snippetCompletion)("for (let ${index} = 0; ${index} < ${bound}; ${index}++) {\n\t${}\n}", {
  label: "for",
  detail: "loop",
  type: "keyword"
}), /*@__PURE__*/(0, _autocomplete.snippetCompletion)("for (let ${name} of ${collection}) {\n\t${}\n}", {
  label: "for",
  detail: "of loop",
  type: "keyword"
}), /*@__PURE__*/(0, _autocomplete.snippetCompletion)("do {\n\t${}\n} while (${})", {
  label: "do",
  detail: "loop",
  type: "keyword"
}), /*@__PURE__*/(0, _autocomplete.snippetCompletion)("while (${}) {\n\t${}\n}", {
  label: "while",
  detail: "loop",
  type: "keyword"
}), /*@__PURE__*/(0, _autocomplete.snippetCompletion)("try {\n\t${}\n} catch (${error}) {\n\t${}\n}", {
  label: "try",
  detail: "/ catch block",
  type: "keyword"
}), /*@__PURE__*/(0, _autocomplete.snippetCompletion)("if (${}) {\n\t${}\n}", {
  label: "if",
  detail: "block",
  type: "keyword"
}), /*@__PURE__*/(0, _autocomplete.snippetCompletion)("if (${}) {\n\t${}\n} else {\n\t${}\n}", {
  label: "if",
  detail: "/ else block",
  type: "keyword"
}), /*@__PURE__*/(0, _autocomplete.snippetCompletion)("class ${name} {\n\tconstructor(${params}) {\n\t\t${}\n\t}\n}", {
  label: "class",
  detail: "definition",
  type: "keyword"
}), /*@__PURE__*/(0, _autocomplete.snippetCompletion)("import {${names}} from \"${module}\"\n${}", {
  label: "import",
  detail: "named",
  type: "keyword"
}), /*@__PURE__*/(0, _autocomplete.snippetCompletion)("import ${name} from \"${module}\"\n${}", {
  label: "import",
  detail: "default",
  type: "keyword"
})];
/**
A collection of snippet completions for TypeScript. Includes the
JavaScript [snippets](https://codemirror.net/6/docs/ref/#lang-javascript.snippets).
*/
var typescriptSnippets = exports.typescriptSnippets = /*@__PURE__*/snippets.concat([/*@__PURE__*/(0, _autocomplete.snippetCompletion)("interface ${name} {\n\t${}\n}", {
  label: "interface",
  detail: "definition",
  type: "keyword"
}), /*@__PURE__*/(0, _autocomplete.snippetCompletion)("type ${name} = ${type}", {
  label: "type",
  detail: "definition",
  type: "keyword"
}), /*@__PURE__*/(0, _autocomplete.snippetCompletion)("enum ${name} {\n\t${}\n}", {
  label: "enum",
  detail: "definition",
  type: "keyword"
})]);
var cache = /*@__PURE__*/new _common.NodeWeakMap();
var ScopeNodes = /*@__PURE__*/new Set(["Script", "Block", "FunctionExpression", "FunctionDeclaration", "ArrowFunction", "MethodDeclaration", "ForStatement"]);
function defID(type) {
  return function (node, def) {
    var id = node.node.getChild("VariableDefinition");
    if (id) def(id, type);
    return true;
  };
}
var functionContext = ["FunctionDeclaration"];
var gatherCompletions = {
  FunctionDeclaration: /*@__PURE__*/defID("function"),
  ClassDeclaration: /*@__PURE__*/defID("class"),
  ClassExpression: function ClassExpression() {
    return true;
  },
  EnumDeclaration: /*@__PURE__*/defID("constant"),
  TypeAliasDeclaration: /*@__PURE__*/defID("type"),
  NamespaceDeclaration: /*@__PURE__*/defID("namespace"),
  VariableDefinition: function VariableDefinition(node, def) {
    if (!node.matchContext(functionContext)) def(node, "variable");
  },
  TypeDefinition: function TypeDefinition(node, def) {
    def(node, "type");
  },
  __proto__: null
};
function getScope(doc, node) {
  var cached = cache.get(node);
  if (cached) return cached;
  var completions = [],
    top = true;
  function def(node, type) {
    var name = doc.sliceString(node.from, node.to);
    completions.push({
      label: name,
      type: type
    });
  }
  node.cursor(_common.IterMode.IncludeAnonymous).iterate(function (node) {
    if (top) {
      top = false;
    } else if (node.name) {
      var gather = gatherCompletions[node.name];
      if (gather && gather(node, def) || ScopeNodes.has(node.name)) return false;
    } else if (node.to - node.from > 8192) {
      // Allow caching for bigger internal nodes
      var _iterator = _createForOfIteratorHelper(getScope(doc, node.node)),
        _step;
      try {
        for (_iterator.s(); !(_step = _iterator.n()).done;) {
          var c = _step.value;
          completions.push(c);
        }
      } catch (err) {
        _iterator.e(err);
      } finally {
        _iterator.f();
      }
      return false;
    }
  });
  cache.set(node, completions);
  return completions;
}
var Identifier = /^[\w$\xa1-\uffff][\w$\d\xa1-\uffff]*$/;
var dontComplete = ["TemplateString", "String", "RegExp", "LineComment", "BlockComment", "VariableDefinition", "TypeDefinition", "Label", "PropertyDefinition", "PropertyName", "PrivatePropertyDefinition", "PrivatePropertyName", ".", "?."];
/**
Completion source that looks up locally defined names in
JavaScript code.
*/
function localCompletionSource(context) {
  var inner = (0, _language.syntaxTree)(context.state).resolveInner(context.pos, -1);
  if (dontComplete.indexOf(inner.name) > -1) return null;
  var isWord = inner.name == "VariableName" || inner.to - inner.from < 20 && Identifier.test(context.state.sliceDoc(inner.from, inner.to));
  if (!isWord && !context.explicit) return null;
  var options = [];
  for (var pos = inner; pos; pos = pos.parent) {
    if (ScopeNodes.has(pos.name)) options = options.concat(getScope(context.state.doc, pos));
  }
  return {
    options: options,
    from: isWord ? inner.from : context.pos,
    validFor: Identifier
  };
}
function pathFor(read, member, name) {
  var _a;
  var path = [];
  for (;;) {
    var obj = member.firstChild,
      prop = void 0;
    if ((obj === null || obj === void 0 ? void 0 : obj.name) == "VariableName") {
      path.push(read(obj));
      return {
        path: path.reverse(),
        name: name
      };
    } else if ((obj === null || obj === void 0 ? void 0 : obj.name) == "MemberExpression" && ((_a = prop = obj.lastChild) === null || _a === void 0 ? void 0 : _a.name) == "PropertyName") {
      path.push(read(prop));
      member = obj;
    } else {
      return null;
    }
  }
}
/**
Helper function for defining JavaScript completion sources. It
returns the completable name and object path for a completion
context, or null if no name/property completion should happen at
that position. For example, when completing after `a.b.c` it will
return `{path: ["a", "b"], name: "c"}`. When completing after `x`
it will return `{path: [], name: "x"}`. When not in a property or
name, it will return null if `context.explicit` is false, and
`{path: [], name: ""}` otherwise.
*/
function completionPath(context) {
  var read = function read(node) {
    return context.state.doc.sliceString(node.from, node.to);
  };
  var inner = (0, _language.syntaxTree)(context.state).resolveInner(context.pos, -1);
  if (inner.name == "PropertyName") {
    return pathFor(read, inner.parent, read(inner));
  } else if ((inner.name == "." || inner.name == "?.") && inner.parent.name == "MemberExpression") {
    return pathFor(read, inner.parent, "");
  } else if (dontComplete.indexOf(inner.name) > -1) {
    return null;
  } else if (inner.name == "VariableName" || inner.to - inner.from < 20 && Identifier.test(read(inner))) {
    return {
      path: [],
      name: read(inner)
    };
  } else if (inner.name == "MemberExpression") {
    return pathFor(read, inner, "");
  } else {
    return context.explicit ? {
      path: [],
      name: ""
    } : null;
  }
}
function enumeratePropertyCompletions(obj, top) {
  var options = [],
    seen = new Set();
  for (var depth = 0;; depth++) {
    var _iterator2 = _createForOfIteratorHelper((Object.getOwnPropertyNames || Object.keys)(obj)),
      _step2;
    try {
      for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
        var name = _step2.value;
        if (!/^[a-zA-Z_$\xaa-\uffdc][\w$\xaa-\uffdc]*$/.test(name) || seen.has(name)) continue;
        seen.add(name);
        var value = void 0;
        try {
          value = obj[name];
        } catch (_) {
          continue;
        }
        options.push({
          label: name,
          type: typeof value == "function" ? /^[A-Z]/.test(name) ? "class" : top ? "function" : "method" : top ? "variable" : "property",
          boost: -depth
        });
      }
    } catch (err) {
      _iterator2.e(err);
    } finally {
      _iterator2.f();
    }
    var next = Object.getPrototypeOf(obj);
    if (!next) return options;
    obj = next;
  }
}
/**
Defines a [completion source](https://codemirror.net/6/docs/ref/#autocomplete.CompletionSource) that
completes from the given scope object (for example `globalThis`).
Will enter properties of the object when completing properties on
a directly-named path.
*/
function scopeCompletionSource(scope) {
  var cache = new Map();
  return function (context) {
    var path = completionPath(context);
    if (!path) return null;
    var target = scope;
    var _iterator3 = _createForOfIteratorHelper(path.path),
      _step3;
    try {
      for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
        var step = _step3.value;
        target = target[step];
        if (!target) return null;
      }
    } catch (err) {
      _iterator3.e(err);
    } finally {
      _iterator3.f();
    }
    var options = cache.get(target);
    if (!options) cache.set(target, options = enumeratePropertyCompletions(target, !path.path.length));
    return {
      from: context.pos - path.name.length,
      options: options,
      validFor: Identifier
    };
  };
}

/**
A language provider based on the [Lezer JavaScript
parser](https://github.com/lezer-parser/javascript), extended with
highlighting and indentation information.
*/
var javascriptLanguage = exports.javascriptLanguage = /*@__PURE__*/_language.LRLanguage.define({
  name: "javascript",
  parser: /*@__PURE__*/_javascript.parser.configure({
    props: [/*@__PURE__*/_language.indentNodeProp.add({
      IfStatement: /*@__PURE__*/(0, _language.continuedIndent)({
        except: /^\s*({|else\b)/
      }),
      TryStatement: /*@__PURE__*/(0, _language.continuedIndent)({
        except: /^\s*({|catch\b|finally\b)/
      }),
      LabeledStatement: _language.flatIndent,
      SwitchBody: function SwitchBody(context) {
        var after = context.textAfter,
          closed = /^\s*\}/.test(after),
          isCase = /^\s*(case|default)\b/.test(after);
        return context.baseIndent + (closed ? 0 : isCase ? 1 : 2) * context.unit;
      },
      Block: /*@__PURE__*/(0, _language.delimitedIndent)({
        closing: "}"
      }),
      ArrowFunction: function ArrowFunction(cx) {
        return cx.baseIndent + cx.unit;
      },
      "TemplateString BlockComment": function TemplateStringBlockComment() {
        return null;
      },
      "Statement Property": /*@__PURE__*/(0, _language.continuedIndent)({
        except: /^{/
      }),
      JSXElement: function JSXElement(context) {
        var closed = /^\s*<\//.test(context.textAfter);
        return context.lineIndent(context.node.from) + (closed ? 0 : context.unit);
      },
      JSXEscape: function JSXEscape(context) {
        var closed = /\s*\}/.test(context.textAfter);
        return context.lineIndent(context.node.from) + (closed ? 0 : context.unit);
      },
      "JSXOpenTag JSXSelfClosingTag": function JSXOpenTagJSXSelfClosingTag(context) {
        return context.column(context.node.from) + context.unit;
      }
    }), /*@__PURE__*/_language.foldNodeProp.add({
      "Block ClassBody SwitchBody EnumBody ObjectExpression ArrayExpression ObjectType": _language.foldInside,
      BlockComment: function BlockComment(tree) {
        return {
          from: tree.from + 2,
          to: tree.to - 2
        };
      }
    })]
  }),
  languageData: {
    closeBrackets: {
      brackets: ["(", "[", "{", "'", '"', "`"]
    },
    commentTokens: {
      line: "//",
      block: {
        open: "/*",
        close: "*/"
      }
    },
    indentOnInput: /^\s*(?:case |default:|\{|\}|<\/)$/,
    wordChars: "$"
  }
});
var jsxSublanguage = {
  test: function test(node) {
    return /^JSX/.test(node.name);
  },
  facet: /*@__PURE__*/(0, _language.defineLanguageFacet)({
    commentTokens: {
      block: {
        open: "{/*",
        close: "*/}"
      }
    }
  })
};
/**
A language provider for TypeScript.
*/
var typescriptLanguage = exports.typescriptLanguage = /*@__PURE__*/javascriptLanguage.configure({
  dialect: "ts"
}, "typescript");
/**
Language provider for JSX.
*/
var jsxLanguage = exports.jsxLanguage = /*@__PURE__*/javascriptLanguage.configure({
  dialect: "jsx",
  props: [/*@__PURE__*/_language.sublanguageProp.add(function (n) {
    return n.isTop ? [jsxSublanguage] : undefined;
  })]
});
/**
Language provider for JSX + TypeScript.
*/
var tsxLanguage = exports.tsxLanguage = /*@__PURE__*/javascriptLanguage.configure({
  dialect: "jsx ts",
  props: [/*@__PURE__*/_language.sublanguageProp.add(function (n) {
    return n.isTop ? [jsxSublanguage] : undefined;
  })]
}, "typescript");
var kwCompletion = function kwCompletion(name) {
  return {
    label: name,
    type: "keyword"
  };
};
var keywords = /*@__PURE__*/"break case const continue default delete export extends false finally in instanceof let new return static super switch this throw true typeof var yield".split(" ").map(kwCompletion);
var typescriptKeywords = /*@__PURE__*/keywords.concat( /*@__PURE__*/["declare", "implements", "private", "protected", "public"].map(kwCompletion));
/**
JavaScript support. Includes [snippet](https://codemirror.net/6/docs/ref/#lang-javascript.snippets)
and local variable completion.
*/
function javascript() {
  var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
  var lang = config.jsx ? config.typescript ? tsxLanguage : jsxLanguage : config.typescript ? typescriptLanguage : javascriptLanguage;
  var completions = config.typescript ? typescriptSnippets.concat(typescriptKeywords) : snippets.concat(keywords);
  return new _language.LanguageSupport(lang, [javascriptLanguage.data.of({
    autocomplete: (0, _autocomplete.ifNotIn)(dontComplete, (0, _autocomplete.completeFromList)(completions))
  }), javascriptLanguage.data.of({
    autocomplete: localCompletionSource
  }), config.jsx ? autoCloseTags : []]);
}
function findOpenTag(node) {
  for (;;) {
    if (node.name == "JSXOpenTag" || node.name == "JSXSelfClosingTag" || node.name == "JSXFragmentTag") return node;
    if (node.name == "JSXEscape" || !node.parent) return null;
    node = node.parent;
  }
}
function elementName(doc, tree) {
  var max = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : doc.length;
  for (var ch = tree === null || tree === void 0 ? void 0 : tree.firstChild; ch; ch = ch.nextSibling) {
    if (ch.name == "JSXIdentifier" || ch.name == "JSXBuiltin" || ch.name == "JSXNamespacedName" || ch.name == "JSXMemberExpression") return doc.sliceString(ch.from, Math.min(ch.to, max));
  }
  return "";
}
var android = (typeof navigator === "undefined" ? "undefined" : _typeof(navigator)) == "object" && /*@__PURE__*/ /Android\b/.test(navigator.userAgent);
/**
Extension that will automatically insert JSX close tags when a `>` or
`/` is typed.
*/
var autoCloseTags = exports.autoCloseTags = /*@__PURE__*/_view.EditorView.inputHandler.of(function (view, from, to, text, defaultInsert) {
  if ((android ? view.composing : view.compositionStarted) || view.state.readOnly || from != to || text != ">" && text != "/" || !javascriptLanguage.isActiveAt(view.state, from, -1)) return false;
  var base = defaultInsert(),
    state = base.state;
  var closeTags = state.changeByRange(function (range) {
    var _a;
    var head = range.head,
      around = (0, _language.syntaxTree)(state).resolveInner(head - 1, -1),
      name;
    if (around.name == "JSXStartTag") around = around.parent;
    if (state.doc.sliceString(head - 1, head) != text || around.name == "JSXAttributeValue" && around.to > head) ;else if (text == ">" && around.name == "JSXFragmentTag") {
      return {
        range: range,
        changes: {
          from: head,
          insert: "</>"
        }
      };
    } else if (text == "/" && around.name == "JSXStartCloseTag") {
      var empty = around.parent,
        _base = empty.parent;
      if (_base && empty.from == head - 2 && ((name = elementName(state.doc, _base.firstChild, head)) || ((_a = _base.firstChild) === null || _a === void 0 ? void 0 : _a.name) == "JSXFragmentTag")) {
        var insert = "".concat(name, ">");
        return {
          range: _state.EditorSelection.cursor(head + insert.length, -1),
          changes: {
            from: head,
            insert: insert
          }
        };
      }
    } else if (text == ">") {
      var openTag = findOpenTag(around);
      if (openTag && openTag.name == "JSXOpenTag" && !/^\/?>|^<\//.test(state.doc.sliceString(head, head + 2)) && (name = elementName(state.doc, openTag, head))) return {
        range: range,
        changes: {
          from: head,
          insert: "</".concat(name, ">")
        }
      };
    }
    return {
      range: range
    };
  });
  if (closeTags.changes.empty) return false;
  view.dispatch([base, state.update(closeTags, {
    userEvent: "input.complete",
    scrollIntoView: true
  })]);
  return true;
});

/**
Connects an [ESLint](https://eslint.org/) linter to CodeMirror's
[lint](https://codemirror.net/6/docs/ref/#lint) integration. `eslint` should be an instance of the
[`Linter`](https://eslint.org/docs/developer-guide/nodejs-api#linter)
class, and `config` an optional ESLint configuration. The return
value of this function can be passed to [`linter`](https://codemirror.net/6/docs/ref/#lint.linter)
to create a JavaScript linting extension.

Note that ESLint targets node, and is tricky to run in the
browser. The
[eslint-linter-browserify](https://github.com/UziTech/eslint-linter-browserify)
package may help with that (see
[example](https://github.com/UziTech/eslint-linter-browserify/blob/master/example/script.js)).
*/
function esLint(eslint, config) {
  if (!config) {
    config = {
      parserOptions: {
        ecmaVersion: 2019,
        sourceType: "module"
      },
      env: {
        browser: true,
        node: true,
        es6: true,
        es2015: true,
        es2017: true,
        es2020: true
      },
      rules: {}
    };
    eslint.getRules().forEach(function (desc, name) {
      if (desc.meta.docs.recommended) config.rules[name] = 2;
    });
  }
  return function (view) {
    var state = view.state,
      found = [];
    var _iterator4 = _createForOfIteratorHelper(javascriptLanguage.findRegions(state)),
      _step4;
    try {
      for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
        var _step4$value = _step4.value,
          from = _step4$value.from,
          to = _step4$value.to;
        var fromLine = state.doc.lineAt(from),
          offset = {
            line: fromLine.number - 1,
            col: from - fromLine.from,
            pos: from
          };
        var _iterator5 = _createForOfIteratorHelper(eslint.verify(state.sliceDoc(from, to), config)),
          _step5;
        try {
          for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
            var d = _step5.value;
            found.push(translateDiagnostic(d, state.doc, offset));
          }
        } catch (err) {
          _iterator5.e(err);
        } finally {
          _iterator5.f();
        }
      }
    } catch (err) {
      _iterator4.e(err);
    } finally {
      _iterator4.f();
    }
    return found;
  };
}
function mapPos(line, col, doc, offset) {
  return doc.line(line + offset.line).from + col + (line == 1 ? offset.col - 1 : -1);
}
function translateDiagnostic(input, doc, offset) {
  var start = mapPos(input.line, input.column, doc, offset);
  var result = {
    from: start,
    to: input.endLine != null && input.endColumn != 1 ? mapPos(input.endLine, input.endColumn, doc, offset) : start,
    message: input.message,
    source: input.ruleId ? "eslint:" + input.ruleId : "eslint",
    severity: input.severity == 1 ? "warning" : "error"
  };
  if (input.fix) {
    var _input$fix = input.fix,
      range = _input$fix.range,
      text = _input$fix.text,
      from = range[0] + offset.pos - start,
      to = range[1] + offset.pos - start;
    result.actions = [{
      name: "fix",
      apply: function apply(view, start) {
        view.dispatch({
          changes: {
            from: start + from,
            to: start + to,
            insert: text
          },
          scrollIntoView: true
        });
      }
    }];
  }
  return result;
}

},{"@codemirror/autocomplete":3,"@codemirror/language":6,"@codemirror/state":9,"@codemirror/view":10,"@lezer/common":11,"@lezer/javascript":13}],6:[function(require,module,exports){
"use strict";

Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.TreeIndentContext = exports.StringStream = exports.StreamLanguage = exports.ParseContext = exports.LanguageSupport = exports.LanguageDescription = exports.Language = exports.LRLanguage = exports.IndentContext = exports.HighlightStyle = exports.DocInput = void 0;
exports.bidiIsolates = bidiIsolates;
exports.bracketMatching = bracketMatching;
exports.bracketMatchingHandle = void 0;
exports.codeFolding = codeFolding;
exports.continuedIndent = continuedIndent;
exports.defaultHighlightStyle = void 0;
exports.defineLanguageFacet = defineLanguageFacet;
exports.delimitedIndent = delimitedIndent;
exports.ensureSyntaxTree = ensureSyntaxTree;
exports.foldEffect = exports.foldCode = exports.foldAll = exports.flatIndent = void 0;
exports.foldGutter = foldGutter;
exports.foldInside = foldInside;
exports.foldState = exports.foldService = exports.foldNodeProp = exports.foldKeymap = void 0;
exports.foldable = foldable;
exports.foldedRanges = foldedRanges;
exports.forceParsing = forceParsing;
exports.getIndentUnit = getIndentUnit;
exports.getIndentation = getIndentation;
exports.highlightingFor = highlightingFor;
exports.indentNodeProp = void 0;
exports.indentOnInput = indentOnInput;
exports.indentRange = indentRange;
exports.indentService = void 0;
exports.indentString = indentString;
exports.languageDataProp = exports.language = exports.indentUnit = void 0;
exports.matchBrackets = matchBrackets;
exports.sublanguageProp = void 0;
exports.syntaxHighlighting = syntaxHighlighting;
exports.syntaxParserRunning = syntaxParserRunning;
exports.syntaxTree = syntaxTree;
exports.syntaxTreeAvailable = syntaxTreeAvailable;
exports.unfoldEffect = exports.unfoldCode = exports.unfoldAll = exports.toggleFold = void 0;
var _common = require("@lezer/common");
var _state2 = require("@codemirror/state");
var _view = require("@codemirror/view");
var _highlight = require("@lezer/highlight");
var _styleMod = require("style-mod");
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
var _a;
/**
Node prop stored in a parser's top syntax node to provide the
facet that stores language-specific data for that language.
*/
var languageDataProp = exports.languageDataProp = /*@__PURE__*/new _common.NodeProp();
/**
Helper function to define a facet (to be added to the top syntax
node(s) for a language via
[`languageDataProp`](https://codemirror.net/6/docs/ref/#language.languageDataProp)), that will be
used to associate language data with the language. You
probably only need this when subclassing
[`Language`](https://codemirror.net/6/docs/ref/#language.Language).
*/
function defineLanguageFacet(baseData) {
  return _state2.Facet.define({
    combine: baseData ? function (values) {
      return values.concat(baseData);
    } : undefined
  });
}
/**
Syntax node prop used to register sublanguages. Should be added to
the top level node type for the language.
*/
var sublanguageProp = exports.sublanguageProp = /*@__PURE__*/new _common.NodeProp();
/**
A language object manages parsing and per-language
[metadata](https://codemirror.net/6/docs/ref/#state.EditorState.languageDataAt). Parse data is
managed as a [Lezer](https://lezer.codemirror.net) tree. The class
can be used directly, via the [`LRLanguage`](https://codemirror.net/6/docs/ref/#language.LRLanguage)
subclass for [Lezer](https://lezer.codemirror.net/) LR parsers, or
via the [`StreamLanguage`](https://codemirror.net/6/docs/ref/#language.StreamLanguage) subclass
for stream parsers.
*/
var Language = exports.Language = /*#__PURE__*/function () {
  /**
  Construct a language object. If you need to invoke this
  directly, first define a data facet with
  [`defineLanguageFacet`](https://codemirror.net/6/docs/ref/#language.defineLanguageFacet), and then
  configure your parser to [attach](https://codemirror.net/6/docs/ref/#language.languageDataProp) it
  to the language's outer syntax node.
  */
  function Language(
  /**
  The [language data](https://codemirror.net/6/docs/ref/#state.EditorState.languageDataAt) facet
  used for this language.
  */
  data, parser) {
    var extraExtensions = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
    var name = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : "";
    _classCallCheck(this, Language);
    this.data = data;
    this.name = name;
    // Kludge to define EditorState.tree as a debugging helper,
    // without the EditorState package actually knowing about
    // languages and lezer trees.
    if (!_state2.EditorState.prototype.hasOwnProperty("tree")) Object.defineProperty(_state2.EditorState.prototype, "tree", {
      get: function get() {
        return syntaxTree(this);
      }
    });
    this.parser = parser;
    this.extension = [language.of(this), _state2.EditorState.languageData.of(function (state, pos, side) {
      var top = topNodeAt(state, pos, side),
        data = top.type.prop(languageDataProp);
      if (!data) return [];
      var base = state.facet(data),
        sub = top.type.prop(sublanguageProp);
      if (sub) {
        var innerNode = top.resolve(pos - top.from, side);
        var _iterator = _createForOfIteratorHelper(sub),
          _step;
        try {
          for (_iterator.s(); !(_step = _iterator.n()).done;) {
            var sublang = _step.value;
            if (sublang.test(innerNode, state)) {
              var _data = state.facet(sublang.facet);
              return sublang.type == "replace" ? _data : _data.concat(base);
            }
          }
        } catch (err) {
          _iterator.e(err);
        } finally {
          _iterator.f();
        }
      }
      return base;
    })].concat(extraExtensions);
  }
  /**
  Query whether this language is active at the given position.
  */
  return _createClass(Language, [{
    key: "isActiveAt",
    value: function isActiveAt(state, pos) {
      var side = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : -1;
      return topNodeAt(state, pos, side).type.prop(languageDataProp) == this.data;
    }
    /**
    Find the document regions that were parsed using this language.
    The returned regions will _include_ any nested languages rooted
    in this language, when those exist.
    */
  }, {
    key: "findRegions",
    value: function findRegions(state) {
      var _this = this;
      var lang = state.facet(language);
      if ((lang === null || lang === void 0 ? void 0 : lang.data) == this.data) return [{
        from: 0,
        to: state.doc.length
      }];
      if (!lang || !lang.allowsNesting) return [];
      var result = [];
      var explore = function explore(tree, from) {
        if (tree.prop(languageDataProp) == _this.data) {
          result.push({
            from: from,
            to: from + tree.length
          });
          return;
        }
        var mount = tree.prop(_common.NodeProp.mounted);
        if (mount) {
          if (mount.tree.prop(languageDataProp) == _this.data) {
            if (mount.overlay) {
              var _iterator2 = _createForOfIteratorHelper(mount.overlay),
                _step2;
              try {
                for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
                  var r = _step2.value;
                  result.push({
                    from: r.from + from,
                    to: r.to + from
                  });
                }
              } catch (err) {
                _iterator2.e(err);
              } finally {
                _iterator2.f();
              }
            } else result.push({
              from: from,
              to: from + tree.length
            });
            return;
          } else if (mount.overlay) {
            var size = result.length;
            explore(mount.tree, mount.overlay[0].from + from);
            if (result.length > size) return;
          }
        }
        for (var i = 0; i < tree.children.length; i++) {
          var ch = tree.children[i];
          if (ch instanceof _common.Tree) explore(ch, tree.positions[i] + from);
        }
      };
      explore(syntaxTree(state), 0);
      return result;
    }
    /**
    Indicates whether this language allows nested languages. The
    default implementation returns true.
    */
  }, {
    key: "allowsNesting",
    get: function get() {
      return true;
    }
  }]);
}();
/**
@internal
*/
Language.setState = /*@__PURE__*/_state2.StateEffect.define();
function topNodeAt(state, pos, side) {
  var topLang = state.facet(language),
    tree = syntaxTree(state).topNode;
  if (!topLang || topLang.allowsNesting) {
    for (var node = tree; node; node = node.enter(pos, side, _common.IterMode.ExcludeBuffers)) if (node.type.isTop) tree = node;
  }
  return tree;
}
/**
A subclass of [`Language`](https://codemirror.net/6/docs/ref/#language.Language) for use with Lezer
[LR parsers](https://lezer.codemirror.net/docs/ref#lr.LRParser)
parsers.
*/
var LRLanguage = exports.LRLanguage = /*#__PURE__*/function (_Language) {
  function LRLanguage(data, parser, name) {
    var _this2;
    _classCallCheck(this, LRLanguage);
    _this2 = _callSuper(this, LRLanguage, [data, parser, [], name]);
    _this2.parser = parser;
    return _this2;
  }
  /**
  Define a language from a parser.
  */
  _inherits(LRLanguage, _Language);
  return _createClass(LRLanguage, [{
    key: "configure",
    value:
    /**
    Create a new instance of this language with a reconfigured
    version of its parser and optionally a new name.
    */
    function configure(options, name) {
      return new LRLanguage(this.data, this.parser.configure(options), name || this.name);
    }
  }, {
    key: "allowsNesting",
    get: function get() {
      return this.parser.hasWrappers();
    }
  }], [{
    key: "define",
    value: function define(spec) {
      var data = defineLanguageFacet(spec.languageData);
      return new LRLanguage(data, spec.parser.configure({
        props: [languageDataProp.add(function (type) {
          return type.isTop ? data : undefined;
        })]
      }), spec.name);
    }
  }]);
}(Language);
/**
Get the syntax tree for a state, which is the current (possibly
incomplete) parse tree of the active
[language](https://codemirror.net/6/docs/ref/#language.Language), or the empty tree if there is no
language available.
*/
function syntaxTree(state) {
  var field = state.field(Language.state, false);
  return field ? field.tree : _common.Tree.empty;
}
/**
Try to get a parse tree that spans at least up to `upto`. The
method will do at most `timeout` milliseconds of work to parse
up to that point if the tree isn't already available.
*/
function ensureSyntaxTree(state, upto) {
  var timeout = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 50;
  var _a;
  var parse = (_a = state.field(Language.state, false)) === null || _a === void 0 ? void 0 : _a.context;
  if (!parse) return null;
  var oldVieport = parse.viewport;
  parse.updateViewport({
    from: 0,
    to: upto
  });
  var result = parse.isDone(upto) || parse.work(timeout, upto) ? parse.tree : null;
  parse.updateViewport(oldVieport);
  return result;
}
/**
Queries whether there is a full syntax tree available up to the
given document position. If there isn't, the background parse
process _might_ still be working and update the tree further, but
there is no guarantee of that—the parser will [stop
working](https://codemirror.net/6/docs/ref/#language.syntaxParserRunning) when it has spent a
certain amount of time or has moved beyond the visible viewport.
Always returns false if no language has been enabled.
*/
function syntaxTreeAvailable(state) {
  var upto = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : state.doc.length;
  var _a;
  return ((_a = state.field(Language.state, false)) === null || _a === void 0 ? void 0 : _a.context.isDone(upto)) || false;
}
/**
Move parsing forward, and update the editor state afterwards to
reflect the new tree. Will work for at most `timeout`
milliseconds. Returns true if the parser managed get to the given
position in that time.
*/
function forceParsing(view) {
  var upto = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : view.viewport.to;
  var timeout = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 100;
  var success = ensureSyntaxTree(view.state, upto, timeout);
  if (success != syntaxTree(view.state)) view.dispatch({});
  return !!success;
}
/**
Tells you whether the language parser is planning to do more
parsing work (in a `requestIdleCallback` pseudo-thread) or has
stopped running, either because it parsed the entire document,
because it spent too much time and was cut off, or because there
is no language parser enabled.
*/
function syntaxParserRunning(view) {
  var _a;
  return ((_a = view.plugin(parseWorker)) === null || _a === void 0 ? void 0 : _a.isWorking()) || false;
}
/**
Lezer-style
[`Input`](https://lezer.codemirror.net/docs/ref#common.Input)
object for a [`Text`](https://codemirror.net/6/docs/ref/#state.Text) object.
*/
var DocInput = exports.DocInput = /*#__PURE__*/function () {
  /**
  Create an input object for the given document.
  */
  function DocInput(doc) {
    _classCallCheck(this, DocInput);
    this.doc = doc;
    this.cursorPos = 0;
    this.string = "";
    this.cursor = doc.iter();
  }
  return _createClass(DocInput, [{
    key: "length",
    get: function get() {
      return this.doc.length;
    }
  }, {
    key: "syncTo",
    value: function syncTo(pos) {
      this.string = this.cursor.next(pos - this.cursorPos).value;
      this.cursorPos = pos + this.string.length;
      return this.cursorPos - this.string.length;
    }
  }, {
    key: "chunk",
    value: function chunk(pos) {
      this.syncTo(pos);
      return this.string;
    }
  }, {
    key: "lineChunks",
    get: function get() {
      return true;
    }
  }, {
    key: "read",
    value: function read(from, to) {
      var stringStart = this.cursorPos - this.string.length;
      if (from < stringStart || to >= this.cursorPos) return this.doc.sliceString(from, to);else return this.string.slice(from - stringStart, to - stringStart);
    }
  }]);
}();
var currentContext = null;
/**
A parse context provided to parsers working on the editor content.
*/
var ParseContext = exports.ParseContext = /*#__PURE__*/function () {
  function ParseContext(parser,
  /**
  The current editor state.
  */
  state) {
    var fragments = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
    var
    /**
    @internal
    */
    tree = arguments.length > 3 ? arguments[3] : undefined;
    var
    /**
    @internal
    */
    treeLen = arguments.length > 4 ? arguments[4] : undefined;
    var
    /**
    The current editor viewport (or some overapproximation
    thereof). Intended to be used for opportunistically avoiding
    work (in which case
    [`skipUntilInView`](https://codemirror.net/6/docs/ref/#language.ParseContext.skipUntilInView)
    should be called to make sure the parser is restarted when the
    skipped region becomes visible).
    */
    viewport = arguments.length > 5 ? arguments[5] : undefined;
    var
    /**
    @internal
    */
    skipped = arguments.length > 6 ? arguments[6] : undefined;
    var
    /**
    This is where skipping parsers can register a promise that,
    when resolved, will schedule a new parse. It is cleared when
    the parse worker picks up the promise. @internal
    */
    scheduleOn = arguments.length > 7 ? arguments[7] : undefined;
    _classCallCheck(this, ParseContext);
    this.parser = parser;
    this.state = state;
    this.fragments = fragments;
    this.tree = tree;
    this.treeLen = treeLen;
    this.viewport = viewport;
    this.skipped = skipped;
    this.scheduleOn = scheduleOn;
    this.parse = null;
    /**
    @internal
    */
    this.tempSkipped = [];
  }
  /**
  @internal
  */
  return _createClass(ParseContext, [{
    key: "startParse",
    value: function startParse() {
      return this.parser.startParse(new DocInput(this.state.doc), this.fragments);
    }
    /**
    @internal
    */
  }, {
    key: "work",
    value: function work(until, upto) {
      var _this3 = this;
      if (upto != null && upto >= this.state.doc.length) upto = undefined;
      if (this.tree != _common.Tree.empty && this.isDone(upto !== null && upto !== void 0 ? upto : this.state.doc.length)) {
        this.takeTree();
        return true;
      }
      return this.withContext(function () {
        var _a;
        if (typeof until == "number") {
          var endTime = Date.now() + until;
          until = function until() {
            return Date.now() > endTime;
          };
        }
        if (!_this3.parse) _this3.parse = _this3.startParse();
        if (upto != null && (_this3.parse.stoppedAt == null || _this3.parse.stoppedAt > upto) && upto < _this3.state.doc.length) _this3.parse.stopAt(upto);
        for (;;) {
          var done = _this3.parse.advance();
          if (done) {
            _this3.fragments = _this3.withoutTempSkipped(_common.TreeFragment.addTree(done, _this3.fragments, _this3.parse.stoppedAt != null));
            _this3.treeLen = (_a = _this3.parse.stoppedAt) !== null && _a !== void 0 ? _a : _this3.state.doc.length;
            _this3.tree = done;
            _this3.parse = null;
            if (_this3.treeLen < (upto !== null && upto !== void 0 ? upto : _this3.state.doc.length)) _this3.parse = _this3.startParse();else return true;
          }
          if (until()) return false;
        }
      });
    }
    /**
    @internal
    */
  }, {
    key: "takeTree",
    value: function takeTree() {
      var _this4 = this;
      var pos, tree;
      if (this.parse && (pos = this.parse.parsedPos) >= this.treeLen) {
        if (this.parse.stoppedAt == null || this.parse.stoppedAt > pos) this.parse.stopAt(pos);
        this.withContext(function () {
          while (!(tree = _this4.parse.advance())) {}
        });
        this.treeLen = pos;
        this.tree = tree;
        this.fragments = this.withoutTempSkipped(_common.TreeFragment.addTree(this.tree, this.fragments, true));
        this.parse = null;
      }
    }
  }, {
    key: "withContext",
    value: function withContext(f) {
      var prev = currentContext;
      currentContext = this;
      try {
        return f();
      } finally {
        currentContext = prev;
      }
    }
  }, {
    key: "withoutTempSkipped",
    value: function withoutTempSkipped(fragments) {
      for (var r; r = this.tempSkipped.pop();) fragments = cutFragments(fragments, r.from, r.to);
      return fragments;
    }
    /**
    @internal
    */
  }, {
    key: "changes",
    value: function changes(_changes, newState) {
      var fragments = this.fragments,
        tree = this.tree,
        treeLen = this.treeLen,
        viewport = this.viewport,
        skipped = this.skipped;
      this.takeTree();
      if (!_changes.empty) {
        var ranges = [];
        _changes.iterChangedRanges(function (fromA, toA, fromB, toB) {
          return ranges.push({
            fromA: fromA,
            toA: toA,
            fromB: fromB,
            toB: toB
          });
        });
        fragments = _common.TreeFragment.applyChanges(fragments, ranges);
        tree = _common.Tree.empty;
        treeLen = 0;
        viewport = {
          from: _changes.mapPos(viewport.from, -1),
          to: _changes.mapPos(viewport.to, 1)
        };
        if (this.skipped.length) {
          skipped = [];
          var _iterator3 = _createForOfIteratorHelper(this.skipped),
            _step3;
          try {
            for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
              var r = _step3.value;
              var from = _changes.mapPos(r.from, 1),
                to = _changes.mapPos(r.to, -1);
              if (from < to) skipped.push({
                from: from,
                to: to
              });
            }
          } catch (err) {
            _iterator3.e(err);
          } finally {
            _iterator3.f();
          }
        }
      }
      return new ParseContext(this.parser, newState, fragments, tree, treeLen, viewport, skipped, this.scheduleOn);
    }
    /**
    @internal
    */
  }, {
    key: "updateViewport",
    value: function updateViewport(viewport) {
      if (this.viewport.from == viewport.from && this.viewport.to == viewport.to) return false;
      this.viewport = viewport;
      var startLen = this.skipped.length;
      for (var i = 0; i < this.skipped.length; i++) {
        var _this$skipped$i = this.skipped[i],
          from = _this$skipped$i.from,
          to = _this$skipped$i.to;
        if (from < viewport.to && to > viewport.from) {
          this.fragments = cutFragments(this.fragments, from, to);
          this.skipped.splice(i--, 1);
        }
      }
      if (this.skipped.length >= startLen) return false;
      this.reset();
      return true;
    }
    /**
    @internal
    */
  }, {
    key: "reset",
    value: function reset() {
      if (this.parse) {
        this.takeTree();
        this.parse = null;
      }
    }
    /**
    Notify the parse scheduler that the given region was skipped
    because it wasn't in view, and the parse should be restarted
    when it comes into view.
    */
  }, {
    key: "skipUntilInView",
    value: function skipUntilInView(from, to) {
      this.skipped.push({
        from: from,
        to: to
      });
    }
    /**
    Returns a parser intended to be used as placeholder when
    asynchronously loading a nested parser. It'll skip its input and
    mark it as not-really-parsed, so that the next update will parse
    it again.
    
    When `until` is given, a reparse will be scheduled when that
    promise resolves.
    */
  }, {
    key: "isDone",
    value:
    /**
    @internal
    */
    function isDone(upto) {
      upto = Math.min(upto, this.state.doc.length);
      var frags = this.fragments;
      return this.treeLen >= upto && frags.length && frags[0].from == 0 && frags[0].to >= upto;
    }
    /**
    Get the context for the current parse, or `null` if no editor
    parse is in progress.
    */
  }], [{
    key: "create",
    value: function create(parser, state, viewport) {
      return new ParseContext(parser, state, [], _common.Tree.empty, 0, viewport, [], null);
    }
  }, {
    key: "getSkippingParser",
    value: function getSkippingParser(until) {
      return new ( /*#__PURE__*/function (_Parser) {
        function _class() {
          _classCallCheck(this, _class);
          return _callSuper(this, _class, arguments);
        }
        _inherits(_class, _Parser);
        return _createClass(_class, [{
          key: "createParse",
          value: function createParse(input, fragments, ranges) {
            var from = ranges[0].from,
              to = ranges[ranges.length - 1].to;
            var parser = {
              parsedPos: from,
              advance: function advance() {
                var cx = currentContext;
                if (cx) {
                  var _iterator4 = _createForOfIteratorHelper(ranges),
                    _step4;
                  try {
                    for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
                      var r = _step4.value;
                      cx.tempSkipped.push(r);
                    }
                  } catch (err) {
                    _iterator4.e(err);
                  } finally {
                    _iterator4.f();
                  }
                  if (until) cx.scheduleOn = cx.scheduleOn ? Promise.all([cx.scheduleOn, until]) : until;
                }
                this.parsedPos = to;
                return new _common.Tree(_common.NodeType.none, [], [], to - from);
              },
              stoppedAt: null,
              stopAt: function stopAt() {}
            };
            return parser;
          }
        }]);
      }(_common.Parser))();
    }
  }, {
    key: "get",
    value: function get() {
      return currentContext;
    }
  }]);
}();
function cutFragments(fragments, from, to) {
  return _common.TreeFragment.applyChanges(fragments, [{
    fromA: from,
    toA: to,
    fromB: from,
    toB: to
  }]);
}
var LanguageState = /*#__PURE__*/function () {
  function LanguageState(
  // A mutable parse state that is used to preserve work done during
  // the lifetime of a state when moving to the next state.
  context) {
    _classCallCheck(this, LanguageState);
    this.context = context;
    this.tree = context.tree;
  }
  return _createClass(LanguageState, [{
    key: "apply",
    value: function apply(tr) {
      if (!tr.docChanged && this.tree == this.context.tree) return this;
      var newCx = this.context.changes(tr.changes, tr.state);
      // If the previous parse wasn't done, go forward only up to its
      // end position or the end of the viewport, to avoid slowing down
      // state updates with parse work beyond the viewport.
      var upto = this.context.treeLen == tr.startState.doc.length ? undefined : Math.max(tr.changes.mapPos(this.context.treeLen), newCx.viewport.to);
      if (!newCx.work(20 /* Work.Apply */, upto)) newCx.takeTree();
      return new LanguageState(newCx);
    }
  }], [{
    key: "init",
    value: function init(state) {
      var vpTo = Math.min(3000 /* Work.InitViewport */, state.doc.length);
      var parseState = ParseContext.create(state.facet(language).parser, state, {
        from: 0,
        to: vpTo
      });
      if (!parseState.work(20 /* Work.Apply */, vpTo)) parseState.takeTree();
      return new LanguageState(parseState);
    }
  }]);
}();
Language.state = /*@__PURE__*/_state2.StateField.define({
  create: LanguageState.init,
  update: function update(value, tr) {
    var _iterator5 = _createForOfIteratorHelper(tr.effects),
      _step5;
    try {
      for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
        var e = _step5.value;
        if (e.is(Language.setState)) return e.value;
      }
    } catch (err) {
      _iterator5.e(err);
    } finally {
      _iterator5.f();
    }
    if (tr.startState.facet(language) != tr.state.facet(language)) return LanguageState.init(tr.state);
    return value.apply(tr);
  }
});
var requestIdle = function requestIdle(callback) {
  var timeout = setTimeout(function () {
    return callback();
  }, 500 /* Work.MaxPause */);
  return function () {
    return clearTimeout(timeout);
  };
};
if (typeof requestIdleCallback != "undefined") requestIdle = function requestIdle(callback) {
  var idle = -1,
    timeout = setTimeout(function () {
      idle = requestIdleCallback(callback, {
        timeout: 500 /* Work.MaxPause */ - 100 /* Work.MinPause */
      });
    }, 100 /* Work.MinPause */);
  return function () {
    return idle < 0 ? clearTimeout(timeout) : cancelIdleCallback(idle);
  };
};
var isInputPending = typeof navigator != "undefined" && ((_a = navigator.scheduling) === null || _a === void 0 ? void 0 : _a.isInputPending) ? function () {
  return navigator.scheduling.isInputPending();
} : null;
var parseWorker = /*@__PURE__*/_view.ViewPlugin.fromClass( /*#__PURE__*/function () {
  function ParseWorker(view) {
    _classCallCheck(this, ParseWorker);
    this.view = view;
    this.working = null;
    this.workScheduled = 0;
    // End of the current time chunk
    this.chunkEnd = -1;
    // Milliseconds of budget left for this chunk
    this.chunkBudget = -1;
    this.work = this.work.bind(this);
    this.scheduleWork();
  }
  return _createClass(ParseWorker, [{
    key: "update",
    value: function update(_update) {
      var cx = this.view.state.field(Language.state).context;
      if (cx.updateViewport(_update.view.viewport) || this.view.viewport.to > cx.treeLen) this.scheduleWork();
      if (_update.docChanged || _update.selectionSet) {
        if (this.view.hasFocus) this.chunkBudget += 50 /* Work.ChangeBonus */;
        this.scheduleWork();
      }
      this.checkAsyncSchedule(cx);
    }
  }, {
    key: "scheduleWork",
    value: function scheduleWork() {
      if (this.working) return;
      var state = this.view.state,
        field = state.field(Language.state);
      if (field.tree != field.context.tree || !field.context.isDone(state.doc.length)) this.working = requestIdle(this.work);
    }
  }, {
    key: "work",
    value: function work(deadline) {
      this.working = null;
      var now = Date.now();
      if (this.chunkEnd < now && (this.chunkEnd < 0 || this.view.hasFocus)) {
        // Start a new chunk
        this.chunkEnd = now + 30000 /* Work.ChunkTime */;
        this.chunkBudget = 3000 /* Work.ChunkBudget */;
      }
      if (this.chunkBudget <= 0) return; // No more budget
      var _this$view = this.view,
        state = _this$view.state,
        vpTo = _this$view.viewport.to,
        field = state.field(Language.state);
      if (field.tree == field.context.tree && field.context.isDone(vpTo + 100000 /* Work.MaxParseAhead */)) return;
      var endTime = Date.now() + Math.min(this.chunkBudget, 100 /* Work.Slice */, deadline && !isInputPending ? Math.max(25 /* Work.MinSlice */, deadline.timeRemaining() - 5) : 1e9);
      var viewportFirst = field.context.treeLen < vpTo && state.doc.length > vpTo + 1000;
      var done = field.context.work(function () {
        return isInputPending && isInputPending() || Date.now() > endTime;
      }, vpTo + (viewportFirst ? 0 : 100000 /* Work.MaxParseAhead */));
      this.chunkBudget -= Date.now() - now;
      if (done || this.chunkBudget <= 0) {
        field.context.takeTree();
        this.view.dispatch({
          effects: Language.setState.of(new LanguageState(field.context))
        });
      }
      if (this.chunkBudget > 0 && !(done && !viewportFirst)) this.scheduleWork();
      this.checkAsyncSchedule(field.context);
    }
  }, {
    key: "checkAsyncSchedule",
    value: function checkAsyncSchedule(cx) {
      var _this5 = this;
      if (cx.scheduleOn) {
        this.workScheduled++;
        cx.scheduleOn.then(function () {
          return _this5.scheduleWork();
        })["catch"](function (err) {
          return (0, _view.logException)(_this5.view.state, err);
        }).then(function () {
          return _this5.workScheduled--;
        });
        cx.scheduleOn = null;
      }
    }
  }, {
    key: "destroy",
    value: function destroy() {
      if (this.working) this.working();
    }
  }, {
    key: "isWorking",
    value: function isWorking() {
      return !!(this.working || this.workScheduled > 0);
    }
  }]);
}(), {
  eventHandlers: {
    focus: function focus() {
      this.scheduleWork();
    }
  }
});
/**
The facet used to associate a language with an editor state. Used
by `Language` object's `extension` property (so you don't need to
manually wrap your languages in this). Can be used to access the
current language on a state.
*/
var language = exports.language = /*@__PURE__*/_state2.Facet.define({
  combine: function combine(languages) {
    return languages.length ? languages[0] : null;
  },
  enables: function enables(language) {
    return [Language.state, parseWorker, _view.EditorView.contentAttributes.compute([language], function (state) {
      var lang = state.facet(language);
      return lang && lang.name ? {
        "data-language": lang.name
      } : {};
    })];
  }
});
/**
This class bundles a [language](https://codemirror.net/6/docs/ref/#language.Language) with an
optional set of supporting extensions. Language packages are
encouraged to export a function that optionally takes a
configuration object and returns a `LanguageSupport` instance, as
the main way for client code to use the package.
*/
var LanguageSupport = exports.LanguageSupport = /*#__PURE__*/_createClass(
/**
Create a language support object.
*/
function LanguageSupport(
/**
The language object.
*/
language) {
  var support = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
  _classCallCheck(this, LanguageSupport);
  this.language = language;
  this.support = support;
  this.extension = [language, support];
});
/**
Language descriptions are used to store metadata about languages
and to dynamically load them. Their main role is finding the
appropriate language for a filename or dynamically loading nested
parsers.
*/
var LanguageDescription = exports.LanguageDescription = /*#__PURE__*/function () {
  function LanguageDescription(
  /**
  The name of this language.
  */
  name,
  /**
  Alternative names for the mode (lowercased, includes `this.name`).
  */
  alias,
  /**
  File extensions associated with this language.
  */
  extensions,
  /**
  Optional filename pattern that should be associated with this
  language.
  */
  filename, loadFunc) {
    var support = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : undefined;
    _classCallCheck(this, LanguageDescription);
    this.name = name;
    this.alias = alias;
    this.extensions = extensions;
    this.filename = filename;
    this.loadFunc = loadFunc;
    this.support = support;
    this.loading = null;
  }
  /**
  Start loading the the language. Will return a promise that
  resolves to a [`LanguageSupport`](https://codemirror.net/6/docs/ref/#language.LanguageSupport)
  object when the language successfully loads.
  */
  return _createClass(LanguageDescription, [{
    key: "load",
    value: function load() {
      var _this6 = this;
      return this.loading || (this.loading = this.loadFunc().then(function (support) {
        return _this6.support = support;
      }, function (err) {
        _this6.loading = null;
        throw err;
      }));
    }
    /**
    Create a language description.
    */
  }], [{
    key: "of",
    value: function of(spec) {
      var load = spec.load,
        support = spec.support;
      if (!load) {
        if (!support) throw new RangeError("Must pass either 'load' or 'support' to LanguageDescription.of");
        load = function load() {
          return Promise.resolve(support);
        };
      }
      return new LanguageDescription(spec.name, (spec.alias || []).concat(spec.name).map(function (s) {
        return s.toLowerCase();
      }), spec.extensions || [], spec.filename, load, support);
    }
    /**
    Look for a language in the given array of descriptions that
    matches the filename. Will first match
    [`filename`](https://codemirror.net/6/docs/ref/#language.LanguageDescription.filename) patterns,
    and then [extensions](https://codemirror.net/6/docs/ref/#language.LanguageDescription.extensions),
    and return the first language that matches.
    */
  }, {
    key: "matchFilename",
    value: function matchFilename(descs, filename) {
      var _iterator6 = _createForOfIteratorHelper(descs),
        _step6;
      try {
        for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {
          var _d = _step6.value;
          if (_d.filename && _d.filename.test(filename)) return _d;
        }
      } catch (err) {
        _iterator6.e(err);
      } finally {
        _iterator6.f();
      }
      var ext = /\.([^.]+)$/.exec(filename);
      if (ext) {
        var _iterator7 = _createForOfIteratorHelper(descs),
          _step7;
        try {
          for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {
            var d = _step7.value;
            if (d.extensions.indexOf(ext[1]) > -1) return d;
          }
        } catch (err) {
          _iterator7.e(err);
        } finally {
          _iterator7.f();
        }
      }
      return null;
    }
    /**
    Look for a language whose name or alias matches the the given
    name (case-insensitively). If `fuzzy` is true, and no direct
    matchs is found, this'll also search for a language whose name
    or alias occurs in the string (for names shorter than three
    characters, only when surrounded by non-word characters).
    */
  }, {
    key: "matchLanguageName",
    value: function matchLanguageName(descs, name) {
      var fuzzy = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
      name = name.toLowerCase();
      var _iterator8 = _createForOfIteratorHelper(descs),
        _step8;
      try {
        for (_iterator8.s(); !(_step8 = _iterator8.n()).done;) {
          var _d2 = _step8.value;
          if (_d2.alias.some(function (a) {
            return a == name;
          })) return _d2;
        }
      } catch (err) {
        _iterator8.e(err);
      } finally {
        _iterator8.f();
      }
      if (fuzzy) {
        var _iterator9 = _createForOfIteratorHelper(descs),
          _step9;
        try {
          for (_iterator9.s(); !(_step9 = _iterator9.n()).done;) {
            var d = _step9.value;
            var _iterator10 = _createForOfIteratorHelper(d.alias),
              _step10;
            try {
              for (_iterator10.s(); !(_step10 = _iterator10.n()).done;) {
                var a = _step10.value;
                var found = name.indexOf(a);
                if (found > -1 && (a.length > 2 || !/\w/.test(name[found - 1]) && !/\w/.test(name[found + a.length]))) return d;
              }
            } catch (err) {
              _iterator10.e(err);
            } finally {
              _iterator10.f();
            }
          }
        } catch (err) {
          _iterator9.e(err);
        } finally {
          _iterator9.f();
        }
      }
      return null;
    }
  }]);
}();
/**
Facet that defines a way to provide a function that computes the
appropriate indentation depth, as a column number (see
[`indentString`](https://codemirror.net/6/docs/ref/#language.indentString)), at the start of a given
line. A return value of `null` indicates no indentation can be
determined, and the line should inherit the indentation of the one
above it. A return value of `undefined` defers to the next indent
service.
*/
var indentService = exports.indentService = /*@__PURE__*/_state2.Facet.define();
/**
Facet for overriding the unit by which indentation happens. Should
be a string consisting either entirely of the same whitespace
character. When not set, this defaults to 2 spaces.
*/
var indentUnit = exports.indentUnit = /*@__PURE__*/_state2.Facet.define({
  combine: function combine(values) {
    if (!values.length) return "  ";
    var unit = values[0];
    if (!unit || /\S/.test(unit) || Array.from(unit).some(function (e) {
      return e != unit[0];
    })) throw new Error("Invalid indent unit: " + JSON.stringify(values[0]));
    return unit;
  }
});
/**
Return the _column width_ of an indent unit in the state.
Determined by the [`indentUnit`](https://codemirror.net/6/docs/ref/#language.indentUnit)
facet, and [`tabSize`](https://codemirror.net/6/docs/ref/#state.EditorState^tabSize) when that
contains tabs.
*/
function getIndentUnit(state) {
  var unit = state.facet(indentUnit);
  return unit.charCodeAt(0) == 9 ? state.tabSize * unit.length : unit.length;
}
/**
Create an indentation string that covers columns 0 to `cols`.
Will use tabs for as much of the columns as possible when the
[`indentUnit`](https://codemirror.net/6/docs/ref/#language.indentUnit) facet contains
tabs.
*/
function indentString(state, cols) {
  var result = "",
    ts = state.tabSize,
    ch = state.facet(indentUnit)[0];
  if (ch == "\t") {
    while (cols >= ts) {
      result += "\t";
      cols -= ts;
    }
    ch = " ";
  }
  for (var i = 0; i < cols; i++) result += ch;
  return result;
}
/**
Get the indentation, as a column number, at the given position.
Will first consult any [indent services](https://codemirror.net/6/docs/ref/#language.indentService)
that are registered, and if none of those return an indentation,
this will check the syntax tree for the [indent node
prop](https://codemirror.net/6/docs/ref/#language.indentNodeProp) and use that if found. Returns a
number when an indentation could be determined, and null
otherwise.
*/
function getIndentation(context, pos) {
  if (context instanceof _state2.EditorState) context = new IndentContext(context);
  var _iterator11 = _createForOfIteratorHelper(context.state.facet(indentService)),
    _step11;
  try {
    for (_iterator11.s(); !(_step11 = _iterator11.n()).done;) {
      var service = _step11.value;
      var result = service(context, pos);
      if (result !== undefined) return result;
    }
  } catch (err) {
    _iterator11.e(err);
  } finally {
    _iterator11.f();
  }
  var tree = syntaxTree(context.state);
  return tree.length >= pos ? syntaxIndentation(context, tree, pos) : null;
}
/**
Create a change set that auto-indents all lines touched by the
given document range.
*/
function indentRange(state, from, to) {
  var updated = Object.create(null);
  var context = new IndentContext(state, {
    overrideIndentation: function overrideIndentation(start) {
      var _a;
      return (_a = updated[start]) !== null && _a !== void 0 ? _a : -1;
    }
  });
  var changes = [];
  for (var pos = from; pos <= to;) {
    var line = state.doc.lineAt(pos);
    pos = line.to + 1;
    var indent = getIndentation(context, line.from);
    if (indent == null) continue;
    if (!/\S/.test(line.text)) indent = 0;
    var cur = /^\s*/.exec(line.text)[0];
    var norm = indentString(state, indent);
    if (cur != norm) {
      updated[line.from] = indent;
      changes.push({
        from: line.from,
        to: line.from + cur.length,
        insert: norm
      });
    }
  }
  return state.changes(changes);
}
/**
Indentation contexts are used when calling [indentation
services](https://codemirror.net/6/docs/ref/#language.indentService). They provide helper utilities
useful in indentation logic, and can selectively override the
indentation reported for some lines.
*/
var IndentContext = exports.IndentContext = /*#__PURE__*/function () {
  /**
  Create an indent context.
  */
  function IndentContext(
  /**
  The editor state.
  */
  state) {
    var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
    _classCallCheck(this, IndentContext);
    this.state = state;
    this.options = options;
    this.unit = getIndentUnit(state);
  }
  /**
  Get a description of the line at the given position, taking
  [simulated line
  breaks](https://codemirror.net/6/docs/ref/#language.IndentContext.constructor^options.simulateBreak)
  into account. If there is such a break at `pos`, the `bias`
  argument determines whether the part of the line line before or
  after the break is used.
  */
  return _createClass(IndentContext, [{
    key: "lineAt",
    value: function lineAt(pos) {
      var bias = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
      var line = this.state.doc.lineAt(pos);
      var _this$options = this.options,
        simulateBreak = _this$options.simulateBreak,
        simulateDoubleBreak = _this$options.simulateDoubleBreak;
      if (simulateBreak != null && simulateBreak >= line.from && simulateBreak <= line.to) {
        if (simulateDoubleBreak && simulateBreak == pos) return {
          text: "",
          from: pos
        };else if (bias < 0 ? simulateBreak < pos : simulateBreak <= pos) return {
          text: line.text.slice(simulateBreak - line.from),
          from: simulateBreak
        };else return {
          text: line.text.slice(0, simulateBreak - line.from),
          from: line.from
        };
      }
      return line;
    }
    /**
    Get the text directly after `pos`, either the entire line
    or the next 100 characters, whichever is shorter.
    */
  }, {
    key: "textAfterPos",
    value: function textAfterPos(pos) {
      var bias = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
      if (this.options.simulateDoubleBreak && pos == this.options.simulateBreak) return "";
      var _this$lineAt = this.lineAt(pos, bias),
        text = _this$lineAt.text,
        from = _this$lineAt.from;
      return text.slice(pos - from, Math.min(text.length, pos + 100 - from));
    }
    /**
    Find the column for the given position.
    */
  }, {
    key: "column",
    value: function column(pos) {
      var bias = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
      var _this$lineAt2 = this.lineAt(pos, bias),
        text = _this$lineAt2.text,
        from = _this$lineAt2.from;
      var result = this.countColumn(text, pos - from);
      var override = this.options.overrideIndentation ? this.options.overrideIndentation(from) : -1;
      if (override > -1) result += override - this.countColumn(text, text.search(/\S|$/));
      return result;
    }
    /**
    Find the column position (taking tabs into account) of the given
    position in the given string.
    */
  }, {
    key: "countColumn",
    value: function countColumn(line) {
      var pos = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : line.length;
      return (0, _state2.countColumn)(line, this.state.tabSize, pos);
    }
    /**
    Find the indentation column of the line at the given point.
    */
  }, {
    key: "lineIndent",
    value: function lineIndent(pos) {
      var bias = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
      var _this$lineAt3 = this.lineAt(pos, bias),
        text = _this$lineAt3.text,
        from = _this$lineAt3.from;
      var override = this.options.overrideIndentation;
      if (override) {
        var overriden = override(from);
        if (overriden > -1) return overriden;
      }
      return this.countColumn(text, text.search(/\S|$/));
    }
    /**
    Returns the [simulated line
    break](https://codemirror.net/6/docs/ref/#language.IndentContext.constructor^options.simulateBreak)
    for this context, if any.
    */
  }, {
    key: "simulatedBreak",
    get: function get() {
      return this.options.simulateBreak || null;
    }
  }]);
}();
/**
A syntax tree node prop used to associate indentation strategies
with node types. Such a strategy is a function from an indentation
context to a column number (see also
[`indentString`](https://codemirror.net/6/docs/ref/#language.indentString)) or null, where null
indicates that no definitive indentation can be determined.
*/
var indentNodeProp = exports.indentNodeProp = /*@__PURE__*/new _common.NodeProp();
// Compute the indentation for a given position from the syntax tree.
function syntaxIndentation(cx, ast, pos) {
  var stack = ast.resolveStack(pos);
  var inner = stack.node.enterUnfinishedNodesBefore(pos);
  if (inner != stack.node) {
    var add = [];
    for (var cur = inner; cur != stack.node; cur = cur.parent) add.push(cur);
    for (var i = add.length - 1; i >= 0; i--) stack = {
      node: add[i],
      next: stack
    };
  }
  return indentFor(stack, cx, pos);
}
function indentFor(stack, cx, pos) {
  for (var cur = stack; cur; cur = cur.next) {
    var strategy = indentStrategy(cur.node);
    if (strategy) return strategy(TreeIndentContext.create(cx, pos, cur));
  }
  return 0;
}
function ignoreClosed(cx) {
  return cx.pos == cx.options.simulateBreak && cx.options.simulateDoubleBreak;
}
function indentStrategy(tree) {
  var strategy = tree.type.prop(indentNodeProp);
  if (strategy) return strategy;
  var first = tree.firstChild,
    close;
  if (first && (close = first.type.prop(_common.NodeProp.closedBy))) {
    var last = tree.lastChild,
      closed = last && close.indexOf(last.name) > -1;
    return function (cx) {
      return delimitedStrategy(cx, true, 1, undefined, closed && !ignoreClosed(cx) ? last.from : undefined);
    };
  }
  return tree.parent == null ? topIndent : null;
}
function topIndent() {
  return 0;
}
/**
Objects of this type provide context information and helper
methods to indentation functions registered on syntax nodes.
*/
var TreeIndentContext = exports.TreeIndentContext = /*#__PURE__*/function (_IndentContext) {
  function TreeIndentContext(base,
  /**
  The position at which indentation is being computed.
  */
  pos,
  /**
  @internal
  */
  context) {
    var _this7;
    _classCallCheck(this, TreeIndentContext);
    _this7 = _callSuper(this, TreeIndentContext, [base.state, base.options]);
    _this7.base = base;
    _this7.pos = pos;
    _this7.context = context;
    return _this7;
  }
  /**
  The syntax tree node to which the indentation strategy
  applies.
  */
  _inherits(TreeIndentContext, _IndentContext);
  return _createClass(TreeIndentContext, [{
    key: "node",
    get: function get() {
      return this.context.node;
    }
    /**
    @internal
    */
  }, {
    key: "textAfter",
    get:
    /**
    Get the text directly after `this.pos`, either the entire line
    or the next 100 characters, whichever is shorter.
    */
    function get() {
      return this.textAfterPos(this.pos);
    }
    /**
    Get the indentation at the reference line for `this.node`, which
    is the line on which it starts, unless there is a node that is
    _not_ a parent of this node covering the start of that line. If
    so, the line at the start of that node is tried, again skipping
    on if it is covered by another such node.
    */
  }, {
    key: "baseIndent",
    get: function get() {
      return this.baseIndentFor(this.node);
    }
    /**
    Get the indentation for the reference line of the given node
    (see [`baseIndent`](https://codemirror.net/6/docs/ref/#language.TreeIndentContext.baseIndent)).
    */
  }, {
    key: "baseIndentFor",
    value: function baseIndentFor(node) {
      var line = this.state.doc.lineAt(node.from);
      // Skip line starts that are covered by a sibling (or cousin, etc)
      for (;;) {
        var atBreak = node.resolve(line.from);
        while (atBreak.parent && atBreak.parent.from == atBreak.from) atBreak = atBreak.parent;
        if (isParent(atBreak, node)) break;
        line = this.state.doc.lineAt(atBreak.from);
      }
      return this.lineIndent(line.from);
    }
    /**
    Continue looking for indentations in the node's parent nodes,
    and return the result of that.
    */
  }, {
    key: "continue",
    value: function _continue() {
      return indentFor(this.context.next, this.base, this.pos);
    }
  }], [{
    key: "create",
    value: function create(base, pos, context) {
      return new TreeIndentContext(base, pos, context);
    }
  }]);
}(IndentContext);
function isParent(parent, of) {
  for (var cur = of; cur; cur = cur.parent) if (parent == cur) return true;
  return false;
}
// Check whether a delimited node is aligned (meaning there are
// non-skipped nodes on the same line as the opening delimiter). And
// if so, return the opening token.
function bracketedAligned(context) {
  var tree = context.node;
  var openToken = tree.childAfter(tree.from),
    last = tree.lastChild;
  if (!openToken) return null;
  var sim = context.options.simulateBreak;
  var openLine = context.state.doc.lineAt(openToken.from);
  var lineEnd = sim == null || sim <= openLine.from ? openLine.to : Math.min(openLine.to, sim);
  for (var pos = openToken.to;;) {
    var next = tree.childAfter(pos);
    if (!next || next == last) return null;
    if (!next.type.isSkipped) return next.from < lineEnd ? openToken : null;
    pos = next.to;
  }
}
/**
An indentation strategy for delimited (usually bracketed) nodes.
Will, by default, indent one unit more than the parent's base
indent unless the line starts with a closing token. When `align`
is true and there are non-skipped nodes on the node's opening
line, the content of the node will be aligned with the end of the
opening node, like this:

    foo(bar,
        baz)
*/
function delimitedIndent(_ref) {
  var closing = _ref.closing,
    _ref$align = _ref.align,
    align = _ref$align === void 0 ? true : _ref$align,
    _ref$units = _ref.units,
    units = _ref$units === void 0 ? 1 : _ref$units;
  return function (context) {
    return delimitedStrategy(context, align, units, closing);
  };
}
function delimitedStrategy(context, align, units, closing, closedAt) {
  var after = context.textAfter,
    space = after.match(/^\s*/)[0].length;
  var closed = closing && after.slice(space, space + closing.length) == closing || closedAt == context.pos + space;
  var aligned = align ? bracketedAligned(context) : null;
  if (aligned) return closed ? context.column(aligned.from) : context.column(aligned.to);
  return context.baseIndent + (closed ? 0 : context.unit * units);
}
/**
An indentation strategy that aligns a node's content to its base
indentation.
*/
var flatIndent = exports.flatIndent = function flatIndent(context) {
  return context.baseIndent;
};
/**
Creates an indentation strategy that, by default, indents
continued lines one unit more than the node's base indentation.
You can provide `except` to prevent indentation of lines that
match a pattern (for example `/^else\b/` in `if`/`else`
constructs), and you can change the amount of units used with the
`units` option.
*/
function continuedIndent() {
  var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
    except = _ref2.except,
    _ref2$units = _ref2.units,
    units = _ref2$units === void 0 ? 1 : _ref2$units;
  return function (context) {
    var matchExcept = except && except.test(context.textAfter);
    return context.baseIndent + (matchExcept ? 0 : units * context.unit);
  };
}
var DontIndentBeyond = 200;
/**
Enables reindentation on input. When a language defines an
`indentOnInput` field in its [language
data](https://codemirror.net/6/docs/ref/#state.EditorState.languageDataAt), which must hold a regular
expression, the line at the cursor will be reindented whenever new
text is typed and the input from the start of the line up to the
cursor matches that regexp.

To avoid unneccesary reindents, it is recommended to start the
regexp with `^` (usually followed by `\s*`), and end it with `$`.
For example, `/^\s*\}$/` will reindent when a closing brace is
added at the start of a line.
*/
function indentOnInput() {
  return _state2.EditorState.transactionFilter.of(function (tr) {
    if (!tr.docChanged || !tr.isUserEvent("input.type") && !tr.isUserEvent("input.complete")) return tr;
    var rules = tr.startState.languageDataAt("indentOnInput", tr.startState.selection.main.head);
    if (!rules.length) return tr;
    var doc = tr.newDoc,
      head = tr.newSelection.main.head,
      line = doc.lineAt(head);
    if (head > line.from + DontIndentBeyond) return tr;
    var lineStart = doc.sliceString(line.from, head);
    if (!rules.some(function (r) {
      return r.test(lineStart);
    })) return tr;
    var state = tr.state,
      last = -1,
      changes = [];
    var _iterator12 = _createForOfIteratorHelper(state.selection.ranges),
      _step12;
    try {
      for (_iterator12.s(); !(_step12 = _iterator12.n()).done;) {
        var _head = _step12.value.head;
        var _line = state.doc.lineAt(_head);
        if (_line.from == last) continue;
        last = _line.from;
        var indent = getIndentation(state, _line.from);
        if (indent == null) continue;
        var cur = /^\s*/.exec(_line.text)[0];
        var norm = indentString(state, indent);
        if (cur != norm) changes.push({
          from: _line.from,
          to: _line.from + cur.length,
          insert: norm
        });
      }
    } catch (err) {
      _iterator12.e(err);
    } finally {
      _iterator12.f();
    }
    return changes.length ? [tr, {
      changes: changes,
      sequential: true
    }] : tr;
  });
}

/**
A facet that registers a code folding service. When called with
the extent of a line, such a function should return a foldable
range that starts on that line (but continues beyond it), if one
can be found.
*/
var foldService = exports.foldService = /*@__PURE__*/_state2.Facet.define();
/**
This node prop is used to associate folding information with
syntax node types. Given a syntax node, it should check whether
that tree is foldable and return the range that can be collapsed
when it is.
*/
var foldNodeProp = exports.foldNodeProp = /*@__PURE__*/new _common.NodeProp();
/**
[Fold](https://codemirror.net/6/docs/ref/#language.foldNodeProp) function that folds everything but
the first and the last child of a syntax node. Useful for nodes
that start and end with delimiters.
*/
function foldInside(node) {
  var first = node.firstChild,
    last = node.lastChild;
  return first && first.to < last.from ? {
    from: first.to,
    to: last.type.isError ? node.to : last.from
  } : null;
}
function syntaxFolding(state, start, end) {
  var tree = syntaxTree(state);
  if (tree.length < end) return null;
  var stack = tree.resolveStack(end, 1);
  var found = null;
  for (var iter = stack; iter; iter = iter.next) {
    var cur = iter.node;
    if (cur.to <= end || cur.from > end) continue;
    if (found && cur.from < start) break;
    var prop = cur.type.prop(foldNodeProp);
    if (prop && (cur.to < tree.length - 50 || tree.length == state.doc.length || !isUnfinished(cur))) {
      var value = prop(cur, state);
      if (value && value.from <= end && value.from >= start && value.to > end) found = value;
    }
  }
  return found;
}
function isUnfinished(node) {
  var ch = node.lastChild;
  return ch && ch.to == node.to && ch.type.isError;
}
/**
Check whether the given line is foldable. First asks any fold
services registered through
[`foldService`](https://codemirror.net/6/docs/ref/#language.foldService), and if none of them return
a result, tries to query the [fold node
prop](https://codemirror.net/6/docs/ref/#language.foldNodeProp) of syntax nodes that cover the end
of the line.
*/
function foldable(state, lineStart, lineEnd) {
  var _iterator13 = _createForOfIteratorHelper(state.facet(foldService)),
    _step13;
  try {
    for (_iterator13.s(); !(_step13 = _iterator13.n()).done;) {
      var service = _step13.value;
      var result = service(state, lineStart, lineEnd);
      if (result) return result;
    }
  } catch (err) {
    _iterator13.e(err);
  } finally {
    _iterator13.f();
  }
  return syntaxFolding(state, lineStart, lineEnd);
}
function mapRange(range, mapping) {
  var from = mapping.mapPos(range.from, 1),
    to = mapping.mapPos(range.to, -1);
  return from >= to ? undefined : {
    from: from,
    to: to
  };
}
/**
State effect that can be attached to a transaction to fold the
given range. (You probably only need this in exceptional
circumstances—usually you'll just want to let
[`foldCode`](https://codemirror.net/6/docs/ref/#language.foldCode) and the [fold
gutter](https://codemirror.net/6/docs/ref/#language.foldGutter) create the transactions.)
*/
var foldEffect = exports.foldEffect = /*@__PURE__*/_state2.StateEffect.define({
  map: mapRange
});
/**
State effect that unfolds the given range (if it was folded).
*/
var unfoldEffect = exports.unfoldEffect = /*@__PURE__*/_state2.StateEffect.define({
  map: mapRange
});
function selectedLines(view) {
  var lines = [];
  var _iterator14 = _createForOfIteratorHelper(view.state.selection.ranges),
    _step14;
  try {
    var _loop = function _loop() {
      var head = _step14.value.head;
      if (lines.some(function (l) {
        return l.from <= head && l.to >= head;
      })) return 1; // continue
      lines.push(view.lineBlockAt(head));
    };
    for (_iterator14.s(); !(_step14 = _iterator14.n()).done;) {
      if (_loop()) continue;
    }
  } catch (err) {
    _iterator14.e(err);
  } finally {
    _iterator14.f();
  }
  return lines;
}
/**
The state field that stores the folded ranges (as a [decoration
set](https://codemirror.net/6/docs/ref/#view.DecorationSet)). Can be passed to
[`EditorState.toJSON`](https://codemirror.net/6/docs/ref/#state.EditorState.toJSON) and
[`fromJSON`](https://codemirror.net/6/docs/ref/#state.EditorState^fromJSON) to serialize the fold
state.
*/
var foldState = exports.foldState = /*@__PURE__*/_state2.StateField.define({
  create: function create() {
    return _view.Decoration.none;
  },
  update: function update(folded, tr) {
    folded = folded.map(tr.changes);
    var _iterator15 = _createForOfIteratorHelper(tr.effects),
      _step15;
    try {
      var _loop2 = function _loop2() {
        var e = _step15.value;
        if (e.is(foldEffect) && !foldExists(folded, e.value.from, e.value.to)) {
          var _tr$state$facet = tr.state.facet(foldConfig),
            preparePlaceholder = _tr$state$facet.preparePlaceholder;
          var widget = !preparePlaceholder ? foldWidget : _view.Decoration.replace({
            widget: new PreparedFoldWidget(preparePlaceholder(tr.state, e.value))
          });
          folded = folded.update({
            add: [widget.range(e.value.from, e.value.to)]
          });
        } else if (e.is(unfoldEffect)) {
          folded = folded.update({
            filter: function filter(from, to) {
              return e.value.from != from || e.value.to != to;
            },
            filterFrom: e.value.from,
            filterTo: e.value.to
          });
        }
      };
      for (_iterator15.s(); !(_step15 = _iterator15.n()).done;) {
        _loop2();
      }
      // Clear folded ranges that cover the selection head
    } catch (err) {
      _iterator15.e(err);
    } finally {
      _iterator15.f();
    }
    if (tr.selection) {
      var onSelection = false,
        head = tr.selection.main.head;
      folded.between(head, head, function (a, b) {
        if (a < head && b > head) onSelection = true;
      });
      if (onSelection) folded = folded.update({
        filterFrom: head,
        filterTo: head,
        filter: function filter(a, b) {
          return b <= head || a >= head;
        }
      });
    }
    return folded;
  },
  provide: function provide(f) {
    return _view.EditorView.decorations.from(f);
  },
  toJSON: function toJSON(folded, state) {
    var ranges = [];
    folded.between(0, state.doc.length, function (from, to) {
      ranges.push(from, to);
    });
    return ranges;
  },
  fromJSON: function fromJSON(value) {
    if (!Array.isArray(value) || value.length % 2) throw new RangeError("Invalid JSON for fold state");
    var ranges = [];
    for (var i = 0; i < value.length;) {
      var from = value[i++],
        to = value[i++];
      if (typeof from != "number" || typeof to != "number") throw new RangeError("Invalid JSON for fold state");
      ranges.push(foldWidget.range(from, to));
    }
    return _view.Decoration.set(ranges, true);
  }
});
/**
Get a [range set](https://codemirror.net/6/docs/ref/#state.RangeSet) containing the folded ranges
in the given state.
*/
function foldedRanges(state) {
  return state.field(foldState, false) || _state2.RangeSet.empty;
}
function findFold(state, from, to) {
  var _a;
  var found = null;
  (_a = state.field(foldState, false)) === null || _a === void 0 ? void 0 : _a.between(from, to, function (from, to) {
    if (!found || found.from > from) found = {
      from: from,
      to: to
    };
  });
  return found;
}
function foldExists(folded, from, to) {
  var found = false;
  folded.between(from, from, function (a, b) {
    if (a == from && b == to) found = true;
  });
  return found;
}
function maybeEnable(state, other) {
  return state.field(foldState, false) ? other : other.concat(_state2.StateEffect.appendConfig.of(codeFolding()));
}
/**
Fold the lines that are selected, if possible.
*/
var foldCode = exports.foldCode = function foldCode(view) {
  var _iterator16 = _createForOfIteratorHelper(selectedLines(view)),
    _step16;
  try {
    for (_iterator16.s(); !(_step16 = _iterator16.n()).done;) {
      var line = _step16.value;
      var range = foldable(view.state, line.from, line.to);
      if (range) {
        view.dispatch({
          effects: maybeEnable(view.state, [foldEffect.of(range), announceFold(view, range)])
        });
        return true;
      }
    }
  } catch (err) {
    _iterator16.e(err);
  } finally {
    _iterator16.f();
  }
  return false;
};
/**
Unfold folded ranges on selected lines.
*/
var unfoldCode = exports.unfoldCode = function unfoldCode(view) {
  if (!view.state.field(foldState, false)) return false;
  var effects = [];
  var _iterator17 = _createForOfIteratorHelper(selectedLines(view)),
    _step17;
  try {
    for (_iterator17.s(); !(_step17 = _iterator17.n()).done;) {
      var line = _step17.value;
      var folded = findFold(view.state, line.from, line.to);
      if (folded) effects.push(unfoldEffect.of(folded), announceFold(view, folded, false));
    }
  } catch (err) {
    _iterator17.e(err);
  } finally {
    _iterator17.f();
  }
  if (effects.length) view.dispatch({
    effects: effects
  });
  return effects.length > 0;
};
function announceFold(view, range) {
  var fold = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
  var lineFrom = view.state.doc.lineAt(range.from).number,
    lineTo = view.state.doc.lineAt(range.to).number;
  return _view.EditorView.announce.of("".concat(view.state.phrase(fold ? "Folded lines" : "Unfolded lines"), " ").concat(lineFrom, " ").concat(view.state.phrase("to"), " ").concat(lineTo, "."));
}
/**
Fold all top-level foldable ranges. Note that, in most cases,
folding information will depend on the [syntax
tree](https://codemirror.net/6/docs/ref/#language.syntaxTree), and folding everything may not work
reliably when the document hasn't been fully parsed (either
because the editor state was only just initialized, or because the
document is so big that the parser decided not to parse it
entirely).
*/
var foldAll = exports.foldAll = function foldAll(view) {
  var state = view.state,
    effects = [];
  for (var pos = 0; pos < state.doc.length;) {
    var line = view.lineBlockAt(pos),
      range = foldable(state, line.from, line.to);
    if (range) effects.push(foldEffect.of(range));
    pos = (range ? view.lineBlockAt(range.to) : line).to + 1;
  }
  if (effects.length) view.dispatch({
    effects: maybeEnable(view.state, effects)
  });
  return !!effects.length;
};
/**
Unfold all folded code.
*/
var unfoldAll = exports.unfoldAll = function unfoldAll(view) {
  var field = view.state.field(foldState, false);
  if (!field || !field.size) return false;
  var effects = [];
  field.between(0, view.state.doc.length, function (from, to) {
    effects.push(unfoldEffect.of({
      from: from,
      to: to
    }));
  });
  view.dispatch({
    effects: effects
  });
  return true;
};
// Find the foldable region containing the given line, if one exists
function foldableContainer(view, lineBlock) {
  // Look backwards through line blocks until we find a foldable region that
  // intersects with the line
  for (var line = lineBlock;;) {
    var foldableRegion = foldable(view.state, line.from, line.to);
    if (foldableRegion && foldableRegion.to > lineBlock.from) return foldableRegion;
    if (!line.from) return null;
    line = view.lineBlockAt(line.from - 1);
  }
}
/**
Toggle folding at cursors. Unfolds if there is an existing fold
starting in that line, tries to find a foldable range around it
otherwise.
*/
var toggleFold = exports.toggleFold = function toggleFold(view) {
  var effects = [];
  var _iterator18 = _createForOfIteratorHelper(selectedLines(view)),
    _step18;
  try {
    for (_iterator18.s(); !(_step18 = _iterator18.n()).done;) {
      var line = _step18.value;
      var folded = findFold(view.state, line.from, line.to);
      if (folded) {
        effects.push(unfoldEffect.of(folded), announceFold(view, folded, false));
      } else {
        var foldRange = foldableContainer(view, line);
        if (foldRange) effects.push(foldEffect.of(foldRange), announceFold(view, foldRange));
      }
    }
  } catch (err) {
    _iterator18.e(err);
  } finally {
    _iterator18.f();
  }
  if (effects.length > 0) view.dispatch({
    effects: maybeEnable(view.state, effects)
  });
  return !!effects.length;
};
/**
Default fold-related key bindings.

 - Ctrl-Shift-[ (Cmd-Alt-[ on macOS): [`foldCode`](https://codemirror.net/6/docs/ref/#language.foldCode).
 - Ctrl-Shift-] (Cmd-Alt-] on macOS): [`unfoldCode`](https://codemirror.net/6/docs/ref/#language.unfoldCode).
 - Ctrl-Alt-[: [`foldAll`](https://codemirror.net/6/docs/ref/#language.foldAll).
 - Ctrl-Alt-]: [`unfoldAll`](https://codemirror.net/6/docs/ref/#language.unfoldAll).
*/
var foldKeymap = exports.foldKeymap = [{
  key: "Ctrl-Shift-[",
  mac: "Cmd-Alt-[",
  run: foldCode
}, {
  key: "Ctrl-Shift-]",
  mac: "Cmd-Alt-]",
  run: unfoldCode
}, {
  key: "Ctrl-Alt-[",
  run: foldAll
}, {
  key: "Ctrl-Alt-]",
  run: unfoldAll
}];
var defaultConfig = {
  placeholderDOM: null,
  preparePlaceholder: null,
  placeholderText: "…"
};
var foldConfig = /*@__PURE__*/_state2.Facet.define({
  combine: function combine(values) {
    return (0, _state2.combineConfig)(values, defaultConfig);
  }
});
/**
Create an extension that configures code folding.
*/
function codeFolding(config) {
  var result = [foldState, baseTheme$1];
  if (config) result.push(foldConfig.of(config));
  return result;
}
function widgetToDOM(view, prepared) {
  var state = view.state,
    conf = state.facet(foldConfig);
  var onclick = function onclick(event) {
    var line = view.lineBlockAt(view.posAtDOM(event.target));
    var folded = findFold(view.state, line.from, line.to);
    if (folded) view.dispatch({
      effects: unfoldEffect.of(folded)
    });
    event.preventDefault();
  };
  if (conf.placeholderDOM) return conf.placeholderDOM(view, onclick, prepared);
  var element = document.createElement("span");
  element.textContent = conf.placeholderText;
  element.setAttribute("aria-label", state.phrase("folded code"));
  element.title = state.phrase("unfold");
  element.className = "cm-foldPlaceholder";
  element.onclick = onclick;
  return element;
}
var foldWidget = /*@__PURE__*/_view.Decoration.replace({
  widget: /*@__PURE__*/new ( /*#__PURE__*/function (_WidgetType) {
    function _class2() {
      _classCallCheck(this, _class2);
      return _callSuper(this, _class2, arguments);
    }
    _inherits(_class2, _WidgetType);
    return _createClass(_class2, [{
      key: "toDOM",
      value: function toDOM(view) {
        return widgetToDOM(view, null);
      }
    }]);
  }(_view.WidgetType))()
});
var PreparedFoldWidget = /*#__PURE__*/function (_WidgetType2) {
  function PreparedFoldWidget(value) {
    var _this8;
    _classCallCheck(this, PreparedFoldWidget);
    _this8 = _callSuper(this, PreparedFoldWidget);
    _this8.value = value;
    return _this8;
  }
  _inherits(PreparedFoldWidget, _WidgetType2);
  return _createClass(PreparedFoldWidget, [{
    key: "eq",
    value: function eq(other) {
      return this.value == other.value;
    }
  }, {
    key: "toDOM",
    value: function toDOM(view) {
      return widgetToDOM(view, this.value);
    }
  }]);
}(_view.WidgetType);
var foldGutterDefaults = {
  openText: "⌄",
  closedText: "›",
  markerDOM: null,
  domEventHandlers: {},
  foldingChanged: function foldingChanged() {
    return false;
  }
};
var FoldMarker = /*#__PURE__*/function (_GutterMarker) {
  function FoldMarker(config, open) {
    var _this9;
    _classCallCheck(this, FoldMarker);
    _this9 = _callSuper(this, FoldMarker);
    _this9.config = config;
    _this9.open = open;
    return _this9;
  }
  _inherits(FoldMarker, _GutterMarker);
  return _createClass(FoldMarker, [{
    key: "eq",
    value: function eq(other) {
      return this.config == other.config && this.open == other.open;
    }
  }, {
    key: "toDOM",
    value: function toDOM(view) {
      if (this.config.markerDOM) return this.config.markerDOM(this.open);
      var span = document.createElement("span");
      span.textContent = this.open ? this.config.openText : this.config.closedText;
      span.title = view.state.phrase(this.open ? "Fold line" : "Unfold line");
      return span;
    }
  }]);
}(_view.GutterMarker);
/**
Create an extension that registers a fold gutter, which shows a
fold status indicator before foldable lines (which can be clicked
to fold or unfold the line).
*/
function foldGutter() {
  var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
  var fullConfig = Object.assign(Object.assign({}, foldGutterDefaults), config);
  var canFold = new FoldMarker(fullConfig, true),
    canUnfold = new FoldMarker(fullConfig, false);
  var _markers = _view.ViewPlugin.fromClass( /*#__PURE__*/function () {
    function _class3(view) {
      _classCallCheck(this, _class3);
      this.from = view.viewport.from;
      this.markers = this.buildMarkers(view);
    }
    return _createClass(_class3, [{
      key: "update",
      value: function update(_update2) {
        if (_update2.docChanged || _update2.viewportChanged || _update2.startState.facet(language) != _update2.state.facet(language) || _update2.startState.field(foldState, false) != _update2.state.field(foldState, false) || syntaxTree(_update2.startState) != syntaxTree(_update2.state) || fullConfig.foldingChanged(_update2)) this.markers = this.buildMarkers(_update2.view);
      }
    }, {
      key: "buildMarkers",
      value: function buildMarkers(view) {
        var builder = new _state2.RangeSetBuilder();
        var _iterator19 = _createForOfIteratorHelper(view.viewportLineBlocks),
          _step19;
        try {
          for (_iterator19.s(); !(_step19 = _iterator19.n()).done;) {
            var line = _step19.value;
            var mark = findFold(view.state, line.from, line.to) ? canUnfold : foldable(view.state, line.from, line.to) ? canFold : null;
            if (mark) builder.add(line.from, line.from, mark);
          }
        } catch (err) {
          _iterator19.e(err);
        } finally {
          _iterator19.f();
        }
        return builder.finish();
      }
    }]);
  }());
  var domEventHandlers = fullConfig.domEventHandlers;
  return [_markers, (0, _view.gutter)({
    "class": "cm-foldGutter",
    markers: function markers(view) {
      var _a;
      return ((_a = view.plugin(_markers)) === null || _a === void 0 ? void 0 : _a.markers) || _state2.RangeSet.empty;
    },
    initialSpacer: function initialSpacer() {
      return new FoldMarker(fullConfig, false);
    },
    domEventHandlers: Object.assign(Object.assign({}, domEventHandlers), {
      click: function click(view, line, event) {
        if (domEventHandlers.click && domEventHandlers.click(view, line, event)) return true;
        var folded = findFold(view.state, line.from, line.to);
        if (folded) {
          view.dispatch({
            effects: unfoldEffect.of(folded)
          });
          return true;
        }
        var range = foldable(view.state, line.from, line.to);
        if (range) {
          view.dispatch({
            effects: foldEffect.of(range)
          });
          return true;
        }
        return false;
      }
    })
  }), codeFolding()];
}
var baseTheme$1 = /*@__PURE__*/_view.EditorView.baseTheme({
  ".cm-foldPlaceholder": {
    backgroundColor: "#eee",
    border: "1px solid #ddd",
    color: "#888",
    borderRadius: ".2em",
    margin: "0 1px",
    padding: "0 1px",
    cursor: "pointer"
  },
  ".cm-foldGutter span": {
    padding: "0 1px",
    cursor: "pointer"
  }
});

/**
A highlight style associates CSS styles with higlighting
[tags](https://lezer.codemirror.net/docs/ref#highlight.Tag).
*/
var HighlightStyle = exports.HighlightStyle = /*#__PURE__*/function () {
  function HighlightStyle(
  /**
  The tag styles used to create this highlight style.
  */
  specs, options) {
    _classCallCheck(this, HighlightStyle);
    this.specs = specs;
    var modSpec;
    function def(spec) {
      var cls = _styleMod.StyleModule.newName();
      (modSpec || (modSpec = Object.create(null)))["." + cls] = spec;
      return cls;
    }
    var all = typeof options.all == "string" ? options.all : options.all ? def(options.all) : undefined;
    var scopeOpt = options.scope;
    this.scope = scopeOpt instanceof Language ? function (type) {
      return type.prop(languageDataProp) == scopeOpt.data;
    } : scopeOpt ? function (type) {
      return type == scopeOpt;
    } : undefined;
    this.style = (0, _highlight.tagHighlighter)(specs.map(function (style) {
      return {
        tag: style.tag,
        "class": style["class"] || def(Object.assign({}, style, {
          tag: null
        }))
      };
    }), {
      all: all
    }).style;
    this.module = modSpec ? new _styleMod.StyleModule(modSpec) : null;
    this.themeType = options.themeType;
  }
  /**
  Create a highlighter style that associates the given styles to
  the given tags. The specs must be objects that hold a style tag
  or array of tags in their `tag` property, and either a single
  `class` property providing a static CSS class (for highlighter
  that rely on external styling), or a
  [`style-mod`](https://github.com/marijnh/style-mod#documentation)-style
  set of CSS properties (which define the styling for those tags).
  
  The CSS rules created for a highlighter will be emitted in the
  order of the spec's properties. That means that for elements that
  have multiple tags associated with them, styles defined further
  down in the list will have a higher CSS precedence than styles
  defined earlier.
  */
  return _createClass(HighlightStyle, null, [{
    key: "define",
    value: function define(specs, options) {
      return new HighlightStyle(specs, options || {});
    }
  }]);
}();
var highlighterFacet = /*@__PURE__*/_state2.Facet.define();
var fallbackHighlighter = /*@__PURE__*/_state2.Facet.define({
  combine: function combine(values) {
    return values.length ? [values[0]] : null;
  }
});
function getHighlighters(state) {
  var main = state.facet(highlighterFacet);
  return main.length ? main : state.facet(fallbackHighlighter);
}
/**
Wrap a highlighter in an editor extension that uses it to apply
syntax highlighting to the editor content.

When multiple (non-fallback) styles are provided, the styling
applied is the union of the classes they emit.
*/
function syntaxHighlighting(highlighter, options) {
  var ext = [treeHighlighter],
    themeType;
  if (highlighter instanceof HighlightStyle) {
    if (highlighter.module) ext.push(_view.EditorView.styleModule.of(highlighter.module));
    themeType = highlighter.themeType;
  }
  if (options === null || options === void 0 ? void 0 : options.fallback) ext.push(fallbackHighlighter.of(highlighter));else if (themeType) ext.push(highlighterFacet.computeN([_view.EditorView.darkTheme], function (state) {
    return state.facet(_view.EditorView.darkTheme) == (themeType == "dark") ? [highlighter] : [];
  }));else ext.push(highlighterFacet.of(highlighter));
  return ext;
}
/**
Returns the CSS classes (if any) that the highlighters active in
the state would assign to the given style
[tags](https://lezer.codemirror.net/docs/ref#highlight.Tag) and
(optional) language
[scope](https://codemirror.net/6/docs/ref/#language.HighlightStyle^define^options.scope).
*/
function highlightingFor(state, tags, scope) {
  var highlighters = getHighlighters(state);
  var result = null;
  if (highlighters) {
    var _iterator20 = _createForOfIteratorHelper(highlighters),
      _step20;
    try {
      for (_iterator20.s(); !(_step20 = _iterator20.n()).done;) {
        var highlighter = _step20.value;
        if (!highlighter.scope || scope && highlighter.scope(scope)) {
          var cls = highlighter.style(tags);
          if (cls) result = result ? result + " " + cls : cls;
        }
      }
    } catch (err) {
      _iterator20.e(err);
    } finally {
      _iterator20.f();
    }
  }
  return result;
}
var TreeHighlighter = /*#__PURE__*/function () {
  function TreeHighlighter(view) {
    _classCallCheck(this, TreeHighlighter);
    this.markCache = Object.create(null);
    this.tree = syntaxTree(view.state);
    this.decorations = this.buildDeco(view, getHighlighters(view.state));
    this.decoratedTo = view.viewport.to;
  }
  return _createClass(TreeHighlighter, [{
    key: "update",
    value: function update(_update3) {
      var tree = syntaxTree(_update3.state),
        highlighters = getHighlighters(_update3.state);
      var styleChange = highlighters != getHighlighters(_update3.startState);
      var viewport = _update3.view.viewport,
        decoratedToMapped = _update3.changes.mapPos(this.decoratedTo, 1);
      if (tree.length < viewport.to && !styleChange && tree.type == this.tree.type && decoratedToMapped >= viewport.to) {
        this.decorations = this.decorations.map(_update3.changes);
        this.decoratedTo = decoratedToMapped;
      } else if (tree != this.tree || _update3.viewportChanged || styleChange) {
        this.tree = tree;
        this.decorations = this.buildDeco(_update3.view, highlighters);
        this.decoratedTo = viewport.to;
      }
    }
  }, {
    key: "buildDeco",
    value: function buildDeco(view, highlighters) {
      var _this10 = this;
      if (!highlighters || !this.tree.length) return _view.Decoration.none;
      var builder = new _state2.RangeSetBuilder();
      var _iterator21 = _createForOfIteratorHelper(view.visibleRanges),
        _step21;
      try {
        for (_iterator21.s(); !(_step21 = _iterator21.n()).done;) {
          var _step21$value = _step21.value,
            from = _step21$value.from,
            to = _step21$value.to;
          (0, _highlight.highlightTree)(this.tree, highlighters, function (from, to, style) {
            builder.add(from, to, _this10.markCache[style] || (_this10.markCache[style] = _view.Decoration.mark({
              "class": style
            })));
          }, from, to);
        }
      } catch (err) {
        _iterator21.e(err);
      } finally {
        _iterator21.f();
      }
      return builder.finish();
    }
  }]);
}();
var treeHighlighter = /*@__PURE__*/_state2.Prec.high( /*@__PURE__*/_view.ViewPlugin.fromClass(TreeHighlighter, {
  decorations: function decorations(v) {
    return v.decorations;
  }
}));
/**
A default highlight style (works well with light themes).
*/
var defaultHighlightStyle = exports.defaultHighlightStyle = /*@__PURE__*/HighlightStyle.define([{
  tag: _highlight.tags.meta,
  color: "#404740"
}, {
  tag: _highlight.tags.link,
  textDecoration: "underline"
}, {
  tag: _highlight.tags.heading,
  textDecoration: "underline",
  fontWeight: "bold"
}, {
  tag: _highlight.tags.emphasis,
  fontStyle: "italic"
}, {
  tag: _highlight.tags.strong,
  fontWeight: "bold"
}, {
  tag: _highlight.tags.strikethrough,
  textDecoration: "line-through"
}, {
  tag: _highlight.tags.keyword,
  color: "#708"
}, {
  tag: [_highlight.tags.atom, _highlight.tags.bool, _highlight.tags.url, _highlight.tags.contentSeparator, _highlight.tags.labelName],
  color: "#219"
}, {
  tag: [_highlight.tags.literal, _highlight.tags.inserted],
  color: "#164"
}, {
  tag: [_highlight.tags.string, _highlight.tags.deleted],
  color: "#a11"
}, {
  tag: [_highlight.tags.regexp, _highlight.tags.escape, /*@__PURE__*/_highlight.tags.special(_highlight.tags.string)],
  color: "#e40"
}, {
  tag: /*@__PURE__*/_highlight.tags.definition(_highlight.tags.variableName),
  color: "#00f"
}, {
  tag: /*@__PURE__*/_highlight.tags.local(_highlight.tags.variableName),
  color: "#30a"
}, {
  tag: [_highlight.tags.typeName, _highlight.tags.namespace],
  color: "#085"
}, {
  tag: _highlight.tags.className,
  color: "#167"
}, {
  tag: [/*@__PURE__*/_highlight.tags.special(_highlight.tags.variableName), _highlight.tags.macroName],
  color: "#256"
}, {
  tag: /*@__PURE__*/_highlight.tags.definition(_highlight.tags.propertyName),
  color: "#00c"
}, {
  tag: _highlight.tags.comment,
  color: "#940"
}, {
  tag: _highlight.tags.invalid,
  color: "#f00"
}]);
var baseTheme = /*@__PURE__*/_view.EditorView.baseTheme({
  "&.cm-focused .cm-matchingBracket": {
    backgroundColor: "#328c8252"
  },
  "&.cm-focused .cm-nonmatchingBracket": {
    backgroundColor: "#bb555544"
  }
});
var DefaultScanDist = 10000,
  DefaultBrackets = "()[]{}";
var bracketMatchingConfig = /*@__PURE__*/_state2.Facet.define({
  combine: function combine(configs) {
    return (0, _state2.combineConfig)(configs, {
      afterCursor: true,
      brackets: DefaultBrackets,
      maxScanDistance: DefaultScanDist,
      renderMatch: defaultRenderMatch
    });
  }
});
var matchingMark = /*@__PURE__*/_view.Decoration.mark({
    "class": "cm-matchingBracket"
  }),
  nonmatchingMark = /*@__PURE__*/_view.Decoration.mark({
    "class": "cm-nonmatchingBracket"
  });
function defaultRenderMatch(match) {
  var decorations = [];
  var mark = match.matched ? matchingMark : nonmatchingMark;
  decorations.push(mark.range(match.start.from, match.start.to));
  if (match.end) decorations.push(mark.range(match.end.from, match.end.to));
  return decorations;
}
var bracketMatchingState = /*@__PURE__*/_state2.StateField.define({
  create: function create() {
    return _view.Decoration.none;
  },
  update: function update(deco, tr) {
    if (!tr.docChanged && !tr.selection) return deco;
    var decorations = [];
    var config = tr.state.facet(bracketMatchingConfig);
    var _iterator22 = _createForOfIteratorHelper(tr.state.selection.ranges),
      _step22;
    try {
      for (_iterator22.s(); !(_step22 = _iterator22.n()).done;) {
        var range = _step22.value;
        if (!range.empty) continue;
        var match = matchBrackets(tr.state, range.head, -1, config) || range.head > 0 && matchBrackets(tr.state, range.head - 1, 1, config) || config.afterCursor && (matchBrackets(tr.state, range.head, 1, config) || range.head < tr.state.doc.length && matchBrackets(tr.state, range.head + 1, -1, config));
        if (match) decorations = decorations.concat(config.renderMatch(match, tr.state));
      }
    } catch (err) {
      _iterator22.e(err);
    } finally {
      _iterator22.f();
    }
    return _view.Decoration.set(decorations, true);
  },
  provide: function provide(f) {
    return _view.EditorView.decorations.from(f);
  }
});
var bracketMatchingUnique = [bracketMatchingState, baseTheme];
/**
Create an extension that enables bracket matching. Whenever the
cursor is next to a bracket, that bracket and the one it matches
are highlighted. Or, when no matching bracket is found, another
highlighting style is used to indicate this.
*/
function bracketMatching() {
  var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
  return [bracketMatchingConfig.of(config), bracketMatchingUnique];
}
/**
When larger syntax nodes, such as HTML tags, are marked as
opening/closing, it can be a bit messy to treat the whole node as
a matchable bracket. This node prop allows you to define, for such
a node, a ‘handle’—the part of the node that is highlighted, and
that the cursor must be on to activate highlighting in the first
place.
*/
var bracketMatchingHandle = exports.bracketMatchingHandle = /*@__PURE__*/new _common.NodeProp();
function matchingNodes(node, dir, brackets) {
  var byProp = node.prop(dir < 0 ? _common.NodeProp.openedBy : _common.NodeProp.closedBy);
  if (byProp) return byProp;
  if (node.name.length == 1) {
    var index = brackets.indexOf(node.name);
    if (index > -1 && index % 2 == (dir < 0 ? 1 : 0)) return [brackets[index + dir]];
  }
  return null;
}
function findHandle(node) {
  var hasHandle = node.type.prop(bracketMatchingHandle);
  return hasHandle ? hasHandle(node.node) : node;
}
/**
Find the matching bracket for the token at `pos`, scanning
direction `dir`. Only the `brackets` and `maxScanDistance`
properties are used from `config`, if given. Returns null if no
bracket was found at `pos`, or a match result otherwise.
*/
function matchBrackets(state, pos, dir) {
  var config = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
  var maxScanDistance = config.maxScanDistance || DefaultScanDist,
    brackets = config.brackets || DefaultBrackets;
  var tree = syntaxTree(state),
    node = tree.resolveInner(pos, dir);
  for (var cur = node; cur; cur = cur.parent) {
    var matches = matchingNodes(cur.type, dir, brackets);
    if (matches && cur.from < cur.to) {
      var handle = findHandle(cur);
      if (handle && (dir > 0 ? pos >= handle.from && pos < handle.to : pos > handle.from && pos <= handle.to)) return matchMarkedBrackets(state, pos, dir, cur, handle, matches, brackets);
    }
  }
  return matchPlainBrackets(state, pos, dir, tree, node.type, maxScanDistance, brackets);
}
function matchMarkedBrackets(_state, _pos, dir, token, handle, matching, brackets) {
  var parent = token.parent,
    firstToken = {
      from: handle.from,
      to: handle.to
    };
  var depth = 0,
    cursor = parent === null || parent === void 0 ? void 0 : parent.cursor();
  if (cursor && (dir < 0 ? cursor.childBefore(token.from) : cursor.childAfter(token.to))) do {
    if (dir < 0 ? cursor.to <= token.from : cursor.from >= token.to) {
      if (depth == 0 && matching.indexOf(cursor.type.name) > -1 && cursor.from < cursor.to) {
        var endHandle = findHandle(cursor);
        return {
          start: firstToken,
          end: endHandle ? {
            from: endHandle.from,
            to: endHandle.to
          } : undefined,
          matched: true
        };
      } else if (matchingNodes(cursor.type, dir, brackets)) {
        depth++;
      } else if (matchingNodes(cursor.type, -dir, brackets)) {
        if (depth == 0) {
          var _endHandle = findHandle(cursor);
          return {
            start: firstToken,
            end: _endHandle && _endHandle.from < _endHandle.to ? {
              from: _endHandle.from,
              to: _endHandle.to
            } : undefined,
            matched: false
          };
        }
        depth--;
      }
    }
  } while (dir < 0 ? cursor.prevSibling() : cursor.nextSibling());
  return {
    start: firstToken,
    matched: false
  };
}
function matchPlainBrackets(state, pos, dir, tree, tokenType, maxScanDistance, brackets) {
  var startCh = dir < 0 ? state.sliceDoc(pos - 1, pos) : state.sliceDoc(pos, pos + 1);
  var bracket = brackets.indexOf(startCh);
  if (bracket < 0 || bracket % 2 == 0 != dir > 0) return null;
  var startToken = {
    from: dir < 0 ? pos - 1 : pos,
    to: dir > 0 ? pos + 1 : pos
  };
  var iter = state.doc.iterRange(pos, dir > 0 ? state.doc.length : 0),
    depth = 0;
  for (var distance = 0; !iter.next().done && distance <= maxScanDistance;) {
    var text = iter.value;
    if (dir < 0) distance += text.length;
    var basePos = pos + distance * dir;
    for (var _pos2 = dir > 0 ? 0 : text.length - 1, end = dir > 0 ? text.length : -1; _pos2 != end; _pos2 += dir) {
      var found = brackets.indexOf(text[_pos2]);
      if (found < 0 || tree.resolveInner(basePos + _pos2, 1).type != tokenType) continue;
      if (found % 2 == 0 == dir > 0) {
        depth++;
      } else if (depth == 1) {
        // Closing
        return {
          start: startToken,
          end: {
            from: basePos + _pos2,
            to: basePos + _pos2 + 1
          },
          matched: found >> 1 == bracket >> 1
        };
      } else {
        depth--;
      }
    }
    if (dir > 0) distance += text.length;
  }
  return iter.done ? {
    start: startToken,
    matched: false
  } : null;
}

// Counts the column offset in a string, taking tabs into account.
// Used mostly to find indentation.
function countCol(string, end, tabSize) {
  var startIndex = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;
  var startValue = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 0;
  if (end == null) {
    end = string.search(/[^\s\u00a0]/);
    if (end == -1) end = string.length;
  }
  var n = startValue;
  for (var i = startIndex; i < end; i++) {
    if (string.charCodeAt(i) == 9) n += tabSize - n % tabSize;else n++;
  }
  return n;
}
/**
Encapsulates a single line of input. Given to stream syntax code,
which uses it to tokenize the content.
*/
var StringStream = exports.StringStream = /*#__PURE__*/function () {
  /**
  Create a stream.
  */
  function StringStream(
  /**
  The line.
  */
  string, tabSize,
  /**
  The current indent unit size.
  */
  indentUnit, overrideIndent) {
    _classCallCheck(this, StringStream);
    this.string = string;
    this.tabSize = tabSize;
    this.indentUnit = indentUnit;
    this.overrideIndent = overrideIndent;
    /**
    The current position on the line.
    */
    this.pos = 0;
    /**
    The start position of the current token.
    */
    this.start = 0;
    this.lastColumnPos = 0;
    this.lastColumnValue = 0;
  }
  /**
  True if we are at the end of the line.
  */
  return _createClass(StringStream, [{
    key: "eol",
    value: function eol() {
      return this.pos >= this.string.length;
    }
    /**
    True if we are at the start of the line.
    */
  }, {
    key: "sol",
    value: function sol() {
      return this.pos == 0;
    }
    /**
    Get the next code unit after the current position, or undefined
    if we're at the end of the line.
    */
  }, {
    key: "peek",
    value: function peek() {
      return this.string.charAt(this.pos) || undefined;
    }
    /**
    Read the next code unit and advance `this.pos`.
    */
  }, {
    key: "next",
    value: function next() {
      if (this.pos < this.string.length) return this.string.charAt(this.pos++);
    }
    /**
    Match the next character against the given string, regular
    expression, or predicate. Consume and return it if it matches.
    */
  }, {
    key: "eat",
    value: function eat(match) {
      var ch = this.string.charAt(this.pos);
      var ok;
      if (typeof match == "string") ok = ch == match;else ok = ch && (match instanceof RegExp ? match.test(ch) : match(ch));
      if (ok) {
        ++this.pos;
        return ch;
      }
    }
    /**
    Continue matching characters that match the given string,
    regular expression, or predicate function. Return true if any
    characters were consumed.
    */
  }, {
    key: "eatWhile",
    value: function eatWhile(match) {
      var start = this.pos;
      while (this.eat(match)) {}
      return this.pos > start;
    }
    /**
    Consume whitespace ahead of `this.pos`. Return true if any was
    found.
    */
  }, {
    key: "eatSpace",
    value: function eatSpace() {
      var start = this.pos;
      while (/[\s\u00a0]/.test(this.string.charAt(this.pos))) ++this.pos;
      return this.pos > start;
    }
    /**
    Move to the end of the line.
    */
  }, {
    key: "skipToEnd",
    value: function skipToEnd() {
      this.pos = this.string.length;
    }
    /**
    Move to directly before the given character, if found on the
    current line.
    */
  }, {
    key: "skipTo",
    value: function skipTo(ch) {
      var found = this.string.indexOf(ch, this.pos);
      if (found > -1) {
        this.pos = found;
        return true;
      }
    }
    /**
    Move back `n` characters.
    */
  }, {
    key: "backUp",
    value: function backUp(n) {
      this.pos -= n;
    }
    /**
    Get the column position at `this.pos`.
    */
  }, {
    key: "column",
    value: function column() {
      if (this.lastColumnPos < this.start) {
        this.lastColumnValue = countCol(this.string, this.start, this.tabSize, this.lastColumnPos, this.lastColumnValue);
        this.lastColumnPos = this.start;
      }
      return this.lastColumnValue;
    }
    /**
    Get the indentation column of the current line.
    */
  }, {
    key: "indentation",
    value: function indentation() {
      var _a;
      return (_a = this.overrideIndent) !== null && _a !== void 0 ? _a : countCol(this.string, null, this.tabSize);
    }
    /**
    Match the input against the given string or regular expression
    (which should start with a `^`). Return true or the regexp match
    if it matches.
    
    Unless `consume` is set to `false`, this will move `this.pos`
    past the matched text.
    
    When matching a string `caseInsensitive` can be set to true to
    make the match case-insensitive.
    */
  }, {
    key: "match",
    value: function match(pattern, consume, caseInsensitive) {
      if (typeof pattern == "string") {
        var cased = function cased(str) {
          return caseInsensitive ? str.toLowerCase() : str;
        };
        var substr = this.string.substr(this.pos, pattern.length);
        if (cased(substr) == cased(pattern)) {
          if (consume !== false) this.pos += pattern.length;
          return true;
        } else return null;
      } else {
        var match = this.string.slice(this.pos).match(pattern);
        if (match && match.index > 0) return null;
        if (match && consume !== false) this.pos += match[0].length;
        return match;
      }
    }
    /**
    Get the current token.
    */
  }, {
    key: "current",
    value: function current() {
      return this.string.slice(this.start, this.pos);
    }
  }]);
}();
function fullParser(spec) {
  return {
    name: spec.name || "",
    token: spec.token,
    blankLine: spec.blankLine || function () {},
    startState: spec.startState || function () {
      return true;
    },
    copyState: spec.copyState || defaultCopyState,
    indent: spec.indent || function () {
      return null;
    },
    languageData: spec.languageData || {},
    tokenTable: spec.tokenTable || noTokens
  };
}
function defaultCopyState(state) {
  if (_typeof(state) != "object") return state;
  var newState = {};
  for (var prop in state) {
    var val = state[prop];
    newState[prop] = val instanceof Array ? val.slice() : val;
  }
  return newState;
}
var IndentedFrom = /*@__PURE__*/new WeakMap();
/**
A [language](https://codemirror.net/6/docs/ref/#language.Language) class based on a CodeMirror
5-style [streaming parser](https://codemirror.net/6/docs/ref/#language.StreamParser).
*/
var StreamLanguage = exports.StreamLanguage = /*#__PURE__*/function (_Language2) {
  function StreamLanguage(parser) {
    var _this11;
    _classCallCheck(this, StreamLanguage);
    var data = defineLanguageFacet(parser.languageData);
    var p = fullParser(parser),
      self;
    var impl = new ( /*#__PURE__*/function (_Parser2) {
      function _class4() {
        _classCallCheck(this, _class4);
        return _callSuper(this, _class4, arguments);
      }
      _inherits(_class4, _Parser2);
      return _createClass(_class4, [{
        key: "createParse",
        value: function createParse(input, fragments, ranges) {
          return new Parse(self, input, fragments, ranges);
        }
      }]);
    }(_common.Parser))();
    _this11 = _callSuper(this, StreamLanguage, [data, impl, [indentService.of(function (cx, pos) {
      return _this11.getIndent(cx, pos);
    })], parser.name]);
    _this11.topNode = docID(data);
    self = _this11;
    _this11.streamParser = p;
    _this11.stateAfter = new _common.NodeProp({
      perNode: true
    });
    _this11.tokenTable = parser.tokenTable ? new TokenTable(p.tokenTable) : defaultTokenTable;
    return _this11;
  }
  /**
  Define a stream language.
  */
  _inherits(StreamLanguage, _Language2);
  return _createClass(StreamLanguage, [{
    key: "getIndent",
    value: function getIndent(cx, pos) {
      var tree = syntaxTree(cx.state),
        at = tree.resolve(pos);
      while (at && at.type != this.topNode) at = at.parent;
      if (!at) return null;
      var from = undefined;
      var overrideIndentation = cx.options.overrideIndentation;
      if (overrideIndentation) {
        from = IndentedFrom.get(cx.state);
        if (from != null && from < pos - 1e4) from = undefined;
      }
      var start = findState(this, tree, 0, at.from, from !== null && from !== void 0 ? from : pos),
        statePos,
        state;
      if (start) {
        state = start.state;
        statePos = start.pos + 1;
      } else {
        state = this.streamParser.startState(cx.unit);
        statePos = 0;
      }
      if (pos - statePos > 10000 /* C.MaxIndentScanDist */) return null;
      while (statePos < pos) {
        var _line2 = cx.state.doc.lineAt(statePos),
          end = Math.min(pos, _line2.to);
        if (_line2.length) {
          var indentation = overrideIndentation ? overrideIndentation(_line2.from) : -1;
          var stream = new StringStream(_line2.text, cx.state.tabSize, cx.unit, indentation < 0 ? undefined : indentation);
          while (stream.pos < end - _line2.from) readToken(this.streamParser.token, stream, state);
        } else {
          this.streamParser.blankLine(state, cx.unit);
        }
        if (end == pos) break;
        statePos = _line2.to + 1;
      }
      var line = cx.lineAt(pos);
      if (overrideIndentation && from == null) IndentedFrom.set(cx.state, line.from);
      return this.streamParser.indent(state, /^\s*(.*)/.exec(line.text)[1], cx);
    }
  }, {
    key: "allowsNesting",
    get: function get() {
      return false;
    }
  }], [{
    key: "define",
    value: function define(spec) {
      return new StreamLanguage(spec);
    }
  }]);
}(Language);
function findState(lang, tree, off, startPos, before) {
  var state = off >= startPos && off + tree.length <= before && tree.prop(lang.stateAfter);
  if (state) return {
    state: lang.streamParser.copyState(state),
    pos: off + tree.length
  };
  for (var i = tree.children.length - 1; i >= 0; i--) {
    var child = tree.children[i],
      pos = off + tree.positions[i];
    var found = child instanceof _common.Tree && pos < before && findState(lang, child, pos, startPos, before);
    if (found) return found;
  }
  return null;
}
function cutTree(lang, tree, from, to, inside) {
  if (inside && from <= 0 && to >= tree.length) return tree;
  if (!inside && tree.type == lang.topNode) inside = true;
  for (var i = tree.children.length - 1; i >= 0; i--) {
    var pos = tree.positions[i],
      child = tree.children[i],
      inner = void 0;
    if (pos < to && child instanceof _common.Tree) {
      if (!(inner = cutTree(lang, child, from - pos, to - pos, inside))) break;
      return !inside ? inner : new _common.Tree(tree.type, tree.children.slice(0, i).concat(inner), tree.positions.slice(0, i + 1), pos + inner.length);
    }
  }
  return null;
}
function findStartInFragments(lang, fragments, startPos, editorState) {
  var _iterator23 = _createForOfIteratorHelper(fragments),
    _step23;
  try {
    for (_iterator23.s(); !(_step23 = _iterator23.n()).done;) {
      var f = _step23.value;
      var from = f.from + (f.openStart ? 25 : 0),
        to = f.to - (f.openEnd ? 25 : 0);
      var found = from <= startPos && to > startPos && findState(lang, f.tree, 0 - f.offset, startPos, to),
        tree = void 0;
      if (found && (tree = cutTree(lang, f.tree, startPos + f.offset, found.pos + f.offset, false))) return {
        state: found.state,
        tree: tree
      };
    }
  } catch (err) {
    _iterator23.e(err);
  } finally {
    _iterator23.f();
  }
  return {
    state: lang.streamParser.startState(editorState ? getIndentUnit(editorState) : 4),
    tree: _common.Tree.empty
  };
}
var Parse = /*#__PURE__*/function () {
  function Parse(lang, input, fragments, ranges) {
    _classCallCheck(this, Parse);
    this.lang = lang;
    this.input = input;
    this.fragments = fragments;
    this.ranges = ranges;
    this.stoppedAt = null;
    this.chunks = [];
    this.chunkPos = [];
    this.chunk = [];
    this.chunkReused = undefined;
    this.rangeIndex = 0;
    this.to = ranges[ranges.length - 1].to;
    var context = ParseContext.get(),
      from = ranges[0].from;
    var _findStartInFragments = findStartInFragments(lang, fragments, from, context === null || context === void 0 ? void 0 : context.state),
      state = _findStartInFragments.state,
      tree = _findStartInFragments.tree;
    this.state = state;
    this.parsedPos = this.chunkStart = from + tree.length;
    for (var i = 0; i < tree.children.length; i++) {
      this.chunks.push(tree.children[i]);
      this.chunkPos.push(tree.positions[i]);
    }
    if (context && this.parsedPos < context.viewport.from - 100000 /* C.MaxDistanceBeforeViewport */) {
      this.state = this.lang.streamParser.startState(getIndentUnit(context.state));
      context.skipUntilInView(this.parsedPos, context.viewport.from);
      this.parsedPos = context.viewport.from;
    }
    this.moveRangeIndex();
  }
  return _createClass(Parse, [{
    key: "advance",
    value: function advance() {
      var context = ParseContext.get();
      var parseEnd = this.stoppedAt == null ? this.to : Math.min(this.to, this.stoppedAt);
      var end = Math.min(parseEnd, this.chunkStart + 2048 /* C.ChunkSize */);
      if (context) end = Math.min(end, context.viewport.to);
      while (this.parsedPos < end) this.parseLine(context);
      if (this.chunkStart < this.parsedPos) this.finishChunk();
      if (this.parsedPos >= parseEnd) return this.finish();
      if (context && this.parsedPos >= context.viewport.to) {
        context.skipUntilInView(this.parsedPos, parseEnd);
        return this.finish();
      }
      return null;
    }
  }, {
    key: "stopAt",
    value: function stopAt(pos) {
      this.stoppedAt = pos;
    }
  }, {
    key: "lineAfter",
    value: function lineAfter(pos) {
      var chunk = this.input.chunk(pos);
      if (!this.input.lineChunks) {
        var eol = chunk.indexOf("\n");
        if (eol > -1) chunk = chunk.slice(0, eol);
      } else if (chunk == "\n") {
        chunk = "";
      }
      return pos + chunk.length <= this.to ? chunk : chunk.slice(0, this.to - pos);
    }
  }, {
    key: "nextLine",
    value: function nextLine() {
      var from = this.parsedPos,
        line = this.lineAfter(from),
        end = from + line.length;
      for (var index = this.rangeIndex;;) {
        var rangeEnd = this.ranges[index].to;
        if (rangeEnd >= end) break;
        line = line.slice(0, rangeEnd - (end - line.length));
        index++;
        if (index == this.ranges.length) break;
        var rangeStart = this.ranges[index].from;
        var after = this.lineAfter(rangeStart);
        line += after;
        end = rangeStart + after.length;
      }
      return {
        line: line,
        end: end
      };
    }
  }, {
    key: "skipGapsTo",
    value: function skipGapsTo(pos, offset, side) {
      for (;;) {
        var end = this.ranges[this.rangeIndex].to,
          offPos = pos + offset;
        if (side > 0 ? end > offPos : end >= offPos) break;
        var start = this.ranges[++this.rangeIndex].from;
        offset += start - end;
      }
      return offset;
    }
  }, {
    key: "moveRangeIndex",
    value: function moveRangeIndex() {
      while (this.ranges[this.rangeIndex].to < this.parsedPos) this.rangeIndex++;
    }
  }, {
    key: "emitToken",
    value: function emitToken(id, from, to, size, offset) {
      if (this.ranges.length > 1) {
        offset = this.skipGapsTo(from, offset, 1);
        from += offset;
        var len0 = this.chunk.length;
        offset = this.skipGapsTo(to, offset, -1);
        to += offset;
        size += this.chunk.length - len0;
      }
      this.chunk.push(id, from, to, size);
      return offset;
    }
  }, {
    key: "parseLine",
    value: function parseLine(context) {
      var _this$nextLine = this.nextLine(),
        line = _this$nextLine.line,
        end = _this$nextLine.end,
        offset = 0,
        streamParser = this.lang.streamParser;
      var stream = new StringStream(line, context ? context.state.tabSize : 4, context ? getIndentUnit(context.state) : 2);
      if (stream.eol()) {
        streamParser.blankLine(this.state, stream.indentUnit);
      } else {
        while (!stream.eol()) {
          var token = readToken(streamParser.token, stream, this.state);
          if (token) offset = this.emitToken(this.lang.tokenTable.resolve(token), this.parsedPos + stream.start, this.parsedPos + stream.pos, 4, offset);
          if (stream.start > 10000 /* C.MaxLineLength */) break;
        }
      }
      this.parsedPos = end;
      this.moveRangeIndex();
      if (this.parsedPos < this.to) this.parsedPos++;
    }
  }, {
    key: "finishChunk",
    value: function finishChunk() {
      var tree = _common.Tree.build({
        buffer: this.chunk,
        start: this.chunkStart,
        length: this.parsedPos - this.chunkStart,
        nodeSet: nodeSet,
        topID: 0,
        maxBufferLength: 2048 /* C.ChunkSize */,
        reused: this.chunkReused
      });
      tree = new _common.Tree(tree.type, tree.children, tree.positions, tree.length, [[this.lang.stateAfter, this.lang.streamParser.copyState(this.state)]]);
      this.chunks.push(tree);
      this.chunkPos.push(this.chunkStart - this.ranges[0].from);
      this.chunk = [];
      this.chunkReused = undefined;
      this.chunkStart = this.parsedPos;
    }
  }, {
    key: "finish",
    value: function finish() {
      return new _common.Tree(this.lang.topNode, this.chunks, this.chunkPos, this.parsedPos - this.ranges[0].from).balance();
    }
  }]);
}();
function readToken(token, stream, state) {
  stream.start = stream.pos;
  for (var i = 0; i < 10; i++) {
    var result = token(stream, state);
    if (stream.pos > stream.start) return result;
  }
  throw new Error("Stream parser failed to advance stream.");
}
var noTokens = /*@__PURE__*/Object.create(null);
var typeArray = [_common.NodeType.none];
var nodeSet = /*@__PURE__*/new _common.NodeSet(typeArray);
var warned = [];
// Cache of node types by name and tags
var byTag = /*@__PURE__*/Object.create(null);
var defaultTable = /*@__PURE__*/Object.create(null);
for (var _i = 0, _arr = [["variable", "variableName"], ["variable-2", "variableName.special"], ["string-2", "string.special"], ["def", "variableName.definition"], ["tag", "tagName"], ["attribute", "attributeName"], ["type", "typeName"], ["builtin", "variableName.standard"], ["qualifier", "modifier"], ["error", "invalid"], ["header", "heading"], ["property", "propertyName"]]; _i < _arr.length; _i++) {
  var _arr$_i = _slicedToArray(_arr[_i], 2),
    legacyName = _arr$_i[0],
    name = _arr$_i[1];
  defaultTable[legacyName] = /*@__PURE__*/createTokenType(noTokens, name);
}
var TokenTable = /*#__PURE__*/function () {
  function TokenTable(extra) {
    _classCallCheck(this, TokenTable);
    this.extra = extra;
    this.table = Object.assign(Object.create(null), defaultTable);
  }
  return _createClass(TokenTable, [{
    key: "resolve",
    value: function resolve(tag) {
      return !tag ? 0 : this.table[tag] || (this.table[tag] = createTokenType(this.extra, tag));
    }
  }]);
}();
var defaultTokenTable = /*@__PURE__*/new TokenTable(noTokens);
function warnForPart(part, msg) {
  if (warned.indexOf(part) > -1) return;
  warned.push(part);
  console.warn(msg);
}
function createTokenType(extra, tagStr) {
  var tags$1 = [];
  var _iterator24 = _createForOfIteratorHelper(tagStr.split(" ")),
    _step24;
  try {
    for (_iterator24.s(); !(_step24 = _iterator24.n()).done;) {
      var _name = _step24.value;
      var found = [];
      var _iterator25 = _createForOfIteratorHelper(_name.split(".")),
        _step25;
      try {
        for (_iterator25.s(); !(_step25 = _iterator25.n()).done;) {
          var part = _step25.value;
          var value = extra[part] || _highlight.tags[part];
          if (!value) {
            warnForPart(part, "Unknown highlighting tag ".concat(part));
          } else if (typeof value == "function") {
            if (!found.length) warnForPart(part, "Modifier ".concat(part, " used at start of tag"));else found = found.map(value);
          } else {
            if (found.length) warnForPart(part, "Tag ".concat(part, " used as modifier"));else found = Array.isArray(value) ? value : [value];
          }
        }
      } catch (err) {
        _iterator25.e(err);
      } finally {
        _iterator25.f();
      }
      var _iterator26 = _createForOfIteratorHelper(found),
        _step26;
      try {
        for (_iterator26.s(); !(_step26 = _iterator26.n()).done;) {
          var tag = _step26.value;
          tags$1.push(tag);
        }
      } catch (err) {
        _iterator26.e(err);
      } finally {
        _iterator26.f();
      }
    }
  } catch (err) {
    _iterator24.e(err);
  } finally {
    _iterator24.f();
  }
  if (!tags$1.length) return 0;
  var name = tagStr.replace(/ /g, "_"),
    key = name + " " + tags$1.map(function (t) {
      return t.id;
    });
  var known = byTag[key];
  if (known) return known.id;
  var type = byTag[key] = _common.NodeType.define({
    id: typeArray.length,
    name: name,
    props: [(0, _highlight.styleTags)(_defineProperty({}, name, tags$1))]
  });
  typeArray.push(type);
  return type.id;
}
function docID(data) {
  var type = _common.NodeType.define({
    id: typeArray.length,
    name: "Document",
    props: [languageDataProp.add(function () {
      return data;
    })],
    top: true
  });
  typeArray.push(type);
  return type;
}
function buildForLine(line) {
  return line.length <= 4096 && /[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac\ufb50-\ufdff]/.test(line);
}
function textHasRTL(text) {
  for (var i = text.iter(); !i.next().done;) if (buildForLine(i.value)) return true;
  return false;
}
function changeAddsRTL(change) {
  var added = false;
  change.iterChanges(function (fA, tA, fB, tB, ins) {
    if (!added && textHasRTL(ins)) added = true;
  });
  return added;
}
var alwaysIsolate = /*@__PURE__*/_state2.Facet.define({
  combine: function combine(values) {
    return values.some(function (x) {
      return x;
    });
  }
});
/**
Make sure nodes
[marked](https://lezer.codemirror.net/docs/ref/#common.NodeProp^isolate)
as isolating for bidirectional text are rendered in a way that
isolates them from the surrounding text.
*/
function bidiIsolates() {
  var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
  var extensions = [isolateMarks];
  if (options.alwaysIsolate) extensions.push(alwaysIsolate.of(true));
  return extensions;
}
var isolateMarks = /*@__PURE__*/_view.ViewPlugin.fromClass( /*#__PURE__*/function () {
  function _class5(view) {
    _classCallCheck(this, _class5);
    this.always = view.state.facet(alwaysIsolate) || view.textDirection != _view.Direction.LTR || view.state.facet(_view.EditorView.perLineTextDirection);
    this.hasRTL = !this.always && textHasRTL(view.state.doc);
    this.tree = syntaxTree(view.state);
    this.decorations = this.always || this.hasRTL ? buildDeco(view, this.tree, this.always) : _view.Decoration.none;
  }
  return _createClass(_class5, [{
    key: "update",
    value: function update(_update4) {
      var always = _update4.state.facet(alwaysIsolate) || _update4.view.textDirection != _view.Direction.LTR || _update4.state.facet(_view.EditorView.perLineTextDirection);
      if (!always && !this.hasRTL && changeAddsRTL(_update4.changes)) this.hasRTL = true;
      if (!always && !this.hasRTL) return;
      var tree = syntaxTree(_update4.state);
      if (always != this.always || tree != this.tree || _update4.docChanged || _update4.viewportChanged) {
        this.tree = tree;
        this.always = always;
        this.decorations = buildDeco(_update4.view, tree, always);
      }
    }
  }]);
}(), {
  provide: function provide(plugin) {
    function access(view) {
      var _a, _b;
      return (_b = (_a = view.plugin(plugin)) === null || _a === void 0 ? void 0 : _a.decorations) !== null && _b !== void 0 ? _b : _view.Decoration.none;
    }
    return [_view.EditorView.outerDecorations.of(access), _state2.Prec.lowest(_view.EditorView.bidiIsolatedRanges.of(access))];
  }
});
function buildDeco(view, tree, always) {
  var deco = new _state2.RangeSetBuilder();
  var ranges = view.visibleRanges;
  if (!always) ranges = clipRTLLines(ranges, view.state.doc);
  var _iterator27 = _createForOfIteratorHelper(ranges),
    _step27;
  try {
    for (_iterator27.s(); !(_step27 = _iterator27.n()).done;) {
      var _step27$value = _step27.value,
        from = _step27$value.from,
        to = _step27$value.to;
      tree.iterate({
        enter: function enter(node) {
          var iso = node.type.prop(_common.NodeProp.isolate);
          if (iso) deco.add(node.from, node.to, marks[iso]);
        },
        from: from,
        to: to
      });
    }
  } catch (err) {
    _iterator27.e(err);
  } finally {
    _iterator27.f();
  }
  return deco.finish();
}
function clipRTLLines(ranges, doc) {
  var cur = doc.iter(),
    pos = 0,
    result = [],
    last = null;
  var _iterator28 = _createForOfIteratorHelper(ranges),
    _step28;
  try {
    for (_iterator28.s(); !(_step28 = _iterator28.n()).done;) {
      var _step28$value = _step28.value,
        from = _step28$value.from,
        to = _step28$value.to;
      if (from != pos) {
        if (pos < from) cur.next(from - pos);
        pos = from;
      }
      for (;;) {
        var start = pos,
          end = pos + cur.value.length;
        if (!cur.lineBreak && buildForLine(cur.value)) {
          if (last && last.to > start - 10) last.to = Math.min(to, end);else result.push(last = {
            from: start,
            to: Math.min(to, end)
          });
        }
        if (pos >= to) break;
        pos = end;
        cur.next();
      }
    }
  } catch (err) {
    _iterator28.e(err);
  } finally {
    _iterator28.f();
  }
  return result;
}
var marks = {
  rtl: /*@__PURE__*/_view.Decoration.mark({
    "class": "cm-iso",
    inclusive: true,
    attributes: {
      dir: "rtl"
    },
    bidiIsolate: _view.Direction.RTL
  }),
  ltr: /*@__PURE__*/_view.Decoration.mark({
    "class": "cm-iso",
    inclusive: true,
    attributes: {
      dir: "ltr"
    },
    bidiIsolate: _view.Direction.LTR
  }),
  auto: /*@__PURE__*/_view.Decoration.mark({
    "class": "cm-iso",
    inclusive: true,
    attributes: {
      dir: "auto"
    },
    bidiIsolate: null
  })
};

},{"@codemirror/state":9,"@codemirror/view":10,"@lezer/common":11,"@lezer/highlight":12,"style-mod":17}],7:[function(require,module,exports){
"use strict";

function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.closeLintPanel = void 0;
exports.diagnosticCount = diagnosticCount;
exports.forEachDiagnostic = forEachDiagnostic;
exports.forceLinting = forceLinting;
exports.lintGutter = lintGutter;
exports.lintKeymap = void 0;
exports.linter = linter;
exports.previousDiagnostic = exports.openLintPanel = exports.nextDiagnostic = void 0;
exports.setDiagnostics = setDiagnostics;
exports.setDiagnosticsEffect = void 0;
var _view = require("@codemirror/view");
var _state = require("@codemirror/state");
var _crelt = _interopRequireDefault(require("crelt"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
var SelectedDiagnostic = /*#__PURE__*/_createClass(function SelectedDiagnostic(from, to, diagnostic) {
  _classCallCheck(this, SelectedDiagnostic);
  this.from = from;
  this.to = to;
  this.diagnostic = diagnostic;
});
var LintState = /*#__PURE__*/function () {
  function LintState(diagnostics, panel, selected) {
    _classCallCheck(this, LintState);
    this.diagnostics = diagnostics;
    this.panel = panel;
    this.selected = selected;
  }
  return _createClass(LintState, null, [{
    key: "init",
    value: function init(diagnostics, panel, state) {
      // Filter the list of diagnostics for which to create markers
      var markedDiagnostics = diagnostics;
      var diagnosticFilter = state.facet(lintConfig).markerFilter;
      if (diagnosticFilter) markedDiagnostics = diagnosticFilter(markedDiagnostics, state);
      var ranges = _view.Decoration.set(markedDiagnostics.map(function (d) {
        // For zero-length ranges or ranges covering only a line break, create a widget
        return d.from == d.to || d.from == d.to - 1 && state.doc.lineAt(d.from).to == d.from ? _view.Decoration.widget({
          widget: new DiagnosticWidget(d),
          diagnostic: d
        }).range(d.from) : _view.Decoration.mark({
          attributes: {
            "class": "cm-lintRange cm-lintRange-" + d.severity + (d.markClass ? " " + d.markClass : "")
          },
          diagnostic: d,
          inclusive: true
        }).range(d.from, d.to);
      }), true);
      return new LintState(ranges, panel, findDiagnostic(ranges));
    }
  }]);
}();
function findDiagnostic(diagnostics) {
  var diagnostic = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
  var after = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;
  var found = null;
  diagnostics.between(after, 1e9, function (from, to, _ref) {
    var spec = _ref.spec;
    if (diagnostic && spec.diagnostic != diagnostic) return;
    found = new SelectedDiagnostic(from, to, spec.diagnostic);
    return false;
  });
  return found;
}
function hideTooltip(tr, tooltip) {
  var line = tr.startState.doc.lineAt(tooltip.pos);
  return !!(tr.effects.some(function (e) {
    return e.is(setDiagnosticsEffect);
  }) || tr.changes.touchesRange(line.from, line.to));
}
function maybeEnableLint(state, effects) {
  return state.field(lintState, false) ? effects : effects.concat(_state.StateEffect.appendConfig.of(lintExtensions));
}
/**
Returns a transaction spec which updates the current set of
diagnostics, and enables the lint extension if if wasn't already
active.
*/
function setDiagnostics(state, diagnostics) {
  return {
    effects: maybeEnableLint(state, [setDiagnosticsEffect.of(diagnostics)])
  };
}
/**
The state effect that updates the set of active diagnostics. Can
be useful when writing an extension that needs to track these.
*/
var setDiagnosticsEffect = exports.setDiagnosticsEffect = /*@__PURE__*/_state.StateEffect.define();
var togglePanel = /*@__PURE__*/_state.StateEffect.define();
var movePanelSelection = /*@__PURE__*/_state.StateEffect.define();
var lintState = /*@__PURE__*/_state.StateField.define({
  create: function create() {
    return new LintState(_view.Decoration.none, null, null);
  },
  update: function update(value, tr) {
    if (tr.docChanged) {
      var mapped = value.diagnostics.map(tr.changes),
        selected = null;
      if (value.selected) {
        var selPos = tr.changes.mapPos(value.selected.from, 1);
        selected = findDiagnostic(mapped, value.selected.diagnostic, selPos) || findDiagnostic(mapped, null, selPos);
      }
      value = new LintState(mapped, value.panel, selected);
    }
    var _iterator = _createForOfIteratorHelper(tr.effects),
      _step;
    try {
      for (_iterator.s(); !(_step = _iterator.n()).done;) {
        var effect = _step.value;
        if (effect.is(setDiagnosticsEffect)) {
          value = LintState.init(effect.value, value.panel, tr.state);
        } else if (effect.is(togglePanel)) {
          value = new LintState(value.diagnostics, effect.value ? LintPanel.open : null, value.selected);
        } else if (effect.is(movePanelSelection)) {
          value = new LintState(value.diagnostics, value.panel, effect.value);
        }
      }
    } catch (err) {
      _iterator.e(err);
    } finally {
      _iterator.f();
    }
    return value;
  },
  provide: function provide(f) {
    return [_view.showPanel.from(f, function (val) {
      return val.panel;
    }), _view.EditorView.decorations.from(f, function (s) {
      return s.diagnostics;
    })];
  }
});
/**
Returns the number of active lint diagnostics in the given state.
*/
function diagnosticCount(state) {
  var lint = state.field(lintState, false);
  return lint ? lint.diagnostics.size : 0;
}
var activeMark = /*@__PURE__*/_view.Decoration.mark({
  "class": "cm-lintRange cm-lintRange-active",
  inclusive: true
});
function lintTooltip(view, pos, side) {
  var _view$state$field = view.state.field(lintState),
    diagnostics = _view$state$field.diagnostics;
  var found = [],
    stackStart = 2e8,
    stackEnd = 0;
  diagnostics.between(pos - (side < 0 ? 1 : 0), pos + (side > 0 ? 1 : 0), function (from, to, _ref2) {
    var spec = _ref2.spec;
    if (pos >= from && pos <= to && (from == to || (pos > from || side > 0) && (pos < to || side < 0))) {
      found.push(spec.diagnostic);
      stackStart = Math.min(from, stackStart);
      stackEnd = Math.max(to, stackEnd);
    }
  });
  var diagnosticFilter = view.state.facet(lintConfig).tooltipFilter;
  if (diagnosticFilter) found = diagnosticFilter(found, view.state);
  if (!found.length) return null;
  return {
    pos: stackStart,
    end: stackEnd,
    above: view.state.doc.lineAt(stackStart).to < stackEnd,
    create: function create() {
      return {
        dom: diagnosticsTooltip(view, found)
      };
    }
  };
}
function diagnosticsTooltip(view, diagnostics) {
  return (0, _crelt["default"])("ul", {
    "class": "cm-tooltip-lint"
  }, diagnostics.map(function (d) {
    return renderDiagnostic(view, d, false);
  }));
}
/**
Command to open and focus the lint panel.
*/
var openLintPanel = exports.openLintPanel = function openLintPanel(view) {
  var field = view.state.field(lintState, false);
  if (!field || !field.panel) view.dispatch({
    effects: maybeEnableLint(view.state, [togglePanel.of(true)])
  });
  var panel = (0, _view.getPanel)(view, LintPanel.open);
  if (panel) panel.dom.querySelector(".cm-panel-lint ul").focus();
  return true;
};
/**
Command to close the lint panel, when open.
*/
var closeLintPanel = exports.closeLintPanel = function closeLintPanel(view) {
  var field = view.state.field(lintState, false);
  if (!field || !field.panel) return false;
  view.dispatch({
    effects: togglePanel.of(false)
  });
  return true;
};
/**
Move the selection to the next diagnostic.
*/
var nextDiagnostic = exports.nextDiagnostic = function nextDiagnostic(view) {
  var field = view.state.field(lintState, false);
  if (!field) return false;
  var sel = view.state.selection.main,
    next = field.diagnostics.iter(sel.to + 1);
  if (!next.value) {
    next = field.diagnostics.iter(0);
    if (!next.value || next.from == sel.from && next.to == sel.to) return false;
  }
  view.dispatch({
    selection: {
      anchor: next.from,
      head: next.to
    },
    scrollIntoView: true
  });
  return true;
};
/**
Move the selection to the previous diagnostic.
*/
var previousDiagnostic = exports.previousDiagnostic = function previousDiagnostic(view) {
  var state = view.state,
    field = state.field(lintState, false);
  if (!field) return false;
  var sel = state.selection.main;
  var prevFrom, prevTo, lastFrom, lastTo;
  field.diagnostics.between(0, state.doc.length, function (from, to) {
    if (to < sel.to && (prevFrom == null || prevFrom < from)) {
      prevFrom = from;
      prevTo = to;
    }
    if (lastFrom == null || from > lastFrom) {
      lastFrom = from;
      lastTo = to;
    }
  });
  if (lastFrom == null || prevFrom == null && lastFrom == sel.from) return false;
  view.dispatch({
    selection: {
      anchor: prevFrom !== null && prevFrom !== void 0 ? prevFrom : lastFrom,
      head: prevTo !== null && prevTo !== void 0 ? prevTo : lastTo
    },
    scrollIntoView: true
  });
  return true;
};
/**
A set of default key bindings for the lint functionality.

- Ctrl-Shift-m (Cmd-Shift-m on macOS): [`openLintPanel`](https://codemirror.net/6/docs/ref/#lint.openLintPanel)
- F8: [`nextDiagnostic`](https://codemirror.net/6/docs/ref/#lint.nextDiagnostic)
*/
var lintKeymap = exports.lintKeymap = [{
  key: "Mod-Shift-m",
  run: openLintPanel,
  preventDefault: true
}, {
  key: "F8",
  run: nextDiagnostic
}];
var lintPlugin = /*@__PURE__*/_view.ViewPlugin.fromClass( /*#__PURE__*/function () {
  function _class(view) {
    _classCallCheck(this, _class);
    this.view = view;
    this.timeout = -1;
    this.set = true;
    var _view$state$facet = view.state.facet(lintConfig),
      delay = _view$state$facet.delay;
    this.lintTime = Date.now() + delay;
    this.run = this.run.bind(this);
    this.timeout = setTimeout(this.run, delay);
  }
  return _createClass(_class, [{
    key: "run",
    value: function run() {
      var _this = this;
      var now = Date.now();
      if (now < this.lintTime - 10) {
        this.timeout = setTimeout(this.run, this.lintTime - now);
      } else {
        this.set = false;
        var state = this.view.state,
          _state$facet = state.facet(lintConfig),
          sources = _state$facet.sources;
        if (sources.length) Promise.all(sources.map(function (source) {
          return Promise.resolve(source(_this.view));
        })).then(function (annotations) {
          var all = annotations.reduce(function (a, b) {
            return a.concat(b);
          });
          if (_this.view.state.doc == state.doc) _this.view.dispatch(setDiagnostics(_this.view.state, all));
        }, function (error) {
          (0, _view.logException)(_this.view.state, error);
        });
      }
    }
  }, {
    key: "update",
    value: function update(_update) {
      var config = _update.state.facet(lintConfig);
      if (_update.docChanged || config != _update.startState.facet(lintConfig) || config.needsRefresh && config.needsRefresh(_update)) {
        this.lintTime = Date.now() + config.delay;
        if (!this.set) {
          this.set = true;
          this.timeout = setTimeout(this.run, config.delay);
        }
      }
    }
  }, {
    key: "force",
    value: function force() {
      if (this.set) {
        this.lintTime = Date.now();
        this.run();
      }
    }
  }, {
    key: "destroy",
    value: function destroy() {
      clearTimeout(this.timeout);
    }
  }]);
}());
var lintConfig = /*@__PURE__*/_state.Facet.define({
  combine: function combine(input) {
    return Object.assign({
      sources: input.map(function (i) {
        return i.source;
      }).filter(function (x) {
        return x != null;
      })
    }, (0, _state.combineConfig)(input.map(function (i) {
      return i.config;
    }), {
      delay: 750,
      markerFilter: null,
      tooltipFilter: null,
      needsRefresh: null
    }, {
      needsRefresh: function needsRefresh(a, b) {
        return !a ? b : !b ? a : function (u) {
          return a(u) || b(u);
        };
      }
    }));
  }
});
/**
Given a diagnostic source, this function returns an extension that
enables linting with that source. It will be called whenever the
editor is idle (after its content changed). If `null` is given as
source, this only configures the lint extension.
*/
function linter(source) {
  var config = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
  return [lintConfig.of({
    source: source,
    config: config
  }), lintPlugin, lintExtensions];
}
/**
Forces any linters [configured](https://codemirror.net/6/docs/ref/#lint.linter) to run when the
editor is idle to run right away.
*/
function forceLinting(view) {
  var plugin = view.plugin(lintPlugin);
  if (plugin) plugin.force();
}
function assignKeys(actions) {
  var assigned = [];
  if (actions) {
    var _iterator2 = _createForOfIteratorHelper(actions),
      _step2;
    try {
      actions: for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
        var name = _step2.value.name;
        var _loop = function _loop() {
          var ch = name[i];
          if (/[a-zA-Z]/.test(ch) && !assigned.some(function (c) {
            return c.toLowerCase() == ch.toLowerCase();
          })) {
            assigned.push(ch);
            return 1; // continue actions
          }
        };
        for (var i = 0; i < name.length; i++) {
          if (_loop()) continue actions;
        }
        assigned.push("");
      }
    } catch (err) {
      _iterator2.e(err);
    } finally {
      _iterator2.f();
    }
  }
  return assigned;
}
function renderDiagnostic(view, diagnostic, inPanel) {
  var _a;
  var keys = inPanel ? assignKeys(diagnostic.actions) : [];
  return (0, _crelt["default"])("li", {
    "class": "cm-diagnostic cm-diagnostic-" + diagnostic.severity
  }, (0, _crelt["default"])("span", {
    "class": "cm-diagnosticText"
  }, diagnostic.renderMessage ? diagnostic.renderMessage() : diagnostic.message), (_a = diagnostic.actions) === null || _a === void 0 ? void 0 : _a.map(function (action, i) {
    var fired = false,
      click = function click(e) {
        e.preventDefault();
        if (fired) return;
        fired = true;
        var found = findDiagnostic(view.state.field(lintState).diagnostics, diagnostic);
        if (found) action.apply(view, found.from, found.to);
      };
    var name = action.name,
      keyIndex = keys[i] ? name.indexOf(keys[i]) : -1;
    var nameElt = keyIndex < 0 ? name : [name.slice(0, keyIndex), (0, _crelt["default"])("u", name.slice(keyIndex, keyIndex + 1)), name.slice(keyIndex + 1)];
    return (0, _crelt["default"])("button", {
      type: "button",
      "class": "cm-diagnosticAction",
      onclick: click,
      onmousedown: click,
      "aria-label": " Action: ".concat(name).concat(keyIndex < 0 ? "" : " (access key \"".concat(keys[i], ")\""), ".")
    }, nameElt);
  }), diagnostic.source && (0, _crelt["default"])("div", {
    "class": "cm-diagnosticSource"
  }, diagnostic.source));
}
var DiagnosticWidget = /*#__PURE__*/function (_WidgetType) {
  function DiagnosticWidget(diagnostic) {
    var _this2;
    _classCallCheck(this, DiagnosticWidget);
    _this2 = _callSuper(this, DiagnosticWidget);
    _this2.diagnostic = diagnostic;
    return _this2;
  }
  _inherits(DiagnosticWidget, _WidgetType);
  return _createClass(DiagnosticWidget, [{
    key: "eq",
    value: function eq(other) {
      return other.diagnostic == this.diagnostic;
    }
  }, {
    key: "toDOM",
    value: function toDOM() {
      return (0, _crelt["default"])("span", {
        "class": "cm-lintPoint cm-lintPoint-" + this.diagnostic.severity
      });
    }
  }]);
}(_view.WidgetType);
var PanelItem = /*#__PURE__*/_createClass(function PanelItem(view, diagnostic) {
  _classCallCheck(this, PanelItem);
  this.diagnostic = diagnostic;
  this.id = "item_" + Math.floor(Math.random() * 0xffffffff).toString(16);
  this.dom = renderDiagnostic(view, diagnostic, true);
  this.dom.id = this.id;
  this.dom.setAttribute("role", "option");
});
var LintPanel = /*#__PURE__*/function () {
  function LintPanel(view) {
    var _this3 = this;
    _classCallCheck(this, LintPanel);
    this.view = view;
    this.items = [];
    var onkeydown = function onkeydown(event) {
      if (event.keyCode == 27) {
        // Escape
        closeLintPanel(_this3.view);
        _this3.view.focus();
      } else if (event.keyCode == 38 || event.keyCode == 33) {
        // ArrowUp, PageUp
        _this3.moveSelection((_this3.selectedIndex - 1 + _this3.items.length) % _this3.items.length);
      } else if (event.keyCode == 40 || event.keyCode == 34) {
        // ArrowDown, PageDown
        _this3.moveSelection((_this3.selectedIndex + 1) % _this3.items.length);
      } else if (event.keyCode == 36) {
        // Home
        _this3.moveSelection(0);
      } else if (event.keyCode == 35) {
        // End
        _this3.moveSelection(_this3.items.length - 1);
      } else if (event.keyCode == 13) {
        // Enter
        _this3.view.focus();
      } else if (event.keyCode >= 65 && event.keyCode <= 90 && _this3.selectedIndex >= 0) {
        // A-Z
        var diagnostic = _this3.items[_this3.selectedIndex].diagnostic,
          keys = assignKeys(diagnostic.actions);
        for (var i = 0; i < keys.length; i++) if (keys[i].toUpperCase().charCodeAt(0) == event.keyCode) {
          var found = findDiagnostic(_this3.view.state.field(lintState).diagnostics, diagnostic);
          if (found) diagnostic.actions[i].apply(view, found.from, found.to);
        }
      } else {
        return;
      }
      event.preventDefault();
    };
    var onclick = function onclick(event) {
      for (var i = 0; i < _this3.items.length; i++) {
        if (_this3.items[i].dom.contains(event.target)) _this3.moveSelection(i);
      }
    };
    this.list = (0, _crelt["default"])("ul", {
      tabIndex: 0,
      role: "listbox",
      "aria-label": this.view.state.phrase("Diagnostics"),
      onkeydown: onkeydown,
      onclick: onclick
    });
    this.dom = (0, _crelt["default"])("div", {
      "class": "cm-panel-lint"
    }, this.list, (0, _crelt["default"])("button", {
      type: "button",
      name: "close",
      "aria-label": this.view.state.phrase("close"),
      onclick: function onclick() {
        return closeLintPanel(_this3.view);
      }
    }, "×"));
    this.update();
  }
  return _createClass(LintPanel, [{
    key: "selectedIndex",
    get: function get() {
      var selected = this.view.state.field(lintState).selected;
      if (!selected) return -1;
      for (var i = 0; i < this.items.length; i++) if (this.items[i].diagnostic == selected.diagnostic) return i;
      return -1;
    }
  }, {
    key: "update",
    value: function update() {
      var _this4 = this;
      var _this$view$state$fiel = this.view.state.field(lintState),
        diagnostics = _this$view$state$fiel.diagnostics,
        selected = _this$view$state$fiel.selected;
      var i = 0,
        needsSync = false,
        newSelectedItem = null;
      diagnostics.between(0, this.view.state.doc.length, function (_start, _end, _ref3) {
        var spec = _ref3.spec;
        var found = -1,
          item;
        for (var j = i; j < _this4.items.length; j++) if (_this4.items[j].diagnostic == spec.diagnostic) {
          found = j;
          break;
        }
        if (found < 0) {
          item = new PanelItem(_this4.view, spec.diagnostic);
          _this4.items.splice(i, 0, item);
          needsSync = true;
        } else {
          item = _this4.items[found];
          if (found > i) {
            _this4.items.splice(i, found - i);
            needsSync = true;
          }
        }
        if (selected && item.diagnostic == selected.diagnostic) {
          if (!item.dom.hasAttribute("aria-selected")) {
            item.dom.setAttribute("aria-selected", "true");
            newSelectedItem = item;
          }
        } else if (item.dom.hasAttribute("aria-selected")) {
          item.dom.removeAttribute("aria-selected");
        }
        i++;
      });
      while (i < this.items.length && !(this.items.length == 1 && this.items[0].diagnostic.from < 0)) {
        needsSync = true;
        this.items.pop();
      }
      if (this.items.length == 0) {
        this.items.push(new PanelItem(this.view, {
          from: -1,
          to: -1,
          severity: "info",
          message: this.view.state.phrase("No diagnostics")
        }));
        needsSync = true;
      }
      if (newSelectedItem) {
        this.list.setAttribute("aria-activedescendant", newSelectedItem.id);
        this.view.requestMeasure({
          key: this,
          read: function read() {
            return {
              sel: newSelectedItem.dom.getBoundingClientRect(),
              panel: _this4.list.getBoundingClientRect()
            };
          },
          write: function write(_ref4) {
            var sel = _ref4.sel,
              panel = _ref4.panel;
            var scaleY = panel.height / _this4.list.offsetHeight;
            if (sel.top < panel.top) _this4.list.scrollTop -= (panel.top - sel.top) / scaleY;else if (sel.bottom > panel.bottom) _this4.list.scrollTop += (sel.bottom - panel.bottom) / scaleY;
          }
        });
      } else if (this.selectedIndex < 0) {
        this.list.removeAttribute("aria-activedescendant");
      }
      if (needsSync) this.sync();
    }
  }, {
    key: "sync",
    value: function sync() {
      var domPos = this.list.firstChild;
      function rm() {
        var prev = domPos;
        domPos = prev.nextSibling;
        prev.remove();
      }
      var _iterator3 = _createForOfIteratorHelper(this.items),
        _step3;
      try {
        for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
          var item = _step3.value;
          if (item.dom.parentNode == this.list) {
            while (domPos != item.dom) rm();
            domPos = item.dom.nextSibling;
          } else {
            this.list.insertBefore(item.dom, domPos);
          }
        }
      } catch (err) {
        _iterator3.e(err);
      } finally {
        _iterator3.f();
      }
      while (domPos) rm();
    }
  }, {
    key: "moveSelection",
    value: function moveSelection(selectedIndex) {
      if (this.selectedIndex < 0) return;
      var field = this.view.state.field(lintState);
      var selection = findDiagnostic(field.diagnostics, this.items[selectedIndex].diagnostic);
      if (!selection) return;
      this.view.dispatch({
        selection: {
          anchor: selection.from,
          head: selection.to
        },
        scrollIntoView: true,
        effects: movePanelSelection.of(selection)
      });
    }
  }], [{
    key: "open",
    value: function open(view) {
      return new LintPanel(view);
    }
  }]);
}();
function svg(content) {
  var attrs = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "viewBox=\"0 0 40 40\"";
  return "url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" ".concat(attrs, ">").concat(encodeURIComponent(content), "</svg>')");
}
function underline(color) {
  return svg("<path d=\"m0 2.5 l2 -1.5 l1 0 l2 1.5 l1 0\" stroke=\"".concat(color, "\" fill=\"none\" stroke-width=\".7\"/>"), "width=\"6\" height=\"3\"");
}
var baseTheme = /*@__PURE__*/_view.EditorView.baseTheme({
  ".cm-diagnostic": {
    padding: "3px 6px 3px 8px",
    marginLeft: "-1px",
    display: "block",
    whiteSpace: "pre-wrap"
  },
  ".cm-diagnostic-error": {
    borderLeft: "5px solid #d11"
  },
  ".cm-diagnostic-warning": {
    borderLeft: "5px solid orange"
  },
  ".cm-diagnostic-info": {
    borderLeft: "5px solid #999"
  },
  ".cm-diagnostic-hint": {
    borderLeft: "5px solid #66d"
  },
  ".cm-diagnosticAction": {
    font: "inherit",
    border: "none",
    padding: "2px 4px",
    backgroundColor: "#444",
    color: "white",
    borderRadius: "3px",
    marginLeft: "8px",
    cursor: "pointer"
  },
  ".cm-diagnosticSource": {
    fontSize: "70%",
    opacity: .7
  },
  ".cm-lintRange": {
    backgroundPosition: "left bottom",
    backgroundRepeat: "repeat-x",
    paddingBottom: "0.7px"
  },
  ".cm-lintRange-error": {
    backgroundImage: /*@__PURE__*/underline("#d11")
  },
  ".cm-lintRange-warning": {
    backgroundImage: /*@__PURE__*/underline("orange")
  },
  ".cm-lintRange-info": {
    backgroundImage: /*@__PURE__*/underline("#999")
  },
  ".cm-lintRange-hint": {
    backgroundImage: /*@__PURE__*/underline("#66d")
  },
  ".cm-lintRange-active": {
    backgroundColor: "#ffdd9980"
  },
  ".cm-tooltip-lint": {
    padding: 0,
    margin: 0
  },
  ".cm-lintPoint": {
    position: "relative",
    "&:after": {
      content: '""',
      position: "absolute",
      bottom: 0,
      left: "-2px",
      borderLeft: "3px solid transparent",
      borderRight: "3px solid transparent",
      borderBottom: "4px solid #d11"
    }
  },
  ".cm-lintPoint-warning": {
    "&:after": {
      borderBottomColor: "orange"
    }
  },
  ".cm-lintPoint-info": {
    "&:after": {
      borderBottomColor: "#999"
    }
  },
  ".cm-lintPoint-hint": {
    "&:after": {
      borderBottomColor: "#66d"
    }
  },
  ".cm-panel.cm-panel-lint": {
    position: "relative",
    "& ul": {
      maxHeight: "100px",
      overflowY: "auto",
      "& [aria-selected]": {
        backgroundColor: "#ddd",
        "& u": {
          textDecoration: "underline"
        }
      },
      "&:focus [aria-selected]": {
        background_fallback: "#bdf",
        backgroundColor: "Highlight",
        color_fallback: "white",
        color: "HighlightText"
      },
      "& u": {
        textDecoration: "none"
      },
      padding: 0,
      margin: 0
    },
    "& [name=close]": {
      position: "absolute",
      top: "0",
      right: "2px",
      background: "inherit",
      border: "none",
      font: "inherit",
      padding: 0,
      margin: 0
    }
  }
});
function severityWeight(sev) {
  return sev == "error" ? 4 : sev == "warning" ? 3 : sev == "info" ? 2 : 1;
}
var LintGutterMarker = /*#__PURE__*/function (_GutterMarker) {
  function LintGutterMarker(diagnostics) {
    var _this5;
    _classCallCheck(this, LintGutterMarker);
    _this5 = _callSuper(this, LintGutterMarker);
    _this5.diagnostics = diagnostics;
    _this5.severity = diagnostics.reduce(function (max, d) {
      return severityWeight(max) < severityWeight(d.severity) ? d.severity : max;
    }, "hint");
    return _this5;
  }
  _inherits(LintGutterMarker, _GutterMarker);
  return _createClass(LintGutterMarker, [{
    key: "toDOM",
    value: function toDOM(view) {
      var elt = document.createElement("div");
      elt.className = "cm-lint-marker cm-lint-marker-" + this.severity;
      var diagnostics = this.diagnostics;
      var diagnosticsFilter = view.state.facet(lintGutterConfig).tooltipFilter;
      if (diagnosticsFilter) diagnostics = diagnosticsFilter(diagnostics, view.state);
      if (diagnostics.length) elt.onmouseover = function () {
        return gutterMarkerMouseOver(view, elt, diagnostics);
      };
      return elt;
    }
  }]);
}(_view.GutterMarker);
function trackHoverOn(view, marker) {
  var mousemove = function mousemove(event) {
    var rect = marker.getBoundingClientRect();
    if (event.clientX > rect.left - 10 /* Hover.Margin */ && event.clientX < rect.right + 10 /* Hover.Margin */ && event.clientY > rect.top - 10 /* Hover.Margin */ && event.clientY < rect.bottom + 10 /* Hover.Margin */) return;
    for (var target = event.target; target; target = target.parentNode) {
      if (target.nodeType == 1 && target.classList.contains("cm-tooltip-lint")) return;
    }
    window.removeEventListener("mousemove", mousemove);
    if (view.state.field(lintGutterTooltip)) view.dispatch({
      effects: setLintGutterTooltip.of(null)
    });
  };
  window.addEventListener("mousemove", mousemove);
}
function gutterMarkerMouseOver(view, marker, diagnostics) {
  function hovered() {
    var line = view.elementAtHeight(marker.getBoundingClientRect().top + 5 - view.documentTop);
    var linePos = view.coordsAtPos(line.from);
    if (linePos) {
      view.dispatch({
        effects: setLintGutterTooltip.of({
          pos: line.from,
          above: false,
          create: function create() {
            return {
              dom: diagnosticsTooltip(view, diagnostics),
              getCoords: function getCoords() {
                return marker.getBoundingClientRect();
              }
            };
          }
        })
      });
    }
    marker.onmouseout = marker.onmousemove = null;
    trackHoverOn(view, marker);
  }
  var _view$state$facet2 = view.state.facet(lintGutterConfig),
    hoverTime = _view$state$facet2.hoverTime;
  var hoverTimeout = setTimeout(hovered, hoverTime);
  marker.onmouseout = function () {
    clearTimeout(hoverTimeout);
    marker.onmouseout = marker.onmousemove = null;
  };
  marker.onmousemove = function () {
    clearTimeout(hoverTimeout);
    hoverTimeout = setTimeout(hovered, hoverTime);
  };
}
function markersForDiagnostics(doc, diagnostics) {
  var byLine = Object.create(null);
  var _iterator4 = _createForOfIteratorHelper(diagnostics),
    _step4;
  try {
    for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
      var diagnostic = _step4.value;
      var _line = doc.lineAt(diagnostic.from);
      (byLine[_line.from] || (byLine[_line.from] = [])).push(diagnostic);
    }
  } catch (err) {
    _iterator4.e(err);
  } finally {
    _iterator4.f();
  }
  var markers = [];
  for (var line in byLine) {
    markers.push(new LintGutterMarker(byLine[line]).range(+line));
  }
  return _state.RangeSet.of(markers, true);
}
var lintGutterExtension = /*@__PURE__*/(0, _view.gutter)({
  "class": "cm-gutter-lint",
  markers: function markers(view) {
    return view.state.field(lintGutterMarkers);
  }
});
var lintGutterMarkers = /*@__PURE__*/_state.StateField.define({
  create: function create() {
    return _state.RangeSet.empty;
  },
  update: function update(markers, tr) {
    markers = markers.map(tr.changes);
    var diagnosticFilter = tr.state.facet(lintGutterConfig).markerFilter;
    var _iterator5 = _createForOfIteratorHelper(tr.effects),
      _step5;
    try {
      for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
        var effect = _step5.value;
        if (effect.is(setDiagnosticsEffect)) {
          var diagnostics = effect.value;
          if (diagnosticFilter) diagnostics = diagnosticFilter(diagnostics || [], tr.state);
          markers = markersForDiagnostics(tr.state.doc, diagnostics.slice(0));
        }
      }
    } catch (err) {
      _iterator5.e(err);
    } finally {
      _iterator5.f();
    }
    return markers;
  }
});
var setLintGutterTooltip = /*@__PURE__*/_state.StateEffect.define();
var lintGutterTooltip = /*@__PURE__*/_state.StateField.define({
  create: function create() {
    return null;
  },
  update: function update(tooltip, tr) {
    if (tooltip && tr.docChanged) tooltip = hideTooltip(tr, tooltip) ? null : Object.assign(Object.assign({}, tooltip), {
      pos: tr.changes.mapPos(tooltip.pos)
    });
    return tr.effects.reduce(function (t, e) {
      return e.is(setLintGutterTooltip) ? e.value : t;
    }, tooltip);
  },
  provide: function provide(field) {
    return _view.showTooltip.from(field);
  }
});
var lintGutterTheme = /*@__PURE__*/_view.EditorView.baseTheme({
  ".cm-gutter-lint": {
    width: "1.4em",
    "& .cm-gutterElement": {
      padding: ".2em"
    }
  },
  ".cm-lint-marker": {
    width: "1em",
    height: "1em"
  },
  ".cm-lint-marker-info": {
    content: /*@__PURE__*/svg("<path fill=\"#aaf\" stroke=\"#77e\" stroke-width=\"6\" stroke-linejoin=\"round\" d=\"M5 5L35 5L35 35L5 35Z\"/>")
  },
  ".cm-lint-marker-warning": {
    content: /*@__PURE__*/svg("<path fill=\"#fe8\" stroke=\"#fd7\" stroke-width=\"6\" stroke-linejoin=\"round\" d=\"M20 6L37 35L3 35Z\"/>")
  },
  ".cm-lint-marker-error": {
    content: /*@__PURE__*/svg("<circle cx=\"20\" cy=\"20\" r=\"15\" fill=\"#f87\" stroke=\"#f43\" stroke-width=\"6\"/>")
  }
});
var lintExtensions = [lintState, /*@__PURE__*/_view.EditorView.decorations.compute([lintState], function (state) {
  var _state$field = state.field(lintState),
    selected = _state$field.selected,
    panel = _state$field.panel;
  return !selected || !panel || selected.from == selected.to ? _view.Decoration.none : _view.Decoration.set([activeMark.range(selected.from, selected.to)]);
}), /*@__PURE__*/(0, _view.hoverTooltip)(lintTooltip, {
  hideOn: hideTooltip
}), baseTheme];
var lintGutterConfig = /*@__PURE__*/_state.Facet.define({
  combine: function combine(configs) {
    return (0, _state.combineConfig)(configs, {
      hoverTime: 300 /* Hover.Time */,
      markerFilter: null,
      tooltipFilter: null
    });
  }
});
/**
Returns an extension that installs a gutter showing markers for
each line that has diagnostics, which can be hovered over to see
the diagnostics.
*/
function lintGutter() {
  var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
  return [lintGutterConfig.of(config), lintGutterMarkers, lintGutterExtension, lintGutterTheme, lintGutterTooltip];
}
/**
Iterate over the marked diagnostics for the given editor state,
calling `f` for each of them. Note that, if the document changed
since the diagnostics were created, the `Diagnostic` object will
hold the original outdated position, whereas the `to` and `from`
arguments hold the diagnostic's current position.
*/
function forEachDiagnostic(state, f) {
  var lState = state.field(lintState, false);
  if (lState && lState.diagnostics.size) for (var iter = _state.RangeSet.iter([lState.diagnostics]); iter.value; iter.next()) f(iter.value.spec.diagnostic, iter.from, iter.to);
}

},{"@codemirror/state":9,"@codemirror/view":10,"crelt":16}],8:[function(require,module,exports){
"use strict";

Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.findPrevious = exports.findNext = exports.closeSearchPanel = exports.SearchQuery = exports.SearchCursor = exports.RegExpCursor = void 0;
exports.getSearchQuery = getSearchQuery;
exports.gotoLine = void 0;
exports.highlightSelectionMatches = highlightSelectionMatches;
exports.replaceNext = exports.replaceAll = exports.openSearchPanel = void 0;
exports.search = search;
exports.searchKeymap = void 0;
exports.searchPanelOpen = searchPanelOpen;
exports.setSearchQuery = exports.selectSelectionMatches = exports.selectNextOccurrence = exports.selectMatches = void 0;
var _view = require("@codemirror/view");
var _state = require("@codemirror/state");
var _crelt = _interopRequireDefault(require("crelt"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
var basicNormalize = typeof String.prototype.normalize == "function" ? function (x) {
  return x.normalize("NFKD");
} : function (x) {
  return x;
};
/**
A search cursor provides an iterator over text matches in a
document.
*/
var SearchCursor = exports.SearchCursor = /*#__PURE__*/function () {
  /**
  Create a text cursor. The query is the search string, `from` to
  `to` provides the region to search.
  
  When `normalize` is given, it will be called, on both the query
  string and the content it is matched against, before comparing.
  You can, for example, create a case-insensitive search by
  passing `s => s.toLowerCase()`.
  
  Text is always normalized with
  [`.normalize("NFKD")`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/normalize)
  (when supported).
  */
  function SearchCursor(text, query) {
    var from = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;
    var to = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : text.length;
    var normalize = arguments.length > 4 ? arguments[4] : undefined;
    var test = arguments.length > 5 ? arguments[5] : undefined;
    _classCallCheck(this, SearchCursor);
    this.test = test;
    /**
    The current match (only holds a meaningful value after
    [`next`](https://codemirror.net/6/docs/ref/#search.SearchCursor.next) has been called and when
    `done` is false).
    */
    this.value = {
      from: 0,
      to: 0
    };
    /**
    Whether the end of the iterated region has been reached.
    */
    this.done = false;
    this.matches = [];
    this.buffer = "";
    this.bufferPos = 0;
    this.iter = text.iterRange(from, to);
    this.bufferStart = from;
    this.normalize = normalize ? function (x) {
      return normalize(basicNormalize(x));
    } : basicNormalize;
    this.query = this.normalize(query);
  }
  return _createClass(SearchCursor, [{
    key: "peek",
    value: function peek() {
      if (this.bufferPos == this.buffer.length) {
        this.bufferStart += this.buffer.length;
        this.iter.next();
        if (this.iter.done) return -1;
        this.bufferPos = 0;
        this.buffer = this.iter.value;
      }
      return (0, _state.codePointAt)(this.buffer, this.bufferPos);
    }
    /**
    Look for the next match. Updates the iterator's
    [`value`](https://codemirror.net/6/docs/ref/#search.SearchCursor.value) and
    [`done`](https://codemirror.net/6/docs/ref/#search.SearchCursor.done) properties. Should be called
    at least once before using the cursor.
    */
  }, {
    key: "next",
    value: function next() {
      while (this.matches.length) this.matches.pop();
      return this.nextOverlapping();
    }
    /**
    The `next` method will ignore matches that partially overlap a
    previous match. This method behaves like `next`, but includes
    such matches.
    */
  }, {
    key: "nextOverlapping",
    value: function nextOverlapping() {
      for (;;) {
        var next = this.peek();
        if (next < 0) {
          this.done = true;
          return this;
        }
        var str = (0, _state.fromCodePoint)(next),
          start = this.bufferStart + this.bufferPos;
        this.bufferPos += (0, _state.codePointSize)(next);
        var norm = this.normalize(str);
        for (var i = 0, pos = start;; i++) {
          var code = norm.charCodeAt(i);
          var match = this.match(code, pos, this.bufferPos + this.bufferStart);
          if (i == norm.length - 1) {
            if (match) {
              this.value = match;
              return this;
            }
            break;
          }
          if (pos == start && i < str.length && str.charCodeAt(i) == code) pos++;
        }
      }
    }
  }, {
    key: "match",
    value: function match(code, pos, end) {
      var match = null;
      for (var i = 0; i < this.matches.length; i += 2) {
        var index = this.matches[i],
          keep = false;
        if (this.query.charCodeAt(index) == code) {
          if (index == this.query.length - 1) {
            match = {
              from: this.matches[i + 1],
              to: end
            };
          } else {
            this.matches[i]++;
            keep = true;
          }
        }
        if (!keep) {
          this.matches.splice(i, 2);
          i -= 2;
        }
      }
      if (this.query.charCodeAt(0) == code) {
        if (this.query.length == 1) match = {
          from: pos,
          to: end
        };else this.matches.push(1, pos);
      }
      if (match && this.test && !this.test(match.from, match.to, this.buffer, this.bufferStart)) match = null;
      return match;
    }
  }]);
}();
if (typeof Symbol != "undefined") SearchCursor.prototype[Symbol.iterator] = function () {
  return this;
};
var empty = {
  from: -1,
  to: -1,
  match: /*@__PURE__*/ /.*/.exec("")
};
var baseFlags = "gm" + (/x/.unicode == null ? "" : "u");
/**
This class is similar to [`SearchCursor`](https://codemirror.net/6/docs/ref/#search.SearchCursor)
but searches for a regular expression pattern instead of a plain
string.
*/
var RegExpCursor = exports.RegExpCursor = /*#__PURE__*/function () {
  /**
  Create a cursor that will search the given range in the given
  document. `query` should be the raw pattern (as you'd pass it to
  `new RegExp`).
  */
  function RegExpCursor(text, query, options) {
    var from = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;
    var to = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : text.length;
    _classCallCheck(this, RegExpCursor);
    this.text = text;
    this.to = to;
    this.curLine = "";
    /**
    Set to `true` when the cursor has reached the end of the search
    range.
    */
    this.done = false;
    /**
    Will contain an object with the extent of the match and the
    match object when [`next`](https://codemirror.net/6/docs/ref/#search.RegExpCursor.next)
    sucessfully finds a match.
    */
    this.value = empty;
    if (/\\[sWDnr]|\n|\r|\[\^/.test(query)) return new MultilineRegExpCursor(text, query, options, from, to);
    this.re = new RegExp(query, baseFlags + ((options === null || options === void 0 ? void 0 : options.ignoreCase) ? "i" : ""));
    this.test = options === null || options === void 0 ? void 0 : options.test;
    this.iter = text.iter();
    var startLine = text.lineAt(from);
    this.curLineStart = startLine.from;
    this.matchPos = toCharEnd(text, from);
    this.getLine(this.curLineStart);
  }
  return _createClass(RegExpCursor, [{
    key: "getLine",
    value: function getLine(skip) {
      this.iter.next(skip);
      if (this.iter.lineBreak) {
        this.curLine = "";
      } else {
        this.curLine = this.iter.value;
        if (this.curLineStart + this.curLine.length > this.to) this.curLine = this.curLine.slice(0, this.to - this.curLineStart);
        this.iter.next();
      }
    }
  }, {
    key: "nextLine",
    value: function nextLine() {
      this.curLineStart = this.curLineStart + this.curLine.length + 1;
      if (this.curLineStart > this.to) this.curLine = "";else this.getLine(0);
    }
    /**
    Move to the next match, if there is one.
    */
  }, {
    key: "next",
    value: function next() {
      for (var off = this.matchPos - this.curLineStart;;) {
        this.re.lastIndex = off;
        var match = this.matchPos <= this.to && this.re.exec(this.curLine);
        if (match) {
          var from = this.curLineStart + match.index,
            to = from + match[0].length;
          this.matchPos = toCharEnd(this.text, to + (from == to ? 1 : 0));
          if (from == this.curLineStart + this.curLine.length) this.nextLine();
          if ((from < to || from > this.value.to) && (!this.test || this.test(from, to, match))) {
            this.value = {
              from: from,
              to: to,
              match: match
            };
            return this;
          }
          off = this.matchPos - this.curLineStart;
        } else if (this.curLineStart + this.curLine.length < this.to) {
          this.nextLine();
          off = 0;
        } else {
          this.done = true;
          return this;
        }
      }
    }
  }]);
}();
var flattened = /*@__PURE__*/new WeakMap();
// Reusable (partially) flattened document strings
var FlattenedDoc = /*#__PURE__*/function () {
  function FlattenedDoc(from, text) {
    _classCallCheck(this, FlattenedDoc);
    this.from = from;
    this.text = text;
  }
  return _createClass(FlattenedDoc, [{
    key: "to",
    get: function get() {
      return this.from + this.text.length;
    }
  }], [{
    key: "get",
    value: function get(doc, from, to) {
      var cached = flattened.get(doc);
      if (!cached || cached.from >= to || cached.to <= from) {
        var flat = new FlattenedDoc(from, doc.sliceString(from, to));
        flattened.set(doc, flat);
        return flat;
      }
      if (cached.from == from && cached.to == to) return cached;
      var text = cached.text,
        cachedFrom = cached.from;
      if (cachedFrom > from) {
        text = doc.sliceString(from, cachedFrom) + text;
        cachedFrom = from;
      }
      if (cached.to < to) text += doc.sliceString(cached.to, to);
      flattened.set(doc, new FlattenedDoc(cachedFrom, text));
      return new FlattenedDoc(from, text.slice(from - cachedFrom, to - cachedFrom));
    }
  }]);
}();
var MultilineRegExpCursor = /*#__PURE__*/function () {
  function MultilineRegExpCursor(text, query, options, from, to) {
    _classCallCheck(this, MultilineRegExpCursor);
    this.text = text;
    this.to = to;
    this.done = false;
    this.value = empty;
    this.matchPos = toCharEnd(text, from);
    this.re = new RegExp(query, baseFlags + ((options === null || options === void 0 ? void 0 : options.ignoreCase) ? "i" : ""));
    this.test = options === null || options === void 0 ? void 0 : options.test;
    this.flat = FlattenedDoc.get(text, from, this.chunkEnd(from + 5000 /* Chunk.Base */));
  }
  return _createClass(MultilineRegExpCursor, [{
    key: "chunkEnd",
    value: function chunkEnd(pos) {
      return pos >= this.to ? this.to : this.text.lineAt(pos).to;
    }
  }, {
    key: "next",
    value: function next() {
      for (;;) {
        var off = this.re.lastIndex = this.matchPos - this.flat.from;
        var match = this.re.exec(this.flat.text);
        // Skip empty matches directly after the last match
        if (match && !match[0] && match.index == off) {
          this.re.lastIndex = off + 1;
          match = this.re.exec(this.flat.text);
        }
        if (match) {
          var from = this.flat.from + match.index,
            to = from + match[0].length;
          // If a match goes almost to the end of a noncomplete chunk, try
          // again, since it'll likely be able to match more
          if ((this.flat.to >= this.to || match.index + match[0].length <= this.flat.text.length - 10) && (!this.test || this.test(from, to, match))) {
            this.value = {
              from: from,
              to: to,
              match: match
            };
            this.matchPos = toCharEnd(this.text, to + (from == to ? 1 : 0));
            return this;
          }
        }
        if (this.flat.to == this.to) {
          this.done = true;
          return this;
        }
        // Grow the flattened doc
        this.flat = FlattenedDoc.get(this.text, this.flat.from, this.chunkEnd(this.flat.from + this.flat.text.length * 2));
      }
    }
  }]);
}();
if (typeof Symbol != "undefined") {
  RegExpCursor.prototype[Symbol.iterator] = MultilineRegExpCursor.prototype[Symbol.iterator] = function () {
    return this;
  };
}
function validRegExp(source) {
  try {
    new RegExp(source, baseFlags);
    return true;
  } catch (_a) {
    return false;
  }
}
function toCharEnd(text, pos) {
  if (pos >= text.length) return pos;
  var line = text.lineAt(pos),
    next;
  while (pos < line.to && (next = line.text.charCodeAt(pos - line.from)) >= 0xDC00 && next < 0xE000) pos++;
  return pos;
}
function createLineDialog(view) {
  var line = String(view.state.doc.lineAt(view.state.selection.main.head).number);
  var input = (0, _crelt["default"])("input", {
    "class": "cm-textfield",
    name: "line",
    value: line
  });
  var dom = (0, _crelt["default"])("form", {
    "class": "cm-gotoLine",
    onkeydown: function onkeydown(event) {
      if (event.keyCode == 27) {
        // Escape
        event.preventDefault();
        view.dispatch({
          effects: dialogEffect.of(false)
        });
        view.focus();
      } else if (event.keyCode == 13) {
        // Enter
        event.preventDefault();
        go();
      }
    },
    onsubmit: function onsubmit(event) {
      event.preventDefault();
      go();
    }
  }, (0, _crelt["default"])("label", view.state.phrase("Go to line"), ": ", input), " ", (0, _crelt["default"])("button", {
    "class": "cm-button",
    type: "submit"
  }, view.state.phrase("go")));
  function go() {
    var match = /^([+-])?(\d+)?(:\d+)?(%)?$/.exec(input.value);
    if (!match) return;
    var state = view.state,
      startLine = state.doc.lineAt(state.selection.main.head);
    var _match = _slicedToArray(match, 5),
      sign = _match[1],
      ln = _match[2],
      cl = _match[3],
      percent = _match[4];
    var col = cl ? +cl.slice(1) : 0;
    var line = ln ? +ln : startLine.number;
    if (ln && percent) {
      var pc = line / 100;
      if (sign) pc = pc * (sign == "-" ? -1 : 1) + startLine.number / state.doc.lines;
      line = Math.round(state.doc.lines * pc);
    } else if (ln && sign) {
      line = line * (sign == "-" ? -1 : 1) + startLine.number;
    }
    var docLine = state.doc.line(Math.max(1, Math.min(state.doc.lines, line)));
    var selection = _state.EditorSelection.cursor(docLine.from + Math.max(0, Math.min(col, docLine.length)));
    view.dispatch({
      effects: [dialogEffect.of(false), _view.EditorView.scrollIntoView(selection.from, {
        y: 'center'
      })],
      selection: selection
    });
    view.focus();
  }
  return {
    dom: dom
  };
}
var dialogEffect = /*@__PURE__*/_state.StateEffect.define();
var dialogField = /*@__PURE__*/_state.StateField.define({
  create: function create() {
    return true;
  },
  update: function update(value, tr) {
    var _iterator = _createForOfIteratorHelper(tr.effects),
      _step;
    try {
      for (_iterator.s(); !(_step = _iterator.n()).done;) {
        var e = _step.value;
        if (e.is(dialogEffect)) value = e.value;
      }
    } catch (err) {
      _iterator.e(err);
    } finally {
      _iterator.f();
    }
    return value;
  },
  provide: function provide(f) {
    return _view.showPanel.from(f, function (val) {
      return val ? createLineDialog : null;
    });
  }
});
/**
Command that shows a dialog asking the user for a line number, and
when a valid position is provided, moves the cursor to that line.

Supports line numbers, relative line offsets prefixed with `+` or
`-`, document percentages suffixed with `%`, and an optional
column position by adding `:` and a second number after the line
number.
*/
var gotoLine = exports.gotoLine = function gotoLine(view) {
  var panel = (0, _view.getPanel)(view, createLineDialog);
  if (!panel) {
    var effects = [dialogEffect.of(true)];
    if (view.state.field(dialogField, false) == null) effects.push(_state.StateEffect.appendConfig.of([dialogField, baseTheme$1]));
    view.dispatch({
      effects: effects
    });
    panel = (0, _view.getPanel)(view, createLineDialog);
  }
  if (panel) panel.dom.querySelector("input").select();
  return true;
};
var baseTheme$1 = /*@__PURE__*/_view.EditorView.baseTheme({
  ".cm-panel.cm-gotoLine": {
    padding: "2px 6px 4px",
    "& label": {
      fontSize: "80%"
    }
  }
});
var defaultHighlightOptions = {
  highlightWordAroundCursor: false,
  minSelectionLength: 1,
  maxMatches: 100,
  wholeWords: false
};
var highlightConfig = /*@__PURE__*/_state.Facet.define({
  combine: function combine(options) {
    return (0, _state.combineConfig)(options, defaultHighlightOptions, {
      highlightWordAroundCursor: function highlightWordAroundCursor(a, b) {
        return a || b;
      },
      minSelectionLength: Math.min,
      maxMatches: Math.min
    });
  }
});
/**
This extension highlights text that matches the selection. It uses
the `"cm-selectionMatch"` class for the highlighting. When
`highlightWordAroundCursor` is enabled, the word at the cursor
itself will be highlighted with `"cm-selectionMatch-main"`.
*/
function highlightSelectionMatches(options) {
  var ext = [defaultTheme, matchHighlighter];
  if (options) ext.push(highlightConfig.of(options));
  return ext;
}
var matchDeco = /*@__PURE__*/_view.Decoration.mark({
  "class": "cm-selectionMatch"
});
var mainMatchDeco = /*@__PURE__*/_view.Decoration.mark({
  "class": "cm-selectionMatch cm-selectionMatch-main"
});
// Whether the characters directly outside the given positions are non-word characters
function insideWordBoundaries(check, state, from, to) {
  return (from == 0 || check(state.sliceDoc(from - 1, from)) != _state.CharCategory.Word) && (to == state.doc.length || check(state.sliceDoc(to, to + 1)) != _state.CharCategory.Word);
}
// Whether the characters directly at the given positions are word characters
function insideWord(check, state, from, to) {
  return check(state.sliceDoc(from, from + 1)) == _state.CharCategory.Word && check(state.sliceDoc(to - 1, to)) == _state.CharCategory.Word;
}
var matchHighlighter = /*@__PURE__*/_view.ViewPlugin.fromClass( /*#__PURE__*/function () {
  function _class(view) {
    _classCallCheck(this, _class);
    this.decorations = this.getDeco(view);
  }
  return _createClass(_class, [{
    key: "update",
    value: function update(_update) {
      if (_update.selectionSet || _update.docChanged || _update.viewportChanged) this.decorations = this.getDeco(_update.view);
    }
  }, {
    key: "getDeco",
    value: function getDeco(view) {
      var conf = view.state.facet(highlightConfig);
      var state = view.state,
        sel = state.selection;
      if (sel.ranges.length > 1) return _view.Decoration.none;
      var range = sel.main,
        query,
        check = null;
      if (range.empty) {
        if (!conf.highlightWordAroundCursor) return _view.Decoration.none;
        var word = state.wordAt(range.head);
        if (!word) return _view.Decoration.none;
        check = state.charCategorizer(range.head);
        query = state.sliceDoc(word.from, word.to);
      } else {
        var len = range.to - range.from;
        if (len < conf.minSelectionLength || len > 200) return _view.Decoration.none;
        if (conf.wholeWords) {
          query = state.sliceDoc(range.from, range.to); // TODO: allow and include leading/trailing space?
          check = state.charCategorizer(range.head);
          if (!(insideWordBoundaries(check, state, range.from, range.to) && insideWord(check, state, range.from, range.to))) return _view.Decoration.none;
        } else {
          query = state.sliceDoc(range.from, range.to);
          if (!query) return _view.Decoration.none;
        }
      }
      var deco = [];
      var _iterator2 = _createForOfIteratorHelper(view.visibleRanges),
        _step2;
      try {
        for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
          var part = _step2.value;
          var cursor = new SearchCursor(state.doc, query, part.from, part.to);
          while (!cursor.next().done) {
            var _cursor$value = cursor.value,
              from = _cursor$value.from,
              to = _cursor$value.to;
            if (!check || insideWordBoundaries(check, state, from, to)) {
              if (range.empty && from <= range.from && to >= range.to) deco.push(mainMatchDeco.range(from, to));else if (from >= range.to || to <= range.from) deco.push(matchDeco.range(from, to));
              if (deco.length > conf.maxMatches) return _view.Decoration.none;
            }
          }
        }
      } catch (err) {
        _iterator2.e(err);
      } finally {
        _iterator2.f();
      }
      return _view.Decoration.set(deco);
    }
  }]);
}(), {
  decorations: function decorations(v) {
    return v.decorations;
  }
});
var defaultTheme = /*@__PURE__*/_view.EditorView.baseTheme({
  ".cm-selectionMatch": {
    backgroundColor: "#99ff7780"
  },
  ".cm-searchMatch .cm-selectionMatch": {
    backgroundColor: "transparent"
  }
});
// Select the words around the cursors.
var selectWord = function selectWord(_ref) {
  var state = _ref.state,
    dispatch = _ref.dispatch;
  var selection = state.selection;
  var newSel = _state.EditorSelection.create(selection.ranges.map(function (range) {
    return state.wordAt(range.head) || _state.EditorSelection.cursor(range.head);
  }), selection.mainIndex);
  if (newSel.eq(selection)) return false;
  dispatch(state.update({
    selection: newSel
  }));
  return true;
};
// Find next occurrence of query relative to last cursor. Wrap around
// the document if there are no more matches.
function findNextOccurrence(state, query) {
  var _state$selection = state.selection,
    main = _state$selection.main,
    ranges = _state$selection.ranges;
  var word = state.wordAt(main.head),
    fullWord = word && word.from == main.from && word.to == main.to;
  var _loop = function _loop(_cycled, _cursor) {
      _cursor.next();
      if (_cursor.done) {
        if (_cycled) return {
          v: null
        };
        _cursor = new SearchCursor(state.doc, query, 0, Math.max(0, ranges[ranges.length - 1].from - 1));
        _cycled = true;
      } else {
        if (_cycled && ranges.some(function (r) {
          return r.from == _cursor.value.from;
        })) {
          cycled = _cycled, cursor = _cursor;
          return 0;
        } // continue
        if (fullWord) {
          var _word = state.wordAt(_cursor.value.from);
          if (!_word || _word.from != _cursor.value.from || _word.to != _cursor.value.to) {
            cycled = _cycled, cursor = _cursor;
            return 0;
          } // continue
        }
        return {
          v: _cursor.value
        };
      }
      cycled = _cycled, cursor = _cursor;
    },
    _ret;
  for (var cycled = false, cursor = new SearchCursor(state.doc, query, ranges[ranges.length - 1].to);;) {
    _ret = _loop(cycled, cursor);
    if (_ret === 0) continue;
    if (_ret) return _ret.v;
  }
}
/**
Select next occurrence of the current selection. Expand selection
to the surrounding word when the selection is empty.
*/
var selectNextOccurrence = exports.selectNextOccurrence = function selectNextOccurrence(_ref2) {
  var state = _ref2.state,
    dispatch = _ref2.dispatch;
  var ranges = state.selection.ranges;
  if (ranges.some(function (sel) {
    return sel.from === sel.to;
  })) return selectWord({
    state: state,
    dispatch: dispatch
  });
  var searchedText = state.sliceDoc(ranges[0].from, ranges[0].to);
  if (state.selection.ranges.some(function (r) {
    return state.sliceDoc(r.from, r.to) != searchedText;
  })) return false;
  var range = findNextOccurrence(state, searchedText);
  if (!range) return false;
  dispatch(state.update({
    selection: state.selection.addRange(_state.EditorSelection.range(range.from, range.to), false),
    effects: _view.EditorView.scrollIntoView(range.to)
  }));
  return true;
};
var searchConfigFacet = /*@__PURE__*/_state.Facet.define({
  combine: function combine(configs) {
    return (0, _state.combineConfig)(configs, {
      top: false,
      caseSensitive: false,
      literal: false,
      regexp: false,
      wholeWord: false,
      createPanel: function createPanel(view) {
        return new SearchPanel(view);
      },
      scrollToMatch: function scrollToMatch(range) {
        return _view.EditorView.scrollIntoView(range);
      }
    });
  }
});
/**
Add search state to the editor configuration, and optionally
configure the search extension.
([`openSearchPanel`](https://codemirror.net/6/docs/ref/#search.openSearchPanel) will automatically
enable this if it isn't already on).
*/
function search(config) {
  return config ? [searchConfigFacet.of(config), searchExtensions] : searchExtensions;
}
/**
A search query. Part of the editor's search state.
*/
var SearchQuery = exports.SearchQuery = /*#__PURE__*/function () {
  /**
  Create a query object.
  */
  function SearchQuery(config) {
    _classCallCheck(this, SearchQuery);
    this.search = config.search;
    this.caseSensitive = !!config.caseSensitive;
    this.literal = !!config.literal;
    this.regexp = !!config.regexp;
    this.replace = config.replace || "";
    this.valid = !!this.search && (!this.regexp || validRegExp(this.search));
    this.unquoted = this.unquote(this.search);
    this.wholeWord = !!config.wholeWord;
  }
  /**
  @internal
  */
  return _createClass(SearchQuery, [{
    key: "unquote",
    value: function unquote(text) {
      return this.literal ? text : text.replace(/\\([nrt\\])/g, function (_, ch) {
        return ch == "n" ? "\n" : ch == "r" ? "\r" : ch == "t" ? "\t" : "\\";
      });
    }
    /**
    Compare this query to another query.
    */
  }, {
    key: "eq",
    value: function eq(other) {
      return this.search == other.search && this.replace == other.replace && this.caseSensitive == other.caseSensitive && this.regexp == other.regexp && this.wholeWord == other.wholeWord;
    }
    /**
    @internal
    */
  }, {
    key: "create",
    value: function create() {
      return this.regexp ? new RegExpQuery(this) : new StringQuery(this);
    }
    /**
    Get a search cursor for this query, searching through the given
    range in the given state.
    */
  }, {
    key: "getCursor",
    value: function getCursor(state) {
      var from = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
      var to = arguments.length > 2 ? arguments[2] : undefined;
      var st = state.doc ? state : _state.EditorState.create({
        doc: state
      });
      if (to == null) to = st.doc.length;
      return this.regexp ? regexpCursor(this, st, from, to) : stringCursor(this, st, from, to);
    }
  }]);
}();
var QueryType = /*#__PURE__*/_createClass(function QueryType(spec) {
  _classCallCheck(this, QueryType);
  this.spec = spec;
});
function stringCursor(spec, state, from, to) {
  return new SearchCursor(state.doc, spec.unquoted, from, to, spec.caseSensitive ? undefined : function (x) {
    return x.toLowerCase();
  }, spec.wholeWord ? stringWordTest(state.doc, state.charCategorizer(state.selection.main.head)) : undefined);
}
function stringWordTest(doc, categorizer) {
  return function (from, to, buf, bufPos) {
    if (bufPos > from || bufPos + buf.length < to) {
      bufPos = Math.max(0, from - 2);
      buf = doc.sliceString(bufPos, Math.min(doc.length, to + 2));
    }
    return (categorizer(charBefore(buf, from - bufPos)) != _state.CharCategory.Word || categorizer(charAfter(buf, from - bufPos)) != _state.CharCategory.Word) && (categorizer(charAfter(buf, to - bufPos)) != _state.CharCategory.Word || categorizer(charBefore(buf, to - bufPos)) != _state.CharCategory.Word);
  };
}
var StringQuery = /*#__PURE__*/function (_QueryType) {
  function StringQuery(spec) {
    _classCallCheck(this, StringQuery);
    return _callSuper(this, StringQuery, [spec]);
  }
  _inherits(StringQuery, _QueryType);
  return _createClass(StringQuery, [{
    key: "nextMatch",
    value: function nextMatch(state, curFrom, curTo) {
      var cursor = stringCursor(this.spec, state, curTo, state.doc.length).nextOverlapping();
      if (cursor.done) cursor = stringCursor(this.spec, state, 0, curFrom).nextOverlapping();
      return cursor.done ? null : cursor.value;
    }
    // Searching in reverse is, rather than implementing an inverted search
    // cursor, done by scanning chunk after chunk forward.
  }, {
    key: "prevMatchInRange",
    value: function prevMatchInRange(state, from, to) {
      for (var pos = to;;) {
        var start = Math.max(from, pos - 10000 /* FindPrev.ChunkSize */ - this.spec.unquoted.length);
        var cursor = stringCursor(this.spec, state, start, pos),
          range = null;
        while (!cursor.nextOverlapping().done) range = cursor.value;
        if (range) return range;
        if (start == from) return null;
        pos -= 10000 /* FindPrev.ChunkSize */;
      }
    }
  }, {
    key: "prevMatch",
    value: function prevMatch(state, curFrom, curTo) {
      return this.prevMatchInRange(state, 0, curFrom) || this.prevMatchInRange(state, curTo, state.doc.length);
    }
  }, {
    key: "getReplacement",
    value: function getReplacement(_result) {
      return this.spec.unquote(this.spec.replace);
    }
  }, {
    key: "matchAll",
    value: function matchAll(state, limit) {
      var cursor = stringCursor(this.spec, state, 0, state.doc.length),
        ranges = [];
      while (!cursor.next().done) {
        if (ranges.length >= limit) return null;
        ranges.push(cursor.value);
      }
      return ranges;
    }
  }, {
    key: "highlight",
    value: function highlight(state, from, to, add) {
      var cursor = stringCursor(this.spec, state, Math.max(0, from - this.spec.unquoted.length), Math.min(to + this.spec.unquoted.length, state.doc.length));
      while (!cursor.next().done) add(cursor.value.from, cursor.value.to);
    }
  }]);
}(QueryType);
function regexpCursor(spec, state, from, to) {
  return new RegExpCursor(state.doc, spec.search, {
    ignoreCase: !spec.caseSensitive,
    test: spec.wholeWord ? regexpWordTest(state.charCategorizer(state.selection.main.head)) : undefined
  }, from, to);
}
function charBefore(str, index) {
  return str.slice((0, _state.findClusterBreak)(str, index, false), index);
}
function charAfter(str, index) {
  return str.slice(index, (0, _state.findClusterBreak)(str, index));
}
function regexpWordTest(categorizer) {
  return function (_from, _to, match) {
    return !match[0].length || (categorizer(charBefore(match.input, match.index)) != _state.CharCategory.Word || categorizer(charAfter(match.input, match.index)) != _state.CharCategory.Word) && (categorizer(charAfter(match.input, match.index + match[0].length)) != _state.CharCategory.Word || categorizer(charBefore(match.input, match.index + match[0].length)) != _state.CharCategory.Word);
  };
}
var RegExpQuery = /*#__PURE__*/function (_QueryType2) {
  function RegExpQuery() {
    _classCallCheck(this, RegExpQuery);
    return _callSuper(this, RegExpQuery, arguments);
  }
  _inherits(RegExpQuery, _QueryType2);
  return _createClass(RegExpQuery, [{
    key: "nextMatch",
    value: function nextMatch(state, curFrom, curTo) {
      var cursor = regexpCursor(this.spec, state, curTo, state.doc.length).next();
      if (cursor.done) cursor = regexpCursor(this.spec, state, 0, curFrom).next();
      return cursor.done ? null : cursor.value;
    }
  }, {
    key: "prevMatchInRange",
    value: function prevMatchInRange(state, from, to) {
      for (var size = 1;; size++) {
        var start = Math.max(from, to - size * 10000 /* FindPrev.ChunkSize */);
        var cursor = regexpCursor(this.spec, state, start, to),
          range = null;
        while (!cursor.next().done) range = cursor.value;
        if (range && (start == from || range.from > start + 10)) return range;
        if (start == from) return null;
      }
    }
  }, {
    key: "prevMatch",
    value: function prevMatch(state, curFrom, curTo) {
      return this.prevMatchInRange(state, 0, curFrom) || this.prevMatchInRange(state, curTo, state.doc.length);
    }
  }, {
    key: "getReplacement",
    value: function getReplacement(result) {
      return this.spec.unquote(this.spec.replace).replace(/\$([$&\d+])/g, function (m, i) {
        return i == "$" ? "$" : i == "&" ? result.match[0] : i != "0" && +i < result.match.length ? result.match[i] : m;
      });
    }
  }, {
    key: "matchAll",
    value: function matchAll(state, limit) {
      var cursor = regexpCursor(this.spec, state, 0, state.doc.length),
        ranges = [];
      while (!cursor.next().done) {
        if (ranges.length >= limit) return null;
        ranges.push(cursor.value);
      }
      return ranges;
    }
  }, {
    key: "highlight",
    value: function highlight(state, from, to, add) {
      var cursor = regexpCursor(this.spec, state, Math.max(0, from - 250 /* RegExp.HighlightMargin */), Math.min(to + 250 /* RegExp.HighlightMargin */, state.doc.length));
      while (!cursor.next().done) add(cursor.value.from, cursor.value.to);
    }
  }]);
}(QueryType);
/**
A state effect that updates the current search query. Note that
this only has an effect if the search state has been initialized
(by including [`search`](https://codemirror.net/6/docs/ref/#search.search) in your configuration or
by running [`openSearchPanel`](https://codemirror.net/6/docs/ref/#search.openSearchPanel) at least
once).
*/
var setSearchQuery = exports.setSearchQuery = /*@__PURE__*/_state.StateEffect.define();
var togglePanel = /*@__PURE__*/_state.StateEffect.define();
var searchState = /*@__PURE__*/_state.StateField.define({
  create: function create(state) {
    return new SearchState(defaultQuery(state).create(), null);
  },
  update: function update(value, tr) {
    var _iterator3 = _createForOfIteratorHelper(tr.effects),
      _step3;
    try {
      for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
        var effect = _step3.value;
        if (effect.is(setSearchQuery)) value = new SearchState(effect.value.create(), value.panel);else if (effect.is(togglePanel)) value = new SearchState(value.query, effect.value ? createSearchPanel : null);
      }
    } catch (err) {
      _iterator3.e(err);
    } finally {
      _iterator3.f();
    }
    return value;
  },
  provide: function provide(f) {
    return _view.showPanel.from(f, function (val) {
      return val.panel;
    });
  }
});
/**
Get the current search query from an editor state.
*/
function getSearchQuery(state) {
  var curState = state.field(searchState, false);
  return curState ? curState.query.spec : defaultQuery(state);
}
/**
Query whether the search panel is open in the given editor state.
*/
function searchPanelOpen(state) {
  var _a;
  return ((_a = state.field(searchState, false)) === null || _a === void 0 ? void 0 : _a.panel) != null;
}
var SearchState = /*#__PURE__*/_createClass(function SearchState(query, panel) {
  _classCallCheck(this, SearchState);
  this.query = query;
  this.panel = panel;
});
var matchMark = /*@__PURE__*/_view.Decoration.mark({
    "class": "cm-searchMatch"
  }),
  selectedMatchMark = /*@__PURE__*/_view.Decoration.mark({
    "class": "cm-searchMatch cm-searchMatch-selected"
  });
var searchHighlighter = /*@__PURE__*/_view.ViewPlugin.fromClass( /*#__PURE__*/function () {
  function _class2(view) {
    _classCallCheck(this, _class2);
    this.view = view;
    this.decorations = this.highlight(view.state.field(searchState));
  }
  return _createClass(_class2, [{
    key: "update",
    value: function update(_update2) {
      var state = _update2.state.field(searchState);
      if (state != _update2.startState.field(searchState) || _update2.docChanged || _update2.selectionSet || _update2.viewportChanged) this.decorations = this.highlight(state);
    }
  }, {
    key: "highlight",
    value: function highlight(_ref3) {
      var query = _ref3.query,
        panel = _ref3.panel;
      if (!panel || !query.spec.valid) return _view.Decoration.none;
      var view = this.view;
      var builder = new _state.RangeSetBuilder();
      for (var i = 0, ranges = view.visibleRanges, l = ranges.length; i < l; i++) {
        var _ranges$i = ranges[i],
          from = _ranges$i.from,
          to = _ranges$i.to;
        while (i < l - 1 && to > ranges[i + 1].from - 2 * 250 /* RegExp.HighlightMargin */) to = ranges[++i].to;
        query.highlight(view.state, from, to, function (from, to) {
          var selected = view.state.selection.ranges.some(function (r) {
            return r.from == from && r.to == to;
          });
          builder.add(from, to, selected ? selectedMatchMark : matchMark);
        });
      }
      return builder.finish();
    }
  }]);
}(), {
  decorations: function decorations(v) {
    return v.decorations;
  }
});
function searchCommand(f) {
  return function (view) {
    var state = view.state.field(searchState, false);
    return state && state.query.spec.valid ? f(view, state) : openSearchPanel(view);
  };
}
/**
Open the search panel if it isn't already open, and move the
selection to the first match after the current main selection.
Will wrap around to the start of the document when it reaches the
end.
*/
var findNext = exports.findNext = /*@__PURE__*/searchCommand(function (view, _ref4) {
  var query = _ref4.query;
  var to = view.state.selection.main.to;
  var next = query.nextMatch(view.state, to, to);
  if (!next) return false;
  var selection = _state.EditorSelection.single(next.from, next.to);
  var config = view.state.facet(searchConfigFacet);
  view.dispatch({
    selection: selection,
    effects: [announceMatch(view, next), config.scrollToMatch(selection.main, view)],
    userEvent: "select.search"
  });
  selectSearchInput(view);
  return true;
});
/**
Move the selection to the previous instance of the search query,
before the current main selection. Will wrap past the start
of the document to start searching at the end again.
*/
var findPrevious = exports.findPrevious = /*@__PURE__*/searchCommand(function (view, _ref5) {
  var query = _ref5.query;
  var state = view.state,
    from = state.selection.main.from;
  var prev = query.prevMatch(state, from, from);
  if (!prev) return false;
  var selection = _state.EditorSelection.single(prev.from, prev.to);
  var config = view.state.facet(searchConfigFacet);
  view.dispatch({
    selection: selection,
    effects: [announceMatch(view, prev), config.scrollToMatch(selection.main, view)],
    userEvent: "select.search"
  });
  selectSearchInput(view);
  return true;
});
/**
Select all instances of the search query.
*/
var selectMatches = exports.selectMatches = /*@__PURE__*/searchCommand(function (view, _ref6) {
  var query = _ref6.query;
  var ranges = query.matchAll(view.state, 1000);
  if (!ranges || !ranges.length) return false;
  view.dispatch({
    selection: _state.EditorSelection.create(ranges.map(function (r) {
      return _state.EditorSelection.range(r.from, r.to);
    })),
    userEvent: "select.search.matches"
  });
  return true;
});
/**
Select all instances of the currently selected text.
*/
var selectSelectionMatches = exports.selectSelectionMatches = function selectSelectionMatches(_ref7) {
  var state = _ref7.state,
    dispatch = _ref7.dispatch;
  var sel = state.selection;
  if (sel.ranges.length > 1 || sel.main.empty) return false;
  var _sel$main = sel.main,
    from = _sel$main.from,
    to = _sel$main.to;
  var ranges = [],
    main = 0;
  for (var cur = new SearchCursor(state.doc, state.sliceDoc(from, to)); !cur.next().done;) {
    if (ranges.length > 1000) return false;
    if (cur.value.from == from) main = ranges.length;
    ranges.push(_state.EditorSelection.range(cur.value.from, cur.value.to));
  }
  dispatch(state.update({
    selection: _state.EditorSelection.create(ranges, main),
    userEvent: "select.search.matches"
  }));
  return true;
};
/**
Replace the current match of the search query.
*/
var replaceNext = exports.replaceNext = /*@__PURE__*/searchCommand(function (view, _ref8) {
  var query = _ref8.query;
  var state = view.state,
    _state$selection$main = state.selection.main,
    from = _state$selection$main.from,
    to = _state$selection$main.to;
  if (state.readOnly) return false;
  var next = query.nextMatch(state, from, from);
  if (!next) return false;
  var changes = [],
    selection,
    replacement;
  var effects = [];
  if (next.from == from && next.to == to) {
    replacement = state.toText(query.getReplacement(next));
    changes.push({
      from: next.from,
      to: next.to,
      insert: replacement
    });
    next = query.nextMatch(state, next.from, next.to);
    effects.push(_view.EditorView.announce.of(state.phrase("replaced match on line $", state.doc.lineAt(from).number) + "."));
  }
  if (next) {
    var off = changes.length == 0 || changes[0].from >= next.to ? 0 : next.to - next.from - replacement.length;
    selection = _state.EditorSelection.single(next.from - off, next.to - off);
    effects.push(announceMatch(view, next));
    effects.push(state.facet(searchConfigFacet).scrollToMatch(selection.main, view));
  }
  view.dispatch({
    changes: changes,
    selection: selection,
    effects: effects,
    userEvent: "input.replace"
  });
  return true;
});
/**
Replace all instances of the search query with the given
replacement.
*/
var replaceAll = exports.replaceAll = /*@__PURE__*/searchCommand(function (view, _ref9) {
  var query = _ref9.query;
  if (view.state.readOnly) return false;
  var changes = query.matchAll(view.state, 1e9).map(function (match) {
    var from = match.from,
      to = match.to;
    return {
      from: from,
      to: to,
      insert: query.getReplacement(match)
    };
  });
  if (!changes.length) return false;
  var announceText = view.state.phrase("replaced $ matches", changes.length) + ".";
  view.dispatch({
    changes: changes,
    effects: _view.EditorView.announce.of(announceText),
    userEvent: "input.replace.all"
  });
  return true;
});
function createSearchPanel(view) {
  return view.state.facet(searchConfigFacet).createPanel(view);
}
function defaultQuery(state, fallback) {
  var _a, _b, _c, _d, _e;
  var sel = state.selection.main;
  var selText = sel.empty || sel.to > sel.from + 100 ? "" : state.sliceDoc(sel.from, sel.to);
  if (fallback && !selText) return fallback;
  var config = state.facet(searchConfigFacet);
  return new SearchQuery({
    search: ((_a = fallback === null || fallback === void 0 ? void 0 : fallback.literal) !== null && _a !== void 0 ? _a : config.literal) ? selText : selText.replace(/\n/g, "\\n"),
    caseSensitive: (_b = fallback === null || fallback === void 0 ? void 0 : fallback.caseSensitive) !== null && _b !== void 0 ? _b : config.caseSensitive,
    literal: (_c = fallback === null || fallback === void 0 ? void 0 : fallback.literal) !== null && _c !== void 0 ? _c : config.literal,
    regexp: (_d = fallback === null || fallback === void 0 ? void 0 : fallback.regexp) !== null && _d !== void 0 ? _d : config.regexp,
    wholeWord: (_e = fallback === null || fallback === void 0 ? void 0 : fallback.wholeWord) !== null && _e !== void 0 ? _e : config.wholeWord
  });
}
function getSearchInput(view) {
  var panel = (0, _view.getPanel)(view, createSearchPanel);
  return panel && panel.dom.querySelector("[main-field]");
}
function selectSearchInput(view) {
  var input = getSearchInput(view);
  if (input && input == view.root.activeElement) input.select();
}
/**
Make sure the search panel is open and focused.
*/
var openSearchPanel = exports.openSearchPanel = function openSearchPanel(view) {
  var state = view.state.field(searchState, false);
  if (state && state.panel) {
    var searchInput = getSearchInput(view);
    if (searchInput && searchInput != view.root.activeElement) {
      var query = defaultQuery(view.state, state.query.spec);
      if (query.valid) view.dispatch({
        effects: setSearchQuery.of(query)
      });
      searchInput.focus();
      searchInput.select();
    }
  } else {
    view.dispatch({
      effects: [togglePanel.of(true), state ? setSearchQuery.of(defaultQuery(view.state, state.query.spec)) : _state.StateEffect.appendConfig.of(searchExtensions)]
    });
  }
  return true;
};
/**
Close the search panel.
*/
var closeSearchPanel = exports.closeSearchPanel = function closeSearchPanel(view) {
  var state = view.state.field(searchState, false);
  if (!state || !state.panel) return false;
  var panel = (0, _view.getPanel)(view, createSearchPanel);
  if (panel && panel.dom.contains(view.root.activeElement)) view.focus();
  view.dispatch({
    effects: togglePanel.of(false)
  });
  return true;
};
/**
Default search-related key bindings.

 - Mod-f: [`openSearchPanel`](https://codemirror.net/6/docs/ref/#search.openSearchPanel)
 - F3, Mod-g: [`findNext`](https://codemirror.net/6/docs/ref/#search.findNext)
 - Shift-F3, Shift-Mod-g: [`findPrevious`](https://codemirror.net/6/docs/ref/#search.findPrevious)
 - Mod-Alt-g: [`gotoLine`](https://codemirror.net/6/docs/ref/#search.gotoLine)
 - Mod-d: [`selectNextOccurrence`](https://codemirror.net/6/docs/ref/#search.selectNextOccurrence)
*/
var searchKeymap = exports.searchKeymap = [{
  key: "Mod-f",
  run: openSearchPanel,
  scope: "editor search-panel"
}, {
  key: "F3",
  run: findNext,
  shift: findPrevious,
  scope: "editor search-panel",
  preventDefault: true
}, {
  key: "Mod-g",
  run: findNext,
  shift: findPrevious,
  scope: "editor search-panel",
  preventDefault: true
}, {
  key: "Escape",
  run: closeSearchPanel,
  scope: "editor search-panel"
}, {
  key: "Mod-Shift-l",
  run: selectSelectionMatches
}, {
  key: "Mod-Alt-g",
  run: gotoLine
}, {
  key: "Mod-d",
  run: selectNextOccurrence,
  preventDefault: true
}];
var SearchPanel = /*#__PURE__*/function () {
  function SearchPanel(view) {
    var _this = this;
    _classCallCheck(this, SearchPanel);
    this.view = view;
    var query = this.query = view.state.field(searchState).query.spec;
    this.commit = this.commit.bind(this);
    this.searchField = (0, _crelt["default"])("input", {
      value: query.search,
      placeholder: phrase(view, "Find"),
      "aria-label": phrase(view, "Find"),
      "class": "cm-textfield",
      name: "search",
      form: "",
      "main-field": "true",
      onchange: this.commit,
      onkeyup: this.commit
    });
    this.replaceField = (0, _crelt["default"])("input", {
      value: query.replace,
      placeholder: phrase(view, "Replace"),
      "aria-label": phrase(view, "Replace"),
      "class": "cm-textfield",
      name: "replace",
      form: "",
      onchange: this.commit,
      onkeyup: this.commit
    });
    this.caseField = (0, _crelt["default"])("input", {
      type: "checkbox",
      name: "case",
      form: "",
      checked: query.caseSensitive,
      onchange: this.commit
    });
    this.reField = (0, _crelt["default"])("input", {
      type: "checkbox",
      name: "re",
      form: "",
      checked: query.regexp,
      onchange: this.commit
    });
    this.wordField = (0, _crelt["default"])("input", {
      type: "checkbox",
      name: "word",
      form: "",
      checked: query.wholeWord,
      onchange: this.commit
    });
    function button(name, onclick, content) {
      return (0, _crelt["default"])("button", {
        "class": "cm-button",
        name: name,
        onclick: onclick,
        type: "button"
      }, content);
    }
    this.dom = (0, _crelt["default"])("div", {
      onkeydown: function onkeydown(e) {
        return _this.keydown(e);
      },
      "class": "cm-search"
    }, [this.searchField, button("next", function () {
      return findNext(view);
    }, [phrase(view, "next")]), button("prev", function () {
      return findPrevious(view);
    }, [phrase(view, "previous")]), button("select", function () {
      return selectMatches(view);
    }, [phrase(view, "all")]), (0, _crelt["default"])("label", null, [this.caseField, phrase(view, "match case")]), (0, _crelt["default"])("label", null, [this.reField, phrase(view, "regexp")]), (0, _crelt["default"])("label", null, [this.wordField, phrase(view, "by word")])].concat(_toConsumableArray(view.state.readOnly ? [] : [(0, _crelt["default"])("br"), this.replaceField, button("replace", function () {
      return replaceNext(view);
    }, [phrase(view, "replace")]), button("replaceAll", function () {
      return replaceAll(view);
    }, [phrase(view, "replace all")])]), [(0, _crelt["default"])("button", {
      name: "close",
      onclick: function onclick() {
        return closeSearchPanel(view);
      },
      "aria-label": phrase(view, "close"),
      type: "button"
    }, ["×"])]));
  }
  return _createClass(SearchPanel, [{
    key: "commit",
    value: function commit() {
      var query = new SearchQuery({
        search: this.searchField.value,
        caseSensitive: this.caseField.checked,
        regexp: this.reField.checked,
        wholeWord: this.wordField.checked,
        replace: this.replaceField.value
      });
      if (!query.eq(this.query)) {
        this.query = query;
        this.view.dispatch({
          effects: setSearchQuery.of(query)
        });
      }
    }
  }, {
    key: "keydown",
    value: function keydown(e) {
      if ((0, _view.runScopeHandlers)(this.view, e, "search-panel")) {
        e.preventDefault();
      } else if (e.keyCode == 13 && e.target == this.searchField) {
        e.preventDefault();
        (e.shiftKey ? findPrevious : findNext)(this.view);
      } else if (e.keyCode == 13 && e.target == this.replaceField) {
        e.preventDefault();
        replaceNext(this.view);
      }
    }
  }, {
    key: "update",
    value: function update(_update3) {
      var _iterator4 = _createForOfIteratorHelper(_update3.transactions),
        _step4;
      try {
        for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
          var tr = _step4.value;
          var _iterator5 = _createForOfIteratorHelper(tr.effects),
            _step5;
          try {
            for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
              var effect = _step5.value;
              if (effect.is(setSearchQuery) && !effect.value.eq(this.query)) this.setQuery(effect.value);
            }
          } catch (err) {
            _iterator5.e(err);
          } finally {
            _iterator5.f();
          }
        }
      } catch (err) {
        _iterator4.e(err);
      } finally {
        _iterator4.f();
      }
    }
  }, {
    key: "setQuery",
    value: function setQuery(query) {
      this.query = query;
      this.searchField.value = query.search;
      this.replaceField.value = query.replace;
      this.caseField.checked = query.caseSensitive;
      this.reField.checked = query.regexp;
      this.wordField.checked = query.wholeWord;
    }
  }, {
    key: "mount",
    value: function mount() {
      this.searchField.select();
    }
  }, {
    key: "pos",
    get: function get() {
      return 80;
    }
  }, {
    key: "top",
    get: function get() {
      return this.view.state.facet(searchConfigFacet).top;
    }
  }]);
}();
function phrase(view, phrase) {
  return view.state.phrase(phrase);
}
var AnnounceMargin = 30;
var Break = /[\s\.,:;?!]/;
function announceMatch(view, _ref10) {
  var from = _ref10.from,
    to = _ref10.to;
  var line = view.state.doc.lineAt(from),
    lineEnd = view.state.doc.lineAt(to).to;
  var start = Math.max(line.from, from - AnnounceMargin),
    end = Math.min(lineEnd, to + AnnounceMargin);
  var text = view.state.sliceDoc(start, end);
  if (start != line.from) {
    for (var i = 0; i < AnnounceMargin; i++) if (!Break.test(text[i + 1]) && Break.test(text[i])) {
      text = text.slice(i);
      break;
    }
  }
  if (end != lineEnd) {
    for (var _i = text.length - 1; _i > text.length - AnnounceMargin; _i--) if (!Break.test(text[_i - 1]) && Break.test(text[_i])) {
      text = text.slice(0, _i);
      break;
    }
  }
  return _view.EditorView.announce.of("".concat(view.state.phrase("current match"), ". ").concat(text, " ").concat(view.state.phrase("on line"), " ").concat(line.number, "."));
}
var baseTheme = /*@__PURE__*/_view.EditorView.baseTheme({
  ".cm-panel.cm-search": {
    padding: "2px 6px 4px",
    position: "relative",
    "& [name=close]": {
      position: "absolute",
      top: "0",
      right: "4px",
      backgroundColor: "inherit",
      border: "none",
      font: "inherit",
      padding: 0,
      margin: 0
    },
    "& input, & button, & label": {
      margin: ".2em .6em .2em 0"
    },
    "& input[type=checkbox]": {
      marginRight: ".2em"
    },
    "& label": {
      fontSize: "80%",
      whiteSpace: "pre"
    }
  },
  "&light .cm-searchMatch": {
    backgroundColor: "#ffff0054"
  },
  "&dark .cm-searchMatch": {
    backgroundColor: "#00ffff8a"
  },
  "&light .cm-searchMatch-selected": {
    backgroundColor: "#ff6a0054"
  },
  "&dark .cm-searchMatch-selected": {
    backgroundColor: "#ff00ff8a"
  }
});
var searchExtensions = [searchState, /*@__PURE__*/_state.Prec.low(searchHighlighter), baseTheme];

},{"@codemirror/state":9,"@codemirror/view":10,"crelt":16}],9:[function(require,module,exports){
"use strict";

Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.Transaction = exports.Text = exports.StateField = exports.StateEffectType = exports.StateEffect = exports.SelectionRange = exports.RangeValue = exports.RangeSetBuilder = exports.RangeSet = exports.Range = exports.Prec = exports.MapMode = exports.Line = exports.Facet = exports.EditorState = exports.EditorSelection = exports.Compartment = exports.CharCategory = exports.ChangeSet = exports.ChangeDesc = exports.AnnotationType = exports.Annotation = void 0;
exports.codePointAt = codePointAt;
exports.codePointSize = codePointSize;
exports.combineConfig = combineConfig;
exports.countColumn = countColumn;
exports.findClusterBreak = findClusterBreak;
exports.findColumn = findColumn;
exports.fromCodePoint = fromCodePoint;
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
function _get() { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get.bind(); } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(arguments.length < 3 ? target : receiver); } return desc.value; }; } return _get.apply(this, arguments); }
function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
/**
The data structure for documents. @nonabstract
*/
var Text = exports.Text = /*#__PURE__*/function () {
  /**
  @internal
  */
  function Text() {
    _classCallCheck(this, Text);
  }
  /**
  Create a `Text` instance for the given array of lines.
  */
  return _createClass(Text, [{
    key: "lineAt",
    value:
    /**
    Get the line description around the given position.
    */
    function lineAt(pos) {
      if (pos < 0 || pos > this.length) throw new RangeError("Invalid position ".concat(pos, " in document of length ").concat(this.length));
      return this.lineInner(pos, false, 1, 0);
    }
    /**
    Get the description for the given (1-based) line number.
    */
  }, {
    key: "line",
    value: function line(n) {
      if (n < 1 || n > this.lines) throw new RangeError("Invalid line number ".concat(n, " in ").concat(this.lines, "-line document"));
      return this.lineInner(n, true, 1, 0);
    }
    /**
    Replace a range of the text with the given content.
    */
  }, {
    key: "replace",
    value: function replace(from, to, text) {
      var _clip = clip(this, from, to);
      var _clip2 = _slicedToArray(_clip, 2);
      from = _clip2[0];
      to = _clip2[1];
      var parts = [];
      this.decompose(0, from, parts, 2 /* Open.To */);
      if (text.length) text.decompose(0, text.length, parts, 1 /* Open.From */ | 2 /* Open.To */);
      this.decompose(to, this.length, parts, 1 /* Open.From */);
      return TextNode.from(parts, this.length - (to - from) + text.length);
    }
    /**
    Append another document to this one.
    */
  }, {
    key: "append",
    value: function append(other) {
      return this.replace(this.length, this.length, other);
    }
    /**
    Retrieve the text between the given points.
    */
  }, {
    key: "slice",
    value: function slice(from) {
      var to = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.length;
      var _clip3 = clip(this, from, to);
      var _clip4 = _slicedToArray(_clip3, 2);
      from = _clip4[0];
      to = _clip4[1];
      var parts = [];
      this.decompose(from, to, parts, 0);
      return TextNode.from(parts, to - from);
    }
    /**
    Test whether this text is equal to another instance.
    */
  }, {
    key: "eq",
    value: function eq(other) {
      if (other == this) return true;
      if (other.length != this.length || other.lines != this.lines) return false;
      var start = this.scanIdentical(other, 1),
        end = this.length - this.scanIdentical(other, -1);
      var a = new RawTextCursor(this),
        b = new RawTextCursor(other);
      for (var skip = start, pos = start;;) {
        a.next(skip);
        b.next(skip);
        skip = 0;
        if (a.lineBreak != b.lineBreak || a.done != b.done || a.value != b.value) return false;
        pos += a.value.length;
        if (a.done || pos >= end) return true;
      }
    }
    /**
    Iterate over the text. When `dir` is `-1`, iteration happens
    from end to start. This will return lines and the breaks between
    them as separate strings.
    */
  }, {
    key: "iter",
    value: function iter() {
      var dir = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1;
      return new RawTextCursor(this, dir);
    }
    /**
    Iterate over a range of the text. When `from` > `to`, the
    iterator will run in reverse.
    */
  }, {
    key: "iterRange",
    value: function iterRange(from) {
      var to = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.length;
      return new PartialTextCursor(this, from, to);
    }
    /**
    Return a cursor that iterates over the given range of lines,
    _without_ returning the line breaks between, and yielding empty
    strings for empty lines.
    
    When `from` and `to` are given, they should be 1-based line numbers.
    */
  }, {
    key: "iterLines",
    value: function iterLines(from, to) {
      var inner;
      if (from == null) {
        inner = this.iter();
      } else {
        if (to == null) to = this.lines + 1;
        var start = this.line(from).from;
        inner = this.iterRange(start, Math.max(start, to == this.lines + 1 ? this.length : to <= 1 ? 0 : this.line(to - 1).to));
      }
      return new LineCursor(inner);
    }
    /**
    Return the document as a string, using newline characters to
    separate lines.
    */
  }, {
    key: "toString",
    value: function toString() {
      return this.sliceString(0);
    }
    /**
    Convert the document to an array of lines (which can be
    deserialized again via [`Text.of`](https://codemirror.net/6/docs/ref/#state.Text^of)).
    */
  }, {
    key: "toJSON",
    value: function toJSON() {
      var lines = [];
      this.flatten(lines);
      return lines;
    }
  }], [{
    key: "of",
    value: function of(text) {
      if (text.length == 0) throw new RangeError("A document must have at least one line");
      if (text.length == 1 && !text[0]) return Text.empty;
      return text.length <= 32 /* Tree.Branch */ ? new TextLeaf(text) : TextNode.from(TextLeaf.split(text, []));
    }
  }]);
}(); // Leaves store an array of line strings. There are always line breaks
// between these strings. Leaves are limited in size and have to be
// contained in TextNode instances for bigger documents.
var TextLeaf = /*#__PURE__*/function (_Text) {
  function TextLeaf(text) {
    var _this;
    var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : textLength(text);
    _classCallCheck(this, TextLeaf);
    _this = _callSuper(this, TextLeaf);
    _this.text = text;
    _this.length = length;
    return _this;
  }
  _inherits(TextLeaf, _Text);
  return _createClass(TextLeaf, [{
    key: "lines",
    get: function get() {
      return this.text.length;
    }
  }, {
    key: "children",
    get: function get() {
      return null;
    }
  }, {
    key: "lineInner",
    value: function lineInner(target, isLine, line, offset) {
      for (var i = 0;; i++) {
        var string = this.text[i],
          end = offset + string.length;
        if ((isLine ? line : end) >= target) return new Line(offset, end, line, string);
        offset = end + 1;
        line++;
      }
    }
  }, {
    key: "decompose",
    value: function decompose(from, to, target, open) {
      var text = from <= 0 && to >= this.length ? this : new TextLeaf(sliceText(this.text, from, to), Math.min(to, this.length) - Math.max(0, from));
      if (open & 1 /* Open.From */) {
        var prev = target.pop();
        var joined = appendText(text.text, prev.text.slice(), 0, text.length);
        if (joined.length <= 32 /* Tree.Branch */) {
          target.push(new TextLeaf(joined, prev.length + text.length));
        } else {
          var mid = joined.length >> 1;
          target.push(new TextLeaf(joined.slice(0, mid)), new TextLeaf(joined.slice(mid)));
        }
      } else {
        target.push(text);
      }
    }
  }, {
    key: "replace",
    value: function replace(from, to, text) {
      if (!(text instanceof TextLeaf)) return _get(_getPrototypeOf(TextLeaf.prototype), "replace", this).call(this, from, to, text);
      var _clip5 = clip(this, from, to);
      var _clip6 = _slicedToArray(_clip5, 2);
      from = _clip6[0];
      to = _clip6[1];
      var lines = appendText(this.text, appendText(text.text, sliceText(this.text, 0, from)), to);
      var newLen = this.length + text.length - (to - from);
      if (lines.length <= 32 /* Tree.Branch */) return new TextLeaf(lines, newLen);
      return TextNode.from(TextLeaf.split(lines, []), newLen);
    }
  }, {
    key: "sliceString",
    value: function sliceString(from) {
      var to = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.length;
      var lineSep = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : "\n";
      var _clip7 = clip(this, from, to);
      var _clip8 = _slicedToArray(_clip7, 2);
      from = _clip8[0];
      to = _clip8[1];
      var result = "";
      for (var pos = 0, i = 0; pos <= to && i < this.text.length; i++) {
        var line = this.text[i],
          end = pos + line.length;
        if (pos > from && i) result += lineSep;
        if (from < end && to > pos) result += line.slice(Math.max(0, from - pos), to - pos);
        pos = end + 1;
      }
      return result;
    }
  }, {
    key: "flatten",
    value: function flatten(target) {
      var _iterator = _createForOfIteratorHelper(this.text),
        _step;
      try {
        for (_iterator.s(); !(_step = _iterator.n()).done;) {
          var line = _step.value;
          target.push(line);
        }
      } catch (err) {
        _iterator.e(err);
      } finally {
        _iterator.f();
      }
    }
  }, {
    key: "scanIdentical",
    value: function scanIdentical() {
      return 0;
    }
  }], [{
    key: "split",
    value: function split(text, target) {
      var part = [],
        len = -1;
      var _iterator2 = _createForOfIteratorHelper(text),
        _step2;
      try {
        for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
          var line = _step2.value;
          part.push(line);
          len += line.length + 1;
          if (part.length == 32 /* Tree.Branch */) {
            target.push(new TextLeaf(part, len));
            part = [];
            len = -1;
          }
        }
      } catch (err) {
        _iterator2.e(err);
      } finally {
        _iterator2.f();
      }
      if (len > -1) target.push(new TextLeaf(part, len));
      return target;
    }
  }]);
}(Text); // Nodes provide the tree structure of the `Text` type. They store a
// number of other nodes or leaves, taking care to balance themselves
// on changes. There are implied line breaks _between_ the children of
// a node (but not before the first or after the last child).
var TextNode = /*#__PURE__*/function (_Text2) {
  function TextNode(children, length) {
    var _this2;
    _classCallCheck(this, TextNode);
    _this2 = _callSuper(this, TextNode);
    _this2.children = children;
    _this2.length = length;
    _this2.lines = 0;
    var _iterator3 = _createForOfIteratorHelper(children),
      _step3;
    try {
      for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
        var child = _step3.value;
        _this2.lines += child.lines;
      }
    } catch (err) {
      _iterator3.e(err);
    } finally {
      _iterator3.f();
    }
    return _this2;
  }
  _inherits(TextNode, _Text2);
  return _createClass(TextNode, [{
    key: "lineInner",
    value: function lineInner(target, isLine, line, offset) {
      for (var i = 0;; i++) {
        var child = this.children[i],
          end = offset + child.length,
          endLine = line + child.lines - 1;
        if ((isLine ? endLine : end) >= target) return child.lineInner(target, isLine, line, offset);
        offset = end + 1;
        line = endLine + 1;
      }
    }
  }, {
    key: "decompose",
    value: function decompose(from, to, target, open) {
      for (var i = 0, pos = 0; pos <= to && i < this.children.length; i++) {
        var child = this.children[i],
          end = pos + child.length;
        if (from <= end && to >= pos) {
          var childOpen = open & ((pos <= from ? 1 /* Open.From */ : 0) | (end >= to ? 2 /* Open.To */ : 0));
          if (pos >= from && end <= to && !childOpen) target.push(child);else child.decompose(from - pos, to - pos, target, childOpen);
        }
        pos = end + 1;
      }
    }
  }, {
    key: "replace",
    value: function replace(from, to, text) {
      var _clip9 = clip(this, from, to);
      var _clip10 = _slicedToArray(_clip9, 2);
      from = _clip10[0];
      to = _clip10[1];
      if (text.lines < this.lines) for (var i = 0, pos = 0; i < this.children.length; i++) {
        var child = this.children[i],
          end = pos + child.length;
        // Fast path: if the change only affects one child and the
        // child's size remains in the acceptable range, only update
        // that child
        if (from >= pos && to <= end) {
          var updated = child.replace(from - pos, to - pos, text);
          var totalLines = this.lines - child.lines + updated.lines;
          if (updated.lines < totalLines >> 5 /* Tree.BranchShift */ - 1 && updated.lines > totalLines >> 5 /* Tree.BranchShift */ + 1) {
            var copy = this.children.slice();
            copy[i] = updated;
            return new TextNode(copy, this.length - (to - from) + text.length);
          }
          return _get(_getPrototypeOf(TextNode.prototype), "replace", this).call(this, pos, end, updated);
        }
        pos = end + 1;
      }
      return _get(_getPrototypeOf(TextNode.prototype), "replace", this).call(this, from, to, text);
    }
  }, {
    key: "sliceString",
    value: function sliceString(from) {
      var to = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.length;
      var lineSep = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : "\n";
      var _clip11 = clip(this, from, to);
      var _clip12 = _slicedToArray(_clip11, 2);
      from = _clip12[0];
      to = _clip12[1];
      var result = "";
      for (var i = 0, pos = 0; i < this.children.length && pos <= to; i++) {
        var child = this.children[i],
          end = pos + child.length;
        if (pos > from && i) result += lineSep;
        if (from < end && to > pos) result += child.sliceString(from - pos, to - pos, lineSep);
        pos = end + 1;
      }
      return result;
    }
  }, {
    key: "flatten",
    value: function flatten(target) {
      var _iterator4 = _createForOfIteratorHelper(this.children),
        _step4;
      try {
        for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
          var child = _step4.value;
          child.flatten(target);
        }
      } catch (err) {
        _iterator4.e(err);
      } finally {
        _iterator4.f();
      }
    }
  }, {
    key: "scanIdentical",
    value: function scanIdentical(other, dir) {
      if (!(other instanceof TextNode)) return 0;
      var length = 0;
      var _ref = dir > 0 ? [0, 0, this.children.length, other.children.length] : [this.children.length - 1, other.children.length - 1, -1, -1],
        _ref2 = _slicedToArray(_ref, 4),
        iA = _ref2[0],
        iB = _ref2[1],
        eA = _ref2[2],
        eB = _ref2[3];
      for (;; iA += dir, iB += dir) {
        if (iA == eA || iB == eB) return length;
        var chA = this.children[iA],
          chB = other.children[iB];
        if (chA != chB) return length + chA.scanIdentical(chB, dir);
        length += chA.length + 1;
      }
    }
  }], [{
    key: "from",
    value: function from(children) {
      var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : children.reduce(function (l, ch) {
        return l + ch.length + 1;
      }, -1);
      var lines = 0;
      var _iterator5 = _createForOfIteratorHelper(children),
        _step5;
      try {
        for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
          var _ch = _step5.value;
          lines += _ch.lines;
        }
      } catch (err) {
        _iterator5.e(err);
      } finally {
        _iterator5.f();
      }
      if (lines < 32 /* Tree.Branch */) {
        var flat = [];
        var _iterator6 = _createForOfIteratorHelper(children),
          _step6;
        try {
          for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {
            var ch = _step6.value;
            ch.flatten(flat);
          }
        } catch (err) {
          _iterator6.e(err);
        } finally {
          _iterator6.f();
        }
        return new TextLeaf(flat, length);
      }
      var chunk = Math.max(32 /* Tree.Branch */, lines >> 5 /* Tree.BranchShift */),
        maxChunk = chunk << 1,
        minChunk = chunk >> 1;
      var chunked = [],
        currentLines = 0,
        currentLen = -1,
        currentChunk = [];
      function add(child) {
        var last;
        if (child.lines > maxChunk && child instanceof TextNode) {
          var _iterator7 = _createForOfIteratorHelper(child.children),
            _step7;
          try {
            for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {
              var node = _step7.value;
              add(node);
            }
          } catch (err) {
            _iterator7.e(err);
          } finally {
            _iterator7.f();
          }
        } else if (child.lines > minChunk && (currentLines > minChunk || !currentLines)) {
          flush();
          chunked.push(child);
        } else if (child instanceof TextLeaf && currentLines && (last = currentChunk[currentChunk.length - 1]) instanceof TextLeaf && child.lines + last.lines <= 32 /* Tree.Branch */) {
          currentLines += child.lines;
          currentLen += child.length + 1;
          currentChunk[currentChunk.length - 1] = new TextLeaf(last.text.concat(child.text), last.length + 1 + child.length);
        } else {
          if (currentLines + child.lines > chunk) flush();
          currentLines += child.lines;
          currentLen += child.length + 1;
          currentChunk.push(child);
        }
      }
      function flush() {
        if (currentLines == 0) return;
        chunked.push(currentChunk.length == 1 ? currentChunk[0] : TextNode.from(currentChunk, currentLen));
        currentLen = -1;
        currentLines = currentChunk.length = 0;
      }
      var _iterator8 = _createForOfIteratorHelper(children),
        _step8;
      try {
        for (_iterator8.s(); !(_step8 = _iterator8.n()).done;) {
          var child = _step8.value;
          add(child);
        }
      } catch (err) {
        _iterator8.e(err);
      } finally {
        _iterator8.f();
      }
      flush();
      return chunked.length == 1 ? chunked[0] : new TextNode(chunked, length);
    }
  }]);
}(Text);
Text.empty = /*@__PURE__*/new TextLeaf([""], 0);
function textLength(text) {
  var length = -1;
  var _iterator9 = _createForOfIteratorHelper(text),
    _step9;
  try {
    for (_iterator9.s(); !(_step9 = _iterator9.n()).done;) {
      var line = _step9.value;
      length += line.length + 1;
    }
  } catch (err) {
    _iterator9.e(err);
  } finally {
    _iterator9.f();
  }
  return length;
}
function appendText(text, target) {
  var from = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;
  var to = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 1e9;
  for (var pos = 0, i = 0, first = true; i < text.length && pos <= to; i++) {
    var line = text[i],
      end = pos + line.length;
    if (end >= from) {
      if (end > to) line = line.slice(0, to - pos);
      if (pos < from) line = line.slice(from - pos);
      if (first) {
        target[target.length - 1] += line;
        first = false;
      } else target.push(line);
    }
    pos = end + 1;
  }
  return target;
}
function sliceText(text, from, to) {
  return appendText(text, [""], from, to);
}
var RawTextCursor = /*#__PURE__*/function () {
  function RawTextCursor(text) {
    var dir = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
    _classCallCheck(this, RawTextCursor);
    this.dir = dir;
    this.done = false;
    this.lineBreak = false;
    this.value = "";
    this.nodes = [text];
    this.offsets = [dir > 0 ? 1 : (text instanceof TextLeaf ? text.text.length : text.children.length) << 1];
  }
  return _createClass(RawTextCursor, [{
    key: "nextInner",
    value: function nextInner(skip, dir) {
      this.done = this.lineBreak = false;
      for (;;) {
        var last = this.nodes.length - 1;
        var top = this.nodes[last],
          offsetValue = this.offsets[last],
          offset = offsetValue >> 1;
        var size = top instanceof TextLeaf ? top.text.length : top.children.length;
        if (offset == (dir > 0 ? size : 0)) {
          if (last == 0) {
            this.done = true;
            this.value = "";
            return this;
          }
          if (dir > 0) this.offsets[last - 1]++;
          this.nodes.pop();
          this.offsets.pop();
        } else if ((offsetValue & 1) == (dir > 0 ? 0 : 1)) {
          this.offsets[last] += dir;
          if (skip == 0) {
            this.lineBreak = true;
            this.value = "\n";
            return this;
          }
          skip--;
        } else if (top instanceof TextLeaf) {
          // Move to the next string
          var next = top.text[offset + (dir < 0 ? -1 : 0)];
          this.offsets[last] += dir;
          if (next.length > Math.max(0, skip)) {
            this.value = skip == 0 ? next : dir > 0 ? next.slice(skip) : next.slice(0, next.length - skip);
            return this;
          }
          skip -= next.length;
        } else {
          var _next = top.children[offset + (dir < 0 ? -1 : 0)];
          if (skip > _next.length) {
            skip -= _next.length;
            this.offsets[last] += dir;
          } else {
            if (dir < 0) this.offsets[last]--;
            this.nodes.push(_next);
            this.offsets.push(dir > 0 ? 1 : (_next instanceof TextLeaf ? _next.text.length : _next.children.length) << 1);
          }
        }
      }
    }
  }, {
    key: "next",
    value: function next() {
      var skip = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
      if (skip < 0) {
        this.nextInner(-skip, -this.dir);
        skip = this.value.length;
      }
      return this.nextInner(skip, this.dir);
    }
  }]);
}();
var PartialTextCursor = /*#__PURE__*/function () {
  function PartialTextCursor(text, start, end) {
    _classCallCheck(this, PartialTextCursor);
    this.value = "";
    this.done = false;
    this.cursor = new RawTextCursor(text, start > end ? -1 : 1);
    this.pos = start > end ? text.length : 0;
    this.from = Math.min(start, end);
    this.to = Math.max(start, end);
  }
  return _createClass(PartialTextCursor, [{
    key: "nextInner",
    value: function nextInner(skip, dir) {
      if (dir < 0 ? this.pos <= this.from : this.pos >= this.to) {
        this.value = "";
        this.done = true;
        return this;
      }
      skip += Math.max(0, dir < 0 ? this.pos - this.to : this.from - this.pos);
      var limit = dir < 0 ? this.pos - this.from : this.to - this.pos;
      if (skip > limit) skip = limit;
      limit -= skip;
      var _this$cursor$next = this.cursor.next(skip),
        value = _this$cursor$next.value;
      this.pos += (value.length + skip) * dir;
      this.value = value.length <= limit ? value : dir < 0 ? value.slice(value.length - limit) : value.slice(0, limit);
      this.done = !this.value;
      return this;
    }
  }, {
    key: "next",
    value: function next() {
      var skip = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
      if (skip < 0) skip = Math.max(skip, this.from - this.pos);else if (skip > 0) skip = Math.min(skip, this.to - this.pos);
      return this.nextInner(skip, this.cursor.dir);
    }
  }, {
    key: "lineBreak",
    get: function get() {
      return this.cursor.lineBreak && this.value != "";
    }
  }]);
}();
var LineCursor = /*#__PURE__*/function () {
  function LineCursor(inner) {
    _classCallCheck(this, LineCursor);
    this.inner = inner;
    this.afterBreak = true;
    this.value = "";
    this.done = false;
  }
  return _createClass(LineCursor, [{
    key: "next",
    value: function next() {
      var skip = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
      var _this$inner$next = this.inner.next(skip),
        done = _this$inner$next.done,
        lineBreak = _this$inner$next.lineBreak,
        value = _this$inner$next.value;
      if (done && this.afterBreak) {
        this.value = "";
        this.afterBreak = false;
      } else if (done) {
        this.done = true;
        this.value = "";
      } else if (lineBreak) {
        if (this.afterBreak) {
          this.value = "";
        } else {
          this.afterBreak = true;
          this.next();
        }
      } else {
        this.value = value;
        this.afterBreak = false;
      }
      return this;
    }
  }, {
    key: "lineBreak",
    get: function get() {
      return false;
    }
  }]);
}();
if (typeof Symbol != "undefined") {
  Text.prototype[Symbol.iterator] = function () {
    return this.iter();
  };
  RawTextCursor.prototype[Symbol.iterator] = PartialTextCursor.prototype[Symbol.iterator] = LineCursor.prototype[Symbol.iterator] = function () {
    return this;
  };
}
/**
This type describes a line in the document. It is created
on-demand when lines are [queried](https://codemirror.net/6/docs/ref/#state.Text.lineAt).
*/
var Line = exports.Line = /*#__PURE__*/function () {
  /**
  @internal
  */
  function Line(
  /**
  The position of the start of the line.
  */
  from,
  /**
  The position at the end of the line (_before_ the line break,
  or at the end of document for the last line).
  */
  to,
  /**
  This line's line number (1-based).
  */
  number,
  /**
  The line's content.
  */
  text) {
    _classCallCheck(this, Line);
    this.from = from;
    this.to = to;
    this.number = number;
    this.text = text;
  }
  /**
  The length of the line (not including any line break after it).
  */
  return _createClass(Line, [{
    key: "length",
    get: function get() {
      return this.to - this.from;
    }
  }]);
}();
function clip(text, from, to) {
  from = Math.max(0, Math.min(text.length, from));
  return [from, Math.max(from, Math.min(text.length, to))];
}

// Compressed representation of the Grapheme_Cluster_Break=Extend
// information from
// http://www.unicode.org/Public/13.0.0/ucd/auxiliary/GraphemeBreakProperty.txt.
// Each pair of elements represents a range, as an offet from the
// previous range and a length. Numbers are in base-36, with the empty
// string being a shorthand for 1.
var extend = /*@__PURE__*/"lc,34,7n,7,7b,19,,,,2,,2,,,20,b,1c,l,g,,2t,7,2,6,2,2,,4,z,,u,r,2j,b,1m,9,9,,o,4,,9,,3,,5,17,3,3b,f,,w,1j,,,,4,8,4,,3,7,a,2,t,,1m,,,,2,4,8,,9,,a,2,q,,2,2,1l,,4,2,4,2,2,3,3,,u,2,3,,b,2,1l,,4,5,,2,4,,k,2,m,6,,,1m,,,2,,4,8,,7,3,a,2,u,,1n,,,,c,,9,,14,,3,,1l,3,5,3,,4,7,2,b,2,t,,1m,,2,,2,,3,,5,2,7,2,b,2,s,2,1l,2,,,2,4,8,,9,,a,2,t,,20,,4,,2,3,,,8,,29,,2,7,c,8,2q,,2,9,b,6,22,2,r,,,,,,1j,e,,5,,2,5,b,,10,9,,2u,4,,6,,2,2,2,p,2,4,3,g,4,d,,2,2,6,,f,,jj,3,qa,3,t,3,t,2,u,2,1s,2,,7,8,,2,b,9,,19,3,3b,2,y,,3a,3,4,2,9,,6,3,63,2,2,,1m,,,7,,,,,2,8,6,a,2,,1c,h,1r,4,1c,7,,,5,,14,9,c,2,w,4,2,2,,3,1k,,,2,3,,,3,1m,8,2,2,48,3,,d,,7,4,,6,,3,2,5i,1m,,5,ek,,5f,x,2da,3,3x,,2o,w,fe,6,2x,2,n9w,4,,a,w,2,28,2,7k,,3,,4,,p,2,5,,47,2,q,i,d,,12,8,p,b,1a,3,1c,,2,4,2,2,13,,1v,6,2,2,2,2,c,,8,,1b,,1f,,,3,2,2,5,2,,,16,2,8,,6m,,2,,4,,fn4,,kh,g,g,g,a6,2,gt,,6a,,45,5,1ae,3,,2,5,4,14,3,4,,4l,2,fx,4,ar,2,49,b,4w,,1i,f,1k,3,1d,4,2,2,1x,3,10,5,,8,1q,,c,2,1g,9,a,4,2,,2n,3,2,,,2,6,,4g,,3,8,l,2,1l,2,,,,,m,,e,7,3,5,5f,8,2,3,,,n,,29,,2,6,,,2,,,2,,2,6j,,2,4,6,2,,2,r,2,2d,8,2,,,2,2y,,,,2,6,,,2t,3,2,4,,5,77,9,,2,6t,,a,2,,,4,,40,4,2,2,4,,w,a,14,6,2,4,8,,9,6,2,3,1a,d,,2,ba,7,,6,,,2a,m,2,7,,2,,2,3e,6,3,,,2,,7,,,20,2,3,,,,9n,2,f0b,5,1n,7,t4,,1r,4,29,,f5k,2,43q,,,3,4,5,8,8,2,7,u,4,44,3,1iz,1j,4,1e,8,,e,,m,5,,f,11s,7,,h,2,7,,2,,5,79,7,c5,4,15s,7,31,7,240,5,gx7k,2o,3k,6o".split(",").map(function (s) {
  return s ? parseInt(s, 36) : 1;
});
// Convert offsets into absolute values
for (var i = 1; i < extend.length; i++) extend[i] += extend[i - 1];
function isExtendingChar(code) {
  for (var _i = 1; _i < extend.length; _i += 2) if (extend[_i] > code) return extend[_i - 1] <= code;
  return false;
}
function isRegionalIndicator(code) {
  return code >= 0x1F1E6 && code <= 0x1F1FF;
}
var ZWJ = 0x200d;
/**
Returns a next grapheme cluster break _after_ (not equal to)
`pos`, if `forward` is true, or before otherwise. Returns `pos`
itself if no further cluster break is available in the string.
Moves across surrogate pairs, extending characters (when
`includeExtending` is true), characters joined with zero-width
joiners, and flag emoji.
*/
function findClusterBreak(str, pos) {
  var forward = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
  var includeExtending = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : true;
  return (forward ? nextClusterBreak : prevClusterBreak)(str, pos, includeExtending);
}
function nextClusterBreak(str, pos, includeExtending) {
  if (pos == str.length) return pos;
  // If pos is in the middle of a surrogate pair, move to its start
  if (pos && surrogateLow(str.charCodeAt(pos)) && surrogateHigh(str.charCodeAt(pos - 1))) pos--;
  var prev = codePointAt(str, pos);
  pos += codePointSize(prev);
  while (pos < str.length) {
    var next = codePointAt(str, pos);
    if (prev == ZWJ || next == ZWJ || includeExtending && isExtendingChar(next)) {
      pos += codePointSize(next);
      prev = next;
    } else if (isRegionalIndicator(next)) {
      var countBefore = 0,
        _i2 = pos - 2;
      while (_i2 >= 0 && isRegionalIndicator(codePointAt(str, _i2))) {
        countBefore++;
        _i2 -= 2;
      }
      if (countBefore % 2 == 0) break;else pos += 2;
    } else {
      break;
    }
  }
  return pos;
}
function prevClusterBreak(str, pos, includeExtending) {
  while (pos > 0) {
    var found = nextClusterBreak(str, pos - 2, includeExtending);
    if (found < pos) return found;
    pos--;
  }
  return 0;
}
function surrogateLow(ch) {
  return ch >= 0xDC00 && ch < 0xE000;
}
function surrogateHigh(ch) {
  return ch >= 0xD800 && ch < 0xDC00;
}
/**
Find the code point at the given position in a string (like the
[`codePointAt`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/codePointAt)
string method).
*/
function codePointAt(str, pos) {
  var code0 = str.charCodeAt(pos);
  if (!surrogateHigh(code0) || pos + 1 == str.length) return code0;
  var code1 = str.charCodeAt(pos + 1);
  if (!surrogateLow(code1)) return code0;
  return (code0 - 0xd800 << 10) + (code1 - 0xdc00) + 0x10000;
}
/**
Given a Unicode codepoint, return the JavaScript string that
respresents it (like
[`String.fromCodePoint`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/fromCodePoint)).
*/
function fromCodePoint(code) {
  if (code <= 0xffff) return String.fromCharCode(code);
  code -= 0x10000;
  return String.fromCharCode((code >> 10) + 0xd800, (code & 1023) + 0xdc00);
}
/**
The amount of positions a character takes up a JavaScript string.
*/
function codePointSize(code) {
  return code < 0x10000 ? 1 : 2;
}
var DefaultSplit = /\r\n?|\n/;
/**
Distinguishes different ways in which positions can be mapped.
*/
var MapMode = exports.MapMode = /*@__PURE__*/function (MapMode) {
  /**
  Map a position to a valid new position, even when its context
  was deleted.
  */
  MapMode[MapMode["Simple"] = 0] = "Simple";
  /**
  Return null if deletion happens across the position.
  */
  MapMode[MapMode["TrackDel"] = 1] = "TrackDel";
  /**
  Return null if the character _before_ the position is deleted.
  */
  MapMode[MapMode["TrackBefore"] = 2] = "TrackBefore";
  /**
  Return null if the character _after_ the position is deleted.
  */
  MapMode[MapMode["TrackAfter"] = 3] = "TrackAfter";
  return MapMode;
}(MapMode || (exports.MapMode = MapMode = {}));
/**
A change description is a variant of [change set](https://codemirror.net/6/docs/ref/#state.ChangeSet)
that doesn't store the inserted text. As such, it can't be
applied, but is cheaper to store and manipulate.
*/
var ChangeDesc = exports.ChangeDesc = /*#__PURE__*/function () {
  // Sections are encoded as pairs of integers. The first is the
  // length in the current document, and the second is -1 for
  // unaffected sections, and the length of the replacement content
  // otherwise. So an insertion would be (0, n>0), a deletion (n>0,
  // 0), and a replacement two positive numbers.
  /**
  @internal
  */
  function ChangeDesc(
  /**
  @internal
  */
  sections) {
    _classCallCheck(this, ChangeDesc);
    this.sections = sections;
  }
  /**
  The length of the document before the change.
  */
  return _createClass(ChangeDesc, [{
    key: "length",
    get: function get() {
      var result = 0;
      for (var _i3 = 0; _i3 < this.sections.length; _i3 += 2) result += this.sections[_i3];
      return result;
    }
    /**
    The length of the document after the change.
    */
  }, {
    key: "newLength",
    get: function get() {
      var result = 0;
      for (var _i4 = 0; _i4 < this.sections.length; _i4 += 2) {
        var ins = this.sections[_i4 + 1];
        result += ins < 0 ? this.sections[_i4] : ins;
      }
      return result;
    }
    /**
    False when there are actual changes in this set.
    */
  }, {
    key: "empty",
    get: function get() {
      return this.sections.length == 0 || this.sections.length == 2 && this.sections[1] < 0;
    }
    /**
    Iterate over the unchanged parts left by these changes. `posA`
    provides the position of the range in the old document, `posB`
    the new position in the changed document.
    */
  }, {
    key: "iterGaps",
    value: function iterGaps(f) {
      for (var _i5 = 0, posA = 0, posB = 0; _i5 < this.sections.length;) {
        var len = this.sections[_i5++],
          ins = this.sections[_i5++];
        if (ins < 0) {
          f(posA, posB, len);
          posB += len;
        } else {
          posB += ins;
        }
        posA += len;
      }
    }
    /**
    Iterate over the ranges changed by these changes. (See
    [`ChangeSet.iterChanges`](https://codemirror.net/6/docs/ref/#state.ChangeSet.iterChanges) for a
    variant that also provides you with the inserted text.)
    `fromA`/`toA` provides the extent of the change in the starting
    document, `fromB`/`toB` the extent of the replacement in the
    changed document.
    
    When `individual` is true, adjacent changes (which are kept
    separate for [position mapping](https://codemirror.net/6/docs/ref/#state.ChangeDesc.mapPos)) are
    reported separately.
    */
  }, {
    key: "iterChangedRanges",
    value: function iterChangedRanges(f) {
      var individual = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
      _iterChanges(this, f, individual);
    }
    /**
    Get a description of the inverted form of these changes.
    */
  }, {
    key: "invertedDesc",
    get: function get() {
      var sections = [];
      for (var _i6 = 0; _i6 < this.sections.length;) {
        var len = this.sections[_i6++],
          ins = this.sections[_i6++];
        if (ins < 0) sections.push(len, ins);else sections.push(ins, len);
      }
      return new ChangeDesc(sections);
    }
    /**
    Compute the combined effect of applying another set of changes
    after this one. The length of the document after this set should
    match the length before `other`.
    */
  }, {
    key: "composeDesc",
    value: function composeDesc(other) {
      return this.empty ? other : other.empty ? this : composeSets(this, other);
    }
    /**
    Map this description, which should start with the same document
    as `other`, over another set of changes, so that it can be
    applied after it. When `before` is true, map as if the changes
    in `other` happened before the ones in `this`.
    */
  }, {
    key: "mapDesc",
    value: function mapDesc(other) {
      var before = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
      return other.empty ? this : mapSet(this, other, before);
    }
  }, {
    key: "mapPos",
    value: function mapPos(pos) {
      var assoc = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : -1;
      var mode = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : MapMode.Simple;
      var posA = 0,
        posB = 0;
      for (var _i7 = 0; _i7 < this.sections.length;) {
        var len = this.sections[_i7++],
          ins = this.sections[_i7++],
          endA = posA + len;
        if (ins < 0) {
          if (endA > pos) return posB + (pos - posA);
          posB += len;
        } else {
          if (mode != MapMode.Simple && endA >= pos && (mode == MapMode.TrackDel && posA < pos && endA > pos || mode == MapMode.TrackBefore && posA < pos || mode == MapMode.TrackAfter && endA > pos)) return null;
          if (endA > pos || endA == pos && assoc < 0 && !len) return pos == posA || assoc < 0 ? posB : posB + ins;
          posB += ins;
        }
        posA = endA;
      }
      if (pos > posA) throw new RangeError("Position ".concat(pos, " is out of range for changeset of length ").concat(posA));
      return posB;
    }
    /**
    Check whether these changes touch a given range. When one of the
    changes entirely covers the range, the string `"cover"` is
    returned.
    */
  }, {
    key: "touchesRange",
    value: function touchesRange(from) {
      var to = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : from;
      for (var _i8 = 0, pos = 0; _i8 < this.sections.length && pos <= to;) {
        var len = this.sections[_i8++],
          ins = this.sections[_i8++],
          end = pos + len;
        if (ins >= 0 && pos <= to && end >= from) return pos < from && end > to ? "cover" : true;
        pos = end;
      }
      return false;
    }
    /**
    @internal
    */
  }, {
    key: "toString",
    value: function toString() {
      var result = "";
      for (var _i9 = 0; _i9 < this.sections.length;) {
        var len = this.sections[_i9++],
          ins = this.sections[_i9++];
        result += (result ? " " : "") + len + (ins >= 0 ? ":" + ins : "");
      }
      return result;
    }
    /**
    Serialize this change desc to a JSON-representable value.
    */
  }, {
    key: "toJSON",
    value: function toJSON() {
      return this.sections;
    }
    /**
    Create a change desc from its JSON representation (as produced
    by [`toJSON`](https://codemirror.net/6/docs/ref/#state.ChangeDesc.toJSON).
    */
  }], [{
    key: "fromJSON",
    value: function fromJSON(json) {
      if (!Array.isArray(json) || json.length % 2 || json.some(function (a) {
        return typeof a != "number";
      })) throw new RangeError("Invalid JSON representation of ChangeDesc");
      return new ChangeDesc(json);
    }
    /**
    @internal
    */
  }, {
    key: "create",
    value: function create(sections) {
      return new ChangeDesc(sections);
    }
  }]);
}();
/**
A change set represents a group of modifications to a document. It
stores the document length, and can only be applied to documents
with exactly that length.
*/
var ChangeSet = exports.ChangeSet = /*#__PURE__*/function (_ChangeDesc) {
  function ChangeSet(sections,
  /**
  @internal
  */
  inserted) {
    var _this3;
    _classCallCheck(this, ChangeSet);
    _this3 = _callSuper(this, ChangeSet, [sections]);
    _this3.inserted = inserted;
    return _this3;
  }
  /**
  Apply the changes to a document, returning the modified
  document.
  */
  _inherits(ChangeSet, _ChangeDesc);
  return _createClass(ChangeSet, [{
    key: "apply",
    value: function apply(doc) {
      if (this.length != doc.length) throw new RangeError("Applying change set to a document with the wrong length");
      _iterChanges(this, function (fromA, toA, fromB, _toB, text) {
        return doc = doc.replace(fromB, fromB + (toA - fromA), text);
      }, false);
      return doc;
    }
  }, {
    key: "mapDesc",
    value: function mapDesc(other) {
      var before = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
      return mapSet(this, other, before, true);
    }
    /**
    Given the document as it existed _before_ the changes, return a
    change set that represents the inverse of this set, which could
    be used to go from the document created by the changes back to
    the document as it existed before the changes.
    */
  }, {
    key: "invert",
    value: function invert(doc) {
      var sections = this.sections.slice(),
        inserted = [];
      for (var _i10 = 0, pos = 0; _i10 < sections.length; _i10 += 2) {
        var len = sections[_i10],
          ins = sections[_i10 + 1];
        if (ins >= 0) {
          sections[_i10] = ins;
          sections[_i10 + 1] = len;
          var index = _i10 >> 1;
          while (inserted.length < index) inserted.push(Text.empty);
          inserted.push(len ? doc.slice(pos, pos + len) : Text.empty);
        }
        pos += len;
      }
      return new ChangeSet(sections, inserted);
    }
    /**
    Combine two subsequent change sets into a single set. `other`
    must start in the document produced by `this`. If `this` goes
    `docA` → `docB` and `other` represents `docB` → `docC`, the
    returned value will represent the change `docA` → `docC`.
    */
  }, {
    key: "compose",
    value: function compose(other) {
      return this.empty ? other : other.empty ? this : composeSets(this, other, true);
    }
    /**
    Given another change set starting in the same document, maps this
    change set over the other, producing a new change set that can be
    applied to the document produced by applying `other`. When
    `before` is `true`, order changes as if `this` comes before
    `other`, otherwise (the default) treat `other` as coming first.
    
    Given two changes `A` and `B`, `A.compose(B.map(A))` and
    `B.compose(A.map(B, true))` will produce the same document. This
    provides a basic form of [operational
    transformation](https://en.wikipedia.org/wiki/Operational_transformation),
    and can be used for collaborative editing.
    */
  }, {
    key: "map",
    value: function map(other) {
      var before = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
      return other.empty ? this : mapSet(this, other, before, true);
    }
    /**
    Iterate over the changed ranges in the document, calling `f` for
    each, with the range in the original document (`fromA`-`toA`)
    and the range that replaces it in the new document
    (`fromB`-`toB`).
    
    When `individual` is true, adjacent changes are reported
    separately.
    */
  }, {
    key: "iterChanges",
    value: function iterChanges(f) {
      var individual = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
      _iterChanges(this, f, individual);
    }
    /**
    Get a [change description](https://codemirror.net/6/docs/ref/#state.ChangeDesc) for this change
    set.
    */
  }, {
    key: "desc",
    get: function get() {
      return ChangeDesc.create(this.sections);
    }
    /**
    @internal
    */
  }, {
    key: "filter",
    value: function filter(ranges) {
      var resultSections = [],
        resultInserted = [],
        filteredSections = [];
      var iter = new SectionIter(this);
      done: for (var _i11 = 0, pos = 0;;) {
        var next = _i11 == ranges.length ? 1e9 : ranges[_i11++];
        while (pos < next || pos == next && iter.len == 0) {
          if (iter.done) break done;
          var len = Math.min(iter.len, next - pos);
          addSection(filteredSections, len, -1);
          var ins = iter.ins == -1 ? -1 : iter.off == 0 ? iter.ins : 0;
          addSection(resultSections, len, ins);
          if (ins > 0) addInsert(resultInserted, resultSections, iter.text);
          iter.forward(len);
          pos += len;
        }
        var end = ranges[_i11++];
        while (pos < end) {
          if (iter.done) break done;
          var _len = Math.min(iter.len, end - pos);
          addSection(resultSections, _len, -1);
          addSection(filteredSections, _len, iter.ins == -1 ? -1 : iter.off == 0 ? iter.ins : 0);
          iter.forward(_len);
          pos += _len;
        }
      }
      return {
        changes: new ChangeSet(resultSections, resultInserted),
        filtered: ChangeDesc.create(filteredSections)
      };
    }
    /**
    Serialize this change set to a JSON-representable value.
    */
  }, {
    key: "toJSON",
    value: function toJSON() {
      var parts = [];
      for (var _i12 = 0; _i12 < this.sections.length; _i12 += 2) {
        var len = this.sections[_i12],
          ins = this.sections[_i12 + 1];
        if (ins < 0) parts.push(len);else if (ins == 0) parts.push([len]);else parts.push([len].concat(this.inserted[_i12 >> 1].toJSON()));
      }
      return parts;
    }
    /**
    Create a change set for the given changes, for a document of the
    given length, using `lineSep` as line separator.
    */
  }], [{
    key: "of",
    value: function of(changes, length, lineSep) {
      var sections = [],
        inserted = [],
        pos = 0;
      var total = null;
      function flush() {
        var force = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
        if (!force && !sections.length) return;
        if (pos < length) addSection(sections, length - pos, -1);
        var set = new ChangeSet(sections, inserted);
        total = total ? total.compose(set.map(total)) : set;
        sections = [];
        inserted = [];
        pos = 0;
      }
      function process(spec) {
        if (Array.isArray(spec)) {
          var _iterator10 = _createForOfIteratorHelper(spec),
            _step10;
          try {
            for (_iterator10.s(); !(_step10 = _iterator10.n()).done;) {
              var sub = _step10.value;
              process(sub);
            }
          } catch (err) {
            _iterator10.e(err);
          } finally {
            _iterator10.f();
          }
        } else if (spec instanceof ChangeSet) {
          if (spec.length != length) throw new RangeError("Mismatched change set length (got ".concat(spec.length, ", expected ").concat(length, ")"));
          flush();
          total = total ? total.compose(spec.map(total)) : spec;
        } else {
          var from = spec.from,
            _spec$to = spec.to,
            to = _spec$to === void 0 ? from : _spec$to,
            _insert = spec.insert;
          if (from > to || from < 0 || to > length) throw new RangeError("Invalid change range ".concat(from, " to ").concat(to, " (in doc of length ").concat(length, ")"));
          var insText = !_insert ? Text.empty : typeof _insert == "string" ? Text.of(_insert.split(lineSep || DefaultSplit)) : _insert;
          var insLen = insText.length;
          if (from == to && insLen == 0) return;
          if (from < pos) flush();
          if (from > pos) addSection(sections, from - pos, -1);
          addSection(sections, to - from, insLen);
          addInsert(inserted, sections, insText);
          pos = to;
        }
      }
      process(changes);
      flush(!total);
      return total;
    }
    /**
    Create an empty changeset of the given length.
    */
  }, {
    key: "empty",
    value: function empty(length) {
      return new ChangeSet(length ? [length, -1] : [], []);
    }
    /**
    Create a changeset from its JSON representation (as produced by
    [`toJSON`](https://codemirror.net/6/docs/ref/#state.ChangeSet.toJSON).
    */
  }, {
    key: "fromJSON",
    value: function fromJSON(json) {
      if (!Array.isArray(json)) throw new RangeError("Invalid JSON representation of ChangeSet");
      var sections = [],
        inserted = [];
      for (var _i13 = 0; _i13 < json.length; _i13++) {
        var part = json[_i13];
        if (typeof part == "number") {
          sections.push(part, -1);
        } else if (!Array.isArray(part) || typeof part[0] != "number" || part.some(function (e, i) {
          return i && typeof e != "string";
        })) {
          throw new RangeError("Invalid JSON representation of ChangeSet");
        } else if (part.length == 1) {
          sections.push(part[0], 0);
        } else {
          while (inserted.length < _i13) inserted.push(Text.empty);
          inserted[_i13] = Text.of(part.slice(1));
          sections.push(part[0], inserted[_i13].length);
        }
      }
      return new ChangeSet(sections, inserted);
    }
    /**
    @internal
    */
  }, {
    key: "createSet",
    value: function createSet(sections, inserted) {
      return new ChangeSet(sections, inserted);
    }
  }]);
}(ChangeDesc);
function addSection(sections, len, ins) {
  var forceJoin = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
  if (len == 0 && ins <= 0) return;
  var last = sections.length - 2;
  if (last >= 0 && ins <= 0 && ins == sections[last + 1]) sections[last] += len;else if (len == 0 && sections[last] == 0) sections[last + 1] += ins;else if (forceJoin) {
    sections[last] += len;
    sections[last + 1] += ins;
  } else sections.push(len, ins);
}
function addInsert(values, sections, value) {
  if (value.length == 0) return;
  var index = sections.length - 2 >> 1;
  if (index < values.length) {
    values[values.length - 1] = values[values.length - 1].append(value);
  } else {
    while (values.length < index) values.push(Text.empty);
    values.push(value);
  }
}
function _iterChanges(desc, f, individual) {
  var inserted = desc.inserted;
  for (var posA = 0, posB = 0, _i14 = 0; _i14 < desc.sections.length;) {
    var len = desc.sections[_i14++],
      ins = desc.sections[_i14++];
    if (ins < 0) {
      posA += len;
      posB += len;
    } else {
      var endA = posA,
        endB = posB,
        _text = Text.empty;
      for (;;) {
        endA += len;
        endB += ins;
        if (ins && inserted) _text = _text.append(inserted[_i14 - 2 >> 1]);
        if (individual || _i14 == desc.sections.length || desc.sections[_i14 + 1] < 0) break;
        len = desc.sections[_i14++];
        ins = desc.sections[_i14++];
      }
      f(posA, endA, posB, endB, _text);
      posA = endA;
      posB = endB;
    }
  }
}
function mapSet(setA, setB, before) {
  var mkSet = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
  // Produce a copy of setA that applies to the document after setB
  // has been applied (assuming both start at the same document).
  var sections = [],
    insert = mkSet ? [] : null;
  var a = new SectionIter(setA),
    b = new SectionIter(setB);
  // Iterate over both sets in parallel. inserted tracks, for changes
  // in A that have to be processed piece-by-piece, whether their
  // content has been inserted already, and refers to the section
  // index.
  for (var inserted = -1;;) {
    if (a.ins == -1 && b.ins == -1) {
      // Move across ranges skipped by both sets.
      var len = Math.min(a.len, b.len);
      addSection(sections, len, -1);
      a.forward(len);
      b.forward(len);
    } else if (b.ins >= 0 && (a.ins < 0 || inserted == a.i || a.off == 0 && (b.len < a.len || b.len == a.len && !before))) {
      // If there's a change in B that comes before the next change in
      // A (ordered by start pos, then len, then before flag), skip
      // that (and process any changes in A it covers).
      var _len2 = b.len;
      addSection(sections, b.ins, -1);
      while (_len2) {
        var piece = Math.min(a.len, _len2);
        if (a.ins >= 0 && inserted < a.i && a.len <= piece) {
          addSection(sections, 0, a.ins);
          if (insert) addInsert(insert, sections, a.text);
          inserted = a.i;
        }
        a.forward(piece);
        _len2 -= piece;
      }
      b.next();
    } else if (a.ins >= 0) {
      // Process the part of a change in A up to the start of the next
      // non-deletion change in B (if overlapping).
      var _len3 = 0,
        left = a.len;
      while (left) {
        if (b.ins == -1) {
          var _piece = Math.min(left, b.len);
          _len3 += _piece;
          left -= _piece;
          b.forward(_piece);
        } else if (b.ins == 0 && b.len < left) {
          left -= b.len;
          b.next();
        } else {
          break;
        }
      }
      addSection(sections, _len3, inserted < a.i ? a.ins : 0);
      if (insert && inserted < a.i) addInsert(insert, sections, a.text);
      inserted = a.i;
      a.forward(a.len - left);
    } else if (a.done && b.done) {
      return insert ? ChangeSet.createSet(sections, insert) : ChangeDesc.create(sections);
    } else {
      throw new Error("Mismatched change set lengths");
    }
  }
}
function composeSets(setA, setB) {
  var mkSet = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
  var sections = [];
  var insert = mkSet ? [] : null;
  var a = new SectionIter(setA),
    b = new SectionIter(setB);
  for (var open = false;;) {
    if (a.done && b.done) {
      return insert ? ChangeSet.createSet(sections, insert) : ChangeDesc.create(sections);
    } else if (a.ins == 0) {
      // Deletion in A
      addSection(sections, a.len, 0, open);
      a.next();
    } else if (b.len == 0 && !b.done) {
      // Insertion in B
      addSection(sections, 0, b.ins, open);
      if (insert) addInsert(insert, sections, b.text);
      b.next();
    } else if (a.done || b.done) {
      throw new Error("Mismatched change set lengths");
    } else {
      var len = Math.min(a.len2, b.len),
        sectionLen = sections.length;
      if (a.ins == -1) {
        var insB = b.ins == -1 ? -1 : b.off ? 0 : b.ins;
        addSection(sections, len, insB, open);
        if (insert && insB) addInsert(insert, sections, b.text);
      } else if (b.ins == -1) {
        addSection(sections, a.off ? 0 : a.len, len, open);
        if (insert) addInsert(insert, sections, a.textBit(len));
      } else {
        addSection(sections, a.off ? 0 : a.len, b.off ? 0 : b.ins, open);
        if (insert && !b.off) addInsert(insert, sections, b.text);
      }
      open = (a.ins > len || b.ins >= 0 && b.len > len) && (open || sections.length > sectionLen);
      a.forward2(len);
      b.forward(len);
    }
  }
}
var SectionIter = /*#__PURE__*/function () {
  function SectionIter(set) {
    _classCallCheck(this, SectionIter);
    this.set = set;
    this.i = 0;
    this.next();
  }
  return _createClass(SectionIter, [{
    key: "next",
    value: function next() {
      var sections = this.set.sections;
      if (this.i < sections.length) {
        this.len = sections[this.i++];
        this.ins = sections[this.i++];
      } else {
        this.len = 0;
        this.ins = -2;
      }
      this.off = 0;
    }
  }, {
    key: "done",
    get: function get() {
      return this.ins == -2;
    }
  }, {
    key: "len2",
    get: function get() {
      return this.ins < 0 ? this.len : this.ins;
    }
  }, {
    key: "text",
    get: function get() {
      var inserted = this.set.inserted,
        index = this.i - 2 >> 1;
      return index >= inserted.length ? Text.empty : inserted[index];
    }
  }, {
    key: "textBit",
    value: function textBit(len) {
      var inserted = this.set.inserted,
        index = this.i - 2 >> 1;
      return index >= inserted.length && !len ? Text.empty : inserted[index].slice(this.off, len == null ? undefined : this.off + len);
    }
  }, {
    key: "forward",
    value: function forward(len) {
      if (len == this.len) this.next();else {
        this.len -= len;
        this.off += len;
      }
    }
  }, {
    key: "forward2",
    value: function forward2(len) {
      if (this.ins == -1) this.forward(len);else if (len == this.ins) this.next();else {
        this.ins -= len;
        this.off += len;
      }
    }
  }]);
}();
/**
A single selection range. When
[`allowMultipleSelections`](https://codemirror.net/6/docs/ref/#state.EditorState^allowMultipleSelections)
is enabled, a [selection](https://codemirror.net/6/docs/ref/#state.EditorSelection) may hold
multiple ranges. By default, selections hold exactly one range.
*/
var SelectionRange = exports.SelectionRange = /*#__PURE__*/function () {
  function SelectionRange(
  /**
  The lower boundary of the range.
  */
  from,
  /**
  The upper boundary of the range.
  */
  to, flags) {
    _classCallCheck(this, SelectionRange);
    this.from = from;
    this.to = to;
    this.flags = flags;
  }
  /**
  The anchor of the range—the side that doesn't move when you
  extend it.
  */
  return _createClass(SelectionRange, [{
    key: "anchor",
    get: function get() {
      return this.flags & 32 /* RangeFlag.Inverted */ ? this.to : this.from;
    }
    /**
    The head of the range, which is moved when the range is
    [extended](https://codemirror.net/6/docs/ref/#state.SelectionRange.extend).
    */
  }, {
    key: "head",
    get: function get() {
      return this.flags & 32 /* RangeFlag.Inverted */ ? this.from : this.to;
    }
    /**
    True when `anchor` and `head` are at the same position.
    */
  }, {
    key: "empty",
    get: function get() {
      return this.from == this.to;
    }
    /**
    If this is a cursor that is explicitly associated with the
    character on one of its sides, this returns the side. -1 means
    the character before its position, 1 the character after, and 0
    means no association.
    */
  }, {
    key: "assoc",
    get: function get() {
      return this.flags & 8 /* RangeFlag.AssocBefore */ ? -1 : this.flags & 16 /* RangeFlag.AssocAfter */ ? 1 : 0;
    }
    /**
    The bidirectional text level associated with this cursor, if
    any.
    */
  }, {
    key: "bidiLevel",
    get: function get() {
      var level = this.flags & 7 /* RangeFlag.BidiLevelMask */;
      return level == 7 ? null : level;
    }
    /**
    The goal column (stored vertical offset) associated with a
    cursor. This is used to preserve the vertical position when
    [moving](https://codemirror.net/6/docs/ref/#view.EditorView.moveVertically) across
    lines of different length.
    */
  }, {
    key: "goalColumn",
    get: function get() {
      var value = this.flags >> 6 /* RangeFlag.GoalColumnOffset */;
      return value == 16777215 /* RangeFlag.NoGoalColumn */ ? undefined : value;
    }
    /**
    Map this range through a change, producing a valid range in the
    updated document.
    */
  }, {
    key: "map",
    value: function map(change) {
      var assoc = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : -1;
      var from, to;
      if (this.empty) {
        from = to = change.mapPos(this.from, assoc);
      } else {
        from = change.mapPos(this.from, 1);
        to = change.mapPos(this.to, -1);
      }
      return from == this.from && to == this.to ? this : new SelectionRange(from, to, this.flags);
    }
    /**
    Extend this range to cover at least `from` to `to`.
    */
  }, {
    key: "extend",
    value: function extend(from) {
      var to = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : from;
      if (from <= this.anchor && to >= this.anchor) return EditorSelection.range(from, to);
      var head = Math.abs(from - this.anchor) > Math.abs(to - this.anchor) ? from : to;
      return EditorSelection.range(this.anchor, head);
    }
    /**
    Compare this range to another range.
    */
  }, {
    key: "eq",
    value: function eq(other) {
      var includeAssoc = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
      return this.anchor == other.anchor && this.head == other.head && (!includeAssoc || !this.empty || this.assoc == other.assoc);
    }
    /**
    Return a JSON-serializable object representing the range.
    */
  }, {
    key: "toJSON",
    value: function toJSON() {
      return {
        anchor: this.anchor,
        head: this.head
      };
    }
    /**
    Convert a JSON representation of a range to a `SelectionRange`
    instance.
    */
  }], [{
    key: "fromJSON",
    value: function fromJSON(json) {
      if (!json || typeof json.anchor != "number" || typeof json.head != "number") throw new RangeError("Invalid JSON representation for SelectionRange");
      return EditorSelection.range(json.anchor, json.head);
    }
    /**
    @internal
    */
  }, {
    key: "create",
    value: function create(from, to, flags) {
      return new SelectionRange(from, to, flags);
    }
  }]);
}();
/**
An editor selection holds one or more selection ranges.
*/
var EditorSelection = exports.EditorSelection = /*#__PURE__*/function () {
  function EditorSelection(
  /**
  The ranges in the selection, sorted by position. Ranges cannot
  overlap (but they may touch, if they aren't empty).
  */
  ranges,
  /**
  The index of the _main_ range in the selection (which is
  usually the range that was added last).
  */
  mainIndex) {
    _classCallCheck(this, EditorSelection);
    this.ranges = ranges;
    this.mainIndex = mainIndex;
  }
  /**
  Map a selection through a change. Used to adjust the selection
  position for changes.
  */
  return _createClass(EditorSelection, [{
    key: "map",
    value: function map(change) {
      var assoc = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : -1;
      if (change.empty) return this;
      return EditorSelection.create(this.ranges.map(function (r) {
        return r.map(change, assoc);
      }), this.mainIndex);
    }
    /**
    Compare this selection to another selection. By default, ranges
    are compared only by position. When `includeAssoc` is true,
    cursor ranges must also have the same
    [`assoc`](https://codemirror.net/6/docs/ref/#state.SelectionRange.assoc) value.
    */
  }, {
    key: "eq",
    value: function eq(other) {
      var includeAssoc = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
      if (this.ranges.length != other.ranges.length || this.mainIndex != other.mainIndex) return false;
      for (var _i15 = 0; _i15 < this.ranges.length; _i15++) if (!this.ranges[_i15].eq(other.ranges[_i15], includeAssoc)) return false;
      return true;
    }
    /**
    Get the primary selection range. Usually, you should make sure
    your code applies to _all_ ranges, by using methods like
    [`changeByRange`](https://codemirror.net/6/docs/ref/#state.EditorState.changeByRange).
    */
  }, {
    key: "main",
    get: function get() {
      return this.ranges[this.mainIndex];
    }
    /**
    Make sure the selection only has one range. Returns a selection
    holding only the main range from this selection.
    */
  }, {
    key: "asSingle",
    value: function asSingle() {
      return this.ranges.length == 1 ? this : new EditorSelection([this.main], 0);
    }
    /**
    Extend this selection with an extra range.
    */
  }, {
    key: "addRange",
    value: function addRange(range) {
      var main = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
      return EditorSelection.create([range].concat(this.ranges), main ? 0 : this.mainIndex + 1);
    }
    /**
    Replace a given range with another range, and then normalize the
    selection to merge and sort ranges if necessary.
    */
  }, {
    key: "replaceRange",
    value: function replaceRange(range) {
      var which = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.mainIndex;
      var ranges = this.ranges.slice();
      ranges[which] = range;
      return EditorSelection.create(ranges, this.mainIndex);
    }
    /**
    Convert this selection to an object that can be serialized to
    JSON.
    */
  }, {
    key: "toJSON",
    value: function toJSON() {
      return {
        ranges: this.ranges.map(function (r) {
          return r.toJSON();
        }),
        main: this.mainIndex
      };
    }
    /**
    Create a selection from a JSON representation.
    */
  }], [{
    key: "fromJSON",
    value: function fromJSON(json) {
      if (!json || !Array.isArray(json.ranges) || typeof json.main != "number" || json.main >= json.ranges.length) throw new RangeError("Invalid JSON representation for EditorSelection");
      return new EditorSelection(json.ranges.map(function (r) {
        return SelectionRange.fromJSON(r);
      }), json.main);
    }
    /**
    Create a selection holding a single range.
    */
  }, {
    key: "single",
    value: function single(anchor) {
      var head = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : anchor;
      return new EditorSelection([EditorSelection.range(anchor, head)], 0);
    }
    /**
    Sort and merge the given set of ranges, creating a valid
    selection.
    */
  }, {
    key: "create",
    value: function create(ranges) {
      var mainIndex = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
      if (ranges.length == 0) throw new RangeError("A selection needs at least one range");
      for (var pos = 0, _i16 = 0; _i16 < ranges.length; _i16++) {
        var range = ranges[_i16];
        if (range.empty ? range.from <= pos : range.from < pos) return EditorSelection.normalized(ranges.slice(), mainIndex);
        pos = range.to;
      }
      return new EditorSelection(ranges, mainIndex);
    }
    /**
    Create a cursor selection range at the given position. You can
    safely ignore the optional arguments in most situations.
    */
  }, {
    key: "cursor",
    value: function cursor(pos) {
      var assoc = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
      var bidiLevel = arguments.length > 2 ? arguments[2] : undefined;
      var goalColumn = arguments.length > 3 ? arguments[3] : undefined;
      return SelectionRange.create(pos, pos, (assoc == 0 ? 0 : assoc < 0 ? 8 /* RangeFlag.AssocBefore */ : 16 /* RangeFlag.AssocAfter */) | (bidiLevel == null ? 7 : Math.min(6, bidiLevel)) | (goalColumn !== null && goalColumn !== void 0 ? goalColumn : 16777215 /* RangeFlag.NoGoalColumn */) << 6 /* RangeFlag.GoalColumnOffset */);
    }
    /**
    Create a selection range.
    */
  }, {
    key: "range",
    value: function range(anchor, head, goalColumn, bidiLevel) {
      var flags = (goalColumn !== null && goalColumn !== void 0 ? goalColumn : 16777215 /* RangeFlag.NoGoalColumn */) << 6 /* RangeFlag.GoalColumnOffset */ | (bidiLevel == null ? 7 : Math.min(6, bidiLevel));
      return head < anchor ? SelectionRange.create(head, anchor, 32 /* RangeFlag.Inverted */ | 16 /* RangeFlag.AssocAfter */ | flags) : SelectionRange.create(anchor, head, (head > anchor ? 8 /* RangeFlag.AssocBefore */ : 0) | flags);
    }
    /**
    @internal
    */
  }, {
    key: "normalized",
    value: function normalized(ranges) {
      var mainIndex = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
      var main = ranges[mainIndex];
      ranges.sort(function (a, b) {
        return a.from - b.from;
      });
      mainIndex = ranges.indexOf(main);
      for (var _i17 = 1; _i17 < ranges.length; _i17++) {
        var range = ranges[_i17],
          prev = ranges[_i17 - 1];
        if (range.empty ? range.from <= prev.to : range.from < prev.to) {
          var from = prev.from,
            to = Math.max(range.to, prev.to);
          if (_i17 <= mainIndex) mainIndex--;
          ranges.splice(--_i17, 2, range.anchor > range.head ? EditorSelection.range(to, from) : EditorSelection.range(from, to));
        }
      }
      return new EditorSelection(ranges, mainIndex);
    }
  }]);
}();
function checkSelection(selection, docLength) {
  var _iterator11 = _createForOfIteratorHelper(selection.ranges),
    _step11;
  try {
    for (_iterator11.s(); !(_step11 = _iterator11.n()).done;) {
      var range = _step11.value;
      if (range.to > docLength) throw new RangeError("Selection points outside of document");
    }
  } catch (err) {
    _iterator11.e(err);
  } finally {
    _iterator11.f();
  }
}
var nextID = 0;
/**
A facet is a labeled value that is associated with an editor
state. It takes inputs from any number of extensions, and combines
those into a single output value.

Examples of uses of facets are the [tab
size](https://codemirror.net/6/docs/ref/#state.EditorState^tabSize), [editor
attributes](https://codemirror.net/6/docs/ref/#view.EditorView^editorAttributes), and [update
listeners](https://codemirror.net/6/docs/ref/#view.EditorView^updateListener).

Note that `Facet` instances can be used anywhere where
[`FacetReader`](https://codemirror.net/6/docs/ref/#state.FacetReader) is expected.
*/
var Facet = exports.Facet = /*#__PURE__*/function () {
  function Facet(
  /**
  @internal
  */
  combine,
  /**
  @internal
  */
  compareInput,
  /**
  @internal
  */
  compare, isStatic, enables) {
    _classCallCheck(this, Facet);
    this.combine = combine;
    this.compareInput = compareInput;
    this.compare = compare;
    this.isStatic = isStatic;
    /**
    @internal
    */
    this.id = nextID++;
    this["default"] = combine([]);
    this.extensions = typeof enables == "function" ? enables(this) : enables;
  }
  /**
  Returns a facet reader for this facet, which can be used to
  [read](https://codemirror.net/6/docs/ref/#state.EditorState.facet) it but not to define values for it.
  */
  return _createClass(Facet, [{
    key: "reader",
    get: function get() {
      return this;
    }
    /**
    Define a new facet.
    */
  }, {
    key: "of",
    value:
    /**
    Returns an extension that adds the given value to this facet.
    */
    function of(value) {
      return new FacetProvider([], this, 0 /* Provider.Static */, value);
    }
    /**
    Create an extension that computes a value for the facet from a
    state. You must take care to declare the parts of the state that
    this value depends on, since your function is only called again
    for a new state when one of those parts changed.
    
    In cases where your value depends only on a single field, you'll
    want to use the [`from`](https://codemirror.net/6/docs/ref/#state.Facet.from) method instead.
    */
  }, {
    key: "compute",
    value: function compute(deps, get) {
      if (this.isStatic) throw new Error("Can't compute a static facet");
      return new FacetProvider(deps, this, 1 /* Provider.Single */, get);
    }
    /**
    Create an extension that computes zero or more values for this
    facet from a state.
    */
  }, {
    key: "computeN",
    value: function computeN(deps, get) {
      if (this.isStatic) throw new Error("Can't compute a static facet");
      return new FacetProvider(deps, this, 2 /* Provider.Multi */, get);
    }
  }, {
    key: "from",
    value: function from(field, get) {
      if (!get) get = function get(x) {
        return x;
      };
      return this.compute([field], function (state) {
        return get(state.field(field));
      });
    }
  }], [{
    key: "define",
    value: function define() {
      var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
      return new Facet(config.combine || function (a) {
        return a;
      }, config.compareInput || function (a, b) {
        return a === b;
      }, config.compare || (!config.combine ? sameArray : function (a, b) {
        return a === b;
      }), !!config["static"], config.enables);
    }
  }]);
}();
function sameArray(a, b) {
  return a == b || a.length == b.length && a.every(function (e, i) {
    return e === b[i];
  });
}
var FacetProvider = /*#__PURE__*/function () {
  function FacetProvider(dependencies, facet, type, value) {
    _classCallCheck(this, FacetProvider);
    this.dependencies = dependencies;
    this.facet = facet;
    this.type = type;
    this.value = value;
    this.id = nextID++;
  }
  return _createClass(FacetProvider, [{
    key: "dynamicSlot",
    value: function dynamicSlot(addresses) {
      var _this4 = this;
      var _a;
      var getter = this.value;
      var compare = this.facet.compareInput;
      var id = this.id,
        idx = addresses[id] >> 1,
        multi = this.type == 2 /* Provider.Multi */;
      var depDoc = false,
        depSel = false,
        depAddrs = [];
      var _iterator12 = _createForOfIteratorHelper(this.dependencies),
        _step12;
      try {
        for (_iterator12.s(); !(_step12 = _iterator12.n()).done;) {
          var dep = _step12.value;
          if (dep == "doc") depDoc = true;else if (dep == "selection") depSel = true;else if ((((_a = addresses[dep.id]) !== null && _a !== void 0 ? _a : 1) & 1) == 0) depAddrs.push(addresses[dep.id]);
        }
      } catch (err) {
        _iterator12.e(err);
      } finally {
        _iterator12.f();
      }
      return {
        create: function create(state) {
          state.values[idx] = getter(state);
          return 1 /* SlotStatus.Changed */;
        },
        update: function update(state, tr) {
          if (depDoc && tr.docChanged || depSel && (tr.docChanged || tr.selection) || ensureAll(state, depAddrs)) {
            var newVal = getter(state);
            if (multi ? !compareArray(newVal, state.values[idx], compare) : !compare(newVal, state.values[idx])) {
              state.values[idx] = newVal;
              return 1 /* SlotStatus.Changed */;
            }
          }
          return 0;
        },
        reconfigure: function reconfigure(state, oldState) {
          var newVal,
            oldAddr = oldState.config.address[id];
          if (oldAddr != null) {
            var oldVal = getAddr(oldState, oldAddr);
            if (_this4.dependencies.every(function (dep) {
              return dep instanceof Facet ? oldState.facet(dep) === state.facet(dep) : dep instanceof StateField ? oldState.field(dep, false) == state.field(dep, false) : true;
            }) || (multi ? compareArray(newVal = getter(state), oldVal, compare) : compare(newVal = getter(state), oldVal))) {
              state.values[idx] = oldVal;
              return 0;
            }
          } else {
            newVal = getter(state);
          }
          state.values[idx] = newVal;
          return 1 /* SlotStatus.Changed */;
        }
      };
    }
  }]);
}();
function compareArray(a, b, compare) {
  if (a.length != b.length) return false;
  for (var _i18 = 0; _i18 < a.length; _i18++) if (!compare(a[_i18], b[_i18])) return false;
  return true;
}
function ensureAll(state, addrs) {
  var changed = false;
  var _iterator13 = _createForOfIteratorHelper(addrs),
    _step13;
  try {
    for (_iterator13.s(); !(_step13 = _iterator13.n()).done;) {
      var addr = _step13.value;
      if (ensureAddr(state, addr) & 1 /* SlotStatus.Changed */) changed = true;
    }
  } catch (err) {
    _iterator13.e(err);
  } finally {
    _iterator13.f();
  }
  return changed;
}
function dynamicFacetSlot(addresses, facet, providers) {
  var providerAddrs = providers.map(function (p) {
    return addresses[p.id];
  });
  var providerTypes = providers.map(function (p) {
    return p.type;
  });
  var dynamic = providerAddrs.filter(function (p) {
    return !(p & 1);
  });
  var idx = addresses[facet.id] >> 1;
  function get(state) {
    var values = [];
    for (var _i19 = 0; _i19 < providerAddrs.length; _i19++) {
      var value = getAddr(state, providerAddrs[_i19]);
      if (providerTypes[_i19] == 2 /* Provider.Multi */) {
        var _iterator14 = _createForOfIteratorHelper(value),
          _step14;
        try {
          for (_iterator14.s(); !(_step14 = _iterator14.n()).done;) {
            var val = _step14.value;
            values.push(val);
          }
        } catch (err) {
          _iterator14.e(err);
        } finally {
          _iterator14.f();
        }
      } else values.push(value);
    }
    return facet.combine(values);
  }
  return {
    create: function create(state) {
      var _iterator15 = _createForOfIteratorHelper(providerAddrs),
        _step15;
      try {
        for (_iterator15.s(); !(_step15 = _iterator15.n()).done;) {
          var addr = _step15.value;
          ensureAddr(state, addr);
        }
      } catch (err) {
        _iterator15.e(err);
      } finally {
        _iterator15.f();
      }
      state.values[idx] = get(state);
      return 1 /* SlotStatus.Changed */;
    },
    update: function update(state, tr) {
      if (!ensureAll(state, dynamic)) return 0;
      var value = get(state);
      if (facet.compare(value, state.values[idx])) return 0;
      state.values[idx] = value;
      return 1 /* SlotStatus.Changed */;
    },
    reconfigure: function reconfigure(state, oldState) {
      var depChanged = ensureAll(state, providerAddrs);
      var oldProviders = oldState.config.facets[facet.id],
        oldValue = oldState.facet(facet);
      if (oldProviders && !depChanged && sameArray(providers, oldProviders)) {
        state.values[idx] = oldValue;
        return 0;
      }
      var value = get(state);
      if (facet.compare(value, oldValue)) {
        state.values[idx] = oldValue;
        return 0;
      }
      state.values[idx] = value;
      return 1 /* SlotStatus.Changed */;
    }
  };
}
var initField = /*@__PURE__*/Facet.define({
  "static": true
});
/**
Fields can store additional information in an editor state, and
keep it in sync with the rest of the state.
*/
var StateField = exports.StateField = /*#__PURE__*/function () {
  function StateField(
  /**
  @internal
  */
  id, createF, updateF, compareF,
  /**
  @internal
  */
  spec) {
    _classCallCheck(this, StateField);
    this.id = id;
    this.createF = createF;
    this.updateF = updateF;
    this.compareF = compareF;
    this.spec = spec;
    /**
    @internal
    */
    this.provides = undefined;
  }
  /**
  Define a state field.
  */
  return _createClass(StateField, [{
    key: "create",
    value: function create(state) {
      var _this5 = this;
      var init = state.facet(initField).find(function (i) {
        return i.field == _this5;
      });
      return ((init === null || init === void 0 ? void 0 : init.create) || this.createF)(state);
    }
    /**
    @internal
    */
  }, {
    key: "slot",
    value: function slot(addresses) {
      var _this6 = this;
      var idx = addresses[this.id] >> 1;
      return {
        create: function create(state) {
          state.values[idx] = _this6.create(state);
          return 1 /* SlotStatus.Changed */;
        },
        update: function update(state, tr) {
          var oldVal = state.values[idx];
          var value = _this6.updateF(oldVal, tr);
          if (_this6.compareF(oldVal, value)) return 0;
          state.values[idx] = value;
          return 1 /* SlotStatus.Changed */;
        },
        reconfigure: function reconfigure(state, oldState) {
          if (oldState.config.address[_this6.id] != null) {
            state.values[idx] = oldState.field(_this6);
            return 0;
          }
          state.values[idx] = _this6.create(state);
          return 1 /* SlotStatus.Changed */;
        }
      };
    }
    /**
    Returns an extension that enables this field and overrides the
    way it is initialized. Can be useful when you need to provide a
    non-default starting value for the field.
    */
  }, {
    key: "init",
    value: function init(create) {
      return [this, initField.of({
        field: this,
        create: create
      })];
    }
    /**
    State field instances can be used as
    [`Extension`](https://codemirror.net/6/docs/ref/#state.Extension) values to enable the field in a
    given state.
    */
  }, {
    key: "extension",
    get: function get() {
      return this;
    }
  }], [{
    key: "define",
    value: function define(config) {
      var field = new StateField(nextID++, config.create, config.update, config.compare || function (a, b) {
        return a === b;
      }, config);
      if (config.provide) field.provides = config.provide(field);
      return field;
    }
  }]);
}();
var Prec_ = {
  lowest: 4,
  low: 3,
  "default": 2,
  high: 1,
  highest: 0
};
function prec(value) {
  return function (ext) {
    return new PrecExtension(ext, value);
  };
}
/**
By default extensions are registered in the order they are found
in the flattened form of nested array that was provided.
Individual extension values can be assigned a precedence to
override this. Extensions that do not have a precedence set get
the precedence of the nearest parent with a precedence, or
[`default`](https://codemirror.net/6/docs/ref/#state.Prec.default) if there is no such parent. The
final ordering of extensions is determined by first sorting by
precedence and then by order within each precedence.
*/
var Prec = exports.Prec = {
  /**
  The highest precedence level, for extensions that should end up
  near the start of the precedence ordering.
  */
  highest: /*@__PURE__*/prec(Prec_.highest),
  /**
  A higher-than-default precedence, for extensions that should
  come before those with default precedence.
  */
  high: /*@__PURE__*/prec(Prec_.high),
  /**
  The default precedence, which is also used for extensions
  without an explicit precedence.
  */
  "default": /*@__PURE__*/prec(Prec_["default"]),
  /**
  A lower-than-default precedence.
  */
  low: /*@__PURE__*/prec(Prec_.low),
  /**
  The lowest precedence level. Meant for things that should end up
  near the end of the extension order.
  */
  lowest: /*@__PURE__*/prec(Prec_.lowest)
};
var PrecExtension = /*#__PURE__*/_createClass(function PrecExtension(inner, prec) {
  _classCallCheck(this, PrecExtension);
  this.inner = inner;
  this.prec = prec;
});
/**
Extension compartments can be used to make a configuration
dynamic. By [wrapping](https://codemirror.net/6/docs/ref/#state.Compartment.of) part of your
configuration in a compartment, you can later
[replace](https://codemirror.net/6/docs/ref/#state.Compartment.reconfigure) that part through a
transaction.
*/
var Compartment = exports.Compartment = /*#__PURE__*/function () {
  function Compartment() {
    _classCallCheck(this, Compartment);
  }
  return _createClass(Compartment, [{
    key: "of",
    value:
    /**
    Create an instance of this compartment to add to your [state
    configuration](https://codemirror.net/6/docs/ref/#state.EditorStateConfig.extensions).
    */
    function of(ext) {
      return new CompartmentInstance(this, ext);
    }
    /**
    Create an [effect](https://codemirror.net/6/docs/ref/#state.TransactionSpec.effects) that
    reconfigures this compartment.
    */
  }, {
    key: "reconfigure",
    value: function reconfigure(content) {
      return Compartment.reconfigure.of({
        compartment: this,
        extension: content
      });
    }
    /**
    Get the current content of the compartment in the state, or
    `undefined` if it isn't present.
    */
  }, {
    key: "get",
    value: function get(state) {
      return state.config.compartments.get(this);
    }
  }]);
}();
var CompartmentInstance = /*#__PURE__*/_createClass(function CompartmentInstance(compartment, inner) {
  _classCallCheck(this, CompartmentInstance);
  this.compartment = compartment;
  this.inner = inner;
});
var Configuration = /*#__PURE__*/function () {
  function Configuration(base, compartments, dynamicSlots, address, staticValues, facets) {
    _classCallCheck(this, Configuration);
    this.base = base;
    this.compartments = compartments;
    this.dynamicSlots = dynamicSlots;
    this.address = address;
    this.staticValues = staticValues;
    this.facets = facets;
    this.statusTemplate = [];
    while (this.statusTemplate.length < dynamicSlots.length) this.statusTemplate.push(0 /* SlotStatus.Unresolved */);
  }
  return _createClass(Configuration, [{
    key: "staticFacet",
    value: function staticFacet(facet) {
      var addr = this.address[facet.id];
      return addr == null ? facet["default"] : this.staticValues[addr >> 1];
    }
  }], [{
    key: "resolve",
    value: function resolve(base, compartments, oldState) {
      var fields = [];
      var facets = Object.create(null);
      var newCompartments = new Map();
      var _iterator16 = _createForOfIteratorHelper(flatten(base, compartments, newCompartments)),
        _step16;
      try {
        for (_iterator16.s(); !(_step16 = _iterator16.n()).done;) {
          var ext = _step16.value;
          if (ext instanceof StateField) fields.push(ext);else (facets[ext.facet.id] || (facets[ext.facet.id] = [])).push(ext);
        }
      } catch (err) {
        _iterator16.e(err);
      } finally {
        _iterator16.f();
      }
      var address = Object.create(null);
      var staticValues = [];
      var dynamicSlots = [];
      var _loop = function _loop() {
        var field = _fields[_i20];
        address[field.id] = dynamicSlots.length << 1;
        dynamicSlots.push(function (a) {
          return field.slot(a);
        });
      };
      for (var _i20 = 0, _fields = fields; _i20 < _fields.length; _i20++) {
        _loop();
      }
      var oldFacets = oldState === null || oldState === void 0 ? void 0 : oldState.config.facets;
      var _loop2 = function _loop2() {
        var providers = facets[id],
          facet = providers[0].facet;
        var oldProviders = oldFacets && oldFacets[id] || [];
        if (providers.every(function (p) {
          return p.type == 0;
        } /* Provider.Static */)) {
          address[facet.id] = staticValues.length << 1 | 1;
          if (sameArray(oldProviders, providers)) {
            staticValues.push(oldState.facet(facet));
          } else {
            var value = facet.combine(providers.map(function (p) {
              return p.value;
            }));
            staticValues.push(oldState && facet.compare(value, oldState.facet(facet)) ? oldState.facet(facet) : value);
          }
        } else {
          var _iterator17 = _createForOfIteratorHelper(providers),
            _step17;
          try {
            var _loop3 = function _loop3() {
              var p = _step17.value;
              if (p.type == 0 /* Provider.Static */) {
                address[p.id] = staticValues.length << 1 | 1;
                staticValues.push(p.value);
              } else {
                address[p.id] = dynamicSlots.length << 1;
                dynamicSlots.push(function (a) {
                  return p.dynamicSlot(a);
                });
              }
            };
            for (_iterator17.s(); !(_step17 = _iterator17.n()).done;) {
              _loop3();
            }
          } catch (err) {
            _iterator17.e(err);
          } finally {
            _iterator17.f();
          }
          address[facet.id] = dynamicSlots.length << 1;
          dynamicSlots.push(function (a) {
            return dynamicFacetSlot(a, facet, providers);
          });
        }
      };
      for (var id in facets) {
        _loop2();
      }
      var dynamic = dynamicSlots.map(function (f) {
        return f(address);
      });
      return new Configuration(base, newCompartments, dynamic, address, staticValues, facets);
    }
  }]);
}();
function flatten(extension, compartments, newCompartments) {
  var result = [[], [], [], [], []];
  var seen = new Map();
  function inner(ext, prec) {
    var known = seen.get(ext);
    if (known != null) {
      if (known <= prec) return;
      var found = result[known].indexOf(ext);
      if (found > -1) result[known].splice(found, 1);
      if (ext instanceof CompartmentInstance) newCompartments["delete"](ext.compartment);
    }
    seen.set(ext, prec);
    if (Array.isArray(ext)) {
      var _iterator18 = _createForOfIteratorHelper(ext),
        _step18;
      try {
        for (_iterator18.s(); !(_step18 = _iterator18.n()).done;) {
          var e = _step18.value;
          inner(e, prec);
        }
      } catch (err) {
        _iterator18.e(err);
      } finally {
        _iterator18.f();
      }
    } else if (ext instanceof CompartmentInstance) {
      if (newCompartments.has(ext.compartment)) throw new RangeError("Duplicate use of compartment in extensions");
      var content = compartments.get(ext.compartment) || ext.inner;
      newCompartments.set(ext.compartment, content);
      inner(content, prec);
    } else if (ext instanceof PrecExtension) {
      inner(ext.inner, ext.prec);
    } else if (ext instanceof StateField) {
      result[prec].push(ext);
      if (ext.provides) inner(ext.provides, prec);
    } else if (ext instanceof FacetProvider) {
      result[prec].push(ext);
      if (ext.facet.extensions) inner(ext.facet.extensions, Prec_["default"]);
    } else {
      var _content = ext.extension;
      if (!_content) throw new Error("Unrecognized extension value in extension set (".concat(ext, "). This sometimes happens because multiple instances of @codemirror/state are loaded, breaking instanceof checks."));
      inner(_content, prec);
    }
  }
  inner(extension, Prec_["default"]);
  return result.reduce(function (a, b) {
    return a.concat(b);
  });
}
function ensureAddr(state, addr) {
  if (addr & 1) return 2 /* SlotStatus.Computed */;
  var idx = addr >> 1;
  var status = state.status[idx];
  if (status == 4 /* SlotStatus.Computing */) throw new Error("Cyclic dependency between fields and/or facets");
  if (status & 2 /* SlotStatus.Computed */) return status;
  state.status[idx] = 4 /* SlotStatus.Computing */;
  var changed = state.computeSlot(state, state.config.dynamicSlots[idx]);
  return state.status[idx] = 2 /* SlotStatus.Computed */ | changed;
}
function getAddr(state, addr) {
  return addr & 1 ? state.config.staticValues[addr >> 1] : state.values[addr >> 1];
}
var languageData = /*@__PURE__*/Facet.define();
var allowMultipleSelections = /*@__PURE__*/Facet.define({
  combine: function combine(values) {
    return values.some(function (v) {
      return v;
    });
  },
  "static": true
});
var lineSeparator = /*@__PURE__*/Facet.define({
  combine: function combine(values) {
    return values.length ? values[0] : undefined;
  },
  "static": true
});
var changeFilter = /*@__PURE__*/Facet.define();
var transactionFilter = /*@__PURE__*/Facet.define();
var transactionExtender = /*@__PURE__*/Facet.define();
var readOnly = /*@__PURE__*/Facet.define({
  combine: function combine(values) {
    return values.length ? values[0] : false;
  }
});

/**
Annotations are tagged values that are used to add metadata to
transactions in an extensible way. They should be used to model
things that effect the entire transaction (such as its [time
stamp](https://codemirror.net/6/docs/ref/#state.Transaction^time) or information about its
[origin](https://codemirror.net/6/docs/ref/#state.Transaction^userEvent)). For effects that happen
_alongside_ the other changes made by the transaction, [state
effects](https://codemirror.net/6/docs/ref/#state.StateEffect) are more appropriate.
*/
var Annotation = exports.Annotation = /*#__PURE__*/function () {
  /**
  @internal
  */
  function Annotation(
  /**
  The annotation type.
  */
  type,
  /**
  The value of this annotation.
  */
  value) {
    _classCallCheck(this, Annotation);
    this.type = type;
    this.value = value;
  }
  /**
  Define a new type of annotation.
  */
  return _createClass(Annotation, null, [{
    key: "define",
    value: function define() {
      return new AnnotationType();
    }
  }]);
}();
/**
Marker that identifies a type of [annotation](https://codemirror.net/6/docs/ref/#state.Annotation).
*/
var AnnotationType = exports.AnnotationType = /*#__PURE__*/function () {
  function AnnotationType() {
    _classCallCheck(this, AnnotationType);
  }
  return _createClass(AnnotationType, [{
    key: "of",
    value:
    /**
    Create an instance of this annotation.
    */
    function of(value) {
      return new Annotation(this, value);
    }
  }]);
}();
/**
Representation of a type of state effect. Defined with
[`StateEffect.define`](https://codemirror.net/6/docs/ref/#state.StateEffect^define).
*/
var StateEffectType = exports.StateEffectType = /*#__PURE__*/function () {
  /**
  @internal
  */
  function StateEffectType(
  // The `any` types in these function types are there to work
  // around TypeScript issue #37631, where the type guard on
  // `StateEffect.is` mysteriously stops working when these properly
  // have type `Value`.
  /**
  @internal
  */
  map) {
    _classCallCheck(this, StateEffectType);
    this.map = map;
  }
  /**
  Create a [state effect](https://codemirror.net/6/docs/ref/#state.StateEffect) instance of this
  type.
  */
  return _createClass(StateEffectType, [{
    key: "of",
    value: function of(value) {
      return new StateEffect(this, value);
    }
  }]);
}();
/**
State effects can be used to represent additional effects
associated with a [transaction](https://codemirror.net/6/docs/ref/#state.Transaction.effects). They
are often useful to model changes to custom [state
fields](https://codemirror.net/6/docs/ref/#state.StateField), when those changes aren't implicit in
document or selection changes.
*/
var StateEffect = exports.StateEffect = /*#__PURE__*/function () {
  /**
  @internal
  */
  function StateEffect(
  /**
  @internal
  */
  type,
  /**
  The value of this effect.
  */
  value) {
    _classCallCheck(this, StateEffect);
    this.type = type;
    this.value = value;
  }
  /**
  Map this effect through a position mapping. Will return
  `undefined` when that ends up deleting the effect.
  */
  return _createClass(StateEffect, [{
    key: "map",
    value: function map(mapping) {
      var mapped = this.type.map(this.value, mapping);
      return mapped === undefined ? undefined : mapped == this.value ? this : new StateEffect(this.type, mapped);
    }
    /**
    Tells you whether this effect object is of a given
    [type](https://codemirror.net/6/docs/ref/#state.StateEffectType).
    */
  }, {
    key: "is",
    value: function is(type) {
      return this.type == type;
    }
    /**
    Define a new effect type. The type parameter indicates the type
    of values that his effect holds. It should be a type that
    doesn't include `undefined`, since that is used in
    [mapping](https://codemirror.net/6/docs/ref/#state.StateEffect.map) to indicate that an effect is
    removed.
    */
  }], [{
    key: "define",
    value: function define() {
      var spec = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
      return new StateEffectType(spec.map || function (v) {
        return v;
      });
    }
    /**
    Map an array of effects through a change set.
    */
  }, {
    key: "mapEffects",
    value: function mapEffects(effects, mapping) {
      if (!effects.length) return effects;
      var result = [];
      var _iterator19 = _createForOfIteratorHelper(effects),
        _step19;
      try {
        for (_iterator19.s(); !(_step19 = _iterator19.n()).done;) {
          var effect = _step19.value;
          var mapped = effect.map(mapping);
          if (mapped) result.push(mapped);
        }
      } catch (err) {
        _iterator19.e(err);
      } finally {
        _iterator19.f();
      }
      return result;
    }
  }]);
}();
/**
This effect can be used to reconfigure the root extensions of
the editor. Doing this will discard any extensions
[appended](https://codemirror.net/6/docs/ref/#state.StateEffect^appendConfig), but does not reset
the content of [reconfigured](https://codemirror.net/6/docs/ref/#state.Compartment.reconfigure)
compartments.
*/
StateEffect.reconfigure = /*@__PURE__*/StateEffect.define();
/**
Append extensions to the top-level configuration of the editor.
*/
StateEffect.appendConfig = /*@__PURE__*/StateEffect.define();
/**
Changes to the editor state are grouped into transactions.
Typically, a user action creates a single transaction, which may
contain any number of document changes, may change the selection,
or have other effects. Create a transaction by calling
[`EditorState.update`](https://codemirror.net/6/docs/ref/#state.EditorState.update), or immediately
dispatch one by calling
[`EditorView.dispatch`](https://codemirror.net/6/docs/ref/#view.EditorView.dispatch).
*/
var Transaction = exports.Transaction = /*#__PURE__*/function () {
  function Transaction(
  /**
  The state from which the transaction starts.
  */
  startState,
  /**
  The document changes made by this transaction.
  */
  changes,
  /**
  The selection set by this transaction, or undefined if it
  doesn't explicitly set a selection.
  */
  selection,
  /**
  The effects added to the transaction.
  */
  effects,
  /**
  @internal
  */
  annotations,
  /**
  Whether the selection should be scrolled into view after this
  transaction is dispatched.
  */
  scrollIntoView) {
    _classCallCheck(this, Transaction);
    this.startState = startState;
    this.changes = changes;
    this.selection = selection;
    this.effects = effects;
    this.annotations = annotations;
    this.scrollIntoView = scrollIntoView;
    /**
    @internal
    */
    this._doc = null;
    /**
    @internal
    */
    this._state = null;
    if (selection) checkSelection(selection, changes.newLength);
    if (!annotations.some(function (a) {
      return a.type == Transaction.time;
    })) this.annotations = annotations.concat(Transaction.time.of(Date.now()));
  }
  /**
  @internal
  */
  return _createClass(Transaction, [{
    key: "newDoc",
    get:
    /**
    The new document produced by the transaction. Contrary to
    [`.state`](https://codemirror.net/6/docs/ref/#state.Transaction.state)`.doc`, accessing this won't
    force the entire new state to be computed right away, so it is
    recommended that [transaction
    filters](https://codemirror.net/6/docs/ref/#state.EditorState^transactionFilter) use this getter
    when they need to look at the new document.
    */
    function get() {
      return this._doc || (this._doc = this.changes.apply(this.startState.doc));
    }
    /**
    The new selection produced by the transaction. If
    [`this.selection`](https://codemirror.net/6/docs/ref/#state.Transaction.selection) is undefined,
    this will [map](https://codemirror.net/6/docs/ref/#state.EditorSelection.map) the start state's
    current selection through the changes made by the transaction.
    */
  }, {
    key: "newSelection",
    get: function get() {
      return this.selection || this.startState.selection.map(this.changes);
    }
    /**
    The new state created by the transaction. Computed on demand
    (but retained for subsequent access), so it is recommended not to
    access it in [transaction
    filters](https://codemirror.net/6/docs/ref/#state.EditorState^transactionFilter) when possible.
    */
  }, {
    key: "state",
    get: function get() {
      if (!this._state) this.startState.applyTransaction(this);
      return this._state;
    }
    /**
    Get the value of the given annotation type, if any.
    */
  }, {
    key: "annotation",
    value: function annotation(type) {
      var _iterator20 = _createForOfIteratorHelper(this.annotations),
        _step20;
      try {
        for (_iterator20.s(); !(_step20 = _iterator20.n()).done;) {
          var ann = _step20.value;
          if (ann.type == type) return ann.value;
        }
      } catch (err) {
        _iterator20.e(err);
      } finally {
        _iterator20.f();
      }
      return undefined;
    }
    /**
    Indicates whether the transaction changed the document.
    */
  }, {
    key: "docChanged",
    get: function get() {
      return !this.changes.empty;
    }
    /**
    Indicates whether this transaction reconfigures the state
    (through a [configuration compartment](https://codemirror.net/6/docs/ref/#state.Compartment) or
    with a top-level configuration
    [effect](https://codemirror.net/6/docs/ref/#state.StateEffect^reconfigure).
    */
  }, {
    key: "reconfigured",
    get: function get() {
      return this.startState.config != this.state.config;
    }
    /**
    Returns true if the transaction has a [user
    event](https://codemirror.net/6/docs/ref/#state.Transaction^userEvent) annotation that is equal to
    or more specific than `event`. For example, if the transaction
    has `"select.pointer"` as user event, `"select"` and
    `"select.pointer"` will match it.
    */
  }, {
    key: "isUserEvent",
    value: function isUserEvent(event) {
      var e = this.annotation(Transaction.userEvent);
      return !!(e && (e == event || e.length > event.length && e.slice(0, event.length) == event && e[event.length] == "."));
    }
  }], [{
    key: "create",
    value: function create(startState, changes, selection, effects, annotations, scrollIntoView) {
      return new Transaction(startState, changes, selection, effects, annotations, scrollIntoView);
    }
  }]);
}();
/**
Annotation used to store transaction timestamps. Automatically
added to every transaction, holding `Date.now()`.
*/
Transaction.time = /*@__PURE__*/Annotation.define();
/**
Annotation used to associate a transaction with a user interface
event. Holds a string identifying the event, using a
dot-separated format to support attaching more specific
information. The events used by the core libraries are:

 - `"input"` when content is entered
   - `"input.type"` for typed input
     - `"input.type.compose"` for composition
   - `"input.paste"` for pasted input
   - `"input.drop"` when adding content with drag-and-drop
   - `"input.complete"` when autocompleting
 - `"delete"` when the user deletes content
   - `"delete.selection"` when deleting the selection
   - `"delete.forward"` when deleting forward from the selection
   - `"delete.backward"` when deleting backward from the selection
   - `"delete.cut"` when cutting to the clipboard
 - `"move"` when content is moved
   - `"move.drop"` when content is moved within the editor through drag-and-drop
 - `"select"` when explicitly changing the selection
   - `"select.pointer"` when selecting with a mouse or other pointing device
 - `"undo"` and `"redo"` for history actions

Use [`isUserEvent`](https://codemirror.net/6/docs/ref/#state.Transaction.isUserEvent) to check
whether the annotation matches a given event.
*/
Transaction.userEvent = /*@__PURE__*/Annotation.define();
/**
Annotation indicating whether a transaction should be added to
the undo history or not.
*/
Transaction.addToHistory = /*@__PURE__*/Annotation.define();
/**
Annotation indicating (when present and true) that a transaction
represents a change made by some other actor, not the user. This
is used, for example, to tag other people's changes in
collaborative editing.
*/
Transaction.remote = /*@__PURE__*/Annotation.define();
function joinRanges(a, b) {
  var result = [];
  for (var iA = 0, iB = 0;;) {
    var from = void 0,
      to = void 0;
    if (iA < a.length && (iB == b.length || b[iB] >= a[iA])) {
      from = a[iA++];
      to = a[iA++];
    } else if (iB < b.length) {
      from = b[iB++];
      to = b[iB++];
    } else return result;
    if (!result.length || result[result.length - 1] < from) result.push(from, to);else if (result[result.length - 1] < to) result[result.length - 1] = to;
  }
}
function mergeTransaction(a, b, sequential) {
  var _a;
  var mapForA, mapForB, changes;
  if (sequential) {
    mapForA = b.changes;
    mapForB = ChangeSet.empty(b.changes.length);
    changes = a.changes.compose(b.changes);
  } else {
    mapForA = b.changes.map(a.changes);
    mapForB = a.changes.mapDesc(b.changes, true);
    changes = a.changes.compose(mapForA);
  }
  return {
    changes: changes,
    selection: b.selection ? b.selection.map(mapForB) : (_a = a.selection) === null || _a === void 0 ? void 0 : _a.map(mapForA),
    effects: StateEffect.mapEffects(a.effects, mapForA).concat(StateEffect.mapEffects(b.effects, mapForB)),
    annotations: a.annotations.length ? a.annotations.concat(b.annotations) : b.annotations,
    scrollIntoView: a.scrollIntoView || b.scrollIntoView
  };
}
function resolveTransactionInner(state, spec, docSize) {
  var sel = spec.selection,
    annotations = asArray(spec.annotations);
  if (spec.userEvent) annotations = annotations.concat(Transaction.userEvent.of(spec.userEvent));
  return {
    changes: spec.changes instanceof ChangeSet ? spec.changes : ChangeSet.of(spec.changes || [], docSize, state.facet(lineSeparator)),
    selection: sel && (sel instanceof EditorSelection ? sel : EditorSelection.single(sel.anchor, sel.head)),
    effects: asArray(spec.effects),
    annotations: annotations,
    scrollIntoView: !!spec.scrollIntoView
  };
}
function resolveTransaction(state, specs, filter) {
  var s = resolveTransactionInner(state, specs.length ? specs[0] : {}, state.doc.length);
  if (specs.length && specs[0].filter === false) filter = false;
  for (var _i21 = 1; _i21 < specs.length; _i21++) {
    if (specs[_i21].filter === false) filter = false;
    var seq = !!specs[_i21].sequential;
    s = mergeTransaction(s, resolveTransactionInner(state, specs[_i21], seq ? s.changes.newLength : state.doc.length), seq);
  }
  var tr = Transaction.create(state, s.changes, s.selection, s.effects, s.annotations, s.scrollIntoView);
  return extendTransaction(filter ? filterTransaction(tr) : tr);
}
// Finish a transaction by applying filters if necessary.
function filterTransaction(tr) {
  var state = tr.startState;
  // Change filters
  var result = true;
  var _iterator21 = _createForOfIteratorHelper(state.facet(changeFilter)),
    _step21;
  try {
    for (_iterator21.s(); !(_step21 = _iterator21.n()).done;) {
      var filter = _step21.value;
      var value = filter(tr);
      if (value === false) {
        result = false;
        break;
      }
      if (Array.isArray(value)) result = result === true ? value : joinRanges(result, value);
    }
  } catch (err) {
    _iterator21.e(err);
  } finally {
    _iterator21.f();
  }
  if (result !== true) {
    var changes, back;
    if (result === false) {
      back = tr.changes.invertedDesc;
      changes = ChangeSet.empty(state.doc.length);
    } else {
      var filtered = tr.changes.filter(result);
      changes = filtered.changes;
      back = filtered.filtered.mapDesc(filtered.changes).invertedDesc;
    }
    tr = Transaction.create(state, changes, tr.selection && tr.selection.map(back), StateEffect.mapEffects(tr.effects, back), tr.annotations, tr.scrollIntoView);
  }
  // Transaction filters
  var filters = state.facet(transactionFilter);
  for (var _i22 = filters.length - 1; _i22 >= 0; _i22--) {
    var _filtered = filters[_i22](tr);
    if (_filtered instanceof Transaction) tr = _filtered;else if (Array.isArray(_filtered) && _filtered.length == 1 && _filtered[0] instanceof Transaction) tr = _filtered[0];else tr = resolveTransaction(state, asArray(_filtered), false);
  }
  return tr;
}
function extendTransaction(tr) {
  var state = tr.startState,
    extenders = state.facet(transactionExtender),
    spec = tr;
  for (var _i23 = extenders.length - 1; _i23 >= 0; _i23--) {
    var extension = extenders[_i23](tr);
    if (extension && Object.keys(extension).length) spec = mergeTransaction(spec, resolveTransactionInner(state, extension, tr.changes.newLength), true);
  }
  return spec == tr ? tr : Transaction.create(state, tr.changes, tr.selection, spec.effects, spec.annotations, spec.scrollIntoView);
}
var none = [];
function asArray(value) {
  return value == null ? none : Array.isArray(value) ? value : [value];
}

/**
The categories produced by a [character
categorizer](https://codemirror.net/6/docs/ref/#state.EditorState.charCategorizer). These are used
do things like selecting by word.
*/
var CharCategory = exports.CharCategory = /*@__PURE__*/function (CharCategory) {
  /**
  Word characters.
  */
  CharCategory[CharCategory["Word"] = 0] = "Word";
  /**
  Whitespace.
  */
  CharCategory[CharCategory["Space"] = 1] = "Space";
  /**
  Anything else.
  */
  CharCategory[CharCategory["Other"] = 2] = "Other";
  return CharCategory;
}(CharCategory || (exports.CharCategory = CharCategory = {}));
var nonASCIISingleCaseWordChar = /[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/;
var wordChar;
try {
  wordChar = /*@__PURE__*/new RegExp("[\\p{Alphabetic}\\p{Number}_]", "u");
} catch (_) {}
function hasWordChar(str) {
  if (wordChar) return wordChar.test(str);
  for (var _i24 = 0; _i24 < str.length; _i24++) {
    var ch = str[_i24];
    if (/\w/.test(ch) || ch > "\x80" && (ch.toUpperCase() != ch.toLowerCase() || nonASCIISingleCaseWordChar.test(ch))) return true;
  }
  return false;
}
function makeCategorizer(wordChars) {
  return function (_char) {
    if (!/\S/.test(_char)) return CharCategory.Space;
    if (hasWordChar(_char)) return CharCategory.Word;
    for (var _i25 = 0; _i25 < wordChars.length; _i25++) if (_char.indexOf(wordChars[_i25]) > -1) return CharCategory.Word;
    return CharCategory.Other;
  };
}

/**
The editor state class is a persistent (immutable) data structure.
To update a state, you [create](https://codemirror.net/6/docs/ref/#state.EditorState.update) a
[transaction](https://codemirror.net/6/docs/ref/#state.Transaction), which produces a _new_ state
instance, without modifying the original object.

As such, _never_ mutate properties of a state directly. That'll
just break things.
*/
var EditorState = exports.EditorState = /*#__PURE__*/function () {
  function EditorState(
  /**
  @internal
  */
  config,
  /**
  The current document.
  */
  doc,
  /**
  The current selection.
  */
  selection,
  /**
  @internal
  */
  values, computeSlot, tr) {
    _classCallCheck(this, EditorState);
    this.config = config;
    this.doc = doc;
    this.selection = selection;
    this.values = values;
    this.status = config.statusTemplate.slice();
    this.computeSlot = computeSlot;
    // Fill in the computed state immediately, so that further queries
    // for it made during the update return this state
    if (tr) tr._state = this;
    for (var _i26 = 0; _i26 < this.config.dynamicSlots.length; _i26++) ensureAddr(this, _i26 << 1);
    this.computeSlot = null;
  }
  return _createClass(EditorState, [{
    key: "field",
    value: function field(_field) {
      var require = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
      var addr = this.config.address[_field.id];
      if (addr == null) {
        if (require) throw new RangeError("Field is not present in this state");
        return undefined;
      }
      ensureAddr(this, addr);
      return getAddr(this, addr);
    }
    /**
    Create a [transaction](https://codemirror.net/6/docs/ref/#state.Transaction) that updates this
    state. Any number of [transaction specs](https://codemirror.net/6/docs/ref/#state.TransactionSpec)
    can be passed. Unless
    [`sequential`](https://codemirror.net/6/docs/ref/#state.TransactionSpec.sequential) is set, the
    [changes](https://codemirror.net/6/docs/ref/#state.TransactionSpec.changes) (if any) of each spec
    are assumed to start in the _current_ document (not the document
    produced by previous specs), and its
    [selection](https://codemirror.net/6/docs/ref/#state.TransactionSpec.selection) and
    [effects](https://codemirror.net/6/docs/ref/#state.TransactionSpec.effects) are assumed to refer
    to the document created by its _own_ changes. The resulting
    transaction contains the combined effect of all the different
    specs. For [selection](https://codemirror.net/6/docs/ref/#state.TransactionSpec.selection), later
    specs take precedence over earlier ones.
    */
  }, {
    key: "update",
    value: function update() {
      for (var _len4 = arguments.length, specs = new Array(_len4), _key = 0; _key < _len4; _key++) {
        specs[_key] = arguments[_key];
      }
      return resolveTransaction(this, specs, true);
    }
    /**
    @internal
    */
  }, {
    key: "applyTransaction",
    value: function applyTransaction(tr) {
      var _this7 = this;
      var conf = this.config,
        _conf = conf,
        base = _conf.base,
        compartments = _conf.compartments;
      var _iterator22 = _createForOfIteratorHelper(tr.effects),
        _step22;
      try {
        for (_iterator22.s(); !(_step22 = _iterator22.n()).done;) {
          var effect = _step22.value;
          if (effect.is(Compartment.reconfigure)) {
            if (conf) {
              compartments = new Map();
              conf.compartments.forEach(function (val, key) {
                return compartments.set(key, val);
              });
              conf = null;
            }
            compartments.set(effect.value.compartment, effect.value.extension);
          } else if (effect.is(StateEffect.reconfigure)) {
            conf = null;
            base = effect.value;
          } else if (effect.is(StateEffect.appendConfig)) {
            conf = null;
            base = asArray(base).concat(effect.value);
          }
        }
      } catch (err) {
        _iterator22.e(err);
      } finally {
        _iterator22.f();
      }
      var startValues;
      if (!conf) {
        conf = Configuration.resolve(base, compartments, this);
        var intermediateState = new EditorState(conf, this.doc, this.selection, conf.dynamicSlots.map(function () {
          return null;
        }), function (state, slot) {
          return slot.reconfigure(state, _this7);
        }, null);
        startValues = intermediateState.values;
      } else {
        startValues = tr.startState.values.slice();
      }
      var selection = tr.startState.facet(allowMultipleSelections) ? tr.newSelection : tr.newSelection.asSingle();
      new EditorState(conf, tr.newDoc, selection, startValues, function (state, slot) {
        return slot.update(state, tr);
      }, tr);
    }
    /**
    Create a [transaction spec](https://codemirror.net/6/docs/ref/#state.TransactionSpec) that
    replaces every selection range with the given content.
    */
  }, {
    key: "replaceSelection",
    value: function replaceSelection(text) {
      if (typeof text == "string") text = this.toText(text);
      return this.changeByRange(function (range) {
        return {
          changes: {
            from: range.from,
            to: range.to,
            insert: text
          },
          range: EditorSelection.cursor(range.from + text.length)
        };
      });
    }
    /**
    Create a set of changes and a new selection by running the given
    function for each range in the active selection. The function
    can return an optional set of changes (in the coordinate space
    of the start document), plus an updated range (in the coordinate
    space of the document produced by the call's own changes). This
    method will merge all the changes and ranges into a single
    changeset and selection, and return it as a [transaction
    spec](https://codemirror.net/6/docs/ref/#state.TransactionSpec), which can be passed to
    [`update`](https://codemirror.net/6/docs/ref/#state.EditorState.update).
    */
  }, {
    key: "changeByRange",
    value: function changeByRange(f) {
      var sel = this.selection;
      var result1 = f(sel.ranges[0]);
      var changes = this.changes(result1.changes),
        ranges = [result1.range];
      var effects = asArray(result1.effects);
      for (var _i27 = 1; _i27 < sel.ranges.length; _i27++) {
        var result = f(sel.ranges[_i27]);
        var newChanges = this.changes(result.changes),
          newMapped = newChanges.map(changes);
        for (var j = 0; j < _i27; j++) ranges[j] = ranges[j].map(newMapped);
        var mapBy = changes.mapDesc(newChanges, true);
        ranges.push(result.range.map(mapBy));
        changes = changes.compose(newMapped);
        effects = StateEffect.mapEffects(effects, newMapped).concat(StateEffect.mapEffects(asArray(result.effects), mapBy));
      }
      return {
        changes: changes,
        selection: EditorSelection.create(ranges, sel.mainIndex),
        effects: effects
      };
    }
    /**
    Create a [change set](https://codemirror.net/6/docs/ref/#state.ChangeSet) from the given change
    description, taking the state's document length and line
    separator into account.
    */
  }, {
    key: "changes",
    value: function changes() {
      var spec = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
      if (spec instanceof ChangeSet) return spec;
      return ChangeSet.of(spec, this.doc.length, this.facet(EditorState.lineSeparator));
    }
    /**
    Using the state's [line
    separator](https://codemirror.net/6/docs/ref/#state.EditorState^lineSeparator), create a
    [`Text`](https://codemirror.net/6/docs/ref/#state.Text) instance from the given string.
    */
  }, {
    key: "toText",
    value: function toText(string) {
      return Text.of(string.split(this.facet(EditorState.lineSeparator) || DefaultSplit));
    }
    /**
    Return the given range of the document as a string.
    */
  }, {
    key: "sliceDoc",
    value: function sliceDoc() {
      var from = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
      var to = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.doc.length;
      return this.doc.sliceString(from, to, this.lineBreak);
    }
    /**
    Get the value of a state [facet](https://codemirror.net/6/docs/ref/#state.Facet).
    */
  }, {
    key: "facet",
    value: function facet(_facet) {
      var addr = this.config.address[_facet.id];
      if (addr == null) return _facet["default"];
      ensureAddr(this, addr);
      return getAddr(this, addr);
    }
    /**
    Convert this state to a JSON-serializable object. When custom
    fields should be serialized, you can pass them in as an object
    mapping property names (in the resulting object, which should
    not use `doc` or `selection`) to fields.
    */
  }, {
    key: "toJSON",
    value: function toJSON(fields) {
      var result = {
        doc: this.sliceDoc(),
        selection: this.selection.toJSON()
      };
      if (fields) for (var prop in fields) {
        var value = fields[prop];
        if (value instanceof StateField && this.config.address[value.id] != null) result[prop] = value.spec.toJSON(this.field(fields[prop]), this);
      }
      return result;
    }
    /**
    Deserialize a state from its JSON representation. When custom
    fields should be deserialized, pass the same object you passed
    to [`toJSON`](https://codemirror.net/6/docs/ref/#state.EditorState.toJSON) when serializing as
    third argument.
    */
  }, {
    key: "tabSize",
    get:
    /**
    The size (in columns) of a tab in the document, determined by
    the [`tabSize`](https://codemirror.net/6/docs/ref/#state.EditorState^tabSize) facet.
    */
    function get() {
      return this.facet(EditorState.tabSize);
    }
    /**
    Get the proper [line-break](https://codemirror.net/6/docs/ref/#state.EditorState^lineSeparator)
    string for this state.
    */
  }, {
    key: "lineBreak",
    get: function get() {
      return this.facet(EditorState.lineSeparator) || "\n";
    }
    /**
    Returns true when the editor is
    [configured](https://codemirror.net/6/docs/ref/#state.EditorState^readOnly) to be read-only.
    */
  }, {
    key: "readOnly",
    get: function get() {
      return this.facet(readOnly);
    }
    /**
    Look up a translation for the given phrase (via the
    [`phrases`](https://codemirror.net/6/docs/ref/#state.EditorState^phrases) facet), or return the
    original string if no translation is found.
    
    If additional arguments are passed, they will be inserted in
    place of markers like `$1` (for the first value) and `$2`, etc.
    A single `$` is equivalent to `$1`, and `$$` will produce a
    literal dollar sign.
    */
  }, {
    key: "phrase",
    value: function phrase(_phrase) {
      for (var _len5 = arguments.length, insert = new Array(_len5 > 1 ? _len5 - 1 : 0), _key2 = 1; _key2 < _len5; _key2++) {
        insert[_key2 - 1] = arguments[_key2];
      }
      var _iterator23 = _createForOfIteratorHelper(this.facet(EditorState.phrases)),
        _step23;
      try {
        for (_iterator23.s(); !(_step23 = _iterator23.n()).done;) {
          var map = _step23.value;
          if (Object.prototype.hasOwnProperty.call(map, _phrase)) {
            _phrase = map[_phrase];
            break;
          }
        }
      } catch (err) {
        _iterator23.e(err);
      } finally {
        _iterator23.f();
      }
      if (insert.length) _phrase = _phrase.replace(/\$(\$|\d*)/g, function (m, i) {
        if (i == "$") return "$";
        var n = +(i || 1);
        return !n || n > insert.length ? m : insert[n - 1];
      });
      return _phrase;
    }
    /**
    Find the values for a given language data field, provided by the
    the [`languageData`](https://codemirror.net/6/docs/ref/#state.EditorState^languageData) facet.
    
    Examples of language data fields are...
    
    - [`"commentTokens"`](https://codemirror.net/6/docs/ref/#commands.CommentTokens) for specifying
      comment syntax.
    - [`"autocomplete"`](https://codemirror.net/6/docs/ref/#autocomplete.autocompletion^config.override)
      for providing language-specific completion sources.
    - [`"wordChars"`](https://codemirror.net/6/docs/ref/#state.EditorState.charCategorizer) for adding
      characters that should be considered part of words in this
      language.
    - [`"closeBrackets"`](https://codemirror.net/6/docs/ref/#autocomplete.CloseBracketConfig) controls
      bracket closing behavior.
    */
  }, {
    key: "languageDataAt",
    value: function languageDataAt(name, pos) {
      var side = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : -1;
      var values = [];
      var _iterator24 = _createForOfIteratorHelper(this.facet(languageData)),
        _step24;
      try {
        for (_iterator24.s(); !(_step24 = _iterator24.n()).done;) {
          var provider = _step24.value;
          var _iterator25 = _createForOfIteratorHelper(provider(this, pos, side)),
            _step25;
          try {
            for (_iterator25.s(); !(_step25 = _iterator25.n()).done;) {
              var result = _step25.value;
              if (Object.prototype.hasOwnProperty.call(result, name)) values.push(result[name]);
            }
          } catch (err) {
            _iterator25.e(err);
          } finally {
            _iterator25.f();
          }
        }
      } catch (err) {
        _iterator24.e(err);
      } finally {
        _iterator24.f();
      }
      return values;
    }
    /**
    Return a function that can categorize strings (expected to
    represent a single [grapheme cluster](https://codemirror.net/6/docs/ref/#state.findClusterBreak))
    into one of:
    
     - Word (contains an alphanumeric character or a character
       explicitly listed in the local language's `"wordChars"`
       language data, which should be a string)
     - Space (contains only whitespace)
     - Other (anything else)
    */
  }, {
    key: "charCategorizer",
    value: function charCategorizer(at) {
      return makeCategorizer(this.languageDataAt("wordChars", at).join(""));
    }
    /**
    Find the word at the given position, meaning the range
    containing all [word](https://codemirror.net/6/docs/ref/#state.CharCategory.Word) characters
    around it. If no word characters are adjacent to the position,
    this returns null.
    */
  }, {
    key: "wordAt",
    value: function wordAt(pos) {
      var _this$doc$lineAt = this.doc.lineAt(pos),
        text = _this$doc$lineAt.text,
        from = _this$doc$lineAt.from,
        length = _this$doc$lineAt.length;
      var cat = this.charCategorizer(pos);
      var start = pos - from,
        end = pos - from;
      while (start > 0) {
        var prev = findClusterBreak(text, start, false);
        if (cat(text.slice(prev, start)) != CharCategory.Word) break;
        start = prev;
      }
      while (end < length) {
        var next = findClusterBreak(text, end);
        if (cat(text.slice(end, next)) != CharCategory.Word) break;
        end = next;
      }
      return start == end ? null : EditorSelection.range(start + from, end + from);
    }
  }], [{
    key: "fromJSON",
    value: function fromJSON(json) {
      var config = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
      var fields = arguments.length > 2 ? arguments[2] : undefined;
      if (!json || typeof json.doc != "string") throw new RangeError("Invalid JSON representation for EditorState");
      var fieldInit = [];
      if (fields) {
        var _loop4 = function _loop4() {
          if (Object.prototype.hasOwnProperty.call(json, prop)) {
            var field = fields[prop],
              value = json[prop];
            fieldInit.push(field.init(function (state) {
              return field.spec.fromJSON(value, state);
            }));
          }
        };
        for (var prop in fields) {
          _loop4();
        }
      }
      return EditorState.create({
        doc: json.doc,
        selection: EditorSelection.fromJSON(json.selection),
        extensions: config.extensions ? fieldInit.concat([config.extensions]) : fieldInit
      });
    }
    /**
    Create a new state. You'll usually only need this when
    initializing an editor—updated states are created by applying
    transactions.
    */
  }, {
    key: "create",
    value: function create() {
      var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
      var configuration = Configuration.resolve(config.extensions || [], new Map());
      var doc = config.doc instanceof Text ? config.doc : Text.of((config.doc || "").split(configuration.staticFacet(EditorState.lineSeparator) || DefaultSplit));
      var selection = !config.selection ? EditorSelection.single(0) : config.selection instanceof EditorSelection ? config.selection : EditorSelection.single(config.selection.anchor, config.selection.head);
      checkSelection(selection, doc.length);
      if (!configuration.staticFacet(allowMultipleSelections)) selection = selection.asSingle();
      return new EditorState(configuration, doc, selection, configuration.dynamicSlots.map(function () {
        return null;
      }), function (state, slot) {
        return slot.create(state);
      }, null);
    }
  }]);
}();
/**
A facet that, when enabled, causes the editor to allow multiple
ranges to be selected. Be careful though, because by default the
editor relies on the native DOM selection, which cannot handle
multiple selections. An extension like
[`drawSelection`](https://codemirror.net/6/docs/ref/#view.drawSelection) can be used to make
secondary selections visible to the user.
*/
EditorState.allowMultipleSelections = allowMultipleSelections;
/**
Configures the tab size to use in this state. The first
(highest-precedence) value of the facet is used. If no value is
given, this defaults to 4.
*/
EditorState.tabSize = /*@__PURE__*/Facet.define({
  combine: function combine(values) {
    return values.length ? values[0] : 4;
  }
});
/**
The line separator to use. By default, any of `"\n"`, `"\r\n"`
and `"\r"` is treated as a separator when splitting lines, and
lines are joined with `"\n"`.

When you configure a value here, only that precise separator
will be used, allowing you to round-trip documents through the
editor without normalizing line separators.
*/
EditorState.lineSeparator = lineSeparator;
/**
This facet controls the value of the
[`readOnly`](https://codemirror.net/6/docs/ref/#state.EditorState.readOnly) getter, which is
consulted by commands and extensions that implement editing
functionality to determine whether they should apply. It
defaults to false, but when its highest-precedence value is
`true`, such functionality disables itself.

Not to be confused with
[`EditorView.editable`](https://codemirror.net/6/docs/ref/#view.EditorView^editable), which
controls whether the editor's DOM is set to be editable (and
thus focusable).
*/
EditorState.readOnly = readOnly;
/**
Registers translation phrases. The
[`phrase`](https://codemirror.net/6/docs/ref/#state.EditorState.phrase) method will look through
all objects registered with this facet to find translations for
its argument.
*/
EditorState.phrases = /*@__PURE__*/Facet.define({
  compare: function compare(a, b) {
    var kA = Object.keys(a),
      kB = Object.keys(b);
    return kA.length == kB.length && kA.every(function (k) {
      return a[k] == b[k];
    });
  }
});
/**
A facet used to register [language
data](https://codemirror.net/6/docs/ref/#state.EditorState.languageDataAt) providers.
*/
EditorState.languageData = languageData;
/**
Facet used to register change filters, which are called for each
transaction (unless explicitly
[disabled](https://codemirror.net/6/docs/ref/#state.TransactionSpec.filter)), and can suppress
part of the transaction's changes.

Such a function can return `true` to indicate that it doesn't
want to do anything, `false` to completely stop the changes in
the transaction, or a set of ranges in which changes should be
suppressed. Such ranges are represented as an array of numbers,
with each pair of two numbers indicating the start and end of a
range. So for example `[10, 20, 100, 110]` suppresses changes
between 10 and 20, and between 100 and 110.
*/
EditorState.changeFilter = changeFilter;
/**
Facet used to register a hook that gets a chance to update or
replace transaction specs before they are applied. This will
only be applied for transactions that don't have
[`filter`](https://codemirror.net/6/docs/ref/#state.TransactionSpec.filter) set to `false`. You
can either return a single transaction spec (possibly the input
transaction), or an array of specs (which will be combined in
the same way as the arguments to
[`EditorState.update`](https://codemirror.net/6/docs/ref/#state.EditorState.update)).

When possible, it is recommended to avoid accessing
[`Transaction.state`](https://codemirror.net/6/docs/ref/#state.Transaction.state) in a filter,
since it will force creation of a state that will then be
discarded again, if the transaction is actually filtered.

(This functionality should be used with care. Indiscriminately
modifying transaction is likely to break something or degrade
the user experience.)
*/
EditorState.transactionFilter = transactionFilter;
/**
This is a more limited form of
[`transactionFilter`](https://codemirror.net/6/docs/ref/#state.EditorState^transactionFilter),
which can only add
[annotations](https://codemirror.net/6/docs/ref/#state.TransactionSpec.annotations) and
[effects](https://codemirror.net/6/docs/ref/#state.TransactionSpec.effects). _But_, this type
of filter runs even if the transaction has disabled regular
[filtering](https://codemirror.net/6/docs/ref/#state.TransactionSpec.filter), making it suitable
for effects that don't need to touch the changes or selection,
but do want to process every transaction.

Extenders run _after_ filters, when both are present.
*/
EditorState.transactionExtender = transactionExtender;
Compartment.reconfigure = /*@__PURE__*/StateEffect.define();

/**
Utility function for combining behaviors to fill in a config
object from an array of provided configs. `defaults` should hold
default values for all optional fields in `Config`.

The function will, by default, error
when a field gets two values that aren't `===`-equal, but you can
provide combine functions per field to do something else.
*/
function combineConfig(configs, defaults) {
  var combine = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
  var result = {};
  var _iterator26 = _createForOfIteratorHelper(configs),
    _step26;
  try {
    for (_iterator26.s(); !(_step26 = _iterator26.n()).done;) {
      var config = _step26.value;
      for (var _i28 = 0, _Object$keys = Object.keys(config); _i28 < _Object$keys.length; _i28++) {
        var _key3 = _Object$keys[_i28];
        var value = config[_key3],
          current = result[_key3];
        if (current === undefined) result[_key3] = value;else if (current === value || value === undefined) ; // No conflict
        else if (Object.hasOwnProperty.call(combine, _key3)) result[_key3] = combine[_key3](current, value);else throw new Error("Config merge conflict for field " + _key3);
      }
    }
  } catch (err) {
    _iterator26.e(err);
  } finally {
    _iterator26.f();
  }
  for (var key in defaults) if (result[key] === undefined) result[key] = defaults[key];
  return result;
}

/**
Each range is associated with a value, which must inherit from
this class.
*/
var RangeValue = exports.RangeValue = /*#__PURE__*/function () {
  function RangeValue() {
    _classCallCheck(this, RangeValue);
  }
  return _createClass(RangeValue, [{
    key: "eq",
    value:
    /**
    Compare this value with another value. Used when comparing
    rangesets. The default implementation compares by identity.
    Unless you are only creating a fixed number of unique instances
    of your value type, it is a good idea to implement this
    properly.
    */
    function eq(other) {
      return this == other;
    }
    /**
    Create a [range](https://codemirror.net/6/docs/ref/#state.Range) with this value.
    */
  }, {
    key: "range",
    value: function range(from) {
      var to = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : from;
      return Range.create(from, to, this);
    }
  }]);
}();
RangeValue.prototype.startSide = RangeValue.prototype.endSide = 0;
RangeValue.prototype.point = false;
RangeValue.prototype.mapMode = MapMode.TrackDel;
/**
A range associates a value with a range of positions.
*/
var Range = exports.Range = /*#__PURE__*/function () {
  function Range(
  /**
  The range's start position.
  */
  from,
  /**
  Its end position.
  */
  to,
  /**
  The value associated with this range.
  */
  value) {
    _classCallCheck(this, Range);
    this.from = from;
    this.to = to;
    this.value = value;
  }
  /**
  @internal
  */
  return _createClass(Range, null, [{
    key: "create",
    value: function create(from, to, value) {
      return new Range(from, to, value);
    }
  }]);
}();
function cmpRange(a, b) {
  return a.from - b.from || a.value.startSide - b.value.startSide;
}
var Chunk = /*#__PURE__*/function () {
  function Chunk(from, to, value,
  // Chunks are marked with the largest point that occurs
  // in them (or -1 for no points), so that scans that are
  // only interested in points (such as the
  // heightmap-related logic) can skip range-only chunks.
  maxPoint) {
    _classCallCheck(this, Chunk);
    this.from = from;
    this.to = to;
    this.value = value;
    this.maxPoint = maxPoint;
  }
  return _createClass(Chunk, [{
    key: "length",
    get: function get() {
      return this.to[this.to.length - 1];
    }
    // Find the index of the given position and side. Use the ranges'
    // `from` pos when `end == false`, `to` when `end == true`.
  }, {
    key: "findIndex",
    value: function findIndex(pos, side, end) {
      var startAt = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;
      var arr = end ? this.to : this.from;
      for (var lo = startAt, hi = arr.length;;) {
        if (lo == hi) return lo;
        var mid = lo + hi >> 1;
        var diff = arr[mid] - pos || (end ? this.value[mid].endSide : this.value[mid].startSide) - side;
        if (mid == lo) return diff >= 0 ? lo : hi;
        if (diff >= 0) hi = mid;else lo = mid + 1;
      }
    }
  }, {
    key: "between",
    value: function between(offset, from, to, f) {
      for (var _i29 = this.findIndex(from, -1000000000 /* C.Far */, true), e = this.findIndex(to, 1000000000 /* C.Far */, false, _i29); _i29 < e; _i29++) if (f(this.from[_i29] + offset, this.to[_i29] + offset, this.value[_i29]) === false) return false;
    }
  }, {
    key: "map",
    value: function map(offset, changes) {
      var value = [],
        from = [],
        to = [],
        newPos = -1,
        maxPoint = -1;
      for (var _i30 = 0; _i30 < this.value.length; _i30++) {
        var val = this.value[_i30],
          curFrom = this.from[_i30] + offset,
          curTo = this.to[_i30] + offset,
          newFrom = void 0,
          newTo = void 0;
        if (curFrom == curTo) {
          var mapped = changes.mapPos(curFrom, val.startSide, val.mapMode);
          if (mapped == null) continue;
          newFrom = newTo = mapped;
          if (val.startSide != val.endSide) {
            newTo = changes.mapPos(curFrom, val.endSide);
            if (newTo < newFrom) continue;
          }
        } else {
          newFrom = changes.mapPos(curFrom, val.startSide);
          newTo = changes.mapPos(curTo, val.endSide);
          if (newFrom > newTo || newFrom == newTo && val.startSide > 0 && val.endSide <= 0) continue;
        }
        if ((newTo - newFrom || val.endSide - val.startSide) < 0) continue;
        if (newPos < 0) newPos = newFrom;
        if (val.point) maxPoint = Math.max(maxPoint, newTo - newFrom);
        value.push(val);
        from.push(newFrom - newPos);
        to.push(newTo - newPos);
      }
      return {
        mapped: value.length ? new Chunk(from, to, value, maxPoint) : null,
        pos: newPos
      };
    }
  }]);
}();
/**
A range set stores a collection of [ranges](https://codemirror.net/6/docs/ref/#state.Range) in a
way that makes them efficient to [map](https://codemirror.net/6/docs/ref/#state.RangeSet.map) and
[update](https://codemirror.net/6/docs/ref/#state.RangeSet.update). This is an immutable data
structure.
*/
var RangeSet = exports.RangeSet = /*#__PURE__*/function () {
  function RangeSet(
  /**
  @internal
  */
  chunkPos,
  /**
  @internal
  */
  chunk,
  /**
  @internal
  */
  nextLayer,
  /**
  @internal
  */
  maxPoint) {
    _classCallCheck(this, RangeSet);
    this.chunkPos = chunkPos;
    this.chunk = chunk;
    this.nextLayer = nextLayer;
    this.maxPoint = maxPoint;
  }
  /**
  @internal
  */
  return _createClass(RangeSet, [{
    key: "length",
    get:
    /**
    @internal
    */
    function get() {
      var last = this.chunk.length - 1;
      return last < 0 ? 0 : Math.max(this.chunkEnd(last), this.nextLayer.length);
    }
    /**
    The number of ranges in the set.
    */
  }, {
    key: "size",
    get: function get() {
      if (this.isEmpty) return 0;
      var size = this.nextLayer.size;
      var _iterator27 = _createForOfIteratorHelper(this.chunk),
        _step27;
      try {
        for (_iterator27.s(); !(_step27 = _iterator27.n()).done;) {
          var chunk = _step27.value;
          size += chunk.value.length;
        }
      } catch (err) {
        _iterator27.e(err);
      } finally {
        _iterator27.f();
      }
      return size;
    }
    /**
    @internal
    */
  }, {
    key: "chunkEnd",
    value: function chunkEnd(index) {
      return this.chunkPos[index] + this.chunk[index].length;
    }
    /**
    Update the range set, optionally adding new ranges or filtering
    out existing ones.
    
    (Note: The type parameter is just there as a kludge to work
    around TypeScript variance issues that prevented `RangeSet<X>`
    from being a subtype of `RangeSet<Y>` when `X` is a subtype of
    `Y`.)
    */
  }, {
    key: "update",
    value: function update(updateSpec) {
      var _updateSpec$add = updateSpec.add,
        add = _updateSpec$add === void 0 ? [] : _updateSpec$add,
        _updateSpec$sort = updateSpec.sort,
        sort = _updateSpec$sort === void 0 ? false : _updateSpec$sort,
        _updateSpec$filterFro = updateSpec.filterFrom,
        filterFrom = _updateSpec$filterFro === void 0 ? 0 : _updateSpec$filterFro,
        _updateSpec$filterTo = updateSpec.filterTo,
        filterTo = _updateSpec$filterTo === void 0 ? this.length : _updateSpec$filterTo;
      var filter = updateSpec.filter;
      if (add.length == 0 && !filter) return this;
      if (sort) add = add.slice().sort(cmpRange);
      if (this.isEmpty) return add.length ? RangeSet.of(add) : this;
      var cur = new LayerCursor(this, null, -1)["goto"](0),
        i = 0,
        spill = [];
      var builder = new RangeSetBuilder();
      while (cur.value || i < add.length) {
        if (i < add.length && (cur.from - add[i].from || cur.startSide - add[i].value.startSide) >= 0) {
          var range = add[i++];
          if (!builder.addInner(range.from, range.to, range.value)) spill.push(range);
        } else if (cur.rangeIndex == 1 && cur.chunkIndex < this.chunk.length && (i == add.length || this.chunkEnd(cur.chunkIndex) < add[i].from) && (!filter || filterFrom > this.chunkEnd(cur.chunkIndex) || filterTo < this.chunkPos[cur.chunkIndex]) && builder.addChunk(this.chunkPos[cur.chunkIndex], this.chunk[cur.chunkIndex])) {
          cur.nextChunk();
        } else {
          if (!filter || filterFrom > cur.to || filterTo < cur.from || filter(cur.from, cur.to, cur.value)) {
            if (!builder.addInner(cur.from, cur.to, cur.value)) spill.push(Range.create(cur.from, cur.to, cur.value));
          }
          cur.next();
        }
      }
      return builder.finishInner(this.nextLayer.isEmpty && !spill.length ? RangeSet.empty : this.nextLayer.update({
        add: spill,
        filter: filter,
        filterFrom: filterFrom,
        filterTo: filterTo
      }));
    }
    /**
    Map this range set through a set of changes, return the new set.
    */
  }, {
    key: "map",
    value: function map(changes) {
      if (changes.empty || this.isEmpty) return this;
      var chunks = [],
        chunkPos = [],
        maxPoint = -1;
      for (var _i31 = 0; _i31 < this.chunk.length; _i31++) {
        var start = this.chunkPos[_i31],
          chunk = this.chunk[_i31];
        var touch = changes.touchesRange(start, start + chunk.length);
        if (touch === false) {
          maxPoint = Math.max(maxPoint, chunk.maxPoint);
          chunks.push(chunk);
          chunkPos.push(changes.mapPos(start));
        } else if (touch === true) {
          var _chunk$map = chunk.map(start, changes),
            mapped = _chunk$map.mapped,
            pos = _chunk$map.pos;
          if (mapped) {
            maxPoint = Math.max(maxPoint, mapped.maxPoint);
            chunks.push(mapped);
            chunkPos.push(pos);
          }
        }
      }
      var next = this.nextLayer.map(changes);
      return chunks.length == 0 ? next : new RangeSet(chunkPos, chunks, next || RangeSet.empty, maxPoint);
    }
    /**
    Iterate over the ranges that touch the region `from` to `to`,
    calling `f` for each. There is no guarantee that the ranges will
    be reported in any specific order. When the callback returns
    `false`, iteration stops.
    */
  }, {
    key: "between",
    value: function between(from, to, f) {
      if (this.isEmpty) return;
      for (var _i32 = 0; _i32 < this.chunk.length; _i32++) {
        var start = this.chunkPos[_i32],
          chunk = this.chunk[_i32];
        if (to >= start && from <= start + chunk.length && chunk.between(start, from - start, to - start, f) === false) return;
      }
      this.nextLayer.between(from, to, f);
    }
    /**
    Iterate over the ranges in this set, in order, including all
    ranges that end at or after `from`.
    */
  }, {
    key: "iter",
    value: function iter() {
      var from = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
      return HeapCursor.from([this])["goto"](from);
    }
    /**
    @internal
    */
  }, {
    key: "isEmpty",
    get: function get() {
      return this.nextLayer == this;
    }
    /**
    Iterate over the ranges in a collection of sets, in order,
    starting from `from`.
    */
  }], [{
    key: "create",
    value: function create(chunkPos, chunk, nextLayer, maxPoint) {
      return new RangeSet(chunkPos, chunk, nextLayer, maxPoint);
    }
  }, {
    key: "iter",
    value: function iter(sets) {
      var from = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
      return HeapCursor.from(sets)["goto"](from);
    }
    /**
    Iterate over two groups of sets, calling methods on `comparator`
    to notify it of possible differences.
    */
  }, {
    key: "compare",
    value: function compare(oldSets, newSets,
    /**
    This indicates how the underlying data changed between these
    ranges, and is needed to synchronize the iteration.
    */
    textDiff, comparator) {
      var minPointSize = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : -1;
      var a = oldSets.filter(function (set) {
        return set.maxPoint > 0 || !set.isEmpty && set.maxPoint >= minPointSize;
      });
      var b = newSets.filter(function (set) {
        return set.maxPoint > 0 || !set.isEmpty && set.maxPoint >= minPointSize;
      });
      var sharedChunks = findSharedChunks(a, b, textDiff);
      var sideA = new SpanCursor(a, sharedChunks, minPointSize);
      var sideB = new SpanCursor(b, sharedChunks, minPointSize);
      textDiff.iterGaps(function (fromA, fromB, length) {
        return _compare(sideA, fromA, sideB, fromB, length, comparator);
      });
      if (textDiff.empty && textDiff.length == 0) _compare(sideA, 0, sideB, 0, 0, comparator);
    }
    /**
    Compare the contents of two groups of range sets, returning true
    if they are equivalent in the given range.
    */
  }, {
    key: "eq",
    value: function eq(oldSets, newSets) {
      var from = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;
      var to = arguments.length > 3 ? arguments[3] : undefined;
      if (to == null) to = 1000000000 /* C.Far */ - 1;
      var a = oldSets.filter(function (set) {
        return !set.isEmpty && newSets.indexOf(set) < 0;
      });
      var b = newSets.filter(function (set) {
        return !set.isEmpty && oldSets.indexOf(set) < 0;
      });
      if (a.length != b.length) return false;
      if (!a.length) return true;
      var sharedChunks = findSharedChunks(a, b);
      var sideA = new SpanCursor(a, sharedChunks, 0)["goto"](from),
        sideB = new SpanCursor(b, sharedChunks, 0)["goto"](from);
      for (;;) {
        if (sideA.to != sideB.to || !sameValues(sideA.active, sideB.active) || sideA.point && (!sideB.point || !sideA.point.eq(sideB.point))) return false;
        if (sideA.to > to) return true;
        sideA.next();
        sideB.next();
      }
    }
    /**
    Iterate over a group of range sets at the same time, notifying
    the iterator about the ranges covering every given piece of
    content. Returns the open count (see
    [`SpanIterator.span`](https://codemirror.net/6/docs/ref/#state.SpanIterator.span)) at the end
    of the iteration.
    */
  }, {
    key: "spans",
    value: function spans(sets, from, to, iterator) {
      var minPointSize = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : -1;
      var cursor = new SpanCursor(sets, null, minPointSize)["goto"](from),
        pos = from;
      var openRanges = cursor.openStart;
      for (;;) {
        var curTo = Math.min(cursor.to, to);
        if (cursor.point) {
          var active = cursor.activeForPoint(cursor.to);
          var openCount = cursor.pointFrom < from ? active.length + 1 : cursor.point.startSide < 0 ? active.length : Math.min(active.length, openRanges);
          iterator.point(pos, curTo, cursor.point, active, openCount, cursor.pointRank);
          openRanges = Math.min(cursor.openEnd(curTo), active.length);
        } else if (curTo > pos) {
          iterator.span(pos, curTo, cursor.active, openRanges);
          openRanges = cursor.openEnd(curTo);
        }
        if (cursor.to > to) return openRanges + (cursor.point && cursor.to > to ? 1 : 0);
        pos = cursor.to;
        cursor.next();
      }
    }
    /**
    Create a range set for the given range or array of ranges. By
    default, this expects the ranges to be _sorted_ (by start
    position and, if two start at the same position,
    `value.startSide`). You can pass `true` as second argument to
    cause the method to sort them.
    */
  }, {
    key: "of",
    value: function of(ranges) {
      var sort = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
      var build = new RangeSetBuilder();
      var _iterator28 = _createForOfIteratorHelper(ranges instanceof Range ? [ranges] : sort ? lazySort(ranges) : ranges),
        _step28;
      try {
        for (_iterator28.s(); !(_step28 = _iterator28.n()).done;) {
          var range = _step28.value;
          build.add(range.from, range.to, range.value);
        }
      } catch (err) {
        _iterator28.e(err);
      } finally {
        _iterator28.f();
      }
      return build.finish();
    }
    /**
    Join an array of range sets into a single set.
    */
  }, {
    key: "join",
    value: function join(sets) {
      if (!sets.length) return RangeSet.empty;
      var result = sets[sets.length - 1];
      for (var _i33 = sets.length - 2; _i33 >= 0; _i33--) {
        for (var layer = sets[_i33]; layer != RangeSet.empty; layer = layer.nextLayer) result = new RangeSet(layer.chunkPos, layer.chunk, result, Math.max(layer.maxPoint, result.maxPoint));
      }
      return result;
    }
  }]);
}();
/**
The empty set of ranges.
*/
RangeSet.empty = /*@__PURE__*/new RangeSet([], [], null, -1);
function lazySort(ranges) {
  if (ranges.length > 1) for (var prev = ranges[0], _i34 = 1; _i34 < ranges.length; _i34++) {
    var cur = ranges[_i34];
    if (cmpRange(prev, cur) > 0) return ranges.slice().sort(cmpRange);
    prev = cur;
  }
  return ranges;
}
RangeSet.empty.nextLayer = RangeSet.empty;
/**
A range set builder is a data structure that helps build up a
[range set](https://codemirror.net/6/docs/ref/#state.RangeSet) directly, without first allocating
an array of [`Range`](https://codemirror.net/6/docs/ref/#state.Range) objects.
*/
var RangeSetBuilder = exports.RangeSetBuilder = /*#__PURE__*/function () {
  /**
  Create an empty builder.
  */
  function RangeSetBuilder() {
    _classCallCheck(this, RangeSetBuilder);
    this.chunks = [];
    this.chunkPos = [];
    this.chunkStart = -1;
    this.last = null;
    this.lastFrom = -1000000000 /* C.Far */;
    this.lastTo = -1000000000 /* C.Far */;
    this.from = [];
    this.to = [];
    this.value = [];
    this.maxPoint = -1;
    this.setMaxPoint = -1;
    this.nextLayer = null;
  }
  /**
  Add a range. Ranges should be added in sorted (by `from` and
  `value.startSide`) order.
  */
  return _createClass(RangeSetBuilder, [{
    key: "finishChunk",
    value: function finishChunk(newArrays) {
      this.chunks.push(new Chunk(this.from, this.to, this.value, this.maxPoint));
      this.chunkPos.push(this.chunkStart);
      this.chunkStart = -1;
      this.setMaxPoint = Math.max(this.setMaxPoint, this.maxPoint);
      this.maxPoint = -1;
      if (newArrays) {
        this.from = [];
        this.to = [];
        this.value = [];
      }
    }
  }, {
    key: "add",
    value: function add(from, to, value) {
      if (!this.addInner(from, to, value)) (this.nextLayer || (this.nextLayer = new RangeSetBuilder())).add(from, to, value);
    }
    /**
    @internal
    */
  }, {
    key: "addInner",
    value: function addInner(from, to, value) {
      var diff = from - this.lastTo || value.startSide - this.last.endSide;
      if (diff <= 0 && (from - this.lastFrom || value.startSide - this.last.startSide) < 0) throw new Error("Ranges must be added sorted by `from` position and `startSide`");
      if (diff < 0) return false;
      if (this.from.length == 250 /* C.ChunkSize */) this.finishChunk(true);
      if (this.chunkStart < 0) this.chunkStart = from;
      this.from.push(from - this.chunkStart);
      this.to.push(to - this.chunkStart);
      this.last = value;
      this.lastFrom = from;
      this.lastTo = to;
      this.value.push(value);
      if (value.point) this.maxPoint = Math.max(this.maxPoint, to - from);
      return true;
    }
    /**
    @internal
    */
  }, {
    key: "addChunk",
    value: function addChunk(from, chunk) {
      if ((from - this.lastTo || chunk.value[0].startSide - this.last.endSide) < 0) return false;
      if (this.from.length) this.finishChunk(true);
      this.setMaxPoint = Math.max(this.setMaxPoint, chunk.maxPoint);
      this.chunks.push(chunk);
      this.chunkPos.push(from);
      var last = chunk.value.length - 1;
      this.last = chunk.value[last];
      this.lastFrom = chunk.from[last] + from;
      this.lastTo = chunk.to[last] + from;
      return true;
    }
    /**
    Finish the range set. Returns the new set. The builder can't be
    used anymore after this has been called.
    */
  }, {
    key: "finish",
    value: function finish() {
      return this.finishInner(RangeSet.empty);
    }
    /**
    @internal
    */
  }, {
    key: "finishInner",
    value: function finishInner(next) {
      if (this.from.length) this.finishChunk(false);
      if (this.chunks.length == 0) return next;
      var result = RangeSet.create(this.chunkPos, this.chunks, this.nextLayer ? this.nextLayer.finishInner(next) : next, this.setMaxPoint);
      this.from = null; // Make sure further `add` calls produce errors
      return result;
    }
  }]);
}();
function findSharedChunks(a, b, textDiff) {
  var inA = new Map();
  var _iterator29 = _createForOfIteratorHelper(a),
    _step29;
  try {
    for (_iterator29.s(); !(_step29 = _iterator29.n()).done;) {
      var set = _step29.value;
      for (var _i35 = 0; _i35 < set.chunk.length; _i35++) if (set.chunk[_i35].maxPoint <= 0) inA.set(set.chunk[_i35], set.chunkPos[_i35]);
    }
  } catch (err) {
    _iterator29.e(err);
  } finally {
    _iterator29.f();
  }
  var shared = new Set();
  var _iterator30 = _createForOfIteratorHelper(b),
    _step30;
  try {
    for (_iterator30.s(); !(_step30 = _iterator30.n()).done;) {
      var _set = _step30.value;
      for (var _i36 = 0; _i36 < _set.chunk.length; _i36++) {
        var known = inA.get(_set.chunk[_i36]);
        if (known != null && (textDiff ? textDiff.mapPos(known) : known) == _set.chunkPos[_i36] && !(textDiff === null || textDiff === void 0 ? void 0 : textDiff.touchesRange(known, known + _set.chunk[_i36].length))) shared.add(_set.chunk[_i36]);
      }
    }
  } catch (err) {
    _iterator30.e(err);
  } finally {
    _iterator30.f();
  }
  return shared;
}
var LayerCursor = /*#__PURE__*/function () {
  function LayerCursor(layer, skip, minPoint) {
    var rank = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;
    _classCallCheck(this, LayerCursor);
    this.layer = layer;
    this.skip = skip;
    this.minPoint = minPoint;
    this.rank = rank;
  }
  return _createClass(LayerCursor, [{
    key: "startSide",
    get: function get() {
      return this.value ? this.value.startSide : 0;
    }
  }, {
    key: "endSide",
    get: function get() {
      return this.value ? this.value.endSide : 0;
    }
  }, {
    key: "goto",
    value: function goto(pos) {
      var side = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : -1000000000;
      this.chunkIndex = this.rangeIndex = 0;
      this.gotoInner(pos, side, false);
      return this;
    }
  }, {
    key: "gotoInner",
    value: function gotoInner(pos, side, forward) {
      while (this.chunkIndex < this.layer.chunk.length) {
        var next = this.layer.chunk[this.chunkIndex];
        if (!(this.skip && this.skip.has(next) || this.layer.chunkEnd(this.chunkIndex) < pos || next.maxPoint < this.minPoint)) break;
        this.chunkIndex++;
        forward = false;
      }
      if (this.chunkIndex < this.layer.chunk.length) {
        var rangeIndex = this.layer.chunk[this.chunkIndex].findIndex(pos - this.layer.chunkPos[this.chunkIndex], side, true);
        if (!forward || this.rangeIndex < rangeIndex) this.setRangeIndex(rangeIndex);
      }
      this.next();
    }
  }, {
    key: "forward",
    value: function forward(pos, side) {
      if ((this.to - pos || this.endSide - side) < 0) this.gotoInner(pos, side, true);
    }
  }, {
    key: "next",
    value: function next() {
      for (;;) {
        if (this.chunkIndex == this.layer.chunk.length) {
          this.from = this.to = 1000000000 /* C.Far */;
          this.value = null;
          break;
        } else {
          var chunkPos = this.layer.chunkPos[this.chunkIndex],
            chunk = this.layer.chunk[this.chunkIndex];
          var from = chunkPos + chunk.from[this.rangeIndex];
          this.from = from;
          this.to = chunkPos + chunk.to[this.rangeIndex];
          this.value = chunk.value[this.rangeIndex];
          this.setRangeIndex(this.rangeIndex + 1);
          if (this.minPoint < 0 || this.value.point && this.to - this.from >= this.minPoint) break;
        }
      }
    }
  }, {
    key: "setRangeIndex",
    value: function setRangeIndex(index) {
      if (index == this.layer.chunk[this.chunkIndex].value.length) {
        this.chunkIndex++;
        if (this.skip) {
          while (this.chunkIndex < this.layer.chunk.length && this.skip.has(this.layer.chunk[this.chunkIndex])) this.chunkIndex++;
        }
        this.rangeIndex = 0;
      } else {
        this.rangeIndex = index;
      }
    }
  }, {
    key: "nextChunk",
    value: function nextChunk() {
      this.chunkIndex++;
      this.rangeIndex = 0;
      this.next();
    }
  }, {
    key: "compare",
    value: function compare(other) {
      return this.from - other.from || this.startSide - other.startSide || this.rank - other.rank || this.to - other.to || this.endSide - other.endSide;
    }
  }]);
}();
var HeapCursor = /*#__PURE__*/function () {
  function HeapCursor(heap) {
    _classCallCheck(this, HeapCursor);
    this.heap = heap;
  }
  return _createClass(HeapCursor, [{
    key: "startSide",
    get: function get() {
      return this.value ? this.value.startSide : 0;
    }
  }, {
    key: "goto",
    value: function goto(pos) {
      var side = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : -1000000000;
      var _iterator31 = _createForOfIteratorHelper(this.heap),
        _step31;
      try {
        for (_iterator31.s(); !(_step31 = _iterator31.n()).done;) {
          var cur = _step31.value;
          cur["goto"](pos, side);
        }
      } catch (err) {
        _iterator31.e(err);
      } finally {
        _iterator31.f();
      }
      for (var _i37 = this.heap.length >> 1; _i37 >= 0; _i37--) heapBubble(this.heap, _i37);
      this.next();
      return this;
    }
  }, {
    key: "forward",
    value: function forward(pos, side) {
      var _iterator32 = _createForOfIteratorHelper(this.heap),
        _step32;
      try {
        for (_iterator32.s(); !(_step32 = _iterator32.n()).done;) {
          var cur = _step32.value;
          cur.forward(pos, side);
        }
      } catch (err) {
        _iterator32.e(err);
      } finally {
        _iterator32.f();
      }
      for (var _i38 = this.heap.length >> 1; _i38 >= 0; _i38--) heapBubble(this.heap, _i38);
      if ((this.to - pos || this.value.endSide - side) < 0) this.next();
    }
  }, {
    key: "next",
    value: function next() {
      if (this.heap.length == 0) {
        this.from = this.to = 1000000000 /* C.Far */;
        this.value = null;
        this.rank = -1;
      } else {
        var top = this.heap[0];
        this.from = top.from;
        this.to = top.to;
        this.value = top.value;
        this.rank = top.rank;
        if (top.value) top.next();
        heapBubble(this.heap, 0);
      }
    }
  }], [{
    key: "from",
    value: function from(sets) {
      var skip = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
      var minPoint = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : -1;
      var heap = [];
      for (var _i39 = 0; _i39 < sets.length; _i39++) {
        for (var cur = sets[_i39]; !cur.isEmpty; cur = cur.nextLayer) {
          if (cur.maxPoint >= minPoint) heap.push(new LayerCursor(cur, skip, minPoint, _i39));
        }
      }
      return heap.length == 1 ? heap[0] : new HeapCursor(heap);
    }
  }]);
}();
function heapBubble(heap, index) {
  for (var cur = heap[index];;) {
    var childIndex = (index << 1) + 1;
    if (childIndex >= heap.length) break;
    var child = heap[childIndex];
    if (childIndex + 1 < heap.length && child.compare(heap[childIndex + 1]) >= 0) {
      child = heap[childIndex + 1];
      childIndex++;
    }
    if (cur.compare(child) < 0) break;
    heap[childIndex] = cur;
    heap[index] = child;
    index = childIndex;
  }
}
var SpanCursor = /*#__PURE__*/function () {
  function SpanCursor(sets, skip, minPoint) {
    _classCallCheck(this, SpanCursor);
    this.minPoint = minPoint;
    this.active = [];
    this.activeTo = [];
    this.activeRank = [];
    this.minActive = -1;
    // A currently active point range, if any
    this.point = null;
    this.pointFrom = 0;
    this.pointRank = 0;
    this.to = -1000000000 /* C.Far */;
    this.endSide = 0;
    // The amount of open active ranges at the start of the iterator.
    // Not including points.
    this.openStart = -1;
    this.cursor = HeapCursor.from(sets, skip, minPoint);
  }
  return _createClass(SpanCursor, [{
    key: "goto",
    value: function goto(pos) {
      var side = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : -1000000000;
      this.cursor["goto"](pos, side);
      this.active.length = this.activeTo.length = this.activeRank.length = 0;
      this.minActive = -1;
      this.to = pos;
      this.endSide = side;
      this.openStart = -1;
      this.next();
      return this;
    }
  }, {
    key: "forward",
    value: function forward(pos, side) {
      while (this.minActive > -1 && (this.activeTo[this.minActive] - pos || this.active[this.minActive].endSide - side) < 0) this.removeActive(this.minActive);
      this.cursor.forward(pos, side);
    }
  }, {
    key: "removeActive",
    value: function removeActive(index) {
      remove(this.active, index);
      remove(this.activeTo, index);
      remove(this.activeRank, index);
      this.minActive = findMinIndex(this.active, this.activeTo);
    }
  }, {
    key: "addActive",
    value: function addActive(trackOpen) {
      var i = 0,
        _this$cursor = this.cursor,
        value = _this$cursor.value,
        to = _this$cursor.to,
        rank = _this$cursor.rank;
      // Organize active marks by rank first, then by size
      while (i < this.activeRank.length && (rank - this.activeRank[i] || to - this.activeTo[i]) > 0) i++;
      insert(this.active, i, value);
      insert(this.activeTo, i, to);
      insert(this.activeRank, i, rank);
      if (trackOpen) insert(trackOpen, i, this.cursor.from);
      this.minActive = findMinIndex(this.active, this.activeTo);
    }
    // After calling this, if `this.point` != null, the next range is a
    // point. Otherwise, it's a regular range, covered by `this.active`.
  }, {
    key: "next",
    value: function next() {
      var from = this.to,
        wasPoint = this.point;
      this.point = null;
      var trackOpen = this.openStart < 0 ? [] : null;
      for (;;) {
        var a = this.minActive;
        if (a > -1 && (this.activeTo[a] - this.cursor.from || this.active[a].endSide - this.cursor.startSide) < 0) {
          if (this.activeTo[a] > from) {
            this.to = this.activeTo[a];
            this.endSide = this.active[a].endSide;
            break;
          }
          this.removeActive(a);
          if (trackOpen) remove(trackOpen, a);
        } else if (!this.cursor.value) {
          this.to = this.endSide = 1000000000 /* C.Far */;
          break;
        } else if (this.cursor.from > from) {
          this.to = this.cursor.from;
          this.endSide = this.cursor.startSide;
          break;
        } else {
          var nextVal = this.cursor.value;
          if (!nextVal.point) {
            // Opening a range
            this.addActive(trackOpen);
            this.cursor.next();
          } else if (wasPoint && this.cursor.to == this.to && this.cursor.from < this.cursor.to) {
            // Ignore any non-empty points that end precisely at the end of the prev point
            this.cursor.next();
          } else {
            // New point
            this.point = nextVal;
            this.pointFrom = this.cursor.from;
            this.pointRank = this.cursor.rank;
            this.to = this.cursor.to;
            this.endSide = nextVal.endSide;
            this.cursor.next();
            this.forward(this.to, this.endSide);
            break;
          }
        }
      }
      if (trackOpen) {
        this.openStart = 0;
        for (var _i40 = trackOpen.length - 1; _i40 >= 0 && trackOpen[_i40] < from; _i40--) this.openStart++;
      }
    }
  }, {
    key: "activeForPoint",
    value: function activeForPoint(to) {
      if (!this.active.length) return this.active;
      var active = [];
      for (var _i41 = this.active.length - 1; _i41 >= 0; _i41--) {
        if (this.activeRank[_i41] < this.pointRank) break;
        if (this.activeTo[_i41] > to || this.activeTo[_i41] == to && this.active[_i41].endSide >= this.point.endSide) active.push(this.active[_i41]);
      }
      return active.reverse();
    }
  }, {
    key: "openEnd",
    value: function openEnd(to) {
      var open = 0;
      for (var _i42 = this.activeTo.length - 1; _i42 >= 0 && this.activeTo[_i42] > to; _i42--) open++;
      return open;
    }
  }]);
}();
function _compare(a, startA, b, startB, length, comparator) {
  a["goto"](startA);
  b["goto"](startB);
  var endB = startB + length;
  var pos = startB,
    dPos = startB - startA;
  for (;;) {
    var diff = a.to + dPos - b.to || a.endSide - b.endSide;
    var end = diff < 0 ? a.to + dPos : b.to,
      clipEnd = Math.min(end, endB);
    if (a.point || b.point) {
      if (!(a.point && b.point && (a.point == b.point || a.point.eq(b.point)) && sameValues(a.activeForPoint(a.to), b.activeForPoint(b.to)))) comparator.comparePoint(pos, clipEnd, a.point, b.point);
    } else {
      if (clipEnd > pos && !sameValues(a.active, b.active)) comparator.compareRange(pos, clipEnd, a.active, b.active);
    }
    if (end > endB) break;
    pos = end;
    if (diff <= 0) a.next();
    if (diff >= 0) b.next();
  }
}
function sameValues(a, b) {
  if (a.length != b.length) return false;
  for (var _i43 = 0; _i43 < a.length; _i43++) if (a[_i43] != b[_i43] && !a[_i43].eq(b[_i43])) return false;
  return true;
}
function remove(array, index) {
  for (var _i44 = index, e = array.length - 1; _i44 < e; _i44++) array[_i44] = array[_i44 + 1];
  array.pop();
}
function insert(array, index, value) {
  for (var _i45 = array.length - 1; _i45 >= index; _i45--) array[_i45 + 1] = array[_i45];
  array[index] = value;
}
function findMinIndex(value, array) {
  var found = -1,
    foundPos = 1000000000 /* C.Far */;
  for (var _i46 = 0; _i46 < array.length; _i46++) if ((array[_i46] - foundPos || value[_i46].endSide - value[found].endSide) < 0) {
    found = _i46;
    foundPos = array[_i46];
  }
  return found;
}

/**
Count the column position at the given offset into the string,
taking extending characters and tab size into account.
*/
function countColumn(string, tabSize) {
  var to = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : string.length;
  var n = 0;
  for (var _i47 = 0; _i47 < to;) {
    if (string.charCodeAt(_i47) == 9) {
      n += tabSize - n % tabSize;
      _i47++;
    } else {
      n++;
      _i47 = findClusterBreak(string, _i47);
    }
  }
  return n;
}
/**
Find the offset that corresponds to the given column position in a
string, taking extending characters and tab size into account. By
default, the string length is returned when it is too short to
reach the column. Pass `strict` true to make it return -1 in that
situation.
*/
function findColumn(string, col, tabSize, strict) {
  for (var _i48 = 0, n = 0;;) {
    if (n >= col) return _i48;
    if (_i48 == string.length) break;
    n += string.charCodeAt(_i48) == 9 ? tabSize - n % tabSize : 1;
    _i48 = findClusterBreak(string, _i48);
  }
  return strict === true ? -1 : string.length;
}

},{}],10:[function(require,module,exports){
"use strict";

Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.closeHoverTooltips = exports.__test = exports.WidgetType = exports.ViewUpdate = exports.ViewPlugin = exports.RectangleMarker = exports.MatchDecorator = exports.GutterMarker = exports.EditorView = exports.Direction = exports.Decoration = exports.BlockType = exports.BlockInfo = exports.BidiSpan = void 0;
exports.crosshairCursor = crosshairCursor;
exports.drawSelection = drawSelection;
exports.dropCursor = dropCursor;
exports.getDrawSelectionConfig = getDrawSelectionConfig;
exports.getPanel = getPanel;
exports.getTooltip = getTooltip;
exports.gutter = gutter;
exports.gutterLineClass = void 0;
exports.gutters = gutters;
exports.hasHoverTooltips = hasHoverTooltips;
exports.highlightActiveLine = highlightActiveLine;
exports.highlightActiveLineGutter = highlightActiveLineGutter;
exports.highlightSpecialChars = highlightSpecialChars;
exports.highlightTrailingWhitespace = highlightTrailingWhitespace;
exports.highlightWhitespace = highlightWhitespace;
exports.hoverTooltip = hoverTooltip;
exports.keymap = void 0;
exports.layer = layer;
exports.lineNumberMarkers = void 0;
exports.lineNumbers = lineNumbers;
exports.logException = logException;
exports.panels = panels;
exports.placeholder = placeholder;
exports.rectangularSelection = rectangularSelection;
exports.repositionTooltips = repositionTooltips;
exports.runScopeHandlers = runScopeHandlers;
exports.scrollPastEnd = scrollPastEnd;
exports.showTooltip = exports.showPanel = void 0;
exports.tooltips = tooltips;
var _state = require("@codemirror/state");
var _styleMod = require("style-mod");
var _w3cKeyname = require("w3c-keyname");
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
function _get() { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get.bind(); } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(arguments.length < 3 ? target : receiver); } return desc.value; }; } return _get.apply(this, arguments); }
function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }
function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
function getSelection(root) {
  var target;
  // Browsers differ on whether shadow roots have a getSelection
  // method. If it exists, use that, otherwise, call it on the
  // document.
  if (root.nodeType == 11) {
    // Shadow root
    target = root.getSelection ? root : root.ownerDocument;
  } else {
    target = root;
  }
  return target.getSelection();
}
function contains(dom, node) {
  return node ? dom == node || dom.contains(node.nodeType != 1 ? node.parentNode : node) : false;
}
function deepActiveElement(doc) {
  var elt = doc.activeElement;
  while (elt && elt.shadowRoot) elt = elt.shadowRoot.activeElement;
  return elt;
}
function hasSelection(dom, selection) {
  if (!selection.anchorNode) return false;
  try {
    // Firefox will raise 'permission denied' errors when accessing
    // properties of `sel.anchorNode` when it's in a generated CSS
    // element.
    return contains(dom, selection.anchorNode);
  } catch (_) {
    return false;
  }
}
function clientRectsFor(dom) {
  if (dom.nodeType == 3) return textRange(dom, 0, dom.nodeValue.length).getClientRects();else if (dom.nodeType == 1) return dom.getClientRects();else return [];
}
// Scans forward and backward through DOM positions equivalent to the
// given one to see if the two are in the same place (i.e. after a
// text node vs at the end of that text node)
function isEquivalentPosition(node, off, targetNode, targetOff) {
  return targetNode ? scanFor(node, off, targetNode, targetOff, -1) || scanFor(node, off, targetNode, targetOff, 1) : false;
}
function domIndex(node) {
  for (var index = 0;; index++) {
    node = node.previousSibling;
    if (!node) return index;
  }
}
function scanFor(node, off, targetNode, targetOff, dir) {
  for (;;) {
    if (node == targetNode && off == targetOff) return true;
    if (off == (dir < 0 ? 0 : maxOffset(node))) {
      if (node.nodeName == "DIV") return false;
      var parent = node.parentNode;
      if (!parent || parent.nodeType != 1) return false;
      off = domIndex(node) + (dir < 0 ? 0 : 1);
      node = parent;
    } else if (node.nodeType == 1) {
      node = node.childNodes[off + (dir < 0 ? -1 : 0)];
      if (node.nodeType == 1 && node.contentEditable == "false") return false;
      off = dir < 0 ? maxOffset(node) : 0;
    } else {
      return false;
    }
  }
}
function maxOffset(node) {
  return node.nodeType == 3 ? node.nodeValue.length : node.childNodes.length;
}
function flattenRect(rect, left) {
  var x = left ? rect.left : rect.right;
  return {
    left: x,
    right: x,
    top: rect.top,
    bottom: rect.bottom
  };
}
function windowRect(win) {
  var vp = win.visualViewport;
  if (vp) return {
    left: 0,
    right: vp.width,
    top: 0,
    bottom: vp.height
  };
  return {
    left: 0,
    right: win.innerWidth,
    top: 0,
    bottom: win.innerHeight
  };
}
function getScale(elt, rect) {
  var scaleX = rect.width / elt.offsetWidth;
  var scaleY = rect.height / elt.offsetHeight;
  if (scaleX > 0.995 && scaleX < 1.005 || !isFinite(scaleX) || Math.abs(rect.width - elt.offsetWidth) < 1) scaleX = 1;
  if (scaleY > 0.995 && scaleY < 1.005 || !isFinite(scaleY) || Math.abs(rect.height - elt.offsetHeight) < 1) scaleY = 1;
  return {
    scaleX: scaleX,
    scaleY: scaleY
  };
}
function scrollRectIntoView(dom, rect, side, x, y, xMargin, yMargin, ltr) {
  var doc = dom.ownerDocument,
    win = doc.defaultView || window;
  for (var cur = dom, stop = false; cur && !stop;) {
    if (cur.nodeType == 1) {
      // Element
      var bounding = void 0,
        top = cur == doc.body;
      var scaleX = 1,
        scaleY = 1;
      if (top) {
        bounding = windowRect(win);
      } else {
        if (/^(fixed|sticky)$/.test(getComputedStyle(cur).position)) stop = true;
        if (cur.scrollHeight <= cur.clientHeight && cur.scrollWidth <= cur.clientWidth) {
          cur = cur.assignedSlot || cur.parentNode;
          continue;
        }
        var _rect = cur.getBoundingClientRect();
        // Make sure scrollbar width isn't included in the rectangle
        var _getScale = getScale(cur, _rect);
        scaleX = _getScale.scaleX;
        scaleY = _getScale.scaleY;
        bounding = {
          left: _rect.left,
          right: _rect.left + cur.clientWidth * scaleX,
          top: _rect.top,
          bottom: _rect.top + cur.clientHeight * scaleY
        };
      }
      var moveX = 0,
        moveY = 0;
      if (y == "nearest") {
        if (rect.top < bounding.top) {
          moveY = -(bounding.top - rect.top + yMargin);
          if (side > 0 && rect.bottom > bounding.bottom + moveY) moveY = rect.bottom - bounding.bottom + moveY + yMargin;
        } else if (rect.bottom > bounding.bottom) {
          moveY = rect.bottom - bounding.bottom + yMargin;
          if (side < 0 && rect.top - moveY < bounding.top) moveY = -(bounding.top + moveY - rect.top + yMargin);
        }
      } else {
        var rectHeight = rect.bottom - rect.top,
          boundingHeight = bounding.bottom - bounding.top;
        var targetTop = y == "center" && rectHeight <= boundingHeight ? rect.top + rectHeight / 2 - boundingHeight / 2 : y == "start" || y == "center" && side < 0 ? rect.top - yMargin : rect.bottom - boundingHeight + yMargin;
        moveY = targetTop - bounding.top;
      }
      if (x == "nearest") {
        if (rect.left < bounding.left) {
          moveX = -(bounding.left - rect.left + xMargin);
          if (side > 0 && rect.right > bounding.right + moveX) moveX = rect.right - bounding.right + moveX + xMargin;
        } else if (rect.right > bounding.right) {
          moveX = rect.right - bounding.right + xMargin;
          if (side < 0 && rect.left < bounding.left + moveX) moveX = -(bounding.left + moveX - rect.left + xMargin);
        }
      } else {
        var targetLeft = x == "center" ? rect.left + (rect.right - rect.left) / 2 - (bounding.right - bounding.left) / 2 : x == "start" == ltr ? rect.left - xMargin : rect.right - (bounding.right - bounding.left) + xMargin;
        moveX = targetLeft - bounding.left;
      }
      if (moveX || moveY) {
        if (top) {
          win.scrollBy(moveX, moveY);
        } else {
          var movedX = 0,
            movedY = 0;
          if (moveY) {
            var start = cur.scrollTop;
            cur.scrollTop += moveY / scaleY;
            movedY = (cur.scrollTop - start) * scaleY;
          }
          if (moveX) {
            var _start = cur.scrollLeft;
            cur.scrollLeft += moveX / scaleX;
            movedX = (cur.scrollLeft - _start) * scaleX;
          }
          rect = {
            left: rect.left - movedX,
            top: rect.top - movedY,
            right: rect.right - movedX,
            bottom: rect.bottom - movedY
          };
          if (movedX && Math.abs(movedX - moveX) < 1) x = "nearest";
          if (movedY && Math.abs(movedY - moveY) < 1) y = "nearest";
        }
      }
      if (top) break;
      cur = cur.assignedSlot || cur.parentNode;
    } else if (cur.nodeType == 11) {
      // A shadow root
      cur = cur.host;
    } else {
      break;
    }
  }
}
function scrollableParent(dom) {
  var doc = dom.ownerDocument;
  for (var cur = dom.parentNode; cur;) {
    if (cur == doc.body) {
      break;
    } else if (cur.nodeType == 1) {
      if (cur.scrollHeight > cur.clientHeight || cur.scrollWidth > cur.clientWidth) return cur;
      cur = cur.assignedSlot || cur.parentNode;
    } else if (cur.nodeType == 11) {
      cur = cur.host;
    } else {
      break;
    }
  }
  return null;
}
var DOMSelectionState = /*#__PURE__*/function () {
  function DOMSelectionState() {
    _classCallCheck(this, DOMSelectionState);
    this.anchorNode = null;
    this.anchorOffset = 0;
    this.focusNode = null;
    this.focusOffset = 0;
  }
  return _createClass(DOMSelectionState, [{
    key: "eq",
    value: function eq(domSel) {
      return this.anchorNode == domSel.anchorNode && this.anchorOffset == domSel.anchorOffset && this.focusNode == domSel.focusNode && this.focusOffset == domSel.focusOffset;
    }
  }, {
    key: "setRange",
    value: function setRange(range) {
      var anchorNode = range.anchorNode,
        focusNode = range.focusNode;
      // Clip offsets to node size to avoid crashes when Safari reports bogus offsets (#1152)
      this.set(anchorNode, Math.min(range.anchorOffset, anchorNode ? maxOffset(anchorNode) : 0), focusNode, Math.min(range.focusOffset, focusNode ? maxOffset(focusNode) : 0));
    }
  }, {
    key: "set",
    value: function set(anchorNode, anchorOffset, focusNode, focusOffset) {
      this.anchorNode = anchorNode;
      this.anchorOffset = anchorOffset;
      this.focusNode = focusNode;
      this.focusOffset = focusOffset;
    }
  }]);
}();
var preventScrollSupported = null;
// Feature-detects support for .focus({preventScroll: true}), and uses
// a fallback kludge when not supported.
function focusPreventScroll(dom) {
  if (dom.setActive) return dom.setActive(); // in IE
  if (preventScrollSupported) return dom.focus(preventScrollSupported);
  var stack = [];
  for (var cur = dom; cur; cur = cur.parentNode) {
    stack.push(cur, cur.scrollTop, cur.scrollLeft);
    if (cur == cur.ownerDocument) break;
  }
  dom.focus(preventScrollSupported == null ? {
    get preventScroll() {
      preventScrollSupported = {
        preventScroll: true
      };
      return true;
    }
  } : undefined);
  if (!preventScrollSupported) {
    preventScrollSupported = false;
    for (var i = 0; i < stack.length;) {
      var elt = stack[i++],
        top = stack[i++],
        left = stack[i++];
      if (elt.scrollTop != top) elt.scrollTop = top;
      if (elt.scrollLeft != left) elt.scrollLeft = left;
    }
  }
}
var scratchRange;
function textRange(node, from) {
  var to = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : from;
  var range = scratchRange || (scratchRange = document.createRange());
  range.setEnd(node, to);
  range.setStart(node, from);
  return range;
}
function dispatchKey(elt, name, code, mods) {
  var options = {
    key: name,
    code: name,
    keyCode: code,
    which: code,
    cancelable: true
  };
  if (mods) {
    options.altKey = mods.altKey;
    options.ctrlKey = mods.ctrlKey;
    options.shiftKey = mods.shiftKey;
    options.metaKey = mods.metaKey;
  }
  var down = new KeyboardEvent("keydown", options);
  down.synthetic = true;
  elt.dispatchEvent(down);
  var up = new KeyboardEvent("keyup", options);
  up.synthetic = true;
  elt.dispatchEvent(up);
  return down.defaultPrevented || up.defaultPrevented;
}
function getRoot(node) {
  while (node) {
    if (node && (node.nodeType == 9 || node.nodeType == 11 && node.host)) return node;
    node = node.assignedSlot || node.parentNode;
  }
  return null;
}
function clearAttributes(node) {
  while (node.attributes.length) node.removeAttributeNode(node.attributes[0]);
}
function atElementStart(doc, selection) {
  var node = selection.focusNode,
    offset = selection.focusOffset;
  if (!node || selection.anchorNode != node || selection.anchorOffset != offset) return false;
  // Safari can report bogus offsets (#1152)
  offset = Math.min(offset, maxOffset(node));
  for (;;) {
    if (offset) {
      if (node.nodeType != 1) return false;
      var prev = node.childNodes[offset - 1];
      if (prev.contentEditable == "false") offset--;else {
        node = prev;
        offset = maxOffset(node);
      }
    } else if (node == doc) {
      return true;
    } else {
      offset = domIndex(node);
      node = node.parentNode;
    }
  }
}
function isScrolledToBottom(elt) {
  return elt.scrollTop > Math.max(1, elt.scrollHeight - elt.clientHeight - 4);
}
var DOMPos = /*#__PURE__*/function () {
  function DOMPos(node, offset) {
    var precise = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
    _classCallCheck(this, DOMPos);
    this.node = node;
    this.offset = offset;
    this.precise = precise;
  }
  return _createClass(DOMPos, null, [{
    key: "before",
    value: function before(dom, precise) {
      return new DOMPos(dom.parentNode, domIndex(dom), precise);
    }
  }, {
    key: "after",
    value: function after(dom, precise) {
      return new DOMPos(dom.parentNode, domIndex(dom) + 1, precise);
    }
  }]);
}();
var noChildren = [];
var ContentView = /*#__PURE__*/function () {
  function ContentView() {
    _classCallCheck(this, ContentView);
    this.parent = null;
    this.dom = null;
    this.flags = 2 /* ViewFlag.NodeDirty */;
  }
  return _createClass(ContentView, [{
    key: "overrideDOMText",
    get: function get() {
      return null;
    }
  }, {
    key: "posAtStart",
    get: function get() {
      return this.parent ? this.parent.posBefore(this) : 0;
    }
  }, {
    key: "posAtEnd",
    get: function get() {
      return this.posAtStart + this.length;
    }
  }, {
    key: "posBefore",
    value: function posBefore(view) {
      var pos = this.posAtStart;
      var _iterator = _createForOfIteratorHelper(this.children),
        _step;
      try {
        for (_iterator.s(); !(_step = _iterator.n()).done;) {
          var child = _step.value;
          if (child == view) return pos;
          pos += child.length + child.breakAfter;
        }
      } catch (err) {
        _iterator.e(err);
      } finally {
        _iterator.f();
      }
      throw new RangeError("Invalid child in posBefore");
    }
  }, {
    key: "posAfter",
    value: function posAfter(view) {
      return this.posBefore(view) + view.length;
    }
  }, {
    key: "sync",
    value: function sync(view, track) {
      if (this.flags & 2 /* ViewFlag.NodeDirty */) {
        var parent = this.dom;
        var prev = null,
          next;
        var _iterator2 = _createForOfIteratorHelper(this.children),
          _step2;
        try {
          for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
            var child = _step2.value;
            if (child.flags & 7 /* ViewFlag.Dirty */) {
              if (!child.dom && (next = prev ? prev.nextSibling : parent.firstChild)) {
                var contentView = ContentView.get(next);
                if (!contentView || !contentView.parent && contentView.canReuseDOM(child)) child.reuseDOM(next);
              }
              child.sync(view, track);
              child.flags &= ~7 /* ViewFlag.Dirty */;
            }
            next = prev ? prev.nextSibling : parent.firstChild;
            if (track && !track.written && track.node == parent && next != child.dom) track.written = true;
            if (child.dom.parentNode == parent) {
              while (next && next != child.dom) next = rm$1(next);
            } else {
              parent.insertBefore(child.dom, next);
            }
            prev = child.dom;
          }
        } catch (err) {
          _iterator2.e(err);
        } finally {
          _iterator2.f();
        }
        next = prev ? prev.nextSibling : parent.firstChild;
        if (next && track && track.node == parent) track.written = true;
        while (next) next = rm$1(next);
      } else if (this.flags & 1 /* ViewFlag.ChildDirty */) {
        var _iterator3 = _createForOfIteratorHelper(this.children),
          _step3;
        try {
          for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
            var _child = _step3.value;
            if (_child.flags & 7 /* ViewFlag.Dirty */) {
              _child.sync(view, track);
              _child.flags &= ~7 /* ViewFlag.Dirty */;
            }
          }
        } catch (err) {
          _iterator3.e(err);
        } finally {
          _iterator3.f();
        }
      }
    }
  }, {
    key: "reuseDOM",
    value: function reuseDOM(_dom) {}
  }, {
    key: "localPosFromDOM",
    value: function localPosFromDOM(node, offset) {
      var after;
      if (node == this.dom) {
        after = this.dom.childNodes[offset];
      } else {
        var bias = maxOffset(node) == 0 ? 0 : offset == 0 ? -1 : 1;
        for (;;) {
          var parent = node.parentNode;
          if (parent == this.dom) break;
          if (bias == 0 && parent.firstChild != parent.lastChild) {
            if (node == parent.firstChild) bias = -1;else bias = 1;
          }
          node = parent;
        }
        if (bias < 0) after = node;else after = node.nextSibling;
      }
      if (after == this.dom.firstChild) return 0;
      while (after && !ContentView.get(after)) after = after.nextSibling;
      if (!after) return this.length;
      for (var i = 0, pos = 0;; i++) {
        var child = this.children[i];
        if (child.dom == after) return pos;
        pos += child.length + child.breakAfter;
      }
    }
  }, {
    key: "domBoundsAround",
    value: function domBoundsAround(from, to) {
      var offset = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;
      var fromI = -1,
        fromStart = -1,
        toI = -1,
        toEnd = -1;
      for (var i = 0, pos = offset, prevEnd = offset; i < this.children.length; i++) {
        var child = this.children[i],
          end = pos + child.length;
        if (pos < from && end > to) return child.domBoundsAround(from, to, pos);
        if (end >= from && fromI == -1) {
          fromI = i;
          fromStart = pos;
        }
        if (pos > to && child.dom.parentNode == this.dom) {
          toI = i;
          toEnd = prevEnd;
          break;
        }
        prevEnd = end;
        pos = end + child.breakAfter;
      }
      return {
        from: fromStart,
        to: toEnd < 0 ? offset + this.length : toEnd,
        startDOM: (fromI ? this.children[fromI - 1].dom.nextSibling : null) || this.dom.firstChild,
        endDOM: toI < this.children.length && toI >= 0 ? this.children[toI].dom : null
      };
    }
  }, {
    key: "markDirty",
    value: function markDirty() {
      var andParent = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
      this.flags |= 2 /* ViewFlag.NodeDirty */;
      this.markParentsDirty(andParent);
    }
  }, {
    key: "markParentsDirty",
    value: function markParentsDirty(childList) {
      for (var parent = this.parent; parent; parent = parent.parent) {
        if (childList) parent.flags |= 2 /* ViewFlag.NodeDirty */;
        if (parent.flags & 1 /* ViewFlag.ChildDirty */) return;
        parent.flags |= 1 /* ViewFlag.ChildDirty */;
        childList = false;
      }
    }
  }, {
    key: "setParent",
    value: function setParent(parent) {
      if (this.parent != parent) {
        this.parent = parent;
        if (this.flags & 7 /* ViewFlag.Dirty */) this.markParentsDirty(true);
      }
    }
  }, {
    key: "setDOM",
    value: function setDOM(dom) {
      if (this.dom == dom) return;
      if (this.dom) this.dom.cmView = null;
      this.dom = dom;
      dom.cmView = this;
    }
  }, {
    key: "rootView",
    get: function get() {
      for (var v = this;;) {
        var parent = v.parent;
        if (!parent) return v;
        v = parent;
      }
    }
  }, {
    key: "replaceChildren",
    value: function replaceChildren(from, to) {
      var _this$children;
      var children = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : noChildren;
      this.markDirty();
      for (var i = from; i < to; i++) {
        var child = this.children[i];
        if (child.parent == this && children.indexOf(child) < 0) child.destroy();
      }
      (_this$children = this.children).splice.apply(_this$children, [from, to - from].concat(_toConsumableArray(children)));
      for (var _i = 0; _i < children.length; _i++) children[_i].setParent(this);
    }
  }, {
    key: "ignoreMutation",
    value: function ignoreMutation(_rec) {
      return false;
    }
  }, {
    key: "ignoreEvent",
    value: function ignoreEvent(_event) {
      return false;
    }
  }, {
    key: "childCursor",
    value: function childCursor() {
      var pos = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.length;
      return new ChildCursor(this.children, pos, this.children.length);
    }
  }, {
    key: "childPos",
    value: function childPos(pos) {
      var bias = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
      return this.childCursor().findPos(pos, bias);
    }
  }, {
    key: "toString",
    value: function toString() {
      var name = this.constructor.name.replace("View", "");
      return name + (this.children.length ? "(" + this.children.join() + ")" : this.length ? "[" + (name == "Text" ? this.text : this.length) + "]" : "") + (this.breakAfter ? "#" : "");
    }
  }, {
    key: "isEditable",
    get: function get() {
      return true;
    }
  }, {
    key: "isWidget",
    get: function get() {
      return false;
    }
  }, {
    key: "isHidden",
    get: function get() {
      return false;
    }
  }, {
    key: "merge",
    value: function merge(from, to, source, hasStart, openStart, openEnd) {
      return false;
    }
  }, {
    key: "become",
    value: function become(other) {
      return false;
    }
  }, {
    key: "canReuseDOM",
    value: function canReuseDOM(other) {
      return other.constructor == this.constructor && !((this.flags | other.flags) & 8 /* ViewFlag.Composition */);
    }
    // When this is a zero-length view with a side, this should return a
    // number <= 0 to indicate it is before its position, or a
    // number > 0 when after its position.
  }, {
    key: "getSide",
    value: function getSide() {
      return 0;
    }
  }, {
    key: "destroy",
    value: function destroy() {
      var _iterator4 = _createForOfIteratorHelper(this.children),
        _step4;
      try {
        for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
          var child = _step4.value;
          if (child.parent == this) child.destroy();
        }
      } catch (err) {
        _iterator4.e(err);
      } finally {
        _iterator4.f();
      }
      this.parent = null;
    }
  }], [{
    key: "get",
    value: function get(node) {
      return node.cmView;
    }
  }]);
}();
ContentView.prototype.breakAfter = 0;
// Remove a DOM node and return its next sibling.
function rm$1(dom) {
  var next = dom.nextSibling;
  dom.parentNode.removeChild(dom);
  return next;
}
var ChildCursor = /*#__PURE__*/function () {
  function ChildCursor(children, pos, i) {
    _classCallCheck(this, ChildCursor);
    this.children = children;
    this.pos = pos;
    this.i = i;
    this.off = 0;
  }
  return _createClass(ChildCursor, [{
    key: "findPos",
    value: function findPos(pos) {
      var bias = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
      for (;;) {
        if (pos > this.pos || pos == this.pos && (bias > 0 || this.i == 0 || this.children[this.i - 1].breakAfter)) {
          this.off = pos - this.pos;
          return this;
        }
        var next = this.children[--this.i];
        this.pos -= next.length + next.breakAfter;
      }
    }
  }]);
}();
function replaceRange(parent, fromI, fromOff, toI, toOff, insert, breakAtStart, openStart, openEnd) {
  var children = parent.children;
  var before = children.length ? children[fromI] : null;
  var last = insert.length ? insert[insert.length - 1] : null;
  var breakAtEnd = last ? last.breakAfter : breakAtStart;
  // Change within a single child
  if (fromI == toI && before && !breakAtStart && !breakAtEnd && insert.length < 2 && before.merge(fromOff, toOff, insert.length ? last : null, fromOff == 0, openStart, openEnd)) return;
  if (toI < children.length) {
    var after = children[toI];
    // Make sure the end of the child after the update is preserved in `after`
    if (after && (toOff < after.length || after.breakAfter && (last === null || last === void 0 ? void 0 : last.breakAfter))) {
      // If we're splitting a child, separate part of it to avoid that
      // being mangled when updating the child before the update.
      if (fromI == toI) {
        after = after.split(toOff);
        toOff = 0;
      }
      // If the element after the replacement should be merged with
      // the last replacing element, update `content`
      if (!breakAtEnd && last && after.merge(0, toOff, last, true, 0, openEnd)) {
        insert[insert.length - 1] = after;
      } else {
        // Remove the start of the after element, if necessary, and
        // add it to `content`.
        if (toOff || after.children.length && !after.children[0].length) after.merge(0, toOff, null, false, 0, openEnd);
        insert.push(after);
      }
    } else if (after === null || after === void 0 ? void 0 : after.breakAfter) {
      // The element at `toI` is entirely covered by this range.
      // Preserve its line break, if any.
      if (last) last.breakAfter = 1;else breakAtStart = 1;
    }
    // Since we've handled the next element from the current elements
    // now, make sure `toI` points after that.
    toI++;
  }
  if (before) {
    before.breakAfter = breakAtStart;
    if (fromOff > 0) {
      if (!breakAtStart && insert.length && before.merge(fromOff, before.length, insert[0], false, openStart, 0)) {
        before.breakAfter = insert.shift().breakAfter;
      } else if (fromOff < before.length || before.children.length && before.children[before.children.length - 1].length == 0) {
        before.merge(fromOff, before.length, null, false, openStart, 0);
      }
      fromI++;
    }
  }
  // Try to merge widgets on the boundaries of the replacement
  while (fromI < toI && insert.length) {
    if (children[toI - 1].become(insert[insert.length - 1])) {
      toI--;
      insert.pop();
      openEnd = insert.length ? 0 : openStart;
    } else if (children[fromI].become(insert[0])) {
      fromI++;
      insert.shift();
      openStart = insert.length ? 0 : openEnd;
    } else {
      break;
    }
  }
  if (!insert.length && fromI && toI < children.length && !children[fromI - 1].breakAfter && children[toI].merge(0, 0, children[fromI - 1], false, openStart, openEnd)) fromI--;
  if (fromI < toI || insert.length) parent.replaceChildren(fromI, toI, insert);
}
function mergeChildrenInto(parent, from, to, insert, openStart, openEnd) {
  var cur = parent.childCursor();
  var _cur$findPos = cur.findPos(to, 1),
    toI = _cur$findPos.i,
    toOff = _cur$findPos.off;
  var _cur$findPos2 = cur.findPos(from, -1),
    fromI = _cur$findPos2.i,
    fromOff = _cur$findPos2.off;
  var dLen = from - to;
  var _iterator5 = _createForOfIteratorHelper(insert),
    _step5;
  try {
    for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
      var view = _step5.value;
      dLen += view.length;
    }
  } catch (err) {
    _iterator5.e(err);
  } finally {
    _iterator5.f();
  }
  parent.length += dLen;
  replaceRange(parent, fromI, fromOff, toI, toOff, insert, 0, openStart, openEnd);
}
var nav = typeof navigator != "undefined" ? navigator : {
  userAgent: "",
  vendor: "",
  platform: ""
};
var doc = typeof document != "undefined" ? document : {
  documentElement: {
    style: {}
  }
};
var ie_edge = /*@__PURE__*/ /Edge\/(\d+)/.exec(nav.userAgent);
var ie_upto10 = /*@__PURE__*/ /MSIE \d/.test(nav.userAgent);
var ie_11up = /*@__PURE__*/ /Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(nav.userAgent);
var ie = !!(ie_upto10 || ie_11up || ie_edge);
var gecko = !ie && /*@__PURE__*/ /gecko\/(\d+)/i.test(nav.userAgent);
var chrome = !ie && /*@__PURE__*/ /Chrome\/(\d+)/.exec(nav.userAgent);
var webkit = ("webkitFontSmoothing" in doc.documentElement.style);
var safari = !ie && /*@__PURE__*/ /Apple Computer/.test(nav.vendor);
var ios = safari && ( /*@__PURE__*/ /Mobile\/\w+/.test(nav.userAgent) || nav.maxTouchPoints > 2);
var browser = {
  mac: ios || /*@__PURE__*/ /Mac/.test(nav.platform),
  windows: /*@__PURE__*/ /Win/.test(nav.platform),
  linux: /*@__PURE__*/ /Linux|X11/.test(nav.platform),
  ie: ie,
  ie_version: ie_upto10 ? doc.documentMode || 6 : ie_11up ? +ie_11up[1] : ie_edge ? +ie_edge[1] : 0,
  gecko: gecko,
  gecko_version: gecko ? +( /*@__PURE__*/ /Firefox\/(\d+)/.exec(nav.userAgent) || [0, 0])[1] : 0,
  chrome: !!chrome,
  chrome_version: chrome ? +chrome[1] : 0,
  ios: ios,
  android: /*@__PURE__*/ /Android\b/.test(nav.userAgent),
  webkit: webkit,
  safari: safari,
  webkit_version: webkit ? +( /*@__PURE__*/ /\bAppleWebKit\/(\d+)/.exec(navigator.userAgent) || [0, 0])[1] : 0,
  tabSize: doc.documentElement.style.tabSize != null ? "tab-size" : "-moz-tab-size"
};
var MaxJoinLen = 256;
var TextView = /*#__PURE__*/function (_ContentView) {
  function TextView(text) {
    var _this;
    _classCallCheck(this, TextView);
    _this = _callSuper(this, TextView);
    _this.text = text;
    return _this;
  }
  _inherits(TextView, _ContentView);
  return _createClass(TextView, [{
    key: "length",
    get: function get() {
      return this.text.length;
    }
  }, {
    key: "createDOM",
    value: function createDOM(textDOM) {
      this.setDOM(textDOM || document.createTextNode(this.text));
    }
  }, {
    key: "sync",
    value: function sync(view, track) {
      if (!this.dom) this.createDOM();
      if (this.dom.nodeValue != this.text) {
        if (track && track.node == this.dom) track.written = true;
        this.dom.nodeValue = this.text;
      }
    }
  }, {
    key: "reuseDOM",
    value: function reuseDOM(dom) {
      if (dom.nodeType == 3) this.createDOM(dom);
    }
  }, {
    key: "merge",
    value: function merge(from, to, source) {
      if (this.flags & 8 /* ViewFlag.Composition */ || source && (!(source instanceof TextView) || this.length - (to - from) + source.length > MaxJoinLen || source.flags & 8 /* ViewFlag.Composition */)) return false;
      this.text = this.text.slice(0, from) + (source ? source.text : "") + this.text.slice(to);
      this.markDirty();
      return true;
    }
  }, {
    key: "split",
    value: function split(from) {
      var result = new TextView(this.text.slice(from));
      this.text = this.text.slice(0, from);
      this.markDirty();
      result.flags |= this.flags & 8 /* ViewFlag.Composition */;
      return result;
    }
  }, {
    key: "localPosFromDOM",
    value: function localPosFromDOM(node, offset) {
      return node == this.dom ? offset : offset ? this.text.length : 0;
    }
  }, {
    key: "domAtPos",
    value: function domAtPos(pos) {
      return new DOMPos(this.dom, pos);
    }
  }, {
    key: "domBoundsAround",
    value: function domBoundsAround(_from, _to, offset) {
      return {
        from: offset,
        to: offset + this.length,
        startDOM: this.dom,
        endDOM: this.dom.nextSibling
      };
    }
  }, {
    key: "coordsAt",
    value: function coordsAt(pos, side) {
      return textCoords(this.dom, pos, side);
    }
  }]);
}(ContentView);
var MarkView = /*#__PURE__*/function (_ContentView2) {
  function MarkView(mark) {
    var _this2;
    var children = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
    var length = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;
    _classCallCheck(this, MarkView);
    _this2 = _callSuper(this, MarkView);
    _this2.mark = mark;
    _this2.children = children;
    _this2.length = length;
    var _iterator6 = _createForOfIteratorHelper(children),
      _step6;
    try {
      for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {
        var ch = _step6.value;
        ch.setParent(_this2);
      }
    } catch (err) {
      _iterator6.e(err);
    } finally {
      _iterator6.f();
    }
    return _this2;
  }
  _inherits(MarkView, _ContentView2);
  return _createClass(MarkView, [{
    key: "setAttrs",
    value: function setAttrs(dom) {
      clearAttributes(dom);
      if (this.mark["class"]) dom.className = this.mark["class"];
      if (this.mark.attrs) for (var name in this.mark.attrs) dom.setAttribute(name, this.mark.attrs[name]);
      return dom;
    }
  }, {
    key: "canReuseDOM",
    value: function canReuseDOM(other) {
      return _get(_getPrototypeOf(MarkView.prototype), "canReuseDOM", this).call(this, other) && !((this.flags | other.flags) & 8 /* ViewFlag.Composition */);
    }
  }, {
    key: "reuseDOM",
    value: function reuseDOM(node) {
      if (node.nodeName == this.mark.tagName.toUpperCase()) {
        this.setDOM(node);
        this.flags |= 4 /* ViewFlag.AttrsDirty */ | 2 /* ViewFlag.NodeDirty */;
      }
    }
  }, {
    key: "sync",
    value: function sync(view, track) {
      if (!this.dom) this.setDOM(this.setAttrs(document.createElement(this.mark.tagName)));else if (this.flags & 4 /* ViewFlag.AttrsDirty */) this.setAttrs(this.dom);
      _get(_getPrototypeOf(MarkView.prototype), "sync", this).call(this, view, track);
    }
  }, {
    key: "merge",
    value: function merge(from, to, source, _hasStart, openStart, openEnd) {
      if (source && (!(source instanceof MarkView && source.mark.eq(this.mark)) || from && openStart <= 0 || to < this.length && openEnd <= 0)) return false;
      mergeChildrenInto(this, from, to, source ? source.children.slice() : [], openStart - 1, openEnd - 1);
      this.markDirty();
      return true;
    }
  }, {
    key: "split",
    value: function split(from) {
      var result = [],
        off = 0,
        detachFrom = -1,
        i = 0;
      var _iterator7 = _createForOfIteratorHelper(this.children),
        _step7;
      try {
        for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {
          var elt = _step7.value;
          var end = off + elt.length;
          if (end > from) result.push(off < from ? elt.split(from - off) : elt);
          if (detachFrom < 0 && off >= from) detachFrom = i;
          off = end;
          i++;
        }
      } catch (err) {
        _iterator7.e(err);
      } finally {
        _iterator7.f();
      }
      var length = this.length - from;
      this.length = from;
      if (detachFrom > -1) {
        this.children.length = detachFrom;
        this.markDirty();
      }
      return new MarkView(this.mark, result, length);
    }
  }, {
    key: "domAtPos",
    value: function domAtPos(pos) {
      return inlineDOMAtPos(this, pos);
    }
  }, {
    key: "coordsAt",
    value: function coordsAt(pos, side) {
      return coordsInChildren(this, pos, side);
    }
  }]);
}(ContentView);
function textCoords(text, pos, side) {
  var length = text.nodeValue.length;
  if (pos > length) pos = length;
  var from = pos,
    to = pos,
    flatten = 0;
  if (pos == 0 && side < 0 || pos == length && side >= 0) {
    if (!(browser.chrome || browser.gecko)) {
      // These browsers reliably return valid rectangles for empty ranges
      if (pos) {
        from--;
        flatten = 1;
      } // FIXME this is wrong in RTL text
      else if (to < length) {
        to++;
        flatten = -1;
      }
    }
  } else {
    if (side < 0) from--;else if (to < length) to++;
  }
  var rects = textRange(text, from, to).getClientRects();
  if (!rects.length) return null;
  var rect = rects[(flatten ? flatten < 0 : side >= 0) ? 0 : rects.length - 1];
  if (browser.safari && !flatten && rect.width == 0) rect = Array.prototype.find.call(rects, function (r) {
    return r.width;
  }) || rect;
  return flatten ? flattenRect(rect, flatten < 0) : rect || null;
}
// Also used for collapsed ranges that don't have a placeholder widget!
var WidgetView = /*#__PURE__*/function (_ContentView3) {
  function WidgetView(widget, length, side) {
    var _this3;
    _classCallCheck(this, WidgetView);
    _this3 = _callSuper(this, WidgetView);
    _this3.widget = widget;
    _this3.length = length;
    _this3.side = side;
    _this3.prevWidget = null;
    return _this3;
  }
  _inherits(WidgetView, _ContentView3);
  return _createClass(WidgetView, [{
    key: "split",
    value: function split(from) {
      var result = WidgetView.create(this.widget, this.length - from, this.side);
      this.length -= from;
      return result;
    }
  }, {
    key: "sync",
    value: function sync(view) {
      if (!this.dom || !this.widget.updateDOM(this.dom, view)) {
        if (this.dom && this.prevWidget) this.prevWidget.destroy(this.dom);
        this.prevWidget = null;
        this.setDOM(this.widget.toDOM(view));
        if (!this.widget.editable) this.dom.contentEditable = "false";
      }
    }
  }, {
    key: "getSide",
    value: function getSide() {
      return this.side;
    }
  }, {
    key: "merge",
    value: function merge(from, to, source, hasStart, openStart, openEnd) {
      if (source && (!(source instanceof WidgetView) || !this.widget.compare(source.widget) || from > 0 && openStart <= 0 || to < this.length && openEnd <= 0)) return false;
      this.length = from + (source ? source.length : 0) + (this.length - to);
      return true;
    }
  }, {
    key: "become",
    value: function become(other) {
      if (other instanceof WidgetView && other.side == this.side && this.widget.constructor == other.widget.constructor) {
        if (!this.widget.compare(other.widget)) this.markDirty(true);
        if (this.dom && !this.prevWidget) this.prevWidget = this.widget;
        this.widget = other.widget;
        this.length = other.length;
        return true;
      }
      return false;
    }
  }, {
    key: "ignoreMutation",
    value: function ignoreMutation() {
      return true;
    }
  }, {
    key: "ignoreEvent",
    value: function ignoreEvent(event) {
      return this.widget.ignoreEvent(event);
    }
  }, {
    key: "overrideDOMText",
    get: function get() {
      if (this.length == 0) return _state.Text.empty;
      var top = this;
      while (top.parent) top = top.parent;
      var _top = top,
        view = _top.view,
        text = view && view.state.doc,
        start = this.posAtStart;
      return text ? text.slice(start, start + this.length) : _state.Text.empty;
    }
  }, {
    key: "domAtPos",
    value: function domAtPos(pos) {
      return (this.length ? pos == 0 : this.side > 0) ? DOMPos.before(this.dom) : DOMPos.after(this.dom, pos == this.length);
    }
  }, {
    key: "domBoundsAround",
    value: function domBoundsAround() {
      return null;
    }
  }, {
    key: "coordsAt",
    value: function coordsAt(pos, side) {
      var custom = this.widget.coordsAt(this.dom, pos, side);
      if (custom) return custom;
      var rects = this.dom.getClientRects(),
        rect = null;
      if (!rects.length) return null;
      var fromBack = this.side ? this.side < 0 : pos > 0;
      for (var i = fromBack ? rects.length - 1 : 0;; i += fromBack ? -1 : 1) {
        rect = rects[i];
        if (pos > 0 ? i == 0 : i == rects.length - 1 || rect.top < rect.bottom) break;
      }
      return flattenRect(rect, !fromBack);
    }
  }, {
    key: "isEditable",
    get: function get() {
      return false;
    }
  }, {
    key: "isWidget",
    get: function get() {
      return true;
    }
  }, {
    key: "isHidden",
    get: function get() {
      return this.widget.isHidden;
    }
  }, {
    key: "destroy",
    value: function destroy() {
      _get(_getPrototypeOf(WidgetView.prototype), "destroy", this).call(this);
      if (this.dom) this.widget.destroy(this.dom);
    }
  }], [{
    key: "create",
    value: function create(widget, length, side) {
      return new WidgetView(widget, length, side);
    }
  }]);
}(ContentView); // These are drawn around uneditable widgets to avoid a number of
// browser bugs that show up when the cursor is directly next to
// uneditable inline content.
var WidgetBufferView = /*#__PURE__*/function (_ContentView4) {
  function WidgetBufferView(side) {
    var _this4;
    _classCallCheck(this, WidgetBufferView);
    _this4 = _callSuper(this, WidgetBufferView);
    _this4.side = side;
    return _this4;
  }
  _inherits(WidgetBufferView, _ContentView4);
  return _createClass(WidgetBufferView, [{
    key: "length",
    get: function get() {
      return 0;
    }
  }, {
    key: "merge",
    value: function merge() {
      return false;
    }
  }, {
    key: "become",
    value: function become(other) {
      return other instanceof WidgetBufferView && other.side == this.side;
    }
  }, {
    key: "split",
    value: function split() {
      return new WidgetBufferView(this.side);
    }
  }, {
    key: "sync",
    value: function sync() {
      if (!this.dom) {
        var dom = document.createElement("img");
        dom.className = "cm-widgetBuffer";
        dom.setAttribute("aria-hidden", "true");
        this.setDOM(dom);
      }
    }
  }, {
    key: "getSide",
    value: function getSide() {
      return this.side;
    }
  }, {
    key: "domAtPos",
    value: function domAtPos(pos) {
      return this.side > 0 ? DOMPos.before(this.dom) : DOMPos.after(this.dom);
    }
  }, {
    key: "localPosFromDOM",
    value: function localPosFromDOM() {
      return 0;
    }
  }, {
    key: "domBoundsAround",
    value: function domBoundsAround() {
      return null;
    }
  }, {
    key: "coordsAt",
    value: function coordsAt(pos) {
      return this.dom.getBoundingClientRect();
    }
  }, {
    key: "overrideDOMText",
    get: function get() {
      return _state.Text.empty;
    }
  }, {
    key: "isHidden",
    get: function get() {
      return true;
    }
  }]);
}(ContentView);
TextView.prototype.children = WidgetView.prototype.children = WidgetBufferView.prototype.children = noChildren;
function inlineDOMAtPos(parent, pos) {
  var dom = parent.dom,
    children = parent.children,
    i = 0;
  for (var off = 0; i < children.length; i++) {
    var child = children[i],
      end = off + child.length;
    if (end == off && child.getSide() <= 0) continue;
    if (pos > off && pos < end && child.dom.parentNode == dom) return child.domAtPos(pos - off);
    if (pos <= off) break;
    off = end;
  }
  for (var j = i; j > 0; j--) {
    var prev = children[j - 1];
    if (prev.dom.parentNode == dom) return prev.domAtPos(prev.length);
  }
  for (var _j = i; _j < children.length; _j++) {
    var next = children[_j];
    if (next.dom.parentNode == dom) return next.domAtPos(0);
  }
  return new DOMPos(dom, 0);
}
// Assumes `view`, if a mark view, has precisely 1 child.
function joinInlineInto(parent, view, open) {
  var last,
    children = parent.children;
  if (open > 0 && view instanceof MarkView && children.length && (last = children[children.length - 1]) instanceof MarkView && last.mark.eq(view.mark)) {
    joinInlineInto(last, view.children[0], open - 1);
  } else {
    children.push(view);
    view.setParent(parent);
  }
  parent.length += view.length;
}
function coordsInChildren(view, pos, side) {
  var before = null,
    beforePos = -1,
    after = null,
    afterPos = -1;
  function scan(view, pos) {
    for (var i = 0, off = 0; i < view.children.length && off <= pos; i++) {
      var child = view.children[i],
        end = off + child.length;
      if (end >= pos) {
        if (child.children.length) {
          scan(child, pos - off);
        } else if ((!after || after.isHidden && side > 0) && (end > pos || off == end && child.getSide() > 0)) {
          after = child;
          afterPos = pos - off;
        } else if (off < pos || off == end && child.getSide() < 0 && !child.isHidden) {
          before = child;
          beforePos = pos - off;
        }
      }
      off = end;
    }
  }
  scan(view, pos);
  var target = (side < 0 ? before : after) || before || after;
  if (target) return target.coordsAt(Math.max(0, target == before ? beforePos : afterPos), side);
  return fallbackRect(view);
}
function fallbackRect(view) {
  var last = view.dom.lastChild;
  if (!last) return view.dom.getBoundingClientRect();
  var rects = clientRectsFor(last);
  return rects[rects.length - 1] || null;
}
function combineAttrs(source, target) {
  for (var name in source) {
    if (name == "class" && target["class"]) target["class"] += " " + source["class"];else if (name == "style" && target.style) target.style += ";" + source.style;else target[name] = source[name];
  }
  return target;
}
var noAttrs = /*@__PURE__*/Object.create(null);
function attrsEq(a, b, ignore) {
  if (a == b) return true;
  if (!a) a = noAttrs;
  if (!b) b = noAttrs;
  var keysA = Object.keys(a),
    keysB = Object.keys(b);
  if (keysA.length - (ignore && keysA.indexOf(ignore) > -1 ? 1 : 0) != keysB.length - (ignore && keysB.indexOf(ignore) > -1 ? 1 : 0)) return false;
  for (var _i2 = 0, _keysA = keysA; _i2 < _keysA.length; _i2++) {
    var key = _keysA[_i2];
    if (key != ignore && (keysB.indexOf(key) == -1 || a[key] !== b[key])) return false;
  }
  return true;
}
function _updateAttrs(dom, prev, attrs) {
  var changed = false;
  if (prev) for (var name in prev) if (!(attrs && name in attrs)) {
    changed = true;
    if (name == "style") dom.style.cssText = "";else dom.removeAttribute(name);
  }
  if (attrs) for (var _name in attrs) if (!(prev && prev[_name] == attrs[_name])) {
    changed = true;
    if (_name == "style") dom.style.cssText = attrs[_name];else dom.setAttribute(_name, attrs[_name]);
  }
  return changed;
}
function getAttrs(dom) {
  var attrs = Object.create(null);
  for (var i = 0; i < dom.attributes.length; i++) {
    var attr = dom.attributes[i];
    attrs[attr.name] = attr.value;
  }
  return attrs;
}
var LineView = /*#__PURE__*/function (_ContentView5) {
  function LineView() {
    var _this5;
    _classCallCheck(this, LineView);
    _this5 = _callSuper(this, LineView, arguments);
    _this5.children = [];
    _this5.length = 0;
    _this5.prevAttrs = undefined;
    _this5.attrs = null;
    _this5.breakAfter = 0;
    return _this5;
  }
  // Consumes source
  _inherits(LineView, _ContentView5);
  return _createClass(LineView, [{
    key: "merge",
    value: function merge(from, to, source, hasStart, openStart, openEnd) {
      if (source) {
        if (!(source instanceof LineView)) return false;
        if (!this.dom) source.transferDOM(this); // Reuse source.dom when appropriate
      }
      if (hasStart) this.setDeco(source ? source.attrs : null);
      mergeChildrenInto(this, from, to, source ? source.children.slice() : [], openStart, openEnd);
      return true;
    }
  }, {
    key: "split",
    value: function split(at) {
      var end = new LineView();
      end.breakAfter = this.breakAfter;
      if (this.length == 0) return end;
      var _this$childPos = this.childPos(at),
        i = _this$childPos.i,
        off = _this$childPos.off;
      if (off) {
        end.append(this.children[i].split(off), 0);
        this.children[i].merge(off, this.children[i].length, null, false, 0, 0);
        i++;
      }
      for (var j = i; j < this.children.length; j++) end.append(this.children[j], 0);
      while (i > 0 && this.children[i - 1].length == 0) this.children[--i].destroy();
      this.children.length = i;
      this.markDirty();
      this.length = at;
      return end;
    }
  }, {
    key: "transferDOM",
    value: function transferDOM(other) {
      if (!this.dom) return;
      this.markDirty();
      other.setDOM(this.dom);
      other.prevAttrs = this.prevAttrs === undefined ? this.attrs : this.prevAttrs;
      this.prevAttrs = undefined;
      this.dom = null;
    }
  }, {
    key: "setDeco",
    value: function setDeco(attrs) {
      if (!attrsEq(this.attrs, attrs)) {
        if (this.dom) {
          this.prevAttrs = this.attrs;
          this.markDirty();
        }
        this.attrs = attrs;
      }
    }
  }, {
    key: "append",
    value: function append(child, openStart) {
      joinInlineInto(this, child, openStart);
    }
    // Only called when building a line view in ContentBuilder
  }, {
    key: "addLineDeco",
    value: function addLineDeco(deco) {
      var attrs = deco.spec.attributes,
        cls = deco.spec["class"];
      if (attrs) this.attrs = combineAttrs(attrs, this.attrs || {});
      if (cls) this.attrs = combineAttrs({
        "class": cls
      }, this.attrs || {});
    }
  }, {
    key: "domAtPos",
    value: function domAtPos(pos) {
      return inlineDOMAtPos(this, pos);
    }
  }, {
    key: "reuseDOM",
    value: function reuseDOM(node) {
      if (node.nodeName == "DIV") {
        this.setDOM(node);
        this.flags |= 4 /* ViewFlag.AttrsDirty */ | 2 /* ViewFlag.NodeDirty */;
      }
    }
  }, {
    key: "sync",
    value: function sync(view, track) {
      var _a;
      if (!this.dom) {
        this.setDOM(document.createElement("div"));
        this.dom.className = "cm-line";
        this.prevAttrs = this.attrs ? null : undefined;
      } else if (this.flags & 4 /* ViewFlag.AttrsDirty */) {
        clearAttributes(this.dom);
        this.dom.className = "cm-line";
        this.prevAttrs = this.attrs ? null : undefined;
      }
      if (this.prevAttrs !== undefined) {
        _updateAttrs(this.dom, this.prevAttrs, this.attrs);
        this.dom.classList.add("cm-line");
        this.prevAttrs = undefined;
      }
      _get(_getPrototypeOf(LineView.prototype), "sync", this).call(this, view, track);
      var last = this.dom.lastChild;
      while (last && ContentView.get(last) instanceof MarkView) last = last.lastChild;
      if (!last || !this.length || last.nodeName != "BR" && ((_a = ContentView.get(last)) === null || _a === void 0 ? void 0 : _a.isEditable) == false && (!browser.ios || !this.children.some(function (ch) {
        return ch instanceof TextView;
      }))) {
        var hack = document.createElement("BR");
        hack.cmIgnore = true;
        this.dom.appendChild(hack);
      }
    }
  }, {
    key: "measureTextSize",
    value: function measureTextSize() {
      if (this.children.length == 0 || this.length > 20) return null;
      var totalWidth = 0,
        textHeight;
      var _iterator8 = _createForOfIteratorHelper(this.children),
        _step8;
      try {
        for (_iterator8.s(); !(_step8 = _iterator8.n()).done;) {
          var child = _step8.value;
          if (!(child instanceof TextView) || /[^ -~]/.test(child.text)) return null;
          var rects = clientRectsFor(child.dom);
          if (rects.length != 1) return null;
          totalWidth += rects[0].width;
          textHeight = rects[0].height;
        }
      } catch (err) {
        _iterator8.e(err);
      } finally {
        _iterator8.f();
      }
      return !totalWidth ? null : {
        lineHeight: this.dom.getBoundingClientRect().height,
        charWidth: totalWidth / this.length,
        textHeight: textHeight
      };
    }
  }, {
    key: "coordsAt",
    value: function coordsAt(pos, side) {
      var rect = coordsInChildren(this, pos, side);
      // Correct rectangle height for empty lines when the returned
      // height is larger than the text height.
      if (!this.children.length && rect && this.parent) {
        var heightOracle = this.parent.view.viewState.heightOracle,
          height = rect.bottom - rect.top;
        if (Math.abs(height - heightOracle.lineHeight) < 2 && heightOracle.textHeight < height) {
          var _dist = (height - heightOracle.textHeight) / 2;
          return {
            top: rect.top + _dist,
            bottom: rect.bottom - _dist,
            left: rect.left,
            right: rect.left
          };
        }
      }
      return rect;
    }
  }, {
    key: "become",
    value: function become(_other) {
      return false;
    }
  }, {
    key: "covers",
    value: function covers() {
      return true;
    }
  }], [{
    key: "find",
    value: function find(docView, pos) {
      for (var i = 0, off = 0; i < docView.children.length; i++) {
        var block = docView.children[i],
          end = off + block.length;
        if (end >= pos) {
          if (block instanceof LineView) return block;
          if (end > pos) break;
        }
        off = end + block.breakAfter;
      }
      return null;
    }
  }]);
}(ContentView);
var BlockWidgetView = /*#__PURE__*/function (_ContentView6) {
  function BlockWidgetView(widget, length, deco) {
    var _this6;
    _classCallCheck(this, BlockWidgetView);
    _this6 = _callSuper(this, BlockWidgetView);
    _this6.widget = widget;
    _this6.length = length;
    _this6.deco = deco;
    _this6.breakAfter = 0;
    _this6.prevWidget = null;
    return _this6;
  }
  _inherits(BlockWidgetView, _ContentView6);
  return _createClass(BlockWidgetView, [{
    key: "merge",
    value: function merge(from, to, source, _takeDeco, openStart, openEnd) {
      if (source && (!(source instanceof BlockWidgetView) || !this.widget.compare(source.widget) || from > 0 && openStart <= 0 || to < this.length && openEnd <= 0)) return false;
      this.length = from + (source ? source.length : 0) + (this.length - to);
      return true;
    }
  }, {
    key: "domAtPos",
    value: function domAtPos(pos) {
      return pos == 0 ? DOMPos.before(this.dom) : DOMPos.after(this.dom, pos == this.length);
    }
  }, {
    key: "split",
    value: function split(at) {
      var len = this.length - at;
      this.length = at;
      var end = new BlockWidgetView(this.widget, len, this.deco);
      end.breakAfter = this.breakAfter;
      return end;
    }
  }, {
    key: "children",
    get: function get() {
      return noChildren;
    }
  }, {
    key: "sync",
    value: function sync(view) {
      if (!this.dom || !this.widget.updateDOM(this.dom, view)) {
        if (this.dom && this.prevWidget) this.prevWidget.destroy(this.dom);
        this.prevWidget = null;
        this.setDOM(this.widget.toDOM(view));
        if (!this.widget.editable) this.dom.contentEditable = "false";
      }
    }
  }, {
    key: "overrideDOMText",
    get: function get() {
      return this.parent ? this.parent.view.state.doc.slice(this.posAtStart, this.posAtEnd) : _state.Text.empty;
    }
  }, {
    key: "domBoundsAround",
    value: function domBoundsAround() {
      return null;
    }
  }, {
    key: "become",
    value: function become(other) {
      if (other instanceof BlockWidgetView && other.widget.constructor == this.widget.constructor) {
        if (!other.widget.compare(this.widget)) this.markDirty(true);
        if (this.dom && !this.prevWidget) this.prevWidget = this.widget;
        this.widget = other.widget;
        this.length = other.length;
        this.deco = other.deco;
        this.breakAfter = other.breakAfter;
        return true;
      }
      return false;
    }
  }, {
    key: "ignoreMutation",
    value: function ignoreMutation() {
      return true;
    }
  }, {
    key: "ignoreEvent",
    value: function ignoreEvent(event) {
      return this.widget.ignoreEvent(event);
    }
  }, {
    key: "isEditable",
    get: function get() {
      return false;
    }
  }, {
    key: "isWidget",
    get: function get() {
      return true;
    }
  }, {
    key: "coordsAt",
    value: function coordsAt(pos, side) {
      return this.widget.coordsAt(this.dom, pos, side);
    }
  }, {
    key: "destroy",
    value: function destroy() {
      _get(_getPrototypeOf(BlockWidgetView.prototype), "destroy", this).call(this);
      if (this.dom) this.widget.destroy(this.dom);
    }
  }, {
    key: "covers",
    value: function covers(side) {
      var _this$deco = this.deco,
        startSide = _this$deco.startSide,
        endSide = _this$deco.endSide;
      return startSide == endSide ? false : side < 0 ? startSide < 0 : endSide > 0;
    }
  }]);
}(ContentView);
/**
Widgets added to the content are described by subclasses of this
class. Using a description object like that makes it possible to
delay creating of the DOM structure for a widget until it is
needed, and to avoid redrawing widgets even if the decorations
that define them are recreated.
*/
var WidgetType = exports.WidgetType = /*#__PURE__*/function () {
  function WidgetType() {
    _classCallCheck(this, WidgetType);
  }
  return _createClass(WidgetType, [{
    key: "eq",
    value:
    /**
    Compare this instance to another instance of the same type.
    (TypeScript can't express this, but only instances of the same
    specific class will be passed to this method.) This is used to
    avoid redrawing widgets when they are replaced by a new
    decoration of the same type. The default implementation just
    returns `false`, which will cause new instances of the widget to
    always be redrawn.
    */
    function eq(widget) {
      return false;
    }
    /**
    Update a DOM element created by a widget of the same type (but
    different, non-`eq` content) to reflect this widget. May return
    true to indicate that it could update, false to indicate it
    couldn't (in which case the widget will be redrawn). The default
    implementation just returns false.
    */
  }, {
    key: "updateDOM",
    value: function updateDOM(dom, view) {
      return false;
    }
    /**
    @internal
    */
  }, {
    key: "compare",
    value: function compare(other) {
      return this == other || this.constructor == other.constructor && this.eq(other);
    }
    /**
    The estimated height this widget will have, to be used when
    estimating the height of content that hasn't been drawn. May
    return -1 to indicate you don't know. The default implementation
    returns -1.
    */
  }, {
    key: "estimatedHeight",
    get: function get() {
      return -1;
    }
    /**
    For inline widgets that are displayed inline (as opposed to
    `inline-block`) and introduce line breaks (through `<br>` tags
    or textual newlines), this must indicate the amount of line
    breaks they introduce. Defaults to 0.
    */
  }, {
    key: "lineBreaks",
    get: function get() {
      return 0;
    }
    /**
    Can be used to configure which kinds of events inside the widget
    should be ignored by the editor. The default is to ignore all
    events.
    */
  }, {
    key: "ignoreEvent",
    value: function ignoreEvent(event) {
      return true;
    }
    /**
    Override the way screen coordinates for positions at/in the
    widget are found. `pos` will be the offset into the widget, and
    `side` the side of the position that is being queried—less than
    zero for before, greater than zero for after, and zero for
    directly at that position.
    */
  }, {
    key: "coordsAt",
    value: function coordsAt(dom, pos, side) {
      return null;
    }
    /**
    @internal
    */
  }, {
    key: "isHidden",
    get: function get() {
      return false;
    }
    /**
    @internal
    */
  }, {
    key: "editable",
    get: function get() {
      return false;
    }
    /**
    This is called when the an instance of the widget is removed
    from the editor view.
    */
  }, {
    key: "destroy",
    value: function destroy(dom) {}
  }]);
}();
/**
The different types of blocks that can occur in an editor view.
*/
var BlockType = exports.BlockType = /*@__PURE__*/function (BlockType) {
  /**
  A line of text.
  */
  BlockType[BlockType["Text"] = 0] = "Text";
  /**
  A block widget associated with the position after it.
  */
  BlockType[BlockType["WidgetBefore"] = 1] = "WidgetBefore";
  /**
  A block widget associated with the position before it.
  */
  BlockType[BlockType["WidgetAfter"] = 2] = "WidgetAfter";
  /**
  A block widget [replacing](https://codemirror.net/6/docs/ref/#view.Decoration^replace) a range of content.
  */
  BlockType[BlockType["WidgetRange"] = 3] = "WidgetRange";
  return BlockType;
}(BlockType || (exports.BlockType = BlockType = {}));
/**
A decoration provides information on how to draw or style a piece
of content. You'll usually use it wrapped in a
[`Range`](https://codemirror.net/6/docs/ref/#state.Range), which adds a start and end position.
@nonabstract
*/
var Decoration = exports.Decoration = /*#__PURE__*/function (_RangeValue) {
  function Decoration(
  /**
  @internal
  */
  startSide,
  /**
  @internal
  */
  endSide,
  /**
  @internal
  */
  widget,
  /**
  The config object used to create this decoration. You can
  include additional properties in there to store metadata about
  your decoration.
  */
  spec) {
    var _this7;
    _classCallCheck(this, Decoration);
    _this7 = _callSuper(this, Decoration);
    _this7.startSide = startSide;
    _this7.endSide = endSide;
    _this7.widget = widget;
    _this7.spec = spec;
    return _this7;
  }
  /**
  @internal
  */
  _inherits(Decoration, _RangeValue);
  return _createClass(Decoration, [{
    key: "heightRelevant",
    get: function get() {
      return false;
    }
    /**
    Create a mark decoration, which influences the styling of the
    content in its range. Nested mark decorations will cause nested
    DOM elements to be created. Nesting order is determined by
    precedence of the [facet](https://codemirror.net/6/docs/ref/#view.EditorView^decorations), with
    the higher-precedence decorations creating the inner DOM nodes.
    Such elements are split on line boundaries and on the boundaries
    of lower-precedence decorations.
    */
  }, {
    key: "hasHeight",
    value:
    /**
    @internal
    */
    function hasHeight() {
      return this.widget ? this.widget.estimatedHeight > -1 : false;
    }
  }], [{
    key: "mark",
    value: function mark(spec) {
      return new MarkDecoration(spec);
    }
    /**
    Create a widget decoration, which displays a DOM element at the
    given position.
    */
  }, {
    key: "widget",
    value: function widget(spec) {
      var side = Math.max(-10000, Math.min(10000, spec.side || 0)),
        block = !!spec.block;
      side += block && !spec.inlineOrder ? side > 0 ? 300000000 /* Side.BlockAfter */ : -400000000 /* Side.BlockBefore */ : side > 0 ? 100000000 /* Side.InlineAfter */ : -100000000 /* Side.InlineBefore */;
      return new PointDecoration(spec, side, side, block, spec.widget || null, false);
    }
    /**
    Create a replace decoration which replaces the given range with
    a widget, or simply hides it.
    */
  }, {
    key: "replace",
    value: function replace(spec) {
      var block = !!spec.block,
        startSide,
        endSide;
      if (spec.isBlockGap) {
        startSide = -500000000 /* Side.GapStart */;
        endSide = 400000000 /* Side.GapEnd */;
      } else {
        var _getInclusive = getInclusive(spec, block),
          start = _getInclusive.start,
          end = _getInclusive.end;
        startSide = (start ? block ? -300000000 /* Side.BlockIncStart */ : -1 /* Side.InlineIncStart */ : 500000000 /* Side.NonIncStart */) - 1;
        endSide = (end ? block ? 200000000 /* Side.BlockIncEnd */ : 1 /* Side.InlineIncEnd */ : -600000000 /* Side.NonIncEnd */) + 1;
      }
      return new PointDecoration(spec, startSide, endSide, block, spec.widget || null, true);
    }
    /**
    Create a line decoration, which can add DOM attributes to the
    line starting at the given position.
    */
  }, {
    key: "line",
    value: function line(spec) {
      return new LineDecoration(spec);
    }
    /**
    Build a [`DecorationSet`](https://codemirror.net/6/docs/ref/#view.DecorationSet) from the given
    decorated range or ranges. If the ranges aren't already sorted,
    pass `true` for `sort` to make the library sort them for you.
    */
  }, {
    key: "set",
    value: function set(of) {
      var sort = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
      return _state.RangeSet.of(of, sort);
    }
  }]);
}(_state.RangeValue);
/**
The empty set of decorations.
*/
Decoration.none = _state.RangeSet.empty;
var MarkDecoration = /*#__PURE__*/function (_Decoration) {
  function MarkDecoration(spec) {
    var _this8;
    _classCallCheck(this, MarkDecoration);
    var _getInclusive2 = getInclusive(spec),
      start = _getInclusive2.start,
      end = _getInclusive2.end;
    _this8 = _callSuper(this, MarkDecoration, [start ? -1 /* Side.InlineIncStart */ : 500000000 /* Side.NonIncStart */, end ? 1 /* Side.InlineIncEnd */ : -600000000 /* Side.NonIncEnd */, null, spec]);
    _this8.tagName = spec.tagName || "span";
    _this8["class"] = spec["class"] || "";
    _this8.attrs = spec.attributes || null;
    return _this8;
  }
  _inherits(MarkDecoration, _Decoration);
  return _createClass(MarkDecoration, [{
    key: "eq",
    value: function eq(other) {
      var _a, _b;
      return this == other || other instanceof MarkDecoration && this.tagName == other.tagName && (this["class"] || ((_a = this.attrs) === null || _a === void 0 ? void 0 : _a["class"])) == (other["class"] || ((_b = other.attrs) === null || _b === void 0 ? void 0 : _b["class"])) && attrsEq(this.attrs, other.attrs, "class");
    }
  }, {
    key: "range",
    value: function range(from) {
      var to = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : from;
      if (from >= to) throw new RangeError("Mark decorations may not be empty");
      return _get(_getPrototypeOf(MarkDecoration.prototype), "range", this).call(this, from, to);
    }
  }]);
}(Decoration);
MarkDecoration.prototype.point = false;
var LineDecoration = /*#__PURE__*/function (_Decoration2) {
  function LineDecoration(spec) {
    _classCallCheck(this, LineDecoration);
    return _callSuper(this, LineDecoration, [-200000000 /* Side.Line */, -200000000 /* Side.Line */, null, spec]);
  }
  _inherits(LineDecoration, _Decoration2);
  return _createClass(LineDecoration, [{
    key: "eq",
    value: function eq(other) {
      return other instanceof LineDecoration && this.spec["class"] == other.spec["class"] && attrsEq(this.spec.attributes, other.spec.attributes);
    }
  }, {
    key: "range",
    value: function range(from) {
      var to = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : from;
      if (to != from) throw new RangeError("Line decoration ranges must be zero-length");
      return _get(_getPrototypeOf(LineDecoration.prototype), "range", this).call(this, from, to);
    }
  }]);
}(Decoration);
LineDecoration.prototype.mapMode = _state.MapMode.TrackBefore;
LineDecoration.prototype.point = true;
var PointDecoration = /*#__PURE__*/function (_Decoration3) {
  function PointDecoration(spec, startSide, endSide, block, widget, isReplace) {
    var _this9;
    _classCallCheck(this, PointDecoration);
    _this9 = _callSuper(this, PointDecoration, [startSide, endSide, widget, spec]);
    _this9.block = block;
    _this9.isReplace = isReplace;
    _this9.mapMode = !block ? _state.MapMode.TrackDel : startSide <= 0 ? _state.MapMode.TrackBefore : _state.MapMode.TrackAfter;
    return _this9;
  }
  // Only relevant when this.block == true
  _inherits(PointDecoration, _Decoration3);
  return _createClass(PointDecoration, [{
    key: "type",
    get: function get() {
      return this.startSide != this.endSide ? BlockType.WidgetRange : this.startSide <= 0 ? BlockType.WidgetBefore : BlockType.WidgetAfter;
    }
  }, {
    key: "heightRelevant",
    get: function get() {
      return this.block || !!this.widget && (this.widget.estimatedHeight >= 5 || this.widget.lineBreaks > 0);
    }
  }, {
    key: "eq",
    value: function eq(other) {
      return other instanceof PointDecoration && widgetsEq(this.widget, other.widget) && this.block == other.block && this.startSide == other.startSide && this.endSide == other.endSide;
    }
  }, {
    key: "range",
    value: function range(from) {
      var to = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : from;
      if (this.isReplace && (from > to || from == to && this.startSide > 0 && this.endSide <= 0)) throw new RangeError("Invalid range for replacement decoration");
      if (!this.isReplace && to != from) throw new RangeError("Widget decorations can only have zero-length ranges");
      return _get(_getPrototypeOf(PointDecoration.prototype), "range", this).call(this, from, to);
    }
  }]);
}(Decoration);
PointDecoration.prototype.point = true;
function getInclusive(spec) {
  var block = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
  var start = spec.inclusiveStart,
    end = spec.inclusiveEnd;
  if (start == null) start = spec.inclusive;
  if (end == null) end = spec.inclusive;
  return {
    start: start !== null && start !== void 0 ? start : block,
    end: end !== null && end !== void 0 ? end : block
  };
}
function widgetsEq(a, b) {
  return a == b || !!(a && b && a.compare(b));
}
function addRange(from, to, ranges) {
  var margin = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;
  var last = ranges.length - 1;
  if (last >= 0 && ranges[last] + margin >= from) ranges[last] = Math.max(ranges[last], to);else ranges.push(from, to);
}
var ContentBuilder = /*#__PURE__*/function () {
  function ContentBuilder(doc, pos, end, disallowBlockEffectsFor) {
    _classCallCheck(this, ContentBuilder);
    this.doc = doc;
    this.pos = pos;
    this.end = end;
    this.disallowBlockEffectsFor = disallowBlockEffectsFor;
    this.content = [];
    this.curLine = null;
    this.breakAtStart = 0;
    this.pendingBuffer = 0 /* Buf.No */;
    this.bufferMarks = [];
    // Set to false directly after a widget that covers the position after it
    this.atCursorPos = true;
    this.openStart = -1;
    this.openEnd = -1;
    this.text = "";
    this.textOff = 0;
    this.cursor = doc.iter();
    this.skip = pos;
  }
  return _createClass(ContentBuilder, [{
    key: "posCovered",
    value: function posCovered() {
      if (this.content.length == 0) return !this.breakAtStart && this.doc.lineAt(this.pos).from != this.pos;
      var last = this.content[this.content.length - 1];
      return !(last.breakAfter || last instanceof BlockWidgetView && last.deco.endSide < 0);
    }
  }, {
    key: "getLine",
    value: function getLine() {
      if (!this.curLine) {
        this.content.push(this.curLine = new LineView());
        this.atCursorPos = true;
      }
      return this.curLine;
    }
  }, {
    key: "flushBuffer",
    value: function flushBuffer() {
      var active = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.bufferMarks;
      if (this.pendingBuffer) {
        this.curLine.append(wrapMarks(new WidgetBufferView(-1), active), active.length);
        this.pendingBuffer = 0 /* Buf.No */;
      }
    }
  }, {
    key: "addBlockWidget",
    value: function addBlockWidget(view) {
      this.flushBuffer();
      this.curLine = null;
      this.content.push(view);
    }
  }, {
    key: "finish",
    value: function finish(openEnd) {
      if (this.pendingBuffer && openEnd <= this.bufferMarks.length) this.flushBuffer();else this.pendingBuffer = 0 /* Buf.No */;
      if (!this.posCovered() && !(openEnd && this.content.length && this.content[this.content.length - 1] instanceof BlockWidgetView)) this.getLine();
    }
  }, {
    key: "buildText",
    value: function buildText(length, active, openStart) {
      while (length > 0) {
        if (this.textOff == this.text.length) {
          var _this$cursor$next = this.cursor.next(this.skip),
            value = _this$cursor$next.value,
            lineBreak = _this$cursor$next.lineBreak,
            done = _this$cursor$next.done;
          this.skip = 0;
          if (done) throw new Error("Ran out of text content when drawing inline views");
          if (lineBreak) {
            if (!this.posCovered()) this.getLine();
            if (this.content.length) this.content[this.content.length - 1].breakAfter = 1;else this.breakAtStart = 1;
            this.flushBuffer();
            this.curLine = null;
            this.atCursorPos = true;
            length--;
            continue;
          } else {
            this.text = value;
            this.textOff = 0;
          }
        }
        var take = Math.min(this.text.length - this.textOff, length, 512 /* T.Chunk */);
        this.flushBuffer(active.slice(active.length - openStart));
        this.getLine().append(wrapMarks(new TextView(this.text.slice(this.textOff, this.textOff + take)), active), openStart);
        this.atCursorPos = true;
        this.textOff += take;
        length -= take;
        openStart = 0;
      }
    }
  }, {
    key: "span",
    value: function span(from, to, active, openStart) {
      this.buildText(to - from, active, openStart);
      this.pos = to;
      if (this.openStart < 0) this.openStart = openStart;
    }
  }, {
    key: "point",
    value: function point(from, to, deco, active, openStart, index) {
      if (this.disallowBlockEffectsFor[index] && deco instanceof PointDecoration) {
        if (deco.block) throw new RangeError("Block decorations may not be specified via plugins");
        if (to > this.doc.lineAt(this.pos).to) throw new RangeError("Decorations that replace line breaks may not be specified via plugins");
      }
      var len = to - from;
      if (deco instanceof PointDecoration) {
        if (deco.block) {
          if (deco.startSide > 0 && !this.posCovered()) this.getLine();
          this.addBlockWidget(new BlockWidgetView(deco.widget || NullWidget.block, len, deco));
        } else {
          var view = WidgetView.create(deco.widget || NullWidget.inline, len, len ? 0 : deco.startSide);
          var cursorBefore = this.atCursorPos && !view.isEditable && openStart <= active.length && (from < to || deco.startSide > 0);
          var cursorAfter = !view.isEditable && (from < to || openStart > active.length || deco.startSide <= 0);
          var line = this.getLine();
          if (this.pendingBuffer == 2 /* Buf.IfCursor */ && !cursorBefore && !view.isEditable) this.pendingBuffer = 0 /* Buf.No */;
          this.flushBuffer(active);
          if (cursorBefore) {
            line.append(wrapMarks(new WidgetBufferView(1), active), openStart);
            openStart = active.length + Math.max(0, openStart - active.length);
          }
          line.append(wrapMarks(view, active), openStart);
          this.atCursorPos = cursorAfter;
          this.pendingBuffer = !cursorAfter ? 0 /* Buf.No */ : from < to || openStart > active.length ? 1 /* Buf.Yes */ : 2 /* Buf.IfCursor */;
          if (this.pendingBuffer) this.bufferMarks = active.slice();
        }
      } else if (this.doc.lineAt(this.pos).from == this.pos) {
        // Line decoration
        this.getLine().addLineDeco(deco);
      }
      if (len) {
        // Advance the iterator past the replaced content
        if (this.textOff + len <= this.text.length) {
          this.textOff += len;
        } else {
          this.skip += len - (this.text.length - this.textOff);
          this.text = "";
          this.textOff = 0;
        }
        this.pos = to;
      }
      if (this.openStart < 0) this.openStart = openStart;
    }
  }], [{
    key: "build",
    value: function build(text, from, to, decorations, dynamicDecorationMap) {
      var builder = new ContentBuilder(text, from, to, dynamicDecorationMap);
      builder.openEnd = _state.RangeSet.spans(decorations, from, to, builder);
      if (builder.openStart < 0) builder.openStart = builder.openEnd;
      builder.finish(builder.openEnd);
      return builder;
    }
  }]);
}();
function wrapMarks(view, active) {
  var _iterator9 = _createForOfIteratorHelper(active),
    _step9;
  try {
    for (_iterator9.s(); !(_step9 = _iterator9.n()).done;) {
      var mark = _step9.value;
      view = new MarkView(mark, [view], view.length);
    }
  } catch (err) {
    _iterator9.e(err);
  } finally {
    _iterator9.f();
  }
  return view;
}
var NullWidget = /*#__PURE__*/function (_WidgetType) {
  function NullWidget(tag) {
    var _this10;
    _classCallCheck(this, NullWidget);
    _this10 = _callSuper(this, NullWidget);
    _this10.tag = tag;
    return _this10;
  }
  _inherits(NullWidget, _WidgetType);
  return _createClass(NullWidget, [{
    key: "eq",
    value: function eq(other) {
      return other.tag == this.tag;
    }
  }, {
    key: "toDOM",
    value: function toDOM() {
      return document.createElement(this.tag);
    }
  }, {
    key: "updateDOM",
    value: function updateDOM(elt) {
      return elt.nodeName.toLowerCase() == this.tag;
    }
  }, {
    key: "isHidden",
    get: function get() {
      return true;
    }
  }]);
}(WidgetType);
NullWidget.inline = /*@__PURE__*/new NullWidget("span");
NullWidget.block = /*@__PURE__*/new NullWidget("div");

/**
Used to indicate [text direction](https://codemirror.net/6/docs/ref/#view.EditorView.textDirection).
*/
var Direction = exports.Direction = /*@__PURE__*/function (Direction) {
  // (These are chosen to match the base levels, in bidi algorithm
  // terms, of spans in that direction.)
  /**
  Left-to-right.
  */
  Direction[Direction["LTR"] = 0] = "LTR";
  /**
  Right-to-left.
  */
  Direction[Direction["RTL"] = 1] = "RTL";
  return Direction;
}(Direction || (exports.Direction = Direction = {}));
var LTR = Direction.LTR,
  RTL = Direction.RTL;
// Decode a string with each type encoded as log2(type)
function dec(str) {
  var result = [];
  for (var i = 0; i < str.length; i++) result.push(1 << +str[i]);
  return result;
}
// Character types for codepoints 0 to 0xf8
var LowTypes = /*@__PURE__*/dec("88888888888888888888888888888888888666888888787833333333337888888000000000000000000000000008888880000000000000000000000000088888888888888888888888888888888888887866668888088888663380888308888800000000000000000000000800000000000000000000000000000008");
// Character types for codepoints 0x600 to 0x6f9
var ArabicTypes = /*@__PURE__*/dec("4444448826627288999999999992222222222222222222222222222222222222222222222229999999999999999999994444444444644222822222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222999999949999999229989999223333333333");
var Brackets = /*@__PURE__*/Object.create(null),
  BracketStack = [];
// There's a lot more in
// https://www.unicode.org/Public/UCD/latest/ucd/BidiBrackets.txt,
// which are left out to keep code size down.
for (var _i3 = 0, _arr = ["()", "[]", "{}"]; _i3 < _arr.length; _i3++) {
  var p = _arr[_i3];
  var l = /*@__PURE__*/p.charCodeAt(0),
    r = /*@__PURE__*/p.charCodeAt(1);
  Brackets[l] = r;
  Brackets[r] = -l;
}
function charType(ch) {
  return ch <= 0xf7 ? LowTypes[ch] : 0x590 <= ch && ch <= 0x5f4 ? 2 /* T.R */ : 0x600 <= ch && ch <= 0x6f9 ? ArabicTypes[ch - 0x600] : 0x6ee <= ch && ch <= 0x8ac ? 4 /* T.AL */ : 0x2000 <= ch && ch <= 0x200c ? 256 /* T.NI */ : 0xfb50 <= ch && ch <= 0xfdff ? 4 /* T.AL */ : 1 /* T.L */;
}
var BidiRE = /[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac\ufb50-\ufdff]/;
/**
Represents a contiguous range of text that has a single direction
(as in left-to-right or right-to-left).
*/
var BidiSpan = exports.BidiSpan = /*#__PURE__*/function () {
  /**
  @internal
  */
  function BidiSpan(
  /**
  The start of the span (relative to the start of the line).
  */
  from,
  /**
  The end of the span.
  */
  to,
  /**
  The ["bidi
  level"](https://unicode.org/reports/tr9/#Basic_Display_Algorithm)
  of the span (in this context, 0 means
  left-to-right, 1 means right-to-left, 2 means left-to-right
  number inside right-to-left text).
  */
  level) {
    _classCallCheck(this, BidiSpan);
    this.from = from;
    this.to = to;
    this.level = level;
  }
  /**
  @internal
  */
  return _createClass(BidiSpan, [{
    key: "dir",
    get:
    /**
    The direction of this span.
    */
    function get() {
      return this.level % 2 ? RTL : LTR;
    }
  }, {
    key: "side",
    value: function side(end, dir) {
      return this.dir == dir == end ? this.to : this.from;
    }
    /**
    @internal
    */
  }, {
    key: "forward",
    value: function forward(_forward, dir) {
      return _forward == (this.dir == dir);
    }
    /**
    @internal
    */
  }], [{
    key: "find",
    value: function find(order, index, level, assoc) {
      var maybe = -1;
      for (var i = 0; i < order.length; i++) {
        var span = order[i];
        if (span.from <= index && span.to >= index) {
          if (span.level == level) return i;
          // When multiple spans match, if assoc != 0, take the one that
          // covers that side, otherwise take the one with the minimum
          // level.
          if (maybe < 0 || (assoc != 0 ? assoc < 0 ? span.from < index : span.to > index : order[maybe].level > span.level)) maybe = i;
        }
      }
      if (maybe < 0) throw new RangeError("Index out of range");
      return maybe;
    }
  }]);
}();
function isolatesEq(a, b) {
  if (a.length != b.length) return false;
  for (var i = 0; i < a.length; i++) {
    var iA = a[i],
      iB = b[i];
    if (iA.from != iB.from || iA.to != iB.to || iA.direction != iB.direction || !isolatesEq(iA.inner, iB.inner)) return false;
  }
  return true;
}
// Reused array of character types
var types = [];
// Fill in the character types (in `types`) from `from` to `to` and
// apply W normalization rules.
function computeCharTypes(line, rFrom, rTo, isolates, outerType) {
  for (var iI = 0; iI <= isolates.length; iI++) {
    var from = iI ? isolates[iI - 1].to : rFrom,
      to = iI < isolates.length ? isolates[iI].from : rTo;
    var prevType = iI ? 256 /* T.NI */ : outerType;
    // W1. Examine each non-spacing mark (NSM) in the level run, and
    // change the type of the NSM to the type of the previous
    // character. If the NSM is at the start of the level run, it will
    // get the type of sor.
    // W2. Search backwards from each instance of a European number
    // until the first strong type (R, L, AL, or sor) is found. If an
    // AL is found, change the type of the European number to Arabic
    // number.
    // W3. Change all ALs to R.
    // (Left after this: L, R, EN, AN, ET, CS, NI)
    for (var i = from, prev = prevType, prevStrong = prevType; i < to; i++) {
      var type = charType(line.charCodeAt(i));
      if (type == 512 /* T.NSM */) type = prev;else if (type == 8 /* T.EN */ && prevStrong == 4 /* T.AL */) type = 16 /* T.AN */;
      types[i] = type == 4 /* T.AL */ ? 2 /* T.R */ : type;
      if (type & 7 /* T.Strong */) prevStrong = type;
      prev = type;
    }
    // W5. A sequence of European terminators adjacent to European
    // numbers changes to all European numbers.
    // W6. Otherwise, separators and terminators change to Other
    // Neutral.
    // W7. Search backwards from each instance of a European number
    // until the first strong type (R, L, or sor) is found. If an L is
    // found, then change the type of the European number to L.
    // (Left after this: L, R, EN+AN, NI)
    for (var _i4 = from, _prev = prevType, _prevStrong = prevType; _i4 < to; _i4++) {
      var _type2 = types[_i4];
      if (_type2 == 128 /* T.CS */) {
        if (_i4 < to - 1 && _prev == types[_i4 + 1] && _prev & 24 /* T.Num */) _type2 = types[_i4] = _prev;else types[_i4] = 256 /* T.NI */;
      } else if (_type2 == 64 /* T.ET */) {
        var end = _i4 + 1;
        while (end < to && types[end] == 64 /* T.ET */) end++;
        var replace = _i4 && _prev == 8 /* T.EN */ || end < rTo && types[end] == 8 /* T.EN */ ? _prevStrong == 1 /* T.L */ ? 1 /* T.L */ : 8 /* T.EN */ : 256 /* T.NI */;
        for (var j = _i4; j < end; j++) types[j] = replace;
        _i4 = end - 1;
      } else if (_type2 == 8 /* T.EN */ && _prevStrong == 1 /* T.L */) {
        types[_i4] = 1 /* T.L */;
      }
      _prev = _type2;
      if (_type2 & 7 /* T.Strong */) _prevStrong = _type2;
    }
  }
}
// Process brackets throughout a run sequence.
function processBracketPairs(line, rFrom, rTo, isolates, outerType) {
  var oppositeType = outerType == 1 /* T.L */ ? 2 /* T.R */ : 1 /* T.L */;
  for (var iI = 0, sI = 0, context = 0; iI <= isolates.length; iI++) {
    var from = iI ? isolates[iI - 1].to : rFrom,
      to = iI < isolates.length ? isolates[iI].from : rTo;
    // N0. Process bracket pairs in an isolating run sequence
    // sequentially in the logical order of the text positions of the
    // opening paired brackets using the logic given below. Within this
    // scope, bidirectional types EN and AN are treated as R.
    for (var i = from, ch, br, type; i < to; i++) {
      // Keeps [startIndex, type, strongSeen] triples for each open
      // bracket on BracketStack.
      if (br = Brackets[ch = line.charCodeAt(i)]) {
        if (br < 0) {
          // Closing bracket
          for (var sJ = sI - 3; sJ >= 0; sJ -= 3) {
            if (BracketStack[sJ + 1] == -br) {
              var flags = BracketStack[sJ + 2];
              var _type3 = flags & 2 /* Bracketed.EmbedInside */ ? outerType : !(flags & 4 /* Bracketed.OppositeInside */) ? 0 : flags & 1 /* Bracketed.OppositeBefore */ ? oppositeType : outerType;
              if (_type3) types[i] = types[BracketStack[sJ]] = _type3;
              sI = sJ;
              break;
            }
          }
        } else if (BracketStack.length == 189 /* Bracketed.MaxDepth */) {
          break;
        } else {
          BracketStack[sI++] = i;
          BracketStack[sI++] = ch;
          BracketStack[sI++] = context;
        }
      } else if ((type = types[i]) == 2 /* T.R */ || type == 1 /* T.L */) {
        var embed = type == outerType;
        context = embed ? 0 : 1 /* Bracketed.OppositeBefore */;
        for (var _sJ = sI - 3; _sJ >= 0; _sJ -= 3) {
          var cur = BracketStack[_sJ + 2];
          if (cur & 2 /* Bracketed.EmbedInside */) break;
          if (embed) {
            BracketStack[_sJ + 2] |= 2 /* Bracketed.EmbedInside */;
          } else {
            if (cur & 4 /* Bracketed.OppositeInside */) break;
            BracketStack[_sJ + 2] |= 4 /* Bracketed.OppositeInside */;
          }
        }
      }
    }
  }
}
function processNeutrals(rFrom, rTo, isolates, outerType) {
  for (var iI = 0, prev = outerType; iI <= isolates.length; iI++) {
    var from = iI ? isolates[iI - 1].to : rFrom,
      to = iI < isolates.length ? isolates[iI].from : rTo;
    // N1. A sequence of neutrals takes the direction of the
    // surrounding strong text if the text on both sides has the same
    // direction. European and Arabic numbers act as if they were R in
    // terms of their influence on neutrals. Start-of-level-run (sor)
    // and end-of-level-run (eor) are used at level run boundaries.
    // N2. Any remaining neutrals take the embedding direction.
    // (Left after this: L, R, EN+AN)
    for (var i = from; i < to;) {
      var type = types[i];
      if (type == 256 /* T.NI */) {
        var end = i + 1;
        for (;;) {
          if (end == to) {
            if (iI == isolates.length) break;
            end = isolates[iI++].to;
            to = iI < isolates.length ? isolates[iI].from : rTo;
          } else if (types[end] == 256 /* T.NI */) {
            end++;
          } else {
            break;
          }
        }
        var beforeL = prev == 1 /* T.L */;
        var afterL = (end < rTo ? types[end] : outerType) == 1 /* T.L */;
        var replace = beforeL == afterL ? beforeL ? 1 /* T.L */ : 2 /* T.R */ : outerType;
        for (var j = end, jI = iI, fromJ = jI ? isolates[jI - 1].to : rFrom; j > i;) {
          if (j == fromJ) {
            j = isolates[--jI].from;
            fromJ = jI ? isolates[jI - 1].to : rFrom;
          }
          types[--j] = replace;
        }
        i = end;
      } else {
        prev = type;
        i++;
      }
    }
  }
}
// Find the contiguous ranges of character types in a given range, and
// emit spans for them. Flip the order of the spans as appropriate
// based on the level, and call through to compute the spans for
// isolates at the proper point.
function emitSpans(line, from, to, level, baseLevel, isolates, order) {
  var ourType = level % 2 ? 2 /* T.R */ : 1 /* T.L */;
  if (level % 2 == baseLevel % 2) {
    // Same dir as base direction, don't flip
    for (var iCh = from, iI = 0; iCh < to;) {
      // Scan a section of characters in direction ourType, unless
      // there's another type of char right after iCh, in which case
      // we scan a section of other characters (which, if ourType ==
      // T.L, may contain both T.R and T.AN chars).
      var sameDir = true,
        isNum = false;
      if (iI == isolates.length || iCh < isolates[iI].from) {
        var next = types[iCh];
        if (next != ourType) {
          sameDir = false;
          isNum = next == 16 /* T.AN */;
        }
      }
      // Holds an array of isolates to pass to a recursive call if we
      // must recurse (to distinguish T.AN inside an RTL section in
      // LTR text), null if we can emit directly
      var recurse = !sameDir && ourType == 1 /* T.L */ ? [] : null;
      var localLevel = sameDir ? level : level + 1;
      var iScan = iCh;
      run: for (;;) {
        if (iI < isolates.length && iScan == isolates[iI].from) {
          if (isNum) break run;
          var iso = isolates[iI];
          // Scan ahead to verify that there is another char in this dir after the isolate(s)
          if (!sameDir) for (var upto = iso.to, jI = iI + 1;;) {
            if (upto == to) break run;
            if (jI < isolates.length && isolates[jI].from == upto) upto = isolates[jI++].to;else if (types[upto] == ourType) break run;else break;
          }
          iI++;
          if (recurse) {
            recurse.push(iso);
          } else {
            if (iso.from > iCh) order.push(new BidiSpan(iCh, iso.from, localLevel));
            var dirSwap = iso.direction == LTR != !(localLevel % 2);
            computeSectionOrder(line, dirSwap ? level + 1 : level, baseLevel, iso.inner, iso.from, iso.to, order);
            iCh = iso.to;
          }
          iScan = iso.to;
        } else if (iScan == to || (sameDir ? types[iScan] != ourType : types[iScan] == ourType)) {
          break;
        } else {
          iScan++;
        }
      }
      if (recurse) emitSpans(line, iCh, iScan, level + 1, baseLevel, recurse, order);else if (iCh < iScan) order.push(new BidiSpan(iCh, iScan, localLevel));
      iCh = iScan;
    }
  } else {
    // Iterate in reverse to flip the span order. Same code again, but
    // going from the back of the section to the front
    for (var _iCh = to, _iI = isolates.length; _iCh > from;) {
      var _sameDir = true,
        _isNum = false;
      if (!_iI || _iCh > isolates[_iI - 1].to) {
        var _next = types[_iCh - 1];
        if (_next != ourType) {
          _sameDir = false;
          _isNum = _next == 16 /* T.AN */;
        }
      }
      var _recurse = !_sameDir && ourType == 1 /* T.L */ ? [] : null;
      var _localLevel = _sameDir ? level : level + 1;
      var _iScan = _iCh;
      run: for (;;) {
        if (_iI && _iScan == isolates[_iI - 1].to) {
          if (_isNum) break run;
          var _iso = isolates[--_iI];
          // Scan ahead to verify that there is another char in this dir after the isolate(s)
          if (!_sameDir) for (var _upto = _iso.from, _jI = _iI;;) {
            if (_upto == from) break run;
            if (_jI && isolates[_jI - 1].to == _upto) _upto = isolates[--_jI].from;else if (types[_upto - 1] == ourType) break run;else break;
          }
          if (_recurse) {
            _recurse.push(_iso);
          } else {
            if (_iso.to < _iCh) order.push(new BidiSpan(_iso.to, _iCh, _localLevel));
            var _dirSwap = _iso.direction == LTR != !(_localLevel % 2);
            computeSectionOrder(line, _dirSwap ? level + 1 : level, baseLevel, _iso.inner, _iso.from, _iso.to, order);
            _iCh = _iso.from;
          }
          _iScan = _iso.from;
        } else if (_iScan == from || (_sameDir ? types[_iScan - 1] != ourType : types[_iScan - 1] == ourType)) {
          break;
        } else {
          _iScan--;
        }
      }
      if (_recurse) emitSpans(line, _iScan, _iCh, level + 1, baseLevel, _recurse, order);else if (_iScan < _iCh) order.push(new BidiSpan(_iScan, _iCh, _localLevel));
      _iCh = _iScan;
    }
  }
}
function computeSectionOrder(line, level, baseLevel, isolates, from, to, order) {
  var outerType = level % 2 ? 2 /* T.R */ : 1 /* T.L */;
  computeCharTypes(line, from, to, isolates, outerType);
  processBracketPairs(line, from, to, isolates, outerType);
  processNeutrals(from, to, isolates, outerType);
  emitSpans(line, from, to, level, baseLevel, isolates, order);
}
function computeOrder(line, direction, isolates) {
  if (!line) return [new BidiSpan(0, 0, direction == RTL ? 1 : 0)];
  if (direction == LTR && !isolates.length && !BidiRE.test(line)) return trivialOrder(line.length);
  if (isolates.length) while (line.length > types.length) types[types.length] = 256 /* T.NI */; // Make sure types array has no gaps
  var order = [],
    level = direction == LTR ? 0 : 1;
  computeSectionOrder(line, level, level, isolates, 0, line.length, order);
  return order;
}
function trivialOrder(length) {
  return [new BidiSpan(0, length, 0)];
}
var movedOver = "";
// This implementation moves strictly visually, without concern for a
// traversal visiting every logical position in the string. It will
// still do so for simple input, but situations like multiple isolates
// with the same level next to each other, or text going against the
// main dir at the end of the line, will make some positions
// unreachable with this motion. Each visible cursor position will
// correspond to the lower-level bidi span that touches it.
//
// The alternative would be to solve an order globally for a given
// line, making sure that it includes every position, but that would
// require associating non-canonical (higher bidi span level)
// positions with a given visual position, which is likely to confuse
// people. (And would generally be a lot more complicated.)
function moveVisually(line, order, dir, start, forward) {
  var _a;
  var startIndex = start.head - line.from;
  var spanI = BidiSpan.find(order, startIndex, (_a = start.bidiLevel) !== null && _a !== void 0 ? _a : -1, start.assoc);
  var span = order[spanI],
    spanEnd = span.side(forward, dir);
  // End of span
  if (startIndex == spanEnd) {
    var nextI = spanI += forward ? 1 : -1;
    if (nextI < 0 || nextI >= order.length) return null;
    span = order[spanI = nextI];
    startIndex = span.side(!forward, dir);
    spanEnd = span.side(forward, dir);
  }
  var nextIndex = (0, _state.findClusterBreak)(line.text, startIndex, span.forward(forward, dir));
  if (nextIndex < span.from || nextIndex > span.to) nextIndex = spanEnd;
  movedOver = line.text.slice(Math.min(startIndex, nextIndex), Math.max(startIndex, nextIndex));
  var nextSpan = spanI == (forward ? order.length - 1 : 0) ? null : order[spanI + (forward ? 1 : -1)];
  if (nextSpan && nextIndex == spanEnd && nextSpan.level + (forward ? 0 : 1) < span.level) return _state.EditorSelection.cursor(nextSpan.side(!forward, dir) + line.from, nextSpan.forward(forward, dir) ? 1 : -1, nextSpan.level);
  return _state.EditorSelection.cursor(nextIndex + line.from, span.forward(forward, dir) ? -1 : 1, span.level);
}
function autoDirection(text, from, to) {
  for (var i = from; i < to; i++) {
    var type = charType(text.charCodeAt(i));
    if (type == 1 /* T.L */) return LTR;
    if (type == 2 /* T.R */ || type == 4 /* T.AL */) return RTL;
  }
  return LTR;
}
var clickAddsSelectionRange = /*@__PURE__*/_state.Facet.define();
var dragMovesSelection$1 = /*@__PURE__*/_state.Facet.define();
var mouseSelectionStyle = /*@__PURE__*/_state.Facet.define();
var exceptionSink = /*@__PURE__*/_state.Facet.define();
var updateListener = /*@__PURE__*/_state.Facet.define();
var inputHandler = /*@__PURE__*/_state.Facet.define();
var focusChangeEffect = /*@__PURE__*/_state.Facet.define();
var perLineTextDirection = /*@__PURE__*/_state.Facet.define({
  combine: function combine(values) {
    return values.some(function (x) {
      return x;
    });
  }
});
var nativeSelectionHidden = /*@__PURE__*/_state.Facet.define({
  combine: function combine(values) {
    return values.some(function (x) {
      return x;
    });
  }
});
var scrollHandler = /*@__PURE__*/_state.Facet.define();
var ScrollTarget = /*#__PURE__*/function () {
  function ScrollTarget(range) {
    var y = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "nearest";
    var x = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : "nearest";
    var yMargin = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 5;
    var xMargin = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 5;
    var isSnapshot = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : false;
    _classCallCheck(this, ScrollTarget);
    this.range = range;
    this.y = y;
    this.x = x;
    this.yMargin = yMargin;
    this.xMargin = xMargin;
    this.isSnapshot = isSnapshot;
  }
  return _createClass(ScrollTarget, [{
    key: "map",
    value: function map(changes) {
      return changes.empty ? this : new ScrollTarget(this.range.map(changes), this.y, this.x, this.yMargin, this.xMargin, this.isSnapshot);
    }
  }, {
    key: "clip",
    value: function clip(state) {
      return this.range.to <= state.doc.length ? this : new ScrollTarget(_state.EditorSelection.cursor(state.doc.length), this.y, this.x, this.yMargin, this.xMargin, this.isSnapshot);
    }
  }]);
}();
var _scrollIntoView2 = /*@__PURE__*/_state.StateEffect.define({
  map: function map(t, ch) {
    return t.map(ch);
  }
});
/**
Log or report an unhandled exception in client code. Should
probably only be used by extension code that allows client code to
provide functions, and calls those functions in a context where an
exception can't be propagated to calling code in a reasonable way
(for example when in an event handler).

Either calls a handler registered with
[`EditorView.exceptionSink`](https://codemirror.net/6/docs/ref/#view.EditorView^exceptionSink),
`window.onerror`, if defined, or `console.error` (in which case
it'll pass `context`, when given, as first argument).
*/
function logException(state, exception, context) {
  var handler = state.facet(exceptionSink);
  if (handler.length) handler[0](exception);else if (window.onerror) window.onerror(String(exception), context, undefined, undefined, exception);else if (context) console.error(context + ":", exception);else console.error(exception);
}
var editable = /*@__PURE__*/_state.Facet.define({
  combine: function combine(values) {
    return values.length ? values[0] : true;
  }
});
var nextPluginID = 0;
var viewPlugin = /*@__PURE__*/_state.Facet.define();
/**
View plugins associate stateful values with a view. They can
influence the way the content is drawn, and are notified of things
that happen in the view.
*/
var ViewPlugin = exports.ViewPlugin = /*#__PURE__*/function () {
  function ViewPlugin(
  /**
  @internal
  */
  id,
  /**
  @internal
  */
  create,
  /**
  @internal
  */
  domEventHandlers,
  /**
  @internal
  */
  domEventObservers, buildExtensions) {
    _classCallCheck(this, ViewPlugin);
    this.id = id;
    this.create = create;
    this.domEventHandlers = domEventHandlers;
    this.domEventObservers = domEventObservers;
    this.extension = buildExtensions(this);
  }
  /**
  Define a plugin from a constructor function that creates the
  plugin's value, given an editor view.
  */
  return _createClass(ViewPlugin, null, [{
    key: "define",
    value: function define(create, spec) {
      var _ref = spec || {},
        eventHandlers = _ref.eventHandlers,
        eventObservers = _ref.eventObservers,
        provide = _ref.provide,
        deco = _ref.decorations;
      return new ViewPlugin(nextPluginID++, create, eventHandlers, eventObservers, function (plugin) {
        var ext = [viewPlugin.of(plugin)];
        if (deco) ext.push(decorations.of(function (view) {
          var pluginInst = view.plugin(plugin);
          return pluginInst ? deco(pluginInst) : Decoration.none;
        }));
        if (provide) ext.push(provide(plugin));
        return ext;
      });
    }
    /**
    Create a plugin for a class whose constructor takes a single
    editor view as argument.
    */
  }, {
    key: "fromClass",
    value: function fromClass(cls, spec) {
      return ViewPlugin.define(function (view) {
        return new cls(view);
      }, spec);
    }
  }]);
}();
var PluginInstance = /*#__PURE__*/function () {
  function PluginInstance(spec) {
    _classCallCheck(this, PluginInstance);
    this.spec = spec;
    // When starting an update, all plugins have this field set to the
    // update object, indicating they need to be updated. When finished
    // updating, it is set to `false`. Retrieving a plugin that needs to
    // be updated with `view.plugin` forces an eager update.
    this.mustUpdate = null;
    // This is null when the plugin is initially created, but
    // initialized on the first update.
    this.value = null;
  }
  return _createClass(PluginInstance, [{
    key: "update",
    value: function update(view) {
      if (!this.value) {
        if (this.spec) {
          try {
            this.value = this.spec.create(view);
          } catch (e) {
            logException(view.state, e, "CodeMirror plugin crashed");
            this.deactivate();
          }
        }
      } else if (this.mustUpdate) {
        var update = this.mustUpdate;
        this.mustUpdate = null;
        if (this.value.update) {
          try {
            this.value.update(update);
          } catch (e) {
            logException(update.state, e, "CodeMirror plugin crashed");
            if (this.value.destroy) try {
              this.value.destroy();
            } catch (_) {}
            this.deactivate();
          }
        }
      }
      return this;
    }
  }, {
    key: "destroy",
    value: function destroy(view) {
      var _a;
      if ((_a = this.value) === null || _a === void 0 ? void 0 : _a.destroy) {
        try {
          this.value.destroy();
        } catch (e) {
          logException(view.state, e, "CodeMirror plugin crashed");
        }
      }
    }
  }, {
    key: "deactivate",
    value: function deactivate() {
      this.spec = this.value = null;
    }
  }]);
}();
var editorAttributes = /*@__PURE__*/_state.Facet.define();
var contentAttributes = /*@__PURE__*/_state.Facet.define();
// Provide decorations
var decorations = /*@__PURE__*/_state.Facet.define();
var outerDecorations = /*@__PURE__*/_state.Facet.define();
var atomicRanges = /*@__PURE__*/_state.Facet.define();
var bidiIsolatedRanges = /*@__PURE__*/_state.Facet.define();
function getIsolatedRanges(view, line) {
  var isolates = view.state.facet(bidiIsolatedRanges);
  if (!isolates.length) return isolates;
  var sets = isolates.map(function (i) {
    return i instanceof Function ? i(view) : i;
  });
  var result = [];
  _state.RangeSet.spans(sets, line.from, line.to, {
    point: function point() {},
    span: function span(fromDoc, toDoc, active, open) {
      var from = fromDoc - line.from,
        to = toDoc - line.from;
      var level = result;
      for (var i = active.length - 1; i >= 0; i--, open--) {
        var direction = active[i].spec.bidiIsolate,
          update = void 0;
        if (direction == null) direction = autoDirection(line.text, from, to);
        if (open > 0 && level.length && (update = level[level.length - 1]).to == from && update.direction == direction) {
          update.to = to;
          level = update.inner;
        } else {
          var add = {
            from: from,
            to: to,
            direction: direction,
            inner: []
          };
          level.push(add);
          level = add.inner;
        }
      }
    }
  });
  return result;
}
var scrollMargins = /*@__PURE__*/_state.Facet.define();
function getScrollMargins(view) {
  var left = 0,
    right = 0,
    top = 0,
    bottom = 0;
  var _iterator10 = _createForOfIteratorHelper(view.state.facet(scrollMargins)),
    _step10;
  try {
    for (_iterator10.s(); !(_step10 = _iterator10.n()).done;) {
      var source = _step10.value;
      var m = source(view);
      if (m) {
        if (m.left != null) left = Math.max(left, m.left);
        if (m.right != null) right = Math.max(right, m.right);
        if (m.top != null) top = Math.max(top, m.top);
        if (m.bottom != null) bottom = Math.max(bottom, m.bottom);
      }
    }
  } catch (err) {
    _iterator10.e(err);
  } finally {
    _iterator10.f();
  }
  return {
    left: left,
    right: right,
    top: top,
    bottom: bottom
  };
}
var styleModule = /*@__PURE__*/_state.Facet.define();
var ChangedRange = /*#__PURE__*/function () {
  function ChangedRange(fromA, toA, fromB, toB) {
    _classCallCheck(this, ChangedRange);
    this.fromA = fromA;
    this.toA = toA;
    this.fromB = fromB;
    this.toB = toB;
  }
  return _createClass(ChangedRange, [{
    key: "join",
    value: function join(other) {
      return new ChangedRange(Math.min(this.fromA, other.fromA), Math.max(this.toA, other.toA), Math.min(this.fromB, other.fromB), Math.max(this.toB, other.toB));
    }
  }, {
    key: "addToSet",
    value: function addToSet(set) {
      var i = set.length,
        me = this;
      for (; i > 0; i--) {
        var range = set[i - 1];
        if (range.fromA > me.toA) continue;
        if (range.toA < me.fromA) break;
        me = me.join(range);
        set.splice(i - 1, 1);
      }
      set.splice(i, 0, me);
      return set;
    }
  }], [{
    key: "extendWithRanges",
    value: function extendWithRanges(diff, ranges) {
      if (ranges.length == 0) return diff;
      var result = [];
      for (var dI = 0, rI = 0, posA = 0, posB = 0;; dI++) {
        var next = dI == diff.length ? null : diff[dI],
          off = posA - posB;
        var end = next ? next.fromB : 1e9;
        while (rI < ranges.length && ranges[rI] < end) {
          var from = ranges[rI],
            to = ranges[rI + 1];
          var fromB = Math.max(posB, from),
            toB = Math.min(end, to);
          if (fromB <= toB) new ChangedRange(fromB + off, toB + off, fromB, toB).addToSet(result);
          if (to > end) break;else rI += 2;
        }
        if (!next) return result;
        new ChangedRange(next.fromA, next.toA, next.fromB, next.toB).addToSet(result);
        posA = next.toA;
        posB = next.toB;
      }
    }
  }]);
}();
/**
View [plugins](https://codemirror.net/6/docs/ref/#view.ViewPlugin) are given instances of this
class, which describe what happened, whenever the view is updated.
*/
var ViewUpdate = exports.ViewUpdate = /*#__PURE__*/function () {
  function ViewUpdate(
  /**
  The editor view that the update is associated with.
  */
  view,
  /**
  The new editor state.
  */
  state,
  /**
  The transactions involved in the update. May be empty.
  */
  transactions) {
    _classCallCheck(this, ViewUpdate);
    this.view = view;
    this.state = state;
    this.transactions = transactions;
    /**
    @internal
    */
    this.flags = 0;
    this.startState = view.state;
    this.changes = _state.ChangeSet.empty(this.startState.doc.length);
    var _iterator11 = _createForOfIteratorHelper(transactions),
      _step11;
    try {
      for (_iterator11.s(); !(_step11 = _iterator11.n()).done;) {
        var tr = _step11.value;
        this.changes = this.changes.compose(tr.changes);
      }
    } catch (err) {
      _iterator11.e(err);
    } finally {
      _iterator11.f();
    }
    var changedRanges = [];
    this.changes.iterChangedRanges(function (fromA, toA, fromB, toB) {
      return changedRanges.push(new ChangedRange(fromA, toA, fromB, toB));
    });
    this.changedRanges = changedRanges;
  }
  /**
  @internal
  */
  return _createClass(ViewUpdate, [{
    key: "viewportChanged",
    get:
    /**
    Tells you whether the [viewport](https://codemirror.net/6/docs/ref/#view.EditorView.viewport) or
    [visible ranges](https://codemirror.net/6/docs/ref/#view.EditorView.visibleRanges) changed in this
    update.
    */
    function get() {
      return (this.flags & 4 /* UpdateFlag.Viewport */) > 0;
    }
    /**
    Indicates whether the height of a block element in the editor
    changed in this update.
    */
  }, {
    key: "heightChanged",
    get: function get() {
      return (this.flags & 2 /* UpdateFlag.Height */) > 0;
    }
    /**
    Returns true when the document was modified or the size of the
    editor, or elements within the editor, changed.
    */
  }, {
    key: "geometryChanged",
    get: function get() {
      return this.docChanged || (this.flags & (8 /* UpdateFlag.Geometry */ | 2 /* UpdateFlag.Height */)) > 0;
    }
    /**
    True when this update indicates a focus change.
    */
  }, {
    key: "focusChanged",
    get: function get() {
      return (this.flags & 1 /* UpdateFlag.Focus */) > 0;
    }
    /**
    Whether the document changed in this update.
    */
  }, {
    key: "docChanged",
    get: function get() {
      return !this.changes.empty;
    }
    /**
    Whether the selection was explicitly set in this update.
    */
  }, {
    key: "selectionSet",
    get: function get() {
      return this.transactions.some(function (tr) {
        return tr.selection;
      });
    }
    /**
    @internal
    */
  }, {
    key: "empty",
    get: function get() {
      return this.flags == 0 && this.transactions.length == 0;
    }
  }], [{
    key: "create",
    value: function create(view, state, transactions) {
      return new ViewUpdate(view, state, transactions);
    }
  }]);
}();
var DocView = /*#__PURE__*/function (_ContentView7) {
  function DocView(view) {
    var _this11;
    _classCallCheck(this, DocView);
    _this11 = _callSuper(this, DocView);
    _this11.view = view;
    _this11.decorations = [];
    _this11.dynamicDecorationMap = [false];
    _this11.domChanged = null;
    _this11.hasComposition = null;
    _this11.markedForComposition = new Set();
    _this11.compositionBarrier = Decoration.none;
    // Track a minimum width for the editor. When measuring sizes in
    // measureVisibleLineHeights, this is updated to point at the width
    // of a given element and its extent in the document. When a change
    // happens in that range, these are reset. That way, once we've seen
    // a line/element of a given length, we keep the editor wide enough
    // to fit at least that element, until it is changed, at which point
    // we forget it again.
    _this11.minWidth = 0;
    _this11.minWidthFrom = 0;
    _this11.minWidthTo = 0;
    // Track whether the DOM selection was set in a lossy way, so that
    // we don't mess it up when reading it back it
    _this11.impreciseAnchor = null;
    _this11.impreciseHead = null;
    _this11.forceSelection = false;
    // Used by the resize observer to ignore resizes that we caused
    // ourselves
    _this11.lastUpdate = Date.now();
    _this11.setDOM(view.contentDOM);
    _this11.children = [new LineView()];
    _this11.children[0].setParent(_this11);
    _this11.updateDeco();
    _this11.updateInner([new ChangedRange(0, 0, 0, view.state.doc.length)], 0, null);
    return _this11;
  }
  // Update the document view to a given state.
  _inherits(DocView, _ContentView7);
  return _createClass(DocView, [{
    key: "length",
    get: function get() {
      return this.view.state.doc.length;
    }
  }, {
    key: "update",
    value: function update(_update) {
      var _this12 = this;
      var _a;
      var changedRanges = _update.changedRanges;
      if (this.minWidth > 0 && changedRanges.length) {
        if (!changedRanges.every(function (_ref2) {
          var fromA = _ref2.fromA,
            toA = _ref2.toA;
          return toA < _this12.minWidthFrom || fromA > _this12.minWidthTo;
        })) {
          this.minWidth = this.minWidthFrom = this.minWidthTo = 0;
        } else {
          this.minWidthFrom = _update.changes.mapPos(this.minWidthFrom, 1);
          this.minWidthTo = _update.changes.mapPos(this.minWidthTo, 1);
        }
      }
      var readCompositionAt = -1;
      if (this.view.inputState.composing >= 0) {
        if ((_a = this.domChanged) === null || _a === void 0 ? void 0 : _a.newSel) readCompositionAt = this.domChanged.newSel.head;else if (!touchesComposition(_update.changes, this.hasComposition) && !_update.selectionSet) readCompositionAt = _update.state.selection.main.head;
      }
      var composition = readCompositionAt > -1 ? findCompositionRange(this.view, _update.changes, readCompositionAt) : null;
      this.domChanged = null;
      if (this.hasComposition) {
        this.markedForComposition.clear();
        var _this$hasComposition = this.hasComposition,
          from = _this$hasComposition.from,
          to = _this$hasComposition.to;
        changedRanges = new ChangedRange(from, to, _update.changes.mapPos(from, -1), _update.changes.mapPos(to, 1)).addToSet(changedRanges.slice());
      }
      this.hasComposition = composition ? {
        from: composition.range.fromB,
        to: composition.range.toB
      } : null;
      // When the DOM nodes around the selection are moved to another
      // parent, Chrome sometimes reports a different selection through
      // getSelection than the one that it actually shows to the user.
      // This forces a selection update when lines are joined to work
      // around that. Issue #54
      if ((browser.ie || browser.chrome) && !composition && _update && _update.state.doc.lines != _update.startState.doc.lines) this.forceSelection = true;
      var prevDeco = this.decorations,
        deco = this.updateDeco();
      var decoDiff = findChangedDeco(prevDeco, deco, _update.changes);
      changedRanges = ChangedRange.extendWithRanges(changedRanges, decoDiff);
      if (!(this.flags & 7 /* ViewFlag.Dirty */) && changedRanges.length == 0) {
        return false;
      } else {
        this.updateInner(changedRanges, _update.startState.doc.length, composition);
        if (_update.transactions.length) this.lastUpdate = Date.now();
        return true;
      }
    }
    // Used by update and the constructor do perform the actual DOM
    // update
  }, {
    key: "updateInner",
    value: function updateInner(changes, oldLength, composition) {
      var _this13 = this;
      this.view.viewState.mustMeasureContent = true;
      this.updateChildren(changes, oldLength, composition);
      var observer = this.view.observer;
      observer.ignore(function () {
        // Lock the height during redrawing, since Chrome sometimes
        // messes with the scroll position during DOM mutation (though
        // no relayout is triggered and I cannot imagine how it can
        // recompute the scroll position without a layout)
        _this13.dom.style.height = _this13.view.viewState.contentHeight / _this13.view.scaleY + "px";
        _this13.dom.style.flexBasis = _this13.minWidth ? _this13.minWidth + "px" : "";
        // Chrome will sometimes, when DOM mutations occur directly
        // around the selection, get confused and report a different
        // selection from the one it displays (issue #218). This tries
        // to detect that situation.
        var track = browser.chrome || browser.ios ? {
          node: observer.selectionRange.focusNode,
          written: false
        } : undefined;
        _this13.sync(_this13.view, track);
        _this13.flags &= ~7 /* ViewFlag.Dirty */;
        if (track && (track.written || observer.selectionRange.focusNode != track.node)) _this13.forceSelection = true;
        _this13.dom.style.height = "";
      });
      this.markedForComposition.forEach(function (cView) {
        return cView.flags &= ~8;
      } /* ViewFlag.Composition */);
      var gaps = [];
      if (this.view.viewport.from || this.view.viewport.to < this.view.state.doc.length) {
        var _iterator12 = _createForOfIteratorHelper(this.children),
          _step12;
        try {
          for (_iterator12.s(); !(_step12 = _iterator12.n()).done;) {
            var child = _step12.value;
            if (child instanceof BlockWidgetView && child.widget instanceof BlockGapWidget) gaps.push(child.dom);
          }
        } catch (err) {
          _iterator12.e(err);
        } finally {
          _iterator12.f();
        }
      }
      observer.updateGaps(gaps);
    }
  }, {
    key: "updateChildren",
    value: function updateChildren(changes, oldLength, composition) {
      var ranges = composition ? composition.range.addToSet(changes.slice()) : changes;
      var cursor = this.childCursor(oldLength);
      for (var i = ranges.length - 1;; i--) {
        var next = i >= 0 ? ranges[i] : null;
        if (!next) break;
        var fromA = next.fromA,
          toA = next.toA,
          fromB = next.fromB,
          toB = next.toB,
          content = void 0,
          breakAtStart = void 0,
          openStart = void 0,
          openEnd = void 0;
        if (composition && composition.range.fromB < toB && composition.range.toB > fromB) {
          var before = ContentBuilder.build(this.view.state.doc, fromB, composition.range.fromB, this.decorations, this.dynamicDecorationMap);
          var after = ContentBuilder.build(this.view.state.doc, composition.range.toB, toB, this.decorations, this.dynamicDecorationMap);
          breakAtStart = before.breakAtStart;
          openStart = before.openStart;
          openEnd = after.openEnd;
          var compLine = this.compositionView(composition);
          if (after.breakAtStart) {
            compLine.breakAfter = 1;
          } else if (after.content.length && compLine.merge(compLine.length, compLine.length, after.content[0], false, after.openStart, 0)) {
            compLine.breakAfter = after.content[0].breakAfter;
            after.content.shift();
          }
          if (before.content.length && compLine.merge(0, 0, before.content[before.content.length - 1], true, 0, before.openEnd)) {
            before.content.pop();
          }
          content = before.content.concat(compLine).concat(after.content);
        } else {
          var _ContentBuilder$build = ContentBuilder.build(this.view.state.doc, fromB, toB, this.decorations, this.dynamicDecorationMap);
          content = _ContentBuilder$build.content;
          breakAtStart = _ContentBuilder$build.breakAtStart;
          openStart = _ContentBuilder$build.openStart;
          openEnd = _ContentBuilder$build.openEnd;
        }
        var _cursor$findPos = cursor.findPos(toA, 1),
          toI = _cursor$findPos.i,
          toOff = _cursor$findPos.off;
        var _cursor$findPos2 = cursor.findPos(fromA, -1),
          fromI = _cursor$findPos2.i,
          fromOff = _cursor$findPos2.off;
        replaceRange(this, fromI, fromOff, toI, toOff, content, breakAtStart, openStart, openEnd);
      }
      if (composition) this.fixCompositionDOM(composition);
    }
  }, {
    key: "compositionView",
    value: function compositionView(composition) {
      var cur = new TextView(composition.text.nodeValue);
      cur.flags |= 8 /* ViewFlag.Composition */;
      var _iterator13 = _createForOfIteratorHelper(composition.marks),
        _step13;
      try {
        for (_iterator13.s(); !(_step13 = _iterator13.n()).done;) {
          var deco = _step13.value.deco;
          cur = new MarkView(deco, [cur], cur.length);
        }
      } catch (err) {
        _iterator13.e(err);
      } finally {
        _iterator13.f();
      }
      var line = new LineView();
      line.append(cur, 0);
      return line;
    }
  }, {
    key: "fixCompositionDOM",
    value: function fixCompositionDOM(composition) {
      var _this14 = this;
      var fix = function fix(dom, cView) {
        cView.flags |= 8 /* ViewFlag.Composition */ | (cView.children.some(function (c) {
          return c.flags & 7;
        } /* ViewFlag.Dirty */) ? 1 /* ViewFlag.ChildDirty */ : 0);
        _this14.markedForComposition.add(cView);
        var prev = ContentView.get(dom);
        if (prev && prev != cView) prev.dom = null;
        cView.setDOM(dom);
      };
      var pos = this.childPos(composition.range.fromB, 1);
      var cView = this.children[pos.i];
      fix(composition.line, cView);
      for (var i = composition.marks.length - 1; i >= -1; i--) {
        pos = cView.childPos(pos.off, 1);
        cView = cView.children[pos.i];
        fix(i >= 0 ? composition.marks[i].node : composition.text, cView);
      }
    }
    // Sync the DOM selection to this.state.selection
  }, {
    key: "updateSelection",
    value: function updateSelection() {
      var _this15 = this;
      var mustRead = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
      var fromPointer = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
      if (mustRead || !this.view.observer.selectionRange.focusNode) this.view.observer.readSelectionRange();
      var activeElt = this.view.root.activeElement,
        focused = activeElt == this.dom;
      var selectionNotFocus = !focused && hasSelection(this.dom, this.view.observer.selectionRange) && !(activeElt && this.dom.contains(activeElt));
      if (!(focused || fromPointer || selectionNotFocus)) return;
      var force = this.forceSelection;
      this.forceSelection = false;
      var main = this.view.state.selection.main;
      var anchor = this.moveToLine(this.domAtPos(main.anchor));
      var head = main.empty ? anchor : this.moveToLine(this.domAtPos(main.head));
      // Always reset on Firefox when next to an uneditable node to
      // avoid invisible cursor bugs (#111)
      if (browser.gecko && main.empty && !this.hasComposition && betweenUneditable(anchor)) {
        var dummy = document.createTextNode("");
        this.view.observer.ignore(function () {
          return anchor.node.insertBefore(dummy, anchor.node.childNodes[anchor.offset] || null);
        });
        anchor = head = new DOMPos(dummy, 0);
        force = true;
      }
      var domSel = this.view.observer.selectionRange;
      // If the selection is already here, or in an equivalent position, don't touch it
      if (force || !domSel.focusNode || (!isEquivalentPosition(anchor.node, anchor.offset, domSel.anchorNode, domSel.anchorOffset) || !isEquivalentPosition(head.node, head.offset, domSel.focusNode, domSel.focusOffset)) && !this.suppressWidgetCursorChange(domSel, main)) {
        this.view.observer.ignore(function () {
          // Chrome Android will hide the virtual keyboard when tapping
          // inside an uneditable node, and not bring it back when we
          // move the cursor to its proper position. This tries to
          // restore the keyboard by cycling focus.
          if (browser.android && browser.chrome && _this15.dom.contains(domSel.focusNode) && inUneditable(domSel.focusNode, _this15.dom)) {
            _this15.dom.blur();
            _this15.dom.focus({
              preventScroll: true
            });
          }
          var rawSel = getSelection(_this15.view.root);
          if (!rawSel) ;else if (main.empty) {
            // Work around https://bugzilla.mozilla.org/show_bug.cgi?id=1612076
            if (browser.gecko) {
              var nextTo = nextToUneditable(anchor.node, anchor.offset);
              if (nextTo && nextTo != (1 /* NextTo.Before */ | 2 /* NextTo.After */)) {
                var text = nearbyTextNode(anchor.node, anchor.offset, nextTo == 1 /* NextTo.Before */ ? 1 : -1);
                if (text) anchor = new DOMPos(text.node, text.offset);
              }
            }
            rawSel.collapse(anchor.node, anchor.offset);
            if (main.bidiLevel != null && rawSel.caretBidiLevel !== undefined) rawSel.caretBidiLevel = main.bidiLevel;
          } else if (rawSel.extend) {
            // Selection.extend can be used to create an 'inverted' selection
            // (one where the focus is before the anchor), but not all
            // browsers support it yet.
            rawSel.collapse(anchor.node, anchor.offset);
            // Safari will ignore the call above when the editor is
            // hidden, and then raise an error on the call to extend
            // (#940).
            try {
              rawSel.extend(head.node, head.offset);
            } catch (_) {}
          } else {
            // Primitive (IE) way
            var range = document.createRange();
            if (main.anchor > main.head) {
              var _ref3 = [head, anchor];
              anchor = _ref3[0];
              head = _ref3[1];
            }
            range.setEnd(head.node, head.offset);
            range.setStart(anchor.node, anchor.offset);
            rawSel.removeAllRanges();
            rawSel.addRange(range);
          }
          if (selectionNotFocus && _this15.view.root.activeElement == _this15.dom) {
            _this15.dom.blur();
            if (activeElt) activeElt.focus();
          }
        });
        this.view.observer.setSelectionRange(anchor, head);
      }
      this.impreciseAnchor = anchor.precise ? null : new DOMPos(domSel.anchorNode, domSel.anchorOffset);
      this.impreciseHead = head.precise ? null : new DOMPos(domSel.focusNode, domSel.focusOffset);
    }
    // If a zero-length widget is inserted next to the cursor during
    // composition, avoid moving it across it and disrupting the
    // composition.
  }, {
    key: "suppressWidgetCursorChange",
    value: function suppressWidgetCursorChange(sel, cursor) {
      return this.hasComposition && cursor.empty && !this.compositionBarrier.size && isEquivalentPosition(sel.focusNode, sel.focusOffset, sel.anchorNode, sel.anchorOffset) && this.posFromDOM(sel.focusNode, sel.focusOffset) == cursor.head;
    }
  }, {
    key: "enforceCursorAssoc",
    value: function enforceCursorAssoc() {
      if (this.hasComposition) return;
      var view = this.view,
        cursor = view.state.selection.main;
      var sel = getSelection(view.root);
      var _view$observer$select = view.observer.selectionRange,
        anchorNode = _view$observer$select.anchorNode,
        anchorOffset = _view$observer$select.anchorOffset;
      if (!sel || !cursor.empty || !cursor.assoc || !sel.modify) return;
      var line = LineView.find(this, cursor.head);
      if (!line) return;
      var lineStart = line.posAtStart;
      if (cursor.head == lineStart || cursor.head == lineStart + line.length) return;
      var before = this.coordsAt(cursor.head, -1),
        after = this.coordsAt(cursor.head, 1);
      if (!before || !after || before.bottom > after.top) return;
      var dom = this.domAtPos(cursor.head + cursor.assoc);
      sel.collapse(dom.node, dom.offset);
      sel.modify("move", cursor.assoc < 0 ? "forward" : "backward", "lineboundary");
      // This can go wrong in corner cases like single-character lines,
      // so check and reset if necessary.
      view.observer.readSelectionRange();
      var newRange = view.observer.selectionRange;
      if (view.docView.posFromDOM(newRange.anchorNode, newRange.anchorOffset) != cursor.from) sel.collapse(anchorNode, anchorOffset);
    }
    // If a position is in/near a block widget, move it to a nearby text
    // line, since we don't want the cursor inside a block widget.
  }, {
    key: "moveToLine",
    value: function moveToLine(pos) {
      // Block widgets will return positions before/after them, which
      // are thus directly in the document DOM element.
      var dom = this.dom,
        newPos;
      if (pos.node != dom) return pos;
      for (var i = pos.offset; !newPos && i < dom.childNodes.length; i++) {
        var view = ContentView.get(dom.childNodes[i]);
        if (view instanceof LineView) newPos = view.domAtPos(0);
      }
      for (var _i5 = pos.offset - 1; !newPos && _i5 >= 0; _i5--) {
        var _view2 = ContentView.get(dom.childNodes[_i5]);
        if (_view2 instanceof LineView) newPos = _view2.domAtPos(_view2.length);
      }
      return newPos ? new DOMPos(newPos.node, newPos.offset, true) : pos;
    }
  }, {
    key: "nearest",
    value: function nearest(dom) {
      for (var cur = dom; cur;) {
        var domView = ContentView.get(cur);
        if (domView && domView.rootView == this) return domView;
        cur = cur.parentNode;
      }
      return null;
    }
  }, {
    key: "posFromDOM",
    value: function posFromDOM(node, offset) {
      var view = this.nearest(node);
      if (!view) throw new RangeError("Trying to find position for a DOM position outside of the document");
      return view.localPosFromDOM(node, offset) + view.posAtStart;
    }
  }, {
    key: "domAtPos",
    value: function domAtPos(pos) {
      var _this$childCursor$fin = this.childCursor().findPos(pos, -1),
        i = _this$childCursor$fin.i,
        off = _this$childCursor$fin.off;
      for (; i < this.children.length - 1;) {
        var child = this.children[i];
        if (off < child.length || child instanceof LineView) break;
        i++;
        off = 0;
      }
      return this.children[i].domAtPos(off);
    }
  }, {
    key: "coordsAt",
    value: function coordsAt(pos, side) {
      var best = null,
        bestPos = 0;
      for (var off = this.length, i = this.children.length - 1; i >= 0; i--) {
        var child = this.children[i],
          end = off - child.breakAfter,
          start = end - child.length;
        if (end < pos) break;
        if (start <= pos && (start < pos || child.covers(-1)) && (end > pos || child.covers(1)) && (!best || child instanceof LineView && !(best instanceof LineView && side >= 0))) {
          best = child;
          bestPos = start;
        }
        off = start;
      }
      return best ? best.coordsAt(pos - bestPos, side) : null;
    }
  }, {
    key: "coordsForChar",
    value: function coordsForChar(pos) {
      var _this$childPos2 = this.childPos(pos, 1),
        i = _this$childPos2.i,
        off = _this$childPos2.off,
        child = this.children[i];
      if (!(child instanceof LineView)) return null;
      while (child.children.length) {
        var _child$childPos = child.childPos(off, 1),
          _i6 = _child$childPos.i,
          childOff = _child$childPos.off;
        for (;; _i6++) {
          if (_i6 == child.children.length) return null;
          if ((child = child.children[_i6]).length) break;
        }
        off = childOff;
      }
      if (!(child instanceof TextView)) return null;
      var end = (0, _state.findClusterBreak)(child.text, off);
      if (end == off) return null;
      var rects = textRange(child.dom, off, end).getClientRects();
      for (var _i7 = 0; _i7 < rects.length; _i7++) {
        var rect = rects[_i7];
        if (_i7 == rects.length - 1 || rect.top < rect.bottom && rect.left < rect.right) return rect;
      }
      return null;
    }
  }, {
    key: "measureVisibleLineHeights",
    value: function measureVisibleLineHeights(viewport) {
      var result = [],
        from = viewport.from,
        to = viewport.to;
      var contentWidth = this.view.contentDOM.clientWidth;
      var isWider = contentWidth > Math.max(this.view.scrollDOM.clientWidth, this.minWidth) + 1;
      var widest = -1,
        ltr = this.view.textDirection == Direction.LTR;
      for (var pos = 0, i = 0; i < this.children.length; i++) {
        var child = this.children[i],
          end = pos + child.length;
        if (end > to) break;
        if (pos >= from) {
          var childRect = child.dom.getBoundingClientRect();
          result.push(childRect.height);
          if (isWider) {
            var last = child.dom.lastChild;
            var rects = last ? clientRectsFor(last) : [];
            if (rects.length) {
              var rect = rects[rects.length - 1];
              var width = ltr ? rect.right - childRect.left : childRect.right - rect.left;
              if (width > widest) {
                widest = width;
                this.minWidth = contentWidth;
                this.minWidthFrom = pos;
                this.minWidthTo = end;
              }
            }
          }
        }
        pos = end + child.breakAfter;
      }
      return result;
    }
  }, {
    key: "textDirectionAt",
    value: function textDirectionAt(pos) {
      var _this$childPos3 = this.childPos(pos, 1),
        i = _this$childPos3.i;
      return getComputedStyle(this.children[i].dom).direction == "rtl" ? Direction.RTL : Direction.LTR;
    }
  }, {
    key: "measureTextSize",
    value: function measureTextSize() {
      var _this16 = this;
      var _iterator14 = _createForOfIteratorHelper(this.children),
        _step14;
      try {
        for (_iterator14.s(); !(_step14 = _iterator14.n()).done;) {
          var child = _step14.value;
          if (child instanceof LineView) {
            var measure = child.measureTextSize();
            if (measure) return measure;
          }
        }
        // If no workable line exists, force a layout of a measurable element
      } catch (err) {
        _iterator14.e(err);
      } finally {
        _iterator14.f();
      }
      var dummy = document.createElement("div"),
        lineHeight,
        charWidth,
        textHeight;
      dummy.className = "cm-line";
      dummy.style.width = "99999px";
      dummy.style.position = "absolute";
      dummy.textContent = "abc def ghi jkl mno pqr stu";
      this.view.observer.ignore(function () {
        _this16.dom.appendChild(dummy);
        var rect = clientRectsFor(dummy.firstChild)[0];
        lineHeight = dummy.getBoundingClientRect().height;
        charWidth = rect ? rect.width / 27 : 7;
        textHeight = rect ? rect.height : lineHeight;
        dummy.remove();
      });
      return {
        lineHeight: lineHeight,
        charWidth: charWidth,
        textHeight: textHeight
      };
    }
  }, {
    key: "childCursor",
    value: function childCursor() {
      var pos = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.length;
      // Move back to start of last element when possible, so that
      // `ChildCursor.findPos` doesn't have to deal with the edge case
      // of being after the last element.
      var i = this.children.length;
      if (i) pos -= this.children[--i].length;
      return new ChildCursor(this.children, pos, i);
    }
  }, {
    key: "computeBlockGapDeco",
    value: function computeBlockGapDeco() {
      var deco = [],
        vs = this.view.viewState;
      for (var pos = 0, i = 0;; i++) {
        var next = i == vs.viewports.length ? null : vs.viewports[i];
        var end = next ? next.from - 1 : this.length;
        if (end > pos) {
          var height = (vs.lineBlockAt(end).bottom - vs.lineBlockAt(pos).top) / this.view.scaleY;
          deco.push(Decoration.replace({
            widget: new BlockGapWidget(height),
            block: true,
            inclusive: true,
            isBlockGap: true
          }).range(pos, end));
        }
        if (!next) break;
        pos = next.to + 1;
      }
      return Decoration.set(deco);
    }
  }, {
    key: "updateDeco",
    value: function updateDeco() {
      var _this17 = this;
      var i = 1;
      var allDeco = this.view.state.facet(decorations).map(function (d) {
        var dynamic = _this17.dynamicDecorationMap[i++] = typeof d == "function";
        return dynamic ? d(_this17.view) : d;
      });
      var dynamicOuter = false,
        outerDeco = this.view.state.facet(outerDecorations).map(function (d, i) {
          var dynamic = typeof d == "function";
          if (dynamic) dynamicOuter = true;
          return dynamic ? d(_this17.view) : d;
        });
      if (outerDeco.length) {
        this.dynamicDecorationMap[i++] = dynamicOuter;
        allDeco.push(_state.RangeSet.join(outerDeco));
      }
      this.decorations = [this.compositionBarrier].concat(_toConsumableArray(allDeco), [this.computeBlockGapDeco(), this.view.viewState.lineGapDeco]);
      while (i < this.decorations.length) this.dynamicDecorationMap[i++] = false;
      return this.decorations;
    }
    // Starting a composition will style the inserted text with the
    // style of the text before it, and this is only cleared when the
    // composition ends, because touching it before that will abort it.
    // This (called from compositionstart handler) tries to notice when
    // the cursor is after a non-inclusive mark, where the styling could
    // be jarring, and insert an ad-hoc widget before the cursor to
    // isolate it from the style before it.
  }, {
    key: "maybeCreateCompositionBarrier",
    value: function maybeCreateCompositionBarrier() {
      var _this$view$state$sele = this.view.state.selection.main,
        head = _this$view$state$sele.head,
        empty = _this$view$state$sele.empty;
      if (!empty) return false;
      var found = null;
      var _iterator15 = _createForOfIteratorHelper(this.decorations),
        _step15;
      try {
        for (_iterator15.s(); !(_step15 = _iterator15.n()).done;) {
          var set = _step15.value;
          set.between(head, head, function (from, to, value) {
            if (value.point) found = false;else if (value.endSide < 0 && from < head && to == head) found = true;
          });
          if (found === false) break;
        }
      } catch (err) {
        _iterator15.e(err);
      } finally {
        _iterator15.f();
      }
      this.compositionBarrier = found ? Decoration.set(compositionBarrierWidget.range(head)) : Decoration.none;
      return !!found;
    }
  }, {
    key: "clearCompositionBarrier",
    value: function clearCompositionBarrier() {
      this.compositionBarrier = Decoration.none;
    }
  }, {
    key: "scrollIntoView",
    value: function scrollIntoView(target) {
      if (target.isSnapshot) {
        var ref = this.view.viewState.lineBlockAt(target.range.head);
        this.view.scrollDOM.scrollTop = ref.top - target.yMargin;
        this.view.scrollDOM.scrollLeft = target.xMargin;
        return;
      }
      var _iterator16 = _createForOfIteratorHelper(this.view.state.facet(scrollHandler)),
        _step16;
      try {
        for (_iterator16.s(); !(_step16 = _iterator16.n()).done;) {
          var handler = _step16.value;
          try {
            if (handler(this.view, target.range, target)) return true;
          } catch (e) {
            logException(this.view.state, e, "scroll handler");
          }
        }
      } catch (err) {
        _iterator16.e(err);
      } finally {
        _iterator16.f();
      }
      var range = target.range;
      var rect = this.coordsAt(range.head, range.empty ? range.assoc : range.head > range.anchor ? -1 : 1),
        other;
      if (!rect) return;
      if (!range.empty && (other = this.coordsAt(range.anchor, range.anchor > range.head ? -1 : 1))) rect = {
        left: Math.min(rect.left, other.left),
        top: Math.min(rect.top, other.top),
        right: Math.max(rect.right, other.right),
        bottom: Math.max(rect.bottom, other.bottom)
      };
      var margins = getScrollMargins(this.view);
      var targetRect = {
        left: rect.left - margins.left,
        top: rect.top - margins.top,
        right: rect.right + margins.right,
        bottom: rect.bottom + margins.bottom
      };
      var _this$view$scrollDOM = this.view.scrollDOM,
        offsetWidth = _this$view$scrollDOM.offsetWidth,
        offsetHeight = _this$view$scrollDOM.offsetHeight;
      scrollRectIntoView(this.view.scrollDOM, targetRect, range.head < range.anchor ? -1 : 1, target.x, target.y, Math.max(Math.min(target.xMargin, offsetWidth), -offsetWidth), Math.max(Math.min(target.yMargin, offsetHeight), -offsetHeight), this.view.textDirection == Direction.LTR);
    }
  }]);
}(ContentView);
var compositionBarrierWidget = /*@__PURE__*/Decoration.widget({
  side: -1,
  widget: NullWidget.inline
});
function betweenUneditable(pos) {
  return pos.node.nodeType == 1 && pos.node.firstChild && (pos.offset == 0 || pos.node.childNodes[pos.offset - 1].contentEditable == "false") && (pos.offset == pos.node.childNodes.length || pos.node.childNodes[pos.offset].contentEditable == "false");
}
var BlockGapWidget = /*#__PURE__*/function (_WidgetType2) {
  function BlockGapWidget(height) {
    var _this18;
    _classCallCheck(this, BlockGapWidget);
    _this18 = _callSuper(this, BlockGapWidget);
    _this18.height = height;
    return _this18;
  }
  _inherits(BlockGapWidget, _WidgetType2);
  return _createClass(BlockGapWidget, [{
    key: "toDOM",
    value: function toDOM() {
      var elt = document.createElement("div");
      elt.className = "cm-gap";
      this.updateDOM(elt);
      return elt;
    }
  }, {
    key: "eq",
    value: function eq(other) {
      return other.height == this.height;
    }
  }, {
    key: "updateDOM",
    value: function updateDOM(elt) {
      elt.style.height = this.height + "px";
      return true;
    }
  }, {
    key: "editable",
    get: function get() {
      return true;
    }
  }, {
    key: "estimatedHeight",
    get: function get() {
      return this.height;
    }
  }, {
    key: "ignoreEvent",
    value: function ignoreEvent() {
      return false;
    }
  }]);
}(WidgetType);
function findCompositionNode(view, headPos) {
  var sel = view.observer.selectionRange;
  var textNode = sel.focusNode && nearbyTextNode(sel.focusNode, sel.focusOffset, 0);
  if (!textNode) return null;
  var from = headPos - textNode.offset;
  return {
    from: from,
    to: from + textNode.node.nodeValue.length,
    node: textNode.node
  };
}
function findCompositionRange(view, changes, headPos) {
  var found = findCompositionNode(view, headPos);
  if (!found) return null;
  var textNode = found.node,
    from = found.from,
    to = found.to,
    text = textNode.nodeValue;
  // Don't try to preserve multi-line compositions
  if (/[\n\r]/.test(text)) return null;
  if (view.state.doc.sliceString(found.from, found.to) != text) return null;
  var inv = changes.invertedDesc;
  var range = new ChangedRange(inv.mapPos(from), inv.mapPos(to), from, to);
  var marks = [];
  for (var parent = textNode.parentNode;; parent = parent.parentNode) {
    var parentView = ContentView.get(parent);
    if (parentView instanceof MarkView) marks.push({
      node: parent,
      deco: parentView.mark
    });else if (parentView instanceof LineView || parent.nodeName == "DIV" && parent.parentNode == view.contentDOM) return {
      range: range,
      text: textNode,
      marks: marks,
      line: parent
    };else if (parent != view.contentDOM) marks.push({
      node: parent,
      deco: new MarkDecoration({
        inclusive: true,
        attributes: getAttrs(parent),
        tagName: parent.tagName.toLowerCase()
      })
    });else return null;
  }
}
function nearbyTextNode(startNode, startOffset, side) {
  if (side <= 0) for (var node = startNode, offset = startOffset;;) {
    if (node.nodeType == 3) return {
      node: node,
      offset: offset
    };
    if (node.nodeType == 1 && offset > 0) {
      node = node.childNodes[offset - 1];
      offset = maxOffset(node);
    } else {
      break;
    }
  }
  if (side >= 0) for (var _node = startNode, _offset = startOffset;;) {
    if (_node.nodeType == 3) return {
      node: _node,
      offset: _offset
    };
    if (_node.nodeType == 1 && _offset < _node.childNodes.length && side >= 0) {
      _node = _node.childNodes[_offset];
      _offset = 0;
    } else {
      break;
    }
  }
  return null;
}
function nextToUneditable(node, offset) {
  if (node.nodeType != 1) return 0;
  return (offset && node.childNodes[offset - 1].contentEditable == "false" ? 1 /* NextTo.Before */ : 0) | (offset < node.childNodes.length && node.childNodes[offset].contentEditable == "false" ? 2 /* NextTo.After */ : 0);
}
var DecorationComparator$1 = /*#__PURE__*/function () {
  function DecorationComparator() {
    _classCallCheck(this, DecorationComparator);
    this.changes = [];
  }
  return _createClass(DecorationComparator, [{
    key: "compareRange",
    value: function compareRange(from, to) {
      addRange(from, to, this.changes);
    }
  }, {
    key: "comparePoint",
    value: function comparePoint(from, to) {
      addRange(from, to, this.changes);
    }
  }]);
}();
function findChangedDeco(a, b, diff) {
  var comp = new DecorationComparator$1();
  _state.RangeSet.compare(a, b, diff, comp);
  return comp.changes;
}
function inUneditable(node, inside) {
  for (var cur = node; cur && cur != inside; cur = cur.assignedSlot || cur.parentNode) {
    if (cur.nodeType == 1 && cur.contentEditable == 'false') {
      return true;
    }
  }
  return false;
}
function touchesComposition(changes, composition) {
  var touched = false;
  if (composition) changes.iterChangedRanges(function (from, to) {
    if (from < composition.to && to > composition.from) touched = true;
  });
  return touched;
}
function groupAt(state, pos) {
  var bias = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;
  var categorize = state.charCategorizer(pos);
  var line = state.doc.lineAt(pos),
    linePos = pos - line.from;
  if (line.length == 0) return _state.EditorSelection.cursor(pos);
  if (linePos == 0) bias = 1;else if (linePos == line.length) bias = -1;
  var from = linePos,
    to = linePos;
  if (bias < 0) from = (0, _state.findClusterBreak)(line.text, linePos, false);else to = (0, _state.findClusterBreak)(line.text, linePos);
  var cat = categorize(line.text.slice(from, to));
  while (from > 0) {
    var prev = (0, _state.findClusterBreak)(line.text, from, false);
    if (categorize(line.text.slice(prev, from)) != cat) break;
    from = prev;
  }
  while (to < line.length) {
    var next = (0, _state.findClusterBreak)(line.text, to);
    if (categorize(line.text.slice(to, next)) != cat) break;
    to = next;
  }
  return _state.EditorSelection.range(from + line.from, to + line.from);
}
// Search the DOM for the {node, offset} position closest to the given
// coordinates. Very inefficient and crude, but can usually be avoided
// by calling caret(Position|Range)FromPoint instead.
function getdx(x, rect) {
  return rect.left > x ? rect.left - x : Math.max(0, x - rect.right);
}
function getdy(y, rect) {
  return rect.top > y ? rect.top - y : Math.max(0, y - rect.bottom);
}
function yOverlap(a, b) {
  return a.top < b.bottom - 1 && a.bottom > b.top + 1;
}
function upTop(rect, top) {
  return top < rect.top ? {
    top: top,
    left: rect.left,
    right: rect.right,
    bottom: rect.bottom
  } : rect;
}
function upBot(rect, bottom) {
  return bottom > rect.bottom ? {
    top: rect.top,
    left: rect.left,
    right: rect.right,
    bottom: bottom
  } : rect;
}
function domPosAtCoords(parent, x, y) {
  var closest,
    closestRect,
    closestX,
    closestY,
    closestOverlap = false;
  var above, below, aboveRect, belowRect;
  for (var child = parent.firstChild; child; child = child.nextSibling) {
    var rects = clientRectsFor(child);
    for (var i = 0; i < rects.length; i++) {
      var rect = rects[i];
      if (closestRect && yOverlap(closestRect, rect)) rect = upTop(upBot(rect, closestRect.bottom), closestRect.top);
      var dx = getdx(x, rect),
        dy = getdy(y, rect);
      if (dx == 0 && dy == 0) return child.nodeType == 3 ? domPosInText(child, x, y) : domPosAtCoords(child, x, y);
      if (!closest || closestY > dy || closestY == dy && closestX > dx) {
        closest = child;
        closestRect = rect;
        closestX = dx;
        closestY = dy;
        var side = dy ? y < rect.top ? -1 : 1 : dx ? x < rect.left ? -1 : 1 : 0;
        closestOverlap = !side || (side > 0 ? i < rects.length - 1 : i > 0);
      }
      if (dx == 0) {
        if (y > rect.bottom && (!aboveRect || aboveRect.bottom < rect.bottom)) {
          above = child;
          aboveRect = rect;
        } else if (y < rect.top && (!belowRect || belowRect.top > rect.top)) {
          below = child;
          belowRect = rect;
        }
      } else if (aboveRect && yOverlap(aboveRect, rect)) {
        aboveRect = upBot(aboveRect, rect.bottom);
      } else if (belowRect && yOverlap(belowRect, rect)) {
        belowRect = upTop(belowRect, rect.top);
      }
    }
  }
  if (aboveRect && aboveRect.bottom >= y) {
    closest = above;
    closestRect = aboveRect;
  } else if (belowRect && belowRect.top <= y) {
    closest = below;
    closestRect = belowRect;
  }
  if (!closest) return {
    node: parent,
    offset: 0
  };
  var clipX = Math.max(closestRect.left, Math.min(closestRect.right, x));
  if (closest.nodeType == 3) return domPosInText(closest, clipX, y);
  if (closestOverlap && closest.contentEditable != "false") return domPosAtCoords(closest, clipX, y);
  var offset = Array.prototype.indexOf.call(parent.childNodes, closest) + (x >= (closestRect.left + closestRect.right) / 2 ? 1 : 0);
  return {
    node: parent,
    offset: offset
  };
}
function domPosInText(node, x, y) {
  var len = node.nodeValue.length;
  var closestOffset = -1,
    closestDY = 1e9,
    generalSide = 0;
  for (var i = 0; i < len; i++) {
    var rects = textRange(node, i, i + 1).getClientRects();
    for (var j = 0; j < rects.length; j++) {
      var rect = rects[j];
      if (rect.top == rect.bottom) continue;
      if (!generalSide) generalSide = x - rect.left;
      var dy = (rect.top > y ? rect.top - y : y - rect.bottom) - 1;
      if (rect.left - 1 <= x && rect.right + 1 >= x && dy < closestDY) {
        var right = x >= (rect.left + rect.right) / 2,
          after = right;
        if (browser.chrome || browser.gecko) {
          // Check for RTL on browsers that support getting client
          // rects for empty ranges.
          var rectBefore = textRange(node, i).getBoundingClientRect();
          if (rectBefore.left == rect.right) after = !right;
        }
        if (dy <= 0) return {
          node: node,
          offset: i + (after ? 1 : 0)
        };
        closestOffset = i + (after ? 1 : 0);
        closestDY = dy;
      }
    }
  }
  return {
    node: node,
    offset: closestOffset > -1 ? closestOffset : generalSide > 0 ? node.nodeValue.length : 0
  };
}
function _posAtCoords(view, coords, precise) {
  var bias = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : -1;
  var _a, _b;
  var content = view.contentDOM.getBoundingClientRect(),
    docTop = content.top + view.viewState.paddingTop;
  var block,
    docHeight = view.viewState.docHeight;
  var x = coords.x,
    y = coords.y,
    yOffset = y - docTop;
  if (yOffset < 0) return 0;
  if (yOffset > docHeight) return view.state.doc.length;
  // Scan for a text block near the queried y position
  for (var halfLine = view.viewState.heightOracle.textHeight / 2, bounced = false;;) {
    block = view.elementAtHeight(yOffset);
    if (block.type == BlockType.Text) break;
    for (;;) {
      // Move the y position out of this block
      yOffset = bias > 0 ? block.bottom + halfLine : block.top - halfLine;
      if (yOffset >= 0 && yOffset <= docHeight) break;
      // If the document consists entirely of replaced widgets, we
      // won't find a text block, so return 0
      if (bounced) return precise ? null : 0;
      bounced = true;
      bias = -bias;
    }
  }
  y = docTop + yOffset;
  var lineStart = block.from;
  // If this is outside of the rendered viewport, we can't determine a position
  if (lineStart < view.viewport.from) return view.viewport.from == 0 ? 0 : precise ? null : posAtCoordsImprecise(view, content, block, x, y);
  if (lineStart > view.viewport.to) return view.viewport.to == view.state.doc.length ? view.state.doc.length : precise ? null : posAtCoordsImprecise(view, content, block, x, y);
  // Prefer ShadowRootOrDocument.elementFromPoint if present, fall back to document if not
  var doc = view.dom.ownerDocument;
  var root = view.root.elementFromPoint ? view.root : doc;
  var element = root.elementFromPoint(x, y);
  if (element && !view.contentDOM.contains(element)) element = null;
  // If the element is unexpected, clip x at the sides of the content area and try again
  if (!element) {
    x = Math.max(content.left + 1, Math.min(content.right - 1, x));
    element = root.elementFromPoint(x, y);
    if (element && !view.contentDOM.contains(element)) element = null;
  }
  // There's visible editor content under the point, so we can try
  // using caret(Position|Range)FromPoint as a shortcut
  var node,
    offset = -1;
  if (element && ((_a = view.docView.nearest(element)) === null || _a === void 0 ? void 0 : _a.isEditable) != false) {
    if (doc.caretPositionFromPoint) {
      var pos = doc.caretPositionFromPoint(x, y);
      if (pos) {
        node = pos.offsetNode;
        offset = pos.offset;
      }
    } else if (doc.caretRangeFromPoint) {
      var range = doc.caretRangeFromPoint(x, y);
      if (range) {
        node = range.startContainer;
        offset = range.startOffset;
        if (!view.contentDOM.contains(node) || browser.safari && isSuspiciousSafariCaretResult(node, offset, x) || browser.chrome && isSuspiciousChromeCaretResult(node, offset, x)) node = undefined;
      }
    }
  }
  // No luck, do our own (potentially expensive) search
  if (!node || !view.docView.dom.contains(node)) {
    var line = LineView.find(view.docView, lineStart);
    if (!line) return yOffset > block.top + block.height / 2 ? block.to : block.from;
    var _domPosAtCoords = domPosAtCoords(line.dom, x, y);
    node = _domPosAtCoords.node;
    offset = _domPosAtCoords.offset;
  }
  var nearest = view.docView.nearest(node);
  if (!nearest) return null;
  if (nearest.isWidget && ((_b = nearest.dom) === null || _b === void 0 ? void 0 : _b.nodeType) == 1) {
    var rect = nearest.dom.getBoundingClientRect();
    return coords.y < rect.top || coords.y <= rect.bottom && coords.x <= (rect.left + rect.right) / 2 ? nearest.posAtStart : nearest.posAtEnd;
  } else {
    return nearest.localPosFromDOM(node, offset) + nearest.posAtStart;
  }
}
function posAtCoordsImprecise(view, contentRect, block, x, y) {
  var into = Math.round((x - contentRect.left) * view.defaultCharacterWidth);
  if (view.lineWrapping && block.height > view.defaultLineHeight * 1.5) {
    var textHeight = view.viewState.heightOracle.textHeight;
    var line = Math.floor((y - block.top - (view.defaultLineHeight - textHeight) * 0.5) / textHeight);
    into += line * view.viewState.heightOracle.lineLength;
  }
  var content = view.state.sliceDoc(block.from, block.to);
  return block.from + (0, _state.findColumn)(content, into, view.state.tabSize);
}
// In case of a high line height, Safari's caretRangeFromPoint treats
// the space between lines as belonging to the last character of the
// line before. This is used to detect such a result so that it can be
// ignored (issue #401).
function isSuspiciousSafariCaretResult(node, offset, x) {
  var len;
  if (node.nodeType != 3 || offset != (len = node.nodeValue.length)) return false;
  for (var next = node.nextSibling; next; next = next.nextSibling) if (next.nodeType != 1 || next.nodeName != "BR") return false;
  return textRange(node, len - 1, len).getBoundingClientRect().left > x;
}
// Chrome will move positions between lines to the start of the next line
function isSuspiciousChromeCaretResult(node, offset, x) {
  if (offset != 0) return false;
  for (var cur = node;;) {
    var parent = cur.parentNode;
    if (!parent || parent.nodeType != 1 || parent.firstChild != cur) return false;
    if (parent.classList.contains("cm-line")) break;
    cur = parent;
  }
  var rect = node.nodeType == 1 ? node.getBoundingClientRect() : textRange(node, 0, Math.max(node.nodeValue.length, 1)).getBoundingClientRect();
  return x - rect.left > 5;
}
function blockAt(view, pos) {
  var line = view.lineBlockAt(pos);
  if (Array.isArray(line.type)) {
    var _iterator17 = _createForOfIteratorHelper(line.type),
      _step17;
    try {
      for (_iterator17.s(); !(_step17 = _iterator17.n()).done;) {
        var _l = _step17.value;
        if (_l.to > pos || _l.to == pos && (_l.to == line.to || _l.type == BlockType.Text)) return _l;
      }
    } catch (err) {
      _iterator17.e(err);
    } finally {
      _iterator17.f();
    }
  }
  return line;
}
function _moveToLineBoundary(view, start, forward, includeWrap) {
  var line = blockAt(view, start.head);
  var coords = !includeWrap || line.type != BlockType.Text || !(view.lineWrapping || line.widgetLineBreaks) ? null : view.coordsAtPos(start.assoc < 0 && start.head > line.from ? start.head - 1 : start.head);
  if (coords) {
    var editorRect = view.dom.getBoundingClientRect();
    var direction = view.textDirectionAt(line.from);
    var pos = view.posAtCoords({
      x: forward == (direction == Direction.LTR) ? editorRect.right - 1 : editorRect.left + 1,
      y: (coords.top + coords.bottom) / 2
    });
    if (pos != null) return _state.EditorSelection.cursor(pos, forward ? -1 : 1);
  }
  return _state.EditorSelection.cursor(forward ? line.to : line.from, forward ? -1 : 1);
}
function _moveByChar(view, start, forward, by) {
  var line = view.state.doc.lineAt(start.head),
    spans = view.bidiSpans(line);
  var direction = view.textDirectionAt(line.from);
  for (var cur = start, check = null;;) {
    var next = moveVisually(line, spans, direction, cur, forward),
      _char = movedOver;
    if (!next) {
      if (line.number == (forward ? view.state.doc.lines : 1)) return cur;
      _char = "\n";
      line = view.state.doc.line(line.number + (forward ? 1 : -1));
      spans = view.bidiSpans(line);
      next = view.visualLineSide(line, !forward);
    }
    if (!check) {
      if (!by) return next;
      check = by(_char);
    } else if (!check(_char)) {
      return cur;
    }
    cur = next;
  }
}
function byGroup(view, pos, start) {
  var categorize = view.state.charCategorizer(pos);
  var cat = categorize(start);
  return function (next) {
    var nextCat = categorize(next);
    if (cat == _state.CharCategory.Space) cat = nextCat;
    return cat == nextCat;
  };
}
function _moveVertically(view, start, forward, distance) {
  var startPos = start.head,
    dir = forward ? 1 : -1;
  if (startPos == (forward ? view.state.doc.length : 0)) return _state.EditorSelection.cursor(startPos, start.assoc);
  var goal = start.goalColumn,
    startY;
  var rect = view.contentDOM.getBoundingClientRect();
  var startCoords = view.coordsAtPos(startPos, start.assoc || -1),
    docTop = view.documentTop;
  if (startCoords) {
    if (goal == null) goal = startCoords.left - rect.left;
    startY = dir < 0 ? startCoords.top : startCoords.bottom;
  } else {
    var line = view.viewState.lineBlockAt(startPos);
    if (goal == null) goal = Math.min(rect.right - rect.left, view.defaultCharacterWidth * (startPos - line.from));
    startY = (dir < 0 ? line.top : line.bottom) + docTop;
  }
  var resolvedGoal = rect.left + goal;
  var dist = distance !== null && distance !== void 0 ? distance : view.viewState.heightOracle.textHeight >> 1;
  for (var extra = 0;; extra += 10) {
    var curY = startY + (dist + extra) * dir;
    var pos = _posAtCoords(view, {
      x: resolvedGoal,
      y: curY
    }, false, dir);
    if (curY < rect.top || curY > rect.bottom || (dir < 0 ? pos < startPos : pos > startPos)) {
      var charRect = view.docView.coordsForChar(pos);
      var assoc = !charRect || curY < charRect.top ? -1 : 1;
      return _state.EditorSelection.cursor(pos, assoc, undefined, goal);
    }
  }
}
function skipAtomicRanges(atoms, pos, bias) {
  var _loop = function _loop() {
      var moved = 0;
      var _iterator18 = _createForOfIteratorHelper(atoms),
        _step18;
      try {
        for (_iterator18.s(); !(_step18 = _iterator18.n()).done;) {
          var set = _step18.value;
          set.between(pos - 1, pos + 1, function (from, to, value) {
            if (pos > from && pos < to) {
              var side = moved || bias || (pos - from < to - pos ? -1 : 1);
              pos = side < 0 ? from : to;
              moved = side;
            }
          });
        }
      } catch (err) {
        _iterator18.e(err);
      } finally {
        _iterator18.f();
      }
      if (!moved) return {
        v: pos
      };
    },
    _ret;
  for (;;) {
    _ret = _loop();
    if (_ret) return _ret.v;
  }
}
function skipAtoms(view, oldPos, pos) {
  var newPos = skipAtomicRanges(view.state.facet(atomicRanges).map(function (f) {
    return f(view);
  }), pos.from, oldPos.head > pos.from ? -1 : 1);
  return newPos == pos.from ? pos : _state.EditorSelection.cursor(newPos, newPos < pos.from ? 1 : -1);
}

// This will also be where dragging info and such goes
var InputState = /*#__PURE__*/function () {
  function InputState(view) {
    _classCallCheck(this, InputState);
    this.view = view;
    this.lastKeyCode = 0;
    this.lastKeyTime = 0;
    this.lastTouchTime = 0;
    this.lastFocusTime = 0;
    this.lastScrollTop = 0;
    this.lastScrollLeft = 0;
    // On iOS, some keys need to have their default behavior happen
    // (after which we retroactively handle them and reset the DOM) to
    // avoid messing up the virtual keyboard state.
    this.pendingIOSKey = undefined;
    this.lastSelectionOrigin = null;
    this.lastSelectionTime = 0;
    this.lastEscPress = 0;
    this.lastContextMenu = 0;
    this.scrollHandlers = [];
    this.handlers = Object.create(null);
    // -1 means not in a composition. Otherwise, this counts the number
    // of changes made during the composition. The count is used to
    // avoid treating the start state of the composition, before any
    // changes have been made, as part of the composition.
    this.composing = -1;
    // Tracks whether the next change should be marked as starting the
    // composition (null means no composition, true means next is the
    // first, false means first has already been marked for this
    // composition)
    this.compositionFirstChange = null;
    // End time of the previous composition
    this.compositionEndedAt = 0;
    // Used in a kludge to detect when an Enter keypress should be
    // considered part of the composition on Safari, which fires events
    // in the wrong order
    this.compositionPendingKey = false;
    // Used to categorize changes as part of a composition, even when
    // the mutation events fire shortly after the compositionend event
    this.compositionPendingChange = false;
    this.mouseSelection = null;
    // When a drag from the editor is active, this points at the range
    // being dragged.
    this.draggedContent = null;
    this.handleEvent = this.handleEvent.bind(this);
    this.notifiedFocused = view.hasFocus;
    // On Safari adding an input event handler somehow prevents an
    // issue where the composition vanishes when you press enter.
    if (browser.safari) view.contentDOM.addEventListener("input", function () {
      return null;
    });
    if (browser.gecko) firefoxCopyCutHack(view.contentDOM.ownerDocument);
  }
  return _createClass(InputState, [{
    key: "setSelectionOrigin",
    value: function setSelectionOrigin(origin) {
      this.lastSelectionOrigin = origin;
      this.lastSelectionTime = Date.now();
    }
  }, {
    key: "handleEvent",
    value: function handleEvent(event) {
      if (!eventBelongsToEditor(this.view, event) || this.ignoreDuringComposition(event)) return;
      if (event.type == "keydown" && this.keydown(event)) return;
      this.runHandlers(event.type, event);
    }
  }, {
    key: "runHandlers",
    value: function runHandlers(type, event) {
      var handlers = this.handlers[type];
      if (handlers) {
        var _iterator19 = _createForOfIteratorHelper(handlers.observers),
          _step19;
        try {
          for (_iterator19.s(); !(_step19 = _iterator19.n()).done;) {
            var observer = _step19.value;
            observer(this.view, event);
          }
        } catch (err) {
          _iterator19.e(err);
        } finally {
          _iterator19.f();
        }
        var _iterator20 = _createForOfIteratorHelper(handlers.handlers),
          _step20;
        try {
          for (_iterator20.s(); !(_step20 = _iterator20.n()).done;) {
            var handler = _step20.value;
            if (event.defaultPrevented) break;
            if (handler(this.view, event)) {
              event.preventDefault();
              break;
            }
          }
        } catch (err) {
          _iterator20.e(err);
        } finally {
          _iterator20.f();
        }
      }
    }
  }, {
    key: "ensureHandlers",
    value: function ensureHandlers(plugins) {
      var handlers = computeHandlers(plugins),
        prev = this.handlers,
        dom = this.view.contentDOM;
      for (var type in handlers) if (type != "scroll") {
        var passive = !handlers[type].handlers.length;
        var exists = prev[type];
        if (exists && passive != !exists.handlers.length) {
          dom.removeEventListener(type, this.handleEvent);
          exists = null;
        }
        if (!exists) dom.addEventListener(type, this.handleEvent, {
          passive: passive
        });
      }
      for (var _type4 in prev) if (_type4 != "scroll" && !handlers[_type4]) dom.removeEventListener(_type4, this.handleEvent);
      this.handlers = handlers;
    }
  }, {
    key: "keydown",
    value: function keydown(event) {
      var _this19 = this;
      // Must always run, even if a custom handler handled the event
      this.lastKeyCode = event.keyCode;
      this.lastKeyTime = Date.now();
      if (event.keyCode == 9 && Date.now() < this.lastEscPress + 2000) return true;
      if (event.keyCode != 27 && modifierCodes.indexOf(event.keyCode) < 0) this.view.inputState.lastEscPress = 0;
      // Chrome for Android usually doesn't fire proper key events, but
      // occasionally does, usually surrounded by a bunch of complicated
      // composition changes. When an enter or backspace key event is
      // seen, hold off on handling DOM events for a bit, and then
      // dispatch it.
      if (browser.android && browser.chrome && !event.synthetic && (event.keyCode == 13 || event.keyCode == 8)) {
        this.view.observer.delayAndroidKey(event.key, event.keyCode);
        return true;
      }
      // Preventing the default behavior of Enter on iOS makes the
      // virtual keyboard get stuck in the wrong (lowercase)
      // state. So we let it go through, and then, in
      // applyDOMChange, notify key handlers of it and reset to
      // the state they produce.
      var pending;
      if (browser.ios && !event.synthetic && !event.altKey && !event.metaKey && ((pending = PendingKeys.find(function (key) {
        return key.keyCode == event.keyCode;
      })) && !event.ctrlKey || EmacsyPendingKeys.indexOf(event.key) > -1 && event.ctrlKey && !event.shiftKey)) {
        this.pendingIOSKey = pending || event;
        setTimeout(function () {
          return _this19.flushIOSKey();
        }, 250);
        return true;
      }
      if (event.keyCode != 229) this.view.observer.forceFlush();
      return false;
    }
  }, {
    key: "flushIOSKey",
    value: function flushIOSKey(change) {
      var key = this.pendingIOSKey;
      if (!key) return false;
      // This looks like an autocorrection before Enter
      if (key.key == "Enter" && change && change.from < change.to && /^\S+$/.test(change.insert.toString())) return false;
      this.pendingIOSKey = undefined;
      return dispatchKey(this.view.contentDOM, key.key, key.keyCode, key instanceof KeyboardEvent ? key : undefined);
    }
  }, {
    key: "ignoreDuringComposition",
    value: function ignoreDuringComposition(event) {
      if (!/^key/.test(event.type)) return false;
      if (this.composing > 0) return true;
      // See https://www.stum.de/2016/06/24/handling-ime-events-in-javascript/.
      // On some input method editors (IMEs), the Enter key is used to
      // confirm character selection. On Safari, when Enter is pressed,
      // compositionend and keydown events are sometimes emitted in the
      // wrong order. The key event should still be ignored, even when
      // it happens after the compositionend event.
      if (browser.safari && !browser.ios && this.compositionPendingKey && Date.now() - this.compositionEndedAt < 100) {
        this.compositionPendingKey = false;
        return true;
      }
      return false;
    }
  }, {
    key: "startMouseSelection",
    value: function startMouseSelection(mouseSelection) {
      if (this.mouseSelection) this.mouseSelection.destroy();
      this.mouseSelection = mouseSelection;
    }
  }, {
    key: "update",
    value: function update(_update2) {
      if (this.mouseSelection) this.mouseSelection.update(_update2);
      if (this.draggedContent && _update2.docChanged) this.draggedContent = this.draggedContent.map(_update2.changes);
      if (_update2.transactions.length) this.lastKeyCode = this.lastSelectionTime = 0;
    }
  }, {
    key: "destroy",
    value: function destroy() {
      if (this.mouseSelection) this.mouseSelection.destroy();
    }
  }]);
}();
function bindHandler(plugin, handler) {
  return function (view, event) {
    try {
      return handler.call(plugin, event, view);
    } catch (e) {
      logException(view.state, e);
    }
  };
}
function computeHandlers(plugins) {
  var result = Object.create(null);
  function record(type) {
    return result[type] || (result[type] = {
      observers: [],
      handlers: []
    });
  }
  var _iterator21 = _createForOfIteratorHelper(plugins),
    _step21;
  try {
    for (_iterator21.s(); !(_step21 = _iterator21.n()).done;) {
      var _plugin2 = _step21.value;
      var spec = _plugin2.spec;
      if (spec && spec.domEventHandlers) for (var _type6 in spec.domEventHandlers) {
        var f = spec.domEventHandlers[_type6];
        if (f) record(_type6).handlers.push(bindHandler(_plugin2.value, f));
      }
      if (spec && spec.domEventObservers) for (var _type7 in spec.domEventObservers) {
        var _f2 = spec.domEventObservers[_type7];
        if (_f2) record(_type7).observers.push(bindHandler(_plugin2.value, _f2));
      }
    }
  } catch (err) {
    _iterator21.e(err);
  } finally {
    _iterator21.f();
  }
  for (var type in handlers) record(type).handlers.push(handlers[type]);
  for (var _type5 in observers) record(_type5).observers.push(observers[_type5]);
  return result;
}
var PendingKeys = [{
  key: "Backspace",
  keyCode: 8,
  inputType: "deleteContentBackward"
}, {
  key: "Enter",
  keyCode: 13,
  inputType: "insertParagraph"
}, {
  key: "Enter",
  keyCode: 13,
  inputType: "insertLineBreak"
}, {
  key: "Delete",
  keyCode: 46,
  inputType: "deleteContentForward"
}];
var EmacsyPendingKeys = "dthko";
// Key codes for modifier keys
var modifierCodes = [16, 17, 18, 20, 91, 92, 224, 225];
var dragScrollMargin = 6;
function dragScrollSpeed(dist) {
  return Math.max(0, dist) * 0.7 + 8;
}
function dist(a, b) {
  return Math.max(Math.abs(a.clientX - b.clientX), Math.abs(a.clientY - b.clientY));
}
var MouseSelection = /*#__PURE__*/function () {
  function MouseSelection(view, startEvent, style, mustSelect) {
    _classCallCheck(this, MouseSelection);
    this.view = view;
    this.startEvent = startEvent;
    this.style = style;
    this.mustSelect = mustSelect;
    this.scrollSpeed = {
      x: 0,
      y: 0
    };
    this.scrolling = -1;
    this.lastEvent = startEvent;
    this.scrollParent = scrollableParent(view.contentDOM);
    this.atoms = view.state.facet(atomicRanges).map(function (f) {
      return f(view);
    });
    var doc = view.contentDOM.ownerDocument;
    doc.addEventListener("mousemove", this.move = this.move.bind(this));
    doc.addEventListener("mouseup", this.up = this.up.bind(this));
    this.extend = startEvent.shiftKey;
    this.multiple = view.state.facet(_state.EditorState.allowMultipleSelections) && addsSelectionRange(view, startEvent);
    this.dragging = isInPrimarySelection(view, startEvent) && getClickType(startEvent) == 1 ? null : false;
  }
  return _createClass(MouseSelection, [{
    key: "start",
    value: function start(event) {
      // When clicking outside of the selection, immediately apply the
      // effect of starting the selection
      if (this.dragging === false) this.select(event);
    }
  }, {
    key: "move",
    value: function move(event) {
      var _a;
      if (event.buttons == 0) return this.destroy();
      if (this.dragging || this.dragging == null && dist(this.startEvent, event) < 10) return;
      this.select(this.lastEvent = event);
      var sx = 0,
        sy = 0;
      var rect = ((_a = this.scrollParent) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect()) || {
        left: 0,
        top: 0,
        right: this.view.win.innerWidth,
        bottom: this.view.win.innerHeight
      };
      var margins = getScrollMargins(this.view);
      if (event.clientX - margins.left <= rect.left + dragScrollMargin) sx = -dragScrollSpeed(rect.left - event.clientX);else if (event.clientX + margins.right >= rect.right - dragScrollMargin) sx = dragScrollSpeed(event.clientX - rect.right);
      if (event.clientY - margins.top <= rect.top + dragScrollMargin) sy = -dragScrollSpeed(rect.top - event.clientY);else if (event.clientY + margins.bottom >= rect.bottom - dragScrollMargin) sy = dragScrollSpeed(event.clientY - rect.bottom);
      this.setScrollSpeed(sx, sy);
    }
  }, {
    key: "up",
    value: function up(event) {
      if (this.dragging == null) this.select(this.lastEvent);
      if (!this.dragging) event.preventDefault();
      this.destroy();
    }
  }, {
    key: "destroy",
    value: function destroy() {
      this.setScrollSpeed(0, 0);
      var doc = this.view.contentDOM.ownerDocument;
      doc.removeEventListener("mousemove", this.move);
      doc.removeEventListener("mouseup", this.up);
      this.view.inputState.mouseSelection = this.view.inputState.draggedContent = null;
    }
  }, {
    key: "setScrollSpeed",
    value: function setScrollSpeed(sx, sy) {
      var _this20 = this;
      this.scrollSpeed = {
        x: sx,
        y: sy
      };
      if (sx || sy) {
        if (this.scrolling < 0) this.scrolling = setInterval(function () {
          return _this20.scroll();
        }, 50);
      } else if (this.scrolling > -1) {
        clearInterval(this.scrolling);
        this.scrolling = -1;
      }
    }
  }, {
    key: "scroll",
    value: function scroll() {
      if (this.scrollParent) {
        this.scrollParent.scrollLeft += this.scrollSpeed.x;
        this.scrollParent.scrollTop += this.scrollSpeed.y;
      } else {
        this.view.win.scrollBy(this.scrollSpeed.x, this.scrollSpeed.y);
      }
      if (this.dragging === false) this.select(this.lastEvent);
    }
  }, {
    key: "skipAtoms",
    value: function skipAtoms(sel) {
      var ranges = null;
      for (var i = 0; i < sel.ranges.length; i++) {
        var range = sel.ranges[i],
          updated = null;
        if (range.empty) {
          var pos = skipAtomicRanges(this.atoms, range.from, 0);
          if (pos != range.from) updated = _state.EditorSelection.cursor(pos, -1);
        } else {
          var from = skipAtomicRanges(this.atoms, range.from, -1);
          var to = skipAtomicRanges(this.atoms, range.to, 1);
          if (from != range.from || to != range.to) updated = _state.EditorSelection.range(range.from == range.anchor ? from : to, range.from == range.head ? from : to);
        }
        if (updated) {
          if (!ranges) ranges = sel.ranges.slice();
          ranges[i] = updated;
        }
      }
      return ranges ? _state.EditorSelection.create(ranges, sel.mainIndex) : sel;
    }
  }, {
    key: "select",
    value: function select(event) {
      var view = this.view,
        selection = this.skipAtoms(this.style.get(event, this.extend, this.multiple));
      if (this.mustSelect || !selection.eq(view.state.selection, this.dragging === false)) this.view.dispatch({
        selection: selection,
        userEvent: "select.pointer"
      });
      this.mustSelect = false;
    }
  }, {
    key: "update",
    value: function update(_update3) {
      var _this21 = this;
      if (this.style.update(_update3)) setTimeout(function () {
        return _this21.select(_this21.lastEvent);
      }, 20);
    }
  }]);
}();
function addsSelectionRange(view, event) {
  var facet = view.state.facet(clickAddsSelectionRange);
  return facet.length ? facet[0](event) : browser.mac ? event.metaKey : event.ctrlKey;
}
function dragMovesSelection(view, event) {
  var facet = view.state.facet(dragMovesSelection$1);
  return facet.length ? facet[0](event) : browser.mac ? !event.altKey : !event.ctrlKey;
}
function isInPrimarySelection(view, event) {
  var main = view.state.selection.main;
  if (main.empty) return false;
  // On boundary clicks, check whether the coordinates are inside the
  // selection's client rectangles
  var sel = getSelection(view.root);
  if (!sel || sel.rangeCount == 0) return true;
  var rects = sel.getRangeAt(0).getClientRects();
  for (var i = 0; i < rects.length; i++) {
    var rect = rects[i];
    if (rect.left <= event.clientX && rect.right >= event.clientX && rect.top <= event.clientY && rect.bottom >= event.clientY) return true;
  }
  return false;
}
function eventBelongsToEditor(view, event) {
  if (!event.bubbles) return true;
  if (event.defaultPrevented) return false;
  for (var node = event.target, cView; node != view.contentDOM; node = node.parentNode) if (!node || node.nodeType == 11 || (cView = ContentView.get(node)) && cView.ignoreEvent(event)) return false;
  return true;
}
var handlers = /*@__PURE__*/Object.create(null);
var observers = /*@__PURE__*/Object.create(null);
// This is very crude, but unfortunately both these browsers _pretend_
// that they have a clipboard API—all the objects and methods are
// there, they just don't work, and they are hard to test.
var brokenClipboardAPI = browser.ie && browser.ie_version < 15 || browser.ios && browser.webkit_version < 604;
function capturePaste(view) {
  var parent = view.dom.parentNode;
  if (!parent) return;
  var target = parent.appendChild(document.createElement("textarea"));
  target.style.cssText = "position: fixed; left: -10000px; top: 10px";
  target.focus();
  setTimeout(function () {
    view.focus();
    target.remove();
    doPaste(view, target.value);
  }, 50);
}
function doPaste(view, input) {
  var state = view.state,
    changes,
    i = 1,
    text = state.toText(input);
  var byLine = text.lines == state.selection.ranges.length;
  var linewise = lastLinewiseCopy != null && state.selection.ranges.every(function (r) {
    return r.empty;
  }) && lastLinewiseCopy == text.toString();
  if (linewise) {
    var lastLine = -1;
    changes = state.changeByRange(function (range) {
      var line = state.doc.lineAt(range.from);
      if (line.from == lastLine) return {
        range: range
      };
      lastLine = line.from;
      var insert = state.toText((byLine ? text.line(i++).text : input) + state.lineBreak);
      return {
        changes: {
          from: line.from,
          insert: insert
        },
        range: _state.EditorSelection.cursor(range.from + insert.length)
      };
    });
  } else if (byLine) {
    changes = state.changeByRange(function (range) {
      var line = text.line(i++);
      return {
        changes: {
          from: range.from,
          to: range.to,
          insert: line.text
        },
        range: _state.EditorSelection.cursor(range.from + line.length)
      };
    });
  } else {
    changes = state.replaceSelection(text);
  }
  view.dispatch(changes, {
    userEvent: "input.paste",
    scrollIntoView: true
  });
}
observers.scroll = function (view) {
  view.inputState.lastScrollTop = view.scrollDOM.scrollTop;
  view.inputState.lastScrollLeft = view.scrollDOM.scrollLeft;
};
handlers.keydown = function (view, event) {
  view.inputState.setSelectionOrigin("select");
  if (event.keyCode == 27) view.inputState.lastEscPress = Date.now();
  return false;
};
observers.touchstart = function (view, e) {
  view.inputState.lastTouchTime = Date.now();
  view.inputState.setSelectionOrigin("select.pointer");
};
observers.touchmove = function (view) {
  view.inputState.setSelectionOrigin("select.pointer");
};
handlers.mousedown = function (view, event) {
  view.observer.flush();
  if (view.inputState.lastTouchTime > Date.now() - 2000) return false; // Ignore touch interaction
  var style = null;
  var _iterator22 = _createForOfIteratorHelper(view.state.facet(mouseSelectionStyle)),
    _step22;
  try {
    for (_iterator22.s(); !(_step22 = _iterator22.n()).done;) {
      var makeStyle = _step22.value;
      style = makeStyle(view, event);
      if (style) break;
    }
  } catch (err) {
    _iterator22.e(err);
  } finally {
    _iterator22.f();
  }
  if (!style && event.button == 0) style = basicMouseSelection(view, event);
  if (style) {
    var mustFocus = !view.hasFocus;
    view.inputState.startMouseSelection(new MouseSelection(view, event, style, mustFocus));
    if (mustFocus) view.observer.ignore(function () {
      return focusPreventScroll(view.contentDOM);
    });
    var mouseSel = view.inputState.mouseSelection;
    if (mouseSel) {
      mouseSel.start(event);
      return mouseSel.dragging === false;
    }
  }
  return false;
};
function rangeForClick(view, pos, bias, type) {
  if (type == 1) {
    // Single click
    return _state.EditorSelection.cursor(pos, bias);
  } else if (type == 2) {
    // Double click
    return groupAt(view.state, pos, bias);
  } else {
    // Triple click
    var visual = LineView.find(view.docView, pos),
      line = view.state.doc.lineAt(visual ? visual.posAtEnd : pos);
    var from = visual ? visual.posAtStart : line.from,
      to = visual ? visual.posAtEnd : line.to;
    if (to < view.state.doc.length && to == line.to) to++;
    return _state.EditorSelection.range(from, to);
  }
}
var insideY = function insideY(y, rect) {
  return y >= rect.top && y <= rect.bottom;
};
var inside = function inside(x, y, rect) {
  return insideY(y, rect) && x >= rect.left && x <= rect.right;
};
// Try to determine, for the given coordinates, associated with the
// given position, whether they are related to the element before or
// the element after the position.
function findPositionSide(view, pos, x, y) {
  var line = LineView.find(view.docView, pos);
  if (!line) return 1;
  var off = pos - line.posAtStart;
  // Line boundaries point into the line
  if (off == 0) return 1;
  if (off == line.length) return -1;
  // Positions on top of an element point at that element
  var before = line.coordsAt(off, -1);
  if (before && inside(x, y, before)) return -1;
  var after = line.coordsAt(off, 1);
  if (after && inside(x, y, after)) return 1;
  // This is probably a line wrap point. Pick before if the point is
  // beside it.
  return before && insideY(y, before) ? -1 : 1;
}
function queryPos(view, event) {
  var pos = view.posAtCoords({
    x: event.clientX,
    y: event.clientY
  }, false);
  return {
    pos: pos,
    bias: findPositionSide(view, pos, event.clientX, event.clientY)
  };
}
var BadMouseDetail = browser.ie && browser.ie_version <= 11;
var lastMouseDown = null,
  lastMouseDownCount = 0,
  lastMouseDownTime = 0;
function getClickType(event) {
  if (!BadMouseDetail) return event.detail;
  var last = lastMouseDown,
    lastTime = lastMouseDownTime;
  lastMouseDown = event;
  lastMouseDownTime = Date.now();
  return lastMouseDownCount = !last || lastTime > Date.now() - 400 && Math.abs(last.clientX - event.clientX) < 2 && Math.abs(last.clientY - event.clientY) < 2 ? (lastMouseDownCount + 1) % 3 : 1;
}
function basicMouseSelection(view, event) {
  var start = queryPos(view, event),
    type = getClickType(event);
  var startSel = view.state.selection;
  return {
    update: function update(_update4) {
      if (_update4.docChanged) {
        start.pos = _update4.changes.mapPos(start.pos);
        startSel = startSel.map(_update4.changes);
      }
    },
    get: function get(event, extend, multiple) {
      var cur = queryPos(view, event),
        removed;
      var range = rangeForClick(view, cur.pos, cur.bias, type);
      if (start.pos != cur.pos && !extend) {
        var startRange = rangeForClick(view, start.pos, start.bias, type);
        var from = Math.min(startRange.from, range.from),
          to = Math.max(startRange.to, range.to);
        range = from < range.from ? _state.EditorSelection.range(from, to) : _state.EditorSelection.range(to, from);
      }
      if (extend) return startSel.replaceRange(startSel.main.extend(range.from, range.to));else if (multiple && type == 1 && startSel.ranges.length > 1 && (removed = removeRangeAround(startSel, cur.pos))) return removed;else if (multiple) return startSel.addRange(range);else return _state.EditorSelection.create([range]);
    }
  };
}
function removeRangeAround(sel, pos) {
  for (var i = 0; i < sel.ranges.length; i++) {
    var _sel$ranges$i = sel.ranges[i],
      from = _sel$ranges$i.from,
      to = _sel$ranges$i.to;
    if (from <= pos && to >= pos) return _state.EditorSelection.create(sel.ranges.slice(0, i).concat(sel.ranges.slice(i + 1)), sel.mainIndex == i ? 0 : sel.mainIndex - (sel.mainIndex > i ? 1 : 0));
  }
  return null;
}
handlers.dragstart = function (view, event) {
  var range = view.state.selection.main;
  if (event.target.draggable) {
    var cView = view.docView.nearest(event.target);
    if (cView && cView.isWidget) {
      var from = cView.posAtStart,
        to = from + cView.length;
      if (from >= range.to || to <= range.from) range = _state.EditorSelection.range(from, to);
    }
  }
  var inputState = view.inputState;
  if (inputState.mouseSelection) inputState.mouseSelection.dragging = true;
  inputState.draggedContent = range;
  if (event.dataTransfer) {
    event.dataTransfer.setData("Text", view.state.sliceDoc(range.from, range.to));
    event.dataTransfer.effectAllowed = "copyMove";
  }
  return false;
};
handlers.dragend = function (view) {
  view.inputState.draggedContent = null;
  return false;
};
function dropText(view, event, text, direct) {
  if (!text) return;
  var dropPos = view.posAtCoords({
    x: event.clientX,
    y: event.clientY
  }, false);
  var draggedContent = view.inputState.draggedContent;
  var del = direct && draggedContent && dragMovesSelection(view, event) ? {
    from: draggedContent.from,
    to: draggedContent.to
  } : null;
  var ins = {
    from: dropPos,
    insert: text
  };
  var changes = view.state.changes(del ? [del, ins] : ins);
  view.focus();
  view.dispatch({
    changes: changes,
    selection: {
      anchor: changes.mapPos(dropPos, -1),
      head: changes.mapPos(dropPos, 1)
    },
    userEvent: del ? "move.drop" : "input.drop"
  });
  view.inputState.draggedContent = null;
}
handlers.drop = function (view, event) {
  if (!event.dataTransfer) return false;
  if (view.state.readOnly) return true;
  var files = event.dataTransfer.files;
  if (files && files.length) {
    // For a file drop, read the file's text.
    var text = Array(files.length),
      read = 0;
    var finishFile = function finishFile() {
      if (++read == files.length) dropText(view, event, text.filter(function (s) {
        return s != null;
      }).join(view.state.lineBreak), false);
    };
    var _loop2 = function _loop2(i) {
      var reader = new FileReader();
      reader.onerror = finishFile;
      reader.onload = function () {
        if (!/[\x00-\x08\x0e-\x1f]{2}/.test(reader.result)) text[i] = reader.result;
        finishFile();
      };
      reader.readAsText(files[i]);
    };
    for (var i = 0; i < files.length; i++) {
      _loop2(i);
    }
    return true;
  } else {
    var _text = event.dataTransfer.getData("Text");
    if (_text) {
      dropText(view, event, _text, true);
      return true;
    }
  }
  return false;
};
handlers.paste = function (view, event) {
  if (view.state.readOnly) return true;
  view.observer.flush();
  var data = brokenClipboardAPI ? null : event.clipboardData;
  if (data) {
    doPaste(view, data.getData("text/plain") || data.getData("text/uri-list"));
    return true;
  } else {
    capturePaste(view);
    return false;
  }
};
function captureCopy(view, text) {
  // The extra wrapper is somehow necessary on IE/Edge to prevent the
  // content from being mangled when it is put onto the clipboard
  var parent = view.dom.parentNode;
  if (!parent) return;
  var target = parent.appendChild(document.createElement("textarea"));
  target.style.cssText = "position: fixed; left: -10000px; top: 10px";
  target.value = text;
  target.focus();
  target.selectionEnd = text.length;
  target.selectionStart = 0;
  setTimeout(function () {
    target.remove();
    view.focus();
  }, 50);
}
function copiedRange(state) {
  var content = [],
    ranges = [],
    linewise = false;
  var _iterator23 = _createForOfIteratorHelper(state.selection.ranges),
    _step23;
  try {
    for (_iterator23.s(); !(_step23 = _iterator23.n()).done;) {
      var range = _step23.value;
      if (!range.empty) {
        content.push(state.sliceDoc(range.from, range.to));
        ranges.push(range);
      }
    }
  } catch (err) {
    _iterator23.e(err);
  } finally {
    _iterator23.f();
  }
  if (!content.length) {
    // Nothing selected, do a line-wise copy
    var upto = -1;
    var _iterator24 = _createForOfIteratorHelper(state.selection.ranges),
      _step24;
    try {
      for (_iterator24.s(); !(_step24 = _iterator24.n()).done;) {
        var from = _step24.value.from;
        var line = state.doc.lineAt(from);
        if (line.number > upto) {
          content.push(line.text);
          ranges.push({
            from: line.from,
            to: Math.min(state.doc.length, line.to + 1)
          });
        }
        upto = line.number;
      }
    } catch (err) {
      _iterator24.e(err);
    } finally {
      _iterator24.f();
    }
    linewise = true;
  }
  return {
    text: content.join(state.lineBreak),
    ranges: ranges,
    linewise: linewise
  };
}
var lastLinewiseCopy = null;
handlers.copy = handlers.cut = function (view, event) {
  var _copiedRange = copiedRange(view.state),
    text = _copiedRange.text,
    ranges = _copiedRange.ranges,
    linewise = _copiedRange.linewise;
  if (!text && !linewise) return false;
  lastLinewiseCopy = linewise ? text : null;
  if (event.type == "cut" && !view.state.readOnly) view.dispatch({
    changes: ranges,
    scrollIntoView: true,
    userEvent: "delete.cut"
  });
  var data = brokenClipboardAPI ? null : event.clipboardData;
  if (data) {
    data.clearData();
    data.setData("text/plain", text);
    return true;
  } else {
    captureCopy(view, text);
    return false;
  }
};
var isFocusChange = /*@__PURE__*/_state.Annotation.define();
function focusChangeTransaction(state, focus) {
  var effects = [];
  var _iterator25 = _createForOfIteratorHelper(state.facet(focusChangeEffect)),
    _step25;
  try {
    for (_iterator25.s(); !(_step25 = _iterator25.n()).done;) {
      var getEffect = _step25.value;
      var effect = getEffect(state, focus);
      if (effect) effects.push(effect);
    }
  } catch (err) {
    _iterator25.e(err);
  } finally {
    _iterator25.f();
  }
  return effects ? state.update({
    effects: effects,
    annotations: isFocusChange.of(true)
  }) : null;
}
function updateForFocusChange(view) {
  setTimeout(function () {
    var focus = view.hasFocus;
    if (focus != view.inputState.notifiedFocused) {
      var tr = focusChangeTransaction(view.state, focus);
      if (tr) view.dispatch(tr);else view.update([]);
    }
  }, 10);
}
observers.focus = function (view) {
  view.inputState.lastFocusTime = Date.now();
  // When focusing reset the scroll position, move it back to where it was
  if (!view.scrollDOM.scrollTop && (view.inputState.lastScrollTop || view.inputState.lastScrollLeft)) {
    view.scrollDOM.scrollTop = view.inputState.lastScrollTop;
    view.scrollDOM.scrollLeft = view.inputState.lastScrollLeft;
  }
  updateForFocusChange(view);
};
observers.blur = function (view) {
  view.observer.clearSelectionRange();
  updateForFocusChange(view);
};
observers.compositionstart = observers.compositionupdate = function (view) {
  if (view.inputState.compositionFirstChange == null) view.inputState.compositionFirstChange = true;
  if (view.inputState.composing < 0) {
    // FIXME possibly set a timeout to clear it again on Android
    view.inputState.composing = 0;
    if (view.docView.maybeCreateCompositionBarrier()) {
      view.update([]);
      view.docView.clearCompositionBarrier();
    }
  }
};
observers.compositionend = function (view) {
  view.inputState.composing = -1;
  view.inputState.compositionEndedAt = Date.now();
  view.inputState.compositionPendingKey = true;
  view.inputState.compositionPendingChange = view.observer.pendingRecords().length > 0;
  view.inputState.compositionFirstChange = null;
  if (browser.chrome && browser.android) {
    // Delay flushing for a bit on Android because it'll often fire a
    // bunch of contradictory changes in a row at end of compositon
    view.observer.flushSoon();
  } else if (view.inputState.compositionPendingChange) {
    // If we found pending records, schedule a flush.
    Promise.resolve().then(function () {
      return view.observer.flush();
    });
  } else {
    // Otherwise, make sure that, if no changes come in soon, the
    // composition view is cleared.
    setTimeout(function () {
      if (view.inputState.composing < 0 && view.docView.hasComposition) view.update([]);
    }, 50);
  }
};
observers.contextmenu = function (view) {
  view.inputState.lastContextMenu = Date.now();
};
handlers.beforeinput = function (view, event) {
  var _a;
  // Because Chrome Android doesn't fire useful key events, use
  // beforeinput to detect backspace (and possibly enter and delete,
  // but those usually don't even seem to fire beforeinput events at
  // the moment) and fake a key event for it.
  //
  // (preventDefault on beforeinput, though supported in the spec,
  // seems to do nothing at all on Chrome).
  var pending;
  if (browser.chrome && browser.android && (pending = PendingKeys.find(function (key) {
    return key.inputType == event.inputType;
  }))) {
    view.observer.delayAndroidKey(pending.key, pending.keyCode);
    if (pending.key == "Backspace" || pending.key == "Delete") {
      var startViewHeight = ((_a = window.visualViewport) === null || _a === void 0 ? void 0 : _a.height) || 0;
      setTimeout(function () {
        var _a;
        // Backspacing near uneditable nodes on Chrome Android sometimes
        // closes the virtual keyboard. This tries to crudely detect
        // that and refocus to get it back.
        if ((((_a = window.visualViewport) === null || _a === void 0 ? void 0 : _a.height) || 0) > startViewHeight + 10 && view.hasFocus) {
          view.contentDOM.blur();
          view.focus();
        }
      }, 100);
    }
  }
  if (browser.ios && event.inputType == "deleteContentForward") {
    // For some reason, DOM changes (and beforeinput) happen _before_
    // the key event for ctrl-d on iOS when using an external
    // keyboard.
    view.observer.flushSoon();
  }
  return false;
};
var appliedFirefoxHack = /*@__PURE__*/new Set();
// In Firefox, when cut/copy handlers are added to the document, that
// somehow avoids a bug where those events aren't fired when the
// selection is empty. See https://github.com/codemirror/dev/issues/1082
// and https://bugzilla.mozilla.org/show_bug.cgi?id=995961
function firefoxCopyCutHack(doc) {
  if (!appliedFirefoxHack.has(doc)) {
    appliedFirefoxHack.add(doc);
    doc.addEventListener("copy", function () {});
    doc.addEventListener("cut", function () {});
  }
}
var wrappingWhiteSpace = ["pre-wrap", "normal", "pre-line", "break-spaces"];
var HeightOracle = /*#__PURE__*/function () {
  function HeightOracle(lineWrapping) {
    _classCallCheck(this, HeightOracle);
    this.lineWrapping = lineWrapping;
    this.doc = _state.Text.empty;
    this.heightSamples = {};
    this.lineHeight = 14; // The height of an entire line (line-height)
    this.charWidth = 7;
    this.textHeight = 14; // The height of the actual font (font-size)
    this.lineLength = 30;
    // Used to track, during updateHeight, if any actual heights changed
    this.heightChanged = false;
  }
  return _createClass(HeightOracle, [{
    key: "heightForGap",
    value: function heightForGap(from, to) {
      var lines = this.doc.lineAt(to).number - this.doc.lineAt(from).number + 1;
      if (this.lineWrapping) lines += Math.max(0, Math.ceil((to - from - lines * this.lineLength * 0.5) / this.lineLength));
      return this.lineHeight * lines;
    }
  }, {
    key: "heightForLine",
    value: function heightForLine(length) {
      if (!this.lineWrapping) return this.lineHeight;
      var lines = 1 + Math.max(0, Math.ceil((length - this.lineLength) / (this.lineLength - 5)));
      return lines * this.lineHeight;
    }
  }, {
    key: "setDoc",
    value: function setDoc(doc) {
      this.doc = doc;
      return this;
    }
  }, {
    key: "mustRefreshForWrapping",
    value: function mustRefreshForWrapping(whiteSpace) {
      return wrappingWhiteSpace.indexOf(whiteSpace) > -1 != this.lineWrapping;
    }
  }, {
    key: "mustRefreshForHeights",
    value: function mustRefreshForHeights(lineHeights) {
      var newHeight = false;
      for (var i = 0; i < lineHeights.length; i++) {
        var h = lineHeights[i];
        if (h < 0) {
          i++;
        } else if (!this.heightSamples[Math.floor(h * 10)]) {
          // Round to .1 pixels
          newHeight = true;
          this.heightSamples[Math.floor(h * 10)] = true;
        }
      }
      return newHeight;
    }
  }, {
    key: "refresh",
    value: function refresh(whiteSpace, lineHeight, charWidth, textHeight, lineLength, knownHeights) {
      var lineWrapping = wrappingWhiteSpace.indexOf(whiteSpace) > -1;
      var changed = Math.round(lineHeight) != Math.round(this.lineHeight) || this.lineWrapping != lineWrapping;
      this.lineWrapping = lineWrapping;
      this.lineHeight = lineHeight;
      this.charWidth = charWidth;
      this.textHeight = textHeight;
      this.lineLength = lineLength;
      if (changed) {
        this.heightSamples = {};
        for (var i = 0; i < knownHeights.length; i++) {
          var h = knownHeights[i];
          if (h < 0) i++;else this.heightSamples[Math.floor(h * 10)] = true;
        }
      }
      return changed;
    }
  }]);
}(); // This object is used by `updateHeight` to make DOM measurements
// arrive at the right nides. The `heights` array is a sequence of
// block heights, starting from position `from`.
var MeasuredHeights = /*#__PURE__*/function () {
  function MeasuredHeights(from, heights) {
    _classCallCheck(this, MeasuredHeights);
    this.from = from;
    this.heights = heights;
    this.index = 0;
  }
  return _createClass(MeasuredHeights, [{
    key: "more",
    get: function get() {
      return this.index < this.heights.length;
    }
  }]);
}();
/**
Record used to represent information about a block-level element
in the editor view.
*/
var BlockInfo = exports.BlockInfo = /*#__PURE__*/function () {
  /**
  @internal
  */
  function BlockInfo(
  /**
  The start of the element in the document.
  */
  from,
  /**
  The length of the element.
  */
  length,
  /**
  The top position of the element (relative to the top of the
  document).
  */
  top,
  /**
  Its height.
  */
  height,
  /**
  @internal Weird packed field that holds an array of children
  for composite blocks, a decoration for block widgets, and a
  number indicating the amount of widget-create line breaks for
  text blocks.
  */
  _content) {
    _classCallCheck(this, BlockInfo);
    this.from = from;
    this.length = length;
    this.top = top;
    this.height = height;
    this._content = _content;
  }
  /**
  The type of element this is. When querying lines, this may be
  an array of all the blocks that make up the line.
  */
  return _createClass(BlockInfo, [{
    key: "type",
    get: function get() {
      return typeof this._content == "number" ? BlockType.Text : Array.isArray(this._content) ? this._content : this._content.type;
    }
    /**
    The end of the element as a document position.
    */
  }, {
    key: "to",
    get: function get() {
      return this.from + this.length;
    }
    /**
    The bottom position of the element.
    */
  }, {
    key: "bottom",
    get: function get() {
      return this.top + this.height;
    }
    /**
    If this is a widget block, this will return the widget
    associated with it.
    */
  }, {
    key: "widget",
    get: function get() {
      return this._content instanceof PointDecoration ? this._content.widget : null;
    }
    /**
    If this is a textblock, this holds the number of line breaks
    that appear in widgets inside the block.
    */
  }, {
    key: "widgetLineBreaks",
    get: function get() {
      return typeof this._content == "number" ? this._content : 0;
    }
    /**
    @internal
    */
  }, {
    key: "join",
    value: function join(other) {
      var content = (Array.isArray(this._content) ? this._content : [this]).concat(Array.isArray(other._content) ? other._content : [other]);
      return new BlockInfo(this.from, this.length + other.length, this.top, this.height + other.height, content);
    }
  }]);
}();
var QueryType = /*@__PURE__*/function (QueryType) {
  QueryType[QueryType["ByPos"] = 0] = "ByPos";
  QueryType[QueryType["ByHeight"] = 1] = "ByHeight";
  QueryType[QueryType["ByPosNoHeight"] = 2] = "ByPosNoHeight";
  return QueryType;
}(QueryType || (QueryType = {}));
var Epsilon = 1e-3;
var HeightMap = /*#__PURE__*/function () {
  function HeightMap(length,
  // The number of characters covered
  height) {
    var flags = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 2;
    _classCallCheck(this, HeightMap);
    this.length = length;
    this.height = height;
    this.flags = flags;
  }
  return _createClass(HeightMap, [{
    key: "outdated",
    get: function get() {
      return (this.flags & 2 /* Flag.Outdated */) > 0;
    },
    set: function set(value) {
      this.flags = (value ? 2 /* Flag.Outdated */ : 0) | this.flags & ~2 /* Flag.Outdated */;
    }
  }, {
    key: "setHeight",
    value: function setHeight(oracle, height) {
      if (this.height != height) {
        if (Math.abs(this.height - height) > Epsilon) oracle.heightChanged = true;
        this.height = height;
      }
    }
    // Base case is to replace a leaf node, which simply builds a tree
    // from the new nodes and returns that (HeightMapBranch and
    // HeightMapGap override this to actually use from/to)
  }, {
    key: "replace",
    value: function replace(_from, _to, nodes) {
      return HeightMap.of(nodes);
    }
    // Again, these are base cases, and are overridden for branch and gap nodes.
  }, {
    key: "decomposeLeft",
    value: function decomposeLeft(_to, result) {
      result.push(this);
    }
  }, {
    key: "decomposeRight",
    value: function decomposeRight(_from, result) {
      result.push(this);
    }
  }, {
    key: "applyChanges",
    value: function applyChanges(decorations, oldDoc, oracle, changes) {
      var me = this,
        doc = oracle.doc;
      for (var i = changes.length - 1; i >= 0; i--) {
        var _changes$i = changes[i],
          fromA = _changes$i.fromA,
          toA = _changes$i.toA,
          fromB = _changes$i.fromB,
          toB = _changes$i.toB;
        var start = me.lineAt(fromA, QueryType.ByPosNoHeight, oracle.setDoc(oldDoc), 0, 0);
        var end = start.to >= toA ? start : me.lineAt(toA, QueryType.ByPosNoHeight, oracle, 0, 0);
        toB += end.to - toA;
        toA = end.to;
        while (i > 0 && start.from <= changes[i - 1].toA) {
          fromA = changes[i - 1].fromA;
          fromB = changes[i - 1].fromB;
          i--;
          if (fromA < start.from) start = me.lineAt(fromA, QueryType.ByPosNoHeight, oracle, 0, 0);
        }
        fromB += start.from - fromA;
        fromA = start.from;
        var nodes = NodeBuilder.build(oracle.setDoc(doc), decorations, fromB, toB);
        me = me.replace(fromA, toA, nodes);
      }
      return me.updateHeight(oracle, 0);
    }
  }], [{
    key: "empty",
    value: function empty() {
      return new HeightMapText(0, 0);
    }
    // nodes uses null values to indicate the position of line breaks.
    // There are never line breaks at the start or end of the array, or
    // two line breaks next to each other, and the array isn't allowed
    // to be empty (same restrictions as return value from the builder).
  }, {
    key: "of",
    value: function of(nodes) {
      if (nodes.length == 1) return nodes[0];
      var i = 0,
        j = nodes.length,
        before = 0,
        after = 0;
      for (;;) {
        if (i == j) {
          if (before > after * 2) {
            var split = nodes[i - 1];
            if (split["break"]) nodes.splice(--i, 1, split.left, null, split.right);else nodes.splice(--i, 1, split.left, split.right);
            j += 1 + split["break"];
            before -= split.size;
          } else if (after > before * 2) {
            var _split = nodes[j];
            if (_split["break"]) nodes.splice(j, 1, _split.left, null, _split.right);else nodes.splice(j, 1, _split.left, _split.right);
            j += 2 + _split["break"];
            after -= _split.size;
          } else {
            break;
          }
        } else if (before < after) {
          var next = nodes[i++];
          if (next) before += next.size;
        } else {
          var _next2 = nodes[--j];
          if (_next2) after += _next2.size;
        }
      }
      var brk = 0;
      if (nodes[i - 1] == null) {
        brk = 1;
        i--;
      } else if (nodes[i] == null) {
        brk = 1;
        j++;
      }
      return new HeightMapBranch(HeightMap.of(nodes.slice(0, i)), brk, HeightMap.of(nodes.slice(j)));
    }
  }]);
}();
HeightMap.prototype.size = 1;
var HeightMapBlock = /*#__PURE__*/function (_HeightMap) {
  function HeightMapBlock(length, height, deco) {
    var _this22;
    _classCallCheck(this, HeightMapBlock);
    _this22 = _callSuper(this, HeightMapBlock, [length, height]);
    _this22.deco = deco;
    return _this22;
  }
  _inherits(HeightMapBlock, _HeightMap);
  return _createClass(HeightMapBlock, [{
    key: "blockAt",
    value: function blockAt(_height, _oracle, top, offset) {
      return new BlockInfo(offset, this.length, top, this.height, this.deco || 0);
    }
  }, {
    key: "lineAt",
    value: function lineAt(_value, _type, oracle, top, offset) {
      return this.blockAt(0, oracle, top, offset);
    }
  }, {
    key: "forEachLine",
    value: function forEachLine(from, to, oracle, top, offset, f) {
      if (from <= offset + this.length && to >= offset) f(this.blockAt(0, oracle, top, offset));
    }
  }, {
    key: "updateHeight",
    value: function updateHeight(oracle) {
      var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
      var _force = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
      var measured = arguments.length > 3 ? arguments[3] : undefined;
      if (measured && measured.from <= offset && measured.more) this.setHeight(oracle, measured.heights[measured.index++]);
      this.outdated = false;
      return this;
    }
  }, {
    key: "toString",
    value: function toString() {
      return "block(".concat(this.length, ")");
    }
  }]);
}(HeightMap);
var HeightMapText = /*#__PURE__*/function (_HeightMapBlock) {
  function HeightMapText(length, height) {
    var _this23;
    _classCallCheck(this, HeightMapText);
    _this23 = _callSuper(this, HeightMapText, [length, height, null]);
    _this23.collapsed = 0; // Amount of collapsed content in the line
    _this23.widgetHeight = 0; // Maximum inline widget height
    _this23.breaks = 0; // Number of widget-introduced line breaks on the line
    return _this23;
  }
  _inherits(HeightMapText, _HeightMapBlock);
  return _createClass(HeightMapText, [{
    key: "blockAt",
    value: function blockAt(_height, _oracle, top, offset) {
      return new BlockInfo(offset, this.length, top, this.height, this.breaks);
    }
  }, {
    key: "replace",
    value: function replace(_from, _to, nodes) {
      var node = nodes[0];
      if (nodes.length == 1 && (node instanceof HeightMapText || node instanceof HeightMapGap && node.flags & 4 /* Flag.SingleLine */) && Math.abs(this.length - node.length) < 10) {
        if (node instanceof HeightMapGap) node = new HeightMapText(node.length, this.height);else node.height = this.height;
        if (!this.outdated) node.outdated = false;
        return node;
      } else {
        return HeightMap.of(nodes);
      }
    }
  }, {
    key: "updateHeight",
    value: function updateHeight(oracle) {
      var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
      var force = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
      var measured = arguments.length > 3 ? arguments[3] : undefined;
      if (measured && measured.from <= offset && measured.more) this.setHeight(oracle, measured.heights[measured.index++]);else if (force || this.outdated) this.setHeight(oracle, Math.max(this.widgetHeight, oracle.heightForLine(this.length - this.collapsed)) + this.breaks * oracle.lineHeight);
      this.outdated = false;
      return this;
    }
  }, {
    key: "toString",
    value: function toString() {
      return "line(".concat(this.length).concat(this.collapsed ? -this.collapsed : "").concat(this.widgetHeight ? ":" + this.widgetHeight : "", ")");
    }
  }]);
}(HeightMapBlock);
var HeightMapGap = /*#__PURE__*/function (_HeightMap2) {
  function HeightMapGap(length) {
    _classCallCheck(this, HeightMapGap);
    return _callSuper(this, HeightMapGap, [length, 0]);
  }
  _inherits(HeightMapGap, _HeightMap2);
  return _createClass(HeightMapGap, [{
    key: "heightMetrics",
    value: function heightMetrics(oracle, offset) {
      var firstLine = oracle.doc.lineAt(offset).number,
        lastLine = oracle.doc.lineAt(offset + this.length).number;
      var lines = lastLine - firstLine + 1;
      var perLine,
        perChar = 0;
      if (oracle.lineWrapping) {
        var totalPerLine = Math.min(this.height, oracle.lineHeight * lines);
        perLine = totalPerLine / lines;
        if (this.length > lines + 1) perChar = (this.height - totalPerLine) / (this.length - lines - 1);
      } else {
        perLine = this.height / lines;
      }
      return {
        firstLine: firstLine,
        lastLine: lastLine,
        perLine: perLine,
        perChar: perChar
      };
    }
  }, {
    key: "blockAt",
    value: function blockAt(height, oracle, top, offset) {
      var _this$heightMetrics = this.heightMetrics(oracle, offset),
        firstLine = _this$heightMetrics.firstLine,
        lastLine = _this$heightMetrics.lastLine,
        perLine = _this$heightMetrics.perLine,
        perChar = _this$heightMetrics.perChar;
      if (oracle.lineWrapping) {
        var guess = offset + Math.round(Math.max(0, Math.min(1, (height - top) / this.height)) * this.length);
        var line = oracle.doc.lineAt(guess),
          lineHeight = perLine + line.length * perChar;
        var lineTop = Math.max(top, height - lineHeight / 2);
        return new BlockInfo(line.from, line.length, lineTop, lineHeight, 0);
      } else {
        var _line = Math.max(0, Math.min(lastLine - firstLine, Math.floor((height - top) / perLine)));
        var _oracle$doc$line = oracle.doc.line(firstLine + _line),
          from = _oracle$doc$line.from,
          length = _oracle$doc$line.length;
        return new BlockInfo(from, length, top + perLine * _line, perLine, 0);
      }
    }
  }, {
    key: "lineAt",
    value: function lineAt(value, type, oracle, top, offset) {
      if (type == QueryType.ByHeight) return this.blockAt(value, oracle, top, offset);
      if (type == QueryType.ByPosNoHeight) {
        var _oracle$doc$lineAt = oracle.doc.lineAt(value),
          from = _oracle$doc$lineAt.from,
          to = _oracle$doc$lineAt.to;
        return new BlockInfo(from, to - from, 0, 0, 0);
      }
      var _this$heightMetrics2 = this.heightMetrics(oracle, offset),
        firstLine = _this$heightMetrics2.firstLine,
        perLine = _this$heightMetrics2.perLine,
        perChar = _this$heightMetrics2.perChar;
      var line = oracle.doc.lineAt(value),
        lineHeight = perLine + line.length * perChar;
      var linesAbove = line.number - firstLine;
      var lineTop = top + perLine * linesAbove + perChar * (line.from - offset - linesAbove);
      return new BlockInfo(line.from, line.length, Math.max(top, Math.min(lineTop, top + this.height - lineHeight)), lineHeight, 0);
    }
  }, {
    key: "forEachLine",
    value: function forEachLine(from, to, oracle, top, offset, f) {
      from = Math.max(from, offset);
      to = Math.min(to, offset + this.length);
      var _this$heightMetrics3 = this.heightMetrics(oracle, offset),
        firstLine = _this$heightMetrics3.firstLine,
        perLine = _this$heightMetrics3.perLine,
        perChar = _this$heightMetrics3.perChar;
      for (var pos = from, lineTop = top; pos <= to;) {
        var line = oracle.doc.lineAt(pos);
        if (pos == from) {
          var linesAbove = line.number - firstLine;
          lineTop += perLine * linesAbove + perChar * (from - offset - linesAbove);
        }
        var lineHeight = perLine + perChar * line.length;
        f(new BlockInfo(line.from, line.length, lineTop, lineHeight, 0));
        lineTop += lineHeight;
        pos = line.to + 1;
      }
    }
  }, {
    key: "replace",
    value: function replace(from, to, nodes) {
      var after = this.length - to;
      if (after > 0) {
        var last = nodes[nodes.length - 1];
        if (last instanceof HeightMapGap) nodes[nodes.length - 1] = new HeightMapGap(last.length + after);else nodes.push(null, new HeightMapGap(after - 1));
      }
      if (from > 0) {
        var first = nodes[0];
        if (first instanceof HeightMapGap) nodes[0] = new HeightMapGap(from + first.length);else nodes.unshift(new HeightMapGap(from - 1), null);
      }
      return HeightMap.of(nodes);
    }
  }, {
    key: "decomposeLeft",
    value: function decomposeLeft(to, result) {
      result.push(new HeightMapGap(to - 1), null);
    }
  }, {
    key: "decomposeRight",
    value: function decomposeRight(from, result) {
      result.push(null, new HeightMapGap(this.length - from - 1));
    }
  }, {
    key: "updateHeight",
    value: function updateHeight(oracle) {
      var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
      var force = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
      var measured = arguments.length > 3 ? arguments[3] : undefined;
      var end = offset + this.length;
      if (measured && measured.from <= offset + this.length && measured.more) {
        // Fill in part of this gap with measured lines. We know there
        // can't be widgets or collapsed ranges in those lines, because
        // they would already have been added to the heightmap (gaps
        // only contain plain text).
        var nodes = [],
          pos = Math.max(offset, measured.from),
          singleHeight = -1;
        if (measured.from > offset) nodes.push(new HeightMapGap(measured.from - offset - 1).updateHeight(oracle, offset));
        while (pos <= end && measured.more) {
          var len = oracle.doc.lineAt(pos).length;
          if (nodes.length) nodes.push(null);
          var height = measured.heights[measured.index++];
          if (singleHeight == -1) singleHeight = height;else if (Math.abs(height - singleHeight) >= Epsilon) singleHeight = -2;
          var line = new HeightMapText(len, height);
          line.outdated = false;
          nodes.push(line);
          pos += len + 1;
        }
        if (pos <= end) nodes.push(null, new HeightMapGap(end - pos).updateHeight(oracle, pos));
        var result = HeightMap.of(nodes);
        if (singleHeight < 0 || Math.abs(result.height - this.height) >= Epsilon || Math.abs(singleHeight - this.heightMetrics(oracle, offset).perLine) >= Epsilon) oracle.heightChanged = true;
        return result;
      } else if (force || this.outdated) {
        this.setHeight(oracle, oracle.heightForGap(offset, offset + this.length));
        this.outdated = false;
      }
      return this;
    }
  }, {
    key: "toString",
    value: function toString() {
      return "gap(".concat(this.length, ")");
    }
  }]);
}(HeightMap);
var HeightMapBranch = /*#__PURE__*/function (_HeightMap3) {
  function HeightMapBranch(left, brk, right) {
    var _this24;
    _classCallCheck(this, HeightMapBranch);
    _this24 = _callSuper(this, HeightMapBranch, [left.length + brk + right.length, left.height + right.height, brk | (left.outdated || right.outdated ? 2 /* Flag.Outdated */ : 0)]);
    _this24.left = left;
    _this24.right = right;
    _this24.size = left.size + right.size;
    return _this24;
  }
  _inherits(HeightMapBranch, _HeightMap3);
  return _createClass(HeightMapBranch, [{
    key: "break",
    get: function get() {
      return this.flags & 1 /* Flag.Break */;
    }
  }, {
    key: "blockAt",
    value: function blockAt(height, oracle, top, offset) {
      var mid = top + this.left.height;
      return height < mid ? this.left.blockAt(height, oracle, top, offset) : this.right.blockAt(height, oracle, mid, offset + this.left.length + this["break"]);
    }
  }, {
    key: "lineAt",
    value: function lineAt(value, type, oracle, top, offset) {
      var rightTop = top + this.left.height,
        rightOffset = offset + this.left.length + this["break"];
      var left = type == QueryType.ByHeight ? value < rightTop : value < rightOffset;
      var base = left ? this.left.lineAt(value, type, oracle, top, offset) : this.right.lineAt(value, type, oracle, rightTop, rightOffset);
      if (this["break"] || (left ? base.to < rightOffset : base.from > rightOffset)) return base;
      var subQuery = type == QueryType.ByPosNoHeight ? QueryType.ByPosNoHeight : QueryType.ByPos;
      if (left) return base.join(this.right.lineAt(rightOffset, subQuery, oracle, rightTop, rightOffset));else return this.left.lineAt(rightOffset, subQuery, oracle, top, offset).join(base);
    }
  }, {
    key: "forEachLine",
    value: function forEachLine(from, to, oracle, top, offset, f) {
      var rightTop = top + this.left.height,
        rightOffset = offset + this.left.length + this["break"];
      if (this["break"]) {
        if (from < rightOffset) this.left.forEachLine(from, to, oracle, top, offset, f);
        if (to >= rightOffset) this.right.forEachLine(from, to, oracle, rightTop, rightOffset, f);
      } else {
        var mid = this.lineAt(rightOffset, QueryType.ByPos, oracle, top, offset);
        if (from < mid.from) this.left.forEachLine(from, mid.from - 1, oracle, top, offset, f);
        if (mid.to >= from && mid.from <= to) f(mid);
        if (to > mid.to) this.right.forEachLine(mid.to + 1, to, oracle, rightTop, rightOffset, f);
      }
    }
  }, {
    key: "replace",
    value: function replace(from, to, nodes) {
      var rightStart = this.left.length + this["break"];
      if (to < rightStart) return this.balanced(this.left.replace(from, to, nodes), this.right);
      if (from > this.left.length) return this.balanced(this.left, this.right.replace(from - rightStart, to - rightStart, nodes));
      var result = [];
      if (from > 0) this.decomposeLeft(from, result);
      var left = result.length;
      var _iterator26 = _createForOfIteratorHelper(nodes),
        _step26;
      try {
        for (_iterator26.s(); !(_step26 = _iterator26.n()).done;) {
          var node = _step26.value;
          result.push(node);
        }
      } catch (err) {
        _iterator26.e(err);
      } finally {
        _iterator26.f();
      }
      if (from > 0) mergeGaps(result, left - 1);
      if (to < this.length) {
        var right = result.length;
        this.decomposeRight(to, result);
        mergeGaps(result, right);
      }
      return HeightMap.of(result);
    }
  }, {
    key: "decomposeLeft",
    value: function decomposeLeft(to, result) {
      var left = this.left.length;
      if (to <= left) return this.left.decomposeLeft(to, result);
      result.push(this.left);
      if (this["break"]) {
        left++;
        if (to >= left) result.push(null);
      }
      if (to > left) this.right.decomposeLeft(to - left, result);
    }
  }, {
    key: "decomposeRight",
    value: function decomposeRight(from, result) {
      var left = this.left.length,
        right = left + this["break"];
      if (from >= right) return this.right.decomposeRight(from - right, result);
      if (from < left) this.left.decomposeRight(from, result);
      if (this["break"] && from < right) result.push(null);
      result.push(this.right);
    }
  }, {
    key: "balanced",
    value: function balanced(left, right) {
      if (left.size > 2 * right.size || right.size > 2 * left.size) return HeightMap.of(this["break"] ? [left, null, right] : [left, right]);
      this.left = left;
      this.right = right;
      this.height = left.height + right.height;
      this.outdated = left.outdated || right.outdated;
      this.size = left.size + right.size;
      this.length = left.length + this["break"] + right.length;
      return this;
    }
  }, {
    key: "updateHeight",
    value: function updateHeight(oracle) {
      var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
      var force = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
      var measured = arguments.length > 3 ? arguments[3] : undefined;
      var left = this.left,
        right = this.right,
        rightStart = offset + left.length + this["break"],
        rebalance = null;
      if (measured && measured.from <= offset + left.length && measured.more) rebalance = left = left.updateHeight(oracle, offset, force, measured);else left.updateHeight(oracle, offset, force);
      if (measured && measured.from <= rightStart + right.length && measured.more) rebalance = right = right.updateHeight(oracle, rightStart, force, measured);else right.updateHeight(oracle, rightStart, force);
      if (rebalance) return this.balanced(left, right);
      this.height = this.left.height + this.right.height;
      this.outdated = false;
      return this;
    }
  }, {
    key: "toString",
    value: function toString() {
      return this.left + (this["break"] ? " " : "-") + this.right;
    }
  }]);
}(HeightMap);
function mergeGaps(nodes, around) {
  var before, after;
  if (nodes[around] == null && (before = nodes[around - 1]) instanceof HeightMapGap && (after = nodes[around + 1]) instanceof HeightMapGap) nodes.splice(around - 1, 3, new HeightMapGap(before.length + 1 + after.length));
}
var relevantWidgetHeight = 5;
var NodeBuilder = /*#__PURE__*/function () {
  function NodeBuilder(pos, oracle) {
    _classCallCheck(this, NodeBuilder);
    this.pos = pos;
    this.oracle = oracle;
    this.nodes = [];
    this.lineStart = -1;
    this.lineEnd = -1;
    this.covering = null;
    this.writtenTo = pos;
  }
  return _createClass(NodeBuilder, [{
    key: "isCovered",
    get: function get() {
      return this.covering && this.nodes[this.nodes.length - 1] == this.covering;
    }
  }, {
    key: "span",
    value: function span(_from, to) {
      if (this.lineStart > -1) {
        var end = Math.min(to, this.lineEnd),
          last = this.nodes[this.nodes.length - 1];
        if (last instanceof HeightMapText) last.length += end - this.pos;else if (end > this.pos || !this.isCovered) this.nodes.push(new HeightMapText(end - this.pos, -1));
        this.writtenTo = end;
        if (to > end) {
          this.nodes.push(null);
          this.writtenTo++;
          this.lineStart = -1;
        }
      }
      this.pos = to;
    }
  }, {
    key: "point",
    value: function point(from, to, deco) {
      if (from < to || deco.heightRelevant) {
        var height = deco.widget ? deco.widget.estimatedHeight : 0;
        var breaks = deco.widget ? deco.widget.lineBreaks : 0;
        if (height < 0) height = this.oracle.lineHeight;
        var len = to - from;
        if (deco.block) {
          this.addBlock(new HeightMapBlock(len, height, deco));
        } else if (len || breaks || height >= relevantWidgetHeight) {
          this.addLineDeco(height, breaks, len);
        }
      } else if (to > from) {
        this.span(from, to);
      }
      if (this.lineEnd > -1 && this.lineEnd < this.pos) this.lineEnd = this.oracle.doc.lineAt(this.pos).to;
    }
  }, {
    key: "enterLine",
    value: function enterLine() {
      if (this.lineStart > -1) return;
      var _this$oracle$doc$line = this.oracle.doc.lineAt(this.pos),
        from = _this$oracle$doc$line.from,
        to = _this$oracle$doc$line.to;
      this.lineStart = from;
      this.lineEnd = to;
      if (this.writtenTo < from) {
        if (this.writtenTo < from - 1 || this.nodes[this.nodes.length - 1] == null) this.nodes.push(this.blankContent(this.writtenTo, from - 1));
        this.nodes.push(null);
      }
      if (this.pos > from) this.nodes.push(new HeightMapText(this.pos - from, -1));
      this.writtenTo = this.pos;
    }
  }, {
    key: "blankContent",
    value: function blankContent(from, to) {
      var gap = new HeightMapGap(to - from);
      if (this.oracle.doc.lineAt(from).to == to) gap.flags |= 4 /* Flag.SingleLine */;
      return gap;
    }
  }, {
    key: "ensureLine",
    value: function ensureLine() {
      this.enterLine();
      var last = this.nodes.length ? this.nodes[this.nodes.length - 1] : null;
      if (last instanceof HeightMapText) return last;
      var line = new HeightMapText(0, -1);
      this.nodes.push(line);
      return line;
    }
  }, {
    key: "addBlock",
    value: function addBlock(block) {
      this.enterLine();
      var deco = block.deco;
      if (deco && deco.startSide > 0 && !this.isCovered) this.ensureLine();
      this.nodes.push(block);
      this.writtenTo = this.pos = this.pos + block.length;
      if (deco && deco.endSide > 0) this.covering = block;
    }
  }, {
    key: "addLineDeco",
    value: function addLineDeco(height, breaks, length) {
      var line = this.ensureLine();
      line.length += length;
      line.collapsed += length;
      line.widgetHeight = Math.max(line.widgetHeight, height);
      line.breaks += breaks;
      this.writtenTo = this.pos = this.pos + length;
    }
  }, {
    key: "finish",
    value: function finish(from) {
      var last = this.nodes.length == 0 ? null : this.nodes[this.nodes.length - 1];
      if (this.lineStart > -1 && !(last instanceof HeightMapText) && !this.isCovered) this.nodes.push(new HeightMapText(0, -1));else if (this.writtenTo < this.pos || last == null) this.nodes.push(this.blankContent(this.writtenTo, this.pos));
      var pos = from;
      var _iterator27 = _createForOfIteratorHelper(this.nodes),
        _step27;
      try {
        for (_iterator27.s(); !(_step27 = _iterator27.n()).done;) {
          var node = _step27.value;
          if (node instanceof HeightMapText) node.updateHeight(this.oracle, pos);
          pos += node ? node.length : 1;
        }
      } catch (err) {
        _iterator27.e(err);
      } finally {
        _iterator27.f();
      }
      return this.nodes;
    }
    // Always called with a region that on both sides either stretches
    // to a line break or the end of the document.
    // The returned array uses null to indicate line breaks, but never
    // starts or ends in a line break, or has multiple line breaks next
    // to each other.
  }], [{
    key: "build",
    value: function build(oracle, decorations, from, to) {
      var builder = new NodeBuilder(from, oracle);
      _state.RangeSet.spans(decorations, from, to, builder, 0);
      return builder.finish(from);
    }
  }]);
}();
function heightRelevantDecoChanges(a, b, diff) {
  var comp = new DecorationComparator();
  _state.RangeSet.compare(a, b, diff, comp, 0);
  return comp.changes;
}
var DecorationComparator = /*#__PURE__*/function () {
  function DecorationComparator() {
    _classCallCheck(this, DecorationComparator);
    this.changes = [];
  }
  return _createClass(DecorationComparator, [{
    key: "compareRange",
    value: function compareRange() {}
  }, {
    key: "comparePoint",
    value: function comparePoint(from, to, a, b) {
      if (from < to || a && a.heightRelevant || b && b.heightRelevant) addRange(from, to, this.changes, 5);
    }
  }]);
}();
function visiblePixelRange(dom, paddingTop) {
  var rect = dom.getBoundingClientRect();
  var doc = dom.ownerDocument,
    win = doc.defaultView || window;
  var left = Math.max(0, rect.left),
    right = Math.min(win.innerWidth, rect.right);
  var top = Math.max(0, rect.top),
    bottom = Math.min(win.innerHeight, rect.bottom);
  for (var parent = dom.parentNode; parent && parent != doc.body;) {
    if (parent.nodeType == 1) {
      var elt = parent;
      var style = window.getComputedStyle(elt);
      if ((elt.scrollHeight > elt.clientHeight || elt.scrollWidth > elt.clientWidth) && style.overflow != "visible") {
        var parentRect = elt.getBoundingClientRect();
        left = Math.max(left, parentRect.left);
        right = Math.min(right, parentRect.right);
        top = Math.max(top, parentRect.top);
        bottom = parent == dom.parentNode ? parentRect.bottom : Math.min(bottom, parentRect.bottom);
      }
      parent = style.position == "absolute" || style.position == "fixed" ? elt.offsetParent : elt.parentNode;
    } else if (parent.nodeType == 11) {
      // Shadow root
      parent = parent.host;
    } else {
      break;
    }
  }
  return {
    left: left - rect.left,
    right: Math.max(left, right) - rect.left,
    top: top - (rect.top + paddingTop),
    bottom: Math.max(top, bottom) - (rect.top + paddingTop)
  };
}
function fullPixelRange(dom, paddingTop) {
  var rect = dom.getBoundingClientRect();
  return {
    left: 0,
    right: rect.right - rect.left,
    top: paddingTop,
    bottom: rect.bottom - (rect.top + paddingTop)
  };
}
// Line gaps are placeholder widgets used to hide pieces of overlong
// lines within the viewport, as a kludge to keep the editor
// responsive when a ridiculously long line is loaded into it.
var LineGap = /*#__PURE__*/function () {
  function LineGap(from, to, size) {
    _classCallCheck(this, LineGap);
    this.from = from;
    this.to = to;
    this.size = size;
  }
  return _createClass(LineGap, [{
    key: "draw",
    value: function draw(viewState, wrapping) {
      return Decoration.replace({
        widget: new LineGapWidget(this.size * (wrapping ? viewState.scaleY : viewState.scaleX), wrapping)
      }).range(this.from, this.to);
    }
  }], [{
    key: "same",
    value: function same(a, b) {
      if (a.length != b.length) return false;
      for (var i = 0; i < a.length; i++) {
        var gA = a[i],
          gB = b[i];
        if (gA.from != gB.from || gA.to != gB.to || gA.size != gB.size) return false;
      }
      return true;
    }
  }]);
}();
var LineGapWidget = /*#__PURE__*/function (_WidgetType3) {
  function LineGapWidget(size, vertical) {
    var _this25;
    _classCallCheck(this, LineGapWidget);
    _this25 = _callSuper(this, LineGapWidget);
    _this25.size = size;
    _this25.vertical = vertical;
    return _this25;
  }
  _inherits(LineGapWidget, _WidgetType3);
  return _createClass(LineGapWidget, [{
    key: "eq",
    value: function eq(other) {
      return other.size == this.size && other.vertical == this.vertical;
    }
  }, {
    key: "toDOM",
    value: function toDOM() {
      var elt = document.createElement("div");
      if (this.vertical) {
        elt.style.height = this.size + "px";
      } else {
        elt.style.width = this.size + "px";
        elt.style.height = "2px";
        elt.style.display = "inline-block";
      }
      return elt;
    }
  }, {
    key: "estimatedHeight",
    get: function get() {
      return this.vertical ? this.size : -1;
    }
  }]);
}(WidgetType);
var ViewState = /*#__PURE__*/function () {
  function ViewState(state) {
    var _this26 = this;
    _classCallCheck(this, ViewState);
    this.state = state;
    // These are contentDOM-local coordinates
    this.pixelViewport = {
      left: 0,
      right: window.innerWidth,
      top: 0,
      bottom: 0
    };
    this.inView = true;
    this.paddingTop = 0; // Padding above the document, scaled
    this.paddingBottom = 0; // Padding below the document, scaled
    this.contentDOMWidth = 0; // contentDOM.getBoundingClientRect().width
    this.contentDOMHeight = 0; // contentDOM.getBoundingClientRect().height
    this.editorHeight = 0; // scrollDOM.clientHeight, unscaled
    this.editorWidth = 0; // scrollDOM.clientWidth, unscaled
    this.scrollTop = 0; // Last seen scrollDOM.scrollTop, scaled
    this.scrolledToBottom = true;
    // The CSS-transformation scale of the editor (transformed size /
    // concrete size)
    this.scaleX = 1;
    this.scaleY = 1;
    // The vertical position (document-relative) to which to anchor the
    // scroll position. -1 means anchor to the end of the document.
    this.scrollAnchorPos = 0;
    // The height at the anchor position. Set by the DOM update phase.
    // -1 means no height available.
    this.scrollAnchorHeight = -1;
    // See VP.MaxDOMHeight
    this.scaler = IdScaler;
    this.scrollTarget = null;
    // Briefly set to true when printing, to disable viewport limiting
    this.printing = false;
    // Flag set when editor content was redrawn, so that the next
    // measure stage knows it must read DOM layout
    this.mustMeasureContent = true;
    this.defaultTextDirection = Direction.LTR;
    this.visibleRanges = [];
    // Cursor 'assoc' is only significant when the cursor is on a line
    // wrap point, where it must stick to the character that it is
    // associated with. Since browsers don't provide a reasonable
    // interface to set or query this, when a selection is set that
    // might cause this to be significant, this flag is set. The next
    // measure phase will check whether the cursor is on a line-wrapping
    // boundary and, if so, reset it to make sure it is positioned in
    // the right place.
    this.mustEnforceCursorAssoc = false;
    var guessWrapping = state.facet(contentAttributes).some(function (v) {
      return typeof v != "function" && v["class"] == "cm-lineWrapping";
    });
    this.heightOracle = new HeightOracle(guessWrapping);
    this.stateDeco = state.facet(decorations).filter(function (d) {
      return typeof d != "function";
    });
    this.heightMap = HeightMap.empty().applyChanges(this.stateDeco, _state.Text.empty, this.heightOracle.setDoc(state.doc), [new ChangedRange(0, 0, 0, state.doc.length)]);
    this.viewport = this.getViewport(0, null);
    this.updateViewportLines();
    this.updateForViewport();
    this.lineGaps = this.ensureLineGaps([]);
    this.lineGapDeco = Decoration.set(this.lineGaps.map(function (gap) {
      return gap.draw(_this26, false);
    }));
    this.computeVisibleRanges();
  }
  return _createClass(ViewState, [{
    key: "updateForViewport",
    value: function updateForViewport() {
      var _this27 = this;
      var viewports = [this.viewport],
        main = this.state.selection.main;
      var _loop3 = function _loop3() {
        var pos = i ? main.head : main.anchor;
        if (!viewports.some(function (_ref4) {
          var from = _ref4.from,
            to = _ref4.to;
          return pos >= from && pos <= to;
        })) {
          var _this27$lineBlockAt = _this27.lineBlockAt(pos),
            from = _this27$lineBlockAt.from,
            to = _this27$lineBlockAt.to;
          viewports.push(new Viewport(from, to));
        }
      };
      for (var i = 0; i <= 1; i++) {
        _loop3();
      }
      this.viewports = viewports.sort(function (a, b) {
        return a.from - b.from;
      });
      this.scaler = this.heightMap.height <= 7000000 /* VP.MaxDOMHeight */ ? IdScaler : new BigScaler(this.heightOracle, this.heightMap, this.viewports);
    }
  }, {
    key: "updateViewportLines",
    value: function updateViewportLines() {
      var _this28 = this;
      this.viewportLines = [];
      this.heightMap.forEachLine(this.viewport.from, this.viewport.to, this.heightOracle.setDoc(this.state.doc), 0, 0, function (block) {
        _this28.viewportLines.push(_this28.scaler.scale == 1 ? block : scaleBlock(block, _this28.scaler));
      });
    }
  }, {
    key: "update",
    value: function update(_update5) {
      var scrollTarget = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
      this.state = _update5.state;
      var prevDeco = this.stateDeco;
      this.stateDeco = this.state.facet(decorations).filter(function (d) {
        return typeof d != "function";
      });
      var contentChanges = _update5.changedRanges;
      var heightChanges = ChangedRange.extendWithRanges(contentChanges, heightRelevantDecoChanges(prevDeco, this.stateDeco, _update5 ? _update5.changes : _state.ChangeSet.empty(this.state.doc.length)));
      var prevHeight = this.heightMap.height;
      var scrollAnchor = this.scrolledToBottom ? null : this.scrollAnchorAt(this.scrollTop);
      this.heightMap = this.heightMap.applyChanges(this.stateDeco, _update5.startState.doc, this.heightOracle.setDoc(this.state.doc), heightChanges);
      if (this.heightMap.height != prevHeight) _update5.flags |= 2 /* UpdateFlag.Height */;
      if (scrollAnchor) {
        this.scrollAnchorPos = _update5.changes.mapPos(scrollAnchor.from, -1);
        this.scrollAnchorHeight = scrollAnchor.top;
      } else {
        this.scrollAnchorPos = -1;
        this.scrollAnchorHeight = this.heightMap.height;
      }
      var viewport = heightChanges.length ? this.mapViewport(this.viewport, _update5.changes) : this.viewport;
      if (scrollTarget && (scrollTarget.range.head < viewport.from || scrollTarget.range.head > viewport.to) || !this.viewportIsAppropriate(viewport)) viewport = this.getViewport(0, scrollTarget);
      var updateLines = !_update5.changes.empty || _update5.flags & 2 /* UpdateFlag.Height */ || viewport.from != this.viewport.from || viewport.to != this.viewport.to;
      this.viewport = viewport;
      this.updateForViewport();
      if (updateLines) this.updateViewportLines();
      if (this.lineGaps.length || this.viewport.to - this.viewport.from > 2000 /* LG.Margin */ << 1) this.updateLineGaps(this.ensureLineGaps(this.mapLineGaps(this.lineGaps, _update5.changes)));
      _update5.flags |= this.computeVisibleRanges();
      if (scrollTarget) this.scrollTarget = scrollTarget;
      if (!this.mustEnforceCursorAssoc && _update5.selectionSet && _update5.view.lineWrapping && _update5.state.selection.main.empty && _update5.state.selection.main.assoc && !_update5.state.facet(nativeSelectionHidden)) this.mustEnforceCursorAssoc = true;
    }
  }, {
    key: "measure",
    value: function measure(view) {
      var dom = view.contentDOM,
        style = window.getComputedStyle(dom);
      var oracle = this.heightOracle;
      var whiteSpace = style.whiteSpace;
      this.defaultTextDirection = style.direction == "rtl" ? Direction.RTL : Direction.LTR;
      var refresh = this.heightOracle.mustRefreshForWrapping(whiteSpace);
      var domRect = dom.getBoundingClientRect();
      var measureContent = refresh || this.mustMeasureContent || this.contentDOMHeight != domRect.height;
      this.contentDOMHeight = domRect.height;
      this.mustMeasureContent = false;
      var result = 0,
        bias = 0;
      if (domRect.width && domRect.height) {
        var _getScale2 = getScale(dom, domRect),
          scaleX = _getScale2.scaleX,
          scaleY = _getScale2.scaleY;
        if (scaleX > .005 && Math.abs(this.scaleX - scaleX) > .005 || scaleY > .005 && Math.abs(this.scaleY - scaleY) > .005) {
          this.scaleX = scaleX;
          this.scaleY = scaleY;
          result |= 8 /* UpdateFlag.Geometry */;
          refresh = measureContent = true;
        }
      }
      // Vertical padding
      var paddingTop = (parseInt(style.paddingTop) || 0) * this.scaleY;
      var paddingBottom = (parseInt(style.paddingBottom) || 0) * this.scaleY;
      if (this.paddingTop != paddingTop || this.paddingBottom != paddingBottom) {
        this.paddingTop = paddingTop;
        this.paddingBottom = paddingBottom;
        result |= 8 /* UpdateFlag.Geometry */ | 2 /* UpdateFlag.Height */;
      }
      if (this.editorWidth != view.scrollDOM.clientWidth) {
        if (oracle.lineWrapping) measureContent = true;
        this.editorWidth = view.scrollDOM.clientWidth;
        result |= 8 /* UpdateFlag.Geometry */;
      }
      var scrollTop = view.scrollDOM.scrollTop * this.scaleY;
      if (this.scrollTop != scrollTop) {
        this.scrollAnchorHeight = -1;
        this.scrollTop = scrollTop;
      }
      this.scrolledToBottom = isScrolledToBottom(view.scrollDOM);
      // Pixel viewport
      var pixelViewport = (this.printing ? fullPixelRange : visiblePixelRange)(dom, this.paddingTop);
      var dTop = pixelViewport.top - this.pixelViewport.top,
        dBottom = pixelViewport.bottom - this.pixelViewport.bottom;
      this.pixelViewport = pixelViewport;
      var inView = this.pixelViewport.bottom > this.pixelViewport.top && this.pixelViewport.right > this.pixelViewport.left;
      if (inView != this.inView) {
        this.inView = inView;
        if (inView) measureContent = true;
      }
      if (!this.inView && !this.scrollTarget) return 0;
      var contentWidth = domRect.width;
      if (this.contentDOMWidth != contentWidth || this.editorHeight != view.scrollDOM.clientHeight) {
        this.contentDOMWidth = domRect.width;
        this.editorHeight = view.scrollDOM.clientHeight;
        result |= 8 /* UpdateFlag.Geometry */;
      }
      if (measureContent) {
        var lineHeights = view.docView.measureVisibleLineHeights(this.viewport);
        if (oracle.mustRefreshForHeights(lineHeights)) refresh = true;
        if (refresh || oracle.lineWrapping && Math.abs(contentWidth - this.contentDOMWidth) > oracle.charWidth) {
          var _view$docView$measure = view.docView.measureTextSize(),
            lineHeight = _view$docView$measure.lineHeight,
            charWidth = _view$docView$measure.charWidth,
            textHeight = _view$docView$measure.textHeight;
          refresh = lineHeight > 0 && oracle.refresh(whiteSpace, lineHeight, charWidth, textHeight, contentWidth / charWidth, lineHeights);
          if (refresh) {
            view.docView.minWidth = 0;
            result |= 8 /* UpdateFlag.Geometry */;
          }
        }
        if (dTop > 0 && dBottom > 0) bias = Math.max(dTop, dBottom);else if (dTop < 0 && dBottom < 0) bias = Math.min(dTop, dBottom);
        oracle.heightChanged = false;
        var _iterator28 = _createForOfIteratorHelper(this.viewports),
          _step28;
        try {
          for (_iterator28.s(); !(_step28 = _iterator28.n()).done;) {
            var vp = _step28.value;
            var heights = vp.from == this.viewport.from ? lineHeights : view.docView.measureVisibleLineHeights(vp);
            this.heightMap = (refresh ? HeightMap.empty().applyChanges(this.stateDeco, _state.Text.empty, this.heightOracle, [new ChangedRange(0, 0, 0, view.state.doc.length)]) : this.heightMap).updateHeight(oracle, 0, refresh, new MeasuredHeights(vp.from, heights));
          }
        } catch (err) {
          _iterator28.e(err);
        } finally {
          _iterator28.f();
        }
        if (oracle.heightChanged) result |= 2 /* UpdateFlag.Height */;
      }
      var viewportChange = !this.viewportIsAppropriate(this.viewport, bias) || this.scrollTarget && (this.scrollTarget.range.head < this.viewport.from || this.scrollTarget.range.head > this.viewport.to);
      if (viewportChange) this.viewport = this.getViewport(bias, this.scrollTarget);
      this.updateForViewport();
      if (result & 2 /* UpdateFlag.Height */ || viewportChange) this.updateViewportLines();
      if (this.lineGaps.length || this.viewport.to - this.viewport.from > 2000 /* LG.Margin */ << 1) this.updateLineGaps(this.ensureLineGaps(refresh ? [] : this.lineGaps, view));
      result |= this.computeVisibleRanges();
      if (this.mustEnforceCursorAssoc) {
        this.mustEnforceCursorAssoc = false;
        // This is done in the read stage, because moving the selection
        // to a line end is going to trigger a layout anyway, so it
        // can't be a pure write. It should be rare that it does any
        // writing.
        view.docView.enforceCursorAssoc();
      }
      return result;
    }
  }, {
    key: "visibleTop",
    get: function get() {
      return this.scaler.fromDOM(this.pixelViewport.top);
    }
  }, {
    key: "visibleBottom",
    get: function get() {
      return this.scaler.fromDOM(this.pixelViewport.bottom);
    }
  }, {
    key: "getViewport",
    value: function getViewport(bias, scrollTarget) {
      // This will divide VP.Margin between the top and the
      // bottom, depending on the bias (the change in viewport position
      // since the last update). It'll hold a number between 0 and 1
      var marginTop = 0.5 - Math.max(-0.5, Math.min(0.5, bias / 1000 /* VP.Margin */ / 2));
      var map = this.heightMap,
        oracle = this.heightOracle;
      var visibleTop = this.visibleTop,
        visibleBottom = this.visibleBottom;
      var viewport = new Viewport(map.lineAt(visibleTop - marginTop * 1000 /* VP.Margin */, QueryType.ByHeight, oracle, 0, 0).from, map.lineAt(visibleBottom + (1 - marginTop) * 1000 /* VP.Margin */, QueryType.ByHeight, oracle, 0, 0).to);
      // If scrollTarget is given, make sure the viewport includes that position
      if (scrollTarget) {
        var head = scrollTarget.range.head;
        if (head < viewport.from || head > viewport.to) {
          var viewHeight = Math.min(this.editorHeight, this.pixelViewport.bottom - this.pixelViewport.top);
          var block = map.lineAt(head, QueryType.ByPos, oracle, 0, 0),
            topPos;
          if (scrollTarget.y == "center") topPos = (block.top + block.bottom) / 2 - viewHeight / 2;else if (scrollTarget.y == "start" || scrollTarget.y == "nearest" && head < viewport.from) topPos = block.top;else topPos = block.bottom - viewHeight;
          viewport = new Viewport(map.lineAt(topPos - 1000 /* VP.Margin */ / 2, QueryType.ByHeight, oracle, 0, 0).from, map.lineAt(topPos + viewHeight + 1000 /* VP.Margin */ / 2, QueryType.ByHeight, oracle, 0, 0).to);
        }
      }
      return viewport;
    }
  }, {
    key: "mapViewport",
    value: function mapViewport(viewport, changes) {
      var from = changes.mapPos(viewport.from, -1),
        to = changes.mapPos(viewport.to, 1);
      return new Viewport(this.heightMap.lineAt(from, QueryType.ByPos, this.heightOracle, 0, 0).from, this.heightMap.lineAt(to, QueryType.ByPos, this.heightOracle, 0, 0).to);
    }
    // Checks if a given viewport covers the visible part of the
    // document and not too much beyond that.
  }, {
    key: "viewportIsAppropriate",
    value: function viewportIsAppropriate(_ref5) {
      var from = _ref5.from,
        to = _ref5.to;
      var bias = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
      if (!this.inView) return true;
      var _this$heightMap$lineA = this.heightMap.lineAt(from, QueryType.ByPos, this.heightOracle, 0, 0),
        top = _this$heightMap$lineA.top;
      var _this$heightMap$lineA2 = this.heightMap.lineAt(to, QueryType.ByPos, this.heightOracle, 0, 0),
        bottom = _this$heightMap$lineA2.bottom;
      var visibleTop = this.visibleTop,
        visibleBottom = this.visibleBottom;
      return (from == 0 || top <= visibleTop - Math.max(10 /* VP.MinCoverMargin */, Math.min(-bias, 250 /* VP.MaxCoverMargin */))) && (to == this.state.doc.length || bottom >= visibleBottom + Math.max(10 /* VP.MinCoverMargin */, Math.min(bias, 250 /* VP.MaxCoverMargin */))) && top > visibleTop - 2 * 1000 /* VP.Margin */ && bottom < visibleBottom + 2 * 1000 /* VP.Margin */;
    }
  }, {
    key: "mapLineGaps",
    value: function mapLineGaps(gaps, changes) {
      if (!gaps.length || changes.empty) return gaps;
      var mapped = [];
      var _iterator29 = _createForOfIteratorHelper(gaps),
        _step29;
      try {
        for (_iterator29.s(); !(_step29 = _iterator29.n()).done;) {
          var gap = _step29.value;
          if (!changes.touchesRange(gap.from, gap.to)) mapped.push(new LineGap(changes.mapPos(gap.from), changes.mapPos(gap.to), gap.size));
        }
      } catch (err) {
        _iterator29.e(err);
      } finally {
        _iterator29.f();
      }
      return mapped;
    }
    // Computes positions in the viewport where the start or end of a
    // line should be hidden, trying to reuse existing line gaps when
    // appropriate to avoid unneccesary redraws.
    // Uses crude character-counting for the positioning and sizing,
    // since actual DOM coordinates aren't always available and
    // predictable. Relies on generous margins (see LG.Margin) to hide
    // the artifacts this might produce from the user.
  }, {
    key: "ensureLineGaps",
    value: function ensureLineGaps(current, mayMeasure) {
      var _this29 = this;
      var wrapping = this.heightOracle.lineWrapping;
      var margin = wrapping ? 10000 /* LG.MarginWrap */ : 2000 /* LG.Margin */,
        halfMargin = margin >> 1,
        doubleMargin = margin << 1;
      // The non-wrapping logic won't work at all in predominantly right-to-left text.
      if (this.defaultTextDirection != Direction.LTR && !wrapping) return [];
      var gaps = [];
      var addGap = function addGap(from, to, line, structure) {
        if (to - from < halfMargin) return;
        var sel = _this29.state.selection.main,
          avoid = [sel.from];
        if (!sel.empty) avoid.push(sel.to);
        for (var _i8 = 0, _avoid = avoid; _i8 < _avoid.length; _i8++) {
          var pos = _avoid[_i8];
          if (pos > from && pos < to) {
            addGap(from, pos - 10 /* LG.SelectionMargin */, line, structure);
            addGap(pos + 10 /* LG.SelectionMargin */, to, line, structure);
            return;
          }
        }
        var gap = find(current, function (gap) {
          return gap.from >= line.from && gap.to <= line.to && Math.abs(gap.from - from) < halfMargin && Math.abs(gap.to - to) < halfMargin && !avoid.some(function (pos) {
            return gap.from < pos && gap.to > pos;
          });
        });
        if (!gap) {
          // When scrolling down, snap gap ends to line starts to avoid shifts in wrapping
          if (to < line.to && mayMeasure && wrapping && mayMeasure.visibleRanges.some(function (r) {
            return r.from <= to && r.to >= to;
          })) {
            var lineStart = mayMeasure.moveToLineBoundary(_state.EditorSelection.cursor(to), false, true).head;
            if (lineStart > from) to = lineStart;
          }
          gap = new LineGap(from, to, _this29.gapSize(line, from, to, structure));
        }
        gaps.push(gap);
      };
      var _iterator30 = _createForOfIteratorHelper(this.viewportLines),
        _step30;
      try {
        for (_iterator30.s(); !(_step30 = _iterator30.n()).done;) {
          var line = _step30.value;
          if (line.length < doubleMargin) continue;
          var structure = lineStructure(line.from, line.to, this.stateDeco);
          if (structure.total < doubleMargin) continue;
          var target = this.scrollTarget ? this.scrollTarget.range.head : null;
          var viewFrom = void 0,
            viewTo = void 0;
          if (wrapping) {
            var marginHeight = margin / this.heightOracle.lineLength * this.heightOracle.lineHeight;
            var top = void 0,
              bot = void 0;
            if (target != null) {
              var targetFrac = findFraction(structure, target);
              var spaceFrac = ((this.visibleBottom - this.visibleTop) / 2 + marginHeight) / line.height;
              top = targetFrac - spaceFrac;
              bot = targetFrac + spaceFrac;
            } else {
              top = (this.visibleTop - line.top - marginHeight) / line.height;
              bot = (this.visibleBottom - line.top + marginHeight) / line.height;
            }
            viewFrom = findPosition(structure, top);
            viewTo = findPosition(structure, bot);
          } else {
            var totalWidth = structure.total * this.heightOracle.charWidth;
            var marginWidth = margin * this.heightOracle.charWidth;
            var left = void 0,
              right = void 0;
            if (target != null) {
              var _targetFrac = findFraction(structure, target);
              var _spaceFrac = ((this.pixelViewport.right - this.pixelViewport.left) / 2 + marginWidth) / totalWidth;
              left = _targetFrac - _spaceFrac;
              right = _targetFrac + _spaceFrac;
            } else {
              left = (this.pixelViewport.left - marginWidth) / totalWidth;
              right = (this.pixelViewport.right + marginWidth) / totalWidth;
            }
            viewFrom = findPosition(structure, left);
            viewTo = findPosition(structure, right);
          }
          if (viewFrom > line.from) addGap(line.from, viewFrom, line, structure);
          if (viewTo < line.to) addGap(viewTo, line.to, line, structure);
        }
      } catch (err) {
        _iterator30.e(err);
      } finally {
        _iterator30.f();
      }
      return gaps;
    }
  }, {
    key: "gapSize",
    value: function gapSize(line, from, to, structure) {
      var fraction = findFraction(structure, to) - findFraction(structure, from);
      if (this.heightOracle.lineWrapping) {
        return line.height * fraction;
      } else {
        return structure.total * this.heightOracle.charWidth * fraction;
      }
    }
  }, {
    key: "updateLineGaps",
    value: function updateLineGaps(gaps) {
      var _this30 = this;
      if (!LineGap.same(gaps, this.lineGaps)) {
        this.lineGaps = gaps;
        this.lineGapDeco = Decoration.set(gaps.map(function (gap) {
          return gap.draw(_this30, _this30.heightOracle.lineWrapping);
        }));
      }
    }
  }, {
    key: "computeVisibleRanges",
    value: function computeVisibleRanges() {
      var deco = this.stateDeco;
      if (this.lineGaps.length) deco = deco.concat(this.lineGapDeco);
      var ranges = [];
      _state.RangeSet.spans(deco, this.viewport.from, this.viewport.to, {
        span: function span(from, to) {
          ranges.push({
            from: from,
            to: to
          });
        },
        point: function point() {}
      }, 20);
      var changed = ranges.length != this.visibleRanges.length || this.visibleRanges.some(function (r, i) {
        return r.from != ranges[i].from || r.to != ranges[i].to;
      });
      this.visibleRanges = ranges;
      return changed ? 4 /* UpdateFlag.Viewport */ : 0;
    }
  }, {
    key: "lineBlockAt",
    value: function lineBlockAt(pos) {
      return pos >= this.viewport.from && pos <= this.viewport.to && this.viewportLines.find(function (b) {
        return b.from <= pos && b.to >= pos;
      }) || scaleBlock(this.heightMap.lineAt(pos, QueryType.ByPos, this.heightOracle, 0, 0), this.scaler);
    }
  }, {
    key: "lineBlockAtHeight",
    value: function lineBlockAtHeight(height) {
      return scaleBlock(this.heightMap.lineAt(this.scaler.fromDOM(height), QueryType.ByHeight, this.heightOracle, 0, 0), this.scaler);
    }
  }, {
    key: "scrollAnchorAt",
    value: function scrollAnchorAt(scrollTop) {
      var block = this.lineBlockAtHeight(scrollTop + 8);
      return block.from >= this.viewport.from || this.viewportLines[0].top - scrollTop > 200 ? block : this.viewportLines[0];
    }
  }, {
    key: "elementAtHeight",
    value: function elementAtHeight(height) {
      return scaleBlock(this.heightMap.blockAt(this.scaler.fromDOM(height), this.heightOracle, 0, 0), this.scaler);
    }
  }, {
    key: "docHeight",
    get: function get() {
      return this.scaler.toDOM(this.heightMap.height);
    }
  }, {
    key: "contentHeight",
    get: function get() {
      return this.docHeight + this.paddingTop + this.paddingBottom;
    }
  }]);
}();
var Viewport = /*#__PURE__*/_createClass(function Viewport(from, to) {
  _classCallCheck(this, Viewport);
  this.from = from;
  this.to = to;
});
function lineStructure(from, to, stateDeco) {
  var ranges = [],
    pos = from,
    total = 0;
  _state.RangeSet.spans(stateDeco, from, to, {
    span: function span() {},
    point: function point(from, to) {
      if (from > pos) {
        ranges.push({
          from: pos,
          to: from
        });
        total += from - pos;
      }
      pos = to;
    }
  }, 20); // We're only interested in collapsed ranges of a significant size
  if (pos < to) {
    ranges.push({
      from: pos,
      to: to
    });
    total += to - pos;
  }
  return {
    total: total,
    ranges: ranges
  };
}
function findPosition(_ref6, ratio) {
  var total = _ref6.total,
    ranges = _ref6.ranges;
  if (ratio <= 0) return ranges[0].from;
  if (ratio >= 1) return ranges[ranges.length - 1].to;
  var dist = Math.floor(total * ratio);
  for (var i = 0;; i++) {
    var _ranges$i = ranges[i],
      from = _ranges$i.from,
      to = _ranges$i.to,
      size = to - from;
    if (dist <= size) return from + dist;
    dist -= size;
  }
}
function findFraction(structure, pos) {
  var counted = 0;
  var _iterator31 = _createForOfIteratorHelper(structure.ranges),
    _step31;
  try {
    for (_iterator31.s(); !(_step31 = _iterator31.n()).done;) {
      var _step31$value = _step31.value,
        from = _step31$value.from,
        to = _step31$value.to;
      if (pos <= to) {
        counted += pos - from;
        break;
      }
      counted += to - from;
    }
  } catch (err) {
    _iterator31.e(err);
  } finally {
    _iterator31.f();
  }
  return counted / structure.total;
}
function find(array, f) {
  var _iterator32 = _createForOfIteratorHelper(array),
    _step32;
  try {
    for (_iterator32.s(); !(_step32 = _iterator32.n()).done;) {
      var val = _step32.value;
      if (f(val)) return val;
    }
  } catch (err) {
    _iterator32.e(err);
  } finally {
    _iterator32.f();
  }
  return undefined;
}
// Don't scale when the document height is within the range of what
// the DOM can handle.
var IdScaler = {
  toDOM: function toDOM(n) {
    return n;
  },
  fromDOM: function fromDOM(n) {
    return n;
  },
  scale: 1
};
// When the height is too big (> VP.MaxDOMHeight), scale down the
// regions outside the viewports so that the total height is
// VP.MaxDOMHeight.
var BigScaler = /*#__PURE__*/function () {
  function BigScaler(oracle, heightMap, viewports) {
    _classCallCheck(this, BigScaler);
    var vpHeight = 0,
      base = 0,
      domBase = 0;
    this.viewports = viewports.map(function (_ref7) {
      var from = _ref7.from,
        to = _ref7.to;
      var top = heightMap.lineAt(from, QueryType.ByPos, oracle, 0, 0).top;
      var bottom = heightMap.lineAt(to, QueryType.ByPos, oracle, 0, 0).bottom;
      vpHeight += bottom - top;
      return {
        from: from,
        to: to,
        top: top,
        bottom: bottom,
        domTop: 0,
        domBottom: 0
      };
    });
    this.scale = (7000000 /* VP.MaxDOMHeight */ - vpHeight) / (heightMap.height - vpHeight);
    var _iterator33 = _createForOfIteratorHelper(this.viewports),
      _step33;
    try {
      for (_iterator33.s(); !(_step33 = _iterator33.n()).done;) {
        var obj = _step33.value;
        obj.domTop = domBase + (obj.top - base) * this.scale;
        domBase = obj.domBottom = obj.domTop + (obj.bottom - obj.top);
        base = obj.bottom;
      }
    } catch (err) {
      _iterator33.e(err);
    } finally {
      _iterator33.f();
    }
  }
  return _createClass(BigScaler, [{
    key: "toDOM",
    value: function toDOM(n) {
      for (var i = 0, _base = 0, domBase = 0;; i++) {
        var vp = i < this.viewports.length ? this.viewports[i] : null;
        if (!vp || n < vp.top) return domBase + (n - _base) * this.scale;
        if (n <= vp.bottom) return vp.domTop + (n - vp.top);
        _base = vp.bottom;
        domBase = vp.domBottom;
      }
    }
  }, {
    key: "fromDOM",
    value: function fromDOM(n) {
      for (var i = 0, _base2 = 0, domBase = 0;; i++) {
        var vp = i < this.viewports.length ? this.viewports[i] : null;
        if (!vp || n < vp.domTop) return _base2 + (n - domBase) / this.scale;
        if (n <= vp.domBottom) return vp.top + (n - vp.domTop);
        _base2 = vp.bottom;
        domBase = vp.domBottom;
      }
    }
  }]);
}();
function scaleBlock(block, scaler) {
  if (scaler.scale == 1) return block;
  var bTop = scaler.toDOM(block.top),
    bBottom = scaler.toDOM(block.bottom);
  return new BlockInfo(block.from, block.length, bTop, bBottom - bTop, Array.isArray(block._content) ? block._content.map(function (b) {
    return scaleBlock(b, scaler);
  }) : block._content);
}
var _theme = /*@__PURE__*/_state.Facet.define({
  combine: function combine(strs) {
    return strs.join(" ");
  }
});
var darkTheme = /*@__PURE__*/_state.Facet.define({
  combine: function combine(values) {
    return values.indexOf(true) > -1;
  }
});
var baseThemeID = /*@__PURE__*/_styleMod.StyleModule.newName(),
  baseLightID = /*@__PURE__*/_styleMod.StyleModule.newName(),
  baseDarkID = /*@__PURE__*/_styleMod.StyleModule.newName();
var lightDarkIDs = {
  "&light": "." + baseLightID,
  "&dark": "." + baseDarkID
};
function buildTheme(main, spec, scopes) {
  return new _styleMod.StyleModule(spec, {
    finish: function finish(sel) {
      return /&/.test(sel) ? sel.replace(/&\w*/, function (m) {
        if (m == "&") return main;
        if (!scopes || !scopes[m]) throw new RangeError("Unsupported selector: ".concat(m));
        return scopes[m];
      }) : main + " " + sel;
    }
  });
}
var baseTheme$1 = /*@__PURE__*/buildTheme("." + baseThemeID, {
  "&": {
    position: "relative !important",
    boxSizing: "border-box",
    "&.cm-focused": {
      // Provide a simple default outline to make sure a focused
      // editor is visually distinct. Can't leave the default behavior
      // because that will apply to the content element, which is
      // inside the scrollable container and doesn't include the
      // gutters. We also can't use an 'auto' outline, since those
      // are, for some reason, drawn behind the element content, which
      // will cause things like the active line background to cover
      // the outline (#297).
      outline: "1px dotted #212121"
    },
    display: "flex !important",
    flexDirection: "column"
  },
  ".cm-scroller": {
    display: "flex !important",
    alignItems: "flex-start !important",
    fontFamily: "monospace",
    lineHeight: 1.4,
    height: "100%",
    overflowX: "auto",
    position: "relative",
    zIndex: 0
  },
  ".cm-content": {
    margin: 0,
    flexGrow: 2,
    flexShrink: 0,
    display: "block",
    whiteSpace: "pre",
    wordWrap: "normal",
    // https://github.com/codemirror/dev/issues/456
    boxSizing: "border-box",
    minHeight: "100%",
    padding: "4px 0",
    outline: "none",
    "&[contenteditable=true]": {
      WebkitUserModify: "read-write-plaintext-only"
    }
  },
  ".cm-lineWrapping": {
    whiteSpace_fallback: "pre-wrap",
    // For IE
    whiteSpace: "break-spaces",
    wordBreak: "break-word",
    // For Safari, which doesn't support overflow-wrap: anywhere
    overflowWrap: "anywhere",
    flexShrink: 1
  },
  "&light .cm-content": {
    caretColor: "black"
  },
  "&dark .cm-content": {
    caretColor: "white"
  },
  ".cm-line": {
    display: "block",
    padding: "0 2px 0 6px"
  },
  ".cm-layer": {
    position: "absolute",
    left: 0,
    top: 0,
    contain: "size style",
    "& > *": {
      position: "absolute"
    }
  },
  "&light .cm-selectionBackground": {
    background: "#d9d9d9"
  },
  "&dark .cm-selectionBackground": {
    background: "#222"
  },
  "&light.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground": {
    background: "#d7d4f0"
  },
  "&dark.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground": {
    background: "#233"
  },
  ".cm-cursorLayer": {
    pointerEvents: "none"
  },
  "&.cm-focused > .cm-scroller > .cm-cursorLayer": {
    animation: "steps(1) cm-blink 1.2s infinite"
  },
  // Two animations defined so that we can switch between them to
  // restart the animation without forcing another style
  // recomputation.
  "@keyframes cm-blink": {
    "0%": {},
    "50%": {
      opacity: 0
    },
    "100%": {}
  },
  "@keyframes cm-blink2": {
    "0%": {},
    "50%": {
      opacity: 0
    },
    "100%": {}
  },
  ".cm-cursor, .cm-dropCursor": {
    borderLeft: "1.2px solid black",
    marginLeft: "-0.6px",
    pointerEvents: "none"
  },
  ".cm-cursor": {
    display: "none"
  },
  "&dark .cm-cursor": {
    borderLeftColor: "#444"
  },
  ".cm-dropCursor": {
    position: "absolute"
  },
  "&.cm-focused > .cm-scroller > .cm-cursorLayer .cm-cursor": {
    display: "block"
  },
  ".cm-iso": {
    unicodeBidi: "isolate"
  },
  ".cm-announced": {
    position: "fixed",
    top: "-10000px"
  },
  "@media print": {
    ".cm-announced": {
      display: "none"
    }
  },
  "&light .cm-activeLine": {
    backgroundColor: "#cceeff44"
  },
  "&dark .cm-activeLine": {
    backgroundColor: "#99eeff33"
  },
  "&light .cm-specialChar": {
    color: "red"
  },
  "&dark .cm-specialChar": {
    color: "#f78"
  },
  ".cm-gutters": {
    flexShrink: 0,
    display: "flex",
    height: "100%",
    boxSizing: "border-box",
    insetInlineStart: 0,
    zIndex: 200
  },
  "&light .cm-gutters": {
    backgroundColor: "#f5f5f5",
    color: "#6c6c6c",
    borderRight: "1px solid #ddd"
  },
  "&dark .cm-gutters": {
    backgroundColor: "#333338",
    color: "#ccc"
  },
  ".cm-gutter": {
    display: "flex !important",
    // Necessary -- prevents margin collapsing
    flexDirection: "column",
    flexShrink: 0,
    boxSizing: "border-box",
    minHeight: "100%",
    overflow: "hidden"
  },
  ".cm-gutterElement": {
    boxSizing: "border-box"
  },
  ".cm-lineNumbers .cm-gutterElement": {
    padding: "0 3px 0 5px",
    minWidth: "20px",
    textAlign: "right",
    whiteSpace: "nowrap"
  },
  "&light .cm-activeLineGutter": {
    backgroundColor: "#e2f2ff"
  },
  "&dark .cm-activeLineGutter": {
    backgroundColor: "#222227"
  },
  ".cm-panels": {
    boxSizing: "border-box",
    position: "sticky",
    left: 0,
    right: 0
  },
  "&light .cm-panels": {
    backgroundColor: "#f5f5f5",
    color: "black"
  },
  "&light .cm-panels-top": {
    borderBottom: "1px solid #ddd"
  },
  "&light .cm-panels-bottom": {
    borderTop: "1px solid #ddd"
  },
  "&dark .cm-panels": {
    backgroundColor: "#333338",
    color: "white"
  },
  ".cm-tab": {
    display: "inline-block",
    overflow: "hidden",
    verticalAlign: "bottom"
  },
  ".cm-widgetBuffer": {
    verticalAlign: "text-top",
    height: "1em",
    width: 0,
    display: "inline"
  },
  ".cm-placeholder": {
    color: "#888",
    display: "inline-block",
    verticalAlign: "top"
  },
  ".cm-highlightSpace:before": {
    content: "attr(data-display)",
    position: "absolute",
    pointerEvents: "none",
    color: "#888"
  },
  ".cm-highlightTab": {
    backgroundImage: "url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"200\" height=\"20\"><path stroke=\"%23888\" stroke-width=\"1\" fill=\"none\" d=\"M1 10H196L190 5M190 15L196 10M197 4L197 16\"/></svg>')",
    backgroundSize: "auto 100%",
    backgroundPosition: "right 90%",
    backgroundRepeat: "no-repeat"
  },
  ".cm-trailingSpace": {
    backgroundColor: "#ff332255"
  },
  ".cm-button": {
    verticalAlign: "middle",
    color: "inherit",
    fontSize: "70%",
    padding: ".2em 1em",
    borderRadius: "1px"
  },
  "&light .cm-button": {
    backgroundImage: "linear-gradient(#eff1f5, #d9d9df)",
    border: "1px solid #888",
    "&:active": {
      backgroundImage: "linear-gradient(#b4b4b4, #d0d3d6)"
    }
  },
  "&dark .cm-button": {
    backgroundImage: "linear-gradient(#393939, #111)",
    border: "1px solid #888",
    "&:active": {
      backgroundImage: "linear-gradient(#111, #333)"
    }
  },
  ".cm-textfield": {
    verticalAlign: "middle",
    color: "inherit",
    fontSize: "70%",
    border: "1px solid silver",
    padding: ".2em .5em"
  },
  "&light .cm-textfield": {
    backgroundColor: "white"
  },
  "&dark .cm-textfield": {
    border: "1px solid #555",
    backgroundColor: "inherit"
  }
}, lightDarkIDs);
var LineBreakPlaceholder = "\uFFFF";
var DOMReader = /*#__PURE__*/function () {
  function DOMReader(points, state) {
    _classCallCheck(this, DOMReader);
    this.points = points;
    this.text = "";
    this.lineSeparator = state.facet(_state.EditorState.lineSeparator);
  }
  return _createClass(DOMReader, [{
    key: "append",
    value: function append(text) {
      this.text += text;
    }
  }, {
    key: "lineBreak",
    value: function lineBreak() {
      this.text += LineBreakPlaceholder;
    }
  }, {
    key: "readRange",
    value: function readRange(start, end) {
      if (!start) return this;
      var parent = start.parentNode;
      for (var cur = start;;) {
        this.findPointBefore(parent, cur);
        var oldLen = this.text.length;
        this.readNode(cur);
        var next = cur.nextSibling;
        if (next == end) break;
        var view = ContentView.get(cur),
          nextView = ContentView.get(next);
        if (view && nextView ? view.breakAfter : (view ? view.breakAfter : isBlockElement(cur)) || isBlockElement(next) && (cur.nodeName != "BR" || cur.cmIgnore) && this.text.length > oldLen) this.lineBreak();
        cur = next;
      }
      this.findPointBefore(parent, end);
      return this;
    }
  }, {
    key: "readTextNode",
    value: function readTextNode(node) {
      var text = node.nodeValue;
      var _iterator34 = _createForOfIteratorHelper(this.points),
        _step34;
      try {
        for (_iterator34.s(); !(_step34 = _iterator34.n()).done;) {
          var _point = _step34.value;
          if (_point.node == node) _point.pos = this.text.length + Math.min(_point.offset, text.length);
        }
      } catch (err) {
        _iterator34.e(err);
      } finally {
        _iterator34.f();
      }
      for (var off = 0, re = this.lineSeparator ? null : /\r\n?|\n/g;;) {
        var nextBreak = -1,
          breakSize = 1,
          m = void 0;
        if (this.lineSeparator) {
          nextBreak = text.indexOf(this.lineSeparator, off);
          breakSize = this.lineSeparator.length;
        } else if (m = re.exec(text)) {
          nextBreak = m.index;
          breakSize = m[0].length;
        }
        this.append(text.slice(off, nextBreak < 0 ? text.length : nextBreak));
        if (nextBreak < 0) break;
        this.lineBreak();
        if (breakSize > 1) {
          var _iterator35 = _createForOfIteratorHelper(this.points),
            _step35;
          try {
            for (_iterator35.s(); !(_step35 = _iterator35.n()).done;) {
              var point = _step35.value;
              if (point.node == node && point.pos > this.text.length) point.pos -= breakSize - 1;
            }
          } catch (err) {
            _iterator35.e(err);
          } finally {
            _iterator35.f();
          }
        }
        off = nextBreak + breakSize;
      }
    }
  }, {
    key: "readNode",
    value: function readNode(node) {
      if (node.cmIgnore) return;
      var view = ContentView.get(node);
      var fromView = view && view.overrideDOMText;
      if (fromView != null) {
        this.findPointInside(node, fromView.length);
        for (var i = fromView.iter(); !i.next().done;) {
          if (i.lineBreak) this.lineBreak();else this.append(i.value);
        }
      } else if (node.nodeType == 3) {
        this.readTextNode(node);
      } else if (node.nodeName == "BR") {
        if (node.nextSibling) this.lineBreak();
      } else if (node.nodeType == 1) {
        this.readRange(node.firstChild, null);
      }
    }
  }, {
    key: "findPointBefore",
    value: function findPointBefore(node, next) {
      var _iterator36 = _createForOfIteratorHelper(this.points),
        _step36;
      try {
        for (_iterator36.s(); !(_step36 = _iterator36.n()).done;) {
          var point = _step36.value;
          if (point.node == node && node.childNodes[point.offset] == next) point.pos = this.text.length;
        }
      } catch (err) {
        _iterator36.e(err);
      } finally {
        _iterator36.f();
      }
    }
  }, {
    key: "findPointInside",
    value: function findPointInside(node, length) {
      var _iterator37 = _createForOfIteratorHelper(this.points),
        _step37;
      try {
        for (_iterator37.s(); !(_step37 = _iterator37.n()).done;) {
          var point = _step37.value;
          if (node.nodeType == 3 ? point.node == node : node.contains(point.node)) point.pos = this.text.length + (isAtEnd(node, point.node, point.offset) ? length : 0);
        }
      } catch (err) {
        _iterator37.e(err);
      } finally {
        _iterator37.f();
      }
    }
  }]);
}();
function isAtEnd(parent, node, offset) {
  for (;;) {
    if (!node || offset < maxOffset(node)) return false;
    if (node == parent) return true;
    offset = domIndex(node) + 1;
    node = node.parentNode;
  }
}
function isBlockElement(node) {
  return node.nodeType == 1 && /^(DIV|P|LI|UL|OL|BLOCKQUOTE|DD|DT|H\d|SECTION|PRE)$/.test(node.nodeName);
}
var DOMPoint = /*#__PURE__*/_createClass(function DOMPoint(node, offset) {
  _classCallCheck(this, DOMPoint);
  this.node = node;
  this.offset = offset;
  this.pos = -1;
});
var DOMChange = /*#__PURE__*/_createClass(function DOMChange(view, start, end, typeOver) {
  _classCallCheck(this, DOMChange);
  this.typeOver = typeOver;
  this.bounds = null;
  this.text = "";
  var _view$docView = view.docView,
    iHead = _view$docView.impreciseHead,
    iAnchor = _view$docView.impreciseAnchor;
  if (view.state.readOnly && start > -1) {
    // Ignore changes when the editor is read-only
    this.newSel = null;
  } else if (start > -1 && (this.bounds = view.docView.domBoundsAround(start, end, 0))) {
    var selPoints = iHead || iAnchor ? [] : selectionPoints(view);
    var reader = new DOMReader(selPoints, view.state);
    reader.readRange(this.bounds.startDOM, this.bounds.endDOM);
    this.text = reader.text;
    this.newSel = selectionFromPoints(selPoints, this.bounds.from);
  } else {
    var domSel = view.observer.selectionRange;
    var head = iHead && iHead.node == domSel.focusNode && iHead.offset == domSel.focusOffset || !contains(view.contentDOM, domSel.focusNode) ? view.state.selection.main.head : view.docView.posFromDOM(domSel.focusNode, domSel.focusOffset);
    var anchor = iAnchor && iAnchor.node == domSel.anchorNode && iAnchor.offset == domSel.anchorOffset || !contains(view.contentDOM, domSel.anchorNode) ? view.state.selection.main.anchor : view.docView.posFromDOM(domSel.anchorNode, domSel.anchorOffset);
    // iOS will refuse to select the block gaps when doing
    // select-all.
    // Chrome will put the selection *inside* them, confusing
    // posFromDOM
    var vp = view.viewport;
    if ((browser.ios || browser.chrome) && view.state.selection.main.empty && head != anchor && (vp.from > 0 || vp.to < view.state.doc.length)) {
      var from = Math.min(head, anchor),
        to = Math.max(head, anchor);
      var offFrom = vp.from - from,
        offTo = vp.to - to;
      if ((offFrom == 0 || offFrom == 1 || from == 0) && (offTo == 0 || offTo == -1 || to == view.state.doc.length)) {
        head = 0;
        anchor = view.state.doc.length;
      }
    }
    this.newSel = _state.EditorSelection.single(anchor, head);
  }
});
function applyDOMChange(view, domChange) {
  var change;
  var newSel = domChange.newSel,
    sel = view.state.selection.main;
  var lastKey = view.inputState.lastKeyTime > Date.now() - 100 ? view.inputState.lastKeyCode : -1;
  if (domChange.bounds) {
    var _domChange$bounds = domChange.bounds,
      from = _domChange$bounds.from,
      to = _domChange$bounds.to;
    var preferredPos = sel.from,
      preferredSide = null;
    // Prefer anchoring to end when Backspace is pressed (or, on
    // Android, when something was deleted)
    if (lastKey === 8 || browser.android && domChange.text.length < to - from) {
      preferredPos = sel.to;
      preferredSide = "end";
    }
    var diff = findDiff(view.state.doc.sliceString(from, to, LineBreakPlaceholder), domChange.text, preferredPos - from, preferredSide);
    if (diff) {
      // Chrome inserts two newlines when pressing shift-enter at the
      // end of a line. DomChange drops one of those.
      if (browser.chrome && lastKey == 13 && diff.toB == diff.from + 2 && domChange.text.slice(diff.from, diff.toB) == LineBreakPlaceholder + LineBreakPlaceholder) diff.toB--;
      change = {
        from: from + diff.from,
        to: from + diff.toA,
        insert: _state.Text.of(domChange.text.slice(diff.from, diff.toB).split(LineBreakPlaceholder))
      };
    }
  } else if (newSel && (!view.hasFocus && view.state.facet(editable) || newSel.main.eq(sel))) {
    newSel = null;
  }
  if (!change && !newSel) return false;
  if (!change && domChange.typeOver && !sel.empty && newSel && newSel.main.empty) {
    // Heuristic to notice typing over a selected character
    change = {
      from: sel.from,
      to: sel.to,
      insert: view.state.doc.slice(sel.from, sel.to)
    };
  } else if (change && change.from >= sel.from && change.to <= sel.to && (change.from != sel.from || change.to != sel.to) && sel.to - sel.from - (change.to - change.from) <= 4) {
    // If the change is inside the selection and covers most of it,
    // assume it is a selection replace (with identical characters at
    // the start/end not included in the diff)
    change = {
      from: sel.from,
      to: sel.to,
      insert: view.state.doc.slice(sel.from, change.from).append(change.insert).append(view.state.doc.slice(change.to, sel.to))
    };
  } else if ((browser.mac || browser.android) && change && change.from == change.to && change.from == sel.head - 1 && /^\. ?$/.test(change.insert.toString()) && view.contentDOM.getAttribute("autocorrect") == "off") {
    // Detect insert-period-on-double-space Mac and Android behavior,
    // and transform it into a regular space insert.
    if (newSel && change.insert.length == 2) newSel = _state.EditorSelection.single(newSel.main.anchor - 1, newSel.main.head - 1);
    change = {
      from: sel.from,
      to: sel.to,
      insert: _state.Text.of([" "])
    };
  } else if (browser.chrome && change && change.from == change.to && change.from == sel.head && change.insert.toString() == "\n " && view.lineWrapping) {
    // In Chrome, if you insert a space at the start of a wrapped
    // line, it will actually insert a newline and a space, causing a
    // bogus new line to be created in CodeMirror (#968)
    if (newSel) newSel = _state.EditorSelection.single(newSel.main.anchor - 1, newSel.main.head - 1);
    change = {
      from: sel.from,
      to: sel.to,
      insert: _state.Text.of([" "])
    };
  }
  if (change) {
    if (browser.ios && view.inputState.flushIOSKey(change)) return true;
    // Android browsers don't fire reasonable key events for enter,
    // backspace, or delete. So this detects changes that look like
    // they're caused by those keys, and reinterprets them as key
    // events. (Some of these keys are also handled by beforeinput
    // events and the pendingAndroidKey mechanism, but that's not
    // reliable in all situations.)
    if (browser.android && (change.to == sel.to && (
    // GBoard will sometimes remove a space it just inserted
    // after a completion when you press enter
    change.from == sel.from || change.from == sel.from - 1 && view.state.sliceDoc(change.from, sel.from) == " ") && change.insert.length == 1 && change.insert.lines == 2 && dispatchKey(view.contentDOM, "Enter", 13) || (change.from == sel.from - 1 && change.to == sel.to && change.insert.length == 0 || lastKey == 8 && change.insert.length < change.to - change.from && change.to > sel.head) && dispatchKey(view.contentDOM, "Backspace", 8) || change.from == sel.from && change.to == sel.to + 1 && change.insert.length == 0 && dispatchKey(view.contentDOM, "Delete", 46))) return true;
    var text = change.insert.toString();
    if (view.inputState.composing >= 0) view.inputState.composing++;
    var defaultTr;
    var defaultInsert = function defaultInsert() {
      return defaultTr || (defaultTr = applyDefaultInsert(view, change, newSel));
    };
    if (!view.state.facet(inputHandler).some(function (h) {
      return h(view, change.from, change.to, text, defaultInsert);
    })) view.dispatch(defaultInsert());
    return true;
  } else if (newSel && !newSel.main.eq(sel)) {
    var _scrollIntoView = false,
      userEvent = "select";
    if (view.inputState.lastSelectionTime > Date.now() - 50) {
      if (view.inputState.lastSelectionOrigin == "select") _scrollIntoView = true;
      userEvent = view.inputState.lastSelectionOrigin;
    }
    view.dispatch({
      selection: newSel,
      scrollIntoView: _scrollIntoView,
      userEvent: userEvent
    });
    return true;
  } else {
    return false;
  }
}
function applyDefaultInsert(view, change, newSel) {
  var tr,
    startState = view.state,
    sel = startState.selection.main;
  if (change.from >= sel.from && change.to <= sel.to && change.to - change.from >= (sel.to - sel.from) / 3 && (!newSel || newSel.main.empty && newSel.main.from == change.from + change.insert.length) && view.inputState.composing < 0) {
    var before = sel.from < change.from ? startState.sliceDoc(sel.from, change.from) : "";
    var after = sel.to > change.to ? startState.sliceDoc(change.to, sel.to) : "";
    tr = startState.replaceSelection(view.state.toText(before + change.insert.sliceString(0, undefined, view.state.lineBreak) + after));
  } else {
    var changes = startState.changes(change);
    var mainSel = newSel && newSel.main.to <= changes.newLength ? newSel.main : undefined;
    // Try to apply a composition change to all cursors
    if (startState.selection.ranges.length > 1 && view.inputState.composing >= 0 && change.to <= sel.to && change.to >= sel.to - 10) {
      var replaced = view.state.sliceDoc(change.from, change.to);
      var compositionRange,
        composition = newSel && findCompositionNode(view, newSel.main.head);
      if (composition) {
        var dLen = change.insert.length - (change.to - change.from);
        compositionRange = {
          from: composition.from,
          to: composition.to - dLen
        };
      } else {
        compositionRange = view.state.doc.lineAt(sel.head);
      }
      var offset = sel.to - change.to,
        size = sel.to - sel.from;
      tr = startState.changeByRange(function (range) {
        if (range.from == sel.from && range.to == sel.to) return {
          changes: changes,
          range: mainSel || range.map(changes)
        };
        var to = range.to - offset,
          from = to - replaced.length;
        if (range.to - range.from != size || view.state.sliceDoc(from, to) != replaced ||
        // Unfortunately, there's no way to make multiple
        // changes in the same node work without aborting
        // composition, so cursors in the composition range are
        // ignored.
        range.to >= compositionRange.from && range.from <= compositionRange.to) return {
          range: range
        };
        var rangeChanges = startState.changes({
            from: from,
            to: to,
            insert: change.insert
          }),
          selOff = range.to - sel.to;
        return {
          changes: rangeChanges,
          range: !mainSel ? range.map(rangeChanges) : _state.EditorSelection.range(Math.max(0, mainSel.anchor + selOff), Math.max(0, mainSel.head + selOff))
        };
      });
    } else {
      tr = {
        changes: changes,
        selection: mainSel && startState.selection.replaceRange(mainSel)
      };
    }
  }
  var userEvent = "input.type";
  if (view.composing || view.inputState.compositionPendingChange && view.inputState.compositionEndedAt > Date.now() - 50) {
    view.inputState.compositionPendingChange = false;
    userEvent += ".compose";
    if (view.inputState.compositionFirstChange) {
      userEvent += ".start";
      view.inputState.compositionFirstChange = false;
    }
  }
  return startState.update(tr, {
    userEvent: userEvent,
    scrollIntoView: true
  });
}
function findDiff(a, b, preferredPos, preferredSide) {
  var minLen = Math.min(a.length, b.length);
  var from = 0;
  while (from < minLen && a.charCodeAt(from) == b.charCodeAt(from)) from++;
  if (from == minLen && a.length == b.length) return null;
  var toA = a.length,
    toB = b.length;
  while (toA > 0 && toB > 0 && a.charCodeAt(toA - 1) == b.charCodeAt(toB - 1)) {
    toA--;
    toB--;
  }
  if (preferredSide == "end") {
    var adjust = Math.max(0, from - Math.min(toA, toB));
    preferredPos -= toA + adjust - from;
  }
  if (toA < from && a.length < b.length) {
    var move = preferredPos <= from && preferredPos >= toA ? from - preferredPos : 0;
    from -= move;
    toB = from + (toB - toA);
    toA = from;
  } else if (toB < from) {
    var _move = preferredPos <= from && preferredPos >= toB ? from - preferredPos : 0;
    from -= _move;
    toA = from + (toA - toB);
    toB = from;
  }
  return {
    from: from,
    toA: toA,
    toB: toB
  };
}
function selectionPoints(view) {
  var result = [];
  if (view.root.activeElement != view.contentDOM) return result;
  var _view$observer$select2 = view.observer.selectionRange,
    anchorNode = _view$observer$select2.anchorNode,
    anchorOffset = _view$observer$select2.anchorOffset,
    focusNode = _view$observer$select2.focusNode,
    focusOffset = _view$observer$select2.focusOffset;
  if (anchorNode) {
    result.push(new DOMPoint(anchorNode, anchorOffset));
    if (focusNode != anchorNode || focusOffset != anchorOffset) result.push(new DOMPoint(focusNode, focusOffset));
  }
  return result;
}
function selectionFromPoints(points, base) {
  if (points.length == 0) return null;
  var anchor = points[0].pos,
    head = points.length == 2 ? points[1].pos : anchor;
  return anchor > -1 && head > -1 ? _state.EditorSelection.single(anchor + base, head + base) : null;
}
var observeOptions = {
  childList: true,
  characterData: true,
  subtree: true,
  attributes: true,
  characterDataOldValue: true
};
// IE11 has very broken mutation observers, so we also listen to
// DOMCharacterDataModified there
var useCharData = browser.ie && browser.ie_version <= 11;
var DOMObserver = /*#__PURE__*/function () {
  function DOMObserver(view) {
    var _this31 = this;
    _classCallCheck(this, DOMObserver);
    this.view = view;
    this.active = false;
    // The known selection. Kept in our own object, as opposed to just
    // directly accessing the selection because:
    //  - Safari doesn't report the right selection in shadow DOM
    //  - Reading from the selection forces a DOM layout
    //  - This way, we can ignore selectionchange events if we have
    //    already seen the 'new' selection
    this.selectionRange = new DOMSelectionState();
    // Set when a selection change is detected, cleared on flush
    this.selectionChanged = false;
    this.delayedFlush = -1;
    this.resizeTimeout = -1;
    this.queue = [];
    this.delayedAndroidKey = null;
    this.flushingAndroidKey = -1;
    this.lastChange = 0;
    this.scrollTargets = [];
    this.intersection = null;
    this.resizeScroll = null;
    this.intersecting = false;
    this.gapIntersection = null;
    this.gaps = [];
    this.printQuery = null;
    // Timeout for scheduling check of the parents that need scroll handlers
    this.parentCheck = -1;
    this.dom = view.contentDOM;
    this.observer = new MutationObserver(function (mutations) {
      var _iterator38 = _createForOfIteratorHelper(mutations),
        _step38;
      try {
        for (_iterator38.s(); !(_step38 = _iterator38.n()).done;) {
          var mut = _step38.value;
          _this31.queue.push(mut);
        }
        // IE11 will sometimes (on typing over a selection or
        // backspacing out a single character text node) call the
        // observer callback before actually updating the DOM.
        //
        // Unrelatedly, iOS Safari will, when ending a composition,
        // sometimes first clear it, deliver the mutations, and then
        // reinsert the finished text. CodeMirror's handling of the
        // deletion will prevent the reinsertion from happening,
        // breaking composition.
      } catch (err) {
        _iterator38.e(err);
      } finally {
        _iterator38.f();
      }
      if ((browser.ie && browser.ie_version <= 11 || browser.ios && view.composing) && mutations.some(function (m) {
        return m.type == "childList" && m.removedNodes.length || m.type == "characterData" && m.oldValue.length > m.target.nodeValue.length;
      })) _this31.flushSoon();else _this31.flush();
    });
    if (useCharData) this.onCharData = function (event) {
      _this31.queue.push({
        target: event.target,
        type: "characterData",
        oldValue: event.prevValue
      });
      _this31.flushSoon();
    };
    this.onSelectionChange = this.onSelectionChange.bind(this);
    this.onResize = this.onResize.bind(this);
    this.onPrint = this.onPrint.bind(this);
    this.onScroll = this.onScroll.bind(this);
    if (window.matchMedia) this.printQuery = window.matchMedia("print");
    if (typeof ResizeObserver == "function") {
      this.resizeScroll = new ResizeObserver(function () {
        var _a;
        if (((_a = _this31.view.docView) === null || _a === void 0 ? void 0 : _a.lastUpdate) < Date.now() - 75) _this31.onResize();
      });
      this.resizeScroll.observe(view.scrollDOM);
    }
    this.addWindowListeners(this.win = view.win);
    this.start();
    if (typeof IntersectionObserver == "function") {
      this.intersection = new IntersectionObserver(function (entries) {
        if (_this31.parentCheck < 0) _this31.parentCheck = setTimeout(_this31.listenForScroll.bind(_this31), 1000);
        if (entries.length > 0 && entries[entries.length - 1].intersectionRatio > 0 != _this31.intersecting) {
          _this31.intersecting = !_this31.intersecting;
          if (_this31.intersecting != _this31.view.inView) _this31.onScrollChanged(document.createEvent("Event"));
        }
      }, {
        threshold: [0, .001]
      });
      this.intersection.observe(this.dom);
      this.gapIntersection = new IntersectionObserver(function (entries) {
        if (entries.length > 0 && entries[entries.length - 1].intersectionRatio > 0) _this31.onScrollChanged(document.createEvent("Event"));
      }, {});
    }
    this.listenForScroll();
    this.readSelectionRange();
  }
  return _createClass(DOMObserver, [{
    key: "onScrollChanged",
    value: function onScrollChanged(e) {
      this.view.inputState.runHandlers("scroll", e);
      if (this.intersecting) this.view.measure();
    }
  }, {
    key: "onScroll",
    value: function onScroll(e) {
      if (this.intersecting) this.flush(false);
      this.onScrollChanged(e);
    }
  }, {
    key: "onResize",
    value: function onResize() {
      var _this32 = this;
      if (this.resizeTimeout < 0) this.resizeTimeout = setTimeout(function () {
        _this32.resizeTimeout = -1;
        _this32.view.requestMeasure();
      }, 50);
    }
  }, {
    key: "onPrint",
    value: function onPrint(event) {
      var _this33 = this;
      if (event.type == "change" && !event.matches) return;
      this.view.viewState.printing = true;
      this.view.measure();
      setTimeout(function () {
        _this33.view.viewState.printing = false;
        _this33.view.requestMeasure();
      }, 500);
    }
  }, {
    key: "updateGaps",
    value: function updateGaps(gaps) {
      if (this.gapIntersection && (gaps.length != this.gaps.length || this.gaps.some(function (g, i) {
        return g != gaps[i];
      }))) {
        this.gapIntersection.disconnect();
        var _iterator39 = _createForOfIteratorHelper(gaps),
          _step39;
        try {
          for (_iterator39.s(); !(_step39 = _iterator39.n()).done;) {
            var gap = _step39.value;
            this.gapIntersection.observe(gap);
          }
        } catch (err) {
          _iterator39.e(err);
        } finally {
          _iterator39.f();
        }
        this.gaps = gaps;
      }
    }
  }, {
    key: "onSelectionChange",
    value: function onSelectionChange(event) {
      var wasChanged = this.selectionChanged;
      if (!this.readSelectionRange() || this.delayedAndroidKey) return;
      var view = this.view,
        sel = this.selectionRange;
      if (view.state.facet(editable) ? view.root.activeElement != this.dom : !hasSelection(view.dom, sel)) return;
      var context = sel.anchorNode && view.docView.nearest(sel.anchorNode);
      if (context && context.ignoreEvent(event)) {
        if (!wasChanged) this.selectionChanged = false;
        return;
      }
      // Deletions on IE11 fire their events in the wrong order, giving
      // us a selection change event before the DOM changes are
      // reported.
      // Chrome Android has a similar issue when backspacing out a
      // selection (#645).
      if ((browser.ie && browser.ie_version <= 11 || browser.android && browser.chrome) && !view.state.selection.main.empty &&
      // (Selection.isCollapsed isn't reliable on IE)
      sel.focusNode && isEquivalentPosition(sel.focusNode, sel.focusOffset, sel.anchorNode, sel.anchorOffset)) this.flushSoon();else this.flush(false);
    }
  }, {
    key: "readSelectionRange",
    value: function readSelectionRange() {
      var view = this.view;
      // The Selection object is broken in shadow roots in Safari. See
      // https://github.com/codemirror/dev/issues/414
      var range = browser.safari && view.root.nodeType == 11 && deepActiveElement(this.dom.ownerDocument) == this.dom && safariSelectionRangeHack(this.view) || getSelection(view.root);
      if (!range || this.selectionRange.eq(range)) return false;
      var local = hasSelection(this.dom, range);
      // Detect the situation where the browser has, on focus, moved the
      // selection to the start of the content element. Reset it to the
      // position from the editor state.
      if (local && !this.selectionChanged && view.inputState.lastFocusTime > Date.now() - 200 && view.inputState.lastTouchTime < Date.now() - 300 && atElementStart(this.dom, range)) {
        this.view.inputState.lastFocusTime = 0;
        view.docView.updateSelection();
        return false;
      }
      this.selectionRange.setRange(range);
      if (local) this.selectionChanged = true;
      return true;
    }
  }, {
    key: "setSelectionRange",
    value: function setSelectionRange(anchor, head) {
      this.selectionRange.set(anchor.node, anchor.offset, head.node, head.offset);
      this.selectionChanged = false;
    }
  }, {
    key: "clearSelectionRange",
    value: function clearSelectionRange() {
      this.selectionRange.set(null, 0, null, 0);
    }
  }, {
    key: "listenForScroll",
    value: function listenForScroll() {
      this.parentCheck = -1;
      var i = 0,
        changed = null;
      for (var dom = this.dom; dom;) {
        if (dom.nodeType == 1) {
          if (!changed && i < this.scrollTargets.length && this.scrollTargets[i] == dom) i++;else if (!changed) changed = this.scrollTargets.slice(0, i);
          if (changed) changed.push(dom);
          dom = dom.assignedSlot || dom.parentNode;
        } else if (dom.nodeType == 11) {
          // Shadow root
          dom = dom.host;
        } else {
          break;
        }
      }
      if (i < this.scrollTargets.length && !changed) changed = this.scrollTargets.slice(0, i);
      if (changed) {
        var _iterator40 = _createForOfIteratorHelper(this.scrollTargets),
          _step40;
        try {
          for (_iterator40.s(); !(_step40 = _iterator40.n()).done;) {
            var _dom2 = _step40.value;
            _dom2.removeEventListener("scroll", this.onScroll);
          }
        } catch (err) {
          _iterator40.e(err);
        } finally {
          _iterator40.f();
        }
        var _iterator41 = _createForOfIteratorHelper(this.scrollTargets = changed),
          _step41;
        try {
          for (_iterator41.s(); !(_step41 = _iterator41.n()).done;) {
            var _dom3 = _step41.value;
            _dom3.addEventListener("scroll", this.onScroll);
          }
        } catch (err) {
          _iterator41.e(err);
        } finally {
          _iterator41.f();
        }
      }
    }
  }, {
    key: "ignore",
    value: function ignore(f) {
      if (!this.active) return f();
      try {
        this.stop();
        return f();
      } finally {
        this.start();
        this.clear();
      }
    }
  }, {
    key: "start",
    value: function start() {
      if (this.active) return;
      this.observer.observe(this.dom, observeOptions);
      if (useCharData) this.dom.addEventListener("DOMCharacterDataModified", this.onCharData);
      this.active = true;
    }
  }, {
    key: "stop",
    value: function stop() {
      if (!this.active) return;
      this.active = false;
      this.observer.disconnect();
      if (useCharData) this.dom.removeEventListener("DOMCharacterDataModified", this.onCharData);
    }
    // Throw away any pending changes
  }, {
    key: "clear",
    value: function clear() {
      this.processRecords();
      this.queue.length = 0;
      this.selectionChanged = false;
    }
    // Chrome Android, especially in combination with GBoard, not only
    // doesn't reliably fire regular key events, but also often
    // surrounds the effect of enter or backspace with a bunch of
    // composition events that, when interrupted, cause text duplication
    // or other kinds of corruption. This hack makes the editor back off
    // from handling DOM changes for a moment when such a key is
    // detected (via beforeinput or keydown), and then tries to flush
    // them or, if that has no effect, dispatches the given key.
  }, {
    key: "delayAndroidKey",
    value: function delayAndroidKey(key, keyCode) {
      var _this34 = this;
      var _a;
      if (!this.delayedAndroidKey) {
        var flush = function flush() {
          var key = _this34.delayedAndroidKey;
          if (key) {
            _this34.clearDelayedAndroidKey();
            _this34.view.inputState.lastKeyCode = key.keyCode;
            _this34.view.inputState.lastKeyTime = Date.now();
            var flushed = _this34.flush();
            if (!flushed && key.force) dispatchKey(_this34.dom, key.key, key.keyCode);
          }
        };
        this.flushingAndroidKey = this.view.win.requestAnimationFrame(flush);
      }
      // Since backspace beforeinput is sometimes signalled spuriously,
      // Enter always takes precedence.
      if (!this.delayedAndroidKey || key == "Enter") this.delayedAndroidKey = {
        key: key,
        keyCode: keyCode,
        // Only run the key handler when no changes are detected if
        // this isn't coming right after another change, in which case
        // it is probably part of a weird chain of updates, and should
        // be ignored if it returns the DOM to its previous state.
        force: this.lastChange < Date.now() - 50 || !!((_a = this.delayedAndroidKey) === null || _a === void 0 ? void 0 : _a.force)
      };
    }
  }, {
    key: "clearDelayedAndroidKey",
    value: function clearDelayedAndroidKey() {
      this.win.cancelAnimationFrame(this.flushingAndroidKey);
      this.delayedAndroidKey = null;
      this.flushingAndroidKey = -1;
    }
  }, {
    key: "flushSoon",
    value: function flushSoon() {
      var _this35 = this;
      if (this.delayedFlush < 0) this.delayedFlush = this.view.win.requestAnimationFrame(function () {
        _this35.delayedFlush = -1;
        _this35.flush();
      });
    }
  }, {
    key: "forceFlush",
    value: function forceFlush() {
      if (this.delayedFlush >= 0) {
        this.view.win.cancelAnimationFrame(this.delayedFlush);
        this.delayedFlush = -1;
      }
      this.flush();
    }
  }, {
    key: "pendingRecords",
    value: function pendingRecords() {
      var _iterator42 = _createForOfIteratorHelper(this.observer.takeRecords()),
        _step42;
      try {
        for (_iterator42.s(); !(_step42 = _iterator42.n()).done;) {
          var mut = _step42.value;
          this.queue.push(mut);
        }
      } catch (err) {
        _iterator42.e(err);
      } finally {
        _iterator42.f();
      }
      return this.queue;
    }
  }, {
    key: "processRecords",
    value: function processRecords() {
      var records = this.pendingRecords();
      if (records.length) this.queue = [];
      var from = -1,
        to = -1,
        typeOver = false;
      var _iterator43 = _createForOfIteratorHelper(records),
        _step43;
      try {
        for (_iterator43.s(); !(_step43 = _iterator43.n()).done;) {
          var record = _step43.value;
          var range = this.readMutation(record);
          if (!range) continue;
          if (range.typeOver) typeOver = true;
          if (from == -1) {
            from = range.from;
            to = range.to;
          } else {
            from = Math.min(range.from, from);
            to = Math.max(range.to, to);
          }
        }
      } catch (err) {
        _iterator43.e(err);
      } finally {
        _iterator43.f();
      }
      return {
        from: from,
        to: to,
        typeOver: typeOver
      };
    }
  }, {
    key: "readChange",
    value: function readChange() {
      var _this$processRecords = this.processRecords(),
        from = _this$processRecords.from,
        to = _this$processRecords.to,
        typeOver = _this$processRecords.typeOver;
      var newSel = this.selectionChanged && hasSelection(this.dom, this.selectionRange);
      if (from < 0 && !newSel) return null;
      if (from > -1) this.lastChange = Date.now();
      this.view.inputState.lastFocusTime = 0;
      this.selectionChanged = false;
      var change = new DOMChange(this.view, from, to, typeOver);
      this.view.docView.domChanged = {
        newSel: change.newSel ? change.newSel.main : null
      };
      return change;
    }
    // Apply pending changes, if any
  }, {
    key: "flush",
    value: function flush() {
      var readSelection = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
      // Completely hold off flushing when pending keys are set—the code
      // managing those will make sure processRecords is called and the
      // view is resynchronized after
      if (this.delayedFlush >= 0 || this.delayedAndroidKey) return false;
      if (readSelection) this.readSelectionRange();
      var domChange = this.readChange();
      if (!domChange) {
        this.view.requestMeasure();
        return false;
      }
      var startState = this.view.state;
      var handled = applyDOMChange(this.view, domChange);
      // The view wasn't updated
      if (this.view.state == startState) this.view.update([]);
      return handled;
    }
  }, {
    key: "readMutation",
    value: function readMutation(rec) {
      var cView = this.view.docView.nearest(rec.target);
      if (!cView || cView.ignoreMutation(rec)) return null;
      cView.markDirty(rec.type == "attributes");
      if (rec.type == "attributes") cView.flags |= 4 /* ViewFlag.AttrsDirty */;
      if (rec.type == "childList") {
        var childBefore = findChild(cView, rec.previousSibling || rec.target.previousSibling, -1);
        var childAfter = findChild(cView, rec.nextSibling || rec.target.nextSibling, 1);
        return {
          from: childBefore ? cView.posAfter(childBefore) : cView.posAtStart,
          to: childAfter ? cView.posBefore(childAfter) : cView.posAtEnd,
          typeOver: false
        };
      } else if (rec.type == "characterData") {
        return {
          from: cView.posAtStart,
          to: cView.posAtEnd,
          typeOver: rec.target.nodeValue == rec.oldValue
        };
      } else {
        return null;
      }
    }
  }, {
    key: "setWindow",
    value: function setWindow(win) {
      if (win != this.win) {
        this.removeWindowListeners(this.win);
        this.win = win;
        this.addWindowListeners(this.win);
      }
    }
  }, {
    key: "addWindowListeners",
    value: function addWindowListeners(win) {
      win.addEventListener("resize", this.onResize);
      if (this.printQuery) this.printQuery.addEventListener("change", this.onPrint);else win.addEventListener("beforeprint", this.onPrint);
      win.addEventListener("scroll", this.onScroll);
      win.document.addEventListener("selectionchange", this.onSelectionChange);
    }
  }, {
    key: "removeWindowListeners",
    value: function removeWindowListeners(win) {
      win.removeEventListener("scroll", this.onScroll);
      win.removeEventListener("resize", this.onResize);
      if (this.printQuery) this.printQuery.removeEventListener("change", this.onPrint);else win.removeEventListener("beforeprint", this.onPrint);
      win.document.removeEventListener("selectionchange", this.onSelectionChange);
    }
  }, {
    key: "destroy",
    value: function destroy() {
      var _a, _b, _c;
      this.stop();
      (_a = this.intersection) === null || _a === void 0 ? void 0 : _a.disconnect();
      (_b = this.gapIntersection) === null || _b === void 0 ? void 0 : _b.disconnect();
      (_c = this.resizeScroll) === null || _c === void 0 ? void 0 : _c.disconnect();
      var _iterator44 = _createForOfIteratorHelper(this.scrollTargets),
        _step44;
      try {
        for (_iterator44.s(); !(_step44 = _iterator44.n()).done;) {
          var dom = _step44.value;
          dom.removeEventListener("scroll", this.onScroll);
        }
      } catch (err) {
        _iterator44.e(err);
      } finally {
        _iterator44.f();
      }
      this.removeWindowListeners(this.win);
      clearTimeout(this.parentCheck);
      clearTimeout(this.resizeTimeout);
      this.win.cancelAnimationFrame(this.delayedFlush);
      this.win.cancelAnimationFrame(this.flushingAndroidKey);
    }
  }]);
}();
function findChild(cView, dom, dir) {
  while (dom) {
    var curView = ContentView.get(dom);
    if (curView && curView.parent == cView) return curView;
    var parent = dom.parentNode;
    dom = parent != cView.dom ? parent : dir > 0 ? dom.nextSibling : dom.previousSibling;
  }
  return null;
}
// Used to work around a Safari Selection/shadow DOM bug (#414)
function safariSelectionRangeHack(view) {
  var found = null;
  // Because Safari (at least in 2018-2021) doesn't provide regular
  // access to the selection inside a shadowroot, we have to perform a
  // ridiculous hack to get at it—using `execCommand` to trigger a
  // `beforeInput` event so that we can read the target range from the
  // event.
  function read(event) {
    event.preventDefault();
    event.stopImmediatePropagation();
    found = event.getTargetRanges()[0];
  }
  view.contentDOM.addEventListener("beforeinput", read, true);
  view.dom.ownerDocument.execCommand("indent");
  view.contentDOM.removeEventListener("beforeinput", read, true);
  if (!found) return null;
  var anchorNode = found.startContainer,
    anchorOffset = found.startOffset;
  var focusNode = found.endContainer,
    focusOffset = found.endOffset;
  var curAnchor = view.docView.domAtPos(view.state.selection.main.anchor);
  // Since such a range doesn't distinguish between anchor and head,
  // use a heuristic that flips it around if its end matches the
  // current anchor.
  if (isEquivalentPosition(curAnchor.node, curAnchor.offset, focusNode, focusOffset)) {
    var _ref8 = [focusNode, focusOffset, anchorNode, anchorOffset];
    anchorNode = _ref8[0];
    anchorOffset = _ref8[1];
    focusNode = _ref8[2];
    focusOffset = _ref8[3];
  }
  return {
    anchorNode: anchorNode,
    anchorOffset: anchorOffset,
    focusNode: focusNode,
    focusOffset: focusOffset
  };
}

// The editor's update state machine looks something like this:
//
//     Idle → Updating ⇆ Idle (unchecked) → Measuring → Idle
//                                         ↑      ↓
//                                         Updating (measure)
//
// The difference between 'Idle' and 'Idle (unchecked)' lies in
// whether a layout check has been scheduled. A regular update through
// the `update` method updates the DOM in a write-only fashion, and
// relies on a check (scheduled with `requestAnimationFrame`) to make
// sure everything is where it should be and the viewport covers the
// visible code. That check continues to measure and then optionally
// update until it reaches a coherent state.
/**
An editor view represents the editor's user interface. It holds
the editable DOM surface, and possibly other elements such as the
line number gutter. It handles events and dispatches state
transactions for editing actions.
*/
var EditorView = exports.EditorView = /*#__PURE__*/function () {
  /**
  Construct a new view. You'll want to either provide a `parent`
  option, or put `view.dom` into your document after creating a
  view, so that the user can see the editor.
  */
  function EditorView() {
    var _this36 = this;
    var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
    _classCallCheck(this, EditorView);
    this.plugins = [];
    this.pluginMap = new Map();
    this.editorAttrs = {};
    this.contentAttrs = {};
    this.bidiCache = [];
    this.destroyed = false;
    /**
    @internal
    */
    this.updateState = 2 /* UpdateState.Updating */;
    /**
    @internal
    */
    this.measureScheduled = -1;
    /**
    @internal
    */
    this.measureRequests = [];
    this.contentDOM = document.createElement("div");
    this.scrollDOM = document.createElement("div");
    this.scrollDOM.tabIndex = -1;
    this.scrollDOM.className = "cm-scroller";
    this.scrollDOM.appendChild(this.contentDOM);
    this.announceDOM = document.createElement("div");
    this.announceDOM.className = "cm-announced";
    this.announceDOM.setAttribute("aria-live", "polite");
    this.dom = document.createElement("div");
    this.dom.appendChild(this.announceDOM);
    this.dom.appendChild(this.scrollDOM);
    if (config.parent) config.parent.appendChild(this.dom);
    var dispatch = config.dispatch;
    this.dispatchTransactions = config.dispatchTransactions || dispatch && function (trs) {
      return trs.forEach(function (tr) {
        return dispatch(tr, _this36);
      });
    } || function (trs) {
      return _this36.update(trs);
    };
    this.dispatch = this.dispatch.bind(this);
    this._root = config.root || getRoot(config.parent) || document;
    this.viewState = new ViewState(config.state || _state.EditorState.create(config));
    if (config.scrollTo && config.scrollTo.is(_scrollIntoView2)) this.viewState.scrollTarget = config.scrollTo.value.clip(this.viewState.state);
    this.plugins = this.state.facet(viewPlugin).map(function (spec) {
      return new PluginInstance(spec);
    });
    var _iterator45 = _createForOfIteratorHelper(this.plugins),
      _step45;
    try {
      for (_iterator45.s(); !(_step45 = _iterator45.n()).done;) {
        var _plugin4 = _step45.value;
        _plugin4.update(this);
      }
    } catch (err) {
      _iterator45.e(err);
    } finally {
      _iterator45.f();
    }
    this.observer = new DOMObserver(this);
    this.inputState = new InputState(this);
    this.inputState.ensureHandlers(this.plugins);
    this.docView = new DocView(this);
    this.mountStyles();
    this.updateAttrs();
    this.updateState = 0 /* UpdateState.Idle */;
    this.requestMeasure();
  }
  return _createClass(EditorView, [{
    key: "state",
    get:
    /**
    The current editor state.
    */
    function get() {
      return this.viewState.state;
    }
    /**
    To be able to display large documents without consuming too much
    memory or overloading the browser, CodeMirror only draws the
    code that is visible (plus a margin around it) to the DOM. This
    property tells you the extent of the current drawn viewport, in
    document positions.
    */
  }, {
    key: "viewport",
    get: function get() {
      return this.viewState.viewport;
    }
    /**
    When there are, for example, large collapsed ranges in the
    viewport, its size can be a lot bigger than the actual visible
    content. Thus, if you are doing something like styling the
    content in the viewport, it is preferable to only do so for
    these ranges, which are the subset of the viewport that is
    actually drawn.
    */
  }, {
    key: "visibleRanges",
    get: function get() {
      return this.viewState.visibleRanges;
    }
    /**
    Returns false when the editor is entirely scrolled out of view
    or otherwise hidden.
    */
  }, {
    key: "inView",
    get: function get() {
      return this.viewState.inView;
    }
    /**
    Indicates whether the user is currently composing text via
    [IME](https://en.wikipedia.org/wiki/Input_method), and at least
    one change has been made in the current composition.
    */
  }, {
    key: "composing",
    get: function get() {
      return this.inputState.composing > 0;
    }
    /**
    Indicates whether the user is currently in composing state. Note
    that on some platforms, like Android, this will be the case a
    lot, since just putting the cursor on a word starts a
    composition there.
    */
  }, {
    key: "compositionStarted",
    get: function get() {
      return this.inputState.composing >= 0;
    }
    /**
    The document or shadow root that the view lives in.
    */
  }, {
    key: "root",
    get: function get() {
      return this._root;
    }
    /**
    @internal
    */
  }, {
    key: "win",
    get: function get() {
      return this.dom.ownerDocument.defaultView || window;
    }
  }, {
    key: "dispatch",
    value: function dispatch() {
      var _this$state;
      for (var _len = arguments.length, input = new Array(_len), _key = 0; _key < _len; _key++) {
        input[_key] = arguments[_key];
      }
      var trs = input.length == 1 && input[0] instanceof _state.Transaction ? input : input.length == 1 && Array.isArray(input[0]) ? input[0] : [(_this$state = this.state).update.apply(_this$state, input)];
      this.dispatchTransactions(trs, this);
    }
    /**
    Update the view for the given array of transactions. This will
    update the visible document and selection to match the state
    produced by the transactions, and notify view plugins of the
    change. You should usually call
    [`dispatch`](https://codemirror.net/6/docs/ref/#view.EditorView.dispatch) instead, which uses this
    as a primitive.
    */
  }, {
    key: "update",
    value: function update(transactions) {
      var _this37 = this;
      if (this.updateState != 0 /* UpdateState.Idle */) throw new Error("Calls to EditorView.update are not allowed while an update is in progress");
      var redrawn = false,
        attrsChanged = false,
        update;
      var state = this.state;
      var _iterator46 = _createForOfIteratorHelper(transactions),
        _step46;
      try {
        for (_iterator46.s(); !(_step46 = _iterator46.n()).done;) {
          var _tr = _step46.value;
          if (_tr.startState != state) throw new RangeError("Trying to update state with a transaction that doesn't start from the previous state.");
          state = _tr.state;
        }
      } catch (err) {
        _iterator46.e(err);
      } finally {
        _iterator46.f();
      }
      if (this.destroyed) {
        this.viewState.state = state;
        return;
      }
      var focus = this.hasFocus,
        focusFlag = 0,
        dispatchFocus = null;
      if (transactions.some(function (tr) {
        return tr.annotation(isFocusChange);
      })) {
        this.inputState.notifiedFocused = focus;
        // If a focus-change transaction is being dispatched, set this update flag.
        focusFlag = 1 /* UpdateFlag.Focus */;
      } else if (focus != this.inputState.notifiedFocused) {
        this.inputState.notifiedFocused = focus;
        // Schedule a separate focus transaction if necessary, otherwise
        // add a flag to this update
        dispatchFocus = focusChangeTransaction(state, focus);
        if (!dispatchFocus) focusFlag = 1 /* UpdateFlag.Focus */;
      }
      // If there was a pending DOM change, eagerly read it and try to
      // apply it after the given transactions.
      var pendingKey = this.observer.delayedAndroidKey,
        domChange = null;
      if (pendingKey) {
        this.observer.clearDelayedAndroidKey();
        domChange = this.observer.readChange();
        // Only try to apply DOM changes if the transactions didn't
        // change the doc or selection.
        if (domChange && !this.state.doc.eq(state.doc) || !this.state.selection.eq(state.selection)) domChange = null;
      } else {
        this.observer.clear();
      }
      // When the phrases change, redraw the editor
      if (state.facet(_state.EditorState.phrases) != this.state.facet(_state.EditorState.phrases)) return this.setState(state);
      update = ViewUpdate.create(this, state, transactions);
      update.flags |= focusFlag;
      var scrollTarget = this.viewState.scrollTarget;
      try {
        this.updateState = 2 /* UpdateState.Updating */;
        var _iterator47 = _createForOfIteratorHelper(transactions),
          _step47;
        try {
          for (_iterator47.s(); !(_step47 = _iterator47.n()).done;) {
            var tr = _step47.value;
            if (scrollTarget) scrollTarget = scrollTarget.map(tr.changes);
            if (tr.scrollIntoView) {
              var main = tr.state.selection.main;
              scrollTarget = new ScrollTarget(main.empty ? main : _state.EditorSelection.cursor(main.head, main.head > main.anchor ? -1 : 1));
            }
            var _iterator48 = _createForOfIteratorHelper(tr.effects),
              _step48;
            try {
              for (_iterator48.s(); !(_step48 = _iterator48.n()).done;) {
                var e = _step48.value;
                if (e.is(_scrollIntoView2)) scrollTarget = e.value.clip(this.state);
              }
            } catch (err) {
              _iterator48.e(err);
            } finally {
              _iterator48.f();
            }
          }
        } catch (err) {
          _iterator47.e(err);
        } finally {
          _iterator47.f();
        }
        this.viewState.update(update, scrollTarget);
        this.bidiCache = CachedOrder.update(this.bidiCache, update.changes);
        if (!update.empty) {
          this.updatePlugins(update);
          this.inputState.update(update);
        }
        redrawn = this.docView.update(update);
        if (this.state.facet(styleModule) != this.styleModules) this.mountStyles();
        attrsChanged = this.updateAttrs();
        this.showAnnouncements(transactions);
        this.docView.updateSelection(redrawn, transactions.some(function (tr) {
          return tr.isUserEvent("select.pointer");
        }));
      } finally {
        this.updateState = 0 /* UpdateState.Idle */;
      }
      if (update.startState.facet(_theme) != update.state.facet(_theme)) this.viewState.mustMeasureContent = true;
      if (redrawn || attrsChanged || scrollTarget || this.viewState.mustEnforceCursorAssoc || this.viewState.mustMeasureContent) this.requestMeasure();
      if (redrawn) this.docViewUpdate();
      if (!update.empty) {
        var _iterator49 = _createForOfIteratorHelper(this.state.facet(updateListener)),
          _step49;
        try {
          for (_iterator49.s(); !(_step49 = _iterator49.n()).done;) {
            var listener = _step49.value;
            try {
              listener(update);
            } catch (e) {
              logException(this.state, e, "update listener");
            }
          }
        } catch (err) {
          _iterator49.e(err);
        } finally {
          _iterator49.f();
        }
      }
      if (dispatchFocus || domChange) Promise.resolve().then(function () {
        if (dispatchFocus && _this37.state == dispatchFocus.startState) _this37.dispatch(dispatchFocus);
        if (domChange) {
          if (!applyDOMChange(_this37, domChange) && pendingKey.force) dispatchKey(_this37.contentDOM, pendingKey.key, pendingKey.keyCode);
        }
      });
    }
    /**
    Reset the view to the given state. (This will cause the entire
    document to be redrawn and all view plugins to be reinitialized,
    so you should probably only use it when the new state isn't
    derived from the old state. Otherwise, use
    [`dispatch`](https://codemirror.net/6/docs/ref/#view.EditorView.dispatch) instead.)
    */
  }, {
    key: "setState",
    value: function setState(newState) {
      if (this.updateState != 0 /* UpdateState.Idle */) throw new Error("Calls to EditorView.setState are not allowed while an update is in progress");
      if (this.destroyed) {
        this.viewState.state = newState;
        return;
      }
      this.updateState = 2 /* UpdateState.Updating */;
      var hadFocus = this.hasFocus;
      try {
        var _iterator50 = _createForOfIteratorHelper(this.plugins),
          _step50;
        try {
          for (_iterator50.s(); !(_step50 = _iterator50.n()).done;) {
            var _plugin5 = _step50.value;
            _plugin5.destroy(this);
          }
        } catch (err) {
          _iterator50.e(err);
        } finally {
          _iterator50.f();
        }
        this.viewState = new ViewState(newState);
        this.plugins = newState.facet(viewPlugin).map(function (spec) {
          return new PluginInstance(spec);
        });
        this.pluginMap.clear();
        var _iterator51 = _createForOfIteratorHelper(this.plugins),
          _step51;
        try {
          for (_iterator51.s(); !(_step51 = _iterator51.n()).done;) {
            var _plugin6 = _step51.value;
            _plugin6.update(this);
          }
        } catch (err) {
          _iterator51.e(err);
        } finally {
          _iterator51.f();
        }
        this.docView.destroy();
        this.docView = new DocView(this);
        this.inputState.ensureHandlers(this.plugins);
        this.mountStyles();
        this.updateAttrs();
        this.bidiCache = [];
      } finally {
        this.updateState = 0 /* UpdateState.Idle */;
      }
      if (hadFocus) this.focus();
      this.requestMeasure();
    }
  }, {
    key: "updatePlugins",
    value: function updatePlugins(update) {
      var prevSpecs = update.startState.facet(viewPlugin),
        specs = update.state.facet(viewPlugin);
      if (prevSpecs != specs) {
        var newPlugins = [];
        var _iterator52 = _createForOfIteratorHelper(specs),
          _step52;
        try {
          for (_iterator52.s(); !(_step52 = _iterator52.n()).done;) {
            var spec = _step52.value;
            var found = prevSpecs.indexOf(spec);
            if (found < 0) {
              newPlugins.push(new PluginInstance(spec));
            } else {
              var _plugin7 = this.plugins[found];
              _plugin7.mustUpdate = update;
              newPlugins.push(_plugin7);
            }
          }
        } catch (err) {
          _iterator52.e(err);
        } finally {
          _iterator52.f();
        }
        var _iterator53 = _createForOfIteratorHelper(this.plugins),
          _step53;
        try {
          for (_iterator53.s(); !(_step53 = _iterator53.n()).done;) {
            var _plugin8 = _step53.value;
            if (_plugin8.mustUpdate != update) _plugin8.destroy(this);
          }
        } catch (err) {
          _iterator53.e(err);
        } finally {
          _iterator53.f();
        }
        this.plugins = newPlugins;
        this.pluginMap.clear();
      } else {
        var _iterator54 = _createForOfIteratorHelper(this.plugins),
          _step54;
        try {
          for (_iterator54.s(); !(_step54 = _iterator54.n()).done;) {
            var _p = _step54.value;
            _p.mustUpdate = update;
          }
        } catch (err) {
          _iterator54.e(err);
        } finally {
          _iterator54.f();
        }
      }
      for (var i = 0; i < this.plugins.length; i++) this.plugins[i].update(this);
      if (prevSpecs != specs) this.inputState.ensureHandlers(this.plugins);
    }
  }, {
    key: "docViewUpdate",
    value: function docViewUpdate() {
      var _iterator55 = _createForOfIteratorHelper(this.plugins),
        _step55;
      try {
        for (_iterator55.s(); !(_step55 = _iterator55.n()).done;) {
          var _plugin9 = _step55.value;
          var val = _plugin9.value;
          if (val && val.docViewUpdate) {
            try {
              val.docViewUpdate(this);
            } catch (e) {
              logException(this.state, e, "doc view update listener");
            }
          }
        }
      } catch (err) {
        _iterator55.e(err);
      } finally {
        _iterator55.f();
      }
    }
    /**
    @internal
    */
  }, {
    key: "measure",
    value: function measure() {
      var _this38 = this;
      var flush = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
      if (this.destroyed) return;
      if (this.measureScheduled > -1) this.win.cancelAnimationFrame(this.measureScheduled);
      if (this.observer.delayedAndroidKey) {
        this.measureScheduled = -1;
        this.requestMeasure();
        return;
      }
      this.measureScheduled = 0; // Prevent requestMeasure calls from scheduling another animation frame
      if (flush) this.observer.forceFlush();
      var updated = null;
      var sDOM = this.scrollDOM,
        scrollTop = sDOM.scrollTop * this.scaleY;
      var _this$viewState = this.viewState,
        scrollAnchorPos = _this$viewState.scrollAnchorPos,
        scrollAnchorHeight = _this$viewState.scrollAnchorHeight;
      if (Math.abs(scrollTop - this.viewState.scrollTop) > 1) scrollAnchorHeight = -1;
      this.viewState.scrollAnchorHeight = -1;
      try {
        for (var i = 0;; i++) {
          if (scrollAnchorHeight < 0) {
            if (isScrolledToBottom(sDOM)) {
              scrollAnchorPos = -1;
              scrollAnchorHeight = this.viewState.heightMap.height;
            } else {
              var block = this.viewState.scrollAnchorAt(scrollTop);
              scrollAnchorPos = block.from;
              scrollAnchorHeight = block.top;
            }
          }
          this.updateState = 1 /* UpdateState.Measuring */;
          var changed = this.viewState.measure(this);
          if (!changed && !this.measureRequests.length && this.viewState.scrollTarget == null) break;
          if (i > 5) {
            console.warn(this.measureRequests.length ? "Measure loop restarted more than 5 times" : "Viewport failed to stabilize");
            break;
          }
          var measuring = [];
          // Only run measure requests in this cycle when the viewport didn't change
          if (!(changed & 4 /* UpdateFlag.Viewport */)) {
            var _ref9 = [measuring, this.measureRequests];
            this.measureRequests = _ref9[0];
            measuring = _ref9[1];
          }
          var measured = measuring.map(function (m) {
            try {
              return m.read(_this38);
            } catch (e) {
              logException(_this38.state, e);
              return BadMeasure;
            }
          });
          var update = ViewUpdate.create(this, this.state, []),
            redrawn = false;
          update.flags |= changed;
          if (!updated) updated = update;else updated.flags |= changed;
          this.updateState = 2 /* UpdateState.Updating */;
          if (!update.empty) {
            this.updatePlugins(update);
            this.inputState.update(update);
            this.updateAttrs();
            redrawn = this.docView.update(update);
            if (redrawn) this.docViewUpdate();
          }
          for (var _i9 = 0; _i9 < measuring.length; _i9++) if (measured[_i9] != BadMeasure) {
            try {
              var m = measuring[_i9];
              if (m.write) m.write(measured[_i9], this);
            } catch (e) {
              logException(this.state, e);
            }
          }
          if (redrawn) this.docView.updateSelection(true);
          if (!update.viewportChanged && this.measureRequests.length == 0) {
            if (this.viewState.editorHeight) {
              if (this.viewState.scrollTarget) {
                this.docView.scrollIntoView(this.viewState.scrollTarget);
                this.viewState.scrollTarget = null;
                scrollAnchorHeight = -1;
                continue;
              } else {
                var newAnchorHeight = scrollAnchorPos < 0 ? this.viewState.heightMap.height : this.viewState.lineBlockAt(scrollAnchorPos).top;
                var diff = newAnchorHeight - scrollAnchorHeight;
                if (diff > 1 || diff < -1) {
                  scrollTop = scrollTop + diff;
                  sDOM.scrollTop = scrollTop / this.scaleY;
                  scrollAnchorHeight = -1;
                  continue;
                }
              }
            }
            break;
          }
        }
      } finally {
        this.updateState = 0 /* UpdateState.Idle */;
        this.measureScheduled = -1;
      }
      if (updated && !updated.empty) {
        var _iterator56 = _createForOfIteratorHelper(this.state.facet(updateListener)),
          _step56;
        try {
          for (_iterator56.s(); !(_step56 = _iterator56.n()).done;) {
            var listener = _step56.value;
            listener(updated);
          }
        } catch (err) {
          _iterator56.e(err);
        } finally {
          _iterator56.f();
        }
      }
    }
    /**
    Get the CSS classes for the currently active editor themes.
    */
  }, {
    key: "themeClasses",
    get: function get() {
      return baseThemeID + " " + (this.state.facet(darkTheme) ? baseDarkID : baseLightID) + " " + this.state.facet(_theme);
    }
  }, {
    key: "updateAttrs",
    value: function updateAttrs() {
      var _this39 = this;
      var editorAttrs = attrsFromFacet(this, editorAttributes, {
        "class": "cm-editor" + (this.hasFocus ? " cm-focused " : " ") + this.themeClasses
      });
      var contentAttrs = {
        spellcheck: "false",
        autocorrect: "off",
        autocapitalize: "off",
        translate: "no",
        contenteditable: !this.state.facet(editable) ? "false" : "true",
        "class": "cm-content",
        style: "".concat(browser.tabSize, ": ").concat(this.state.tabSize),
        role: "textbox",
        "aria-multiline": "true"
      };
      if (this.state.readOnly) contentAttrs["aria-readonly"] = "true";
      attrsFromFacet(this, contentAttributes, contentAttrs);
      var changed = this.observer.ignore(function () {
        var changedContent = _updateAttrs(_this39.contentDOM, _this39.contentAttrs, contentAttrs);
        var changedEditor = _updateAttrs(_this39.dom, _this39.editorAttrs, editorAttrs);
        return changedContent || changedEditor;
      });
      this.editorAttrs = editorAttrs;
      this.contentAttrs = contentAttrs;
      return changed;
    }
  }, {
    key: "showAnnouncements",
    value: function showAnnouncements(trs) {
      var first = true;
      var _iterator57 = _createForOfIteratorHelper(trs),
        _step57;
      try {
        for (_iterator57.s(); !(_step57 = _iterator57.n()).done;) {
          var tr = _step57.value;
          var _iterator58 = _createForOfIteratorHelper(tr.effects),
            _step58;
          try {
            for (_iterator58.s(); !(_step58 = _iterator58.n()).done;) {
              var effect = _step58.value;
              if (effect.is(EditorView.announce)) {
                if (first) this.announceDOM.textContent = "";
                first = false;
                var div = this.announceDOM.appendChild(document.createElement("div"));
                div.textContent = effect.value;
              }
            }
          } catch (err) {
            _iterator58.e(err);
          } finally {
            _iterator58.f();
          }
        }
      } catch (err) {
        _iterator57.e(err);
      } finally {
        _iterator57.f();
      }
    }
  }, {
    key: "mountStyles",
    value: function mountStyles() {
      this.styleModules = this.state.facet(styleModule);
      var nonce = this.state.facet(EditorView.cspNonce);
      _styleMod.StyleModule.mount(this.root, this.styleModules.concat(baseTheme$1).reverse(), nonce ? {
        nonce: nonce
      } : undefined);
    }
  }, {
    key: "readMeasured",
    value: function readMeasured() {
      if (this.updateState == 2 /* UpdateState.Updating */) throw new Error("Reading the editor layout isn't allowed during an update");
      if (this.updateState == 0 /* UpdateState.Idle */ && this.measureScheduled > -1) this.measure(false);
    }
    /**
    Schedule a layout measurement, optionally providing callbacks to
    do custom DOM measuring followed by a DOM write phase. Using
    this is preferable reading DOM layout directly from, for
    example, an event handler, because it'll make sure measuring and
    drawing done by other components is synchronized, avoiding
    unnecessary DOM layout computations.
    */
  }, {
    key: "requestMeasure",
    value: function requestMeasure(request) {
      var _this40 = this;
      if (this.measureScheduled < 0) this.measureScheduled = this.win.requestAnimationFrame(function () {
        return _this40.measure();
      });
      if (request) {
        if (this.measureRequests.indexOf(request) > -1) return;
        if (request.key != null) for (var i = 0; i < this.measureRequests.length; i++) {
          if (this.measureRequests[i].key === request.key) {
            this.measureRequests[i] = request;
            return;
          }
        }
        this.measureRequests.push(request);
      }
    }
    /**
    Get the value of a specific plugin, if present. Note that
    plugins that crash can be dropped from a view, so even when you
    know you registered a given plugin, it is recommended to check
    the return value of this method.
    */
  }, {
    key: "plugin",
    value: function plugin(_plugin3) {
      var known = this.pluginMap.get(_plugin3);
      if (known === undefined || known && known.spec != _plugin3) this.pluginMap.set(_plugin3, known = this.plugins.find(function (p) {
        return p.spec == _plugin3;
      }) || null);
      return known && known.update(this).value;
    }
    /**
    The top position of the document, in screen coordinates. This
    may be negative when the editor is scrolled down. Points
    directly to the top of the first line, not above the padding.
    */
  }, {
    key: "documentTop",
    get: function get() {
      return this.contentDOM.getBoundingClientRect().top + this.viewState.paddingTop;
    }
    /**
    Reports the padding above and below the document.
    */
  }, {
    key: "documentPadding",
    get: function get() {
      return {
        top: this.viewState.paddingTop,
        bottom: this.viewState.paddingBottom
      };
    }
    /**
    If the editor is transformed with CSS, this provides the scale
    along the X axis. Otherwise, it will just be 1. Note that
    transforms other than translation and scaling are not supported.
    */
  }, {
    key: "scaleX",
    get: function get() {
      return this.viewState.scaleX;
    }
    /**
    Provide the CSS transformed scale along the Y axis.
    */
  }, {
    key: "scaleY",
    get: function get() {
      return this.viewState.scaleY;
    }
    /**
    Find the text line or block widget at the given vertical
    position (which is interpreted as relative to the [top of the
    document](https://codemirror.net/6/docs/ref/#view.EditorView.documentTop)).
    */
  }, {
    key: "elementAtHeight",
    value: function elementAtHeight(height) {
      this.readMeasured();
      return this.viewState.elementAtHeight(height);
    }
    /**
    Find the line block (see
    [`lineBlockAt`](https://codemirror.net/6/docs/ref/#view.EditorView.lineBlockAt) at the given
    height, again interpreted relative to the [top of the
    document](https://codemirror.net/6/docs/ref/#view.EditorView.documentTop).
    */
  }, {
    key: "lineBlockAtHeight",
    value: function lineBlockAtHeight(height) {
      this.readMeasured();
      return this.viewState.lineBlockAtHeight(height);
    }
    /**
    Get the extent and vertical position of all [line
    blocks](https://codemirror.net/6/docs/ref/#view.EditorView.lineBlockAt) in the viewport. Positions
    are relative to the [top of the
    document](https://codemirror.net/6/docs/ref/#view.EditorView.documentTop);
    */
  }, {
    key: "viewportLineBlocks",
    get: function get() {
      return this.viewState.viewportLines;
    }
    /**
    Find the line block around the given document position. A line
    block is a range delimited on both sides by either a
    non-[hidden](https://codemirror.net/6/docs/ref/#view.Decoration^replace) line breaks, or the
    start/end of the document. It will usually just hold a line of
    text, but may be broken into multiple textblocks by block
    widgets.
    */
  }, {
    key: "lineBlockAt",
    value: function lineBlockAt(pos) {
      return this.viewState.lineBlockAt(pos);
    }
    /**
    The editor's total content height.
    */
  }, {
    key: "contentHeight",
    get: function get() {
      return this.viewState.contentHeight;
    }
    /**
    Move a cursor position by [grapheme
    cluster](https://codemirror.net/6/docs/ref/#state.findClusterBreak). `forward` determines whether
    the motion is away from the line start, or towards it. In
    bidirectional text, the line is traversed in visual order, using
    the editor's [text direction](https://codemirror.net/6/docs/ref/#view.EditorView.textDirection).
    When the start position was the last one on the line, the
    returned position will be across the line break. If there is no
    further line, the original position is returned.
    
    By default, this method moves over a single cluster. The
    optional `by` argument can be used to move across more. It will
    be called with the first cluster as argument, and should return
    a predicate that determines, for each subsequent cluster,
    whether it should also be moved over.
    */
  }, {
    key: "moveByChar",
    value: function moveByChar(start, forward, by) {
      return skipAtoms(this, start, _moveByChar(this, start, forward, by));
    }
    /**
    Move a cursor position across the next group of either
    [letters](https://codemirror.net/6/docs/ref/#state.EditorState.charCategorizer) or non-letter
    non-whitespace characters.
    */
  }, {
    key: "moveByGroup",
    value: function moveByGroup(start, forward) {
      var _this41 = this;
      return skipAtoms(this, start, _moveByChar(this, start, forward, function (initial) {
        return byGroup(_this41, start.head, initial);
      }));
    }
    /**
    Get the cursor position visually at the start or end of a line.
    Note that this may differ from the _logical_ position at its
    start or end (which is simply at `line.from`/`line.to`) if text
    at the start or end goes against the line's base text direction.
    */
  }, {
    key: "visualLineSide",
    value: function visualLineSide(line, end) {
      var order = this.bidiSpans(line),
        dir = this.textDirectionAt(line.from);
      var span = order[end ? order.length - 1 : 0];
      return _state.EditorSelection.cursor(span.side(end, dir) + line.from, span.forward(!end, dir) ? 1 : -1);
    }
    /**
    Move to the next line boundary in the given direction. If
    `includeWrap` is true, line wrapping is on, and there is a
    further wrap point on the current line, the wrap point will be
    returned. Otherwise this function will return the start or end
    of the line.
    */
  }, {
    key: "moveToLineBoundary",
    value: function moveToLineBoundary(start, forward) {
      var includeWrap = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
      return _moveToLineBoundary(this, start, forward, includeWrap);
    }
    /**
    Move a cursor position vertically. When `distance` isn't given,
    it defaults to moving to the next line (including wrapped
    lines). Otherwise, `distance` should provide a positive distance
    in pixels.
    
    When `start` has a
    [`goalColumn`](https://codemirror.net/6/docs/ref/#state.SelectionRange.goalColumn), the vertical
    motion will use that as a target horizontal position. Otherwise,
    the cursor's own horizontal position is used. The returned
    cursor will have its goal column set to whichever column was
    used.
    */
  }, {
    key: "moveVertically",
    value: function moveVertically(start, forward, distance) {
      return skipAtoms(this, start, _moveVertically(this, start, forward, distance));
    }
    /**
    Find the DOM parent node and offset (child offset if `node` is
    an element, character offset when it is a text node) at the
    given document position.
    
    Note that for positions that aren't currently in
    `visibleRanges`, the resulting DOM position isn't necessarily
    meaningful (it may just point before or after a placeholder
    element).
    */
  }, {
    key: "domAtPos",
    value: function domAtPos(pos) {
      return this.docView.domAtPos(pos);
    }
    /**
    Find the document position at the given DOM node. Can be useful
    for associating positions with DOM events. Will raise an error
    when `node` isn't part of the editor content.
    */
  }, {
    key: "posAtDOM",
    value: function posAtDOM(node) {
      var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
      return this.docView.posFromDOM(node, offset);
    }
  }, {
    key: "posAtCoords",
    value: function posAtCoords(coords) {
      var precise = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
      this.readMeasured();
      return _posAtCoords(this, coords, precise);
    }
    /**
    Get the screen coordinates at the given document position.
    `side` determines whether the coordinates are based on the
    element before (-1) or after (1) the position (if no element is
    available on the given side, the method will transparently use
    another strategy to get reasonable coordinates).
    */
  }, {
    key: "coordsAtPos",
    value: function coordsAtPos(pos) {
      var side = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
      this.readMeasured();
      var rect = this.docView.coordsAt(pos, side);
      if (!rect || rect.left == rect.right) return rect;
      var line = this.state.doc.lineAt(pos),
        order = this.bidiSpans(line);
      var span = order[BidiSpan.find(order, pos - line.from, -1, side)];
      return flattenRect(rect, span.dir == Direction.LTR == side > 0);
    }
    /**
    Return the rectangle around a given character. If `pos` does not
    point in front of a character that is in the viewport and
    rendered (i.e. not replaced, not a line break), this will return
    null. For space characters that are a line wrap point, this will
    return the position before the line break.
    */
  }, {
    key: "coordsForChar",
    value: function coordsForChar(pos) {
      this.readMeasured();
      return this.docView.coordsForChar(pos);
    }
    /**
    The default width of a character in the editor. May not
    accurately reflect the width of all characters (given variable
    width fonts or styling of invididual ranges).
    */
  }, {
    key: "defaultCharacterWidth",
    get: function get() {
      return this.viewState.heightOracle.charWidth;
    }
    /**
    The default height of a line in the editor. May not be accurate
    for all lines.
    */
  }, {
    key: "defaultLineHeight",
    get: function get() {
      return this.viewState.heightOracle.lineHeight;
    }
    /**
    The text direction
    ([`direction`](https://developer.mozilla.org/en-US/docs/Web/CSS/direction)
    CSS property) of the editor's content element.
    */
  }, {
    key: "textDirection",
    get: function get() {
      return this.viewState.defaultTextDirection;
    }
    /**
    Find the text direction of the block at the given position, as
    assigned by CSS. If
    [`perLineTextDirection`](https://codemirror.net/6/docs/ref/#view.EditorView^perLineTextDirection)
    isn't enabled, or the given position is outside of the viewport,
    this will always return the same as
    [`textDirection`](https://codemirror.net/6/docs/ref/#view.EditorView.textDirection). Note that
    this may trigger a DOM layout.
    */
  }, {
    key: "textDirectionAt",
    value: function textDirectionAt(pos) {
      var perLine = this.state.facet(perLineTextDirection);
      if (!perLine || pos < this.viewport.from || pos > this.viewport.to) return this.textDirection;
      this.readMeasured();
      return this.docView.textDirectionAt(pos);
    }
    /**
    Whether this editor [wraps lines](https://codemirror.net/6/docs/ref/#view.EditorView.lineWrapping)
    (as determined by the
    [`white-space`](https://developer.mozilla.org/en-US/docs/Web/CSS/white-space)
    CSS property of its content element).
    */
  }, {
    key: "lineWrapping",
    get: function get() {
      return this.viewState.heightOracle.lineWrapping;
    }
    /**
    Returns the bidirectional text structure of the given line
    (which should be in the current document) as an array of span
    objects. The order of these spans matches the [text
    direction](https://codemirror.net/6/docs/ref/#view.EditorView.textDirection)—if that is
    left-to-right, the leftmost spans come first, otherwise the
    rightmost spans come first.
    */
  }, {
    key: "bidiSpans",
    value: function bidiSpans(line) {
      if (line.length > MaxBidiLine) return trivialOrder(line.length);
      var dir = this.textDirectionAt(line.from),
        isolates;
      var _iterator59 = _createForOfIteratorHelper(this.bidiCache),
        _step59;
      try {
        for (_iterator59.s(); !(_step59 = _iterator59.n()).done;) {
          var entry = _step59.value;
          if (entry.from == line.from && entry.dir == dir && (entry.fresh || isolatesEq(entry.isolates, isolates = getIsolatedRanges(this, line)))) return entry.order;
        }
      } catch (err) {
        _iterator59.e(err);
      } finally {
        _iterator59.f();
      }
      if (!isolates) isolates = getIsolatedRanges(this, line);
      var order = computeOrder(line.text, dir, isolates);
      this.bidiCache.push(new CachedOrder(line.from, line.to, dir, isolates, true, order));
      return order;
    }
    /**
    Check whether the editor has focus.
    */
  }, {
    key: "hasFocus",
    get: function get() {
      var _a;
      // Safari return false for hasFocus when the context menu is open
      // or closing, which leads us to ignore selection changes from the
      // context menu because it looks like the editor isn't focused.
      // This kludges around that.
      return (this.dom.ownerDocument.hasFocus() || browser.safari && ((_a = this.inputState) === null || _a === void 0 ? void 0 : _a.lastContextMenu) > Date.now() - 3e4) && this.root.activeElement == this.contentDOM;
    }
    /**
    Put focus on the editor.
    */
  }, {
    key: "focus",
    value: function focus() {
      var _this42 = this;
      this.observer.ignore(function () {
        focusPreventScroll(_this42.contentDOM);
        _this42.docView.updateSelection();
      });
    }
    /**
    Update the [root](https://codemirror.net/6/docs/ref/##view.EditorViewConfig.root) in which the editor lives. This is only
    necessary when moving the editor's existing DOM to a new window or shadow root.
    */
  }, {
    key: "setRoot",
    value: function setRoot(root) {
      if (this._root != root) {
        this._root = root;
        this.observer.setWindow((root.nodeType == 9 ? root : root.ownerDocument).defaultView || window);
        this.mountStyles();
      }
    }
    /**
    Clean up this editor view, removing its element from the
    document, unregistering event handlers, and notifying
    plugins. The view instance can no longer be used after
    calling this.
    */
  }, {
    key: "destroy",
    value: function destroy() {
      var _iterator60 = _createForOfIteratorHelper(this.plugins),
        _step60;
      try {
        for (_iterator60.s(); !(_step60 = _iterator60.n()).done;) {
          var _plugin10 = _step60.value;
          _plugin10.destroy(this);
        }
      } catch (err) {
        _iterator60.e(err);
      } finally {
        _iterator60.f();
      }
      this.plugins = [];
      this.inputState.destroy();
      this.docView.destroy();
      this.dom.remove();
      this.observer.destroy();
      if (this.measureScheduled > -1) this.win.cancelAnimationFrame(this.measureScheduled);
      this.destroyed = true;
    }
    /**
    Returns an effect that can be
    [added](https://codemirror.net/6/docs/ref/#state.TransactionSpec.effects) to a transaction to
    cause it to scroll the given position or range into view.
    */
  }, {
    key: "scrollSnapshot",
    value:
    /**
    Return an effect that resets the editor to its current (at the
    time this method was called) scroll position. Note that this
    only affects the editor's own scrollable element, not parents.
    See also
    [`EditorViewConfig.scrollTo`](https://codemirror.net/6/docs/ref/#view.EditorViewConfig.scrollTo).
    
    The effect should be used with a document identical to the one
    it was created for. Failing to do so is not an error, but may
    not scroll to the expected position. You can
    [map](https://codemirror.net/6/docs/ref/#state.StateEffect.map) the effect to account for changes.
    */
    function scrollSnapshot() {
      var _this$scrollDOM = this.scrollDOM,
        scrollTop = _this$scrollDOM.scrollTop,
        scrollLeft = _this$scrollDOM.scrollLeft;
      var ref = this.viewState.scrollAnchorAt(scrollTop);
      return _scrollIntoView2.of(new ScrollTarget(_state.EditorSelection.cursor(ref.from), "start", "start", ref.top - scrollTop, scrollLeft, true));
    }
    /**
    Returns an extension that can be used to add DOM event handlers.
    The value should be an object mapping event names to handler
    functions. For any given event, such functions are ordered by
    extension precedence, and the first handler to return true will
    be assumed to have handled that event, and no other handlers or
    built-in behavior will be activated for it. These are registered
    on the [content element](https://codemirror.net/6/docs/ref/#view.EditorView.contentDOM), except
    for `scroll` handlers, which will be called any time the
    editor's [scroll element](https://codemirror.net/6/docs/ref/#view.EditorView.scrollDOM) or one of
    its parent nodes is scrolled.
    */
  }], [{
    key: "scrollIntoView",
    value: function scrollIntoView(pos) {
      var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
      return _scrollIntoView2.of(new ScrollTarget(typeof pos == "number" ? _state.EditorSelection.cursor(pos) : pos, options.y, options.x, options.yMargin, options.xMargin));
    }
  }, {
    key: "domEventHandlers",
    value: function domEventHandlers(handlers) {
      return ViewPlugin.define(function () {
        return {};
      }, {
        eventHandlers: handlers
      });
    }
    /**
    Create an extension that registers DOM event observers. Contrary
    to event [handlers](https://codemirror.net/6/docs/ref/#view.EditorView^domEventHandlers),
    observers can't be prevented from running by a higher-precedence
    handler returning true. They also don't prevent other handlers
    and observers from running when they return true, and should not
    call `preventDefault`.
    */
  }, {
    key: "domEventObservers",
    value: function domEventObservers(observers) {
      return ViewPlugin.define(function () {
        return {};
      }, {
        eventObservers: observers
      });
    }
    /**
    Create a theme extension. The first argument can be a
    [`style-mod`](https://github.com/marijnh/style-mod#documentation)
    style spec providing the styles for the theme. These will be
    prefixed with a generated class for the style.
    
    Because the selectors will be prefixed with a scope class, rule
    that directly match the editor's [wrapper
    element](https://codemirror.net/6/docs/ref/#view.EditorView.dom)—to which the scope class will be
    added—need to be explicitly differentiated by adding an `&` to
    the selector for that element—for example
    `&.cm-focused`.
    
    When `dark` is set to true, the theme will be marked as dark,
    which will cause the `&dark` rules from [base
    themes](https://codemirror.net/6/docs/ref/#view.EditorView^baseTheme) to be used (as opposed to
    `&light` when a light theme is active).
    */
  }, {
    key: "theme",
    value: function theme(spec, options) {
      var prefix = _styleMod.StyleModule.newName();
      var result = [_theme.of(prefix), styleModule.of(buildTheme(".".concat(prefix), spec))];
      if (options && options.dark) result.push(darkTheme.of(true));
      return result;
    }
    /**
    Create an extension that adds styles to the base theme. Like
    with [`theme`](https://codemirror.net/6/docs/ref/#view.EditorView^theme), use `&` to indicate the
    place of the editor wrapper element when directly targeting
    that. You can also use `&dark` or `&light` instead to only
    target editors with a dark or light theme.
    */
  }, {
    key: "baseTheme",
    value: function baseTheme(spec) {
      return _state.Prec.lowest(styleModule.of(buildTheme("." + baseThemeID, spec, lightDarkIDs)));
    }
    /**
    Retrieve an editor view instance from the view's DOM
    representation.
    */
  }, {
    key: "findFromDOM",
    value: function findFromDOM(dom) {
      var _a;
      var content = dom.querySelector(".cm-content");
      var cView = content && ContentView.get(content) || ContentView.get(dom);
      return ((_a = cView === null || cView === void 0 ? void 0 : cView.rootView) === null || _a === void 0 ? void 0 : _a.view) || null;
    }
  }]);
}();
/**
Facet to add a [style
module](https://github.com/marijnh/style-mod#documentation) to
an editor view. The view will ensure that the module is
mounted in its [document
root](https://codemirror.net/6/docs/ref/#view.EditorView.constructor^config.root).
*/
EditorView.styleModule = styleModule;
/**
An input handler can override the way changes to the editable
DOM content are handled. Handlers are passed the document
positions between which the change was found, and the new
content. When one returns true, no further input handlers are
called and the default behavior is prevented.

The `insert` argument can be used to get the default transaction
that would be applied for this input. This can be useful when
dispatching the custom behavior as a separate transaction.
*/
EditorView.inputHandler = inputHandler;
/**
Scroll handlers can override how things are scrolled into view.
If they return `true`, no further handling happens for the
scrolling. If they return false, the default scroll behavior is
applied. Scroll handlers should never initiate editor updates.
*/
EditorView.scrollHandler = scrollHandler;
/**
This facet can be used to provide functions that create effects
to be dispatched when the editor's focus state changes.
*/
EditorView.focusChangeEffect = focusChangeEffect;
/**
By default, the editor assumes all its content has the same
[text direction](https://codemirror.net/6/docs/ref/#view.Direction). Configure this with a `true`
value to make it read the text direction of every (rendered)
line separately.
*/
EditorView.perLineTextDirection = perLineTextDirection;
/**
Allows you to provide a function that should be called when the
library catches an exception from an extension (mostly from view
plugins, but may be used by other extensions to route exceptions
from user-code-provided callbacks). This is mostly useful for
debugging and logging. See [`logException`](https://codemirror.net/6/docs/ref/#view.logException).
*/
EditorView.exceptionSink = exceptionSink;
/**
A facet that can be used to register a function to be called
every time the view updates.
*/
EditorView.updateListener = updateListener;
/**
Facet that controls whether the editor content DOM is editable.
When its highest-precedence value is `false`, the element will
not have its `contenteditable` attribute set. (Note that this
doesn't affect API calls that change the editor content, even
when those are bound to keys or buttons. See the
[`readOnly`](https://codemirror.net/6/docs/ref/#state.EditorState.readOnly) facet for that.)
*/
EditorView.editable = editable;
/**
Allows you to influence the way mouse selection happens. The
functions in this facet will be called for a `mousedown` event
on the editor, and can return an object that overrides the way a
selection is computed from that mouse click or drag.
*/
EditorView.mouseSelectionStyle = mouseSelectionStyle;
/**
Facet used to configure whether a given selection drag event
should move or copy the selection. The given predicate will be
called with the `mousedown` event, and can return `true` when
the drag should move the content.
*/
EditorView.dragMovesSelection = dragMovesSelection$1;
/**
Facet used to configure whether a given selecting click adds a
new range to the existing selection or replaces it entirely. The
default behavior is to check `event.metaKey` on macOS, and
`event.ctrlKey` elsewhere.
*/
EditorView.clickAddsSelectionRange = clickAddsSelectionRange;
/**
A facet that determines which [decorations](https://codemirror.net/6/docs/ref/#view.Decoration)
are shown in the view. Decorations can be provided in two
ways—directly, or via a function that takes an editor view.

Only decoration sets provided directly are allowed to influence
the editor's vertical layout structure. The ones provided as
functions are called _after_ the new viewport has been computed,
and thus **must not** introduce block widgets or replacing
decorations that cover line breaks.

If you want decorated ranges to behave like atomic units for
cursor motion and deletion purposes, also provide the range set
containing the decorations to
[`EditorView.atomicRanges`](https://codemirror.net/6/docs/ref/#view.EditorView^atomicRanges).
*/
EditorView.decorations = decorations;
/**
Facet that works much like
[`decorations`](https://codemirror.net/6/docs/ref/#view.EditorView^decorations), but puts its
inputs at the very bottom of the precedence stack, meaning mark
decorations provided here will only be split by other, partially
overlapping \`outerDecorations\` ranges, and wrap around all
regular decorations. Use this for mark elements that should, as
much as possible, remain in one piece.
*/
EditorView.outerDecorations = outerDecorations;
/**
Used to provide ranges that should be treated as atoms as far as
cursor motion is concerned. This causes methods like
[`moveByChar`](https://codemirror.net/6/docs/ref/#view.EditorView.moveByChar) and
[`moveVertically`](https://codemirror.net/6/docs/ref/#view.EditorView.moveVertically) (and the
commands built on top of them) to skip across such regions when
a selection endpoint would enter them. This does _not_ prevent
direct programmatic [selection
updates](https://codemirror.net/6/docs/ref/#state.TransactionSpec.selection) from moving into such
regions.
*/
EditorView.atomicRanges = atomicRanges;
/**
When range decorations add a `unicode-bidi: isolate` style, they
should also include a
[`bidiIsolate`](https://codemirror.net/6/docs/ref/#view.MarkDecorationSpec.bidiIsolate) property
in their decoration spec, and be exposed through this facet, so
that the editor can compute the proper text order. (Other values
for `unicode-bidi`, except of course `normal`, are not
supported.)
*/
EditorView.bidiIsolatedRanges = bidiIsolatedRanges;
/**
Facet that allows extensions to provide additional scroll
margins (space around the sides of the scrolling element that
should be considered invisible). This can be useful when the
plugin introduces elements that cover part of that element (for
example a horizontally fixed gutter).
*/
EditorView.scrollMargins = scrollMargins;
/**
This facet records whether a dark theme is active. The extension
returned by [`theme`](https://codemirror.net/6/docs/ref/#view.EditorView^theme) automatically
includes an instance of this when the `dark` option is set to
true.
*/
EditorView.darkTheme = darkTheme;
/**
Provides a Content Security Policy nonce to use when creating
the style sheets for the editor. Holds the empty string when no
nonce has been provided.
*/
EditorView.cspNonce = /*@__PURE__*/_state.Facet.define({
  combine: function combine(values) {
    return values.length ? values[0] : "";
  }
});
/**
Facet that provides additional DOM attributes for the editor's
editable DOM element.
*/
EditorView.contentAttributes = contentAttributes;
/**
Facet that provides DOM attributes for the editor's outer
element.
*/
EditorView.editorAttributes = editorAttributes;
/**
An extension that enables line wrapping in the editor (by
setting CSS `white-space` to `pre-wrap` in the content).
*/
EditorView.lineWrapping = /*@__PURE__*/EditorView.contentAttributes.of({
  "class": "cm-lineWrapping"
});
/**
State effect used to include screen reader announcements in a
transaction. These will be added to the DOM in a visually hidden
element with `aria-live="polite"` set, and should be used to
describe effects that are visually obvious but may not be
noticed by screen reader users (such as moving to the next
search match).
*/
EditorView.announce = /*@__PURE__*/_state.StateEffect.define();
// Maximum line length for which we compute accurate bidi info
var MaxBidiLine = 4096;
var BadMeasure = {};
var CachedOrder = /*#__PURE__*/function () {
  function CachedOrder(from, to, dir, isolates, fresh, order) {
    _classCallCheck(this, CachedOrder);
    this.from = from;
    this.to = to;
    this.dir = dir;
    this.isolates = isolates;
    this.fresh = fresh;
    this.order = order;
  }
  return _createClass(CachedOrder, null, [{
    key: "update",
    value: function update(cache, changes) {
      if (changes.empty && !cache.some(function (c) {
        return c.fresh;
      })) return cache;
      var result = [],
        lastDir = cache.length ? cache[cache.length - 1].dir : Direction.LTR;
      for (var i = Math.max(0, cache.length - 10); i < cache.length; i++) {
        var entry = cache[i];
        if (entry.dir == lastDir && !changes.touchesRange(entry.from, entry.to)) result.push(new CachedOrder(changes.mapPos(entry.from, 1), changes.mapPos(entry.to, -1), entry.dir, entry.isolates, false, entry.order));
      }
      return result;
    }
  }]);
}();
function attrsFromFacet(view, facet, base) {
  for (var sources = view.state.facet(facet), i = sources.length - 1; i >= 0; i--) {
    var source = sources[i],
      value = typeof source == "function" ? source(view) : source;
    if (value) combineAttrs(value, base);
  }
  return base;
}
var currentPlatform = browser.mac ? "mac" : browser.windows ? "win" : browser.linux ? "linux" : "key";
function normalizeKeyName(name, platform) {
  var parts = name.split(/-(?!$)/);
  var result = parts[parts.length - 1];
  if (result == "Space") result = " ";
  var alt, ctrl, shift, meta;
  for (var i = 0; i < parts.length - 1; ++i) {
    var mod = parts[i];
    if (/^(cmd|meta|m)$/i.test(mod)) meta = true;else if (/^a(lt)?$/i.test(mod)) alt = true;else if (/^(c|ctrl|control)$/i.test(mod)) ctrl = true;else if (/^s(hift)?$/i.test(mod)) shift = true;else if (/^mod$/i.test(mod)) {
      if (platform == "mac") meta = true;else ctrl = true;
    } else throw new Error("Unrecognized modifier name: " + mod);
  }
  if (alt) result = "Alt-" + result;
  if (ctrl) result = "Ctrl-" + result;
  if (meta) result = "Meta-" + result;
  if (shift) result = "Shift-" + result;
  return result;
}
function modifiers(name, event, shift) {
  if (event.altKey) name = "Alt-" + name;
  if (event.ctrlKey) name = "Ctrl-" + name;
  if (event.metaKey) name = "Meta-" + name;
  if (shift !== false && event.shiftKey) name = "Shift-" + name;
  return name;
}
var handleKeyEvents = /*@__PURE__*/_state.Prec["default"]( /*@__PURE__*/EditorView.domEventHandlers({
  keydown: function keydown(event, view) {
    return runHandlers(getKeymap(view.state), event, view, "editor");
  }
}));
/**
Facet used for registering keymaps.

You can add multiple keymaps to an editor. Their priorities
determine their precedence (the ones specified early or with high
priority get checked first). When a handler has returned `true`
for a given key, no further handlers are called.
*/
var keymap = exports.keymap = /*@__PURE__*/_state.Facet.define({
  enables: handleKeyEvents
});
var Keymaps = /*@__PURE__*/new WeakMap();
// This is hidden behind an indirection, rather than directly computed
// by the facet, to keep internal types out of the facet's type.
function getKeymap(state) {
  var bindings = state.facet(keymap);
  var map = Keymaps.get(bindings);
  if (!map) Keymaps.set(bindings, map = buildKeymap(bindings.reduce(function (a, b) {
    return a.concat(b);
  }, [])));
  return map;
}
/**
Run the key handlers registered for a given scope. The event
object should be a `"keydown"` event. Returns true if any of the
handlers handled it.
*/
function runScopeHandlers(view, event, scope) {
  return runHandlers(getKeymap(view.state), event, view, scope);
}
var storedPrefix = null;
var PrefixTimeout = 4000;
function buildKeymap(bindings) {
  var platform = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : currentPlatform;
  var bound = Object.create(null);
  var isPrefix = Object.create(null);
  var checkPrefix = function checkPrefix(name, is) {
    var current = isPrefix[name];
    if (current == null) isPrefix[name] = is;else if (current != is) throw new Error("Key binding " + name + " is used both as a regular binding and as a multi-stroke prefix");
  };
  var add = function add(scope, key, command, preventDefault, stopPropagation) {
    var _a, _b;
    var scopeObj = bound[scope] || (bound[scope] = Object.create(null));
    var parts = key.split(/ (?!$)/).map(function (k) {
      return normalizeKeyName(k, platform);
    });
    var _loop4 = function _loop4() {
      var prefix = parts.slice(0, i).join(" ");
      checkPrefix(prefix, true);
      if (!scopeObj[prefix]) scopeObj[prefix] = {
        preventDefault: true,
        stopPropagation: false,
        run: [function (view) {
          var ourObj = storedPrefix = {
            view: view,
            prefix: prefix,
            scope: scope
          };
          setTimeout(function () {
            if (storedPrefix == ourObj) storedPrefix = null;
          }, PrefixTimeout);
          return true;
        }]
      };
    };
    for (var i = 1; i < parts.length; i++) {
      _loop4();
    }
    var full = parts.join(" ");
    checkPrefix(full, false);
    var binding = scopeObj[full] || (scopeObj[full] = {
      preventDefault: false,
      stopPropagation: false,
      run: ((_b = (_a = scopeObj._any) === null || _a === void 0 ? void 0 : _a.run) === null || _b === void 0 ? void 0 : _b.slice()) || []
    });
    if (command) binding.run.push(command);
    if (preventDefault) binding.preventDefault = true;
    if (stopPropagation) binding.stopPropagation = true;
  };
  var _iterator61 = _createForOfIteratorHelper(bindings),
    _step61;
  try {
    for (_iterator61.s(); !(_step61 = _iterator61.n()).done;) {
      var b = _step61.value;
      var scopes = b.scope ? b.scope.split(" ") : ["editor"];
      if (b.any) {
        var _iterator62 = _createForOfIteratorHelper(scopes),
          _step62;
        try {
          for (_iterator62.s(); !(_step62 = _iterator62.n()).done;) {
            var scope = _step62.value;
            var scopeObj = bound[scope] || (bound[scope] = Object.create(null));
            if (!scopeObj._any) scopeObj._any = {
              preventDefault: false,
              stopPropagation: false,
              run: []
            };
            for (var key in scopeObj) scopeObj[key].run.push(b.any);
          }
        } catch (err) {
          _iterator62.e(err);
        } finally {
          _iterator62.f();
        }
      }
      var name = b[platform] || b.key;
      if (!name) continue;
      var _iterator63 = _createForOfIteratorHelper(scopes),
        _step63;
      try {
        for (_iterator63.s(); !(_step63 = _iterator63.n()).done;) {
          var _scope = _step63.value;
          add(_scope, name, b.run, b.preventDefault, b.stopPropagation);
          if (b.shift) add(_scope, "Shift-" + name, b.shift, b.preventDefault, b.stopPropagation);
        }
      } catch (err) {
        _iterator63.e(err);
      } finally {
        _iterator63.f();
      }
    }
  } catch (err) {
    _iterator61.e(err);
  } finally {
    _iterator61.f();
  }
  return bound;
}
function runHandlers(map, event, view, scope) {
  var name = (0, _w3cKeyname.keyName)(event);
  var charCode = (0, _state.codePointAt)(name, 0),
    isChar = (0, _state.codePointSize)(charCode) == name.length && name != " ";
  var prefix = "",
    handled = false,
    prevented = false,
    stopPropagation = false;
  if (storedPrefix && storedPrefix.view == view && storedPrefix.scope == scope) {
    prefix = storedPrefix.prefix + " ";
    if (modifierCodes.indexOf(event.keyCode) < 0) {
      prevented = true;
      storedPrefix = null;
    }
  }
  var ran = new Set();
  var runFor = function runFor(binding) {
    if (binding) {
      var _iterator64 = _createForOfIteratorHelper(binding.run),
        _step64;
      try {
        for (_iterator64.s(); !(_step64 = _iterator64.n()).done;) {
          var cmd = _step64.value;
          if (!ran.has(cmd)) {
            ran.add(cmd);
            if (cmd(view, event)) {
              if (binding.stopPropagation) stopPropagation = true;
              return true;
            }
          }
        }
      } catch (err) {
        _iterator64.e(err);
      } finally {
        _iterator64.f();
      }
      if (binding.preventDefault) {
        if (binding.stopPropagation) stopPropagation = true;
        prevented = true;
      }
    }
    return false;
  };
  var scopeObj = map[scope],
    baseName,
    shiftName;
  if (scopeObj) {
    if (runFor(scopeObj[prefix + modifiers(name, event, !isChar)])) {
      handled = true;
    } else if (isChar && (event.altKey || event.metaKey || event.ctrlKey) &&
    // Ctrl-Alt may be used for AltGr on Windows
    !(browser.windows && event.ctrlKey && event.altKey) && (baseName = _w3cKeyname.base[event.keyCode]) && baseName != name) {
      if (runFor(scopeObj[prefix + modifiers(baseName, event, true)])) {
        handled = true;
      } else if (event.shiftKey && (shiftName = _w3cKeyname.shift[event.keyCode]) != name && shiftName != baseName && runFor(scopeObj[prefix + modifiers(shiftName, event, false)])) {
        handled = true;
      }
    } else if (isChar && event.shiftKey && runFor(scopeObj[prefix + modifiers(name, event, true)])) {
      handled = true;
    }
    if (!handled && runFor(scopeObj._any)) handled = true;
  }
  if (prevented) handled = true;
  if (handled && stopPropagation) event.stopPropagation();
  return handled;
}

/**
Implementation of [`LayerMarker`](https://codemirror.net/6/docs/ref/#view.LayerMarker) that creates
a rectangle at a given set of coordinates.
*/
var RectangleMarker = exports.RectangleMarker = /*#__PURE__*/function () {
  /**
  Create a marker with the given class and dimensions. If `width`
  is null, the DOM element will get no width style.
  */
  function RectangleMarker(className,
  /**
  The left position of the marker (in pixels, document-relative).
  */
  left,
  /**
  The top position of the marker.
  */
  top,
  /**
  The width of the marker, or null if it shouldn't get a width assigned.
  */
  width,
  /**
  The height of the marker.
  */
  height) {
    _classCallCheck(this, RectangleMarker);
    this.className = className;
    this.left = left;
    this.top = top;
    this.width = width;
    this.height = height;
  }
  return _createClass(RectangleMarker, [{
    key: "draw",
    value: function draw() {
      var elt = document.createElement("div");
      elt.className = this.className;
      this.adjust(elt);
      return elt;
    }
  }, {
    key: "update",
    value: function update(elt, prev) {
      if (prev.className != this.className) return false;
      this.adjust(elt);
      return true;
    }
  }, {
    key: "adjust",
    value: function adjust(elt) {
      elt.style.left = this.left + "px";
      elt.style.top = this.top + "px";
      if (this.width != null) elt.style.width = this.width + "px";
      elt.style.height = this.height + "px";
    }
  }, {
    key: "eq",
    value: function eq(p) {
      return this.left == p.left && this.top == p.top && this.width == p.width && this.height == p.height && this.className == p.className;
    }
    /**
    Create a set of rectangles for the given selection range,
    assigning them theclass`className`. Will create a single
    rectangle for empty ranges, and a set of selection-style
    rectangles covering the range's content (in a bidi-aware
    way) for non-empty ones.
    */
  }], [{
    key: "forRange",
    value: function forRange(view, className, range) {
      if (range.empty) {
        var pos = view.coordsAtPos(range.head, range.assoc || 1);
        if (!pos) return [];
        var _base3 = getBase(view);
        return [new RectangleMarker(className, pos.left - _base3.left, pos.top - _base3.top, null, pos.bottom - pos.top)];
      } else {
        return rectanglesForRange(view, className, range);
      }
    }
  }]);
}();
function getBase(view) {
  var rect = view.scrollDOM.getBoundingClientRect();
  var left = view.textDirection == Direction.LTR ? rect.left : rect.right - view.scrollDOM.clientWidth * view.scaleX;
  return {
    left: left - view.scrollDOM.scrollLeft * view.scaleX,
    top: rect.top - view.scrollDOM.scrollTop * view.scaleY
  };
}
function wrappedLine(view, pos, inside) {
  var range = _state.EditorSelection.cursor(pos);
  return {
    from: Math.max(inside.from, view.moveToLineBoundary(range, false, true).from),
    to: Math.min(inside.to, view.moveToLineBoundary(range, true, true).from),
    type: BlockType.Text
  };
}
function rectanglesForRange(view, className, range) {
  if (range.to <= view.viewport.from || range.from >= view.viewport.to) return [];
  var from = Math.max(range.from, view.viewport.from),
    to = Math.min(range.to, view.viewport.to);
  var ltr = view.textDirection == Direction.LTR;
  var content = view.contentDOM,
    contentRect = content.getBoundingClientRect(),
    base = getBase(view);
  var lineElt = content.querySelector(".cm-line"),
    lineStyle = lineElt && window.getComputedStyle(lineElt);
  var leftSide = contentRect.left + (lineStyle ? parseInt(lineStyle.paddingLeft) + Math.min(0, parseInt(lineStyle.textIndent)) : 0);
  var rightSide = contentRect.right - (lineStyle ? parseInt(lineStyle.paddingRight) : 0);
  var startBlock = blockAt(view, from),
    endBlock = blockAt(view, to);
  var visualStart = startBlock.type == BlockType.Text ? startBlock : null;
  var visualEnd = endBlock.type == BlockType.Text ? endBlock : null;
  if (visualStart && (view.lineWrapping || startBlock.widgetLineBreaks)) visualStart = wrappedLine(view, from, visualStart);
  if (visualEnd && (view.lineWrapping || endBlock.widgetLineBreaks)) visualEnd = wrappedLine(view, to, visualEnd);
  if (visualStart && visualEnd && visualStart.from == visualEnd.from) {
    return pieces(drawForLine(range.from, range.to, visualStart));
  } else {
    var top = visualStart ? drawForLine(range.from, null, visualStart) : drawForWidget(startBlock, false);
    var bottom = visualEnd ? drawForLine(null, range.to, visualEnd) : drawForWidget(endBlock, true);
    var between = [];
    if ((visualStart || startBlock).to < (visualEnd || endBlock).from - (visualStart && visualEnd ? 1 : 0) || startBlock.widgetLineBreaks > 1 && top.bottom + view.defaultLineHeight / 2 < bottom.top) between.push(piece(leftSide, top.bottom, rightSide, bottom.top));else if (top.bottom < bottom.top && view.elementAtHeight((top.bottom + bottom.top) / 2).type == BlockType.Text) top.bottom = bottom.top = (top.bottom + bottom.top) / 2;
    return pieces(top).concat(between).concat(pieces(bottom));
  }
  function piece(left, top, right, bottom) {
    return new RectangleMarker(className, left - base.left, top - base.top - 0.01 /* C.Epsilon */, right - left, bottom - top + 0.01 /* C.Epsilon */);
  }
  function pieces(_ref10) {
    var top = _ref10.top,
      bottom = _ref10.bottom,
      horizontal = _ref10.horizontal;
    var pieces = [];
    for (var i = 0; i < horizontal.length; i += 2) pieces.push(piece(horizontal[i], top, horizontal[i + 1], bottom));
    return pieces;
  }
  // Gets passed from/to in line-local positions
  function drawForLine(from, to, line) {
    var top = 1e9,
      bottom = -1e9,
      horizontal = [];
    function addSpan(from, fromOpen, to, toOpen, dir) {
      // Passing 2/-2 is a kludge to force the view to return
      // coordinates on the proper side of block widgets, since
      // normalizing the side there, though appropriate for most
      // coordsAtPos queries, would break selection drawing.
      var fromCoords = view.coordsAtPos(from, from == line.to ? -2 : 2);
      var toCoords = view.coordsAtPos(to, to == line.from ? 2 : -2);
      if (!fromCoords || !toCoords) return;
      top = Math.min(fromCoords.top, toCoords.top, top);
      bottom = Math.max(fromCoords.bottom, toCoords.bottom, bottom);
      if (dir == Direction.LTR) horizontal.push(ltr && fromOpen ? leftSide : fromCoords.left, ltr && toOpen ? rightSide : toCoords.right);else horizontal.push(!ltr && toOpen ? leftSide : toCoords.left, !ltr && fromOpen ? rightSide : fromCoords.right);
    }
    var start = from !== null && from !== void 0 ? from : line.from,
      end = to !== null && to !== void 0 ? to : line.to;
    // Split the range by visible range and document line
    var _iterator65 = _createForOfIteratorHelper(view.visibleRanges),
      _step65;
    try {
      for (_iterator65.s(); !(_step65 = _iterator65.n()).done;) {
        var _r = _step65.value;
        if (_r.to > start && _r.from < end) {
          for (var pos = Math.max(_r.from, start), endPos = Math.min(_r.to, end);;) {
            var docLine = view.state.doc.lineAt(pos);
            var _iterator66 = _createForOfIteratorHelper(view.bidiSpans(docLine)),
              _step66;
            try {
              for (_iterator66.s(); !(_step66 = _iterator66.n()).done;) {
                var span = _step66.value;
                var spanFrom = span.from + docLine.from,
                  spanTo = span.to + docLine.from;
                if (spanFrom >= endPos) break;
                if (spanTo > pos) addSpan(Math.max(spanFrom, pos), from == null && spanFrom <= start, Math.min(spanTo, endPos), to == null && spanTo >= end, span.dir);
              }
            } catch (err) {
              _iterator66.e(err);
            } finally {
              _iterator66.f();
            }
            pos = docLine.to + 1;
            if (pos >= endPos) break;
          }
        }
      }
    } catch (err) {
      _iterator65.e(err);
    } finally {
      _iterator65.f();
    }
    if (horizontal.length == 0) addSpan(start, from == null, end, to == null, view.textDirection);
    return {
      top: top,
      bottom: bottom,
      horizontal: horizontal
    };
  }
  function drawForWidget(block, top) {
    var y = contentRect.top + (top ? block.top : block.bottom);
    return {
      top: y,
      bottom: y,
      horizontal: []
    };
  }
}
function sameMarker(a, b) {
  return a.constructor == b.constructor && a.eq(b);
}
var LayerView = /*#__PURE__*/function () {
  function LayerView(view, layer) {
    _classCallCheck(this, LayerView);
    this.view = view;
    this.layer = layer;
    this.drawn = [];
    this.scaleX = 1;
    this.scaleY = 1;
    this.measureReq = {
      read: this.measure.bind(this),
      write: this.draw.bind(this)
    };
    this.dom = view.scrollDOM.appendChild(document.createElement("div"));
    this.dom.classList.add("cm-layer");
    if (layer.above) this.dom.classList.add("cm-layer-above");
    if (layer["class"]) this.dom.classList.add(layer["class"]);
    this.scale();
    this.dom.setAttribute("aria-hidden", "true");
    this.setOrder(view.state);
    view.requestMeasure(this.measureReq);
    if (layer.mount) layer.mount(this.dom, view);
  }
  return _createClass(LayerView, [{
    key: "update",
    value: function update(_update6) {
      if (_update6.startState.facet(layerOrder) != _update6.state.facet(layerOrder)) this.setOrder(_update6.state);
      if (this.layer.update(_update6, this.dom) || _update6.geometryChanged) {
        this.scale();
        _update6.view.requestMeasure(this.measureReq);
      }
    }
  }, {
    key: "docViewUpdate",
    value: function docViewUpdate(view) {
      if (this.layer.updateOnDocViewUpdate !== false) view.requestMeasure(this.measureReq);
    }
  }, {
    key: "setOrder",
    value: function setOrder(state) {
      var pos = 0,
        order = state.facet(layerOrder);
      while (pos < order.length && order[pos] != this.layer) pos++;
      this.dom.style.zIndex = String((this.layer.above ? 150 : -1) - pos);
    }
  }, {
    key: "measure",
    value: function measure() {
      return this.layer.markers(this.view);
    }
  }, {
    key: "scale",
    value: function scale() {
      var _this$view = this.view,
        scaleX = _this$view.scaleX,
        scaleY = _this$view.scaleY;
      if (scaleX != this.scaleX || scaleY != this.scaleY) {
        this.scaleX = scaleX;
        this.scaleY = scaleY;
        this.dom.style.transform = "scale(".concat(1 / scaleX, ", ").concat(1 / scaleY, ")");
      }
    }
  }, {
    key: "draw",
    value: function draw(markers) {
      var _this43 = this;
      if (markers.length != this.drawn.length || markers.some(function (p, i) {
        return !sameMarker(p, _this43.drawn[i]);
      })) {
        var old = this.dom.firstChild,
          oldI = 0;
        var _iterator67 = _createForOfIteratorHelper(markers),
          _step67;
        try {
          for (_iterator67.s(); !(_step67 = _iterator67.n()).done;) {
            var marker = _step67.value;
            if (marker.update && old && marker.constructor && this.drawn[oldI].constructor && marker.update(old, this.drawn[oldI])) {
              old = old.nextSibling;
              oldI++;
            } else {
              this.dom.insertBefore(marker.draw(), old);
            }
          }
        } catch (err) {
          _iterator67.e(err);
        } finally {
          _iterator67.f();
        }
        while (old) {
          var next = old.nextSibling;
          old.remove();
          old = next;
        }
        this.drawn = markers;
      }
    }
  }, {
    key: "destroy",
    value: function destroy() {
      if (this.layer.destroy) this.layer.destroy(this.dom, this.view);
      this.dom.remove();
    }
  }]);
}();
var layerOrder = /*@__PURE__*/_state.Facet.define();
/**
Define a layer.
*/
function layer(config) {
  return [ViewPlugin.define(function (v) {
    return new LayerView(v, config);
  }), layerOrder.of(config)];
}
var CanHidePrimary = !browser.ios; // FIXME test IE
var selectionConfig = /*@__PURE__*/_state.Facet.define({
  combine: function combine(configs) {
    return (0, _state.combineConfig)(configs, {
      cursorBlinkRate: 1200,
      drawRangeCursor: true
    }, {
      cursorBlinkRate: function cursorBlinkRate(a, b) {
        return Math.min(a, b);
      },
      drawRangeCursor: function drawRangeCursor(a, b) {
        return a || b;
      }
    });
  }
});
/**
Returns an extension that hides the browser's native selection and
cursor, replacing the selection with a background behind the text
(with the `cm-selectionBackground` class), and the
cursors with elements overlaid over the code (using
`cm-cursor-primary` and `cm-cursor-secondary`).

This allows the editor to display secondary selection ranges, and
tends to produce a type of selection more in line with that users
expect in a text editor (the native selection styling will often
leave gaps between lines and won't fill the horizontal space after
a line when the selection continues past it).

It does have a performance cost, in that it requires an extra DOM
layout cycle for many updates (the selection is drawn based on DOM
layout information that's only available after laying out the
content).
*/
function drawSelection() {
  var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
  return [selectionConfig.of(config), cursorLayer, selectionLayer, hideNativeSelection, nativeSelectionHidden.of(true)];
}
/**
Retrieve the [`drawSelection`](https://codemirror.net/6/docs/ref/#view.drawSelection) configuration
for this state. (Note that this will return a set of defaults even
if `drawSelection` isn't enabled.)
*/
function getDrawSelectionConfig(state) {
  return state.facet(selectionConfig);
}
function configChanged(update) {
  return update.startState.facet(selectionConfig) != update.state.facet(selectionConfig);
}
var cursorLayer = /*@__PURE__*/layer({
  above: true,
  markers: function markers(view) {
    var state = view.state,
      conf = state.facet(selectionConfig);
    var cursors = [];
    var _iterator68 = _createForOfIteratorHelper(state.selection.ranges),
      _step68;
    try {
      for (_iterator68.s(); !(_step68 = _iterator68.n()).done;) {
        var _r2 = _step68.value;
        var prim = _r2 == state.selection.main;
        if (_r2.empty ? !prim || CanHidePrimary : conf.drawRangeCursor) {
          var className = prim ? "cm-cursor cm-cursor-primary" : "cm-cursor cm-cursor-secondary";
          var cursor = _r2.empty ? _r2 : _state.EditorSelection.cursor(_r2.head, _r2.head > _r2.anchor ? -1 : 1);
          var _iterator69 = _createForOfIteratorHelper(RectangleMarker.forRange(view, className, cursor)),
            _step69;
          try {
            for (_iterator69.s(); !(_step69 = _iterator69.n()).done;) {
              var piece = _step69.value;
              cursors.push(piece);
            }
          } catch (err) {
            _iterator69.e(err);
          } finally {
            _iterator69.f();
          }
        }
      }
    } catch (err) {
      _iterator68.e(err);
    } finally {
      _iterator68.f();
    }
    return cursors;
  },
  update: function update(_update7, dom) {
    if (_update7.transactions.some(function (tr) {
      return tr.selection;
    })) dom.style.animationName = dom.style.animationName == "cm-blink" ? "cm-blink2" : "cm-blink";
    var confChange = configChanged(_update7);
    if (confChange) setBlinkRate(_update7.state, dom);
    return _update7.docChanged || _update7.selectionSet || confChange;
  },
  mount: function mount(dom, view) {
    setBlinkRate(view.state, dom);
  },
  "class": "cm-cursorLayer"
});
function setBlinkRate(state, dom) {
  dom.style.animationDuration = state.facet(selectionConfig).cursorBlinkRate + "ms";
}
var selectionLayer = /*@__PURE__*/layer({
  above: false,
  markers: function markers(view) {
    return view.state.selection.ranges.map(function (r) {
      return r.empty ? [] : RectangleMarker.forRange(view, "cm-selectionBackground", r);
    }).reduce(function (a, b) {
      return a.concat(b);
    });
  },
  update: function update(_update8, dom) {
    return _update8.docChanged || _update8.selectionSet || _update8.viewportChanged || configChanged(_update8);
  },
  "class": "cm-selectionLayer"
});
var themeSpec = {
  ".cm-line": {
    "& ::selection": {
      backgroundColor: "transparent !important"
    },
    "&::selection": {
      backgroundColor: "transparent !important"
    }
  }
};
if (CanHidePrimary) {
  themeSpec[".cm-line"].caretColor = "transparent !important";
  themeSpec[".cm-content"] = {
    caretColor: "transparent !important"
  };
}
var hideNativeSelection = /*@__PURE__*/_state.Prec.highest( /*@__PURE__*/EditorView.theme(themeSpec));
var setDropCursorPos = /*@__PURE__*/_state.StateEffect.define({
  map: function map(pos, mapping) {
    return pos == null ? null : mapping.mapPos(pos);
  }
});
var dropCursorPos = /*@__PURE__*/_state.StateField.define({
  create: function create() {
    return null;
  },
  update: function update(pos, tr) {
    if (pos != null) pos = tr.changes.mapPos(pos);
    return tr.effects.reduce(function (pos, e) {
      return e.is(setDropCursorPos) ? e.value : pos;
    }, pos);
  }
});
var drawDropCursor = /*@__PURE__*/ViewPlugin.fromClass( /*#__PURE__*/function () {
  function _class(view) {
    _classCallCheck(this, _class);
    this.view = view;
    this.cursor = null;
    this.measureReq = {
      read: this.readPos.bind(this),
      write: this.drawCursor.bind(this)
    };
  }
  return _createClass(_class, [{
    key: "update",
    value: function update(_update9) {
      var _a;
      var cursorPos = _update9.state.field(dropCursorPos);
      if (cursorPos == null) {
        if (this.cursor != null) {
          (_a = this.cursor) === null || _a === void 0 ? void 0 : _a.remove();
          this.cursor = null;
        }
      } else {
        if (!this.cursor) {
          this.cursor = this.view.scrollDOM.appendChild(document.createElement("div"));
          this.cursor.className = "cm-dropCursor";
        }
        if (_update9.startState.field(dropCursorPos) != cursorPos || _update9.docChanged || _update9.geometryChanged) this.view.requestMeasure(this.measureReq);
      }
    }
  }, {
    key: "readPos",
    value: function readPos() {
      var view = this.view;
      var pos = view.state.field(dropCursorPos);
      var rect = pos != null && view.coordsAtPos(pos);
      if (!rect) return null;
      var outer = view.scrollDOM.getBoundingClientRect();
      return {
        left: rect.left - outer.left + view.scrollDOM.scrollLeft * view.scaleX,
        top: rect.top - outer.top + view.scrollDOM.scrollTop * view.scaleY,
        height: rect.bottom - rect.top
      };
    }
  }, {
    key: "drawCursor",
    value: function drawCursor(pos) {
      if (this.cursor) {
        var _this$view2 = this.view,
          scaleX = _this$view2.scaleX,
          scaleY = _this$view2.scaleY;
        if (pos) {
          this.cursor.style.left = pos.left / scaleX + "px";
          this.cursor.style.top = pos.top / scaleY + "px";
          this.cursor.style.height = pos.height / scaleY + "px";
        } else {
          this.cursor.style.left = "-100000px";
        }
      }
    }
  }, {
    key: "destroy",
    value: function destroy() {
      if (this.cursor) this.cursor.remove();
    }
  }, {
    key: "setDropPos",
    value: function setDropPos(pos) {
      if (this.view.state.field(dropCursorPos) != pos) this.view.dispatch({
        effects: setDropCursorPos.of(pos)
      });
    }
  }]);
}(), {
  eventObservers: {
    dragover: function dragover(event) {
      this.setDropPos(this.view.posAtCoords({
        x: event.clientX,
        y: event.clientY
      }));
    },
    dragleave: function dragleave(event) {
      if (event.target == this.view.contentDOM || !this.view.contentDOM.contains(event.relatedTarget)) this.setDropPos(null);
    },
    dragend: function dragend() {
      this.setDropPos(null);
    },
    drop: function drop() {
      this.setDropPos(null);
    }
  }
});
/**
Draws a cursor at the current drop position when something is
dragged over the editor.
*/
function dropCursor() {
  return [dropCursorPos, drawDropCursor];
}
function iterMatches(doc, re, from, to, f) {
  re.lastIndex = 0;
  for (var cursor = doc.iterRange(from, to), pos = from, m; !cursor.next().done; pos += cursor.value.length) {
    if (!cursor.lineBreak) while (m = re.exec(cursor.value)) f(pos + m.index, m);
  }
}
function matchRanges(view, maxLength) {
  var visible = view.visibleRanges;
  if (visible.length == 1 && visible[0].from == view.viewport.from && visible[0].to == view.viewport.to) return visible;
  var result = [];
  var _iterator70 = _createForOfIteratorHelper(visible),
    _step70;
  try {
    for (_iterator70.s(); !(_step70 = _iterator70.n()).done;) {
      var _step70$value = _step70.value,
        from = _step70$value.from,
        to = _step70$value.to;
      from = Math.max(view.state.doc.lineAt(from).from, from - maxLength);
      to = Math.min(view.state.doc.lineAt(to).to, to + maxLength);
      if (result.length && result[result.length - 1].to >= from) result[result.length - 1].to = to;else result.push({
        from: from,
        to: to
      });
    }
  } catch (err) {
    _iterator70.e(err);
  } finally {
    _iterator70.f();
  }
  return result;
}
/**
Helper class used to make it easier to maintain decorations on
visible code that matches a given regular expression. To be used
in a [view plugin](https://codemirror.net/6/docs/ref/#view.ViewPlugin). Instances of this object
represent a matching configuration.
*/
var MatchDecorator = exports.MatchDecorator = /*#__PURE__*/function () {
  /**
  Create a decorator.
  */
  function MatchDecorator(config) {
    _classCallCheck(this, MatchDecorator);
    var regexp = config.regexp,
      decoration = config.decoration,
      decorate = config.decorate,
      boundary = config.boundary,
      _config$maxLength = config.maxLength,
      maxLength = _config$maxLength === void 0 ? 1000 : _config$maxLength;
    if (!regexp.global) throw new RangeError("The regular expression given to MatchDecorator should have its 'g' flag set");
    this.regexp = regexp;
    if (decorate) {
      this.addMatch = function (match, view, from, add) {
        return decorate(add, from, from + match[0].length, match, view);
      };
    } else if (typeof decoration == "function") {
      this.addMatch = function (match, view, from, add) {
        var deco = decoration(match, view, from);
        if (deco) add(from, from + match[0].length, deco);
      };
    } else if (decoration) {
      this.addMatch = function (match, _view, from, add) {
        return add(from, from + match[0].length, decoration);
      };
    } else {
      throw new RangeError("Either 'decorate' or 'decoration' should be provided to MatchDecorator");
    }
    this.boundary = boundary;
    this.maxLength = maxLength;
  }
  /**
  Compute the full set of decorations for matches in the given
  view's viewport. You'll want to call this when initializing your
  plugin.
  */
  return _createClass(MatchDecorator, [{
    key: "createDeco",
    value: function createDeco(view) {
      var _this44 = this;
      var build = new _state.RangeSetBuilder(),
        add = build.add.bind(build);
      var _iterator71 = _createForOfIteratorHelper(matchRanges(view, this.maxLength)),
        _step71;
      try {
        for (_iterator71.s(); !(_step71 = _iterator71.n()).done;) {
          var _step71$value = _step71.value,
            from = _step71$value.from,
            to = _step71$value.to;
          iterMatches(view.state.doc, this.regexp, from, to, function (from, m) {
            return _this44.addMatch(m, view, from, add);
          });
        }
      } catch (err) {
        _iterator71.e(err);
      } finally {
        _iterator71.f();
      }
      return build.finish();
    }
    /**
    Update a set of decorations for a view update. `deco` _must_ be
    the set of decorations produced by _this_ `MatchDecorator` for
    the view state before the update.
    */
  }, {
    key: "updateDeco",
    value: function updateDeco(update, deco) {
      var changeFrom = 1e9,
        changeTo = -1;
      if (update.docChanged) update.changes.iterChanges(function (_f, _t, from, to) {
        if (to > update.view.viewport.from && from < update.view.viewport.to) {
          changeFrom = Math.min(from, changeFrom);
          changeTo = Math.max(to, changeTo);
        }
      });
      if (update.viewportChanged || changeTo - changeFrom > 1000) return this.createDeco(update.view);
      if (changeTo > -1) return this.updateRange(update.view, deco.map(update.changes), changeFrom, changeTo);
      return deco;
    }
  }, {
    key: "updateRange",
    value: function updateRange(view, deco, updateFrom, updateTo) {
      var _this45 = this;
      var _iterator72 = _createForOfIteratorHelper(view.visibleRanges),
        _step72;
      try {
        var _loop5 = function _loop5() {
          var r = _step72.value;
          var from = Math.max(r.from, updateFrom),
            to = Math.min(r.to, updateTo);
          if (to > from) {
            var fromLine = view.state.doc.lineAt(from),
              toLine = fromLine.to < to ? view.state.doc.lineAt(to) : fromLine;
            var start = Math.max(r.from, fromLine.from),
              end = Math.min(r.to, toLine.to);
            if (_this45.boundary) {
              for (; from > fromLine.from; from--) if (_this45.boundary.test(fromLine.text[from - 1 - fromLine.from])) {
                start = from;
                break;
              }
              for (; to < toLine.to; to++) if (_this45.boundary.test(toLine.text[to - toLine.from])) {
                end = to;
                break;
              }
            }
            var ranges = [],
              m;
            var add = function add(from, to, deco) {
              return ranges.push(deco.range(from, to));
            };
            if (fromLine == toLine) {
              _this45.regexp.lastIndex = start - fromLine.from;
              while ((m = _this45.regexp.exec(fromLine.text)) && m.index < end - fromLine.from) _this45.addMatch(m, view, m.index + fromLine.from, add);
            } else {
              iterMatches(view.state.doc, _this45.regexp, start, end, function (from, m) {
                return _this45.addMatch(m, view, from, add);
              });
            }
            deco = deco.update({
              filterFrom: start,
              filterTo: end,
              filter: function filter(from, to) {
                return from < start || to > end;
              },
              add: ranges
            });
          }
        };
        for (_iterator72.s(); !(_step72 = _iterator72.n()).done;) {
          _loop5();
        }
      } catch (err) {
        _iterator72.e(err);
      } finally {
        _iterator72.f();
      }
      return deco;
    }
  }]);
}();
var UnicodeRegexpSupport = /x/.unicode != null ? "gu" : "g";
var Specials = /*@__PURE__*/new RegExp("[\0-\b\n-\x1F\x7F-\x9F\xAD\u061C\u200B\u200E\u200F\u2028\u2029\u202D\u202E\u2066\u2067\u2069\uFEFF\uFFF9-\uFFFC]", UnicodeRegexpSupport);
var Names = {
  0: "null",
  7: "bell",
  8: "backspace",
  10: "newline",
  11: "vertical tab",
  13: "carriage return",
  27: "escape",
  8203: "zero width space",
  8204: "zero width non-joiner",
  8205: "zero width joiner",
  8206: "left-to-right mark",
  8207: "right-to-left mark",
  8232: "line separator",
  8237: "left-to-right override",
  8238: "right-to-left override",
  8294: "left-to-right isolate",
  8295: "right-to-left isolate",
  8297: "pop directional isolate",
  8233: "paragraph separator",
  65279: "zero width no-break space",
  65532: "object replacement"
};
var _supportsTabSize = null;
function supportsTabSize() {
  var _a;
  if (_supportsTabSize == null && typeof document != "undefined" && document.body) {
    var styles = document.body.style;
    _supportsTabSize = ((_a = styles.tabSize) !== null && _a !== void 0 ? _a : styles.MozTabSize) != null;
  }
  return _supportsTabSize || false;
}
var specialCharConfig = /*@__PURE__*/_state.Facet.define({
  combine: function combine(configs) {
    var config = (0, _state.combineConfig)(configs, {
      render: null,
      specialChars: Specials,
      addSpecialChars: null
    });
    if (config.replaceTabs = !supportsTabSize()) config.specialChars = new RegExp("\t|" + config.specialChars.source, UnicodeRegexpSupport);
    if (config.addSpecialChars) config.specialChars = new RegExp(config.specialChars.source + "|" + config.addSpecialChars.source, UnicodeRegexpSupport);
    return config;
  }
});
/**
Returns an extension that installs highlighting of special
characters.
*/
function highlightSpecialChars() {
  var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
  return [specialCharConfig.of(config), specialCharPlugin()];
}
var _plugin = null;
function specialCharPlugin() {
  return _plugin || (_plugin = ViewPlugin.fromClass( /*#__PURE__*/function () {
    function _class2(view) {
      _classCallCheck(this, _class2);
      this.view = view;
      this.decorations = Decoration.none;
      this.decorationCache = Object.create(null);
      this.decorator = this.makeDecorator(view.state.facet(specialCharConfig));
      this.decorations = this.decorator.createDeco(view);
    }
    return _createClass(_class2, [{
      key: "makeDecorator",
      value: function makeDecorator(conf) {
        var _this46 = this;
        return new MatchDecorator({
          regexp: conf.specialChars,
          decoration: function decoration(m, view, pos) {
            var doc = view.state.doc;
            var code = (0, _state.codePointAt)(m[0], 0);
            if (code == 9) {
              var line = doc.lineAt(pos);
              var size = view.state.tabSize,
                col = (0, _state.countColumn)(line.text, size, pos - line.from);
              return Decoration.replace({
                widget: new TabWidget((size - col % size) * _this46.view.defaultCharacterWidth / _this46.view.scaleX)
              });
            }
            return _this46.decorationCache[code] || (_this46.decorationCache[code] = Decoration.replace({
              widget: new SpecialCharWidget(conf, code)
            }));
          },
          boundary: conf.replaceTabs ? undefined : /[^]/
        });
      }
    }, {
      key: "update",
      value: function update(_update10) {
        var conf = _update10.state.facet(specialCharConfig);
        if (_update10.startState.facet(specialCharConfig) != conf) {
          this.decorator = this.makeDecorator(conf);
          this.decorations = this.decorator.createDeco(_update10.view);
        } else {
          this.decorations = this.decorator.updateDeco(_update10, this.decorations);
        }
      }
    }]);
  }(), {
    decorations: function decorations(v) {
      return v.decorations;
    }
  }));
}
var DefaultPlaceholder = "\u2022";
// Assigns placeholder characters from the Control Pictures block to
// ASCII control characters
function placeholder$1(code) {
  if (code >= 32) return DefaultPlaceholder;
  if (code == 10) return "\u2424";
  return String.fromCharCode(9216 + code);
}
var SpecialCharWidget = /*#__PURE__*/function (_WidgetType4) {
  function SpecialCharWidget(options, code) {
    var _this47;
    _classCallCheck(this, SpecialCharWidget);
    _this47 = _callSuper(this, SpecialCharWidget);
    _this47.options = options;
    _this47.code = code;
    return _this47;
  }
  _inherits(SpecialCharWidget, _WidgetType4);
  return _createClass(SpecialCharWidget, [{
    key: "eq",
    value: function eq(other) {
      return other.code == this.code;
    }
  }, {
    key: "toDOM",
    value: function toDOM(view) {
      var ph = placeholder$1(this.code);
      var desc = view.state.phrase("Control character") + " " + (Names[this.code] || "0x" + this.code.toString(16));
      var custom = this.options.render && this.options.render(this.code, desc, ph);
      if (custom) return custom;
      var span = document.createElement("span");
      span.textContent = ph;
      span.title = desc;
      span.setAttribute("aria-label", desc);
      span.className = "cm-specialChar";
      return span;
    }
  }, {
    key: "ignoreEvent",
    value: function ignoreEvent() {
      return false;
    }
  }]);
}(WidgetType);
var TabWidget = /*#__PURE__*/function (_WidgetType5) {
  function TabWidget(width) {
    var _this48;
    _classCallCheck(this, TabWidget);
    _this48 = _callSuper(this, TabWidget);
    _this48.width = width;
    return _this48;
  }
  _inherits(TabWidget, _WidgetType5);
  return _createClass(TabWidget, [{
    key: "eq",
    value: function eq(other) {
      return other.width == this.width;
    }
  }, {
    key: "toDOM",
    value: function toDOM() {
      var span = document.createElement("span");
      span.textContent = "\t";
      span.className = "cm-tab";
      span.style.width = this.width + "px";
      return span;
    }
  }, {
    key: "ignoreEvent",
    value: function ignoreEvent() {
      return false;
    }
  }]);
}(WidgetType);
var plugin = /*@__PURE__*/ViewPlugin.fromClass( /*#__PURE__*/function () {
  function _class3() {
    _classCallCheck(this, _class3);
    this.height = 1000;
    this.attrs = {
      style: "padding-bottom: 1000px"
    };
  }
  return _createClass(_class3, [{
    key: "update",
    value: function update(_update11) {
      var view = _update11.view;
      var height = view.viewState.editorHeight * view.scaleY - view.defaultLineHeight - view.documentPadding.top - 0.5;
      if (height >= 0 && height != this.height) {
        this.height = height;
        this.attrs = {
          style: "padding-bottom: ".concat(height, "px")
        };
      }
    }
  }]);
}());
/**
Returns an extension that makes sure the content has a bottom
margin equivalent to the height of the editor, minus one line
height, so that every line in the document can be scrolled to the
top of the editor.

This is only meaningful when the editor is scrollable, and should
not be enabled in editors that take the size of their content.
*/
function scrollPastEnd() {
  return [plugin, contentAttributes.of(function (view) {
    var _a;
    return ((_a = view.plugin(plugin)) === null || _a === void 0 ? void 0 : _a.attrs) || null;
  })];
}

/**
Mark lines that have a cursor on them with the `"cm-activeLine"`
DOM class.
*/
function highlightActiveLine() {
  return activeLineHighlighter;
}
var lineDeco = /*@__PURE__*/Decoration.line({
  "class": "cm-activeLine"
});
var activeLineHighlighter = /*@__PURE__*/ViewPlugin.fromClass( /*#__PURE__*/function () {
  function _class4(view) {
    _classCallCheck(this, _class4);
    this.decorations = this.getDeco(view);
  }
  return _createClass(_class4, [{
    key: "update",
    value: function update(_update12) {
      if (_update12.docChanged || _update12.selectionSet) this.decorations = this.getDeco(_update12.view);
    }
  }, {
    key: "getDeco",
    value: function getDeco(view) {
      var lastLineStart = -1,
        deco = [];
      var _iterator73 = _createForOfIteratorHelper(view.state.selection.ranges),
        _step73;
      try {
        for (_iterator73.s(); !(_step73 = _iterator73.n()).done;) {
          var _r3 = _step73.value;
          var line = view.lineBlockAt(_r3.head);
          if (line.from > lastLineStart) {
            deco.push(lineDeco.range(line.from));
            lastLineStart = line.from;
          }
        }
      } catch (err) {
        _iterator73.e(err);
      } finally {
        _iterator73.f();
      }
      return Decoration.set(deco);
    }
  }]);
}(), {
  decorations: function decorations(v) {
    return v.decorations;
  }
});
var Placeholder = /*#__PURE__*/function (_WidgetType6) {
  function Placeholder(content) {
    var _this49;
    _classCallCheck(this, Placeholder);
    _this49 = _callSuper(this, Placeholder);
    _this49.content = content;
    return _this49;
  }
  _inherits(Placeholder, _WidgetType6);
  return _createClass(Placeholder, [{
    key: "toDOM",
    value: function toDOM() {
      var wrap = document.createElement("span");
      wrap.className = "cm-placeholder";
      wrap.style.pointerEvents = "none";
      wrap.appendChild(typeof this.content == "string" ? document.createTextNode(this.content) : this.content);
      if (typeof this.content == "string") wrap.setAttribute("aria-label", "placeholder " + this.content);else wrap.setAttribute("aria-hidden", "true");
      return wrap;
    }
  }, {
    key: "coordsAt",
    value: function coordsAt(dom) {
      var rects = dom.firstChild ? clientRectsFor(dom.firstChild) : [];
      if (!rects.length) return null;
      var style = window.getComputedStyle(dom.parentNode);
      var rect = flattenRect(rects[0], style.direction != "rtl");
      var lineHeight = parseInt(style.lineHeight);
      if (rect.bottom - rect.top > lineHeight * 1.5) return {
        left: rect.left,
        right: rect.right,
        top: rect.top,
        bottom: rect.top + lineHeight
      };
      return rect;
    }
  }, {
    key: "ignoreEvent",
    value: function ignoreEvent() {
      return false;
    }
  }]);
}(WidgetType);
/**
Extension that enables a placeholder—a piece of example content
to show when the editor is empty.
*/
function placeholder(content) {
  return ViewPlugin.fromClass( /*#__PURE__*/function () {
    function _class5(view) {
      _classCallCheck(this, _class5);
      this.view = view;
      this.placeholder = content ? Decoration.set([Decoration.widget({
        widget: new Placeholder(content),
        side: 1
      }).range(0)]) : Decoration.none;
    }
    return _createClass(_class5, [{
      key: "decorations",
      get: function get() {
        return this.view.state.doc.length ? Decoration.none : this.placeholder;
      }
    }]);
  }(), {
    decorations: function decorations(v) {
      return v.decorations;
    }
  });
}

// Don't compute precise column positions for line offsets above this
// (since it could get expensive). Assume offset==column for them.
var MaxOff = 2000;
function rectangleFor(state, a, b) {
  var startLine = Math.min(a.line, b.line),
    endLine = Math.max(a.line, b.line);
  var ranges = [];
  if (a.off > MaxOff || b.off > MaxOff || a.col < 0 || b.col < 0) {
    var startOff = Math.min(a.off, b.off),
      endOff = Math.max(a.off, b.off);
    for (var i = startLine; i <= endLine; i++) {
      var line = state.doc.line(i);
      if (line.length <= endOff) ranges.push(_state.EditorSelection.range(line.from + startOff, line.to + endOff));
    }
  } else {
    var startCol = Math.min(a.col, b.col),
      endCol = Math.max(a.col, b.col);
    for (var _i10 = startLine; _i10 <= endLine; _i10++) {
      var _line2 = state.doc.line(_i10);
      var start = (0, _state.findColumn)(_line2.text, startCol, state.tabSize, true);
      if (start < 0) {
        ranges.push(_state.EditorSelection.cursor(_line2.to));
      } else {
        var end = (0, _state.findColumn)(_line2.text, endCol, state.tabSize);
        ranges.push(_state.EditorSelection.range(_line2.from + start, _line2.from + end));
      }
    }
  }
  return ranges;
}
function absoluteColumn(view, x) {
  var ref = view.coordsAtPos(view.viewport.from);
  return ref ? Math.round(Math.abs((ref.left - x) / view.defaultCharacterWidth)) : -1;
}
function getPos(view, event) {
  var offset = view.posAtCoords({
    x: event.clientX,
    y: event.clientY
  }, false);
  var line = view.state.doc.lineAt(offset),
    off = offset - line.from;
  var col = off > MaxOff ? -1 : off == line.length ? absoluteColumn(view, event.clientX) : (0, _state.countColumn)(line.text, view.state.tabSize, offset - line.from);
  return {
    line: line.number,
    col: col,
    off: off
  };
}
function rectangleSelectionStyle(view, event) {
  var start = getPos(view, event),
    startSel = view.state.selection;
  if (!start) return null;
  return {
    update: function update(_update13) {
      if (_update13.docChanged) {
        var newStart = _update13.changes.mapPos(_update13.startState.doc.line(start.line).from);
        var newLine = _update13.state.doc.lineAt(newStart);
        start = {
          line: newLine.number,
          col: start.col,
          off: Math.min(start.off, newLine.length)
        };
        startSel = startSel.map(_update13.changes);
      }
    },
    get: function get(event, _extend, multiple) {
      var cur = getPos(view, event);
      if (!cur) return startSel;
      var ranges = rectangleFor(view.state, start, cur);
      if (!ranges.length) return startSel;
      if (multiple) return _state.EditorSelection.create(ranges.concat(startSel.ranges));else return _state.EditorSelection.create(ranges);
    }
  };
}
/**
Create an extension that enables rectangular selections. By
default, it will react to left mouse drag with the Alt key held
down. When such a selection occurs, the text within the rectangle
that was dragged over will be selected, as one selection
[range](https://codemirror.net/6/docs/ref/#state.SelectionRange) per line.
*/
function rectangularSelection(options) {
  var filter = (options === null || options === void 0 ? void 0 : options.eventFilter) || function (e) {
    return e.altKey && e.button == 0;
  };
  return EditorView.mouseSelectionStyle.of(function (view, event) {
    return filter(event) ? rectangleSelectionStyle(view, event) : null;
  });
}
var keys = {
  Alt: [18, function (e) {
    return !!e.altKey;
  }],
  Control: [17, function (e) {
    return !!e.ctrlKey;
  }],
  Shift: [16, function (e) {
    return !!e.shiftKey;
  }],
  Meta: [91, function (e) {
    return !!e.metaKey;
  }]
};
var showCrosshair = {
  style: "cursor: crosshair"
};
/**
Returns an extension that turns the pointer cursor into a
crosshair when a given modifier key, defaulting to Alt, is held
down. Can serve as a visual hint that rectangular selection is
going to happen when paired with
[`rectangularSelection`](https://codemirror.net/6/docs/ref/#view.rectangularSelection).
*/
function crosshairCursor() {
  var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
  var _keys = _slicedToArray(keys[options.key || "Alt"], 2),
    code = _keys[0],
    getter = _keys[1];
  var plugin = ViewPlugin.fromClass( /*#__PURE__*/function () {
    function _class6(view) {
      _classCallCheck(this, _class6);
      this.view = view;
      this.isDown = false;
    }
    return _createClass(_class6, [{
      key: "set",
      value: function set(isDown) {
        if (this.isDown != isDown) {
          this.isDown = isDown;
          this.view.update([]);
        }
      }
    }]);
  }(), {
    eventObservers: {
      keydown: function keydown(e) {
        this.set(e.keyCode == code || getter(e));
      },
      keyup: function keyup(e) {
        if (e.keyCode == code || !getter(e)) this.set(false);
      },
      mousemove: function mousemove(e) {
        this.set(getter(e));
      }
    }
  });
  return [plugin, EditorView.contentAttributes.of(function (view) {
    var _a;
    return ((_a = view.plugin(plugin)) === null || _a === void 0 ? void 0 : _a.isDown) ? showCrosshair : null;
  })];
}
var Outside = "-10000px";
var TooltipViewManager = /*#__PURE__*/function () {
  function TooltipViewManager(view, facet, createTooltipView, removeTooltipView) {
    _classCallCheck(this, TooltipViewManager);
    this.facet = facet;
    this.createTooltipView = createTooltipView;
    this.removeTooltipView = removeTooltipView;
    this.input = view.state.facet(facet);
    this.tooltips = this.input.filter(function (t) {
      return t;
    });
    var prev = null;
    this.tooltipViews = this.tooltips.map(function (t) {
      return prev = createTooltipView(t, prev);
    });
  }
  return _createClass(TooltipViewManager, [{
    key: "update",
    value: function update(_update14, above) {
      var _a;
      var input = _update14.state.facet(this.facet);
      var tooltips = input.filter(function (x) {
        return x;
      });
      if (input === this.input) {
        var _iterator74 = _createForOfIteratorHelper(this.tooltipViews),
          _step74;
        try {
          for (_iterator74.s(); !(_step74 = _iterator74.n()).done;) {
            var t = _step74.value;
            if (t.update) t.update(_update14);
          }
        } catch (err) {
          _iterator74.e(err);
        } finally {
          _iterator74.f();
        }
        return false;
      }
      var tooltipViews = [],
        newAbove = above ? [] : null;
      for (var i = 0; i < tooltips.length; i++) {
        var tip = tooltips[i],
          known = -1;
        if (!tip) continue;
        for (var _i11 = 0; _i11 < this.tooltips.length; _i11++) {
          var other = this.tooltips[_i11];
          if (other && other.create == tip.create) known = _i11;
        }
        if (known < 0) {
          tooltipViews[i] = this.createTooltipView(tip, i ? tooltipViews[i - 1] : null);
          if (newAbove) newAbove[i] = !!tip.above;
        } else {
          var tooltipView = tooltipViews[i] = this.tooltipViews[known];
          if (newAbove) newAbove[i] = above[known];
          if (tooltipView.update) tooltipView.update(_update14);
        }
      }
      var _iterator75 = _createForOfIteratorHelper(this.tooltipViews),
        _step75;
      try {
        for (_iterator75.s(); !(_step75 = _iterator75.n()).done;) {
          var _t2 = _step75.value;
          if (tooltipViews.indexOf(_t2) < 0) {
            this.removeTooltipView(_t2);
            (_a = _t2.destroy) === null || _a === void 0 ? void 0 : _a.call(_t2);
          }
        }
      } catch (err) {
        _iterator75.e(err);
      } finally {
        _iterator75.f();
      }
      if (above) {
        newAbove.forEach(function (val, i) {
          return above[i] = val;
        });
        above.length = newAbove.length;
      }
      this.input = input;
      this.tooltips = tooltips;
      this.tooltipViews = tooltipViews;
      return true;
    }
  }]);
}();
/**
Creates an extension that configures tooltip behavior.
*/
function tooltips() {
  var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
  return tooltipConfig.of(config);
}
function windowSpace(view) {
  var win = view.win;
  return {
    top: 0,
    left: 0,
    bottom: win.innerHeight,
    right: win.innerWidth
  };
}
var tooltipConfig = /*@__PURE__*/_state.Facet.define({
  combine: function combine(values) {
    var _a, _b, _c;
    return {
      position: browser.ios ? "absolute" : ((_a = values.find(function (conf) {
        return conf.position;
      })) === null || _a === void 0 ? void 0 : _a.position) || "fixed",
      parent: ((_b = values.find(function (conf) {
        return conf.parent;
      })) === null || _b === void 0 ? void 0 : _b.parent) || null,
      tooltipSpace: ((_c = values.find(function (conf) {
        return conf.tooltipSpace;
      })) === null || _c === void 0 ? void 0 : _c.tooltipSpace) || windowSpace
    };
  }
});
var knownHeight = /*@__PURE__*/new WeakMap();
var tooltipPlugin = /*@__PURE__*/ViewPlugin.fromClass( /*#__PURE__*/function () {
  function _class7(view) {
    var _this50 = this;
    _classCallCheck(this, _class7);
    this.view = view;
    this.above = [];
    this.inView = true;
    this.madeAbsolute = false;
    this.lastTransaction = 0;
    this.measureTimeout = -1;
    var config = view.state.facet(tooltipConfig);
    this.position = config.position;
    this.parent = config.parent;
    this.classes = view.themeClasses;
    this.createContainer();
    this.measureReq = {
      read: this.readMeasure.bind(this),
      write: this.writeMeasure.bind(this),
      key: this
    };
    this.resizeObserver = typeof ResizeObserver == "function" ? new ResizeObserver(function () {
      return _this50.measureSoon();
    }) : null;
    this.manager = new TooltipViewManager(view, showTooltip, function (t, p) {
      return _this50.createTooltip(t, p);
    }, function (t) {
      if (_this50.resizeObserver) _this50.resizeObserver.unobserve(t.dom);
      t.dom.remove();
    });
    this.above = this.manager.tooltips.map(function (t) {
      return !!t.above;
    });
    this.intersectionObserver = typeof IntersectionObserver == "function" ? new IntersectionObserver(function (entries) {
      if (Date.now() > _this50.lastTransaction - 50 && entries.length > 0 && entries[entries.length - 1].intersectionRatio < 1) _this50.measureSoon();
    }, {
      threshold: [1]
    }) : null;
    this.observeIntersection();
    view.win.addEventListener("resize", this.measureSoon = this.measureSoon.bind(this));
    this.maybeMeasure();
  }
  return _createClass(_class7, [{
    key: "createContainer",
    value: function createContainer() {
      if (this.parent) {
        this.container = document.createElement("div");
        this.container.style.position = "relative";
        this.container.className = this.view.themeClasses;
        this.parent.appendChild(this.container);
      } else {
        this.container = this.view.dom;
      }
    }
  }, {
    key: "observeIntersection",
    value: function observeIntersection() {
      if (this.intersectionObserver) {
        this.intersectionObserver.disconnect();
        var _iterator76 = _createForOfIteratorHelper(this.manager.tooltipViews),
          _step76;
        try {
          for (_iterator76.s(); !(_step76 = _iterator76.n()).done;) {
            var tooltip = _step76.value;
            this.intersectionObserver.observe(tooltip.dom);
          }
        } catch (err) {
          _iterator76.e(err);
        } finally {
          _iterator76.f();
        }
      }
    }
  }, {
    key: "measureSoon",
    value: function measureSoon() {
      var _this51 = this;
      if (this.measureTimeout < 0) this.measureTimeout = setTimeout(function () {
        _this51.measureTimeout = -1;
        _this51.maybeMeasure();
      }, 50);
    }
  }, {
    key: "update",
    value: function update(_update15) {
      if (_update15.transactions.length) this.lastTransaction = Date.now();
      var updated = this.manager.update(_update15, this.above);
      if (updated) this.observeIntersection();
      var shouldMeasure = updated || _update15.geometryChanged;
      var newConfig = _update15.state.facet(tooltipConfig);
      if (newConfig.position != this.position && !this.madeAbsolute) {
        this.position = newConfig.position;
        var _iterator77 = _createForOfIteratorHelper(this.manager.tooltipViews),
          _step77;
        try {
          for (_iterator77.s(); !(_step77 = _iterator77.n()).done;) {
            var t = _step77.value;
            t.dom.style.position = this.position;
          }
        } catch (err) {
          _iterator77.e(err);
        } finally {
          _iterator77.f();
        }
        shouldMeasure = true;
      }
      if (newConfig.parent != this.parent) {
        if (this.parent) this.container.remove();
        this.parent = newConfig.parent;
        this.createContainer();
        var _iterator78 = _createForOfIteratorHelper(this.manager.tooltipViews),
          _step78;
        try {
          for (_iterator78.s(); !(_step78 = _iterator78.n()).done;) {
            var _t3 = _step78.value;
            this.container.appendChild(_t3.dom);
          }
        } catch (err) {
          _iterator78.e(err);
        } finally {
          _iterator78.f();
        }
        shouldMeasure = true;
      } else if (this.parent && this.view.themeClasses != this.classes) {
        this.classes = this.container.className = this.view.themeClasses;
      }
      if (shouldMeasure) this.maybeMeasure();
    }
  }, {
    key: "createTooltip",
    value: function createTooltip(tooltip, prev) {
      var tooltipView = tooltip.create(this.view);
      var before = prev ? prev.dom : null;
      tooltipView.dom.classList.add("cm-tooltip");
      if (tooltip.arrow && !tooltipView.dom.querySelector(".cm-tooltip > .cm-tooltip-arrow")) {
        var arrow = document.createElement("div");
        arrow.className = "cm-tooltip-arrow";
        tooltipView.dom.insertBefore(arrow, before);
      }
      tooltipView.dom.style.position = this.position;
      tooltipView.dom.style.top = Outside;
      tooltipView.dom.style.left = "0px";
      this.container.insertBefore(tooltipView.dom, before);
      if (tooltipView.mount) tooltipView.mount(this.view);
      if (this.resizeObserver) this.resizeObserver.observe(tooltipView.dom);
      return tooltipView;
    }
  }, {
    key: "destroy",
    value: function destroy() {
      var _a, _b, _c;
      this.view.win.removeEventListener("resize", this.measureSoon);
      var _iterator79 = _createForOfIteratorHelper(this.manager.tooltipViews),
        _step79;
      try {
        for (_iterator79.s(); !(_step79 = _iterator79.n()).done;) {
          var tooltipView = _step79.value;
          tooltipView.dom.remove();
          (_a = tooltipView.destroy) === null || _a === void 0 ? void 0 : _a.call(tooltipView);
        }
      } catch (err) {
        _iterator79.e(err);
      } finally {
        _iterator79.f();
      }
      if (this.parent) this.container.remove();
      (_b = this.resizeObserver) === null || _b === void 0 ? void 0 : _b.disconnect();
      (_c = this.intersectionObserver) === null || _c === void 0 ? void 0 : _c.disconnect();
      clearTimeout(this.measureTimeout);
    }
  }, {
    key: "readMeasure",
    value: function readMeasure() {
      var _this52 = this;
      var editor = this.view.dom.getBoundingClientRect();
      var scaleX = 1,
        scaleY = 1,
        makeAbsolute = false;
      if (this.position == "fixed" && this.manager.tooltipViews.length) {
        var dom = this.manager.tooltipViews[0].dom;
        if (browser.gecko) {
          // Firefox sets the element's `offsetParent` to the
          // transformed element when a transform interferes with fixed
          // positioning.
          makeAbsolute = dom.offsetParent != this.container.ownerDocument.body;
        } else if (dom.style.top == Outside && dom.style.left == "0px") {
          // On other browsers, we have to awkwardly try and use other
          // information to detect a transform.
          var rect = dom.getBoundingClientRect();
          makeAbsolute = Math.abs(rect.top + 10000) > 1 || Math.abs(rect.left) > 1;
        }
      }
      if (makeAbsolute || this.position == "absolute") {
        if (this.parent) {
          var _rect2 = this.parent.getBoundingClientRect();
          if (_rect2.width && _rect2.height) {
            scaleX = _rect2.width / this.parent.offsetWidth;
            scaleY = _rect2.height / this.parent.offsetHeight;
          }
        } else {
          var _this$view$viewState = this.view.viewState;
          scaleX = _this$view$viewState.scaleX;
          scaleY = _this$view$viewState.scaleY;
        }
      }
      return {
        editor: editor,
        parent: this.parent ? this.container.getBoundingClientRect() : editor,
        pos: this.manager.tooltips.map(function (t, i) {
          var tv = _this52.manager.tooltipViews[i];
          return tv.getCoords ? tv.getCoords(t.pos) : _this52.view.coordsAtPos(t.pos);
        }),
        size: this.manager.tooltipViews.map(function (_ref11) {
          var dom = _ref11.dom;
          return dom.getBoundingClientRect();
        }),
        space: this.view.state.facet(tooltipConfig).tooltipSpace(this.view),
        scaleX: scaleX,
        scaleY: scaleY,
        makeAbsolute: makeAbsolute
      };
    }
  }, {
    key: "writeMeasure",
    value: function writeMeasure(measured) {
      var _a;
      if (measured.makeAbsolute) {
        this.madeAbsolute = true;
        this.position = "absolute";
        var _iterator80 = _createForOfIteratorHelper(this.manager.tooltipViews),
          _step80;
        try {
          for (_iterator80.s(); !(_step80 = _iterator80.n()).done;) {
            var t = _step80.value;
            t.dom.style.position = "absolute";
          }
        } catch (err) {
          _iterator80.e(err);
        } finally {
          _iterator80.f();
        }
      }
      var editor = measured.editor,
        space = measured.space,
        scaleX = measured.scaleX,
        scaleY = measured.scaleY;
      var others = [];
      for (var i = 0; i < this.manager.tooltips.length; i++) {
        var tooltip = this.manager.tooltips[i],
          tView = this.manager.tooltipViews[i],
          dom = tView.dom;
        var pos = measured.pos[i],
          size = measured.size[i];
        // Hide tooltips that are outside of the editor.
        if (!pos || pos.bottom <= Math.max(editor.top, space.top) || pos.top >= Math.min(editor.bottom, space.bottom) || pos.right < Math.max(editor.left, space.left) - .1 || pos.left > Math.min(editor.right, space.right) + .1) {
          dom.style.top = Outside;
          continue;
        }
        var arrow = tooltip.arrow ? tView.dom.querySelector(".cm-tooltip-arrow") : null;
        var arrowHeight = arrow ? 7 /* Arrow.Size */ : 0;
        var width = size.right - size.left,
          height = (_a = knownHeight.get(tView)) !== null && _a !== void 0 ? _a : size.bottom - size.top;
        var offset = tView.offset || noOffset,
          ltr = this.view.textDirection == Direction.LTR;
        var left = size.width > space.right - space.left ? ltr ? space.left : space.right - size.width : ltr ? Math.min(pos.left - (arrow ? 14 /* Arrow.Offset */ : 0) + offset.x, space.right - width) : Math.max(space.left, pos.left - width + (arrow ? 14 /* Arrow.Offset */ : 0) - offset.x);
        var above = this.above[i];
        if (!tooltip.strictSide && (above ? pos.top - (size.bottom - size.top) - offset.y < space.top : pos.bottom + (size.bottom - size.top) + offset.y > space.bottom) && above == space.bottom - pos.bottom > pos.top - space.top) above = this.above[i] = !above;
        var spaceVert = (above ? pos.top - space.top : space.bottom - pos.bottom) - arrowHeight;
        if (spaceVert < height && tView.resize !== false) {
          if (spaceVert < this.view.defaultLineHeight) {
            dom.style.top = Outside;
            continue;
          }
          knownHeight.set(tView, height);
          dom.style.height = (height = spaceVert) / scaleY + "px";
        } else if (dom.style.height) {
          dom.style.height = "";
        }
        var top = above ? pos.top - height - arrowHeight - offset.y : pos.bottom + arrowHeight + offset.y;
        var right = left + width;
        if (tView.overlap !== true) {
          var _iterator81 = _createForOfIteratorHelper(others),
            _step81;
          try {
            for (_iterator81.s(); !(_step81 = _iterator81.n()).done;) {
              var _r4 = _step81.value;
              if (_r4.left < right && _r4.right > left && _r4.top < top + height && _r4.bottom > top) top = above ? _r4.top - height - 2 - arrowHeight : _r4.bottom + arrowHeight + 2;
            }
          } catch (err) {
            _iterator81.e(err);
          } finally {
            _iterator81.f();
          }
        }
        if (this.position == "absolute") {
          dom.style.top = (top - measured.parent.top) / scaleY + "px";
          dom.style.left = (left - measured.parent.left) / scaleX + "px";
        } else {
          dom.style.top = top / scaleY + "px";
          dom.style.left = left / scaleX + "px";
        }
        if (arrow) {
          var arrowLeft = pos.left + (ltr ? offset.x : -offset.x) - (left + 14 /* Arrow.Offset */ - 7 /* Arrow.Size */);
          arrow.style.left = arrowLeft / scaleX + "px";
        }
        if (tView.overlap !== true) others.push({
          left: left,
          top: top,
          right: right,
          bottom: top + height
        });
        dom.classList.toggle("cm-tooltip-above", above);
        dom.classList.toggle("cm-tooltip-below", !above);
        if (tView.positioned) tView.positioned(measured.space);
      }
    }
  }, {
    key: "maybeMeasure",
    value: function maybeMeasure() {
      if (this.manager.tooltips.length) {
        if (this.view.inView) this.view.requestMeasure(this.measureReq);
        if (this.inView != this.view.inView) {
          this.inView = this.view.inView;
          if (!this.inView) {
            var _iterator82 = _createForOfIteratorHelper(this.manager.tooltipViews),
              _step82;
            try {
              for (_iterator82.s(); !(_step82 = _iterator82.n()).done;) {
                var tv = _step82.value;
                tv.dom.style.top = Outside;
              }
            } catch (err) {
              _iterator82.e(err);
            } finally {
              _iterator82.f();
            }
          }
        }
      }
    }
  }]);
}(), {
  eventObservers: {
    scroll: function scroll() {
      this.maybeMeasure();
    }
  }
});
var baseTheme = /*@__PURE__*/EditorView.baseTheme({
  ".cm-tooltip": {
    zIndex: 100,
    boxSizing: "border-box"
  },
  "&light .cm-tooltip": {
    border: "1px solid #bbb",
    backgroundColor: "#f5f5f5"
  },
  "&light .cm-tooltip-section:not(:first-child)": {
    borderTop: "1px solid #bbb"
  },
  "&dark .cm-tooltip": {
    backgroundColor: "#333338",
    color: "white"
  },
  ".cm-tooltip-arrow": {
    height: "".concat(7 /* Arrow.Size */, "px"),
    width: "".concat(7 /* Arrow.Size */ * 2, "px"),
    position: "absolute",
    zIndex: -1,
    overflow: "hidden",
    "&:before, &:after": {
      content: "''",
      position: "absolute",
      width: 0,
      height: 0,
      borderLeft: "".concat(7 /* Arrow.Size */, "px solid transparent"),
      borderRight: "".concat(7 /* Arrow.Size */, "px solid transparent")
    },
    ".cm-tooltip-above &": {
      bottom: "-".concat(7 /* Arrow.Size */, "px"),
      "&:before": {
        borderTop: "".concat(7 /* Arrow.Size */, "px solid #bbb")
      },
      "&:after": {
        borderTop: "".concat(7 /* Arrow.Size */, "px solid #f5f5f5"),
        bottom: "1px"
      }
    },
    ".cm-tooltip-below &": {
      top: "-".concat(7 /* Arrow.Size */, "px"),
      "&:before": {
        borderBottom: "".concat(7 /* Arrow.Size */, "px solid #bbb")
      },
      "&:after": {
        borderBottom: "".concat(7 /* Arrow.Size */, "px solid #f5f5f5"),
        top: "1px"
      }
    }
  },
  "&dark .cm-tooltip .cm-tooltip-arrow": {
    "&:before": {
      borderTopColor: "#333338",
      borderBottomColor: "#333338"
    },
    "&:after": {
      borderTopColor: "transparent",
      borderBottomColor: "transparent"
    }
  }
});
var noOffset = {
  x: 0,
  y: 0
};
/**
Facet to which an extension can add a value to show a tooltip.
*/
var showTooltip = exports.showTooltip = /*@__PURE__*/_state.Facet.define({
  enables: [tooltipPlugin, baseTheme]
});
var showHoverTooltip = /*@__PURE__*/_state.Facet.define({
  combine: function combine(inputs) {
    return inputs.reduce(function (a, i) {
      return a.concat(i);
    }, []);
  }
});
var HoverTooltipHost = /*#__PURE__*/function () {
  function HoverTooltipHost(view) {
    var _this53 = this;
    _classCallCheck(this, HoverTooltipHost);
    this.view = view;
    this.mounted = false;
    this.dom = document.createElement("div");
    this.dom.classList.add("cm-tooltip-hover");
    this.manager = new TooltipViewManager(view, showHoverTooltip, function (t, p) {
      return _this53.createHostedView(t, p);
    }, function (t) {
      return t.dom.remove();
    });
  }
  return _createClass(HoverTooltipHost, [{
    key: "createHostedView",
    value: function createHostedView(tooltip, prev) {
      var hostedView = tooltip.create(this.view);
      hostedView.dom.classList.add("cm-tooltip-section");
      this.dom.insertBefore(hostedView.dom, prev ? prev.dom.nextSibling : this.dom.firstChild);
      if (this.mounted && hostedView.mount) hostedView.mount(this.view);
      return hostedView;
    }
  }, {
    key: "mount",
    value: function mount(view) {
      var _iterator83 = _createForOfIteratorHelper(this.manager.tooltipViews),
        _step83;
      try {
        for (_iterator83.s(); !(_step83 = _iterator83.n()).done;) {
          var hostedView = _step83.value;
          if (hostedView.mount) hostedView.mount(view);
        }
      } catch (err) {
        _iterator83.e(err);
      } finally {
        _iterator83.f();
      }
      this.mounted = true;
    }
  }, {
    key: "positioned",
    value: function positioned(space) {
      var _iterator84 = _createForOfIteratorHelper(this.manager.tooltipViews),
        _step84;
      try {
        for (_iterator84.s(); !(_step84 = _iterator84.n()).done;) {
          var hostedView = _step84.value;
          if (hostedView.positioned) hostedView.positioned(space);
        }
      } catch (err) {
        _iterator84.e(err);
      } finally {
        _iterator84.f();
      }
    }
  }, {
    key: "update",
    value: function update(_update16) {
      this.manager.update(_update16);
    }
  }, {
    key: "destroy",
    value: function destroy() {
      var _a;
      var _iterator85 = _createForOfIteratorHelper(this.manager.tooltipViews),
        _step85;
      try {
        for (_iterator85.s(); !(_step85 = _iterator85.n()).done;) {
          var t = _step85.value;
          (_a = t.destroy) === null || _a === void 0 ? void 0 : _a.call(t);
        }
      } catch (err) {
        _iterator85.e(err);
      } finally {
        _iterator85.f();
      }
    }
  }, {
    key: "passProp",
    value: function passProp(name) {
      var value = undefined;
      var _iterator86 = _createForOfIteratorHelper(this.manager.tooltipViews),
        _step86;
      try {
        for (_iterator86.s(); !(_step86 = _iterator86.n()).done;) {
          var view = _step86.value;
          var given = view[name];
          if (given !== undefined) {
            if (value === undefined) value = given;else if (value !== given) return undefined;
          }
        }
      } catch (err) {
        _iterator86.e(err);
      } finally {
        _iterator86.f();
      }
      return value;
    }
  }, {
    key: "offset",
    get: function get() {
      return this.passProp("offset");
    }
  }, {
    key: "getCoords",
    get: function get() {
      return this.passProp("getCoords");
    }
  }, {
    key: "overlap",
    get: function get() {
      return this.passProp("overlap");
    }
  }, {
    key: "resize",
    get: function get() {
      return this.passProp("resize");
    }
  }], [{
    key: "create",
    value:
    // Needs to be static so that host tooltip instances always match
    function create(view) {
      return new HoverTooltipHost(view);
    }
  }]);
}();
var showHoverTooltipHost = /*@__PURE__*/showTooltip.compute([showHoverTooltip], function (state) {
  var tooltips = state.facet(showHoverTooltip);
  if (tooltips.length === 0) return null;
  return {
    pos: Math.min.apply(Math, _toConsumableArray(tooltips.map(function (t) {
      return t.pos;
    }))),
    end: Math.max.apply(Math, _toConsumableArray(tooltips.map(function (t) {
      var _a;
      return (_a = t.end) !== null && _a !== void 0 ? _a : t.pos;
    }))),
    create: HoverTooltipHost.create,
    above: tooltips[0].above,
    arrow: tooltips.some(function (t) {
      return t.arrow;
    })
  };
});
var HoverPlugin = /*#__PURE__*/function () {
  function HoverPlugin(view, source, field, setHover, hoverTime) {
    _classCallCheck(this, HoverPlugin);
    this.view = view;
    this.source = source;
    this.field = field;
    this.setHover = setHover;
    this.hoverTime = hoverTime;
    this.hoverTimeout = -1;
    this.restartTimeout = -1;
    this.pending = null;
    this.lastMove = {
      x: 0,
      y: 0,
      target: view.dom,
      time: 0
    };
    this.checkHover = this.checkHover.bind(this);
    view.dom.addEventListener("mouseleave", this.mouseleave = this.mouseleave.bind(this));
    view.dom.addEventListener("mousemove", this.mousemove = this.mousemove.bind(this));
  }
  return _createClass(HoverPlugin, [{
    key: "update",
    value: function update() {
      var _this54 = this;
      if (this.pending) {
        this.pending = null;
        clearTimeout(this.restartTimeout);
        this.restartTimeout = setTimeout(function () {
          return _this54.startHover();
        }, 20);
      }
    }
  }, {
    key: "active",
    get: function get() {
      return this.view.state.field(this.field);
    }
  }, {
    key: "checkHover",
    value: function checkHover() {
      this.hoverTimeout = -1;
      if (this.active.length) return;
      var hovered = Date.now() - this.lastMove.time;
      if (hovered < this.hoverTime) this.hoverTimeout = setTimeout(this.checkHover, this.hoverTime - hovered);else this.startHover();
    }
  }, {
    key: "startHover",
    value: function startHover() {
      var _this55 = this;
      clearTimeout(this.restartTimeout);
      var view = this.view,
        lastMove = this.lastMove;
      var desc = view.docView.nearest(lastMove.target);
      if (!desc) return;
      var pos,
        side = 1;
      if (desc instanceof WidgetView) {
        pos = desc.posAtStart;
      } else {
        pos = view.posAtCoords(lastMove);
        if (pos == null) return;
        var posCoords = view.coordsAtPos(pos);
        if (!posCoords || lastMove.y < posCoords.top || lastMove.y > posCoords.bottom || lastMove.x < posCoords.left - view.defaultCharacterWidth || lastMove.x > posCoords.right + view.defaultCharacterWidth) return;
        var bidi = view.bidiSpans(view.state.doc.lineAt(pos)).find(function (s) {
          return s.from <= pos && s.to >= pos;
        });
        var rtl = bidi && bidi.dir == Direction.RTL ? -1 : 1;
        side = lastMove.x < posCoords.left ? -rtl : rtl;
      }
      var open = this.source(view, pos, side);
      if (open === null || open === void 0 ? void 0 : open.then) {
        var pending = this.pending = {
          pos: pos
        };
        open.then(function (result) {
          if (_this55.pending == pending) {
            _this55.pending = null;
            if (result && !(Array.isArray(result) && !result.length)) view.dispatch({
              effects: _this55.setHover.of(Array.isArray(result) ? result : [result])
            });
          }
        }, function (e) {
          return logException(view.state, e, "hover tooltip");
        });
      } else if (open && !(Array.isArray(open) && !open.length)) {
        view.dispatch({
          effects: this.setHover.of(Array.isArray(open) ? open : [open])
        });
      }
    }
  }, {
    key: "tooltip",
    get: function get() {
      var plugin = this.view.plugin(tooltipPlugin);
      var index = plugin ? plugin.manager.tooltips.findIndex(function (t) {
        return t.create == HoverTooltipHost.create;
      }) : -1;
      return index > -1 ? plugin.manager.tooltipViews[index] : null;
    }
  }, {
    key: "mousemove",
    value: function mousemove(event) {
      var _a, _b;
      this.lastMove = {
        x: event.clientX,
        y: event.clientY,
        target: event.target,
        time: Date.now()
      };
      if (this.hoverTimeout < 0) this.hoverTimeout = setTimeout(this.checkHover, this.hoverTime);
      var active = this.active,
        tooltip = this.tooltip;
      if (active.length && tooltip && !isInTooltip(tooltip.dom, event) || this.pending) {
        var _ref12 = active[0] || this.pending,
          pos = _ref12.pos,
          end = (_b = (_a = active[0]) === null || _a === void 0 ? void 0 : _a.end) !== null && _b !== void 0 ? _b : pos;
        if (pos == end ? this.view.posAtCoords(this.lastMove) != pos : !isOverRange(this.view, pos, end, event.clientX, event.clientY)) {
          this.view.dispatch({
            effects: this.setHover.of([])
          });
          this.pending = null;
        }
      }
    }
  }, {
    key: "mouseleave",
    value: function mouseleave(event) {
      clearTimeout(this.hoverTimeout);
      this.hoverTimeout = -1;
      var active = this.active;
      if (active.length) {
        var tooltip = this.tooltip;
        var inTooltip = tooltip && tooltip.dom.contains(event.relatedTarget);
        if (!inTooltip) this.view.dispatch({
          effects: this.setHover.of([])
        });else this.watchTooltipLeave(tooltip.dom);
      }
    }
  }, {
    key: "watchTooltipLeave",
    value: function watchTooltipLeave(tooltip) {
      var _this56 = this;
      var watch = function watch(event) {
        tooltip.removeEventListener("mouseleave", watch);
        if (_this56.active.length && !_this56.view.dom.contains(event.relatedTarget)) _this56.view.dispatch({
          effects: _this56.setHover.of([])
        });
      };
      tooltip.addEventListener("mouseleave", watch);
    }
  }, {
    key: "destroy",
    value: function destroy() {
      clearTimeout(this.hoverTimeout);
      this.view.dom.removeEventListener("mouseleave", this.mouseleave);
      this.view.dom.removeEventListener("mousemove", this.mousemove);
    }
  }]);
}();
var tooltipMargin = 4;
function isInTooltip(tooltip, event) {
  var rect = tooltip.getBoundingClientRect();
  return event.clientX >= rect.left - tooltipMargin && event.clientX <= rect.right + tooltipMargin && event.clientY >= rect.top - tooltipMargin && event.clientY <= rect.bottom + tooltipMargin;
}
function isOverRange(view, from, to, x, y, margin) {
  var rect = view.scrollDOM.getBoundingClientRect();
  var docBottom = view.documentTop + view.documentPadding.top + view.contentHeight;
  if (rect.left > x || rect.right < x || rect.top > y || Math.min(rect.bottom, docBottom) < y) return false;
  var pos = view.posAtCoords({
    x: x,
    y: y
  }, false);
  return pos >= from && pos <= to;
}
/**
Set up a hover tooltip, which shows up when the pointer hovers
over ranges of text. The callback is called when the mouse hovers
over the document text. It should, if there is a tooltip
associated with position `pos`, return the tooltip description
(either directly or in a promise). The `side` argument indicates
on which side of the position the pointer is—it will be -1 if the
pointer is before the position, 1 if after the position.

Note that all hover tooltips are hosted within a single tooltip
container element. This allows multiple tooltips over the same
range to be "merged" together without overlapping.
*/
function hoverTooltip(source) {
  var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
  var setHover = _state.StateEffect.define();
  var hoverState = _state.StateField.define({
    create: function create() {
      return [];
    },
    update: function update(value, tr) {
      if (value.length) {
        if (options.hideOnChange && (tr.docChanged || tr.selection)) value = [];else if (options.hideOn) value = value.filter(function (v) {
          return !options.hideOn(tr, v);
        });
        if (tr.docChanged) {
          var mapped = [];
          var _iterator87 = _createForOfIteratorHelper(value),
            _step87;
          try {
            for (_iterator87.s(); !(_step87 = _iterator87.n()).done;) {
              var tooltip = _step87.value;
              var newPos = tr.changes.mapPos(tooltip.pos, -1, _state.MapMode.TrackDel);
              if (newPos != null) {
                var copy = Object.assign(Object.create(null), tooltip);
                copy.pos = newPos;
                if (copy.end != null) copy.end = tr.changes.mapPos(copy.end);
                mapped.push(copy);
              }
            }
          } catch (err) {
            _iterator87.e(err);
          } finally {
            _iterator87.f();
          }
          value = mapped;
        }
      }
      var _iterator88 = _createForOfIteratorHelper(tr.effects),
        _step88;
      try {
        for (_iterator88.s(); !(_step88 = _iterator88.n()).done;) {
          var effect = _step88.value;
          if (effect.is(setHover)) value = effect.value;
          if (effect.is(closeHoverTooltipEffect)) value = [];
        }
      } catch (err) {
        _iterator88.e(err);
      } finally {
        _iterator88.f();
      }
      return value;
    },
    provide: function provide(f) {
      return showHoverTooltip.from(f);
    }
  });
  return [hoverState, ViewPlugin.define(function (view) {
    return new HoverPlugin(view, source, hoverState, setHover, options.hoverTime || 300 /* Hover.Time */);
  }), showHoverTooltipHost];
}
/**
Get the active tooltip view for a given tooltip, if available.
*/
function getTooltip(view, tooltip) {
  var plugin = view.plugin(tooltipPlugin);
  if (!plugin) return null;
  var found = plugin.manager.tooltips.indexOf(tooltip);
  return found < 0 ? null : plugin.manager.tooltipViews[found];
}
/**
Returns true if any hover tooltips are currently active.
*/
function hasHoverTooltips(state) {
  return state.facet(showHoverTooltip).some(function (x) {
    return x;
  });
}
var closeHoverTooltipEffect = /*@__PURE__*/_state.StateEffect.define();
/**
Transaction effect that closes all hover tooltips.
*/
var closeHoverTooltips = exports.closeHoverTooltips = /*@__PURE__*/closeHoverTooltipEffect.of(null);
/**
Tell the tooltip extension to recompute the position of the active
tooltips. This can be useful when something happens (such as a
re-positioning or CSS change affecting the editor) that could
invalidate the existing tooltip positions.
*/
function repositionTooltips(view) {
  var plugin = view.plugin(tooltipPlugin);
  if (plugin) plugin.maybeMeasure();
}
var panelConfig = /*@__PURE__*/_state.Facet.define({
  combine: function combine(configs) {
    var topContainer, bottomContainer;
    var _iterator89 = _createForOfIteratorHelper(configs),
      _step89;
    try {
      for (_iterator89.s(); !(_step89 = _iterator89.n()).done;) {
        var c = _step89.value;
        topContainer = topContainer || c.topContainer;
        bottomContainer = bottomContainer || c.bottomContainer;
      }
    } catch (err) {
      _iterator89.e(err);
    } finally {
      _iterator89.f();
    }
    return {
      topContainer: topContainer,
      bottomContainer: bottomContainer
    };
  }
});
/**
Configures the panel-managing extension.
*/
function panels(config) {
  return config ? [panelConfig.of(config)] : [];
}
/**
Get the active panel created by the given constructor, if any.
This can be useful when you need access to your panels' DOM
structure.
*/
function getPanel(view, panel) {
  var plugin = view.plugin(panelPlugin);
  var index = plugin ? plugin.specs.indexOf(panel) : -1;
  return index > -1 ? plugin.panels[index] : null;
}
var panelPlugin = /*@__PURE__*/ViewPlugin.fromClass( /*#__PURE__*/function () {
  function _class8(view) {
    _classCallCheck(this, _class8);
    this.input = view.state.facet(showPanel);
    this.specs = this.input.filter(function (s) {
      return s;
    });
    this.panels = this.specs.map(function (spec) {
      return spec(view);
    });
    var conf = view.state.facet(panelConfig);
    this.top = new PanelGroup(view, true, conf.topContainer);
    this.bottom = new PanelGroup(view, false, conf.bottomContainer);
    this.top.sync(this.panels.filter(function (p) {
      return p.top;
    }));
    this.bottom.sync(this.panels.filter(function (p) {
      return !p.top;
    }));
    var _iterator90 = _createForOfIteratorHelper(this.panels),
      _step90;
    try {
      for (_iterator90.s(); !(_step90 = _iterator90.n()).done;) {
        var _p2 = _step90.value;
        _p2.dom.classList.add("cm-panel");
        if (_p2.mount) _p2.mount();
      }
    } catch (err) {
      _iterator90.e(err);
    } finally {
      _iterator90.f();
    }
  }
  return _createClass(_class8, [{
    key: "update",
    value: function update(_update17) {
      var conf = _update17.state.facet(panelConfig);
      if (this.top.container != conf.topContainer) {
        this.top.sync([]);
        this.top = new PanelGroup(_update17.view, true, conf.topContainer);
      }
      if (this.bottom.container != conf.bottomContainer) {
        this.bottom.sync([]);
        this.bottom = new PanelGroup(_update17.view, false, conf.bottomContainer);
      }
      this.top.syncClasses();
      this.bottom.syncClasses();
      var input = _update17.state.facet(showPanel);
      if (input != this.input) {
        var specs = input.filter(function (x) {
          return x;
        });
        var _panels = [],
          top = [],
          bottom = [],
          mount = [];
        var _iterator91 = _createForOfIteratorHelper(specs),
          _step91;
        try {
          for (_iterator91.s(); !(_step91 = _iterator91.n()).done;) {
            var spec = _step91.value;
            var known = this.specs.indexOf(spec),
              panel = void 0;
            if (known < 0) {
              panel = spec(_update17.view);
              mount.push(panel);
            } else {
              panel = this.panels[known];
              if (panel.update) panel.update(_update17);
            }
            _panels.push(panel);
            (panel.top ? top : bottom).push(panel);
          }
        } catch (err) {
          _iterator91.e(err);
        } finally {
          _iterator91.f();
        }
        this.specs = specs;
        this.panels = _panels;
        this.top.sync(top);
        this.bottom.sync(bottom);
        for (var _i12 = 0, _mount = mount; _i12 < _mount.length; _i12++) {
          var _p3 = _mount[_i12];
          _p3.dom.classList.add("cm-panel");
          if (_p3.mount) _p3.mount();
        }
      } else {
        var _iterator92 = _createForOfIteratorHelper(this.panels),
          _step92;
        try {
          for (_iterator92.s(); !(_step92 = _iterator92.n()).done;) {
            var _p4 = _step92.value;
            if (_p4.update) _p4.update(_update17);
          }
        } catch (err) {
          _iterator92.e(err);
        } finally {
          _iterator92.f();
        }
      }
    }
  }, {
    key: "destroy",
    value: function destroy() {
      this.top.sync([]);
      this.bottom.sync([]);
    }
  }]);
}(), {
  provide: function provide(plugin) {
    return EditorView.scrollMargins.of(function (view) {
      var value = view.plugin(plugin);
      return value && {
        top: value.top.scrollMargin(),
        bottom: value.bottom.scrollMargin()
      };
    });
  }
});
var PanelGroup = /*#__PURE__*/function () {
  function PanelGroup(view, top, container) {
    _classCallCheck(this, PanelGroup);
    this.view = view;
    this.top = top;
    this.container = container;
    this.dom = undefined;
    this.classes = "";
    this.panels = [];
    this.syncClasses();
  }
  return _createClass(PanelGroup, [{
    key: "sync",
    value: function sync(panels) {
      var _iterator93 = _createForOfIteratorHelper(this.panels),
        _step93;
      try {
        for (_iterator93.s(); !(_step93 = _iterator93.n()).done;) {
          var _p5 = _step93.value;
          if (_p5.destroy && panels.indexOf(_p5) < 0) _p5.destroy();
        }
      } catch (err) {
        _iterator93.e(err);
      } finally {
        _iterator93.f();
      }
      this.panels = panels;
      this.syncDOM();
    }
  }, {
    key: "syncDOM",
    value: function syncDOM() {
      if (this.panels.length == 0) {
        if (this.dom) {
          this.dom.remove();
          this.dom = undefined;
        }
        return;
      }
      if (!this.dom) {
        this.dom = document.createElement("div");
        this.dom.className = this.top ? "cm-panels cm-panels-top" : "cm-panels cm-panels-bottom";
        this.dom.style[this.top ? "top" : "bottom"] = "0";
        var parent = this.container || this.view.dom;
        parent.insertBefore(this.dom, this.top ? parent.firstChild : null);
      }
      var curDOM = this.dom.firstChild;
      var _iterator94 = _createForOfIteratorHelper(this.panels),
        _step94;
      try {
        for (_iterator94.s(); !(_step94 = _iterator94.n()).done;) {
          var panel = _step94.value;
          if (panel.dom.parentNode == this.dom) {
            while (curDOM != panel.dom) curDOM = rm(curDOM);
            curDOM = curDOM.nextSibling;
          } else {
            this.dom.insertBefore(panel.dom, curDOM);
          }
        }
      } catch (err) {
        _iterator94.e(err);
      } finally {
        _iterator94.f();
      }
      while (curDOM) curDOM = rm(curDOM);
    }
  }, {
    key: "scrollMargin",
    value: function scrollMargin() {
      return !this.dom || this.container ? 0 : Math.max(0, this.top ? this.dom.getBoundingClientRect().bottom - Math.max(0, this.view.scrollDOM.getBoundingClientRect().top) : Math.min(innerHeight, this.view.scrollDOM.getBoundingClientRect().bottom) - this.dom.getBoundingClientRect().top);
    }
  }, {
    key: "syncClasses",
    value: function syncClasses() {
      if (!this.container || this.classes == this.view.themeClasses) return;
      var _iterator95 = _createForOfIteratorHelper(this.classes.split(" ")),
        _step95;
      try {
        for (_iterator95.s(); !(_step95 = _iterator95.n()).done;) {
          var cls = _step95.value;
          if (cls) this.container.classList.remove(cls);
        }
      } catch (err) {
        _iterator95.e(err);
      } finally {
        _iterator95.f();
      }
      var _iterator96 = _createForOfIteratorHelper((this.classes = this.view.themeClasses).split(" ")),
        _step96;
      try {
        for (_iterator96.s(); !(_step96 = _iterator96.n()).done;) {
          var _cls = _step96.value;
          if (_cls) this.container.classList.add(_cls);
        }
      } catch (err) {
        _iterator96.e(err);
      } finally {
        _iterator96.f();
      }
    }
  }]);
}();
function rm(node) {
  var next = node.nextSibling;
  node.remove();
  return next;
}
/**
Opening a panel is done by providing a constructor function for
the panel through this facet. (The panel is closed again when its
constructor is no longer provided.) Values of `null` are ignored.
*/
var showPanel = exports.showPanel = /*@__PURE__*/_state.Facet.define({
  enables: panelPlugin
});

/**
A gutter marker represents a bit of information attached to a line
in a specific gutter. Your own custom markers have to extend this
class.
*/
var GutterMarker = exports.GutterMarker = /*#__PURE__*/function (_RangeValue2) {
  function GutterMarker() {
    _classCallCheck(this, GutterMarker);
    return _callSuper(this, GutterMarker, arguments);
  }
  _inherits(GutterMarker, _RangeValue2);
  return _createClass(GutterMarker, [{
    key: "compare",
    value:
    /**
    @internal
    */
    function compare(other) {
      return this == other || this.constructor == other.constructor && this.eq(other);
    }
    /**
    Compare this marker to another marker of the same type.
    */
  }, {
    key: "eq",
    value: function eq(other) {
      return false;
    }
    /**
    Called if the marker has a `toDOM` method and its representation
    was removed from a gutter.
    */
  }, {
    key: "destroy",
    value: function destroy(dom) {}
  }]);
}(_state.RangeValue);
GutterMarker.prototype.elementClass = "";
GutterMarker.prototype.toDOM = undefined;
GutterMarker.prototype.mapMode = _state.MapMode.TrackBefore;
GutterMarker.prototype.startSide = GutterMarker.prototype.endSide = -1;
GutterMarker.prototype.point = true;
/**
Facet used to add a class to all gutter elements for a given line.
Markers given to this facet should _only_ define an
[`elementclass`](https://codemirror.net/6/docs/ref/#view.GutterMarker.elementClass), not a
[`toDOM`](https://codemirror.net/6/docs/ref/#view.GutterMarker.toDOM) (or the marker will appear
in all gutters for the line).
*/
var gutterLineClass = exports.gutterLineClass = /*@__PURE__*/_state.Facet.define();
var defaults = {
  "class": "",
  renderEmptyElements: false,
  elementStyle: "",
  markers: function markers() {
    return _state.RangeSet.empty;
  },
  lineMarker: function lineMarker() {
    return null;
  },
  widgetMarker: function widgetMarker() {
    return null;
  },
  lineMarkerChange: null,
  initialSpacer: null,
  updateSpacer: null,
  domEventHandlers: {}
};
var activeGutters = /*@__PURE__*/_state.Facet.define();
/**
Define an editor gutter. The order in which the gutters appear is
determined by their extension priority.
*/
function gutter(config) {
  return [gutters(), activeGutters.of(Object.assign(Object.assign({}, defaults), config))];
}
var unfixGutters = /*@__PURE__*/_state.Facet.define({
  combine: function combine(values) {
    return values.some(function (x) {
      return x;
    });
  }
});
/**
The gutter-drawing plugin is automatically enabled when you add a
gutter, but you can use this function to explicitly configure it.

Unless `fixed` is explicitly set to `false`, the gutters are
fixed, meaning they don't scroll along with the content
horizontally (except on Internet Explorer, which doesn't support
CSS [`position:
sticky`](https://developer.mozilla.org/en-US/docs/Web/CSS/position#sticky)).
*/
function gutters(config) {
  var result = [gutterView];
  if (config && config.fixed === false) result.push(unfixGutters.of(true));
  return result;
}
var gutterView = /*@__PURE__*/ViewPlugin.fromClass( /*#__PURE__*/function () {
  function _class9(view) {
    _classCallCheck(this, _class9);
    this.view = view;
    this.prevViewport = view.viewport;
    this.dom = document.createElement("div");
    this.dom.className = "cm-gutters";
    this.dom.setAttribute("aria-hidden", "true");
    this.dom.style.minHeight = this.view.contentHeight / this.view.scaleY + "px";
    this.gutters = view.state.facet(activeGutters).map(function (conf) {
      return new SingleGutterView(view, conf);
    });
    var _iterator97 = _createForOfIteratorHelper(this.gutters),
      _step97;
    try {
      for (_iterator97.s(); !(_step97 = _iterator97.n()).done;) {
        var _gutter = _step97.value;
        this.dom.appendChild(_gutter.dom);
      }
    } catch (err) {
      _iterator97.e(err);
    } finally {
      _iterator97.f();
    }
    this.fixed = !view.state.facet(unfixGutters);
    if (this.fixed) {
      // FIXME IE11 fallback, which doesn't support position: sticky,
      // by using position: relative + event handlers that realign the
      // gutter (or just force fixed=false on IE11?)
      this.dom.style.position = "sticky";
    }
    this.syncGutters(false);
    view.scrollDOM.insertBefore(this.dom, view.contentDOM);
  }
  return _createClass(_class9, [{
    key: "update",
    value: function update(_update18) {
      if (this.updateGutters(_update18)) {
        // Detach during sync when the viewport changed significantly
        // (such as during scrolling), since for large updates that is
        // faster.
        var vpA = this.prevViewport,
          vpB = _update18.view.viewport;
        var vpOverlap = Math.min(vpA.to, vpB.to) - Math.max(vpA.from, vpB.from);
        this.syncGutters(vpOverlap < (vpB.to - vpB.from) * 0.8);
      }
      if (_update18.geometryChanged) {
        this.dom.style.minHeight = this.view.contentHeight / this.view.scaleY + "px";
      }
      if (this.view.state.facet(unfixGutters) != !this.fixed) {
        this.fixed = !this.fixed;
        this.dom.style.position = this.fixed ? "sticky" : "";
      }
      this.prevViewport = _update18.view.viewport;
    }
  }, {
    key: "syncGutters",
    value: function syncGutters(detach) {
      var _this57 = this;
      var after = this.dom.nextSibling;
      if (detach) this.dom.remove();
      var lineClasses = _state.RangeSet.iter(this.view.state.facet(gutterLineClass), this.view.viewport.from);
      var classSet = [];
      var contexts = this.gutters.map(function (gutter) {
        return new UpdateContext(gutter, _this57.view.viewport, -_this57.view.documentPadding.top);
      });
      var _iterator98 = _createForOfIteratorHelper(this.view.viewportLineBlocks),
        _step98;
      try {
        for (_iterator98.s(); !(_step98 = _iterator98.n()).done;) {
          var line = _step98.value;
          if (classSet.length) classSet = [];
          if (Array.isArray(line.type)) {
            var first = true;
            var _iterator100 = _createForOfIteratorHelper(line.type),
              _step100;
            try {
              for (_iterator100.s(); !(_step100 = _iterator100.n()).done;) {
                var b = _step100.value;
                if (b.type == BlockType.Text && first) {
                  advanceCursor(lineClasses, classSet, b.from);
                  var _iterator101 = _createForOfIteratorHelper(contexts),
                    _step101;
                  try {
                    for (_iterator101.s(); !(_step101 = _iterator101.n()).done;) {
                      var cx = _step101.value;
                      cx.line(this.view, b, classSet);
                    }
                  } catch (err) {
                    _iterator101.e(err);
                  } finally {
                    _iterator101.f();
                  }
                  first = false;
                } else if (b.widget) {
                  var _iterator102 = _createForOfIteratorHelper(contexts),
                    _step102;
                  try {
                    for (_iterator102.s(); !(_step102 = _iterator102.n()).done;) {
                      var _cx = _step102.value;
                      _cx.widget(this.view, b);
                    }
                  } catch (err) {
                    _iterator102.e(err);
                  } finally {
                    _iterator102.f();
                  }
                }
              }
            } catch (err) {
              _iterator100.e(err);
            } finally {
              _iterator100.f();
            }
          } else if (line.type == BlockType.Text) {
            advanceCursor(lineClasses, classSet, line.from);
            var _iterator103 = _createForOfIteratorHelper(contexts),
              _step103;
            try {
              for (_iterator103.s(); !(_step103 = _iterator103.n()).done;) {
                var _cx2 = _step103.value;
                _cx2.line(this.view, line, classSet);
              }
            } catch (err) {
              _iterator103.e(err);
            } finally {
              _iterator103.f();
            }
          } else if (line.widget) {
            var _iterator104 = _createForOfIteratorHelper(contexts),
              _step104;
            try {
              for (_iterator104.s(); !(_step104 = _iterator104.n()).done;) {
                var _cx3 = _step104.value;
                _cx3.widget(this.view, line);
              }
            } catch (err) {
              _iterator104.e(err);
            } finally {
              _iterator104.f();
            }
          }
        }
      } catch (err) {
        _iterator98.e(err);
      } finally {
        _iterator98.f();
      }
      var _iterator99 = _createForOfIteratorHelper(contexts),
        _step99;
      try {
        for (_iterator99.s(); !(_step99 = _iterator99.n()).done;) {
          var _cx4 = _step99.value;
          _cx4.finish();
        }
      } catch (err) {
        _iterator99.e(err);
      } finally {
        _iterator99.f();
      }
      if (detach) this.view.scrollDOM.insertBefore(this.dom, after);
    }
  }, {
    key: "updateGutters",
    value: function updateGutters(update) {
      var prev = update.startState.facet(activeGutters),
        cur = update.state.facet(activeGutters);
      var change = update.docChanged || update.heightChanged || update.viewportChanged || !_state.RangeSet.eq(update.startState.facet(gutterLineClass), update.state.facet(gutterLineClass), update.view.viewport.from, update.view.viewport.to);
      if (prev == cur) {
        var _iterator105 = _createForOfIteratorHelper(this.gutters),
          _step105;
        try {
          for (_iterator105.s(); !(_step105 = _iterator105.n()).done;) {
            var _gutter2 = _step105.value;
            if (_gutter2.update(update)) change = true;
          }
        } catch (err) {
          _iterator105.e(err);
        } finally {
          _iterator105.f();
        }
      } else {
        change = true;
        var _gutters = [];
        var _iterator106 = _createForOfIteratorHelper(cur),
          _step106;
        try {
          for (_iterator106.s(); !(_step106 = _iterator106.n()).done;) {
            var conf = _step106.value;
            var known = prev.indexOf(conf);
            if (known < 0) {
              _gutters.push(new SingleGutterView(this.view, conf));
            } else {
              this.gutters[known].update(update);
              _gutters.push(this.gutters[known]);
            }
          }
        } catch (err) {
          _iterator106.e(err);
        } finally {
          _iterator106.f();
        }
        var _iterator107 = _createForOfIteratorHelper(this.gutters),
          _step107;
        try {
          for (_iterator107.s(); !(_step107 = _iterator107.n()).done;) {
            var _g = _step107.value;
            _g.dom.remove();
            if (_gutters.indexOf(_g) < 0) _g.destroy();
          }
        } catch (err) {
          _iterator107.e(err);
        } finally {
          _iterator107.f();
        }
        for (var _i13 = 0, _gutters2 = _gutters; _i13 < _gutters2.length; _i13++) {
          var g = _gutters2[_i13];
          this.dom.appendChild(g.dom);
        }
        this.gutters = _gutters;
      }
      return change;
    }
  }, {
    key: "destroy",
    value: function destroy() {
      var _iterator108 = _createForOfIteratorHelper(this.gutters),
        _step108;
      try {
        for (_iterator108.s(); !(_step108 = _iterator108.n()).done;) {
          var view = _step108.value;
          view.destroy();
        }
      } catch (err) {
        _iterator108.e(err);
      } finally {
        _iterator108.f();
      }
      this.dom.remove();
    }
  }]);
}(), {
  provide: function provide(plugin) {
    return EditorView.scrollMargins.of(function (view) {
      var value = view.plugin(plugin);
      if (!value || value.gutters.length == 0 || !value.fixed) return null;
      return view.textDirection == Direction.LTR ? {
        left: value.dom.offsetWidth * view.scaleX
      } : {
        right: value.dom.offsetWidth * view.scaleX
      };
    });
  }
});
function asArray(val) {
  return Array.isArray(val) ? val : [val];
}
function advanceCursor(cursor, collect, pos) {
  while (cursor.value && cursor.from <= pos) {
    if (cursor.from == pos) collect.push(cursor.value);
    cursor.next();
  }
}
var UpdateContext = /*#__PURE__*/function () {
  function UpdateContext(gutter, viewport, height) {
    _classCallCheck(this, UpdateContext);
    this.gutter = gutter;
    this.height = height;
    this.i = 0;
    this.cursor = _state.RangeSet.iter(gutter.markers, viewport.from);
  }
  return _createClass(UpdateContext, [{
    key: "addElement",
    value: function addElement(view, block, markers) {
      var gutter = this.gutter,
        above = (block.top - this.height) / view.scaleY,
        height = block.height / view.scaleY;
      if (this.i == gutter.elements.length) {
        var newElt = new GutterElement(view, height, above, markers);
        gutter.elements.push(newElt);
        gutter.dom.appendChild(newElt.dom);
      } else {
        gutter.elements[this.i].update(view, height, above, markers);
      }
      this.height = block.bottom;
      this.i++;
    }
  }, {
    key: "line",
    value: function line(view, _line3, extraMarkers) {
      var localMarkers = [];
      advanceCursor(this.cursor, localMarkers, _line3.from);
      if (extraMarkers.length) localMarkers = localMarkers.concat(extraMarkers);
      var forLine = this.gutter.config.lineMarker(view, _line3, localMarkers);
      if (forLine) localMarkers.unshift(forLine);
      var gutter = this.gutter;
      if (localMarkers.length == 0 && !gutter.config.renderEmptyElements) return;
      this.addElement(view, _line3, localMarkers);
    }
  }, {
    key: "widget",
    value: function widget(view, block) {
      var marker = this.gutter.config.widgetMarker(view, block.widget, block);
      if (marker) this.addElement(view, block, [marker]);
    }
  }, {
    key: "finish",
    value: function finish() {
      var gutter = this.gutter;
      while (gutter.elements.length > this.i) {
        var last = gutter.elements.pop();
        gutter.dom.removeChild(last.dom);
        last.destroy();
      }
    }
  }]);
}();
var SingleGutterView = /*#__PURE__*/function () {
  function SingleGutterView(view, config) {
    var _this58 = this;
    _classCallCheck(this, SingleGutterView);
    this.view = view;
    this.config = config;
    this.elements = [];
    this.spacer = null;
    this.dom = document.createElement("div");
    this.dom.className = "cm-gutter" + (this.config["class"] ? " " + this.config["class"] : "");
    var _loop6 = function _loop6(prop) {
      _this58.dom.addEventListener(prop, function (event) {
        var target = event.target,
          y;
        if (target != _this58.dom && _this58.dom.contains(target)) {
          while (target.parentNode != _this58.dom) target = target.parentNode;
          var rect = target.getBoundingClientRect();
          y = (rect.top + rect.bottom) / 2;
        } else {
          y = event.clientY;
        }
        var line = view.lineBlockAtHeight(y - view.documentTop);
        if (config.domEventHandlers[prop](view, line, event)) event.preventDefault();
      });
    };
    for (var prop in config.domEventHandlers) {
      _loop6(prop);
    }
    this.markers = asArray(config.markers(view));
    if (config.initialSpacer) {
      this.spacer = new GutterElement(view, 0, 0, [config.initialSpacer(view)]);
      this.dom.appendChild(this.spacer.dom);
      this.spacer.dom.style.cssText += "visibility: hidden; pointer-events: none";
    }
  }
  return _createClass(SingleGutterView, [{
    key: "update",
    value: function update(_update19) {
      var prevMarkers = this.markers;
      this.markers = asArray(this.config.markers(_update19.view));
      if (this.spacer && this.config.updateSpacer) {
        var updated = this.config.updateSpacer(this.spacer.markers[0], _update19);
        if (updated != this.spacer.markers[0]) this.spacer.update(_update19.view, 0, 0, [updated]);
      }
      var vp = _update19.view.viewport;
      return !_state.RangeSet.eq(this.markers, prevMarkers, vp.from, vp.to) || (this.config.lineMarkerChange ? this.config.lineMarkerChange(_update19) : false);
    }
  }, {
    key: "destroy",
    value: function destroy() {
      var _iterator109 = _createForOfIteratorHelper(this.elements),
        _step109;
      try {
        for (_iterator109.s(); !(_step109 = _iterator109.n()).done;) {
          var elt = _step109.value;
          elt.destroy();
        }
      } catch (err) {
        _iterator109.e(err);
      } finally {
        _iterator109.f();
      }
    }
  }]);
}();
var GutterElement = /*#__PURE__*/function () {
  function GutterElement(view, height, above, markers) {
    _classCallCheck(this, GutterElement);
    this.height = -1;
    this.above = 0;
    this.markers = [];
    this.dom = document.createElement("div");
    this.dom.className = "cm-gutterElement";
    this.update(view, height, above, markers);
  }
  return _createClass(GutterElement, [{
    key: "update",
    value: function update(view, height, above, markers) {
      if (this.height != height) {
        this.height = height;
        this.dom.style.height = height + "px";
      }
      if (this.above != above) this.dom.style.marginTop = (this.above = above) ? above + "px" : "";
      if (!sameMarkers(this.markers, markers)) this.setMarkers(view, markers);
    }
  }, {
    key: "setMarkers",
    value: function setMarkers(view, markers) {
      var cls = "cm-gutterElement",
        domPos = this.dom.firstChild;
      for (var iNew = 0, iOld = 0;;) {
        var skipTo = iOld,
          marker = iNew < markers.length ? markers[iNew++] : null,
          matched = false;
        if (marker) {
          var c = marker.elementClass;
          if (c) cls += " " + c;
          for (var i = iOld; i < this.markers.length; i++) if (this.markers[i].compare(marker)) {
            skipTo = i;
            matched = true;
            break;
          }
        } else {
          skipTo = this.markers.length;
        }
        while (iOld < skipTo) {
          var next = this.markers[iOld++];
          if (next.toDOM) {
            next.destroy(domPos);
            var after = domPos.nextSibling;
            domPos.remove();
            domPos = after;
          }
        }
        if (!marker) break;
        if (marker.toDOM) {
          if (matched) domPos = domPos.nextSibling;else this.dom.insertBefore(marker.toDOM(view), domPos);
        }
        if (matched) iOld++;
      }
      this.dom.className = cls;
      this.markers = markers;
    }
  }, {
    key: "destroy",
    value: function destroy() {
      this.setMarkers(null, []); // First argument not used unless creating markers
    }
  }]);
}();
function sameMarkers(a, b) {
  if (a.length != b.length) return false;
  for (var i = 0; i < a.length; i++) if (!a[i].compare(b[i])) return false;
  return true;
}
/**
Facet used to provide markers to the line number gutter.
*/
var lineNumberMarkers = exports.lineNumberMarkers = /*@__PURE__*/_state.Facet.define();
var lineNumberConfig = /*@__PURE__*/_state.Facet.define({
  combine: function combine(values) {
    return (0, _state.combineConfig)(values, {
      formatNumber: String,
      domEventHandlers: {}
    }, {
      domEventHandlers: function domEventHandlers(a, b) {
        var result = Object.assign({}, a);
        var _loop7 = function _loop7() {
          var exists = result[event],
            add = b[event];
          result[event] = exists ? function (view, line, event) {
            return exists(view, line, event) || add(view, line, event);
          } : add;
        };
        for (var event in b) {
          _loop7();
        }
        return result;
      }
    });
  }
});
var NumberMarker = /*#__PURE__*/function (_GutterMarker) {
  function NumberMarker(number) {
    var _this59;
    _classCallCheck(this, NumberMarker);
    _this59 = _callSuper(this, NumberMarker);
    _this59.number = number;
    return _this59;
  }
  _inherits(NumberMarker, _GutterMarker);
  return _createClass(NumberMarker, [{
    key: "eq",
    value: function eq(other) {
      return this.number == other.number;
    }
  }, {
    key: "toDOM",
    value: function toDOM() {
      return document.createTextNode(this.number);
    }
  }]);
}(GutterMarker);
function formatNumber(view, number) {
  return view.state.facet(lineNumberConfig).formatNumber(number, view.state);
}
var lineNumberGutter = /*@__PURE__*/activeGutters.compute([lineNumberConfig], function (state) {
  return {
    "class": "cm-lineNumbers",
    renderEmptyElements: false,
    markers: function markers(view) {
      return view.state.facet(lineNumberMarkers);
    },
    lineMarker: function lineMarker(view, line, others) {
      if (others.some(function (m) {
        return m.toDOM;
      })) return null;
      return new NumberMarker(formatNumber(view, view.state.doc.lineAt(line.from).number));
    },
    widgetMarker: function widgetMarker() {
      return null;
    },
    lineMarkerChange: function lineMarkerChange(update) {
      return update.startState.facet(lineNumberConfig) != update.state.facet(lineNumberConfig);
    },
    initialSpacer: function initialSpacer(view) {
      return new NumberMarker(formatNumber(view, maxLineNumber(view.state.doc.lines)));
    },
    updateSpacer: function updateSpacer(spacer, update) {
      var max = formatNumber(update.view, maxLineNumber(update.view.state.doc.lines));
      return max == spacer.number ? spacer : new NumberMarker(max);
    },
    domEventHandlers: state.facet(lineNumberConfig).domEventHandlers
  };
});
/**
Create a line number gutter extension.
*/
function lineNumbers() {
  var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
  return [lineNumberConfig.of(config), gutters(), lineNumberGutter];
}
function maxLineNumber(lines) {
  var last = 9;
  while (last < lines) last = last * 10 + 9;
  return last;
}
var activeLineGutterMarker = /*@__PURE__*/new ( /*#__PURE__*/function (_GutterMarker2) {
  function _class10() {
    var _this60;
    _classCallCheck(this, _class10);
    _this60 = _callSuper(this, _class10, arguments);
    _this60.elementClass = "cm-activeLineGutter";
    return _this60;
  }
  _inherits(_class10, _GutterMarker2);
  return _createClass(_class10);
}(GutterMarker))();
var activeLineGutterHighlighter = /*@__PURE__*/gutterLineClass.compute(["selection"], function (state) {
  var marks = [],
    last = -1;
  var _iterator110 = _createForOfIteratorHelper(state.selection.ranges),
    _step110;
  try {
    for (_iterator110.s(); !(_step110 = _iterator110.n()).done;) {
      var range = _step110.value;
      var linePos = state.doc.lineAt(range.head).from;
      if (linePos > last) {
        last = linePos;
        marks.push(activeLineGutterMarker.range(linePos));
      }
    }
  } catch (err) {
    _iterator110.e(err);
  } finally {
    _iterator110.f();
  }
  return _state.RangeSet.of(marks);
});
/**
Returns an extension that adds a `cm-activeLineGutter` class to
all gutter elements on the [active
line](https://codemirror.net/6/docs/ref/#view.highlightActiveLine).
*/
function highlightActiveLineGutter() {
  return activeLineGutterHighlighter;
}
var WhitespaceDeco = /*@__PURE__*/new Map();
function getWhitespaceDeco(space) {
  var deco = WhitespaceDeco.get(space);
  if (!deco) WhitespaceDeco.set(space, deco = Decoration.mark({
    attributes: space === "\t" ? {
      "class": "cm-highlightTab"
    } : {
      "class": "cm-highlightSpace",
      "data-display": space.replace(/ /g, "·")
    }
  }));
  return deco;
}
function matcher(decorator) {
  return ViewPlugin.define(function (view) {
    return {
      decorations: decorator.createDeco(view),
      update: function update(u) {
        this.decorations = decorator.updateDeco(u, this.decorations);
      }
    };
  }, {
    decorations: function decorations(v) {
      return v.decorations;
    }
  });
}
var whitespaceHighlighter = /*@__PURE__*/matcher( /*@__PURE__*/new MatchDecorator({
  regexp: /\t| +/g,
  decoration: function decoration(match) {
    return getWhitespaceDeco(match[0]);
  },
  boundary: /\S/
}));
/**
Returns an extension that highlights whitespace, adding a
`cm-highlightSpace` class to stretches of spaces, and a
`cm-highlightTab` class to individual tab characters. By default,
the former are shown as faint dots, and the latter as arrows.
*/
function highlightWhitespace() {
  return whitespaceHighlighter;
}
var trailingHighlighter = /*@__PURE__*/matcher( /*@__PURE__*/new MatchDecorator({
  regexp: /\s+$/g,
  decoration: /*@__PURE__*/Decoration.mark({
    "class": "cm-trailingSpace"
  }),
  boundary: /\S/
}));
/**
Returns an extension that adds a `cm-trailingSpace` class to all
trailing whitespace.
*/
function highlightTrailingWhitespace() {
  return trailingHighlighter;
}

/**
@internal
*/
var __test = exports.__test = {
  HeightMap: HeightMap,
  HeightOracle: HeightOracle,
  MeasuredHeights: MeasuredHeights,
  QueryType: QueryType,
  ChangedRange: ChangedRange,
  computeOrder: computeOrder,
  moveVisually: moveVisually
};

},{"@codemirror/state":9,"style-mod":17,"w3c-keyname":18}],11:[function(require,module,exports){
"use strict";

function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.TreeFragment = exports.TreeCursor = exports.TreeBuffer = exports.Tree = exports.Parser = exports.NodeWeakMap = exports.NodeType = exports.NodeSet = exports.NodeProp = exports.MountedTree = exports.IterMode = exports.DefaultBufferLength = void 0;
exports.parseMixed = parseMixed;
function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
/**
The default maximum length of a `TreeBuffer` node.
*/
var DefaultBufferLength = exports.DefaultBufferLength = 1024;
var nextPropID = 0;
var Range = /*#__PURE__*/_createClass(function Range(from, to) {
  _classCallCheck(this, Range);
  this.from = from;
  this.to = to;
});
/**
Each [node type](#common.NodeType) or [individual tree](#common.Tree)
can have metadata associated with it in props. Instances of this
class represent prop names.
*/
var NodeProp = exports.NodeProp = /*#__PURE__*/function () {
  /**
  Create a new node prop type.
  */
  function NodeProp() {
    var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
    _classCallCheck(this, NodeProp);
    this.id = nextPropID++;
    this.perNode = !!config.perNode;
    this.deserialize = config.deserialize || function () {
      throw new Error("This node type doesn't define a deserialize function");
    };
  }
  /**
  This is meant to be used with
  [`NodeSet.extend`](#common.NodeSet.extend) or
  [`LRParser.configure`](#lr.ParserConfig.props) to compute
  prop values for each node type in the set. Takes a [match
  object](#common.NodeType^match) or function that returns undefined
  if the node type doesn't get this prop, and the prop's value if
  it does.
  */
  return _createClass(NodeProp, [{
    key: "add",
    value: function add(match) {
      var _this = this;
      if (this.perNode) throw new RangeError("Can't add per-node props to node types");
      if (typeof match != "function") match = NodeType.match(match);
      return function (type) {
        var result = match(type);
        return result === undefined ? null : [_this, result];
      };
    }
  }]);
}();
/**
Prop that is used to describe matching delimiters. For opening
delimiters, this holds an array of node names (written as a
space-separated string when declaring this prop in a grammar)
for the node types of closing delimiters that match it.
*/
NodeProp.closedBy = new NodeProp({
  deserialize: function deserialize(str) {
    return str.split(" ");
  }
});
/**
The inverse of [`closedBy`](#common.NodeProp^closedBy). This is
attached to closing delimiters, holding an array of node names
of types of matching opening delimiters.
*/
NodeProp.openedBy = new NodeProp({
  deserialize: function deserialize(str) {
    return str.split(" ");
  }
});
/**
Used to assign node types to groups (for example, all node
types that represent an expression could be tagged with an
`"Expression"` group).
*/
NodeProp.group = new NodeProp({
  deserialize: function deserialize(str) {
    return str.split(" ");
  }
});
/**
Attached to nodes to indicate these should be
[displayed](https://codemirror.net/docs/ref/#language.syntaxTree)
in a bidirectional text isolate, so that direction-neutral
characters on their sides don't incorrectly get associated with
surrounding text. You'll generally want to set this for nodes
that contain arbitrary text, like strings and comments, and for
nodes that appear _inside_ arbitrary text, like HTML tags. When
not given a value, in a grammar declaration, defaults to
`"auto"`.
*/
NodeProp.isolate = new NodeProp({
  deserialize: function deserialize(value) {
    if (value && value != "rtl" && value != "ltr" && value != "auto") throw new RangeError("Invalid value for isolate: " + value);
    return value || "auto";
  }
});
/**
The hash of the [context](#lr.ContextTracker.constructor)
that the node was parsed in, if any. Used to limit reuse of
contextual nodes.
*/
NodeProp.contextHash = new NodeProp({
  perNode: true
});
/**
The distance beyond the end of the node that the tokenizer
looked ahead for any of the tokens inside the node. (The LR
parser only stores this when it is larger than 25, for
efficiency reasons.)
*/
NodeProp.lookAhead = new NodeProp({
  perNode: true
});
/**
This per-node prop is used to replace a given node, or part of a
node, with another tree. This is useful to include trees from
different languages in mixed-language parsers.
*/
NodeProp.mounted = new NodeProp({
  perNode: true
});
/**
A mounted tree, which can be [stored](#common.NodeProp^mounted) on
a tree node to indicate that parts of its content are
represented by another tree.
*/
var MountedTree = exports.MountedTree = /*#__PURE__*/function () {
  function MountedTree(
  /**
  The inner tree.
  */
  tree,
  /**
  If this is null, this tree replaces the entire node (it will
  be included in the regular iteration instead of its host
  node). If not, only the given ranges are considered to be
  covered by this tree. This is used for trees that are mixed in
  a way that isn't strictly hierarchical. Such mounted trees are
  only entered by [`resolveInner`](#common.Tree.resolveInner)
  and [`enter`](#common.SyntaxNode.enter).
  */
  overlay,
  /**
  The parser used to create this subtree.
  */
  parser) {
    _classCallCheck(this, MountedTree);
    this.tree = tree;
    this.overlay = overlay;
    this.parser = parser;
  }
  /**
  @internal
  */
  return _createClass(MountedTree, null, [{
    key: "get",
    value: function get(tree) {
      return tree && tree.props && tree.props[NodeProp.mounted.id];
    }
  }]);
}();
var noProps = Object.create(null);
/**
Each node in a syntax tree has a node type associated with it.
*/
var NodeType = exports.NodeType = /*#__PURE__*/function () {
  /**
  @internal
  */
  function NodeType(
  /**
  The name of the node type. Not necessarily unique, but if the
  grammar was written properly, different node types with the
  same name within a node set should play the same semantic
  role.
  */
  name,
  /**
  @internal
  */
  props,
  /**
  The id of this node in its set. Corresponds to the term ids
  used in the parser.
  */
  id) {
    var flags = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;
    _classCallCheck(this, NodeType);
    this.name = name;
    this.props = props;
    this.id = id;
    this.flags = flags;
  }
  /**
  Define a node type.
  */
  return _createClass(NodeType, [{
    key: "prop",
    value:
    /**
    Retrieves a node prop for this type. Will return `undefined` if
    the prop isn't present on this node.
    */
    function prop(_prop) {
      return this.props[_prop.id];
    }
    /**
    True when this is the top node of a grammar.
    */
  }, {
    key: "isTop",
    get: function get() {
      return (this.flags & 1 /* NodeFlag.Top */) > 0;
    }
    /**
    True when this node is produced by a skip rule.
    */
  }, {
    key: "isSkipped",
    get: function get() {
      return (this.flags & 2 /* NodeFlag.Skipped */) > 0;
    }
    /**
    Indicates whether this is an error node.
    */
  }, {
    key: "isError",
    get: function get() {
      return (this.flags & 4 /* NodeFlag.Error */) > 0;
    }
    /**
    When true, this node type doesn't correspond to a user-declared
    named node, for example because it is used to cache repetition.
    */
  }, {
    key: "isAnonymous",
    get: function get() {
      return (this.flags & 8 /* NodeFlag.Anonymous */) > 0;
    }
    /**
    Returns true when this node's name or one of its
    [groups](#common.NodeProp^group) matches the given string.
    */
  }, {
    key: "is",
    value: function is(name) {
      if (typeof name == 'string') {
        if (this.name == name) return true;
        var group = this.prop(NodeProp.group);
        return group ? group.indexOf(name) > -1 : false;
      }
      return this.id == name;
    }
    /**
    Create a function from node types to arbitrary values by
    specifying an object whose property names are node or
    [group](#common.NodeProp^group) names. Often useful with
    [`NodeProp.add`](#common.NodeProp.add). You can put multiple
    names, separated by spaces, in a single property name to map
    multiple node names to a single value.
    */
  }], [{
    key: "define",
    value: function define(spec) {
      var props = spec.props && spec.props.length ? Object.create(null) : noProps;
      var flags = (spec.top ? 1 /* NodeFlag.Top */ : 0) | (spec.skipped ? 2 /* NodeFlag.Skipped */ : 0) | (spec.error ? 4 /* NodeFlag.Error */ : 0) | (spec.name == null ? 8 /* NodeFlag.Anonymous */ : 0);
      var type = new NodeType(spec.name || "", props, spec.id, flags);
      if (spec.props) {
        var _iterator = _createForOfIteratorHelper(spec.props),
          _step;
        try {
          for (_iterator.s(); !(_step = _iterator.n()).done;) {
            var src = _step.value;
            if (!Array.isArray(src)) src = src(type);
            if (src) {
              if (src[0].perNode) throw new RangeError("Can't store a per-node prop on a node type");
              props[src[0].id] = src[1];
            }
          }
        } catch (err) {
          _iterator.e(err);
        } finally {
          _iterator.f();
        }
      }
      return type;
    }
  }, {
    key: "match",
    value: function match(map) {
      var direct = Object.create(null);
      for (var prop in map) {
        var _iterator2 = _createForOfIteratorHelper(prop.split(" ")),
          _step2;
        try {
          for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
            var name = _step2.value;
            direct[name] = map[prop];
          }
        } catch (err) {
          _iterator2.e(err);
        } finally {
          _iterator2.f();
        }
      }
      return function (node) {
        for (var groups = node.prop(NodeProp.group), i = -1; i < (groups ? groups.length : 0); i++) {
          var found = direct[i < 0 ? node.name : groups[i]];
          if (found) return found;
        }
      };
    }
  }]);
}();
/**
An empty dummy node type to use when no actual type is available.
*/
NodeType.none = new NodeType("", Object.create(null), 0, 8 /* NodeFlag.Anonymous */);
/**
A node set holds a collection of node types. It is used to
compactly represent trees by storing their type ids, rather than a
full pointer to the type object, in a numeric array. Each parser
[has](#lr.LRParser.nodeSet) a node set, and [tree
buffers](#common.TreeBuffer) can only store collections of nodes
from the same set. A set can have a maximum of 2**16 (65536) node
types in it, so that the ids fit into 16-bit typed array slots.
*/
var NodeSet = exports.NodeSet = /*#__PURE__*/function () {
  /**
  Create a set with the given types. The `id` property of each
  type should correspond to its position within the array.
  */
  function NodeSet(
  /**
  The node types in this set, by id.
  */
  types) {
    _classCallCheck(this, NodeSet);
    this.types = types;
    for (var i = 0; i < types.length; i++) if (types[i].id != i) throw new RangeError("Node type ids should correspond to array positions when creating a node set");
  }
  /**
  Create a copy of this set with some node properties added. The
  arguments to this method can be created with
  [`NodeProp.add`](#common.NodeProp.add).
  */
  return _createClass(NodeSet, [{
    key: "extend",
    value: function extend() {
      var newTypes = [];
      for (var _len = arguments.length, props = new Array(_len), _key = 0; _key < _len; _key++) {
        props[_key] = arguments[_key];
      }
      var _iterator3 = _createForOfIteratorHelper(this.types),
        _step3;
      try {
        for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
          var type = _step3.value;
          var newProps = null;
          var _iterator4 = _createForOfIteratorHelper(props),
            _step4;
          try {
            for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
              var source = _step4.value;
              var add = source(type);
              if (add) {
                if (!newProps) newProps = Object.assign({}, type.props);
                newProps[add[0].id] = add[1];
              }
            }
          } catch (err) {
            _iterator4.e(err);
          } finally {
            _iterator4.f();
          }
          newTypes.push(newProps ? new NodeType(type.name, newProps, type.id, type.flags) : type);
        }
      } catch (err) {
        _iterator3.e(err);
      } finally {
        _iterator3.f();
      }
      return new NodeSet(newTypes);
    }
  }]);
}();
var CachedNode = new WeakMap(),
  CachedInnerNode = new WeakMap();
/**
Options that control iteration. Can be combined with the `|`
operator to enable multiple ones.
*/
var IterMode;
(function (IterMode) {
  /**
  When enabled, iteration will only visit [`Tree`](#common.Tree)
  objects, not nodes packed into
  [`TreeBuffer`](#common.TreeBuffer)s.
  */
  IterMode[IterMode["ExcludeBuffers"] = 1] = "ExcludeBuffers";
  /**
  Enable this to make iteration include anonymous nodes (such as
  the nodes that wrap repeated grammar constructs into a balanced
  tree).
  */
  IterMode[IterMode["IncludeAnonymous"] = 2] = "IncludeAnonymous";
  /**
  By default, regular [mounted](#common.NodeProp^mounted) nodes
  replace their base node in iteration. Enable this to ignore them
  instead.
  */
  IterMode[IterMode["IgnoreMounts"] = 4] = "IgnoreMounts";
  /**
  This option only applies in
  [`enter`](#common.SyntaxNode.enter)-style methods. It tells the
  library to not enter mounted overlays if one covers the given
  position.
  */
  IterMode[IterMode["IgnoreOverlays"] = 8] = "IgnoreOverlays";
})(IterMode || (exports.IterMode = IterMode = {}));
/**
A piece of syntax tree. There are two ways to approach these
trees: the way they are actually stored in memory, and the
convenient way.

Syntax trees are stored as a tree of `Tree` and `TreeBuffer`
objects. By packing detail information into `TreeBuffer` leaf
nodes, the representation is made a lot more memory-efficient.

However, when you want to actually work with tree nodes, this
representation is very awkward, so most client code will want to
use the [`TreeCursor`](#common.TreeCursor) or
[`SyntaxNode`](#common.SyntaxNode) interface instead, which provides
a view on some part of this data structure, and can be used to
move around to adjacent nodes.
*/
var Tree = exports.Tree = /*#__PURE__*/function () {
  /**
  Construct a new tree. See also [`Tree.build`](#common.Tree^build).
  */
  function Tree(
  /**
  The type of the top node.
  */
  type,
  /**
  This node's child nodes.
  */
  children,
  /**
  The positions (offsets relative to the start of this tree) of
  the children.
  */
  positions,
  /**
  The total length of this tree
  */
  length,
  /**
  Per-node [node props](#common.NodeProp) to associate with this node.
  */
  props) {
    _classCallCheck(this, Tree);
    this.type = type;
    this.children = children;
    this.positions = positions;
    this.length = length;
    /**
    @internal
    */
    this.props = null;
    if (props && props.length) {
      this.props = Object.create(null);
      var _iterator5 = _createForOfIteratorHelper(props),
        _step5;
      try {
        for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
          var _step5$value = _slicedToArray(_step5.value, 2),
            prop = _step5$value[0],
            value = _step5$value[1];
          this.props[typeof prop == "number" ? prop : prop.id] = value;
        }
      } catch (err) {
        _iterator5.e(err);
      } finally {
        _iterator5.f();
      }
    }
  }
  /**
  @internal
  */
  return _createClass(Tree, [{
    key: "toString",
    value: function toString() {
      var mounted = MountedTree.get(this);
      if (mounted && !mounted.overlay) return mounted.tree.toString();
      var children = "";
      var _iterator6 = _createForOfIteratorHelper(this.children),
        _step6;
      try {
        for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {
          var ch = _step6.value;
          var str = ch.toString();
          if (str) {
            if (children) children += ",";
            children += str;
          }
        }
      } catch (err) {
        _iterator6.e(err);
      } finally {
        _iterator6.f();
      }
      return !this.type.name ? children : (/\W/.test(this.type.name) && !this.type.isError ? JSON.stringify(this.type.name) : this.type.name) + (children.length ? "(" + children + ")" : "");
    }
    /**
    Get a [tree cursor](#common.TreeCursor) positioned at the top of
    the tree. Mode can be used to [control](#common.IterMode) which
    nodes the cursor visits.
    */
  }, {
    key: "cursor",
    value: function cursor() {
      var mode = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
      return new TreeCursor(this.topNode, mode);
    }
    /**
    Get a [tree cursor](#common.TreeCursor) pointing into this tree
    at the given position and side (see
    [`moveTo`](#common.TreeCursor.moveTo).
    */
  }, {
    key: "cursorAt",
    value: function cursorAt(pos) {
      var side = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
      var mode = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;
      var scope = CachedNode.get(this) || this.topNode;
      var cursor = new TreeCursor(scope);
      cursor.moveTo(pos, side);
      CachedNode.set(this, cursor._tree);
      return cursor;
    }
    /**
    Get a [syntax node](#common.SyntaxNode) object for the top of the
    tree.
    */
  }, {
    key: "topNode",
    get: function get() {
      return new TreeNode(this, 0, 0, null);
    }
    /**
    Get the [syntax node](#common.SyntaxNode) at the given position.
    If `side` is -1, this will move into nodes that end at the
    position. If 1, it'll move into nodes that start at the
    position. With 0, it'll only enter nodes that cover the position
    from both sides.
    
    Note that this will not enter
    [overlays](#common.MountedTree.overlay), and you often want
    [`resolveInner`](#common.Tree.resolveInner) instead.
    */
  }, {
    key: "resolve",
    value: function resolve(pos) {
      var side = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
      var node = resolveNode(CachedNode.get(this) || this.topNode, pos, side, false);
      CachedNode.set(this, node);
      return node;
    }
    /**
    Like [`resolve`](#common.Tree.resolve), but will enter
    [overlaid](#common.MountedTree.overlay) nodes, producing a syntax node
    pointing into the innermost overlaid tree at the given position
    (with parent links going through all parent structure, including
    the host trees).
    */
  }, {
    key: "resolveInner",
    value: function resolveInner(pos) {
      var side = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
      var node = resolveNode(CachedInnerNode.get(this) || this.topNode, pos, side, true);
      CachedInnerNode.set(this, node);
      return node;
    }
    /**
    In some situations, it can be useful to iterate through all
    nodes around a position, including those in overlays that don't
    directly cover the position. This method gives you an iterator
    that will produce all nodes, from small to big, around the given
    position.
    */
  }, {
    key: "resolveStack",
    value: function resolveStack(pos) {
      var side = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
      return stackIterator(this, pos, side);
    }
    /**
    Iterate over the tree and its children, calling `enter` for any
    node that touches the `from`/`to` region (if given) before
    running over such a node's children, and `leave` (if given) when
    leaving the node. When `enter` returns `false`, that node will
    not have its children iterated over (or `leave` called).
    */
  }, {
    key: "iterate",
    value: function iterate(spec) {
      var enter = spec.enter,
        leave = spec.leave,
        _spec$from = spec.from,
        from = _spec$from === void 0 ? 0 : _spec$from,
        _spec$to = spec.to,
        to = _spec$to === void 0 ? this.length : _spec$to;
      var mode = spec.mode || 0,
        anon = (mode & IterMode.IncludeAnonymous) > 0;
      for (var c = this.cursor(mode | IterMode.IncludeAnonymous);;) {
        var entered = false;
        if (c.from <= to && c.to >= from && (!anon && c.type.isAnonymous || enter(c) !== false)) {
          if (c.firstChild()) continue;
          entered = true;
        }
        for (;;) {
          if (entered && leave && (anon || !c.type.isAnonymous)) leave(c);
          if (c.nextSibling()) break;
          if (!c.parent()) return;
          entered = true;
        }
      }
    }
    /**
    Get the value of the given [node prop](#common.NodeProp) for this
    node. Works with both per-node and per-type props.
    */
  }, {
    key: "prop",
    value: function prop(_prop2) {
      return !_prop2.perNode ? this.type.prop(_prop2) : this.props ? this.props[_prop2.id] : undefined;
    }
    /**
    Returns the node's [per-node props](#common.NodeProp.perNode) in a
    format that can be passed to the [`Tree`](#common.Tree)
    constructor.
    */
  }, {
    key: "propValues",
    get: function get() {
      var result = [];
      if (this.props) for (var id in this.props) result.push([+id, this.props[id]]);
      return result;
    }
    /**
    Balance the direct children of this tree, producing a copy of
    which may have children grouped into subtrees with type
    [`NodeType.none`](#common.NodeType^none).
    */
  }, {
    key: "balance",
    value: function balance() {
      var _this2 = this;
      var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
      return this.children.length <= 8 /* Balance.BranchFactor */ ? this : balanceRange(NodeType.none, this.children, this.positions, 0, this.children.length, 0, this.length, function (children, positions, length) {
        return new Tree(_this2.type, children, positions, length, _this2.propValues);
      }, config.makeTree || function (children, positions, length) {
        return new Tree(NodeType.none, children, positions, length);
      });
    }
    /**
    Build a tree from a postfix-ordered buffer of node information,
    or a cursor over such a buffer.
    */
  }], [{
    key: "build",
    value: function build(data) {
      return buildTree(data);
    }
  }]);
}();
/**
The empty tree
*/
Tree.empty = new Tree(NodeType.none, [], [], 0);
var FlatBufferCursor = /*#__PURE__*/function () {
  function FlatBufferCursor(buffer, index) {
    _classCallCheck(this, FlatBufferCursor);
    this.buffer = buffer;
    this.index = index;
  }
  return _createClass(FlatBufferCursor, [{
    key: "id",
    get: function get() {
      return this.buffer[this.index - 4];
    }
  }, {
    key: "start",
    get: function get() {
      return this.buffer[this.index - 3];
    }
  }, {
    key: "end",
    get: function get() {
      return this.buffer[this.index - 2];
    }
  }, {
    key: "size",
    get: function get() {
      return this.buffer[this.index - 1];
    }
  }, {
    key: "pos",
    get: function get() {
      return this.index;
    }
  }, {
    key: "next",
    value: function next() {
      this.index -= 4;
    }
  }, {
    key: "fork",
    value: function fork() {
      return new FlatBufferCursor(this.buffer, this.index);
    }
  }]);
}();
/**
Tree buffers contain (type, start, end, endIndex) quads for each
node. In such a buffer, nodes are stored in prefix order (parents
before children, with the endIndex of the parent indicating which
children belong to it).
*/
var TreeBuffer = exports.TreeBuffer = /*#__PURE__*/function () {
  /**
  Create a tree buffer.
  */
  function TreeBuffer(
  /**
  The buffer's content.
  */
  buffer,
  /**
  The total length of the group of nodes in the buffer.
  */
  length,
  /**
  The node set used in this buffer.
  */
  set) {
    _classCallCheck(this, TreeBuffer);
    this.buffer = buffer;
    this.length = length;
    this.set = set;
  }
  /**
  @internal
  */
  return _createClass(TreeBuffer, [{
    key: "type",
    get: function get() {
      return NodeType.none;
    }
    /**
    @internal
    */
  }, {
    key: "toString",
    value: function toString() {
      var result = [];
      for (var index = 0; index < this.buffer.length;) {
        result.push(this.childString(index));
        index = this.buffer[index + 3];
      }
      return result.join(",");
    }
    /**
    @internal
    */
  }, {
    key: "childString",
    value: function childString(index) {
      var id = this.buffer[index],
        endIndex = this.buffer[index + 3];
      var type = this.set.types[id],
        result = type.name;
      if (/\W/.test(result) && !type.isError) result = JSON.stringify(result);
      index += 4;
      if (endIndex == index) return result;
      var children = [];
      while (index < endIndex) {
        children.push(this.childString(index));
        index = this.buffer[index + 3];
      }
      return result + "(" + children.join(",") + ")";
    }
    /**
    @internal
    */
  }, {
    key: "findChild",
    value: function findChild(startIndex, endIndex, dir, pos, side) {
      var buffer = this.buffer,
        pick = -1;
      for (var i = startIndex; i != endIndex; i = buffer[i + 3]) {
        if (checkSide(side, pos, buffer[i + 1], buffer[i + 2])) {
          pick = i;
          if (dir > 0) break;
        }
      }
      return pick;
    }
    /**
    @internal
    */
  }, {
    key: "slice",
    value: function slice(startI, endI, from) {
      var b = this.buffer;
      var copy = new Uint16Array(endI - startI),
        len = 0;
      for (var i = startI, j = 0; i < endI;) {
        copy[j++] = b[i++];
        copy[j++] = b[i++] - from;
        var to = copy[j++] = b[i++] - from;
        copy[j++] = b[i++] - startI;
        len = Math.max(len, to);
      }
      return new TreeBuffer(copy, len, this.set);
    }
  }]);
}();
function checkSide(side, pos, from, to) {
  switch (side) {
    case -2 /* Side.Before */:
      return from < pos;
    case -1 /* Side.AtOrBefore */:
      return to >= pos && from < pos;
    case 0 /* Side.Around */:
      return from < pos && to > pos;
    case 1 /* Side.AtOrAfter */:
      return from <= pos && to > pos;
    case 2 /* Side.After */:
      return to > pos;
    case 4 /* Side.DontCare */:
      return true;
  }
}
function resolveNode(node, pos, side, overlays) {
  var _a;
  // Move up to a node that actually holds the position, if possible
  while (node.from == node.to || (side < 1 ? node.from >= pos : node.from > pos) || (side > -1 ? node.to <= pos : node.to < pos)) {
    var parent = !overlays && node instanceof TreeNode && node.index < 0 ? null : node.parent;
    if (!parent) return node;
    node = parent;
  }
  var mode = overlays ? 0 : IterMode.IgnoreOverlays;
  // Must go up out of overlays when those do not overlap with pos
  if (overlays) for (var scan = node, _parent2 = scan.parent; _parent2; scan = _parent2, _parent2 = scan.parent) {
    if (scan instanceof TreeNode && scan.index < 0 && ((_a = _parent2.enter(pos, side, mode)) === null || _a === void 0 ? void 0 : _a.from) != scan.from) node = _parent2;
  }
  for (;;) {
    var inner = node.enter(pos, side, mode);
    if (!inner) return node;
    node = inner;
  }
}
var BaseNode = /*#__PURE__*/function () {
  function BaseNode() {
    _classCallCheck(this, BaseNode);
  }
  return _createClass(BaseNode, [{
    key: "cursor",
    value: function cursor() {
      var mode = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
      return new TreeCursor(this, mode);
    }
  }, {
    key: "getChild",
    value: function getChild(type) {
      var before = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
      var after = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
      var r = _getChildren(this, type, before, after);
      return r.length ? r[0] : null;
    }
  }, {
    key: "getChildren",
    value: function getChildren(type) {
      var before = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
      var after = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
      return _getChildren(this, type, before, after);
    }
  }, {
    key: "resolve",
    value: function resolve(pos) {
      var side = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
      return resolveNode(this, pos, side, false);
    }
  }, {
    key: "resolveInner",
    value: function resolveInner(pos) {
      var side = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
      return resolveNode(this, pos, side, true);
    }
  }, {
    key: "matchContext",
    value: function matchContext(context) {
      return matchNodeContext(this, context);
    }
  }, {
    key: "enterUnfinishedNodesBefore",
    value: function enterUnfinishedNodesBefore(pos) {
      var scan = this.childBefore(pos),
        node = this;
      while (scan) {
        var last = scan.lastChild;
        if (!last || last.to != scan.to) break;
        if (last.type.isError && last.from == last.to) {
          node = scan;
          scan = last.prevSibling;
        } else {
          scan = last;
        }
      }
      return node;
    }
  }, {
    key: "node",
    get: function get() {
      return this;
    }
  }, {
    key: "next",
    get: function get() {
      return this.parent;
    }
  }]);
}();
var TreeNode = /*#__PURE__*/function (_BaseNode) {
  function TreeNode(_tree, from,
  // Index in parent node, set to -1 if the node is not a direct child of _parent.node (overlay)
  index, _parent) {
    var _this3;
    _classCallCheck(this, TreeNode);
    _this3 = _callSuper(this, TreeNode);
    _this3._tree = _tree;
    _this3.from = from;
    _this3.index = index;
    _this3._parent = _parent;
    return _this3;
  }
  _inherits(TreeNode, _BaseNode);
  return _createClass(TreeNode, [{
    key: "type",
    get: function get() {
      return this._tree.type;
    }
  }, {
    key: "name",
    get: function get() {
      return this._tree.type.name;
    }
  }, {
    key: "to",
    get: function get() {
      return this.from + this._tree.length;
    }
  }, {
    key: "nextChild",
    value: function nextChild(i, dir, pos, side) {
      var mode = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 0;
      for (var parent = this;;) {
        for (var _parent$_tree = parent._tree, children = _parent$_tree.children, positions = _parent$_tree.positions, e = dir > 0 ? children.length : -1; i != e; i += dir) {
          var next = children[i],
            start = positions[i] + parent.from;
          if (!checkSide(side, pos, start, start + next.length)) continue;
          if (next instanceof TreeBuffer) {
            if (mode & IterMode.ExcludeBuffers) continue;
            var index = next.findChild(0, next.buffer.length, dir, pos - start, side);
            if (index > -1) return new BufferNode(new BufferContext(parent, next, i, start), null, index);
          } else if (mode & IterMode.IncludeAnonymous || !next.type.isAnonymous || hasChild(next)) {
            var mounted = void 0;
            if (!(mode & IterMode.IgnoreMounts) && (mounted = MountedTree.get(next)) && !mounted.overlay) return new TreeNode(mounted.tree, start, i, parent);
            var inner = new TreeNode(next, start, i, parent);
            return mode & IterMode.IncludeAnonymous || !inner.type.isAnonymous ? inner : inner.nextChild(dir < 0 ? next.children.length - 1 : 0, dir, pos, side);
          }
        }
        if (mode & IterMode.IncludeAnonymous || !parent.type.isAnonymous) return null;
        if (parent.index >= 0) i = parent.index + dir;else i = dir < 0 ? -1 : parent._parent._tree.children.length;
        parent = parent._parent;
        if (!parent) return null;
      }
    }
  }, {
    key: "firstChild",
    get: function get() {
      return this.nextChild(0, 1, 0, 4 /* Side.DontCare */);
    }
  }, {
    key: "lastChild",
    get: function get() {
      return this.nextChild(this._tree.children.length - 1, -1, 0, 4 /* Side.DontCare */);
    }
  }, {
    key: "childAfter",
    value: function childAfter(pos) {
      return this.nextChild(0, 1, pos, 2 /* Side.After */);
    }
  }, {
    key: "childBefore",
    value: function childBefore(pos) {
      return this.nextChild(this._tree.children.length - 1, -1, pos, -2 /* Side.Before */);
    }
  }, {
    key: "enter",
    value: function enter(pos, side) {
      var mode = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;
      var mounted;
      if (!(mode & IterMode.IgnoreOverlays) && (mounted = MountedTree.get(this._tree)) && mounted.overlay) {
        var rPos = pos - this.from;
        var _iterator7 = _createForOfIteratorHelper(mounted.overlay),
          _step7;
        try {
          for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {
            var _step7$value = _step7.value,
              from = _step7$value.from,
              to = _step7$value.to;
            if ((side > 0 ? from <= rPos : from < rPos) && (side < 0 ? to >= rPos : to > rPos)) return new TreeNode(mounted.tree, mounted.overlay[0].from + this.from, -1, this);
          }
        } catch (err) {
          _iterator7.e(err);
        } finally {
          _iterator7.f();
        }
      }
      return this.nextChild(0, 1, pos, side, mode);
    }
  }, {
    key: "nextSignificantParent",
    value: function nextSignificantParent() {
      var val = this;
      while (val.type.isAnonymous && val._parent) val = val._parent;
      return val;
    }
  }, {
    key: "parent",
    get: function get() {
      return this._parent ? this._parent.nextSignificantParent() : null;
    }
  }, {
    key: "nextSibling",
    get: function get() {
      return this._parent && this.index >= 0 ? this._parent.nextChild(this.index + 1, 1, 0, 4 /* Side.DontCare */) : null;
    }
  }, {
    key: "prevSibling",
    get: function get() {
      return this._parent && this.index >= 0 ? this._parent.nextChild(this.index - 1, -1, 0, 4 /* Side.DontCare */) : null;
    }
  }, {
    key: "tree",
    get: function get() {
      return this._tree;
    }
  }, {
    key: "toTree",
    value: function toTree() {
      return this._tree;
    }
    /**
    @internal
    */
  }, {
    key: "toString",
    value: function toString() {
      return this._tree.toString();
    }
  }]);
}(BaseNode);
function _getChildren(node, type, before, after) {
  var cur = node.cursor(),
    result = [];
  if (!cur.firstChild()) return result;
  if (before != null) for (var found = false; !found;) {
    found = cur.type.is(before);
    if (!cur.nextSibling()) return result;
  }
  for (;;) {
    if (after != null && cur.type.is(after)) return result;
    if (cur.type.is(type)) result.push(cur.node);
    if (!cur.nextSibling()) return after == null ? result : [];
  }
}
function matchNodeContext(node, context) {
  var i = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : context.length - 1;
  for (var p = node.parent; i >= 0; p = p.parent) {
    if (!p) return false;
    if (!p.type.isAnonymous) {
      if (context[i] && context[i] != p.name) return false;
      i--;
    }
  }
  return true;
}
var BufferContext = /*#__PURE__*/_createClass(function BufferContext(parent, buffer, index, start) {
  _classCallCheck(this, BufferContext);
  this.parent = parent;
  this.buffer = buffer;
  this.index = index;
  this.start = start;
});
var BufferNode = /*#__PURE__*/function (_BaseNode2) {
  function BufferNode(context, _parent, index) {
    var _this4;
    _classCallCheck(this, BufferNode);
    _this4 = _callSuper(this, BufferNode);
    _this4.context = context;
    _this4._parent = _parent;
    _this4.index = index;
    _this4.type = context.buffer.set.types[context.buffer.buffer[index]];
    return _this4;
  }
  _inherits(BufferNode, _BaseNode2);
  return _createClass(BufferNode, [{
    key: "name",
    get: function get() {
      return this.type.name;
    }
  }, {
    key: "from",
    get: function get() {
      return this.context.start + this.context.buffer.buffer[this.index + 1];
    }
  }, {
    key: "to",
    get: function get() {
      return this.context.start + this.context.buffer.buffer[this.index + 2];
    }
  }, {
    key: "child",
    value: function child(dir, pos, side) {
      var buffer = this.context.buffer;
      var index = buffer.findChild(this.index + 4, buffer.buffer[this.index + 3], dir, pos - this.context.start, side);
      return index < 0 ? null : new BufferNode(this.context, this, index);
    }
  }, {
    key: "firstChild",
    get: function get() {
      return this.child(1, 0, 4 /* Side.DontCare */);
    }
  }, {
    key: "lastChild",
    get: function get() {
      return this.child(-1, 0, 4 /* Side.DontCare */);
    }
  }, {
    key: "childAfter",
    value: function childAfter(pos) {
      return this.child(1, pos, 2 /* Side.After */);
    }
  }, {
    key: "childBefore",
    value: function childBefore(pos) {
      return this.child(-1, pos, -2 /* Side.Before */);
    }
  }, {
    key: "enter",
    value: function enter(pos, side) {
      var mode = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;
      if (mode & IterMode.ExcludeBuffers) return null;
      var buffer = this.context.buffer;
      var index = buffer.findChild(this.index + 4, buffer.buffer[this.index + 3], side > 0 ? 1 : -1, pos - this.context.start, side);
      return index < 0 ? null : new BufferNode(this.context, this, index);
    }
  }, {
    key: "parent",
    get: function get() {
      return this._parent || this.context.parent.nextSignificantParent();
    }
  }, {
    key: "externalSibling",
    value: function externalSibling(dir) {
      return this._parent ? null : this.context.parent.nextChild(this.context.index + dir, dir, 0, 4 /* Side.DontCare */);
    }
  }, {
    key: "nextSibling",
    get: function get() {
      var buffer = this.context.buffer;
      var after = buffer.buffer[this.index + 3];
      if (after < (this._parent ? buffer.buffer[this._parent.index + 3] : buffer.buffer.length)) return new BufferNode(this.context, this._parent, after);
      return this.externalSibling(1);
    }
  }, {
    key: "prevSibling",
    get: function get() {
      var buffer = this.context.buffer;
      var parentStart = this._parent ? this._parent.index + 4 : 0;
      if (this.index == parentStart) return this.externalSibling(-1);
      return new BufferNode(this.context, this._parent, buffer.findChild(parentStart, this.index, -1, 0, 4 /* Side.DontCare */));
    }
  }, {
    key: "tree",
    get: function get() {
      return null;
    }
  }, {
    key: "toTree",
    value: function toTree() {
      var children = [],
        positions = [];
      var buffer = this.context.buffer;
      var startI = this.index + 4,
        endI = buffer.buffer[this.index + 3];
      if (endI > startI) {
        var from = buffer.buffer[this.index + 1];
        children.push(buffer.slice(startI, endI, from));
        positions.push(0);
      }
      return new Tree(this.type, children, positions, this.to - this.from);
    }
    /**
    @internal
    */
  }, {
    key: "toString",
    value: function toString() {
      return this.context.buffer.childString(this.index);
    }
  }]);
}(BaseNode);
function iterStack(heads) {
  if (!heads.length) return null;
  var pick = 0,
    picked = heads[0];
  for (var i = 1; i < heads.length; i++) {
    var node = heads[i];
    if (node.from > picked.from || node.to < picked.to) {
      picked = node;
      pick = i;
    }
  }
  var next = picked instanceof TreeNode && picked.index < 0 ? null : picked.parent;
  var newHeads = heads.slice();
  if (next) newHeads[pick] = next;else newHeads.splice(pick, 1);
  return new StackIterator(newHeads, picked);
}
var StackIterator = /*#__PURE__*/function () {
  function StackIterator(heads, node) {
    _classCallCheck(this, StackIterator);
    this.heads = heads;
    this.node = node;
  }
  return _createClass(StackIterator, [{
    key: "next",
    get: function get() {
      return iterStack(this.heads);
    }
  }]);
}();
function stackIterator(tree, pos, side) {
  var inner = tree.resolveInner(pos, side),
    layers = null;
  for (var scan = inner instanceof TreeNode ? inner : inner.context.parent; scan; scan = scan.parent) {
    if (scan.index < 0) {
      // This is an overlay root
      var parent = scan.parent;
      (layers || (layers = [inner])).push(parent.resolve(pos, side));
      scan = parent;
    } else {
      var mount = MountedTree.get(scan.tree);
      // Relevant overlay branching off
      if (mount && mount.overlay && mount.overlay[0].from <= pos && mount.overlay[mount.overlay.length - 1].to >= pos) {
        var root = new TreeNode(mount.tree, mount.overlay[0].from + scan.from, -1, scan);
        (layers || (layers = [inner])).push(resolveNode(root, pos, side, false));
      }
    }
  }
  return layers ? iterStack(layers) : inner;
}
/**
A tree cursor object focuses on a given node in a syntax tree, and
allows you to move to adjacent nodes.
*/
var TreeCursor = exports.TreeCursor = /*#__PURE__*/function () {
  /**
  @internal
  */
  function TreeCursor(node) {
    var mode = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
    _classCallCheck(this, TreeCursor);
    this.mode = mode;
    /**
    @internal
    */
    this.buffer = null;
    this.stack = [];
    /**
    @internal
    */
    this.index = 0;
    this.bufferNode = null;
    if (node instanceof TreeNode) {
      this.yieldNode(node);
    } else {
      this._tree = node.context.parent;
      this.buffer = node.context;
      for (var n = node._parent; n; n = n._parent) this.stack.unshift(n.index);
      this.bufferNode = node;
      this.yieldBuf(node.index);
    }
  }
  return _createClass(TreeCursor, [{
    key: "name",
    get:
    /**
    Shorthand for `.type.name`.
    */
    function get() {
      return this.type.name;
    }
  }, {
    key: "yieldNode",
    value: function yieldNode(node) {
      if (!node) return false;
      this._tree = node;
      this.type = node.type;
      this.from = node.from;
      this.to = node.to;
      return true;
    }
  }, {
    key: "yieldBuf",
    value: function yieldBuf(index, type) {
      this.index = index;
      var _this$buffer = this.buffer,
        start = _this$buffer.start,
        buffer = _this$buffer.buffer;
      this.type = type || buffer.set.types[buffer.buffer[index]];
      this.from = start + buffer.buffer[index + 1];
      this.to = start + buffer.buffer[index + 2];
      return true;
    }
    /**
    @internal
    */
  }, {
    key: "yield",
    value: function _yield(node) {
      if (!node) return false;
      if (node instanceof TreeNode) {
        this.buffer = null;
        return this.yieldNode(node);
      }
      this.buffer = node.context;
      return this.yieldBuf(node.index, node.type);
    }
    /**
    @internal
    */
  }, {
    key: "toString",
    value: function toString() {
      return this.buffer ? this.buffer.buffer.childString(this.index) : this._tree.toString();
    }
    /**
    @internal
    */
  }, {
    key: "enterChild",
    value: function enterChild(dir, pos, side) {
      if (!this.buffer) return this["yield"](this._tree.nextChild(dir < 0 ? this._tree._tree.children.length - 1 : 0, dir, pos, side, this.mode));
      var buffer = this.buffer.buffer;
      var index = buffer.findChild(this.index + 4, buffer.buffer[this.index + 3], dir, pos - this.buffer.start, side);
      if (index < 0) return false;
      this.stack.push(this.index);
      return this.yieldBuf(index);
    }
    /**
    Move the cursor to this node's first child. When this returns
    false, the node has no child, and the cursor has not been moved.
    */
  }, {
    key: "firstChild",
    value: function firstChild() {
      return this.enterChild(1, 0, 4 /* Side.DontCare */);
    }
    /**
    Move the cursor to this node's last child.
    */
  }, {
    key: "lastChild",
    value: function lastChild() {
      return this.enterChild(-1, 0, 4 /* Side.DontCare */);
    }
    /**
    Move the cursor to the first child that ends after `pos`.
    */
  }, {
    key: "childAfter",
    value: function childAfter(pos) {
      return this.enterChild(1, pos, 2 /* Side.After */);
    }
    /**
    Move to the last child that starts before `pos`.
    */
  }, {
    key: "childBefore",
    value: function childBefore(pos) {
      return this.enterChild(-1, pos, -2 /* Side.Before */);
    }
    /**
    Move the cursor to the child around `pos`. If side is -1 the
    child may end at that position, when 1 it may start there. This
    will also enter [overlaid](#common.MountedTree.overlay)
    [mounted](#common.NodeProp^mounted) trees unless `overlays` is
    set to false.
    */
  }, {
    key: "enter",
    value: function enter(pos, side) {
      var mode = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : this.mode;
      if (!this.buffer) return this["yield"](this._tree.enter(pos, side, mode));
      return mode & IterMode.ExcludeBuffers ? false : this.enterChild(1, pos, side);
    }
    /**
    Move to the node's parent node, if this isn't the top node.
    */
  }, {
    key: "parent",
    value: function parent() {
      if (!this.buffer) return this.yieldNode(this.mode & IterMode.IncludeAnonymous ? this._tree._parent : this._tree.parent);
      if (this.stack.length) return this.yieldBuf(this.stack.pop());
      var parent = this.mode & IterMode.IncludeAnonymous ? this.buffer.parent : this.buffer.parent.nextSignificantParent();
      this.buffer = null;
      return this.yieldNode(parent);
    }
    /**
    @internal
    */
  }, {
    key: "sibling",
    value: function sibling(dir) {
      if (!this.buffer) return !this._tree._parent ? false : this["yield"](this._tree.index < 0 ? null : this._tree._parent.nextChild(this._tree.index + dir, dir, 0, 4 /* Side.DontCare */, this.mode));
      var buffer = this.buffer.buffer,
        d = this.stack.length - 1;
      if (dir < 0) {
        var parentStart = d < 0 ? 0 : this.stack[d] + 4;
        if (this.index != parentStart) return this.yieldBuf(buffer.findChild(parentStart, this.index, -1, 0, 4 /* Side.DontCare */));
      } else {
        var after = buffer.buffer[this.index + 3];
        if (after < (d < 0 ? buffer.buffer.length : buffer.buffer[this.stack[d] + 3])) return this.yieldBuf(after);
      }
      return d < 0 ? this["yield"](this.buffer.parent.nextChild(this.buffer.index + dir, dir, 0, 4 /* Side.DontCare */, this.mode)) : false;
    }
    /**
    Move to this node's next sibling, if any.
    */
  }, {
    key: "nextSibling",
    value: function nextSibling() {
      return this.sibling(1);
    }
    /**
    Move to this node's previous sibling, if any.
    */
  }, {
    key: "prevSibling",
    value: function prevSibling() {
      return this.sibling(-1);
    }
  }, {
    key: "atLastNode",
    value: function atLastNode(dir) {
      var index,
        parent,
        buffer = this.buffer;
      if (buffer) {
        if (dir > 0) {
          if (this.index < buffer.buffer.buffer.length) return false;
        } else {
          for (var i = 0; i < this.index; i++) if (buffer.buffer.buffer[i + 3] < this.index) return false;
        }
        index = buffer.index;
        parent = buffer.parent;
      } else {
        var _this$_tree = this._tree;
        index = _this$_tree.index;
        parent = _this$_tree._parent;
      }
      for (; parent; _parent3 = parent, index = _parent3.index, parent = _parent3._parent, _parent3) {
        var _parent3;
        if (index > -1) for (var _i = index + dir, e = dir < 0 ? -1 : parent._tree.children.length; _i != e; _i += dir) {
          var child = parent._tree.children[_i];
          if (this.mode & IterMode.IncludeAnonymous || child instanceof TreeBuffer || !child.type.isAnonymous || hasChild(child)) return false;
        }
      }
      return true;
    }
  }, {
    key: "move",
    value: function move(dir, enter) {
      if (enter && this.enterChild(dir, 0, 4 /* Side.DontCare */)) return true;
      for (;;) {
        if (this.sibling(dir)) return true;
        if (this.atLastNode(dir) || !this.parent()) return false;
      }
    }
    /**
    Move to the next node in a
    [pre-order](https://en.wikipedia.org/wiki/Tree_traversal#Pre-order,_NLR)
    traversal, going from a node to its first child or, if the
    current node is empty or `enter` is false, its next sibling or
    the next sibling of the first parent node that has one.
    */
  }, {
    key: "next",
    value: function next() {
      var enter = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
      return this.move(1, enter);
    }
    /**
    Move to the next node in a last-to-first pre-order traveral. A
    node is followed by its last child or, if it has none, its
    previous sibling or the previous sibling of the first parent
    node that has one.
    */
  }, {
    key: "prev",
    value: function prev() {
      var enter = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
      return this.move(-1, enter);
    }
    /**
    Move the cursor to the innermost node that covers `pos`. If
    `side` is -1, it will enter nodes that end at `pos`. If it is 1,
    it will enter nodes that start at `pos`.
    */
  }, {
    key: "moveTo",
    value: function moveTo(pos) {
      var side = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
      // Move up to a node that actually holds the position, if possible
      while (this.from == this.to || (side < 1 ? this.from >= pos : this.from > pos) || (side > -1 ? this.to <= pos : this.to < pos)) if (!this.parent()) break;
      // Then scan down into child nodes as far as possible
      while (this.enterChild(1, pos, side)) {}
      return this;
    }
    /**
    Get a [syntax node](#common.SyntaxNode) at the cursor's current
    position.
    */
  }, {
    key: "node",
    get: function get() {
      if (!this.buffer) return this._tree;
      var cache = this.bufferNode,
        result = null,
        depth = 0;
      if (cache && cache.context == this.buffer) {
        scan: for (var index = this.index, d = this.stack.length; d >= 0;) {
          for (var c = cache; c; c = c._parent) if (c.index == index) {
            if (index == this.index) return c;
            result = c;
            depth = d + 1;
            break scan;
          }
          index = this.stack[--d];
        }
      }
      for (var i = depth; i < this.stack.length; i++) result = new BufferNode(this.buffer, result, this.stack[i]);
      return this.bufferNode = new BufferNode(this.buffer, result, this.index);
    }
    /**
    Get the [tree](#common.Tree) that represents the current node, if
    any. Will return null when the node is in a [tree
    buffer](#common.TreeBuffer).
    */
  }, {
    key: "tree",
    get: function get() {
      return this.buffer ? null : this._tree._tree;
    }
    /**
    Iterate over the current node and all its descendants, calling
    `enter` when entering a node and `leave`, if given, when leaving
    one. When `enter` returns `false`, any children of that node are
    skipped, and `leave` isn't called for it.
    */
  }, {
    key: "iterate",
    value: function iterate(enter, leave) {
      for (var depth = 0;;) {
        var mustLeave = false;
        if (this.type.isAnonymous || enter(this) !== false) {
          if (this.firstChild()) {
            depth++;
            continue;
          }
          if (!this.type.isAnonymous) mustLeave = true;
        }
        for (;;) {
          if (mustLeave && leave) leave(this);
          mustLeave = this.type.isAnonymous;
          if (this.nextSibling()) break;
          if (!depth) return;
          this.parent();
          depth--;
          mustLeave = true;
        }
      }
    }
    /**
    Test whether the current node matches a given context—a sequence
    of direct parent node names. Empty strings in the context array
    are treated as wildcards.
    */
  }, {
    key: "matchContext",
    value: function matchContext(context) {
      if (!this.buffer) return matchNodeContext(this.node, context);
      var buffer = this.buffer.buffer,
        types = buffer.set.types;
      for (var i = context.length - 1, d = this.stack.length - 1; i >= 0; d--) {
        if (d < 0) return matchNodeContext(this.node, context, i);
        var type = types[buffer.buffer[this.stack[d]]];
        if (!type.isAnonymous) {
          if (context[i] && context[i] != type.name) return false;
          i--;
        }
      }
      return true;
    }
  }]);
}();
function hasChild(tree) {
  return tree.children.some(function (ch) {
    return ch instanceof TreeBuffer || !ch.type.isAnonymous || hasChild(ch);
  });
}
function buildTree(data) {
  var _a;
  var buffer = data.buffer,
    nodeSet = data.nodeSet,
    _data$maxBufferLength = data.maxBufferLength,
    maxBufferLength = _data$maxBufferLength === void 0 ? DefaultBufferLength : _data$maxBufferLength,
    _data$reused = data.reused,
    reused = _data$reused === void 0 ? [] : _data$reused,
    _data$minRepeatType = data.minRepeatType,
    minRepeatType = _data$minRepeatType === void 0 ? nodeSet.types.length : _data$minRepeatType;
  var cursor = Array.isArray(buffer) ? new FlatBufferCursor(buffer, buffer.length) : buffer;
  var types = nodeSet.types;
  var contextHash = 0,
    lookAhead = 0;
  function takeNode(parentStart, minPos, children, positions, inRepeat, depth) {
    var id = cursor.id,
      start = cursor.start,
      end = cursor.end,
      size = cursor.size;
    var lookAheadAtStart = lookAhead;
    while (size < 0) {
      cursor.next();
      if (size == -1 /* SpecialRecord.Reuse */) {
        var _node = reused[id];
        children.push(_node);
        positions.push(start - parentStart);
        return;
      } else if (size == -3 /* SpecialRecord.ContextChange */) {
        // Context change
        contextHash = id;
        return;
      } else if (size == -4 /* SpecialRecord.LookAhead */) {
        lookAhead = id;
        return;
      } else {
        throw new RangeError("Unrecognized record size: ".concat(size));
      }
    }
    var type = types[id],
      node,
      buffer;
    var startPos = start - parentStart;
    if (end - start <= maxBufferLength && (buffer = findBufferSize(cursor.pos - minPos, inRepeat))) {
      // Small enough for a buffer, and no reused nodes inside
      var _data = new Uint16Array(buffer.size - buffer.skip);
      var endPos = cursor.pos - buffer.size,
        index = _data.length;
      while (cursor.pos > endPos) index = copyToBuffer(buffer.start, _data, index);
      node = new TreeBuffer(_data, end - buffer.start, nodeSet);
      startPos = buffer.start - parentStart;
    } else {
      // Make it a node
      var _endPos = cursor.pos - size;
      cursor.next();
      var localChildren = [],
        localPositions = [];
      var localInRepeat = id >= minRepeatType ? id : -1;
      var lastGroup = 0,
        lastEnd = end;
      while (cursor.pos > _endPos) {
        if (localInRepeat >= 0 && cursor.id == localInRepeat && cursor.size >= 0) {
          if (cursor.end <= lastEnd - maxBufferLength) {
            makeRepeatLeaf(localChildren, localPositions, start, lastGroup, cursor.end, lastEnd, localInRepeat, lookAheadAtStart);
            lastGroup = localChildren.length;
            lastEnd = cursor.end;
          }
          cursor.next();
        } else if (depth > 2500 /* CutOff.Depth */) {
          takeFlatNode(start, _endPos, localChildren, localPositions);
        } else {
          takeNode(start, _endPos, localChildren, localPositions, localInRepeat, depth + 1);
        }
      }
      if (localInRepeat >= 0 && lastGroup > 0 && lastGroup < localChildren.length) makeRepeatLeaf(localChildren, localPositions, start, lastGroup, start, lastEnd, localInRepeat, lookAheadAtStart);
      localChildren.reverse();
      localPositions.reverse();
      if (localInRepeat > -1 && lastGroup > 0) {
        var make = makeBalanced(type);
        node = balanceRange(type, localChildren, localPositions, 0, localChildren.length, 0, end - start, make, make);
      } else {
        node = makeTree(type, localChildren, localPositions, end - start, lookAheadAtStart - end);
      }
    }
    children.push(node);
    positions.push(startPos);
  }
  function takeFlatNode(parentStart, minPos, children, positions) {
    var nodes = []; // Temporary, inverted array of leaf nodes found, with absolute positions
    var nodeCount = 0,
      stopAt = -1;
    while (cursor.pos > minPos) {
      var id = cursor.id,
        start = cursor.start,
        end = cursor.end,
        size = cursor.size;
      if (size > 4) {
        // Not a leaf
        cursor.next();
      } else if (stopAt > -1 && start < stopAt) {
        break;
      } else {
        if (stopAt < 0) stopAt = end - maxBufferLength;
        nodes.push(id, start, end);
        nodeCount++;
        cursor.next();
      }
    }
    if (nodeCount) {
      var _buffer = new Uint16Array(nodeCount * 4);
      var _start = nodes[nodes.length - 2];
      for (var i = nodes.length - 3, j = 0; i >= 0; i -= 3) {
        _buffer[j++] = nodes[i];
        _buffer[j++] = nodes[i + 1] - _start;
        _buffer[j++] = nodes[i + 2] - _start;
        _buffer[j++] = j;
      }
      children.push(new TreeBuffer(_buffer, nodes[2] - _start, nodeSet));
      positions.push(_start - parentStart);
    }
  }
  function makeBalanced(type) {
    return function (children, positions, length) {
      var lookAhead = 0,
        lastI = children.length - 1,
        last,
        lookAheadProp;
      if (lastI >= 0 && (last = children[lastI]) instanceof Tree) {
        if (!lastI && last.type == type && last.length == length) return last;
        if (lookAheadProp = last.prop(NodeProp.lookAhead)) lookAhead = positions[lastI] + last.length + lookAheadProp;
      }
      return makeTree(type, children, positions, length, lookAhead);
    };
  }
  function makeRepeatLeaf(children, positions, base, i, from, to, type, lookAhead) {
    var localChildren = [],
      localPositions = [];
    while (children.length > i) {
      localChildren.push(children.pop());
      localPositions.push(positions.pop() + base - from);
    }
    children.push(makeTree(nodeSet.types[type], localChildren, localPositions, to - from, lookAhead - to));
    positions.push(from - base);
  }
  function makeTree(type, children, positions, length) {
    var lookAhead = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 0;
    var props = arguments.length > 5 ? arguments[5] : undefined;
    if (contextHash) {
      var pair = [NodeProp.contextHash, contextHash];
      props = props ? [pair].concat(props) : [pair];
    }
    if (lookAhead > 25) {
      var _pair = [NodeProp.lookAhead, lookAhead];
      props = props ? [_pair].concat(props) : [_pair];
    }
    return new Tree(type, children, positions, length, props);
  }
  function findBufferSize(maxSize, inRepeat) {
    // Scan through the buffer to find previous siblings that fit
    // together in a TreeBuffer, and don't contain any reused nodes
    // (which can't be stored in a buffer).
    // If `inRepeat` is > -1, ignore node boundaries of that type for
    // nesting, but make sure the end falls either at the start
    // (`maxSize`) or before such a node.
    var fork = cursor.fork();
    var size = 0,
      start = 0,
      skip = 0,
      minStart = fork.end - maxBufferLength;
    var result = {
      size: 0,
      start: 0,
      skip: 0
    };
    scan: for (var minPos = fork.pos - maxSize; fork.pos > minPos;) {
      var _nodeSize = fork.size;
      // Pretend nested repeat nodes of the same type don't exist
      if (fork.id == inRepeat && _nodeSize >= 0) {
        // Except that we store the current state as a valid return
        // value.
        result.size = size;
        result.start = start;
        result.skip = skip;
        skip += 4;
        size += 4;
        fork.next();
        continue;
      }
      var startPos = fork.pos - _nodeSize;
      if (_nodeSize < 0 || startPos < minPos || fork.start < minStart) break;
      var localSkipped = fork.id >= minRepeatType ? 4 : 0;
      var nodeStart = fork.start;
      fork.next();
      while (fork.pos > startPos) {
        if (fork.size < 0) {
          if (fork.size == -3 /* SpecialRecord.ContextChange */) localSkipped += 4;else break scan;
        } else if (fork.id >= minRepeatType) {
          localSkipped += 4;
        }
        fork.next();
      }
      start = nodeStart;
      size += _nodeSize;
      skip += localSkipped;
    }
    if (inRepeat < 0 || size == maxSize) {
      result.size = size;
      result.start = start;
      result.skip = skip;
    }
    return result.size > 4 ? result : undefined;
  }
  function copyToBuffer(bufferStart, buffer, index) {
    var id = cursor.id,
      start = cursor.start,
      end = cursor.end,
      size = cursor.size;
    cursor.next();
    if (size >= 0 && id < minRepeatType) {
      var startIndex = index;
      if (size > 4) {
        var endPos = cursor.pos - (size - 4);
        while (cursor.pos > endPos) index = copyToBuffer(bufferStart, buffer, index);
      }
      buffer[--index] = startIndex;
      buffer[--index] = end - bufferStart;
      buffer[--index] = start - bufferStart;
      buffer[--index] = id;
    } else if (size == -3 /* SpecialRecord.ContextChange */) {
      contextHash = id;
    } else if (size == -4 /* SpecialRecord.LookAhead */) {
      lookAhead = id;
    }
    return index;
  }
  var children = [],
    positions = [];
  while (cursor.pos > 0) takeNode(data.start || 0, data.bufferStart || 0, children, positions, -1, 0);
  var length = (_a = data.length) !== null && _a !== void 0 ? _a : children.length ? positions[0] + children[0].length : 0;
  return new Tree(types[data.topID], children.reverse(), positions.reverse(), length);
}
var nodeSizeCache = new WeakMap();
function nodeSize(balanceType, node) {
  if (!balanceType.isAnonymous || node instanceof TreeBuffer || node.type != balanceType) return 1;
  var size = nodeSizeCache.get(node);
  if (size == null) {
    size = 1;
    var _iterator8 = _createForOfIteratorHelper(node.children),
      _step8;
    try {
      for (_iterator8.s(); !(_step8 = _iterator8.n()).done;) {
        var child = _step8.value;
        if (child.type != balanceType || !(child instanceof Tree)) {
          size = 1;
          break;
        }
        size += nodeSize(balanceType, child);
      }
    } catch (err) {
      _iterator8.e(err);
    } finally {
      _iterator8.f();
    }
    nodeSizeCache.set(node, size);
  }
  return size;
}
function balanceRange(
// The type the balanced tree's inner nodes.
balanceType,
// The direct children and their positions
children, positions,
// The index range in children/positions to use
from, to,
// The start position of the nodes, relative to their parent.
start,
// Length of the outer node
length,
// Function to build the top node of the balanced tree
mkTop,
// Function to build internal nodes for the balanced tree
mkTree) {
  var total = 0;
  for (var i = from; i < to; i++) total += nodeSize(balanceType, children[i]);
  var maxChild = Math.ceil(total * 1.5 / 8 /* Balance.BranchFactor */);
  var localChildren = [],
    localPositions = [];
  function divide(children, positions, from, to, offset) {
    for (var _i2 = from; _i2 < to;) {
      var groupFrom = _i2,
        groupStart = positions[_i2],
        groupSize = nodeSize(balanceType, children[_i2]);
      _i2++;
      for (; _i2 < to; _i2++) {
        var nextSize = nodeSize(balanceType, children[_i2]);
        if (groupSize + nextSize >= maxChild) break;
        groupSize += nextSize;
      }
      if (_i2 == groupFrom + 1) {
        if (groupSize > maxChild) {
          var only = children[groupFrom]; // Only trees can have a size > 1
          divide(only.children, only.positions, 0, only.children.length, positions[groupFrom] + offset);
          continue;
        }
        localChildren.push(children[groupFrom]);
      } else {
        var _length = positions[_i2 - 1] + children[_i2 - 1].length - groupStart;
        localChildren.push(balanceRange(balanceType, children, positions, groupFrom, _i2, groupStart, _length, null, mkTree));
      }
      localPositions.push(groupStart + offset - start);
    }
  }
  divide(children, positions, from, to, 0);
  return (mkTop || mkTree)(localChildren, localPositions, length);
}
/**
Provides a way to associate values with pieces of trees. As long
as that part of the tree is reused, the associated values can be
retrieved from an updated tree.
*/
var NodeWeakMap = exports.NodeWeakMap = /*#__PURE__*/function () {
  function NodeWeakMap() {
    _classCallCheck(this, NodeWeakMap);
    this.map = new WeakMap();
  }
  return _createClass(NodeWeakMap, [{
    key: "setBuffer",
    value: function setBuffer(buffer, index, value) {
      var inner = this.map.get(buffer);
      if (!inner) this.map.set(buffer, inner = new Map());
      inner.set(index, value);
    }
  }, {
    key: "getBuffer",
    value: function getBuffer(buffer, index) {
      var inner = this.map.get(buffer);
      return inner && inner.get(index);
    }
    /**
    Set the value for this syntax node.
    */
  }, {
    key: "set",
    value: function set(node, value) {
      if (node instanceof BufferNode) this.setBuffer(node.context.buffer, node.index, value);else if (node instanceof TreeNode) this.map.set(node.tree, value);
    }
    /**
    Retrieve value for this syntax node, if it exists in the map.
    */
  }, {
    key: "get",
    value: function get(node) {
      return node instanceof BufferNode ? this.getBuffer(node.context.buffer, node.index) : node instanceof TreeNode ? this.map.get(node.tree) : undefined;
    }
    /**
    Set the value for the node that a cursor currently points to.
    */
  }, {
    key: "cursorSet",
    value: function cursorSet(cursor, value) {
      if (cursor.buffer) this.setBuffer(cursor.buffer.buffer, cursor.index, value);else this.map.set(cursor.tree, value);
    }
    /**
    Retrieve the value for the node that a cursor currently points
    to.
    */
  }, {
    key: "cursorGet",
    value: function cursorGet(cursor) {
      return cursor.buffer ? this.getBuffer(cursor.buffer.buffer, cursor.index) : this.map.get(cursor.tree);
    }
  }]);
}();
/**
Tree fragments are used during [incremental
parsing](#common.Parser.startParse) to track parts of old trees
that can be reused in a new parse. An array of fragments is used
to track regions of an old tree whose nodes might be reused in new
parses. Use the static
[`applyChanges`](#common.TreeFragment^applyChanges) method to
update fragments for document changes.
*/
var TreeFragment = exports.TreeFragment = /*#__PURE__*/function () {
  /**
  Construct a tree fragment. You'll usually want to use
  [`addTree`](#common.TreeFragment^addTree) and
  [`applyChanges`](#common.TreeFragment^applyChanges) instead of
  calling this directly.
  */
  function TreeFragment(
  /**
  The start of the unchanged range pointed to by this fragment.
  This refers to an offset in the _updated_ document (as opposed
  to the original tree).
  */
  from,
  /**
  The end of the unchanged range.
  */
  to,
  /**
  The tree that this fragment is based on.
  */
  tree,
  /**
  The offset between the fragment's tree and the document that
  this fragment can be used against. Add this when going from
  document to tree positions, subtract it to go from tree to
  document positions.
  */
  offset) {
    var openStart = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;
    var openEnd = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : false;
    _classCallCheck(this, TreeFragment);
    this.from = from;
    this.to = to;
    this.tree = tree;
    this.offset = offset;
    this.open = (openStart ? 1 /* Open.Start */ : 0) | (openEnd ? 2 /* Open.End */ : 0);
  }
  /**
  Whether the start of the fragment represents the start of a
  parse, or the end of a change. (In the second case, it may not
  be safe to reuse some nodes at the start, depending on the
  parsing algorithm.)
  */
  return _createClass(TreeFragment, [{
    key: "openStart",
    get: function get() {
      return (this.open & 1 /* Open.Start */) > 0;
    }
    /**
    Whether the end of the fragment represents the end of a
    full-document parse, or the start of a change.
    */
  }, {
    key: "openEnd",
    get: function get() {
      return (this.open & 2 /* Open.End */) > 0;
    }
    /**
    Create a set of fragments from a freshly parsed tree, or update
    an existing set of fragments by replacing the ones that overlap
    with a tree with content from the new tree. When `partial` is
    true, the parse is treated as incomplete, and the resulting
    fragment has [`openEnd`](#common.TreeFragment.openEnd) set to
    true.
    */
  }], [{
    key: "addTree",
    value: function addTree(tree) {
      var fragments = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
      var partial = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
      var result = [new TreeFragment(0, tree.length, tree, 0, false, partial)];
      var _iterator9 = _createForOfIteratorHelper(fragments),
        _step9;
      try {
        for (_iterator9.s(); !(_step9 = _iterator9.n()).done;) {
          var f = _step9.value;
          if (f.to > tree.length) result.push(f);
        }
      } catch (err) {
        _iterator9.e(err);
      } finally {
        _iterator9.f();
      }
      return result;
    }
    /**
    Apply a set of edits to an array of fragments, removing or
    splitting fragments as necessary to remove edited ranges, and
    adjusting offsets for fragments that moved.
    */
  }, {
    key: "applyChanges",
    value: function applyChanges(fragments, changes) {
      var minGap = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 128;
      if (!changes.length) return fragments;
      var result = [];
      var fI = 1,
        nextF = fragments.length ? fragments[0] : null;
      for (var cI = 0, pos = 0, off = 0;; cI++) {
        var nextC = cI < changes.length ? changes[cI] : null;
        var nextPos = nextC ? nextC.fromA : 1e9;
        if (nextPos - pos >= minGap) while (nextF && nextF.from < nextPos) {
          var cut = nextF;
          if (pos >= cut.from || nextPos <= cut.to || off) {
            var fFrom = Math.max(cut.from, pos) - off,
              fTo = Math.min(cut.to, nextPos) - off;
            cut = fFrom >= fTo ? null : new TreeFragment(fFrom, fTo, cut.tree, cut.offset + off, cI > 0, !!nextC);
          }
          if (cut) result.push(cut);
          if (nextF.to > nextPos) break;
          nextF = fI < fragments.length ? fragments[fI++] : null;
        }
        if (!nextC) break;
        pos = nextC.toA;
        off = nextC.toA - nextC.toB;
      }
      return result;
    }
  }]);
}();
/**
A superclass that parsers should extend.
*/
var Parser = exports.Parser = /*#__PURE__*/function () {
  function Parser() {
    _classCallCheck(this, Parser);
  }
  return _createClass(Parser, [{
    key: "startParse",
    value:
    /**
    Start a parse, returning a [partial parse](#common.PartialParse)
    object. [`fragments`](#common.TreeFragment) can be passed in to
    make the parse incremental.
    
    By default, the entire input is parsed. You can pass `ranges`,
    which should be a sorted array of non-empty, non-overlapping
    ranges, to parse only those ranges. The tree returned in that
    case will start at `ranges[0].from`.
    */
    function startParse(input, fragments, ranges) {
      if (typeof input == "string") input = new StringInput(input);
      ranges = !ranges ? [new Range(0, input.length)] : ranges.length ? ranges.map(function (r) {
        return new Range(r.from, r.to);
      }) : [new Range(0, 0)];
      return this.createParse(input, fragments || [], ranges);
    }
    /**
    Run a full parse, returning the resulting tree.
    */
  }, {
    key: "parse",
    value: function parse(input, fragments, ranges) {
      var parse = this.startParse(input, fragments, ranges);
      for (;;) {
        var done = parse.advance();
        if (done) return done;
      }
    }
  }]);
}();
var StringInput = /*#__PURE__*/function () {
  function StringInput(string) {
    _classCallCheck(this, StringInput);
    this.string = string;
  }
  return _createClass(StringInput, [{
    key: "length",
    get: function get() {
      return this.string.length;
    }
  }, {
    key: "chunk",
    value: function chunk(from) {
      return this.string.slice(from);
    }
  }, {
    key: "lineChunks",
    get: function get() {
      return false;
    }
  }, {
    key: "read",
    value: function read(from, to) {
      return this.string.slice(from, to);
    }
  }]);
}();
/**
Create a parse wrapper that, after the inner parse completes,
scans its tree for mixed language regions with the `nest`
function, runs the resulting [inner parses](#common.NestedParse),
and then [mounts](#common.NodeProp^mounted) their results onto the
tree.
*/
function parseMixed(nest) {
  return function (parse, input, fragments, ranges) {
    return new MixedParse(parse, nest, input, fragments, ranges);
  };
}
var InnerParse = /*#__PURE__*/_createClass(function InnerParse(parser, parse, overlay, target, from) {
  _classCallCheck(this, InnerParse);
  this.parser = parser;
  this.parse = parse;
  this.overlay = overlay;
  this.target = target;
  this.from = from;
});
function checkRanges(ranges) {
  if (!ranges.length || ranges.some(function (r) {
    return r.from >= r.to;
  })) throw new RangeError("Invalid inner parse ranges given: " + JSON.stringify(ranges));
}
var ActiveOverlay = /*#__PURE__*/_createClass(function ActiveOverlay(parser, predicate, mounts, index, start, target, prev) {
  _classCallCheck(this, ActiveOverlay);
  this.parser = parser;
  this.predicate = predicate;
  this.mounts = mounts;
  this.index = index;
  this.start = start;
  this.target = target;
  this.prev = prev;
  this.depth = 0;
  this.ranges = [];
});
var stoppedInner = new NodeProp({
  perNode: true
});
var MixedParse = /*#__PURE__*/function () {
  function MixedParse(base, nest, input, fragments, ranges) {
    _classCallCheck(this, MixedParse);
    this.nest = nest;
    this.input = input;
    this.fragments = fragments;
    this.ranges = ranges;
    this.inner = [];
    this.innerDone = 0;
    this.baseTree = null;
    this.stoppedAt = null;
    this.baseParse = base;
  }
  return _createClass(MixedParse, [{
    key: "advance",
    value: function advance() {
      if (this.baseParse) {
        var _done = this.baseParse.advance();
        if (!_done) return null;
        this.baseParse = null;
        this.baseTree = _done;
        this.startInner();
        if (this.stoppedAt != null) {
          var _iterator10 = _createForOfIteratorHelper(this.inner),
            _step10;
          try {
            for (_iterator10.s(); !(_step10 = _iterator10.n()).done;) {
              var _inner = _step10.value;
              _inner.parse.stopAt(this.stoppedAt);
            }
          } catch (err) {
            _iterator10.e(err);
          } finally {
            _iterator10.f();
          }
        }
      }
      if (this.innerDone == this.inner.length) {
        var result = this.baseTree;
        if (this.stoppedAt != null) result = new Tree(result.type, result.children, result.positions, result.length, result.propValues.concat([[stoppedInner, this.stoppedAt]]));
        return result;
      }
      var inner = this.inner[this.innerDone],
        done = inner.parse.advance();
      if (done) {
        this.innerDone++;
        // This is a somewhat dodgy but super helpful hack where we
        // patch up nodes created by the inner parse (and thus
        // presumably not aliased anywhere else) to hold the information
        // about the inner parse.
        var props = Object.assign(Object.create(null), inner.target.props);
        props[NodeProp.mounted.id] = new MountedTree(done, inner.overlay, inner.parser);
        inner.target.props = props;
      }
      return null;
    }
  }, {
    key: "parsedPos",
    get: function get() {
      if (this.baseParse) return 0;
      var pos = this.input.length;
      for (var i = this.innerDone; i < this.inner.length; i++) {
        if (this.inner[i].from < pos) pos = Math.min(pos, this.inner[i].parse.parsedPos);
      }
      return pos;
    }
  }, {
    key: "stopAt",
    value: function stopAt(pos) {
      this.stoppedAt = pos;
      if (this.baseParse) this.baseParse.stopAt(pos);else for (var i = this.innerDone; i < this.inner.length; i++) this.inner[i].parse.stopAt(pos);
    }
  }, {
    key: "startInner",
    value: function startInner() {
      var fragmentCursor = new FragmentCursor(this.fragments);
      var overlay = null;
      var covered = null;
      var cursor = new TreeCursor(new TreeNode(this.baseTree, this.ranges[0].from, 0, null), IterMode.IncludeAnonymous | IterMode.IgnoreMounts);
      scan: for (var nest, isCovered;;) {
        var enter = true,
          range = void 0;
        if (this.stoppedAt != null && cursor.from >= this.stoppedAt) {
          enter = false;
        } else if (fragmentCursor.hasNode(cursor)) {
          if (overlay) {
            var match = overlay.mounts.find(function (m) {
              return m.frag.from <= cursor.from && m.frag.to >= cursor.to && m.mount.overlay;
            });
            if (match) {
              var _iterator11 = _createForOfIteratorHelper(match.mount.overlay),
                _step11;
              try {
                var _loop = function _loop() {
                  var r = _step11.value;
                  var from = r.from + match.pos,
                    to = r.to + match.pos;
                  if (from >= cursor.from && to <= cursor.to && !overlay.ranges.some(function (r) {
                    return r.from < to && r.to > from;
                  })) overlay.ranges.push({
                    from: from,
                    to: to
                  });
                };
                for (_iterator11.s(); !(_step11 = _iterator11.n()).done;) {
                  _loop();
                }
              } catch (err) {
                _iterator11.e(err);
              } finally {
                _iterator11.f();
              }
            }
          }
          enter = false;
        } else if (covered && (isCovered = checkCover(covered.ranges, cursor.from, cursor.to))) {
          enter = isCovered != 2 /* Cover.Full */;
        } else if (!cursor.type.isAnonymous && (nest = this.nest(cursor, this.input)) && (cursor.from < cursor.to || !nest.overlay)) {
          if (!cursor.tree) materialize(cursor);
          var oldMounts = fragmentCursor.findMounts(cursor.from, nest.parser);
          if (typeof nest.overlay == "function") {
            overlay = new ActiveOverlay(nest.parser, nest.overlay, oldMounts, this.inner.length, cursor.from, cursor.tree, overlay);
          } else {
            var ranges = punchRanges(this.ranges, nest.overlay || (cursor.from < cursor.to ? [new Range(cursor.from, cursor.to)] : []));
            if (ranges.length) checkRanges(ranges);
            if (ranges.length || !nest.overlay) this.inner.push(new InnerParse(nest.parser, ranges.length ? nest.parser.startParse(this.input, enterFragments(oldMounts, ranges), ranges) : nest.parser.startParse(""), nest.overlay ? nest.overlay.map(function (r) {
              return new Range(r.from - cursor.from, r.to - cursor.from);
            }) : null, cursor.tree, ranges.length ? ranges[0].from : cursor.from));
            if (!nest.overlay) enter = false;else if (ranges.length) covered = {
              ranges: ranges,
              depth: 0,
              prev: covered
            };
          }
        } else if (overlay && (range = overlay.predicate(cursor))) {
          if (range === true) range = new Range(cursor.from, cursor.to);
          if (range.from < range.to) overlay.ranges.push(range);
        }
        if (enter && cursor.firstChild()) {
          if (overlay) overlay.depth++;
          if (covered) covered.depth++;
        } else {
          for (;;) {
            if (cursor.nextSibling()) break;
            if (!cursor.parent()) break scan;
            if (overlay && ! --overlay.depth) {
              var _ranges = punchRanges(this.ranges, overlay.ranges);
              if (_ranges.length) {
                checkRanges(_ranges);
                this.inner.splice(overlay.index, 0, new InnerParse(overlay.parser, overlay.parser.startParse(this.input, enterFragments(overlay.mounts, _ranges), _ranges), overlay.ranges.map(function (r) {
                  return new Range(r.from - overlay.start, r.to - overlay.start);
                }), overlay.target, _ranges[0].from));
              }
              overlay = overlay.prev;
            }
            if (covered && ! --covered.depth) covered = covered.prev;
          }
        }
      }
    }
  }]);
}();
function checkCover(covered, from, to) {
  var _iterator12 = _createForOfIteratorHelper(covered),
    _step12;
  try {
    for (_iterator12.s(); !(_step12 = _iterator12.n()).done;) {
      var range = _step12.value;
      if (range.from >= to) break;
      if (range.to > from) return range.from <= from && range.to >= to ? 2 /* Cover.Full */ : 1 /* Cover.Partial */;
    }
  } catch (err) {
    _iterator12.e(err);
  } finally {
    _iterator12.f();
  }
  return 0 /* Cover.None */;
}
// Take a piece of buffer and convert it into a stand-alone
// TreeBuffer.
function sliceBuf(buf, startI, endI, nodes, positions, off) {
  if (startI < endI) {
    var from = buf.buffer[startI + 1];
    nodes.push(buf.slice(startI, endI, from));
    positions.push(from - off);
  }
}
// This function takes a node that's in a buffer, and converts it, and
// its parent buffer nodes, into a Tree. This is again acting on the
// assumption that the trees and buffers have been constructed by the
// parse that was ran via the mix parser, and thus aren't shared with
// any other code, making violations of the immutability safe.
function materialize(cursor) {
  var node = cursor.node,
    stack = [];
  var buffer = node.context.buffer;
  // Scan up to the nearest tree
  do {
    stack.push(cursor.index);
    cursor.parent();
  } while (!cursor.tree);
  // Find the index of the buffer in that tree
  var base = cursor.tree,
    i = base.children.indexOf(buffer);
  var buf = base.children[i],
    b = buf.buffer,
    newStack = [i];
  // Split a level in the buffer, putting the nodes before and after
  // the child that contains `node` into new buffers.
  function split(startI, endI, type, innerOffset, length, stackPos) {
    var targetI = stack[stackPos];
    var children = [],
      positions = [];
    sliceBuf(buf, startI, targetI, children, positions, innerOffset);
    var from = b[targetI + 1],
      to = b[targetI + 2];
    newStack.push(children.length);
    var child = stackPos ? split(targetI + 4, b[targetI + 3], buf.set.types[b[targetI]], from, to - from, stackPos - 1) : node.toTree();
    children.push(child);
    positions.push(from - innerOffset);
    sliceBuf(buf, b[targetI + 3], endI, children, positions, innerOffset);
    return new Tree(type, children, positions, length);
  }
  base.children[i] = split(0, b.length, NodeType.none, 0, buf.length, stack.length - 1);
  // Move the cursor back to the target node
  for (var _i3 = 0, _newStack = newStack; _i3 < _newStack.length; _i3++) {
    var index = _newStack[_i3];
    var tree = cursor.tree.children[index],
      pos = cursor.tree.positions[index];
    cursor["yield"](new TreeNode(tree, pos + cursor.from, index, cursor._tree));
  }
}
var StructureCursor = /*#__PURE__*/function () {
  function StructureCursor(root, offset) {
    _classCallCheck(this, StructureCursor);
    this.offset = offset;
    this.done = false;
    this.cursor = root.cursor(IterMode.IncludeAnonymous | IterMode.IgnoreMounts);
  }
  // Move to the first node (in pre-order) that starts at or after `pos`.
  return _createClass(StructureCursor, [{
    key: "moveTo",
    value: function moveTo(pos) {
      var cursor = this.cursor,
        p = pos - this.offset;
      while (!this.done && cursor.from < p) {
        if (cursor.to >= pos && cursor.enter(p, 1, IterMode.IgnoreOverlays | IterMode.ExcludeBuffers)) ;else if (!cursor.next(false)) this.done = true;
      }
    }
  }, {
    key: "hasNode",
    value: function hasNode(cursor) {
      this.moveTo(cursor.from);
      if (!this.done && this.cursor.from + this.offset == cursor.from && this.cursor.tree) {
        for (var tree = this.cursor.tree;;) {
          if (tree == cursor.tree) return true;
          if (tree.children.length && tree.positions[0] == 0 && tree.children[0] instanceof Tree) tree = tree.children[0];else break;
        }
      }
      return false;
    }
  }]);
}();
var FragmentCursor = /*#__PURE__*/function () {
  function FragmentCursor(fragments) {
    _classCallCheck(this, FragmentCursor);
    var _a;
    this.fragments = fragments;
    this.curTo = 0;
    this.fragI = 0;
    if (fragments.length) {
      var first = this.curFrag = fragments[0];
      this.curTo = (_a = first.tree.prop(stoppedInner)) !== null && _a !== void 0 ? _a : first.to;
      this.inner = new StructureCursor(first.tree, -first.offset);
    } else {
      this.curFrag = this.inner = null;
    }
  }
  return _createClass(FragmentCursor, [{
    key: "hasNode",
    value: function hasNode(node) {
      while (this.curFrag && node.from >= this.curTo) this.nextFrag();
      return this.curFrag && this.curFrag.from <= node.from && this.curTo >= node.to && this.inner.hasNode(node);
    }
  }, {
    key: "nextFrag",
    value: function nextFrag() {
      var _a;
      this.fragI++;
      if (this.fragI == this.fragments.length) {
        this.curFrag = this.inner = null;
      } else {
        var frag = this.curFrag = this.fragments[this.fragI];
        this.curTo = (_a = frag.tree.prop(stoppedInner)) !== null && _a !== void 0 ? _a : frag.to;
        this.inner = new StructureCursor(frag.tree, -frag.offset);
      }
    }
  }, {
    key: "findMounts",
    value: function findMounts(pos, parser) {
      var _a;
      var result = [];
      if (this.inner) {
        this.inner.cursor.moveTo(pos, 1);
        for (var _pos = this.inner.cursor.node; _pos; _pos = _pos.parent) {
          var mount = (_a = _pos.tree) === null || _a === void 0 ? void 0 : _a.prop(NodeProp.mounted);
          if (mount && mount.parser == parser) {
            for (var i = this.fragI; i < this.fragments.length; i++) {
              var frag = this.fragments[i];
              if (frag.from >= _pos.to) break;
              if (frag.tree == this.curFrag.tree) result.push({
                frag: frag,
                pos: _pos.from - frag.offset,
                mount: mount
              });
            }
          }
        }
      }
      return result;
    }
  }]);
}();
function punchRanges(outer, ranges) {
  var copy = null,
    current = ranges;
  for (var i = 1, j = 0; i < outer.length; i++) {
    var gapFrom = outer[i - 1].to,
      gapTo = outer[i].from;
    for (; j < current.length; j++) {
      var r = current[j];
      if (r.from >= gapTo) break;
      if (r.to <= gapFrom) continue;
      if (!copy) current = copy = ranges.slice();
      if (r.from < gapFrom) {
        copy[j] = new Range(r.from, gapFrom);
        if (r.to > gapTo) copy.splice(j + 1, 0, new Range(gapTo, r.to));
      } else if (r.to > gapTo) {
        copy[j--] = new Range(gapTo, r.to);
      } else {
        copy.splice(j--, 1);
      }
    }
  }
  return current;
}
function findCoverChanges(a, b, from, to) {
  var iA = 0,
    iB = 0,
    inA = false,
    inB = false,
    pos = -1e9;
  var result = [];
  for (;;) {
    var nextA = iA == a.length ? 1e9 : inA ? a[iA].to : a[iA].from;
    var nextB = iB == b.length ? 1e9 : inB ? b[iB].to : b[iB].from;
    if (inA != inB) {
      var start = Math.max(pos, from),
        end = Math.min(nextA, nextB, to);
      if (start < end) result.push(new Range(start, end));
    }
    pos = Math.min(nextA, nextB);
    if (pos == 1e9) break;
    if (nextA == pos) {
      if (!inA) inA = true;else {
        inA = false;
        iA++;
      }
    }
    if (nextB == pos) {
      if (!inB) inB = true;else {
        inB = false;
        iB++;
      }
    }
  }
  return result;
}
// Given a number of fragments for the outer tree, and a set of ranges
// to parse, find fragments for inner trees mounted around those
// ranges, if any.
function enterFragments(mounts, ranges) {
  var result = [];
  var _iterator13 = _createForOfIteratorHelper(mounts),
    _step13;
  try {
    var _loop2 = function _loop2() {
      var _step13$value = _step13.value,
        pos = _step13$value.pos,
        mount = _step13$value.mount,
        frag = _step13$value.frag;
      var startPos = pos + (mount.overlay ? mount.overlay[0].from : 0),
        endPos = startPos + mount.tree.length;
      var from = Math.max(frag.from, startPos),
        to = Math.min(frag.to, endPos);
      if (mount.overlay) {
        var overlay = mount.overlay.map(function (r) {
          return new Range(r.from + pos, r.to + pos);
        });
        var changes = findCoverChanges(ranges, overlay, from, to);
        for (var i = 0, _pos2 = from;; i++) {
          var last = i == changes.length,
            end = last ? to : changes[i].from;
          if (end > _pos2) result.push(new TreeFragment(_pos2, end, mount.tree, -startPos, frag.from >= _pos2 || frag.openStart, frag.to <= end || frag.openEnd));
          if (last) break;
          _pos2 = changes[i].to;
        }
      } else {
        result.push(new TreeFragment(from, to, mount.tree, -startPos, frag.from >= startPos || frag.openStart, frag.to <= endPos || frag.openEnd));
      }
    };
    for (_iterator13.s(); !(_step13 = _iterator13.n()).done;) {
      _loop2();
    }
  } catch (err) {
    _iterator13.e(err);
  } finally {
    _iterator13.f();
  }
  return result;
}

},{}],12:[function(require,module,exports){
"use strict";

Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.classHighlighter = exports.Tag = void 0;
exports.getStyleTags = getStyleTags;
exports.highlightCode = highlightCode;
exports.highlightTree = highlightTree;
exports.styleTags = styleTags;
exports.tagHighlighter = tagHighlighter;
exports.tags = void 0;
var _common = require("@lezer/common");
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
var nextTagID = 0;
/**
Highlighting tags are markers that denote a highlighting category.
They are [associated](#highlight.styleTags) with parts of a syntax
tree by a language mode, and then mapped to an actual CSS style by
a [highlighter](#highlight.Highlighter).

Because syntax tree node types and highlight styles have to be
able to talk the same language, CodeMirror uses a mostly _closed_
[vocabulary](#highlight.tags) of syntax tags (as opposed to
traditional open string-based systems, which make it hard for
highlighting themes to cover all the tokens produced by the
various languages).

It _is_ possible to [define](#highlight.Tag^define) your own
highlighting tags for system-internal use (where you control both
the language package and the highlighter), but such tags will not
be picked up by regular highlighters (though you can derive them
from standard tags to allow highlighters to fall back to those).
*/
var Tag = exports.Tag = /*#__PURE__*/function () {
  /**
  @internal
  */
  function Tag(
  /**
  The set of this tag and all its parent tags, starting with
  this one itself and sorted in order of decreasing specificity.
  */
  set,
  /**
  The base unmodified tag that this one is based on, if it's
  modified @internal
  */
  base,
  /**
  The modifiers applied to this.base @internal
  */
  modified) {
    _classCallCheck(this, Tag);
    this.set = set;
    this.base = base;
    this.modified = modified;
    /**
    @internal
    */
    this.id = nextTagID++;
  }
  /**
  Define a new tag. If `parent` is given, the tag is treated as a
  sub-tag of that parent, and
  [highlighters](#highlight.tagHighlighter) that don't mention
  this tag will try to fall back to the parent tag (or grandparent
  tag, etc).
  */
  return _createClass(Tag, null, [{
    key: "define",
    value: function define(parent) {
      if (parent === null || parent === void 0 ? void 0 : parent.base) throw new Error("Can not derive from a modified tag");
      var tag = new Tag([], null, []);
      tag.set.push(tag);
      if (parent) {
        var _iterator = _createForOfIteratorHelper(parent.set),
          _step;
        try {
          for (_iterator.s(); !(_step = _iterator.n()).done;) {
            var _t = _step.value;
            tag.set.push(_t);
          }
        } catch (err) {
          _iterator.e(err);
        } finally {
          _iterator.f();
        }
      }
      return tag;
    }
    /**
    Define a tag _modifier_, which is a function that, given a tag,
    will return a tag that is a subtag of the original. Applying the
    same modifier to a twice tag will return the same value (`m1(t1)
    == m1(t1)`) and applying multiple modifiers will, regardless or
    order, produce the same tag (`m1(m2(t1)) == m2(m1(t1))`).
    
    When multiple modifiers are applied to a given base tag, each
    smaller set of modifiers is registered as a parent, so that for
    example `m1(m2(m3(t1)))` is a subtype of `m1(m2(t1))`,
    `m1(m3(t1)`, and so on.
    */
  }, {
    key: "defineModifier",
    value: function defineModifier() {
      var mod = new Modifier();
      return function (tag) {
        if (tag.modified.indexOf(mod) > -1) return tag;
        return Modifier.get(tag.base || tag, tag.modified.concat(mod).sort(function (a, b) {
          return a.id - b.id;
        }));
      };
    }
  }]);
}();
var nextModifierID = 0;
var Modifier = /*#__PURE__*/function () {
  function Modifier() {
    _classCallCheck(this, Modifier);
    this.instances = [];
    this.id = nextModifierID++;
  }
  return _createClass(Modifier, null, [{
    key: "get",
    value: function get(base, mods) {
      if (!mods.length) return base;
      var exists = mods[0].instances.find(function (t) {
        return t.base == base && sameArray(mods, t.modified);
      });
      if (exists) return exists;
      var set = [],
        tag = new Tag(set, base, mods);
      var _iterator2 = _createForOfIteratorHelper(mods),
        _step2;
      try {
        for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
          var m = _step2.value;
          m.instances.push(tag);
        }
      } catch (err) {
        _iterator2.e(err);
      } finally {
        _iterator2.f();
      }
      var configs = powerSet(mods);
      var _iterator3 = _createForOfIteratorHelper(base.set),
        _step3;
      try {
        for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
          var parent = _step3.value;
          if (!parent.modified.length) {
            var _iterator4 = _createForOfIteratorHelper(configs),
              _step4;
            try {
              for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
                var config = _step4.value;
                set.push(Modifier.get(parent, config));
              }
            } catch (err) {
              _iterator4.e(err);
            } finally {
              _iterator4.f();
            }
          }
        }
      } catch (err) {
        _iterator3.e(err);
      } finally {
        _iterator3.f();
      }
      return tag;
    }
  }]);
}();
function sameArray(a, b) {
  return a.length == b.length && a.every(function (x, i) {
    return x == b[i];
  });
}
function powerSet(array) {
  var sets = [[]];
  for (var i = 0; i < array.length; i++) {
    for (var j = 0, e = sets.length; j < e; j++) {
      sets.push(sets[j].concat(array[i]));
    }
  }
  return sets.sort(function (a, b) {
    return b.length - a.length;
  });
}
/**
This function is used to add a set of tags to a language syntax
via [`NodeSet.extend`](#common.NodeSet.extend) or
[`LRParser.configure`](#lr.LRParser.configure).

The argument object maps node selectors to [highlighting
tags](#highlight.Tag) or arrays of tags.

Node selectors may hold one or more (space-separated) node paths.
Such a path can be a [node name](#common.NodeType.name), or
multiple node names (or `*` wildcards) separated by slash
characters, as in `"Block/Declaration/VariableName"`. Such a path
matches the final node but only if its direct parent nodes are the
other nodes mentioned. A `*` in such a path matches any parent,
but only a single level—wildcards that match multiple parents
aren't supported, both for efficiency reasons and because Lezer
trees make it rather hard to reason about what they would match.)

A path can be ended with `/...` to indicate that the tag assigned
to the node should also apply to all child nodes, even if they
match their own style (by default, only the innermost style is
used).

When a path ends in `!`, as in `Attribute!`, no further matching
happens for the node's child nodes, and the entire node gets the
given style.

In this notation, node names that contain `/`, `!`, `*`, or `...`
must be quoted as JSON strings.

For example:

```javascript
parser.withProps(
  styleTags({
    // Style Number and BigNumber nodes
    "Number BigNumber": tags.number,
    // Style Escape nodes whose parent is String
    "String/Escape": tags.escape,
    // Style anything inside Attributes nodes
    "Attributes!": tags.meta,
    // Add a style to all content inside Italic nodes
    "Italic/...": tags.emphasis,
    // Style InvalidString nodes as both `string` and `invalid`
    "InvalidString": [tags.string, tags.invalid],
    // Style the node named "/" as punctuation
    '"/"': tags.punctuation
  })
)
```
*/
function styleTags(spec) {
  var byName = Object.create(null);
  for (var prop in spec) {
    var _tags = spec[prop];
    if (!Array.isArray(_tags)) _tags = [_tags];
    var _iterator5 = _createForOfIteratorHelper(prop.split(" ")),
      _step5;
    try {
      for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
        var part = _step5.value;
        if (part) {
          var pieces = [],
            mode = 2 /* Mode.Normal */,
            rest = part;
          for (var pos = 0;;) {
            if (rest == "..." && pos > 0 && pos + 3 == part.length) {
              mode = 1 /* Mode.Inherit */;
              break;
            }
            var m = /^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(rest);
            if (!m) throw new RangeError("Invalid path: " + part);
            pieces.push(m[0] == "*" ? "" : m[0][0] == '"' ? JSON.parse(m[0]) : m[0]);
            pos += m[0].length;
            if (pos == part.length) break;
            var next = part[pos++];
            if (pos == part.length && next == "!") {
              mode = 0 /* Mode.Opaque */;
              break;
            }
            if (next != "/") throw new RangeError("Invalid path: " + part);
            rest = part.slice(pos);
          }
          var last = pieces.length - 1,
            inner = pieces[last];
          if (!inner) throw new RangeError("Invalid path: " + part);
          var rule = new Rule(_tags, mode, last > 0 ? pieces.slice(0, last) : null);
          byName[inner] = rule.sort(byName[inner]);
        }
      }
    } catch (err) {
      _iterator5.e(err);
    } finally {
      _iterator5.f();
    }
  }
  return ruleNodeProp.add(byName);
}
var ruleNodeProp = new _common.NodeProp();
var Rule = /*#__PURE__*/function () {
  function Rule(tags, mode, context, next) {
    _classCallCheck(this, Rule);
    this.tags = tags;
    this.mode = mode;
    this.context = context;
    this.next = next;
  }
  return _createClass(Rule, [{
    key: "opaque",
    get: function get() {
      return this.mode == 0 /* Mode.Opaque */;
    }
  }, {
    key: "inherit",
    get: function get() {
      return this.mode == 1 /* Mode.Inherit */;
    }
  }, {
    key: "sort",
    value: function sort(other) {
      if (!other || other.depth < this.depth) {
        this.next = other;
        return this;
      }
      other.next = this.sort(other.next);
      return other;
    }
  }, {
    key: "depth",
    get: function get() {
      return this.context ? this.context.length : 0;
    }
  }]);
}();
Rule.empty = new Rule([], 2 /* Mode.Normal */, null);
/**
Define a [highlighter](#highlight.Highlighter) from an array of
tag/class pairs. Classes associated with more specific tags will
take precedence.
*/
function tagHighlighter(tags, options) {
  var map = Object.create(null);
  var _iterator6 = _createForOfIteratorHelper(tags),
    _step6;
  try {
    for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {
      var style = _step6.value;
      if (!Array.isArray(style.tag)) map[style.tag.id] = style["class"];else {
        var _iterator9 = _createForOfIteratorHelper(style.tag),
          _step9;
        try {
          for (_iterator9.s(); !(_step9 = _iterator9.n()).done;) {
            var tag = _step9.value;
            map[tag.id] = style["class"];
          }
        } catch (err) {
          _iterator9.e(err);
        } finally {
          _iterator9.f();
        }
      }
    }
  } catch (err) {
    _iterator6.e(err);
  } finally {
    _iterator6.f();
  }
  var _ref = options || {},
    scope = _ref.scope,
    _ref$all = _ref.all,
    all = _ref$all === void 0 ? null : _ref$all;
  return {
    style: function style(tags) {
      var cls = all;
      var _iterator7 = _createForOfIteratorHelper(tags),
        _step7;
      try {
        for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {
          var tag = _step7.value;
          var _iterator8 = _createForOfIteratorHelper(tag.set),
            _step8;
          try {
            for (_iterator8.s(); !(_step8 = _iterator8.n()).done;) {
              var sub = _step8.value;
              var tagClass = map[sub.id];
              if (tagClass) {
                cls = cls ? cls + " " + tagClass : tagClass;
                break;
              }
            }
          } catch (err) {
            _iterator8.e(err);
          } finally {
            _iterator8.f();
          }
        }
      } catch (err) {
        _iterator7.e(err);
      } finally {
        _iterator7.f();
      }
      return cls;
    },
    scope: scope
  };
}
function highlightTags(highlighters, tags) {
  var result = null;
  var _iterator10 = _createForOfIteratorHelper(highlighters),
    _step10;
  try {
    for (_iterator10.s(); !(_step10 = _iterator10.n()).done;) {
      var highlighter = _step10.value;
      var value = highlighter.style(tags);
      if (value) result = result ? result + " " + value : value;
    }
  } catch (err) {
    _iterator10.e(err);
  } finally {
    _iterator10.f();
  }
  return result;
}
/**
Highlight the given [tree](#common.Tree) with the given
[highlighter](#highlight.Highlighter). Often, the higher-level
[`highlightCode`](#highlight.highlightCode) function is easier to
use.
*/
function highlightTree(tree, highlighter,
/**
Assign styling to a region of the text. Will be called, in order
of position, for any ranges where more than zero classes apply.
`classes` is a space separated string of CSS classes.
*/
putStyle) {
  var from = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;
  var to = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : tree.length;
  var builder = new HighlightBuilder(from, Array.isArray(highlighter) ? highlighter : [highlighter], putStyle);
  builder.highlightRange(tree.cursor(), from, to, "", builder.highlighters);
  builder.flush(to);
}
/**
Highlight the given tree with the given highlighter, calling
`putText` for every piece of text, either with a set of classes or
with the empty string when unstyled, and `putBreak` for every line
break.
*/
function highlightCode(code, tree, highlighter, putText, putBreak) {
  var from = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0;
  var to = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : code.length;
  var pos = from;
  function writeTo(p, classes) {
    if (p <= pos) return;
    for (var text = code.slice(pos, p), i = 0;;) {
      var nextBreak = text.indexOf("\n", i);
      var upto = nextBreak < 0 ? text.length : nextBreak;
      if (upto > i) putText(text.slice(i, upto), classes);
      if (nextBreak < 0) break;
      putBreak();
      i = nextBreak + 1;
    }
    pos = p;
  }
  highlightTree(tree, highlighter, function (from, to, classes) {
    writeTo(from, "");
    writeTo(to, classes);
  }, from, to);
  writeTo(to, "");
}
var HighlightBuilder = /*#__PURE__*/function () {
  function HighlightBuilder(at, highlighters, span) {
    _classCallCheck(this, HighlightBuilder);
    this.at = at;
    this.highlighters = highlighters;
    this.span = span;
    this["class"] = "";
  }
  return _createClass(HighlightBuilder, [{
    key: "startSpan",
    value: function startSpan(at, cls) {
      if (cls != this["class"]) {
        this.flush(at);
        if (at > this.at) this.at = at;
        this["class"] = cls;
      }
    }
  }, {
    key: "flush",
    value: function flush(to) {
      if (to > this.at && this["class"]) this.span(this.at, to, this["class"]);
    }
  }, {
    key: "highlightRange",
    value: function highlightRange(cursor, from, to, inheritedClass, highlighters) {
      var type = cursor.type,
        start = cursor.from,
        end = cursor.to;
      if (start >= to || end <= from) return;
      if (type.isTop) highlighters = this.highlighters.filter(function (h) {
        return !h.scope || h.scope(type);
      });
      var cls = inheritedClass;
      var rule = getStyleTags(cursor) || Rule.empty;
      var tagCls = highlightTags(highlighters, rule.tags);
      if (tagCls) {
        if (cls) cls += " ";
        cls += tagCls;
        if (rule.mode == 1 /* Mode.Inherit */) inheritedClass += (inheritedClass ? " " : "") + tagCls;
      }
      this.startSpan(Math.max(from, start), cls);
      if (rule.opaque) return;
      var mounted = cursor.tree && cursor.tree.prop(_common.NodeProp.mounted);
      if (mounted && mounted.overlay) {
        var inner = cursor.node.enter(mounted.overlay[0].from + start, 1);
        var innerHighlighters = this.highlighters.filter(function (h) {
          return !h.scope || h.scope(mounted.tree.type);
        });
        var hasChild = cursor.firstChild();
        for (var i = 0, pos = start;; i++) {
          var next = i < mounted.overlay.length ? mounted.overlay[i] : null;
          var nextPos = next ? next.from + start : end;
          var rangeFrom = Math.max(from, pos),
            rangeTo = Math.min(to, nextPos);
          if (rangeFrom < rangeTo && hasChild) {
            while (cursor.from < rangeTo) {
              this.highlightRange(cursor, rangeFrom, rangeTo, inheritedClass, highlighters);
              this.startSpan(Math.min(rangeTo, cursor.to), cls);
              if (cursor.to >= nextPos || !cursor.nextSibling()) break;
            }
          }
          if (!next || nextPos > to) break;
          pos = next.to + start;
          if (pos > from) {
            this.highlightRange(inner.cursor(), Math.max(from, next.from + start), Math.min(to, pos), "", innerHighlighters);
            this.startSpan(Math.min(to, pos), cls);
          }
        }
        if (hasChild) cursor.parent();
      } else if (cursor.firstChild()) {
        if (mounted) inheritedClass = "";
        do {
          if (cursor.to <= from) continue;
          if (cursor.from >= to) break;
          this.highlightRange(cursor, from, to, inheritedClass, highlighters);
          this.startSpan(Math.min(to, cursor.to), cls);
        } while (cursor.nextSibling());
        cursor.parent();
      }
    }
  }]);
}();
/**
Match a syntax node's [highlight rules](#highlight.styleTags). If
there's a match, return its set of tags, and whether it is
opaque (uses a `!`) or applies to all child nodes (`/...`).
*/
function getStyleTags(node) {
  var rule = node.type.prop(ruleNodeProp);
  while (rule && rule.context && !node.matchContext(rule.context)) rule = rule.next;
  return rule || null;
}
var t = Tag.define;
var comment = t(),
  name = t(),
  typeName = t(name),
  propertyName = t(name),
  literal = t(),
  string = t(literal),
  number = t(literal),
  content = t(),
  heading = t(content),
  keyword = t(),
  operator = t(),
  punctuation = t(),
  bracket = t(punctuation),
  meta = t();
/**
The default set of highlighting [tags](#highlight.Tag).

This collection is heavily biased towards programming languages,
and necessarily incomplete. A full ontology of syntactic
constructs would fill a stack of books, and be impractical to
write themes for. So try to make do with this set. If all else
fails, [open an
issue](https://github.com/codemirror/codemirror.next) to propose a
new tag, or [define](#highlight.Tag^define) a local custom tag for
your use case.

Note that it is not obligatory to always attach the most specific
tag possible to an element—if your grammar can't easily
distinguish a certain type of element (such as a local variable),
it is okay to style it as its more general variant (a variable).

For tags that extend some parent tag, the documentation links to
the parent.
*/
var tags = exports.tags = {
  /**
  A comment.
  */
  comment: comment,
  /**
  A line [comment](#highlight.tags.comment).
  */
  lineComment: t(comment),
  /**
  A block [comment](#highlight.tags.comment).
  */
  blockComment: t(comment),
  /**
  A documentation [comment](#highlight.tags.comment).
  */
  docComment: t(comment),
  /**
  Any kind of identifier.
  */
  name: name,
  /**
  The [name](#highlight.tags.name) of a variable.
  */
  variableName: t(name),
  /**
  A type [name](#highlight.tags.name).
  */
  typeName: typeName,
  /**
  A tag name (subtag of [`typeName`](#highlight.tags.typeName)).
  */
  tagName: t(typeName),
  /**
  A property or field [name](#highlight.tags.name).
  */
  propertyName: propertyName,
  /**
  An attribute name (subtag of [`propertyName`](#highlight.tags.propertyName)).
  */
  attributeName: t(propertyName),
  /**
  The [name](#highlight.tags.name) of a class.
  */
  className: t(name),
  /**
  A label [name](#highlight.tags.name).
  */
  labelName: t(name),
  /**
  A namespace [name](#highlight.tags.name).
  */
  namespace: t(name),
  /**
  The [name](#highlight.tags.name) of a macro.
  */
  macroName: t(name),
  /**
  A literal value.
  */
  literal: literal,
  /**
  A string [literal](#highlight.tags.literal).
  */
  string: string,
  /**
  A documentation [string](#highlight.tags.string).
  */
  docString: t(string),
  /**
  A character literal (subtag of [string](#highlight.tags.string)).
  */
  character: t(string),
  /**
  An attribute value (subtag of [string](#highlight.tags.string)).
  */
  attributeValue: t(string),
  /**
  A number [literal](#highlight.tags.literal).
  */
  number: number,
  /**
  An integer [number](#highlight.tags.number) literal.
  */
  integer: t(number),
  /**
  A floating-point [number](#highlight.tags.number) literal.
  */
  "float": t(number),
  /**
  A boolean [literal](#highlight.tags.literal).
  */
  bool: t(literal),
  /**
  Regular expression [literal](#highlight.tags.literal).
  */
  regexp: t(literal),
  /**
  An escape [literal](#highlight.tags.literal), for example a
  backslash escape in a string.
  */
  escape: t(literal),
  /**
  A color [literal](#highlight.tags.literal).
  */
  color: t(literal),
  /**
  A URL [literal](#highlight.tags.literal).
  */
  url: t(literal),
  /**
  A language keyword.
  */
  keyword: keyword,
  /**
  The [keyword](#highlight.tags.keyword) for the self or this
  object.
  */
  self: t(keyword),
  /**
  The [keyword](#highlight.tags.keyword) for null.
  */
  "null": t(keyword),
  /**
  A [keyword](#highlight.tags.keyword) denoting some atomic value.
  */
  atom: t(keyword),
  /**
  A [keyword](#highlight.tags.keyword) that represents a unit.
  */
  unit: t(keyword),
  /**
  A modifier [keyword](#highlight.tags.keyword).
  */
  modifier: t(keyword),
  /**
  A [keyword](#highlight.tags.keyword) that acts as an operator.
  */
  operatorKeyword: t(keyword),
  /**
  A control-flow related [keyword](#highlight.tags.keyword).
  */
  controlKeyword: t(keyword),
  /**
  A [keyword](#highlight.tags.keyword) that defines something.
  */
  definitionKeyword: t(keyword),
  /**
  A [keyword](#highlight.tags.keyword) related to defining or
  interfacing with modules.
  */
  moduleKeyword: t(keyword),
  /**
  An operator.
  */
  operator: operator,
  /**
  An [operator](#highlight.tags.operator) that dereferences something.
  */
  derefOperator: t(operator),
  /**
  Arithmetic-related [operator](#highlight.tags.operator).
  */
  arithmeticOperator: t(operator),
  /**
  Logical [operator](#highlight.tags.operator).
  */
  logicOperator: t(operator),
  /**
  Bit [operator](#highlight.tags.operator).
  */
  bitwiseOperator: t(operator),
  /**
  Comparison [operator](#highlight.tags.operator).
  */
  compareOperator: t(operator),
  /**
  [Operator](#highlight.tags.operator) that updates its operand.
  */
  updateOperator: t(operator),
  /**
  [Operator](#highlight.tags.operator) that defines something.
  */
  definitionOperator: t(operator),
  /**
  Type-related [operator](#highlight.tags.operator).
  */
  typeOperator: t(operator),
  /**
  Control-flow [operator](#highlight.tags.operator).
  */
  controlOperator: t(operator),
  /**
  Program or markup punctuation.
  */
  punctuation: punctuation,
  /**
  [Punctuation](#highlight.tags.punctuation) that separates
  things.
  */
  separator: t(punctuation),
  /**
  Bracket-style [punctuation](#highlight.tags.punctuation).
  */
  bracket: bracket,
  /**
  Angle [brackets](#highlight.tags.bracket) (usually `<` and `>`
  tokens).
  */
  angleBracket: t(bracket),
  /**
  Square [brackets](#highlight.tags.bracket) (usually `[` and `]`
  tokens).
  */
  squareBracket: t(bracket),
  /**
  Parentheses (usually `(` and `)` tokens). Subtag of
  [bracket](#highlight.tags.bracket).
  */
  paren: t(bracket),
  /**
  Braces (usually `{` and `}` tokens). Subtag of
  [bracket](#highlight.tags.bracket).
  */
  brace: t(bracket),
  /**
  Content, for example plain text in XML or markup documents.
  */
  content: content,
  /**
  [Content](#highlight.tags.content) that represents a heading.
  */
  heading: heading,
  /**
  A level 1 [heading](#highlight.tags.heading).
  */
  heading1: t(heading),
  /**
  A level 2 [heading](#highlight.tags.heading).
  */
  heading2: t(heading),
  /**
  A level 3 [heading](#highlight.tags.heading).
  */
  heading3: t(heading),
  /**
  A level 4 [heading](#highlight.tags.heading).
  */
  heading4: t(heading),
  /**
  A level 5 [heading](#highlight.tags.heading).
  */
  heading5: t(heading),
  /**
  A level 6 [heading](#highlight.tags.heading).
  */
  heading6: t(heading),
  /**
  A prose separator (such as a horizontal rule).
  */
  contentSeparator: t(content),
  /**
  [Content](#highlight.tags.content) that represents a list.
  */
  list: t(content),
  /**
  [Content](#highlight.tags.content) that represents a quote.
  */
  quote: t(content),
  /**
  [Content](#highlight.tags.content) that is emphasized.
  */
  emphasis: t(content),
  /**
  [Content](#highlight.tags.content) that is styled strong.
  */
  strong: t(content),
  /**
  [Content](#highlight.tags.content) that is part of a link.
  */
  link: t(content),
  /**
  [Content](#highlight.tags.content) that is styled as code or
  monospace.
  */
  monospace: t(content),
  /**
  [Content](#highlight.tags.content) that has a strike-through
  style.
  */
  strikethrough: t(content),
  /**
  Inserted text in a change-tracking format.
  */
  inserted: t(),
  /**
  Deleted text.
  */
  deleted: t(),
  /**
  Changed text.
  */
  changed: t(),
  /**
  An invalid or unsyntactic element.
  */
  invalid: t(),
  /**
  Metadata or meta-instruction.
  */
  meta: meta,
  /**
  [Metadata](#highlight.tags.meta) that applies to the entire
  document.
  */
  documentMeta: t(meta),
  /**
  [Metadata](#highlight.tags.meta) that annotates or adds
  attributes to a given syntactic element.
  */
  annotation: t(meta),
  /**
  Processing instruction or preprocessor directive. Subtag of
  [meta](#highlight.tags.meta).
  */
  processingInstruction: t(meta),
  /**
  [Modifier](#highlight.Tag^defineModifier) that indicates that a
  given element is being defined. Expected to be used with the
  various [name](#highlight.tags.name) tags.
  */
  definition: Tag.defineModifier(),
  /**
  [Modifier](#highlight.Tag^defineModifier) that indicates that
  something is constant. Mostly expected to be used with
  [variable names](#highlight.tags.variableName).
  */
  constant: Tag.defineModifier(),
  /**
  [Modifier](#highlight.Tag^defineModifier) used to indicate that
  a [variable](#highlight.tags.variableName) or [property
  name](#highlight.tags.propertyName) is being called or defined
  as a function.
  */
  "function": Tag.defineModifier(),
  /**
  [Modifier](#highlight.Tag^defineModifier) that can be applied to
  [names](#highlight.tags.name) to indicate that they belong to
  the language's standard environment.
  */
  standard: Tag.defineModifier(),
  /**
  [Modifier](#highlight.Tag^defineModifier) that indicates a given
  [names](#highlight.tags.name) is local to some scope.
  */
  local: Tag.defineModifier(),
  /**
  A generic variant [modifier](#highlight.Tag^defineModifier) that
  can be used to tag language-specific alternative variants of
  some common tag. It is recommended for themes to define special
  forms of at least the [string](#highlight.tags.string) and
  [variable name](#highlight.tags.variableName) tags, since those
  come up a lot.
  */
  special: Tag.defineModifier()
};
/**
This is a highlighter that adds stable, predictable classes to
tokens, for styling with external CSS.

The following tags are mapped to their name prefixed with `"tok-"`
(for example `"tok-comment"`):

* [`link`](#highlight.tags.link)
* [`heading`](#highlight.tags.heading)
* [`emphasis`](#highlight.tags.emphasis)
* [`strong`](#highlight.tags.strong)
* [`keyword`](#highlight.tags.keyword)
* [`atom`](#highlight.tags.atom)
* [`bool`](#highlight.tags.bool)
* [`url`](#highlight.tags.url)
* [`labelName`](#highlight.tags.labelName)
* [`inserted`](#highlight.tags.inserted)
* [`deleted`](#highlight.tags.deleted)
* [`literal`](#highlight.tags.literal)
* [`string`](#highlight.tags.string)
* [`number`](#highlight.tags.number)
* [`variableName`](#highlight.tags.variableName)
* [`typeName`](#highlight.tags.typeName)
* [`namespace`](#highlight.tags.namespace)
* [`className`](#highlight.tags.className)
* [`macroName`](#highlight.tags.macroName)
* [`propertyName`](#highlight.tags.propertyName)
* [`operator`](#highlight.tags.operator)
* [`comment`](#highlight.tags.comment)
* [`meta`](#highlight.tags.meta)
* [`punctuation`](#highlight.tags.punctuation)
* [`invalid`](#highlight.tags.invalid)

In addition, these mappings are provided:

* [`regexp`](#highlight.tags.regexp),
  [`escape`](#highlight.tags.escape), and
  [`special`](#highlight.tags.special)[`(string)`](#highlight.tags.string)
  are mapped to `"tok-string2"`
* [`special`](#highlight.tags.special)[`(variableName)`](#highlight.tags.variableName)
  to `"tok-variableName2"`
* [`local`](#highlight.tags.local)[`(variableName)`](#highlight.tags.variableName)
  to `"tok-variableName tok-local"`
* [`definition`](#highlight.tags.definition)[`(variableName)`](#highlight.tags.variableName)
  to `"tok-variableName tok-definition"`
* [`definition`](#highlight.tags.definition)[`(propertyName)`](#highlight.tags.propertyName)
  to `"tok-propertyName tok-definition"`
*/
var classHighlighter = exports.classHighlighter = tagHighlighter([{
  tag: tags.link,
  "class": "tok-link"
}, {
  tag: tags.heading,
  "class": "tok-heading"
}, {
  tag: tags.emphasis,
  "class": "tok-emphasis"
}, {
  tag: tags.strong,
  "class": "tok-strong"
}, {
  tag: tags.keyword,
  "class": "tok-keyword"
}, {
  tag: tags.atom,
  "class": "tok-atom"
}, {
  tag: tags.bool,
  "class": "tok-bool"
}, {
  tag: tags.url,
  "class": "tok-url"
}, {
  tag: tags.labelName,
  "class": "tok-labelName"
}, {
  tag: tags.inserted,
  "class": "tok-inserted"
}, {
  tag: tags.deleted,
  "class": "tok-deleted"
}, {
  tag: tags.literal,
  "class": "tok-literal"
}, {
  tag: tags.string,
  "class": "tok-string"
}, {
  tag: tags.number,
  "class": "tok-number"
}, {
  tag: [tags.regexp, tags.escape, tags.special(tags.string)],
  "class": "tok-string2"
}, {
  tag: tags.variableName,
  "class": "tok-variableName"
}, {
  tag: tags.local(tags.variableName),
  "class": "tok-variableName tok-local"
}, {
  tag: tags.definition(tags.variableName),
  "class": "tok-variableName tok-definition"
}, {
  tag: tags.special(tags.variableName),
  "class": "tok-variableName2"
}, {
  tag: tags.definition(tags.propertyName),
  "class": "tok-propertyName tok-definition"
}, {
  tag: tags.typeName,
  "class": "tok-typeName"
}, {
  tag: tags.namespace,
  "class": "tok-namespace"
}, {
  tag: tags.className,
  "class": "tok-className"
}, {
  tag: tags.macroName,
  "class": "tok-macroName"
}, {
  tag: tags.propertyName,
  "class": "tok-propertyName"
}, {
  tag: tags.operator,
  "class": "tok-operator"
}, {
  tag: tags.comment,
  "class": "tok-comment"
}, {
  tag: tags.meta,
  "class": "tok-meta"
}, {
  tag: tags.invalid,
  "class": "tok-invalid"
}, {
  tag: tags.punctuation,
  "class": "tok-punctuation"
}]);

},{"@lezer/common":11}],13:[function(require,module,exports){
"use strict";

Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.parser = void 0;
var _lr = require("@lezer/lr");
var _highlight = require("@lezer/highlight");
// This file was generated by lezer-generator. You probably shouldn't edit it.
var noSemi = 309,
  incdec = 1,
  incdecPrefix = 2,
  JSXStartTag = 3,
  insertSemi = 310,
  spaces = 312,
  newline = 313,
  LineComment = 4,
  BlockComment = 5,
  Dialect_jsx = 0;

/* Hand-written tokenizers for JavaScript tokens that can't be
   expressed by lezer's built-in tokenizer. */

var space = [9, 10, 11, 12, 13, 32, 133, 160, 5760, 8192, 8193, 8194, 8195, 8196, 8197, 8198, 8199, 8200, 8201, 8202, 8232, 8233, 8239, 8287, 12288];
var braceR = 125,
  semicolon = 59,
  slash = 47,
  star = 42,
  plus = 43,
  minus = 45,
  lt = 60,
  comma = 44;
var trackNewline = new _lr.ContextTracker({
  start: false,
  shift: function shift(context, term) {
    return term == LineComment || term == BlockComment || term == spaces ? context : term == newline;
  },
  strict: false
});
var insertSemicolon = new _lr.ExternalTokenizer(function (input, stack) {
  var next = input.next;
  if (next == braceR || next == -1 || stack.context) input.acceptToken(insertSemi);
}, {
  contextual: true,
  fallback: true
});
var noSemicolon = new _lr.ExternalTokenizer(function (input, stack) {
  var next = input.next,
    after;
  if (space.indexOf(next) > -1) return;
  if (next == slash && ((after = input.peek(1)) == slash || after == star)) return;
  if (next != braceR && next != semicolon && next != -1 && !stack.context) input.acceptToken(noSemi);
}, {
  contextual: true
});
var incdecToken = new _lr.ExternalTokenizer(function (input, stack) {
  var next = input.next;
  if (next == plus || next == minus) {
    input.advance();
    if (next == input.next) {
      input.advance();
      var mayPostfix = !stack.context && stack.canShift(incdec);
      input.acceptToken(mayPostfix ? incdec : incdecPrefix);
    }
  }
}, {
  contextual: true
});
function identifierChar(ch, start) {
  return ch >= 65 && ch <= 90 || ch >= 97 && ch <= 122 || ch == 95 || ch >= 192 || !start && ch >= 48 && ch <= 57;
}
var jsx = new _lr.ExternalTokenizer(function (input, stack) {
  if (input.next != lt || !stack.dialectEnabled(Dialect_jsx)) return;
  input.advance();
  if (input.next == slash) return;
  // Scan for an identifier followed by a comma or 'extends', don't
  // treat this as a start tag if present.
  var back = 0;
  while (space.indexOf(input.next) > -1) {
    input.advance();
    back++;
  }
  if (identifierChar(input.next, true)) {
    input.advance();
    back++;
    while (identifierChar(input.next, false)) {
      input.advance();
      back++;
    }
    while (space.indexOf(input.next) > -1) {
      input.advance();
      back++;
    }
    if (input.next == comma) return;
    for (var i = 0;; i++) {
      if (i == 7) {
        if (!identifierChar(input.next, true)) return;
        break;
      }
      if (input.next != "extends".charCodeAt(i)) break;
      input.advance();
      back++;
    }
  }
  input.acceptToken(JSXStartTag, -back);
});
var jsHighlight = (0, _highlight.styleTags)({
  "get set async static": _highlight.tags.modifier,
  "for while do if else switch try catch finally return throw break continue default case": _highlight.tags.controlKeyword,
  "in of await yield void typeof delete instanceof": _highlight.tags.operatorKeyword,
  "let var const using function class extends": _highlight.tags.definitionKeyword,
  "import export from": _highlight.tags.moduleKeyword,
  "with debugger as new": _highlight.tags.keyword,
  TemplateString: _highlight.tags.special(_highlight.tags.string),
  "super": _highlight.tags.atom,
  BooleanLiteral: _highlight.tags.bool,
  "this": _highlight.tags.self,
  "null": _highlight.tags["null"],
  Star: _highlight.tags.modifier,
  VariableName: _highlight.tags.variableName,
  "CallExpression/VariableName TaggedTemplateExpression/VariableName": _highlight.tags["function"](_highlight.tags.variableName),
  VariableDefinition: _highlight.tags.definition(_highlight.tags.variableName),
  Label: _highlight.tags.labelName,
  PropertyName: _highlight.tags.propertyName,
  PrivatePropertyName: _highlight.tags.special(_highlight.tags.propertyName),
  "CallExpression/MemberExpression/PropertyName": _highlight.tags["function"](_highlight.tags.propertyName),
  "FunctionDeclaration/VariableDefinition": _highlight.tags["function"](_highlight.tags.definition(_highlight.tags.variableName)),
  "ClassDeclaration/VariableDefinition": _highlight.tags.definition(_highlight.tags.className),
  PropertyDefinition: _highlight.tags.definition(_highlight.tags.propertyName),
  PrivatePropertyDefinition: _highlight.tags.definition(_highlight.tags.special(_highlight.tags.propertyName)),
  UpdateOp: _highlight.tags.updateOperator,
  "LineComment Hashbang": _highlight.tags.lineComment,
  BlockComment: _highlight.tags.blockComment,
  Number: _highlight.tags.number,
  String: _highlight.tags.string,
  Escape: _highlight.tags.escape,
  ArithOp: _highlight.tags.arithmeticOperator,
  LogicOp: _highlight.tags.logicOperator,
  BitOp: _highlight.tags.bitwiseOperator,
  CompareOp: _highlight.tags.compareOperator,
  RegExp: _highlight.tags.regexp,
  Equals: _highlight.tags.definitionOperator,
  Arrow: _highlight.tags["function"](_highlight.tags.punctuation),
  ": Spread": _highlight.tags.punctuation,
  "( )": _highlight.tags.paren,
  "[ ]": _highlight.tags.squareBracket,
  "{ }": _highlight.tags.brace,
  "InterpolationStart InterpolationEnd": _highlight.tags.special(_highlight.tags.brace),
  ".": _highlight.tags.derefOperator,
  ", ;": _highlight.tags.separator,
  "@": _highlight.tags.meta,
  TypeName: _highlight.tags.typeName,
  TypeDefinition: _highlight.tags.definition(_highlight.tags.typeName),
  "type enum interface implements namespace module declare": _highlight.tags.definitionKeyword,
  "abstract global Privacy readonly override": _highlight.tags.modifier,
  "is keyof unique infer": _highlight.tags.operatorKeyword,
  JSXAttributeValue: _highlight.tags.attributeValue,
  JSXText: _highlight.tags.content,
  "JSXStartTag JSXStartCloseTag JSXSelfCloseEndTag JSXEndTag": _highlight.tags.angleBracket,
  "JSXIdentifier JSXNameSpacedName": _highlight.tags.tagName,
  "JSXAttribute/JSXIdentifier JSXAttribute/JSXNameSpacedName": _highlight.tags.attributeName,
  "JSXBuiltin/JSXIdentifier": _highlight.tags.standard(_highlight.tags.tagName)
});

// This file was generated by lezer-generator. You probably shouldn't edit it.
var spec_identifier = {
  __proto__: null,
  "export": 18,
  as: 23,
  from: 31,
  "default": 34,
  async: 39,
  "function": 40,
  "extends": 52,
  "this": 56,
  "true": 64,
  "false": 64,
  "null": 76,
  "void": 80,
  "typeof": 84,
  "super": 102,
  "new": 136,
  "delete": 152,
  "yield": 161,
  "await": 165,
  "class": 170,
  "public": 227,
  "private": 227,
  "protected": 227,
  readonly: 229,
  "instanceof": 248,
  satisfies: 251,
  "in": 252,
  "const": 254,
  "import": 286,
  keyof: 339,
  unique: 343,
  infer: 349,
  is: 385,
  "abstract": 405,
  "implements": 407,
  type: 409,
  "let": 412,
  "var": 414,
  using: 417,
  "interface": 423,
  "enum": 427,
  namespace: 433,
  module: 435,
  declare: 439,
  global: 443,
  "for": 462,
  of: 471,
  "while": 474,
  "with": 478,
  "do": 482,
  "if": 486,
  "else": 488,
  "switch": 492,
  "case": 498,
  "try": 504,
  "catch": 508,
  "finally": 512,
  "return": 516,
  "throw": 520,
  "break": 524,
  "continue": 528,
  "debugger": 532
};
var spec_word = {
  __proto__: null,
  async: 123,
  get: 125,
  set: 127,
  declare: 187,
  "public": 189,
  "private": 189,
  "protected": 189,
  "static": 191,
  "abstract": 193,
  override: 195,
  readonly: 201,
  accessor: 203,
  "new": 389
};
var spec_LessThan = {
  __proto__: null,
  "<": 143
};
var parser = exports.parser = _lr.LRParser.deserialize({
  version: 14,
  states: "$<UO%TQ^OOO%[Q^OOO'_Q`OOP(lOWOOO*zQ08SO'#ChO+RO!bO'#CiO+aO#tO'#CiO+oO?MpO'#D^O.QQ^O'#DdO.bQ^O'#DoO%[Q^O'#DyO0fQ^O'#EROOQ07b'#EZ'#EZO1PQWO'#EWOOQO'#El'#ElOOQO'#Ie'#IeO1XQWO'#GmO1dQWO'#EkO1iQWO'#EkO3kQ08SO'#JiO6[Q08SO'#JjO6xQWO'#FZO6}Q&jO'#FqOOQ07b'#Fc'#FcO7YO,YO'#FcO7hQ7[O'#FxO9UQWO'#FwOOQ07b'#Jj'#JjOOQ07`'#Ji'#JiO9ZQWO'#GqOOQU'#KU'#KUO9fQWO'#IRO9kQ07hO'#ISOOQU'#JW'#JWOOQU'#IW'#IWQ`Q^OOO`Q^OOO%[Q^O'#DqO9sQ^O'#D}O9zQ^O'#EPO9aQWO'#GmO:RQ7[O'#CnO:aQWO'#EjO:lQWO'#EuO:qQ7[O'#FbO;`QWO'#GmOOQO'#KV'#KVO;eQWO'#KVO;sQWO'#GuO;sQWO'#GvO;sQWO'#GxO9aQWO'#G{O<jQWO'#HOO>RQWO'#CdO>cQWO'#H[O>kQWO'#HbO>kQWO'#HdO`Q^O'#HfO>kQWO'#HhO>kQWO'#HkO>pQWO'#HqO>uQ07iO'#HwO%[Q^O'#HyO?QQ07iO'#H{O?]Q07iO'#H}O9kQ07hO'#IPO?hQ08SO'#ChO@jQ`O'#DiQOQWOOO%[Q^O'#EPOAQQWO'#ESO:RQ7[O'#EjOA]QWO'#EjOAhQpO'#FbOOQU'#Cf'#CfOOQ07`'#Dn'#DnOOQ07`'#Jm'#JmO%[Q^O'#JmOOQO'#Jq'#JqOOQO'#Ib'#IbOBhQ`O'#EcOOQ07`'#Eb'#EbOCdQ07pO'#EcOCnQ`O'#EVOOQO'#Jp'#JpODSQ`O'#JqOEaQ`O'#EVOCnQ`O'#EcPEnO!0LbO'#CaPOOO)CDu)CDuOOOO'#IX'#IXOEyO!bO,59TOOQ07b,59T,59TOOOO'#IY'#IYOFXO#tO,59TO%[Q^O'#D`OOOO'#I['#I[OFgO?MpO,59xOOQ07b,59x,59xOFuQ^O'#I]OGYQWO'#JkOI[QrO'#JkO+}Q^O'#JkOIcQWO,5:OOIyQWO'#ElOJWQWO'#JyOJcQWO'#JxOJcQWO'#JxOJkQWO,5;YOJpQWO'#JwOOQ07f,5:Z,5:ZOJwQ^O,5:ZOLxQ08SO,5:eOMiQWO,5:mONSQ07hO'#JvONZQWO'#JuO9ZQWO'#JuONoQWO'#JuONwQWO,5;XON|QWO'#JuO!#UQrO'#JjOOQ07b'#Ch'#ChO%[Q^O'#ERO!#tQpO,5:rOOQO'#Jr'#JrOOQO-E<c-E<cO9aQWO,5=XO!$[QWO,5=XO!$aQ^O,5;VO!&dQ7[O'#EgO!'}QWO,5;VO!)mQ7[O'#DsO!)tQ^O'#DxO!*OQ`O,5;`O!*WQ`O,5;`O%[Q^O,5;`OOQU'#FR'#FROOQU'#FT'#FTO%[Q^O,5;aO%[Q^O,5;aO%[Q^O,5;aO%[Q^O,5;aO%[Q^O,5;aO%[Q^O,5;aO%[Q^O,5;aO%[Q^O,5;aO%[Q^O,5;aO%[Q^O,5;aO%[Q^O,5;aOOQU'#FX'#FXO!*fQ^O,5;rOOQ07b,5;w,5;wOOQ07b,5;x,5;xO!,iQWO,5;xOOQ07b,5;y,5;yO%[Q^O'#IiO!,qQ07hO,5<eO!&dQ7[O,5;aO!-`Q7[O,5;aO%[Q^O,5;uO!-gQ&jO'#FgO!.dQ&jO'#J}O!.OQ&jO'#J}O!.kQ&jO'#J}OOQO'#J}'#J}O!/PQ&jO,5<POOOS,5<],5<]O!/bQ^O'#FsOOOS'#Ih'#IhO7YO,YO,5;}O!/iQ&jO'#FuOOQ07b,5;},5;}O!0YQMhO'#CuOOQ07b'#Cy'#CyO!0mQWO'#CyO!0rO?MpO'#C}O!1`Q7[O,5<bO!1gQWO,5<dO!3SQ!LQO'#GSO!3aQWO'#GTO!3fQWO'#GTO!3kQ!LQO'#GXO!4jQ`O'#G]OOQO'#Gh'#GhO!(SQ7[O'#GgOOQO'#Gj'#GjO!(SQ7[O'#GiO!5]QMhO'#JdOOQ07b'#Jd'#JdO!5gQWO'#JcO!5uQWO'#JbO!5}QWO'#CtOOQ07b'#Cw'#CwOOQ07b'#DR'#DROOQ07b'#DT'#DTO1SQWO'#DVO!(SQ7[O'#FzO!(SQ7[O'#F|O!6VQWO'#GOO!6[QWO'#GPO!3fQWO'#GVO!(SQ7[O'#G[O!6aQWO'#EmO!7OQWO,5<cOOQ07`'#Cq'#CqO!7WQWO'#EnO!8QQ`O'#EoOOQ07`'#Jw'#JwO!8XQ07hO'#KWO9kQ07hO,5=]O`Q^O,5>mOOQU'#J`'#J`OOQU,5>n,5>nOOQU-E<U-E<UO!:ZQ08SO,5:]O!<wQ08SO,5:iO%[Q^O,5:iO!?bQ08SO,5:kOOQO,5@q,5@qO!@RQ7[O,5=XO!@aQ07hO'#JaO9UQWO'#JaO!@rQ07hO,59YO!@}Q`O,59YO!AVQ7[O,59YO:RQ7[O,59YO!AbQWO,5;VO!AjQWO'#HZO!BOQWO'#KZO%[Q^O,5;zO!7{Q`O,5;|O!BWQWO,5=tO!B]QWO,5=tO!BbQWO,5=tO9kQ07hO,5=tO;sQWO,5=dOOQO'#Cu'#CuO!BpQ`O,5=aO!BxQ7[O,5=bO!CTQWO,5=dO!CYQpO,5=gO!CbQWO'#KVO>pQWO'#HQO9aQWO'#HSO!CgQWO'#HSO:RQ7[O'#HUO!ClQWO'#HUOOQU,5=j,5=jO!CqQWO'#HVO!DSQWO'#CnO!DXQWO,59OO!DcQWO,59OO!FhQ^O,59OOOQU,59O,59OO!FxQ07hO,59OO%[Q^O,59OO!ITQ^O'#H^OOQU'#H_'#H_OOQU'#H`'#H`O`Q^O,5=vO!IkQWO,5=vO`Q^O,5=|O`Q^O,5>OO!IpQWO,5>QO`Q^O,5>SO!IuQWO,5>VO!IzQ^O,5>]OOQU,5>c,5>cO%[Q^O,5>cO9kQ07hO,5>eOOQU,5>g,5>gO!NUQWO,5>gOOQU,5>i,5>iO!NUQWO,5>iOOQU,5>k,5>kO!NZQ`O'#D[O%[Q^O'#JmO!NxQ`O'#JmO# gQ`O'#DjO# xQ`O'#DjO#$ZQ^O'#DjO#$bQWO'#JlO#$jQWO,5:TO#$oQWO'#EpO#$}QWO'#JzO#%VQWO,5;ZO#%[Q`O'#DjO#%iQ`O'#EUOOQ07b,5:n,5:nO%[Q^O,5:nO#%pQWO,5:nO>pQWO,5;UO!@}Q`O,5;UO!AVQ7[O,5;UO:RQ7[O,5;UO#%xQWO,5@XO#%}Q$ISO,5:rOOQO-E<`-E<`O#'TQ07pO,5:}OCnQ`O,5:qO#'_Q`O,5:qOCnQ`O,5:}O!@rQ07hO,5:qOOQ07`'#Ef'#EfOOQO,5:},5:}O%[Q^O,5:}O#'lQ07hO,5:}O#'wQ07hO,5:}O!@}Q`O,5:qOOQO,5;T,5;TO#(VQ07hO,5:}POOO'#IV'#IVP#(kO!0LbO,58{POOO,58{,58{OOOO-E<V-E<VOOQ07b1G.o1G.oOOOO-E<W-E<WO#(vQpO,59zOOOO-E<Y-E<YOOQ07b1G/d1G/dO#({QrO,5>wO+}Q^O,5>wOOQO,5>},5>}O#)VQ^O'#I]OOQO-E<Z-E<ZO#)dQWO,5@VO#)lQrO,5@VO#)sQWO,5@dOOQ07b1G/j1G/jO%[Q^O,5@eO#){QWO'#IcOOQO-E<a-E<aO#)sQWO,5@dOOQ07`1G0t1G0tOOQ07f1G/u1G/uOOQ07f1G0X1G0XO%[Q^O,5@bO#*aQ07hO,5@bO#*rQ07hO,5@bO#*yQWO,5@aO9ZQWO,5@aO#+RQWO,5@aO#+aQWO'#IfO#*yQWO,5@aOOQ07`1G0s1G0sO!*OQ`O,5:tO!*ZQ`O,5:tOOQO,5:v,5:vO#,RQWO,5:vO#,ZQ7[O1G2sO9aQWO1G2sOOQ07b1G0q1G0qO#,iQ08SO1G0qO#-nQ08QO,5;ROOQ07b'#GR'#GRO#.[Q08SO'#JdO!$aQ^O1G0qO#0dQ7[O'#JnO#0nQWO,5:_O#0sQrO'#JoO%[Q^O'#JoO#0}QWO,5:dOOQ07b'#D['#D[OOQ07b1G0z1G0zO%[Q^O1G0zOOQ07b1G1d1G1dO#1SQWO1G0zO#3kQ08SO1G0{O#3rQ08SO1G0{O#6]Q08SO1G0{O#6dQ08SO1G0{O#8nQ08SO1G0{O#9UQ08SO1G0{O#<OQ08SO1G0{O#<VQ08SO1G0{O#>jQ08SO1G0{O#>wQ08SO1G0{O#@uQ08SO1G0{O#CuQ(CYO'#ChO#EsQ(CYO1G1^O#EzQ(CYO'#JjO!,lQWO1G1dO#F[Q08SO,5?TOOQ07`-E<g-E<gO#GOQ08SO1G0{OOQ07b1G0{1G0{O#IZQ08SO1G1aO#I}Q&jO,5<TO#JVQ&jO,5<UO#J_Q&jO'#FlO#JvQWO'#FkOOQO'#KO'#KOOOQO'#Ig'#IgO#J{Q&jO1G1kOOQ07b1G1k1G1kOOOS1G1v1G1vO#K^Q(CYO'#JiO#KhQWO,5<_O!*fQ^O,5<_OOOS-E<f-E<fOOQ07b1G1i1G1iO#KmQ`O'#J}OOQ07b,5<a,5<aO#KuQ`O,5<aOOQ07b,59e,59eO!&dQ7[O'#DPOOOO'#IZ'#IZO#KzO?MpO,59iOOQ07b,59i,59iO%[Q^O1G1|O!6[QWO'#IkO#LVQ7[O,5<uOOQ07b,5<r,5<rO!(SQ7[O'#InO#LuQ7[O,5=RO!(SQ7[O'#IpO#MhQ7[O,5=TO!&dQ7[O,5=VOOQO1G2O1G2OO#MrQpO'#CqO#NVQpO,5<nO#N^QWO'#KRO9aQWO'#KRO#NlQWO,5<pO!(SQ7[O,5<oO#NqQWO'#GUO#N|QWO,5<oO$ RQpO'#GRO$ `QpO'#KSO$ jQWO'#KSO!&dQ7[O'#KSO$ oQWO,5<sO$ tQ`O'#G^O!4eQ`O'#G^O$!VQWO'#G`O$![QWO'#GbO!3fQWO'#GeO$!aQ07hO'#ImO$!lQ`O,5<wOOQ07f,5<w,5<wO$!sQ`O'#G^O$#RQ`O'#G_O$#ZQ`O'#G_O$#`Q7[O,5=RO$#pQ7[O,5=TOOQ07b,5=W,5=WO!(SQ7[O,5?}O!(SQ7[O,5?}O$$QQWO'#IrO$$]QWO,5?|O$$eQWO,59`O$%UQ7[O,59qOOQ07b,59q,59qO$%wQ7[O,5<fO$&jQ7[O,5<hO@bQWO,5<jOOQ07b,5<k,5<kO$&tQWO,5<qO$&yQ7[O,5<vO$'ZQWO'#JuO!$aQ^O1G1}O$'`QWO1G1}O9ZQWO'#JxO9ZQWO'#EpO%[Q^O'#EpO9ZQWO'#ItO$'eQ07hO,5@rOOQU1G2w1G2wOOQU1G4X1G4XOOQ07b1G/w1G/wO!,iQWO1G/wO$)jQ08SO1G0TOOQU1G2s1G2sO!&dQ7[O1G2sO%[Q^O1G2sO#,^QWO1G2sO$+nQ7[O'#EgOOQ07`,5?{,5?{O$+xQ07hO,5?{OOQU1G.t1G.tO!@rQ07hO1G.tO!@}Q`O1G.tO!AVQ7[O1G.tO$,ZQWO1G0qO$,`QWO'#ChO$,kQWO'#K[O$,sQWO,5=uO$,xQWO'#K[O$,}QWO'#K[O$-]QWO'#IzO$-kQWO,5@uO$-sQrO1G1fOOQ07b1G1h1G1hO9aQWO1G3`O@bQWO1G3`O$-zQWO1G3`O$.PQWO1G3`OOQU1G3`1G3`O!CTQWO1G3OO!&dQ7[O1G2{O$.UQWO1G2{OOQU1G2|1G2|O!&dQ7[O1G2|O$.ZQWO1G2|O$.cQ`O'#GzOOQU1G3O1G3OO!4eQ`O'#IvO!CYQpO1G3ROOQU1G3R1G3ROOQU,5=l,5=lO$.kQ7[O,5=nO9aQWO,5=nO$![QWO,5=pO9UQWO,5=pO!@}Q`O,5=pO!AVQ7[O,5=pO:RQ7[O,5=pO$.yQWO'#KYO$/UQWO,5=qOOQU1G.j1G.jO$/ZQ07hO1G.jO@bQWO1G.jO$/fQWO1G.jO9kQ07hO1G.jO$1kQrO,5@wO$1{QWO,5@wO9ZQWO,5@wO$2WQ^O,5=xO$2_QWO,5=xOOQU1G3b1G3bO`Q^O1G3bOOQU1G3h1G3hOOQU1G3j1G3jO>kQWO1G3lO$2dQ^O1G3nO$6hQ^O'#HmOOQU1G3q1G3qO$6uQWO'#HsO>pQWO'#HuOOQU1G3w1G3wO$6}Q^O1G3wO9kQ07hO1G3}OOQU1G4P1G4POOQ07`'#GY'#GYO9kQ07hO1G4RO9kQ07hO1G4TO$;UQWO,5@XO!*fQ^O,5;[O9ZQWO,5;[O>pQWO,5:UO!*fQ^O,5:UO!@}Q`O,5:UO$;ZQ(CYO,5:UOOQO,5;[,5;[O$;eQ`O'#I^O$;{QWO,5@WOOQ07b1G/o1G/oO$<TQ`O'#IdO$<_QWO,5@fOOQ07`1G0u1G0uO# xQ`O,5:UOOQO'#Ia'#IaO$<gQ`O,5:pOOQ07f,5:p,5:pO#%sQWO1G0YOOQ07b1G0Y1G0YO%[Q^O1G0YOOQ07b1G0p1G0pO>pQWO1G0pO!@}Q`O1G0pO!AVQ7[O1G0pOOQ07`1G5s1G5sO!@rQ07hO1G0]OOQO1G0i1G0iO%[Q^O1G0iO$<nQ07hO1G0iO$<yQ07hO1G0iO!@}Q`O1G0]OCnQ`O1G0]O$=XQ07hO1G0iOOQO1G0]1G0]O$=mQ08SO1G0iPOOO-E<T-E<TPOOO1G.g1G.gOOOO1G/f1G/fO$=wQpO,5<eO$>PQrO1G4cOOQO1G4i1G4iO%[Q^O,5>wO$>ZQWO1G5qO$>cQWO1G6OO$>kQrO1G6PO9ZQWO,5>}O$>uQ08SO1G5|O%[Q^O1G5|O$?VQ07hO1G5|O$?hQWO1G5{O$?hQWO1G5{O9ZQWO1G5{O$?pQWO,5?QO9ZQWO,5?QOOQO,5?Q,5?QO$@UQWO,5?QO$'ZQWO,5?QOOQO-E<d-E<dOOQO1G0`1G0`OOQO1G0b1G0bO!,lQWO1G0bOOQU7+(_7+(_O!&dQ7[O7+(_O%[Q^O7+(_O$@dQWO7+(_O$@oQ7[O7+(_O$@}Q08SO,5=RO$CYQ08SO,5=TO$EeQ08SO,5=RO$GvQ08SO,5=TO$JXQ08SO,59qO$LaQ08SO,5<fO$NlQ08SO,5<hO%!wQ08SO,5<vOOQ07b7+&]7+&]O%%YQ08SO7+&]O%%|Q7[O'#I_O%&WQWO,5@YOOQ07b1G/y1G/yO%&`Q^O'#I`O%&mQWO,5@ZO%&uQrO,5@ZOOQ07b1G0O1G0OO%'PQWO7+&fOOQ07b7+&f7+&fO%'UQ(CYO,5:eO%[Q^O7+&xO%'`Q(CYO,5:]O%'mQ(CYO,5:iO%'wQ(CYO,5:kOOQ07b7+'O7+'OOOQO1G1o1G1oOOQO1G1p1G1pO%(RQtO,5<WO!*fQ^O,5<VOOQO-E<e-E<eOOQ07b7+'V7+'VOOOS7+'b7+'bOOOS1G1y1G1yO%(^QWO1G1yOOQ07b1G1{1G1{O%(cQpO,59kOOOO-E<X-E<XOOQ07b1G/T1G/TO%(jQ08SO7+'hOOQ07b,5?V,5?VO%)^QpO,5?VOOQ07b1G2a1G2aP!&dQ7[O'#IkPOQ07b-E<i-E<iO%)|Q7[O,5?YOOQ07b-E<l-E<lO%*oQ7[O,5?[OOQ07b-E<n-E<nO%*yQpO1G2qOOQ07b1G2Y1G2YO%+QQWO'#IjO%+`QWO,5@mO%+`QWO,5@mO%+hQWO,5@mO%+sQWO,5@mOOQO1G2[1G2[O%,RQ7[O1G2ZO!(SQ7[O1G2ZO%,cQ!LQO'#IlO%,sQWO,5@nO!&dQ7[O,5@nO%,{QpO,5@nOOQ07b1G2_1G2_OOQ07`,5<x,5<xOOQ07`,5<y,5<yO$'ZQWO,5<yOC_QWO,5<yO!@}Q`O,5<xOOQO'#Ga'#GaO%-VQWO,5<zOOQ07`,5<|,5<|O$'ZQWO,5=POOQO,5?X,5?XOOQO-E<k-E<kOOQ07f1G2c1G2cO!4eQ`O,5<xO%-_QWO,5<yO$!VQWO,5<zO!4eQ`O,5<yO!(SQ7[O'#InO%.RQ7[O1G2mO!(SQ7[O'#IpO%.tQ7[O1G2oO%/OQ7[O1G5iO%/YQ7[O1G5iOOQO,5?^,5?^OOQO-E<p-E<pOOQO1G.z1G.zO!7{Q`O,59sO%[Q^O,59sO%/gQWO1G2UO!(SQ7[O1G2]O%/lQ08SO7+'iOOQ07b7+'i7+'iO!$aQ^O7+'iO%0`QWO,5;[OOQ07`,5?`,5?`OOQ07`-E<r-E<rOOQ07b7+%c7+%cO%0eQpO'#KTO#%sQWO7+(_O%0oQrO7+(_O$@gQWO7+(_O%0vQ08QO'#ChO%1ZQ08QO,5<}O%1{QWO,5<}OOQ07`1G5g1G5gOOQU7+$`7+$`O!@rQ07hO7+$`O!@}Q`O7+$`O!$aQ^O7+&]O%2QQWO'#IyO%2iQWO,5@vOOQO1G3a1G3aO9aQWO,5@vO%2iQWO,5@vO%2qQWO,5@vOOQO,5?f,5?fOOQO-E<x-E<xOOQ07b7+'Q7+'QO%2vQWO7+(zO9kQ07hO7+(zO9aQWO7+(zO@bQWO7+(zOOQU7+(j7+(jO%2{Q08QO7+(gO!&dQ7[O7+(gO%3VQpO7+(hOOQU7+(h7+(hO!&dQ7[O7+(hO%3^QWO'#KXO%3iQWO,5=fOOQO,5?b,5?bOOQO-E<t-E<tOOQU7+(m7+(mO%4xQ`O'#HTOOQU1G3Y1G3YO!&dQ7[O1G3YO%[Q^O1G3YO%5PQWO1G3YO%5[Q7[O1G3YO9kQ07hO1G3[O$![QWO1G3[O9UQWO1G3[O!@}Q`O1G3[O!AVQ7[O1G3[O%5jQWO'#IxO%6OQWO,5@tO%6WQ`O,5@tOOQ07`1G3]1G3]OOQU7+$U7+$UO@bQWO7+$UO9kQ07hO7+$UO%6cQWO7+$UO%[Q^O1G6cO%[Q^O1G6dO%6hQ07hO1G6cO%6rQ^O1G3dO%6yQWO1G3dO%7OQ^O1G3dOOQU7+(|7+(|O9kQ07hO7+)WO`Q^O7+)YOOQU'#K_'#K_OOQU'#I{'#I{O%7VQ^O,5>XOOQU,5>X,5>XO%[Q^O'#HnO%7dQWO'#HpOOQU,5>_,5>_O9ZQWO,5>_OOQU,5>a,5>aOOQU7+)c7+)cOOQU7+)i7+)iOOQU7+)m7+)mOOQU7+)o7+)oO%7iQ`O1G5sO%7}Q(CYO1G0vO%8XQWO1G0vOOQO1G/p1G/pO%8dQ(CYO1G/pO>pQWO1G/pO!*fQ^O'#DjOOQO,5>x,5>xOOQO-E<[-E<[OOQO,5?O,5?OOOQO-E<b-E<bO!@}Q`O1G/pOOQO-E<_-E<_OOQ07f1G0[1G0[OOQ07b7+%t7+%tO#%sQWO7+%tOOQ07b7+&[7+&[O>pQWO7+&[O!@}Q`O7+&[OOQO7+%w7+%wO$=mQ08SO7+&TOOQO7+&T7+&TO%[Q^O7+&TO%8nQ07hO7+&TO!@rQ07hO7+%wO!@}Q`O7+%wO%8yQ07hO7+&TO%9XQ08SO7++hO%[Q^O7++hO%9iQWO7++gO%9iQWO7++gOOQO1G4l1G4lO9ZQWO1G4lO%9qQWO1G4lOOQO7+%|7+%|O#%sQWO<<KyO%0oQrO<<KyO%:PQWO<<KyOOQU<<Ky<<KyO!&dQ7[O<<KyO%[Q^O<<KyO%:XQWO<<KyO%:dQ08SO,5?YO%<oQ08SO,5?[O%>zQ08SO1G2ZO%A]Q08SO1G2mO%ChQ08SO1G2oO%EsQ7[O,5>yOOQO-E<]-E<]O%E}QrO,5>zO%[Q^O,5>zOOQO-E<^-E<^O%FXQWO1G5uOOQ07b<<JQ<<JQO%FaQ(CYO1G0qO%HkQ(CYO1G0{O%HrQ(CYO1G0{O%JvQ(CYO1G0{O%J}Q(CYO1G0{O%LrQ(CYO1G0{O%MYQ(CYO1G0{O& mQ(CYO1G0{O& tQ(CYO1G0{O&#rQ(CYO1G0{O&$PQ(CYO1G0{O&%}Q(CYO1G0{O&&bQ08SO<<JdO&'gQ(CYO1G0{O&)]Q(CYO'#JdO&+`Q(CYO1G1aO&+mQ(CYO1G0TO!*fQ^O'#FnOOQO'#KP'#KPOOQO1G1r1G1rO&+wQWO1G1qO&+|Q(CYO,5?TOOOS7+'e7+'eOOOO1G/V1G/VOOQ07b1G4q1G4qO!(SQ7[O7+(]O&,WQWO,5?UO9aQWO,5?UOOQO-E<h-E<hO&,fQWO1G6XO&,fQWO1G6XO&,nQWO1G6XO&,yQ7[O7+'uO&-ZQpO,5?WO&-eQWO,5?WO!&dQ7[O,5?WOOQO-E<j-E<jO&-jQpO1G6YO&-tQWO1G6YOOQ07`1G2e1G2eO$'ZQWO1G2eOOQ07`1G2d1G2dO&-|QWO1G2fO!&dQ7[O1G2fOOQ07`1G2k1G2kO!@}Q`O1G2dOC_QWO1G2eO&.RQWO1G2fO&.ZQWO1G2eO&.}Q7[O,5?YOOQ07b-E<m-E<mO&/pQ7[O,5?[OOQ07b-E<o-E<oO!(SQ7[O7++TOOQ07b1G/_1G/_O&/zQWO1G/_OOQ07b7+'p7+'pO&0PQ7[O7+'wO&0aQ08SO<<KTOOQ07b<<KT<<KTO&1TQWO1G0vO!&dQ7[O'#IsO&1YQWO,5@oO!&dQ7[O1G2iOOQU<<Gz<<GzO!@rQ07hO<<GzO&1bQ08SO<<IwOOQ07b<<Iw<<IwOOQO,5?e,5?eO&2UQWO,5?eO&2ZQWO,5?eOOQO-E<w-E<wO&2iQWO1G6bO&2iQWO1G6bO9aQWO1G6bO@bQWO<<LfOOQU<<Lf<<LfO&2qQWO<<LfO9kQ07hO<<LfOOQU<<LR<<LRO%2{Q08QO<<LROOQU<<LS<<LSO%3VQpO<<LSO&2vQ`O'#IuO&3RQWO,5@sO!*fQ^O,5@sOOQU1G3Q1G3QO&3ZQ^O'#JmOOQO'#Iw'#IwO9kQ07hO'#IwO&3eQ`O,5=oOOQU,5=o,5=oO&3lQ`O'#EcO&4QQWO7+(tO&4VQWO7+(tOOQU7+(t7+(tO!&dQ7[O7+(tO%[Q^O7+(tO&4_QWO7+(tOOQU7+(v7+(vO9kQ07hO7+(vO$![QWO7+(vO9UQWO7+(vO!@}Q`O7+(vO&4jQWO,5?dOOQO-E<v-E<vOOQO'#HW'#HWO&4uQWO1G6`O9kQ07hO<<GpOOQU<<Gp<<GpO@bQWO<<GpO&4}QWO7++}O&5SQWO7+,OO%[Q^O7++}O%[Q^O7+,OOOQU7+)O7+)OO&5XQWO7+)OO&5^Q^O7+)OO&5eQWO7+)OOOQU<<Lr<<LrOOQU<<Lt<<LtOOQU-E<y-E<yOOQU1G3s1G3sO&5jQWO,5>YOOQU,5>[,5>[O&5oQWO1G3yO9ZQWO7+&bO!*fQ^O7+&bOOQO7+%[7+%[O&5tQ(CYO1G6PO>pQWO7+%[OOQ07b<<I`<<I`OOQ07b<<Iv<<IvO>pQWO<<IvOOQO<<Io<<IoO$=mQ08SO<<IoO%[Q^O<<IoOOQO<<Ic<<IcO!@rQ07hO<<IcO&6OQ07hO<<IoO&6ZQ08SO<= SO&6kQWO<= ROOQO7+*W7+*WO9ZQWO7+*WOOQUANAeANAeO&6sQWOANAeO!&dQ7[OANAeO#%sQWOANAeO%0oQrOANAeO%[Q^OANAeO&6{Q08SO7+'uO&9^Q08SO,5?YO&;iQ08SO,5?[O&=tQ08SO7+'wO&@VQrO1G4fO&@aQ(CYO7+&]O&BeQ(CYO,5=RO&DlQ(CYO,5=TO&D|Q(CYO,5=RO&E^Q(CYO,5=TO&EnQ(CYO,59qO&GqQ(CYO,5<fO&ItQ(CYO,5<hO&KwQ(CYO,5<vO&MmQ(CYO7+'hO&MzQ(CYO7+'iO&NXQWO,5<YOOQO7+']7+']O&N^Q7[O<<KwOOQO1G4p1G4pO&NeQWO1G4pO&NpQWO1G4pO' OQWO7++sO' OQWO7++sO!&dQ7[O1G4rO' WQpO1G4rO' bQWO7++tOOQ07`7+(P7+(PO$'ZQWO7+(QO' jQpO7+(QOOQ07`7+(O7+(OO$'ZQWO7+(PO' qQWO7+(QO!&dQ7[O7+(QOC_QWO7+(PO' vQ7[O<<NoOOQ07b7+$y7+$yO'!QQpO,5?_OOQO-E<q-E<qO'![Q08QO7+(TOOQUAN=fAN=fO9aQWO1G5POOQO1G5P1G5PO'!lQWO1G5PO'!qQWO7++|O'!qQWO7++|O9kQ07hOANBQO@bQWOANBQOOQUANBQANBQOOQUANAmANAmOOQUANAnANAnO'!yQWO,5?aOOQO-E<s-E<sO'#UQ(CYO1G6_O'%fQrO'#ChOOQO,5?c,5?cOOQO-E<u-E<uOOQU1G3Z1G3ZO&3ZQ^O,5<zOOQU<<L`<<L`O!&dQ7[O<<L`O&4QQWO<<L`O'%pQWO<<L`O%[Q^O<<L`OOQU<<Lb<<LbO9kQ07hO<<LbO$![QWO<<LbO9UQWO<<LbO'%xQ`O1G5OO'&TQWO7++zOOQUAN=[AN=[O9kQ07hOAN=[OOQU<= i<= iOOQU<= j<= jO'&]QWO<= iO'&bQWO<= jOOQU<<Lj<<LjO'&gQWO<<LjO'&lQ^O<<LjOOQU1G3t1G3tO>pQWO7+)eO'&sQWO<<I|O''OQ(CYO<<I|OOQO<<Hv<<HvOOQ07bAN?bAN?bOOQOAN?ZAN?ZO$=mQ08SOAN?ZOOQOAN>}AN>}O%[Q^OAN?ZOOQO<<Mr<<MrOOQUG27PG27PO!&dQ7[OG27PO#%sQWOG27PO''YQWOG27PO%0oQrOG27PO''bQ(CYO<<JdO''oQ(CYO1G2ZO')eQ(CYO,5?YO'+hQ(CYO,5?[O'-kQ(CYO1G2mO'/nQ(CYO1G2oO'1qQ(CYO<<KTO'2OQ(CYO<<IwOOQO1G1t1G1tO!(SQ7[OANAcOOQO7+*[7+*[O'2]QWO7+*[O'2hQWO<= _O'2pQpO7+*^OOQ07`<<Kl<<KlO$'ZQWO<<KlOOQ07`<<Kk<<KkO'2zQpO<<KlO$'ZQWO<<KkOOQO7+*k7+*kO9aQWO7+*kO'3RQWO<= hOOQUG27lG27lO9kQ07hOG27lO!*fQ^O1G4{O'3ZQWO7++yO&4QQWOANAzOOQUANAzANAzO!&dQ7[OANAzO'3cQWOANAzOOQUANA|ANA|O9kQ07hOANA|O$![QWOANA|OOQO'#HX'#HXOOQO7+*j7+*jOOQUG22vG22vOOQUANETANETOOQUANEUANEUOOQUANBUANBUO'3kQWOANBUOOQU<<MP<<MPO!*fQ^OAN?hOOQOG24uG24uO$=mQ08SOG24uO#%sQWOLD,kOOQULD,kLD,kO!&dQ7[OLD,kO'3pQWOLD,kO'3xQ(CYO7+'uO'5nQ(CYO,5?YO'7qQ(CYO,5?[O'9tQ(CYO7+'wO';jQ7[OG26}OOQO<<Mv<<MvOOQ07`ANAWANAWO$'ZQWOANAWOOQ07`ANAVANAVOOQO<<NV<<NVOOQULD-WLD-WO';zQ(CYO7+*gOOQUG27fG27fO&4QQWOG27fO!&dQ7[OG27fOOQUG27hG27hO9kQ07hOG27hOOQUG27pG27pO'<UQ(CYOG25SOOQOLD*aLD*aOOQU!$(!V!$(!VO#%sQWO!$(!VO!&dQ7[O!$(!VO'<`Q08SOG26}OOQ07`G26rG26rOOQULD-QLD-QO&4QQWOLD-QOOQULD-SLD-SOOQU!)9Eq!)9EqO#%sQWO!)9EqOOQU!$(!l!$(!lOOQU!.K;]!.K;]O'>qQ(CYOG26}O!*fQ^O'#DyO1PQWO'#EWO'@gQrO'#JiO!*fQ^O'#DqO'@nQ^O'#D}O'@uQrO'#ChO'C]QrO'#ChO!*fQ^O'#EPO'CmQ^O,5;VO!*fQ^O,5;aO!*fQ^O,5;aO!*fQ^O,5;aO!*fQ^O,5;aO!*fQ^O,5;aO!*fQ^O,5;aO!*fQ^O,5;aO!*fQ^O,5;aO!*fQ^O,5;aO!*fQ^O,5;aO!*fQ^O,5;aO!*fQ^O'#IiO'EpQWO,5<eO'ExQ7[O,5;aO'GcQ7[O,5;aO!*fQ^O,5;uO!&dQ7[O'#GgO'ExQ7[O'#GgO!&dQ7[O'#GiO'ExQ7[O'#GiO1SQWO'#DVO1SQWO'#DVO!&dQ7[O'#FzO'ExQ7[O'#FzO!&dQ7[O'#F|O'ExQ7[O'#F|O!&dQ7[O'#G[O'ExQ7[O'#G[O!*fQ^O,5:iO!*fQ^O,5@eO'CmQ^O1G0qO'GjQ(CYO'#ChO!*fQ^O1G1|O!&dQ7[O'#InO'ExQ7[O'#InO!&dQ7[O'#IpO'ExQ7[O'#IpO!&dQ7[O,5<oO'ExQ7[O,5<oO'CmQ^O1G1}O!*fQ^O7+&xO!&dQ7[O1G2ZO'ExQ7[O1G2ZO!&dQ7[O'#InO'ExQ7[O'#InO!&dQ7[O'#IpO'ExQ7[O'#IpO!&dQ7[O1G2]O'ExQ7[O1G2]O'CmQ^O7+'iO'CmQ^O7+&]O!&dQ7[OANAcO'ExQ7[OANAcO'GtQWO'#EkO'GyQWO'#EkO'HRQWO'#FZO'HWQWO'#EuO'H]QWO'#JyO'HhQWO'#JwO'HsQWO,5;VO'HxQ7[O,5<bO'IPQWO'#GTO'IUQWO'#GTO'IZQWO,5<cO'IcQWO,5;VO'IkQ(CYO1G1^O'IrQWO,5<oO'IwQWO,5<oO'I|QWO,5<qO'JRQWO,5<qO'JWQWO1G1}O'J]QWO1G0qO'JbQ7[O<<KwO'JiQ7[O<<KwO7hQ7[O'#FxO9UQWO'#FwOA]QWO'#EjO!*fQ^O,5;rO!3fQWO'#GTO!3fQWO'#GTO!3fQWO'#GVO!3fQWO'#GVO!(SQ7[O7+(]O!(SQ7[O7+(]O%*yQpO1G2qO%*yQpO1G2qO!&dQ7[O,5=VO!&dQ7[O,5=V",
  stateData: "'Km~O'tOS'uOSSOS'vRQ~OPYOQYORfOX!VO`qOczOdyOlkOnYOokOpkOvkOxYOzYO!PWO!TkO!UkO![XO!fuO!kZO!nYO!oYO!pYO!rvO!twO!wxO!{]O#s!PO$T|O%b}O%d!QO%f!OO%g!OO%h!OO%k!RO%m!SO%p!TO%q!TO%s!UO&P!WO&V!XO&X!YO&Z!ZO&]![O&`!]O&f!^O&l!_O&n!`O&p!aO&r!bO&t!cO'{SO'}TO(QUO(XVO(g[O(tiO~OVtO~P`OPYOQYORfOc!jOd!iOlkOnYOokOpkOvkOxYOzYO!PWO!TkO!UkO![!eO!fuO!kZO!nYO!oYO!pYO!rvO!t!gO!w!hO$T!kO'{!dO'}TO(QUO(XVO(g[O(tiO~O`!vOo!nO!P!oO!_!xO!`!uO!a!uO!{:dO#P!pO#Q!pO#R!wO#S!pO#T!pO#W!yO#X!yO'|!lO'}TO(QUO([!mO(g!sO~O'v!zO~OP[XZ[X`[Xn[X|[X}[X!P[X!Y[X!h[X!i[X!k[X!o[X#[[X#geX#j[X#k[X#l[X#m[X#n[X#o[X#p[X#q[X#r[X#t[X#v[X#x[X#y[X$O[X'r[X(X[X(h[X(o[X(p[X~O!d$|X~P(qO^!|O'}#OO(O!|O(P#OO~O^#PO(P#OO(Q#OO(R#PO~Ot#RO!R#SO(Y#SO(Z#UO~OPYOQYORfOc!jOd!iOlkOnYOokOpkOvkOxYOzYO!PWO!TkO!UkO![!eO!fuO!kZO!nYO!oYO!pYO!rvO!t!gO!w!hO$T!kO'{:hO'}TO(QUO(XVO(g[O(tiO~O!X#YO!Y#VO!V(_P!V(lP~P+}O!Z#bO~P`OPYOQYORfOc!jOd!iOnYOokOpkOvkOxYOzYO!PWO!TkO!UkO![!eO!fuO!kZO!nYO!oYO!pYO!rvO!t!gO!w!hO$T!kO'}TO(QUO(XVO(g[O(tiO~Ol#lO!X#hO!{]O#e#kO#f#hO'{:iO!j(iP~P.iO!k#nO'{#mO~O!w#rO!{]O%b#sO~O#g#tO~O!d#uO#g#tO~OP$]OZ$dOn$QO|#yO}#zO!P#{O!Y$aO!h$SO!i#wO!k#xO!o$]O#j$OO#k$PO#l$PO#m$PO#n$RO#o$SO#p$SO#q$cO#r$SO#t$TO#v$VO#x$XO#y$YO(XVO(h$ZO(o#|O(p#}O~O`(]X'r(]X'p(]X!j(]X!V(]X![(]X%c(]X!d(]X~P1qO#[$eO$O$eOP(^XZ(^Xn(^X|(^X}(^X!P(^X!Y(^X!h(^X!k(^X!o(^X#j(^X#k(^X#l(^X#m(^X#n(^X#o(^X#p(^X#q(^X#r(^X#t(^X#v(^X#x(^X#y(^X(X(^X(h(^X(o(^X(p(^X![(^X%c(^X~O`(^X!i(^X'r(^X'p(^X!V(^X!j(^Xr(^X!d(^X~P4XO#[$eO~O$Y$gO$[$fO$c$lO~ORfO![$mO$f$nO$h$pO~Og%VOl%WOn$tOo$sOp$sOv%XOx%YOz%ZO!P${O![$|O!f%`O!k$xO#f%aO$T%^O$o%[O$q%]O$t%_O'{$rO'}TO(QUO(X$uO(o$}O(p%POf(UP~O!k%bO~O!P%eO![%fO'{%dO~O!d%jO~O`%kO'r%kO~O'|!lO~P%[O%h%rO~P%[Og%VO!k%bO'{%dO'|!lO~Od%yO!k%bO'{%dO~O#r$SO~O|&OO![%{O!k%}O%d&RO'{%dO'|!lO'}TO(QUO_(}P~O!w#rO~O%m&TO!P(yX![(yX'{(yX~O'{&UO~O!t&ZO#s!PO%d!QO%f!OO%g!OO%h!OO%k!RO%m!SO%p!TO%q!TO~Oc&`Od&_O!w&]O%b&^O%u&[O~P;xOc&cOdyO![&bO!t&ZO!wxO!{]O#s!PO%b}O%f!OO%g!OO%h!OO%k!RO%m!SO%p!TO%q!TO%s!UO~Oa&fO#[&iO%d&dO'|!lO~P<}O!k&jO!t&nO~O!k#nO~O![XO~O`%kO'q&vO'r%kO~O`%kO'q&yO'r%kO~O`%kO'q&{O'r%kO~O'p[X!V[Xr[X!j[X&T[X![[X%c[X!d[X~P(qO!_'YO!`'RO!a'RO'|!lO'}TO(QUO~Oo'PO!P'OO!X'SO([&}O!Z(`P!Z(nP~P@UOj']O!['ZO'{%dO~Od'bO!k%bO'{%dO~O|&OO!k%}O~Oo!nO!P!oO!{:dO#P!pO#Q!pO#S!pO#T!pO'|!lO'}TO(QUO([!mO(g!sO~O!_'hO!`'gO!a'gO#R!pO#W'iO#X'iO~PApO`%kOg%VO!d#uO!k%bO'r%kO(h'kO~O!o'oO#['mO~PCOOo!nO!P!oO'}TO(QUO([!mO(g!sO~O![XOo(eX!P(eX!_(eX!`(eX!a(eX!{(eX#P(eX#Q(eX#R(eX#S(eX#T(eX#W(eX#X(eX'|(eX'}(eX(Q(eX([(eX(g(eX~O!`'gO!a'gO'|!lO~PCnO'w'sO'x'sO'y'uO~O^!|O'}'wO(O!|O(P'wO~O^#PO(P'wO(Q'wO(R#PO~Ot#RO!R#SO(Y#SO(Z'{O~O!X'}O!V'PX!V'VX!Y'PX!Y'VX~P+}O!Y(PO!V(_X~OP$]OZ$dOn$QO|#yO}#zO!P#{O!Y(PO!h$SO!i#wO!k#xO!o$]O#j$OO#k$PO#l$PO#m$PO#n$RO#o$SO#p$SO#q$cO#r$SO#t$TO#v$VO#x$XO#y$YO(XVO(h$ZO(o#|O(p#}O~O!V(_X~PGbO!V(UO~O!V(kX!Y(kX!d(kX!j(kX(h(kX~O#[(kX#g#`X!Z(kX~PIhO#[(VO!V(mX!Y(mX~O!Y(WO!V(lX~O!V(ZO~O#[$eO~PIhO!Z([O~P`O|#yO}#zO!P#{O!i#wO!k#xO(XVOP!maZ!man!ma!Y!ma!h!ma!o!ma#j!ma#k!ma#l!ma#m!ma#n!ma#o!ma#p!ma#q!ma#r!ma#t!ma#v!ma#x!ma#y!ma(h!ma(o!ma(p!ma~O`!ma'r!ma'p!ma!V!ma!j!mar!ma![!ma%c!ma!d!ma~PKOO!j(]O~O!d#uO#[(^O(h'kO!Y(jX`(jX'r(jX~O!j(jX~PMnO!P%eO![%fO!{]O#e(cO#f(bO'{%dO~O!Y(dO!j(iX~O!j(fO~O!P%eO![%fO#f(bO'{%dO~OP(^XZ(^Xn(^X|(^X}(^X!P(^X!Y(^X!h(^X!i(^X!k(^X!o(^X#j(^X#k(^X#l(^X#m(^X#n(^X#o(^X#p(^X#q(^X#r(^X#t(^X#v(^X#x(^X#y(^X(X(^X(h(^X(o(^X(p(^X~O!d#uO!j(^X~P! [O|(gO}(hO!i#wO!k#xO!{!za!P!za~O!w!za%b!za![!za#e!za#f!za'{!za~P!#`O!w(lO~OPYOQYORfOc!jOd!iOlkOnYOokOpkOvkOxYOzYO!PWO!TkO!UkO![XO!fuO!kZO!nYO!oYO!pYO!rvO!t!gO!w!hO$T!kO'{!dO'}TO(QUO(XVO(g[O(tiO~Og%VOl%WOn$tOo$sOp$sOv%XOx%YOz;QO!P${O![$|O!f<`O!k$xO#f;WO$T%^O$o;SO$q;UO$t%_O'{(pO'}TO(QUO(X$uO(o$}O(p%PO~O#g(rO~Og%VOl%WOn$tOo$sOp$sOv%XOx%YOz%ZO!P${O![$|O!f%`O!k$xO#f%aO$T%^O$o%[O$q%]O$t%_O'{(pO'}TO(QUO(X$uO(o$}O(p%PO~Of(bP~P!(SO!X(vO!j(cP~P%[O([(xO(g[O~O!P(zO!k#xO([(xO(g[O~OP:cOQ:cORfOc<[Od!iOlkOn:cOokOpkOvkOx:cOz:cO!PWO!TkO!UkO![!eO!f:fO!kZO!n:cO!o:cO!p:cO!r:gO!t:jO!w!hO$T!kO'{)YO'}TO(QUO(XVO(g[O(t<YO~O})]O!k#xO~O!Y$aO`$ma'r$ma'p$ma!j$ma!V$ma![$ma%c$ma!d$ma~O#s)aO~P!&dO|)dO!d)cO![$ZX$W$ZX$Y$ZX$[$ZX$c$ZX~O!d)cO![(qX$W(qX$Y(qX$[(qX$c(qX~O|)dO~P!.OO|)dO![(qX$W(qX$Y(qX$[(qX$c(qX~O![)fO$W)jO$Y)eO$[)eO$c)kO~O!X)nO~P!*fO$Y$gO$[$fO$c)rO~Oj$uX|$uX!P$uX!i$uX(o$uX(p$uX~OfiXf$uXjiX!YiX#[iX~P!/tOo)tO~Ot)uO(Y)vO(Z)xO~Oj*RO|)zO!P){O(o$}O(p%PO~Of)yO~P!0}Of*SO~Og%VOl%WOn$tOo$sOp$sOv%XOx%YOz;QO!P${O![$|O!f<`O!k$xO#f;WO$T%^O$o;SO$q;UO$t%_O'}TO(QUO(X$uO(o$}O(p%PO~O!X*WO'{*TO!j(uP~P!1lO#g*YO~O!k*ZO~O!X*`O'{*]O!V(vP~P!1lOn*lO!P*dO!_*jO!`*cO!a*cO!k*ZO#W*kO%Y*fO'|!lO([!mO~O!Z*iO~P!3xO!i#wOj(WX|(WX!P(WX(o(WX(p(WX!Y(WX#[(WX~Of(WX#|(WX~P!4qOj*qO#[*pOf(VX!Y(VX~O!Y*rOf(UX~O'{&UOf(UP~O!k*yO~O'{(pO~Ol*}O!P%eO!X#hO![%fO!{]O#e#kO#f#hO'{%dO!j(iP~O!d#uO#g+OO~O!P%eO!X+QO!Y(WO![%fO'{%dO!V(lP~Oo'VO!P+SO!X+RO'}TO(QUO([(xO~O!Z(nP~P!7lO!Y+TO`(zX'r(zX~OP$]OZ$dOn$QO|#yO}#zO!P#{O!h$SO!i#wO!k#xO!o$]O#j$OO#k$PO#l$PO#m$PO#n$RO#o$SO#p$SO#q$cO#r$SO#t$TO#v$VO#x$XO#y$YO(XVO(h$ZO(o#|O(p#}O~O`!ea!Y!ea'r!ea'p!ea!V!ea!j!ear!ea![!ea%c!ea!d!ea~P!8dO|#yO}#zO!P#{O!i#wO!k#xO(XVOP!qaZ!qan!qa!Y!qa!h!qa!o!qa#j!qa#k!qa#l!qa#m!qa#n!qa#o!qa#p!qa#q!qa#r!qa#t!qa#v!qa#x!qa#y!qa(h!qa(o!qa(p!qa~O`!qa'r!qa'p!qa!V!qa!j!qar!qa![!qa%c!qa!d!qa~P!:}O|#yO}#zO!P#{O!i#wO!k#xO(XVOP!saZ!san!sa!Y!sa!h!sa!o!sa#j!sa#k!sa#l!sa#m!sa#n!sa#o!sa#p!sa#q!sa#r!sa#t!sa#v!sa#x!sa#y!sa(h!sa(o!sa(p!sa~O`!sa'r!sa'p!sa!V!sa!j!sar!sa![!sa%c!sa!d!sa~P!=hOg%VOj+^O!['ZO%c+]O~O!d+`O`(TX![(TX'r(TX!Y(TX~O`%kO![XO'r%kO~Og%VO!k%bO~Og%VO!k%bO'{%dO~O!d#uO#g(rO~Oa+kO%d+lO'{+hO'}TO(QUO!Z)OP~O!Y+mO_(}X~OZ+qO~O_+rO~O![%{O'{%dO'|!lO_(}P~Og%VO#[+wO~Og%VOj+zO![$|O~O![+|O~O|,OO![XO~O%h%rO~O!w,TO~Od,YO~Oa,ZO'{#mO'}TO(QUO!Z(|P~Od%yO~O%d!QO'{&UO~P<}OZ,`O_,_O~OPYOQYORfOczOdyOlkOnYOokOpkOvkOxYOzYO!PWO!TkO!UkO!fuO!kZO!nYO!oYO!pYO!rvO!wxO!{]O%b}O'}TO(QUO(XVO(g[O(tiO~O![!eO!t!gO$T!kO'{!dO~P!DkO_,_O`%kO'r%kO~OPYOQYORfOc!jOd!iOlkOnYOokOpkOvkOxYOzYO!PWO!TkO!UkO![!eO!fuO!kZO!nYO!oYO!pYO!rvO!w!hO$T!kO'{!dO'}TO(QUO(XVO(g[O(tiO~O`,eO!twO#s!OO%f!OO%g!OO%h!OO~P!GTO!k&jO~O&V,kO~O![,mO~O&h,oO&j,pOP&eaQ&eaR&eaX&ea`&eac&ead&eal&ean&eao&eap&eav&eax&eaz&ea!P&ea!T&ea!U&ea![&ea!f&ea!k&ea!n&ea!o&ea!p&ea!r&ea!t&ea!w&ea!{&ea#s&ea$T&ea%b&ea%d&ea%f&ea%g&ea%h&ea%k&ea%m&ea%p&ea%q&ea%s&ea&P&ea&V&ea&X&ea&Z&ea&]&ea&`&ea&f&ea&l&ea&n&ea&p&ea&r&ea&t&ea'p&ea'{&ea'}&ea(Q&ea(X&ea(g&ea(t&ea!Z&ea&^&eaa&ea&c&ea~O'{,uO~Og!bX!Y!OX!Y!bX!Z!OX!Z!bX!d!OX!d!bX!k!bX#[!OX~O!d,zO#[,yOg(aX!Y#dX!Y(aX!Z#dX!Z(aX!d(aX!k(aX~Og%VO!d,|O!k%bO!Y!^X!Z!^X~Oo!nO!P!oO'}TO(QUO([!mO~OP:cOQ:cORfOc<[Od!iOlkOn:cOokOpkOvkOx:cOz:cO!PWO!TkO!UkO![!eO!f:fO!kZO!n:cO!o:cO!p:cO!r:gO!t:jO!w!hO$T!kO'}TO(QUO(XVO(g[O(t<YO~O'{;]O~P#!ZO!Y-QO!Z(`X~O!Z-SO~O!d,zO#[,yO!Y#dX!Z#dX~O!Y-TO!Z(nX~O!Z-VO~O!`-WO!a-WO'|!lO~P# xO!Z-ZO~P'_Oj-^O!['ZO~O!V-cO~Oo!za!_!za!`!za!a!za#P!za#Q!za#R!za#S!za#T!za#W!za#X!za'|!za'}!za(Q!za([!za(g!za~P!#`O!o-hO#[-fO~PCOO!`-jO!a-jO'|!lO~PCnO`%kO#[-fO'r%kO~O`%kO!d#uO#[-fO'r%kO~O`%kO!d#uO!o-hO#[-fO'r%kO(h'kO~O'w'sO'x'sO'y-oO~Or-pO~O!V'Pa!Y'Pa~P!8dO!X-tO!V'PX!Y'PX~P%[O!Y(PO!V(_a~O!V(_a~PGbO!Y(WO!V(la~O!P%eO!X-xO![%fO'{%dO!V'VX!Y'VX~O#[-zO!Y(ja!j(ja`(ja'r(ja~O!d#uO~P#*aO!Y(dO!j(ia~O!P%eO![%fO#f.OO'{%dO~Ol.TO!P%eO!X.QO![%fO!{]O#e.SO#f.QO'{%dO!Y'YX!j'YX~O}.XO!k#xO~Og%VOj.[O!['ZO%c.ZO~O`#_i!Y#_i'r#_i'p#_i!V#_i!j#_ir#_i![#_i%c#_i!d#_i~P!8dOj<fO|)zO!P){O(o$}O(p%PO~O#g#Za`#Za#[#Za'r#Za!Y#Za!j#Za![#Za!V#Za~P#-]O#g(WXP(WXZ(WX`(WXn(WX}(WX!h(WX!k(WX!o(WX#j(WX#k(WX#l(WX#m(WX#n(WX#o(WX#p(WX#q(WX#r(WX#t(WX#v(WX#x(WX#y(WX'r(WX(X(WX(h(WX!j(WX!V(WX'p(WXr(WX![(WX%c(WX!d(WX~P!4qO!Y.iOf(bX~P!0}Of.kO~O!Y.lO!j(cX~P!8dO!j.oO~O!V.qO~OP$]O|#yO}#zO!P#{O!i#wO!k#xO!o$]O(XVOZ#ii`#iin#ii!Y#ii!h#ii#k#ii#l#ii#m#ii#n#ii#o#ii#p#ii#q#ii#r#ii#t#ii#v#ii#x#ii#y#ii'r#ii(h#ii(o#ii(p#ii'p#ii!V#ii!j#iir#ii![#ii%c#ii!d#ii~O#j#ii~P#1XO#j$OO~P#1XOP$]O|#yO}#zO!P#{O!i#wO!k#xO!o$]O#j$OO#k$PO#l$PO#m$PO(XVOZ#ii`#ii!Y#ii!h#ii#n#ii#o#ii#p#ii#q#ii#r#ii#t#ii#v#ii#x#ii#y#ii'r#ii(h#ii(o#ii(p#ii'p#ii!V#ii!j#iir#ii![#ii%c#ii!d#ii~On#ii~P#3yOn$QO~P#3yOP$]On$QO|#yO}#zO!P#{O!i#wO!k#xO!o$]O#j$OO#k$PO#l$PO#m$PO#n$RO(XVO`#ii!Y#ii#t#ii#v#ii#x#ii#y#ii'r#ii(h#ii(o#ii(p#ii'p#ii!V#ii!j#iir#ii![#ii%c#ii!d#ii~OZ#ii!h#ii#o#ii#p#ii#q#ii#r#ii~P#6kOZ$dO!h$SO#o$SO#p$SO#q$cO#r$SO~P#6kOP$]OZ$dOn$QO|#yO}#zO!P#{O!h$SO!i#wO!k#xO!o$]O#j$OO#k$PO#l$PO#m$PO#n$RO#o$SO#p$SO#q$cO#r$SO#t$TO(XVO(p#}O`#ii!Y#ii#x#ii#y#ii'r#ii(h#ii(o#ii'p#ii!V#ii!j#iir#ii![#ii%c#ii!d#ii~O#v$VO~P#9lO#v#ii~P#9lOP$]OZ$dOn$QO|#yO}#zO!P#{O!h$SO!i#wO!k#xO!o$]O#j$OO#k$PO#l$PO#m$PO#n$RO#o$SO#p$SO#q$cO#r$SO#t$TO(XVO`#ii!Y#ii#x#ii#y#ii'r#ii(h#ii'p#ii!V#ii!j#iir#ii![#ii%c#ii!d#ii~O#v#ii(o#ii(p#ii~P#<^O#v$VO(o#|O(p#}O~P#<^OP$]OZ$dOn$QO|#yO}#zO!P#{O!h$SO!i#wO!k#xO!o$]O#j$OO#k$PO#l$PO#m$PO#n$RO#o$SO#p$SO#q$cO#r$SO#t$TO#v$VO#x$XO(XVO(o#|O(p#}O~O`#ii!Y#ii#y#ii'r#ii(h#ii'p#ii!V#ii!j#iir#ii![#ii%c#ii!d#ii~P#?UOP[XZ[Xn[X|[X}[X!P[X!h[X!i[X!k[X!o[X#[[X#geX#j[X#k[X#l[X#m[X#n[X#o[X#p[X#q[X#r[X#t[X#v[X#x[X#y[X$O[X(X[X(h[X(o[X(p[X!Y[X!Z[X~O#|[X~P#AoOP$]OZ:zOn:nO|#yO}#zO!P#{O!h:pO!i#wO!k#xO!o$]O#j:lO#k:mO#l:mO#m:mO#n:oO#o:pO#p:pO#q:yO#r:pO#t:qO#v:sO#x:uO#y:vO(XVO(h$ZO(o#|O(p#}O~O#|.sO~P#C|O#[:{O$O:{O#|(^X!Z(^X~P! [O`']a!Y']a'r']a'p']a!j']a!V']ar']a![']a%c']a!d']a~P!8dOP#iiZ#ii`#iin#ii}#ii!Y#ii!h#ii!i#ii!k#ii!o#ii#j#ii#k#ii#l#ii#m#ii#n#ii#o#ii#p#ii#q#ii#r#ii#t#ii#v#ii#x#ii#y#ii'r#ii(X#ii(h#ii'p#ii!V#ii!j#iir#ii![#ii%c#ii!d#ii~P#-]O`#}i!Y#}i'r#}i'p#}i!V#}i!j#}ir#}i![#}i%c#}i!d#}i~P!8dO$Y.xO$[.xO~O$Y.yO$[.yO~O!d)cO#[.zO![$`X$W$`X$Y$`X$[$`X$c$`X~O!X.{O~O![)fO$W.}O$Y)eO$[)eO$c/OO~O!Y:wO!Z(]X~P#C|O!Z/PO~O!d)cO$c(qX~O$c/RO~Ot)uO(Y)vO(Z/UO~O!V/YO~P!&dO(o$}Oj%Za|%Za!P%Za(p%Za!Y%Za#[%Za~Of%Za#|%Za~P#L^O(p%POj%]a|%]a!P%]a(o%]a!Y%]a#[%]a~Of%]a#|%]a~P#MPO!YeX!deX!jeX!j$uX(heX~P!/tO!j/bO~P#-]O!Y/cO!d#uO(h'kO!j(uX~O!j/hO~O!X*WO'{%dO!j(uP~O#g/jO~O!V$uX!Y$uX!d$|X~P!/tO!Y/kO!V(vX~P#-]O!d/mO~O!V/oO~Og%VOn/sO!d#uO!k%bO(h'kO~O'{/uO~O!d+`O~O`%kO!Y/yO'r%kO~O!Z/{O~P!3xO!`/|O!a/|O'|!lO([!mO~O!P0OO([!mO~O#W0PO~Of%Za!Y%Za#[%Za#|%Za~P!0}Of%]a!Y%]a#[%]a#|%]a~P!0}O'{&UOf'fX!Y'fX~O!Y*rOf(Ua~Of0YO~O|0ZO}0ZO!P0[Ojya(oya(pya!Yya#[ya~Ofya#|ya~P$$jO|)zO!P){Oj$na(o$na(p$na!Y$na#[$na~Of$na#|$na~P$%`O|)zO!P){Oj$pa(o$pa(p$pa!Y$pa#[$pa~Of$pa#|$pa~P$&RO#g0^O~Of%Oa!Y%Oa#[%Oa#|%Oa~P!0}O!d#uO~O#g0aO~O!Y+TO`(za'r(za~O|#yO}#zO!P#{O!i#wO!k#xO(XVOP!qiZ!qin!qi!Y!qi!h!qi!o!qi#j!qi#k!qi#l!qi#m!qi#n!qi#o!qi#p!qi#q!qi#r!qi#t!qi#v!qi#x!qi#y!qi(h!qi(o!qi(p!qi~O`!qi'r!qi'p!qi!V!qi!j!qir!qi![!qi%c!qi!d!qi~P$'pOg%VOn$tOo$sOp$sOv%XOx%YOz;QO!P${O![$|O!f<`O!k$xO#f;WO$T%^O$o;SO$q;UO$t%_O'}TO(QUO(X$uO(o$}O(p%PO~Ol0kO'{0jO~P$*ZO!d+`O`(Ta![(Ta'r(Ta!Y(Ta~O#g0qO~OZ[X!YeX!ZeX~O!Y0rO!Z)OX~O!Z0tO~OZ0uO~Oa0wO'{+hO'}TO(QUO~O![%{O'{%dO_'nX!Y'nX~O!Y+mO_(}a~O!j0zO~P!8dOZ0}O~O_1OO~O#[1RO~Oj1UO![$|O~O([(xO!Z({P~Og%VOj1_O![1[O%c1^O~OZ1iO!Y1gO!Z(|X~O!Z1jO~O_1lO`%kO'r%kO~O'{#mO'}TO(QUO~O#[$eO$O$eOP(^XZ(^Xn(^X|(^X}(^X!P(^X!Y(^X!h(^X!k(^X!o(^X#j(^X#k(^X#l(^X#m(^X#n(^X#o(^X#p(^X#q(^X#t(^X#v(^X#x(^X#y(^X(X(^X(h(^X(o(^X(p(^X~O#r1oO&T1pO`(^X!i(^X~P$/qO#[$eO#r1oO&T1pO~O`1rO~P%[O`1tO~O&^1wOP&[iQ&[iR&[iX&[i`&[ic&[id&[il&[in&[io&[ip&[iv&[ix&[iz&[i!P&[i!T&[i!U&[i![&[i!f&[i!k&[i!n&[i!o&[i!p&[i!r&[i!t&[i!w&[i!{&[i#s&[i$T&[i%b&[i%d&[i%f&[i%g&[i%h&[i%k&[i%m&[i%p&[i%q&[i%s&[i&P&[i&V&[i&X&[i&Z&[i&]&[i&`&[i&f&[i&l&[i&n&[i&p&[i&r&[i&t&[i'p&[i'{&[i'}&[i(Q&[i(X&[i(g&[i(t&[i!Z&[ia&[i&c&[i~Oa1}O!Z1{O&c1|O~P`O![XO!k2PO~O&j,pOP&eiQ&eiR&eiX&ei`&eic&eid&eil&ein&eio&eip&eiv&eix&eiz&ei!P&ei!T&ei!U&ei![&ei!f&ei!k&ei!n&ei!o&ei!p&ei!r&ei!t&ei!w&ei!{&ei#s&ei$T&ei%b&ei%d&ei%f&ei%g&ei%h&ei%k&ei%m&ei%p&ei%q&ei%s&ei&P&ei&V&ei&X&ei&Z&ei&]&ei&`&ei&f&ei&l&ei&n&ei&p&ei&r&ei&t&ei'p&ei'{&ei'}&ei(Q&ei(X&ei(g&ei(t&ei!Z&ei&^&eia&ei&c&ei~O!V2VO~O!Y!^a!Z!^a~P#C|Oo!nO!P!oO!X2]O([!mO!Y'QX!Z'QX~P@UO!Y-QO!Z(`a~O!Y'WX!Z'WX~P!7lO!Y-TO!Z(na~O!Z2dO~P'_O`%kO#[2mO'r%kO~O`%kO!d#uO#[2mO'r%kO~O`%kO!d#uO!o2qO#[2mO'r%kO(h'kO~O`%kO'r%kO~P!8dO!Y$aOr$ma~O!V'Pi!Y'Pi~P!8dO!Y(PO!V(_i~O!Y(WO!V(li~O!V(mi!Y(mi~P!8dO!Y(ji!j(ji`(ji'r(ji~P!8dO#[2sO!Y(ji!j(ji`(ji'r(ji~O!Y(dO!j(ii~O!P%eO![%fO!{]O#e2xO#f2wO'{%dO~O!P%eO![%fO#f2wO'{%dO~Oj3PO!['ZO%c3OO~Og%VOj3PO!['ZO%c3OO~O#g%ZaP%ZaZ%Za`%Zan%Za}%Za!h%Za!i%Za!k%Za!o%Za#j%Za#k%Za#l%Za#m%Za#n%Za#o%Za#p%Za#q%Za#r%Za#t%Za#v%Za#x%Za#y%Za'r%Za(X%Za(h%Za!j%Za!V%Za'p%Zar%Za![%Za%c%Za!d%Za~P#L^O#g%]aP%]aZ%]a`%]an%]a}%]a!h%]a!i%]a!k%]a!o%]a#j%]a#k%]a#l%]a#m%]a#n%]a#o%]a#p%]a#q%]a#r%]a#t%]a#v%]a#x%]a#y%]a'r%]a(X%]a(h%]a!j%]a!V%]a'p%]ar%]a![%]a%c%]a!d%]a~P#MPO#g%ZaP%ZaZ%Za`%Zan%Za}%Za!Y%Za!h%Za!i%Za!k%Za!o%Za#j%Za#k%Za#l%Za#m%Za#n%Za#o%Za#p%Za#q%Za#r%Za#t%Za#v%Za#x%Za#y%Za'r%Za(X%Za(h%Za!j%Za!V%Za'p%Za#[%Zar%Za![%Za%c%Za!d%Za~P#-]O#g%]aP%]aZ%]a`%]an%]a}%]a!Y%]a!h%]a!i%]a!k%]a!o%]a#j%]a#k%]a#l%]a#m%]a#n%]a#o%]a#p%]a#q%]a#r%]a#t%]a#v%]a#x%]a#y%]a'r%]a(X%]a(h%]a!j%]a!V%]a'p%]a#[%]ar%]a![%]a%c%]a!d%]a~P#-]O#gyaPyaZya`yanya!hya!iya!kya!oya#jya#kya#lya#mya#nya#oya#pya#qya#rya#tya#vya#xya#yya'rya(Xya(hya!jya!Vya'pyarya![ya%cya!dya~P$$jO#g$naP$naZ$na`$nan$na}$na!h$na!i$na!k$na!o$na#j$na#k$na#l$na#m$na#n$na#o$na#p$na#q$na#r$na#t$na#v$na#x$na#y$na'r$na(X$na(h$na!j$na!V$na'p$nar$na![$na%c$na!d$na~P$%`O#g$paP$paZ$pa`$pan$pa}$pa!h$pa!i$pa!k$pa!o$pa#j$pa#k$pa#l$pa#m$pa#n$pa#o$pa#p$pa#q$pa#r$pa#t$pa#v$pa#x$pa#y$pa'r$pa(X$pa(h$pa!j$pa!V$pa'p$par$pa![$pa%c$pa!d$pa~P$&RO#g%OaP%OaZ%Oa`%Oan%Oa}%Oa!Y%Oa!h%Oa!i%Oa!k%Oa!o%Oa#j%Oa#k%Oa#l%Oa#m%Oa#n%Oa#o%Oa#p%Oa#q%Oa#r%Oa#t%Oa#v%Oa#x%Oa#y%Oa'r%Oa(X%Oa(h%Oa!j%Oa!V%Oa'p%Oa#[%Oar%Oa![%Oa%c%Oa!d%Oa~P#-]O`#_q!Y#_q'r#_q'p#_q!V#_q!j#_qr#_q![#_q%c#_q!d#_q~P!8dOf'RX!Y'RX~P!(SO!Y.iOf(ba~O!X3ZO!Y'SX!j'SX~P%[O!Y.lO!j(ca~O!Y.lO!j(ca~P!8dO!V3^O~O#|!ma!Z!ma~PKOO#|!ea!Y!ea!Z!ea~P#C|O#|!qa!Z!qa~P!:}O#|!sa!Z!sa~P!=hORfO![3pO$a3qO~O!Z3uO~Or3vO~P#-]O`$jq!Y$jq'r$jq'p$jq!V$jq!j$jqr$jq![$jq%c$jq!d$jq~P!8dO!V3wO~P#-]O|)zO!P){O(p%POj'ba(o'ba!Y'ba#['ba~Of'ba#|'ba~P%)eO|)zO!P){Oj'da(o'da(p'da!Y'da#['da~Of'da#|'da~P%*WO(h$ZO~P#-]O!X3zO'{%dO!Y'^X!j'^X~O!Y/cO!j(ua~O!Y/cO!d#uO!j(ua~O!Y/cO!d#uO(h'kO!j(ua~Of$wi!Y$wi#[$wi#|$wi~P!0}O!X4SO'{*]O!V'`X!Y'`X~P!1lO!Y/kO!V(va~O!Y/kO!V(va~P#-]O!d#uO#r4[O~On4_O!d#uO(h'kO~O(o$}Oj%Zi|%Zi!P%Zi(p%Zi!Y%Zi#[%Zi~Of%Zi#|%Zi~P%-jO(p%POj%]i|%]i!P%]i(o%]i!Y%]i#[%]i~Of%]i#|%]i~P%.]Of(Vi!Y(Vi~P!0}O#[4fOf(Vi!Y(Vi~P!0}O!j4iO~O`$kq!Y$kq'r$kq'p$kq!V$kq!j$kqr$kq![$kq%c$kq!d$kq~P!8dO!V4mO~O!Y4nO![(wX~P#-]O!i#wO~P4XO`$uX![$uX%W[X'r$uX!Y$uX~P!/tO%W4pO`kXjkX|kX!PkX![kX'rkX(okX(pkX!YkX~O%W4pO~Oa4vO%d4wO'{+hO'}TO(QUO!Y'mX!Z'mX~O!Y0rO!Z)Oa~OZ4{O~O_4|O~O`%kO'r%kO~P#-]O![$|O~P#-]O!Y5UO#[5WO!Z({X~O!Z5XO~Oo!nO!P5YO!_!xO!`!uO!a!uO!{:dO#P!pO#Q!pO#R!pO#S!pO#T!pO#W5_O#X!yO'|!lO'}TO(QUO([!mO(g!sO~O!Z5^O~P%3nOj5dO![1[O%c5cO~Og%VOj5dO![1[O%c5cO~Oa5kO'{#mO'}TO(QUO!Y'lX!Z'lX~O!Y1gO!Z(|a~O'}TO(QUO([5mO~O_5qO~O#r5tO&T5uO~PMnO!j5vO~P%[O`5xO~O`5xO~P%[Oa1}O!Z5}O&c1|O~P`O!d6PO~O!d6ROg(ai!Y(ai!Z(ai!d(ai!k(ai~O!Y#di!Z#di~P#C|O#[6SO!Y#di!Z#di~O!Y!^i!Z!^i~P#C|O`%kO#[6]O'r%kO~O`%kO!d#uO#[6]O'r%kO~O!Y(jq!j(jq`(jq'r(jq~P!8dO!Y(dO!j(iq~O!P%eO![%fO#f6dO'{%dO~O!['ZO%c6gO~Oj6jO!['ZO%c6gO~O#g'baP'baZ'ba`'ban'ba}'ba!h'ba!i'ba!k'ba!o'ba#j'ba#k'ba#l'ba#m'ba#n'ba#o'ba#p'ba#q'ba#r'ba#t'ba#v'ba#x'ba#y'ba'r'ba(X'ba(h'ba!j'ba!V'ba'p'bar'ba!['ba%c'ba!d'ba~P%)eO#g'daP'daZ'da`'dan'da}'da!h'da!i'da!k'da!o'da#j'da#k'da#l'da#m'da#n'da#o'da#p'da#q'da#r'da#t'da#v'da#x'da#y'da'r'da(X'da(h'da!j'da!V'da'p'dar'da!['da%c'da!d'da~P%*WO#g$wiP$wiZ$wi`$win$wi}$wi!Y$wi!h$wi!i$wi!k$wi!o$wi#j$wi#k$wi#l$wi#m$wi#n$wi#o$wi#p$wi#q$wi#r$wi#t$wi#v$wi#x$wi#y$wi'r$wi(X$wi(h$wi!j$wi!V$wi'p$wi#[$wir$wi![$wi%c$wi!d$wi~P#-]O#g%ZiP%ZiZ%Zi`%Zin%Zi}%Zi!h%Zi!i%Zi!k%Zi!o%Zi#j%Zi#k%Zi#l%Zi#m%Zi#n%Zi#o%Zi#p%Zi#q%Zi#r%Zi#t%Zi#v%Zi#x%Zi#y%Zi'r%Zi(X%Zi(h%Zi!j%Zi!V%Zi'p%Zir%Zi![%Zi%c%Zi!d%Zi~P%-jO#g%]iP%]iZ%]i`%]in%]i}%]i!h%]i!i%]i!k%]i!o%]i#j%]i#k%]i#l%]i#m%]i#n%]i#o%]i#p%]i#q%]i#r%]i#t%]i#v%]i#x%]i#y%]i'r%]i(X%]i(h%]i!j%]i!V%]i'p%]ir%]i![%]i%c%]i!d%]i~P%.]Of'Ra!Y'Ra~P!0}O!Y'Sa!j'Sa~P!8dO!Y.lO!j(ci~O#|#_i!Y#_i!Z#_i~P#C|OP$]O|#yO}#zO!P#{O!i#wO!k#xO!o$]O(XVOZ#iin#ii!h#ii#k#ii#l#ii#m#ii#n#ii#o#ii#p#ii#q#ii#r#ii#t#ii#v#ii#x#ii#y#ii#|#ii(h#ii(o#ii(p#ii!Y#ii!Z#ii~O#j#ii~P%FnO#j:lO~P%FnOP$]O|#yO}#zO!P#{O!i#wO!k#xO!o$]O#j:lO#k:mO#l:mO#m:mO(XVOZ#ii!h#ii#n#ii#o#ii#p#ii#q#ii#r#ii#t#ii#v#ii#x#ii#y#ii#|#ii(h#ii(o#ii(p#ii!Y#ii!Z#ii~On#ii~P%HyOn:nO~P%HyOP$]On:nO|#yO}#zO!P#{O!i#wO!k#xO!o$]O#j:lO#k:mO#l:mO#m:mO#n:oO(XVO#t#ii#v#ii#x#ii#y#ii#|#ii(h#ii(o#ii(p#ii!Y#ii!Z#ii~OZ#ii!h#ii#o#ii#p#ii#q#ii#r#ii~P%KUOZ:zO!h:pO#o:pO#p:pO#q:yO#r:pO~P%KUOP$]OZ:zOn:nO|#yO}#zO!P#{O!h:pO!i#wO!k#xO!o$]O#j:lO#k:mO#l:mO#m:mO#n:oO#o:pO#p:pO#q:yO#r:pO#t:qO(XVO(p#}O#x#ii#y#ii#|#ii(h#ii(o#ii!Y#ii!Z#ii~O#v:sO~P%MpO#v#ii~P%MpOP$]OZ:zOn:nO|#yO}#zO!P#{O!h:pO!i#wO!k#xO!o$]O#j:lO#k:mO#l:mO#m:mO#n:oO#o:pO#p:pO#q:yO#r:pO#t:qO(XVO#x#ii#y#ii#|#ii(h#ii!Y#ii!Z#ii~O#v#ii(o#ii(p#ii~P& {O#v:sO(o#|O(p#}O~P& {OP$]OZ:zOn:nO|#yO}#zO!P#{O!h:pO!i#wO!k#xO!o$]O#j:lO#k:mO#l:mO#m:mO#n:oO#o:pO#p:pO#q:yO#r:pO#t:qO#v:sO#x:uO(XVO(o#|O(p#}O~O#y#ii#|#ii(h#ii!Y#ii!Z#ii~P&$^O`#zy!Y#zy'r#zy'p#zy!V#zy!j#zyr#zy![#zy%c#zy!d#zy~P!8dOj<gO|)zO!P){O(o$}O(p%PO~OP#iiZ#iin#ii}#ii!h#ii!i#ii!k#ii!o#ii#j#ii#k#ii#l#ii#m#ii#n#ii#o#ii#p#ii#q#ii#r#ii#t#ii#v#ii#x#ii#y#ii#|#ii(X#ii(h#ii!Y#ii!Z#ii~P&'UO!i#wOP(WXZ(WXj(WXn(WX|(WX}(WX!P(WX!h(WX!k(WX!o(WX#j(WX#k(WX#l(WX#m(WX#n(WX#o(WX#p(WX#q(WX#r(WX#t(WX#v(WX#x(WX#y(WX#|(WX(X(WX(h(WX(o(WX(p(WX!Y(WX!Z(WX~O#|#}i!Y#}i!Z#}i~P#C|O#|!qi!Z!qi~P$'pO!Z6|O~O!Y']a!Z']a~P#C|O!d#uO(h'kO!Y'^a!j'^a~O!Y/cO!j(ui~O!Y/cO!d#uO!j(ui~Of$wq!Y$wq#[$wq#|$wq~P!0}O!V'`a!Y'`a~P#-]O!d7TO~O!Y/kO!V(vi~P#-]O!Y/kO!V(vi~O!V7XO~O!d#uO#r7^O~On7_O!d#uO(h'kO~O|)zO!P){O(p%POj'ca(o'ca!Y'ca#['ca~Of'ca#|'ca~P&.fO|)zO!P){Oj'ea(o'ea(p'ea!Y'ea#['ea~Of'ea#|'ea~P&/XO!V7aO~Of$yq!Y$yq#[$yq#|$yq~P!0}O`$ky!Y$ky'r$ky'p$ky!V$ky!j$kyr$ky![$ky%c$ky!d$ky~P!8dO!d6RO~O!Y4nO![(wa~O`#_y!Y#_y'r#_y'p#_y!V#_y!j#_yr#_y![#_y%c#_y!d#_y~P!8dOZ7fO~Oa7hO'{+hO'}TO(QUO~O!Y0rO!Z)Oi~O_7lO~O([(xO!Y'iX!Z'iX~O!Y5UO!Z({a~OlkO'{7sO~P.iO!Z7vO~P%3nOo!nO!P7wO'}TO(QUO([!mO(g!sO~O![1[O~O![1[O%c7yO~Oj7|O![1[O%c7yO~OZ8RO!Y'la!Z'la~O!Y1gO!Z(|i~O!j8VO~O!j8WO~O!j8ZO~O!j8ZO~P%[O`8]O~O!d8^O~O!j8_O~O!Y(mi!Z(mi~P#C|O`%kO#[8gO'r%kO~O!Y(jy!j(jy`(jy'r(jy~P!8dO!Y(dO!j(iy~O!['ZO%c8jO~O#g$wqP$wqZ$wq`$wqn$wq}$wq!Y$wq!h$wq!i$wq!k$wq!o$wq#j$wq#k$wq#l$wq#m$wq#n$wq#o$wq#p$wq#q$wq#r$wq#t$wq#v$wq#x$wq#y$wq'r$wq(X$wq(h$wq!j$wq!V$wq'p$wq#[$wqr$wq![$wq%c$wq!d$wq~P#-]O#g'caP'caZ'ca`'can'ca}'ca!h'ca!i'ca!k'ca!o'ca#j'ca#k'ca#l'ca#m'ca#n'ca#o'ca#p'ca#q'ca#r'ca#t'ca#v'ca#x'ca#y'ca'r'ca(X'ca(h'ca!j'ca!V'ca'p'car'ca!['ca%c'ca!d'ca~P&.fO#g'eaP'eaZ'ea`'ean'ea}'ea!h'ea!i'ea!k'ea!o'ea#j'ea#k'ea#l'ea#m'ea#n'ea#o'ea#p'ea#q'ea#r'ea#t'ea#v'ea#x'ea#y'ea'r'ea(X'ea(h'ea!j'ea!V'ea'p'ear'ea!['ea%c'ea!d'ea~P&/XO#g$yqP$yqZ$yq`$yqn$yq}$yq!Y$yq!h$yq!i$yq!k$yq!o$yq#j$yq#k$yq#l$yq#m$yq#n$yq#o$yq#p$yq#q$yq#r$yq#t$yq#v$yq#x$yq#y$yq'r$yq(X$yq(h$yq!j$yq!V$yq'p$yq#[$yqr$yq![$yq%c$yq!d$yq~P#-]O!Y'Si!j'Si~P!8dO#|#_q!Y#_q!Z#_q~P#C|O(o$}OP%ZaZ%Zan%Za}%Za!h%Za!i%Za!k%Za!o%Za#j%Za#k%Za#l%Za#m%Za#n%Za#o%Za#p%Za#q%Za#r%Za#t%Za#v%Za#x%Za#y%Za#|%Za(X%Za(h%Za!Y%Za!Z%Za~Oj%Za|%Za!P%Za(p%Za~P&@nO(p%POP%]aZ%]an%]a}%]a!h%]a!i%]a!k%]a!o%]a#j%]a#k%]a#l%]a#m%]a#n%]a#o%]a#p%]a#q%]a#r%]a#t%]a#v%]a#x%]a#y%]a#|%]a(X%]a(h%]a!Y%]a!Z%]a~Oj%]a|%]a!P%]a(o%]a~P&BuOj<gO|)zO!P){O(p%PO~P&@nOj<gO|)zO!P){O(o$}O~P&BuO|0ZO}0ZO!P0[OPyaZyajyanya!hya!iya!kya!oya#jya#kya#lya#mya#nya#oya#pya#qya#rya#tya#vya#xya#yya#|ya(Xya(hya(oya(pya!Yya!Zya~O|)zO!P){OP$naZ$naj$nan$na}$na!h$na!i$na!k$na!o$na#j$na#k$na#l$na#m$na#n$na#o$na#p$na#q$na#r$na#t$na#v$na#x$na#y$na#|$na(X$na(h$na(o$na(p$na!Y$na!Z$na~O|)zO!P){OP$paZ$paj$pan$pa}$pa!h$pa!i$pa!k$pa!o$pa#j$pa#k$pa#l$pa#m$pa#n$pa#o$pa#p$pa#q$pa#r$pa#t$pa#v$pa#x$pa#y$pa#|$pa(X$pa(h$pa(o$pa(p$pa!Y$pa!Z$pa~OP%OaZ%Oan%Oa}%Oa!h%Oa!i%Oa!k%Oa!o%Oa#j%Oa#k%Oa#l%Oa#m%Oa#n%Oa#o%Oa#p%Oa#q%Oa#r%Oa#t%Oa#v%Oa#x%Oa#y%Oa#|%Oa(X%Oa(h%Oa!Y%Oa!Z%Oa~P&'UO#|$jq!Y$jq!Z$jq~P#C|O#|$kq!Y$kq!Z$kq~P#C|O!Z8vO~O#|8wO~P!0}O!d#uO!Y'^i!j'^i~O!d#uO(h'kO!Y'^i!j'^i~O!Y/cO!j(uq~O!V'`i!Y'`i~P#-]O!Y/kO!V(vq~O!V8}O~P#-]O!V8}O~Of(Vy!Y(Vy~P!0}O!Y'ga!['ga~P#-]O`%Vq![%Vq'r%Vq!Y%Vq~P#-]OZ9SO~O!Y0rO!Z)Oq~O#[9WO!Y'ia!Z'ia~O!Y5UO!Z({i~P#C|OP[XZ[Xn[X|[X}[X!P[X!V[X!Y[X!h[X!i[X!k[X!o[X#[[X#geX#j[X#k[X#l[X#m[X#n[X#o[X#p[X#q[X#r[X#t[X#v[X#x[X#y[X$O[X(X[X(h[X(o[X(p[X~O!d%TX#r%TX~P'#`O![1[O%c9[O~O'}TO(QUO([9aO~O!Y1gO!Z(|q~O!j9dO~O!j9eO~O!j9fO~O!j9fO~P%[O#[9iO!Y#dy!Z#dy~O!Y#dy!Z#dy~P#C|O!['ZO%c9nO~O#|#zy!Y#zy!Z#zy~P#C|OP$wiZ$win$wi}$wi!h$wi!i$wi!k$wi!o$wi#j$wi#k$wi#l$wi#m$wi#n$wi#o$wi#p$wi#q$wi#r$wi#t$wi#v$wi#x$wi#y$wi#|$wi(X$wi(h$wi!Y$wi!Z$wi~P&'UO|)zO!P){O(p%POP'baZ'baj'ban'ba}'ba!h'ba!i'ba!k'ba!o'ba#j'ba#k'ba#l'ba#m'ba#n'ba#o'ba#p'ba#q'ba#r'ba#t'ba#v'ba#x'ba#y'ba#|'ba(X'ba(h'ba(o'ba!Y'ba!Z'ba~O|)zO!P){OP'daZ'daj'dan'da}'da!h'da!i'da!k'da!o'da#j'da#k'da#l'da#m'da#n'da#o'da#p'da#q'da#r'da#t'da#v'da#x'da#y'da#|'da(X'da(h'da(o'da(p'da!Y'da!Z'da~O(o$}OP%ZiZ%Zij%Zin%Zi|%Zi}%Zi!P%Zi!h%Zi!i%Zi!k%Zi!o%Zi#j%Zi#k%Zi#l%Zi#m%Zi#n%Zi#o%Zi#p%Zi#q%Zi#r%Zi#t%Zi#v%Zi#x%Zi#y%Zi#|%Zi(X%Zi(h%Zi(p%Zi!Y%Zi!Z%Zi~O(p%POP%]iZ%]ij%]in%]i|%]i}%]i!P%]i!h%]i!i%]i!k%]i!o%]i#j%]i#k%]i#l%]i#m%]i#n%]i#o%]i#p%]i#q%]i#r%]i#t%]i#v%]i#x%]i#y%]i#|%]i(X%]i(h%]i(o%]i!Y%]i!Z%]i~O#|$ky!Y$ky!Z$ky~P#C|O#|#_y!Y#_y!Z#_y~P#C|O!d#uO!Y'^q!j'^q~O!Y/cO!j(uy~O!V'`q!Y'`q~P#-]O!V9wO~P#-]O!Y0rO!Z)Oy~O!Y5UO!Z({q~O![1[O%c:OO~O!j:RO~O!['ZO%c:WO~OP$wqZ$wqn$wq}$wq!h$wq!i$wq!k$wq!o$wq#j$wq#k$wq#l$wq#m$wq#n$wq#o$wq#p$wq#q$wq#r$wq#t$wq#v$wq#x$wq#y$wq#|$wq(X$wq(h$wq!Y$wq!Z$wq~P&'UO|)zO!P){O(p%POP'caZ'caj'can'ca}'ca!h'ca!i'ca!k'ca!o'ca#j'ca#k'ca#l'ca#m'ca#n'ca#o'ca#p'ca#q'ca#r'ca#t'ca#v'ca#x'ca#y'ca#|'ca(X'ca(h'ca(o'ca!Y'ca!Z'ca~O|)zO!P){OP'eaZ'eaj'ean'ea}'ea!h'ea!i'ea!k'ea!o'ea#j'ea#k'ea#l'ea#m'ea#n'ea#o'ea#p'ea#q'ea#r'ea#t'ea#v'ea#x'ea#y'ea#|'ea(X'ea(h'ea(o'ea(p'ea!Y'ea!Z'ea~OP$yqZ$yqn$yq}$yq!h$yq!i$yq!k$yq!o$yq#j$yq#k$yq#l$yq#m$yq#n$yq#o$yq#p$yq#q$yq#r$yq#t$yq#v$yq#x$yq#y$yq#|$yq(X$yq(h$yq!Y$yq!Z$yq~P&'UOf%_!Z!Y%_!Z#[%_!Z#|%_!Z~P!0}O!Y'iq!Z'iq~P#C|O!Y#d!Z!Z#d!Z~P#C|O#g%_!ZP%_!ZZ%_!Z`%_!Zn%_!Z}%_!Z!Y%_!Z!h%_!Z!i%_!Z!k%_!Z!o%_!Z#j%_!Z#k%_!Z#l%_!Z#m%_!Z#n%_!Z#o%_!Z#p%_!Z#q%_!Z#r%_!Z#t%_!Z#v%_!Z#x%_!Z#y%_!Z'r%_!Z(X%_!Z(h%_!Z!j%_!Z!V%_!Z'p%_!Z#[%_!Zr%_!Z![%_!Z%c%_!Z!d%_!Z~P#-]OP%_!ZZ%_!Zn%_!Z}%_!Z!h%_!Z!i%_!Z!k%_!Z!o%_!Z#j%_!Z#k%_!Z#l%_!Z#m%_!Z#n%_!Z#o%_!Z#p%_!Z#q%_!Z#r%_!Z#t%_!Z#v%_!Z#x%_!Z#y%_!Z#|%_!Z(X%_!Z(h%_!Z!Y%_!Z!Z%_!Z~P&'UOr(]X~P1qO'|!lO~P!*fO!VeX!YeX#[eX~P'#`OP[XZ[Xn[X|[X}[X!P[X!Y[X!YeX!h[X!i[X!k[X!o[X#[[X#[eX#geX#j[X#k[X#l[X#m[X#n[X#o[X#p[X#q[X#r[X#t[X#v[X#x[X#y[X$O[X(X[X(h[X(o[X(p[X~O!deX!j[X!jeX(heX~P'ASOP:cOQ:cORfOc<[Od!iOlkOn:cOokOpkOvkOx:cOz:cO!PWO!TkO!UkO![XO!f:fO!kZO!n:cO!o:cO!p:cO!r:gO!t:jO!w!hO$T!kO'{)YO'}TO(QUO(XVO(g[O(t<YO~O!Y:wO!Z$ma~Og%VOl%WOn$tOo$sOp$sOv%XOx%YOz;RO!P${O![$|O!f<aO!k$xO#f;XO$T%^O$o;TO$q;VO$t%_O'{(pO'}TO(QUO(X$uO(o$}O(p%PO~O#s)aO~P'ExO!Z[X!ZeX~P'ASO#g:kO~O!d#uO#g:kO~O#[:{O~O#r:pO~O#[;ZO!Y(mX!Z(mX~O#[:{O!Y(kX!Z(kX~O#g;[O~Of;^O~P!0}O#g;cO~O#g;dO~O!d#uO#g;eO~O!d#uO#g;[O~O#|;fO~P#C|O#g;gO~O#g;hO~O#g;mO~O#g;nO~O#g;oO~O#g;pO~O#|;qO~P!0}O#|;rO~P!0}O!i#P#Q#S#T#W#e#f#q(t$o$q$t%W%b%c%d%k%m%p%q%s%u~'vS#k!U't'|#lo#j#mn|'u$Y'u'{$[([~",
  "goto": "$2p)SPPPPP)TPP)WP)iP*x.|PPPP5pPP6WPP<S?gP?zP?zPPP?zPAxP?zP?zP?zPA|PPBRPBlPGdPPPGhPPPPGhJiPPPJoKjPGhPMxPPPP!!WGhPPPGhPGhP!$fGhP!'z!(|!)VP!)y!)}!)yPPPPP!-Y!(|PP!-v!.pP!1dGhGh!1i!4s!9Y!9Y!=OPPP!=VGhPPPPPPPPPPP!@dP!AqPPGh!CSPGhPGhGhGhGhPGh!DfP!GnP!JrP!Jv!KQ!KU!KUP!GkP!KY!KYP!N^P!NbGhGh!Nh##k?zP?zP?z?zP#$v?z?z#'O?z#)k?z#+m?z?z#,[#.f#.f#.j#.r#.f#.zP#.fP?z#/d?z#3R?z?z5pPPP#6vPPP#7a#7aP#7aP#7w#7aPP#7}P#7tP#7t#8b#7t#8|#9S5m)W#9V)WP#9^#9^#9^P)WP)WP)WP)WPP)WP#9d#9gP#9g)WP#9kP#9nP)WP)WP)WP)WP)WP)W)WPP#9t#9z#:V#:]#:c#:i#:o#:}#;T#;Z#;e#;k#;u#<U#<[#<|#=`#=f#=l#=z#>a#@O#@^#@d#Ax#BW#Cr#DQ#DW#D^#Dd#Dn#Dt#Dz#EU#Eh#EnPPPPPPPPPP#EtPPPPPPP#Fi#Ip#KP#KW#K`PPPP$!d$%Z$+r$+u$+x$,q$,t$,w$-O$-WPP$-^$-b$.Y$/X$/]$/qPP$/u$/{$0PP$0S$0W$0Z$1P$1h$2P$2T$2W$2Z$2a$2d$2h$2lR!{RoqOXst!Z#c%j&m&o&p&r,h,m1w1zY!uQ'Z-Y1[5]Q%pvQ%xyQ&P|Q&e!VS'R!e-QQ'a!iS'g!r!xS*c$|*hQ+f%yQ+s&RQ,X&_Q-W'YQ-b'bQ-j'hQ/|*jQ1f,YR;Y:g%OdOPWXYZstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$a$e%j%p%}&f&i&m&o&p&r&v'O']'m'}(P(V(^(r(v(z)y+O+S,e,h,m-^-f-t-z.l.s0[0a0q1_1o1p1r1t1w1z1|2m2s3Z5Y5d5t5u5x6]7w7|8]8gS#p]:d!r)[$[$m'S)n,y,|.{2]3p5W6S9W9i:c:f:g:j:k:l:m:n:o:p:q:r:s:t:u:v:w:{;Y;Z;[;^;e;f;o;p<]Q*u%ZQ+k%{Q,Z&bQ,b&jQ.c;QQ0h+^Q0l+`Q0w+lQ1n,`Q2{.[Q4v0rQ5k1gQ6i3PQ6u;RQ7h4wR8m6j&|kOPWXYZstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$[$a$e$m%j%p%}&f&i&j&m&o&p&r&v'O'S']'m'}(P(V(^(r(v(z)n)y+O+S+^,e,h,m,y,|-^-f-t-z.[.l.s.{0[0a0q1_1o1p1r1t1w1z1|2]2m2s3P3Z3p5W5Y5d5t5u5x6S6]6j7w7|8]8g9W9i:c:f:g:j:k:l:m:n:o:p:q:r:s:t:u:v:w:{;Y;Z;[;^;e;f;o;p<]t!nQ!r!u!x!y'R'Y'Z'g'h'i-Q-W-Y-j1[5]5_$v$si#u#w$c$d$x${%O%Q%[%]%a)u){)}*P*R*Y*`*p*q+]+`+w+z.Z.i/Z/j/k/m0Q0S0^1R1U1^3O3x4S4[4f4n4p5c6g7T7^7y8j8w9[9n:O:W:y:z:|:};O;P;S;T;U;V;W;X;_;`;a;b;c;d;g;h;i;j;k;l;m;n;q;r<Y<b<c<f<gQ&S|Q'P!eS'V%f-TQ+k%{Q,Z&bQ0]*yQ0w+lQ0|+rQ1m,_Q1n,`Q4v0rQ5P1OQ5k1gQ5n1iQ5o1lQ7h4wQ7k4|Q8U5qQ9V7lR9b8RrnOXst!V!Z#c%j&d&m&o&p&r,h,m1w1zR,]&f&v^OPXYstuvwz!Z!`!g!j!o#R#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$[$a$e$m%j%p%}&f&i&j&m&o&p&r&v'O']'m(P(V(^(r(v(z)n)y+O+S+^,e,h,m,y,|-^-f-t-z.[.l.s.{0[0a0q1_1o1p1r1t1w1z1|2]2m2s3P3Z3p5W5Y5d5t5u5x6S6]6j7w7|8]8g9W9i:c:f:g:j:k:l:m:n:o:p:q:r:s:t:u:v:w:{;Y;Z;[;^;e;f;o;p<[<][#[WZ#V#Y'S'}!S%gm#g#h#k%b%e(W(b(c(d+Q+R+T,d,z-x.O.P.Q.S2P2w2x6R6dQ%sxQ%wyS%||&RQ&Y!TQ'^!hQ'`!iQ(k#rS*V$x*ZS+e%x%yQ+i%{Q,S&]Q,W&_S-a'a'bQ.^(lQ/g*WQ0p+fQ0v+lQ0x+mQ0{+qQ1a,TS1e,X,YQ2i-bQ3y/cQ4u0rQ4y0uQ5O0}Q5j1fQ7Q3zQ7g4wQ7j4{Q9R7fR9y9S!O$zi#w%O%Q%[%]%a)}*P*Y*p*q.i/j0Q0S0^3x4f8w<Y<b<c!S%uy!i!t%w%x%y'Q'`'a'b'f'p*b+e+f,}-a-b-i/t0p2b2i2p4^Q+_%sQ+x&VQ+{&WQ,V&_Q.](kQ1`,SU1d,W,X,YQ3Q.^Q5e1aS5i1e1fQ8Q5j#W<^#u$c$d$x${)u){*R*`+]+`+w+z.Z/Z/k/m1R1U1^3O4S4[4n4p5c6g7T7^7y8j9[9n:O:W:|;O;S;U;W;_;a;c;g;i;k;m;q<f<go<_:y:z:};P;T;V;X;`;b;d;h;j;l;n;rW%Ti%V*r<YS&V!Q&dQ&W!RQ&X!SR+v&T$w%Si#u#w$c$d$x${%O%Q%[%]%a)u){)}*P*R*Y*`*p*q+]+`+w+z.Z.i/Z/j/k/m0Q0S0^1R1U1^3O3x4S4[4f4n4p5c6g7T7^7y8j8w9[9n:O:W:y:z:|:};O;P;S;T;U;V;W;X;_;`;a;b;c;d;g;h;i;j;k;l;m;n;q;r<Y<b<c<f<gT)v$u)wV*v%Z;Q;RU'V!e%f-TS(y#y#zQ+p&OS.V(g(hQ1V+|Q4g0ZR7p5U&|kOPWXYZstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$[$a$e$m%j%p%}&f&i&j&m&o&p&r&v'O'S']'m'}(P(V(^(r(v(z)n)y+O+S+^,e,h,m,y,|-^-f-t-z.[.l.s.{0[0a0q1_1o1p1r1t1w1z1|2]2m2s3P3Z3p5W5Y5d5t5u5x6S6]6j7w7|8]8g9W9i:c:f:g:j:k:l:m:n:o:p:q:r:s:t:u:v:w:{;Y;Z;[;^;e;f;o;p<]$i$`c#X#d%n%o%q'|(S(n(u(})O)P)Q)R)S)T)U)V)W)X)Z)^)b)l+Z+o-O-m-r-w-y.h.n.r.t.u.v/V0_2W2Z2k2r3Y3_3`3a3b3c3d3e3f3g3h3i3j3k3n3o3t4k4s6U6[6a6o6p6y6z7r8a8e8n8t8u9k9{:S:e<PT#SV#T&}kOPWXYZstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$[$a$e$m%j%p%}&f&i&j&m&o&p&r&v'O'S']'m'}(P(V(^(r(v(z)n)y+O+S+^,e,h,m,y,|-^-f-t-z.[.l.s.{0[0a0q1_1o1p1r1t1w1z1|2]2m2s3P3Z3p5W5Y5d5t5u5x6S6]6j7w7|8]8g9W9i:c:f:g:j:k:l:m:n:o:p:q:r:s:t:u:v:w:{;Y;Z;[;^;e;f;o;p<]Q'T!eR2^-Qv!nQ!e!r!u!x!y'R'Y'Z'g'h'i-Q-W-Y-j1[5]5_S*b$|*hS/t*c*jQ/}*kQ1X,OQ4^/|R4a0PnqOXst!Z#c%j&m&o&p&r,h,m1w1zQ&t!^Q'q!wS(m#t:kQ+c%vQ,Q&YQ,R&[Q-_'_Q-l'jS.g(r;[S0`+O;eQ0n+dQ1Z,PQ2O,oQ2Q,pQ2Y,{Q2g-`Q2j-dS4l0a;oQ4q0oS4t0q;pQ6T2[Q6X2hQ6^2oQ7e4rQ8b6VQ8c6YQ8f6_R9h8_$d$_c#X#d%o%q'|(S(n(u(})O)P)Q)R)S)T)U)V)W)X)Z)^)b)l+Z+o-O-m-r-w-y.h.n.r.u.v/V0_2W2Z2k2r3Y3_3`3a3b3c3d3e3f3g3h3i3j3k3n3o3t4k4s6U6[6a6o6p6y6z7r8a8e8n8t8u9k9{:S:e<PS(j#o'dU*o%R(q3mS+Y%n.tQ2|0hQ6f2{Q8l6iR9o8m$d$^c#X#d%o%q'|(S(n(u(})O)P)Q)R)S)T)U)V)W)X)Z)^)b)l+Z+o-O-m-r-w-y.h.n.r.u.v/V0_2W2Z2k2r3Y3_3`3a3b3c3d3e3f3g3h3i3j3k3n3o3t4k4s6U6[6a6o6p6y6z7r8a8e8n8t8u9k9{:S:e<PS(i#o'dS({#z$_S+X%n.tS.W(h(jQ.w)]Q0e+YR2y.X&|kOPWXYZstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$[$a$e$m%j%p%}&f&i&j&m&o&p&r&v'O'S']'m'}(P(V(^(r(v(z)n)y+O+S+^,e,h,m,y,|-^-f-t-z.[.l.s.{0[0a0q1_1o1p1r1t1w1z1|2]2m2s3P3Z3p5W5Y5d5t5u5x6S6]6j7w7|8]8g9W9i:c:f:g:j:k:l:m:n:o:p:q:r:s:t:u:v:w:{;Y;Z;[;^;e;f;o;p<]S#p]:dQ&o!XQ&p!YQ&r![Q&s!]R1v,kQ'[!hQ+[%sQ-]'^S.Y(k+_Q2e-[W2}.].^0g0iQ6W2fU6e2z2|3QS8i6f6hS9m8k8lS:U9l9oQ:^:VR:a:_U!vQ'Z-YT5Z1[5]!Q_OXZ`st!V!Z#c#g%b%j&d&f&m&o&p&r(d,h,m.P1w1z]!pQ!r'Z-Y1[5]T#p]:d%Y{OPWXYZstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$a$e%j%p%}&f&i&j&m&o&p&r&v'O']'m'}(P(V(^(r(v(z)y+O+S+^,e,h,m-^-f-t-z.[.l.s0[0a0q1_1o1p1r1t1w1z1|2m2s3P3Z5Y5d5t5u5x6]6j7w7|8]8gS(y#y#zS.V(g(h!s;v$[$m'S)n,y,|.{2]3p5W6S9W9i:c:f:g:j:k:l:m:n:o:p:q:r:s:t:u:v:w:{;Y;Z;[;^;e;f;o;p<]Y!tQ'Z-Y1[5]Q'f!rS'p!u!xS'r!y5_S-i'g'hQ-k'iR2p-jQ'o!tS(`#f1qS-h'f'rQ/f*VQ/r*bQ2q-kQ4O/gS4X/s/}Q7P3yS7[4_4aQ8y7QR9Q7_Q#vbQ'n!tS(_#f1qS(a#l*}Q+P%cQ+a%tQ+g%zU-g'f'o'rQ-{(`Q/e*VQ/q*bQ/w*eQ0m+bQ1b,US2n-h-kQ2v.TS3}/f/gS4W/r/}Q4Z/vQ4]/xQ5g1cQ6`2qQ7O3yQ7S4OS7W4X4aQ7]4`Q8O5hS8x7P7QQ8|7XQ9O7[Q9_8PQ9u8yQ9v8}Q9x9QQ:Q9`Q:Y9wQ;y;tQ<U;}R<V<OV!vQ'Z-Y%YaOPWXYZstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$a$e%j%p%}&f&i&j&m&o&p&r&v'O']'m'}(P(V(^(r(v(z)y+O+S+^,e,h,m-^-f-t-z.[.l.s0[0a0q1_1o1p1r1t1w1z1|2m2s3P3Z5Y5d5t5u5x6]6j7w7|8]8gS#vz!j!r;s$[$m'S)n,y,|.{2]3p5W6S9W9i:c:f:g:j:k:l:m:n:o:p:q:r:s:t:u:v:w:{;Y;Z;[;^;e;f;o;p<]R;y<[%YbOPWXYZstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$a$e%j%p%}&f&i&j&m&o&p&r&v'O']'m'}(P(V(^(r(v(z)y+O+S+^,e,h,m-^-f-t-z.[.l.s0[0a0q1_1o1p1r1t1w1z1|2m2s3P3Z5Y5d5t5u5x6]6j7w7|8]8gQ%cj!S%ty!i!t%w%x%y'Q'`'a'b'f'p*b+e+f,}-a-b-i/t0p2b2i2p4^S%zz!jQ+b%uQ,U&_W1c,V,W,X,YU5h1d1e1fS8P5i5jQ9`8Q!r;t$[$m'S)n,y,|.{2]3p5W6S9W9i:c:f:g:j:k:l:m:n:o:p:q:r:s:t:u:v:w:{;Y;Z;[;^;e;f;o;p<]Q;}<ZR<O<[$|eOPXYstuvw!Z!`!g!o#R#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$a$e%j%p%}&f&i&m&o&p&r&v'O']'m(P(V(^(r(v(z)y+O+S+^,e,h,m-^-f-t-z.[.l.s0[0a0q1_1o1p1r1t1w1z1|2m2s3P3Z5Y5d5t5u5x6]6j7w7|8]8gY#aWZ#V#Y'}!S%gm#g#h#k%b%e(W(b(c(d+Q+R+T,d,z-x.O.P.Q.S2P2w2x6R6dQ,c&j!p;u$[$m)n,y,|.{2]3p5W6S9W9i:c:f:g:j:k:l:m:n:o:p:q:r:s:t:u:v:w:{;Y;Z;[;^;e;f;o;p<]R;x'SS'W!e%fR2`-T%OdOPWXYZstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$a$e%j%p%}&f&i&m&o&p&r&v'O']'m'}(P(V(^(r(v(z)y+O+S,e,h,m-^-f-t-z.l.s0[0a0q1_1o1p1r1t1w1z1|2m2s3Z5Y5d5t5u5x6]7w7|8]8g!r)[$[$m'S)n,y,|.{2]3p5W6S9W9i:c:f:g:j:k:l:m:n:o:p:q:r:s:t:u:v:w:{;Y;Z;[;^;e;f;o;p<]Q,b&jQ0h+^Q2{.[Q6i3PR8m6j!b$Uc#X%n'|(S(n(u)W)X)^)b+o-m-r-w-y.h.n/V0_2k2r3Y3k4k4s6[6a6o8e9k:e!P:r)Z)l-O.t2W2Z3_3i3j3n3t6U6p6y6z7r8a8n8t8u9{:S<P!f$Wc#X%n'|(S(n(u)T)U)W)X)^)b+o-m-r-w-y.h.n/V0_2k2r3Y3k4k4s6[6a6o8e9k:e!T:t)Z)l-O.t2W2Z3_3f3g3i3j3n3t6U6p6y6z7r8a8n8t8u9{:S<P!^$[c#X%n'|(S(n(u)^)b+o-m-r-w-y.h.n/V0_2k2r3Y3k4k4s6[6a6o8e9k:eQ3x/az<])Z)l-O.t2W2Z3_3n3t6U6p6y6z7r8a8n8t8u9{:S<PQ<b<dR<c<e&|kOPWXYZstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$[$a$e$m%j%p%}&f&i&j&m&o&p&r&v'O'S']'m'}(P(V(^(r(v(z)n)y+O+S+^,e,h,m,y,|-^-f-t-z.[.l.s.{0[0a0q1_1o1p1r1t1w1z1|2]2m2s3P3Z3p5W5Y5d5t5u5x6S6]6j7w7|8]8g9W9i:c:f:g:j:k:l:m:n:o:p:q:r:s:t:u:v:w:{;Y;Z;[;^;e;f;o;p<]S$nh$oR3q.z'TgOPWXYZhstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$[$a$e$m$o%j%p%}&f&i&j&m&o&p&r&v'O'S']'m'}(P(V(^(r(v(z)n)y+O+S+^,e,h,m,y,|-^-f-t-z.[.l.s.z.{0[0a0q1_1o1p1r1t1w1z1|2]2m2s3P3Z3p5W5Y5d5t5u5x6S6]6j7w7|8]8g9W9i:c:f:g:j:k:l:m:n:o:p:q:r:s:t:u:v:w:{;Y;Z;[;^;e;f;o;p<]T$jf$pQ$hfS)e$k)iR)q$pT$if$pT)g$k)i'ThOPWXYZhstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$[$a$e$m$o%j%p%}&f&i&j&m&o&p&r&v'O'S']'m'}(P(V(^(r(v(z)n)y+O+S+^,e,h,m,y,|-^-f-t-z.[.l.s.z.{0[0a0q1_1o1p1r1t1w1z1|2]2m2s3P3Z3p5W5Y5d5t5u5x6S6]6j7w7|8]8g9W9i:c:f:g:j:k:l:m:n:o:p:q:r:s:t:u:v:w:{;Y;Z;[;^;e;f;o;p<]T$nh$oQ$qhR)p$o%YjOPWXYZstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$a$e%j%p%}&f&i&j&m&o&p&r&v'O']'m'}(P(V(^(r(v(z)y+O+S+^,e,h,m-^-f-t-z.[.l.s0[0a0q1_1o1p1r1t1w1z1|2m2s3P3Z5Y5d5t5u5x6]6j7w7|8]8g!s<Z$[$m'S)n,y,|.{2]3p5W6S9W9i:c:f:g:j:k:l:m:n:o:p:q:r:s:t:u:v:w:{;Y;Z;[;^;e;f;o;p<]#clOPXZst!Z!`!o#R#c#n#{$m%j&f&i&j&m&o&p&r&v'O'](z)n+S+^,e,h,m-^.[.{0[1_1o1p1r1t1w1z1|3P3p5Y5d5t5u5x6j7w7|8]!O%Ri#w%O%Q%[%]%a)}*P*Y*p*q.i/j0Q0S0^3x4f8w<Y<b<c#W(q#u$c$d$x${)u){*R*`+]+`+w+z.Z/Z/k/m1R1U1^3O4S4[4n4p5c6g7T7^7y8j9[9n:O:W:|;O;S;U;W;_;a;c;g;i;k;m;q<f<gQ*z%_Q/W)zo3m:y:z:};P;T;V;X;`;b;d;h;j;l;n;r!O$yi#w%O%Q%[%]%a)}*P*Y*p*q.i/j0Q0S0^3x4f8w<Y<b<cQ*[$zS*e$|*hQ*{%`Q/x*f#W;{#u$c$d$x${)u){*R*`+]+`+w+z.Z/Z/k/m1R1U1^3O4S4[4n4p5c6g7T7^7y8j9[9n:O:W:|;O;S;U;W;_;a;c;g;i;k;m;q<f<gn;|:y:z:};P;T;V;X;`;b;d;h;j;l;n;rQ<Q<^Q<R<_Q<S<`R<T<a!O%Ri#w%O%Q%[%]%a)}*P*Y*p*q.i/j0Q0S0^3x4f8w<Y<b<c#W(q#u$c$d$x${)u){*R*`+]+`+w+z.Z/Z/k/m1R1U1^3O4S4[4n4p5c6g7T7^7y8j9[9n:O:W:|;O;S;U;W;_;a;c;g;i;k;m;q<f<go3m:y:z:};P;T;V;X;`;b;d;h;j;l;n;rnoOXst!Z#c%j&m&o&p&r,h,m1w1zQ*_${Q,v&yQ,w&{R4R/k$v%Si#u#w$c$d$x${%O%Q%[%]%a)u){)}*P*R*Y*`*p*q+]+`+w+z.Z.i/Z/j/k/m0Q0S0^1R1U1^3O3x4S4[4f4n4p5c6g7T7^7y8j8w9[9n:O:W:y:z:|:};O;P;S;T;U;V;W;X;_;`;a;b;c;d;g;h;i;j;k;l;m;n;q;r<Y<b<c<f<gQ+y&WQ1T+{Q5S1SR7o5TT*g$|*hS*g$|*hT5[1[5]S/v*d5YT4`0O7wQ+a%tQ/w*eQ0m+bQ1b,UQ5g1cQ8O5hQ9_8PR:Q9`!O%Oi#w%O%Q%[%]%a)}*P*Y*p*q.i/j0Q0S0^3x4f8w<Y<b<cr)}$v(s*O*n*|/i0U0V3W4P4j6}7`9t;z<W<XS0Q*m0R#W:|#u$c$d$x${)u){*R*`+]+`+w+z.Z/Z/k/m1R1U1^3O4S4[4n4p5c6g7T7^7y8j9[9n:O:W:|;O;S;U;W;_;a;c;g;i;k;m;q<f<gn:}:y:z:};P;T;V;X;`;b;d;h;j;l;n;r!^;_(o)`*U*^._.b.f/S/X/a/n0f1Q1S3T4Q4U5R5T6k6n7U7Y7b7d8{9P:X<d<e`;`3l6q6t6x8o9p9s:bS;i.a3UT;j6s8r!O%Qi#w%O%Q%[%]%a)}*P*Y*p*q.i/j0Q0S0^3x4f8w<Y<b<cv*P$v(s*Q*m*|/]/i0U0V3W4P4b4j6}7`9t;z<W<XS0S*n0T#W;O#u$c$d$x${)u){*R*`+]+`+w+z.Z/Z/k/m1R1U1^3O4S4[4n4p5c6g7T7^7y8j9[9n:O:W:|;O;S;U;W;_;a;c;g;i;k;m;q<f<gn;P:y:z:};P;T;V;X;`;b;d;h;j;l;n;r!b;a(o)`*U*^.`.a.f/S/X/a/n0f1Q1S3R3T4Q4U5R5T6k6l6n7U7Y7b7d8{9P:X<d<ed;b3l6r6s6x8o8p9p9q9s:bS;k.b3VT;l6t8srnOXst!V!Z#c%j&d&m&o&p&r,h,m1w1zQ&a!UR,e&jrnOXst!V!Z#c%j&d&m&o&p&r,h,m1w1zR&a!UQ+}&XR1P+vsnOXst!V!Z#c%j&d&m&o&p&r,h,m1w1zQ1],SS5b1`1aU7x5`5a5eS9Z7z7{S9|9Y9]Q:Z9}R:`:[Q&h!VR,^&dR5n1iS%||&RR0x+mQ&m!WR,h&nR,n&sT1x,m1zR,r&tQ,q&tR2R,rQ't!zR-n'tSsOtQ#cXT%ms#cQ!}TR'v!}Q#QUR'x#QQ)w$uR/T)wQ#TVR'z#TQ#WWU(Q#W(R-uQ(R#XR-u(SQ-R'TR2_-RQ.j(sR3X.jQ.m(uS3[.m3]R3].nQ-Y'ZR2c-YY!rQ'Z-Y1[5]R'e!rS#^W%eU(X#^(Y-vQ(Y#_R-v(TQ-U'WR2a-Ut`OXst!V!Z#c%j&d&f&m&o&p&r,h,m1w1zS#gZ%bU#q`#g.PR.P(dQ(e#iQ-|(aW.U(e-|2t6bQ2t-}R6b2uQ)i$kR.|)iQ$ohR)o$oQ$bcU)_$b-q:xQ-q:eR:x)lQ/d*VW3{/d3|7R8zU3|/e/f/gS7R3}4OR8z7S$X)|$v(o(s)`*U*^*m*n*w*x*|.a.b.d.e.f/S/X/]/_/a/i/n0U0V0f1Q1S3R3S3T3W3l4P4Q4U4b4d4j5R5T6k6l6m6n6s6t6v6w6x6}7U7Y7`7b7d8o8p8q8{9P9p9q9r9s9t:X:b;z<W<X<d<eQ/l*^U4T/l4V7VQ4V/nR7V4UQ*h$|R/z*hr*O$v(s*m*n*|/i0U0V3W4P4j6}7`9t;z<W<X!^._(o)`*U*^.a.b.f/S/X/a/n0f1Q1S3T4Q4U5R5T6k6n7U7Y7b7d8{9P:X<d<eU/^*O._6qa6q3l6s6t6x8o9p9s:bQ0R*mQ3U.aU4c0R3U8rR8r6sv*Q$v(s*m*n*|/]/i0U0V3W4P4b4j6}7`9t;z<W<X!b.`(o)`*U*^.a.b.f/S/X/a/n0f1Q1S3R3T4Q4U5R5T6k6l6n7U7Y7b7d8{9P:X<d<eU/`*Q.`6re6r3l6s6t6x8o8p9p9q9s:bQ0T*nQ3V.bU4e0T3V8sR8s6tQ*s%UR0X*sQ4o0fR7c4oQ+U%hR0d+UQ5V1VS7q5V9XR9X7rQ,P&YR1Y,PQ5]1[R7u5]Q1h,ZS5l1h8SR8S5nQ0s+iW4x0s4z7i9TQ4z0vQ7i4yR9T7jQ+n%|R0y+nQ1z,mR5|1zYrOXst#cQ&q!ZQ+W%jQ,g&mQ,i&oQ,j&pQ,l&rQ1u,hS1x,m1zR5{1wQ%lpQ&u!_Q&x!aQ&z!bQ&|!cQ'l!tQ+V%iQ+c%vQ+u&SQ,]&hQ,t&wW-e'f'n'o'rQ-l'jQ/y*gQ0n+dS1k,^,aQ2S,sQ2T,vQ2U,wQ2j-dW2l-g-h-k-mQ4q0oQ4}0|Q5Q1QQ5f1bQ5p1mQ5z1vU6Z2k2n2qQ6^2oQ7e4rQ7m5PQ7n5RQ7t5[Q7}5gQ8T5oS8d6[6`Q8f6_Q9U7kQ9^8OQ9c8UQ9j8eQ9z9VQ:P9_Q:T9kR:]:QQ%vyQ'_!iQ'j!tU+d%w%x%yQ,{'QU-`'`'a'bS-d'f'pQ/p*bS0o+e+fQ2[,}S2h-a-bQ2o-iQ4Y/tQ4r0pQ6V2bQ6Y2iQ6_2pR7Z4^S$wi<YR*t%VU%Ui%V<YR0W*rQ$viS(o#u+`Q(s#wS)`$c$dQ*U$xQ*^${Q*m%OQ*n%QQ*w%[Q*x%]Q*|%aQ.a:|Q.b;OQ.d;SQ.e;UQ.f;WQ/S)uS/X){/ZQ/])}Q/_*PQ/a*RQ/i*YQ/n*`Q0U*pQ0V*qh0f+].Z1^3O5c6g7y8j9[9n:O:WQ1Q+wQ1S+zQ3R;_Q3S;aQ3T;cQ3W.iS3l:y:zQ4P/jQ4Q/kQ4U/mQ4b0QQ4d0SQ4j0^Q5R1RQ5T1UQ6k;gQ6l;iQ6m;kQ6n;mQ6s:}Q6t;PQ6v;TQ6w;VQ6x;XQ6}3xQ7U4SQ7Y4[Q7`4fQ7b4nQ7d4pQ8o;dQ8p;`Q8q;bQ8{7TQ9P7^Q9p;hQ9q;jQ9r;lQ9s;nQ9t8wQ:X;qQ:b;rQ;z<YQ<W<bQ<X<cQ<d<fR<e<gnpOXst!Z#c%j&m&o&p&r,h,m1w1zQ!fPS#eZ#nQ&w!`U'c!o5Y7wQ'y#RQ(|#{Q)m$mS,a&f&iQ,f&jQ,s&vQ,x'OQ-[']Q.p(zQ/Q)nQ0b+SQ0i+^Q1s,eQ2f-^Q2|.[Q3s.{Q4h0[Q5a1_Q5r1oQ5s1pQ5w1rQ5y1tQ6O1|Q6f3PQ6{3pQ7{5dQ8X5tQ8Y5uQ8[5xQ8l6jQ9]7|R9g8]#WcOPXZst!Z!`!o#c#n#{%j&f&i&j&m&o&p&r&v'O'](z+S+^,e,h,m-^.[0[1_1o1p1r1t1w1z1|3P5Y5d5t5u5x6j7w7|8]Q#XWQ#dYQ%nuQ%ovS%qw!gS'|#V(PQ(S#YQ(n#tQ(u#xQ(}$OQ)O$PQ)P$QQ)Q$RQ)R$SQ)S$TQ)T$UQ)U$VQ)V$WQ)W$XQ)X$YQ)Z$[Q)^$aQ)b$eW)l$m)n.{3pQ+Z%pQ+o%}S-O'S2]Q-m'mS-r'}-tQ-w(VQ-y(^Q.h(rQ.n(vQ.r:cQ.t:fQ.u:gQ.v:jQ/V)yQ0_+OQ2W,yQ2Z,|Q2k-fQ2r-zQ3Y.lQ3_:kQ3`:lQ3a:mQ3b:nQ3c:oQ3d:pQ3e:qQ3f:rQ3g:sQ3h:tQ3i:uQ3j:vQ3k.sQ3n:{Q3o;YQ3t:wQ4k0aQ4s0qQ6U;ZQ6[2mQ6a2sQ6o3ZQ6p;[Q6y;^Q6z;eQ7r5WQ8a6SQ8e6]Q8n;fQ8t;oQ8u;pQ9k8gQ9{9WQ:S9iQ:e#RR<P<]R#ZWR'U!eY!tQ'Z-Y1[5]S'Q!e-QQ'f!rS'p!u!xS'r!y5_S,}'R'YS-i'g'hQ-k'iQ2b-WR2p-jR(t#wR(w#xQ!fQT-X'Z-Y]!qQ!r'Z-Y1[5]Q#o]R'd:dT#jZ%bS#iZ%bS%hm,dU(a#g#h#kS-}(b(cQ.R(dQ0c+TQ2u.OU2v.P.Q.SS6c2w2xR8h6d`#]W#V#Y%e'}(W+Q-xr#fZm#g#h#k%b(b(c(d+T.O.P.Q.S2w2x6dQ1q,dQ2X,zQ6Q2PQ8`6RT;w'S+RT#`W%eS#_W%eS(O#V(WS(T#Y+QS-P'S+RT-s'}-xT'X!e%fQ$kfR)s$pT)h$k)iR3r.zT*X$x*ZR*a${Q0g+]Q2z.ZQ5`1^Q6h3OQ7z5cQ8k6gQ9Y7yQ9l8jQ9}9[Q:V9nQ:[:OR:_:WnqOXst!Z#c%j&m&o&p&r,h,m1w1zQ&g!VR,]&dtmOXst!U!V!Z#c%j&d&m&o&p&r,h,m1w1zR,d&jT%im,dR1W+|R,[&bQ&Q|R+t&RR+j%{T&k!W&nT&l!W&nT1y,m1z",
  nodeNames: "⚠ ArithOp ArithOp JSXStartTag LineComment BlockComment Script Hashbang ExportDeclaration export Star as VariableName String Escape from ; default FunctionDeclaration async function VariableDefinition > < TypeParamList TypeDefinition extends ThisType this LiteralType ArithOp Number BooleanLiteral TemplateType InterpolationEnd Interpolation InterpolationStart NullType null VoidType void TypeofType typeof MemberExpression . ?. PropertyName [ TemplateString Escape Interpolation super RegExp ] ArrayExpression Spread , } { ObjectExpression Property async get set PropertyDefinition Block : NewExpression new TypeArgList CompareOp < ) ( ArgList UnaryExpression delete LogicOp BitOp YieldExpression yield AwaitExpression await ParenthesizedExpression ClassExpression class ClassBody MethodDeclaration Decorator @ MemberExpression PrivatePropertyName CallExpression declare Privacy static abstract override PrivatePropertyDefinition PropertyDeclaration readonly accessor Optional TypeAnnotation Equals StaticBlock FunctionExpression ArrowFunction ParamList ParamList ArrayPattern ObjectPattern PatternProperty Privacy readonly Arrow MemberExpression BinaryExpression ArithOp ArithOp ArithOp ArithOp BitOp CompareOp instanceof satisfies in const CompareOp BitOp BitOp BitOp LogicOp LogicOp ConditionalExpression LogicOp LogicOp AssignmentExpression UpdateOp PostfixExpression CallExpression TaggedTemplateExpression DynamicImport import ImportMeta JSXElement JSXSelfCloseEndTag JSXSelfClosingTag JSXIdentifier JSXBuiltin JSXIdentifier JSXNamespacedName JSXMemberExpression JSXSpreadAttribute JSXAttribute JSXAttributeValue JSXEscape JSXEndTag JSXOpenTag JSXFragmentTag JSXText JSXEscape JSXStartCloseTag JSXCloseTag PrefixCast ArrowFunction TypeParamList SequenceExpression KeyofType keyof UniqueType unique ImportType InferredType infer TypeName ParenthesizedType FunctionSignature ParamList NewSignature IndexedType TupleType Label ArrayType ReadonlyType ObjectType MethodType PropertyType IndexSignature PropertyDefinition CallSignature TypePredicate is NewSignature new UnionType LogicOp IntersectionType LogicOp ConditionalType ParameterizedType ClassDeclaration abstract implements type VariableDeclaration let var using TypeAliasDeclaration InterfaceDeclaration interface EnumDeclaration enum EnumBody NamespaceDeclaration namespace module AmbientDeclaration declare GlobalDeclaration global ClassDeclaration ClassBody AmbientFunctionDeclaration ExportGroup VariableName VariableName ImportDeclaration ImportGroup ForStatement for ForSpec ForInSpec ForOfSpec of WhileStatement while WithStatement with DoStatement do IfStatement if else SwitchStatement switch SwitchBody CaseLabel case DefaultLabel TryStatement try CatchClause catch FinallyClause finally ReturnStatement return ThrowStatement throw BreakStatement break ContinueStatement continue DebuggerStatement debugger LabeledStatement ExpressionStatement SingleExpression SingleClassItem",
  maxTerm: 371,
  context: trackNewline,
  nodeProps: [["isolate", -8, 4, 5, 13, 33, 35, 48, 50, 52, ""], ["group", -26, 8, 16, 18, 65, 201, 205, 209, 210, 212, 215, 218, 228, 230, 236, 238, 240, 242, 245, 251, 257, 259, 261, 263, 265, 267, 268, "Statement", -32, 12, 13, 28, 31, 32, 38, 48, 51, 52, 54, 59, 67, 75, 79, 81, 83, 84, 106, 107, 116, 117, 134, 137, 139, 140, 141, 142, 144, 145, 164, 165, 167, "Expression", -23, 27, 29, 33, 37, 39, 41, 168, 170, 172, 173, 175, 176, 177, 179, 180, 181, 183, 184, 185, 195, 197, 199, 200, "Type", -3, 87, 99, 105, "ClassItem"], ["openedBy", 22, "<", 34, "InterpolationStart", 53, "[", 57, "{", 72, "(", 157, "JSXStartCloseTag"], ["closedBy", 23, ">", 36, "InterpolationEnd", 47, "]", 58, "}", 73, ")", 162, "JSXEndTag"]],
  propSources: [jsHighlight],
  skippedNodes: [0, 4, 5, 271],
  repeatNodeCount: 37,
  tokenData: "$Fj(CSR!bOX%ZXY+gYZ-yZ[+g[]%Z]^.c^p%Zpq+gqr/mrs3cst:_tuEruvJSvwLkwx! Yxy!'iyz!(sz{!)}{|!,q|}!.O}!O!,q!O!P!/Y!P!Q!9j!Q!R#8g!R![#:v![!]#Gv!]!^#IS!^!_#J^!_!`#Ns!`!a$#_!a!b$(l!b!c$,k!c!}Er!}#O$-u#O#P$/P#P#Q$4h#Q#R$5r#R#SEr#S#T$7P#T#o$8Z#o#p$<k#p#q$=a#q#r$>q#r#s$?}#s$f%Z$f$g+g$g#BYEr#BY#BZ$AX#BZ$ISEr$IS$I_$AX$I_$I|Er$I|$I}$Dd$I}$JO$Dd$JO$JTEr$JT$JU$AX$JU$KVEr$KV$KW$AX$KW&FUEr&FU&FV$AX&FV;'SEr;'S;=`I|<%l?HTEr?HT?HU$AX?HUOEr(n%d_$f&j(Op(R!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z&j&hT$f&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c&j&zP;=`<%l&c'|'U]$f&j(R!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!b(SU(R!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}!b(iP;=`<%l'}'|(oP;=`<%l&}'[(y]$f&j(OpOY(rYZ&cZr(rrs&cs!^(r!^!_)r!_#O(r#O#P&c#P#o(r#o#p)r#p;'S(r;'S;=`*a<%lO(rp)wU(OpOY)rZr)rs#O)r#P;'S)r;'S;=`*Z<%lO)rp*^P;=`<%l)r'[*dP;=`<%l(r#S*nX(Op(R!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g#S+^P;=`<%l*g(n+dP;=`<%l%Z(CS+rq$f&j(Op(R!b't(;dOX%ZXY+gYZ&cZ[+g[p%Zpq+gqr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p$f%Z$f$g+g$g#BY%Z#BY#BZ+g#BZ$IS%Z$IS$I_+g$I_$JT%Z$JT$JU+g$JU$KV%Z$KV$KW+g$KW&FU%Z&FU&FV+g&FV;'S%Z;'S;=`+a<%l?HT%Z?HT?HU+g?HUO%Z(CS.ST(P#S$f&j'u(;dO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c(CS.n_$f&j(Op(R!b'u(;dOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#`/x`$f&j!o$Ip(Op(R!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`0z!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#S1V`#t$Id$f&j(Op(R!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`2X!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#S2d_#t$Id$f&j(Op(R!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/|3l_'}$(n$f&j(R!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k(^4r_$f&j(R!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k&z5vX$f&jOr5qrs6cs!^5q!^!_6y!_#o5q#o#p6y#p;'S5q;'S;=`7h<%lO5q&z6jT$a`$f&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c`6|TOr6yrs7]s;'S6y;'S;=`7b<%lO6y`7bO$a``7eP;=`<%l6y&z7kP;=`<%l5q(^7w]$a`$f&j(R!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!r8uZ(R!bOY8pYZ6yZr8prs9hsw8pwx6yx#O8p#O#P6y#P;'S8p;'S;=`:R<%lO8p!r9oU$a`(R!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}!r:UP;=`<%l8p(^:[P;=`<%l4k#%|:hh$f&j(Op(R!bOY%ZYZ&cZq%Zqr<Srs&}st%ZtuCruw%Zwx(rx!^%Z!^!_*g!_!c%Z!c!}Cr!}#O%Z#O#P&c#P#R%Z#R#SCr#S#T%Z#T#oCr#o#p*g#p$g%Z$g;'SCr;'S;=`El<%lOCr(r<__VS$f&j(Op(R!bOY<SYZ&cZr<Srs=^sw<Swx@nx!^<S!^!_Bm!_#O<S#O#P>`#P#o<S#o#pBm#p;'S<S;'S;=`Cl<%lO<S(Q=g]VS$f&j(R!bOY=^YZ&cZw=^wx>`x!^=^!^!_?q!_#O=^#O#P>`#P#o=^#o#p?q#p;'S=^;'S;=`@h<%lO=^&n>gXVS$f&jOY>`YZ&cZ!^>`!^!_?S!_#o>`#o#p?S#p;'S>`;'S;=`?k<%lO>`S?XSVSOY?SZ;'S?S;'S;=`?e<%lO?SS?hP;=`<%l?S&n?nP;=`<%l>`!f?xWVS(R!bOY?qZw?qwx?Sx#O?q#O#P?S#P;'S?q;'S;=`@b<%lO?q!f@eP;=`<%l?q(Q@kP;=`<%l=^'`@w]VS$f&j(OpOY@nYZ&cZr@nrs>`s!^@n!^!_Ap!_#O@n#O#P>`#P#o@n#o#pAp#p;'S@n;'S;=`Bg<%lO@ntAwWVS(OpOYApZrAprs?Ss#OAp#O#P?S#P;'SAp;'S;=`Ba<%lOAptBdP;=`<%lAp'`BjP;=`<%l@n#WBvYVS(Op(R!bOYBmZrBmrs?qswBmwxApx#OBm#O#P?S#P;'SBm;'S;=`Cf<%lOBm#WCiP;=`<%lBm(rCoP;=`<%l<S#%|C}i$f&j(g!L^(Op(R!bOY%ZYZ&cZr%Zrs&}st%ZtuCruw%Zwx(rx!Q%Z!Q![Cr![!^%Z!^!_*g!_!c%Z!c!}Cr!}#O%Z#O#P&c#P#R%Z#R#SCr#S#T%Z#T#oCr#o#p*g#p$g%Z$g;'SCr;'S;=`El<%lOCr#%|EoP;=`<%lCr(CSFRk$f&j(Op(R!b$Y#t'{&;d([!LYOY%ZYZ&cZr%Zrs&}st%ZtuEruw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Er![!^%Z!^!_*g!_!c%Z!c!}Er!}#O%Z#O#P&c#P#R%Z#R#SEr#S#T%Z#T#oEr#o#p*g#p$g%Z$g;'SEr;'S;=`I|<%lOEr+dHRk$f&j(Op(R!b$Y#tOY%ZYZ&cZr%Zrs&}st%ZtuGvuw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Gv![!^%Z!^!_*g!_!c%Z!c!}Gv!}#O%Z#O#P&c#P#R%Z#R#SGv#S#T%Z#T#oGv#o#p*g#p$g%Z$g;'SGv;'S;=`Iv<%lOGv+dIyP;=`<%lGv(CSJPP;=`<%lEr%#SJ_`$f&j(Op(R!b#l$IdOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#SKl_$f&j$O$Id(Op(R!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z&COLva(p&;`$f&j(Op(R!bOY%ZYZ&cZr%Zrs&}sv%ZvwM{wx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#SNW`$f&j#x$Id(Op(R!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/|! c_(Q$)`$f&j(OpOY!!bYZ!#hZr!!brs!#hsw!!bwx!$xx!^!!b!^!_!%z!_#O!!b#O#P!#h#P#o!!b#o#p!%z#p;'S!!b;'S;=`!'c<%lO!!b'l!!i_$f&j(OpOY!!bYZ!#hZr!!brs!#hsw!!bwx!$xx!^!!b!^!_!%z!_#O!!b#O#P!#h#P#o!!b#o#p!%z#p;'S!!b;'S;=`!'c<%lO!!b&z!#mX$f&jOw!#hwx6cx!^!#h!^!_!$Y!_#o!#h#o#p!$Y#p;'S!#h;'S;=`!$r<%lO!#h`!$]TOw!$Ywx7]x;'S!$Y;'S;=`!$l<%lO!$Y`!$oP;=`<%l!$Y&z!$uP;=`<%l!#h'l!%R]$a`$f&j(OpOY(rYZ&cZr(rrs&cs!^(r!^!_)r!_#O(r#O#P&c#P#o(r#o#p)r#p;'S(r;'S;=`*a<%lO(r!Q!&PZ(OpOY!%zYZ!$YZr!%zrs!$Ysw!%zwx!&rx#O!%z#O#P!$Y#P;'S!%z;'S;=`!']<%lO!%z!Q!&yU$a`(OpOY)rZr)rs#O)r#P;'S)r;'S;=`*Z<%lO)r!Q!'`P;=`<%l!%z'l!'fP;=`<%l!!b(*Q!'t_!k(!b$f&j(Op(R!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z!'l!)O_!jM|$f&j(Op(R!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'+h!*[b$f&j(Op(R!b'|#)d#m$IdOY%ZYZ&cZr%Zrs&}sw%Zwx(rxz%Zz{!+d{!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#S!+o`$f&j(Op(R!b#j$IdOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z&-O!,|`$f&j(Op(R!bn&%`OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z&C[!.Z_!Y&;l$f&j(Op(R!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(CS!/ec$f&j(Op(R!b|'<nOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P!0p!P!Q%Z!Q![!3Y![!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z!'d!0ya$f&j(Op(R!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P!2O!P!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z!'d!2Z_!XMt$f&j(Op(R!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l!3eg$f&j(Op(R!bo$'|OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![!3Y![!^%Z!^!_*g!_!g%Z!g!h!4|!h#O%Z#O#P&c#P#R%Z#R#S!3Y#S#X%Z#X#Y!4|#Y#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l!5Vg$f&j(Op(R!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx{%Z{|!6n|}%Z}!O!6n!O!Q%Z!Q![!8S![!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S!8S#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l!6wc$f&j(Op(R!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![!8S![!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S!8S#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l!8_c$f&j(Op(R!bo$'|OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![!8S![!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S!8S#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(CS!9uf$f&j(Op(R!b#k$IdOY!;ZYZ&cZr!;Zrs!<nsw!;Zwx!Kpxz!;Zz{#,f{!P!;Z!P!Q#-{!Q!^!;Z!^!_#'Z!_!`#5k!`!a#7Q!a!}!;Z!}#O#*}#O#P!Dj#P#o!;Z#o#p#'Z#p;'S!;Z;'S;=`#,`<%lO!;Z(r!;fb$f&j(Op(R!b!USOY!;ZYZ&cZr!;Zrs!<nsw!;Zwx!Kpx!P!;Z!P!Q#%Z!Q!^!;Z!^!_#'Z!_!}!;Z!}#O#*}#O#P!Dj#P#o!;Z#o#p#'Z#p;'S!;Z;'S;=`#,`<%lO!;Z(Q!<w`$f&j(R!b!USOY!<nYZ&cZw!<nwx!=yx!P!<n!P!Q!Eb!Q!^!<n!^!_!GY!_!}!<n!}#O!Ja#O#P!Dj#P#o!<n#o#p!GY#p;'S!<n;'S;=`!Kj<%lO!<n&n!>Q^$f&j!USOY!=yYZ&cZ!P!=y!P!Q!>|!Q!^!=y!^!_!@Y!_!}!=y!}#O!Bw#O#P!Dj#P#o!=y#o#p!@Y#p;'S!=y;'S;=`!E[<%lO!=y&n!?Ta$f&j!USO!^&c!_#Z&c#Z#[!>|#[#]&c#]#^!>|#^#a&c#a#b!>|#b#g&c#g#h!>|#h#i&c#i#j!>|#j#m&c#m#n!>|#n#o&c#p;'S&c;'S;=`&w<%lO&cS!@_X!USOY!@YZ!P!@Y!P!Q!@z!Q!}!@Y!}#O!Ac#O#P!Bb#P;'S!@Y;'S;=`!Bq<%lO!@YS!APU!US#Z#[!@z#]#^!@z#a#b!@z#g#h!@z#i#j!@z#m#n!@zS!AfVOY!AcZ#O!Ac#O#P!A{#P#Q!@Y#Q;'S!Ac;'S;=`!B[<%lO!AcS!BOSOY!AcZ;'S!Ac;'S;=`!B[<%lO!AcS!B_P;=`<%l!AcS!BeSOY!@YZ;'S!@Y;'S;=`!Bq<%lO!@YS!BtP;=`<%l!@Y&n!B|[$f&jOY!BwYZ&cZ!^!Bw!^!_!Ac!_#O!Bw#O#P!Cr#P#Q!=y#Q#o!Bw#o#p!Ac#p;'S!Bw;'S;=`!Dd<%lO!Bw&n!CwX$f&jOY!BwYZ&cZ!^!Bw!^!_!Ac!_#o!Bw#o#p!Ac#p;'S!Bw;'S;=`!Dd<%lO!Bw&n!DgP;=`<%l!Bw&n!DoX$f&jOY!=yYZ&cZ!^!=y!^!_!@Y!_#o!=y#o#p!@Y#p;'S!=y;'S;=`!E[<%lO!=y&n!E_P;=`<%l!=y(Q!Eki$f&j(R!b!USOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#Z&}#Z#[!Eb#[#]&}#]#^!Eb#^#a&}#a#b!Eb#b#g&}#g#h!Eb#h#i&}#i#j!Eb#j#m&}#m#n!Eb#n#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!f!GaZ(R!b!USOY!GYZw!GYwx!@Yx!P!GY!P!Q!HS!Q!}!GY!}#O!Ic#O#P!Bb#P;'S!GY;'S;=`!JZ<%lO!GY!f!HZb(R!b!USOY'}Zw'}x#O'}#P#Z'}#Z#[!HS#[#]'}#]#^!HS#^#a'}#a#b!HS#b#g'}#g#h!HS#h#i'}#i#j!HS#j#m'}#m#n!HS#n;'S'};'S;=`(f<%lO'}!f!IhX(R!bOY!IcZw!Icwx!Acx#O!Ic#O#P!A{#P#Q!GY#Q;'S!Ic;'S;=`!JT<%lO!Ic!f!JWP;=`<%l!Ic!f!J^P;=`<%l!GY(Q!Jh^$f&j(R!bOY!JaYZ&cZw!Jawx!Bwx!^!Ja!^!_!Ic!_#O!Ja#O#P!Cr#P#Q!<n#Q#o!Ja#o#p!Ic#p;'S!Ja;'S;=`!Kd<%lO!Ja(Q!KgP;=`<%l!Ja(Q!KmP;=`<%l!<n'`!Ky`$f&j(Op!USOY!KpYZ&cZr!Kprs!=ys!P!Kp!P!Q!L{!Q!^!Kp!^!_!Ns!_!}!Kp!}#O##z#O#P!Dj#P#o!Kp#o#p!Ns#p;'S!Kp;'S;=`#%T<%lO!Kp'`!MUi$f&j(Op!USOY(rYZ&cZr(rrs&cs!^(r!^!_)r!_#O(r#O#P&c#P#Z(r#Z#[!L{#[#](r#]#^!L{#^#a(r#a#b!L{#b#g(r#g#h!L{#h#i(r#i#j!L{#j#m(r#m#n!L{#n#o(r#o#p)r#p;'S(r;'S;=`*a<%lO(rt!NzZ(Op!USOY!NsZr!Nsrs!@Ys!P!Ns!P!Q# m!Q!}!Ns!}#O#!|#O#P!Bb#P;'S!Ns;'S;=`##t<%lO!Nst# tb(Op!USOY)rZr)rs#O)r#P#Z)r#Z#[# m#[#])r#]#^# m#^#a)r#a#b# m#b#g)r#g#h# m#h#i)r#i#j# m#j#m)r#m#n# m#n;'S)r;'S;=`*Z<%lO)rt##RX(OpOY#!|Zr#!|rs!Acs#O#!|#O#P!A{#P#Q!Ns#Q;'S#!|;'S;=`##n<%lO#!|t##qP;=`<%l#!|t##wP;=`<%l!Ns'`#$R^$f&j(OpOY##zYZ&cZr##zrs!Bws!^##z!^!_#!|!_#O##z#O#P!Cr#P#Q!Kp#Q#o##z#o#p#!|#p;'S##z;'S;=`#$}<%lO##z'`#%QP;=`<%l##z'`#%WP;=`<%l!Kp(r#%fk$f&j(Op(R!b!USOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#Z%Z#Z#[#%Z#[#]%Z#]#^#%Z#^#a%Z#a#b#%Z#b#g%Z#g#h#%Z#h#i%Z#i#j#%Z#j#m%Z#m#n#%Z#n#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z#W#'d](Op(R!b!USOY#'ZZr#'Zrs!GYsw#'Zwx!Nsx!P#'Z!P!Q#(]!Q!}#'Z!}#O#)w#O#P!Bb#P;'S#'Z;'S;=`#*w<%lO#'Z#W#(fe(Op(R!b!USOY*gZr*grs'}sw*gwx)rx#O*g#P#Z*g#Z#[#(]#[#]*g#]#^#(]#^#a*g#a#b#(]#b#g*g#g#h#(]#h#i*g#i#j#(]#j#m*g#m#n#(]#n;'S*g;'S;=`+Z<%lO*g#W#*OZ(Op(R!bOY#)wZr#)wrs!Icsw#)wwx#!|x#O#)w#O#P!A{#P#Q#'Z#Q;'S#)w;'S;=`#*q<%lO#)w#W#*tP;=`<%l#)w#W#*zP;=`<%l#'Z(r#+W`$f&j(Op(R!bOY#*}YZ&cZr#*}rs!Jasw#*}wx##zx!^#*}!^!_#)w!_#O#*}#O#P!Cr#P#Q!;Z#Q#o#*}#o#p#)w#p;'S#*};'S;=`#,Y<%lO#*}(r#,]P;=`<%l#*}(r#,cP;=`<%l!;Z(CS#,sb$f&j(Op(R!b'v(;d!USOY!;ZYZ&cZr!;Zrs!<nsw!;Zwx!Kpx!P!;Z!P!Q#%Z!Q!^!;Z!^!_#'Z!_!}!;Z!}#O#*}#O#P!Dj#P#o!;Z#o#p#'Z#p;'S!;Z;'S;=`#,`<%lO!;Z(CS#.W_$f&j(Op(R!bS(;dOY#-{YZ&cZr#-{rs#/Vsw#-{wx#2gx!^#-{!^!_#4f!_#O#-{#O#P#0X#P#o#-{#o#p#4f#p;'S#-{;'S;=`#5e<%lO#-{(Bb#/`]$f&j(R!bS(;dOY#/VYZ&cZw#/Vwx#0Xx!^#/V!^!_#1j!_#O#/V#O#P#0X#P#o#/V#o#p#1j#p;'S#/V;'S;=`#2a<%lO#/V(AO#0`X$f&jS(;dOY#0XYZ&cZ!^#0X!^!_#0{!_#o#0X#o#p#0{#p;'S#0X;'S;=`#1d<%lO#0X(;d#1QSS(;dOY#0{Z;'S#0{;'S;=`#1^<%lO#0{(;d#1aP;=`<%l#0{(AO#1gP;=`<%l#0X(<v#1qW(R!bS(;dOY#1jZw#1jwx#0{x#O#1j#O#P#0{#P;'S#1j;'S;=`#2Z<%lO#1j(<v#2^P;=`<%l#1j(Bb#2dP;=`<%l#/V(Ap#2p]$f&j(OpS(;dOY#2gYZ&cZr#2grs#0Xs!^#2g!^!_#3i!_#O#2g#O#P#0X#P#o#2g#o#p#3i#p;'S#2g;'S;=`#4`<%lO#2g(<U#3pW(OpS(;dOY#3iZr#3irs#0{s#O#3i#O#P#0{#P;'S#3i;'S;=`#4Y<%lO#3i(<U#4]P;=`<%l#3i(Ap#4cP;=`<%l#2g(=h#4oY(Op(R!bS(;dOY#4fZr#4frs#1jsw#4fwx#3ix#O#4f#O#P#0{#P;'S#4f;'S;=`#5_<%lO#4f(=h#5bP;=`<%l#4f(CS#5hP;=`<%l#-{%#W#5xb$f&j$O$Id(Op(R!b!USOY!;ZYZ&cZr!;Zrs!<nsw!;Zwx!Kpx!P!;Z!P!Q#%Z!Q!^!;Z!^!_#'Z!_!}!;Z!}#O#*}#O#P!Dj#P#o!;Z#o#p#'Z#p;'S!;Z;'S;=`#,`<%lO!;Z+h#7_b$W#t$f&j(Op(R!b!USOY!;ZYZ&cZr!;Zrs!<nsw!;Zwx!Kpx!P!;Z!P!Q#%Z!Q!^!;Z!^!_#'Z!_!}!;Z!}#O#*}#O#P!Dj#P#o!;Z#o#p#'Z#p;'S!;Z;'S;=`#,`<%lO!;Z$/l#8rp$f&j(Op(R!bo$'|OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P!3Y!P!Q%Z!Q![#:v![!^%Z!^!_*g!_!g%Z!g!h!4|!h#O%Z#O#P&c#P#R%Z#R#S#:v#S#U%Z#U#V#>Q#V#X%Z#X#Y!4|#Y#b%Z#b#c#<v#c#d#AY#d#l%Z#l#m#D[#m#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l#;Rk$f&j(Op(R!bo$'|OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P!3Y!P!Q%Z!Q![#:v![!^%Z!^!_*g!_!g%Z!g!h!4|!h#O%Z#O#P&c#P#R%Z#R#S#:v#S#X%Z#X#Y!4|#Y#b%Z#b#c#<v#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l#=R_$f&j(Op(R!bo$'|OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l#>Zd$f&j(Op(R!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!R#?i!R!S#?i!S!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#?i#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l#?tf$f&j(Op(R!bo$'|OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!R#?i!R!S#?i!S!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#?i#S#b%Z#b#c#<v#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l#Acc$f&j(Op(R!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!Y#Bn!Y!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#Bn#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l#Bye$f&j(Op(R!bo$'|OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!Y#Bn!Y!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#Bn#S#b%Z#b#c#<v#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l#Deg$f&j(Op(R!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![#E|![!^%Z!^!_*g!_!c%Z!c!i#E|!i#O%Z#O#P&c#P#R%Z#R#S#E|#S#T%Z#T#Z#E|#Z#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l#FXi$f&j(Op(R!bo$'|OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![#E|![!^%Z!^!_*g!_!c%Z!c!i#E|!i#O%Z#O#P&c#P#R%Z#R#S#E|#S#T%Z#T#Z#E|#Z#b%Z#b#c#<v#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%Gh#HT_!d$b$f&j#|%<f(Op(R!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z)[#I__`l$f&j(Op(R!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(@^#Jk^g!*v!h'.r(Op(R!b(tSOY*gZr*grs'}sw*gwx)rx!P*g!P!Q#Kg!Q!^*g!^!_#L]!_!`#M}!`#O*g#P;'S*g;'S;=`+Z<%lO*g(n#KpX$h&j(Op(R!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g$Kh#LfZ#n$Id(Op(R!bOY*gZr*grs'}sw*gwx)rx!_*g!_!`#MX!`#O*g#P;'S*g;'S;=`+Z<%lO*g$Kh#MbX$O$Id(Op(R!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g$Kh#NWX#o$Id(Op(R!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g%Gh$ Oa#[%?x$f&j(Op(R!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`0z!`!a$!T!a#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#W$!`_#g$Ih$f&j(Op(R!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%Gh$#nafBf#o$Id$c#|$f&j(Op(R!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`$$s!`!a$%}!a#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#S$%O_#o$Id$f&j(Op(R!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#S$&Ya#n$Id$f&j(Op(R!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`!a$'_!a#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#S$'j`#n$Id$f&j(Op(R!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'+h$(wc(h$Ip$f&j(Op(R!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P$*S!P!^%Z!^!_*g!_!a%Z!a!b$+^!b#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'+`$*__}'#p$f&j(Op(R!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#S$+i`$f&j#y$Id(Op(R!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z#&^$,v_!{!Ln$f&j(Op(R!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(@^$.Q_!P(8n$f&j(Op(R!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(n$/UZ$f&jO!^$/w!^!_$0_!_#i$/w#i#j$0d#j#l$/w#l#m$2V#m#o$/w#o#p$0_#p;'S$/w;'S;=`$4b<%lO$/w(n$0OT^#S$f&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c#S$0dO^#S(n$0i[$f&jO!Q&c!Q![$1_![!^&c!_!c&c!c!i$1_!i#T&c#T#Z$1_#Z#o&c#o#p$3u#p;'S&c;'S;=`&w<%lO&c(n$1dZ$f&jO!Q&c!Q![$2V![!^&c!_!c&c!c!i$2V!i#T&c#T#Z$2V#Z#o&c#p;'S&c;'S;=`&w<%lO&c(n$2[Z$f&jO!Q&c!Q![$2}![!^&c!_!c&c!c!i$2}!i#T&c#T#Z$2}#Z#o&c#p;'S&c;'S;=`&w<%lO&c(n$3SZ$f&jO!Q&c!Q![$/w![!^&c!_!c&c!c!i$/w!i#T&c#T#Z$/w#Z#o&c#p;'S&c;'S;=`&w<%lO&c#S$3xR!Q![$4R!c!i$4R#T#Z$4R#S$4US!Q![$4R!c!i$4R#T#Z$4R#q#r$0_(n$4eP;=`<%l$/w!2r$4s_!V!+S$f&j(Op(R!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#S$5}`#v$Id$f&j(Op(R!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z&,v$7[_$f&j(Op(R!b(X&%WOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(CS$8jk$f&j(Op(R!b'{&;d$[#t([!LYOY%ZYZ&cZr%Zrs&}st%Ztu$8Zuw%Zwx(rx}%Z}!O$:_!O!Q%Z!Q![$8Z![!^%Z!^!_*g!_!c%Z!c!}$8Z!}#O%Z#O#P&c#P#R%Z#R#S$8Z#S#T%Z#T#o$8Z#o#p*g#p$g%Z$g;'S$8Z;'S;=`$<e<%lO$8Z+d$:jk$f&j(Op(R!b$[#tOY%ZYZ&cZr%Zrs&}st%Ztu$:_uw%Zwx(rx}%Z}!O$:_!O!Q%Z!Q![$:_![!^%Z!^!_*g!_!c%Z!c!}$:_!}#O%Z#O#P&c#P#R%Z#R#S$:_#S#T%Z#T#o$:_#o#p*g#p$g%Z$g;'S$:_;'S;=`$<_<%lO$:_+d$<bP;=`<%l$:_(CS$<hP;=`<%l$8Z!5p$<tX![!3l(Op(R!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g&CO$=la(o&;`$f&j(Op(R!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p#q$+^#q;'S%Z;'S;=`+a<%lO%Z%#`$?O_!Z$I`r`$f&j(Op(R!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(r$@Y_!pS$f&j(Op(R!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(CS$Aj|$f&j(Op(R!b't(;d$Y#t'{&;d([!LYOX%ZXY+gYZ&cZ[+g[p%Zpq+gqr%Zrs&}st%ZtuEruw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Er![!^%Z!^!_*g!_!c%Z!c!}Er!}#O%Z#O#P&c#P#R%Z#R#SEr#S#T%Z#T#oEr#o#p*g#p$f%Z$f$g+g$g#BYEr#BY#BZ$AX#BZ$ISEr$IS$I_$AX$I_$JTEr$JT$JU$AX$JU$KVEr$KV$KW$AX$KW&FUEr&FU&FV$AX&FV;'SEr;'S;=`I|<%l?HTEr?HT?HU$AX?HUOEr(CS$Duk$f&j(Op(R!b'u(;d$Y#t'{&;d([!LYOY%ZYZ&cZr%Zrs&}st%ZtuEruw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Er![!^%Z!^!_*g!_!c%Z!c!}Er!}#O%Z#O#P&c#P#R%Z#R#SEr#S#T%Z#T#oEr#o#p*g#p$g%Z$g;'SEr;'S;=`I|<%lOEr",
  tokenizers: [noSemicolon, incdecToken, jsx, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, insertSemicolon, new _lr.LocalTokenGroup("$S~RRtu[#O#Pg#S#T#|~_P#o#pb~gOt~~jVO#i!P#i#j!U#j#l!P#l#m!q#m;'S!P;'S;=`#v<%lO!P~!UO!R~~!XS!Q![!e!c!i!e#T#Z!e#o#p#Z~!hR!Q![!q!c!i!q#T#Z!q~!tR!Q![!}!c!i!}#T#Z!}~#QR!Q![!P!c!i!P#T#Z!P~#^R!Q![#g!c!i#g#T#Z#g~#jS!Q![#g!c!i#g#T#Z#g#q#r!P~#yP;=`<%l!P~$RO(Z~~", 141, 332), new _lr.LocalTokenGroup("j~RQYZXz{^~^O'x~~aP!P!Qd~iO'y~~", 25, 315)],
  topRules: {
    "Script": [0, 6],
    "SingleExpression": [1, 269],
    "SingleClassItem": [2, 270]
  },
  dialects: {
    jsx: 0,
    ts: 14614
  },
  dynamicPrecedences: {
    "69": 1,
    "79": 1,
    "81": 1,
    "165": 1,
    "193": 1
  },
  specialized: [{
    term: 319,
    get: function get(value) {
      return spec_identifier[value] || -1;
    }
  }, {
    term: 334,
    get: function get(value) {
      return spec_word[value] || -1;
    }
  }, {
    term: 70,
    get: function get(value) {
      return spec_LessThan[value] || -1;
    }
  }],
  tokenPrec: 14638
});

},{"@lezer/highlight":12,"@lezer/lr":14}],14:[function(require,module,exports){
(function (process){(function (){
"use strict";

Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.Stack = exports.LocalTokenGroup = exports.LRParser = exports.InputStream = exports.ExternalTokenizer = exports.ContextTracker = void 0;
var _common = require("@lezer/common");
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
/**
A parse stack. These are used internally by the parser to track
parsing progress. They also provide some properties and methods
that external code such as a tokenizer can use to get information
about the parse state.
*/
var Stack = exports.Stack = /*#__PURE__*/function () {
  /**
  @internal
  */
  function Stack(
  /**
  The parse that this stack is part of @internal
  */
  p,
  /**
  Holds state, input pos, buffer index triplets for all but the
  top state @internal
  */
  stack,
  /**
  The current parse state @internal
  */
  state,
  // The position at which the next reduce should take place. This
  // can be less than `this.pos` when skipped expressions have been
  // added to the stack (which should be moved outside of the next
  // reduction)
  /**
  @internal
  */
  reducePos,
  /**
  The input position up to which this stack has parsed.
  */
  pos,
  /**
  The dynamic score of the stack, including dynamic precedence
  and error-recovery penalties
  @internal
  */
  score,
  // The output buffer. Holds (type, start, end, size) quads
  // representing nodes created by the parser, where `size` is
  // amount of buffer array entries covered by this node.
  /**
  @internal
  */
  buffer,
  // The base offset of the buffer. When stacks are split, the split
  // instance shared the buffer history with its parent up to
  // `bufferBase`, which is the absolute offset (including the
  // offset of previous splits) into the buffer at which this stack
  // starts writing.
  /**
  @internal
  */
  bufferBase,
  /**
  @internal
  */
  curContext) {
    var lookAhead = arguments.length > 9 && arguments[9] !== undefined ? arguments[9] : 0;
    var
    // A parent stack from which this was split off, if any. This is
    // set up so that it always points to a stack that has some
    // additional buffer content, never to a stack with an equal
    // `bufferBase`.
    /**
    @internal
    */
    parent = arguments.length > 10 ? arguments[10] : undefined;
    _classCallCheck(this, Stack);
    this.p = p;
    this.stack = stack;
    this.state = state;
    this.reducePos = reducePos;
    this.pos = pos;
    this.score = score;
    this.buffer = buffer;
    this.bufferBase = bufferBase;
    this.curContext = curContext;
    this.lookAhead = lookAhead;
    this.parent = parent;
  }
  /**
  @internal
  */
  return _createClass(Stack, [{
    key: "toString",
    value: function toString() {
      return "[".concat(this.stack.filter(function (_, i) {
        return i % 3 == 0;
      }).concat(this.state), "]@").concat(this.pos).concat(this.score ? "!" + this.score : "");
    }
    // Start an empty stack
    /**
    @internal
    */
  }, {
    key: "context",
    get:
    /**
    The stack's current [context](#lr.ContextTracker) value, if
    any. Its type will depend on the context tracker's type
    parameter, or it will be `null` if there is no context
    tracker.
    */
    function get() {
      return this.curContext ? this.curContext.context : null;
    }
    // Push a state onto the stack, tracking its start position as well
    // as the buffer base at that point.
    /**
    @internal
    */
  }, {
    key: "pushState",
    value: function pushState(state, start) {
      this.stack.push(this.state, start, this.bufferBase + this.buffer.length);
      this.state = state;
    }
    // Apply a reduce action
    /**
    @internal
    */
  }, {
    key: "reduce",
    value: function reduce(action) {
      var _a;
      var depth = action >> 19 /* Action.ReduceDepthShift */,
        type = action & 65535 /* Action.ValueMask */;
      var parser = this.p.parser;
      var dPrec = parser.dynamicPrecedence(type);
      if (dPrec) this.score += dPrec;
      if (depth == 0) {
        this.pushState(parser.getGoto(this.state, type, true), this.reducePos);
        // Zero-depth reductions are a special case—they add stuff to
        // the stack without popping anything off.
        if (type < parser.minRepeatTerm) this.storeNode(type, this.reducePos, this.reducePos, 4, true);
        this.reduceContext(type, this.reducePos);
        return;
      }
      // Find the base index into `this.stack`, content after which will
      // be dropped. Note that with `StayFlag` reductions we need to
      // consume two extra frames (the dummy parent node for the skipped
      // expression and the state that we'll be staying in, which should
      // be moved to `this.state`).
      var base = this.stack.length - (depth - 1) * 3 - (action & 262144 /* Action.StayFlag */ ? 6 : 0);
      var start = base ? this.stack[base - 2] : this.p.ranges[0].from,
        size = this.reducePos - start;
      // This is a kludge to try and detect overly deep left-associative
      // trees, which will not increase the parse stack depth and thus
      // won't be caught by the regular stack-depth limit check.
      if (size >= 2000 /* Recover.MinBigReduction */ && !((_a = this.p.parser.nodeSet.types[type]) === null || _a === void 0 ? void 0 : _a.isAnonymous)) {
        if (start == this.p.lastBigReductionStart) {
          this.p.bigReductionCount++;
          this.p.lastBigReductionSize = size;
        } else if (this.p.lastBigReductionSize < size) {
          this.p.bigReductionCount = 1;
          this.p.lastBigReductionStart = start;
          this.p.lastBigReductionSize = size;
        }
      }
      var bufferBase = base ? this.stack[base - 1] : 0,
        count = this.bufferBase + this.buffer.length - bufferBase;
      // Store normal terms or `R -> R R` repeat reductions
      if (type < parser.minRepeatTerm || action & 131072 /* Action.RepeatFlag */) {
        var pos = parser.stateFlag(this.state, 1 /* StateFlag.Skipped */) ? this.pos : this.reducePos;
        this.storeNode(type, start, pos, count + 4, true);
      }
      if (action & 262144 /* Action.StayFlag */) {
        this.state = this.stack[base];
      } else {
        var baseStateID = this.stack[base - 3];
        this.state = parser.getGoto(baseStateID, type, true);
      }
      while (this.stack.length > base) this.stack.pop();
      this.reduceContext(type, start);
    }
    // Shift a value into the buffer
    /**
    @internal
    */
  }, {
    key: "storeNode",
    value: function storeNode(term, start, end) {
      var size = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 4;
      var isReduce = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;
      if (term == 0 /* Term.Err */ && (!this.stack.length || this.stack[this.stack.length - 1] < this.buffer.length + this.bufferBase)) {
        // Try to omit/merge adjacent error nodes
        var cur = this,
          top = this.buffer.length;
        if (top == 0 && cur.parent) {
          top = cur.bufferBase - cur.parent.bufferBase;
          cur = cur.parent;
        }
        if (top > 0 && cur.buffer[top - 4] == 0 /* Term.Err */ && cur.buffer[top - 1] > -1) {
          if (start == end) return;
          if (cur.buffer[top - 2] >= start) {
            cur.buffer[top - 2] = end;
            return;
          }
        }
      }
      if (!isReduce || this.pos == end) {
        // Simple case, just append
        this.buffer.push(term, start, end, size);
      } else {
        // There may be skipped nodes that have to be moved forward
        var index = this.buffer.length;
        if (index > 0 && this.buffer[index - 4] != 0 /* Term.Err */) while (index > 0 && this.buffer[index - 2] > end) {
          // Move this record forward
          this.buffer[index] = this.buffer[index - 4];
          this.buffer[index + 1] = this.buffer[index - 3];
          this.buffer[index + 2] = this.buffer[index - 2];
          this.buffer[index + 3] = this.buffer[index - 1];
          index -= 4;
          if (size > 4) size -= 4;
        }
        this.buffer[index] = term;
        this.buffer[index + 1] = start;
        this.buffer[index + 2] = end;
        this.buffer[index + 3] = size;
      }
    }
    // Apply a shift action
    /**
    @internal
    */
  }, {
    key: "shift",
    value: function shift(action, type, start, end) {
      if (action & 131072 /* Action.GotoFlag */) {
        this.pushState(action & 65535 /* Action.ValueMask */, this.pos);
      } else if ((action & 262144 /* Action.StayFlag */) == 0) {
        // Regular shift
        var nextState = action,
          parser = this.p.parser;
        if (end > this.pos || type <= parser.maxNode) {
          this.pos = end;
          if (!parser.stateFlag(nextState, 1 /* StateFlag.Skipped */)) this.reducePos = end;
        }
        this.pushState(nextState, start);
        this.shiftContext(type, start);
        if (type <= parser.maxNode) this.buffer.push(type, start, end, 4);
      } else {
        // Shift-and-stay, which means this is a skipped token
        this.pos = end;
        this.shiftContext(type, start);
        if (type <= this.p.parser.maxNode) this.buffer.push(type, start, end, 4);
      }
    }
    // Apply an action
    /**
    @internal
    */
  }, {
    key: "apply",
    value: function apply(action, next, nextStart, nextEnd) {
      if (action & 65536 /* Action.ReduceFlag */) this.reduce(action);else this.shift(action, next, nextStart, nextEnd);
    }
    // Add a prebuilt (reused) node into the buffer.
    /**
    @internal
    */
  }, {
    key: "useNode",
    value: function useNode(value, next) {
      var index = this.p.reused.length - 1;
      if (index < 0 || this.p.reused[index] != value) {
        this.p.reused.push(value);
        index++;
      }
      var start = this.pos;
      this.reducePos = this.pos = start + value.length;
      this.pushState(next, start);
      this.buffer.push(index, start, this.reducePos, -1 /* size == -1 means this is a reused value */);
      if (this.curContext) this.updateContext(this.curContext.tracker.reuse(this.curContext.context, value, this, this.p.stream.reset(this.pos - value.length)));
    }
    // Split the stack. Due to the buffer sharing and the fact
    // that `this.stack` tends to stay quite shallow, this isn't very
    // expensive.
    /**
    @internal
    */
  }, {
    key: "split",
    value: function split() {
      var parent = this;
      var off = parent.buffer.length;
      // Because the top of the buffer (after this.pos) may be mutated
      // to reorder reductions and skipped tokens, and shared buffers
      // should be immutable, this copies any outstanding skipped tokens
      // to the new buffer, and puts the base pointer before them.
      while (off > 0 && parent.buffer[off - 2] > parent.reducePos) off -= 4;
      var buffer = parent.buffer.slice(off),
        base = parent.bufferBase + off;
      // Make sure parent points to an actual parent with content, if there is such a parent.
      while (parent && base == parent.bufferBase) parent = parent.parent;
      return new Stack(this.p, this.stack.slice(), this.state, this.reducePos, this.pos, this.score, buffer, base, this.curContext, this.lookAhead, parent);
    }
    // Try to recover from an error by 'deleting' (ignoring) one token.
    /**
    @internal
    */
  }, {
    key: "recoverByDelete",
    value: function recoverByDelete(next, nextEnd) {
      var isNode = next <= this.p.parser.maxNode;
      if (isNode) this.storeNode(next, this.pos, nextEnd, 4);
      this.storeNode(0 /* Term.Err */, this.pos, nextEnd, isNode ? 8 : 4);
      this.pos = this.reducePos = nextEnd;
      this.score -= 190 /* Recover.Delete */;
    }
    /**
    Check if the given term would be able to be shifted (optionally
    after some reductions) on this stack. This can be useful for
    external tokenizers that want to make sure they only provide a
    given token when it applies.
    */
  }, {
    key: "canShift",
    value: function canShift(term) {
      for (var sim = new SimulatedStack(this);;) {
        var action = this.p.parser.stateSlot(sim.state, 4 /* ParseState.DefaultReduce */) || this.p.parser.hasAction(sim.state, term);
        if (action == 0) return false;
        if ((action & 65536 /* Action.ReduceFlag */) == 0) return true;
        sim.reduce(action);
      }
    }
    // Apply up to Recover.MaxNext recovery actions that conceptually
    // inserts some missing token or rule.
    /**
    @internal
    */
  }, {
    key: "recoverByInsert",
    value: function recoverByInsert(next) {
      if (this.stack.length >= 300 /* Recover.MaxInsertStackDepth */) return [];
      var nextStates = this.p.parser.nextStates(this.state);
      if (nextStates.length > 4 /* Recover.MaxNext */ << 1 || this.stack.length >= 120 /* Recover.DampenInsertStackDepth */) {
        var best = [];
        for (var i = 0, s; i < nextStates.length; i += 2) {
          if ((s = nextStates[i + 1]) != this.state && this.p.parser.hasAction(s, next)) best.push(nextStates[i], s);
        }
        if (this.stack.length < 120 /* Recover.DampenInsertStackDepth */) {
          var _loop = function _loop() {
            var s = nextStates[_i + 1];
            if (!best.some(function (v, i) {
              return i & 1 && v == s;
            })) best.push(nextStates[_i], s);
          };
          for (var _i = 0; best.length < 4 /* Recover.MaxNext */ << 1 && _i < nextStates.length; _i += 2) {
            _loop();
          }
        }
        nextStates = best;
      }
      var result = [];
      for (var _i2 = 0; _i2 < nextStates.length && result.length < 4 /* Recover.MaxNext */; _i2 += 2) {
        var _s = nextStates[_i2 + 1];
        if (_s == this.state) continue;
        var stack = this.split();
        stack.pushState(_s, this.pos);
        stack.storeNode(0 /* Term.Err */, stack.pos, stack.pos, 4, true);
        stack.shiftContext(nextStates[_i2], this.pos);
        stack.reducePos = this.pos;
        stack.score -= 200 /* Recover.Insert */;
        result.push(stack);
      }
      return result;
    }
    // Force a reduce, if possible. Return false if that can't
    // be done.
    /**
    @internal
    */
  }, {
    key: "forceReduce",
    value: function forceReduce() {
      var parser = this.p.parser;
      var reduce = parser.stateSlot(this.state, 5 /* ParseState.ForcedReduce */);
      if ((reduce & 65536 /* Action.ReduceFlag */) == 0) return false;
      if (!parser.validAction(this.state, reduce)) {
        var depth = reduce >> 19 /* Action.ReduceDepthShift */,
          term = reduce & 65535 /* Action.ValueMask */;
        var target = this.stack.length - depth * 3;
        if (target < 0 || parser.getGoto(this.stack[target], term, false) < 0) {
          var backup = this.findForcedReduction();
          if (backup == null) return false;
          reduce = backup;
        }
        this.storeNode(0 /* Term.Err */, this.pos, this.pos, 4, true);
        this.score -= 100 /* Recover.Reduce */;
      }
      this.reducePos = this.pos;
      this.reduce(reduce);
      return true;
    }
    /**
    Try to scan through the automaton to find some kind of reduction
    that can be applied. Used when the regular ForcedReduce field
    isn't a valid action. @internal
    */
  }, {
    key: "findForcedReduction",
    value: function findForcedReduction() {
      var _this = this;
      var parser = this.p.parser,
        seen = [];
      var explore = function explore(state, depth) {
        if (seen.includes(state)) return;
        seen.push(state);
        return parser.allActions(state, function (action) {
          if (action & (262144 /* Action.StayFlag */ | 131072 /* Action.GotoFlag */)) ;else if (action & 65536 /* Action.ReduceFlag */) {
            var rDepth = (action >> 19 /* Action.ReduceDepthShift */) - depth;
            if (rDepth > 1) {
              var term = action & 65535 /* Action.ValueMask */,
                target = _this.stack.length - rDepth * 3;
              if (target >= 0 && parser.getGoto(_this.stack[target], term, false) >= 0) return rDepth << 19 /* Action.ReduceDepthShift */ | 65536 /* Action.ReduceFlag */ | term;
            }
          } else {
            var found = explore(action, depth + 1);
            if (found != null) return found;
          }
        });
      };
      return explore(this.state, 0);
    }
    /**
    @internal
    */
  }, {
    key: "forceAll",
    value: function forceAll() {
      while (!this.p.parser.stateFlag(this.state, 2 /* StateFlag.Accepting */)) {
        if (!this.forceReduce()) {
          this.storeNode(0 /* Term.Err */, this.pos, this.pos, 4, true);
          break;
        }
      }
      return this;
    }
    /**
    Check whether this state has no further actions (assumed to be a direct descendant of the
    top state, since any other states must be able to continue
    somehow). @internal
    */
  }, {
    key: "deadEnd",
    get: function get() {
      if (this.stack.length != 3) return false;
      var parser = this.p.parser;
      return parser.data[parser.stateSlot(this.state, 1 /* ParseState.Actions */)] == 65535 /* Seq.End */ && !parser.stateSlot(this.state, 4 /* ParseState.DefaultReduce */);
    }
    /**
    Restart the stack (put it back in its start state). Only safe
    when this.stack.length == 3 (state is directly below the top
    state). @internal
    */
  }, {
    key: "restart",
    value: function restart() {
      this.storeNode(0 /* Term.Err */, this.pos, this.pos, 4, true);
      this.state = this.stack[0];
      this.stack.length = 0;
    }
    /**
    @internal
    */
  }, {
    key: "sameState",
    value: function sameState(other) {
      if (this.state != other.state || this.stack.length != other.stack.length) return false;
      for (var i = 0; i < this.stack.length; i += 3) if (this.stack[i] != other.stack[i]) return false;
      return true;
    }
    /**
    Get the parser used by this stack.
    */
  }, {
    key: "parser",
    get: function get() {
      return this.p.parser;
    }
    /**
    Test whether a given dialect (by numeric ID, as exported from
    the terms file) is enabled.
    */
  }, {
    key: "dialectEnabled",
    value: function dialectEnabled(dialectID) {
      return this.p.parser.dialect.flags[dialectID];
    }
  }, {
    key: "shiftContext",
    value: function shiftContext(term, start) {
      if (this.curContext) this.updateContext(this.curContext.tracker.shift(this.curContext.context, term, this, this.p.stream.reset(start)));
    }
  }, {
    key: "reduceContext",
    value: function reduceContext(term, start) {
      if (this.curContext) this.updateContext(this.curContext.tracker.reduce(this.curContext.context, term, this, this.p.stream.reset(start)));
    }
    /**
    @internal
    */
  }, {
    key: "emitContext",
    value: function emitContext() {
      var last = this.buffer.length - 1;
      if (last < 0 || this.buffer[last] != -3) this.buffer.push(this.curContext.hash, this.pos, this.pos, -3);
    }
    /**
    @internal
    */
  }, {
    key: "emitLookAhead",
    value: function emitLookAhead() {
      var last = this.buffer.length - 1;
      if (last < 0 || this.buffer[last] != -4) this.buffer.push(this.lookAhead, this.pos, this.pos, -4);
    }
  }, {
    key: "updateContext",
    value: function updateContext(context) {
      if (context != this.curContext.context) {
        var newCx = new StackContext(this.curContext.tracker, context);
        if (newCx.hash != this.curContext.hash) this.emitContext();
        this.curContext = newCx;
      }
    }
    /**
    @internal
    */
  }, {
    key: "setLookAhead",
    value: function setLookAhead(lookAhead) {
      if (lookAhead > this.lookAhead) {
        this.emitLookAhead();
        this.lookAhead = lookAhead;
      }
    }
    /**
    @internal
    */
  }, {
    key: "close",
    value: function close() {
      if (this.curContext && this.curContext.tracker.strict) this.emitContext();
      if (this.lookAhead > 0) this.emitLookAhead();
    }
  }], [{
    key: "start",
    value: function start(p, state) {
      var pos = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;
      var cx = p.parser.context;
      return new Stack(p, [], state, pos, pos, 0, [], 0, cx ? new StackContext(cx, cx.start) : null, 0, null);
    }
  }]);
}();
var StackContext = /*#__PURE__*/_createClass(function StackContext(tracker, context) {
  _classCallCheck(this, StackContext);
  this.tracker = tracker;
  this.context = context;
  this.hash = tracker.strict ? tracker.hash(context) : 0;
}); // Used to cheaply run some reductions to scan ahead without mutating
// an entire stack
var SimulatedStack = /*#__PURE__*/function () {
  function SimulatedStack(start) {
    _classCallCheck(this, SimulatedStack);
    this.start = start;
    this.state = start.state;
    this.stack = start.stack;
    this.base = this.stack.length;
  }
  return _createClass(SimulatedStack, [{
    key: "reduce",
    value: function reduce(action) {
      var term = action & 65535 /* Action.ValueMask */,
        depth = action >> 19 /* Action.ReduceDepthShift */;
      if (depth == 0) {
        if (this.stack == this.start.stack) this.stack = this.stack.slice();
        this.stack.push(this.state, 0, 0);
        this.base += 3;
      } else {
        this.base -= (depth - 1) * 3;
      }
      var _goto = this.start.p.parser.getGoto(this.stack[this.base - 3], term, true);
      this.state = _goto;
    }
  }]);
}(); // This is given to `Tree.build` to build a buffer, and encapsulates
// the parent-stack-walking necessary to read the nodes.
var StackBufferCursor = /*#__PURE__*/function () {
  function StackBufferCursor(stack, pos, index) {
    _classCallCheck(this, StackBufferCursor);
    this.stack = stack;
    this.pos = pos;
    this.index = index;
    this.buffer = stack.buffer;
    if (this.index == 0) this.maybeNext();
  }
  return _createClass(StackBufferCursor, [{
    key: "maybeNext",
    value: function maybeNext() {
      var next = this.stack.parent;
      if (next != null) {
        this.index = this.stack.bufferBase - next.bufferBase;
        this.stack = next;
        this.buffer = next.buffer;
      }
    }
  }, {
    key: "id",
    get: function get() {
      return this.buffer[this.index - 4];
    }
  }, {
    key: "start",
    get: function get() {
      return this.buffer[this.index - 3];
    }
  }, {
    key: "end",
    get: function get() {
      return this.buffer[this.index - 2];
    }
  }, {
    key: "size",
    get: function get() {
      return this.buffer[this.index - 1];
    }
  }, {
    key: "next",
    value: function next() {
      this.index -= 4;
      this.pos -= 4;
      if (this.index == 0) this.maybeNext();
    }
  }, {
    key: "fork",
    value: function fork() {
      return new StackBufferCursor(this.stack, this.pos, this.index);
    }
  }], [{
    key: "create",
    value: function create(stack) {
      var pos = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : stack.bufferBase + stack.buffer.length;
      return new StackBufferCursor(stack, pos, pos - stack.bufferBase);
    }
  }]);
}(); // See lezer-generator/src/encode.ts for comments about the encoding
// used here
function decodeArray(input) {
  var Type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : Uint16Array;
  if (typeof input != "string") return input;
  var array = null;
  for (var pos = 0, out = 0; pos < input.length;) {
    var value = 0;
    for (;;) {
      var next = input.charCodeAt(pos++),
        stop = false;
      if (next == 126 /* Encode.BigValCode */) {
        value = 65535 /* Encode.BigVal */;
        break;
      }
      if (next >= 92 /* Encode.Gap2 */) next--;
      if (next >= 34 /* Encode.Gap1 */) next--;
      var digit = next - 32 /* Encode.Start */;
      if (digit >= 46 /* Encode.Base */) {
        digit -= 46 /* Encode.Base */;
        stop = true;
      }
      value += digit;
      if (stop) break;
      value *= 46 /* Encode.Base */;
    }
    if (array) array[out++] = value;else array = new Type(value);
  }
  return array;
}
var CachedToken = /*#__PURE__*/_createClass(function CachedToken() {
  _classCallCheck(this, CachedToken);
  this.start = -1;
  this.value = -1;
  this.end = -1;
  this.extended = -1;
  this.lookAhead = 0;
  this.mask = 0;
  this.context = 0;
});
var nullToken = new CachedToken();
/**
[Tokenizers](#lr.ExternalTokenizer) interact with the input
through this interface. It presents the input as a stream of
characters, tracking lookahead and hiding the complexity of
[ranges](#common.Parser.parse^ranges) from tokenizer code.
*/
var InputStream = exports.InputStream = /*#__PURE__*/function () {
  /**
  @internal
  */
  function InputStream(
  /**
  @internal
  */
  input,
  /**
  @internal
  */
  ranges) {
    _classCallCheck(this, InputStream);
    this.input = input;
    this.ranges = ranges;
    /**
    @internal
    */
    this.chunk = "";
    /**
    @internal
    */
    this.chunkOff = 0;
    /**
    Backup chunk
    */
    this.chunk2 = "";
    this.chunk2Pos = 0;
    /**
    The character code of the next code unit in the input, or -1
    when the stream is at the end of the input.
    */
    this.next = -1;
    /**
    @internal
    */
    this.token = nullToken;
    this.rangeIndex = 0;
    this.pos = this.chunkPos = ranges[0].from;
    this.range = ranges[0];
    this.end = ranges[ranges.length - 1].to;
    this.readNext();
  }
  /**
  @internal
  */
  return _createClass(InputStream, [{
    key: "resolveOffset",
    value: function resolveOffset(offset, assoc) {
      var range = this.range,
        index = this.rangeIndex;
      var pos = this.pos + offset;
      while (pos < range.from) {
        if (!index) return null;
        var next = this.ranges[--index];
        pos -= range.from - next.to;
        range = next;
      }
      while (assoc < 0 ? pos > range.to : pos >= range.to) {
        if (index == this.ranges.length - 1) return null;
        var _next = this.ranges[++index];
        pos += _next.from - range.to;
        range = _next;
      }
      return pos;
    }
    /**
    @internal
    */
  }, {
    key: "clipPos",
    value: function clipPos(pos) {
      if (pos >= this.range.from && pos < this.range.to) return pos;
      var _iterator = _createForOfIteratorHelper(this.ranges),
        _step;
      try {
        for (_iterator.s(); !(_step = _iterator.n()).done;) {
          var range = _step.value;
          if (range.to > pos) return Math.max(pos, range.from);
        }
      } catch (err) {
        _iterator.e(err);
      } finally {
        _iterator.f();
      }
      return this.end;
    }
    /**
    Look at a code unit near the stream position. `.peek(0)` equals
    `.next`, `.peek(-1)` gives you the previous character, and so
    on.
    
    Note that looking around during tokenizing creates dependencies
    on potentially far-away content, which may reduce the
    effectiveness incremental parsing—when looking forward—or even
    cause invalid reparses when looking backward more than 25 code
    units, since the library does not track lookbehind.
    */
  }, {
    key: "peek",
    value: function peek(offset) {
      var idx = this.chunkOff + offset,
        pos,
        result;
      if (idx >= 0 && idx < this.chunk.length) {
        pos = this.pos + offset;
        result = this.chunk.charCodeAt(idx);
      } else {
        var resolved = this.resolveOffset(offset, 1);
        if (resolved == null) return -1;
        pos = resolved;
        if (pos >= this.chunk2Pos && pos < this.chunk2Pos + this.chunk2.length) {
          result = this.chunk2.charCodeAt(pos - this.chunk2Pos);
        } else {
          var i = this.rangeIndex,
            range = this.range;
          while (range.to <= pos) range = this.ranges[++i];
          this.chunk2 = this.input.chunk(this.chunk2Pos = pos);
          if (pos + this.chunk2.length > range.to) this.chunk2 = this.chunk2.slice(0, range.to - pos);
          result = this.chunk2.charCodeAt(0);
        }
      }
      if (pos >= this.token.lookAhead) this.token.lookAhead = pos + 1;
      return result;
    }
    /**
    Accept a token. By default, the end of the token is set to the
    current stream position, but you can pass an offset (relative to
    the stream position) to change that.
    */
  }, {
    key: "acceptToken",
    value: function acceptToken(token) {
      var endOffset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
      var end = endOffset ? this.resolveOffset(endOffset, -1) : this.pos;
      if (end == null || end < this.token.start) throw new RangeError("Token end out of bounds");
      this.token.value = token;
      this.token.end = end;
    }
    /**
    Accept a token ending at a specific given position.
    */
  }, {
    key: "acceptTokenTo",
    value: function acceptTokenTo(token, endPos) {
      this.token.value = token;
      this.token.end = endPos;
    }
  }, {
    key: "getChunk",
    value: function getChunk() {
      if (this.pos >= this.chunk2Pos && this.pos < this.chunk2Pos + this.chunk2.length) {
        var chunk = this.chunk,
          chunkPos = this.chunkPos;
        this.chunk = this.chunk2;
        this.chunkPos = this.chunk2Pos;
        this.chunk2 = chunk;
        this.chunk2Pos = chunkPos;
        this.chunkOff = this.pos - this.chunkPos;
      } else {
        this.chunk2 = this.chunk;
        this.chunk2Pos = this.chunkPos;
        var nextChunk = this.input.chunk(this.pos);
        var end = this.pos + nextChunk.length;
        this.chunk = end > this.range.to ? nextChunk.slice(0, this.range.to - this.pos) : nextChunk;
        this.chunkPos = this.pos;
        this.chunkOff = 0;
      }
    }
  }, {
    key: "readNext",
    value: function readNext() {
      if (this.chunkOff >= this.chunk.length) {
        this.getChunk();
        if (this.chunkOff == this.chunk.length) return this.next = -1;
      }
      return this.next = this.chunk.charCodeAt(this.chunkOff);
    }
    /**
    Move the stream forward N (defaults to 1) code units. Returns
    the new value of [`next`](#lr.InputStream.next).
    */
  }, {
    key: "advance",
    value: function advance() {
      var n = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1;
      this.chunkOff += n;
      while (this.pos + n >= this.range.to) {
        if (this.rangeIndex == this.ranges.length - 1) return this.setDone();
        n -= this.range.to - this.pos;
        this.range = this.ranges[++this.rangeIndex];
        this.pos = this.range.from;
      }
      this.pos += n;
      if (this.pos >= this.token.lookAhead) this.token.lookAhead = this.pos + 1;
      return this.readNext();
    }
  }, {
    key: "setDone",
    value: function setDone() {
      this.pos = this.chunkPos = this.end;
      this.range = this.ranges[this.rangeIndex = this.ranges.length - 1];
      this.chunk = "";
      return this.next = -1;
    }
    /**
    @internal
    */
  }, {
    key: "reset",
    value: function reset(pos, token) {
      if (token) {
        this.token = token;
        token.start = pos;
        token.lookAhead = pos + 1;
        token.value = token.extended = -1;
      } else {
        this.token = nullToken;
      }
      if (this.pos != pos) {
        this.pos = pos;
        if (pos == this.end) {
          this.setDone();
          return this;
        }
        while (pos < this.range.from) this.range = this.ranges[--this.rangeIndex];
        while (pos >= this.range.to) this.range = this.ranges[++this.rangeIndex];
        if (pos >= this.chunkPos && pos < this.chunkPos + this.chunk.length) {
          this.chunkOff = pos - this.chunkPos;
        } else {
          this.chunk = "";
          this.chunkOff = 0;
        }
        this.readNext();
      }
      return this;
    }
    /**
    @internal
    */
  }, {
    key: "read",
    value: function read(from, to) {
      if (from >= this.chunkPos && to <= this.chunkPos + this.chunk.length) return this.chunk.slice(from - this.chunkPos, to - this.chunkPos);
      if (from >= this.chunk2Pos && to <= this.chunk2Pos + this.chunk2.length) return this.chunk2.slice(from - this.chunk2Pos, to - this.chunk2Pos);
      if (from >= this.range.from && to <= this.range.to) return this.input.read(from, to);
      var result = "";
      var _iterator2 = _createForOfIteratorHelper(this.ranges),
        _step2;
      try {
        for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
          var r = _step2.value;
          if (r.from >= to) break;
          if (r.to > from) result += this.input.read(Math.max(r.from, from), Math.min(r.to, to));
        }
      } catch (err) {
        _iterator2.e(err);
      } finally {
        _iterator2.f();
      }
      return result;
    }
  }]);
}();
/**
@internal
*/
var TokenGroup = /*#__PURE__*/function () {
  function TokenGroup(data, id) {
    _classCallCheck(this, TokenGroup);
    this.data = data;
    this.id = id;
  }
  return _createClass(TokenGroup, [{
    key: "token",
    value: function token(input, stack) {
      var parser = stack.p.parser;
      readToken(this.data, input, stack, this.id, parser.data, parser.tokenPrecTable);
    }
  }]);
}();
TokenGroup.prototype.contextual = TokenGroup.prototype.fallback = TokenGroup.prototype.extend = false;
/**
@hide
*/
var LocalTokenGroup = exports.LocalTokenGroup = /*#__PURE__*/function () {
  function LocalTokenGroup(data, precTable, elseToken) {
    _classCallCheck(this, LocalTokenGroup);
    this.precTable = precTable;
    this.elseToken = elseToken;
    this.data = typeof data == "string" ? decodeArray(data) : data;
  }
  return _createClass(LocalTokenGroup, [{
    key: "token",
    value: function token(input, stack) {
      var start = input.pos,
        skipped = 0;
      for (;;) {
        var atEof = input.next < 0,
          nextPos = input.resolveOffset(1, 1);
        readToken(this.data, input, stack, 0, this.data, this.precTable);
        if (input.token.value > -1) break;
        if (this.elseToken == null) return;
        if (!atEof) skipped++;
        if (nextPos == null) break;
        input.reset(nextPos, input.token);
      }
      if (skipped) {
        input.reset(start, input.token);
        input.acceptToken(this.elseToken, skipped);
      }
    }
  }]);
}();
LocalTokenGroup.prototype.contextual = TokenGroup.prototype.fallback = TokenGroup.prototype.extend = false;
/**
`@external tokens` declarations in the grammar should resolve to
an instance of this class.
*/
var ExternalTokenizer = exports.ExternalTokenizer = /*#__PURE__*/_createClass(
/**
Create a tokenizer. The first argument is the function that,
given an input stream, scans for the types of tokens it
recognizes at the stream's position, and calls
[`acceptToken`](#lr.InputStream.acceptToken) when it finds
one.
*/
function ExternalTokenizer(
/**
@internal
*/
token) {
  var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
  _classCallCheck(this, ExternalTokenizer);
  this.token = token;
  this.contextual = !!options.contextual;
  this.fallback = !!options.fallback;
  this.extend = !!options.extend;
}); // Tokenizer data is stored a big uint16 array containing, for each
// state:
//
//  - A group bitmask, indicating what token groups are reachable from
//    this state, so that paths that can only lead to tokens not in
//    any of the current groups can be cut off early.
//
//  - The position of the end of the state's sequence of accepting
//    tokens
//
//  - The number of outgoing edges for the state
//
//  - The accepting tokens, as (token id, group mask) pairs
//
//  - The outgoing edges, as (start character, end character, state
//    index) triples, with end character being exclusive
//
// This function interprets that data, running through a stream as
// long as new states with the a matching group mask can be reached,
// and updating `input.token` when it matches a token.
function readToken(data, input, stack, group, precTable, precOffset) {
  var state = 0,
    groupMask = 1 << group,
    dialect = stack.p.parser.dialect;
  scan: for (;;) {
    if ((groupMask & data[state]) == 0) break;
    var accEnd = data[state + 1];
    // Check whether this state can lead to a token in the current group
    // Accept tokens in this state, possibly overwriting
    // lower-precedence / shorter tokens
    for (var i = state + 3; i < accEnd; i += 2) if ((data[i + 1] & groupMask) > 0) {
      var term = data[i];
      if (dialect.allows(term) && (input.token.value == -1 || input.token.value == term || overrides(term, input.token.value, precTable, precOffset))) {
        input.acceptToken(term);
        break;
      }
    }
    var next = input.next,
      low = 0,
      high = data[state + 2];
    // Special case for EOF
    if (input.next < 0 && high > low && data[accEnd + high * 3 - 3] == 65535 /* Seq.End */) {
      state = data[accEnd + high * 3 - 1];
      continue scan;
    }
    // Do a binary search on the state's edges
    for (; low < high;) {
      var mid = low + high >> 1;
      var index = accEnd + mid + (mid << 1);
      var from = data[index],
        to = data[index + 1] || 0x10000;
      if (next < from) high = mid;else if (next >= to) low = mid + 1;else {
        state = data[index + 2];
        input.advance();
        continue scan;
      }
    }
    break;
  }
}
function findOffset(data, start, term) {
  for (var i = start, next; (next = data[i]) != 65535 /* Seq.End */; i++) if (next == term) return i - start;
  return -1;
}
function overrides(token, prev, tableData, tableOffset) {
  var iPrev = findOffset(tableData, tableOffset, prev);
  return iPrev < 0 || findOffset(tableData, tableOffset, token) < iPrev;
}

// Environment variable used to control console output
var verbose = typeof process != "undefined" && process.env && /\bparse\b/.test(process.env.LOG);
var stackIDs = null;
function cutAt(tree, pos, side) {
  var cursor = tree.cursor(_common.IterMode.IncludeAnonymous);
  cursor.moveTo(pos);
  for (;;) {
    if (!(side < 0 ? cursor.childBefore(pos) : cursor.childAfter(pos))) for (;;) {
      if ((side < 0 ? cursor.to < pos : cursor.from > pos) && !cursor.type.isError) return side < 0 ? Math.max(0, Math.min(cursor.to - 1, pos - 25 /* Safety.Margin */)) : Math.min(tree.length, Math.max(cursor.from + 1, pos + 25 /* Safety.Margin */));
      if (side < 0 ? cursor.prevSibling() : cursor.nextSibling()) break;
      if (!cursor.parent()) return side < 0 ? 0 : tree.length;
    }
  }
}
var FragmentCursor = /*#__PURE__*/function () {
  function FragmentCursor(fragments, nodeSet) {
    _classCallCheck(this, FragmentCursor);
    this.fragments = fragments;
    this.nodeSet = nodeSet;
    this.i = 0;
    this.fragment = null;
    this.safeFrom = -1;
    this.safeTo = -1;
    this.trees = [];
    this.start = [];
    this.index = [];
    this.nextFragment();
  }
  return _createClass(FragmentCursor, [{
    key: "nextFragment",
    value: function nextFragment() {
      var fr = this.fragment = this.i == this.fragments.length ? null : this.fragments[this.i++];
      if (fr) {
        this.safeFrom = fr.openStart ? cutAt(fr.tree, fr.from + fr.offset, 1) - fr.offset : fr.from;
        this.safeTo = fr.openEnd ? cutAt(fr.tree, fr.to + fr.offset, -1) - fr.offset : fr.to;
        while (this.trees.length) {
          this.trees.pop();
          this.start.pop();
          this.index.pop();
        }
        this.trees.push(fr.tree);
        this.start.push(-fr.offset);
        this.index.push(0);
        this.nextStart = this.safeFrom;
      } else {
        this.nextStart = 1e9;
      }
    }
    // `pos` must be >= any previously given `pos` for this cursor
  }, {
    key: "nodeAt",
    value: function nodeAt(pos) {
      if (pos < this.nextStart) return null;
      while (this.fragment && this.safeTo <= pos) this.nextFragment();
      if (!this.fragment) return null;
      for (;;) {
        var last = this.trees.length - 1;
        if (last < 0) {
          // End of tree
          this.nextFragment();
          return null;
        }
        var top = this.trees[last],
          index = this.index[last];
        if (index == top.children.length) {
          this.trees.pop();
          this.start.pop();
          this.index.pop();
          continue;
        }
        var next = top.children[index];
        var start = this.start[last] + top.positions[index];
        if (start > pos) {
          this.nextStart = start;
          return null;
        }
        if (next instanceof _common.Tree) {
          if (start == pos) {
            if (start < this.safeFrom) return null;
            var end = start + next.length;
            if (end <= this.safeTo) {
              var lookAhead = next.prop(_common.NodeProp.lookAhead);
              if (!lookAhead || end + lookAhead < this.fragment.to) return next;
            }
          }
          this.index[last]++;
          if (start + next.length >= Math.max(this.safeFrom, pos)) {
            // Enter this node
            this.trees.push(next);
            this.start.push(start);
            this.index.push(0);
          }
        } else {
          this.index[last]++;
          this.nextStart = start + next.length;
        }
      }
    }
  }]);
}();
var TokenCache = /*#__PURE__*/function () {
  function TokenCache(parser, stream) {
    _classCallCheck(this, TokenCache);
    this.stream = stream;
    this.tokens = [];
    this.mainToken = null;
    this.actions = [];
    this.tokens = parser.tokenizers.map(function (_) {
      return new CachedToken();
    });
  }
  return _createClass(TokenCache, [{
    key: "getActions",
    value: function getActions(stack) {
      var actionIndex = 0;
      var main = null;
      var parser = stack.p.parser,
        tokenizers = parser.tokenizers;
      var mask = parser.stateSlot(stack.state, 3 /* ParseState.TokenizerMask */);
      var context = stack.curContext ? stack.curContext.hash : 0;
      var lookAhead = 0;
      for (var i = 0; i < tokenizers.length; i++) {
        if ((1 << i & mask) == 0) continue;
        var tokenizer = tokenizers[i],
          token = this.tokens[i];
        if (main && !tokenizer.fallback) continue;
        if (tokenizer.contextual || token.start != stack.pos || token.mask != mask || token.context != context) {
          this.updateCachedToken(token, tokenizer, stack);
          token.mask = mask;
          token.context = context;
        }
        if (token.lookAhead > token.end + 25 /* Safety.Margin */) lookAhead = Math.max(token.lookAhead, lookAhead);
        if (token.value != 0 /* Term.Err */) {
          var startIndex = actionIndex;
          if (token.extended > -1) actionIndex = this.addActions(stack, token.extended, token.end, actionIndex);
          actionIndex = this.addActions(stack, token.value, token.end, actionIndex);
          if (!tokenizer.extend) {
            main = token;
            if (actionIndex > startIndex) break;
          }
        }
      }
      while (this.actions.length > actionIndex) this.actions.pop();
      if (lookAhead) stack.setLookAhead(lookAhead);
      if (!main && stack.pos == this.stream.end) {
        main = new CachedToken();
        main.value = stack.p.parser.eofTerm;
        main.start = main.end = stack.pos;
        actionIndex = this.addActions(stack, main.value, main.end, actionIndex);
      }
      this.mainToken = main;
      return this.actions;
    }
  }, {
    key: "getMainToken",
    value: function getMainToken(stack) {
      if (this.mainToken) return this.mainToken;
      var main = new CachedToken(),
        pos = stack.pos,
        p = stack.p;
      main.start = pos;
      main.end = Math.min(pos + 1, p.stream.end);
      main.value = pos == p.stream.end ? p.parser.eofTerm : 0 /* Term.Err */;
      return main;
    }
  }, {
    key: "updateCachedToken",
    value: function updateCachedToken(token, tokenizer, stack) {
      var start = this.stream.clipPos(stack.pos);
      tokenizer.token(this.stream.reset(start, token), stack);
      if (token.value > -1) {
        var parser = stack.p.parser;
        for (var i = 0; i < parser.specialized.length; i++) if (parser.specialized[i] == token.value) {
          var result = parser.specializers[i](this.stream.read(token.start, token.end), stack);
          if (result >= 0 && stack.p.parser.dialect.allows(result >> 1)) {
            if ((result & 1) == 0 /* Specialize.Specialize */) token.value = result >> 1;else token.extended = result >> 1;
            break;
          }
        }
      } else {
        token.value = 0 /* Term.Err */;
        token.end = this.stream.clipPos(start + 1);
      }
    }
  }, {
    key: "putAction",
    value: function putAction(action, token, end, index) {
      // Don't add duplicate actions
      for (var i = 0; i < index; i += 3) if (this.actions[i] == action) return index;
      this.actions[index++] = action;
      this.actions[index++] = token;
      this.actions[index++] = end;
      return index;
    }
  }, {
    key: "addActions",
    value: function addActions(stack, token, end, index) {
      var state = stack.state,
        parser = stack.p.parser,
        data = parser.data;
      for (var set = 0; set < 2; set++) {
        for (var i = parser.stateSlot(state, set ? 2 /* ParseState.Skip */ : 1 /* ParseState.Actions */);; i += 3) {
          if (data[i] == 65535 /* Seq.End */) {
            if (data[i + 1] == 1 /* Seq.Next */) {
              i = pair(data, i + 2);
            } else {
              if (index == 0 && data[i + 1] == 2 /* Seq.Other */) index = this.putAction(pair(data, i + 2), token, end, index);
              break;
            }
          }
          if (data[i] == token) index = this.putAction(pair(data, i + 1), token, end, index);
        }
      }
      return index;
    }
  }]);
}();
var Parse = /*#__PURE__*/function () {
  function Parse(parser, input, fragments, ranges) {
    _classCallCheck(this, Parse);
    this.parser = parser;
    this.input = input;
    this.ranges = ranges;
    this.recovering = 0;
    this.nextStackID = 0x2654; // ♔, ♕, ♖, ♗, ♘, ♙, ♠, ♡, ♢, ♣, ♤, ♥, ♦, ♧
    this.minStackPos = 0;
    this.reused = [];
    this.stoppedAt = null;
    this.lastBigReductionStart = -1;
    this.lastBigReductionSize = 0;
    this.bigReductionCount = 0;
    this.stream = new InputStream(input, ranges);
    this.tokens = new TokenCache(parser, this.stream);
    this.topTerm = parser.top[1];
    var from = ranges[0].from;
    this.stacks = [Stack.start(this, parser.top[0], from)];
    this.fragments = fragments.length && this.stream.end - from > parser.bufferLength * 4 ? new FragmentCursor(fragments, parser.nodeSet) : null;
  }
  return _createClass(Parse, [{
    key: "parsedPos",
    get: function get() {
      return this.minStackPos;
    }
    // Move the parser forward. This will process all parse stacks at
    // `this.pos` and try to advance them to a further position. If no
    // stack for such a position is found, it'll start error-recovery.
    //
    // When the parse is finished, this will return a syntax tree. When
    // not, it returns `null`.
  }, {
    key: "advance",
    value: function advance() {
      var stacks = this.stacks,
        pos = this.minStackPos;
      // This will hold stacks beyond `pos`.
      var newStacks = this.stacks = [];
      var stopped, stoppedTokens;
      // If a large amount of reductions happened with the same start
      // position, force the stack out of that production in order to
      // avoid creating a tree too deep to recurse through.
      // (This is an ugly kludge, because unfortunately there is no
      // straightforward, cheap way to check for this happening, due to
      // the history of reductions only being available in an
      // expensive-to-access format in the stack buffers.)
      if (this.bigReductionCount > 300 /* Rec.MaxLeftAssociativeReductionCount */ && stacks.length == 1) {
        var _stacks = _slicedToArray(stacks, 1),
          s = _stacks[0];
        while (s.forceReduce() && s.stack.length && s.stack[s.stack.length - 2] >= this.lastBigReductionStart) {}
        this.bigReductionCount = this.lastBigReductionSize = 0;
      }
      // Keep advancing any stacks at `pos` until they either move
      // forward or can't be advanced. Gather stacks that can't be
      // advanced further in `stopped`.
      for (var i = 0; i < stacks.length; i++) {
        var stack = stacks[i];
        for (;;) {
          this.tokens.mainToken = null;
          if (stack.pos > pos) {
            newStacks.push(stack);
          } else if (this.advanceStack(stack, newStacks, stacks)) {
            continue;
          } else {
            if (!stopped) {
              stopped = [];
              stoppedTokens = [];
            }
            stopped.push(stack);
            var tok = this.tokens.getMainToken(stack);
            stoppedTokens.push(tok.value, tok.end);
          }
          break;
        }
      }
      if (!newStacks.length) {
        var finished = stopped && findFinished(stopped);
        if (finished) {
          if (verbose) console.log("Finish with " + this.stackID(finished));
          return this.stackToTree(finished);
        }
        if (this.parser.strict) {
          if (verbose && stopped) console.log("Stuck with token " + (this.tokens.mainToken ? this.parser.getName(this.tokens.mainToken.value) : "none"));
          throw new SyntaxError("No parse at " + pos);
        }
        if (!this.recovering) this.recovering = 5 /* Rec.Distance */;
      }
      if (this.recovering && stopped) {
        var _finished = this.stoppedAt != null && stopped[0].pos > this.stoppedAt ? stopped[0] : this.runRecovery(stopped, stoppedTokens, newStacks);
        if (_finished) {
          if (verbose) console.log("Force-finish " + this.stackID(_finished));
          return this.stackToTree(_finished.forceAll());
        }
      }
      if (this.recovering) {
        var maxRemaining = this.recovering == 1 ? 1 : this.recovering * 3 /* Rec.MaxRemainingPerStep */;
        if (newStacks.length > maxRemaining) {
          newStacks.sort(function (a, b) {
            return b.score - a.score;
          });
          while (newStacks.length > maxRemaining) newStacks.pop();
        }
        if (newStacks.some(function (s) {
          return s.reducePos > pos;
        })) this.recovering--;
      } else if (newStacks.length > 1) {
        // Prune stacks that are in the same state, or that have been
        // running without splitting for a while, to avoid getting stuck
        // with multiple successful stacks running endlessly on.
        outer: for (var _i3 = 0; _i3 < newStacks.length - 1; _i3++) {
          var _stack = newStacks[_i3];
          for (var j = _i3 + 1; j < newStacks.length; j++) {
            var other = newStacks[j];
            if (_stack.sameState(other) || _stack.buffer.length > 500 /* Rec.MinBufferLengthPrune */ && other.buffer.length > 500 /* Rec.MinBufferLengthPrune */) {
              if ((_stack.score - other.score || _stack.buffer.length - other.buffer.length) > 0) {
                newStacks.splice(j--, 1);
              } else {
                newStacks.splice(_i3--, 1);
                continue outer;
              }
            }
          }
        }
        if (newStacks.length > 12 /* Rec.MaxStackCount */) newStacks.splice(12 /* Rec.MaxStackCount */, newStacks.length - 12 /* Rec.MaxStackCount */);
      }
      this.minStackPos = newStacks[0].pos;
      for (var _i4 = 1; _i4 < newStacks.length; _i4++) if (newStacks[_i4].pos < this.minStackPos) this.minStackPos = newStacks[_i4].pos;
      return null;
    }
  }, {
    key: "stopAt",
    value: function stopAt(pos) {
      if (this.stoppedAt != null && this.stoppedAt < pos) throw new RangeError("Can't move stoppedAt forward");
      this.stoppedAt = pos;
    }
    // Returns an updated version of the given stack, or null if the
    // stack can't advance normally. When `split` and `stacks` are
    // given, stacks split off by ambiguous operations will be pushed to
    // `split`, or added to `stacks` if they move `pos` forward.
  }, {
    key: "advanceStack",
    value: function advanceStack(stack, stacks, split) {
      var start = stack.pos,
        parser = this.parser;
      var base = verbose ? this.stackID(stack) + " -> " : "";
      if (this.stoppedAt != null && start > this.stoppedAt) return stack.forceReduce() ? stack : null;
      if (this.fragments) {
        var strictCx = stack.curContext && stack.curContext.tracker.strict,
          cxHash = strictCx ? stack.curContext.hash : 0;
        for (var cached = this.fragments.nodeAt(start); cached;) {
          var match = this.parser.nodeSet.types[cached.type.id] == cached.type ? parser.getGoto(stack.state, cached.type.id) : -1;
          if (match > -1 && cached.length && (!strictCx || (cached.prop(_common.NodeProp.contextHash) || 0) == cxHash)) {
            stack.useNode(cached, match);
            if (verbose) console.log(base + this.stackID(stack) + " (via reuse of ".concat(parser.getName(cached.type.id), ")"));
            return true;
          }
          if (!(cached instanceof _common.Tree) || cached.children.length == 0 || cached.positions[0] > 0) break;
          var inner = cached.children[0];
          if (inner instanceof _common.Tree && cached.positions[0] == 0) cached = inner;else break;
        }
      }
      var defaultReduce = parser.stateSlot(stack.state, 4 /* ParseState.DefaultReduce */);
      if (defaultReduce > 0) {
        stack.reduce(defaultReduce);
        if (verbose) console.log(base + this.stackID(stack) + " (via always-reduce ".concat(parser.getName(defaultReduce & 65535 /* Action.ValueMask */), ")"));
        return true;
      }
      if (stack.stack.length >= 8400 /* Rec.CutDepth */) {
        while (stack.stack.length > 6000 /* Rec.CutTo */ && stack.forceReduce()) {}
      }
      var actions = this.tokens.getActions(stack);
      for (var i = 0; i < actions.length;) {
        var action = actions[i++],
          term = actions[i++],
          end = actions[i++];
        var last = i == actions.length || !split;
        var localStack = last ? stack : stack.split();
        var main = this.tokens.mainToken;
        localStack.apply(action, term, main ? main.start : localStack.pos, end);
        if (verbose) console.log(base + this.stackID(localStack) + " (via ".concat((action & 65536 /* Action.ReduceFlag */) == 0 ? "shift" : "reduce of ".concat(parser.getName(action & 65535 /* Action.ValueMask */)), " for ").concat(parser.getName(term), " @ ").concat(start).concat(localStack == stack ? "" : ", split", ")"));
        if (last) return true;else if (localStack.pos > start) stacks.push(localStack);else split.push(localStack);
      }
      return false;
    }
    // Advance a given stack forward as far as it will go. Returns the
    // (possibly updated) stack if it got stuck, or null if it moved
    // forward and was given to `pushStackDedup`.
  }, {
    key: "advanceFully",
    value: function advanceFully(stack, newStacks) {
      var pos = stack.pos;
      for (;;) {
        if (!this.advanceStack(stack, null, null)) return false;
        if (stack.pos > pos) {
          pushStackDedup(stack, newStacks);
          return true;
        }
      }
    }
  }, {
    key: "runRecovery",
    value: function runRecovery(stacks, tokens, newStacks) {
      var finished = null,
        restarted = false;
      for (var i = 0; i < stacks.length; i++) {
        var stack = stacks[i],
          token = tokens[i << 1],
          tokenEnd = tokens[(i << 1) + 1];
        var base = verbose ? this.stackID(stack) + " -> " : "";
        if (stack.deadEnd) {
          if (restarted) continue;
          restarted = true;
          stack.restart();
          if (verbose) console.log(base + this.stackID(stack) + " (restarted)");
          var done = this.advanceFully(stack, newStacks);
          if (done) continue;
        }
        var force = stack.split(),
          forceBase = base;
        for (var j = 0; force.forceReduce() && j < 10 /* Rec.ForceReduceLimit */; j++) {
          if (verbose) console.log(forceBase + this.stackID(force) + " (via force-reduce)");
          var _done = this.advanceFully(force, newStacks);
          if (_done) break;
          if (verbose) forceBase = this.stackID(force) + " -> ";
        }
        var _iterator3 = _createForOfIteratorHelper(stack.recoverByInsert(token)),
          _step3;
        try {
          for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
            var insert = _step3.value;
            if (verbose) console.log(base + this.stackID(insert) + " (via recover-insert)");
            this.advanceFully(insert, newStacks);
          }
        } catch (err) {
          _iterator3.e(err);
        } finally {
          _iterator3.f();
        }
        if (this.stream.end > stack.pos) {
          if (tokenEnd == stack.pos) {
            tokenEnd++;
            token = 0 /* Term.Err */;
          }
          stack.recoverByDelete(token, tokenEnd);
          if (verbose) console.log(base + this.stackID(stack) + " (via recover-delete ".concat(this.parser.getName(token), ")"));
          pushStackDedup(stack, newStacks);
        } else if (!finished || finished.score < stack.score) {
          finished = stack;
        }
      }
      return finished;
    }
    // Convert the stack's buffer to a syntax tree.
  }, {
    key: "stackToTree",
    value: function stackToTree(stack) {
      stack.close();
      return _common.Tree.build({
        buffer: StackBufferCursor.create(stack),
        nodeSet: this.parser.nodeSet,
        topID: this.topTerm,
        maxBufferLength: this.parser.bufferLength,
        reused: this.reused,
        start: this.ranges[0].from,
        length: stack.pos - this.ranges[0].from,
        minRepeatType: this.parser.minRepeatTerm
      });
    }
  }, {
    key: "stackID",
    value: function stackID(stack) {
      var id = (stackIDs || (stackIDs = new WeakMap())).get(stack);
      if (!id) stackIDs.set(stack, id = String.fromCodePoint(this.nextStackID++));
      return id + stack;
    }
  }]);
}();
function pushStackDedup(stack, newStacks) {
  for (var i = 0; i < newStacks.length; i++) {
    var other = newStacks[i];
    if (other.pos == stack.pos && other.sameState(stack)) {
      if (newStacks[i].score < stack.score) newStacks[i] = stack;
      return;
    }
  }
  newStacks.push(stack);
}
var Dialect = /*#__PURE__*/function () {
  function Dialect(source, flags, disabled) {
    _classCallCheck(this, Dialect);
    this.source = source;
    this.flags = flags;
    this.disabled = disabled;
  }
  return _createClass(Dialect, [{
    key: "allows",
    value: function allows(term) {
      return !this.disabled || this.disabled[term] == 0;
    }
  }]);
}();
var id = function id(x) {
  return x;
};
/**
Context trackers are used to track stateful context (such as
indentation in the Python grammar, or parent elements in the XML
grammar) needed by external tokenizers. You declare them in a
grammar file as `@context exportName from "module"`.

Context values should be immutable, and can be updated (replaced)
on shift or reduce actions.

The export used in a `@context` declaration should be of this
type.
*/
var ContextTracker = exports.ContextTracker = /*#__PURE__*/_createClass(
/**
Define a context tracker.
*/
function ContextTracker(spec) {
  _classCallCheck(this, ContextTracker);
  this.start = spec.start;
  this.shift = spec.shift || id;
  this.reduce = spec.reduce || id;
  this.reuse = spec.reuse || id;
  this.hash = spec.hash || function () {
    return 0;
  };
  this.strict = spec.strict !== false;
});
/**
Holds the parse tables for a given grammar, as generated by
`lezer-generator`, and provides [methods](#common.Parser) to parse
content with.
*/
var LRParser = exports.LRParser = /*#__PURE__*/function (_Parser) {
  /**
  @internal
  */
  function LRParser(spec) {
    var _this2$nodeSet;
    var _this2;
    _classCallCheck(this, LRParser);
    _this2 = _callSuper(this, LRParser);
    /**
    @internal
    */
    _this2.wrappers = [];
    if (spec.version != 14 /* File.Version */) throw new RangeError("Parser version (".concat(spec.version, ") doesn't match runtime version (", 14 /* File.Version */, ")"));
    var nodeNames = spec.nodeNames.split(" ");
    _this2.minRepeatTerm = nodeNames.length;
    for (var i = 0; i < spec.repeatNodeCount; i++) nodeNames.push("");
    var topTerms = Object.keys(spec.topRules).map(function (r) {
      return spec.topRules[r][1];
    });
    var nodeProps = [];
    for (var _i5 = 0; _i5 < nodeNames.length; _i5++) nodeProps.push([]);
    function setProp(nodeID, prop, value) {
      nodeProps[nodeID].push([prop, prop.deserialize(String(value))]);
    }
    if (spec.nodeProps) {
      var _iterator4 = _createForOfIteratorHelper(spec.nodeProps),
        _step4;
      try {
        for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
          var propSpec = _step4.value;
          var prop = propSpec[0];
          if (typeof prop == "string") prop = _common.NodeProp[prop];
          for (var _i6 = 1; _i6 < propSpec.length;) {
            var next = propSpec[_i6++];
            if (next >= 0) {
              setProp(next, prop, propSpec[_i6++]);
            } else {
              var value = propSpec[_i6 + -next];
              for (var j = -next; j > 0; j--) setProp(propSpec[_i6++], prop, value);
              _i6++;
            }
          }
        }
      } catch (err) {
        _iterator4.e(err);
      } finally {
        _iterator4.f();
      }
    }
    _this2.nodeSet = new _common.NodeSet(nodeNames.map(function (name, i) {
      return _common.NodeType.define({
        name: i >= _this2.minRepeatTerm ? undefined : name,
        id: i,
        props: nodeProps[i],
        top: topTerms.indexOf(i) > -1,
        error: i == 0,
        skipped: spec.skippedNodes && spec.skippedNodes.indexOf(i) > -1
      });
    }));
    if (spec.propSources) _this2.nodeSet = (_this2$nodeSet = _this2.nodeSet).extend.apply(_this2$nodeSet, _toConsumableArray(spec.propSources));
    _this2.strict = false;
    _this2.bufferLength = _common.DefaultBufferLength;
    var tokenArray = decodeArray(spec.tokenData);
    _this2.context = spec.context;
    _this2.specializerSpecs = spec.specialized || [];
    _this2.specialized = new Uint16Array(_this2.specializerSpecs.length);
    for (var _i7 = 0; _i7 < _this2.specializerSpecs.length; _i7++) _this2.specialized[_i7] = _this2.specializerSpecs[_i7].term;
    _this2.specializers = _this2.specializerSpecs.map(getSpecializer);
    _this2.states = decodeArray(spec.states, Uint32Array);
    _this2.data = decodeArray(spec.stateData);
    _this2["goto"] = decodeArray(spec["goto"]);
    _this2.maxTerm = spec.maxTerm;
    _this2.tokenizers = spec.tokenizers.map(function (value) {
      return typeof value == "number" ? new TokenGroup(tokenArray, value) : value;
    });
    _this2.topRules = spec.topRules;
    _this2.dialects = spec.dialects || {};
    _this2.dynamicPrecedences = spec.dynamicPrecedences || null;
    _this2.tokenPrecTable = spec.tokenPrec;
    _this2.termNames = spec.termNames || null;
    _this2.maxNode = _this2.nodeSet.types.length - 1;
    _this2.dialect = _this2.parseDialect();
    _this2.top = _this2.topRules[Object.keys(_this2.topRules)[0]];
    return _this2;
  }
  _inherits(LRParser, _Parser);
  return _createClass(LRParser, [{
    key: "createParse",
    value: function createParse(input, fragments, ranges) {
      var parse = new Parse(this, input, fragments, ranges);
      var _iterator5 = _createForOfIteratorHelper(this.wrappers),
        _step5;
      try {
        for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
          var w = _step5.value;
          parse = w(parse, input, fragments, ranges);
        }
      } catch (err) {
        _iterator5.e(err);
      } finally {
        _iterator5.f();
      }
      return parse;
    }
    /**
    Get a goto table entry @internal
    */
  }, {
    key: "getGoto",
    value: function getGoto(state, term) {
      var loose = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
      var table = this["goto"];
      if (term >= table[0]) return -1;
      for (var pos = table[term + 1];;) {
        var groupTag = table[pos++],
          last = groupTag & 1;
        var target = table[pos++];
        if (last && loose) return target;
        for (var end = pos + (groupTag >> 1); pos < end; pos++) if (table[pos] == state) return target;
        if (last) return -1;
      }
    }
    /**
    Check if this state has an action for a given terminal @internal
    */
  }, {
    key: "hasAction",
    value: function hasAction(state, terminal) {
      var data = this.data;
      for (var set = 0; set < 2; set++) {
        for (var i = this.stateSlot(state, set ? 2 /* ParseState.Skip */ : 1 /* ParseState.Actions */), next;; i += 3) {
          if ((next = data[i]) == 65535 /* Seq.End */) {
            if (data[i + 1] == 1 /* Seq.Next */) next = data[i = pair(data, i + 2)];else if (data[i + 1] == 2 /* Seq.Other */) return pair(data, i + 2);else break;
          }
          if (next == terminal || next == 0 /* Term.Err */) return pair(data, i + 1);
        }
      }
      return 0;
    }
    /**
    @internal
    */
  }, {
    key: "stateSlot",
    value: function stateSlot(state, slot) {
      return this.states[state * 6 /* ParseState.Size */ + slot];
    }
    /**
    @internal
    */
  }, {
    key: "stateFlag",
    value: function stateFlag(state, flag) {
      return (this.stateSlot(state, 0 /* ParseState.Flags */) & flag) > 0;
    }
    /**
    @internal
    */
  }, {
    key: "validAction",
    value: function validAction(state, action) {
      return !!this.allActions(state, function (a) {
        return a == action ? true : null;
      });
    }
    /**
    @internal
    */
  }, {
    key: "allActions",
    value: function allActions(state, action) {
      var deflt = this.stateSlot(state, 4 /* ParseState.DefaultReduce */);
      var result = deflt ? action(deflt) : undefined;
      for (var i = this.stateSlot(state, 1 /* ParseState.Actions */); result == null; i += 3) {
        if (this.data[i] == 65535 /* Seq.End */) {
          if (this.data[i + 1] == 1 /* Seq.Next */) i = pair(this.data, i + 2);else break;
        }
        result = action(pair(this.data, i + 1));
      }
      return result;
    }
    /**
    Get the states that can follow this one through shift actions or
    goto jumps. @internal
    */
  }, {
    key: "nextStates",
    value: function nextStates(state) {
      var _this3 = this;
      var result = [];
      var _loop2 = function _loop2(_i8) {
        if (_this3.data[_i8] == 65535 /* Seq.End */) {
          if (_this3.data[_i8 + 1] == 1 /* Seq.Next */) _i8 = pair(_this3.data, _i8 + 2);else {
            i = _i8;
            return 1;
          } // break
        }
        if ((_this3.data[_i8 + 2] & 65536 /* Action.ReduceFlag */ >> 16) == 0) {
          var value = _this3.data[_i8 + 1];
          if (!result.some(function (v, i) {
            return i & 1 && v == value;
          })) result.push(_this3.data[_i8], value);
        }
        i = _i8;
      };
      for (var i = this.stateSlot(state, 1 /* ParseState.Actions */);; i += 3) {
        if (_loop2(i)) break;
      }
      return result;
    }
    /**
    Configure the parser. Returns a new parser instance that has the
    given settings modified. Settings not provided in `config` are
    kept from the original parser.
    */
  }, {
    key: "configure",
    value: function configure(config) {
      var _this$nodeSet;
      // Hideous reflection-based kludge to make it easy to create a
      // slightly modified copy of a parser.
      var copy = Object.assign(Object.create(LRParser.prototype), this);
      if (config.props) copy.nodeSet = (_this$nodeSet = this.nodeSet).extend.apply(_this$nodeSet, _toConsumableArray(config.props));
      if (config.top) {
        var info = this.topRules[config.top];
        if (!info) throw new RangeError("Invalid top rule name ".concat(config.top));
        copy.top = info;
      }
      if (config.tokenizers) copy.tokenizers = this.tokenizers.map(function (t) {
        var found = config.tokenizers.find(function (r) {
          return r.from == t;
        });
        return found ? found.to : t;
      });
      if (config.specializers) {
        copy.specializers = this.specializers.slice();
        copy.specializerSpecs = this.specializerSpecs.map(function (s, i) {
          var found = config.specializers.find(function (r) {
            return r.from == s.external;
          });
          if (!found) return s;
          var spec = Object.assign(Object.assign({}, s), {
            external: found.to
          });
          copy.specializers[i] = getSpecializer(spec);
          return spec;
        });
      }
      if (config.contextTracker) copy.context = config.contextTracker;
      if (config.dialect) copy.dialect = this.parseDialect(config.dialect);
      if (config.strict != null) copy.strict = config.strict;
      if (config.wrap) copy.wrappers = copy.wrappers.concat(config.wrap);
      if (config.bufferLength != null) copy.bufferLength = config.bufferLength;
      return copy;
    }
    /**
    Tells you whether any [parse wrappers](#lr.ParserConfig.wrap)
    are registered for this parser.
    */
  }, {
    key: "hasWrappers",
    value: function hasWrappers() {
      return this.wrappers.length > 0;
    }
    /**
    Returns the name associated with a given term. This will only
    work for all terms when the parser was generated with the
    `--names` option. By default, only the names of tagged terms are
    stored.
    */
  }, {
    key: "getName",
    value: function getName(term) {
      return this.termNames ? this.termNames[term] : String(term <= this.maxNode && this.nodeSet.types[term].name || term);
    }
    /**
    The eof term id is always allocated directly after the node
    types. @internal
    */
  }, {
    key: "eofTerm",
    get: function get() {
      return this.maxNode + 1;
    }
    /**
    The type of top node produced by the parser.
    */
  }, {
    key: "topNode",
    get: function get() {
      return this.nodeSet.types[this.top[1]];
    }
    /**
    @internal
    */
  }, {
    key: "dynamicPrecedence",
    value: function dynamicPrecedence(term) {
      var prec = this.dynamicPrecedences;
      return prec == null ? 0 : prec[term] || 0;
    }
    /**
    @internal
    */
  }, {
    key: "parseDialect",
    value: function parseDialect(dialect) {
      var values = Object.keys(this.dialects),
        flags = values.map(function () {
          return false;
        });
      if (dialect) {
        var _iterator6 = _createForOfIteratorHelper(dialect.split(" ")),
          _step6;
        try {
          for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {
            var part = _step6.value;
            var _id = values.indexOf(part);
            if (_id >= 0) flags[_id] = true;
          }
        } catch (err) {
          _iterator6.e(err);
        } finally {
          _iterator6.f();
        }
      }
      var disabled = null;
      for (var i = 0; i < values.length; i++) if (!flags[i]) {
        for (var j = this.dialects[values[i]], _id2; (_id2 = this.data[j++]) != 65535 /* Seq.End */;) (disabled || (disabled = new Uint8Array(this.maxTerm + 1)))[_id2] = 1;
      }
      return new Dialect(dialect, flags, disabled);
    }
    /**
    Used by the output of the parser generator. Not available to
    user code. @hide
    */
  }], [{
    key: "deserialize",
    value: function deserialize(spec) {
      return new LRParser(spec);
    }
  }]);
}(_common.Parser);
function pair(data, off) {
  return data[off] | data[off + 1] << 16;
}
function findFinished(stacks) {
  var best = null;
  var _iterator7 = _createForOfIteratorHelper(stacks),
    _step7;
  try {
    for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {
      var stack = _step7.value;
      var stopped = stack.p.stoppedAt;
      if ((stack.pos == stack.p.stream.end || stopped != null && stack.pos > stopped) && stack.p.parser.stateFlag(stack.state, 2 /* StateFlag.Accepting */) && (!best || best.score < stack.score)) best = stack;
    }
  } catch (err) {
    _iterator7.e(err);
  } finally {
    _iterator7.f();
  }
  return best;
}
function getSpecializer(spec) {
  if (spec.external) {
    var mask = spec.extend ? 1 /* Specialize.Extend */ : 0 /* Specialize.Specialize */;
    return function (value, stack) {
      return spec.external(value, stack) << 1 | mask;
    };
  }
  return spec.get;
}

}).call(this)}).call(this,require('_process'))
},{"@lezer/common":11,"_process":1}],15:[function(require,module,exports){
"use strict";

Object.defineProperty(exports, "__esModule", {
  value: true
});
Object.defineProperty(exports, "EditorView", {
  enumerable: true,
  get: function get() {
    return _view.EditorView;
  }
});
exports.minimalSetup = exports.basicSetup = void 0;
var _view = require("@codemirror/view");
var _state = require("@codemirror/state");
var _language = require("@codemirror/language");
var _commands = require("@codemirror/commands");
var _search = require("@codemirror/search");
var _autocomplete = require("@codemirror/autocomplete");
var _lint = require("@codemirror/lint");
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
// (The superfluous function calls around the list of extensions work
// around current limitations in tree-shaking software.)
/**
This is an extension value that just pulls together a number of
extensions that you might want in a basic editor. It is meant as a
convenient helper to quickly set up CodeMirror without installing
and importing a lot of separate packages.

Specifically, it includes...

 - [the default command bindings](https://codemirror.net/6/docs/ref/#commands.defaultKeymap)
 - [line numbers](https://codemirror.net/6/docs/ref/#view.lineNumbers)
 - [special character highlighting](https://codemirror.net/6/docs/ref/#view.highlightSpecialChars)
 - [the undo history](https://codemirror.net/6/docs/ref/#commands.history)
 - [a fold gutter](https://codemirror.net/6/docs/ref/#language.foldGutter)
 - [custom selection drawing](https://codemirror.net/6/docs/ref/#view.drawSelection)
 - [drop cursor](https://codemirror.net/6/docs/ref/#view.dropCursor)
 - [multiple selections](https://codemirror.net/6/docs/ref/#state.EditorState^allowMultipleSelections)
 - [reindentation on input](https://codemirror.net/6/docs/ref/#language.indentOnInput)
 - [the default highlight style](https://codemirror.net/6/docs/ref/#language.defaultHighlightStyle) (as fallback)
 - [bracket matching](https://codemirror.net/6/docs/ref/#language.bracketMatching)
 - [bracket closing](https://codemirror.net/6/docs/ref/#autocomplete.closeBrackets)
 - [autocompletion](https://codemirror.net/6/docs/ref/#autocomplete.autocompletion)
 - [rectangular selection](https://codemirror.net/6/docs/ref/#view.rectangularSelection) and [crosshair cursor](https://codemirror.net/6/docs/ref/#view.crosshairCursor)
 - [active line highlighting](https://codemirror.net/6/docs/ref/#view.highlightActiveLine)
 - [active line gutter highlighting](https://codemirror.net/6/docs/ref/#view.highlightActiveLineGutter)
 - [selection match highlighting](https://codemirror.net/6/docs/ref/#search.highlightSelectionMatches)
 - [search](https://codemirror.net/6/docs/ref/#search.searchKeymap)
 - [linting](https://codemirror.net/6/docs/ref/#lint.lintKeymap)

(You'll probably want to add some language package to your setup
too.)

This extension does not allow customization. The idea is that,
once you decide you want to configure your editor more precisely,
you take this package's source (which is just a bunch of imports
and an array literal), copy it into your own code, and adjust it
as desired.
*/
var basicSetup = exports.basicSetup = /*@__PURE__*/function () {
  return [(0, _view.lineNumbers)(), (0, _view.highlightActiveLineGutter)(), (0, _view.highlightSpecialChars)(), (0, _commands.history)(), (0, _language.foldGutter)(), (0, _view.drawSelection)(), (0, _view.dropCursor)(), _state.EditorState.allowMultipleSelections.of(true), (0, _language.indentOnInput)(), (0, _language.syntaxHighlighting)(_language.defaultHighlightStyle, {
    fallback: true
  }), (0, _language.bracketMatching)(), (0, _autocomplete.closeBrackets)(), (0, _autocomplete.autocompletion)(), (0, _view.rectangularSelection)(), (0, _view.crosshairCursor)(), (0, _view.highlightActiveLine)(), (0, _search.highlightSelectionMatches)(), _view.keymap.of([].concat(_toConsumableArray(_autocomplete.closeBracketsKeymap), _toConsumableArray(_commands.defaultKeymap), _toConsumableArray(_search.searchKeymap), _toConsumableArray(_commands.historyKeymap), _toConsumableArray(_language.foldKeymap), _toConsumableArray(_autocomplete.completionKeymap), _toConsumableArray(_lint.lintKeymap)))];
}();
/**
A minimal set of extensions to create a functional editor. Only
includes [the default keymap](https://codemirror.net/6/docs/ref/#commands.defaultKeymap), [undo
history](https://codemirror.net/6/docs/ref/#commands.history), [special character
highlighting](https://codemirror.net/6/docs/ref/#view.highlightSpecialChars), [custom selection
drawing](https://codemirror.net/6/docs/ref/#view.drawSelection), and [default highlight
style](https://codemirror.net/6/docs/ref/#language.defaultHighlightStyle).
*/
var minimalSetup = exports.minimalSetup = /*@__PURE__*/function () {
  return [(0, _view.highlightSpecialChars)(), (0, _commands.history)(), (0, _view.drawSelection)(), (0, _language.syntaxHighlighting)(_language.defaultHighlightStyle, {
    fallback: true
  }), _view.keymap.of([].concat(_toConsumableArray(_commands.defaultKeymap), _toConsumableArray(_commands.historyKeymap)))];
}();

},{"@codemirror/autocomplete":3,"@codemirror/commands":4,"@codemirror/language":6,"@codemirror/lint":7,"@codemirror/search":8,"@codemirror/state":9,"@codemirror/view":10}],16:[function(require,module,exports){
"use strict";

Object.defineProperty(exports, "__esModule", {
  value: true
});
exports["default"] = crelt;
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
function crelt() {
  var elt = arguments[0];
  if (typeof elt == "string") elt = document.createElement(elt);
  var i = 1,
    next = arguments[1];
  if (next && _typeof(next) == "object" && next.nodeType == null && !Array.isArray(next)) {
    for (var name in next) if (Object.prototype.hasOwnProperty.call(next, name)) {
      var value = next[name];
      if (typeof value == "string") elt.setAttribute(name, value);else if (value != null) elt[name] = value;
    }
    i++;
  }
  for (; i < arguments.length; i++) add(elt, arguments[i]);
  return elt;
}
function add(elt, child) {
  if (typeof child == "string") {
    elt.appendChild(document.createTextNode(child));
  } else if (child == null) {} else if (child.nodeType != null) {
    elt.appendChild(child);
  } else if (Array.isArray(child)) {
    for (var i = 0; i < child.length; i++) add(elt, child[i]);
  } else {
    throw new RangeError("Unsupported child node: " + child);
  }
}

},{}],17:[function(require,module,exports){
"use strict";

Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.StyleModule = void 0;
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
var C = "\u037C";
var COUNT = typeof Symbol == "undefined" ? "__" + C : Symbol["for"](C);
var SET = typeof Symbol == "undefined" ? "__styleSet" + Math.floor(Math.random() * 1e8) : Symbol("styleSet");
var top = typeof globalThis != "undefined" ? globalThis : typeof window != "undefined" ? window : {};

// :: - Style modules encapsulate a set of CSS rules defined from
// JavaScript. Their definitions are only available in a given DOM
// root after it has been _mounted_ there with `StyleModule.mount`.
//
// Style modules should be created once and stored somewhere, as
// opposed to re-creating them every time you need them. The amount of
// CSS rules generated for a given DOM root is bounded by the amount
// of style modules that were used. So to avoid leaking rules, don't
// create these dynamically, but treat them as one-time allocations.
var StyleModule = exports.StyleModule = /*#__PURE__*/function () {
  // :: (Object<Style>, ?{finish: ?(string) → string})
  // Create a style module from the given spec.
  //
  // When `finish` is given, it is called on regular (non-`@`)
  // selectors (after `&` expansion) to compute the final selector.
  function StyleModule(spec, options) {
    _classCallCheck(this, StyleModule);
    this.rules = [];
    var _ref = options || {},
      finish = _ref.finish;
    function splitSelector(selector) {
      return /^@/.test(selector) ? [selector] : selector.split(/,\s*/);
    }
    function render(selectors, spec, target, isKeyframes) {
      var local = [],
        isAt = /^@(\w+)\b/.exec(selectors[0]),
        keyframes = isAt && isAt[1] == "keyframes";
      if (isAt && spec == null) return target.push(selectors[0] + ";");
      for (var prop in spec) {
        var value = spec[prop];
        if (/&/.test(prop)) {
          render(prop.split(/,\s*/).map(function (part) {
            return selectors.map(function (sel) {
              return part.replace(/&/, sel);
            });
          }).reduce(function (a, b) {
            return a.concat(b);
          }), value, target);
        } else if (value && _typeof(value) == "object") {
          if (!isAt) throw new RangeError("The value of a property (" + prop + ") should be a primitive value.");
          render(splitSelector(prop), value, local, keyframes);
        } else if (value != null) {
          local.push(prop.replace(/_.*/, "").replace(/[A-Z]/g, function (l) {
            return "-" + l.toLowerCase();
          }) + ": " + value + ";");
        }
      }
      if (local.length || keyframes) {
        target.push((finish && !isAt && !isKeyframes ? selectors.map(finish) : selectors).join(", ") + " {" + local.join(" ") + "}");
      }
    }
    for (var prop in spec) render(splitSelector(prop), spec[prop], this.rules);
  }

  // :: () → string
  // Returns a string containing the module's CSS rules.
  return _createClass(StyleModule, [{
    key: "getRules",
    value: function getRules() {
      return this.rules.join("\n");
    }

    // :: () → string
    // Generate a new unique CSS class name.
  }], [{
    key: "newName",
    value: function newName() {
      var id = top[COUNT] || 1;
      top[COUNT] = id + 1;
      return C + id.toString(36);
    }

    // :: (union<Document, ShadowRoot>, union<[StyleModule], StyleModule>, ?{nonce: ?string})
    //
    // Mount the given set of modules in the given DOM root, which ensures
    // that the CSS rules defined by the module are available in that
    // context.
    //
    // Rules are only added to the document once per root.
    //
    // Rule order will follow the order of the modules, so that rules from
    // modules later in the array take precedence of those from earlier
    // modules. If you call this function multiple times for the same root
    // in a way that changes the order of already mounted modules, the old
    // order will be changed.
    //
    // If a Content Security Policy nonce is provided, it is added to
    // the `<style>` tag generated by the library.
  }, {
    key: "mount",
    value: function mount(root, modules, options) {
      var set = root[SET],
        nonce = options && options.nonce;
      if (!set) set = new StyleSet(root, nonce);else if (nonce) set.setNonce(nonce);
      set.mount(Array.isArray(modules) ? modules : [modules], root);
    }
  }]);
}();
var adoptedSet = new Map(); //<Document, StyleSet>
var StyleSet = /*#__PURE__*/function () {
  function StyleSet(root, nonce) {
    _classCallCheck(this, StyleSet);
    var doc = root.ownerDocument || root,
      win = doc.defaultView;
    if (!root.head && root.adoptedStyleSheets && win.CSSStyleSheet) {
      var adopted = adoptedSet.get(doc);
      if (adopted) return root[SET] = adopted;
      this.sheet = new win.CSSStyleSheet();
      adoptedSet.set(doc, this);
    } else {
      this.styleTag = doc.createElement("style");
      if (nonce) this.styleTag.setAttribute("nonce", nonce);
    }
    this.modules = [];
    root[SET] = this;
  }
  return _createClass(StyleSet, [{
    key: "mount",
    value: function mount(modules, root) {
      var sheet = this.sheet;
      var pos = 0 /* Current rule offset */,
        j = 0; /* Index into this.modules */
      for (var i = 0; i < modules.length; i++) {
        var mod = modules[i],
          index = this.modules.indexOf(mod);
        if (index < j && index > -1) {
          // Ordering conflict
          this.modules.splice(index, 1);
          j--;
          index = -1;
        }
        if (index == -1) {
          this.modules.splice(j++, 0, mod);
          if (sheet) for (var k = 0; k < mod.rules.length; k++) sheet.insertRule(mod.rules[k], pos++);
        } else {
          while (j < index) pos += this.modules[j++].rules.length;
          pos += mod.rules.length;
          j++;
        }
      }
      if (sheet) {
        if (root.adoptedStyleSheets.indexOf(this.sheet) < 0) root.adoptedStyleSheets = [this.sheet].concat(_toConsumableArray(root.adoptedStyleSheets));
      } else {
        var text = "";
        for (var _i = 0; _i < this.modules.length; _i++) text += this.modules[_i].getRules() + "\n";
        this.styleTag.textContent = text;
        var target = root.head || root;
        if (this.styleTag.parentNode != target) target.insertBefore(this.styleTag, target.firstChild);
      }
    }
  }, {
    key: "setNonce",
    value: function setNonce(nonce) {
      if (this.styleTag && this.styleTag.getAttribute("nonce") != nonce) this.styleTag.setAttribute("nonce", nonce);
    }
  }]);
}(); // Style::Object<union<Style,string>>
//
// A style is an object that, in the simple case, maps CSS property
// names to strings holding their values, as in `{color: "red",
// fontWeight: "bold"}`. The property names can be given in
// camel-case—the library will insert a dash before capital letters
// when converting them to CSS.
//
// If you include an underscore in a property name, it and everything
// after it will be removed from the output, which can be useful when
// providing a property multiple times, for browser compatibility
// reasons.
//
// A property in a style object can also be a sub-selector, which
// extends the current context to add a pseudo-selector or a child
// selector. Such a property should contain a `&` character, which
// will be replaced by the current selector. For example `{"&:before":
// {content: '"hi"'}}`. Sub-selectors and regular properties can
// freely be mixed in a given object. Any property containing a `&` is
// assumed to be a sub-selector.
//
// Finally, a property can specify an @-block to be wrapped around the
// styles defined inside the object that's the property's value. For
// example to create a media query you can do `{"@media screen and
// (min-width: 400px)": {...}}`.

},{}],18:[function(require,module,exports){
"use strict";

Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.base = void 0;
exports.keyName = keyName;
exports.shift = void 0;
var base = exports.base = {
  8: "Backspace",
  9: "Tab",
  10: "Enter",
  12: "NumLock",
  13: "Enter",
  16: "Shift",
  17: "Control",
  18: "Alt",
  20: "CapsLock",
  27: "Escape",
  32: " ",
  33: "PageUp",
  34: "PageDown",
  35: "End",
  36: "Home",
  37: "ArrowLeft",
  38: "ArrowUp",
  39: "ArrowRight",
  40: "ArrowDown",
  44: "PrintScreen",
  45: "Insert",
  46: "Delete",
  59: ";",
  61: "=",
  91: "Meta",
  92: "Meta",
  106: "*",
  107: "+",
  108: ",",
  109: "-",
  110: ".",
  111: "/",
  144: "NumLock",
  145: "ScrollLock",
  160: "Shift",
  161: "Shift",
  162: "Control",
  163: "Control",
  164: "Alt",
  165: "Alt",
  173: "-",
  186: ";",
  187: "=",
  188: ",",
  189: "-",
  190: ".",
  191: "/",
  192: "`",
  219: "[",
  220: "\\",
  221: "]",
  222: "'"
};
var shift = exports.shift = {
  48: ")",
  49: "!",
  50: "@",
  51: "#",
  52: "$",
  53: "%",
  54: "^",
  55: "&",
  56: "*",
  57: "(",
  59: ":",
  61: "+",
  173: "_",
  186: ":",
  187: "+",
  188: "<",
  189: "_",
  190: ">",
  191: "?",
  192: "~",
  219: "{",
  220: "|",
  221: "}",
  222: "\""
};
var mac = typeof navigator != "undefined" && /Mac/.test(navigator.platform);
var ie = typeof navigator != "undefined" && /MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);

// Fill in the digit keys
for (var i = 0; i < 10; i++) base[48 + i] = base[96 + i] = String(i);

// The function keys
for (var i = 1; i <= 24; i++) base[i + 111] = "F" + i;

// And the alphabetic keys
for (var i = 65; i <= 90; i++) {
  base[i] = String.fromCharCode(i + 32);
  shift[i] = String.fromCharCode(i);
}

// For each code that doesn't have a shift-equivalent, copy the base name
for (var code in base) if (!shift.hasOwnProperty(code)) shift[code] = base[code];
function keyName(event) {
  // On macOS, keys held with Shift and Cmd don't reflect the effect of Shift in `.key`.
  // On IE, shift effect is never included in `.key`.
  var ignoreKey = mac && event.metaKey && event.shiftKey && !event.ctrlKey && !event.altKey || ie && event.shiftKey && event.key && event.key.length == 1 || event.key == "Unidentified";
  var name = !ignoreKey && event.key || (event.shiftKey ? shift : base)[event.keyCode] || event.key || "Unidentified";
  // Edge sometimes produces wrong names (Issue #3)
  if (name == "Esc") name = "Escape";
  if (name == "Del") name = "Delete";
  // https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/8860571/
  if (name == "Left") name = "ArrowLeft";
  if (name == "Up") name = "ArrowUp";
  if (name == "Right") name = "ArrowRight";
  if (name == "Down") name = "ArrowDown";
  return name;
}

},{}],19:[function(require,module,exports){
"use strict";

Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.activeButton = void 0;
exports.disablePauseButton = disablePauseButton;
exports.disablePlayButton = disablePlayButton;
exports.disableStopButton = disableStopButton;
exports.enablePauseButton = enablePauseButton;
exports.enablePlayButton = enablePlayButton;
exports.enableStopButton = enableStopButton;
exports.initButtons = initButtons;
exports.resetControlButtons = resetControlButtons;
exports.sliderSpeed = void 0;
var _hamster = require("./hamster.js");
var _canvas = require("./canvas.js");
var _dialogs = require("./dialogs.js");
var _controls = require("./controls.js");
var _saveAndLoad = require("./saveAndLoad.js");
var infoBtn;
var grainBtn;
var wallBtn;
var deleteBtn;
var playBtn;
var pauseBtn;
var stopBtn;
var resetBtn;
var activeButton;
var rightBox;
var rightBoxFixed;
var slider;
var sliderSpeed;

/**
 * Setzt das disabled-Attribut des Play-Buttons auf falsch.
 */
function enablePlayButton() {
  playBtn.disabled = false;
}

/**
 * Setzt das disabled-Attribut des Play-Buttons auf wahr.
 */
function disablePlayButton() {
  playBtn.disabled = true;
}

/**
 * Setzt das disabled-Attribut des Pause-Buttons auf falsch.
 */
function enablePauseButton() {
  pauseBtn.disabled = false;
}

/**
 * Setzt das disabled-Attribut des Pause-Buttons auf wahr.
 */
function disablePauseButton() {
  pauseBtn.disabled = true;
}

/**
 * Setzt das disabled-Attribut des Stopp-Buttons auf falsch.
 */
function enableStopButton() {
  stopBtn.disabled = false;
}

/**
 * Setzt das disabled-Attribut des Stopp-Buttons auf wahr.
 */
function disableStopButton() {
  stopBtn.disabled = true;
}

/**
 * Initialisiert die Funktionen der Buttons.
 */
function initButtons() {
  infoBtn = document.getElementById('info-button');
  grainBtn = document.getElementById('grain-button');
  wallBtn = document.getElementById('wall-button');
  deleteBtn = document.getElementById('delete-button');
  playBtn = document.getElementById('play-button');
  pauseBtn = document.getElementById('pause-button');
  stopBtn = document.getElementById('stop-button');
  resetBtn = document.getElementById('reset-button');
  rightBox = document.getElementById('right-box');
  slider = document.getElementById('slider');
  exports.activeButton = activeButton = null;
  rightBoxFixed = false;
  window.addEventListener('scroll', changeControlButtonPlacement, false);
  playBtn.addEventListener('click', handlePlayButtonClicked);
  pauseBtn.addEventListener('click', handlePauseButtonClicked);
  stopBtn.addEventListener('click', handleStopButtonClicked);
  resetBtn.addEventListener('click', handleResetButtonClicked);
  slider.addEventListener('change', changeSliderSpeed);
  changeSliderSpeed();

  // Territorium-Designer-Buttons auswählen und Event-Listener hinzufügen
  var buttons = document.querySelectorAll('.territorium-design-button');
  buttons.forEach(function (button) {
    button.addEventListener('click', function (evt) {
      return changeBackgroundColor(evt, "territorium-design-button");
    });
  });
  var changeDirectionBtn = document.getElementById('change-hamster-direction-button');
  changeDirectionBtn.addEventListener('click', handleChangeDirectionButtonClicked);
  var giveHamsterGrainsBtn = document.getElementById('give-hamster-grains-button');
  giveHamsterGrainsBtn.addEventListener('click', handleGiveHamsterGrainsButtonClicked);

  // Control-Buttons auswählen und Event-Listener hinzufügen
  var cButtons = document.querySelectorAll('.control-button');
  cButtons.forEach(function (button) {
    button.addEventListener('click', function (evt) {
      return changeBackgroundColor(evt, "control-button");
    });
  });

  // Button zum Ändern der Territorium-Größe
  var changeSizeButton = document.getElementById('change-size-button');
  changeSizeButton.addEventListener('click', handleChangeSizeButtonClicked);
  var dialogButtons = document.querySelectorAll('.dialog-buttons button');
  dialogButtons.forEach(function (button) {
    button.addEventListener('click', _dialogs.closeChangeSizeDialog);
  });
}

/**
 * Führt Aktionen aus, wenn der ChangeDirection-Button geklickt wurde.
 */
function handleChangeDirectionButtonClicked() {
  (0, _dialogs.closeTerritoryTooltip)();
  resetTerritoryButtons();
  _hamster.hamster.turnLeft();
}

/**
 * Führt Aktionen aus, wenn der GiveHamsterGrains-Button geklickt wurde.
 */
function handleGiveHamsterGrainsButtonClicked() {
  (0, _dialogs.closeTerritoryTooltip)();
  resetTerritoryButtons();
  (0, _dialogs.openAddGrainsHamsterDialog)();
}

/**
 * Führt Aktionen aus, wenn der ChangeSize-Button geklickt wurde.
 */
function handleChangeSizeButtonClicked() {
  (0, _dialogs.closeTerritoryTooltip)();
  resetTerritoryButtons();
  (0, _dialogs.openChangeSizeDialog)();
}

/**
 * Führt Aktionen aus, wenn der Play-Button geklickt wurde.
 */
function handlePlayButtonClicked() {
  (0, _canvas.resetHamster)();
  resetTerritoryButtons();
  (0, _controls.runCode)();
}

/**
 * Führt Aktionen aus, wenn der Pause-Button geklickt wurde.
 */
function handlePauseButtonClicked() {
  resetTerritoryButtons();
  (0, _controls.pauseCode)();
}

/**
 * Führt Aktionen aus, wenn der Stop-Button geklickt wurde.
 */
function handleStopButtonClicked() {
  resetTerritoryButtons();
  (0, _controls.stopCode)();
}

/**
 * Führt Aktionen aus, wenn der Reset-Button geklickt wurde.
 */
function handleResetButtonClicked() {
  resetTerritoryButtons();
  (0, _controls.stopCode)();
  (0, _saveAndLoad.loadTemporaryTerritory)();
  window.setTimeout(resetControlButtons, 200);
}

/**
 * Aktualisiert den Wert von sliderSpeed, wenn der Slider bewegt wird.
 *
 */
function changeSliderSpeed() {
  var currentSpeed = slider.value;
  exports.sliderSpeed = sliderSpeed = 100 - currentSpeed;
  slider.title = currentSpeed;
}

/**
 * Ändert den Hintergrund des Buttons.
 * 
 * @param event, das auslösende Event.
 * @param classname, Klassenname der Buttons.
 */
function changeBackgroundColor(event, classname) {
  (0, _canvas.disableTouch)();
  (0, _dialogs.closeTerritoryTooltip)();
  resetBackgroundColor(classname);
  var element = event.target;
  var button;
  if (element.tagName === "IMG") {
    button = element.parentElement;
  } else {
    button = element;
  }
  if (activeButton === event.target || activeButton === event.target.parentElement) {
    button.style.backgroundColor = "";
    exports.activeButton = activeButton = null;
    return;
  }

  // button.style.backgroundColor = "#e0e0e0";
  button.style.backgroundColor = "#f0f0f0";
  button.style.borderWidth = "3px";
  button.style.borderColor = "#000000";
  exports.activeButton = activeButton = button;
}

/**
 * Setzt die Hintergrundfarbe der Kontrolle-Buttons sowie den aktiven Button auf den Standardwert zurück.
 */
function resetControlButtons() {
  resetBackgroundColor('control-button');
  exports.activeButton = activeButton = null;
  (0, _canvas.enableTouch)();
}

/**
 * Setzt die Hintergrundfarbe der Territorium-Buttons sowie den aktiven Button auf den Standardwert zurück.
 */
function resetTerritoryButtons() {
  resetBackgroundColor('territorium-design-button');
  exports.activeButton = activeButton = null;
}

/**
 * Setzt den Zustand aller Buttons auf default zurück.
 * 
 * @param classname, Klassenname der Buttons.
 */
function resetBackgroundColor(classname) {
  var buttonImages = document.querySelectorAll('.' + CSS.escape(classname) + ' img');
  // let buttonImages = document.querySelectorAll('.territorium-design-button img');
  buttonImages.forEach(function (button) {
    button.style.backgroundColor = "";
  });
  var buttons = document.querySelectorAll('.' + CSS.escape(classname));
  // let buttons = document.querySelectorAll('.territorium-design-button');
  buttons.forEach(function (button) {
    button.style.backgroundColor = "";
    button.style.borderWidth = "";
    button.style.borderColor = "#000000";
  });
}

/**
 * Überprüft, ob die Platzierung der Buttons verändert werden muss.
 * Dies ist der Fall, wenn die Höhe des Territoriums in der mobilen Ansicht größer als die Bildschirmhöhe ist
 * und nach unten gescrollt wird.
 */
function changeControlButtonPlacement() {
  var neededSpace = rightBox.offsetHeight + parseInt(window.getComputedStyle(_canvas.canvas).marginTop) + parseInt(window.getComputedStyle(_canvas.canvas).borderWidth);
  if (_canvas.canvas.getBoundingClientRect().top <= neededSpace) {
    if (!rightBoxFixed) {
      setControlButtonsFixed();
      rightBoxFixed = true;
    }
  } else {
    if (rightBoxFixed) {
      setControlButtonsStatic();
      rightBoxFixed = false;
    }
  }
}

/**
 * Setzt die Position des rightBox-Elements auf fixed.
 */
function setControlButtonsFixed() {
  rightBox.style.position = "fixed";
}

/**
 * Setzt die Position des rightBox-Elements auf static.
 */
function setControlButtonsStatic() {
  rightBox.style.position = "static";
}

},{"./canvas.js":20,"./controls.js":30,"./dialogs.js":31,"./hamster.js":32,"./saveAndLoad.js":36}],20:[function(require,module,exports){
"use strict";

function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.CellContent = void 0;
exports.calculateCanvasSize = calculateCanvasSize;
exports.calculateGridSize = calculateGridSize;
exports.cols = exports.cellWidth = exports.cellHeight = exports.canvas = void 0;
exports.createNewTerritoryContent = createNewTerritoryContent;
exports.disableTouch = disableTouch;
exports.drawAll = drawAll;
exports.drawHamsters = drawHamsters;
exports.enableTouch = enableTouch;
exports.getScreenHeight = getScreenHeight;
exports.getScreenWidth = getScreenWidth;
exports.initCanvas = initCanvas;
exports.initHamster = initHamster;
exports.loadPage = loadPage;
exports.pointerClickY = exports.pointerClickX = void 0;
exports.resetHamster = resetHamster;
exports.resizeTerritory = resizeTerritory;
exports.rows = void 0;
exports.setColumns = setColumns;
exports.setRows = setRows;
exports.territoryContent = void 0;
var _hamster = require("./hamster.js");
var _buttons = require("./buttons.js");
var _dialogs = require("./dialogs.js");
var _saveAndLoad = require("./saveAndLoad");
function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator["return"] && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, "catch": function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
var currentX;
var currentY;
var hamsterX, hamsterY;
var hamsterTempX, hamsterTempY;
var actorRow;
var actorColumn;
var numberOfGrains;
var territoryContent;
var territoryWrapper;
var windowWidth;
var windowHeight;
var canvas;
var rows;
var cols;
var cellWidth = exports.cellWidth = 50;
var cellHeight = exports.cellHeight = 50;
var territory;
var deleteImage = new Image();
var wallImage = new Image();
var grainImage = new Image();
var actorImage;
var isDragging = false;
var touchEnabled = true;
var offsetX, offsetY;
var offsetStartX, offsetEndX, offsetStartY, offsetEndY;
var pointerX, pointerY;
var pointerClickX;
var pointerClickY;
var pointerStartX, pointerEndX, pointerStartY, pointerEndY;

/**
 * Initialisiert beim Laden der Webseite die Variablen.
 */
function loadPage() {
  windowWidth = document.body.clientWidth;
  windowHeight = document.body.clientHeight;
  exports.canvas = canvas = document.getElementById('myCanvas');
  territory = canvas.getContext('2d');
  territoryWrapper = document.getElementById('territorium-wrapper');
  actorRow = 0;
  actorColumn = 0;
  exports.rows = rows = 9;
  exports.cols = cols = 10;
  numberOfGrains = 1;
  deleteImage.src = "./img/territory-buttons/delete-40x40.svg";
  wallImage.src = "./img/territory-buttons/wall-40x40.svg";
  grainImage.src = "./img/territory-buttons/corn-40x40.svg";
  currentX = 25;
  currentY = 25;
  hamsterX = 25;
  hamsterY = 25;
  window.addEventListener('resize', resizeWindow);
  calculateCanvasSize();
}

/**
 * Berechnet die Werte des Grid-Wrappers neu, wenn die Größe des Fensters verändert wird.
 */
function resizeWindow() {
  calculateGridSize();
}

/**
 * Setter für die Reihen des Territoriums
 *
 * @param value, neuer Wert.
 */
function setRows(value) {
  exports.rows = rows = value;
}

/**
 * Setter für die Spalten des Territoriums
 *
 * @param value, neuer Wert.
 */
function setColumns(value) {
  exports.cols = cols = value;
}

/**
 * Initialisiert beim Laden der Webseite alle Hamster mit den gewünschten Werten.
 */
function initHamster() {
  (0, _hamster.createNewDefaultHamster)();
  _hamster.hamster.init(0, 0, 1, 0);
  _hamster.hamster.setName("hamster");
  (0, _hamster.addToHamsterArray)(_hamster.hamster);
}

/**
 * Entfernt alle aktiven Hamster aus dem Territorium und platziert den Default-Hamster an seiner alten Position.
 */
function resetHamster() {
  _hamster.hamsters.forEach(function (currentHamster) {
    if (currentHamster.isInitialized()) {
      territoryContent[currentHamster.getRow()][currentHamster.getColumn()].removeHamster(currentHamster);
    }
  });
  (0, _hamster.clearHamsterArray)();
  (0, _hamster.addToHamsterArray)(_hamster.hamster);
  territoryContent[_hamster.hamster.getRow()][_hamster.hamster.getColumn()].addHamster(_hamster.hamster);
  (0, _hamster.resetHamsterCounter)();
  drawAll();
}

/**
 * Initialisiert beim Laden der Webseite das Canvas und seine Funktionen.
 */
function initCanvas() {
  initTerritory();
  canvas.onpointerdown = handlePointerDownCanvas;
  canvas.onpointermove = handlePointerMoveCanvas;
  canvas.onpointerup = null;
  document.onpointerup = handlePointerUpDocument;
}

/**
 * Führt Aktionen beim Loslassen des Pointers innerhalb des Dokuments aus.
 * 
 * Überprüft, ob die Drag-und-Drop-Funktion des Canvas gerade benutzt wird und beendet diese ggf.
 * 
 * @param event, das auslösende Event.
 */
function handlePointerUpDocument(event) {
  event.preventDefault();
  if (isDragging) {
    var clickX = event.pageX;
    var clickY = event.pageY;
    if (clickX - (canvas.offsetLeft + canvas.width) <= 3 && clickX - (canvas.offsetLeft + canvas.width) >= 1) {
      return;
    }
    if (clickX < canvas.offsetLeft || clickX > canvas.offsetLeft + canvas.width || clickY < canvas.offsetTop || clickY > canvas.offsetTop + canvas.height && getScreenWidth() > 1024) {
      canvas.onpointerup(event);
    }
  }
}

/**
 * Schaltet die Touch-Aktion für den Territoriums-Wrapper ein.
 */
function enableTouch() {
  if (!touchEnabled) {
    territoryWrapper.style.touchAction = "auto";
    touchEnabled = true;
  }
}

/**
 * Schaltet die Touch-Aktion für den Territoriums-Wrapper aus.
 */
function disableTouch() {
  if (touchEnabled) {
    territoryWrapper.style.touchAction = "none";
    touchEnabled = false;
  }
}

/**
 * Handelt das Verhalten, wenn der Pointer (Maus oder Touch) innerhalb des Canvas ausgeführt wird.
 * 
 * @param event, das auslösende Event.
 */
function handlePointerDownCanvas(event) {
  // Ignoriere Rechtsklick
  if (event.which === 3) {
    return;
  }
  event.preventDefault();

  // Setzt die Koordinaten des aktuellen Klicks.
  exports.pointerClickX = pointerClickX = event.pageX;
  exports.pointerClickY = pointerClickY = event.pageY;

  // Setzt die aktuellen Koordinaten des Klicks innerhalb des Territoriums.
  offsetX = event.pageX - canvas.offsetLeft;
  offsetY = event.pageY - canvas.offsetTop;
  var wrapper = document.getElementById('inner-wrapper');
  offsetX = offsetX + wrapper.scrollLeft;
  offsetY = offsetY + wrapper.scrollTop;

  // Setzt die Startkoordinaten für Drag-and-Drop.
  offsetStartX = offsetX;
  offsetStartY = offsetY;
  actualMousePositionToCoords(offsetX, offsetY);
  pointerStartX = pointerX;
  pointerStartY = pointerY;
  pointerEndX = pointerX;
  pointerEndY = pointerY;
  if (_buttons.activeButton === null) {
    if (_hamster.hamster.getRow() !== pointerY || _hamster.hamster.getColumn() !== pointerX) {
      enableTouch();
      return;
    } else {
      hamsterTempX = _hamster.hamster.getRow();
      hamsterTempY = _hamster.hamster.getColumn();
      disableTouch();
    }
    canvas.onpointerup = handlePointerUpActor;
  } else {
    disableTouch();
    switch (_buttons.activeButton.id) {
      case "info-button":
        canvas.onpointerup = handlePointerUpInfo;
        break;
      case "grain-button":
        canvas.onpointerup = handlePointerUpGrain;
        break;
      case "wall-button":
        canvas.onpointerup = handlePointerUpWall;
        break;
      case "delete-button":
        canvas.onpointerup = handlePointerUpDelete;
        break;
      default:
        return;
    }
  }
  isDragging = true;
}

/**
 * Zeigt für die ausgewählte Zelle innerhalb des Territoriums eine Infobox an.
 * 
 * @param event, das auslösende Event.
 */
function handlePointerUpInfo(event) {
  if (!isDragging) {
    return;
  }
  event.preventDefault();
  showCanvasInfo();
  endDragAndDrop();
}

/**
 * Aktualisiert das Territorium, beim Beenden des Drag-and-Drop-Vorgangs mit aktivierten Korn-Button.
 * 
 * @param event, das auslösende Event.
 */
function handlePointerUpGrain(_x) {
  return _handlePointerUpGrain.apply(this, arguments);
}
/**
 * Aktualisiert das Territorium, beim Beenden des Drag-and-Drop-Vorgangs mit aktivierten Mauer-Button.
 * 
 * @param event, das auslösende Event.
 */
function _handlePointerUpGrain() {
  _handlePointerUpGrain = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(event) {
    var input;
    return _regeneratorRuntime().wrap(function _callee$(_context) {
      while (1) switch (_context.prev = _context.next) {
        case 0:
          if (isDragging) {
            _context.next = 2;
            break;
          }
          return _context.abrupt("return");
        case 2:
          event.preventDefault();

          // Änderung von isDragging nötig, damit der Backdrop des Dialogs funktioniert.
          isDragging = false;
          _context.next = 6;
          return (0, _dialogs.createPromiseForAddGrainsDialog)();
        case 6:
          input = _context.sent;
          isDragging = true;
          if (input !== null) {
            updateTerritoryGrain(input);
          } else {
            drawAll();
          }
          endDragAndDrop();
        case 10:
        case "end":
          return _context.stop();
      }
    }, _callee);
  }));
  return _handlePointerUpGrain.apply(this, arguments);
}
function handlePointerUpWall(event) {
  if (!isDragging) {
    return;
  }
  event.preventDefault();
  updateTerritoryWall();
  endDragAndDrop();
}

/**
 * Aktualisiert das Territorium, beim Beenden des Mauer-Drag-and-Drop-Vorgangs mit aktivierten Delete-Button.
 * 
 * @param event, das auslösende Event.
 */
function handlePointerUpDelete(event) {
  if (!isDragging) {
    return;
  }
  event.preventDefault();
  updateTerritoryDelete();
  endDragAndDrop();
}

/**
 * Rechnet die Position des Pointers in Koordinaten des Territoriums um.

 * @param posX -Koordinate des Pointers.
 * @param posY -Koordinate des Pointers.
 */
function actualMousePositionToCoords(posX, posY) {
  pointerX = Math.floor(posX / cellWidth);
  if (pointerX === cols) {
    pointerX = cols - 1;
  } else if (pointerX < 0) {
    pointerX = 0;
  }
  pointerY = Math.floor(posY / cellHeight);
  if (pointerY === rows) {
    pointerY = rows - 1;
  } else if (pointerY < 0) {
    pointerY = 0;
  }
}

/**
 * Aktualisiert die Positionswerte des Akteurs, beim Beenden des Drag-and-Drop-Vorgangs.
 * 
 * @param event, das auslösende Event.
 */
function handlePointerUpActor(event) {
  event.preventDefault();
  if (!isDragging) {
    return;
  }
  offsetX = event.pageX - canvas.offsetLeft;
  offsetY = event.pageY - canvas.offsetTop;
  var wrapper = document.getElementById('inner-wrapper');
  offsetX = offsetX + wrapper.scrollLeft;
  offsetY = offsetY + wrapper.scrollTop;
  if (territoryContent[_hamster.hamster.getRow()][_hamster.hamster.getColumn()].hasWall()) {
    _hamster.hamster.setRow(hamsterTempX);
    _hamster.hamster.setColumn(hamsterTempY);
  }
  drawAll();
  endDragAndDrop();
  enableTouch();
}

/**
 * Setzt die Werte und Methoden nach Beenden des Drag-and-Drop-Vorgangs auf default zurück.
 */
function endDragAndDrop() {
  canvas.onpointerup = null;
  isDragging = false;
}

/**
 * Berechnet den Drag-and-Drop-Bereich und führt je nach aktivierten Button unterschiedliche Aktionen aus.
 * 
 * @param event, das auslösende Event.
 */
function handlePointerMoveCanvas(event) {
  if (!isDragging) {
    return;
  }
  event.preventDefault();
  offsetX = event.pageX - canvas.offsetLeft;
  offsetY = event.pageY - canvas.offsetTop;
  var wrapper = document.getElementById('inner-wrapper');
  offsetX = offsetX + wrapper.scrollLeft;
  offsetY = offsetY + wrapper.scrollTop;
  offsetEndX = offsetX;
  offsetEndY = offsetY;
  actualMousePositionToCoords(offsetX, offsetY);
  if (_buttons.activeButton === null) {
    territoryContent[_hamster.hamster.getRow()][_hamster.hamster.getColumn()].removeHamster(_hamster.hamster);
    if (pointerY > rows - 1) {
      _hamster.hamster.setRow(rows - 1);
    } else {
      _hamster.hamster.setRow(pointerY);
    }
    if (pointerX > cols - 1) {
      _hamster.hamster.setColumn(cols - 1);
    } else {
      _hamster.hamster.setColumn(pointerX);
    }
    draw();
    drawTerritoryContent();
    drawHamsterTmp();
  } else {
    draw();
    drawTerritoryContent();
    switch (_buttons.activeButton.id) {
      case "info-button":
        setAreaToDraw();
        break;
      case "grain-button":
        drawGrainsTmp();
        break;
      case "wall-button":
        drawWallsTmp();
        break;
      case "delete-button":
        drawDeleteTmp();
        break;
      default:
        return;
    }
  }
}

/**
 * Erzeugt einen neuen Territorium-Inhalt und füllt diesen mit leeren Zellen.
 * 
 * @returns {any[]} 2D-Matrix mit CellContents.
 */
function createNewTerritoryContent() {
  var territoryContentNew = new Array(rows);
  for (var r = 0; r < rows; r++) {
    territoryContentNew[r] = new Array(cols);
  }
  // fill Territory matrix
  for (var _r = 0; _r < rows; _r++) {
    for (var c = 0; c < cols; c++) {
      if (_r < territoryContent.length && c < territoryContent[_r].length) {
        territoryContentNew[_r][c] = territoryContent[_r][c];
      } else {
        territoryContentNew[_r][c] = new CellContent();
      }
    }
  }
  exports.territoryContent = territoryContent = territoryContentNew;
  return territoryContentNew;
}

/**
 * Blendet für die Zelle der aktuellen Pointer-Koordinaten den Info-Tooltip ein.
 */
function showCanvasInfo() {
  var actualCellContent = territoryContent[pointerY][pointerX];
  (0, _dialogs.showTerritoryTooltip)(actualCellContent);
}

/**
 * Setzt bei den ausgewählten Zellen des Territoriums das Korn-Attribut auf wahr und zeichnet anschließend den
 * Inhalt des Territoriums neu.
 * 
 * @param numberOfGrains, Anzahl der Körner, die hinzugefügt werden sollen.
 */
function updateTerritoryGrain(numberOfGrains) {
  var territoryContentNew = createNewTerritoryContent();
  for (var r = pointerStartY; r <= pointerEndY; r++) {
    for (var c = pointerStartX; c <= pointerEndX; c++) {
      if (r >= rows || c >= cols) {
        continue;
      }
      if (territoryContentNew[r][c].hasWall()) {
        territoryContentNew[r][c].setWall(false);
      }
      territoryContentNew[r][c].setGrain(true);
      territoryContentNew[r][c].setGrainAmount(numberOfGrains);
    }
  }
  exports.territoryContent = territoryContent = territoryContentNew;
  drawAll();
}

/**
 * Setzt bei den ausgewählten Zellen des Territoriums das wall-Attribut auf wahr und zeichnet anschließend den
 * Inhalt des Territoriums neu.
 */
function updateTerritoryWall() {
  var territoryContentNew = createNewTerritoryContent();
  for (var r = pointerStartY; r <= pointerEndY; r++) {
    for (var c = pointerStartX; c <= pointerEndX; c++) {
      if (r >= rows || c >= cols) {
        continue;
      }
      if (territoryContentNew[r][c].hasGrain()) {
        territoryContentNew[r][c].setGrainAmount(0);
        territoryContentNew[r][c].setGrain(false);
      }
      if (territoryContentNew[r][c].getNumberOfHamster() > 0) {
        continue;
      }
      territoryContentNew[r][c].setWall(true);
    }
  }
  exports.territoryContent = territoryContent = territoryContentNew;
  drawAll();
}

/**
 * Setzt bei den ausgewählten Zellen des Territoriums alle Attribute (außer Hamster) auf default und zeichnet
 * anschließend den Inhalt des Territoriums neu.
 */
function updateTerritoryDelete() {
  var territoryContentNew = createNewTerritoryContent();
  for (var r = pointerStartY; r <= pointerEndY; r++) {
    for (var c = pointerStartX; c <= pointerEndX; c++) {
      if (r >= rows || c >= cols) {
        continue;
      }
      territoryContentNew[r][c].setWall(false);
      territoryContentNew[r][c].setGrain(false);
      territoryContentNew[r][c].setGrainAmount(0);
    }
  }
  exports.territoryContent = territoryContent = territoryContentNew;
  drawAll();
}

/**
 * Setzt den Bereich zum Zeichnen fest und sorgt dafür, dass alles neu gezeichnet wird.
 */
function setAreaToDraw() {
  if (offsetEndX < offsetStartX) {
    pointerStartX = pointerX;
  } else {
    pointerEndX = pointerX;
  }
  if (offsetEndY < offsetStartY) {
    pointerStartY = pointerY;
  } else {
    pointerEndY = pointerY;
  }
  drawHamsters();
}

/**
 * Zeichnet den Hamster während der Drag-und-Drop-Aktion im Territorium.
 */
function drawHamsterTmp() {
  actorImage = _hamster.hamster.getActorImage();
  territory.drawImage(actorImage, offsetX - actorImage.width / 2, offsetY - actorImage.height / 2);
  _hamster.hamsters.forEach(function (hamster) {
    if (!hamster.isInitialized() || hamster.getName() === "hamster") {
      return;
    }
    drawHamsterInTerritory(hamster);
  });
}
function drawHamsterInTerritory(hamster) {
  hamsterX = hamster.getColumn() * cellWidth + cellWidth / 2;
  hamsterY = hamster.getRow() * cellHeight + cellHeight / 2;
  actorImage = hamster.getActorImage();
  territory.drawImage(actorImage, hamsterX - actorImage.width / 2, hamsterY - actorImage.height / 2);
  territoryContent[hamster.getRow()][hamster.getColumn()].addHamster(hamster);
}

/**
 * Zeichnet im aktuellen Drag-und-Drop-Bereich des Territoriums in jede Zelle ein Korn.
 */
function drawGrainsTmp() {
  setAreaToDraw();
  for (var r = pointerStartY; r <= pointerEndY; r++) {
    for (var c = pointerStartX; c <= pointerEndX; c++) {
      if (r >= rows || c >= cols) {
        continue;
      }
      calculateCurrentPositionFromCoords(r, c);
      territory.drawImage(grainImage, currentX - grainImage.width / 2, currentY - grainImage.height / 2, 40, 40);
      if (territoryContent[r][c].getNumberOfHamster() > 0) {
        drawHamsters();
      }
    }
  }
}

/**
 * Zeichnet im aktuellen Drag-und-Drop-Bereich des Territoriums in jede Zelle, die keinen Hamster enthält eine Mauer.
 */
function drawWallsTmp() {
  setAreaToDraw();
  for (var r = pointerStartY; r <= pointerEndY; r++) {
    for (var c = pointerStartX; c <= pointerEndX; c++) {
      if (r >= rows || c >= cols) {
        continue;
      }
      calculateCurrentPositionFromCoords(r, c);
      if (territoryContent[r][c].getNumberOfHamster() > 0) {
        continue;
      }
      territory.drawImage(wallImage, currentX - wallImage.width / 2, currentY - wallImage.height / 2);
    }
  }
}

/**
 * Zeichnet im aktuellen Drag-und-Drop-Bereich des Territoriums in jede Zelle ein Löschen-Symbol.
 */
function drawDeleteTmp() {
  setAreaToDraw();
  for (var r = pointerStartY; r <= pointerEndY; r++) {
    for (var c = pointerStartX; c <= pointerEndX; c++) {
      if (r >= rows || c >= cols) {
        continue;
      }
      calculateCurrentPositionFromCoords(r, c);
      if (territoryContent[r][c].getNumberOfHamster() > 0 && !territoryContent[r][c].hasGrain()) {
        continue;
      }
      territory.drawImage(deleteImage, currentX - deleteImage.width / 2, currentY - deleteImage.height / 2);
    }
  }
}

/**
 * Berechnet die aktuelle Position innerhalb des Territoriums.
 * 
 * @param x -Koordinate.
 * @param y -Koordinate.
 */
function calculateCurrentPositionFromCoords(x, y) {
  currentX = y * cellWidth + cellWidth / 2;
  currentY = x * cellHeight + cellHeight / 2;
}

/**
 * Zeichnet die Basis des Territoriums, teilt es grafisch in eine 2D-Matrix ein und füllt es mit Farbe.
 */
function draw() {
  territory.clearRect(0, 0, canvas.width, canvas.height);
  territory.fillStyle = "rgb(166, 225, 163)";
  territory.fillRect(0, 0, canvas.width, canvas.height);
  for (var i = 0; i < canvas.width; i += cellWidth) {
    for (var j = 0; j < canvas.height; j += cellHeight) {
      territory.beginPath();
      territory.strokeStyle = "rgb(139, 69, 19)";
      territory.strokeRect(i, j, cellWidth, cellHeight);
      territory.closePath();
    }
  }
}

/**
 * Ändert die Größe des Territoriums. Das Territorium und seine Elemente wird anschließend neu gezeichnet.
 */
function resizeTerritory(event) {
  event.preventDefault();
  var newRows = parseInt(_dialogs.rowInput.value);
  var newCols = parseInt(_dialogs.colInput.value);
  exports.rows = rows = newRows;
  exports.cols = cols = newCols;

  // Setzt den Default-Hamster auf 0 0, falls die alte Position nicht mehr möglich ist.
  if (_hamster.hamster.getRow() >= rows || _hamster.hamster.getColumn() >= cols) {
    _hamster.hamster.setRow(0);
    _hamster.hamster.setColumn(0);
    if (territoryContent[_hamster.hamster.getRow()][_hamster.hamster.getColumn()].hasWall()) {
      territoryContent[_hamster.hamster.getRow()][_hamster.hamster.getColumn()].setWall(false);
    }
  }
  (0, _dialogs.closeChangeSizeDialog)();
  calculateCanvasSize();
  calculateGridSize();
  createNewTerritoryContent();
  (0, _saveAndLoad.saveTemporaryTerritory)();
  drawAll();
}

/**
 * Berechnet die Größe, die das Canvas benötigt.
 */
function calculateCanvasSize() {
  canvas.width = cols * cellWidth;
  canvas.height = rows * cellHeight;
}

/**
 * Teilt das Territorium in eine 2D-Matrix auf.
 */
function createCellContent() {
  exports.territoryContent = territoryContent = new Array(rows);
  for (var r = 0; r < rows; r++) {
    territoryContent[r] = new Array(cols);
  }
}

/**
 * Zeichnet alle Hamster aus dem Hamster-Array in die entsprechende Zelle innerhalb des Territoriums.
 */
function drawHamsters() {
  _hamster.hamsters.forEach(function (hamster) {
    if (!hamster.isInitialized() || territoryContent[hamster.getRow()][hamster.getColumn()].hasWall()) {
      return;
    }
    drawHamsterInTerritory(hamster);
  });
}

/**
 * Initialisiert das Territorium mit Zellen.
 */
function initTerritory() {
  createCellContent();
  // fill Territory matrix
  for (var r = 0; r < rows; r++) {
    for (var c = 0; c < cols; c++) {
      territoryContent[r][c] = new CellContent();
    }
  }
}

/**
 * Zeichnet für jede Zelle innerhalb des Territoriums den Inhalt in das Canvas.
 */
function drawTerritoryContent() {
  for (var r = 0; r < rows; r++) {
    for (var c = 0; c < cols; c++) {
      var x = cellWidth * c + cellWidth / 2;
      var y = cellHeight * r + cellHeight / 2;
      if (!territoryContent[r][c].hasWall() && !territoryContent[r][c].hasGrain()) {
        territory.fillRect(c * cellWidth + 1, r * cellHeight + 1, cellWidth - 2, cellHeight - 2);
      } else if (territoryContent[r][c].hasWall()) {
        territory.drawImage(wallImage, x - wallImage.width / 2, y - wallImage.height / 2);
      } else {
        territory.fillRect(c * cellWidth + 1, r * cellHeight + 1, cellWidth - 2, cellHeight - 2);
        drawGrains(r, c);
      }
    }
  }
}

/**
 * Zeichnet die Anzahl der Körner in die entsprechende Zelle des Territoriums.
 * 
 * @param row, betreffende Reihe.
 * @param column, betreffende Spalte.
 */
function drawGrains(row, column) {
  var numberOfGrains = territoryContent[row][column].getNumberOfGrains();
  for (var x = 2; x <= cellWidth - (cellWidth / 5 + 2); x += cellWidth / 5 + 2) {
    for (var y = 2, maxCorns = 4; y <= cellHeight - (cellHeight / 5 + 2) && numberOfGrains > 0 && maxCorns > 0; y += cellHeight / 5 + 2, numberOfGrains--, maxCorns--) {
      territory.drawImage(grainImage, column * cellWidth + x, row * cellHeight + y, cellWidth / 5, cellHeight / 5);
    }
  }
}

/**
 * Zeichnet das gesamte Canvas mit allen Inhalten neu.
 * 
 * Zeichnet das Basic-Territorium, die Zelleninhalte sowie alle Hamster aus dem Hamster-Array.
 */
function drawAll() {
  draw();
  drawTerritoryContent();
  // Timeout nötig, da Hamster sonst manchmal nicht richtig gezeichnet wird.
  window.setTimeout(drawHamsters, 30);
}

/**
 * Berechnet die Größe, die das Grid benötigt.
 */
function calculateGridSize() {
  var contentWrapper = document.getElementById('content-wrapper');
  var header = document.getElementById('header');
  var headerHeight = header.offsetHeight;
  var newHeight = getScreenHeight() - headerHeight; //Magic numbers für genaue Berechnung leider nötig

  contentWrapper.style.maxHeight = newHeight.toString() + "px";
}

/**
 * Liefert die aktuelle Bildschirmbreite des Clients.
 *
 * @returns {number} Bildschirmbreite des Clients.
 */
function getScreenWidth() {
  return document.body.clientWidth;
}

/**
 * Liefert die aktuelle Bildschirmhöhe des Clients.
 *
 * @returns {number} Bildschirmhöhe des Clients.
 */
function getScreenHeight() {
  return document.body.clientHeight;
}

/**
 * Repräsentiert eine Zelle innerhalb des Territoriums.
 */
var CellContent = exports.CellContent = /*#__PURE__*/function () {
  function CellContent(obj) {
    _classCallCheck(this, CellContent);
    if (obj === undefined) {
      this.hamsters = [];
      this.wall = false;
      this.grain = false;
      this.numberOfGrains = 0;
    } else {
      Object.assign(this, obj);
    }
  }
  return _createClass(CellContent, [{
    key: "getHamster",
    value: function getHamster() {
      return this.hamsters;
    }
  }, {
    key: "getNumberOfHamster",
    value: function getNumberOfHamster() {
      return this.hamsters.length;
    }
  }, {
    key: "hasWall",
    value: function hasWall() {
      return this.wall;
    }
  }, {
    key: "hasGrain",
    value: function hasGrain() {
      return this.grain;
    }
  }, {
    key: "getNumberOfGrains",
    value: function getNumberOfGrains() {
      return this.numberOfGrains;
    }
  }, {
    key: "addHamster",
    value: function addHamster(hamster) {
      for (var i = 0; i < this.hamsters.length; i++) {
        if (this.hamsters[i] === hamster) {
          return;
        }
      }
      this.hamsters.push(hamster);
    }
  }, {
    key: "removeHamster",
    value: function removeHamster(hamster) {
      var index = this.hamsters.indexOf(hamster);
      if (index > -1) {
        this.hamsters.splice(index, 1);
      }
    }
  }, {
    key: "setWall",
    value: function setWall(wall) {
      this.wall = wall;
    }
  }, {
    key: "setGrain",
    value: function setGrain(corn) {
      this.grain = corn;
    }
  }, {
    key: "setGrainAmount",
    value: function setGrainAmount(numberOfGrains) {
      if (numberOfGrains >= 0) {
        this.numberOfGrains = numberOfGrains;
        if (numberOfGrains > 0) {
          this.grain = true;
        }
      }
    }
  }, {
    key: "incrementNumberOfGrains",
    value: function incrementNumberOfGrains() {
      this.numberOfGrains++;
    }
  }, {
    key: "decrementNumberOfGrains",
    value: function decrementNumberOfGrains() {
      if (this.numberOfGrains > 0) {
        this.numberOfGrains--;
        if (this.numberOfGrains === 0) {
          this.grain = false;
        }
      }
    }
  }, {
    key: "isEmpty",
    value: function isEmpty() {
      return this.hamsters === false && this.wall === false && this.grain === false;
    }
  }]);
}();

},{"./buttons.js":19,"./dialogs.js":31,"./hamster.js":32,"./saveAndLoad":36}],21:[function(require,module,exports){
"use strict";

Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.basicDarkTheme = exports.basicDarkHighlightStyle = void 0;
var _index = require("../../../../../node_modules/@codemirror/view/dist/index.js");
var _index2 = require("../../../../../node_modules/@codemirror/language/dist/index.js");
var _index3 = require("../../../../../node_modules/@lezer/highlight/dist/index.js");
var base00 = '#2E3235',
  base01 = '#DDDDDD',
  base02 = '#B9D2FF',
  base03 = '#b0b0b0',
  base04 = '#d0d0d0',
  base05 = '#e0e0e0',
  base06 = '#808080',
  base07 = '#000000',
  base08 = '#A54543',
  base09 = '#fc6d24',
  base0A = '#fda331',
  base0B = '#8abeb7',
  base0C = '#b5bd68',
  base0D = '#6fb3d2',
  base0E = '#cc99cc',
  base0F = '#6987AF';
var invalid = base09,
  darkBackground = '#292d30',
  highlightBackground = base02 + '30',
  background = base00,
  tooltipBackground = base03,
  selection = base01,
  cursor = base01;

/// The editor theme styles for Basic Dark.
var basicDarkTheme = exports.basicDarkTheme = _index.EditorView.theme({
  '&': {
    color: base01,
    backgroundColor: background
  },
  '.cm-content': {
    caretColor: cursor
  },
  '.cm-cursor, .cm-dropCursor': {
    borderLeftColor: cursor
  },
  '&.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection': {
    backgroundColor: selection
  },
  '.cm-panels': {
    backgroundColor: darkBackground,
    color: base03
  },
  '.cm-panels.cm-panels-top': {
    borderBottom: '2px solid black'
  },
  '.cm-panels.cm-panels-bottom': {
    borderTop: '2px solid black'
  },
  '.cm-searchMatch': {
    backgroundColor: base02,
    outline: "1px solid ".concat(base03),
    color: base07
  },
  '.cm-searchMatch.cm-searchMatch-selected': {
    backgroundColor: base05,
    color: base07
  },
  '.cm-activeLine': {
    backgroundColor: highlightBackground
  },
  '.cm-selectionMatch': {
    backgroundColor: highlightBackground
  },
  '&.cm-focused .cm-matchingBracket, &.cm-focused .cm-nonmatchingBracket': {
    outline: "1px solid ".concat(base03)
  },
  '&.cm-focused .cm-matchingBracket': {
    backgroundColor: base02,
    color: base07
  },
  '.cm-gutters': {
    borderRight: "1px solid #ffffff10",
    color: base06,
    backgroundColor: darkBackground
  },
  '.cm-activeLineGutter': {
    backgroundColor: highlightBackground
  },
  '.cm-foldPlaceholder': {
    backgroundColor: 'transparent',
    border: 'none',
    color: base02
  },
  '.cm-tooltip': {
    border: 'none',
    backgroundColor: tooltipBackground
  },
  '.cm-tooltip .cm-tooltip-arrow:before': {
    borderTopColor: 'transparent',
    borderBottomColor: 'transparent'
  },
  '.cm-tooltip .cm-tooltip-arrow:after': {
    borderTopColor: tooltipBackground,
    borderBottomColor: tooltipBackground
  },
  '.cm-tooltip-autocomplete': {
    '& > ul > li[aria-selected]': {
      backgroundColor: base01,
      color: base06
    }
  }
}, {
  dark: true
});

/// The highlighting style for code in the Basic Light theme.
var basicDarkHighlightStyle = exports.basicDarkHighlightStyle = _index2.HighlightStyle.define([{
  tag: _index3.tags.keyword,
  color: base0A
}, {
  tag: [_index3.tags.name, _index3.tags.deleted, _index3.tags.character, _index3.tags.propertyName, _index3.tags.macroName],
  color: base0C
}, {
  tag: [_index3.tags.variableName],
  color: base0D
}, {
  tag: [_index3.tags["function"](_index3.tags.variableName)],
  color: base0A
}, {
  tag: [_index3.tags.labelName],
  color: base09
}, {
  tag: [_index3.tags.color, _index3.tags.constant(_index3.tags.name), _index3.tags.standard(_index3.tags.name)],
  color: base0A
}, {
  tag: [_index3.tags.definition(_index3.tags.name), _index3.tags.separator],
  color: base0E
}, {
  tag: [_index3.tags.brace],
  color: base0E
}, {
  tag: [_index3.tags.annotation],
  color: invalid
}, {
  tag: [_index3.tags.number, _index3.tags.changed, _index3.tags.annotation, _index3.tags.modifier, _index3.tags.self, _index3.tags.namespace],
  color: base0A
}, {
  tag: [_index3.tags.typeName, _index3.tags.className],
  color: base0D
}, {
  tag: [_index3.tags.operator, _index3.tags.operatorKeyword],
  color: base0E
}, {
  tag: [_index3.tags.tagName],
  color: base0A
}, {
  tag: [_index3.tags.squareBracket],
  color: base0E
}, {
  tag: [_index3.tags.angleBracket],
  color: base0E
}, {
  tag: [_index3.tags.attributeName],
  color: base0D
}, {
  tag: [_index3.tags.regexp],
  color: base0A
}, {
  tag: [_index3.tags.quote],
  color: base01
}, {
  tag: [_index3.tags.string],
  color: base0C
}, {
  tag: _index3.tags.link,
  color: base0F,
  textDecoration: 'underline',
  textUnderlinePosition: 'under'
}, {
  tag: [_index3.tags.url, _index3.tags.escape, _index3.tags.special(_index3.tags.string)],
  color: base0B
}, {
  tag: [_index3.tags.meta],
  color: base08
}, {
  tag: [_index3.tags.comment],
  color: base04,
  fontStyle: 'italic'
}, {
  tag: _index3.tags.monospace,
  color: base01
}, {
  tag: _index3.tags.strong,
  fontWeight: 'bold',
  color: base0A
}, {
  tag: _index3.tags.emphasis,
  fontStyle: 'italic',
  color: base0D
}, {
  tag: _index3.tags.strikethrough,
  textDecoration: 'line-through'
}, {
  tag: _index3.tags.heading,
  fontWeight: 'bold',
  color: base01
}, {
  tag: _index3.tags.special(_index3.tags.heading1),
  fontWeight: 'bold',
  color: base01
}, {
  tag: _index3.tags.heading1,
  fontWeight: 'bold',
  color: base01
}, {
  tag: [_index3.tags.heading2, _index3.tags.heading3, _index3.tags.heading4],
  fontWeight: 'bold',
  color: base01
}, {
  tag: [_index3.tags.heading5, _index3.tags.heading6],
  color: base01
}, {
  tag: [_index3.tags.atom, _index3.tags.bool, _index3.tags.special(_index3.tags.variableName)],
  color: base0B
}, {
  tag: [_index3.tags.processingInstruction, _index3.tags.inserted],
  color: base0B
}, {
  tag: [_index3.tags.contentSeparator],
  color: base0D
}, {
  tag: _index3.tags.invalid,
  color: base02,
  borderBottom: "1px dotted ".concat(invalid)
}]);

///Extension to enable the Basic Dark theme (both the editor theme and
///the highlight style).
// export var basicDark: Extension = [
//   basicDarkTheme,
//   syntaxHighlighting(basicDarkHighlightStyle)
// ]

},{"../../../../../node_modules/@codemirror/language/dist/index.js":6,"../../../../../node_modules/@codemirror/view/dist/index.js":10,"../../../../../node_modules/@lezer/highlight/dist/index.js":12}],22:[function(require,module,exports){
"use strict";

Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.basicLightTheme = exports.basicLightHighlightStyle = void 0;
var _index = require("../../../../../node_modules/@codemirror/view/dist/index.js");
var _index2 = require("../../../../../node_modules/@codemirror/language/dist/index.js");
var _index3 = require("../../../../../node_modules/@lezer/highlight/dist/index.js");
// Colors from https://www.nordtheme.com/docs/colors-and-palettes
// Polar Night
var base00 = '#2e3440',
  // black
  base01 = '#3b4252',
  // dark grey
  base02 = '#434c5e',
  base03 = '#4c566a'; // grey

// Snow Storm
var base04 = '#d8dee9',
  // grey
  base05 = '#e5e9f0',
  // off white
  base06 = '#eceff4'; // white

// Frost
var base07 = '#8fbcbb',
  // moss green
  base08 = '#88c0d0',
  // ice blue
  base09 = '#81a1c1',
  // water blue
  base0A = '#5e81ac'; // deep blue

// Aurora
var base0b = '#bf616a',
  // red
  base0C = '#d08770',
  // orange
  base0D = '#ebcb8b',
  // yellow
  base0E = '#a3be8c',
  // green
  base0F = '#b48ead'; // purple

var invalid = '#d30102',
  darkBackground = base06,
  highlightBackground = darkBackground,
  background = '#ffffff',
  tooltipBackground = base05,
  selection = darkBackground,
  cursor = base01;

/// The editor theme styles for Basic Light.
var basicLightTheme = exports.basicLightTheme = _index.EditorView.theme({
  '&': {
    color: base00,
    backgroundColor: background
  },
  '.cm-content': {
    caretColor: cursor
  },
  '.cm-cursor, .cm-dropCursor': {
    borderLeftColor: cursor
  },
  '&.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection': {
    backgroundColor: selection
  },
  '.cm-panels': {
    backgroundColor: darkBackground,
    color: base03
  },
  '.cm-panels.cm-panels-top': {
    borderBottom: '2px solid black'
  },
  '.cm-panels.cm-panels-bottom': {
    borderTop: '2px solid black'
  },
  '.cm-searchMatch': {
    backgroundColor: '#72a1ff59',
    outline: "1px solid ".concat(base03)
  },
  '.cm-searchMatch.cm-searchMatch-selected': {
    backgroundColor: base05
  },
  '.cm-activeLine': {
    backgroundColor: highlightBackground
  },
  '.cm-selectionMatch': {
    backgroundColor: base05
  },
  '&.cm-focused .cm-matchingBracket, &.cm-focused .cm-nonmatchingBracket': {
    outline: "1px solid ".concat(base03)
  },
  '&.cm-focused .cm-matchingBracket': {
    backgroundColor: base06
  },
  '.cm-gutters': {
    backgroundColor: base06,
    color: base00,
    border: 'none'
  },
  '.cm-activeLineGutter': {
    backgroundColor: highlightBackground
  },
  '.cm-foldPlaceholder': {
    backgroundColor: 'transparent',
    border: 'none',
    color: '#ddd'
  },
  '.cm-tooltip': {
    border: 'none',
    backgroundColor: tooltipBackground
  },
  '.cm-tooltip .cm-tooltip-arrow:before': {
    borderTopColor: 'transparent',
    borderBottomColor: 'transparent'
  },
  '.cm-tooltip .cm-tooltip-arrow:after': {
    borderTopColor: tooltipBackground,
    borderBottomColor: tooltipBackground
  },
  '.cm-tooltip-autocomplete': {
    '& > ul > li[aria-selected]': {
      backgroundColor: base07,
      color: base03
    }
  }
}, {
  dark: false
});

/// The highlighting style for code in the Basic Light theme.
var basicLightHighlightStyle = exports.basicLightHighlightStyle = _index2.HighlightStyle.define([{
  tag: _index3.tags.keyword,
  color: base0A
}, {
  tag: [_index3.tags.name, _index3.tags.deleted, _index3.tags.character, _index3.tags.propertyName, _index3.tags.macroName],
  color: base0C
}, {
  tag: [_index3.tags.variableName],
  color: base0C
}, {
  tag: [_index3.tags["function"](_index3.tags.variableName)],
  color: base0A
}, {
  tag: [_index3.tags.labelName],
  color: base09
}, {
  tag: [_index3.tags.color, _index3.tags.constant(_index3.tags.name), _index3.tags.standard(_index3.tags.name)],
  color: base0A
}, {
  tag: [_index3.tags.definition(_index3.tags.name), _index3.tags.separator],
  color: base0E
}, {
  tag: [_index3.tags.brace],
  color: base07
}, {
  tag: [_index3.tags.annotation],
  color: invalid
}, {
  tag: [_index3.tags.number, _index3.tags.changed, _index3.tags.annotation, _index3.tags.modifier, _index3.tags.self, _index3.tags.namespace],
  color: base08
}, {
  tag: [_index3.tags.typeName, _index3.tags.className],
  color: base0D
}, {
  tag: [_index3.tags.operator, _index3.tags.operatorKeyword],
  color: base0E
}, {
  tag: [_index3.tags.tagName],
  color: base0F
}, {
  tag: [_index3.tags.squareBracket],
  color: base0b
}, {
  tag: [_index3.tags.angleBracket],
  color: base0C
}, {
  tag: [_index3.tags.attributeName],
  color: base0D
}, {
  tag: [_index3.tags.regexp],
  color: base0A
}, {
  tag: [_index3.tags.quote],
  color: base01
}, {
  tag: [_index3.tags.string],
  color: base0C
}, {
  tag: _index3.tags.link,
  color: base07,
  textDecoration: 'underline',
  textUnderlinePosition: 'under'
}, {
  tag: [_index3.tags.url, _index3.tags.escape, _index3.tags.special(_index3.tags.string)],
  color: base0C
}, {
  tag: [_index3.tags.meta],
  color: base08
}, {
  tag: [_index3.tags.comment],
  color: base02,
  fontStyle: 'italic'
}, {
  tag: _index3.tags.strong,
  fontWeight: 'bold',
  color: base0A
}, {
  tag: _index3.tags.emphasis,
  fontStyle: 'italic',
  color: base0A
}, {
  tag: _index3.tags.strikethrough,
  textDecoration: 'line-through'
}, {
  tag: _index3.tags.heading,
  fontWeight: 'bold',
  color: base0A
}, {
  tag: _index3.tags.special(_index3.tags.heading1),
  fontWeight: 'bold',
  color: base0A
}, {
  tag: _index3.tags.heading1,
  fontWeight: 'bold',
  color: base0A
}, {
  tag: [_index3.tags.heading2, _index3.tags.heading3, _index3.tags.heading4],
  fontWeight: 'bold',
  color: base0A
}, {
  tag: [_index3.tags.heading5, _index3.tags.heading6],
  color: base0A
}, {
  tag: [_index3.tags.atom, _index3.tags.bool, _index3.tags.special(_index3.tags.variableName)],
  color: base0C
}, {
  tag: [_index3.tags.processingInstruction, _index3.tags.inserted],
  color: base07
}, {
  tag: [_index3.tags.contentSeparator],
  color: base0D
}, {
  tag: _index3.tags.invalid,
  color: base02,
  borderBottom: "1px dotted ".concat(invalid)
}]);

/// Extension to enable the Basic Light theme (both the editor theme and
/// the highlight style).
// export var basicLight: Extension = [
//   basicLightTheme,
//   syntaxHighlighting(basicLightHighlightStyle)
// ]

},{"../../../../../node_modules/@codemirror/language/dist/index.js":6,"../../../../../node_modules/@codemirror/view/dist/index.js":10,"../../../../../node_modules/@lezer/highlight/dist/index.js":12}],23:[function(require,module,exports){
"use strict";

Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.gruvboxDarkTheme = exports.gruvboxDarkHighlightStyle = void 0;
var _index = require("../../../../../node_modules/@codemirror/view/dist/index.js");
var _index2 = require("../../../../../node_modules/@codemirror/language/dist/index.js");
var _index3 = require("../../../../../node_modules/@lezer/highlight/dist/index.js");
var dark0 = '#282828',
  dark1 = '#3c3836',
  dark2 = '#504945',
  dark3 = '#665c54',
  dark4 = '#7c6f64',
  dark4_256 = '#7c6f64',
  gray_245 = '#928374',
  gray_244 = '#928374',
  light0 = '#fbf1c7',
  light1 = '#ebdbb2',
  light2 = '#d5c4a1',
  light3 = '#bdae93',
  light4 = '#a89984',
  light4_256 = '#a89984',
  bright_red = '#fb4934',
  bright_green = '#b8bb26',
  bright_yellow = '#fabd2f',
  bright_blue = '#83a598',
  bright_purple = '#d3869b',
  bright_aqua = '#8ec07c',
  bright_orange = '#fe8019',
  neutral_red = '#cc241d',
  neutral_green = '#98971a',
  neutral_yellow = '#d79921',
  neutral_blue = '#458588',
  neutral_purple = '#b16286',
  neutral_aqua = '#689d6a',
  neutral_orange = '#d65d0e',
  faded_red = '#9d0006',
  faded_green = '#79740e',
  faded_yellow = '#b57614',
  faded_blue = '#076678',
  faded_purple = '#8f3f71',
  faded_aqua = '#427b58',
  faded_orange = '#af3a03';
var bg0 = dark0,
  bg1 = dark1,
  bg2 = dark2,
  bg3 = dark3,
  bg4 = dark4,
  gray = gray_245,
  fg0 = light0,
  fg1 = light1,
  fg2 = light2,
  fg3 = light3,
  fg4 = light4,
  fg4_256 = light4_256,
  red = bright_red,
  green = bright_green,
  yellow = bright_yellow,
  blue = bright_blue,
  purple = bright_purple,
  aqua = bright_aqua,
  orange = bright_orange;
var invalid = red,
  darkBackground = bg1,
  highlightBackground = darkBackground,
  background = bg0,
  tooltipBackground = bg1,
  selection = darkBackground,
  cursor = orange;

/// The editor theme styles for Gruvbox Dark.
var gruvboxDarkTheme = exports.gruvboxDarkTheme = _index.EditorView.theme({
  '&': {
    color: fg1,
    backgroundColor: background
  },
  '.cm-content': {
    caretColor: cursor
  },
  '.cm-cursor, .cm-dropCursor': {
    borderLeftColor: cursor
  },
  '&.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection': {
    backgroundColor: selection
  },
  '.cm-panels': {
    backgroundColor: darkBackground,
    color: fg1
  },
  '.cm-panels.cm-panels-top': {
    borderBottom: '2px solid black'
  },
  '.cm-panels.cm-panels-bottom': {
    borderTop: '2px solid black'
  },
  '.cm-searchMatch': {
    backgroundColor: bg0,
    color: yellow,
    outline: "1px solid ".concat(bg3)
  },
  '.cm-searchMatch.cm-searchMatch-selected': {
    backgroundColor: bg3
  },
  '.cm-activeLine': {
    backgroundColor: highlightBackground
  },
  '.cm-selectionMatch': {
    backgroundColor: bg3
  },
  '&.cm-focused .cm-matchingBracket, &.cm-focused .cm-nonmatchingBracket': {
    outline: "1px solid ".concat(bg3),
    fontStyle: 'bold'
  },
  '&.cm-focused .cm-matchingBracket': {
    backgroundColor: bg3
  },
  '.cm-gutters': {
    backgroundColor: bg1,
    color: fg3,
    border: 'none'
  },
  '.cm-activeLineGutter': {
    backgroundColor: highlightBackground
  },
  '.cm-foldPlaceholder': {
    backgroundColor: 'transparent',
    border: 'none',
    color: '#ddd'
  },
  '.cm-tooltip': {
    border: 'none',
    backgroundColor: tooltipBackground
  },
  '.cm-tooltip .cm-tooltip-arrow:before': {
    borderTopColor: 'transparent',
    borderBottomColor: 'transparent'
  },
  '.cm-tooltip .cm-tooltip-arrow:after': {
    borderTopColor: tooltipBackground,
    borderBottomColor: tooltipBackground
  },
  '.cm-tooltip-autocomplete': {
    '& > ul > li[aria-selected]': {
      backgroundColor: highlightBackground,
      color: fg2
    }
  }
}, {
  dark: true
});

/// The highlighting style for code in the Gruvbox Dark theme.
var gruvboxDarkHighlightStyle = exports.gruvboxDarkHighlightStyle = _index2.HighlightStyle.define([{
  tag: _index3.tags.keyword,
  color: red
}, {
  tag: [_index3.tags.name, _index3.tags.deleted, _index3.tags.character, _index3.tags.propertyName, _index3.tags.macroName],
  color: aqua
}, {
  tag: [_index3.tags.variableName],
  color: blue
}, {
  tag: [_index3.tags["function"](_index3.tags.variableName)],
  color: green,
  fontStyle: 'bold'
}, {
  tag: [_index3.tags.labelName],
  color: fg1
}, {
  tag: [_index3.tags.color, _index3.tags.constant(_index3.tags.name), _index3.tags.standard(_index3.tags.name)],
  color: purple
}, {
  tag: [_index3.tags.definition(_index3.tags.name), _index3.tags.separator],
  color: fg1
}, {
  tag: [_index3.tags.brace],
  color: fg1
}, {
  tag: [_index3.tags.annotation],
  color: invalid
}, {
  tag: [_index3.tags.number, _index3.tags.changed, _index3.tags.annotation, _index3.tags.modifier, _index3.tags.self, _index3.tags.namespace],
  color: purple
}, {
  tag: [_index3.tags.typeName, _index3.tags.className],
  color: yellow
}, {
  tag: [_index3.tags.operator, _index3.tags.operatorKeyword],
  color: red
}, {
  tag: [_index3.tags.tagName],
  color: aqua,
  fontStyle: 'bold'
}, {
  tag: [_index3.tags.squareBracket],
  color: orange
}, {
  tag: [_index3.tags.angleBracket],
  color: blue
}, {
  tag: [_index3.tags.attributeName],
  color: aqua
}, {
  tag: [_index3.tags.regexp],
  color: aqua
}, {
  tag: [_index3.tags.quote],
  color: gray
}, {
  tag: [_index3.tags.string],
  color: fg1
}, {
  tag: _index3.tags.link,
  color: fg4,
  textDecoration: 'underline',
  textUnderlinePosition: 'under'
}, {
  tag: [_index3.tags.url, _index3.tags.escape, _index3.tags.special(_index3.tags.string)],
  color: purple
}, {
  tag: [_index3.tags.meta],
  color: yellow
}, {
  tag: [_index3.tags.comment],
  color: gray,
  fontStyle: 'italic'
}, {
  tag: _index3.tags.strong,
  fontWeight: 'bold',
  color: orange
}, {
  tag: _index3.tags.emphasis,
  fontStyle: 'italic',
  color: green
}, {
  tag: _index3.tags.strikethrough,
  textDecoration: 'line-through'
}, {
  tag: _index3.tags.heading,
  fontWeight: 'bold',
  color: green
}, {
  tag: [_index3.tags.heading1, _index3.tags.heading2],
  fontWeight: 'bold',
  color: green
}, {
  tag: [_index3.tags.heading3, _index3.tags.heading4],
  fontWeight: 'bold',
  color: yellow
}, {
  tag: [_index3.tags.heading5, _index3.tags.heading6],
  color: yellow
}, {
  tag: [_index3.tags.atom, _index3.tags.bool, _index3.tags.special(_index3.tags.variableName)],
  color: purple
}, {
  tag: [_index3.tags.processingInstruction, _index3.tags.inserted],
  color: bright_blue
}, {
  tag: [_index3.tags.contentSeparator],
  color: red
}, {
  tag: _index3.tags.invalid,
  color: orange,
  borderBottom: "1px dotted ".concat(invalid)
}]);

/// Extension to enable the Gruvbox Dark theme (both the editor theme and
/// the highlight style).
// export const gruvboxDark: Extension = [
//   gruvboxDarkTheme,
//   syntaxHighlighting(gruvboxDarkHighlightStyle)
// ]

},{"../../../../../node_modules/@codemirror/language/dist/index.js":6,"../../../../../node_modules/@codemirror/view/dist/index.js":10,"../../../../../node_modules/@lezer/highlight/dist/index.js":12}],24:[function(require,module,exports){
"use strict";

Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.gruvboxLightTheme = exports.gruvboxLightHighlightStyle = void 0;
var _index = require("../../../../../node_modules/@codemirror/view/dist/index.js");
var _index2 = require("../../../../../node_modules/@codemirror/language/dist/index.js");
var _index3 = require("../../../../../node_modules/@lezer/highlight/dist/index.js");
var dark0 = '#282828',
  dark1 = '#3c3836',
  dark2 = '#504945',
  dark3 = '#665c54',
  dark4 = '#7c6f64',
  dark4_256 = '#7c6f64',
  gray_245 = '#928374',
  gray_244 = '#928374',
  light0 = '#fbf1c7',
  light1 = '#ebdbb2',
  light2 = '#d5c4a1',
  light3 = '#bdae93',
  light4 = '#a89984',
  light4_256 = '#a89984',
  bright_red = '#fb4934',
  bright_green = '#b8bb26',
  bright_yellow = '#fabd2f',
  bright_blue = '#83a598',
  bright_purple = '#d3869b',
  bright_aqua = '#8ec07c',
  bright_orange = '#fe8019',
  neutral_red = '#cc241d',
  neutral_green = '#98971a',
  neutral_yellow = '#d79921',
  neutral_blue = '#458588',
  neutral_purple = '#b16286',
  neutral_aqua = '#689d6a',
  neutral_orange = '#d65d0e',
  faded_red = '#9d0006',
  faded_green = '#79740e',
  faded_yellow = '#b57614',
  faded_blue = '#076678',
  faded_purple = '#8f3f71',
  faded_aqua = '#427b58',
  faded_orange = '#af3a03';
var bg0 = light0,
  bg1 = light1,
  bg2 = light2,
  bg3 = light3,
  bg4 = light4,
  gray = gray_244,
  fg0 = dark0,
  fg1 = dark1,
  fg2 = dark2,
  fg3 = dark3,
  fg4 = dark4,
  fg4_256 = dark4_256,
  red = faded_red,
  green = faded_green,
  yellow = faded_yellow,
  blue = faded_blue,
  purple = faded_purple,
  aqua = faded_aqua,
  orange = faded_orange;
var invalid = red,
  darkBackground = bg1,
  highlightBackground = darkBackground,
  background = bg0,
  tooltipBackground = bg1,
  selection = darkBackground,
  cursor = orange;

/// The editor theme styles for Gruvbox Light.
var gruvboxLightTheme = exports.gruvboxLightTheme = _index.EditorView.theme({
  '&': {
    color: fg1,
    backgroundColor: background
  },
  '.cm-content': {
    caretColor: cursor
  },
  '.cm-cursor, .cm-dropCursor': {
    borderLeftColor: cursor
  },
  '&.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection': {
    backgroundColor: selection
  },
  '.cm-panels': {
    backgroundColor: darkBackground,
    color: fg1
  },
  '.cm-panels.cm-panels-top': {
    borderBottom: '2px solid black'
  },
  '.cm-panels.cm-panels-bottom': {
    borderTop: '2px solid black'
  },
  '.cm-searchMatch': {
    backgroundColor: bg0,
    color: yellow,
    outline: "1px solid ".concat(bg3)
  },
  '.cm-searchMatch.cm-searchMatch-selected': {
    backgroundColor: bg3
  },
  '.cm-activeLine': {
    backgroundColor: highlightBackground
  },
  '.cm-selectionMatch': {
    backgroundColor: bg3
  },
  '&.cm-focused .cm-matchingBracket, &.cm-focused .cm-nonmatchingBracket': {
    outline: "1px solid ".concat(bg3),
    fontStyle: 'bold'
  },
  '&.cm-focused .cm-matchingBracket': {
    backgroundColor: bg3
  },
  '.cm-gutters': {
    backgroundColor: bg1,
    color: fg3,
    border: 'none'
  },
  '.cm-activeLineGutter': {
    backgroundColor: highlightBackground
  },
  '.cm-foldPlaceholder': {
    backgroundColor: 'transparent',
    border: 'none',
    color: '#ddd'
  },
  '.cm-tooltip': {
    border: 'none',
    backgroundColor: light2
  },
  '.cm-tooltip .cm-tooltip-arrow:before': {
    borderTopColor: 'transparent',
    borderBottomColor: 'transparent'
  },
  '.cm-tooltip .cm-tooltip-arrow:after': {
    borderTopColor: tooltipBackground,
    borderBottomColor: tooltipBackground
  },
  '.cm-tooltip-autocomplete': {
    '& > ul > li[aria-selected]': {
      backgroundColor: light4,
      color: light0
    }
  }
}, {
  dark: false
});

/// The highlighting style for code in the Gruvbox Light theme.
var gruvboxLightHighlightStyle = exports.gruvboxLightHighlightStyle = _index2.HighlightStyle.define([{
  tag: _index3.tags.keyword,
  color: red
}, {
  tag: [_index3.tags.name, _index3.tags.deleted, _index3.tags.character, _index3.tags.propertyName, _index3.tags.macroName],
  color: aqua
}, {
  tag: [_index3.tags.variableName],
  color: blue
}, {
  tag: [_index3.tags["function"](_index3.tags.variableName)],
  color: green,
  fontStyle: 'bold'
}, {
  tag: [_index3.tags.labelName],
  color: fg1
}, {
  tag: [_index3.tags.color, _index3.tags.constant(_index3.tags.name), _index3.tags.standard(_index3.tags.name)],
  color: purple
}, {
  tag: [_index3.tags.definition(_index3.tags.name), _index3.tags.separator],
  color: fg1
}, {
  tag: [_index3.tags.brace],
  color: fg1
}, {
  tag: [_index3.tags.annotation],
  color: invalid
}, {
  tag: [_index3.tags.number, _index3.tags.changed, _index3.tags.annotation, _index3.tags.modifier, _index3.tags.self, _index3.tags.namespace],
  color: purple
}, {
  tag: [_index3.tags.typeName, _index3.tags.className],
  color: yellow
}, {
  tag: [_index3.tags.operator, _index3.tags.operatorKeyword],
  color: red
}, {
  tag: [_index3.tags.tagName],
  color: aqua,
  fontStyle: 'bold'
}, {
  tag: [_index3.tags.squareBracket],
  color: orange
}, {
  tag: [_index3.tags.angleBracket],
  color: blue
}, {
  tag: [_index3.tags.attributeName],
  color: aqua
}, {
  tag: [_index3.tags.regexp],
  color: aqua
}, {
  tag: [_index3.tags.quote],
  color: gray
}, {
  tag: [_index3.tags.string],
  color: fg1
}, {
  tag: _index3.tags.link,
  color: fg4,
  textDecoration: 'underline',
  textUnderlinePosition: 'under'
}, {
  tag: [_index3.tags.url, _index3.tags.escape, _index3.tags.special(_index3.tags.string)],
  color: purple
}, {
  tag: [_index3.tags.meta],
  color: yellow
}, {
  tag: [_index3.tags.comment],
  color: gray,
  fontStyle: 'italic'
}, {
  tag: _index3.tags.strong,
  fontWeight: 'bold',
  color: orange
}, {
  tag: _index3.tags.emphasis,
  fontStyle: 'italic',
  color: green
}, {
  tag: _index3.tags.strikethrough,
  textDecoration: 'line-through'
}, {
  tag: _index3.tags.heading,
  fontWeight: 'bold',
  color: green
}, {
  tag: [_index3.tags.heading1, _index3.tags.heading2],
  fontWeight: 'bold',
  color: green
}, {
  tag: [_index3.tags.heading3, _index3.tags.heading4],
  fontWeight: 'bold',
  color: yellow
}, {
  tag: [_index3.tags.heading5, _index3.tags.heading6],
  color: yellow
}, {
  tag: [_index3.tags.atom, _index3.tags.bool, _index3.tags.special(_index3.tags.variableName)],
  color: purple
}, {
  tag: [_index3.tags.processingInstruction, _index3.tags.inserted],
  color: blue
}, {
  tag: [_index3.tags.contentSeparator],
  color: red
}, {
  tag: _index3.tags.invalid,
  color: orange,
  borderBottom: "1px dotted ".concat(invalid)
}]);

/// Extension to enable the Gruvbox Light theme (both the editor theme and
/// the highlight style).
// export const gruvboxLight: Extension = [
//   gruvboxLightTheme,
//   syntaxHighlighting(gruvboxLightHighlightStyle)
// ]

},{"../../../../../node_modules/@codemirror/language/dist/index.js":6,"../../../../../node_modules/@codemirror/view/dist/index.js":10,"../../../../../node_modules/@lezer/highlight/dist/index.js":12}],25:[function(require,module,exports){
"use strict";

Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.materialDarkTheme = exports.materialDarkHighlightStyle = void 0;
var _index = require("../../../../../node_modules/@codemirror/view/dist/index.js");
var _index2 = require("../../../../../node_modules/@codemirror/language/dist/index.js");
var _index3 = require("../../../../../node_modules/@lezer/highlight/dist/index.js");
var base00 = '#2e3235',
  base01 = '#505d64',
  base02 = '#606f7a',
  base03 = '#707d8b',
  base04 = '#a0a4ae',
  base05 = '#bdbdbd',
  base06 = '#e0e0e0',
  base07 = '#fdf6e3',
  base_red = '#ff5f52',
  base_deeporange = '#ff6e40',
  base_pink = '#fa5788',
  base_yellow = '#facf4e',
  base_orange = '#ffad42',
  base_cyan = '#56c8d8',
  base_indigo = '#7186f0',
  base_purple = '#cf6edf',
  base_green = '#6abf69',
  base_lightgreen = '#99d066',
  base_teal = '#4ebaaa';
var invalid = base_red,
  darkBackground = '#202325',
  highlightBackground = '#545b61',
  background = base00,
  tooltipBackground = base01,
  selection = base01,
  cursor = base04;

/// The editor theme styles for Material Dark.
var materialDarkTheme = exports.materialDarkTheme = _index.EditorView.theme({
  '&': {
    color: base05,
    backgroundColor: background
  },
  '.cm-content': {
    caretColor: cursor
  },
  '.cm-cursor, .cm-dropCursor': {
    borderLeftColor: cursor
  },
  '&.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection': {
    backgroundColor: selection
  },
  '.cm-panels': {
    backgroundColor: darkBackground,
    color: base03
  },
  '.cm-panels.cm-panels-top': {
    borderBottom: '2px solid black'
  },
  '.cm-panels.cm-panels-bottom': {
    borderTop: '2px solid black'
  },
  '.cm-searchMatch': {
    outline: "1px solid ".concat(base_yellow),
    backgroundColor: 'transparent'
  },
  '.cm-searchMatch.cm-searchMatch-selected': {
    backgroundColor: highlightBackground
  },
  '.cm-activeLine': {
    backgroundColor: highlightBackground
  },
  '.cm-selectionMatch': {
    backgroundColor: darkBackground,
    outline: "1px solid ".concat(base_teal)
  },
  '&.cm-focused .cm-matchingBracket': {
    color: base06,
    outline: "1px solid ".concat(base_teal)
  },
  '&.cm-focused .cm-nonmatchingBracket': {
    color: base_red
  },
  '.cm-gutters': {
    backgroundColor: base00,
    borderRight: '1px solid #4f5b66',
    color: base02
  },
  '.cm-activeLineGutter': {
    backgroundColor: highlightBackground,
    color: base07
  },
  '.cm-foldPlaceholder': {
    backgroundColor: 'transparent',
    border: 'none',
    color: '#ddd'
  },
  '.cm-tooltip': {
    border: 'none',
    backgroundColor: tooltipBackground
  },
  '.cm-tooltip .cm-tooltip-arrow:before': {
    borderTopColor: 'transparent',
    borderBottomColor: 'transparent'
  },
  '.cm-tooltip .cm-tooltip-arrow:after': {
    borderTopColor: tooltipBackground,
    borderBottomColor: tooltipBackground
  },
  '.cm-tooltip-autocomplete': {
    '& > ul > li[aria-selected]': {
      backgroundColor: base03,
      color: base05
    }
  }
}, {
  dark: true
});

/// The highlighting style for code in the Material Dark theme.
var materialDarkHighlightStyle = exports.materialDarkHighlightStyle = _index2.HighlightStyle.define([{
  tag: _index3.tags.keyword,
  color: base_purple
}, {
  tag: [_index3.tags.name, _index3.tags.deleted, _index3.tags.character, _index3.tags.macroName],
  color: base_cyan
}, {
  tag: [_index3.tags.propertyName],
  color: base_yellow
}, {
  tag: [_index3.tags.variableName],
  color: base05
}, {
  tag: [_index3.tags["function"](_index3.tags.variableName)],
  color: base_cyan
}, {
  tag: [_index3.tags.labelName],
  color: base_purple
}, {
  tag: [_index3.tags.color, _index3.tags.constant(_index3.tags.name), _index3.tags.standard(_index3.tags.name)],
  color: base_yellow
}, {
  tag: [_index3.tags.definition(_index3.tags.name), _index3.tags.separator],
  color: base_pink
}, {
  tag: [_index3.tags.brace],
  color: base_purple
}, {
  tag: [_index3.tags.annotation],
  color: invalid
}, {
  tag: [_index3.tags.number, _index3.tags.changed, _index3.tags.annotation, _index3.tags.modifier, _index3.tags.self, _index3.tags.namespace],
  color: base_orange
}, {
  tag: [_index3.tags.typeName, _index3.tags.className],
  color: base_orange
}, {
  tag: [_index3.tags.operator, _index3.tags.operatorKeyword],
  color: base_indigo
}, {
  tag: [_index3.tags.tagName],
  color: base_deeporange
}, {
  tag: [_index3.tags.squareBracket],
  color: base_red
}, {
  tag: [_index3.tags.angleBracket],
  color: base02
}, {
  tag: [_index3.tags.attributeName],
  color: base05
}, {
  tag: [_index3.tags.regexp],
  color: invalid
}, {
  tag: [_index3.tags.quote],
  color: base_green
}, {
  tag: [_index3.tags.string],
  color: base_lightgreen
}, {
  tag: _index3.tags.link,
  color: base_cyan,
  textDecoration: 'underline',
  textUnderlinePosition: 'under'
}, {
  tag: [_index3.tags.url, _index3.tags.escape, _index3.tags.special(_index3.tags.string)],
  color: base_yellow
}, {
  tag: [_index3.tags.meta],
  color: base03
}, {
  tag: [_index3.tags.comment],
  color: base05,
  fontStyle: 'italic'
}, {
  tag: _index3.tags.monospace,
  color: base05
}, {
  tag: _index3.tags.strong,
  fontWeight: 'bold',
  color: base_red
}, {
  tag: _index3.tags.emphasis,
  fontStyle: 'italic',
  color: base_lightgreen
}, {
  tag: _index3.tags.strikethrough,
  textDecoration: 'line-through'
}, {
  tag: _index3.tags.heading,
  fontWeight: 'bold',
  color: base_yellow
}, {
  tag: _index3.tags.heading1,
  fontWeight: 'bold',
  color: base_yellow
}, {
  tag: [_index3.tags.heading2, _index3.tags.heading3, _index3.tags.heading4],
  fontWeight: 'bold',
  color: base_yellow
}, {
  tag: [_index3.tags.heading5, _index3.tags.heading6],
  color: base_yellow
}, {
  tag: [_index3.tags.atom, _index3.tags.bool, _index3.tags.special(_index3.tags.variableName)],
  color: base_cyan
}, {
  tag: [_index3.tags.processingInstruction, _index3.tags.inserted],
  color: base_red
}, {
  tag: [_index3.tags.contentSeparator],
  color: base_cyan
}, {
  tag: _index3.tags.invalid,
  color: base02,
  borderBottom: "1px dotted ".concat(base_red)
}]);

/// Extension to enable the Material Dark theme (both the editor theme and
/// the highlight style).
// export const materialDark: Extension = [
//   materialDarkTheme,
//   syntaxHighlighting(materialDarkHighlightStyle)
// ]

},{"../../../../../node_modules/@codemirror/language/dist/index.js":6,"../../../../../node_modules/@codemirror/view/dist/index.js":10,"../../../../../node_modules/@lezer/highlight/dist/index.js":12}],26:[function(require,module,exports){
"use strict";

Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.nordTheme = exports.nordHighlightStyle = void 0;
var _index = require("../../../../../node_modules/@codemirror/view/dist/index.js");
var _index2 = require("../../../../../node_modules/@codemirror/language/dist/index.js");
var _index3 = require("../../../../../node_modules/@lezer/highlight/dist/index.js");
// Colors from https://www.nordtheme.com/docs/colors-and-palettes
// Polar Night
var base00 = '#2e3440',
  // black
  base01 = '#3b4252',
  // dark grey
  base02 = '#434c5e',
  base03 = '#4c566a'; // grey

// Snow Storm
var base04 = '#d8dee9',
  // grey
  base05 = '#e5e9f0',
  // off white
  base06 = '#eceff4'; // white

// Frost
var base07 = '#8fbcbb',
  // moss green
  base08 = '#88c0d0',
  // ice blue
  base09 = '#81a1c1',
  // water blue
  base0A = '#5e81ac'; // deep blue

// Aurora
var base0b = '#bf616a',
  // red
  base0C = '#d08770',
  // orange
  base0D = '#ebcb8b',
  // yellow
  base0E = '#a3be8c',
  // green
  base0F = '#b48ead'; // purple

var invalid = '#d30102',
  darkBackground = '#252a33',
  highlightBackground = base03,
  background = base00,
  tooltipBackground = base01,
  selection = base03,
  cursor = base04;

/// The editor theme styles for Nord.
var nordTheme = exports.nordTheme = _index.EditorView.theme({
  '&': {
    color: base04,
    backgroundColor: background
  },
  '.cm-content': {
    caretColor: cursor
  },
  '.cm-cursor, .cm-dropCursor': {
    borderLeftColor: cursor
  },
  '&.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection': {
    backgroundColor: selection
  },
  '.cm-panels': {
    backgroundColor: darkBackground,
    color: base03
  },
  '.cm-panels.cm-panels-top': {
    borderBottom: '2px solid black'
  },
  '.cm-panels.cm-panels-bottom': {
    borderTop: '2px solid black'
  },
  '.cm-searchMatch': {
    backgroundColor: 'transparent',
    outline: "1px solid ".concat(base07)
  },
  '.cm-searchMatch.cm-searchMatch-selected': {
    backgroundColor: base04,
    color: base00
  },
  '.cm-activeLine': {
    backgroundColor: highlightBackground
  },
  '.cm-selectionMatch': {
    backgroundColor: base05,
    color: base01
  },
  '&.cm-focused .cm-matchingBracket, &.cm-focused .cm-nonmatchingBracket': {
    outline: "1px solid ".concat(base07)
  },
  '&.cm-focused .cm-matchingBracket': {
    backgroundColor: base06,
    color: base02
  },
  '.cm-gutters': {
    backgroundColor: base00,
    color: base03,
    border: 'none'
  },
  '.cm-activeLineGutter': {
    backgroundColor: highlightBackground,
    color: base04
  },
  '.cm-foldPlaceholder': {
    backgroundColor: 'transparent',
    border: 'none',
    color: '#ddd'
  },
  '.cm-tooltip': {
    border: 'none',
    backgroundColor: tooltipBackground
  },
  '.cm-tooltip .cm-tooltip-arrow:before': {
    borderTopColor: 'transparent',
    borderBottomColor: 'transparent'
  },
  '.cm-tooltip .cm-tooltip-arrow:after': {
    borderTopColor: tooltipBackground,
    borderBottomColor: tooltipBackground
  },
  '.cm-tooltip-autocomplete': {
    '& > ul > li[aria-selected]': {
      backgroundColor: base06,
      color: base03
    }
  }
}, {
  dark: true
});

/// The highlighting style for code in the Nord theme.
var nordHighlightStyle = exports.nordHighlightStyle = _index2.HighlightStyle.define([{
  tag: _index3.tags.keyword,
  color: base0A
}, {
  tag: [_index3.tags.name, _index3.tags.deleted, _index3.tags.character, _index3.tags.propertyName, _index3.tags.macroName],
  color: base08
}, {
  tag: [_index3.tags.variableName],
  color: base07
}, {
  tag: [_index3.tags["function"](_index3.tags.variableName)],
  color: base07
}, {
  tag: [_index3.tags.labelName],
  color: base09
}, {
  tag: [_index3.tags.color, _index3.tags.constant(_index3.tags.name), _index3.tags.standard(_index3.tags.name)],
  color: base0A
}, {
  tag: [_index3.tags.definition(_index3.tags.name), _index3.tags.separator],
  color: base0E
}, {
  tag: [_index3.tags.brace],
  color: base07
}, {
  tag: [_index3.tags.annotation],
  color: invalid
}, {
  tag: [_index3.tags.number, _index3.tags.changed, _index3.tags.annotation, _index3.tags.modifier, _index3.tags.self, _index3.tags.namespace],
  color: base0F
}, {
  tag: [_index3.tags.typeName, _index3.tags.className],
  color: base0D
}, {
  tag: [_index3.tags.operator, _index3.tags.operatorKeyword],
  color: base0E
}, {
  tag: [_index3.tags.tagName],
  color: base0F
}, {
  tag: [_index3.tags.squareBracket],
  color: base0b
}, {
  tag: [_index3.tags.angleBracket],
  color: base0C
}, {
  tag: [_index3.tags.attributeName],
  color: base0D
}, {
  tag: [_index3.tags.regexp],
  color: base0A
}, {
  tag: [_index3.tags.quote],
  color: base0F
}, {
  tag: [_index3.tags.string],
  color: base0E
}, {
  tag: _index3.tags.link,
  color: base0E,
  textDecoration: 'underline',
  textUnderlinePosition: 'under'
}, {
  tag: [_index3.tags.url, _index3.tags.escape, _index3.tags.special(_index3.tags.string)],
  color: base07
}, {
  tag: [_index3.tags.meta],
  color: base08
}, {
  tag: [_index3.tags.monospace],
  color: base04,
  fontStyle: 'italic'
}, {
  tag: [_index3.tags.comment],
  color: base08,
  fontStyle: 'italic'
}, {
  tag: _index3.tags.strong,
  fontWeight: 'bold',
  color: base0A
}, {
  tag: _index3.tags.emphasis,
  fontStyle: 'italic',
  color: base0A
}, {
  tag: _index3.tags.strikethrough,
  textDecoration: 'line-through'
}, {
  tag: _index3.tags.heading,
  fontWeight: 'bold',
  color: base0A
}, {
  tag: _index3.tags.special(_index3.tags.heading1),
  fontWeight: 'bold',
  color: base0A
}, {
  tag: _index3.tags.heading1,
  fontWeight: 'bold',
  color: base0A
}, {
  tag: [_index3.tags.heading2, _index3.tags.heading3, _index3.tags.heading4],
  fontWeight: 'bold',
  color: base0A
}, {
  tag: [_index3.tags.heading5, _index3.tags.heading6],
  color: base0A
}, {
  tag: [_index3.tags.atom, _index3.tags.bool, _index3.tags.special(_index3.tags.variableName)],
  color: base0C
}, {
  tag: [_index3.tags.processingInstruction, _index3.tags.inserted],
  color: base07
}, {
  tag: [_index3.tags.contentSeparator],
  color: base0D
}, {
  tag: _index3.tags.invalid,
  color: base02,
  borderBottom: "1px dotted ".concat(invalid)
}]);

/// Extension to enable the Nord theme (both the editor theme and
/// the highlight style).
// export const nord: Extension = [
//   nordTheme,
//   syntaxHighlighting(nordHighlightStyle)
// ]

},{"../../../../../node_modules/@codemirror/language/dist/index.js":6,"../../../../../node_modules/@codemirror/view/dist/index.js":10,"../../../../../node_modules/@lezer/highlight/dist/index.js":12}],27:[function(require,module,exports){
"use strict";

Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.solarizedDarkTheme = exports.solarizedDarkHighlightStyle = void 0;
var _index = require("../../../../../node_modules/@codemirror/view/dist/index.js");
var _index2 = require("../../../../../node_modules/@codemirror/language/dist/index.js");
var _index3 = require("../../../../../node_modules/@lezer/highlight/dist/index.js");
var base00 = '#002b36',
  base01 = '#073642',
  base02 = '#586e75',
  base03 = '#657b83',
  base04 = '#839496',
  base05 = '#93a1a1',
  base06 = '#eee8d5',
  base07 = '#fdf6e3',
  base_red = '#dc322f',
  base_orange = '#cb4b16',
  base_yellow = '#b58900',
  base_green = '#859900',
  base_cyan = '#2aa198',
  base_blue = '#268bd2',
  base_violet = '#6c71c4',
  base_magenta = '#d33682';
var invalid = '#d30102',
  stone = base04,
  darkBackground = '#00252f',
  highlightBackground = '#173541',
  background = base00,
  tooltipBackground = base01,
  selection = '#173541',
  cursor = base04;

/// The editor theme styles for Solarized Dark.
var solarizedDarkTheme = exports.solarizedDarkTheme = _index.EditorView.theme({
  '&': {
    color: base05,
    backgroundColor: background
  },
  '.cm-content': {
    caretColor: cursor
  },
  '.cm-cursor, .cm-dropCursor': {
    borderLeftColor: cursor
  },
  '&.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection': {
    backgroundColor: selection
  },
  '.cm-panels': {
    backgroundColor: darkBackground,
    color: base03
  },
  '.cm-panels.cm-panels-top': {
    borderBottom: '2px solid black'
  },
  '.cm-panels.cm-panels-bottom': {
    borderTop: '2px solid black'
  },
  '.cm-searchMatch': {
    backgroundColor: '#72a1ff59',
    outline: '1px solid #457dff'
  },
  '.cm-searchMatch.cm-searchMatch-selected': {
    backgroundColor: '#6199ff2f'
  },
  '.cm-activeLine': {
    backgroundColor: highlightBackground
  },
  '.cm-selectionMatch': {
    backgroundColor: '#aafe661a'
  },
  '&.cm-focused .cm-matchingBracket, &.cm-focused .cm-nonmatchingBracket': {
    outline: "1px solid ".concat(base06)
  },
  '.cm-gutters': {
    backgroundColor: darkBackground,
    color: stone,
    border: 'none'
  },
  '.cm-activeLineGutter': {
    backgroundColor: highlightBackground
  },
  '.cm-foldPlaceholder': {
    backgroundColor: 'transparent',
    border: 'none',
    color: '#ddd'
  },
  '.cm-tooltip': {
    border: 'none',
    backgroundColor: tooltipBackground
  },
  '.cm-tooltip .cm-tooltip-arrow:before': {
    borderTopColor: 'transparent',
    borderBottomColor: 'transparent'
  },
  '.cm-tooltip .cm-tooltip-arrow:after': {
    borderTopColor: tooltipBackground,
    borderBottomColor: tooltipBackground
  },
  '.cm-tooltip-autocomplete': {
    '& > ul > li[aria-selected]': {
      backgroundColor: highlightBackground,
      color: base03
    }
  }
}, {
  dark: true
});

/// The highlighting style for code in the Solarized Dark theme.
var solarizedDarkHighlightStyle = exports.solarizedDarkHighlightStyle = _index2.HighlightStyle.define([{
  tag: _index3.tags.keyword,
  color: base_green
}, {
  tag: [_index3.tags.name, _index3.tags.deleted, _index3.tags.character, _index3.tags.propertyName, _index3.tags.macroName],
  color: base_cyan
}, {
  tag: [_index3.tags.variableName],
  color: base05
}, {
  tag: [_index3.tags["function"](_index3.tags.variableName)],
  color: base_blue
}, {
  tag: [_index3.tags.labelName],
  color: base_magenta
}, {
  tag: [_index3.tags.color, _index3.tags.constant(_index3.tags.name), _index3.tags.standard(_index3.tags.name)],
  color: base_yellow
}, {
  tag: [_index3.tags.definition(_index3.tags.name), _index3.tags.separator],
  color: base_cyan
}, {
  tag: [_index3.tags.brace],
  color: base_magenta
}, {
  tag: [_index3.tags.annotation],
  color: invalid
}, {
  tag: [_index3.tags.number, _index3.tags.changed, _index3.tags.annotation, _index3.tags.modifier, _index3.tags.self, _index3.tags.namespace],
  color: base_magenta
}, {
  tag: [_index3.tags.typeName, _index3.tags.className],
  color: base_orange
}, {
  tag: [_index3.tags.operator, _index3.tags.operatorKeyword],
  color: base_violet
}, {
  tag: [_index3.tags.tagName],
  color: base_blue
}, {
  tag: [_index3.tags.squareBracket],
  color: base_red
}, {
  tag: [_index3.tags.angleBracket],
  color: base02
}, {
  tag: [_index3.tags.attributeName],
  color: base05
}, {
  tag: [_index3.tags.regexp],
  color: invalid
}, {
  tag: [_index3.tags.quote],
  color: base_green
}, {
  tag: [_index3.tags.string],
  color: base_yellow
}, {
  tag: _index3.tags.link,
  color: base_cyan,
  textDecoration: 'underline',
  textUnderlinePosition: 'under'
}, {
  tag: [_index3.tags.url, _index3.tags.escape, _index3.tags.special(_index3.tags.string)],
  color: base_yellow
}, {
  tag: [_index3.tags.meta],
  color: base_red
}, {
  tag: [_index3.tags.comment],
  color: base04,
  fontStyle: 'italic'
}, {
  tag: _index3.tags.strong,
  fontWeight: 'bold',
  color: base06
}, {
  tag: _index3.tags.emphasis,
  fontStyle: 'italic',
  color: base_green
}, {
  tag: _index3.tags.strikethrough,
  textDecoration: 'line-through'
}, {
  tag: _index3.tags.heading,
  fontWeight: 'bold',
  color: base_yellow
}, {
  tag: _index3.tags.heading1,
  fontWeight: 'bold',
  color: base07
}, {
  tag: [_index3.tags.heading2, _index3.tags.heading3, _index3.tags.heading4],
  fontWeight: 'bold',
  color: base06
}, {
  tag: [_index3.tags.heading5, _index3.tags.heading6],
  color: base06
}, {
  tag: [_index3.tags.atom, _index3.tags.bool, _index3.tags.special(_index3.tags.variableName)],
  color: base_magenta
}, {
  tag: [_index3.tags.processingInstruction, _index3.tags.inserted, _index3.tags.contentSeparator],
  color: base_red
}, {
  tag: [_index3.tags.contentSeparator],
  color: base_yellow
}, {
  tag: _index3.tags.invalid,
  color: base02,
  borderBottom: "1px dotted ".concat(base_red)
}]);

/// Extension to enable the Solarized Dark theme (both the editor theme and
/// the highlight style).
// export const solarizedDark: Extension = [
//   solarizedDarkTheme,
//   syntaxHighlighting(solarizedDarkHighlightStyle)
// ]
// export {solarizedDark}

},{"../../../../../node_modules/@codemirror/language/dist/index.js":6,"../../../../../node_modules/@codemirror/view/dist/index.js":10,"../../../../../node_modules/@lezer/highlight/dist/index.js":12}],28:[function(require,module,exports){
"use strict";

Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.solarizedLightTheme = exports.solarizedLightHighlightStyle = void 0;
var _index = require("../../../../../node_modules/@codemirror/view/dist/index.js");
var _index2 = require("../../../../../node_modules/@codemirror/language/dist/index.js");
var _index3 = require("../../../../../node_modules/@lezer/highlight/dist/index.js");
var base00 = '#657b83',
  base01 = '#586e75',
  base02 = '#073642',
  base03 = '#002b36',
  base0 = '#839496',
  base1 = '#93a1a1',
  base2 = '#eee8d5',
  base3 = '#fdf6e3',
  base_red = '#dc322f',
  base_orange = '#cb4b16',
  base_yellow = '#b58900',
  base_green = '#859900',
  base_cyan = '#2aa198',
  base_blue = '#268bd2',
  base_violet = '#6c71c4',
  base_magenta = '#d33682';
var invalid = '#d30102',
  darkBackground = '#dfd9c8',
  highlightBackground = darkBackground,
  background = base3,
  tooltipBackground = base02,
  selection = darkBackground,
  cursor = base01;

/// The editor theme styles for Solarized Light.
var solarizedLightTheme = exports.solarizedLightTheme = _index.EditorView.theme({
  '&': {
    color: base00,
    backgroundColor: background
  },
  '.cm-content': {
    caretColor: cursor
  },
  '.cm-cursor, .cm-dropCursor': {
    borderLeftColor: cursor
  },
  '&.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection': {
    backgroundColor: selection
  },
  '.cm-panels': {
    backgroundColor: darkBackground,
    color: base03
  },
  '.cm-panels.cm-panels-top': {
    borderBottom: '2px solid black'
  },
  '.cm-panels.cm-panels-bottom': {
    borderTop: '2px solid black'
  },
  '.cm-searchMatch': {
    backgroundColor: '#72a1ff59',
    outline: '1px solid #457dff'
  },
  '.cm-searchMatch.cm-searchMatch-selected': {
    backgroundColor: '#6199ff2f'
  },
  '.cm-activeLine': {
    backgroundColor: highlightBackground
  },
  '.cm-selectionMatch': {
    backgroundColor: '#aafe661a'
  },
  '&.cm-focused .cm-matchingBracket, &.cm-focused .cm-nonmatchingBracket': {
    outline: "1px solid ".concat(base1)
  },
  '.cm-gutters': {
    backgroundColor: '#00000010',
    color: base00,
    border: 'none'
  },
  '.cm-activeLineGutter': {
    backgroundColor: highlightBackground
  },
  '.cm-foldPlaceholder': {
    backgroundColor: 'transparent',
    border: 'none',
    color: '#ddd'
  },
  '.cm-tooltip': {
    border: 'none',
    backgroundColor: tooltipBackground
  },
  '.cm-tooltip .cm-tooltip-arrow:before': {
    borderTopColor: 'transparent',
    borderBottomColor: 'transparent'
  },
  '.cm-tooltip .cm-tooltip-arrow:after': {
    borderTopColor: tooltipBackground,
    borderBottomColor: tooltipBackground
  },
  '.cm-tooltip-autocomplete': {
    '& > ul > li[aria-selected]': {
      backgroundColor: base02,
      color: base_yellow
    }
  }
}, {
  dark: false
});

/// The highlighting style for code in the Solarized Light theme.
var solarizedLightHighlightStyle = exports.solarizedLightHighlightStyle = _index2.HighlightStyle.define([{
  tag: _index3.tags.keyword,
  color: base_green
}, {
  tag: [_index3.tags.name, _index3.tags.deleted, _index3.tags.character, _index3.tags.propertyName, _index3.tags.macroName],
  color: base_cyan
}, {
  tag: [_index3.tags.variableName],
  color: base_blue
}, {
  tag: [_index3.tags["function"](_index3.tags.variableName)],
  color: base_blue
}, {
  tag: [_index3.tags.labelName],
  color: base_magenta
}, {
  tag: [_index3.tags.color, _index3.tags.constant(_index3.tags.name), _index3.tags.standard(_index3.tags.name)],
  color: base_yellow
}, {
  tag: [_index3.tags.definition(_index3.tags.name), _index3.tags.separator],
  color: base_cyan
}, {
  tag: [_index3.tags.brace],
  color: base_magenta
}, {
  tag: [_index3.tags.annotation],
  color: invalid
}, {
  tag: [_index3.tags.number, _index3.tags.changed, _index3.tags.annotation, _index3.tags.modifier, _index3.tags.self, _index3.tags.namespace],
  color: base_magenta
}, {
  tag: [_index3.tags.typeName, _index3.tags.className],
  color: base_orange
}, {
  tag: [_index3.tags.operator, _index3.tags.operatorKeyword],
  color: base_violet
}, {
  tag: [_index3.tags.tagName],
  color: base_blue
}, {
  tag: [_index3.tags.squareBracket],
  color: base_red
}, {
  tag: [_index3.tags.angleBracket],
  color: base02
}, {
  tag: [_index3.tags.attributeName],
  color: base1
}, {
  tag: [_index3.tags.regexp],
  color: invalid
}, {
  tag: [_index3.tags.quote],
  color: base_green
}, {
  tag: [_index3.tags.string],
  color: base_yellow
}, {
  tag: _index3.tags.link,
  color: base_cyan,
  textDecoration: 'underline',
  textUnderlinePosition: 'under'
}, {
  tag: [_index3.tags.url, _index3.tags.escape, _index3.tags.special(_index3.tags.string)],
  color: base_yellow
}, {
  tag: [_index3.tags.meta],
  color: base_red
}, {
  tag: [_index3.tags.comment],
  color: base02,
  fontStyle: 'italic'
}, {
  tag: _index3.tags.strong,
  fontWeight: 'bold',
  color: base01
}, {
  tag: _index3.tags.emphasis,
  fontStyle: 'italic',
  color: base_green
}, {
  tag: _index3.tags.strikethrough,
  textDecoration: 'line-through'
}, {
  tag: _index3.tags.heading,
  fontWeight: 'bold',
  color: base_yellow
}, {
  tag: _index3.tags.heading1,
  fontWeight: 'bold',
  color: base03
}, {
  tag: [_index3.tags.heading2, _index3.tags.heading3, _index3.tags.heading4],
  fontWeight: 'bold',
  color: base03
}, {
  tag: [_index3.tags.heading5, _index3.tags.heading6],
  color: base03
}, {
  tag: [_index3.tags.atom, _index3.tags.bool, _index3.tags.special(_index3.tags.variableName)],
  color: base_magenta
}, {
  tag: [_index3.tags.processingInstruction, _index3.tags.inserted, _index3.tags.contentSeparator],
  color: base_red
}, {
  tag: [_index3.tags.contentSeparator],
  color: base_yellow
}, {
  tag: _index3.tags.invalid,
  color: base02,
  borderBottom: "1px dotted ".concat(base_red)
}]);

/// Extension to enable the Solarized Light theme (both the editor theme and
/// the highlight style).
// export const solarizedLight: Extension = [
//   solarizedLightTheme,
//   syntaxHighlighting(solarizedLightHighlightStyle)
// ]

},{"../../../../../node_modules/@codemirror/language/dist/index.js":6,"../../../../../node_modules/@codemirror/view/dist/index.js":10,"../../../../../node_modules/@lezer/highlight/dist/index.js":12}],29:[function(require,module,exports){
"use strict";

Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.changeFontSize = changeFontSize;
exports.changeTheme = changeTheme;
exports.disableAutoCompletion = disableAutoCompletion;
exports.editor = void 0;
exports.enableAutoCompletion = enableAutoCompletion;
exports.replaceContent = replaceContent;
exports.replaceStartText = replaceStartText;
var _codemirror = require("codemirror");
var _autocomplete = require("@codemirror/autocomplete");
var _langJavascript = require("@codemirror/lang-javascript");
var _language = require("@codemirror/language");
var _state = require("@codemirror/state");
var _view = require("@codemirror/view");
var _commands = require("@codemirror/commands");
var _src = require("./cm6-themes/packages/basic-light/src");
var _src2 = require("./cm6-themes/packages/basic-dark/src");
var _src3 = require("./cm6-themes/packages/gruvbox-dark/src");
var _src4 = require("./cm6-themes/packages/gruvbox-light/src");
var _src5 = require("./cm6-themes/packages/material-dark/src");
var _src6 = require("./cm6-themes/packages/nord/src");
var _src7 = require("./cm6-themes/packages/solarized-dark/src");
var _src8 = require("./cm6-themes/packages/solarized-light/src");
var _language2 = require("./language.js");
var _dialogs = require("./dialogs.js");
var _navigation = require("./navigation.js");
var editor;
var themeConfig = new _state.Compartment();
var syntaxHighlightConfig = new _state.Compartment();
var autocompleteConfig = new _state.Compartment();
var themeMap = new Map([["basic-lightTheme", _src.basicLightTheme], ["basic-darkTheme", _src2.basicDarkTheme], ["gruvbox-lightTheme", _src4.gruvboxLightTheme], ["gruvbox-darkTheme", _src3.gruvboxDarkTheme], ["material-darkTheme", _src5.materialDarkTheme], ["nordTheme", _src6.nordTheme], ["solarized-darkTheme", _src7.solarizedDarkTheme], ["solarized-lightTheme", _src8.solarizedLightTheme]]);
var highlightStyleMap = new Map([["basic-lightHighlightStyle", _src.basicLightHighlightStyle], ["basic-darkHighlightStyle", _src2.basicDarkHighlightStyle], ["gruvbox-darkHighlightStyle", _src3.gruvboxDarkHighlightStyle], ["gruvbox-lightHighlightStyle", _src4.gruvboxLightHighlightStyle], ["material-darkHighlightStyle", _src5.materialDarkHighlightStyle], ["nordHighlightStyle", _src6.nordHighlightStyle], ["solarized-darkHighlightStyle", _src7.solarizedDarkHighlightStyle], ["solarized-lightHighlightStyle", _src8.solarizedLightHighlightStyle]]);
var completions = [{
  label: "vor();",
  type: "function"
}, {
  label: "move();",
  type: "function"
}, {
  label: "linksUm();",
  type: "function"
}, {
  label: "turnLeft();",
  type: "function"
}, {
  label: "pickGrain();",
  type: "function"
}, {
  label: "putGrain();",
  type: "function"
}, {
  label: "nimm();",
  type: "function"
}, {
  label: "gib();",
  type: "function"
}, {
  label: "vornFrei();",
  type: "function"
}, {
  label: "frontIsClear();",
  type: "function"
}, {
  label: "kornDa();",
  type: "function"
}, {
  label: "grainAvailable();",
  type: "function"
}, {
  label: "maulLeer();",
  type: "function"
}, {
  label: "mouthEmpty();",
  type: "function"
}, {
  label: "hamster",
  type: "variable"
}];
function myCompletions(context) {
  var before = context.matchBefore(/\w+/);
  // If completion wasn't explicitly started and there
  // is no word before the cursor, don't open completions.
  if (!context.explicit && !before) {
    return null;
  }
  return {
    from: before ? before.from : context.pos,
    options: completions
  };
}

/**
 * Erstellt die Textstücke, für die die automatische Textvervollständigung funktionieren soll.
 * 
 * @param context, Inhalt des Texteditors.
 * @return {null|{options: *[], from}}, die erstellten Textvervollständigungen.
 */
function setUpSnippets(context) {
  var matchBefore = context.matchBefore(/\w*/);
  if (!context.explicit && !matchBefore) {
    return null;
  }
  return {
    from: matchBefore.from,
    options: [(0, _autocomplete.snippetCompletion)('for (let i=${index}; i<${x}; i${++}) {\n\t${function();}\n}', {
      label: 'for (let i=...){}',
      type: "keyword"
    }), (0, _autocomplete.snippetCompletion)('while (${expr}) {\n\t${function();}\n}', {
      label: 'while (...){}',
      type: "keyword"
    }), (0, _autocomplete.snippetCompletion)('if (${expr}) {\n\t${function();}\n}', {
      label: 'if (...){}',
      type: "keyword"
    }), (0, _autocomplete.snippetCompletion)('if (${expr}) {\n\t${function1();}\n} else {\n\t${function2();}\n}', {
      label: 'if (...){} else{}',
      type: "keyword"
    }), (0, _autocomplete.snippetCompletion)('console.log(${function()});', {
      label: 'console.log(...)',
      type: 'function'
    }), (0, _autocomplete.snippetCompletion)('liesZahl("${text}");', {
      label: 'liesZahl(...)',
      type: 'function'
    }), (0, _autocomplete.snippetCompletion)('readNumber("${text}");', {
      label: 'readNumber(...)',
      type: 'function'
    }), (0, _autocomplete.snippetCompletion)('liesZeichenkette("${text}");', {
      label: 'liesZeichenkette(...)',
      type: 'function'
    }), (0, _autocomplete.snippetCompletion)('readString("${text}");', {
      label: 'readString(...)',
      type: 'function'
    }), (0, _autocomplete.snippetCompletion)('schreib("${text}");', {
      label: 'schreib(...)',
      type: 'function'
    }), (0, _autocomplete.snippetCompletion)('write("${text}");', {
      label: 'write(...)',
      type: 'function'
    }), (0, _autocomplete.snippetCompletion)('new Hamster(${parameter});', {
      label: 'new Hamster(...)',
      type: 'function'
    })]
  };
}

/**
 * Deaktiviert die automatische Textvervollständigung für den Editor.
 */
function disableAutoCompletion() {
  editor.dispatch({
    effects: autocompleteConfig.reconfigure([(0, _autocomplete.autocompletion)({
      override: []
    })])
  });
}

/**
 * Aktiviert die automatische Textvervollständigung für den Editor.
 */
function enableAutoCompletion() {
  editor.dispatch({
    effects: autocompleteConfig.reconfigure([(0, _autocomplete.autocompletion)({
      override: [myCompletions, function (context) {
        return setUpSnippets(context);
      }]
    })])
  });
}

/**
 * Erstellt, sobald der Inhalt des Dokuments geladen wurde eine Codemirror 6 EditorView und bettet diese
 * in das Editor-Wrapper-Element ein.
 */
document.addEventListener("DOMContentLoaded", function () {
  exports.editor = editor = new _codemirror.EditorView({
    doc: _language2.languagesStrings[_language2.userLanguage]['textEditor'],
    parent: document.getElementById('editor-wrapper'),
    extensions: [_codemirror.basicSetup, (0, _langJavascript.javascript)(), autocompleteConfig.of([(0, _autocomplete.autocompletion)({
      override: []
    })]), _view.keymap.of([{
      key: "Tab",
      preventDefault: true,
      run: _commands.insertTab
    }]), themeConfig.of([themeMap.get('basic-darkTheme')]), syntaxHighlightConfig.of([(0, _language.syntaxHighlighting)(_src2.basicDarkHighlightStyle)])]
  });

  // Schalte die automatische Textvervollständigung ein/aus je nachdem,
  // ob die Checkbox in der index.html un-/checked ist.
  if (document.getElementById('auto-completion-checkbox').checked) {
    enableAutoCompletion();
  } else {
    disableAutoCompletion();
  }
});

/**
 * Ändert die Textgröße des Texteditors.
 * 
 * @param event, das auslösende Event.
 */
function changeFontSize(event) {
  event.preventDefault();
  var editorWrapper = document.getElementById('editor-wrapper');
  var newSize = document.getElementById('font-size-input').value;
  editorWrapper.style.fontSize = newSize + "px";

  // Fügt ein Leerzeichen am Anfang des Editors ein und löscht es wieder.
  // Workaround, damit sich die Schriftgröße des Gutters ebenfalls anpasst.
  editor.dispatch({
    changes: {
      from: 0,
      to: 0,
      insert: " "
    }
  });
  editor.dispatch({
    changes: {
      from: 0,
      to: 1,
      insert: ""
    }
  });
  (0, _dialogs.closeChangeFontSizeDialog)();
  (0, _navigation.closeMenu)(event);
}

/**
 * Ändert das Theme bzw. Design des Texteditors.
 * 
 * @param event, das auslösende Event.
 */
function changeTheme(event) {
  event.preventDefault();
  var themeName = document.querySelector('input[name="theme"]:checked').value;
  var themeString = themeName + "Theme";
  var highlightString = themeName + "HighlightStyle";
  var theme;
  var highlightStyle;
  if (themeMap.has(themeString) && highlightStyleMap.has(highlightString)) {
    theme = themeMap.get(themeString);
    highlightStyle = highlightStyleMap.get(highlightString);
    editor.dispatch({
      effects: themeConfig.reconfigure(theme)
    });
    editor.dispatch({
      effects: syntaxHighlightConfig.reconfigure((0, _language.syntaxHighlighting)(highlightStyle))
    });
  } else {
    editor.dispatch({
      effects: themeConfig.reconfigure([])
    });
    editor.dispatch({
      effects: syntaxHighlightConfig.reconfigure([])
    });
  }
  (0, _dialogs.closeChangeThemeDialog)();
  (0, _navigation.closeMenu)(event);
}

/**
 * Ersetzt den Inhalt des Texteditors.
 * 
 * @param content, neuer Inhalt, der angezeigt werden soll.
 */
function replaceContent(content) {
  editor.dispatch({
    changes: {
      from: 0,
      to: editor.state.doc.length,
      insert: content
    }
  });
}

/**
 * Ersetzt den Starttext des Texteditor.
 */
function replaceStartText() {
  var content = editor.state.doc.toString();
  if (_language2.userLanguage === 'de') {
    content = content.replace(_language2.languagesStrings['en']['textEditor'], _language2.languagesStrings['de']['textEditor']);
  } else {
    content = content.replace(_language2.languagesStrings['de']['textEditor'], _language2.languagesStrings['en']['textEditor']);
  }
  replaceContent(content);
}

},{"./cm6-themes/packages/basic-dark/src":21,"./cm6-themes/packages/basic-light/src":22,"./cm6-themes/packages/gruvbox-dark/src":23,"./cm6-themes/packages/gruvbox-light/src":24,"./cm6-themes/packages/material-dark/src":25,"./cm6-themes/packages/nord/src":26,"./cm6-themes/packages/solarized-dark/src":27,"./cm6-themes/packages/solarized-light/src":28,"./dialogs.js":31,"./language.js":33,"./navigation.js":35,"@codemirror/autocomplete":3,"@codemirror/commands":4,"@codemirror/lang-javascript":5,"@codemirror/language":6,"@codemirror/state":9,"@codemirror/view":10,"codemirror":15}],30:[function(require,module,exports){
"use strict";

function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.pauseCode = pauseCode;
exports.runCode = runCode;
exports.stopCode = stopCode;
var _cmEditor = require("./cmEditor.js");
var _standalone = require("@babel/standalone");
var _hamster = require("./hamster.js");
var _canvas = require("./canvas.js");
var _buttons = require("./buttons.js");
var _language = require("./language.js");
var _dialogs = require("./dialogs.js");
var _saveAndLoad = require("./saveAndLoad.js");
function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator["return"] && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, "catch": function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
var running = false;
var stopped = true;
var paused = false;
var myInterpreter;

/**
 * Stellt die Funktionen des Hamsters für den Interpreter zur Verfügung.
 * 
 * @param interpreter, für den JS-Code.
 * @param scope, globales Objekt des Interpreters.
 */
function initFunctionsForInterpreter(interpreter, scope) {
  // Definiert den Konstruktor der Hamster-Klasse für den Interpreter.
  var wrapperHamsterConstructor = function wrapperHamsterConstructor(row, column, direction, numberOfGrains) {
    var newHamster;
    var hamsterInterpreterObj = interpreter.createObject(interpreter.OBJECT);
    if (arguments.length === 0) {
      newHamster = new _hamster.Hamster();
    } else if (arguments.length === 1 && (arguments[0] instanceof Interpreter.Object || arguments[0] instanceof _hamster.Hamster)) {
      var tempHamsterObj = arguments[0];
      var hamsterParameter = (0, _hamster.getHamsterWithId)(tempHamsterObj.hamsterId);
      newHamster = new _hamster.Hamster(hamsterParameter);
    } else {
      newHamster = new _hamster.Hamster(row, column, direction, numberOfGrains);
    }

    // Wird nur ausgeführt, falls beim Erzeugen des Hamster-Objekts kein Fehler auftritt.
    if (!_hamster.error) {
      hamsterInterpreterObj.hamsterId = newHamster.getHamsterId();
      interpreter.setProperty(hamsterInterpreterObj, newHamster.getName(), newHamster);
      defineHamsterMethods(newHamster, hamsterInterpreterObj);
      (0, _hamster.addToHamsterArray)(newHamster);
      (0, _canvas.drawAll)();
    }
    return hamsterInterpreterObj;
  };
  interpreter.setProperty(scope, 'newHamster', interpreter.createNativeFunction(wrapperHamsterConstructor));
  var wrapperAddHamsterToArray = function wrapperAddHamsterToArray(hamster) {
    return (0, _hamster.addToHamsterArray)(hamster);
  };
  interpreter.setProperty(scope, 'addToHamsterArray', interpreter.createNativeFunction(wrapperAddHamsterToArray));
  var wrapperDrawAll = function wrapperDrawAll() {
    return (0, _canvas.drawAll)();
  };
  interpreter.setProperty(scope, 'drawAll', interpreter.createNativeFunction(wrapperDrawAll));

  // Default-Hamster-Objekt
  var myDefaultHamsterInterpreterObj = interpreter.createObject(interpreter.OBJECT);
  interpreter.setProperty(scope, 'Hamster', myDefaultHamsterInterpreterObj);
  interpreter.setProperty(scope, 'hamster', myDefaultHamsterInterpreterObj);
  myDefaultHamsterInterpreterObj.hamsterId = _hamster.hamster.getHamsterId();
  interpreter.setProperty(myDefaultHamsterInterpreterObj, _hamster.hamster.getName(), _hamster.hamster);
  defineHamsterMethods(_hamster.hamster, myDefaultHamsterInterpreterObj);
  var wrapperGetDefaultHamster = function wrapperGetDefaultHamster() {
    return myDefaultHamsterInterpreterObj;
  };
  interpreter.setProperty(myDefaultHamsterInterpreterObj, 'getDefaultHamster', interpreter.createNativeFunction(wrapperGetDefaultHamster));
  var wrapperGetNumberOfHamsters = function wrapperGetNumberOfHamsters() {
    return _hamster.Hamster.getNumberOfHamster();
  };
  interpreter.setProperty(myDefaultHamsterInterpreterObj, 'getNumberOfHamster', interpreter.createNativeFunction(wrapperGetNumberOfHamsters));

  // Territorium
  var myTerritory = interpreter.createNativeFunction(_canvas.territoryContent);
  interpreter.setProperty(scope, "Territory", myTerritory);
  var wrapperTerritoryGetNumberOfRows = function wrapperTerritoryGetNumberOfRows() {
    return _canvas.territoryContent.length;
  };
  interpreter.setProperty(myTerritory, 'getNumberOfRows', interpreter.createNativeFunction(wrapperTerritoryGetNumberOfRows));
  var wrapperTerritoryGetNumberOfColumns = function wrapperTerritoryGetNumberOfColumns() {
    return _canvas.territoryContent[0].length;
  };
  interpreter.setProperty(myTerritory, 'getNumberOfColumns', interpreter.createNativeFunction(wrapperTerritoryGetNumberOfColumns));
  var wrapperTerritoryWall = function wrapperTerritoryWall(row, column) {
    return row < 0 || row > _canvas.rows || column < 0 || column > _canvas.cols || _canvas.territoryContent[row][column].hasWall();
  };
  interpreter.setProperty(myTerritory, 'wall', interpreter.createNativeFunction(wrapperTerritoryWall));
  var wrapperTerritoryGetNumberOfGrains = function wrapperTerritoryGetNumberOfGrains(row, column) {
    if (row === undefined || column === undefined) {
      var numberOfGrains = 0;
      for (var r = 0; r < _canvas.rows; r++) {
        for (var c = 0; c < _canvas.cols; c++) {
          numberOfGrains += _canvas.territoryContent[r][c].getNumberOfGrains();
        }
      }
      return numberOfGrains;
    } else {
      if (row < 0 || row > _canvas.rows || column < 0 || column > _canvas.cols || _canvas.territoryContent[row][column].hasWall()) {
        return 0;
      } else {
        return _canvas.territoryContent[row][column].getNumberOfGrains();
      }
    }
  };
  interpreter.setProperty(myTerritory, 'getNumberOfGrains', interpreter.createNativeFunction(wrapperTerritoryGetNumberOfGrains));
  var wrapperTerritoryGetNumberOfHamsters = function wrapperTerritoryGetNumberOfHamsters(row, column) {
    if (row === undefined || column === undefined) {
      return _hamster.Hamster.getNumberOfHamster();
    } else {
      if (row < 0 || row > _canvas.rows || column < 0 || column > _canvas.cols || _canvas.territoryContent[row][column].hasWall()) {
        return 0;
      } else {
        return _canvas.territoryContent[row][column].getNumberOfHamster();
      }
    }
  };
  interpreter.setProperty(myTerritory, 'getNumberOfHamster', interpreter.createNativeFunction(wrapperTerritoryGetNumberOfHamsters));
  var wrapperTerritoryGetHamster = function wrapperTerritoryGetHamster(row, column) {
    if (row === undefined || column === undefined) {
      return (0, _hamster.getHamster)();
    } else {
      if (row < 0 || row > _canvas.rows || column < 0 || column > _canvas.cols || _canvas.territoryContent[row][column].getNumberOfHamster() === 0) {
        return [];
      } else {
        return _canvas.territoryContent[row][column].getHamster();
      }
    }
  };
  interpreter.setProperty(myTerritory, 'getHamster', interpreter.createNativeFunction(wrapperTerritoryGetHamster));

  // Konsole
  var myConsole = interpreter.createNativeFunction(window.console);
  interpreter.setProperty(scope, 'console', myConsole);
  var wrapperLog = function wrapperLog(text) {
    return console.log(text);
  };
  interpreter.setProperty(myConsole, 'log', interpreter.createNativeFunction(wrapperLog));

  // Hamsters-Array
  var myHamsters = interpreter.createNativeFunction(_hamster.hamsters);
  interpreter.setProperty(scope, 'hamsters', myHamsters);
  var wrapperHamsters = function wrapperHamsters() {
    return (0, _hamster.getHamster)();
  };
  interpreter.setProperty(scope, 'getHamster', interpreter.createNativeFunction(wrapperHamsters));

  /**
   * Definiert die Methoden der Hamster-Klasse für die Interpreter-Hamster-Objekte.
   * 
   * @param realHamster, das wirkliche Hamster-Objekt.
   * @param hamsterInterpreterObj, das zugeordnete Interpreter-Hamster-Objekt.
   */
  function defineHamsterMethods(realHamster, hamsterInterpreterObj) {
    var wrapperHamsterMove = function wrapperHamsterMove() {
      return realHamster.move();
    };
    interpreter.setProperty(hamsterInterpreterObj, 'move', interpreter.createNativeFunction(wrapperHamsterMove));
    var wrapperHamsterTurnLeft = function wrapperHamsterTurnLeft() {
      return realHamster.turnLeft();
    };
    interpreter.setProperty(hamsterInterpreterObj, 'turnLeft', interpreter.createNativeFunction(wrapperHamsterTurnLeft));
    var wrapperHamsterPickGrain = function wrapperHamsterPickGrain() {
      return realHamster.pickGrain();
    };
    interpreter.setProperty(hamsterInterpreterObj, 'pickGrain', interpreter.createNativeFunction(wrapperHamsterPickGrain));
    var wrapperHamsterPutGrain = function wrapperHamsterPutGrain() {
      return realHamster.putGrain();
    };
    interpreter.setProperty(hamsterInterpreterObj, 'putGrain', interpreter.createNativeFunction(wrapperHamsterPutGrain));
    var wrapperHamsterReadNumber = /*#__PURE__*/function () {
      var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(text, callback) {
        var input;
        return _regeneratorRuntime().wrap(function _callee$(_context) {
          while (1) switch (_context.prev = _context.next) {
            case 0:
              _context.next = 2;
              return realHamster.readNumber(text);
            case 2:
              input = _context.sent;
              callback(input);
            case 4:
            case "end":
              return _context.stop();
          }
        }, _callee);
      }));
      return function wrapperHamsterReadNumber(_x, _x2) {
        return _ref.apply(this, arguments);
      };
    }();
    interpreter.setProperty(hamsterInterpreterObj, 'readNumber', interpreter.createAsyncFunction(wrapperHamsterReadNumber));
    var wrapperHamsterReadString = /*#__PURE__*/function () {
      var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(text, callback) {
        var input;
        return _regeneratorRuntime().wrap(function _callee2$(_context2) {
          while (1) switch (_context2.prev = _context2.next) {
            case 0:
              _context2.next = 2;
              return realHamster.readString(text);
            case 2:
              input = _context2.sent;
              callback(input);
            case 4:
            case "end":
              return _context2.stop();
          }
        }, _callee2);
      }));
      return function wrapperHamsterReadString(_x3, _x4) {
        return _ref2.apply(this, arguments);
      };
    }();
    interpreter.setProperty(hamsterInterpreterObj, 'readString', interpreter.createAsyncFunction(wrapperHamsterReadString));
    var wrapperHamsterWrite = /*#__PURE__*/function () {
      var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(text, callback) {
        return _regeneratorRuntime().wrap(function _callee3$(_context3) {
          while (1) switch (_context3.prev = _context3.next) {
            case 0:
              _context3.t0 = callback;
              _context3.next = 3;
              return realHamster.write(text);
            case 3:
              _context3.t1 = _context3.sent;
              (0, _context3.t0)(_context3.t1);
            case 5:
            case "end":
              return _context3.stop();
          }
        }, _callee3);
      }));
      return function wrapperHamsterWrite(_x5, _x6) {
        return _ref3.apply(this, arguments);
      };
    }();
    interpreter.setProperty(hamsterInterpreterObj, 'write', interpreter.createAsyncFunction(wrapperHamsterWrite));
    var wrapperHamsterFrontIsClear = function wrapperHamsterFrontIsClear() {
      return realHamster.frontIsClear();
    };
    interpreter.setProperty(hamsterInterpreterObj, 'frontIsClear', interpreter.createNativeFunction(wrapperHamsterFrontIsClear));
    var wrapperHamsterGrainAvailable = function wrapperHamsterGrainAvailable() {
      return realHamster.grainAvailable();
    };
    interpreter.setProperty(hamsterInterpreterObj, 'grainAvailable', interpreter.createNativeFunction(wrapperHamsterGrainAvailable));
    var wrapperHamsterMouthEmpty = function wrapperHamsterMouthEmpty() {
      return realHamster.mouthEmpty();
    };
    interpreter.setProperty(hamsterInterpreterObj, 'mouthEmpty', interpreter.createNativeFunction(wrapperHamsterMouthEmpty));
    var wrapperHamsterInit = function wrapperHamsterInit(row, column, direction, numberOfGrains) {
      return realHamster.init(row, column, direction, numberOfGrains);
    };
    interpreter.setProperty(hamsterInterpreterObj, 'init', interpreter.createNativeFunction(wrapperHamsterInit));
    var wrapperHamsterGetRow = function wrapperHamsterGetRow() {
      return realHamster.getRow();
    };
    interpreter.setProperty(hamsterInterpreterObj, 'getRow', interpreter.createNativeFunction(wrapperHamsterGetRow));
    var wrapperHamsterGetColumn = function wrapperHamsterGetColumn() {
      return realHamster.getColumn();
    };
    interpreter.setProperty(hamsterInterpreterObj, 'getColumn', interpreter.createNativeFunction(wrapperHamsterGetColumn));
    var wrapperHamsterGetDirection = function wrapperHamsterGetDirection() {
      return realHamster.getDirection();
    };
    interpreter.setProperty(hamsterInterpreterObj, 'getDirection', interpreter.createNativeFunction(wrapperHamsterGetDirection));
    var wrapperHamsterGetNumberOfGrains = function wrapperHamsterGetNumberOfGrains() {
      return realHamster.getNumberOfGrains();
    };
    interpreter.setProperty(hamsterInterpreterObj, 'getNumberOfGrains', interpreter.createNativeFunction(wrapperHamsterGetNumberOfGrains));
  }
}

/**
 * Führt den nächsten Schritt im Programm-Code innerhalb des Interpreters aus,
 * falls die Programm-Ausführung nicht pausiert oder gestoppt wurde.
 *
 * WICHTIG!!
 * Variablendeklarationen, Funktionsaufrufe, Schleifenprozeduren usw. werden vom Interpreter in mehrere Schritte unterteilt.
 * Dies bedeutet, dass beispielsweise "move();" mit einmaligen Ausführen von "interpreter.step();" nicht zum gewünschten
 * Ergebnis führt. Der Interpreter benötigt mehrere Schritte, um die gesamte Funktion abzuarbeiten.
 * Für weitere Details siehe: https://neil.fraser.name/software/JS-Interpreter/demos/line.html
 */
function nextStep() {
  if (!_hamster.maxHamsterError && !_hamster.hamsterNameAlreadyInUseError && !_hamster.error) {
    if (!paused && !stopped) {
      try {
        if (myInterpreter.step()) {
          window.setTimeout(nextStep, _buttons.sliderSpeed);
        } else {
          running = false;
          (0, _buttons.enablePlayButton)();
          (0, _buttons.disablePauseButton)();
          (0, _buttons.disableStopButton)();
          window.setTimeout(_buttons.resetControlButtons, 200);
        }
      } catch (err) {
        (0, _hamster.setError)(true);
        stopCode();
        if (!_dialogs.errorDialogOpen) {
          (0, _dialogs.openErrorDialog)(_language.languagesStrings[_language.userLanguage]['error-code-execution'] + err + ".");
        }
      }
    }
  } else {
    stopCode();
  }
}

/**
 * Formatiert den vom Nutzer eingegeben Programm-Code und übergibt ihm dem JS-Interpreter.
 */
function initInterpreterWithProgramCode() {
  var userInput = _cmEditor.editor.state.doc.toString();
  var es5Code;
  try {
    // Formatiert den UserInput und konvertiert ihn von ES6 zu ES5.
    es5Code = (0, _standalone.transform)(userInput, {
      'presets': ['es2015']
    }).code;
  } catch (err) {
    if (!_dialogs.errorDialogOpen) {
      (0, _dialogs.openErrorDialog)(_language.languagesStrings[_language.userLanguage]['error-code-transform'] + err + '.');
      return;
    }
  }
  try {
    es5Code = replaceHamsterDirection(es5Code);
    es5Code = replaceInstructions(es5Code);
  } catch (err) {
    if (!_dialogs.errorDialogOpen) {
      (0, _dialogs.openErrorDialog)(_language.languagesStrings[_language.userLanguage]['error-replace-instructions']);
    }
  }
  if (checkForHamsterBaseFunctionNames(es5Code)) {
    (0, _hamster.setError)(true);
    if (!_dialogs.errorDialogOpen) {
      (0, _dialogs.openErrorDialog)(_language.languagesStrings[_language.userLanguage]['error-function-names']);
      return;
    }
  }
  myInterpreter = new Interpreter(es5Code, initFunctionsForInterpreter);
}

/**
 * Startet die Ausführung des Programmcodes aus der Benutzereingabe.
 */
function runCode() {
  if (!running) {
    if (!paused) {
      (0, _hamster.setError)(false);
      (0, _hamster.setMaxHamsterError)(false);
      (0, _hamster.setHamsterNameAlreadyInUseError)(false);
      (0, _saveAndLoad.saveTemporaryTerritory)();
      initInterpreterWithProgramCode();
      stopped = false;
      running = true;
      (0, _buttons.disablePlayButton)();
      (0, _buttons.enablePauseButton)();
      (0, _buttons.enableStopButton)();
      nextStep();
    } else {
      running = true;
      paused = false;
      (0, _buttons.disablePlayButton)();
      (0, _buttons.enablePauseButton)();
      (0, _buttons.enableStopButton)();
      nextStep();
    }
  }
}

/**
 * Pausiert die Ausführung des Programmcodes aus der Benutzereingabe.
 */
function pauseCode() {
  if (running) {
    running = false;
    paused = true;
    (0, _buttons.enablePlayButton)();
    (0, _buttons.disablePauseButton)();
    (0, _buttons.enableStopButton)();
  }
}

/**
 * Stoppt die Ausführung des Programmcodes aus der Benutzereingabe.
 */
function stopCode() {
  stopped = true;
  running = false;
  paused = false;
  (0, _buttons.enablePlayButton)();
  (0, _buttons.disablePauseButton)();
  (0, _buttons.disableStopButton)();
  window.setTimeout(_buttons.resetControlButtons, 200);
}

/**
 * Ersetzt die Funktionsaufrufe innerhalb der Benutzereingabe mit den tatsächlichen Namen der Funktionen.
 * Wandelt außerdem einfache Funktionsaufrufe in die Methodenaufrufe des Default-Hamster-Objekts um.
 *
 * @param code, die Benutzereingabe
 * @returns {string}, Code aus der Benutzereingabe mit ersetzten Funktionsnamen.
 */
function replaceInstructions(code) {
  var newCode = code.replaceAll("new Hamster", "newHamster");
  newCode = newCode.replaceAll("vornFrei", "frontIsClear");
  newCode = newCode.replaceAll("vor", "move");
  newCode = newCode.replaceAll("nimm", "pickGrain");
  newCode = newCode.replaceAll("gib", "putGrain");
  newCode = newCode.replaceAll("linksUm", "turnLeft");
  newCode = newCode.replaceAll("kornDa", "grainAvailable");
  newCode = newCode.replaceAll("maulLeer", "mouthEmpty");
  newCode = newCode.replaceAll("liesZahl", "readNumber");
  newCode = newCode.replaceAll("liesZeichenkette", "readString");
  newCode = newCode.replaceAll("schreib", "write");
  newCode = newCode.replaceAll("getReihe", "getRow");
  newCode = newCode.replaceAll("getSpalte", "getColumn");
  newCode = newCode.replaceAll("getBlickrichtung", "getDirection");
  newCode = newCode.replaceAll("getAnzahlKoerner", "getNumberOfGrains");
  newCode = newCode.replaceAll("getStandardHamster", "getDefaultHamster");
  newCode = newCode.replaceAll("getAnzahlHamster", "getNumberOfHamster");
  newCode = newCode.replaceAll("getAnzahlReihen", "getNumberOfRows");
  newCode = newCode.replaceAll("getAnzahlSpalten", "getNumberOfColumns");
  newCode = newCode.replaceAll("mauerDa", "wall");
  newCode = newCode.replaceAll("Territorium", "Territory");
  newCode = newCode.replace(/([^.]|^)move\(/g, '$1hamster.move(');
  newCode = newCode.replace(/([^.]|^)turnLeft\(/g, '$1hamster.turnLeft(');
  newCode = newCode.replace(/([^.]|^)pickGrain\(/g, '$1hamster.pickGrain(');
  newCode = newCode.replace(/([^.]|^)putGrain\(/g, '$1hamster.putGrain(');
  newCode = newCode.replace(/([^.]|^)frontIsClear\(/g, '$1hamster.frontIsClear(');
  newCode = newCode.replace(/([^.]|^)grainAvailable\(/g, '$1hamster.grainAvailable(');
  newCode = newCode.replace(/([^.]|^)mouthEmpty\(/g, '$1hamster.mouthEmpty(');
  newCode = newCode.replace(/([^.]|^)readNumber\(/g, '$1hamster.readNumber(');
  newCode = newCode.replace(/([^.]|^)readString\(/g, '$1hamster.readString(');
  newCode = newCode.replace(/([^.]|^)write\(/g, '$1hamster.write(');
  newCode = newCode.replace(/([^.]|^)getRow\(/g, '$1hamster.getRow(');
  newCode = newCode.replace(/([^.]|^)getColumn\(/g, '$1hamster.getColumn(');
  newCode = newCode.replace(/([^.]|^)getDirection\(/g, '$1hamster.getDirection(');
  newCode = newCode.replace(/([^.]|^)getNumberOfGrains\(/g, '$1hamster.getNumberOfGrains(');
  newCode = newCode.replace(/([^.]|^)init\(/g, '$1hamster.init(');
  return newCode;
}

/**
 * Ersetzt die Hamster-Blickrichtung-Konstanten innerhalb der Benutzereingabe mit den tatsächlichen Werten.
 *
 * @param code, die Benutzereingabe
 * @returns {string}, Code aus der Benutzereingabe mit ersetzten Werten.
 */
function replaceHamsterDirection(code) {
  var newCode = code.replaceAll("Hamster.NORD", "0");
  newCode = newCode.replaceAll("Hamster.OST", "1");
  newCode = newCode.replaceAll("Hamster.SUED", "2");
  newCode = newCode.replaceAll("Hamster.WEST", "3");
  newCode = newCode.replaceAll("Hamster.NORTH", "0");
  newCode = newCode.replaceAll("Hamster.EAST", "1");
  newCode = newCode.replaceAll("Hamster.SOUTH", "2");
  return newCode;
}

/**
 * Überprüft, ob sich im übergebenen Programm-Code eine Funktionsdefinition befindet, welche den gleichen Namen
 * wie die Basis-Hamster-Funktionen hat.
 *
 * @param code, welcher überprüft werden soll.
 * @return {boolean}: true, falls es eine Übereinstimmung gibt; sonst false.
 */
function checkForHamsterBaseFunctionNames(code) {
  // Definiere die regulären Ausdrücke für die einzelnen Funktionen
  var regexes = [/function\s+hamster.move\s*\(/, /function\s+hamster.turnLeft\s*\(/, /function\s+hamster.pickGrain\s*\(/, /function\s+hamster.putGrain\s*\(/, /function\s+hamster.frontIsClear\s*\(/, /function\s+hamster.grainAvailable\s*\(/, /function\s+hamster.mouthEmpty\s*\(/, /function\s+hamster.readNumber\s*\(/, /function\s+hamster.readString\s*\(/, /function\s+hamster.write\s*\(/, /function\s+hamster.getRow\s*\(/, /function\s+hamster.getColumn\s*\(/, /function\s+hamster.getDirection\s*\(/, /function\s+hamster.getNumberOfGrains\s*\(/, /function\s+hamster.init\s*\(/];
  for (var i = 0; i < regexes.length; i++) {
    if (regexes[i].test(code)) {
      return true;
    }
  }
  return false;
}

},{"./buttons.js":19,"./canvas.js":20,"./cmEditor.js":29,"./dialogs.js":31,"./hamster.js":32,"./language.js":33,"./saveAndLoad.js":36,"@babel/standalone":2}],31:[function(require,module,exports){
"use strict";

Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.closeAddGrainsHamsterDialog = closeAddGrainsHamsterDialog;
exports.closeChangeFontSizeDialog = closeChangeFontSizeDialog;
exports.closeChangeSizeDialog = closeChangeSizeDialog;
exports.closeChangeThemeDialog = closeChangeThemeDialog;
exports.closeErrorDialog = closeErrorDialog;
exports.closeSaveFilesDialog = closeSaveFilesDialog;
exports.closeTerritoryTooltip = closeTerritoryTooltip;
exports.colInput = void 0;
exports.createPromiseForAddGrainsDialog = createPromiseForAddGrainsDialog;
exports.createPromiseForReadNumberDialog = createPromiseForReadNumberDialog;
exports.createPromiseForReadStringDialog = createPromiseForReadStringDialog;
exports.createPromiseForWriteStringDialog = createPromiseForWriteStringDialog;
exports.errorDialogOpen = void 0;
exports.initDialogs = initDialogs;
exports.numberOfGrainsHamsterInput = void 0;
exports.openAddGrainsHamsterDialog = openAddGrainsHamsterDialog;
exports.openChangeFontSizeDialog = openChangeFontSizeDialog;
exports.openChangeSizeDialog = openChangeSizeDialog;
exports.openChangeThemeDialog = openChangeThemeDialog;
exports.openErrorDialog = openErrorDialog;
exports.openSaveFilesDialog = openSaveFilesDialog;
exports.rowInput = void 0;
exports.showTerritoryTooltip = showTerritoryTooltip;
exports.toggleVisibility = void 0;
var _canvas = require("./canvas.js");
var _hamster = require("./hamster.js");
var _cmEditor = require("./cmEditor.js");
var _saveAndLoad = require("./saveAndLoad.js");
var defaultFontSize = 12;
var changeTerritorySizeDialog;
var addGrainsTerritoryDialog;
var addGrainsHamsterDialog;
var readNumberDialog;
var readStringDialog;
var writeStringDialog;
var errorDialog;
var saveFilesDialog;
var changeFontSizeDialog;
var changeThemeDialog;
var errorDialogOpen;
var territoryTooltip;
var territoryTooltipOpen;
var grainsInField;
var grainsInMouth;
var hamsterDirection;
var rowInput;
var colInput;
var numberOfGrainsTerritoryInput;
var numberOfGrainsHamsterInput;
var readNumberInput;
var readStringInput;
var writeStringOutput;
var fontSizeInput;
var closeErrorDialogOkButton;
var changeSizeDialogOkButton;
var changeSizeDialogCancelButton;
var addGrainsHamsterDialogOkButton;
var addGrainsHamsterDialogCancelButton;
var saveFilesDialogSaveButton;
var saveFilesDialogCancelButton;
var changeFontSizeDialogOkButton;
var changeFontSizeDialogCancelButton;
var changeThemeDialogOkButton;
var changeThemeDialogCancelButton;
var changeSizeForm;
var addGrainsTerritoryForm;
var addGrainsHamsterForm;
var readNumberForm;
var readStringForm;
var writeStringForm;
var errorForm;
var saveFileForm;
var changeFontSizeForm;
var changeThemeForm;

/**
 * Initialisiert alle Dialog-Fenster der Anwendung.
 */
function initDialogs() {
  grainsInField = document.getElementById('grains-in-field');
  grainsInMouth = document.getElementById('grains-in-mouth');
  hamsterDirection = document.getElementById('hamster-direction');
  changeTerritorySizeDialog = document.getElementById("change-size-dialog");
  addGrainsTerritoryDialog = document.getElementById('add-grains-territory-dialog');
  addGrainsHamsterDialog = document.getElementById('add-grains-hamster-dialog');
  readNumberDialog = document.getElementById('read-number-dialog');
  readStringDialog = document.getElementById('read-string-dialog');
  writeStringDialog = document.getElementById('write-string-dialog');
  errorDialog = document.getElementById('error-dialog');
  saveFilesDialog = document.getElementById('save-files-dialog');
  changeFontSizeDialog = document.getElementById('change-font-size-dialog');
  changeThemeDialog = document.getElementById('change-theme-dialog');
  exports.rowInput = rowInput = document.getElementById('row-input');
  exports.colInput = colInput = document.getElementById('col-input');
  numberOfGrainsTerritoryInput = document.getElementById('number-of-grains-territory-input');
  exports.numberOfGrainsHamsterInput = numberOfGrainsHamsterInput = document.getElementById('number-of-grains-hamster-input');
  readNumberInput = document.getElementById('read-number-input');
  readStringInput = document.getElementById('read-string-input');
  fontSizeInput = document.getElementById('font-size-input');
  writeStringOutput = document.getElementById('write-string-output');
  territoryTooltip = document.getElementById('territory-tooltip');
  closeErrorDialogOkButton = document.getElementById('close-error-dialog-ok-button');
  changeSizeDialogOkButton = document.getElementById('change-size-dialog-ok-button');
  changeSizeDialogCancelButton = document.getElementById('change-size-dialog-cancel-button');
  addGrainsHamsterDialogOkButton = document.getElementById('add-grains-hamster-dialog-ok-button');
  addGrainsHamsterDialogCancelButton = document.getElementById('add-grains-hamster-dialog-cancel-button');
  saveFilesDialogSaveButton = document.getElementById('save-files-dialog-save-button');
  saveFilesDialogCancelButton = document.getElementById('save-files-dialog-cancel-button');
  changeFontSizeDialogOkButton = document.getElementById('change-font-size-dialog-ok-button');
  changeFontSizeDialogCancelButton = document.getElementById('change-font-size-dialog-cancel-button');
  changeThemeDialogOkButton = document.getElementById('change-theme-dialog-ok-button');
  changeThemeDialogCancelButton = document.getElementById('change-theme-dialog-cancel-button');
  changeSizeForm = document.getElementById('change-size-form');
  addGrainsTerritoryForm = document.getElementById('add-grains-territory-form');
  addGrainsHamsterForm = document.getElementById('add-grains-hamster-form');
  readNumberForm = document.getElementById('read-number-form');
  readStringForm = document.getElementById('read-string-form');
  writeStringForm = document.getElementById('write-string-form');
  errorForm = document.getElementById('error-form');
  saveFileForm = document.getElementById('save-file-form');
  changeFontSizeForm = document.getElementById('change-font-size-form');
  changeThemeForm = document.getElementById('change-theme-form');

  // Event-Listener für die Button-Elemente in den Dialogen
  changeSizeDialogCancelButton.addEventListener('click', closeChangeSizeDialog);
  addGrainsHamsterDialogCancelButton.addEventListener('click', closeAddGrainsHamsterDialog);
  saveFilesDialogCancelButton.addEventListener('click', closeSaveFilesDialog);
  changeFontSizeDialogCancelButton.addEventListener('click', closeChangeFontSizeDialog);
  changeThemeDialogCancelButton.addEventListener('click', closeChangeThemeDialog);

  // Event-Listener für die Formulare der Dialoge
  changeSizeForm.addEventListener('submit', handleChangeTerritorySizeFormSubmit);
  addGrainsHamsterForm.addEventListener('submit', handleAddGrainsHamsterFormSubmit);
  errorForm.addEventListener('submit', closeErrorDialog);
  saveFileForm.addEventListener('submit', _saveAndLoad.validateAndSave);
  changeFontSizeForm.addEventListener('submit', handleChangeFontSizeFormSubmit);
  changeThemeForm.addEventListener('submit', _cmEditor.changeTheme);
  exports.errorDialogOpen = errorDialogOpen = false;
  territoryTooltipOpen = false;
  window.addEventListener('resize', changeSizeOfDialogs, false);
}

/**
 * Führt Aktionen aus, wenn das Schriftgröße-Ändern-Formular abgeschickt wurde.
 *
 * @param event, das auslösende Event.
 */
function handleChangeFontSizeFormSubmit(event) {
  if (!changeFontSizeForm.checkValidity()) {
    changeFontSizeForm.reportValidity();
    return;
  }
  (0, _cmEditor.changeFontSize)(event);
}

/**
 * Führt Aktionen aus, wenn das Körner-zum-Hamster-hinzufügen-Formular abgeschickt wurde.
 *
 * @param event, das auslösende Event.
 */
function handleAddGrainsHamsterFormSubmit(event) {
  if (addGrainsHamsterForm.checkValidity()) {
    (0, _hamster.addGrainsToHamster)(event);
  } else {
    addGrainsHamsterForm.reportValidity();
  }
}

/**
 * Führt Aktionen aus, wenn das Größe-des-Territoriums-Ändern-Formular abgeschickt wurde.
 *
 * @param event, das auslösende Event.
 */
function handleChangeTerritorySizeFormSubmit(event) {
  if (changeSizeForm.checkValidity()) {
    (0, _canvas.resizeTerritory)(event);
  } else {
    changeSizeForm.reportValidity();
  }
}

/**
 * Erstellt ein Versprechen-Objekt für den Korn-hinzufügen-Dialog, welches je nach Benutzereingabe einen anderen
 * Rückgabewert liefert und verwaltet die EventListener für die Buttons des Dialogs.
 */
function createPromiseForAddGrainsDialog() {
  return new Promise(function (resolve) {
    var cancelBtn = document.getElementById('add-grains-territory-dialog-cancel-button');

    /**
     * Liefert das Ergebnis, wenn der Ok-Button gedrückt wird.
     */
    function onSubmitClick(event) {
      event.preventDefault();
      var input = parseInt(numberOfGrainsTerritoryInput.value);
      if (!addGrainsTerritoryForm.checkValidity()) {
        addGrainsTerritoryForm.reportValidity();
        return;
      }

      // Überprüfe, ob Eingabe innerhalb der Range und zeige andernfalls manuell den Input-Element-Fehler
      if (input < 1 || input > Number.MAX_SAFE_INTEGER) {
        numberOfGrainsTerritoryInput.reportValidity();
        return;
      }
      closeAddGrainsTerritoryDialog();
      resolve(input);
      cleanupButtons();
    }

    /**
     * Liefert das Ergebnis, wenn der Abbrechen-Button gedrückt wird.
     */
    function onCancelClick() {
      closeAddGrainsTerritoryDialog();
      resolve(null);
      cleanupButtons();
    }

    /**
     * Entfernt die EventListener der Buttons.
     */
    function cleanupButtons() {
      cancelBtn.removeEventListener('click', onCancelClick);
      addGrainsTerritoryForm.removeEventListener('submit', onSubmitClick);
    }
    cancelBtn.addEventListener('click', onCancelClick);
    addGrainsTerritoryForm.addEventListener('submit', onSubmitClick);
    openAddGrainsTerritoryDialog();
  });
}

/**
 * Erstellt ein Versprechen-Objekt für den Lies-Zahl-Dialog, welches je nach Benutzereingabe einen anderen
 * Rückgabewert liefert und verwaltet die EventListener für die Buttons des Dialogs.
 */
function createPromiseForReadNumberDialog(text) {
  return new Promise(function (resolve) {
    var submitBtn = document.getElementById('submit-button-read-number');
    /**
     * Liefert das Ergebnis, wenn der Ok-Button gedrückt wird.
     */
    function onSubmitClick(event) {
      event.preventDefault();
      var input = parseFloat(readNumberInput.value);
      if (isNaN(input) || !Number.isInteger(input)) {
        input = 0;
      }

      // Überprüfe, ob Eingabe innerhalb der Range und eine gültige Zahl, zeige andernfalls manuell den Input-Element-Fehler.
      if (input < Number.MIN_SAFE_INTEGER || input > Number.MAX_SAFE_INTEGER) {
        readNumberInput.reportValidity();
        return;
      }
      closeReadNumberDialog();
      resolve(input);
      submitBtn.removeEventListener('click', onSubmitClick);
      readNumberForm.removeEventListener('submit', onSubmitClick);
    }
    submitBtn.addEventListener('click', onSubmitClick);
    readNumberForm.addEventListener('submit', onSubmitClick);
    openReadNumberDialog(text);
  });
}

/**
 * Erstellt ein Versprechen-Objekt für den Lies-Zeichenkette-Dialog, welches je nach Benutzereingabe einen anderen
 * Rückgabewert liefert und verwaltet die EventListener für die Buttons des Dialogs.
 */
function createPromiseForReadStringDialog(text) {
  return new Promise(function (resolve) {
    var submitBtn = document.getElementById('submit-button-read-string');

    /**
     * Liefert das Ergebnis, wenn der Ok-Button gedrückt wird.
     */
    function onSubmitClick(event) {
      event.preventDefault();
      var input = readStringInput.value;
      closeReadStringDialog();
      resolve(input);
      submitBtn.removeEventListener('click', onSubmitClick);
      readStringForm.removeEventListener('submit', onSubmitClick);
    }
    submitBtn.addEventListener('click', onSubmitClick);
    readStringForm.addEventListener('submit', onSubmitClick);
    openReadStringDialog(text);
  });
}

/**
 * Erstellt ein Versprechen-Objekt für den Lies-Zeichenkette-Dialog, welches je nach Benutzereingabe einen anderen
 * Rückgabewert liefert und verwaltet die EventListener für die Buttons des Dialogs.
 */
function createPromiseForWriteStringDialog(text) {
  return new Promise(function (resolve) {
    var submitBtn = document.getElementById('submit-button-write-string');

    /**
     * Liefert das Ergebnis, wenn der Ok-Button gedrückt wird.
     */
    function onSubmitClick(event) {
      event.preventDefault();
      closeWriteStringDialog();
      resolve();
      submitBtn.removeEventListener('click', onSubmitClick);
    }
    submitBtn.addEventListener('click', onSubmitClick);
    openWriteStringDialog(text);
  });
}

/**
 * Öffnet den Schreibe-Zeichenkette-Dialog.
 */
function openWriteStringDialog(text) {
  writeStringOutput.innerHTML = text;
  toggleVisibility(writeStringDialog);
  writeStringDialog.showModal();
}

/**
 * Schließt den Schreibe-Zeichenkette-Dialog.
 */
function closeWriteStringDialog() {
  toggleVisibility(writeStringDialog);
  writeStringDialog.close();
}

/**
 * Öffnet den Körner-zum-Territorium-hinzufügen-Dialog.
 */
function openAddGrainsTerritoryDialog() {
  toggleVisibility(addGrainsTerritoryDialog);
  addGrainsTerritoryDialog.showModal();
}

/**
 * Schließt den Körner-zum-Territorium-hinzufügen-Dialog.
 */
function closeAddGrainsTerritoryDialog() {
  toggleVisibility(addGrainsTerritoryDialog);
  addGrainsTerritoryDialog.close();
}

/**
 * Öffnet den Körner-zum-Hamster-hinzufügen-Dialog.
 */
function openAddGrainsHamsterDialog() {
  numberOfGrainsHamsterInput.value = _hamster.hamster.getNumberOfGrains();
  toggleVisibility(addGrainsHamsterDialog);
  addGrainsHamsterDialog.showModal();
}

/**
 * Schließt den Körner-zum-Hamster-hinzufügen-Dialog.
 */
function closeAddGrainsHamsterDialog() {
  toggleVisibility(addGrainsHamsterDialog);
  addGrainsHamsterDialog.close();
}

/**
 * Öffnet den Schriftgröße-ändern-Dialog.
 */
function openChangeFontSizeDialog() {
  var actualFontSize = document.getElementById('editor-wrapper').style.fontSize;

  // Beim ersten Laden der Schriftgröße ist kein Wert hinterlegt, daher wird der hinterlegte Standard-Wert genutzt.
  if (actualFontSize === "") {
    actualFontSize = defaultFontSize;
  } else {
    actualFontSize = actualFontSize.replace("px", "");
  }
  fontSizeInput.value = actualFontSize;
  toggleVisibility(changeFontSizeDialog);
  changeFontSizeDialog.showModal();
}

/**
 * Schließt den Schriftgröße-ändern-Dialog.
 */
function closeChangeFontSizeDialog() {
  toggleVisibility(changeFontSizeDialog);
  changeFontSizeDialog.close();
}

/**
 * Öffnet den Theme-ändern-Dialog.
 */
function openChangeThemeDialog() {
  toggleVisibility(changeThemeDialog);
  changeThemeDialog.showModal();
}

/**
 * Schließt den Theme-ändern-Dialog.
 * */
function closeChangeThemeDialog() {
  toggleVisibility(changeThemeDialog);
  changeThemeDialog.close();
}
/**
 * Öffnet den Territorium-Größe-Ändern-Dialog.
 */
function openChangeSizeDialog() {
  rowInput.value = _canvas.rows;
  colInput.value = _canvas.cols;
  toggleVisibility(changeTerritorySizeDialog);
  changeTerritorySizeDialog.showModal();
}

/**
 * Schließt den Territorium-Größe-Ändern-Dialog.
 */
function closeChangeSizeDialog() {
  toggleVisibility(changeTerritorySizeDialog);
  changeTerritorySizeDialog.close();
}

/**
 * Öffnet den Lies-Zahl-Dialog.
 */
function openReadNumberDialog(text) {
  var textField = document.getElementById('read-number-text');
  textField.innerHTML = text;
  toggleVisibility(readNumberDialog);
  readNumberDialog.showModal();
}

/**
 * Schließt den Lies-Zahl-Dialog.
 */
function closeReadNumberDialog() {
  toggleVisibility(readNumberDialog);
  readNumberDialog.close();
}

/**
 * Öffnet den Lies-Zeichenkette-Dialog.
 */
function openReadStringDialog(text) {
  var textField = document.getElementById('read-string-text');
  textField.innerHTML = text;
  toggleVisibility(readStringDialog);
  readStringDialog.showModal();
}

/**
 * Schließt den Lies-Zeichenkette-Dialog.
 */
function closeReadStringDialog() {
  toggleVisibility(readStringDialog);
  readStringDialog.close();
}

/**
 * Öffnet den Error-Dialog.
 */
function openErrorDialog(text) {
  exports.errorDialogOpen = errorDialogOpen = true;
  var textField = document.getElementById('error-output');
  textField.innerHTML = text;
  toggleVisibility(errorDialog);
  errorDialog.showModal();
}

/**
 * Schließt den Error-Dialog.
 */
function closeErrorDialog(event) {
  event.preventDefault();
  exports.errorDialogOpen = errorDialogOpen = false;
  toggleVisibility(errorDialog);
  errorDialog.close();
}

/**
 * Öffnet den Dateien-Speichern-Dialog.
 */
function openSaveFilesDialog() {
  toggleVisibility(saveFilesDialog);
  saveFilesDialog.showModal();
}

/**
 * Schließt den Dateien-Speichern-Dialog.
 */
function closeSaveFilesDialog() {
  toggleVisibility(saveFilesDialog);
  saveFilesDialog.close();
}

/**
 * Ändert die Sichtbarkeit und Größe des übergebenen Elements.
 * 
 * @param dialog, dessen Sichtbarkeit geändert werden soll.
 */
var toggleVisibility = exports.toggleVisibility = function toggleVisibility(dialog) {
  dialog.classList.toggle('hidden');
  dialog.classList.toggle('flex');

  // Wird benötigt da manche Browser eine geringere maxWidth festlegen und sonst ein ungewollter Rand entsteht.
  if ((0, _canvas.getScreenWidth)() <= 768) {
    dialog.style.maxWidth = "100vw";
  } else {
    dialog.style.maxWidth = "auto";
  }
};

/**
 * Ändert die maxWidth des Dialogfensters, damit sich dieses responsiv verhält.
 */
function changeSizeOfDialogs() {
  if (document.body.clientWidth <= 768) {
    changeTerritorySizeDialog.style.maxWidth = "100vw";
    addGrainsTerritoryDialog.style.maxWidth = "100vw";
  } else {
    changeTerritorySizeDialog.style.maxWidth = "auto";
    addGrainsTerritoryDialog.style.maxWidth = "auto";
  }
}

/**
 * Ändert die Sichtbarkeit des Territorium-Tooltips.
 */
function toggleTerritoryTooltip() {
  territoryTooltipOpen = !territoryTooltipOpen;
  territoryTooltip.classList.toggle('invisible');
}

/**
 * Setzt die Platzierungswerte für den Territorium-Tooltip und richtet sich dabei nach der Bildschirmbreite und -höhe
 * des Clients.
 */
function setTerritoryTooltipPlacementValues() {
  var tooltipWidth = territoryTooltip.getBoundingClientRect().width;
  var tooltipHeight = territoryTooltip.getBoundingClientRect().height;
  if ((0, _canvas.getScreenWidth)() < 1024) {
    if (_canvas.pointerClickX + tooltipWidth > (0, _canvas.getScreenWidth)()) {
      territoryTooltip.style.left = (0, _canvas.getScreenWidth)() - tooltipWidth + "px";
    } else if (_canvas.pointerClickX - _canvas.cellWidth / 2 < 0) {
      territoryTooltip.style.left = 0 + "px";
    } else {
      territoryTooltip.style.left = _canvas.pointerClickX - _canvas.cellWidth / 2 + "px";
    }
    if (_canvas.pointerClickY + tooltipHeight > (0, _canvas.getScreenHeight)()) {
      territoryTooltip.style.top = _canvas.pointerClickY - (tooltipHeight + _canvas.cellHeight / 2) + "px";
    } else {
      territoryTooltip.style.top = _canvas.pointerClickY + _canvas.cellHeight / 2 + "px";
    }
  } else {
    territoryTooltip.style.left = _canvas.pointerClickX - (tooltipWidth + _canvas.cellWidth / 2) + "px";
    if (_canvas.pointerClickY + tooltipHeight > (0, _canvas.getScreenHeight)()) {
      territoryTooltip.style.top = (0, _canvas.getScreenHeight)() - tooltipHeight + "px";
    } else {
      territoryTooltip.style.top = _canvas.pointerClickY - _canvas.cellHeight / 2 + "px";
    }
  }
}

/**
 * Öffnet den Tooltip des Territoriums und fügt die Informationen über den Hamster und den aktuellen Zelleninhalt ein.
 * 
 * @param actualCellContent, betreffende Zelle und deren Inhalt.
 */
function showTerritoryTooltip(actualCellContent) {
  grainsInField.innerHTML = actualCellContent.getNumberOfGrains();
  grainsInMouth.innerHTML = _hamster.hamster.getNumberOfGrains();
  hamsterDirection.innerHTML = (0, _hamster.getActorDirection)();
  setTerritoryTooltipPlacementValues();
  toggleTerritoryTooltip();
}

/**
 * Schließt den Tooltip des Territoriums.
 */
function closeTerritoryTooltip() {
  if (territoryTooltipOpen) {
    toggleTerritoryTooltip();
  }
}

},{"./canvas.js":20,"./cmEditor.js":29,"./hamster.js":32,"./saveAndLoad.js":36}],32:[function(require,module,exports){
"use strict";

Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.Hamster = void 0;
exports.addGrainsToHamster = addGrainsToHamster;
exports.addToHamsterArray = addToHamsterArray;
exports.clearHamsterArray = clearHamsterArray;
exports.createNewDefaultHamster = createNewDefaultHamster;
exports.error = void 0;
exports.getActorDirection = getActorDirection;
exports.getHamster = getHamster;
exports.getHamsterWithId = getHamsterWithId;
exports.maxHamsterError = exports.hamsters = exports.hamsterNameAlreadyInUseError = exports.hamsterCounter = exports.hamster = void 0;
exports.resetHamsterCounter = resetHamsterCounter;
exports.setDefaultHamster = setDefaultHamster;
exports.setError = setError;
exports.setHamsterCounter = setHamsterCounter;
exports.setHamsterNameAlreadyInUseError = setHamsterNameAlreadyInUseError;
exports.setMaxHamsterError = setMaxHamsterError;
var _canvas = require("./canvas.js");
var _dialogs = require("./dialogs.js");
var _language = require("./language.js");
var _controls = require("./controls");
var _hamsterCounter;
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
var MAX_HAMSTER = 11;
var hamster;
var hamsters = exports.hamsters = [];
var hamsterCounter = exports.hamsterCounter = 0;
var hamsterNameAlreadyInUseError = exports.hamsterNameAlreadyInUseError = false;
var maxHamsterError = exports.maxHamsterError = false;
var error = exports.error = false;

/**
 * Liefert das Hamster-Array und alle darin enthaltenen Hamster-Objekte
 * 
 * @return {*[]}, alle Hamster-Objekte, die erzeugt wurden.
 */
function getHamster() {
  return hamsters;
}

/**
 * Setter für das Error-Attribut
 *
 * @param value, true/false.
 */
function setError(value) {
  exports.error = error = value;
}

/**
 * Setter für das Error-Attribut
 *
 * @param value, true/false.
 */
function setMaxHamsterError(value) {
  exports.maxHamsterError = maxHamsterError = value;
}

/**
 * Setter für das Error-Attribut
 *
 * @param value, true/false.
 */
function setHamsterNameAlreadyInUseError(value) {
  exports.hamsterNameAlreadyInUseError = hamsterNameAlreadyInUseError = value;
}

/**
 * Setzt den Hamster-Counter auf den Standard-Wert
 *
 */
function resetHamsterCounter() {
  exports.hamsterCounter = hamsterCounter = 1;
}

/**
 * Leert das Hamster-Array
 */
function clearHamsterArray() {
  exports.hamsters = hamsters = [];
}

/**
 * Erzeugt einen neuen Standard-Hamster
 */
function createNewDefaultHamster() {
  exports.hamster = hamster = new Hamster();
}

/**
 * Setter für das hamster-Attribut
 *
 * @param value, neuer Wert.
 */
function setDefaultHamster(value) {
  exports.hamster = hamster = value;
}

/**
 * Setter für das hamsterCounter-Attribut
 *
 * @param value
 */
function setHamsterCounter(value) {
  exports.hamsterCounter = hamsterCounter = value;
}

/**
 * Liefert den Hamster mit der gewünschten Hamster-ID.
 * 
 * @param hamsterId, die gesuchte Hamster-ID.
 * @return {null|*}: das Hamster-Objekt mit der gesuchten ID bei Erfolg; sonst null.
 */
function getHamsterWithId(hamsterId) {
  for (var i = 0; i < hamsters.length; i++) {
    if (hamsters[i].getHamsterId() === hamsterId) {
      return hamsters[i];
    }
  }
  return null;
}

/**
 * Initialisiert beim übergebenen Hamster-Objekt die Image-Paths, die für das Zeichnen des Hamsters benötigt werden.
 * 
 * @param hamster, bei dem die Image-Paths initialisiert werden sollen.
 * @return {boolean}: true bei Erfolg; sonst false.
 */
function initializeImagePaths(hamster) {
  if (hamsterCounter < MAX_HAMSTER) {
    _hamsterCounter = hamsterCounter++, exports.hamsterCounter = hamsterCounter, _hamsterCounter;
    hamster.hamsterId = hamsterCounter;
    hamster.imagePaths = {
      0: "./img/hamster/hamster-".concat(hamsterCounter, "/hamster-mit-Pfeil-north-").concat(hamsterCounter, "-40x40.svg"),
      1: "./img/hamster/hamster-".concat(hamsterCounter, "/hamster-mit-Pfeil-east-").concat(hamsterCounter, "-40x40.svg"),
      2: "./img/hamster/hamster-".concat(hamsterCounter, "/hamster-mit-Pfeil-south-").concat(hamsterCounter, "-40x40.svg"),
      3: "./img/hamster/hamster-".concat(hamsterCounter, "/hamster-mit-Pfeil-west-").concat(hamsterCounter, "-40x40.svg")
    };
    return true;
  } else {
    exports.maxHamsterError = maxHamsterError = true;
    (0, _controls.stopCode)();
    if (!_dialogs.errorDialogOpen) {
      (0, _dialogs.openErrorDialog)(_language.languagesStrings[_language.userLanguage]['error-to-many-hamster']);
    }
    return false;
  }
}

/**
 * Repräsentiert den Akteur und alle seine Funktionen.
 */
var Hamster = exports.Hamster = /*#__PURE__*/function () {
  function Hamster(row, column, direction, numberOfGrains) {
    _classCallCheck(this, Hamster);
    switch (arguments.length) {
      case 0:
        this.imagePaths = {};
        this.hamsterId = NaN;
        if (!initializeImagePaths(this)) {
          return;
        }
        this.initialized = false;
        break;
      case 1:
        if (_typeof(arguments[0]) === "object" || arguments[0] instanceof Hamster) {
          // Übertrage Attribute von übergebenen Objekt auf neuen Hamster
          Object.assign(this, row);

          // Wenn der Typ Hamster ist, wird ein neuer Hamster erstellt.
          // Deswegen müssen die ImagePaths neu initialisiert und die HamsterId geändert werden!
          if (arguments[0] instanceof Hamster) {
            this.hamsterId = NaN;
            this.imagePaths = {};
            if (!initializeImagePaths(this)) {
              return;
            }
          }
          this.actorImage = new Image();
          this.getActorImageSrc();
          break;
        } else {
          exports.error = error = true;
          (0, _controls.stopCode)();
          if (!_dialogs.errorDialogOpen) {
            (0, _dialogs.openErrorDialog)(_language.languagesStrings[_language.userLanguage]['error-wrong-parameter']);
          }
          return;
        }
      case 4:
        direction = convertDirection(direction);
        if (!validInputs(row, column, direction, numberOfGrains)) {
          return;
        }
        this.hamsterId = NaN;
        this.imagePaths = {};
        if (!initializeImagePaths(this)) {
          return;
        }
        this.init(row, column, direction, numberOfGrains);
        break;
      default:
        exports.error = error = true;
        (0, _controls.stopCode)();
        if (!_dialogs.errorDialogOpen) {
          (0, _dialogs.openErrorDialog)(_language.languagesStrings[_language.userLanguage]['error-wrong-parameter']);
        }
        return;
    }
  }
  return _createClass(Hamster, [{
    key: "isInitialized",
    value: function isInitialized() {
      return this.initialized;
    }
  }, {
    key: "getHamsterId",
    value: function getHamsterId() {
      return this.hamsterId;
    }
  }, {
    key: "getNumberOfGrains",
    value: function getNumberOfGrains() {
      if (!this.initialized) {
        exports.error = error = true;
        (0, _controls.stopCode)();
        if (!_dialogs.errorDialogOpen) {
          (0, _dialogs.openErrorDialog)(_language.languagesStrings[_language.userLanguage]['error-hamster-init']);
        }
        return false;
      }
      return this.numberOfGrains;
    }
  }, {
    key: "setNumberOfGrains",
    value: function setNumberOfGrains(numberOfGrains) {
      this.numberOfGrains = numberOfGrains;
    }
  }, {
    key: "getDirection",
    value: function getDirection() {
      if (!this.initialized) {
        exports.error = error = true;
        (0, _controls.stopCode)();
        if (!_dialogs.errorDialogOpen) {
          (0, _dialogs.openErrorDialog)(_language.languagesStrings[_language.userLanguage]['error-hamster-init']);
        }
        return false;
      }
      return this.direction;
    }
  }, {
    key: "setName",
    value: function setName(name) {
      this.name = name;
    }
  }, {
    key: "getActorImage",
    value: function getActorImage() {
      return this.actorImage;
    }
  }, {
    key: "incrementNumberOfGrains",
    value: function incrementNumberOfGrains() {
      this.numberOfGrains++;
    }
  }, {
    key: "decrementNumberOfGrains",
    value: function decrementNumberOfGrains() {
      if (this.numberOfGrains > 0) {
        this.numberOfGrains--;
      }
    }

    /**
     * Überprüft, ob der Hamster keine Körner im Maul hat.
     * 
     * @returns {boolean}: true, falls Maul leer; sonst false.
     */
  }, {
    key: "mouthEmpty",
    value: function mouthEmpty() {
      if (!this.initialized) {
        exports.error = error = true;
        (0, _controls.stopCode)();
        if (!_dialogs.errorDialogOpen) {
          (0, _dialogs.openErrorDialog)(_language.languagesStrings[_language.userLanguage]['error-hamster-init']);
        }
        return false;
      }
      return this.numberOfGrains === 0;
    }

    /**
     * Überprüft, ob sich auf dem Feld, auf dem der Hamster steht, mindestens ein Korn liegt.
     * 
     * @returns {boolean}: true, falls mindestens ein Korn auf dem Feld; sonst false.
     */
  }, {
    key: "grainAvailable",
    value: function grainAvailable() {
      if (!this.initialized) {
        exports.error = error = true;
        (0, _controls.stopCode)();
        if (!_dialogs.errorDialogOpen) {
          (0, _dialogs.openErrorDialog)(_language.languagesStrings[_language.userLanguage]['error-hamster-init']);
        }
        return false;
      }
      return _canvas.territoryContent[this.row][this.column].hasGrain();
    }
  }, {
    key: "init",
    value: function init(row, column, direction, numberOfGrains) {
      if (!validInputs(row, column, direction, numberOfGrains)) {
        return;
      }
      this.row = parseInt(row);
      this.column = parseInt(column);
      this.direction = parseInt(direction);
      this.numberOfGrains = parseInt(numberOfGrains);
      this.actorImage = new Image();
      this.getActorImageSrc();
      this.initialized = true;
      this.actorImage.onload = function () {
        (0, _canvas.drawHamsters)();
      };
      (0, _canvas.drawAll)();
    }
  }, {
    key: "getName",
    value: function getName() {
      return this.name;
    }
  }, {
    key: "getRow",
    value: function getRow() {
      if (!this.initialized) {
        exports.error = error = true;
        (0, _controls.stopCode)();
        if (!_dialogs.errorDialogOpen) {
          (0, _dialogs.openErrorDialog)(_language.languagesStrings[_language.userLanguage]['error-hamster-init']);
        }
        return false;
      }
      return this.row;
    }
  }, {
    key: "setRow",
    value: function setRow(row) {
      this.row = row;
    }
  }, {
    key: "getColumn",
    value: function getColumn() {
      if (!this.initialized) {
        exports.error = error = true;
        (0, _controls.stopCode)();
        if (!_dialogs.errorDialogOpen) {
          (0, _dialogs.openErrorDialog)(_language.languagesStrings[_language.userLanguage]['error-hamster-init']);
        }
        return false;
      }
      return this.column;
    }
  }, {
    key: "setColumn",
    value: function setColumn(column) {
      this.column = column;
    }

    /**
     * Bewegt den Hamster einen Schritt in seine Blickrichtung vor.
     */
  }, {
    key: "move",
    value: function move() {
      if (!this.initialized) {
        exports.error = error = true;
        (0, _controls.stopCode)();
        if (!_dialogs.errorDialogOpen) {
          (0, _dialogs.openErrorDialog)(_language.languagesStrings[_language.userLanguage]['error-hamster-init']);
        }
        return;
      }
      if (this.frontIsClear()) {
        _canvas.territoryContent[this.row][this.column].removeHamster(this);
        switch (this.direction) {
          case 0:
            this.row--;
            break;
          case 1:
            this.column++;
            break;
          case 2:
            this.row++;
            break;
          case 3:
            this.column--;
            break;
          default:
            exports.error = error = true;
            (0, _controls.stopCode)();
        }
        (0, _canvas.drawAll)();
      } else {
        exports.error = error = true;
        (0, _controls.stopCode)();
        if (!_dialogs.errorDialogOpen) {
          (0, _dialogs.openErrorDialog)(_language.languagesStrings[_language.userLanguage]['error-wall']);
        }
      }
    }

    /**
     * Dreht den Hamster um 90 Grad nach links.
     */
  }, {
    key: "turnLeft",
    value: function turnLeft() {
      if (!this.initialized) {
        exports.error = error = true;
        (0, _controls.stopCode)();
        if (!_dialogs.errorDialogOpen) {
          (0, _dialogs.openErrorDialog)(_language.languagesStrings[_language.userLanguage]['error-hamster-init']);
        }
        return;
      }
      switch (this.direction) {
        case 0:
          this.direction = 3;
          this.actorImage.src = this.imagePaths[3];
          break;
        case 1:
          this.direction = 0;
          this.actorImage.src = this.imagePaths[0];
          break;
        case 2:
          this.direction = 1;
          this.actorImage.src = this.imagePaths[1];
          break;
        case 3:
          this.direction = 2;
          this.actorImage.src = this.imagePaths[2];
          break;
        default:
          exports.error = error = true;
          (0, _controls.stopCode)();
          if (!_dialogs.errorDialogOpen) {
            (0, _dialogs.openErrorDialog)(_language.languagesStrings[_language.userLanguage]['error-unknown']);
          }
          return;
      }
      (0, _canvas.drawAll)();
    }

    /**
     * Nimmt ein Korn von der aktuellen Zelle des Territoriums und gibt es dem Hamster.
     */
  }, {
    key: "pickGrain",
    value: function pickGrain() {
      if (!this.initialized) {
        exports.error = error = true;
        (0, _controls.stopCode)();
        if (!_dialogs.errorDialogOpen) {
          (0, _dialogs.openErrorDialog)(_language.languagesStrings[_language.userLanguage]['error-hamster-init']);
        }
        return;
      }
      if (_canvas.territoryContent[this.row][this.column].hasGrain()) {
        this.incrementNumberOfGrains();
        _canvas.territoryContent[this.row][this.column].decrementNumberOfGrains();
        (0, _canvas.drawAll)();
      } else {
        exports.error = error = true;
        (0, _controls.stopCode)();
        if (!_dialogs.errorDialogOpen) {
          (0, _dialogs.openErrorDialog)(_language.languagesStrings[_language.userLanguage]['error-empty-cell']);
        }
      }
    }

    /**
     * Nimmt ein Korn vom Hamster und platziert dieses auf der aktuellen Zelle des Territoriums.
     */
  }, {
    key: "putGrain",
    value: function putGrain() {
      if (!this.initialized) {
        exports.error = error = true;
        (0, _controls.stopCode)();
        if (!_dialogs.errorDialogOpen) {
          (0, _dialogs.openErrorDialog)(_language.languagesStrings[_language.userLanguage]['error-hamster-init']);
        }
        return;
      }
      if (!this.mouthEmpty()) {
        _canvas.territoryContent[this.row][this.column].setGrain(true);
        _canvas.territoryContent[this.row][this.column].incrementNumberOfGrains();
        this.decrementNumberOfGrains();
        (0, _canvas.drawAll)();
      } else {
        exports.error = error = true;
        (0, _controls.stopCode)();
        if (!_dialogs.errorDialogOpen) {
          (0, _dialogs.openErrorDialog)(_language.languagesStrings[_language.userLanguage]['error-empty-mouth']);
        }
      }
    }

    /**
     * Überprüft, ob sich vor dem Hamster eine weitere Zelle befindet und ob diese eine Mauer enthält.
     *
     * @returns {boolean} true, wenn es eine Zelle gibt und diese keine Mauer enthält; sonst false.
     */
  }, {
    key: "frontIsClear",
    value: function frontIsClear() {
      if (!this.initialized) {
        exports.error = error = true;
        (0, _controls.stopCode)();
        if (!_dialogs.errorDialogOpen) {
          (0, _dialogs.openErrorDialog)(_language.languagesStrings[_language.userLanguage]['error-hamster-init']);
        }
        return false;
      }
      switch (this.direction) {
        case 0:
          if (this.row - 1 < 0) {
            return false;
          }
          return !_canvas.territoryContent[this.row - 1][this.column].hasWall();
        case 1:
          if (this.column + 1 >= _canvas.cols) {
            return false;
          }
          return !_canvas.territoryContent[this.row][this.column + 1].hasWall();
        case 2:
          if (this.row + 1 >= _canvas.rows) {
            return false;
          }
          return !_canvas.territoryContent[this.row + 1][this.column].hasWall();
        case 3:
          if (this.column - 1 < 0) {
            return false;
          }
          return !_canvas.territoryContent[this.row][this.column - 1].hasWall();
        default:
          exports.error = error = true;
          (0, _controls.stopCode)();
          if (!_dialogs.errorDialogOpen) {
            (0, _dialogs.openErrorDialog)(_language.languagesStrings[_language.userLanguage]['error-unknown']);
          }
          return false;
      }
    }

    /**
     * Gibt den übergebenen String in einer Dialogbox aus.
     */
  }, {
    key: "write",
    value: function write(text) {
      if (!this.initialized) {
        exports.error = error = true;
        (0, _controls.stopCode)();
        if (!_dialogs.errorDialogOpen) {
          (0, _dialogs.openErrorDialog)(_language.languagesStrings[_language.userLanguage]['error-hamster-init']);
        }
        return;
      }
      return (0, _dialogs.createPromiseForWriteStringDialog)(text);
    }

    /**
     * Erstellt eine Benutzereingabeaufforderung mit dem übergebenen Text und liefert das Ergebnis anschließend als Wert.
     * 
     * Falls bereits ein Dialog für das Einlesen einer Zahl oder Zeichenkette geöffnet ist, wird die Funktion nach einem
     * Timeout erneut aufgerufen.
     */
  }, {
    key: "readNumber",
    value: function readNumber(text) {
      if (!this.initialized) {
        exports.error = error = true;
        (0, _controls.stopCode)();
        if (!_dialogs.errorDialogOpen) {
          (0, _dialogs.openErrorDialog)(_language.languagesStrings[_language.userLanguage]['error-hamster-init']);
        }
        return false;
      }
      if (text === undefined) {
        text = "Gib bitte eine Zahl ein";
      }
      return (0, _dialogs.createPromiseForReadNumberDialog)(text);
    }

    /**
     * Erstellt eine Benutzereingabeaufforderung mit dem übergebenen Text und liefert das Ergebnis anschließend als Wert.
       * Falls bereits ein Dialog für das Einlesen einer Zahl oder Zeichenkette geöffnet ist, wird die Funktion nach einem
     * Timeout erneut aufgerufen.
     */
  }, {
    key: "readString",
    value: function readString(text) {
      if (!this.initialized) {
        exports.error = error = true;
        (0, _controls.stopCode)();
        if (!_dialogs.errorDialogOpen) {
          (0, _dialogs.openErrorDialog)(_language.languagesStrings[_language.userLanguage]['error-hamster-init']);
        }
        return false;
      }
      if (text === undefined) {
        text = "Gib bitte eine Zeichenkette ein";
      }
      return (0, _dialogs.createPromiseForReadStringDialog)(text);
    }

    /**
     * Liefert den Standard-Hamster.
     *
     * @returns {hamster}, der Standard-Hamster.
     */
  }, {
    key: "getActorImageSrc",
    value: function getActorImageSrc() {
      switch (this.direction) {
        case 0:
          return this.actorImage.src = this.imagePaths[0];
        case 1:
          return this.actorImage.src = this.imagePaths[1];
        case 2:
          return this.actorImage.src = this.imagePaths[2];
        case 3:
          return this.actorImage.src = this.imagePaths[3];
        default:
          exports.error = error = true;
          (0, _controls.stopCode)();
          if (!_dialogs.errorDialogOpen) {
            (0, _dialogs.openErrorDialog)(_language.languagesStrings[_language.userLanguage]['error-unknown']);
          }
          return;
      }
    }
  }], [{
    key: "getDefaultHamster",
    value: function getDefaultHamster() {
      return hamster;
    }

    /**
     * Liefert die Anzahl der erzeugten und initialisierten Hamster.
     *
     * @returns {number}, Anzahl der erzeugten und initialisierten Hamster.
     */
  }, {
    key: "getNumberOfHamster",
    value: function getNumberOfHamster() {
      return hamsters.length;
    }
  }]);
}();
/**
 * Übersetzt die Blickrichtung in einen Integer-Wert.
 *
 * @param direction, Blickrichtung des Hamsters.
 * @return {null|number|*}: direction, falls es sich bereits um einen Integer handelt; 0,1,2,3 je nach Blickrichtung;
 * null falls unbekannter Wert.
 */
function convertDirection(direction) {
  if (Number.isInteger(direction)) {
    return direction;
  } else {
    switch (direction) {
      case "Hamster.NORD":
        return 0;
      case "Hamster.NORTH":
        return 0;
      case "Hamster.OST":
        return 1;
      case "Hamster.EAST":
        return 1;
      case "Hamster.SUED":
        return 2;
      case "Hamster.SOUTH":
        return 2;
      case "Hamster.WEST":
        return 3;
      default:
        return null;
    }
  }
}

/**
 * Validiert die Eingabeparameter beim Erstellen eines Hamsters.
 *
 * @param row, Reihe
 * @param column, Spalte
 * @param direction, Blickrichtung
 * @param numberOfGrains, Anzahl der Körner
 * @return {boolean}: true, wenn alle Eingaben korrekte Werte sind; sonst false.
 */
function validInputs(row, column, direction, numberOfGrains) {
  direction = convertDirection(direction);
  if (isNaN(row) || isNaN(column) || isNaN(direction) || isNaN(numberOfGrains) || direction < 0 || direction > 3 || numberOfGrains < 0) {
    exports.error = error = true;
    (0, _controls.stopCode)();
    if (!_dialogs.errorDialogOpen) {
      (0, _dialogs.openErrorDialog)(_language.languagesStrings[_language.userLanguage]['error-wrong-parameter']);
    }
    return false;
  } else if (row < 0 || row > _canvas.rows - 1 || column < 0 || column > _canvas.cols - 1 || _canvas.territoryContent[row][column].hasWall()) {
    exports.error = error = true;
    (0, _controls.stopCode)();
    if (!_dialogs.errorDialogOpen) {
      (0, _dialogs.openErrorDialog)(_language.languagesStrings[_language.userLanguage]['error-hamster-placement']);
    }
    return false;
  }
  return true;
}

/**
 * Fügt dem Hamster die gewünschte Anzahl an Körnern hinzu und schließt den Dialog.
 */
function addGrainsToHamster(event) {
  event.preventDefault();
  hamster.setNumberOfGrains(Number(_dialogs.numberOfGrainsHamsterInput.value));
  (0, _dialogs.closeAddGrainsHamsterDialog)();
}

/**
 * Fügt dem Hamster-Array einen neuen Hamster hinzu.
 * Überprüft vorher, ob sich bereits ein Hamster mit dem gleichen Namen im Array befindet.
 *  
 * @param newHamster, der hinzugefügt werden soll.
 * @return {boolean}: true, wenn hinzufügen erfolgreich; false sonst.
 */
function addToHamsterArray(newHamster) {
  if (hamsters.length === 0) {
    hamsters.push(newHamster);
    return true;
  }
  hamsters.forEach(function (currentHamster) {
    if (currentHamster.getName() === newHamster.getName()) {
      currentHamster.setName(undefined);
    }
  });
  hamsters.push(newHamster);
  return true;
}

/**
 * Liefert die aktuelle Blickrichtung des Hamsters in Deutsch.
 * 
 * @returns {string} Blickrichtung des Hamsters.
 */
function getActorDirection() {
  switch (hamster.getDirection()) {
    case 0:
      return _language.languagesStrings[_language.userLanguage]['hamster-direction-north'];
    case 1:
      return _language.languagesStrings[_language.userLanguage]['hamster-direction-east'];
    case 2:
      return _language.languagesStrings[_language.userLanguage]['hamster-direction-south'];
    case 3:
      return _language.languagesStrings[_language.userLanguage]['hamster-direction-west'];
    default:
      exports.error = error = true;
      (0, _controls.stopCode)();
      if (!_dialogs.errorDialogOpen) {
        (0, _dialogs.openErrorDialog)(_language.languagesStrings[_language.userLanguage]['error-unknown']);
      }
      return "";
  }
}

},{"./canvas.js":20,"./controls":30,"./dialogs.js":31,"./language.js":33}],33:[function(require,module,exports){
"use strict";

Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.languagesStrings = void 0;
exports.setUserLanguage = setUserLanguage;
exports.setWebsiteContentInUserLanguage = setWebsiteContentInUserLanguage;
exports.userLanguage = void 0;
var userLanguage = exports.userLanguage = 'de';
var languagesStrings = exports.languagesStrings = {
  'de': {
    'hamster-direction-north': 'Norden',
    'hamster-direction-west': 'West',
    'hamster-direction-east': 'Osten',
    'hamster-direction-south': 'Süden',
    'textEditor': '// Schreibe dein Hamster-Programm.. :)\n',
    'id-heading': 'Online Hamster Simulator für JavaScript',
    'id-heading-img': 'Bilde eines Hamsters',
    'id-save-Files': 'Dateien speichern',
    'id-load-Files': 'Dateien laden',
    'id-change-language': 'Sprache ändern',
    'id-language-german-link': 'Deutsch',
    'id-language-english-link': 'Englisch',
    'id-editor-settings': 'Texteditor Einstellungen',
    'id-change-font-size': 'Schriftgröße ändern',
    'id-change-theme': 'Design ändern',
    'id-auto-completion-link': 'Automatische Textvervollständigung',
    'id-play-button': 'Programm starten',
    'id-play-button-img': 'Button zum Starten des Programms',
    'id-pause-button': 'Programm pausieren',
    'id-pause-button-img': 'Button zum Pausieren des Programms',
    'id-stop-button': 'Programm stoppen',
    'id-stop-button-img': 'Button zum Stoppen des Programms',
    'id-reset-button': 'Territorium zurücksetzen',
    'id-reset-button-img': 'Button zum Zurücksetzen des Territoriums',
    'id-info-button': 'Informationen über Territorium',
    'id-info-button-img': 'Button zum Anzeigen von Informationen über das Territorium',
    'id-grain-button': 'Körner im Territorium platzieren',
    'id-grain-button-img': 'Button zum Platzieren von Körnern innerhalb des Territoriums',
    'id-wall-button': 'Mauer im Territorium platzieren',
    'id-wall-button-img': 'Button zum Platzieren von Mauern innerhalb des Territoriums',
    'id-delete-button': 'Elemente im Territorium löschen',
    'id-delete-button-img': 'Button zum Löschen von Elementen innerhalb des Territoriums',
    'id-give-hamster-grains-button': 'Platziere Körner im Maul des Hamsters',
    'id-give-hamster-grains-button-img': 'Button zum Platzieren von Körnern im Maul des Standard-Hamsters',
    'id-change-hamster-direction-button': 'Hamster nach links drehen',
    'id-change-hamster-direction-button-img': 'Button um den Standard-Hamster nach links zu drehen',
    'id-change-size-button': 'Territorium Größe ändern',
    'id-change-size-button-img': 'Button zum Ändern der Territorium-Größe',
    'id-info-button-grains-in-territory': 'Körner im Feld:',
    'id-info-button-grains-in-mouth': 'Körner im Maul:',
    'id-info-button-grains-hamster-direction': 'Blickrichtung:',
    'id-change-size-dialog-heading': 'Größe des Territoriums ändern:',
    'id-change-size-dialog-row-input': 'Reihen',
    'id-row-input': 'Reihenanzahl',
    'id-change-size-dialog-col-input': 'Spalten',
    'id-col-input': 'Spaltenanzahl',
    'id-change-size-dialog-cancel-button': 'Abbrechen',
    'id-add-grains-territory-heading': 'Wie viele Körner sollen auf dem Feld liegen?',
    'id-add-grains-territory-dialog-input-label': 'Anzahl Körner',
    'id-add-grains-territory-dialog-input': 'Anzahl der Körner',
    'id-add-grains-territory-dialog-cancel-button': 'Abbrechen',
    'id-add-grains-hamster-dialog-heading': 'Wie viele Körner soll der Hamster im Maul haben?',
    'id-add-grains-hamster-dialog-input-label': 'Anzahl Körner',
    'id-add-grains-hamster-dialog-input': 'Anzahl der Körner',
    'id-add-grains-hamster-dialog-cancel-button': 'Abbrechen',
    'id-read-number-text': 'Welche Zahl soll der Hamster lesen?',
    'id-read-number-dialog-input-label': 'Zahl',
    'id-read-number-input': 'Zahl, die gelesen werden soll',
    'id-read-string-text': 'Welche Zeichenkette soll der Hamster lesen?',
    'id-read-string-dialog-input-label': 'Zeichenkette',
    'id-read-string-input': 'Zeichenkette, die gelesen werden soll',
    'id-write-string-text': 'Der Hamster möchte dir folgendes mitteilen:',
    'id-write-string-output': 'Zeichenkette, die der Hamster ausgibt',
    'id-error-dialog-heading': 'Fehler',
    'id-error-output': 'Folgender Fehler ist aufgetreten',
    'id-save-files-dialog-heading': 'Dateien speichern',
    'id-save-all-label': 'Alles',
    'id-save-editor-label': 'Editor',
    'id-save-territory-label': 'Territorium',
    'id-save-files-dialog-save-button': 'Speichern',
    'id-save-files-dialog-cancel-button': 'Abbrechen',
    'id-change-font-size-dialog-heading': 'Wähle ein Schriftgröße zwischen 8px und 50px:',
    'id-font-size-input': 'Neue Schriftgröße in px',
    'id-change-font-size-dialog-cancel-button': 'Abbrechen',
    'id-change-theme-dialog-heading': 'Wähle ein Design:',
    'id-change-theme-dialog-cancel-button': 'Abbrechen',
    'error-to-many-hamster': 'Es existieren schon zu viele Hamster!',
    'error-wrong-parameter': 'Der Hamster kennt diese Parameter nicht!',
    'error-hamster-init': 'Der Hamster ist nicht initialisiert!',
    'error-wall': 'Der Hamster kann nicht gegen eine Mauer oder aus dem Territorium laufen!',
    'error-empty-cell': 'Die Kachel ist leer!',
    'error-empty-mouth': 'Das Maul des Hamsters ist leer!',
    'error-unknown': 'Ein unerwarteter Fehler ist aufgetreten! Bitte lade die Seite neu!',
    'error-hamster-placement': 'Der Hamster kann nicht auf einer Mauer oder außerhalb des Territoriums platziert werden!',
    'error-code-execution': 'Fehler beim Ausführen des Codes. ' + 'Bitte überprüfe, ob alle Variablen korrekt initialisiert sind und die aufgerufenen Funktionen/Methoden auch wirklich existieren! ' + 'Die genaue Fehlermeldung lautet: ',
    'error-code-transform': 'Fehlerhafte Eingabe. ' + 'Bitte überprüfe die Syntax und Variablenbelegung des Programmcodes. ' + 'Die genaue Fehlermeldung lautet: ',
    'error-file': 'Fehler beim Laden der Datei. ' + 'Möglicherweise ist die Datei kaputt.',
    'error-replace-instructions': 'Fehler beim Übersetzen der Anweisungen. ' + 'Bitte stelle sicher, dass nur gültige Hamster-Befehle und die korrekte Syntax verwendet werden.',
    'error-function-names': 'Die Basis-Hamster-Funktionen können nicht überschrieben werden! ' + 'Bitte überprüfe die Namen der erstellten Funktionen.'
  },
  'en': {
    'hamster-direction-north': 'north',
    'hamster-direction-west': 'west',
    'hamster-direction-east': 'east',
    'hamster-direction-south': 'south',
    'textEditor': '// Write your hamster-program.. :)\n',
    'id-heading': 'Online Hamster Simulator for JavaScript',
    'id-heading-img': 'Image of a hamster',
    'id-save-Files': 'Save files',
    'id-load-Files': 'Load files',
    'id-change-language': 'Change language',
    'id-language-german-link': 'German',
    'id-language-english-link': 'English',
    'id-editor-settings': 'Texteditor settings',
    'id-change-font-size': 'Change font size',
    'id-change-theme': 'Change design',
    'id-auto-completion-link': 'Autocompletion',
    'id-play-button': 'Start program',
    'id-play-button-img': 'Button zum Starten des Programms',
    'id-pause-button': 'Pause program',
    'id-pause-button-img': 'Button zum Pausieren des Programms',
    'id-stop-button': 'Stop program',
    'id-stop-button-img': 'Button zum Stoppen des Programms',
    'id-reset-button': 'Reset territory',
    'id-reset-button-img': 'Button zum Zurücksetzen des Territoriums',
    'id-info-button': 'Information about territory',
    'id-info-button-img': 'Button for displaying information about the territory',
    'id-grain-button': 'Place grains in the territory',
    'id-grain-button-img': 'Button for placing grains within the territory',
    'id-wall-button': 'Place walls in the territory',
    'id-wall-button-img': 'Button for placing walls within the territory',
    'id-delete-button': 'Delete elements within the territory',
    'id-delete-button-img': 'Button for deleting elements within the territory',
    'id-give-hamster-grains-button': 'Place grains in the hamster\'s mouth',
    'id-give-hamster-grains-button-img': 'Button for placing grains in the mouth of the default hamster',
    'id-change-hamster-direction-button': 'Turn hamster left',
    'id-change-hamster-direction-button-img': 'Button to turn the standard hamster to the left',
    'id-change-size-button': 'Change the size of the territory',
    'id-change-size-button-img': 'Button to change the territory size',
    'id-info-button-grains-in-territory': 'Grains in field:',
    'id-info-button-grains-in-mouth': 'Grains in mouth:',
    'id-info-button-grains-hamster-direction': 'Hamster direction:',
    'id-change-size-dialog-heading': 'Change the size of the territory:',
    'id-change-size-dialog-row-input': 'Rows',
    'id-row-input': 'Number of rows',
    'id-change-size-dialog-col-input': 'Columns',
    'id-col-input': 'Number of columns',
    'id-change-size-dialog-cancel-button': 'Cancel',
    'id-add-grains-territory-heading': 'How many grains should there be in the field?',
    'id-add-grains-territory-dialog-input-label': 'Number of grains',
    'id-add-grains-territory-dialog-input': 'Number of grains',
    'id-add-grains-territory-dialog-cancel-button': 'Cancel',
    'id-add-grains-hamster-dialog-heading': 'How many grains should the hamster have in its mouth?',
    'id-add-grains-hamster-dialog-input-label': 'Number of grains',
    'id-add-grains-hamster-dialog-input': 'Number of grains',
    'id-add-grains-hamster-dialog-cancel-button': 'Cancel',
    'id-read-number-text': 'Which number should the hamster read?',
    'id-read-number-dialog-input-label': 'Number',
    'id-read-number-input': 'Number to be read',
    'id-read-string-text': 'Which string should the hamster read?',
    'id-read-string-dialog-input-label': 'String',
    'id-read-string-input': 'String to be read',
    'id-write-string-text': 'The hamster would like to tell you the following:',
    'id-write-string-output': 'String output by the hamster',
    'id-error-dialog-heading': 'Error',
    'id-error-output': 'The following error has occurred',
    'id-save-files-dialog-heading': 'Save files',
    'id-save-all-label': 'All',
    'id-save-editor-label': 'Editor',
    'id-save-territory-label': 'Territory',
    'id-save-files-dialog-save-button': 'Save',
    'id-save-files-dialog-cancel-button': 'Cancel',
    'id-change-font-size-dialog-heading': 'Choose a font size between 8px and 50px:',
    'id-font-size-input': 'New font size in px',
    'id-change-font-size-dialog-cancel-button': 'Cancel',
    'id-change-theme-dialog-heading': 'Choose a design:',
    'id-change-theme-dialog-cancel-button': 'Cancel',
    'error-to-many-hamster': 'There are already too many hamsters!',
    'error-wrong-parameter': 'The hamster does not know these parameters!',
    'error-hamster-init': 'The hamster has not been initialized!',
    'error-wall': 'The hamster cannot run into a wall or out of the territory!',
    'error-empty-cell': 'The tile is empty!',
    'error-empty-mouth': 'The hamster\'s mouth is empty!',
    'error-unknown': 'An unexpected error has occurred! Please reload the page!',
    'error-hamster-placement': 'The hamster cannot be placed on a wall or outside the territory!',
    'error-code-execution': 'Error while executing the code. ' + 'Please check whether all variables are correctly initialized and the called functions/methods really exist! ' + 'The exact error message is: ',
    'error-code-transform': 'Incorrect input. ' + 'Please check the syntax and variable assignment of the program code. ' + 'The exact error message is: ',
    'error-file': 'Error while loading the file. ' + 'The file may be corrupt.',
    'error-replace-instructions': 'Error while translating the instructions. ' + 'Please make sure that only valid hamster commands and the correct syntax are used.',
    'error-function-names': 'The basic hamster functions cannot be overwritten! ' + 'Please check the names of the created functions.'
  }
};

/**
 * Lädt die im Browser des Nutzers bevorzugte Sprache.
 * 
 * Wird die Sprache nicht unterstützt, wird Deutsch als Standard ausgewählt.
 */
function loadUserLanguage() {
  var userLang = navigator.languages ? navigator.languages[0] : navigator.language;
  exports.userLanguage = userLanguage = userLang.substring(0, 2);
  if (!userLanguage in languagesStrings) {
    exports.userLanguage = userLanguage = 'de';
  }
}

/**
 * Setzt für alle Elemente im Projekt den Text entsprechend der eingestellten Sprache des Nutzers.
 */
function setWebsiteContentInUserLanguage() {
  document.getElementById('heading').innerText = languagesStrings[userLanguage]['id-heading'];
  document.getElementById('heading-img').alt = languagesStrings[userLanguage]['id-heading-img'];
  document.getElementById('save-Files').innerText = languagesStrings[userLanguage]['id-save-Files'];
  document.getElementById('load-Files').innerText = languagesStrings[userLanguage]['id-load-Files'];
  document.getElementById('change-language').innerText = languagesStrings[userLanguage]['id-change-language'];
  document.getElementById('language-german-link').innerText = languagesStrings[userLanguage]['id-language-german-link'];
  document.getElementById('language-english-link').innerText = languagesStrings[userLanguage]['id-language-english-link'];
  document.getElementById('editor-settings').innerText = languagesStrings[userLanguage]['id-editor-settings'];
  document.getElementById('change-font-size').innerText = languagesStrings[userLanguage]['id-change-font-size'];
  document.getElementById('change-theme').innerText = languagesStrings[userLanguage]['id-change-theme'];
  document.getElementById('auto-completion-link').innerText = languagesStrings[userLanguage]['id-auto-completion-link'];
  document.getElementById('play-button').title = languagesStrings[userLanguage]['id-play-button'];
  document.getElementById('play-button-img').alt = languagesStrings[userLanguage]['id-play-button-img'];
  document.getElementById('pause-button').title = languagesStrings[userLanguage]['id-pause-button'];
  document.getElementById('pause-button-img').alt = languagesStrings[userLanguage]['id-pause-button-img'];
  document.getElementById('stop-button').title = languagesStrings[userLanguage]['id-stop-button'];
  document.getElementById('stop-button-img').alt = languagesStrings[userLanguage]['id-stop-button-img'];
  document.getElementById('reset-button').title = languagesStrings[userLanguage]['id-reset-button'];
  document.getElementById('reset-button-img').alt = languagesStrings[userLanguage]['id-reset-button-img'];
  document.getElementById('info-button').title = languagesStrings[userLanguage]['id-info-button'];
  document.getElementById('info-button-img').alt = languagesStrings[userLanguage]['id-info-button-img'];
  document.getElementById('grain-button').title = languagesStrings[userLanguage]['id-grain-button'];
  document.getElementById('grain-button-img').alt = languagesStrings[userLanguage]['id-grain-button-img'];
  document.getElementById('wall-button').title = languagesStrings[userLanguage]['id-wall-button'];
  document.getElementById('wall-button-img').alt = languagesStrings[userLanguage]['id-wall-button-img'];
  document.getElementById('delete-button').title = languagesStrings[userLanguage]['id-delete-button'];
  document.getElementById('delete-button-img').alt = languagesStrings[userLanguage]['id-delete-button-img'];
  document.getElementById('give-hamster-grains-button').title = languagesStrings[userLanguage]['id-give-hamster-grains-button'];
  document.getElementById('give-hamster-grains-button-img').alt = languagesStrings[userLanguage]['id-give-hamster-grains-button-img'];
  document.getElementById('change-hamster-direction-button').title = languagesStrings[userLanguage]['id-change-hamster-direction-button'];
  document.getElementById('change-hamster-direction-button-img').alt = languagesStrings[userLanguage]['id-change-hamster-direction-button-img'];
  document.getElementById('change-size-button').title = languagesStrings[userLanguage]['id-change-size-button'];
  document.getElementById('change-size-button-img').alt = languagesStrings[userLanguage]['id-change-size-button-img'];
  document.getElementById('info-button-grains-in-territory').innerText = languagesStrings[userLanguage]['id-info-button-grains-in-territory'];
  document.getElementById('info-button-grains-in-mouth').innerText = languagesStrings[userLanguage]['id-info-button-grains-in-mouth'];
  document.getElementById('info-button-hamster-direction').innerText = languagesStrings[userLanguage]['id-info-button-grains-hamster-direction'];
  document.getElementById('change-size-dialog-heading').innerText = languagesStrings[userLanguage]['id-change-size-dialog-heading'];
  document.getElementById('change-size-dialog-row-input').innerText = languagesStrings[userLanguage]['id-change-size-dialog-row-input'];
  document.getElementById('row-input').title = languagesStrings[userLanguage]['id-row-input'];
  document.getElementById('change-size-dialog-col-input').innerText = languagesStrings[userLanguage]['id-change-size-dialog-col-input'];
  document.getElementById('col-input').title = languagesStrings[userLanguage]['id-col-input'];
  document.getElementById('change-size-dialog-cancel-button').value = languagesStrings[userLanguage]['id-change-font-size-dialog-cancel-button'];
  document.getElementById('add-grains-territory-dialog-heading').innerText = languagesStrings[userLanguage]['id-add-grains-territory-heading'];
  document.getElementById('add-grains-territory-dialog-input-label').innerText = languagesStrings[userLanguage]['id-add-grains-territory-dialog-input-label'];
  document.getElementById('number-of-grains-territory-input').title = languagesStrings[userLanguage]['id-add-grains-territory-dialog-input'];
  document.getElementById('add-grains-territory-dialog-cancel-button').value = languagesStrings[userLanguage]['id-add-grains-territory-dialog-cancel-button'];
  document.getElementById('add-grains-hamster-dialog-heading').innerText = languagesStrings[userLanguage]['id-add-grains-hamster-dialog-heading'];
  document.getElementById('add-grains-hamster-dialog-input-label').innerText = languagesStrings[userLanguage]['id-add-grains-hamster-dialog-input-label'];
  document.getElementById('number-of-grains-hamster-input').title = languagesStrings[userLanguage]['id-add-grains-hamster-dialog-input'];
  document.getElementById('add-grains-hamster-dialog-cancel-button').value = languagesStrings[userLanguage]['id-add-grains-hamster-dialog-cancel-button'];
  document.getElementById('read-number-text').innerText = languagesStrings[userLanguage]['id-read-number-text'];
  document.getElementById('read-number-dialog-input-label').innerText = languagesStrings[userLanguage]['id-read-number-dialog-input-label'];
  document.getElementById('read-number-input').title = languagesStrings[userLanguage]['id-read-number-input'];
  document.getElementById('read-string-text').innerText = languagesStrings[userLanguage]['id-read-string-text'];
  document.getElementById('read-string-dialog-input-label').innerText = languagesStrings[userLanguage]['id-read-string-dialog-input-label'];
  document.getElementById('read-string-input').title = languagesStrings[userLanguage]['id-read-string-input'];
  document.getElementById('write-string-text').innerText = languagesStrings[userLanguage]['id-write-string-text'];
  document.getElementById('write-string-output').title = languagesStrings[userLanguage]['id-write-string-output'];
  document.getElementById('error-dialog-heading').innerText = languagesStrings[userLanguage]['id-error-dialog-heading'];
  document.getElementById('error-output').title = languagesStrings[userLanguage]['id-error-output'];
  document.getElementById('save-files-dialog-heading').innerText = languagesStrings[userLanguage]['id-save-files-dialog-heading'];
  document.getElementById('save-all-label').textContent = languagesStrings[userLanguage]['id-save-all-label'];
  document.getElementById('save-editor-label').textContent = languagesStrings[userLanguage]['id-save-editor-label'];
  document.getElementById('save-territory-label').textContent = languagesStrings[userLanguage]['id-save-territory-label'];
  document.getElementById('save-files-dialog-save-button').value = languagesStrings[userLanguage]['id-save-files-dialog-save-button'];
  document.getElementById('save-files-dialog-cancel-button').value = languagesStrings[userLanguage]['id-save-files-dialog-cancel-button'];
  document.getElementById('change-font-size-dialog-heading').innerText = languagesStrings[userLanguage]['id-change-font-size-dialog-heading'];
  document.getElementById('font-size-input').innerText = languagesStrings[userLanguage]['id-font-size-input'];
  document.getElementById('change-font-size-dialog-cancel-button').value = languagesStrings[userLanguage]['id-change-font-size-dialog-cancel-button'];
  document.getElementById('change-theme-dialog-heading').innerText = languagesStrings[userLanguage]['id-change-theme-dialog-heading'];
  document.getElementById('change-theme-dialog-cancel-button').value = languagesStrings[userLanguage]['id-change-theme-dialog-cancel-button'];
}

/**
 * Setter für das userLanguage-Attribut.
 *
 * @param language, neuer Wert.
 */
function setUserLanguage(language) {
  exports.userLanguage = userLanguage = language;
}
loadUserLanguage();

},{}],34:[function(require,module,exports){
"use strict";

var _canvas = require("./canvas.js");
var _language = require("./language.js");
var _buttons = require("./buttons.js");
var _dialogs = require("./dialogs.js");
var _navigation = require("./navigation.js");
var _saveAndLoad = require("./saveAndLoad.js");
document.addEventListener('DOMContentLoaded', init);

/**
 * Initialisiert alle Funktionen und Variablen, nachdem die Webseite geladen wurde.
 */
function init() {
  (0, _language.setWebsiteContentInUserLanguage)();
  (0, _canvas.loadPage)();
  (0, _dialogs.initDialogs)();
  (0, _navigation.initMenu)();
  (0, _buttons.initButtons)();
  (0, _canvas.calculateGridSize)();
  (0, _canvas.initCanvas)();
  (0, _canvas.initHamster)();
  (0, _saveAndLoad.saveTemporaryTerritory)();
}

},{"./buttons.js":19,"./canvas.js":20,"./dialogs.js":31,"./language.js":33,"./navigation.js":35,"./saveAndLoad.js":36}],35:[function(require,module,exports){
"use strict";

Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.closeMenu = closeMenu;
exports.initMenu = initMenu;
exports.openMenu = openMenu;
var _dialogs = require("./dialogs.js");
var _language = require("./language.js");
var _saveAndLoad = require("./saveAndLoad.js");
var _cmEditor = require("./cmEditor.js");
var menuOpen;
var dropdownMenuOpen;
var languageDropdownMenuOpen;
var menu;
var hamburgerBtn;
var dropdownMenuButton;
var languageDropdownMenuButton;
var editorSettingsDropdown;
var changeLanguageDropdown;
var languageGermanRadioButton;
var languageEnglishRadioButton;

/**
 * Initialisiert die Funktionen des Hamburger-Menüs.
 */
function initMenu() {
  menuOpen = false;
  dropdownMenuOpen = false;
  languageDropdownMenuOpen = false;
  hamburgerBtn = document.getElementById('burger-button');
  menu = document.getElementById('menu');
  var editorSettingsLink = document.getElementById('editor-settings');
  var changeLanguageLink = document.getElementById('change-language');
  editorSettingsDropdown = document.getElementById('editor-settings-dropdown');
  changeLanguageDropdown = document.getElementById('change-language-dropdown');
  var autoCompletionLink = document.getElementById('auto-completion-link');
  var autoCompletionCheckbox = document.getElementById('auto-completion-checkbox');
  var languageGermanLink = document.getElementById('language-german-link');
  languageGermanRadioButton = document.getElementById('language-german-radio-button');
  var languageEnglishLink = document.getElementById('language-english-link');
  languageEnglishRadioButton = document.getElementById('language-english-radio-button');
  dropdownMenuButton = document.getElementById('dropdown-menu-button');
  languageDropdownMenuButton = document.getElementById('language-dropdown-menu-button');
  var changeFontSizeLink = document.getElementById('change-font-size');
  var changeThemeLink = document.getElementById('change-theme');
  setLanguageRadioButton();
  hamburgerBtn.addEventListener('click', function (event) {
    event.preventDefault();
    toggleMenu(event);
  });
  editorSettingsLink.addEventListener('click', function (event) {
    event.preventDefault();
    hamburgerBtn.focus();
    editorSettingsDropdown.classList.toggle('hidden');
    editorSettingsDropdown.classList.toggle('flex');
    toggleDropdownMenuAnimation(dropdownMenuButton);
    dropdownMenuOpen = !dropdownMenuOpen;
  });
  autoCompletionLink.addEventListener('click', function (event) {
    event.preventDefault();
    autoCompletionCheckbox.click();
  });
  autoCompletionCheckbox.addEventListener('change', function () {
    if (autoCompletionCheckbox.checked) {
      (0, _cmEditor.enableAutoCompletion)();
    } else {
      (0, _cmEditor.disableAutoCompletion)();
    }
  });
  changeFontSizeLink.addEventListener('click', function (event) {
    event.preventDefault();
    (0, _dialogs.openChangeFontSizeDialog)();
  });
  changeThemeLink.addEventListener('click', function (event) {
    event.preventDefault();
    (0, _dialogs.openChangeThemeDialog)();
  });
  changeLanguageLink.addEventListener('click', function (event) {
    event.preventDefault();
    hamburgerBtn.focus();
    changeLanguageDropdown.classList.toggle('hidden');
    changeLanguageDropdown.classList.toggle('flex');
    toggleDropdownMenuAnimation(languageDropdownMenuButton);
    languageDropdownMenuOpen = !languageDropdownMenuOpen;
  });
  languageGermanLink.addEventListener('click', function (event) {
    event.preventDefault();
    languageGermanRadioButton.click();
  });
  languageGermanRadioButton.addEventListener('change', function (event) {
    event.preventDefault();
    (0, _language.setUserLanguage)('de');
    (0, _language.setWebsiteContentInUserLanguage)();
    (0, _cmEditor.replaceStartText)();
  });
  languageEnglishLink.addEventListener('click', function (event) {
    event.preventDefault();
    languageEnglishRadioButton.click();
  });
  languageEnglishRadioButton.addEventListener('change', function (event) {
    event.preventDefault();
    (0, _language.setUserLanguage)('en');
    (0, _language.setWebsiteContentInUserLanguage)();
    (0, _cmEditor.replaceStartText)();
  });
  document.getElementById('save-Files').addEventListener('click', _dialogs.openSaveFilesDialog);
  document.getElementById('load-Files').addEventListener('click', function (event) {
    event.preventDefault();
    document.getElementById('file-upload').click();
  });
  document.getElementById('file-upload').addEventListener('change', handleFileUploadChange);
}

/**
 * Verwaltet den Upload von Hamster-Programmen und Territorium-Dateien.
 *
 * @param event, das auslösende Event.
 */
function handleFileUploadChange(event) {
  event.preventDefault();
  var fileInput = document.getElementById('file-upload');
  var file = event.target.files[0];
  if (file) {
    // Versuche Datei als Hamster-Programm oder Territorium-Datei zu laden
    (0, _saveAndLoad.loadTerritoryFile)(event, file, function (territoryLoaded) {
      if (!territoryLoaded) {
        (0, _saveAndLoad.loadCodeFile)(event, file, function (codeLoaded) {
          if (!codeLoaded && !_dialogs.errorDialogOpen) {
            (0, _dialogs.openErrorDialog)(_language.languagesStrings[_language.userLanguage]['error-file']);
          }
        });
      }
    });

    // Setze den Wert des Datei-Eingabefelds zurück, um das Event erneut auszulösen
    fileInput.value = "";
  }
}

/**
 * Setzt den Radio-Button des Sprachmenüs entsprechend der geladenen Sprache der Webseite.
 */
function setLanguageRadioButton() {
  switch (_language.userLanguage) {
    case "de":
      languageGermanRadioButton.click();
      return;
    case "en":
      languageEnglishRadioButton.click();
      return;
  }
}

/**
 * Transformiert das Aussehen des Burger-Menü-Buttons.
 * Beim Öffnen des Hauptmenüs entsteht ein "X", beim Schließen das Standard-Design eines Burger-Menüs.
 */
function transformBurgerMenu() {
  var burgerMenuSpan1 = document.getElementById('burger-menu-1');
  var burgerMenuSpan2 = document.getElementById('burger-menu-2');
  var burgerMenuSpan3 = document.getElementById('burger-menu-3');
  var burgerMenuSpan4 = document.getElementById('burger-menu-4');
  var burgerMenuSpan5 = document.getElementById('burger-menu-5');
  var burgerMenuSpan6 = document.getElementById('burger-menu-6');
  var burgerMenuSpan7 = document.getElementById('burger-menu-7');
  burgerMenuSpan1.classList.toggle('ring-0');
  burgerMenuSpan1.classList.toggle('ring-4');
  burgerMenuSpan2.classList.toggle('translate-x-20');
  burgerMenuSpan3.classList.toggle('translate-x-20');
  burgerMenuSpan4.classList.toggle('translate-x-20');
  burgerMenuSpan5.classList.toggle('-translate-x-20');
  burgerMenuSpan5.classList.toggle('translate-x-0');
  burgerMenuSpan5.classList.toggle('w-12');
  burgerMenuSpan6.classList.toggle('rotate-0');
  burgerMenuSpan6.classList.toggle('rotate-45');
  burgerMenuSpan7.classList.toggle('-rotate-0');
  burgerMenuSpan7.classList.toggle('-rotate-45');
}

/**
 * Öffnet das Hauptmenü und macht es sichtbar.
 */
function openMenu() {
  transformBurgerMenu();
  if (menu.classList.contains('hidden')) {
    menu.classList.remove('hidden');
    menu.classList.add('flex');
  }
  menuOpen = true;
}

/**
 * Schließt das Hauptmenü und versteckt es.
 * Falls das auslösende Event die Checkbox oder das Element zum Ein-/Ausschalten der automatischen Textvervollständigung
 * oder das Element zum Anzeigen des Texteditor-Einstellungen-Untermenüs ist, bleibt das Hauptmenü geöffnet.
 * 
 * @param event, das auslösende Event.
 */
function closeMenu(event) {
  if (event.target !== undefined && (event.target.id === 'auto-completion-checkbox' || event.target.id === 'auto-completion-link' || event.target.id === 'editor-settings' || event.target.id === 'menu')) {
    return;
  }
  if (menu.classList.contains('flex')) {
    menu.classList.remove('flex');
    menu.classList.add('hidden');
  }
  transformBurgerMenu();
  menuOpen = false;
  hideSubMenus();
}

/**
 * Triggert das Öffnen und Schließen des Hauptmenüs.
 * 
 * @param event, das auslösende Event.
 */
function toggleMenu(event) {
  if (menuOpen) {
    closeMenu(event);
  } else {
    openMenu();
  }
}

/**
 * Triggert die Animation des Texteditor-Einstellungen-Untermenüs.
 */
function toggleDropdownMenuAnimation(element) {
  element.classList.toggle('transition');
  element.classList.toggle('duration-300');
  element.classList.toggle('rotate-90');
  element.classList.toggle('ease-in-out');
}

/**
 * Blendet das Untermenü der Texteditor-Einstellungen aus.
 */
function hideSubMenus() {
  if (editorSettingsDropdown.classList.contains('flex')) {
    editorSettingsDropdown.classList.remove('flex');
    editorSettingsDropdown.classList.add('hidden');
  }
  if (dropdownMenuOpen) {
    toggleDropdownMenuAnimation(dropdownMenuButton);
    dropdownMenuOpen = false;
  }
  if (changeLanguageDropdown.classList.contains('flex')) {
    changeLanguageDropdown.classList.remove('flex');
    changeLanguageDropdown.classList.add('hidden');
  }
  if (languageDropdownMenuOpen) {
    toggleDropdownMenuAnimation(languageDropdownMenuButton);
    languageDropdownMenuOpen = false;
  }
}

},{"./cmEditor.js":29,"./dialogs.js":31,"./language.js":33,"./saveAndLoad.js":36}],36:[function(require,module,exports){
"use strict";

function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.loadCodeFile = loadCodeFile;
exports.loadTemporaryTerritory = loadTemporaryTerritory;
exports.loadTerritoryFile = loadTerritoryFile;
exports.saveTemporaryTerritory = saveTemporaryTerritory;
exports.validateAndSave = validateAndSave;
var _cmEditor = require("./cmEditor.js");
var _canvas = require("./canvas.js");
var _hamster = require("./hamster.js");
var _dialogs = require("./dialogs.js");
var _language = require("./language.js");
var _navigation = require("./navigation.js");
function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator["return"] && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, "catch": function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
var tempTerritoryContent;
var tempHamsters = [];
var tempHamsterCounter;

/**
 * Speichert den aktuellen Zustand des Territoriums temporär.
 */
function saveTemporaryTerritory() {
  tempHamsters = [];
  tempTerritoryContent = null;
  tempHamsterCounter = _hamster.hamsterCounter;
  _hamster.hamsters.forEach(function (hamster) {
    _canvas.territoryContent[hamster.getRow()][hamster.getColumn()].removeHamster(hamster);
    tempHamsters.push(JSON.stringify(hamster));
  });
  tempTerritoryContent = JSON.stringify(_canvas.territoryContent);
}

/**
 * Lädt den temporär gespeicherten Zustand des Territoriums.
 */
function loadTemporaryTerritory() {
  (0, _hamster.setHamsterCounter)(tempHamsterCounter);
  var newTerritoryContent = JSON.parse(tempTerritoryContent);
  copyTerritory(newTerritoryContent);
  (0, _hamster.clearHamsterArray)();
  tempHamsters.forEach(function (currentHamster) {
    var newHamster = new _hamster.Hamster(JSON.parse(currentHamster));
    if (newHamster.getName() === "hamster") {
      (0, _hamster.setDefaultHamster)(newHamster);
    }
    (0, _hamster.addToHamsterArray)(newHamster);
    _canvas.territoryContent[newHamster.getRow()][newHamster.getColumn()].addHamster(newHamster);
  });
  (0, _canvas.drawAll)();
}

/**
 * Erstellt für das Territorium neuen Zellen und fügt dort die neuen Inhalte ein.
 * 
 * @param newTerritoryContent, Inhalt des neuen Territoriums.
 */
function copyTerritory(newTerritoryContent) {
  for (var r = 0; r < _canvas.rows; r++) {
    for (var c = 0; c < _canvas.cols; c++) {
      _canvas.territoryContent[r][c] = new _canvas.CellContent(newTerritoryContent[r][c]);
    }
  }
}

/**
 * Validiert und führt den Speichervorgang für Editor- und Territoriums-Dateien durch.
 * 
 * @param event, das auslösende Event.
 */
function validateAndSave(event) {
  event.preventDefault();
  var option = document.querySelector('input[name="save-option"]:checked');
  switch (option.id) {
    case "save-all":
      saveFile("save-editor");
      saveFile("save-territory");
      break;
    case "save-editor":
      saveFile("save-editor");
      break;
    case "save-territory":
      saveFile("save-territory");
      break;
    default:
      if (!_dialogs.errorDialogOpen) {
        (0, _dialogs.openErrorDialog)(_language.languagesStrings[_language.userLanguage]['error-unknown']);
      }
  }
  (0, _dialogs.closeSaveFilesDialog)();
  (0, _navigation.closeMenu)(event);
}

/**
 * Speichert den aktuellen Zustand des Editors/Territoriums als verschlüsseltes JSON-Objekt und stellt die Datei
 * im Download des Browsers zur Verfügung.
 * 
 * @param checkboxId, ausgewählte Checkbox im Speichern-Dialog, zur Bestimmung, welche Daten gespeichert werden sollen.
 */
function saveFile(checkboxId) {
  var data = {};
  var downloadLink = document.createElement('a');
  switch (checkboxId) {
    case "save-editor":
      var editorText = _cmEditor.editor.state.doc.toString();
      data = JSON.stringify(editorText);
      downloadLink.download = 'online-hamster-simulator.editor.json';
      break;
    case "save-territory":
      var dataObj = {
        territoryContent: _canvas.territoryContent,
        hamster: _hamster.hamster
      };
      data = JSON.stringify(dataObj);
      downloadLink.download = 'online-hamster-simulator.territory.json';
      break;
    default:
      if (!_dialogs.errorDialogOpen) {
        (0, _dialogs.openErrorDialog)(_language.languagesStrings[_language.userLanguage]['error-unknown']);
      }
      return;
  }
  var blob = new Blob([data], {
    type: 'application/json'
  });
  var blobURL = URL.createObjectURL(blob);

  // Download-Link erstellen und klicken
  downloadLink.href = blobURL;
  document.body.appendChild(downloadLink);
  downloadLink.click();

  // Cleanup
  URL.revokeObjectURL(blobURL);
  document.body.removeChild(downloadLink);
}

/**
 * Liest eine vom Benutzer geladene Editor-Datei und fügt den Inhalt in den TextEditor der Webseite ein.
 *
 * @param event, das auslösende Event.
 * @param file, vom Benutzer ins Programm geladene Editor-Datei.
 * @param callback, signalisiert den Erfolg bzw. Misserfolg der Funktion.
 */
function loadCodeFile(event, file, callback) {
  var reader = new FileReader();
  reader.onloadend = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
    var data, code;
    return _regeneratorRuntime().wrap(function _callee$(_context) {
      while (1) switch (_context.prev = _context.next) {
        case 0:
          try {
            data = reader.result.toString();
            code = JSON.parse(data);
            (0, _cmEditor.replaceContent)(code);
            (0, _navigation.closeMenu)(event);
            callback(true);
          } catch (err) {
            callback(false);
          }
        case 1:
        case "end":
          return _context.stop();
      }
    }, _callee);
  }));
  reader.readAsText(file);
}

/**
 * Liest eine vom Benutzer geladene Territorium-Datei und zeichnet mit den entsprechenden Werten das Territorium
 * sowie den Default-Hamster neu.
 * 
 * Es wird davon ausgegangen, dass der Benutzer den Inhalt der Datei nach dem Speichern nicht verändert hat.
 * Andernfalls tritt beim Lesen der Datei ein Fehler auf.
 * 
 * @param event, das auslösende Event.
 * @param file, vom Benutzer ins Programm geladene Territorium-Datei.
 * @param callback, signalisiert den Erfolg bzw. Misserfolg der Funktion.
 */
function loadTerritoryFile(event, file, callback) {
  var reader = new FileReader();
  reader.onloadend = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
    var data, dataObj, newTerritoryContent;
    return _regeneratorRuntime().wrap(function _callee2$(_context2) {
      while (1) switch (_context2.prev = _context2.next) {
        case 0:
          try {
            data = reader.result.toString();
            dataObj = JSON.parse(data);
            newTerritoryContent = dataObj.territoryContent;
            (0, _canvas.setRows)(newTerritoryContent.length);
            (0, _canvas.setColumns)(newTerritoryContent[0].length);
            (0, _canvas.calculateCanvasSize)();
            (0, _canvas.calculateGridSize)();
            (0, _canvas.createNewTerritoryContent)();
            copyTerritory(newTerritoryContent);
            (0, _hamster.clearHamsterArray)();
            (0, _hamster.setDefaultHamster)(new _hamster.Hamster(dataObj.hamster));
            (0, _hamster.addToHamsterArray)(_hamster.hamster);
            (0, _canvas.drawAll)();
            (0, _navigation.closeMenu)(event);
            callback(true);
          } catch (err) {
            callback(false);
          }
        case 1:
        case "end":
          return _context2.stop();
      }
    }, _callee2);
  }));
  reader.readAsText(file);
}

},{"./canvas.js":20,"./cmEditor.js":29,"./dialogs.js":31,"./hamster.js":32,"./language.js":33,"./navigation.js":35}]},{},[19,20,29,30,31,32,33,34,35,36]);
