@putout/bundle 5.0.9 → 5.0.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundle/putout.js +103 -37
- package/bundle/putout.min.js +1 -1
- package/bundle/putout.slim.js +103 -37
- package/package.json +2 -2
package/bundle/putout.min.js
CHANGED
|
@@ -22,4 +22,4 @@ var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?windo
|
|
|
22
22
|
|
|
23
23
|
return ${zLe(r)};
|
|
24
24
|
})(${JLe(this.node)})
|
|
25
|
-
`;return this.replaceWith(u)[0].get("arguments.0")},matchesPattern:function(e,t){return y_e(this.node,e,t)},isStatic:function(){return this.scope.isStatic(this.node)},isNodeType:function(e){return m_e(this.type,e)},canHaveVariableDeclarationOrExpression:function(){return("init"===this.key||"left"===this.key)&&this.parentPath.isFor()},canSwapBetweenExpressionAndStatement:function(e){return!("body"!==this.key||!this.parentPath.isArrowFunctionExpression())&&(this.isExpression()?l_e(e):!!this.isBlockStatement()&&p_e(e))},isCompletionRecord:function(e){let t=this,n=!0;do{const{type:r,container:i}=t;if(!n&&(t.isFunction()||"StaticBlock"===r))return!!e;if(n=!1,Array.isArray(i)&&t.key!==i.length-1)return!1}while((t=t.parentPath)&&!t.isProgram()&&!t.isDoExpression());return!0},isStatementOrBlock:function(){return!this.parentPath.isLabeledStatement()&&!l_e(this.container)&&c_e.includes(this.key)},referencesImport:function(e,t){if(!this.isReferencedIdentifier()){if(this.isJSXMemberExpression()&&this.node.property.name===t||(this.isMemberExpression()||this.isOptionalMemberExpression())&&(this.node.computed?f_e(this.node.property,{value:t}):this.node.property.name===t)){const t=this.get("object");return t.isReferencedIdentifier()&&t.referencesImport(e,"*")}return!1}const n=this.scope.getBinding(this.node.name);if("module"!==n?.kind)return!1;const r=n.path,i=r.parentPath;return!!i.isImportDeclaration()&&(i.node.source.value===e&&(!t||(!(!r.isImportDefaultSpecifier()||"default"!==t)||(!(!r.isImportNamespaceSpecifier()||"*"!==t)||!(!r.isImportSpecifier()||!d_e(r.node.imported,{name:t}))))))},getSource:function(){const e=this.node;if(e.end){const t=this.hub.getCode();if(t)return t.slice(e.start,e.end)}return""},willIMaybeExecuteBefore:function(e){return"after"!==this._guessExecutionStatusRelativeTo(e)},_guessExecutionStatusRelativeTo:function(e){return b_e(this,e,new Map)},resolve:function(e,t){return E_e.call(this,e,t)||this},isConstantExpression:function(){if(this.isIdentifier()){const e=this.scope.getBinding(this.node.name);return!!e&&e.constant}if(this.isLiteral())return!this.isRegExpLiteral()&&(!this.isTemplateLiteral()||this.get("expressions").every(e=>e.isConstantExpression()));if(this.isUnaryExpression())return"void"===this.node.operator&&this.get("argument").isConstantExpression();if(this.isBinaryExpression()){const{operator:e}=this.node;return"in"!==e&&"instanceof"!==e&&this.get("left").isConstantExpression()&&this.get("right").isConstantExpression()}return this.isMemberExpression()?!this.node.computed&&this.get("object").isIdentifier({name:"Symbol"})&&!this.scope.hasBinding("Symbol",{noGlobals:!0}):!!this.isCallExpression()&&(1===this.node.arguments.length&&this.get("callee").matchesPattern("Symbol.for")&&!this.scope.hasBinding("Symbol",{noGlobals:!0})&&this.get("arguments")[0].isStringLiteral())},isInStrictMode:function(){const e=(this.isProgram()?this:this.parentPath).find(e=>{if(e.isProgram({sourceType:"module"}))return!0;if(e.isClass())return!0;if(e.isArrowFunctionExpression()&&!e.get("body").isBlockStatement())return!1;let t;if(e.isFunction())t=e.node.body;else{if(!e.isProgram())return!1;t=e.node}for(const e of t.directives)if("use strict"===e.value.value)return!0;return!1});return!!e},isDenylisted:function(){const e=this.opts.denylist??this.opts.blacklist;return e?.includes(this.node.type)},visit:function(){if(!this.node)return!1;if(this.isDenylisted())return!1;if(this.opts.shouldSkip?.(this))return!1;const e=this.context;if(this.shouldSkip||G_e.call(this,"enter"))return this.debug("Skip..."),this.shouldStop;return Z_e(this,e),this.debug("Recursing into..."),this.shouldStop=Y_e(this.node,this.opts,this.scope,this.state,this,this.skipKeys),Z_e(this,e),G_e.call(this,"exit"),this.shouldStop},skip:function(){this.shouldSkip=!0},skipKey:function(e){null==this.skipKeys&&(this.skipKeys={});this.skipKeys[e]=!0},stop:function(){this._traverseFlags|=2|q_e},setContext:function(e){null!=this.skipKeys&&(this.skipKeys={});this._traverseFlags=0,e&&(this.context=e,this.state=e.state,this.opts=e.opts);return tOe.call(this),this},requeue:function(e=this){if(e.removed)return;e.shouldSkip=!1;const t=this.contexts;for(const n of t)n.maybeQueue(e)},requeueComputedKeyAndDecorators:function(){const{context:e,node:t}=this;!kte(t)&&t.computed&&e.maybeQueue(this.get("key"));if(t.decorators)for(const t of this.get("decorators"))e.maybeQueue(t)},remove:function(){dDe.call(this),nOe.call(this),uDe.call(this)||(this.opts?.noScope||cDe.call(this),this.shareCommentsWithSiblings(),lDe.call(this)),pDe.call(this)},insertBefore:function(e){dDe.call(this);const t=ODe.call(this,e),{parentPath:n,parent:r}=this;if(n.isExpressionStatement()||n.isLabeledStatement()||EDe(r)||n.isExportDefaultDeclaration()&&this.isDeclaration())return n.insertBefore(t);if(this.isNodeType("Expression")&&!this.isJSXElement()||n.isForStatement()&&"init"===this.key)return this.node&&t.push(this.node),this.replaceExpressionWithStatements(t);if(Array.isArray(this.container))return IDe.call(this,t);if(this.isStatementOrBlock()){const e=this.node,n=e&&(!this.isExpressionStatement()||null!=e.expression),[r]=this.replaceWith(yDe(n?[e]:[]));return r.unshiftContainer("body",t)}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?")},insertAfter:function(e){if(dDe.call(this),this.isSequenceExpression())return DDe(this.get("expressions")).insertAfter(e);const t=ODe.call(this,e),{parentPath:n,parent:r}=this;if(n.isExpressionStatement()||n.isLabeledStatement()||EDe(r)||n.isExportDefaultDeclaration()&&this.isDeclaration())return n.insertAfter(t.map(e=>PDe(e)?TDe(e):e));if(this.isNodeType("Expression")&&!this.isJSXElement()&&!n.isJSXElement()||n.isForStatement()&&"init"===this.key){const e=this;if(e.node){const r=e.node;let{scope:i}=this;if(i.path.isPattern())return fDe(r),e.replaceWith(gDe(hDe([],r),[])),e.get("callee.body").insertAfter(t),[e];if(LDe(e))t.unshift(r);else if(bDe(r)&&CDe(r.callee))t.unshift(r),t.push(wDe());else if(function(e,t){if(!SDe(e)||!vDe(e.left))return!1;const n=t.getBlockParent();return n.hasOwnBinding(e.left.name)&&n.getOwnBinding(e.left.name).constantViolations.length<=1}(r,i))t.unshift(r),t.push(xDe(r.left));else if(i.isPure(r,!0))t.push(r);else{n.isMethod({computed:!0,key:r})&&(i=i.parent);const e=i.generateDeclaredUidIdentifier();t.unshift(TDe(mDe("=",xDe(e),r))),t.push(TDe(xDe(e)))}}return this.replaceExpressionWithStatements(t)}if(Array.isArray(this.container))return NDe.call(this,t);if(this.isStatementOrBlock()){const e=this.node,n=e&&(!this.isExpressionStatement()||null!=e.expression),[r]=this.replaceWith(yDe(n?[e]:[]));return r.pushContainer("body",t)}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?")},unshiftContainer:function(e,t){dDe.call(this);const n=ODe.call(this,t),r=this.node[e],i=J_e.get({parentPath:this,parent:this.node,container:r,listKey:e,key:0}).setContext(this.context);return IDe.call(i,n)},pushContainer:function(e,t){dDe.call(this);const n=ODe.call(this,t),r=this.node[e];return J_e.get({parentPath:this,parent:this.node,container:r,listKey:e,key:r.length}).setContext(this.context).replaceWithMultiple(n)},getOpposite:function(){return"left"===this.key?this.getSibling("right"):"right"===this.key?this.getSibling("left"):null},getCompletionRecords:function(e=!1){return L_e(this,{canHaveBreak:!1,shouldPopulateBreak:!1,inCaseClause:!1,shouldPreserveBreak:e}).map(e=>e.path)},getSibling:function(e){return J_e.get({parentPath:this.parentPath,parent:this.parent,container:this.container,listKey:this.listKey,key:e}).setContext(this.context)},getPrevSibling:function(){return this.getSibling(this.key-1)},getNextSibling:function(){return this.getSibling(this.key+1)},getAllNextSiblings:function(){let e=this.key,t=this.getSibling(++e);const n=[];for(;t.node;)n.push(t),t=this.getSibling(++e);return n},getAllPrevSiblings:function(){let e=this.key,t=this.getSibling(--e);const n=[];for(;t.node;)n.push(t),t=this.getSibling(--e);return n},get:function(e,t=!0){!0===t&&(t=this.context);const n=e.split(".");return 1===n.length?__e.call(this,e,t):O_e.call(this,n,t)},getAssignmentIdentifiers:function(){return P_e(this.node)},getBindingIdentifiers:function(e){return v_e(this.node,e)},getOuterBindingIdentifiers:function(e){return A_e(this.node,e)},getBindingIdentifierPaths:function(e=!1,t=!1){const n=[this],r=Object.create(null);for(;n.length;){const i=n.shift();if(!i)continue;if(!i.node)continue;const s=v_e.keys[i.node.type];if(i.isIdentifier())if(e){(r[i.node.name]=r[i.node.name]||[]).push(i)}else r[i.node.name]=i;else{if(i.isExportDeclaration()){const e=i.get("declaration");e.isDeclaration()&&n.push(e);continue}if(t){if(i.isFunctionDeclaration()){n.push(i.get("id"));continue}if(i.isFunctionExpression())continue}if(s)for(let e=0;e<s.length;e++){const t=s[e],r=i.get(t);Array.isArray(r)?n.push(...r):r.node&&n.push(r)}}}return r},getOuterBindingIdentifierPaths:function(e=!1){return this.getBindingIdentifierPaths(e,!0)},shareCommentsWithSiblings:function(){if("string"==typeof this.key)return;const e=this.node;if(!e)return;const t=e.trailingComments,n=e.leadingComments;if(!t&&!n)return;const r=this.getSibling(this.key-1),i=this.getSibling(this.key+1),s=Boolean(r.node),a=Boolean(i.node);s&&(n&&r.addComments("trailing",B_e(n,r.node.trailingComments)),t&&!a&&r.addComments("trailing",t)),a&&(t&&i.addComments("leading",B_e(t,i.node.leadingComments)),n&&!s&&i.addComments("leading",n))},addComment:function(e,t,n){M_e(this.node,e,t,n)},addComments:function(e,t){F_e(this.node,e,t)}};Object.assign(J_e.prototype,V_e);for(const e of Ere){const t=`is${e}`,n=K5[t];J_e.prototype[t]=function(e){return n(this.node,e)},J_e.prototype[`assert${e}`]=function(t){if(!n(this.node,t))throw new TypeError(`Expected node path of type ${e}`)}}Object.assign(J_e.prototype,Eke);for(const e of Object.keys(Zwe))e.startsWith("_")||Ere.includes(e)||Ere.push(e);var{VISITOR_KEYS:K_e}=K5,W_e=class{constructor(e,t,n,r){F5(this,"queue",null),F5(this,"priorityQueue",null),this.parentPath=r,this.scope=e,this.state=n,this.opts=t}shouldVisit(e){const t=this.opts;if(t.enter||t.exit)return!0;if(t[e.type])return!0;const n=K_e[e.type];if(!n?.length)return!1;for(const t of n)if(e[t])return!0;return!1}create(e,t,n,r){return J_e.get({parentPath:this.parentPath,parent:e,container:t,key:n,listKey:r})}maybeQueue(e,t){this.queue&&(t?this.queue.push(e):this.priorityQueue.push(e))}visitMultiple(e,t,n){if(0===e.length)return!1;const r=[];for(let i=0;i<e.length;i++){const s=e[i];s&&this.shouldVisit(s)&&r.push(this.create(t,e,i,n))}return this.visitQueue(r)}visitSingle(e,t){return!!this.shouldVisit(e[t])&&this.visitQueue([this.create(e,e,t)])}visitQueue(e){this.queue=e,this.priorityQueue=[];const t=new WeakSet;let n=!1,r=0;for(;r<e.length;){const i=e[r];if(r++,nOe.call(i),null===i.key)continue;0!==i.contexts.length&&i.contexts[i.contexts.length-1]===this||oOe.call(i,this);const{node:s}=i;if(!t.has(s)){if(s&&t.add(s),i.visit()){n=!0;break}if(this.priorityQueue.length&&(n=this.visitQueue(this.priorityQueue),this.priorityQueue=[],this.queue=e,n))break}}for(let t=0;t<r;t++)null!==e[t].key&&aOe.call(e[t]);return this.queue=null,n}visit(e,t){const n=e[t];return!!n&&(Array.isArray(n)?this.visitMultiple(n,e,t):this.visitSingle(e,t))}},{VISITOR_KEYS:X_e}=K5;function $_e(e,t){e.queue=t,e.priorityQueue=[];const n=new Set;let r=!1,i=0;for(;i<t.length;){const s=t[i];if(i++,nOe.call(s),0!==s.contexts.length&&s.contexts[s.contexts.length-1]===e||oOe.call(s,e),null===s.key)continue;const{node:a}=s;if(!n.has(a)){if(a&&n.add(a),H_e(e,s)){r=!0;break}if(e.priorityQueue.length&&(r=$_e(e,e.priorityQueue),e.priorityQueue=[],e.queue=t,r))break}}for(let e=0;e<i;e++)aOe.call(t[e]);return e.queue=null,r}function H_e(e,t){const n=t.node;if(!n)return!1;const r=e.opts,i=r.denylist??r.blacklist;return!i?.includes(n.type)&&(!r.shouldSkip?.(t)&&(t.shouldSkip||Q_e.call(t,r.enter)||t.node&&Q_e.call(t,r[n.type]?.enter)?t.shouldStop:(t.shouldStop=z_e(t.node,r,t.scope,e.state,t,t.skipKeys),!(!t.node||!Q_e.call(t,r.exit))||(t.node&&Q_e.call(t,r[n.type]?.exit),t.shouldStop))))}function z_e(e,t,n,r,i,s,a){const o=X_e[e.type];if(!o?.length)return!1;const c=new W_e(n,t,r,i);if(a)return!s?.[i.parentKey]&&$_e(c,[i]);for(const t of o){if(s?.[t])continue;const n=e[t];if(n)if(Array.isArray(n)){if(!n.length)continue;const r=[];for(let s=0;s<n.length;s++){const a=J_e.get({parentPath:i,parent:e,container:n,key:s,listKey:t});r.push(a)}if($_e(c,r))return!0}else if($_e(c,[J_e.get({parentPath:i,parent:e,container:e,key:t,listKey:null})]))return!0}return!1}function Y_e(e,t,n,r,i,s,a){return z_e(e,t,n,r,i,s,a)}function G_e(e){const t=this.opts;return this.debug(e),!(!this.node||!Q_e.call(this,t[e]))||!!this.node&&Q_e.call(this,t[this.node.type]?.[e])}function Q_e(e){if(!e)return!1;for(const t of e){if(!t)continue;const e=this.node;if(!e)return!0;const n=t.call(this.state,this,this.state);if(n&&"object"==typeof n&&"function"==typeof n.then)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(n)throw new Error(`Unexpected return value from visitor method ${t}`);if(this.node!==e)return!0;if(this._traverseFlags>0)return!0}return!1}function Z_e(e,t){e.context!==t&&(e.context=t,e.state=t.state,e.opts=t.opts)}function eOe(){let e,t=this.parentPath;for((("key"===this.key||"decorators"===this.listKey)&&t.isMethod()||"discriminant"===this.key&&t.isSwitchStatement())&&(t=t.parentPath);t&&!e;)e=t.scope,t=t.parentPath;this.scope=this.getScope(e),this.scope?.init()}function tOe(){if(this.opts?.noScope)return;let e,t=this.parentPath;for((("key"===this.key||"decorators"===this.listKey)&&t.isMethod()||"discriminant"===this.key&&t.isSwitchStatement())&&(t=t.parentPath);t&&!e;){if(t.opts?.noScope)return;e=t.scope,t=t.parentPath}this.scope=this.getScope(e),this.scope?.init()}function nOe(){this.removed||(rOe.call(this),sOe.call(this),iOe.call(this))}function rOe(){this.parentPath&&(this.parent=this.parentPath.node)}function iOe(){if(this.container&&this.node!==this.container[this.key]){if(Array.isArray(this.container)){for(let e=0;e<this.container.length;e++)if(this.container[e]===this.node)return void uOe.call(this,e)}else for(const e of Object.keys(this.container))if(this.container[e]===this.node)return void uOe.call(this,e);this.key=null}}function sOe(){if(!this.parent||!this.inList)return;const e=this.parent[this.listKey];this.container!==e&&(this.container=e||null)}function aOe(){this.contexts.pop(),this.contexts.length>0?this.setContext(this.contexts[this.contexts.length-1]):this.setContext(void 0)}function oOe(e){this.contexts.push(e),this.setContext(e)}function cOe(e,t,n,r){this.listKey=n,this.container=t,this.parentPath=e||this.parentPath,uOe.call(this,r)}function uOe(e){this.key=e,this.node=this.container[this.key],this.type=this.node?.type}function lOe(){let e=this,t=this.contexts;for(;!t.length&&(e=e.parentPath,e);)t=e.contexts;return t}var{VISITOR_KEYS:pOe,removeProperties:dOe,traverseFast:hOe}=K5;function fOe(e,t={},n,r,i,s){if(e){if(!t.noScope&&!n&&"Program"!==e.type&&"File"!==e.type)throw new Error(`You must pass a scope and parentPath unless traversing a Program/File. Instead of that you tried to traverse a ${e.type} node without passing scope and parentPath.`);if(!i&&s)throw new Error("visitSelf can only be used when providing a NodePath.");pOe[e.type]&&(Nke(t),Y_e(e,t,n,r,i,void 0,s))}}fOe.visitors=qke,fOe.verify=Dke,fOe.explode=Nke,fOe.cheap=function(e,t){hOe(e,t)},fOe.node=function(e,t,n,r,i,s){Y_e(e,t,n,r,i,s)},fOe.clearNode=function(e,t){dOe(e,t)},fOe.removeProperties=function(e,t){return hOe(e,fOe.clearNode,t),e},fOe.hasType=function(e,t,n){return!n?.includes(e.type)&&(e.type===t||hOe(e,function(e){return n?.includes(e.type)?hOe.skip:e.type===t?hOe.stop:void 0}))},fOe.cache=Zke,V5.default;const{types:mOe}=V5,{isFunctionExpression:yOe,objectMethod:gOe}=mOe,{assign:xOe}=Object;function TOe(e,t){return e.loc&&t.loc?{start:e.loc.start,end:t.loc.end}:null}const{types:SOe}=V5,{classPrivateMethod:bOe,classMethod:EOe,privateName:POe,identifier:vOe}=SOe,{assign:AOe}=Object;const COe=({type:e})=>"PrivateIdentifier"===e;const{types:wOe}=V5,{identifier:kOe}=wOe;const{types:IOe}=V5,{directive:NOe,directiveLiteral:DOe}=IOe;const{assign:LOe}=Object;var _Oe={convertParenthesizedExpression:({convertParens:e})=>t=>{if(!e)return;const{expression:n}=t.node;n.extra=n.extra||{},n.extra.parenthesized=!0,t.replaceWith(n)}},OOe={convertTSParenthesizedType:({convertParens:e})=>t=>{if(!e)return;const{typeAnnotation:n}=t.node;n.extra=n.extra||{},n.extra.parenthesized=!0,t.replaceWith(n)}},MOe={convertNodeComments:e=>{const{comments:t}=e;if(t){delete e.comments,e.leadingComments=void 0,e.trailingComments=void 0,e.innerComments=void 0;for(const n of t){const t=BOe(n);e[t]||(e[t]=[]),delete n.leading,delete n.trailing,n.type=FOe(n),e[t].push(n)}}},convertProgramComments:e=>{for(const t of e)t.type=FOe(t);return e}};const FOe=({type:e})=>`Comment${e}`;function BOe({trailing:e,leading:t}){return e?"trailingComments":t?"leadingComments":"innerComments"}const{convertProgramComments:jOe}=MOe;var ROe={convertPropertyDefinition:e=>{const{node:t}=e;if("PrivateIdentifier"===t.key.type){const{key:e}=t;return t.type="ClassPrivateProperty",void(t.key=UOe(e))}e.node.type="ClassProperty"},convertTSInterfaceHeritage:e=>{let{expression:t}=e.node;for(;"MemberExpression"===t.type;){const{object:e,property:n}=t;t.type="TSQualifiedName",t.left=e,t.right=n,delete t.object,delete t.property,t=e}},convertPrivateIdentifier:e=>{e.replaceWith(UOe(e.node))},convertTSAbstractMethodDefinition:e=>{const{node:t}=e,{generator:n,async:r,params:i,id:s,returnType:a}=t.value,o={...t,abstract:!0,generator:n,async:r,params:i,id:s,returnType:a,type:"TSDeclareMethod"};delete o.value,e.replaceWith(o)}};const UOe=e=>({type:"PrivateName",id:{...e,type:"Identifier"},loc:e.loc}),{traverse:qOe,types:JOe}=V5,VOe=e=>{for(const t of e){const{computed:e,key:n,method:r,value:i}=t.node;r&&yOe(i)&&(t.replaceWith(gOe("method",n,i.params,i.body,e)),xOe(t.node,{id:null,method:!0,generator:i.generator,loc:TOe(n,i),async:i.async,type:"ObjectMethod"}))}},KOe=e=>{const{node:t}=e,{key:n,kind:r,computed:i,loc:s}=t,{body:a,params:o,expression:c,generator:u}=t.value,l=function({kind:e,key:t,params:n,body:r,computed:i,nodeStatic:s}){if(COe(t)){const s=function(e){return POe(vOe(e.name))}(t);return bOe(e,s,n,r,i)}return EOe(e,t,n,r,i,s)}({kind:r,key:n,params:o,body:a,computed:i,nodeStatic:t.static});e.replaceWith(l),AOe(e.node,{loc:s,expression:c,generator:u})},WOe=e=>{e.node.type="ClassPrivateProperty"},XOe=({node:e})=>{e.name&&(e.id=kOe(e.name),e.id.loc={start:{line:e.loc.start.line,column:e.loc.start.column+1},end:e.loc.end},delete e.name)},$Oe=e=>{const{node:t}=e;if(!t.directives){t.directives=[];for(const n of e.get("body")){if("ExpressionStatement"!==n.type)continue;const e=n.node;if(!("directive"in e))continue;if(!e.directive)continue;const r=DOe(e.directive),i=NOe(r);t.directives.push(i),n.remove()}}},HOe=e=>{const t=e.get("expression"),{expression:n}=e.node;if(t.isCallExpression()){const e=t.get("callee");n.type="OptionalCallExpression",e.isMemberExpression()&&(n.callee.type="OptionalMemberExpression")}else n.type="OptionalMemberExpression";e.replaceWith(n)},zOe=e=>{const{attributes:t=[]}=e.node;e.node.attributes=t},YOe=e=>{const{attributes:t=[]}=e.node;LOe(e.node,{attributes:t})},{convertParenthesizedExpression:GOe}=_Oe,{convertTSParenthesizedType:QOe}=OOe,{convertNodeComments:ZOe}=MOe,eMe=e=>{const{type:t,value:n}=e;"Literal"===t&&(null!==n?(e=>"string"==typeof e)(n)?e.type="StringLiteral":(e=>"number"==typeof e)(n)?e.type="NumericLiteral":(e=>"boolean"==typeof e)(n)?e.type="BooleanLiteral":e.regex&&function(e){e.type="RegExpLiteral";for(const t of Object.keys(e.regex))e[t]=e.regex[t];delete e.regex}(e):e.type="NullLiteral")},tMe=e=>{if("File"===e.type)return e;const{comments:t=[],tokens:n,...r}=e;return{type:"File",program:{...r,directives:[]},comments:jOe(t),tokens:n}},{convertTSInterfaceHeritage:nMe,convertTSAbstractMethodDefinition:rMe,convertPropertyDefinition:iMe,convertPrivateIdentifier:sMe}=ROe,{isObjectExpression:aMe,isExportDeclaration:oMe}=JOe,cMe={convertParens:!0};function uMe(e){const{raw:t}=e;e.raw=t||e.extra?.raw,e.extra=e.extra||{raw:t}}A5.estreeToBabel=(e,t)=>{const n=tMe(e),r={...cMe,...t};return qOe(n,{noScope:!0,ParenthesizedExpression:GOe(r),TSParenthesizedType:QOe(r),enter(e){const{node:t}=e,{type:n}=t;return n.endsWith("Literal")?(eMe(t),uMe(t)):"JSXText"===n?uMe(t):"BlockStatement"===n||"Program"===n?$Oe(e):"Property"===n?function(e){e.type="ObjectProperty"}(t):"MethodDefinition"===n?KOe(e):"FieldDefinition"===n?WOe(e):"PrivateName"===n?XOe(e):"ImportDeclaration"===n?zOe(e):oMe(e)?YOe(e):"ChainExpression"===n?HOe(e):"TSAbstractMethodDefinition"===n?rMe(e):"TSInterfaceHeritage"===n?nMe(e):"PropertyDefinition"===n?iMe(e):"PrivateIdentifier"===n?sMe(e):void 0},exit(e){const{node:t}=e;if(ZOe(t),aMe(t))return VOe(e.get("properties"))}}),n};var lMe={},pMe={exports:{}},dMe=function e(t,n){if(t&&n)return e(t)(n);if("function"!=typeof t)throw new TypeError("need wrapper function");return Object.keys(t).forEach(function(e){r[e]=t[e]}),r;function r(){for(var e=new Array(arguments.length),n=0;n<e.length;n++)e[n]=arguments[n];var r=t.apply(this,e),i=e[e.length-1];return"function"==typeof r&&r!==i&&Object.keys(i).forEach(function(e){r[e]=i[e]}),r}};var hMe=dMe;function fMe(e){var t=function(){return t.called?t.value:(t.called=!0,t.value=e.apply(this,arguments))};return t.called=!1,t}function mMe(e){var t=function(){if(t.called)throw new Error(t.onceError);return t.called=!0,t.value=e.apply(this,arguments)},n=e.name||"Function wrapped with `once`";return t.onceError=n+" shouldn't be called more than once",t.called=!1,t}pMe.exports=hMe(fMe),pMe.exports.strict=hMe(mMe),fMe.proto=fMe(function(){Object.defineProperty(Function.prototype,"once",{value:function(){return fMe(this)},configurable:!0}),Object.defineProperty(Function.prototype,"onceStrict",{value:function(){return mMe(this)},configurable:!0})});var yMe=pMe.exports;const gMe=()=>{};var xMe=t(Object.freeze({__proto__:null,default:gMe}));var TMe,SMe,bMe=Object.freeze({__proto__:null,default:function(e){return class extends(undefined){parseClassElement(e){const t=this._inClassMemberName;this._inClassMemberName=!0;const n=super.parseClassElement.apply(this,arguments);return this._inClassMemberName=t,n}parsePropertyName(e){const t=this.options.ecmaVersion>=8&&this._inClassMemberName&&this.type==this.privateNameToken&&!e.static;return this._inClassMemberName=!1,t?this.parsePrivateClassElementName(e):super.parsePropertyName(e)}}}}),EMe=t(bMe);const PMe=yMe(()=>{const{Parser:e}=xMe,t=(SMe||(SMe=1,TMe=function(e){return e.extend(xMe,xMe,EMe)}),TMe),n=xMe.default;return e.extend(n(),t)});lMe.parse=function(e){const t=PMe(),n={locations:!0,comment:!0,ecmaVersion:2023,sourceType:"module",allowAwaitOutsideFunction:!0,allowReturnOutsideFunction:!0,allowImportExportEverywhere:!0,preserveParens:!0},r=Array.from(t.tokenizer(e,n));return{...t.parse(e,n),tokens:r}};var vMe={},AMe=["importMeta","importAttributes","dynamicImport","bigInt","classProperties","decorators-legacy","decoratorAutoAccessors","destructuringPrivate","exportDefaultFrom","throwExpressions","deferredImportEvaluation",["discardBinding",{syntaxType:"void"}],"sourcePhaseImports",["optionalChainingAssign",{version:"2023-07"}]],CMe={allowReturnOutsideFunction:!0,allowUndeclaredExports:!0,allowImportExportEverywhere:!0};const wMe=yMe,kMe=AMe,IMe=CMe,{assign:NMe}=Object,DMe=e=>!e.indexOf("// @flow"),LMe=wMe(()=>rt);function _Me({isTS:e,isFlow:t,isJSX:n}){const r=[n&&"jsx"];return e||t?r.concat(["typescript"]):r}vMe.parse=function(e,t){const{sourceFileName:n,isTS:r,isJSX:i=!0,isFlow:s=DMe(e),isRecovery:a,printer:o}=t,{parse:c}=LMe(),u={sourceFileName:n,sourceType:"module",...IMe,errorRecovery:a,plugins:(l=[...kMe,..._Me({isTS:r,isFlow:s,isJSX:i})],l.filter(Boolean))};var l;"babel"===o&&NMe(u,{createParenthesizedExpressions:!0,tokens:!0});const p=c(e,u);return p.program.extra.__putout_printer=o,p};var OMe={};const MMe=yMe(()=>xMe);OMe.parse=function(e){const{parse:t}=MMe();return t(e,{loc:!0,tokens:!0,comment:!0,ecmaVersion:2023,sourceType:"module",ecmaFeatures:{jsx:!0}})};var FMe={};const BMe=yMe(()=>xMe);FMe.parse=function(e){const{parse:t}=BMe();return t(e,{loc:!0,tokens:!0,comment:!0,sourceType:"module",jsx:!0})};var jMe={};const RMe=yMe(()=>xMe);jMe.parse=e=>{const{Tenko:t}=RMe(),{ast:n}=t(e,{goalMode:"module",allowGlobalReturn:!0,exposeScopes:!0});return n};var UMe={};const qMe=yMe(()=>xMe);UMe.parse=function(e){return qMe().parse(e,{babel:!0,allowReturnOutsideFunction:!0,flow:"detect",locations:!0,tokens:!0})};const JMe=(e,...t)=>{try{return[null,e(...t)]}catch(e){return[e]}};var VMe=t(Object.freeze({__proto__:null,default:JMe,tryCatch:JMe}));const KMe=VMe;const WMe=lMe,XMe=vMe,$Me=OMe,HMe=FMe,zMe=jMe,YMe=UMe,GMe=(e,t,n,r)=>{const[i,...s]=r,[a,o]=KMe(e,t,i);if(!a)return o;if(function(e,t){for(const n of t)if(e.message.includes(n))return!0;return!1}(a,n))throw a;for(const n of s){const[r,i]=KMe(e,t,n);if(!r)return i}throw a},QMe=["has already been declared"];function ZMe(e,{parser:t,printer:n,isTS:r,isJSX:i,isRecovery:s}){return"babel"===t?XMe.parse(e,{isTS:r,isJSX:i,isRecovery:s,printer:n}):"object"==typeof t?t.parse(e,{isJSX:i,isTS:r}):"espree"===t?$Me.parse(e):"acorn"===t?WMe.parse(e):"esprima"===t?HMe.parse(e):"tenko"===t?zMe.parse(e):"hermes"===t?YMe.parse(e):function(e){throw new Error('Could not dynamically require "'+e+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}(t).parse(e)}var eFe={};const tFe=VMe;eFe.tryThrowWithReason=(e,...t)=>{const[n,r]=tFe(e,...t);if(n)throw n.reason="parse",n;return r};const{estreeToBabel:nFe}=A5,rFe=(e,t,{isTS:n,isJSX:r,printer:i})=>{const s={parser:t,printer:i,isTS:n,isJSX:r},a={...s,isJSX:!1},o={...s,isRecovery:!0};return GMe(ZMe,e,QMe,[s,a,o])},{tryThrowWithReason:iFe}=eFe,{assign:sFe}=Object;var aFe=(e,t)=>{!function(e){if(t=e,"string"!=typeof t)throw Error(`☝️ Looks like type of 'source' is not 'string', but '${typeof e}'`);var t}(e);const{parser:n,printer:r="putout",isTS:i,isJSX:s}=t||{},{parse:a}=oFe({printer:r,parser:n,isTS:i,isJSX:s});return iFe(a,e)};const oFe=({parser:e="babel",isTS:t,isJSX:n,printer:r})=>({parse(i){const s={};"babel"===r&&sFe(s,{convertParens:!1});return nFe(rFe(i,e,{isTS:t,isJSX:n,printer:r}),s)}});const{generate:cFe}=rt;var uFe=(e,t,n)=>cFe(e,{comments:!1,...t},n),lFe={exports:{}};function pFe(e,t){t||(t={});var n,r,i,s=t.vargs||function(e){var t=e+"",n=t.indexOf("...");return n>=0&&(n<t.indexOf(")")||t.indexOf("arguments")>=0)}(e),a=[],o=new Map,c=t.maxAge>0&&t.maxAge<1/0?function(e){return r=setTimeout(function(){n?o.delete(e):a.splice(e,1)},t.maxAge)}:0,u=t.equals?t.equals:0,l=t.maxArgs,p=t.serializer;return 1!==e.length||t.equals||s?i=u?function(){for(var t=l||arguments.length,n=a.length,r=-1;++r<n;)if(a[r].length===t){for(var i=-1;++i<t&&u(arguments[i],a[r][i]););if(i===t)return a[r].val}return a[r]=arguments,!c||c(r),arguments.val=e.apply(this,a[r])}:function(){for(var t=l||arguments.length,n=a.length,r=-1;++r<n;)if(a[r].length===t){for(var i=-1;++i<t&&arguments[i]===a[r][i];);if(i===t)return a[r].val}return a[r]=arguments,!c||c(r),arguments.val=e.apply(this,a[r])}:(i=function(t){var n;return p&&(t=p(t)),o.get(t)||(!c||c(t),o.set(t,n=e.call(this,t)),n)},n=1),i.clear=function(){r&&clearTimeout(r),o.clear(),a=[]},i.keys=function(){return n?[...o.keys()]:a.slice()},i.values=function(){return n?[...o.values()]:a.map(e=>e.val)},i}var dFe=t(Object.freeze({__proto__:null,default:pFe,nanomemoize:pFe}));!function(e){const{types:t,template:n}=rt,{nanomemoize:r}=dFe,i=AMe,s={...CMe,plugins:[...i,"typescript","jsx"]},{isExpressionStatement:a,isTSExternalModuleReference:o}=t,c=e=>a(e)||o(e)?e.expression:e;e.exports=r((e,t)=>{const r=n(e,{...s,...t});return(...e)=>{const t=r(...e);return c(t)}}),e.exports.ast=r((e,t)=>{const r=n.ast(e,{...s,...t});return c(r)}),e.exports.program=r((e,t)=>n.program(e,{...s,...t})),e.exports.program.ast=r((e,t)=>n.program.ast(e,{...s,...t})),e.exports.ast.fresh=(e,t)=>{const r=n.ast(e,{...s,...t});return c(r)},e.exports.extractExpression=c}(lFe);var hFe=lFe.exports;hFe.default;const fFe=v5,mFe=aFe,yFe=uFe,gFe=hFe;tU.print=fFe,tU.parse=mFe,tU.generate=yFe,tU.template=gFe;const xFe=e=>{if(e.indexOf("#"))return[e,""];const t=e.split("\n"),n=t.slice(1).join("\n"),[r]=t;return[n,`${r}\n`]};var TFe=t(Object.freeze({__proto__:null,cutShebang:xFe,mergeShebang:(e,t)=>e?`${e}\n${t}`:t}));function SFe(e,t){for(var n=0,r=e.length-1;r>=0;r--){var i=e[r];"."===i?e.splice(r,1):".."===i?(e.splice(r,1),n++):n&&(e.splice(r,1),n--)}if(t)for(;n--;n)e.unshift("..");return e}var bFe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/,EFe=function(e){return bFe.exec(e).slice(1)};function PFe(){for(var e="",t=!1,n=arguments.length-1;n>=-1&&!t;n--){var r=n>=0?arguments[n]:"/";if("string"!=typeof r)throw new TypeError("Arguments to path.resolve must be strings");r&&(e=r+"/"+e,t="/"===r.charAt(0))}return(t?"/":"")+(e=SFe(LFe(e.split("/"),function(e){return!!e}),!t).join("/"))||"."}function vFe(e){var t=AFe(e),n="/"===_Fe(e,-1);return(e=SFe(LFe(e.split("/"),function(e){return!!e}),!t).join("/"))||t||(e="."),e&&n&&(e+="/"),(t?"/":"")+e}function AFe(e){return"/"===e.charAt(0)}function CFe(){return vFe(LFe(Array.prototype.slice.call(arguments,0),function(e,t){if("string"!=typeof e)throw new TypeError("Arguments to path.join must be strings");return e}).join("/"))}function wFe(e,t){function n(e){for(var t=0;t<e.length&&""===e[t];t++);for(var n=e.length-1;n>=0&&""===e[n];n--);return t>n?[]:e.slice(t,n-t+1)}e=PFe(e).substr(1),t=PFe(t).substr(1);for(var r=n(e.split("/")),i=n(t.split("/")),s=Math.min(r.length,i.length),a=s,o=0;o<s;o++)if(r[o]!==i[o]){a=o;break}var c=[];for(o=a;o<r.length;o++)c.push("..");return(c=c.concat(i.slice(a))).join("/")}function kFe(e){var t=EFe(e),n=t[0],r=t[1];return n||r?(r&&(r=r.substr(0,r.length-1)),n+r):"."}function IFe(e,t){var n=EFe(e)[2];return t&&n.substr(-1*t.length)===t&&(n=n.substr(0,n.length-t.length)),n}function NFe(e){return EFe(e)[3]}var DFe={extname:NFe,basename:IFe,dirname:kFe,sep:"/",delimiter:":",relative:wFe,join:CFe,isAbsolute:AFe,normalize:vFe,resolve:PFe};function LFe(e,t){if(e.filter)return e.filter(t);for(var n=[],r=0;r<e.length;r++)t(e[r],r,e)&&n.push(e[r]);return n}var _Fe="b"==="ab".substr(-1)?function(e,t,n){return e.substr(t,n)}:function(e,t,n){return t<0&&(t=e.length+t),e.substr(t,n)},OFe=Object.freeze({__proto__:null,basename:IFe,default:DFe,delimiter:":",dirname:kFe,extname:NFe,isAbsolute:AFe,join:CFe,normalize:vFe,relative:wFe,resolve:PFe,sep:"/"});var MFe=(async(e,...t)=>{!function(e){if("function"!=typeof e)throw Error("fn should be a function!")}(e);try{return[null,await e(...t)]}catch(e){return[e]}}).default,FFe={};const BFe=e=>()=>e,jFe=()=>{},RFe=(e,t={})=>{const{module:n=FFe}=t,{createRequire:r=BFe(jFe)}=n;return r(e)},UFe=async e=>{const t=await import(e);return t.default||t},qFe=RFe(import.meta.url),{assign:JFe}=Object;async function VFe(e,t){const{simpleImport:n,require:r}=t;let i,s;for(const t of e){if([i,s]=await MFe(n,t),!i)return s;if("ERR_UNSUPPORTED_DIR_IMPORT"===i.code){const e=r.resolve(t);if([i,s]=await MFe(n,e),!i)return s}if("ERR_MODULE_NOT_FOUND"!==i.code)throw JFe(i,{message:`${t}: ${i.message}`}),i}throw JFe(i,{message:i.message.replace(/\simported.*/,"")}),i}const KFe=()=>J.env.PUTOUT_LOAD_DIR;function WFe(e){const t=KFe();if(!t)return[e];const n=CFe(t,e);return[n,`${n}.js`]}const XFe=e=>"string"==typeof e,{isArray:$Fe}=Array,{entries:HFe}=Object,zFe=e=>{const t=[];for(const n of e)if(XFe(n))t.push([n]);else{if($Fe(n)){const[e,r]=n;t.push([e,r]);continue}t.push(...HFe(n))}return t},{isArray:YFe}=Array,GFe=e=>"boolean"==typeof e,QFe=e=>"string"==typeof e,ZFe=e=>"object"==typeof e,{entries:eBe}=Object,{stringify:tBe}=JSON,nBe=e=>Error(`☝️ Rule format not supported ${e}: ${typeof e}`),rBe=e=>Error(`☝️ Looks like you need to change "rules" to "match" for ${tBe(e)}`),iBe=()=>Object.create(null),sBe=(e,t)=>(function(e,t){if(GFe(t))return!0;if(/^(on|off)$/.test(t))return!0;if(ZFe(t))return!0;throw(({rule:e,value:t})=>Error(`☝️ ${e}: state option can be "on" or "off" only, when used as string, received: "${t}"`))({rule:e,value:t})}(e,t),"on"===t||"off"!==t&&t),aBe=e=>{const t=[];!function(e){if(YFe(e))throw Error("☝️Looks like type of 'rules' passed to @putout/engine-loader is 'array', expected: 'object'.")}(e);for(const[n,r]of eBe(e)){if(QFe(r)){t.push({rule:n,state:sBe(n,r),plugin:null,msg:"",options:iBe()});continue}if(GFe(r)){t.push({rule:n,state:r,plugin:null,msg:"",options:iBe()});continue}if(!(YFe(r)&&r.length)){if(ZFe(r))throw rBe(r);throw nBe(r)}t.push(oBe(n,r))}return t};function oBe(e,t){const[n]=t,r=sBe(e,n);if(3===t.length){const[,n,i]=t;return{rule:e,state:r,plugin:null,msg:n,options:i}}const[,i=""]=t;return{rule:e,state:r,plugin:null,msg:"",options:i}}const cBe=e=>e.split("/")[0];const uBe=([e,t],n)=>{for(const r of n){if(r.rule!==e)continue;const{msg:n,options:i}=r;return{rule:e,plugin:t,msg:n,options:i}}return{rule:e,plugin:t,msg:"",options:Object.create(null)}},lBe=e=>e.includes("/")?e.split("/").shift():e,pBe=e=>e.replace("import:@putout/plugin-","").replace("@putout/plugin-",""),dBe=(e,t)=>{for(const{rule:n,state:r}of t)if(n===e)return r;for(const{rule:n,state:r}of t)if(n.includes("/")&&RegExp(`^${n}`).test(e))return r;for(const{rule:n,state:r}of t)if(RegExp(`^${n}/`).test(e))return r;return!0},hBe=e=>{if(!e||"object"!=typeof e)throw Error("options should be an object!")},fBe=e=>{if("string"!=typeof e)throw Error(`☝️ Looks like plugin name type is not 'string', but: '${typeof e}'`)},mBe=e=>{hBe(e);const{pluginNames:t=[],rules:n={}}=e;(({items:e,rules:t})=>{const n=Object.keys(t);for(const t of n){let n=!1,r=!1,i=!1;for(const[s,a={}]of e){const e=pBe(s);if(n=e===t,r=e===lBe(t),i=t.includes(e),n&&a.rules)throw Error(`Rule '${t}' cannot be applied to nested plugin '${s}'`);if(n||r||i)break}if(!n&&!r&&!i)throw Error(`No plugin found for a rule: '${t}'`)}})({rules:n,items:zFe(t)})},yBe=({rules:e,pluginNames:t})=>{const n=(e=>{const t={};for(const[n,r]of eBe(e))n.includes("/")&&sBe(n,r)&&(t[cBe(n)]="on"),t[n]=r;return t})(e),r=(e=>{const t=[];for(const n of e){const{rule:e}=n;e.includes("/")||t.push(n)}return t})(aBe(n));return{items:zFe(t),loadedRules:r,cookedRules:aBe(e)}},gBe=["find","traverse","replace","include","exclude","rules","declare","scan"];var xBe=({plugin:e,rule:t})=>{const n=Object.keys(e);for(const e of gBe)if(n.includes(e))return;throw Error(`☝️ Cannot determine type of plugin '${t}'. Here is list of supported plugins: https://git.io/JqcMn`)};const{isArray:TBe}=Array,SBe=e=>TBe(e)?e:["on",e],bBe=({plugins:e,cookedRules:t})=>{const n=[];for(const[r,i]of e){if(!dBe(r,t))continue;const[e,s]=SBe(i);EBe(r,e,t)&&n.push(uBe([r,s],t))}return n};function EBe(e,t,n){if("on"===t)return!0;for(const{rule:t,state:r}of n)if(t.includes("/")&&RegExp(`^${t}`).test(e))return r;return!1}const PBe=((e,t={})=>{const{simpleImport:n=UFe}=t;return async t=>{if("none"===t)return()=>{};if(t.startsWith("import:")){const e=t.replace("import:","");return await VFe([qFe.resolve(e)],{simpleImport:n,require:qFe})}const r=[`@putout/${e}-${t}`,`putout-${e}-${t}`],i=r.flatMap(WFe),s=Array.from(new Set([...r,...i]));return await VFe(s,{simpleImport:n,require:qFe})}})("plugin"),vBe=async e=>{hBe(e);const{pluginNames:t=[],rules:n={}}=e,{items:r,loadedRules:i,cookedRules:s}=yBe({rules:n,pluginNames:t}),a=await async function({items:e,loadedRules:t}){const n=[],r=[];for(const[i,s]of e){if(!dBe(i,t))continue;fBe(i);const[e]=ABe(i),a=s||PBe(e);r.push(wBe(i)),n.push(a)}const i=await Promise.all(n),s=[];for(const[e,t]of r.entries()){const n=i[e];xBe({plugin:n,rule:t});const{rules:r}=n;r?s.push(...CBe(t,r)):s.push([t,n])}return s}({items:r,loadedRules:i});return bBe({plugins:a,cookedRules:s})},ABe=e=>[e,"putout"];function CBe(e,t){const n=[],r=Object.entries(t);for(const[t,i]of r)n.push([`${e}/${t}`,i]);return n}function wBe(e){if(e.startsWith("import:")){return IFe(e.replace("import:","")).replace("plugin-","")}return e}const{isArray:kBe}=Array,IBe=e=>{hBe(e);const{pluginNames:t=[],rules:n={}}=e,{items:r,loadedRules:i,cookedRules:s}=yBe({rules:n,pluginNames:t}),a=function({items:e,loadedRules:t}){const n=[];for(const[r,i]of e){if(!dBe(r,t))continue;fBe(r);const e=DBe(r),[s,a]=NBe(r),o=LBe(i)||OBe({name:s,namespace:a});xBe({plugin:o,rule:r});const{rules:c}=o;c?n.push(..._Be(e,c)):n.push([e,o])}return n}({items:r,loadedRules:i});return bBe({plugins:a,cookedRules:s})},NBe=e=>[e,"putout"],DBe=e=>e.replace("import:@putout/plugin-","").replace("@putout/plugin-",""),LBe=e=>kBe(e)?e[1]:e;function _Be(e,t){const n=[],r=Object.entries(t);for(const[t,i]of r)n.push([`${e}/${t}`,i]);return n}function OBe({name:e,namespace:t}){const n=RFe(import.meta.url),{loadPlugin:r}=n("../load/load.js");return r({name:e,namespace:t})}var MBe={},FBe={};function BBe(e,t){let n=0,r=0,i=-1,s=0;for(;n<e.length;)if(r<t.length&&(t[r]===e[n]||"*"===t[r]))"*"===t[r]?(i=r,s=n,r++):(n++,r++);else{if(-1===i)return!1;r=i+1,s++,n=s}for(;r<t.length&&"*"===t[r];)r++;return r===t.length}let jBe="";function RBe(e,t){let n,r,i,s;const a=(...e)=>{if(!a.enabled)return;const r=Date.now(),i=r-(n||r);var s;n=r,e[0]=(s=e[0])instanceof Error?s.stack||s.message:s,"string"!=typeof e[0]&&e.unshift("%O");let o=0;e[0]=e[0].replace(/%([a-z%])/gi,(n,r)=>{if("%%"===n)return"%";o++;const i=t.formatters[r];if("function"==typeof i){const t=e[o];n=i.call(a,t),e.splice(o,1),o--}return n}),t.formatArgs.call(a,i,e),a.log(...e)};return a.extend=function(e,t=":"){return RBe(this.namespace+t+e,{useColors:this.useColors,color:this.color,formatArgs:this.formatArgs,formatters:this.formatters,inspectOpts:this.inspectOpts,log:this.log,humanize:this.humanize})},Object.assign(a,t),a.namespace=e,Object.defineProperty(a,"enabled",{enumerable:!0,configurable:!1,get:()=>null!=r?r:(i!==jBe&&(i=jBe,s=VBe(e)),s),set:e=>{r=e}}),a}let UBe=[],qBe=[];function JBe(e){jBe=e,UBe=[],qBe=[];const t=jBe.trim().replace(/\s+/g,",").split(",").filter(Boolean);for(const e of t)"-"===e[0]?qBe.push(e.slice(1)):UBe.push(e)}function VBe(e){for(const t of qBe)if(BBe(e,t))return!1;for(const t of UBe)if(BBe(e,t))return!0;return!1}const KBe=["#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"];const WBe=console.debug||console.log||(()=>{}),XBe=function(){try{return localStorage}catch(e){}}(),$Be={useColors:!0,formatArgs:function(e,t){const{useColors:n}=this;if(t[0]=`${(n?"%c":"")+this.namespace+(n?" %c":" ")+t[0]+(n?"%c ":" ")}+${this.humanize(e)}`,!n)return;const r=`color: ${this.color}`;t.splice(1,0,r,"color: inherit");let i=0,s=0;t[0].replace(/%[a-z%]/gi,e=>{"%%"!==e&&(i++,"%c"===e&&(s=i))}),t.splice(s,0,r)},formatters:{j(e){try{return JSON.stringify(e)}catch(e){return`[UnexpectedJSONParseError]: ${e.message}`}}},inspectOpts:{},humanize:function(e){return e>=1e3?`${(e/1e3).toFixed(1)}s`:`${e}ms`},log:WBe};JBe(function(){let e;try{e=XBe.getItem("debug")||XBe.getItem("DEBUG")}catch(e){}return!e&&void 0!==J&&"env"in J&&(e=J.env.DEBUG),e||""}());var HBe=Object.freeze({__proto__:null,createDebug:function(e,t){var n;const r=null!==(n=t&&t.color)&&void 0!==n?n:function(e,t){let n=0;for(let e=0;e<t.length;e++)n=(n<<5)-n+t.charCodeAt(e),n|=0;return e[Math.abs(n)%e.length]}(KBe,e);return RBe(e,Object.assign($Be,{color:r},t))},disable:function(){const e=[...UBe,...qBe.map(e=>`-${e}`)].join(",");return JBe(""),e},enable:function(e){!function(e){try{e?XBe.setItem("debug",e):XBe.removeItem("debug")}catch(e){}}(e),JBe(e)},enabled:VBe,namespaces:function(){return jBe}}),zBe=t(HBe);const{createDebug:YBe}=zBe;FBe.createDebug=e=>{const t=YBe(e,{useColors:!0});return new Proxy(t,{apply:(t,n,r)=>(globalThis.__putout_debug?.(e,...r),t(...r)),get:(e,t)=>!!globalThis.__putout_debug?.[t]||e[t]})};var GBe=(e,...t)=>{try{return[null,e(...t)]}catch(e){return[e]}};const QBe=GBe,{createDebug:ZBe}=FBe,{stringify:eje}=JSON,tje=ZBe("putout:runner:fix");var nje=(e,t,{path:n,pathOptions:r,rule:i,position:s,options:a})=>{e&&(tje.enabled&&tje(`${i}:`,s,(e=>e.path||e)(n).toString()),function(e,t){if(n=t,"function"!=typeof n)throw Error(`☝️ Looks like '${e}' is not a 'function' but '${typeof t}' with value: '${eje(t)}'. More on writing 🐊Putout Plugins: https://git.io/JqcMn`);var n}("fix",t),((e,{path:t,pathOptions:n,position:r,options:i})=>{const[s]=QBe(e,...(({path:e,pathOptions:t,options:n})=>t?[e,t,{options:n}]:[e,{options:n}])({path:t,pathOptions:n,options:i})),{scope:a}=t.path||t;if(!s&&a&&a.getProgramParent().crawl(),s)throw s.loc=s.loc||r,s.reason="fix",s})(t,{path:n,pathOptions:r,position:s,options:a}))};var rje={};const ije=e=>e.path||e[0]||e;rje.getPath=ije,rje.getPosition=(e,t)=>{const n=ije(e);!function(e){if(!e.node)throw Error("☝️ Looks like 'push' called without a 'path' argument.")}(n);const{node:r}=n,{loc:i}=r;if(!i)return{line:0,column:0};const{line:s,column:a}=r.loc.start;return{line:t?s+1:s,column:a}};const{isArray:sje}=Array;var aje=e=>e?(e=>sje(e)?e:[e])(e):[],oje={};const{stringify:cje}=JSON;oje.validate=(e,t)=>{if("function"!=typeof t)throw Error(`☝️ Looks like '${e}' is not a 'function' but '${typeof t}' with value: '${cje(t)}'. More on using Includer: https://git.io/JqcMn`)};var uje={};const{values:lje,entries:pje,assign:dje}=Object,hje=e=>Array.from(e),fje=e=>e.node,mje=e=>hje(e).filter(fje),yje=e=>e;function gje({set:e,get:t}){return(n={})=>{const r=(...r)=>{if(!r.length)return t(n);const[i,s]=r;if(1===r.length)return n[i];e(n,i,s)};return r.clear=()=>{n={}},r.entries=()=>pje(n),r}}function xje(e=yje){return(t=new Set)=>{const n=(...n)=>{if(!n.length)return e(hje(t));const[r]=n;t.add(r)};return n.clear=()=>{const n=t;return t=new Set,e(hje(n))},n}}uje.listStore=xje(),uje.pathStore=xje(mje),uje.mapStore=gje({get:e=>lje(e),set(e,t,n){e[t]=n}}),uje.upStore=gje({get:e=>lje(e),set(e,t,n){e[t]=e[t]||{},dje(e[t],n)}}),uje.upListStore=gje({get:e=>lje(e).map(mje),set(e,t,n){e[t]=e[t]||new Set,e[t].add(n)}});const{traverse:Tje}=rt,{generate:Sje}=tU,bje=nje,{getPosition:Eje}=rje,Pje=aje,{validate:vje}=oje,{listStore:Aje,mapStore:Cje,upStore:wje,upListStore:kje,pathStore:Ije}=uje,{merge:Nje}=Tje.visitors,{assign:Dje}=Object,Lje=(e,t,n)=>{const r=[];return t[e]&&(vje(e,t[e]),r.push(...Pje(t[e]()))),n[e]&&r.push(...Pje(n[e])),r};var _je=(e,{fix:t,shebang:n,template:r})=>{const i=[],s={};for(const{rule:a,plugin:o,msg:c,options:u}of e){const{push:e,pull:l,store:p,upstore:d,listStore:h,pathStore:f,uplist:m}=Oje(o,{fix:t,rule:a,shebang:n,msg:c,options:u});s[a]=l;const y=o.traverse({push:e,store:p,listStore:h,pathStore:f,upstore:d,uplist:m,generate:Sje,options:u});if(!y)throw Error(`☝️ Visitors cannot be empty in "${a}"`);Dje(u,{include:Lje("include",o,u),exclude:Lje("exclude",o,u)}),i.push(...r({rule:a,visitor:y,options:u}))}return{entries:Object.entries(s),visitor:Nje(i)}};function Oje(e,{fix:t,rule:n,shebang:r,msg:i,options:s}){const a=Cje(),o=Aje(),c=wje(),u=Aje(),l=kje(),p=Ije();return{push:(a,o)=>{const c=Eje(a,r),l=i||e.report(a,o);u({message:l,position:c}),bje(t,e.fix,{path:a,pathOptions:o,rule:n,position:c,options:s})},pull:()=>(a.clear(),o.clear(),c.clear(),l.clear(),p.clear(),u.clear()),store:a,listStore:o,upstore:c,uplist:l,pathStore:p}}const{traverse:Mje,types:Fje}=rt,{generate:Bje}=tU,{merge:jje}=Mje.visitors;var Rje=function({rule:e,find:t,ast:n,options:r,template:i,traverse:s=Mje}){const a=[],o=t(n,{traverse:Uje({rule:e,options:r,template:i,traverse:s}),generate:Bje,types:Fje,push:e=>{a.push(e)},options:r});return[...a,...o||[]]};const Uje=({rule:e,options:t,template:n,traverse:r})=>(i,s)=>{const a=jje(n({rule:e,visitor:s,options:t}));return r(i,a)};var qje={exports:{}},Jje={},Vje={};const Kje=e=>void 0===e;const Wje=(e,t=Number(e))=>(e=>!Number.isNaN(e)&&"number"==typeof e)(t),Xje=e=>/__proto__|prototype/.test(e);var $je={};const Hje=/\.body\.0\.expression$/,zje=/\.body\.0\.key$/,Yje=/\.body\.0$/;$je.prepareBodyWay=e=>e.replace(Hje,"").replace(zje,"").replace(Yje,"");var Gje={};const{template:Qje}=tU,{types:Zje}=rt,{isBlockStatement:eRe,isTSModuleBlock:tRe,isBooleanLiteral:nRe,isIdentifier:rRe,isLiteral:iRe,isTemplateElement:sRe,isFunction:aRe,isImportDefaultSpecifier:oRe,isExportSpecifier:cRe,isRegExpLiteral:uRe,isJSXText:lRe,isJSXIdentifier:pRe,isJSXAttribute:dRe,isTSTypeReference:hRe,isTSTypeParameterDeclaration:fRe}=Zje,mRe="__object",yRe="__array",gRe="__args",xRe="__type_params",TRe="__imports",SRe="__exports",bRe="__body",ERe="__jsx_children",PRe="__jsx_attributes",vRe="__",ARe="__identifier",CRe="__bool",wRe=/^__[a-z]$/,kRe=/__args__[a-z]$/,IRe=/^__identifier__[a-z]$/,NRe=/^__bool__[a-z]$/,DRe=[mRe,yRe,gRe,xRe,CRe,ERe,PRe,TRe,SRe,bRe,vRe,ARe,wRe,kRe,IRe,NRe];function LRe(e,t){return"string"==typeof t?e===t:t.test(e)}Gje.isTemplate=e=>/[(;={.\s]/.test(e)||!/^[A-Z]/.test(e),Gje.is=(e,t=DRe)=>{for(const n of t)if(LRe(e,n))return!0;return!1},Gje.isNameStr=e=>wRe.test(e),Gje.isImportsStr=e=>e===TRe,Gje.isExportsStr=e=>e===SRe,Gje.isArgsStr=e=>e===gRe||kRe.test(e),Gje.isTypeParamsStr=e=>e===xRe,Gje.isJSXChildrenStr=e=>e===ERe,Gje.isJSXAttributesStr=e=>e===PRe,Gje.isObjectStr=e=>e===mRe,Gje.isArrayStr=e=>e===yRe,Gje.isAnyStr=e=>e===vRe,Gje.isBodyStr=e=>e===bRe;const _Re=e=>rRe(e,{name:bRe}),ORe=(e,t)=>e.type===t.type,{isArray:MRe}=Array;Gje.isId=(e,t)=>!!rRe(t,{name:ARe})&&rRe(e),Gje.isBool=(e,t)=>!!rRe(t,{name:CRe})&&nRe(e),Gje.isEqualType=ORe,Gje.isStr=e=>"string"==typeof e,Gje.isAny=e=>!!rRe(e,{name:vRe})||lRe(e,{value:vRe}),Gje.isAnyLiteral=(e,t)=>!!iRe(t,{value:vRe})&&ORe(e,t),Gje.isArgs=e=>{const t=MRe(e)?e[0]:e;return rRe(t,{name:gRe})};Gje.isEqualTypeParams=(e,t)=>!!e&&(!!(e=>{if(!fRe(e))return!1;const{params:t}=e,{name:n}=t[0];return rRe(n,{name:xRe})})(t)&&ORe(e,t)),Gje.isLinkedArgs=e=>{const t=MRe(e)?e[0]:e;return rRe(t)&&kRe.test(t.name)},Gje.isJSXChildren=e=>{const t=MRe(e)?e[0]:e;return lRe(t,{value:ERe})},Gje.isJSXAttributes=e=>{const t=MRe(e)?e[0]:e;return!!dRe(t)&&pRe(t.name,{name:PRe})},Gje.isLinkedId=(e,t)=>!(!rRe(t)||!IRe.test(t.name))&&rRe(e),Gje.isLinkedBool=(e,t)=>!(!rRe(t)||!NRe.test(t.name))&&nRe(e),Gje.isLinkedRegExp=(e,t)=>!(!uRe(t)||!wRe.test(t.pattern))&&uRe(e),Gje.isPath=e=>Boolean(e.node),Gje.isArray=MRe,Gje.isObject=e=>!!e&&(!MRe(e)&&"object"==typeof e),Gje.isArrays=(e,t)=>!(!MRe(e)||!MRe(t))&&e.length===t.length,Gje.isImports=e=>{const t=MRe(e)?e[0]:e;return!!oRe(t)&&rRe(t.local,{name:TRe})},Gje.isExports=e=>{const t=MRe(e)?e[0]:e;return!!cRe(t)&&rRe(t.local,{name:SRe})};const FRe="ObjectPattern|ObjectExpression",BRe="ArrayPattern|ArrayExpression";Gje.isEqualAnyArray=(e,t)=>{if(!rRe(t,{name:yRe}))return!1;const{type:n}=e;return BRe.includes(n)},Gje.isEqualAnyObject=(e,t)=>{if(!rRe(t,{name:mRe}))return!1;const{type:n}=e;return FRe.includes(n)},Gje.isEqualBody=(e,t)=>!!e&&(!!_Re(t)&&"BlockStatement"===e.type),Gje.isEqualFunctionDeclarationBody=(e,t)=>{if(!e)return!1;if(!(_Re(n=t)||(eRe(n)||tRe(n))&&_Re(n.body[0].expression)))return!1;var n;const{type:r}=e;return/BlockStatement|TSModuleBlock/.test(r)},Gje.isEqualNop=(e,t)=>{if(!rRe(t,{name:"__nop"}))return!1;if(!aRe(e))return!1;const{body:n}=e;return!!eRe(n)&&!n.body.length},Gje.isLinkedNode=e=>!(!rRe(e)||!wRe.test(e.name))||(!(!iRe(e)||!wRe.test(e.value))||(!(!lRe(e)||!wRe.test(e.value))||(!(!pRe(e)||!wRe.test(e.name))||(!(!sRe(e)||!wRe.test(e.value.raw))||hRe(e)&&wRe.test(e.typeName.name))))),Gje.parseTemplate=(e,{program:t}={})=>{const n=(t?Qje.program.ast:Qje.ast)(e)||Qje.ast.fresh(e);if(e===mRe)return[n,FRe];if(e===yRe)return[n,BRe];const{type:r}=n;return[n,r]},Gje.isInsideTypeReference=e=>e.isIdentifier()&&e.parentPath?.isTSTypeReference(),Gje.isInsideTypeParameter=e=>e.isIdentifier()&&e.parentPath?.isTSTypeParameter();const jRe=(e,t,n)=>{if(n||(n=t,t="."),function(e,t){if(n=e,"string"!=typeof n)throw Error("selector should be string!");var n;if("object"!=typeof t)throw Error("obj should be object!")}(e,n),!e)return n;if(r=n,!Object.keys(r).length)return;var r;const i=e.split(t).filter(Boolean);for(const[e,r]of i.entries()){const s=i.slice(e).join(t);if(!Kje(n[s])){n=n[s];break}if(!n[r]){n=void 0;break}n=n[r]}return n},RRe=(e,t,n,r)=>{r||(r=n||{},n=".");const i=r;!function(e){if(t=e,"string"!=typeof t)throw Error("selector should be string!");var t}(e);const s=e.split(n).filter(Boolean),a=s.length-1;for(const[e,n]of s.entries())if(!Xje(n)){if(e===a)r[n]=t;else if(!r[n]){const t=s[e+1];r[n]=Wje(t)?[]:{}}r=r[n]}return i},{traverse:URe,types:qRe}=rt,{template:JRe}=tU,{replaceWith:VRe,extract:KRe}=YW,{prepareBodyWay:WRe}=$je,{is:XRe,isArgsStr:$Re,isTypeParamsStr:HRe,isJSXChildrenStr:zRe,isJSXAttributesStr:YRe,isImportsStr:GRe,isExportsStr:QRe,isInsideTypeReference:ZRe,isInsideTypeParameter:eUe,isBodyStr:tUe}=Gje,{isIdentifier:nUe,isStatement:rUe,isJSXElement:iUe,isJSXAttribute:sUe,isStringLiteral:aUe,isTemplateLiteral:oUe,templateElement:cUe}=qRe,{extractExpression:uUe}=JRe,{entries:lUe}=Object,{stringify:pUe}=JSON;function dUe(e){if(nUe(e)&&XRe(e.name))return{[e.name]:[""]};const t={};return URe(e,{noScope:!0,"Identifier|JSXIdentifier|BooleanLiteral|StringLiteral|TemplateElement|RegExpLiteral|JSXText|JSXAttribute|TSTypeReference|TSTypeParameter"(e){if(ZRe(e))return;if(eUe(e))return;const{node:n}=e;if(sUe(e.parentPath)&&e.parentPath.node.name===n)return;const r=[],i=KRe(n);XRe(i)&&(e.find(({key:e,listKey:t})=>{"number"!=typeof e?r.unshift(e):r.unshift(`${t}.${e}`)}),t[i]=t[i]||[],t[i].push(r.join(".")))}}),t}function hUe({waysFrom:e,node:t}){const n={};for(const[r,i]of lUe(e))for(let e of i)GRe(r)||QRe(r)?e=e.replace(/\.0.local$/,""):($Re(r)||zRe(r)||YRe(r)||HRe(r))&&(e=e.replace(/\.0$/,"")),iUe(t)||(e=e.replace(/\.expression$/,"")),tUe(r)&&(e=WRe(e)),n[r]=n[r]||uUe(jRe(e,t));return n}Vje.getTemplateValues=(e,t)=>{if("string"!=typeof t)throw Error(`☝️ Looks like argument 'template' of 'getTemplateValues(node, template)': is not a string, but '${pUe(t)}'`);e=(e=>e.node||e)(e);return hUe({node:e,waysFrom:dUe(JRe.ast(t))})},Vje.findVarsWays=dUe,Vje.getValues=hUe;const fUe=e=>e.replace("`","\\`");Vje.setValues=function({waysTo:e,values:t,path:n}){const r=uUe(n.node);for(const[i,s]of lUe(e))for(let e of s){if(!e){VRe(n,t[i]);continue}if((GRe(i)||QRe(i))&&(e=e.replace(/\.0.local$/,"")),($Re(i)||zRe(i)||YRe(i))&&(e=e.replace(/\.0$/,"")),rUe(t[i])&&(e=e.replace(/\.expression$/,"")),aUe(t[i])&&oUe(r)){const{value:n}=t[i],s=cUe({raw:fUe(n)});RRe(e,s,r);continue}tUe(i)&&(e=WRe(e));const{extra:s}=jRe(e,r);if(s){const e=t[i].extra;t[i].extra={...s,...e}}RRe(e,t[i],r)}};var mUe={},yUe={exports:{}},gUe={};const{createDebug:xUe}=zBe;gUe.createDebug=t=>{const n=xUe(t);return new Proxy(n,{apply:(n,r,i)=>(e.__putout_debug?.(t,...i),n(...i)),get:(t,n)=>!!e.__putout_debug?.[n]||t[n]})};const{createDebug:TUe}=gUe,SUe=TUe("putout:compare"),{isArray:bUe}=Array;function EUe(e){if(bUe(e)&&e[0]){const[{type:t,name:n,value:r}]=e;return`${t}: ["${n||r}"]`}if((e=>e&&"object"==typeof e)(e)){const{type:t,name:n,value:r}=e;return`${t}: "${n||r}"`}return`${typeof e}: "${e}"`}yUe.exports=(e,t)=>{if(!SUe.enabled)return;const n=EUe(e),r=EUe(t);return SUe(`${n} = ${r}`)},yUe.exports._parseValue=EUe;var PUe=yUe.exports,vUe={exports:{}};const{types:AUe}=rt,{isIdentifier:CUe,isLiteral:wUe,isStringLiteral:kUe,isTemplateElement:IUe,isTSTypeReference:NUe,isJSXText:DUe,isJSXIdentifier:LUe}=AUe,_Ue=e=>{e=e[0]||e;const{name:t,value:n}=e;if(CUe(e)||LUe(e))return t;if(wUe(e))return n;if(IUe(e))return e.value.cooked;if(NUe(e))return e.typeName.name;if(DUe(e))return e.value;throw Error(`☝️ Looks like type of node '${e.type}' not supported by 'compare -> link -> parseName()'`)};vUe.exports=({add:e,value:t,nodeValue:n,templateStore:r})=>{const i=_Ue(t);return!(kUe(t)&&!kUe(n))&&(r[i]?(CUe(r[i])&&NUe(n)||e(r[i],n,{plain:!0}),!0):(r[i]=n,!0))},vUe.exports._parseName=_Ue;var OUe=vUe.exports,MUe={},FUe={};const{is:BUe}=Gje;FUe.comparePrimitives=(e,t)=>{return!(n=t,"object"==typeof n&&null!==n||BUe(t)||t!==e);var n};const{types:jUe}=rt,{isObject:RUe,isArrays:UUe}=Gje,{comparePrimitives:qUe}=FUe,{isIdentifier:JUe}=jUe;MUe.comparePlain=(e,t,{add:n})=>!e&&e===t||!!e&&(!!qUe(e,t)||(!(!JUe(e)||e.name!==t.name)||(RUe(t)&&!Array.isArray(t)||!!UUe(e,t))&&n(e,t,{plain:!0})));const{types:VUe}=rt,KUe=PUe,WUe=OUe,{isId:XUe,isBool:$Ue,isObject:HUe,isArrays:zUe,isAny:YUe,isAnyLiteral:GUe,isArgs:QUe,isEqualTypeParams:ZUe,isJSXChildren:eqe,isJSXAttributes:tqe,isLinkedArgs:nqe,isLinkedId:rqe,isLinkedBool:iqe,isImports:sqe,isExports:aqe,isEqualAnyObject:oqe,isEqualAnyArray:cqe,isEqualBody:uqe,isEqualFunctionDeclarationBody:lqe,isEqualNop:pqe,isLinkedNode:dqe,isLinkedRegExp:hqe}=Gje,{comparePlain:fqe}=MUe,{comparePrimitives:mqe}=FUe,{isClassBody:yqe,isBlock:gqe,isJSXText:xqe,isTemplateElement:Tqe}=VUe,Sqe=e=>(t,n)=>e(n),bqe=[mqe,function(e,t){if(!Tqe(e)||!Tqe(t))return!1;const n=e.value.raw===t.value.raw,r=e.value.cooked===t.value.cooked,i=e.tail===t.tail;return n&&r&&i},function(e,t){return!(!xqe(e)||!xqe(t))&&(/^\s+$/.test(t.value)&&/^\s+$/.test(e.value))},function(e,t){return"__"===t},Sqe(yqe),Sqe(e=>gqe(e)&&!e.body.length),Sqe(YUe),XUe,$Ue,cqe,oqe,uqe,lqe,pqe,ZUe,hqe,function(e,t,{add:n,templateStore:r}){const i=e&&(dqe(t)||nqe(t)||rqe(e,t)||iqe(e,t));return!!i&&WUe({add:n,value:t,nodeValue:e,templateStore:r})},GUe,Sqe(sqe),Sqe(aqe),Sqe(QUe),Sqe(eqe),Sqe(tqe),function(e,t,{add:n}){const r=HUe(t);r&&n(e,t);return r},function(e,t,{add:n}){const r=zUe(e,t);r&&n(e,t);return r}];mUe.runComparators=(e,t,{add:n,templateStore:r,plain:i})=>{let s=-1;const a=bqe.length;if(KUe(t,e),i)return fqe(e,t,{add:n});for(;++s<a;){if((0,bqe[s])(e,t,{add:n,templateStore:r}))return!0}return!1};var Eqe={};const{types:Pqe}=rt,{isEqualBody:vqe,isEqualAnyObject:Aqe,isEqualAnyArray:Cqe,isLinkedNode:wqe,isLinkedId:kqe,isLinkedRegExp:Iqe,isEqualNop:Nqe}=Gje,{isIdentifier:Dqe,isStringLiteral:Lqe}=Pqe,_qe=[Aqe,Cqe,Nqe,function(e,t){return Dqe(e)&&wqe(t)},function(e,t){return Lqe(e)&&wqe(t)},kqe,Iqe,vqe];Eqe.runTopLevelComparators=(e,t)=>{let n=-1;const r=_qe.length;for(;++n<r;){if((0,_qe[n])(e,t))return!0}return!1};const{template:Oqe}=tU,{findVarsWays:Mqe,getValues:Fqe,setValues:Bqe,getTemplateValues:jqe}=Vje,{runComparators:Rqe}=mUe,{runTopLevelComparators:Uqe}=Eqe,{isStr:qqe,isId:Jqe,isPath:Vqe,isEqualType:Kqe,isTemplate:Wqe,parseTemplate:Xqe}=Gje,{extractExpression:$qe}=Oqe,{keys:Hqe}=Object,{isArray:zqe}=Array,Yqe=()=>{},Gqe=e=>zqe(e)&&!e.length,Qqe=e=>zqe(e)?e:[e];function Zqe(e){return qqe(e)?Oqe.ast(e):e.node?e.node:e}function eJe(e,t,n={},r=Yqe){const{findUp:i=!0}=n;if(!e&&!t)return!0;if(!e)return!1;if(!t)return!1;const s=$qe(Zqe(e)),a=$qe(Zqe(t));if(r(s,a),Jqe(s,a))return!0;if(s.type===t)return!0;if(Uqe(s,a))return!0;if(i&&Vqe(e)&&!Kqe(s,a)){const{type:t}=a,n=((e,t)=>{const n=e.findParent((e=>t=>t.type===e)(t));return n?n.node:null})(e,t);return nJe(n,a)}return nJe(s,a)}Jje.compare=eJe,Jje.parseTemplate=Xqe,Jje.isTemplate=Wqe,Jje.findVarsWays=Mqe,Jje.getValues=Fqe,Jje.setValues=Bqe,Jje.getTemplateValues=jqe,Jje.compareAny=(e,t,n)=>{t=Qqe(t);for(const r of t)if(eJe(e,r,n))return!0;return!1},Jje.compareAll=(e,t,n)=>{t=Qqe(t);for(const r of t)if(!eJe(e,r,n))return!1;return!0};const tJe=["loc","start","end","directives","extra","raw","comments","leadingComments","innerComments","parent","phase","range","trailingComments","importKind","exportKind","__putout_runner_replace"];function nJe(e,t){let n=[e,t];const r=[n],i={},s=(e=>(t,n,r={})=>e.push([t,n,r]))(r);for(;n=r.pop();){const[e,t,{plain:r}={}]=n;if(!e||Gqe(e)&&!Gqe(t))return!1;for(const n of Hqe(t)){if(tJe.includes(n))continue;const a=$qe(e[n]),o=$qe(t[n]);if(!Rqe(a,o,{add:s,templateStore:i,plain:r}))return!1}}return!0}const rJe=GBe,{compareAny:iJe,compareAll:sJe,parseTemplate:aJe,isTemplate:oJe}=Jje,cJe=aje,{createDebug:uJe}=FBe,lJe=uJe("putout:runner:template"),{entries:pJe}=Object,dJe=e=>"function"==typeof e,hJe=(e,t)=>{lJe.enabled&&lJe(e,t.toString())},{stringify:fJe}=JSON;qje.exports._log=hJe;const mJe=({rule:e,tmpl:t,fn:n,nodesExclude:r})=>{if(!dJe(n)||!r.length)return{[t]:n};const i=yJe({rule:e,fn:n,nodesExclude:r,nodesInclude:[]});return{[t]:i}};qje.exports=({rule:e,visitor:t,options:n})=>{const r=[],i=cJe(n.exclude),s=cJe(n.include);for(const[n,a]of pJe(t)){if(!n)continue;if(!oJe(n)){r.push(mJe({rule:e,tmpl:n,fn:a,nodesExclude:i}));continue}const[t,o]=aJe(n),c=yJe({rule:e,fn:a,nodesExclude:i,nodesInclude:[t,...s]});r.push({[o]:c})}return r},qje.exports._log=hJe;const yJe=({rule:e,nodesInclude:t,nodesExclude:n,fn:r})=>i=>{if(hJe(e,i),n.length&&iJe(i,n))return;if(t.length&&!sJe(i,t))return;if(!dJe(r))throw Error(`☝️ Looks like provided visitor is not a function: ${fJe(r)}. More on using Traverser: https://git.io/JqcMn`);const[s]=rJe(r,i);if(s)throw s.rule=e,s};var gJe,xJe=qje.exports,TJe={};function SJe(){}function bJe(){bJe.init.call(this)}function EJe(e){return void 0===e._maxListeners?bJe.defaultMaxListeners:e._maxListeners}function PJe(e,t,n,r){var i,s,a;if("function"!=typeof n)throw new TypeError('"listener" argument must be a function');if((s=e._events)?(s.newListener&&(e.emit("newListener",t,n.listener?n.listener:n),s=e._events),a=s[t]):(s=e._events=new SJe,e._eventsCount=0),a){if("function"==typeof a?a=s[t]=r?[n,a]:[a,n]:r?a.unshift(n):a.push(n),!a.warned&&(i=EJe(e))&&i>0&&a.length>i){a.warned=!0;var o=new Error("Possible EventEmitter memory leak detected. "+a.length+" "+t+" listeners added. Use emitter.setMaxListeners() to increase limit");o.name="MaxListenersExceededWarning",o.emitter=e,o.type=t,o.count=a.length,function(e){"function"==typeof console.warn?console.warn(e):console.log(e)}(o)}}else a=s[t]=n,++e._eventsCount;return e}function vJe(e,t,n){var r=!1;function i(){e.removeListener(t,i),r||(r=!0,n.apply(e,arguments))}return i.listener=n,i}function AJe(e){var t=this._events;if(t){var n=t[e];if("function"==typeof n)return 1;if(n)return n.length}return 0}function CJe(e,t){for(var n=new Array(t);t--;)n[t]=e[t];return n}SJe.prototype=Object.create(null),bJe.EventEmitter=bJe,bJe.usingDomains=!1,bJe.prototype.domain=void 0,bJe.prototype._events=void 0,bJe.prototype._maxListeners=void 0,bJe.defaultMaxListeners=10,bJe.init=function(){this.domain=null,bJe.usingDomains&&(!gJe.active||this instanceof gJe.Domain||(this.domain=gJe.active)),this._events&&this._events!==Object.getPrototypeOf(this)._events||(this._events=new SJe,this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},bJe.prototype.setMaxListeners=function(e){if("number"!=typeof e||e<0||isNaN(e))throw new TypeError('"n" argument must be a positive number');return this._maxListeners=e,this},bJe.prototype.getMaxListeners=function(){return EJe(this)},bJe.prototype.emit=function(e){var t,n,r,i,s,a,o,c="error"===e;if(a=this._events)c=c&&null==a.error;else if(!c)return!1;if(o=this.domain,c){if(t=arguments[1],!o){if(t instanceof Error)throw t;var u=new Error('Uncaught, unspecified "error" event. ('+t+")");throw u.context=t,u}return t||(t=new Error('Uncaught, unspecified "error" event')),t.domainEmitter=this,t.domain=o,t.domainThrown=!1,o.emit("error",t),!1}if(!(n=a[e]))return!1;var l="function"==typeof n;switch(r=arguments.length){case 1:!function(e,t,n){if(t)e.call(n);else for(var r=e.length,i=CJe(e,r),s=0;s<r;++s)i[s].call(n)}(n,l,this);break;case 2:!function(e,t,n,r){if(t)e.call(n,r);else for(var i=e.length,s=CJe(e,i),a=0;a<i;++a)s[a].call(n,r)}(n,l,this,arguments[1]);break;case 3:!function(e,t,n,r,i){if(t)e.call(n,r,i);else for(var s=e.length,a=CJe(e,s),o=0;o<s;++o)a[o].call(n,r,i)}(n,l,this,arguments[1],arguments[2]);break;case 4:!function(e,t,n,r,i,s){if(t)e.call(n,r,i,s);else for(var a=e.length,o=CJe(e,a),c=0;c<a;++c)o[c].call(n,r,i,s)}(n,l,this,arguments[1],arguments[2],arguments[3]);break;default:for(i=new Array(r-1),s=1;s<r;s++)i[s-1]=arguments[s];!function(e,t,n,r){if(t)e.apply(n,r);else for(var i=e.length,s=CJe(e,i),a=0;a<i;++a)s[a].apply(n,r)}(n,l,this,i)}return!0},bJe.prototype.addListener=function(e,t){return PJe(this,e,t,!1)},bJe.prototype.on=bJe.prototype.addListener,bJe.prototype.prependListener=function(e,t){return PJe(this,e,t,!0)},bJe.prototype.once=function(e,t){if("function"!=typeof t)throw new TypeError('"listener" argument must be a function');return this.on(e,vJe(this,e,t)),this},bJe.prototype.prependOnceListener=function(e,t){if("function"!=typeof t)throw new TypeError('"listener" argument must be a function');return this.prependListener(e,vJe(this,e,t)),this},bJe.prototype.removeListener=function(e,t){var n,r,i,s,a;if("function"!=typeof t)throw new TypeError('"listener" argument must be a function');if(!(r=this._events))return this;if(!(n=r[e]))return this;if(n===t||n.listener&&n.listener===t)0===--this._eventsCount?this._events=new SJe:(delete r[e],r.removeListener&&this.emit("removeListener",e,n.listener||t));else if("function"!=typeof n){for(i=-1,s=n.length;s-- >0;)if(n[s]===t||n[s].listener&&n[s].listener===t){a=n[s].listener,i=s;break}if(i<0)return this;if(1===n.length){if(n[0]=void 0,0===--this._eventsCount)return this._events=new SJe,this;delete r[e]}else!function(e,t){for(var n=t,r=n+1,i=e.length;r<i;n+=1,r+=1)e[n]=e[r];e.pop()}(n,i);r.removeListener&&this.emit("removeListener",e,a||t)}return this},bJe.prototype.off=function(e,t){return this.removeListener(e,t)},bJe.prototype.removeAllListeners=function(e){var t,n;if(!(n=this._events))return this;if(!n.removeListener)return 0===arguments.length?(this._events=new SJe,this._eventsCount=0):n[e]&&(0===--this._eventsCount?this._events=new SJe:delete n[e]),this;if(0===arguments.length){for(var r,i=Object.keys(n),s=0;s<i.length;++s)"removeListener"!==(r=i[s])&&this.removeAllListeners(r);return this.removeAllListeners("removeListener"),this._events=new SJe,this._eventsCount=0,this}if("function"==typeof(t=n[e]))this.removeListener(e,t);else if(t)do{this.removeListener(e,t[t.length-1])}while(t[0]);return this},bJe.prototype.listeners=function(e){var t,n=this._events;return n&&(t=n[e])?"function"==typeof t?[t.listener||t]:function(e){for(var t=new Array(e.length),n=0;n<t.length;++n)t[n]=e[n].listener||e[n];return t}(t):[]},bJe.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):AJe.call(e,t)},bJe.prototype.listenerCount=AJe,bJe.prototype.eventNames=function(){return this._eventsCount>0?Reflect.ownKeys(this._events):[]};var wJe=t(Object.freeze({__proto__:null,EventEmitter:bJe,default:bJe}));const{EventEmitter:kJe}=wJe;var IJe=TJe.createProgress=()=>{let e=0,t=0;const n=new kJe;return n.reset=()=>{t=0,e=0},n.file=({i:e,n:t,percent:r,rule:i})=>{n.emit("file",{i:e,n:t,rule:i,percent:r})},n.inc=()=>{++e},n.start=r=>{++t,n.emit("start",{pluginsIndex:t,pluginsCount:e,rule:r})},n.push=r=>{n.emit("push",{pluginsIndex:t,pluginsCount:e,rule:r})},n.end=r=>{n.emit("end",{rule:r,pluginsIndex:t,pluginsCount:e})},n},NJe={};const DJe=GBe;NJe.tryThrowWithReason=(e,...t)=>{const[n,r]=DJe(e,...t);if(n)throw n.reason??="traverse",n;return r};var LJe={};const{createDebug:_Je}=FBe,OJe=aje,{validate:MJe}=oje,FJe=_Je("putout:runner:include"),BJe=()=>[],jJe=()=>!0;LJe.include=({rule:e,plugin:t,msg:n,options:r})=>{const{fix:i,report:s,include:a,exclude:o=BJe,filter:c=jJe}=t;MJe("include",a),MJe("report",s);const u=RJe(a(),c,e);return{rule:e,msg:n,options:{...r,exclude:[...o(),...OJe(r.exclude)]},plugin:{report:s,fix:i,traverse:u}}};const RJe=(e,t,n)=>({push:r,options:i})=>{const s={},a=(({rule:e,filter:t,push:n,options:r})=>i=>{FJe(e),t(i,{options:r})&&n(i)})({rule:n,filter:t,push:r,options:i});for(const t of e)s[t]=a;return s};var UJe={},qJe={exports:{}};const JJe=e=>(...t)=>(...n)=>e(...t,...n);const{entries:VJe}=Object,{isArray:KJe}=Array;function WJe(e,t){const{node:n}=e;let r,i;for([r,i]of VJe(t)){if(KJe(i)){const e=i.indexOf(n);if(e>=0)return`${r}.${e}`;continue}if(i===n)break}return r}const XJe=(e,...t)=>(function(e){if("function"!=typeof e)throw Error("fn should be a function!")}(e),t.length?JJe(e)(...t):JJe(e)),{types:$Je}=rt,HJe=e=>{let t={parentPath:e};const n=[];for(;t=t.parentPath;)n.unshift(WJe(t,t.parent));return n.join(".")},{isProgram:zJe}=$Je,YJe="__putout_runner_replace";function GJe(e,t,n){const r=`${e} -> ${t}`;return{watermark:r,highWatermark:`${HJe(n)}: ${r}`}}function QJe({path:e,program:t}){e.node&&(e.node[YJe]=e.node[YJe]||new Set),t.node[YJe]=t.node[YJe]||new Set}function ZJe({path:e,program:t,watermark:n,highWatermark:r}){QJe({path:e,program:t}),e?.node[YJe].add(n),t.node[YJe].add(r)}function eVe({path:e,program:t,watermark:n,highWatermark:r}){const{node:i}=e,{loc:s}=i;return!!(i?.[YJe].has(n)||e.findParent((e=>t=>t.node?.[YJe]?.has(e))(n))&&!s)||t.node[YJe].has(r)}qJe.exports=(e,t,n)=>{const{watermark:r,highWatermark:i}=GJe(e,t,n),s={watermark:r,highWatermark:i,program:n.findParent(zJe),path:n};return{init:XJe(QJe,s),has:XJe(eVe,s),add:XJe(ZJe,s)}},qJe.exports.REPLACE_WATERMARK=YJe,qJe.exports.create=GJe,qJe.exports.init=QJe,qJe.exports.add=ZJe,qJe.exports.has=eVe;var tVe=qJe.exports;const{template:nVe,print:rVe}=tU,{remove:iVe,replaceWith:sVe}=YW,{types:aVe}=rt,{compare:oVe,findVarsWays:cVe,getValues:uVe,setValues:lVe}=Jje,pVe=aje,dVe=tVe,{createDebug:hVe}=FBe,fVe=hVe("putout:runner:replace"),mVe=(e,t)=>{fVe.enabled&&fVe(`${e} -> ${t}\n`)},{isExpression:yVe,isStatement:gVe,isExpressionStatement:xVe}=aVe,TVe={printer:["putout",{format:{newline:"",indent:"",splitter:" ",endOfFile:""}}]},{keys:SVe,entries:bVe}=Object,{stringify:EVe}=JSON,PVe=()=>[],vVe=()=>({});UJe.replace=({rule:e,plugin:t,msg:n,options:r})=>{const i=(t.match||vVe)({options:r}),{report:s,exclude:a=PVe,replace:o,filter:c=kVe(i)}=t,u=o({options:r}),l=wVe(u,i),p=(d=u,()=>SVe(d));var d;return{rule:e,msg:n,options:{...r,exclude:[...a(),...pVe(r.exclude)]},plugin:{report:s,fix:l,filter:c,include:p}}},UJe.clearWatermark=e=>{delete e.program[dVe.REPLACE_WATERMARK]};const AVe=e=>"function"==typeof e,CVe=(e,t,n)=>{const r=nVe.ast(e),i=dVe(e,t,n);if(i.init(),i.has())return;const s=cVe(r),a=((e,{node:t})=>e.type!==t.type&&xVe(t)?t.expression:t)(r,n),o=uVe({waysFrom:s,node:a}),c=function(e,t,n){const r=AVe(e)?e(t,n):e;if(!r)return null;if(i=r,"object"==typeof i&&r.type)return r.__putout_replace_cooked=!0,r;var i;if(!(e=>"string"==typeof e)(r))throw Error(`☝️ Looks like you passed 'replace' value with a wrong type. Allowed: 'string', 'node' and 'path'. Received: '${typeof r}' with value '${r}'.`);return nVe.ast.fresh(r)}(t,o,n);if(!c)return mVe(e,"''"),iVe(n);!function(e,t,n){if(!yVe(e))return;if(!gVe(t)||xVe(t))return;if(xVe(n)||xVe(n.parentPath))return;throw Error(`☝️ Looks like a try to put Statement in place of Expression, use 'match' to filter out such cases: '${rVe(e,TVe)} -> ${rVe(t,TVe)}'. For code: '${n}'`)}(r,c,n);const u=cVe(c),l=sVe(n,c);c.__putout_replace_cooked||(NVe(u,s),lVe({waysTo:u,values:o,path:l})),i.add(),n.scope.getBlockParent().crawl(),mVe(e,l)},wVe=(e,t)=>n=>{for(const[r,i]of bVe(e)){const e=nVe.ast(r);if(oVe(n,e,{findUp:!1})){const s=t[r];s&&!IVe(n,e,s)||CVe(r,i,n)}}},kVe=e=>t=>{const n=bVe(e);for(const[e,r]of n){const n=nVe.ast(e);if(oVe(t.node,n,{findUp:!1}))return IVe(t,n,r)}return!0};function IVe(e,t,n){const r=cVe(t),{node:i}=e,s=uVe({waysFrom:r,node:i});return function(e){if(!AVe(e))throw Error(`☝️ Looks like 'match' property value is not a 'function', but '${typeof e}' with value '${e}'.`)}(n),n(s,e)}const NVe=(e,t)=>{for(const n of SVe(e))if(!t[n])throw Error(`☝️ Looks like template values not linked: ${EVe(SVe(t))} -> ${EVe(SVe(e))}`)};var DVe={},LVe={},_Ve={};const OVe="__putout_declare_undefined_variables",MVe=e=>e.scope.getProgramParent().path,FVe=(e,t)=>t[e]=t[e]||{};_Ve.checkDeclarationForESLint=(e,t)=>{const n=MVe(t);return FVe(OVe,n),n[OVe][e]},_Ve.addDeclarationForESLint=(e,t)=>{const n=MVe(t);FVe(OVe,n),n[OVe][e]=!0},_Ve.setModuleType=(e,t)=>{const n=MVe(t);return FVe(OVe,n),n[OVe].__putout_module_type=e,e},_Ve.getModuleType=e=>{const t=MVe(e);return FVe(OVe,t),t[OVe].__putout_module_type};const{template:BVe}=tU,{isESM:jVe,insertAfter:RVe}=YW,{compare:UVe}=Jje,{types:qVe}=rt,{addDeclarationForESLint:JVe,checkDeclarationForESLint:VVe,getModuleType:KVe,setModuleType:WVe}=_Ve,{isImportDeclaration:XVe,isVariableDeclaration:$Ve}=qVe,{keys:HVe}=Object,zVe=e=>e.node.source.value.includes("."),YVe=["TSMethodSignature","TSParameterProperty","TSFunctionType","TSDeclareMethod","TSDeclareFunction","TSTypeAliasDeclaration","TSQualifiedName"];LVe.declare=e=>({report:GVe,include:QVe,fix:eKe(e),filter:ZVe(e)});const GVe=e=>{const{name:t}=e.node;return`Declare '${t.split(".").shift()}', it referenced but not defined`},QVe=()=>["ReferencedIdentifier"],ZVe=e=>(t,{options:n})=>{if(YVe.includes(t.parentPath.type))return!1;const{dismiss:r=[],type:i}=n,s={...e,...n.declarations},a=HVe(s),{scope:o,node:c}=t,{name:u}=c;if(!a.includes(u))return!1;if(r.includes(u))return!1;if(o.hasBinding(u)||VVe(u,t))return!1;const l=function(e,t){if(t)return WVe(t,e);const n=KVe(e);return n||WVe((e=>jVe(e)?"esm":"commonjs")(e),e)}(t,i);return tKe(l,s[u])},eKe=e=>(t,{options:n})=>{const r=KVe(t),i={...e,...n.declarations},{name:s}=t.node,a=tKe(r,i[s]),o=t.scope.getProgramParent().path.get("body");!function(e,t){const n=function(e,t){const n=rKe(t),r=(e=>e.filter($Ve).pop())(t);return $Ve(e)&&n||(XVe(e)||nKe(e))&&n?n:$Ve(e)&&r&&!((e,t)=>t.at(-1)===e)(r,t)?r:null}(e,t),[r]=t;if($Ve(e)&&XVe(n)||nKe(n))return RVe(n,e);if($Ve(e))return nKe(r)?r.insertAfter(e):r.insertBefore(e);n?n.isImportDeclaration()&&zVe(n)?n.insertBefore(e):RVe(n,e):r.insertBefore(e)}(BVe.ast.fresh(a),o),JVe(s,t)},tKe=(e,t)=>"string"==typeof t?t:t[e];const nKe=e=>UVe(e,"const __a = require(__b)");const rKe=e=>{const t=[],n=[];for(const r of e)r.isImportDeclaration()&&(zVe(r)?n.push(r):t.push(r));return t.pop()||n.pop()};const{declare:iKe}=LVe,{stringify:sKe}=JSON;DVe.declare=({rule:e,plugin:t,msg:n,options:r})=>(function(e){if(t=e,"function"!=typeof t)throw Error(`☝️ Looks like 'declare' property value is not a 'function', but '${typeof e}' with value '${sKe(e)}'.`);var t}(t.declare),{rule:e,plugin:iKe(t.declare()),msg:n,options:r});var aKe={},oKe={},cKe=t(OFe),uKe={};const lKe=iU(),{assign:pKe}=Object,dKe=()=>{},hKe={renameFile:dKe,removeFile:dKe,createDirectory:dKe,readFileContent:(fKe="",()=>fKe),writeFileContent:dKe,copyFile:dKe};var fKe;const mKe=pKe({},hKe);function yKe(e){pKe(mKe,e)}function gKe(){pKe(mKe,hKe)}uKe.renameFile=(e,t)=>{mKe.renameFile(e,t)},uKe.removeFile=e=>{mKe.removeFile(e)},uKe.copyFile=(e,t)=>{mKe.copyFile(e,t)},uKe.createDirectory=e=>{mKe.createDirectory(e)},uKe.readFileContent=e=>mKe.readFileContent(e),uKe.writeFileContent=(e,t)=>{mKe.writeFileContent(e,t)},uKe.init=yKe,uKe.pause=()=>{lKe(mKe),gKe()},uKe.start=()=>{yKe(lKe())},uKe.deinit=gKe;var xKe={};const{types:TKe}=rt,{arrayExpression:SKe,stringLiteral:bKe,objectProperty:EKe}=TKe;function PKe(e,t){const n=bKe(e);return EKe(n,t)}xKe.createTypeProperty=e=>PKe("type",bKe(e)),xKe.createFilesProperty=e=>PKe("files",SKe(e)),xKe.createFilenameProperty=e=>PKe("filename",bKe(e)),xKe.createContentProperty=e=>PKe("content",bKe(e));const{join:vKe,basename:AKe,dirname:CKe}=cKe,{types:wKe}=rt,kKe=GBe,{setLiteralValue:IKe,getProperty:NKe,traverseProperties:DKe}=YW,LKe=uKe,{createTypeProperty:_Ke,createFilesProperty:OKe,createFilenameProperty:MKe,createContentProperty:FKe}=xKe,{isProgram:BKe,objectExpression:jKe}=wKe,RKe=e=>"string"==typeof e,{isArray:UKe}=Array,qKe=e=>{const[t,n]=kKe(btoa,e);return t?btoa(escape(e)):n},JKe=e=>{const t=e.replace(/\./g,"\\.").replace(/\*/g,".*").replace("?",".?");return RegExp(`^${t}$`)};function VKe(e){if(!e.parentPath)return null;const{parentPath:t}=e.parentPath.parentPath;return BKe(t)?null:t}function KKe({name:e,base:t,exclude:n}){for(const r of n)if(e===r||JKe(r).test(t))return!0;return!1}function WKe(e,t,n=[]){!function(e){if(!RKe(e)&&!UKe(e))throw Error("☝️ Looks like you forget to pass the 'name' of a file to 'findFile(filePath: Path|FilePath, name: string | string[]): FilePath'")}(t);const r=[],i=(e=>UKe(e)?e:[e])(t);for(const t of DKe(e,"filename")){const{value:e}=t.node.value,s=AKe(e);for(const a of i)if(e===a||JKe(a).test(s)){const e=t.parentPath;if(KKe({name:a,base:s,exclude:n}))continue;r.push(e)}}return r}function XKe(e){return NKe(e,"filename").get("value")}function $Ke(e){const{value:t}=XKe(e).node;return t}function HKe(e){return NKe(e,"type").node.value.value}function zKe(e){const t=NKe(e,"content");return[Boolean(t),t?.node.value.value]}function YKe(e){const t=$Ke(e);VKe(e)&&(e.remove(),LKe.removeFile(t))}function GKe(e,t){const n=HKe(e);if("directory"!==n){const t=$Ke(e);throw Error(`☝️ Looks like '${t}' is not a directory, but: '${n}'. Rename to '${t}/'`)}const r=NKe(e,"files"),i=vKe($Ke(e),AKe(t)),[s]=WKe(r,i);s&&s.remove()}oKe.getParentDirectory=VKe,oKe.findFile=WKe,oKe.getFileType=HKe,oKe.getFileContent=zKe,oKe.getFilename=$Ke,oKe.renameFile=(e,t)=>{const n=$Ke(e),r=XKe(e),i=n.split("/").pop(),s=t.split("/").pop(),a=n.replace(i,s);IKe(r,a),LKe.renameFile(n,a)},oKe.removeFile=YKe,oKe.removeEmptyDirectory=e=>{if("directory"!==HKe(e))return;let t=e;for(;!ZKe(e).length;){if("/"===$Ke(e))break;if(t=VKe(e),!t)break;YKe(e),e=t}},oKe.moveFile=(e,t)=>{if(e===t)return;const n=$Ke(t),r=$Ke(e),i=QKe(t),s=NKe(e,"filename"),a=r.split("/").pop(),o=vKe(n,a);GKe(t,o),IKe(s.get("value"),o),i.node.value.elements.push(e.node),e.remove(),LKe.renameFile(r,o)},oKe.copyFile=(e,t)=>{const n=$Ke(t),r=$Ke(e),i=r.split("/").pop(),s=vKe(n,i),[a,o]=zKe(e),c=jKe([_Ke("file"),MKe(s),a&&FKe(o)].filter(Boolean));GKe(t,s);QKe(t).node.value.elements.push(c),LKe.copyFile(r,s)},oKe.createFile=(e,t,n)=>{GKe(e,t);const r=QKe(e),i=$Ke(e),s=vKe(i,t),a=[_Ke("file"),MKe(s),n&&FKe(n)].filter(Boolean);r.node.value.elements.push(jKe(a));const o=r.get("value.elements").at(-1);return RKe(n)&&tWe(o,n),o};const QKe=e=>NKe(e,"files");function ZKe(e){return"directory"!==HKe(e)?[]:QKe(e).get("value.elements")}function eWe(e,t){const n=QKe(e),r=$Ke(e),i=vKe(r,t),s=_Ke("directory"),a=OKe([]),o=MKe(i);return n.node.value.elements.push(jKe([s,o,a])),LKe.createDirectory(i),n.get("value.elements").at(-1)}function tWe(e,t){if("directory"===HKe(e))return;const n=$Ke(e);LKe.writeFileContent(n,t);const r=NKe(e,"content");if(r)return void IKe(r.node.value,qKe(t));const i=FKe(qKe(t));e.node.properties.push(i)}function nWe(e){let t=VKe(e);if(!t)return e;let n=t;for(;t=VKe(t);)n=t;return n}oKe.readDirectory=ZKe,oKe.createDirectory=eWe,oKe.readFileContent=e=>{if("directory"===HKe(e))return"";const[t,n]=zKe(e);if(t)return(e=>{if(e.includes(" "))return e;const[t,n]=kKe(atob,e);return t?e:unescape(n)})(n);const r=$Ke(e),i=LKe.readFileContent(r),s=FKe(qKe(i));return e.node.properties.push(s),i},oKe.writeFileContent=tWe,oKe.createNestedDirectory=(e,t)=>{const n=nWe(e);if(CKe(t)===$Ke(e))return eWe(e,AKe(t));let r=t;const i=$Ke(n),s=[];let a=r;for(;r!==i;)if(s.unshift(r),a=r,r=CKe(r),r===a){r=i;for(const[e,t]of s.entries())s[e]=vKe(i,t);s.shift();break}let o=WKe(n,s).at(-1)||n;const c=$Ke(o),u=s.length;let l=s.indexOf(c)+1;for(;l<u;l++){o=eWe(o,AKe(s[l]))}return o},oKe.getRootDirectory=nWe,oKe.init=LKe.init,oKe.deinit=LKe.deinit,oKe.pause=LKe.pause,oKe.start=LKe.start;var rWe={};const{basename:iWe,dirname:sWe}=cKe,{types:aWe}=rt,{createDirectory:oWe,getFileType:cWe,getFilename:uWe,findFile:lWe}=oKe,{__filesystem_name:pWe}=W4,{replaceWith:dWe,getProperty:hWe}=YW,{objectExpression:fWe,arrayExpression:mWe,stringLiteral:yWe,isArrayExpression:gWe,isStringLiteral:xWe,isTemplateLiteral:TWe,objectProperty:SWe}=aWe;rWe.report=()=>"Convert Simple Filesystem to Filesystem";const bWe=e=>e.endsWith("/"),EWe=e=>{const t=bWe(e)?"directory":"file";return SWe(yWe("type"),yWe(t))},PWe=e=>SWe(yWe("filename"),yWe(e)),vWe=e=>bWe(e)?SWe(yWe("files"),mWe([])):null,AWe=e=>SWe(yWe("content"),yWe(e));function CWe(e,t){if(xWe(e))return e.value;if(TWe(e))return btoa(e.quasis[0].value.raw);throw Error(`☝️ Looks like wrong content type: '${e.type}' from file: '${t}'`)}rWe.fix=e=>{const t=mWe([]);for(const n of e.get("elements")){if(gWe(n)){const[e,r]=n.node.elements,{value:i}=e,s=CWe(r,n);t.elements.push(fWe([EWe(i),PWe(i),AWe(s)]));continue}if(xWe(n)){const{value:e}=n.node;t.elements.push(fWe([EWe(e),PWe(wWe(e)),vWe(e)].filter(Boolean)));continue}throw Error(`☝️ Looks like file '${n}' has wrong type: '${n.type}' expected: 'string | array'`)}!function(e,t){const[n,...r]=lWe(t,"*");for(const e of r){const t=uWe(e);kWe(t);const r=cWe(e),i=sWe(t),s=iWe(t),[a]=lWe(n,i);if(!a||"directory"!==cWe(a))throw Error(`☝️ Looks like directory '${i}/' is missing`);if("directory"===r){oWe(a,s);continue}hWe(a,"files").node.value.elements.push(e.node)}dWe(e,n)}(e,t)},rWe.traverse=({push:e})=>({[`${pWe}(__array)`]:t=>{const n=t.get("arguments.0");e(n)}});const wWe=e=>"/"===e?e:e.endsWith("/")?e.slice(0,-1):e;function kWe(e){if(!e.includes("/"))throw Error(`☝️ Looks like directory path is missing: '${e}'`)}var IWe={};const{types:NWe}=rt,{replaceWith:DWe,getProperty:LWe}=YW,{__filesystem_name:_We}=W4,{findFile:OWe,getFilename:MWe,getFileType:FWe}=oKe,{stringLiteral:BWe,arrayExpression:jWe}=NWe,{isArray:RWe}=Array,UWe=e=>"/"===e?e:`${e}/`;IWe.report=()=>"Convert Filesystem to Simple Filesystem",IWe.fix=(e,{files:t})=>{const n=[];for(const e of t){const t=MWe(e),r=FWe(e),i=LWe(e,"content"),s=i?.node?.value;s?n.push([t,s.value]):"directory"!==r?n.push(t):n.push(UWe(t))}const r=[];for(const e of n)RWe(e)?r.push(jWe([BWe(e[0]),BWe(e[1])])):r.push(BWe(e));DWe(e,jWe(r))},IWe.traverse=({push:e})=>({[`${_We}(__object)`]:t=>{const n=t.get("arguments.0"),r=OWe(n,"*");e(n,{files:r})}});const qWe=iU,{compare:JWe}=Jje,{__filesystem_name:VWe}=W4,{findFile:KWe,pause:WWe,start:XWe}=oKe,$We=rWe,HWe=IWe,{createDebug:zWe}=FBe,YWe=zWe("putout:runner:scanner");aKe.scan=({rule:e,plugin:t,msg:n,options:r},{progress:i})=>{const{scan:s,report:a,fix:o}=t;i.inc();return{rule:e,msg:n,options:r,plugin:{report:a,fix:o,traverse:QWe({scan:s,rule:e,progress:i})}}};const GWe=({push:e,rule:t,progress:n})=>(...r)=>{n.push(t),e(...r)},QWe=({scan:e,rule:t,progress:n})=>({push:r,options:i})=>({[`${VWe}(__)`](s){YWe(t),n.start(t);const a=s.get("arguments.0"),o=qWe(!1),c=(({rule:e,progress:t})=>({i:n,n:r})=>{++n;const i=`${Math.round(n/r*100)}%`;t.file({i:n,n:r,percent:i,rule:e})})({rule:t,progress:n}),u=(e=>function*(...t){const n=KWe(...t),r=n.length;for(const[t,i]of n.entries())e({i:t,n:r}),yield i})(c);eXe($We,{shouldConvert:!0,path:s,isSimple:o}),e(a,{push:GWe({push:r,rule:t,progress:n}),progress:c,trackFile:u,options:i}),eXe(HWe,{shouldConvert:o(),path:s,isSimple:o}),n.end(t)}}),ZWe=({fix:e,isSimple:t})=>(...n)=>(t(!0),e(...n));function eXe(e,{path:t,isSimple:n,shouldConvert:r=!0}){const{traverse:i,fix:s}=e;if(!r)return;const a=i({push:ZWe({fix:s,isSimple:n})}),[o,c]=function(e){const t=e[`${VWe}(__object)`],n=e[`${VWe}(__array)`];return t?[t,`${VWe}(__object)`]:[n,`${VWe}(__array)`]}(a);JWe(t,c)&&(WWe(),o(t),XWe())}const{traverse:tXe}=rt,nXe=yMe,{createDebug:rXe}=FBe,iXe=nje,sXe=_je,aXe=Rje,oXe=xJe,{createProgress:cXe}=TJe,{tryThrowWithReason:uXe}=NJe,{include:lXe}=LJe,{replace:pXe,clearWatermark:dXe}=UJe,{declare:hXe}=DVe,{scan:fXe}=aKe,{getPath:mXe,getPosition:yXe}=rje,gXe=rXe("putout:runner:find"),xXe=e=>e?.removed;MBe.runPlugins=({ast:e,shebang:t,fix:n,fixCount:r=2,plugins:i,progress:s=cXe(),traverse:a=tXe})=>{let o=[];const c=nXe(sXe),{pluginsFind:u,pluginsTraverse:l}=function(e,{progress:t}){const n=[],r=[];for(const i of e){const{plugin:e}=i;e.find?n.push(i):e.traverse?r.push(i):e.replace?r.push(lXe(pXe(i))):e.declare?r.push(lXe(hXe(i))):e.include?r.push(lXe(i)):e.scan&&r.push(fXe(i,{progress:t}))}return{pluginsFind:n,pluginsTraverse:r}}(i,{progress:s});for(let i=0;i<r;i++){if(o=TXe({ast:e,fix:n,shebang:t,pluginsFind:u,pluginsTraverse:l,merge:c,template:oXe,traverse:a}),s.reset(),!n||!o.length)return o;dXe(e)}return o},MBe.getPosition=yXe;const TXe=({ast:e,fix:t,shebang:n,pluginsFind:r,pluginsTraverse:i,template:s,merge:a,traverse:o})=>[...bXe({ast:e,fix:t,shebang:n,template:s,pluginsFind:r,traverse:o}),...SXe({ast:e,fix:t,shebang:n,template:s,pluginsTraverse:i,merge:a,traverse:o})];function SXe({ast:e,fix:t,shebang:n,template:r,pluginsTraverse:i,merge:s,traverse:a}){const{entries:o,visitor:c}=s(i,{fix:t,shebang:n,template:r});uXe(a,e,c);const u=[];for(const[e,t]of o){const n=t();for(const{message:t,position:r}of n)u.push({rule:e,message:t,position:r})}return u}function bXe({ast:e,fix:t,shebang:n,template:r,pluginsFind:i,traverse:s}){const a=[];for(const{rule:o,plugin:c,msg:u,options:l}of i){gXe(`find: ${o}`);const{report:i,find:p}=c,d=uXe(aXe,{rule:o,find:p,ast:e,options:l,fix:t,shebang:n,template:r,traverse:s});if(d.length)for(const e of d){const r=u||i(e),{parentPath:s}=mXe(e),p=yXe(e,n);a.push({rule:o,message:r,position:p}),xXe(s)||iXe(t,c.fix,{path:e,rule:o,position:p,options:l})}}return a}const EXe=(e={})=>{const{parser:t="babel",printer:n=e.printer||"putout",fix:r=!0,fixCount:i=3,loadPlugins:s=IBe,loadPluginsAsync:a=vBe,runPlugins:o=MBe.runPlugins,progress:c=IJe()}=e;return{...e,parser:t,printer:n,fix:r,fixCount:i,loadPlugins:s,loadPluginsAsync:a,runPlugins:o,progress:c}};var PXe=t(Object.freeze({__proto__:null,defaultOptions:EXe}));const vXe=(e,...t)=>{try{return[null,e(...t)]}catch(e){return[e]}},AXe=e=>e.replace(/\s\(\d:\d+\)/,""),CXe=e=>e?((e,t="parser")=>{const{line:n,column:r}=e.loc||{line:1,column:1};return[{rule:e.rule?`${e.rule} (parser)`:t,message:AXe(e.message),position:{line:n,column:r}}]})(e,"loader"):[],wXe=(e,t,n)=>{n=EXe(n);const{plugins:r,cache:i,rules:s,fix:a,fixCount:o,loadPlugins:c,runPlugins:u,progress:l}=n,[,p]=xFe(t),[d]=vXe(mBe,{rules:s,pluginNames:r}),h=u({ast:e,shebang:p,fix:a,fixCount:o,plugins:c({pluginNames:r,cache:i,rules:s}),progress:l});return[...CXe(d),...h]},kXe=async(e,t,n)=>{n=EXe(n);const{plugins:r,cache:i,rules:s,fix:a,fixCount:o,loadPluginsAsync:c,runPlugins:u,progress:l}=n,[,p]=xFe(t),[d]=vXe(mBe,{rules:s,pluginNames:r}),h=u({ast:e,shebang:p,fix:a,fixCount:o,plugins:await c({pluginNames:r,cache:i,rules:s}),progress:l});return[...CXe(d),...h]};var IXe=t(Object.freeze({__proto__:null,transform:wXe,transformAsync:kXe}));var NXe=t(Object.freeze({__proto__:null,findPlaces:(e,t,n)=>wXe(e,t,{...n,fix:!1}),findPlacesAsync:async(e,t,n)=>await kXe(e,t,{...n,fix:!1})})),DXe={};const{types:LXe,traverse:_Xe}=rt,{compare:OXe,parseTemplate:MXe,isTemplate:FXe,getTemplateValues:BXe}=Jje,{isFile:jXe,isProgram:RXe}=LXe,{merge:UXe}=_Xe.visitors,{entries:qXe}=Object;DXe.traverse=KXe;const JXe=e=>{if((e=>Boolean(e.node))(e))return e.traverse.bind(e);const t=!jXe(e)&&!RXe(e);return n=>{_Xe(e,{noScope:t,...n})}},VXe=([e])=>e;function KXe(e,t){const n=JXe(e),r=[],i=qXe(t);if(!i.map(VXe).find(FXe))return n(t);for(const[e,t]of i){if(!FXe(e)){r.push({[e]:t});continue}const[n,i]=MXe(e),s=WXe({fn:t,node:n,tmpl:e});r.push({[i]:s})}n(UXe(r))}const WXe=({fn:e,node:t,tmpl:n})=>r=>{OXe(r,t)&&e(r,BXe(r.node,n))};DXe.contains=(e,t)=>{let n=!1;const r=e=>{n=!0,e.stop()},i={};for(const e of t)i[e]=r;return KXe(e,i),n};var XXe={};const{setLiteralValue:$Xe}=YW,{types:HXe}=rt,{isJSXElement:zXe,jsxAttribute:YXe,jsxIdentifier:GXe,stringLiteral:QXe}=HXe,ZXe=e=>e.node||e;function e$e(e,t){let n=null;const r=ZXe(e),{attributes:i}=r.openingElement;for(const e of i)if(e.name.name===t){n=e;break}return n}function t$e(e,t){const n=e$e(e,t);return n?n.value.value:""}function n$e(e,t,n){const r=e$e(e,t);if(!r)return r$e(e,t,n);r.value.value.includes(n)||$Xe(r.value,`${r.value.value} ${n}`)}function r$e(e,t,n){const r=ZXe(e);let i=e$e(r,t);i||(i=YXe(GXe(t),QXe(n)),r.openingElement.attributes.push(i))}function i$e(e,t,n){if(!e)return;const r=e$e(e.node||e,t),{value:i}=r.value;if(!i.includes(n))return;const s=i.replace(RegExp(`\\s?${n}`),"").trim();$Xe(r.value,s)}function s$e(e){return t$e(e,"className")}XXe.hasTagName=(e,t)=>{const n=ZXe(e);return!!zXe(e)&&n.openingElement.name.name===t},XXe.getAttributePath=(e,t)=>{const n=e.get("openingElement.attributes");for(const e of n)if(e.node.name.name===t)return e;return null},XXe.getAttributeNode=e$e,XXe.getAttributeValue=t$e,XXe.addAttributeValue=n$e,XXe.addAttribute=r$e,XXe.removeAttributeValue=i$e,XXe.setAttributeValue=(e,t,n)=>{const r=e$e(e,t);if(!r)return r$e(e,t,n);$Xe(r.value,n)},XXe.addClassName=(e,t)=>{n$e(e,"className",t)},XXe.getClassName=s$e,XXe.removeClassName=(e,t)=>{i$e(e,"className",t)},XXe.containsClassName=(e,t)=>s$e(e).includes(t),XXe.hasDataName=(e,t="")=>t$e(e,"data-name")===t,XXe.hasAttributeValue=(e,t,n="")=>t$e(e,t)===n;var a$e={_hasUFlag:!1,shouldRun:function(e){var t=e.flags.includes("s");return!!t&&(e.flags=e.flags.replace("s",""),this._hasUFlag=e.flags.includes("u"),!0)},Char:function(e){var t=e.node;if("meta"===t.kind&&"."===t.value){var n="\\uFFFF",r="";this._hasUFlag&&(n="\\u{10FFFF}",r=""),e.replace({type:"CharacterClass",expressions:[{type:"ClassRange",from:{type:"Char",value:"\\0",kind:"decimal",symbol:"\0"},to:{type:"Char",value:n,kind:"unicode",symbol:r}}]})}}},o$e={_groupNames:{},init:function(){this._groupNames={}},getExtra:function(){return this._groupNames},Group:function(e){var t=e.node;t.name&&(this._groupNames[t.name]=t.number,delete t.name,delete t.nameRaw)},Backreference:function(e){var t=e.node;"name"===t.kind&&(t.kind="number",t.reference=t.number,delete t.referenceRaw)}},c$e={RegExp:function(e){var t=e.node;t.flags.includes("x")&&(t.flags=t.flags.replace("x",""))}},u$e={dotAll:a$e,namedCapturingGroups:o$e,xFlag:c$e};function l$e(e){return e?p$e[e.type](e):""}var p$e={RegExp:function(e){return"/"+l$e(e.body)+"/"+e.flags},Alternative:function(e){return(e.expressions||[]).map(l$e).join("")},Disjunction:function(e){return l$e(e.left)+"|"+l$e(e.right)},Group:function(e){var t=l$e(e.expression);return e.capturing?e.name?"(?<"+(e.nameRaw||e.name)+">"+t+")":"("+t+")":"(?:"+t+")"},Backreference:function(e){switch(e.kind){case"number":return"\\"+e.reference;case"name":return"\\k<"+(e.referenceRaw||e.reference)+">";default:throw new TypeError("Unknown Backreference kind: "+e.kind)}},Assertion:function(e){switch(e.kind){case"^":case"$":case"\\b":case"\\B":return e.kind;case"Lookahead":var t=l$e(e.assertion);return e.negative?"(?!"+t+")":"(?="+t+")";case"Lookbehind":var n=l$e(e.assertion);return e.negative?"(?<!"+n+")":"(?<="+n+")";default:throw new TypeError("Unknown Assertion kind: "+e.kind)}},CharacterClass:function(e){var t=e.expressions.map(l$e).join("");return e.negative?"[^"+t+"]":"["+t+"]"},ClassRange:function(e){return l$e(e.from)+"-"+l$e(e.to)},Repetition:function(e){return""+l$e(e.expression)+l$e(e.quantifier)},Quantifier:function(e){var t=void 0,n=e.greedy?"":"?";switch(e.kind){case"+":case"?":case"*":t=e.kind;break;case"Range":t=e.from===e.to?"{"+e.from+"}":e.to?"{"+e.from+","+e.to+"}":"{"+e.from+",}";break;default:throw new TypeError("Unknown Quantifier kind: "+e.kind)}return""+t+n},Char:function(e){var t=e.value;switch(e.kind){case"simple":return e.escaped?"\\"+t:t;case"hex":case"unicode":case"oct":case"decimal":case"control":case"meta":return t;default:throw new TypeError("Unknown Char kind: "+e.kind)}},UnicodeProperty:function(e){return"\\"+(e.negative?"P":"p")+"{"+(e.shorthand||e.binary?"":e.name+"=")+e.value+"}"}},d$e={generate:l$e},h$e={General_Category:"gc",Script:"sc",Script_Extensions:"scx"},f$e=b$e(h$e),m$e={ASCII:"ASCII",ASCII_Hex_Digit:"AHex",Alphabetic:"Alpha",Any:"Any",Assigned:"Assigned",Bidi_Control:"Bidi_C",Bidi_Mirrored:"Bidi_M",Case_Ignorable:"CI",Cased:"Cased",Changes_When_Casefolded:"CWCF",Changes_When_Casemapped:"CWCM",Changes_When_Lowercased:"CWL",Changes_When_NFKC_Casefolded:"CWKCF",Changes_When_Titlecased:"CWT",Changes_When_Uppercased:"CWU",Dash:"Dash",Default_Ignorable_Code_Point:"DI",Deprecated:"Dep",Diacritic:"Dia",Emoji:"Emoji",Emoji_Component:"Emoji_Component",Emoji_Modifier:"Emoji_Modifier",Emoji_Modifier_Base:"Emoji_Modifier_Base",Emoji_Presentation:"Emoji_Presentation",Extended_Pictographic:"Extended_Pictographic",Extender:"Ext",Grapheme_Base:"Gr_Base",Grapheme_Extend:"Gr_Ext",Hex_Digit:"Hex",IDS_Binary_Operator:"IDSB",IDS_Trinary_Operator:"IDST",ID_Continue:"IDC",ID_Start:"IDS",Ideographic:"Ideo",Join_Control:"Join_C",Logical_Order_Exception:"LOE",Lowercase:"Lower",Math:"Math",Noncharacter_Code_Point:"NChar",Pattern_Syntax:"Pat_Syn",Pattern_White_Space:"Pat_WS",Quotation_Mark:"QMark",Radical:"Radical",Regional_Indicator:"RI",Sentence_Terminal:"STerm",Soft_Dotted:"SD",Terminal_Punctuation:"Term",Unified_Ideograph:"UIdeo",Uppercase:"Upper",Variation_Selector:"VS",White_Space:"space",XID_Continue:"XIDC",XID_Start:"XIDS"},y$e=b$e(m$e),g$e={Cased_Letter:"LC",Close_Punctuation:"Pe",Connector_Punctuation:"Pc",Control:["Cc","cntrl"],Currency_Symbol:"Sc",Dash_Punctuation:"Pd",Decimal_Number:["Nd","digit"],Enclosing_Mark:"Me",Final_Punctuation:"Pf",Format:"Cf",Initial_Punctuation:"Pi",Letter:"L",Letter_Number:"Nl",Line_Separator:"Zl",Lowercase_Letter:"Ll",Mark:["M","Combining_Mark"],Math_Symbol:"Sm",Modifier_Letter:"Lm",Modifier_Symbol:"Sk",Nonspacing_Mark:"Mn",Number:"N",Open_Punctuation:"Ps",Other:"C",Other_Letter:"Lo",Other_Number:"No",Other_Punctuation:"Po",Other_Symbol:"So",Paragraph_Separator:"Zp",Private_Use:"Co",Punctuation:["P","punct"],Separator:"Z",Space_Separator:"Zs",Spacing_Mark:"Mc",Surrogate:"Cs",Symbol:"S",Titlecase_Letter:"Lt",Unassigned:"Cn",Uppercase_Letter:"Lu"},x$e=b$e(g$e),T$e={Adlam:"Adlm",Ahom:"Ahom",Anatolian_Hieroglyphs:"Hluw",Arabic:"Arab",Armenian:"Armn",Avestan:"Avst",Balinese:"Bali",Bamum:"Bamu",Bassa_Vah:"Bass",Batak:"Batk",Bengali:"Beng",Bhaiksuki:"Bhks",Bopomofo:"Bopo",Brahmi:"Brah",Braille:"Brai",Buginese:"Bugi",Buhid:"Buhd",Canadian_Aboriginal:"Cans",Carian:"Cari",Caucasian_Albanian:"Aghb",Chakma:"Cakm",Cham:"Cham",Cherokee:"Cher",Common:"Zyyy",Coptic:["Copt","Qaac"],Cuneiform:"Xsux",Cypriot:"Cprt",Cyrillic:"Cyrl",Deseret:"Dsrt",Devanagari:"Deva",Dogra:"Dogr",Duployan:"Dupl",Egyptian_Hieroglyphs:"Egyp",Elbasan:"Elba",Ethiopic:"Ethi",Georgian:"Geor",Glagolitic:"Glag",Gothic:"Goth",Grantha:"Gran",Greek:"Grek",Gujarati:"Gujr",Gunjala_Gondi:"Gong",Gurmukhi:"Guru",Han:"Hani",Hangul:"Hang",Hanifi_Rohingya:"Rohg",Hanunoo:"Hano",Hatran:"Hatr",Hebrew:"Hebr",Hiragana:"Hira",Imperial_Aramaic:"Armi",Inherited:["Zinh","Qaai"],Inscriptional_Pahlavi:"Phli",Inscriptional_Parthian:"Prti",Javanese:"Java",Kaithi:"Kthi",Kannada:"Knda",Katakana:"Kana",Kayah_Li:"Kali",Kharoshthi:"Khar",Khmer:"Khmr",Khojki:"Khoj",Khudawadi:"Sind",Lao:"Laoo",Latin:"Latn",Lepcha:"Lepc",Limbu:"Limb",Linear_A:"Lina",Linear_B:"Linb",Lisu:"Lisu",Lycian:"Lyci",Lydian:"Lydi",Mahajani:"Mahj",Makasar:"Maka",Malayalam:"Mlym",Mandaic:"Mand",Manichaean:"Mani",Marchen:"Marc",Medefaidrin:"Medf",Masaram_Gondi:"Gonm",Meetei_Mayek:"Mtei",Mende_Kikakui:"Mend",Meroitic_Cursive:"Merc",Meroitic_Hieroglyphs:"Mero",Miao:"Plrd",Modi:"Modi",Mongolian:"Mong",Mro:"Mroo",Multani:"Mult",Myanmar:"Mymr",Nabataean:"Nbat",New_Tai_Lue:"Talu",Newa:"Newa",Nko:"Nkoo",Nushu:"Nshu",Ogham:"Ogam",Ol_Chiki:"Olck",Old_Hungarian:"Hung",Old_Italic:"Ital",Old_North_Arabian:"Narb",Old_Permic:"Perm",Old_Persian:"Xpeo",Old_Sogdian:"Sogo",Old_South_Arabian:"Sarb",Old_Turkic:"Orkh",Oriya:"Orya",Osage:"Osge",Osmanya:"Osma",Pahawh_Hmong:"Hmng",Palmyrene:"Palm",Pau_Cin_Hau:"Pauc",Phags_Pa:"Phag",Phoenician:"Phnx",Psalter_Pahlavi:"Phlp",Rejang:"Rjng",Runic:"Runr",Samaritan:"Samr",Saurashtra:"Saur",Sharada:"Shrd",Shavian:"Shaw",Siddham:"Sidd",SignWriting:"Sgnw",Sinhala:"Sinh",Sogdian:"Sogd",Sora_Sompeng:"Sora",Soyombo:"Soyo",Sundanese:"Sund",Syloti_Nagri:"Sylo",Syriac:"Syrc",Tagalog:"Tglg",Tagbanwa:"Tagb",Tai_Le:"Tale",Tai_Tham:"Lana",Tai_Viet:"Tavt",Takri:"Takr",Tamil:"Taml",Tangut:"Tang",Telugu:"Telu",Thaana:"Thaa",Thai:"Thai",Tibetan:"Tibt",Tifinagh:"Tfng",Tirhuta:"Tirh",Ugaritic:"Ugar",Vai:"Vaii",Warang_Citi:"Wara",Yi:"Yiii",Zanabazar_Square:"Zanb"},S$e=b$e(T$e);function b$e(e){var t={};for(var n in e)if(e.hasOwnProperty(n)){var r=e[n];if(Array.isArray(r))for(var i=0;i<r.length;i++)t[r[i]]=n;else t[r]=n}return t}function E$e(e){return g$e.hasOwnProperty(e)||x$e.hasOwnProperty(e)}function P$e(e){return T$e.hasOwnProperty(e)||S$e.hasOwnProperty(e)}var v$e={isAlias:function(e){return f$e.hasOwnProperty(e)||y$e.hasOwnProperty(e)},isValidName:function(e){return h$e.hasOwnProperty(e)||f$e.hasOwnProperty(e)||m$e.hasOwnProperty(e)||y$e.hasOwnProperty(e)},isValidValue:function(e,t){return function(e){return"General_Category"===e||"gc"==e}(e)?E$e(t):!!function(e){return"Script"===e||"Script_Extensions"===e||"sc"===e||"scx"===e}(e)&&P$e(t)},isGeneralCategoryValue:E$e,isScriptCategoryValue:P$e,isBinaryPropertyName:function(e){return m$e.hasOwnProperty(e)||y$e.hasOwnProperty(e)},getCanonicalName:function(e){return f$e.hasOwnProperty(e)?f$e[e]:y$e.hasOwnProperty(e)?y$e[e]:null},getCanonicalValue:function(e){return x$e.hasOwnProperty(e)?x$e[e]:S$e.hasOwnProperty(e)?S$e[e]:y$e.hasOwnProperty(e)?y$e[e]:null},NON_BINARY_PROP_NAMES_TO_ALIASES:h$e,NON_BINARY_ALIASES_TO_PROP_NAMES:f$e,BINARY_PROP_NAMES_TO_ALIASES:m$e,BINARY_ALIASES_TO_PROP_NAMES:y$e,GENERAL_CATEGORY_VALUE_TO_ALIASES:g$e,GENERAL_CATEGORY_VALUE_ALIASES_TO_VALUES:x$e,SCRIPT_VALUE_TO_ALIASES:T$e,SCRIPT_VALUE_ALIASES_TO_VALUE:S$e},A$e=function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return function(e,t){var n=[],r=!0,i=!1,s=void 0;try{for(var a,o=e[Symbol.iterator]();!(r=(a=o.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(e){i=!0,s=e}finally{try{!r&&o.return&&o.return()}finally{if(i)throw s}}return n}(e,t);throw new TypeError("Invalid attempt to destructure non-iterable instance")};function C$e(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}var w$e=void 0,k$e={},I$e=void 0,N$e=void 0;function D$e(e,t){return k$e.options.captureLocations?e&&t?{startOffset:e.startOffset,endOffset:t.endOffset,startLine:e.startLine,endLine:t.endLine,startColumn:e.startColumn,endColumn:t.endColumn}:e||t:null}var L$e=[[-1,1,function(e,t){N$e=D$e(t,t),I$e=e}],[0,4,function(e,t,n,r,i,s,a,o){N$e=D$e(i,o),I$e=nHe({type:"RegExp",body:t,flags:z$e(r)},rHe(i,o||a))}],[1,1,function(e,t){N$e=D$e(t,t),I$e=e}],[1,0,function(){N$e=null,I$e=""}],[2,1,function(e,t){N$e=D$e(t,t),I$e=e}],[2,2,function(e,t,n,r){N$e=D$e(n,r),I$e=e+t}],[3,1,function(e,t){N$e=D$e(t,t),I$e=e}],[4,1,function(e,t){N$e=D$e(t,t),I$e=e}],[4,3,function(e,t,n,r,i,s){N$e=D$e(r,s);var a=null;i&&(a=rHe(r||i,s||i)),I$e=nHe({type:"Disjunction",left:e,right:n},a)}],[5,1,function(e,t){N$e=D$e(t,t),I$e=0!==e.length?1===e.length?nHe(e[0],N$e):nHe({type:"Alternative",expressions:e},N$e):null}],[6,0,function(){N$e=null,I$e=[]}],[6,2,function(e,t,n,r){N$e=D$e(n,r),I$e=e.concat(t)}],[7,1,function(e,t){N$e=D$e(t,t),I$e=nHe(Object.assign({type:"Assertion"},e),N$e)}],[7,2,function(e,t,n,r){N$e=D$e(n,r),I$e=e,t&&(I$e=nHe({type:"Repetition",expression:e,quantifier:t},N$e))}],[8,1,function(e,t){N$e=D$e(t,t),I$e={kind:"^"}}],[8,1,function(e,t){N$e=D$e(t,t),I$e={kind:"$"}}],[8,1,function(e,t){N$e=D$e(t,t),I$e={kind:"\\b"}}],[8,1,function(e,t){N$e=D$e(t,t),I$e={kind:"\\B"}}],[8,3,function(e,t,n,r,i,s){N$e=D$e(r,s),I$e={kind:"Lookahead",assertion:t}}],[8,3,function(e,t,n,r,i,s){N$e=D$e(r,s),I$e={kind:"Lookahead",negative:!0,assertion:t}}],[8,3,function(e,t,n,r,i,s){N$e=D$e(r,s),I$e={kind:"Lookbehind",assertion:t}}],[8,3,function(e,t,n,r,i,s){N$e=D$e(r,s),I$e={kind:"Lookbehind",negative:!0,assertion:t}}],[9,1,function(e,t){N$e=D$e(t,t),I$e=e}],[9,1,function(e,t){N$e=D$e(t,t),I$e=e}],[9,1,function(e,t){N$e=D$e(t,t),I$e=e}],[10,1,function(e,t){N$e=D$e(t,t),I$e=$$e(e,"simple",N$e)}],[10,1,function(e,t){N$e=D$e(t,t),(I$e=$$e(e.slice(1),"simple",N$e)).escaped=!0}],[10,1,function(e,t){N$e=D$e(t,t),(I$e=$$e(e,"unicode",N$e)).isSurrogatePair=!0}],[10,1,function(e,t){N$e=D$e(t,t),I$e=$$e(e,"unicode",N$e)}],[10,1,function(e,t){N$e=D$e(t,t),I$e=function(e,t){var n="P"===e[1],r=e.indexOf("="),i=e.slice(3,-1!==r?r:-1),s=void 0,a=-1===r&&X$e.isGeneralCategoryValue(i),o=-1===r&&X$e.isBinaryPropertyName(i);if(a)s=i,i="General_Category";else if(o)s=i;else{if(!X$e.isValidName(i))throw new SyntaxError("Invalid unicode property name: "+i+".");if(s=e.slice(r+1,-1),!X$e.isValidValue(i,s))throw new SyntaxError("Invalid "+i+" unicode property value: "+s+".")}return nHe({type:"UnicodeProperty",name:i,value:s,negative:n,shorthand:a,binary:o,canonicalName:X$e.getCanonicalName(i)||i,canonicalValue:X$e.getCanonicalValue(s)||s},t)}(e,N$e)}],[10,1,function(e,t){N$e=D$e(t,t),I$e=$$e(e,"control",N$e)}],[10,1,function(e,t){N$e=D$e(t,t),I$e=$$e(e,"hex",N$e)}],[10,1,function(e,t){N$e=D$e(t,t),I$e=$$e(e,"oct",N$e)}],[10,1,function(e,t){N$e=D$e(t,t),I$e=function(e,t){var n=Number(e.slice(1));if(n>0&&n<=q$e)return nHe({type:"Backreference",kind:"number",number:n,reference:n},t);return $$e(e,"decimal",t)}(e,N$e)}],[10,1,function(e,t){N$e=D$e(t,t),I$e=$$e(e,"meta",N$e)}],[10,1,function(e,t){N$e=D$e(t,t),I$e=$$e(e,"meta",N$e)}],[10,1,function(e,t){N$e=D$e(t,t),I$e=function(e,t){var n=e.slice(3,-1),r=tHe(n);if(J$e.hasOwnProperty(r))return nHe({type:"Backreference",kind:"name",number:J$e[r],reference:r,referenceRaw:n},t);var i=null,s=null,a=null,o=null;t&&(i=t.startOffset,s=t.startLine,a=t.endLine,o=t.startColumn);var c=/^[\w$<>]/,u=void 0,l=[$$e(e.slice(1,2),"simple",i?{startLine:s,endLine:a,startColumn:o,startOffset:i,endOffset:i+=2,endColumn:o+=2}:null)];l[0].escaped=!0,e=e.slice(2);for(;e.length>0;){var p=null;(p=e.match(Y$e))||(p=e.match(G$e))?(i&&(u={startLine:s,endLine:a,startColumn:o,startOffset:i,endOffset:i+=p[0].length,endColumn:o+=p[0].length}),l.push($$e(p[0],"unicode",u)),e=e.slice(p[0].length)):(p=e.match(c))&&(i&&(u={startLine:s,endLine:a,startColumn:o,startOffset:i,endOffset:++i,endColumn:++o}),l.push($$e(p[0],"simple",u)),e=e.slice(1))}return l}(e,t)}],[11,1,function(e,t){N$e=D$e(t,t),I$e=e}],[11,0],[12,1,function(e,t){N$e=D$e(t,t),I$e=e}],[12,2,function(e,t,n,r){N$e=D$e(n,r),e.greedy=!1,I$e=e}],[13,1,function(e,t){N$e=D$e(t,t),I$e=nHe({type:"Quantifier",kind:e,greedy:!0},N$e)}],[13,1,function(e,t){N$e=D$e(t,t),I$e=nHe({type:"Quantifier",kind:e,greedy:!0},N$e)}],[13,1,function(e,t){N$e=D$e(t,t),I$e=nHe({type:"Quantifier",kind:e,greedy:!0},N$e)}],[13,1,function(e,t){N$e=D$e(t,t);var n=K$e(e);I$e=nHe({type:"Quantifier",kind:"Range",from:n[0],to:n[0],greedy:!0},N$e)}],[13,1,function(e,t){N$e=D$e(t,t),I$e=nHe({type:"Quantifier",kind:"Range",from:K$e(e)[0],greedy:!0},N$e)}],[13,1,function(e,t){N$e=D$e(t,t);var n=K$e(e);I$e=nHe({type:"Quantifier",kind:"Range",from:n[0],to:n[1],greedy:!0},N$e)}],[14,1,function(e,t){N$e=D$e(t,t),I$e=e}],[14,1,function(e,t){N$e=D$e(t,t),I$e=e}],[15,3,function(e,t,n,r,i,s){N$e=D$e(r,s);var a=String(e),o=tHe(a);if(!k$e.options.allowGroupNameDuplicates&&J$e.hasOwnProperty(o))throw new SyntaxError('Duplicate of the named group "'+o+'".');J$e[o]=e.groupNumber,I$e=nHe({type:"Group",capturing:!0,name:o,nameRaw:a,number:e.groupNumber,expression:t},N$e)}],[15,3,function(e,t,n,r,i,s){N$e=D$e(r,s),I$e=nHe({type:"Group",capturing:!0,number:e.groupNumber,expression:t},N$e)}],[16,3,function(e,t,n,r,i,s){N$e=D$e(r,s),I$e=nHe({type:"Group",capturing:!1,expression:t},N$e)}],[17,3,function(e,t,n,r,i,s){N$e=D$e(r,s),I$e=nHe({type:"CharacterClass",negative:!0,expressions:t},N$e)}],[17,3,function(e,t,n,r,i,s){N$e=D$e(r,s),I$e=nHe({type:"CharacterClass",expressions:t},N$e)}],[18,0,function(){N$e=null,I$e=[]}],[18,1,function(e,t){N$e=D$e(t,t),I$e=e}],[19,1,function(e,t){N$e=D$e(t,t),I$e=[e]}],[19,2,function(e,t,n,r){N$e=D$e(n,r),I$e=[e].concat(t)}],[19,4,function(e,t,n,r,i,s,a,o){N$e=D$e(i,o),W$e(e,n),I$e=[nHe({type:"ClassRange",from:e,to:n},rHe(i,a))],r&&(I$e=I$e.concat(r))}],[20,1,function(e,t){N$e=D$e(t,t),I$e=e}],[20,2,function(e,t,n,r){N$e=D$e(n,r),I$e=[e].concat(t)}],[20,4,function(e,t,n,r,i,s,a,o){N$e=D$e(i,o),W$e(e,n),I$e=[nHe({type:"ClassRange",from:e,to:n},rHe(i,a))],r&&(I$e=I$e.concat(r))}],[21,1,function(e,t){N$e=D$e(t,t),I$e=$$e(e,"simple",N$e)}],[21,1,function(e,t){N$e=D$e(t,t),I$e=e}],[22,1,function(e,t){N$e=D$e(t,t),I$e=e}],[22,1,function(e,t){N$e=D$e(t,t),I$e=$$e(e,"meta",N$e)}]],_$e={SLASH:"23",CHAR:"24",BAR:"25",BOS:"26",EOS:"27",ESC_b:"28",ESC_B:"29",POS_LA_ASSERT:"30",R_PAREN:"31",NEG_LA_ASSERT:"32",POS_LB_ASSERT:"33",NEG_LB_ASSERT:"34",ESC_CHAR:"35",U_CODE_SURROGATE:"36",U_CODE:"37",U_PROP_VALUE_EXP:"38",CTRL_CH:"39",HEX_CODE:"40",OCT_CODE:"41",DEC_CODE:"42",META_CHAR:"43",ANY:"44",NAMED_GROUP_REF:"45",Q_MARK:"46",STAR:"47",PLUS:"48",RANGE_EXACT:"49",RANGE_OPEN:"50",RANGE_CLOSED:"51",NAMED_CAPTURE_GROUP:"52",L_PAREN:"53",NON_CAPTURE_GROUP:"54",NEG_CLASS:"55",R_BRACKET:"56",L_BRACKET:"57",DASH:"58",$:"59"},O$e=[{0:1,23:"s2"},{59:"acc"},{3:3,4:4,5:5,6:6,23:"r10",24:"r10",25:"r10",26:"r10",27:"r10",28:"r10",29:"r10",30:"r10",32:"r10",33:"r10",34:"r10",35:"r10",36:"r10",37:"r10",38:"r10",39:"r10",40:"r10",41:"r10",42:"r10",43:"r10",44:"r10",45:"r10",52:"r10",53:"r10",54:"r10",55:"r10",57:"r10"},{23:"s7"},{23:"r6",25:"s12"},{23:"r7",25:"r7",31:"r7"},{7:14,8:15,9:16,10:25,14:27,15:42,16:43,17:26,23:"r9",24:"s28",25:"r9",26:"s17",27:"s18",28:"s19",29:"s20",30:"s21",31:"r9",32:"s22",33:"s23",34:"s24",35:"s29",36:"s30",37:"s31",38:"s32",39:"s33",40:"s34",41:"s35",42:"s36",43:"s37",44:"s38",45:"s39",52:"s44",53:"s45",54:"s46",55:"s40",57:"s41"},{1:8,2:9,24:"s10",59:"r3"},{59:"r1"},{24:"s11",59:"r2"},{24:"r4",59:"r4"},{24:"r5",59:"r5"},{5:13,6:6,23:"r10",24:"r10",25:"r10",26:"r10",27:"r10",28:"r10",29:"r10",30:"r10",31:"r10",32:"r10",33:"r10",34:"r10",35:"r10",36:"r10",37:"r10",38:"r10",39:"r10",40:"r10",41:"r10",42:"r10",43:"r10",44:"r10",45:"r10",52:"r10",53:"r10",54:"r10",55:"r10",57:"r10"},{23:"r8",25:"r8",31:"r8"},{23:"r11",24:"r11",25:"r11",26:"r11",27:"r11",28:"r11",29:"r11",30:"r11",31:"r11",32:"r11",33:"r11",34:"r11",35:"r11",36:"r11",37:"r11",38:"r11",39:"r11",40:"r11",41:"r11",42:"r11",43:"r11",44:"r11",45:"r11",52:"r11",53:"r11",54:"r11",55:"r11",57:"r11"},{23:"r12",24:"r12",25:"r12",26:"r12",27:"r12",28:"r12",29:"r12",30:"r12",31:"r12",32:"r12",33:"r12",34:"r12",35:"r12",36:"r12",37:"r12",38:"r12",39:"r12",40:"r12",41:"r12",42:"r12",43:"r12",44:"r12",45:"r12",52:"r12",53:"r12",54:"r12",55:"r12",57:"r12"},{11:47,12:48,13:49,23:"r38",24:"r38",25:"r38",26:"r38",27:"r38",28:"r38",29:"r38",30:"r38",31:"r38",32:"r38",33:"r38",34:"r38",35:"r38",36:"r38",37:"r38",38:"r38",39:"r38",40:"r38",41:"r38",42:"r38",43:"r38",44:"r38",45:"r38",46:"s52",47:"s50",48:"s51",49:"s53",50:"s54",51:"s55",52:"r38",53:"r38",54:"r38",55:"r38",57:"r38"},{23:"r14",24:"r14",25:"r14",26:"r14",27:"r14",28:"r14",29:"r14",30:"r14",31:"r14",32:"r14",33:"r14",34:"r14",35:"r14",36:"r14",37:"r14",38:"r14",39:"r14",40:"r14",41:"r14",42:"r14",43:"r14",44:"r14",45:"r14",52:"r14",53:"r14",54:"r14",55:"r14",57:"r14"},{23:"r15",24:"r15",25:"r15",26:"r15",27:"r15",28:"r15",29:"r15",30:"r15",31:"r15",32:"r15",33:"r15",34:"r15",35:"r15",36:"r15",37:"r15",38:"r15",39:"r15",40:"r15",41:"r15",42:"r15",43:"r15",44:"r15",45:"r15",52:"r15",53:"r15",54:"r15",55:"r15",57:"r15"},{23:"r16",24:"r16",25:"r16",26:"r16",27:"r16",28:"r16",29:"r16",30:"r16",31:"r16",32:"r16",33:"r16",34:"r16",35:"r16",36:"r16",37:"r16",38:"r16",39:"r16",40:"r16",41:"r16",42:"r16",43:"r16",44:"r16",45:"r16",52:"r16",53:"r16",54:"r16",55:"r16",57:"r16"},{23:"r17",24:"r17",25:"r17",26:"r17",27:"r17",28:"r17",29:"r17",30:"r17",31:"r17",32:"r17",33:"r17",34:"r17",35:"r17",36:"r17",37:"r17",38:"r17",39:"r17",40:"r17",41:"r17",42:"r17",43:"r17",44:"r17",45:"r17",52:"r17",53:"r17",54:"r17",55:"r17",57:"r17"},{4:57,5:5,6:6,24:"r10",25:"r10",26:"r10",27:"r10",28:"r10",29:"r10",30:"r10",31:"r10",32:"r10",33:"r10",34:"r10",35:"r10",36:"r10",37:"r10",38:"r10",39:"r10",40:"r10",41:"r10",42:"r10",43:"r10",44:"r10",45:"r10",52:"r10",53:"r10",54:"r10",55:"r10",57:"r10"},{4:59,5:5,6:6,24:"r10",25:"r10",26:"r10",27:"r10",28:"r10",29:"r10",30:"r10",31:"r10",32:"r10",33:"r10",34:"r10",35:"r10",36:"r10",37:"r10",38:"r10",39:"r10",40:"r10",41:"r10",42:"r10",43:"r10",44:"r10",45:"r10",52:"r10",53:"r10",54:"r10",55:"r10",57:"r10"},{4:61,5:5,6:6,24:"r10",25:"r10",26:"r10",27:"r10",28:"r10",29:"r10",30:"r10",31:"r10",32:"r10",33:"r10",34:"r10",35:"r10",36:"r10",37:"r10",38:"r10",39:"r10",40:"r10",41:"r10",42:"r10",43:"r10",44:"r10",45:"r10",52:"r10",53:"r10",54:"r10",55:"r10",57:"r10"},{4:63,5:5,6:6,24:"r10",25:"r10",26:"r10",27:"r10",28:"r10",29:"r10",30:"r10",31:"r10",32:"r10",33:"r10",34:"r10",35:"r10",36:"r10",37:"r10",38:"r10",39:"r10",40:"r10",41:"r10",42:"r10",43:"r10",44:"r10",45:"r10",52:"r10",53:"r10",54:"r10",55:"r10",57:"r10"},{23:"r22",24:"r22",25:"r22",26:"r22",27:"r22",28:"r22",29:"r22",30:"r22",31:"r22",32:"r22",33:"r22",34:"r22",35:"r22",36:"r22",37:"r22",38:"r22",39:"r22",40:"r22",41:"r22",42:"r22",43:"r22",44:"r22",45:"r22",46:"r22",47:"r22",48:"r22",49:"r22",50:"r22",51:"r22",52:"r22",53:"r22",54:"r22",55:"r22",57:"r22"},{23:"r23",24:"r23",25:"r23",26:"r23",27:"r23",28:"r23",29:"r23",30:"r23",31:"r23",32:"r23",33:"r23",34:"r23",35:"r23",36:"r23",37:"r23",38:"r23",39:"r23",40:"r23",41:"r23",42:"r23",43:"r23",44:"r23",45:"r23",46:"r23",47:"r23",48:"r23",49:"r23",50:"r23",51:"r23",52:"r23",53:"r23",54:"r23",55:"r23",57:"r23"},{23:"r24",24:"r24",25:"r24",26:"r24",27:"r24",28:"r24",29:"r24",30:"r24",31:"r24",32:"r24",33:"r24",34:"r24",35:"r24",36:"r24",37:"r24",38:"r24",39:"r24",40:"r24",41:"r24",42:"r24",43:"r24",44:"r24",45:"r24",46:"r24",47:"r24",48:"r24",49:"r24",50:"r24",51:"r24",52:"r24",53:"r24",54:"r24",55:"r24",57:"r24"},{23:"r25",24:"r25",25:"r25",26:"r25",27:"r25",28:"r25",29:"r25",30:"r25",31:"r25",32:"r25",33:"r25",34:"r25",35:"r25",36:"r25",37:"r25",38:"r25",39:"r25",40:"r25",41:"r25",42:"r25",43:"r25",44:"r25",45:"r25",46:"r25",47:"r25",48:"r25",49:"r25",50:"r25",51:"r25",52:"r25",53:"r25",54:"r25",55:"r25",56:"r25",57:"r25",58:"r25"},{23:"r26",24:"r26",25:"r26",26:"r26",27:"r26",28:"r26",29:"r26",30:"r26",31:"r26",32:"r26",33:"r26",34:"r26",35:"r26",36:"r26",37:"r26",38:"r26",39:"r26",40:"r26",41:"r26",42:"r26",43:"r26",44:"r26",45:"r26",46:"r26",47:"r26",48:"r26",49:"r26",50:"r26",51:"r26",52:"r26",53:"r26",54:"r26",55:"r26",56:"r26",57:"r26",58:"r26"},{23:"r27",24:"r27",25:"r27",26:"r27",27:"r27",28:"r27",29:"r27",30:"r27",31:"r27",32:"r27",33:"r27",34:"r27",35:"r27",36:"r27",37:"r27",38:"r27",39:"r27",40:"r27",41:"r27",42:"r27",43:"r27",44:"r27",45:"r27",46:"r27",47:"r27",48:"r27",49:"r27",50:"r27",51:"r27",52:"r27",53:"r27",54:"r27",55:"r27",56:"r27",57:"r27",58:"r27"},{23:"r28",24:"r28",25:"r28",26:"r28",27:"r28",28:"r28",29:"r28",30:"r28",31:"r28",32:"r28",33:"r28",34:"r28",35:"r28",36:"r28",37:"r28",38:"r28",39:"r28",40:"r28",41:"r28",42:"r28",43:"r28",44:"r28",45:"r28",46:"r28",47:"r28",48:"r28",49:"r28",50:"r28",51:"r28",52:"r28",53:"r28",54:"r28",55:"r28",56:"r28",57:"r28",58:"r28"},{23:"r29",24:"r29",25:"r29",26:"r29",27:"r29",28:"r29",29:"r29",30:"r29",31:"r29",32:"r29",33:"r29",34:"r29",35:"r29",36:"r29",37:"r29",38:"r29",39:"r29",40:"r29",41:"r29",42:"r29",43:"r29",44:"r29",45:"r29",46:"r29",47:"r29",48:"r29",49:"r29",50:"r29",51:"r29",52:"r29",53:"r29",54:"r29",55:"r29",56:"r29",57:"r29",58:"r29"},{23:"r30",24:"r30",25:"r30",26:"r30",27:"r30",28:"r30",29:"r30",30:"r30",31:"r30",32:"r30",33:"r30",34:"r30",35:"r30",36:"r30",37:"r30",38:"r30",39:"r30",40:"r30",41:"r30",42:"r30",43:"r30",44:"r30",45:"r30",46:"r30",47:"r30",48:"r30",49:"r30",50:"r30",51:"r30",52:"r30",53:"r30",54:"r30",55:"r30",56:"r30",57:"r30",58:"r30"},{23:"r31",24:"r31",25:"r31",26:"r31",27:"r31",28:"r31",29:"r31",30:"r31",31:"r31",32:"r31",33:"r31",34:"r31",35:"r31",36:"r31",37:"r31",38:"r31",39:"r31",40:"r31",41:"r31",42:"r31",43:"r31",44:"r31",45:"r31",46:"r31",47:"r31",48:"r31",49:"r31",50:"r31",51:"r31",52:"r31",53:"r31",54:"r31",55:"r31",56:"r31",57:"r31",58:"r31"},{23:"r32",24:"r32",25:"r32",26:"r32",27:"r32",28:"r32",29:"r32",30:"r32",31:"r32",32:"r32",33:"r32",34:"r32",35:"r32",36:"r32",37:"r32",38:"r32",39:"r32",40:"r32",41:"r32",42:"r32",43:"r32",44:"r32",45:"r32",46:"r32",47:"r32",48:"r32",49:"r32",50:"r32",51:"r32",52:"r32",53:"r32",54:"r32",55:"r32",56:"r32",57:"r32",58:"r32"},{23:"r33",24:"r33",25:"r33",26:"r33",27:"r33",28:"r33",29:"r33",30:"r33",31:"r33",32:"r33",33:"r33",34:"r33",35:"r33",36:"r33",37:"r33",38:"r33",39:"r33",40:"r33",41:"r33",42:"r33",43:"r33",44:"r33",45:"r33",46:"r33",47:"r33",48:"r33",49:"r33",50:"r33",51:"r33",52:"r33",53:"r33",54:"r33",55:"r33",56:"r33",57:"r33",58:"r33"},{23:"r34",24:"r34",25:"r34",26:"r34",27:"r34",28:"r34",29:"r34",30:"r34",31:"r34",32:"r34",33:"r34",34:"r34",35:"r34",36:"r34",37:"r34",38:"r34",39:"r34",40:"r34",41:"r34",42:"r34",43:"r34",44:"r34",45:"r34",46:"r34",47:"r34",48:"r34",49:"r34",50:"r34",51:"r34",52:"r34",53:"r34",54:"r34",55:"r34",56:"r34",57:"r34",58:"r34"},{23:"r35",24:"r35",25:"r35",26:"r35",27:"r35",28:"r35",29:"r35",30:"r35",31:"r35",32:"r35",33:"r35",34:"r35",35:"r35",36:"r35",37:"r35",38:"r35",39:"r35",40:"r35",41:"r35",42:"r35",43:"r35",44:"r35",45:"r35",46:"r35",47:"r35",48:"r35",49:"r35",50:"r35",51:"r35",52:"r35",53:"r35",54:"r35",55:"r35",56:"r35",57:"r35",58:"r35"},{23:"r36",24:"r36",25:"r36",26:"r36",27:"r36",28:"r36",29:"r36",30:"r36",31:"r36",32:"r36",33:"r36",34:"r36",35:"r36",36:"r36",37:"r36",38:"r36",39:"r36",40:"r36",41:"r36",42:"r36",43:"r36",44:"r36",45:"r36",46:"r36",47:"r36",48:"r36",49:"r36",50:"r36",51:"r36",52:"r36",53:"r36",54:"r36",55:"r36",56:"r36",57:"r36",58:"r36"},{10:70,18:65,19:66,21:67,22:69,24:"s28",28:"s71",35:"s29",36:"s30",37:"s31",38:"s32",39:"s33",40:"s34",41:"s35",42:"s36",43:"s37",44:"s38",45:"s39",56:"r54",58:"s68"},{10:70,18:83,19:66,21:67,22:69,24:"s28",28:"s71",35:"s29",36:"s30",37:"s31",38:"s32",39:"s33",40:"s34",41:"s35",42:"s36",43:"s37",44:"s38",45:"s39",56:"r54",58:"s68"},{23:"r47",24:"r47",25:"r47",26:"r47",27:"r47",28:"r47",29:"r47",30:"r47",31:"r47",32:"r47",33:"r47",34:"r47",35:"r47",36:"r47",37:"r47",38:"r47",39:"r47",40:"r47",41:"r47",42:"r47",43:"r47",44:"r47",45:"r47",46:"r47",47:"r47",48:"r47",49:"r47",50:"r47",51:"r47",52:"r47",53:"r47",54:"r47",55:"r47",57:"r47"},{23:"r48",24:"r48",25:"r48",26:"r48",27:"r48",28:"r48",29:"r48",30:"r48",31:"r48",32:"r48",33:"r48",34:"r48",35:"r48",36:"r48",37:"r48",38:"r48",39:"r48",40:"r48",41:"r48",42:"r48",43:"r48",44:"r48",45:"r48",46:"r48",47:"r48",48:"r48",49:"r48",50:"r48",51:"r48",52:"r48",53:"r48",54:"r48",55:"r48",57:"r48"},{4:85,5:5,6:6,24:"r10",25:"r10",26:"r10",27:"r10",28:"r10",29:"r10",30:"r10",31:"r10",32:"r10",33:"r10",34:"r10",35:"r10",36:"r10",37:"r10",38:"r10",39:"r10",40:"r10",41:"r10",42:"r10",43:"r10",44:"r10",45:"r10",52:"r10",53:"r10",54:"r10",55:"r10",57:"r10"},{4:87,5:5,6:6,24:"r10",25:"r10",26:"r10",27:"r10",28:"r10",29:"r10",30:"r10",31:"r10",32:"r10",33:"r10",34:"r10",35:"r10",36:"r10",37:"r10",38:"r10",39:"r10",40:"r10",41:"r10",42:"r10",43:"r10",44:"r10",45:"r10",52:"r10",53:"r10",54:"r10",55:"r10",57:"r10"},{4:89,5:5,6:6,24:"r10",25:"r10",26:"r10",27:"r10",28:"r10",29:"r10",30:"r10",31:"r10",32:"r10",33:"r10",34:"r10",35:"r10",36:"r10",37:"r10",38:"r10",39:"r10",40:"r10",41:"r10",42:"r10",43:"r10",44:"r10",45:"r10",52:"r10",53:"r10",54:"r10",55:"r10",57:"r10"},{23:"r13",24:"r13",25:"r13",26:"r13",27:"r13",28:"r13",29:"r13",30:"r13",31:"r13",32:"r13",33:"r13",34:"r13",35:"r13",36:"r13",37:"r13",38:"r13",39:"r13",40:"r13",41:"r13",42:"r13",43:"r13",44:"r13",45:"r13",52:"r13",53:"r13",54:"r13",55:"r13",57:"r13"},{23:"r37",24:"r37",25:"r37",26:"r37",27:"r37",28:"r37",29:"r37",30:"r37",31:"r37",32:"r37",33:"r37",34:"r37",35:"r37",36:"r37",37:"r37",38:"r37",39:"r37",40:"r37",41:"r37",42:"r37",43:"r37",44:"r37",45:"r37",52:"r37",53:"r37",54:"r37",55:"r37",57:"r37"},{23:"r39",24:"r39",25:"r39",26:"r39",27:"r39",28:"r39",29:"r39",30:"r39",31:"r39",32:"r39",33:"r39",34:"r39",35:"r39",36:"r39",37:"r39",38:"r39",39:"r39",40:"r39",41:"r39",42:"r39",43:"r39",44:"r39",45:"r39",46:"s56",52:"r39",53:"r39",54:"r39",55:"r39",57:"r39"},{23:"r41",24:"r41",25:"r41",26:"r41",27:"r41",28:"r41",29:"r41",30:"r41",31:"r41",32:"r41",33:"r41",34:"r41",35:"r41",36:"r41",37:"r41",38:"r41",39:"r41",40:"r41",41:"r41",42:"r41",43:"r41",44:"r41",45:"r41",46:"r41",52:"r41",53:"r41",54:"r41",55:"r41",57:"r41"},{23:"r42",24:"r42",25:"r42",26:"r42",27:"r42",28:"r42",29:"r42",30:"r42",31:"r42",32:"r42",33:"r42",34:"r42",35:"r42",36:"r42",37:"r42",38:"r42",39:"r42",40:"r42",41:"r42",42:"r42",43:"r42",44:"r42",45:"r42",46:"r42",52:"r42",53:"r42",54:"r42",55:"r42",57:"r42"},{23:"r43",24:"r43",25:"r43",26:"r43",27:"r43",28:"r43",29:"r43",30:"r43",31:"r43",32:"r43",33:"r43",34:"r43",35:"r43",36:"r43",37:"r43",38:"r43",39:"r43",40:"r43",41:"r43",42:"r43",43:"r43",44:"r43",45:"r43",46:"r43",52:"r43",53:"r43",54:"r43",55:"r43",57:"r43"},{23:"r44",24:"r44",25:"r44",26:"r44",27:"r44",28:"r44",29:"r44",30:"r44",31:"r44",32:"r44",33:"r44",34:"r44",35:"r44",36:"r44",37:"r44",38:"r44",39:"r44",40:"r44",41:"r44",42:"r44",43:"r44",44:"r44",45:"r44",46:"r44",52:"r44",53:"r44",54:"r44",55:"r44",57:"r44"},{23:"r45",24:"r45",25:"r45",26:"r45",27:"r45",28:"r45",29:"r45",30:"r45",31:"r45",32:"r45",33:"r45",34:"r45",35:"r45",36:"r45",37:"r45",38:"r45",39:"r45",40:"r45",41:"r45",42:"r45",43:"r45",44:"r45",45:"r45",46:"r45",52:"r45",53:"r45",54:"r45",55:"r45",57:"r45"},{23:"r46",24:"r46",25:"r46",26:"r46",27:"r46",28:"r46",29:"r46",30:"r46",31:"r46",32:"r46",33:"r46",34:"r46",35:"r46",36:"r46",37:"r46",38:"r46",39:"r46",40:"r46",41:"r46",42:"r46",43:"r46",44:"r46",45:"r46",46:"r46",52:"r46",53:"r46",54:"r46",55:"r46",57:"r46"},{23:"r40",24:"r40",25:"r40",26:"r40",27:"r40",28:"r40",29:"r40",30:"r40",31:"r40",32:"r40",33:"r40",34:"r40",35:"r40",36:"r40",37:"r40",38:"r40",39:"r40",40:"r40",41:"r40",42:"r40",43:"r40",44:"r40",45:"r40",52:"r40",53:"r40",54:"r40",55:"r40",57:"r40"},{25:"s12",31:"s58"},{23:"r18",24:"r18",25:"r18",26:"r18",27:"r18",28:"r18",29:"r18",30:"r18",31:"r18",32:"r18",33:"r18",34:"r18",35:"r18",36:"r18",37:"r18",38:"r18",39:"r18",40:"r18",41:"r18",42:"r18",43:"r18",44:"r18",45:"r18",52:"r18",53:"r18",54:"r18",55:"r18",57:"r18"},{25:"s12",31:"s60"},{23:"r19",24:"r19",25:"r19",26:"r19",27:"r19",28:"r19",29:"r19",30:"r19",31:"r19",32:"r19",33:"r19",34:"r19",35:"r19",36:"r19",37:"r19",38:"r19",39:"r19",40:"r19",41:"r19",42:"r19",43:"r19",44:"r19",45:"r19",52:"r19",53:"r19",54:"r19",55:"r19",57:"r19"},{25:"s12",31:"s62"},{23:"r20",24:"r20",25:"r20",26:"r20",27:"r20",28:"r20",29:"r20",30:"r20",31:"r20",32:"r20",33:"r20",34:"r20",35:"r20",36:"r20",37:"r20",38:"r20",39:"r20",40:"r20",41:"r20",42:"r20",43:"r20",44:"r20",45:"r20",52:"r20",53:"r20",54:"r20",55:"r20",57:"r20"},{25:"s12",31:"s64"},{23:"r21",24:"r21",25:"r21",26:"r21",27:"r21",28:"r21",29:"r21",30:"r21",31:"r21",32:"r21",33:"r21",34:"r21",35:"r21",36:"r21",37:"r21",38:"r21",39:"r21",40:"r21",41:"r21",42:"r21",43:"r21",44:"r21",45:"r21",52:"r21",53:"r21",54:"r21",55:"r21",57:"r21"},{56:"s72"},{56:"r55"},{10:70,20:73,21:75,22:76,24:"s28",28:"s71",35:"s29",36:"s30",37:"s31",38:"s32",39:"s33",40:"s34",41:"s35",42:"s36",43:"s37",44:"s38",45:"s39",56:"r56",58:"s74"},{24:"r62",28:"r62",35:"r62",36:"r62",37:"r62",38:"r62",39:"r62",40:"r62",41:"r62",42:"r62",43:"r62",44:"r62",45:"r62",56:"r62",58:"r62"},{24:"r63",28:"r63",35:"r63",36:"r63",37:"r63",38:"r63",39:"r63",40:"r63",41:"r63",42:"r63",43:"r63",44:"r63",45:"r63",56:"r63",58:"r63"},{24:"r64",28:"r64",35:"r64",36:"r64",37:"r64",38:"r64",39:"r64",40:"r64",41:"r64",42:"r64",43:"r64",44:"r64",45:"r64",56:"r64",58:"r64"},{24:"r65",28:"r65",35:"r65",36:"r65",37:"r65",38:"r65",39:"r65",40:"r65",41:"r65",42:"r65",43:"r65",44:"r65",45:"r65",56:"r65",58:"r65"},{23:"r52",24:"r52",25:"r52",26:"r52",27:"r52",28:"r52",29:"r52",30:"r52",31:"r52",32:"r52",33:"r52",34:"r52",35:"r52",36:"r52",37:"r52",38:"r52",39:"r52",40:"r52",41:"r52",42:"r52",43:"r52",44:"r52",45:"r52",46:"r52",47:"r52",48:"r52",49:"r52",50:"r52",51:"r52",52:"r52",53:"r52",54:"r52",55:"r52",57:"r52"},{56:"r57"},{10:70,21:77,22:69,24:"s28",28:"s71",35:"s29",36:"s30",37:"s31",38:"s32",39:"s33",40:"s34",41:"s35",42:"s36",43:"s37",44:"s38",45:"s39",56:"r62",58:"s68"},{56:"r59"},{10:70,20:79,21:75,22:76,24:"s28",28:"s71",35:"s29",36:"s30",37:"s31",38:"s32",39:"s33",40:"s34",41:"s35",42:"s36",43:"s37",44:"s38",45:"s39",56:"r63",58:"s80"},{10:70,18:78,19:66,21:67,22:69,24:"s28",28:"s71",35:"s29",36:"s30",37:"s31",38:"s32",39:"s33",40:"s34",41:"s35",42:"s36",43:"s37",44:"s38",45:"s39",56:"r54",58:"s68"},{56:"r58"},{56:"r60"},{10:70,21:81,22:69,24:"s28",28:"s71",35:"s29",36:"s30",37:"s31",38:"s32",39:"s33",40:"s34",41:"s35",42:"s36",43:"s37",44:"s38",45:"s39",56:"r62",58:"s68"},{10:70,18:82,19:66,21:67,22:69,24:"s28",28:"s71",35:"s29",36:"s30",37:"s31",38:"s32",39:"s33",40:"s34",41:"s35",42:"s36",43:"s37",44:"s38",45:"s39",56:"r54",58:"s68"},{56:"r61"},{56:"s84"},{23:"r53",24:"r53",25:"r53",26:"r53",27:"r53",28:"r53",29:"r53",30:"r53",31:"r53",32:"r53",33:"r53",34:"r53",35:"r53",36:"r53",37:"r53",38:"r53",39:"r53",40:"r53",41:"r53",42:"r53",43:"r53",44:"r53",45:"r53",46:"r53",47:"r53",48:"r53",49:"r53",50:"r53",51:"r53",52:"r53",53:"r53",54:"r53",55:"r53",57:"r53"},{25:"s12",31:"s86"},{23:"r49",24:"r49",25:"r49",26:"r49",27:"r49",28:"r49",29:"r49",30:"r49",31:"r49",32:"r49",33:"r49",34:"r49",35:"r49",36:"r49",37:"r49",38:"r49",39:"r49",40:"r49",41:"r49",42:"r49",43:"r49",44:"r49",45:"r49",46:"r49",47:"r49",48:"r49",49:"r49",50:"r49",51:"r49",52:"r49",53:"r49",54:"r49",55:"r49",57:"r49"},{25:"s12",31:"s88"},{23:"r50",24:"r50",25:"r50",26:"r50",27:"r50",28:"r50",29:"r50",30:"r50",31:"r50",32:"r50",33:"r50",34:"r50",35:"r50",36:"r50",37:"r50",38:"r50",39:"r50",40:"r50",41:"r50",42:"r50",43:"r50",44:"r50",45:"r50",46:"r50",47:"r50",48:"r50",49:"r50",50:"r50",51:"r50",52:"r50",53:"r50",54:"r50",55:"r50",57:"r50"},{25:"s12",31:"s90"},{23:"r51",24:"r51",25:"r51",26:"r51",27:"r51",28:"r51",29:"r51",30:"r51",31:"r51",32:"r51",33:"r51",34:"r51",35:"r51",36:"r51",37:"r51",38:"r51",39:"r51",40:"r51",41:"r51",42:"r51",43:"r51",44:"r51",45:"r51",46:"r51",47:"r51",48:"r51",49:"r51",50:"r51",51:"r51",52:"r51",53:"r51",54:"r51",55:"r51",57:"r51"}],M$e=[],F$e=void 0,B$e=[[/^#[^\n]+/,function(){}],[/^\s+/,function(){}],[/^-/,function(){return"DASH"}],[/^\//,function(){return"CHAR"}],[/^#/,function(){return"CHAR"}],[/^\|/,function(){return"CHAR"}],[/^\./,function(){return"CHAR"}],[/^\{/,function(){return"CHAR"}],[/^\{\d+\}/,function(){return"RANGE_EXACT"}],[/^\{\d+,\}/,function(){return"RANGE_OPEN"}],[/^\{\d+,\d+\}/,function(){return"RANGE_CLOSED"}],[/^\\k<(([\u0041-\u005a\u0061-\u007a\u00aa\u00b5\u00ba\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376-\u0377\u037a-\u037d\u037f\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u052f\u0531-\u0556\u0559\u0560-\u0588\u05d0-\u05ea\u05ef-\u05f2\u0620-\u064a\u066e-\u066f\u0671-\u06d3\u06d5\u06e5-\u06e6\u06ee-\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u07f4-\u07f5\u07fa\u0800-\u0815\u081a\u0824\u0828\u0840-\u0858\u0860-\u086a\u08a0-\u08b4\u08b6-\u08bd\u0904-\u0939\u093d\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098c\u098f-\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd\u09ce\u09dc-\u09dd\u09df-\u09e1\u09f0-\u09f1\u09fc\u0a05-\u0a0a\u0a0f-\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32-\u0a33\u0a35-\u0a36\u0a38-\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2-\u0ab3\u0ab5-\u0ab9\u0abd\u0ad0\u0ae0-\u0ae1\u0af9\u0b05-\u0b0c\u0b0f-\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32-\u0b33\u0b35-\u0b39\u0b3d\u0b5c-\u0b5d\u0b5f-\u0b61\u0b71\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99-\u0b9a\u0b9c\u0b9e-\u0b9f\u0ba3-\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3d\u0c58-\u0c5a\u0c60-\u0c61\u0c80\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cde\u0ce0-\u0ce1\u0cf1-\u0cf2\u0d05-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d\u0d4e\u0d54-\u0d56\u0d5f-\u0d61\u0d7a-\u0d7f\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0e01-\u0e30\u0e32-\u0e33\u0e40-\u0e46\u0e81-\u0e82\u0e84\u0e86-\u0e8a\u0e8c-\u0ea3\u0ea5\u0ea7-\u0eb0\u0eb2-\u0eb3\u0ebd\u0ec0-\u0ec4\u0ec6\u0edc-\u0edf\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f88-\u0f8c\u1000-\u102a\u103f\u1050-\u1055\u105a-\u105d\u1061\u1065-\u1066\u106e-\u1070\u1075-\u1081\u108e\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u1380-\u138f\u13a0-\u13f5\u13f8-\u13fd\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f8\u1700-\u170c\u170e-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1780-\u17b3\u17d7\u17dc\u1820-\u1878\u1880-\u18a8\u18aa\u18b0-\u18f5\u1900-\u191e\u1950-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u1a00-\u1a16\u1a20-\u1a54\u1aa7\u1b05-\u1b33\u1b45-\u1b4b\u1b83-\u1ba0\u1bae-\u1baf\u1bba-\u1be5\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c7d\u1c80-\u1c88\u1c90-\u1cba\u1cbd-\u1cbf\u1ce9-\u1cec\u1cee-\u1cf3\u1cf5-\u1cf6\u1cfa\u1d00-\u1dbf\u1e00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u2071\u207f\u2090-\u209c\u2102\u2107\u210a-\u2113\u2115\u2118-\u211d\u2124\u2126\u2128\u212a-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2c2e\u2c30-\u2c5e\u2c60-\u2ce4\u2ceb-\u2cee\u2cf2-\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303c\u3041-\u3096\u309b-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312f\u3131-\u318e\u31a0-\u31ba\u31f0-\u31ff\u3400-\u4db5\u4e00-\u9fef\ua000-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua61f\ua62a-\ua62b\ua640-\ua66e\ua67f-\ua69d\ua6a0-\ua6ef\ua717-\ua71f\ua722-\ua788\ua78b-\ua7bf\ua7c2-\ua7c6\ua7f7-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua8f2-\ua8f7\ua8fb\ua8fd-\ua8fe\ua90a-\ua925\ua930-\ua946\ua960-\ua97c\ua984-\ua9b2\ua9cf\ua9e0-\ua9e4\ua9e6-\ua9ef\ua9fa-\ua9fe\uaa00-\uaa28\uaa40-\uaa42\uaa44-\uaa4b\uaa60-\uaa76\uaa7a\uaa7e-\uaaaf\uaab1\uaab5-\uaab6\uaab9-\uaabd\uaac0\uaac2\uaadb-\uaadd\uaae0-\uaaea\uaaf2-\uaaf4\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab5a\uab5c-\uab67\uab70-\uabe2\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d\ufb1f-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40-\ufb41\ufb43-\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff21-\uff3a\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc]|\ud800[\udc00-\udc0b\udc0d-\udc26\udc28-\udc3a\udc3c-\udc3d\udc3f-\udc4d\udc50-\udc5d\udc80-\udcfa\udd40-\udd74\ude80-\ude9c\udea0-\uded0\udf00-\udf1f\udf2d-\udf4a\udf50-\udf75\udf80-\udf9d\udfa0-\udfc3\udfc8-\udfcf\udfd1-\udfd5]|\ud801[\udc00-\udc9d\udcb0-\udcd3\udcd8-\udcfb\udd00-\udd27\udd30-\udd63\ude00-\udf36\udf40-\udf55\udf60-\udf67]|\ud802[\udc00-\udc05\udc08\udc0a-\udc35\udc37-\udc38\udc3c\udc3f-\udc55\udc60-\udc76\udc80-\udc9e\udce0-\udcf2\udcf4-\udcf5\udd00-\udd15\udd20-\udd39\udd80-\uddb7\uddbe-\uddbf\ude00\ude10-\ude13\ude15-\ude17\ude19-\ude35\ude60-\ude7c\ude80-\ude9c\udec0-\udec7\udec9-\udee4\udf00-\udf35\udf40-\udf55\udf60-\udf72\udf80-\udf91]|\ud803[\udc00-\udc48\udc80-\udcb2\udcc0-\udcf2\udd00-\udd23\udf00-\udf1c\udf27\udf30-\udf45\udfe0-\udff6]|\ud804[\udc03-\udc37\udc83-\udcaf\udcd0-\udce8\udd03-\udd26\udd44\udd50-\udd72\udd76\udd83-\uddb2\uddc1-\uddc4\uddda\udddc\ude00-\ude11\ude13-\ude2b\ude80-\ude86\ude88\ude8a-\ude8d\ude8f-\ude9d\ude9f-\udea8\udeb0-\udede\udf05-\udf0c\udf0f-\udf10\udf13-\udf28\udf2a-\udf30\udf32-\udf33\udf35-\udf39\udf3d\udf50\udf5d-\udf61]|\ud805[\udc00-\udc34\udc47-\udc4a\udc5f\udc80-\udcaf\udcc4-\udcc5\udcc7\udd80-\uddae\uddd8-\udddb\ude00-\ude2f\ude44\ude80-\udeaa\udeb8\udf00-\udf1a]|\ud806[\udc00-\udc2b\udca0-\udcdf\udcff\udda0-\udda7\uddaa-\uddd0\udde1\udde3\ude00\ude0b-\ude32\ude3a\ude50\ude5c-\ude89\ude9d\udec0-\udef8]|\ud807[\udc00-\udc08\udc0a-\udc2e\udc40\udc72-\udc8f\udd00-\udd06\udd08-\udd09\udd0b-\udd30\udd46\udd60-\udd65\udd67-\udd68\udd6a-\udd89\udd98\udee0-\udef2]|\ud808[\udc00-\udf99]|\ud809[\udc00-\udc6e\udc80-\udd43]|\ud80c[\udc00-\udfff]|\ud80d[\udc00-\udc2e]|\ud811[\udc00-\ude46]|\ud81a[\udc00-\ude38\ude40-\ude5e\uded0-\udeed\udf00-\udf2f\udf40-\udf43\udf63-\udf77\udf7d-\udf8f]|\ud81b[\ude40-\ude7f\udf00-\udf4a\udf50\udf93-\udf9f\udfe0-\udfe1\udfe3]|\ud81c[\udc00-\udfff]|\ud81d[\udc00-\udfff]|\ud81e[\udc00-\udfff]|\ud81f[\udc00-\udfff]|\ud820[\udc00-\udfff]|\ud821[\udc00-\udff7]|\ud822[\udc00-\udef2]|\ud82c[\udc00-\udd1e\udd50-\udd52\udd64-\udd67\udd70-\udefb]|\ud82f[\udc00-\udc6a\udc70-\udc7c\udc80-\udc88\udc90-\udc99]|\ud835[\udc00-\udc54\udc56-\udc9c\udc9e-\udc9f\udca2\udca5-\udca6\udca9-\udcac\udcae-\udcb9\udcbb\udcbd-\udcc3\udcc5-\udd05\udd07-\udd0a\udd0d-\udd14\udd16-\udd1c\udd1e-\udd39\udd3b-\udd3e\udd40-\udd44\udd46\udd4a-\udd50\udd52-\udea5\udea8-\udec0\udec2-\udeda\udedc-\udefa\udefc-\udf14\udf16-\udf34\udf36-\udf4e\udf50-\udf6e\udf70-\udf88\udf8a-\udfa8\udfaa-\udfc2\udfc4-\udfcb]|\ud838[\udd00-\udd2c\udd37-\udd3d\udd4e\udec0-\udeeb]|\ud83a[\udc00-\udcc4\udd00-\udd43\udd4b]|\ud83b[\ude00-\ude03\ude05-\ude1f\ude21-\ude22\ude24\ude27\ude29-\ude32\ude34-\ude37\ude39\ude3b\ude42\ude47\ude49\ude4b\ude4d-\ude4f\ude51-\ude52\ude54\ude57\ude59\ude5b\ude5d\ude5f\ude61-\ude62\ude64\ude67-\ude6a\ude6c-\ude72\ude74-\ude77\ude79-\ude7c\ude7e\ude80-\ude89\ude8b-\ude9b\udea1-\udea3\udea5-\udea9\udeab-\udebb]|\ud840[\udc00-\udfff]|\ud841[\udc00-\udfff]|\ud842[\udc00-\udfff]|\ud843[\udc00-\udfff]|\ud844[\udc00-\udfff]|\ud845[\udc00-\udfff]|\ud846[\udc00-\udfff]|\ud847[\udc00-\udfff]|\ud848[\udc00-\udfff]|\ud849[\udc00-\udfff]|\ud84a[\udc00-\udfff]|\ud84b[\udc00-\udfff]|\ud84c[\udc00-\udfff]|\ud84d[\udc00-\udfff]|\ud84e[\udc00-\udfff]|\ud84f[\udc00-\udfff]|\ud850[\udc00-\udfff]|\ud851[\udc00-\udfff]|\ud852[\udc00-\udfff]|\ud853[\udc00-\udfff]|\ud854[\udc00-\udfff]|\ud855[\udc00-\udfff]|\ud856[\udc00-\udfff]|\ud857[\udc00-\udfff]|\ud858[\udc00-\udfff]|\ud859[\udc00-\udfff]|\ud85a[\udc00-\udfff]|\ud85b[\udc00-\udfff]|\ud85c[\udc00-\udfff]|\ud85d[\udc00-\udfff]|\ud85e[\udc00-\udfff]|\ud85f[\udc00-\udfff]|\ud860[\udc00-\udfff]|\ud861[\udc00-\udfff]|\ud862[\udc00-\udfff]|\ud863[\udc00-\udfff]|\ud864[\udc00-\udfff]|\ud865[\udc00-\udfff]|\ud866[\udc00-\udfff]|\ud867[\udc00-\udfff]|\ud868[\udc00-\udfff]|\ud869[\udc00-\uded6\udf00-\udfff]|\ud86a[\udc00-\udfff]|\ud86b[\udc00-\udfff]|\ud86c[\udc00-\udfff]|\ud86d[\udc00-\udf34\udf40-\udfff]|\ud86e[\udc00-\udc1d\udc20-\udfff]|\ud86f[\udc00-\udfff]|\ud870[\udc00-\udfff]|\ud871[\udc00-\udfff]|\ud872[\udc00-\udfff]|\ud873[\udc00-\udea1\udeb0-\udfff]|\ud874[\udc00-\udfff]|\ud875[\udc00-\udfff]|\ud876[\udc00-\udfff]|\ud877[\udc00-\udfff]|\ud878[\udc00-\udfff]|\ud879[\udc00-\udfff]|\ud87a[\udc00-\udfe0]|\ud87e[\udc00-\ude1d])|[$_]|(\\u[0-9a-fA-F]{4}|\\u\{[0-9a-fA-F]{1,}\}))(([\u0030-\u0039\u0041-\u005a\u005f\u0061-\u007a\u00aa\u00b5\u00b7\u00ba\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0300-\u0374\u0376-\u0377\u037a-\u037d\u037f\u0386-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u0483-\u0487\u048a-\u052f\u0531-\u0556\u0559\u0560-\u0588\u0591-\u05bd\u05bf\u05c1-\u05c2\u05c4-\u05c5\u05c7\u05d0-\u05ea\u05ef-\u05f2\u0610-\u061a\u0620-\u0669\u066e-\u06d3\u06d5-\u06dc\u06df-\u06e8\u06ea-\u06fc\u06ff\u0710-\u074a\u074d-\u07b1\u07c0-\u07f5\u07fa\u07fd\u0800-\u082d\u0840-\u085b\u0860-\u086a\u08a0-\u08b4\u08b6-\u08bd\u08d3-\u08e1\u08e3-\u0963\u0966-\u096f\u0971-\u0983\u0985-\u098c\u098f-\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bc-\u09c4\u09c7-\u09c8\u09cb-\u09ce\u09d7\u09dc-\u09dd\u09df-\u09e3\u09e6-\u09f1\u09fc\u09fe\u0a01-\u0a03\u0a05-\u0a0a\u0a0f-\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32-\u0a33\u0a35-\u0a36\u0a38-\u0a39\u0a3c\u0a3e-\u0a42\u0a47-\u0a48\u0a4b-\u0a4d\u0a51\u0a59-\u0a5c\u0a5e\u0a66-\u0a75\u0a81-\u0a83\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2-\u0ab3\u0ab5-\u0ab9\u0abc-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ad0\u0ae0-\u0ae3\u0ae6-\u0aef\u0af9-\u0aff\u0b01-\u0b03\u0b05-\u0b0c\u0b0f-\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32-\u0b33\u0b35-\u0b39\u0b3c-\u0b44\u0b47-\u0b48\u0b4b-\u0b4d\u0b56-\u0b57\u0b5c-\u0b5d\u0b5f-\u0b63\u0b66-\u0b6f\u0b71\u0b82-\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99-\u0b9a\u0b9c\u0b9e-\u0b9f\u0ba3-\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd0\u0bd7\u0be6-\u0bef\u0c00-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3d-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55-\u0c56\u0c58-\u0c5a\u0c60-\u0c63\u0c66-\u0c6f\u0c80-\u0c83\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbc-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5-\u0cd6\u0cde\u0ce0-\u0ce3\u0ce6-\u0cef\u0cf1-\u0cf2\u0d00-\u0d03\u0d05-\u0d0c\u0d0e-\u0d10\u0d12-\u0d44\u0d46-\u0d48\u0d4a-\u0d4e\u0d54-\u0d57\u0d5f-\u0d63\u0d66-\u0d6f\u0d7a-\u0d7f\u0d82-\u0d83\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2-\u0df3\u0e01-\u0e3a\u0e40-\u0e4e\u0e50-\u0e59\u0e81-\u0e82\u0e84\u0e86-\u0e8a\u0e8c-\u0ea3\u0ea5\u0ea7-\u0ebd\u0ec0-\u0ec4\u0ec6\u0ec8-\u0ecd\u0ed0-\u0ed9\u0edc-\u0edf\u0f00\u0f18-\u0f19\u0f20-\u0f29\u0f35\u0f37\u0f39\u0f3e-\u0f47\u0f49-\u0f6c\u0f71-\u0f84\u0f86-\u0f97\u0f99-\u0fbc\u0fc6\u1000-\u1049\u1050-\u109d\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u135d-\u135f\u1369-\u1371\u1380-\u138f\u13a0-\u13f5\u13f8-\u13fd\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f8\u1700-\u170c\u170e-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176c\u176e-\u1770\u1772-\u1773\u1780-\u17d3\u17d7\u17dc-\u17dd\u17e0-\u17e9\u180b-\u180d\u1810-\u1819\u1820-\u1878\u1880-\u18aa\u18b0-\u18f5\u1900-\u191e\u1920-\u192b\u1930-\u193b\u1946-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u19d0-\u19da\u1a00-\u1a1b\u1a20-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1aa7\u1ab0-\u1abd\u1b00-\u1b4b\u1b50-\u1b59\u1b6b-\u1b73\u1b80-\u1bf3\u1c00-\u1c37\u1c40-\u1c49\u1c4d-\u1c7d\u1c80-\u1c88\u1c90-\u1cba\u1cbd-\u1cbf\u1cd0-\u1cd2\u1cd4-\u1cfa\u1d00-\u1df9\u1dfb-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u203f-\u2040\u2054\u2071\u207f\u2090-\u209c\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2102\u2107\u210a-\u2113\u2115\u2118-\u211d\u2124\u2126\u2128\u212a-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2c2e\u2c30-\u2c5e\u2c60-\u2ce4\u2ceb-\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d7f-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u2de0-\u2dff\u3005-\u3007\u3021-\u302f\u3031-\u3035\u3038-\u303c\u3041-\u3096\u3099-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312f\u3131-\u318e\u31a0-\u31ba\u31f0-\u31ff\u3400-\u4db5\u4e00-\u9fef\ua000-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua62b\ua640-\ua66f\ua674-\ua67d\ua67f-\ua6f1\ua717-\ua71f\ua722-\ua788\ua78b-\ua7bf\ua7c2-\ua7c6\ua7f7-\ua827\ua840-\ua873\ua880-\ua8c5\ua8d0-\ua8d9\ua8e0-\ua8f7\ua8fb\ua8fd-\ua92d\ua930-\ua953\ua960-\ua97c\ua980-\ua9c0\ua9cf-\ua9d9\ua9e0-\ua9fe\uaa00-\uaa36\uaa40-\uaa4d\uaa50-\uaa59\uaa60-\uaa76\uaa7a-\uaac2\uaadb-\uaadd\uaae0-\uaaef\uaaf2-\uaaf6\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab5a\uab5c-\uab67\uab70-\uabea\uabec-\uabed\uabf0-\uabf9\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40-\ufb41\ufb43-\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe00-\ufe0f\ufe20-\ufe2f\ufe33-\ufe34\ufe4d-\ufe4f\ufe70-\ufe74\ufe76-\ufefc\uff10-\uff19\uff21-\uff3a\uff3f\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc]|\ud800[\udc00-\udc0b\udc0d-\udc26\udc28-\udc3a\udc3c-\udc3d\udc3f-\udc4d\udc50-\udc5d\udc80-\udcfa\udd40-\udd74\uddfd\ude80-\ude9c\udea0-\uded0\udee0\udf00-\udf1f\udf2d-\udf4a\udf50-\udf7a\udf80-\udf9d\udfa0-\udfc3\udfc8-\udfcf\udfd1-\udfd5]|\ud801[\udc00-\udc9d\udca0-\udca9\udcb0-\udcd3\udcd8-\udcfb\udd00-\udd27\udd30-\udd63\ude00-\udf36\udf40-\udf55\udf60-\udf67]|\ud802[\udc00-\udc05\udc08\udc0a-\udc35\udc37-\udc38\udc3c\udc3f-\udc55\udc60-\udc76\udc80-\udc9e\udce0-\udcf2\udcf4-\udcf5\udd00-\udd15\udd20-\udd39\udd80-\uddb7\uddbe-\uddbf\ude00-\ude03\ude05-\ude06\ude0c-\ude13\ude15-\ude17\ude19-\ude35\ude38-\ude3a\ude3f\ude60-\ude7c\ude80-\ude9c\udec0-\udec7\udec9-\udee6\udf00-\udf35\udf40-\udf55\udf60-\udf72\udf80-\udf91]|\ud803[\udc00-\udc48\udc80-\udcb2\udcc0-\udcf2\udd00-\udd27\udd30-\udd39\udf00-\udf1c\udf27\udf30-\udf50\udfe0-\udff6]|\ud804[\udc00-\udc46\udc66-\udc6f\udc7f-\udcba\udcd0-\udce8\udcf0-\udcf9\udd00-\udd34\udd36-\udd3f\udd44-\udd46\udd50-\udd73\udd76\udd80-\uddc4\uddc9-\uddcc\uddd0-\uddda\udddc\ude00-\ude11\ude13-\ude37\ude3e\ude80-\ude86\ude88\ude8a-\ude8d\ude8f-\ude9d\ude9f-\udea8\udeb0-\udeea\udef0-\udef9\udf00-\udf03\udf05-\udf0c\udf0f-\udf10\udf13-\udf28\udf2a-\udf30\udf32-\udf33\udf35-\udf39\udf3b-\udf44\udf47-\udf48\udf4b-\udf4d\udf50\udf57\udf5d-\udf63\udf66-\udf6c\udf70-\udf74]|\ud805[\udc00-\udc4a\udc50-\udc59\udc5e-\udc5f\udc80-\udcc5\udcc7\udcd0-\udcd9\udd80-\uddb5\uddb8-\uddc0\uddd8-\udddd\ude00-\ude40\ude44\ude50-\ude59\ude80-\udeb8\udec0-\udec9\udf00-\udf1a\udf1d-\udf2b\udf30-\udf39]|\ud806[\udc00-\udc3a\udca0-\udce9\udcff\udda0-\udda7\uddaa-\uddd7\uddda-\udde1\udde3-\udde4\ude00-\ude3e\ude47\ude50-\ude99\ude9d\udec0-\udef8]|\ud807[\udc00-\udc08\udc0a-\udc36\udc38-\udc40\udc50-\udc59\udc72-\udc8f\udc92-\udca7\udca9-\udcb6\udd00-\udd06\udd08-\udd09\udd0b-\udd36\udd3a\udd3c-\udd3d\udd3f-\udd47\udd50-\udd59\udd60-\udd65\udd67-\udd68\udd6a-\udd8e\udd90-\udd91\udd93-\udd98\udda0-\udda9\udee0-\udef6]|\ud808[\udc00-\udf99]|\ud809[\udc00-\udc6e\udc80-\udd43]|\ud80c[\udc00-\udfff]|\ud80d[\udc00-\udc2e]|\ud811[\udc00-\ude46]|\ud81a[\udc00-\ude38\ude40-\ude5e\ude60-\ude69\uded0-\udeed\udef0-\udef4\udf00-\udf36\udf40-\udf43\udf50-\udf59\udf63-\udf77\udf7d-\udf8f]|\ud81b[\ude40-\ude7f\udf00-\udf4a\udf4f-\udf87\udf8f-\udf9f\udfe0-\udfe1\udfe3]|\ud81c[\udc00-\udfff]|\ud81d[\udc00-\udfff]|\ud81e[\udc00-\udfff]|\ud81f[\udc00-\udfff]|\ud820[\udc00-\udfff]|\ud821[\udc00-\udff7]|\ud822[\udc00-\udef2]|\ud82c[\udc00-\udd1e\udd50-\udd52\udd64-\udd67\udd70-\udefb]|\ud82f[\udc00-\udc6a\udc70-\udc7c\udc80-\udc88\udc90-\udc99\udc9d-\udc9e]|\ud834[\udd65-\udd69\udd6d-\udd72\udd7b-\udd82\udd85-\udd8b\uddaa-\uddad\ude42-\ude44]|\ud835[\udc00-\udc54\udc56-\udc9c\udc9e-\udc9f\udca2\udca5-\udca6\udca9-\udcac\udcae-\udcb9\udcbb\udcbd-\udcc3\udcc5-\udd05\udd07-\udd0a\udd0d-\udd14\udd16-\udd1c\udd1e-\udd39\udd3b-\udd3e\udd40-\udd44\udd46\udd4a-\udd50\udd52-\udea5\udea8-\udec0\udec2-\udeda\udedc-\udefa\udefc-\udf14\udf16-\udf34\udf36-\udf4e\udf50-\udf6e\udf70-\udf88\udf8a-\udfa8\udfaa-\udfc2\udfc4-\udfcb\udfce-\udfff]|\ud836[\ude00-\ude36\ude3b-\ude6c\ude75\ude84\ude9b-\ude9f\udea1-\udeaf]|\ud838[\udc00-\udc06\udc08-\udc18\udc1b-\udc21\udc23-\udc24\udc26-\udc2a\udd00-\udd2c\udd30-\udd3d\udd40-\udd49\udd4e\udec0-\udef9]|\ud83a[\udc00-\udcc4\udcd0-\udcd6\udd00-\udd4b\udd50-\udd59]|\ud83b[\ude00-\ude03\ude05-\ude1f\ude21-\ude22\ude24\ude27\ude29-\ude32\ude34-\ude37\ude39\ude3b\ude42\ude47\ude49\ude4b\ude4d-\ude4f\ude51-\ude52\ude54\ude57\ude59\ude5b\ude5d\ude5f\ude61-\ude62\ude64\ude67-\ude6a\ude6c-\ude72\ude74-\ude77\ude79-\ude7c\ude7e\ude80-\ude89\ude8b-\ude9b\udea1-\udea3\udea5-\udea9\udeab-\udebb]|\ud840[\udc00-\udfff]|\ud841[\udc00-\udfff]|\ud842[\udc00-\udfff]|\ud843[\udc00-\udfff]|\ud844[\udc00-\udfff]|\ud845[\udc00-\udfff]|\ud846[\udc00-\udfff]|\ud847[\udc00-\udfff]|\ud848[\udc00-\udfff]|\ud849[\udc00-\udfff]|\ud84a[\udc00-\udfff]|\ud84b[\udc00-\udfff]|\ud84c[\udc00-\udfff]|\ud84d[\udc00-\udfff]|\ud84e[\udc00-\udfff]|\ud84f[\udc00-\udfff]|\ud850[\udc00-\udfff]|\ud851[\udc00-\udfff]|\ud852[\udc00-\udfff]|\ud853[\udc00-\udfff]|\ud854[\udc00-\udfff]|\ud855[\udc00-\udfff]|\ud856[\udc00-\udfff]|\ud857[\udc00-\udfff]|\ud858[\udc00-\udfff]|\ud859[\udc00-\udfff]|\ud85a[\udc00-\udfff]|\ud85b[\udc00-\udfff]|\ud85c[\udc00-\udfff]|\ud85d[\udc00-\udfff]|\ud85e[\udc00-\udfff]|\ud85f[\udc00-\udfff]|\ud860[\udc00-\udfff]|\ud861[\udc00-\udfff]|\ud862[\udc00-\udfff]|\ud863[\udc00-\udfff]|\ud864[\udc00-\udfff]|\ud865[\udc00-\udfff]|\ud866[\udc00-\udfff]|\ud867[\udc00-\udfff]|\ud868[\udc00-\udfff]|\ud869[\udc00-\uded6\udf00-\udfff]|\ud86a[\udc00-\udfff]|\ud86b[\udc00-\udfff]|\ud86c[\udc00-\udfff]|\ud86d[\udc00-\udf34\udf40-\udfff]|\ud86e[\udc00-\udc1d\udc20-\udfff]|\ud86f[\udc00-\udfff]|\ud870[\udc00-\udfff]|\ud871[\udc00-\udfff]|\ud872[\udc00-\udfff]|\ud873[\udc00-\udea1\udeb0-\udfff]|\ud874[\udc00-\udfff]|\ud875[\udc00-\udfff]|\ud876[\udc00-\udfff]|\ud877[\udc00-\udfff]|\ud878[\udc00-\udfff]|\ud879[\udc00-\udfff]|\ud87a[\udc00-\udfe0]|\ud87e[\udc00-\ude1d]|\udb40[\udd00-\uddef])|[$_]|(\\u[0-9a-fA-F]{4}|\\u\{[0-9a-fA-F]{1,}\})|[\u200c\u200d])*>/,function(){return Z$e(w$e.slice(3,-1),this.getCurrentState()),"NAMED_GROUP_REF"}],[/^\\b/,function(){return"ESC_b"}],[/^\\B/,function(){return"ESC_B"}],[/^\\c[a-zA-Z]/,function(){return"CTRL_CH"}],[/^\\0\d{1,2}/,function(){return"OCT_CODE"}],[/^\\0/,function(){return"DEC_CODE"}],[/^\\\d{1,3}/,function(){return"DEC_CODE"}],[/^\\u[dD][89abAB][0-9a-fA-F]{2}\\u[dD][c-fC-F][0-9a-fA-F]{2}/,function(){return"U_CODE_SURROGATE"}],[/^\\u\{[0-9a-fA-F]{1,}\}/,function(){return"U_CODE"}],[/^\\u[0-9a-fA-F]{4}/,function(){return"U_CODE"}],[/^\\[pP]\{\w+(?:=\w+)?\}/,function(){return"U_PROP_VALUE_EXP"}],[/^\\x[0-9a-fA-F]{2}/,function(){return"HEX_CODE"}],[/^\\[tnrdDsSwWvf]/,function(){return"META_CHAR"}],[/^\\\//,function(){return"ESC_CHAR"}],[/^\\[ #]/,function(){return"ESC_CHAR"}],[/^\\[\^\$\.\*\+\?\(\)\\\[\]\{\}\|\/]/,function(){return"ESC_CHAR"}],[/^\\[^*?+\[()\\|]/,function(){var e=this.getCurrentState();if("u_class"===e&&"\\-"===w$e)return"ESC_CHAR";if("u"===e||"xu"===e||"u_class"===e)throw new SyntaxError("invalid Unicode escape "+w$e);return"ESC_CHAR"}],[/^\(/,function(){return"CHAR"}],[/^\)/,function(){return"CHAR"}],[/^\(\?=/,function(){return"POS_LA_ASSERT"}],[/^\(\?!/,function(){return"NEG_LA_ASSERT"}],[/^\(\?<=/,function(){return"POS_LB_ASSERT"}],[/^\(\?<!/,function(){return"NEG_LB_ASSERT"}],[/^\(\?:/,function(){return"NON_CAPTURE_GROUP"}],[/^\(\?<(([\u0041-\u005a\u0061-\u007a\u00aa\u00b5\u00ba\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376-\u0377\u037a-\u037d\u037f\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u052f\u0531-\u0556\u0559\u0560-\u0588\u05d0-\u05ea\u05ef-\u05f2\u0620-\u064a\u066e-\u066f\u0671-\u06d3\u06d5\u06e5-\u06e6\u06ee-\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u07f4-\u07f5\u07fa\u0800-\u0815\u081a\u0824\u0828\u0840-\u0858\u0860-\u086a\u08a0-\u08b4\u08b6-\u08bd\u0904-\u0939\u093d\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098c\u098f-\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd\u09ce\u09dc-\u09dd\u09df-\u09e1\u09f0-\u09f1\u09fc\u0a05-\u0a0a\u0a0f-\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32-\u0a33\u0a35-\u0a36\u0a38-\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2-\u0ab3\u0ab5-\u0ab9\u0abd\u0ad0\u0ae0-\u0ae1\u0af9\u0b05-\u0b0c\u0b0f-\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32-\u0b33\u0b35-\u0b39\u0b3d\u0b5c-\u0b5d\u0b5f-\u0b61\u0b71\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99-\u0b9a\u0b9c\u0b9e-\u0b9f\u0ba3-\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3d\u0c58-\u0c5a\u0c60-\u0c61\u0c80\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cde\u0ce0-\u0ce1\u0cf1-\u0cf2\u0d05-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d\u0d4e\u0d54-\u0d56\u0d5f-\u0d61\u0d7a-\u0d7f\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0e01-\u0e30\u0e32-\u0e33\u0e40-\u0e46\u0e81-\u0e82\u0e84\u0e86-\u0e8a\u0e8c-\u0ea3\u0ea5\u0ea7-\u0eb0\u0eb2-\u0eb3\u0ebd\u0ec0-\u0ec4\u0ec6\u0edc-\u0edf\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f88-\u0f8c\u1000-\u102a\u103f\u1050-\u1055\u105a-\u105d\u1061\u1065-\u1066\u106e-\u1070\u1075-\u1081\u108e\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u1380-\u138f\u13a0-\u13f5\u13f8-\u13fd\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f8\u1700-\u170c\u170e-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1780-\u17b3\u17d7\u17dc\u1820-\u1878\u1880-\u18a8\u18aa\u18b0-\u18f5\u1900-\u191e\u1950-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u1a00-\u1a16\u1a20-\u1a54\u1aa7\u1b05-\u1b33\u1b45-\u1b4b\u1b83-\u1ba0\u1bae-\u1baf\u1bba-\u1be5\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c7d\u1c80-\u1c88\u1c90-\u1cba\u1cbd-\u1cbf\u1ce9-\u1cec\u1cee-\u1cf3\u1cf5-\u1cf6\u1cfa\u1d00-\u1dbf\u1e00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u2071\u207f\u2090-\u209c\u2102\u2107\u210a-\u2113\u2115\u2118-\u211d\u2124\u2126\u2128\u212a-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2c2e\u2c30-\u2c5e\u2c60-\u2ce4\u2ceb-\u2cee\u2cf2-\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303c\u3041-\u3096\u309b-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312f\u3131-\u318e\u31a0-\u31ba\u31f0-\u31ff\u3400-\u4db5\u4e00-\u9fef\ua000-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua61f\ua62a-\ua62b\ua640-\ua66e\ua67f-\ua69d\ua6a0-\ua6ef\ua717-\ua71f\ua722-\ua788\ua78b-\ua7bf\ua7c2-\ua7c6\ua7f7-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua8f2-\ua8f7\ua8fb\ua8fd-\ua8fe\ua90a-\ua925\ua930-\ua946\ua960-\ua97c\ua984-\ua9b2\ua9cf\ua9e0-\ua9e4\ua9e6-\ua9ef\ua9fa-\ua9fe\uaa00-\uaa28\uaa40-\uaa42\uaa44-\uaa4b\uaa60-\uaa76\uaa7a\uaa7e-\uaaaf\uaab1\uaab5-\uaab6\uaab9-\uaabd\uaac0\uaac2\uaadb-\uaadd\uaae0-\uaaea\uaaf2-\uaaf4\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab5a\uab5c-\uab67\uab70-\uabe2\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d\ufb1f-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40-\ufb41\ufb43-\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff21-\uff3a\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc]|\ud800[\udc00-\udc0b\udc0d-\udc26\udc28-\udc3a\udc3c-\udc3d\udc3f-\udc4d\udc50-\udc5d\udc80-\udcfa\udd40-\udd74\ude80-\ude9c\udea0-\uded0\udf00-\udf1f\udf2d-\udf4a\udf50-\udf75\udf80-\udf9d\udfa0-\udfc3\udfc8-\udfcf\udfd1-\udfd5]|\ud801[\udc00-\udc9d\udcb0-\udcd3\udcd8-\udcfb\udd00-\udd27\udd30-\udd63\ude00-\udf36\udf40-\udf55\udf60-\udf67]|\ud802[\udc00-\udc05\udc08\udc0a-\udc35\udc37-\udc38\udc3c\udc3f-\udc55\udc60-\udc76\udc80-\udc9e\udce0-\udcf2\udcf4-\udcf5\udd00-\udd15\udd20-\udd39\udd80-\uddb7\uddbe-\uddbf\ude00\ude10-\ude13\ude15-\ude17\ude19-\ude35\ude60-\ude7c\ude80-\ude9c\udec0-\udec7\udec9-\udee4\udf00-\udf35\udf40-\udf55\udf60-\udf72\udf80-\udf91]|\ud803[\udc00-\udc48\udc80-\udcb2\udcc0-\udcf2\udd00-\udd23\udf00-\udf1c\udf27\udf30-\udf45\udfe0-\udff6]|\ud804[\udc03-\udc37\udc83-\udcaf\udcd0-\udce8\udd03-\udd26\udd44\udd50-\udd72\udd76\udd83-\uddb2\uddc1-\uddc4\uddda\udddc\ude00-\ude11\ude13-\ude2b\ude80-\ude86\ude88\ude8a-\ude8d\ude8f-\ude9d\ude9f-\udea8\udeb0-\udede\udf05-\udf0c\udf0f-\udf10\udf13-\udf28\udf2a-\udf30\udf32-\udf33\udf35-\udf39\udf3d\udf50\udf5d-\udf61]|\ud805[\udc00-\udc34\udc47-\udc4a\udc5f\udc80-\udcaf\udcc4-\udcc5\udcc7\udd80-\uddae\uddd8-\udddb\ude00-\ude2f\ude44\ude80-\udeaa\udeb8\udf00-\udf1a]|\ud806[\udc00-\udc2b\udca0-\udcdf\udcff\udda0-\udda7\uddaa-\uddd0\udde1\udde3\ude00\ude0b-\ude32\ude3a\ude50\ude5c-\ude89\ude9d\udec0-\udef8]|\ud807[\udc00-\udc08\udc0a-\udc2e\udc40\udc72-\udc8f\udd00-\udd06\udd08-\udd09\udd0b-\udd30\udd46\udd60-\udd65\udd67-\udd68\udd6a-\udd89\udd98\udee0-\udef2]|\ud808[\udc00-\udf99]|\ud809[\udc00-\udc6e\udc80-\udd43]|\ud80c[\udc00-\udfff]|\ud80d[\udc00-\udc2e]|\ud811[\udc00-\ude46]|\ud81a[\udc00-\ude38\ude40-\ude5e\uded0-\udeed\udf00-\udf2f\udf40-\udf43\udf63-\udf77\udf7d-\udf8f]|\ud81b[\ude40-\ude7f\udf00-\udf4a\udf50\udf93-\udf9f\udfe0-\udfe1\udfe3]|\ud81c[\udc00-\udfff]|\ud81d[\udc00-\udfff]|\ud81e[\udc00-\udfff]|\ud81f[\udc00-\udfff]|\ud820[\udc00-\udfff]|\ud821[\udc00-\udff7]|\ud822[\udc00-\udef2]|\ud82c[\udc00-\udd1e\udd50-\udd52\udd64-\udd67\udd70-\udefb]|\ud82f[\udc00-\udc6a\udc70-\udc7c\udc80-\udc88\udc90-\udc99]|\ud835[\udc00-\udc54\udc56-\udc9c\udc9e-\udc9f\udca2\udca5-\udca6\udca9-\udcac\udcae-\udcb9\udcbb\udcbd-\udcc3\udcc5-\udd05\udd07-\udd0a\udd0d-\udd14\udd16-\udd1c\udd1e-\udd39\udd3b-\udd3e\udd40-\udd44\udd46\udd4a-\udd50\udd52-\udea5\udea8-\udec0\udec2-\udeda\udedc-\udefa\udefc-\udf14\udf16-\udf34\udf36-\udf4e\udf50-\udf6e\udf70-\udf88\udf8a-\udfa8\udfaa-\udfc2\udfc4-\udfcb]|\ud838[\udd00-\udd2c\udd37-\udd3d\udd4e\udec0-\udeeb]|\ud83a[\udc00-\udcc4\udd00-\udd43\udd4b]|\ud83b[\ude00-\ude03\ude05-\ude1f\ude21-\ude22\ude24\ude27\ude29-\ude32\ude34-\ude37\ude39\ude3b\ude42\ude47\ude49\ude4b\ude4d-\ude4f\ude51-\ude52\ude54\ude57\ude59\ude5b\ude5d\ude5f\ude61-\ude62\ude64\ude67-\ude6a\ude6c-\ude72\ude74-\ude77\ude79-\ude7c\ude7e\ude80-\ude89\ude8b-\ude9b\udea1-\udea3\udea5-\udea9\udeab-\udebb]|\ud840[\udc00-\udfff]|\ud841[\udc00-\udfff]|\ud842[\udc00-\udfff]|\ud843[\udc00-\udfff]|\ud844[\udc00-\udfff]|\ud845[\udc00-\udfff]|\ud846[\udc00-\udfff]|\ud847[\udc00-\udfff]|\ud848[\udc00-\udfff]|\ud849[\udc00-\udfff]|\ud84a[\udc00-\udfff]|\ud84b[\udc00-\udfff]|\ud84c[\udc00-\udfff]|\ud84d[\udc00-\udfff]|\ud84e[\udc00-\udfff]|\ud84f[\udc00-\udfff]|\ud850[\udc00-\udfff]|\ud851[\udc00-\udfff]|\ud852[\udc00-\udfff]|\ud853[\udc00-\udfff]|\ud854[\udc00-\udfff]|\ud855[\udc00-\udfff]|\ud856[\udc00-\udfff]|\ud857[\udc00-\udfff]|\ud858[\udc00-\udfff]|\ud859[\udc00-\udfff]|\ud85a[\udc00-\udfff]|\ud85b[\udc00-\udfff]|\ud85c[\udc00-\udfff]|\ud85d[\udc00-\udfff]|\ud85e[\udc00-\udfff]|\ud85f[\udc00-\udfff]|\ud860[\udc00-\udfff]|\ud861[\udc00-\udfff]|\ud862[\udc00-\udfff]|\ud863[\udc00-\udfff]|\ud864[\udc00-\udfff]|\ud865[\udc00-\udfff]|\ud866[\udc00-\udfff]|\ud867[\udc00-\udfff]|\ud868[\udc00-\udfff]|\ud869[\udc00-\uded6\udf00-\udfff]|\ud86a[\udc00-\udfff]|\ud86b[\udc00-\udfff]|\ud86c[\udc00-\udfff]|\ud86d[\udc00-\udf34\udf40-\udfff]|\ud86e[\udc00-\udc1d\udc20-\udfff]|\ud86f[\udc00-\udfff]|\ud870[\udc00-\udfff]|\ud871[\udc00-\udfff]|\ud872[\udc00-\udfff]|\ud873[\udc00-\udea1\udeb0-\udfff]|\ud874[\udc00-\udfff]|\ud875[\udc00-\udfff]|\ud876[\udc00-\udfff]|\ud877[\udc00-\udfff]|\ud878[\udc00-\udfff]|\ud879[\udc00-\udfff]|\ud87a[\udc00-\udfe0]|\ud87e[\udc00-\ude1d])|[$_]|(\\u[0-9a-fA-F]{4}|\\u\{[0-9a-fA-F]{1,}\}))(([\u0030-\u0039\u0041-\u005a\u005f\u0061-\u007a\u00aa\u00b5\u00b7\u00ba\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0300-\u0374\u0376-\u0377\u037a-\u037d\u037f\u0386-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u0483-\u0487\u048a-\u052f\u0531-\u0556\u0559\u0560-\u0588\u0591-\u05bd\u05bf\u05c1-\u05c2\u05c4-\u05c5\u05c7\u05d0-\u05ea\u05ef-\u05f2\u0610-\u061a\u0620-\u0669\u066e-\u06d3\u06d5-\u06dc\u06df-\u06e8\u06ea-\u06fc\u06ff\u0710-\u074a\u074d-\u07b1\u07c0-\u07f5\u07fa\u07fd\u0800-\u082d\u0840-\u085b\u0860-\u086a\u08a0-\u08b4\u08b6-\u08bd\u08d3-\u08e1\u08e3-\u0963\u0966-\u096f\u0971-\u0983\u0985-\u098c\u098f-\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bc-\u09c4\u09c7-\u09c8\u09cb-\u09ce\u09d7\u09dc-\u09dd\u09df-\u09e3\u09e6-\u09f1\u09fc\u09fe\u0a01-\u0a03\u0a05-\u0a0a\u0a0f-\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32-\u0a33\u0a35-\u0a36\u0a38-\u0a39\u0a3c\u0a3e-\u0a42\u0a47-\u0a48\u0a4b-\u0a4d\u0a51\u0a59-\u0a5c\u0a5e\u0a66-\u0a75\u0a81-\u0a83\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2-\u0ab3\u0ab5-\u0ab9\u0abc-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ad0\u0ae0-\u0ae3\u0ae6-\u0aef\u0af9-\u0aff\u0b01-\u0b03\u0b05-\u0b0c\u0b0f-\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32-\u0b33\u0b35-\u0b39\u0b3c-\u0b44\u0b47-\u0b48\u0b4b-\u0b4d\u0b56-\u0b57\u0b5c-\u0b5d\u0b5f-\u0b63\u0b66-\u0b6f\u0b71\u0b82-\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99-\u0b9a\u0b9c\u0b9e-\u0b9f\u0ba3-\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd0\u0bd7\u0be6-\u0bef\u0c00-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3d-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55-\u0c56\u0c58-\u0c5a\u0c60-\u0c63\u0c66-\u0c6f\u0c80-\u0c83\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbc-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5-\u0cd6\u0cde\u0ce0-\u0ce3\u0ce6-\u0cef\u0cf1-\u0cf2\u0d00-\u0d03\u0d05-\u0d0c\u0d0e-\u0d10\u0d12-\u0d44\u0d46-\u0d48\u0d4a-\u0d4e\u0d54-\u0d57\u0d5f-\u0d63\u0d66-\u0d6f\u0d7a-\u0d7f\u0d82-\u0d83\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2-\u0df3\u0e01-\u0e3a\u0e40-\u0e4e\u0e50-\u0e59\u0e81-\u0e82\u0e84\u0e86-\u0e8a\u0e8c-\u0ea3\u0ea5\u0ea7-\u0ebd\u0ec0-\u0ec4\u0ec6\u0ec8-\u0ecd\u0ed0-\u0ed9\u0edc-\u0edf\u0f00\u0f18-\u0f19\u0f20-\u0f29\u0f35\u0f37\u0f39\u0f3e-\u0f47\u0f49-\u0f6c\u0f71-\u0f84\u0f86-\u0f97\u0f99-\u0fbc\u0fc6\u1000-\u1049\u1050-\u109d\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u135d-\u135f\u1369-\u1371\u1380-\u138f\u13a0-\u13f5\u13f8-\u13fd\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f8\u1700-\u170c\u170e-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176c\u176e-\u1770\u1772-\u1773\u1780-\u17d3\u17d7\u17dc-\u17dd\u17e0-\u17e9\u180b-\u180d\u1810-\u1819\u1820-\u1878\u1880-\u18aa\u18b0-\u18f5\u1900-\u191e\u1920-\u192b\u1930-\u193b\u1946-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u19d0-\u19da\u1a00-\u1a1b\u1a20-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1aa7\u1ab0-\u1abd\u1b00-\u1b4b\u1b50-\u1b59\u1b6b-\u1b73\u1b80-\u1bf3\u1c00-\u1c37\u1c40-\u1c49\u1c4d-\u1c7d\u1c80-\u1c88\u1c90-\u1cba\u1cbd-\u1cbf\u1cd0-\u1cd2\u1cd4-\u1cfa\u1d00-\u1df9\u1dfb-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u203f-\u2040\u2054\u2071\u207f\u2090-\u209c\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2102\u2107\u210a-\u2113\u2115\u2118-\u211d\u2124\u2126\u2128\u212a-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2c2e\u2c30-\u2c5e\u2c60-\u2ce4\u2ceb-\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d7f-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u2de0-\u2dff\u3005-\u3007\u3021-\u302f\u3031-\u3035\u3038-\u303c\u3041-\u3096\u3099-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312f\u3131-\u318e\u31a0-\u31ba\u31f0-\u31ff\u3400-\u4db5\u4e00-\u9fef\ua000-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua62b\ua640-\ua66f\ua674-\ua67d\ua67f-\ua6f1\ua717-\ua71f\ua722-\ua788\ua78b-\ua7bf\ua7c2-\ua7c6\ua7f7-\ua827\ua840-\ua873\ua880-\ua8c5\ua8d0-\ua8d9\ua8e0-\ua8f7\ua8fb\ua8fd-\ua92d\ua930-\ua953\ua960-\ua97c\ua980-\ua9c0\ua9cf-\ua9d9\ua9e0-\ua9fe\uaa00-\uaa36\uaa40-\uaa4d\uaa50-\uaa59\uaa60-\uaa76\uaa7a-\uaac2\uaadb-\uaadd\uaae0-\uaaef\uaaf2-\uaaf6\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab5a\uab5c-\uab67\uab70-\uabea\uabec-\uabed\uabf0-\uabf9\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40-\ufb41\ufb43-\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe00-\ufe0f\ufe20-\ufe2f\ufe33-\ufe34\ufe4d-\ufe4f\ufe70-\ufe74\ufe76-\ufefc\uff10-\uff19\uff21-\uff3a\uff3f\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc]|\ud800[\udc00-\udc0b\udc0d-\udc26\udc28-\udc3a\udc3c-\udc3d\udc3f-\udc4d\udc50-\udc5d\udc80-\udcfa\udd40-\udd74\uddfd\ude80-\ude9c\udea0-\uded0\udee0\udf00-\udf1f\udf2d-\udf4a\udf50-\udf7a\udf80-\udf9d\udfa0-\udfc3\udfc8-\udfcf\udfd1-\udfd5]|\ud801[\udc00-\udc9d\udca0-\udca9\udcb0-\udcd3\udcd8-\udcfb\udd00-\udd27\udd30-\udd63\ude00-\udf36\udf40-\udf55\udf60-\udf67]|\ud802[\udc00-\udc05\udc08\udc0a-\udc35\udc37-\udc38\udc3c\udc3f-\udc55\udc60-\udc76\udc80-\udc9e\udce0-\udcf2\udcf4-\udcf5\udd00-\udd15\udd20-\udd39\udd80-\uddb7\uddbe-\uddbf\ude00-\ude03\ude05-\ude06\ude0c-\ude13\ude15-\ude17\ude19-\ude35\ude38-\ude3a\ude3f\ude60-\ude7c\ude80-\ude9c\udec0-\udec7\udec9-\udee6\udf00-\udf35\udf40-\udf55\udf60-\udf72\udf80-\udf91]|\ud803[\udc00-\udc48\udc80-\udcb2\udcc0-\udcf2\udd00-\udd27\udd30-\udd39\udf00-\udf1c\udf27\udf30-\udf50\udfe0-\udff6]|\ud804[\udc00-\udc46\udc66-\udc6f\udc7f-\udcba\udcd0-\udce8\udcf0-\udcf9\udd00-\udd34\udd36-\udd3f\udd44-\udd46\udd50-\udd73\udd76\udd80-\uddc4\uddc9-\uddcc\uddd0-\uddda\udddc\ude00-\ude11\ude13-\ude37\ude3e\ude80-\ude86\ude88\ude8a-\ude8d\ude8f-\ude9d\ude9f-\udea8\udeb0-\udeea\udef0-\udef9\udf00-\udf03\udf05-\udf0c\udf0f-\udf10\udf13-\udf28\udf2a-\udf30\udf32-\udf33\udf35-\udf39\udf3b-\udf44\udf47-\udf48\udf4b-\udf4d\udf50\udf57\udf5d-\udf63\udf66-\udf6c\udf70-\udf74]|\ud805[\udc00-\udc4a\udc50-\udc59\udc5e-\udc5f\udc80-\udcc5\udcc7\udcd0-\udcd9\udd80-\uddb5\uddb8-\uddc0\uddd8-\udddd\ude00-\ude40\ude44\ude50-\ude59\ude80-\udeb8\udec0-\udec9\udf00-\udf1a\udf1d-\udf2b\udf30-\udf39]|\ud806[\udc00-\udc3a\udca0-\udce9\udcff\udda0-\udda7\uddaa-\uddd7\uddda-\udde1\udde3-\udde4\ude00-\ude3e\ude47\ude50-\ude99\ude9d\udec0-\udef8]|\ud807[\udc00-\udc08\udc0a-\udc36\udc38-\udc40\udc50-\udc59\udc72-\udc8f\udc92-\udca7\udca9-\udcb6\udd00-\udd06\udd08-\udd09\udd0b-\udd36\udd3a\udd3c-\udd3d\udd3f-\udd47\udd50-\udd59\udd60-\udd65\udd67-\udd68\udd6a-\udd8e\udd90-\udd91\udd93-\udd98\udda0-\udda9\udee0-\udef6]|\ud808[\udc00-\udf99]|\ud809[\udc00-\udc6e\udc80-\udd43]|\ud80c[\udc00-\udfff]|\ud80d[\udc00-\udc2e]|\ud811[\udc00-\ude46]|\ud81a[\udc00-\ude38\ude40-\ude5e\ude60-\ude69\uded0-\udeed\udef0-\udef4\udf00-\udf36\udf40-\udf43\udf50-\udf59\udf63-\udf77\udf7d-\udf8f]|\ud81b[\ude40-\ude7f\udf00-\udf4a\udf4f-\udf87\udf8f-\udf9f\udfe0-\udfe1\udfe3]|\ud81c[\udc00-\udfff]|\ud81d[\udc00-\udfff]|\ud81e[\udc00-\udfff]|\ud81f[\udc00-\udfff]|\ud820[\udc00-\udfff]|\ud821[\udc00-\udff7]|\ud822[\udc00-\udef2]|\ud82c[\udc00-\udd1e\udd50-\udd52\udd64-\udd67\udd70-\udefb]|\ud82f[\udc00-\udc6a\udc70-\udc7c\udc80-\udc88\udc90-\udc99\udc9d-\udc9e]|\ud834[\udd65-\udd69\udd6d-\udd72\udd7b-\udd82\udd85-\udd8b\uddaa-\uddad\ude42-\ude44]|\ud835[\udc00-\udc54\udc56-\udc9c\udc9e-\udc9f\udca2\udca5-\udca6\udca9-\udcac\udcae-\udcb9\udcbb\udcbd-\udcc3\udcc5-\udd05\udd07-\udd0a\udd0d-\udd14\udd16-\udd1c\udd1e-\udd39\udd3b-\udd3e\udd40-\udd44\udd46\udd4a-\udd50\udd52-\udea5\udea8-\udec0\udec2-\udeda\udedc-\udefa\udefc-\udf14\udf16-\udf34\udf36-\udf4e\udf50-\udf6e\udf70-\udf88\udf8a-\udfa8\udfaa-\udfc2\udfc4-\udfcb\udfce-\udfff]|\ud836[\ude00-\ude36\ude3b-\ude6c\ude75\ude84\ude9b-\ude9f\udea1-\udeaf]|\ud838[\udc00-\udc06\udc08-\udc18\udc1b-\udc21\udc23-\udc24\udc26-\udc2a\udd00-\udd2c\udd30-\udd3d\udd40-\udd49\udd4e\udec0-\udef9]|\ud83a[\udc00-\udcc4\udcd0-\udcd6\udd00-\udd4b\udd50-\udd59]|\ud83b[\ude00-\ude03\ude05-\ude1f\ude21-\ude22\ude24\ude27\ude29-\ude32\ude34-\ude37\ude39\ude3b\ude42\ude47\ude49\ude4b\ude4d-\ude4f\ude51-\ude52\ude54\ude57\ude59\ude5b\ude5d\ude5f\ude61-\ude62\ude64\ude67-\ude6a\ude6c-\ude72\ude74-\ude77\ude79-\ude7c\ude7e\ude80-\ude89\ude8b-\ude9b\udea1-\udea3\udea5-\udea9\udeab-\udebb]|\ud840[\udc00-\udfff]|\ud841[\udc00-\udfff]|\ud842[\udc00-\udfff]|\ud843[\udc00-\udfff]|\ud844[\udc00-\udfff]|\ud845[\udc00-\udfff]|\ud846[\udc00-\udfff]|\ud847[\udc00-\udfff]|\ud848[\udc00-\udfff]|\ud849[\udc00-\udfff]|\ud84a[\udc00-\udfff]|\ud84b[\udc00-\udfff]|\ud84c[\udc00-\udfff]|\ud84d[\udc00-\udfff]|\ud84e[\udc00-\udfff]|\ud84f[\udc00-\udfff]|\ud850[\udc00-\udfff]|\ud851[\udc00-\udfff]|\ud852[\udc00-\udfff]|\ud853[\udc00-\udfff]|\ud854[\udc00-\udfff]|\ud855[\udc00-\udfff]|\ud856[\udc00-\udfff]|\ud857[\udc00-\udfff]|\ud858[\udc00-\udfff]|\ud859[\udc00-\udfff]|\ud85a[\udc00-\udfff]|\ud85b[\udc00-\udfff]|\ud85c[\udc00-\udfff]|\ud85d[\udc00-\udfff]|\ud85e[\udc00-\udfff]|\ud85f[\udc00-\udfff]|\ud860[\udc00-\udfff]|\ud861[\udc00-\udfff]|\ud862[\udc00-\udfff]|\ud863[\udc00-\udfff]|\ud864[\udc00-\udfff]|\ud865[\udc00-\udfff]|\ud866[\udc00-\udfff]|\ud867[\udc00-\udfff]|\ud868[\udc00-\udfff]|\ud869[\udc00-\uded6\udf00-\udfff]|\ud86a[\udc00-\udfff]|\ud86b[\udc00-\udfff]|\ud86c[\udc00-\udfff]|\ud86d[\udc00-\udf34\udf40-\udfff]|\ud86e[\udc00-\udc1d\udc20-\udfff]|\ud86f[\udc00-\udfff]|\ud870[\udc00-\udfff]|\ud871[\udc00-\udfff]|\ud872[\udc00-\udfff]|\ud873[\udc00-\udea1\udeb0-\udfff]|\ud874[\udc00-\udfff]|\ud875[\udc00-\udfff]|\ud876[\udc00-\udfff]|\ud877[\udc00-\udfff]|\ud878[\udc00-\udfff]|\ud879[\udc00-\udfff]|\ud87a[\udc00-\udfe0]|\ud87e[\udc00-\ude1d]|\udb40[\udd00-\uddef])|[$_]|(\\u[0-9a-fA-F]{4}|\\u\{[0-9a-fA-F]{1,}\})|[\u200c\u200d])*>/,function(){return Z$e(w$e=w$e.slice(3,-1),this.getCurrentState()),"NAMED_CAPTURE_GROUP"}],[/^\(/,function(){return"L_PAREN"}],[/^\)/,function(){return"R_PAREN"}],[/^[*?+[^$]/,function(){return"CHAR"}],[/^\\\]/,function(){return"ESC_CHAR"}],[/^\]/,function(){return this.popState(),"R_BRACKET"}],[/^\^/,function(){return"BOS"}],[/^\$/,function(){return"EOS"}],[/^\*/,function(){return"STAR"}],[/^\?/,function(){return"Q_MARK"}],[/^\+/,function(){return"PLUS"}],[/^\|/,function(){return"BAR"}],[/^\./,function(){return"ANY"}],[/^\//,function(){return"SLASH"}],[/^[^*?+\[()\\|]/,function(){return"CHAR"}],[/^\[\^/,function(){var e=this.getCurrentState();return this.pushState("u"===e||"xu"===e?"u_class":"class"),"NEG_CLASS"}],[/^\[/,function(){var e=this.getCurrentState();return this.pushState("u"===e||"xu"===e?"u_class":"class"),"L_BRACKET"}]],j$e={INITIAL:[8,9,10,11,12,13,14,15,16,17,20,22,23,24,26,27,30,31,32,33,34,35,36,37,41,42,43,44,45,46,47,48,49,50,51],u:[8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,26,27,30,31,32,33,34,35,36,37,41,42,43,44,45,46,47,48,49,50,51],xu:[0,1,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,30,31,32,33,34,35,36,37,41,42,43,44,45,46,47,48,49,50,51],x:[0,1,8,9,10,11,12,13,14,15,16,17,20,22,23,24,26,27,30,31,32,33,34,35,36,37,41,42,43,44,45,46,47,48,49,50,51],u_class:[2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51],class:[2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,20,22,23,24,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51]},R$e={type:"$",value:""};F$e={initString:function(e){return this._string=e,this._cursor=0,this._states=["INITIAL"],this._tokensQueue=[],this._currentLine=1,this._currentColumn=0,this._currentLineBeginOffset=0,this._tokenStartOffset=0,this._tokenEndOffset=0,this._tokenStartLine=1,this._tokenEndLine=1,this._tokenStartColumn=0,this._tokenEndColumn=0,this},getStates:function(){return this._states},getCurrentState:function(){return this._states[this._states.length-1]},pushState:function(e){this._states.push(e)},begin:function(e){this.pushState(e)},popState:function(){return this._states.length>1?this._states.pop():this._states[0]},getNextToken:function(){if(this._tokensQueue.length>0)return this.onToken(this._toToken(this._tokensQueue.shift()));if(!this.hasMoreTokens())return this.onToken(R$e);for(var e=this._string.slice(this._cursor),t=j$e[this.getCurrentState()],n=0;n<t.length;n++){var r=t[n],i=B$e[r],s=this._match(e,i[0]);if(""===e&&""===s&&this._cursor++,null!==s){(w$e=s).length;var a=i[1].call(this);if(!a)return this.getNextToken();if(Array.isArray(a)){var o,c=a.slice(1);if(a=a[0],c.length>0)(o=this._tokensQueue).unshift.apply(o,C$e(c))}return this.onToken(this._toToken(a,w$e))}}if(this.isEOF())return this._cursor++,R$e;this.throwUnexpectedToken(e[0],this._currentLine,this._currentColumn)},throwUnexpectedToken:function(e,t,n){var r=this._string.split("\n")[t-1],i="";r&&(i="\n\n"+r+"\n"+" ".repeat(n)+"^\n");throw new SyntaxError(i+'Unexpected token: "'+e+'" at '+t+":"+n+".")},getCursor:function(){return this._cursor},getCurrentLine:function(){return this._currentLine},getCurrentColumn:function(){return this._currentColumn},_captureLocation:function(e){var t=/\n/g;this._tokenStartOffset=this._cursor,this._tokenStartLine=this._currentLine,this._tokenStartColumn=this._tokenStartOffset-this._currentLineBeginOffset;for(var n=void 0;null!==(n=t.exec(e));)this._currentLine++,this._currentLineBeginOffset=this._tokenStartOffset+n.index+1;this._tokenEndOffset=this._cursor+e.length,this._tokenEndLine=this._currentLine,this._tokenEndColumn=this._currentColumn=this._tokenEndOffset-this._currentLineBeginOffset},_toToken:function(e){return{type:e,value:arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",startOffset:this._tokenStartOffset,endOffset:this._tokenEndOffset,startLine:this._tokenStartLine,endLine:this._tokenEndLine,startColumn:this._tokenStartColumn,endColumn:this._tokenEndColumn}},isEOF:function(){return this._cursor===this._string.length},hasMoreTokens:function(){return this._cursor<=this._string.length},_match:function(e,t){var n=e.match(t);return n?(this._captureLocation(n[0]),this._cursor+=n[0].length,n[0]):null},onToken:function(e){return e}},k$e.lexer=F$e,k$e.tokenizer=F$e,k$e.options={captureLocations:!0};var U$e={setOptions:function(e){return k$e.options=e,this},getOptions:function(){return k$e.options},parse:function(e,t){if(!F$e)throw new Error("Tokenizer instance wasn't specified.");F$e.initString(e);var n=k$e.options;t&&(k$e.options=Object.assign({},k$e.options,t)),U$e.onParseBegin(e,F$e,k$e.options),M$e.length=0,M$e.push(0);var r=F$e.getNextToken(),i=null;do{r||(k$e.options=n,sHe());var s=M$e[M$e.length-1],a=_$e[r.type];O$e[s].hasOwnProperty(a)||(k$e.options=n,iHe(r));var o=O$e[s][a];if("s"===o[0]){var c=null;k$e.options.captureLocations&&(c={startOffset:r.startOffset,endOffset:r.endOffset,startLine:r.startLine,endLine:r.endLine,startColumn:r.startColumn,endColumn:r.endColumn}),i=this.onShift(r),M$e.push({symbol:_$e[i.type],semanticValue:i.value,loc:c},Number(o.slice(1))),r=F$e.getNextToken()}else if("r"===o[0]){var u=o.slice(1),l=L$e[u],p="function"==typeof l[2],d=p?[]:null,h=p&&k$e.options.captureLocations?[]:null;if(0!==l[1])for(var f=l[1];f-- >0;){M$e.pop();var m=M$e.pop();p&&(d.unshift(m.semanticValue),h&&h.unshift(m.loc))}var y={symbol:l[0]};if(p){w$e=i?i.value:null,i&&i.value.length;var g=null!==h?d.concat(h):d;l[2].apply(l,C$e(g)),y.semanticValue=I$e,h&&(y.loc=N$e)}var x=M$e[M$e.length-1],T=l[0];M$e.push(y,O$e[x][T])}else if("acc"===o){M$e.pop();var S=M$e.pop();return(1!==M$e.length||0!==M$e[0]||F$e.hasMoreTokens())&&(k$e.options=n,iHe(r)),S.hasOwnProperty("semanticValue")?(k$e.options=n,U$e.onParseEnd(S.semanticValue),S.semanticValue):(U$e.onParseEnd(),k$e.options=n,!0)}}while(F$e.hasMoreTokens()||M$e.length>1)},setTokenizer:function(e){return F$e=e,U$e},getTokenizer:function(){return F$e},onParseBegin:function(e,t,n){},onParseEnd:function(e){},onShift:function(e){return e}},q$e=0,J$e={},V$e="";function K$e(e){var t=e.match(/\d+/g).map(Number);if(Number.isFinite(t[1])&&t[1]<t[0])throw new SyntaxError("Numbers out of order in "+e+" quantifier");return t}function W$e(e,t){if("control"===e.kind||"control"===t.kind||!isNaN(e.codePoint)&&!isNaN(t.codePoint)&&e.codePoint>t.codePoint)throw new SyntaxError("Range "+e.value+"-"+t.value+" out of order in character class")}U$e.onParseBegin=function(e,t){V$e=e,q$e=0,J$e={};var n=e.lastIndexOf("/"),r=e.slice(n);r.includes("x")&&r.includes("u")?t.pushState("xu"):(r.includes("x")&&t.pushState("x"),r.includes("u")&&t.pushState("u"))},U$e.onShift=function(e){return"L_PAREN"!==e.type&&"NAMED_CAPTURE_GROUP"!==e.type||(e.value=new String(e.value),e.value.groupNumber=++q$e),e};var X$e=v$e;function $$e(e,t,n){var r=void 0,i=void 0;switch(t){case"decimal":i=Number(e.slice(1)),r=String.fromCodePoint(i);break;case"oct":i=parseInt(e.slice(1),8),r=String.fromCodePoint(i);break;case"hex":case"unicode":if(e.lastIndexOf("\\u")>0){var s=e.split("\\u").slice(1),a=A$e(s,2),o=a[0],c=a[1];i=1024*((o=parseInt(o,16))-55296)+((c=parseInt(c,16))-56320)+65536,r=String.fromCodePoint(i)}else{var u=e.slice(2).replace("{","");if((i=parseInt(u,16))>1114111)throw new SyntaxError("Bad character escape sequence: "+e);r=String.fromCodePoint(i)}break;case"meta":switch(e){case"\\t":i=(r="\t").codePointAt(0);break;case"\\n":i=(r="\n").codePointAt(0);break;case"\\r":i=(r="\r").codePointAt(0);break;case"\\v":i=(r="\v").codePointAt(0);break;case"\\f":i=(r="\f").codePointAt(0);break;case"\\b":i=(r="\b").codePointAt(0);case"\\0":r="\0",i=0;case".":r=".",i=NaN;break;default:i=NaN}break;case"simple":i=(r=e).codePointAt(0)}return nHe({type:"Char",value:e,kind:t,symbol:r,codePoint:i},n)}var H$e="gimsuxy";function z$e(e){var t=new Set,n=!0,r=!1,i=void 0;try{for(var s,a=e[Symbol.iterator]();!(n=(s=a.next()).done);n=!0){var o=s.value;if(t.has(o)||!H$e.includes(o))throw new SyntaxError("Invalid flags: "+e);t.add(o)}}catch(e){r=!0,i=e}finally{try{!n&&a.return&&a.return()}finally{if(r)throw i}}return e.split("").sort().join("")}var Y$e=/^\\u[0-9a-fA-F]{4}/,G$e=/^\\u\{[0-9a-fA-F]{1,}\}/,Q$e=/\\u\{[0-9a-fA-F]{1,}\}/;function Z$e(e,t){if(Q$e.test(e)&&!("u"===t||"xu"===t||"u_class"===t))throw new SyntaxError('invalid group Unicode name "'+e+'", use `u` flag.');return e}var eHe=/\\u(?:([dD][89aAbB][0-9a-fA-F]{2})\\u([dD][c-fC-F][0-9a-fA-F]{2})|([dD][89aAbB][0-9a-fA-F]{2})|([dD][c-fC-F][0-9a-fA-F]{2})|([0-9a-ce-fA-CE-F][0-9a-fA-F]{3}|[dD][0-7][0-9a-fA-F]{2})|\{(0*(?:[0-9a-fA-F]{1,5}|10[0-9a-fA-F]{4}))\})/;function tHe(e){return e.replace(new RegExp(eHe,"g"),function(e,t,n,r,i,s,a){return t?String.fromCodePoint(parseInt(t,16),parseInt(n,16)):r?String.fromCodePoint(parseInt(r,16)):i?String.fromCodePoint(parseInt(i,16)):s?String.fromCodePoint(parseInt(s,16)):a?String.fromCodePoint(parseInt(a,16)):e})}function nHe(e,t){return k$e.options.captureLocations&&(e.loc={source:V$e.slice(t.startOffset,t.endOffset),start:{line:t.startLine,column:t.startColumn,offset:t.startOffset},end:{line:t.endLine,column:t.endColumn,offset:t.endOffset}}),e}function rHe(e,t){return k$e.options.captureLocations?{startOffset:e.startOffset,endOffset:t.endOffset,startLine:e.startLine,endLine:t.endLine,startColumn:e.startColumn,endColumn:t.endColumn}:null}function iHe(e){"$"===e.type&&sHe(),F$e.throwUnexpectedToken(e.value,e.startLine,e.startColumn)}function sHe(){!function(e){throw new SyntaxError(e)}("Unexpected end of input.")}var aHe=U$e;aHe.default;var oHe=aHe,cHe=oHe.parse.bind(oHe);oHe.parse=function(e,t){return cHe(""+e,t)},oHe.setOptions({captureLocations:!1});var uHe=oHe;uHe.default;var lHe=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();var pHe="expressions",dHe="expression",hHe=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.node=t,this.parentPath=n,this.parent=n?n.node:null,this.property=r,this.index=i}return lHe(e,[{key:"_enforceProp",value:function(e){if(!this.node.hasOwnProperty(e))throw new Error("Node of type "+this.node.type+" doesn't have \""+e+'" collection.')}},{key:"setChild",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,i=void 0;return null!=n?(r||(r=pHe),this._enforceProp(r),this.node[r][n]=t,i=e.getForNode(t,this,r,n)):(r||(r=dHe),this._enforceProp(r),this.node[r]=t,i=e.getForNode(t,this,r,null)),i}},{key:"appendChild",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;t||(t=pHe),this._enforceProp(t);var n=this.node[t].length;return this.setChild(e,n,t)}},{key:"insertChildAt",value:function(t,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:pHe;this._enforceProp(r),this.node[r].splice(n,0,t),n<=e.getTraversingIndex()&&e.updateTraversingIndex(1),this._rebuildIndex(this.node,r)}},{key:"remove",value:function(){if(!this.isRemoved()&&(e.registry.delete(this.node),this.node=null,this.parent)){if(null!==this.index)return this.parent[this.property].splice(this.index,1),this.index<=e.getTraversingIndex()&&e.updateTraversingIndex(-1),this._rebuildIndex(this.parent,this.property),this.index=null,void(this.property=null);delete this.parent[this.property],this.property=null}}},{key:"_rebuildIndex",value:function(t,n){for(var r=e.getForNode(t),i=0;i<t[n].length;i++){e.getForNode(t[n][i],r,n,i).index=i}}},{key:"isRemoved",value:function(){return null===this.node}},{key:"replace",value:function(t){return e.registry.delete(this.node),this.node=t,this.parent?(null!==this.index?this.parent[this.property][this.index]=t:this.parent[this.property]=t,e.getForNode(t,this.parentPath,this.property,this.index)):null}},{key:"update",value:function(e){Object.assign(this.node,e)}},{key:"getParent",value:function(){return this.parentPath}},{key:"getChild",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return this.node.expressions?e.getForNode(this.node.expressions[t],this,pHe,t):this.node.expression&&0==t?e.getForNode(this.node.expression,this,dHe):null}},{key:"hasEqualSource",value:function(e){return JSON.stringify(this.node,fHe)===JSON.stringify(e.node,fHe)}},{key:"jsonEncode",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.format,n=e.useLoc;return JSON.stringify(this.node,n?null:fHe,t)}},{key:"getPreviousSibling",value:function(){return this.parent&&null!=this.index?e.getForNode(this.parent[this.property][this.index-1],e.getForNode(this.parent),this.property,this.index-1):null}},{key:"getNextSibling",value:function(){return this.parent&&null!=this.index?e.getForNode(this.parent[this.property][this.index+1],e.getForNode(this.parent),this.property,this.index+1):null}}],[{key:"getForNode",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:-1;if(!t)return null;e.registry.has(t)||e.registry.set(t,new e(t,n,r,-1==i?null:i));var s=e.registry.get(t);return null!==n&&(s.parentPath=n,s.parent=s.parentPath.node),null!==r&&(s.property=r),i>=0&&(s.index=i),s}},{key:"initRegistry",value:function(){e.registry||(e.registry=new Map),e.registry.clear()}},{key:"updateTraversingIndex",value:function(t){return e.traversingIndexStack[e.traversingIndexStack.length-1]+=t}},{key:"getTraversingIndex",value:function(){return e.traversingIndexStack[e.traversingIndexStack.length-1]}}]),e}();function fHe(e,t){if("loc"!==e)return t}hHe.initRegistry(),hHe.traversingIndexStack=[];var mHe=hHe;mHe.default;var yHe=mHe;var gHe={traverse:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{asNodes:!1};function r(e,t,n,r){var i=yHe.getForNode(t);return yHe.getForNode(e,i,n,r)}Array.isArray(t)||(t=[t]),t=t.filter(function(t){return"function"!=typeof t.shouldRun||t.shouldRun(e)}),yHe.initRegistry(),t.forEach(function(t){"function"==typeof t.init&&t.init(e)}),function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.pre,r=t.post,i=t.skipProperty;!function e(t,s,a,o){if(t&&"string"==typeof t.type){var c=void 0;if(n&&(c=n(t,s,a,o)),!1!==c)for(var u in s&&s[a]&&(t=isNaN(o)?s[a]:s[a][o]),t)if(t.hasOwnProperty(u)){if(i?i(u,t):"$"===u[0])continue;var l=t[u];if(Array.isArray(l)){var p=0;for(yHe.traversingIndexStack.push(p);p<l.length;)e(l[p],t,u,p),p=yHe.updateTraversingIndex(1);yHe.traversingIndexStack.pop()}else e(l,t,u)}r&&r(t,s,a,o)}}(e,null)}(e,{pre:function(e,i,s,a){var o=void 0;n.asNodes||(o=r(e,i,s,a));var c=!0,u=!1,l=void 0;try{for(var p,d=t[Symbol.iterator]();!(c=(p=d.next()).done);c=!0){var h=p.value;if("function"==typeof h["*"])if(o){if(!o.isRemoved())if(!1===h["*"](o))return!1}else h["*"](e,i,s,a);var f=void 0;if("function"==typeof h[e.type]?f=h[e.type]:"object"==typeof h[e.type]&&"function"==typeof h[e.type].pre&&(f=h[e.type].pre),f)if(o){if(!o.isRemoved())if(!1===f.call(h,o))return!1}else f.call(h,e,i,s,a)}}catch(e){u=!0,l=e}finally{try{!c&&d.return&&d.return()}finally{if(u)throw l}}},post:function(e,i,s,a){if(e){var o=void 0;n.asNodes||(o=r(e,i,s,a));var c=!0,u=!1,l=void 0;try{for(var p,d=t[Symbol.iterator]();!(c=(p=d.next()).done);c=!0){var h=p.value,f=void 0;if("object"==typeof h[e.type]&&"function"==typeof h[e.type].post&&(f=h[e.type].post),f)if(o){if(!o.isRemoved())if(!1===f.call(h,o))return!1}else f.call(h,e,i,s,a)}}catch(e){u=!0,l=e}finally{try{!c&&d.return&&d.return()}finally{if(u)throw l}}}},skipProperty:function(e){return"loc"===e}})}},xHe=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();var THe=d$e,SHe=uHe,bHe=gHe,EHe=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this._ast=t,this._source=null,this._string=null,this._regexp=null,this._extra=n}return xHe(e,[{key:"getAST",value:function(){return this._ast}},{key:"setExtra",value:function(e){this._extra=e}},{key:"getExtra",value:function(){return this._extra}},{key:"toRegExp",value:function(){return this._regexp||(this._regexp=new RegExp(this.getSource(),this._ast.flags)),this._regexp}},{key:"getSource",value:function(){return this._source||(this._source=THe.generate(this._ast.body)),this._source}},{key:"getFlags",value:function(){return this._ast.flags}},{key:"toString",value:function(){return this._string||(this._string=THe.generate(this._ast)),this._string}}]),e}(),PHe={TransformResult:EHe,transform:function(e,t){var n=e;return e instanceof RegExp&&(e=""+e),"string"==typeof e&&(n=SHe.parse(e,{captureLocations:!0})),bHe.traverse(n,t),new EHe(n)}},vHe=u$e,AHe=PHe,CHe={transform:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=t.length>0?t:Object.keys(vHe),r=void 0,i={};return n.forEach(function(t){if(!vHe.hasOwnProperty(t))throw new Error("Unknown compat-transform: "+t+". Available transforms are: "+Object.keys(vHe).join(", "));var n=vHe[t];r=AHe.transform(e,n),e=r.getAST(),"function"==typeof n.getExtra&&(i[t]=n.getExtra())}),r.setExtra(i),r}},wHe={shouldRun:function(e){return e.flags.includes("u")},Char:function(e){var t=e.node;"unicode"===t.kind&&t.isSurrogatePair&&!isNaN(t.codePoint)&&(t.value="\\u{"+t.codePoint.toString(16)+"}",delete t.isSurrogatePair)}},kHe="A".codePointAt(0),IHe="Z".codePointAt(0),NHe="a".codePointAt(0),DHe="z".codePointAt(0),LHe="0".codePointAt(0),_He="9".codePointAt(0),OHe={Char:function(e){var t=e.node,n=e.parent;if(!isNaN(t.codePoint)&&"simple"!==t.kind&&("ClassRange"!==n.type||function(e){var t=e.from,n=e.to;return t.codePoint>=LHe&&t.codePoint<=_He&&n.codePoint>=LHe&&n.codePoint<=_He||t.codePoint>=kHe&&t.codePoint<=IHe&&n.codePoint>=kHe&&n.codePoint<=IHe||t.codePoint>=NHe&&t.codePoint<=DHe&&n.codePoint>=NHe&&n.codePoint<=DHe}(n))&&(r=t.codePoint)>=32&&r<=126){var r,i=String.fromCodePoint(t.codePoint),s={type:"Char",kind:"simple",value:i,symbol:i,codePoint:t.codePoint};(function(e,t){if("ClassRange"===t||"CharacterClass"===t)return/[\]\\^-]/.test(e);return/[*[()+?^$./\\|{}]/.test(e)})(i,n.type)&&(s.escaped=!0),e.replace(s)}}};var MHe="A".codePointAt(0),FHe="Z".codePointAt(0),BHe={_AZClassRanges:null,_hasUFlag:!1,init:function(e){this._AZClassRanges=new Set,this._hasUFlag=e.flags.includes("u")},shouldRun:function(e){return e.flags.includes("i")},Char:function(e){var t=e.node,n=e.parent;if(!isNaN(t.codePoint)&&(this._hasUFlag||!(t.codePoint>=4096))){if("ClassRange"===n.type){if(!this._AZClassRanges.has(n)&&!function(e){var t=e.from,n=e.to;return t.codePoint>=MHe&&t.codePoint<=FHe&&n.codePoint>=MHe&&n.codePoint<=FHe}(n))return;this._AZClassRanges.add(n)}var r=t.symbol.toLowerCase();r!==t.symbol&&(t.value=function(e,t){var n=e.codePointAt(0);if("decimal"===t.kind)return"\\"+n;if("oct"===t.kind)return"\\0"+n.toString(8);if("hex"===t.kind)return"\\x"+n.toString(16);if("unicode"===t.kind){if(t.isSurrogatePair){var r=function(e){var t=Math.floor((e-65536)/1024)+55296,n=(e-65536)%1024+56320;return{lead:t.toString(16),trail:n.toString(16)}}(n),i=r.lead,s=r.trail;return"\\u"+"0".repeat(4-i.length)+i+"\\u"+"0".repeat(4-s.length)+s}if(t.value.includes("{"))return"\\u{"+n.toString(16)+"}";var a=n.toString(16);return"\\u"+"0".repeat(4-a.length)+a}return e}(r,t),t.symbol=r,t.codePoint=r.codePointAt(0))}}};var jHe={disjunctionToList:function e(t){if("Disjunction"!==t.type)throw new TypeError('Expected "Disjunction" node, got "'+t.type+'"');var n=[];return t.left&&"Disjunction"===t.left.type?n.push.apply(n,function(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}(e(t.left)).concat([t.right])):n.push(t.left,t.right),n},listToDisjunction:function(e){return e.reduce(function(e,t){return{type:"Disjunction",left:e,right:t}})},increaseQuantifierByOne:function(e){"*"===e.kind?e.kind="+":"+"===e.kind?(e.kind="Range",e.from=2,delete e.to):"?"===e.kind?(e.kind="Range",e.from=1,e.to=2):"Range"===e.kind&&(e.from+=1,e.to&&(e.to+=1))}},RHe=jHe.increaseQuantifierByOne,UHe={Repetition:function(e){var t=e.node;if("Alternative"===e.parent.type&&e.index){var n=e.getPreviousSibling();if(n)if("Repetition"===n.node.type){if(!n.getChild().hasEqualSource(e.getChild()))return;var r=JHe(n.node.quantifier),i=r.from,s=r.to,a=JHe(t.quantifier),o=a.from,c=a.to;if(n.node.quantifier.greedy!==t.quantifier.greedy&&!qHe(n.node.quantifier)&&!qHe(t.quantifier))return;t.quantifier.kind="Range",t.quantifier.from=i+o,s&&c?t.quantifier.to=s+c:delete t.quantifier.to,(qHe(n.node.quantifier)||qHe(t.quantifier))&&(t.quantifier.greedy=!0),n.remove()}else{if(!n.hasEqualSource(e.getChild()))return;RHe(t.quantifier),n.remove()}}}};function qHe(e){return e.greedy&&("+"===e.kind||"*"===e.kind||"Range"===e.kind&&!e.to)}function JHe(e){var t=void 0,n=void 0;return"*"===e.kind?t=0:"+"===e.kind?t=1:"?"===e.kind?(t=0,n=1):(t=e.from,e.to&&(n=e.to)),{from:t,to:n}}var VHe={Quantifier:function(e){"Range"===e.node.kind&&(function(e){var t=e.node;if(0!==t.from||t.to)return;t.kind="*",delete t.from}(e),function(e){var t=e.node;if(1!==t.from||t.to)return;t.kind="+",delete t.from}(e),function(e){var t=e.node;if(1!==t.from||1!==t.to)return;e.parentPath.replace(e.parentPath.node.expression)}(e))}};function KHe(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}var WHe={_hasIFlag:!1,_hasUFlag:!1,init:function(e){this._hasIFlag=e.flags.includes("i"),this._hasUFlag=e.flags.includes("u")},CharacterClass:function(e){!function(e){var t=e.node;t.expressions.forEach(function(t,n){(function(e){return"ClassRange"===e.type&&"0"===e.from.value&&"9"===e.to.value})(t)&&e.getChild(n).replace({type:"Char",value:"\\d",kind:"meta"})})}(e),function(e,t,n){var r=e.node,i=null,s=null,a=null,o=null,c=null,u=null;r.expressions.forEach(function(r,l){HHe(r,"\\d")?i=e.getChild(l):!function(e){return"ClassRange"===e.type&&"a"===e.from.value&&"z"===e.to.value}(r)?!function(e){return"ClassRange"===e.type&&"A"===e.from.value&&"Z"===e.to.value}(r)?!function(e){return"Char"===e.type&&"_"===e.value&&"simple"===e.kind}(r)?t&&n&&zHe(r,383)?c=e.getChild(l):t&&n&&zHe(r,8490)&&(u=e.getChild(l)):o=e.getChild(l):a=e.getChild(l):s=e.getChild(l)}),i&&(s&&a||t&&(s||a))&&o&&(!n||!t||c&&u)&&(i.replace({type:"Char",value:"\\w",kind:"meta"}),s&&s.remove(),a&&a.remove(),o.remove(),c&&c.remove(),u&&u.remove())}(e,this._hasIFlag,this._hasUFlag),function(e){var t=e.node;if(t.expressions.length<XHe.length||!XHe.every(function(e){return t.expressions.some(function(t){return e(t)})}))return;var n=t.expressions.find(function(e){return HHe(e,"\\n")});n.value="\\s",n.symbol=void 0,n.codePoint=NaN,t.expressions.map(function(t,n){return XHe.some(function(e){return e(t)})?e.getChild(n):void 0}).filter(Boolean).forEach(function(e){return e.remove()})}(e)}};var XHe=[function(e){return $He(e," ")}].concat(KHe(["\\f","\\n","\\r","\\t","\\v"].map(function(e){return function(t){return HHe(t,e)}})),KHe([160,5760,8232,8233,8239,8287,12288,65279].map(function(e){return function(t){return zHe(t,e)}})),[function(e){return"ClassRange"===e.type&&zHe(e.from,8192)&&zHe(e.to,8202)}]);function $He(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"simple";return"Char"===e.type&&e.value===t&&e.kind===n}function HHe(e,t){return $He(e,t,"meta")}function zHe(e,t){return"Char"===e.type&&"unicode"===e.kind&&e.codePoint===t}var YHe={CharacterClass:function(e){var t=e.node;if(1===t.expressions.length&&function(e){var t=e.parent,n=e.index;if("Alternative"!==t.type)return!0;var r=t.expressions[n-1];if(null==r)return!0;if("Backreference"===r.type&&"number"===r.kind)return!1;if("Char"===r.type&&"decimal"===r.kind)return!1;return!0}(e)&&function(e){return"Char"===e.type&&"\\b"!==e.value}(t.expressions[0])){var n=t.expressions[0],r=n.value,i=n.kind,s=n.escaped;if(t.negative){if(!function(e){return/^\\[dwsDWS]$/.test(e)}(r))return;r=function(e){return/[dws]/.test(e)?e.toUpperCase():e.toLowerCase()}(r)}e.replace({type:"Char",value:r,kind:i,escaped:s||GHe(r)})}}};function GHe(e){return/[*[()+?$./{}|]/.test(e)}var QHe={_hasXFlag:!1,init:function(e){this._hasXFlag=e.flags.includes("x")},Char:function(e){var t=e.node;t.escaped&&function(e,t){var n=e.node.value,r=e.index,i=e.parent;if("CharacterClass"!==i.type&&"ClassRange"!==i.type)return!function(e,t,n,r){if("{"===e)return function(e,t){if(null==e)return!1;var n=ZHe(e+1,t),r=e+n+1,i=r<t.expressions.length&&t.expressions[r];if(n){if(eze(i,"}"))return!0;if(eze(i,","))return eze(i=(r=r+(n=ZHe(r+1,t))+1)<t.expressions.length&&t.expressions[r],"}")}return!1}(t,n);if("}"===e)return function(e,t){if(null==e)return!1;var n=ZHe(e-1,t,!0),r=e-n-1,i=r>=0&&t.expressions[r];if(n&&eze(i,"{"))return!0;if(eze(i,","))return i=(r=r-(n=ZHe(r-1,t,!0))-1)<t.expressions.length&&t.expressions[r],n&&eze(i,"{");return!1}(t,n);if(r&&/[ #]/.test(e))return!0;return/[*[()+?^$./\\|]/.test(e)}(n,r,i,t);return!function(e,t,n){if("^"===e)return 0===t&&!n.negative;if("-"===e)return!0;return/[\]\\]/.test(e)}(n,r,i)}(e,this._hasXFlag)&&delete t.escaped}};function ZHe(e,t,n){for(var r=e,i=(n?r>=0:r<t.expressions.length)&&t.expressions[r];i&&"Char"===i.type&&"simple"===i.kind&&!i.escaped&&/\d/.test(i.value);)n?r--:r++,i=(n?r>=0:r<t.expressions.length)&&t.expressions[r];return Math.abs(e-r)}function eze(e,t){return e&&"Char"===e.type&&"simple"===e.kind&&!e.escaped&&e.value===t}var tze={_hasIUFlags:!1,init:function(e){this._hasIUFlags=e.flags.includes("i")&&e.flags.includes("u")},CharacterClass:function(e){var t=e.node.expressions,n=[];t.forEach(function(e){ize(e)&&n.push(e.value)}),t.sort(nze);for(var r=0;r<t.length;r++){var i=t[r];if(aze(i,n,this._hasIUFlags)||pze(i,t[r-1])||dze(i,t[r+1]))t.splice(r,1),r--;else{var s=fze(i,r,t);t.splice(r-s+1,s),r-=s}}}};function nze(e,t){var n=rze(e),r=rze(t);if(n===r){if("ClassRange"===e.type&&"ClassRange"!==t.type)return-1;if("ClassRange"===t.type&&"ClassRange"!==e.type)return 1;if("ClassRange"===e.type&&"ClassRange"===t.type)return rze(e.to)-rze(t.to);if(ize(e)&&ize(t)||sze(e)&&sze(t))return e.value<t.value?-1:1}return n-r}function rze(e){return"Char"===e.type?"-"===e.value||"control"===e.kind?1/0:"meta"===e.kind&&isNaN(e.codePoint)?-1:e.codePoint:e.from.codePoint}function ize(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return"Char"===e.type&&"meta"===e.kind&&(t?e.value===t:/^\\[dws]$/i.test(e.value))}function sze(e){return"Char"===e.type&&"control"===e.kind}function aze(e,t,n){for(var r=0;r<t.length;r++)if(oze(e,t[r],n))return!0;return!1}function oze(e,t,n){return"ClassRange"===e.type?oze(e.from,t,n)&&oze(e.to,t,n):!("\\S"!==t||!ize(e,"\\w")&&!ize(e,"\\d"))||(!("\\D"!==t||!ize(e,"\\W")&&!ize(e,"\\s"))||(!("\\w"!==t||!ize(e,"\\d"))||(!("\\W"!==t||!ize(e,"\\s"))||"Char"===e.type&&!isNaN(e.codePoint)&&("\\s"===t?cze(e):"\\S"===t?!cze(e):"\\d"===t?uze(e):"\\D"===t?!uze(e):"\\w"===t?lze(e,n):"\\W"===t&&!lze(e,n)))))}function cze(e){return 9===e.codePoint||10===e.codePoint||11===e.codePoint||12===e.codePoint||13===e.codePoint||32===e.codePoint||160===e.codePoint||5760===e.codePoint||e.codePoint>=8192&&e.codePoint<=8202||8232===e.codePoint||8233===e.codePoint||8239===e.codePoint||8287===e.codePoint||12288===e.codePoint||65279===e.codePoint}function uze(e){return e.codePoint>=48&&e.codePoint<=57}function lze(e,t){return uze(e)||e.codePoint>=65&&e.codePoint<=90||e.codePoint>=97&&e.codePoint<=122||"_"===e.value||t&&(383===e.codePoint||8490===e.codePoint)}function pze(e,t){if(t&&"ClassRange"===t.type){if(hze(e,t))return!0;if(mze(e)&&t.to.codePoint===e.codePoint-1)return t.to=e,!0;if("ClassRange"===e.type&&e.from.codePoint<=t.to.codePoint+1&&e.to.codePoint>=t.from.codePoint-1)return e.from.codePoint<t.from.codePoint&&(t.from=e.from),e.to.codePoint>t.to.codePoint&&(t.to=e.to),!0}return!1}function dze(e,t){return!(!t||"ClassRange"!==t.type||!mze(e)||t.from.codePoint!==e.codePoint+1)&&(t.from=e,!0)}function hze(e,t){return("Char"!==e.type||!isNaN(e.codePoint))&&("ClassRange"===e.type?hze(e.from,t)&&hze(e.to,t):e.codePoint>=t.from.codePoint&&e.codePoint<=t.to.codePoint)}function fze(e,t,n){if(!mze(e))return 0;for(var r=0;t>0;){var i=n[t],s=n[t-1];if(!mze(s)||s.codePoint!==i.codePoint-1)break;r++,t--}return r>1?(n[t]={type:"ClassRange",from:n[t],to:e},r):0}function mze(e){return e&&"Char"===e.type&&!isNaN(e.codePoint)&&(lze(e,!1)||"unicode"===e.kind||"hex"===e.kind||"oct"===e.kind||"decimal"===e.kind)}var yze=mHe,gze=jHe.disjunctionToList,xze=jHe.listToDisjunction,Tze={Disjunction:function(e){var t=e.node,n={},r=gze(t).filter(function(e){var t=e?yze.getForNode(e).jsonEncode():"null";return!n.hasOwnProperty(t)&&(n[t]=e,!0)});e.replace(xze(r))}},Sze={Disjunction:function(e){var t=e.node,n=e.parent;if(bze[n.type]){var r=new Map;if(Eze(t,r)&&r.size){var i={type:"CharacterClass",expressions:Array.from(r.keys()).sort().map(function(e){return r.get(e)})};bze[n.type](e.getParent(),i)}}}},bze={RegExp:function(e,t){e.node.body=t},Group:function(e,t){var n=e.node;n.capturing?n.expression=t:e.replace(t)}};function Eze(e,t){if(!e)return!1;var n=e.type;if("Disjunction"===n){var r=e.left,i=e.right;return Eze(r,t)&&Eze(i,t)}if("Char"===n){if("meta"===e.kind&&"."===e.symbol)return!1;var s=e.value;return t.set(s,e),!0}return"CharacterClass"===n&&!e.negative&&e.expressions.every(function(e){return Eze(e,t)})}function Pze(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}var vze={Group:function(e){var t=e.node,n=e.parent,r=e.getChild();if(!t.capturing&&r&&function(e){var t=e.parent,n=e.index;if("Alternative"!==t.type)return!0;var r=t.expressions[n-1];if(null==r)return!0;if("Backreference"===r.type&&"number"===r.kind)return!1;if("Char"===r.type&&"decimal"===r.kind)return!1;return!0}(e)&&!("Disjunction"===r.node.type&&"RegExp"!==n.type||"Repetition"===n.type&&"Char"!==r.node.type&&"CharacterClass"!==r.node.type))if("Alternative"===r.node.type){var i=e.getParent();"Alternative"===i.node.type&&i.replace({type:"Alternative",expressions:[].concat(Pze(n.expressions.slice(0,e.index)),Pze(r.node.expressions),Pze(n.expressions.slice(e.index+1)))})}else e.replace(r.node)}};function Aze(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}var Cze=mHe,wze=jHe.increaseQuantifierByOne,kze={Alternative:function(e){for(var t=e.node,n=1;n<t.expressions.length;){var r=e.getChild(n);if((n=Math.max(1,Ize(e,r,n)))>=t.expressions.length)break;if(r=e.getChild(n),(n=Math.max(1,Nze(e,r,n)))>=t.expressions.length)break;r=e.getChild(n),n=Math.max(1,Dze(e,r,n)),n++}}};function Ize(e,t,n){for(var r=e.node,i=Math.ceil(n/2),s=0;s<i;){var a=n-2*s-1,o=void 0,c=void 0;if(0===s?(o=t,c=e.getChild(a)):(o=Cze.getForNode({type:"Alternative",expressions:[].concat(Aze(r.expressions.slice(n-s,n)),[t.node])}),c=Cze.getForNode({type:"Alternative",expressions:[].concat(Aze(r.expressions.slice(a,n-s)))})),o.hasEqualSource(c)){for(var u=0;u<2*s+1;u++)e.getChild(a).remove();return t.replace({type:"Repetition",expression:0===s&&"Repetition"!==o.node.type?o.node:{type:"Group",capturing:!1,expression:o.node},quantifier:{type:"Quantifier",kind:"Range",from:2,to:2,greedy:!0}}),a}s++}return n}function Nze(e,t,n){for(var r=e.node,i=0;i<n;){var s=e.getChild(i);if("Repetition"===s.node.type&&s.node.quantifier.greedy){var a=s.getChild(),o=void 0;if("Group"!==a.node.type||a.node.capturing||(a=a.getChild()),i+1===n?"Group"!==(o=t).node.type||o.node.capturing||(o=o.getChild()):o=Cze.getForNode({type:"Alternative",expressions:[].concat(Aze(r.expressions.slice(i+1,n+1)))}),a.hasEqualSource(o)){for(var c=i;c<n;c++)e.getChild(i+1).remove();return wze(s.node.quantifier),i}}i++}return n}function Dze(e,t,n){var r=e.node;if("Repetition"===t.node.type&&t.node.quantifier.greedy){var i=t.getChild(),s=void 0;"Group"!==i.node.type||i.node.capturing||(i=i.getChild());var a=void 0;if("Alternative"===i.node.type?(a=i.node.expressions.length,s=Cze.getForNode({type:"Alternative",expressions:[].concat(Aze(r.expressions.slice(n-a,n)))})):(a=1,"Group"!==(s=e.getChild(n-1)).node.type||s.node.capturing||(s=s.getChild())),s.hasEqualSource(i)){for(var o=n-a;o<n;o++)e.getChild(n-a).remove();return wze(t.node.quantifier),n-a}}return n}var Lze=new Map([["charSurrogatePairToSingleUnicode",wHe],["charCodeToSimpleChar",OHe],["charCaseInsensitiveLowerCaseTransform",BHe],["charClassRemoveDuplicates",{CharacterClass:function(e){for(var t=e.node,n={},r=0;r<t.expressions.length;r++){var i=e.getChild(r),s=i.jsonEncode();n.hasOwnProperty(s)&&(i.remove(),r--),n[s]=!0}}}],["quantifiersMerge",UHe],["quantifierRangeToSymbol",VHe],["charClassClassrangesToChars",{ClassRange:function(e){var t=e.node;t.from.codePoint===t.to.codePoint?e.replace(t.from):t.from.codePoint===t.to.codePoint-1&&(e.getParent().insertChildAt(t.to,e.index+1),e.replace(t.from))}}],["charClassToMeta",WHe],["charClassToSingleChar",YHe],["charEscapeUnescape",QHe],["charClassClassrangesMerge",tze],["disjunctionRemoveDuplicates",Tze],["groupSingleCharsToCharClass",Sze],["removeEmptyGroup",{Group:function(e){var t=e.node,n=e.parent,r=e.getChild();t.capturing||r||("Repetition"===n.type?e.getParent().replace(t):"RegExp"!==n.type&&e.remove())}}],["ungroup",vze],["combineRepeatingPatterns",kze]]);Lze.default;var _ze=function e(t){if(null===t||"object"!=typeof t)return t;var n=void 0;for(var r in n=Array.isArray(t)?[]:{},t)n[r]=e(t[r]);return n},Oze=uHe,Mze=PHe,Fze=Lze,Bze={optimize:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.whitelist,r=void 0===n?[]:n,i=t.blacklist,s=void 0===i?[]:i,a=(r.length>0?r:Array.from(Fze.keys())).filter(function(e){return!s.includes(e)}),o=e;e instanceof RegExp&&(e=""+e),"string"==typeof e&&(o=Oze.parse(e));var c=new Mze.TransformResult(o),u=void 0;do{u=c.toString(),o=_ze(c.getAST()),a.forEach(function(e){if(!Fze.has(e))throw new Error("Unknown optimization-transform: "+e+". Available transforms are: "+Array.from(Fze.keys()).join(", "));var t=Fze.get(e),n=Mze.transform(o,t);n.toString()!==c.toString()&&(n.toString().length<=c.toString().length?c=n:o=_ze(c.getAST()))})}while(c.toString()!==u);return c}},jze={EPSILON:"ε",EPSILON_CLOSURE:"ε*"},Rze=function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return function(e,t){var n=[],r=!0,i=!1,s=void 0;try{for(var a,o=e[Symbol.iterator]();!(r=(a=o.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(e){i=!0,s=e}finally{try{!r&&o.return&&o.return()}finally{if(i)throw s}}return n}(e,t);throw new TypeError("Invalid attempt to destructure non-iterable instance")},Uze=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();var qze=jze.EPSILON,Jze=jze.EPSILON_CLOSURE,Vze=function(){function e(t,n){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.in=t,this.out=n}return Uze(e,[{key:"matches",value:function(e){return this.in.matches(e)}},{key:"getAlphabet",value:function(){if(!this._alphabet){this._alphabet=new Set;var e=this.getTransitionTable();for(var t in e){var n=e[t];for(var r in n)r!==Jze&&this._alphabet.add(r)}}return this._alphabet}},{key:"getAcceptingStates",value:function(){return this._acceptingStates||this.getTransitionTable(),this._acceptingStates}},{key:"getAcceptingStateNumbers",value:function(){if(!this._acceptingStateNumbers){this._acceptingStateNumbers=new Set;var e=!0,t=!1,n=void 0;try{for(var r,i=this.getAcceptingStates()[Symbol.iterator]();!(e=(r=i.next()).done);e=!0){var s=r.value;this._acceptingStateNumbers.add(s.number)}}catch(e){t=!0,n=e}finally{try{!e&&i.return&&i.return()}finally{if(t)throw n}}}return this._acceptingStateNumbers}},{key:"getTransitionTable",value:function(){var e=this;if(!this._transitionTable){this._transitionTable={},this._acceptingStates=new Set;var t=new Set,n=new Set;!function r(i){if(!t.has(i)){t.add(i),i.number=t.size,e._transitionTable[i.number]={},i.accepting&&e._acceptingStates.add(i);var s=i.getTransitions(),a=!0,o=!1,c=void 0;try{for(var u,l=s[Symbol.iterator]();!(a=(u=l.next()).done);a=!0){var p=u.value,d=Rze(p,2),h=d[0],f=d[1],m=[];n.add(h);var y=!0,g=!1,x=void 0;try{for(var T,S=f[Symbol.iterator]();!(y=(T=S.next()).done);y=!0){var b=T.value;r(b),m.push(b.number)}}catch(e){g=!0,x=e}finally{try{!y&&S.return&&S.return()}finally{if(g)throw x}}e._transitionTable[i.number][h]=m}}catch(e){o=!0,c=e}finally{try{!a&&l.return&&l.return()}finally{if(o)throw c}}}}(this.in),t.forEach(function(t){delete e._transitionTable[t.number][qze],e._transitionTable[t.number][Jze]=[].concat(function(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}(t.getEpsilonClosure())).map(function(e){return e.number})})}return this._transitionTable}}]),e}(),Kze=Vze;Kze.default;var Wze=function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return function(e,t){var n=[],r=!0,i=!1,s=void 0;try{for(var a,o=e[Symbol.iterator]();!(r=(a=o.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(e){i=!0,s=e}finally{try{!r&&o.return&&o.return()}finally{if(i)throw s}}return n}(e,t);throw new TypeError("Invalid attempt to destructure non-iterable instance")};function Xze(e){return Array.isArray(e)?e:Array.from(e)}function $ze(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}var Hze=null;function zze(e,t){if(!t)return!1;if(e.length!==t.length)return!1;for(var n=0;n<e.length;n++){var r=e[n],i=t[n];if(r.size!==i.size)return!1;if([].concat($ze(r)).sort().join(",")!==[].concat($ze(i)).sort().join(","))return!1}return!0}function Yze(e,t,n,r){var i=!0,s=!1,a=void 0;try{for(var o,c=r[Symbol.iterator]();!(i=(o=c.next()).done);i=!0){if(!Gze(e,t,n,o.value))return!1}}catch(e){s=!0,a=e}finally{try{!i&&c.return&&c.return()}finally{if(s)throw a}}return!0}function Gze(e,t,n,r){if(!Hze[e]||!Hze[t])return!1;var i=n[e][r],s=n[t][r];return!i&&!s||Hze[e].has(i)&&Hze[t].has(s)}var Qze={minimize:function(e){var t=e.getTransitionTable(),n=Object.keys(t),r=e.getAlphabet(),i=e.getAcceptingStateNumbers();Hze={};var s=new Set;n.forEach(function(e){e=Number(e),i.has(e)?Hze[e]=i:(s.add(e),Hze[e]=s)});var a=[[s,i].filter(function(e){return e.size>0})],o=void 0,c=void 0;o=a[a.length-1],c=a[a.length-2];for(var u=function(){var e={},n=!0,i=!1,s=void 0;try{for(var u,l=o[Symbol.iterator]();!(n=(u=l.next()).done);n=!0){var p=u.value,d={},h=Xze(p),f=h[0],m=h.slice(1);d[f]=new Set([f]);var y=!0,g=!1,x=void 0;try{e:for(var T,S=m[Symbol.iterator]();!(y=(T=S.next()).done);y=!0){var b=T.value,E=!0,P=!1,v=void 0;try{for(var A,C=Object.keys(d)[Symbol.iterator]();!(E=(A=C.next()).done);E=!0){var w=A.value;if(Yze(b,w,t,r)){d[w].add(b),d[b]=d[w];continue e}}}catch(e){P=!0,v=e}finally{try{!E&&C.return&&C.return()}finally{if(P)throw v}}d[b]=new Set([b])}}catch(e){g=!0,x=e}finally{try{!y&&S.return&&S.return()}finally{if(g)throw x}}Object.assign(e,d)}}catch(e){i=!0,s=e}finally{try{!n&&l.return&&l.return()}finally{if(i)throw s}}Hze=e;var k=new Set(Object.keys(e).map(function(t){return e[t]}));a.push([].concat($ze(k))),o=a[a.length-1],c=a[a.length-2]};!zze(o,c);)u();var l=new Map,p=1;o.forEach(function(e){return l.set(e,p++)});var d={},h=new Set,f=function(e,t){var n=!0,r=!1,s=void 0;try{for(var a,o=e[Symbol.iterator]();!(n=(a=o.next()).done);n=!0){var c=a.value;i.has(c)&&h.add(t)}}catch(e){r=!0,s=e}finally{try{!n&&o.return&&o.return()}finally{if(r)throw s}}},m=!0,y=!1,g=void 0;try{for(var x,T=l.entries()[Symbol.iterator]();!(m=(x=T.next()).done);m=!0){var S=x.value,b=Wze(S,2),E=b[0],P=b[1];d[P]={};var v=!0,A=!1,C=void 0;try{for(var w,k=r[Symbol.iterator]();!(v=(w=k.next()).done);v=!0){var I=w.value;f(E,P);var N=void 0,D=!0,L=!1,_=void 0;try{for(var O,M=E[Symbol.iterator]();!(D=(O=M.next()).done);D=!0){var F=O.value;if(N=t[F][I])break}}catch(e){L=!0,_=e}finally{try{!D&&M.return&&M.return()}finally{if(L)throw _}}N&&(d[P][I]=l.get(Hze[N]))}}catch(e){A=!0,C=e}finally{try{!v&&k.return&&k.return()}finally{if(A)throw C}}}}catch(e){y=!0,g=e}finally{try{!m&&T.return&&T.return()}finally{if(y)throw g}}return e.setTransitionTable(d),e.setAcceptingStateNumbers(h),e}},Zze=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();function eYe(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}var tYe=Qze,nYe=jze.EPSILON_CLOSURE,rYe=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this._nfa=t}return Zze(e,[{key:"minimize",value:function(){this.getTransitionTable(),this._originalAcceptingStateNumbers=this._acceptingStateNumbers,this._originalTransitionTable=this._transitionTable,tYe.minimize(this)}},{key:"getAlphabet",value:function(){return this._nfa.getAlphabet()}},{key:"getAcceptingStateNumbers",value:function(){return this._acceptingStateNumbers||this.getTransitionTable(),this._acceptingStateNumbers}},{key:"getOriginaAcceptingStateNumbers",value:function(){return this._originalAcceptingStateNumbers||this.getTransitionTable(),this._originalAcceptingStateNumbers}},{key:"setTransitionTable",value:function(e){this._transitionTable=e}},{key:"setAcceptingStateNumbers",value:function(e){this._acceptingStateNumbers=e}},{key:"getTransitionTable",value:function(){var e=this;if(this._transitionTable)return this._transitionTable;var t=this._nfa.getTransitionTable(),n=Object.keys(t);this._acceptingStateNumbers=new Set;for(var r=[t[n[0]][nYe]],i=this.getAlphabet(),s=this._nfa.getAcceptingStateNumbers(),a={},o=function(t){var n=!0,r=!1,i=void 0;try{for(var a,o=s[Symbol.iterator]();!(n=(a=o.next()).done);n=!0){var c=a.value;if(-1!==t.indexOf(c)){e._acceptingStateNumbers.add(t.join(","));break}}}catch(e){r=!0,i=e}finally{try{!n&&o.return&&o.return()}finally{if(r)throw i}}};r.length>0;){var c=r.shift(),u=c.join(",");a[u]={};var l=!0,p=!1,d=void 0;try{for(var h,f=i[Symbol.iterator]();!(l=(h=f.next()).done);l=!0){var m=h.value,y=[];o(c);var g=!0,x=!1,T=void 0;try{for(var S,b=c[Symbol.iterator]();!(g=(S=b.next()).done);g=!0){var E=t[S.value][m];if(E){var P=!0,v=!1,A=void 0;try{for(var C,w=E[Symbol.iterator]();!(P=(C=w.next()).done);P=!0){var k=C.value;t[k]&&y.push.apply(y,eYe(t[k][nYe]))}}catch(e){v=!0,A=e}finally{try{!P&&w.return&&w.return()}finally{if(v)throw A}}}}}catch(e){x=!0,T=e}finally{try{!g&&b.return&&b.return()}finally{if(x)throw T}}var I=new Set(y),N=[].concat(eYe(I));if(N.length>0){var D=N.join(",");a[u][m]=D,a.hasOwnProperty(D)||r.unshift(N)}}}catch(e){p=!0,d=e}finally{try{!l&&f.return&&f.return()}finally{if(p)throw d}}}return this._transitionTable=this._remapStateNumbers(a)}},{key:"_remapStateNumbers",value:function(e){var t={};this._originalTransitionTable=e;var n={};for(var r in Object.keys(e).forEach(function(e,n){t[e]=n+1}),e){var i=e[r],s={};for(var a in i)s[a]=t[i[a]];n[t[r]]=s}this._originalAcceptingStateNumbers=this._acceptingStateNumbers,this._acceptingStateNumbers=new Set;var o=!0,c=!1,u=void 0;try{for(var l,p=this._originalAcceptingStateNumbers[Symbol.iterator]();!(o=(l=p.next()).done);o=!0){var d=l.value;this._acceptingStateNumbers.add(t[d])}}catch(e){c=!0,u=e}finally{try{!o&&p.return&&p.return()}finally{if(c)throw u}}return n}},{key:"getOriginalTransitionTable",value:function(){return this._originalTransitionTable||this.getTransitionTable(),this._originalTransitionTable}},{key:"matches",value:function(e){for(var t=1,n=0,r=this.getTransitionTable();e[n];)if(!(t=r[t][e[n++]]))return!1;return!!this.getAcceptingStateNumbers().has(t)}}]),e}(),iYe=rYe;iYe.default;var sYe=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();var aYe=function(){function e(){var t=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).accepting,n=void 0!==t&&t;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this._transitions=new Map,this.accepting=n}return sYe(e,[{key:"getTransitions",value:function(){return this._transitions}},{key:"addTransition",value:function(e,t){return this.getTransitionsOnSymbol(e).add(t),this}},{key:"getTransitionsOnSymbol",value:function(e){var t=this._transitions.get(e);return t||(t=new Set,this._transitions.set(e,t)),t}}]),e}(),oYe=aYe;oYe.default;var cYe=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();var uYe=oYe,lYe=jze.EPSILON,pYe=function(){function e(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(e,uYe),cYe(e,[{key:"matches",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new Set;if(t.has(this))return!1;if(t.add(this),0===e.length){if(this.accepting)return!0;var n=!0,r=!1,i=void 0;try{for(var s,a=this.getTransitionsOnSymbol(lYe)[Symbol.iterator]();!(n=(s=a.next()).done);n=!0){if(s.value.matches("",t))return!0}}catch(e){r=!0,i=e}finally{try{!n&&a.return&&a.return()}finally{if(r)throw i}}return!1}var o=e[0],c=e.slice(1),u=this.getTransitionsOnSymbol(o),l=!0,p=!1,d=void 0;try{for(var h,f=u[Symbol.iterator]();!(l=(h=f.next()).done);l=!0){if(h.value.matches(c))return!0}}catch(e){p=!0,d=e}finally{try{!l&&f.return&&f.return()}finally{if(p)throw d}}var m=!0,y=!1,g=void 0;try{for(var x,T=this.getTransitionsOnSymbol(lYe)[Symbol.iterator]();!(m=(x=T.next()).done);m=!0){if(x.value.matches(e,t))return!0}}catch(e){y=!0,g=e}finally{try{!m&&T.return&&T.return()}finally{if(y)throw g}}return!1}},{key:"getEpsilonClosure",value:function(){var e=this;return this._epsilonClosure||function(){var t=e.getTransitionsOnSymbol(lYe),n=e._epsilonClosure=new Set;n.add(e);var r=!0,i=!1,s=void 0;try{for(var a,o=t[Symbol.iterator]();!(r=(a=o.next()).done);r=!0){var c=a.value;if(!n.has(c))n.add(c),c.getEpsilonClosure().forEach(function(e){return n.add(e)})}}catch(e){i=!0,s=e}finally{try{!r&&o.return&&o.return()}finally{if(i)throw s}}}(),this._epsilonClosure}}]),e}(),dYe=pYe;dYe.default;var hYe=Kze,fYe=dYe,mYe=jze.EPSILON;function yYe(e){var t=new fYe,n=new fYe({accepting:!0});return new hYe(t.addTransition(e,n),n)}function gYe(e,t){return e.out.accepting=!1,t.out.accepting=!0,e.out.addTransition(mYe,t.in),new hYe(e.in,t.out)}function xYe(e,t){var n=new fYe,r=new fYe;return n.addTransition(mYe,e.in),n.addTransition(mYe,t.in),r.accepting=!0,e.out.accepting=!1,t.out.accepting=!1,e.out.addTransition(mYe,r),t.out.addTransition(mYe,r),new hYe(n,r)}var TYe={alt:function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];var i=!0,s=!1,a=void 0;try{for(var o,c=n[Symbol.iterator]();!(i=(o=c.next()).done);i=!0){e=gYe(e,o.value)}}catch(e){s=!0,a=e}finally{try{!i&&c.return&&c.return()}finally{if(s)throw a}}return e},char:yYe,e:function(){return yYe(mYe)},or:function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];var i=!0,s=!1,a=void 0;try{for(var o,c=n[Symbol.iterator]();!(i=(o=c.next()).done);i=!0){e=xYe(e,o.value)}}catch(e){s=!0,a=e}finally{try{!i&&c.return&&c.return()}finally{if(s)throw a}}return e},rep:function(e){return e.in.addTransition(mYe,e.out),e.out.addTransition(mYe,e.in),e},repExplicit:function(e){var t=new fYe,n=new fYe({accepting:!0});return t.addTransition(mYe,e.in),t.addTransition(mYe,n),e.out.accepting=!1,e.out.addTransition(mYe,n),n.addTransition(mYe,e.in),new hYe(t,n)},plusRep:function(e){return e.out.addTransition(mYe,e.in),e},questionRep:function(e){return e.in.addTransition(mYe,e.out),e}};var SYe=uHe,bYe=TYe.alt,EYe=TYe.char,PYe=TYe.or,vYe=TYe.rep,AYe=TYe.plusRep,CYe=TYe.questionRep;function wYe(e){if(e&&!kYe[e.type])throw new Error(e.type+" is not supported in NFA/DFA interpreter.");return e?kYe[e.type](e):""}var kYe={RegExp:function(e){if(""!==e.flags)throw new Error("NFA/DFA: Flags are not supported yet.");return wYe(e.body)},Alternative:function(e){var t=(e.expressions||[]).map(wYe);return bYe.apply(void 0,function(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}(t))},Disjunction:function(e){return PYe(wYe(e.left),wYe(e.right))},Repetition:function(e){switch(e.quantifier.kind){case"*":return vYe(wYe(e.expression));case"+":return AYe(wYe(e.expression));case"?":return CYe(wYe(e.expression));default:throw new Error("Unknown repeatition: "+e.quantifier.kind+".")}},Char:function(e){if("simple"!==e.kind)throw new Error("NFA/DFA: Only simple chars are supported yet.");return EYe(e.value)},Group:function(e){return wYe(e.expression)}},IYe={build:function(e){var t=e;return e instanceof RegExp&&(e=""+e),"string"==typeof e&&(t=SYe.parse(e,{captureLocations:!0})),wYe(t)}},NYe=iYe,DYe=IYe,LYe={NFA:Kze,DFA:NYe,builders:TYe,toNFA:function(e){return DYe.build(e)},toDFA:function(e){return new NYe(this.toNFA(e))},test:function(e,t){return this.toDFA(e).matches(t)}},_Ye=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();var OYe=function(){function e(t,n){var r=n.flags,i=n.groups,s=n.source;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this._re=t,this._groups=i,this.flags=r,this.source=s||t.source,this.dotAll=r.includes("s"),this.global=t.global,this.ignoreCase=t.ignoreCase,this.multiline=t.multiline,this.sticky=t.sticky,this.unicode=t.unicode}return _Ye(e,[{key:"test",value:function(e){return this._re.test(e)}},{key:"compile",value:function(e){return this._re.compile(e)}},{key:"toString",value:function(){return this._toStringResult||(this._toStringResult="/"+this.source+"/"+this.flags),this._toStringResult}},{key:"exec",value:function(e){var t=this._re.exec(e);if(!this._groups||!t)return t;for(var n in t.groups={},this._groups){var r=this._groups[n];t.groups[n]=t[r]}return t}}]),e}(),MYe=CHe,FYe=d$e,BYe=Bze,jYe=uHe,RYe=PHe,UYe=gHe,qYe={RegExpTree:OYe}.RegExpTree,JYe={parser:jYe,fa:LYe,TransformResult:RYe.TransformResult,parse:function(e,t){return jYe.parse(""+e,t)},traverse:function(e,t,n){return UYe.traverse(e,t,n)},transform:function(e,t){return RYe.transform(e,t)},generate:function(e){return FYe.generate(e)},toRegExp:function(e){var t=this.compatTranspile(e);return new RegExp(t.getSource(),t.getFlags())},optimize:function(e,t){var n=(arguments.length>2&&void 0!==arguments[2]?arguments[2]:{}).blacklist;return BYe.optimize(e,{whitelist:t,blacklist:n})},compatTranspile:function(e,t){return MYe.transform(e,t)},exec:function(e,t){if("string"==typeof e){var n=this.compatTranspile(e),r=n.getExtra();e=r.namedCapturingGroups?new qYe(n.toRegExp(),{flags:n.getFlags(),source:n.getSource(),groups:r.namedCapturingGroups}):n.toRegExp()}return e.exec(t)}};const VYe=JYe,KYe=({type:e,kind:t})=>"Char"!==e||"simple"!==t;var WYe=e=>{let t=!1;const n=VYe.parse(e);return"Alternative"===n.body.type&&(VYe.traverse(n,{RegExp({node:e}){const{expressions:n}=e.body;t=Boolean(n.find(KYe))}}),!t)},XYe={};const $Ye=JYe;XYe.transformRegExp=(e,t)=>{!function(e){if(!e)throw Error("☝️ Looks like RegExpTransformer is missing")}(t);const{report:n,traverse:r,fix:i}=t,s=$Ye.parse(e,{captureLocations:!0}),a=[];return $Ye.traverse(s,r({push:e=>{const{start:t}=(e.path||e).node.loc;a.push({position:t,message:n(e)}),i(e)}})),[$Ye.generate(s),a]};const HYe=WYe,{transformRegExp:zYe}=XYe;var YYe={isSimpleRegExp:HYe,transformRegExp:zYe},GYe={};const{compareAny:QYe}=Jje,{template:ZYe}=tU,{types:eGe}=rt,{isBlockStatement:tGe,isFunction:nGe,isLabeledStatement:rGe,isObjectPattern:iGe,isCallExpression:sGe,objectPattern:aGe,objectProperty:oGe}=eGe,{entries:cGe}=Object,uGe=!0,lGe=e=>e.isCallExpression()||e.isStatement(),pGe=e=>sGe(e.find(lGe)),dGe=({name:e})=>`Argument '${e}' is missing`;GYe.addArgs=e=>({report:dGe,fix:hGe,traverse:fGe(e)});const hGe=({declaration:e,path:t,pattern:n,params:r,index:i})=>{const s=ZYe.ast.fresh(e);if(tGe(s)){const e=function(e){if(!rGe(e)){const{expression:t}=e;return oGe(t,t,!1,uGe)}const{label:t,body:n}=e;return oGe(t,n.expression,!1,uGe)}(s.body[0]);return n.properties.push(e),iGe(r[i])?void 0:r.push(n)}t.scope.block.params=[s]},fGe=e=>({push:t,options:n})=>{const r={...n.args,...e};return{ReferencedIdentifier(e){for(const[n,[i,s,a]]of cGe(r)){if(e.node.name!==n)continue;if(e.scope.hasBinding(n))continue;if(!pGe(e))continue;const r=e.find(nGe);if(!r)continue;const{block:o}=r.scope;if(!QYe(e.scope.path,s))continue;if(QYe(e.scope.path,a))continue;const{params:c}=o,[u,l]=mGe(c);if(iGe(l))return void t({name:n,index:u,declaration:i,path:e,params:c,pattern:l});if(c.length>=3)return;t({name:n,index:u,declaration:i,path:e,params:c,pattern:aGe([])})}}}};function mGe(e){for(const[t,n]of e.entries())if(iGe(n))return[t,n];return[-1,null]}var yGe={};const gGe=["import","export","assert","with"],xGe=["const","var","let"],TGe=["if"],SGe=["readonly","implements","declare","module","type"],bGe=["interface","static"],EGe=[...TGe,...xGe,...gGe,...bGe,"async","break","continue","for","else","from","return","throw","of","while","class","extends","default"],PGe=[...EGe,"as","await","new","yield","typeof","function"];yGe.isKeyword=e=>PGe.includes(e),yGe.isDeclarationKeyword=e=>xGe.includes(e),yGe.isModuleDeclarationKeyword=e=>gGe.includes(e),yGe.isConditionKeyword=e=>TGe.includes(e),yGe.isStatementKeyword=e=>EGe.includes(e),yGe.isTSKeyword=e=>{const t=SGe.includes(e),n=bGe.includes(e);return t||n};var vGe={};const AGe=e=>!e.indexOf("!"),CGe=e=>e.replace(/^!/,"");var wGe=Object.freeze({__proto__:null,ignores:(e,t,n={})=>{const r=wFe(e,t),i=void 0,s=function(e){for(const[t,n]of e.entries()){const r=e.indexOf(CGe(n));AGe(n)&&r>t&&(e[r]=n)}const t=new Set(e);return Array.from(t)}(n.ignore||[]);return i.add(s),e&&i.ignores(r)}}),kGe=t(wGe);const IGe=cKe,{parse:NGe,print:DGe}=tU,{transform:LGe}=IXe,{findPlaces:_Ge}=NXe,{ignores:OGe}=kGe,{toJS:MGe,fromJS:FGe}=W4,{readFileContent:BGe,findFile:jGe,writeFileContent:RGe,getFilename:UGe,createFile:qGe,removeFile:JGe,getParentDirectory:VGe}=oKe,{join:KGe}=IGe,WGe=e=>e&&"object"==typeof e,{entries:XGe}=Object,$Ge=(e,{message:t})=>t;function HGe(e,{dirPath:t,matchInputFilename:n,outputFilename:r,matchedJS:i,matchedAST:s,options:a}){LGe(s,i,a);const o=function(e,t){if(e.endsWith(".json")){const e=DGe(t);return FGe(e)}return DGe(t)}(r,s),c=function({dirPath:e,matchInputFilename:t,outputFilename:n,inputFile:r}){if(t===n)return r;const i=KGe(UGe(e),n),[s]=jGe(e,i);return s||qGe(e,n)}({dirPath:t,matchInputFilename:n,outputFilename:r,inputFile:e});RGe(c,o),e!==c&&JGe(e)}vGe.matchFiles=e=>{const{filename:t}=e,n=e.files??e,r=e.exclude??[];!function(e){for(const[,t]of XGe(e))if(!WGe(t))throw Error(`☝️ Looks like provided to 'matchFiles()' typeof of plugin is not an 'object' but '${typeof t}'`)}(n);return{fix:HGe,scan:zGe({defaultFilename:t,files:n,exclude:r}),report:$Ge}};const zGe=({files:e,exclude:t,defaultFilename:n})=>(r,{push:i,progress:s,options:a})=>{const o=[],c=UGe(r);a.filename=a.filename??n;for(const[n,i]of XGe(e)){const[e]=GGe(n,a),s=jGe(r,e,t);for(const e of s){const t=VGe(e),r=UGe(e),[s,u=s]=GGe(n,{filename:r});OGe(c,r,a)||o.push({dirPath:t,matchInputFilename:s,rawOptions:i,inputFile:e,inputFilename:r,outputFilename:u})}}const u=o.length;for(const[e,t]of o.entries()){const{dirPath:n,matchInputFilename:r,inputFile:a,inputFilename:o,outputFilename:c,rawOptions:l}=t;s({i:e,n:u});const p=BGe(a)||"{}",[d,h]=YGe(o,p),f=QGe(o,l),m=_Ge(h,d,f);if(!m.length)continue;const{message:y}=m[0];i(a,{dirPath:n,matchInputFilename:r,outputFilename:c,message:y,options:f,matchedAST:h,matchedJS:d})}};function YGe(e,t){if(e.endsWith(".json")){const e=MGe(t);return[e,NGe(e)]}if(/\.(c|m)?ts(x)?$/.test(e)){return[t,NGe(t,{isTS:!0})]}return[t,NGe(t)]}function GGe(e,t){const{filename:n}=t;if(!n)return e.split(" -> ");const{ext:r,name:i}=IGe.parse(n);return(e=(e=e.replaceAll("__name",i)).replaceAll("__ext",r)).split(" -> ")}function QGe(e,t){if(t.plugins)return t;return{plugins:[[`match-file: ${e}`,t]]}}var ZGe={};const{join:eQe}=cKe,{getParentDirectory:tQe,getFilename:nQe,readFileContent:rQe,findFile:iQe,renameFile:sQe}=oKe,{parse:aQe}=JSON;ZGe.renameFiles=({type:e,mask:t,rename:n})=>({report:oQe,fix:cQe,scan:uQe({type:e,mask:t,rename:n})});const oQe=(e,{from:t,to:n})=>`Rename '${t}' to '${n}'`,cQe=(e,{to:t})=>{sQe(e,t)},uQe=({type:e,mask:t,rename:n})=>(r,{push:i,trackFile:s})=>{for(const a of s(r,t)){if(e&&!lQe(e,a))continue;const t=nQe(a);i(a,{from:t,to:n(t)})}};function lQe(e,t){const n=function(e){let t,n=tQe(e);do{const e=nQe(n);[t]=iQe(n,eQe(e,"package.json"))}while(!t&&(n=tQe(n)));return t}(t);if("commonjs"===e&&!n)return!0;if(!n)return!1;const r=rQe(n);if(!r)return!1;return(aQe(r).type||"commonjs")===e}var pQe={};const{types:dQe}=rt,{traverseProperties:hQe}=YW,{stringLiteral:fQe}=dQe,mQe=({value:e})=>e;pQe.ignore=(e,{name:t,property:n,list:r})=>{const[,i]=e.split(/[()]/);return{report:yQe(t),match:gQe({type:e,property:n,collector:i,list:r}),replace:xQe({type:e,property:n,collector:i,list:r})}};const yQe=e=>()=>`Add dotfiles to '${e}'`,gQe=({type:e,property:t,collector:n,list:r})=>({options:i})=>{const{dismiss:s=[]}=i,a=TQe(r,s);return{[e]:e=>{const r=SQe(e,{property:t,collector:n});if(!r)return!1;const i=r.map(mQe);for(const e of a)if(!i.includes(e))return!0;return!1}}},xQe=({type:e,property:t,collector:n,list:r})=>({options:i})=>{const{dismiss:s=[]}=i,a=TQe(r,s);return{[e]:(e,r)=>{const i=SQe(e,{property:t,collector:n}),s=i.map(mQe);for(const e of a)s.includes(e)||i.push(fQe(e));return r}}};function TQe(e,t){const n=[];for(const r of e)t.includes(r)||n.push(r);return n}function SQe(e,{property:t,collector:n}){const r=e[n];if(!t)return r.elements;const[i]=hQe(r,t);return i?i.node.value.elements:null}var bQe={};const{types:EQe}=rt,{parenthesizedExpression:PQe,tsParenthesizedType:vQe}=EQe;function AQe(e){return e.scope.getProgramParent().path.node.extra.__putout_printer}function CQe(e,t=AQe(e)){if("babel"!==t)return e.node.extra?.parenthesized;const{type:n}=e.parentPath;return/^(TS)?Parenthesized(Expression|Type)?$/.test(n)}bQe.hasParens=CQe,bQe.addParens=e=>{const t=AQe(e);if(CQe(e,t))return e;if("babel"!==t){const{extra:t={}}=e.node;return t.parenthesized=!0,e.node.extra=t,e}const{node:n}=e;return e.type.startsWith("TS")?e.replaceWith(vQe(n)):(e.replaceWith(PQe(n)),e)},bQe.removeParens=e=>{const t=AQe(e);if(!CQe(e,t))return e;if("babel"!==t)return e.node.extra.parenthesized=!1,e;const{node:n}=e;return e.parentPath.replaceWith(n),e};var wQe=Object.freeze({__proto__:null,codeframe:({source:e,error:t,highlightCode:n=!0})=>{const{message:r,loc:i}=t;if(!i)return r;const s={start:i};return rt.codeFrameColumns(e,s,{highlightCode:n,message:r})}}),kQe=t(wQe);const{traverse:IQe,types:NQe}=rt,{parse:DQe,print:LQe,generate:_Qe,template:OQe}=tU,{cutShebang:MQe,mergeShebang:FQe}=TFe,{defaultOptions:BQe}=PXe,{transform:jQe,transformAsync:RQe}=IXe,{findPlaces:UQe,findPlacesAsync:qQe}=NXe;n.exports=VQe;var JQe=n.exports.putout=VQe;function VQe(e,t){sZe(e),t=BQe(t);const{parser:n,isTS:r,isJSX:i,printer:s}=t,[a,o]=MQe(e),c=DQe(a,{parser:n,isTS:r,isJSX:i,printer:s}),u=jQe(c,e,t);if(!t.fix)return{code:e,places:u};const l=LQe(c,{printer:s,source:e});return{code:FQe(o,l),places:u}}var KQe=n.exports.putoutAsync=async(e,t)=>{sZe(e),t=BQe(t);const{parser:n,isTS:r,isJSX:i,printer:s}=t,[a,o]=MQe(e),c=DQe(a,{parser:n,isTS:r,isJSX:i,printer:s}),u=await RQe(c,e,t);if(!t.fix)return{code:e,places:u};const l=LQe(c,{printer:s});return{code:FQe(o,l),places:u}},WQe=n.exports.transform=jQe,XQe=n.exports.transformAsync=RQe,$Qe=n.exports.findPlaces=UQe,HQe=n.exports.findPlacesAsync=qQe,zQe=n.exports.parse=DQe,YQe=n.exports.print=LQe,GQe=n.exports.traverse=IQe,QQe=n.exports.types=NQe,ZQe=n.exports.template=OQe,eZe=n.exports.generate=_Qe,tZe=n.exports.operator={...YW,...Jje,...DXe,...W4,...XXe,...LVe,...YYe,...GYe,...oKe,...yGe,...vGe,...ZGe,...pQe,...bQe};const{codeframe:nZe}=kQe,rZe=e=>"string"==typeof e;var iZe=n.exports.codeframe=nZe;function sZe(e){if(!rZe(e))throw Error(`☝️ Looks like 'source' has type '${typeof e}', expected: 'string'`)}export{iZe as codeframe,JQe as default,$Qe as findPlaces,HQe as findPlacesAsync,eZe as generate,tZe as operator,zQe as parse,YQe as print,JQe as putout,KQe as putoutAsync,ZQe as template,WQe as transform,XQe as transformAsync,GQe as traverse,QQe as types};
|
|
25
|
+
`;return this.replaceWith(u)[0].get("arguments.0")},matchesPattern:function(e,t){return y_e(this.node,e,t)},isStatic:function(){return this.scope.isStatic(this.node)},isNodeType:function(e){return m_e(this.type,e)},canHaveVariableDeclarationOrExpression:function(){return("init"===this.key||"left"===this.key)&&this.parentPath.isFor()},canSwapBetweenExpressionAndStatement:function(e){return!("body"!==this.key||!this.parentPath.isArrowFunctionExpression())&&(this.isExpression()?l_e(e):!!this.isBlockStatement()&&p_e(e))},isCompletionRecord:function(e){let t=this,n=!0;do{const{type:r,container:i}=t;if(!n&&(t.isFunction()||"StaticBlock"===r))return!!e;if(n=!1,Array.isArray(i)&&t.key!==i.length-1)return!1}while((t=t.parentPath)&&!t.isProgram()&&!t.isDoExpression());return!0},isStatementOrBlock:function(){return!this.parentPath.isLabeledStatement()&&!l_e(this.container)&&c_e.includes(this.key)},referencesImport:function(e,t){if(!this.isReferencedIdentifier()){if(this.isJSXMemberExpression()&&this.node.property.name===t||(this.isMemberExpression()||this.isOptionalMemberExpression())&&(this.node.computed?f_e(this.node.property,{value:t}):this.node.property.name===t)){const t=this.get("object");return t.isReferencedIdentifier()&&t.referencesImport(e,"*")}return!1}const n=this.scope.getBinding(this.node.name);if("module"!==n?.kind)return!1;const r=n.path,i=r.parentPath;return!!i.isImportDeclaration()&&(i.node.source.value===e&&(!t||(!(!r.isImportDefaultSpecifier()||"default"!==t)||(!(!r.isImportNamespaceSpecifier()||"*"!==t)||!(!r.isImportSpecifier()||!d_e(r.node.imported,{name:t}))))))},getSource:function(){const e=this.node;if(e.end){const t=this.hub.getCode();if(t)return t.slice(e.start,e.end)}return""},willIMaybeExecuteBefore:function(e){return"after"!==this._guessExecutionStatusRelativeTo(e)},_guessExecutionStatusRelativeTo:function(e){return b_e(this,e,new Map)},resolve:function(e,t){return E_e.call(this,e,t)||this},isConstantExpression:function(){if(this.isIdentifier()){const e=this.scope.getBinding(this.node.name);return!!e&&e.constant}if(this.isLiteral())return!this.isRegExpLiteral()&&(!this.isTemplateLiteral()||this.get("expressions").every(e=>e.isConstantExpression()));if(this.isUnaryExpression())return"void"===this.node.operator&&this.get("argument").isConstantExpression();if(this.isBinaryExpression()){const{operator:e}=this.node;return"in"!==e&&"instanceof"!==e&&this.get("left").isConstantExpression()&&this.get("right").isConstantExpression()}return this.isMemberExpression()?!this.node.computed&&this.get("object").isIdentifier({name:"Symbol"})&&!this.scope.hasBinding("Symbol",{noGlobals:!0}):!!this.isCallExpression()&&(1===this.node.arguments.length&&this.get("callee").matchesPattern("Symbol.for")&&!this.scope.hasBinding("Symbol",{noGlobals:!0})&&this.get("arguments")[0].isStringLiteral())},isInStrictMode:function(){const e=(this.isProgram()?this:this.parentPath).find(e=>{if(e.isProgram({sourceType:"module"}))return!0;if(e.isClass())return!0;if(e.isArrowFunctionExpression()&&!e.get("body").isBlockStatement())return!1;let t;if(e.isFunction())t=e.node.body;else{if(!e.isProgram())return!1;t=e.node}for(const e of t.directives)if("use strict"===e.value.value)return!0;return!1});return!!e},isDenylisted:function(){const e=this.opts.denylist??this.opts.blacklist;return e?.includes(this.node.type)},visit:function(){if(!this.node)return!1;if(this.isDenylisted())return!1;if(this.opts.shouldSkip?.(this))return!1;const e=this.context;if(this.shouldSkip||G_e.call(this,"enter"))return this.debug("Skip..."),this.shouldStop;return Z_e(this,e),this.debug("Recursing into..."),this.shouldStop=Y_e(this.node,this.opts,this.scope,this.state,this,this.skipKeys),Z_e(this,e),G_e.call(this,"exit"),this.shouldStop},skip:function(){this.shouldSkip=!0},skipKey:function(e){null==this.skipKeys&&(this.skipKeys={});this.skipKeys[e]=!0},stop:function(){this._traverseFlags|=2|q_e},setContext:function(e){null!=this.skipKeys&&(this.skipKeys={});this._traverseFlags=0,e&&(this.context=e,this.state=e.state,this.opts=e.opts);return tOe.call(this),this},requeue:function(e=this){if(e.removed)return;e.shouldSkip=!1;const t=this.contexts;for(const n of t)n.maybeQueue(e)},requeueComputedKeyAndDecorators:function(){const{context:e,node:t}=this;!kte(t)&&t.computed&&e.maybeQueue(this.get("key"));if(t.decorators)for(const t of this.get("decorators"))e.maybeQueue(t)},remove:function(){dDe.call(this),nOe.call(this),uDe.call(this)||(this.opts?.noScope||cDe.call(this),this.shareCommentsWithSiblings(),lDe.call(this)),pDe.call(this)},insertBefore:function(e){dDe.call(this);const t=ODe.call(this,e),{parentPath:n,parent:r}=this;if(n.isExpressionStatement()||n.isLabeledStatement()||EDe(r)||n.isExportDefaultDeclaration()&&this.isDeclaration())return n.insertBefore(t);if(this.isNodeType("Expression")&&!this.isJSXElement()||n.isForStatement()&&"init"===this.key)return this.node&&t.push(this.node),this.replaceExpressionWithStatements(t);if(Array.isArray(this.container))return IDe.call(this,t);if(this.isStatementOrBlock()){const e=this.node,n=e&&(!this.isExpressionStatement()||null!=e.expression),[r]=this.replaceWith(yDe(n?[e]:[]));return r.unshiftContainer("body",t)}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?")},insertAfter:function(e){if(dDe.call(this),this.isSequenceExpression())return DDe(this.get("expressions")).insertAfter(e);const t=ODe.call(this,e),{parentPath:n,parent:r}=this;if(n.isExpressionStatement()||n.isLabeledStatement()||EDe(r)||n.isExportDefaultDeclaration()&&this.isDeclaration())return n.insertAfter(t.map(e=>PDe(e)?TDe(e):e));if(this.isNodeType("Expression")&&!this.isJSXElement()&&!n.isJSXElement()||n.isForStatement()&&"init"===this.key){const e=this;if(e.node){const r=e.node;let{scope:i}=this;if(i.path.isPattern())return fDe(r),e.replaceWith(gDe(hDe([],r),[])),e.get("callee.body").insertAfter(t),[e];if(LDe(e))t.unshift(r);else if(bDe(r)&&CDe(r.callee))t.unshift(r),t.push(wDe());else if(function(e,t){if(!SDe(e)||!vDe(e.left))return!1;const n=t.getBlockParent();return n.hasOwnBinding(e.left.name)&&n.getOwnBinding(e.left.name).constantViolations.length<=1}(r,i))t.unshift(r),t.push(xDe(r.left));else if(i.isPure(r,!0))t.push(r);else{n.isMethod({computed:!0,key:r})&&(i=i.parent);const e=i.generateDeclaredUidIdentifier();t.unshift(TDe(mDe("=",xDe(e),r))),t.push(TDe(xDe(e)))}}return this.replaceExpressionWithStatements(t)}if(Array.isArray(this.container))return NDe.call(this,t);if(this.isStatementOrBlock()){const e=this.node,n=e&&(!this.isExpressionStatement()||null!=e.expression),[r]=this.replaceWith(yDe(n?[e]:[]));return r.pushContainer("body",t)}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?")},unshiftContainer:function(e,t){dDe.call(this);const n=ODe.call(this,t),r=this.node[e],i=J_e.get({parentPath:this,parent:this.node,container:r,listKey:e,key:0}).setContext(this.context);return IDe.call(i,n)},pushContainer:function(e,t){dDe.call(this);const n=ODe.call(this,t),r=this.node[e];return J_e.get({parentPath:this,parent:this.node,container:r,listKey:e,key:r.length}).setContext(this.context).replaceWithMultiple(n)},getOpposite:function(){return"left"===this.key?this.getSibling("right"):"right"===this.key?this.getSibling("left"):null},getCompletionRecords:function(e=!1){return L_e(this,{canHaveBreak:!1,shouldPopulateBreak:!1,inCaseClause:!1,shouldPreserveBreak:e}).map(e=>e.path)},getSibling:function(e){return J_e.get({parentPath:this.parentPath,parent:this.parent,container:this.container,listKey:this.listKey,key:e}).setContext(this.context)},getPrevSibling:function(){return this.getSibling(this.key-1)},getNextSibling:function(){return this.getSibling(this.key+1)},getAllNextSiblings:function(){let e=this.key,t=this.getSibling(++e);const n=[];for(;t.node;)n.push(t),t=this.getSibling(++e);return n},getAllPrevSiblings:function(){let e=this.key,t=this.getSibling(--e);const n=[];for(;t.node;)n.push(t),t=this.getSibling(--e);return n},get:function(e,t=!0){!0===t&&(t=this.context);const n=e.split(".");return 1===n.length?__e.call(this,e,t):O_e.call(this,n,t)},getAssignmentIdentifiers:function(){return P_e(this.node)},getBindingIdentifiers:function(e){return v_e(this.node,e)},getOuterBindingIdentifiers:function(e){return A_e(this.node,e)},getBindingIdentifierPaths:function(e=!1,t=!1){const n=[this],r=Object.create(null);for(;n.length;){const i=n.shift();if(!i)continue;if(!i.node)continue;const s=v_e.keys[i.node.type];if(i.isIdentifier())if(e){(r[i.node.name]=r[i.node.name]||[]).push(i)}else r[i.node.name]=i;else{if(i.isExportDeclaration()){const e=i.get("declaration");e.isDeclaration()&&n.push(e);continue}if(t){if(i.isFunctionDeclaration()){n.push(i.get("id"));continue}if(i.isFunctionExpression())continue}if(s)for(let e=0;e<s.length;e++){const t=s[e],r=i.get(t);Array.isArray(r)?n.push(...r):r.node&&n.push(r)}}}return r},getOuterBindingIdentifierPaths:function(e=!1){return this.getBindingIdentifierPaths(e,!0)},shareCommentsWithSiblings:function(){if("string"==typeof this.key)return;const e=this.node;if(!e)return;const t=e.trailingComments,n=e.leadingComments;if(!t&&!n)return;const r=this.getSibling(this.key-1),i=this.getSibling(this.key+1),s=Boolean(r.node),a=Boolean(i.node);s&&(n&&r.addComments("trailing",B_e(n,r.node.trailingComments)),t&&!a&&r.addComments("trailing",t)),a&&(t&&i.addComments("leading",B_e(t,i.node.leadingComments)),n&&!s&&i.addComments("leading",n))},addComment:function(e,t,n){M_e(this.node,e,t,n)},addComments:function(e,t){F_e(this.node,e,t)}};Object.assign(J_e.prototype,V_e);for(const e of Ere){const t=`is${e}`,n=K5[t];J_e.prototype[t]=function(e){return n(this.node,e)},J_e.prototype[`assert${e}`]=function(t){if(!n(this.node,t))throw new TypeError(`Expected node path of type ${e}`)}}Object.assign(J_e.prototype,Eke);for(const e of Object.keys(Zwe))e.startsWith("_")||Ere.includes(e)||Ere.push(e);var{VISITOR_KEYS:K_e}=K5,W_e=class{constructor(e,t,n,r){F5(this,"queue",null),F5(this,"priorityQueue",null),this.parentPath=r,this.scope=e,this.state=n,this.opts=t}shouldVisit(e){const t=this.opts;if(t.enter||t.exit)return!0;if(t[e.type])return!0;const n=K_e[e.type];if(!n?.length)return!1;for(const t of n)if(e[t])return!0;return!1}create(e,t,n,r){return J_e.get({parentPath:this.parentPath,parent:e,container:t,key:n,listKey:r})}maybeQueue(e,t){this.queue&&(t?this.queue.push(e):this.priorityQueue.push(e))}visitMultiple(e,t,n){if(0===e.length)return!1;const r=[];for(let i=0;i<e.length;i++){const s=e[i];s&&this.shouldVisit(s)&&r.push(this.create(t,e,i,n))}return this.visitQueue(r)}visitSingle(e,t){return!!this.shouldVisit(e[t])&&this.visitQueue([this.create(e,e,t)])}visitQueue(e){this.queue=e,this.priorityQueue=[];const t=new WeakSet;let n=!1,r=0;for(;r<e.length;){const i=e[r];if(r++,nOe.call(i),null===i.key)continue;0!==i.contexts.length&&i.contexts[i.contexts.length-1]===this||oOe.call(i,this);const{node:s}=i;if(!t.has(s)){if(s&&t.add(s),i.visit()){n=!0;break}if(this.priorityQueue.length&&(n=this.visitQueue(this.priorityQueue),this.priorityQueue=[],this.queue=e,n))break}}for(let t=0;t<r;t++)null!==e[t].key&&aOe.call(e[t]);return this.queue=null,n}visit(e,t){const n=e[t];return!!n&&(Array.isArray(n)?this.visitMultiple(n,e,t):this.visitSingle(e,t))}},{VISITOR_KEYS:X_e}=K5;function $_e(e,t){e.queue=t,e.priorityQueue=[];const n=new Set;let r=!1,i=0;for(;i<t.length;){const s=t[i];if(i++,nOe.call(s),0!==s.contexts.length&&s.contexts[s.contexts.length-1]===e||oOe.call(s,e),null===s.key)continue;const{node:a}=s;if(!n.has(a)){if(a&&n.add(a),H_e(e,s)){r=!0;break}if(e.priorityQueue.length&&(r=$_e(e,e.priorityQueue),e.priorityQueue=[],e.queue=t,r))break}}for(let e=0;e<i;e++)aOe.call(t[e]);return e.queue=null,r}function H_e(e,t){const n=t.node;if(!n)return!1;const r=e.opts,i=r.denylist??r.blacklist;return!i?.includes(n.type)&&(!r.shouldSkip?.(t)&&(t.shouldSkip||Q_e.call(t,r.enter)||t.node&&Q_e.call(t,r[n.type]?.enter)?t.shouldStop:(t.shouldStop=z_e(t.node,r,t.scope,e.state,t,t.skipKeys),!(!t.node||!Q_e.call(t,r.exit))||(t.node&&Q_e.call(t,r[n.type]?.exit),t.shouldStop))))}function z_e(e,t,n,r,i,s,a){const o=X_e[e.type];if(!o?.length)return!1;const c=new W_e(n,t,r,i);if(a)return!s?.[i.parentKey]&&$_e(c,[i]);for(const t of o){if(s?.[t])continue;const n=e[t];if(n)if(Array.isArray(n)){if(!n.length)continue;const r=[];for(let s=0;s<n.length;s++){const a=J_e.get({parentPath:i,parent:e,container:n,key:s,listKey:t});r.push(a)}if($_e(c,r))return!0}else if($_e(c,[J_e.get({parentPath:i,parent:e,container:e,key:t,listKey:null})]))return!0}return!1}function Y_e(e,t,n,r,i,s,a){return z_e(e,t,n,r,i,s,a)}function G_e(e){const t=this.opts;return this.debug(e),!(!this.node||!Q_e.call(this,t[e]))||!!this.node&&Q_e.call(this,t[this.node.type]?.[e])}function Q_e(e){if(!e)return!1;for(const t of e){if(!t)continue;const e=this.node;if(!e)return!0;const n=t.call(this.state,this,this.state);if(n&&"object"==typeof n&&"function"==typeof n.then)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(n)throw new Error(`Unexpected return value from visitor method ${t}`);if(this.node!==e)return!0;if(this._traverseFlags>0)return!0}return!1}function Z_e(e,t){e.context!==t&&(e.context=t,e.state=t.state,e.opts=t.opts)}function eOe(){let e,t=this.parentPath;for((("key"===this.key||"decorators"===this.listKey)&&t.isMethod()||"discriminant"===this.key&&t.isSwitchStatement())&&(t=t.parentPath);t&&!e;)e=t.scope,t=t.parentPath;this.scope=this.getScope(e),this.scope?.init()}function tOe(){if(this.opts?.noScope)return;let e,t=this.parentPath;for((("key"===this.key||"decorators"===this.listKey)&&t.isMethod()||"discriminant"===this.key&&t.isSwitchStatement())&&(t=t.parentPath);t&&!e;){if(t.opts?.noScope)return;e=t.scope,t=t.parentPath}this.scope=this.getScope(e),this.scope?.init()}function nOe(){this.removed||(rOe.call(this),sOe.call(this),iOe.call(this))}function rOe(){this.parentPath&&(this.parent=this.parentPath.node)}function iOe(){if(this.container&&this.node!==this.container[this.key]){if(Array.isArray(this.container)){for(let e=0;e<this.container.length;e++)if(this.container[e]===this.node)return void uOe.call(this,e)}else for(const e of Object.keys(this.container))if(this.container[e]===this.node)return void uOe.call(this,e);this.key=null}}function sOe(){if(!this.parent||!this.inList)return;const e=this.parent[this.listKey];this.container!==e&&(this.container=e||null)}function aOe(){this.contexts.pop(),this.contexts.length>0?this.setContext(this.contexts[this.contexts.length-1]):this.setContext(void 0)}function oOe(e){this.contexts.push(e),this.setContext(e)}function cOe(e,t,n,r){this.listKey=n,this.container=t,this.parentPath=e||this.parentPath,uOe.call(this,r)}function uOe(e){this.key=e,this.node=this.container[this.key],this.type=this.node?.type}function lOe(){let e=this,t=this.contexts;for(;!t.length&&(e=e.parentPath,e);)t=e.contexts;return t}var{VISITOR_KEYS:pOe,removeProperties:dOe,traverseFast:hOe}=K5;function fOe(e,t={},n,r,i,s){if(e){if(!t.noScope&&!n&&"Program"!==e.type&&"File"!==e.type)throw new Error(`You must pass a scope and parentPath unless traversing a Program/File. Instead of that you tried to traverse a ${e.type} node without passing scope and parentPath.`);if(!i&&s)throw new Error("visitSelf can only be used when providing a NodePath.");pOe[e.type]&&(Nke(t),Y_e(e,t,n,r,i,void 0,s))}}fOe.visitors=qke,fOe.verify=Dke,fOe.explode=Nke,fOe.cheap=function(e,t){hOe(e,t)},fOe.node=function(e,t,n,r,i,s){Y_e(e,t,n,r,i,s)},fOe.clearNode=function(e,t){dOe(e,t)},fOe.removeProperties=function(e,t){return hOe(e,fOe.clearNode,t),e},fOe.hasType=function(e,t,n){return!n?.includes(e.type)&&(e.type===t||hOe(e,function(e){return n?.includes(e.type)?hOe.skip:e.type===t?hOe.stop:void 0}))},fOe.cache=Zke,V5.default;const{types:mOe}=V5,{isFunctionExpression:yOe,objectMethod:gOe}=mOe,{assign:xOe}=Object;function TOe(e,t){return e.loc&&t.loc?{start:e.loc.start,end:t.loc.end}:null}const{types:SOe}=V5,{classPrivateMethod:bOe,classMethod:EOe,privateName:POe,identifier:vOe}=SOe,{assign:AOe}=Object;const COe=({type:e})=>"PrivateIdentifier"===e;const{types:wOe}=V5,{identifier:kOe}=wOe;const{types:IOe}=V5,{directive:NOe,directiveLiteral:DOe}=IOe;const{assign:LOe}=Object;var _Oe={convertParenthesizedExpression:({convertParens:e})=>t=>{if(!e)return;const{expression:n}=t.node;n.extra=n.extra||{},n.extra.parenthesized=!0,t.replaceWith(n)}},OOe={convertTSParenthesizedType:({convertParens:e})=>t=>{if(!e)return;const{typeAnnotation:n}=t.node;n.extra=n.extra||{},n.extra.parenthesized=!0,t.replaceWith(n)}},MOe={convertNodeComments:e=>{const{comments:t}=e;if(t){delete e.comments,e.leadingComments=void 0,e.trailingComments=void 0,e.innerComments=void 0;for(const n of t){const t=BOe(n);e[t]||(e[t]=[]),delete n.leading,delete n.trailing,n.type=FOe(n),e[t].push(n)}}},convertProgramComments:e=>{for(const t of e)t.type=FOe(t);return e}};const FOe=({type:e})=>`Comment${e}`;function BOe({trailing:e,leading:t}){return e?"trailingComments":t?"leadingComments":"innerComments"}const{convertProgramComments:jOe}=MOe;var ROe={convertPropertyDefinition:e=>{const{node:t}=e;if("PrivateIdentifier"===t.key.type){const{key:e}=t;return t.type="ClassPrivateProperty",void(t.key=UOe(e))}e.node.type="ClassProperty"},convertTSInterfaceHeritage:e=>{let{expression:t}=e.node;for(;"MemberExpression"===t.type;){const{object:e,property:n}=t;t.type="TSQualifiedName",t.left=e,t.right=n,delete t.object,delete t.property,t=e}},convertPrivateIdentifier:e=>{e.replaceWith(UOe(e.node))},convertTSAbstractMethodDefinition:e=>{const{node:t}=e,{generator:n,async:r,params:i,id:s,returnType:a}=t.value,o={...t,abstract:!0,generator:n,async:r,params:i,id:s,returnType:a,type:"TSDeclareMethod"};delete o.value,e.replaceWith(o)}};const UOe=e=>({type:"PrivateName",id:{...e,type:"Identifier"},loc:e.loc}),{traverse:qOe,types:JOe}=V5,VOe=e=>{for(const t of e){const{computed:e,key:n,method:r,value:i}=t.node;r&&yOe(i)&&(t.replaceWith(gOe("method",n,i.params,i.body,e)),xOe(t.node,{id:null,method:!0,generator:i.generator,loc:TOe(n,i),async:i.async,type:"ObjectMethod"}))}},KOe=e=>{const{node:t}=e,{key:n,kind:r,computed:i,loc:s}=t,{body:a,params:o,expression:c,generator:u}=t.value,l=function({kind:e,key:t,params:n,body:r,computed:i,nodeStatic:s}){if(COe(t)){const s=function(e){return POe(vOe(e.name))}(t);return bOe(e,s,n,r,i)}return EOe(e,t,n,r,i,s)}({kind:r,key:n,params:o,body:a,computed:i,nodeStatic:t.static});e.replaceWith(l),AOe(e.node,{loc:s,expression:c,generator:u})},WOe=e=>{e.node.type="ClassPrivateProperty"},XOe=({node:e})=>{e.name&&(e.id=kOe(e.name),e.id.loc={start:{line:e.loc.start.line,column:e.loc.start.column+1},end:e.loc.end},delete e.name)},$Oe=e=>{const{node:t}=e;if(!t.directives){t.directives=[];for(const n of e.get("body")){if("ExpressionStatement"!==n.type)continue;const e=n.node;if(!("directive"in e))continue;if(!e.directive)continue;const r=DOe(e.directive),i=NOe(r);t.directives.push(i),n.remove()}}},HOe=e=>{const t=e.get("expression"),{expression:n}=e.node;if(t.isCallExpression()){const e=t.get("callee");n.type="OptionalCallExpression",e.isMemberExpression()&&(n.callee.type="OptionalMemberExpression")}else n.type="OptionalMemberExpression";e.replaceWith(n)},zOe=e=>{const{attributes:t=[]}=e.node;e.node.attributes=t},YOe=e=>{const{attributes:t=[]}=e.node;LOe(e.node,{attributes:t})},{convertParenthesizedExpression:GOe}=_Oe,{convertTSParenthesizedType:QOe}=OOe,{convertNodeComments:ZOe}=MOe,eMe=e=>{const{type:t,value:n}=e;"Literal"===t&&(null!==n?(e=>"string"==typeof e)(n)?e.type="StringLiteral":(e=>"number"==typeof e)(n)?e.type="NumericLiteral":(e=>"boolean"==typeof e)(n)?e.type="BooleanLiteral":e.regex&&function(e){e.type="RegExpLiteral";for(const t of Object.keys(e.regex))e[t]=e.regex[t];delete e.regex}(e):e.type="NullLiteral")},tMe=e=>{if("File"===e.type)return e;const{comments:t=[],tokens:n,...r}=e;return{type:"File",program:{...r,directives:[]},comments:jOe(t),tokens:n}},{convertTSInterfaceHeritage:nMe,convertTSAbstractMethodDefinition:rMe,convertPropertyDefinition:iMe,convertPrivateIdentifier:sMe}=ROe,{isObjectExpression:aMe,isExportDeclaration:oMe}=JOe,cMe={convertParens:!0};function uMe(e){const{raw:t}=e;e.raw=t||e.extra?.raw,e.extra=e.extra||{raw:t}}A5.estreeToBabel=(e,t)=>{const n=tMe(e),r={...cMe,...t};return qOe(n,{noScope:!0,ParenthesizedExpression:GOe(r),TSParenthesizedType:QOe(r),enter(e){const{node:t}=e,{type:n}=t;return n.endsWith("Literal")?(eMe(t),uMe(t)):"JSXText"===n?uMe(t):"BlockStatement"===n||"Program"===n?$Oe(e):"Property"===n?function(e){e.type="ObjectProperty"}(t):"MethodDefinition"===n?KOe(e):"FieldDefinition"===n?WOe(e):"PrivateName"===n?XOe(e):"ImportDeclaration"===n?zOe(e):oMe(e)?YOe(e):"ChainExpression"===n?HOe(e):"TSAbstractMethodDefinition"===n?rMe(e):"TSInterfaceHeritage"===n?nMe(e):"PropertyDefinition"===n?iMe(e):"PrivateIdentifier"===n?sMe(e):void 0},exit(e){const{node:t}=e;if(ZOe(t),aMe(t))return VOe(e.get("properties"))}}),n};var lMe={},pMe={exports:{}},dMe=function e(t,n){if(t&&n)return e(t)(n);if("function"!=typeof t)throw new TypeError("need wrapper function");return Object.keys(t).forEach(function(e){r[e]=t[e]}),r;function r(){for(var e=new Array(arguments.length),n=0;n<e.length;n++)e[n]=arguments[n];var r=t.apply(this,e),i=e[e.length-1];return"function"==typeof r&&r!==i&&Object.keys(i).forEach(function(e){r[e]=i[e]}),r}};var hMe=dMe;function fMe(e){var t=function(){return t.called?t.value:(t.called=!0,t.value=e.apply(this,arguments))};return t.called=!1,t}function mMe(e){var t=function(){if(t.called)throw new Error(t.onceError);return t.called=!0,t.value=e.apply(this,arguments)},n=e.name||"Function wrapped with `once`";return t.onceError=n+" shouldn't be called more than once",t.called=!1,t}pMe.exports=hMe(fMe),pMe.exports.strict=hMe(mMe),fMe.proto=fMe(function(){Object.defineProperty(Function.prototype,"once",{value:function(){return fMe(this)},configurable:!0}),Object.defineProperty(Function.prototype,"onceStrict",{value:function(){return mMe(this)},configurable:!0})});var yMe=pMe.exports;const gMe=()=>{};var xMe=t(Object.freeze({__proto__:null,default:gMe}));var TMe,SMe,bMe=Object.freeze({__proto__:null,default:function(e){return class extends(undefined){parseClassElement(e){const t=this._inClassMemberName;this._inClassMemberName=!0;const n=super.parseClassElement.apply(this,arguments);return this._inClassMemberName=t,n}parsePropertyName(e){const t=this.options.ecmaVersion>=8&&this._inClassMemberName&&this.type==this.privateNameToken&&!e.static;return this._inClassMemberName=!1,t?this.parsePrivateClassElementName(e):super.parsePropertyName(e)}}}}),EMe=t(bMe);const PMe=yMe(()=>{const{Parser:e}=xMe,t=(SMe||(SMe=1,TMe=function(e){return e.extend(xMe,xMe,EMe)}),TMe),n=xMe.default;return e.extend(n(),t)});lMe.parse=function(e){const t=PMe(),n={locations:!0,comment:!0,ecmaVersion:2023,sourceType:"module",allowAwaitOutsideFunction:!0,allowReturnOutsideFunction:!0,allowImportExportEverywhere:!0,preserveParens:!0},r=Array.from(t.tokenizer(e,n));return{...t.parse(e,n),tokens:r}};var vMe={},AMe=["importMeta","importAttributes","dynamicImport","bigInt","classProperties","decorators-legacy","decoratorAutoAccessors","destructuringPrivate","exportDefaultFrom","throwExpressions","deferredImportEvaluation",["discardBinding",{syntaxType:"void"}],"sourcePhaseImports",["optionalChainingAssign",{version:"2023-07"}]],CMe={allowReturnOutsideFunction:!0,allowUndeclaredExports:!0,allowImportExportEverywhere:!0};const wMe=yMe,kMe=AMe,IMe=CMe,{assign:NMe}=Object,DMe=e=>!e.indexOf("// @flow"),LMe=wMe(()=>rt);function _Me({isTS:e,isFlow:t,isJSX:n}){const r=[n&&"jsx"];return e||t?r.concat(["typescript"]):r}vMe.parse=function(e,t){const{sourceFileName:n,isTS:r,isJSX:i=!0,isFlow:s=DMe(e),isRecovery:a,printer:o}=t,{parse:c}=LMe(),u={sourceFileName:n,sourceType:"module",...IMe,errorRecovery:a,plugins:(l=[...kMe,..._Me({isTS:r,isFlow:s,isJSX:i})],l.filter(Boolean))};var l;"babel"===o&&NMe(u,{createParenthesizedExpressions:!0,tokens:!0});const p=c(e,u);return p.program.extra.__putout_printer=o,p};var OMe={};const MMe=yMe(()=>xMe);OMe.parse=function(e){const{parse:t}=MMe();return t(e,{loc:!0,tokens:!0,comment:!0,ecmaVersion:2023,sourceType:"module",ecmaFeatures:{jsx:!0}})};var FMe={};const BMe=yMe(()=>xMe);FMe.parse=function(e){const{parse:t}=BMe();return t(e,{loc:!0,tokens:!0,comment:!0,sourceType:"module",jsx:!0})};var jMe={};const RMe=yMe(()=>xMe);jMe.parse=e=>{const{Tenko:t}=RMe(),{ast:n}=t(e,{goalMode:"module",allowGlobalReturn:!0,exposeScopes:!0});return n};var UMe={};const qMe=yMe(()=>xMe);UMe.parse=function(e){return qMe().parse(e,{babel:!0,allowReturnOutsideFunction:!0,flow:"detect",locations:!0,tokens:!0})};var JMe={exports:{}};const VMe=(e,...t)=>{try{return[null,e(...t)]}catch(e){return[e]}};var KMe=t(Object.freeze({__proto__:null,default:VMe,tryCatch:VMe}));const{tryCatch:WMe}=KMe;JMe.exports=WMe,JMe.exports.tryCatch=WMe;var XMe=JMe.exports;const $Me=XMe;const HMe=lMe,zMe=vMe,YMe=OMe,GMe=FMe,QMe=jMe,ZMe=UMe,eFe=(e,t,n,r)=>{const[i,...s]=r,[a,o]=$Me(e,t,i);if(!a)return o;if(function(e,t){for(const n of t)if(e.message.includes(n))return!0;return!1}(a,n))throw a;for(const n of s){const[r,i]=$Me(e,t,n);if(!r)return i}throw a},tFe=["has already been declared"];function nFe(e,{parser:t,printer:n,isTS:r,isJSX:i,isRecovery:s}){return"babel"===t?zMe.parse(e,{isTS:r,isJSX:i,isRecovery:s,printer:n}):"object"==typeof t?t.parse(e,{isJSX:i,isTS:r}):"espree"===t?YMe.parse(e):"acorn"===t?HMe.parse(e):"esprima"===t?GMe.parse(e):"tenko"===t?QMe.parse(e):"hermes"===t?ZMe.parse(e):function(e){throw new Error('Could not dynamically require "'+e+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}(t).parse(e)}var rFe={};const iFe=XMe;rFe.tryThrowWithReason=(e,...t)=>{const[n,r]=iFe(e,...t);if(n)throw n.reason="parse",n;return r};const{estreeToBabel:sFe}=A5,aFe=(e,t,{isTS:n,isJSX:r,printer:i})=>{const s={parser:t,printer:i,isTS:n,isJSX:r},a={...s,isJSX:!1},o={...s,isRecovery:!0};return eFe(nFe,e,tFe,[s,a,o])},{tryThrowWithReason:oFe}=rFe,{assign:cFe}=Object;var uFe=(e,t)=>{!function(e){if(t=e,"string"!=typeof t)throw Error(`☝️ Looks like type of 'source' is not 'string', but '${typeof e}'`);var t}(e);const{parser:n,printer:r="putout",isTS:i,isJSX:s}=t||{},{parse:a}=lFe({printer:r,parser:n,isTS:i,isJSX:s});return oFe(a,e)};const lFe=({parser:e="babel",isTS:t,isJSX:n,printer:r})=>({parse(i){const s={};"babel"===r&&cFe(s,{convertParens:!1});return sFe(aFe(i,e,{isTS:t,isJSX:n,printer:r}),s)}});const{generate:pFe}=rt;var dFe=(e,t,n)=>pFe(e,{comments:!1,...t},n),hFe={exports:{}};function fFe(e,t){t||(t={});var n,r,i,s=t.vargs||function(e){var t=e+"",n=t.indexOf("...");return n>=0&&(n<t.indexOf(")")||t.indexOf("arguments")>=0)}(e),a=[],o=new Map,c=t.maxAge>0&&t.maxAge<1/0?function(e){return r=setTimeout(function(){n?o.delete(e):a.splice(e,1)},t.maxAge)}:0,u=t.equals?t.equals:0,l=t.maxArgs,p=t.serializer;return 1!==e.length||t.equals||s?i=u?function(){for(var t=l||arguments.length,n=a.length,r=-1;++r<n;)if(a[r].length===t){for(var i=-1;++i<t&&u(arguments[i],a[r][i]););if(i===t)return a[r].val}return a[r]=arguments,!c||c(r),arguments.val=e.apply(this,a[r])}:function(){for(var t=l||arguments.length,n=a.length,r=-1;++r<n;)if(a[r].length===t){for(var i=-1;++i<t&&arguments[i]===a[r][i];);if(i===t)return a[r].val}return a[r]=arguments,!c||c(r),arguments.val=e.apply(this,a[r])}:(i=function(t){var n;return p&&(t=p(t)),o.get(t)||(!c||c(t),o.set(t,n=e.call(this,t)),n)},n=1),i.clear=function(){r&&clearTimeout(r),o.clear(),a=[]},i.keys=function(){return n?[...o.keys()]:a.slice()},i.values=function(){return n?[...o.values()]:a.map(e=>e.val)},i}var mFe=t(Object.freeze({__proto__:null,default:fFe,nanomemoize:fFe}));!function(e){const{types:t,template:n}=rt,{nanomemoize:r}=mFe,i=AMe,s={...CMe,plugins:[...i,"typescript","jsx"]},{isExpressionStatement:a,isTSExternalModuleReference:o}=t,c=e=>a(e)||o(e)?e.expression:e;e.exports=r((e,t)=>{const r=n(e,{...s,...t});return(...e)=>{const t=r(...e);return c(t)}}),e.exports.ast=r((e,t)=>{const r=n.ast(e,{...s,...t});return c(r)}),e.exports.program=r((e,t)=>n.program(e,{...s,...t})),e.exports.program.ast=r((e,t)=>n.program.ast(e,{...s,...t})),e.exports.ast.fresh=(e,t)=>{const r=n.ast(e,{...s,...t});return c(r)},e.exports.extractExpression=c}(hFe);var yFe=hFe.exports;yFe.default;const gFe=v5,xFe=uFe,TFe=dFe,SFe=yFe;tU.print=gFe,tU.parse=xFe,tU.generate=TFe,tU.template=SFe;const bFe=e=>{if(e.indexOf("#"))return[e,""];const t=e.split("\n"),n=t.slice(1).join("\n"),[r]=t;return[n,`${r}\n`]};var EFe=t(Object.freeze({__proto__:null,cutShebang:bFe,mergeShebang:(e,t)=>e?`${e}\n${t}`:t}));function PFe(e,t){for(var n=0,r=e.length-1;r>=0;r--){var i=e[r];"."===i?e.splice(r,1):".."===i?(e.splice(r,1),n++):n&&(e.splice(r,1),n--)}if(t)for(;n--;n)e.unshift("..");return e}var vFe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/,AFe=function(e){return vFe.exec(e).slice(1)};function CFe(){for(var e="",t=!1,n=arguments.length-1;n>=-1&&!t;n--){var r=n>=0?arguments[n]:"/";if("string"!=typeof r)throw new TypeError("Arguments to path.resolve must be strings");r&&(e=r+"/"+e,t="/"===r.charAt(0))}return(t?"/":"")+(e=PFe(MFe(e.split("/"),function(e){return!!e}),!t).join("/"))||"."}function wFe(e){var t=kFe(e),n="/"===FFe(e,-1);return(e=PFe(MFe(e.split("/"),function(e){return!!e}),!t).join("/"))||t||(e="."),e&&n&&(e+="/"),(t?"/":"")+e}function kFe(e){return"/"===e.charAt(0)}function IFe(){return wFe(MFe(Array.prototype.slice.call(arguments,0),function(e,t){if("string"!=typeof e)throw new TypeError("Arguments to path.join must be strings");return e}).join("/"))}function NFe(e,t){function n(e){for(var t=0;t<e.length&&""===e[t];t++);for(var n=e.length-1;n>=0&&""===e[n];n--);return t>n?[]:e.slice(t,n-t+1)}e=CFe(e).substr(1),t=CFe(t).substr(1);for(var r=n(e.split("/")),i=n(t.split("/")),s=Math.min(r.length,i.length),a=s,o=0;o<s;o++)if(r[o]!==i[o]){a=o;break}var c=[];for(o=a;o<r.length;o++)c.push("..");return(c=c.concat(i.slice(a))).join("/")}function DFe(e){var t=AFe(e),n=t[0],r=t[1];return n||r?(r&&(r=r.substr(0,r.length-1)),n+r):"."}function LFe(e,t){var n=AFe(e)[2];return t&&n.substr(-1*t.length)===t&&(n=n.substr(0,n.length-t.length)),n}function _Fe(e){return AFe(e)[3]}var OFe={extname:_Fe,basename:LFe,dirname:DFe,sep:"/",delimiter:":",relative:NFe,join:IFe,isAbsolute:kFe,normalize:wFe,resolve:CFe};function MFe(e,t){if(e.filter)return e.filter(t);for(var n=[],r=0;r<e.length;r++)t(e[r],r,e)&&n.push(e[r]);return n}var FFe="b"==="ab".substr(-1)?function(e,t,n){return e.substr(t,n)}:function(e,t,n){return t<0&&(t=e.length+t),e.substr(t,n)},BFe=Object.freeze({__proto__:null,basename:LFe,default:OFe,delimiter:":",dirname:DFe,extname:_Fe,isAbsolute:kFe,join:IFe,normalize:wFe,relative:NFe,resolve:CFe,sep:"/"});var jFe=(async(e,...t)=>{!function(e){if("function"!=typeof e)throw Error("fn should be a function!")}(e);try{return[null,await e(...t)]}catch(e){return[e]}}).default,RFe={};const UFe=e=>()=>e,qFe=()=>{},JFe=(e,t={})=>{const{module:n=RFe}=t,{createRequire:r=UFe(qFe)}=n;return r(e)},VFe=async e=>{const t=await import(e);return t.default||t},KFe=JFe(import.meta.url),{assign:WFe}=Object;async function XFe(e,t){const{simpleImport:n,require:r}=t;let i,s;for(const t of e){if([i,s]=await jFe(n,t),!i)return s;if("ERR_UNSUPPORTED_DIR_IMPORT"===i.code){const e=r.resolve(t);if([i,s]=await jFe(n,e),!i)return s}if("ERR_MODULE_NOT_FOUND"!==i.code)throw WFe(i,{message:`${t}: ${i.message}`}),i}throw WFe(i,{message:i.message.replace(/\simported.*/,"")}),i}const $Fe=()=>J.env.PUTOUT_LOAD_DIR;function HFe(e){const t=$Fe();if(!t)return[e];const n=IFe(t,e);return[n,`${n}.js`]}const zFe=e=>"string"==typeof e,{isArray:YFe}=Array,{entries:GFe}=Object,QFe=e=>{const t=[];for(const n of e)if(zFe(n))t.push([n]);else{if(YFe(n)){const[e,r]=n;t.push([e,r]);continue}t.push(...GFe(n))}return t},{isArray:ZFe}=Array,eBe=e=>"boolean"==typeof e,tBe=e=>"string"==typeof e,nBe=e=>"object"==typeof e,{entries:rBe}=Object,{stringify:iBe}=JSON,sBe=e=>Error(`☝️ Rule format not supported ${e}: ${typeof e}`),aBe=e=>Error(`☝️ Looks like you need to change "rules" to "match" for ${iBe(e)}`),oBe=()=>Object.create(null),cBe=(e,t)=>(function(e,t){if(eBe(t))return!0;if(/^(on|off)$/.test(t))return!0;if(nBe(t))return!0;throw(({rule:e,value:t})=>Error(`☝️ ${e}: state option can be "on" or "off" only, when used as string, received: "${t}"`))({rule:e,value:t})}(e,t),"on"===t||"off"!==t&&t),uBe=e=>{const t=[];!function(e){if(ZFe(e))throw Error("☝️Looks like type of 'rules' passed to @putout/engine-loader is 'array', expected: 'object'.")}(e);for(const[n,r]of rBe(e)){if(tBe(r)){t.push({rule:n,state:cBe(n,r),plugin:null,msg:"",options:oBe()});continue}if(eBe(r)){t.push({rule:n,state:r,plugin:null,msg:"",options:oBe()});continue}if(!(ZFe(r)&&r.length)){if(nBe(r))throw aBe(r);throw sBe(r)}t.push(lBe(n,r))}return t};function lBe(e,t){const[n]=t,r=cBe(e,n);if(3===t.length){const[,n,i]=t;return{rule:e,state:r,plugin:null,msg:n,options:i}}const[,i=""]=t;return{rule:e,state:r,plugin:null,msg:"",options:i}}const pBe=e=>e.split("/")[0];const dBe=([e,t],n)=>{for(const r of n){if(r.rule!==e)continue;const{msg:n,options:i}=r;return{rule:e,plugin:t,msg:n,options:i}}return{rule:e,plugin:t,msg:"",options:Object.create(null)}},hBe=e=>e.includes("/")?e.split("/").shift():e,fBe=e=>e.replace("import:@putout/plugin-","").replace("@putout/plugin-",""),mBe=(e,t)=>{for(const{rule:n,state:r}of t)if(n===e)return r;for(const{rule:n,state:r}of t)if(n.includes("/")&&RegExp(`^${n}`).test(e))return r;for(const{rule:n,state:r}of t)if(RegExp(`^${n}/`).test(e))return r;return!0},yBe=e=>{if(!e||"object"!=typeof e)throw Error("options should be an object!")},gBe=e=>{if("string"!=typeof e)throw Error(`☝️ Looks like plugin name type is not 'string', but: '${typeof e}'`)},xBe=e=>{yBe(e);const{pluginNames:t=[],rules:n={}}=e;(({items:e,rules:t})=>{const n=Object.keys(t);for(const t of n){let n=!1,r=!1,i=!1;for(const[s,a={}]of e){const e=fBe(s);if(n=e===t,r=e===hBe(t),i=t.includes(e),n&&a.rules)throw Error(`Rule '${t}' cannot be applied to nested plugin '${s}'`);if(n||r||i)break}if(!n&&!r&&!i)throw Error(`No plugin found for a rule: '${t}'`)}})({rules:n,items:QFe(t)})},TBe=({rules:e,pluginNames:t})=>{const n=(e=>{const t={};for(const[n,r]of rBe(e))n.includes("/")&&cBe(n,r)&&(t[pBe(n)]="on"),t[n]=r;return t})(e),r=(e=>{const t=[];for(const n of e){const{rule:e}=n;e.includes("/")||t.push(n)}return t})(uBe(n));return{items:QFe(t),loadedRules:r,cookedRules:uBe(e)}},SBe=["find","traverse","replace","include","exclude","rules","declare","scan"];var bBe=({plugin:e,rule:t})=>{const n=Object.keys(e);for(const e of SBe)if(n.includes(e))return;throw Error(`☝️ Cannot determine type of plugin '${t}'. Here is list of supported plugins: https://git.io/JqcMn`)};const{isArray:EBe}=Array,PBe=e=>EBe(e)?e:["on",e],vBe=({plugins:e,cookedRules:t})=>{const n=[];for(const[r,i]of e){if(!mBe(r,t))continue;const[e,s]=PBe(i);ABe(r,e,t)&&n.push(dBe([r,s],t))}return n};function ABe(e,t,n){if("on"===t)return!0;for(const{rule:t,state:r}of n)if(t.includes("/")&&RegExp(`^${t}`).test(e))return r;return!1}const CBe=((e,t={})=>{const{simpleImport:n=VFe}=t;return async t=>{if("none"===t)return()=>{};if(t.startsWith("import:")){const e=t.replace("import:","");return await XFe([KFe.resolve(e)],{simpleImport:n,require:KFe})}const r=[`@putout/${e}-${t}`,`putout-${e}-${t}`],i=r.flatMap(HFe),s=Array.from(new Set([...r,...i]));return await XFe(s,{simpleImport:n,require:KFe})}})("plugin"),wBe=async e=>{yBe(e);const{pluginNames:t=[],rules:n={}}=e,{items:r,loadedRules:i,cookedRules:s}=TBe({rules:n,pluginNames:t}),a=await async function({items:e,loadedRules:t}){const n=[],r=[];for(const[i,s]of e){if(!mBe(i,t))continue;gBe(i);const[e]=kBe(i),a=s||CBe(e);r.push(NBe(i)),n.push(a)}const i=await Promise.all(n),s=[];for(const[e,t]of r.entries()){const n=i[e];bBe({plugin:n,rule:t});const{rules:r}=n;r?s.push(...IBe(t,r)):s.push([t,n])}return s}({items:r,loadedRules:i});return vBe({plugins:a,cookedRules:s})},kBe=e=>[e,"putout"];function IBe(e,t){const n=[],r=Object.entries(t);for(const[t,i]of r)n.push([`${e}/${t}`,i]);return n}function NBe(e){if(e.startsWith("import:")){return LFe(e.replace("import:","")).replace("plugin-","")}return e}const{isArray:DBe}=Array,LBe=e=>{yBe(e);const{pluginNames:t=[],rules:n={}}=e,{items:r,loadedRules:i,cookedRules:s}=TBe({rules:n,pluginNames:t}),a=function({items:e,loadedRules:t}){const n=[];for(const[r,i]of e){if(!mBe(r,t))continue;gBe(r);const e=OBe(r),[s,a]=_Be(r),o=MBe(i)||BBe({name:s,namespace:a});bBe({plugin:o,rule:r});const{rules:c}=o;c?n.push(...FBe(e,c)):n.push([e,o])}return n}({items:r,loadedRules:i});return vBe({plugins:a,cookedRules:s})},_Be=e=>[e,"putout"],OBe=e=>e.replace("import:@putout/plugin-","").replace("@putout/plugin-",""),MBe=e=>DBe(e)?e[1]:e;function FBe(e,t){const n=[],r=Object.entries(t);for(const[t,i]of r)n.push([`${e}/${t}`,i]);return n}function BBe({name:e,namespace:t}){const n=JFe(import.meta.url),{loadPlugin:r}=n("../load/load.js");return r({name:e,namespace:t})}var jBe={},RBe={};function UBe(e,t){let n=0,r=0,i=-1,s=0;for(;n<e.length;)if(r<t.length&&(t[r]===e[n]||"*"===t[r]))"*"===t[r]?(i=r,s=n,r++):(n++,r++);else{if(-1===i)return!1;r=i+1,s++,n=s}for(;r<t.length&&"*"===t[r];)r++;return r===t.length}let qBe="";function JBe(e,t){let n,r,i,s;const a=(...e)=>{if(!a.enabled)return;const r=Date.now(),i=r-(n||r);var s;n=r,e[0]=(s=e[0])instanceof Error?s.stack||s.message:s,"string"!=typeof e[0]&&e.unshift("%O");let o=0;e[0]=e[0].replace(/%([a-z%])/gi,(n,r)=>{if("%%"===n)return"%";o++;const i=t.formatters[r];if("function"==typeof i){const t=e[o];n=i.call(a,t),e.splice(o,1),o--}return n}),t.formatArgs.call(a,i,e),a.log(...e)};return a.extend=function(e,t=":"){return JBe(this.namespace+t+e,{useColors:this.useColors,color:this.color,formatArgs:this.formatArgs,formatters:this.formatters,inspectOpts:this.inspectOpts,log:this.log,humanize:this.humanize})},Object.assign(a,t),a.namespace=e,Object.defineProperty(a,"enabled",{enumerable:!0,configurable:!1,get:()=>null!=r?r:(i!==qBe&&(i=qBe,s=XBe(e)),s),set:e=>{r=e}}),a}let VBe=[],KBe=[];function WBe(e){qBe=e,VBe=[],KBe=[];const t=qBe.trim().replace(/\s+/g,",").split(",").filter(Boolean);for(const e of t)"-"===e[0]?KBe.push(e.slice(1)):VBe.push(e)}function XBe(e){for(const t of KBe)if(UBe(e,t))return!1;for(const t of VBe)if(UBe(e,t))return!0;return!1}const $Be=["#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"];const HBe=console.debug||console.log||(()=>{}),zBe=function(){try{return localStorage}catch(e){}}(),YBe={useColors:!0,formatArgs:function(e,t){const{useColors:n}=this;if(t[0]=`${(n?"%c":"")+this.namespace+(n?" %c":" ")+t[0]+(n?"%c ":" ")}+${this.humanize(e)}`,!n)return;const r=`color: ${this.color}`;t.splice(1,0,r,"color: inherit");let i=0,s=0;t[0].replace(/%[a-z%]/gi,e=>{"%%"!==e&&(i++,"%c"===e&&(s=i))}),t.splice(s,0,r)},formatters:{j(e){try{return JSON.stringify(e)}catch(e){return`[UnexpectedJSONParseError]: ${e.message}`}}},inspectOpts:{},humanize:function(e){return e>=1e3?`${(e/1e3).toFixed(1)}s`:`${e}ms`},log:HBe};WBe(function(){let e;try{e=zBe.getItem("debug")||zBe.getItem("DEBUG")}catch(e){}return!e&&void 0!==J&&"env"in J&&(e=J.env.DEBUG),e||""}());var GBe=Object.freeze({__proto__:null,createDebug:function(e,t){var n;const r=null!==(n=t&&t.color)&&void 0!==n?n:function(e,t){let n=0;for(let e=0;e<t.length;e++)n=(n<<5)-n+t.charCodeAt(e),n|=0;return e[Math.abs(n)%e.length]}($Be,e);return JBe(e,Object.assign(YBe,{color:r},t))},disable:function(){const e=[...VBe,...KBe.map(e=>`-${e}`)].join(",");return WBe(""),e},enable:function(e){!function(e){try{e?zBe.setItem("debug",e):zBe.removeItem("debug")}catch(e){}}(e),WBe(e)},enabled:XBe,namespaces:function(){return qBe}}),QBe=t(GBe);const{createDebug:ZBe}=QBe;RBe.createDebug=e=>{const t=ZBe(e,{useColors:!0});return new Proxy(t,{apply:(t,n,r)=>(globalThis.__putout_debug?.(e,...r),t(...r)),get:(e,t)=>!!globalThis.__putout_debug?.[t]||e[t]})};var eje={exports:{}};const tje=(e,...t)=>{try{return[null,e(...t)]}catch(e){return[e]}};var nje=t(Object.freeze({__proto__:null,default:tje,tryCatch:tje}));const{tryCatch:rje}=nje;eje.exports=rje,eje.exports.tryCatch=rje;var ije=eje.exports;const sje=ije,{createDebug:aje}=RBe,{stringify:oje}=JSON,cje=aje("putout:runner:fix");var uje=(e,t,{path:n,pathOptions:r,rule:i,position:s,options:a})=>{e&&(cje.enabled&&cje(`${i}:`,s,(e=>e.path||e)(n).toString()),function(e,t){if(n=t,"function"!=typeof n)throw Error(`☝️ Looks like '${e}' is not a 'function' but '${typeof t}' with value: '${oje(t)}'. More on writing 🐊Putout Plugins: https://git.io/JqcMn`);var n}("fix",t),((e,{path:t,pathOptions:n,position:r,options:i})=>{const[s]=sje(e,...(({path:e,pathOptions:t,options:n})=>t?[e,t,{options:n}]:[e,{options:n}])({path:t,pathOptions:n,options:i})),{scope:a}=t.path||t;if(!s&&a&&a.getProgramParent().crawl(),s)throw s.loc=s.loc||r,s.reason="fix",s})(t,{path:n,pathOptions:r,position:s,options:a}))};var lje={};const pje=e=>e.path||e[0]||e;lje.getPath=pje,lje.getPosition=(e,t)=>{const n=pje(e);!function(e){if(!e.node)throw Error("☝️ Looks like 'push' called without a 'path' argument.")}(n);const{node:r}=n,{loc:i}=r;if(!i)return{line:0,column:0};const{line:s,column:a}=r.loc.start;return{line:t?s+1:s,column:a}};const{isArray:dje}=Array;var hje=e=>e?(e=>dje(e)?e:[e])(e):[],fje={};const{stringify:mje}=JSON;fje.validate=(e,t)=>{if("function"!=typeof t)throw Error(`☝️ Looks like '${e}' is not a 'function' but '${typeof t}' with value: '${mje(t)}'. More on using Includer: https://git.io/JqcMn`)};var yje={};const{values:gje,entries:xje,assign:Tje}=Object,Sje=e=>Array.from(e),bje=e=>e.node,Eje=e=>Sje(e).filter(bje),Pje=e=>e;function vje({set:e,get:t}){return(n={})=>{const r=(...r)=>{if(!r.length)return t(n);const[i,s]=r;if(1===r.length)return n[i];e(n,i,s)};return r.clear=()=>{n={}},r.entries=()=>xje(n),r}}function Aje(e=Pje){return(t=new Set)=>{const n=(...n)=>{if(!n.length)return e(Sje(t));const[r]=n;t.add(r)};return n.clear=()=>{const n=t;return t=new Set,e(Sje(n))},n}}yje.listStore=Aje(),yje.pathStore=Aje(Eje),yje.mapStore=vje({get:e=>gje(e),set(e,t,n){e[t]=n}}),yje.upStore=vje({get:e=>gje(e),set(e,t,n){e[t]=e[t]||{},Tje(e[t],n)}}),yje.upListStore=vje({get:e=>gje(e).map(Eje),set(e,t,n){e[t]=e[t]||new Set,e[t].add(n)}});const{traverse:Cje}=rt,{generate:wje}=tU,kje=uje,{getPosition:Ije}=lje,Nje=hje,{validate:Dje}=fje,{listStore:Lje,mapStore:_je,upStore:Oje,upListStore:Mje,pathStore:Fje}=yje,{merge:Bje}=Cje.visitors,{assign:jje}=Object,Rje=(e,t,n)=>{const r=[];return t[e]&&(Dje(e,t[e]),r.push(...Nje(t[e]()))),n[e]&&r.push(...Nje(n[e])),r};var Uje=(e,{fix:t,shebang:n,template:r})=>{const i=[],s={};for(const{rule:a,plugin:o,msg:c,options:u}of e){const{push:e,pull:l,store:p,upstore:d,listStore:h,pathStore:f,uplist:m}=qje(o,{fix:t,rule:a,shebang:n,msg:c,options:u});s[a]=l;const y=o.traverse({push:e,store:p,listStore:h,pathStore:f,upstore:d,uplist:m,generate:wje,options:u});if(!y)throw Error(`☝️ Visitors cannot be empty in "${a}"`);jje(u,{include:Rje("include",o,u),exclude:Rje("exclude",o,u)}),i.push(...r({rule:a,visitor:y,options:u}))}return{entries:Object.entries(s),visitor:Bje(i)}};function qje(e,{fix:t,rule:n,shebang:r,msg:i,options:s}){const a=_je(),o=Lje(),c=Oje(),u=Lje(),l=Mje(),p=Fje();return{push:(a,o)=>{const c=Ije(a,r),l=i||e.report(a,o);u({message:l,position:c}),kje(t,e.fix,{path:a,pathOptions:o,rule:n,position:c,options:s})},pull:()=>(a.clear(),o.clear(),c.clear(),l.clear(),p.clear(),u.clear()),store:a,listStore:o,upstore:c,uplist:l,pathStore:p}}const{traverse:Jje,types:Vje}=rt,{generate:Kje}=tU,{merge:Wje}=Jje.visitors;var Xje=function({rule:e,find:t,ast:n,options:r,template:i,traverse:s=Jje}){const a=[],o=t(n,{traverse:$je({rule:e,options:r,template:i,traverse:s}),generate:Kje,types:Vje,push:e=>{a.push(e)},options:r});return[...a,...o||[]]};const $je=({rule:e,options:t,template:n,traverse:r})=>(i,s)=>{const a=Wje(n({rule:e,visitor:s,options:t}));return r(i,a)};var Hje={exports:{}},zje={},Yje={};const Gje=e=>void 0===e;const Qje=(e,t=Number(e))=>(e=>!Number.isNaN(e)&&"number"==typeof e)(t),Zje=e=>/__proto__|prototype/.test(e);var eRe={};const tRe=/\.body\.0\.expression$/,nRe=/\.body\.0\.key$/,rRe=/\.body\.0$/;eRe.prepareBodyWay=e=>e.replace(tRe,"").replace(nRe,"").replace(rRe,"");var iRe={};const{template:sRe}=tU,{types:aRe}=rt,{isBlockStatement:oRe,isTSModuleBlock:cRe,isBooleanLiteral:uRe,isIdentifier:lRe,isLiteral:pRe,isTemplateElement:dRe,isFunction:hRe,isImportDefaultSpecifier:fRe,isExportSpecifier:mRe,isRegExpLiteral:yRe,isJSXText:gRe,isJSXIdentifier:xRe,isJSXAttribute:TRe,isTSTypeReference:SRe,isTSTypeParameterDeclaration:bRe}=aRe,ERe="__object",PRe="__array",vRe="__args",ARe="__type_params",CRe="__imports",wRe="__exports",kRe="__body",IRe="__jsx_children",NRe="__jsx_attributes",DRe="__",LRe="__identifier",_Re="__bool",ORe=/^__[a-z]$/,MRe=/__args__[a-z]$/,FRe=/^__identifier__[a-z]$/,BRe=/^__bool__[a-z]$/,jRe=[ERe,PRe,vRe,ARe,_Re,IRe,NRe,CRe,wRe,kRe,DRe,LRe,ORe,MRe,FRe,BRe];function RRe(e,t){return"string"==typeof t?e===t:t.test(e)}iRe.isTemplate=e=>/[(;={.\s]/.test(e)||!/^[A-Z]/.test(e),iRe.is=(e,t=jRe)=>{for(const n of t)if(RRe(e,n))return!0;return!1},iRe.isNameStr=e=>ORe.test(e),iRe.isImportsStr=e=>e===CRe,iRe.isExportsStr=e=>e===wRe,iRe.isArgsStr=e=>e===vRe||MRe.test(e),iRe.isTypeParamsStr=e=>e===ARe,iRe.isJSXChildrenStr=e=>e===IRe,iRe.isJSXAttributesStr=e=>e===NRe,iRe.isObjectStr=e=>e===ERe,iRe.isArrayStr=e=>e===PRe,iRe.isAnyStr=e=>e===DRe,iRe.isBodyStr=e=>e===kRe;const URe=e=>lRe(e,{name:kRe}),qRe=(e,t)=>e.type===t.type,{isArray:JRe}=Array;iRe.isId=(e,t)=>!!lRe(t,{name:LRe})&&lRe(e),iRe.isBool=(e,t)=>!!lRe(t,{name:_Re})&&uRe(e),iRe.isEqualType=qRe,iRe.isStr=e=>"string"==typeof e,iRe.isAny=e=>!!lRe(e,{name:DRe})||gRe(e,{value:DRe}),iRe.isAnyLiteral=(e,t)=>!!pRe(t,{value:DRe})&&qRe(e,t),iRe.isArgs=e=>{const t=JRe(e)?e[0]:e;return lRe(t,{name:vRe})};iRe.isEqualTypeParams=(e,t)=>!!e&&(!!(e=>{if(!bRe(e))return!1;const{params:t}=e,{name:n}=t[0];return lRe(n,{name:ARe})})(t)&&qRe(e,t)),iRe.isLinkedArgs=e=>{const t=JRe(e)?e[0]:e;return lRe(t)&&MRe.test(t.name)},iRe.isJSXChildren=e=>{const t=JRe(e)?e[0]:e;return gRe(t,{value:IRe})},iRe.isJSXAttributes=e=>{const t=JRe(e)?e[0]:e;return!!TRe(t)&&xRe(t.name,{name:NRe})},iRe.isLinkedId=(e,t)=>!(!lRe(t)||!FRe.test(t.name))&&lRe(e),iRe.isLinkedBool=(e,t)=>!(!lRe(t)||!BRe.test(t.name))&&uRe(e),iRe.isLinkedRegExp=(e,t)=>!(!yRe(t)||!ORe.test(t.pattern))&&yRe(e),iRe.isPath=e=>Boolean(e.node),iRe.isArray=JRe,iRe.isObject=e=>!!e&&(!JRe(e)&&"object"==typeof e),iRe.isArrays=(e,t)=>!(!JRe(e)||!JRe(t))&&e.length===t.length,iRe.isImports=e=>{const t=JRe(e)?e[0]:e;return!!fRe(t)&&lRe(t.local,{name:CRe})},iRe.isExports=e=>{const t=JRe(e)?e[0]:e;return!!mRe(t)&&lRe(t.local,{name:wRe})};const VRe="ObjectPattern|ObjectExpression",KRe="ArrayPattern|ArrayExpression";iRe.isEqualAnyArray=(e,t)=>{if(!lRe(t,{name:PRe}))return!1;const{type:n}=e;return KRe.includes(n)},iRe.isEqualAnyObject=(e,t)=>{if(!lRe(t,{name:ERe}))return!1;const{type:n}=e;return VRe.includes(n)},iRe.isEqualBody=(e,t)=>!!e&&(!!URe(t)&&"BlockStatement"===e.type),iRe.isEqualFunctionDeclarationBody=(e,t)=>{if(!e)return!1;if(!(URe(n=t)||(oRe(n)||cRe(n))&&URe(n.body[0].expression)))return!1;var n;const{type:r}=e;return/BlockStatement|TSModuleBlock/.test(r)},iRe.isEqualNop=(e,t)=>{if(!lRe(t,{name:"__nop"}))return!1;if(!hRe(e))return!1;const{body:n}=e;return!!oRe(n)&&!n.body.length},iRe.isLinkedNode=e=>!(!lRe(e)||!ORe.test(e.name))||(!(!pRe(e)||!ORe.test(e.value))||(!(!gRe(e)||!ORe.test(e.value))||(!(!xRe(e)||!ORe.test(e.name))||(!(!dRe(e)||!ORe.test(e.value.raw))||SRe(e)&&ORe.test(e.typeName.name))))),iRe.parseTemplate=(e,{program:t}={})=>{const n=(t?sRe.program.ast:sRe.ast)(e)||sRe.ast.fresh(e);if(e===ERe)return[n,VRe];if(e===PRe)return[n,KRe];const{type:r}=n;return[n,r]},iRe.isInsideTypeReference=e=>e.isIdentifier()&&e.parentPath?.isTSTypeReference(),iRe.isInsideTypeParameter=e=>e.isIdentifier()&&e.parentPath?.isTSTypeParameter();const WRe=(e,t,n)=>{if(n||(n=t,t="."),function(e,t){if(n=e,"string"!=typeof n)throw Error("selector should be string!");var n;if("object"!=typeof t)throw Error("obj should be object!")}(e,n),!e)return n;if(r=n,!Object.keys(r).length)return;var r;const i=e.split(t).filter(Boolean);for(const[e,r]of i.entries()){const s=i.slice(e).join(t);if(!Gje(n[s])){n=n[s];break}if(!n[r]){n=void 0;break}n=n[r]}return n},XRe=(e,t,n,r)=>{r||(r=n||{},n=".");const i=r;!function(e){if(t=e,"string"!=typeof t)throw Error("selector should be string!");var t}(e);const s=e.split(n).filter(Boolean),a=s.length-1;for(const[e,n]of s.entries())if(!Zje(n)){if(e===a)r[n]=t;else if(!r[n]){const t=s[e+1];r[n]=Qje(t)?[]:{}}r=r[n]}return i},{traverse:$Re,types:HRe}=rt,{template:zRe}=tU,{replaceWith:YRe,extract:GRe}=YW,{prepareBodyWay:QRe}=eRe,{is:ZRe,isArgsStr:eUe,isTypeParamsStr:tUe,isJSXChildrenStr:nUe,isJSXAttributesStr:rUe,isImportsStr:iUe,isExportsStr:sUe,isInsideTypeReference:aUe,isInsideTypeParameter:oUe,isBodyStr:cUe}=iRe,{isIdentifier:uUe,isStatement:lUe,isJSXElement:pUe,isJSXAttribute:dUe,isStringLiteral:hUe,isTemplateLiteral:fUe,templateElement:mUe}=HRe,{extractExpression:yUe}=zRe,{entries:gUe}=Object,{stringify:xUe}=JSON;function TUe(e){if(uUe(e)&&ZRe(e.name))return{[e.name]:[""]};const t={};return $Re(e,{noScope:!0,"Identifier|JSXIdentifier|BooleanLiteral|StringLiteral|TemplateElement|RegExpLiteral|JSXText|JSXAttribute|TSTypeReference|TSTypeParameter"(e){if(aUe(e))return;if(oUe(e))return;const{node:n}=e;if(dUe(e.parentPath)&&e.parentPath.node.name===n)return;const r=[],i=GRe(n);ZRe(i)&&(e.find(({key:e,listKey:t})=>{"number"!=typeof e?r.unshift(e):r.unshift(`${t}.${e}`)}),t[i]=t[i]||[],t[i].push(r.join(".")))}}),t}function SUe({waysFrom:e,node:t}){const n={};for(const[r,i]of gUe(e))for(let e of i)iUe(r)||sUe(r)?e=e.replace(/\.0.local$/,""):(eUe(r)||nUe(r)||rUe(r)||tUe(r))&&(e=e.replace(/\.0$/,"")),pUe(t)||(e=e.replace(/\.expression$/,"")),cUe(r)&&(e=QRe(e)),n[r]=n[r]||yUe(WRe(e,t));return n}Yje.getTemplateValues=(e,t)=>{if("string"!=typeof t)throw Error(`☝️ Looks like argument 'template' of 'getTemplateValues(node, template)': is not a string, but '${xUe(t)}'`);e=(e=>e.node||e)(e);return SUe({node:e,waysFrom:TUe(zRe.ast(t))})},Yje.findVarsWays=TUe,Yje.getValues=SUe;const bUe=e=>e.replace("`","\\`");Yje.setValues=function({waysTo:e,values:t,path:n}){const r=yUe(n.node);for(const[i,s]of gUe(e))for(let e of s){if(!e){YRe(n,t[i]);continue}if((iUe(i)||sUe(i))&&(e=e.replace(/\.0.local$/,"")),(eUe(i)||nUe(i)||rUe(i))&&(e=e.replace(/\.0$/,"")),lUe(t[i])&&(e=e.replace(/\.expression$/,"")),hUe(t[i])&&fUe(r)){const{value:n}=t[i],s=mUe({raw:bUe(n)});XRe(e,s,r);continue}cUe(i)&&(e=QRe(e));const{extra:s}=WRe(e,r);if(s){const e=t[i].extra;t[i].extra={...s,...e}}XRe(e,t[i],r)}};var EUe={},PUe={exports:{}},vUe={};const{createDebug:AUe}=QBe;vUe.createDebug=e=>{const t=AUe(e);return new Proxy(t,{apply:(t,n,r)=>(globalThis.__putout_debug?.(e,...r),t(...r)),get:(e,t)=>!!globalThis.__putout_debug?.[t]||e[t]})};const{createDebug:CUe}=vUe,wUe=CUe("putout:compare"),{isArray:kUe}=Array;function IUe(e){if(kUe(e)&&e[0]){const[{type:t,name:n,value:r}]=e;return`${t}: ["${n||r}"]`}if((e=>e&&"object"==typeof e)(e)){const{type:t,name:n,value:r}=e;return`${t}: "${n||r}"`}return`${typeof e}: "${e}"`}PUe.exports=(e,t)=>{if(!wUe.enabled)return;const n=IUe(e),r=IUe(t);return wUe(`${n} = ${r}`)},PUe.exports._parseValue=IUe;var NUe=PUe.exports,DUe={exports:{}};const{types:LUe}=rt,{isIdentifier:_Ue,isLiteral:OUe,isStringLiteral:MUe,isTemplateElement:FUe,isTSTypeReference:BUe,isJSXText:jUe,isJSXIdentifier:RUe}=LUe,UUe=e=>{e=e[0]||e;const{name:t,value:n}=e;if(_Ue(e)||RUe(e))return t;if(OUe(e))return n;if(FUe(e))return e.value.cooked;if(BUe(e))return e.typeName.name;if(jUe(e))return e.value;throw Error(`☝️ Looks like type of node '${e.type}' not supported by 'compare -> link -> parseName()'`)};DUe.exports=({add:e,value:t,nodeValue:n,templateStore:r})=>{const i=UUe(t);return!(MUe(t)&&!MUe(n))&&(r[i]?(_Ue(r[i])&&BUe(n)||e(r[i],n,{plain:!0}),!0):(r[i]=n,!0))},DUe.exports._parseName=UUe;var qUe=DUe.exports,JUe={},VUe={};const{is:KUe}=iRe;VUe.comparePrimitives=(e,t)=>{return!(n=t,"object"==typeof n&&null!==n||KUe(t)||t!==e);var n};const{types:WUe}=rt,{isObject:XUe,isArrays:$Ue}=iRe,{comparePrimitives:HUe}=VUe,{isIdentifier:zUe}=WUe;JUe.comparePlain=(e,t,{add:n})=>!e&&e===t||!!e&&(!!HUe(e,t)||(!(!zUe(e)||e.name!==t.name)||(XUe(t)&&!Array.isArray(t)||!!$Ue(e,t))&&n(e,t,{plain:!0})));const{types:YUe}=rt,GUe=NUe,QUe=qUe,{isId:ZUe,isBool:eqe,isObject:tqe,isArrays:nqe,isAny:rqe,isAnyLiteral:iqe,isArgs:sqe,isEqualTypeParams:aqe,isJSXChildren:oqe,isJSXAttributes:cqe,isLinkedArgs:uqe,isLinkedId:lqe,isLinkedBool:pqe,isImports:dqe,isExports:hqe,isEqualAnyObject:fqe,isEqualAnyArray:mqe,isEqualBody:yqe,isEqualFunctionDeclarationBody:gqe,isEqualNop:xqe,isLinkedNode:Tqe,isLinkedRegExp:Sqe}=iRe,{comparePlain:bqe}=JUe,{comparePrimitives:Eqe}=VUe,{isClassBody:Pqe,isBlock:vqe,isJSXText:Aqe,isTemplateElement:Cqe}=YUe,wqe=e=>(t,n)=>e(n),kqe=[Eqe,function(e,t){if(!Cqe(e)||!Cqe(t))return!1;const n=e.value.raw===t.value.raw,r=e.value.cooked===t.value.cooked,i=e.tail===t.tail;return n&&r&&i},function(e,t){return!(!Aqe(e)||!Aqe(t))&&(/^\s+$/.test(t.value)&&/^\s+$/.test(e.value))},function(e,t){return"__"===t},wqe(Pqe),wqe(e=>vqe(e)&&!e.body.length),wqe(rqe),ZUe,eqe,mqe,fqe,yqe,gqe,xqe,aqe,Sqe,function(e,t,{add:n,templateStore:r}){const i=e&&(Tqe(t)||uqe(t)||lqe(e,t)||pqe(e,t));return!!i&&QUe({add:n,value:t,nodeValue:e,templateStore:r})},iqe,wqe(dqe),wqe(hqe),wqe(sqe),wqe(oqe),wqe(cqe),function(e,t,{add:n}){const r=tqe(t);r&&n(e,t);return r},function(e,t,{add:n}){const r=nqe(e,t);r&&n(e,t);return r}];EUe.runComparators=(e,t,{add:n,templateStore:r,plain:i})=>{let s=-1;const a=kqe.length;if(GUe(t,e),i)return bqe(e,t,{add:n});for(;++s<a;){if((0,kqe[s])(e,t,{add:n,templateStore:r}))return!0}return!1};var Iqe={};const{types:Nqe}=rt,{isEqualBody:Dqe,isEqualAnyObject:Lqe,isEqualAnyArray:_qe,isLinkedNode:Oqe,isLinkedId:Mqe,isLinkedRegExp:Fqe,isEqualNop:Bqe}=iRe,{isIdentifier:jqe,isStringLiteral:Rqe}=Nqe,Uqe=[Lqe,_qe,Bqe,function(e,t){return jqe(e)&&Oqe(t)},function(e,t){return Rqe(e)&&Oqe(t)},Mqe,Fqe,Dqe];Iqe.runTopLevelComparators=(e,t)=>{let n=-1;const r=Uqe.length;for(;++n<r;){if((0,Uqe[n])(e,t))return!0}return!1};const{template:qqe}=tU,{findVarsWays:Jqe,getValues:Vqe,setValues:Kqe,getTemplateValues:Wqe}=Yje,{runComparators:Xqe}=EUe,{runTopLevelComparators:$qe}=Iqe,{isStr:Hqe,isId:zqe,isPath:Yqe,isEqualType:Gqe,isTemplate:Qqe,parseTemplate:Zqe}=iRe,{extractExpression:eJe}=qqe,{keys:tJe}=Object,{isArray:nJe}=Array,rJe=()=>{},iJe=e=>nJe(e)&&!e.length,sJe=e=>nJe(e)?e:[e];function aJe(e){return Hqe(e)?qqe.ast(e):e.node?e.node:e}function oJe(e,t,n={},r=rJe){const{findUp:i=!0}=n;if(!e&&!t)return!0;if(!e)return!1;if(!t)return!1;const s=eJe(aJe(e)),a=eJe(aJe(t));if(r(s,a),zqe(s,a))return!0;if(s.type===t)return!0;if($qe(s,a))return!0;if(i&&Yqe(e)&&!Gqe(s,a)){const{type:t}=a,n=((e,t)=>{const n=e.findParent((e=>t=>t.type===e)(t));return n?n.node:null})(e,t);return uJe(n,a)}return uJe(s,a)}zje.compare=oJe,zje.parseTemplate=Zqe,zje.isTemplate=Qqe,zje.findVarsWays=Jqe,zje.getValues=Vqe,zje.setValues=Kqe,zje.getTemplateValues=Wqe,zje.compareAny=(e,t,n)=>{t=sJe(t);for(const r of t)if(oJe(e,r,n))return!0;return!1},zje.compareAll=(e,t,n)=>{t=sJe(t);for(const r of t)if(!oJe(e,r,n))return!1;return!0};const cJe=["loc","start","end","directives","extra","raw","comments","leadingComments","innerComments","parent","phase","range","trailingComments","importKind","exportKind","__putout_runner_replace"];function uJe(e,t){let n=[e,t];const r=[n],i={},s=(e=>(t,n,r={})=>e.push([t,n,r]))(r);for(;n=r.pop();){const[e,t,{plain:r}={}]=n;if(!e||iJe(e)&&!iJe(t))return!1;for(const n of tJe(t)){if(cJe.includes(n))continue;const a=eJe(e[n]),o=eJe(t[n]);if(!Xqe(a,o,{add:s,templateStore:i,plain:r}))return!1}}return!0}const lJe=ije,{compareAny:pJe,compareAll:dJe,parseTemplate:hJe,isTemplate:fJe}=zje,mJe=hje,{createDebug:yJe}=RBe,gJe=yJe("putout:runner:template"),{entries:xJe}=Object,TJe=e=>"function"==typeof e,SJe=(e,t)=>{gJe.enabled&&gJe(e,t.toString())},{stringify:bJe}=JSON;Hje.exports._log=SJe;const EJe=({rule:e,tmpl:t,fn:n,nodesExclude:r})=>{if(!TJe(n)||!r.length)return{[t]:n};const i=PJe({rule:e,fn:n,nodesExclude:r,nodesInclude:[]});return{[t]:i}};Hje.exports=({rule:e,visitor:t,options:n})=>{const r=[],i=mJe(n.exclude),s=mJe(n.include);for(const[n,a]of xJe(t)){if(!n)continue;if(!fJe(n)){r.push(EJe({rule:e,tmpl:n,fn:a,nodesExclude:i}));continue}const[t,o]=hJe(n),c=PJe({rule:e,fn:a,nodesExclude:i,nodesInclude:[t,...s]});r.push({[o]:c})}return r},Hje.exports._log=SJe;const PJe=({rule:e,nodesInclude:t,nodesExclude:n,fn:r})=>i=>{if(SJe(e,i),n.length&&pJe(i,n))return;if(t.length&&!dJe(i,t))return;if(!TJe(r))throw Error(`☝️ Looks like provided visitor is not a function: ${bJe(r)}. More on using Traverser: https://git.io/JqcMn`);const[s]=lJe(r,i);if(s)throw s.rule=e,s};var vJe,AJe=Hje.exports,CJe={};function wJe(){}function kJe(){kJe.init.call(this)}function IJe(e){return void 0===e._maxListeners?kJe.defaultMaxListeners:e._maxListeners}function NJe(e,t,n,r){var i,s,a;if("function"!=typeof n)throw new TypeError('"listener" argument must be a function');if((s=e._events)?(s.newListener&&(e.emit("newListener",t,n.listener?n.listener:n),s=e._events),a=s[t]):(s=e._events=new wJe,e._eventsCount=0),a){if("function"==typeof a?a=s[t]=r?[n,a]:[a,n]:r?a.unshift(n):a.push(n),!a.warned&&(i=IJe(e))&&i>0&&a.length>i){a.warned=!0;var o=new Error("Possible EventEmitter memory leak detected. "+a.length+" "+t+" listeners added. Use emitter.setMaxListeners() to increase limit");o.name="MaxListenersExceededWarning",o.emitter=e,o.type=t,o.count=a.length,function(e){"function"==typeof console.warn?console.warn(e):console.log(e)}(o)}}else a=s[t]=n,++e._eventsCount;return e}function DJe(e,t,n){var r=!1;function i(){e.removeListener(t,i),r||(r=!0,n.apply(e,arguments))}return i.listener=n,i}function LJe(e){var t=this._events;if(t){var n=t[e];if("function"==typeof n)return 1;if(n)return n.length}return 0}function _Je(e,t){for(var n=new Array(t);t--;)n[t]=e[t];return n}wJe.prototype=Object.create(null),kJe.EventEmitter=kJe,kJe.usingDomains=!1,kJe.prototype.domain=void 0,kJe.prototype._events=void 0,kJe.prototype._maxListeners=void 0,kJe.defaultMaxListeners=10,kJe.init=function(){this.domain=null,kJe.usingDomains&&(!vJe.active||this instanceof vJe.Domain||(this.domain=vJe.active)),this._events&&this._events!==Object.getPrototypeOf(this)._events||(this._events=new wJe,this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},kJe.prototype.setMaxListeners=function(e){if("number"!=typeof e||e<0||isNaN(e))throw new TypeError('"n" argument must be a positive number');return this._maxListeners=e,this},kJe.prototype.getMaxListeners=function(){return IJe(this)},kJe.prototype.emit=function(e){var t,n,r,i,s,a,o,c="error"===e;if(a=this._events)c=c&&null==a.error;else if(!c)return!1;if(o=this.domain,c){if(t=arguments[1],!o){if(t instanceof Error)throw t;var u=new Error('Uncaught, unspecified "error" event. ('+t+")");throw u.context=t,u}return t||(t=new Error('Uncaught, unspecified "error" event')),t.domainEmitter=this,t.domain=o,t.domainThrown=!1,o.emit("error",t),!1}if(!(n=a[e]))return!1;var l="function"==typeof n;switch(r=arguments.length){case 1:!function(e,t,n){if(t)e.call(n);else for(var r=e.length,i=_Je(e,r),s=0;s<r;++s)i[s].call(n)}(n,l,this);break;case 2:!function(e,t,n,r){if(t)e.call(n,r);else for(var i=e.length,s=_Je(e,i),a=0;a<i;++a)s[a].call(n,r)}(n,l,this,arguments[1]);break;case 3:!function(e,t,n,r,i){if(t)e.call(n,r,i);else for(var s=e.length,a=_Je(e,s),o=0;o<s;++o)a[o].call(n,r,i)}(n,l,this,arguments[1],arguments[2]);break;case 4:!function(e,t,n,r,i,s){if(t)e.call(n,r,i,s);else for(var a=e.length,o=_Je(e,a),c=0;c<a;++c)o[c].call(n,r,i,s)}(n,l,this,arguments[1],arguments[2],arguments[3]);break;default:for(i=new Array(r-1),s=1;s<r;s++)i[s-1]=arguments[s];!function(e,t,n,r){if(t)e.apply(n,r);else for(var i=e.length,s=_Je(e,i),a=0;a<i;++a)s[a].apply(n,r)}(n,l,this,i)}return!0},kJe.prototype.addListener=function(e,t){return NJe(this,e,t,!1)},kJe.prototype.on=kJe.prototype.addListener,kJe.prototype.prependListener=function(e,t){return NJe(this,e,t,!0)},kJe.prototype.once=function(e,t){if("function"!=typeof t)throw new TypeError('"listener" argument must be a function');return this.on(e,DJe(this,e,t)),this},kJe.prototype.prependOnceListener=function(e,t){if("function"!=typeof t)throw new TypeError('"listener" argument must be a function');return this.prependListener(e,DJe(this,e,t)),this},kJe.prototype.removeListener=function(e,t){var n,r,i,s,a;if("function"!=typeof t)throw new TypeError('"listener" argument must be a function');if(!(r=this._events))return this;if(!(n=r[e]))return this;if(n===t||n.listener&&n.listener===t)0===--this._eventsCount?this._events=new wJe:(delete r[e],r.removeListener&&this.emit("removeListener",e,n.listener||t));else if("function"!=typeof n){for(i=-1,s=n.length;s-- >0;)if(n[s]===t||n[s].listener&&n[s].listener===t){a=n[s].listener,i=s;break}if(i<0)return this;if(1===n.length){if(n[0]=void 0,0===--this._eventsCount)return this._events=new wJe,this;delete r[e]}else!function(e,t){for(var n=t,r=n+1,i=e.length;r<i;n+=1,r+=1)e[n]=e[r];e.pop()}(n,i);r.removeListener&&this.emit("removeListener",e,a||t)}return this},kJe.prototype.off=function(e,t){return this.removeListener(e,t)},kJe.prototype.removeAllListeners=function(e){var t,n;if(!(n=this._events))return this;if(!n.removeListener)return 0===arguments.length?(this._events=new wJe,this._eventsCount=0):n[e]&&(0===--this._eventsCount?this._events=new wJe:delete n[e]),this;if(0===arguments.length){for(var r,i=Object.keys(n),s=0;s<i.length;++s)"removeListener"!==(r=i[s])&&this.removeAllListeners(r);return this.removeAllListeners("removeListener"),this._events=new wJe,this._eventsCount=0,this}if("function"==typeof(t=n[e]))this.removeListener(e,t);else if(t)do{this.removeListener(e,t[t.length-1])}while(t[0]);return this},kJe.prototype.listeners=function(e){var t,n=this._events;return n&&(t=n[e])?"function"==typeof t?[t.listener||t]:function(e){for(var t=new Array(e.length),n=0;n<t.length;++n)t[n]=e[n].listener||e[n];return t}(t):[]},kJe.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):LJe.call(e,t)},kJe.prototype.listenerCount=LJe,kJe.prototype.eventNames=function(){return this._eventsCount>0?Reflect.ownKeys(this._events):[]};var OJe=t(Object.freeze({__proto__:null,EventEmitter:kJe,default:kJe}));const{EventEmitter:MJe}=OJe;var FJe=CJe.createProgress=()=>{let e=0,t=0;const n=new MJe;return n.reset=()=>{t=0,e=0},n.file=({i:e,n:t,percent:r,rule:i})=>{n.emit("file",{i:e,n:t,rule:i,percent:r})},n.inc=()=>{++e},n.start=r=>{++t,n.emit("start",{pluginsIndex:t,pluginsCount:e,rule:r})},n.push=r=>{n.emit("push",{pluginsIndex:t,pluginsCount:e,rule:r})},n.end=r=>{n.emit("end",{rule:r,pluginsIndex:t,pluginsCount:e})},n},BJe={};const jJe=ije;BJe.tryThrowWithReason=(e,...t)=>{const[n,r]=jJe(e,...t);if(n)throw n.reason??="traverse",n;return r};var RJe={};const{createDebug:UJe}=RBe,qJe=hje,{validate:JJe}=fje,VJe=UJe("putout:runner:include"),KJe=()=>[],WJe=()=>!0;RJe.include=({rule:e,plugin:t,msg:n,options:r})=>{const{fix:i,report:s,include:a,exclude:o=KJe,filter:c=WJe}=t;JJe("include",a),JJe("report",s);const u=XJe(a(),c,e);return{rule:e,msg:n,options:{...r,exclude:[...o(),...qJe(r.exclude)]},plugin:{report:s,fix:i,traverse:u}}};const XJe=(e,t,n)=>({push:r,options:i})=>{const s={},a=(({rule:e,filter:t,push:n,options:r})=>i=>{VJe(e),t(i,{options:r})&&n(i)})({rule:n,filter:t,push:r,options:i});for(const t of e)s[t]=a;return s};var $Je={},HJe={exports:{}};const zJe=e=>(...t)=>(...n)=>e(...t,...n);const{entries:YJe}=Object,{isArray:GJe}=Array;function QJe(e,t){const{node:n}=e;let r,i;for([r,i]of YJe(t)){if(GJe(i)){const e=i.indexOf(n);if(e>=0)return`${r}.${e}`;continue}if(i===n)break}return r}const ZJe=(e,...t)=>(function(e){if("function"!=typeof e)throw Error("fn should be a function!")}(e),t.length?zJe(e)(...t):zJe(e)),{types:eVe}=rt,tVe=e=>{let t={parentPath:e};const n=[];for(;t=t.parentPath;)n.unshift(QJe(t,t.parent));return n.join(".")},{isProgram:nVe}=eVe,rVe="__putout_runner_replace";function iVe(e,t,n){const r=`${e} -> ${t}`;return{watermark:r,highWatermark:`${tVe(n)}: ${r}`}}function sVe({path:e,program:t}){e.node&&(e.node[rVe]=e.node[rVe]||new Set),t.node[rVe]=t.node[rVe]||new Set}function aVe({path:e,program:t,watermark:n,highWatermark:r}){sVe({path:e,program:t}),e?.node[rVe].add(n),t.node[rVe].add(r)}function oVe({path:e,program:t,watermark:n,highWatermark:r}){const{node:i}=e,{loc:s}=i;return!!(i?.[rVe].has(n)||e.findParent((e=>t=>t.node?.[rVe]?.has(e))(n))&&!s)||t.node[rVe].has(r)}HJe.exports=(e,t,n)=>{const{watermark:r,highWatermark:i}=iVe(e,t,n),s={watermark:r,highWatermark:i,program:n.findParent(nVe),path:n};return{init:ZJe(sVe,s),has:ZJe(oVe,s),add:ZJe(aVe,s)}},HJe.exports.REPLACE_WATERMARK=rVe,HJe.exports.create=iVe,HJe.exports.init=sVe,HJe.exports.add=aVe,HJe.exports.has=oVe;var cVe=HJe.exports;const{template:uVe,print:lVe}=tU,{remove:pVe,replaceWith:dVe}=YW,{types:hVe}=rt,{compare:fVe,findVarsWays:mVe,getValues:yVe,setValues:gVe}=zje,xVe=hje,TVe=cVe,{createDebug:SVe}=RBe,bVe=SVe("putout:runner:replace"),EVe=(e,t)=>{bVe.enabled&&bVe(`${e} -> ${t}\n`)},{isExpression:PVe,isStatement:vVe,isExpressionStatement:AVe}=hVe,CVe={printer:["putout",{format:{newline:"",indent:"",splitter:" ",endOfFile:""}}]},{keys:wVe,entries:kVe}=Object,{stringify:IVe}=JSON,NVe=()=>[],DVe=()=>({});$Je.replace=({rule:e,plugin:t,msg:n,options:r})=>{const i=(t.match||DVe)({options:r}),{report:s,exclude:a=NVe,replace:o,filter:c=MVe(i)}=t,u=o({options:r}),l=OVe(u,i),p=(d=u,()=>wVe(d));var d;return{rule:e,msg:n,options:{...r,exclude:[...a(),...xVe(r.exclude)]},plugin:{report:s,fix:l,filter:c,include:p}}},$Je.clearWatermark=e=>{delete e.program[TVe.REPLACE_WATERMARK]};const LVe=e=>"function"==typeof e,_Ve=(e,t,n)=>{const r=uVe.ast(e),i=TVe(e,t,n);if(i.init(),i.has())return;const s=mVe(r),a=((e,{node:t})=>e.type!==t.type&&AVe(t)?t.expression:t)(r,n),o=yVe({waysFrom:s,node:a}),c=function(e,t,n){const r=LVe(e)?e(t,n):e;if(!r)return null;if(i=r,"object"==typeof i&&r.type)return r.__putout_replace_cooked=!0,r;var i;if(!(e=>"string"==typeof e)(r))throw Error(`☝️ Looks like you passed 'replace' value with a wrong type. Allowed: 'string', 'node' and 'path'. Received: '${typeof r}' with value '${r}'.`);return uVe.ast.fresh(r)}(t,o,n);if(!c)return EVe(e,"''"),pVe(n);!function(e,t,n){if(!PVe(e))return;if(!vVe(t)||AVe(t))return;if(AVe(n)||AVe(n.parentPath))return;throw Error(`☝️ Looks like a try to put Statement in place of Expression, use 'match' to filter out such cases: '${lVe(e,CVe)} -> ${lVe(t,CVe)}'. For code: '${n}'`)}(r,c,n);const u=mVe(c),l=dVe(n,c);c.__putout_replace_cooked||(BVe(u,s),gVe({waysTo:u,values:o,path:l})),i.add(),n.scope.getBlockParent().crawl(),EVe(e,l)},OVe=(e,t)=>n=>{for(const[r,i]of kVe(e)){const e=uVe.ast(r);if(fVe(n,e,{findUp:!1})){const s=t[r];s&&!FVe(n,e,s)||_Ve(r,i,n)}}},MVe=e=>t=>{const n=kVe(e);for(const[e,r]of n){const n=uVe.ast(e);if(fVe(t.node,n,{findUp:!1}))return FVe(t,n,r)}return!0};function FVe(e,t,n){const r=mVe(t),{node:i}=e,s=yVe({waysFrom:r,node:i});return function(e){if(!LVe(e))throw Error(`☝️ Looks like 'match' property value is not a 'function', but '${typeof e}' with value '${e}'.`)}(n),n(s,e)}const BVe=(e,t)=>{for(const n of wVe(e))if(!t[n])throw Error(`☝️ Looks like template values not linked: ${IVe(wVe(t))} -> ${IVe(wVe(e))}`)};var jVe={},RVe={},UVe={};const qVe="__putout_declare_undefined_variables",JVe=e=>e.scope.getProgramParent().path,VVe=(e,t)=>t[e]=t[e]||{};UVe.checkDeclarationForESLint=(e,t)=>{const n=JVe(t);return VVe(qVe,n),n[qVe][e]},UVe.addDeclarationForESLint=(e,t)=>{const n=JVe(t);VVe(qVe,n),n[qVe][e]=!0},UVe.setModuleType=(e,t)=>{const n=JVe(t);return VVe(qVe,n),n[qVe].__putout_module_type=e,e},UVe.getModuleType=e=>{const t=JVe(e);return VVe(qVe,t),t[qVe].__putout_module_type};const{template:KVe}=tU,{isESM:WVe,insertAfter:XVe}=YW,{compare:$Ve}=zje,{types:HVe}=rt,{addDeclarationForESLint:zVe,checkDeclarationForESLint:YVe,getModuleType:GVe,setModuleType:QVe}=UVe,{isImportDeclaration:ZVe,isVariableDeclaration:eKe}=HVe,{keys:tKe}=Object,nKe=e=>e.node.source.value.includes("."),rKe=["TSMethodSignature","TSParameterProperty","TSFunctionType","TSDeclareMethod","TSDeclareFunction","TSTypeAliasDeclaration","TSQualifiedName"];RVe.declare=e=>({report:iKe,include:sKe,fix:oKe(e),filter:aKe(e)});const iKe=e=>{const{name:t}=e.node;return`Declare '${t.split(".").shift()}', it referenced but not defined`},sKe=()=>["ReferencedIdentifier"],aKe=e=>(t,{options:n})=>{if(rKe.includes(t.parentPath.type))return!1;const{dismiss:r=[],type:i}=n,s={...e,...n.declarations},a=tKe(s),{scope:o,node:c}=t,{name:u}=c;if(!a.includes(u))return!1;if(r.includes(u))return!1;if(o.hasBinding(u)||YVe(u,t))return!1;const l=function(e,t){if(t)return QVe(t,e);const n=GVe(e);return n||QVe((e=>WVe(e)?"esm":"commonjs")(e),e)}(t,i);return cKe(l,s[u])},oKe=e=>(t,{options:n})=>{const r=GVe(t),i={...e,...n.declarations},{name:s}=t.node,a=cKe(r,i[s]),o=t.scope.getProgramParent().path.get("body");!function(e,t){const n=function(e,t){const n=lKe(t),r=(e=>e.filter(eKe).pop())(t);return eKe(e)&&n||(ZVe(e)||uKe(e))&&n?n:eKe(e)&&r&&!((e,t)=>t.at(-1)===e)(r,t)?r:null}(e,t),[r]=t;if(eKe(e)&&ZVe(n)||uKe(n))return XVe(n,e);if(eKe(e))return uKe(r)?r.insertAfter(e):r.insertBefore(e);n?n.isImportDeclaration()&&nKe(n)?n.insertBefore(e):XVe(n,e):r.insertBefore(e)}(KVe.ast.fresh(a),o),zVe(s,t)},cKe=(e,t)=>"string"==typeof t?t:t[e];const uKe=e=>$Ve(e,"const __a = require(__b)");const lKe=e=>{const t=[],n=[];for(const r of e)r.isImportDeclaration()&&(nKe(r)?n.push(r):t.push(r));return t.pop()||n.pop()};const{declare:pKe}=RVe,{stringify:dKe}=JSON;jVe.declare=({rule:e,plugin:t,msg:n,options:r})=>(function(e){if(t=e,"function"!=typeof t)throw Error(`☝️ Looks like 'declare' property value is not a 'function', but '${typeof e}' with value '${dKe(e)}'.`);var t}(t.declare),{rule:e,plugin:pKe(t.declare()),msg:n,options:r});var hKe={},fKe={},mKe=t(BFe),yKe={exports:{}};const gKe=(e,...t)=>{try{return[null,e(...t)]}catch(e){return[e]}};var xKe=t(Object.freeze({__proto__:null,default:gKe,tryCatch:gKe}));const{tryCatch:TKe}=xKe;yKe.exports=TKe,yKe.exports.tryCatch=TKe;var SKe=yKe.exports,bKe={};const EKe=iU(),{assign:PKe}=Object,vKe=()=>{},AKe={renameFile:vKe,removeFile:vKe,createDirectory:vKe,readFileContent:(CKe="",()=>CKe),writeFileContent:vKe,copyFile:vKe};var CKe;const wKe=PKe({},AKe);function kKe(e){PKe(wKe,e)}function IKe(){PKe(wKe,AKe)}bKe.renameFile=(e,t)=>{wKe.renameFile(e,t)},bKe.removeFile=e=>{wKe.removeFile(e)},bKe.copyFile=(e,t)=>{wKe.copyFile(e,t)},bKe.createDirectory=e=>{wKe.createDirectory(e)},bKe.readFileContent=e=>wKe.readFileContent(e),bKe.writeFileContent=(e,t)=>{wKe.writeFileContent(e,t)},bKe.init=kKe,bKe.pause=()=>{EKe(wKe),IKe()},bKe.start=()=>{kKe(EKe())},bKe.deinit=IKe;var NKe={};const{types:DKe}=rt,{arrayExpression:LKe,stringLiteral:_Ke,objectProperty:OKe}=DKe;function MKe(e,t){const n=_Ke(e);return OKe(n,t)}NKe.createTypeProperty=e=>MKe("type",_Ke(e)),NKe.createFilesProperty=e=>MKe("files",LKe(e)),NKe.createFilenameProperty=e=>MKe("filename",_Ke(e)),NKe.createContentProperty=e=>MKe("content",_Ke(e));const{join:FKe,basename:BKe,dirname:jKe}=mKe,{types:RKe}=rt,UKe=SKe,{setLiteralValue:qKe,getProperty:JKe,traverseProperties:VKe}=YW,KKe=bKe,{createTypeProperty:WKe,createFilesProperty:XKe,createFilenameProperty:$Ke,createContentProperty:HKe}=NKe,{isProgram:zKe,objectExpression:YKe}=RKe,GKe=e=>"string"==typeof e,{isArray:QKe}=Array,ZKe=e=>{const[t,n]=UKe(btoa,e);return t?btoa(escape(e)):n},eWe=e=>{const t=e.replace(/\./g,"\\.").replace(/\*/g,".*").replace("?",".?");return RegExp(`^${t}$`)};function tWe(e){if(!e.parentPath)return null;const{parentPath:t}=e.parentPath.parentPath;return zKe(t)?null:t}function nWe({name:e,base:t,exclude:n}){for(const r of n)if(e===r||eWe(r).test(t))return!0;return!1}function rWe(e,t,n=[]){!function(e){if(!GKe(e)&&!QKe(e))throw Error("☝️ Looks like you forget to pass the 'name' of a file to 'findFile(filePath: Path|FilePath, name: string | string[]): FilePath'")}(t);const r=[],i=(e=>QKe(e)?e:[e])(t);for(const t of VKe(e,"filename")){const{value:e}=t.node.value,s=BKe(e);for(const a of i)if(e===a||eWe(a).test(s)){const e=t.parentPath;if(nWe({name:a,base:s,exclude:n}))continue;r.push(e)}}return r}function iWe(e){return JKe(e,"filename").get("value")}function sWe(e){const{value:t}=iWe(e).node;return t}function aWe(e){return JKe(e,"type").node.value.value}function oWe(e){const t=JKe(e,"content");return[Boolean(t),t?.node.value.value]}function cWe(e){const t=sWe(e);tWe(e)&&(e.remove(),KKe.removeFile(t))}function uWe(e,t){const n=aWe(e);if("directory"!==n){const t=sWe(e);throw Error(`☝️ Looks like '${t}' is not a directory, but: '${n}'. Rename to '${t}/'`)}const r=JKe(e,"files"),i=FKe(sWe(e),BKe(t)),[s]=rWe(r,i);s&&s.remove()}fKe.getParentDirectory=tWe,fKe.findFile=rWe,fKe.getFileType=aWe,fKe.getFileContent=oWe,fKe.getFilename=sWe,fKe.renameFile=(e,t)=>{const n=sWe(e),r=iWe(e),i=n.split("/").pop(),s=t.split("/").pop(),a=n.replace(i,s);qKe(r,a),KKe.renameFile(n,a)},fKe.removeFile=cWe,fKe.removeEmptyDirectory=e=>{if("directory"!==aWe(e))return;let t=e;for(;!pWe(e).length;){if("/"===sWe(e))break;if(t=tWe(e),!t)break;cWe(e),e=t}},fKe.moveFile=(e,t)=>{if(e===t)return;const n=sWe(t),r=sWe(e),i=lWe(t),s=JKe(e,"filename"),a=r.split("/").pop(),o=FKe(n,a);uWe(t,o),qKe(s.get("value"),o),i.node.value.elements.push(e.node),e.remove(),KKe.renameFile(r,o)},fKe.copyFile=(e,t)=>{const n=sWe(t),r=sWe(e),i=r.split("/").pop(),s=FKe(n,i),[a,o]=oWe(e),c=YKe([WKe("file"),$Ke(s),a&&HKe(o)].filter(Boolean));uWe(t,s);lWe(t).node.value.elements.push(c),KKe.copyFile(r,s)},fKe.createFile=(e,t,n)=>{uWe(e,t);const r=lWe(e),i=sWe(e),s=FKe(i,t),a=[WKe("file"),$Ke(s),n&&HKe(n)].filter(Boolean);r.node.value.elements.push(YKe(a));const o=r.get("value.elements").at(-1);return GKe(n)&&hWe(o,n),o};const lWe=e=>JKe(e,"files");function pWe(e){return"directory"!==aWe(e)?[]:lWe(e).get("value.elements")}function dWe(e,t){const n=lWe(e),r=sWe(e),i=FKe(r,t),s=WKe("directory"),a=XKe([]),o=$Ke(i);return n.node.value.elements.push(YKe([s,o,a])),KKe.createDirectory(i),n.get("value.elements").at(-1)}function hWe(e,t){if("directory"===aWe(e))return;const n=sWe(e);KKe.writeFileContent(n,t);const r=JKe(e,"content");if(r)return void qKe(r.node.value,ZKe(t));const i=HKe(ZKe(t));e.node.properties.push(i)}function fWe(e){let t=tWe(e);if(!t)return e;let n=t;for(;t=tWe(t);)n=t;return n}fKe.readDirectory=pWe,fKe.createDirectory=dWe,fKe.readFileContent=e=>{if("directory"===aWe(e))return"";const[t,n]=oWe(e);if(t)return(e=>{if(e.includes(" "))return e;const[t,n]=UKe(atob,e);return t?e:unescape(n)})(n);const r=sWe(e),i=KKe.readFileContent(r),s=HKe(ZKe(i));return e.node.properties.push(s),i},fKe.writeFileContent=hWe,fKe.createNestedDirectory=(e,t)=>{const n=fWe(e);if(jKe(t)===sWe(e))return dWe(e,BKe(t));let r=t;const i=sWe(n),s=[];let a=r;for(;r!==i;)if(s.unshift(r),a=r,r=jKe(r),r===a){r=i;for(const[e,t]of s.entries())s[e]=FKe(i,t);s.shift();break}let o=rWe(n,s).at(-1)||n;const c=sWe(o),u=s.length;let l=s.indexOf(c)+1;for(;l<u;l++){o=dWe(o,BKe(s[l]))}return o},fKe.getRootDirectory=fWe,fKe.init=KKe.init,fKe.deinit=KKe.deinit,fKe.pause=KKe.pause,fKe.start=KKe.start;var mWe={};const{basename:yWe,dirname:gWe}=mKe,{types:xWe}=rt,{createDirectory:TWe,getFileType:SWe,getFilename:bWe,findFile:EWe}=fKe,{__filesystem_name:PWe}=W4,{replaceWith:vWe,getProperty:AWe}=YW,{objectExpression:CWe,arrayExpression:wWe,stringLiteral:kWe,isArrayExpression:IWe,isStringLiteral:NWe,isTemplateLiteral:DWe,objectProperty:LWe}=xWe;mWe.report=()=>"Convert Simple Filesystem to Filesystem";const _We=e=>e.endsWith("/"),OWe=e=>{const t=_We(e)?"directory":"file";return LWe(kWe("type"),kWe(t))},MWe=e=>LWe(kWe("filename"),kWe(e)),FWe=e=>_We(e)?LWe(kWe("files"),wWe([])):null,BWe=e=>LWe(kWe("content"),kWe(e));function jWe(e,t){if(NWe(e))return e.value;if(DWe(e))return btoa(e.quasis[0].value.raw);throw Error(`☝️ Looks like wrong content type: '${e.type}' from file: '${t}'`)}mWe.fix=e=>{const t=wWe([]);for(const n of e.get("elements")){if(IWe(n)){const[e,r]=n.node.elements,{value:i}=e,s=jWe(r,n);t.elements.push(CWe([OWe(i),MWe(i),BWe(s)]));continue}if(NWe(n)){const{value:e}=n.node;t.elements.push(CWe([OWe(e),MWe(RWe(e)),FWe(e)].filter(Boolean)));continue}throw Error(`☝️ Looks like file '${n}' has wrong type: '${n.type}' expected: 'string | array'`)}!function(e,t){const[n,...r]=EWe(t,"*");for(const e of r){const t=bWe(e);UWe(t);const r=SWe(e),i=gWe(t),s=yWe(t),[a]=EWe(n,i);if(!a||"directory"!==SWe(a))throw Error(`☝️ Looks like directory '${i}/' is missing`);if("directory"===r){TWe(a,s);continue}AWe(a,"files").node.value.elements.push(e.node)}vWe(e,n)}(e,t)},mWe.traverse=({push:e})=>({[`${PWe}(__array)`]:t=>{const n=t.get("arguments.0");e(n)}});const RWe=e=>"/"===e?e:e.endsWith("/")?e.slice(0,-1):e;function UWe(e){if(!e.includes("/"))throw Error(`☝️ Looks like directory path is missing: '${e}'`)}var qWe={};const{types:JWe}=rt,{replaceWith:VWe,getProperty:KWe}=YW,{__filesystem_name:WWe}=W4,{findFile:XWe,getFilename:$We,getFileType:HWe}=fKe,{stringLiteral:zWe,arrayExpression:YWe}=JWe,{isArray:GWe}=Array,QWe=e=>"/"===e?e:`${e}/`;qWe.report=()=>"Convert Filesystem to Simple Filesystem",qWe.fix=(e,{files:t})=>{const n=[];for(const e of t){const t=$We(e),r=HWe(e),i=KWe(e,"content"),s=i?.node?.value;s?n.push([t,s.value]):"directory"!==r?n.push(t):n.push(QWe(t))}const r=[];for(const e of n)GWe(e)?r.push(YWe([zWe(e[0]),zWe(e[1])])):r.push(zWe(e));VWe(e,YWe(r))},qWe.traverse=({push:e})=>({[`${WWe}(__object)`]:t=>{const n=t.get("arguments.0"),r=XWe(n,"*");e(n,{files:r})}});const ZWe=iU,{compare:eXe}=zje,{__filesystem_name:tXe}=W4,{findFile:nXe,pause:rXe,start:iXe}=fKe,sXe=mWe,aXe=qWe,{createDebug:oXe}=RBe,cXe=oXe("putout:runner:scanner");hKe.scan=({rule:e,plugin:t,msg:n,options:r},{progress:i})=>{const{scan:s,report:a,fix:o}=t;i.inc();return{rule:e,msg:n,options:r,plugin:{report:a,fix:o,traverse:lXe({scan:s,rule:e,progress:i})}}};const uXe=({push:e,rule:t,progress:n})=>(...r)=>{n.push(t),e(...r)},lXe=({scan:e,rule:t,progress:n})=>({push:r,options:i})=>({[`${tXe}(__)`](s){cXe(t),n.start(t);const a=s.get("arguments.0"),o=ZWe(!1),c=(({rule:e,progress:t})=>({i:n,n:r})=>{++n;const i=`${Math.round(n/r*100)}%`;t.file({i:n,n:r,percent:i,rule:e})})({rule:t,progress:n}),u=(e=>function*(...t){const n=nXe(...t),r=n.length;for(const[t,i]of n.entries())e({i:t,n:r}),yield i})(c);dXe(sXe,{shouldConvert:!0,path:s,isSimple:o}),e(a,{push:uXe({push:r,rule:t,progress:n}),progress:c,trackFile:u,options:i}),dXe(aXe,{shouldConvert:o(),path:s,isSimple:o}),n.end(t)}}),pXe=({fix:e,isSimple:t})=>(...n)=>(t(!0),e(...n));function dXe(e,{path:t,isSimple:n,shouldConvert:r=!0}){const{traverse:i,fix:s}=e;if(!r)return;const a=i({push:pXe({fix:s,isSimple:n})}),[o,c]=function(e){const t=e[`${tXe}(__object)`],n=e[`${tXe}(__array)`];return t?[t,`${tXe}(__object)`]:[n,`${tXe}(__array)`]}(a);eXe(t,c)&&(rXe(),o(t),iXe())}const{traverse:hXe}=rt,fXe=yMe,{createDebug:mXe}=RBe,yXe=uje,gXe=Uje,xXe=Xje,TXe=AJe,{createProgress:SXe}=CJe,{tryThrowWithReason:bXe}=BJe,{include:EXe}=RJe,{replace:PXe,clearWatermark:vXe}=$Je,{declare:AXe}=jVe,{scan:CXe}=hKe,{getPath:wXe,getPosition:kXe}=lje,IXe=mXe("putout:runner:find"),NXe=e=>e?.removed;jBe.runPlugins=({ast:e,shebang:t,fix:n,fixCount:r=2,plugins:i,progress:s=SXe(),traverse:a=hXe})=>{let o=[];const c=fXe(gXe),{pluginsFind:u,pluginsTraverse:l}=function(e,{progress:t}){const n=[],r=[];for(const i of e){const{plugin:e}=i;e.find?n.push(i):e.traverse?r.push(i):e.replace?r.push(EXe(PXe(i))):e.declare?r.push(EXe(AXe(i))):e.include?r.push(EXe(i)):e.scan&&r.push(CXe(i,{progress:t}))}return{pluginsFind:n,pluginsTraverse:r}}(i,{progress:s});for(let i=0;i<r;i++){if(o=DXe({ast:e,fix:n,shebang:t,pluginsFind:u,pluginsTraverse:l,merge:c,template:TXe,traverse:a}),s.reset(),!n||!o.length)return o;vXe(e)}return o},jBe.getPosition=kXe;const DXe=({ast:e,fix:t,shebang:n,pluginsFind:r,pluginsTraverse:i,template:s,merge:a,traverse:o})=>[..._Xe({ast:e,fix:t,shebang:n,template:s,pluginsFind:r,traverse:o}),...LXe({ast:e,fix:t,shebang:n,template:s,pluginsTraverse:i,merge:a,traverse:o})];function LXe({ast:e,fix:t,shebang:n,template:r,pluginsTraverse:i,merge:s,traverse:a}){const{entries:o,visitor:c}=s(i,{fix:t,shebang:n,template:r});bXe(a,e,c);const u=[];for(const[e,t]of o){const n=t();for(const{message:t,position:r}of n)u.push({rule:e,message:t,position:r})}return u}function _Xe({ast:e,fix:t,shebang:n,template:r,pluginsFind:i,traverse:s}){const a=[];for(const{rule:o,plugin:c,msg:u,options:l}of i){IXe(`find: ${o}`);const{report:i,find:p}=c,d=bXe(xXe,{rule:o,find:p,ast:e,options:l,fix:t,shebang:n,template:r,traverse:s});if(d.length)for(const e of d){const r=u||i(e),{parentPath:s}=wXe(e),p=kXe(e,n);a.push({rule:o,message:r,position:p}),NXe(s)||yXe(t,c.fix,{path:e,rule:o,position:p,options:l})}}return a}const OXe=(e={})=>{const{parser:t="babel",printer:n=e.printer||"putout",fix:r=!0,fixCount:i=3,loadPlugins:s=LBe,loadPluginsAsync:a=wBe,runPlugins:o=jBe.runPlugins,progress:c=FJe()}=e;return{...e,parser:t,printer:n,fix:r,fixCount:i,loadPlugins:s,loadPluginsAsync:a,runPlugins:o,progress:c}};var MXe=t(Object.freeze({__proto__:null,defaultOptions:OXe})),FXe={exports:{}};const BXe=(e,...t)=>{try{return[null,e(...t)]}catch(e){return[e]}};var jXe=t(Object.freeze({__proto__:null,default:BXe,tryCatch:BXe}));const{tryCatch:RXe}=jXe;FXe.exports=RXe;var UXe=FXe.exports.tryCatch=RXe;const qXe=e=>e.replace(/\s\(\d:\d+\)/,""),JXe=e=>e?((e,t="parser")=>{const{line:n,column:r}=e.loc||{line:1,column:1};return[{rule:e.rule?`${e.rule} (parser)`:t,message:qXe(e.message),position:{line:n,column:r}}]})(e,"loader"):[],VXe=(e,t,n)=>{n=OXe(n);const{plugins:r,cache:i,rules:s,fix:a,fixCount:o,loadPlugins:c,runPlugins:u,progress:l}=n,[,p]=bFe(t),[d]=UXe(xBe,{rules:s,pluginNames:r}),h=u({ast:e,shebang:p,fix:a,fixCount:o,plugins:c({pluginNames:r,cache:i,rules:s}),progress:l});return[...JXe(d),...h]},KXe=async(e,t,n)=>{n=OXe(n);const{plugins:r,cache:i,rules:s,fix:a,fixCount:o,loadPluginsAsync:c,runPlugins:u,progress:l}=n,[,p]=bFe(t),[d]=UXe(xBe,{rules:s,pluginNames:r}),h=u({ast:e,shebang:p,fix:a,fixCount:o,plugins:await c({pluginNames:r,cache:i,rules:s}),progress:l});return[...JXe(d),...h]};var WXe=t(Object.freeze({__proto__:null,transform:VXe,transformAsync:KXe}));var XXe=t(Object.freeze({__proto__:null,findPlaces:(e,t,n)=>VXe(e,t,{...n,fix:!1}),findPlacesAsync:async(e,t,n)=>await KXe(e,t,{...n,fix:!1})})),$Xe={};const{types:HXe,traverse:zXe}=rt,{compare:YXe,parseTemplate:GXe,isTemplate:QXe,getTemplateValues:ZXe}=zje,{isFile:e$e,isProgram:t$e}=HXe,{merge:n$e}=zXe.visitors,{entries:r$e}=Object;$Xe.traverse=a$e;const i$e=e=>{if((e=>Boolean(e.node))(e))return e.traverse.bind(e);const t=!e$e(e)&&!t$e(e);return n=>{zXe(e,{noScope:t,...n})}},s$e=([e])=>e;function a$e(e,t){const n=i$e(e),r=[],i=r$e(t);if(!i.map(s$e).find(QXe))return n(t);for(const[e,t]of i){if(!QXe(e)){r.push({[e]:t});continue}const[n,i]=GXe(e),s=o$e({fn:t,node:n,tmpl:e});r.push({[i]:s})}n(n$e(r))}const o$e=({fn:e,node:t,tmpl:n})=>r=>{YXe(r,t)&&e(r,ZXe(r.node,n))};$Xe.contains=(e,t)=>{let n=!1;const r=e=>{n=!0,e.stop()},i={};for(const e of t)i[e]=r;return a$e(e,i),n};var c$e={};const{setLiteralValue:u$e}=YW,{types:l$e}=rt,{isJSXElement:p$e,jsxAttribute:d$e,jsxIdentifier:h$e,stringLiteral:f$e}=l$e,m$e=e=>e.node||e;function y$e(e,t){let n=null;const r=m$e(e),{attributes:i}=r.openingElement;for(const e of i)if(e.name.name===t){n=e;break}return n}function g$e(e,t){const n=y$e(e,t);return n?n.value.value:""}function x$e(e,t,n){const r=y$e(e,t);if(!r)return T$e(e,t,n);r.value.value.includes(n)||u$e(r.value,`${r.value.value} ${n}`)}function T$e(e,t,n){const r=m$e(e);let i=y$e(r,t);i||(i=d$e(h$e(t),f$e(n)),r.openingElement.attributes.push(i))}function S$e(e,t,n){if(!e)return;const r=y$e(e.node||e,t),{value:i}=r.value;if(!i.includes(n))return;const s=i.replace(RegExp(`\\s?${n}`),"").trim();u$e(r.value,s)}function b$e(e){return g$e(e,"className")}c$e.hasTagName=(e,t)=>{const n=m$e(e);return!!p$e(e)&&n.openingElement.name.name===t},c$e.getAttributePath=(e,t)=>{const n=e.get("openingElement.attributes");for(const e of n)if(e.node.name.name===t)return e;return null},c$e.getAttributeNode=y$e,c$e.getAttributeValue=g$e,c$e.addAttributeValue=x$e,c$e.addAttribute=T$e,c$e.removeAttributeValue=S$e,c$e.setAttributeValue=(e,t,n)=>{const r=y$e(e,t);if(!r)return T$e(e,t,n);u$e(r.value,n)},c$e.addClassName=(e,t)=>{x$e(e,"className",t)},c$e.getClassName=b$e,c$e.removeClassName=(e,t)=>{S$e(e,"className",t)},c$e.containsClassName=(e,t)=>b$e(e).includes(t),c$e.hasDataName=(e,t="")=>g$e(e,"data-name")===t,c$e.hasAttributeValue=(e,t,n="")=>g$e(e,t)===n;var E$e={_hasUFlag:!1,shouldRun:function(e){var t=e.flags.includes("s");return!!t&&(e.flags=e.flags.replace("s",""),this._hasUFlag=e.flags.includes("u"),!0)},Char:function(e){var t=e.node;if("meta"===t.kind&&"."===t.value){var n="\\uFFFF",r="";this._hasUFlag&&(n="\\u{10FFFF}",r=""),e.replace({type:"CharacterClass",expressions:[{type:"ClassRange",from:{type:"Char",value:"\\0",kind:"decimal",symbol:"\0"},to:{type:"Char",value:n,kind:"unicode",symbol:r}}]})}}},P$e={_groupNames:{},init:function(){this._groupNames={}},getExtra:function(){return this._groupNames},Group:function(e){var t=e.node;t.name&&(this._groupNames[t.name]=t.number,delete t.name,delete t.nameRaw)},Backreference:function(e){var t=e.node;"name"===t.kind&&(t.kind="number",t.reference=t.number,delete t.referenceRaw)}},v$e={RegExp:function(e){var t=e.node;t.flags.includes("x")&&(t.flags=t.flags.replace("x",""))}},A$e={dotAll:E$e,namedCapturingGroups:P$e,xFlag:v$e};function C$e(e){return e?w$e[e.type](e):""}var w$e={RegExp:function(e){return"/"+C$e(e.body)+"/"+e.flags},Alternative:function(e){return(e.expressions||[]).map(C$e).join("")},Disjunction:function(e){return C$e(e.left)+"|"+C$e(e.right)},Group:function(e){var t=C$e(e.expression);return e.capturing?e.name?"(?<"+(e.nameRaw||e.name)+">"+t+")":"("+t+")":"(?:"+t+")"},Backreference:function(e){switch(e.kind){case"number":return"\\"+e.reference;case"name":return"\\k<"+(e.referenceRaw||e.reference)+">";default:throw new TypeError("Unknown Backreference kind: "+e.kind)}},Assertion:function(e){switch(e.kind){case"^":case"$":case"\\b":case"\\B":return e.kind;case"Lookahead":var t=C$e(e.assertion);return e.negative?"(?!"+t+")":"(?="+t+")";case"Lookbehind":var n=C$e(e.assertion);return e.negative?"(?<!"+n+")":"(?<="+n+")";default:throw new TypeError("Unknown Assertion kind: "+e.kind)}},CharacterClass:function(e){var t=e.expressions.map(C$e).join("");return e.negative?"[^"+t+"]":"["+t+"]"},ClassRange:function(e){return C$e(e.from)+"-"+C$e(e.to)},Repetition:function(e){return""+C$e(e.expression)+C$e(e.quantifier)},Quantifier:function(e){var t=void 0,n=e.greedy?"":"?";switch(e.kind){case"+":case"?":case"*":t=e.kind;break;case"Range":t=e.from===e.to?"{"+e.from+"}":e.to?"{"+e.from+","+e.to+"}":"{"+e.from+",}";break;default:throw new TypeError("Unknown Quantifier kind: "+e.kind)}return""+t+n},Char:function(e){var t=e.value;switch(e.kind){case"simple":return e.escaped?"\\"+t:t;case"hex":case"unicode":case"oct":case"decimal":case"control":case"meta":return t;default:throw new TypeError("Unknown Char kind: "+e.kind)}},UnicodeProperty:function(e){return"\\"+(e.negative?"P":"p")+"{"+(e.shorthand||e.binary?"":e.name+"=")+e.value+"}"}},k$e={generate:C$e},I$e={General_Category:"gc",Script:"sc",Script_Extensions:"scx"},N$e=B$e(I$e),D$e={ASCII:"ASCII",ASCII_Hex_Digit:"AHex",Alphabetic:"Alpha",Any:"Any",Assigned:"Assigned",Bidi_Control:"Bidi_C",Bidi_Mirrored:"Bidi_M",Case_Ignorable:"CI",Cased:"Cased",Changes_When_Casefolded:"CWCF",Changes_When_Casemapped:"CWCM",Changes_When_Lowercased:"CWL",Changes_When_NFKC_Casefolded:"CWKCF",Changes_When_Titlecased:"CWT",Changes_When_Uppercased:"CWU",Dash:"Dash",Default_Ignorable_Code_Point:"DI",Deprecated:"Dep",Diacritic:"Dia",Emoji:"Emoji",Emoji_Component:"Emoji_Component",Emoji_Modifier:"Emoji_Modifier",Emoji_Modifier_Base:"Emoji_Modifier_Base",Emoji_Presentation:"Emoji_Presentation",Extended_Pictographic:"Extended_Pictographic",Extender:"Ext",Grapheme_Base:"Gr_Base",Grapheme_Extend:"Gr_Ext",Hex_Digit:"Hex",IDS_Binary_Operator:"IDSB",IDS_Trinary_Operator:"IDST",ID_Continue:"IDC",ID_Start:"IDS",Ideographic:"Ideo",Join_Control:"Join_C",Logical_Order_Exception:"LOE",Lowercase:"Lower",Math:"Math",Noncharacter_Code_Point:"NChar",Pattern_Syntax:"Pat_Syn",Pattern_White_Space:"Pat_WS",Quotation_Mark:"QMark",Radical:"Radical",Regional_Indicator:"RI",Sentence_Terminal:"STerm",Soft_Dotted:"SD",Terminal_Punctuation:"Term",Unified_Ideograph:"UIdeo",Uppercase:"Upper",Variation_Selector:"VS",White_Space:"space",XID_Continue:"XIDC",XID_Start:"XIDS"},L$e=B$e(D$e),_$e={Cased_Letter:"LC",Close_Punctuation:"Pe",Connector_Punctuation:"Pc",Control:["Cc","cntrl"],Currency_Symbol:"Sc",Dash_Punctuation:"Pd",Decimal_Number:["Nd","digit"],Enclosing_Mark:"Me",Final_Punctuation:"Pf",Format:"Cf",Initial_Punctuation:"Pi",Letter:"L",Letter_Number:"Nl",Line_Separator:"Zl",Lowercase_Letter:"Ll",Mark:["M","Combining_Mark"],Math_Symbol:"Sm",Modifier_Letter:"Lm",Modifier_Symbol:"Sk",Nonspacing_Mark:"Mn",Number:"N",Open_Punctuation:"Ps",Other:"C",Other_Letter:"Lo",Other_Number:"No",Other_Punctuation:"Po",Other_Symbol:"So",Paragraph_Separator:"Zp",Private_Use:"Co",Punctuation:["P","punct"],Separator:"Z",Space_Separator:"Zs",Spacing_Mark:"Mc",Surrogate:"Cs",Symbol:"S",Titlecase_Letter:"Lt",Unassigned:"Cn",Uppercase_Letter:"Lu"},O$e=B$e(_$e),M$e={Adlam:"Adlm",Ahom:"Ahom",Anatolian_Hieroglyphs:"Hluw",Arabic:"Arab",Armenian:"Armn",Avestan:"Avst",Balinese:"Bali",Bamum:"Bamu",Bassa_Vah:"Bass",Batak:"Batk",Bengali:"Beng",Bhaiksuki:"Bhks",Bopomofo:"Bopo",Brahmi:"Brah",Braille:"Brai",Buginese:"Bugi",Buhid:"Buhd",Canadian_Aboriginal:"Cans",Carian:"Cari",Caucasian_Albanian:"Aghb",Chakma:"Cakm",Cham:"Cham",Cherokee:"Cher",Common:"Zyyy",Coptic:["Copt","Qaac"],Cuneiform:"Xsux",Cypriot:"Cprt",Cyrillic:"Cyrl",Deseret:"Dsrt",Devanagari:"Deva",Dogra:"Dogr",Duployan:"Dupl",Egyptian_Hieroglyphs:"Egyp",Elbasan:"Elba",Ethiopic:"Ethi",Georgian:"Geor",Glagolitic:"Glag",Gothic:"Goth",Grantha:"Gran",Greek:"Grek",Gujarati:"Gujr",Gunjala_Gondi:"Gong",Gurmukhi:"Guru",Han:"Hani",Hangul:"Hang",Hanifi_Rohingya:"Rohg",Hanunoo:"Hano",Hatran:"Hatr",Hebrew:"Hebr",Hiragana:"Hira",Imperial_Aramaic:"Armi",Inherited:["Zinh","Qaai"],Inscriptional_Pahlavi:"Phli",Inscriptional_Parthian:"Prti",Javanese:"Java",Kaithi:"Kthi",Kannada:"Knda",Katakana:"Kana",Kayah_Li:"Kali",Kharoshthi:"Khar",Khmer:"Khmr",Khojki:"Khoj",Khudawadi:"Sind",Lao:"Laoo",Latin:"Latn",Lepcha:"Lepc",Limbu:"Limb",Linear_A:"Lina",Linear_B:"Linb",Lisu:"Lisu",Lycian:"Lyci",Lydian:"Lydi",Mahajani:"Mahj",Makasar:"Maka",Malayalam:"Mlym",Mandaic:"Mand",Manichaean:"Mani",Marchen:"Marc",Medefaidrin:"Medf",Masaram_Gondi:"Gonm",Meetei_Mayek:"Mtei",Mende_Kikakui:"Mend",Meroitic_Cursive:"Merc",Meroitic_Hieroglyphs:"Mero",Miao:"Plrd",Modi:"Modi",Mongolian:"Mong",Mro:"Mroo",Multani:"Mult",Myanmar:"Mymr",Nabataean:"Nbat",New_Tai_Lue:"Talu",Newa:"Newa",Nko:"Nkoo",Nushu:"Nshu",Ogham:"Ogam",Ol_Chiki:"Olck",Old_Hungarian:"Hung",Old_Italic:"Ital",Old_North_Arabian:"Narb",Old_Permic:"Perm",Old_Persian:"Xpeo",Old_Sogdian:"Sogo",Old_South_Arabian:"Sarb",Old_Turkic:"Orkh",Oriya:"Orya",Osage:"Osge",Osmanya:"Osma",Pahawh_Hmong:"Hmng",Palmyrene:"Palm",Pau_Cin_Hau:"Pauc",Phags_Pa:"Phag",Phoenician:"Phnx",Psalter_Pahlavi:"Phlp",Rejang:"Rjng",Runic:"Runr",Samaritan:"Samr",Saurashtra:"Saur",Sharada:"Shrd",Shavian:"Shaw",Siddham:"Sidd",SignWriting:"Sgnw",Sinhala:"Sinh",Sogdian:"Sogd",Sora_Sompeng:"Sora",Soyombo:"Soyo",Sundanese:"Sund",Syloti_Nagri:"Sylo",Syriac:"Syrc",Tagalog:"Tglg",Tagbanwa:"Tagb",Tai_Le:"Tale",Tai_Tham:"Lana",Tai_Viet:"Tavt",Takri:"Takr",Tamil:"Taml",Tangut:"Tang",Telugu:"Telu",Thaana:"Thaa",Thai:"Thai",Tibetan:"Tibt",Tifinagh:"Tfng",Tirhuta:"Tirh",Ugaritic:"Ugar",Vai:"Vaii",Warang_Citi:"Wara",Yi:"Yiii",Zanabazar_Square:"Zanb"},F$e=B$e(M$e);function B$e(e){var t={};for(var n in e)if(e.hasOwnProperty(n)){var r=e[n];if(Array.isArray(r))for(var i=0;i<r.length;i++)t[r[i]]=n;else t[r]=n}return t}function j$e(e){return _$e.hasOwnProperty(e)||O$e.hasOwnProperty(e)}function R$e(e){return M$e.hasOwnProperty(e)||F$e.hasOwnProperty(e)}var U$e={isAlias:function(e){return N$e.hasOwnProperty(e)||L$e.hasOwnProperty(e)},isValidName:function(e){return I$e.hasOwnProperty(e)||N$e.hasOwnProperty(e)||D$e.hasOwnProperty(e)||L$e.hasOwnProperty(e)},isValidValue:function(e,t){return function(e){return"General_Category"===e||"gc"==e}(e)?j$e(t):!!function(e){return"Script"===e||"Script_Extensions"===e||"sc"===e||"scx"===e}(e)&&R$e(t)},isGeneralCategoryValue:j$e,isScriptCategoryValue:R$e,isBinaryPropertyName:function(e){return D$e.hasOwnProperty(e)||L$e.hasOwnProperty(e)},getCanonicalName:function(e){return N$e.hasOwnProperty(e)?N$e[e]:L$e.hasOwnProperty(e)?L$e[e]:null},getCanonicalValue:function(e){return O$e.hasOwnProperty(e)?O$e[e]:F$e.hasOwnProperty(e)?F$e[e]:L$e.hasOwnProperty(e)?L$e[e]:null},NON_BINARY_PROP_NAMES_TO_ALIASES:I$e,NON_BINARY_ALIASES_TO_PROP_NAMES:N$e,BINARY_PROP_NAMES_TO_ALIASES:D$e,BINARY_ALIASES_TO_PROP_NAMES:L$e,GENERAL_CATEGORY_VALUE_TO_ALIASES:_$e,GENERAL_CATEGORY_VALUE_ALIASES_TO_VALUES:O$e,SCRIPT_VALUE_TO_ALIASES:M$e,SCRIPT_VALUE_ALIASES_TO_VALUE:F$e},q$e=function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return function(e,t){var n=[],r=!0,i=!1,s=void 0;try{for(var a,o=e[Symbol.iterator]();!(r=(a=o.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(e){i=!0,s=e}finally{try{!r&&o.return&&o.return()}finally{if(i)throw s}}return n}(e,t);throw new TypeError("Invalid attempt to destructure non-iterable instance")};function J$e(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}var V$e=void 0,K$e={},W$e=void 0,X$e=void 0;function $$e(e,t){return K$e.options.captureLocations?e&&t?{startOffset:e.startOffset,endOffset:t.endOffset,startLine:e.startLine,endLine:t.endLine,startColumn:e.startColumn,endColumn:t.endColumn}:e||t:null}var H$e=[[-1,1,function(e,t){X$e=$$e(t,t),W$e=e}],[0,4,function(e,t,n,r,i,s,a,o){X$e=$$e(i,o),W$e=xHe({type:"RegExp",body:t,flags:pHe(r)},THe(i,o||a))}],[1,1,function(e,t){X$e=$$e(t,t),W$e=e}],[1,0,function(){X$e=null,W$e=""}],[2,1,function(e,t){X$e=$$e(t,t),W$e=e}],[2,2,function(e,t,n,r){X$e=$$e(n,r),W$e=e+t}],[3,1,function(e,t){X$e=$$e(t,t),W$e=e}],[4,1,function(e,t){X$e=$$e(t,t),W$e=e}],[4,3,function(e,t,n,r,i,s){X$e=$$e(r,s);var a=null;i&&(a=THe(r||i,s||i)),W$e=xHe({type:"Disjunction",left:e,right:n},a)}],[5,1,function(e,t){X$e=$$e(t,t),W$e=0!==e.length?1===e.length?xHe(e[0],X$e):xHe({type:"Alternative",expressions:e},X$e):null}],[6,0,function(){X$e=null,W$e=[]}],[6,2,function(e,t,n,r){X$e=$$e(n,r),W$e=e.concat(t)}],[7,1,function(e,t){X$e=$$e(t,t),W$e=xHe(Object.assign({type:"Assertion"},e),X$e)}],[7,2,function(e,t,n,r){X$e=$$e(n,r),W$e=e,t&&(W$e=xHe({type:"Repetition",expression:e,quantifier:t},X$e))}],[8,1,function(e,t){X$e=$$e(t,t),W$e={kind:"^"}}],[8,1,function(e,t){X$e=$$e(t,t),W$e={kind:"$"}}],[8,1,function(e,t){X$e=$$e(t,t),W$e={kind:"\\b"}}],[8,1,function(e,t){X$e=$$e(t,t),W$e={kind:"\\B"}}],[8,3,function(e,t,n,r,i,s){X$e=$$e(r,s),W$e={kind:"Lookahead",assertion:t}}],[8,3,function(e,t,n,r,i,s){X$e=$$e(r,s),W$e={kind:"Lookahead",negative:!0,assertion:t}}],[8,3,function(e,t,n,r,i,s){X$e=$$e(r,s),W$e={kind:"Lookbehind",assertion:t}}],[8,3,function(e,t,n,r,i,s){X$e=$$e(r,s),W$e={kind:"Lookbehind",negative:!0,assertion:t}}],[9,1,function(e,t){X$e=$$e(t,t),W$e=e}],[9,1,function(e,t){X$e=$$e(t,t),W$e=e}],[9,1,function(e,t){X$e=$$e(t,t),W$e=e}],[10,1,function(e,t){X$e=$$e(t,t),W$e=uHe(e,"simple",X$e)}],[10,1,function(e,t){X$e=$$e(t,t),(W$e=uHe(e.slice(1),"simple",X$e)).escaped=!0}],[10,1,function(e,t){X$e=$$e(t,t),(W$e=uHe(e,"unicode",X$e)).isSurrogatePair=!0}],[10,1,function(e,t){X$e=$$e(t,t),W$e=uHe(e,"unicode",X$e)}],[10,1,function(e,t){X$e=$$e(t,t),W$e=function(e,t){var n="P"===e[1],r=e.indexOf("="),i=e.slice(3,-1!==r?r:-1),s=void 0,a=-1===r&&cHe.isGeneralCategoryValue(i),o=-1===r&&cHe.isBinaryPropertyName(i);if(a)s=i,i="General_Category";else if(o)s=i;else{if(!cHe.isValidName(i))throw new SyntaxError("Invalid unicode property name: "+i+".");if(s=e.slice(r+1,-1),!cHe.isValidValue(i,s))throw new SyntaxError("Invalid "+i+" unicode property value: "+s+".")}return xHe({type:"UnicodeProperty",name:i,value:s,negative:n,shorthand:a,binary:o,canonicalName:cHe.getCanonicalName(i)||i,canonicalValue:cHe.getCanonicalValue(s)||s},t)}(e,X$e)}],[10,1,function(e,t){X$e=$$e(t,t),W$e=uHe(e,"control",X$e)}],[10,1,function(e,t){X$e=$$e(t,t),W$e=uHe(e,"hex",X$e)}],[10,1,function(e,t){X$e=$$e(t,t),W$e=uHe(e,"oct",X$e)}],[10,1,function(e,t){X$e=$$e(t,t),W$e=function(e,t){var n=Number(e.slice(1));if(n>0&&n<=rHe)return xHe({type:"Backreference",kind:"number",number:n,reference:n},t);return uHe(e,"decimal",t)}(e,X$e)}],[10,1,function(e,t){X$e=$$e(t,t),W$e=uHe(e,"meta",X$e)}],[10,1,function(e,t){X$e=$$e(t,t),W$e=uHe(e,"meta",X$e)}],[10,1,function(e,t){X$e=$$e(t,t),W$e=function(e,t){var n=e.slice(3,-1),r=gHe(n);if(iHe.hasOwnProperty(r))return xHe({type:"Backreference",kind:"name",number:iHe[r],reference:r,referenceRaw:n},t);var i=null,s=null,a=null,o=null;t&&(i=t.startOffset,s=t.startLine,a=t.endLine,o=t.startColumn);var c=/^[\w$<>]/,u=void 0,l=[uHe(e.slice(1,2),"simple",i?{startLine:s,endLine:a,startColumn:o,startOffset:i,endOffset:i+=2,endColumn:o+=2}:null)];l[0].escaped=!0,e=e.slice(2);for(;e.length>0;){var p=null;(p=e.match(dHe))||(p=e.match(hHe))?(i&&(u={startLine:s,endLine:a,startColumn:o,startOffset:i,endOffset:i+=p[0].length,endColumn:o+=p[0].length}),l.push(uHe(p[0],"unicode",u)),e=e.slice(p[0].length)):(p=e.match(c))&&(i&&(u={startLine:s,endLine:a,startColumn:o,startOffset:i,endOffset:++i,endColumn:++o}),l.push(uHe(p[0],"simple",u)),e=e.slice(1))}return l}(e,t)}],[11,1,function(e,t){X$e=$$e(t,t),W$e=e}],[11,0],[12,1,function(e,t){X$e=$$e(t,t),W$e=e}],[12,2,function(e,t,n,r){X$e=$$e(n,r),e.greedy=!1,W$e=e}],[13,1,function(e,t){X$e=$$e(t,t),W$e=xHe({type:"Quantifier",kind:e,greedy:!0},X$e)}],[13,1,function(e,t){X$e=$$e(t,t),W$e=xHe({type:"Quantifier",kind:e,greedy:!0},X$e)}],[13,1,function(e,t){X$e=$$e(t,t),W$e=xHe({type:"Quantifier",kind:e,greedy:!0},X$e)}],[13,1,function(e,t){X$e=$$e(t,t);var n=aHe(e);W$e=xHe({type:"Quantifier",kind:"Range",from:n[0],to:n[0],greedy:!0},X$e)}],[13,1,function(e,t){X$e=$$e(t,t),W$e=xHe({type:"Quantifier",kind:"Range",from:aHe(e)[0],greedy:!0},X$e)}],[13,1,function(e,t){X$e=$$e(t,t);var n=aHe(e);W$e=xHe({type:"Quantifier",kind:"Range",from:n[0],to:n[1],greedy:!0},X$e)}],[14,1,function(e,t){X$e=$$e(t,t),W$e=e}],[14,1,function(e,t){X$e=$$e(t,t),W$e=e}],[15,3,function(e,t,n,r,i,s){X$e=$$e(r,s);var a=String(e),o=gHe(a);if(!K$e.options.allowGroupNameDuplicates&&iHe.hasOwnProperty(o))throw new SyntaxError('Duplicate of the named group "'+o+'".');iHe[o]=e.groupNumber,W$e=xHe({type:"Group",capturing:!0,name:o,nameRaw:a,number:e.groupNumber,expression:t},X$e)}],[15,3,function(e,t,n,r,i,s){X$e=$$e(r,s),W$e=xHe({type:"Group",capturing:!0,number:e.groupNumber,expression:t},X$e)}],[16,3,function(e,t,n,r,i,s){X$e=$$e(r,s),W$e=xHe({type:"Group",capturing:!1,expression:t},X$e)}],[17,3,function(e,t,n,r,i,s){X$e=$$e(r,s),W$e=xHe({type:"CharacterClass",negative:!0,expressions:t},X$e)}],[17,3,function(e,t,n,r,i,s){X$e=$$e(r,s),W$e=xHe({type:"CharacterClass",expressions:t},X$e)}],[18,0,function(){X$e=null,W$e=[]}],[18,1,function(e,t){X$e=$$e(t,t),W$e=e}],[19,1,function(e,t){X$e=$$e(t,t),W$e=[e]}],[19,2,function(e,t,n,r){X$e=$$e(n,r),W$e=[e].concat(t)}],[19,4,function(e,t,n,r,i,s,a,o){X$e=$$e(i,o),oHe(e,n),W$e=[xHe({type:"ClassRange",from:e,to:n},THe(i,a))],r&&(W$e=W$e.concat(r))}],[20,1,function(e,t){X$e=$$e(t,t),W$e=e}],[20,2,function(e,t,n,r){X$e=$$e(n,r),W$e=[e].concat(t)}],[20,4,function(e,t,n,r,i,s,a,o){X$e=$$e(i,o),oHe(e,n),W$e=[xHe({type:"ClassRange",from:e,to:n},THe(i,a))],r&&(W$e=W$e.concat(r))}],[21,1,function(e,t){X$e=$$e(t,t),W$e=uHe(e,"simple",X$e)}],[21,1,function(e,t){X$e=$$e(t,t),W$e=e}],[22,1,function(e,t){X$e=$$e(t,t),W$e=e}],[22,1,function(e,t){X$e=$$e(t,t),W$e=uHe(e,"meta",X$e)}]],z$e={SLASH:"23",CHAR:"24",BAR:"25",BOS:"26",EOS:"27",ESC_b:"28",ESC_B:"29",POS_LA_ASSERT:"30",R_PAREN:"31",NEG_LA_ASSERT:"32",POS_LB_ASSERT:"33",NEG_LB_ASSERT:"34",ESC_CHAR:"35",U_CODE_SURROGATE:"36",U_CODE:"37",U_PROP_VALUE_EXP:"38",CTRL_CH:"39",HEX_CODE:"40",OCT_CODE:"41",DEC_CODE:"42",META_CHAR:"43",ANY:"44",NAMED_GROUP_REF:"45",Q_MARK:"46",STAR:"47",PLUS:"48",RANGE_EXACT:"49",RANGE_OPEN:"50",RANGE_CLOSED:"51",NAMED_CAPTURE_GROUP:"52",L_PAREN:"53",NON_CAPTURE_GROUP:"54",NEG_CLASS:"55",R_BRACKET:"56",L_BRACKET:"57",DASH:"58",$:"59"},Y$e=[{0:1,23:"s2"},{59:"acc"},{3:3,4:4,5:5,6:6,23:"r10",24:"r10",25:"r10",26:"r10",27:"r10",28:"r10",29:"r10",30:"r10",32:"r10",33:"r10",34:"r10",35:"r10",36:"r10",37:"r10",38:"r10",39:"r10",40:"r10",41:"r10",42:"r10",43:"r10",44:"r10",45:"r10",52:"r10",53:"r10",54:"r10",55:"r10",57:"r10"},{23:"s7"},{23:"r6",25:"s12"},{23:"r7",25:"r7",31:"r7"},{7:14,8:15,9:16,10:25,14:27,15:42,16:43,17:26,23:"r9",24:"s28",25:"r9",26:"s17",27:"s18",28:"s19",29:"s20",30:"s21",31:"r9",32:"s22",33:"s23",34:"s24",35:"s29",36:"s30",37:"s31",38:"s32",39:"s33",40:"s34",41:"s35",42:"s36",43:"s37",44:"s38",45:"s39",52:"s44",53:"s45",54:"s46",55:"s40",57:"s41"},{1:8,2:9,24:"s10",59:"r3"},{59:"r1"},{24:"s11",59:"r2"},{24:"r4",59:"r4"},{24:"r5",59:"r5"},{5:13,6:6,23:"r10",24:"r10",25:"r10",26:"r10",27:"r10",28:"r10",29:"r10",30:"r10",31:"r10",32:"r10",33:"r10",34:"r10",35:"r10",36:"r10",37:"r10",38:"r10",39:"r10",40:"r10",41:"r10",42:"r10",43:"r10",44:"r10",45:"r10",52:"r10",53:"r10",54:"r10",55:"r10",57:"r10"},{23:"r8",25:"r8",31:"r8"},{23:"r11",24:"r11",25:"r11",26:"r11",27:"r11",28:"r11",29:"r11",30:"r11",31:"r11",32:"r11",33:"r11",34:"r11",35:"r11",36:"r11",37:"r11",38:"r11",39:"r11",40:"r11",41:"r11",42:"r11",43:"r11",44:"r11",45:"r11",52:"r11",53:"r11",54:"r11",55:"r11",57:"r11"},{23:"r12",24:"r12",25:"r12",26:"r12",27:"r12",28:"r12",29:"r12",30:"r12",31:"r12",32:"r12",33:"r12",34:"r12",35:"r12",36:"r12",37:"r12",38:"r12",39:"r12",40:"r12",41:"r12",42:"r12",43:"r12",44:"r12",45:"r12",52:"r12",53:"r12",54:"r12",55:"r12",57:"r12"},{11:47,12:48,13:49,23:"r38",24:"r38",25:"r38",26:"r38",27:"r38",28:"r38",29:"r38",30:"r38",31:"r38",32:"r38",33:"r38",34:"r38",35:"r38",36:"r38",37:"r38",38:"r38",39:"r38",40:"r38",41:"r38",42:"r38",43:"r38",44:"r38",45:"r38",46:"s52",47:"s50",48:"s51",49:"s53",50:"s54",51:"s55",52:"r38",53:"r38",54:"r38",55:"r38",57:"r38"},{23:"r14",24:"r14",25:"r14",26:"r14",27:"r14",28:"r14",29:"r14",30:"r14",31:"r14",32:"r14",33:"r14",34:"r14",35:"r14",36:"r14",37:"r14",38:"r14",39:"r14",40:"r14",41:"r14",42:"r14",43:"r14",44:"r14",45:"r14",52:"r14",53:"r14",54:"r14",55:"r14",57:"r14"},{23:"r15",24:"r15",25:"r15",26:"r15",27:"r15",28:"r15",29:"r15",30:"r15",31:"r15",32:"r15",33:"r15",34:"r15",35:"r15",36:"r15",37:"r15",38:"r15",39:"r15",40:"r15",41:"r15",42:"r15",43:"r15",44:"r15",45:"r15",52:"r15",53:"r15",54:"r15",55:"r15",57:"r15"},{23:"r16",24:"r16",25:"r16",26:"r16",27:"r16",28:"r16",29:"r16",30:"r16",31:"r16",32:"r16",33:"r16",34:"r16",35:"r16",36:"r16",37:"r16",38:"r16",39:"r16",40:"r16",41:"r16",42:"r16",43:"r16",44:"r16",45:"r16",52:"r16",53:"r16",54:"r16",55:"r16",57:"r16"},{23:"r17",24:"r17",25:"r17",26:"r17",27:"r17",28:"r17",29:"r17",30:"r17",31:"r17",32:"r17",33:"r17",34:"r17",35:"r17",36:"r17",37:"r17",38:"r17",39:"r17",40:"r17",41:"r17",42:"r17",43:"r17",44:"r17",45:"r17",52:"r17",53:"r17",54:"r17",55:"r17",57:"r17"},{4:57,5:5,6:6,24:"r10",25:"r10",26:"r10",27:"r10",28:"r10",29:"r10",30:"r10",31:"r10",32:"r10",33:"r10",34:"r10",35:"r10",36:"r10",37:"r10",38:"r10",39:"r10",40:"r10",41:"r10",42:"r10",43:"r10",44:"r10",45:"r10",52:"r10",53:"r10",54:"r10",55:"r10",57:"r10"},{4:59,5:5,6:6,24:"r10",25:"r10",26:"r10",27:"r10",28:"r10",29:"r10",30:"r10",31:"r10",32:"r10",33:"r10",34:"r10",35:"r10",36:"r10",37:"r10",38:"r10",39:"r10",40:"r10",41:"r10",42:"r10",43:"r10",44:"r10",45:"r10",52:"r10",53:"r10",54:"r10",55:"r10",57:"r10"},{4:61,5:5,6:6,24:"r10",25:"r10",26:"r10",27:"r10",28:"r10",29:"r10",30:"r10",31:"r10",32:"r10",33:"r10",34:"r10",35:"r10",36:"r10",37:"r10",38:"r10",39:"r10",40:"r10",41:"r10",42:"r10",43:"r10",44:"r10",45:"r10",52:"r10",53:"r10",54:"r10",55:"r10",57:"r10"},{4:63,5:5,6:6,24:"r10",25:"r10",26:"r10",27:"r10",28:"r10",29:"r10",30:"r10",31:"r10",32:"r10",33:"r10",34:"r10",35:"r10",36:"r10",37:"r10",38:"r10",39:"r10",40:"r10",41:"r10",42:"r10",43:"r10",44:"r10",45:"r10",52:"r10",53:"r10",54:"r10",55:"r10",57:"r10"},{23:"r22",24:"r22",25:"r22",26:"r22",27:"r22",28:"r22",29:"r22",30:"r22",31:"r22",32:"r22",33:"r22",34:"r22",35:"r22",36:"r22",37:"r22",38:"r22",39:"r22",40:"r22",41:"r22",42:"r22",43:"r22",44:"r22",45:"r22",46:"r22",47:"r22",48:"r22",49:"r22",50:"r22",51:"r22",52:"r22",53:"r22",54:"r22",55:"r22",57:"r22"},{23:"r23",24:"r23",25:"r23",26:"r23",27:"r23",28:"r23",29:"r23",30:"r23",31:"r23",32:"r23",33:"r23",34:"r23",35:"r23",36:"r23",37:"r23",38:"r23",39:"r23",40:"r23",41:"r23",42:"r23",43:"r23",44:"r23",45:"r23",46:"r23",47:"r23",48:"r23",49:"r23",50:"r23",51:"r23",52:"r23",53:"r23",54:"r23",55:"r23",57:"r23"},{23:"r24",24:"r24",25:"r24",26:"r24",27:"r24",28:"r24",29:"r24",30:"r24",31:"r24",32:"r24",33:"r24",34:"r24",35:"r24",36:"r24",37:"r24",38:"r24",39:"r24",40:"r24",41:"r24",42:"r24",43:"r24",44:"r24",45:"r24",46:"r24",47:"r24",48:"r24",49:"r24",50:"r24",51:"r24",52:"r24",53:"r24",54:"r24",55:"r24",57:"r24"},{23:"r25",24:"r25",25:"r25",26:"r25",27:"r25",28:"r25",29:"r25",30:"r25",31:"r25",32:"r25",33:"r25",34:"r25",35:"r25",36:"r25",37:"r25",38:"r25",39:"r25",40:"r25",41:"r25",42:"r25",43:"r25",44:"r25",45:"r25",46:"r25",47:"r25",48:"r25",49:"r25",50:"r25",51:"r25",52:"r25",53:"r25",54:"r25",55:"r25",56:"r25",57:"r25",58:"r25"},{23:"r26",24:"r26",25:"r26",26:"r26",27:"r26",28:"r26",29:"r26",30:"r26",31:"r26",32:"r26",33:"r26",34:"r26",35:"r26",36:"r26",37:"r26",38:"r26",39:"r26",40:"r26",41:"r26",42:"r26",43:"r26",44:"r26",45:"r26",46:"r26",47:"r26",48:"r26",49:"r26",50:"r26",51:"r26",52:"r26",53:"r26",54:"r26",55:"r26",56:"r26",57:"r26",58:"r26"},{23:"r27",24:"r27",25:"r27",26:"r27",27:"r27",28:"r27",29:"r27",30:"r27",31:"r27",32:"r27",33:"r27",34:"r27",35:"r27",36:"r27",37:"r27",38:"r27",39:"r27",40:"r27",41:"r27",42:"r27",43:"r27",44:"r27",45:"r27",46:"r27",47:"r27",48:"r27",49:"r27",50:"r27",51:"r27",52:"r27",53:"r27",54:"r27",55:"r27",56:"r27",57:"r27",58:"r27"},{23:"r28",24:"r28",25:"r28",26:"r28",27:"r28",28:"r28",29:"r28",30:"r28",31:"r28",32:"r28",33:"r28",34:"r28",35:"r28",36:"r28",37:"r28",38:"r28",39:"r28",40:"r28",41:"r28",42:"r28",43:"r28",44:"r28",45:"r28",46:"r28",47:"r28",48:"r28",49:"r28",50:"r28",51:"r28",52:"r28",53:"r28",54:"r28",55:"r28",56:"r28",57:"r28",58:"r28"},{23:"r29",24:"r29",25:"r29",26:"r29",27:"r29",28:"r29",29:"r29",30:"r29",31:"r29",32:"r29",33:"r29",34:"r29",35:"r29",36:"r29",37:"r29",38:"r29",39:"r29",40:"r29",41:"r29",42:"r29",43:"r29",44:"r29",45:"r29",46:"r29",47:"r29",48:"r29",49:"r29",50:"r29",51:"r29",52:"r29",53:"r29",54:"r29",55:"r29",56:"r29",57:"r29",58:"r29"},{23:"r30",24:"r30",25:"r30",26:"r30",27:"r30",28:"r30",29:"r30",30:"r30",31:"r30",32:"r30",33:"r30",34:"r30",35:"r30",36:"r30",37:"r30",38:"r30",39:"r30",40:"r30",41:"r30",42:"r30",43:"r30",44:"r30",45:"r30",46:"r30",47:"r30",48:"r30",49:"r30",50:"r30",51:"r30",52:"r30",53:"r30",54:"r30",55:"r30",56:"r30",57:"r30",58:"r30"},{23:"r31",24:"r31",25:"r31",26:"r31",27:"r31",28:"r31",29:"r31",30:"r31",31:"r31",32:"r31",33:"r31",34:"r31",35:"r31",36:"r31",37:"r31",38:"r31",39:"r31",40:"r31",41:"r31",42:"r31",43:"r31",44:"r31",45:"r31",46:"r31",47:"r31",48:"r31",49:"r31",50:"r31",51:"r31",52:"r31",53:"r31",54:"r31",55:"r31",56:"r31",57:"r31",58:"r31"},{23:"r32",24:"r32",25:"r32",26:"r32",27:"r32",28:"r32",29:"r32",30:"r32",31:"r32",32:"r32",33:"r32",34:"r32",35:"r32",36:"r32",37:"r32",38:"r32",39:"r32",40:"r32",41:"r32",42:"r32",43:"r32",44:"r32",45:"r32",46:"r32",47:"r32",48:"r32",49:"r32",50:"r32",51:"r32",52:"r32",53:"r32",54:"r32",55:"r32",56:"r32",57:"r32",58:"r32"},{23:"r33",24:"r33",25:"r33",26:"r33",27:"r33",28:"r33",29:"r33",30:"r33",31:"r33",32:"r33",33:"r33",34:"r33",35:"r33",36:"r33",37:"r33",38:"r33",39:"r33",40:"r33",41:"r33",42:"r33",43:"r33",44:"r33",45:"r33",46:"r33",47:"r33",48:"r33",49:"r33",50:"r33",51:"r33",52:"r33",53:"r33",54:"r33",55:"r33",56:"r33",57:"r33",58:"r33"},{23:"r34",24:"r34",25:"r34",26:"r34",27:"r34",28:"r34",29:"r34",30:"r34",31:"r34",32:"r34",33:"r34",34:"r34",35:"r34",36:"r34",37:"r34",38:"r34",39:"r34",40:"r34",41:"r34",42:"r34",43:"r34",44:"r34",45:"r34",46:"r34",47:"r34",48:"r34",49:"r34",50:"r34",51:"r34",52:"r34",53:"r34",54:"r34",55:"r34",56:"r34",57:"r34",58:"r34"},{23:"r35",24:"r35",25:"r35",26:"r35",27:"r35",28:"r35",29:"r35",30:"r35",31:"r35",32:"r35",33:"r35",34:"r35",35:"r35",36:"r35",37:"r35",38:"r35",39:"r35",40:"r35",41:"r35",42:"r35",43:"r35",44:"r35",45:"r35",46:"r35",47:"r35",48:"r35",49:"r35",50:"r35",51:"r35",52:"r35",53:"r35",54:"r35",55:"r35",56:"r35",57:"r35",58:"r35"},{23:"r36",24:"r36",25:"r36",26:"r36",27:"r36",28:"r36",29:"r36",30:"r36",31:"r36",32:"r36",33:"r36",34:"r36",35:"r36",36:"r36",37:"r36",38:"r36",39:"r36",40:"r36",41:"r36",42:"r36",43:"r36",44:"r36",45:"r36",46:"r36",47:"r36",48:"r36",49:"r36",50:"r36",51:"r36",52:"r36",53:"r36",54:"r36",55:"r36",56:"r36",57:"r36",58:"r36"},{10:70,18:65,19:66,21:67,22:69,24:"s28",28:"s71",35:"s29",36:"s30",37:"s31",38:"s32",39:"s33",40:"s34",41:"s35",42:"s36",43:"s37",44:"s38",45:"s39",56:"r54",58:"s68"},{10:70,18:83,19:66,21:67,22:69,24:"s28",28:"s71",35:"s29",36:"s30",37:"s31",38:"s32",39:"s33",40:"s34",41:"s35",42:"s36",43:"s37",44:"s38",45:"s39",56:"r54",58:"s68"},{23:"r47",24:"r47",25:"r47",26:"r47",27:"r47",28:"r47",29:"r47",30:"r47",31:"r47",32:"r47",33:"r47",34:"r47",35:"r47",36:"r47",37:"r47",38:"r47",39:"r47",40:"r47",41:"r47",42:"r47",43:"r47",44:"r47",45:"r47",46:"r47",47:"r47",48:"r47",49:"r47",50:"r47",51:"r47",52:"r47",53:"r47",54:"r47",55:"r47",57:"r47"},{23:"r48",24:"r48",25:"r48",26:"r48",27:"r48",28:"r48",29:"r48",30:"r48",31:"r48",32:"r48",33:"r48",34:"r48",35:"r48",36:"r48",37:"r48",38:"r48",39:"r48",40:"r48",41:"r48",42:"r48",43:"r48",44:"r48",45:"r48",46:"r48",47:"r48",48:"r48",49:"r48",50:"r48",51:"r48",52:"r48",53:"r48",54:"r48",55:"r48",57:"r48"},{4:85,5:5,6:6,24:"r10",25:"r10",26:"r10",27:"r10",28:"r10",29:"r10",30:"r10",31:"r10",32:"r10",33:"r10",34:"r10",35:"r10",36:"r10",37:"r10",38:"r10",39:"r10",40:"r10",41:"r10",42:"r10",43:"r10",44:"r10",45:"r10",52:"r10",53:"r10",54:"r10",55:"r10",57:"r10"},{4:87,5:5,6:6,24:"r10",25:"r10",26:"r10",27:"r10",28:"r10",29:"r10",30:"r10",31:"r10",32:"r10",33:"r10",34:"r10",35:"r10",36:"r10",37:"r10",38:"r10",39:"r10",40:"r10",41:"r10",42:"r10",43:"r10",44:"r10",45:"r10",52:"r10",53:"r10",54:"r10",55:"r10",57:"r10"},{4:89,5:5,6:6,24:"r10",25:"r10",26:"r10",27:"r10",28:"r10",29:"r10",30:"r10",31:"r10",32:"r10",33:"r10",34:"r10",35:"r10",36:"r10",37:"r10",38:"r10",39:"r10",40:"r10",41:"r10",42:"r10",43:"r10",44:"r10",45:"r10",52:"r10",53:"r10",54:"r10",55:"r10",57:"r10"},{23:"r13",24:"r13",25:"r13",26:"r13",27:"r13",28:"r13",29:"r13",30:"r13",31:"r13",32:"r13",33:"r13",34:"r13",35:"r13",36:"r13",37:"r13",38:"r13",39:"r13",40:"r13",41:"r13",42:"r13",43:"r13",44:"r13",45:"r13",52:"r13",53:"r13",54:"r13",55:"r13",57:"r13"},{23:"r37",24:"r37",25:"r37",26:"r37",27:"r37",28:"r37",29:"r37",30:"r37",31:"r37",32:"r37",33:"r37",34:"r37",35:"r37",36:"r37",37:"r37",38:"r37",39:"r37",40:"r37",41:"r37",42:"r37",43:"r37",44:"r37",45:"r37",52:"r37",53:"r37",54:"r37",55:"r37",57:"r37"},{23:"r39",24:"r39",25:"r39",26:"r39",27:"r39",28:"r39",29:"r39",30:"r39",31:"r39",32:"r39",33:"r39",34:"r39",35:"r39",36:"r39",37:"r39",38:"r39",39:"r39",40:"r39",41:"r39",42:"r39",43:"r39",44:"r39",45:"r39",46:"s56",52:"r39",53:"r39",54:"r39",55:"r39",57:"r39"},{23:"r41",24:"r41",25:"r41",26:"r41",27:"r41",28:"r41",29:"r41",30:"r41",31:"r41",32:"r41",33:"r41",34:"r41",35:"r41",36:"r41",37:"r41",38:"r41",39:"r41",40:"r41",41:"r41",42:"r41",43:"r41",44:"r41",45:"r41",46:"r41",52:"r41",53:"r41",54:"r41",55:"r41",57:"r41"},{23:"r42",24:"r42",25:"r42",26:"r42",27:"r42",28:"r42",29:"r42",30:"r42",31:"r42",32:"r42",33:"r42",34:"r42",35:"r42",36:"r42",37:"r42",38:"r42",39:"r42",40:"r42",41:"r42",42:"r42",43:"r42",44:"r42",45:"r42",46:"r42",52:"r42",53:"r42",54:"r42",55:"r42",57:"r42"},{23:"r43",24:"r43",25:"r43",26:"r43",27:"r43",28:"r43",29:"r43",30:"r43",31:"r43",32:"r43",33:"r43",34:"r43",35:"r43",36:"r43",37:"r43",38:"r43",39:"r43",40:"r43",41:"r43",42:"r43",43:"r43",44:"r43",45:"r43",46:"r43",52:"r43",53:"r43",54:"r43",55:"r43",57:"r43"},{23:"r44",24:"r44",25:"r44",26:"r44",27:"r44",28:"r44",29:"r44",30:"r44",31:"r44",32:"r44",33:"r44",34:"r44",35:"r44",36:"r44",37:"r44",38:"r44",39:"r44",40:"r44",41:"r44",42:"r44",43:"r44",44:"r44",45:"r44",46:"r44",52:"r44",53:"r44",54:"r44",55:"r44",57:"r44"},{23:"r45",24:"r45",25:"r45",26:"r45",27:"r45",28:"r45",29:"r45",30:"r45",31:"r45",32:"r45",33:"r45",34:"r45",35:"r45",36:"r45",37:"r45",38:"r45",39:"r45",40:"r45",41:"r45",42:"r45",43:"r45",44:"r45",45:"r45",46:"r45",52:"r45",53:"r45",54:"r45",55:"r45",57:"r45"},{23:"r46",24:"r46",25:"r46",26:"r46",27:"r46",28:"r46",29:"r46",30:"r46",31:"r46",32:"r46",33:"r46",34:"r46",35:"r46",36:"r46",37:"r46",38:"r46",39:"r46",40:"r46",41:"r46",42:"r46",43:"r46",44:"r46",45:"r46",46:"r46",52:"r46",53:"r46",54:"r46",55:"r46",57:"r46"},{23:"r40",24:"r40",25:"r40",26:"r40",27:"r40",28:"r40",29:"r40",30:"r40",31:"r40",32:"r40",33:"r40",34:"r40",35:"r40",36:"r40",37:"r40",38:"r40",39:"r40",40:"r40",41:"r40",42:"r40",43:"r40",44:"r40",45:"r40",52:"r40",53:"r40",54:"r40",55:"r40",57:"r40"},{25:"s12",31:"s58"},{23:"r18",24:"r18",25:"r18",26:"r18",27:"r18",28:"r18",29:"r18",30:"r18",31:"r18",32:"r18",33:"r18",34:"r18",35:"r18",36:"r18",37:"r18",38:"r18",39:"r18",40:"r18",41:"r18",42:"r18",43:"r18",44:"r18",45:"r18",52:"r18",53:"r18",54:"r18",55:"r18",57:"r18"},{25:"s12",31:"s60"},{23:"r19",24:"r19",25:"r19",26:"r19",27:"r19",28:"r19",29:"r19",30:"r19",31:"r19",32:"r19",33:"r19",34:"r19",35:"r19",36:"r19",37:"r19",38:"r19",39:"r19",40:"r19",41:"r19",42:"r19",43:"r19",44:"r19",45:"r19",52:"r19",53:"r19",54:"r19",55:"r19",57:"r19"},{25:"s12",31:"s62"},{23:"r20",24:"r20",25:"r20",26:"r20",27:"r20",28:"r20",29:"r20",30:"r20",31:"r20",32:"r20",33:"r20",34:"r20",35:"r20",36:"r20",37:"r20",38:"r20",39:"r20",40:"r20",41:"r20",42:"r20",43:"r20",44:"r20",45:"r20",52:"r20",53:"r20",54:"r20",55:"r20",57:"r20"},{25:"s12",31:"s64"},{23:"r21",24:"r21",25:"r21",26:"r21",27:"r21",28:"r21",29:"r21",30:"r21",31:"r21",32:"r21",33:"r21",34:"r21",35:"r21",36:"r21",37:"r21",38:"r21",39:"r21",40:"r21",41:"r21",42:"r21",43:"r21",44:"r21",45:"r21",52:"r21",53:"r21",54:"r21",55:"r21",57:"r21"},{56:"s72"},{56:"r55"},{10:70,20:73,21:75,22:76,24:"s28",28:"s71",35:"s29",36:"s30",37:"s31",38:"s32",39:"s33",40:"s34",41:"s35",42:"s36",43:"s37",44:"s38",45:"s39",56:"r56",58:"s74"},{24:"r62",28:"r62",35:"r62",36:"r62",37:"r62",38:"r62",39:"r62",40:"r62",41:"r62",42:"r62",43:"r62",44:"r62",45:"r62",56:"r62",58:"r62"},{24:"r63",28:"r63",35:"r63",36:"r63",37:"r63",38:"r63",39:"r63",40:"r63",41:"r63",42:"r63",43:"r63",44:"r63",45:"r63",56:"r63",58:"r63"},{24:"r64",28:"r64",35:"r64",36:"r64",37:"r64",38:"r64",39:"r64",40:"r64",41:"r64",42:"r64",43:"r64",44:"r64",45:"r64",56:"r64",58:"r64"},{24:"r65",28:"r65",35:"r65",36:"r65",37:"r65",38:"r65",39:"r65",40:"r65",41:"r65",42:"r65",43:"r65",44:"r65",45:"r65",56:"r65",58:"r65"},{23:"r52",24:"r52",25:"r52",26:"r52",27:"r52",28:"r52",29:"r52",30:"r52",31:"r52",32:"r52",33:"r52",34:"r52",35:"r52",36:"r52",37:"r52",38:"r52",39:"r52",40:"r52",41:"r52",42:"r52",43:"r52",44:"r52",45:"r52",46:"r52",47:"r52",48:"r52",49:"r52",50:"r52",51:"r52",52:"r52",53:"r52",54:"r52",55:"r52",57:"r52"},{56:"r57"},{10:70,21:77,22:69,24:"s28",28:"s71",35:"s29",36:"s30",37:"s31",38:"s32",39:"s33",40:"s34",41:"s35",42:"s36",43:"s37",44:"s38",45:"s39",56:"r62",58:"s68"},{56:"r59"},{10:70,20:79,21:75,22:76,24:"s28",28:"s71",35:"s29",36:"s30",37:"s31",38:"s32",39:"s33",40:"s34",41:"s35",42:"s36",43:"s37",44:"s38",45:"s39",56:"r63",58:"s80"},{10:70,18:78,19:66,21:67,22:69,24:"s28",28:"s71",35:"s29",36:"s30",37:"s31",38:"s32",39:"s33",40:"s34",41:"s35",42:"s36",43:"s37",44:"s38",45:"s39",56:"r54",58:"s68"},{56:"r58"},{56:"r60"},{10:70,21:81,22:69,24:"s28",28:"s71",35:"s29",36:"s30",37:"s31",38:"s32",39:"s33",40:"s34",41:"s35",42:"s36",43:"s37",44:"s38",45:"s39",56:"r62",58:"s68"},{10:70,18:82,19:66,21:67,22:69,24:"s28",28:"s71",35:"s29",36:"s30",37:"s31",38:"s32",39:"s33",40:"s34",41:"s35",42:"s36",43:"s37",44:"s38",45:"s39",56:"r54",58:"s68"},{56:"r61"},{56:"s84"},{23:"r53",24:"r53",25:"r53",26:"r53",27:"r53",28:"r53",29:"r53",30:"r53",31:"r53",32:"r53",33:"r53",34:"r53",35:"r53",36:"r53",37:"r53",38:"r53",39:"r53",40:"r53",41:"r53",42:"r53",43:"r53",44:"r53",45:"r53",46:"r53",47:"r53",48:"r53",49:"r53",50:"r53",51:"r53",52:"r53",53:"r53",54:"r53",55:"r53",57:"r53"},{25:"s12",31:"s86"},{23:"r49",24:"r49",25:"r49",26:"r49",27:"r49",28:"r49",29:"r49",30:"r49",31:"r49",32:"r49",33:"r49",34:"r49",35:"r49",36:"r49",37:"r49",38:"r49",39:"r49",40:"r49",41:"r49",42:"r49",43:"r49",44:"r49",45:"r49",46:"r49",47:"r49",48:"r49",49:"r49",50:"r49",51:"r49",52:"r49",53:"r49",54:"r49",55:"r49",57:"r49"},{25:"s12",31:"s88"},{23:"r50",24:"r50",25:"r50",26:"r50",27:"r50",28:"r50",29:"r50",30:"r50",31:"r50",32:"r50",33:"r50",34:"r50",35:"r50",36:"r50",37:"r50",38:"r50",39:"r50",40:"r50",41:"r50",42:"r50",43:"r50",44:"r50",45:"r50",46:"r50",47:"r50",48:"r50",49:"r50",50:"r50",51:"r50",52:"r50",53:"r50",54:"r50",55:"r50",57:"r50"},{25:"s12",31:"s90"},{23:"r51",24:"r51",25:"r51",26:"r51",27:"r51",28:"r51",29:"r51",30:"r51",31:"r51",32:"r51",33:"r51",34:"r51",35:"r51",36:"r51",37:"r51",38:"r51",39:"r51",40:"r51",41:"r51",42:"r51",43:"r51",44:"r51",45:"r51",46:"r51",47:"r51",48:"r51",49:"r51",50:"r51",51:"r51",52:"r51",53:"r51",54:"r51",55:"r51",57:"r51"}],G$e=[],Q$e=void 0,Z$e=[[/^#[^\n]+/,function(){}],[/^\s+/,function(){}],[/^-/,function(){return"DASH"}],[/^\//,function(){return"CHAR"}],[/^#/,function(){return"CHAR"}],[/^\|/,function(){return"CHAR"}],[/^\./,function(){return"CHAR"}],[/^\{/,function(){return"CHAR"}],[/^\{\d+\}/,function(){return"RANGE_EXACT"}],[/^\{\d+,\}/,function(){return"RANGE_OPEN"}],[/^\{\d+,\d+\}/,function(){return"RANGE_CLOSED"}],[/^\\k<(([\u0041-\u005a\u0061-\u007a\u00aa\u00b5\u00ba\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376-\u0377\u037a-\u037d\u037f\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u052f\u0531-\u0556\u0559\u0560-\u0588\u05d0-\u05ea\u05ef-\u05f2\u0620-\u064a\u066e-\u066f\u0671-\u06d3\u06d5\u06e5-\u06e6\u06ee-\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u07f4-\u07f5\u07fa\u0800-\u0815\u081a\u0824\u0828\u0840-\u0858\u0860-\u086a\u08a0-\u08b4\u08b6-\u08bd\u0904-\u0939\u093d\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098c\u098f-\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd\u09ce\u09dc-\u09dd\u09df-\u09e1\u09f0-\u09f1\u09fc\u0a05-\u0a0a\u0a0f-\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32-\u0a33\u0a35-\u0a36\u0a38-\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2-\u0ab3\u0ab5-\u0ab9\u0abd\u0ad0\u0ae0-\u0ae1\u0af9\u0b05-\u0b0c\u0b0f-\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32-\u0b33\u0b35-\u0b39\u0b3d\u0b5c-\u0b5d\u0b5f-\u0b61\u0b71\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99-\u0b9a\u0b9c\u0b9e-\u0b9f\u0ba3-\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3d\u0c58-\u0c5a\u0c60-\u0c61\u0c80\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cde\u0ce0-\u0ce1\u0cf1-\u0cf2\u0d05-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d\u0d4e\u0d54-\u0d56\u0d5f-\u0d61\u0d7a-\u0d7f\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0e01-\u0e30\u0e32-\u0e33\u0e40-\u0e46\u0e81-\u0e82\u0e84\u0e86-\u0e8a\u0e8c-\u0ea3\u0ea5\u0ea7-\u0eb0\u0eb2-\u0eb3\u0ebd\u0ec0-\u0ec4\u0ec6\u0edc-\u0edf\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f88-\u0f8c\u1000-\u102a\u103f\u1050-\u1055\u105a-\u105d\u1061\u1065-\u1066\u106e-\u1070\u1075-\u1081\u108e\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u1380-\u138f\u13a0-\u13f5\u13f8-\u13fd\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f8\u1700-\u170c\u170e-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1780-\u17b3\u17d7\u17dc\u1820-\u1878\u1880-\u18a8\u18aa\u18b0-\u18f5\u1900-\u191e\u1950-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u1a00-\u1a16\u1a20-\u1a54\u1aa7\u1b05-\u1b33\u1b45-\u1b4b\u1b83-\u1ba0\u1bae-\u1baf\u1bba-\u1be5\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c7d\u1c80-\u1c88\u1c90-\u1cba\u1cbd-\u1cbf\u1ce9-\u1cec\u1cee-\u1cf3\u1cf5-\u1cf6\u1cfa\u1d00-\u1dbf\u1e00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u2071\u207f\u2090-\u209c\u2102\u2107\u210a-\u2113\u2115\u2118-\u211d\u2124\u2126\u2128\u212a-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2c2e\u2c30-\u2c5e\u2c60-\u2ce4\u2ceb-\u2cee\u2cf2-\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303c\u3041-\u3096\u309b-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312f\u3131-\u318e\u31a0-\u31ba\u31f0-\u31ff\u3400-\u4db5\u4e00-\u9fef\ua000-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua61f\ua62a-\ua62b\ua640-\ua66e\ua67f-\ua69d\ua6a0-\ua6ef\ua717-\ua71f\ua722-\ua788\ua78b-\ua7bf\ua7c2-\ua7c6\ua7f7-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua8f2-\ua8f7\ua8fb\ua8fd-\ua8fe\ua90a-\ua925\ua930-\ua946\ua960-\ua97c\ua984-\ua9b2\ua9cf\ua9e0-\ua9e4\ua9e6-\ua9ef\ua9fa-\ua9fe\uaa00-\uaa28\uaa40-\uaa42\uaa44-\uaa4b\uaa60-\uaa76\uaa7a\uaa7e-\uaaaf\uaab1\uaab5-\uaab6\uaab9-\uaabd\uaac0\uaac2\uaadb-\uaadd\uaae0-\uaaea\uaaf2-\uaaf4\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab5a\uab5c-\uab67\uab70-\uabe2\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d\ufb1f-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40-\ufb41\ufb43-\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff21-\uff3a\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc]|\ud800[\udc00-\udc0b\udc0d-\udc26\udc28-\udc3a\udc3c-\udc3d\udc3f-\udc4d\udc50-\udc5d\udc80-\udcfa\udd40-\udd74\ude80-\ude9c\udea0-\uded0\udf00-\udf1f\udf2d-\udf4a\udf50-\udf75\udf80-\udf9d\udfa0-\udfc3\udfc8-\udfcf\udfd1-\udfd5]|\ud801[\udc00-\udc9d\udcb0-\udcd3\udcd8-\udcfb\udd00-\udd27\udd30-\udd63\ude00-\udf36\udf40-\udf55\udf60-\udf67]|\ud802[\udc00-\udc05\udc08\udc0a-\udc35\udc37-\udc38\udc3c\udc3f-\udc55\udc60-\udc76\udc80-\udc9e\udce0-\udcf2\udcf4-\udcf5\udd00-\udd15\udd20-\udd39\udd80-\uddb7\uddbe-\uddbf\ude00\ude10-\ude13\ude15-\ude17\ude19-\ude35\ude60-\ude7c\ude80-\ude9c\udec0-\udec7\udec9-\udee4\udf00-\udf35\udf40-\udf55\udf60-\udf72\udf80-\udf91]|\ud803[\udc00-\udc48\udc80-\udcb2\udcc0-\udcf2\udd00-\udd23\udf00-\udf1c\udf27\udf30-\udf45\udfe0-\udff6]|\ud804[\udc03-\udc37\udc83-\udcaf\udcd0-\udce8\udd03-\udd26\udd44\udd50-\udd72\udd76\udd83-\uddb2\uddc1-\uddc4\uddda\udddc\ude00-\ude11\ude13-\ude2b\ude80-\ude86\ude88\ude8a-\ude8d\ude8f-\ude9d\ude9f-\udea8\udeb0-\udede\udf05-\udf0c\udf0f-\udf10\udf13-\udf28\udf2a-\udf30\udf32-\udf33\udf35-\udf39\udf3d\udf50\udf5d-\udf61]|\ud805[\udc00-\udc34\udc47-\udc4a\udc5f\udc80-\udcaf\udcc4-\udcc5\udcc7\udd80-\uddae\uddd8-\udddb\ude00-\ude2f\ude44\ude80-\udeaa\udeb8\udf00-\udf1a]|\ud806[\udc00-\udc2b\udca0-\udcdf\udcff\udda0-\udda7\uddaa-\uddd0\udde1\udde3\ude00\ude0b-\ude32\ude3a\ude50\ude5c-\ude89\ude9d\udec0-\udef8]|\ud807[\udc00-\udc08\udc0a-\udc2e\udc40\udc72-\udc8f\udd00-\udd06\udd08-\udd09\udd0b-\udd30\udd46\udd60-\udd65\udd67-\udd68\udd6a-\udd89\udd98\udee0-\udef2]|\ud808[\udc00-\udf99]|\ud809[\udc00-\udc6e\udc80-\udd43]|\ud80c[\udc00-\udfff]|\ud80d[\udc00-\udc2e]|\ud811[\udc00-\ude46]|\ud81a[\udc00-\ude38\ude40-\ude5e\uded0-\udeed\udf00-\udf2f\udf40-\udf43\udf63-\udf77\udf7d-\udf8f]|\ud81b[\ude40-\ude7f\udf00-\udf4a\udf50\udf93-\udf9f\udfe0-\udfe1\udfe3]|\ud81c[\udc00-\udfff]|\ud81d[\udc00-\udfff]|\ud81e[\udc00-\udfff]|\ud81f[\udc00-\udfff]|\ud820[\udc00-\udfff]|\ud821[\udc00-\udff7]|\ud822[\udc00-\udef2]|\ud82c[\udc00-\udd1e\udd50-\udd52\udd64-\udd67\udd70-\udefb]|\ud82f[\udc00-\udc6a\udc70-\udc7c\udc80-\udc88\udc90-\udc99]|\ud835[\udc00-\udc54\udc56-\udc9c\udc9e-\udc9f\udca2\udca5-\udca6\udca9-\udcac\udcae-\udcb9\udcbb\udcbd-\udcc3\udcc5-\udd05\udd07-\udd0a\udd0d-\udd14\udd16-\udd1c\udd1e-\udd39\udd3b-\udd3e\udd40-\udd44\udd46\udd4a-\udd50\udd52-\udea5\udea8-\udec0\udec2-\udeda\udedc-\udefa\udefc-\udf14\udf16-\udf34\udf36-\udf4e\udf50-\udf6e\udf70-\udf88\udf8a-\udfa8\udfaa-\udfc2\udfc4-\udfcb]|\ud838[\udd00-\udd2c\udd37-\udd3d\udd4e\udec0-\udeeb]|\ud83a[\udc00-\udcc4\udd00-\udd43\udd4b]|\ud83b[\ude00-\ude03\ude05-\ude1f\ude21-\ude22\ude24\ude27\ude29-\ude32\ude34-\ude37\ude39\ude3b\ude42\ude47\ude49\ude4b\ude4d-\ude4f\ude51-\ude52\ude54\ude57\ude59\ude5b\ude5d\ude5f\ude61-\ude62\ude64\ude67-\ude6a\ude6c-\ude72\ude74-\ude77\ude79-\ude7c\ude7e\ude80-\ude89\ude8b-\ude9b\udea1-\udea3\udea5-\udea9\udeab-\udebb]|\ud840[\udc00-\udfff]|\ud841[\udc00-\udfff]|\ud842[\udc00-\udfff]|\ud843[\udc00-\udfff]|\ud844[\udc00-\udfff]|\ud845[\udc00-\udfff]|\ud846[\udc00-\udfff]|\ud847[\udc00-\udfff]|\ud848[\udc00-\udfff]|\ud849[\udc00-\udfff]|\ud84a[\udc00-\udfff]|\ud84b[\udc00-\udfff]|\ud84c[\udc00-\udfff]|\ud84d[\udc00-\udfff]|\ud84e[\udc00-\udfff]|\ud84f[\udc00-\udfff]|\ud850[\udc00-\udfff]|\ud851[\udc00-\udfff]|\ud852[\udc00-\udfff]|\ud853[\udc00-\udfff]|\ud854[\udc00-\udfff]|\ud855[\udc00-\udfff]|\ud856[\udc00-\udfff]|\ud857[\udc00-\udfff]|\ud858[\udc00-\udfff]|\ud859[\udc00-\udfff]|\ud85a[\udc00-\udfff]|\ud85b[\udc00-\udfff]|\ud85c[\udc00-\udfff]|\ud85d[\udc00-\udfff]|\ud85e[\udc00-\udfff]|\ud85f[\udc00-\udfff]|\ud860[\udc00-\udfff]|\ud861[\udc00-\udfff]|\ud862[\udc00-\udfff]|\ud863[\udc00-\udfff]|\ud864[\udc00-\udfff]|\ud865[\udc00-\udfff]|\ud866[\udc00-\udfff]|\ud867[\udc00-\udfff]|\ud868[\udc00-\udfff]|\ud869[\udc00-\uded6\udf00-\udfff]|\ud86a[\udc00-\udfff]|\ud86b[\udc00-\udfff]|\ud86c[\udc00-\udfff]|\ud86d[\udc00-\udf34\udf40-\udfff]|\ud86e[\udc00-\udc1d\udc20-\udfff]|\ud86f[\udc00-\udfff]|\ud870[\udc00-\udfff]|\ud871[\udc00-\udfff]|\ud872[\udc00-\udfff]|\ud873[\udc00-\udea1\udeb0-\udfff]|\ud874[\udc00-\udfff]|\ud875[\udc00-\udfff]|\ud876[\udc00-\udfff]|\ud877[\udc00-\udfff]|\ud878[\udc00-\udfff]|\ud879[\udc00-\udfff]|\ud87a[\udc00-\udfe0]|\ud87e[\udc00-\ude1d])|[$_]|(\\u[0-9a-fA-F]{4}|\\u\{[0-9a-fA-F]{1,}\}))(([\u0030-\u0039\u0041-\u005a\u005f\u0061-\u007a\u00aa\u00b5\u00b7\u00ba\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0300-\u0374\u0376-\u0377\u037a-\u037d\u037f\u0386-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u0483-\u0487\u048a-\u052f\u0531-\u0556\u0559\u0560-\u0588\u0591-\u05bd\u05bf\u05c1-\u05c2\u05c4-\u05c5\u05c7\u05d0-\u05ea\u05ef-\u05f2\u0610-\u061a\u0620-\u0669\u066e-\u06d3\u06d5-\u06dc\u06df-\u06e8\u06ea-\u06fc\u06ff\u0710-\u074a\u074d-\u07b1\u07c0-\u07f5\u07fa\u07fd\u0800-\u082d\u0840-\u085b\u0860-\u086a\u08a0-\u08b4\u08b6-\u08bd\u08d3-\u08e1\u08e3-\u0963\u0966-\u096f\u0971-\u0983\u0985-\u098c\u098f-\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bc-\u09c4\u09c7-\u09c8\u09cb-\u09ce\u09d7\u09dc-\u09dd\u09df-\u09e3\u09e6-\u09f1\u09fc\u09fe\u0a01-\u0a03\u0a05-\u0a0a\u0a0f-\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32-\u0a33\u0a35-\u0a36\u0a38-\u0a39\u0a3c\u0a3e-\u0a42\u0a47-\u0a48\u0a4b-\u0a4d\u0a51\u0a59-\u0a5c\u0a5e\u0a66-\u0a75\u0a81-\u0a83\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2-\u0ab3\u0ab5-\u0ab9\u0abc-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ad0\u0ae0-\u0ae3\u0ae6-\u0aef\u0af9-\u0aff\u0b01-\u0b03\u0b05-\u0b0c\u0b0f-\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32-\u0b33\u0b35-\u0b39\u0b3c-\u0b44\u0b47-\u0b48\u0b4b-\u0b4d\u0b56-\u0b57\u0b5c-\u0b5d\u0b5f-\u0b63\u0b66-\u0b6f\u0b71\u0b82-\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99-\u0b9a\u0b9c\u0b9e-\u0b9f\u0ba3-\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd0\u0bd7\u0be6-\u0bef\u0c00-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3d-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55-\u0c56\u0c58-\u0c5a\u0c60-\u0c63\u0c66-\u0c6f\u0c80-\u0c83\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbc-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5-\u0cd6\u0cde\u0ce0-\u0ce3\u0ce6-\u0cef\u0cf1-\u0cf2\u0d00-\u0d03\u0d05-\u0d0c\u0d0e-\u0d10\u0d12-\u0d44\u0d46-\u0d48\u0d4a-\u0d4e\u0d54-\u0d57\u0d5f-\u0d63\u0d66-\u0d6f\u0d7a-\u0d7f\u0d82-\u0d83\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2-\u0df3\u0e01-\u0e3a\u0e40-\u0e4e\u0e50-\u0e59\u0e81-\u0e82\u0e84\u0e86-\u0e8a\u0e8c-\u0ea3\u0ea5\u0ea7-\u0ebd\u0ec0-\u0ec4\u0ec6\u0ec8-\u0ecd\u0ed0-\u0ed9\u0edc-\u0edf\u0f00\u0f18-\u0f19\u0f20-\u0f29\u0f35\u0f37\u0f39\u0f3e-\u0f47\u0f49-\u0f6c\u0f71-\u0f84\u0f86-\u0f97\u0f99-\u0fbc\u0fc6\u1000-\u1049\u1050-\u109d\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u135d-\u135f\u1369-\u1371\u1380-\u138f\u13a0-\u13f5\u13f8-\u13fd\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f8\u1700-\u170c\u170e-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176c\u176e-\u1770\u1772-\u1773\u1780-\u17d3\u17d7\u17dc-\u17dd\u17e0-\u17e9\u180b-\u180d\u1810-\u1819\u1820-\u1878\u1880-\u18aa\u18b0-\u18f5\u1900-\u191e\u1920-\u192b\u1930-\u193b\u1946-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u19d0-\u19da\u1a00-\u1a1b\u1a20-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1aa7\u1ab0-\u1abd\u1b00-\u1b4b\u1b50-\u1b59\u1b6b-\u1b73\u1b80-\u1bf3\u1c00-\u1c37\u1c40-\u1c49\u1c4d-\u1c7d\u1c80-\u1c88\u1c90-\u1cba\u1cbd-\u1cbf\u1cd0-\u1cd2\u1cd4-\u1cfa\u1d00-\u1df9\u1dfb-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u203f-\u2040\u2054\u2071\u207f\u2090-\u209c\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2102\u2107\u210a-\u2113\u2115\u2118-\u211d\u2124\u2126\u2128\u212a-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2c2e\u2c30-\u2c5e\u2c60-\u2ce4\u2ceb-\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d7f-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u2de0-\u2dff\u3005-\u3007\u3021-\u302f\u3031-\u3035\u3038-\u303c\u3041-\u3096\u3099-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312f\u3131-\u318e\u31a0-\u31ba\u31f0-\u31ff\u3400-\u4db5\u4e00-\u9fef\ua000-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua62b\ua640-\ua66f\ua674-\ua67d\ua67f-\ua6f1\ua717-\ua71f\ua722-\ua788\ua78b-\ua7bf\ua7c2-\ua7c6\ua7f7-\ua827\ua840-\ua873\ua880-\ua8c5\ua8d0-\ua8d9\ua8e0-\ua8f7\ua8fb\ua8fd-\ua92d\ua930-\ua953\ua960-\ua97c\ua980-\ua9c0\ua9cf-\ua9d9\ua9e0-\ua9fe\uaa00-\uaa36\uaa40-\uaa4d\uaa50-\uaa59\uaa60-\uaa76\uaa7a-\uaac2\uaadb-\uaadd\uaae0-\uaaef\uaaf2-\uaaf6\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab5a\uab5c-\uab67\uab70-\uabea\uabec-\uabed\uabf0-\uabf9\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40-\ufb41\ufb43-\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe00-\ufe0f\ufe20-\ufe2f\ufe33-\ufe34\ufe4d-\ufe4f\ufe70-\ufe74\ufe76-\ufefc\uff10-\uff19\uff21-\uff3a\uff3f\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc]|\ud800[\udc00-\udc0b\udc0d-\udc26\udc28-\udc3a\udc3c-\udc3d\udc3f-\udc4d\udc50-\udc5d\udc80-\udcfa\udd40-\udd74\uddfd\ude80-\ude9c\udea0-\uded0\udee0\udf00-\udf1f\udf2d-\udf4a\udf50-\udf7a\udf80-\udf9d\udfa0-\udfc3\udfc8-\udfcf\udfd1-\udfd5]|\ud801[\udc00-\udc9d\udca0-\udca9\udcb0-\udcd3\udcd8-\udcfb\udd00-\udd27\udd30-\udd63\ude00-\udf36\udf40-\udf55\udf60-\udf67]|\ud802[\udc00-\udc05\udc08\udc0a-\udc35\udc37-\udc38\udc3c\udc3f-\udc55\udc60-\udc76\udc80-\udc9e\udce0-\udcf2\udcf4-\udcf5\udd00-\udd15\udd20-\udd39\udd80-\uddb7\uddbe-\uddbf\ude00-\ude03\ude05-\ude06\ude0c-\ude13\ude15-\ude17\ude19-\ude35\ude38-\ude3a\ude3f\ude60-\ude7c\ude80-\ude9c\udec0-\udec7\udec9-\udee6\udf00-\udf35\udf40-\udf55\udf60-\udf72\udf80-\udf91]|\ud803[\udc00-\udc48\udc80-\udcb2\udcc0-\udcf2\udd00-\udd27\udd30-\udd39\udf00-\udf1c\udf27\udf30-\udf50\udfe0-\udff6]|\ud804[\udc00-\udc46\udc66-\udc6f\udc7f-\udcba\udcd0-\udce8\udcf0-\udcf9\udd00-\udd34\udd36-\udd3f\udd44-\udd46\udd50-\udd73\udd76\udd80-\uddc4\uddc9-\uddcc\uddd0-\uddda\udddc\ude00-\ude11\ude13-\ude37\ude3e\ude80-\ude86\ude88\ude8a-\ude8d\ude8f-\ude9d\ude9f-\udea8\udeb0-\udeea\udef0-\udef9\udf00-\udf03\udf05-\udf0c\udf0f-\udf10\udf13-\udf28\udf2a-\udf30\udf32-\udf33\udf35-\udf39\udf3b-\udf44\udf47-\udf48\udf4b-\udf4d\udf50\udf57\udf5d-\udf63\udf66-\udf6c\udf70-\udf74]|\ud805[\udc00-\udc4a\udc50-\udc59\udc5e-\udc5f\udc80-\udcc5\udcc7\udcd0-\udcd9\udd80-\uddb5\uddb8-\uddc0\uddd8-\udddd\ude00-\ude40\ude44\ude50-\ude59\ude80-\udeb8\udec0-\udec9\udf00-\udf1a\udf1d-\udf2b\udf30-\udf39]|\ud806[\udc00-\udc3a\udca0-\udce9\udcff\udda0-\udda7\uddaa-\uddd7\uddda-\udde1\udde3-\udde4\ude00-\ude3e\ude47\ude50-\ude99\ude9d\udec0-\udef8]|\ud807[\udc00-\udc08\udc0a-\udc36\udc38-\udc40\udc50-\udc59\udc72-\udc8f\udc92-\udca7\udca9-\udcb6\udd00-\udd06\udd08-\udd09\udd0b-\udd36\udd3a\udd3c-\udd3d\udd3f-\udd47\udd50-\udd59\udd60-\udd65\udd67-\udd68\udd6a-\udd8e\udd90-\udd91\udd93-\udd98\udda0-\udda9\udee0-\udef6]|\ud808[\udc00-\udf99]|\ud809[\udc00-\udc6e\udc80-\udd43]|\ud80c[\udc00-\udfff]|\ud80d[\udc00-\udc2e]|\ud811[\udc00-\ude46]|\ud81a[\udc00-\ude38\ude40-\ude5e\ude60-\ude69\uded0-\udeed\udef0-\udef4\udf00-\udf36\udf40-\udf43\udf50-\udf59\udf63-\udf77\udf7d-\udf8f]|\ud81b[\ude40-\ude7f\udf00-\udf4a\udf4f-\udf87\udf8f-\udf9f\udfe0-\udfe1\udfe3]|\ud81c[\udc00-\udfff]|\ud81d[\udc00-\udfff]|\ud81e[\udc00-\udfff]|\ud81f[\udc00-\udfff]|\ud820[\udc00-\udfff]|\ud821[\udc00-\udff7]|\ud822[\udc00-\udef2]|\ud82c[\udc00-\udd1e\udd50-\udd52\udd64-\udd67\udd70-\udefb]|\ud82f[\udc00-\udc6a\udc70-\udc7c\udc80-\udc88\udc90-\udc99\udc9d-\udc9e]|\ud834[\udd65-\udd69\udd6d-\udd72\udd7b-\udd82\udd85-\udd8b\uddaa-\uddad\ude42-\ude44]|\ud835[\udc00-\udc54\udc56-\udc9c\udc9e-\udc9f\udca2\udca5-\udca6\udca9-\udcac\udcae-\udcb9\udcbb\udcbd-\udcc3\udcc5-\udd05\udd07-\udd0a\udd0d-\udd14\udd16-\udd1c\udd1e-\udd39\udd3b-\udd3e\udd40-\udd44\udd46\udd4a-\udd50\udd52-\udea5\udea8-\udec0\udec2-\udeda\udedc-\udefa\udefc-\udf14\udf16-\udf34\udf36-\udf4e\udf50-\udf6e\udf70-\udf88\udf8a-\udfa8\udfaa-\udfc2\udfc4-\udfcb\udfce-\udfff]|\ud836[\ude00-\ude36\ude3b-\ude6c\ude75\ude84\ude9b-\ude9f\udea1-\udeaf]|\ud838[\udc00-\udc06\udc08-\udc18\udc1b-\udc21\udc23-\udc24\udc26-\udc2a\udd00-\udd2c\udd30-\udd3d\udd40-\udd49\udd4e\udec0-\udef9]|\ud83a[\udc00-\udcc4\udcd0-\udcd6\udd00-\udd4b\udd50-\udd59]|\ud83b[\ude00-\ude03\ude05-\ude1f\ude21-\ude22\ude24\ude27\ude29-\ude32\ude34-\ude37\ude39\ude3b\ude42\ude47\ude49\ude4b\ude4d-\ude4f\ude51-\ude52\ude54\ude57\ude59\ude5b\ude5d\ude5f\ude61-\ude62\ude64\ude67-\ude6a\ude6c-\ude72\ude74-\ude77\ude79-\ude7c\ude7e\ude80-\ude89\ude8b-\ude9b\udea1-\udea3\udea5-\udea9\udeab-\udebb]|\ud840[\udc00-\udfff]|\ud841[\udc00-\udfff]|\ud842[\udc00-\udfff]|\ud843[\udc00-\udfff]|\ud844[\udc00-\udfff]|\ud845[\udc00-\udfff]|\ud846[\udc00-\udfff]|\ud847[\udc00-\udfff]|\ud848[\udc00-\udfff]|\ud849[\udc00-\udfff]|\ud84a[\udc00-\udfff]|\ud84b[\udc00-\udfff]|\ud84c[\udc00-\udfff]|\ud84d[\udc00-\udfff]|\ud84e[\udc00-\udfff]|\ud84f[\udc00-\udfff]|\ud850[\udc00-\udfff]|\ud851[\udc00-\udfff]|\ud852[\udc00-\udfff]|\ud853[\udc00-\udfff]|\ud854[\udc00-\udfff]|\ud855[\udc00-\udfff]|\ud856[\udc00-\udfff]|\ud857[\udc00-\udfff]|\ud858[\udc00-\udfff]|\ud859[\udc00-\udfff]|\ud85a[\udc00-\udfff]|\ud85b[\udc00-\udfff]|\ud85c[\udc00-\udfff]|\ud85d[\udc00-\udfff]|\ud85e[\udc00-\udfff]|\ud85f[\udc00-\udfff]|\ud860[\udc00-\udfff]|\ud861[\udc00-\udfff]|\ud862[\udc00-\udfff]|\ud863[\udc00-\udfff]|\ud864[\udc00-\udfff]|\ud865[\udc00-\udfff]|\ud866[\udc00-\udfff]|\ud867[\udc00-\udfff]|\ud868[\udc00-\udfff]|\ud869[\udc00-\uded6\udf00-\udfff]|\ud86a[\udc00-\udfff]|\ud86b[\udc00-\udfff]|\ud86c[\udc00-\udfff]|\ud86d[\udc00-\udf34\udf40-\udfff]|\ud86e[\udc00-\udc1d\udc20-\udfff]|\ud86f[\udc00-\udfff]|\ud870[\udc00-\udfff]|\ud871[\udc00-\udfff]|\ud872[\udc00-\udfff]|\ud873[\udc00-\udea1\udeb0-\udfff]|\ud874[\udc00-\udfff]|\ud875[\udc00-\udfff]|\ud876[\udc00-\udfff]|\ud877[\udc00-\udfff]|\ud878[\udc00-\udfff]|\ud879[\udc00-\udfff]|\ud87a[\udc00-\udfe0]|\ud87e[\udc00-\ude1d]|\udb40[\udd00-\uddef])|[$_]|(\\u[0-9a-fA-F]{4}|\\u\{[0-9a-fA-F]{1,}\})|[\u200c\u200d])*>/,function(){return mHe(V$e.slice(3,-1),this.getCurrentState()),"NAMED_GROUP_REF"}],[/^\\b/,function(){return"ESC_b"}],[/^\\B/,function(){return"ESC_B"}],[/^\\c[a-zA-Z]/,function(){return"CTRL_CH"}],[/^\\0\d{1,2}/,function(){return"OCT_CODE"}],[/^\\0/,function(){return"DEC_CODE"}],[/^\\\d{1,3}/,function(){return"DEC_CODE"}],[/^\\u[dD][89abAB][0-9a-fA-F]{2}\\u[dD][c-fC-F][0-9a-fA-F]{2}/,function(){return"U_CODE_SURROGATE"}],[/^\\u\{[0-9a-fA-F]{1,}\}/,function(){return"U_CODE"}],[/^\\u[0-9a-fA-F]{4}/,function(){return"U_CODE"}],[/^\\[pP]\{\w+(?:=\w+)?\}/,function(){return"U_PROP_VALUE_EXP"}],[/^\\x[0-9a-fA-F]{2}/,function(){return"HEX_CODE"}],[/^\\[tnrdDsSwWvf]/,function(){return"META_CHAR"}],[/^\\\//,function(){return"ESC_CHAR"}],[/^\\[ #]/,function(){return"ESC_CHAR"}],[/^\\[\^\$\.\*\+\?\(\)\\\[\]\{\}\|\/]/,function(){return"ESC_CHAR"}],[/^\\[^*?+\[()\\|]/,function(){var e=this.getCurrentState();if("u_class"===e&&"\\-"===V$e)return"ESC_CHAR";if("u"===e||"xu"===e||"u_class"===e)throw new SyntaxError("invalid Unicode escape "+V$e);return"ESC_CHAR"}],[/^\(/,function(){return"CHAR"}],[/^\)/,function(){return"CHAR"}],[/^\(\?=/,function(){return"POS_LA_ASSERT"}],[/^\(\?!/,function(){return"NEG_LA_ASSERT"}],[/^\(\?<=/,function(){return"POS_LB_ASSERT"}],[/^\(\?<!/,function(){return"NEG_LB_ASSERT"}],[/^\(\?:/,function(){return"NON_CAPTURE_GROUP"}],[/^\(\?<(([\u0041-\u005a\u0061-\u007a\u00aa\u00b5\u00ba\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376-\u0377\u037a-\u037d\u037f\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u052f\u0531-\u0556\u0559\u0560-\u0588\u05d0-\u05ea\u05ef-\u05f2\u0620-\u064a\u066e-\u066f\u0671-\u06d3\u06d5\u06e5-\u06e6\u06ee-\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u07f4-\u07f5\u07fa\u0800-\u0815\u081a\u0824\u0828\u0840-\u0858\u0860-\u086a\u08a0-\u08b4\u08b6-\u08bd\u0904-\u0939\u093d\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098c\u098f-\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd\u09ce\u09dc-\u09dd\u09df-\u09e1\u09f0-\u09f1\u09fc\u0a05-\u0a0a\u0a0f-\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32-\u0a33\u0a35-\u0a36\u0a38-\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2-\u0ab3\u0ab5-\u0ab9\u0abd\u0ad0\u0ae0-\u0ae1\u0af9\u0b05-\u0b0c\u0b0f-\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32-\u0b33\u0b35-\u0b39\u0b3d\u0b5c-\u0b5d\u0b5f-\u0b61\u0b71\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99-\u0b9a\u0b9c\u0b9e-\u0b9f\u0ba3-\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3d\u0c58-\u0c5a\u0c60-\u0c61\u0c80\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cde\u0ce0-\u0ce1\u0cf1-\u0cf2\u0d05-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d\u0d4e\u0d54-\u0d56\u0d5f-\u0d61\u0d7a-\u0d7f\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0e01-\u0e30\u0e32-\u0e33\u0e40-\u0e46\u0e81-\u0e82\u0e84\u0e86-\u0e8a\u0e8c-\u0ea3\u0ea5\u0ea7-\u0eb0\u0eb2-\u0eb3\u0ebd\u0ec0-\u0ec4\u0ec6\u0edc-\u0edf\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f88-\u0f8c\u1000-\u102a\u103f\u1050-\u1055\u105a-\u105d\u1061\u1065-\u1066\u106e-\u1070\u1075-\u1081\u108e\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u1380-\u138f\u13a0-\u13f5\u13f8-\u13fd\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f8\u1700-\u170c\u170e-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1780-\u17b3\u17d7\u17dc\u1820-\u1878\u1880-\u18a8\u18aa\u18b0-\u18f5\u1900-\u191e\u1950-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u1a00-\u1a16\u1a20-\u1a54\u1aa7\u1b05-\u1b33\u1b45-\u1b4b\u1b83-\u1ba0\u1bae-\u1baf\u1bba-\u1be5\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c7d\u1c80-\u1c88\u1c90-\u1cba\u1cbd-\u1cbf\u1ce9-\u1cec\u1cee-\u1cf3\u1cf5-\u1cf6\u1cfa\u1d00-\u1dbf\u1e00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u2071\u207f\u2090-\u209c\u2102\u2107\u210a-\u2113\u2115\u2118-\u211d\u2124\u2126\u2128\u212a-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2c2e\u2c30-\u2c5e\u2c60-\u2ce4\u2ceb-\u2cee\u2cf2-\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303c\u3041-\u3096\u309b-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312f\u3131-\u318e\u31a0-\u31ba\u31f0-\u31ff\u3400-\u4db5\u4e00-\u9fef\ua000-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua61f\ua62a-\ua62b\ua640-\ua66e\ua67f-\ua69d\ua6a0-\ua6ef\ua717-\ua71f\ua722-\ua788\ua78b-\ua7bf\ua7c2-\ua7c6\ua7f7-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua8f2-\ua8f7\ua8fb\ua8fd-\ua8fe\ua90a-\ua925\ua930-\ua946\ua960-\ua97c\ua984-\ua9b2\ua9cf\ua9e0-\ua9e4\ua9e6-\ua9ef\ua9fa-\ua9fe\uaa00-\uaa28\uaa40-\uaa42\uaa44-\uaa4b\uaa60-\uaa76\uaa7a\uaa7e-\uaaaf\uaab1\uaab5-\uaab6\uaab9-\uaabd\uaac0\uaac2\uaadb-\uaadd\uaae0-\uaaea\uaaf2-\uaaf4\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab5a\uab5c-\uab67\uab70-\uabe2\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d\ufb1f-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40-\ufb41\ufb43-\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff21-\uff3a\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc]|\ud800[\udc00-\udc0b\udc0d-\udc26\udc28-\udc3a\udc3c-\udc3d\udc3f-\udc4d\udc50-\udc5d\udc80-\udcfa\udd40-\udd74\ude80-\ude9c\udea0-\uded0\udf00-\udf1f\udf2d-\udf4a\udf50-\udf75\udf80-\udf9d\udfa0-\udfc3\udfc8-\udfcf\udfd1-\udfd5]|\ud801[\udc00-\udc9d\udcb0-\udcd3\udcd8-\udcfb\udd00-\udd27\udd30-\udd63\ude00-\udf36\udf40-\udf55\udf60-\udf67]|\ud802[\udc00-\udc05\udc08\udc0a-\udc35\udc37-\udc38\udc3c\udc3f-\udc55\udc60-\udc76\udc80-\udc9e\udce0-\udcf2\udcf4-\udcf5\udd00-\udd15\udd20-\udd39\udd80-\uddb7\uddbe-\uddbf\ude00\ude10-\ude13\ude15-\ude17\ude19-\ude35\ude60-\ude7c\ude80-\ude9c\udec0-\udec7\udec9-\udee4\udf00-\udf35\udf40-\udf55\udf60-\udf72\udf80-\udf91]|\ud803[\udc00-\udc48\udc80-\udcb2\udcc0-\udcf2\udd00-\udd23\udf00-\udf1c\udf27\udf30-\udf45\udfe0-\udff6]|\ud804[\udc03-\udc37\udc83-\udcaf\udcd0-\udce8\udd03-\udd26\udd44\udd50-\udd72\udd76\udd83-\uddb2\uddc1-\uddc4\uddda\udddc\ude00-\ude11\ude13-\ude2b\ude80-\ude86\ude88\ude8a-\ude8d\ude8f-\ude9d\ude9f-\udea8\udeb0-\udede\udf05-\udf0c\udf0f-\udf10\udf13-\udf28\udf2a-\udf30\udf32-\udf33\udf35-\udf39\udf3d\udf50\udf5d-\udf61]|\ud805[\udc00-\udc34\udc47-\udc4a\udc5f\udc80-\udcaf\udcc4-\udcc5\udcc7\udd80-\uddae\uddd8-\udddb\ude00-\ude2f\ude44\ude80-\udeaa\udeb8\udf00-\udf1a]|\ud806[\udc00-\udc2b\udca0-\udcdf\udcff\udda0-\udda7\uddaa-\uddd0\udde1\udde3\ude00\ude0b-\ude32\ude3a\ude50\ude5c-\ude89\ude9d\udec0-\udef8]|\ud807[\udc00-\udc08\udc0a-\udc2e\udc40\udc72-\udc8f\udd00-\udd06\udd08-\udd09\udd0b-\udd30\udd46\udd60-\udd65\udd67-\udd68\udd6a-\udd89\udd98\udee0-\udef2]|\ud808[\udc00-\udf99]|\ud809[\udc00-\udc6e\udc80-\udd43]|\ud80c[\udc00-\udfff]|\ud80d[\udc00-\udc2e]|\ud811[\udc00-\ude46]|\ud81a[\udc00-\ude38\ude40-\ude5e\uded0-\udeed\udf00-\udf2f\udf40-\udf43\udf63-\udf77\udf7d-\udf8f]|\ud81b[\ude40-\ude7f\udf00-\udf4a\udf50\udf93-\udf9f\udfe0-\udfe1\udfe3]|\ud81c[\udc00-\udfff]|\ud81d[\udc00-\udfff]|\ud81e[\udc00-\udfff]|\ud81f[\udc00-\udfff]|\ud820[\udc00-\udfff]|\ud821[\udc00-\udff7]|\ud822[\udc00-\udef2]|\ud82c[\udc00-\udd1e\udd50-\udd52\udd64-\udd67\udd70-\udefb]|\ud82f[\udc00-\udc6a\udc70-\udc7c\udc80-\udc88\udc90-\udc99]|\ud835[\udc00-\udc54\udc56-\udc9c\udc9e-\udc9f\udca2\udca5-\udca6\udca9-\udcac\udcae-\udcb9\udcbb\udcbd-\udcc3\udcc5-\udd05\udd07-\udd0a\udd0d-\udd14\udd16-\udd1c\udd1e-\udd39\udd3b-\udd3e\udd40-\udd44\udd46\udd4a-\udd50\udd52-\udea5\udea8-\udec0\udec2-\udeda\udedc-\udefa\udefc-\udf14\udf16-\udf34\udf36-\udf4e\udf50-\udf6e\udf70-\udf88\udf8a-\udfa8\udfaa-\udfc2\udfc4-\udfcb]|\ud838[\udd00-\udd2c\udd37-\udd3d\udd4e\udec0-\udeeb]|\ud83a[\udc00-\udcc4\udd00-\udd43\udd4b]|\ud83b[\ude00-\ude03\ude05-\ude1f\ude21-\ude22\ude24\ude27\ude29-\ude32\ude34-\ude37\ude39\ude3b\ude42\ude47\ude49\ude4b\ude4d-\ude4f\ude51-\ude52\ude54\ude57\ude59\ude5b\ude5d\ude5f\ude61-\ude62\ude64\ude67-\ude6a\ude6c-\ude72\ude74-\ude77\ude79-\ude7c\ude7e\ude80-\ude89\ude8b-\ude9b\udea1-\udea3\udea5-\udea9\udeab-\udebb]|\ud840[\udc00-\udfff]|\ud841[\udc00-\udfff]|\ud842[\udc00-\udfff]|\ud843[\udc00-\udfff]|\ud844[\udc00-\udfff]|\ud845[\udc00-\udfff]|\ud846[\udc00-\udfff]|\ud847[\udc00-\udfff]|\ud848[\udc00-\udfff]|\ud849[\udc00-\udfff]|\ud84a[\udc00-\udfff]|\ud84b[\udc00-\udfff]|\ud84c[\udc00-\udfff]|\ud84d[\udc00-\udfff]|\ud84e[\udc00-\udfff]|\ud84f[\udc00-\udfff]|\ud850[\udc00-\udfff]|\ud851[\udc00-\udfff]|\ud852[\udc00-\udfff]|\ud853[\udc00-\udfff]|\ud854[\udc00-\udfff]|\ud855[\udc00-\udfff]|\ud856[\udc00-\udfff]|\ud857[\udc00-\udfff]|\ud858[\udc00-\udfff]|\ud859[\udc00-\udfff]|\ud85a[\udc00-\udfff]|\ud85b[\udc00-\udfff]|\ud85c[\udc00-\udfff]|\ud85d[\udc00-\udfff]|\ud85e[\udc00-\udfff]|\ud85f[\udc00-\udfff]|\ud860[\udc00-\udfff]|\ud861[\udc00-\udfff]|\ud862[\udc00-\udfff]|\ud863[\udc00-\udfff]|\ud864[\udc00-\udfff]|\ud865[\udc00-\udfff]|\ud866[\udc00-\udfff]|\ud867[\udc00-\udfff]|\ud868[\udc00-\udfff]|\ud869[\udc00-\uded6\udf00-\udfff]|\ud86a[\udc00-\udfff]|\ud86b[\udc00-\udfff]|\ud86c[\udc00-\udfff]|\ud86d[\udc00-\udf34\udf40-\udfff]|\ud86e[\udc00-\udc1d\udc20-\udfff]|\ud86f[\udc00-\udfff]|\ud870[\udc00-\udfff]|\ud871[\udc00-\udfff]|\ud872[\udc00-\udfff]|\ud873[\udc00-\udea1\udeb0-\udfff]|\ud874[\udc00-\udfff]|\ud875[\udc00-\udfff]|\ud876[\udc00-\udfff]|\ud877[\udc00-\udfff]|\ud878[\udc00-\udfff]|\ud879[\udc00-\udfff]|\ud87a[\udc00-\udfe0]|\ud87e[\udc00-\ude1d])|[$_]|(\\u[0-9a-fA-F]{4}|\\u\{[0-9a-fA-F]{1,}\}))(([\u0030-\u0039\u0041-\u005a\u005f\u0061-\u007a\u00aa\u00b5\u00b7\u00ba\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0300-\u0374\u0376-\u0377\u037a-\u037d\u037f\u0386-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u0483-\u0487\u048a-\u052f\u0531-\u0556\u0559\u0560-\u0588\u0591-\u05bd\u05bf\u05c1-\u05c2\u05c4-\u05c5\u05c7\u05d0-\u05ea\u05ef-\u05f2\u0610-\u061a\u0620-\u0669\u066e-\u06d3\u06d5-\u06dc\u06df-\u06e8\u06ea-\u06fc\u06ff\u0710-\u074a\u074d-\u07b1\u07c0-\u07f5\u07fa\u07fd\u0800-\u082d\u0840-\u085b\u0860-\u086a\u08a0-\u08b4\u08b6-\u08bd\u08d3-\u08e1\u08e3-\u0963\u0966-\u096f\u0971-\u0983\u0985-\u098c\u098f-\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bc-\u09c4\u09c7-\u09c8\u09cb-\u09ce\u09d7\u09dc-\u09dd\u09df-\u09e3\u09e6-\u09f1\u09fc\u09fe\u0a01-\u0a03\u0a05-\u0a0a\u0a0f-\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32-\u0a33\u0a35-\u0a36\u0a38-\u0a39\u0a3c\u0a3e-\u0a42\u0a47-\u0a48\u0a4b-\u0a4d\u0a51\u0a59-\u0a5c\u0a5e\u0a66-\u0a75\u0a81-\u0a83\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2-\u0ab3\u0ab5-\u0ab9\u0abc-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ad0\u0ae0-\u0ae3\u0ae6-\u0aef\u0af9-\u0aff\u0b01-\u0b03\u0b05-\u0b0c\u0b0f-\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32-\u0b33\u0b35-\u0b39\u0b3c-\u0b44\u0b47-\u0b48\u0b4b-\u0b4d\u0b56-\u0b57\u0b5c-\u0b5d\u0b5f-\u0b63\u0b66-\u0b6f\u0b71\u0b82-\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99-\u0b9a\u0b9c\u0b9e-\u0b9f\u0ba3-\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd0\u0bd7\u0be6-\u0bef\u0c00-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3d-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55-\u0c56\u0c58-\u0c5a\u0c60-\u0c63\u0c66-\u0c6f\u0c80-\u0c83\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbc-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5-\u0cd6\u0cde\u0ce0-\u0ce3\u0ce6-\u0cef\u0cf1-\u0cf2\u0d00-\u0d03\u0d05-\u0d0c\u0d0e-\u0d10\u0d12-\u0d44\u0d46-\u0d48\u0d4a-\u0d4e\u0d54-\u0d57\u0d5f-\u0d63\u0d66-\u0d6f\u0d7a-\u0d7f\u0d82-\u0d83\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2-\u0df3\u0e01-\u0e3a\u0e40-\u0e4e\u0e50-\u0e59\u0e81-\u0e82\u0e84\u0e86-\u0e8a\u0e8c-\u0ea3\u0ea5\u0ea7-\u0ebd\u0ec0-\u0ec4\u0ec6\u0ec8-\u0ecd\u0ed0-\u0ed9\u0edc-\u0edf\u0f00\u0f18-\u0f19\u0f20-\u0f29\u0f35\u0f37\u0f39\u0f3e-\u0f47\u0f49-\u0f6c\u0f71-\u0f84\u0f86-\u0f97\u0f99-\u0fbc\u0fc6\u1000-\u1049\u1050-\u109d\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u135d-\u135f\u1369-\u1371\u1380-\u138f\u13a0-\u13f5\u13f8-\u13fd\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f8\u1700-\u170c\u170e-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176c\u176e-\u1770\u1772-\u1773\u1780-\u17d3\u17d7\u17dc-\u17dd\u17e0-\u17e9\u180b-\u180d\u1810-\u1819\u1820-\u1878\u1880-\u18aa\u18b0-\u18f5\u1900-\u191e\u1920-\u192b\u1930-\u193b\u1946-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u19d0-\u19da\u1a00-\u1a1b\u1a20-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1aa7\u1ab0-\u1abd\u1b00-\u1b4b\u1b50-\u1b59\u1b6b-\u1b73\u1b80-\u1bf3\u1c00-\u1c37\u1c40-\u1c49\u1c4d-\u1c7d\u1c80-\u1c88\u1c90-\u1cba\u1cbd-\u1cbf\u1cd0-\u1cd2\u1cd4-\u1cfa\u1d00-\u1df9\u1dfb-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u203f-\u2040\u2054\u2071\u207f\u2090-\u209c\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2102\u2107\u210a-\u2113\u2115\u2118-\u211d\u2124\u2126\u2128\u212a-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2c2e\u2c30-\u2c5e\u2c60-\u2ce4\u2ceb-\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d7f-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u2de0-\u2dff\u3005-\u3007\u3021-\u302f\u3031-\u3035\u3038-\u303c\u3041-\u3096\u3099-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312f\u3131-\u318e\u31a0-\u31ba\u31f0-\u31ff\u3400-\u4db5\u4e00-\u9fef\ua000-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua62b\ua640-\ua66f\ua674-\ua67d\ua67f-\ua6f1\ua717-\ua71f\ua722-\ua788\ua78b-\ua7bf\ua7c2-\ua7c6\ua7f7-\ua827\ua840-\ua873\ua880-\ua8c5\ua8d0-\ua8d9\ua8e0-\ua8f7\ua8fb\ua8fd-\ua92d\ua930-\ua953\ua960-\ua97c\ua980-\ua9c0\ua9cf-\ua9d9\ua9e0-\ua9fe\uaa00-\uaa36\uaa40-\uaa4d\uaa50-\uaa59\uaa60-\uaa76\uaa7a-\uaac2\uaadb-\uaadd\uaae0-\uaaef\uaaf2-\uaaf6\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab5a\uab5c-\uab67\uab70-\uabea\uabec-\uabed\uabf0-\uabf9\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40-\ufb41\ufb43-\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe00-\ufe0f\ufe20-\ufe2f\ufe33-\ufe34\ufe4d-\ufe4f\ufe70-\ufe74\ufe76-\ufefc\uff10-\uff19\uff21-\uff3a\uff3f\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc]|\ud800[\udc00-\udc0b\udc0d-\udc26\udc28-\udc3a\udc3c-\udc3d\udc3f-\udc4d\udc50-\udc5d\udc80-\udcfa\udd40-\udd74\uddfd\ude80-\ude9c\udea0-\uded0\udee0\udf00-\udf1f\udf2d-\udf4a\udf50-\udf7a\udf80-\udf9d\udfa0-\udfc3\udfc8-\udfcf\udfd1-\udfd5]|\ud801[\udc00-\udc9d\udca0-\udca9\udcb0-\udcd3\udcd8-\udcfb\udd00-\udd27\udd30-\udd63\ude00-\udf36\udf40-\udf55\udf60-\udf67]|\ud802[\udc00-\udc05\udc08\udc0a-\udc35\udc37-\udc38\udc3c\udc3f-\udc55\udc60-\udc76\udc80-\udc9e\udce0-\udcf2\udcf4-\udcf5\udd00-\udd15\udd20-\udd39\udd80-\uddb7\uddbe-\uddbf\ude00-\ude03\ude05-\ude06\ude0c-\ude13\ude15-\ude17\ude19-\ude35\ude38-\ude3a\ude3f\ude60-\ude7c\ude80-\ude9c\udec0-\udec7\udec9-\udee6\udf00-\udf35\udf40-\udf55\udf60-\udf72\udf80-\udf91]|\ud803[\udc00-\udc48\udc80-\udcb2\udcc0-\udcf2\udd00-\udd27\udd30-\udd39\udf00-\udf1c\udf27\udf30-\udf50\udfe0-\udff6]|\ud804[\udc00-\udc46\udc66-\udc6f\udc7f-\udcba\udcd0-\udce8\udcf0-\udcf9\udd00-\udd34\udd36-\udd3f\udd44-\udd46\udd50-\udd73\udd76\udd80-\uddc4\uddc9-\uddcc\uddd0-\uddda\udddc\ude00-\ude11\ude13-\ude37\ude3e\ude80-\ude86\ude88\ude8a-\ude8d\ude8f-\ude9d\ude9f-\udea8\udeb0-\udeea\udef0-\udef9\udf00-\udf03\udf05-\udf0c\udf0f-\udf10\udf13-\udf28\udf2a-\udf30\udf32-\udf33\udf35-\udf39\udf3b-\udf44\udf47-\udf48\udf4b-\udf4d\udf50\udf57\udf5d-\udf63\udf66-\udf6c\udf70-\udf74]|\ud805[\udc00-\udc4a\udc50-\udc59\udc5e-\udc5f\udc80-\udcc5\udcc7\udcd0-\udcd9\udd80-\uddb5\uddb8-\uddc0\uddd8-\udddd\ude00-\ude40\ude44\ude50-\ude59\ude80-\udeb8\udec0-\udec9\udf00-\udf1a\udf1d-\udf2b\udf30-\udf39]|\ud806[\udc00-\udc3a\udca0-\udce9\udcff\udda0-\udda7\uddaa-\uddd7\uddda-\udde1\udde3-\udde4\ude00-\ude3e\ude47\ude50-\ude99\ude9d\udec0-\udef8]|\ud807[\udc00-\udc08\udc0a-\udc36\udc38-\udc40\udc50-\udc59\udc72-\udc8f\udc92-\udca7\udca9-\udcb6\udd00-\udd06\udd08-\udd09\udd0b-\udd36\udd3a\udd3c-\udd3d\udd3f-\udd47\udd50-\udd59\udd60-\udd65\udd67-\udd68\udd6a-\udd8e\udd90-\udd91\udd93-\udd98\udda0-\udda9\udee0-\udef6]|\ud808[\udc00-\udf99]|\ud809[\udc00-\udc6e\udc80-\udd43]|\ud80c[\udc00-\udfff]|\ud80d[\udc00-\udc2e]|\ud811[\udc00-\ude46]|\ud81a[\udc00-\ude38\ude40-\ude5e\ude60-\ude69\uded0-\udeed\udef0-\udef4\udf00-\udf36\udf40-\udf43\udf50-\udf59\udf63-\udf77\udf7d-\udf8f]|\ud81b[\ude40-\ude7f\udf00-\udf4a\udf4f-\udf87\udf8f-\udf9f\udfe0-\udfe1\udfe3]|\ud81c[\udc00-\udfff]|\ud81d[\udc00-\udfff]|\ud81e[\udc00-\udfff]|\ud81f[\udc00-\udfff]|\ud820[\udc00-\udfff]|\ud821[\udc00-\udff7]|\ud822[\udc00-\udef2]|\ud82c[\udc00-\udd1e\udd50-\udd52\udd64-\udd67\udd70-\udefb]|\ud82f[\udc00-\udc6a\udc70-\udc7c\udc80-\udc88\udc90-\udc99\udc9d-\udc9e]|\ud834[\udd65-\udd69\udd6d-\udd72\udd7b-\udd82\udd85-\udd8b\uddaa-\uddad\ude42-\ude44]|\ud835[\udc00-\udc54\udc56-\udc9c\udc9e-\udc9f\udca2\udca5-\udca6\udca9-\udcac\udcae-\udcb9\udcbb\udcbd-\udcc3\udcc5-\udd05\udd07-\udd0a\udd0d-\udd14\udd16-\udd1c\udd1e-\udd39\udd3b-\udd3e\udd40-\udd44\udd46\udd4a-\udd50\udd52-\udea5\udea8-\udec0\udec2-\udeda\udedc-\udefa\udefc-\udf14\udf16-\udf34\udf36-\udf4e\udf50-\udf6e\udf70-\udf88\udf8a-\udfa8\udfaa-\udfc2\udfc4-\udfcb\udfce-\udfff]|\ud836[\ude00-\ude36\ude3b-\ude6c\ude75\ude84\ude9b-\ude9f\udea1-\udeaf]|\ud838[\udc00-\udc06\udc08-\udc18\udc1b-\udc21\udc23-\udc24\udc26-\udc2a\udd00-\udd2c\udd30-\udd3d\udd40-\udd49\udd4e\udec0-\udef9]|\ud83a[\udc00-\udcc4\udcd0-\udcd6\udd00-\udd4b\udd50-\udd59]|\ud83b[\ude00-\ude03\ude05-\ude1f\ude21-\ude22\ude24\ude27\ude29-\ude32\ude34-\ude37\ude39\ude3b\ude42\ude47\ude49\ude4b\ude4d-\ude4f\ude51-\ude52\ude54\ude57\ude59\ude5b\ude5d\ude5f\ude61-\ude62\ude64\ude67-\ude6a\ude6c-\ude72\ude74-\ude77\ude79-\ude7c\ude7e\ude80-\ude89\ude8b-\ude9b\udea1-\udea3\udea5-\udea9\udeab-\udebb]|\ud840[\udc00-\udfff]|\ud841[\udc00-\udfff]|\ud842[\udc00-\udfff]|\ud843[\udc00-\udfff]|\ud844[\udc00-\udfff]|\ud845[\udc00-\udfff]|\ud846[\udc00-\udfff]|\ud847[\udc00-\udfff]|\ud848[\udc00-\udfff]|\ud849[\udc00-\udfff]|\ud84a[\udc00-\udfff]|\ud84b[\udc00-\udfff]|\ud84c[\udc00-\udfff]|\ud84d[\udc00-\udfff]|\ud84e[\udc00-\udfff]|\ud84f[\udc00-\udfff]|\ud850[\udc00-\udfff]|\ud851[\udc00-\udfff]|\ud852[\udc00-\udfff]|\ud853[\udc00-\udfff]|\ud854[\udc00-\udfff]|\ud855[\udc00-\udfff]|\ud856[\udc00-\udfff]|\ud857[\udc00-\udfff]|\ud858[\udc00-\udfff]|\ud859[\udc00-\udfff]|\ud85a[\udc00-\udfff]|\ud85b[\udc00-\udfff]|\ud85c[\udc00-\udfff]|\ud85d[\udc00-\udfff]|\ud85e[\udc00-\udfff]|\ud85f[\udc00-\udfff]|\ud860[\udc00-\udfff]|\ud861[\udc00-\udfff]|\ud862[\udc00-\udfff]|\ud863[\udc00-\udfff]|\ud864[\udc00-\udfff]|\ud865[\udc00-\udfff]|\ud866[\udc00-\udfff]|\ud867[\udc00-\udfff]|\ud868[\udc00-\udfff]|\ud869[\udc00-\uded6\udf00-\udfff]|\ud86a[\udc00-\udfff]|\ud86b[\udc00-\udfff]|\ud86c[\udc00-\udfff]|\ud86d[\udc00-\udf34\udf40-\udfff]|\ud86e[\udc00-\udc1d\udc20-\udfff]|\ud86f[\udc00-\udfff]|\ud870[\udc00-\udfff]|\ud871[\udc00-\udfff]|\ud872[\udc00-\udfff]|\ud873[\udc00-\udea1\udeb0-\udfff]|\ud874[\udc00-\udfff]|\ud875[\udc00-\udfff]|\ud876[\udc00-\udfff]|\ud877[\udc00-\udfff]|\ud878[\udc00-\udfff]|\ud879[\udc00-\udfff]|\ud87a[\udc00-\udfe0]|\ud87e[\udc00-\ude1d]|\udb40[\udd00-\uddef])|[$_]|(\\u[0-9a-fA-F]{4}|\\u\{[0-9a-fA-F]{1,}\})|[\u200c\u200d])*>/,function(){return mHe(V$e=V$e.slice(3,-1),this.getCurrentState()),"NAMED_CAPTURE_GROUP"}],[/^\(/,function(){return"L_PAREN"}],[/^\)/,function(){return"R_PAREN"}],[/^[*?+[^$]/,function(){return"CHAR"}],[/^\\\]/,function(){return"ESC_CHAR"}],[/^\]/,function(){return this.popState(),"R_BRACKET"}],[/^\^/,function(){return"BOS"}],[/^\$/,function(){return"EOS"}],[/^\*/,function(){return"STAR"}],[/^\?/,function(){return"Q_MARK"}],[/^\+/,function(){return"PLUS"}],[/^\|/,function(){return"BAR"}],[/^\./,function(){return"ANY"}],[/^\//,function(){return"SLASH"}],[/^[^*?+\[()\\|]/,function(){return"CHAR"}],[/^\[\^/,function(){var e=this.getCurrentState();return this.pushState("u"===e||"xu"===e?"u_class":"class"),"NEG_CLASS"}],[/^\[/,function(){var e=this.getCurrentState();return this.pushState("u"===e||"xu"===e?"u_class":"class"),"L_BRACKET"}]],eHe={INITIAL:[8,9,10,11,12,13,14,15,16,17,20,22,23,24,26,27,30,31,32,33,34,35,36,37,41,42,43,44,45,46,47,48,49,50,51],u:[8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,26,27,30,31,32,33,34,35,36,37,41,42,43,44,45,46,47,48,49,50,51],xu:[0,1,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,30,31,32,33,34,35,36,37,41,42,43,44,45,46,47,48,49,50,51],x:[0,1,8,9,10,11,12,13,14,15,16,17,20,22,23,24,26,27,30,31,32,33,34,35,36,37,41,42,43,44,45,46,47,48,49,50,51],u_class:[2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51],class:[2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,20,22,23,24,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51]},tHe={type:"$",value:""};Q$e={initString:function(e){return this._string=e,this._cursor=0,this._states=["INITIAL"],this._tokensQueue=[],this._currentLine=1,this._currentColumn=0,this._currentLineBeginOffset=0,this._tokenStartOffset=0,this._tokenEndOffset=0,this._tokenStartLine=1,this._tokenEndLine=1,this._tokenStartColumn=0,this._tokenEndColumn=0,this},getStates:function(){return this._states},getCurrentState:function(){return this._states[this._states.length-1]},pushState:function(e){this._states.push(e)},begin:function(e){this.pushState(e)},popState:function(){return this._states.length>1?this._states.pop():this._states[0]},getNextToken:function(){if(this._tokensQueue.length>0)return this.onToken(this._toToken(this._tokensQueue.shift()));if(!this.hasMoreTokens())return this.onToken(tHe);for(var e=this._string.slice(this._cursor),t=eHe[this.getCurrentState()],n=0;n<t.length;n++){var r=t[n],i=Z$e[r],s=this._match(e,i[0]);if(""===e&&""===s&&this._cursor++,null!==s){(V$e=s).length;var a=i[1].call(this);if(!a)return this.getNextToken();if(Array.isArray(a)){var o,c=a.slice(1);if(a=a[0],c.length>0)(o=this._tokensQueue).unshift.apply(o,J$e(c))}return this.onToken(this._toToken(a,V$e))}}if(this.isEOF())return this._cursor++,tHe;this.throwUnexpectedToken(e[0],this._currentLine,this._currentColumn)},throwUnexpectedToken:function(e,t,n){var r=this._string.split("\n")[t-1],i="";r&&(i="\n\n"+r+"\n"+" ".repeat(n)+"^\n");throw new SyntaxError(i+'Unexpected token: "'+e+'" at '+t+":"+n+".")},getCursor:function(){return this._cursor},getCurrentLine:function(){return this._currentLine},getCurrentColumn:function(){return this._currentColumn},_captureLocation:function(e){var t=/\n/g;this._tokenStartOffset=this._cursor,this._tokenStartLine=this._currentLine,this._tokenStartColumn=this._tokenStartOffset-this._currentLineBeginOffset;for(var n=void 0;null!==(n=t.exec(e));)this._currentLine++,this._currentLineBeginOffset=this._tokenStartOffset+n.index+1;this._tokenEndOffset=this._cursor+e.length,this._tokenEndLine=this._currentLine,this._tokenEndColumn=this._currentColumn=this._tokenEndOffset-this._currentLineBeginOffset},_toToken:function(e){return{type:e,value:arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",startOffset:this._tokenStartOffset,endOffset:this._tokenEndOffset,startLine:this._tokenStartLine,endLine:this._tokenEndLine,startColumn:this._tokenStartColumn,endColumn:this._tokenEndColumn}},isEOF:function(){return this._cursor===this._string.length},hasMoreTokens:function(){return this._cursor<=this._string.length},_match:function(e,t){var n=e.match(t);return n?(this._captureLocation(n[0]),this._cursor+=n[0].length,n[0]):null},onToken:function(e){return e}},K$e.lexer=Q$e,K$e.tokenizer=Q$e,K$e.options={captureLocations:!0};var nHe={setOptions:function(e){return K$e.options=e,this},getOptions:function(){return K$e.options},parse:function(e,t){if(!Q$e)throw new Error("Tokenizer instance wasn't specified.");Q$e.initString(e);var n=K$e.options;t&&(K$e.options=Object.assign({},K$e.options,t)),nHe.onParseBegin(e,Q$e,K$e.options),G$e.length=0,G$e.push(0);var r=Q$e.getNextToken(),i=null;do{r||(K$e.options=n,bHe());var s=G$e[G$e.length-1],a=z$e[r.type];Y$e[s].hasOwnProperty(a)||(K$e.options=n,SHe(r));var o=Y$e[s][a];if("s"===o[0]){var c=null;K$e.options.captureLocations&&(c={startOffset:r.startOffset,endOffset:r.endOffset,startLine:r.startLine,endLine:r.endLine,startColumn:r.startColumn,endColumn:r.endColumn}),i=this.onShift(r),G$e.push({symbol:z$e[i.type],semanticValue:i.value,loc:c},Number(o.slice(1))),r=Q$e.getNextToken()}else if("r"===o[0]){var u=o.slice(1),l=H$e[u],p="function"==typeof l[2],d=p?[]:null,h=p&&K$e.options.captureLocations?[]:null;if(0!==l[1])for(var f=l[1];f-- >0;){G$e.pop();var m=G$e.pop();p&&(d.unshift(m.semanticValue),h&&h.unshift(m.loc))}var y={symbol:l[0]};if(p){V$e=i?i.value:null,i&&i.value.length;var g=null!==h?d.concat(h):d;l[2].apply(l,J$e(g)),y.semanticValue=W$e,h&&(y.loc=X$e)}var x=G$e[G$e.length-1],T=l[0];G$e.push(y,Y$e[x][T])}else if("acc"===o){G$e.pop();var S=G$e.pop();return(1!==G$e.length||0!==G$e[0]||Q$e.hasMoreTokens())&&(K$e.options=n,SHe(r)),S.hasOwnProperty("semanticValue")?(K$e.options=n,nHe.onParseEnd(S.semanticValue),S.semanticValue):(nHe.onParseEnd(),K$e.options=n,!0)}}while(Q$e.hasMoreTokens()||G$e.length>1)},setTokenizer:function(e){return Q$e=e,nHe},getTokenizer:function(){return Q$e},onParseBegin:function(e,t,n){},onParseEnd:function(e){},onShift:function(e){return e}},rHe=0,iHe={},sHe="";function aHe(e){var t=e.match(/\d+/g).map(Number);if(Number.isFinite(t[1])&&t[1]<t[0])throw new SyntaxError("Numbers out of order in "+e+" quantifier");return t}function oHe(e,t){if("control"===e.kind||"control"===t.kind||!isNaN(e.codePoint)&&!isNaN(t.codePoint)&&e.codePoint>t.codePoint)throw new SyntaxError("Range "+e.value+"-"+t.value+" out of order in character class")}nHe.onParseBegin=function(e,t){sHe=e,rHe=0,iHe={};var n=e.lastIndexOf("/"),r=e.slice(n);r.includes("x")&&r.includes("u")?t.pushState("xu"):(r.includes("x")&&t.pushState("x"),r.includes("u")&&t.pushState("u"))},nHe.onShift=function(e){return"L_PAREN"!==e.type&&"NAMED_CAPTURE_GROUP"!==e.type||(e.value=new String(e.value),e.value.groupNumber=++rHe),e};var cHe=U$e;function uHe(e,t,n){var r=void 0,i=void 0;switch(t){case"decimal":i=Number(e.slice(1)),r=String.fromCodePoint(i);break;case"oct":i=parseInt(e.slice(1),8),r=String.fromCodePoint(i);break;case"hex":case"unicode":if(e.lastIndexOf("\\u")>0){var s=e.split("\\u").slice(1),a=q$e(s,2),o=a[0],c=a[1];i=1024*((o=parseInt(o,16))-55296)+((c=parseInt(c,16))-56320)+65536,r=String.fromCodePoint(i)}else{var u=e.slice(2).replace("{","");if((i=parseInt(u,16))>1114111)throw new SyntaxError("Bad character escape sequence: "+e);r=String.fromCodePoint(i)}break;case"meta":switch(e){case"\\t":i=(r="\t").codePointAt(0);break;case"\\n":i=(r="\n").codePointAt(0);break;case"\\r":i=(r="\r").codePointAt(0);break;case"\\v":i=(r="\v").codePointAt(0);break;case"\\f":i=(r="\f").codePointAt(0);break;case"\\b":i=(r="\b").codePointAt(0);case"\\0":r="\0",i=0;case".":r=".",i=NaN;break;default:i=NaN}break;case"simple":i=(r=e).codePointAt(0)}return xHe({type:"Char",value:e,kind:t,symbol:r,codePoint:i},n)}var lHe="gimsuxy";function pHe(e){var t=new Set,n=!0,r=!1,i=void 0;try{for(var s,a=e[Symbol.iterator]();!(n=(s=a.next()).done);n=!0){var o=s.value;if(t.has(o)||!lHe.includes(o))throw new SyntaxError("Invalid flags: "+e);t.add(o)}}catch(e){r=!0,i=e}finally{try{!n&&a.return&&a.return()}finally{if(r)throw i}}return e.split("").sort().join("")}var dHe=/^\\u[0-9a-fA-F]{4}/,hHe=/^\\u\{[0-9a-fA-F]{1,}\}/,fHe=/\\u\{[0-9a-fA-F]{1,}\}/;function mHe(e,t){if(fHe.test(e)&&!("u"===t||"xu"===t||"u_class"===t))throw new SyntaxError('invalid group Unicode name "'+e+'", use `u` flag.');return e}var yHe=/\\u(?:([dD][89aAbB][0-9a-fA-F]{2})\\u([dD][c-fC-F][0-9a-fA-F]{2})|([dD][89aAbB][0-9a-fA-F]{2})|([dD][c-fC-F][0-9a-fA-F]{2})|([0-9a-ce-fA-CE-F][0-9a-fA-F]{3}|[dD][0-7][0-9a-fA-F]{2})|\{(0*(?:[0-9a-fA-F]{1,5}|10[0-9a-fA-F]{4}))\})/;function gHe(e){return e.replace(new RegExp(yHe,"g"),function(e,t,n,r,i,s,a){return t?String.fromCodePoint(parseInt(t,16),parseInt(n,16)):r?String.fromCodePoint(parseInt(r,16)):i?String.fromCodePoint(parseInt(i,16)):s?String.fromCodePoint(parseInt(s,16)):a?String.fromCodePoint(parseInt(a,16)):e})}function xHe(e,t){return K$e.options.captureLocations&&(e.loc={source:sHe.slice(t.startOffset,t.endOffset),start:{line:t.startLine,column:t.startColumn,offset:t.startOffset},end:{line:t.endLine,column:t.endColumn,offset:t.endOffset}}),e}function THe(e,t){return K$e.options.captureLocations?{startOffset:e.startOffset,endOffset:t.endOffset,startLine:e.startLine,endLine:t.endLine,startColumn:e.startColumn,endColumn:t.endColumn}:null}function SHe(e){"$"===e.type&&bHe(),Q$e.throwUnexpectedToken(e.value,e.startLine,e.startColumn)}function bHe(){!function(e){throw new SyntaxError(e)}("Unexpected end of input.")}var EHe=nHe;EHe.default;var PHe=EHe,vHe=PHe.parse.bind(PHe);PHe.parse=function(e,t){return vHe(""+e,t)},PHe.setOptions({captureLocations:!1});var AHe=PHe;AHe.default;var CHe=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();var wHe="expressions",kHe="expression",IHe=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.node=t,this.parentPath=n,this.parent=n?n.node:null,this.property=r,this.index=i}return CHe(e,[{key:"_enforceProp",value:function(e){if(!this.node.hasOwnProperty(e))throw new Error("Node of type "+this.node.type+" doesn't have \""+e+'" collection.')}},{key:"setChild",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,i=void 0;return null!=n?(r||(r=wHe),this._enforceProp(r),this.node[r][n]=t,i=e.getForNode(t,this,r,n)):(r||(r=kHe),this._enforceProp(r),this.node[r]=t,i=e.getForNode(t,this,r,null)),i}},{key:"appendChild",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;t||(t=wHe),this._enforceProp(t);var n=this.node[t].length;return this.setChild(e,n,t)}},{key:"insertChildAt",value:function(t,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:wHe;this._enforceProp(r),this.node[r].splice(n,0,t),n<=e.getTraversingIndex()&&e.updateTraversingIndex(1),this._rebuildIndex(this.node,r)}},{key:"remove",value:function(){if(!this.isRemoved()&&(e.registry.delete(this.node),this.node=null,this.parent)){if(null!==this.index)return this.parent[this.property].splice(this.index,1),this.index<=e.getTraversingIndex()&&e.updateTraversingIndex(-1),this._rebuildIndex(this.parent,this.property),this.index=null,void(this.property=null);delete this.parent[this.property],this.property=null}}},{key:"_rebuildIndex",value:function(t,n){for(var r=e.getForNode(t),i=0;i<t[n].length;i++){e.getForNode(t[n][i],r,n,i).index=i}}},{key:"isRemoved",value:function(){return null===this.node}},{key:"replace",value:function(t){return e.registry.delete(this.node),this.node=t,this.parent?(null!==this.index?this.parent[this.property][this.index]=t:this.parent[this.property]=t,e.getForNode(t,this.parentPath,this.property,this.index)):null}},{key:"update",value:function(e){Object.assign(this.node,e)}},{key:"getParent",value:function(){return this.parentPath}},{key:"getChild",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return this.node.expressions?e.getForNode(this.node.expressions[t],this,wHe,t):this.node.expression&&0==t?e.getForNode(this.node.expression,this,kHe):null}},{key:"hasEqualSource",value:function(e){return JSON.stringify(this.node,NHe)===JSON.stringify(e.node,NHe)}},{key:"jsonEncode",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.format,n=e.useLoc;return JSON.stringify(this.node,n?null:NHe,t)}},{key:"getPreviousSibling",value:function(){return this.parent&&null!=this.index?e.getForNode(this.parent[this.property][this.index-1],e.getForNode(this.parent),this.property,this.index-1):null}},{key:"getNextSibling",value:function(){return this.parent&&null!=this.index?e.getForNode(this.parent[this.property][this.index+1],e.getForNode(this.parent),this.property,this.index+1):null}}],[{key:"getForNode",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:-1;if(!t)return null;e.registry.has(t)||e.registry.set(t,new e(t,n,r,-1==i?null:i));var s=e.registry.get(t);return null!==n&&(s.parentPath=n,s.parent=s.parentPath.node),null!==r&&(s.property=r),i>=0&&(s.index=i),s}},{key:"initRegistry",value:function(){e.registry||(e.registry=new Map),e.registry.clear()}},{key:"updateTraversingIndex",value:function(t){return e.traversingIndexStack[e.traversingIndexStack.length-1]+=t}},{key:"getTraversingIndex",value:function(){return e.traversingIndexStack[e.traversingIndexStack.length-1]}}]),e}();function NHe(e,t){if("loc"!==e)return t}IHe.initRegistry(),IHe.traversingIndexStack=[];var DHe=IHe;DHe.default;var LHe=DHe;var _He={traverse:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{asNodes:!1};function r(e,t,n,r){var i=LHe.getForNode(t);return LHe.getForNode(e,i,n,r)}Array.isArray(t)||(t=[t]),t=t.filter(function(t){return"function"!=typeof t.shouldRun||t.shouldRun(e)}),LHe.initRegistry(),t.forEach(function(t){"function"==typeof t.init&&t.init(e)}),function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.pre,r=t.post,i=t.skipProperty;!function e(t,s,a,o){if(t&&"string"==typeof t.type){var c=void 0;if(n&&(c=n(t,s,a,o)),!1!==c)for(var u in s&&s[a]&&(t=isNaN(o)?s[a]:s[a][o]),t)if(t.hasOwnProperty(u)){if(i?i(u,t):"$"===u[0])continue;var l=t[u];if(Array.isArray(l)){var p=0;for(LHe.traversingIndexStack.push(p);p<l.length;)e(l[p],t,u,p),p=LHe.updateTraversingIndex(1);LHe.traversingIndexStack.pop()}else e(l,t,u)}r&&r(t,s,a,o)}}(e,null)}(e,{pre:function(e,i,s,a){var o=void 0;n.asNodes||(o=r(e,i,s,a));var c=!0,u=!1,l=void 0;try{for(var p,d=t[Symbol.iterator]();!(c=(p=d.next()).done);c=!0){var h=p.value;if("function"==typeof h["*"])if(o){if(!o.isRemoved())if(!1===h["*"](o))return!1}else h["*"](e,i,s,a);var f=void 0;if("function"==typeof h[e.type]?f=h[e.type]:"object"==typeof h[e.type]&&"function"==typeof h[e.type].pre&&(f=h[e.type].pre),f)if(o){if(!o.isRemoved())if(!1===f.call(h,o))return!1}else f.call(h,e,i,s,a)}}catch(e){u=!0,l=e}finally{try{!c&&d.return&&d.return()}finally{if(u)throw l}}},post:function(e,i,s,a){if(e){var o=void 0;n.asNodes||(o=r(e,i,s,a));var c=!0,u=!1,l=void 0;try{for(var p,d=t[Symbol.iterator]();!(c=(p=d.next()).done);c=!0){var h=p.value,f=void 0;if("object"==typeof h[e.type]&&"function"==typeof h[e.type].post&&(f=h[e.type].post),f)if(o){if(!o.isRemoved())if(!1===f.call(h,o))return!1}else f.call(h,e,i,s,a)}}catch(e){u=!0,l=e}finally{try{!c&&d.return&&d.return()}finally{if(u)throw l}}}},skipProperty:function(e){return"loc"===e}})}},OHe=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();var MHe=k$e,FHe=AHe,BHe=_He,jHe=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this._ast=t,this._source=null,this._string=null,this._regexp=null,this._extra=n}return OHe(e,[{key:"getAST",value:function(){return this._ast}},{key:"setExtra",value:function(e){this._extra=e}},{key:"getExtra",value:function(){return this._extra}},{key:"toRegExp",value:function(){return this._regexp||(this._regexp=new RegExp(this.getSource(),this._ast.flags)),this._regexp}},{key:"getSource",value:function(){return this._source||(this._source=MHe.generate(this._ast.body)),this._source}},{key:"getFlags",value:function(){return this._ast.flags}},{key:"toString",value:function(){return this._string||(this._string=MHe.generate(this._ast)),this._string}}]),e}(),RHe={TransformResult:jHe,transform:function(e,t){var n=e;return e instanceof RegExp&&(e=""+e),"string"==typeof e&&(n=FHe.parse(e,{captureLocations:!0})),BHe.traverse(n,t),new jHe(n)}},UHe=A$e,qHe=RHe,JHe={transform:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=t.length>0?t:Object.keys(UHe),r=void 0,i={};return n.forEach(function(t){if(!UHe.hasOwnProperty(t))throw new Error("Unknown compat-transform: "+t+". Available transforms are: "+Object.keys(UHe).join(", "));var n=UHe[t];r=qHe.transform(e,n),e=r.getAST(),"function"==typeof n.getExtra&&(i[t]=n.getExtra())}),r.setExtra(i),r}},VHe={shouldRun:function(e){return e.flags.includes("u")},Char:function(e){var t=e.node;"unicode"===t.kind&&t.isSurrogatePair&&!isNaN(t.codePoint)&&(t.value="\\u{"+t.codePoint.toString(16)+"}",delete t.isSurrogatePair)}},KHe="A".codePointAt(0),WHe="Z".codePointAt(0),XHe="a".codePointAt(0),$He="z".codePointAt(0),HHe="0".codePointAt(0),zHe="9".codePointAt(0),YHe={Char:function(e){var t=e.node,n=e.parent;if(!isNaN(t.codePoint)&&"simple"!==t.kind&&("ClassRange"!==n.type||function(e){var t=e.from,n=e.to;return t.codePoint>=HHe&&t.codePoint<=zHe&&n.codePoint>=HHe&&n.codePoint<=zHe||t.codePoint>=KHe&&t.codePoint<=WHe&&n.codePoint>=KHe&&n.codePoint<=WHe||t.codePoint>=XHe&&t.codePoint<=$He&&n.codePoint>=XHe&&n.codePoint<=$He}(n))&&(r=t.codePoint)>=32&&r<=126){var r,i=String.fromCodePoint(t.codePoint),s={type:"Char",kind:"simple",value:i,symbol:i,codePoint:t.codePoint};(function(e,t){if("ClassRange"===t||"CharacterClass"===t)return/[\]\\^-]/.test(e);return/[*[()+?^$./\\|{}]/.test(e)})(i,n.type)&&(s.escaped=!0),e.replace(s)}}};var GHe="A".codePointAt(0),QHe="Z".codePointAt(0),ZHe={_AZClassRanges:null,_hasUFlag:!1,init:function(e){this._AZClassRanges=new Set,this._hasUFlag=e.flags.includes("u")},shouldRun:function(e){return e.flags.includes("i")},Char:function(e){var t=e.node,n=e.parent;if(!isNaN(t.codePoint)&&(this._hasUFlag||!(t.codePoint>=4096))){if("ClassRange"===n.type){if(!this._AZClassRanges.has(n)&&!function(e){var t=e.from,n=e.to;return t.codePoint>=GHe&&t.codePoint<=QHe&&n.codePoint>=GHe&&n.codePoint<=QHe}(n))return;this._AZClassRanges.add(n)}var r=t.symbol.toLowerCase();r!==t.symbol&&(t.value=function(e,t){var n=e.codePointAt(0);if("decimal"===t.kind)return"\\"+n;if("oct"===t.kind)return"\\0"+n.toString(8);if("hex"===t.kind)return"\\x"+n.toString(16);if("unicode"===t.kind){if(t.isSurrogatePair){var r=function(e){var t=Math.floor((e-65536)/1024)+55296,n=(e-65536)%1024+56320;return{lead:t.toString(16),trail:n.toString(16)}}(n),i=r.lead,s=r.trail;return"\\u"+"0".repeat(4-i.length)+i+"\\u"+"0".repeat(4-s.length)+s}if(t.value.includes("{"))return"\\u{"+n.toString(16)+"}";var a=n.toString(16);return"\\u"+"0".repeat(4-a.length)+a}return e}(r,t),t.symbol=r,t.codePoint=r.codePointAt(0))}}};var eze={disjunctionToList:function e(t){if("Disjunction"!==t.type)throw new TypeError('Expected "Disjunction" node, got "'+t.type+'"');var n=[];return t.left&&"Disjunction"===t.left.type?n.push.apply(n,function(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}(e(t.left)).concat([t.right])):n.push(t.left,t.right),n},listToDisjunction:function(e){return e.reduce(function(e,t){return{type:"Disjunction",left:e,right:t}})},increaseQuantifierByOne:function(e){"*"===e.kind?e.kind="+":"+"===e.kind?(e.kind="Range",e.from=2,delete e.to):"?"===e.kind?(e.kind="Range",e.from=1,e.to=2):"Range"===e.kind&&(e.from+=1,e.to&&(e.to+=1))}},tze=eze.increaseQuantifierByOne,nze={Repetition:function(e){var t=e.node;if("Alternative"===e.parent.type&&e.index){var n=e.getPreviousSibling();if(n)if("Repetition"===n.node.type){if(!n.getChild().hasEqualSource(e.getChild()))return;var r=ize(n.node.quantifier),i=r.from,s=r.to,a=ize(t.quantifier),o=a.from,c=a.to;if(n.node.quantifier.greedy!==t.quantifier.greedy&&!rze(n.node.quantifier)&&!rze(t.quantifier))return;t.quantifier.kind="Range",t.quantifier.from=i+o,s&&c?t.quantifier.to=s+c:delete t.quantifier.to,(rze(n.node.quantifier)||rze(t.quantifier))&&(t.quantifier.greedy=!0),n.remove()}else{if(!n.hasEqualSource(e.getChild()))return;tze(t.quantifier),n.remove()}}}};function rze(e){return e.greedy&&("+"===e.kind||"*"===e.kind||"Range"===e.kind&&!e.to)}function ize(e){var t=void 0,n=void 0;return"*"===e.kind?t=0:"+"===e.kind?t=1:"?"===e.kind?(t=0,n=1):(t=e.from,e.to&&(n=e.to)),{from:t,to:n}}var sze={Quantifier:function(e){"Range"===e.node.kind&&(function(e){var t=e.node;if(0!==t.from||t.to)return;t.kind="*",delete t.from}(e),function(e){var t=e.node;if(1!==t.from||t.to)return;t.kind="+",delete t.from}(e),function(e){var t=e.node;if(1!==t.from||1!==t.to)return;e.parentPath.replace(e.parentPath.node.expression)}(e))}};function aze(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}var oze={_hasIFlag:!1,_hasUFlag:!1,init:function(e){this._hasIFlag=e.flags.includes("i"),this._hasUFlag=e.flags.includes("u")},CharacterClass:function(e){!function(e){var t=e.node;t.expressions.forEach(function(t,n){(function(e){return"ClassRange"===e.type&&"0"===e.from.value&&"9"===e.to.value})(t)&&e.getChild(n).replace({type:"Char",value:"\\d",kind:"meta"})})}(e),function(e,t,n){var r=e.node,i=null,s=null,a=null,o=null,c=null,u=null;r.expressions.forEach(function(r,l){lze(r,"\\d")?i=e.getChild(l):!function(e){return"ClassRange"===e.type&&"a"===e.from.value&&"z"===e.to.value}(r)?!function(e){return"ClassRange"===e.type&&"A"===e.from.value&&"Z"===e.to.value}(r)?!function(e){return"Char"===e.type&&"_"===e.value&&"simple"===e.kind}(r)?t&&n&&pze(r,383)?c=e.getChild(l):t&&n&&pze(r,8490)&&(u=e.getChild(l)):o=e.getChild(l):a=e.getChild(l):s=e.getChild(l)}),i&&(s&&a||t&&(s||a))&&o&&(!n||!t||c&&u)&&(i.replace({type:"Char",value:"\\w",kind:"meta"}),s&&s.remove(),a&&a.remove(),o.remove(),c&&c.remove(),u&&u.remove())}(e,this._hasIFlag,this._hasUFlag),function(e){var t=e.node;if(t.expressions.length<cze.length||!cze.every(function(e){return t.expressions.some(function(t){return e(t)})}))return;var n=t.expressions.find(function(e){return lze(e,"\\n")});n.value="\\s",n.symbol=void 0,n.codePoint=NaN,t.expressions.map(function(t,n){return cze.some(function(e){return e(t)})?e.getChild(n):void 0}).filter(Boolean).forEach(function(e){return e.remove()})}(e)}};var cze=[function(e){return uze(e," ")}].concat(aze(["\\f","\\n","\\r","\\t","\\v"].map(function(e){return function(t){return lze(t,e)}})),aze([160,5760,8232,8233,8239,8287,12288,65279].map(function(e){return function(t){return pze(t,e)}})),[function(e){return"ClassRange"===e.type&&pze(e.from,8192)&&pze(e.to,8202)}]);function uze(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"simple";return"Char"===e.type&&e.value===t&&e.kind===n}function lze(e,t){return uze(e,t,"meta")}function pze(e,t){return"Char"===e.type&&"unicode"===e.kind&&e.codePoint===t}var dze={CharacterClass:function(e){var t=e.node;if(1===t.expressions.length&&function(e){var t=e.parent,n=e.index;if("Alternative"!==t.type)return!0;var r=t.expressions[n-1];if(null==r)return!0;if("Backreference"===r.type&&"number"===r.kind)return!1;if("Char"===r.type&&"decimal"===r.kind)return!1;return!0}(e)&&function(e){return"Char"===e.type&&"\\b"!==e.value}(t.expressions[0])){var n=t.expressions[0],r=n.value,i=n.kind,s=n.escaped;if(t.negative){if(!function(e){return/^\\[dwsDWS]$/.test(e)}(r))return;r=function(e){return/[dws]/.test(e)?e.toUpperCase():e.toLowerCase()}(r)}e.replace({type:"Char",value:r,kind:i,escaped:s||hze(r)})}}};function hze(e){return/[*[()+?$./{}|]/.test(e)}var fze={_hasXFlag:!1,init:function(e){this._hasXFlag=e.flags.includes("x")},Char:function(e){var t=e.node;t.escaped&&function(e,t){var n=e.node.value,r=e.index,i=e.parent;if("CharacterClass"!==i.type&&"ClassRange"!==i.type)return!function(e,t,n,r){if("{"===e)return function(e,t){if(null==e)return!1;var n=mze(e+1,t),r=e+n+1,i=r<t.expressions.length&&t.expressions[r];if(n){if(yze(i,"}"))return!0;if(yze(i,","))return yze(i=(r=r+(n=mze(r+1,t))+1)<t.expressions.length&&t.expressions[r],"}")}return!1}(t,n);if("}"===e)return function(e,t){if(null==e)return!1;var n=mze(e-1,t,!0),r=e-n-1,i=r>=0&&t.expressions[r];if(n&&yze(i,"{"))return!0;if(yze(i,","))return i=(r=r-(n=mze(r-1,t,!0))-1)<t.expressions.length&&t.expressions[r],n&&yze(i,"{");return!1}(t,n);if(r&&/[ #]/.test(e))return!0;return/[*[()+?^$./\\|]/.test(e)}(n,r,i,t);return!function(e,t,n){if("^"===e)return 0===t&&!n.negative;if("-"===e)return!0;return/[\]\\]/.test(e)}(n,r,i)}(e,this._hasXFlag)&&delete t.escaped}};function mze(e,t,n){for(var r=e,i=(n?r>=0:r<t.expressions.length)&&t.expressions[r];i&&"Char"===i.type&&"simple"===i.kind&&!i.escaped&&/\d/.test(i.value);)n?r--:r++,i=(n?r>=0:r<t.expressions.length)&&t.expressions[r];return Math.abs(e-r)}function yze(e,t){return e&&"Char"===e.type&&"simple"===e.kind&&!e.escaped&&e.value===t}var gze={_hasIUFlags:!1,init:function(e){this._hasIUFlags=e.flags.includes("i")&&e.flags.includes("u")},CharacterClass:function(e){var t=e.node.expressions,n=[];t.forEach(function(e){Sze(e)&&n.push(e.value)}),t.sort(xze);for(var r=0;r<t.length;r++){var i=t[r];if(Eze(i,n,this._hasIUFlags)||wze(i,t[r-1])||kze(i,t[r+1]))t.splice(r,1),r--;else{var s=Nze(i,r,t);t.splice(r-s+1,s),r-=s}}}};function xze(e,t){var n=Tze(e),r=Tze(t);if(n===r){if("ClassRange"===e.type&&"ClassRange"!==t.type)return-1;if("ClassRange"===t.type&&"ClassRange"!==e.type)return 1;if("ClassRange"===e.type&&"ClassRange"===t.type)return Tze(e.to)-Tze(t.to);if(Sze(e)&&Sze(t)||bze(e)&&bze(t))return e.value<t.value?-1:1}return n-r}function Tze(e){return"Char"===e.type?"-"===e.value||"control"===e.kind?1/0:"meta"===e.kind&&isNaN(e.codePoint)?-1:e.codePoint:e.from.codePoint}function Sze(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return"Char"===e.type&&"meta"===e.kind&&(t?e.value===t:/^\\[dws]$/i.test(e.value))}function bze(e){return"Char"===e.type&&"control"===e.kind}function Eze(e,t,n){for(var r=0;r<t.length;r++)if(Pze(e,t[r],n))return!0;return!1}function Pze(e,t,n){return"ClassRange"===e.type?Pze(e.from,t,n)&&Pze(e.to,t,n):!("\\S"!==t||!Sze(e,"\\w")&&!Sze(e,"\\d"))||(!("\\D"!==t||!Sze(e,"\\W")&&!Sze(e,"\\s"))||(!("\\w"!==t||!Sze(e,"\\d"))||(!("\\W"!==t||!Sze(e,"\\s"))||"Char"===e.type&&!isNaN(e.codePoint)&&("\\s"===t?vze(e):"\\S"===t?!vze(e):"\\d"===t?Aze(e):"\\D"===t?!Aze(e):"\\w"===t?Cze(e,n):"\\W"===t&&!Cze(e,n)))))}function vze(e){return 9===e.codePoint||10===e.codePoint||11===e.codePoint||12===e.codePoint||13===e.codePoint||32===e.codePoint||160===e.codePoint||5760===e.codePoint||e.codePoint>=8192&&e.codePoint<=8202||8232===e.codePoint||8233===e.codePoint||8239===e.codePoint||8287===e.codePoint||12288===e.codePoint||65279===e.codePoint}function Aze(e){return e.codePoint>=48&&e.codePoint<=57}function Cze(e,t){return Aze(e)||e.codePoint>=65&&e.codePoint<=90||e.codePoint>=97&&e.codePoint<=122||"_"===e.value||t&&(383===e.codePoint||8490===e.codePoint)}function wze(e,t){if(t&&"ClassRange"===t.type){if(Ize(e,t))return!0;if(Dze(e)&&t.to.codePoint===e.codePoint-1)return t.to=e,!0;if("ClassRange"===e.type&&e.from.codePoint<=t.to.codePoint+1&&e.to.codePoint>=t.from.codePoint-1)return e.from.codePoint<t.from.codePoint&&(t.from=e.from),e.to.codePoint>t.to.codePoint&&(t.to=e.to),!0}return!1}function kze(e,t){return!(!t||"ClassRange"!==t.type||!Dze(e)||t.from.codePoint!==e.codePoint+1)&&(t.from=e,!0)}function Ize(e,t){return("Char"!==e.type||!isNaN(e.codePoint))&&("ClassRange"===e.type?Ize(e.from,t)&&Ize(e.to,t):e.codePoint>=t.from.codePoint&&e.codePoint<=t.to.codePoint)}function Nze(e,t,n){if(!Dze(e))return 0;for(var r=0;t>0;){var i=n[t],s=n[t-1];if(!Dze(s)||s.codePoint!==i.codePoint-1)break;r++,t--}return r>1?(n[t]={type:"ClassRange",from:n[t],to:e},r):0}function Dze(e){return e&&"Char"===e.type&&!isNaN(e.codePoint)&&(Cze(e,!1)||"unicode"===e.kind||"hex"===e.kind||"oct"===e.kind||"decimal"===e.kind)}var Lze=DHe,_ze=eze.disjunctionToList,Oze=eze.listToDisjunction,Mze={Disjunction:function(e){var t=e.node,n={},r=_ze(t).filter(function(e){var t=e?Lze.getForNode(e).jsonEncode():"null";return!n.hasOwnProperty(t)&&(n[t]=e,!0)});e.replace(Oze(r))}},Fze={Disjunction:function(e){var t=e.node,n=e.parent;if(Bze[n.type]){var r=new Map;if(jze(t,r)&&r.size){var i={type:"CharacterClass",expressions:Array.from(r.keys()).sort().map(function(e){return r.get(e)})};Bze[n.type](e.getParent(),i)}}}},Bze={RegExp:function(e,t){e.node.body=t},Group:function(e,t){var n=e.node;n.capturing?n.expression=t:e.replace(t)}};function jze(e,t){if(!e)return!1;var n=e.type;if("Disjunction"===n){var r=e.left,i=e.right;return jze(r,t)&&jze(i,t)}if("Char"===n){if("meta"===e.kind&&"."===e.symbol)return!1;var s=e.value;return t.set(s,e),!0}return"CharacterClass"===n&&!e.negative&&e.expressions.every(function(e){return jze(e,t)})}function Rze(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}var Uze={Group:function(e){var t=e.node,n=e.parent,r=e.getChild();if(!t.capturing&&r&&function(e){var t=e.parent,n=e.index;if("Alternative"!==t.type)return!0;var r=t.expressions[n-1];if(null==r)return!0;if("Backreference"===r.type&&"number"===r.kind)return!1;if("Char"===r.type&&"decimal"===r.kind)return!1;return!0}(e)&&!("Disjunction"===r.node.type&&"RegExp"!==n.type||"Repetition"===n.type&&"Char"!==r.node.type&&"CharacterClass"!==r.node.type))if("Alternative"===r.node.type){var i=e.getParent();"Alternative"===i.node.type&&i.replace({type:"Alternative",expressions:[].concat(Rze(n.expressions.slice(0,e.index)),Rze(r.node.expressions),Rze(n.expressions.slice(e.index+1)))})}else e.replace(r.node)}};function qze(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}var Jze=DHe,Vze=eze.increaseQuantifierByOne,Kze={Alternative:function(e){for(var t=e.node,n=1;n<t.expressions.length;){var r=e.getChild(n);if((n=Math.max(1,Wze(e,r,n)))>=t.expressions.length)break;if(r=e.getChild(n),(n=Math.max(1,Xze(e,r,n)))>=t.expressions.length)break;r=e.getChild(n),n=Math.max(1,$ze(e,r,n)),n++}}};function Wze(e,t,n){for(var r=e.node,i=Math.ceil(n/2),s=0;s<i;){var a=n-2*s-1,o=void 0,c=void 0;if(0===s?(o=t,c=e.getChild(a)):(o=Jze.getForNode({type:"Alternative",expressions:[].concat(qze(r.expressions.slice(n-s,n)),[t.node])}),c=Jze.getForNode({type:"Alternative",expressions:[].concat(qze(r.expressions.slice(a,n-s)))})),o.hasEqualSource(c)){for(var u=0;u<2*s+1;u++)e.getChild(a).remove();return t.replace({type:"Repetition",expression:0===s&&"Repetition"!==o.node.type?o.node:{type:"Group",capturing:!1,expression:o.node},quantifier:{type:"Quantifier",kind:"Range",from:2,to:2,greedy:!0}}),a}s++}return n}function Xze(e,t,n){for(var r=e.node,i=0;i<n;){var s=e.getChild(i);if("Repetition"===s.node.type&&s.node.quantifier.greedy){var a=s.getChild(),o=void 0;if("Group"!==a.node.type||a.node.capturing||(a=a.getChild()),i+1===n?"Group"!==(o=t).node.type||o.node.capturing||(o=o.getChild()):o=Jze.getForNode({type:"Alternative",expressions:[].concat(qze(r.expressions.slice(i+1,n+1)))}),a.hasEqualSource(o)){for(var c=i;c<n;c++)e.getChild(i+1).remove();return Vze(s.node.quantifier),i}}i++}return n}function $ze(e,t,n){var r=e.node;if("Repetition"===t.node.type&&t.node.quantifier.greedy){var i=t.getChild(),s=void 0;"Group"!==i.node.type||i.node.capturing||(i=i.getChild());var a=void 0;if("Alternative"===i.node.type?(a=i.node.expressions.length,s=Jze.getForNode({type:"Alternative",expressions:[].concat(qze(r.expressions.slice(n-a,n)))})):(a=1,"Group"!==(s=e.getChild(n-1)).node.type||s.node.capturing||(s=s.getChild())),s.hasEqualSource(i)){for(var o=n-a;o<n;o++)e.getChild(n-a).remove();return Vze(t.node.quantifier),n-a}}return n}var Hze=new Map([["charSurrogatePairToSingleUnicode",VHe],["charCodeToSimpleChar",YHe],["charCaseInsensitiveLowerCaseTransform",ZHe],["charClassRemoveDuplicates",{CharacterClass:function(e){for(var t=e.node,n={},r=0;r<t.expressions.length;r++){var i=e.getChild(r),s=i.jsonEncode();n.hasOwnProperty(s)&&(i.remove(),r--),n[s]=!0}}}],["quantifiersMerge",nze],["quantifierRangeToSymbol",sze],["charClassClassrangesToChars",{ClassRange:function(e){var t=e.node;t.from.codePoint===t.to.codePoint?e.replace(t.from):t.from.codePoint===t.to.codePoint-1&&(e.getParent().insertChildAt(t.to,e.index+1),e.replace(t.from))}}],["charClassToMeta",oze],["charClassToSingleChar",dze],["charEscapeUnescape",fze],["charClassClassrangesMerge",gze],["disjunctionRemoveDuplicates",Mze],["groupSingleCharsToCharClass",Fze],["removeEmptyGroup",{Group:function(e){var t=e.node,n=e.parent,r=e.getChild();t.capturing||r||("Repetition"===n.type?e.getParent().replace(t):"RegExp"!==n.type&&e.remove())}}],["ungroup",Uze],["combineRepeatingPatterns",Kze]]);Hze.default;var zze=function e(t){if(null===t||"object"!=typeof t)return t;var n=void 0;for(var r in n=Array.isArray(t)?[]:{},t)n[r]=e(t[r]);return n},Yze=AHe,Gze=RHe,Qze=Hze,Zze={optimize:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.whitelist,r=void 0===n?[]:n,i=t.blacklist,s=void 0===i?[]:i,a=(r.length>0?r:Array.from(Qze.keys())).filter(function(e){return!s.includes(e)}),o=e;e instanceof RegExp&&(e=""+e),"string"==typeof e&&(o=Yze.parse(e));var c=new Gze.TransformResult(o),u=void 0;do{u=c.toString(),o=zze(c.getAST()),a.forEach(function(e){if(!Qze.has(e))throw new Error("Unknown optimization-transform: "+e+". Available transforms are: "+Array.from(Qze.keys()).join(", "));var t=Qze.get(e),n=Gze.transform(o,t);n.toString()!==c.toString()&&(n.toString().length<=c.toString().length?c=n:o=zze(c.getAST()))})}while(c.toString()!==u);return c}},eYe={EPSILON:"ε",EPSILON_CLOSURE:"ε*"},tYe=function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return function(e,t){var n=[],r=!0,i=!1,s=void 0;try{for(var a,o=e[Symbol.iterator]();!(r=(a=o.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(e){i=!0,s=e}finally{try{!r&&o.return&&o.return()}finally{if(i)throw s}}return n}(e,t);throw new TypeError("Invalid attempt to destructure non-iterable instance")},nYe=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();var rYe=eYe.EPSILON,iYe=eYe.EPSILON_CLOSURE,sYe=function(){function e(t,n){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.in=t,this.out=n}return nYe(e,[{key:"matches",value:function(e){return this.in.matches(e)}},{key:"getAlphabet",value:function(){if(!this._alphabet){this._alphabet=new Set;var e=this.getTransitionTable();for(var t in e){var n=e[t];for(var r in n)r!==iYe&&this._alphabet.add(r)}}return this._alphabet}},{key:"getAcceptingStates",value:function(){return this._acceptingStates||this.getTransitionTable(),this._acceptingStates}},{key:"getAcceptingStateNumbers",value:function(){if(!this._acceptingStateNumbers){this._acceptingStateNumbers=new Set;var e=!0,t=!1,n=void 0;try{for(var r,i=this.getAcceptingStates()[Symbol.iterator]();!(e=(r=i.next()).done);e=!0){var s=r.value;this._acceptingStateNumbers.add(s.number)}}catch(e){t=!0,n=e}finally{try{!e&&i.return&&i.return()}finally{if(t)throw n}}}return this._acceptingStateNumbers}},{key:"getTransitionTable",value:function(){var e=this;if(!this._transitionTable){this._transitionTable={},this._acceptingStates=new Set;var t=new Set,n=new Set;!function r(i){if(!t.has(i)){t.add(i),i.number=t.size,e._transitionTable[i.number]={},i.accepting&&e._acceptingStates.add(i);var s=i.getTransitions(),a=!0,o=!1,c=void 0;try{for(var u,l=s[Symbol.iterator]();!(a=(u=l.next()).done);a=!0){var p=u.value,d=tYe(p,2),h=d[0],f=d[1],m=[];n.add(h);var y=!0,g=!1,x=void 0;try{for(var T,S=f[Symbol.iterator]();!(y=(T=S.next()).done);y=!0){var b=T.value;r(b),m.push(b.number)}}catch(e){g=!0,x=e}finally{try{!y&&S.return&&S.return()}finally{if(g)throw x}}e._transitionTable[i.number][h]=m}}catch(e){o=!0,c=e}finally{try{!a&&l.return&&l.return()}finally{if(o)throw c}}}}(this.in),t.forEach(function(t){delete e._transitionTable[t.number][rYe],e._transitionTable[t.number][iYe]=[].concat(function(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}(t.getEpsilonClosure())).map(function(e){return e.number})})}return this._transitionTable}}]),e}(),aYe=sYe;aYe.default;var oYe=function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return function(e,t){var n=[],r=!0,i=!1,s=void 0;try{for(var a,o=e[Symbol.iterator]();!(r=(a=o.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(e){i=!0,s=e}finally{try{!r&&o.return&&o.return()}finally{if(i)throw s}}return n}(e,t);throw new TypeError("Invalid attempt to destructure non-iterable instance")};function cYe(e){return Array.isArray(e)?e:Array.from(e)}function uYe(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}var lYe=null;function pYe(e,t){if(!t)return!1;if(e.length!==t.length)return!1;for(var n=0;n<e.length;n++){var r=e[n],i=t[n];if(r.size!==i.size)return!1;if([].concat(uYe(r)).sort().join(",")!==[].concat(uYe(i)).sort().join(","))return!1}return!0}function dYe(e,t,n,r){var i=!0,s=!1,a=void 0;try{for(var o,c=r[Symbol.iterator]();!(i=(o=c.next()).done);i=!0){if(!hYe(e,t,n,o.value))return!1}}catch(e){s=!0,a=e}finally{try{!i&&c.return&&c.return()}finally{if(s)throw a}}return!0}function hYe(e,t,n,r){if(!lYe[e]||!lYe[t])return!1;var i=n[e][r],s=n[t][r];return!i&&!s||lYe[e].has(i)&&lYe[t].has(s)}var fYe={minimize:function(e){var t=e.getTransitionTable(),n=Object.keys(t),r=e.getAlphabet(),i=e.getAcceptingStateNumbers();lYe={};var s=new Set;n.forEach(function(e){e=Number(e),i.has(e)?lYe[e]=i:(s.add(e),lYe[e]=s)});var a=[[s,i].filter(function(e){return e.size>0})],o=void 0,c=void 0;o=a[a.length-1],c=a[a.length-2];for(var u=function(){var e={},n=!0,i=!1,s=void 0;try{for(var u,l=o[Symbol.iterator]();!(n=(u=l.next()).done);n=!0){var p=u.value,d={},h=cYe(p),f=h[0],m=h.slice(1);d[f]=new Set([f]);var y=!0,g=!1,x=void 0;try{e:for(var T,S=m[Symbol.iterator]();!(y=(T=S.next()).done);y=!0){var b=T.value,E=!0,P=!1,v=void 0;try{for(var A,C=Object.keys(d)[Symbol.iterator]();!(E=(A=C.next()).done);E=!0){var w=A.value;if(dYe(b,w,t,r)){d[w].add(b),d[b]=d[w];continue e}}}catch(e){P=!0,v=e}finally{try{!E&&C.return&&C.return()}finally{if(P)throw v}}d[b]=new Set([b])}}catch(e){g=!0,x=e}finally{try{!y&&S.return&&S.return()}finally{if(g)throw x}}Object.assign(e,d)}}catch(e){i=!0,s=e}finally{try{!n&&l.return&&l.return()}finally{if(i)throw s}}lYe=e;var k=new Set(Object.keys(e).map(function(t){return e[t]}));a.push([].concat(uYe(k))),o=a[a.length-1],c=a[a.length-2]};!pYe(o,c);)u();var l=new Map,p=1;o.forEach(function(e){return l.set(e,p++)});var d={},h=new Set,f=function(e,t){var n=!0,r=!1,s=void 0;try{for(var a,o=e[Symbol.iterator]();!(n=(a=o.next()).done);n=!0){var c=a.value;i.has(c)&&h.add(t)}}catch(e){r=!0,s=e}finally{try{!n&&o.return&&o.return()}finally{if(r)throw s}}},m=!0,y=!1,g=void 0;try{for(var x,T=l.entries()[Symbol.iterator]();!(m=(x=T.next()).done);m=!0){var S=x.value,b=oYe(S,2),E=b[0],P=b[1];d[P]={};var v=!0,A=!1,C=void 0;try{for(var w,k=r[Symbol.iterator]();!(v=(w=k.next()).done);v=!0){var I=w.value;f(E,P);var N=void 0,D=!0,L=!1,_=void 0;try{for(var O,M=E[Symbol.iterator]();!(D=(O=M.next()).done);D=!0){var F=O.value;if(N=t[F][I])break}}catch(e){L=!0,_=e}finally{try{!D&&M.return&&M.return()}finally{if(L)throw _}}N&&(d[P][I]=l.get(lYe[N]))}}catch(e){A=!0,C=e}finally{try{!v&&k.return&&k.return()}finally{if(A)throw C}}}}catch(e){y=!0,g=e}finally{try{!m&&T.return&&T.return()}finally{if(y)throw g}}return e.setTransitionTable(d),e.setAcceptingStateNumbers(h),e}},mYe=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();function yYe(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}var gYe=fYe,xYe=eYe.EPSILON_CLOSURE,TYe=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this._nfa=t}return mYe(e,[{key:"minimize",value:function(){this.getTransitionTable(),this._originalAcceptingStateNumbers=this._acceptingStateNumbers,this._originalTransitionTable=this._transitionTable,gYe.minimize(this)}},{key:"getAlphabet",value:function(){return this._nfa.getAlphabet()}},{key:"getAcceptingStateNumbers",value:function(){return this._acceptingStateNumbers||this.getTransitionTable(),this._acceptingStateNumbers}},{key:"getOriginaAcceptingStateNumbers",value:function(){return this._originalAcceptingStateNumbers||this.getTransitionTable(),this._originalAcceptingStateNumbers}},{key:"setTransitionTable",value:function(e){this._transitionTable=e}},{key:"setAcceptingStateNumbers",value:function(e){this._acceptingStateNumbers=e}},{key:"getTransitionTable",value:function(){var e=this;if(this._transitionTable)return this._transitionTable;var t=this._nfa.getTransitionTable(),n=Object.keys(t);this._acceptingStateNumbers=new Set;for(var r=[t[n[0]][xYe]],i=this.getAlphabet(),s=this._nfa.getAcceptingStateNumbers(),a={},o=function(t){var n=!0,r=!1,i=void 0;try{for(var a,o=s[Symbol.iterator]();!(n=(a=o.next()).done);n=!0){var c=a.value;if(-1!==t.indexOf(c)){e._acceptingStateNumbers.add(t.join(","));break}}}catch(e){r=!0,i=e}finally{try{!n&&o.return&&o.return()}finally{if(r)throw i}}};r.length>0;){var c=r.shift(),u=c.join(",");a[u]={};var l=!0,p=!1,d=void 0;try{for(var h,f=i[Symbol.iterator]();!(l=(h=f.next()).done);l=!0){var m=h.value,y=[];o(c);var g=!0,x=!1,T=void 0;try{for(var S,b=c[Symbol.iterator]();!(g=(S=b.next()).done);g=!0){var E=t[S.value][m];if(E){var P=!0,v=!1,A=void 0;try{for(var C,w=E[Symbol.iterator]();!(P=(C=w.next()).done);P=!0){var k=C.value;t[k]&&y.push.apply(y,yYe(t[k][xYe]))}}catch(e){v=!0,A=e}finally{try{!P&&w.return&&w.return()}finally{if(v)throw A}}}}}catch(e){x=!0,T=e}finally{try{!g&&b.return&&b.return()}finally{if(x)throw T}}var I=new Set(y),N=[].concat(yYe(I));if(N.length>0){var D=N.join(",");a[u][m]=D,a.hasOwnProperty(D)||r.unshift(N)}}}catch(e){p=!0,d=e}finally{try{!l&&f.return&&f.return()}finally{if(p)throw d}}}return this._transitionTable=this._remapStateNumbers(a)}},{key:"_remapStateNumbers",value:function(e){var t={};this._originalTransitionTable=e;var n={};for(var r in Object.keys(e).forEach(function(e,n){t[e]=n+1}),e){var i=e[r],s={};for(var a in i)s[a]=t[i[a]];n[t[r]]=s}this._originalAcceptingStateNumbers=this._acceptingStateNumbers,this._acceptingStateNumbers=new Set;var o=!0,c=!1,u=void 0;try{for(var l,p=this._originalAcceptingStateNumbers[Symbol.iterator]();!(o=(l=p.next()).done);o=!0){var d=l.value;this._acceptingStateNumbers.add(t[d])}}catch(e){c=!0,u=e}finally{try{!o&&p.return&&p.return()}finally{if(c)throw u}}return n}},{key:"getOriginalTransitionTable",value:function(){return this._originalTransitionTable||this.getTransitionTable(),this._originalTransitionTable}},{key:"matches",value:function(e){for(var t=1,n=0,r=this.getTransitionTable();e[n];)if(!(t=r[t][e[n++]]))return!1;return!!this.getAcceptingStateNumbers().has(t)}}]),e}(),SYe=TYe;SYe.default;var bYe=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();var EYe=function(){function e(){var t=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).accepting,n=void 0!==t&&t;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this._transitions=new Map,this.accepting=n}return bYe(e,[{key:"getTransitions",value:function(){return this._transitions}},{key:"addTransition",value:function(e,t){return this.getTransitionsOnSymbol(e).add(t),this}},{key:"getTransitionsOnSymbol",value:function(e){var t=this._transitions.get(e);return t||(t=new Set,this._transitions.set(e,t)),t}}]),e}(),PYe=EYe;PYe.default;var vYe=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();var AYe=PYe,CYe=eYe.EPSILON,wYe=function(){function e(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(e,AYe),vYe(e,[{key:"matches",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new Set;if(t.has(this))return!1;if(t.add(this),0===e.length){if(this.accepting)return!0;var n=!0,r=!1,i=void 0;try{for(var s,a=this.getTransitionsOnSymbol(CYe)[Symbol.iterator]();!(n=(s=a.next()).done);n=!0){if(s.value.matches("",t))return!0}}catch(e){r=!0,i=e}finally{try{!n&&a.return&&a.return()}finally{if(r)throw i}}return!1}var o=e[0],c=e.slice(1),u=this.getTransitionsOnSymbol(o),l=!0,p=!1,d=void 0;try{for(var h,f=u[Symbol.iterator]();!(l=(h=f.next()).done);l=!0){if(h.value.matches(c))return!0}}catch(e){p=!0,d=e}finally{try{!l&&f.return&&f.return()}finally{if(p)throw d}}var m=!0,y=!1,g=void 0;try{for(var x,T=this.getTransitionsOnSymbol(CYe)[Symbol.iterator]();!(m=(x=T.next()).done);m=!0){if(x.value.matches(e,t))return!0}}catch(e){y=!0,g=e}finally{try{!m&&T.return&&T.return()}finally{if(y)throw g}}return!1}},{key:"getEpsilonClosure",value:function(){var e=this;return this._epsilonClosure||function(){var t=e.getTransitionsOnSymbol(CYe),n=e._epsilonClosure=new Set;n.add(e);var r=!0,i=!1,s=void 0;try{for(var a,o=t[Symbol.iterator]();!(r=(a=o.next()).done);r=!0){var c=a.value;if(!n.has(c))n.add(c),c.getEpsilonClosure().forEach(function(e){return n.add(e)})}}catch(e){i=!0,s=e}finally{try{!r&&o.return&&o.return()}finally{if(i)throw s}}}(),this._epsilonClosure}}]),e}(),kYe=wYe;kYe.default;var IYe=aYe,NYe=kYe,DYe=eYe.EPSILON;function LYe(e){var t=new NYe,n=new NYe({accepting:!0});return new IYe(t.addTransition(e,n),n)}function _Ye(e,t){return e.out.accepting=!1,t.out.accepting=!0,e.out.addTransition(DYe,t.in),new IYe(e.in,t.out)}function OYe(e,t){var n=new NYe,r=new NYe;return n.addTransition(DYe,e.in),n.addTransition(DYe,t.in),r.accepting=!0,e.out.accepting=!1,t.out.accepting=!1,e.out.addTransition(DYe,r),t.out.addTransition(DYe,r),new IYe(n,r)}var MYe={alt:function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];var i=!0,s=!1,a=void 0;try{for(var o,c=n[Symbol.iterator]();!(i=(o=c.next()).done);i=!0){e=_Ye(e,o.value)}}catch(e){s=!0,a=e}finally{try{!i&&c.return&&c.return()}finally{if(s)throw a}}return e},char:LYe,e:function(){return LYe(DYe)},or:function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];var i=!0,s=!1,a=void 0;try{for(var o,c=n[Symbol.iterator]();!(i=(o=c.next()).done);i=!0){e=OYe(e,o.value)}}catch(e){s=!0,a=e}finally{try{!i&&c.return&&c.return()}finally{if(s)throw a}}return e},rep:function(e){return e.in.addTransition(DYe,e.out),e.out.addTransition(DYe,e.in),e},repExplicit:function(e){var t=new NYe,n=new NYe({accepting:!0});return t.addTransition(DYe,e.in),t.addTransition(DYe,n),e.out.accepting=!1,e.out.addTransition(DYe,n),n.addTransition(DYe,e.in),new IYe(t,n)},plusRep:function(e){return e.out.addTransition(DYe,e.in),e},questionRep:function(e){return e.in.addTransition(DYe,e.out),e}};var FYe=AHe,BYe=MYe.alt,jYe=MYe.char,RYe=MYe.or,UYe=MYe.rep,qYe=MYe.plusRep,JYe=MYe.questionRep;function VYe(e){if(e&&!KYe[e.type])throw new Error(e.type+" is not supported in NFA/DFA interpreter.");return e?KYe[e.type](e):""}var KYe={RegExp:function(e){if(""!==e.flags)throw new Error("NFA/DFA: Flags are not supported yet.");return VYe(e.body)},Alternative:function(e){var t=(e.expressions||[]).map(VYe);return BYe.apply(void 0,function(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}(t))},Disjunction:function(e){return RYe(VYe(e.left),VYe(e.right))},Repetition:function(e){switch(e.quantifier.kind){case"*":return UYe(VYe(e.expression));case"+":return qYe(VYe(e.expression));case"?":return JYe(VYe(e.expression));default:throw new Error("Unknown repeatition: "+e.quantifier.kind+".")}},Char:function(e){if("simple"!==e.kind)throw new Error("NFA/DFA: Only simple chars are supported yet.");return jYe(e.value)},Group:function(e){return VYe(e.expression)}},WYe={build:function(e){var t=e;return e instanceof RegExp&&(e=""+e),"string"==typeof e&&(t=FYe.parse(e,{captureLocations:!0})),VYe(t)}},XYe=SYe,$Ye=WYe,HYe={NFA:aYe,DFA:XYe,builders:MYe,toNFA:function(e){return $Ye.build(e)},toDFA:function(e){return new XYe(this.toNFA(e))},test:function(e,t){return this.toDFA(e).matches(t)}},zYe=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();var YYe=function(){function e(t,n){var r=n.flags,i=n.groups,s=n.source;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this._re=t,this._groups=i,this.flags=r,this.source=s||t.source,this.dotAll=r.includes("s"),this.global=t.global,this.ignoreCase=t.ignoreCase,this.multiline=t.multiline,this.sticky=t.sticky,this.unicode=t.unicode}return zYe(e,[{key:"test",value:function(e){return this._re.test(e)}},{key:"compile",value:function(e){return this._re.compile(e)}},{key:"toString",value:function(){return this._toStringResult||(this._toStringResult="/"+this.source+"/"+this.flags),this._toStringResult}},{key:"exec",value:function(e){var t=this._re.exec(e);if(!this._groups||!t)return t;for(var n in t.groups={},this._groups){var r=this._groups[n];t.groups[n]=t[r]}return t}}]),e}(),GYe=JHe,QYe=k$e,ZYe=Zze,eGe=AHe,tGe=RHe,nGe=_He,rGe={RegExpTree:YYe}.RegExpTree,iGe={parser:eGe,fa:HYe,TransformResult:tGe.TransformResult,parse:function(e,t){return eGe.parse(""+e,t)},traverse:function(e,t,n){return nGe.traverse(e,t,n)},transform:function(e,t){return tGe.transform(e,t)},generate:function(e){return QYe.generate(e)},toRegExp:function(e){var t=this.compatTranspile(e);return new RegExp(t.getSource(),t.getFlags())},optimize:function(e,t){var n=(arguments.length>2&&void 0!==arguments[2]?arguments[2]:{}).blacklist;return ZYe.optimize(e,{whitelist:t,blacklist:n})},compatTranspile:function(e,t){return GYe.transform(e,t)},exec:function(e,t){if("string"==typeof e){var n=this.compatTranspile(e),r=n.getExtra();e=r.namedCapturingGroups?new rGe(n.toRegExp(),{flags:n.getFlags(),source:n.getSource(),groups:r.namedCapturingGroups}):n.toRegExp()}return e.exec(t)}};const sGe=iGe,aGe=({type:e,kind:t})=>"Char"!==e||"simple"!==t;var oGe=e=>{let t=!1;const n=sGe.parse(e);return"Alternative"===n.body.type&&(sGe.traverse(n,{RegExp({node:e}){const{expressions:n}=e.body;t=Boolean(n.find(aGe))}}),!t)},cGe={};const uGe=iGe;cGe.transformRegExp=(e,t)=>{!function(e){if(!e)throw Error("☝️ Looks like RegExpTransformer is missing")}(t);const{report:n,traverse:r,fix:i}=t,s=uGe.parse(e,{captureLocations:!0}),a=[];return uGe.traverse(s,r({push:e=>{const{start:t}=(e.path||e).node.loc;a.push({position:t,message:n(e)}),i(e)}})),[uGe.generate(s),a]};const lGe=oGe,{transformRegExp:pGe}=cGe;var dGe={isSimpleRegExp:lGe,transformRegExp:pGe},hGe={};const{compareAny:fGe}=zje,{template:mGe}=tU,{types:yGe}=rt,{isBlockStatement:gGe,isFunction:xGe,isLabeledStatement:TGe,isObjectPattern:SGe,isCallExpression:bGe,objectPattern:EGe,objectProperty:PGe}=yGe,{entries:vGe}=Object,AGe=!0,CGe=e=>e.isCallExpression()||e.isStatement(),wGe=e=>bGe(e.find(CGe)),kGe=({name:e})=>`Argument '${e}' is missing`;hGe.addArgs=e=>({report:kGe,fix:IGe,traverse:NGe(e)});const IGe=({declaration:e,path:t,pattern:n,params:r,index:i})=>{const s=mGe.ast.fresh(e);if(gGe(s)){const e=function(e){if(!TGe(e)){const{expression:t}=e;return PGe(t,t,!1,AGe)}const{label:t,body:n}=e;return PGe(t,n.expression,!1,AGe)}(s.body[0]);return n.properties.push(e),SGe(r[i])?void 0:r.push(n)}t.scope.block.params=[s]},NGe=e=>({push:t,options:n})=>{const r={...n.args,...e};return{ReferencedIdentifier(e){for(const[n,[i,s,a]]of vGe(r)){if(e.node.name!==n)continue;if(e.scope.hasBinding(n))continue;if(!wGe(e))continue;const r=e.find(xGe);if(!r)continue;const{block:o}=r.scope;if(!fGe(e.scope.path,s))continue;if(fGe(e.scope.path,a))continue;const{params:c}=o,[u,l]=DGe(c);if(SGe(l))return void t({name:n,index:u,declaration:i,path:e,params:c,pattern:l});if(c.length>=3)return;t({name:n,index:u,declaration:i,path:e,params:c,pattern:EGe([])})}}}};function DGe(e){for(const[t,n]of e.entries())if(SGe(n))return[t,n];return[-1,null]}var LGe={};const _Ge=["import","export","assert","with"],OGe=["const","var","let"],MGe=["if"],FGe=["readonly","implements","declare","module","type"],BGe=["interface","static"],jGe=[...MGe,...OGe,..._Ge,...BGe,"async","break","continue","for","else","from","return","throw","of","while","class","extends","default"],RGe=[...jGe,"as","await","new","yield","typeof","function"];LGe.isKeyword=e=>RGe.includes(e),LGe.isDeclarationKeyword=e=>OGe.includes(e),LGe.isModuleDeclarationKeyword=e=>_Ge.includes(e),LGe.isConditionKeyword=e=>MGe.includes(e),LGe.isStatementKeyword=e=>jGe.includes(e),LGe.isTSKeyword=e=>{const t=FGe.includes(e),n=BGe.includes(e);return t||n};var UGe={};const qGe=e=>!e.indexOf("!"),JGe=e=>e.replace(/^!/,"");var VGe=Object.freeze({__proto__:null,ignores:(e,t,n={})=>{const r=NFe(e,t),i=void 0,s=function(e){for(const[t,n]of e.entries()){const r=e.indexOf(JGe(n));qGe(n)&&r>t&&(e[r]=n)}const t=new Set(e);return Array.from(t)}(n.ignore||[]);return i.add(s),e&&i.ignores(r)}}),KGe=t(VGe);const WGe=mKe,{parse:XGe,print:$Ge}=tU,{transform:HGe}=WXe,{findPlaces:zGe}=XXe,{ignores:YGe}=KGe,{toJS:GGe,fromJS:QGe}=W4,{readFileContent:ZGe,findFile:eQe,writeFileContent:tQe,getFilename:nQe,createFile:rQe,removeFile:iQe,getParentDirectory:sQe}=fKe,{join:aQe}=WGe,oQe=e=>e&&"object"==typeof e,{entries:cQe}=Object,uQe=(e,{message:t})=>t;function lQe(e,{dirPath:t,matchInputFilename:n,outputFilename:r,matchedJS:i,matchedAST:s,options:a}){HGe(s,i,a);const o=function(e,t){if(e.endsWith(".json")){const e=$Ge(t);return QGe(e)}return $Ge(t)}(r,s),c=function({dirPath:e,matchInputFilename:t,outputFilename:n,inputFile:r}){if(t===n)return r;const i=aQe(nQe(e),n),[s]=eQe(e,i);return s||rQe(e,n)}({dirPath:t,matchInputFilename:n,outputFilename:r,inputFile:e});tQe(c,o),e!==c&&iQe(e)}UGe.matchFiles=e=>{const{filename:t}=e,n=e.files??e,r=e.exclude??[];!function(e){for(const[,t]of cQe(e))if(!oQe(t))throw Error(`☝️ Looks like provided to 'matchFiles()' typeof of plugin is not an 'object' but '${typeof t}'`)}(n);return{fix:lQe,scan:pQe({defaultFilename:t,files:n,exclude:r}),report:uQe}};const pQe=({files:e,exclude:t,defaultFilename:n})=>(r,{push:i,progress:s,options:a})=>{const o=[],c=nQe(r);a.filename=a.filename??n;for(const[n,i]of cQe(e)){const[e]=hQe(n,a),s=eQe(r,e,t);for(const e of s){const t=sQe(e),r=nQe(e),[s,u=s]=hQe(n,{filename:r});YGe(c,r,a)||o.push({dirPath:t,matchInputFilename:s,rawOptions:i,inputFile:e,inputFilename:r,outputFilename:u})}}const u=o.length;for(const[e,t]of o.entries()){const{dirPath:n,matchInputFilename:r,inputFile:a,inputFilename:o,outputFilename:c,rawOptions:l}=t;s({i:e,n:u});const p=ZGe(a)||"{}",[d,h]=dQe(o,p),f=fQe(o,l),m=zGe(h,d,f);if(!m.length)continue;const{message:y}=m[0];i(a,{dirPath:n,matchInputFilename:r,outputFilename:c,message:y,options:f,matchedAST:h,matchedJS:d})}};function dQe(e,t){if(e.endsWith(".json")){const e=GGe(t);return[e,XGe(e)]}if(/\.(c|m)?ts(x)?$/.test(e)){return[t,XGe(t,{isTS:!0})]}return[t,XGe(t)]}function hQe(e,t){const{filename:n}=t;if(!n)return e.split(" -> ");const{ext:r,name:i}=WGe.parse(n);return(e=(e=e.replaceAll("__name",i)).replaceAll("__ext",r)).split(" -> ")}function fQe(e,t){if(t.plugins)return t;return{plugins:[[`match-file: ${e}`,t]]}}var mQe={};const{join:yQe}=mKe,{getParentDirectory:gQe,getFilename:xQe,readFileContent:TQe,findFile:SQe,renameFile:bQe}=fKe,{parse:EQe}=JSON;mQe.renameFiles=({type:e,mask:t,rename:n})=>({report:PQe,fix:vQe,scan:AQe({type:e,mask:t,rename:n})});const PQe=(e,{from:t,to:n})=>`Rename '${t}' to '${n}'`,vQe=(e,{to:t})=>{bQe(e,t)},AQe=({type:e,mask:t,rename:n})=>(r,{push:i,trackFile:s})=>{for(const a of s(r,t)){if(e&&!CQe(e,a))continue;const t=xQe(a);i(a,{from:t,to:n(t)})}};function CQe(e,t){const n=function(e){let t,n=gQe(e);do{const e=xQe(n);[t]=SQe(n,yQe(e,"package.json"))}while(!t&&(n=gQe(n)));return t}(t);if("commonjs"===e&&!n)return!0;if(!n)return!1;const r=TQe(n);if(!r)return!1;return(EQe(r).type||"commonjs")===e}var wQe={};const{types:kQe}=rt,{traverseProperties:IQe}=YW,{stringLiteral:NQe}=kQe,DQe=({value:e})=>e;wQe.ignore=(e,{name:t,property:n,list:r})=>{const[,i]=e.split(/[()]/);return{report:LQe(t),match:_Qe({type:e,property:n,collector:i,list:r}),replace:OQe({type:e,property:n,collector:i,list:r})}};const LQe=e=>()=>`Add dotfiles to '${e}'`,_Qe=({type:e,property:t,collector:n,list:r})=>({options:i})=>{const{dismiss:s=[]}=i,a=MQe(r,s);return{[e]:e=>{const r=FQe(e,{property:t,collector:n});if(!r)return!1;const i=r.map(DQe);for(const e of a)if(!i.includes(e))return!0;return!1}}},OQe=({type:e,property:t,collector:n,list:r})=>({options:i})=>{const{dismiss:s=[]}=i,a=MQe(r,s);return{[e]:(e,r)=>{const i=FQe(e,{property:t,collector:n}),s=i.map(DQe);for(const e of a)s.includes(e)||i.push(NQe(e));return r}}};function MQe(e,t){const n=[];for(const r of e)t.includes(r)||n.push(r);return n}function FQe(e,{property:t,collector:n}){const r=e[n];if(!t)return r.elements;const[i]=IQe(r,t);return i?i.node.value.elements:null}var BQe={};const{types:jQe}=rt,{parenthesizedExpression:RQe,tsParenthesizedType:UQe}=jQe;function qQe(e){return e.scope.getProgramParent().path.node.extra.__putout_printer}function JQe(e,t=qQe(e)){if("babel"!==t)return e.node.extra?.parenthesized;const{type:n}=e.parentPath;return/^(TS)?Parenthesized(Expression|Type)?$/.test(n)}BQe.hasParens=JQe,BQe.addParens=e=>{const t=qQe(e);if(JQe(e,t))return e;if("babel"!==t){const{extra:t={}}=e.node;return t.parenthesized=!0,e.node.extra=t,e}const{node:n}=e;return e.type.startsWith("TS")?e.replaceWith(UQe(n)):(e.replaceWith(RQe(n)),e)},BQe.removeParens=e=>{const t=qQe(e);if(!JQe(e,t))return e;if("babel"!==t)return e.node.extra.parenthesized=!1,e;const{node:n}=e;return e.parentPath.replaceWith(n),e};var VQe=Object.freeze({__proto__:null,codeframe:({source:e,error:t,highlightCode:n=!0})=>{const{message:r,loc:i}=t;if(!i)return r;const s={start:i};return rt.codeFrameColumns(e,s,{highlightCode:n,message:r})}}),KQe=t(VQe);const{traverse:WQe,types:XQe}=rt,{parse:$Qe,print:HQe,generate:zQe,template:YQe}=tU,{cutShebang:GQe,mergeShebang:QQe}=EFe,{defaultOptions:ZQe}=MXe,{transform:eZe,transformAsync:tZe}=WXe,{findPlaces:nZe,findPlacesAsync:rZe}=XXe;n.exports=sZe;var iZe=n.exports.putout=sZe;function sZe(e,t){bZe(e),t=ZQe(t);const{parser:n,isTS:r,isJSX:i,printer:s}=t,[a,o]=GQe(e),c=$Qe(a,{parser:n,isTS:r,isJSX:i,printer:s}),u=eZe(c,e,t);if(!t.fix)return{code:e,places:u};const l=HQe(c,{printer:s,source:e});return{code:QQe(o,l),places:u}}var aZe=n.exports.putoutAsync=async(e,t)=>{bZe(e),t=ZQe(t);const{parser:n,isTS:r,isJSX:i,printer:s}=t,[a,o]=GQe(e),c=$Qe(a,{parser:n,isTS:r,isJSX:i,printer:s}),u=await tZe(c,e,t);if(!t.fix)return{code:e,places:u};const l=HQe(c,{printer:s});return{code:QQe(o,l),places:u}},oZe=n.exports.transform=eZe,cZe=n.exports.transformAsync=tZe,uZe=n.exports.findPlaces=nZe,lZe=n.exports.findPlacesAsync=rZe,pZe=n.exports.parse=$Qe,dZe=n.exports.print=HQe,hZe=n.exports.traverse=WQe,fZe=n.exports.types=XQe,mZe=n.exports.template=YQe,yZe=n.exports.generate=zQe,gZe=n.exports.operator={...YW,...zje,...$Xe,...W4,...c$e,...RVe,...dGe,...hGe,...fKe,...LGe,...UGe,...mQe,...wQe,...BQe};const{codeframe:xZe}=KQe,TZe=e=>"string"==typeof e;var SZe=n.exports.codeframe=xZe;function bZe(e){if(!TZe(e))throw Error(`☝️ Looks like 'source' has type '${typeof e}', expected: 'string'`)}export{SZe as codeframe,iZe as default,uZe as findPlaces,lZe as findPlacesAsync,yZe as generate,gZe as operator,pZe as parse,dZe as print,iZe as putout,aZe as putoutAsync,mZe as template,oZe as transform,cZe as transformAsync,hZe as traverse,fZe as types};
|