diff --git a/bootstrap.php b/bootstrap.php index eb8a1ba..aa5cac7 100644 --- a/bootstrap.php +++ b/bootstrap.php @@ -47,10 +47,15 @@ }); $events->beforeBuild(function (Jigsaw $jigsaw) { - $manifest = json_decode(file_get_contents(__DIR__.'/source/assets/debugbar/manifest.json'), true); + $files = glob(__DIR__.'/source/assets/debugbar/*.js'); + + if (count($files) !== 1) { + echo "\n\nToo many demo files found in source/assets/debugbar\n\n"; + exit(1); + } $jigsaw->setConfig('debugbarAssets', [ - 'js' => basename($manifest['src/demo.ts']['file']), + 'js' => basename($files[0]), ]); }); diff --git a/source/_docs/80-polling-mode.md b/source/_docs/80-polling-mode.md index 9304da1..d89d545 100644 --- a/source/_docs/80-polling-mode.md +++ b/source/_docs/80-polling-mode.md @@ -10,7 +10,9 @@ seo_description: If you cannot use websocket via ActionCable, the debugbar has a fallback mode using HTTP polling. It's not as nice as the websocket, but it works. -If ActionCable isn't found, the debugbar will automatically switch to polling mode. +If ActionCable isn't found, the debugbar will automatically switch to polling mode (only if using the ERB helper). + +It's also possible to pause and resume polling to avoid all those calls in the browser Network tab when debugging. ## Configuration diff --git a/source/assets/debugbar/debugbar-756U0KKi.js b/source/assets/debugbar/debugbar-756U0KKi.js deleted file mode 100644 index f7af8de..0000000 --- a/source/assets/debugbar/debugbar-756U0KKi.js +++ /dev/null @@ -1,654 +0,0 @@ -var $A=Object.defineProperty;var KA=(e,t,E)=>t in e?$A(e,t,{enumerable:!0,configurable:!0,writable:!0,value:E}):e[t]=E;var Ze=(e,t,E)=>(KA(e,typeof t!="symbol"?t+"":t,E),E);var iE=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Vs(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function $o(e){return e instanceof Map?e.clear=e.delete=e.set=function(){throw new Error("map is read-only")}:e instanceof Set&&(e.add=e.clear=e.delete=function(){throw new Error("set is read-only")}),Object.freeze(e),Object.getOwnPropertyNames(e).forEach(t=>{const E=e[t],s=typeof E;(s==="object"||s==="function")&&!Object.isFrozen(E)&&$o(E)}),e}class Vn{constructor(t){t.data===void 0&&(t.data={}),this.data=t.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}}function Ko(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}function ht(e,...t){const E=Object.create(null);for(const s in e)E[s]=e[s];return t.forEach(function(s){for(const r in s)E[r]=s[r]}),E}const kA="",xn=e=>!!e.scope,JA=(e,{prefix:t})=>{if(e.startsWith("language:"))return e.replace("language:","language-");if(e.includes(".")){const E=e.split(".");return[`${t}${E.shift()}`,...E.map((s,r)=>`${s}${"_".repeat(r+1)}`)].join(" ")}return`${t}${e}`};class jA{constructor(t,E){this.buffer="",this.classPrefix=E.classPrefix,t.walk(this)}addText(t){this.buffer+=Ko(t)}openNode(t){if(!xn(t))return;const E=JA(t.scope,{prefix:this.classPrefix});this.span(E)}closeNode(t){xn(t)&&(this.buffer+=kA)}value(){return this.buffer}span(t){this.buffer+=``}}const Wn=(e={})=>{const t={children:[]};return Object.assign(t,e),t};class jr{constructor(){this.rootNode=Wn(),this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(t){this.top.children.push(t)}openNode(t){const E=Wn({scope:t});this.add(E),this.stack.push(E)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(t){return this.constructor._walk(t,this.rootNode)}static _walk(t,E){return typeof E=="string"?t.addText(E):E.children&&(t.openNode(E),E.children.forEach(s=>this._walk(t,s)),t.closeNode(E)),t}static _collapse(t){typeof t!="string"&&t.children&&(t.children.every(E=>typeof E=="string")?t.children=[t.children.join("")]:t.children.forEach(E=>{jr._collapse(E)}))}}class qA extends jr{constructor(t){super(),this.options=t}addText(t){t!==""&&this.add(t)}startScope(t){this.openNode(t)}endScope(){this.closeNode()}__addSublanguage(t,E){const s=t.root;E&&(s.scope=`language:${E}`),this.add(s)}toHTML(){return new jA(this,this.options).value()}finalize(){return this.closeAllNodes(),!0}}function JE(e){return e?typeof e=="string"?e:e.source:null}function ko(e){return zt("(?=",e,")")}function QA(e){return zt("(?:",e,")*")}function ZA(e){return zt("(?:",e,")?")}function zt(...e){return e.map(E=>JE(E)).join("")}function zA(e){const t=e[e.length-1];return typeof t=="object"&&t.constructor===Object?(e.splice(e.length-1,1),t):{}}function qr(...e){return"("+(zA(e).capture?"":"?:")+e.map(s=>JE(s)).join("|")+")"}function Jo(e){return new RegExp(e.toString()+"|").exec("").length-1}function eS(e,t){const E=e&&e.exec(t);return E&&E.index===0}const tS=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function Qr(e,{joinWith:t}){let E=0;return e.map(s=>{E+=1;const r=E;let n=JE(s),T="";for(;n.length>0;){const o=tS.exec(n);if(!o){T+=n;break}T+=n.substring(0,o.index),n=n.substring(o.index+o[0].length),o[0][0]==="\\"&&o[1]?T+="\\"+String(Number(o[1])+r):(T+=o[0],o[0]==="("&&E++)}return T}).map(s=>`(${s})`).join(t)}const ES=/\b\B/,jo="[a-zA-Z]\\w*",Zr="[a-zA-Z_]\\w*",qo="\\b\\d+(\\.\\d+)?",Qo="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",Zo="\\b(0b[01]+)",sS="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",rS=(e={})=>{const t=/^#![ ]*\//;return e.binary&&(e.begin=zt(t,/.*\b/,e.binary,/\b.*/)),ht({scope:"meta",begin:t,end:/$/,relevance:0,"on:begin":(E,s)=>{E.index!==0&&s.ignoreMatch()}},e)},jE={begin:"\\\\[\\s\\S]",relevance:0},nS={scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[jE]},TS={scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[jE]},oS={begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},xs=function(e,t,E={}){const s=ht({scope:"comment",begin:e,end:t,contains:[]},E);s.contains.push({scope:"doctag",begin:"[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)",end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0});const r=qr("I","a","is","so","us","to","at","if","in","it","on",/[A-Za-z]+['](d|ve|re|ll|t|s|n)/,/[A-Za-z]+[-][a-z]+/,/[A-Za-z][a-z]{2,}/);return s.contains.push({begin:zt(/[ ]+/,"(",r,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),s},iS=xs("//","$"),aS=xs("/\\*","\\*/"),RS=xs("#","$"),AS={scope:"number",begin:qo,relevance:0},SS={scope:"number",begin:Qo,relevance:0},OS={scope:"number",begin:Zo,relevance:0},lS={scope:"regexp",begin:/\/(?=[^/\n]*\/)/,end:/\/[gimuy]*/,contains:[jE,{begin:/\[/,end:/\]/,relevance:0,contains:[jE]}]},IS={scope:"title",begin:jo,relevance:0},NS={scope:"title",begin:Zr,relevance:0},cS={begin:"\\.\\s*"+Zr,relevance:0},_S=function(e){return Object.assign(e,{"on:begin":(t,E)=>{E.data._beginMatch=t[1]},"on:end":(t,E)=>{E.data._beginMatch!==t[1]&&E.ignoreMatch()}})};var Rs=Object.freeze({__proto__:null,APOS_STRING_MODE:nS,BACKSLASH_ESCAPE:jE,BINARY_NUMBER_MODE:OS,BINARY_NUMBER_RE:Zo,COMMENT:xs,C_BLOCK_COMMENT_MODE:aS,C_LINE_COMMENT_MODE:iS,C_NUMBER_MODE:SS,C_NUMBER_RE:Qo,END_SAME_AS_BEGIN:_S,HASH_COMMENT_MODE:RS,IDENT_RE:jo,MATCH_NOTHING_RE:ES,METHOD_GUARD:cS,NUMBER_MODE:AS,NUMBER_RE:qo,PHRASAL_WORDS_MODE:oS,QUOTE_STRING_MODE:TS,REGEXP_MODE:lS,RE_STARTERS_RE:sS,SHEBANG:rS,TITLE_MODE:IS,UNDERSCORE_IDENT_RE:Zr,UNDERSCORE_TITLE_MODE:NS});function CS(e,t){e.input[e.index-1]==="."&&t.ignoreMatch()}function uS(e,t){e.className!==void 0&&(e.scope=e.className,delete e.className)}function LS(e,t){t&&e.beginKeywords&&(e.begin="\\b("+e.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",e.__beforeBegin=CS,e.keywords=e.keywords||e.beginKeywords,delete e.beginKeywords,e.relevance===void 0&&(e.relevance=0))}function dS(e,t){Array.isArray(e.illegal)&&(e.illegal=qr(...e.illegal))}function pS(e,t){if(e.match){if(e.begin||e.end)throw new Error("begin & end are not supported with match");e.begin=e.match,delete e.match}}function fS(e,t){e.relevance===void 0&&(e.relevance=1)}const PS=(e,t)=>{if(!e.beforeMatch)return;if(e.starts)throw new Error("beforeMatch cannot be used with starts");const E=Object.assign({},e);Object.keys(e).forEach(s=>{delete e[s]}),e.keywords=E.keywords,e.begin=zt(E.beforeMatch,ko(E.begin)),e.starts={relevance:0,contains:[Object.assign(E,{endsParent:!0})]},e.relevance=0,delete E.beforeMatch},DS=["of","and","for","in","not","or","if","then","parent","list","value"],hS="keyword";function zo(e,t,E=hS){const s=Object.create(null);return typeof e=="string"?r(E,e.split(" ")):Array.isArray(e)?r(E,e):Object.keys(e).forEach(function(n){Object.assign(s,zo(e[n],t,n))}),s;function r(n,T){t&&(T=T.map(o=>o.toLowerCase())),T.forEach(function(o){const i=o.split("|");s[i[0]]=[n,MS(i[0],i[1])]})}}function MS(e,t){return t?Number(t):US(e)?0:1}function US(e){return DS.includes(e.toLowerCase())}const Xn={},Kt=e=>{console.error(e)},$n=(e,...t)=>{console.log(`WARN: ${e}`,...t)},sE=(e,t)=>{Xn[`${e}/${t}`]||(console.log(`Deprecated as of ${e}. ${t}`),Xn[`${e}/${t}`]=!0)},hs=new Error;function ei(e,t,{key:E}){let s=0;const r=e[E],n={},T={};for(let o=1;o<=t.length;o++)T[o+s]=r[o],n[o+s]=!0,s+=Jo(t[o-1]);e[E]=T,e[E]._emit=n,e[E]._multi=!0}function bS(e){if(Array.isArray(e.begin)){if(e.skip||e.excludeBegin||e.returnBegin)throw Kt("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),hs;if(typeof e.beginScope!="object"||e.beginScope===null)throw Kt("beginScope must be object"),hs;ei(e,e.begin,{key:"beginScope"}),e.begin=Qr(e.begin,{joinWith:""})}}function mS(e){if(Array.isArray(e.end)){if(e.skip||e.excludeEnd||e.returnEnd)throw Kt("skip, excludeEnd, returnEnd not compatible with endScope: {}"),hs;if(typeof e.endScope!="object"||e.endScope===null)throw Kt("endScope must be object"),hs;ei(e,e.end,{key:"endScope"}),e.end=Qr(e.end,{joinWith:""})}}function gS(e){e.scope&&typeof e.scope=="object"&&e.scope!==null&&(e.beginScope=e.scope,delete e.scope)}function GS(e){gS(e),typeof e.beginScope=="string"&&(e.beginScope={_wrap:e.beginScope}),typeof e.endScope=="string"&&(e.endScope={_wrap:e.endScope}),bS(e),mS(e)}function HS(e){function t(T,o){return new RegExp(JE(T),"m"+(e.case_insensitive?"i":"")+(e.unicodeRegex?"u":"")+(o?"g":""))}class E{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(o,i){i.position=this.position++,this.matchIndexes[this.matchAt]=i,this.regexes.push([i,o]),this.matchAt+=Jo(o)+1}compile(){this.regexes.length===0&&(this.exec=()=>null);const o=this.regexes.map(i=>i[1]);this.matcherRe=t(Qr(o,{joinWith:"|"}),!0),this.lastIndex=0}exec(o){this.matcherRe.lastIndex=this.lastIndex;const i=this.matcherRe.exec(o);if(!i)return null;const a=i.findIndex((S,O)=>O>0&&S!==void 0),R=this.matchIndexes[a];return i.splice(0,a),Object.assign(i,R)}}class s{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(o){if(this.multiRegexes[o])return this.multiRegexes[o];const i=new E;return this.rules.slice(o).forEach(([a,R])=>i.addRule(a,R)),i.compile(),this.multiRegexes[o]=i,i}resumingScanAtSamePosition(){return this.regexIndex!==0}considerAll(){this.regexIndex=0}addRule(o,i){this.rules.push([o,i]),i.type==="begin"&&this.count++}exec(o){const i=this.getMatcher(this.regexIndex);i.lastIndex=this.lastIndex;let a=i.exec(o);if(this.resumingScanAtSamePosition()&&!(a&&a.index===this.lastIndex)){const R=this.getMatcher(0);R.lastIndex=this.lastIndex+1,a=R.exec(o)}return a&&(this.regexIndex+=a.position+1,this.regexIndex===this.count&&this.considerAll()),a}}function r(T){const o=new s;return T.contains.forEach(i=>o.addRule(i.begin,{rule:i,type:"begin"})),T.terminatorEnd&&o.addRule(T.terminatorEnd,{type:"end"}),T.illegal&&o.addRule(T.illegal,{type:"illegal"}),o}function n(T,o){const i=T;if(T.isCompiled)return i;[uS,pS,GS,PS].forEach(R=>R(T,o)),e.compilerExtensions.forEach(R=>R(T,o)),T.__beforeBegin=null,[LS,dS,fS].forEach(R=>R(T,o)),T.isCompiled=!0;let a=null;return typeof T.keywords=="object"&&T.keywords.$pattern&&(T.keywords=Object.assign({},T.keywords),a=T.keywords.$pattern,delete T.keywords.$pattern),a=a||/\w+/,T.keywords&&(T.keywords=zo(T.keywords,e.case_insensitive)),i.keywordPatternRe=t(a,!0),o&&(T.begin||(T.begin=/\B|\b/),i.beginRe=t(i.begin),!T.end&&!T.endsWithParent&&(T.end=/\B|\b/),T.end&&(i.endRe=t(i.end)),i.terminatorEnd=JE(i.end)||"",T.endsWithParent&&o.terminatorEnd&&(i.terminatorEnd+=(T.end?"|":"")+o.terminatorEnd)),T.illegal&&(i.illegalRe=t(T.illegal)),T.contains||(T.contains=[]),T.contains=[].concat(...T.contains.map(function(R){return yS(R==="self"?T:R)})),T.contains.forEach(function(R){n(R,i)}),T.starts&&n(T.starts,o),i.matcher=r(i),i}if(e.compilerExtensions||(e.compilerExtensions=[]),e.contains&&e.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return e.classNameAliases=ht(e.classNameAliases||{}),n(e)}function ti(e){return e?e.endsWithParent||ti(e.starts):!1}function yS(e){return e.variants&&!e.cachedVariants&&(e.cachedVariants=e.variants.map(function(t){return ht(e,{variants:null},t)})),e.cachedVariants?e.cachedVariants:ti(e)?ht(e,{starts:e.starts?ht(e.starts):null}):Object.isFrozen(e)?ht(e):e}var vS="11.9.0";class BS extends Error{constructor(t,E){super(t),this.name="HTMLInjectionError",this.html=E}}const ir=Ko,Kn=ht,kn=Symbol("nomatch"),FS=7,Ei=function(e){const t=Object.create(null),E=Object.create(null),s=[];let r=!0;const n="Could not find the language '{}', did you forget to load/include a language module?",T={disableAutodetect:!0,name:"Plain text",contains:[]};let o={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",cssSelector:"pre code",languages:null,__emitter:qA};function i(u){return o.noHighlightRe.test(u)}function a(u){let h=u.className+" ";h+=u.parentNode?u.parentNode.className:"";const z=o.languageDetectRe.exec(h);if(z){const Re=Se(z[1]);return Re||($n(n.replace("{}",z[1])),$n("Falling back to no-highlight mode for this block.",u)),Re?z[1]:"no-highlight"}return h.split(/\s+/).find(Re=>i(Re)||Se(Re))}function R(u,h,z){let Re="",Oe="";typeof h=="object"?(Re=u,z=h.ignoreIllegals,Oe=h.language):(sE("10.7.0","highlight(lang, code, ...args) has been deprecated."),sE("10.7.0",`Please use highlight(code, options) instead. -https://github.com/highlightjs/highlight.js/issues/2277`),Oe=u,Re=h),z===void 0&&(z=!0);const Le={code:Re,language:Oe};pe("before:highlight",Le);const Qe=Le.result?Le.result:S(Le.language,Le.code,z);return Qe.code=Le.code,pe("after:highlight",Qe),Qe}function S(u,h,z,Re){const Oe=Object.create(null);function Le(D,b){return D.keywords[b]}function Qe(){if(!c.keywords){L.addText(G);return}let D=0;c.keywordPatternRe.lastIndex=0;let b=c.keywordPatternRe.exec(G),W="";for(;b;){W+=G.substring(D,b.index);const ee=d.case_insensitive?b[0].toLowerCase():b[0],ue=Le(c,ee);if(ue){const[je,Ft]=ue;if(L.addText(W),W="",Oe[ee]=(Oe[ee]||0)+1,Oe[ee]<=FS&&(Y+=Ft),je.startsWith("_"))W+=b[0];else{const as=d.classNameAliases[je]||je;Pe(b[0],as)}}else W+=b[0];D=c.keywordPatternRe.lastIndex,b=c.keywordPatternRe.exec(G)}W+=G.substring(D),L.addText(W)}function EE(){if(G==="")return;let D=null;if(typeof c.subLanguage=="string"){if(!t[c.subLanguage]){L.addText(G);return}D=S(c.subLanguage,G,!0,g[c.subLanguage]),g[c.subLanguage]=D._top}else D=p(G,c.subLanguage.length?c.subLanguage:null);c.relevance>0&&(Y+=D.relevance),L.__addSublanguage(D._emitter,D.language)}function we(){c.subLanguage!=null?EE():Qe(),G=""}function Pe(D,b){D!==""&&(L.startScope(b),L.addText(D),L.endScope())}function Bt(D,b){let W=1;const ee=b.length-1;for(;W<=ee;){if(!D._emit[W]){W++;continue}const ue=d.classNameAliases[D[W]]||D[W],je=b[W];ue?Pe(je,ue):(G=je,Qe(),G=""),W++}}function bE(D,b){return D.scope&&typeof D.scope=="string"&&L.openNode(d.classNameAliases[D.scope]||D.scope),D.beginScope&&(D.beginScope._wrap?(Pe(G,d.classNameAliases[D.beginScope._wrap]||D.beginScope._wrap),G=""):D.beginScope._multi&&(Bt(D.beginScope,b),G="")),c=Object.create(D,{parent:{value:c}}),c}function Nt(D,b,W){let ee=eS(D.endRe,W);if(ee){if(D["on:end"]){const ue=new Vn(D);D["on:end"](b,ue),ue.isMatchIgnored&&(ee=!1)}if(ee){for(;D.endsParent&&D.parent;)D=D.parent;return D}}if(D.endsWithParent)return Nt(D.parent,b,W)}function mE(D){return c.matcher.regexIndex===0?(G+=D[0],1):(Ee=!0,0)}function gE(D){const b=D[0],W=D.rule,ee=new Vn(W),ue=[W.__beforeBegin,W["on:begin"]];for(const je of ue)if(je&&(je(D,ee),ee.isMatchIgnored))return mE(b);return W.skip?G+=b:(W.excludeBegin&&(G+=b),we(),!W.returnBegin&&!W.excludeBegin&&(G=b)),bE(W,D),W.returnBegin?0:b.length}function A(D){const b=D[0],W=h.substring(D.index),ee=Nt(c,D,W);if(!ee)return kn;const ue=c;c.endScope&&c.endScope._wrap?(we(),Pe(b,c.endScope._wrap)):c.endScope&&c.endScope._multi?(we(),Bt(c.endScope,D)):ue.skip?G+=b:(ue.returnEnd||ue.excludeEnd||(G+=b),we(),ue.excludeEnd&&(G=b));do c.scope&&L.closeNode(),!c.skip&&!c.subLanguage&&(Y+=c.relevance),c=c.parent;while(c!==ee.parent);return ee.starts&&bE(ee.starts,D),ue.returnEnd?0:b.length}function l(){const D=[];for(let b=c;b!==d;b=b.parent)b.scope&&D.unshift(b.scope);D.forEach(b=>L.openNode(b))}let _={};function f(D,b){const W=b&&b[0];if(G+=D,W==null)return we(),0;if(_.type==="begin"&&b.type==="end"&&_.index===b.index&&W===""){if(G+=h.slice(b.index,b.index+1),!r){const ee=new Error(`0 width match regex (${u})`);throw ee.languageName=u,ee.badRule=_.rule,ee}return 1}if(_=b,b.type==="begin")return gE(b);if(b.type==="illegal"&&!z){const ee=new Error('Illegal lexeme "'+W+'" for mode "'+(c.scope||"")+'"');throw ee.mode=c,ee}else if(b.type==="end"){const ee=A(b);if(ee!==kn)return ee}if(b.type==="illegal"&&W==="")return 1;if(j>1e5&&j>b.index*3)throw new Error("potential infinite loop, way more iterations than matches");return G+=W,W.length}const d=Se(u);if(!d)throw Kt(n.replace("{}",u)),new Error('Unknown language: "'+u+'"');const m=HS(d);let B="",c=Re||m;const g={},L=new o.__emitter(o);l();let G="",Y=0,x=0,j=0,Ee=!1;try{if(d.__emitTokens)d.__emitTokens(h,L);else{for(c.matcher.considerAll();;){j++,Ee?Ee=!1:c.matcher.considerAll(),c.matcher.lastIndex=x;const D=c.matcher.exec(h);if(!D)break;const b=h.substring(x,D.index),W=f(b,D);x=D.index+W}f(h.substring(x))}return L.finalize(),B=L.toHTML(),{language:u,value:B,relevance:Y,illegal:!1,_emitter:L,_top:c}}catch(D){if(D.message&&D.message.includes("Illegal"))return{language:u,value:ir(h),illegal:!0,relevance:0,_illegalBy:{message:D.message,index:x,context:h.slice(x-100,x+100),mode:D.mode,resultSoFar:B},_emitter:L};if(r)return{language:u,value:ir(h),illegal:!1,relevance:0,errorRaised:D,_emitter:L,_top:c};throw D}}function O(u){const h={value:ir(u),illegal:!1,relevance:0,_top:T,_emitter:new o.__emitter(o)};return h._emitter.addText(u),h}function p(u,h){h=h||o.languages||Object.keys(t);const z=O(u),Re=h.filter(Se).filter(N).map(we=>S(we,u,!1));Re.unshift(z);const Oe=Re.sort((we,Pe)=>{if(we.relevance!==Pe.relevance)return Pe.relevance-we.relevance;if(we.language&&Pe.language){if(Se(we.language).supersetOf===Pe.language)return 1;if(Se(Pe.language).supersetOf===we.language)return-1}return 0}),[Le,Qe]=Oe,EE=Le;return EE.secondBest=Qe,EE}function U(u,h,z){const Re=h&&E[h]||z;u.classList.add("hljs"),u.classList.add(`language-${Re}`)}function y(u){let h=null;const z=a(u);if(i(z))return;if(pe("before:highlightElement",{el:u,language:z}),u.dataset.highlighted){console.log("Element previously highlighted. To highlight again, first unset `dataset.highlighted`.",u);return}if(u.children.length>0&&(o.ignoreUnescapedHTML||(console.warn("One of your code blocks includes unescaped HTML. This is a potentially serious security risk."),console.warn("https://github.com/highlightjs/highlight.js/wiki/security"),console.warn("The element with unescaped HTML:"),console.warn(u)),o.throwUnescapedHTML))throw new BS("One of your code blocks includes unescaped HTML.",u.innerHTML);h=u;const Re=h.textContent,Oe=z?R(Re,{language:z,ignoreIllegals:!0}):p(Re);u.innerHTML=Oe.value,u.dataset.highlighted="yes",U(u,z,Oe.language),u.result={language:Oe.language,re:Oe.relevance,relevance:Oe.relevance},Oe.secondBest&&(u.secondBest={language:Oe.secondBest.language,relevance:Oe.secondBest.relevance}),pe("after:highlightElement",{el:u,result:Oe,text:Re})}function V(u){o=Kn(o,u)}const $=()=>{F(),sE("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")};function k(){F(),sE("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")}let w=!1;function F(){if(document.readyState==="loading"){w=!0;return}document.querySelectorAll(o.cssSelector).forEach(y)}function ae(){w&&F()}typeof window<"u"&&window.addEventListener&&window.addEventListener("DOMContentLoaded",ae,!1);function Ie(u,h){let z=null;try{z=h(e)}catch(Re){if(Kt("Language definition for '{}' could not be registered.".replace("{}",u)),r)Kt(Re);else throw Re;z=T}z.name||(z.name=u),t[u]=z,z.rawDefinition=h.bind(null,e),z.aliases&&I(z.aliases,{languageName:u})}function Z(u){delete t[u];for(const h of Object.keys(E))E[h]===u&&delete E[h]}function de(){return Object.keys(t)}function Se(u){return u=(u||"").toLowerCase(),t[u]||t[E[u]]}function I(u,{languageName:h}){typeof u=="string"&&(u=[u]),u.forEach(z=>{E[z.toLowerCase()]=h})}function N(u){const h=Se(u);return h&&!h.disableAutodetect}function C(u){u["before:highlightBlock"]&&!u["before:highlightElement"]&&(u["before:highlightElement"]=h=>{u["before:highlightBlock"](Object.assign({block:h.el},h))}),u["after:highlightBlock"]&&!u["after:highlightElement"]&&(u["after:highlightElement"]=h=>{u["after:highlightBlock"](Object.assign({block:h.el},h))})}function v(u){C(u),s.push(u)}function K(u){const h=s.indexOf(u);h!==-1&&s.splice(h,1)}function pe(u,h){const z=u;s.forEach(function(Re){Re[z]&&Re[z](h)})}function Te(u){return sE("10.7.0","highlightBlock will be removed entirely in v12.0"),sE("10.7.0","Please use highlightElement now."),y(u)}Object.assign(e,{highlight:R,highlightAuto:p,highlightAll:F,highlightElement:y,highlightBlock:Te,configure:V,initHighlighting:$,initHighlightingOnLoad:k,registerLanguage:Ie,unregisterLanguage:Z,listLanguages:de,getLanguage:Se,registerAliases:I,autoDetection:N,inherit:Kn,addPlugin:v,removePlugin:K}),e.debugMode=function(){r=!1},e.safeMode=function(){r=!0},e.versionString=vS,e.regex={concat:zt,lookahead:ko,either:qr,optional:ZA,anyNumberOfTimes:QA};for(const u in Rs)typeof Rs[u]=="object"&&$o(Rs[u]);return Object.assign(e,Rs),e},lE=Ei({});lE.newInstance=()=>Ei({});var YS=lE;lE.HighlightJS=lE;lE.default=lE;const wE=Vs(YS);function wS(e){const t=e.regex,E=e.COMMENT("--","$"),s={className:"string",variants:[{begin:/'/,end:/'/,contains:[{begin:/''/}]}]},r={begin:/"/,end:/"/,contains:[{begin:/""/}]},n=["true","false","unknown"],T=["double precision","large object","with timezone","without timezone"],o=["bigint","binary","blob","boolean","char","character","clob","date","dec","decfloat","decimal","float","int","integer","interval","nchar","nclob","national","numeric","real","row","smallint","time","timestamp","varchar","varying","varbinary"],i=["add","asc","collation","desc","final","first","last","view"],a=["abs","acos","all","allocate","alter","and","any","are","array","array_agg","array_max_cardinality","as","asensitive","asin","asymmetric","at","atan","atomic","authorization","avg","begin","begin_frame","begin_partition","between","bigint","binary","blob","boolean","both","by","call","called","cardinality","cascaded","case","cast","ceil","ceiling","char","char_length","character","character_length","check","classifier","clob","close","coalesce","collate","collect","column","commit","condition","connect","constraint","contains","convert","copy","corr","corresponding","cos","cosh","count","covar_pop","covar_samp","create","cross","cube","cume_dist","current","current_catalog","current_date","current_default_transform_group","current_path","current_role","current_row","current_schema","current_time","current_timestamp","current_path","current_role","current_transform_group_for_type","current_user","cursor","cycle","date","day","deallocate","dec","decimal","decfloat","declare","default","define","delete","dense_rank","deref","describe","deterministic","disconnect","distinct","double","drop","dynamic","each","element","else","empty","end","end_frame","end_partition","end-exec","equals","escape","every","except","exec","execute","exists","exp","external","extract","false","fetch","filter","first_value","float","floor","for","foreign","frame_row","free","from","full","function","fusion","get","global","grant","group","grouping","groups","having","hold","hour","identity","in","indicator","initial","inner","inout","insensitive","insert","int","integer","intersect","intersection","interval","into","is","join","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","language","large","last_value","lateral","lead","leading","left","like","like_regex","listagg","ln","local","localtime","localtimestamp","log","log10","lower","match","match_number","match_recognize","matches","max","member","merge","method","min","minute","mod","modifies","module","month","multiset","national","natural","nchar","nclob","new","no","none","normalize","not","nth_value","ntile","null","nullif","numeric","octet_length","occurrences_regex","of","offset","old","omit","on","one","only","open","or","order","out","outer","over","overlaps","overlay","parameter","partition","pattern","per","percent","percent_rank","percentile_cont","percentile_disc","period","portion","position","position_regex","power","precedes","precision","prepare","primary","procedure","ptf","range","rank","reads","real","recursive","ref","references","referencing","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","release","result","return","returns","revoke","right","rollback","rollup","row","row_number","rows","running","savepoint","scope","scroll","search","second","seek","select","sensitive","session_user","set","show","similar","sin","sinh","skip","smallint","some","specific","specifictype","sql","sqlexception","sqlstate","sqlwarning","sqrt","start","static","stddev_pop","stddev_samp","submultiset","subset","substring","substring_regex","succeeds","sum","symmetric","system","system_time","system_user","table","tablesample","tan","tanh","then","time","timestamp","timezone_hour","timezone_minute","to","trailing","translate","translate_regex","translation","treat","trigger","trim","trim_array","true","truncate","uescape","union","unique","unknown","unnest","update","upper","user","using","value","values","value_of","var_pop","var_samp","varbinary","varchar","varying","versioning","when","whenever","where","width_bucket","window","with","within","without","year"],R=["abs","acos","array_agg","asin","atan","avg","cast","ceil","ceiling","coalesce","corr","cos","cosh","count","covar_pop","covar_samp","cume_dist","dense_rank","deref","element","exp","extract","first_value","floor","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","last_value","lead","listagg","ln","log","log10","lower","max","min","mod","nth_value","ntile","nullif","percent_rank","percentile_cont","percentile_disc","position","position_regex","power","rank","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","row_number","sin","sinh","sqrt","stddev_pop","stddev_samp","substring","substring_regex","sum","tan","tanh","translate","translate_regex","treat","trim","trim_array","unnest","upper","value_of","var_pop","var_samp","width_bucket"],S=["current_catalog","current_date","current_default_transform_group","current_path","current_role","current_schema","current_transform_group_for_type","current_user","session_user","system_time","system_user","current_time","localtime","current_timestamp","localtimestamp"],O=["create table","insert into","primary key","foreign key","not null","alter table","add constraint","grouping sets","on overflow","character set","respect nulls","ignore nulls","nulls first","nulls last","depth first","breadth first"],p=R,U=[...a,...i].filter(w=>!R.includes(w)),y={className:"variable",begin:/@[a-z0-9][a-z0-9_]*/},V={className:"operator",begin:/[-+*/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?/,relevance:0},$={begin:t.concat(/\b/,t.either(...p),/\s*\(/),relevance:0,keywords:{built_in:p}};function k(w,{exceptions:F,when:ae}={}){const Ie=ae;return F=F||[],w.map(Z=>Z.match(/\|\d+$/)||F.includes(Z)?Z:Ie(Z)?`${Z}|0`:Z)}return{name:"SQL",case_insensitive:!0,illegal:/[{}]|<\//,keywords:{$pattern:/\b[\w\.]+/,keyword:k(U,{when:w=>w.length<3}),literal:n,type:o,built_in:S},contains:[{begin:t.either(...O),relevance:0,keywords:{$pattern:/[\w\.]+/,keyword:U.concat(O),literal:n,type:o}},{className:"type",begin:t.either(...T)},$,y,s,r,e.C_NUMBER_MODE,e.C_BLOCK_COMMENT_MODE,E,V]}}function VS(e){const t={className:"attr",begin:/"(\\.|[^\\"\r\n])*"(?=\s*:)/,relevance:1.01},E={match:/[{}[\],:]/,className:"punctuation",relevance:0},s=["true","false","null"],r={scope:"literal",beginKeywords:s.join(" ")};return{name:"JSON",keywords:{literal:s},contains:[t,E,e.QUOTE_STRING_MODE,r,e.C_NUMBER_MODE,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE],illegal:"\\S"}}function zr(e,t){const E=Object.create(null),s=e.split(",");for(let r=0;r!!E[r.toLowerCase()]:r=>!!E[r]}const _e={},AE=[],St=()=>{},xS=()=>!1,Ws=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),en=e=>e.startsWith("onUpdate:"),He=Object.assign,tn=(e,t)=>{const E=e.indexOf(t);E>-1&&e.splice(E,1)},WS=Object.prototype.hasOwnProperty,ie=(e,t)=>WS.call(e,t),Q=Array.isArray,SE=e=>Xs(e)==="[object Map]",si=e=>Xs(e)==="[object Set]",te=e=>typeof e=="function",De=e=>typeof e=="string",CE=e=>typeof e=="symbol",Ce=e=>e!==null&&typeof e=="object",ri=e=>(Ce(e)||te(e))&&te(e.then)&&te(e.catch),ni=Object.prototype.toString,Xs=e=>ni.call(e),XS=e=>Xs(e).slice(8,-1),Ti=e=>Xs(e)==="[object Object]",En=e=>De(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,_s=zr(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),$s=e=>{const t=Object.create(null);return E=>t[E]||(t[E]=e(E))},$S=/-(\w)/g,lt=$s(e=>e.replace($S,(t,E)=>E?E.toUpperCase():"")),KS=/\B([A-Z])/g,uE=$s(e=>e.replace(KS,"-$1").toLowerCase()),Ks=$s(e=>e.charAt(0).toUpperCase()+e.slice(1)),ar=$s(e=>e?`on${Ks(e)}`:""),qt=(e,t)=>!Object.is(e,t),Rr=(e,t)=>{for(let E=0;E{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value:E})},kS=e=>{const t=parseFloat(e);return isNaN(t)?e:t};let Jn;const Lr=()=>Jn||(Jn=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function ks(e){if(Q(e)){const t={};for(let E=0;E{if(E){const s=E.split(jS);s.length>1&&(t[s[0].trim()]=s[1].trim())}}),t}function Je(e){let t="";if(De(e))t=e;else if(Q(e))for(let E=0;EDe(e)?e:e==null?"":Q(e)||Ce(e)&&(e.toString===ni||!te(e.toString))?JSON.stringify(e,ii,2):String(e),ii=(e,t)=>t&&t.__v_isRef?ii(e,t.value):SE(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((E,[s,r],n)=>(E[Ar(s,n)+" =>"]=r,E),{})}:si(t)?{[`Set(${t.size})`]:[...t.values()].map(E=>Ar(E))}:CE(t)?Ar(t):Ce(t)&&!Q(t)&&!Ti(t)?String(t):t,Ar=(e,t="")=>{var E;return CE(e)?`Symbol(${(E=e.description)!=null?E:t})`:e};let ke;class ai{constructor(t=!1){this.detached=t,this._active=!0,this.effects=[],this.cleanups=[],this.parent=ke,!t&&ke&&(this.index=(ke.scopes||(ke.scopes=[])).push(this)-1)}get active(){return this._active}run(t){if(this._active){const E=ke;try{return ke=this,t()}finally{ke=E}}}on(){ke=this}off(){ke=this.parent}stop(t){if(this._active){let E,s;for(E=0,s=this.effects.length;E{const t=new Set(e);return t.w=0,t.n=0,t},Si=e=>(e.w&Gt)>0,Oi=e=>(e.n&Gt)>0,EO=({deps:e})=>{if(e.length)for(let t=0;t{const{deps:t}=e;if(t.length){let E=0;for(let s=0;s{(R==="length"||!CE(R)&&R>=i)&&o.push(a)})}else switch(E!==void 0&&o.push(T.get(E)),t){case"add":Q(e)?En(E)&&o.push(T.get("length")):(o.push(T.get(kt)),SE(e)&&o.push(T.get(pr)));break;case"delete":Q(e)||(o.push(T.get(kt)),SE(e)&&o.push(T.get(pr)));break;case"set":SE(e)&&o.push(T.get(kt));break}if(o.length===1)o[0]&&fr(o[0]);else{const i=[];for(const a of o)a&&i.push(...a);fr(sn(i))}}function fr(e,t){const E=Q(e)?e:[...e];for(const s of E)s.computed&&qn(s);for(const s of E)s.computed||qn(s)}function qn(e,t){(e!==Et||e.allowRecurse)&&(e.scheduler?e.scheduler():e.run())}function rO(e,t){var E;return(E=Us.get(e))==null?void 0:E.get(t)}const nO=zr("__proto__,__v_isRef,__isVue"),Ni=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(CE)),Qn=TO();function TO(){const e={};return["includes","indexOf","lastIndexOf"].forEach(t=>{e[t]=function(...E){const s=ne(this);for(let n=0,T=this.length;n{e[t]=function(...E){LE();const s=ne(this)[t].apply(this,E);return dE(),s}}),e}function oO(e){const t=ne(this);return $e(t,"has",e),t.hasOwnProperty(e)}class ci{constructor(t=!1,E=!1){this._isReadonly=t,this._shallow=E}get(t,E,s){const r=this._isReadonly,n=this._shallow;if(E==="__v_isReactive")return!r;if(E==="__v_isReadonly")return r;if(E==="__v_isShallow")return n;if(E==="__v_raw")return s===(r?n?uO:Li:n?ui:Ci).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(s)?t:void 0;const T=Q(t);if(!r){if(T&&ie(Qn,E))return Reflect.get(Qn,E,s);if(E==="hasOwnProperty")return oO}const o=Reflect.get(t,E,s);return(CE(E)?Ni.has(E):nO(E))||(r||$e(t,"get",E),n)?o:he(o)?T&&En(E)?o:o.value:Ce(o)?r?di(o):Ht(o):o}}class _i extends ci{constructor(t=!1){super(!1,t)}set(t,E,s,r){let n=t[E];if(!this._shallow){const i=IE(n);if(!bs(s)&&!IE(s)&&(n=ne(n),s=ne(s)),!Q(t)&&he(n)&&!he(s))return i?!1:(n.value=s,!0)}const T=Q(t)&&En(E)?Number(E)e,Js=e=>Reflect.getPrototypeOf(e);function As(e,t,E=!1,s=!1){e=e.__v_raw;const r=ne(e),n=ne(t);E||(qt(t,n)&&$e(r,"get",t),$e(r,"get",n));const{has:T}=Js(r),o=s?nn:E?an:qE;if(T.call(r,t))return o(e.get(t));if(T.call(r,n))return o(e.get(n));e!==r&&e.get(t)}function Ss(e,t=!1){const E=this.__v_raw,s=ne(E),r=ne(e);return t||(qt(e,r)&&$e(s,"has",e),$e(s,"has",r)),e===r?E.has(e):E.has(e)||E.has(r)}function Os(e,t=!1){return e=e.__v_raw,!t&&$e(ne(e),"iterate",kt),Reflect.get(e,"size",e)}function Zn(e){e=ne(e);const t=ne(this);return Js(t).has.call(t,e)||(t.add(e),Ct(t,"add",e,e)),this}function zn(e,t){t=ne(t);const E=ne(this),{has:s,get:r}=Js(E);let n=s.call(E,e);n||(e=ne(e),n=s.call(E,e));const T=r.call(E,e);return E.set(e,t),n?qt(t,T)&&Ct(E,"set",e,t):Ct(E,"add",e,t),this}function eT(e){const t=ne(this),{has:E,get:s}=Js(t);let r=E.call(t,e);r||(e=ne(e),r=E.call(t,e)),s&&s.call(t,e);const n=t.delete(e);return r&&Ct(t,"delete",e,void 0),n}function tT(){const e=ne(this),t=e.size!==0,E=e.clear();return t&&Ct(e,"clear",void 0,void 0),E}function ls(e,t){return function(s,r){const n=this,T=n.__v_raw,o=ne(T),i=t?nn:e?an:qE;return!e&&$e(o,"iterate",kt),T.forEach((a,R)=>s.call(r,i(a),i(R),n))}}function Is(e,t,E){return function(...s){const r=this.__v_raw,n=ne(r),T=SE(n),o=e==="entries"||e===Symbol.iterator&&T,i=e==="keys"&&T,a=r[e](...s),R=E?nn:t?an:qE;return!t&&$e(n,"iterate",i?pr:kt),{next(){const{value:S,done:O}=a.next();return O?{value:S,done:O}:{value:o?[R(S[0]),R(S[1])]:R(S),done:O}},[Symbol.iterator](){return this}}}}function ft(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function SO(){const e={get(n){return As(this,n)},get size(){return Os(this)},has:Ss,add:Zn,set:zn,delete:eT,clear:tT,forEach:ls(!1,!1)},t={get(n){return As(this,n,!1,!0)},get size(){return Os(this)},has:Ss,add:Zn,set:zn,delete:eT,clear:tT,forEach:ls(!1,!0)},E={get(n){return As(this,n,!0)},get size(){return Os(this,!0)},has(n){return Ss.call(this,n,!0)},add:ft("add"),set:ft("set"),delete:ft("delete"),clear:ft("clear"),forEach:ls(!0,!1)},s={get(n){return As(this,n,!0,!0)},get size(){return Os(this,!0)},has(n){return Ss.call(this,n,!0)},add:ft("add"),set:ft("set"),delete:ft("delete"),clear:ft("clear"),forEach:ls(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(n=>{e[n]=Is(n,!1,!1),E[n]=Is(n,!0,!1),t[n]=Is(n,!1,!0),s[n]=Is(n,!0,!0)}),[e,E,t,s]}const[OO,lO,IO,NO]=SO();function Tn(e,t){const E=t?e?NO:IO:e?lO:OO;return(s,r,n)=>r==="__v_isReactive"?!e:r==="__v_isReadonly"?e:r==="__v_raw"?s:Reflect.get(ie(E,r)&&r in s?E:s,r,n)}const cO={get:Tn(!1,!1)},_O={get:Tn(!1,!0)},CO={get:Tn(!0,!1)},Ci=new WeakMap,ui=new WeakMap,Li=new WeakMap,uO=new WeakMap;function LO(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function dO(e){return e.__v_skip||!Object.isExtensible(e)?0:LO(XS(e))}function Ht(e){return IE(e)?e:on(e,!1,aO,cO,Ci)}function pO(e){return on(e,!1,AO,_O,ui)}function di(e){return on(e,!0,RO,CO,Li)}function on(e,t,E,s,r){if(!Ce(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const n=r.get(e);if(n)return n;const T=dO(e);if(T===0)return e;const o=new Proxy(e,T===2?s:E);return r.set(e,o),o}function mt(e){return IE(e)?mt(e.__v_raw):!!(e&&e.__v_isReactive)}function IE(e){return!!(e&&e.__v_isReadonly)}function bs(e){return!!(e&&e.__v_isShallow)}function pi(e){return mt(e)||IE(e)}function ne(e){const t=e&&e.__v_raw;return t?ne(t):e}function Qt(e){return Ms(e,"__v_skip",!0),e}const qE=e=>Ce(e)?Ht(e):e,an=e=>Ce(e)?di(e):e;function fi(e){bt&&Et&&(e=ne(e),Ii(e.dep||(e.dep=sn())))}function Pi(e,t){e=ne(e);const E=e.dep;E&&fr(E)}function he(e){return!!(e&&e.__v_isRef===!0)}function Mt(e){return fO(e,!1)}function fO(e,t){return he(e)?e:new PO(e,t)}class PO{constructor(t,E){this.__v_isShallow=E,this.dep=void 0,this.__v_isRef=!0,this._rawValue=E?t:ne(t),this._value=E?t:qE(t)}get value(){return fi(this),this._value}set value(t){const E=this.__v_isShallow||bs(t)||IE(t);t=E?t:ne(t),qt(t,this._rawValue)&&(this._rawValue=t,this._value=E?t:qE(t),Pi(this))}}function se(e){return he(e)?e.value:e}const DO={get:(e,t,E)=>se(Reflect.get(e,t,E)),set:(e,t,E,s)=>{const r=e[t];return he(r)&&!he(E)?(r.value=E,!0):Reflect.set(e,t,E,s)}};function Di(e){return mt(e)?e:new Proxy(e,DO)}function hO(e){const t=Q(e)?new Array(e.length):{};for(const E in e)t[E]=UO(e,E);return t}class MO{constructor(t,E,s){this._object=t,this._key=E,this._defaultValue=s,this.__v_isRef=!0}get value(){const t=this._object[this._key];return t===void 0?this._defaultValue:t}set value(t){this._object[this._key]=t}get dep(){return rO(ne(this._object),this._key)}}function UO(e,t,E){const s=e[t];return he(s)?s:new MO(e,t,E)}class bO{constructor(t,E,s,r){this._setter=E,this.dep=void 0,this.__v_isRef=!0,this.__v_isReadonly=!1,this._dirty=!0,this.effect=new rn(t,()=>{this._dirty||(this._dirty=!0,Pi(this))}),this.effect.computed=this,this.effect.active=this._cacheable=!r,this.__v_isReadonly=s}get value(){const t=ne(this);return fi(t),(t._dirty||!t._cacheable)&&(t._dirty=!1,t._value=t.effect.run()),t._value}set value(t){this._setter(t)}}function mO(e,t,E=!1){let s,r;const n=te(e);return n?(s=e,r=St):(s=e.get,r=e.set),new bO(s,r,n||!r,E)}function gt(e,t,E,s){let r;try{r=s?e(...s):e()}catch(n){js(n,t,E)}return r}function rt(e,t,E,s){if(te(e)){const n=gt(e,t,E,s);return n&&ri(n)&&n.catch(T=>{js(T,t,E)}),n}const r=[];for(let n=0;n>>1,r=Be[s],n=ZE(r);nat&&Be.splice(t,1)}function yO(e){Q(e)?OE.push(...e):(!_t||!_t.includes(e,e.allowRecurse?Xt+1:Xt))&&OE.push(e),Ui()}function ET(e,t,E=QE?at+1:0){for(;EZE(E)-ZE(s)),Xt=0;Xt<_t.length;Xt++)_t[Xt]();_t=null,Xt=0}}const ZE=e=>e.id==null?1/0:e.id,vO=(e,t)=>{const E=ZE(e)-ZE(t);if(E===0){if(e.pre&&!t.pre)return-1;if(t.pre&&!e.pre)return 1}return E};function mi(e){Pr=!1,QE=!0,Be.sort(vO);try{for(at=0;atRt.emit(r,...n)),FE=[]):typeof window<"u"&&window.HTMLElement&&!((s=(E=window.navigator)==null?void 0:E.userAgent)!=null&&s.includes("jsdom"))?((t.__VUE_DEVTOOLS_HOOK_REPLAY__=t.__VUE_DEVTOOLS_HOOK_REPLAY__||[]).push(n=>{gi(n,t)}),setTimeout(()=>{Rt||(t.__VUE_DEVTOOLS_HOOK_REPLAY__=null,Dr=!0,FE=[])},3e3)):(Dr=!0,FE=[])}function BO(e,t){qs("app:init",e,t,{Fragment:ce,Text:ns,Comment:Lt,Static:Cs})}function FO(e){qs("app:unmount",e)}const YO=Sn("component:added"),Gi=Sn("component:updated"),wO=Sn("component:removed"),VO=e=>{Rt&&typeof Rt.cleanupBuffer=="function"&&!Rt.cleanupBuffer(e)&&wO(e)};function Sn(e){return t=>{qs(e,t.appContext.app,t.uid,t.parent?t.parent.uid:void 0,t)}}function xO(e,t,E){qs("component:emit",e.appContext.app,e,t,E)}function WO(e,t,...E){if(e.isUnmounted)return;const s=e.vnode.props||_e;let r=E;const n=t.startsWith("update:"),T=n&&t.slice(7);if(T&&T in s){const R=`${T==="modelValue"?"model":T}Modifiers`,{number:S,trim:O}=s[R]||_e;O&&(r=E.map(p=>De(p)?p.trim():p)),S&&(r=E.map(kS))}xO(e,t,r);let o,i=s[o=ar(t)]||s[o=ar(lt(t))];!i&&n&&(i=s[o=ar(uE(t))]),i&&rt(i,e,6,r);const a=s[o+"Once"];if(a){if(!e.emitted)e.emitted={};else if(e.emitted[o])return;e.emitted[o]=!0,rt(a,e,6,r)}}function Hi(e,t,E=!1){const s=t.emitsCache,r=s.get(e);if(r!==void 0)return r;const n=e.emits;let T={},o=!1;if(!te(e)){const i=a=>{const R=Hi(a,t,!0);R&&(o=!0,He(T,R))};!E&&t.mixins.length&&t.mixins.forEach(i),e.extends&&i(e.extends),e.mixins&&e.mixins.forEach(i)}return!n&&!o?(Ce(e)&&s.set(e,null),null):(Q(n)?n.forEach(i=>T[i]=null):He(T,n),Ce(e)&&s.set(e,T),T)}function Qs(e,t){return!e||!Ws(t)?!1:(t=t.slice(2).replace(/Once$/,""),ie(e,t[0].toLowerCase()+t.slice(1))||ie(e,uE(t))||ie(e,t))}let Fe=null,yi=null;function ms(e){const t=Fe;return Fe=e,yi=e&&e.type.__scopeId||null,t}function Ae(e,t=Fe,E){if(!t||e._n)return e;const s=(...r)=>{s._d&&lT(-1);const n=ms(t);let T;try{T=e(...r)}finally{ms(n),s._d&&lT(1)}return Gi(t),T};return s._n=!0,s._c=!0,s._d=!0,s}function Sr(e){const{type:t,vnode:E,proxy:s,withProxy:r,props:n,propsOptions:[T],slots:o,attrs:i,emit:a,render:R,renderCache:S,data:O,setupState:p,ctx:U,inheritAttrs:y}=e;let V,$;const k=ms(e);try{if(E.shapeFlag&4){const F=r||s,ae=F;V=it(R.call(ae,F,S,n,p,O,U)),$=i}else{const F=t;V=it(F.length>1?F(n,{attrs:i,slots:o,emit:a}):F(n,null)),$=t.props?i:XO(i)}}catch(F){$E.length=0,js(F,e,1),V=q(Lt)}let w=V;if($&&y!==!1){const F=Object.keys($),{shapeFlag:ae}=w;F.length&&ae&7&&(T&&F.some(en)&&($=$O($,T)),w=NE(w,$))}return E.dirs&&(w=NE(w),w.dirs=w.dirs?w.dirs.concat(E.dirs):E.dirs),E.transition&&(w.transition=E.transition),V=w,ms(k),V}const XO=e=>{let t;for(const E in e)(E==="class"||E==="style"||Ws(E))&&((t||(t={}))[E]=e[E]);return t},$O=(e,t)=>{const E={};for(const s in e)(!en(s)||!(s.slice(9)in t))&&(E[s]=e[s]);return E};function KO(e,t,E){const{props:s,children:r,component:n}=e,{props:T,children:o,patchFlag:i}=t,a=n.emitsOptions;if(t.dirs||t.transition)return!0;if(E&&i>=0){if(i&1024)return!0;if(i&16)return s?sT(s,T,a):!!T;if(i&8){const R=t.dynamicProps;for(let S=0;Se.__isSuspense;function QO(e,t){t&&t.pendingBranch?Q(e)?t.effects.push(...e):t.effects.push(e):yO(e)}const Ns={};function Jt(e,t,E){return Bi(e,t,E)}function Bi(e,t,{immediate:E,deep:s,flush:r,onTrack:n,onTrigger:T}=_e){var o;const i=Ai()===((o=ge)==null?void 0:o.scope)?ge:null;let a,R=!1,S=!1;if(he(e)?(a=()=>e.value,R=bs(e)):mt(e)?(a=()=>e,s=!0):Q(e)?(S=!0,R=e.some(F=>mt(F)||bs(F)),a=()=>e.map(F=>{if(he(F))return F.value;if(mt(F))return aE(F);if(te(F))return gt(F,i,2)})):te(e)?t?a=()=>gt(e,i,2):a=()=>{if(!(i&&i.isUnmounted))return O&&O(),rt(e,i,3,[p])}:a=St,t&&s){const F=a;a=()=>aE(F())}let O,p=F=>{O=k.onStop=()=>{gt(F,i,4),O=k.onStop=void 0}},U;if(ts)if(p=St,t?E&&rt(t,i,3,[a(),S?[]:void 0,p]):a(),r==="sync"){const F=Kl();U=F.__watcherHandles||(F.__watcherHandles=[])}else return St;let y=S?new Array(e.length).fill(Ns):Ns;const V=()=>{if(k.active)if(t){const F=k.run();(s||R||(S?F.some((ae,Ie)=>qt(ae,y[Ie])):qt(F,y)))&&(O&&O(),rt(t,i,3,[F,y===Ns?void 0:S&&y[0]===Ns?[]:y,p]),y=F)}else k.run()};V.allowRecurse=!!t;let $;r==="sync"?$=V:r==="post"?$=()=>Xe(V,i&&i.suspense):(V.pre=!0,i&&(V.id=i.uid),$=()=>An(V));const k=new rn(a,$);t?E?V():y=k.run():r==="post"?Xe(k.run.bind(k),i&&i.suspense):k.run();const w=()=>{k.stop(),i&&i.scope&&tn(i.scope.effects,k)};return U&&U.push(w),w}function ZO(e,t,E){const s=this.proxy,r=De(e)?e.includes(".")?Fi(s,e):()=>s[e]:e.bind(s,s);let n;te(t)?n=t:(n=t.handler,E=t);const T=ge;cE(this);const o=Bi(r,n.bind(s),E);return T?cE(T):jt(),o}function Fi(e,t){const E=t.split(".");return()=>{let s=e;for(let r=0;r{aE(E,t)});else if(Ti(e))for(const E in e)aE(e[E],t);return e}function Yt(e,t,E,s){const r=e.dirs,n=t&&t.dirs;for(let T=0;T!!e.type.__asyncLoader,Yi=e=>e.type.__isKeepAlive;function zO(e,t){wi(e,"a",t)}function el(e,t){wi(e,"da",t)}function wi(e,t,E=ge){const s=e.__wdc||(e.__wdc=()=>{let r=E;for(;r;){if(r.isDeactivated)return;r=r.parent}return e()});if(Zs(t,s,E),E){let r=E.parent;for(;r&&r.parent;)Yi(r.parent.vnode)&&tl(s,t,E,r),r=r.parent}}function tl(e,t,E,s){const r=Zs(t,e,s,!0);xi(()=>{tn(s[t],r)},E)}function Zs(e,t,E=ge,s=!1){if(E){const r=E[e]||(E[e]=[]),n=t.__weh||(t.__weh=(...T)=>{if(E.isUnmounted)return;LE(),cE(E);const o=rt(t,E,e,T);return jt(),dE(),o});return s?r.unshift(n):r.push(n),n}}const dt=e=>(t,E=ge)=>(!ts||e==="sp")&&Zs(e,(...s)=>t(...s),E),Vi=dt("bm"),zs=dt("m"),El=dt("bu"),sl=dt("u"),rl=dt("bum"),xi=dt("um"),nl=dt("sp"),Tl=dt("rtg"),ol=dt("rtc");function il(e,t=ge){Zs("ec",e,t)}function qe(e,t,E,s){let r;const n=E&&E[s];if(Q(e)||De(e)){r=new Array(e.length);for(let T=0,o=e.length;Tt(T,o,void 0,n&&n[o]));else{const T=Object.keys(e);r=new Array(T.length);for(let o=0,i=T.length;oGs(t)?!(t.type===Lt||t.type===ce&&!Wi(t.children)):!0)?e:null}const hr=e=>e?ea(e)?_n(e)||e.proxy:hr(e.parent):null,xE=He(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>hr(e.parent),$root:e=>hr(e.root),$emit:e=>e.emit,$options:e=>On(e),$forceUpdate:e=>e.f||(e.f=()=>An(e.update)),$nextTick:e=>e.n||(e.n=Mi.bind(e.proxy)),$watch:e=>ZO.bind(e)}),Or=(e,t)=>e!==_e&&!e.__isScriptSetup&&ie(e,t),al={get({_:e},t){const{ctx:E,setupState:s,data:r,props:n,accessCache:T,type:o,appContext:i}=e;let a;if(t[0]!=="$"){const p=T[t];if(p!==void 0)switch(p){case 1:return s[t];case 2:return r[t];case 4:return E[t];case 3:return n[t]}else{if(Or(s,t))return T[t]=1,s[t];if(r!==_e&&ie(r,t))return T[t]=2,r[t];if((a=e.propsOptions[0])&&ie(a,t))return T[t]=3,n[t];if(E!==_e&&ie(E,t))return T[t]=4,E[t];Mr&&(T[t]=0)}}const R=xE[t];let S,O;if(R)return t==="$attrs"&&$e(e,"get",t),R(e);if((S=o.__cssModules)&&(S=S[t]))return S;if(E!==_e&&ie(E,t))return T[t]=4,E[t];if(O=i.config.globalProperties,ie(O,t))return O[t]},set({_:e},t,E){const{data:s,setupState:r,ctx:n}=e;return Or(r,t)?(r[t]=E,!0):s!==_e&&ie(s,t)?(s[t]=E,!0):ie(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(n[t]=E,!0)},has({_:{data:e,setupState:t,accessCache:E,ctx:s,appContext:r,propsOptions:n}},T){let o;return!!E[T]||e!==_e&&ie(e,T)||Or(t,T)||(o=n[0])&&ie(o,T)||ie(s,T)||ie(xE,T)||ie(r.config.globalProperties,T)},defineProperty(e,t,E){return E.get!=null?e._.accessCache[t]=0:ie(E,"value")&&this.set(e,t,E.value,null),Reflect.defineProperty(e,t,E)}};function nT(e){return Q(e)?e.reduce((t,E)=>(t[E]=null,t),{}):e}let Mr=!0;function Rl(e){const t=On(e),E=e.proxy,s=e.ctx;Mr=!1,t.beforeCreate&&TT(t.beforeCreate,e,"bc");const{data:r,computed:n,methods:T,watch:o,provide:i,inject:a,created:R,beforeMount:S,mounted:O,beforeUpdate:p,updated:U,activated:y,deactivated:V,beforeDestroy:$,beforeUnmount:k,destroyed:w,unmounted:F,render:ae,renderTracked:Ie,renderTriggered:Z,errorCaptured:de,serverPrefetch:Se,expose:I,inheritAttrs:N,components:C,directives:v,filters:K}=t;if(a&&Al(a,s,null),T)for(const u in T){const h=T[u];te(h)&&(s[u]=h.bind(E))}if(r){const u=r.call(E,E);Ce(u)&&(e.data=Ht(u))}if(Mr=!0,n)for(const u in n){const h=n[u],z=te(h)?h.bind(E,E):te(h.get)?h.get.bind(E,E):St,Re=!te(h)&&te(h.set)?h.set.bind(E):St,Oe=At({get:z,set:Re});Object.defineProperty(s,u,{enumerable:!0,configurable:!0,get:()=>Oe.value,set:Le=>Oe.value=Le})}if(o)for(const u in o)Xi(o[u],s,E,u);if(i){const u=te(i)?i.call(E):i;Reflect.ownKeys(u).forEach(h=>{cl(h,u[h])})}R&&TT(R,e,"c");function Te(u,h){Q(h)?h.forEach(z=>u(z.bind(E))):h&&u(h.bind(E))}if(Te(Vi,S),Te(zs,O),Te(El,p),Te(sl,U),Te(zO,y),Te(el,V),Te(il,de),Te(ol,Ie),Te(Tl,Z),Te(rl,k),Te(xi,F),Te(nl,Se),Q(I))if(I.length){const u=e.exposed||(e.exposed={});I.forEach(h=>{Object.defineProperty(u,h,{get:()=>E[h],set:z=>E[h]=z})})}else e.exposed||(e.exposed={});ae&&e.render===St&&(e.render=ae),N!=null&&(e.inheritAttrs=N),C&&(e.components=C),v&&(e.directives=v)}function Al(e,t,E=St){Q(e)&&(e=Ur(e));for(const s in e){const r=e[s];let n;Ce(r)?"default"in r?n=WE(r.from||s,r.default,!0):n=WE(r.from||s):n=WE(r),he(n)?Object.defineProperty(t,s,{enumerable:!0,configurable:!0,get:()=>n.value,set:T=>n.value=T}):t[s]=n}}function TT(e,t,E){rt(Q(e)?e.map(s=>s.bind(t.proxy)):e.bind(t.proxy),t,E)}function Xi(e,t,E,s){const r=s.includes(".")?Fi(E,s):()=>E[s];if(De(e)){const n=t[e];te(n)&&Jt(r,n)}else if(te(e))Jt(r,e.bind(E));else if(Ce(e))if(Q(e))e.forEach(n=>Xi(n,t,E,s));else{const n=te(e.handler)?e.handler.bind(E):t[e.handler];te(n)&&Jt(r,n,e)}}function On(e){const t=e.type,{mixins:E,extends:s}=t,{mixins:r,optionsCache:n,config:{optionMergeStrategies:T}}=e.appContext,o=n.get(t);let i;return o?i=o:!r.length&&!E&&!s?i=t:(i={},r.length&&r.forEach(a=>gs(i,a,T,!0)),gs(i,t,T)),Ce(t)&&n.set(t,i),i}function gs(e,t,E,s=!1){const{mixins:r,extends:n}=t;n&&gs(e,n,E,!0),r&&r.forEach(T=>gs(e,T,E,!0));for(const T in t)if(!(s&&T==="expose")){const o=Sl[T]||E&&E[T];e[T]=o?o(e[T],t[T]):t[T]}return e}const Sl={data:oT,props:iT,emits:iT,methods:YE,computed:YE,beforeCreate:Ve,created:Ve,beforeMount:Ve,mounted:Ve,beforeUpdate:Ve,updated:Ve,beforeDestroy:Ve,beforeUnmount:Ve,destroyed:Ve,unmounted:Ve,activated:Ve,deactivated:Ve,errorCaptured:Ve,serverPrefetch:Ve,components:YE,directives:YE,watch:ll,provide:oT,inject:Ol};function oT(e,t){return t?e?function(){return He(te(e)?e.call(this,this):e,te(t)?t.call(this,this):t)}:t:e}function Ol(e,t){return YE(Ur(e),Ur(t))}function Ur(e){if(Q(e)){const t={};for(let E=0;E1)return E&&te(t)?t.call(s&&s.proxy):t}}function _l(){return!!(ge||Fe||zE)}function Cl(e,t,E,s=!1){const r={},n={};Ms(n,er,1),e.propsDefaults=Object.create(null),Ki(e,t,r,n);for(const T in e.propsOptions[0])T in r||(r[T]=void 0);E?e.props=s?r:pO(r):e.type.props?e.props=r:e.props=n,e.attrs=n}function ul(e,t,E,s){const{props:r,attrs:n,vnode:{patchFlag:T}}=e,o=ne(r),[i]=e.propsOptions;let a=!1;if((s||T>0)&&!(T&16)){if(T&8){const R=e.vnode.dynamicProps;for(let S=0;S{i=!0;const[O,p]=ki(S,t,!0);He(T,O),p&&o.push(...p)};!E&&t.mixins.length&&t.mixins.forEach(R),e.extends&&R(e.extends),e.mixins&&e.mixins.forEach(R)}if(!n&&!i)return Ce(e)&&s.set(e,AE),AE;if(Q(n))for(let R=0;R-1,p[1]=y<0||U-1||ie(p,"default"))&&o.push(S)}}}const a=[T,o];return Ce(e)&&s.set(e,a),a}function aT(e){return e[0]!=="$"}function RT(e){const t=e&&e.toString().match(/^\s*(function|class) (\w+)/);return t?t[2]:e===null?"null":""}function AT(e,t){return RT(e)===RT(t)}function ST(e,t){return Q(t)?t.findIndex(E=>AT(E,e)):te(t)&&AT(t,e)?0:-1}const Ji=e=>e[0]==="_"||e==="$stable",ln=e=>Q(e)?e.map(it):[it(e)],Ll=(e,t,E)=>{if(t._n)return t;const s=Ae((...r)=>ln(t(...r)),E);return s._c=!1,s},ji=(e,t,E)=>{const s=e._ctx;for(const r in e){if(Ji(r))continue;const n=e[r];if(te(n))t[r]=Ll(r,n,s);else if(n!=null){const T=ln(n);t[r]=()=>T}}},qi=(e,t)=>{const E=ln(t);e.slots.default=()=>E},dl=(e,t)=>{if(e.vnode.shapeFlag&32){const E=t._;E?(e.slots=ne(t),Ms(t,"_",E)):ji(t,e.slots={})}else e.slots={},t&&qi(e,t);Ms(e.slots,er,1)},pl=(e,t,E)=>{const{vnode:s,slots:r}=e;let n=!0,T=_e;if(s.shapeFlag&32){const o=t._;o?E&&o===1?n=!1:(He(r,t),!E&&o===1&&delete r._):(n=!t.$stable,ji(t,r)),T=t}else t&&(qi(e,t),T={default:1});if(n)for(const o in r)!Ji(o)&&T[o]==null&&delete r[o]};function mr(e,t,E,s,r=!1){if(Q(e)){e.forEach((O,p)=>mr(O,t&&(Q(t)?t[p]:t),E,s,r));return}if(VE(s)&&!r)return;const n=s.shapeFlag&4?_n(s.component)||s.component.proxy:s.el,T=r?null:n,{i:o,r:i}=e,a=t&&t.r,R=o.refs===_e?o.refs={}:o.refs,S=o.setupState;if(a!=null&&a!==i&&(De(a)?(R[a]=null,ie(S,a)&&(S[a]=null)):he(a)&&(a.value=null)),te(i))gt(i,o,12,[T,R]);else{const O=De(i),p=he(i);if(O||p){const U=()=>{if(e.f){const y=O?ie(S,i)?S[i]:R[i]:i.value;r?Q(y)&&tn(y,n):Q(y)?y.includes(n)||y.push(n):O?(R[i]=[n],ie(S,i)&&(S[i]=R[i])):(i.value=[n],e.k&&(R[e.k]=i.value))}else O?(R[i]=T,ie(S,i)&&(S[i]=T)):p&&(i.value=T,e.k&&(R[e.k]=T))};T?(U.id=-1,Xe(U,E)):U()}}}const Xe=QO;function fl(e){return Pl(e)}function Pl(e,t){const E=Lr();E.__VUE__=!0,gi(E.__VUE_DEVTOOLS_GLOBAL_HOOK__,E);const{insert:s,remove:r,patchProp:n,createElement:T,createText:o,createComment:i,setText:a,setElementText:R,parentNode:S,nextSibling:O,setScopeId:p=St,insertStaticContent:U}=e,y=(A,l,_,f=null,d=null,m=null,B=!1,c=null,g=!!l.dynamicChildren)=>{if(A===l)return;A&&!GE(A,l)&&(f=Bt(A),Le(A,d,m,!0),A=null),l.patchFlag===-2&&(g=!1,l.dynamicChildren=null);const{type:L,ref:G,shapeFlag:Y}=l;switch(L){case ns:V(A,l,_,f);break;case Lt:$(A,l,_,f);break;case Cs:A==null&&k(l,_,f,B);break;case ce:C(A,l,_,f,d,m,B,c,g);break;default:Y&1?ae(A,l,_,f,d,m,B,c,g):Y&6?v(A,l,_,f,d,m,B,c,g):(Y&64||Y&128)&&L.process(A,l,_,f,d,m,B,c,g,Nt)}G!=null&&d&&mr(G,A&&A.ref,m,l||A,!l)},V=(A,l,_,f)=>{if(A==null)s(l.el=o(l.children),_,f);else{const d=l.el=A.el;l.children!==A.children&&a(d,l.children)}},$=(A,l,_,f)=>{A==null?s(l.el=i(l.children||""),_,f):l.el=A.el},k=(A,l,_,f)=>{[A.el,A.anchor]=U(A.children,l,_,f,A.el,A.anchor)},w=({el:A,anchor:l},_,f)=>{let d;for(;A&&A!==l;)d=O(A),s(A,_,f),A=d;s(l,_,f)},F=({el:A,anchor:l})=>{let _;for(;A&&A!==l;)_=O(A),r(A),A=_;r(l)},ae=(A,l,_,f,d,m,B,c,g)=>{B=B||l.type==="svg",A==null?Ie(l,_,f,d,m,B,c,g):Se(A,l,d,m,B,c,g)},Ie=(A,l,_,f,d,m,B,c)=>{let g,L;const{type:G,props:Y,shapeFlag:x,transition:j,dirs:Ee}=A;if(g=A.el=T(A.type,m,Y&&Y.is,Y),x&8?R(g,A.children):x&16&&de(A.children,g,null,f,d,m&&G!=="foreignObject",B,c),Ee&&Yt(A,null,f,"created"),Z(g,A,A.scopeId,B,f),Y){for(const b in Y)b!=="value"&&!_s(b)&&n(g,b,null,Y[b],m,A.children,f,d,Pe);"value"in Y&&n(g,"value",null,Y.value),(L=Y.onVnodeBeforeMount)&&ot(L,f,A)}Object.defineProperty(g,"__vnode",{value:A,enumerable:!1}),Object.defineProperty(g,"__vueParentComponent",{value:f,enumerable:!1}),Ee&&Yt(A,null,f,"beforeMount");const D=Dl(d,j);D&&j.beforeEnter(g),s(g,l,_),((L=Y&&Y.onVnodeMounted)||D||Ee)&&Xe(()=>{L&&ot(L,f,A),D&&j.enter(g),Ee&&Yt(A,null,f,"mounted")},d)},Z=(A,l,_,f,d)=>{if(_&&p(A,_),f)for(let m=0;m{for(let L=g;L{const c=l.el=A.el;let{patchFlag:g,dynamicChildren:L,dirs:G}=l;g|=A.patchFlag&16;const Y=A.props||_e,x=l.props||_e;let j;_&&wt(_,!1),(j=x.onVnodeBeforeUpdate)&&ot(j,_,l,A),G&&Yt(l,A,_,"beforeUpdate"),_&&wt(_,!0);const Ee=d&&l.type!=="foreignObject";if(L?I(A.dynamicChildren,L,c,_,f,Ee,m):B||h(A,l,c,null,_,f,Ee,m,!1),g>0){if(g&16)N(c,l,Y,x,_,f,d);else if(g&2&&Y.class!==x.class&&n(c,"class",null,x.class,d),g&4&&n(c,"style",Y.style,x.style,d),g&8){const D=l.dynamicProps;for(let b=0;b{j&&ot(j,_,l,A),G&&Yt(l,A,_,"updated")},f)},I=(A,l,_,f,d,m,B)=>{for(let c=0;c{if(_!==f){if(_!==_e)for(const c in _)!_s(c)&&!(c in f)&&n(A,c,_[c],null,B,l.children,d,m,Pe);for(const c in f){if(_s(c))continue;const g=f[c],L=_[c];g!==L&&c!=="value"&&n(A,c,L,g,B,l.children,d,m,Pe)}"value"in f&&n(A,"value",_.value,f.value)}},C=(A,l,_,f,d,m,B,c,g)=>{const L=l.el=A?A.el:o(""),G=l.anchor=A?A.anchor:o("");let{patchFlag:Y,dynamicChildren:x,slotScopeIds:j}=l;j&&(c=c?c.concat(j):j),A==null?(s(L,_,f),s(G,_,f),de(l.children,_,G,d,m,B,c,g)):Y>0&&Y&64&&x&&A.dynamicChildren?(I(A.dynamicChildren,x,_,d,m,B,c),(l.key!=null||d&&l===d.subTree)&&In(A,l,!0)):h(A,l,_,G,d,m,B,c,g)},v=(A,l,_,f,d,m,B,c,g)=>{l.slotScopeIds=c,A==null?l.shapeFlag&512?d.ctx.activate(l,_,f,B,g):K(l,_,f,d,m,B,g):pe(A,l,g)},K=(A,l,_,f,d,m,B)=>{const c=A.component=Fl(A,f,d);if(Yi(A)&&(c.ctx.renderer=Nt),Yl(c),c.asyncDep){if(d&&d.registerDep(c,Te),!A.el){const g=c.subTree=q(Lt);$(null,g,l,_)}return}Te(c,A,l,_,d,m,B)},pe=(A,l,_)=>{const f=l.component=A.component;if(KO(A,l,_))if(f.asyncDep&&!f.asyncResolved){u(f,l,_);return}else f.next=l,HO(f.update),f.update();else l.el=A.el,f.vnode=l},Te=(A,l,_,f,d,m,B)=>{const c=()=>{if(A.isMounted){let{next:G,bu:Y,u:x,parent:j,vnode:Ee}=A,D=G,b;wt(A,!1),G?(G.el=Ee.el,u(A,G,B)):G=Ee,Y&&Rr(Y),(b=G.props&&G.props.onVnodeBeforeUpdate)&&ot(b,j,G,Ee),wt(A,!0);const W=Sr(A),ee=A.subTree;A.subTree=W,y(ee,W,S(ee.el),Bt(ee),A,d,m),G.el=W.el,D===null&&kO(A,W.el),x&&Xe(x,d),(b=G.props&&G.props.onVnodeUpdated)&&Xe(()=>ot(b,j,G,Ee),d),Gi(A)}else{let G;const{el:Y,props:x}=l,{bm:j,m:Ee,parent:D}=A,b=VE(l);if(wt(A,!1),j&&Rr(j),!b&&(G=x&&x.onVnodeBeforeMount)&&ot(G,D,l),wt(A,!0),Y&&gE){const W=()=>{A.subTree=Sr(A),gE(Y,A.subTree,A,d,null)};b?l.type.__asyncLoader().then(()=>!A.isUnmounted&&W()):W()}else{const W=A.subTree=Sr(A);y(null,W,_,f,A,d,m),l.el=W.el}if(Ee&&Xe(Ee,d),!b&&(G=x&&x.onVnodeMounted)){const W=l;Xe(()=>ot(G,D,W),d)}(l.shapeFlag&256||D&&VE(D.vnode)&&D.vnode.shapeFlag&256)&&A.a&&Xe(A.a,d),A.isMounted=!0,YO(A),l=_=f=null}},g=A.effect=new rn(c,()=>An(L),A.scope),L=A.update=()=>g.run();L.id=A.uid,wt(A,!0),L()},u=(A,l,_)=>{l.component=A;const f=A.vnode.props;A.vnode=l,A.next=null,ul(A,l.props,f,_),pl(A,l.children,_),LE(),ET(A),dE()},h=(A,l,_,f,d,m,B,c,g=!1)=>{const L=A&&A.children,G=A?A.shapeFlag:0,Y=l.children,{patchFlag:x,shapeFlag:j}=l;if(x>0){if(x&128){Re(L,Y,_,f,d,m,B,c,g);return}else if(x&256){z(L,Y,_,f,d,m,B,c,g);return}}j&8?(G&16&&Pe(L,d,m),Y!==L&&R(_,Y)):G&16?j&16?Re(L,Y,_,f,d,m,B,c,g):Pe(L,d,m,!0):(G&8&&R(_,""),j&16&&de(Y,_,f,d,m,B,c,g))},z=(A,l,_,f,d,m,B,c,g)=>{A=A||AE,l=l||AE;const L=A.length,G=l.length,Y=Math.min(L,G);let x;for(x=0;xG?Pe(A,d,m,!0,!1,Y):de(l,_,f,d,m,B,c,g,Y)},Re=(A,l,_,f,d,m,B,c,g)=>{let L=0;const G=l.length;let Y=A.length-1,x=G-1;for(;L<=Y&&L<=x;){const j=A[L],Ee=l[L]=g?Dt(l[L]):it(l[L]);if(GE(j,Ee))y(j,Ee,_,null,d,m,B,c,g);else break;L++}for(;L<=Y&&L<=x;){const j=A[Y],Ee=l[x]=g?Dt(l[x]):it(l[x]);if(GE(j,Ee))y(j,Ee,_,null,d,m,B,c,g);else break;Y--,x--}if(L>Y){if(L<=x){const j=x+1,Ee=jx)for(;L<=Y;)Le(A[L],d,m,!0),L++;else{const j=L,Ee=L,D=new Map;for(L=Ee;L<=x;L++){const Ke=l[L]=g?Dt(l[L]):it(l[L]);Ke.key!=null&&D.set(Ke.key,L)}let b,W=0;const ee=x-Ee+1;let ue=!1,je=0;const Ft=new Array(ee);for(L=0;L=ee){Le(Ke,d,m,!0);continue}let Tt;if(Ke.key!=null)Tt=D.get(Ke.key);else for(b=Ee;b<=x;b++)if(Ft[b-Ee]===0&&GE(Ke,l[b])){Tt=b;break}Tt===void 0?Le(Ke,d,m,!0):(Ft[Tt-Ee]=L+1,Tt>=je?je=Tt:ue=!0,y(Ke,l[Tt],_,null,d,m,B,c,g),W++)}const as=ue?hl(Ft):AE;for(b=as.length-1,L=ee-1;L>=0;L--){const Ke=Ee+L,Tt=l[Ke],wn=Ke+1{const{el:m,type:B,transition:c,children:g,shapeFlag:L}=A;if(L&6){Oe(A.component.subTree,l,_,f);return}if(L&128){A.suspense.move(l,_,f);return}if(L&64){B.move(A,l,_,Nt);return}if(B===ce){s(m,l,_);for(let Y=0;Yc.enter(m),d);else{const{leave:Y,delayLeave:x,afterLeave:j}=c,Ee=()=>s(m,l,_),D=()=>{Y(m,()=>{Ee(),j&&j()})};x?x(m,Ee,D):D()}else s(m,l,_)},Le=(A,l,_,f=!1,d=!1)=>{const{type:m,props:B,ref:c,children:g,dynamicChildren:L,shapeFlag:G,patchFlag:Y,dirs:x}=A;if(c!=null&&mr(c,null,_,A,!0),G&256){l.ctx.deactivate(A);return}const j=G&1&&x,Ee=!VE(A);let D;if(Ee&&(D=B&&B.onVnodeBeforeUnmount)&&ot(D,l,A),G&6)we(A.component,_,f);else{if(G&128){A.suspense.unmount(_,f);return}j&&Yt(A,null,l,"beforeUnmount"),G&64?A.type.remove(A,l,_,d,Nt,f):L&&(m!==ce||Y>0&&Y&64)?Pe(L,l,_,!1,!0):(m===ce&&Y&384||!d&&G&16)&&Pe(g,l,_),f&&Qe(A)}(Ee&&(D=B&&B.onVnodeUnmounted)||j)&&Xe(()=>{D&&ot(D,l,A),j&&Yt(A,null,l,"unmounted")},_)},Qe=A=>{const{type:l,el:_,anchor:f,transition:d}=A;if(l===ce){EE(_,f);return}if(l===Cs){F(A);return}const m=()=>{r(_),d&&!d.persisted&&d.afterLeave&&d.afterLeave()};if(A.shapeFlag&1&&d&&!d.persisted){const{leave:B,delayLeave:c}=d,g=()=>B(_,m);c?c(A.el,m,g):g()}else m()},EE=(A,l)=>{let _;for(;A!==l;)_=O(A),r(A),A=_;r(l)},we=(A,l,_)=>{const{bum:f,scope:d,update:m,subTree:B,um:c}=A;f&&Rr(f),d.stop(),m&&(m.active=!1,Le(B,A,l,_)),c&&Xe(c,l),Xe(()=>{A.isUnmounted=!0},l),l&&l.pendingBranch&&!l.isUnmounted&&A.asyncDep&&!A.asyncResolved&&A.suspenseId===l.pendingId&&(l.deps--,l.deps===0&&l.resolve()),VO(A)},Pe=(A,l,_,f=!1,d=!1,m=0)=>{for(let B=m;BA.shapeFlag&6?Bt(A.component.subTree):A.shapeFlag&128?A.suspense.next():O(A.anchor||A.el),bE=(A,l,_)=>{A==null?l._vnode&&Le(l._vnode,null,null,!0):y(l._vnode||null,A,l,null,null,null,_),ET(),bi(),l._vnode=A},Nt={p:y,um:Le,m:Oe,r:Qe,mt:K,mc:de,pc:h,pbc:I,n:Bt,o:e};let mE,gE;return t&&([mE,gE]=t(Nt)),{render:bE,hydrate:mE,createApp:Nl(bE,mE)}}function wt({effect:e,update:t},E){e.allowRecurse=t.allowRecurse=E}function Dl(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function In(e,t,E=!1){const s=e.children,r=t.children;if(Q(s)&&Q(r))for(let n=0;n>1,e[E[o]]0&&(t[s]=E[n-1]),E[n]=s)}}for(n=E.length,T=E[n-1];n-- >0;)E[n]=T,T=t[T];return E}const Ml=e=>e.__isTeleport,XE=e=>e&&(e.disabled||e.disabled===""),OT=e=>typeof SVGElement<"u"&&e instanceof SVGElement,gr=(e,t)=>{const E=e&&e.to;return De(E)?t?t(E):null:E},Ul={name:"Teleport",__isTeleport:!0,process(e,t,E,s,r,n,T,o,i,a){const{mc:R,pc:S,pbc:O,o:{insert:p,querySelector:U,createText:y,createComment:V}}=a,$=XE(t.props);let{shapeFlag:k,children:w,dynamicChildren:F}=t;if(e==null){const ae=t.el=y(""),Ie=t.anchor=y("");p(ae,E,s),p(Ie,E,s);const Z=t.target=gr(t.props,U),de=t.targetAnchor=y("");Z&&(p(de,Z),T=T||OT(Z));const Se=(I,N)=>{k&16&&R(w,I,N,r,n,T,o,i)};$?Se(E,Ie):Z&&Se(Z,de)}else{t.el=e.el;const ae=t.anchor=e.anchor,Ie=t.target=e.target,Z=t.targetAnchor=e.targetAnchor,de=XE(e.props),Se=de?E:Ie,I=de?ae:Z;if(T=T||OT(Ie),F?(O(e.dynamicChildren,F,Se,r,n,T,o),In(e,t,!0)):i||S(e,t,Se,I,r,n,T,o,!1),$)de?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):cs(t,E,ae,a,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const N=t.target=gr(t.props,U);N&&cs(t,N,null,a,0)}else de&&cs(t,Ie,Z,a,1)}Qi(t)},remove(e,t,E,s,{um:r,o:{remove:n}},T){const{shapeFlag:o,children:i,anchor:a,targetAnchor:R,target:S,props:O}=e;if(S&&n(R),T&&n(a),o&16){const p=T||!XE(O);for(let U=0;U0?st||AE:null,gl(),es>0&&st&&st.push(e),e}function X(e,t,E,s,r,n){return Zi(M(e,t,E,s,r,n,!0))}function fe(e,t,E,s,r){return Zi(q(e,t,E,s,r,!0))}function Gs(e){return e?e.__v_isVNode===!0:!1}function GE(e,t){return e.type===t.type&&e.key===t.key}const er="__vInternal",zi=({key:e})=>e??null,us=({ref:e,ref_key:t,ref_for:E})=>(typeof e=="number"&&(e=""+e),e!=null?De(e)||he(e)||te(e)?{i:Fe,r:e,k:t,f:!!E}:e:null);function M(e,t=null,E=null,s=0,r=null,n=e===ce?0:1,T=!1,o=!1){const i={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&zi(t),ref:t&&us(t),scopeId:yi,slotScopeIds:null,children:E,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:n,patchFlag:s,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:Fe};return o?(Nn(i,E),n&128&&e.normalize(i)):E&&(i.shapeFlag|=De(E)?8:16),es>0&&!T&&st&&(i.patchFlag>0||n&6)&&i.patchFlag!==32&&st.push(i),i}const q=Gl;function Gl(e,t=null,E=null,s=0,r=null,n=!1){if((!e||e===JO)&&(e=Lt),Gs(e)){const o=NE(e,t,!0);return E&&Nn(o,E),es>0&&!n&&st&&(o.shapeFlag&6?st[st.indexOf(e)]=o:st.push(o)),o.patchFlag|=-2,o}if(Xl(e)&&(e=e.__vccOpts),t){t=Hl(t);let{class:o,style:i}=t;o&&!De(o)&&(t.class=Je(o)),Ce(i)&&(pi(i)&&!Q(i)&&(i=He({},i)),t.style=ks(i))}const T=De(e)?1:qO(e)?128:Ml(e)?64:Ce(e)?4:te(e)?2:0;return M(e,t,E,s,r,T,n,!0)}function Hl(e){return e?pi(e)||er in e?He({},e):e:null}function NE(e,t,E=!1){const{props:s,ref:r,patchFlag:n,children:T}=e,o=t?yl(s||{},t):s;return{__v_isVNode:!0,__v_skip:!0,type:e.type,props:o,key:o&&zi(o),ref:t&&t.ref?E&&r?Q(r)?r.concat(us(t)):[r,us(t)]:us(t):r,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:T,target:e.target,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==ce?n===-1?16:n|16:n,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:e.transition,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&NE(e.ssContent),ssFallback:e.ssFallback&&NE(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce}}function xe(e=" ",t=0){return q(ns,null,e,t)}function oe(e="",t=!1){return t?(H(),fe(Lt,null,e)):q(Lt,null,e)}function it(e){return e==null||typeof e=="boolean"?q(Lt):Q(e)?q(ce,null,e.slice()):typeof e=="object"?Dt(e):q(ns,null,String(e))}function Dt(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:NE(e)}function Nn(e,t){let E=0;const{shapeFlag:s}=e;if(t==null)t=null;else if(Q(t))E=16;else if(typeof t=="object")if(s&65){const r=t.default;r&&(r._c&&(r._d=!1),Nn(e,r()),r._c&&(r._d=!0));return}else{E=32;const r=t._;!r&&!(er in t)?t._ctx=Fe:r===3&&Fe&&(Fe.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else te(t)?(t={default:t,_ctx:Fe},E=32):(t=String(t),s&64?(E=16,t=[xe(t)]):E=8);e.children=t,e.shapeFlag|=E}function yl(...e){const t={};for(let E=0;Ege=e),cn=e=>{rE.length>1?rE.forEach(t=>t(e)):rE[0](e)};const cE=e=>{cn(e),e.scope.on()},jt=()=>{ge&&ge.scope.off(),cn(null)};function ea(e){return e.vnode.shapeFlag&4}let ts=!1;function Yl(e,t=!1){ts=t;const{props:E,children:s}=e.vnode,r=ea(e);Cl(e,E,r,t),dl(e,s);const n=r?wl(e,t):void 0;return ts=!1,n}function wl(e,t){const E=e.type;e.accessCache=Object.create(null),e.proxy=Qt(new Proxy(e.ctx,al));const{setup:s}=E;if(s){const r=e.setupContext=s.length>1?xl(e):null;cE(e),LE();const n=gt(s,e,0,[e.props,r]);if(dE(),jt(),ri(n)){if(n.then(jt,jt),t)return n.then(T=>{NT(e,T,t)}).catch(T=>{js(T,e,0)});e.asyncDep=n}else NT(e,n,t)}else ta(e,t)}function NT(e,t,E){te(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:Ce(t)&&(e.devtoolsRawSetupState=t,e.setupState=Di(t)),ta(e,E)}let cT;function ta(e,t,E){const s=e.type;if(!e.render){if(!t&&cT&&!s.render){const r=s.template||On(e).template;if(r){const{isCustomElement:n,compilerOptions:T}=e.appContext.config,{delimiters:o,compilerOptions:i}=s,a=He(He({isCustomElement:n,delimiters:o},T),i);s.render=cT(r,a)}}e.render=s.render||St}{cE(e),LE();try{Rl(e)}finally{dE(),jt()}}}function Vl(e){return e.attrsProxy||(e.attrsProxy=new Proxy(e.attrs,{get(t,E){return $e(e,"get","$attrs"),t[E]}}))}function xl(e){const t=E=>{e.exposed=E||{}};return{get attrs(){return Vl(e)},slots:e.slots,emit:e.emit,expose:t}}function _n(e){if(e.exposed)return e.exposeProxy||(e.exposeProxy=new Proxy(Di(Qt(e.exposed)),{get(t,E){if(E in t)return t[E];if(E in xE)return xE[E](e)},has(t,E){return E in t||E in xE}}))}function Wl(e,t=!0){return te(e)?e.displayName||e.name:e.name||t&&e.__name}function Xl(e){return te(e)&&"__vccOpts"in e}const At=(e,t)=>mO(e,t,ts);function Es(e,t,E){const s=arguments.length;return s===2?Ce(t)&&!Q(t)?Gs(t)?q(e,null,[t]):q(e,t):q(e,null,t):(s>3?E=Array.prototype.slice.call(arguments,2):s===3&&Gs(E)&&(E=[E]),q(e,t,E))}const $l=Symbol.for("v-scx"),Kl=()=>WE($l),_T="3.3.13",kl="http://www.w3.org/2000/svg",$t=typeof document<"u"?document:null,CT=$t&&$t.createElement("template"),Jl={insert:(e,t,E)=>{t.insertBefore(e,E||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,E,s)=>{const r=t?$t.createElementNS(kl,e):$t.createElement(e,E?{is:E}:void 0);return e==="select"&&s&&s.multiple!=null&&r.setAttribute("multiple",s.multiple),r},createText:e=>$t.createTextNode(e),createComment:e=>$t.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>$t.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,E,s,r,n){const T=E?E.previousSibling:t.lastChild;if(r&&(r===n||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),E),!(r===n||!(r=r.nextSibling)););else{CT.innerHTML=s?`${e}`:e;const o=CT.content;if(s){const i=o.firstChild;for(;i.firstChild;)o.appendChild(i.firstChild);o.removeChild(i)}t.insertBefore(o,E)}return[T?T.nextSibling:t.firstChild,E?E.previousSibling:t.lastChild]}},jl=Symbol("_vtc");function ql(e,t,E){const s=e[jl];s&&(t=(t?[t,...s]:[...s]).join(" ")),t==null?e.removeAttribute("class"):E?e.setAttribute("class",t):e.className=t}const Ql=Symbol("_vod"),Zl=Symbol("");function zl(e,t,E){const s=e.style,r=De(E);if(E&&!r){if(t&&!De(t))for(const n in t)E[n]==null&&Gr(s,n,"");for(const n in E)Gr(s,n,E[n])}else{const n=s.display;if(r){if(t!==E){const T=s[Zl];T&&(E+=";"+T),s.cssText=E}}else t&&e.removeAttribute("style");Ql in e&&(s.display=n)}}const uT=/\s*!important$/;function Gr(e,t,E){if(Q(E))E.forEach(s=>Gr(e,t,s));else if(E==null&&(E=""),t.startsWith("--"))e.setProperty(t,E);else{const s=eI(e,t);uT.test(E)?e.setProperty(uE(s),E.replace(uT,""),"important"):e[s]=E}}const LT=["Webkit","Moz","ms"],lr={};function eI(e,t){const E=lr[t];if(E)return E;let s=lt(t);if(s!=="filter"&&s in e)return lr[t]=s;s=Ks(s);for(let r=0;rIr||(oI.then(()=>Ir=0),Ir=Date.now());function aI(e,t){const E=s=>{if(!s._vts)s._vts=Date.now();else if(s._vts<=E.attached)return;rt(RI(s,E.value),t,5,[s])};return E.value=e,E.attached=iI(),E}function RI(e,t){if(Q(t)){const E=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{E.call(e),e._stopped=!0},t.map(s=>r=>!r._stopped&&s&&s(r))}else return t}const PT=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,AI=(e,t,E,s,r=!1,n,T,o,i)=>{t==="class"?ql(e,s,r):t==="style"?zl(e,E,s):Ws(t)?en(t)||nI(e,t,E,s,T):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):SI(e,t,s,r))?EI(e,t,s,n,T,o,i):(t==="true-value"?e._trueValue=s:t==="false-value"&&(e._falseValue=s),tI(e,t,s,r))};function SI(e,t,E,s){if(s)return!!(t==="innerHTML"||t==="textContent"||t in e&&PT(t)&&te(E));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const r=e.tagName;if(r==="IMG"||r==="VIDEO"||r==="CANVAS"||r==="SOURCE")return!1}return PT(t)&&De(E)?!1:t in e}const OI=He({patchProp:AI},Jl);let DT;function lI(){return DT||(DT=fl(OI))}const II=(...e)=>{const t=lI().createApp(...e),{mount:E}=t;return t.mount=s=>{const r=NI(s);if(!r)return;const n=t._component;!te(n)&&!n.render&&!n.template&&(n.template=r.innerHTML),r.innerHTML="";const T=E(r,!1,r instanceof SVGElement);return r instanceof Element&&(r.removeAttribute("v-cloak"),r.setAttribute("data-v-app","")),T},t};function NI(e){return De(e)?document.querySelector(e):e}var hT=Ge({props:{code:{type:String,required:!0},language:{type:String,default:""},autodetect:{type:Boolean,default:!0},ignoreIllegals:{type:Boolean,default:!0}},setup:function(e){var t=Mt(e.language);Jt(function(){return e.language},function(r){t.value=r});var E=At(function(){return e.autodetect||!t.value}),s=At(function(){return!E.value&&!wE.getLanguage(t.value)});return{className:At(function(){return s.value?"":"hljs "+t.value}),highlightedCode:At(function(){var r;if(s.value)return console.warn('The language "'+t.value+'" you specified could not be found.'),e.code.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'");if(E.value){var n=wE.highlightAuto(e.code);return t.value=(r=n.language)!==null&&r!==void 0?r:"",n.value}return(n=wE.highlight(e.code,{language:t.value,ignoreIllegals:e.ignoreIllegals})).value})}},render:function(){return Es("pre",{},[Es("code",{class:this.className,innerHTML:this.highlightedCode})])}}),cI={install:function(e){e.component("highlightjs",hT)},component:hT},_I=!1;function CI(){return Ea().__VUE_DEVTOOLS_GLOBAL_HOOK__}function Ea(){return typeof navigator<"u"&&typeof window<"u"?window:typeof global<"u"?global:{}}const uI=typeof Proxy=="function",LI="devtools-plugin:setup",dI="plugin:settings:set";let nE,Hr;function pI(){var e;return nE!==void 0||(typeof window<"u"&&window.performance?(nE=!0,Hr=window.performance):typeof global<"u"&&(!((e=global.perf_hooks)===null||e===void 0)&&e.performance)?(nE=!0,Hr=global.perf_hooks.performance):nE=!1),nE}function fI(){return pI()?Hr.now():Date.now()}class PI{constructor(t,E){this.target=null,this.targetQueue=[],this.onQueue=[],this.plugin=t,this.hook=E;const s={};if(t.settings)for(const T in t.settings){const o=t.settings[T];s[T]=o.defaultValue}const r=`__vue-devtools-plugin-settings__${t.id}`;let n=Object.assign({},s);try{const T=localStorage.getItem(r),o=JSON.parse(T);Object.assign(n,o)}catch{}this.fallbacks={getSettings(){return n},setSettings(T){try{localStorage.setItem(r,JSON.stringify(T))}catch{}n=T},now(){return fI()}},E&&E.on(dI,(T,o)=>{T===this.plugin.id&&this.fallbacks.setSettings(o)}),this.proxiedOn=new Proxy({},{get:(T,o)=>this.target?this.target.on[o]:(...i)=>{this.onQueue.push({method:o,args:i})}}),this.proxiedTarget=new Proxy({},{get:(T,o)=>this.target?this.target[o]:o==="on"?this.proxiedOn:Object.keys(this.fallbacks).includes(o)?(...i)=>(this.targetQueue.push({method:o,args:i,resolve:()=>{}}),this.fallbacks[o](...i)):(...i)=>new Promise(a=>{this.targetQueue.push({method:o,args:i,resolve:a})})})}async setRealTarget(t){this.target=t;for(const E of this.onQueue)this.target.on[E.method](...E.args);for(const E of this.targetQueue)E.resolve(await this.target[E.method](...E.args))}}function sa(e,t){const E=e,s=Ea(),r=CI(),n=uI&&E.enableEarlyProxy;if(r&&(s.__VUE_DEVTOOLS_PLUGIN_API_AVAILABLE__||!n))r.emit(LI,e,t);else{const T=n?new PI(E,r):null;(s.__VUE_DEVTOOLS_PLUGINS__=s.__VUE_DEVTOOLS_PLUGINS__||[]).push({pluginDescriptor:E,setupFn:t,proxy:T}),T&&t(T.proxiedTarget)}}/*! - * pinia v2.1.7 - * (c) 2023 Eduardo San Martin Morote - * @license MIT - */let ra;const tr=e=>ra=e,na=Symbol();function yr(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var Ot;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(Ot||(Ot={}));const Ta=typeof window<"u",KE=Ta,MT=typeof window=="object"&&window.window===window?window:typeof self=="object"&&self.self===self?self:typeof global=="object"&&global.global===global?global:typeof globalThis=="object"?globalThis:{HTMLElement:null};function DI(e,{autoBom:t=!1}={}){return t&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(e.type)?new Blob(["\uFEFF",e],{type:e.type}):e}function Cn(e,t,E){const s=new XMLHttpRequest;s.open("GET",e),s.responseType="blob",s.onload=function(){aa(s.response,t,E)},s.onerror=function(){console.error("could not download file")},s.send()}function oa(e){const t=new XMLHttpRequest;t.open("HEAD",e,!1);try{t.send()}catch{}return t.status>=200&&t.status<=299}function Ls(e){try{e.dispatchEvent(new MouseEvent("click"))}catch{const E=document.createEvent("MouseEvents");E.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),e.dispatchEvent(E)}}const ds=typeof navigator=="object"?navigator:{userAgent:""},ia=/Macintosh/.test(ds.userAgent)&&/AppleWebKit/.test(ds.userAgent)&&!/Safari/.test(ds.userAgent),aa=Ta?typeof HTMLAnchorElement<"u"&&"download"in HTMLAnchorElement.prototype&&!ia?hI:"msSaveOrOpenBlob"in ds?MI:UI:()=>{};function hI(e,t="download",E){const s=document.createElement("a");s.download=t,s.rel="noopener",typeof e=="string"?(s.href=e,s.origin!==location.origin?oa(s.href)?Cn(e,t,E):(s.target="_blank",Ls(s)):Ls(s)):(s.href=URL.createObjectURL(e),setTimeout(function(){URL.revokeObjectURL(s.href)},4e4),setTimeout(function(){Ls(s)},0))}function MI(e,t="download",E){if(typeof e=="string")if(oa(e))Cn(e,t,E);else{const s=document.createElement("a");s.href=e,s.target="_blank",setTimeout(function(){Ls(s)})}else navigator.msSaveOrOpenBlob(DI(e,E),t)}function UI(e,t,E,s){if(s=s||open("","_blank"),s&&(s.document.title=s.document.body.innerText="downloading..."),typeof e=="string")return Cn(e,t,E);const r=e.type==="application/octet-stream",n=/constructor/i.test(String(MT.HTMLElement))||"safari"in MT,T=/CriOS\/[\d]+/.test(navigator.userAgent);if((T||r&&n||ia)&&typeof FileReader<"u"){const o=new FileReader;o.onloadend=function(){let i=o.result;if(typeof i!="string")throw s=null,new Error("Wrong reader.result type");i=T?i:i.replace(/^data:[^;]*;/,"data:attachment/file;"),s?s.location.href=i:location.assign(i),s=null},o.readAsDataURL(e)}else{const o=URL.createObjectURL(e);s?s.location.assign(o):location.href=o,s=null,setTimeout(function(){URL.revokeObjectURL(o)},4e4)}}function me(e,t){const E="🍍 "+e;typeof __VUE_DEVTOOLS_TOAST__=="function"?__VUE_DEVTOOLS_TOAST__(E,t):t==="error"?console.error(E):t==="warn"?console.warn(E):console.log(E)}function un(e){return"_a"in e&&"install"in e}function Ra(){if(!("clipboard"in navigator))return me("Your browser doesn't support the Clipboard API","error"),!0}function Aa(e){return e instanceof Error&&e.message.toLowerCase().includes("document is not focused")?(me('You need to activate the "Emulate a focused page" setting in the "Rendering" panel of devtools.',"warn"),!0):!1}async function bI(e){if(!Ra())try{await navigator.clipboard.writeText(JSON.stringify(e.state.value)),me("Global state copied to clipboard.")}catch(t){if(Aa(t))return;me("Failed to serialize the state. Check the console for more details.","error"),console.error(t)}}async function mI(e){if(!Ra())try{Sa(e,JSON.parse(await navigator.clipboard.readText())),me("Global state pasted from clipboard.")}catch(t){if(Aa(t))return;me("Failed to deserialize the state from clipboard. Check the console for more details.","error"),console.error(t)}}async function gI(e){try{aa(new Blob([JSON.stringify(e.state.value)],{type:"text/plain;charset=utf-8"}),"pinia-state.json")}catch(t){me("Failed to export the state as JSON. Check the console for more details.","error"),console.error(t)}}let ct;function GI(){ct||(ct=document.createElement("input"),ct.type="file",ct.accept=".json");function e(){return new Promise((t,E)=>{ct.onchange=async()=>{const s=ct.files;if(!s)return t(null);const r=s.item(0);return t(r?{text:await r.text(),file:r}:null)},ct.oncancel=()=>t(null),ct.onerror=E,ct.click()})}return e}async function HI(e){try{const E=await GI()();if(!E)return;const{text:s,file:r}=E;Sa(e,JSON.parse(s)),me(`Global state imported from "${r.name}".`)}catch(t){me("Failed to import the state from JSON. Check the console for more details.","error"),console.error(t)}}function Sa(e,t){for(const E in t){const s=e.state.value[E];s?Object.assign(s,t[E]):e.state.value[E]=t[E]}}function tt(e){return{_custom:{display:e}}}const Oa="🍍 Pinia (root)",vr="_root";function yI(e){return un(e)?{id:vr,label:Oa}:{id:e.$id,label:e.$id}}function vI(e){if(un(e)){const E=Array.from(e._s.keys()),s=e._s;return{state:E.map(n=>({editable:!0,key:n,value:e.state.value[n]})),getters:E.filter(n=>s.get(n)._getters).map(n=>{const T=s.get(n);return{editable:!1,key:n,value:T._getters.reduce((o,i)=>(o[i]=T[i],o),{})}})}}const t={state:Object.keys(e.$state).map(E=>({editable:!0,key:E,value:e.$state[E]}))};return e._getters&&e._getters.length&&(t.getters=e._getters.map(E=>({editable:!1,key:E,value:e[E]}))),e._customProperties.size&&(t.customProperties=Array.from(e._customProperties).map(E=>({editable:!0,key:E,value:e[E]}))),t}function BI(e){return e?Array.isArray(e)?e.reduce((t,E)=>(t.keys.push(E.key),t.operations.push(E.type),t.oldValue[E.key]=E.oldValue,t.newValue[E.key]=E.newValue,t),{oldValue:{},keys:[],operations:[],newValue:{}}):{operation:tt(e.type),key:tt(e.key),oldValue:e.oldValue,newValue:e.newValue}:{}}function FI(e){switch(e){case Ot.direct:return"mutation";case Ot.patchFunction:return"$patch";case Ot.patchObject:return"$patch";default:return"unknown"}}let RE=!0;const ps=[],xt="pinia:mutations",ve="pinia",{assign:YI}=Object,Hs=e=>"🍍 "+e;function wI(e,t){sa({id:"dev.esm.pinia",label:"Pinia 🍍",logo:"https://pinia.vuejs.org/logo.svg",packageName:"pinia",homepage:"https://pinia.vuejs.org",componentStateTypes:ps,app:e},E=>{typeof E.now!="function"&&me("You seem to be using an outdated version of Vue Devtools. Are you still using the Beta release instead of the stable one? You can find the links at https://devtools.vuejs.org/guide/installation.html."),E.addTimelineLayer({id:xt,label:"Pinia 🍍",color:15064968}),E.addInspector({id:ve,label:"Pinia 🍍",icon:"storage",treeFilterPlaceholder:"Search stores",actions:[{icon:"content_copy",action:()=>{bI(t)},tooltip:"Serialize and copy the state"},{icon:"content_paste",action:async()=>{await mI(t),E.sendInspectorTree(ve),E.sendInspectorState(ve)},tooltip:"Replace the state with the content of your clipboard"},{icon:"save",action:()=>{gI(t)},tooltip:"Save the state as a JSON file"},{icon:"folder_open",action:async()=>{await HI(t),E.sendInspectorTree(ve),E.sendInspectorState(ve)},tooltip:"Import the state from a JSON file"}],nodeActions:[{icon:"restore",tooltip:'Reset the state (with "$reset")',action:s=>{const r=t._s.get(s);r?typeof r.$reset!="function"?me(`Cannot reset "${s}" store because it doesn't have a "$reset" method implemented.`,"warn"):(r.$reset(),me(`Store "${s}" reset.`)):me(`Cannot reset "${s}" store because it wasn't found.`,"warn")}}]}),E.on.inspectComponent((s,r)=>{const n=s.componentInstance&&s.componentInstance.proxy;if(n&&n._pStores){const T=s.componentInstance.proxy._pStores;Object.values(T).forEach(o=>{s.instanceData.state.push({type:Hs(o.$id),key:"state",editable:!0,value:o._isOptionsAPI?{_custom:{value:ne(o.$state),actions:[{icon:"restore",tooltip:"Reset the state of this store",action:()=>o.$reset()}]}}:Object.keys(o.$state).reduce((i,a)=>(i[a]=o.$state[a],i),{})}),o._getters&&o._getters.length&&s.instanceData.state.push({type:Hs(o.$id),key:"getters",editable:!1,value:o._getters.reduce((i,a)=>{try{i[a]=o[a]}catch(R){i[a]=R}return i},{})})})}}),E.on.getInspectorTree(s=>{if(s.app===e&&s.inspectorId===ve){let r=[t];r=r.concat(Array.from(t._s.values())),s.rootNodes=(s.filter?r.filter(n=>"$id"in n?n.$id.toLowerCase().includes(s.filter.toLowerCase()):Oa.toLowerCase().includes(s.filter.toLowerCase())):r).map(yI)}}),E.on.getInspectorState(s=>{if(s.app===e&&s.inspectorId===ve){const r=s.nodeId===vr?t:t._s.get(s.nodeId);if(!r)return;r&&(s.state=vI(r))}}),E.on.editInspectorState((s,r)=>{if(s.app===e&&s.inspectorId===ve){const n=s.nodeId===vr?t:t._s.get(s.nodeId);if(!n)return me(`store "${s.nodeId}" not found`,"error");const{path:T}=s;un(n)?T.unshift("state"):(T.length!==1||!n._customProperties.has(T[0])||T[0]in n.$state)&&T.unshift("$state"),RE=!1,s.set(n,T,s.state.value),RE=!0}}),E.on.editComponentState(s=>{if(s.type.startsWith("🍍")){const r=s.type.replace(/^🍍\s*/,""),n=t._s.get(r);if(!n)return me(`store "${r}" not found`,"error");const{path:T}=s;if(T[0]!=="state")return me(`Invalid path for store "${r}": -${T} -Only state can be modified.`);T[0]="$state",RE=!1,s.set(n,T,s.state.value),RE=!0}})})}function VI(e,t){ps.includes(Hs(t.$id))||ps.push(Hs(t.$id)),sa({id:"dev.esm.pinia",label:"Pinia 🍍",logo:"https://pinia.vuejs.org/logo.svg",packageName:"pinia",homepage:"https://pinia.vuejs.org",componentStateTypes:ps,app:e,settings:{logStoreChanges:{label:"Notify about new/deleted stores",type:"boolean",defaultValue:!0}}},E=>{const s=typeof E.now=="function"?E.now.bind(E):Date.now;t.$onAction(({after:T,onError:o,name:i,args:a})=>{const R=la++;E.addTimelineEvent({layerId:xt,event:{time:s(),title:"🛫 "+i,subtitle:"start",data:{store:tt(t.$id),action:tt(i),args:a},groupId:R}}),T(S=>{Ut=void 0,E.addTimelineEvent({layerId:xt,event:{time:s(),title:"🛬 "+i,subtitle:"end",data:{store:tt(t.$id),action:tt(i),args:a,result:S},groupId:R}})}),o(S=>{Ut=void 0,E.addTimelineEvent({layerId:xt,event:{time:s(),logType:"error",title:"💥 "+i,subtitle:"end",data:{store:tt(t.$id),action:tt(i),args:a,error:S},groupId:R}})})},!0),t._customProperties.forEach(T=>{Jt(()=>se(t[T]),(o,i)=>{E.notifyComponentUpdate(),E.sendInspectorState(ve),RE&&E.addTimelineEvent({layerId:xt,event:{time:s(),title:"Change",subtitle:T,data:{newValue:o,oldValue:i},groupId:Ut}})},{deep:!0})}),t.$subscribe(({events:T,type:o},i)=>{if(E.notifyComponentUpdate(),E.sendInspectorState(ve),!RE)return;const a={time:s(),title:FI(o),data:YI({store:tt(t.$id)},BI(T)),groupId:Ut};o===Ot.patchFunction?a.subtitle="⤵️":o===Ot.patchObject?a.subtitle="🧩":T&&!Array.isArray(T)&&(a.subtitle=T.type),T&&(a.data["rawEvent(s)"]={_custom:{display:"DebuggerEvent",type:"object",tooltip:"raw DebuggerEvent[]",value:T}}),E.addTimelineEvent({layerId:xt,event:a})},{detached:!0,flush:"sync"});const r=t._hotUpdate;t._hotUpdate=Qt(T=>{r(T),E.addTimelineEvent({layerId:xt,event:{time:s(),title:"🔥 "+t.$id,subtitle:"HMR update",data:{store:tt(t.$id),info:tt("HMR update")}}}),E.notifyComponentUpdate(),E.sendInspectorTree(ve),E.sendInspectorState(ve)});const{$dispose:n}=t;t.$dispose=()=>{n(),E.notifyComponentUpdate(),E.sendInspectorTree(ve),E.sendInspectorState(ve),E.getSettings().logStoreChanges&&me(`Disposed "${t.$id}" store 🗑`)},E.notifyComponentUpdate(),E.sendInspectorTree(ve),E.sendInspectorState(ve),E.getSettings().logStoreChanges&&me(`"${t.$id}" store installed 🆕`)})}let la=0,Ut;function UT(e,t,E){const s=t.reduce((r,n)=>(r[n]=ne(e)[n],r),{});for(const r in s)e[r]=function(){const n=la,T=E?new Proxy(e,{get(...i){return Ut=n,Reflect.get(...i)},set(...i){return Ut=n,Reflect.set(...i)}}):e;Ut=n;const o=s[r].apply(T,arguments);return Ut=void 0,o}}function xI({app:e,store:t,options:E}){if(t.$id.startsWith("__hot:"))return;t._isOptionsAPI=!!E.state,UT(t,Object.keys(E.actions),t._isOptionsAPI);const s=t._hotUpdate;ne(t)._hotUpdate=function(r){s.apply(this,arguments),UT(t,Object.keys(r._hmrPayload.actions),!!t._isOptionsAPI)},VI(e,t)}function WI(){const e=Ri(!0),t=e.run(()=>Mt({}));let E=[],s=[];const r=Qt({install(n){tr(r),r._a=n,n.provide(na,r),n.config.globalProperties.$pinia=r,KE&&wI(n,r),s.forEach(T=>E.push(T)),s=[]},use(n){return!this._a&&!_I?s.push(n):E.push(n),this},_p:E,_a:null,_e:e,_s:new Map,state:t});return KE&&typeof Proxy<"u"&&r.use(xI),r}const Ia=()=>{};function bT(e,t,E,s=Ia){e.push(t);const r=()=>{const n=e.indexOf(t);n>-1&&(e.splice(n,1),s())};return!E&&Ai()&&tO(r),r}function TE(e,...t){e.slice().forEach(E=>{E(...t)})}const XI=e=>e();function Br(e,t){e instanceof Map&&t instanceof Map&&t.forEach((E,s)=>e.set(s,E)),e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(const E in t){if(!t.hasOwnProperty(E))continue;const s=t[E],r=e[E];yr(r)&&yr(s)&&e.hasOwnProperty(E)&&!he(s)&&!mt(s)?e[E]=Br(r,s):e[E]=s}return e}const $I=Symbol();function KI(e){return!yr(e)||!e.hasOwnProperty($I)}const{assign:et}=Object;function kI(e){return!!(he(e)&&e.effect)}function JI(e,t,E,s){const{state:r,actions:n,getters:T}=t,o=E.state.value[e];let i;function a(){o||(E.state.value[e]=r?r():{});const R=hO(E.state.value[e]);return et(R,n,Object.keys(T||{}).reduce((S,O)=>(S[O]=Qt(At(()=>{tr(E);const p=E._s.get(e);return T[O].call(p,p)})),S),{}))}return i=Na(e,a,t,E,s,!0),i}function Na(e,t,E={},s,r,n){let T;const o=et({actions:{}},E),i={deep:!0};let a,R,S=[],O=[],p;const U=s.state.value[e];!n&&!U&&(s.state.value[e]={});const y=Mt({});let V;function $(I){let N;a=R=!1,typeof I=="function"?(I(s.state.value[e]),N={type:Ot.patchFunction,storeId:e,events:p}):(Br(s.state.value[e],I),N={type:Ot.patchObject,payload:I,storeId:e,events:p});const C=V=Symbol();Mi().then(()=>{V===C&&(a=!0)}),R=!0,TE(S,N,s.state.value[e])}const k=n?function(){const{state:N}=E,C=N?N():{};this.$patch(v=>{et(v,C)})}:Ia;function w(){T.stop(),S=[],O=[],s._s.delete(e)}function F(I,N){return function(){tr(s);const C=Array.from(arguments),v=[],K=[];function pe(h){v.push(h)}function Te(h){K.push(h)}TE(O,{args:C,name:I,store:Z,after:pe,onError:Te});let u;try{u=N.apply(this&&this.$id===e?this:Z,C)}catch(h){throw TE(K,h),h}return u instanceof Promise?u.then(h=>(TE(v,h),h)).catch(h=>(TE(K,h),Promise.reject(h))):(TE(v,u),u)}}const ae=Qt({actions:{},getters:{},state:[],hotState:y}),Ie={_p:s,$id:e,$onAction:bT.bind(null,O),$patch:$,$reset:k,$subscribe(I,N={}){const C=bT(S,I,N.detached,()=>v()),v=T.run(()=>Jt(()=>s.state.value[e],K=>{(N.flush==="sync"?R:a)&&I({storeId:e,type:Ot.direct,events:p},K)},et({},i,N)));return C},$dispose:w},Z=Ht(KE?et({_hmrPayload:ae,_customProperties:Qt(new Set)},Ie):Ie);s._s.set(e,Z);const Se=(s._a&&s._a.runWithContext||XI)(()=>s._e.run(()=>(T=Ri()).run(t)));for(const I in Se){const N=Se[I];if(he(N)&&!kI(N)||mt(N))n||(U&&KI(N)&&(he(N)?N.value=U[I]:Br(N,U[I])),s.state.value[e][I]=N);else if(typeof N=="function"){const C=F(I,N);Se[I]=C,o.actions[I]=N}}if(et(Z,Se),et(ne(Z),Se),Object.defineProperty(Z,"$state",{get:()=>s.state.value[e],set:I=>{$(N=>{et(N,I)})}}),KE){const I={writable:!0,configurable:!0,enumerable:!1};["_p","_hmrPayload","_getters","_customProperties"].forEach(N=>{Object.defineProperty(Z,N,et({value:Z[N]},I))})}return s._p.forEach(I=>{if(KE){const N=T.run(()=>I({store:Z,app:s._a,pinia:s,options:o}));Object.keys(N||{}).forEach(C=>Z._customProperties.add(C)),et(Z,N)}else et(Z,T.run(()=>I({store:Z,app:s._a,pinia:s,options:o})))}),U&&n&&E.hydrate&&E.hydrate(Z.$state,U),a=!0,R=!0,Z}function ca(e,t,E){let s,r;const n=typeof t=="function";typeof e=="string"?(s=e,r=n?E:t):(r=e,s=e.id);function T(o,i){const a=_l();return o=o||(a?WE(na,null):null),o&&tr(o),o=ra,o._s.has(s)||(n?Na(s,t,r,o):JI(s,r,o)),o._s.get(s)}return T.$id=s,T}function jI(e,t){return Fr(e,e.childNodes,t)}function Fr(e,t,{mode:E="open",delegatesFocus:s=!1}={mode:"open"}){try{const r=e.shadowRoot;if(r!=null){console.error("[shadow] Attach shadow multiple times",e,t,r);return}else{const n=e.attachShadow({mode:E,delegatesFocus:s});return t&&qI(n,t),n}}catch(r){console.error("[shadow] make shadow-root failed",e,t),console.error(r)}}function qI(e,t){const E=document.createDocumentFragment();for(const s of t)E.appendChild(s);e.appendChild(E)}const QI=document.createDocumentFragment(),ys=Ge({props:{media:String,nonce:String},setup(e,{slots:t}){return()=>{var E;return Es("style",{media:e.media,nonce:e.nonce},(E=t.default)==null?void 0:E.call(t))}}}),vs=ZI()(Ge({props:{mode:{type:String,default:"open"},delegatesFocus:{type:Boolean,default:!1},abstract:{type:Boolean,default:!1},tag:{type:String,default:"div"},adoptedStyleSheets:{type:Array}},emits:["error"],setup(e,{slots:t,expose:E,emit:s}){const r=Mt(!1),n=Mt(),T=Mt(),o=Mt(),i=At(()=>o.value??QI),a=Ht({shadow_root:o});return E(a),Vi(()=>{r.value=e.abstract}),zs(()=>{var R;try{r.value?T.value.parentElement.shadowRoot?o.value=T.value.parentElement.shadowRoot:o.value=Fr(T.value.parentElement,void 0,{mode:e.mode,delegatesFocus:e.delegatesFocus}):o.value=Fr(n.value,void 0,{mode:e.mode,delegatesFocus:e.delegatesFocus}),(R=o.value)==null||R.styleSheets}catch(S){console.error(S),s("error",S)}}),Jt([o,()=>e.adoptedStyleSheets],([R,S])=>{if(!(!R||!S))try{R.adoptedStyleSheets=S}catch(O){console.error(O),s("error",O)}}),()=>{var S;const R=Es(ml,{ref:T,to:i.value},[(S=t.default)==null?void 0:S.call(t)]);return r.value?R:Es(e.tag,{ref:n},R)}},install:_a,Style:ys}));function ZI(){return e=>e}function _a(e){e.component("shadow-root",vs),e.directive("shadow",{beforeMount(t){console.warn("[VueShadowDom] Deprecated v-shadow directive, use component"),jI(t)}})}var zI={ShadowRoot:vs,ShadowStyle:ys,shadow_root:vs,shadow_style:ys,install:_a};const Ca="39a6ada7-cbed-4b3d-9c60-d6f9c73690c3",ua={controller:"DemoController",action:"post_list",params:{controller:"demo",action:"post_list"},format:"html",method:"GET",path:"/post-list",status:200,view_runtime:54.35400013811886,db_runtime:79.56599979661405,duration:806.7089998722076,cpu_time:680.108166,idle_time:126.60083387220766,allocations:1112174},La={method:"GET",path:"/post-list",format:"html",params:{controller:"demo",action:"post_list"},headers:{Accept:"text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7","Accept-Encoding":"gzip, deflate, br","Accept-Language":"fr,en;q=0.9","Cache-Control":"max-age=0",Connection:"keep-alive",Cookie:"_demo_app_session=wS9tYOKsZuSV8f%2Fc%2BV2zjz0K1aOIsF5L0DrgipxT5ZXt80E0AOwTPb%2FiuasTg2hcCGgQvga1tmL062eGW3S3ybJExDDzp9If8NWY8atX0jR6KO8baoiA6s9yAsNNRnlsHiMK%2BwE0HnF8%2Fze%2FgGWLnEqpaLKYDfonzabYAj%2FZ9%2BrzmzPMT1w3IVJwKuk4QfO9rq3NgnjIaXaxa6Z2pEL1zQ%2F2HjR8Zs5DAvtISPBWeYXxOUiZHAnFci%2Fv1s2F0p%2FbJc%2FnVb%2BPubCNJdvzJF5IQfnhoHzeqJTiqQ%3D%3D--bYeSu9LGbDlnlZqi--r%2FD6A9ReHNaJcTscmgQDzA%3D%3D",Dnt:"1",Host:"127.0.0.1:3000","If-None-Match":'W/"ec7b3a0dfa837dbb2aaafb6b7d545772"',"Sec-Ch-Ua":'"Not_A Brand";v="8", "Chromium";v="120", "Google Chrome";v="120"',"Sec-Ch-Ua-Mobile":"?0","Sec-Ch-Ua-Platform":'"macOS"',"Sec-Fetch-Dest":"document","Sec-Fetch-Mode":"navigate","Sec-Fetch-Site":"none","Sec-Fetch-User":"?1","Upgrade-Insecure-Requests":"1","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36",Version:"HTTP/1.1"}},da={status:200,headers:{"X-Frame-Options":"SAMEORIGIN","X-Xss-Protection":"0","X-Content-Type-Options":"nosniff","X-Permitted-Cross-Domain-Policies":"none","Referrer-Policy":"strict-origin-when-cross-origin",Link:"; rel=preload; as=style; nopush,; rel=preload; as=script; nopush","Content-Type":"text/html; charset=utf-8",Etag:'W/"d0d15adb51161affa8db8290c6f6ef56"',"Cache-Control":"max-age=0, private, must-revalidate"},body:` - - - DemoApp - - - - - - - - \n\n\n\n\n","\n\n\n","\n\n\n\n\n","(function(root, factory) {\n if (typeof module === 'object' && module.exports) {\n module.exports = factory();\n } else {\n root.nearley = factory();\n }\n}(this, function() {\n\n function Rule(name, symbols, postprocess) {\n this.id = ++Rule.highestId;\n this.name = name;\n this.symbols = symbols; // a list of literal | regex class | nonterminal\n this.postprocess = postprocess;\n return this;\n }\n Rule.highestId = 0;\n\n Rule.prototype.toString = function(withCursorAt) {\n var symbolSequence = (typeof withCursorAt === \"undefined\")\n ? this.symbols.map(getSymbolShortDisplay).join(' ')\n : ( this.symbols.slice(0, withCursorAt).map(getSymbolShortDisplay).join(' ')\n + \" ● \"\n + this.symbols.slice(withCursorAt).map(getSymbolShortDisplay).join(' ') );\n return this.name + \" → \" + symbolSequence;\n }\n\n\n // a State is a rule at a position from a given starting point in the input stream (reference)\n function State(rule, dot, reference, wantedBy) {\n this.rule = rule;\n this.dot = dot;\n this.reference = reference;\n this.data = [];\n this.wantedBy = wantedBy;\n this.isComplete = this.dot === rule.symbols.length;\n }\n\n State.prototype.toString = function() {\n return \"{\" + this.rule.toString(this.dot) + \"}, from: \" + (this.reference || 0);\n };\n\n State.prototype.nextState = function(child) {\n var state = new State(this.rule, this.dot + 1, this.reference, this.wantedBy);\n state.left = this;\n state.right = child;\n if (state.isComplete) {\n state.data = state.build();\n // Having right set here will prevent the right state and its children\n // form being garbage collected\n state.right = undefined;\n }\n return state;\n };\n\n State.prototype.build = function() {\n var children = [];\n var node = this;\n do {\n children.push(node.right.data);\n node = node.left;\n } while (node.left);\n children.reverse();\n return children;\n };\n\n State.prototype.finish = function() {\n if (this.rule.postprocess) {\n this.data = this.rule.postprocess(this.data, this.reference, Parser.fail);\n }\n };\n\n\n function Column(grammar, index) {\n this.grammar = grammar;\n this.index = index;\n this.states = [];\n this.wants = {}; // states indexed by the non-terminal they expect\n this.scannable = []; // list of states that expect a token\n this.completed = {}; // states that are nullable\n }\n\n\n Column.prototype.process = function(nextColumn) {\n var states = this.states;\n var wants = this.wants;\n var completed = this.completed;\n\n for (var w = 0; w < states.length; w++) { // nb. we push() during iteration\n var state = states[w];\n\n if (state.isComplete) {\n state.finish();\n if (state.data !== Parser.fail) {\n // complete\n var wantedBy = state.wantedBy;\n for (var i = wantedBy.length; i--; ) { // this line is hot\n var left = wantedBy[i];\n this.complete(left, state);\n }\n\n // special-case nullables\n if (state.reference === this.index) {\n // make sure future predictors of this rule get completed.\n var exp = state.rule.name;\n (this.completed[exp] = this.completed[exp] || []).push(state);\n }\n }\n\n } else {\n // queue scannable states\n var exp = state.rule.symbols[state.dot];\n if (typeof exp !== 'string') {\n this.scannable.push(state);\n continue;\n }\n\n // predict\n if (wants[exp]) {\n wants[exp].push(state);\n\n if (completed.hasOwnProperty(exp)) {\n var nulls = completed[exp];\n for (var i = 0; i < nulls.length; i++) {\n var right = nulls[i];\n this.complete(state, right);\n }\n }\n } else {\n wants[exp] = [state];\n this.predict(exp);\n }\n }\n }\n }\n\n Column.prototype.predict = function(exp) {\n var rules = this.grammar.byName[exp] || [];\n\n for (var i = 0; i < rules.length; i++) {\n var r = rules[i];\n var wantedBy = this.wants[exp];\n var s = new State(r, 0, this.index, wantedBy);\n this.states.push(s);\n }\n }\n\n Column.prototype.complete = function(left, right) {\n var copy = left.nextState(right);\n this.states.push(copy);\n }\n\n\n function Grammar(rules, start) {\n this.rules = rules;\n this.start = start || this.rules[0].name;\n var byName = this.byName = {};\n this.rules.forEach(function(rule) {\n if (!byName.hasOwnProperty(rule.name)) {\n byName[rule.name] = [];\n }\n byName[rule.name].push(rule);\n });\n }\n\n // So we can allow passing (rules, start) directly to Parser for backwards compatibility\n Grammar.fromCompiled = function(rules, start) {\n var lexer = rules.Lexer;\n if (rules.ParserStart) {\n start = rules.ParserStart;\n rules = rules.ParserRules;\n }\n var rules = rules.map(function (r) { return (new Rule(r.name, r.symbols, r.postprocess)); });\n var g = new Grammar(rules, start);\n g.lexer = lexer; // nb. storing lexer on Grammar is iffy, but unavoidable\n return g;\n }\n\n\n function StreamLexer() {\n this.reset(\"\");\n }\n\n StreamLexer.prototype.reset = function(data, state) {\n this.buffer = data;\n this.index = 0;\n this.line = state ? state.line : 1;\n this.lastLineBreak = state ? -state.col : 0;\n }\n\n StreamLexer.prototype.next = function() {\n if (this.index < this.buffer.length) {\n var ch = this.buffer[this.index++];\n if (ch === '\\n') {\n this.line += 1;\n this.lastLineBreak = this.index;\n }\n return {value: ch};\n }\n }\n\n StreamLexer.prototype.save = function() {\n return {\n line: this.line,\n col: this.index - this.lastLineBreak,\n }\n }\n\n StreamLexer.prototype.formatError = function(token, message) {\n // nb. this gets called after consuming the offending token,\n // so the culprit is index-1\n var buffer = this.buffer;\n if (typeof buffer === 'string') {\n var lines = buffer\n .split(\"\\n\")\n .slice(\n Math.max(0, this.line - 5), \n this.line\n );\n\n var nextLineBreak = buffer.indexOf('\\n', this.index);\n if (nextLineBreak === -1) nextLineBreak = buffer.length;\n var col = this.index - this.lastLineBreak;\n var lastLineDigits = String(this.line).length;\n message += \" at line \" + this.line + \" col \" + col + \":\\n\\n\";\n message += lines\n .map(function(line, i) {\n return pad(this.line - lines.length + i + 1, lastLineDigits) + \" \" + line;\n }, this)\n .join(\"\\n\");\n message += \"\\n\" + pad(\"\", lastLineDigits + col) + \"^\\n\";\n return message;\n } else {\n return message + \" at index \" + (this.index - 1);\n }\n\n function pad(n, length) {\n var s = String(n);\n return Array(length - s.length + 1).join(\" \") + s;\n }\n }\n\n function Parser(rules, start, options) {\n if (rules instanceof Grammar) {\n var grammar = rules;\n var options = start;\n } else {\n var grammar = Grammar.fromCompiled(rules, start);\n }\n this.grammar = grammar;\n\n // Read options\n this.options = {\n keepHistory: false,\n lexer: grammar.lexer || new StreamLexer,\n };\n for (var key in (options || {})) {\n this.options[key] = options[key];\n }\n\n // Setup lexer\n this.lexer = this.options.lexer;\n this.lexerState = undefined;\n\n // Setup a table\n var column = new Column(grammar, 0);\n var table = this.table = [column];\n\n // I could be expecting anything.\n column.wants[grammar.start] = [];\n column.predict(grammar.start);\n // TODO what if start rule is nullable?\n column.process();\n this.current = 0; // token index\n }\n\n // create a reserved token for indicating a parse fail\n Parser.fail = {};\n\n Parser.prototype.feed = function(chunk) {\n var lexer = this.lexer;\n lexer.reset(chunk, this.lexerState);\n\n var token;\n while (true) {\n try {\n token = lexer.next();\n if (!token) {\n break;\n }\n } catch (e) {\n // Create the next column so that the error reporter\n // can display the correctly predicted states.\n var nextColumn = new Column(this.grammar, this.current + 1);\n this.table.push(nextColumn);\n var err = new Error(this.reportLexerError(e));\n err.offset = this.current;\n err.token = e.token;\n throw err;\n }\n // We add new states to table[current+1]\n var column = this.table[this.current];\n\n // GC unused states\n if (!this.options.keepHistory) {\n delete this.table[this.current - 1];\n }\n\n var n = this.current + 1;\n var nextColumn = new Column(this.grammar, n);\n this.table.push(nextColumn);\n\n // Advance all tokens that expect the symbol\n var literal = token.text !== undefined ? token.text : token.value;\n var value = lexer.constructor === StreamLexer ? token.value : token;\n var scannable = column.scannable;\n for (var w = scannable.length; w--; ) {\n var state = scannable[w];\n var expect = state.rule.symbols[state.dot];\n // Try to consume the token\n // either regex or literal\n if (expect.test ? expect.test(value) :\n expect.type ? expect.type === token.type\n : expect.literal === literal) {\n // Add it\n var next = state.nextState({data: value, token: token, isToken: true, reference: n - 1});\n nextColumn.states.push(next);\n }\n }\n\n // Next, for each of the rules, we either\n // (a) complete it, and try to see if the reference row expected that\n // rule\n // (b) predict the next nonterminal it expects by adding that\n // nonterminal's start state\n // To prevent duplication, we also keep track of rules we have already\n // added\n\n nextColumn.process();\n\n // If needed, throw an error:\n if (nextColumn.states.length === 0) {\n // No states at all! This is not good.\n var err = new Error(this.reportError(token));\n err.offset = this.current;\n err.token = token;\n throw err;\n }\n\n // maybe save lexer state\n if (this.options.keepHistory) {\n column.lexerState = lexer.save()\n }\n\n this.current++;\n }\n if (column) {\n this.lexerState = lexer.save()\n }\n\n // Incrementally keep track of results\n this.results = this.finish();\n\n // Allow chaining, for whatever it's worth\n return this;\n };\n\n Parser.prototype.reportLexerError = function(lexerError) {\n var tokenDisplay, lexerMessage;\n // Planning to add a token property to moo's thrown error\n // even on erroring tokens to be used in error display below\n var token = lexerError.token;\n if (token) {\n tokenDisplay = \"input \" + JSON.stringify(token.text[0]) + \" (lexer error)\";\n lexerMessage = this.lexer.formatError(token, \"Syntax error\");\n } else {\n tokenDisplay = \"input (lexer error)\";\n lexerMessage = lexerError.message;\n }\n return this.reportErrorCommon(lexerMessage, tokenDisplay);\n };\n\n Parser.prototype.reportError = function(token) {\n var tokenDisplay = (token.type ? token.type + \" token: \" : \"\") + JSON.stringify(token.value !== undefined ? token.value : token);\n var lexerMessage = this.lexer.formatError(token, \"Syntax error\");\n return this.reportErrorCommon(lexerMessage, tokenDisplay);\n };\n\n Parser.prototype.reportErrorCommon = function(lexerMessage, tokenDisplay) {\n var lines = [];\n lines.push(lexerMessage);\n var lastColumnIndex = this.table.length - 2;\n var lastColumn = this.table[lastColumnIndex];\n var expectantStates = lastColumn.states\n .filter(function(state) {\n var nextSymbol = state.rule.symbols[state.dot];\n return nextSymbol && typeof nextSymbol !== \"string\";\n });\n\n if (expectantStates.length === 0) {\n lines.push('Unexpected ' + tokenDisplay + '. I did not expect any more input. Here is the state of my parse table:\\n');\n this.displayStateStack(lastColumn.states, lines);\n } else {\n lines.push('Unexpected ' + tokenDisplay + '. Instead, I was expecting to see one of the following:\\n');\n // Display a \"state stack\" for each expectant state\n // - which shows you how this state came to be, step by step.\n // If there is more than one derivation, we only display the first one.\n var stateStacks = expectantStates\n .map(function(state) {\n return this.buildFirstStateStack(state, []) || [state];\n }, this);\n // Display each state that is expecting a terminal symbol next.\n stateStacks.forEach(function(stateStack) {\n var state = stateStack[0];\n var nextSymbol = state.rule.symbols[state.dot];\n var symbolDisplay = this.getSymbolDisplay(nextSymbol);\n lines.push('A ' + symbolDisplay + ' based on:');\n this.displayStateStack(stateStack, lines);\n }, this);\n }\n lines.push(\"\");\n return lines.join(\"\\n\");\n }\n \n Parser.prototype.displayStateStack = function(stateStack, lines) {\n var lastDisplay;\n var sameDisplayCount = 0;\n for (var j = 0; j < stateStack.length; j++) {\n var state = stateStack[j];\n var display = state.rule.toString(state.dot);\n if (display === lastDisplay) {\n sameDisplayCount++;\n } else {\n if (sameDisplayCount > 0) {\n lines.push(' ^ ' + sameDisplayCount + ' more lines identical to this');\n }\n sameDisplayCount = 0;\n lines.push(' ' + display);\n }\n lastDisplay = display;\n }\n };\n\n Parser.prototype.getSymbolDisplay = function(symbol) {\n return getSymbolLongDisplay(symbol);\n };\n\n /*\n Builds a the first state stack. You can think of a state stack as the call stack\n of the recursive-descent parser which the Nearley parse algorithm simulates.\n A state stack is represented as an array of state objects. Within a\n state stack, the first item of the array will be the starting\n state, with each successive item in the array going further back into history.\n\n This function needs to be given a starting state and an empty array representing\n the visited states, and it returns an single state stack.\n\n */\n Parser.prototype.buildFirstStateStack = function(state, visited) {\n if (visited.indexOf(state) !== -1) {\n // Found cycle, return null\n // to eliminate this path from the results, because\n // we don't know how to display it meaningfully\n return null;\n }\n if (state.wantedBy.length === 0) {\n return [state];\n }\n var prevState = state.wantedBy[0];\n var childVisited = [state].concat(visited);\n var childResult = this.buildFirstStateStack(prevState, childVisited);\n if (childResult === null) {\n return null;\n }\n return [state].concat(childResult);\n };\n\n Parser.prototype.save = function() {\n var column = this.table[this.current];\n column.lexerState = this.lexerState;\n return column;\n };\n\n Parser.prototype.restore = function(column) {\n var index = column.index;\n this.current = index;\n this.table[index] = column;\n this.table.splice(index + 1);\n this.lexerState = column.lexerState;\n\n // Incrementally keep track of results\n this.results = this.finish();\n };\n\n // nb. deprecated: use save/restore instead!\n Parser.prototype.rewind = function(index) {\n if (!this.options.keepHistory) {\n throw new Error('set option `keepHistory` to enable rewinding')\n }\n // nb. recall column (table) indicies fall between token indicies.\n // col 0 -- token 0 -- col 1\n this.restore(this.table[index]);\n };\n\n Parser.prototype.finish = function() {\n // Return the possible parsings\n var considerations = [];\n var start = this.grammar.start;\n var column = this.table[this.table.length - 1]\n column.states.forEach(function (t) {\n if (t.rule.name === start\n && t.dot === t.rule.symbols.length\n && t.reference === 0\n && t.data !== Parser.fail) {\n considerations.push(t);\n }\n });\n return considerations.map(function(c) {return c.data; });\n };\n\n function getSymbolLongDisplay(symbol) {\n var type = typeof symbol;\n if (type === \"string\") {\n return symbol;\n } else if (type === \"object\") {\n if (symbol.literal) {\n return JSON.stringify(symbol.literal);\n } else if (symbol instanceof RegExp) {\n return 'character matching ' + symbol;\n } else if (symbol.type) {\n return symbol.type + ' token';\n } else if (symbol.test) {\n return 'token matching ' + String(symbol.test);\n } else {\n throw new Error('Unknown symbol type: ' + symbol);\n }\n }\n }\n\n function getSymbolShortDisplay(symbol) {\n var type = typeof symbol;\n if (type === \"string\") {\n return symbol;\n } else if (type === \"object\") {\n if (symbol.literal) {\n return JSON.stringify(symbol.literal);\n } else if (symbol instanceof RegExp) {\n return symbol.toString();\n } else if (symbol.type) {\n return '%' + symbol.type;\n } else if (symbol.test) {\n return '<' + String(symbol.test) + '>';\n } else {\n throw new Error('Unknown symbol type: ' + symbol);\n }\n }\n }\n\n return {\n Parser: Parser,\n Grammar: Grammar,\n Rule: Rule,\n };\n\n}));\n","var __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\n\n// src/allDialects.ts\nvar allDialects_exports = {};\n__export(allDialects_exports, {\n bigquery: () => bigquery,\n db2: () => db2,\n db2i: () => db2i,\n hive: () => hive,\n mariadb: () => mariadb,\n mysql: () => mysql,\n n1ql: () => n1ql,\n plsql: () => plsql,\n postgresql: () => postgresql,\n redshift: () => redshift,\n singlestoredb: () => singlestoredb,\n snowflake: () => snowflake,\n spark: () => spark,\n sql: () => sql,\n sqlite: () => sqlite,\n transactsql: () => transactsql,\n trino: () => trino\n});\n\n// src/expandPhrases.ts\nvar expandPhrases = (phrases) => phrases.flatMap(expandSinglePhrase);\nvar expandSinglePhrase = (phrase) => buildCombinations(parsePhrase(phrase)).map(stripExtraWhitespace);\nvar stripExtraWhitespace = (text) => text.replace(/ +/g, \" \").trim();\nvar parsePhrase = (text) => ({\n type: \"mandatory_block\",\n items: parseAlteration(text, 0)[0]\n});\nvar parseAlteration = (text, index, expectClosing) => {\n const alterations = [];\n while (text[index]) {\n const [term, newIndex] = parseConcatenation(text, index);\n alterations.push(term);\n index = newIndex;\n if (text[index] === \"|\") {\n index++;\n } else if (text[index] === \"}\" || text[index] === \"]\") {\n if (expectClosing !== text[index]) {\n throw new Error(`Unbalanced parenthesis in: ${text}`);\n }\n index++;\n return [alterations, index];\n } else if (index === text.length) {\n if (expectClosing) {\n throw new Error(`Unbalanced parenthesis in: ${text}`);\n }\n return [alterations, index];\n } else {\n throw new Error(`Unexpected \"${text[index]}\"`);\n }\n }\n return [alterations, index];\n};\nvar parseConcatenation = (text, index) => {\n const items = [];\n while (true) {\n const [term, newIndex] = parseTerm(text, index);\n if (term) {\n items.push(term);\n index = newIndex;\n } else {\n break;\n }\n }\n return items.length === 1 ? [items[0], index] : [{ type: \"concatenation\", items }, index];\n};\nvar parseTerm = (text, index) => {\n if (text[index] === \"{\") {\n return parseMandatoryBlock(text, index + 1);\n } else if (text[index] === \"[\") {\n return parseOptionalBlock(text, index + 1);\n } else {\n let word = \"\";\n while (text[index] && /[A-Za-z0-9_ ]/.test(text[index])) {\n word += text[index];\n index++;\n }\n return [word, index];\n }\n};\nvar parseMandatoryBlock = (text, index) => {\n const [items, newIndex] = parseAlteration(text, index, \"}\");\n return [{ type: \"mandatory_block\", items }, newIndex];\n};\nvar parseOptionalBlock = (text, index) => {\n const [items, newIndex] = parseAlteration(text, index, \"]\");\n return [{ type: \"optional_block\", items }, newIndex];\n};\nvar buildCombinations = (node) => {\n if (typeof node === \"string\") {\n return [node];\n } else if (node.type === \"concatenation\") {\n return node.items.map(buildCombinations).reduce(stringCombinations, [\"\"]);\n } else if (node.type === \"mandatory_block\") {\n return node.items.flatMap(buildCombinations);\n } else if (node.type === \"optional_block\") {\n return [\"\", ...node.items.flatMap(buildCombinations)];\n } else {\n throw new Error(`Unknown node type: ${node}`);\n }\n};\nvar stringCombinations = (xs, ys) => {\n const results = [];\n for (const x of xs) {\n for (const y of ys) {\n results.push(x + y);\n }\n }\n return results;\n};\n\n// src/lexer/token.ts\nvar TokenType = /* @__PURE__ */ ((TokenType2) => {\n TokenType2[\"QUOTED_IDENTIFIER\"] = \"QUOTED_IDENTIFIER\";\n TokenType2[\"IDENTIFIER\"] = \"IDENTIFIER\";\n TokenType2[\"STRING\"] = \"STRING\";\n TokenType2[\"VARIABLE\"] = \"VARIABLE\";\n TokenType2[\"RESERVED_DATA_TYPE\"] = \"RESERVED_DATA_TYPE\";\n TokenType2[\"RESERVED_PARAMETERIZED_DATA_TYPE\"] = \"RESERVED_PARAMETERIZED_DATA_TYPE\";\n TokenType2[\"RESERVED_KEYWORD\"] = \"RESERVED_KEYWORD\";\n TokenType2[\"RESERVED_FUNCTION_NAME\"] = \"RESERVED_FUNCTION_NAME\";\n TokenType2[\"RESERVED_PHRASE\"] = \"RESERVED_PHRASE\";\n TokenType2[\"RESERVED_SET_OPERATION\"] = \"RESERVED_SET_OPERATION\";\n TokenType2[\"RESERVED_CLAUSE\"] = \"RESERVED_CLAUSE\";\n TokenType2[\"RESERVED_SELECT\"] = \"RESERVED_SELECT\";\n TokenType2[\"RESERVED_JOIN\"] = \"RESERVED_JOIN\";\n TokenType2[\"ARRAY_IDENTIFIER\"] = \"ARRAY_IDENTIFIER\";\n TokenType2[\"ARRAY_KEYWORD\"] = \"ARRAY_KEYWORD\";\n TokenType2[\"CASE\"] = \"CASE\";\n TokenType2[\"END\"] = \"END\";\n TokenType2[\"WHEN\"] = \"WHEN\";\n TokenType2[\"ELSE\"] = \"ELSE\";\n TokenType2[\"THEN\"] = \"THEN\";\n TokenType2[\"LIMIT\"] = \"LIMIT\";\n TokenType2[\"BETWEEN\"] = \"BETWEEN\";\n TokenType2[\"AND\"] = \"AND\";\n TokenType2[\"OR\"] = \"OR\";\n TokenType2[\"XOR\"] = \"XOR\";\n TokenType2[\"OPERATOR\"] = \"OPERATOR\";\n TokenType2[\"COMMA\"] = \"COMMA\";\n TokenType2[\"ASTERISK\"] = \"ASTERISK\";\n TokenType2[\"DOT\"] = \"DOT\";\n TokenType2[\"OPEN_PAREN\"] = \"OPEN_PAREN\";\n TokenType2[\"CLOSE_PAREN\"] = \"CLOSE_PAREN\";\n TokenType2[\"LINE_COMMENT\"] = \"LINE_COMMENT\";\n TokenType2[\"BLOCK_COMMENT\"] = \"BLOCK_COMMENT\";\n TokenType2[\"NUMBER\"] = \"NUMBER\";\n TokenType2[\"NAMED_PARAMETER\"] = \"NAMED_PARAMETER\";\n TokenType2[\"QUOTED_PARAMETER\"] = \"QUOTED_PARAMETER\";\n TokenType2[\"NUMBERED_PARAMETER\"] = \"NUMBERED_PARAMETER\";\n TokenType2[\"POSITIONAL_PARAMETER\"] = \"POSITIONAL_PARAMETER\";\n TokenType2[\"CUSTOM_PARAMETER\"] = \"CUSTOM_PARAMETER\";\n TokenType2[\"DELIMITER\"] = \"DELIMITER\";\n TokenType2[\"EOF\"] = \"EOF\";\n return TokenType2;\n})(TokenType || {});\nvar createEofToken = (index) => ({\n type: \"EOF\" /* EOF */,\n raw: \"\\xABEOF\\xBB\",\n text: \"\\xABEOF\\xBB\",\n start: index\n});\nvar EOF_TOKEN = createEofToken(Infinity);\nvar testToken = (compareToken) => (token) => token.type === compareToken.type && token.text === compareToken.text;\nvar isToken = {\n ARRAY: testToken({ text: \"ARRAY\", type: \"RESERVED_DATA_TYPE\" /* RESERVED_DATA_TYPE */ }),\n BY: testToken({ text: \"BY\", type: \"RESERVED_KEYWORD\" /* RESERVED_KEYWORD */ }),\n SET: testToken({ text: \"SET\", type: \"RESERVED_CLAUSE\" /* RESERVED_CLAUSE */ }),\n STRUCT: testToken({ text: \"STRUCT\", type: \"RESERVED_DATA_TYPE\" /* RESERVED_DATA_TYPE */ }),\n WINDOW: testToken({ text: \"WINDOW\", type: \"RESERVED_CLAUSE\" /* RESERVED_CLAUSE */ }),\n VALUES: testToken({ text: \"VALUES\", type: \"RESERVED_CLAUSE\" /* RESERVED_CLAUSE */ })\n};\nvar isReserved = (type) => type === \"RESERVED_DATA_TYPE\" /* RESERVED_DATA_TYPE */ || type === \"RESERVED_KEYWORD\" /* RESERVED_KEYWORD */ || type === \"RESERVED_FUNCTION_NAME\" /* RESERVED_FUNCTION_NAME */ || type === \"RESERVED_PHRASE\" /* RESERVED_PHRASE */ || type === \"RESERVED_CLAUSE\" /* RESERVED_CLAUSE */ || type === \"RESERVED_SELECT\" /* RESERVED_SELECT */ || type === \"RESERVED_SET_OPERATION\" /* RESERVED_SET_OPERATION */ || type === \"RESERVED_JOIN\" /* RESERVED_JOIN */ || type === \"ARRAY_KEYWORD\" /* ARRAY_KEYWORD */ || type === \"CASE\" /* CASE */ || type === \"END\" /* END */ || type === \"WHEN\" /* WHEN */ || type === \"ELSE\" /* ELSE */ || type === \"THEN\" /* THEN */ || type === \"LIMIT\" /* LIMIT */ || type === \"BETWEEN\" /* BETWEEN */ || type === \"AND\" /* AND */ || type === \"OR\" /* OR */ || type === \"XOR\" /* XOR */;\nvar isLogicalOperator = (type) => type === \"AND\" /* AND */ || type === \"OR\" /* OR */ || type === \"XOR\" /* XOR */;\n\n// src/languages/bigquery/bigquery.functions.ts\nvar functions = [\n // https://cloud.google.com/bigquery/docs/reference/standard-sql/aead_encryption_functions\n \"KEYS.NEW_KEYSET\",\n \"KEYS.ADD_KEY_FROM_RAW_BYTES\",\n \"AEAD.DECRYPT_BYTES\",\n \"AEAD.DECRYPT_STRING\",\n \"AEAD.ENCRYPT\",\n \"KEYS.KEYSET_CHAIN\",\n \"KEYS.KEYSET_FROM_JSON\",\n \"KEYS.KEYSET_TO_JSON\",\n \"KEYS.ROTATE_KEYSET\",\n \"KEYS.KEYSET_LENGTH\",\n // https://cloud.google.com/bigquery/docs/reference/standard-sql/aggregate_analytic_functions\n \"ANY_VALUE\",\n \"ARRAY_AGG\",\n \"AVG\",\n \"CORR\",\n \"COUNT\",\n \"COUNTIF\",\n \"COVAR_POP\",\n \"COVAR_SAMP\",\n \"MAX\",\n \"MIN\",\n \"ST_CLUSTERDBSCAN\",\n \"STDDEV_POP\",\n \"STDDEV_SAMP\",\n \"STRING_AGG\",\n \"SUM\",\n \"VAR_POP\",\n \"VAR_SAMP\",\n // https://cloud.google.com/bigquery/docs/reference/standard-sql/aggregate_functions\n \"ANY_VALUE\",\n \"ARRAY_AGG\",\n \"ARRAY_CONCAT_AGG\",\n \"AVG\",\n \"BIT_AND\",\n \"BIT_OR\",\n \"BIT_XOR\",\n \"COUNT\",\n \"COUNTIF\",\n \"LOGICAL_AND\",\n \"LOGICAL_OR\",\n \"MAX\",\n \"MIN\",\n \"STRING_AGG\",\n \"SUM\",\n // https://cloud.google.com/bigquery/docs/reference/standard-sql/approximate_aggregate_functions\n \"APPROX_COUNT_DISTINCT\",\n \"APPROX_QUANTILES\",\n \"APPROX_TOP_COUNT\",\n \"APPROX_TOP_SUM\",\n // https://cloud.google.com/bigquery/docs/reference/standard-sql/array_functions\n // 'ARRAY',\n \"ARRAY_CONCAT\",\n \"ARRAY_LENGTH\",\n \"ARRAY_TO_STRING\",\n \"GENERATE_ARRAY\",\n \"GENERATE_DATE_ARRAY\",\n \"GENERATE_TIMESTAMP_ARRAY\",\n \"ARRAY_REVERSE\",\n \"OFFSET\",\n \"SAFE_OFFSET\",\n \"ORDINAL\",\n \"SAFE_ORDINAL\",\n // https://cloud.google.com/bigquery/docs/reference/standard-sql/bit_functions\n \"BIT_COUNT\",\n // https://cloud.google.com/bigquery/docs/reference/standard-sql/conversion_functions\n // 'CASE',\n \"PARSE_BIGNUMERIC\",\n \"PARSE_NUMERIC\",\n \"SAFE_CAST\",\n // https://cloud.google.com/bigquery/docs/reference/standard-sql/date_functions\n \"CURRENT_DATE\",\n \"EXTRACT\",\n \"DATE\",\n \"DATE_ADD\",\n \"DATE_SUB\",\n \"DATE_DIFF\",\n \"DATE_TRUNC\",\n \"DATE_FROM_UNIX_DATE\",\n \"FORMAT_DATE\",\n \"LAST_DAY\",\n \"PARSE_DATE\",\n \"UNIX_DATE\",\n // https://cloud.google.com/bigquery/docs/reference/standard-sql/datetime_functions\n \"CURRENT_DATETIME\",\n \"DATETIME\",\n \"EXTRACT\",\n \"DATETIME_ADD\",\n \"DATETIME_SUB\",\n \"DATETIME_DIFF\",\n \"DATETIME_TRUNC\",\n \"FORMAT_DATETIME\",\n \"LAST_DAY\",\n \"PARSE_DATETIME\",\n // https://cloud.google.com/bigquery/docs/reference/standard-sql/debugging_functions\n \"ERROR\",\n // https://cloud.google.com/bigquery/docs/reference/standard-sql/federated_query_functions\n \"EXTERNAL_QUERY\",\n // https://cloud.google.com/bigquery/docs/reference/standard-sql/geography_functions\n \"S2_CELLIDFROMPOINT\",\n \"S2_COVERINGCELLIDS\",\n \"ST_ANGLE\",\n \"ST_AREA\",\n \"ST_ASBINARY\",\n \"ST_ASGEOJSON\",\n \"ST_ASTEXT\",\n \"ST_AZIMUTH\",\n \"ST_BOUNDARY\",\n \"ST_BOUNDINGBOX\",\n \"ST_BUFFER\",\n \"ST_BUFFERWITHTOLERANCE\",\n \"ST_CENTROID\",\n \"ST_CENTROID_AGG\",\n \"ST_CLOSESTPOINT\",\n \"ST_CLUSTERDBSCAN\",\n \"ST_CONTAINS\",\n \"ST_CONVEXHULL\",\n \"ST_COVEREDBY\",\n \"ST_COVERS\",\n \"ST_DIFFERENCE\",\n \"ST_DIMENSION\",\n \"ST_DISJOINT\",\n \"ST_DISTANCE\",\n \"ST_DUMP\",\n \"ST_DWITHIN\",\n \"ST_ENDPOINT\",\n \"ST_EQUALS\",\n \"ST_EXTENT\",\n \"ST_EXTERIORRING\",\n \"ST_GEOGFROM\",\n \"ST_GEOGFROMGEOJSON\",\n \"ST_GEOGFROMTEXT\",\n \"ST_GEOGFROMWKB\",\n \"ST_GEOGPOINT\",\n \"ST_GEOGPOINTFROMGEOHASH\",\n \"ST_GEOHASH\",\n \"ST_GEOMETRYTYPE\",\n \"ST_INTERIORRINGS\",\n \"ST_INTERSECTION\",\n \"ST_INTERSECTS\",\n \"ST_INTERSECTSBOX\",\n \"ST_ISCOLLECTION\",\n \"ST_ISEMPTY\",\n \"ST_LENGTH\",\n \"ST_MAKELINE\",\n \"ST_MAKEPOLYGON\",\n \"ST_MAKEPOLYGONORIENTED\",\n \"ST_MAXDISTANCE\",\n \"ST_NPOINTS\",\n \"ST_NUMGEOMETRIES\",\n \"ST_NUMPOINTS\",\n \"ST_PERIMETER\",\n \"ST_POINTN\",\n \"ST_SIMPLIFY\",\n \"ST_SNAPTOGRID\",\n \"ST_STARTPOINT\",\n \"ST_TOUCHES\",\n \"ST_UNION\",\n \"ST_UNION_AGG\",\n \"ST_WITHIN\",\n \"ST_X\",\n \"ST_Y\",\n // https://cloud.google.com/bigquery/docs/reference/standard-sql/hash_functions\n \"FARM_FINGERPRINT\",\n \"MD5\",\n \"SHA1\",\n \"SHA256\",\n \"SHA512\",\n // https://cloud.google.com/bigquery/docs/reference/standard-sql/hll_functions\n \"HLL_COUNT.INIT\",\n \"HLL_COUNT.MERGE\",\n \"HLL_COUNT.MERGE_PARTIAL\",\n \"HLL_COUNT.EXTRACT\",\n // https://cloud.google.com/bigquery/docs/reference/standard-sql/interval_functions\n \"MAKE_INTERVAL\",\n \"EXTRACT\",\n \"JUSTIFY_DAYS\",\n \"JUSTIFY_HOURS\",\n \"JUSTIFY_INTERVAL\",\n // https://cloud.google.com/bigquery/docs/reference/standard-sql/json_functions\n \"JSON_EXTRACT\",\n \"JSON_QUERY\",\n \"JSON_EXTRACT_SCALAR\",\n \"JSON_VALUE\",\n \"JSON_EXTRACT_ARRAY\",\n \"JSON_QUERY_ARRAY\",\n \"JSON_EXTRACT_STRING_ARRAY\",\n \"JSON_VALUE_ARRAY\",\n \"TO_JSON_STRING\",\n // https://cloud.google.com/bigquery/docs/reference/standard-sql/mathematical_functions\n \"ABS\",\n \"SIGN\",\n \"IS_INF\",\n \"IS_NAN\",\n \"IEEE_DIVIDE\",\n \"RAND\",\n \"SQRT\",\n \"POW\",\n \"POWER\",\n \"EXP\",\n \"LN\",\n \"LOG\",\n \"LOG10\",\n \"GREATEST\",\n \"LEAST\",\n \"DIV\",\n \"SAFE_DIVIDE\",\n \"SAFE_MULTIPLY\",\n \"SAFE_NEGATE\",\n \"SAFE_ADD\",\n \"SAFE_SUBTRACT\",\n \"MOD\",\n \"ROUND\",\n \"TRUNC\",\n \"CEIL\",\n \"CEILING\",\n \"FLOOR\",\n \"COS\",\n \"COSH\",\n \"ACOS\",\n \"ACOSH\",\n \"SIN\",\n \"SINH\",\n \"ASIN\",\n \"ASINH\",\n \"TAN\",\n \"TANH\",\n \"ATAN\",\n \"ATANH\",\n \"ATAN2\",\n \"RANGE_BUCKET\",\n // https://cloud.google.com/bigquery/docs/reference/standard-sql/navigation_functions\n \"FIRST_VALUE\",\n \"LAST_VALUE\",\n \"NTH_VALUE\",\n \"LEAD\",\n \"LAG\",\n \"PERCENTILE_CONT\",\n \"PERCENTILE_DISC\",\n // https://cloud.google.com/bigquery/docs/reference/standard-sql/net_functions\n \"NET.IP_FROM_STRING\",\n \"NET.SAFE_IP_FROM_STRING\",\n \"NET.IP_TO_STRING\",\n \"NET.IP_NET_MASK\",\n \"NET.IP_TRUNC\",\n \"NET.IPV4_FROM_INT64\",\n \"NET.IPV4_TO_INT64\",\n \"NET.HOST\",\n \"NET.PUBLIC_SUFFIX\",\n \"NET.REG_DOMAIN\",\n // https://cloud.google.com/bigquery/docs/reference/standard-sql/numbering_functions\n \"RANK\",\n \"DENSE_RANK\",\n \"PERCENT_RANK\",\n \"CUME_DIST\",\n \"NTILE\",\n \"ROW_NUMBER\",\n // https://cloud.google.com/bigquery/docs/reference/standard-sql/security_functions\n \"SESSION_USER\",\n // https://cloud.google.com/bigquery/docs/reference/standard-sql/statistical_aggregate_functions\n \"CORR\",\n \"COVAR_POP\",\n \"COVAR_SAMP\",\n \"STDDEV_POP\",\n \"STDDEV_SAMP\",\n \"STDDEV\",\n \"VAR_POP\",\n \"VAR_SAMP\",\n \"VARIANCE\",\n // https://cloud.google.com/bigquery/docs/reference/standard-sql/string_functions\n \"ASCII\",\n \"BYTE_LENGTH\",\n \"CHAR_LENGTH\",\n \"CHARACTER_LENGTH\",\n \"CHR\",\n \"CODE_POINTS_TO_BYTES\",\n \"CODE_POINTS_TO_STRING\",\n \"CONCAT\",\n \"CONTAINS_SUBSTR\",\n \"ENDS_WITH\",\n \"FORMAT\",\n \"FROM_BASE32\",\n \"FROM_BASE64\",\n \"FROM_HEX\",\n \"INITCAP\",\n \"INSTR\",\n \"LEFT\",\n \"LENGTH\",\n \"LPAD\",\n \"LOWER\",\n \"LTRIM\",\n \"NORMALIZE\",\n \"NORMALIZE_AND_CASEFOLD\",\n \"OCTET_LENGTH\",\n \"REGEXP_CONTAINS\",\n \"REGEXP_EXTRACT\",\n \"REGEXP_EXTRACT_ALL\",\n \"REGEXP_INSTR\",\n \"REGEXP_REPLACE\",\n \"REGEXP_SUBSTR\",\n \"REPLACE\",\n \"REPEAT\",\n \"REVERSE\",\n \"RIGHT\",\n \"RPAD\",\n \"RTRIM\",\n \"SAFE_CONVERT_BYTES_TO_STRING\",\n \"SOUNDEX\",\n \"SPLIT\",\n \"STARTS_WITH\",\n \"STRPOS\",\n \"SUBSTR\",\n \"SUBSTRING\",\n \"TO_BASE32\",\n \"TO_BASE64\",\n \"TO_CODE_POINTS\",\n \"TO_HEX\",\n \"TRANSLATE\",\n \"TRIM\",\n \"UNICODE\",\n \"UPPER\",\n // https://cloud.google.com/bigquery/docs/reference/standard-sql/time_functions\n \"CURRENT_TIME\",\n \"TIME\",\n \"EXTRACT\",\n \"TIME_ADD\",\n \"TIME_SUB\",\n \"TIME_DIFF\",\n \"TIME_TRUNC\",\n \"FORMAT_TIME\",\n \"PARSE_TIME\",\n // https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions\n \"CURRENT_TIMESTAMP\",\n \"EXTRACT\",\n \"STRING\",\n \"TIMESTAMP\",\n \"TIMESTAMP_ADD\",\n \"TIMESTAMP_SUB\",\n \"TIMESTAMP_DIFF\",\n \"TIMESTAMP_TRUNC\",\n \"FORMAT_TIMESTAMP\",\n \"PARSE_TIMESTAMP\",\n \"TIMESTAMP_SECONDS\",\n \"TIMESTAMP_MILLIS\",\n \"TIMESTAMP_MICROS\",\n \"UNIX_SECONDS\",\n \"UNIX_MILLIS\",\n \"UNIX_MICROS\",\n // https://cloud.google.com/bigquery/docs/reference/standard-sql/uuid_functions\n \"GENERATE_UUID\",\n // https://cloud.google.com/bigquery/docs/reference/standard-sql/conditional_expressions\n \"COALESCE\",\n \"IF\",\n \"IFNULL\",\n \"NULLIF\",\n // https://cloud.google.com/bigquery/docs/reference/legacy-sql\n // legacyAggregate\n \"AVG\",\n \"BIT_AND\",\n \"BIT_OR\",\n \"BIT_XOR\",\n \"CORR\",\n \"COUNT\",\n \"COVAR_POP\",\n \"COVAR_SAMP\",\n \"EXACT_COUNT_DISTINCT\",\n \"FIRST\",\n \"GROUP_CONCAT\",\n \"GROUP_CONCAT_UNQUOTED\",\n \"LAST\",\n \"MAX\",\n \"MIN\",\n \"NEST\",\n \"NTH\",\n \"QUANTILES\",\n \"STDDEV\",\n \"STDDEV_POP\",\n \"STDDEV_SAMP\",\n \"SUM\",\n \"TOP\",\n \"UNIQUE\",\n \"VARIANCE\",\n \"VAR_POP\",\n \"VAR_SAMP\",\n // legacyBitwise\n \"BIT_COUNT\",\n // legacyCasting\n \"BOOLEAN\",\n \"BYTES\",\n \"CAST\",\n \"FLOAT\",\n \"HEX_STRING\",\n \"INTEGER\",\n \"STRING\",\n // legacyComparison\n // expr 'IN',\n \"COALESCE\",\n \"GREATEST\",\n \"IFNULL\",\n \"IS_INF\",\n \"IS_NAN\",\n \"IS_EXPLICITLY_DEFINED\",\n \"LEAST\",\n \"NVL\",\n // legacyDatetime\n \"CURRENT_DATE\",\n \"CURRENT_TIME\",\n \"CURRENT_TIMESTAMP\",\n \"DATE\",\n \"DATE_ADD\",\n \"DATEDIFF\",\n \"DAY\",\n \"DAYOFWEEK\",\n \"DAYOFYEAR\",\n \"FORMAT_UTC_USEC\",\n \"HOUR\",\n \"MINUTE\",\n \"MONTH\",\n \"MSEC_TO_TIMESTAMP\",\n \"NOW\",\n \"PARSE_UTC_USEC\",\n \"QUARTER\",\n \"SEC_TO_TIMESTAMP\",\n \"SECOND\",\n \"STRFTIME_UTC_USEC\",\n \"TIME\",\n \"TIMESTAMP\",\n \"TIMESTAMP_TO_MSEC\",\n \"TIMESTAMP_TO_SEC\",\n \"TIMESTAMP_TO_USEC\",\n \"USEC_TO_TIMESTAMP\",\n \"UTC_USEC_TO_DAY\",\n \"UTC_USEC_TO_HOUR\",\n \"UTC_USEC_TO_MONTH\",\n \"UTC_USEC_TO_WEEK\",\n \"UTC_USEC_TO_YEAR\",\n \"WEEK\",\n \"YEAR\",\n // legacyIp\n \"FORMAT_IP\",\n \"PARSE_IP\",\n \"FORMAT_PACKED_IP\",\n \"PARSE_PACKED_IP\",\n // legacyJson\n \"JSON_EXTRACT\",\n \"JSON_EXTRACT_SCALAR\",\n // legacyMath\n \"ABS\",\n \"ACOS\",\n \"ACOSH\",\n \"ASIN\",\n \"ASINH\",\n \"ATAN\",\n \"ATANH\",\n \"ATAN2\",\n \"CEIL\",\n \"COS\",\n \"COSH\",\n \"DEGREES\",\n \"EXP\",\n \"FLOOR\",\n \"LN\",\n \"LOG\",\n \"LOG2\",\n \"LOG10\",\n \"PI\",\n \"POW\",\n \"RADIANS\",\n \"RAND\",\n \"ROUND\",\n \"SIN\",\n \"SINH\",\n \"SQRT\",\n \"TAN\",\n \"TANH\",\n // legacyRegex\n \"REGEXP_MATCH\",\n \"REGEXP_EXTRACT\",\n \"REGEXP_REPLACE\",\n // legacyString\n \"CONCAT\",\n // expr CONTAINS 'str'\n \"INSTR\",\n \"LEFT\",\n \"LENGTH\",\n \"LOWER\",\n \"LPAD\",\n \"LTRIM\",\n \"REPLACE\",\n \"RIGHT\",\n \"RPAD\",\n \"RTRIM\",\n \"SPLIT\",\n \"SUBSTR\",\n \"UPPER\",\n // legacyTableWildcard\n \"TABLE_DATE_RANGE\",\n \"TABLE_DATE_RANGE_STRICT\",\n \"TABLE_QUERY\",\n // legacyUrl\n \"HOST\",\n \"DOMAIN\",\n \"TLD\",\n // legacyWindow\n \"AVG\",\n \"COUNT\",\n \"MAX\",\n \"MIN\",\n \"STDDEV\",\n \"SUM\",\n \"CUME_DIST\",\n \"DENSE_RANK\",\n \"FIRST_VALUE\",\n \"LAG\",\n \"LAST_VALUE\",\n \"LEAD\",\n \"NTH_VALUE\",\n \"NTILE\",\n \"PERCENT_RANK\",\n \"PERCENTILE_CONT\",\n \"PERCENTILE_DISC\",\n \"RANK\",\n \"RATIO_TO_REPORT\",\n \"ROW_NUMBER\",\n // legacyMisc\n \"CURRENT_USER\",\n \"EVERY\",\n \"FROM_BASE64\",\n \"HASH\",\n \"FARM_FINGERPRINT\",\n \"IF\",\n \"POSITION\",\n \"SHA1\",\n \"SOME\",\n \"TO_BASE64\",\n // other\n \"BQ.JOBS.CANCEL\",\n \"BQ.REFRESH_MATERIALIZED_VIEW\",\n // ddl\n \"OPTIONS\",\n // pivot\n \"PIVOT\",\n \"UNPIVOT\"\n];\n\n// src/languages/bigquery/bigquery.keywords.ts\nvar keywords = [\n // https://cloud.google.com/bigquery/docs/reference/standard-sql/lexical#reserved_keywords\n \"ALL\",\n \"AND\",\n \"ANY\",\n \"AS\",\n \"ASC\",\n \"ASSERT_ROWS_MODIFIED\",\n \"AT\",\n \"BETWEEN\",\n \"BY\",\n \"CASE\",\n \"CAST\",\n \"COLLATE\",\n \"CONTAINS\",\n \"CREATE\",\n \"CROSS\",\n \"CUBE\",\n \"CURRENT\",\n \"DEFAULT\",\n \"DEFINE\",\n \"DESC\",\n \"DISTINCT\",\n \"ELSE\",\n \"END\",\n \"ENUM\",\n \"ESCAPE\",\n \"EXCEPT\",\n \"EXCLUDE\",\n \"EXISTS\",\n \"EXTRACT\",\n \"FALSE\",\n \"FETCH\",\n \"FOLLOWING\",\n \"FOR\",\n \"FROM\",\n \"FULL\",\n \"GROUP\",\n \"GROUPING\",\n \"GROUPS\",\n \"HASH\",\n \"HAVING\",\n \"IF\",\n \"IGNORE\",\n \"IN\",\n \"INNER\",\n \"INTERSECT\",\n \"INTO\",\n \"IS\",\n \"JOIN\",\n \"LATERAL\",\n \"LEFT\",\n \"LIMIT\",\n \"LOOKUP\",\n \"MERGE\",\n \"NATURAL\",\n \"NEW\",\n \"NO\",\n \"NOT\",\n \"NULL\",\n \"NULLS\",\n \"OF\",\n \"ON\",\n \"OR\",\n \"ORDER\",\n \"OUTER\",\n \"OVER\",\n \"PARTITION\",\n \"PRECEDING\",\n \"PROTO\",\n \"RANGE\",\n \"RECURSIVE\",\n \"RESPECT\",\n \"RIGHT\",\n \"ROLLUP\",\n \"ROWS\",\n \"SELECT\",\n \"SET\",\n \"SOME\",\n \"TABLE\",\n \"TABLESAMPLE\",\n \"THEN\",\n \"TO\",\n \"TREAT\",\n \"TRUE\",\n \"UNBOUNDED\",\n \"UNION\",\n \"UNNEST\",\n \"USING\",\n \"WHEN\",\n \"WHERE\",\n \"WINDOW\",\n \"WITH\",\n \"WITHIN\",\n // misc\n \"SAFE\",\n // https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language\n \"LIKE\",\n // CREATE TABLE LIKE\n \"COPY\",\n // CREATE TABLE COPY\n \"CLONE\",\n // CREATE TABLE CLONE\n \"IN\",\n \"OUT\",\n \"INOUT\",\n \"RETURNS\",\n \"LANGUAGE\",\n \"CASCADE\",\n \"RESTRICT\",\n \"DETERMINISTIC\"\n];\nvar dataTypes = [\n // https://cloud.google.com/bigquery/docs/reference/standard-sql/data-types\n \"ARRAY\",\n // parametric, ARRAY\n \"BOOL\",\n \"BYTES\",\n // parameterised, BYTES(Length)\n \"DATE\",\n \"DATETIME\",\n \"GEOGRAPHY\",\n \"INTERVAL\",\n \"INT64\",\n \"INT\",\n \"SMALLINT\",\n \"INTEGER\",\n \"BIGINT\",\n \"TINYINT\",\n \"BYTEINT\",\n \"NUMERIC\",\n // parameterised, NUMERIC(Precision[, Scale])\n \"DECIMAL\",\n // parameterised, DECIMAL(Precision[, Scale])\n \"BIGNUMERIC\",\n // parameterised, BIGNUMERIC(Precision[, Scale])\n \"BIGDECIMAL\",\n // parameterised, BIGDECIMAL(Precision[, Scale])\n \"FLOAT64\",\n \"STRING\",\n // parameterised, STRING(Length)\n \"STRUCT\",\n // parametric, STRUCT\n \"TIME\",\n \"TIMEZONE\"\n];\n\n// src/languages/bigquery/bigquery.formatter.ts\nvar reservedSelect = expandPhrases([\"SELECT [ALL | DISTINCT] [AS STRUCT | AS VALUE]\"]);\nvar reservedClauses = expandPhrases([\n // Queries: https://cloud.google.com/bigquery/docs/reference/standard-sql/query-syntax\n \"WITH [RECURSIVE]\",\n \"FROM\",\n \"WHERE\",\n \"GROUP BY\",\n \"HAVING\",\n \"QUALIFY\",\n \"WINDOW\",\n \"PARTITION BY\",\n \"ORDER BY\",\n \"LIMIT\",\n \"OFFSET\",\n \"OMIT RECORD IF\",\n // legacy\n // Data modification: https://cloud.google.com/bigquery/docs/reference/standard-sql/dml-syntax\n // - insert:\n \"INSERT [INTO]\",\n \"VALUES\",\n // - update:\n \"SET\",\n // - merge:\n \"MERGE [INTO]\",\n \"WHEN [NOT] MATCHED [BY SOURCE | BY TARGET] [THEN]\",\n \"UPDATE SET\",\n \"CLUSTER BY\",\n \"FOR SYSTEM_TIME AS OF\",\n // CREATE SNAPSHOT TABLE\n \"WITH CONNECTION\",\n \"WITH PARTITION COLUMNS\",\n \"REMOTE WITH CONNECTION\"\n]);\nvar onelineClauses = expandPhrases([\n // - create:\n // https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language\n \"CREATE [OR REPLACE] [TEMP|TEMPORARY|SNAPSHOT|EXTERNAL] TABLE [IF NOT EXISTS]\",\n \"CREATE [OR REPLACE] [MATERIALIZED] VIEW [IF NOT EXISTS]\",\n // - update:\n \"UPDATE\",\n // - delete:\n \"DELETE [FROM]\",\n // - drop table:\n \"DROP [SNAPSHOT | EXTERNAL] TABLE [IF EXISTS]\",\n // - alter table:\n \"ALTER TABLE [IF EXISTS]\",\n \"ADD COLUMN [IF NOT EXISTS]\",\n \"DROP COLUMN [IF EXISTS]\",\n \"RENAME TO\",\n \"ALTER COLUMN [IF EXISTS]\",\n \"SET DEFAULT COLLATE\",\n // for alter column\n \"SET OPTIONS\",\n // for alter column\n \"DROP NOT NULL\",\n // for alter column\n \"SET DATA TYPE\",\n // for alter column\n // - alter schema\n \"ALTER SCHEMA [IF EXISTS]\",\n // - alter view\n \"ALTER [MATERIALIZED] VIEW [IF EXISTS]\",\n // - alter bi_capacity\n \"ALTER BI_CAPACITY\",\n // - truncate:\n \"TRUNCATE TABLE\",\n // - create schema\n \"CREATE SCHEMA [IF NOT EXISTS]\",\n \"DEFAULT COLLATE\",\n // stored procedures\n \"CREATE [OR REPLACE] [TEMP|TEMPORARY|TABLE] FUNCTION [IF NOT EXISTS]\",\n \"CREATE [OR REPLACE] PROCEDURE [IF NOT EXISTS]\",\n // row access policy\n \"CREATE [OR REPLACE] ROW ACCESS POLICY [IF NOT EXISTS]\",\n \"GRANT TO\",\n \"FILTER USING\",\n // capacity\n \"CREATE CAPACITY\",\n \"AS JSON\",\n // reservation\n \"CREATE RESERVATION\",\n // assignment\n \"CREATE ASSIGNMENT\",\n // search index\n \"CREATE SEARCH INDEX [IF NOT EXISTS]\",\n // drop\n \"DROP SCHEMA [IF EXISTS]\",\n \"DROP [MATERIALIZED] VIEW [IF EXISTS]\",\n \"DROP [TABLE] FUNCTION [IF EXISTS]\",\n \"DROP PROCEDURE [IF EXISTS]\",\n \"DROP ROW ACCESS POLICY\",\n \"DROP ALL ROW ACCESS POLICIES\",\n \"DROP CAPACITY [IF EXISTS]\",\n \"DROP RESERVATION [IF EXISTS]\",\n \"DROP ASSIGNMENT [IF EXISTS]\",\n \"DROP SEARCH INDEX [IF EXISTS]\",\n \"DROP [IF EXISTS]\",\n // DCL, https://cloud.google.com/bigquery/docs/reference/standard-sql/data-control-language\n \"GRANT\",\n \"REVOKE\",\n // Script, https://cloud.google.com/bigquery/docs/reference/standard-sql/scripting\n \"DECLARE\",\n \"EXECUTE IMMEDIATE\",\n \"LOOP\",\n \"END LOOP\",\n \"REPEAT\",\n \"END REPEAT\",\n \"WHILE\",\n \"END WHILE\",\n \"BREAK\",\n \"LEAVE\",\n \"CONTINUE\",\n \"ITERATE\",\n \"FOR\",\n \"END FOR\",\n \"BEGIN\",\n \"BEGIN TRANSACTION\",\n \"COMMIT TRANSACTION\",\n \"ROLLBACK TRANSACTION\",\n \"RAISE\",\n \"RETURN\",\n \"CALL\",\n // Debug, https://cloud.google.com/bigquery/docs/reference/standard-sql/debugging-statements\n \"ASSERT\",\n // Other, https://cloud.google.com/bigquery/docs/reference/standard-sql/other-statements\n \"EXPORT DATA\"\n]);\nvar reservedSetOperations = expandPhrases([\n \"UNION {ALL | DISTINCT}\",\n \"EXCEPT DISTINCT\",\n \"INTERSECT DISTINCT\"\n]);\nvar reservedJoins = expandPhrases([\n \"JOIN\",\n \"{LEFT | RIGHT | FULL} [OUTER] JOIN\",\n \"{INNER | CROSS} JOIN\"\n]);\nvar reservedPhrases = expandPhrases([\n // https://cloud.google.com/bigquery/docs/reference/standard-sql/query-syntax#tablesample_operator\n \"TABLESAMPLE SYSTEM\",\n // From DDL: https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language\n \"ANY TYPE\",\n \"ALL COLUMNS\",\n \"NOT DETERMINISTIC\",\n // inside window definitions\n \"{ROWS | RANGE} BETWEEN\",\n // comparison operator\n \"IS [NOT] DISTINCT FROM\"\n]);\nvar bigquery = {\n name: \"bigquery\",\n tokenizerOptions: {\n reservedSelect,\n reservedClauses: [...reservedClauses, ...onelineClauses],\n reservedSetOperations,\n reservedJoins,\n reservedPhrases,\n reservedKeywords: keywords,\n reservedDataTypes: dataTypes,\n reservedFunctionNames: functions,\n extraParens: [\"[]\"],\n stringTypes: [\n // The triple-quoted strings are listed first, so they get matched first.\n // Otherwise the first two quotes of \"\"\" will get matched as an empty \"\" string.\n { quote: '\"\"\"..\"\"\"', prefixes: [\"R\", \"B\", \"RB\", \"BR\"] },\n { quote: \"'''..'''\", prefixes: [\"R\", \"B\", \"RB\", \"BR\"] },\n '\"\"-bs',\n \"''-bs\",\n { quote: '\"\"-raw', prefixes: [\"R\", \"B\", \"RB\", \"BR\"], requirePrefix: true },\n { quote: \"''-raw\", prefixes: [\"R\", \"B\", \"RB\", \"BR\"], requirePrefix: true }\n ],\n identTypes: [\"``\"],\n identChars: { dashes: true },\n paramTypes: { positional: true, named: [\"@\"], quoted: [\"@\"] },\n variableTypes: [{ regex: String.raw`@@\\w+` }],\n lineCommentTypes: [\"--\", \"#\"],\n operators: [\"&\", \"|\", \"^\", \"~\", \">>\", \"<<\", \"||\", \"=>\"],\n postProcess\n },\n formatOptions: {\n onelineClauses\n }\n};\nfunction postProcess(tokens) {\n return detectArraySubscripts(combineParameterizedTypes(tokens));\n}\nfunction detectArraySubscripts(tokens) {\n let prevToken = EOF_TOKEN;\n return tokens.map((token) => {\n if (token.text === \"OFFSET\" && prevToken.text === \"[\") {\n prevToken = token;\n return __spreadProps(__spreadValues({}, token), { type: \"RESERVED_FUNCTION_NAME\" /* RESERVED_FUNCTION_NAME */ });\n } else {\n prevToken = token;\n return token;\n }\n });\n}\nfunction combineParameterizedTypes(tokens) {\n var _a;\n const processed = [];\n for (let i = 0; i < tokens.length; i++) {\n const token = tokens[i];\n if ((isToken.ARRAY(token) || isToken.STRUCT(token)) && ((_a = tokens[i + 1]) == null ? void 0 : _a.text) === \"<\") {\n const endIndex = findClosingAngleBracketIndex(tokens, i + 1);\n const typeDefTokens = tokens.slice(i, endIndex + 1);\n processed.push({\n type: \"IDENTIFIER\" /* IDENTIFIER */,\n raw: typeDefTokens.map(formatTypeDefToken(\"raw\")).join(\"\"),\n text: typeDefTokens.map(formatTypeDefToken(\"text\")).join(\"\"),\n start: token.start\n });\n i = endIndex;\n } else {\n processed.push(token);\n }\n }\n return processed;\n}\nvar formatTypeDefToken = (key) => (token) => {\n if (token.type === \"IDENTIFIER\" /* IDENTIFIER */ || token.type === \"COMMA\" /* COMMA */) {\n return token[key] + \" \";\n } else {\n return token[key];\n }\n};\nfunction findClosingAngleBracketIndex(tokens, startIndex) {\n let level = 0;\n for (let i = startIndex; i < tokens.length; i++) {\n const token = tokens[i];\n if (token.text === \"<\") {\n level++;\n } else if (token.text === \">\") {\n level--;\n } else if (token.text === \">>\") {\n level -= 2;\n }\n if (level === 0) {\n return i;\n }\n }\n return tokens.length - 1;\n}\n\n// src/languages/db2/db2.functions.ts\nvar functions2 = [\n // https://www.ibm.com/docs/en/db2/11.5?topic=bif-aggregate-functions\n \"ARRAY_AGG\",\n \"AVG\",\n \"CORRELATION\",\n \"COUNT\",\n \"COUNT_BIG\",\n \"COVARIANCE\",\n \"COVARIANCE_SAMP\",\n \"CUME_DIST\",\n \"GROUPING\",\n \"LISTAGG\",\n \"MAX\",\n \"MEDIAN\",\n \"MIN\",\n \"PERCENTILE_CONT\",\n \"PERCENTILE_DISC\",\n \"PERCENT_RANK\",\n \"REGR_AVGX\",\n \"REGR_AVGY\",\n \"REGR_COUNT\",\n \"REGR_INTERCEPT\",\n \"REGR_ICPT\",\n \"REGR_R2\",\n \"REGR_SLOPE\",\n \"REGR_SXX\",\n \"REGR_SXY\",\n \"REGR_SYY\",\n \"STDDEV\",\n \"STDDEV_SAMP\",\n \"SUM\",\n \"VARIANCE\",\n \"VARIANCE_SAMP\",\n \"XMLAGG\",\n \"XMLGROUP\",\n // https://www.ibm.com/docs/en/db2/11.5?topic=bif-scalar-functions\n \"ABS\",\n \"ABSVAL\",\n \"ACOS\",\n \"ADD_DAYS\",\n \"ADD_HOURS\",\n \"ADD_MINUTES\",\n \"ADD_MONTHS\",\n \"ADD_SECONDS\",\n \"ADD_YEARS\",\n \"AGE\",\n \"ARRAY_DELETE\",\n \"ARRAY_FIRST\",\n \"ARRAY_LAST\",\n \"ARRAY_NEXT\",\n \"ARRAY_PRIOR\",\n \"ASCII\",\n \"ASCII_STR\",\n \"ASIN\",\n \"ATAN\",\n \"ATAN2\",\n \"ATANH\",\n \"BITAND\",\n \"BITANDNOT\",\n \"BITOR\",\n \"BITXOR\",\n \"BITNOT\",\n \"BPCHAR\",\n \"BSON_TO_JSON\",\n \"BTRIM\",\n \"CARDINALITY\",\n \"CEILING\",\n \"CEIL\",\n \"CHARACTER_LENGTH\",\n \"CHR\",\n \"COALESCE\",\n \"COLLATION_KEY\",\n \"COLLATION_KEY_BIT\",\n \"COMPARE_DECFLOAT\",\n \"CONCAT\",\n \"COS\",\n \"COSH\",\n \"COT\",\n \"CURSOR_ROWCOUNT\",\n \"DATAPARTITIONNUM\",\n \"DATE_PART\",\n \"DATE_TRUNC\",\n \"DAY\",\n \"DAYNAME\",\n \"DAYOFMONTH\",\n \"DAYOFWEEK\",\n \"DAYOFWEEK_ISO\",\n \"DAYOFYEAR\",\n \"DAYS\",\n \"DAYS_BETWEEN\",\n \"DAYS_TO_END_OF_MONTH\",\n \"DBPARTITIONNUM\",\n \"DECFLOAT\",\n \"DECFLOAT_FORMAT\",\n \"DECODE\",\n \"DECRYPT_BIN\",\n \"DECRYPT_CHAR\",\n \"DEGREES\",\n \"DEREF\",\n \"DIFFERENCE\",\n \"DIGITS\",\n \"DOUBLE_PRECISION\",\n \"EMPTY_BLOB\",\n \"EMPTY_CLOB\",\n \"EMPTY_DBCLOB\",\n \"EMPTY_NCLOB\",\n \"ENCRYPT\",\n \"EVENT_MON_STATE\",\n \"EXP\",\n \"EXTRACT\",\n \"FIRST_DAY\",\n \"FLOOR\",\n \"FROM_UTC_TIMESTAMP\",\n \"GENERATE_UNIQUE\",\n \"GETHINT\",\n \"GREATEST\",\n \"HASH\",\n \"HASH4\",\n \"HASH8\",\n \"HASHEDVALUE\",\n \"HEX\",\n \"HEXTORAW\",\n \"HOUR\",\n \"HOURS_BETWEEN\",\n \"IDENTITY_VAL_LOCAL\",\n \"IFNULL\",\n \"INITCAP\",\n \"INSERT\",\n \"INSTR\",\n \"INSTR2\",\n \"INSTR4\",\n \"INSTRB\",\n \"INTNAND\",\n \"INTNOR\",\n \"INTNXOR\",\n \"INTNNOT\",\n \"ISNULL\",\n \"JSON_ARRAY\",\n \"JSON_OBJECT\",\n \"JSON_QUERY\",\n \"JSON_TO_BSON\",\n \"JSON_VALUE\",\n \"JULIAN_DAY\",\n \"LAST_DAY\",\n \"LCASE\",\n \"LEAST\",\n \"LEFT\",\n \"LENGTH\",\n \"LENGTH2\",\n \"LENGTH4\",\n \"LENGTHB\",\n \"LN\",\n \"LOCATE\",\n \"LOCATE_IN_STRING\",\n \"LOG10\",\n \"LONG_VARCHAR\",\n \"LONG_VARGRAPHIC\",\n \"LOWER\",\n \"LPAD\",\n \"LTRIM\",\n \"MAX\",\n \"MAX_CARDINALITY\",\n \"MICROSECOND\",\n \"MIDNIGHT_SECONDS\",\n \"MIN\",\n \"MINUTE\",\n \"MINUTES_BETWEEN\",\n \"MOD\",\n \"MONTH\",\n \"MONTHNAME\",\n \"MONTHS_BETWEEN\",\n \"MULTIPLY_ALT\",\n \"NEXT_DAY\",\n \"NEXT_MONTH\",\n \"NEXT_QUARTER\",\n \"NEXT_WEEK\",\n \"NEXT_YEAR\",\n \"NORMALIZE_DECFLOAT\",\n \"NOW\",\n \"NULLIF\",\n \"NVL\",\n \"NVL2\",\n \"OCTET_LENGTH\",\n \"OVERLAY\",\n \"PARAMETER\",\n \"POSITION\",\n \"POSSTR\",\n \"POW\",\n \"POWER\",\n \"QUANTIZE\",\n \"QUARTER\",\n \"QUOTE_IDENT\",\n \"QUOTE_LITERAL\",\n \"RADIANS\",\n \"RAISE_ERROR\",\n \"RAND\",\n \"RANDOM\",\n \"RAWTOHEX\",\n \"REC2XML\",\n \"REGEXP_COUNT\",\n \"REGEXP_EXTRACT\",\n \"REGEXP_INSTR\",\n \"REGEXP_LIKE\",\n \"REGEXP_MATCH_COUNT\",\n \"REGEXP_REPLACE\",\n \"REGEXP_SUBSTR\",\n \"REPEAT\",\n \"REPLACE\",\n \"RID\",\n \"RID_BIT\",\n \"RIGHT\",\n \"ROUND\",\n \"ROUND_TIMESTAMP\",\n \"RPAD\",\n \"RTRIM\",\n \"SECLABEL\",\n \"SECLABEL_BY_NAME\",\n \"SECLABEL_TO_CHAR\",\n \"SECOND\",\n \"SECONDS_BETWEEN\",\n \"SIGN\",\n \"SIN\",\n \"SINH\",\n \"SOUNDEX\",\n \"SPACE\",\n \"SQRT\",\n \"STRIP\",\n \"STRLEFT\",\n \"STRPOS\",\n \"STRRIGHT\",\n \"SUBSTR\",\n \"SUBSTR2\",\n \"SUBSTR4\",\n \"SUBSTRB\",\n \"SUBSTRING\",\n \"TABLE_NAME\",\n \"TABLE_SCHEMA\",\n \"TAN\",\n \"TANH\",\n \"THIS_MONTH\",\n \"THIS_QUARTER\",\n \"THIS_WEEK\",\n \"THIS_YEAR\",\n \"TIMESTAMP_FORMAT\",\n \"TIMESTAMP_ISO\",\n \"TIMESTAMPDIFF\",\n \"TIMEZONE\",\n \"TO_CHAR\",\n \"TO_CLOB\",\n \"TO_DATE\",\n \"TO_HEX\",\n \"TO_MULTI_BYTE\",\n \"TO_NCHAR\",\n \"TO_NCLOB\",\n \"TO_NUMBER\",\n \"TO_SINGLE_BYTE\",\n \"TO_TIMESTAMP\",\n \"TO_UTC_TIMESTAMP\",\n \"TOTALORDER\",\n \"TRANSLATE\",\n \"TRIM\",\n \"TRIM_ARRAY\",\n \"TRUNC_TIMESTAMP\",\n \"TRUNCATE\",\n \"TRUNC\",\n \"TYPE_ID\",\n \"TYPE_NAME\",\n \"TYPE_SCHEMA\",\n \"UCASE\",\n \"UNICODE_STR\",\n \"UPPER\",\n \"VALUE\",\n \"VARCHAR_BIT_FORMAT\",\n \"VARCHAR_FORMAT\",\n \"VARCHAR_FORMAT_BIT\",\n \"VERIFY_GROUP_FOR_USER\",\n \"VERIFY_ROLE_FOR_USER\",\n \"VERIFY_TRUSTED_CONTEXT_ROLE_FOR_USER\",\n \"WEEK\",\n \"WEEK_ISO\",\n \"WEEKS_BETWEEN\",\n \"WIDTH_BUCKET\",\n \"XMLATTRIBUTES\",\n \"XMLCOMMENT\",\n \"XMLCONCAT\",\n \"XMLDOCUMENT\",\n \"XMLELEMENT\",\n \"XMLFOREST\",\n \"XMLNAMESPACES\",\n \"XMLPARSE\",\n \"XMLPI\",\n \"XMLQUERY\",\n \"XMLROW\",\n \"XMLSERIALIZE\",\n \"XMLTEXT\",\n \"XMLVALIDATE\",\n \"XMLXSROBJECTID\",\n \"XSLTRANSFORM\",\n \"YEAR\",\n \"YEARS_BETWEEN\",\n \"YMD_BETWEEN\",\n // https://www.ibm.com/docs/en/db2/11.5?topic=bif-table-functions\n \"BASE_TABLE\",\n \"JSON_TABLE\",\n \"UNNEST\",\n \"XMLTABLE\",\n // https://www.ibm.com/docs/en/db2/11.5?topic=expressions-olap-specification\n // Additional function names not already present in the aggregate functions list\n \"RANK\",\n \"DENSE_RANK\",\n \"NTILE\",\n \"LAG\",\n \"LEAD\",\n \"ROW_NUMBER\",\n \"FIRST_VALUE\",\n \"LAST_VALUE\",\n \"NTH_VALUE\",\n \"RATIO_TO_REPORT\",\n // Type casting\n \"CAST\"\n];\n\n// src/languages/db2/db2.keywords.ts\nvar keywords2 = [\n // https://www.ibm.com/docs/en/db2/11.5?topic=sql-reserved-schema-names-reserved-words\n \"ACTIVATE\",\n \"ADD\",\n \"AFTER\",\n \"ALIAS\",\n \"ALL\",\n \"ALLOCATE\",\n \"ALLOW\",\n \"ALTER\",\n \"AND\",\n \"ANY\",\n \"AS\",\n \"ASENSITIVE\",\n \"ASSOCIATE\",\n \"ASUTIME\",\n \"AT\",\n \"ATTRIBUTES\",\n \"AUDIT\",\n \"AUTHORIZATION\",\n \"AUX\",\n \"AUXILIARY\",\n \"BEFORE\",\n \"BEGIN\",\n \"BETWEEN\",\n \"BINARY\",\n \"BUFFERPOOL\",\n \"BY\",\n \"CACHE\",\n \"CALL\",\n \"CALLED\",\n \"CAPTURE\",\n \"CARDINALITY\",\n \"CASCADED\",\n \"CASE\",\n \"CAST\",\n \"CHECK\",\n \"CLONE\",\n \"CLOSE\",\n \"CLUSTER\",\n \"COLLECTION\",\n \"COLLID\",\n \"COLUMN\",\n \"COMMENT\",\n \"COMMIT\",\n \"CONCAT\",\n \"CONDITION\",\n \"CONNECT\",\n \"CONNECTION\",\n \"CONSTRAINT\",\n \"CONTAINS\",\n \"CONTINUE\",\n \"COUNT\",\n \"COUNT_BIG\",\n \"CREATE\",\n \"CROSS\",\n \"CURRENT\",\n \"CURRENT_DATE\",\n \"CURRENT_LC_CTYPE\",\n \"CURRENT_PATH\",\n \"CURRENT_SCHEMA\",\n \"CURRENT_SERVER\",\n \"CURRENT_TIME\",\n \"CURRENT_TIMESTAMP\",\n \"CURRENT_TIMEZONE\",\n \"CURRENT_USER\",\n \"CURSOR\",\n \"CYCLE\",\n \"DATA\",\n \"DATABASE\",\n \"DATAPARTITIONNAME\",\n \"DATAPARTITIONNUM\",\n \"DAY\",\n \"DAYS\",\n \"DB2GENERAL\",\n \"DB2GENRL\",\n \"DB2SQL\",\n \"DBINFO\",\n \"DBPARTITIONNAME\",\n \"DBPARTITIONNUM\",\n \"DEALLOCATE\",\n \"DECLARE\",\n \"DEFAULT\",\n \"DEFAULTS\",\n \"DEFINITION\",\n \"DELETE\",\n \"DENSERANK\",\n \"DENSE_RANK\",\n \"DESCRIBE\",\n \"DESCRIPTOR\",\n \"DETERMINISTIC\",\n \"DIAGNOSTICS\",\n \"DISABLE\",\n \"DISALLOW\",\n \"DISCONNECT\",\n \"DISTINCT\",\n \"DO\",\n \"DOCUMENT\",\n \"DROP\",\n \"DSSIZE\",\n \"DYNAMIC\",\n \"EACH\",\n \"EDITPROC\",\n \"ELSE\",\n \"ELSEIF\",\n \"ENABLE\",\n \"ENCODING\",\n \"ENCRYPTION\",\n \"END\",\n \"END-EXEC\",\n \"ENDING\",\n \"ERASE\",\n \"ESCAPE\",\n \"EVERY\",\n \"EXCEPT\",\n \"EXCEPTION\",\n \"EXCLUDING\",\n \"EXCLUSIVE\",\n \"EXECUTE\",\n \"EXISTS\",\n \"EXIT\",\n \"EXPLAIN\",\n \"EXTENDED\",\n \"EXTERNAL\",\n \"EXTRACT\",\n \"FENCED\",\n \"FETCH\",\n \"FIELDPROC\",\n \"FILE\",\n \"FINAL\",\n \"FIRST1\",\n \"FOR\",\n \"FOREIGN\",\n \"FREE\",\n \"FROM\",\n \"FULL\",\n \"FUNCTION\",\n \"GENERAL\",\n \"GENERATED\",\n \"GET\",\n \"GLOBAL\",\n \"GO\",\n \"GOTO\",\n \"GRANT\",\n \"GRAPHIC\",\n \"GROUP\",\n \"HANDLER\",\n \"HASH\",\n \"HASHED_VALUE\",\n \"HAVING\",\n \"HINT\",\n \"HOLD\",\n \"HOUR\",\n \"HOURS\",\n \"IDENTITY\",\n \"IF\",\n \"IMMEDIATE\",\n \"IMPORT\",\n \"IN\",\n \"INCLUDING\",\n \"INCLUSIVE\",\n \"INCREMENT\",\n \"INDEX\",\n \"INDICATOR\",\n \"INDICATORS\",\n \"INF\",\n \"INFINITY\",\n \"INHERIT\",\n \"INNER\",\n \"INOUT\",\n \"INSENSITIVE\",\n \"INSERT\",\n \"INTEGRITY\",\n \"INTERSECT\",\n \"INTO\",\n \"IS\",\n \"ISNULL\",\n \"ISOBID\",\n \"ISOLATION\",\n \"ITERATE\",\n \"JAR\",\n \"JAVA\",\n \"JOIN\",\n \"KEEP\",\n \"KEY\",\n \"LABEL\",\n \"LANGUAGE\",\n \"LAST3\",\n \"LATERAL\",\n \"LC_CTYPE\",\n \"LEAVE\",\n \"LEFT\",\n \"LIKE\",\n \"LIMIT\",\n \"LINKTYPE\",\n \"LOCAL\",\n \"LOCALDATE\",\n \"LOCALE\",\n \"LOCALTIME\",\n \"LOCALTIMESTAMP\",\n \"LOCATOR\",\n \"LOCATORS\",\n \"LOCK\",\n \"LOCKMAX\",\n \"LOCKSIZE\",\n \"LOOP\",\n \"MAINTAINED\",\n \"MATERIALIZED\",\n \"MAXVALUE\",\n \"MICROSECOND\",\n \"MICROSECONDS\",\n \"MINUTE\",\n \"MINUTES\",\n \"MINVALUE\",\n \"MODE\",\n \"MODIFIES\",\n \"MONTH\",\n \"MONTHS\",\n \"NAN\",\n \"NEW\",\n \"NEW_TABLE\",\n \"NEXTVAL\",\n \"NO\",\n \"NOCACHE\",\n \"NOCYCLE\",\n \"NODENAME\",\n \"NODENUMBER\",\n \"NOMAXVALUE\",\n \"NOMINVALUE\",\n \"NONE\",\n \"NOORDER\",\n \"NORMALIZED\",\n \"NOT2\",\n \"NOTNULL\",\n \"NULL\",\n \"NULLS\",\n \"NUMPARTS\",\n \"OBID\",\n \"OF\",\n \"OFF\",\n \"OFFSET\",\n \"OLD\",\n \"OLD_TABLE\",\n \"ON\",\n \"OPEN\",\n \"OPTIMIZATION\",\n \"OPTIMIZE\",\n \"OPTION\",\n \"OR\",\n \"ORDER\",\n \"OUT\",\n \"OUTER\",\n \"OVER\",\n \"OVERRIDING\",\n \"PACKAGE\",\n \"PADDED\",\n \"PAGESIZE\",\n \"PARAMETER\",\n \"PART\",\n \"PARTITION\",\n \"PARTITIONED\",\n \"PARTITIONING\",\n \"PARTITIONS\",\n \"PASSWORD\",\n \"PATH\",\n \"PERCENT\",\n \"PIECESIZE\",\n \"PLAN\",\n \"POSITION\",\n \"PRECISION\",\n \"PREPARE\",\n \"PREVVAL\",\n \"PRIMARY\",\n \"PRIQTY\",\n \"PRIVILEGES\",\n \"PROCEDURE\",\n \"PROGRAM\",\n \"PSID\",\n \"PUBLIC\",\n \"QUERY\",\n \"QUERYNO\",\n \"RANGE\",\n \"RANK\",\n \"READ\",\n \"READS\",\n \"RECOVERY\",\n \"REFERENCES\",\n \"REFERENCING\",\n \"REFRESH\",\n \"RELEASE\",\n \"RENAME\",\n \"REPEAT\",\n \"RESET\",\n \"RESIGNAL\",\n \"RESTART\",\n \"RESTRICT\",\n \"RESULT\",\n \"RESULT_SET_LOCATOR\",\n \"RETURN\",\n \"RETURNS\",\n \"REVOKE\",\n \"RIGHT\",\n \"ROLE\",\n \"ROLLBACK\",\n \"ROUND_CEILING\",\n \"ROUND_DOWN\",\n \"ROUND_FLOOR\",\n \"ROUND_HALF_DOWN\",\n \"ROUND_HALF_EVEN\",\n \"ROUND_HALF_UP\",\n \"ROUND_UP\",\n \"ROUTINE\",\n \"ROW\",\n \"ROWNUMBER\",\n \"ROWS\",\n \"ROWSET\",\n \"ROW_NUMBER\",\n \"RRN\",\n \"RUN\",\n \"SAVEPOINT\",\n \"SCHEMA\",\n \"SCRATCHPAD\",\n \"SCROLL\",\n \"SEARCH\",\n \"SECOND\",\n \"SECONDS\",\n \"SECQTY\",\n \"SECURITY\",\n \"SELECT\",\n \"SENSITIVE\",\n \"SEQUENCE\",\n \"SESSION\",\n \"SESSION_USER\",\n \"SET\",\n \"SIGNAL\",\n \"SIMPLE\",\n \"SNAN\",\n \"SOME\",\n \"SOURCE\",\n \"SPECIFIC\",\n \"SQL\",\n \"SQLID\",\n \"STACKED\",\n \"STANDARD\",\n \"START\",\n \"STARTING\",\n \"STATEMENT\",\n \"STATIC\",\n \"STATMENT\",\n \"STAY\",\n \"STOGROUP\",\n \"STORES\",\n \"STYLE\",\n \"SUBSTRING\",\n \"SUMMARY\",\n \"SYNONYM\",\n \"SYSFUN\",\n \"SYSIBM\",\n \"SYSPROC\",\n \"SYSTEM\",\n \"SYSTEM_USER\",\n \"TABLE\",\n \"TABLESPACE\",\n \"THEN\",\n \"TO\",\n \"TRANSACTION\",\n \"TRIGGER\",\n \"TRIM\",\n \"TRUNCATE\",\n \"TYPE\",\n \"UNDO\",\n \"UNION\",\n \"UNIQUE\",\n \"UNTIL\",\n \"UPDATE\",\n \"USAGE\",\n \"USER\",\n \"USING\",\n \"VALIDPROC\",\n \"VALUE\",\n \"VALUES\",\n \"VARIABLE\",\n \"VARIANT\",\n \"VCAT\",\n \"VERSION\",\n \"VIEW\",\n \"VOLATILE\",\n \"VOLUMES\",\n \"WHEN\",\n \"WHENEVER\",\n \"WHERE\",\n \"WHILE\",\n \"WITH\",\n \"WITHOUT\",\n \"WLM\",\n \"WRITE\",\n \"XMLELEMENT\",\n \"XMLEXISTS\",\n \"XMLNAMESPACES\",\n \"YEAR\",\n \"YEARS\"\n];\nvar dataTypes2 = [\n // https://www.ibm.com/docs/en/db2-for-zos/12?topic=columns-data-types\n \"ARRAY\",\n \"BIGINT\",\n \"BINARY\",\n \"BLOB\",\n \"BOOLEAN\",\n \"CCSID\",\n \"CHAR\",\n \"CHARACTER\",\n \"CLOB\",\n \"DATE\",\n \"DATETIME\",\n \"DBCLOB\",\n \"DEC\",\n \"DECIMAL\",\n \"DOUBLE\",\n \"DOUBLE PRECISION\",\n \"FLOAT\",\n \"FLOAT4\",\n \"FLOAT8\",\n \"GRAPHIC\",\n \"INT\",\n \"INT2\",\n \"INT4\",\n \"INT8\",\n \"INTEGER\",\n \"INTERVAL\",\n \"LONG VARCHAR\",\n \"LONG VARGRAPHIC\",\n \"NCHAR\",\n \"NCHR\",\n \"NCLOB\",\n \"NVARCHAR\",\n \"NUMERIC\",\n \"SMALLINT\",\n \"REAL\",\n \"TIME\",\n \"TIMESTAMP\",\n \"VARBINARY\",\n \"VARCHAR\",\n \"VARGRAPHIC\"\n];\n\n// src/languages/db2/db2.formatter.ts\nvar reservedSelect2 = expandPhrases([\"SELECT [ALL | DISTINCT]\"]);\nvar reservedClauses2 = expandPhrases([\n // queries\n \"WITH\",\n \"FROM\",\n \"WHERE\",\n \"GROUP BY\",\n \"HAVING\",\n \"PARTITION BY\",\n \"ORDER BY [INPUT SEQUENCE]\",\n \"LIMIT\",\n \"OFFSET\",\n \"FETCH NEXT\",\n \"FOR UPDATE [OF]\",\n \"FOR {READ | FETCH} ONLY\",\n \"FOR {RR | CS | UR | RS} [USE AND KEEP {SHARE | UPDATE | EXCLUSIVE} LOCKS]\",\n \"WAIT FOR OUTCOME\",\n \"SKIP LOCKED DATA\",\n \"INTO\",\n // Data modification\n // - insert:\n \"INSERT INTO\",\n \"VALUES\",\n // - update:\n \"SET\",\n // - merge:\n \"MERGE INTO\",\n \"WHEN [NOT] MATCHED [THEN]\",\n \"UPDATE SET\",\n \"INSERT\"\n]);\nvar onelineClauses2 = expandPhrases([\n // - create:\n \"CREATE [GLOBAL TEMPORARY | EXTERNAL] TABLE [IF NOT EXISTS]\",\n \"CREATE [OR REPLACE] VIEW\",\n // - update:\n \"UPDATE\",\n \"WHERE CURRENT OF\",\n \"WITH {RR | RS | CS | UR}\",\n // - delete:\n \"DELETE FROM\",\n // - drop table:\n \"DROP TABLE [IF EXISTS]\",\n // alter table:\n \"ALTER TABLE\",\n \"ADD [COLUMN]\",\n \"DROP [COLUMN]\",\n \"RENAME COLUMN\",\n \"ALTER [COLUMN]\",\n \"SET DATA TYPE\",\n // for alter column\n \"SET NOT NULL\",\n // for alter column\n \"DROP {DEFAULT | GENERATED | NOT NULL}\",\n // for alter column\n // - truncate:\n \"TRUNCATE [TABLE]\",\n // https://www.ibm.com/docs/en/db2/11.5?topic=s-statements\n \"ALLOCATE\",\n \"ALTER AUDIT POLICY\",\n \"ALTER BUFFERPOOL\",\n \"ALTER DATABASE PARTITION GROUP\",\n \"ALTER DATABASE\",\n \"ALTER EVENT MONITOR\",\n \"ALTER FUNCTION\",\n \"ALTER HISTOGRAM TEMPLATE\",\n \"ALTER INDEX\",\n \"ALTER MASK\",\n \"ALTER METHOD\",\n \"ALTER MODULE\",\n \"ALTER NICKNAME\",\n \"ALTER PACKAGE\",\n \"ALTER PERMISSION\",\n \"ALTER PROCEDURE\",\n \"ALTER SCHEMA\",\n \"ALTER SECURITY LABEL COMPONENT\",\n \"ALTER SECURITY POLICY\",\n \"ALTER SEQUENCE\",\n \"ALTER SERVER\",\n \"ALTER SERVICE CLASS\",\n \"ALTER STOGROUP\",\n \"ALTER TABLESPACE\",\n \"ALTER THRESHOLD\",\n \"ALTER TRIGGER\",\n \"ALTER TRUSTED CONTEXT\",\n \"ALTER TYPE\",\n \"ALTER USAGE LIST\",\n \"ALTER USER MAPPING\",\n \"ALTER VIEW\",\n \"ALTER WORK ACTION SET\",\n \"ALTER WORK CLASS SET\",\n \"ALTER WORKLOAD\",\n \"ALTER WRAPPER\",\n \"ALTER XSROBJECT\",\n \"ALTER STOGROUP\",\n \"ALTER TABLESPACE\",\n \"ALTER TRIGGER\",\n \"ALTER TRUSTED CONTEXT\",\n \"ALTER VIEW\",\n \"ASSOCIATE [RESULT SET] {LOCATOR | LOCATORS}\",\n \"AUDIT\",\n \"BEGIN DECLARE SECTION\",\n \"CALL\",\n \"CLOSE\",\n \"COMMENT ON\",\n \"COMMIT [WORK]\",\n \"CONNECT\",\n \"CREATE [OR REPLACE] [PUBLIC] ALIAS\",\n \"CREATE AUDIT POLICY\",\n \"CREATE BUFFERPOOL\",\n \"CREATE DATABASE PARTITION GROUP\",\n \"CREATE EVENT MONITOR\",\n \"CREATE [OR REPLACE] FUNCTION\",\n \"CREATE FUNCTION MAPPING\",\n \"CREATE HISTOGRAM TEMPLATE\",\n \"CREATE [UNIQUE] INDEX\",\n \"CREATE INDEX EXTENSION\",\n \"CREATE [OR REPLACE] MASK\",\n \"CREATE [SPECIFIC] METHOD\",\n \"CREATE [OR REPLACE] MODULE\",\n \"CREATE [OR REPLACE] NICKNAME\",\n \"CREATE [OR REPLACE] PERMISSION\",\n \"CREATE [OR REPLACE] PROCEDURE\",\n \"CREATE ROLE\",\n \"CREATE SCHEMA\",\n \"CREATE SECURITY LABEL [COMPONENT]\",\n \"CREATE SECURITY POLICY\",\n \"CREATE [OR REPLACE] SEQUENCE\",\n \"CREATE SERVICE CLASS\",\n \"CREATE SERVER\",\n \"CREATE STOGROUP\",\n \"CREATE SYNONYM\",\n \"CREATE [LARGE | REGULAR | {SYSTEM | USER} TEMPORARY] TABLESPACE\",\n \"CREATE THRESHOLD\",\n \"CREATE {TRANSFORM | TRANSFORMS} FOR\",\n \"CREATE [OR REPLACE] TRIGGER\",\n \"CREATE TRUSTED CONTEXT\",\n \"CREATE [OR REPLACE] TYPE\",\n \"CREATE TYPE MAPPING\",\n \"CREATE USAGE LIST\",\n \"CREATE USER MAPPING FOR\",\n \"CREATE [OR REPLACE] VARIABLE\",\n \"CREATE WORK ACTION SET\",\n \"CREATE WORK CLASS SET\",\n \"CREATE WORKLOAD\",\n \"CREATE WRAPPER\",\n \"DECLARE\",\n \"DECLARE GLOBAL TEMPORARY TABLE\",\n \"DESCRIBE [INPUT | OUTPUT]\",\n \"DISCONNECT\",\n \"DROP [PUBLIC] ALIAS\",\n \"DROP AUDIT POLICY\",\n \"DROP BUFFERPOOL\",\n \"DROP DATABASE PARTITION GROUP\",\n \"DROP EVENT MONITOR\",\n \"DROP [SPECIFIC] FUNCTION\",\n \"DROP FUNCTION MAPPING\",\n \"DROP HISTOGRAM TEMPLATE\",\n \"DROP INDEX [EXTENSION]\",\n \"DROP MASK\",\n \"DROP [SPECIFIC] METHOD\",\n \"DROP MODULE\",\n \"DROP NICKNAME\",\n \"DROP PACKAGE\",\n \"DROP PERMISSION\",\n \"DROP [SPECIFIC] PROCEDURE\",\n \"DROP ROLE\",\n \"DROP SCHEMA\",\n \"DROP SECURITY LABEL [COMPONENT]\",\n \"DROP SECURITY POLICY\",\n \"DROP SEQUENCE\",\n \"DROP SERVER\",\n \"DROP SERVICE CLASS\",\n \"DROP STOGROUP\",\n \"DROP TABLE HIERARCHY\",\n \"DROP {TABLESPACE | TABLESPACES}\",\n \"DROP {TRANSFORM | TRANSFORMS}\",\n \"DROP THRESHOLD\",\n \"DROP TRIGGER\",\n \"DROP TRUSTED CONTEXT\",\n \"DROP TYPE [MAPPING]\",\n \"DROP USAGE LIST\",\n \"DROP USER MAPPING FOR\",\n \"DROP VARIABLE\",\n \"DROP VIEW [HIERARCHY]\",\n \"DROP WORK {ACTION | CLASS} SET\",\n \"DROP WORKLOAD\",\n \"DROP WRAPPER\",\n \"DROP XSROBJECT\",\n \"END DECLARE SECTION\",\n \"EXECUTE [IMMEDIATE]\",\n \"EXPLAIN {PLAN [SECTION] | ALL}\",\n \"FETCH [FROM]\",\n \"FLUSH {BUFFERPOOL | BUFFERPOOLS} ALL\",\n \"FLUSH EVENT MONITOR\",\n \"FLUSH FEDERATED CACHE\",\n \"FLUSH OPTIMIZATION PROFILE CACHE\",\n \"FLUSH PACKAGE CACHE [DYNAMIC]\",\n \"FLUSH AUTHENTICATION CACHE [FOR ALL]\",\n \"FREE LOCATOR\",\n \"GET DIAGNOSTICS\",\n \"GOTO\",\n \"GRANT\",\n // TODO: lots of syntax here\n \"INCLUDE\",\n \"ITERATE\",\n \"LEAVE\",\n \"LOCK TABLE\",\n \"LOOP\",\n \"OPEN\",\n \"PIPE\",\n \"PREPARE\",\n \"REFRESH TABLE\",\n \"RELEASE\",\n \"RELEASE [TO] SAVEPOINT\",\n \"RENAME [TABLE | INDEX | STOGROUP | TABLESPACE]\",\n \"REPEAT\",\n \"RESIGNAL\",\n \"RETURN\",\n \"REVOKE\",\n // TODO: lots of syntax here\n \"ROLLBACK [WORK] [TO SAVEPOINT]\",\n \"SAVEPOINT\",\n \"SET COMPILATION ENVIRONMENT\",\n \"SET CONNECTION\",\n \"SET CURRENT\",\n // TODO: bunch of syntax here\n \"SET ENCRYPTION PASSWORD\",\n \"SET EVENT MONITOR STATE\",\n \"SET INTEGRITY\",\n \"SET PASSTHRU\",\n \"SET PATH\",\n \"SET ROLE\",\n \"SET SCHEMA\",\n \"SET SERVER OPTION\",\n \"SET {SESSION AUTHORIZATION | SESSION_USER}\",\n \"SET USAGE LIST\",\n \"SIGNAL\",\n \"TRANSFER OWNERSHIP OF\",\n \"WHENEVER {NOT FOUND | SQLERROR | SQLWARNING}\",\n \"WHILE\"\n]);\nvar reservedSetOperations2 = expandPhrases([\"UNION [ALL]\", \"EXCEPT [ALL]\", \"INTERSECT [ALL]\"]);\nvar reservedJoins2 = expandPhrases([\n \"JOIN\",\n \"{LEFT | RIGHT | FULL} [OUTER] JOIN\",\n \"{INNER | CROSS} JOIN\"\n]);\nvar reservedPhrases2 = expandPhrases([\n \"ON DELETE\",\n \"ON UPDATE\",\n \"SET NULL\",\n \"{ROWS | RANGE} BETWEEN\"\n]);\nvar db2 = {\n name: \"db2\",\n tokenizerOptions: {\n reservedSelect: reservedSelect2,\n reservedClauses: [...reservedClauses2, ...onelineClauses2],\n reservedSetOperations: reservedSetOperations2,\n reservedJoins: reservedJoins2,\n reservedPhrases: reservedPhrases2,\n reservedKeywords: keywords2,\n reservedDataTypes: dataTypes2,\n reservedFunctionNames: functions2,\n extraParens: [\"[]\"],\n stringTypes: [\n { quote: \"''-qq\", prefixes: [\"G\", \"N\", \"U&\"] },\n { quote: \"''-raw\", prefixes: [\"X\", \"BX\", \"GX\", \"UX\"], requirePrefix: true }\n ],\n identTypes: [`\"\"-qq`],\n identChars: { first: \"@#$\", rest: \"@#$\" },\n paramTypes: { positional: true, named: [\":\"] },\n paramChars: { first: \"@#$\", rest: \"@#$\" },\n operators: [\n \"**\",\n \"%\",\n \"|\",\n \"&\",\n \"^\",\n \"~\",\n \"\\xAC=\",\n \"\\xAC>\",\n \"\\xAC<\",\n \"!>\",\n \"!<\",\n \"^=\",\n \"^>\",\n \"^<\",\n \"||\",\n \"->\",\n \"=>\"\n ]\n },\n formatOptions: {\n onelineClauses: onelineClauses2\n }\n};\n\n// src/languages/db2i/db2i.functions.ts\nvar functions3 = [\n // https://www.ibm.com/docs/en/i/7.5?topic=functions-aggregate\n // TODO: 'ANY', - conflicts with test for ANY predicate in 'operators.ys'!!\n \"ARRAY_AGG\",\n \"AVG\",\n \"CORR\",\n \"CORRELATION\",\n \"COUNT\",\n \"COUNT_BIG\",\n \"COVAR_POP\",\n \"COVARIANCE\",\n \"COVAR\",\n \"COVAR_SAMP\",\n \"COVARIANCE_SAMP\",\n \"EVERY\",\n \"GROUPING\",\n \"JSON_ARRAYAGG\",\n \"JSON_OBJECTAGG\",\n \"LISTAGG\",\n \"MAX\",\n \"MEDIAN\",\n \"MIN\",\n \"PERCENTILE_CONT\",\n \"PERCENTILE_DISC\",\n // https://www.ibm.com/docs/en/i/7.5?topic=functions-regression'\n \"REGR_AVGX\",\n \"REGR_AVGY\",\n \"REGR_COUNT\",\n \"REGR_INTERCEPT\",\n \"REGR_R2\",\n \"REGR_SLOPE\",\n \"REGR_SXX\",\n \"REGR_SXY\",\n \"REGR_SYY\",\n \"SOME\",\n \"STDDEV_POP\",\n \"STDDEV\",\n \"STDDEV_SAMP\",\n \"SUM\",\n \"VAR_POP\",\n \"VARIANCE\",\n \"VAR\",\n \"VAR_SAMP\",\n \"VARIANCE_SAMP\",\n \"XMLAGG\",\n \"XMLGROUP\",\n // https://www.ibm.com/docs/en/i/7.5?topic=functions-scalar\n \"ABS\",\n \"ABSVAL\",\n \"ACOS\",\n \"ADD_DAYS\",\n \"ADD_HOURS\",\n \"ADD_MINUTES\",\n \"ADD_MONTHS\",\n \"ADD_SECONDS\",\n \"ADD_YEARS\",\n \"ANTILOG\",\n \"ARRAY_MAX_CARDINALITY\",\n \"ARRAY_TRIM\",\n \"ASCII\",\n \"ASIN\",\n \"ATAN\",\n \"ATAN2\",\n \"ATANH\",\n \"BASE64_DECODE\",\n \"BASE64_ENCODE\",\n \"BIT_LENGTH\",\n \"BITAND\",\n \"BITANDNOT\",\n \"BITNOT\",\n \"BITOR\",\n \"BITXOR\",\n \"BSON_TO_JSON\",\n \"CARDINALITY\",\n \"CEIL\",\n \"CEILING\",\n \"CHAR_LENGTH\",\n \"CHARACTER_LENGTH\",\n \"CHR\",\n \"COALESCE\",\n \"COMPARE_DECFLOAT\",\n \"CONCAT\",\n \"CONTAINS\",\n \"COS\",\n \"COSH\",\n \"COT\",\n \"CURDATE\",\n \"CURTIME\",\n \"DATABASE\",\n \"DATAPARTITIONNAME\",\n \"DATAPARTITIONNUM\",\n \"DAY\",\n \"DAYNAME\",\n \"DAYOFMONTH\",\n \"DAYOFWEEK_ISO\",\n \"DAYOFWEEK\",\n \"DAYOFYEAR\",\n \"DAYS\",\n \"DBPARTITIONNAME\",\n \"DBPARTITIONNUM\",\n \"DECFLOAT_FORMAT\",\n \"DECFLOAT_SORTKEY\",\n \"DECRYPT_BINARY\",\n \"DECRYPT_BIT\",\n \"DECRYPT_CHAR\",\n \"DECRYPT_DB\",\n \"DEGREES\",\n \"DIFFERENCE\",\n \"DIGITS\",\n \"DLCOMMENT\",\n \"DLLINKTYPE\",\n \"DLURLCOMPLETE\",\n \"DLURLPATH\",\n \"DLURLPATHONLY\",\n \"DLURLSCHEME\",\n \"DLURLSERVER\",\n \"DLVALUE\",\n \"DOUBLE_PRECISION\",\n \"DOUBLE\",\n \"ENCRPYT\",\n \"ENCRYPT_AES\",\n \"ENCRYPT_AES256\",\n \"ENCRYPT_RC2\",\n \"ENCRYPT_TDES\",\n \"EXP\",\n \"EXTRACT\",\n \"FIRST_DAY\",\n \"FLOOR\",\n \"GENERATE_UNIQUE\",\n \"GET_BLOB_FROM_FILE\",\n \"GET_CLOB_FROM_FILE\",\n \"GET_DBCLOB_FROM_FILE\",\n \"GET_XML_FILE\",\n \"GETHINT\",\n \"GREATEST\",\n \"HASH_MD5\",\n \"HASH_ROW\",\n \"HASH_SHA1\",\n \"HASH_SHA256\",\n \"HASH_SHA512\",\n \"HASH_VALUES\",\n \"HASHED_VALUE\",\n \"HEX\",\n \"HEXTORAW\",\n \"HOUR\",\n \"HTML_ENTITY_DECODE\",\n \"HTML_ENTITY_ENCODE\",\n \"HTTP_DELETE_BLOB\",\n \"HTTP_DELETE\",\n \"HTTP_GET_BLOB\",\n \"HTTP_GET\",\n \"HTTP_PATCH_BLOB\",\n \"HTTP_PATCH\",\n \"HTTP_POST_BLOB\",\n \"HTTP_POST\",\n \"HTTP_PUT_BLOB\",\n \"HTTP_PUT\",\n \"IDENTITY_VAL_LOCAL\",\n \"IFNULL\",\n \"INSERT\",\n \"INSTR\",\n \"INTERPRET\",\n \"ISFALSE\",\n \"ISNOTFALSE\",\n \"ISNOTTRUE\",\n \"ISTRUE\",\n \"JSON_ARRAY\",\n \"JSON_OBJECT\",\n \"JSON_QUERY\",\n \"JSON_TO_BSON\",\n \"JSON_UPDATE\",\n \"JSON_VALUE\",\n \"JULIAN_DAY\",\n \"LAND\",\n \"LAST_DAY\",\n \"LCASE\",\n \"LEAST\",\n \"LEFT\",\n \"LENGTH\",\n \"LN\",\n \"LNOT\",\n \"LOCATE_IN_STRING\",\n \"LOCATE\",\n \"LOG10\",\n \"LOR\",\n \"LOWER\",\n \"LPAD\",\n \"LTRIM\",\n \"MAX_CARDINALITY\",\n \"MAX\",\n \"MICROSECOND\",\n \"MIDNIGHT_SECONDS\",\n \"MIN\",\n \"MINUTE\",\n \"MOD\",\n \"MONTH\",\n \"MONTHNAME\",\n \"MONTHS_BETWEEN\",\n \"MQREAD\",\n \"MQREADCLOB\",\n \"MQRECEIVE\",\n \"MQRECEIVECLOB\",\n \"MQSEND\",\n \"MULTIPLY_ALT\",\n \"NEXT_DAY\",\n \"NORMALIZE_DECFLOAT\",\n \"NOW\",\n \"NULLIF\",\n \"NVL\",\n \"OCTET_LENGTH\",\n \"OVERLAY\",\n \"PI\",\n \"POSITION\",\n \"POSSTR\",\n \"POW\",\n \"POWER\",\n \"QUANTIZE\",\n \"QUARTER\",\n \"RADIANS\",\n \"RAISE_ERROR\",\n \"RANDOM\",\n \"RAND\",\n \"REGEXP_COUNT\",\n \"REGEXP_INSTR\",\n \"REGEXP_REPLACE\",\n \"REGEXP_SUBSTR\",\n \"REPEAT\",\n \"REPLACE\",\n \"RID\",\n \"RIGHT\",\n \"ROUND_TIMESTAMP\",\n \"ROUND\",\n \"RPAD\",\n \"RRN\",\n \"RTRIM\",\n \"SCORE\",\n \"SECOND\",\n \"SIGN\",\n \"SIN\",\n \"SINH\",\n \"SOUNDEX\",\n \"SPACE\",\n \"SQRT\",\n \"STRIP\",\n \"STRLEFT\",\n \"STRPOS\",\n \"STRRIGHT\",\n \"SUBSTR\",\n \"SUBSTRING\",\n \"TABLE_NAME\",\n \"TABLE_SCHEMA\",\n \"TAN\",\n \"TANH\",\n \"TIMESTAMP_FORMAT\",\n \"TIMESTAMP_ISO\",\n \"TIMESTAMPDIFF_BIG\",\n \"TIMESTAMPDIFF\",\n \"TO_CHAR\",\n \"TO_CLOB\",\n \"TO_DATE\",\n \"TO_NUMBER\",\n \"TO_TIMESTAMP\",\n \"TOTALORDER\",\n \"TRANSLATE\",\n \"TRIM_ARRAY\",\n \"TRIM\",\n \"TRUNC_TIMESTAMP\",\n \"TRUNC\",\n \"TRUNCATE\",\n \"UCASE\",\n \"UPPER\",\n \"URL_DECODE\",\n \"URL_ENCODE\",\n \"VALUE\",\n \"VARBINARY_FORMAT\",\n \"VARCHAR_BIT_FORMAT\",\n \"VARCHAR_FORMAT_BINARY\",\n \"VARCHAR_FORMAT\",\n \"VERIFY_GROUP_FOR_USER\",\n \"WEEK_ISO\",\n \"WEEK\",\n \"WRAP\",\n \"XMLATTRIBUTES\",\n \"XMLCOMMENT\",\n \"XMLCONCAT\",\n \"XMLDOCUMENT\",\n \"XMLELEMENT\",\n \"XMLFOREST\",\n \"XMLNAMESPACES\",\n \"XMLPARSE\",\n \"XMLPI\",\n \"XMLROW\",\n \"XMLSERIALIZE\",\n \"XMLTEXT\",\n \"XMLVALIDATE\",\n \"XOR\",\n \"XSLTRANSFORM\",\n \"YEAR\",\n \"ZONED\",\n // https://www.ibm.com/docs/en/i/7.5?topic=functions-table\n \"BASE_TABLE\",\n \"HTTP_DELETE_BLOB_VERBOSE\",\n \"HTTP_DELETE_VERBOSE\",\n \"HTTP_GET_BLOB_VERBOSE\",\n \"HTTP_GET_VERBOSE\",\n \"HTTP_PATCH_BLOB_VERBOSE\",\n \"HTTP_PATCH_VERBOSE\",\n \"HTTP_POST_BLOB_VERBOSE\",\n \"HTTP_POST_VERBOSE\",\n \"HTTP_PUT_BLOB_VERBOSE\",\n \"HTTP_PUT_VERBOSE\",\n \"JSON_TABLE\",\n \"MQREADALL\",\n \"MQREADALLCLOB\",\n \"MQRECEIVEALL\",\n \"MQRECEIVEALLCLOB\",\n \"XMLTABLE\",\n // https://www.ibm.com/docs/en/db2-for-zos/11?topic=functions-row\n \"UNPACK\",\n // https://www.ibm.com/docs/en/i/7.5?topic=expressions-olap-specifications\n \"CUME_DIST\",\n \"DENSE_RANK\",\n \"FIRST_VALUE\",\n \"LAG\",\n \"LAST_VALUE\",\n \"LEAD\",\n \"NTH_VALUE\",\n \"NTILE\",\n \"PERCENT_RANK\",\n \"RANK\",\n \"RATIO_TO_REPORT\",\n \"ROW_NUMBER\",\n // Type casting\n \"CAST\"\n];\n\n// src/languages/db2i/db2i.keywords.ts\nvar keywords3 = [\n // https://www.ibm.com/docs/en/i/7.5?topic=words-reserved\n // TODO: This list likely contains all keywords, not only the reserved ones,\n // try to filter it down to just the reserved keywords.\n \"ABSENT\",\n \"ACCORDING\",\n \"ACCTNG\",\n \"ACTION\",\n \"ACTIVATE\",\n \"ADD\",\n \"ALIAS\",\n \"ALL\",\n \"ALLOCATE\",\n \"ALLOW\",\n \"ALTER\",\n \"AND\",\n \"ANY\",\n \"APPEND\",\n \"APPLNAME\",\n \"ARRAY\",\n \"ARRAY_AGG\",\n \"ARRAY_TRIM\",\n \"AS\",\n \"ASC\",\n \"ASENSITIVE\",\n \"ASSOCIATE\",\n \"ATOMIC\",\n \"ATTACH\",\n \"ATTRIBUTES\",\n \"AUTHORIZATION\",\n \"AUTONOMOUS\",\n \"BEFORE\",\n \"BEGIN\",\n \"BETWEEN\",\n \"BIND\",\n \"BSON\",\n \"BUFFERPOOL\",\n \"BY\",\n \"CACHE\",\n \"CALL\",\n \"CALLED\",\n \"CARDINALITY\",\n \"CASE\",\n \"CAST\",\n \"CHECK\",\n \"CL\",\n \"CLOSE\",\n \"CLUSTER\",\n \"COLLECT\",\n \"COLLECTION\",\n \"COLUMN\",\n \"COMMENT\",\n \"COMMIT\",\n \"COMPACT\",\n \"COMPARISONS\",\n \"COMPRESS\",\n \"CONCAT\",\n \"CONCURRENT\",\n \"CONDITION\",\n \"CONNECT\",\n \"CONNECT_BY_ROOT\",\n \"CONNECTION\",\n \"CONSTANT\",\n \"CONSTRAINT\",\n \"CONTAINS\",\n \"CONTENT\",\n \"CONTINUE\",\n \"COPY\",\n \"COUNT\",\n \"COUNT_BIG\",\n \"CREATE\",\n \"CREATEIN\",\n \"CROSS\",\n \"CUBE\",\n \"CUME_DIST\",\n \"CURRENT\",\n \"CURRENT_DATE\",\n \"CURRENT_PATH\",\n \"CURRENT_SCHEMA\",\n \"CURRENT_SERVER\",\n \"CURRENT_TIME\",\n \"CURRENT_TIMESTAMP\",\n \"CURRENT_TIMEZONE\",\n \"CURRENT_USER\",\n \"CURSOR\",\n \"CYCLE\",\n \"DATABASE\",\n \"DATAPARTITIONNAME\",\n \"DATAPARTITIONNUM\",\n \"DAY\",\n \"DAYS\",\n \"DB2GENERAL\",\n \"DB2GENRL\",\n \"DB2SQL\",\n \"DBINFO\",\n \"DBPARTITIONNAME\",\n \"DBPARTITIONNUM\",\n \"DEACTIVATE\",\n \"DEALLOCATE\",\n \"DECLARE\",\n \"DEFAULT\",\n \"DEFAULTS\",\n \"DEFER\",\n \"DEFINE\",\n \"DEFINITION\",\n \"DELETE\",\n \"DELETING\",\n \"DENSE_RANK\",\n \"DENSERANK\",\n \"DESC\",\n \"DESCRIBE\",\n \"DESCRIPTOR\",\n \"DETACH\",\n \"DETERMINISTIC\",\n \"DIAGNOSTICS\",\n \"DISABLE\",\n \"DISALLOW\",\n \"DISCONNECT\",\n \"DISTINCT\",\n \"DO\",\n \"DOCUMENT\",\n \"DROP\",\n \"DYNAMIC\",\n \"EACH\",\n \"ELSE\",\n \"ELSEIF\",\n \"EMPTY\",\n \"ENABLE\",\n \"ENCODING\",\n \"ENCRYPTION\",\n \"END\",\n \"END-EXEC\",\n \"ENDING\",\n \"ENFORCED\",\n \"ERROR\",\n \"ESCAPE\",\n \"EVERY\",\n \"EXCEPT\",\n \"EXCEPTION\",\n \"EXCLUDING\",\n \"EXCLUSIVE\",\n \"EXECUTE\",\n \"EXISTS\",\n \"EXIT\",\n \"EXTEND\",\n \"EXTERNAL\",\n \"EXTRACT\",\n \"FALSE\",\n \"FENCED\",\n \"FETCH\",\n \"FIELDPROC\",\n \"FILE\",\n \"FINAL\",\n \"FIRST_VALUE\",\n \"FOR\",\n \"FOREIGN\",\n \"FORMAT\",\n \"FREE\",\n \"FREEPAGE\",\n \"FROM\",\n \"FULL\",\n \"FUNCTION\",\n \"GBPCACHE\",\n \"GENERAL\",\n \"GENERATED\",\n \"GET\",\n \"GLOBAL\",\n \"GO\",\n \"GOTO\",\n \"GRANT\",\n \"GROUP\",\n \"HANDLER\",\n \"HASH\",\n \"HASH_ROW\",\n \"HASHED_VALUE\",\n \"HAVING\",\n \"HINT\",\n \"HOLD\",\n \"HOUR\",\n \"HOURS\",\n // 'ID', Not actually a reserved keyword\n \"IDENTITY\",\n \"IF\",\n \"IGNORE\",\n \"IMMEDIATE\",\n \"IMPLICITLY\",\n \"IN\",\n \"INCLUDE\",\n \"INCLUDING\",\n \"INCLUSIVE\",\n \"INCREMENT\",\n \"INDEX\",\n \"INDEXBP\",\n \"INDICATOR\",\n \"INF\",\n \"INFINITY\",\n \"INHERIT\",\n \"INLINE\",\n \"INNER\",\n \"INOUT\",\n \"INSENSITIVE\",\n \"INSERT\",\n \"INSERTING\",\n \"INTEGRITY\",\n \"INTERPRET\",\n \"INTERSECT\",\n \"INTO\",\n \"IS\",\n \"ISNULL\",\n \"ISOLATION\",\n \"ITERATE\",\n \"JAVA\",\n \"JOIN\",\n \"JSON\",\n \"JSON_ARRAY\",\n \"JSON_ARRAYAGG\",\n \"JSON_EXISTS\",\n \"JSON_OBJECT\",\n \"JSON_OBJECTAGG\",\n \"JSON_QUERY\",\n \"JSON_TABLE\",\n \"JSON_VALUE\",\n \"KEEP\",\n \"KEY\",\n \"KEYS\",\n \"LABEL\",\n \"LAG\",\n \"LANGUAGE\",\n \"LAST_VALUE\",\n \"LATERAL\",\n \"LEAD\",\n \"LEAVE\",\n \"LEFT\",\n \"LEVEL2\",\n \"LIKE\",\n \"LIMIT\",\n \"LINKTYPE\",\n \"LISTAGG\",\n \"LOCAL\",\n \"LOCALDATE\",\n \"LOCALTIME\",\n \"LOCALTIMESTAMP\",\n \"LOCATION\",\n \"LOCATOR\",\n \"LOCK\",\n \"LOCKSIZE\",\n \"LOG\",\n \"LOGGED\",\n \"LOOP\",\n \"MAINTAINED\",\n \"MASK\",\n \"MATCHED\",\n \"MATERIALIZED\",\n \"MAXVALUE\",\n \"MERGE\",\n \"MICROSECOND\",\n \"MICROSECONDS\",\n \"MINPCTUSED\",\n \"MINUTE\",\n \"MINUTES\",\n \"MINVALUE\",\n \"MIRROR\",\n \"MIXED\",\n \"MODE\",\n \"MODIFIES\",\n \"MONTH\",\n \"MONTHS\",\n \"NAMESPACE\",\n \"NAN\",\n \"NATIONAL\",\n \"NCHAR\",\n \"NCLOB\",\n \"NESTED\",\n \"NEW\",\n \"NEW_TABLE\",\n \"NEXTVAL\",\n \"NO\",\n \"NOCACHE\",\n \"NOCYCLE\",\n \"NODENAME\",\n \"NODENUMBER\",\n \"NOMAXVALUE\",\n \"NOMINVALUE\",\n \"NONE\",\n \"NOORDER\",\n \"NORMALIZED\",\n \"NOT\",\n \"NOTNULL\",\n \"NTH_VALUE\",\n \"NTILE\",\n \"NULL\",\n \"NULLS\",\n \"NVARCHAR\",\n \"OBID\",\n \"OBJECT\",\n \"OF\",\n \"OFF\",\n \"OFFSET\",\n \"OLD\",\n \"OLD_TABLE\",\n \"OMIT\",\n \"ON\",\n \"ONLY\",\n \"OPEN\",\n \"OPTIMIZE\",\n \"OPTION\",\n \"OR\",\n \"ORDER\",\n \"ORDINALITY\",\n \"ORGANIZE\",\n \"OUT\",\n \"OUTER\",\n \"OVER\",\n \"OVERLAY\",\n \"OVERRIDING\",\n \"PACKAGE\",\n \"PADDED\",\n \"PAGE\",\n \"PAGESIZE\",\n \"PARAMETER\",\n \"PART\",\n \"PARTITION\",\n \"PARTITIONED\",\n \"PARTITIONING\",\n \"PARTITIONS\",\n \"PASSING\",\n \"PASSWORD\",\n \"PATH\",\n \"PCTFREE\",\n \"PERCENT_RANK\",\n \"PERCENTILE_CONT\",\n \"PERCENTILE_DISC\",\n \"PERIOD\",\n \"PERMISSION\",\n \"PIECESIZE\",\n \"PIPE\",\n \"PLAN\",\n \"POSITION\",\n \"PREPARE\",\n \"PREVVAL\",\n \"PRIMARY\",\n \"PRIOR\",\n \"PRIQTY\",\n \"PRIVILEGES\",\n \"PROCEDURE\",\n \"PROGRAM\",\n \"PROGRAMID\",\n \"QUERY\",\n \"RANGE\",\n \"RANK\",\n \"RATIO_TO_REPORT\",\n \"RCDFMT\",\n \"READ\",\n \"READS\",\n \"RECOVERY\",\n \"REFERENCES\",\n \"REFERENCING\",\n \"REFRESH\",\n \"REGEXP_LIKE\",\n \"RELEASE\",\n \"RENAME\",\n \"REPEAT\",\n \"RESET\",\n \"RESIGNAL\",\n \"RESTART\",\n \"RESULT\",\n \"RESULT_SET_LOCATOR\",\n \"RETURN\",\n \"RETURNING\",\n \"RETURNS\",\n \"REVOKE\",\n \"RID\",\n \"RIGHT\",\n \"ROLLBACK\",\n \"ROLLUP\",\n \"ROUTINE\",\n \"ROW\",\n \"ROW_NUMBER\",\n \"ROWNUMBER\",\n \"ROWS\",\n \"RRN\",\n \"RUN\",\n \"SAVEPOINT\",\n \"SBCS\",\n \"SCALAR\",\n \"SCHEMA\",\n \"SCRATCHPAD\",\n \"SCROLL\",\n \"SEARCH\",\n \"SECOND\",\n \"SECONDS\",\n \"SECQTY\",\n \"SECURED\",\n \"SELECT\",\n \"SENSITIVE\",\n \"SEQUENCE\",\n \"SESSION\",\n \"SESSION_USER\",\n \"SET\",\n \"SIGNAL\",\n \"SIMPLE\",\n \"SKIP\",\n \"SNAN\",\n \"SOME\",\n \"SOURCE\",\n \"SPECIFIC\",\n \"SQL\",\n \"SQLID\",\n \"SQLIND_DEFAULT\",\n \"SQLIND_UNASSIGNED\",\n \"STACKED\",\n \"START\",\n \"STARTING\",\n \"STATEMENT\",\n \"STATIC\",\n \"STOGROUP\",\n \"SUBSTRING\",\n \"SUMMARY\",\n \"SYNONYM\",\n \"SYSTEM_TIME\",\n \"SYSTEM_USER\",\n \"TABLE\",\n \"TABLESPACE\",\n \"TABLESPACES\",\n \"TAG\",\n \"THEN\",\n \"THREADSAFE\",\n \"TO\",\n \"TRANSACTION\",\n \"TRANSFER\",\n \"TRIGGER\",\n \"TRIM\",\n \"TRIM_ARRAY\",\n \"TRUE\",\n \"TRUNCATE\",\n \"TRY_CAST\",\n \"TYPE\",\n \"UNDO\",\n \"UNION\",\n \"UNIQUE\",\n \"UNIT\",\n \"UNKNOWN\",\n \"UNNEST\",\n \"UNTIL\",\n \"UPDATE\",\n \"UPDATING\",\n \"URI\",\n \"USAGE\",\n \"USE\",\n \"USER\",\n \"USERID\",\n \"USING\",\n \"VALUE\",\n \"VALUES\",\n \"VARIABLE\",\n \"VARIANT\",\n \"VCAT\",\n \"VERSION\",\n \"VERSIONING\",\n \"VIEW\",\n \"VOLATILE\",\n \"WAIT\",\n \"WHEN\",\n \"WHENEVER\",\n \"WHERE\",\n \"WHILE\",\n \"WITH\",\n \"WITHIN\",\n \"WITHOUT\",\n \"WRAPPED\",\n \"WRAPPER\",\n \"WRITE\",\n \"WRKSTNNAME\",\n \"XMLAGG\",\n \"XMLATTRIBUTES\",\n \"XMLCAST\",\n \"XMLCOMMENT\",\n \"XMLCONCAT\",\n \"XMLDOCUMENT\",\n \"XMLELEMENT\",\n \"XMLFOREST\",\n \"XMLGROUP\",\n \"XMLNAMESPACES\",\n \"XMLPARSE\",\n \"XMLPI\",\n \"XMLROW\",\n \"XMLSERIALIZE\",\n \"XMLTABLE\",\n \"XMLTEXT\",\n \"XMLVALIDATE\",\n \"XSLTRANSFORM\",\n \"XSROBJECT\",\n \"YEAR\",\n \"YEARS\",\n \"YES\",\n \"ZONE\"\n];\nvar dataTypes3 = [\n // https://www.ibm.com/docs/en/i/7.2?topic=iaodsd-odbc-data-types-how-they-correspond-db2-i-database-types\n \"ARRAY\",\n \"BIGINT\",\n \"BINARY\",\n \"BIT\",\n \"BLOB\",\n \"BOOLEAN\",\n \"CCSID\",\n \"CHAR\",\n \"CHARACTER\",\n \"CLOB\",\n \"DATA\",\n \"DATALINK\",\n \"DATE\",\n \"DBCLOB\",\n \"DECFLOAT\",\n \"DECIMAL\",\n \"DEC\",\n \"DOUBLE\",\n \"DOUBLE PRECISION\",\n \"FLOAT\",\n \"GRAPHIC\",\n \"INT\",\n \"INTEGER\",\n \"LONG\",\n \"NUMERIC\",\n \"REAL\",\n \"ROWID\",\n \"SMALLINT\",\n \"TIME\",\n \"TIMESTAMP\",\n \"VARBINARY\",\n \"VARCHAR\",\n \"VARGRAPHIC\",\n \"XML\"\n];\n\n// src/languages/db2i/db2i.formatter.ts\nvar reservedSelect3 = expandPhrases([\"SELECT [ALL | DISTINCT]\"]);\nvar reservedClauses3 = expandPhrases([\n // queries\n \"WITH [RECURSIVE]\",\n \"INTO\",\n \"FROM\",\n \"WHERE\",\n \"GROUP BY\",\n \"HAVING\",\n \"PARTITION BY\",\n \"ORDER [SIBLINGS] BY [INPUT SEQUENCE]\",\n \"LIMIT\",\n \"OFFSET\",\n \"FETCH {FIRST | NEXT}\",\n \"FOR UPDATE [OF]\",\n \"FOR READ ONLY\",\n \"OPTIMIZE FOR\",\n // Data modification\n // - insert:\n \"INSERT INTO\",\n \"VALUES\",\n // - update:\n \"SET\",\n // - merge:\n \"MERGE INTO\",\n \"WHEN [NOT] MATCHED [THEN]\",\n \"UPDATE SET\",\n \"DELETE\",\n \"INSERT\",\n // Data definition - table\n \"FOR SYSTEM NAME\"\n]);\nvar onelineClauses3 = expandPhrases([\n // - create:\n \"CREATE [OR REPLACE] TABLE\",\n \"CREATE [OR REPLACE] [RECURSIVE] VIEW\",\n // - update:\n \"UPDATE\",\n \"WHERE CURRENT OF\",\n \"WITH {NC | RR | RS | CS | UR}\",\n // - delete:\n \"DELETE FROM\",\n // - drop table:\n \"DROP TABLE\",\n // alter table:\n \"ALTER TABLE\",\n \"ADD [COLUMN]\",\n \"ALTER [COLUMN]\",\n \"DROP [COLUMN]\",\n \"SET DATA TYPE\",\n // for alter column\n \"SET {GENERATED ALWAYS | GENERATED BY DEFAULT}\",\n // for alter column\n \"SET NOT NULL\",\n // for alter column\n \"SET {NOT HIDDEN | IMPLICITLY HIDDEN}\",\n // for alter column\n \"SET FIELDPROC\",\n // for alter column\n \"DROP {DEFAULT | NOT NULL | GENERATED | IDENTITY | ROW CHANGE TIMESTAMP | FIELDPROC}\",\n // for alter column\n // - truncate:\n \"TRUNCATE [TABLE]\",\n // other\n \"SET [CURRENT] SCHEMA\",\n \"SET CURRENT_SCHEMA\",\n // https://www.ibm.com/docs/en/i/7.5?topic=reference-statements\n \"ALLOCATE CURSOR\",\n \"ALLOCATE [SQL] DESCRIPTOR [LOCAL | GLOBAL] SQL\",\n \"ALTER [SPECIFIC] {FUNCTION | PROCEDURE}\",\n \"ALTER {MASK | PERMISSION | SEQUENCE | TRIGGER}\",\n \"ASSOCIATE [RESULT SET] {LOCATOR | LOCATORS}\",\n \"BEGIN DECLARE SECTION\",\n \"CALL\",\n \"CLOSE\",\n \"COMMENT ON {ALIAS | COLUMN | CONSTRAINT | INDEX | MASK | PACKAGE | PARAMETER | PERMISSION | SEQUENCE | TABLE | TRIGGER | VARIABLE | XSROBJECT}\",\n \"COMMENT ON [SPECIFIC] {FUNCTION | PROCEDURE | ROUTINE}\",\n \"COMMENT ON PARAMETER SPECIFIC {FUNCTION | PROCEDURE | ROUTINE}\",\n \"COMMENT ON [TABLE FUNCTION] RETURN COLUMN\",\n \"COMMENT ON [TABLE FUNCTION] RETURN COLUMN SPECIFIC [PROCEDURE | ROUTINE]\",\n \"COMMIT [WORK] [HOLD]\",\n \"CONNECT [TO | RESET] USER\",\n \"CREATE [OR REPLACE] {ALIAS | FUNCTION | MASK | PERMISSION | PROCEDURE | SEQUENCE | TRIGGER | VARIABLE}\",\n \"CREATE [ENCODED VECTOR] INDEX\",\n \"CREATE UNIQUE [WHERE NOT NULL] INDEX\",\n \"CREATE SCHEMA\",\n \"CREATE TYPE\",\n \"DEALLOCATE [SQL] DESCRIPTOR [LOCAL | GLOBAL]\",\n \"DECLARE CURSOR\",\n \"DECLARE GLOBAL TEMPORARY TABLE\",\n \"DECLARE\",\n \"DESCRIBE CURSOR\",\n \"DESCRIBE INPUT\",\n \"DESCRIBE [OUTPUT]\",\n \"DESCRIBE {PROCEDURE | ROUTINE}\",\n \"DESCRIBE TABLE\",\n \"DISCONNECT ALL [SQL]\",\n \"DISCONNECT [CURRENT]\",\n \"DROP {ALIAS | INDEX | MASK | PACKAGE | PERMISSION | SCHEMA | SEQUENCE | TABLE | TYPE | VARIABLE | XSROBJECT} [IF EXISTS]\",\n \"DROP [SPECIFIC] {FUNCTION | PROCEDURE | ROUTINE} [IF EXISTS]\",\n \"END DECLARE SECTION\",\n \"EXECUTE [IMMEDIATE]\",\n // 'FETCH {NEXT | PRIOR | FIRST | LAST | BEFORE | AFTER | CURRENT} [FROM]',\n \"FREE LOCATOR\",\n \"GET [SQL] DESCRIPTOR [LOCAL | GLOBAL]\",\n \"GET [CURRENT | STACKED] DIAGNOSTICS\",\n \"GRANT {ALL [PRIVILEGES] | ALTER | EXECUTE} ON {FUNCTION | PROCEDURE | ROUTINE | PACKAGE | SCHEMA | SEQUENCE | TABLE | TYPE | VARIABLE | XSROBJECT}\",\n \"HOLD LOCATOR\",\n \"INCLUDE\",\n \"LABEL ON {ALIAS | COLUMN | CONSTRAINT | INDEX | MASK | PACKAGE | PERMISSION | SEQUENCE | TABLE | TRIGGER | VARIABLE | XSROBJECT}\",\n \"LABEL ON [SPECIFIC] {FUNCTION | PROCEDURE | ROUTINE}\",\n \"LOCK TABLE\",\n \"OPEN\",\n \"PREPARE\",\n \"REFRESH TABLE\",\n \"RELEASE\",\n \"RELEASE [TO] SAVEPOINT\",\n \"RENAME [TABLE | INDEX] TO\",\n \"REVOKE {ALL [PRIVILEGES] | ALTER | EXECUTE} ON {FUNCTION | PROCEDURE | ROUTINE | PACKAGE | SCHEMA | SEQUENCE | TABLE | TYPE | VARIABLE | XSROBJECT}\",\n \"ROLLBACK [WORK] [HOLD | TO SAVEPOINT]\",\n \"SAVEPOINT\",\n \"SET CONNECTION\",\n \"SET CURRENT {DEBUG MODE | DECFLOAT ROUNDING MODE | DEGREE | IMPLICIT XMLPARSE OPTION | TEMPORAL SYSTEM_TIME}\",\n \"SET [SQL] DESCRIPTOR [LOCAL | GLOBAL]\",\n \"SET ENCRYPTION PASSWORD\",\n \"SET OPTION\",\n \"SET {[CURRENT [FUNCTION]] PATH | CURRENT_PATH}\",\n \"SET RESULT SETS [WITH RETURN [TO CALLER | TO CLIENT]]\",\n \"SET SESSION AUTHORIZATION\",\n \"SET SESSION_USER\",\n \"SET TRANSACTION\",\n \"SIGNAL SQLSTATE [VALUE]\",\n \"TAG\",\n \"TRANSFER OWNERSHIP OF\",\n \"WHENEVER {NOT FOUND | SQLERROR | SQLWARNING}\"\n]);\nvar reservedSetOperations3 = expandPhrases([\"UNION [ALL]\", \"EXCEPT [ALL]\", \"INTERSECT [ALL]\"]);\nvar reservedJoins3 = expandPhrases([\n \"JOIN\",\n \"{LEFT | RIGHT | FULL} [OUTER] JOIN\",\n \"[LEFT | RIGHT] EXCEPTION JOIN\",\n \"{INNER | CROSS} JOIN\"\n]);\nvar reservedPhrases3 = expandPhrases([\n \"ON DELETE\",\n \"ON UPDATE\",\n \"SET NULL\",\n \"{ROWS | RANGE} BETWEEN\"\n]);\nvar db2i = {\n name: \"db2i\",\n tokenizerOptions: {\n reservedSelect: reservedSelect3,\n reservedClauses: [...reservedClauses3, ...onelineClauses3],\n reservedSetOperations: reservedSetOperations3,\n reservedJoins: reservedJoins3,\n reservedPhrases: reservedPhrases3,\n reservedKeywords: keywords3,\n reservedDataTypes: dataTypes3,\n reservedFunctionNames: functions3,\n nestedBlockComments: true,\n extraParens: [\"[]\"],\n stringTypes: [\n { quote: \"''-qq\", prefixes: [\"G\", \"N\"] },\n { quote: \"''-raw\", prefixes: [\"X\", \"BX\", \"GX\", \"UX\"], requirePrefix: true }\n ],\n identTypes: [`\"\"-qq`],\n identChars: { first: \"@#$\", rest: \"@#$\" },\n paramTypes: { positional: true, named: [\":\"] },\n paramChars: { first: \"@#$\", rest: \"@#$\" },\n operators: [\"**\", \"\\xAC=\", \"\\xAC>\", \"\\xAC<\", \"!>\", \"!<\", \"||\", \"=>\"]\n },\n formatOptions: {\n onelineClauses: onelineClauses3\n }\n};\n\n// src/languages/hive/hive.functions.ts\nvar functions4 = [\n // https://cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF\n // math\n \"ABS\",\n \"ACOS\",\n \"ASIN\",\n \"ATAN\",\n \"BIN\",\n \"BROUND\",\n \"CBRT\",\n \"CEIL\",\n \"CEILING\",\n \"CONV\",\n \"COS\",\n \"DEGREES\",\n // 'E',\n \"EXP\",\n \"FACTORIAL\",\n \"FLOOR\",\n \"GREATEST\",\n \"HEX\",\n \"LEAST\",\n \"LN\",\n \"LOG\",\n \"LOG10\",\n \"LOG2\",\n \"NEGATIVE\",\n \"PI\",\n \"PMOD\",\n \"POSITIVE\",\n \"POW\",\n \"POWER\",\n \"RADIANS\",\n \"RAND\",\n \"ROUND\",\n \"SHIFTLEFT\",\n \"SHIFTRIGHT\",\n \"SHIFTRIGHTUNSIGNED\",\n \"SIGN\",\n \"SIN\",\n \"SQRT\",\n \"TAN\",\n \"UNHEX\",\n \"WIDTH_BUCKET\",\n // array\n \"ARRAY_CONTAINS\",\n \"MAP_KEYS\",\n \"MAP_VALUES\",\n \"SIZE\",\n \"SORT_ARRAY\",\n // conversion\n \"BINARY\",\n \"CAST\",\n // date\n \"ADD_MONTHS\",\n \"DATE\",\n \"DATE_ADD\",\n \"DATE_FORMAT\",\n \"DATE_SUB\",\n \"DATEDIFF\",\n \"DAY\",\n \"DAYNAME\",\n \"DAYOFMONTH\",\n \"DAYOFYEAR\",\n \"EXTRACT\",\n \"FROM_UNIXTIME\",\n \"FROM_UTC_TIMESTAMP\",\n \"HOUR\",\n \"LAST_DAY\",\n \"MINUTE\",\n \"MONTH\",\n \"MONTHS_BETWEEN\",\n \"NEXT_DAY\",\n \"QUARTER\",\n \"SECOND\",\n \"TIMESTAMP\",\n \"TO_DATE\",\n \"TO_UTC_TIMESTAMP\",\n \"TRUNC\",\n \"UNIX_TIMESTAMP\",\n \"WEEKOFYEAR\",\n \"YEAR\",\n // conditional\n \"ASSERT_TRUE\",\n \"COALESCE\",\n \"IF\",\n \"ISNOTNULL\",\n \"ISNULL\",\n \"NULLIF\",\n \"NVL\",\n // string\n \"ASCII\",\n \"BASE64\",\n \"CHARACTER_LENGTH\",\n \"CHR\",\n \"CONCAT\",\n \"CONCAT_WS\",\n \"CONTEXT_NGRAMS\",\n \"DECODE\",\n \"ELT\",\n \"ENCODE\",\n \"FIELD\",\n \"FIND_IN_SET\",\n \"FORMAT_NUMBER\",\n \"GET_JSON_OBJECT\",\n \"IN_FILE\",\n \"INITCAP\",\n \"INSTR\",\n \"LCASE\",\n \"LENGTH\",\n \"LEVENSHTEIN\",\n \"LOCATE\",\n \"LOWER\",\n \"LPAD\",\n \"LTRIM\",\n \"NGRAMS\",\n \"OCTET_LENGTH\",\n \"PARSE_URL\",\n \"PRINTF\",\n \"QUOTE\",\n \"REGEXP_EXTRACT\",\n \"REGEXP_REPLACE\",\n \"REPEAT\",\n \"REVERSE\",\n \"RPAD\",\n \"RTRIM\",\n \"SENTENCES\",\n \"SOUNDEX\",\n \"SPACE\",\n \"SPLIT\",\n \"STR_TO_MAP\",\n \"SUBSTR\",\n \"SUBSTRING\",\n \"TRANSLATE\",\n \"TRIM\",\n \"UCASE\",\n \"UNBASE64\",\n \"UPPER\",\n // masking\n \"MASK\",\n \"MASK_FIRST_N\",\n \"MASK_HASH\",\n \"MASK_LAST_N\",\n \"MASK_SHOW_FIRST_N\",\n \"MASK_SHOW_LAST_N\",\n // misc\n \"AES_DECRYPT\",\n \"AES_ENCRYPT\",\n \"CRC32\",\n \"CURRENT_DATABASE\",\n \"CURRENT_USER\",\n \"HASH\",\n \"JAVA_METHOD\",\n \"LOGGED_IN_USER\",\n \"MD5\",\n \"REFLECT\",\n \"SHA\",\n \"SHA1\",\n \"SHA2\",\n \"SURROGATE_KEY\",\n \"VERSION\",\n // aggregate\n \"AVG\",\n \"COLLECT_LIST\",\n \"COLLECT_SET\",\n \"CORR\",\n \"COUNT\",\n \"COVAR_POP\",\n \"COVAR_SAMP\",\n \"HISTOGRAM_NUMERIC\",\n \"MAX\",\n \"MIN\",\n \"NTILE\",\n \"PERCENTILE\",\n \"PERCENTILE_APPROX\",\n \"REGR_AVGX\",\n \"REGR_AVGY\",\n \"REGR_COUNT\",\n \"REGR_INTERCEPT\",\n \"REGR_R2\",\n \"REGR_SLOPE\",\n \"REGR_SXX\",\n \"REGR_SXY\",\n \"REGR_SYY\",\n \"STDDEV_POP\",\n \"STDDEV_SAMP\",\n \"SUM\",\n \"VAR_POP\",\n \"VAR_SAMP\",\n \"VARIANCE\",\n // table\n \"EXPLODE\",\n \"INLINE\",\n \"JSON_TUPLE\",\n \"PARSE_URL_TUPLE\",\n \"POSEXPLODE\",\n \"STACK\",\n // https://cwiki.apache.org/confluence/display/Hive/LanguageManual+WindowingAndAnalytics\n \"LEAD\",\n \"LAG\",\n \"FIRST_VALUE\",\n \"LAST_VALUE\",\n \"RANK\",\n \"ROW_NUMBER\",\n \"DENSE_RANK\",\n \"CUME_DIST\",\n \"PERCENT_RANK\",\n \"NTILE\"\n];\n\n// src/languages/hive/hive.keywords.ts\nvar keywords4 = [\n // https://cwiki.apache.org/confluence/display/hive/languagemanual+ddl\n // Non-reserved keywords have proscribed meanings in. HiveQL, but can still be used as table or column names\n \"ADD\",\n \"ADMIN\",\n \"AFTER\",\n \"ANALYZE\",\n \"ARCHIVE\",\n \"ASC\",\n \"BEFORE\",\n \"BUCKET\",\n \"BUCKETS\",\n \"CASCADE\",\n \"CHANGE\",\n \"CLUSTER\",\n \"CLUSTERED\",\n \"CLUSTERSTATUS\",\n \"COLLECTION\",\n \"COLUMNS\",\n \"COMMENT\",\n \"COMPACT\",\n \"COMPACTIONS\",\n \"COMPUTE\",\n \"CONCATENATE\",\n \"CONTINUE\",\n \"DATA\",\n \"DATABASES\",\n \"DATETIME\",\n \"DAY\",\n \"DBPROPERTIES\",\n \"DEFERRED\",\n \"DEFINED\",\n \"DELIMITED\",\n \"DEPENDENCY\",\n \"DESC\",\n \"DIRECTORIES\",\n \"DIRECTORY\",\n \"DISABLE\",\n \"DISTRIBUTE\",\n \"ELEM_TYPE\",\n \"ENABLE\",\n \"ESCAPED\",\n \"EXCLUSIVE\",\n \"EXPLAIN\",\n \"EXPORT\",\n \"FIELDS\",\n \"FILE\",\n \"FILEFORMAT\",\n \"FIRST\",\n \"FORMAT\",\n \"FORMATTED\",\n \"FUNCTIONS\",\n \"HOLD_DDLTIME\",\n \"HOUR\",\n \"IDXPROPERTIES\",\n \"IGNORE\",\n \"INDEX\",\n \"INDEXES\",\n \"INPATH\",\n \"INPUTDRIVER\",\n \"INPUTFORMAT\",\n \"ITEMS\",\n \"JAR\",\n \"KEYS\",\n \"KEY_TYPE\",\n \"LIMIT\",\n \"LINES\",\n \"LOAD\",\n \"LOCATION\",\n \"LOCK\",\n \"LOCKS\",\n \"LOGICAL\",\n \"LONG\",\n \"MAPJOIN\",\n \"MATERIALIZED\",\n \"METADATA\",\n \"MINUS\",\n \"MINUTE\",\n \"MONTH\",\n \"MSCK\",\n \"NOSCAN\",\n \"NO_DROP\",\n \"OFFLINE\",\n \"OPTION\",\n \"OUTPUTDRIVER\",\n \"OUTPUTFORMAT\",\n \"OVERWRITE\",\n \"OWNER\",\n \"PARTITIONED\",\n \"PARTITIONS\",\n \"PLUS\",\n \"PRETTY\",\n \"PRINCIPALS\",\n \"PROTECTION\",\n \"PURGE\",\n \"READ\",\n \"READONLY\",\n \"REBUILD\",\n \"RECORDREADER\",\n \"RECORDWRITER\",\n \"RELOAD\",\n \"RENAME\",\n \"REPAIR\",\n \"REPLACE\",\n \"REPLICATION\",\n \"RESTRICT\",\n \"REWRITE\",\n \"ROLE\",\n \"ROLES\",\n \"SCHEMA\",\n \"SCHEMAS\",\n \"SECOND\",\n \"SEMI\",\n \"SERDE\",\n \"SERDEPROPERTIES\",\n \"SERVER\",\n \"SETS\",\n \"SHARED\",\n \"SHOW\",\n \"SHOW_DATABASE\",\n \"SKEWED\",\n \"SORT\",\n \"SORTED\",\n \"SSL\",\n \"STATISTICS\",\n \"STORED\",\n \"STREAMTABLE\",\n \"STRING\",\n \"TABLES\",\n \"TBLPROPERTIES\",\n \"TEMPORARY\",\n \"TERMINATED\",\n \"TINYINT\",\n \"TOUCH\",\n \"TRANSACTIONS\",\n \"UNARCHIVE\",\n \"UNDO\",\n \"UNIONTYPE\",\n \"UNLOCK\",\n \"UNSET\",\n \"UNSIGNED\",\n \"URI\",\n \"USE\",\n \"UTC\",\n \"UTCTIMESTAMP\",\n \"VALUE_TYPE\",\n \"VIEW\",\n \"WHILE\",\n \"YEAR\",\n \"AUTOCOMMIT\",\n \"ISOLATION\",\n \"LEVEL\",\n \"OFFSET\",\n \"SNAPSHOT\",\n \"TRANSACTION\",\n \"WORK\",\n \"WRITE\",\n \"ABORT\",\n \"KEY\",\n \"LAST\",\n \"NORELY\",\n \"NOVALIDATE\",\n \"NULLS\",\n \"RELY\",\n \"VALIDATE\",\n \"DETAIL\",\n \"DOW\",\n \"EXPRESSION\",\n \"OPERATOR\",\n \"QUARTER\",\n \"SUMMARY\",\n \"VECTORIZATION\",\n \"WEEK\",\n \"YEARS\",\n \"MONTHS\",\n \"WEEKS\",\n \"DAYS\",\n \"HOURS\",\n \"MINUTES\",\n \"SECONDS\",\n \"TIMESTAMPTZ\",\n \"ZONE\",\n // reserved\n \"ALL\",\n \"ALTER\",\n \"AND\",\n \"AS\",\n \"AUTHORIZATION\",\n \"BETWEEN\",\n \"BOTH\",\n \"BY\",\n \"CASE\",\n \"CAST\",\n \"COLUMN\",\n \"CONF\",\n \"CREATE\",\n \"CROSS\",\n \"CUBE\",\n \"CURRENT\",\n \"CURRENT_DATE\",\n \"CURRENT_TIMESTAMP\",\n \"CURSOR\",\n \"DATABASE\",\n \"DELETE\",\n \"DESCRIBE\",\n \"DISTINCT\",\n \"DROP\",\n \"ELSE\",\n \"END\",\n \"EXCHANGE\",\n \"EXISTS\",\n \"EXTENDED\",\n \"EXTERNAL\",\n \"FALSE\",\n \"FETCH\",\n \"FOLLOWING\",\n \"FOR\",\n \"FROM\",\n \"FULL\",\n \"FUNCTION\",\n \"GRANT\",\n \"GROUP\",\n \"GROUPING\",\n \"HAVING\",\n \"IF\",\n \"IMPORT\",\n \"IN\",\n \"INNER\",\n \"INSERT\",\n \"INTERSECT\",\n \"INTO\",\n \"IS\",\n \"JOIN\",\n \"LATERAL\",\n \"LEFT\",\n \"LESS\",\n \"LIKE\",\n \"LOCAL\",\n \"MACRO\",\n \"MORE\",\n \"NONE\",\n \"NOT\",\n \"NULL\",\n \"OF\",\n \"ON\",\n \"OR\",\n \"ORDER\",\n \"OUT\",\n \"OUTER\",\n \"OVER\",\n \"PARTIALSCAN\",\n \"PARTITION\",\n \"PERCENT\",\n \"PRECEDING\",\n \"PRESERVE\",\n \"PROCEDURE\",\n \"RANGE\",\n \"READS\",\n \"REDUCE\",\n \"REVOKE\",\n \"RIGHT\",\n \"ROLLUP\",\n \"ROW\",\n \"ROWS\",\n \"SELECT\",\n \"SET\",\n \"TABLE\",\n \"TABLESAMPLE\",\n \"THEN\",\n \"TO\",\n \"TRANSFORM\",\n \"TRIGGER\",\n \"TRUE\",\n \"TRUNCATE\",\n \"UNBOUNDED\",\n \"UNION\",\n \"UNIQUEJOIN\",\n \"UPDATE\",\n \"USER\",\n \"USING\",\n \"UTC_TMESTAMP\",\n \"VALUES\",\n \"WHEN\",\n \"WHERE\",\n \"WINDOW\",\n \"WITH\",\n \"COMMIT\",\n \"ONLY\",\n \"REGEXP\",\n \"RLIKE\",\n \"ROLLBACK\",\n \"START\",\n \"CACHE\",\n \"CONSTRAINT\",\n \"FOREIGN\",\n \"PRIMARY\",\n \"REFERENCES\",\n \"DAYOFWEEK\",\n \"EXTRACT\",\n \"FLOOR\",\n \"VIEWS\",\n \"TIME\",\n \"SYNC\",\n // fileTypes\n \"TEXTFILE\",\n \"SEQUENCEFILE\",\n \"ORC\",\n \"CSV\",\n \"TSV\",\n \"PARQUET\",\n \"AVRO\",\n \"RCFILE\",\n \"JSONFILE\",\n \"INPUTFORMAT\",\n \"OUTPUTFORMAT\"\n];\nvar dataTypes4 = [\n // https://cwiki.apache.org/confluence/display/Hive/LanguageManual+Types\n \"ARRAY\",\n \"BIGINT\",\n \"BINARY\",\n \"BOOLEAN\",\n \"CHAR\",\n \"DATE\",\n \"DECIMAL\",\n \"DOUBLE\",\n \"FLOAT\",\n \"INT\",\n \"INTEGER\",\n \"INTERVAL\",\n \"MAP\",\n \"NUMERIC\",\n \"PRECISION\",\n \"SMALLINT\",\n \"STRUCT\",\n \"TIMESTAMP\",\n \"VARCHAR\"\n];\n\n// src/languages/hive/hive.formatter.ts\nvar reservedSelect4 = expandPhrases([\"SELECT [ALL | DISTINCT]\"]);\nvar reservedClauses4 = expandPhrases([\n // queries\n \"WITH\",\n \"FROM\",\n \"WHERE\",\n \"GROUP BY\",\n \"HAVING\",\n \"WINDOW\",\n \"PARTITION BY\",\n \"ORDER BY\",\n \"SORT BY\",\n \"CLUSTER BY\",\n \"DISTRIBUTE BY\",\n \"LIMIT\",\n // Data manipulation\n // - insert:\n // Hive does not actually support plain INSERT INTO, only INSERT INTO TABLE\n // but it's a nuisance to not support it, as all other dialects do.\n \"INSERT INTO [TABLE]\",\n \"VALUES\",\n // - update:\n \"SET\",\n // - merge:\n \"MERGE INTO\",\n \"WHEN [NOT] MATCHED [THEN]\",\n \"UPDATE SET\",\n \"INSERT [VALUES]\",\n // - insert overwrite directory:\n // https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DML#LanguageManualDML-Writingdataintothefilesystemfromqueries\n \"INSERT OVERWRITE [LOCAL] DIRECTORY\",\n // - load:\n // https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DML#LanguageManualDML-Loadingfilesintotables\n \"LOAD DATA [LOCAL] INPATH\",\n \"[OVERWRITE] INTO TABLE\"\n]);\nvar onelineClauses4 = expandPhrases([\n // - create:\n \"CREATE [TEMPORARY] [EXTERNAL] TABLE [IF NOT EXISTS]\",\n \"CREATE [MATERIALIZED] VIEW [IF NOT EXISTS]\",\n // - update:\n \"UPDATE\",\n // - delete:\n \"DELETE FROM\",\n // - drop table:\n \"DROP TABLE [IF EXISTS]\",\n // - alter table:\n \"ALTER TABLE\",\n \"RENAME TO\",\n // - truncate:\n \"TRUNCATE [TABLE]\",\n // other\n \"ALTER\",\n \"CREATE\",\n \"USE\",\n \"DESCRIBE\",\n \"DROP\",\n \"FETCH\",\n \"SHOW\",\n \"STORED AS\",\n \"STORED BY\",\n \"ROW FORMAT\"\n]);\nvar reservedSetOperations4 = expandPhrases([\"UNION [ALL | DISTINCT]\"]);\nvar reservedJoins4 = expandPhrases([\n \"JOIN\",\n \"{LEFT | RIGHT | FULL} [OUTER] JOIN\",\n \"{INNER | CROSS} JOIN\",\n // non-standard joins\n \"LEFT SEMI JOIN\"\n]);\nvar reservedPhrases4 = expandPhrases([\"{ROWS | RANGE} BETWEEN\"]);\nvar hive = {\n name: \"hive\",\n tokenizerOptions: {\n reservedSelect: reservedSelect4,\n reservedClauses: [...reservedClauses4, ...onelineClauses4],\n reservedSetOperations: reservedSetOperations4,\n reservedJoins: reservedJoins4,\n reservedPhrases: reservedPhrases4,\n reservedKeywords: keywords4,\n reservedDataTypes: dataTypes4,\n reservedFunctionNames: functions4,\n extraParens: [\"[]\"],\n stringTypes: ['\"\"-bs', \"''-bs\"],\n identTypes: [\"``\"],\n variableTypes: [{ quote: \"{}\", prefixes: [\"$\"], requirePrefix: true }],\n operators: [\"%\", \"~\", \"^\", \"|\", \"&\", \"<=>\", \"==\", \"!\", \"||\"]\n },\n formatOptions: {\n onelineClauses: onelineClauses4\n }\n};\n\n// src/languages/mariadb/likeMariaDb.ts\nfunction postProcess2(tokens) {\n return tokens.map((token, i) => {\n const nextToken = tokens[i + 1] || EOF_TOKEN;\n if (isToken.SET(token) && nextToken.text === \"(\") {\n return __spreadProps(__spreadValues({}, token), { type: \"RESERVED_FUNCTION_NAME\" /* RESERVED_FUNCTION_NAME */ });\n }\n const prevToken = tokens[i - 1] || EOF_TOKEN;\n if (isToken.VALUES(token) && prevToken.text === \"=\") {\n return __spreadProps(__spreadValues({}, token), { type: \"RESERVED_FUNCTION_NAME\" /* RESERVED_FUNCTION_NAME */ });\n }\n return token;\n });\n}\n\n// src/languages/mariadb/mariadb.keywords.ts\nvar keywords5 = [\n // https://mariadb.com/kb/en/reserved-words/\n \"ACCESSIBLE\",\n \"ADD\",\n \"ALL\",\n \"ALTER\",\n \"ANALYZE\",\n \"AND\",\n \"AS\",\n \"ASC\",\n \"ASENSITIVE\",\n \"BEFORE\",\n \"BETWEEN\",\n \"BOTH\",\n \"BY\",\n \"CALL\",\n \"CASCADE\",\n \"CASE\",\n \"CHANGE\",\n \"CHECK\",\n \"COLLATE\",\n \"COLUMN\",\n \"CONDITION\",\n \"CONSTRAINT\",\n \"CONTINUE\",\n \"CONVERT\",\n \"CREATE\",\n \"CROSS\",\n \"CURRENT_DATE\",\n \"CURRENT_ROLE\",\n \"CURRENT_TIME\",\n \"CURRENT_TIMESTAMP\",\n \"CURRENT_USER\",\n \"CURSOR\",\n \"DATABASE\",\n \"DATABASES\",\n \"DAY_HOUR\",\n \"DAY_MICROSECOND\",\n \"DAY_MINUTE\",\n \"DAY_SECOND\",\n \"DECLARE\",\n \"DEFAULT\",\n \"DELAYED\",\n \"DELETE\",\n \"DELETE_DOMAIN_ID\",\n \"DESC\",\n \"DESCRIBE\",\n \"DETERMINISTIC\",\n \"DISTINCT\",\n \"DISTINCTROW\",\n \"DIV\",\n \"DO_DOMAIN_IDS\",\n \"DROP\",\n \"DUAL\",\n \"EACH\",\n \"ELSE\",\n \"ELSEIF\",\n \"ENCLOSED\",\n \"ESCAPED\",\n \"EXCEPT\",\n \"EXISTS\",\n \"EXIT\",\n \"EXPLAIN\",\n \"FALSE\",\n \"FETCH\",\n \"FOR\",\n \"FORCE\",\n \"FOREIGN\",\n \"FROM\",\n \"FULLTEXT\",\n \"GENERAL\",\n \"GRANT\",\n \"GROUP\",\n \"HAVING\",\n \"HIGH_PRIORITY\",\n \"HOUR_MICROSECOND\",\n \"HOUR_MINUTE\",\n \"HOUR_SECOND\",\n \"IF\",\n \"IGNORE\",\n \"IGNORE_DOMAIN_IDS\",\n \"IGNORE_SERVER_IDS\",\n \"IN\",\n \"INDEX\",\n \"INFILE\",\n \"INNER\",\n \"INOUT\",\n \"INSENSITIVE\",\n \"INSERT\",\n \"INTERSECT\",\n \"INTERVAL\",\n \"INTO\",\n \"IS\",\n \"ITERATE\",\n \"JOIN\",\n \"KEY\",\n \"KEYS\",\n \"KILL\",\n \"LEADING\",\n \"LEAVE\",\n \"LEFT\",\n \"LIKE\",\n \"LIMIT\",\n \"LINEAR\",\n \"LINES\",\n \"LOAD\",\n \"LOCALTIME\",\n \"LOCALTIMESTAMP\",\n \"LOCK\",\n \"LOOP\",\n \"LOW_PRIORITY\",\n \"MASTER_HEARTBEAT_PERIOD\",\n \"MASTER_SSL_VERIFY_SERVER_CERT\",\n \"MATCH\",\n \"MAXVALUE\",\n \"MINUTE_MICROSECOND\",\n \"MINUTE_SECOND\",\n \"MOD\",\n \"MODIFIES\",\n \"NATURAL\",\n \"NOT\",\n \"NO_WRITE_TO_BINLOG\",\n \"NULL\",\n \"OFFSET\",\n \"ON\",\n \"OPTIMIZE\",\n \"OPTION\",\n \"OPTIONALLY\",\n \"OR\",\n \"ORDER\",\n \"OUT\",\n \"OUTER\",\n \"OUTFILE\",\n \"OVER\",\n \"PAGE_CHECKSUM\",\n \"PARSE_VCOL_EXPR\",\n \"PARTITION\",\n \"POSITION\",\n \"PRIMARY\",\n \"PROCEDURE\",\n \"PURGE\",\n \"RANGE\",\n \"READ\",\n \"READS\",\n \"READ_WRITE\",\n \"RECURSIVE\",\n \"REF_SYSTEM_ID\",\n \"REFERENCES\",\n \"REGEXP\",\n \"RELEASE\",\n \"RENAME\",\n \"REPEAT\",\n \"REPLACE\",\n \"REQUIRE\",\n \"RESIGNAL\",\n \"RESTRICT\",\n \"RETURN\",\n \"RETURNING\",\n \"REVOKE\",\n \"RIGHT\",\n \"RLIKE\",\n \"ROW_NUMBER\",\n \"ROWS\",\n \"SCHEMA\",\n \"SCHEMAS\",\n \"SECOND_MICROSECOND\",\n \"SELECT\",\n \"SENSITIVE\",\n \"SEPARATOR\",\n \"SET\",\n \"SHOW\",\n \"SIGNAL\",\n \"SLOW\",\n \"SPATIAL\",\n \"SPECIFIC\",\n \"SQL\",\n \"SQLEXCEPTION\",\n \"SQLSTATE\",\n \"SQLWARNING\",\n \"SQL_BIG_RESULT\",\n \"SQL_CALC_FOUND_ROWS\",\n \"SQL_SMALL_RESULT\",\n \"SSL\",\n \"STARTING\",\n \"STATS_AUTO_RECALC\",\n \"STATS_PERSISTENT\",\n \"STATS_SAMPLE_PAGES\",\n \"STRAIGHT_JOIN\",\n \"TABLE\",\n \"TERMINATED\",\n \"THEN\",\n \"TO\",\n \"TRAILING\",\n \"TRIGGER\",\n \"TRUE\",\n \"UNDO\",\n \"UNION\",\n \"UNIQUE\",\n \"UNLOCK\",\n \"UNSIGNED\",\n \"UPDATE\",\n \"USAGE\",\n \"USE\",\n \"USING\",\n \"UTC_DATE\",\n \"UTC_TIME\",\n \"UTC_TIMESTAMP\",\n \"VALUES\",\n \"WHEN\",\n \"WHERE\",\n \"WHILE\",\n \"WINDOW\",\n \"WITH\",\n \"WRITE\",\n \"XOR\",\n \"YEAR_MONTH\",\n \"ZEROFILL\"\n];\nvar dataTypes5 = [\n // https://mariadb.com/kb/en/data-types/\n \"BIGINT\",\n \"BINARY\",\n \"BIT\",\n \"BLOB\",\n \"CHAR BYTE\",\n \"CHAR\",\n \"CHARACTER\",\n \"DATETIME\",\n \"DEC\",\n \"DECIMAL\",\n \"DOUBLE PRECISION\",\n \"DOUBLE\",\n \"ENUM\",\n \"FIXED\",\n \"FLOAT\",\n \"FLOAT4\",\n \"FLOAT8\",\n \"INT\",\n \"INT1\",\n \"INT2\",\n \"INT3\",\n \"INT4\",\n \"INT8\",\n \"INTEGER\",\n \"LONG\",\n \"LONGBLOB\",\n \"LONGTEXT\",\n \"MEDIUMBLOB\",\n \"MEDIUMINT\",\n \"MEDIUMTEXT\",\n \"MIDDLEINT\",\n \"NATIONAL CHAR\",\n \"NATIONAL VARCHAR\",\n \"NUMERIC\",\n \"PRECISION\",\n \"REAL\",\n \"SMALLINT\",\n \"TEXT\",\n \"TIMESTAMP\",\n \"TINYBLOB\",\n \"TINYINT\",\n \"TINYTEXT\",\n \"VARBINARY\",\n \"VARCHAR\",\n \"VARCHARACTER\",\n \"VARYING\",\n \"YEAR\"\n // 'NUMBER', // ?? In oracle mode only\n // 'SET' // handled as special-case in postProcess\n];\n\n// src/languages/mariadb/mariadb.functions.ts\nvar functions5 = [\n // https://mariadb.com/kb/en/information-schema-sql_functions-table/\n \"ADDDATE\",\n \"ADD_MONTHS\",\n \"BIT_AND\",\n \"BIT_OR\",\n \"BIT_XOR\",\n \"CAST\",\n \"COUNT\",\n \"CUME_DIST\",\n \"CURDATE\",\n \"CURTIME\",\n \"DATE_ADD\",\n \"DATE_SUB\",\n \"DATE_FORMAT\",\n \"DECODE\",\n \"DENSE_RANK\",\n \"EXTRACT\",\n \"FIRST_VALUE\",\n \"GROUP_CONCAT\",\n \"JSON_ARRAYAGG\",\n \"JSON_OBJECTAGG\",\n \"LAG\",\n \"LEAD\",\n \"MAX\",\n \"MEDIAN\",\n \"MID\",\n \"MIN\",\n \"NOW\",\n \"NTH_VALUE\",\n \"NTILE\",\n \"POSITION\",\n \"PERCENT_RANK\",\n \"PERCENTILE_CONT\",\n \"PERCENTILE_DISC\",\n \"RANK\",\n \"ROW_NUMBER\",\n \"SESSION_USER\",\n \"STD\",\n \"STDDEV\",\n \"STDDEV_POP\",\n \"STDDEV_SAMP\",\n \"SUBDATE\",\n \"SUBSTR\",\n \"SUBSTRING\",\n \"SUM\",\n \"SYSTEM_USER\",\n \"TRIM\",\n \"TRIM_ORACLE\",\n \"VARIANCE\",\n \"VAR_POP\",\n \"VAR_SAMP\",\n \"ABS\",\n \"ACOS\",\n \"ADDTIME\",\n \"AES_DECRYPT\",\n \"AES_ENCRYPT\",\n \"ASIN\",\n \"ATAN\",\n \"ATAN2\",\n \"BENCHMARK\",\n \"BIN\",\n \"BINLOG_GTID_POS\",\n \"BIT_COUNT\",\n \"BIT_LENGTH\",\n \"CEIL\",\n \"CEILING\",\n \"CHARACTER_LENGTH\",\n \"CHAR_LENGTH\",\n \"CHR\",\n \"COERCIBILITY\",\n \"COLUMN_CHECK\",\n \"COLUMN_EXISTS\",\n \"COLUMN_LIST\",\n \"COLUMN_JSON\",\n \"COMPRESS\",\n \"CONCAT\",\n \"CONCAT_OPERATOR_ORACLE\",\n \"CONCAT_WS\",\n \"CONNECTION_ID\",\n \"CONV\",\n \"CONVERT_TZ\",\n \"COS\",\n \"COT\",\n \"CRC32\",\n \"DATEDIFF\",\n \"DAYNAME\",\n \"DAYOFMONTH\",\n \"DAYOFWEEK\",\n \"DAYOFYEAR\",\n \"DEGREES\",\n \"DECODE_HISTOGRAM\",\n \"DECODE_ORACLE\",\n \"DES_DECRYPT\",\n \"DES_ENCRYPT\",\n \"ELT\",\n \"ENCODE\",\n \"ENCRYPT\",\n \"EXP\",\n \"EXPORT_SET\",\n \"EXTRACTVALUE\",\n \"FIELD\",\n \"FIND_IN_SET\",\n \"FLOOR\",\n \"FORMAT\",\n \"FOUND_ROWS\",\n \"FROM_BASE64\",\n \"FROM_DAYS\",\n \"FROM_UNIXTIME\",\n \"GET_LOCK\",\n \"GREATEST\",\n \"HEX\",\n \"IFNULL\",\n \"INSTR\",\n \"ISNULL\",\n \"IS_FREE_LOCK\",\n \"IS_USED_LOCK\",\n \"JSON_ARRAY\",\n \"JSON_ARRAY_APPEND\",\n \"JSON_ARRAY_INSERT\",\n \"JSON_COMPACT\",\n \"JSON_CONTAINS\",\n \"JSON_CONTAINS_PATH\",\n \"JSON_DEPTH\",\n \"JSON_DETAILED\",\n \"JSON_EXISTS\",\n \"JSON_EXTRACT\",\n \"JSON_INSERT\",\n \"JSON_KEYS\",\n \"JSON_LENGTH\",\n \"JSON_LOOSE\",\n \"JSON_MERGE\",\n \"JSON_MERGE_PATCH\",\n \"JSON_MERGE_PRESERVE\",\n \"JSON_QUERY\",\n \"JSON_QUOTE\",\n \"JSON_OBJECT\",\n \"JSON_REMOVE\",\n \"JSON_REPLACE\",\n \"JSON_SET\",\n \"JSON_SEARCH\",\n \"JSON_TYPE\",\n \"JSON_UNQUOTE\",\n \"JSON_VALID\",\n \"JSON_VALUE\",\n \"LAST_DAY\",\n \"LAST_INSERT_ID\",\n \"LCASE\",\n \"LEAST\",\n \"LENGTH\",\n \"LENGTHB\",\n \"LN\",\n \"LOAD_FILE\",\n \"LOCATE\",\n \"LOG\",\n \"LOG10\",\n \"LOG2\",\n \"LOWER\",\n \"LPAD\",\n \"LPAD_ORACLE\",\n \"LTRIM\",\n \"LTRIM_ORACLE\",\n \"MAKEDATE\",\n \"MAKETIME\",\n \"MAKE_SET\",\n \"MASTER_GTID_WAIT\",\n \"MASTER_POS_WAIT\",\n \"MD5\",\n \"MONTHNAME\",\n \"NAME_CONST\",\n \"NVL\",\n \"NVL2\",\n \"OCT\",\n \"OCTET_LENGTH\",\n \"ORD\",\n \"PERIOD_ADD\",\n \"PERIOD_DIFF\",\n \"PI\",\n \"POW\",\n \"POWER\",\n \"QUOTE\",\n \"REGEXP_INSTR\",\n \"REGEXP_REPLACE\",\n \"REGEXP_SUBSTR\",\n \"RADIANS\",\n \"RAND\",\n \"RELEASE_ALL_LOCKS\",\n \"RELEASE_LOCK\",\n \"REPLACE_ORACLE\",\n \"REVERSE\",\n \"ROUND\",\n \"RPAD\",\n \"RPAD_ORACLE\",\n \"RTRIM\",\n \"RTRIM_ORACLE\",\n \"SEC_TO_TIME\",\n \"SHA\",\n \"SHA1\",\n \"SHA2\",\n \"SIGN\",\n \"SIN\",\n \"SLEEP\",\n \"SOUNDEX\",\n \"SPACE\",\n \"SQRT\",\n \"STRCMP\",\n \"STR_TO_DATE\",\n \"SUBSTR_ORACLE\",\n \"SUBSTRING_INDEX\",\n \"SUBTIME\",\n \"SYS_GUID\",\n \"TAN\",\n \"TIMEDIFF\",\n \"TIME_FORMAT\",\n \"TIME_TO_SEC\",\n \"TO_BASE64\",\n \"TO_CHAR\",\n \"TO_DAYS\",\n \"TO_SECONDS\",\n \"UCASE\",\n \"UNCOMPRESS\",\n \"UNCOMPRESSED_LENGTH\",\n \"UNHEX\",\n \"UNIX_TIMESTAMP\",\n \"UPDATEXML\",\n \"UPPER\",\n \"UUID\",\n \"UUID_SHORT\",\n \"VERSION\",\n \"WEEKDAY\",\n \"WEEKOFYEAR\",\n \"WSREP_LAST_WRITTEN_GTID\",\n \"WSREP_LAST_SEEN_GTID\",\n \"WSREP_SYNC_WAIT_UPTO_GTID\",\n \"YEARWEEK\",\n // CASE expression shorthands\n \"COALESCE\",\n \"NULLIF\"\n];\n\n// src/languages/mariadb/mariadb.formatter.ts\nvar reservedSelect5 = expandPhrases([\"SELECT [ALL | DISTINCT | DISTINCTROW]\"]);\nvar reservedClauses5 = expandPhrases([\n // queries\n \"WITH [RECURSIVE]\",\n \"FROM\",\n \"WHERE\",\n \"GROUP BY\",\n \"HAVING\",\n \"PARTITION BY\",\n \"ORDER BY\",\n \"LIMIT\",\n \"OFFSET\",\n \"FETCH {FIRST | NEXT}\",\n // Data manipulation\n // - insert:\n \"INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE] [INTO]\",\n \"REPLACE [LOW_PRIORITY | DELAYED] [INTO]\",\n \"VALUES\",\n \"ON DUPLICATE KEY UPDATE\",\n // - update:\n \"SET\",\n // other\n \"RETURNING\"\n]);\nvar onelineClauses5 = expandPhrases([\n // - create:\n \"CREATE [OR REPLACE] [TEMPORARY] TABLE [IF NOT EXISTS]\",\n \"CREATE [OR REPLACE] [SQL SECURITY DEFINER | SQL SECURITY INVOKER] VIEW [IF NOT EXISTS]\",\n // - update:\n \"UPDATE [LOW_PRIORITY] [IGNORE]\",\n // - delete:\n \"DELETE [LOW_PRIORITY] [QUICK] [IGNORE] FROM\",\n // - drop table:\n \"DROP [TEMPORARY] TABLE [IF EXISTS]\",\n // - alter table:\n \"ALTER [ONLINE] [IGNORE] TABLE [IF EXISTS]\",\n \"ADD [COLUMN] [IF NOT EXISTS]\",\n \"{CHANGE | MODIFY} [COLUMN] [IF EXISTS]\",\n \"DROP [COLUMN] [IF EXISTS]\",\n \"RENAME [TO]\",\n \"RENAME COLUMN\",\n \"ALTER [COLUMN]\",\n \"{SET | DROP} DEFAULT\",\n // for alter column\n \"SET {VISIBLE | INVISIBLE}\",\n // for alter column\n // - truncate:\n \"TRUNCATE [TABLE]\",\n // https://mariadb.com/docs/reference/mdb/sql-statements/\n \"ALTER DATABASE\",\n \"ALTER DATABASE COMMENT\",\n \"ALTER EVENT\",\n \"ALTER FUNCTION\",\n \"ALTER PROCEDURE\",\n \"ALTER SCHEMA\",\n \"ALTER SCHEMA COMMENT\",\n \"ALTER SEQUENCE\",\n \"ALTER SERVER\",\n \"ALTER USER\",\n \"ALTER VIEW\",\n \"ANALYZE\",\n \"ANALYZE TABLE\",\n \"BACKUP LOCK\",\n \"BACKUP STAGE\",\n \"BACKUP UNLOCK\",\n \"BEGIN\",\n \"BINLOG\",\n \"CACHE INDEX\",\n \"CALL\",\n \"CHANGE MASTER TO\",\n \"CHECK TABLE\",\n \"CHECK VIEW\",\n \"CHECKSUM TABLE\",\n \"COMMIT\",\n \"CREATE AGGREGATE FUNCTION\",\n \"CREATE DATABASE\",\n \"CREATE EVENT\",\n \"CREATE FUNCTION\",\n \"CREATE INDEX\",\n \"CREATE PROCEDURE\",\n \"CREATE ROLE\",\n \"CREATE SEQUENCE\",\n \"CREATE SERVER\",\n \"CREATE SPATIAL INDEX\",\n \"CREATE TRIGGER\",\n \"CREATE UNIQUE INDEX\",\n \"CREATE USER\",\n \"DEALLOCATE PREPARE\",\n \"DESCRIBE\",\n \"DROP DATABASE\",\n \"DROP EVENT\",\n \"DROP FUNCTION\",\n \"DROP INDEX\",\n \"DROP PREPARE\",\n \"DROP PROCEDURE\",\n \"DROP ROLE\",\n \"DROP SEQUENCE\",\n \"DROP SERVER\",\n \"DROP TRIGGER\",\n \"DROP USER\",\n \"DROP VIEW\",\n \"EXECUTE\",\n \"EXPLAIN\",\n \"FLUSH\",\n \"GET DIAGNOSTICS\",\n \"GET DIAGNOSTICS CONDITION\",\n \"GRANT\",\n \"HANDLER\",\n \"HELP\",\n \"INSTALL PLUGIN\",\n \"INSTALL SONAME\",\n \"KILL\",\n \"LOAD DATA INFILE\",\n \"LOAD INDEX INTO CACHE\",\n \"LOAD XML INFILE\",\n \"LOCK TABLE\",\n \"OPTIMIZE TABLE\",\n \"PREPARE\",\n \"PURGE BINARY LOGS\",\n \"PURGE MASTER LOGS\",\n \"RELEASE SAVEPOINT\",\n \"RENAME TABLE\",\n \"RENAME USER\",\n \"REPAIR TABLE\",\n \"REPAIR VIEW\",\n \"RESET MASTER\",\n \"RESET QUERY CACHE\",\n \"RESET REPLICA\",\n \"RESET SLAVE\",\n \"RESIGNAL\",\n \"REVOKE\",\n \"ROLLBACK\",\n \"SAVEPOINT\",\n \"SET CHARACTER SET\",\n \"SET DEFAULT ROLE\",\n \"SET GLOBAL TRANSACTION\",\n \"SET NAMES\",\n \"SET PASSWORD\",\n \"SET ROLE\",\n \"SET STATEMENT\",\n \"SET TRANSACTION\",\n \"SHOW\",\n \"SHOW ALL REPLICAS STATUS\",\n \"SHOW ALL SLAVES STATUS\",\n \"SHOW AUTHORS\",\n \"SHOW BINARY LOGS\",\n \"SHOW BINLOG EVENTS\",\n \"SHOW BINLOG STATUS\",\n \"SHOW CHARACTER SET\",\n \"SHOW CLIENT_STATISTICS\",\n \"SHOW COLLATION\",\n \"SHOW COLUMNS\",\n \"SHOW CONTRIBUTORS\",\n \"SHOW CREATE DATABASE\",\n \"SHOW CREATE EVENT\",\n \"SHOW CREATE FUNCTION\",\n \"SHOW CREATE PACKAGE\",\n \"SHOW CREATE PACKAGE BODY\",\n \"SHOW CREATE PROCEDURE\",\n \"SHOW CREATE SEQUENCE\",\n \"SHOW CREATE TABLE\",\n \"SHOW CREATE TRIGGER\",\n \"SHOW CREATE USER\",\n \"SHOW CREATE VIEW\",\n \"SHOW DATABASES\",\n \"SHOW ENGINE\",\n \"SHOW ENGINE INNODB STATUS\",\n \"SHOW ENGINES\",\n \"SHOW ERRORS\",\n \"SHOW EVENTS\",\n \"SHOW EXPLAIN\",\n \"SHOW FUNCTION CODE\",\n \"SHOW FUNCTION STATUS\",\n \"SHOW GRANTS\",\n \"SHOW INDEX\",\n \"SHOW INDEXES\",\n \"SHOW INDEX_STATISTICS\",\n \"SHOW KEYS\",\n \"SHOW LOCALES\",\n \"SHOW MASTER LOGS\",\n \"SHOW MASTER STATUS\",\n \"SHOW OPEN TABLES\",\n \"SHOW PACKAGE BODY CODE\",\n \"SHOW PACKAGE BODY STATUS\",\n \"SHOW PACKAGE STATUS\",\n \"SHOW PLUGINS\",\n \"SHOW PLUGINS SONAME\",\n \"SHOW PRIVILEGES\",\n \"SHOW PROCEDURE CODE\",\n \"SHOW PROCEDURE STATUS\",\n \"SHOW PROCESSLIST\",\n \"SHOW PROFILE\",\n \"SHOW PROFILES\",\n \"SHOW QUERY_RESPONSE_TIME\",\n \"SHOW RELAYLOG EVENTS\",\n \"SHOW REPLICA\",\n \"SHOW REPLICA HOSTS\",\n \"SHOW REPLICA STATUS\",\n \"SHOW SCHEMAS\",\n \"SHOW SLAVE\",\n \"SHOW SLAVE HOSTS\",\n \"SHOW SLAVE STATUS\",\n \"SHOW STATUS\",\n \"SHOW STORAGE ENGINES\",\n \"SHOW TABLE STATUS\",\n \"SHOW TABLES\",\n \"SHOW TRIGGERS\",\n \"SHOW USER_STATISTICS\",\n \"SHOW VARIABLES\",\n \"SHOW WARNINGS\",\n \"SHOW WSREP_MEMBERSHIP\",\n \"SHOW WSREP_STATUS\",\n \"SHUTDOWN\",\n \"SIGNAL\",\n \"START ALL REPLICAS\",\n \"START ALL SLAVES\",\n \"START REPLICA\",\n \"START SLAVE\",\n \"START TRANSACTION\",\n \"STOP ALL REPLICAS\",\n \"STOP ALL SLAVES\",\n \"STOP REPLICA\",\n \"STOP SLAVE\",\n \"UNINSTALL PLUGIN\",\n \"UNINSTALL SONAME\",\n \"UNLOCK TABLE\",\n \"USE\",\n \"XA BEGIN\",\n \"XA COMMIT\",\n \"XA END\",\n \"XA PREPARE\",\n \"XA RECOVER\",\n \"XA ROLLBACK\",\n \"XA START\"\n]);\nvar reservedSetOperations5 = expandPhrases([\n \"UNION [ALL | DISTINCT]\",\n \"EXCEPT [ALL | DISTINCT]\",\n \"INTERSECT [ALL | DISTINCT]\",\n \"MINUS [ALL | DISTINCT]\"\n]);\nvar reservedJoins5 = expandPhrases([\n \"JOIN\",\n \"{LEFT | RIGHT} [OUTER] JOIN\",\n \"{INNER | CROSS} JOIN\",\n \"NATURAL JOIN\",\n \"NATURAL {LEFT | RIGHT} [OUTER] JOIN\",\n // non-standard joins\n \"STRAIGHT_JOIN\"\n]);\nvar reservedPhrases5 = expandPhrases([\n \"ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]\",\n \"CHARACTER SET\",\n \"{ROWS | RANGE} BETWEEN\",\n \"IDENTIFIED BY\"\n]);\nvar mariadb = {\n name: \"mariadb\",\n tokenizerOptions: {\n reservedSelect: reservedSelect5,\n reservedClauses: [...reservedClauses5, ...onelineClauses5],\n reservedSetOperations: reservedSetOperations5,\n reservedJoins: reservedJoins5,\n reservedPhrases: reservedPhrases5,\n supportsXor: true,\n reservedKeywords: keywords5,\n reservedDataTypes: dataTypes5,\n reservedFunctionNames: functions5,\n // TODO: support _ char set prefixes such as _utf8, _latin1, _binary, _utf8mb4, etc.\n stringTypes: [\n '\"\"-qq-bs',\n \"''-qq-bs\",\n { quote: \"''-raw\", prefixes: [\"B\", \"X\"], requirePrefix: true }\n ],\n identTypes: [\"``\"],\n identChars: { first: \"$\", rest: \"$\", allowFirstCharNumber: true },\n variableTypes: [\n { regex: \"@@?[A-Za-z0-9_.$]+\" },\n { quote: '\"\"-qq-bs', prefixes: [\"@\"], requirePrefix: true },\n { quote: \"''-qq-bs\", prefixes: [\"@\"], requirePrefix: true },\n { quote: \"``\", prefixes: [\"@\"], requirePrefix: true }\n ],\n paramTypes: { positional: true },\n lineCommentTypes: [\"--\", \"#\"],\n operators: [\n \"%\",\n \":=\",\n \"&\",\n \"|\",\n \"^\",\n \"~\",\n \"<<\",\n \">>\",\n \"<=>\",\n \"&&\",\n \"||\",\n \"!\",\n \"*.*\"\n // Not actually an operator\n ],\n postProcess: postProcess2\n },\n formatOptions: {\n onelineClauses: onelineClauses5\n }\n};\n\n// src/languages/mysql/mysql.keywords.ts\nvar keywords6 = [\n // https://dev.mysql.com/doc/refman/8.0/en/keywords.html\n \"ACCESSIBLE\",\n // (R)\n \"ADD\",\n // (R)\n \"ALL\",\n // (R)\n \"ALTER\",\n // (R)\n \"ANALYZE\",\n // (R)\n \"AND\",\n // (R)\n \"AS\",\n // (R)\n \"ASC\",\n // (R)\n \"ASENSITIVE\",\n // (R)\n \"BEFORE\",\n // (R)\n \"BETWEEN\",\n // (R)\n \"BOTH\",\n // (R)\n \"BY\",\n // (R)\n \"CALL\",\n // (R)\n \"CASCADE\",\n // (R)\n \"CASE\",\n // (R)\n \"CHANGE\",\n // (R)\n \"CHECK\",\n // (R)\n \"COLLATE\",\n // (R)\n \"COLUMN\",\n // (R)\n \"CONDITION\",\n // (R)\n \"CONSTRAINT\",\n // (R)\n \"CONTINUE\",\n // (R)\n \"CONVERT\",\n // (R)\n \"CREATE\",\n // (R)\n \"CROSS\",\n // (R)\n \"CUBE\",\n // (R)\n \"CUME_DIST\",\n // (R)\n \"CURRENT_DATE\",\n // (R)\n \"CURRENT_TIME\",\n // (R)\n \"CURRENT_TIMESTAMP\",\n // (R)\n \"CURRENT_USER\",\n // (R)\n \"CURSOR\",\n // (R)\n \"DATABASE\",\n // (R)\n \"DATABASES\",\n // (R)\n \"DAY_HOUR\",\n // (R)\n \"DAY_MICROSECOND\",\n // (R)\n \"DAY_MINUTE\",\n // (R)\n \"DAY_SECOND\",\n // (R)\n \"DECLARE\",\n // (R)\n \"DEFAULT\",\n // (R)\n \"DELAYED\",\n // (R)\n \"DELETE\",\n // (R)\n \"DENSE_RANK\",\n // (R)\n \"DESC\",\n // (R)\n \"DESCRIBE\",\n // (R)\n \"DETERMINISTIC\",\n // (R)\n \"DISTINCT\",\n // (R)\n \"DISTINCTROW\",\n // (R)\n \"DIV\",\n // (R)\n \"DROP\",\n // (R)\n \"DUAL\",\n // (R)\n \"EACH\",\n // (R)\n \"ELSE\",\n // (R)\n \"ELSEIF\",\n // (R)\n \"EMPTY\",\n // (R)\n \"ENCLOSED\",\n // (R)\n \"ESCAPED\",\n // (R)\n \"EXCEPT\",\n // (R)\n \"EXISTS\",\n // (R)\n \"EXIT\",\n // (R)\n \"EXPLAIN\",\n // (R)\n \"FALSE\",\n // (R)\n \"FETCH\",\n // (R)\n \"FIRST_VALUE\",\n // (R)\n \"FOR\",\n // (R)\n \"FORCE\",\n // (R)\n \"FOREIGN\",\n // (R)\n \"FROM\",\n // (R)\n \"FULLTEXT\",\n // (R)\n \"FUNCTION\",\n // (R)\n \"GENERATED\",\n // (R)\n \"GET\",\n // (R)\n \"GRANT\",\n // (R)\n \"GROUP\",\n // (R)\n \"GROUPING\",\n // (R)\n \"GROUPS\",\n // (R)\n \"HAVING\",\n // (R)\n \"HIGH_PRIORITY\",\n // (R)\n \"HOUR_MICROSECOND\",\n // (R)\n \"HOUR_MINUTE\",\n // (R)\n \"HOUR_SECOND\",\n // (R)\n \"IF\",\n // (R)\n \"IGNORE\",\n // (R)\n \"IN\",\n // (R)\n \"INDEX\",\n // (R)\n \"INFILE\",\n // (R)\n \"INNER\",\n // (R)\n \"INOUT\",\n // (R)\n \"INSENSITIVE\",\n // (R)\n \"INSERT\",\n // (R)\n \"IN\",\n // <-- moved over from functions\n \"INTERSECT\",\n // (R)\n \"INTERVAL\",\n // (R)\n \"INTO\",\n // (R)\n \"IO_AFTER_GTIDS\",\n // (R)\n \"IO_BEFORE_GTIDS\",\n // (R)\n \"IS\",\n // (R)\n \"ITERATE\",\n // (R)\n \"JOIN\",\n // (R)\n \"JSON_TABLE\",\n // (R)\n \"KEY\",\n // (R)\n \"KEYS\",\n // (R)\n \"KILL\",\n // (R)\n \"LAG\",\n // (R)\n \"LAST_VALUE\",\n // (R)\n \"LATERAL\",\n // (R)\n \"LEAD\",\n // (R)\n \"LEADING\",\n // (R)\n \"LEAVE\",\n // (R)\n \"LEFT\",\n // (R)\n \"LIKE\",\n // (R)\n \"LIMIT\",\n // (R)\n \"LINEAR\",\n // (R)\n \"LINES\",\n // (R)\n \"LOAD\",\n // (R)\n \"LOCALTIME\",\n // (R)\n \"LOCALTIMESTAMP\",\n // (R)\n \"LOCK\",\n // (R)\n \"LONG\",\n // (R)\n \"LOOP\",\n // (R)\n \"LOW_PRIORITY\",\n // (R)\n \"MASTER_BIND\",\n // (R)\n \"MASTER_SSL_VERIFY_SERVER_CERT\",\n // (R)\n \"MATCH\",\n // (R)\n \"MAXVALUE\",\n // (R)\n \"MINUTE_MICROSECOND\",\n // (R)\n \"MINUTE_SECOND\",\n // (R)\n \"MOD\",\n // (R)\n \"MODIFIES\",\n // (R)\n \"NATURAL\",\n // (R)\n \"NOT\",\n // (R)\n \"NO_WRITE_TO_BINLOG\",\n // (R)\n \"NTH_VALUE\",\n // (R)\n \"NTILE\",\n // (R)\n \"NULL\",\n // (R)\n \"OF\",\n // (R)\n \"ON\",\n // (R)\n \"OPTIMIZE\",\n // (R)\n \"OPTIMIZER_COSTS\",\n // (R)\n \"OPTION\",\n // (R)\n \"OPTIONALLY\",\n // (R)\n \"OR\",\n // (R)\n \"ORDER\",\n // (R)\n \"OUT\",\n // (R)\n \"OUTER\",\n // (R)\n \"OUTFILE\",\n // (R)\n \"OVER\",\n // (R)\n \"PARTITION\",\n // (R)\n \"PERCENT_RANK\",\n // (R)\n \"PRIMARY\",\n // (R)\n \"PROCEDURE\",\n // (R)\n \"PURGE\",\n // (R)\n \"RANGE\",\n // (R)\n \"RANK\",\n // (R)\n \"READ\",\n // (R)\n \"READS\",\n // (R)\n \"READ_WRITE\",\n // (R)\n \"RECURSIVE\",\n // (R)\n \"REFERENCES\",\n // (R)\n \"REGEXP\",\n // (R)\n \"RELEASE\",\n // (R)\n \"RENAME\",\n // (R)\n \"REPEAT\",\n // (R)\n \"REPLACE\",\n // (R)\n \"REQUIRE\",\n // (R)\n \"RESIGNAL\",\n // (R)\n \"RESTRICT\",\n // (R)\n \"RETURN\",\n // (R)\n \"REVOKE\",\n // (R)\n \"RIGHT\",\n // (R)\n \"RLIKE\",\n // (R)\n \"ROW\",\n // (R)\n \"ROWS\",\n // (R)\n \"ROW_NUMBER\",\n // (R)\n \"SCHEMA\",\n // (R)\n \"SCHEMAS\",\n // (R)\n \"SECOND_MICROSECOND\",\n // (R)\n \"SELECT\",\n // (R)\n \"SENSITIVE\",\n // (R)\n \"SEPARATOR\",\n // (R)\n \"SET\",\n // (R)\n \"SHOW\",\n // (R)\n \"SIGNAL\",\n // (R)\n \"SPATIAL\",\n // (R)\n \"SPECIFIC\",\n // (R)\n \"SQL\",\n // (R)\n \"SQLEXCEPTION\",\n // (R)\n \"SQLSTATE\",\n // (R)\n \"SQLWARNING\",\n // (R)\n \"SQL_BIG_RESULT\",\n // (R)\n \"SQL_CALC_FOUND_ROWS\",\n // (R)\n \"SQL_SMALL_RESULT\",\n // (R)\n \"SSL\",\n // (R)\n \"STARTING\",\n // (R)\n \"STORED\",\n // (R)\n \"STRAIGHT_JOIN\",\n // (R)\n \"SYSTEM\",\n // (R)\n \"TABLE\",\n // (R)\n \"TERMINATED\",\n // (R)\n \"THEN\",\n // (R)\n \"TO\",\n // (R)\n \"TRAILING\",\n // (R)\n \"TRIGGER\",\n // (R)\n \"TRUE\",\n // (R)\n \"UNDO\",\n // (R)\n \"UNION\",\n // (R)\n \"UNIQUE\",\n // (R)\n \"UNLOCK\",\n // (R)\n \"UNSIGNED\",\n // (R)\n \"UPDATE\",\n // (R)\n \"USAGE\",\n // (R)\n \"USE\",\n // (R)\n \"USING\",\n // (R)\n \"UTC_DATE\",\n // (R)\n \"UTC_TIME\",\n // (R)\n \"UTC_TIMESTAMP\",\n // (R)\n \"VALUES\",\n // (R)\n \"VIRTUAL\",\n // (R)\n \"WHEN\",\n // (R)\n \"WHERE\",\n // (R)\n \"WHILE\",\n // (R)\n \"WINDOW\",\n // (R)\n \"WITH\",\n // (R)\n \"WRITE\",\n // (R)\n \"XOR\",\n // (R)\n \"YEAR_MONTH\",\n // (R)\n \"ZEROFILL\"\n // (R)\n];\nvar dataTypes6 = [\n // https://dev.mysql.com/doc/refman/8.0/en/data-types.html\n \"BIGINT\",\n // (R)\n \"BINARY\",\n // (R)\n \"BIT\",\n \"BLOB\",\n // (R)\n \"BOOL\",\n // (R)\n \"BOOLEAN\",\n // (R)\n \"CHAR\",\n // (R)\n \"CHARACTER\",\n // (R)\n \"DATE\",\n // (R)\n \"DATETIME\",\n // (R)\n \"DEC\",\n // (R)\n \"DECIMAL\",\n // (R)\n \"DOUBLE PRECISION\",\n \"DOUBLE\",\n // (R)\n \"ENUM\",\n \"FIXED\",\n \"FLOAT\",\n // (R)\n \"FLOAT4\",\n // (R)\n \"FLOAT8\",\n // (R)\n \"INT\",\n // (R)\n \"INT1\",\n // (R)\n \"INT2\",\n // (R)\n \"INT3\",\n // (R)\n \"INT4\",\n // (R)\n \"INT8\",\n // (R)\n \"INTEGER\",\n // (R)\n \"LONGBLOB\",\n // (R)\n \"LONGTEXT\",\n // (R)\n \"MEDIUMBLOB\",\n // (R)\n \"MEDIUMINT\",\n // (R)\n \"MEDIUMTEXT\",\n // (R)\n \"MIDDLEINT\",\n // (R)\n \"NATIONAL CHAR\",\n // (R)\n \"NATIONAL VARCHAR\",\n // (R)\n \"NUMERIC\",\n // (R)\n \"PRECISION\",\n // (R)\n \"REAL\",\n // (R)\n \"SMALLINT\",\n // (R)\n \"TEXT\",\n \"TIME\",\n \"TIMESTAMP\",\n // (R)\n \"TINYBLOB\",\n // (R)\n \"TINYINT\",\n // (R)\n \"TINYTEXT\",\n // (R)\n \"VARBINARY\",\n // (R)\n \"VARCHAR\",\n // (R)\n \"VARCHARACTER\",\n // (R)\n \"VARYING\",\n // (R)\n \"YEAR\"\n // 'SET' // handled as special-case in postProcess\n];\n\n// src/languages/mysql/mysql.functions.ts\nvar functions6 = [\n // https://dev.mysql.com/doc/refman/8.0/en/built-in-function-reference.html\n \"ABS\",\n \"ACOS\",\n \"ADDDATE\",\n \"ADDTIME\",\n \"AES_DECRYPT\",\n \"AES_ENCRYPT\",\n // 'AND',\n \"ANY_VALUE\",\n \"ASCII\",\n \"ASIN\",\n \"ATAN\",\n \"ATAN2\",\n \"AVG\",\n \"BENCHMARK\",\n \"BIN\",\n \"BIN_TO_UUID\",\n \"BINARY\",\n \"BIT_AND\",\n \"BIT_COUNT\",\n \"BIT_LENGTH\",\n \"BIT_OR\",\n \"BIT_XOR\",\n \"CAN_ACCESS_COLUMN\",\n \"CAN_ACCESS_DATABASE\",\n \"CAN_ACCESS_TABLE\",\n \"CAN_ACCESS_USER\",\n \"CAN_ACCESS_VIEW\",\n \"CAST\",\n \"CEIL\",\n \"CEILING\",\n \"CHAR\",\n \"CHAR_LENGTH\",\n \"CHARACTER_LENGTH\",\n \"CHARSET\",\n \"COALESCE\",\n \"COERCIBILITY\",\n \"COLLATION\",\n \"COMPRESS\",\n \"CONCAT\",\n \"CONCAT_WS\",\n \"CONNECTION_ID\",\n \"CONV\",\n \"CONVERT\",\n \"CONVERT_TZ\",\n \"COS\",\n \"COT\",\n \"COUNT\",\n \"CRC32\",\n \"CUME_DIST\",\n \"CURDATE\",\n \"CURRENT_DATE\",\n \"CURRENT_ROLE\",\n \"CURRENT_TIME\",\n \"CURRENT_TIMESTAMP\",\n \"CURRENT_USER\",\n \"CURTIME\",\n \"DATABASE\",\n \"DATE\",\n \"DATE_ADD\",\n \"DATE_FORMAT\",\n \"DATE_SUB\",\n \"DATEDIFF\",\n \"DAY\",\n \"DAYNAME\",\n \"DAYOFMONTH\",\n \"DAYOFWEEK\",\n \"DAYOFYEAR\",\n \"DEFAULT\",\n \"DEGREES\",\n \"DENSE_RANK\",\n \"DIV\",\n \"ELT\",\n \"EXP\",\n \"EXPORT_SET\",\n \"EXTRACT\",\n \"EXTRACTVALUE\",\n \"FIELD\",\n \"FIND_IN_SET\",\n \"FIRST_VALUE\",\n \"FLOOR\",\n \"FORMAT\",\n \"FORMAT_BYTES\",\n \"FORMAT_PICO_TIME\",\n \"FOUND_ROWS\",\n \"FROM_BASE64\",\n \"FROM_DAYS\",\n \"FROM_UNIXTIME\",\n \"GEOMCOLLECTION\",\n \"GEOMETRYCOLLECTION\",\n \"GET_DD_COLUMN_PRIVILEGES\",\n \"GET_DD_CREATE_OPTIONS\",\n \"GET_DD_INDEX_SUB_PART_LENGTH\",\n \"GET_FORMAT\",\n \"GET_LOCK\",\n \"GREATEST\",\n \"GROUP_CONCAT\",\n \"GROUPING\",\n \"GTID_SUBSET\",\n \"GTID_SUBTRACT\",\n \"HEX\",\n \"HOUR\",\n \"ICU_VERSION\",\n \"IF\",\n \"IFNULL\",\n // 'IN',\n \"INET_ATON\",\n \"INET_NTOA\",\n \"INET6_ATON\",\n \"INET6_NTOA\",\n \"INSERT\",\n \"INSTR\",\n \"INTERNAL_AUTO_INCREMENT\",\n \"INTERNAL_AVG_ROW_LENGTH\",\n \"INTERNAL_CHECK_TIME\",\n \"INTERNAL_CHECKSUM\",\n \"INTERNAL_DATA_FREE\",\n \"INTERNAL_DATA_LENGTH\",\n \"INTERNAL_DD_CHAR_LENGTH\",\n \"INTERNAL_GET_COMMENT_OR_ERROR\",\n \"INTERNAL_GET_ENABLED_ROLE_JSON\",\n \"INTERNAL_GET_HOSTNAME\",\n \"INTERNAL_GET_USERNAME\",\n \"INTERNAL_GET_VIEW_WARNING_OR_ERROR\",\n \"INTERNAL_INDEX_COLUMN_CARDINALITY\",\n \"INTERNAL_INDEX_LENGTH\",\n \"INTERNAL_IS_ENABLED_ROLE\",\n \"INTERNAL_IS_MANDATORY_ROLE\",\n \"INTERNAL_KEYS_DISABLED\",\n \"INTERNAL_MAX_DATA_LENGTH\",\n \"INTERNAL_TABLE_ROWS\",\n \"INTERNAL_UPDATE_TIME\",\n \"INTERVAL\",\n \"IS\",\n \"IS_FREE_LOCK\",\n \"IS_IPV4\",\n \"IS_IPV4_COMPAT\",\n \"IS_IPV4_MAPPED\",\n \"IS_IPV6\",\n \"IS NOT\",\n \"IS NOT NULL\",\n \"IS NULL\",\n \"IS_USED_LOCK\",\n \"IS_UUID\",\n \"ISNULL\",\n \"JSON_ARRAY\",\n \"JSON_ARRAY_APPEND\",\n \"JSON_ARRAY_INSERT\",\n \"JSON_ARRAYAGG\",\n \"JSON_CONTAINS\",\n \"JSON_CONTAINS_PATH\",\n \"JSON_DEPTH\",\n \"JSON_EXTRACT\",\n \"JSON_INSERT\",\n \"JSON_KEYS\",\n \"JSON_LENGTH\",\n \"JSON_MERGE\",\n \"JSON_MERGE_PATCH\",\n \"JSON_MERGE_PRESERVE\",\n \"JSON_OBJECT\",\n \"JSON_OBJECTAGG\",\n \"JSON_OVERLAPS\",\n \"JSON_PRETTY\",\n \"JSON_QUOTE\",\n \"JSON_REMOVE\",\n \"JSON_REPLACE\",\n \"JSON_SCHEMA_VALID\",\n \"JSON_SCHEMA_VALIDATION_REPORT\",\n \"JSON_SEARCH\",\n \"JSON_SET\",\n \"JSON_STORAGE_FREE\",\n \"JSON_STORAGE_SIZE\",\n \"JSON_TABLE\",\n \"JSON_TYPE\",\n \"JSON_UNQUOTE\",\n \"JSON_VALID\",\n \"JSON_VALUE\",\n \"LAG\",\n \"LAST_DAY\",\n \"LAST_INSERT_ID\",\n \"LAST_VALUE\",\n \"LCASE\",\n \"LEAD\",\n \"LEAST\",\n \"LEFT\",\n \"LENGTH\",\n \"LIKE\",\n \"LINESTRING\",\n \"LN\",\n \"LOAD_FILE\",\n \"LOCALTIME\",\n \"LOCALTIMESTAMP\",\n \"LOCATE\",\n \"LOG\",\n \"LOG10\",\n \"LOG2\",\n \"LOWER\",\n \"LPAD\",\n \"LTRIM\",\n \"MAKE_SET\",\n \"MAKEDATE\",\n \"MAKETIME\",\n \"MASTER_POS_WAIT\",\n \"MATCH\",\n \"MAX\",\n \"MBRCONTAINS\",\n \"MBRCOVEREDBY\",\n \"MBRCOVERS\",\n \"MBRDISJOINT\",\n \"MBREQUALS\",\n \"MBRINTERSECTS\",\n \"MBROVERLAPS\",\n \"MBRTOUCHES\",\n \"MBRWITHIN\",\n \"MD5\",\n \"MEMBER OF\",\n \"MICROSECOND\",\n \"MID\",\n \"MIN\",\n \"MINUTE\",\n \"MOD\",\n \"MONTH\",\n \"MONTHNAME\",\n \"MULTILINESTRING\",\n \"MULTIPOINT\",\n \"MULTIPOLYGON\",\n \"NAME_CONST\",\n \"NOT\",\n \"NOT IN\",\n \"NOT LIKE\",\n \"NOT REGEXP\",\n \"NOW\",\n \"NTH_VALUE\",\n \"NTILE\",\n \"NULLIF\",\n \"OCT\",\n \"OCTET_LENGTH\",\n // 'OR',\n \"ORD\",\n \"PERCENT_RANK\",\n \"PERIOD_ADD\",\n \"PERIOD_DIFF\",\n \"PI\",\n \"POINT\",\n \"POLYGON\",\n \"POSITION\",\n \"POW\",\n \"POWER\",\n \"PS_CURRENT_THREAD_ID\",\n \"PS_THREAD_ID\",\n \"QUARTER\",\n \"QUOTE\",\n \"RADIANS\",\n \"RAND\",\n \"RANDOM_BYTES\",\n \"RANK\",\n \"REGEXP\",\n \"REGEXP_INSTR\",\n \"REGEXP_LIKE\",\n \"REGEXP_REPLACE\",\n \"REGEXP_SUBSTR\",\n \"RELEASE_ALL_LOCKS\",\n \"RELEASE_LOCK\",\n \"REPEAT\",\n \"REPLACE\",\n \"REVERSE\",\n \"RIGHT\",\n \"RLIKE\",\n \"ROLES_GRAPHML\",\n \"ROUND\",\n \"ROW_COUNT\",\n \"ROW_NUMBER\",\n \"RPAD\",\n \"RTRIM\",\n \"SCHEMA\",\n \"SEC_TO_TIME\",\n \"SECOND\",\n \"SESSION_USER\",\n \"SHA1\",\n \"SHA2\",\n \"SIGN\",\n \"SIN\",\n \"SLEEP\",\n \"SOUNDEX\",\n \"SOUNDS LIKE\",\n \"SOURCE_POS_WAIT\",\n \"SPACE\",\n \"SQRT\",\n \"ST_AREA\",\n \"ST_ASBINARY\",\n \"ST_ASGEOJSON\",\n \"ST_ASTEXT\",\n \"ST_BUFFER\",\n \"ST_BUFFER_STRATEGY\",\n \"ST_CENTROID\",\n \"ST_COLLECT\",\n \"ST_CONTAINS\",\n \"ST_CONVEXHULL\",\n \"ST_CROSSES\",\n \"ST_DIFFERENCE\",\n \"ST_DIMENSION\",\n \"ST_DISJOINT\",\n \"ST_DISTANCE\",\n \"ST_DISTANCE_SPHERE\",\n \"ST_ENDPOINT\",\n \"ST_ENVELOPE\",\n \"ST_EQUALS\",\n \"ST_EXTERIORRING\",\n \"ST_FRECHETDISTANCE\",\n \"ST_GEOHASH\",\n \"ST_GEOMCOLLFROMTEXT\",\n \"ST_GEOMCOLLFROMWKB\",\n \"ST_GEOMETRYN\",\n \"ST_GEOMETRYTYPE\",\n \"ST_GEOMFROMGEOJSON\",\n \"ST_GEOMFROMTEXT\",\n \"ST_GEOMFROMWKB\",\n \"ST_HAUSDORFFDISTANCE\",\n \"ST_INTERIORRINGN\",\n \"ST_INTERSECTION\",\n \"ST_INTERSECTS\",\n \"ST_ISCLOSED\",\n \"ST_ISEMPTY\",\n \"ST_ISSIMPLE\",\n \"ST_ISVALID\",\n \"ST_LATFROMGEOHASH\",\n \"ST_LATITUDE\",\n \"ST_LENGTH\",\n \"ST_LINEFROMTEXT\",\n \"ST_LINEFROMWKB\",\n \"ST_LINEINTERPOLATEPOINT\",\n \"ST_LINEINTERPOLATEPOINTS\",\n \"ST_LONGFROMGEOHASH\",\n \"ST_LONGITUDE\",\n \"ST_MAKEENVELOPE\",\n \"ST_MLINEFROMTEXT\",\n \"ST_MLINEFROMWKB\",\n \"ST_MPOINTFROMTEXT\",\n \"ST_MPOINTFROMWKB\",\n \"ST_MPOLYFROMTEXT\",\n \"ST_MPOLYFROMWKB\",\n \"ST_NUMGEOMETRIES\",\n \"ST_NUMINTERIORRING\",\n \"ST_NUMPOINTS\",\n \"ST_OVERLAPS\",\n \"ST_POINTATDISTANCE\",\n \"ST_POINTFROMGEOHASH\",\n \"ST_POINTFROMTEXT\",\n \"ST_POINTFROMWKB\",\n \"ST_POINTN\",\n \"ST_POLYFROMTEXT\",\n \"ST_POLYFROMWKB\",\n \"ST_SIMPLIFY\",\n \"ST_SRID\",\n \"ST_STARTPOINT\",\n \"ST_SWAPXY\",\n \"ST_SYMDIFFERENCE\",\n \"ST_TOUCHES\",\n \"ST_TRANSFORM\",\n \"ST_UNION\",\n \"ST_VALIDATE\",\n \"ST_WITHIN\",\n \"ST_X\",\n \"ST_Y\",\n \"STATEMENT_DIGEST\",\n \"STATEMENT_DIGEST_TEXT\",\n \"STD\",\n \"STDDEV\",\n \"STDDEV_POP\",\n \"STDDEV_SAMP\",\n \"STR_TO_DATE\",\n \"STRCMP\",\n \"SUBDATE\",\n \"SUBSTR\",\n \"SUBSTRING\",\n \"SUBSTRING_INDEX\",\n \"SUBTIME\",\n \"SUM\",\n \"SYSDATE\",\n \"SYSTEM_USER\",\n \"TAN\",\n \"TIME\",\n \"TIME_FORMAT\",\n \"TIME_TO_SEC\",\n \"TIMEDIFF\",\n \"TIMESTAMP\",\n \"TIMESTAMPADD\",\n \"TIMESTAMPDIFF\",\n \"TO_BASE64\",\n \"TO_DAYS\",\n \"TO_SECONDS\",\n \"TRIM\",\n \"TRUNCATE\",\n \"UCASE\",\n \"UNCOMPRESS\",\n \"UNCOMPRESSED_LENGTH\",\n \"UNHEX\",\n \"UNIX_TIMESTAMP\",\n \"UPDATEXML\",\n \"UPPER\",\n // 'USER',\n \"UTC_DATE\",\n \"UTC_TIME\",\n \"UTC_TIMESTAMP\",\n \"UUID\",\n \"UUID_SHORT\",\n \"UUID_TO_BIN\",\n \"VALIDATE_PASSWORD_STRENGTH\",\n \"VALUES\",\n \"VAR_POP\",\n \"VAR_SAMP\",\n \"VARIANCE\",\n \"VERSION\",\n \"WAIT_FOR_EXECUTED_GTID_SET\",\n \"WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS\",\n \"WEEK\",\n \"WEEKDAY\",\n \"WEEKOFYEAR\",\n \"WEIGHT_STRING\",\n // 'XOR',\n \"YEAR\",\n \"YEARWEEK\"\n];\n\n// src/languages/mysql/mysql.formatter.ts\nvar reservedSelect6 = expandPhrases([\"SELECT [ALL | DISTINCT | DISTINCTROW]\"]);\nvar reservedClauses6 = expandPhrases([\n // queries\n \"WITH [RECURSIVE]\",\n \"FROM\",\n \"WHERE\",\n \"GROUP BY\",\n \"HAVING\",\n \"WINDOW\",\n \"PARTITION BY\",\n \"ORDER BY\",\n \"LIMIT\",\n \"OFFSET\",\n // Data manipulation\n // - insert:\n \"INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE] [INTO]\",\n \"REPLACE [LOW_PRIORITY | DELAYED] [INTO]\",\n \"VALUES\",\n \"ON DUPLICATE KEY UPDATE\",\n // - update:\n \"SET\"\n]);\nvar onelineClauses6 = expandPhrases([\n // - create:\n \"CREATE [TEMPORARY] TABLE [IF NOT EXISTS]\",\n \"CREATE [OR REPLACE] [SQL SECURITY DEFINER | SQL SECURITY INVOKER] VIEW [IF NOT EXISTS]\",\n // - update:\n \"UPDATE [LOW_PRIORITY] [IGNORE]\",\n // - delete:\n \"DELETE [LOW_PRIORITY] [QUICK] [IGNORE] FROM\",\n // - drop table:\n \"DROP [TEMPORARY] TABLE [IF EXISTS]\",\n // - alter table:\n \"ALTER TABLE\",\n \"ADD [COLUMN]\",\n \"{CHANGE | MODIFY} [COLUMN]\",\n \"DROP [COLUMN]\",\n \"RENAME [TO | AS]\",\n \"RENAME COLUMN\",\n \"ALTER [COLUMN]\",\n \"{SET | DROP} DEFAULT\",\n // for alter column\n // - truncate:\n \"TRUNCATE [TABLE]\",\n // https://dev.mysql.com/doc/refman/8.0/en/sql-statements.html\n \"ALTER DATABASE\",\n \"ALTER EVENT\",\n \"ALTER FUNCTION\",\n \"ALTER INSTANCE\",\n \"ALTER LOGFILE GROUP\",\n \"ALTER PROCEDURE\",\n \"ALTER RESOURCE GROUP\",\n \"ALTER SERVER\",\n \"ALTER TABLESPACE\",\n \"ALTER USER\",\n \"ALTER VIEW\",\n \"ANALYZE TABLE\",\n \"BINLOG\",\n \"CACHE INDEX\",\n \"CALL\",\n \"CHANGE MASTER TO\",\n \"CHANGE REPLICATION FILTER\",\n \"CHANGE REPLICATION SOURCE TO\",\n \"CHECK TABLE\",\n \"CHECKSUM TABLE\",\n \"CLONE\",\n \"COMMIT\",\n \"CREATE DATABASE\",\n \"CREATE EVENT\",\n \"CREATE FUNCTION\",\n \"CREATE FUNCTION\",\n \"CREATE INDEX\",\n \"CREATE LOGFILE GROUP\",\n \"CREATE PROCEDURE\",\n \"CREATE RESOURCE GROUP\",\n \"CREATE ROLE\",\n \"CREATE SERVER\",\n \"CREATE SPATIAL REFERENCE SYSTEM\",\n \"CREATE TABLESPACE\",\n \"CREATE TRIGGER\",\n \"CREATE USER\",\n \"DEALLOCATE PREPARE\",\n \"DESCRIBE\",\n \"DROP DATABASE\",\n \"DROP EVENT\",\n \"DROP FUNCTION\",\n \"DROP FUNCTION\",\n \"DROP INDEX\",\n \"DROP LOGFILE GROUP\",\n \"DROP PROCEDURE\",\n \"DROP RESOURCE GROUP\",\n \"DROP ROLE\",\n \"DROP SERVER\",\n \"DROP SPATIAL REFERENCE SYSTEM\",\n \"DROP TABLESPACE\",\n \"DROP TRIGGER\",\n \"DROP USER\",\n \"DROP VIEW\",\n \"EXECUTE\",\n \"EXPLAIN\",\n \"FLUSH\",\n \"GRANT\",\n \"HANDLER\",\n \"HELP\",\n \"IMPORT TABLE\",\n \"INSTALL COMPONENT\",\n \"INSTALL PLUGIN\",\n \"KILL\",\n \"LOAD DATA\",\n \"LOAD INDEX INTO CACHE\",\n \"LOAD XML\",\n \"LOCK INSTANCE FOR BACKUP\",\n \"LOCK TABLES\",\n \"MASTER_POS_WAIT\",\n \"OPTIMIZE TABLE\",\n \"PREPARE\",\n \"PURGE BINARY LOGS\",\n \"RELEASE SAVEPOINT\",\n \"RENAME TABLE\",\n \"RENAME USER\",\n \"REPAIR TABLE\",\n \"RESET\",\n \"RESET MASTER\",\n \"RESET PERSIST\",\n \"RESET REPLICA\",\n \"RESET SLAVE\",\n \"RESTART\",\n \"REVOKE\",\n \"ROLLBACK\",\n \"ROLLBACK TO SAVEPOINT\",\n \"SAVEPOINT\",\n \"SET CHARACTER SET\",\n \"SET DEFAULT ROLE\",\n \"SET NAMES\",\n \"SET PASSWORD\",\n \"SET RESOURCE GROUP\",\n \"SET ROLE\",\n \"SET TRANSACTION\",\n \"SHOW\",\n \"SHOW BINARY LOGS\",\n \"SHOW BINLOG EVENTS\",\n \"SHOW CHARACTER SET\",\n \"SHOW COLLATION\",\n \"SHOW COLUMNS\",\n \"SHOW CREATE DATABASE\",\n \"SHOW CREATE EVENT\",\n \"SHOW CREATE FUNCTION\",\n \"SHOW CREATE PROCEDURE\",\n \"SHOW CREATE TABLE\",\n \"SHOW CREATE TRIGGER\",\n \"SHOW CREATE USER\",\n \"SHOW CREATE VIEW\",\n \"SHOW DATABASES\",\n \"SHOW ENGINE\",\n \"SHOW ENGINES\",\n \"SHOW ERRORS\",\n \"SHOW EVENTS\",\n \"SHOW FUNCTION CODE\",\n \"SHOW FUNCTION STATUS\",\n \"SHOW GRANTS\",\n \"SHOW INDEX\",\n \"SHOW MASTER STATUS\",\n \"SHOW OPEN TABLES\",\n \"SHOW PLUGINS\",\n \"SHOW PRIVILEGES\",\n \"SHOW PROCEDURE CODE\",\n \"SHOW PROCEDURE STATUS\",\n \"SHOW PROCESSLIST\",\n \"SHOW PROFILE\",\n \"SHOW PROFILES\",\n \"SHOW RELAYLOG EVENTS\",\n \"SHOW REPLICA STATUS\",\n \"SHOW REPLICAS\",\n \"SHOW SLAVE\",\n \"SHOW SLAVE HOSTS\",\n \"SHOW STATUS\",\n \"SHOW TABLE STATUS\",\n \"SHOW TABLES\",\n \"SHOW TRIGGERS\",\n \"SHOW VARIABLES\",\n \"SHOW WARNINGS\",\n \"SHUTDOWN\",\n \"SOURCE_POS_WAIT\",\n \"START GROUP_REPLICATION\",\n \"START REPLICA\",\n \"START SLAVE\",\n \"START TRANSACTION\",\n \"STOP GROUP_REPLICATION\",\n \"STOP REPLICA\",\n \"STOP SLAVE\",\n \"TABLE\",\n \"UNINSTALL COMPONENT\",\n \"UNINSTALL PLUGIN\",\n \"UNLOCK INSTANCE\",\n \"UNLOCK TABLES\",\n \"USE\",\n \"XA\",\n // flow control\n // 'IF',\n \"ITERATE\",\n \"LEAVE\",\n \"LOOP\",\n \"REPEAT\",\n \"RETURN\",\n \"WHILE\"\n]);\nvar reservedSetOperations6 = expandPhrases([\"UNION [ALL | DISTINCT]\"]);\nvar reservedJoins6 = expandPhrases([\n \"JOIN\",\n \"{LEFT | RIGHT} [OUTER] JOIN\",\n \"{INNER | CROSS} JOIN\",\n \"NATURAL [INNER] JOIN\",\n \"NATURAL {LEFT | RIGHT} [OUTER] JOIN\",\n // non-standard joins\n \"STRAIGHT_JOIN\"\n]);\nvar reservedPhrases6 = expandPhrases([\n \"ON {UPDATE | DELETE} [SET NULL]\",\n \"CHARACTER SET\",\n \"{ROWS | RANGE} BETWEEN\",\n \"IDENTIFIED BY\"\n]);\nvar mysql = {\n name: \"mysql\",\n tokenizerOptions: {\n reservedSelect: reservedSelect6,\n reservedClauses: [...reservedClauses6, ...onelineClauses6],\n reservedSetOperations: reservedSetOperations6,\n reservedJoins: reservedJoins6,\n reservedPhrases: reservedPhrases6,\n supportsXor: true,\n reservedKeywords: keywords6,\n reservedDataTypes: dataTypes6,\n reservedFunctionNames: functions6,\n // TODO: support _ char set prefixes such as _utf8, _latin1, _binary, _utf8mb4, etc.\n stringTypes: [\n '\"\"-qq-bs',\n { quote: \"''-qq-bs\", prefixes: [\"N\"] },\n { quote: \"''-raw\", prefixes: [\"B\", \"X\"], requirePrefix: true }\n ],\n identTypes: [\"``\"],\n identChars: { first: \"$\", rest: \"$\", allowFirstCharNumber: true },\n variableTypes: [\n { regex: \"@@?[A-Za-z0-9_.$]+\" },\n { quote: '\"\"-qq-bs', prefixes: [\"@\"], requirePrefix: true },\n { quote: \"''-qq-bs\", prefixes: [\"@\"], requirePrefix: true },\n { quote: \"``\", prefixes: [\"@\"], requirePrefix: true }\n ],\n paramTypes: { positional: true },\n lineCommentTypes: [\"--\", \"#\"],\n operators: [\n \"%\",\n \":=\",\n \"&\",\n \"|\",\n \"^\",\n \"~\",\n \"<<\",\n \">>\",\n \"<=>\",\n \"->\",\n \"->>\",\n \"&&\",\n \"||\",\n \"!\",\n \"*.*\"\n // Not actually an operator\n ],\n postProcess: postProcess2\n },\n formatOptions: {\n onelineClauses: onelineClauses6\n }\n};\n\n// src/languages/n1ql/n1ql.functions.ts\nvar functions7 = [\n // https://docs.couchbase.com/server/current/n1ql/n1ql-language-reference/functions.html\n \"ABORT\",\n \"ABS\",\n \"ACOS\",\n \"ADVISOR\",\n \"ARRAY_AGG\",\n \"ARRAY_AGG\",\n \"ARRAY_APPEND\",\n \"ARRAY_AVG\",\n \"ARRAY_BINARY_SEARCH\",\n \"ARRAY_CONCAT\",\n \"ARRAY_CONTAINS\",\n \"ARRAY_COUNT\",\n \"ARRAY_DISTINCT\",\n \"ARRAY_EXCEPT\",\n \"ARRAY_FLATTEN\",\n \"ARRAY_IFNULL\",\n \"ARRAY_INSERT\",\n \"ARRAY_INTERSECT\",\n \"ARRAY_LENGTH\",\n \"ARRAY_MAX\",\n \"ARRAY_MIN\",\n \"ARRAY_MOVE\",\n \"ARRAY_POSITION\",\n \"ARRAY_PREPEND\",\n \"ARRAY_PUT\",\n \"ARRAY_RANGE\",\n \"ARRAY_REMOVE\",\n \"ARRAY_REPEAT\",\n \"ARRAY_REPLACE\",\n \"ARRAY_REVERSE\",\n \"ARRAY_SORT\",\n \"ARRAY_STAR\",\n \"ARRAY_SUM\",\n \"ARRAY_SYMDIFF\",\n \"ARRAY_SYMDIFF1\",\n \"ARRAY_SYMDIFFN\",\n \"ARRAY_UNION\",\n \"ASIN\",\n \"ATAN\",\n \"ATAN2\",\n \"AVG\",\n \"BASE64\",\n \"BASE64_DECODE\",\n \"BASE64_ENCODE\",\n \"BITAND \",\n \"BITCLEAR \",\n \"BITNOT \",\n \"BITOR \",\n \"BITSET \",\n \"BITSHIFT \",\n \"BITTEST \",\n \"BITXOR \",\n \"CEIL\",\n \"CLOCK_LOCAL\",\n \"CLOCK_MILLIS\",\n \"CLOCK_STR\",\n \"CLOCK_TZ\",\n \"CLOCK_UTC\",\n \"COALESCE\",\n \"CONCAT\",\n \"CONCAT2\",\n \"CONTAINS\",\n \"CONTAINS_TOKEN\",\n \"CONTAINS_TOKEN_LIKE\",\n \"CONTAINS_TOKEN_REGEXP\",\n \"COS\",\n \"COUNT\",\n \"COUNT\",\n \"COUNTN\",\n \"CUME_DIST\",\n \"CURL\",\n \"DATE_ADD_MILLIS\",\n \"DATE_ADD_STR\",\n \"DATE_DIFF_MILLIS\",\n \"DATE_DIFF_STR\",\n \"DATE_FORMAT_STR\",\n \"DATE_PART_MILLIS\",\n \"DATE_PART_STR\",\n \"DATE_RANGE_MILLIS\",\n \"DATE_RANGE_STR\",\n \"DATE_TRUNC_MILLIS\",\n \"DATE_TRUNC_STR\",\n \"DECODE\",\n \"DECODE_JSON\",\n \"DEGREES\",\n \"DENSE_RANK\",\n \"DURATION_TO_STR\",\n // 'E',\n \"ENCODED_SIZE\",\n \"ENCODE_JSON\",\n \"EXP\",\n \"FIRST_VALUE\",\n \"FLOOR\",\n \"GREATEST\",\n \"HAS_TOKEN\",\n \"IFINF\",\n \"IFMISSING\",\n \"IFMISSINGORNULL\",\n \"IFNAN\",\n \"IFNANORINF\",\n \"IFNULL\",\n \"INITCAP\",\n \"ISARRAY\",\n \"ISATOM\",\n \"ISBITSET\",\n \"ISBOOLEAN\",\n \"ISNUMBER\",\n \"ISOBJECT\",\n \"ISSTRING\",\n \"LAG\",\n \"LAST_VALUE\",\n \"LEAD\",\n \"LEAST\",\n \"LENGTH\",\n \"LN\",\n \"LOG\",\n \"LOWER\",\n \"LTRIM\",\n \"MAX\",\n \"MEAN\",\n \"MEDIAN\",\n \"META\",\n \"MILLIS\",\n \"MILLIS_TO_LOCAL\",\n \"MILLIS_TO_STR\",\n \"MILLIS_TO_TZ\",\n \"MILLIS_TO_UTC\",\n \"MILLIS_TO_ZONE_NAME\",\n \"MIN\",\n \"MISSINGIF\",\n \"NANIF\",\n \"NEGINFIF\",\n \"NOW_LOCAL\",\n \"NOW_MILLIS\",\n \"NOW_STR\",\n \"NOW_TZ\",\n \"NOW_UTC\",\n \"NTH_VALUE\",\n \"NTILE\",\n \"NULLIF\",\n \"NVL\",\n \"NVL2\",\n \"OBJECT_ADD\",\n \"OBJECT_CONCAT\",\n \"OBJECT_INNER_PAIRS\",\n \"OBJECT_INNER_VALUES\",\n \"OBJECT_LENGTH\",\n \"OBJECT_NAMES\",\n \"OBJECT_PAIRS\",\n \"OBJECT_PUT\",\n \"OBJECT_REMOVE\",\n \"OBJECT_RENAME\",\n \"OBJECT_REPLACE\",\n \"OBJECT_UNWRAP\",\n \"OBJECT_VALUES\",\n \"PAIRS\",\n \"PERCENT_RANK\",\n \"PI\",\n \"POLY_LENGTH\",\n \"POSINFIF\",\n \"POSITION\",\n \"POWER\",\n \"RADIANS\",\n \"RANDOM\",\n \"RANK\",\n \"RATIO_TO_REPORT\",\n \"REGEXP_CONTAINS\",\n \"REGEXP_LIKE\",\n \"REGEXP_MATCHES\",\n \"REGEXP_POSITION\",\n \"REGEXP_REPLACE\",\n \"REGEXP_SPLIT\",\n \"REGEX_CONTAINS\",\n \"REGEX_LIKE\",\n \"REGEX_MATCHES\",\n \"REGEX_POSITION\",\n \"REGEX_REPLACE\",\n \"REGEX_SPLIT\",\n \"REPEAT\",\n \"REPLACE\",\n \"REVERSE\",\n \"ROUND\",\n \"ROW_NUMBER\",\n \"RTRIM\",\n \"SEARCH\",\n \"SEARCH_META\",\n \"SEARCH_SCORE\",\n \"SIGN\",\n \"SIN\",\n \"SPLIT\",\n \"SQRT\",\n \"STDDEV\",\n \"STDDEV_POP\",\n \"STDDEV_SAMP\",\n \"STR_TO_DURATION\",\n \"STR_TO_MILLIS\",\n \"STR_TO_TZ\",\n \"STR_TO_UTC\",\n \"STR_TO_ZONE_NAME\",\n \"SUBSTR\",\n \"SUFFIXES\",\n \"SUM\",\n \"TAN\",\n \"TITLE\",\n \"TOARRAY\",\n \"TOATOM\",\n \"TOBOOLEAN\",\n \"TOKENS\",\n \"TOKENS\",\n \"TONUMBER\",\n \"TOOBJECT\",\n \"TOSTRING\",\n \"TRIM\",\n \"TRUNC\",\n // 'TYPE', // disabled\n \"UPPER\",\n \"UUID\",\n \"VARIANCE\",\n \"VARIANCE_POP\",\n \"VARIANCE_SAMP\",\n \"VAR_POP\",\n \"VAR_SAMP\",\n \"WEEKDAY_MILLIS\",\n \"WEEKDAY_STR\",\n // type casting\n // not implemented in N1QL, but added here now for the sake of tests\n // https://docs.couchbase.com/server/current/analytics/3_query.html#Vs_SQL-92\n \"CAST\"\n];\n\n// src/languages/n1ql/n1ql.keywords.ts\nvar keywords7 = [\n // https://docs.couchbase.com/server/current/n1ql/n1ql-language-reference/reservedwords.html\n \"ADVISE\",\n \"ALL\",\n \"ALTER\",\n \"ANALYZE\",\n \"AND\",\n \"ANY\",\n \"ARRAY\",\n \"AS\",\n \"ASC\",\n \"AT\",\n \"BEGIN\",\n \"BETWEEN\",\n \"BINARY\",\n \"BOOLEAN\",\n \"BREAK\",\n \"BUCKET\",\n \"BUILD\",\n \"BY\",\n \"CALL\",\n \"CASE\",\n \"CAST\",\n \"CLUSTER\",\n \"COLLATE\",\n \"COLLECTION\",\n \"COMMIT\",\n \"COMMITTED\",\n \"CONNECT\",\n \"CONTINUE\",\n \"CORRELATED\",\n \"COVER\",\n \"CREATE\",\n \"CURRENT\",\n \"DATABASE\",\n \"DATASET\",\n \"DATASTORE\",\n \"DECLARE\",\n \"DECREMENT\",\n \"DELETE\",\n \"DERIVED\",\n \"DESC\",\n \"DESCRIBE\",\n \"DISTINCT\",\n \"DO\",\n \"DROP\",\n \"EACH\",\n \"ELEMENT\",\n \"ELSE\",\n \"END\",\n \"EVERY\",\n \"EXCEPT\",\n \"EXCLUDE\",\n \"EXECUTE\",\n \"EXISTS\",\n \"EXPLAIN\",\n \"FALSE\",\n \"FETCH\",\n \"FILTER\",\n \"FIRST\",\n \"FLATTEN\",\n \"FLUSH\",\n \"FOLLOWING\",\n \"FOR\",\n \"FORCE\",\n \"FROM\",\n \"FTS\",\n \"FUNCTION\",\n \"GOLANG\",\n \"GRANT\",\n \"GROUP\",\n \"GROUPS\",\n \"GSI\",\n \"HASH\",\n \"HAVING\",\n \"IF\",\n \"IGNORE\",\n \"ILIKE\",\n \"IN\",\n \"INCLUDE\",\n \"INCREMENT\",\n \"INDEX\",\n \"INFER\",\n \"INLINE\",\n \"INNER\",\n \"INSERT\",\n \"INTERSECT\",\n \"INTO\",\n \"IS\",\n \"ISOLATION\",\n \"JAVASCRIPT\",\n \"JOIN\",\n \"KEY\",\n \"KEYS\",\n \"KEYSPACE\",\n \"KNOWN\",\n \"LANGUAGE\",\n \"LAST\",\n \"LEFT\",\n \"LET\",\n \"LETTING\",\n \"LEVEL\",\n \"LIKE\",\n \"LIMIT\",\n \"LSM\",\n \"MAP\",\n \"MAPPING\",\n \"MATCHED\",\n \"MATERIALIZED\",\n \"MERGE\",\n \"MINUS\",\n \"MISSING\",\n \"NAMESPACE\",\n \"NEST\",\n \"NL\",\n \"NO\",\n \"NOT\",\n \"NTH_VALUE\",\n \"NULL\",\n \"NULLS\",\n \"NUMBER\",\n \"OBJECT\",\n \"OFFSET\",\n \"ON\",\n \"OPTION\",\n \"OPTIONS\",\n \"OR\",\n \"ORDER\",\n \"OTHERS\",\n \"OUTER\",\n \"OVER\",\n \"PARSE\",\n \"PARTITION\",\n \"PASSWORD\",\n \"PATH\",\n \"POOL\",\n \"PRECEDING\",\n \"PREPARE\",\n \"PRIMARY\",\n \"PRIVATE\",\n \"PRIVILEGE\",\n \"PROBE\",\n \"PROCEDURE\",\n \"PUBLIC\",\n \"RANGE\",\n \"RAW\",\n \"REALM\",\n \"REDUCE\",\n \"RENAME\",\n \"RESPECT\",\n \"RETURN\",\n \"RETURNING\",\n \"REVOKE\",\n \"RIGHT\",\n \"ROLE\",\n \"ROLLBACK\",\n \"ROW\",\n \"ROWS\",\n \"SATISFIES\",\n \"SAVEPOINT\",\n \"SCHEMA\",\n \"SCOPE\",\n \"SELECT\",\n \"SELF\",\n \"SEMI\",\n \"SET\",\n \"SHOW\",\n \"SOME\",\n \"START\",\n \"STATISTICS\",\n \"STRING\",\n \"SYSTEM\",\n \"THEN\",\n \"TIES\",\n \"TO\",\n \"TRAN\",\n \"TRANSACTION\",\n \"TRIGGER\",\n \"TRUE\",\n \"TRUNCATE\",\n \"UNBOUNDED\",\n \"UNDER\",\n \"UNION\",\n \"UNIQUE\",\n \"UNKNOWN\",\n \"UNNEST\",\n \"UNSET\",\n \"UPDATE\",\n \"UPSERT\",\n \"USE\",\n \"USER\",\n \"USING\",\n \"VALIDATE\",\n \"VALUE\",\n \"VALUED\",\n \"VALUES\",\n \"VIA\",\n \"VIEW\",\n \"WHEN\",\n \"WHERE\",\n \"WHILE\",\n \"WINDOW\",\n \"WITH\",\n \"WITHIN\",\n \"WORK\",\n \"XOR\"\n];\nvar dataTypes7 = [\n // N1QL does not support any way of declaring types for columns.\n // It does not support the CREATE TABLE statement nor the CAST() expression.\n //\n // It does have several keywords like ARRAY and OBJECT, which seem to refer to types,\n // but they are used as operators. It also reserves several words like STRING and NUMBER,\n // which it actually doesn't use.\n //\n // https://docs.couchbase.com/server/current/n1ql/n1ql-language-reference/datatypes.html\n];\n\n// src/languages/n1ql/n1ql.formatter.ts\nvar reservedSelect7 = expandPhrases([\"SELECT [ALL | DISTINCT]\"]);\nvar reservedClauses7 = expandPhrases([\n // queries\n \"WITH\",\n \"FROM\",\n \"WHERE\",\n \"GROUP BY\",\n \"HAVING\",\n \"WINDOW\",\n \"PARTITION BY\",\n \"ORDER BY\",\n \"LIMIT\",\n \"OFFSET\",\n // Data manipulation\n // - insert:\n \"INSERT INTO\",\n \"VALUES\",\n // - update:\n \"SET\",\n // - merge:\n \"MERGE INTO\",\n \"WHEN [NOT] MATCHED THEN\",\n \"UPDATE SET\",\n \"INSERT\",\n // other\n \"NEST\",\n \"UNNEST\",\n \"RETURNING\"\n]);\nvar onelineClauses7 = expandPhrases([\n // - update:\n \"UPDATE\",\n // - delete:\n \"DELETE FROM\",\n // - set schema:\n \"SET SCHEMA\",\n // https://docs.couchbase.com/server/current/n1ql/n1ql-language-reference/reservedwords.html\n \"ADVISE\",\n \"ALTER INDEX\",\n \"BEGIN TRANSACTION\",\n \"BUILD INDEX\",\n \"COMMIT TRANSACTION\",\n \"CREATE COLLECTION\",\n \"CREATE FUNCTION\",\n \"CREATE INDEX\",\n \"CREATE PRIMARY INDEX\",\n \"CREATE SCOPE\",\n \"DROP COLLECTION\",\n \"DROP FUNCTION\",\n \"DROP INDEX\",\n \"DROP PRIMARY INDEX\",\n \"DROP SCOPE\",\n \"EXECUTE\",\n \"EXECUTE FUNCTION\",\n \"EXPLAIN\",\n \"GRANT\",\n \"INFER\",\n \"PREPARE\",\n \"REVOKE\",\n \"ROLLBACK TRANSACTION\",\n \"SAVEPOINT\",\n \"SET TRANSACTION\",\n \"UPDATE STATISTICS\",\n \"UPSERT\",\n // other\n \"LET\",\n \"SET CURRENT SCHEMA\",\n \"SHOW\",\n \"USE [PRIMARY] KEYS\"\n]);\nvar reservedSetOperations7 = expandPhrases([\"UNION [ALL]\", \"EXCEPT [ALL]\", \"INTERSECT [ALL]\"]);\nvar reservedJoins7 = expandPhrases([\"JOIN\", \"{LEFT | RIGHT} [OUTER] JOIN\", \"INNER JOIN\"]);\nvar reservedPhrases7 = expandPhrases([\"{ROWS | RANGE | GROUPS} BETWEEN\"]);\nvar n1ql = {\n name: \"n1ql\",\n tokenizerOptions: {\n reservedSelect: reservedSelect7,\n reservedClauses: [...reservedClauses7, ...onelineClauses7],\n reservedSetOperations: reservedSetOperations7,\n reservedJoins: reservedJoins7,\n reservedPhrases: reservedPhrases7,\n supportsXor: true,\n reservedKeywords: keywords7,\n reservedDataTypes: dataTypes7,\n reservedFunctionNames: functions7,\n // NOTE: single quotes are actually not supported in N1QL,\n // but we support them anyway as all other SQL dialects do,\n // which simplifies writing tests that are shared between all dialects.\n stringTypes: ['\"\"-bs', \"''-bs\"],\n identTypes: [\"``\"],\n extraParens: [\"[]\", \"{}\"],\n paramTypes: { positional: true, numbered: [\"$\"], named: [\"$\"] },\n lineCommentTypes: [\"#\", \"--\"],\n operators: [\"%\", \"==\", \":\", \"||\"]\n },\n formatOptions: {\n onelineClauses: onelineClauses7\n }\n};\n\n// src/languages/plsql/plsql.keywords.ts\nvar keywords8 = [\n // https://docs.oracle.com/cd/B19306_01/appdev.102/b14261/reservewords.htm\n // 'A',\n \"ADD\",\n \"AGENT\",\n \"AGGREGATE\",\n \"ALL\",\n \"ALTER\",\n \"AND\",\n \"ANY\",\n \"ARROW\",\n \"AS\",\n \"ASC\",\n \"AT\",\n \"ATTRIBUTE\",\n \"AUTHID\",\n \"AVG\",\n \"BEGIN\",\n \"BETWEEN\",\n \"BLOCK\",\n \"BODY\",\n \"BOTH\",\n \"BOUND\",\n \"BULK\",\n \"BY\",\n \"BYTE\",\n // 'C',\n \"CALL\",\n \"CALLING\",\n \"CASCADE\",\n \"CASE\",\n \"CHARSET\",\n \"CHARSETFORM\",\n \"CHARSETID\",\n \"CHECK\",\n \"CLOSE\",\n \"CLUSTER\",\n \"CLUSTERS\",\n \"COLAUTH\",\n \"COLLECT\",\n \"COLUMNS\",\n \"COMMENT\",\n \"COMMIT\",\n \"COMMITTED\",\n \"COMPILED\",\n \"COMPRESS\",\n \"CONNECT\",\n \"CONSTANT\",\n \"CONSTRUCTOR\",\n \"CONTEXT\",\n \"CONVERT\",\n \"COUNT\",\n \"CRASH\",\n \"CREATE\",\n \"CURRENT\",\n \"CURSOR\",\n \"CUSTOMDATUM\",\n \"DANGLING\",\n \"DATA\",\n \"DAY\",\n \"DECLARE\",\n \"DEFAULT\",\n \"DEFINE\",\n \"DELETE\",\n \"DESC\",\n \"DETERMINISTIC\",\n \"DISTINCT\",\n \"DROP\",\n \"DURATION\",\n \"ELEMENT\",\n \"ELSE\",\n \"ELSIF\",\n \"EMPTY\",\n \"END\",\n \"ESCAPE\",\n \"EXCEPT\",\n \"EXCEPTION\",\n \"EXCEPTIONS\",\n \"EXCLUSIVE\",\n \"EXECUTE\",\n \"EXISTS\",\n \"EXIT\",\n \"EXTERNAL\",\n \"FETCH\",\n \"FINAL\",\n \"FIXED\",\n \"FOR\",\n \"FORALL\",\n \"FORCE\",\n \"FORM\",\n \"FROM\",\n \"FUNCTION\",\n \"GENERAL\",\n \"GOTO\",\n \"GRANT\",\n \"GROUP\",\n \"HASH\",\n \"HAVING\",\n \"HEAP\",\n \"HIDDEN\",\n \"HOUR\",\n \"IDENTIFIED\",\n \"IF\",\n \"IMMEDIATE\",\n \"IN\",\n \"INCLUDING\",\n \"INDEX\",\n \"INDEXES\",\n \"INDICATOR\",\n \"INDICES\",\n \"INFINITE\",\n \"INSERT\",\n \"INSTANTIABLE\",\n \"INTERFACE\",\n \"INTERSECT\",\n \"INTERVAL\",\n \"INTO\",\n \"INVALIDATE\",\n \"IS\",\n \"ISOLATION\",\n \"JAVA\",\n \"LANGUAGE\",\n \"LARGE\",\n \"LEADING\",\n \"LENGTH\",\n \"LEVEL\",\n \"LIBRARY\",\n \"LIKE\",\n \"LIKE2\",\n \"LIKE4\",\n \"LIKEC\",\n \"LIMIT\",\n \"LIMITED\",\n \"LOCAL\",\n \"LOCK\",\n \"LOOP\",\n \"MAP\",\n \"MAX\",\n \"MAXLEN\",\n \"MEMBER\",\n \"MERGE\",\n \"MIN\",\n \"MINUS\",\n \"MINUTE\",\n \"MOD\",\n \"MODE\",\n \"MODIFY\",\n \"MONTH\",\n \"MULTISET\",\n \"NAME\",\n \"NAN\",\n \"NATIONAL\",\n \"NATIVE\",\n \"NEW\",\n \"NOCOMPRESS\",\n \"NOCOPY\",\n \"NOT\",\n \"NOWAIT\",\n \"NULL\",\n \"OBJECT\",\n \"OCICOLL\",\n \"OCIDATE\",\n \"OCIDATETIME\",\n \"OCIDURATION\",\n \"OCIINTERVAL\",\n \"OCILOBLOCATOR\",\n \"OCINUMBER\",\n \"OCIRAW\",\n \"OCIREF\",\n \"OCIREFCURSOR\",\n \"OCIROWID\",\n \"OCISTRING\",\n \"OCITYPE\",\n \"OF\",\n \"ON\",\n \"ONLY\",\n \"OPAQUE\",\n \"OPEN\",\n \"OPERATOR\",\n \"OPTION\",\n \"OR\",\n \"ORACLE\",\n \"ORADATA\",\n \"ORDER\",\n \"OVERLAPS\",\n \"ORGANIZATION\",\n \"ORLANY\",\n \"ORLVARY\",\n \"OTHERS\",\n \"OUT\",\n \"OVERRIDING\",\n \"PACKAGE\",\n \"PARALLEL_ENABLE\",\n \"PARAMETER\",\n \"PARAMETERS\",\n \"PARTITION\",\n \"PASCAL\",\n \"PIPE\",\n \"PIPELINED\",\n \"PRAGMA\",\n \"PRIOR\",\n \"PRIVATE\",\n \"PROCEDURE\",\n \"PUBLIC\",\n \"RAISE\",\n \"RANGE\",\n \"READ\",\n \"RECORD\",\n \"REF\",\n \"REFERENCE\",\n \"REM\",\n \"REMAINDER\",\n \"RENAME\",\n \"RESOURCE\",\n \"RESULT\",\n \"RETURN\",\n \"RETURNING\",\n \"REVERSE\",\n \"REVOKE\",\n \"ROLLBACK\",\n \"ROW\",\n \"SAMPLE\",\n \"SAVE\",\n \"SAVEPOINT\",\n \"SB1\",\n \"SB2\",\n \"SB4\",\n \"SECOND\",\n \"SEGMENT\",\n \"SELECT\",\n \"SELF\",\n \"SEPARATE\",\n \"SEQUENCE\",\n \"SERIALIZABLE\",\n \"SET\",\n \"SHARE\",\n \"SHORT\",\n \"SIZE\",\n \"SIZE_T\",\n \"SOME\",\n \"SPARSE\",\n \"SQL\",\n \"SQLCODE\",\n \"SQLDATA\",\n \"SQLNAME\",\n \"SQLSTATE\",\n \"STANDARD\",\n \"START\",\n \"STATIC\",\n \"STDDEV\",\n \"STORED\",\n \"STRING\",\n \"STRUCT\",\n \"STYLE\",\n \"SUBMULTISET\",\n \"SUBPARTITION\",\n \"SUBSTITUTABLE\",\n \"SUBTYPE\",\n \"SUM\",\n \"SYNONYM\",\n \"TABAUTH\",\n \"TABLE\",\n \"TDO\",\n \"THE\",\n \"THEN\",\n \"TIME\",\n \"TIMEZONE_ABBR\",\n \"TIMEZONE_HOUR\",\n \"TIMEZONE_MINUTE\",\n \"TIMEZONE_REGION\",\n \"TO\",\n \"TRAILING\",\n \"TRANSAC\",\n \"TRANSACTIONAL\",\n \"TRUSTED\",\n \"TYPE\",\n \"UB1\",\n \"UB2\",\n \"UB4\",\n \"UNDER\",\n \"UNION\",\n \"UNIQUE\",\n \"UNSIGNED\",\n \"UNTRUSTED\",\n \"UPDATE\",\n \"USE\",\n \"USING\",\n \"VALIST\",\n \"VALUE\",\n \"VALUES\",\n \"VARIABLE\",\n \"VARIANCE\",\n \"VARRAY\",\n \"VIEW\",\n \"VIEWS\",\n \"VOID\",\n \"WHEN\",\n \"WHERE\",\n \"WHILE\",\n \"WITH\",\n \"WORK\",\n \"WRAPPED\",\n \"WRITE\",\n \"YEAR\",\n \"ZONE\"\n];\nvar dataTypes8 = [\n // https://www.ibm.com/docs/en/db2/10.5?topic=plsql-data-types\n \"ARRAY\",\n \"BFILE_BASE\",\n \"BINARY\",\n \"BLOB_BASE\",\n \"CHAR VARYING\",\n \"CHAR_BASE\",\n \"CHAR\",\n \"CHARACTER VARYING\",\n \"CHARACTER\",\n \"CLOB_BASE\",\n \"DATE_BASE\",\n \"DATE\",\n \"DECIMAL\",\n \"DOUBLE\",\n \"FLOAT\",\n \"INT\",\n \"INTERVAL DAY\",\n \"INTERVAL YEAR\",\n \"LONG\",\n \"NATIONAL CHAR VARYING\",\n \"NATIONAL CHAR\",\n \"NATIONAL CHARACTER VARYING\",\n \"NATIONAL CHARACTER\",\n \"NCHAR VARYING\",\n \"NCHAR\",\n \"NCHAR\",\n \"NUMBER_BASE\",\n \"NUMBER\",\n \"NUMBERIC\",\n \"NVARCHAR\",\n \"PRECISION\",\n \"RAW\",\n \"TIMESTAMP\",\n \"UROWID\",\n \"VARCHAR\",\n \"VARCHAR2\"\n];\n\n// src/languages/plsql/plsql.functions.ts\nvar functions8 = [\n // https://docs.oracle.com/cd/B19306_01/server.102/b14200/functions001.htm\n // numeric\n \"ABS\",\n \"ACOS\",\n \"ASIN\",\n \"ATAN\",\n \"ATAN2\",\n \"BITAND\",\n \"CEIL\",\n \"COS\",\n \"COSH\",\n \"EXP\",\n \"FLOOR\",\n \"LN\",\n \"LOG\",\n \"MOD\",\n \"NANVL\",\n \"POWER\",\n \"REMAINDER\",\n \"ROUND\",\n \"SIGN\",\n \"SIN\",\n \"SINH\",\n \"SQRT\",\n \"TAN\",\n \"TANH\",\n \"TRUNC\",\n \"WIDTH_BUCKET\",\n // character\n \"CHR\",\n \"CONCAT\",\n \"INITCAP\",\n \"LOWER\",\n \"LPAD\",\n \"LTRIM\",\n \"NLS_INITCAP\",\n \"NLS_LOWER\",\n \"NLSSORT\",\n \"NLS_UPPER\",\n \"REGEXP_REPLACE\",\n \"REGEXP_SUBSTR\",\n \"REPLACE\",\n \"RPAD\",\n \"RTRIM\",\n \"SOUNDEX\",\n \"SUBSTR\",\n \"TRANSLATE\",\n \"TREAT\",\n \"TRIM\",\n \"UPPER\",\n \"NLS_CHARSET_DECL_LEN\",\n \"NLS_CHARSET_ID\",\n \"NLS_CHARSET_NAME\",\n \"ASCII\",\n \"INSTR\",\n \"LENGTH\",\n \"REGEXP_INSTR\",\n // datetime\n \"ADD_MONTHS\",\n \"CURRENT_DATE\",\n \"CURRENT_TIMESTAMP\",\n \"DBTIMEZONE\",\n \"EXTRACT\",\n \"FROM_TZ\",\n \"LAST_DAY\",\n \"LOCALTIMESTAMP\",\n \"MONTHS_BETWEEN\",\n \"NEW_TIME\",\n \"NEXT_DAY\",\n \"NUMTODSINTERVAL\",\n \"NUMTOYMINTERVAL\",\n \"ROUND\",\n \"SESSIONTIMEZONE\",\n \"SYS_EXTRACT_UTC\",\n \"SYSDATE\",\n \"SYSTIMESTAMP\",\n \"TO_CHAR\",\n \"TO_TIMESTAMP\",\n \"TO_TIMESTAMP_TZ\",\n \"TO_DSINTERVAL\",\n \"TO_YMINTERVAL\",\n \"TRUNC\",\n \"TZ_OFFSET\",\n // comparison\n \"GREATEST\",\n \"LEAST\",\n // conversion\n \"ASCIISTR\",\n \"BIN_TO_NUM\",\n \"CAST\",\n \"CHARTOROWID\",\n \"COMPOSE\",\n \"CONVERT\",\n \"DECOMPOSE\",\n \"HEXTORAW\",\n \"NUMTODSINTERVAL\",\n \"NUMTOYMINTERVAL\",\n \"RAWTOHEX\",\n \"RAWTONHEX\",\n \"ROWIDTOCHAR\",\n \"ROWIDTONCHAR\",\n \"SCN_TO_TIMESTAMP\",\n \"TIMESTAMP_TO_SCN\",\n \"TO_BINARY_DOUBLE\",\n \"TO_BINARY_FLOAT\",\n \"TO_CHAR\",\n \"TO_CLOB\",\n \"TO_DATE\",\n \"TO_DSINTERVAL\",\n \"TO_LOB\",\n \"TO_MULTI_BYTE\",\n \"TO_NCHAR\",\n \"TO_NCLOB\",\n \"TO_NUMBER\",\n \"TO_DSINTERVAL\",\n \"TO_SINGLE_BYTE\",\n \"TO_TIMESTAMP\",\n \"TO_TIMESTAMP_TZ\",\n \"TO_YMINTERVAL\",\n \"TO_YMINTERVAL\",\n \"TRANSLATE\",\n \"UNISTR\",\n // largeObject\n \"BFILENAME\",\n \"EMPTY_BLOB,\",\n \"EMPTY_CLOB\",\n // collection\n \"CARDINALITY\",\n \"COLLECT\",\n \"POWERMULTISET\",\n \"POWERMULTISET_BY_CARDINALITY\",\n \"SET\",\n // hierarchical\n \"SYS_CONNECT_BY_PATH\",\n // dataMining\n \"CLUSTER_ID\",\n \"CLUSTER_PROBABILITY\",\n \"CLUSTER_SET\",\n \"FEATURE_ID\",\n \"FEATURE_SET\",\n \"FEATURE_VALUE\",\n \"PREDICTION\",\n \"PREDICTION_COST\",\n \"PREDICTION_DETAILS\",\n \"PREDICTION_PROBABILITY\",\n \"PREDICTION_SET\",\n // xml\n \"APPENDCHILDXML\",\n \"DELETEXML\",\n \"DEPTH\",\n \"EXTRACT\",\n \"EXISTSNODE\",\n \"EXTRACTVALUE\",\n \"INSERTCHILDXML\",\n \"INSERTXMLBEFORE\",\n \"PATH\",\n \"SYS_DBURIGEN\",\n \"SYS_XMLAGG\",\n \"SYS_XMLGEN\",\n \"UPDATEXML\",\n \"XMLAGG\",\n \"XMLCDATA\",\n \"XMLCOLATTVAL\",\n \"XMLCOMMENT\",\n \"XMLCONCAT\",\n \"XMLFOREST\",\n \"XMLPARSE\",\n \"XMLPI\",\n \"XMLQUERY\",\n \"XMLROOT\",\n \"XMLSEQUENCE\",\n \"XMLSERIALIZE\",\n \"XMLTABLE\",\n \"XMLTRANSFORM\",\n // encoding\n \"DECODE\",\n \"DUMP\",\n \"ORA_HASH\",\n \"VSIZE\",\n // nullRelated\n \"COALESCE\",\n \"LNNVL\",\n \"NULLIF\",\n \"NVL\",\n \"NVL2\",\n // env\n \"SYS_CONTEXT\",\n \"SYS_GUID\",\n \"SYS_TYPEID\",\n \"UID\",\n \"USER\",\n \"USERENV\",\n // aggregate\n \"AVG\",\n \"COLLECT\",\n \"CORR\",\n \"CORR_S\",\n \"CORR_K\",\n \"COUNT\",\n \"COVAR_POP\",\n \"COVAR_SAMP\",\n \"CUME_DIST\",\n \"DENSE_RANK\",\n \"FIRST\",\n \"GROUP_ID\",\n \"GROUPING\",\n \"GROUPING_ID\",\n \"LAST\",\n \"MAX\",\n \"MEDIAN\",\n \"MIN\",\n \"PERCENTILE_CONT\",\n \"PERCENTILE_DISC\",\n \"PERCENT_RANK\",\n \"RANK\",\n \"REGR_SLOPE\",\n \"REGR_INTERCEPT\",\n \"REGR_COUNT\",\n \"REGR_R2\",\n \"REGR_AVGX\",\n \"REGR_AVGY\",\n \"REGR_SXX\",\n \"REGR_SYY\",\n \"REGR_SXY\",\n \"STATS_BINOMIAL_TEST\",\n \"STATS_CROSSTAB\",\n \"STATS_F_TEST\",\n \"STATS_KS_TEST\",\n \"STATS_MODE\",\n \"STATS_MW_TEST\",\n \"STATS_ONE_WAY_ANOVA\",\n \"STATS_T_TEST_ONE\",\n \"STATS_T_TEST_PAIRED\",\n \"STATS_T_TEST_INDEP\",\n \"STATS_T_TEST_INDEPU\",\n \"STATS_WSR_TEST\",\n \"STDDEV\",\n \"STDDEV_POP\",\n \"STDDEV_SAMP\",\n \"SUM\",\n \"VAR_POP\",\n \"VAR_SAMP\",\n \"VARIANCE\",\n // Windowing functions (minus the ones already listed in aggregates)\n // window\n \"FIRST_VALUE\",\n \"LAG\",\n \"LAST_VALUE\",\n \"LEAD\",\n \"NTILE\",\n \"RATIO_TO_REPORT\",\n \"ROW_NUMBER\",\n // objectReference\n \"DEREF\",\n \"MAKE_REF\",\n \"REF\",\n \"REFTOHEX\",\n \"VALUE\",\n // model\n \"CV\",\n \"ITERATION_NUMBER\",\n \"PRESENTNNV\",\n \"PRESENTV\",\n \"PREVIOUS\"\n];\n\n// src/languages/plsql/plsql.formatter.ts\nvar reservedSelect8 = expandPhrases([\"SELECT [ALL | DISTINCT | UNIQUE]\"]);\nvar reservedClauses8 = expandPhrases([\n // queries\n \"WITH\",\n \"FROM\",\n \"WHERE\",\n \"GROUP BY\",\n \"HAVING\",\n \"PARTITION BY\",\n \"ORDER [SIBLINGS] BY\",\n \"OFFSET\",\n \"FETCH {FIRST | NEXT}\",\n \"FOR UPDATE [OF]\",\n // Data manipulation\n // - insert:\n \"INSERT [INTO | ALL INTO]\",\n \"VALUES\",\n // - update:\n \"SET\",\n // - merge:\n \"MERGE [INTO]\",\n \"WHEN [NOT] MATCHED [THEN]\",\n \"UPDATE SET\",\n // other\n \"RETURNING\"\n]);\nvar onelineClauses8 = expandPhrases([\n // - create:\n \"CREATE [GLOBAL TEMPORARY | PRIVATE TEMPORARY | SHARDED | DUPLICATED | IMMUTABLE BLOCKCHAIN | BLOCKCHAIN | IMMUTABLE] TABLE\",\n \"CREATE [OR REPLACE] [NO FORCE | FORCE] [EDITIONING | EDITIONABLE | EDITIONABLE EDITIONING | NONEDITIONABLE] VIEW\",\n \"CREATE MATERIALIZED VIEW\",\n // - update:\n \"UPDATE [ONLY]\",\n // - delete:\n \"DELETE FROM [ONLY]\",\n // - drop table:\n \"DROP TABLE\",\n // - alter table:\n \"ALTER TABLE\",\n \"ADD\",\n \"DROP {COLUMN | UNUSED COLUMNS | COLUMNS CONTINUE}\",\n \"MODIFY\",\n \"RENAME TO\",\n \"RENAME COLUMN\",\n // - truncate:\n \"TRUNCATE TABLE\",\n // other\n \"SET SCHEMA\",\n \"BEGIN\",\n \"CONNECT BY\",\n \"DECLARE\",\n \"EXCEPT\",\n \"EXCEPTION\",\n \"LOOP\",\n \"START WITH\"\n]);\nvar reservedSetOperations8 = expandPhrases([\"UNION [ALL]\", \"EXCEPT\", \"INTERSECT\"]);\nvar reservedJoins8 = expandPhrases([\n \"JOIN\",\n \"{LEFT | RIGHT | FULL} [OUTER] JOIN\",\n \"{INNER | CROSS} JOIN\",\n \"NATURAL [INNER] JOIN\",\n \"NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN\",\n // non-standard joins\n \"{CROSS | OUTER} APPLY\"\n]);\nvar reservedPhrases8 = expandPhrases([\n \"ON {UPDATE | DELETE} [SET NULL]\",\n \"ON COMMIT\",\n \"{ROWS | RANGE} BETWEEN\"\n]);\nvar plsql = {\n name: \"plsql\",\n tokenizerOptions: {\n reservedSelect: reservedSelect8,\n reservedClauses: [...reservedClauses8, ...onelineClauses8],\n reservedSetOperations: reservedSetOperations8,\n reservedJoins: reservedJoins8,\n reservedPhrases: reservedPhrases8,\n supportsXor: true,\n reservedKeywords: keywords8,\n reservedDataTypes: dataTypes8,\n reservedFunctionNames: functions8,\n stringTypes: [\n { quote: \"''-qq\", prefixes: [\"N\"] },\n { quote: \"q''\", prefixes: [\"N\"] }\n ],\n // PL/SQL doesn't actually support escaping of quotes in identifiers,\n // but for the sake of simpler testing we'll support this anyway\n // as all other SQL dialects with \"identifiers\" do.\n identTypes: [`\"\"-qq`],\n identChars: { rest: \"$#\" },\n variableTypes: [{ regex: \"&{1,2}[A-Za-z][A-Za-z0-9_$#]*\" }],\n paramTypes: { numbered: [\":\"], named: [\":\"] },\n paramChars: {},\n // Empty object used on purpose to not allow $ and # chars as specified in identChars\n operators: [\n \"**\",\n \":=\",\n \"%\",\n \"~=\",\n \"^=\",\n // '..', // Conflicts with float followed by dot (so \"2..3\" gets parsed as [\"2.\", \".\", \"3\"])\n \">>\",\n \"<<\",\n \"=>\",\n \"@\",\n \"||\"\n ],\n postProcess: postProcess3\n },\n formatOptions: {\n alwaysDenseOperators: [\"@\"],\n onelineClauses: onelineClauses8\n }\n};\nfunction postProcess3(tokens) {\n let previousReservedToken = EOF_TOKEN;\n return tokens.map((token) => {\n if (isToken.SET(token) && isToken.BY(previousReservedToken)) {\n return __spreadProps(__spreadValues({}, token), { type: \"RESERVED_KEYWORD\" /* RESERVED_KEYWORD */ });\n }\n if (isReserved(token.type)) {\n previousReservedToken = token;\n }\n return token;\n });\n}\n\n// src/languages/postgresql/postgresql.functions.ts\nvar functions9 = [\n // https://www.postgresql.org/docs/14/functions.html\n //\n // https://www.postgresql.org/docs/14/functions-math.html\n \"ABS\",\n \"ACOS\",\n \"ACOSD\",\n \"ACOSH\",\n \"ASIN\",\n \"ASIND\",\n \"ASINH\",\n \"ATAN\",\n \"ATAN2\",\n \"ATAN2D\",\n \"ATAND\",\n \"ATANH\",\n \"CBRT\",\n \"CEIL\",\n \"CEILING\",\n \"COS\",\n \"COSD\",\n \"COSH\",\n \"COT\",\n \"COTD\",\n \"DEGREES\",\n \"DIV\",\n \"EXP\",\n \"FACTORIAL\",\n \"FLOOR\",\n \"GCD\",\n \"LCM\",\n \"LN\",\n \"LOG\",\n \"LOG10\",\n \"MIN_SCALE\",\n \"MOD\",\n \"PI\",\n \"POWER\",\n \"RADIANS\",\n \"RANDOM\",\n \"ROUND\",\n \"SCALE\",\n \"SETSEED\",\n \"SIGN\",\n \"SIN\",\n \"SIND\",\n \"SINH\",\n \"SQRT\",\n \"TAN\",\n \"TAND\",\n \"TANH\",\n \"TRIM_SCALE\",\n \"TRUNC\",\n \"WIDTH_BUCKET\",\n // https://www.postgresql.org/docs/14/functions-string.html\n \"ABS\",\n \"ASCII\",\n \"BIT_LENGTH\",\n \"BTRIM\",\n \"CHARACTER_LENGTH\",\n \"CHAR_LENGTH\",\n \"CHR\",\n \"CONCAT\",\n \"CONCAT_WS\",\n \"FORMAT\",\n \"INITCAP\",\n \"LEFT\",\n \"LENGTH\",\n \"LOWER\",\n \"LPAD\",\n \"LTRIM\",\n \"MD5\",\n \"NORMALIZE\",\n \"OCTET_LENGTH\",\n \"OVERLAY\",\n \"PARSE_IDENT\",\n \"PG_CLIENT_ENCODING\",\n \"POSITION\",\n \"QUOTE_IDENT\",\n \"QUOTE_LITERAL\",\n \"QUOTE_NULLABLE\",\n \"REGEXP_MATCH\",\n \"REGEXP_MATCHES\",\n \"REGEXP_REPLACE\",\n \"REGEXP_SPLIT_TO_ARRAY\",\n \"REGEXP_SPLIT_TO_TABLE\",\n \"REPEAT\",\n \"REPLACE\",\n \"REVERSE\",\n \"RIGHT\",\n \"RPAD\",\n \"RTRIM\",\n \"SPLIT_PART\",\n \"SPRINTF\",\n \"STARTS_WITH\",\n \"STRING_AGG\",\n \"STRING_TO_ARRAY\",\n \"STRING_TO_TABLE\",\n \"STRPOS\",\n \"SUBSTR\",\n \"SUBSTRING\",\n \"TO_ASCII\",\n \"TO_HEX\",\n \"TRANSLATE\",\n \"TRIM\",\n \"UNISTR\",\n \"UPPER\",\n // https://www.postgresql.org/docs/14/functions-binarystring.html\n \"BIT_COUNT\",\n \"BIT_LENGTH\",\n \"BTRIM\",\n \"CONVERT\",\n \"CONVERT_FROM\",\n \"CONVERT_TO\",\n \"DECODE\",\n \"ENCODE\",\n \"GET_BIT\",\n \"GET_BYTE\",\n \"LENGTH\",\n \"LTRIM\",\n \"MD5\",\n \"OCTET_LENGTH\",\n \"OVERLAY\",\n \"POSITION\",\n \"RTRIM\",\n \"SET_BIT\",\n \"SET_BYTE\",\n \"SHA224\",\n \"SHA256\",\n \"SHA384\",\n \"SHA512\",\n \"STRING_AGG\",\n \"SUBSTR\",\n \"SUBSTRING\",\n \"TRIM\",\n // https://www.postgresql.org/docs/14/functions-bitstring.html\n \"BIT_COUNT\",\n \"BIT_LENGTH\",\n \"GET_BIT\",\n \"LENGTH\",\n \"OCTET_LENGTH\",\n \"OVERLAY\",\n \"POSITION\",\n \"SET_BIT\",\n \"SUBSTRING\",\n // https://www.postgresql.org/docs/14/functions-matching.html\n \"REGEXP_MATCH\",\n \"REGEXP_MATCHES\",\n \"REGEXP_REPLACE\",\n \"REGEXP_SPLIT_TO_ARRAY\",\n \"REGEXP_SPLIT_TO_TABLE\",\n // https://www.postgresql.org/docs/14/functions-formatting.html\n \"TO_CHAR\",\n \"TO_DATE\",\n \"TO_NUMBER\",\n \"TO_TIMESTAMP\",\n // https://www.postgresql.org/docs/14/functions-datetime.html\n // 'AGE',\n \"CLOCK_TIMESTAMP\",\n \"CURRENT_DATE\",\n \"CURRENT_TIME\",\n \"CURRENT_TIMESTAMP\",\n \"DATE_BIN\",\n \"DATE_PART\",\n \"DATE_TRUNC\",\n \"EXTRACT\",\n \"ISFINITE\",\n \"JUSTIFY_DAYS\",\n \"JUSTIFY_HOURS\",\n \"JUSTIFY_INTERVAL\",\n \"LOCALTIME\",\n \"LOCALTIMESTAMP\",\n \"MAKE_DATE\",\n \"MAKE_INTERVAL\",\n \"MAKE_TIME\",\n \"MAKE_TIMESTAMP\",\n \"MAKE_TIMESTAMPTZ\",\n \"NOW\",\n \"PG_SLEEP\",\n \"PG_SLEEP_FOR\",\n \"PG_SLEEP_UNTIL\",\n \"STATEMENT_TIMESTAMP\",\n \"TIMEOFDAY\",\n \"TO_TIMESTAMP\",\n \"TRANSACTION_TIMESTAMP\",\n // https://www.postgresql.org/docs/14/functions-enum.html\n \"ENUM_FIRST\",\n \"ENUM_LAST\",\n \"ENUM_RANGE\",\n // https://www.postgresql.org/docs/14/functions-geometry.html\n \"AREA\",\n \"BOUND_BOX\",\n \"BOX\",\n \"CENTER\",\n \"CIRCLE\",\n \"DIAGONAL\",\n \"DIAMETER\",\n \"HEIGHT\",\n \"ISCLOSED\",\n \"ISOPEN\",\n \"LENGTH\",\n \"LINE\",\n \"LSEG\",\n \"NPOINTS\",\n \"PATH\",\n \"PCLOSE\",\n \"POINT\",\n \"POLYGON\",\n \"POPEN\",\n \"RADIUS\",\n \"SLOPE\",\n \"WIDTH\",\n // https://www.postgresql.org/docs/14/functions-net.html\n \"ABBREV\",\n \"BROADCAST\",\n \"FAMILY\",\n \"HOST\",\n \"HOSTMASK\",\n \"INET_MERGE\",\n \"INET_SAME_FAMILY\",\n \"MACADDR8_SET7BIT\",\n \"MASKLEN\",\n \"NETMASK\",\n \"NETWORK\",\n \"SET_MASKLEN\",\n \"TEXT\",\n \"TRUNC\",\n // https://www.postgresql.org/docs/14/functions-textsearch.html\n \"ARRAY_TO_TSVECTOR\",\n \"GET_CURRENT_TS_CONFIG\",\n \"JSONB_TO_TSVECTOR\",\n \"JSON_TO_TSVECTOR\",\n \"LENGTH\",\n \"NUMNODE\",\n \"PHRASETO_TSQUERY\",\n \"PLAINTO_TSQUERY\",\n \"QUERYTREE\",\n \"SETWEIGHT\",\n \"STRIP\",\n \"TO_TSQUERY\",\n \"TO_TSVECTOR\",\n \"TSQUERY_PHRASE\",\n \"TSVECTOR_TO_ARRAY\",\n \"TS_DEBUG\",\n \"TS_DELETE\",\n \"TS_FILTER\",\n \"TS_HEADLINE\",\n \"TS_LEXIZE\",\n \"TS_PARSE\",\n \"TS_RANK\",\n \"TS_RANK_CD\",\n \"TS_REWRITE\",\n \"TS_STAT\",\n \"TS_TOKEN_TYPE\",\n \"WEBSEARCH_TO_TSQUERY\",\n // https://www.postgresql.org/docs/14/functions-uuid.html\n \"UUID\",\n // https://www.postgresql.org/docs/14/functions-xml.html\n \"CURSOR_TO_XML\",\n \"CURSOR_TO_XMLSCHEMA\",\n \"DATABASE_TO_XML\",\n \"DATABASE_TO_XMLSCHEMA\",\n \"DATABASE_TO_XML_AND_XMLSCHEMA\",\n \"NEXTVAL\",\n \"QUERY_TO_XML\",\n \"QUERY_TO_XMLSCHEMA\",\n \"QUERY_TO_XML_AND_XMLSCHEMA\",\n \"SCHEMA_TO_XML\",\n \"SCHEMA_TO_XMLSCHEMA\",\n \"SCHEMA_TO_XML_AND_XMLSCHEMA\",\n \"STRING\",\n \"TABLE_TO_XML\",\n \"TABLE_TO_XMLSCHEMA\",\n \"TABLE_TO_XML_AND_XMLSCHEMA\",\n \"XMLAGG\",\n \"XMLCOMMENT\",\n \"XMLCONCAT\",\n \"XMLELEMENT\",\n \"XMLEXISTS\",\n \"XMLFOREST\",\n \"XMLPARSE\",\n \"XMLPI\",\n \"XMLROOT\",\n \"XMLSERIALIZE\",\n \"XMLTABLE\",\n \"XML_IS_WELL_FORMED\",\n \"XML_IS_WELL_FORMED_CONTENT\",\n \"XML_IS_WELL_FORMED_DOCUMENT\",\n \"XPATH\",\n \"XPATH_EXISTS\",\n // https://www.postgresql.org/docs/14/functions-json.html\n \"ARRAY_TO_JSON\",\n \"JSONB_AGG\",\n \"JSONB_ARRAY_ELEMENTS\",\n \"JSONB_ARRAY_ELEMENTS_TEXT\",\n \"JSONB_ARRAY_LENGTH\",\n \"JSONB_BUILD_ARRAY\",\n \"JSONB_BUILD_OBJECT\",\n \"JSONB_EACH\",\n \"JSONB_EACH_TEXT\",\n \"JSONB_EXTRACT_PATH\",\n \"JSONB_EXTRACT_PATH_TEXT\",\n \"JSONB_INSERT\",\n \"JSONB_OBJECT\",\n \"JSONB_OBJECT_AGG\",\n \"JSONB_OBJECT_KEYS\",\n \"JSONB_PATH_EXISTS\",\n \"JSONB_PATH_EXISTS_TZ\",\n \"JSONB_PATH_MATCH\",\n \"JSONB_PATH_MATCH_TZ\",\n \"JSONB_PATH_QUERY\",\n \"JSONB_PATH_QUERY_ARRAY\",\n \"JSONB_PATH_QUERY_ARRAY_TZ\",\n \"JSONB_PATH_QUERY_FIRST\",\n \"JSONB_PATH_QUERY_FIRST_TZ\",\n \"JSONB_PATH_QUERY_TZ\",\n \"JSONB_POPULATE_RECORD\",\n \"JSONB_POPULATE_RECORDSET\",\n \"JSONB_PRETTY\",\n \"JSONB_SET\",\n \"JSONB_SET_LAX\",\n \"JSONB_STRIP_NULLS\",\n \"JSONB_TO_RECORD\",\n \"JSONB_TO_RECORDSET\",\n \"JSONB_TYPEOF\",\n \"JSON_AGG\",\n \"JSON_ARRAY_ELEMENTS\",\n \"JSON_ARRAY_ELEMENTS_TEXT\",\n \"JSON_ARRAY_LENGTH\",\n \"JSON_BUILD_ARRAY\",\n \"JSON_BUILD_OBJECT\",\n \"JSON_EACH\",\n \"JSON_EACH_TEXT\",\n \"JSON_EXTRACT_PATH\",\n \"JSON_EXTRACT_PATH_TEXT\",\n \"JSON_OBJECT\",\n \"JSON_OBJECT_AGG\",\n \"JSON_OBJECT_KEYS\",\n \"JSON_POPULATE_RECORD\",\n \"JSON_POPULATE_RECORDSET\",\n \"JSON_STRIP_NULLS\",\n \"JSON_TO_RECORD\",\n \"JSON_TO_RECORDSET\",\n \"JSON_TYPEOF\",\n \"ROW_TO_JSON\",\n \"TO_JSON\",\n \"TO_JSONB\",\n \"TO_TIMESTAMP\",\n // https://www.postgresql.org/docs/14/functions-sequence.html\n \"CURRVAL\",\n \"LASTVAL\",\n \"NEXTVAL\",\n \"SETVAL\",\n // https://www.postgresql.org/docs/14/functions-conditional.html\n // 'CASE',\n \"COALESCE\",\n \"GREATEST\",\n \"LEAST\",\n \"NULLIF\",\n // https://www.postgresql.org/docs/14/functions-array.html\n \"ARRAY_AGG\",\n \"ARRAY_APPEND\",\n \"ARRAY_CAT\",\n \"ARRAY_DIMS\",\n \"ARRAY_FILL\",\n \"ARRAY_LENGTH\",\n \"ARRAY_LOWER\",\n \"ARRAY_NDIMS\",\n \"ARRAY_POSITION\",\n \"ARRAY_POSITIONS\",\n \"ARRAY_PREPEND\",\n \"ARRAY_REMOVE\",\n \"ARRAY_REPLACE\",\n \"ARRAY_TO_STRING\",\n \"ARRAY_UPPER\",\n \"CARDINALITY\",\n \"STRING_TO_ARRAY\",\n \"TRIM_ARRAY\",\n \"UNNEST\",\n // https://www.postgresql.org/docs/14/functions-range.html\n \"ISEMPTY\",\n \"LOWER\",\n \"LOWER_INC\",\n \"LOWER_INF\",\n \"MULTIRANGE\",\n \"RANGE_MERGE\",\n \"UPPER\",\n \"UPPER_INC\",\n \"UPPER_INF\",\n // https://www.postgresql.org/docs/14/functions-aggregate.html\n // 'ANY',\n \"ARRAY_AGG\",\n \"AVG\",\n \"BIT_AND\",\n \"BIT_OR\",\n \"BIT_XOR\",\n \"BOOL_AND\",\n \"BOOL_OR\",\n \"COALESCE\",\n \"CORR\",\n \"COUNT\",\n \"COVAR_POP\",\n \"COVAR_SAMP\",\n \"CUME_DIST\",\n \"DENSE_RANK\",\n \"EVERY\",\n \"GROUPING\",\n \"JSONB_AGG\",\n \"JSONB_OBJECT_AGG\",\n \"JSON_AGG\",\n \"JSON_OBJECT_AGG\",\n \"MAX\",\n \"MIN\",\n \"MODE\",\n \"PERCENTILE_CONT\",\n \"PERCENTILE_DISC\",\n \"PERCENT_RANK\",\n \"RANGE_AGG\",\n \"RANGE_INTERSECT_AGG\",\n \"RANK\",\n \"REGR_AVGX\",\n \"REGR_AVGY\",\n \"REGR_COUNT\",\n \"REGR_INTERCEPT\",\n \"REGR_R2\",\n \"REGR_SLOPE\",\n \"REGR_SXX\",\n \"REGR_SXY\",\n \"REGR_SYY\",\n // 'SOME',\n \"STDDEV\",\n \"STDDEV_POP\",\n \"STDDEV_SAMP\",\n \"STRING_AGG\",\n \"SUM\",\n \"TO_JSON\",\n \"TO_JSONB\",\n \"VARIANCE\",\n \"VAR_POP\",\n \"VAR_SAMP\",\n \"XMLAGG\",\n // https://www.postgresql.org/docs/14/functions-window.html\n \"CUME_DIST\",\n \"DENSE_RANK\",\n \"FIRST_VALUE\",\n \"LAG\",\n \"LAST_VALUE\",\n \"LEAD\",\n \"NTH_VALUE\",\n \"NTILE\",\n \"PERCENT_RANK\",\n \"RANK\",\n \"ROW_NUMBER\",\n // https://www.postgresql.org/docs/14/functions-srf.html\n \"GENERATE_SERIES\",\n \"GENERATE_SUBSCRIPTS\",\n // https://www.postgresql.org/docs/14/functions-info.html\n \"ACLDEFAULT\",\n \"ACLEXPLODE\",\n \"COL_DESCRIPTION\",\n \"CURRENT_CATALOG\",\n \"CURRENT_DATABASE\",\n \"CURRENT_QUERY\",\n \"CURRENT_ROLE\",\n \"CURRENT_SCHEMA\",\n \"CURRENT_SCHEMAS\",\n \"CURRENT_USER\",\n \"FORMAT_TYPE\",\n \"HAS_ANY_COLUMN_PRIVILEGE\",\n \"HAS_COLUMN_PRIVILEGE\",\n \"HAS_DATABASE_PRIVILEGE\",\n \"HAS_FOREIGN_DATA_WRAPPER_PRIVILEGE\",\n \"HAS_FUNCTION_PRIVILEGE\",\n \"HAS_LANGUAGE_PRIVILEGE\",\n \"HAS_SCHEMA_PRIVILEGE\",\n \"HAS_SEQUENCE_PRIVILEGE\",\n \"HAS_SERVER_PRIVILEGE\",\n \"HAS_TABLESPACE_PRIVILEGE\",\n \"HAS_TABLE_PRIVILEGE\",\n \"HAS_TYPE_PRIVILEGE\",\n \"INET_CLIENT_ADDR\",\n \"INET_CLIENT_PORT\",\n \"INET_SERVER_ADDR\",\n \"INET_SERVER_PORT\",\n \"MAKEACLITEM\",\n \"OBJ_DESCRIPTION\",\n \"PG_BACKEND_PID\",\n \"PG_BLOCKING_PIDS\",\n \"PG_COLLATION_IS_VISIBLE\",\n \"PG_CONF_LOAD_TIME\",\n \"PG_CONTROL_CHECKPOINT\",\n \"PG_CONTROL_INIT\",\n \"PG_CONTROL_SYSTEM\",\n \"PG_CONVERSION_IS_VISIBLE\",\n \"PG_CURRENT_LOGFILE\",\n \"PG_CURRENT_SNAPSHOT\",\n \"PG_CURRENT_XACT_ID\",\n \"PG_CURRENT_XACT_ID_IF_ASSIGNED\",\n \"PG_DESCRIBE_OBJECT\",\n \"PG_FUNCTION_IS_VISIBLE\",\n \"PG_GET_CATALOG_FOREIGN_KEYS\",\n \"PG_GET_CONSTRAINTDEF\",\n \"PG_GET_EXPR\",\n \"PG_GET_FUNCTIONDEF\",\n \"PG_GET_FUNCTION_ARGUMENTS\",\n \"PG_GET_FUNCTION_IDENTITY_ARGUMENTS\",\n \"PG_GET_FUNCTION_RESULT\",\n \"PG_GET_INDEXDEF\",\n \"PG_GET_KEYWORDS\",\n \"PG_GET_OBJECT_ADDRESS\",\n \"PG_GET_OWNED_SEQUENCE\",\n \"PG_GET_RULEDEF\",\n \"PG_GET_SERIAL_SEQUENCE\",\n \"PG_GET_STATISTICSOBJDEF\",\n \"PG_GET_TRIGGERDEF\",\n \"PG_GET_USERBYID\",\n \"PG_GET_VIEWDEF\",\n \"PG_HAS_ROLE\",\n \"PG_IDENTIFY_OBJECT\",\n \"PG_IDENTIFY_OBJECT_AS_ADDRESS\",\n \"PG_INDEXAM_HAS_PROPERTY\",\n \"PG_INDEX_COLUMN_HAS_PROPERTY\",\n \"PG_INDEX_HAS_PROPERTY\",\n \"PG_IS_OTHER_TEMP_SCHEMA\",\n \"PG_JIT_AVAILABLE\",\n \"PG_LAST_COMMITTED_XACT\",\n \"PG_LISTENING_CHANNELS\",\n \"PG_MY_TEMP_SCHEMA\",\n \"PG_NOTIFICATION_QUEUE_USAGE\",\n \"PG_OPCLASS_IS_VISIBLE\",\n \"PG_OPERATOR_IS_VISIBLE\",\n \"PG_OPFAMILY_IS_VISIBLE\",\n \"PG_OPTIONS_TO_TABLE\",\n \"PG_POSTMASTER_START_TIME\",\n \"PG_SAFE_SNAPSHOT_BLOCKING_PIDS\",\n \"PG_SNAPSHOT_XIP\",\n \"PG_SNAPSHOT_XMAX\",\n \"PG_SNAPSHOT_XMIN\",\n \"PG_STATISTICS_OBJ_IS_VISIBLE\",\n \"PG_TABLESPACE_DATABASES\",\n \"PG_TABLESPACE_LOCATION\",\n \"PG_TABLE_IS_VISIBLE\",\n \"PG_TRIGGER_DEPTH\",\n \"PG_TS_CONFIG_IS_VISIBLE\",\n \"PG_TS_DICT_IS_VISIBLE\",\n \"PG_TS_PARSER_IS_VISIBLE\",\n \"PG_TS_TEMPLATE_IS_VISIBLE\",\n \"PG_TYPEOF\",\n \"PG_TYPE_IS_VISIBLE\",\n \"PG_VISIBLE_IN_SNAPSHOT\",\n \"PG_XACT_COMMIT_TIMESTAMP\",\n \"PG_XACT_COMMIT_TIMESTAMP_ORIGIN\",\n \"PG_XACT_STATUS\",\n \"PQSERVERVERSION\",\n \"ROW_SECURITY_ACTIVE\",\n \"SESSION_USER\",\n \"SHOBJ_DESCRIPTION\",\n \"TO_REGCLASS\",\n \"TO_REGCOLLATION\",\n \"TO_REGNAMESPACE\",\n \"TO_REGOPER\",\n \"TO_REGOPERATOR\",\n \"TO_REGPROC\",\n \"TO_REGPROCEDURE\",\n \"TO_REGROLE\",\n \"TO_REGTYPE\",\n \"TXID_CURRENT\",\n \"TXID_CURRENT_IF_ASSIGNED\",\n \"TXID_CURRENT_SNAPSHOT\",\n \"TXID_SNAPSHOT_XIP\",\n \"TXID_SNAPSHOT_XMAX\",\n \"TXID_SNAPSHOT_XMIN\",\n \"TXID_STATUS\",\n \"TXID_VISIBLE_IN_SNAPSHOT\",\n \"USER\",\n \"VERSION\",\n // https://www.postgresql.org/docs/14/functions-admin.html\n \"BRIN_DESUMMARIZE_RANGE\",\n \"BRIN_SUMMARIZE_NEW_VALUES\",\n \"BRIN_SUMMARIZE_RANGE\",\n \"CONVERT_FROM\",\n \"CURRENT_SETTING\",\n \"GIN_CLEAN_PENDING_LIST\",\n \"PG_ADVISORY_LOCK\",\n \"PG_ADVISORY_LOCK_SHARED\",\n \"PG_ADVISORY_UNLOCK\",\n \"PG_ADVISORY_UNLOCK_ALL\",\n \"PG_ADVISORY_UNLOCK_SHARED\",\n \"PG_ADVISORY_XACT_LOCK\",\n \"PG_ADVISORY_XACT_LOCK_SHARED\",\n \"PG_BACKUP_START_TIME\",\n \"PG_CANCEL_BACKEND\",\n \"PG_COLLATION_ACTUAL_VERSION\",\n \"PG_COLUMN_COMPRESSION\",\n \"PG_COLUMN_SIZE\",\n \"PG_COPY_LOGICAL_REPLICATION_SLOT\",\n \"PG_COPY_PHYSICAL_REPLICATION_SLOT\",\n \"PG_CREATE_LOGICAL_REPLICATION_SLOT\",\n \"PG_CREATE_PHYSICAL_REPLICATION_SLOT\",\n \"PG_CREATE_RESTORE_POINT\",\n \"PG_CURRENT_WAL_FLUSH_LSN\",\n \"PG_CURRENT_WAL_INSERT_LSN\",\n \"PG_CURRENT_WAL_LSN\",\n \"PG_DATABASE_SIZE\",\n \"PG_DROP_REPLICATION_SLOT\",\n \"PG_EXPORT_SNAPSHOT\",\n \"PG_FILENODE_RELATION\",\n \"PG_GET_WAL_REPLAY_PAUSE_STATE\",\n \"PG_IMPORT_SYSTEM_COLLATIONS\",\n \"PG_INDEXES_SIZE\",\n \"PG_IS_IN_BACKUP\",\n \"PG_IS_IN_RECOVERY\",\n \"PG_IS_WAL_REPLAY_PAUSED\",\n \"PG_LAST_WAL_RECEIVE_LSN\",\n \"PG_LAST_WAL_REPLAY_LSN\",\n \"PG_LAST_XACT_REPLAY_TIMESTAMP\",\n \"PG_LOGICAL_EMIT_MESSAGE\",\n \"PG_LOGICAL_SLOT_GET_BINARY_CHANGES\",\n \"PG_LOGICAL_SLOT_GET_CHANGES\",\n \"PG_LOGICAL_SLOT_PEEK_BINARY_CHANGES\",\n \"PG_LOGICAL_SLOT_PEEK_CHANGES\",\n \"PG_LOG_BACKEND_MEMORY_CONTEXTS\",\n \"PG_LS_ARCHIVE_STATUSDIR\",\n \"PG_LS_DIR\",\n \"PG_LS_LOGDIR\",\n \"PG_LS_TMPDIR\",\n \"PG_LS_WALDIR\",\n \"PG_PARTITION_ANCESTORS\",\n \"PG_PARTITION_ROOT\",\n \"PG_PARTITION_TREE\",\n \"PG_PROMOTE\",\n \"PG_READ_BINARY_FILE\",\n \"PG_READ_FILE\",\n \"PG_RELATION_FILENODE\",\n \"PG_RELATION_FILEPATH\",\n \"PG_RELATION_SIZE\",\n \"PG_RELOAD_CONF\",\n \"PG_REPLICATION_ORIGIN_ADVANCE\",\n \"PG_REPLICATION_ORIGIN_CREATE\",\n \"PG_REPLICATION_ORIGIN_DROP\",\n \"PG_REPLICATION_ORIGIN_OID\",\n \"PG_REPLICATION_ORIGIN_PROGRESS\",\n \"PG_REPLICATION_ORIGIN_SESSION_IS_SETUP\",\n \"PG_REPLICATION_ORIGIN_SESSION_PROGRESS\",\n \"PG_REPLICATION_ORIGIN_SESSION_RESET\",\n \"PG_REPLICATION_ORIGIN_SESSION_SETUP\",\n \"PG_REPLICATION_ORIGIN_XACT_RESET\",\n \"PG_REPLICATION_ORIGIN_XACT_SETUP\",\n \"PG_REPLICATION_SLOT_ADVANCE\",\n \"PG_ROTATE_LOGFILE\",\n \"PG_SIZE_BYTES\",\n \"PG_SIZE_PRETTY\",\n \"PG_START_BACKUP\",\n \"PG_STAT_FILE\",\n \"PG_STOP_BACKUP\",\n \"PG_SWITCH_WAL\",\n \"PG_TABLESPACE_SIZE\",\n \"PG_TABLE_SIZE\",\n \"PG_TERMINATE_BACKEND\",\n \"PG_TOTAL_RELATION_SIZE\",\n \"PG_TRY_ADVISORY_LOCK\",\n \"PG_TRY_ADVISORY_LOCK_SHARED\",\n \"PG_TRY_ADVISORY_XACT_LOCK\",\n \"PG_TRY_ADVISORY_XACT_LOCK_SHARED\",\n \"PG_WALFILE_NAME\",\n \"PG_WALFILE_NAME_OFFSET\",\n \"PG_WAL_LSN_DIFF\",\n \"PG_WAL_REPLAY_PAUSE\",\n \"PG_WAL_REPLAY_RESUME\",\n \"SET_CONFIG\",\n // https://www.postgresql.org/docs/14/functions-trigger.html\n \"SUPPRESS_REDUNDANT_UPDATES_TRIGGER\",\n \"TSVECTOR_UPDATE_TRIGGER\",\n \"TSVECTOR_UPDATE_TRIGGER_COLUMN\",\n // https://www.postgresql.org/docs/14/functions-event-triggers.html\n \"PG_EVENT_TRIGGER_DDL_COMMANDS\",\n \"PG_EVENT_TRIGGER_DROPPED_OBJECTS\",\n \"PG_EVENT_TRIGGER_TABLE_REWRITE_OID\",\n \"PG_EVENT_TRIGGER_TABLE_REWRITE_REASON\",\n \"PG_GET_OBJECT_ADDRESS\",\n // https://www.postgresql.org/docs/14/functions-statistics.html\n \"PG_MCV_LIST_ITEMS\",\n // cast\n \"CAST\"\n];\n\n// src/languages/postgresql/postgresql.keywords.ts\nvar keywords9 = [\n // https://www.postgresql.org/docs/14/sql-keywords-appendix.html\n \"ABORT\",\n \"ABSOLUTE\",\n \"ACCESS\",\n \"ACTION\",\n \"ADD\",\n \"ADMIN\",\n \"AFTER\",\n \"AGGREGATE\",\n \"ALL\",\n // reserved\n \"ALSO\",\n \"ALTER\",\n \"ALWAYS\",\n \"ANALYSE\",\n // reserved\n \"ANALYZE\",\n // reserved\n \"AND\",\n // reserved\n \"ANY\",\n // reserved\n \"AS\",\n // reserved, requires AS\n \"ASC\",\n // reserved\n \"ASENSITIVE\",\n \"ASSERTION\",\n \"ASSIGNMENT\",\n \"ASYMMETRIC\",\n // reserved\n \"AT\",\n \"ATOMIC\",\n \"ATTACH\",\n \"ATTRIBUTE\",\n \"AUTHORIZATION\",\n // reserved (can be function or type)\n \"BACKWARD\",\n \"BEFORE\",\n \"BEGIN\",\n \"BETWEEN\",\n // (cannot be function or type)\n \"BINARY\",\n // reserved (can be function or type)\n \"BOTH\",\n // reserved\n \"BREADTH\",\n \"BY\",\n \"CACHE\",\n \"CALL\",\n \"CALLED\",\n \"CASCADE\",\n \"CASCADED\",\n \"CASE\",\n // reserved\n \"CAST\",\n // reserved\n \"CATALOG\",\n \"CHAIN\",\n \"CHARACTERISTICS\",\n \"CHECK\",\n // reserved\n \"CHECKPOINT\",\n \"CLASS\",\n \"CLOSE\",\n \"CLUSTER\",\n \"COALESCE\",\n // (cannot be function or type)\n \"COLLATE\",\n // reserved\n \"COLLATION\",\n // reserved (can be function or type)\n \"COLUMN\",\n // reserved\n \"COLUMNS\",\n \"COMMENT\",\n \"COMMENTS\",\n \"COMMIT\",\n \"COMMITTED\",\n \"COMPRESSION\",\n \"CONCURRENTLY\",\n // reserved (can be function or type)\n \"CONFIGURATION\",\n \"CONFLICT\",\n \"CONNECTION\",\n \"CONSTRAINT\",\n // reserved\n \"CONSTRAINTS\",\n \"CONTENT\",\n \"CONTINUE\",\n \"CONVERSION\",\n \"COPY\",\n \"COST\",\n \"CREATE\",\n // reserved, requires AS\n \"CROSS\",\n // reserved (can be function or type)\n \"CSV\",\n \"CUBE\",\n \"CURRENT\",\n \"CURRENT_CATALOG\",\n // reserved\n \"CURRENT_DATE\",\n // reserved\n \"CURRENT_ROLE\",\n // reserved\n \"CURRENT_SCHEMA\",\n // reserved (can be function or type)\n \"CURRENT_TIME\",\n // reserved\n \"CURRENT_TIMESTAMP\",\n // reserved\n \"CURRENT_USER\",\n // reserved\n \"CURSOR\",\n \"CYCLE\",\n \"DATA\",\n \"DATABASE\",\n \"DAY\",\n // requires AS\n \"DEALLOCATE\",\n \"DEC\",\n // (cannot be function or type)\n \"DECLARE\",\n \"DEFAULT\",\n // reserved\n \"DEFAULTS\",\n \"DEFERRABLE\",\n // reserved\n \"DEFERRED\",\n \"DEFINER\",\n \"DELETE\",\n \"DELIMITER\",\n \"DELIMITERS\",\n \"DEPENDS\",\n \"DEPTH\",\n \"DESC\",\n // reserved\n \"DETACH\",\n \"DICTIONARY\",\n \"DISABLE\",\n \"DISCARD\",\n \"DISTINCT\",\n // reserved\n \"DO\",\n // reserved\n \"DOCUMENT\",\n \"DOMAIN\",\n \"DROP\",\n \"EACH\",\n \"ELSE\",\n // reserved\n \"ENABLE\",\n \"ENCODING\",\n \"ENCRYPTED\",\n \"END\",\n // reserved\n \"ENUM\",\n \"ESCAPE\",\n \"EVENT\",\n \"EXCEPT\",\n // reserved, requires AS\n \"EXCLUDE\",\n \"EXCLUDING\",\n \"EXCLUSIVE\",\n \"EXECUTE\",\n \"EXISTS\",\n // (cannot be function or type)\n \"EXPLAIN\",\n \"EXPRESSION\",\n \"EXTENSION\",\n \"EXTERNAL\",\n \"EXTRACT\",\n // (cannot be function or type)\n \"FALSE\",\n // reserved\n \"FAMILY\",\n \"FETCH\",\n // reserved, requires AS\n \"FILTER\",\n // requires AS\n \"FINALIZE\",\n \"FIRST\",\n \"FOLLOWING\",\n \"FOR\",\n // reserved, requires AS\n \"FORCE\",\n \"FOREIGN\",\n // reserved\n \"FORWARD\",\n \"FREEZE\",\n // reserved (can be function or type)\n \"FROM\",\n // reserved, requires AS\n \"FULL\",\n // reserved (can be function or type)\n \"FUNCTION\",\n \"FUNCTIONS\",\n \"GENERATED\",\n \"GLOBAL\",\n \"GRANT\",\n // reserved, requires AS\n \"GRANTED\",\n \"GREATEST\",\n // (cannot be function or type)\n \"GROUP\",\n // reserved, requires AS\n \"GROUPING\",\n // (cannot be function or type)\n \"GROUPS\",\n \"HANDLER\",\n \"HAVING\",\n // reserved, requires AS\n \"HEADER\",\n \"HOLD\",\n \"HOUR\",\n // requires AS\n \"IDENTITY\",\n \"IF\",\n \"ILIKE\",\n // reserved (can be function or type)\n \"IMMEDIATE\",\n \"IMMUTABLE\",\n \"IMPLICIT\",\n \"IMPORT\",\n \"IN\",\n // reserved\n \"INCLUDE\",\n \"INCLUDING\",\n \"INCREMENT\",\n \"INDEX\",\n \"INDEXES\",\n \"INHERIT\",\n \"INHERITS\",\n \"INITIALLY\",\n // reserved\n \"INLINE\",\n \"INNER\",\n // reserved (can be function or type)\n \"INOUT\",\n // (cannot be function or type)\n \"INPUT\",\n \"INSENSITIVE\",\n \"INSERT\",\n \"INSTEAD\",\n \"INTERSECT\",\n // reserved, requires AS\n \"INTO\",\n // reserved, requires AS\n \"INVOKER\",\n \"IS\",\n // reserved (can be function or type)\n \"ISNULL\",\n // reserved (can be function or type), requires AS\n \"ISOLATION\",\n \"JOIN\",\n // reserved (can be function or type)\n \"KEY\",\n \"LANGUAGE\",\n \"LARGE\",\n \"LAST\",\n \"LATERAL\",\n // reserved\n \"LEADING\",\n // reserved\n \"LEAKPROOF\",\n \"LEAST\",\n // (cannot be function or type)\n \"LEFT\",\n // reserved (can be function or type)\n \"LEVEL\",\n \"LIKE\",\n // reserved (can be function or type)\n \"LIMIT\",\n // reserved, requires AS\n \"LISTEN\",\n \"LOAD\",\n \"LOCAL\",\n \"LOCALTIME\",\n // reserved\n \"LOCALTIMESTAMP\",\n // reserved\n \"LOCK\",\n \"LOCKED\",\n \"LOGGED\",\n \"MAPPING\",\n \"MATCH\",\n \"MATERIALIZED\",\n \"MAXVALUE\",\n \"METHOD\",\n \"MINUTE\",\n // requires AS\n \"MINVALUE\",\n \"MODE\",\n \"MONTH\",\n // requires AS\n \"MOVE\",\n \"NATIONAL\",\n // (cannot be function or type)\n \"NATURAL\",\n // reserved (can be function or type)\n \"NCHAR\",\n // (cannot be function or type)\n \"NEW\",\n \"NEXT\",\n \"NFC\",\n \"NFD\",\n \"NFKC\",\n \"NFKD\",\n \"NO\",\n \"NONE\",\n // (cannot be function or type)\n \"NORMALIZE\",\n // (cannot be function or type)\n \"NORMALIZED\",\n \"NOT\",\n // reserved\n \"NOTHING\",\n \"NOTIFY\",\n \"NOTNULL\",\n // reserved (can be function or type), requires AS\n \"NOWAIT\",\n \"NULL\",\n // reserved\n \"NULLIF\",\n // (cannot be function or type)\n \"NULLS\",\n \"OBJECT\",\n \"OF\",\n \"OFF\",\n \"OFFSET\",\n // reserved, requires AS\n \"OIDS\",\n \"OLD\",\n \"ON\",\n // reserved, requires AS\n \"ONLY\",\n // reserved\n \"OPERATOR\",\n \"OPTION\",\n \"OPTIONS\",\n \"OR\",\n // reserved\n \"ORDER\",\n // reserved, requires AS\n \"ORDINALITY\",\n \"OTHERS\",\n \"OUT\",\n // (cannot be function or type)\n \"OUTER\",\n // reserved (can be function or type)\n \"OVER\",\n // requires AS\n \"OVERLAPS\",\n // reserved (can be function or type), requires AS\n \"OVERLAY\",\n // (cannot be function or type)\n \"OVERRIDING\",\n \"OWNED\",\n \"OWNER\",\n \"PARALLEL\",\n \"PARSER\",\n \"PARTIAL\",\n \"PARTITION\",\n \"PASSING\",\n \"PASSWORD\",\n \"PLACING\",\n // reserved\n \"PLANS\",\n \"POLICY\",\n \"POSITION\",\n // (cannot be function or type)\n \"PRECEDING\",\n \"PREPARE\",\n \"PREPARED\",\n \"PRESERVE\",\n \"PRIMARY\",\n // reserved\n \"PRIOR\",\n \"PRIVILEGES\",\n \"PROCEDURAL\",\n \"PROCEDURE\",\n \"PROCEDURES\",\n \"PROGRAM\",\n \"PUBLICATION\",\n \"QUOTE\",\n \"RANGE\",\n \"READ\",\n \"REASSIGN\",\n \"RECHECK\",\n \"RECURSIVE\",\n \"REF\",\n \"REFERENCES\",\n // reserved\n \"REFERENCING\",\n \"REFRESH\",\n \"REINDEX\",\n \"RELATIVE\",\n \"RENAME\",\n \"REPEATABLE\",\n \"REPLACE\",\n \"REPLICA\",\n \"RESET\",\n \"RESTART\",\n \"RESTRICT\",\n \"RETURN\",\n \"RETURNING\",\n // reserved, requires AS\n \"RETURNS\",\n \"REVOKE\",\n \"RIGHT\",\n // reserved (can be function or type)\n \"ROLE\",\n \"ROLLBACK\",\n \"ROLLUP\",\n \"ROUTINE\",\n \"ROUTINES\",\n \"ROW\",\n // (cannot be function or type)\n \"ROWS\",\n \"RULE\",\n \"SAVEPOINT\",\n \"SCHEMA\",\n \"SCHEMAS\",\n \"SCROLL\",\n \"SEARCH\",\n \"SECOND\",\n // requires AS\n \"SECURITY\",\n \"SELECT\",\n // reserved\n \"SEQUENCE\",\n \"SEQUENCES\",\n \"SERIALIZABLE\",\n \"SERVER\",\n \"SESSION\",\n \"SESSION_USER\",\n // reserved\n \"SET\",\n \"SETOF\",\n // (cannot be function or type)\n \"SETS\",\n \"SHARE\",\n \"SHOW\",\n \"SIMILAR\",\n // reserved (can be function or type)\n \"SIMPLE\",\n \"SKIP\",\n \"SNAPSHOT\",\n \"SOME\",\n // reserved\n \"SQL\",\n \"STABLE\",\n \"STANDALONE\",\n \"START\",\n \"STATEMENT\",\n \"STATISTICS\",\n \"STDIN\",\n \"STDOUT\",\n \"STORAGE\",\n \"STORED\",\n \"STRICT\",\n \"STRIP\",\n \"SUBSCRIPTION\",\n \"SUBSTRING\",\n // (cannot be function or type)\n \"SUPPORT\",\n \"SYMMETRIC\",\n // reserved\n \"SYSID\",\n \"SYSTEM\",\n \"TABLE\",\n // reserved\n \"TABLES\",\n \"TABLESAMPLE\",\n // reserved (can be function or type)\n \"TABLESPACE\",\n \"TEMP\",\n \"TEMPLATE\",\n \"TEMPORARY\",\n \"THEN\",\n // reserved\n \"TIES\",\n \"TO\",\n // reserved, requires AS\n \"TRAILING\",\n // reserved\n \"TRANSACTION\",\n \"TRANSFORM\",\n \"TREAT\",\n // (cannot be function or type)\n \"TRIGGER\",\n \"TRIM\",\n // (cannot be function or type)\n \"TRUE\",\n // reserved\n \"TRUNCATE\",\n \"TRUSTED\",\n \"UESCAPE\",\n \"UNBOUNDED\",\n \"UNCOMMITTED\",\n \"UNENCRYPTED\",\n \"UNION\",\n // reserved, requires AS\n \"UNIQUE\",\n // reserved\n \"UNKNOWN\",\n \"UNLISTEN\",\n \"UNLOGGED\",\n \"UNTIL\",\n \"UPDATE\",\n \"USER\",\n // reserved\n \"USING\",\n // reserved\n \"VACUUM\",\n \"VALID\",\n \"VALIDATE\",\n \"VALIDATOR\",\n \"VALUE\",\n \"VALUES\",\n // (cannot be function or type)\n \"VARIADIC\",\n // reserved\n \"VERBOSE\",\n // reserved (can be function or type)\n \"VERSION\",\n \"VIEW\",\n \"VIEWS\",\n \"VOLATILE\",\n \"WHEN\",\n // reserved\n \"WHERE\",\n // reserved, requires AS\n \"WHITESPACE\",\n \"WINDOW\",\n // reserved, requires AS\n \"WITH\",\n // reserved, requires AS\n \"WITHIN\",\n // requires AS\n \"WITHOUT\",\n // requires AS\n \"WORK\",\n \"WRAPPER\",\n \"WRITE\",\n \"XMLATTRIBUTES\",\n // (cannot be function or type)\n \"XMLCONCAT\",\n // (cannot be function or type)\n \"XMLELEMENT\",\n // (cannot be function or type)\n \"XMLEXISTS\",\n // (cannot be function or type)\n \"XMLFOREST\",\n // (cannot be function or type)\n \"XMLNAMESPACES\",\n // (cannot be function or type)\n \"XMLPARSE\",\n // (cannot be function or type)\n \"XMLPI\",\n // (cannot be function or type)\n \"XMLROOT\",\n // (cannot be function or type)\n \"XMLSERIALIZE\",\n // (cannot be function or type)\n \"XMLTABLE\",\n // (cannot be function or type)\n \"YEAR\",\n // requires AS\n \"YES\"\n];\nvar dataTypes9 = [\n // https://www.postgresql.org/docs/current/datatype.html\n \"ARRAY\",\n // reserved, requires AS\n \"BIGINT\",\n // (cannot be function or type)\n \"BIT\",\n // (cannot be function or type)\n \"BIT VARYING\",\n \"BOOL\",\n // (cannot be function or type)\n \"BOOLEAN\",\n // (cannot be function or type)\n \"CHAR\",\n // (cannot be function or type), requires AS\n \"CHARACTER\",\n // (cannot be function or type), requires AS\n \"CHARACTER VARYING\",\n \"DECIMAL\",\n // (cannot be function or type)\n \"DOUBLE\",\n \"ENUM\",\n \"FLOAT\",\n // (cannot be function or type)\n \"INT\",\n // (cannot be function or type)\n \"INTEGER\",\n // (cannot be function or type)\n \"INTERVAL\",\n // (cannot be function or type)\n \"NUMERIC\",\n // (cannot be function or type)\n \"PRECISION\",\n // (cannot be function or type), requires AS\n \"REAL\",\n // (cannot be function or type)\n \"SMALLINT\",\n // (cannot be function or type)\n \"TEXT\",\n \"TIME\",\n // (cannot be function or type)\n \"TIMESTAMP\",\n // (cannot be function or type)\n \"TIMESTAMPTZ\",\n // (cannot be function or type)\n \"VARCHAR\",\n // (cannot be function or type)\n \"XML\",\n \"ZONE\"\n];\n\n// src/languages/postgresql/postgresql.formatter.ts\nvar reservedSelect9 = expandPhrases([\"SELECT [ALL | DISTINCT]\"]);\nvar reservedClauses9 = expandPhrases([\n // queries\n \"WITH [RECURSIVE]\",\n \"FROM\",\n \"WHERE\",\n \"GROUP BY [ALL | DISTINCT]\",\n \"HAVING\",\n \"WINDOW\",\n \"PARTITION BY\",\n \"ORDER BY\",\n \"LIMIT\",\n \"OFFSET\",\n \"FETCH {FIRST | NEXT}\",\n \"FOR {UPDATE | NO KEY UPDATE | SHARE | KEY SHARE} [OF]\",\n // Data manipulation\n // - insert:\n \"INSERT INTO\",\n \"VALUES\",\n // - update:\n \"SET\",\n // other\n \"RETURNING\"\n]);\nvar onelineClauses9 = expandPhrases([\n // - create\n \"CREATE [GLOBAL | LOCAL] [TEMPORARY | TEMP | UNLOGGED] TABLE [IF NOT EXISTS]\",\n \"CREATE [OR REPLACE] [TEMP | TEMPORARY] [RECURSIVE] VIEW\",\n \"CREATE [MATERIALIZED] VIEW [IF NOT EXISTS]\",\n // - update:\n \"UPDATE [ONLY]\",\n \"WHERE CURRENT OF\",\n // - insert:\n \"ON CONFLICT\",\n // - delete:\n \"DELETE FROM [ONLY]\",\n // - drop table:\n \"DROP TABLE [IF EXISTS]\",\n // - alter table:\n \"ALTER TABLE [IF EXISTS] [ONLY]\",\n \"ALTER TABLE ALL IN TABLESPACE\",\n \"RENAME [COLUMN]\",\n \"RENAME TO\",\n \"ADD [COLUMN] [IF NOT EXISTS]\",\n \"DROP [COLUMN] [IF EXISTS]\",\n \"ALTER [COLUMN]\",\n \"SET DATA TYPE\",\n // for alter column\n \"{SET | DROP} DEFAULT\",\n // for alter column\n \"{SET | DROP} NOT NULL\",\n // for alter column\n // - truncate:\n \"TRUNCATE [TABLE] [ONLY]\",\n // other\n \"SET SCHEMA\",\n \"AFTER\",\n // https://www.postgresql.org/docs/14/sql-commands.html\n \"ABORT\",\n \"ALTER AGGREGATE\",\n \"ALTER COLLATION\",\n \"ALTER CONVERSION\",\n \"ALTER DATABASE\",\n \"ALTER DEFAULT PRIVILEGES\",\n \"ALTER DOMAIN\",\n \"ALTER EVENT TRIGGER\",\n \"ALTER EXTENSION\",\n \"ALTER FOREIGN DATA WRAPPER\",\n \"ALTER FOREIGN TABLE\",\n \"ALTER FUNCTION\",\n \"ALTER GROUP\",\n \"ALTER INDEX\",\n \"ALTER LANGUAGE\",\n \"ALTER LARGE OBJECT\",\n \"ALTER MATERIALIZED VIEW\",\n \"ALTER OPERATOR\",\n \"ALTER OPERATOR CLASS\",\n \"ALTER OPERATOR FAMILY\",\n \"ALTER POLICY\",\n \"ALTER PROCEDURE\",\n \"ALTER PUBLICATION\",\n \"ALTER ROLE\",\n \"ALTER ROUTINE\",\n \"ALTER RULE\",\n \"ALTER SCHEMA\",\n \"ALTER SEQUENCE\",\n \"ALTER SERVER\",\n \"ALTER STATISTICS\",\n \"ALTER SUBSCRIPTION\",\n \"ALTER SYSTEM\",\n \"ALTER TABLESPACE\",\n \"ALTER TEXT SEARCH CONFIGURATION\",\n \"ALTER TEXT SEARCH DICTIONARY\",\n \"ALTER TEXT SEARCH PARSER\",\n \"ALTER TEXT SEARCH TEMPLATE\",\n \"ALTER TRIGGER\",\n \"ALTER TYPE\",\n \"ALTER USER\",\n \"ALTER USER MAPPING\",\n \"ALTER VIEW\",\n \"ANALYZE\",\n \"BEGIN\",\n \"CALL\",\n \"CHECKPOINT\",\n \"CLOSE\",\n \"CLUSTER\",\n \"COMMIT\",\n \"COMMIT PREPARED\",\n \"COPY\",\n \"CREATE ACCESS METHOD\",\n \"CREATE AGGREGATE\",\n \"CREATE CAST\",\n \"CREATE COLLATION\",\n \"CREATE CONVERSION\",\n \"CREATE DATABASE\",\n \"CREATE DOMAIN\",\n \"CREATE EVENT TRIGGER\",\n \"CREATE EXTENSION\",\n \"CREATE FOREIGN DATA WRAPPER\",\n \"CREATE FOREIGN TABLE\",\n \"CREATE FUNCTION\",\n \"CREATE GROUP\",\n \"CREATE INDEX\",\n \"CREATE LANGUAGE\",\n \"CREATE OPERATOR\",\n \"CREATE OPERATOR CLASS\",\n \"CREATE OPERATOR FAMILY\",\n \"CREATE POLICY\",\n \"CREATE PROCEDURE\",\n \"CREATE PUBLICATION\",\n \"CREATE ROLE\",\n \"CREATE RULE\",\n \"CREATE SCHEMA\",\n \"CREATE SEQUENCE\",\n \"CREATE SERVER\",\n \"CREATE STATISTICS\",\n \"CREATE SUBSCRIPTION\",\n \"CREATE TABLESPACE\",\n \"CREATE TEXT SEARCH CONFIGURATION\",\n \"CREATE TEXT SEARCH DICTIONARY\",\n \"CREATE TEXT SEARCH PARSER\",\n \"CREATE TEXT SEARCH TEMPLATE\",\n \"CREATE TRANSFORM\",\n \"CREATE TRIGGER\",\n \"CREATE TYPE\",\n \"CREATE USER\",\n \"CREATE USER MAPPING\",\n \"DEALLOCATE\",\n \"DECLARE\",\n \"DISCARD\",\n \"DROP ACCESS METHOD\",\n \"DROP AGGREGATE\",\n \"DROP CAST\",\n \"DROP COLLATION\",\n \"DROP CONVERSION\",\n \"DROP DATABASE\",\n \"DROP DOMAIN\",\n \"DROP EVENT TRIGGER\",\n \"DROP EXTENSION\",\n \"DROP FOREIGN DATA WRAPPER\",\n \"DROP FOREIGN TABLE\",\n \"DROP FUNCTION\",\n \"DROP GROUP\",\n \"DROP INDEX\",\n \"DROP LANGUAGE\",\n \"DROP MATERIALIZED VIEW\",\n \"DROP OPERATOR\",\n \"DROP OPERATOR CLASS\",\n \"DROP OPERATOR FAMILY\",\n \"DROP OWNED\",\n \"DROP POLICY\",\n \"DROP PROCEDURE\",\n \"DROP PUBLICATION\",\n \"DROP ROLE\",\n \"DROP ROUTINE\",\n \"DROP RULE\",\n \"DROP SCHEMA\",\n \"DROP SEQUENCE\",\n \"DROP SERVER\",\n \"DROP STATISTICS\",\n \"DROP SUBSCRIPTION\",\n \"DROP TABLESPACE\",\n \"DROP TEXT SEARCH CONFIGURATION\",\n \"DROP TEXT SEARCH DICTIONARY\",\n \"DROP TEXT SEARCH PARSER\",\n \"DROP TEXT SEARCH TEMPLATE\",\n \"DROP TRANSFORM\",\n \"DROP TRIGGER\",\n \"DROP TYPE\",\n \"DROP USER\",\n \"DROP USER MAPPING\",\n \"DROP VIEW\",\n \"EXECUTE\",\n \"EXPLAIN\",\n \"FETCH\",\n \"GRANT\",\n \"IMPORT FOREIGN SCHEMA\",\n \"LISTEN\",\n \"LOAD\",\n \"LOCK\",\n \"MOVE\",\n \"NOTIFY\",\n \"PREPARE\",\n \"PREPARE TRANSACTION\",\n \"REASSIGN OWNED\",\n \"REFRESH MATERIALIZED VIEW\",\n \"REINDEX\",\n \"RELEASE SAVEPOINT\",\n \"RESET\",\n \"REVOKE\",\n \"ROLLBACK\",\n \"ROLLBACK PREPARED\",\n \"ROLLBACK TO SAVEPOINT\",\n \"SAVEPOINT\",\n \"SECURITY LABEL\",\n \"SELECT INTO\",\n \"SET CONSTRAINTS\",\n \"SET ROLE\",\n \"SET SESSION AUTHORIZATION\",\n \"SET TRANSACTION\",\n \"SHOW\",\n \"START TRANSACTION\",\n \"UNLISTEN\",\n \"VACUUM\"\n]);\nvar reservedSetOperations9 = expandPhrases([\n \"UNION [ALL | DISTINCT]\",\n \"EXCEPT [ALL | DISTINCT]\",\n \"INTERSECT [ALL | DISTINCT]\"\n]);\nvar reservedJoins9 = expandPhrases([\n \"JOIN\",\n \"{LEFT | RIGHT | FULL} [OUTER] JOIN\",\n \"{INNER | CROSS} JOIN\",\n \"NATURAL [INNER] JOIN\",\n \"NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN\"\n]);\nvar reservedPhrases9 = expandPhrases([\n \"ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]\",\n \"{ROWS | RANGE | GROUPS} BETWEEN\",\n // https://www.postgresql.org/docs/current/datatype-datetime.html\n \"[TIMESTAMP | TIME] {WITH | WITHOUT} TIME ZONE\",\n // comparison operator\n \"IS [NOT] DISTINCT FROM\"\n]);\nvar postgresql = {\n name: \"postgresql\",\n tokenizerOptions: {\n reservedSelect: reservedSelect9,\n reservedClauses: [...reservedClauses9, ...onelineClauses9],\n reservedSetOperations: reservedSetOperations9,\n reservedJoins: reservedJoins9,\n reservedPhrases: reservedPhrases9,\n reservedKeywords: keywords9,\n reservedDataTypes: dataTypes9,\n reservedFunctionNames: functions9,\n nestedBlockComments: true,\n extraParens: [\"[]\"],\n stringTypes: [\n \"$$\",\n { quote: \"''-qq\", prefixes: [\"U&\"] },\n { quote: \"''-qq-bs\", prefixes: [\"E\"], requirePrefix: true },\n { quote: \"''-raw\", prefixes: [\"B\", \"X\"], requirePrefix: true }\n ],\n identTypes: [{ quote: '\"\"-qq', prefixes: [\"U&\"] }],\n identChars: { rest: \"$\" },\n paramTypes: { numbered: [\"$\"] },\n operators: [\n // Arithmetic\n \"%\",\n \"^\",\n \"|/\",\n \"||/\",\n \"@\",\n // Assignment\n \":=\",\n // Bitwise\n \"&\",\n \"|\",\n \"#\",\n \"~\",\n \"<<\",\n \">>\",\n // Byte comparison\n \"~>~\",\n \"~<~\",\n \"~>=~\",\n \"~<=~\",\n // Geometric\n \"@-@\",\n \"@@\",\n \"##\",\n \"<->\",\n \"&&\",\n \"&<\",\n \"&>\",\n \"<<|\",\n \"&<|\",\n \"|>>\",\n \"|&>\",\n \"<^\",\n \"^>\",\n \"?#\",\n \"?-\",\n \"?|\",\n \"?-|\",\n \"?||\",\n \"@>\",\n \"<@\",\n \"~=\",\n // JSON\n \"?\",\n \"@?\",\n \"?&\",\n \"->\",\n \"->>\",\n \"#>\",\n \"#>>\",\n \"#-\",\n // Named function params\n \"=>\",\n // Network address\n \">>=\",\n \"<<=\",\n // Pattern matching\n \"~~\",\n \"~~*\",\n \"!~~\",\n \"!~~*\",\n // POSIX RegExp\n \"~\",\n \"~*\",\n \"!~\",\n \"!~*\",\n // Range/multirange\n \"-|-\",\n // String concatenation\n \"||\",\n // Text search\n \"@@@\",\n \"!!\",\n // Trigram/trigraph\n \"<%\",\n \"%>\",\n \"<<%\",\n \"%>>\",\n \"<<->\",\n \"<->>\",\n \"<<<->\",\n \"<->>>\",\n // Type cast\n \"::\",\n \":\"\n ]\n },\n formatOptions: {\n alwaysDenseOperators: [\"::\", \":\"],\n onelineClauses: onelineClauses9\n }\n};\n\n// src/languages/redshift/redshift.functions.ts\nvar functions10 = [\n // https://docs.aws.amazon.com/redshift/latest/dg/c_Aggregate_Functions.html\n \"ANY_VALUE\",\n \"APPROXIMATE PERCENTILE_DISC\",\n \"AVG\",\n \"COUNT\",\n \"LISTAGG\",\n \"MAX\",\n \"MEDIAN\",\n \"MIN\",\n \"PERCENTILE_CONT\",\n \"STDDEV_SAMP\",\n \"STDDEV_POP\",\n \"SUM\",\n \"VAR_SAMP\",\n \"VAR_POP\",\n // https://docs.aws.amazon.com/redshift/latest/dg/c_Array_Functions.html\n \"array\",\n \"array_concat\",\n \"array_flatten\",\n \"get_array_length\",\n \"split_to_array\",\n \"subarray\",\n // https://docs.aws.amazon.com/redshift/latest/dg/c_bitwise_aggregate_functions.html\n \"BIT_AND\",\n \"BIT_OR\",\n \"BOOL_AND\",\n \"BOOL_OR\",\n // https://docs.aws.amazon.com/redshift/latest/dg/c_conditional_expressions.html\n \"COALESCE\",\n \"DECODE\",\n \"GREATEST\",\n \"LEAST\",\n \"NVL\",\n \"NVL2\",\n \"NULLIF\",\n // https://docs.aws.amazon.com/redshift/latest/dg/Date_functions_header.html\n \"ADD_MONTHS\",\n \"AT TIME ZONE\",\n \"CONVERT_TIMEZONE\",\n \"CURRENT_DATE\",\n \"CURRENT_TIME\",\n \"CURRENT_TIMESTAMP\",\n \"DATE_CMP\",\n \"DATE_CMP_TIMESTAMP\",\n \"DATE_CMP_TIMESTAMPTZ\",\n \"DATE_PART_YEAR\",\n \"DATEADD\",\n \"DATEDIFF\",\n \"DATE_PART\",\n \"DATE_TRUNC\",\n \"EXTRACT\",\n \"GETDATE\",\n \"INTERVAL_CMP\",\n \"LAST_DAY\",\n \"MONTHS_BETWEEN\",\n \"NEXT_DAY\",\n \"SYSDATE\",\n \"TIMEOFDAY\",\n \"TIMESTAMP_CMP\",\n \"TIMESTAMP_CMP_DATE\",\n \"TIMESTAMP_CMP_TIMESTAMPTZ\",\n \"TIMESTAMPTZ_CMP\",\n \"TIMESTAMPTZ_CMP_DATE\",\n \"TIMESTAMPTZ_CMP_TIMESTAMP\",\n \"TIMEZONE\",\n \"TO_TIMESTAMP\",\n \"TRUNC\",\n // https://docs.aws.amazon.com/redshift/latest/dg/geospatial-functions.html\n \"AddBBox\",\n \"DropBBox\",\n \"GeometryType\",\n \"ST_AddPoint\",\n \"ST_Angle\",\n \"ST_Area\",\n \"ST_AsBinary\",\n \"ST_AsEWKB\",\n \"ST_AsEWKT\",\n \"ST_AsGeoJSON\",\n \"ST_AsText\",\n \"ST_Azimuth\",\n \"ST_Boundary\",\n \"ST_Collect\",\n \"ST_Contains\",\n \"ST_ContainsProperly\",\n \"ST_ConvexHull\",\n \"ST_CoveredBy\",\n \"ST_Covers\",\n \"ST_Crosses\",\n \"ST_Dimension\",\n \"ST_Disjoint\",\n \"ST_Distance\",\n \"ST_DistanceSphere\",\n \"ST_DWithin\",\n \"ST_EndPoint\",\n \"ST_Envelope\",\n \"ST_Equals\",\n \"ST_ExteriorRing\",\n \"ST_Force2D\",\n \"ST_Force3D\",\n \"ST_Force3DM\",\n \"ST_Force3DZ\",\n \"ST_Force4D\",\n \"ST_GeometryN\",\n \"ST_GeometryType\",\n \"ST_GeomFromEWKB\",\n \"ST_GeomFromEWKT\",\n \"ST_GeomFromText\",\n \"ST_GeomFromWKB\",\n \"ST_InteriorRingN\",\n \"ST_Intersects\",\n \"ST_IsPolygonCCW\",\n \"ST_IsPolygonCW\",\n \"ST_IsClosed\",\n \"ST_IsCollection\",\n \"ST_IsEmpty\",\n \"ST_IsSimple\",\n \"ST_IsValid\",\n \"ST_Length\",\n \"ST_LengthSphere\",\n \"ST_Length2D\",\n \"ST_LineFromMultiPoint\",\n \"ST_LineInterpolatePoint\",\n \"ST_M\",\n \"ST_MakeEnvelope\",\n \"ST_MakeLine\",\n \"ST_MakePoint\",\n \"ST_MakePolygon\",\n \"ST_MemSize\",\n \"ST_MMax\",\n \"ST_MMin\",\n \"ST_Multi\",\n \"ST_NDims\",\n \"ST_NPoints\",\n \"ST_NRings\",\n \"ST_NumGeometries\",\n \"ST_NumInteriorRings\",\n \"ST_NumPoints\",\n \"ST_Perimeter\",\n \"ST_Perimeter2D\",\n \"ST_Point\",\n \"ST_PointN\",\n \"ST_Points\",\n \"ST_Polygon\",\n \"ST_RemovePoint\",\n \"ST_Reverse\",\n \"ST_SetPoint\",\n \"ST_SetSRID\",\n \"ST_Simplify\",\n \"ST_SRID\",\n \"ST_StartPoint\",\n \"ST_Touches\",\n \"ST_Within\",\n \"ST_X\",\n \"ST_XMax\",\n \"ST_XMin\",\n \"ST_Y\",\n \"ST_YMax\",\n \"ST_YMin\",\n \"ST_Z\",\n \"ST_ZMax\",\n \"ST_ZMin\",\n \"SupportsBBox\",\n // https://docs.aws.amazon.com/redshift/latest/dg/hash-functions.html\n \"CHECKSUM\",\n \"FUNC_SHA1\",\n \"FNV_HASH\",\n \"MD5\",\n \"SHA\",\n \"SHA1\",\n \"SHA2\",\n // https://docs.aws.amazon.com/redshift/latest/dg/hyperloglog-functions.html\n \"HLL\",\n \"HLL_CREATE_SKETCH\",\n \"HLL_CARDINALITY\",\n \"HLL_COMBINE\",\n // https://docs.aws.amazon.com/redshift/latest/dg/json-functions.html\n \"IS_VALID_JSON\",\n \"IS_VALID_JSON_ARRAY\",\n \"JSON_ARRAY_LENGTH\",\n \"JSON_EXTRACT_ARRAY_ELEMENT_TEXT\",\n \"JSON_EXTRACT_PATH_TEXT\",\n \"JSON_PARSE\",\n \"JSON_SERIALIZE\",\n // https://docs.aws.amazon.com/redshift/latest/dg/Math_functions.html\n \"ABS\",\n \"ACOS\",\n \"ASIN\",\n \"ATAN\",\n \"ATAN2\",\n \"CBRT\",\n \"CEILING\",\n \"CEIL\",\n \"COS\",\n \"COT\",\n \"DEGREES\",\n \"DEXP\",\n \"DLOG1\",\n \"DLOG10\",\n \"EXP\",\n \"FLOOR\",\n \"LN\",\n \"LOG\",\n \"MOD\",\n \"PI\",\n \"POWER\",\n \"RADIANS\",\n \"RANDOM\",\n \"ROUND\",\n \"SIN\",\n \"SIGN\",\n \"SQRT\",\n \"TAN\",\n \"TO_HEX\",\n \"TRUNC\",\n // https://docs.aws.amazon.com/redshift/latest/dg/ml-function.html\n \"EXPLAIN_MODEL\",\n // https://docs.aws.amazon.com/redshift/latest/dg/String_functions_header.html\n \"ASCII\",\n \"BPCHARCMP\",\n \"BTRIM\",\n \"BTTEXT_PATTERN_CMP\",\n \"CHAR_LENGTH\",\n \"CHARACTER_LENGTH\",\n \"CHARINDEX\",\n \"CHR\",\n \"COLLATE\",\n \"CONCAT\",\n \"CRC32\",\n \"DIFFERENCE\",\n \"INITCAP\",\n \"LEFT\",\n \"RIGHT\",\n \"LEN\",\n \"LENGTH\",\n \"LOWER\",\n \"LPAD\",\n \"RPAD\",\n \"LTRIM\",\n \"OCTETINDEX\",\n \"OCTET_LENGTH\",\n \"POSITION\",\n \"QUOTE_IDENT\",\n \"QUOTE_LITERAL\",\n \"REGEXP_COUNT\",\n \"REGEXP_INSTR\",\n \"REGEXP_REPLACE\",\n \"REGEXP_SUBSTR\",\n \"REPEAT\",\n \"REPLACE\",\n \"REPLICATE\",\n \"REVERSE\",\n \"RTRIM\",\n \"SOUNDEX\",\n \"SPLIT_PART\",\n \"STRPOS\",\n \"STRTOL\",\n \"SUBSTRING\",\n \"TEXTLEN\",\n \"TRANSLATE\",\n \"TRIM\",\n \"UPPER\",\n // https://docs.aws.amazon.com/redshift/latest/dg/c_Type_Info_Functions.html\n \"decimal_precision\",\n \"decimal_scale\",\n \"is_array\",\n \"is_bigint\",\n \"is_boolean\",\n \"is_char\",\n \"is_decimal\",\n \"is_float\",\n \"is_integer\",\n \"is_object\",\n \"is_scalar\",\n \"is_smallint\",\n \"is_varchar\",\n \"json_typeof\",\n // https://docs.aws.amazon.com/redshift/latest/dg/c_Window_functions.html\n \"AVG\",\n \"COUNT\",\n \"CUME_DIST\",\n \"DENSE_RANK\",\n \"FIRST_VALUE\",\n \"LAST_VALUE\",\n \"LAG\",\n \"LEAD\",\n \"LISTAGG\",\n \"MAX\",\n \"MEDIAN\",\n \"MIN\",\n \"NTH_VALUE\",\n \"NTILE\",\n \"PERCENT_RANK\",\n \"PERCENTILE_CONT\",\n \"PERCENTILE_DISC\",\n \"RANK\",\n \"RATIO_TO_REPORT\",\n \"ROW_NUMBER\",\n \"STDDEV_SAMP\",\n \"STDDEV_POP\",\n \"SUM\",\n \"VAR_SAMP\",\n \"VAR_POP\",\n // https://docs.aws.amazon.com/redshift/latest/dg/r_Data_type_formatting.html\n \"CAST\",\n \"CONVERT\",\n \"TO_CHAR\",\n \"TO_DATE\",\n \"TO_NUMBER\",\n \"TEXT_TO_INT_ALT\",\n \"TEXT_TO_NUMERIC_ALT\",\n // https://docs.aws.amazon.com/redshift/latest/dg/r_System_administration_functions.html\n \"CHANGE_QUERY_PRIORITY\",\n \"CHANGE_SESSION_PRIORITY\",\n \"CHANGE_USER_PRIORITY\",\n \"CURRENT_SETTING\",\n \"PG_CANCEL_BACKEND\",\n \"PG_TERMINATE_BACKEND\",\n \"REBOOT_CLUSTER\",\n \"SET_CONFIG\",\n // https://docs.aws.amazon.com/redshift/latest/dg/r_System_information_functions.html\n \"CURRENT_AWS_ACCOUNT\",\n \"CURRENT_DATABASE\",\n \"CURRENT_NAMESPACE\",\n \"CURRENT_SCHEMA\",\n \"CURRENT_SCHEMAS\",\n \"CURRENT_USER\",\n \"CURRENT_USER_ID\",\n \"HAS_ASSUMEROLE_PRIVILEGE\",\n \"HAS_DATABASE_PRIVILEGE\",\n \"HAS_SCHEMA_PRIVILEGE\",\n \"HAS_TABLE_PRIVILEGE\",\n \"PG_BACKEND_PID\",\n \"PG_GET_COLS\",\n \"PG_GET_GRANTEE_BY_IAM_ROLE\",\n \"PG_GET_IAM_ROLE_BY_USER\",\n \"PG_GET_LATE_BINDING_VIEW_COLS\",\n \"PG_LAST_COPY_COUNT\",\n \"PG_LAST_COPY_ID\",\n \"PG_LAST_UNLOAD_ID\",\n \"PG_LAST_QUERY_ID\",\n \"PG_LAST_UNLOAD_COUNT\",\n \"SESSION_USER\",\n \"SLICE_NUM\",\n \"USER\",\n \"VERSION\"\n];\n\n// src/languages/redshift/redshift.keywords.ts\nvar keywords10 = [\n // https://docs.aws.amazon.com/redshift/latest/dg/r_pg_keywords.html\n \"AES128\",\n \"AES256\",\n \"ALL\",\n \"ALLOWOVERWRITE\",\n \"ANY\",\n \"AS\",\n \"ASC\",\n \"AUTHORIZATION\",\n \"BACKUP\",\n \"BETWEEN\",\n \"BINARY\",\n \"BOTH\",\n \"CHECK\",\n \"COLUMN\",\n \"CONSTRAINT\",\n \"CREATE\",\n \"CROSS\",\n \"DEFAULT\",\n \"DEFERRABLE\",\n \"DEFLATE\",\n \"DEFRAG\",\n \"DESC\",\n \"DISABLE\",\n \"DISTINCT\",\n \"DO\",\n \"ENABLE\",\n \"ENCODE\",\n \"ENCRYPT\",\n \"ENCRYPTION\",\n \"EXPLICIT\",\n \"FALSE\",\n \"FOR\",\n \"FOREIGN\",\n \"FREEZE\",\n \"FROM\",\n \"FULL\",\n \"GLOBALDICT256\",\n \"GLOBALDICT64K\",\n \"GROUP\",\n \"IDENTITY\",\n \"IGNORE\",\n \"ILIKE\",\n \"IN\",\n \"INITIALLY\",\n \"INNER\",\n \"INTO\",\n \"IS\",\n \"ISNULL\",\n \"LANGUAGE\",\n \"LEADING\",\n \"LIKE\",\n \"LIMIT\",\n \"LOCALTIME\",\n \"LOCALTIMESTAMP\",\n \"LUN\",\n \"LUNS\",\n \"MINUS\",\n \"NATURAL\",\n \"NEW\",\n \"NOT\",\n \"NOTNULL\",\n \"NULL\",\n \"NULLS\",\n \"OFF\",\n \"OFFLINE\",\n \"OFFSET\",\n \"OID\",\n \"OLD\",\n \"ON\",\n \"ONLY\",\n \"OPEN\",\n \"ORDER\",\n \"OUTER\",\n \"OVERLAPS\",\n \"PARALLEL\",\n \"PARTITION\",\n \"PERCENT\",\n \"PERMISSIONS\",\n \"PLACING\",\n \"PRIMARY\",\n \"RECOVER\",\n \"REFERENCES\",\n \"REJECTLOG\",\n \"RESORT\",\n \"RESPECT\",\n \"RESTORE\",\n \"SIMILAR\",\n \"SNAPSHOT\",\n \"SOME\",\n \"SYSTEM\",\n \"TABLE\",\n \"TAG\",\n \"TDES\",\n \"THEN\",\n \"TIMESTAMP\",\n \"TO\",\n \"TOP\",\n \"TRAILING\",\n \"TRUE\",\n \"UNIQUE\",\n \"USING\",\n \"VERBOSE\",\n \"WALLET\",\n \"WITHOUT\",\n // https://docs.aws.amazon.com/redshift/latest/dg/copy-parameters-data-conversion.html\n \"ACCEPTANYDATE\",\n \"ACCEPTINVCHARS\",\n \"BLANKSASNULL\",\n \"DATEFORMAT\",\n \"EMPTYASNULL\",\n \"ENCODING\",\n \"ESCAPE\",\n \"EXPLICIT_IDS\",\n \"FILLRECORD\",\n \"IGNOREBLANKLINES\",\n \"IGNOREHEADER\",\n \"REMOVEQUOTES\",\n \"ROUNDEC\",\n \"TIMEFORMAT\",\n \"TRIMBLANKS\",\n \"TRUNCATECOLUMNS\",\n // https://docs.aws.amazon.com/redshift/latest/dg/copy-parameters-data-load.html\n \"COMPROWS\",\n \"COMPUPDATE\",\n \"MAXERROR\",\n \"NOLOAD\",\n \"STATUPDATE\",\n // https://docs.aws.amazon.com/redshift/latest/dg/copy-parameters-data-format.html\n \"FORMAT\",\n \"CSV\",\n \"DELIMITER\",\n \"FIXEDWIDTH\",\n \"SHAPEFILE\",\n \"AVRO\",\n \"JSON\",\n \"PARQUET\",\n \"ORC\",\n // https://docs.aws.amazon.com/redshift/latest/dg/copy-parameters-authorization.html\n \"ACCESS_KEY_ID\",\n \"CREDENTIALS\",\n \"ENCRYPTED\",\n \"IAM_ROLE\",\n \"MASTER_SYMMETRIC_KEY\",\n \"SECRET_ACCESS_KEY\",\n \"SESSION_TOKEN\",\n // https://docs.aws.amazon.com/redshift/latest/dg/copy-parameters-file-compression.html\n \"BZIP2\",\n \"GZIP\",\n \"LZOP\",\n \"ZSTD\",\n // https://docs.aws.amazon.com/redshift/latest/dg/r_COPY-alphabetical-parm-list.html\n \"MANIFEST\",\n \"READRATIO\",\n \"REGION\",\n \"SSH\",\n // https://docs.aws.amazon.com/redshift/latest/dg/c_Compression_encodings.html\n \"RAW\",\n \"AZ64\",\n \"BYTEDICT\",\n \"DELTA\",\n \"DELTA32K\",\n \"LZO\",\n \"MOSTLY8\",\n \"MOSTLY16\",\n \"MOSTLY32\",\n \"RUNLENGTH\",\n \"TEXT255\",\n \"TEXT32K\",\n // misc\n // CREATE EXTERNAL SCHEMA (https://docs.aws.amazon.com/redshift/latest/dg/r_CREATE_EXTERNAL_SCHEMA.html)\n \"CATALOG_ROLE\",\n \"SECRET_ARN\",\n \"EXTERNAL\",\n // https://docs.aws.amazon.com/redshift/latest/dg/c_choosing_dist_sort.html\n \"AUTO\",\n \"EVEN\",\n \"KEY\",\n \"PREDICATE\",\n // ANALYZE | ANALYSE (https://docs.aws.amazon.com/redshift/latest/dg/r_ANALYZE.html)\n // unknown\n \"COMPRESSION\"\n /**\n * Other keywords not included:\n * STL: https://docs.aws.amazon.com/redshift/latest/dg/c_intro_STL_tables.html\n * SVCS: https://docs.aws.amazon.com/redshift/latest/dg/svcs_views.html\n * SVL: https://docs.aws.amazon.com/redshift/latest/dg/svl_views.html\n * SVV: https://docs.aws.amazon.com/redshift/latest/dg/svv_views.html\n */\n];\nvar dataTypes10 = [\n // https://docs.aws.amazon.com/redshift/latest/dg/r_Character_types.html#r_Character_types-text-and-bpchar-types\n \"ARRAY\",\n \"BIGINT\",\n \"BPCHAR\",\n \"CHAR\",\n \"CHARACTER VARYING\",\n \"CHARACTER\",\n \"DECIMAL\",\n \"INT\",\n \"INT2\",\n \"INT4\",\n \"INT8\",\n \"INTEGER\",\n \"NCHAR\",\n \"NUMERIC\",\n \"NVARCHAR\",\n \"SMALLINT\",\n \"TEXT\",\n \"VARBYTE\",\n \"VARCHAR\"\n];\n\n// src/languages/redshift/redshift.formatter.ts\nvar reservedSelect10 = expandPhrases([\"SELECT [ALL | DISTINCT]\"]);\nvar reservedClauses10 = expandPhrases([\n // queries\n \"WITH [RECURSIVE]\",\n \"FROM\",\n \"WHERE\",\n \"GROUP BY\",\n \"HAVING\",\n \"PARTITION BY\",\n \"ORDER BY\",\n \"LIMIT\",\n \"OFFSET\",\n // Data manipulation\n // - insert:\n \"INSERT INTO\",\n \"VALUES\",\n // - update:\n \"SET\"\n]);\nvar onelineClauses10 = expandPhrases([\n // - create:\n \"CREATE [TEMPORARY | TEMP | LOCAL TEMPORARY | LOCAL TEMP] TABLE [IF NOT EXISTS]\",\n \"CREATE [OR REPLACE | MATERIALIZED] VIEW\",\n // - update:\n \"UPDATE\",\n // - delete:\n \"DELETE [FROM]\",\n // - drop table:\n \"DROP TABLE [IF EXISTS]\",\n // - alter table:\n \"ALTER TABLE\",\n \"ALTER TABLE APPEND\",\n \"ADD [COLUMN]\",\n \"DROP [COLUMN]\",\n \"RENAME TO\",\n \"RENAME COLUMN\",\n \"ALTER COLUMN\",\n \"TYPE\",\n // for alter column\n \"ENCODE\",\n // for alter column\n // - truncate:\n \"TRUNCATE [TABLE]\",\n // https://docs.aws.amazon.com/redshift/latest/dg/c_SQL_commands.html\n \"ABORT\",\n \"ALTER DATABASE\",\n \"ALTER DATASHARE\",\n \"ALTER DEFAULT PRIVILEGES\",\n \"ALTER GROUP\",\n \"ALTER MATERIALIZED VIEW\",\n \"ALTER PROCEDURE\",\n \"ALTER SCHEMA\",\n \"ALTER USER\",\n \"ANALYSE\",\n \"ANALYZE\",\n \"ANALYSE COMPRESSION\",\n \"ANALYZE COMPRESSION\",\n \"BEGIN\",\n \"CALL\",\n \"CANCEL\",\n \"CLOSE\",\n \"COMMIT\",\n \"COPY\",\n \"CREATE DATABASE\",\n \"CREATE DATASHARE\",\n \"CREATE EXTERNAL FUNCTION\",\n \"CREATE EXTERNAL SCHEMA\",\n \"CREATE EXTERNAL TABLE\",\n \"CREATE FUNCTION\",\n \"CREATE GROUP\",\n \"CREATE LIBRARY\",\n \"CREATE MODEL\",\n \"CREATE PROCEDURE\",\n \"CREATE SCHEMA\",\n \"CREATE USER\",\n \"DEALLOCATE\",\n \"DECLARE\",\n \"DESC DATASHARE\",\n \"DROP DATABASE\",\n \"DROP DATASHARE\",\n \"DROP FUNCTION\",\n \"DROP GROUP\",\n \"DROP LIBRARY\",\n \"DROP MODEL\",\n \"DROP MATERIALIZED VIEW\",\n \"DROP PROCEDURE\",\n \"DROP SCHEMA\",\n \"DROP USER\",\n \"DROP VIEW\",\n \"DROP\",\n \"EXECUTE\",\n \"EXPLAIN\",\n \"FETCH\",\n \"GRANT\",\n \"LOCK\",\n \"PREPARE\",\n \"REFRESH MATERIALIZED VIEW\",\n \"RESET\",\n \"REVOKE\",\n \"ROLLBACK\",\n \"SELECT INTO\",\n \"SET SESSION AUTHORIZATION\",\n \"SET SESSION CHARACTERISTICS\",\n \"SHOW\",\n \"SHOW EXTERNAL TABLE\",\n \"SHOW MODEL\",\n \"SHOW DATASHARES\",\n \"SHOW PROCEDURE\",\n \"SHOW TABLE\",\n \"SHOW VIEW\",\n \"START TRANSACTION\",\n \"UNLOAD\",\n \"VACUUM\"\n]);\nvar reservedSetOperations10 = expandPhrases([\"UNION [ALL]\", \"EXCEPT\", \"INTERSECT\", \"MINUS\"]);\nvar reservedJoins10 = expandPhrases([\n \"JOIN\",\n \"{LEFT | RIGHT | FULL} [OUTER] JOIN\",\n \"{INNER | CROSS} JOIN\",\n \"NATURAL [INNER] JOIN\",\n \"NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN\"\n]);\nvar reservedPhrases10 = expandPhrases([\n // https://docs.aws.amazon.com/redshift/latest/dg/copy-parameters-data-conversion.html\n \"NULL AS\",\n // https://docs.aws.amazon.com/redshift/latest/dg/r_CREATE_EXTERNAL_SCHEMA.html\n \"DATA CATALOG\",\n \"HIVE METASTORE\",\n // in window specifications\n \"{ROWS | RANGE} BETWEEN\"\n]);\nvar redshift = {\n name: \"redshift\",\n tokenizerOptions: {\n reservedSelect: reservedSelect10,\n reservedClauses: [...reservedClauses10, ...onelineClauses10],\n reservedSetOperations: reservedSetOperations10,\n reservedJoins: reservedJoins10,\n reservedPhrases: reservedPhrases10,\n reservedKeywords: keywords10,\n reservedDataTypes: dataTypes10,\n reservedFunctionNames: functions10,\n stringTypes: [\"''-qq\"],\n identTypes: [`\"\"-qq`],\n identChars: { first: \"#\" },\n paramTypes: { numbered: [\"$\"] },\n operators: [\n \"^\",\n \"%\",\n \"@\",\n \"|/\",\n \"||/\",\n \"&\",\n \"|\",\n // '#', conflicts with first char of identifier\n \"~\",\n \"<<\",\n \">>\",\n \"||\",\n \"::\"\n ]\n },\n formatOptions: {\n alwaysDenseOperators: [\"::\"],\n onelineClauses: onelineClauses10\n }\n};\n\n// src/languages/spark/spark.keywords.ts\nvar keywords11 = [\n // https://deepkb.com/CO_000013/en/kb/IMPORT-fbfa59f0-2bf1-31fe-bb7b-0f9efe9932c6/spark-sql-keywords\n \"ADD\",\n \"AFTER\",\n \"ALL\",\n \"ALTER\",\n \"ANALYZE\",\n \"AND\",\n \"ANTI\",\n \"ANY\",\n \"ARCHIVE\",\n \"AS\",\n \"ASC\",\n \"AT\",\n \"AUTHORIZATION\",\n \"BETWEEN\",\n \"BOTH\",\n \"BUCKET\",\n \"BUCKETS\",\n \"BY\",\n \"CACHE\",\n \"CASCADE\",\n \"CAST\",\n \"CHANGE\",\n \"CHECK\",\n \"CLEAR\",\n \"CLUSTER\",\n \"CLUSTERED\",\n \"CODEGEN\",\n \"COLLATE\",\n \"COLLECTION\",\n \"COLUMN\",\n \"COLUMNS\",\n \"COMMENT\",\n \"COMMIT\",\n \"COMPACT\",\n \"COMPACTIONS\",\n \"COMPUTE\",\n \"CONCATENATE\",\n \"CONSTRAINT\",\n \"COST\",\n \"CREATE\",\n \"CROSS\",\n \"CUBE\",\n \"CURRENT\",\n \"CURRENT_DATE\",\n \"CURRENT_TIME\",\n \"CURRENT_TIMESTAMP\",\n \"CURRENT_USER\",\n \"DATA\",\n \"DATABASE\",\n \"DATABASES\",\n \"DAY\",\n \"DBPROPERTIES\",\n \"DEFINED\",\n \"DELETE\",\n \"DELIMITED\",\n \"DESC\",\n \"DESCRIBE\",\n \"DFS\",\n \"DIRECTORIES\",\n \"DIRECTORY\",\n \"DISTINCT\",\n \"DISTRIBUTE\",\n \"DIV\",\n \"DROP\",\n \"ESCAPE\",\n \"ESCAPED\",\n \"EXCEPT\",\n \"EXCHANGE\",\n \"EXISTS\",\n \"EXPORT\",\n \"EXTENDED\",\n \"EXTERNAL\",\n \"EXTRACT\",\n \"FALSE\",\n \"FETCH\",\n \"FIELDS\",\n \"FILTER\",\n \"FILEFORMAT\",\n \"FIRST\",\n \"FIRST_VALUE\",\n \"FOLLOWING\",\n \"FOR\",\n \"FOREIGN\",\n \"FORMAT\",\n \"FORMATTED\",\n \"FULL\",\n \"FUNCTION\",\n \"FUNCTIONS\",\n \"GLOBAL\",\n \"GRANT\",\n \"GROUP\",\n \"GROUPING\",\n \"HOUR\",\n \"IF\",\n \"IGNORE\",\n \"IMPORT\",\n \"IN\",\n \"INDEX\",\n \"INDEXES\",\n \"INNER\",\n \"INPATH\",\n \"INPUTFORMAT\",\n \"INTERSECT\",\n \"INTO\",\n \"IS\",\n \"ITEMS\",\n \"KEYS\",\n \"LAST\",\n \"LAST_VALUE\",\n \"LATERAL\",\n \"LAZY\",\n \"LEADING\",\n \"LEFT\",\n \"LIKE\",\n \"LINES\",\n \"LIST\",\n \"LOCAL\",\n \"LOCATION\",\n \"LOCK\",\n \"LOCKS\",\n \"LOGICAL\",\n \"MACRO\",\n \"MATCHED\",\n \"MERGE\",\n \"MINUTE\",\n \"MONTH\",\n \"MSCK\",\n \"NAMESPACE\",\n \"NAMESPACES\",\n \"NATURAL\",\n \"NO\",\n \"NOT\",\n \"NULL\",\n \"NULLS\",\n \"OF\",\n \"ONLY\",\n \"OPTION\",\n \"OPTIONS\",\n \"OR\",\n \"ORDER\",\n \"OUT\",\n \"OUTER\",\n \"OUTPUTFORMAT\",\n \"OVER\",\n \"OVERLAPS\",\n \"OVERLAY\",\n \"OVERWRITE\",\n \"OWNER\",\n \"PARTITION\",\n \"PARTITIONED\",\n \"PARTITIONS\",\n \"PERCENT\",\n \"PLACING\",\n \"POSITION\",\n \"PRECEDING\",\n \"PRIMARY\",\n \"PRINCIPALS\",\n \"PROPERTIES\",\n \"PURGE\",\n \"QUERY\",\n \"RANGE\",\n \"RECORDREADER\",\n \"RECORDWRITER\",\n \"RECOVER\",\n \"REDUCE\",\n \"REFERENCES\",\n \"RENAME\",\n \"REPAIR\",\n \"REPLACE\",\n \"RESPECT\",\n \"RESTRICT\",\n \"REVOKE\",\n \"RIGHT\",\n \"RLIKE\",\n \"ROLE\",\n \"ROLES\",\n \"ROLLBACK\",\n \"ROLLUP\",\n \"ROW\",\n \"ROWS\",\n \"SCHEMA\",\n \"SECOND\",\n \"SELECT\",\n \"SEMI\",\n \"SEPARATED\",\n \"SERDE\",\n \"SERDEPROPERTIES\",\n \"SESSION_USER\",\n \"SETS\",\n \"SHOW\",\n \"SKEWED\",\n \"SOME\",\n \"SORT\",\n \"SORTED\",\n \"START\",\n \"STATISTICS\",\n \"STORED\",\n \"STRATIFY\",\n \"SUBSTR\",\n \"SUBSTRING\",\n \"TABLE\",\n \"TABLES\",\n \"TBLPROPERTIES\",\n \"TEMPORARY\",\n \"TERMINATED\",\n \"THEN\",\n \"TO\",\n \"TOUCH\",\n \"TRAILING\",\n \"TRANSACTION\",\n \"TRANSACTIONS\",\n \"TRIM\",\n \"TRUE\",\n \"TRUNCATE\",\n \"UNARCHIVE\",\n \"UNBOUNDED\",\n \"UNCACHE\",\n \"UNIQUE\",\n \"UNKNOWN\",\n \"UNLOCK\",\n \"UNSET\",\n \"USE\",\n \"USER\",\n \"USING\",\n \"VIEW\",\n \"WINDOW\",\n \"YEAR\",\n // other\n \"ANALYSE\",\n \"ARRAY_ZIP\",\n \"COALESCE\",\n \"CONTAINS\",\n \"CONVERT\",\n \"DAYS\",\n \"DAY_HOUR\",\n \"DAY_MINUTE\",\n \"DAY_SECOND\",\n \"DECODE\",\n \"DEFAULT\",\n \"DISTINCTROW\",\n \"ENCODE\",\n \"EXPLODE\",\n \"EXPLODE_OUTER\",\n \"FIXED\",\n \"GREATEST\",\n \"GROUP_CONCAT\",\n \"HOURS\",\n \"HOUR_MINUTE\",\n \"HOUR_SECOND\",\n \"IFNULL\",\n \"LEAST\",\n \"LEVEL\",\n \"MINUTE_SECOND\",\n \"NULLIF\",\n \"OFFSET\",\n \"ON\",\n \"OPTIMIZE\",\n \"REGEXP\",\n \"SEPARATOR\",\n \"SIZE\",\n \"TYPE\",\n \"TYPES\",\n \"UNSIGNED\",\n \"VARIABLES\",\n \"YEAR_MONTH\"\n];\nvar dataTypes11 = [\n // https://spark.apache.org/docs/latest/sql-ref-datatypes.html\n \"ARRAY\",\n \"BIGINT\",\n \"BINARY\",\n \"BOOLEAN\",\n \"BYTE\",\n \"CHAR\",\n \"DATE\",\n \"DEC\",\n \"DECIMAL\",\n \"DOUBLE\",\n \"FLOAT\",\n \"INT\",\n \"INTEGER\",\n \"INTERVAL\",\n \"LONG\",\n \"MAP\",\n \"NUMERIC\",\n \"REAL\",\n \"SHORT\",\n \"SMALLINT\",\n \"STRING\",\n \"STRUCT\",\n \"TIMESTAMP_LTZ\",\n \"TIMESTAMP_NTZ\",\n \"TIMESTAMP\",\n \"TINYINT\",\n \"VARCHAR\"\n // No varchar type in Spark, only STRING. Added for the sake of tests\n];\n\n// src/languages/spark/spark.functions.ts\nvar functions11 = [\n // http://spark.apache.org/docs/latest/sql-ref-functions.html\n //\n // http://spark.apache.org/docs/latest/sql-ref-functions-builtin.html#aggregate-functions\n // 'ANY',\n \"APPROX_COUNT_DISTINCT\",\n \"APPROX_PERCENTILE\",\n \"AVG\",\n \"BIT_AND\",\n \"BIT_OR\",\n \"BIT_XOR\",\n \"BOOL_AND\",\n \"BOOL_OR\",\n \"COLLECT_LIST\",\n \"COLLECT_SET\",\n \"CORR\",\n \"COUNT\",\n \"COUNT\",\n \"COUNT\",\n \"COUNT_IF\",\n \"COUNT_MIN_SKETCH\",\n \"COVAR_POP\",\n \"COVAR_SAMP\",\n \"EVERY\",\n \"FIRST\",\n \"FIRST_VALUE\",\n \"GROUPING\",\n \"GROUPING_ID\",\n \"KURTOSIS\",\n \"LAST\",\n \"LAST_VALUE\",\n \"MAX\",\n \"MAX_BY\",\n \"MEAN\",\n \"MIN\",\n \"MIN_BY\",\n \"PERCENTILE\",\n \"PERCENTILE\",\n \"PERCENTILE_APPROX\",\n \"SKEWNESS\",\n // 'SOME',\n \"STD\",\n \"STDDEV\",\n \"STDDEV_POP\",\n \"STDDEV_SAMP\",\n \"SUM\",\n \"VAR_POP\",\n \"VAR_SAMP\",\n \"VARIANCE\",\n // http://spark.apache.org/docs/latest/sql-ref-functions-builtin.html#window-functions\n \"CUME_DIST\",\n \"DENSE_RANK\",\n \"LAG\",\n \"LEAD\",\n \"NTH_VALUE\",\n \"NTILE\",\n \"PERCENT_RANK\",\n \"RANK\",\n \"ROW_NUMBER\",\n // http://spark.apache.org/docs/latest/sql-ref-functions-builtin.html#array-functions\n \"ARRAY\",\n \"ARRAY_CONTAINS\",\n \"ARRAY_DISTINCT\",\n \"ARRAY_EXCEPT\",\n \"ARRAY_INTERSECT\",\n \"ARRAY_JOIN\",\n \"ARRAY_MAX\",\n \"ARRAY_MIN\",\n \"ARRAY_POSITION\",\n \"ARRAY_REMOVE\",\n \"ARRAY_REPEAT\",\n \"ARRAY_UNION\",\n \"ARRAYS_OVERLAP\",\n \"ARRAYS_ZIP\",\n \"FLATTEN\",\n \"SEQUENCE\",\n \"SHUFFLE\",\n \"SLICE\",\n \"SORT_ARRAY\",\n // http://spark.apache.org/docs/latest/sql-ref-functions-builtin.html#map-functions\n \"ELEMENT_AT\",\n \"ELEMENT_AT\",\n \"MAP_CONCAT\",\n \"MAP_ENTRIES\",\n \"MAP_FROM_ARRAYS\",\n \"MAP_FROM_ENTRIES\",\n \"MAP_KEYS\",\n \"MAP_VALUES\",\n \"STR_TO_MAP\",\n // http://spark.apache.org/docs/latest/sql-ref-functions-builtin.html#date-and-timestamp-functions\n \"ADD_MONTHS\",\n \"CURRENT_DATE\",\n \"CURRENT_DATE\",\n \"CURRENT_TIMESTAMP\",\n \"CURRENT_TIMESTAMP\",\n \"CURRENT_TIMEZONE\",\n \"DATE_ADD\",\n \"DATE_FORMAT\",\n \"DATE_FROM_UNIX_DATE\",\n \"DATE_PART\",\n \"DATE_SUB\",\n \"DATE_TRUNC\",\n \"DATEDIFF\",\n \"DAY\",\n \"DAYOFMONTH\",\n \"DAYOFWEEK\",\n \"DAYOFYEAR\",\n \"EXTRACT\",\n \"FROM_UNIXTIME\",\n \"FROM_UTC_TIMESTAMP\",\n \"HOUR\",\n \"LAST_DAY\",\n \"MAKE_DATE\",\n \"MAKE_DT_INTERVAL\",\n \"MAKE_INTERVAL\",\n \"MAKE_TIMESTAMP\",\n \"MAKE_YM_INTERVAL\",\n \"MINUTE\",\n \"MONTH\",\n \"MONTHS_BETWEEN\",\n \"NEXT_DAY\",\n \"NOW\",\n \"QUARTER\",\n \"SECOND\",\n \"SESSION_WINDOW\",\n \"TIMESTAMP_MICROS\",\n \"TIMESTAMP_MILLIS\",\n \"TIMESTAMP_SECONDS\",\n \"TO_DATE\",\n \"TO_TIMESTAMP\",\n \"TO_UNIX_TIMESTAMP\",\n \"TO_UTC_TIMESTAMP\",\n \"TRUNC\",\n \"UNIX_DATE\",\n \"UNIX_MICROS\",\n \"UNIX_MILLIS\",\n \"UNIX_SECONDS\",\n \"UNIX_TIMESTAMP\",\n \"WEEKDAY\",\n \"WEEKOFYEAR\",\n \"WINDOW\",\n \"YEAR\",\n // http://spark.apache.org/docs/latest/sql-ref-functions-builtin.html#json-functions\n \"FROM_JSON\",\n \"GET_JSON_OBJECT\",\n \"JSON_ARRAY_LENGTH\",\n \"JSON_OBJECT_KEYS\",\n \"JSON_TUPLE\",\n \"SCHEMA_OF_JSON\",\n \"TO_JSON\",\n // http://spark.apache.org/docs/latest/api/sql/index.html\n \"ABS\",\n \"ACOS\",\n \"ACOSH\",\n \"AGGREGATE\",\n \"ARRAY_SORT\",\n \"ASCII\",\n \"ASIN\",\n \"ASINH\",\n \"ASSERT_TRUE\",\n \"ATAN\",\n \"ATAN2\",\n \"ATANH\",\n \"BASE64\",\n \"BIN\",\n \"BIT_COUNT\",\n \"BIT_GET\",\n \"BIT_LENGTH\",\n \"BROUND\",\n \"BTRIM\",\n \"CARDINALITY\",\n \"CBRT\",\n \"CEIL\",\n \"CEILING\",\n \"CHAR_LENGTH\",\n \"CHARACTER_LENGTH\",\n \"CHR\",\n \"CONCAT\",\n \"CONCAT_WS\",\n \"CONV\",\n \"COS\",\n \"COSH\",\n \"COT\",\n \"CRC32\",\n \"CURRENT_CATALOG\",\n \"CURRENT_DATABASE\",\n \"CURRENT_USER\",\n \"DEGREES\",\n // 'E',\n \"ELT\",\n \"EXP\",\n \"EXPM1\",\n \"FACTORIAL\",\n \"FIND_IN_SET\",\n \"FLOOR\",\n \"FORALL\",\n \"FORMAT_NUMBER\",\n \"FORMAT_STRING\",\n \"FROM_CSV\",\n \"GETBIT\",\n \"HASH\",\n \"HEX\",\n \"HYPOT\",\n \"INITCAP\",\n \"INLINE\",\n \"INLINE_OUTER\",\n \"INPUT_FILE_BLOCK_LENGTH\",\n \"INPUT_FILE_BLOCK_START\",\n \"INPUT_FILE_NAME\",\n \"INSTR\",\n \"ISNAN\",\n \"ISNOTNULL\",\n \"ISNULL\",\n \"JAVA_METHOD\",\n \"LCASE\",\n \"LEFT\",\n \"LENGTH\",\n \"LEVENSHTEIN\",\n \"LN\",\n \"LOCATE\",\n \"LOG\",\n \"LOG10\",\n \"LOG1P\",\n \"LOG2\",\n \"LOWER\",\n \"LPAD\",\n \"LTRIM\",\n \"MAP_FILTER\",\n \"MAP_ZIP_WITH\",\n \"MD5\",\n \"MOD\",\n \"MONOTONICALLY_INCREASING_ID\",\n \"NAMED_STRUCT\",\n \"NANVL\",\n \"NEGATIVE\",\n \"NVL\",\n \"NVL2\",\n \"OCTET_LENGTH\",\n \"OVERLAY\",\n \"PARSE_URL\",\n \"PI\",\n \"PMOD\",\n \"POSEXPLODE\",\n \"POSEXPLODE_OUTER\",\n \"POSITION\",\n \"POSITIVE\",\n \"POW\",\n \"POWER\",\n \"PRINTF\",\n \"RADIANS\",\n \"RAISE_ERROR\",\n \"RAND\",\n \"RANDN\",\n \"RANDOM\",\n \"REFLECT\",\n \"REGEXP_EXTRACT\",\n \"REGEXP_EXTRACT_ALL\",\n \"REGEXP_LIKE\",\n \"REGEXP_REPLACE\",\n \"REPEAT\",\n \"REPLACE\",\n \"REVERSE\",\n \"RIGHT\",\n \"RINT\",\n \"ROUND\",\n \"RPAD\",\n \"RTRIM\",\n \"SCHEMA_OF_CSV\",\n \"SENTENCES\",\n \"SHA\",\n \"SHA1\",\n \"SHA2\",\n \"SHIFTLEFT\",\n \"SHIFTRIGHT\",\n \"SHIFTRIGHTUNSIGNED\",\n \"SIGN\",\n \"SIGNUM\",\n \"SIN\",\n \"SINH\",\n \"SOUNDEX\",\n \"SPACE\",\n \"SPARK_PARTITION_ID\",\n \"SPLIT\",\n \"SQRT\",\n \"STACK\",\n \"SUBSTR\",\n \"SUBSTRING\",\n \"SUBSTRING_INDEX\",\n \"TAN\",\n \"TANH\",\n \"TO_CSV\",\n \"TRANSFORM_KEYS\",\n \"TRANSFORM_VALUES\",\n \"TRANSLATE\",\n \"TRIM\",\n \"TRY_ADD\",\n \"TRY_DIVIDE\",\n \"TYPEOF\",\n \"UCASE\",\n \"UNBASE64\",\n \"UNHEX\",\n \"UPPER\",\n \"UUID\",\n \"VERSION\",\n \"WIDTH_BUCKET\",\n \"XPATH\",\n \"XPATH_BOOLEAN\",\n \"XPATH_DOUBLE\",\n \"XPATH_FLOAT\",\n \"XPATH_INT\",\n \"XPATH_LONG\",\n \"XPATH_NUMBER\",\n \"XPATH_SHORT\",\n \"XPATH_STRING\",\n \"XXHASH64\",\n \"ZIP_WITH\",\n // cast\n \"CAST\",\n // Shorthand functions to use in place of CASE expression\n \"COALESCE\",\n \"NULLIF\"\n];\n\n// src/languages/spark/spark.formatter.ts\nvar reservedSelect11 = expandPhrases([\"SELECT [ALL | DISTINCT]\"]);\nvar reservedClauses11 = expandPhrases([\n // queries\n \"WITH\",\n \"FROM\",\n \"WHERE\",\n \"GROUP BY\",\n \"HAVING\",\n \"WINDOW\",\n \"PARTITION BY\",\n \"ORDER BY\",\n \"SORT BY\",\n \"CLUSTER BY\",\n \"DISTRIBUTE BY\",\n \"LIMIT\",\n // Data manipulation\n // - insert:\n \"INSERT [INTO | OVERWRITE] [TABLE]\",\n \"VALUES\",\n // - insert overwrite directory:\n // https://spark.apache.org/docs/latest/sql-ref-syntax-dml-insert-overwrite-directory.html\n \"INSERT OVERWRITE [LOCAL] DIRECTORY\",\n // - load:\n // https://spark.apache.org/docs/latest/sql-ref-syntax-dml-load.html\n \"LOAD DATA [LOCAL] INPATH\",\n \"[OVERWRITE] INTO TABLE\"\n]);\nvar onelineClauses11 = expandPhrases([\n // - create:\n \"CREATE [EXTERNAL] TABLE [IF NOT EXISTS]\",\n \"CREATE [OR REPLACE] [GLOBAL TEMPORARY | TEMPORARY] VIEW [IF NOT EXISTS]\",\n // - drop table:\n \"DROP TABLE [IF EXISTS]\",\n // - alter table:\n \"ALTER TABLE\",\n \"ADD COLUMNS\",\n \"DROP {COLUMN | COLUMNS}\",\n \"RENAME TO\",\n \"RENAME COLUMN\",\n \"ALTER COLUMN\",\n // - truncate:\n \"TRUNCATE TABLE\",\n // other\n \"LATERAL VIEW\",\n \"ALTER DATABASE\",\n \"ALTER VIEW\",\n \"CREATE DATABASE\",\n \"CREATE FUNCTION\",\n \"DROP DATABASE\",\n \"DROP FUNCTION\",\n \"DROP VIEW\",\n \"REPAIR TABLE\",\n \"USE DATABASE\",\n // Data Retrieval\n \"TABLESAMPLE\",\n \"PIVOT\",\n \"TRANSFORM\",\n \"EXPLAIN\",\n // Auxiliary\n \"ADD FILE\",\n \"ADD JAR\",\n \"ANALYZE TABLE\",\n \"CACHE TABLE\",\n \"CLEAR CACHE\",\n \"DESCRIBE DATABASE\",\n \"DESCRIBE FUNCTION\",\n \"DESCRIBE QUERY\",\n \"DESCRIBE TABLE\",\n \"LIST FILE\",\n \"LIST JAR\",\n \"REFRESH\",\n \"REFRESH TABLE\",\n \"REFRESH FUNCTION\",\n \"RESET\",\n \"SHOW COLUMNS\",\n \"SHOW CREATE TABLE\",\n \"SHOW DATABASES\",\n \"SHOW FUNCTIONS\",\n \"SHOW PARTITIONS\",\n \"SHOW TABLE EXTENDED\",\n \"SHOW TABLES\",\n \"SHOW TBLPROPERTIES\",\n \"SHOW VIEWS\",\n \"UNCACHE TABLE\"\n]);\nvar reservedSetOperations11 = expandPhrases([\n \"UNION [ALL | DISTINCT]\",\n \"EXCEPT [ALL | DISTINCT]\",\n \"INTERSECT [ALL | DISTINCT]\"\n]);\nvar reservedJoins11 = expandPhrases([\n \"JOIN\",\n \"{LEFT | RIGHT | FULL} [OUTER] JOIN\",\n \"{INNER | CROSS} JOIN\",\n \"NATURAL [INNER] JOIN\",\n \"NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN\",\n // non-standard-joins\n \"[LEFT] {ANTI | SEMI} JOIN\",\n \"NATURAL [LEFT] {ANTI | SEMI} JOIN\"\n]);\nvar reservedPhrases11 = expandPhrases([\n \"ON DELETE\",\n \"ON UPDATE\",\n \"CURRENT ROW\",\n \"{ROWS | RANGE} BETWEEN\"\n]);\nvar spark = {\n name: \"spark\",\n tokenizerOptions: {\n reservedSelect: reservedSelect11,\n reservedClauses: [...reservedClauses11, ...onelineClauses11],\n reservedSetOperations: reservedSetOperations11,\n reservedJoins: reservedJoins11,\n reservedPhrases: reservedPhrases11,\n supportsXor: true,\n reservedKeywords: keywords11,\n reservedDataTypes: dataTypes11,\n reservedFunctionNames: functions11,\n extraParens: [\"[]\"],\n stringTypes: [\n \"''-bs\",\n '\"\"-bs',\n { quote: \"''-raw\", prefixes: [\"R\", \"X\"], requirePrefix: true },\n { quote: '\"\"-raw', prefixes: [\"R\", \"X\"], requirePrefix: true }\n ],\n identTypes: [\"``\"],\n variableTypes: [{ quote: \"{}\", prefixes: [\"$\"], requirePrefix: true }],\n operators: [\"%\", \"~\", \"^\", \"|\", \"&\", \"<=>\", \"==\", \"!\", \"||\", \"->\"],\n postProcess: postProcess4\n },\n formatOptions: {\n onelineClauses: onelineClauses11\n }\n};\nfunction postProcess4(tokens) {\n return tokens.map((token, i) => {\n const prevToken = tokens[i - 1] || EOF_TOKEN;\n const nextToken = tokens[i + 1] || EOF_TOKEN;\n if (isToken.WINDOW(token) && nextToken.type === \"OPEN_PAREN\" /* OPEN_PAREN */) {\n return __spreadProps(__spreadValues({}, token), { type: \"RESERVED_FUNCTION_NAME\" /* RESERVED_FUNCTION_NAME */ });\n }\n if (token.text === \"ITEMS\" && token.type === \"RESERVED_KEYWORD\" /* RESERVED_KEYWORD */) {\n if (!(prevToken.text === \"COLLECTION\" && nextToken.text === \"TERMINATED\")) {\n return __spreadProps(__spreadValues({}, token), { type: \"IDENTIFIER\" /* IDENTIFIER */, text: token.raw });\n }\n }\n return token;\n });\n}\n\n// src/languages/sqlite/sqlite.functions.ts\nvar functions12 = [\n // https://www.sqlite.org/lang_corefunc.html\n \"ABS\",\n \"CHANGES\",\n \"CHAR\",\n \"COALESCE\",\n \"FORMAT\",\n \"GLOB\",\n \"HEX\",\n \"IFNULL\",\n \"IIF\",\n \"INSTR\",\n \"LAST_INSERT_ROWID\",\n \"LENGTH\",\n \"LIKE\",\n \"LIKELIHOOD\",\n \"LIKELY\",\n \"LOAD_EXTENSION\",\n \"LOWER\",\n \"LTRIM\",\n \"NULLIF\",\n \"PRINTF\",\n \"QUOTE\",\n \"RANDOM\",\n \"RANDOMBLOB\",\n \"REPLACE\",\n \"ROUND\",\n \"RTRIM\",\n \"SIGN\",\n \"SOUNDEX\",\n \"SQLITE_COMPILEOPTION_GET\",\n \"SQLITE_COMPILEOPTION_USED\",\n \"SQLITE_OFFSET\",\n \"SQLITE_SOURCE_ID\",\n \"SQLITE_VERSION\",\n \"SUBSTR\",\n \"SUBSTRING\",\n \"TOTAL_CHANGES\",\n \"TRIM\",\n \"TYPEOF\",\n \"UNICODE\",\n \"UNLIKELY\",\n \"UPPER\",\n \"ZEROBLOB\",\n // https://www.sqlite.org/lang_aggfunc.html\n \"AVG\",\n \"COUNT\",\n \"GROUP_CONCAT\",\n \"MAX\",\n \"MIN\",\n \"SUM\",\n \"TOTAL\",\n // https://www.sqlite.org/lang_datefunc.html\n \"DATE\",\n \"TIME\",\n \"DATETIME\",\n \"JULIANDAY\",\n \"UNIXEPOCH\",\n \"STRFTIME\",\n // https://www.sqlite.org/windowfunctions.html#biwinfunc\n \"row_number\",\n \"rank\",\n \"dense_rank\",\n \"percent_rank\",\n \"cume_dist\",\n \"ntile\",\n \"lag\",\n \"lead\",\n \"first_value\",\n \"last_value\",\n \"nth_value\",\n // https://www.sqlite.org/lang_mathfunc.html\n \"ACOS\",\n \"ACOSH\",\n \"ASIN\",\n \"ASINH\",\n \"ATAN\",\n \"ATAN2\",\n \"ATANH\",\n \"CEIL\",\n \"CEILING\",\n \"COS\",\n \"COSH\",\n \"DEGREES\",\n \"EXP\",\n \"FLOOR\",\n \"LN\",\n \"LOG\",\n \"LOG\",\n \"LOG10\",\n \"LOG2\",\n \"MOD\",\n \"PI\",\n \"POW\",\n \"POWER\",\n \"RADIANS\",\n \"SIN\",\n \"SINH\",\n \"SQRT\",\n \"TAN\",\n \"TANH\",\n \"TRUNC\",\n // https://www.sqlite.org/json1.html\n \"JSON\",\n \"JSON_ARRAY\",\n \"JSON_ARRAY_LENGTH\",\n \"JSON_ARRAY_LENGTH\",\n \"JSON_EXTRACT\",\n \"JSON_INSERT\",\n \"JSON_OBJECT\",\n \"JSON_PATCH\",\n \"JSON_REMOVE\",\n \"JSON_REPLACE\",\n \"JSON_SET\",\n \"JSON_TYPE\",\n \"JSON_TYPE\",\n \"JSON_VALID\",\n \"JSON_QUOTE\",\n \"JSON_GROUP_ARRAY\",\n \"JSON_GROUP_OBJECT\",\n \"JSON_EACH\",\n \"JSON_TREE\",\n // cast\n \"CAST\"\n];\n\n// src/languages/sqlite/sqlite.keywords.ts\nvar keywords12 = [\n // https://www.sqlite.org/lang_keywords.html\n \"ABORT\",\n \"ACTION\",\n \"ADD\",\n \"AFTER\",\n \"ALL\",\n \"ALTER\",\n \"AND\",\n \"ARE\",\n \"ALWAYS\",\n \"ANALYZE\",\n \"AS\",\n \"ASC\",\n \"ATTACH\",\n \"AUTOINCREMENT\",\n \"BEFORE\",\n \"BEGIN\",\n \"BETWEEN\",\n \"BY\",\n \"CASCADE\",\n \"CASE\",\n \"CAST\",\n \"CHECK\",\n \"COLLATE\",\n \"COLUMN\",\n \"COMMIT\",\n \"CONFLICT\",\n \"CONSTRAINT\",\n \"CREATE\",\n \"CROSS\",\n \"CURRENT\",\n \"CURRENT_DATE\",\n \"CURRENT_TIME\",\n \"CURRENT_TIMESTAMP\",\n \"DATABASE\",\n \"DEFAULT\",\n \"DEFERRABLE\",\n \"DEFERRED\",\n \"DELETE\",\n \"DESC\",\n \"DETACH\",\n \"DISTINCT\",\n \"DO\",\n \"DROP\",\n \"EACH\",\n \"ELSE\",\n \"END\",\n \"ESCAPE\",\n \"EXCEPT\",\n \"EXCLUDE\",\n \"EXCLUSIVE\",\n \"EXISTS\",\n \"EXPLAIN\",\n \"FAIL\",\n \"FILTER\",\n \"FIRST\",\n \"FOLLOWING\",\n \"FOR\",\n \"FOREIGN\",\n \"FROM\",\n \"FULL\",\n \"GENERATED\",\n \"GLOB\",\n \"GROUP\",\n \"GROUPS\",\n \"HAVING\",\n \"IF\",\n \"IGNORE\",\n \"IMMEDIATE\",\n \"IN\",\n \"INDEX\",\n \"INDEXED\",\n \"INITIALLY\",\n \"INNER\",\n \"INSERT\",\n \"INSTEAD\",\n \"INTERSECT\",\n \"INTO\",\n \"IS\",\n \"ISNULL\",\n \"JOIN\",\n \"KEY\",\n \"LAST\",\n \"LEFT\",\n \"LIKE\",\n \"LIMIT\",\n \"MATCH\",\n \"MATERIALIZED\",\n \"NATURAL\",\n \"NO\",\n \"NOT\",\n \"NOTHING\",\n \"NOTNULL\",\n \"NULL\",\n \"NULLS\",\n \"OF\",\n \"OFFSET\",\n \"ON\",\n \"ONLY\",\n \"OPEN\",\n \"OR\",\n \"ORDER\",\n \"OTHERS\",\n \"OUTER\",\n \"OVER\",\n \"PARTITION\",\n \"PLAN\",\n \"PRAGMA\",\n \"PRECEDING\",\n \"PRIMARY\",\n \"QUERY\",\n \"RAISE\",\n \"RANGE\",\n \"RECURSIVE\",\n \"REFERENCES\",\n \"REGEXP\",\n \"REINDEX\",\n \"RELEASE\",\n \"RENAME\",\n \"REPLACE\",\n \"RESTRICT\",\n \"RETURNING\",\n \"RIGHT\",\n \"ROLLBACK\",\n \"ROW\",\n \"ROWS\",\n \"SAVEPOINT\",\n \"SELECT\",\n \"SET\",\n \"TABLE\",\n \"TEMP\",\n \"TEMPORARY\",\n \"THEN\",\n \"TIES\",\n \"TO\",\n \"TRANSACTION\",\n \"TRIGGER\",\n \"UNBOUNDED\",\n \"UNION\",\n \"UNIQUE\",\n \"UPDATE\",\n \"USING\",\n \"VACUUM\",\n \"VALUES\",\n \"VIEW\",\n \"VIRTUAL\",\n \"WHEN\",\n \"WHERE\",\n \"WINDOW\",\n \"WITH\",\n \"WITHOUT\"\n];\nvar dataTypes12 = [\n // SQLite allows any word as a data type, e.g. CREATE TABLE foo (col1 madeupname(123));\n // Here we just list some common ones as SQL Formatter\n // is only able to detect a predefined list of data types.\n // https://www.sqlite.org/stricttables.html\n // https://www.sqlite.org/datatype3.html\n \"ANY\",\n \"ARRAY\",\n \"BLOB\",\n \"CHARACTER\",\n \"DECIMAL\",\n \"INT\",\n \"INTEGER\",\n \"NATIVE CHARACTER\",\n \"NCHAR\",\n \"NUMERIC\",\n \"NVARCHAR\",\n \"REAL\",\n \"TEXT\",\n \"VARCHAR\",\n \"VARYING CHARACTER\"\n];\n\n// src/languages/sqlite/sqlite.formatter.ts\nvar reservedSelect12 = expandPhrases([\"SELECT [ALL | DISTINCT]\"]);\nvar reservedClauses12 = expandPhrases([\n // queries\n \"WITH [RECURSIVE]\",\n \"FROM\",\n \"WHERE\",\n \"GROUP BY\",\n \"HAVING\",\n \"WINDOW\",\n \"PARTITION BY\",\n \"ORDER BY\",\n \"LIMIT\",\n \"OFFSET\",\n // Data manipulation\n // - insert:\n \"INSERT [OR ABORT | OR FAIL | OR IGNORE | OR REPLACE | OR ROLLBACK] INTO\",\n \"REPLACE INTO\",\n \"VALUES\",\n // - update:\n \"SET\"\n]);\nvar onelineClauses12 = expandPhrases([\n // - create:\n \"CREATE [TEMPORARY | TEMP] TABLE [IF NOT EXISTS]\",\n \"CREATE [TEMPORARY | TEMP] VIEW [IF NOT EXISTS]\",\n // - update:\n \"UPDATE [OR ABORT | OR FAIL | OR IGNORE | OR REPLACE | OR ROLLBACK]\",\n // - insert:\n \"ON CONFLICT\",\n // - delete:\n \"DELETE FROM\",\n // - drop table:\n \"DROP TABLE [IF EXISTS]\",\n // - alter table:\n \"ALTER TABLE\",\n \"ADD [COLUMN]\",\n \"DROP [COLUMN]\",\n \"RENAME [COLUMN]\",\n \"RENAME TO\",\n // - set schema\n \"SET SCHEMA\"\n]);\nvar reservedSetOperations12 = expandPhrases([\"UNION [ALL]\", \"EXCEPT\", \"INTERSECT\"]);\nvar reservedJoins12 = expandPhrases([\n \"JOIN\",\n \"{LEFT | RIGHT | FULL} [OUTER] JOIN\",\n \"{INNER | CROSS} JOIN\",\n \"NATURAL [INNER] JOIN\",\n \"NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN\"\n]);\nvar reservedPhrases12 = expandPhrases([\n \"ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]\",\n \"{ROWS | RANGE | GROUPS} BETWEEN\"\n]);\nvar sqlite = {\n name: \"sqlite\",\n tokenizerOptions: {\n reservedSelect: reservedSelect12,\n reservedClauses: [...reservedClauses12, ...onelineClauses12],\n reservedSetOperations: reservedSetOperations12,\n reservedJoins: reservedJoins12,\n reservedPhrases: reservedPhrases12,\n reservedKeywords: keywords12,\n reservedDataTypes: dataTypes12,\n reservedFunctionNames: functions12,\n stringTypes: [\n \"''-qq\",\n { quote: \"''-raw\", prefixes: [\"X\"], requirePrefix: true }\n // Depending on context SQLite also supports double-quotes for strings,\n // and single-quotes for identifiers.\n ],\n identTypes: [`\"\"-qq`, \"``\", \"[]\"],\n // https://www.sqlite.org/lang_expr.html#parameters\n paramTypes: { positional: true, numbered: [\"?\"], named: [\":\", \"@\", \"$\"] },\n operators: [\"%\", \"~\", \"&\", \"|\", \"<<\", \">>\", \"==\", \"->\", \"->>\", \"||\"]\n },\n formatOptions: {\n onelineClauses: onelineClauses12\n }\n};\n\n// src/languages/sql/sql.functions.ts\nvar functions13 = [\n // https://jakewheat.github.io/sql-overview/sql-2008-foundation-grammar.html#_6_9_set_function_specification\n \"GROUPING\",\n // https://jakewheat.github.io/sql-overview/sql-2008-foundation-grammar.html#_6_10_window_function\n \"RANK\",\n \"DENSE_RANK\",\n \"PERCENT_RANK\",\n \"CUME_DIST\",\n \"ROW_NUMBER\",\n // https://jakewheat.github.io/sql-overview/sql-2008-foundation-grammar.html#_6_27_numeric_value_function\n \"POSITION\",\n \"OCCURRENCES_REGEX\",\n \"POSITION_REGEX\",\n \"EXTRACT\",\n \"CHAR_LENGTH\",\n \"CHARACTER_LENGTH\",\n \"OCTET_LENGTH\",\n \"CARDINALITY\",\n \"ABS\",\n \"MOD\",\n \"LN\",\n \"EXP\",\n \"POWER\",\n \"SQRT\",\n \"FLOOR\",\n \"CEIL\",\n \"CEILING\",\n \"WIDTH_BUCKET\",\n // https://jakewheat.github.io/sql-overview/sql-2008-foundation-grammar.html#_6_29_string_value_function\n \"SUBSTRING\",\n \"SUBSTRING_REGEX\",\n \"UPPER\",\n \"LOWER\",\n \"CONVERT\",\n \"TRANSLATE\",\n \"TRANSLATE_REGEX\",\n \"TRIM\",\n \"OVERLAY\",\n \"NORMALIZE\",\n \"SPECIFICTYPE\",\n // https://jakewheat.github.io/sql-overview/sql-2008-foundation-grammar.html#_6_31_datetime_value_function\n \"CURRENT_DATE\",\n \"CURRENT_TIME\",\n \"LOCALTIME\",\n \"CURRENT_TIMESTAMP\",\n \"LOCALTIMESTAMP\",\n // https://jakewheat.github.io/sql-overview/sql-2008-foundation-grammar.html#_6_38_multiset_value_function\n // SET serves multiple roles: a SET() function and a SET keyword e.g. in UPDATE table SET ...\n // multiset\n // 'SET', (disabled for now)\n // https://jakewheat.github.io/sql-overview/sql-2008-foundation-grammar.html#_10_9_aggregate_function\n \"COUNT\",\n \"AVG\",\n \"MAX\",\n \"MIN\",\n \"SUM\",\n // 'EVERY',\n // 'ANY',\n // 'SOME',\n \"STDDEV_POP\",\n \"STDDEV_SAMP\",\n \"VAR_SAMP\",\n \"VAR_POP\",\n \"COLLECT\",\n \"FUSION\",\n \"INTERSECTION\",\n \"COVAR_POP\",\n \"COVAR_SAMP\",\n \"CORR\",\n \"REGR_SLOPE\",\n \"REGR_INTERCEPT\",\n \"REGR_COUNT\",\n \"REGR_R2\",\n \"REGR_AVGX\",\n \"REGR_AVGY\",\n \"REGR_SXX\",\n \"REGR_SYY\",\n \"REGR_SXY\",\n \"PERCENTILE_CONT\",\n \"PERCENTILE_DISC\",\n // CAST is a pretty complex case, involving multiple forms:\n // - CAST(col AS int)\n // - CAST(...) WITH ...\n // - CAST FROM int\n // - CREATE CAST(mycol AS int) WITH ...\n \"CAST\",\n // Shorthand functions to use in place of CASE expression\n \"COALESCE\",\n \"NULLIF\",\n // Non-standard functions that have widespread support\n \"ROUND\",\n \"SIN\",\n \"COS\",\n \"TAN\",\n \"ASIN\",\n \"ACOS\",\n \"ATAN\"\n];\n\n// src/languages/sql/sql.keywords.ts\nvar keywords13 = [\n // https://jakewheat.github.io/sql-overview/sql-2008-foundation-grammar.html#reserved-word\n \"ALL\",\n \"ALLOCATE\",\n \"ALTER\",\n \"ANY\",\n // <- moved over from functions\n \"ARE\",\n \"AS\",\n \"ASENSITIVE\",\n \"ASYMMETRIC\",\n \"AT\",\n \"ATOMIC\",\n \"AUTHORIZATION\",\n \"BEGIN\",\n \"BETWEEN\",\n \"BOTH\",\n \"BY\",\n \"CALL\",\n \"CALLED\",\n \"CASCADED\",\n \"CAST\",\n \"CHECK\",\n \"CLOSE\",\n \"COALESCE\",\n \"COLLATE\",\n \"COLUMN\",\n \"COMMIT\",\n \"CONDITION\",\n \"CONNECT\",\n \"CONSTRAINT\",\n \"CORRESPONDING\",\n \"CREATE\",\n \"CROSS\",\n \"CUBE\",\n \"CURRENT\",\n \"CURRENT_CATALOG\",\n \"CURRENT_DEFAULT_TRANSFORM_GROUP\",\n \"CURRENT_PATH\",\n \"CURRENT_ROLE\",\n \"CURRENT_SCHEMA\",\n \"CURRENT_TRANSFORM_GROUP_FOR_TYPE\",\n \"CURRENT_USER\",\n \"CURSOR\",\n \"CYCLE\",\n \"DEALLOCATE\",\n \"DAY\",\n \"DECLARE\",\n \"DEFAULT\",\n \"DELETE\",\n \"DEREF\",\n \"DESCRIBE\",\n \"DETERMINISTIC\",\n \"DISCONNECT\",\n \"DISTINCT\",\n \"DROP\",\n \"DYNAMIC\",\n \"EACH\",\n \"ELEMENT\",\n \"END-EXEC\",\n \"ESCAPE\",\n \"EVERY\",\n // <- moved over from functions\n \"EXCEPT\",\n \"EXEC\",\n \"EXECUTE\",\n \"EXISTS\",\n \"EXTERNAL\",\n \"FALSE\",\n \"FETCH\",\n \"FILTER\",\n \"FOR\",\n \"FOREIGN\",\n \"FREE\",\n \"FROM\",\n \"FULL\",\n \"FUNCTION\",\n \"GET\",\n \"GLOBAL\",\n \"GRANT\",\n \"GROUP\",\n \"HAVING\",\n \"HOLD\",\n \"HOUR\",\n \"IDENTITY\",\n \"IN\",\n \"INDICATOR\",\n \"INNER\",\n \"INOUT\",\n \"INSENSITIVE\",\n \"INSERT\",\n \"INTERSECT\",\n \"INTO\",\n \"IS\",\n \"LANGUAGE\",\n \"LARGE\",\n \"LATERAL\",\n \"LEADING\",\n \"LEFT\",\n \"LIKE\",\n \"LIKE_REGEX\",\n \"LOCAL\",\n \"MATCH\",\n \"MEMBER\",\n \"MERGE\",\n \"METHOD\",\n \"MINUTE\",\n \"MODIFIES\",\n \"MODULE\",\n \"MONTH\",\n \"NATURAL\",\n \"NEW\",\n \"NO\",\n \"NONE\",\n \"NOT\",\n \"NULL\",\n \"NULLIF\",\n \"OF\",\n \"OLD\",\n \"ON\",\n \"ONLY\",\n \"OPEN\",\n \"ORDER\",\n \"OUT\",\n \"OUTER\",\n \"OVER\",\n \"OVERLAPS\",\n \"PARAMETER\",\n \"PARTITION\",\n \"PRECISION\",\n \"PREPARE\",\n \"PRIMARY\",\n \"PROCEDURE\",\n \"RANGE\",\n \"READS\",\n \"REAL\",\n \"RECURSIVE\",\n \"REF\",\n \"REFERENCES\",\n \"REFERENCING\",\n \"RELEASE\",\n \"RESULT\",\n \"RETURN\",\n \"RETURNS\",\n \"REVOKE\",\n \"RIGHT\",\n \"ROLLBACK\",\n \"ROLLUP\",\n \"ROW\",\n \"ROWS\",\n \"SAVEPOINT\",\n \"SCOPE\",\n \"SCROLL\",\n \"SEARCH\",\n \"SECOND\",\n \"SELECT\",\n \"SENSITIVE\",\n \"SESSION_USER\",\n \"SET\",\n \"SIMILAR\",\n \"SOME\",\n // <- moved over from functions\n \"SPECIFIC\",\n \"SQL\",\n \"SQLEXCEPTION\",\n \"SQLSTATE\",\n \"SQLWARNING\",\n \"START\",\n \"STATIC\",\n \"SUBMULTISET\",\n \"SYMMETRIC\",\n \"SYSTEM\",\n \"SYSTEM_USER\",\n \"TABLE\",\n \"TABLESAMPLE\",\n \"THEN\",\n \"TIMEZONE_HOUR\",\n \"TIMEZONE_MINUTE\",\n \"TO\",\n \"TRAILING\",\n \"TRANSLATION\",\n \"TREAT\",\n \"TRIGGER\",\n \"TRUE\",\n \"UESCAPE\",\n \"UNION\",\n \"UNIQUE\",\n \"UNKNOWN\",\n \"UNNEST\",\n \"UPDATE\",\n \"USER\",\n \"USING\",\n \"VALUE\",\n \"VALUES\",\n \"WHENEVER\",\n \"WINDOW\",\n \"WITHIN\",\n \"WITHOUT\",\n \"YEAR\"\n];\nvar dataTypes13 = [\n // https://jakewheat.github.io/sql-overview/sql-2008-foundation-grammar.html#_6_1_data_type\n \"ARRAY\",\n \"BIGINT\",\n \"BINARY LARGE OBJECT\",\n \"BINARY VARYING\",\n \"BINARY\",\n \"BLOB\",\n \"BOOLEAN\",\n \"CHAR LARGE OBJECT\",\n \"CHAR VARYING\",\n \"CHAR\",\n \"CHARACTER LARGE OBJECT\",\n \"CHARACTER VARYING\",\n \"CHARACTER\",\n \"CLOB\",\n \"DATE\",\n \"DEC\",\n \"DECIMAL\",\n \"DOUBLE\",\n \"FLOAT\",\n \"INT\",\n \"INTEGER\",\n \"INTERVAL\",\n \"MULTISET\",\n \"NATIONAL CHAR VARYING\",\n \"NATIONAL CHAR\",\n \"NATIONAL CHARACTER LARGE OBJECT\",\n \"NATIONAL CHARACTER VARYING\",\n \"NATIONAL CHARACTER\",\n \"NCHAR LARGE OBJECT\",\n \"NCHAR VARYING\",\n \"NCHAR\",\n \"NCLOB\",\n \"NUMERIC\",\n \"SMALLINT\",\n \"TIME\",\n \"TIMESTAMP\",\n \"VARBINARY\",\n \"VARCHAR\"\n];\n\n// src/languages/sql/sql.formatter.ts\nvar reservedSelect13 = expandPhrases([\"SELECT [ALL | DISTINCT]\"]);\nvar reservedClauses13 = expandPhrases([\n // queries\n \"WITH [RECURSIVE]\",\n \"FROM\",\n \"WHERE\",\n \"GROUP BY [ALL | DISTINCT]\",\n \"HAVING\",\n \"WINDOW\",\n \"PARTITION BY\",\n \"ORDER BY\",\n \"LIMIT\",\n \"OFFSET\",\n \"FETCH {FIRST | NEXT}\",\n // Data manipulation\n // - insert:\n \"INSERT INTO\",\n \"VALUES\",\n // - update:\n \"SET\"\n]);\nvar onelineClauses13 = expandPhrases([\n // - create:\n \"CREATE [GLOBAL TEMPORARY | LOCAL TEMPORARY] TABLE\",\n \"CREATE [RECURSIVE] VIEW\",\n // - update:\n \"UPDATE\",\n \"WHERE CURRENT OF\",\n // - delete:\n \"DELETE FROM\",\n // - drop table:\n \"DROP TABLE\",\n // - alter table:\n \"ALTER TABLE\",\n \"ADD COLUMN\",\n \"DROP [COLUMN]\",\n \"RENAME COLUMN\",\n \"RENAME TO\",\n \"ALTER [COLUMN]\",\n \"{SET | DROP} DEFAULT\",\n // for alter column\n \"ADD SCOPE\",\n // for alter column\n \"DROP SCOPE {CASCADE | RESTRICT}\",\n // for alter column\n \"RESTART WITH\",\n // for alter column\n // - truncate:\n \"TRUNCATE TABLE\",\n // other\n \"SET SCHEMA\"\n]);\nvar reservedSetOperations13 = expandPhrases([\n \"UNION [ALL | DISTINCT]\",\n \"EXCEPT [ALL | DISTINCT]\",\n \"INTERSECT [ALL | DISTINCT]\"\n]);\nvar reservedJoins13 = expandPhrases([\n \"JOIN\",\n \"{LEFT | RIGHT | FULL} [OUTER] JOIN\",\n \"{INNER | CROSS} JOIN\",\n \"NATURAL [INNER] JOIN\",\n \"NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN\"\n]);\nvar reservedPhrases13 = expandPhrases([\n \"ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]\",\n \"{ROWS | RANGE} BETWEEN\"\n]);\nvar sql = {\n name: \"sql\",\n tokenizerOptions: {\n reservedSelect: reservedSelect13,\n reservedClauses: [...reservedClauses13, ...onelineClauses13],\n reservedSetOperations: reservedSetOperations13,\n reservedJoins: reservedJoins13,\n reservedPhrases: reservedPhrases13,\n reservedKeywords: keywords13,\n reservedDataTypes: dataTypes13,\n reservedFunctionNames: functions13,\n stringTypes: [\n { quote: \"''-qq-bs\", prefixes: [\"N\", \"U&\"] },\n { quote: \"''-raw\", prefixes: [\"X\"], requirePrefix: true }\n ],\n identTypes: [`\"\"-qq`, \"``\"],\n paramTypes: { positional: true },\n operators: [\"||\"]\n },\n formatOptions: {\n onelineClauses: onelineClauses13\n }\n};\n\n// src/languages/trino/trino.functions.ts\nvar functions14 = [\n // https://github.com/trinodb/trino/tree/432d2897bdef99388c1a47188743a061c4ac1f34/docs/src/main/sphinx/functions\n // rg '^\\.\\. function::' ./docs/src/main/sphinx/functions | cut -d' ' -f 3 | cut -d '(' -f 1 | sort | uniq\n // rg '\\* ' ./docs/src/main/sphinx/functions/list-by-topic.rst | grep '\\* :func:' | cut -d'`' -f 2\n // rg '\\* ' ./docs/src/main/sphinx/functions/list-by-topic.rst | grep -v '\\* :func:'\n // grep -e '^- ' ./docs/src/main/sphinx/functions/list.rst | grep -e '^- :func:' | cut -d'`' -f2\n // grep -e '^- ' ./docs/src/main/sphinx/functions/list.rst | grep -ve '^- :func:'\n \"ABS\",\n \"ACOS\",\n \"ALL_MATCH\",\n \"ANY_MATCH\",\n \"APPROX_DISTINCT\",\n \"APPROX_MOST_FREQUENT\",\n \"APPROX_PERCENTILE\",\n \"APPROX_SET\",\n \"ARBITRARY\",\n \"ARRAYS_OVERLAP\",\n \"ARRAY_AGG\",\n \"ARRAY_DISTINCT\",\n \"ARRAY_EXCEPT\",\n \"ARRAY_INTERSECT\",\n \"ARRAY_JOIN\",\n \"ARRAY_MAX\",\n \"ARRAY_MIN\",\n \"ARRAY_POSITION\",\n \"ARRAY_REMOVE\",\n \"ARRAY_SORT\",\n \"ARRAY_UNION\",\n \"ASIN\",\n \"ATAN\",\n \"ATAN2\",\n \"AT_TIMEZONE\",\n \"AVG\",\n \"BAR\",\n \"BETA_CDF\",\n \"BING_TILE\",\n \"BING_TILES_AROUND\",\n \"BING_TILE_AT\",\n \"BING_TILE_COORDINATES\",\n \"BING_TILE_POLYGON\",\n \"BING_TILE_QUADKEY\",\n \"BING_TILE_ZOOM_LEVEL\",\n \"BITWISE_AND\",\n \"BITWISE_AND_AGG\",\n \"BITWISE_LEFT_SHIFT\",\n \"BITWISE_NOT\",\n \"BITWISE_OR\",\n \"BITWISE_OR_AGG\",\n \"BITWISE_RIGHT_SHIFT\",\n \"BITWISE_RIGHT_SHIFT_ARITHMETIC\",\n \"BITWISE_XOR\",\n \"BIT_COUNT\",\n \"BOOL_AND\",\n \"BOOL_OR\",\n \"CARDINALITY\",\n \"CAST\",\n \"CBRT\",\n \"CEIL\",\n \"CEILING\",\n \"CHAR2HEXINT\",\n \"CHECKSUM\",\n \"CHR\",\n \"CLASSIFY\",\n \"COALESCE\",\n \"CODEPOINT\",\n \"COLOR\",\n \"COMBINATIONS\",\n \"CONCAT\",\n \"CONCAT_WS\",\n \"CONTAINS\",\n \"CONTAINS_SEQUENCE\",\n \"CONVEX_HULL_AGG\",\n \"CORR\",\n \"COS\",\n \"COSH\",\n \"COSINE_SIMILARITY\",\n \"COUNT\",\n \"COUNT_IF\",\n \"COVAR_POP\",\n \"COVAR_SAMP\",\n \"CRC32\",\n \"CUME_DIST\",\n \"CURRENT_CATALOG\",\n \"CURRENT_DATE\",\n \"CURRENT_GROUPS\",\n \"CURRENT_SCHEMA\",\n \"CURRENT_TIME\",\n \"CURRENT_TIMESTAMP\",\n \"CURRENT_TIMEZONE\",\n \"CURRENT_USER\",\n \"DATE\",\n \"DATE_ADD\",\n \"DATE_DIFF\",\n \"DATE_FORMAT\",\n \"DATE_PARSE\",\n \"DATE_TRUNC\",\n \"DAY\",\n \"DAY_OF_MONTH\",\n \"DAY_OF_WEEK\",\n \"DAY_OF_YEAR\",\n \"DEGREES\",\n \"DENSE_RANK\",\n \"DOW\",\n \"DOY\",\n \"E\",\n \"ELEMENT_AT\",\n \"EMPTY_APPROX_SET\",\n \"EVALUATE_CLASSIFIER_PREDICTIONS\",\n \"EVERY\",\n \"EXP\",\n \"EXTRACT\",\n \"FEATURES\",\n \"FILTER\",\n \"FIRST_VALUE\",\n \"FLATTEN\",\n \"FLOOR\",\n \"FORMAT\",\n \"FORMAT_DATETIME\",\n \"FORMAT_NUMBER\",\n \"FROM_BASE\",\n \"FROM_BASE32\",\n \"FROM_BASE64\",\n \"FROM_BASE64URL\",\n \"FROM_BIG_ENDIAN_32\",\n \"FROM_BIG_ENDIAN_64\",\n \"FROM_ENCODED_POLYLINE\",\n \"FROM_GEOJSON_GEOMETRY\",\n \"FROM_HEX\",\n \"FROM_IEEE754_32\",\n \"FROM_IEEE754_64\",\n \"FROM_ISO8601_DATE\",\n \"FROM_ISO8601_TIMESTAMP\",\n \"FROM_ISO8601_TIMESTAMP_NANOS\",\n \"FROM_UNIXTIME\",\n \"FROM_UNIXTIME_NANOS\",\n \"FROM_UTF8\",\n \"GEOMETRIC_MEAN\",\n \"GEOMETRY_FROM_HADOOP_SHAPE\",\n \"GEOMETRY_INVALID_REASON\",\n \"GEOMETRY_NEAREST_POINTS\",\n \"GEOMETRY_TO_BING_TILES\",\n \"GEOMETRY_UNION\",\n \"GEOMETRY_UNION_AGG\",\n \"GREATEST\",\n \"GREAT_CIRCLE_DISTANCE\",\n \"HAMMING_DISTANCE\",\n \"HASH_COUNTS\",\n \"HISTOGRAM\",\n \"HMAC_MD5\",\n \"HMAC_SHA1\",\n \"HMAC_SHA256\",\n \"HMAC_SHA512\",\n \"HOUR\",\n \"HUMAN_READABLE_SECONDS\",\n \"IF\",\n \"INDEX\",\n \"INFINITY\",\n \"INTERSECTION_CARDINALITY\",\n \"INVERSE_BETA_CDF\",\n \"INVERSE_NORMAL_CDF\",\n \"IS_FINITE\",\n \"IS_INFINITE\",\n \"IS_JSON_SCALAR\",\n \"IS_NAN\",\n \"JACCARD_INDEX\",\n \"JSON_ARRAY_CONTAINS\",\n \"JSON_ARRAY_GET\",\n \"JSON_ARRAY_LENGTH\",\n \"JSON_EXISTS\",\n \"JSON_EXTRACT\",\n \"JSON_EXTRACT_SCALAR\",\n \"JSON_FORMAT\",\n \"JSON_PARSE\",\n \"JSON_QUERY\",\n \"JSON_SIZE\",\n \"JSON_VALUE\",\n \"KURTOSIS\",\n \"LAG\",\n \"LAST_DAY_OF_MONTH\",\n \"LAST_VALUE\",\n \"LEAD\",\n \"LEARN_CLASSIFIER\",\n \"LEARN_LIBSVM_CLASSIFIER\",\n \"LEARN_LIBSVM_REGRESSOR\",\n \"LEARN_REGRESSOR\",\n \"LEAST\",\n \"LENGTH\",\n \"LEVENSHTEIN_DISTANCE\",\n \"LINE_INTERPOLATE_POINT\",\n \"LINE_INTERPOLATE_POINTS\",\n \"LINE_LOCATE_POINT\",\n \"LISTAGG\",\n \"LN\",\n \"LOCALTIME\",\n \"LOCALTIMESTAMP\",\n \"LOG\",\n \"LOG10\",\n \"LOG2\",\n \"LOWER\",\n \"LPAD\",\n \"LTRIM\",\n \"LUHN_CHECK\",\n \"MAKE_SET_DIGEST\",\n \"MAP\",\n \"MAP_AGG\",\n \"MAP_CONCAT\",\n \"MAP_ENTRIES\",\n \"MAP_FILTER\",\n \"MAP_FROM_ENTRIES\",\n \"MAP_KEYS\",\n \"MAP_UNION\",\n \"MAP_VALUES\",\n \"MAP_ZIP_WITH\",\n \"MAX\",\n \"MAX_BY\",\n \"MD5\",\n \"MERGE\",\n \"MERGE_SET_DIGEST\",\n \"MILLISECOND\",\n \"MIN\",\n \"MINUTE\",\n \"MIN_BY\",\n \"MOD\",\n \"MONTH\",\n \"MULTIMAP_AGG\",\n \"MULTIMAP_FROM_ENTRIES\",\n \"MURMUR3\",\n \"NAN\",\n \"NGRAMS\",\n \"NONE_MATCH\",\n \"NORMALIZE\",\n \"NORMAL_CDF\",\n \"NOW\",\n \"NTH_VALUE\",\n \"NTILE\",\n \"NULLIF\",\n \"NUMERIC_HISTOGRAM\",\n \"OBJECTID\",\n \"OBJECTID_TIMESTAMP\",\n \"PARSE_DATA_SIZE\",\n \"PARSE_DATETIME\",\n \"PARSE_DURATION\",\n \"PERCENT_RANK\",\n \"PI\",\n \"POSITION\",\n \"POW\",\n \"POWER\",\n \"QDIGEST_AGG\",\n \"QUARTER\",\n \"RADIANS\",\n \"RAND\",\n \"RANDOM\",\n \"RANK\",\n \"REDUCE\",\n \"REDUCE_AGG\",\n \"REGEXP_COUNT\",\n \"REGEXP_EXTRACT\",\n \"REGEXP_EXTRACT_ALL\",\n \"REGEXP_LIKE\",\n \"REGEXP_POSITION\",\n \"REGEXP_REPLACE\",\n \"REGEXP_SPLIT\",\n \"REGRESS\",\n \"REGR_INTERCEPT\",\n \"REGR_SLOPE\",\n \"RENDER\",\n \"REPEAT\",\n \"REPLACE\",\n \"REVERSE\",\n \"RGB\",\n \"ROUND\",\n \"ROW_NUMBER\",\n \"RPAD\",\n \"RTRIM\",\n \"SECOND\",\n \"SEQUENCE\",\n \"SHA1\",\n \"SHA256\",\n \"SHA512\",\n \"SHUFFLE\",\n \"SIGN\",\n \"SIMPLIFY_GEOMETRY\",\n \"SIN\",\n \"SKEWNESS\",\n \"SLICE\",\n \"SOUNDEX\",\n \"SPATIAL_PARTITIONING\",\n \"SPATIAL_PARTITIONS\",\n \"SPLIT\",\n \"SPLIT_PART\",\n \"SPLIT_TO_MAP\",\n \"SPLIT_TO_MULTIMAP\",\n \"SPOOKY_HASH_V2_32\",\n \"SPOOKY_HASH_V2_64\",\n \"SQRT\",\n \"STARTS_WITH\",\n \"STDDEV\",\n \"STDDEV_POP\",\n \"STDDEV_SAMP\",\n \"STRPOS\",\n \"ST_AREA\",\n \"ST_ASBINARY\",\n \"ST_ASTEXT\",\n \"ST_BOUNDARY\",\n \"ST_BUFFER\",\n \"ST_CENTROID\",\n \"ST_CONTAINS\",\n \"ST_CONVEXHULL\",\n \"ST_COORDDIM\",\n \"ST_CROSSES\",\n \"ST_DIFFERENCE\",\n \"ST_DIMENSION\",\n \"ST_DISJOINT\",\n \"ST_DISTANCE\",\n \"ST_ENDPOINT\",\n \"ST_ENVELOPE\",\n \"ST_ENVELOPEASPTS\",\n \"ST_EQUALS\",\n \"ST_EXTERIORRING\",\n \"ST_GEOMETRIES\",\n \"ST_GEOMETRYFROMTEXT\",\n \"ST_GEOMETRYN\",\n \"ST_GEOMETRYTYPE\",\n \"ST_GEOMFROMBINARY\",\n \"ST_INTERIORRINGN\",\n \"ST_INTERIORRINGS\",\n \"ST_INTERSECTION\",\n \"ST_INTERSECTS\",\n \"ST_ISCLOSED\",\n \"ST_ISEMPTY\",\n \"ST_ISRING\",\n \"ST_ISSIMPLE\",\n \"ST_ISVALID\",\n \"ST_LENGTH\",\n \"ST_LINEFROMTEXT\",\n \"ST_LINESTRING\",\n \"ST_MULTIPOINT\",\n \"ST_NUMGEOMETRIES\",\n \"ST_NUMINTERIORRING\",\n \"ST_NUMPOINTS\",\n \"ST_OVERLAPS\",\n \"ST_POINT\",\n \"ST_POINTN\",\n \"ST_POINTS\",\n \"ST_POLYGON\",\n \"ST_RELATE\",\n \"ST_STARTPOINT\",\n \"ST_SYMDIFFERENCE\",\n \"ST_TOUCHES\",\n \"ST_UNION\",\n \"ST_WITHIN\",\n \"ST_X\",\n \"ST_XMAX\",\n \"ST_XMIN\",\n \"ST_Y\",\n \"ST_YMAX\",\n \"ST_YMIN\",\n \"SUBSTR\",\n \"SUBSTRING\",\n \"SUM\",\n \"TAN\",\n \"TANH\",\n \"TDIGEST_AGG\",\n \"TIMESTAMP_OBJECTID\",\n \"TIMEZONE_HOUR\",\n \"TIMEZONE_MINUTE\",\n \"TO_BASE\",\n \"TO_BASE32\",\n \"TO_BASE64\",\n \"TO_BASE64URL\",\n \"TO_BIG_ENDIAN_32\",\n \"TO_BIG_ENDIAN_64\",\n \"TO_CHAR\",\n \"TO_DATE\",\n \"TO_ENCODED_POLYLINE\",\n \"TO_GEOJSON_GEOMETRY\",\n \"TO_GEOMETRY\",\n \"TO_HEX\",\n \"TO_IEEE754_32\",\n \"TO_IEEE754_64\",\n \"TO_ISO8601\",\n \"TO_MILLISECONDS\",\n \"TO_SPHERICAL_GEOGRAPHY\",\n \"TO_TIMESTAMP\",\n \"TO_UNIXTIME\",\n \"TO_UTF8\",\n \"TRANSFORM\",\n \"TRANSFORM_KEYS\",\n \"TRANSFORM_VALUES\",\n \"TRANSLATE\",\n \"TRIM\",\n \"TRIM_ARRAY\",\n \"TRUNCATE\",\n \"TRY\",\n \"TRY_CAST\",\n \"TYPEOF\",\n \"UPPER\",\n \"URL_DECODE\",\n \"URL_ENCODE\",\n \"URL_EXTRACT_FRAGMENT\",\n \"URL_EXTRACT_HOST\",\n \"URL_EXTRACT_PARAMETER\",\n \"URL_EXTRACT_PATH\",\n \"URL_EXTRACT_PORT\",\n \"URL_EXTRACT_PROTOCOL\",\n \"URL_EXTRACT_QUERY\",\n \"UUID\",\n \"VALUES_AT_QUANTILES\",\n \"VALUE_AT_QUANTILE\",\n \"VARIANCE\",\n \"VAR_POP\",\n \"VAR_SAMP\",\n \"VERSION\",\n \"WEEK\",\n \"WEEK_OF_YEAR\",\n \"WIDTH_BUCKET\",\n \"WILSON_INTERVAL_LOWER\",\n \"WILSON_INTERVAL_UPPER\",\n \"WITH_TIMEZONE\",\n \"WORD_STEM\",\n \"XXHASH64\",\n \"YEAR\",\n \"YEAR_OF_WEEK\",\n \"YOW\",\n \"ZIP\",\n \"ZIP_WITH\",\n // https://trino.io/docs/current/sql/match-recognize.html#row-pattern-recognition-expressions\n \"CLASSIFIER\",\n \"FIRST\",\n \"LAST\",\n \"MATCH_NUMBER\",\n \"NEXT\",\n \"PERMUTE\",\n \"PREV\"\n];\n\n// src/languages/trino/trino.keywords.ts\nvar keywords14 = [\n // https://github.com/trinodb/trino/blob/432d2897bdef99388c1a47188743a061c4ac1f34/core/trino-parser/src/main/antlr4/io/trino/sql/parser/SqlBase.g4#L858-L1128\n \"ABSENT\",\n \"ADD\",\n \"ADMIN\",\n \"AFTER\",\n \"ALL\",\n \"ALTER\",\n \"ANALYZE\",\n \"AND\",\n \"ANY\",\n \"AS\",\n \"ASC\",\n \"AT\",\n \"AUTHORIZATION\",\n \"BERNOULLI\",\n \"BETWEEN\",\n \"BOTH\",\n \"BY\",\n \"CALL\",\n \"CASCADE\",\n \"CASE\",\n \"CATALOGS\",\n \"COLUMN\",\n \"COLUMNS\",\n \"COMMENT\",\n \"COMMIT\",\n \"COMMITTED\",\n \"CONDITIONAL\",\n \"CONSTRAINT\",\n \"COPARTITION\",\n \"CREATE\",\n \"CROSS\",\n \"CUBE\",\n \"CURRENT\",\n \"CURRENT_PATH\",\n \"CURRENT_ROLE\",\n \"DATA\",\n \"DEALLOCATE\",\n \"DEFAULT\",\n \"DEFINE\",\n \"DEFINER\",\n \"DELETE\",\n \"DENY\",\n \"DESC\",\n \"DESCRIBE\",\n \"DESCRIPTOR\",\n \"DISTINCT\",\n \"DISTRIBUTED\",\n \"DOUBLE\",\n \"DROP\",\n \"ELSE\",\n \"EMPTY\",\n \"ENCODING\",\n \"END\",\n \"ERROR\",\n \"ESCAPE\",\n \"EXCEPT\",\n \"EXCLUDING\",\n \"EXECUTE\",\n \"EXISTS\",\n \"EXPLAIN\",\n \"FALSE\",\n \"FETCH\",\n \"FINAL\",\n \"FIRST\",\n \"FOLLOWING\",\n \"FOR\",\n \"FROM\",\n \"FULL\",\n \"FUNCTIONS\",\n \"GRANT\",\n \"GRANTED\",\n \"GRANTS\",\n \"GRAPHVIZ\",\n \"GROUP\",\n \"GROUPING\",\n \"GROUPS\",\n \"HAVING\",\n \"IGNORE\",\n \"IN\",\n \"INCLUDING\",\n \"INITIAL\",\n \"INNER\",\n \"INPUT\",\n \"INSERT\",\n \"INTERSECT\",\n \"INTERVAL\",\n \"INTO\",\n \"INVOKER\",\n \"IO\",\n \"IS\",\n \"ISOLATION\",\n \"JOIN\",\n \"JSON\",\n \"JSON_ARRAY\",\n \"JSON_OBJECT\",\n \"KEEP\",\n \"KEY\",\n \"KEYS\",\n \"LAST\",\n \"LATERAL\",\n \"LEADING\",\n \"LEFT\",\n \"LEVEL\",\n \"LIKE\",\n \"LIMIT\",\n \"LOCAL\",\n \"LOGICAL\",\n \"MATCH\",\n \"MATCHED\",\n \"MATCHES\",\n \"MATCH_RECOGNIZE\",\n \"MATERIALIZED\",\n \"MEASURES\",\n \"NATURAL\",\n \"NEXT\",\n \"NFC\",\n \"NFD\",\n \"NFKC\",\n \"NFKD\",\n \"NO\",\n \"NONE\",\n \"NOT\",\n \"NULL\",\n \"NULLS\",\n \"OBJECT\",\n \"OF\",\n \"OFFSET\",\n \"OMIT\",\n \"ON\",\n \"ONE\",\n \"ONLY\",\n \"OPTION\",\n \"OR\",\n \"ORDER\",\n \"ORDINALITY\",\n \"OUTER\",\n \"OUTPUT\",\n \"OVER\",\n \"OVERFLOW\",\n \"PARTITION\",\n \"PARTITIONS\",\n \"PASSING\",\n \"PAST\",\n \"PATH\",\n \"PATTERN\",\n \"PER\",\n \"PERMUTE\",\n \"PRECEDING\",\n \"PRECISION\",\n \"PREPARE\",\n \"PRIVILEGES\",\n \"PROPERTIES\",\n \"PRUNE\",\n \"QUOTES\",\n \"RANGE\",\n \"READ\",\n \"RECURSIVE\",\n \"REFRESH\",\n \"RENAME\",\n \"REPEATABLE\",\n \"RESET\",\n \"RESPECT\",\n \"RESTRICT\",\n \"RETURNING\",\n \"REVOKE\",\n \"RIGHT\",\n \"ROLE\",\n \"ROLES\",\n \"ROLLBACK\",\n \"ROLLUP\",\n \"ROW\",\n \"ROWS\",\n \"RUNNING\",\n \"SCALAR\",\n \"SCHEMA\",\n \"SCHEMAS\",\n \"SECURITY\",\n \"SEEK\",\n \"SELECT\",\n \"SERIALIZABLE\",\n \"SESSION\",\n \"SET\",\n \"SETS\",\n \"SHOW\",\n \"SKIP\",\n \"SOME\",\n \"START\",\n \"STATS\",\n \"STRING\",\n \"SUBSET\",\n \"SYSTEM\",\n \"TABLE\",\n \"TABLES\",\n \"TABLESAMPLE\",\n \"TEXT\",\n \"THEN\",\n \"TIES\",\n \"TIME\",\n \"TIMESTAMP\",\n \"TO\",\n \"TRAILING\",\n \"TRANSACTION\",\n \"TRUE\",\n \"TYPE\",\n \"UESCAPE\",\n \"UNBOUNDED\",\n \"UNCOMMITTED\",\n \"UNCONDITIONAL\",\n \"UNION\",\n \"UNIQUE\",\n \"UNKNOWN\",\n \"UNMATCHED\",\n \"UNNEST\",\n \"UPDATE\",\n \"USE\",\n \"USER\",\n \"USING\",\n \"UTF16\",\n \"UTF32\",\n \"UTF8\",\n \"VALIDATE\",\n \"VALUE\",\n \"VALUES\",\n \"VERBOSE\",\n \"VIEW\",\n \"WHEN\",\n \"WHERE\",\n \"WINDOW\",\n \"WITH\",\n \"WITHIN\",\n \"WITHOUT\",\n \"WORK\",\n \"WRAPPER\",\n \"WRITE\",\n \"ZONE\"\n];\nvar dataTypes14 = [\n // https://github.com/trinodb/trino/blob/432d2897bdef99388c1a47188743a061c4ac1f34/core/trino-main/src/main/java/io/trino/metadata/TypeRegistry.java#L131-L168\n // or https://trino.io/docs/current/language/types.html\n \"BIGINT\",\n \"INT\",\n \"INTEGER\",\n \"SMALLINT\",\n \"TINYINT\",\n \"BOOLEAN\",\n \"DATE\",\n \"DECIMAL\",\n \"REAL\",\n \"DOUBLE\",\n \"HYPERLOGLOG\",\n \"QDIGEST\",\n \"TDIGEST\",\n \"P4HYPERLOGLOG\",\n \"INTERVAL\",\n \"TIMESTAMP\",\n \"TIME\",\n \"VARBINARY\",\n \"VARCHAR\",\n \"CHAR\",\n \"ROW\",\n \"ARRAY\",\n \"MAP\",\n \"JSON\",\n \"JSON2016\",\n \"IPADDRESS\",\n \"GEOMETRY\",\n \"UUID\",\n \"SETDIGEST\",\n \"JONIREGEXP\",\n \"RE2JREGEXP\",\n \"LIKEPATTERN\",\n \"COLOR\",\n \"CODEPOINTS\",\n \"FUNCTION\",\n \"JSONPATH\"\n];\n\n// src/languages/trino/trino.formatter.ts\nvar reservedSelect14 = expandPhrases([\"SELECT [ALL | DISTINCT]\"]);\nvar reservedClauses14 = expandPhrases([\n // queries\n \"WITH [RECURSIVE]\",\n \"FROM\",\n \"WHERE\",\n \"GROUP BY [ALL | DISTINCT]\",\n \"HAVING\",\n \"WINDOW\",\n \"PARTITION BY\",\n \"ORDER BY\",\n \"LIMIT\",\n \"OFFSET\",\n \"FETCH {FIRST | NEXT}\",\n // Data manipulation\n // - insert:\n \"INSERT INTO\",\n \"VALUES\",\n // - update:\n \"SET\",\n // MATCH_RECOGNIZE\n \"MATCH_RECOGNIZE\",\n \"MEASURES\",\n \"ONE ROW PER MATCH\",\n \"ALL ROWS PER MATCH\",\n \"AFTER MATCH\",\n \"PATTERN\",\n \"SUBSET\",\n \"DEFINE\"\n]);\nvar onelineClauses14 = expandPhrases([\n // - create:\n \"CREATE TABLE [IF NOT EXISTS]\",\n \"CREATE [OR REPLACE] [MATERIALIZED] VIEW\",\n // - update:\n \"UPDATE\",\n // - delete:\n \"DELETE FROM\",\n // - drop table:\n \"DROP TABLE [IF EXISTS]\",\n // - alter table:\n \"ALTER TABLE [IF EXISTS]\",\n \"ADD COLUMN [IF NOT EXISTS]\",\n \"DROP COLUMN [IF EXISTS]\",\n \"RENAME COLUMN [IF EXISTS]\",\n \"RENAME TO\",\n \"SET AUTHORIZATION [USER | ROLE]\",\n \"SET PROPERTIES\",\n \"EXECUTE\",\n // - truncate:\n \"TRUNCATE TABLE\",\n // other\n \"ALTER SCHEMA\",\n \"ALTER MATERIALIZED VIEW\",\n \"ALTER VIEW\",\n \"CREATE SCHEMA\",\n \"CREATE ROLE\",\n \"DROP SCHEMA\",\n \"DROP MATERIALIZED VIEW\",\n \"DROP VIEW\",\n \"DROP ROLE\",\n // Auxiliary\n \"EXPLAIN\",\n \"ANALYZE\",\n \"EXPLAIN ANALYZE\",\n \"EXPLAIN ANALYZE VERBOSE\",\n \"USE\",\n \"DESCRIBE INPUT\",\n \"DESCRIBE OUTPUT\",\n \"REFRESH MATERIALIZED VIEW\",\n \"RESET SESSION\",\n \"SET SESSION\",\n \"SET PATH\",\n \"SET TIME ZONE\",\n \"SHOW GRANTS\",\n \"SHOW CREATE TABLE\",\n \"SHOW CREATE SCHEMA\",\n \"SHOW CREATE VIEW\",\n \"SHOW CREATE MATERIALIZED VIEW\",\n \"SHOW TABLES\",\n \"SHOW SCHEMAS\",\n \"SHOW CATALOGS\",\n \"SHOW COLUMNS\",\n \"SHOW STATS FOR\",\n \"SHOW ROLES\",\n \"SHOW CURRENT ROLES\",\n \"SHOW ROLE GRANTS\",\n \"SHOW FUNCTIONS\",\n \"SHOW SESSION\"\n]);\nvar reservedSetOperations14 = expandPhrases([\n \"UNION [ALL | DISTINCT]\",\n \"EXCEPT [ALL | DISTINCT]\",\n \"INTERSECT [ALL | DISTINCT]\"\n]);\nvar reservedJoins14 = expandPhrases([\n \"JOIN\",\n \"{LEFT | RIGHT | FULL} [OUTER] JOIN\",\n \"{INNER | CROSS} JOIN\",\n \"NATURAL [INNER] JOIN\",\n \"NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN\"\n]);\nvar reservedPhrases14 = expandPhrases([\n \"{ROWS | RANGE | GROUPS} BETWEEN\",\n // comparison operator\n \"IS [NOT] DISTINCT FROM\"\n]);\nvar trino = {\n name: \"trino\",\n tokenizerOptions: {\n reservedSelect: reservedSelect14,\n reservedClauses: [...reservedClauses14, ...onelineClauses14],\n reservedSetOperations: reservedSetOperations14,\n reservedJoins: reservedJoins14,\n reservedPhrases: reservedPhrases14,\n reservedKeywords: keywords14,\n reservedDataTypes: dataTypes14,\n reservedFunctionNames: functions14,\n // Trino also supports {- ... -} parenthesis.\n // The formatting of these currently works out as a result of { and -\n // not getting a space added in-between.\n // https://trino.io/docs/current/sql/match-recognize.html#row-pattern-syntax\n extraParens: [\"[]\", \"{}\"],\n // https://trino.io/docs/current/language/types.html#string\n // https://trino.io/docs/current/language/types.html#varbinary\n stringTypes: [\n { quote: \"''-qq\", prefixes: [\"U&\"] },\n { quote: \"''-raw\", prefixes: [\"X\"], requirePrefix: true }\n ],\n // https://trino.io/docs/current/language/reserved.html\n identTypes: ['\"\"-qq'],\n paramTypes: { positional: true },\n operators: [\n \"%\",\n \"->\",\n \"=>\",\n \":\",\n \"||\",\n // Row pattern syntax\n \"|\",\n \"^\",\n \"$\"\n // '?', conflicts with positional placeholders\n ]\n },\n formatOptions: {\n onelineClauses: onelineClauses14\n }\n};\n\n// src/languages/transactsql/transactsql.functions.ts\nvar functions15 = [\n // https://docs.microsoft.com/en-us/sql/t-sql/functions/functions?view=sql-server-ver15\n // aggregate\n \"APPROX_COUNT_DISTINCT\",\n \"AVG\",\n \"CHECKSUM_AGG\",\n \"COUNT\",\n \"COUNT_BIG\",\n \"GROUPING\",\n \"GROUPING_ID\",\n \"MAX\",\n \"MIN\",\n \"STDEV\",\n \"STDEVP\",\n \"SUM\",\n \"VAR\",\n \"VARP\",\n // analytic\n \"CUME_DIST\",\n \"FIRST_VALUE\",\n \"LAG\",\n \"LAST_VALUE\",\n \"LEAD\",\n \"PERCENTILE_CONT\",\n \"PERCENTILE_DISC\",\n \"PERCENT_RANK\",\n \"Collation - COLLATIONPROPERTY\",\n \"Collation - TERTIARY_WEIGHTS\",\n // configuration\n \"@@DBTS\",\n \"@@LANGID\",\n \"@@LANGUAGE\",\n \"@@LOCK_TIMEOUT\",\n \"@@MAX_CONNECTIONS\",\n \"@@MAX_PRECISION\",\n \"@@NESTLEVEL\",\n \"@@OPTIONS\",\n \"@@REMSERVER\",\n \"@@SERVERNAME\",\n \"@@SERVICENAME\",\n \"@@SPID\",\n \"@@TEXTSIZE\",\n \"@@VERSION\",\n // conversion\n \"CAST\",\n \"CONVERT\",\n \"PARSE\",\n \"TRY_CAST\",\n \"TRY_CONVERT\",\n \"TRY_PARSE\",\n // cryptographic\n \"ASYMKEY_ID\",\n \"ASYMKEYPROPERTY\",\n \"CERTPROPERTY\",\n \"CERT_ID\",\n \"CRYPT_GEN_RANDOM\",\n \"DECRYPTBYASYMKEY\",\n \"DECRYPTBYCERT\",\n \"DECRYPTBYKEY\",\n \"DECRYPTBYKEYAUTOASYMKEY\",\n \"DECRYPTBYKEYAUTOCERT\",\n \"DECRYPTBYPASSPHRASE\",\n \"ENCRYPTBYASYMKEY\",\n \"ENCRYPTBYCERT\",\n \"ENCRYPTBYKEY\",\n \"ENCRYPTBYPASSPHRASE\",\n \"HASHBYTES\",\n \"IS_OBJECTSIGNED\",\n \"KEY_GUID\",\n \"KEY_ID\",\n \"KEY_NAME\",\n \"SIGNBYASYMKEY\",\n \"SIGNBYCERT\",\n \"SYMKEYPROPERTY\",\n \"VERIFYSIGNEDBYCERT\",\n \"VERIFYSIGNEDBYASYMKEY\",\n // cursor\n \"@@CURSOR_ROWS\",\n \"@@FETCH_STATUS\",\n \"CURSOR_STATUS\",\n // dataType\n \"DATALENGTH\",\n \"IDENT_CURRENT\",\n \"IDENT_INCR\",\n \"IDENT_SEED\",\n \"IDENTITY\",\n \"SQL_VARIANT_PROPERTY\",\n // datetime\n \"@@DATEFIRST\",\n \"CURRENT_TIMESTAMP\",\n \"CURRENT_TIMEZONE\",\n \"CURRENT_TIMEZONE_ID\",\n \"DATEADD\",\n \"DATEDIFF\",\n \"DATEDIFF_BIG\",\n \"DATEFROMPARTS\",\n \"DATENAME\",\n \"DATEPART\",\n \"DATETIME2FROMPARTS\",\n \"DATETIMEFROMPARTS\",\n \"DATETIMEOFFSETFROMPARTS\",\n \"DAY\",\n \"EOMONTH\",\n \"GETDATE\",\n \"GETUTCDATE\",\n \"ISDATE\",\n \"MONTH\",\n \"SMALLDATETIMEFROMPARTS\",\n \"SWITCHOFFSET\",\n \"SYSDATETIME\",\n \"SYSDATETIMEOFFSET\",\n \"SYSUTCDATETIME\",\n \"TIMEFROMPARTS\",\n \"TODATETIMEOFFSET\",\n \"YEAR\",\n \"JSON\",\n \"ISJSON\",\n \"JSON_VALUE\",\n \"JSON_QUERY\",\n \"JSON_MODIFY\",\n // mathematical\n \"ABS\",\n \"ACOS\",\n \"ASIN\",\n \"ATAN\",\n \"ATN2\",\n \"CEILING\",\n \"COS\",\n \"COT\",\n \"DEGREES\",\n \"EXP\",\n \"FLOOR\",\n \"LOG\",\n \"LOG10\",\n \"PI\",\n \"POWER\",\n \"RADIANS\",\n \"RAND\",\n \"ROUND\",\n \"SIGN\",\n \"SIN\",\n \"SQRT\",\n \"SQUARE\",\n \"TAN\",\n \"CHOOSE\",\n \"GREATEST\",\n \"IIF\",\n \"LEAST\",\n // metadata\n \"@@PROCID\",\n \"APP_NAME\",\n \"APPLOCK_MODE\",\n \"APPLOCK_TEST\",\n \"ASSEMBLYPROPERTY\",\n \"COL_LENGTH\",\n \"COL_NAME\",\n \"COLUMNPROPERTY\",\n \"DATABASEPROPERTYEX\",\n \"DB_ID\",\n \"DB_NAME\",\n \"FILE_ID\",\n \"FILE_IDEX\",\n \"FILE_NAME\",\n \"FILEGROUP_ID\",\n \"FILEGROUP_NAME\",\n \"FILEGROUPPROPERTY\",\n \"FILEPROPERTY\",\n \"FILEPROPERTYEX\",\n \"FULLTEXTCATALOGPROPERTY\",\n \"FULLTEXTSERVICEPROPERTY\",\n \"INDEX_COL\",\n \"INDEXKEY_PROPERTY\",\n \"INDEXPROPERTY\",\n \"NEXT VALUE FOR\",\n \"OBJECT_DEFINITION\",\n \"OBJECT_ID\",\n \"OBJECT_NAME\",\n \"OBJECT_SCHEMA_NAME\",\n \"OBJECTPROPERTY\",\n \"OBJECTPROPERTYEX\",\n \"ORIGINAL_DB_NAME\",\n \"PARSENAME\",\n \"SCHEMA_ID\",\n \"SCHEMA_NAME\",\n \"SCOPE_IDENTITY\",\n \"SERVERPROPERTY\",\n \"STATS_DATE\",\n \"TYPE_ID\",\n \"TYPE_NAME\",\n \"TYPEPROPERTY\",\n // ranking\n \"DENSE_RANK\",\n \"NTILE\",\n \"RANK\",\n \"ROW_NUMBER\",\n \"PUBLISHINGSERVERNAME\",\n // security\n \"CERTENCODED\",\n \"CERTPRIVATEKEY\",\n \"CURRENT_USER\",\n \"DATABASE_PRINCIPAL_ID\",\n \"HAS_DBACCESS\",\n \"HAS_PERMS_BY_NAME\",\n \"IS_MEMBER\",\n \"IS_ROLEMEMBER\",\n \"IS_SRVROLEMEMBER\",\n \"LOGINPROPERTY\",\n \"ORIGINAL_LOGIN\",\n \"PERMISSIONS\",\n \"PWDENCRYPT\",\n \"PWDCOMPARE\",\n \"SESSION_USER\",\n \"SESSIONPROPERTY\",\n \"SUSER_ID\",\n \"SUSER_NAME\",\n \"SUSER_SID\",\n \"SUSER_SNAME\",\n \"SYSTEM_USER\",\n \"USER\",\n \"USER_ID\",\n \"USER_NAME\",\n // string\n \"ASCII\",\n \"CHAR\",\n \"CHARINDEX\",\n \"CONCAT\",\n \"CONCAT_WS\",\n \"DIFFERENCE\",\n \"FORMAT\",\n \"LEFT\",\n \"LEN\",\n \"LOWER\",\n \"LTRIM\",\n \"NCHAR\",\n \"PATINDEX\",\n \"QUOTENAME\",\n \"REPLACE\",\n \"REPLICATE\",\n \"REVERSE\",\n \"RIGHT\",\n \"RTRIM\",\n \"SOUNDEX\",\n \"SPACE\",\n \"STR\",\n \"STRING_AGG\",\n \"STRING_ESCAPE\",\n \"STUFF\",\n \"SUBSTRING\",\n \"TRANSLATE\",\n \"TRIM\",\n \"UNICODE\",\n \"UPPER\",\n // system\n \"$PARTITION\",\n \"@@ERROR\",\n \"@@IDENTITY\",\n \"@@PACK_RECEIVED\",\n \"@@ROWCOUNT\",\n \"@@TRANCOUNT\",\n \"BINARY_CHECKSUM\",\n \"CHECKSUM\",\n \"COMPRESS\",\n \"CONNECTIONPROPERTY\",\n \"CONTEXT_INFO\",\n \"CURRENT_REQUEST_ID\",\n \"CURRENT_TRANSACTION_ID\",\n \"DECOMPRESS\",\n \"ERROR_LINE\",\n \"ERROR_MESSAGE\",\n \"ERROR_NUMBER\",\n \"ERROR_PROCEDURE\",\n \"ERROR_SEVERITY\",\n \"ERROR_STATE\",\n \"FORMATMESSAGE\",\n \"GET_FILESTREAM_TRANSACTION_CONTEXT\",\n \"GETANSINULL\",\n \"HOST_ID\",\n \"HOST_NAME\",\n \"ISNULL\",\n \"ISNUMERIC\",\n \"MIN_ACTIVE_ROWVERSION\",\n \"NEWID\",\n \"NEWSEQUENTIALID\",\n \"ROWCOUNT_BIG\",\n \"SESSION_CONTEXT\",\n \"XACT_STATE\",\n // statistical\n \"@@CONNECTIONS\",\n \"@@CPU_BUSY\",\n \"@@IDLE\",\n \"@@IO_BUSY\",\n \"@@PACK_SENT\",\n \"@@PACKET_ERRORS\",\n \"@@TIMETICKS\",\n \"@@TOTAL_ERRORS\",\n \"@@TOTAL_READ\",\n \"@@TOTAL_WRITE\",\n \"TEXTPTR\",\n \"TEXTVALID\",\n // trigger\n \"COLUMNS_UPDATED\",\n \"EVENTDATA\",\n \"TRIGGER_NESTLEVEL\",\n \"UPDATE\",\n // Shorthand functions to use in place of CASE expression\n \"COALESCE\",\n \"NULLIF\"\n];\n\n// src/languages/transactsql/transactsql.keywords.ts\nvar keywords15 = [\n // https://docs.microsoft.com/en-us/sql/t-sql/language-elements/reserved-keywords-transact-sql?view=sql-server-ver15\n // standard\n \"ADD\",\n \"ALL\",\n \"ALTER\",\n \"AND\",\n \"ANY\",\n \"AS\",\n \"ASC\",\n \"AUTHORIZATION\",\n \"BACKUP\",\n \"BEGIN\",\n \"BETWEEN\",\n \"BREAK\",\n \"BROWSE\",\n \"BULK\",\n \"BY\",\n \"CASCADE\",\n \"CHECK\",\n \"CHECKPOINT\",\n \"CLOSE\",\n \"CLUSTERED\",\n \"COALESCE\",\n \"COLLATE\",\n \"COLUMN\",\n \"COMMIT\",\n \"COMPUTE\",\n \"CONSTRAINT\",\n \"CONTAINS\",\n \"CONTAINSTABLE\",\n \"CONTINUE\",\n \"CONVERT\",\n \"CREATE\",\n \"CROSS\",\n \"CURRENT\",\n \"CURRENT_DATE\",\n \"CURRENT_TIME\",\n \"CURRENT_TIMESTAMP\",\n \"CURRENT_USER\",\n \"CURSOR\",\n \"DATABASE\",\n \"DBCC\",\n \"DEALLOCATE\",\n \"DECLARE\",\n \"DEFAULT\",\n \"DELETE\",\n \"DENY\",\n \"DESC\",\n \"DISK\",\n \"DISTINCT\",\n \"DISTRIBUTED\",\n \"DROP\",\n \"DUMP\",\n \"ERRLVL\",\n \"ESCAPE\",\n \"EXEC\",\n \"EXECUTE\",\n \"EXISTS\",\n \"EXIT\",\n \"EXTERNAL\",\n \"FETCH\",\n \"FILE\",\n \"FILLFACTOR\",\n \"FOR\",\n \"FOREIGN\",\n \"FREETEXT\",\n \"FREETEXTTABLE\",\n \"FROM\",\n \"FULL\",\n \"FUNCTION\",\n \"GOTO\",\n \"GRANT\",\n \"GROUP\",\n \"HAVING\",\n \"HOLDLOCK\",\n \"IDENTITY\",\n \"IDENTITYCOL\",\n \"IDENTITY_INSERT\",\n \"IF\",\n \"IN\",\n \"INDEX\",\n \"INNER\",\n \"INSERT\",\n \"INTERSECT\",\n \"INTO\",\n \"IS\",\n \"JOIN\",\n \"KEY\",\n \"KILL\",\n \"LEFT\",\n \"LIKE\",\n \"LINENO\",\n \"LOAD\",\n \"MERGE\",\n \"NOCHECK\",\n \"NONCLUSTERED\",\n \"NOT\",\n \"NULL\",\n \"NULLIF\",\n \"OF\",\n \"OFF\",\n \"OFFSETS\",\n \"ON\",\n \"OPEN\",\n \"OPENDATASOURCE\",\n \"OPENQUERY\",\n \"OPENROWSET\",\n \"OPENXML\",\n \"OPTION\",\n \"OR\",\n \"ORDER\",\n \"OUTER\",\n \"OVER\",\n \"PERCENT\",\n \"PIVOT\",\n \"PLAN\",\n \"PRIMARY\",\n \"PRINT\",\n \"PROC\",\n \"PROCEDURE\",\n \"PUBLIC\",\n \"RAISERROR\",\n \"READ\",\n \"READTEXT\",\n \"RECONFIGURE\",\n \"REFERENCES\",\n \"REPLICATION\",\n \"RESTORE\",\n \"RESTRICT\",\n \"RETURN\",\n \"REVERT\",\n \"REVOKE\",\n \"RIGHT\",\n \"ROLLBACK\",\n \"ROWCOUNT\",\n \"ROWGUIDCOL\",\n \"RULE\",\n \"SAVE\",\n \"SCHEMA\",\n \"SECURITYAUDIT\",\n \"SELECT\",\n \"SEMANTICKEYPHRASETABLE\",\n \"SEMANTICSIMILARITYDETAILSTABLE\",\n \"SEMANTICSIMILARITYTABLE\",\n \"SESSION_USER\",\n \"SET\",\n \"SETUSER\",\n \"SHUTDOWN\",\n \"SOME\",\n \"STATISTICS\",\n \"SYSTEM_USER\",\n \"TABLE\",\n \"TABLESAMPLE\",\n \"TEXTSIZE\",\n \"THEN\",\n \"TO\",\n \"TOP\",\n \"TRAN\",\n \"TRANSACTION\",\n \"TRIGGER\",\n \"TRUNCATE\",\n \"TRY_CONVERT\",\n \"TSEQUAL\",\n \"UNION\",\n \"UNIQUE\",\n \"UNPIVOT\",\n \"UPDATE\",\n \"UPDATETEXT\",\n \"USE\",\n \"USER\",\n \"VALUES\",\n \"VIEW\",\n \"WAITFOR\",\n \"WHERE\",\n \"WHILE\",\n \"WITH\",\n \"WITHIN GROUP\",\n \"WRITETEXT\",\n // odbc\n \"ABSOLUTE\",\n \"ACTION\",\n \"ADA\",\n \"ALLOCATE\",\n \"ARE\",\n \"ASSERTION\",\n \"AT\",\n \"AVG\",\n \"BIT_LENGTH\",\n \"BOTH\",\n \"CASCADED\",\n \"CAST\",\n \"CATALOG\",\n \"CHARACTER_LENGTH\",\n \"CHAR_LENGTH\",\n \"COLLATION\",\n \"CONNECT\",\n \"CONNECTION\",\n \"CONSTRAINTS\",\n \"CORRESPONDING\",\n \"COUNT\",\n \"DAY\",\n \"DEFERRABLE\",\n \"DEFERRED\",\n \"DESCRIBE\",\n \"DESCRIPTOR\",\n \"DIAGNOSTICS\",\n \"DISCONNECT\",\n \"DOMAIN\",\n \"END-EXEC\",\n \"EXCEPTION\",\n \"EXTRACT\",\n \"FALSE\",\n \"FIRST\",\n \"FORTRAN\",\n \"FOUND\",\n \"GET\",\n \"GLOBAL\",\n \"GO\",\n \"HOUR\",\n \"IMMEDIATE\",\n \"INCLUDE\",\n \"INDICATOR\",\n \"INITIALLY\",\n \"INPUT\",\n \"INSENSITIVE\",\n \"INTERVAL\",\n \"ISOLATION\",\n \"LANGUAGE\",\n \"LAST\",\n \"LEADING\",\n \"LEVEL\",\n \"LOCAL\",\n \"LOWER\",\n \"MATCH\",\n \"MAX\",\n \"MIN\",\n \"MINUTE\",\n \"MODULE\",\n \"MONTH\",\n \"NAMES\",\n \"NATURAL\",\n \"NEXT\",\n \"NO\",\n \"NONE\",\n \"OCTET_LENGTH\",\n \"ONLY\",\n \"OUTPUT\",\n \"OVERLAPS\",\n \"PAD\",\n \"PARTIAL\",\n \"PASCAL\",\n \"POSITION\",\n \"PREPARE\",\n \"PRESERVE\",\n \"PRIOR\",\n \"PRIVILEGES\",\n \"RELATIVE\",\n \"ROWS\",\n \"SCROLL\",\n \"SECOND\",\n \"SECTION\",\n \"SESSION\",\n \"SIZE\",\n \"SPACE\",\n \"SQL\",\n \"SQLCA\",\n \"SQLCODE\",\n \"SQLERROR\",\n \"SQLSTATE\",\n \"SQLWARNING\",\n \"SUBSTRING\",\n \"SUM\",\n \"TEMPORARY\",\n \"TIMEZONE_HOUR\",\n \"TIMEZONE_MINUTE\",\n \"TRAILING\",\n \"TRANSLATE\",\n \"TRANSLATION\",\n \"TRIM\",\n \"TRUE\",\n \"UNKNOWN\",\n \"UPPER\",\n \"USAGE\",\n \"VALUE\",\n \"WHENEVER\",\n \"WORK\",\n \"WRITE\",\n \"YEAR\",\n \"ZONE\"\n];\nvar dataTypes15 = [\n // https://learn.microsoft.com/en-us/sql/t-sql/data-types/data-types-transact-sql?view=sql-server-ver15\n \"BINARY\",\n \"BIT\",\n \"CHAR\",\n \"CHAR\",\n \"CHARACTER\",\n \"DATE\",\n \"DATETIME2\",\n \"DATETIMEOFFSET\",\n \"DEC\",\n \"DECIMAL\",\n \"DOUBLE\",\n \"FLOAT\",\n \"INT\",\n \"INTEGER\",\n \"NATIONAL\",\n \"NCHAR\",\n \"NUMERIC\",\n \"NVARCHAR\",\n \"PRECISION\",\n \"REAL\",\n \"SMALLINT\",\n \"TIME\",\n \"TIMESTAMP\",\n \"VARBINARY\",\n \"VARCHAR\"\n];\n\n// src/languages/transactsql/transactsql.formatter.ts\nvar reservedSelect15 = expandPhrases([\"SELECT [ALL | DISTINCT]\"]);\nvar reservedClauses15 = expandPhrases([\n // queries\n \"WITH\",\n \"INTO\",\n \"FROM\",\n \"WHERE\",\n \"GROUP BY\",\n \"HAVING\",\n \"WINDOW\",\n \"PARTITION BY\",\n \"ORDER BY\",\n \"OFFSET\",\n \"FETCH {FIRST | NEXT}\",\n // Data manipulation\n // - insert:\n \"INSERT [INTO]\",\n \"VALUES\",\n // - update:\n \"SET\",\n // - merge:\n \"MERGE [INTO]\",\n \"WHEN [NOT] MATCHED [BY TARGET | BY SOURCE] [THEN]\",\n \"UPDATE SET\",\n // Data definition\n \"CREATE [OR ALTER] {PROC | PROCEDURE}\"\n]);\nvar onelineClauses15 = expandPhrases([\n // - create:\n \"CREATE TABLE\",\n \"CREATE [OR ALTER] [MATERIALIZED] VIEW\",\n // - update:\n \"UPDATE\",\n \"WHERE CURRENT OF\",\n // - delete:\n \"DELETE [FROM]\",\n // - drop table:\n \"DROP TABLE [IF EXISTS]\",\n // - alter table:\n \"ALTER TABLE\",\n \"ADD\",\n \"DROP COLUMN [IF EXISTS]\",\n \"ALTER COLUMN\",\n // - truncate:\n \"TRUNCATE TABLE\",\n // https://docs.microsoft.com/en-us/sql/t-sql/statements/statements?view=sql-server-ver15\n \"ADD SENSITIVITY CLASSIFICATION\",\n \"ADD SIGNATURE\",\n \"AGGREGATE\",\n \"ANSI_DEFAULTS\",\n \"ANSI_NULLS\",\n \"ANSI_NULL_DFLT_OFF\",\n \"ANSI_NULL_DFLT_ON\",\n \"ANSI_PADDING\",\n \"ANSI_WARNINGS\",\n \"APPLICATION ROLE\",\n \"ARITHABORT\",\n \"ARITHIGNORE\",\n \"ASSEMBLY\",\n \"ASYMMETRIC KEY\",\n \"AUTHORIZATION\",\n \"AVAILABILITY GROUP\",\n \"BACKUP\",\n \"BACKUP CERTIFICATE\",\n \"BACKUP MASTER KEY\",\n \"BACKUP SERVICE MASTER KEY\",\n \"BEGIN CONVERSATION TIMER\",\n \"BEGIN DIALOG CONVERSATION\",\n \"BROKER PRIORITY\",\n \"BULK INSERT\",\n \"CERTIFICATE\",\n \"CLOSE MASTER KEY\",\n \"CLOSE SYMMETRIC KEY\",\n \"COLLATE\",\n \"COLUMN ENCRYPTION KEY\",\n \"COLUMN MASTER KEY\",\n \"COLUMNSTORE INDEX\",\n \"CONCAT_NULL_YIELDS_NULL\",\n \"CONTEXT_INFO\",\n \"CONTRACT\",\n \"CREDENTIAL\",\n \"CRYPTOGRAPHIC PROVIDER\",\n \"CURSOR_CLOSE_ON_COMMIT\",\n \"DATABASE\",\n \"DATABASE AUDIT SPECIFICATION\",\n \"DATABASE ENCRYPTION KEY\",\n \"DATABASE HADR\",\n \"DATABASE SCOPED CONFIGURATION\",\n \"DATABASE SCOPED CREDENTIAL\",\n \"DATABASE SET\",\n \"DATEFIRST\",\n \"DATEFORMAT\",\n \"DEADLOCK_PRIORITY\",\n \"DENY\",\n \"DENY XML\",\n \"DISABLE TRIGGER\",\n \"ENABLE TRIGGER\",\n \"END CONVERSATION\",\n \"ENDPOINT\",\n \"EVENT NOTIFICATION\",\n \"EVENT SESSION\",\n \"EXECUTE AS\",\n \"EXTERNAL DATA SOURCE\",\n \"EXTERNAL FILE FORMAT\",\n \"EXTERNAL LANGUAGE\",\n \"EXTERNAL LIBRARY\",\n \"EXTERNAL RESOURCE POOL\",\n \"EXTERNAL TABLE\",\n \"FIPS_FLAGGER\",\n \"FMTONLY\",\n \"FORCEPLAN\",\n \"FULLTEXT CATALOG\",\n \"FULLTEXT INDEX\",\n \"FULLTEXT STOPLIST\",\n \"FUNCTION\",\n \"GET CONVERSATION GROUP\",\n \"GET_TRANSMISSION_STATUS\",\n \"GRANT\",\n \"GRANT XML\",\n \"IDENTITY_INSERT\",\n \"IMPLICIT_TRANSACTIONS\",\n \"INDEX\",\n \"LANGUAGE\",\n \"LOCK_TIMEOUT\",\n \"LOGIN\",\n \"MASTER KEY\",\n \"MESSAGE TYPE\",\n \"MOVE CONVERSATION\",\n \"NOCOUNT\",\n \"NOEXEC\",\n \"NUMERIC_ROUNDABORT\",\n \"OFFSETS\",\n \"OPEN MASTER KEY\",\n \"OPEN SYMMETRIC KEY\",\n \"PARSEONLY\",\n \"PARTITION FUNCTION\",\n \"PARTITION SCHEME\",\n \"PROCEDURE\",\n \"QUERY_GOVERNOR_COST_LIMIT\",\n \"QUEUE\",\n \"QUOTED_IDENTIFIER\",\n \"RECEIVE\",\n \"REMOTE SERVICE BINDING\",\n \"REMOTE_PROC_TRANSACTIONS\",\n \"RESOURCE GOVERNOR\",\n \"RESOURCE POOL\",\n \"RESTORE\",\n \"RESTORE FILELISTONLY\",\n \"RESTORE HEADERONLY\",\n \"RESTORE LABELONLY\",\n \"RESTORE MASTER KEY\",\n \"RESTORE REWINDONLY\",\n \"RESTORE SERVICE MASTER KEY\",\n \"RESTORE VERIFYONLY\",\n \"REVERT\",\n \"REVOKE\",\n \"REVOKE XML\",\n \"ROLE\",\n \"ROUTE\",\n \"ROWCOUNT\",\n \"RULE\",\n \"SCHEMA\",\n \"SEARCH PROPERTY LIST\",\n \"SECURITY POLICY\",\n \"SELECTIVE XML INDEX\",\n \"SEND\",\n \"SENSITIVITY CLASSIFICATION\",\n \"SEQUENCE\",\n \"SERVER AUDIT\",\n \"SERVER AUDIT SPECIFICATION\",\n \"SERVER CONFIGURATION\",\n \"SERVER ROLE\",\n \"SERVICE\",\n \"SERVICE MASTER KEY\",\n \"SETUSER\",\n \"SHOWPLAN_ALL\",\n \"SHOWPLAN_TEXT\",\n \"SHOWPLAN_XML\",\n \"SIGNATURE\",\n \"SPATIAL INDEX\",\n \"STATISTICS\",\n \"STATISTICS IO\",\n \"STATISTICS PROFILE\",\n \"STATISTICS TIME\",\n \"STATISTICS XML\",\n \"SYMMETRIC KEY\",\n \"SYNONYM\",\n \"TABLE\",\n \"TABLE IDENTITY\",\n \"TEXTSIZE\",\n \"TRANSACTION ISOLATION LEVEL\",\n \"TRIGGER\",\n \"TYPE\",\n \"UPDATE STATISTICS\",\n \"USER\",\n \"WORKLOAD GROUP\",\n \"XACT_ABORT\",\n \"XML INDEX\",\n \"XML SCHEMA COLLECTION\"\n]);\nvar reservedSetOperations15 = expandPhrases([\"UNION [ALL]\", \"EXCEPT\", \"INTERSECT\"]);\nvar reservedJoins15 = expandPhrases([\n \"JOIN\",\n \"{LEFT | RIGHT | FULL} [OUTER] JOIN\",\n \"{INNER | CROSS} JOIN\",\n // non-standard joins\n \"{CROSS | OUTER} APPLY\"\n]);\nvar reservedPhrases15 = expandPhrases([\n \"ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]\",\n \"{ROWS | RANGE} BETWEEN\"\n]);\nvar transactsql = {\n name: \"transactsql\",\n tokenizerOptions: {\n reservedSelect: reservedSelect15,\n reservedClauses: [...reservedClauses15, ...onelineClauses15],\n reservedSetOperations: reservedSetOperations15,\n reservedJoins: reservedJoins15,\n reservedPhrases: reservedPhrases15,\n reservedKeywords: keywords15,\n reservedDataTypes: dataTypes15,\n reservedFunctionNames: functions15,\n nestedBlockComments: true,\n stringTypes: [{ quote: \"''-qq\", prefixes: [\"N\"] }],\n identTypes: [`\"\"-qq`, \"[]\"],\n identChars: { first: \"#@\", rest: \"#@$\" },\n paramTypes: { named: [\"@\"], quoted: [\"@\"] },\n operators: [\n \"%\",\n \"&\",\n \"|\",\n \"^\",\n \"~\",\n \"!<\",\n \"!>\",\n \"+=\",\n \"-=\",\n \"*=\",\n \"/=\",\n \"%=\",\n \"|=\",\n \"&=\",\n \"^=\",\n \"::\",\n \":\"\n ]\n // TODO: Support for money constants\n },\n formatOptions: {\n alwaysDenseOperators: [\"::\"],\n onelineClauses: onelineClauses15\n }\n};\n\n// src/languages/singlestoredb/singlestoredb.keywords.ts\nvar keywords16 = [\n // List of all keywords taken from:\n // https://docs.singlestore.com/managed-service/en/reference/sql-reference/restricted-keywords/list-of-restricted-keywords.html\n // Then filtered down to reserved keywords by running\n // > SELECT * AS ;\n // for each keyword in that list and observing which of these produce an error.\n \"ADD\",\n \"ALL\",\n \"ALTER\",\n \"ANALYZE\",\n \"AND\",\n \"AS\",\n \"ASC\",\n \"ASENSITIVE\",\n \"BEFORE\",\n \"BETWEEN\",\n \"_BINARY\",\n \"BOTH\",\n \"BY\",\n \"CALL\",\n \"CASCADE\",\n \"CASE\",\n \"CHANGE\",\n \"CHECK\",\n \"COLLATE\",\n \"COLUMN\",\n \"CONDITION\",\n \"CONSTRAINT\",\n \"CONTINUE\",\n \"CONVERT\",\n \"CREATE\",\n \"CROSS\",\n \"CURRENT_DATE\",\n \"CURRENT_TIME\",\n \"CURRENT_TIMESTAMP\",\n \"CURRENT_USER\",\n \"CURSOR\",\n \"DATABASE\",\n \"DATABASES\",\n \"DAY_HOUR\",\n \"DAY_MICROSECOND\",\n \"DAY_MINUTE\",\n \"DAY_SECOND\",\n \"DECLARE\",\n \"DEFAULT\",\n \"DELAYED\",\n \"DELETE\",\n \"DESC\",\n \"DESCRIBE\",\n \"DETERMINISTIC\",\n \"DISTINCT\",\n \"DISTINCTROW\",\n \"DIV\",\n \"DROP\",\n \"DUAL\",\n \"EACH\",\n \"ELSE\",\n \"ELSEIF\",\n \"ENCLOSED\",\n \"ESCAPED\",\n \"EXCEPT\",\n \"EXISTS\",\n \"EXIT\",\n \"EXPLAIN\",\n \"EXTRA_JOIN\",\n \"FALSE\",\n \"FETCH\",\n \"FOR\",\n \"FORCE\",\n \"FORCE_COMPILED_MODE\",\n \"FORCE_INTERPRETER_MODE\",\n \"FOREIGN\",\n \"FROM\",\n \"FULL\",\n \"FULLTEXT\",\n \"GRANT\",\n \"GROUP\",\n \"HAVING\",\n \"HEARTBEAT_NO_LOGGING\",\n \"HIGH_PRIORITY\",\n \"HOUR_MICROSECOND\",\n \"HOUR_MINUTE\",\n \"HOUR_SECOND\",\n \"IF\",\n \"IGNORE\",\n \"IN\",\n \"INDEX\",\n \"INFILE\",\n \"INNER\",\n \"INOUT\",\n \"INSENSITIVE\",\n \"INSERT\",\n \"IN\",\n \"_INTERNAL_DYNAMIC_TYPECAST\",\n \"INTERSECT\",\n \"INTERVAL\",\n \"INTO\",\n \"ITERATE\",\n \"JOIN\",\n \"KEY\",\n \"KEYS\",\n \"KILL\",\n \"LEADING\",\n \"LEAVE\",\n \"LEFT\",\n \"LIKE\",\n \"LIMIT\",\n \"LINES\",\n \"LOAD\",\n \"LOCALTIME\",\n \"LOCALTIMESTAMP\",\n \"LOCK\",\n \"LOOP\",\n \"LOW_PRIORITY\",\n \"MATCH\",\n \"MAXVALUE\",\n \"MINUS\",\n \"MINUTE_MICROSECOND\",\n \"MINUTE_SECOND\",\n \"MOD\",\n \"MODIFIES\",\n \"NATURAL\",\n \"NO_QUERY_REWRITE\",\n \"NOT\",\n \"NO_WRITE_TO_BINLOG\",\n \"NO_QUERY_REWRITE\",\n \"NULL\",\n \"ON\",\n \"OPTIMIZE\",\n \"OPTION\",\n \"OPTIONALLY\",\n \"OR\",\n \"ORDER\",\n \"OUT\",\n \"OUTER\",\n \"OUTFILE\",\n \"OVER\",\n \"PRIMARY\",\n \"PROCEDURE\",\n \"PURGE\",\n \"RANGE\",\n \"READ\",\n \"READS\",\n \"REFERENCES\",\n \"REGEXP\",\n \"RELEASE\",\n \"RENAME\",\n \"REPEAT\",\n \"REPLACE\",\n \"REQUIRE\",\n \"RESTRICT\",\n \"RETURN\",\n \"REVOKE\",\n \"RIGHT\",\n \"RIGHT_ANTI_JOIN\",\n \"RIGHT_SEMI_JOIN\",\n \"RIGHT_STRAIGHT_JOIN\",\n \"RLIKE\",\n \"SCHEMA\",\n \"SCHEMAS\",\n \"SECOND_MICROSECOND\",\n \"SELECT\",\n \"SEMI_JOIN\",\n \"SENSITIVE\",\n \"SEPARATOR\",\n \"SET\",\n \"SHOW\",\n \"SIGNAL\",\n \"SPATIAL\",\n \"SPECIFIC\",\n \"SQL\",\n \"SQL_BIG_RESULT\",\n \"SQL_BUFFER_RESULT\",\n \"SQL_CACHE\",\n \"SQL_CALC_FOUND_ROWS\",\n \"SQLEXCEPTION\",\n \"SQL_NO_CACHE\",\n \"SQL_NO_LOGGING\",\n \"SQL_SMALL_RESULT\",\n \"SQLSTATE\",\n \"SQLWARNING\",\n \"STRAIGHT_JOIN\",\n \"TABLE\",\n \"TERMINATED\",\n \"THEN\",\n \"TO\",\n \"TRAILING\",\n \"TRIGGER\",\n \"TRUE\",\n \"UNBOUNDED\",\n \"UNDO\",\n \"UNION\",\n \"UNIQUE\",\n \"UNLOCK\",\n \"UPDATE\",\n \"USAGE\",\n \"USE\",\n \"USING\",\n \"UTC_DATE\",\n \"UTC_TIME\",\n \"UTC_TIMESTAMP\",\n \"_UTF8\",\n \"VALUES\",\n \"WHEN\",\n \"WHERE\",\n \"WHILE\",\n \"WINDOW\",\n \"WITH\",\n \"WITHIN\",\n \"WRITE\",\n \"XOR\",\n \"YEAR_MONTH\",\n \"ZEROFILL\"\n];\nvar dataTypes16 = [\n // https://docs.singlestore.com/cloud/reference/sql-reference/data-types/\n \"BIGINT\",\n \"BINARY\",\n \"BIT\",\n \"BLOB\",\n \"CHAR\",\n \"CHARACTER\",\n \"DATETIME\",\n \"DEC\",\n \"DECIMAL\",\n \"DOUBLE PRECISION\",\n \"DOUBLE\",\n \"ENUM\",\n \"FIXED\",\n \"FLOAT\",\n \"FLOAT4\",\n \"FLOAT8\",\n \"INT\",\n \"INT1\",\n \"INT2\",\n \"INT3\",\n \"INT4\",\n \"INT8\",\n \"INTEGER\",\n \"LONG\",\n \"LONGBLOB\",\n \"LONGTEXT\",\n \"MEDIUMBLOB\",\n \"MEDIUMINT\",\n \"MEDIUMTEXT\",\n \"MIDDLEINT\",\n \"NATIONAL CHAR\",\n \"NATIONAL VARCHAR\",\n \"NUMERIC\",\n \"PRECISION\",\n \"REAL\",\n \"SMALLINT\",\n \"TEXT\",\n \"TIME\",\n \"TIMESTAMP\",\n \"TINYBLOB\",\n \"TINYINT\",\n \"TINYTEXT\",\n \"UNSIGNED\",\n \"VARBINARY\",\n \"VARCHAR\",\n \"VARCHARACTER\",\n \"YEAR\"\n];\n\n// src/languages/singlestoredb/singlestoredb.functions.ts\nvar functions16 = [\n // https://docs.singlestore.com/managed-service/en/reference/sql-reference/vector-functions/vector-functions.html\n // https://docs.singlestore.com/managed-service/en/reference/sql-reference/window-functions/window-functions.html\n // https://docs.singlestore.com/managed-service/en/reference/sql-reference/string-functions/string-functions.html\n // https://docs.singlestore.com/managed-service/en/reference/sql-reference/conditional-functions/conditional-functions.html\n // https://docs.singlestore.com/managed-service/en/reference/sql-reference/numeric-functions/numeric-functions.html\n // https://docs.singlestore.com/managed-service/en/reference/sql-reference/geospatial-functions/geospatial-functions.html\n // https://docs.singlestore.com/managed-service/en/reference/sql-reference/json-functions/json-functions.html\n // https://docs.singlestore.com/managed-service/en/reference/sql-reference/information-functions/information-functions.html\n // https://docs.singlestore.com/managed-service/en/reference/sql-reference/aggregate-functions/aggregate-functions.html\n // https://docs.singlestore.com/managed-service/en/reference/sql-reference/time-series-functions/time-series-functions.html\n // https://docs.singlestore.com/managed-service/en/reference/sql-reference/identifier-generation-functions.html\n // https://docs.singlestore.com/managed-service/en/reference/sql-reference/date-and-time-functions/date-and-time-functions.html\n // https://docs.singlestore.com/managed-service/en/reference/sql-reference/distinct-count-estimation-functions.html\n // https://docs.singlestore.com/managed-service/en/reference/sql-reference/full-text-search-functions/full-text-search-functions.html\n // https://docs.singlestore.com/managed-service/en/reference/sql-reference/regular-expression-functions.html\n \"ABS\",\n \"ACOS\",\n \"ADDDATE\",\n \"ADDTIME\",\n \"AES_DECRYPT\",\n \"AES_ENCRYPT\",\n \"ANY_VALUE\",\n \"APPROX_COUNT_DISTINCT\",\n \"APPROX_COUNT_DISTINCT_ACCUMULATE\",\n \"APPROX_COUNT_DISTINCT_COMBINE\",\n \"APPROX_COUNT_DISTINCT_ESTIMATE\",\n \"APPROX_GEOGRAPHY_INTERSECTS\",\n \"APPROX_PERCENTILE\",\n \"ASCII\",\n \"ASIN\",\n \"ATAN\",\n \"ATAN2\",\n \"AVG\",\n \"BIN\",\n \"BINARY\",\n \"BIT_AND\",\n \"BIT_COUNT\",\n \"BIT_OR\",\n \"BIT_XOR\",\n \"CAST\",\n \"CEIL\",\n \"CEILING\",\n \"CHAR\",\n \"CHARACTER_LENGTH\",\n \"CHAR_LENGTH\",\n \"CHARSET\",\n \"COALESCE\",\n \"COERCIBILITY\",\n \"COLLATION\",\n \"COLLECT\",\n \"CONCAT\",\n \"CONCAT_WS\",\n \"CONNECTION_ID\",\n \"CONV\",\n \"CONVERT\",\n \"CONVERT_TZ\",\n \"COS\",\n \"COT\",\n \"COUNT\",\n \"CUME_DIST\",\n \"CURDATE\",\n \"CURRENT_DATE\",\n \"CURRENT_ROLE\",\n \"CURRENT_TIME\",\n \"CURRENT_TIMESTAMP\",\n \"CURRENT_USER\",\n \"CURTIME\",\n \"DATABASE\",\n \"DATE\",\n \"DATE_ADD\",\n \"DATEDIFF\",\n \"DATE_FORMAT\",\n \"DATE_SUB\",\n \"DATE_TRUNC\",\n \"DAY\",\n \"DAYNAME\",\n \"DAYOFMONTH\",\n \"DAYOFWEEK\",\n \"DAYOFYEAR\",\n \"DECODE\",\n \"DEFAULT\",\n \"DEGREES\",\n \"DENSE_RANK\",\n \"DIV\",\n \"DOT_PRODUCT\",\n \"ELT\",\n \"EUCLIDEAN_DISTANCE\",\n \"EXP\",\n \"EXTRACT\",\n \"FIELD\",\n \"FIRST\",\n \"FIRST_VALUE\",\n \"FLOOR\",\n \"FORMAT\",\n \"FOUND_ROWS\",\n \"FROM_BASE64\",\n \"FROM_DAYS\",\n \"FROM_UNIXTIME\",\n \"GEOGRAPHY_AREA\",\n \"GEOGRAPHY_CONTAINS\",\n \"GEOGRAPHY_DISTANCE\",\n \"GEOGRAPHY_INTERSECTS\",\n \"GEOGRAPHY_LATITUDE\",\n \"GEOGRAPHY_LENGTH\",\n \"GEOGRAPHY_LONGITUDE\",\n \"GEOGRAPHY_POINT\",\n \"GEOGRAPHY_WITHIN_DISTANCE\",\n \"GEOMETRY_AREA\",\n \"GEOMETRY_CONTAINS\",\n \"GEOMETRY_DISTANCE\",\n \"GEOMETRY_FILTER\",\n \"GEOMETRY_INTERSECTS\",\n \"GEOMETRY_LENGTH\",\n \"GEOMETRY_POINT\",\n \"GEOMETRY_WITHIN_DISTANCE\",\n \"GEOMETRY_X\",\n \"GEOMETRY_Y\",\n \"GREATEST\",\n \"GROUPING\",\n \"GROUP_CONCAT\",\n \"HEX\",\n \"HIGHLIGHT\",\n \"HOUR\",\n \"ICU_VERSION\",\n \"IF\",\n \"IFNULL\",\n \"INET_ATON\",\n \"INET_NTOA\",\n \"INET6_ATON\",\n \"INET6_NTOA\",\n \"INITCAP\",\n \"INSERT\",\n \"INSTR\",\n \"INTERVAL\",\n \"IS\",\n \"IS NULL\",\n \"JSON_AGG\",\n \"JSON_ARRAY_CONTAINS_DOUBLE\",\n \"JSON_ARRAY_CONTAINS_JSON\",\n \"JSON_ARRAY_CONTAINS_STRING\",\n \"JSON_ARRAY_PUSH_DOUBLE\",\n \"JSON_ARRAY_PUSH_JSON\",\n \"JSON_ARRAY_PUSH_STRING\",\n \"JSON_DELETE_KEY\",\n \"JSON_EXTRACT_DOUBLE\",\n \"JSON_EXTRACT_JSON\",\n \"JSON_EXTRACT_STRING\",\n \"JSON_EXTRACT_BIGINT\",\n \"JSON_GET_TYPE\",\n \"JSON_LENGTH\",\n \"JSON_SET_DOUBLE\",\n \"JSON_SET_JSON\",\n \"JSON_SET_STRING\",\n \"JSON_SPLICE_DOUBLE\",\n \"JSON_SPLICE_JSON\",\n \"JSON_SPLICE_STRING\",\n \"LAG\",\n \"LAST_DAY\",\n \"LAST_VALUE\",\n \"LCASE\",\n \"LEAD\",\n \"LEAST\",\n \"LEFT\",\n \"LENGTH\",\n \"LIKE\",\n \"LN\",\n \"LOCALTIME\",\n \"LOCALTIMESTAMP\",\n \"LOCATE\",\n \"LOG\",\n \"LOG10\",\n \"LOG2\",\n \"LPAD\",\n \"LTRIM\",\n \"MATCH\",\n \"MAX\",\n \"MD5\",\n \"MEDIAN\",\n \"MICROSECOND\",\n \"MIN\",\n \"MINUTE\",\n \"MOD\",\n \"MONTH\",\n \"MONTHNAME\",\n \"MONTHS_BETWEEN\",\n \"NOT\",\n \"NOW\",\n \"NTH_VALUE\",\n \"NTILE\",\n \"NULLIF\",\n \"OCTET_LENGTH\",\n \"PERCENT_RANK\",\n \"PERCENTILE_CONT\",\n \"PERCENTILE_DISC\",\n \"PI\",\n \"PIVOT\",\n \"POSITION\",\n \"POW\",\n \"POWER\",\n \"QUARTER\",\n \"QUOTE\",\n \"RADIANS\",\n \"RAND\",\n \"RANK\",\n \"REGEXP\",\n \"REPEAT\",\n \"REPLACE\",\n \"REVERSE\",\n \"RIGHT\",\n \"RLIKE\",\n \"ROUND\",\n \"ROW_COUNT\",\n \"ROW_NUMBER\",\n \"RPAD\",\n \"RTRIM\",\n \"SCALAR\",\n \"SCHEMA\",\n \"SEC_TO_TIME\",\n \"SHA1\",\n \"SHA2\",\n \"SIGMOID\",\n \"SIGN\",\n \"SIN\",\n \"SLEEP\",\n \"SPLIT\",\n \"SOUNDEX\",\n \"SOUNDS LIKE\",\n \"SOURCE_POS_WAIT\",\n \"SPACE\",\n \"SQRT\",\n \"STDDEV\",\n \"STDDEV_POP\",\n \"STDDEV_SAMP\",\n \"STR_TO_DATE\",\n \"SUBDATE\",\n \"SUBSTR\",\n \"SUBSTRING\",\n \"SUBSTRING_INDEX\",\n \"SUM\",\n \"SYS_GUID\",\n \"TAN\",\n \"TIME\",\n \"TIMEDIFF\",\n \"TIME_BUCKET\",\n \"TIME_FORMAT\",\n \"TIMESTAMP\",\n \"TIMESTAMPADD\",\n \"TIMESTAMPDIFF\",\n \"TIME_TO_SEC\",\n \"TO_BASE64\",\n \"TO_CHAR\",\n \"TO_DAYS\",\n \"TO_JSON\",\n \"TO_NUMBER\",\n \"TO_SECONDS\",\n \"TO_TIMESTAMP\",\n \"TRIM\",\n \"TRUNC\",\n \"TRUNCATE\",\n \"UCASE\",\n \"UNHEX\",\n \"UNIX_TIMESTAMP\",\n \"UPDATEXML\",\n \"UPPER\",\n // 'USER',\n \"UTC_DATE\",\n \"UTC_TIME\",\n \"UTC_TIMESTAMP\",\n \"UUID\",\n \"VALUES\",\n \"VARIANCE\",\n \"VAR_POP\",\n \"VAR_SAMP\",\n \"VECTOR_SUB\",\n \"VERSION\",\n \"WEEK\",\n \"WEEKDAY\",\n \"WEEKOFYEAR\",\n \"YEAR\"\n];\n\n// src/languages/singlestoredb/singlestoredb.formatter.ts\nvar reservedSelect16 = expandPhrases([\"SELECT [ALL | DISTINCT | DISTINCTROW]\"]);\nvar reservedClauses16 = expandPhrases([\n // queries\n \"WITH\",\n \"FROM\",\n \"WHERE\",\n \"GROUP BY\",\n \"HAVING\",\n \"PARTITION BY\",\n \"ORDER BY\",\n \"LIMIT\",\n \"OFFSET\",\n // Data manipulation\n // - insert:\n \"INSERT [IGNORE] [INTO]\",\n \"VALUES\",\n \"REPLACE [INTO]\",\n \"ON DUPLICATE KEY UPDATE\",\n // - update:\n \"SET\",\n // Data definition\n \"CREATE [OR REPLACE] [TEMPORARY] PROCEDURE [IF NOT EXISTS]\",\n \"CREATE [OR REPLACE] [EXTERNAL] FUNCTION\"\n]);\nvar onelineClauses16 = expandPhrases([\n // - create:\n \"CREATE [ROWSTORE] [REFERENCE | TEMPORARY | GLOBAL TEMPORARY] TABLE [IF NOT EXISTS]\",\n \"CREATE VIEW\",\n // - update:\n \"UPDATE\",\n // - delete:\n \"DELETE [FROM]\",\n // - drop table:\n \"DROP [TEMPORARY] TABLE [IF EXISTS]\",\n // - alter table:\n \"ALTER [ONLINE] TABLE\",\n \"ADD [COLUMN]\",\n \"ADD [UNIQUE] {INDEX | KEY}\",\n \"DROP [COLUMN]\",\n \"MODIFY [COLUMN]\",\n \"CHANGE\",\n \"RENAME [TO | AS]\",\n // - truncate:\n \"TRUNCATE [TABLE]\",\n // https://docs.singlestore.com/managed-service/en/reference/sql-reference.html\n \"ADD AGGREGATOR\",\n \"ADD LEAF\",\n \"AGGREGATOR SET AS MASTER\",\n \"ALTER DATABASE\",\n \"ALTER PIPELINE\",\n \"ALTER RESOURCE POOL\",\n \"ALTER USER\",\n \"ALTER VIEW\",\n \"ANALYZE TABLE\",\n \"ATTACH DATABASE\",\n \"ATTACH LEAF\",\n \"ATTACH LEAF ALL\",\n \"BACKUP DATABASE\",\n \"BINLOG\",\n \"BOOTSTRAP AGGREGATOR\",\n \"CACHE INDEX\",\n \"CALL\",\n \"CHANGE\",\n \"CHANGE MASTER TO\",\n \"CHANGE REPLICATION FILTER\",\n \"CHANGE REPLICATION SOURCE TO\",\n \"CHECK BLOB CHECKSUM\",\n \"CHECK TABLE\",\n \"CHECKSUM TABLE\",\n \"CLEAR ORPHAN DATABASES\",\n \"CLONE\",\n \"COMMIT\",\n \"CREATE DATABASE\",\n \"CREATE GROUP\",\n \"CREATE INDEX\",\n \"CREATE LINK\",\n \"CREATE MILESTONE\",\n \"CREATE PIPELINE\",\n \"CREATE RESOURCE POOL\",\n \"CREATE ROLE\",\n \"CREATE USER\",\n \"DEALLOCATE PREPARE\",\n \"DESCRIBE\",\n \"DETACH DATABASE\",\n \"DETACH PIPELINE\",\n \"DROP DATABASE\",\n \"DROP FUNCTION\",\n \"DROP INDEX\",\n \"DROP LINK\",\n \"DROP PIPELINE\",\n \"DROP PROCEDURE\",\n \"DROP RESOURCE POOL\",\n \"DROP ROLE\",\n \"DROP USER\",\n \"DROP VIEW\",\n \"EXECUTE\",\n \"EXPLAIN\",\n \"FLUSH\",\n \"FORCE\",\n \"GRANT\",\n \"HANDLER\",\n \"HELP\",\n \"KILL CONNECTION\",\n \"KILLALL QUERIES\",\n \"LOAD DATA\",\n \"LOAD INDEX INTO CACHE\",\n \"LOAD XML\",\n \"LOCK INSTANCE FOR BACKUP\",\n \"LOCK TABLES\",\n \"MASTER_POS_WAIT\",\n \"OPTIMIZE TABLE\",\n \"PREPARE\",\n \"PURGE BINARY LOGS\",\n \"REBALANCE PARTITIONS\",\n \"RELEASE SAVEPOINT\",\n \"REMOVE AGGREGATOR\",\n \"REMOVE LEAF\",\n \"REPAIR TABLE\",\n \"REPLACE\",\n \"REPLICATE DATABASE\",\n \"RESET\",\n \"RESET MASTER\",\n \"RESET PERSIST\",\n \"RESET REPLICA\",\n \"RESET SLAVE\",\n \"RESTART\",\n \"RESTORE DATABASE\",\n \"RESTORE REDUNDANCY\",\n \"REVOKE\",\n \"ROLLBACK\",\n \"ROLLBACK TO SAVEPOINT\",\n \"SAVEPOINT\",\n \"SET CHARACTER SET\",\n \"SET DEFAULT ROLE\",\n \"SET NAMES\",\n \"SET PASSWORD\",\n \"SET RESOURCE GROUP\",\n \"SET ROLE\",\n \"SET TRANSACTION\",\n \"SHOW\",\n \"SHOW CHARACTER SET\",\n \"SHOW COLLATION\",\n \"SHOW COLUMNS\",\n \"SHOW CREATE DATABASE\",\n \"SHOW CREATE FUNCTION\",\n \"SHOW CREATE PIPELINE\",\n \"SHOW CREATE PROCEDURE\",\n \"SHOW CREATE TABLE\",\n \"SHOW CREATE USER\",\n \"SHOW CREATE VIEW\",\n \"SHOW DATABASES\",\n \"SHOW ENGINE\",\n \"SHOW ENGINES\",\n \"SHOW ERRORS\",\n \"SHOW FUNCTION CODE\",\n \"SHOW FUNCTION STATUS\",\n \"SHOW GRANTS\",\n \"SHOW INDEX\",\n \"SHOW MASTER STATUS\",\n \"SHOW OPEN TABLES\",\n \"SHOW PLUGINS\",\n \"SHOW PRIVILEGES\",\n \"SHOW PROCEDURE CODE\",\n \"SHOW PROCEDURE STATUS\",\n \"SHOW PROCESSLIST\",\n \"SHOW PROFILE\",\n \"SHOW PROFILES\",\n \"SHOW RELAYLOG EVENTS\",\n \"SHOW REPLICA STATUS\",\n \"SHOW REPLICAS\",\n \"SHOW SLAVE\",\n \"SHOW SLAVE HOSTS\",\n \"SHOW STATUS\",\n \"SHOW TABLE STATUS\",\n \"SHOW TABLES\",\n \"SHOW VARIABLES\",\n \"SHOW WARNINGS\",\n \"SHUTDOWN\",\n \"SNAPSHOT DATABASE\",\n \"SOURCE_POS_WAIT\",\n \"START GROUP_REPLICATION\",\n \"START PIPELINE\",\n \"START REPLICA\",\n \"START SLAVE\",\n \"START TRANSACTION\",\n \"STOP GROUP_REPLICATION\",\n \"STOP PIPELINE\",\n \"STOP REPLICA\",\n \"STOP REPLICATING\",\n \"STOP SLAVE\",\n \"TEST PIPELINE\",\n \"UNLOCK INSTANCE\",\n \"UNLOCK TABLES\",\n \"USE\",\n \"XA\",\n // flow control\n \"ITERATE\",\n \"LEAVE\",\n \"LOOP\",\n \"REPEAT\",\n \"RETURN\",\n \"WHILE\"\n]);\nvar reservedSetOperations16 = expandPhrases([\n \"UNION [ALL | DISTINCT]\",\n \"EXCEPT\",\n \"INTERSECT\",\n \"MINUS\"\n]);\nvar reservedJoins16 = expandPhrases([\n \"JOIN\",\n \"{LEFT | RIGHT | FULL} [OUTER] JOIN\",\n \"{INNER | CROSS} JOIN\",\n \"NATURAL {LEFT | RIGHT} [OUTER] JOIN\",\n // non-standard joins\n \"STRAIGHT_JOIN\"\n]);\nvar reservedPhrases16 = expandPhrases([\n \"ON DELETE\",\n \"ON UPDATE\",\n \"CHARACTER SET\",\n \"{ROWS | RANGE} BETWEEN\",\n \"IDENTIFIED BY\"\n]);\nvar singlestoredb = {\n name: \"singlestoredb\",\n tokenizerOptions: {\n reservedSelect: reservedSelect16,\n reservedClauses: [...reservedClauses16, ...onelineClauses16],\n reservedSetOperations: reservedSetOperations16,\n reservedJoins: reservedJoins16,\n reservedPhrases: reservedPhrases16,\n reservedKeywords: keywords16,\n reservedDataTypes: dataTypes16,\n reservedFunctionNames: functions16,\n // TODO: support _binary\"some string\" prefix\n stringTypes: [\n '\"\"-qq-bs',\n \"''-qq-bs\",\n { quote: \"''-raw\", prefixes: [\"B\", \"X\"], requirePrefix: true }\n ],\n identTypes: [\"``\"],\n identChars: { first: \"$\", rest: \"$\", allowFirstCharNumber: true },\n variableTypes: [\n { regex: \"@@?[A-Za-z0-9_$]+\" },\n { quote: \"``\", prefixes: [\"@\"], requirePrefix: true }\n ],\n lineCommentTypes: [\"--\", \"#\"],\n operators: [\n \":=\",\n \"&\",\n \"|\",\n \"^\",\n \"~\",\n \"<<\",\n \">>\",\n \"<=>\",\n \"&&\",\n \"||\",\n \"::\",\n \"::$\",\n \"::%\",\n \":>\",\n \"!:>\",\n \"*.*\"\n // Not actually an operator\n ],\n postProcess: postProcess2\n },\n formatOptions: {\n alwaysDenseOperators: [\"::\", \"::$\", \"::%\"],\n onelineClauses: onelineClauses16\n }\n};\n\n// src/languages/snowflake/snowflake.functions.ts\nvar functions17 = [\n // https://docs.snowflake.com/en/sql-reference-functions.html\n //\n // https://docs.snowflake.com/en/sql-reference/functions-all.html\n // 1. run in console on this page: $x('//tbody/tr/*[1]//a/span/text()').map(x => x.nodeValue)\n // 2. split all lines that contain ',' or '/' into multiple lines\n // 3. remove all '— Deprecated' parts from the strings\n // 4. delete all strings that end with '', they are already covered in the list\n // 5. remove all strings that contain '[', they are operators not functions\n // 6. fix all values that contain '*'\n // 7. delete operatos ':', '::', '||'\n //\n // Steps 1-5 can be combined by the following script in the developer console:\n // $x('//tbody/tr/*[1]//a/span/text()').map(x => x.nodeValue) // Step 1\n // .map(x => x.split(x.includes(',') ? ',' : '/')).flat().map(x => x.trim()) // Step 2\n // .map(x => x.replace('— Deprecated', '')) // Step 3\n // .filter(x => !x.endsWith('')) // Step 4\n // .filter(x => !x.includes('[')) // Step 5\n \"ABS\",\n \"ACOS\",\n \"ACOSH\",\n \"ADD_MONTHS\",\n \"ALL_USER_NAMES\",\n \"ANY_VALUE\",\n \"APPROX_COUNT_DISTINCT\",\n \"APPROX_PERCENTILE\",\n \"APPROX_PERCENTILE_ACCUMULATE\",\n \"APPROX_PERCENTILE_COMBINE\",\n \"APPROX_PERCENTILE_ESTIMATE\",\n \"APPROX_TOP_K\",\n \"APPROX_TOP_K_ACCUMULATE\",\n \"APPROX_TOP_K_COMBINE\",\n \"APPROX_TOP_K_ESTIMATE\",\n \"APPROXIMATE_JACCARD_INDEX\",\n \"APPROXIMATE_SIMILARITY\",\n \"ARRAY_AGG\",\n \"ARRAY_APPEND\",\n \"ARRAY_CAT\",\n \"ARRAY_COMPACT\",\n \"ARRAY_CONSTRUCT\",\n \"ARRAY_CONSTRUCT_COMPACT\",\n \"ARRAY_CONTAINS\",\n \"ARRAY_INSERT\",\n \"ARRAY_INTERSECTION\",\n \"ARRAY_POSITION\",\n \"ARRAY_PREPEND\",\n \"ARRAY_SIZE\",\n \"ARRAY_SLICE\",\n \"ARRAY_TO_STRING\",\n \"ARRAY_UNION_AGG\",\n \"ARRAY_UNIQUE_AGG\",\n \"ARRAYS_OVERLAP\",\n \"AS_ARRAY\",\n \"AS_BINARY\",\n \"AS_BOOLEAN\",\n \"AS_CHAR\",\n \"AS_VARCHAR\",\n \"AS_DATE\",\n \"AS_DECIMAL\",\n \"AS_NUMBER\",\n \"AS_DOUBLE\",\n \"AS_REAL\",\n \"AS_INTEGER\",\n \"AS_OBJECT\",\n \"AS_TIME\",\n \"AS_TIMESTAMP_LTZ\",\n \"AS_TIMESTAMP_NTZ\",\n \"AS_TIMESTAMP_TZ\",\n \"ASCII\",\n \"ASIN\",\n \"ASINH\",\n \"ATAN\",\n \"ATAN2\",\n \"ATANH\",\n \"AUTO_REFRESH_REGISTRATION_HISTORY\",\n \"AUTOMATIC_CLUSTERING_HISTORY\",\n \"AVG\",\n \"BASE64_DECODE_BINARY\",\n \"BASE64_DECODE_STRING\",\n \"BASE64_ENCODE\",\n \"BIT_LENGTH\",\n \"BITAND\",\n \"BITAND_AGG\",\n \"BITMAP_BIT_POSITION\",\n \"BITMAP_BUCKET_NUMBER\",\n \"BITMAP_CONSTRUCT_AGG\",\n \"BITMAP_COUNT\",\n \"BITMAP_OR_AGG\",\n \"BITNOT\",\n \"BITOR\",\n \"BITOR_AGG\",\n \"BITSHIFTLEFT\",\n \"BITSHIFTRIGHT\",\n \"BITXOR\",\n \"BITXOR_AGG\",\n \"BOOLAND\",\n \"BOOLAND_AGG\",\n \"BOOLNOT\",\n \"BOOLOR\",\n \"BOOLOR_AGG\",\n \"BOOLXOR\",\n \"BOOLXOR_AGG\",\n \"BUILD_SCOPED_FILE_URL\",\n \"BUILD_STAGE_FILE_URL\",\n \"CASE\",\n \"CAST\",\n \"CBRT\",\n \"CEIL\",\n \"CHARINDEX\",\n \"CHECK_JSON\",\n \"CHECK_XML\",\n \"CHR\",\n \"CHAR\",\n \"COALESCE\",\n \"COLLATE\",\n \"COLLATION\",\n \"COMPLETE_TASK_GRAPHS\",\n \"COMPRESS\",\n \"CONCAT\",\n \"CONCAT_WS\",\n \"CONDITIONAL_CHANGE_EVENT\",\n \"CONDITIONAL_TRUE_EVENT\",\n \"CONTAINS\",\n \"CONVERT_TIMEZONE\",\n \"COPY_HISTORY\",\n \"CORR\",\n \"COS\",\n \"COSH\",\n \"COT\",\n \"COUNT\",\n \"COUNT_IF\",\n \"COVAR_POP\",\n \"COVAR_SAMP\",\n \"CUME_DIST\",\n \"CURRENT_ACCOUNT\",\n \"CURRENT_AVAILABLE_ROLES\",\n \"CURRENT_CLIENT\",\n \"CURRENT_DATABASE\",\n \"CURRENT_DATE\",\n \"CURRENT_IP_ADDRESS\",\n \"CURRENT_REGION\",\n \"CURRENT_ROLE\",\n \"CURRENT_SCHEMA\",\n \"CURRENT_SCHEMAS\",\n \"CURRENT_SECONDARY_ROLES\",\n \"CURRENT_SESSION\",\n \"CURRENT_STATEMENT\",\n \"CURRENT_TASK_GRAPHS\",\n \"CURRENT_TIME\",\n \"CURRENT_TIMESTAMP\",\n \"CURRENT_TRANSACTION\",\n \"CURRENT_USER\",\n \"CURRENT_VERSION\",\n \"CURRENT_WAREHOUSE\",\n \"DATA_TRANSFER_HISTORY\",\n \"DATABASE_REFRESH_HISTORY\",\n \"DATABASE_REFRESH_PROGRESS\",\n \"DATABASE_REFRESH_PROGRESS_BY_JOB\",\n \"DATABASE_STORAGE_USAGE_HISTORY\",\n \"DATE_FROM_PARTS\",\n \"DATE_PART\",\n \"DATE_TRUNC\",\n \"DATEADD\",\n \"DATEDIFF\",\n \"DAYNAME\",\n \"DECODE\",\n \"DECOMPRESS_BINARY\",\n \"DECOMPRESS_STRING\",\n \"DECRYPT\",\n \"DECRYPT_RAW\",\n \"DEGREES\",\n \"DENSE_RANK\",\n \"DIV0\",\n \"EDITDISTANCE\",\n \"ENCRYPT\",\n \"ENCRYPT_RAW\",\n \"ENDSWITH\",\n \"EQUAL_NULL\",\n \"EXP\",\n \"EXPLAIN_JSON\",\n \"EXTERNAL_FUNCTIONS_HISTORY\",\n \"EXTERNAL_TABLE_FILES\",\n \"EXTERNAL_TABLE_FILE_REGISTRATION_HISTORY\",\n \"EXTRACT\",\n \"EXTRACT_SEMANTIC_CATEGORIES\",\n \"FACTORIAL\",\n \"FIRST_VALUE\",\n \"FLATTEN\",\n \"FLOOR\",\n \"GENERATE_COLUMN_DESCRIPTION\",\n \"GENERATOR\",\n \"GET\",\n \"GET_ABSOLUTE_PATH\",\n \"GET_DDL\",\n \"GET_IGNORE_CASE\",\n \"GET_OBJECT_REFERENCES\",\n \"GET_PATH\",\n \"GET_PRESIGNED_URL\",\n \"GET_RELATIVE_PATH\",\n \"GET_STAGE_LOCATION\",\n \"GETBIT\",\n \"GREATEST\",\n \"GROUPING\",\n \"GROUPING_ID\",\n \"HASH\",\n \"HASH_AGG\",\n \"HAVERSINE\",\n \"HEX_DECODE_BINARY\",\n \"HEX_DECODE_STRING\",\n \"HEX_ENCODE\",\n \"HLL\",\n \"HLL_ACCUMULATE\",\n \"HLL_COMBINE\",\n \"HLL_ESTIMATE\",\n \"HLL_EXPORT\",\n \"HLL_IMPORT\",\n \"HOUR\",\n \"MINUTE\",\n \"SECOND\",\n \"IFF\",\n \"IFNULL\",\n \"ILIKE\",\n \"ILIKE ANY\",\n \"INFER_SCHEMA\",\n \"INITCAP\",\n \"INSERT\",\n \"INVOKER_ROLE\",\n \"INVOKER_SHARE\",\n \"IS_ARRAY\",\n \"IS_BINARY\",\n \"IS_BOOLEAN\",\n \"IS_CHAR\",\n \"IS_VARCHAR\",\n \"IS_DATE\",\n \"IS_DATE_VALUE\",\n \"IS_DECIMAL\",\n \"IS_DOUBLE\",\n \"IS_REAL\",\n \"IS_GRANTED_TO_INVOKER_ROLE\",\n \"IS_INTEGER\",\n \"IS_NULL_VALUE\",\n \"IS_OBJECT\",\n \"IS_ROLE_IN_SESSION\",\n \"IS_TIME\",\n \"IS_TIMESTAMP_LTZ\",\n \"IS_TIMESTAMP_NTZ\",\n \"IS_TIMESTAMP_TZ\",\n \"JAROWINKLER_SIMILARITY\",\n \"JSON_EXTRACT_PATH_TEXT\",\n \"KURTOSIS\",\n \"LAG\",\n \"LAST_DAY\",\n \"LAST_QUERY_ID\",\n \"LAST_TRANSACTION\",\n \"LAST_VALUE\",\n \"LEAD\",\n \"LEAST\",\n \"LEFT\",\n \"LENGTH\",\n \"LEN\",\n \"LIKE\",\n \"LIKE ALL\",\n \"LIKE ANY\",\n \"LISTAGG\",\n \"LN\",\n \"LOCALTIME\",\n \"LOCALTIMESTAMP\",\n \"LOG\",\n \"LOGIN_HISTORY\",\n \"LOGIN_HISTORY_BY_USER\",\n \"LOWER\",\n \"LPAD\",\n \"LTRIM\",\n \"MATERIALIZED_VIEW_REFRESH_HISTORY\",\n \"MD5\",\n \"MD5_HEX\",\n \"MD5_BINARY\",\n \"MD5_NUMBER \\u2014 Obsoleted\",\n \"MD5_NUMBER_LOWER64\",\n \"MD5_NUMBER_UPPER64\",\n \"MEDIAN\",\n \"MIN\",\n \"MAX\",\n \"MINHASH\",\n \"MINHASH_COMBINE\",\n \"MOD\",\n \"MODE\",\n \"MONTHNAME\",\n \"MONTHS_BETWEEN\",\n \"NEXT_DAY\",\n \"NORMAL\",\n \"NTH_VALUE\",\n \"NTILE\",\n \"NULLIF\",\n \"NULLIFZERO\",\n \"NVL\",\n \"NVL2\",\n \"OBJECT_AGG\",\n \"OBJECT_CONSTRUCT\",\n \"OBJECT_CONSTRUCT_KEEP_NULL\",\n \"OBJECT_DELETE\",\n \"OBJECT_INSERT\",\n \"OBJECT_KEYS\",\n \"OBJECT_PICK\",\n \"OCTET_LENGTH\",\n \"PARSE_IP\",\n \"PARSE_JSON\",\n \"PARSE_URL\",\n \"PARSE_XML\",\n \"PERCENT_RANK\",\n \"PERCENTILE_CONT\",\n \"PERCENTILE_DISC\",\n \"PI\",\n \"PIPE_USAGE_HISTORY\",\n \"POLICY_CONTEXT\",\n \"POLICY_REFERENCES\",\n \"POSITION\",\n \"POW\",\n \"POWER\",\n \"PREVIOUS_DAY\",\n \"QUERY_ACCELERATION_HISTORY\",\n \"QUERY_HISTORY\",\n \"QUERY_HISTORY_BY_SESSION\",\n \"QUERY_HISTORY_BY_USER\",\n \"QUERY_HISTORY_BY_WAREHOUSE\",\n \"RADIANS\",\n \"RANDOM\",\n \"RANDSTR\",\n \"RANK\",\n \"RATIO_TO_REPORT\",\n \"REGEXP\",\n \"REGEXP_COUNT\",\n \"REGEXP_INSTR\",\n \"REGEXP_LIKE\",\n \"REGEXP_REPLACE\",\n \"REGEXP_SUBSTR\",\n \"REGEXP_SUBSTR_ALL\",\n \"REGR_AVGX\",\n \"REGR_AVGY\",\n \"REGR_COUNT\",\n \"REGR_INTERCEPT\",\n \"REGR_R2\",\n \"REGR_SLOPE\",\n \"REGR_SXX\",\n \"REGR_SXY\",\n \"REGR_SYY\",\n \"REGR_VALX\",\n \"REGR_VALY\",\n \"REPEAT\",\n \"REPLACE\",\n \"REPLICATION_GROUP_REFRESH_HISTORY\",\n \"REPLICATION_GROUP_REFRESH_PROGRESS\",\n \"REPLICATION_GROUP_REFRESH_PROGRESS_BY_JOB\",\n \"REPLICATION_GROUP_USAGE_HISTORY\",\n \"REPLICATION_USAGE_HISTORY\",\n \"REST_EVENT_HISTORY\",\n \"RESULT_SCAN\",\n \"REVERSE\",\n \"RIGHT\",\n \"RLIKE\",\n \"ROUND\",\n \"ROW_NUMBER\",\n \"RPAD\",\n \"RTRIM\",\n \"RTRIMMED_LENGTH\",\n \"SEARCH_OPTIMIZATION_HISTORY\",\n \"SEQ1\",\n \"SEQ2\",\n \"SEQ4\",\n \"SEQ8\",\n \"SERVERLESS_TASK_HISTORY\",\n \"SHA1\",\n \"SHA1_HEX\",\n \"SHA1_BINARY\",\n \"SHA2\",\n \"SHA2_HEX\",\n \"SHA2_BINARY\",\n \"SIGN\",\n \"SIN\",\n \"SINH\",\n \"SKEW\",\n \"SOUNDEX\",\n \"SPACE\",\n \"SPLIT\",\n \"SPLIT_PART\",\n \"SPLIT_TO_TABLE\",\n \"SQRT\",\n \"SQUARE\",\n \"ST_AREA\",\n \"ST_ASEWKB\",\n \"ST_ASEWKT\",\n \"ST_ASGEOJSON\",\n \"ST_ASWKB\",\n \"ST_ASBINARY\",\n \"ST_ASWKT\",\n \"ST_ASTEXT\",\n \"ST_AZIMUTH\",\n \"ST_CENTROID\",\n \"ST_COLLECT\",\n \"ST_CONTAINS\",\n \"ST_COVEREDBY\",\n \"ST_COVERS\",\n \"ST_DIFFERENCE\",\n \"ST_DIMENSION\",\n \"ST_DISJOINT\",\n \"ST_DISTANCE\",\n \"ST_DWITHIN\",\n \"ST_ENDPOINT\",\n \"ST_ENVELOPE\",\n \"ST_GEOGFROMGEOHASH\",\n \"ST_GEOGPOINTFROMGEOHASH\",\n \"ST_GEOGRAPHYFROMWKB\",\n \"ST_GEOGRAPHYFROMWKT\",\n \"ST_GEOHASH\",\n \"ST_GEOMETRYFROMWKB\",\n \"ST_GEOMETRYFROMWKT\",\n \"ST_HAUSDORFFDISTANCE\",\n \"ST_INTERSECTION\",\n \"ST_INTERSECTS\",\n \"ST_LENGTH\",\n \"ST_MAKEGEOMPOINT\",\n \"ST_GEOM_POINT\",\n \"ST_MAKELINE\",\n \"ST_MAKEPOINT\",\n \"ST_POINT\",\n \"ST_MAKEPOLYGON\",\n \"ST_POLYGON\",\n \"ST_NPOINTS\",\n \"ST_NUMPOINTS\",\n \"ST_PERIMETER\",\n \"ST_POINTN\",\n \"ST_SETSRID\",\n \"ST_SIMPLIFY\",\n \"ST_SRID\",\n \"ST_STARTPOINT\",\n \"ST_SYMDIFFERENCE\",\n \"ST_UNION\",\n \"ST_WITHIN\",\n \"ST_X\",\n \"ST_XMAX\",\n \"ST_XMIN\",\n \"ST_Y\",\n \"ST_YMAX\",\n \"ST_YMIN\",\n \"STAGE_DIRECTORY_FILE_REGISTRATION_HISTORY\",\n \"STAGE_STORAGE_USAGE_HISTORY\",\n \"STARTSWITH\",\n \"STDDEV\",\n \"STDDEV_POP\",\n \"STDDEV_SAMP\",\n \"STRIP_NULL_VALUE\",\n \"STRTOK\",\n \"STRTOK_SPLIT_TO_TABLE\",\n \"STRTOK_TO_ARRAY\",\n \"SUBSTR\",\n \"SUBSTRING\",\n \"SUM\",\n \"SYSDATE\",\n \"SYSTEM$ABORT_SESSION\",\n \"SYSTEM$ABORT_TRANSACTION\",\n \"SYSTEM$AUTHORIZE_PRIVATELINK\",\n \"SYSTEM$AUTHORIZE_STAGE_PRIVATELINK_ACCESS\",\n \"SYSTEM$BEHAVIOR_CHANGE_BUNDLE_STATUS\",\n \"SYSTEM$CANCEL_ALL_QUERIES\",\n \"SYSTEM$CANCEL_QUERY\",\n \"SYSTEM$CLUSTERING_DEPTH\",\n \"SYSTEM$CLUSTERING_INFORMATION\",\n \"SYSTEM$CLUSTERING_RATIO \",\n \"SYSTEM$CURRENT_USER_TASK_NAME\",\n \"SYSTEM$DATABASE_REFRESH_HISTORY \",\n \"SYSTEM$DATABASE_REFRESH_PROGRESS\",\n \"SYSTEM$DATABASE_REFRESH_PROGRESS_BY_JOB \",\n \"SYSTEM$DISABLE_BEHAVIOR_CHANGE_BUNDLE\",\n \"SYSTEM$DISABLE_DATABASE_REPLICATION\",\n \"SYSTEM$ENABLE_BEHAVIOR_CHANGE_BUNDLE\",\n \"SYSTEM$ESTIMATE_QUERY_ACCELERATION\",\n \"SYSTEM$ESTIMATE_SEARCH_OPTIMIZATION_COSTS\",\n \"SYSTEM$EXPLAIN_JSON_TO_TEXT\",\n \"SYSTEM$EXPLAIN_PLAN_JSON\",\n \"SYSTEM$EXTERNAL_TABLE_PIPE_STATUS\",\n \"SYSTEM$GENERATE_SAML_CSR\",\n \"SYSTEM$GENERATE_SCIM_ACCESS_TOKEN\",\n \"SYSTEM$GET_AWS_SNS_IAM_POLICY\",\n \"SYSTEM$GET_PREDECESSOR_RETURN_VALUE\",\n \"SYSTEM$GET_PRIVATELINK\",\n \"SYSTEM$GET_PRIVATELINK_AUTHORIZED_ENDPOINTS\",\n \"SYSTEM$GET_PRIVATELINK_CONFIG\",\n \"SYSTEM$GET_SNOWFLAKE_PLATFORM_INFO\",\n \"SYSTEM$GET_TAG\",\n \"SYSTEM$GET_TAG_ALLOWED_VALUES\",\n \"SYSTEM$GET_TAG_ON_CURRENT_COLUMN\",\n \"SYSTEM$GET_TAG_ON_CURRENT_TABLE\",\n \"SYSTEM$GLOBAL_ACCOUNT_SET_PARAMETER\",\n \"SYSTEM$LAST_CHANGE_COMMIT_TIME\",\n \"SYSTEM$LINK_ACCOUNT_OBJECTS_BY_NAME\",\n \"SYSTEM$MIGRATE_SAML_IDP_REGISTRATION\",\n \"SYSTEM$PIPE_FORCE_RESUME\",\n \"SYSTEM$PIPE_STATUS\",\n \"SYSTEM$REVOKE_PRIVATELINK\",\n \"SYSTEM$REVOKE_STAGE_PRIVATELINK_ACCESS\",\n \"SYSTEM$SET_RETURN_VALUE\",\n \"SYSTEM$SHOW_OAUTH_CLIENT_SECRETS\",\n \"SYSTEM$STREAM_GET_TABLE_TIMESTAMP\",\n \"SYSTEM$STREAM_HAS_DATA\",\n \"SYSTEM$TASK_DEPENDENTS_ENABLE\",\n \"SYSTEM$TYPEOF\",\n \"SYSTEM$USER_TASK_CANCEL_ONGOING_EXECUTIONS\",\n \"SYSTEM$VERIFY_EXTERNAL_OAUTH_TOKEN\",\n \"SYSTEM$WAIT\",\n \"SYSTEM$WHITELIST\",\n \"SYSTEM$WHITELIST_PRIVATELINK\",\n \"TAG_REFERENCES\",\n \"TAG_REFERENCES_ALL_COLUMNS\",\n \"TAG_REFERENCES_WITH_LINEAGE\",\n \"TAN\",\n \"TANH\",\n \"TASK_DEPENDENTS\",\n \"TASK_HISTORY\",\n \"TIME_FROM_PARTS\",\n \"TIME_SLICE\",\n \"TIMEADD\",\n \"TIMEDIFF\",\n \"TIMESTAMP_FROM_PARTS\",\n \"TIMESTAMPADD\",\n \"TIMESTAMPDIFF\",\n \"TO_ARRAY\",\n \"TO_BINARY\",\n \"TO_BOOLEAN\",\n \"TO_CHAR\",\n \"TO_VARCHAR\",\n \"TO_DATE\",\n \"DATE\",\n \"TO_DECIMAL\",\n \"TO_NUMBER\",\n \"TO_NUMERIC\",\n \"TO_DOUBLE\",\n \"TO_GEOGRAPHY\",\n \"TO_GEOMETRY\",\n \"TO_JSON\",\n \"TO_OBJECT\",\n \"TO_TIME\",\n \"TIME\",\n \"TO_TIMESTAMP\",\n \"TO_TIMESTAMP_LTZ\",\n \"TO_TIMESTAMP_NTZ\",\n \"TO_TIMESTAMP_TZ\",\n \"TO_VARIANT\",\n \"TO_XML\",\n \"TRANSLATE\",\n \"TRIM\",\n \"TRUNCATE\",\n \"TRUNC\",\n \"TRUNC\",\n \"TRY_BASE64_DECODE_BINARY\",\n \"TRY_BASE64_DECODE_STRING\",\n \"TRY_CAST\",\n \"TRY_HEX_DECODE_BINARY\",\n \"TRY_HEX_DECODE_STRING\",\n \"TRY_PARSE_JSON\",\n \"TRY_TO_BINARY\",\n \"TRY_TO_BOOLEAN\",\n \"TRY_TO_DATE\",\n \"TRY_TO_DECIMAL\",\n \"TRY_TO_NUMBER\",\n \"TRY_TO_NUMERIC\",\n \"TRY_TO_DOUBLE\",\n \"TRY_TO_GEOGRAPHY\",\n \"TRY_TO_GEOMETRY\",\n \"TRY_TO_TIME\",\n \"TRY_TO_TIMESTAMP\",\n \"TRY_TO_TIMESTAMP_LTZ\",\n \"TRY_TO_TIMESTAMP_NTZ\",\n \"TRY_TO_TIMESTAMP_TZ\",\n \"TYPEOF\",\n \"UNICODE\",\n \"UNIFORM\",\n \"UPPER\",\n \"UUID_STRING\",\n \"VALIDATE\",\n \"VALIDATE_PIPE_LOAD\",\n \"VAR_POP\",\n \"VAR_SAMP\",\n \"VARIANCE\",\n \"VARIANCE_SAMP\",\n \"VARIANCE_POP\",\n \"WAREHOUSE_LOAD_HISTORY\",\n \"WAREHOUSE_METERING_HISTORY\",\n \"WIDTH_BUCKET\",\n \"XMLGET\",\n \"YEAR\",\n \"YEAROFWEEK\",\n \"YEAROFWEEKISO\",\n \"DAY\",\n \"DAYOFMONTH\",\n \"DAYOFWEEK\",\n \"DAYOFWEEKISO\",\n \"DAYOFYEAR\",\n \"WEEK\",\n \"WEEK\",\n \"WEEKOFYEAR\",\n \"WEEKISO\",\n \"MONTH\",\n \"QUARTER\",\n \"ZEROIFNULL\",\n \"ZIPF\"\n];\n\n// src/languages/snowflake/snowflake.keywords.ts\nvar keywords17 = [\n // https://docs.snowflake.com/en/sql-reference/reserved-keywords.html\n //\n // run in console on this page: $x('//tbody/tr/*[1]/p/text()').map(x => x.nodeValue)\n \"ACCOUNT\",\n \"ALL\",\n \"ALTER\",\n \"AND\",\n \"ANY\",\n \"AS\",\n \"BETWEEN\",\n \"BY\",\n \"CASE\",\n \"CAST\",\n \"CHECK\",\n \"COLUMN\",\n \"CONNECT\",\n \"CONNECTION\",\n \"CONSTRAINT\",\n \"CREATE\",\n \"CROSS\",\n \"CURRENT\",\n \"CURRENT_DATE\",\n \"CURRENT_TIME\",\n \"CURRENT_TIMESTAMP\",\n \"CURRENT_USER\",\n \"DATABASE\",\n \"DELETE\",\n \"DISTINCT\",\n \"DROP\",\n \"ELSE\",\n \"EXISTS\",\n \"FALSE\",\n \"FOLLOWING\",\n \"FOR\",\n \"FROM\",\n \"FULL\",\n \"GRANT\",\n \"GROUP\",\n \"GSCLUSTER\",\n \"HAVING\",\n \"ILIKE\",\n \"IN\",\n \"INCREMENT\",\n \"INNER\",\n \"INSERT\",\n \"INTERSECT\",\n \"INTO\",\n \"IS\",\n \"ISSUE\",\n \"JOIN\",\n \"LATERAL\",\n \"LEFT\",\n \"LIKE\",\n \"LOCALTIME\",\n \"LOCALTIMESTAMP\",\n \"MINUS\",\n \"NATURAL\",\n \"NOT\",\n \"NULL\",\n \"OF\",\n \"ON\",\n \"OR\",\n \"ORDER\",\n \"ORGANIZATION\",\n \"QUALIFY\",\n \"REGEXP\",\n \"REVOKE\",\n \"RIGHT\",\n \"RLIKE\",\n \"ROW\",\n \"ROWS\",\n \"SAMPLE\",\n \"SCHEMA\",\n \"SELECT\",\n \"SET\",\n \"SOME\",\n \"START\",\n \"TABLE\",\n \"TABLESAMPLE\",\n \"THEN\",\n \"TO\",\n \"TRIGGER\",\n \"TRUE\",\n \"TRY_CAST\",\n \"UNION\",\n \"UNIQUE\",\n \"UPDATE\",\n \"USING\",\n \"VALUES\",\n \"VIEW\",\n \"WHEN\",\n \"WHENEVER\",\n \"WHERE\",\n \"WITH\",\n // These are definitely keywords, but haven't found a definite list in the docs\n \"COMMENT\"\n];\nvar dataTypes17 = [\n \"NUMBER\",\n \"DECIMAL\",\n \"NUMERIC\",\n \"INT\",\n \"INTEGER\",\n \"BIGINT\",\n \"SMALLINT\",\n \"TINYINT\",\n \"BYTEINT\",\n \"FLOAT\",\n \"FLOAT4\",\n \"FLOAT8\",\n \"DOUBLE\",\n \"DOUBLE PRECISION\",\n \"REAL\",\n \"VARCHAR\",\n \"CHAR\",\n \"CHARACTER\",\n \"STRING\",\n \"TEXT\",\n \"BINARY\",\n \"VARBINARY\",\n \"BOOLEAN\",\n \"DATE\",\n \"DATETIME\",\n \"TIME\",\n \"TIMESTAMP\",\n \"TIMESTAMP_LTZ\",\n \"TIMESTAMP_NTZ\",\n \"TIMESTAMP\",\n \"TIMESTAMP_TZ\",\n \"VARIANT\",\n \"OBJECT\",\n \"ARRAY\",\n \"GEOGRAPHY\",\n \"GEOMETRY\"\n];\n\n// src/languages/snowflake/snowflake.formatter.ts\nvar reservedSelect17 = expandPhrases([\"SELECT [ALL | DISTINCT]\"]);\nvar reservedClauses17 = expandPhrases([\n // queries\n \"WITH [RECURSIVE]\",\n \"FROM\",\n \"WHERE\",\n \"GROUP BY\",\n \"HAVING\",\n \"PARTITION BY\",\n \"ORDER BY\",\n \"QUALIFY\",\n \"LIMIT\",\n \"OFFSET\",\n \"FETCH [FIRST | NEXT]\",\n // Data manipulation\n // - insert:\n \"INSERT [OVERWRITE] [ALL INTO | INTO | ALL | FIRST]\",\n \"{THEN | ELSE} INTO\",\n \"VALUES\",\n // - update:\n \"SET\",\n \"CLUSTER BY\",\n \"[WITH] {MASKING POLICY | TAG | ROW ACCESS POLICY}\",\n \"COPY GRANTS\",\n \"USING TEMPLATE\",\n \"MERGE INTO\",\n \"WHEN MATCHED [AND]\",\n \"THEN {UPDATE SET | DELETE}\",\n \"WHEN NOT MATCHED THEN INSERT\"\n]);\nvar onelineClauses17 = expandPhrases([\n // - create:\n \"CREATE [OR REPLACE] [VOLATILE] TABLE [IF NOT EXISTS]\",\n \"CREATE [OR REPLACE] [LOCAL | GLOBAL] {TEMP|TEMPORARY} TABLE [IF NOT EXISTS]\",\n \"CREATE [OR REPLACE] [SECURE] [RECURSIVE] VIEW [IF NOT EXISTS]\",\n // - update:\n \"UPDATE\",\n // - delete:\n \"DELETE FROM\",\n // - drop table:\n \"DROP TABLE [IF EXISTS]\",\n // - alter table:\n \"ALTER TABLE [IF EXISTS]\",\n \"RENAME TO\",\n \"SWAP WITH\",\n \"[SUSPEND | RESUME] RECLUSTER\",\n \"DROP CLUSTERING KEY\",\n \"ADD [COLUMN]\",\n \"RENAME COLUMN\",\n \"{ALTER | MODIFY} [COLUMN]\",\n \"DROP [COLUMN]\",\n \"{ADD | ALTER | MODIFY | DROP} [CONSTRAINT]\",\n \"RENAME CONSTRAINT\",\n \"{ADD | DROP} SEARCH OPTIMIZATION\",\n \"{SET | UNSET} TAG\",\n // Actually TAG is optional, but that conflicts with UPDATE..SET statement\n \"{ADD | DROP} ROW ACCESS POLICY\",\n \"DROP ALL ROW ACCESS POLICIES\",\n \"{SET | DROP} DEFAULT\",\n // for alter column\n \"{SET | DROP} NOT NULL\",\n // for alter column\n \"[SET DATA] TYPE\",\n // for alter column\n \"UNSET COMMENT\",\n // for alter column\n \"{SET | UNSET} MASKING POLICY\",\n // for alter column\n // - truncate:\n \"TRUNCATE [TABLE] [IF EXISTS]\",\n // other\n // https://docs.snowflake.com/en/sql-reference/sql-all.html\n //\n // 1. run in console on this page: $x('//tbody/tr/*[1]//a/span/text()').map(x => x.nodeValue)\n // 2. delete all lines that contain a sting like '(.*)', they are already covered in the list\n // 3. delete all lines that contain a sting like '<.*>', they are already covered in the list\n // 4. delete all lines that contain '…', they are part of a regex statement that can't be covered here\n // 5. Manually add 'COPY INTO'\n // 6. Remove all lines that are already in `reservedClauses`\n //\n // Steps 1-4 can be combined by the following script in the developer console:\n // $x('//tbody/tr/*[1]//a/span/text()').map(x => x.nodeValue) // Step 1\n // filter(x => !x.match(/\\(.*\\)/) && !x.match(/…/) && !x.match(/<.*>/)) // Step 2-4\n \"ALTER ACCOUNT\",\n \"ALTER API INTEGRATION\",\n \"ALTER CONNECTION\",\n \"ALTER DATABASE\",\n \"ALTER EXTERNAL TABLE\",\n \"ALTER FAILOVER GROUP\",\n \"ALTER FILE FORMAT\",\n \"ALTER FUNCTION\",\n \"ALTER INTEGRATION\",\n \"ALTER MASKING POLICY\",\n \"ALTER MATERIALIZED VIEW\",\n \"ALTER NETWORK POLICY\",\n \"ALTER NOTIFICATION INTEGRATION\",\n \"ALTER PIPE\",\n \"ALTER PROCEDURE\",\n \"ALTER REPLICATION GROUP\",\n \"ALTER RESOURCE MONITOR\",\n \"ALTER ROLE\",\n \"ALTER ROW ACCESS POLICY\",\n \"ALTER SCHEMA\",\n \"ALTER SECURITY INTEGRATION\",\n \"ALTER SEQUENCE\",\n \"ALTER SESSION\",\n \"ALTER SESSION POLICY\",\n \"ALTER SHARE\",\n \"ALTER STAGE\",\n \"ALTER STORAGE INTEGRATION\",\n \"ALTER STREAM\",\n \"ALTER TAG\",\n \"ALTER TASK\",\n \"ALTER USER\",\n \"ALTER VIEW\",\n \"ALTER WAREHOUSE\",\n \"BEGIN\",\n \"CALL\",\n \"COMMIT\",\n \"COPY INTO\",\n \"CREATE ACCOUNT\",\n \"CREATE API INTEGRATION\",\n \"CREATE CONNECTION\",\n \"CREATE DATABASE\",\n \"CREATE EXTERNAL FUNCTION\",\n \"CREATE EXTERNAL TABLE\",\n \"CREATE FAILOVER GROUP\",\n \"CREATE FILE FORMAT\",\n \"CREATE FUNCTION\",\n \"CREATE INTEGRATION\",\n \"CREATE MANAGED ACCOUNT\",\n \"CREATE MASKING POLICY\",\n \"CREATE MATERIALIZED VIEW\",\n \"CREATE NETWORK POLICY\",\n \"CREATE NOTIFICATION INTEGRATION\",\n \"CREATE PIPE\",\n \"CREATE PROCEDURE\",\n \"CREATE REPLICATION GROUP\",\n \"CREATE RESOURCE MONITOR\",\n \"CREATE ROLE\",\n \"CREATE ROW ACCESS POLICY\",\n \"CREATE SCHEMA\",\n \"CREATE SECURITY INTEGRATION\",\n \"CREATE SEQUENCE\",\n \"CREATE SESSION POLICY\",\n \"CREATE SHARE\",\n \"CREATE STAGE\",\n \"CREATE STORAGE INTEGRATION\",\n \"CREATE STREAM\",\n \"CREATE TAG\",\n \"CREATE TASK\",\n \"CREATE USER\",\n \"CREATE WAREHOUSE\",\n \"DELETE\",\n \"DESCRIBE DATABASE\",\n \"DESCRIBE EXTERNAL TABLE\",\n \"DESCRIBE FILE FORMAT\",\n \"DESCRIBE FUNCTION\",\n \"DESCRIBE INTEGRATION\",\n \"DESCRIBE MASKING POLICY\",\n \"DESCRIBE MATERIALIZED VIEW\",\n \"DESCRIBE NETWORK POLICY\",\n \"DESCRIBE PIPE\",\n \"DESCRIBE PROCEDURE\",\n \"DESCRIBE RESULT\",\n \"DESCRIBE ROW ACCESS POLICY\",\n \"DESCRIBE SCHEMA\",\n \"DESCRIBE SEQUENCE\",\n \"DESCRIBE SESSION POLICY\",\n \"DESCRIBE SHARE\",\n \"DESCRIBE STAGE\",\n \"DESCRIBE STREAM\",\n \"DESCRIBE TABLE\",\n \"DESCRIBE TASK\",\n \"DESCRIBE TRANSACTION\",\n \"DESCRIBE USER\",\n \"DESCRIBE VIEW\",\n \"DESCRIBE WAREHOUSE\",\n \"DROP CONNECTION\",\n \"DROP DATABASE\",\n \"DROP EXTERNAL TABLE\",\n \"DROP FAILOVER GROUP\",\n \"DROP FILE FORMAT\",\n \"DROP FUNCTION\",\n \"DROP INTEGRATION\",\n \"DROP MANAGED ACCOUNT\",\n \"DROP MASKING POLICY\",\n \"DROP MATERIALIZED VIEW\",\n \"DROP NETWORK POLICY\",\n \"DROP PIPE\",\n \"DROP PROCEDURE\",\n \"DROP REPLICATION GROUP\",\n \"DROP RESOURCE MONITOR\",\n \"DROP ROLE\",\n \"DROP ROW ACCESS POLICY\",\n \"DROP SCHEMA\",\n \"DROP SEQUENCE\",\n \"DROP SESSION POLICY\",\n \"DROP SHARE\",\n \"DROP STAGE\",\n \"DROP STREAM\",\n \"DROP TAG\",\n \"DROP TASK\",\n \"DROP USER\",\n \"DROP VIEW\",\n \"DROP WAREHOUSE\",\n \"EXECUTE IMMEDIATE\",\n \"EXECUTE TASK\",\n \"EXPLAIN\",\n \"GET\",\n \"GRANT OWNERSHIP\",\n \"GRANT ROLE\",\n \"INSERT\",\n \"LIST\",\n \"MERGE\",\n \"PUT\",\n \"REMOVE\",\n \"REVOKE ROLE\",\n \"ROLLBACK\",\n \"SHOW COLUMNS\",\n \"SHOW CONNECTIONS\",\n \"SHOW DATABASES\",\n \"SHOW DATABASES IN FAILOVER GROUP\",\n \"SHOW DATABASES IN REPLICATION GROUP\",\n \"SHOW DELEGATED AUTHORIZATIONS\",\n \"SHOW EXTERNAL FUNCTIONS\",\n \"SHOW EXTERNAL TABLES\",\n \"SHOW FAILOVER GROUPS\",\n \"SHOW FILE FORMATS\",\n \"SHOW FUNCTIONS\",\n \"SHOW GLOBAL ACCOUNTS\",\n \"SHOW GRANTS\",\n \"SHOW INTEGRATIONS\",\n \"SHOW LOCKS\",\n \"SHOW MANAGED ACCOUNTS\",\n \"SHOW MASKING POLICIES\",\n \"SHOW MATERIALIZED VIEWS\",\n \"SHOW NETWORK POLICIES\",\n \"SHOW OBJECTS\",\n \"SHOW ORGANIZATION ACCOUNTS\",\n \"SHOW PARAMETERS\",\n \"SHOW PIPES\",\n \"SHOW PRIMARY KEYS\",\n \"SHOW PROCEDURES\",\n \"SHOW REGIONS\",\n \"SHOW REPLICATION ACCOUNTS\",\n \"SHOW REPLICATION DATABASES\",\n \"SHOW REPLICATION GROUPS\",\n \"SHOW RESOURCE MONITORS\",\n \"SHOW ROLES\",\n \"SHOW ROW ACCESS POLICIES\",\n \"SHOW SCHEMAS\",\n \"SHOW SEQUENCES\",\n \"SHOW SESSION POLICIES\",\n \"SHOW SHARES\",\n \"SHOW SHARES IN FAILOVER GROUP\",\n \"SHOW SHARES IN REPLICATION GROUP\",\n \"SHOW STAGES\",\n \"SHOW STREAMS\",\n \"SHOW TABLES\",\n \"SHOW TAGS\",\n \"SHOW TASKS\",\n \"SHOW TRANSACTIONS\",\n \"SHOW USER FUNCTIONS\",\n \"SHOW USERS\",\n \"SHOW VARIABLES\",\n \"SHOW VIEWS\",\n \"SHOW WAREHOUSES\",\n \"TRUNCATE MATERIALIZED VIEW\",\n \"UNDROP DATABASE\",\n \"UNDROP SCHEMA\",\n \"UNDROP TABLE\",\n \"UNDROP TAG\",\n \"UNSET\",\n \"USE DATABASE\",\n \"USE ROLE\",\n \"USE SCHEMA\",\n \"USE SECONDARY ROLES\",\n \"USE WAREHOUSE\"\n]);\nvar reservedSetOperations17 = expandPhrases([\"UNION [ALL]\", \"MINUS\", \"EXCEPT\", \"INTERSECT\"]);\nvar reservedJoins17 = expandPhrases([\n \"[INNER] JOIN\",\n \"[NATURAL] {LEFT | RIGHT | FULL} [OUTER] JOIN\",\n \"{CROSS | NATURAL} JOIN\"\n]);\nvar reservedPhrases17 = expandPhrases([\n \"{ROWS | RANGE} BETWEEN\",\n \"ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]\"\n]);\nvar snowflake = {\n name: \"snowflake\",\n tokenizerOptions: {\n reservedSelect: reservedSelect17,\n reservedClauses: [...reservedClauses17, ...onelineClauses17],\n reservedSetOperations: reservedSetOperations17,\n reservedJoins: reservedJoins17,\n reservedPhrases: reservedPhrases17,\n reservedKeywords: keywords17,\n reservedDataTypes: dataTypes17,\n reservedFunctionNames: functions17,\n stringTypes: [\"$$\", `''-qq-bs`],\n identTypes: ['\"\"-qq'],\n variableTypes: [\n // for accessing columns at certain positons in the table\n { regex: \"[$][1-9]\\\\d*\" },\n // identifier style syntax\n { regex: \"[$][_a-zA-Z][_a-zA-Z0-9$]*\" }\n ],\n extraParens: [\"[]\"],\n identChars: { rest: \"$\" },\n lineCommentTypes: [\"--\", \"//\"],\n operators: [\n // Modulo\n \"%\",\n // Type cast\n \"::\",\n // String concat\n \"||\",\n // Get Path\n \":\",\n // Generators: https://docs.snowflake.com/en/sql-reference/functions/generator.html#generator\n \"=>\"\n ]\n },\n formatOptions: {\n alwaysDenseOperators: [\":\", \"::\"],\n onelineClauses: onelineClauses17\n }\n};\n\n// src/utils.ts\nvar last = (arr) => arr[arr.length - 1];\nvar sortByLengthDesc = (strings) => strings.sort((a, b) => b.length - a.length || a.localeCompare(b));\nvar equalizeWhitespace = (s) => s.replace(/\\s+/gu, \" \");\nvar isMultiline = (text) => /\\n/.test(text);\n\n// src/lexer/regexUtil.ts\nvar escapeRegExp = (string2) => string2.replace(/[.*+?^${}()|[\\]\\\\]/gu, \"\\\\$&\");\nvar WHITESPACE_REGEX = /\\s+/uy;\nvar patternToRegex = (pattern) => new RegExp(`(?:${pattern})`, \"uy\");\nvar toCaseInsensitivePattern = (prefix) => prefix.split(\"\").map((char) => / /gu.test(char) ? \"\\\\s+\" : `[${char.toUpperCase()}${char.toLowerCase()}]`).join(\"\");\nvar withDashes = (pattern) => pattern + \"(?:-\" + pattern + \")*\";\nvar prefixesPattern = ({ prefixes, requirePrefix }) => `(?:${prefixes.map(toCaseInsensitivePattern).join(\"|\")}${requirePrefix ? \"\" : \"|\"})`;\n\n// src/lexer/regexFactory.ts\nvar lineComment = (lineCommentTypes) => new RegExp(`(?:${lineCommentTypes.map(escapeRegExp).join(\"|\")}).*?(?=\\r\n|\\r|\n|$)`, \"uy\");\nvar parenthesis = (kind, extraParens = []) => {\n const index = kind === \"open\" ? 0 : 1;\n const parens = [\"()\", ...extraParens].map((pair) => pair[index]);\n return patternToRegex(parens.map(escapeRegExp).join(\"|\"));\n};\nvar operator = (operators) => patternToRegex(`${sortByLengthDesc(operators).map(escapeRegExp).join(\"|\")}`);\nvar rejectIdentCharsPattern = ({ rest, dashes }) => rest || dashes ? `(?![${rest || \"\"}${dashes ? \"-\" : \"\"}])` : \"\";\nvar reservedWord = (reservedKeywords, identChars = {}) => {\n if (reservedKeywords.length === 0) {\n return /^\\b$/u;\n }\n const avoidIdentChars = rejectIdentCharsPattern(identChars);\n const reservedKeywordsPattern = sortByLengthDesc(reservedKeywords).map(escapeRegExp).join(\"|\").replace(/ /gu, \"\\\\s+\");\n return new RegExp(`(?:${reservedKeywordsPattern})${avoidIdentChars}\\\\b`, \"iuy\");\n};\nvar parameter = (paramTypes, pattern) => {\n if (!paramTypes.length) {\n return void 0;\n }\n const typesRegex = paramTypes.map(escapeRegExp).join(\"|\");\n return patternToRegex(`(?:${typesRegex})(?:${pattern})`);\n};\nvar buildQStringPatterns = () => {\n const specialDelimiterMap = {\n \"<\": \">\",\n \"[\": \"]\",\n \"(\": \")\",\n \"{\": \"}\"\n };\n const singlePattern = \"{left}(?:(?!{right}').)*?{right}\";\n const patternList = Object.entries(specialDelimiterMap).map(\n ([left, right]) => singlePattern.replace(/{left}/g, escapeRegExp(left)).replace(/{right}/g, escapeRegExp(right))\n );\n const specialDelimiters = escapeRegExp(Object.keys(specialDelimiterMap).join(\"\"));\n const standardDelimiterPattern = String.raw`(?[^\\s${specialDelimiters}])(?:(?!\\k').)*?\\k`;\n const qStringPattern = `[Qq]'(?:${standardDelimiterPattern}|${patternList.join(\"|\")})'`;\n return qStringPattern;\n};\nvar quotePatterns = {\n // - backtick quoted (using `` to escape)\n \"``\": \"(?:`[^`]*`)+\",\n // - Transact-SQL square bracket quoted (using ]] to escape)\n \"[]\": String.raw`(?:\\[[^\\]]*\\])(?:\\][^\\]]*\\])*`,\n // double-quoted\n '\"\"-qq': String.raw`(?:\"[^\"]*\")+`,\n // with repeated quote escapes\n '\"\"-bs': String.raw`(?:\"[^\"\\\\]*(?:\\\\.[^\"\\\\]*)*\")`,\n // with backslash escapes\n '\"\"-qq-bs': String.raw`(?:\"[^\"\\\\]*(?:\\\\.[^\"\\\\]*)*\")+`,\n // with repeated quote or backslash escapes\n '\"\"-raw': String.raw`(?:\"[^\"]*\")`,\n // no escaping\n // single-quoted\n \"''-qq\": String.raw`(?:'[^']*')+`,\n // with repeated quote escapes\n \"''-bs\": String.raw`(?:'[^'\\\\]*(?:\\\\.[^'\\\\]*)*')`,\n // with backslash escapes\n \"''-qq-bs\": String.raw`(?:'[^'\\\\]*(?:\\\\.[^'\\\\]*)*')+`,\n // with repeated quote or backslash escapes\n \"''-raw\": String.raw`(?:'[^']*')`,\n // no escaping\n // PostgreSQL dollar-quoted\n \"$$\": String.raw`(?\\$\\w*\\$)[\\s\\S]*?\\k`,\n // BigQuery '''triple-quoted''' (using \\' to escape)\n \"'''..'''\": String.raw`'''[^\\\\]*?(?:\\\\.[^\\\\]*?)*?'''`,\n // BigQuery \"\"\"triple-quoted\"\"\" (using \\\" to escape)\n '\"\"\"..\"\"\"': String.raw`\"\"\"[^\\\\]*?(?:\\\\.[^\\\\]*?)*?\"\"\"`,\n // Hive and Spark variables: ${name}\n \"{}\": String.raw`(?:\\{[^\\}]*\\})`,\n // Oracle q'' strings: q'' q'|text|' ...\n \"q''\": buildQStringPatterns()\n};\nvar singleQuotePattern = (quoteTypes) => {\n if (typeof quoteTypes === \"string\") {\n return quotePatterns[quoteTypes];\n } else if (\"regex\" in quoteTypes) {\n return quoteTypes.regex;\n } else {\n return prefixesPattern(quoteTypes) + quotePatterns[quoteTypes.quote];\n }\n};\nvar variable = (varTypes) => patternToRegex(\n varTypes.map((varType) => \"regex\" in varType ? varType.regex : singleQuotePattern(varType)).join(\"|\")\n);\nvar stringPattern = (quoteTypes) => quoteTypes.map(singleQuotePattern).join(\"|\");\nvar string = (quoteTypes) => patternToRegex(stringPattern(quoteTypes));\nvar identifier = (specialChars = {}) => patternToRegex(identifierPattern(specialChars));\nvar identifierPattern = ({\n first,\n rest,\n dashes,\n allowFirstCharNumber\n} = {}) => {\n const letter = \"\\\\p{Alphabetic}\\\\p{Mark}_\";\n const number = \"\\\\p{Decimal_Number}\";\n const firstChars = escapeRegExp(first != null ? first : \"\");\n const restChars = escapeRegExp(rest != null ? rest : \"\");\n const pattern = allowFirstCharNumber ? `[${letter}${number}${firstChars}][${letter}${number}${restChars}]*` : `[${letter}${firstChars}][${letter}${number}${restChars}]*`;\n return dashes ? withDashes(pattern) : pattern;\n};\n\n// src/lexer/lineColFromIndex.ts\nfunction lineColFromIndex(source, index) {\n const lines = source.slice(0, index).split(/\\n/);\n return { line: lines.length, col: lines[lines.length - 1].length + 1 };\n}\n\n// src/lexer/TokenizerEngine.ts\nvar TokenizerEngine = class {\n // Current position in string\n constructor(rules, dialectName) {\n this.rules = rules;\n this.dialectName = dialectName;\n this.input = \"\";\n // The input SQL string to process\n this.index = 0;\n }\n /**\n * Takes a SQL string and breaks it into tokens.\n * Each token is an object with type and value.\n *\n * @param {string} input - The SQL string\n * @returns {Token[]} output token stream\n */\n tokenize(input) {\n this.input = input;\n this.index = 0;\n const tokens = [];\n let token;\n while (this.index < this.input.length) {\n const precedingWhitespace = this.getWhitespace();\n if (this.index < this.input.length) {\n token = this.getNextToken();\n if (!token) {\n throw this.createParseError();\n }\n tokens.push(__spreadProps(__spreadValues({}, token), { precedingWhitespace }));\n }\n }\n return tokens;\n }\n createParseError() {\n const text = this.input.slice(this.index, this.index + 10);\n const { line, col } = lineColFromIndex(this.input, this.index);\n return new Error(\n `Parse error: Unexpected \"${text}\" at line ${line} column ${col}.\n${this.dialectInfo()}`\n );\n }\n dialectInfo() {\n if (this.dialectName === \"sql\") {\n return `This likely happens because you're using the default \"sql\" dialect.\nIf possible, please select a more specific dialect (like sqlite, postgresql, etc).`;\n } else {\n return `SQL dialect used: \"${this.dialectName}\".`;\n }\n }\n getWhitespace() {\n WHITESPACE_REGEX.lastIndex = this.index;\n const matches = WHITESPACE_REGEX.exec(this.input);\n if (matches) {\n this.index += matches[0].length;\n return matches[0];\n }\n return void 0;\n }\n getNextToken() {\n for (const rule of this.rules) {\n const token = this.match(rule);\n if (token) {\n return token;\n }\n }\n return void 0;\n }\n // Attempts to match token rule regex at current position in input\n match(rule) {\n rule.regex.lastIndex = this.index;\n const matches = rule.regex.exec(this.input);\n if (matches) {\n const matchedText = matches[0];\n const token = {\n type: rule.type,\n raw: matchedText,\n text: rule.text ? rule.text(matchedText) : matchedText,\n start: this.index\n };\n if (rule.key) {\n token.key = rule.key(matchedText);\n }\n this.index += matchedText.length;\n return token;\n }\n return void 0;\n }\n};\n\n// src/lexer/NestedComment.ts\nvar START = /\\/\\*/uy;\nvar MIDDLE = /([^/*]|\\*[^/]|\\/[^*])+/uy;\nvar END2 = /\\*\\//uy;\nvar NestedComment = class {\n constructor() {\n this.lastIndex = 0;\n }\n exec(input) {\n let result = \"\";\n let match;\n let nestLevel = 0;\n if (match = this.matchSection(START, input)) {\n result += match;\n nestLevel++;\n } else {\n return null;\n }\n while (nestLevel > 0) {\n if (match = this.matchSection(START, input)) {\n result += match;\n nestLevel++;\n } else if (match = this.matchSection(END2, input)) {\n result += match;\n nestLevel--;\n } else if (match = this.matchSection(MIDDLE, input)) {\n result += match;\n } else {\n return null;\n }\n }\n return [result];\n }\n matchSection(regex, input) {\n regex.lastIndex = this.lastIndex;\n const matches = regex.exec(input);\n if (matches) {\n this.lastIndex += matches[0].length;\n }\n return matches ? matches[0] : null;\n }\n};\n\n// src/lexer/Tokenizer.ts\nvar Tokenizer = class {\n constructor(cfg, dialectName) {\n this.cfg = cfg;\n this.dialectName = dialectName;\n this.rulesBeforeParams = this.buildRulesBeforeParams(cfg);\n this.rulesAfterParams = this.buildRulesAfterParams(cfg);\n }\n tokenize(input, paramTypesOverrides) {\n const rules = [\n ...this.rulesBeforeParams,\n ...this.buildParamRules(this.cfg, paramTypesOverrides),\n ...this.rulesAfterParams\n ];\n const tokens = new TokenizerEngine(rules, this.dialectName).tokenize(input);\n return this.cfg.postProcess ? this.cfg.postProcess(tokens) : tokens;\n }\n // These rules can be cached as they only depend on\n // the Tokenizer config options specified for each SQL dialect\n buildRulesBeforeParams(cfg) {\n var _a, _b;\n return this.validRules([\n {\n type: \"BLOCK_COMMENT\" /* BLOCK_COMMENT */,\n regex: cfg.nestedBlockComments ? new NestedComment() : /(\\/\\*[^]*?\\*\\/)/uy\n },\n {\n type: \"LINE_COMMENT\" /* LINE_COMMENT */,\n regex: lineComment((_a = cfg.lineCommentTypes) != null ? _a : [\"--\"])\n },\n {\n type: \"QUOTED_IDENTIFIER\" /* QUOTED_IDENTIFIER */,\n regex: string(cfg.identTypes)\n },\n {\n type: \"NUMBER\" /* NUMBER */,\n regex: /(?:0x[0-9a-fA-F]+|0b[01]+|(?:-\\s*)?[0-9]+(?:\\.[0-9]*)?(?:[eE][-+]?[0-9]+(?:\\.[0-9]+)?)?)(?![\\w\\p{Alphabetic}])/uy\n },\n // RESERVED_PHRASE is matched before all other keyword tokens\n // to e.g. prioritize matching \"TIMESTAMP WITH TIME ZONE\" phrase over \"WITH\" clause.\n {\n type: \"RESERVED_PHRASE\" /* RESERVED_PHRASE */,\n regex: reservedWord((_b = cfg.reservedPhrases) != null ? _b : [], cfg.identChars),\n text: toCanonical\n },\n {\n type: \"CASE\" /* CASE */,\n regex: /CASE\\b/iuy,\n text: toCanonical\n },\n {\n type: \"END\" /* END */,\n regex: /END\\b/iuy,\n text: toCanonical\n },\n {\n type: \"BETWEEN\" /* BETWEEN */,\n regex: /BETWEEN\\b/iuy,\n text: toCanonical\n },\n {\n type: \"LIMIT\" /* LIMIT */,\n regex: cfg.reservedClauses.includes(\"LIMIT\") ? /LIMIT\\b/iuy : void 0,\n text: toCanonical\n },\n {\n type: \"RESERVED_CLAUSE\" /* RESERVED_CLAUSE */,\n regex: reservedWord(cfg.reservedClauses, cfg.identChars),\n text: toCanonical\n },\n {\n type: \"RESERVED_SELECT\" /* RESERVED_SELECT */,\n regex: reservedWord(cfg.reservedSelect, cfg.identChars),\n text: toCanonical\n },\n {\n type: \"RESERVED_SET_OPERATION\" /* RESERVED_SET_OPERATION */,\n regex: reservedWord(cfg.reservedSetOperations, cfg.identChars),\n text: toCanonical\n },\n {\n type: \"WHEN\" /* WHEN */,\n regex: /WHEN\\b/iuy,\n text: toCanonical\n },\n {\n type: \"ELSE\" /* ELSE */,\n regex: /ELSE\\b/iuy,\n text: toCanonical\n },\n {\n type: \"THEN\" /* THEN */,\n regex: /THEN\\b/iuy,\n text: toCanonical\n },\n {\n type: \"RESERVED_JOIN\" /* RESERVED_JOIN */,\n regex: reservedWord(cfg.reservedJoins, cfg.identChars),\n text: toCanonical\n },\n {\n type: \"AND\" /* AND */,\n regex: /AND\\b/iuy,\n text: toCanonical\n },\n {\n type: \"OR\" /* OR */,\n regex: /OR\\b/iuy,\n text: toCanonical\n },\n {\n type: \"XOR\" /* XOR */,\n regex: cfg.supportsXor ? /XOR\\b/iuy : void 0,\n text: toCanonical\n },\n {\n type: \"RESERVED_FUNCTION_NAME\" /* RESERVED_FUNCTION_NAME */,\n regex: reservedWord(cfg.reservedFunctionNames, cfg.identChars),\n text: toCanonical\n },\n {\n type: \"RESERVED_DATA_TYPE\" /* RESERVED_DATA_TYPE */,\n regex: reservedWord(cfg.reservedDataTypes, cfg.identChars),\n text: toCanonical\n },\n {\n type: \"RESERVED_KEYWORD\" /* RESERVED_KEYWORD */,\n regex: reservedWord(cfg.reservedKeywords, cfg.identChars),\n text: toCanonical\n }\n ]);\n }\n // These rules can also be cached as they only depend on\n // the Tokenizer config options specified for each SQL dialect\n buildRulesAfterParams(cfg) {\n var _a;\n return this.validRules([\n {\n type: \"VARIABLE\" /* VARIABLE */,\n regex: cfg.variableTypes ? variable(cfg.variableTypes) : void 0\n },\n { type: \"STRING\" /* STRING */, regex: string(cfg.stringTypes) },\n {\n type: \"IDENTIFIER\" /* IDENTIFIER */,\n regex: identifier(cfg.identChars)\n },\n { type: \"DELIMITER\" /* DELIMITER */, regex: /[;]/uy },\n { type: \"COMMA\" /* COMMA */, regex: /[,]/y },\n {\n type: \"OPEN_PAREN\" /* OPEN_PAREN */,\n regex: parenthesis(\"open\", cfg.extraParens)\n },\n {\n type: \"CLOSE_PAREN\" /* CLOSE_PAREN */,\n regex: parenthesis(\"close\", cfg.extraParens)\n },\n {\n type: \"OPERATOR\" /* OPERATOR */,\n regex: operator([\n // standard operators\n \"+\",\n \"-\",\n \"/\",\n \">\",\n \"<\",\n \"=\",\n \"<>\",\n \"<=\",\n \">=\",\n \"!=\",\n ...(_a = cfg.operators) != null ? _a : []\n ])\n },\n { type: \"ASTERISK\" /* ASTERISK */, regex: /[*]/uy },\n { type: \"DOT\" /* DOT */, regex: /[.]/uy }\n ]);\n }\n // These rules can't be blindly cached as the paramTypesOverrides object\n // can differ on each invocation of the format() function.\n buildParamRules(cfg, paramTypesOverrides) {\n var _a, _b, _c, _d, _e;\n const paramTypes = {\n named: (paramTypesOverrides == null ? void 0 : paramTypesOverrides.named) || ((_a = cfg.paramTypes) == null ? void 0 : _a.named) || [],\n quoted: (paramTypesOverrides == null ? void 0 : paramTypesOverrides.quoted) || ((_b = cfg.paramTypes) == null ? void 0 : _b.quoted) || [],\n numbered: (paramTypesOverrides == null ? void 0 : paramTypesOverrides.numbered) || ((_c = cfg.paramTypes) == null ? void 0 : _c.numbered) || [],\n positional: typeof (paramTypesOverrides == null ? void 0 : paramTypesOverrides.positional) === \"boolean\" ? paramTypesOverrides.positional : (_d = cfg.paramTypes) == null ? void 0 : _d.positional,\n custom: (paramTypesOverrides == null ? void 0 : paramTypesOverrides.custom) || ((_e = cfg.paramTypes) == null ? void 0 : _e.custom) || []\n };\n return this.validRules([\n {\n type: \"NAMED_PARAMETER\" /* NAMED_PARAMETER */,\n regex: parameter(\n paramTypes.named,\n identifierPattern(cfg.paramChars || cfg.identChars)\n ),\n key: (v) => v.slice(1)\n },\n {\n type: \"QUOTED_PARAMETER\" /* QUOTED_PARAMETER */,\n regex: parameter(paramTypes.quoted, stringPattern(cfg.identTypes)),\n key: (v) => (({ tokenKey, quoteChar }) => tokenKey.replace(new RegExp(escapeRegExp(\"\\\\\" + quoteChar), \"gu\"), quoteChar))({\n tokenKey: v.slice(2, -1),\n quoteChar: v.slice(-1)\n })\n },\n {\n type: \"NUMBERED_PARAMETER\" /* NUMBERED_PARAMETER */,\n regex: parameter(paramTypes.numbered, \"[0-9]+\"),\n key: (v) => v.slice(1)\n },\n {\n type: \"POSITIONAL_PARAMETER\" /* POSITIONAL_PARAMETER */,\n regex: paramTypes.positional ? /[?]/y : void 0\n },\n ...paramTypes.custom.map(\n (customParam) => {\n var _a2;\n return {\n type: \"CUSTOM_PARAMETER\" /* CUSTOM_PARAMETER */,\n regex: patternToRegex(customParam.regex),\n key: (_a2 = customParam.key) != null ? _a2 : (v) => v\n };\n }\n )\n ]);\n }\n // filters out rules for token types whose regex is undefined\n validRules(rules) {\n return rules.filter((rule) => Boolean(rule.regex));\n }\n};\nvar toCanonical = (v) => equalizeWhitespace(v.toUpperCase());\n\n// src/dialect.ts\nvar cache = /* @__PURE__ */ new Map();\nvar createDialect = (options) => {\n let dialect = cache.get(options);\n if (!dialect) {\n dialect = dialectFromOptions(options);\n cache.set(options, dialect);\n }\n return dialect;\n};\nvar dialectFromOptions = (dialectOptions) => ({\n tokenizer: new Tokenizer(dialectOptions.tokenizerOptions, dialectOptions.name),\n formatOptions: processDialectFormatOptions(dialectOptions.formatOptions)\n});\nvar processDialectFormatOptions = (options) => ({\n alwaysDenseOperators: options.alwaysDenseOperators || [],\n onelineClauses: Object.fromEntries(options.onelineClauses.map((name) => [name, true]))\n});\n\n// src/formatter/config.ts\nfunction indentString(cfg) {\n if (cfg.indentStyle === \"tabularLeft\" || cfg.indentStyle === \"tabularRight\") {\n return \" \".repeat(10);\n }\n if (cfg.useTabs) {\n return \"\t\";\n }\n return \" \".repeat(cfg.tabWidth);\n}\nfunction isTabularStyle(cfg) {\n return cfg.indentStyle === \"tabularLeft\" || cfg.indentStyle === \"tabularRight\";\n}\n\n// src/formatter/Params.ts\nvar Params = class {\n constructor(params) {\n this.params = params;\n this.index = 0;\n }\n /**\n * Returns param value that matches given placeholder with param key.\n */\n get({ key, text }) {\n if (!this.params) {\n return text;\n }\n if (key) {\n return this.params[key];\n }\n return this.params[this.index++];\n }\n /**\n * Returns index of current positional parameter.\n */\n getPositionalParameterIndex() {\n return this.index;\n }\n /**\n * Sets index of current positional parameter.\n */\n setPositionalParameterIndex(i) {\n this.index = i;\n }\n};\n\n// src/parser/createParser.ts\nimport nearley from \"nearley\";\n\n// src/lexer/disambiguateTokens.ts\nfunction disambiguateTokens(tokens) {\n return tokens.map(dotKeywordToIdent).map(funcNameToKeyword).map(dataTypeToParameterizedDataType).map(identToArrayIdent).map(dataTypeToArrayKeyword);\n}\nvar dotKeywordToIdent = (token, i, tokens) => {\n if (isReserved(token.type)) {\n const prevToken = prevNonCommentToken(tokens, i);\n if (prevToken && prevToken.text === \".\") {\n return __spreadProps(__spreadValues({}, token), { type: \"IDENTIFIER\" /* IDENTIFIER */, text: token.raw });\n }\n }\n return token;\n};\nvar funcNameToKeyword = (token, i, tokens) => {\n if (token.type === \"RESERVED_FUNCTION_NAME\" /* RESERVED_FUNCTION_NAME */) {\n const nextToken = nextNonCommentToken(tokens, i);\n if (!nextToken || !isOpenParen(nextToken)) {\n return __spreadProps(__spreadValues({}, token), { type: \"RESERVED_KEYWORD\" /* RESERVED_KEYWORD */ });\n }\n }\n return token;\n};\nvar dataTypeToParameterizedDataType = (token, i, tokens) => {\n if (token.type === \"RESERVED_DATA_TYPE\" /* RESERVED_DATA_TYPE */) {\n const nextToken = nextNonCommentToken(tokens, i);\n if (nextToken && isOpenParen(nextToken)) {\n return __spreadProps(__spreadValues({}, token), { type: \"RESERVED_PARAMETERIZED_DATA_TYPE\" /* RESERVED_PARAMETERIZED_DATA_TYPE */ });\n }\n }\n return token;\n};\nvar identToArrayIdent = (token, i, tokens) => {\n if (token.type === \"IDENTIFIER\" /* IDENTIFIER */) {\n const nextToken = nextNonCommentToken(tokens, i);\n if (nextToken && isOpenBracket(nextToken)) {\n return __spreadProps(__spreadValues({}, token), { type: \"ARRAY_IDENTIFIER\" /* ARRAY_IDENTIFIER */ });\n }\n }\n return token;\n};\nvar dataTypeToArrayKeyword = (token, i, tokens) => {\n if (token.type === \"RESERVED_DATA_TYPE\" /* RESERVED_DATA_TYPE */) {\n const nextToken = nextNonCommentToken(tokens, i);\n if (nextToken && isOpenBracket(nextToken)) {\n return __spreadProps(__spreadValues({}, token), { type: \"ARRAY_KEYWORD\" /* ARRAY_KEYWORD */ });\n }\n }\n return token;\n};\nvar prevNonCommentToken = (tokens, index) => nextNonCommentToken(tokens, index, -1);\nvar nextNonCommentToken = (tokens, index, dir = 1) => {\n let i = 1;\n while (tokens[index + i * dir] && isComment(tokens[index + i * dir])) {\n i++;\n }\n return tokens[index + i * dir];\n};\nvar isOpenParen = (t) => t.type === \"OPEN_PAREN\" /* OPEN_PAREN */ && t.text === \"(\";\nvar isOpenBracket = (t) => t.type === \"OPEN_PAREN\" /* OPEN_PAREN */ && t.text === \"[\";\nvar isComment = (t) => t.type === \"BLOCK_COMMENT\" /* BLOCK_COMMENT */ || t.type === \"LINE_COMMENT\" /* LINE_COMMENT */;\n\n// src/parser/LexerAdapter.ts\nvar LexerAdapter = class {\n constructor(tokenize) {\n this.tokenize = tokenize;\n this.index = 0;\n this.tokens = [];\n this.input = \"\";\n }\n reset(chunk, _info) {\n this.input = chunk;\n this.index = 0;\n this.tokens = this.tokenize(chunk);\n }\n next() {\n return this.tokens[this.index++];\n }\n save() {\n }\n formatError(token) {\n const { line, col } = lineColFromIndex(this.input, token.start);\n return `Parse error at token: ${token.text} at line ${line} column ${col}`;\n }\n has(name) {\n return name in TokenType;\n }\n};\n\n// src/parser/grammar.ts\nfunction id(d) {\n return d[0];\n}\nvar lexer = new LexerAdapter((chunk) => []);\nvar unwrap = ([[el]]) => el;\nvar toKeywordNode = (token) => ({\n type: \"keyword\" /* keyword */,\n tokenType: token.type,\n text: token.text,\n raw: token.raw\n});\nvar toDataTypeNode = (token) => ({\n type: \"data_type\" /* data_type */,\n text: token.text,\n raw: token.raw\n});\nvar addComments = (node, { leading, trailing }) => {\n if (leading == null ? void 0 : leading.length) {\n node = __spreadProps(__spreadValues({}, node), { leadingComments: leading });\n }\n if (trailing == null ? void 0 : trailing.length) {\n node = __spreadProps(__spreadValues({}, node), { trailingComments: trailing });\n }\n return node;\n};\nvar addCommentsToArray = (nodes, { leading, trailing }) => {\n if (leading == null ? void 0 : leading.length) {\n const [first, ...rest] = nodes;\n nodes = [addComments(first, { leading }), ...rest];\n }\n if (trailing == null ? void 0 : trailing.length) {\n const lead = nodes.slice(0, -1);\n const last2 = nodes[nodes.length - 1];\n nodes = [...lead, addComments(last2, { trailing })];\n }\n return nodes;\n};\nvar grammar = {\n Lexer: lexer,\n ParserRules: [\n { \"name\": \"main$ebnf$1\", \"symbols\": [] },\n { \"name\": \"main$ebnf$1\", \"symbols\": [\"main$ebnf$1\", \"statement\"], \"postprocess\": (d) => d[0].concat([d[1]]) },\n {\n \"name\": \"main\",\n \"symbols\": [\"main$ebnf$1\"],\n \"postprocess\": ([statements]) => {\n const last2 = statements[statements.length - 1];\n if (last2 && !last2.hasSemicolon) {\n return last2.children.length > 0 ? statements : statements.slice(0, -1);\n } else {\n return statements;\n }\n }\n },\n { \"name\": \"statement$subexpression$1\", \"symbols\": [lexer.has(\"DELIMITER\") ? { type: \"DELIMITER\" } : DELIMITER] },\n { \"name\": \"statement$subexpression$1\", \"symbols\": [lexer.has(\"EOF\") ? { type: \"EOF\" } : EOF] },\n {\n \"name\": \"statement\",\n \"symbols\": [\"expressions_or_clauses\", \"statement$subexpression$1\"],\n \"postprocess\": ([children, [delimiter]]) => ({\n type: \"statement\" /* statement */,\n children,\n hasSemicolon: delimiter.type === \"DELIMITER\" /* DELIMITER */\n })\n },\n { \"name\": \"expressions_or_clauses$ebnf$1\", \"symbols\": [] },\n { \"name\": \"expressions_or_clauses$ebnf$1\", \"symbols\": [\"expressions_or_clauses$ebnf$1\", \"free_form_sql\"], \"postprocess\": (d) => d[0].concat([d[1]]) },\n { \"name\": \"expressions_or_clauses$ebnf$2\", \"symbols\": [] },\n { \"name\": \"expressions_or_clauses$ebnf$2\", \"symbols\": [\"expressions_or_clauses$ebnf$2\", \"clause\"], \"postprocess\": (d) => d[0].concat([d[1]]) },\n {\n \"name\": \"expressions_or_clauses\",\n \"symbols\": [\"expressions_or_clauses$ebnf$1\", \"expressions_or_clauses$ebnf$2\"],\n \"postprocess\": ([expressions, clauses]) => [...expressions, ...clauses]\n },\n { \"name\": \"clause$subexpression$1\", \"symbols\": [\"limit_clause\"] },\n { \"name\": \"clause$subexpression$1\", \"symbols\": [\"select_clause\"] },\n { \"name\": \"clause$subexpression$1\", \"symbols\": [\"other_clause\"] },\n { \"name\": \"clause$subexpression$1\", \"symbols\": [\"set_operation\"] },\n { \"name\": \"clause\", \"symbols\": [\"clause$subexpression$1\"], \"postprocess\": unwrap },\n { \"name\": \"limit_clause$ebnf$1$subexpression$1$ebnf$1\", \"symbols\": [\"free_form_sql\"] },\n { \"name\": \"limit_clause$ebnf$1$subexpression$1$ebnf$1\", \"symbols\": [\"limit_clause$ebnf$1$subexpression$1$ebnf$1\", \"free_form_sql\"], \"postprocess\": (d) => d[0].concat([d[1]]) },\n { \"name\": \"limit_clause$ebnf$1$subexpression$1\", \"symbols\": [lexer.has(\"COMMA\") ? { type: \"COMMA\" } : COMMA, \"limit_clause$ebnf$1$subexpression$1$ebnf$1\"] },\n { \"name\": \"limit_clause$ebnf$1\", \"symbols\": [\"limit_clause$ebnf$1$subexpression$1\"], \"postprocess\": id },\n { \"name\": \"limit_clause$ebnf$1\", \"symbols\": [], \"postprocess\": () => null },\n {\n \"name\": \"limit_clause\",\n \"symbols\": [lexer.has(\"LIMIT\") ? { type: \"LIMIT\" } : LIMIT, \"_\", \"expression_chain_\", \"limit_clause$ebnf$1\"],\n \"postprocess\": ([limitToken, _, exp1, optional]) => {\n if (optional) {\n const [comma, exp2] = optional;\n return {\n type: \"limit_clause\" /* limit_clause */,\n limitKw: addComments(toKeywordNode(limitToken), { trailing: _ }),\n offset: exp1,\n count: exp2\n };\n } else {\n return {\n type: \"limit_clause\" /* limit_clause */,\n limitKw: addComments(toKeywordNode(limitToken), { trailing: _ }),\n count: exp1\n };\n }\n }\n },\n { \"name\": \"select_clause$subexpression$1$ebnf$1\", \"symbols\": [] },\n { \"name\": \"select_clause$subexpression$1$ebnf$1\", \"symbols\": [\"select_clause$subexpression$1$ebnf$1\", \"free_form_sql\"], \"postprocess\": (d) => d[0].concat([d[1]]) },\n { \"name\": \"select_clause$subexpression$1\", \"symbols\": [\"all_columns_asterisk\", \"select_clause$subexpression$1$ebnf$1\"] },\n { \"name\": \"select_clause$subexpression$1$ebnf$2\", \"symbols\": [] },\n { \"name\": \"select_clause$subexpression$1$ebnf$2\", \"symbols\": [\"select_clause$subexpression$1$ebnf$2\", \"free_form_sql\"], \"postprocess\": (d) => d[0].concat([d[1]]) },\n { \"name\": \"select_clause$subexpression$1\", \"symbols\": [\"asteriskless_free_form_sql\", \"select_clause$subexpression$1$ebnf$2\"] },\n {\n \"name\": \"select_clause\",\n \"symbols\": [lexer.has(\"RESERVED_SELECT\") ? { type: \"RESERVED_SELECT\" } : RESERVED_SELECT, \"select_clause$subexpression$1\"],\n \"postprocess\": ([nameToken, [exp, expressions]]) => ({\n type: \"clause\" /* clause */,\n nameKw: toKeywordNode(nameToken),\n children: [exp, ...expressions]\n })\n },\n {\n \"name\": \"select_clause\",\n \"symbols\": [lexer.has(\"RESERVED_SELECT\") ? { type: \"RESERVED_SELECT\" } : RESERVED_SELECT],\n \"postprocess\": ([nameToken]) => ({\n type: \"clause\" /* clause */,\n nameKw: toKeywordNode(nameToken),\n children: []\n })\n },\n {\n \"name\": \"all_columns_asterisk\",\n \"symbols\": [lexer.has(\"ASTERISK\") ? { type: \"ASTERISK\" } : ASTERISK],\n \"postprocess\": () => ({ type: \"all_columns_asterisk\" /* all_columns_asterisk */ })\n },\n { \"name\": \"other_clause$ebnf$1\", \"symbols\": [] },\n { \"name\": \"other_clause$ebnf$1\", \"symbols\": [\"other_clause$ebnf$1\", \"free_form_sql\"], \"postprocess\": (d) => d[0].concat([d[1]]) },\n {\n \"name\": \"other_clause\",\n \"symbols\": [lexer.has(\"RESERVED_CLAUSE\") ? { type: \"RESERVED_CLAUSE\" } : RESERVED_CLAUSE, \"other_clause$ebnf$1\"],\n \"postprocess\": ([nameToken, children]) => ({\n type: \"clause\" /* clause */,\n nameKw: toKeywordNode(nameToken),\n children\n })\n },\n { \"name\": \"set_operation$ebnf$1\", \"symbols\": [] },\n { \"name\": \"set_operation$ebnf$1\", \"symbols\": [\"set_operation$ebnf$1\", \"free_form_sql\"], \"postprocess\": (d) => d[0].concat([d[1]]) },\n {\n \"name\": \"set_operation\",\n \"symbols\": [lexer.has(\"RESERVED_SET_OPERATION\") ? { type: \"RESERVED_SET_OPERATION\" } : RESERVED_SET_OPERATION, \"set_operation$ebnf$1\"],\n \"postprocess\": ([nameToken, children]) => ({\n type: \"set_operation\" /* set_operation */,\n nameKw: toKeywordNode(nameToken),\n children\n })\n },\n { \"name\": \"expression_chain_$ebnf$1\", \"symbols\": [\"expression_with_comments_\"] },\n { \"name\": \"expression_chain_$ebnf$1\", \"symbols\": [\"expression_chain_$ebnf$1\", \"expression_with_comments_\"], \"postprocess\": (d) => d[0].concat([d[1]]) },\n { \"name\": \"expression_chain_\", \"symbols\": [\"expression_chain_$ebnf$1\"], \"postprocess\": id },\n { \"name\": \"expression_chain$ebnf$1\", \"symbols\": [] },\n { \"name\": \"expression_chain$ebnf$1\", \"symbols\": [\"expression_chain$ebnf$1\", \"_expression_with_comments\"], \"postprocess\": (d) => d[0].concat([d[1]]) },\n {\n \"name\": \"expression_chain\",\n \"symbols\": [\"expression\", \"expression_chain$ebnf$1\"],\n \"postprocess\": ([expr, chain]) => [expr, ...chain]\n },\n { \"name\": \"andless_expression_chain$ebnf$1\", \"symbols\": [] },\n { \"name\": \"andless_expression_chain$ebnf$1\", \"symbols\": [\"andless_expression_chain$ebnf$1\", \"_andless_expression_with_comments\"], \"postprocess\": (d) => d[0].concat([d[1]]) },\n {\n \"name\": \"andless_expression_chain\",\n \"symbols\": [\"andless_expression\", \"andless_expression_chain$ebnf$1\"],\n \"postprocess\": ([expr, chain]) => [expr, ...chain]\n },\n {\n \"name\": \"expression_with_comments_\",\n \"symbols\": [\"expression\", \"_\"],\n \"postprocess\": ([expr, _]) => addComments(expr, { trailing: _ })\n },\n {\n \"name\": \"_expression_with_comments\",\n \"symbols\": [\"_\", \"expression\"],\n \"postprocess\": ([_, expr]) => addComments(expr, { leading: _ })\n },\n {\n \"name\": \"_andless_expression_with_comments\",\n \"symbols\": [\"_\", \"andless_expression\"],\n \"postprocess\": ([_, expr]) => addComments(expr, { leading: _ })\n },\n { \"name\": \"free_form_sql$subexpression$1\", \"symbols\": [\"asteriskless_free_form_sql\"] },\n { \"name\": \"free_form_sql$subexpression$1\", \"symbols\": [\"asterisk\"] },\n { \"name\": \"free_form_sql\", \"symbols\": [\"free_form_sql$subexpression$1\"], \"postprocess\": unwrap },\n { \"name\": \"asteriskless_free_form_sql$subexpression$1\", \"symbols\": [\"asteriskless_andless_expression\"] },\n { \"name\": \"asteriskless_free_form_sql$subexpression$1\", \"symbols\": [\"logic_operator\"] },\n { \"name\": \"asteriskless_free_form_sql$subexpression$1\", \"symbols\": [\"comma\"] },\n { \"name\": \"asteriskless_free_form_sql$subexpression$1\", \"symbols\": [\"comment\"] },\n { \"name\": \"asteriskless_free_form_sql$subexpression$1\", \"symbols\": [\"other_keyword\"] },\n { \"name\": \"asteriskless_free_form_sql\", \"symbols\": [\"asteriskless_free_form_sql$subexpression$1\"], \"postprocess\": unwrap },\n { \"name\": \"expression$subexpression$1\", \"symbols\": [\"andless_expression\"] },\n { \"name\": \"expression$subexpression$1\", \"symbols\": [\"logic_operator\"] },\n { \"name\": \"expression\", \"symbols\": [\"expression$subexpression$1\"], \"postprocess\": unwrap },\n { \"name\": \"andless_expression$subexpression$1\", \"symbols\": [\"asteriskless_andless_expression\"] },\n { \"name\": \"andless_expression$subexpression$1\", \"symbols\": [\"asterisk\"] },\n { \"name\": \"andless_expression\", \"symbols\": [\"andless_expression$subexpression$1\"], \"postprocess\": unwrap },\n { \"name\": \"asteriskless_andless_expression$subexpression$1\", \"symbols\": [\"atomic_expression\"] },\n { \"name\": \"asteriskless_andless_expression$subexpression$1\", \"symbols\": [\"between_predicate\"] },\n { \"name\": \"asteriskless_andless_expression$subexpression$1\", \"symbols\": [\"case_expression\"] },\n { \"name\": \"asteriskless_andless_expression\", \"symbols\": [\"asteriskless_andless_expression$subexpression$1\"], \"postprocess\": unwrap },\n { \"name\": \"atomic_expression$subexpression$1\", \"symbols\": [\"array_subscript\"] },\n { \"name\": \"atomic_expression$subexpression$1\", \"symbols\": [\"function_call\"] },\n { \"name\": \"atomic_expression$subexpression$1\", \"symbols\": [\"property_access\"] },\n { \"name\": \"atomic_expression$subexpression$1\", \"symbols\": [\"parenthesis\"] },\n { \"name\": \"atomic_expression$subexpression$1\", \"symbols\": [\"curly_braces\"] },\n { \"name\": \"atomic_expression$subexpression$1\", \"symbols\": [\"square_brackets\"] },\n { \"name\": \"atomic_expression$subexpression$1\", \"symbols\": [\"operator\"] },\n { \"name\": \"atomic_expression$subexpression$1\", \"symbols\": [\"identifier\"] },\n { \"name\": \"atomic_expression$subexpression$1\", \"symbols\": [\"parameter\"] },\n { \"name\": \"atomic_expression$subexpression$1\", \"symbols\": [\"literal\"] },\n { \"name\": \"atomic_expression$subexpression$1\", \"symbols\": [\"data_type\"] },\n { \"name\": \"atomic_expression$subexpression$1\", \"symbols\": [\"keyword\"] },\n { \"name\": \"atomic_expression\", \"symbols\": [\"atomic_expression$subexpression$1\"], \"postprocess\": unwrap },\n {\n \"name\": \"array_subscript\",\n \"symbols\": [lexer.has(\"ARRAY_IDENTIFIER\") ? { type: \"ARRAY_IDENTIFIER\" } : ARRAY_IDENTIFIER, \"_\", \"square_brackets\"],\n \"postprocess\": ([arrayToken, _, brackets]) => ({\n type: \"array_subscript\" /* array_subscript */,\n array: addComments({ type: \"identifier\" /* identifier */, quoted: false, text: arrayToken.text }, { trailing: _ }),\n parenthesis: brackets\n })\n },\n {\n \"name\": \"array_subscript\",\n \"symbols\": [lexer.has(\"ARRAY_KEYWORD\") ? { type: \"ARRAY_KEYWORD\" } : ARRAY_KEYWORD, \"_\", \"square_brackets\"],\n \"postprocess\": ([arrayToken, _, brackets]) => ({\n type: \"array_subscript\" /* array_subscript */,\n array: addComments(toKeywordNode(arrayToken), { trailing: _ }),\n parenthesis: brackets\n })\n },\n {\n \"name\": \"function_call\",\n \"symbols\": [lexer.has(\"RESERVED_FUNCTION_NAME\") ? { type: \"RESERVED_FUNCTION_NAME\" } : RESERVED_FUNCTION_NAME, \"_\", \"parenthesis\"],\n \"postprocess\": ([nameToken, _, parens]) => ({\n type: \"function_call\" /* function_call */,\n nameKw: addComments(toKeywordNode(nameToken), { trailing: _ }),\n parenthesis: parens\n })\n },\n {\n \"name\": \"parenthesis\",\n \"symbols\": [{ \"literal\": \"(\" }, \"expressions_or_clauses\", { \"literal\": \")\" }],\n \"postprocess\": ([open, children, close]) => ({\n type: \"parenthesis\" /* parenthesis */,\n children,\n openParen: \"(\",\n closeParen: \")\"\n })\n },\n { \"name\": \"curly_braces$ebnf$1\", \"symbols\": [] },\n { \"name\": \"curly_braces$ebnf$1\", \"symbols\": [\"curly_braces$ebnf$1\", \"free_form_sql\"], \"postprocess\": (d) => d[0].concat([d[1]]) },\n {\n \"name\": \"curly_braces\",\n \"symbols\": [{ \"literal\": \"{\" }, \"curly_braces$ebnf$1\", { \"literal\": \"}\" }],\n \"postprocess\": ([open, children, close]) => ({\n type: \"parenthesis\" /* parenthesis */,\n children,\n openParen: \"{\",\n closeParen: \"}\"\n })\n },\n { \"name\": \"square_brackets$ebnf$1\", \"symbols\": [] },\n { \"name\": \"square_brackets$ebnf$1\", \"symbols\": [\"square_brackets$ebnf$1\", \"free_form_sql\"], \"postprocess\": (d) => d[0].concat([d[1]]) },\n {\n \"name\": \"square_brackets\",\n \"symbols\": [{ \"literal\": \"[\" }, \"square_brackets$ebnf$1\", { \"literal\": \"]\" }],\n \"postprocess\": ([open, children, close]) => ({\n type: \"parenthesis\" /* parenthesis */,\n children,\n openParen: \"[\",\n closeParen: \"]\"\n })\n },\n { \"name\": \"property_access$subexpression$1\", \"symbols\": [\"identifier\"] },\n { \"name\": \"property_access$subexpression$1\", \"symbols\": [\"array_subscript\"] },\n { \"name\": \"property_access$subexpression$1\", \"symbols\": [\"all_columns_asterisk\"] },\n { \"name\": \"property_access$subexpression$1\", \"symbols\": [\"parameter\"] },\n {\n \"name\": \"property_access\",\n \"symbols\": [\"atomic_expression\", \"_\", lexer.has(\"DOT\") ? { type: \"DOT\" } : DOT, \"_\", \"property_access$subexpression$1\"],\n \"postprocess\": (\n // Allowing property to be is currently a hack.\n // A better way would be to allow on the left side of array_subscript,\n // but we currently can't do that because of another hack that requires\n // %ARRAY_IDENTIFIER on the left side of .\n ([object, _1, dot, _2, [property]]) => {\n return {\n type: \"property_access\" /* property_access */,\n object: addComments(object, { trailing: _1 }),\n property: addComments(property, { leading: _2 })\n };\n }\n )\n },\n {\n \"name\": \"between_predicate\",\n \"symbols\": [lexer.has(\"BETWEEN\") ? { type: \"BETWEEN\" } : BETWEEN, \"_\", \"andless_expression_chain\", \"_\", lexer.has(\"AND\") ? { type: \"AND\" } : AND, \"_\", \"andless_expression\"],\n \"postprocess\": ([betweenToken, _1, expr1, _2, andToken, _3, expr2]) => ({\n type: \"between_predicate\" /* between_predicate */,\n betweenKw: toKeywordNode(betweenToken),\n expr1: addCommentsToArray(expr1, { leading: _1, trailing: _2 }),\n andKw: toKeywordNode(andToken),\n expr2: [addComments(expr2, { leading: _3 })]\n })\n },\n { \"name\": \"case_expression$ebnf$1\", \"symbols\": [\"expression_chain_\"], \"postprocess\": id },\n { \"name\": \"case_expression$ebnf$1\", \"symbols\": [], \"postprocess\": () => null },\n { \"name\": \"case_expression$ebnf$2\", \"symbols\": [] },\n { \"name\": \"case_expression$ebnf$2\", \"symbols\": [\"case_expression$ebnf$2\", \"case_clause\"], \"postprocess\": (d) => d[0].concat([d[1]]) },\n {\n \"name\": \"case_expression\",\n \"symbols\": [lexer.has(\"CASE\") ? { type: \"CASE\" } : CASE, \"_\", \"case_expression$ebnf$1\", \"case_expression$ebnf$2\", lexer.has(\"END\") ? { type: \"END\" } : END],\n \"postprocess\": ([caseToken, _, expr, clauses, endToken]) => ({\n type: \"case_expression\" /* case_expression */,\n caseKw: addComments(toKeywordNode(caseToken), { trailing: _ }),\n endKw: toKeywordNode(endToken),\n expr: expr || [],\n clauses\n })\n },\n {\n \"name\": \"case_clause\",\n \"symbols\": [lexer.has(\"WHEN\") ? { type: \"WHEN\" } : WHEN, \"_\", \"expression_chain_\", lexer.has(\"THEN\") ? { type: \"THEN\" } : THEN, \"_\", \"expression_chain_\"],\n \"postprocess\": ([whenToken, _1, cond, thenToken, _2, expr]) => ({\n type: \"case_when\" /* case_when */,\n whenKw: addComments(toKeywordNode(whenToken), { trailing: _1 }),\n thenKw: addComments(toKeywordNode(thenToken), { trailing: _2 }),\n condition: cond,\n result: expr\n })\n },\n {\n \"name\": \"case_clause\",\n \"symbols\": [lexer.has(\"ELSE\") ? { type: \"ELSE\" } : ELSE, \"_\", \"expression_chain_\"],\n \"postprocess\": ([elseToken, _, expr]) => ({\n type: \"case_else\" /* case_else */,\n elseKw: addComments(toKeywordNode(elseToken), { trailing: _ }),\n result: expr\n })\n },\n { \"name\": \"comma$subexpression$1\", \"symbols\": [lexer.has(\"COMMA\") ? { type: \"COMMA\" } : COMMA] },\n { \"name\": \"comma\", \"symbols\": [\"comma$subexpression$1\"], \"postprocess\": ([[token]]) => ({ type: \"comma\" /* comma */ }) },\n { \"name\": \"asterisk$subexpression$1\", \"symbols\": [lexer.has(\"ASTERISK\") ? { type: \"ASTERISK\" } : ASTERISK] },\n { \"name\": \"asterisk\", \"symbols\": [\"asterisk$subexpression$1\"], \"postprocess\": ([[token]]) => ({ type: \"operator\" /* operator */, text: token.text }) },\n { \"name\": \"operator$subexpression$1\", \"symbols\": [lexer.has(\"OPERATOR\") ? { type: \"OPERATOR\" } : OPERATOR] },\n { \"name\": \"operator\", \"symbols\": [\"operator$subexpression$1\"], \"postprocess\": ([[token]]) => ({ type: \"operator\" /* operator */, text: token.text }) },\n { \"name\": \"identifier$subexpression$1\", \"symbols\": [lexer.has(\"IDENTIFIER\") ? { type: \"IDENTIFIER\" } : IDENTIFIER] },\n { \"name\": \"identifier$subexpression$1\", \"symbols\": [lexer.has(\"QUOTED_IDENTIFIER\") ? { type: \"QUOTED_IDENTIFIER\" } : QUOTED_IDENTIFIER] },\n { \"name\": \"identifier$subexpression$1\", \"symbols\": [lexer.has(\"VARIABLE\") ? { type: \"VARIABLE\" } : VARIABLE] },\n { \"name\": \"identifier\", \"symbols\": [\"identifier$subexpression$1\"], \"postprocess\": ([[token]]) => ({ type: \"identifier\" /* identifier */, quoted: token.type !== \"IDENTIFIER\", text: token.text }) },\n { \"name\": \"parameter$subexpression$1\", \"symbols\": [lexer.has(\"NAMED_PARAMETER\") ? { type: \"NAMED_PARAMETER\" } : NAMED_PARAMETER] },\n { \"name\": \"parameter$subexpression$1\", \"symbols\": [lexer.has(\"QUOTED_PARAMETER\") ? { type: \"QUOTED_PARAMETER\" } : QUOTED_PARAMETER] },\n { \"name\": \"parameter$subexpression$1\", \"symbols\": [lexer.has(\"NUMBERED_PARAMETER\") ? { type: \"NUMBERED_PARAMETER\" } : NUMBERED_PARAMETER] },\n { \"name\": \"parameter$subexpression$1\", \"symbols\": [lexer.has(\"POSITIONAL_PARAMETER\") ? { type: \"POSITIONAL_PARAMETER\" } : POSITIONAL_PARAMETER] },\n { \"name\": \"parameter$subexpression$1\", \"symbols\": [lexer.has(\"CUSTOM_PARAMETER\") ? { type: \"CUSTOM_PARAMETER\" } : CUSTOM_PARAMETER] },\n { \"name\": \"parameter\", \"symbols\": [\"parameter$subexpression$1\"], \"postprocess\": ([[token]]) => ({ type: \"parameter\" /* parameter */, key: token.key, text: token.text }) },\n { \"name\": \"literal$subexpression$1\", \"symbols\": [lexer.has(\"NUMBER\") ? { type: \"NUMBER\" } : NUMBER] },\n { \"name\": \"literal$subexpression$1\", \"symbols\": [lexer.has(\"STRING\") ? { type: \"STRING\" } : STRING] },\n { \"name\": \"literal\", \"symbols\": [\"literal$subexpression$1\"], \"postprocess\": ([[token]]) => ({ type: \"literal\" /* literal */, text: token.text }) },\n { \"name\": \"keyword$subexpression$1\", \"symbols\": [lexer.has(\"RESERVED_KEYWORD\") ? { type: \"RESERVED_KEYWORD\" } : RESERVED_KEYWORD] },\n { \"name\": \"keyword$subexpression$1\", \"symbols\": [lexer.has(\"RESERVED_PHRASE\") ? { type: \"RESERVED_PHRASE\" } : RESERVED_PHRASE] },\n { \"name\": \"keyword$subexpression$1\", \"symbols\": [lexer.has(\"RESERVED_JOIN\") ? { type: \"RESERVED_JOIN\" } : RESERVED_JOIN] },\n {\n \"name\": \"keyword\",\n \"symbols\": [\"keyword$subexpression$1\"],\n \"postprocess\": ([[token]]) => toKeywordNode(token)\n },\n { \"name\": \"data_type$subexpression$1\", \"symbols\": [lexer.has(\"RESERVED_DATA_TYPE\") ? { type: \"RESERVED_DATA_TYPE\" } : RESERVED_DATA_TYPE] },\n {\n \"name\": \"data_type\",\n \"symbols\": [\"data_type$subexpression$1\"],\n \"postprocess\": ([[token]]) => toDataTypeNode(token)\n },\n {\n \"name\": \"data_type\",\n \"symbols\": [lexer.has(\"RESERVED_PARAMETERIZED_DATA_TYPE\") ? { type: \"RESERVED_PARAMETERIZED_DATA_TYPE\" } : RESERVED_PARAMETERIZED_DATA_TYPE, \"_\", \"parenthesis\"],\n \"postprocess\": ([nameToken, _, parens]) => ({\n type: \"parameterized_data_type\" /* parameterized_data_type */,\n dataType: addComments(toDataTypeNode(nameToken), { trailing: _ }),\n parenthesis: parens\n })\n },\n { \"name\": \"logic_operator$subexpression$1\", \"symbols\": [lexer.has(\"AND\") ? { type: \"AND\" } : AND] },\n { \"name\": \"logic_operator$subexpression$1\", \"symbols\": [lexer.has(\"OR\") ? { type: \"OR\" } : OR] },\n { \"name\": \"logic_operator$subexpression$1\", \"symbols\": [lexer.has(\"XOR\") ? { type: \"XOR\" } : XOR] },\n {\n \"name\": \"logic_operator\",\n \"symbols\": [\"logic_operator$subexpression$1\"],\n \"postprocess\": ([[token]]) => toKeywordNode(token)\n },\n { \"name\": \"other_keyword$subexpression$1\", \"symbols\": [lexer.has(\"WHEN\") ? { type: \"WHEN\" } : WHEN] },\n { \"name\": \"other_keyword$subexpression$1\", \"symbols\": [lexer.has(\"THEN\") ? { type: \"THEN\" } : THEN] },\n { \"name\": \"other_keyword$subexpression$1\", \"symbols\": [lexer.has(\"ELSE\") ? { type: \"ELSE\" } : ELSE] },\n { \"name\": \"other_keyword$subexpression$1\", \"symbols\": [lexer.has(\"END\") ? { type: \"END\" } : END] },\n {\n \"name\": \"other_keyword\",\n \"symbols\": [\"other_keyword$subexpression$1\"],\n \"postprocess\": ([[token]]) => toKeywordNode(token)\n },\n { \"name\": \"_$ebnf$1\", \"symbols\": [] },\n { \"name\": \"_$ebnf$1\", \"symbols\": [\"_$ebnf$1\", \"comment\"], \"postprocess\": (d) => d[0].concat([d[1]]) },\n { \"name\": \"_\", \"symbols\": [\"_$ebnf$1\"], \"postprocess\": ([comments]) => comments },\n {\n \"name\": \"comment\",\n \"symbols\": [lexer.has(\"LINE_COMMENT\") ? { type: \"LINE_COMMENT\" } : LINE_COMMENT],\n \"postprocess\": ([token]) => ({\n type: \"line_comment\" /* line_comment */,\n text: token.text,\n precedingWhitespace: token.precedingWhitespace\n })\n },\n {\n \"name\": \"comment\",\n \"symbols\": [lexer.has(\"BLOCK_COMMENT\") ? { type: \"BLOCK_COMMENT\" } : BLOCK_COMMENT],\n \"postprocess\": ([token]) => ({\n type: \"block_comment\" /* block_comment */,\n text: token.text,\n precedingWhitespace: token.precedingWhitespace\n })\n }\n ],\n ParserStart: \"main\"\n};\nvar grammar_default = grammar;\n\n// src/parser/createParser.ts\nvar { Parser: NearleyParser, Grammar } = nearley;\nfunction createParser(tokenizer) {\n let paramTypesOverrides = {};\n const lexer2 = new LexerAdapter((chunk) => [\n ...disambiguateTokens(tokenizer.tokenize(chunk, paramTypesOverrides)),\n createEofToken(chunk.length)\n ]);\n const parser = new NearleyParser(Grammar.fromCompiled(grammar_default), { lexer: lexer2 });\n return {\n parse: (sql2, paramTypes) => {\n paramTypesOverrides = paramTypes;\n const { results } = parser.feed(sql2);\n if (results.length === 1) {\n return results[0];\n } else if (results.length === 0) {\n throw new Error(\"Parse error: Invalid SQL\");\n } else {\n throw new Error(`Parse error: Ambiguous grammar\n${JSON.stringify(results, void 0, 2)}`);\n }\n }\n };\n}\n\n// src/formatter/Layout.ts\nvar Layout = class {\n constructor(indentation) {\n this.indentation = indentation;\n this.items = [];\n }\n /**\n * Appends token strings and whitespace modifications to SQL string.\n */\n add(...items) {\n for (const item of items) {\n switch (item) {\n case 0 /* SPACE */:\n this.items.push(0 /* SPACE */);\n break;\n case 1 /* NO_SPACE */:\n this.trimHorizontalWhitespace();\n break;\n case 2 /* NO_NEWLINE */:\n this.trimWhitespace();\n break;\n case 3 /* NEWLINE */:\n this.trimHorizontalWhitespace();\n this.addNewline(3 /* NEWLINE */);\n break;\n case 4 /* MANDATORY_NEWLINE */:\n this.trimHorizontalWhitespace();\n this.addNewline(4 /* MANDATORY_NEWLINE */);\n break;\n case 5 /* INDENT */:\n this.addIndentation();\n break;\n case 6 /* SINGLE_INDENT */:\n this.items.push(6 /* SINGLE_INDENT */);\n break;\n default:\n this.items.push(item);\n }\n }\n }\n trimHorizontalWhitespace() {\n while (isHorizontalWhitespace(last(this.items))) {\n this.items.pop();\n }\n }\n trimWhitespace() {\n while (isRemovableWhitespace(last(this.items))) {\n this.items.pop();\n }\n }\n addNewline(newline) {\n if (this.items.length > 0) {\n switch (last(this.items)) {\n case 3 /* NEWLINE */:\n this.items.pop();\n this.items.push(newline);\n break;\n case 4 /* MANDATORY_NEWLINE */:\n break;\n default:\n this.items.push(newline);\n break;\n }\n }\n }\n addIndentation() {\n for (let i = 0; i < this.indentation.getLevel(); i++) {\n this.items.push(6 /* SINGLE_INDENT */);\n }\n }\n /**\n * Returns the final SQL string.\n */\n toString() {\n return this.items.map((item) => this.itemToString(item)).join(\"\");\n }\n /**\n * Returns the internal layout data\n */\n getLayoutItems() {\n return this.items;\n }\n itemToString(item) {\n switch (item) {\n case 0 /* SPACE */:\n return \" \";\n case 3 /* NEWLINE */:\n case 4 /* MANDATORY_NEWLINE */:\n return \"\\n\";\n case 6 /* SINGLE_INDENT */:\n return this.indentation.getSingleIndent();\n default:\n return item;\n }\n }\n};\nvar isHorizontalWhitespace = (item) => item === 0 /* SPACE */ || item === 6 /* SINGLE_INDENT */;\nvar isRemovableWhitespace = (item) => item === 0 /* SPACE */ || item === 6 /* SINGLE_INDENT */ || item === 3 /* NEWLINE */;\n\n// src/formatter/tabularStyle.ts\nfunction toTabularFormat(tokenText, indentStyle) {\n if (indentStyle === \"standard\") {\n return tokenText;\n }\n let tail = [];\n if (tokenText.length >= 10 && tokenText.includes(\" \")) {\n [tokenText, ...tail] = tokenText.split(\" \");\n }\n if (indentStyle === \"tabularLeft\") {\n tokenText = tokenText.padEnd(9, \" \");\n } else {\n tokenText = tokenText.padStart(9, \" \");\n }\n return tokenText + [\"\", ...tail].join(\" \");\n}\nfunction isTabularToken(type) {\n return isLogicalOperator(type) || type === \"RESERVED_CLAUSE\" /* RESERVED_CLAUSE */ || type === \"RESERVED_SELECT\" /* RESERVED_SELECT */ || type === \"RESERVED_SET_OPERATION\" /* RESERVED_SET_OPERATION */ || type === \"RESERVED_JOIN\" /* RESERVED_JOIN */ || type === \"LIMIT\" /* LIMIT */;\n}\n\n// src/formatter/Indentation.ts\nvar INDENT_TYPE_TOP_LEVEL = \"top-level\";\nvar INDENT_TYPE_BLOCK_LEVEL = \"block-level\";\nvar Indentation = class {\n /**\n * @param {string} indent A string to indent with\n */\n constructor(indent) {\n this.indent = indent;\n this.indentTypes = [];\n }\n /**\n * Returns indentation string for single indentation step.\n */\n getSingleIndent() {\n return this.indent;\n }\n /**\n * Returns current indentation level\n */\n getLevel() {\n return this.indentTypes.length;\n }\n /**\n * Increases indentation by one top-level indent.\n */\n increaseTopLevel() {\n this.indentTypes.push(INDENT_TYPE_TOP_LEVEL);\n }\n /**\n * Increases indentation by one block-level indent.\n */\n increaseBlockLevel() {\n this.indentTypes.push(INDENT_TYPE_BLOCK_LEVEL);\n }\n /**\n * Decreases indentation by one top-level indent.\n * Does nothing when the previous indent is not top-level.\n */\n decreaseTopLevel() {\n if (this.indentTypes.length > 0 && last(this.indentTypes) === INDENT_TYPE_TOP_LEVEL) {\n this.indentTypes.pop();\n }\n }\n /**\n * Decreases indentation by one block-level indent.\n * If there are top-level indents within the block-level indent,\n * throws away these as well.\n */\n decreaseBlockLevel() {\n while (this.indentTypes.length > 0) {\n const type = this.indentTypes.pop();\n if (type !== INDENT_TYPE_TOP_LEVEL) {\n break;\n }\n }\n }\n};\n\n// src/formatter/InlineLayout.ts\nvar InlineLayout = class extends Layout {\n constructor(expressionWidth) {\n super(new Indentation(\"\"));\n this.expressionWidth = expressionWidth;\n this.length = 0;\n // Keeps track of the trailing whitespace,\n // so that we can decrease length when encountering WS.NO_SPACE,\n // but only when there actually is a space to remove.\n this.trailingSpace = false;\n }\n add(...items) {\n items.forEach((item) => this.addToLength(item));\n if (this.length > this.expressionWidth) {\n throw new InlineLayoutError();\n }\n super.add(...items);\n }\n addToLength(item) {\n if (typeof item === \"string\") {\n this.length += item.length;\n this.trailingSpace = false;\n } else if (item === 4 /* MANDATORY_NEWLINE */ || item === 3 /* NEWLINE */) {\n throw new InlineLayoutError();\n } else if (item === 5 /* INDENT */ || item === 6 /* SINGLE_INDENT */ || item === 0 /* SPACE */) {\n if (!this.trailingSpace) {\n this.length++;\n this.trailingSpace = true;\n }\n } else if (item === 2 /* NO_NEWLINE */ || item === 1 /* NO_SPACE */) {\n if (this.trailingSpace) {\n this.trailingSpace = false;\n this.length--;\n }\n }\n }\n};\nvar InlineLayoutError = class extends Error {\n};\n\n// src/formatter/ExpressionFormatter.ts\nvar ExpressionFormatter = class _ExpressionFormatter {\n constructor({ cfg, dialectCfg, params, layout, inline = false }) {\n this.inline = false;\n this.nodes = [];\n this.index = -1;\n this.cfg = cfg;\n this.dialectCfg = dialectCfg;\n this.inline = inline;\n this.params = params;\n this.layout = layout;\n }\n format(nodes) {\n this.nodes = nodes;\n for (this.index = 0; this.index < this.nodes.length; this.index++) {\n this.formatNode(this.nodes[this.index]);\n }\n return this.layout;\n }\n formatNode(node) {\n this.formatComments(node.leadingComments);\n this.formatNodeWithoutComments(node);\n this.formatComments(node.trailingComments);\n }\n formatNodeWithoutComments(node) {\n switch (node.type) {\n case \"function_call\" /* function_call */:\n return this.formatFunctionCall(node);\n case \"parameterized_data_type\" /* parameterized_data_type */:\n return this.formatParameterizedDataType(node);\n case \"array_subscript\" /* array_subscript */:\n return this.formatArraySubscript(node);\n case \"property_access\" /* property_access */:\n return this.formatPropertyAccess(node);\n case \"parenthesis\" /* parenthesis */:\n return this.formatParenthesis(node);\n case \"between_predicate\" /* between_predicate */:\n return this.formatBetweenPredicate(node);\n case \"case_expression\" /* case_expression */:\n return this.formatCaseExpression(node);\n case \"case_when\" /* case_when */:\n return this.formatCaseWhen(node);\n case \"case_else\" /* case_else */:\n return this.formatCaseElse(node);\n case \"clause\" /* clause */:\n return this.formatClause(node);\n case \"set_operation\" /* set_operation */:\n return this.formatSetOperation(node);\n case \"limit_clause\" /* limit_clause */:\n return this.formatLimitClause(node);\n case \"all_columns_asterisk\" /* all_columns_asterisk */:\n return this.formatAllColumnsAsterisk(node);\n case \"literal\" /* literal */:\n return this.formatLiteral(node);\n case \"identifier\" /* identifier */:\n return this.formatIdentifier(node);\n case \"parameter\" /* parameter */:\n return this.formatParameter(node);\n case \"operator\" /* operator */:\n return this.formatOperator(node);\n case \"comma\" /* comma */:\n return this.formatComma(node);\n case \"line_comment\" /* line_comment */:\n return this.formatLineComment(node);\n case \"block_comment\" /* block_comment */:\n return this.formatBlockComment(node);\n case \"data_type\" /* data_type */:\n return this.formatDataType(node);\n case \"keyword\" /* keyword */:\n return this.formatKeywordNode(node);\n }\n }\n formatFunctionCall(node) {\n this.withComments(node.nameKw, () => {\n this.layout.add(this.showFunctionKw(node.nameKw));\n });\n this.formatNode(node.parenthesis);\n }\n formatParameterizedDataType(node) {\n this.withComments(node.dataType, () => {\n this.layout.add(this.showDataType(node.dataType));\n });\n this.formatNode(node.parenthesis);\n }\n formatArraySubscript(node) {\n let formattedArray;\n switch (node.array.type) {\n case \"data_type\" /* data_type */:\n formattedArray = this.showDataType(node.array);\n break;\n case \"keyword\" /* keyword */:\n formattedArray = this.showKw(node.array);\n break;\n default:\n formattedArray = this.showIdentifier(node.array);\n break;\n }\n this.withComments(node.array, () => {\n this.layout.add(formattedArray);\n });\n this.formatNode(node.parenthesis);\n }\n formatPropertyAccess(node) {\n this.formatNode(node.object);\n this.layout.add(1 /* NO_SPACE */, \".\");\n this.formatNode(node.property);\n }\n formatParenthesis(node) {\n const inlineLayout = this.formatInlineExpression(node.children);\n if (inlineLayout) {\n this.layout.add(node.openParen);\n this.layout.add(...inlineLayout.getLayoutItems());\n this.layout.add(1 /* NO_SPACE */, node.closeParen, 0 /* SPACE */);\n } else {\n this.layout.add(node.openParen, 3 /* NEWLINE */);\n if (isTabularStyle(this.cfg)) {\n this.layout.add(5 /* INDENT */);\n this.layout = this.formatSubExpression(node.children);\n } else {\n this.layout.indentation.increaseBlockLevel();\n this.layout.add(5 /* INDENT */);\n this.layout = this.formatSubExpression(node.children);\n this.layout.indentation.decreaseBlockLevel();\n }\n this.layout.add(3 /* NEWLINE */, 5 /* INDENT */, node.closeParen, 0 /* SPACE */);\n }\n }\n formatBetweenPredicate(node) {\n this.layout.add(this.showKw(node.betweenKw), 0 /* SPACE */);\n this.layout = this.formatSubExpression(node.expr1);\n this.layout.add(1 /* NO_SPACE */, 0 /* SPACE */, this.showNonTabularKw(node.andKw), 0 /* SPACE */);\n this.layout = this.formatSubExpression(node.expr2);\n this.layout.add(0 /* SPACE */);\n }\n formatCaseExpression(node) {\n this.formatNode(node.caseKw);\n this.layout.indentation.increaseBlockLevel();\n this.layout = this.formatSubExpression(node.expr);\n this.layout = this.formatSubExpression(node.clauses);\n this.layout.indentation.decreaseBlockLevel();\n this.layout.add(3 /* NEWLINE */, 5 /* INDENT */);\n this.formatNode(node.endKw);\n }\n formatCaseWhen(node) {\n this.layout.add(3 /* NEWLINE */, 5 /* INDENT */);\n this.formatNode(node.whenKw);\n this.layout = this.formatSubExpression(node.condition);\n this.formatNode(node.thenKw);\n this.layout = this.formatSubExpression(node.result);\n }\n formatCaseElse(node) {\n this.layout.add(3 /* NEWLINE */, 5 /* INDENT */);\n this.formatNode(node.elseKw);\n this.layout = this.formatSubExpression(node.result);\n }\n formatClause(node) {\n if (this.isOnelineClause(node)) {\n this.formatClauseInOnelineStyle(node);\n } else if (isTabularStyle(this.cfg)) {\n this.formatClauseInTabularStyle(node);\n } else {\n this.formatClauseInIndentedStyle(node);\n }\n }\n isOnelineClause(node) {\n return this.dialectCfg.onelineClauses[node.nameKw.text];\n }\n formatClauseInIndentedStyle(node) {\n this.layout.add(3 /* NEWLINE */, 5 /* INDENT */, this.showKw(node.nameKw), 3 /* NEWLINE */);\n this.layout.indentation.increaseTopLevel();\n this.layout.add(5 /* INDENT */);\n this.layout = this.formatSubExpression(node.children);\n this.layout.indentation.decreaseTopLevel();\n }\n formatClauseInOnelineStyle(node) {\n this.layout.add(3 /* NEWLINE */, 5 /* INDENT */, this.showKw(node.nameKw), 0 /* SPACE */);\n this.layout = this.formatSubExpression(node.children);\n }\n formatClauseInTabularStyle(node) {\n this.layout.add(3 /* NEWLINE */, 5 /* INDENT */, this.showKw(node.nameKw), 0 /* SPACE */);\n this.layout.indentation.increaseTopLevel();\n this.layout = this.formatSubExpression(node.children);\n this.layout.indentation.decreaseTopLevel();\n }\n formatSetOperation(node) {\n this.layout.add(3 /* NEWLINE */, 5 /* INDENT */, this.showKw(node.nameKw), 3 /* NEWLINE */);\n this.layout.add(5 /* INDENT */);\n this.layout = this.formatSubExpression(node.children);\n }\n formatLimitClause(node) {\n this.withComments(node.limitKw, () => {\n this.layout.add(3 /* NEWLINE */, 5 /* INDENT */, this.showKw(node.limitKw));\n });\n this.layout.indentation.increaseTopLevel();\n if (isTabularStyle(this.cfg)) {\n this.layout.add(0 /* SPACE */);\n } else {\n this.layout.add(3 /* NEWLINE */, 5 /* INDENT */);\n }\n if (node.offset) {\n this.layout = this.formatSubExpression(node.offset);\n this.layout.add(1 /* NO_SPACE */, \",\", 0 /* SPACE */);\n this.layout = this.formatSubExpression(node.count);\n } else {\n this.layout = this.formatSubExpression(node.count);\n }\n this.layout.indentation.decreaseTopLevel();\n }\n formatAllColumnsAsterisk(_node) {\n this.layout.add(\"*\", 0 /* SPACE */);\n }\n formatLiteral(node) {\n this.layout.add(node.text, 0 /* SPACE */);\n }\n formatIdentifier(node) {\n this.layout.add(this.showIdentifier(node), 0 /* SPACE */);\n }\n formatParameter(node) {\n this.layout.add(this.params.get(node), 0 /* SPACE */);\n }\n formatOperator({ text }) {\n if (this.cfg.denseOperators || this.dialectCfg.alwaysDenseOperators.includes(text)) {\n this.layout.add(1 /* NO_SPACE */, text);\n } else if (text === \":\") {\n this.layout.add(1 /* NO_SPACE */, text, 0 /* SPACE */);\n } else {\n this.layout.add(text, 0 /* SPACE */);\n }\n }\n formatComma(_node) {\n if (!this.inline) {\n this.layout.add(1 /* NO_SPACE */, \",\", 3 /* NEWLINE */, 5 /* INDENT */);\n } else {\n this.layout.add(1 /* NO_SPACE */, \",\", 0 /* SPACE */);\n }\n }\n withComments(node, fn) {\n this.formatComments(node.leadingComments);\n fn();\n this.formatComments(node.trailingComments);\n }\n formatComments(comments) {\n if (!comments) {\n return;\n }\n comments.forEach((com) => {\n if (com.type === \"line_comment\" /* line_comment */) {\n this.formatLineComment(com);\n } else {\n this.formatBlockComment(com);\n }\n });\n }\n formatLineComment(node) {\n if (isMultiline(node.precedingWhitespace || \"\")) {\n this.layout.add(3 /* NEWLINE */, 5 /* INDENT */, node.text, 4 /* MANDATORY_NEWLINE */, 5 /* INDENT */);\n } else if (this.layout.getLayoutItems().length > 0) {\n this.layout.add(2 /* NO_NEWLINE */, 0 /* SPACE */, node.text, 4 /* MANDATORY_NEWLINE */, 5 /* INDENT */);\n } else {\n this.layout.add(node.text, 4 /* MANDATORY_NEWLINE */, 5 /* INDENT */);\n }\n }\n formatBlockComment(node) {\n if (this.isMultilineBlockComment(node)) {\n this.splitBlockComment(node.text).forEach((line) => {\n this.layout.add(3 /* NEWLINE */, 5 /* INDENT */, line);\n });\n this.layout.add(3 /* NEWLINE */, 5 /* INDENT */);\n } else {\n this.layout.add(node.text, 0 /* SPACE */);\n }\n }\n isMultilineBlockComment(node) {\n return isMultiline(node.text) || isMultiline(node.precedingWhitespace || \"\");\n }\n isDocComment(comment) {\n const lines = comment.split(/\\n/);\n return (\n // first line starts with /* or /**\n /^\\/\\*\\*?$/.test(lines[0]) && // intermediate lines start with *\n lines.slice(1, lines.length - 1).every((line) => /^\\s*\\*/.test(line)) && // last line ends with */\n /^\\s*\\*\\/$/.test(last(lines))\n );\n }\n // Breaks up block comment to multiple lines.\n // For example this doc-comment (dots representing leading whitespace):\n //\n // ..../**\n // .....* Some description here\n // .....* and here too\n // .....*/\n //\n // gets broken to this array (note the leading single spaces):\n //\n // [ '/**',\n // '.* Some description here',\n // '.* and here too',\n // '.*/' ]\n //\n // However, a normal comment (non-doc-comment) like this:\n //\n // ..../*\n // ....Some description here\n // ....*/\n //\n // gets broken to this array (no leading spaces):\n //\n // [ '/*',\n // 'Some description here',\n // '*/' ]\n //\n splitBlockComment(comment) {\n if (this.isDocComment(comment)) {\n return comment.split(/\\n/).map((line) => {\n if (/^\\s*\\*/.test(line)) {\n return \" \" + line.replace(/^\\s*/, \"\");\n } else {\n return line;\n }\n });\n } else {\n return comment.split(/\\n/).map((line) => line.replace(/^\\s*/, \"\"));\n }\n }\n formatSubExpression(nodes) {\n return new _ExpressionFormatter({\n cfg: this.cfg,\n dialectCfg: this.dialectCfg,\n params: this.params,\n layout: this.layout,\n inline: this.inline\n }).format(nodes);\n }\n formatInlineExpression(nodes) {\n const oldParamIndex = this.params.getPositionalParameterIndex();\n try {\n return new _ExpressionFormatter({\n cfg: this.cfg,\n dialectCfg: this.dialectCfg,\n params: this.params,\n layout: new InlineLayout(this.cfg.expressionWidth),\n inline: true\n }).format(nodes);\n } catch (e) {\n if (e instanceof InlineLayoutError) {\n this.params.setPositionalParameterIndex(oldParamIndex);\n return void 0;\n } else {\n throw e;\n }\n }\n }\n formatKeywordNode(node) {\n switch (node.tokenType) {\n case \"RESERVED_JOIN\" /* RESERVED_JOIN */:\n return this.formatJoin(node);\n case \"AND\" /* AND */:\n case \"OR\" /* OR */:\n case \"XOR\" /* XOR */:\n return this.formatLogicalOperator(node);\n default:\n return this.formatKeyword(node);\n }\n }\n formatJoin(node) {\n if (isTabularStyle(this.cfg)) {\n this.layout.indentation.decreaseTopLevel();\n this.layout.add(3 /* NEWLINE */, 5 /* INDENT */, this.showKw(node), 0 /* SPACE */);\n this.layout.indentation.increaseTopLevel();\n } else {\n this.layout.add(3 /* NEWLINE */, 5 /* INDENT */, this.showKw(node), 0 /* SPACE */);\n }\n }\n formatKeyword(node) {\n this.layout.add(this.showKw(node), 0 /* SPACE */);\n }\n formatLogicalOperator(node) {\n if (this.cfg.logicalOperatorNewline === \"before\") {\n if (isTabularStyle(this.cfg)) {\n this.layout.indentation.decreaseTopLevel();\n this.layout.add(3 /* NEWLINE */, 5 /* INDENT */, this.showKw(node), 0 /* SPACE */);\n this.layout.indentation.increaseTopLevel();\n } else {\n this.layout.add(3 /* NEWLINE */, 5 /* INDENT */, this.showKw(node), 0 /* SPACE */);\n }\n } else {\n this.layout.add(this.showKw(node), 3 /* NEWLINE */, 5 /* INDENT */);\n }\n }\n formatDataType(node) {\n this.layout.add(this.showDataType(node), 0 /* SPACE */);\n }\n showKw(node) {\n if (isTabularToken(node.tokenType)) {\n return toTabularFormat(this.showNonTabularKw(node), this.cfg.indentStyle);\n } else {\n return this.showNonTabularKw(node);\n }\n }\n // Like showKw(), but skips tabular formatting\n showNonTabularKw(node) {\n switch (this.cfg.keywordCase) {\n case \"preserve\":\n return equalizeWhitespace(node.raw);\n case \"upper\":\n return node.text;\n case \"lower\":\n return node.text.toLowerCase();\n }\n }\n showFunctionKw(node) {\n if (isTabularToken(node.tokenType)) {\n return toTabularFormat(this.showNonTabularFunctionKw(node), this.cfg.indentStyle);\n } else {\n return this.showNonTabularFunctionKw(node);\n }\n }\n // Like showFunctionKw(), but skips tabular formatting\n showNonTabularFunctionKw(node) {\n switch (this.cfg.functionCase) {\n case \"preserve\":\n return equalizeWhitespace(node.raw);\n case \"upper\":\n return node.text;\n case \"lower\":\n return node.text.toLowerCase();\n }\n }\n showIdentifier(node) {\n if (node.quoted) {\n return node.text;\n } else {\n switch (this.cfg.identifierCase) {\n case \"preserve\":\n return node.text;\n case \"upper\":\n return node.text.toUpperCase();\n case \"lower\":\n return node.text.toLowerCase();\n }\n }\n }\n showDataType(node) {\n switch (this.cfg.dataTypeCase) {\n case \"preserve\":\n return equalizeWhitespace(node.raw);\n case \"upper\":\n return node.text;\n case \"lower\":\n return node.text.toLowerCase();\n }\n }\n};\n\n// src/formatter/Formatter.ts\nvar Formatter = class {\n constructor(dialect, cfg) {\n this.dialect = dialect;\n this.cfg = cfg;\n this.params = new Params(this.cfg.params);\n }\n /**\n * Formats an SQL query.\n * @param {string} query - The SQL query string to be formatted\n * @return {string} The formatter query\n */\n format(query) {\n const ast = this.parse(query);\n const formattedQuery = this.formatAst(ast);\n return formattedQuery.trimEnd();\n }\n parse(query) {\n return createParser(this.dialect.tokenizer).parse(query, this.cfg.paramTypes || {});\n }\n formatAst(statements) {\n return statements.map((stat) => this.formatStatement(stat)).join(\"\\n\".repeat(this.cfg.linesBetweenQueries + 1));\n }\n formatStatement(statement) {\n const layout = new ExpressionFormatter({\n cfg: this.cfg,\n dialectCfg: this.dialect.formatOptions,\n params: this.params,\n layout: new Layout(new Indentation(indentString(this.cfg)))\n }).format(statement.children);\n if (!statement.hasSemicolon) {\n } else if (this.cfg.newlineBeforeSemicolon) {\n layout.add(3 /* NEWLINE */, \";\");\n } else {\n layout.add(2 /* NO_NEWLINE */, \";\");\n }\n return layout.toString();\n }\n};\n\n// src/validateConfig.ts\nvar ConfigError = class extends Error {\n};\nfunction validateConfig(cfg) {\n const removedOptions = [\n \"multilineLists\",\n \"newlineBeforeOpenParen\",\n \"newlineBeforeCloseParen\",\n \"aliasAs\",\n \"commaPosition\",\n \"tabulateAlias\"\n ];\n for (const optionName of removedOptions) {\n if (optionName in cfg) {\n throw new ConfigError(`${optionName} config is no more supported.`);\n }\n }\n if (cfg.expressionWidth <= 0) {\n throw new ConfigError(\n `expressionWidth config must be positive number. Received ${cfg.expressionWidth} instead.`\n );\n }\n if (cfg.params && !validateParams(cfg.params)) {\n console.warn('WARNING: All \"params\" option values should be strings.');\n }\n return cfg;\n}\nfunction validateParams(params) {\n const paramValues = params instanceof Array ? params : Object.values(params);\n return paramValues.every((p) => typeof p === \"string\");\n}\n\n// src/sqlFormatter.ts\nvar dialectNameMap = {\n bigquery: \"bigquery\",\n db2: \"db2\",\n db2i: \"db2i\",\n hive: \"hive\",\n mariadb: \"mariadb\",\n mysql: \"mysql\",\n n1ql: \"n1ql\",\n plsql: \"plsql\",\n postgresql: \"postgresql\",\n redshift: \"redshift\",\n spark: \"spark\",\n sqlite: \"sqlite\",\n sql: \"sql\",\n trino: \"trino\",\n transactsql: \"transactsql\",\n tsql: \"transactsql\",\n // alias for transactsq\n singlestoredb: \"singlestoredb\",\n snowflake: \"snowflake\"\n};\nvar supportedDialects = Object.keys(dialectNameMap);\nvar defaultOptions = {\n tabWidth: 2,\n useTabs: false,\n keywordCase: \"preserve\",\n identifierCase: \"preserve\",\n dataTypeCase: \"preserve\",\n functionCase: \"preserve\",\n indentStyle: \"standard\",\n logicalOperatorNewline: \"before\",\n expressionWidth: 50,\n linesBetweenQueries: 1,\n denseOperators: false,\n newlineBeforeSemicolon: false\n};\nvar format = (query, cfg = {}) => {\n if (typeof cfg.language === \"string\" && !supportedDialects.includes(cfg.language)) {\n throw new ConfigError(`Unsupported SQL dialect: ${cfg.language}`);\n }\n const canonicalDialectName = dialectNameMap[cfg.language || \"sql\"];\n return formatDialect(query, __spreadProps(__spreadValues({}, cfg), {\n dialect: allDialects_exports[canonicalDialectName]\n }));\n};\nvar formatDialect = (query, _a) => {\n var _b = _a, { dialect } = _b, cfg = __objRest(_b, [\"dialect\"]);\n if (typeof query !== \"string\") {\n throw new Error(\"Invalid query argument. Expected string, instead got \" + typeof query);\n }\n const options = validateConfig(__spreadValues(__spreadValues({}, defaultOptions), cfg));\n return new Formatter(createDialect(dialect), options).format(query);\n};\nexport {\n ConfigError,\n bigquery,\n db2,\n db2i,\n expandPhrases,\n format,\n formatDialect,\n hive,\n mariadb,\n mysql,\n n1ql,\n plsql,\n postgresql,\n redshift,\n singlestoredb,\n snowflake,\n spark,\n sql,\n sqlite,\n supportedDialects,\n transactsql,\n trino\n};\n//# sourceMappingURL=index.js.map","\n\n\n","\n\n\n","\n\n\n\n\n","\n\n\n\n\n","\n\n\n\n\n","export type BackendRequestData = {\n id: string\n meta: RequestMeta\n request: RequestRequest\n response: RequestResponse\n models: { [key: string]: number }\n queries: Query[]\n jobs: Job[]\n messages: Message[]\n cache: Cache[]\n logs: Log[]\n}\n\nexport type RequestMeta = {\n controller: string\n action: string\n params: { [key: string]: string }\n format: string\n method: string\n path: string\n status: number\n view_runtime: number\n db_runtime: number\n duration: number\n cpu_time: number\n idle_time: number\n allocations: number\n}\n\nexport type RequestRequest = {\n method: string\n path: string\n format: string\n headers: Headers\n params: { [key: string]: any }\n}\n\nexport type RequestResponse = {\n status: number\n headers: Headers\n body: string\n}\n\nexport type Headers = { [key: string]: string }\n\nexport type Query = {\n id: string\n name: string\n sql: string\n cached: boolean\n async: boolean\n binds: any[]\n source: string[]\n duration: number\n lock_wait: number\n}\n\nexport type Job = {\n id: string\n class: string\n queue: string\n args: any[]\n successfully_enqueued: boolean\n scheduled_at?: number\n logs: string[]\n}\n\nexport type Message = {\n msg: string\n extra: any\n}\n\nexport type Cache = {\n time: string\n name: string\n label: string\n key: string\n store: string\n transaction_id: string\n hit?: boolean\n super_operation?: string\n}\n\nexport type Log = {\n time: string\n severity: number\n severity_label: string\n message: string\n progname: string\n}\n\nexport class BackendRequest {\n id: string\n meta: RequestMeta\n request: RequestRequest\n response: RequestResponse\n models: { [key: string]: number }\n queries: Query[]\n jobs: Job[]\n messages: Message[]\n cache: Cache[]\n logs: Log[]\n\n constructor(data: BackendRequestData) {\n if (import.meta.env.DEV) {\n console.log(data)\n }\n\n this.id = data?.id || \"null\"\n this.meta = data?.meta || ({} as unknown as RequestMeta)\n this.request = data?.request || ({} as unknown as RequestRequest)\n this.response = data?.response || ({} as unknown as RequestResponse)\n this.models = data?.models || {}\n this.queries = data?.queries || []\n this.jobs = data?.jobs || []\n this.messages = data?.messages || []\n this.cache = data?.cache || []\n this.logs = data?.logs || []\n }\n\n get modelsCount(): number {\n return Object.values(this.models).reduce((a, b) => a + b, 0)\n }\n\n get queryCount(): number {\n return this.queries.length\n }\n\n get jobsCount(): number {\n return this.jobs.length\n }\n\n get messagesCount(): number {\n return this.messages.length\n }\n\n get cacheCount(): number {\n // count unique cache message per transaction_id\n return this.cache.reduce((acc, curr) => {\n if (acc.indexOf(curr.transaction_id) === -1) {\n acc.push(curr.transaction_id)\n }\n return acc\n }, []).length\n }\n\n get logsCount(): number {\n return this.logs.length\n }\n\n get pathWithVerb(): string {\n return `${this.meta.method.toUpperCase()} ${this.meta.path}`\n }\n\n get dataForTabs(): { [key: string]: any } {\n return {\n messages: {\n label: \"Debug\",\n count: this.messagesCount,\n },\n models: {\n label: \"Models\",\n count: this.modelsCount,\n },\n queries: {\n label: \"Queries\",\n count: this.queryCount,\n },\n jobs: {\n label: \"Jobs\",\n count: this.jobsCount,\n },\n cache: {\n label: \"Cache\",\n count: this.cacheCount,\n },\n\n // view: {\n // label: \"Views\",\n // disabled: true,\n // },\n\n // DISABLED UNTIL I CAN FIX IT\n // logs: {\n // label: \"Logs\",\n // // count: this.logsCount,\n // },\n }\n }\n}\n","import { defineStore } from \"pinia\"\nimport { BackendRequest, BackendRequestData } from \"@/models/Request.ts\"\n\nexport let useRequestsStore = defineStore(\"requests\", {\n state: () => {\n return {\n requests: [],\n currentRequest: null,\n } as {\n requests: BackendRequest[]\n currentRequest: BackendRequest\n }\n },\n actions: {\n addRequests(requests: BackendRequestData[]): string[] {\n const ids = []\n requests.forEach((r) => {\n if (!this.requests.find((req) => req.id === r.id)) {\n this.requests.push(new BackendRequest(r))\n }\n ids.push(r.id)\n })\n return ids\n },\n setCurrentRequestById(id: string) {\n this.currentRequest = this.requests.find((r) => r.id === id)!\n },\n clearRequests() {\n this.requests = []\n this.currentRequest = null\n },\n // removeRequest(request) {\n // this.requests.splice(this.requests.indexOf(request), 1)\n // },\n },\n})\n","/**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\nfunction apply(func, thisArg, args) {\n switch (args.length) {\n case 0: return func.call(thisArg);\n case 1: return func.call(thisArg, args[0]);\n case 2: return func.call(thisArg, args[0], args[1]);\n case 3: return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n}\n\nmodule.exports = apply;\n","/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n","var apply = require('./_apply');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * A specialized version of `baseRest` which transforms the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @param {Function} transform The rest array transform.\n * @returns {Function} Returns the new function.\n */\nfunction overRest(func, start, transform) {\n start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n index = -1;\n var otherArgs = Array(start + 1);\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = transform(array);\n return apply(func, this, otherArgs);\n };\n}\n\nmodule.exports = overRest;\n","/**\n * Creates a function that returns `value`.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {*} value The value to return from the new function.\n * @returns {Function} Returns the new constant function.\n * @example\n *\n * var objects = _.times(2, _.constant({ 'a': 1 }));\n *\n * console.log(objects);\n * // => [{ 'a': 1 }, { 'a': 1 }]\n *\n * console.log(objects[0] === objects[1]);\n * // => true\n */\nfunction constant(value) {\n return function() {\n return value;\n };\n}\n\nmodule.exports = constant;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n","var Symbol = require('./_Symbol');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nmodule.exports = getRawTag;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n","var Symbol = require('./_Symbol'),\n getRawTag = require('./_getRawTag'),\n objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n","var baseGetTag = require('./_baseGetTag'),\n isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar asyncTag = '[object AsyncFunction]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n proxyTag = '[object Proxy]';\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\nmodule.exports = isFunction;\n","var root = require('./_root');\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\nmodule.exports = coreJsData;\n","var coreJsData = require('./_coreJsData');\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\nmodule.exports = isMasked;\n","/** Used for built-in method references. */\nvar funcProto = Function.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\nmodule.exports = toSource;\n","var isFunction = require('./isFunction'),\n isMasked = require('./_isMasked'),\n isObject = require('./isObject'),\n toSource = require('./_toSource');\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\nmodule.exports = baseIsNative;\n","/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\nmodule.exports = getValue;\n","var baseIsNative = require('./_baseIsNative'),\n getValue = require('./_getValue');\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n","var getNative = require('./_getNative');\n\nvar defineProperty = (function() {\n try {\n var func = getNative(Object, 'defineProperty');\n func({}, '', {});\n return func;\n } catch (e) {}\n}());\n\nmodule.exports = defineProperty;\n","var constant = require('./constant'),\n defineProperty = require('./_defineProperty'),\n identity = require('./identity');\n\n/**\n * The base implementation of `setToString` without support for hot loop shorting.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar baseSetToString = !defineProperty ? identity : function(func, string) {\n return defineProperty(func, 'toString', {\n 'configurable': true,\n 'enumerable': false,\n 'value': constant(string),\n 'writable': true\n });\n};\n\nmodule.exports = baseSetToString;\n","/** Used to detect hot functions by number of calls within a span of milliseconds. */\nvar HOT_COUNT = 800,\n HOT_SPAN = 16;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeNow = Date.now;\n\n/**\n * Creates a function that'll short out and invoke `identity` instead\n * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN`\n * milliseconds.\n *\n * @private\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new shortable function.\n */\nfunction shortOut(func) {\n var count = 0,\n lastCalled = 0;\n\n return function() {\n var stamp = nativeNow(),\n remaining = HOT_SPAN - (stamp - lastCalled);\n\n lastCalled = stamp;\n if (remaining > 0) {\n if (++count >= HOT_COUNT) {\n return arguments[0];\n }\n } else {\n count = 0;\n }\n return func.apply(undefined, arguments);\n };\n}\n\nmodule.exports = shortOut;\n","var baseSetToString = require('./_baseSetToString'),\n shortOut = require('./_shortOut');\n\n/**\n * Sets the `toString` method of `func` to return `string`.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar setToString = shortOut(baseSetToString);\n\nmodule.exports = setToString;\n","var identity = require('./identity'),\n overRest = require('./_overRest'),\n setToString = require('./_setToString');\n\n/**\n * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n */\nfunction baseRest(func, start) {\n return setToString(overRest(func, start, identity), func + '');\n}\n\nmodule.exports = baseRest;\n","/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\nmodule.exports = listCacheClear;\n","/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\nmodule.exports = eq;\n","var eq = require('./eq');\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\nmodule.exports = assocIndexOf;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype;\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\nmodule.exports = listCacheDelete;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\nmodule.exports = listCacheGet;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\nmodule.exports = listCacheHas;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\nmodule.exports = listCacheSet;\n","var listCacheClear = require('./_listCacheClear'),\n listCacheDelete = require('./_listCacheDelete'),\n listCacheGet = require('./_listCacheGet'),\n listCacheHas = require('./_listCacheHas'),\n listCacheSet = require('./_listCacheSet');\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\nmodule.exports = ListCache;\n","var ListCache = require('./_ListCache');\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n}\n\nmodule.exports = stackClear;\n","/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\nmodule.exports = stackDelete;\n","/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\nmodule.exports = stackGet;\n","/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\nmodule.exports = stackHas;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map');\n\nmodule.exports = Map;\n","var getNative = require('./_getNative');\n\n/* Built-in method references that are verified to be native. */\nvar nativeCreate = getNative(Object, 'create');\n\nmodule.exports = nativeCreate;\n","var nativeCreate = require('./_nativeCreate');\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n}\n\nmodule.exports = hashClear;\n","/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = hashDelete;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\nmodule.exports = hashGet;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\nmodule.exports = hashHas;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\nmodule.exports = hashSet;\n","var hashClear = require('./_hashClear'),\n hashDelete = require('./_hashDelete'),\n hashGet = require('./_hashGet'),\n hashHas = require('./_hashHas'),\n hashSet = require('./_hashSet');\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\nmodule.exports = Hash;\n","var Hash = require('./_Hash'),\n ListCache = require('./_ListCache'),\n Map = require('./_Map');\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\nmodule.exports = mapCacheClear;\n","/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\nmodule.exports = isKeyable;\n","var isKeyable = require('./_isKeyable');\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\nmodule.exports = getMapData;\n","var getMapData = require('./_getMapData');\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = mapCacheDelete;\n","var getMapData = require('./_getMapData');\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\nmodule.exports = mapCacheGet;\n","var getMapData = require('./_getMapData');\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\nmodule.exports = mapCacheHas;\n","var getMapData = require('./_getMapData');\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\nmodule.exports = mapCacheSet;\n","var mapCacheClear = require('./_mapCacheClear'),\n mapCacheDelete = require('./_mapCacheDelete'),\n mapCacheGet = require('./_mapCacheGet'),\n mapCacheHas = require('./_mapCacheHas'),\n mapCacheSet = require('./_mapCacheSet');\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\nmodule.exports = MapCache;\n","var ListCache = require('./_ListCache'),\n Map = require('./_Map'),\n MapCache = require('./_MapCache');\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\nmodule.exports = stackSet;\n","var ListCache = require('./_ListCache'),\n stackClear = require('./_stackClear'),\n stackDelete = require('./_stackDelete'),\n stackGet = require('./_stackGet'),\n stackHas = require('./_stackHas'),\n stackSet = require('./_stackSet');\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\nmodule.exports = Stack;\n","var defineProperty = require('./_defineProperty');\n\n/**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction baseAssignValue(object, key, value) {\n if (key == '__proto__' && defineProperty) {\n defineProperty(object, key, {\n 'configurable': true,\n 'enumerable': true,\n 'value': value,\n 'writable': true\n });\n } else {\n object[key] = value;\n }\n}\n\nmodule.exports = baseAssignValue;\n","var baseAssignValue = require('./_baseAssignValue'),\n eq = require('./eq');\n\n/**\n * This function is like `assignValue` except that it doesn't assign\n * `undefined` values.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignMergeValue(object, key, value) {\n if ((value !== undefined && !eq(object[key], value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nmodule.exports = assignMergeValue;\n","/**\n * Creates a base function for methods like `_.forIn` and `_.forOwn`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var index = -1,\n iterable = Object(object),\n props = keysFunc(object),\n length = props.length;\n\n while (length--) {\n var key = props[fromRight ? length : ++index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\nmodule.exports = createBaseFor;\n","var createBaseFor = require('./_createBaseFor');\n\n/**\n * The base implementation of `baseForOwn` which iterates over `object`\n * properties returned by `keysFunc` and invokes `iteratee` for each property.\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\nmodule.exports = baseFor;\n","var root = require('./_root');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined;\n\n/**\n * Creates a clone of `buffer`.\n *\n * @private\n * @param {Buffer} buffer The buffer to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Buffer} Returns the cloned buffer.\n */\nfunction cloneBuffer(buffer, isDeep) {\n if (isDeep) {\n return buffer.slice();\n }\n var length = buffer.length,\n result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);\n\n buffer.copy(result);\n return result;\n}\n\nmodule.exports = cloneBuffer;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Uint8Array = root.Uint8Array;\n\nmodule.exports = Uint8Array;\n","var Uint8Array = require('./_Uint8Array');\n\n/**\n * Creates a clone of `arrayBuffer`.\n *\n * @private\n * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction cloneArrayBuffer(arrayBuffer) {\n var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n return result;\n}\n\nmodule.exports = cloneArrayBuffer;\n","var cloneArrayBuffer = require('./_cloneArrayBuffer');\n\n/**\n * Creates a clone of `typedArray`.\n *\n * @private\n * @param {Object} typedArray The typed array to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned typed array.\n */\nfunction cloneTypedArray(typedArray, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n}\n\nmodule.exports = cloneTypedArray;\n","/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction copyArray(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\nmodule.exports = copyArray;\n","var isObject = require('./isObject');\n\n/** Built-in value references. */\nvar objectCreate = Object.create;\n\n/**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} proto The object to inherit from.\n * @returns {Object} Returns the new object.\n */\nvar baseCreate = (function() {\n function object() {}\n return function(proto) {\n if (!isObject(proto)) {\n return {};\n }\n if (objectCreate) {\n return objectCreate(proto);\n }\n object.prototype = proto;\n var result = new object;\n object.prototype = undefined;\n return result;\n };\n}());\n\nmodule.exports = baseCreate;\n","/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\nmodule.exports = overArg;\n","var overArg = require('./_overArg');\n\n/** Built-in value references. */\nvar getPrototype = overArg(Object.getPrototypeOf, Object);\n\nmodule.exports = getPrototype;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\nmodule.exports = isPrototype;\n","var baseCreate = require('./_baseCreate'),\n getPrototype = require('./_getPrototype'),\n isPrototype = require('./_isPrototype');\n\n/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n return (typeof object.constructor == 'function' && !isPrototype(object))\n ? baseCreate(getPrototype(object))\n : {};\n}\n\nmodule.exports = initCloneObject;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]';\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\nmodule.exports = baseIsArguments;\n","var baseIsArguments = require('./_baseIsArguments'),\n isObjectLike = require('./isObjectLike');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\nmodule.exports = isArguments;\n","/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nmodule.exports = isArray;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n","var isFunction = require('./isFunction'),\n isLength = require('./isLength');\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\nmodule.exports = isArrayLike;\n","var isArrayLike = require('./isArrayLike'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\nmodule.exports = isArrayLikeObject;\n","/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = stubFalse;\n","var root = require('./_root'),\n stubFalse = require('./stubFalse');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\nmodule.exports = isBuffer;\n","var baseGetTag = require('./_baseGetTag'),\n getPrototype = require('./_getPrototype'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to infer the `Object` constructor. */\nvar objectCtorString = funcToString.call(Object);\n\n/**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\nfunction isPlainObject(value) {\n if (!isObjectLike(value) || baseGetTag(value) != objectTag) {\n return false;\n }\n var proto = getPrototype(value);\n if (proto === null) {\n return true;\n }\n var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n return typeof Ctor == 'function' && Ctor instanceof Ctor &&\n funcToString.call(Ctor) == objectCtorString;\n}\n\nmodule.exports = isPlainObject;\n","var baseGetTag = require('./_baseGetTag'),\n isLength = require('./isLength'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\nmodule.exports = baseIsTypedArray;\n","/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\nmodule.exports = baseUnary;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n // Use `util.types` for Node.js 10+.\n var types = freeModule && freeModule.require && freeModule.require('util').types;\n\n if (types) {\n return types;\n }\n\n // Legacy `process.binding('util')` for Node.js < 10.\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\nmodule.exports = nodeUtil;\n","var baseIsTypedArray = require('./_baseIsTypedArray'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\nmodule.exports = isTypedArray;\n","/**\n * Gets the value at `key`, unless `key` is \"__proto__\" or \"constructor\".\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction safeGet(object, key) {\n if (key === 'constructor' && typeof object[key] === 'function') {\n return;\n }\n\n if (key == '__proto__') {\n return;\n }\n\n return object[key];\n}\n\nmodule.exports = safeGet;\n","var baseAssignValue = require('./_baseAssignValue'),\n eq = require('./eq');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nmodule.exports = assignValue;\n","var assignValue = require('./_assignValue'),\n baseAssignValue = require('./_baseAssignValue');\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n var isNew = !object;\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n if (newValue === undefined) {\n newValue = source[key];\n }\n if (isNew) {\n baseAssignValue(object, key, newValue);\n } else {\n assignValue(object, key, newValue);\n }\n }\n return object;\n}\n\nmodule.exports = copyObject;\n","/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\nmodule.exports = baseTimes;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n var type = typeof value;\n length = length == null ? MAX_SAFE_INTEGER : length;\n\n return !!length &&\n (type == 'number' ||\n (type != 'symbol' && reIsUint.test(value))) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\nmodule.exports = isIndex;\n","var baseTimes = require('./_baseTimes'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isIndex = require('./_isIndex'),\n isTypedArray = require('./isTypedArray');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = arrayLikeKeys;\n","/**\n * This function is like\n * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * except that it includes inherited enumerable properties.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction nativeKeysIn(object) {\n var result = [];\n if (object != null) {\n for (var key in Object(object)) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = nativeKeysIn;\n","var isObject = require('./isObject'),\n isPrototype = require('./_isPrototype'),\n nativeKeysIn = require('./_nativeKeysIn');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeysIn(object) {\n if (!isObject(object)) {\n return nativeKeysIn(object);\n }\n var isProto = isPrototype(object),\n result = [];\n\n for (var key in object) {\n if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = baseKeysIn;\n","var arrayLikeKeys = require('./_arrayLikeKeys'),\n baseKeysIn = require('./_baseKeysIn'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\n}\n\nmodule.exports = keysIn;\n","var copyObject = require('./_copyObject'),\n keysIn = require('./keysIn');\n\n/**\n * Converts `value` to a plain object flattening inherited enumerable string\n * keyed properties of `value` to own properties of the plain object.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {Object} Returns the converted plain object.\n * @example\n *\n * function Foo() {\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.assign({ 'a': 1 }, new Foo);\n * // => { 'a': 1, 'b': 2 }\n *\n * _.assign({ 'a': 1 }, _.toPlainObject(new Foo));\n * // => { 'a': 1, 'b': 2, 'c': 3 }\n */\nfunction toPlainObject(value) {\n return copyObject(value, keysIn(value));\n}\n\nmodule.exports = toPlainObject;\n","var assignMergeValue = require('./_assignMergeValue'),\n cloneBuffer = require('./_cloneBuffer'),\n cloneTypedArray = require('./_cloneTypedArray'),\n copyArray = require('./_copyArray'),\n initCloneObject = require('./_initCloneObject'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isArrayLikeObject = require('./isArrayLikeObject'),\n isBuffer = require('./isBuffer'),\n isFunction = require('./isFunction'),\n isObject = require('./isObject'),\n isPlainObject = require('./isPlainObject'),\n isTypedArray = require('./isTypedArray'),\n safeGet = require('./_safeGet'),\n toPlainObject = require('./toPlainObject');\n\n/**\n * A specialized version of `baseMerge` for arrays and objects which performs\n * deep merges and tracks traversed objects enabling objects with circular\n * references to be merged.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {string} key The key of the value to merge.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} mergeFunc The function to merge values.\n * @param {Function} [customizer] The function to customize assigned values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) {\n var objValue = safeGet(object, key),\n srcValue = safeGet(source, key),\n stacked = stack.get(srcValue);\n\n if (stacked) {\n assignMergeValue(object, key, stacked);\n return;\n }\n var newValue = customizer\n ? customizer(objValue, srcValue, (key + ''), object, source, stack)\n : undefined;\n\n var isCommon = newValue === undefined;\n\n if (isCommon) {\n var isArr = isArray(srcValue),\n isBuff = !isArr && isBuffer(srcValue),\n isTyped = !isArr && !isBuff && isTypedArray(srcValue);\n\n newValue = srcValue;\n if (isArr || isBuff || isTyped) {\n if (isArray(objValue)) {\n newValue = objValue;\n }\n else if (isArrayLikeObject(objValue)) {\n newValue = copyArray(objValue);\n }\n else if (isBuff) {\n isCommon = false;\n newValue = cloneBuffer(srcValue, true);\n }\n else if (isTyped) {\n isCommon = false;\n newValue = cloneTypedArray(srcValue, true);\n }\n else {\n newValue = [];\n }\n }\n else if (isPlainObject(srcValue) || isArguments(srcValue)) {\n newValue = objValue;\n if (isArguments(objValue)) {\n newValue = toPlainObject(objValue);\n }\n else if (!isObject(objValue) || isFunction(objValue)) {\n newValue = initCloneObject(srcValue);\n }\n }\n else {\n isCommon = false;\n }\n }\n if (isCommon) {\n // Recursively merge objects and arrays (susceptible to call stack limits).\n stack.set(srcValue, newValue);\n mergeFunc(newValue, srcValue, srcIndex, customizer, stack);\n stack['delete'](srcValue);\n }\n assignMergeValue(object, key, newValue);\n}\n\nmodule.exports = baseMergeDeep;\n","var Stack = require('./_Stack'),\n assignMergeValue = require('./_assignMergeValue'),\n baseFor = require('./_baseFor'),\n baseMergeDeep = require('./_baseMergeDeep'),\n isObject = require('./isObject'),\n keysIn = require('./keysIn'),\n safeGet = require('./_safeGet');\n\n/**\n * The base implementation of `_.merge` without support for multiple sources.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} [customizer] The function to customize merged values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMerge(object, source, srcIndex, customizer, stack) {\n if (object === source) {\n return;\n }\n baseFor(source, function(srcValue, key) {\n stack || (stack = new Stack);\n if (isObject(srcValue)) {\n baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack);\n }\n else {\n var newValue = customizer\n ? customizer(safeGet(object, key), srcValue, (key + ''), object, source, stack)\n : undefined;\n\n if (newValue === undefined) {\n newValue = srcValue;\n }\n assignMergeValue(object, key, newValue);\n }\n }, keysIn);\n}\n\nmodule.exports = baseMerge;\n","var baseMerge = require('./_baseMerge'),\n isObject = require('./isObject');\n\n/**\n * Used by `_.defaultsDeep` to customize its `_.merge` use to merge source\n * objects into destination objects that are passed thru.\n *\n * @private\n * @param {*} objValue The destination value.\n * @param {*} srcValue The source value.\n * @param {string} key The key of the property to merge.\n * @param {Object} object The parent object of `objValue`.\n * @param {Object} source The parent object of `srcValue`.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n * @returns {*} Returns the value to assign.\n */\nfunction customDefaultsMerge(objValue, srcValue, key, object, source, stack) {\n if (isObject(objValue) && isObject(srcValue)) {\n // Recursively merge objects and arrays (susceptible to call stack limits).\n stack.set(srcValue, objValue);\n baseMerge(objValue, srcValue, undefined, customDefaultsMerge, stack);\n stack['delete'](srcValue);\n }\n return objValue;\n}\n\nmodule.exports = customDefaultsMerge;\n","var eq = require('./eq'),\n isArrayLike = require('./isArrayLike'),\n isIndex = require('./_isIndex'),\n isObject = require('./isObject');\n\n/**\n * Checks if the given arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call,\n * else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)\n ) {\n return eq(object[index], value);\n }\n return false;\n}\n\nmodule.exports = isIterateeCall;\n","var baseRest = require('./_baseRest'),\n isIterateeCall = require('./_isIterateeCall');\n\n/**\n * Creates a function like `_.assign`.\n *\n * @private\n * @param {Function} assigner The function to assign values.\n * @returns {Function} Returns the new assigner function.\n */\nfunction createAssigner(assigner) {\n return baseRest(function(object, sources) {\n var index = -1,\n length = sources.length,\n customizer = length > 1 ? sources[length - 1] : undefined,\n guard = length > 2 ? sources[2] : undefined;\n\n customizer = (assigner.length > 3 && typeof customizer == 'function')\n ? (length--, customizer)\n : undefined;\n\n if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n customizer = length < 3 ? undefined : customizer;\n length = 1;\n }\n object = Object(object);\n while (++index < length) {\n var source = sources[index];\n if (source) {\n assigner(object, source, index, customizer);\n }\n }\n return object;\n });\n}\n\nmodule.exports = createAssigner;\n","var baseMerge = require('./_baseMerge'),\n createAssigner = require('./_createAssigner');\n\n/**\n * This method is like `_.merge` except that it accepts `customizer` which\n * is invoked to produce the merged values of the destination and source\n * properties. If `customizer` returns `undefined`, merging is handled by the\n * method instead. The `customizer` is invoked with six arguments:\n * (objValue, srcValue, key, object, source, stack).\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} sources The source objects.\n * @param {Function} customizer The function to customize assigned values.\n * @returns {Object} Returns `object`.\n * @example\n *\n * function customizer(objValue, srcValue) {\n * if (_.isArray(objValue)) {\n * return objValue.concat(srcValue);\n * }\n * }\n *\n * var object = { 'a': [1], 'b': [2] };\n * var other = { 'a': [3], 'b': [4] };\n *\n * _.mergeWith(object, other, customizer);\n * // => { 'a': [1, 3], 'b': [2, 4] }\n */\nvar mergeWith = createAssigner(function(object, source, srcIndex, customizer) {\n baseMerge(object, source, srcIndex, customizer);\n});\n\nmodule.exports = mergeWith;\n","var apply = require('./_apply'),\n baseRest = require('./_baseRest'),\n customDefaultsMerge = require('./_customDefaultsMerge'),\n mergeWith = require('./mergeWith');\n\n/**\n * This method is like `_.defaults` except that it recursively assigns\n * default properties.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 3.10.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @see _.defaults\n * @example\n *\n * _.defaultsDeep({ 'a': { 'b': 2 } }, { 'a': { 'b': 1, 'c': 3 } });\n * // => { 'a': { 'b': 2, 'c': 3 } }\n */\nvar defaultsDeep = baseRest(function(args) {\n args.push(undefined, customDefaultsMerge);\n return apply(mergeWith, undefined, args);\n});\n\nmodule.exports = defaultsDeep;\n","import defaultsDeep from \"lodash/defaultsDeep\"\n\nexport type DebugbarConfigOptions = {\n mode: \"ws\" | \"off\"\n cable: {\n url: string\n prefix: string\n }\n channelName: string\n height: number\n}\n\nexport function newDebugbarConfig(options: DebugbarConfigOptions) {\n const obj = defaultsDeep(options, {\n mode: \"ws\",\n cable: {\n url: \"ws://127.0.0.1:3000\",\n prefix: \"/_debugbar\",\n },\n channelName: \"Debugbar::DebugbarChannel\",\n height: 360,\n } as DebugbarConfigOptions)\n\n obj.actionCableUrl = `${obj.cable.url}${obj.cable.prefix}/cable`\n\n return obj\n}\n","import { defineStore } from \"pinia\"\nimport { newDebugbarConfig } from \"@/models/Config.ts\"\n\nexport let useConfigStore = defineStore(\"config\", {\n state: () => ({\n config: newDebugbarConfig(window._debugbarConfigOptions),\n }),\n})\n","\n\n\n\n\n","/**\n * A specialized version of `_.map` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction arrayMap(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length,\n result = Array(length);\n\n while (++index < length) {\n result[index] = iteratee(array[index], index, array);\n }\n return result;\n}\n\nmodule.exports = arrayMap;\n","/**\n * A specialized version of `_.forEach` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\nfunction arrayEach(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n}\n\nmodule.exports = arrayEach;\n","var overArg = require('./_overArg');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = overArg(Object.keys, Object);\n\nmodule.exports = nativeKeys;\n","var isPrototype = require('./_isPrototype'),\n nativeKeys = require('./_nativeKeys');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = baseKeys;\n","var arrayLikeKeys = require('./_arrayLikeKeys'),\n baseKeys = require('./_baseKeys'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\nmodule.exports = keys;\n","var copyObject = require('./_copyObject'),\n keys = require('./keys');\n\n/**\n * The base implementation of `_.assign` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssign(object, source) {\n return object && copyObject(source, keys(source), object);\n}\n\nmodule.exports = baseAssign;\n","var copyObject = require('./_copyObject'),\n keysIn = require('./keysIn');\n\n/**\n * The base implementation of `_.assignIn` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssignIn(object, source) {\n return object && copyObject(source, keysIn(source), object);\n}\n\nmodule.exports = baseAssignIn;\n","/**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction arrayFilter(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\nmodule.exports = arrayFilter;\n","/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n return [];\n}\n\nmodule.exports = stubArray;\n","var arrayFilter = require('./_arrayFilter'),\n stubArray = require('./stubArray');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = !nativeGetSymbols ? stubArray : function(object) {\n if (object == null) {\n return [];\n }\n object = Object(object);\n return arrayFilter(nativeGetSymbols(object), function(symbol) {\n return propertyIsEnumerable.call(object, symbol);\n });\n};\n\nmodule.exports = getSymbols;\n","var copyObject = require('./_copyObject'),\n getSymbols = require('./_getSymbols');\n\n/**\n * Copies own symbols of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\nfunction copySymbols(source, object) {\n return copyObject(source, getSymbols(source), object);\n}\n\nmodule.exports = copySymbols;\n","/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\nmodule.exports = arrayPush;\n","var arrayPush = require('./_arrayPush'),\n getPrototype = require('./_getPrototype'),\n getSymbols = require('./_getSymbols'),\n stubArray = require('./stubArray');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own and inherited enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbolsIn = !nativeGetSymbols ? stubArray : function(object) {\n var result = [];\n while (object) {\n arrayPush(result, getSymbols(object));\n object = getPrototype(object);\n }\n return result;\n};\n\nmodule.exports = getSymbolsIn;\n","var copyObject = require('./_copyObject'),\n getSymbolsIn = require('./_getSymbolsIn');\n\n/**\n * Copies own and inherited symbols of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\nfunction copySymbolsIn(source, object) {\n return copyObject(source, getSymbolsIn(source), object);\n}\n\nmodule.exports = copySymbolsIn;\n","var arrayPush = require('./_arrayPush'),\n isArray = require('./isArray');\n\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n}\n\nmodule.exports = baseGetAllKeys;\n","var baseGetAllKeys = require('./_baseGetAllKeys'),\n getSymbols = require('./_getSymbols'),\n keys = require('./keys');\n\n/**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n}\n\nmodule.exports = getAllKeys;\n","var baseGetAllKeys = require('./_baseGetAllKeys'),\n getSymbolsIn = require('./_getSymbolsIn'),\n keysIn = require('./keysIn');\n\n/**\n * Creates an array of own and inherited enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeysIn(object) {\n return baseGetAllKeys(object, keysIn, getSymbolsIn);\n}\n\nmodule.exports = getAllKeysIn;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView');\n\nmodule.exports = DataView;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Promise = getNative(root, 'Promise');\n\nmodule.exports = Promise;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Set = getNative(root, 'Set');\n\nmodule.exports = Set;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar WeakMap = getNative(root, 'WeakMap');\n\nmodule.exports = WeakMap;\n","var DataView = require('./_DataView'),\n Map = require('./_Map'),\n Promise = require('./_Promise'),\n Set = require('./_Set'),\n WeakMap = require('./_WeakMap'),\n baseGetTag = require('./_baseGetTag'),\n toSource = require('./_toSource');\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n setTag = '[object Set]',\n weakMapTag = '[object WeakMap]';\n\nvar dataViewTag = '[object DataView]';\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = baseGetTag(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : '';\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\nmodule.exports = getTag;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Initializes an array clone.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the initialized clone.\n */\nfunction initCloneArray(array) {\n var length = array.length,\n result = new array.constructor(length);\n\n // Add properties assigned by `RegExp#exec`.\n if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n result.index = array.index;\n result.input = array.input;\n }\n return result;\n}\n\nmodule.exports = initCloneArray;\n","var cloneArrayBuffer = require('./_cloneArrayBuffer');\n\n/**\n * Creates a clone of `dataView`.\n *\n * @private\n * @param {Object} dataView The data view to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned data view.\n */\nfunction cloneDataView(dataView, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer;\n return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength);\n}\n\nmodule.exports = cloneDataView;\n","/** Used to match `RegExp` flags from their coerced string values. */\nvar reFlags = /\\w*$/;\n\n/**\n * Creates a clone of `regexp`.\n *\n * @private\n * @param {Object} regexp The regexp to clone.\n * @returns {Object} Returns the cloned regexp.\n */\nfunction cloneRegExp(regexp) {\n var result = new regexp.constructor(regexp.source, reFlags.exec(regexp));\n result.lastIndex = regexp.lastIndex;\n return result;\n}\n\nmodule.exports = cloneRegExp;\n","var Symbol = require('./_Symbol');\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * Creates a clone of the `symbol` object.\n *\n * @private\n * @param {Object} symbol The symbol object to clone.\n * @returns {Object} Returns the cloned symbol object.\n */\nfunction cloneSymbol(symbol) {\n return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {};\n}\n\nmodule.exports = cloneSymbol;\n","var cloneArrayBuffer = require('./_cloneArrayBuffer'),\n cloneDataView = require('./_cloneDataView'),\n cloneRegExp = require('./_cloneRegExp'),\n cloneSymbol = require('./_cloneSymbol'),\n cloneTypedArray = require('./_cloneTypedArray');\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/**\n * Initializes an object clone based on its `toStringTag`.\n *\n * **Note:** This function only supports cloning values with tags of\n * `Boolean`, `Date`, `Error`, `Map`, `Number`, `RegExp`, `Set`, or `String`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {string} tag The `toStringTag` of the object to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneByTag(object, tag, isDeep) {\n var Ctor = object.constructor;\n switch (tag) {\n case arrayBufferTag:\n return cloneArrayBuffer(object);\n\n case boolTag:\n case dateTag:\n return new Ctor(+object);\n\n case dataViewTag:\n return cloneDataView(object, isDeep);\n\n case float32Tag: case float64Tag:\n case int8Tag: case int16Tag: case int32Tag:\n case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n return cloneTypedArray(object, isDeep);\n\n case mapTag:\n return new Ctor;\n\n case numberTag:\n case stringTag:\n return new Ctor(object);\n\n case regexpTag:\n return cloneRegExp(object);\n\n case setTag:\n return new Ctor;\n\n case symbolTag:\n return cloneSymbol(object);\n }\n}\n\nmodule.exports = initCloneByTag;\n","var getTag = require('./_getTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]';\n\n/**\n * The base implementation of `_.isMap` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a map, else `false`.\n */\nfunction baseIsMap(value) {\n return isObjectLike(value) && getTag(value) == mapTag;\n}\n\nmodule.exports = baseIsMap;\n","var baseIsMap = require('./_baseIsMap'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsMap = nodeUtil && nodeUtil.isMap;\n\n/**\n * Checks if `value` is classified as a `Map` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a map, else `false`.\n * @example\n *\n * _.isMap(new Map);\n * // => true\n *\n * _.isMap(new WeakMap);\n * // => false\n */\nvar isMap = nodeIsMap ? baseUnary(nodeIsMap) : baseIsMap;\n\nmodule.exports = isMap;\n","var getTag = require('./_getTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar setTag = '[object Set]';\n\n/**\n * The base implementation of `_.isSet` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a set, else `false`.\n */\nfunction baseIsSet(value) {\n return isObjectLike(value) && getTag(value) == setTag;\n}\n\nmodule.exports = baseIsSet;\n","var baseIsSet = require('./_baseIsSet'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsSet = nodeUtil && nodeUtil.isSet;\n\n/**\n * Checks if `value` is classified as a `Set` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a set, else `false`.\n * @example\n *\n * _.isSet(new Set);\n * // => true\n *\n * _.isSet(new WeakSet);\n * // => false\n */\nvar isSet = nodeIsSet ? baseUnary(nodeIsSet) : baseIsSet;\n\nmodule.exports = isSet;\n","var Stack = require('./_Stack'),\n arrayEach = require('./_arrayEach'),\n assignValue = require('./_assignValue'),\n baseAssign = require('./_baseAssign'),\n baseAssignIn = require('./_baseAssignIn'),\n cloneBuffer = require('./_cloneBuffer'),\n copyArray = require('./_copyArray'),\n copySymbols = require('./_copySymbols'),\n copySymbolsIn = require('./_copySymbolsIn'),\n getAllKeys = require('./_getAllKeys'),\n getAllKeysIn = require('./_getAllKeysIn'),\n getTag = require('./_getTag'),\n initCloneArray = require('./_initCloneArray'),\n initCloneByTag = require('./_initCloneByTag'),\n initCloneObject = require('./_initCloneObject'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isMap = require('./isMap'),\n isObject = require('./isObject'),\n isSet = require('./isSet'),\n keys = require('./keys'),\n keysIn = require('./keysIn');\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1,\n CLONE_FLAT_FLAG = 2,\n CLONE_SYMBOLS_FLAG = 4;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values supported by `_.clone`. */\nvar cloneableTags = {};\ncloneableTags[argsTag] = cloneableTags[arrayTag] =\ncloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] =\ncloneableTags[boolTag] = cloneableTags[dateTag] =\ncloneableTags[float32Tag] = cloneableTags[float64Tag] =\ncloneableTags[int8Tag] = cloneableTags[int16Tag] =\ncloneableTags[int32Tag] = cloneableTags[mapTag] =\ncloneableTags[numberTag] = cloneableTags[objectTag] =\ncloneableTags[regexpTag] = cloneableTags[setTag] =\ncloneableTags[stringTag] = cloneableTags[symbolTag] =\ncloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\ncloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\ncloneableTags[errorTag] = cloneableTags[funcTag] =\ncloneableTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.clone` and `_.cloneDeep` which tracks\n * traversed objects.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Deep clone\n * 2 - Flatten inherited properties\n * 4 - Clone symbols\n * @param {Function} [customizer] The function to customize cloning.\n * @param {string} [key] The key of `value`.\n * @param {Object} [object] The parent object of `value`.\n * @param {Object} [stack] Tracks traversed objects and their clone counterparts.\n * @returns {*} Returns the cloned value.\n */\nfunction baseClone(value, bitmask, customizer, key, object, stack) {\n var result,\n isDeep = bitmask & CLONE_DEEP_FLAG,\n isFlat = bitmask & CLONE_FLAT_FLAG,\n isFull = bitmask & CLONE_SYMBOLS_FLAG;\n\n if (customizer) {\n result = object ? customizer(value, key, object, stack) : customizer(value);\n }\n if (result !== undefined) {\n return result;\n }\n if (!isObject(value)) {\n return value;\n }\n var isArr = isArray(value);\n if (isArr) {\n result = initCloneArray(value);\n if (!isDeep) {\n return copyArray(value, result);\n }\n } else {\n var tag = getTag(value),\n isFunc = tag == funcTag || tag == genTag;\n\n if (isBuffer(value)) {\n return cloneBuffer(value, isDeep);\n }\n if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n result = (isFlat || isFunc) ? {} : initCloneObject(value);\n if (!isDeep) {\n return isFlat\n ? copySymbolsIn(value, baseAssignIn(result, value))\n : copySymbols(value, baseAssign(result, value));\n }\n } else {\n if (!cloneableTags[tag]) {\n return object ? value : {};\n }\n result = initCloneByTag(value, tag, isDeep);\n }\n }\n // Check for circular references and return its corresponding clone.\n stack || (stack = new Stack);\n var stacked = stack.get(value);\n if (stacked) {\n return stacked;\n }\n stack.set(value, result);\n\n if (isSet(value)) {\n value.forEach(function(subValue) {\n result.add(baseClone(subValue, bitmask, customizer, subValue, value, stack));\n });\n } else if (isMap(value)) {\n value.forEach(function(subValue, key) {\n result.set(key, baseClone(subValue, bitmask, customizer, key, value, stack));\n });\n }\n\n var keysFunc = isFull\n ? (isFlat ? getAllKeysIn : getAllKeys)\n : (isFlat ? keysIn : keys);\n\n var props = isArr ? undefined : keysFunc(value);\n arrayEach(props || value, function(subValue, key) {\n if (props) {\n key = subValue;\n subValue = value[key];\n }\n // Recursively populate clone (susceptible to call stack limits).\n assignValue(result, key, baseClone(subValue, bitmask, customizer, key, value, stack));\n });\n return result;\n}\n\nmodule.exports = baseClone;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nmodule.exports = isSymbol;\n","var isArray = require('./isArray'),\n isSymbol = require('./isSymbol');\n\n/** Used to match property names within property paths. */\nvar reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n reIsPlainProp = /^\\w*$/;\n\n/**\n * Checks if `value` is a property name and not a property path.\n *\n * @private\n * @param {*} value The value to check.\n * @param {Object} [object] The object to query keys on.\n * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n */\nfunction isKey(value, object) {\n if (isArray(value)) {\n return false;\n }\n var type = typeof value;\n if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n value == null || isSymbol(value)) {\n return true;\n }\n return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n (object != null && value in Object(object));\n}\n\nmodule.exports = isKey;\n","var MapCache = require('./_MapCache');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `clear`, `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\nfunction memoize(func, resolver) {\n if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var memoized = function() {\n var args = arguments,\n key = resolver ? resolver.apply(this, args) : args[0],\n cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result) || cache;\n return result;\n };\n memoized.cache = new (memoize.Cache || MapCache);\n return memoized;\n}\n\n// Expose `MapCache`.\nmemoize.Cache = MapCache;\n\nmodule.exports = memoize;\n","var memoize = require('./memoize');\n\n/** Used as the maximum memoize cache size. */\nvar MAX_MEMOIZE_SIZE = 500;\n\n/**\n * A specialized version of `_.memoize` which clears the memoized function's\n * cache when it exceeds `MAX_MEMOIZE_SIZE`.\n *\n * @private\n * @param {Function} func The function to have its output memoized.\n * @returns {Function} Returns the new memoized function.\n */\nfunction memoizeCapped(func) {\n var result = memoize(func, function(key) {\n if (cache.size === MAX_MEMOIZE_SIZE) {\n cache.clear();\n }\n return key;\n });\n\n var cache = result.cache;\n return result;\n}\n\nmodule.exports = memoizeCapped;\n","var memoizeCapped = require('./_memoizeCapped');\n\n/** Used to match property names within property paths. */\nvar rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n/** Used to match backslashes in property paths. */\nvar reEscapeChar = /\\\\(\\\\)?/g;\n\n/**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */\nvar stringToPath = memoizeCapped(function(string) {\n var result = [];\n if (string.charCodeAt(0) === 46 /* . */) {\n result.push('');\n }\n string.replace(rePropName, function(match, number, quote, subString) {\n result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match));\n });\n return result;\n});\n\nmodule.exports = stringToPath;\n","var Symbol = require('./_Symbol'),\n arrayMap = require('./_arrayMap'),\n isArray = require('./isArray'),\n isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isArray(value)) {\n // Recursively convert values (susceptible to call stack limits).\n return arrayMap(value, baseToString) + '';\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nmodule.exports = baseToString;\n","var baseToString = require('./_baseToString');\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n return value == null ? '' : baseToString(value);\n}\n\nmodule.exports = toString;\n","var isArray = require('./isArray'),\n isKey = require('./_isKey'),\n stringToPath = require('./_stringToPath'),\n toString = require('./toString');\n\n/**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @param {Object} [object] The object to query keys on.\n * @returns {Array} Returns the cast property path array.\n */\nfunction castPath(value, object) {\n if (isArray(value)) {\n return value;\n }\n return isKey(value, object) ? [value] : stringToPath(toString(value));\n}\n\nmodule.exports = castPath;\n","/**\n * Gets the last element of `array`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to query.\n * @returns {*} Returns the last element of `array`.\n * @example\n *\n * _.last([1, 2, 3]);\n * // => 3\n */\nfunction last(array) {\n var length = array == null ? 0 : array.length;\n return length ? array[length - 1] : undefined;\n}\n\nmodule.exports = last;\n","var isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\nfunction toKey(value) {\n if (typeof value == 'string' || isSymbol(value)) {\n return value;\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nmodule.exports = toKey;\n","var castPath = require('./_castPath'),\n toKey = require('./_toKey');\n\n/**\n * The base implementation of `_.get` without support for default values.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @returns {*} Returns the resolved value.\n */\nfunction baseGet(object, path) {\n path = castPath(path, object);\n\n var index = 0,\n length = path.length;\n\n while (object != null && index < length) {\n object = object[toKey(path[index++])];\n }\n return (index && index == length) ? object : undefined;\n}\n\nmodule.exports = baseGet;\n","/**\n * The base implementation of `_.slice` without an iteratee call guard.\n *\n * @private\n * @param {Array} array The array to slice.\n * @param {number} [start=0] The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns the slice of `array`.\n */\nfunction baseSlice(array, start, end) {\n var index = -1,\n length = array.length;\n\n if (start < 0) {\n start = -start > length ? 0 : (length + start);\n }\n end = end > length ? length : end;\n if (end < 0) {\n end += length;\n }\n length = start > end ? 0 : ((end - start) >>> 0);\n start >>>= 0;\n\n var result = Array(length);\n while (++index < length) {\n result[index] = array[index + start];\n }\n return result;\n}\n\nmodule.exports = baseSlice;\n","var baseGet = require('./_baseGet'),\n baseSlice = require('./_baseSlice');\n\n/**\n * Gets the parent value at `path` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array} path The path to get the parent value of.\n * @returns {*} Returns the parent value.\n */\nfunction parent(object, path) {\n return path.length < 2 ? object : baseGet(object, baseSlice(path, 0, -1));\n}\n\nmodule.exports = parent;\n","var castPath = require('./_castPath'),\n last = require('./last'),\n parent = require('./_parent'),\n toKey = require('./_toKey');\n\n/**\n * The base implementation of `_.unset`.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {Array|string} path The property path to unset.\n * @returns {boolean} Returns `true` if the property is deleted, else `false`.\n */\nfunction baseUnset(object, path) {\n path = castPath(path, object);\n object = parent(object, path);\n return object == null || delete object[toKey(last(path))];\n}\n\nmodule.exports = baseUnset;\n","var isPlainObject = require('./isPlainObject');\n\n/**\n * Used by `_.omit` to customize its `_.cloneDeep` use to only clone plain\n * objects.\n *\n * @private\n * @param {*} value The value to inspect.\n * @param {string} key The key of the property to inspect.\n * @returns {*} Returns the uncloned value or `undefined` to defer cloning to `_.cloneDeep`.\n */\nfunction customOmitClone(value) {\n return isPlainObject(value) ? undefined : value;\n}\n\nmodule.exports = customOmitClone;\n","var Symbol = require('./_Symbol'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray');\n\n/** Built-in value references. */\nvar spreadableSymbol = Symbol ? Symbol.isConcatSpreadable : undefined;\n\n/**\n * Checks if `value` is a flattenable `arguments` object or array.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is flattenable, else `false`.\n */\nfunction isFlattenable(value) {\n return isArray(value) || isArguments(value) ||\n !!(spreadableSymbol && value && value[spreadableSymbol]);\n}\n\nmodule.exports = isFlattenable;\n","var arrayPush = require('./_arrayPush'),\n isFlattenable = require('./_isFlattenable');\n\n/**\n * The base implementation of `_.flatten` with support for restricting flattening.\n *\n * @private\n * @param {Array} array The array to flatten.\n * @param {number} depth The maximum recursion depth.\n * @param {boolean} [predicate=isFlattenable] The function invoked per iteration.\n * @param {boolean} [isStrict] Restrict to values that pass `predicate` checks.\n * @param {Array} [result=[]] The initial result value.\n * @returns {Array} Returns the new flattened array.\n */\nfunction baseFlatten(array, depth, predicate, isStrict, result) {\n var index = -1,\n length = array.length;\n\n predicate || (predicate = isFlattenable);\n result || (result = []);\n\n while (++index < length) {\n var value = array[index];\n if (depth > 0 && predicate(value)) {\n if (depth > 1) {\n // Recursively flatten arrays (susceptible to call stack limits).\n baseFlatten(value, depth - 1, predicate, isStrict, result);\n } else {\n arrayPush(result, value);\n }\n } else if (!isStrict) {\n result[result.length] = value;\n }\n }\n return result;\n}\n\nmodule.exports = baseFlatten;\n","var baseFlatten = require('./_baseFlatten');\n\n/**\n * Flattens `array` a single level deep.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to flatten.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * _.flatten([1, [2, [3, [4]], 5]]);\n * // => [1, 2, [3, [4]], 5]\n */\nfunction flatten(array) {\n var length = array == null ? 0 : array.length;\n return length ? baseFlatten(array, 1) : [];\n}\n\nmodule.exports = flatten;\n","var flatten = require('./flatten'),\n overRest = require('./_overRest'),\n setToString = require('./_setToString');\n\n/**\n * A specialized version of `baseRest` which flattens the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @returns {Function} Returns the new function.\n */\nfunction flatRest(func) {\n return setToString(overRest(func, undefined, flatten), func + '');\n}\n\nmodule.exports = flatRest;\n","var arrayMap = require('./_arrayMap'),\n baseClone = require('./_baseClone'),\n baseUnset = require('./_baseUnset'),\n castPath = require('./_castPath'),\n copyObject = require('./_copyObject'),\n customOmitClone = require('./_customOmitClone'),\n flatRest = require('./_flatRest'),\n getAllKeysIn = require('./_getAllKeysIn');\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1,\n CLONE_FLAT_FLAG = 2,\n CLONE_SYMBOLS_FLAG = 4;\n\n/**\n * The opposite of `_.pick`; this method creates an object composed of the\n * own and inherited enumerable property paths of `object` that are not omitted.\n *\n * **Note:** This method is considerably slower than `_.pick`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The source object.\n * @param {...(string|string[])} [paths] The property paths to omit.\n * @returns {Object} Returns the new object.\n * @example\n *\n * var object = { 'a': 1, 'b': '2', 'c': 3 };\n *\n * _.omit(object, ['a', 'c']);\n * // => { 'b': '2' }\n */\nvar omit = flatRest(function(object, paths) {\n var result = {};\n if (object == null) {\n return result;\n }\n var isDeep = false;\n paths = arrayMap(paths, function(path) {\n path = castPath(path, object);\n isDeep || (isDeep = path.length > 1);\n return path;\n });\n copyObject(object, getAllKeysIn(object), result);\n if (isDeep) {\n result = baseClone(result, CLONE_DEEP_FLAG | CLONE_FLAT_FLAG | CLONE_SYMBOLS_FLAG, customOmitClone);\n }\n var length = paths.length;\n while (length--) {\n baseUnset(result, paths[length]);\n }\n return result;\n});\n\nmodule.exports = omit;\n","\n\n\n","\n\n\n\n\n","\n\n\n\n","\n\n\n\n\n","\n\n\n","\n\n\n","import hljs from \"highlight.js/lib/core\"\nimport sql from \"highlight.js/lib/languages/sql\"\nimport json from \"highlight.js/lib/languages/json\"\nimport hljsVuePlugin from \"@highlightjs/vue-plugin\"\n\nimport { createApp } from \"vue\"\nimport { createPinia } from \"pinia\"\nimport shadow from \"vue-shadow-dom\"\n\nhljs.registerLanguage(\"sql\", sql)\nhljs.registerLanguage(\"json\", json)\n\nconst pinia = createPinia()\n\nimport AppDemo from \"./AppDemo.vue\"\n\ncreateApp(AppDemo).use(hljsVuePlugin).use(pinia).use(shadow).mount(\"#__debugbar\")\n"],"names":["deepFreeze","obj","name","prop","type","Response","mode","escapeHTML","value","inherit$1","original","objects","result","key","SPAN_CLOSE","emitsWrappingTags","node","scopeToCSSClass","prefix","pieces","x","i","HTMLRenderer","parseTree","options","text","className","newNode","opts","TokenTree","scope","builder","child","el","TokenTreeEmitter","emitter","source","re","lookahead","concat","anyNumberOfTimes","optional","args","stripOptionsFromArgs","either","countMatchGroups","startsWith","lexeme","match","BACKREF_RE","_rewriteBackreferences","regexps","joinWith","numCaptures","regex","offset","out","MATCH_NOTHING_RE","IDENT_RE","UNDERSCORE_IDENT_RE","NUMBER_RE","C_NUMBER_RE","BINARY_NUMBER_RE","RE_STARTERS_RE","SHEBANG","beginShebang","m","resp","BACKSLASH_ESCAPE","APOS_STRING_MODE","QUOTE_STRING_MODE","PHRASAL_WORDS_MODE","COMMENT","begin","end","modeOptions","ENGLISH_WORD","C_LINE_COMMENT_MODE","C_BLOCK_COMMENT_MODE","HASH_COMMENT_MODE","NUMBER_MODE","C_NUMBER_MODE","BINARY_NUMBER_MODE","REGEXP_MODE","TITLE_MODE","UNDERSCORE_TITLE_MODE","METHOD_GUARD","END_SAME_AS_BEGIN","MODES","skipIfHasPrecedingDot","response","scopeClassName","_parent","beginKeywords","parent","compileIllegal","compileMatch","compileRelevance","beforeMatchExt","originalMode","COMMON_KEYWORDS","DEFAULT_KEYWORD_SCOPE","compileKeywords","rawKeywords","caseInsensitive","scopeName","compiledKeywords","compileList","keywordList","keyword","pair","scoreForKeyword","providedScore","commonKeyword","seenDeprecations","error","message","warn","deprecated","version","MultiClassError","remapScopeNames","regexes","scopeNames","emit","positions","beginMultiClass","endMultiClass","scopeSugar","MultiClass","compileLanguage","language","langRe","global","MultiRegex","terminators","s","matchData","ResumableMultiRegex","index","matcher","m2","buildModeRegex","mm","term","compileMode","cmode","ext","keywordPattern","c","expandOrCloneMode","dependencyOnParent","variant","HTMLInjectionError","reason","html","escape","inherit","NO_MATCH","MAX_KEYWORD_HITS","HLJS","hljs","languages","aliases","plugins","SAFE_MODE","LANGUAGE_NOT_FOUND","PLAINTEXT_LANGUAGE","shouldNotHighlight","languageName","blockLanguage","block","classes","getLanguage","_class","highlight","codeOrLanguageName","optionsOrCode","ignoreIllegals","code","context","fire","_highlight","codeToHighlight","continuation","keywordHits","keywordData","matchText","processKeywords","top","modeBuffer","lastIndex","buf","word","data","kind","keywordRelevance","relevance","cssClass","emitKeyword","processSubLanguage","continuations","highlightAuto","processBuffer","emitMultiClass","max","klass","startNewMode","endOfMode","matchPlusRemainder","matched","doIgnore","resumeScanAtSamePosition","doBeginMatch","newMode","beforeCallbacks","cb","doEndMatch","endMode","origin","processContinuations","list","current","item","lastMatch","processLexeme","textBeforeMatch","err","processed","iterations","md","beforeMatch","processedCount","justTextHighlightResult","languageSubset","plaintext","results","autoDetection","sorted","a","b","best","secondBest","updateClassName","element","currentLang","resultLang","highlightElement","configure","userOptions","initHighlighting","highlightAll","initHighlightingOnLoad","wantsHighlight","boot","registerLanguage","languageDefinition","lang","error$1","registerAliases","unregisterLanguage","alias","listLanguages","aliasList","upgradePluginAPI","plugin","addPlugin","removePlugin","event","deprecateHighlightBlock","core","sql","COMMENT_MODE","STRING","QUOTED_IDENTIFIER","LITERALS","MULTI_WORD_TYPES","TYPES","NON_RESERVED_WORDS","RESERVED_WORDS","RESERVED_FUNCTIONS","POSSIBLE_WITHOUT_PARENS","COMBOS","FUNCTIONS","KEYWORDS","VARIABLE","OPERATOR","FUNCTION_CALL","reduceRelevancy","exceptions","when","qualifyFn","json","ATTRIBUTE","PUNCTUATION","LITERALS_MODE","makeMap","str","expectsLowerCase","map","val","EMPTY_OBJ","EMPTY_ARR","NOOP","NO","isOn","isModelListener","extend","remove","arr","hasOwnProperty","hasOwn","isArray","isMap","toTypeString","isSet","isFunction","isString","isSymbol","isObject","isPromise","objectToString","toRawType","isPlainObject","isIntegerKey","isReservedProp","cacheStringFunction","fn","cache","camelizeRE","camelize","_","hyphenateRE","hyphenate","capitalize","toHandlerKey","hasChanged","oldValue","invokeArrayFns","fns","arg","def","looseToNumber","n","_globalThis","getGlobalThis","normalizeStyle","res","normalized","parseStringStyle","listDelimiterRE","propertyDelimiterRE","styleCommentRE","cssText","ret","tmp","normalizeClass","specialBooleanAttrs","isSpecialBooleanAttr","includeBooleanAttr","toDisplayString","replacer","_key","entries","val2","stringifySymbol","v","_a","activeEffectScope","EffectScope","detached","currentEffectScope","fromParent","l","last","effectScope","recordEffectScope","effect","getCurrentScope","onScopeDispose","createDep","effects","dep","wasTracked","trackOpBit","newTracked","initDepMarkers","deps","finalizeDepMarkers","ptr","targetMap","effectTrackDepth","maxMarkerBits","activeEffect","ITERATE_KEY","MAP_KEY_ITERATE_KEY","ReactiveEffect","scheduler","lastShouldTrack","shouldTrack","cleanupEffect","effect2","trackStack","pauseTracking","resetTracking","track","target","depsMap","trackEffects","debuggerEventExtraInfo","shouldTrack2","trigger","newValue","oldTarget","newLength","key2","triggerEffects","triggerEffect","getDepFromReactive","object","isNonTrackableKeys","builtInSymbols","arrayInstrumentations","createArrayInstrumentations","instrumentations","toRaw","BaseReactiveHandler","_isReadonly","_shallow","receiver","isReadonly2","shallow","shallowReadonlyMap","readonlyMap","shallowReactiveMap","reactiveMap","targetIsArray","isRef","readonly","reactive","MutableReactiveHandler","isOldValueReadonly","isReadonly","isShallow","hadKey","ReadonlyReactiveHandler","mutableHandlers","readonlyHandlers","shallowReactiveHandlers","toShallow","getProto","get","rawTarget","rawKey","has2","wrap","toReadonly","toReactive","has","size","add","set","get2","deleteEntry","clear","hadItems","createForEach","callback","thisArg","observed","createIterableMethod","method","targetIsMap","isPair","isKeyOnly","innerIterator","done","createReadonlyMethod","createInstrumentations","mutableInstrumentations2","shallowInstrumentations2","readonlyInstrumentations2","shallowReadonlyInstrumentations2","mutableInstrumentations","readonlyInstrumentations","shallowInstrumentations","shallowReadonlyInstrumentations","createInstrumentationGetter","mutableCollectionHandlers","shallowCollectionHandlers","readonlyCollectionHandlers","targetTypeMap","rawType","getTargetType","createReactiveObject","shallowReactive","baseHandlers","collectionHandlers","proxyMap","existingProxy","targetType","proxy","isReactive","isProxy","raw","markRaw","trackRefValue","ref2","triggerRefValue","newVal","r","ref","createRef","rawValue","RefImpl","__v_isShallow","useDirectValue","unref","shallowUnwrapHandlers","proxyRefs","objectWithRefs","toRefs","propertyToRef","ObjectRefImpl","_object","_defaultValue","defaultValue","ComputedRefImpl","getter","_setter","isSSR","self","computed","getterOrOptions","debugOptions","setter","onlyGetter","callWithErrorHandling","instance","handleError","callWithAsyncErrorHandling","values","throwInDev","contextVNode","cur","exposedInstance","errorInfo","errorCapturedHooks","appErrorHandler","logError","isFlushing","isFlushPending","queue","flushIndex","pendingPostFlushCbs","activePostFlushCbs","postFlushIndex","resolvedPromise","currentFlushPromise","nextTick","p","findInsertionIndex","id","start","middle","middleJob","middleJobId","getId","queueJob","job","queueFlush","flushJobs","invalidateJob","queuePostFlushCb","flushPreFlushCbs","seen","flushPostFlushCbs","deduped","comparator","diff","devtools","buffer","devtoolsNotInstalled","emit$1","setDevtoolsHook","hook","_b","newHook","devtoolsInitApp","app","Fragment","Text","Comment","Static","devtoolsUnmountApp","devtoolsComponentAdded","createDevtoolsComponentHook","devtoolsComponentUpdated","_devtoolsComponentRemoved","devtoolsComponentRemoved","component","devtoolsComponentEmit","params","rawArgs","props","modelArg","modifiersKey","number","trim","handlerName","handler","onceHandler","normalizeEmitsOptions","comp","appContext","asMixin","cached","hasExtends","extendEmits","raw2","normalizedFromExtend","isEmitListener","currentRenderingInstance","currentScopeId","setCurrentRenderingInstance","prev","withCtx","ctx","isNonScopedSlot","renderFnWithContext","setBlockTracking","prevInstance","renderComponentRoot","Component","vnode","withProxy","propsOptions","slots","attrs","render","renderCache","setupState","inheritAttrs","fallthroughAttrs","proxyToUse","thisProxy","normalizeVNode","render2","getFunctionalFallthrough","blockStack","createVNode","root","keys","shapeFlag","filterModelListeners","cloneVNode","shouldUpdateComponent","prevVNode","nextVNode","optimized","prevProps","prevChildren","nextProps","nextChildren","patchFlag","emits","hasPropsChanged","dynamicProps","emitsOptions","nextKeys","updateHOCHostEl","COMPONENTS","resolveComponent","maybeSelfReference","resolveAsset","NULL_DYNAMIC_COMPONENT","warnMissing","currentInstance","selfName","getComponentName","resolve","registry","isSuspense","queueEffectWithSuspense","suspense","INITIAL_WATCHER_VALUE","watch","doWatch","immediate","deep","flush","onTrack","onTrigger","forceTrigger","isMultiSource","isShallow$1","traverse","cleanup","onCleanup","baseGetter","ssrCleanup","isInSSRComponentSetup","useSSRContext","queuePostRenderEffect","unwatch","instanceWatch","publicThis","createPathGetter","setCurrentInstance","unsetCurrentInstance","path","segments","invokeDirectiveHook","bindings","oldBindings","binding","defineComponent","extraOptions","isAsyncWrapper","isKeepAlive","onActivated","registerKeepAliveHook","onDeactivated","wrappedHook","injectHook","injectToKeepAliveRoot","keepAliveRoot","injected","onUnmounted","prepend","hooks","createHook","lifecycle","onBeforeMount","onMounted","onBeforeUpdate","onUpdated","onBeforeUnmount","onServerPrefetch","onRenderTriggered","onRenderTracked","onErrorCaptured","renderList","renderItem","renderSlot","fallback","noSlotted","slot","openBlock","validSlotContent","ensureValidVNode","rendered","createBlock","vnodes","isVNode","getPublicInstance","isStatefulComponent","getExposeProxy","publicPropertiesMap","resolveMergedOptions","hasSetupBinding","state","PublicInstanceProxyHandlers","accessCache","normalizedProps","shouldCacheAccess","publicGetter","cssModule","globalProperties","descriptor","normalizePropsOrEmits","applyOptions","callHook","dataOptions","computedOptions","methods","watchOptions","provideOptions","injectOptions","created","beforeMount","mounted","beforeUpdate","updated","activated","deactivated","beforeDestroy","beforeUnmount","destroyed","unmounted","renderTracked","renderTriggered","errorCaptured","serverPrefetch","expose","components","directives","filters","resolveInjections","methodHandler","opt","createWatcher","provides","provide","registerLifecycleHook","register","_hook","exposed","checkDuplicateProperties","normalizeInject","inject","h","base","mixins","extendsOptions","globalMixins","optionMergeStrategies","resolved","mergeOptions","to","from","strats","strat","internalOptionMergeStrats","mergeDataFn","mergeEmitsOrPropsOptions","mergeObjectOptions","mergeAsArray","mergeWatchOptions","mergeInject","merged","createAppContext","uid$1","createAppAPI","hydrate","rootComponent","rootProps","installedPlugins","isMounted","mixin","directive","rootContainer","isHydrate","isSVG","currentApp","parentProvides","treatDefaultAsFactory","hasInjectionContext","initProps","rawProps","isStateful","InternalObjectKey","setFullProps","updateProps","rawPrevProps","rawCurrentProps","hasAttrsChanged","propsToUpdate","camelizedKey","resolvePropValue","kebabKey","needCastKeys","rawCastValues","camelKey","castValues","isAbsent","hasDefault","propsDefaults","normalizePropsOptions","extendProps","normalizedKey","validatePropName","booleanIndex","getTypeIndex","stringIndex","getType","ctor","isSameType","expectedTypes","t","isInternalKey","normalizeSlotValue","normalizeSlot","rawSlot","normalizeObjectSlots","rawSlots","normalizeVNodeSlots","children","initSlots","updateSlots","needDeletionCheck","deletionComparisonTarget","setRef","rawRef","oldRawRef","parentSuspense","isUnmount","refValue","owner","oldRef","refs","_isString","_isRef","doSet","existing","createRenderer","baseCreateRenderer","createHydrationFns","hostInsert","hostRemove","hostPatchProp","hostCreateElement","hostCreateText","hostCreateComment","hostSetText","hostSetElementText","hostParentNode","hostNextSibling","hostSetScopeId","hostInsertStaticContent","patch","n1","n2","container","anchor","parentComponent","slotScopeIds","isSameVNodeType","getNextHostNode","unmount","processText","processCommentNode","mountStaticNode","processFragment","processElement","processComponent","internals","moveStaticNode","nextSibling","next","removeStaticNode","mountElement","patchElement","vnodeHook","transition","dirs","mountChildren","setScopeId","unmountChildren","invokeVNodeHook","needCallTransitionHooks","needTransition","scopeId","subTree","parentVNode","cloneIfMounted","dynamicChildren","oldProps","newProps","toggleRecurse","areChildrenSVG","patchBlockChildren","patchChildren","patchProps","oldChildren","newChildren","fallbackContainer","oldVNode","newVNode","fragmentStartAnchor","fragmentEndAnchor","fragmentSlotScopeIds","traverseStaticChildren","mountComponent","updateComponent","initialVNode","createComponentInstance","setupComponent","setupRenderEffect","placeholder","updateComponentPreRender","componentUpdateFn","bu","u","originNext","nextTree","prevTree","bm","isAsyncWrapperVNode","hydrateNode","hydrateSubTree","scopedInitialVNode","update","c1","prevShapeFlag","c2","patchKeyedChildren","patchUnkeyedChildren","oldLength","commonLength","nextChild","parentAnchor","l2","e1","e2","nextPos","s1","s2","keyToNewIndexMap","j","patched","toBePatched","moved","maxNewIndexSoFar","newIndexToOldIndexMap","prevChild","newIndex","increasingNewIndexSequence","getSequence","nextIndex","move","moveType","leave","delayLeave","afterLeave","remove2","performLeave","doRemove","shouldInvokeDirs","shouldInvokeVnodeHook","unmountComponent","removeFragment","performRemove","bum","um","allowed","ch1","ch2","len","arrI","isTeleport","isTeleportDisabled","isTargetSVG","resolveTarget","select","targetSelector","TeleportImpl","insert","querySelector","createText","createComment","disabled","mainAnchor","targetAnchor","mount","container2","anchor2","wasDisabled","currentContainer","currentAnchor","moveTeleport","nextTarget","updateCssVars","shouldRemove","hydrateTeleport","isReorder","parentNode","hydrateChildren","targetNode","Teleport","currentBlock","disableTracking","closeBlock","isBlockTreeEnabled","setupBlock","createElementBlock","createBaseVNode","normalizeKey","normalizeRef","ref_key","ref_for","isBlockNode","needFullChildrenNormalization","normalizeChildren","_createVNode","cloned","isClassComponent","guardReactiveProps","style","extraProps","mergeRef","mergedProps","mergeProps","createTextVNode","flag","createCommentVNode","asBlock","slotFlag","toMerge","incoming","emptyAppContext","uid","internalSetCurrentInstance","globalCurrentInstanceSetters","settersKey","setupResult","setupStatefulComponent","setup","setupContext","createSetupContext","resolvedResult","handleSetupResult","e","finishComponentSetup","compile","skipOptions","template","isCustomElement","compilerOptions","delimiters","componentCompilerOptions","finalCompilerOptions","getAttrsProxy","includeInferred","computed$1","propsOrChildren","ssrContextKey","svgNS","doc","templateContainer","nodeOps","tag","is","selector","content","before","wrapper","vtcKey","patchClass","transitionClasses","vShowOldKey","CSS_VAR_TEXT","patchStyle","isCssString","setStyle","currentDisplay","cssVarText","importantRE","prefixed","autoPrefix","prefixes","prefixCache","rawName","xlinkNS","patchAttr","isBoolean","patchDOMProp","needRemove","addEventListener","removeEventListener","veiKey","patchEvent","prevValue","nextValue","invokers","existingInvoker","parseName","invoker","createInvoker","optionsModifierRE","cachedNow","getNow","initialValue","patchStopImmediatePropagation","originalStop","isNativeOn","patchProp","shouldSetAsProp","rendererOptions","renderer","ensureRenderer","createApp","containerOrSelector","normalizeContainer","o","isVue2","getDevtoolsGlobalHook","getTarget","isProxyAvailable","HOOK_SETUP","HOOK_PLUGIN_SETTINGS_SET","supported","perf","isPerformanceSupported","now","ApiProxy","defaultSettings","localSettingsSaveId","currentSettings","pluginId","_target","setupDevtoolsPlugin","pluginDescriptor","setupFn","enableProxy","activePinia","setActivePinia","pinia","piniaSymbol","MutationType","IS_CLIENT","USE_DEVTOOLS","_global","bom","blob","autoBom","download","url","xhr","saveAs","corsEnabled","click","evt","_navigator","isMacOSWebView","downloadSaveAs","msSaveAs","fileSaverSaveAs","popup","force","isSafari","isChromeIOS","reader","toastMessage","piniaMessage","isPinia","checkClipboardAccess","checkNotFocusedError","actionGlobalCopyState","actionGlobalPasteState","loadStoresState","actionGlobalSaveState","fileInput","getFileOpener","openFile","reject","files","file","actionGlobalOpenStateFile","storeState","formatDisplay","display","PINIA_ROOT_LABEL","PINIA_ROOT_ID","formatStoreForInspectorTree","store","formatStoreForInspectorState","storeNames","storeMap","storeId","getters","getterName","formatEventData","events","formatMutationType","isTimelineActive","componentStateTypes","MUTATIONS_LAYER_ID","INSPECTOR_ID","assign$1","getStoreType","registerPiniaDevtools","api","nodeId","payload","piniaStores","stores","inspectedStore","addStoreToDevtools","after","onError","groupId","runningActionId","activeAction","eventData","hotUpdate","newStore","$dispose","patchActionForGrouping","actionNames","wrapWithProxy","actions","storeActions","actionName","_actionId","trackedStore","retValue","devtoolsPlugin","originalHotUpdate","createPinia","_p","toBeInstalled","noop","addSubscription","subscriptions","removeSubscription","idx","triggerSubscriptions","fallbackRunWithContext","mergeReactiveObjects","patchToApply","subPatch","targetValue","skipHydrateSymbol","shouldHydrate","assign","isComputed","createOptionsStore","hot","initialState","localState","computedGetters","createSetupStore","$id","isOptionsStore","optionsForPlugin","$subscribeOptions","isListening","isSyncListening","actionSubscriptions","debuggerEvents","hotState","activeListener","$patch","partialStateOrMutator","subscriptionMutation","myListenerId","$reset","newState","$state","wrapAction","action","afterCallbackList","onErrorCallbackList","_hmrPayload","partialStore","stopWatcher","setupStore","actionValue","nonEnumerable","extender","extensions","defineStore","idOrOptions","setupOptions","isSetupStore","useStore","hasContext","makeShadow","option","makeShadowRaw","rootEl","childNodes","delegatesFocus","oldroot","shadow_root","putDomIntoShadow","fragment","virtual_root","ShadowStyle","ShadowRoot","withType","abstract","teleport_el","teleport_target","ex","adoptedStyleSheets","child_part","install","shadow","_imports_0","factory","exports","this","adapters","logger","_adapters$logger","_len","messages","_typeof","classCallCheck","Constructor","createClass","defineProperties","protoProps","staticProps","secondsSince","time","clamp","min","ConnectionMonitor","connection","_this","_constructor$pollInte","multiplier","interval","_this2","INTERNAL","message_types","protocols","supportedProtocols","indexOf","Connection","consumer","_ref","allowReconnect","states","eventName","_JSON$parse","identifier","reconnect","properties","Subscription","SubscriptionGuarantor","subscription","Subscriptions","channelName","channel","callbackName","_this3","_len2","_key2","_this4","command","Consumer","createWebSocketURL","createConsumer","getConfig","_ctx","_cache","_openBlock","_createElementBlock","_createElementVNode","__props","_sfc_render","_hoisted_1","module","Rule","symbols","postprocess","withCursorAt","symbolSequence","getSymbolShortDisplay","State","rule","dot","reference","wantedBy","Parser","Column","grammar","nextColumn","wants","completed","w","left","exp","nulls","right","rules","copy","Grammar","byName","lexer","g","StreamLexer","ch","token","lines","nextLineBreak","col","lastLineDigits","line","pad","length","column","chunk","literal","scannable","expect","lexerError","tokenDisplay","lexerMessage","lastColumnIndex","lastColumn","expectantStates","nextSymbol","stateStacks","stateStack","symbolDisplay","lastDisplay","sameDisplayCount","symbol","getSymbolLongDisplay","visited","prevState","childVisited","childResult","considerations","__defProp","__defProps","__getOwnPropDescs","__getOwnPropSymbols","__hasOwnProp","__propIsEnum","__defNormalProp","__spreadValues","__spreadProps","__objRest","exclude","__export","all","allDialects_exports","bigquery","db2","db2i","hive","mariadb","mysql","n1ql","plsql","postgresql","redshift","singlestoredb","snowflake","spark","sqlite","transactsql","trino","expandPhrases","phrases","expandSinglePhrase","phrase","buildCombinations","parsePhrase","stripExtraWhitespace","parseAlteration","expectClosing","alterations","parseConcatenation","items","parseTerm","parseMandatoryBlock","parseOptionalBlock","stringCombinations","xs","ys","y","TokenType","TokenType2","createEofToken","EOF_TOKEN","testToken","compareToken","isToken","isReserved","isLogicalOperator","functions","keywords","dataTypes","reservedSelect","reservedClauses","onelineClauses","reservedSetOperations","reservedJoins","reservedPhrases","postProcess","tokens","detectArraySubscripts","combineParameterizedTypes","prevToken","endIndex","findClosingAngleBracketIndex","typeDefTokens","formatTypeDefToken","startIndex","level","functions2","keywords2","dataTypes2","reservedSelect2","reservedClauses2","onelineClauses2","reservedSetOperations2","reservedJoins2","reservedPhrases2","functions3","keywords3","dataTypes3","reservedSelect3","reservedClauses3","onelineClauses3","reservedSetOperations3","reservedJoins3","reservedPhrases3","functions4","keywords4","dataTypes4","reservedSelect4","reservedClauses4","onelineClauses4","reservedSetOperations4","reservedJoins4","reservedPhrases4","postProcess2","nextToken","keywords5","dataTypes5","functions5","reservedSelect5","reservedClauses5","onelineClauses5","reservedSetOperations5","reservedJoins5","reservedPhrases5","keywords6","dataTypes6","functions6","reservedSelect6","reservedClauses6","onelineClauses6","reservedSetOperations6","reservedJoins6","reservedPhrases6","functions7","keywords7","dataTypes7","reservedSelect7","reservedClauses7","onelineClauses7","reservedSetOperations7","reservedJoins7","reservedPhrases7","keywords8","dataTypes8","functions8","reservedSelect8","reservedClauses8","onelineClauses8","reservedSetOperations8","reservedJoins8","reservedPhrases8","postProcess3","previousReservedToken","functions9","keywords9","dataTypes9","reservedSelect9","reservedClauses9","onelineClauses9","reservedSetOperations9","reservedJoins9","reservedPhrases9","functions10","keywords10","dataTypes10","reservedSelect10","reservedClauses10","onelineClauses10","reservedSetOperations10","reservedJoins10","reservedPhrases10","keywords11","dataTypes11","functions11","reservedSelect11","reservedClauses11","onelineClauses11","reservedSetOperations11","reservedJoins11","reservedPhrases11","postProcess4","functions12","keywords12","dataTypes12","reservedSelect12","reservedClauses12","onelineClauses12","reservedSetOperations12","reservedJoins12","reservedPhrases12","functions13","keywords13","dataTypes13","reservedSelect13","reservedClauses13","onelineClauses13","reservedSetOperations13","reservedJoins13","reservedPhrases13","functions14","keywords14","dataTypes14","reservedSelect14","reservedClauses14","onelineClauses14","reservedSetOperations14","reservedJoins14","reservedPhrases14","functions15","keywords15","dataTypes15","reservedSelect15","reservedClauses15","onelineClauses15","reservedSetOperations15","reservedJoins15","reservedPhrases15","keywords16","dataTypes16","functions16","reservedSelect16","reservedClauses16","onelineClauses16","reservedSetOperations16","reservedJoins16","reservedPhrases16","functions17","keywords17","dataTypes17","reservedSelect17","reservedClauses17","onelineClauses17","reservedSetOperations17","reservedJoins17","reservedPhrases17","sortByLengthDesc","strings","equalizeWhitespace","isMultiline","escapeRegExp","string2","WHITESPACE_REGEX","patternToRegex","pattern","toCaseInsensitivePattern","char","withDashes","prefixesPattern","requirePrefix","lineComment","lineCommentTypes","parenthesis","extraParens","parens","operator","operators","rejectIdentCharsPattern","rest","dashes","reservedWord","reservedKeywords","identChars","avoidIdentChars","reservedKeywordsPattern","parameter","paramTypes","typesRegex","buildQStringPatterns","specialDelimiterMap","singlePattern","patternList","specialDelimiters","quotePatterns","singleQuotePattern","quoteTypes","variable","varTypes","varType","stringPattern","string","specialChars","identifierPattern","first","allowFirstCharNumber","letter","firstChars","restChars","lineColFromIndex","TokenizerEngine","dialectName","input","precedingWhitespace","matches","matchedText","START","MIDDLE","END2","NestedComment","nestLevel","Tokenizer","cfg","paramTypesOverrides","toCanonical","_c","_d","_e","tokenKey","quoteChar","customParam","_a2","createDialect","dialect","dialectFromOptions","dialectOptions","processDialectFormatOptions","indentString","isTabularStyle","Params","disambiguateTokens","dotKeywordToIdent","funcNameToKeyword","dataTypeToParameterizedDataType","identToArrayIdent","dataTypeToArrayKeyword","prevNonCommentToken","nextNonCommentToken","isOpenParen","isOpenBracket","dir","isComment","LexerAdapter","tokenize","_info","d","unwrap","toKeywordNode","toDataTypeNode","addComments","leading","trailing","addCommentsToArray","nodes","lead","last2","statements","delimiter","expressions","clauses","limitToken","exp1","comma","exp2","nameToken","expr","chain","arrayToken","brackets","open","close","_1","_2","property","betweenToken","expr1","andToken","_3","expr2","caseToken","endToken","whenToken","cond","thenToken","elseToken","comments","grammar_default","NearleyParser","nearley","createParser","tokenizer","lexer2","parser","sql2","Layout","indentation","isHorizontalWhitespace","isRemovableWhitespace","newline","toTabularFormat","tokenText","indentStyle","tail","isTabularToken","INDENT_TYPE_TOP_LEVEL","INDENT_TYPE_BLOCK_LEVEL","Indentation","indent","InlineLayout","expressionWidth","InlineLayoutError","ExpressionFormatter","_ExpressionFormatter","dialectCfg","layout","inline","formattedArray","inlineLayout","_node","com","comment","oldParamIndex","Formatter","query","ast","stat","statement","ConfigError","validateConfig","removedOptions","optionName","validateParams","dialectNameMap","supportedDialects","defaultOptions","format","canonicalDialectName","formatDialect","copyToClipboard","formatTs","ts","log","BackendRequest","__publicField","acc","curr","useRequestsStore","requests","ids","req","apply","func","_apply","identity","identity_1","require$$0","nativeMax","overRest","transform","array","otherArgs","_overRest","constant","constant_1","freeGlobal","_freeGlobal","freeSelf","_root","Symbol","_Symbol","objectProto","nativeObjectToString","symToStringTag","getRawTag","isOwn","unmasked","_getRawTag","_objectToString","require$$1","require$$2","nullTag","undefinedTag","baseGetTag","_baseGetTag","isObject_1","asyncTag","funcTag","genTag","proxyTag","isFunction_1","coreJsData","_coreJsData","maskSrcKey","isMasked","_isMasked","funcProto","funcToString","toSource","_toSource","require$$3","reRegExpChar","reIsHostCtor","reIsNative","baseIsNative","_baseIsNative","getValue","_getValue","getNative","_getNative","defineProperty","_defineProperty","baseSetToString","_baseSetToString","HOT_COUNT","HOT_SPAN","nativeNow","shortOut","count","lastCalled","stamp","remaining","_shortOut","setToString","_setToString","baseRest","_baseRest","listCacheClear","_listCacheClear","eq","other","eq_1","assocIndexOf","_assocIndexOf","arrayProto","splice","listCacheDelete","_listCacheDelete","listCacheGet","_listCacheGet","listCacheHas","_listCacheHas","listCacheSet","_listCacheSet","require$$4","ListCache","entry","_ListCache","stackClear","_stackClear","stackDelete","_stackDelete","stackGet","_stackGet","stackHas","_stackHas","Map","_Map","nativeCreate","_nativeCreate","hashClear","_hashClear","hashDelete","_hashDelete","HASH_UNDEFINED","hashGet","_hashGet","hashHas","_hashHas","hashSet","_hashSet","Hash","_Hash","mapCacheClear","_mapCacheClear","isKeyable","_isKeyable","getMapData","_getMapData","mapCacheDelete","_mapCacheDelete","mapCacheGet","_mapCacheGet","mapCacheHas","_mapCacheHas","mapCacheSet","_mapCacheSet","MapCache","_MapCache","LARGE_ARRAY_SIZE","stackSet","pairs","_stackSet","require$$5","Stack","_Stack","baseAssignValue","_baseAssignValue","assignMergeValue","_assignMergeValue","createBaseFor","fromRight","iteratee","keysFunc","iterable","_createBaseFor","baseFor","_baseFor","freeExports","freeModule","moduleExports","Buffer","allocUnsafe","cloneBuffer","isDeep","Uint8Array","_Uint8Array","cloneArrayBuffer","arrayBuffer","_cloneArrayBuffer","cloneTypedArray","typedArray","_cloneTypedArray","copyArray","_copyArray","objectCreate","baseCreate","proto","_baseCreate","overArg","_overArg","getPrototype","_getPrototype","isPrototype","Ctor","_isPrototype","initCloneObject","_initCloneObject","isObjectLike","isObjectLike_1","argsTag","baseIsArguments","_baseIsArguments","propertyIsEnumerable","isArguments","isArguments_1","isArray_1","MAX_SAFE_INTEGER","isLength","isLength_1","isArrayLike","isArrayLike_1","isArrayLikeObject","isArrayLikeObject_1","stubFalse","stubFalse_1","nativeIsBuffer","isBuffer","objectTag","objectCtorString","isPlainObject_1","arrayTag","boolTag","dateTag","errorTag","mapTag","numberTag","regexpTag","setTag","stringTag","weakMapTag","arrayBufferTag","dataViewTag","float32Tag","float64Tag","int8Tag","int16Tag","int32Tag","uint8Tag","uint8ClampedTag","uint16Tag","uint32Tag","typedArrayTags","baseIsTypedArray","_baseIsTypedArray","baseUnary","_baseUnary","freeProcess","nodeUtil","types","nodeIsTypedArray","isTypedArray","isTypedArray_1","safeGet","_safeGet","assignValue","objValue","_assignValue","copyObject","customizer","isNew","_copyObject","baseTimes","_baseTimes","reIsUint","isIndex","_isIndex","arrayLikeKeys","inherited","isArr","isArg","isBuff","isType","skipIndexes","_arrayLikeKeys","nativeKeysIn","_nativeKeysIn","baseKeysIn","isProto","_baseKeysIn","keysIn","keysIn_1","toPlainObject","toPlainObject_1","require$$6","require$$7","require$$8","require$$9","require$$10","require$$11","require$$12","require$$13","require$$14","baseMergeDeep","srcIndex","mergeFunc","stack","srcValue","stacked","isCommon","isTyped","_baseMergeDeep","baseMerge","_baseMerge","customDefaultsMerge","_customDefaultsMerge","isIterateeCall","_isIterateeCall","createAssigner","assigner","sources","guard","_createAssigner","mergeWith","mergeWith_1","defaultsDeep","defaultsDeep_1","newDebugbarConfig","useConfigStore","arrayMap","_arrayMap","arrayEach","_arrayEach","nativeKeys","_nativeKeys","baseKeys","_baseKeys","keys_1","baseAssign","_baseAssign","baseAssignIn","_baseAssignIn","arrayFilter","predicate","resIndex","_arrayFilter","stubArray","stubArray_1","nativeGetSymbols","getSymbols","_getSymbols","copySymbols","_copySymbols","arrayPush","_arrayPush","getSymbolsIn","_getSymbolsIn","copySymbolsIn","_copySymbolsIn","baseGetAllKeys","symbolsFunc","_baseGetAllKeys","getAllKeys","_getAllKeys","getAllKeysIn","_getAllKeysIn","DataView","_DataView","Promise","_Promise","Set","_Set","WeakMap","_WeakMap","promiseTag","dataViewCtorString","mapCtorString","promiseCtorString","setCtorString","weakMapCtorString","getTag","ctorString","_getTag","initCloneArray","_initCloneArray","cloneDataView","dataView","_cloneDataView","reFlags","cloneRegExp","regexp","_cloneRegExp","symbolProto","symbolValueOf","cloneSymbol","_cloneSymbol","symbolTag","initCloneByTag","_initCloneByTag","baseIsMap","_baseIsMap","nodeIsMap","isMap_1","baseIsSet","_baseIsSet","nodeIsSet","isSet_1","require$$15","require$$16","require$$17","require$$18","require$$19","require$$20","require$$21","CLONE_DEEP_FLAG","CLONE_FLAT_FLAG","CLONE_SYMBOLS_FLAG","cloneableTags","baseClone","bitmask","isFlat","isFull","isFunc","subValue","_baseClone","isSymbol_1","reIsDeepProp","reIsPlainProp","isKey","_isKey","FUNC_ERROR_TEXT","memoize","resolver","memoized","memoize_1","MAX_MEMOIZE_SIZE","memoizeCapped","_memoizeCapped","rePropName","reEscapeChar","stringToPath","quote","subString","_stringToPath","INFINITY","symbolToString","baseToString","_baseToString","toString","toString_1","castPath","_castPath","last_1","toKey","_toKey","baseGet","_baseGet","baseSlice","_baseSlice","baseUnset","_baseUnset","customOmitClone","_customOmitClone","spreadableSymbol","isFlattenable","_isFlattenable","baseFlatten","depth","isStrict","_baseFlatten","flatten","flatten_1","flatRest","_flatRest","omit","paths","omit_1","requestsStore","configStore","header","isActive","devMode","routeAlias","debugbarChannel","clearRequests","setActiveTab","tab","__vite_glob_0_0","__vite_glob_0_1","__vite_glob_0_2","__vite_glob_0_3","__vite_glob_0_4","__vite_glob_0_5","__vite_glob_0_6","firstId","AppDemo","hljsVuePlugin"],"mappings":"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AAQ2G,EAAK,MACb+G,EAAe/G,EAAK,QAAQ,KAAM,GAAG,EACrCgH,EAAS,CACb,UAAW,SACX,SAAU,CACR,CACE,MAAO,IACP,IAAK,IACL,SAAU,CAAE,CAAE,MAAO,KAAQ,CAC9B,CACF,CACL,EACQC,EAAoB,CACxB,MAAO,IACP,IAAK,IACL,SAAU,CAAE,CAAE,MAAO,KAAQ,CACjC,EAEQC,EAAW,CACf,OACA,QAGA,SACJ,EAEQC,EAAmB,CACvB,mBACA,eACA,gBACA,kBACJ,EAEQC,EAAQ,CACZ,SACA,SACA,OACA,UACA,OACA,YACA,OACA,OACA,MACA,WACA,UACA,QACA,MACA,UACA,WACA,QACA,QACA,WACA,UACA,OACA,MACA,WACA,OACA,YACA,UACA,UACA,WACJ,EAEQC,EAAqB,CACzB,MACA,MACA,YACA,OACA,QACA,QACA,OACA,MACJ,EAGQC,EAAiB,CACrB,MACA,OACA,MACA,WACA,QACA,MACA,MACA,MACA,QACA,YACA,wBACA,KACA,aACA,OACA,aACA,KACA,OACA,SACA,gBACA,MACA,QACA,cACA,kBACA,UACA,SACA,SACA,OACA,UACA,OACA,KACA,OACA,SACA,cACA,WACA,OACA,OACA,OACA,UACA,OACA,cACA,YACA,mBACA,QACA,aACA,OACA,QACA,WACA,UACA,UACA,SACA,SACA,YACA,UACA,aACA,WACA,UACA,OACA,OACA,gBACA,MACA,OACA,QACA,YACA,aACA,SACA,QACA,OACA,YACA,UACA,kBACA,eACA,kCACA,eACA,eACA,cACA,iBACA,eACA,oBACA,eACA,eACA,mCACA,eACA,SACA,QACA,OACA,MACA,aACA,MACA,UACA,WACA,UACA,UACA,SACA,SACA,aACA,QACA,WACA,gBACA,aACA,WACA,SACA,OACA,UACA,OACA,UACA,OACA,QACA,MACA,YACA,gBACA,WACA,SACA,SACA,QACA,SACA,OACA,UACA,SACA,MACA,WACA,UACA,QACA,QACA,SACA,cACA,QACA,QACA,MACA,UACA,YACA,OACA,OACA,OACA,WACA,SACA,MACA,SACA,QACA,QACA,WACA,SACA,SACA,OACA,OACA,WACA,KACA,YACA,UACA,QACA,QACA,cACA,SACA,MACA,UACA,YACA,eACA,WACA,OACA,KACA,OACA,aACA,gBACA,cACA,cACA,iBACA,aACA,aACA,uBACA,aACA,MACA,WACA,QACA,aACA,UACA,OACA,UACA,OACA,OACA,aACA,UACA,KACA,QACA,YACA,iBACA,MACA,QACA,QACA,QACA,eACA,kBACA,UACA,MACA,SACA,QACA,SACA,MACA,SACA,MACA,WACA,SACA,QACA,WACA,WACA,UACA,QACA,QACA,MACA,KACA,OACA,YACA,MACA,YACA,QACA,OACA,SACA,UACA,eACA,oBACA,KACA,SACA,MACA,OACA,KACA,MACA,OACA,OACA,KACA,QACA,MACA,QACA,OACA,WACA,UACA,YACA,YACA,UACA,MACA,UACA,eACA,kBACA,kBACA,SACA,UACA,WACA,iBACA,QACA,WACA,YACA,UACA,UACA,YACA,MACA,QACA,OACA,QACA,OACA,YACA,MACA,aACA,cACA,YACA,YACA,aACA,iBACA,UACA,aACA,WACA,WACA,WACA,UACA,SACA,SACA,UACA,SACA,QACA,WACA,SACA,MACA,aACA,OACA,UACA,YACA,QACA,SACA,SACA,SACA,OACA,SACA,YACA,eACA,MACA,OACA,UACA,MACA,OACA,OACA,WACA,OACA,WACA,eACA,MACA,eACA,WACA,aACA,OACA,QACA,SACA,aACA,cACA,cACA,SACA,YACA,kBACA,WACA,MACA,YACA,SACA,cACA,cACA,QACA,cACA,MACA,OACA,OACA,OACA,YACA,gBACA,kBACA,KACA,WACA,YACA,kBACA,cACA,QACA,UACA,OACA,aACA,OACA,WACA,UACA,QACA,SACA,UACA,SACA,SACA,QACA,OACA,QACA,QACA,SACA,WACA,UACA,WACA,YACA,UACA,UACA,aACA,OACA,WACA,QACA,eACA,SACA,OACA,SACA,UACA,MACJ,EAKQC,EAAqB,CACzB,MACA,OACA,YACA,OACA,OACA,MACA,OACA,OACA,UACA,WACA,OACA,MACA,OACA,QACA,YACA,aACA,YACA,aACA,QACA,UACA,MACA,UACA,cACA,QACA,aACA,gBACA,cACA,cACA,iBACA,aACA,aACA,uBACA,aACA,MACA,aACA,OACA,UACA,KACA,MACA,QACA,QACA,MACA,MACA,MACA,YACA,QACA,SACA,eACA,kBACA,kBACA,WACA,iBACA,QACA,OACA,YACA,YACA,aACA,iBACA,UACA,aACA,WACA,WACA,WACA,aACA,MACA,OACA,OACA,aACA,cACA,YACA,kBACA,MACA,MACA,OACA,YACA,kBACA,QACA,OACA,aACA,SACA,QACA,WACA,UACA,WACA,cACJ,EAGQC,EAA0B,CAC9B,kBACA,eACA,kCACA,eACA,eACA,iBACA,mCACA,eACA,eACA,cACA,cACA,eACA,YACA,oBACA,gBACJ,EAIQC,EAAS,CACb,eACA,cACA,cACA,cACA,WACA,cACA,iBACA,gBACA,cACA,gBACA,gBACA,eACA,cACA,aACA,cACA,eACJ,EAEQC,EAAYH,EAEZI,EAAW,CACf,GAAGL,EACH,GAAGD,CACP,EAAI,OAAQzK,GACD,CAAC2K,EAAmB,SAAS3K,CAAO,CAC5C,EAEKgL,EAAW,CACf,UAAW,WACX,MAAO,qBACX,EAEQC,EAAW,CACf,UAAW,WACX,MAAO,gDACP,UAAW,CACf,EAEQC,EAAgB,CACpB,MAAOzO,EAAM,OAAO,KAAMA,EAAM,OAAO,GAAGqO,CAAS,EAAG,OAAO,EAC7D,UAAW,EACX,SAAU,CAAE,SAAUA,CAAW,CACrC,EAGE,SAASK,EAAgBnE,EAAM,CAC7B,WAAAoE,EAAY,KAAAC,EACb,EAAG,GAAI,CACN,MAAMC,GAAYD,GAClB,OAAAD,EAAaA,GAAc,GACpBpE,EAAK,IAAKE,GACXA,EAAK,MAAM,QAAQ,GAAKkE,EAAW,SAASlE,CAAI,EAC3CA,EACEoE,GAAUpE,CAAI,EAChB,GAAGA,CAAI,KAEPA,CAEV,CACF,CAED,MAAO,CACL,KAAM,MACN,iBAAkB,GAElB,QAAS,WACT,SAA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,eACA,oBACA,wBACA,sBACA,qBACA,qBAEA,YACA,YACA,MACA,OACA,QACA,UACA,YACA,aACA,MACA,MACA,mBACA,aACA,cACA,aACA,MACA,UACA,WAEA,YACA,YACA,mBACA,MACA,UACA,SACA,UACA,QACA,UACA,cACA,aACA,MACA,MACA,aACA,MAEA,wBACA,mBACA,mBACA,iBAGA,eACA,eACA,kBACA,iBACA,sBACA,2BACA,gBACA,SACA,cACA,UACA,eAEA,YAGA,mBACA,gBACA,YAEA,eACA,UACA,OACA,WACA,WACA,YACA,aACA,sBACA,cACA,WACA,aACA,YAEA,mBACA,WACA,UACA,eACA,eACA,gBACA,iBACA,kBACA,WACA,iBAEA,QAEA,iBAEA,qBACA,qBACA,WACA,UACA,cACA,eACA,YACA,aACA,cACA,iBACA,YACA,yBACA,cACA,kBACA,kBACA,mBACA,cACA,gBACA,eACA,YACA,gBACA,eACA,cACA,cACA,UACA,aACA,cACA,YACA,YACA,kBACA,cACA,qBACA,kBACA,iBACA,eACA,0BACA,aACA,kBACA,mBACA,kBACA,gBACA,mBACA,kBACA,aACA,YACA,cACA,iBACA,yBACA,iBACA,aACA,mBACA,eACA,eACA,YACA,cACA,gBACA,gBACA,aACA,WACA,eACA,YACA,OACA,OAEA,mBACA,MACA,OACA,SACA,SAEA,iBACA,kBACA,0BACA,oBAEA,gBACA,UACA,eACA,gBACA,mBAEA,eACA,aACA,sBACA,aACA,qBACA,mBACA,4BACA,mBACA,iBAEA,MACA,OACA,SACA,SACA,cACA,OACA,OACA,MACA,QACA,MACA,KACA,MACA,QACA,WACA,QACA,MACA,cACA,gBACA,cACA,WACA,gBACA,MACA,QACA,QACA,OACA,UACA,QACA,MACA,OACA,OACA,QACA,MACA,OACA,OACA,QACA,MACA,OACA,OACA,QACA,QACA,eAEA,cACA,aACA,YACA,OACA,MACA,kBACA,kBAEA,qBACA,0BACA,mBACA,kBACA,eACA,sBACA,oBACA,WACA,oBACA,iBAEA,OACA,aACA,eACA,YACA,QACA,aAEA,eAEA,OACA,YACA,aACA,aACA,cACA,SACA,UACA,WACA,WAEA,QACA,cACA,cACA,mBACA,MACA,uBACA,wBACA,SACA,kBACA,YACA,SACA,cACA,cACA,WACA,UACA,QACA,OACA,SACA,OACA,QACA,QACA,YACA,yBACA,eACA,kBACA,iBACA,qBACA,eACA,iBACA,gBACA,UACA,SACA,UACA,QACA,OACA,QACA,+BACA,UACA,QACA,cACA,SACA,SACA,YACA,YACA,YACA,iBACA,SACA,YACA,OACA,UACA,QAEA,eACA,OACA,UACA,WACA,WACA,YACA,aACA,cACA,aAEA,oBACA,UACA,SACA,YACA,gBACA,gBACA,iBACA,kBACA,mBACA,kBACA,oBACA,mBACA,mBACA,eACA,cACA,cAEA,gBAEA,WACA,KACA,SACA,SAGA,MACA,UACA,SACA,UACA,OACA,QACA,YACA,aACA,uBACA,QACA,eACA,wBACA,OACA,MACA,MACA,OACA,MACA,YACA,SACA,aACA,cACA,MACA,MACA,SACA,WACA,UACA,WAEA,YAEA,UACA,QACA,OACA,QACA,aACA,UACA,SAGA,WACA,WACA,SACA,SACA,SACA,wBACA,QACA,MAEA,eACA,eACA,oBACA,OACA,WACA,WACA,MACA,YACA,YACA,kBACA,OACA,SACA,QACA,oBACA,MACA,iBACA,UACA,mBACA,SACA,oBACA,OACA,YACA,oBACA,mBACA,oBACA,oBACA,kBACA,mBACA,oBACA,mBACA,mBACA,OACA,OAEA,YACA,WACA,mBACA,kBAEA,eACA,sBAEA,MACA,OACA,QACA,OACA,QACA,OACA,QACA,QACA,OACA,MACA,OACA,UACA,MACA,QACA,KACA,MACA,OACA,QACA,KACA,MACA,UACA,OACA,QACA,MACA,OACA,OACA,MACA,OAEA,eACA,iBACA,iBAEA,SAEA,QACA,OACA,SACA,QACA,OACA,QACA,UACA,QACA,OACA,QACA,QACA,SACA,QAEA,mBACA,0BACA,cAEA,OACA,SACA,MAEA,MACA,QACA,MACA,MACA,SACA,MACA,YACA,aACA,cACA,MACA,aACA,OACA,YACA,QACA,eACA,kBACA,kBACA,OACA,kBACA,aAEA,eACA,QACA,cACA,OACA,mBACA,KACA,WACA,OACA,OACA,YAEA,iBACA,+BAEA,UAEA,QACA,SACF,EAGIC,GAAW,CAEb,MACA,MACA,MACA,KACA,MACA,uBACA,KACA,UACA,KACA,OACA,OACA,UACA,WACA,SACA,QACA,OACA,UACA,UACA,SACA,OACA,WACA,OACA,MACA,OACA,SACA,SACA,UACA,SACA,UACA,QACA,QACA,YACA,MACA,OACA,OACA,QACA,WACA,SACA,OACA,SACA,KACA,SACA,KACA,QACA,YACA,OACA,KACA,OACA,UACA,OACA,QACA,SACA,QACA,UACA,MACA,KACA,MACA,OACA,QACA,KACA,KACA,KACA,QACA,QACA,OACA,YACA,YACA,QACA,QACA,YACA,UACA,QACA,SACA,OACA,SACA,MACA,OACA,QACA,cACA,OACA,KACA,QACA,OACA,YACA,QACA,SACA,QACA,OACA,QACA,SACA,OACA,SAEA,OAEA,OAEA,OAEA,QAEA,KACA,MACA,QACA,UACA,WACA,UACA,WACA,eACF,EACIC,GAAY,CAEd,QAEA,OACA,QAEA,OACA,WACA,YACA,WACA,QACA,MACA,WACA,UACA,SACA,UACA,UACA,UAEA,UAEA,aAEA,aAEA,UACA,SAEA,SAEA,OACA,UACF,EAGIC,GAAiB/B,EAAc,CAAC,gDAAgD,CAAC,EACjFgC,GAAkBhC,EAAc,CAElC,mBACA,OACA,QACA,WACA,SACA,UACA,SACA,eACA,WACA,QACA,SACA,iBAIA,gBACA,SAEA,MAEA,eACA,oDACA,aACA,aACA,wBAEA,kBACA,yBACA,wBACF,CAAC,EACGiC,GAAiBjC,EAAc,CAGjC,+EACA,0DAEA,SAEA,gBAEA,+CAEA,0BACA,6BACA,0BACA,YACA,2BACA,sBAEA,cAEA,gBAEA,gBAGA,2BAEA,wCAEA,oBAEA,iBAEA,gCACA,kBAEA,sEACA,gDAEA,wDAC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AIU,GAAa,CAEf,YACA,MACA,cACA,QACA,YACA,aACA,kBACA,YACA,WACA,UACA,MACA,SACA,MACA,kBACA,kBACA,eACA,YACA,YACA,aACA,iBACA,YACA,UACA,aACA,WACA,WACA,WACA,SACA,cACA,MACA,WACA,gBACA,SACA,WAEA,MACA,SACA,OACA,WACA,YACA,cACA,aACA,cACA,YACA,MACA,eACA,cACA,aACA,aACA,cACA,QACA,YACA,OACA,OACA,QACA,QACA,SACA,YACA,QACA,SACA,SACA,SACA,eACA,QACA,cACA,UACA,OACA,mBACA,MACA,WACA,gBACA,oBACA,mBACA,SACA,MACA,OACA,MACA,kBACA,mBACA,YACA,aACA,MACA,UACA,aACA,YACA,gBACA,YACA,OACA,eACA,uBACA,iBACA,WACA,kBACA,SACA,cACA,eACA,UACA,QACA,aACA,SACA,mBACA,aACA,aACA,eACA,cACA,UACA,kBACA,MACA,UACA,YACA,QACA,qBACA,kBACA,UACA,WACA,OACA,QACA,QACA,cACA,MACA,WACA,OACA,gBACA,qBACA,SACA,UACA,SACA,QACA,SACA,SACA,SACA,UACA,SACA,UACA,UACA,SACA,aACA,cACA,aACA,eACA,aACA,aACA,WACA,QACA,QACA,OACA,SACA,UACA,UACA,UACA,KACA,SACA,mBACA,QACA,eACA,kBACA,QACA,OACA,QACA,MACA,kBACA,cACA,mBACA,MACA,SACA,kBACA,MACA,QACA,YACA,iBACA,eACA,WACA,aACA,eACA,YACA,YACA,qBACA,MACA,SACA,MACA,OACA,eACA,UACA,YACA,WACA,SACA,MACA,QACA,WACA,UACA,cACA,gBACA,UACA,cACA,OACA,SACA,WACA,UACA,eACA,iBACA,eACA,cACA,qBACA,iBACA,gBACA,SACA,UACA,MACA,UACA,QACA,QACA,kBACA,OACA,QACA,WACA,mBACA,mBACA,SACA,kBACA,OACA,MACA,OACA,UACA,QACA,OACA,QACA,UACA,SACA,WACA,SACA,UACA,UACA,UACA,YACA,aACA,eACA,MACA,OACA,aACA,eACA,YACA,YACA,mBACA,gBACA,gBACA,WACA,UACA,UACA,UACA,SACA,gBACA,WACA,WACA,YACA,iBACA,eACA,mBACA,aACA,YACA,OACA,aACA,kBACA,WACA,QACA,UACA,YACA,cACA,QACA,cACA,QACA,QACA,qBACA,iBACA,qBACA,wBACA,uBACA,uCACA,OACA,WACA,gBACA,eACA,gBACA,aACA,YACA,cACA,aACA,YACA,gBACA,WACA,QACA,WACA,SACA,eACA,UACA,cACA,iBACA,eACA,OACA,gBACA,cAEA,aACA,aACA,SACA,WAGA,OACA,aACA,QACA,MACA,OACA,aACA,cACA,aACA,YACA,kBAEA,MACF,EAGIC,GAAY,CAEd,WACA,MACA,QACA,QACA,MACA,WACA,QACA,QACA,MACA,MACA,KACA,aACA,YACA,UACA,KACA,aACA,QACA,gBACA,MACA,YACA,SACA,QACA,UACA,SACA,aACA,KACA,QACA,OACA,SACA,UACA,cACA,WACA,OACA,OACA,QACA,QACA,QACA,UACA,aACA,SACA,SACA,UACA,SACA,SACA,YACA,UACA,aACA,aACA,WACA,WACA,QACA,YACA,SACA,QACA,UACA,eACA,mBACA,eACA,iBACA,iBACA,eACA,oBACA,mBACA,eACA,SACA,QACA,OACA,WACA,oBACA,mBACA,MACA,OACA,aACA,WACA,SACA,SACA,kBACA,iBACA,aACA,UACA,UACA,WACA,aACA,SACA,YACA,aACA,WACA,aACA,gBACA,cACA,UACA,WACA,aACA,WACA,KACA,WACA,OACA,SACA,UACA,OACA,WACA,OACA,SACA,SACA,WACA,aACA,MACA,WACA,SACA,QACA,SACA,QACA,SACA,YACA,YACA,YACA,UACA,SACA,OACA,UACA,WACA,WACA,UACA,SACA,QACA,YACA,OACA,QACA,SACA,MACA,UACA,OACA,OACA,OACA,WACA,UACA,YACA,MACA,SACA,KACA,OACA,QACA,UACA,QACA,UACA,OACA,eACA,SACA,OACA,OACA,OACA,QACA,WACA,KACA,YACA,SACA,KACA,YACA,YACA,YACA,QACA,YACA,aACA,MACA,WACA,UACA,QACA,QACA,cACA,SACA,YACA,YACA,OACA,KACA,SACA,SACA,YACA,UACA,MACA,OACA,OACA,OACA,MACA,QACA,WACA,QACA,UACA,WACA,QACA,OACA,OACA,QACA,WACA,QACA,YACA,SACA,YACA,iBACA,UACA,WACA,OACA,UACA,WACA,OACA,aACA,eACA,WACA,cACA,eACA,SACA,UACA,WACA,OACA,WACA,QACA,SACA,MACA,MACA,YACA,UACA,KACA,UACA,UACA,WACA,aACA,aACA,aACA,OACA,UACA,aACA,OACA,UACA,OACA,QACA,WACA,OACA,KACA,MACA,SACA,MACA,YACA,KACA,OACA,eACA,WACA,SACA,KACA,QACA,MACA,QACA,OACA,aACA,UACA,SACA,WACA,YACA,OACA,YACA,cACA,eACA,aACA,WACA,OACA,UACA,YACA,OACA,WACA,YACA,UACA,UACA,UACA,SACA,aACA,YACA,UACA,OACA,SACA,QACA,UACA,QACA,OACA,OACA,QACA,WACA,aACA,cACA,UACA,UACA,SACA,SACA,QACA,WACA,UACA,WACA,SACA,qBACA,SACA,UACA,SACA,QACA,OACA,WACA,gBACA,aACA,cACA,kBACA,kBACA,gBACA,WACA,UACA,MACA,YACA,OACA,SACA,aACA,MACA,MACA,YACA,SACA,aACA,SACA,SACA,SACA,UACA,SACA,WACA,SACA,YACA,WACA,UACA,eACA,MACA,SACA,SACA,OACA,OACA,SACA,WACA,MACA,QACA,UACA,WACA,QACA,WACA,YACA,SACA,WACA,OACA,WACA,SACA,QACA,YACA,UACA,UACA,SACA,SACA,UACA,SACA,cACA,QACA,aACA,OACA,KACA,cACA,UACA,OACA,WACA,OACA,OACA,QACA,SACA,QACA,SACA,QACA,OACA,QACA,YACA,QACA,SACA,WACA,UACA,OACA,UACA,OACA,WACA,UACA,OACA,WACA,QACA,QACA,OACA,UACA,MACA,QACA,aACA,YACA,gBACA,OACA,OACF,EACIC,GAAa,CAEf,QACA,SACA,SACA,OACA,UACA,QACA,OACA,YACA,OACA,OACA,WACA,SACA,MACA,UACA,SACA,mBACA,QACA,SACA,SACA,UACA,MACA,OACA,OACA,OACA,UACA,WACA,eACA,kBACA,QACA,OACA,QACA,WACA,UACA,WACA,OACA,OACA,YACA,YACA,UACA,YACF,EAGIC,GAAkBnD,EAAc,CAAC,yBAAyB,CAAC,EAC3DoD,GAAmBpD,EAAc,CAEnC,OACA,OACA,QACA,WACA,SACA,eACA,4BACA,QACA,SACA,aACA,kBACA,0BACA,4EACA,mBACA,mBACA,OAGA,cACA,SAEA,MAEA,aACA,4BACA,aACA,QACF,CAAC,EACGqD,GAAkBrD,EAAc,CAElC,6DACA,2BAEA,SACA,mBACA,2BAEA,cAEA,yBAEA,cACA,eACA,gBACA,gBACA,iBACA,gBAEA,eAEA,wCAGA,mBAEA,WACA,qBACA,mBACA,iCACA,iBACA,sBACA,iBACA,2BACA,cACA,aACA,eACA,eACA,iBACA,gBACA,mBACA,kBACA,eACA,iCACA,wBACA,iBACA,eACA,sBACA,iBACA,mBACA,kBACA,gBACA,wBACA,aACA,mBACA,qBACA,aACA,wBACA,uBACA,iBACA,gBACA,kBACA,iBACA,mBACA,gBACA,wBACA,aACA,8CACA,QACA,wBACA,OACA,QACA,aACA,gBACA,UACA,qCACA,sBACA,oBACA,kCACA,uBACA,+BACA,0BACA,4BACA,wBACA,yBACA,2BACA,2BACA,6BACA,+BACA,iCACA,gCACA,cACA,gBACA,oCACA,yBACA,+BACA,uBACA,gBACA,kBACA,iBACA,kEACA,mBACA,sCACA,8BACA,yBACA,2BACA,sBACA,oBACA,0BACA,+BACA,yBACA,wBACA,kBACA,iBACA,UACA,iCACA,4BACA,aACA,sBACA,oBACA,kBACA,gCACA,qBACA,2BACA,wBACA,0BACA,yBACA,YACA,yBACA,cACA,gBACA,eACA,kBACA,4BACA,YACA,cACA,kCACA,uBACA,gBACA,cACA,qBACA,gBACA,uBACA,kCACA,gCACA,iBACA,eACA,uBACA,sBACA,kBACA,wBACA,gBACA,wBACA,iCACA,gBACA,eACA,iBACA,sBACA,sBACA,iCACA,eACA,uCACA,sBACA,wBACA,mCACA,gCACA,uCACA,eACA,kBACA,OACA,QAEA,UACA,UACA,QACA,aACA,OACA,OACA,OACA,UACA,gBACA,UACA,yBACA,iDACA,SACA,WACA,SACA,SAEA,iCACA,YACA,8BACA,iBACA,cAEA,0BACA,0BACA,gBACA,eACA,WACA,WACA,aACA,oBACA,6CACA,iBACA,SACA,wBACA,+CACA,OACF,CAAC,EACGsD,GAAyBtD,EAAc,CAAC,cAAe,eAAgB,iBAAiB,CAAC,EACzFuD,GAAiBvD,EAAc,CACjC,OACA,qCACA,sBACF,CAAC,EACGwD,GAAmBxD,EAAc,CACnC,YACA,YACA,WACA,wBACF,CAAC,EACGf,GAAM,CACR,KAAM,MACN,iBAAkB,CAChB,eAAgBkE,GAChB,gBAAiB,CAAC,GAAGC,GAAkB,GAAGC,EAAe,EACzD,sBAAuBC,GACvB,cAAeC,GACf,gBAAiBC,GACjB,iBAAkBP,GAClB,kBAAmBC,GACnB,sBAAuBF,GACvB,YAAa,CAAC,IAAI,EAClB,YAAa,CACX,CAAE,MAAO,QAAS,SAAU,CAAC,IAAK,IAAK,IAAI,CAAG,EAC9C,CAAE,MAAO,SAAU,SAAU,CAAC,IAAK,KAAM,KAAM,IAAI,EAAG,cAAe,EAAM,CAC5E,EACD,WAAY,CAAC,OAAO,EACpB,WAAY,CAAE,MAAO,MAAO,KAAM,KAAO,EACzC,WAAY,CAAE,WAAY,GAAM,MAAO,CAAC,GAAG,CAAG,EAC9C,WAAY,CAAE,MAAO,MAAO,KAAM,KAAO,EACzC,UAAW,CACT,KACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACD,CACF,EACD,cAAe,CACb,eAAgBK,EACjB,CACH,EAGII,GAAa,CAGf,YACA,MACA,OACA,cACA,QACA,YACA,YACA,aACA,QACA,aACA,kBACA,QACA,WACA,gBACA,iBACA,UACA,MACA,SACA,MACA,kBACA,kBAEA,YACA,YACA,aACA,iBACA,UACA,aACA,WACA,WACA,WACA,OACA,aACA,SACA,cACA,MACA,UACA,WACA,MACA,WACA,gBACA,SACA,WAEA,MACA,SACA,OACA,WACA,YACA,cACA,aACA,cACA,YACA,UACA,wBACA,aACA,QACA,OACA,OACA,QACA,QACA,gBACA,gBACA,aACA,SACA,YACA,SACA,QACA,SACA,eACA,cACA,OACA,UACA,cACA,mBACA,MACA,WACA,mBACA,SACA,WACA,MACA,OACA,MACA,UACA,UACA,WACA,oBACA,mBACA,MACA,UACA,aACA,gBACA,YACA,YACA,OACA,kBACA,iBACA,kBACA,mBACA,iBACA,cACA,eACA,aACA,UACA,aACA,SACA,YACA,aACA,gBACA,YACA,gBACA,cACA,cACA,UACA,mBACA,SACA,UACA,cACA,iBACA,cACA,eACA,MACA,UACA,YACA,QACA,kBACA,qBACA,qBACA,uBACA,eACA,UACA,WACA,WACA,WACA,YACA,cACA,cACA,cACA,eACA,MACA,WACA,OACA,qBACA,qBACA,mBACA,cACA,gBACA,WACA,kBACA,aACA,iBACA,YACA,gBACA,WACA,qBACA,SACA,SACA,QACA,YACA,UACA,aACA,YACA,SACA,aACA,cACA,aACA,eACA,cACA,aACA,aACA,OACA,WACA,QACA,QACA,OACA,SACA,KACA,OACA,mBACA,SACA,QACA,MACA,QACA,OACA,QACA,kBACA,MACA,cACA,mBACA,MACA,SACA,MACA,QACA,YACA,iBACA,SACA,aACA,YACA,gBACA,SACA,eACA,WACA,qBACA,MACA,SACA,MACA,eACA,UACA,KACA,WACA,SACA,MACA,QACA,WACA,UACA,UACA,cACA,SACA,OACA,eACA,eACA,iBACA,gBACA,SACA,UACA,MACA,QACA,kBACA,QACA,OACA,MACA,QACA,QACA,SACA,OACA,MACA,OACA,UACA,QACA,OACA,QACA,UACA,SACA,WACA,SACA,YACA,aACA,eACA,MACA,OACA,mBACA,gBACA,oBACA,gBACA,UACA,UACA,UACA,YACA,eACA,aACA,YACA,aACA,OACA,kBACA,QACA,WACA,QACA,QACA,aACA,aACA,QACA,mBACA,qBACA,wBACA,iBACA,wBACA,WACA,OACA,OACA,gBACA,aACA,YACA,cACA,aACA,YACA,gBACA,WACA,QACA,SACA,eACA,UACA,cACA,MACA,eACA,OACA,QAEA,aACA,2BACA,sBACA,wBACA,mBACA,0BACA,qBACA,yBACA,oBACA,wBACA,mBACA,aACA,YACA,gBACA,eACA,mBACA,WAEA,SAEA,YACA,aACA,cACA,MACA,aACA,OACA,YACA,QACA,eACA,OACA,kBACA,aAEA,MACF,EAGIC,GAAY,CAId,SACA,YACA,SACA,SACA,WACA,MACA,QACA,MACA,WACA,QACA,QACA,MACA,MACA,SACA,WACA,QACA,YACA,aACA,KACA,MACA,aACA,YACA,SACA,SACA,aACA,gBACA,aACA,SACA,QACA,UACA,OACA,OACA,aACA,KACA,QACA,OACA,SACA,cACA,OACA,OACA,QACA,KACA,QACA,UACA,UACA,aACA,SACA,UACA,SACA,UACA,cACA,WACA,SACA,aACA,YACA,UACA,kBACA,aACA,WACA,aACA,WACA,UACA,WACA,OACA,QACA,YACA,SACA,WACA,QACA,OACA,YACA,UACA,eACA,eACA,iBACA,iBACA,eACA,oBACA,mBACA,eACA,SACA,QACA,WACA,oBACA,mBACA,MACA,OACA,aACA,WACA,SACA,SACA,kBACA,iBACA,aACA,aACA,UACA,UACA,WACA,QACA,SACA,aACA,SACA,WACA,aACA,YACA,OACA,WACA,aACA,SACA,gBACA,cACA,UACA,WACA,aACA,WACA,KACA,WACA,OACA,UACA,OACA,OACA,SACA,QACA,SACA,WACA,aACA,MACA,WACA,SACA,WACA,QACA,SACA,QACA,SACA,YACA,YACA,YACA,UACA,SACA,OACA,SACA,WACA,UACA,QACA,SACA,QACA,YACA,OACA,QACA,cACA,MACA,UACA,SACA,OACA,WACA,OACA,OACA,WACA,WACA,UACA,YACA,MACA,SACA,KACA,OACA,QACA,QACA,UACA,OACA,WACA,eACA,SACA,OACA,OACA,OACA,QAEA,WACA,KACA,SACA,YACA,aACA,KACA,UACA,YACA,YACA,YACA,QACA,UACA,YACA,MACA,WACA,UACA,SACA,QACA,QACA,cACA,SACA,YACA,YACA,YACA,YACA,OACA,KACA,SACA,YACA,UACA,OACA,OACA,OACA,aACA,gBACA,cACA,cACA,iBACA,aACA,aACA,aACA,OACA,MACA,OACA,QACA,MACA,WACA,aACA,UACA,OACA,QACA,OACA,SACA,OACA,QACA,WACA,UACA,QACA,YACA,YACA,iBACA,WACA,UACA,OACA,WACA,MACA,SACA,OACA,aACA,OACA,UACA,eACA,WACA,QACA,cACA,eACA,aACA,SACA,UACA,WACA,SACA,QACA,OACA,WACA,QACA,SACA,YACA,MACA,WACA,QACA,QACA,SACA,MACA,YACA,UACA,KACA,UACA,UACA,WACA,aACA,aACA,aACA,OACA,UACA,aACA,MACA,UACA,YACA,QACA,OACA,QACA,WACA,OACA,SACA,KACA,MACA,SACA,MACA,YACA,OACA,KACA,OACA,OACA,WACA,SACA,KACA,QACA,aACA,WACA,MACA,QACA,OACA,UACA,aACA,UACA,SACA,OACA,WACA,YACA,OACA,YACA,cACA,eACA,aACA,UACA,WACA,OACA,UACA,eACA,kBACA,kBACA,SACA,aACA,YACA,OACA,OACA,WACA,UACA,UACA,UACA,QACA,SACA,aACA,YACA,UACA,YACA,QACA,QACA,OACA,kBACA,SACA,OACA,QACA,WACA,aACA,cACA,UACA,cACA,UACA,SACA,SACA,QACA,WACA,UACA,SACA,qBACA,SACA,YACA,UACA,SACA,MACA,QACA,WACA,SACA,UACA,MACA,aACA,YACA,OACA,MACA,MACA,YACA,OACA,SACA,SACA,aACA,SACA,SACA,SACA,UACA,SACA,UACA,SACA,YACA,WACA,UACA,eACA,MACA,SACA,SACA,OACA,OACA,OACA,SACA,WACA,MACA,QACA,iBACA,oBACA,UACA,QACA,WACA,YACA,SACA,WACA,YACA,UACA,UACA,cACA,cACA,QACA,aACA,cACA,MACA,OACA,aACA,KACA,cACA,WACA,UACA,OACA,aACA,OACA,WACA,WACA,OACA,OACA,QACA,SACA,OACA,UACA,SACA,QACA,SACA,WACA,MACA,QACA,MACA,OACA,SACA,QACA,QACA,SACA,WACA,UACA,OACA,UACA,aACA,OACA,WACA,OACA,OACA,WACA,QACA,QACA,OACA,SACA,UACA,UACA,UACA,QACA,aACA,SACA,gBACA,UACA,aACA,YACA,cACA,aACA,YACA,WACA,gBACA,WACA,QACA,SACA,eACA,WACA,UACA,cACA,eACA,YACA,OACA,QACA,MACA,MACF,EACIC,GAAa,CAEf,QACA,SACA,SACA,MACA,OACA,UACA,QACA,OACA,YACA,OACA,OACA,WACA,OACA,SACA,WACA,UACA,MACA,SACA,mBACA,QACA,UACA,MACA,UACA,OACA,UACA,OACA,QACA,WACA,OACA,YACA,YACA,UACA,aACA,KACF,EAGIC,GAAkB5D,EAAc,CAAC,yBAAyB,CAAC,EAC3D6D,GAAmB7D,EAAc,CAEnC,mBACA,OACA,OACA,QACA,WACA,SACA,eACA,uCACA,QACA,SACA,uBACA,kBACA,gBACA,eAGA,cACA,SAEA,MAEA,aACA,4BACA,aACA,SACA,SAEA,iBACF,CAAC,EACG8D,GAAkB9D,EAAc,CAElC,4BACA,uCAEA,SACA,mBACA,gCAEA,cAEA,aAEA,cACA,eACA,iBACA,gBACA,gBAEA,gDAEA,eAEA,uCAEA,gBAEA,sFAGA,mBAEA,uBACA,qBAEA,kBACA,iDACA,0CACA,iDACA,8CACA,wBACA,OACA,QACA,iJACA,yDACA,iEACA,4CACA,2EACA,uBACA,4BACA,yGACA,gCACA,uCACA,gBACA,cACA,+CACA,iBACA,iCACA,UACA,kBACA,iBACA,oBACA,iCACA,iBACA,uBACA,uBACA,2HACA,+DACA,sBACA,sBAEA,eACA,wCACA,sCACA,qJACA,eACA,UACA,mIACA,uDACA,aACA,OACA,UACA,gBACA,UACA,yBACA,4BACA,sJACA,wCACA,YACA,iBACA,+GACA,wCACA,0BACA,aACA,iDACA,wDACA,4BACA,mBACA,kBACA,0BACA,MACA,wBACA,8CACF,CAAC,EACG+D,GAAyB/D,EAAc,CAAC,cAAe,eAAgB,iBAAiB,CAAC,EACzFgE,GAAiBhE,EAAc,CACjC,OACA,qCACA,gCACA,sBACF,CAAC,EACGiE,GAAmBjE,EAAc,CACnC,YACA,YACA,WACA,wBACF,CAAC,EACGd,GAAO,CACT,KAAM,OACN,iBAAkB,CAChB,eAAgB0E,GAChB,gBAAiB,CAAC,GAAGC,GAAkB,GAAGC,EAAe,EACzD,sBAAuBC,GACvB,cAAeC,GACf,gBAAiBC,GACjB,iBAAkBP,GAClB,kBAAmBC,GACnB,sBAAuBF,GACvB,oBAAqB,GACrB,YAAa,CAAC,IAAI,EAClB,YAAa,CACX,CAAE,MAAO,QAAS,SAAU,CAAC,IAAK,GAAG,CAAG,EACxC,CAAE,MAAO,SAAU,SAAU,CAAC,IAAK,KAAM,KAAM,IAAI,EAAG,cAAe,EAAM,CAC5E,EACD,WAAY,CAAC,OAAO,EACpB,WAAY,CAAE,MAAO,MAAO,KAAM,KAAO,EACzC,WAAY,CAAE,WAAY,GAAM,MAAO,CAAC,GAAG,CAAG,EAC9C,WAAY,CAAE,MAAO,MAAO,KAAM,KAAO,EACzC,UAAW,CAAC,KAAM,KAAS,KAAS,KAAS,KAAM,KAAM,KAAM,IAAI,CACpE,EACD,cAAe,CACb,eAAgBK,EACjB,CACH,EAGII,GAAa,CAGf,MACA,OACA,OACA,OACA,MACA,SACA,OACA,OACA,UACA,OACA,MACA,UAEA,MACA,YACA,QACA,WACA,MACA,QACA,KACA,MACA,QACA,OACA,WACA,KACA,OACA,WACA,MACA,QACA,UACA,OACA,QACA,YACA,aACA,qBACA,OACA,MACA,OACA,MACA,QACA,eAEA,iBACA,WACA,aACA,OACA,aAEA,SACA,OAEA,aACA,OACA,WACA,cACA,WACA,WACA,MACA,UACA,aACA,YACA,UACA,gBACA,qBACA,OACA,WACA,SACA,QACA,iBACA,WACA,UACA,SACA,YACA,UACA,mBACA,QACA,iBACA,aACA,OAEA,cACA,WACA,KACA,YACA,SACA,SACA,MAEA,QACA,SACA,mBACA,MACA,SACA,YACA,iBACA,SACA,MACA,SACA,QACA,cACA,gBACA,kBACA,UACA,UACA,QACA,QACA,SACA,cACA,SACA,QACA,OACA,QACA,SACA,eACA,YACA,SACA,QACA,iBACA,iBACA,SACA,UACA,OACA,QACA,YACA,UACA,QACA,QACA,aACA,SACA,YACA,YACA,OACA,QACA,WACA,QAEA,OACA,eACA,YACA,cACA,oBACA,mBAEA,cACA,cACA,QACA,mBACA,eACA,OACA,cACA,iBACA,MACA,UACA,MACA,OACA,OACA,gBACA,UAEA,MACA,eACA,cACA,OACA,QACA,YACA,aACA,oBACA,MACA,MACA,QACA,aACA,oBACA,YACA,YACA,aACA,iBACA,UACA,aACA,WACA,WACA,WACA,aACA,cACA,MACA,UACA,WACA,WAEA,UACA,SACA,aACA,kBACA,aACA,QAEA,OACA,MACA,cACA,aACA,OACA,aACA,aACA,YACA,eACA,OACF,EAGIC,GAAY,CAGd,MACA,QACA,QACA,UACA,UACA,MACA,SACA,SACA,UACA,UACA,SACA,UACA,YACA,gBACA,aACA,UACA,UACA,UACA,cACA,UACA,cACA,WACA,OACA,YACA,WACA,MACA,eACA,WACA,UACA,YACA,aACA,OACA,cACA,YACA,UACA,aACA,YACA,SACA,UACA,YACA,UACA,SACA,SACA,OACA,aACA,QACA,SACA,YACA,YACA,eACA,OACA,gBACA,SACA,QACA,UACA,SACA,cACA,cACA,QACA,MACA,OACA,WACA,QACA,QACA,OACA,WACA,OACA,QACA,UACA,OACA,UACA,eACA,WACA,QACA,SACA,QACA,OACA,SACA,UACA,UACA,SACA,eACA,eACA,YACA,QACA,cACA,aACA,OACA,SACA,aACA,aACA,QACA,OACA,WACA,UACA,eACA,eACA,SACA,SACA,SACA,UACA,cACA,WACA,UACA,OACA,QACA,SACA,UACA,SACA,OACA,QACA,kBACA,SACA,OACA,SACA,OACA,gBACA,SACA,OACA,SACA,MACA,aACA,SACA,cACA,SACA,SACA,gBACA,YACA,aACA,UACA,QACA,eACA,YACA,OACA,YACA,SACA,QACA,WACA,MACA,MACA,MACA,eACA,aACA,OACA,QACA,OACA,aACA,YACA,QACA,SACA,WACA,cACA,OACA,QACA,QACA,MACA,OACA,SACA,aACA,QACA,OACA,WACA,SACA,MACA,aACA,WACA,UACA,UACA,gBACA,OACA,QACA,SACA,QACA,OACA,QACA,UACA,UACA,cACA,OAEA,MACA,QACA,MACA,KACA,gBACA,UACA,OACA,KACA,OACA,OACA,SACA,OACA,SACA,QACA,OACA,UACA,eACA,oBACA,SACA,WACA,SACA,WACA,WACA,OACA,OACA,MACA,WACA,SACA,WACA,WACA,QACA,QACA,YACA,MACA,OACA,OACA,WACA,QACA,QACA,WACA,SACA,KACA,SACA,KACA,QACA,SACA,YACA,OACA,KACA,OACA,UACA,OACA,OACA,OACA,QACA,QACA,OACA,OACA,MACA,OACA,KACA,KACA,KACA,QACA,MACA,QACA,OACA,cACA,YACA,UACA,YACA,WACA,YACA,QACA,QACA,SACA,SACA,QACA,SACA,MACA,OACA,SACA,MACA,QACA,cACA,OACA,KACA,YACA,UACA,OACA,WACA,YACA,QACA,aACA,SACA,OACA,QACA,eACA,SACA,OACA,QACA,SACA,OACA,SACA,OACA,SACA,QACA,WACA,QACA,QACA,aACA,UACA,UACA,aACA,YACA,UACA,QACA,QACA,OACA,OAEA,WACA,eACA,MACA,MACA,MACA,UACA,OACA,SACA,WACA,cACA,cACF,EACIC,GAAa,CAEf,QACA,SACA,SACA,UACA,OACA,OACA,UACA,SACA,QACA,MACA,UACA,WACA,MACA,UACA,YACA,WACA,SACA,YACA,SACF,EAGIC,GAAkBrE,EAAc,CAAC,yBAAyB,CAAC,EAC3DsE,GAAmBtE,EAAc,CAEnC,OACA,OACA,QACA,WACA,SACA,SACA,eACA,WACA,UACA,aACA,gBACA,QAKA,sBACA,SAEA,MAEA,aACA,4BACA,aACA,kBAGA,qCAGA,2BACA,wBACF,CAAC,EACGuE,GAAkBvE,EAAc,CAElC,sDACA,6CAEA,SAEA,cAEA,yBAEA,cACA,YAEA,mBAEA,QACA,SACA,MACA,WACA,OACA,QACA,OACA,YACA,YACA,YACF,CAAC,EACGwE,GAAyBxE,EAAc,CAAC,wBAAwB,CAAC,EACjEyE,GAAiBzE,EAAc,CACjC,OACA,qCACA,uBAEA,gBACF,CAAC,EACG0E,GAAmB1E,EAAc,CAAC,wBAAwB,CAAC,EAC3Db,GAAO,CACT,KAAM,OACN,iBAAkB,CAChB,eAAgBkF,GAChB,gBAAiB,CAAC,GAAGC,GAAkB,GAAGC,EAAe,EACzD,sBAAuBC,GACvB,cAAeC,GACf,gBAAiBC,GACjB,iBAAkBP,GAClB,kBAAmBC,GACnB,sBAAuBF,GACvB,YAAa,CAAC,IAAI,EAClB,YAAa,CAAC,QAAS,OAAO,EAC9B,WAAY,CAAC,IAAI,EACjB,cAAe,CAAC,CAAE,MAAO,KAAM,SAAU,CAAC,GAAG,EAAG,cAAe,GAAM,EACrE,UAAW,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,MAAO,KAAM,IAAK,IAAI,CAC5D,EACD,cAAe,CACb,eAAgBK,EACjB,CACH,EAGA,SAASI,GAAarC,EAAQ,CAC5B,OAAOA,EAAO,IAAI,CAACpG,EAAOh7C,IAAM,CAC9B,MAAM0jD,EAAYtC,EAAOphD,EAAI,CAAC,GAAKogD,GACnC,GAAIG,GAAQ,IAAIvF,CAAK,GAAK0I,EAAU,OAAS,IAC3C,OAAOlG,GAAcD,GAAe,GAAIvC,CAAK,EAAG,CAAE,KAAM,wBAAwB,CAA+B,EAEjH,MAAMuG,EAAYH,EAAOphD,EAAI,CAAC,GAAKogD,GACnC,OAAIG,GAAQ,OAAOvF,CAAK,GAAKuG,EAAU,OAAS,IACvC/D,GAAcD,GAAe,GAAIvC,CAAK,EAAG,CAAE,KAAM,wBAAwB,CAA+B,EAE1GA,CACX,CAAG,CACH,CAGA,IAAI2I,GAAY,CAEd,aACA,MACA,MACA,QACA,UACA,MACA,KACA,MACA,aACA,SACA,UACA,OACA,KACA,OACA,UACA,OACA,SACA,QACA,UACA,SACA,YACA,aACA,WACA,UACA,SACA,QACA,eACA,eACA,eACA,oBACA,eACA,SACA,WACA,YACA,WACA,kBACA,aACA,aACA,UACA,UACA,UACA,SACA,mBACA,OACA,WACA,gBACA,WACA,cACA,MACA,gBACA,OACA,OACA,OACA,OACA,SACA,WACA,UACA,SACA,SACA,OACA,UACA,QACA,QACA,MACA,QACA,UACA,OACA,WACA,UACA,QACA,QACA,SACA,gBACA,mBACA,cACA,cACA,KACA,SACA,oBACA,oBACA,KACA,QACA,SACA,QACA,QACA,cACA,SACA,YACA,WACA,OACA,KACA,UACA,OACA,MACA,OACA,OACA,UACA,QACA,OACA,OACA,QACA,SACA,QACA,OACA,YACA,iBACA,OACA,OACA,eACA,0BACA,gCACA,QACA,WACA,qBACA,gBACA,MACA,WACA,UACA,MACA,qBACA,OACA,SACA,KACA,WACA,SACA,aACA,KACA,QACA,MACA,QACA,UACA,OACA,gBACA,kBACA,YACA,WACA,UACA,YACA,QACA,QACA,OACA,QACA,aACA,YACA,gBACA,aACA,SACA,UACA,SACA,SACA,UACA,UACA,WACA,WACA,SACA,YACA,SACA,QACA,QACA,aACA,OACA,SACA,UACA,qBACA,SACA,YACA,YACA,MACA,OACA,SACA,OACA,UACA,WACA,MACA,eACA,WACA,aACA,iBACA,sBACA,mBACA,MACA,WACA,oBACA,mBACA,qBACA,gBACA,QACA,aACA,OACA,KACA,WACA,UACA,OACA,OACA,QACA,SACA,SACA,WACA,SACA,QACA,MACA,QACA,WACA,WACA,gBACA,SACA,OACA,QACA,QACA,SACA,OACA,QACA,MACA,aACA,UACF,EACIC,GAAa,CAEf,SACA,SACA,MACA,OACA,YACA,OACA,YACA,WACA,MACA,UACA,mBACA,SACA,OACA,QACA,QACA,SACA,SACA,MACA,OACA,OACA,OACA,OACA,OACA,UACA,OACA,WACA,WACA,aACA,YACA,aACA,YACA,gBACA,mBACA,UACA,YACA,OACA,WACA,OACA,YACA,WACA,UACA,WACA,YACA,UACA,eACA,UACA,MAGF,EAGIC,GAAa,CAEf,UACA,aACA,UACA,SACA,UACA,OACA,QACA,YACA,UACA,UACA,WACA,WACA,cACA,SACA,aACA,UACA,cACA,eACA,gBACA,iBACA,MACA,OACA,MACA,SACA,MACA,MACA,MACA,YACA,QACA,WACA,eACA,kBACA,kBACA,OACA,aACA,eACA,MACA,SACA,aACA,cACA,UACA,SACA,YACA,MACA,cACA,OACA,cACA,WACA,UACA,WACA,MACA,OACA,UACA,cACA,cACA,OACA,OACA,QACA,YACA,MACA,kBACA,YACA,aACA,OACA,UACA,mBACA,cACA,MACA,eACA,eACA,gBACA,cACA,cACA,WACA,SACA,yBACA,YACA,gBACA,OACA,aACA,MACA,MACA,QACA,WACA,UACA,aACA,YACA,YACA,UACA,mBACA,gBACA,cACA,cACA,MACA,SACA,UACA,MACA,aACA,eACA,QACA,cACA,QACA,SACA,aACA,cACA,YACA,gBACA,WACA,WACA,MACA,SACA,QACA,SACA,eACA,eACA,aACA,oBACA,oBACA,eACA,gBACA,qBACA,aACA,gBACA,cACA,eACA,cACA,YACA,cACA,aACA,aACA,mBACA,sBACA,aACA,aACA,cACA,cACA,eACA,WACA,cACA,YACA,eACA,aACA,aACA,WACA,iBACA,QACA,QACA,SACA,UACA,KACA,YACA,SACA,MACA,QACA,OACA,QACA,OACA,cACA,QACA,eACA,WACA,WACA,WACA,mBACA,kBACA,MACA,YACA,aACA,MACA,OACA,MACA,eACA,MACA,aACA,cACA,KACA,MACA,QACA,QACA,eACA,iBACA,gBACA,UACA,OACA,oBACA,eACA,iBACA,UACA,QACA,OACA,cACA,QACA,eACA,cACA,MACA,OACA,OACA,OACA,MACA,QACA,UACA,QACA,OACA,SACA,cACA,gBACA,kBACA,UACA,WACA,MACA,WACA,cACA,cACA,YACA,UACA,UACA,aACA,QACA,aACA,sBACA,QACA,iBACA,YACA,QACA,OACA,aACA,UACA,UACA,aACA,0BACA,uBACA,4BACA,WAEA,WACA,QACF,EAGIC,GAAkBhF,EAAc,CAAC,uCAAuC,CAAC,EACzEiF,GAAmBjF,EAAc,CAEnC,mBACA,OACA,QACA,WACA,SACA,eACA,WACA,QACA,SACA,uBAGA,kEACA,0CACA,SACA,0BAEA,MAEA,WACF,CAAC,EACGkF,GAAkBlF,EAAc,CAElC,wDACA,yFAEA,iCAEA,8CAEA,qCAEA,4CACA,+BACA,yCACA,4BACA,cACA,gBACA,iBACA,uBAEA,4BAGA,mBAEA,iBACA,yBACA,cACA,iBACA,kBACA,eACA,uBACA,iBACA,eACA,aACA,aACA,UACA,gBACA,cACA,eACA,gBACA,QACA,SACA,cACA,OACA,mBACA,cACA,aACA,iBACA,SACA,4BACA,kBACA,eACA,kBACA,eACA,mBACA,cACA,kBACA,gBACA,uBACA,iBACA,sBACA,cACA,qBACA,WACA,gBACA,aACA,gBACA,aACA,eACA,iBACA,YACA,gBACA,cACA,eACA,YACA,YACA,UACA,UACA,QACA,kBACA,4BACA,QACA,UACA,OACA,iBACA,iBACA,OACA,mBACA,wBACA,kBACA,aACA,iBACA,UACA,oBACA,oBACA,oBACA,eACA,cACA,eACA,cACA,eACA,oBACA,gBACA,cACA,WACA,SACA,WACA,YACA,oBACA,mBACA,yBACA,YACA,eACA,WACA,gBACA,kBACA,OACA,2BACA,yBACA,eACA,mBACA,qBACA,qBACA,qBACA,yBACA,iBACA,eACA,oBACA,uBACA,oBACA,uBACA,sBACA,2BACA,wBACA,uBACA,oBACA,sBACA,mBACA,mBACA,iBACA,cACA,4BACA,eACA,cACA,cACA,eACA,qBACA,uBACA,cACA,aACA,eACA,wBACA,YACA,eACA,mBACA,qBACA,mBACA,yBACA,2BACA,sBACA,eACA,sBACA,kBACA,sBACA,wBACA,mBACA,eACA,gBACA,2BACA,uBACA,eACA,qBACA,sBACA,eACA,aACA,mBACA,oBACA,cACA,uBACA,oBACA,cACA,gBACA,uBACA,iBACA,gBACA,wBACA,oBACA,WACA,SACA,qBACA,mBACA,gBACA,cACA,oBACA,oBACA,kBACA,eACA,aACA,mBACA,mBACA,eACA,MACA,WACA,YACA,SACA,aACA,aACA,cACA,UACF,CAAC,EACGmF,GAAyBnF,EAAc,CACzC,yBACA,0BACA,6BACA,wBACF,CAAC,EACGoF,GAAiBpF,EAAc,CACjC,OACA,8BACA,uBACA,eACA,sCAEA,eACF,CAAC,EACGqF,GAAmBrF,EAAc,CACnC,gDACA,gBACA,yBACA,eACF,CAAC,EACGZ,GAAU,CACZ,KAAM,UACN,iBAAkB,CAChB,eAAgB4F,GAChB,gBAAiB,CAAC,GAAGC,GAAkB,GAAGC,EAAe,EACzD,sBAAuBC,GACvB,cAAeC,GACf,gBAAiBC,GACjB,YAAa,GACb,iBAAkBR,GAClB,kBAAmBC,GACnB,sBAAuBC,GAEvB,YAAa,CACX,WACA,WACA,CAAE,MAAO,SAAU,SAAU,CAAC,IAAK,GAAG,EAAG,cAAe,EAAM,CAC/D,EACD,WAAY,CAAC,IAAI,EACjB,WAAY,CAAE,MAAO,IAAK,KAAM,IAAK,qBAAsB,EAAM,EACjE,cAAe,CACb,CAAE,MAAO,oBAAsB,EAC/B,CAAE,MAAO,WAAY,SAAU,CAAC,GAAG,EAAG,cAAe,EAAM,EAC3D,CAAE,MAAO,WAAY,SAAU,CAAC,GAAG,EAAG,cAAe,EAAM,EAC3D,CAAE,MAAO,KAAM,SAAU,CAAC,GAAG,EAAG,cAAe,EAAM,CACtD,EACD,WAAY,CAAE,WAAY,EAAM,EAChC,iBAAkB,CAAC,KAAM,GAAG,EAC5B,UAAW,CACT,IACA,KACA,IACA,IACA,IACA,IACA,KACA,KACA,MACA,KACA,KACA,IACA,KAED,EACD,YAAaJ,EACd,EACD,cAAe,CACb,eAAgBO,EACjB,CACH,EAGII,GAAY,CAEd,aAEA,MAEA,MAEA,QAEA,UAEA,MAEA,KAEA,MAEA,aAEA,SAEA,UAEA,OAEA,KAEA,OAEA,UAEA,OAEA,SAEA,QAEA,UAEA,SAEA,YAEA,aAEA,WAEA,UAEA,SAEA,QAEA,OAEA,YAEA,eAEA,eAEA,oBAEA,eAEA,SAEA,WAEA,YAEA,WAEA,kBAEA,aAEA,aAEA,UAEA,UAEA,UAEA,SAEA,aAEA,OAEA,WAEA,gBAEA,WAEA,cAEA,MAEA,OAEA,OAEA,OAEA,OAEA,SAEA,QAEA,WAEA,UAEA,SAEA,SAEA,OAEA,UAEA,QAEA,QAEA,cAEA,MAEA,QAEA,UAEA,OAEA,WAEA,WAEA,YAEA,MAEA,QAEA,QAEA,WAEA,SAEA,SAEA,gBAEA,mBAEA,cAEA,cAEA,KAEA,SAEA,KAEA,QAEA,SAEA,QAEA,QAEA,cAEA,SAEA,KAEA,YAEA,WAEA,OAEA,iBAEA,kBAEA,KAEA,UAEA,OAEA,aAEA,MAEA,OAEA,OAEA,MAEA,aAEA,UAEA,OAEA,UAEA,QAEA,OAEA,OAEA,QAEA,SAEA,QAEA,OAEA,YAEA,iBAEA,OAEA,OAEA,OAEA,eAEA,cAEA,gCAEA,QAEA,WAEA,qBAEA,gBAEA,MAEA,WAEA,UAEA,MAEA,qBAEA,YAEA,QAEA,OAEA,KAEA,KAEA,WAEA,kBAEA,SAEA,aAEA,KAEA,QAEA,MAEA,QAEA,UAEA,OAEA,YAEA,eAEA,UAEA,YAEA,QAEA,QAEA,OAEA,OAEA,QAEA,aAEA,YAEA,aAEA,SAEA,UAEA,SAEA,SAEA,UAEA,UAEA,WAEA,WAEA,SAEA,SAEA,QAEA,QAEA,MAEA,OAEA,aAEA,SAEA,UAEA,qBAEA,SAEA,YAEA,YAEA,MAEA,OAEA,SAEA,UAEA,WAEA,MAEA,eAEA,WAEA,aAEA,iBAEA,sBAEA,mBAEA,MAEA,WAEA,SAEA,gBAEA,SAEA,QAEA,aAEA,OAEA,KAEA,WAEA,UAEA,OAEA,OAEA,QAEA,SAEA,SAEA,WAEA,SAEA,QAEA,MAEA,QAEA,WAEA,WAEA,gBAEA,SAEA,UAEA,OAEA,QAEA,QAEA,SAEA,OAEA,QAEA,MAEA,aAEA,UAEF,EACIC,GAAa,CAEf,SAEA,SAEA,MACA,OAEA,OAEA,UAEA,OAEA,YAEA,OAEA,WAEA,MAEA,UAEA,mBACA,SAEA,OACA,QACA,QAEA,SAEA,SAEA,MAEA,OAEA,OAEA,OAEA,OAEA,OAEA,UAEA,WAEA,WAEA,aAEA,YAEA,aAEA,YAEA,gBAEA,mBAEA,UAEA,YAEA,OAEA,WAEA,OACA,OACA,YAEA,WAEA,UAEA,WAEA,YAEA,UAEA,eAEA,UAEA,MAEF,EAGIC,GAAa,CAEf,MACA,OACA,UACA,UACA,cACA,cAEA,YACA,QACA,OACA,OACA,QACA,MACA,YACA,MACA,cACA,SACA,UACA,YACA,aACA,SACA,UACA,oBACA,sBACA,mBACA,kBACA,kBACA,OACA,OACA,UACA,OACA,cACA,mBACA,UACA,WACA,eACA,YACA,WACA,SACA,YACA,gBACA,OACA,UACA,aACA,MACA,MACA,QACA,QACA,YACA,UACA,eACA,eACA,eACA,oBACA,eACA,UACA,WACA,OACA,WACA,cACA,WACA,WACA,MACA,UACA,aACA,YACA,YACA,UACA,UACA,aACA,MACA,MACA,MACA,aACA,UACA,eACA,QACA,cACA,cACA,QACA,SACA,eACA,mBACA,aACA,cACA,YACA,gBACA,iBACA,qBACA,2BACA,wBACA,+BACA,aACA,WACA,WACA,eACA,WACA,cACA,gBACA,MACA,OACA,cACA,KACA,SAEA,YACA,YACA,aACA,aACA,SACA,QACA,0BACA,0BACA,sBACA,oBACA,qBACA,uBACA,0BACA,gCACA,iCACA,wBACA,wBACA,qCACA,oCACA,wBACA,2BACA,6BACA,yBACA,2BACA,sBACA,uBACA,WACA,KACA,eACA,UACA,iBACA,iBACA,UACA,SACA,cACA,UACA,eACA,UACA,SACA,aACA,oBACA,oBACA,gBACA,gBACA,qBACA,aACA,eACA,cACA,YACA,cACA,aACA,mBACA,sBACA,cACA,iBACA,gBACA,cACA,aACA,cACA,eACA,oBACA,gCACA,cACA,WACA,oBACA,oBACA,aACA,YACA,eACA,aACA,aACA,MACA,WACA,iBACA,aACA,QACA,OACA,QACA,OACA,SACA,OACA,aACA,KACA,YACA,YACA,iBACA,SACA,MACA,QACA,OACA,QACA,OACA,QACA,WACA,WACA,WACA,kBACA,QACA,MACA,cACA,eACA,YACA,cACA,YACA,gBACA,cACA,aACA,YACA,MACA,YACA,cACA,MACA,MACA,SACA,MACA,QACA,YACA,kBACA,aACA,eACA,aACA,MACA,SACA,WACA,aACA,MACA,YACA,QACA,SACA,MACA,eAEA,MACA,eACA,aACA,cACA,KACA,QACA,UACA,WACA,MACA,QACA,uBACA,eACA,UACA,QACA,UACA,OACA,eACA,OACA,SACA,eACA,cACA,iBACA,gBACA,oBACA,eACA,SACA,UACA,UACA,QACA,QACA,gBACA,QACA,YACA,aACA,OACA,QACA,SACA,cACA,SACA,eACA,OACA,OACA,OACA,MACA,QACA,UACA,cACA,kBACA,QACA,OACA,UACA,cACA,eACA,YACA,YACA,qBACA,cACA,aACA,cACA,gBACA,aACA,gBACA,eACA,cACA,cACA,qBACA,cACA,cACA,YACA,kBACA,qBACA,aACA,sBACA,qBACA,eACA,kBACA,qBACA,kBACA,iBACA,uBACA,mBACA,kBACA,gBACA,cACA,aACA,cACA,aACA,oBACA,cACA,YACA,kBACA,iBACA,0BACA,2BACA,qBACA,eACA,kBACA,mBACA,kBACA,oBACA,mBACA,mBACA,kBACA,mBACA,qBACA,eACA,cACA,qBACA,sBACA,mBACA,kBACA,YACA,kBACA,iBACA,cACA,UACA,gBACA,YACA,mBACA,aACA,eACA,WACA,cACA,YACA,OACA,OACA,mBACA,wBACA,MACA,SACA,aACA,cACA,cACA,SACA,UACA,SACA,YACA,kBACA,UACA,MACA,UACA,cACA,MACA,OACA,cACA,cACA,WACA,YACA,eACA,gBACA,YACA,UACA,aACA,OACA,WACA,QACA,aACA,sBACA,QACA,iBACA,YACA,QAEA,WACA,WACA,gBACA,OACA,aACA,cACA,6BACA,SACA,UACA,WACA,WACA,UACA,6BACA,oCACA,OACA,UACA,aACA,gBAEA,OACA,UACF,EAGIC,GAAkBzF,EAAc,CAAC,uCAAuC,CAAC,EACzE0F,GAAmB1F,EAAc,CAEnC,mBACA,OACA,QACA,WACA,SACA,SACA,eACA,WACA,QACA,SAGA,kEACA,0CACA,SACA,0BAEA,KACF,CAAC,EACG2F,GAAkB3F,EAAc,CAElC,2CACA,yFAEA,iCAEA,8CAEA,qCAEA,cACA,eACA,6BACA,gBACA,mBACA,gBACA,iBACA,uBAGA,mBAEA,iBACA,cACA,iBACA,iBACA,sBACA,kBACA,uBACA,eACA,mBACA,aACA,aACA,gBACA,SACA,cACA,OACA,mBACA,4BACA,+BACA,cACA,iBACA,QACA,SACA,kBACA,eACA,kBACA,kBACA,eACA,uBACA,mBACA,wBACA,cACA,gBACA,kCACA,oBACA,iBACA,cACA,qBACA,WACA,gBACA,aACA,gBACA,gBACA,aACA,qBACA,iBACA,sBACA,YACA,cACA,gCACA,kBACA,eACA,YACA,YACA,UACA,UACA,QACA,QACA,UACA,OACA,eACA,oBACA,iBACA,OACA,YACA,wBACA,WACA,2BACA,cACA,kBACA,iBACA,UACA,oBACA,oBACA,eACA,cACA,eACA,QACA,eACA,gBACA,gBACA,cACA,UACA,SACA,WACA,wBACA,YACA,oBACA,mBACA,YACA,eACA,qBACA,WACA,kBACA,OACA,mBACA,qBACA,qBACA,iBACA,eACA,uBACA,oBACA,uBACA,wBACA,oBACA,sBACA,mBACA,mBACA,iBACA,cACA,eACA,cACA,cACA,qBACA,uBACA,cACA,aACA,qBACA,mBACA,eACA,kBACA,sBACA,wBACA,mBACA,eACA,gBACA,uBACA,sBACA,gBACA,aACA,mBACA,cACA,oBACA,cACA,gBACA,iBACA,gBACA,WACA,kBACA,0BACA,gBACA,cACA,oBACA,yBACA,eACA,aACA,QACA,sBACA,mBACA,kBACA,gBACA,MACA,KAGA,UACA,QACA,OACA,SACA,SACA,OACF,CAAC,EACG4F,GAAyB5F,EAAc,CAAC,wBAAwB,CAAC,EACjE6F,GAAiB7F,EAAc,CACjC,OACA,8BACA,uBACA,uBACA,sCAEA,eACF,CAAC,EACG8F,GAAmB9F,EAAc,CACnC,kCACA,gBACA,yBACA,eACF,CAAC,EACGX,GAAQ,CACV,KAAM,QACN,iBAAkB,CAChB,eAAgBoG,GAChB,gBAAiB,CAAC,GAAGC,GAAkB,GAAGC,EAAe,EACzD,sBAAuBC,GACvB,cAAeC,GACf,gBAAiBC,GACjB,YAAa,GACb,iBAAkBR,GAClB,kBAAmBC,GACnB,sBAAuBC,GAEvB,YAAa,CACX,WACA,CAAE,MAAO,WAAY,SAAU,CAAC,GAAG,CAAG,EACtC,CAAE,MAAO,SAAU,SAAU,CAAC,IAAK,GAAG,EAAG,cAAe,EAAM,CAC/D,EACD,WAAY,CAAC,IAAI,EACjB,WAAY,CAAE,MAAO,IAAK,KAAM,IAAK,qBAAsB,EAAM,EACjE,cAAe,CACb,CAAE,MAAO,oBAAsB,EAC/B,CAAE,MAAO,WAAY,SAAU,CAAC,GAAG,EAAG,cAAe,EAAM,EAC3D,CAAE,MAAO,WAAY,SAAU,CAAC,GAAG,EAAG,cAAe,EAAM,EAC3D,CAAE,MAAO,KAAM,SAAU,CAAC,GAAG,EAAG,cAAe,EAAM,CACtD,EACD,WAAY,CAAE,WAAY,EAAM,EAChC,iBAAkB,CAAC,KAAM,GAAG,EAC5B,UAAW,CACT,IACA,KACA,IACA,IACA,IACA,IACA,KACA,KACA,MACA,KACA,MACA,KACA,KACA,IACA,KAED,EACD,YAAab,EACd,EACD,cAAe,CACb,eAAgBgB,EACjB,CACH,EAGII,GAAa,CAEf,QACA,MACA,OACA,UACA,YACA,YACA,eACA,YACA,sBACA,eACA,iBACA,cACA,iBACA,eACA,gBACA,eACA,eACA,kBACA,eACA,YACA,YACA,aACA,iBACA,gBACA,YACA,cACA,eACA,eACA,gBACA,gBACA,aACA,aACA,YACA,gBACA,iBACA,iBACA,cACA,OACA,OACA,QACA,MACA,SACA,gBACA,gBACA,UACA,YACA,UACA,SACA,UACA,YACA,WACA,UACA,OACA,cACA,eACA,YACA,WACA,YACA,WACA,SACA,UACA,WACA,iBACA,sBACA,wBACA,MACA,QACA,QACA,SACA,YACA,OACA,kBACA,eACA,mBACA,gBACA,kBACA,mBACA,gBACA,oBACA,iBACA,oBACA,iBACA,SACA,cACA,UACA,aACA,kBAEA,eACA,cACA,MACA,cACA,QACA,WACA,YACA,QACA,YACA,kBACA,QACA,aACA,SACA,UACA,UACA,SACA,WACA,YACA,WACA,WACA,WACA,MACA,aACA,OACA,QACA,SACA,KACA,MACA,QACA,QACA,MACA,OACA,SACA,OACA,SACA,kBACA,gBACA,eACA,gBACA,sBACA,MACA,YACA,QACA,WACA,YACA,aACA,UACA,SACA,UACA,YACA,QACA,SACA,MACA,OACA,aACA,gBACA,qBACA,sBACA,gBACA,eACA,eACA,aACA,gBACA,gBACA,iBACA,gBACA,gBACA,QACA,eACA,KACA,cACA,WACA,WACA,QACA,UACA,SACA,OACA,kBACA,kBACA,cACA,iBACA,kBACA,iBACA,eACA,iBACA,aACA,gBACA,iBACA,gBACA,cACA,SACA,UACA,UACA,QACA,aACA,QACA,SACA,cACA,eACA,OACA,MACA,QACA,OACA,SACA,aACA,cACA,kBACA,gBACA,YACA,aACA,mBACA,SACA,WACA,MACA,MACA,QACA,UACA,SACA,YACA,SACA,SACA,WACA,WACA,WACA,OACA,QAEA,QACA,OACA,WACA,eACA,gBACA,UACA,WACA,iBACA,cAIA,MACF,EAGIC,GAAY,CAEd,SACA,MACA,QACA,UACA,MACA,MACA,QACA,KACA,MACA,KACA,QACA,UACA,SACA,UACA,QACA,SACA,QACA,KACA,OACA,OACA,OACA,UACA,UACA,aACA,SACA,YACA,UACA,WACA,aACA,QACA,SACA,UACA,WACA,UACA,YACA,UACA,YACA,SACA,UACA,OACA,WACA,WACA,KACA,OACA,OACA,UACA,OACA,MACA,QACA,SACA,UACA,UACA,SACA,UACA,QACA,QACA,SACA,QACA,UACA,QACA,YACA,MACA,QACA,OACA,MACA,WACA,SACA,QACA,QACA,SACA,MACA,OACA,SACA,KACA,SACA,QACA,KACA,UACA,YACA,QACA,QACA,SACA,QACA,SACA,YACA,OACA,KACA,YACA,aACA,OACA,MACA,OACA,WACA,QACA,WACA,OACA,OACA,MACA,UACA,QACA,OACA,QACA,MACA,MACA,UACA,UACA,eACA,QACA,QACA,UACA,YACA,OACA,KACA,KACA,MACA,YACA,OACA,QACA,SACA,SACA,SACA,KACA,SACA,UACA,KACA,QACA,SACA,QACA,OACA,QACA,YACA,WACA,OACA,OACA,YACA,UACA,UACA,UACA,YACA,QACA,YACA,SACA,QACA,MACA,QACA,SACA,SACA,UACA,SACA,YACA,SACA,QACA,OACA,WACA,MACA,OACA,YACA,YACA,SACA,QACA,SACA,OACA,OACA,MACA,OACA,OACA,QACA,aACA,SACA,SACA,OACA,OACA,KACA,OACA,cACA,UACA,OACA,WACA,YACA,QACA,QACA,SACA,UACA,SACA,QACA,SACA,SACA,MACA,OACA,QACA,WACA,QACA,SACA,SACA,MACA,OACA,OACA,QACA,QACA,SACA,OACA,SACA,OACA,KACF,EACIC,GAAa,CASjB,EAGIC,GAAkBlG,EAAc,CAAC,yBAAyB,CAAC,EAC3DmG,GAAmBnG,EAAc,CAEnC,OACA,OACA,QACA,WACA,SACA,SACA,eACA,WACA,QACA,SAGA,cACA,SAEA,MAEA,aACA,0BACA,aACA,SAEA,OACA,SACA,WACF,CAAC,EACGoG,GAAkBpG,EAAc,CAElC,SAEA,cAEA,aAEA,SACA,cACA,oBACA,cACA,qBACA,oBACA,kBACA,eACA,uBACA,eACA,kBACA,gBACA,aACA,qBACA,aACA,UACA,mBACA,UACA,QACA,QACA,UACA,SACA,uBACA,YACA,kBACA,oBACA,SAEA,MACA,qBACA,OACA,oBACF,CAAC,EACGqG,GAAyBrG,EAAc,CAAC,cAAe,eAAgB,iBAAiB,CAAC,EACzFsG,GAAiBtG,EAAc,CAAC,OAAQ,8BAA+B,YAAY,CAAC,EACpFuG,GAAmBvG,EAAc,CAAC,iCAAiC,CAAC,EACpEV,GAAO,CACT,KAAM,OACN,iBAAkB,CAChB,eAAgB4G,GAChB,gBAAiB,CAAC,GAAGC,GAAkB,GAAGC,EAAe,EACzD,sBAAuBC,GACvB,cAAeC,GACf,gBAAiBC,GACjB,YAAa,GACb,iBAAkBP,GAClB,kBAAmBC,GACnB,sBAAuBF,GAIvB,YAAa,CAAC,QAAS,OAAO,EAC9B,WAAY,CAAC,IAAI,EACjB,YAAa,CAAC,KAAM,IAAI,EACxB,WAAY,CAAE,WAAY,GAAM,SAAU,CAAC,GAAG,EAAG,MAAO,CAAC,GAAG,CAAG,EAC/D,iBAAkB,CAAC,IAAK,IAAI,EAC5B,UAAW,CAAC,IAAK,KAAM,IAAK,IAAI,CACjC,EACD,cAAe,CACb,eAAgBK,EACjB,CACH,EAGII,GAAY,CAGd,MACA,QACA,YACA,MACA,QACA,MACA,MACA,QACA,KACA,MACA,KACA,YACA,SACA,MACA,QACA,UACA,QACA,OACA,OACA,QACA,OACA,KACA,OAEA,OACA,UACA,UACA,OACA,UACA,cACA,YACA,QACA,QACA,UACA,WACA,UACA,UACA,UACA,UACA,SACA,YACA,WACA,WACA,UACA,WACA,cACA,UACA,UACA,QACA,QACA,SACA,UACA,SACA,cACA,WACA,OACA,MACA,UACA,UACA,SACA,SACA,OACA,gBACA,WACA,OACA,WACA,UACA,OACA,QACA,QACA,MACA,SACA,SACA,YACA,aACA,YACA,UACA,SACA,OACA,WACA,QACA,QACA,QACA,MACA,SACA,QACA,OACA,OACA,WACA,UACA,OACA,QACA,QACA,OACA,SACA,OACA,SACA,OACA,aACA,KACA,YACA,KACA,YACA,QACA,UACA,YACA,UACA,WACA,SACA,eACA,YACA,YACA,WACA,OACA,aACA,KACA,YACA,OACA,WACA,QACA,UACA,SACA,QACA,UACA,OACA,QACA,QACA,QACA,QACA,UACA,QACA,OACA,OACA,MACA,MACA,SACA,SACA,QACA,MACA,QACA,SACA,MACA,OACA,SACA,QACA,WACA,OACA,MACA,WACA,SACA,MACA,aACA,SACA,MACA,SACA,OACA,SACA,UACA,UACA,cACA,cACA,cACA,gBACA,YACA,SACA,SACA,eACA,WACA,YACA,UACA,KACA,KACA,OACA,SACA,OACA,WACA,SACA,KACA,SACA,UACA,QACA,WACA,eACA,SACA,UACA,SACA,MACA,aACA,UACA,kBACA,YACA,aACA,YACA,SACA,OACA,YACA,SACA,QACA,UACA,YACA,SACA,QACA,QACA,OACA,SACA,MACA,YACA,MACA,YACA,SACA,WACA,SACA,SACA,YACA,UACA,SACA,WACA,MACA,SACA,OACA,YACA,MACA,MACA,MACA,SACA,UACA,SACA,OACA,WACA,WACA,eACA,MACA,QACA,QACA,OACA,SACA,OACA,SACA,MACA,UACA,UACA,UACA,WACA,WACA,QACA,SACA,SACA,SACA,SACA,SACA,QACA,cACA,eACA,gBACA,UACA,MACA,UACA,UACA,QACA,MACA,MACA,OACA,OACA,gBACA,gBACA,kBACA,kBACA,KACA,WACA,UACA,gBACA,UACA,OACA,MACA,MACA,MACA,QACA,QACA,SACA,WACA,YACA,SACA,MACA,QACA,SACA,QACA,SACA,WACA,WACA,SACA,OACA,QACA,OACA,OACA,QACA,QACA,OACA,OACA,UACA,QACA,OACA,MACF,EACIC,GAAa,CAEf,QACA,aACA,SACA,YACA,eACA,YACA,OACA,oBACA,YACA,YACA,YACA,OACA,UACA,SACA,QACA,MACA,eACA,gBACA,OACA,wBACA,gBACA,6BACA,qBACA,gBACA,QACA,QACA,cACA,SACA,WACA,WACA,YACA,MACA,YACA,SACA,UACA,UACF,EAGIC,GAAa,CAGf,MACA,OACA,OACA,OACA,QACA,SACA,OACA,MACA,OACA,MACA,QACA,KACA,MACA,MACA,QACA,QACA,YACA,QACA,OACA,MACA,OACA,OACA,MACA,OACA,QACA,eAEA,MACA,SACA,UACA,QACA,OACA,QACA,cACA,YACA,UACA,YACA,iBACA,gBACA,UACA,OACA,QACA,UACA,SACA,YACA,QACA,OACA,QACA,uBACA,iBACA,mBACA,QACA,QACA,SACA,eAEA,aACA,eACA,oBACA,aACA,UACA,UACA,WACA,iBACA,iBACA,WACA,WACA,kBACA,kBACA,QACA,kBACA,kBACA,UACA,eACA,UACA,eACA,kBACA,gBACA,gBACA,QACA,YAEA,WACA,QAEA,WACA,aACA,OACA,cACA,UACA,UACA,YACA,WACA,kBACA,kBACA,WACA,YACA,cACA,eACA,mBACA,mBACA,mBACA,kBACA,UACA,UACA,UACA,gBACA,SACA,gBACA,WACA,WACA,YACA,gBACA,iBACA,eACA,kBACA,gBACA,gBACA,YACA,SAEA,YACA,cACA,aAEA,cACA,UACA,gBACA,+BACA,MAEA,sBAEA,aACA,sBACA,cACA,aACA,cACA,gBACA,aACA,kBACA,qBACA,yBACA,iBAEA,iBACA,YACA,QACA,UACA,aACA,eACA,iBACA,kBACA,OACA,eACA,aACA,aACA,YACA,SACA,WACA,eACA,aACA,YACA,YACA,WACA,QACA,WACA,UACA,cACA,eACA,WACA,eAEA,SACA,OACA,WACA,QAEA,WACA,QACA,SACA,MACA,OAEA,cACA,WACA,aACA,MACA,OACA,UAEA,MACA,UACA,OACA,SACA,SACA,QACA,YACA,aACA,YACA,aACA,QACA,WACA,WACA,cACA,OACA,MACA,SACA,MACA,kBACA,kBACA,eACA,OACA,aACA,iBACA,aACA,UACA,YACA,YACA,WACA,WACA,WACA,sBACA,iBACA,eACA,gBACA,aACA,gBACA,sBACA,mBACA,sBACA,qBACA,sBACA,iBACA,SACA,aACA,cACA,MACA,UACA,WACA,WAGA,cACA,MACA,aACA,OACA,QACA,kBACA,aAEA,QACA,WACA,MACA,WACA,QAEA,KACA,mBACA,aACA,WACA,UACF,EAGIC,GAAkB3G,EAAc,CAAC,kCAAkC,CAAC,EACpE4G,GAAmB5G,EAAc,CAEnC,OACA,OACA,QACA,WACA,SACA,eACA,sBACA,SACA,uBACA,kBAGA,2BACA,SAEA,MAEA,eACA,4BACA,aAEA,WACF,CAAC,EACG6G,GAAkB7G,EAAc,CAElC,6HACA,mHACA,2BAEA,gBAEA,qBAEA,aAEA,cACA,MACA,oDACA,SACA,YACA,gBAEA,iBAEA,aACA,QACA,aACA,UACA,SACA,YACA,OACA,YACF,CAAC,EACG8G,GAAyB9G,EAAc,CAAC,cAAe,SAAU,WAAW,CAAC,EAC7E+G,GAAiB/G,EAAc,CACjC,OACA,qCACA,uBACA,uBACA,6CAEA,uBACF,CAAC,EACGgH,GAAmBhH,EAAc,CACnC,kCACA,YACA,wBACF,CAAC,EACGT,GAAQ,CACV,KAAM,QACN,iBAAkB,CAChB,eAAgBoH,GAChB,gBAAiB,CAAC,GAAGC,GAAkB,GAAGC,EAAe,EACzD,sBAAuBC,GACvB,cAAeC,GACf,gBAAiBC,GACjB,YAAa,GACb,iBAAkBR,GAClB,kBAAmBC,GACnB,sBAAuBC,GACvB,YAAa,CACX,CAAE,MAAO,QAAS,SAAU,CAAC,GAAG,CAAG,EACnC,CAAE,MAAO,MAAO,SAAU,CAAC,GAAG,CAAG,CAClC,EAID,WAAY,CAAC,OAAO,EACpB,WAAY,CAAE,KAAM,IAAM,EAC1B,cAAe,CAAC,CAAE,MAAO,gCAAiC,EAC1D,WAAY,CAAE,SAAU,CAAC,GAAG,EAAG,MAAO,CAAC,GAAG,CAAG,EAC7C,WAAY,CAAE,EAEd,UAAW,CACT,KACA,KACA,IACA,KACA,KAEA,KACA,KACA,KACA,IACA,IACD,EACD,YAAaO,EACd,EACD,cAAe,CACb,qBAAsB,CAAC,GAAG,EAC1B,eAAgBJ,EACjB,CACH,EACA,SAASI,GAAa3E,EAAQ,CAC5B,IAAI4E,EAAwB5F,GAC5B,OAAOgB,EAAO,IAAKpG,GACbuF,GAAQ,IAAIvF,CAAK,GAAKuF,GAAQ,GAAGyF,CAAqB,EACjDxI,GAAcD,GAAe,GAAIvC,CAAK,EAAG,CAAE,KAAM,kBAAkB,CAAyB,GAEjGwF,GAAWxF,EAAM,IAAI,IACvBgL,EAAwBhL,GAEnBA,EACR,CACH,CAGA,IAAIiL,GAAa,CAIf,MACA,OACA,QACA,QACA,OACA,QACA,QACA,OACA,QACA,SACA,QACA,QACA,OACA,OACA,UACA,MACA,OACA,OACA,MACA,OACA,UACA,MACA,MACA,YACA,QACA,MACA,MACA,KACA,MACA,QACA,YACA,MACA,KACA,QACA,UACA,SACA,QACA,QACA,UACA,OACA,MACA,OACA,OACA,OACA,MACA,OACA,OACA,aACA,QACA,eAEA,MACA,QACA,aACA,QACA,mBACA,cACA,MACA,SACA,YACA,SACA,UACA,OACA,SACA,QACA,OACA,QACA,MACA,YACA,eACA,UACA,cACA,qBACA,WACA,cACA,gBACA,iBACA,eACA,iBACA,iBACA,wBACA,wBACA,SACA,UACA,UACA,QACA,OACA,QACA,aACA,UACA,cACA,aACA,kBACA,kBACA,SACA,SACA,YACA,WACA,SACA,YACA,OACA,SACA,QAEA,YACA,aACA,QACA,UACA,eACA,aACA,SACA,SACA,UACA,WACA,SACA,QACA,MACA,eACA,UACA,WACA,QACA,UACA,WACA,SACA,SACA,SACA,SACA,aACA,SACA,YACA,OAEA,YACA,aACA,UACA,SACA,eACA,UACA,WACA,UACA,YAEA,eACA,iBACA,iBACA,wBACA,wBAEA,UACA,UACA,YACA,eAGA,kBACA,eACA,eACA,oBACA,WACA,YACA,aACA,UACA,WACA,eACA,gBACA,mBACA,YACA,iBACA,YACA,gBACA,YACA,iBACA,mBACA,MACA,WACA,eACA,iBACA,sBACA,YACA,eACA,wBAEA,aACA,YACA,aAEA,OACA,YACA,MACA,SACA,SACA,WACA,WACA,SACA,WACA,SACA,SACA,OACA,OACA,UACA,OACA,SACA,QACA,UACA,QACA,SACA,QACA,QAEA,SACA,YACA,SACA,OACA,WACA,aACA,mBACA,mBACA,UACA,UACA,UACA,cACA,OACA,QAEA,oBACA,wBACA,oBACA,mBACA,SACA,UACA,mBACA,kBACA,YACA,YACA,QACA,aACA,cACA,iBACA,oBACA,WACA,YACA,YACA,cACA,YACA,WACA,UACA,aACA,aACA,UACA,gBACA,uBAEA,OAEA,gBACA,sBACA,kBACA,wBACA,gCACA,UACA,eACA,qBACA,6BACA,gBACA,sBACA,8BACA,SACA,eACA,qBACA,6BACA,SACA,aACA,YACA,aACA,YACA,YACA,WACA,QACA,UACA,eACA,WACA,qBACA,6BACA,8BACA,QACA,eAEA,gBACA,YACA,uBACA,4BACA,qBACA,oBACA,qBACA,aACA,kBACA,qBACA,0BACA,eACA,eACA,mBACA,oBACA,oBACA,uBACA,mBACA,sBACA,mBACA,yBACA,4BACA,yBACA,4BACA,sBACA,wBACA,2BACA,eACA,YACA,gBACA,oBACA,kBACA,qBACA,eACA,WACA,sBACA,2BACA,oBACA,mBACA,oBACA,YACA,iBACA,oBACA,yBACA,cACA,kBACA,mBACA,uBACA,0BACA,mBACA,iBACA,oBACA,cACA,cACA,UACA,WACA,eAEA,UACA,UACA,UACA,SAGA,WACA,WACA,QACA,SAEA,YACA,eACA,YACA,aACA,aACA,eACA,cACA,cACA,iBACA,kBACA,gBACA,eACA,gBACA,kBACA,cACA,cACA,kBACA,aACA,SAEA,UACA,QACA,YACA,YACA,aACA,cACA,QACA,YACA,YAGA,YACA,MACA,UACA,SACA,UACA,WACA,UACA,WACA,OACA,QACA,YACA,aACA,YACA,aACA,QACA,WACA,YACA,mBACA,WACA,kBACA,MACA,MACA,OACA,kBACA,kBACA,eACA,YACA,sBACA,OACA,YACA,YACA,aACA,iBACA,UACA,aACA,WACA,WACA,WAEA,SACA,aACA,cACA,aACA,MACA,UACA,WACA,WACA,UACA,WACA,SAEA,YACA,aACA,cACA,MACA,aACA,OACA,YACA,QACA,eACA,OACA,aAEA,kBACA,sBAEA,aACA,aACA,kBACA,kBACA,mBACA,gBACA,eACA,iBACA,kBACA,eACA,cACA,2BACA,uBACA,yBACA,qCACA,yBACA,yBACA,uBACA,yBACA,uBACA,2BACA,sBACA,qBACA,mBACA,mBACA,mBACA,mBACA,cACA,kBACA,iBACA,mBACA,0BACA,oBACA,wBACA,kBACA,oBACA,2BACA,qBACA,sBACA,qBACA,iCACA,qBACA,yBACA,8BACA,uBACA,cACA,qBACA,4BACA,qCACA,yBACA,kBACA,kBACA,wBACA,wBACA,iBACA,yBACA,0BACA,oBACA,kBACA,iBACA,cACA,qBACA,gCACA,0BACA,+BACA,wBACA,0BACA,mBACA,yBACA,wBACA,oBACA,8BACA,wBACA,yBACA,yBACA,sBACA,2BACA,iCACA,kBACA,mBACA,mBACA,+BACA,0BACA,yBACA,sBACA,mBACA,0BACA,wBACA,0BACA,4BACA,YACA,qBACA,yBACA,2BACA,kCACA,iBACA,kBACA,sBACA,eACA,oBACA,cACA,kBACA,kBACA,aACA,iBACA,aACA,kBACA,aACA,aACA,eACA,2BACA,wBACA,oBACA,qBACA,qBACA,cACA,2BACA,OACA,UAEA,yBACA,4BACA,uBACA,eACA,kBACA,yBACA,mBACA,0BACA,qBACA,yBACA,4BACA,wBACA,+BACA,uBACA,oBACA,8BACA,wBACA,iBACA,mCACA,oCACA,qCACA,sCACA,0BACA,2BACA,4BACA,qBACA,mBACA,2BACA,qBACA,uBACA,gCACA,8BACA,kBACA,kBACA,oBACA,0BACA,0BACA,yBACA,gCACA,0BACA,qCACA,8BACA,sCACA,+BACA,iCACA,0BACA,YACA,eACA,eACA,eACA,yBACA,oBACA,oBACA,aACA,sBACA,eACA,uBACA,uBACA,mBACA,iBACA,gCACA,+BACA,6BACA,4BACA,iCACA,yCACA,yCACA,sCACA,sCACA,mCACA,mCACA,8BACA,oBACA,gBACA,iBACA,kBACA,eACA,iBACA,gBACA,qBACA,gBACA,uBACA,yBACA,uBACA,8BACA,4BACA,mCACA,kBACA,yBACA,kBACA,sBACA,uBACA,aAEA,qCACA,0BACA,iCAEA,gCACA,mCACA,qCACA,wCACA,wBAEA,oBAEA,MACF,EAGIC,GAAY,CAEd,QACA,WACA,SACA,SACA,MACA,QACA,QACA,YACA,MAEA,OACA,QACA,SACA,UAEA,UAEA,MAEA,MAEA,KAEA,MAEA,aACA,YACA,aACA,aAEA,KACA,SACA,SACA,YACA,gBAEA,WACA,SACA,QACA,UAEA,SAEA,OAEA,UACA,KACA,QACA,OACA,SACA,UACA,WACA,OAEA,OAEA,UACA,QACA,kBACA,QAEA,aACA,QACA,QACA,UACA,WAEA,UAEA,YAEA,SAEA,UACA,UACA,WACA,SACA,YACA,cACA,eAEA,gBACA,WACA,aACA,aAEA,cACA,UACA,WACA,aACA,OACA,OACA,SAEA,QAEA,MACA,OACA,UACA,kBAEA,eAEA,eAEA,iBAEA,eAEA,oBAEA,eAEA,SACA,QACA,OACA,WACA,MAEA,aACA,MAEA,UACA,UAEA,WACA,aAEA,WACA,UACA,SACA,YACA,aACA,UACA,QACA,OAEA,SACA,aACA,UACA,UACA,WAEA,KAEA,WACA,SACA,OACA,OACA,OAEA,SACA,WACA,YACA,MAEA,OACA,SACA,QACA,SAEA,UACA,YACA,YACA,UACA,SAEA,UACA,aACA,YACA,WACA,UAEA,QAEA,SACA,QAEA,SAEA,WACA,QACA,YACA,MAEA,QACA,UAEA,UACA,SAEA,OAEA,OAEA,WACA,YACA,YACA,SACA,QAEA,UACA,WAEA,QAEA,WAEA,SACA,UACA,SAEA,SACA,OACA,OAEA,WACA,KACA,QAEA,YACA,YACA,WACA,SACA,KAEA,UACA,YACA,YACA,QACA,UACA,UACA,WACA,YAEA,SACA,QAEA,QAEA,QACA,cACA,SACA,UACA,YAEA,OAEA,UACA,KAEA,SAEA,YACA,OAEA,MACA,WACA,QACA,OACA,UAEA,UAEA,YACA,QAEA,OAEA,QACA,OAEA,QAEA,SACA,OACA,QACA,YAEA,iBAEA,OACA,SACA,SACA,UACA,QACA,eACA,WACA,SACA,SAEA,WACA,OACA,QAEA,OACA,WAEA,UAEA,QAEA,MACA,OACA,MACA,MACA,OACA,OACA,KACA,OAEA,YAEA,aACA,MAEA,UACA,SACA,UAEA,SACA,OAEA,SAEA,QACA,SACA,KACA,MACA,SAEA,OACA,MACA,KAEA,OAEA,WACA,SACA,UACA,KAEA,QAEA,aACA,SACA,MAEA,QAEA,OAEA,WAEA,UAEA,aACA,QACA,QACA,WACA,SACA,UACA,YACA,UACA,WACA,UAEA,QACA,SACA,WAEA,YACA,UACA,WACA,WACA,UAEA,QACA,aACA,aACA,YACA,aACA,UACA,cACA,QACA,QACA,OACA,WACA,UACA,YACA,MACA,aAEA,cACA,UACA,UACA,WACA,SACA,aACA,UACA,UACA,QACA,UACA,WACA,SACA,YAEA,UACA,SACA,QAEA,OACA,WACA,SACA,UACA,WACA,MAEA,OACA,OACA,YACA,SACA,UACA,SACA,SACA,SAEA,WACA,SAEA,WACA,YACA,eACA,SACA,UACA,eAEA,MACA,QAEA,OACA,QACA,OACA,UAEA,SACA,OACA,WACA,OAEA,MACA,SACA,aACA,QACA,YACA,aACA,QACA,SACA,UACA,SACA,SACA,QACA,eACA,YAEA,UACA,YAEA,QACA,SACA,QAEA,SACA,cAEA,aACA,OACA,WACA,YACA,OAEA,OACA,KAEA,WAEA,cACA,YACA,QAEA,UACA,OAEA,OAEA,WACA,UACA,UACA,YACA,cACA,cACA,QAEA,SAEA,UACA,WACA,WACA,QACA,SACA,OAEA,QAEA,SACA,QACA,WACA,YACA,QACA,SAEA,WAEA,UAEA,UACA,OACA,QACA,WACA,OAEA,QAEA,aACA,SAEA,OAEA,SAEA,UAEA,OACA,UACA,QACA,gBAEA,YAEA,aAEA,YAEA,YAEA,gBAEA,WAEA,QAEA,UAEA,eAEA,WAEA,OAEA,KACF,EACIC,GAAa,CAEf,QAEA,SAEA,MAEA,cACA,OAEA,UAEA,OAEA,YAEA,oBACA,UAEA,SACA,OACA,QAEA,MAEA,UAEA,WAEA,UAEA,YAEA,OAEA,WAEA,OACA,OAEA,YAEA,cAEA,UAEA,MACA,MACF,EAGIC,GAAkBtH,EAAc,CAAC,yBAAyB,CAAC,EAC3DuH,GAAmBvH,EAAc,CAEnC,mBACA,OACA,QACA,4BACA,SACA,SACA,eACA,WACA,QACA,SACA,uBACA,wDAGA,cACA,SAEA,MAEA,WACF,CAAC,EACGwH,GAAkBxH,EAAc,CAElC,8EACA,0DACA,6CAEA,gBACA,mBAEA,cAEA,qBAEA,yBAEA,iCACA,gCACA,kBACA,YACA,+BACA,4BACA,iBACA,gBAEA,uBAEA,wBAGA,0BAEA,aACA,QAEA,QACA,kBACA,kBACA,mBACA,iBACA,2BACA,eACA,sBACA,kBACA,6BACA,sBACA,iBACA,cACA,cACA,iBACA,qBACA,0BACA,iBACA,uBACA,wBACA,eACA,kBACA,oBACA,aACA,gBACA,aACA,eACA,iBACA,eACA,mBACA,qBACA,eACA,mBACA,kCACA,+BACA,2BACA,6BACA,gBACA,aACA,aACA,qBACA,aACA,UACA,QACA,OACA,aACA,QACA,UACA,SACA,kBACA,OACA,uBACA,mBACA,cACA,mBACA,oBACA,kBACA,gBACA,uBACA,mBACA,8BACA,uBACA,kBACA,eACA,eACA,kBACA,kBACA,wBACA,yBACA,gBACA,mBACA,qBACA,cACA,cACA,gBACA,kBACA,gBACA,oBACA,sBACA,oBACA,mCACA,gCACA,4BACA,8BACA,mBACA,iBACA,cACA,cACA,sBACA,aACA,UACA,UACA,qBACA,iBACA,YACA,iBACA,kBACA,gBACA,cACA,qBACA,iBACA,4BACA,qBACA,gBACA,aACA,aACA,gBACA,yBACA,gBACA,sBACA,uBACA,aACA,cACA,iBACA,mBACA,YACA,eACA,YACA,cACA,gBACA,cACA,kBACA,oBACA,kBACA,iCACA,8BACA,0BACA,4BACA,iBACA,eACA,YACA,YACA,oBACA,YACA,UACA,UACA,QACA,QACA,wBACA,SACA,OACA,OACA,OACA,SACA,UACA,sBACA,iBACA,4BACA,UACA,oBACA,QACA,SACA,WACA,oBACA,wBACA,YACA,iBACA,cACA,kBACA,WACA,4BACA,kBACA,OACA,oBACA,WACA,QACF,CAAC,EACGyH,GAAyBzH,EAAc,CACzC,yBACA,0BACA,4BACF,CAAC,EACG0H,GAAiB1H,EAAc,CACjC,OACA,qCACA,uBACA,uBACA,4CACF,CAAC,EACG2H,GAAmB3H,EAAc,CACnC,gDACA,kCAEA,gDAEA,wBACF,CAAC,EACGR,GAAa,CACf,KAAM,aACN,iBAAkB,CAChB,eAAgB8H,GAChB,gBAAiB,CAAC,GAAGC,GAAkB,GAAGC,EAAe,EACzD,sBAAuBC,GACvB,cAAeC,GACf,gBAAiBC,GACjB,iBAAkBP,GAClB,kBAAmBC,GACnB,sBAAuBF,GACvB,oBAAqB,GACrB,YAAa,CAAC,IAAI,EAClB,YAAa,CACX,KACA,CAAE,MAAO,QAAS,SAAU,CAAC,IAAI,CAAG,EACpC,CAAE,MAAO,WAAY,SAAU,CAAC,GAAG,EAAG,cAAe,EAAM,EAC3D,CAAE,MAAO,SAAU,SAAU,CAAC,IAAK,GAAG,EAAG,cAAe,EAAM,CAC/D,EACD,WAAY,CAAC,CAAE,MAAO,QAAS,SAAU,CAAC,IAAI,EAAG,EACjD,WAAY,CAAE,KAAM,GAAK,EACzB,WAAY,CAAE,SAAU,CAAC,GAAG,CAAG,EAC/B,UAAW,CAET,IACA,IACA,KACA,MACA,IAEA,KAEA,IACA,IACA,IACA,IACA,KACA,KAEA,MACA,MACA,OACA,OAEA,MACA,KACA,KACA,MACA,KACA,KACA,KACA,MACA,MACA,MACA,MACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,KACA,KACA,KAEA,IACA,KACA,KACA,KACA,MACA,KACA,MACA,KAEA,KAEA,MACA,MAEA,KACA,MACA,MACA,OAEA,IACA,KACA,KACA,MAEA,MAEA,KAEA,MACA,KAEA,KACA,KACA,MACA,MACA,OACA,OACA,QACA,QAEA,KACA,GACD,CACF,EACD,cAAe,CACb,qBAAsB,CAAC,KAAM,GAAG,EAChC,eAAgBK,EACjB,CACH,EAGII,GAAc,CAEhB,YACA,8BACA,MACA,QACA,UACA,MACA,SACA,MACA,kBACA,cACA,aACA,MACA,WACA,UAEA,QACA,eACA,gBACA,mBACA,iBACA,WAEA,UACA,SACA,WACA,UAEA,WACA,SACA,WACA,QACA,MACA,OACA,SAEA,aACA,eACA,mBACA,eACA,eACA,oBACA,WACA,qBACA,uBACA,iBACA,UACA,WACA,YACA,aACA,UACA,UACA,eACA,WACA,iBACA,WACA,UACA,YACA,gBACA,qBACA,4BACA,kBACA,uBACA,4BACA,WACA,eACA,QAEA,UACA,WACA,eACA,cACA,WACA,UACA,cACA,YACA,YACA,eACA,YACA,aACA,cACA,aACA,cACA,sBACA,gBACA,eACA,YACA,aACA,eACA,cACA,cACA,oBACA,aACA,cACA,cACA,YACA,kBACA,aACA,aACA,cACA,cACA,aACA,eACA,kBACA,kBACA,kBACA,kBACA,iBACA,mBACA,gBACA,kBACA,iBACA,cACA,kBACA,aACA,cACA,aACA,YACA,kBACA,cACA,wBACA,0BACA,OACA,kBACA,cACA,eACA,iBACA,aACA,UACA,UACA,WACA,WACA,aACA,YACA,mBACA,sBACA,eACA,eACA,iBACA,WACA,YACA,YACA,aACA,iBACA,aACA,cACA,aACA,cACA,UACA,gBACA,aACA,YACA,OACA,UACA,UACA,OACA,UACA,UACA,OACA,UACA,UACA,eAEA,WACA,YACA,WACA,MACA,MACA,OACA,OAEA,MACA,oBACA,kBACA,cAEA,gBACA,sBACA,oBACA,kCACA,yBACA,aACA,iBAEA,MACA,OACA,OACA,OACA,QACA,OACA,UACA,OACA,MACA,MACA,UACA,OACA,QACA,SACA,MACA,QACA,KACA,MACA,MACA,KACA,QACA,UACA,SACA,QACA,MACA,OACA,OACA,MACA,SACA,QAEA,gBAEA,QACA,YACA,QACA,qBACA,cACA,mBACA,YACA,MACA,UACA,SACA,QACA,aACA,UACA,OACA,QACA,MACA,SACA,QACA,OACA,OACA,QACA,aACA,eACA,WACA,cACA,gBACA,eACA,eACA,iBACA,gBACA,SACA,UACA,YACA,UACA,QACA,UACA,aACA,SACA,SACA,YACA,UACA,YACA,OACA,QAEA,oBACA,gBACA,WACA,YACA,aACA,UACA,aACA,WACA,aACA,YACA,YACA,cACA,aACA,cAEA,MACA,QACA,YACA,aACA,cACA,aACA,MACA,OACA,UACA,MACA,SACA,MACA,YACA,QACA,eACA,kBACA,kBACA,OACA,kBACA,aACA,cACA,aACA,MACA,WACA,UAEA,OACA,UACA,UACA,UACA,YACA,kBACA,sBAEA,wBACA,0BACA,uBACA,kBACA,oBACA,uBACA,iBACA,aAEA,sBACA,mBACA,oBACA,iBACA,kBACA,eACA,kBACA,2BACA,yBACA,uBACA,sBACA,iBACA,cACA,6BACA,0BACA,gCACA,qBACA,kBACA,oBACA,mBACA,uBACA,eACA,YACA,OACA,SACF,EAGIC,GAAa,CAEf,SACA,SACA,MACA,iBACA,MACA,KACA,MACA,gBACA,SACA,UACA,SACA,OACA,QACA,SACA,aACA,SACA,QACA,UACA,aACA,UACA,SACA,OACA,UACA,WACA,KACA,SACA,SACA,UACA,aACA,WACA,QACA,MACA,UACA,SACA,OACA,OACA,gBACA,gBACA,QACA,WACA,SACA,QACA,KACA,YACA,QACA,OACA,KACA,SACA,WACA,UACA,OACA,QACA,YACA,iBACA,MACA,OACA,QACA,UACA,MACA,MACA,UACA,OACA,QACA,MACA,UACA,SACA,MACA,MACA,KACA,OACA,OACA,QACA,QACA,WACA,WACA,YACA,UACA,cACA,UACA,UACA,UACA,aACA,YACA,SACA,UACA,UACA,UACA,WACA,OACA,SACA,QACA,MACA,OACA,OACA,YACA,KACA,MACA,WACA,OACA,SACA,QACA,UACA,SACA,UAEA,gBACA,iBACA,eACA,aACA,cACA,WACA,SACA,eACA,aACA,mBACA,eACA,eACA,UACA,aACA,aACA,kBAEA,WACA,aACA,WACA,SACA,aAEA,SACA,MACA,YACA,aACA,YACA,OACA,OACA,UACA,MAEA,gBACA,cACA,YACA,WACA,uBACA,oBACA,gBAEA,QACA,OACA,OACA,OAEA,WACA,YACA,SACA,MAEA,MACA,OACA,WACA,QACA,WACA,MACA,UACA,WACA,WACA,YACA,UACA,UAGA,eACA,aACA,WAEA,OACA,OACA,MACA,YAGA,aAQF,EACIC,GAAc,CAEhB,QACA,SACA,SACA,OACA,oBACA,YACA,UACA,MACA,OACA,OACA,OACA,UACA,QACA,UACA,WACA,WACA,OACA,UACA,SACF,EAGIC,GAAmB/H,EAAc,CAAC,yBAAyB,CAAC,EAC5DgI,GAAoBhI,EAAc,CAEpC,mBACA,OACA,QACA,WACA,SACA,eACA,WACA,QACA,SAGA,cACA,SAEA,KACF,CAAC,EACGiI,GAAmBjI,EAAc,CAEnC,iFACA,0CAEA,SAEA,gBAEA,yBAEA,cACA,qBACA,eACA,gBACA,YACA,gBACA,eACA,OAEA,SAGA,mBAEA,QACA,iBACA,kBACA,2BACA,cACA,0BACA,kBACA,eACA,aACA,UACA,UACA,sBACA,sBACA,QACA,OACA,SACA,QACA,SACA,OACA,kBACA,mBACA,2BACA,yBACA,wBACA,kBACA,eACA,iBACA,eACA,mBACA,gBACA,cACA,aACA,UACA,iBACA,gBACA,iBACA,gBACA,aACA,eACA,aACA,yBACA,iBACA,cACA,YACA,YACA,OACA,UACA,UACA,QACA,QACA,OACA,UACA,4BACA,QACA,SACA,WACA,cACA,4BACA,8BACA,OACA,sBACA,aACA,kBACA,iBACA,aACA,YACA,oBACA,SACA,QACF,CAAC,EACGkI,GAA0BlI,EAAc,CAAC,cAAe,SAAU,YAAa,OAAO,CAAC,EACvFmI,GAAkBnI,EAAc,CAClC,OACA,qCACA,uBACA,uBACA,4CACF,CAAC,EACGoI,GAAoBpI,EAAc,CAEpC,UAEA,eACA,iBAEA,wBACF,CAAC,EACGP,GAAW,CACb,KAAM,WACN,iBAAkB,CAChB,eAAgBsI,GAChB,gBAAiB,CAAC,GAAGC,GAAmB,GAAGC,EAAgB,EAC3D,sBAAuBC,GACvB,cAAeC,GACf,gBAAiBC,GACjB,iBAAkBP,GAClB,kBAAmBC,GACnB,sBAAuBF,GACvB,YAAa,CAAC,OAAO,EACrB,WAAY,CAAC,OAAO,EACpB,WAAY,CAAE,MAAO,GAAK,EAC1B,WAAY,CAAE,SAAU,CAAC,GAAG,CAAG,EAC/B,UAAW,CACT,IACA,IACA,IACA,KACA,MACA,IACA,IAEA,IACA,KACA,KACA,KACA,IACD,CACF,EACD,cAAe,CACb,qBAAsB,CAAC,IAAI,EAC3B,eAAgBK,EACjB,CACH,EAGII,GAAa,CAEf,MACA,QACA,MACA,QACA,UACA,MACA,OACA,MACA,UACA,KACA,MACA,KACA,gBACA,UACA,OACA,SACA,UACA,KACA,QACA,UACA,OACA,SACA,QACA,QACA,UACA,YACA,UACA,UACA,aACA,SACA,UACA,UACA,SACA,UACA,cACA,UACA,cACA,aACA,OACA,SACA,QACA,OACA,UACA,eACA,eACA,oBACA,eACA,OACA,WACA,YACA,MACA,eACA,UACA,SACA,YACA,OACA,WACA,MACA,cACA,YACA,WACA,aACA,MACA,OACA,SACA,UACA,SACA,WACA,SACA,SACA,WACA,WACA,UACA,QACA,QACA,SACA,SACA,aACA,QACA,cACA,YACA,MACA,UACA,SACA,YACA,OACA,WACA,YACA,SACA,QACA,QACA,WACA,OACA,KACA,SACA,SACA,KACA,QACA,UACA,QACA,SACA,cACA,YACA,OACA,KACA,QACA,OACA,OACA,aACA,UACA,OACA,UACA,OACA,OACA,QACA,OACA,QACA,WACA,OACA,QACA,UACA,QACA,UACA,QACA,SACA,QACA,OACA,YACA,aACA,UACA,KACA,MACA,OACA,QACA,KACA,OACA,SACA,UACA,KACA,QACA,MACA,QACA,eACA,OACA,WACA,UACA,YACA,QACA,YACA,cACA,aACA,UACA,UACA,WACA,YACA,UACA,aACA,aACA,QACA,QACA,QACA,eACA,eACA,UACA,SACA,aACA,SACA,SACA,UACA,UACA,WACA,SACA,QACA,QACA,OACA,QACA,WACA,SACA,MACA,OACA,SACA,SACA,SACA,OACA,YACA,QACA,kBACA,eACA,OACA,OACA,SACA,OACA,OACA,SACA,QACA,aACA,SACA,WACA,SACA,YACA,QACA,SACA,gBACA,YACA,aACA,OACA,KACA,QACA,WACA,cACA,eACA,OACA,OACA,WACA,YACA,YACA,UACA,SACA,UACA,SACA,QACA,MACA,OACA,QACA,OACA,SACA,OAEA,UACA,YACA,WACA,WACA,UACA,OACA,WACA,aACA,aACA,SACA,UACA,cACA,SACA,UACA,gBACA,QACA,WACA,eACA,QACA,cACA,cACA,SACA,QACA,QACA,gBACA,SACA,SACA,KACA,WACA,SACA,YACA,OACA,OACA,QACA,WACA,YACA,YACF,EACIC,GAAc,CAEhB,QACA,SACA,SACA,UACA,OACA,OACA,OACA,MACA,UACA,SACA,QACA,MACA,UACA,WACA,OACA,MACA,UACA,OACA,QACA,WACA,SACA,SACA,gBACA,gBACA,YACA,UACA,SAEF,EAGIC,GAAc,CAKhB,wBACA,oBACA,MACA,UACA,SACA,UACA,WACA,UACA,eACA,cACA,OACA,QACA,QACA,QACA,WACA,mBACA,YACA,aACA,QACA,QACA,cACA,WACA,cACA,WACA,OACA,aACA,MACA,SACA,OACA,MACA,SACA,aACA,aACA,oBACA,WAEA,MACA,SACA,aACA,cACA,MACA,UACA,WACA,WAEA,YACA,aACA,MACA,OACA,YACA,QACA,eACA,OACA,aAEA,QACA,iBACA,iBACA,eACA,kBACA,aACA,YACA,YACA,iBACA,eACA,eACA,cACA,iBACA,aACA,UACA,WACA,UACA,QACA,aAEA,aACA,aACA,aACA,cACA,kBACA,mBACA,WACA,aACA,aAEA,aACA,eACA,eACA,oBACA,oBACA,mBACA,WACA,cACA,sBACA,YACA,WACA,aACA,WACA,MACA,aACA,YACA,YACA,UACA,gBACA,qBACA,OACA,WACA,YACA,mBACA,gBACA,iBACA,mBACA,SACA,QACA,iBACA,WACA,MACA,UACA,SACA,iBACA,mBACA,mBACA,oBACA,UACA,eACA,oBACA,mBACA,QACA,YACA,cACA,cACA,eACA,iBACA,UACA,aACA,SACA,OAEA,YACA,kBACA,oBACA,mBACA,aACA,iBACA,UAEA,MACA,OACA,QACA,YACA,aACA,QACA,OACA,QACA,cACA,OACA,QACA,QACA,SACA,MACA,YACA,UACA,aACA,SACA,QACA,cACA,OACA,OACA,UACA,cACA,mBACA,MACA,SACA,YACA,OACA,MACA,OACA,MACA,QACA,kBACA,mBACA,eACA,UAEA,MACA,MACA,QACA,YACA,cACA,QACA,SACA,gBACA,gBACA,WACA,SACA,OACA,MACA,QACA,UACA,SACA,eACA,0BACA,yBACA,kBACA,QACA,QACA,YACA,SACA,cACA,QACA,OACA,SACA,cACA,KACA,SACA,MACA,QACA,QACA,OACA,QACA,OACA,QACA,aACA,eACA,MACA,MACA,8BACA,eACA,QACA,WACA,MACA,OACA,eACA,UACA,YACA,KACA,OACA,aACA,mBACA,WACA,WACA,MACA,QACA,SACA,UACA,cACA,OACA,QACA,SACA,UACA,iBACA,qBACA,cACA,iBACA,SACA,UACA,UACA,QACA,OACA,QACA,OACA,QACA,gBACA,YACA,MACA,OACA,OACA,YACA,aACA,qBACA,OACA,SACA,MACA,OACA,UACA,QACA,qBACA,QACA,OACA,QACA,SACA,YACA,kBACA,MACA,OACA,SACA,iBACA,mBACA,YACA,OACA,UACA,aACA,SACA,QACA,WACA,QACA,QACA,OACA,UACA,eACA,QACA,gBACA,eACA,cACA,YACA,aACA,eACA,cACA,eACA,WACA,WAEA,OAEA,WACA,QACF,EAGIC,GAAmBxI,EAAc,CAAC,yBAAyB,CAAC,EAC5DyI,GAAoBzI,EAAc,CAEpC,OACA,OACA,QACA,WACA,SACA,SACA,eACA,WACA,UACA,aACA,gBACA,QAGA,oCACA,SAGA,qCAGA,2BACA,wBACF,CAAC,EACG0I,GAAmB1I,EAAc,CAEnC,0CACA,0EAEA,yBAEA,cACA,cACA,0BACA,YACA,gBACA,eAEA,iBAEA,eACA,iBACA,aACA,kBACA,kBACA,gBACA,gBACA,YACA,eACA,eAEA,cACA,QACA,YACA,UAEA,WACA,UACA,gBACA,cACA,cACA,oBACA,oBACA,iBACA,iBACA,YACA,WACA,UACA,gBACA,mBACA,QACA,eACA,oBACA,iBACA,iBACA,kBACA,sBACA,cACA,qBACA,aACA,eACF,CAAC,EACG2I,GAA0B3I,EAAc,CAC1C,yBACA,0BACA,4BACF,CAAC,EACG4I,GAAkB5I,EAAc,CAClC,OACA,qCACA,uBACA,uBACA,6CAEA,4BACA,mCACF,CAAC,EACG6I,GAAoB7I,EAAc,CACpC,YACA,YACA,cACA,wBACF,CAAC,EACGJ,GAAQ,CACV,KAAM,QACN,iBAAkB,CAChB,eAAgB4I,GAChB,gBAAiB,CAAC,GAAGC,GAAmB,GAAGC,EAAgB,EAC3D,sBAAuBC,GACvB,cAAeC,GACf,gBAAiBC,GACjB,YAAa,GACb,iBAAkBR,GAClB,kBAAmBC,GACnB,sBAAuBC,GACvB,YAAa,CAAC,IAAI,EAClB,YAAa,CACX,QACA,QACA,CAAE,MAAO,SAAU,SAAU,CAAC,IAAK,GAAG,EAAG,cAAe,EAAM,EAC9D,CAAE,MAAO,SAAU,SAAU,CAAC,IAAK,GAAG,EAAG,cAAe,EAAM,CAC/D,EACD,WAAY,CAAC,IAAI,EACjB,cAAe,CAAC,CAAE,MAAO,KAAM,SAAU,CAAC,GAAG,EAAG,cAAe,GAAM,EACrE,UAAW,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,MAAO,KAAM,IAAK,KAAM,IAAI,EACjE,YAAaO,EACd,EACD,cAAe,CACb,eAAgBJ,EACjB,CACH,EACA,SAASI,GAAaxG,EAAQ,CAC5B,OAAOA,EAAO,IAAI,CAACpG,EAAOh7C,IAAM,CAC9B,MAAMuhD,EAAYH,EAAOphD,EAAI,CAAC,GAAKogD,GAC7BsD,EAAYtC,EAAOphD,EAAI,CAAC,GAAKogD,GACnC,OAAIG,GAAQ,OAAOvF,CAAK,GAAK0I,EAAU,OAAS,aACvClG,GAAcD,GAAe,GAAIvC,CAAK,EAAG,CAAE,KAAM,wBAAwB,CAA+B,EAE7GA,EAAM,OAAS,SAAWA,EAAM,OAAS,oBACvC,EAAEuG,EAAU,OAAS,cAAgBmC,EAAU,OAAS,cACnDlG,GAAcD,GAAe,CAAE,EAAEvC,CAAK,EAAG,CAAE,KAAM,aAA+B,KAAMA,EAAM,GAAK,CAAA,EAGrGA,CACX,CAAG,CACH,CAGA,IAAI6M,GAAc,CAEhB,MACA,UACA,OACA,WACA,SACA,OACA,MACA,SACA,MACA,QACA,oBACA,SACA,OACA,aACA,SACA,iBACA,QACA,QACA,SACA,SACA,QACA,SACA,aACA,UACA,QACA,QACA,OACA,UACA,2BACA,4BACA,gBACA,mBACA,iBACA,SACA,YACA,gBACA,OACA,SACA,UACA,WACA,QACA,WAEA,MACA,QACA,eACA,MACA,MACA,MACA,QAEA,OACA,OACA,WACA,YACA,YACA,WAEA,aACA,OACA,aACA,eACA,YACA,QACA,MACA,OACA,cACA,aACA,YAEA,OACA,QACA,OACA,QACA,OACA,QACA,QACA,OACA,UACA,MACA,OACA,UACA,MACA,QACA,KACA,MACA,MACA,QACA,OACA,MACA,KACA,MACA,QACA,UACA,MACA,OACA,OACA,MACA,OACA,QAEA,OACA,aACA,oBACA,oBACA,eACA,cACA,cACA,aACA,cACA,eACA,WACA,YACA,YACA,aACA,aACA,mBACA,oBACA,YACA,YAEA,MACF,EAGIC,GAAa,CAEf,QACA,SACA,MACA,QACA,MACA,QACA,MACA,MACA,SACA,UACA,KACA,MACA,SACA,gBACA,SACA,QACA,UACA,KACA,UACA,OACA,OACA,QACA,UACA,SACA,SACA,WACA,aACA,SACA,QACA,UACA,eACA,eACA,oBACA,WACA,UACA,aACA,WACA,SACA,OACA,SACA,WACA,KACA,OACA,OACA,OACA,MACA,SACA,SACA,UACA,YACA,SACA,UACA,OACA,SACA,QACA,YACA,MACA,UACA,OACA,OACA,YACA,OACA,QACA,SACA,SACA,KACA,SACA,YACA,KACA,QACA,UACA,YACA,QACA,SACA,UACA,YACA,OACA,KACA,SACA,OACA,MACA,OACA,OACA,OACA,QACA,QACA,eACA,UACA,KACA,MACA,UACA,UACA,OACA,QACA,KACA,SACA,KACA,OACA,OACA,KACA,QACA,SACA,QACA,OACA,YACA,OACA,SACA,YACA,UACA,QACA,QACA,QACA,YACA,aACA,SACA,UACA,UACA,SACA,UACA,WACA,YACA,QACA,WACA,MACA,OACA,YACA,SACA,MACA,QACA,OACA,YACA,OACA,OACA,KACA,cACA,UACA,YACA,QACA,SACA,SACA,QACA,SACA,SACA,OACA,UACA,OACA,QACA,SACA,OACA,SACF,EACIC,GAAc,CAMhB,MACA,QACA,OACA,YACA,UACA,MACA,UACA,mBACA,QACA,UACA,WACA,OACA,OACA,UACA,mBACF,EAGIC,GAAmBlJ,EAAc,CAAC,yBAAyB,CAAC,EAC5DmJ,GAAoBnJ,EAAc,CAEpC,mBACA,OACA,QACA,WACA,SACA,SACA,eACA,WACA,QACA,SAGA,0EACA,eACA,SAEA,KACF,CAAC,EACGoJ,GAAmBpJ,EAAc,CAEnC,kDACA,iDAEA,qEAEA,cAEA,cAEA,yBAEA,cACA,eACA,gBACA,kBACA,YAEA,YACF,CAAC,EACGqJ,GAA0BrJ,EAAc,CAAC,cAAe,SAAU,WAAW,CAAC,EAC9EsJ,GAAkBtJ,EAAc,CAClC,OACA,qCACA,uBACA,uBACA,4CACF,CAAC,EACGuJ,GAAoBvJ,EAAc,CACpC,gDACA,iCACF,CAAC,EACGH,GAAS,CACX,KAAM,SACN,iBAAkB,CAChB,eAAgBqJ,GAChB,gBAAiB,CAAC,GAAGC,GAAmB,GAAGC,EAAgB,EAC3D,sBAAuBC,GACvB,cAAeC,GACf,gBAAiBC,GACjB,iBAAkBP,GAClB,kBAAmBC,GACnB,sBAAuBF,GACvB,YAAa,CACX,QACA,CAAE,MAAO,SAAU,SAAU,CAAC,GAAG,EAAG,cAAe,EAAM,CAG1D,EACD,WAAY,CAAC,QAAS,KAAM,IAAI,EAEhC,WAAY,CAAE,WAAY,GAAM,SAAU,CAAC,GAAG,EAAG,MAAO,CAAC,IAAK,IAAK,GAAG,CAAG,EACzE,UAAW,CAAC,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,MAAO,IAAI,CACpE,EACD,cAAe,CACb,eAAgBK,EACjB,CACH,EAGII,GAAc,CAEhB,WAEA,OACA,aACA,eACA,YACA,aAEA,WACA,oBACA,iBACA,UACA,cACA,mBACA,eACA,cACA,MACA,MACA,KACA,MACA,QACA,OACA,QACA,OACA,UACA,eAEA,YACA,kBACA,QACA,QACA,UACA,YACA,kBACA,OACA,UACA,YACA,eAEA,eACA,eACA,YACA,oBACA,iBAMA,QACA,MACA,MACA,MACA,MAIA,aACA,cACA,WACA,UACA,UACA,SACA,eACA,YACA,aACA,OACA,aACA,iBACA,aACA,UACA,YACA,YACA,WACA,WACA,WACA,kBACA,kBAMA,OAEA,WACA,SAEA,QACA,MACA,MACA,MACA,OACA,OACA,MACF,EAGIC,GAAa,CAEf,MACA,WACA,QACA,MAEA,MACA,KACA,aACA,aACA,KACA,SACA,gBACA,QACA,UACA,OACA,KACA,OACA,SACA,WACA,OACA,QACA,QACA,WACA,UACA,SACA,SACA,YACA,UACA,aACA,gBACA,SACA,QACA,OACA,UACA,kBACA,kCACA,eACA,eACA,iBACA,mCACA,eACA,SACA,QACA,aACA,MACA,UACA,UACA,SACA,QACA,WACA,gBACA,aACA,WACA,OACA,UACA,OACA,UACA,WACA,SACA,QAEA,SACA,OACA,UACA,SACA,WACA,QACA,QACA,SACA,MACA,UACA,OACA,OACA,OACA,WACA,MACA,SACA,QACA,QACA,SACA,OACA,OACA,WACA,KACA,YACA,QACA,QACA,cACA,SACA,YACA,OACA,KACA,WACA,QACA,UACA,UACA,OACA,OACA,aACA,QACA,QACA,SACA,QACA,SACA,SACA,WACA,SACA,QACA,UACA,MACA,KACA,OACA,MACA,OACA,SACA,KACA,MACA,KACA,OACA,OACA,QACA,MACA,QACA,OACA,WACA,YACA,YACA,YACA,UACA,UACA,YACA,QACA,QACA,OACA,YACA,MACA,aACA,cACA,UACA,SACA,SACA,UACA,SACA,QACA,WACA,SACA,MACA,OACA,YACA,QACA,SACA,SACA,SACA,SACA,YACA,eACA,MACA,UACA,OAEA,WACA,MACA,eACA,WACA,aACA,QACA,SACA,cACA,YACA,SACA,cACA,QACA,cACA,OACA,gBACA,kBACA,KACA,WACA,cACA,QACA,UACA,OACA,UACA,QACA,SACA,UACA,SACA,SACA,OACA,QACA,QACA,SACA,WACA,SACA,SACA,UACA,MACF,EACIC,GAAc,CAEhB,QACA,SACA,sBACA,iBACA,SACA,OACA,UACA,oBACA,eACA,OACA,yBACA,oBACA,YACA,OACA,OACA,MACA,UACA,SACA,QACA,MACA,UACA,WACA,WACA,wBACA,gBACA,kCACA,6BACA,qBACA,qBACA,gBACA,QACA,QACA,UACA,WACA,OACA,YACA,YACA,SACF,EAGIC,GAAmB3J,EAAc,CAAC,yBAAyB,CAAC,EAC5D4J,GAAoB5J,EAAc,CAEpC,mBACA,OACA,QACA,4BACA,SACA,SACA,eACA,WACA,QACA,SACA,uBAGA,cACA,SAEA,KACF,CAAC,EACG6J,GAAmB7J,EAAc,CAEnC,oDACA,0BAEA,SACA,mBAEA,cAEA,aAEA,cACA,aACA,gBACA,gBACA,YACA,iBACA,uBAEA,YAEA,kCAEA,eAGA,iBAEA,YACF,CAAC,EACG8J,GAA0B9J,EAAc,CAC1C,yBACA,0BACA,4BACF,CAAC,EACG+J,GAAkB/J,EAAc,CAClC,OACA,qCACA,uBACA,uBACA,4CACF,CAAC,EACGgK,GAAoBhK,EAAc,CACpC,gDACA,wBACF,CAAC,EACGpvC,GAAM,CACR,KAAM,MACN,iBAAkB,CAChB,eAAgB+4C,GAChB,gBAAiB,CAAC,GAAGC,GAAmB,GAAGC,EAAgB,EAC3D,sBAAuBC,GACvB,cAAeC,GACf,gBAAiBC,GACjB,iBAAkBP,GAClB,kBAAmBC,GACnB,sBAAuBF,GACvB,YAAa,CACX,CAAE,MAAO,WAAY,SAAU,CAAC,IAAK,IAAI,CAAG,EAC5C,CAAE,MAAO,SAAU,SAAU,CAAC,GAAG,EAAG,cAAe,EAAM,CAC1D,EACD,WAAY,CAAC,QAAS,IAAI,EAC1B,WAAY,CAAE,WAAY,EAAM,EAChC,UAAW,CAAC,IAAI,CACjB,EACD,cAAe,CACb,eAAgBK,EACjB,CACH,EAGII,GAAc,CAOhB,MACA,OACA,YACA,YACA,kBACA,uBACA,oBACA,aACA,YACA,iBACA,YACA,iBACA,eACA,kBACA,aACA,YACA,YACA,iBACA,eACA,aACA,cACA,OACA,OACA,QACA,cACA,MACA,MACA,WACA,YACA,oBACA,eACA,wBACA,oBACA,oBACA,uBACA,cACA,kBACA,qBACA,cACA,aACA,iBACA,sBACA,iCACA,cACA,YACA,WACA,UACA,cACA,OACA,OACA,OACA,UACA,cACA,WACA,MACA,WACA,WACA,YACA,QACA,eACA,SACA,YACA,WACA,oBACA,kBACA,OACA,MACA,OACA,oBACA,QACA,WACA,YACA,aACA,QACA,YACA,kBACA,eACA,iBACA,iBACA,eACA,oBACA,mBACA,eACA,OACA,WACA,YACA,cACA,aACA,aACA,MACA,eACA,cACA,cACA,UACA,aACA,MACA,MACA,IACA,aACA,mBACA,kCACA,QACA,MACA,UACA,WACA,SACA,cACA,UACA,QACA,SACA,kBACA,gBACA,YACA,cACA,cACA,iBACA,qBACA,qBACA,wBACA,wBACA,WACA,kBACA,kBACA,oBACA,yBACA,+BACA,gBACA,sBACA,YACA,iBACA,6BACA,0BACA,0BACA,yBACA,iBACA,qBACA,WACA,wBACA,mBACA,cACA,YACA,WACA,YACA,cACA,cACA,OACA,yBACA,KACA,QACA,WACA,2BACA,mBACA,qBACA,YACA,cACA,iBACA,SACA,gBACA,sBACA,iBACA,oBACA,cACA,eACA,sBACA,cACA,aACA,aACA,YACA,aACA,WACA,MACA,oBACA,aACA,OACA,mBACA,0BACA,yBACA,kBACA,QACA,SACA,uBACA,yBACA,0BACA,oBACA,UACA,KACA,YACA,iBACA,MACA,QACA,OACA,QACA,OACA,QACA,aACA,kBACA,MACA,UACA,aACA,cACA,aACA,mBACA,WACA,YACA,aACA,eACA,MACA,SACA,MACA,QACA,mBACA,cACA,MACA,SACA,SACA,MACA,QACA,eACA,wBACA,UACA,MACA,SACA,aACA,YACA,aACA,MACA,YACA,QACA,SACA,oBACA,WACA,qBACA,kBACA,iBACA,iBACA,eACA,KACA,WACA,MACA,QACA,cACA,UACA,UACA,OACA,SACA,OACA,SACA,aACA,eACA,iBACA,qBACA,cACA,kBACA,iBACA,eACA,UACA,iBACA,aACA,SACA,SACA,UACA,UACA,MACA,QACA,aACA,OACA,QACA,SACA,WACA,OACA,SACA,SACA,UACA,OACA,oBACA,MACA,WACA,QACA,UACA,uBACA,qBACA,QACA,aACA,eACA,oBACA,oBACA,oBACA,OACA,cACA,SACA,aACA,cACA,SACA,UACA,cACA,YACA,cACA,YACA,cACA,cACA,gBACA,cACA,aACA,gBACA,eACA,cACA,cACA,cACA,cACA,mBACA,YACA,kBACA,gBACA,sBACA,eACA,kBACA,oBACA,mBACA,mBACA,kBACA,gBACA,cACA,aACA,YACA,cACA,aACA,YACA,kBACA,gBACA,gBACA,mBACA,qBACA,eACA,cACA,WACA,YACA,YACA,aACA,YACA,gBACA,mBACA,aACA,WACA,YACA,OACA,UACA,UACA,OACA,UACA,UACA,SACA,YACA,MACA,MACA,OACA,cACA,qBACA,gBACA,kBACA,UACA,YACA,YACA,eACA,mBACA,mBACA,UACA,UACA,sBACA,sBACA,cACA,SACA,gBACA,gBACA,aACA,kBACA,yBACA,eACA,cACA,UACA,YACA,iBACA,mBACA,YACA,OACA,aACA,WACA,MACA,WACA,SACA,QACA,aACA,aACA,uBACA,mBACA,wBACA,mBACA,mBACA,uBACA,oBACA,OACA,sBACA,oBACA,WACA,UACA,WACA,UACA,OACA,eACA,eACA,wBACA,wBACA,gBACA,YACA,WACA,OACA,eACA,MACA,MACA,WAEA,aACA,QACA,OACA,eACA,OACA,UACA,MACF,EAGIC,GAAa,CAEf,SACA,MACA,QACA,QACA,MACA,QACA,UACA,MACA,MACA,KACA,MACA,KACA,gBACA,YACA,UACA,OACA,KACA,OACA,UACA,OACA,WACA,SACA,UACA,UACA,SACA,YACA,cACA,aACA,cACA,SACA,QACA,OACA,UACA,eACA,eACA,OACA,aACA,UACA,SACA,UACA,SACA,OACA,OACA,WACA,aACA,WACA,cACA,SACA,OACA,OACA,QACA,WACA,MACA,QACA,SACA,SACA,YACA,UACA,SACA,UACA,QACA,QACA,QACA,QACA,YACA,MACA,OACA,OACA,YACA,QACA,UACA,SACA,WACA,QACA,WACA,SACA,SACA,SACA,KACA,YACA,UACA,QACA,QACA,SACA,YACA,WACA,OACA,UACA,KACA,KACA,YACA,OACA,OACA,aACA,cACA,OACA,MACA,OACA,OACA,UACA,UACA,OACA,QACA,OACA,QACA,QACA,UACA,QACA,UACA,UACA,kBACA,eACA,WACA,UACA,OACA,MACA,MACA,OACA,OACA,KACA,OACA,MACA,OACA,QACA,SACA,KACA,SACA,OACA,KACA,MACA,OACA,SACA,KACA,QACA,aACA,QACA,SACA,OACA,WACA,YACA,aACA,UACA,OACA,OACA,UACA,MACA,UACA,YACA,YACA,UACA,aACA,aACA,QACA,SACA,QACA,OACA,YACA,UACA,SACA,aACA,QACA,UACA,WACA,YACA,SACA,QACA,OACA,QACA,WACA,SACA,MACA,OACA,UACA,SACA,SACA,UACA,WACA,OACA,SACA,eACA,UACA,MACA,OACA,OACA,OACA,OACA,QACA,QACA,SACA,SACA,SACA,QACA,SACA,cACA,OACA,OACA,OACA,OACA,YACA,KACA,WACA,cACA,OACA,OACA,UACA,YACA,cACA,gBACA,QACA,SACA,UACA,YACA,SACA,SACA,MACA,OACA,QACA,QACA,QACA,OACA,WACA,QACA,SACA,UACA,OACA,OACA,QACA,SACA,OACA,SACA,UACA,OACA,UACA,QACA,MACF,EACIC,GAAc,CAGhB,SACA,MACA,UACA,WACA,UACA,UACA,OACA,UACA,OACA,SACA,cACA,UACA,UACA,gBACA,WACA,YACA,OACA,YACA,UACA,OACA,MACA,QACA,MACA,OACA,WACA,YACA,WACA,OACA,YACA,aACA,aACA,cACA,QACA,aACA,WACA,UACF,EAGIC,GAAmBpK,EAAc,CAAC,yBAAyB,CAAC,EAC5DqK,GAAoBrK,EAAc,CAEpC,mBACA,OACA,QACA,4BACA,SACA,SACA,eACA,WACA,QACA,SACA,uBAGA,cACA,SAEA,MAEA,kBACA,WACA,oBACA,qBACA,cACA,UACA,SACA,QACF,CAAC,EACGsK,GAAmBtK,EAAc,CAEnC,+BACA,0CAEA,SAEA,cAEA,yBAEA,0BACA,6BACA,0BACA,4BACA,YACA,kCACA,iBACA,UAEA,iBAEA,eACA,0BACA,aACA,gBACA,cACA,cACA,yBACA,YACA,YAEA,UACA,UACA,kBACA,0BACA,MACA,iBACA,kBACA,4BACA,gBACA,cACA,WACA,gBACA,cACA,oBACA,qBACA,mBACA,gCACA,cACA,eACA,gBACA,eACA,iBACA,aACA,qBACA,mBACA,iBACA,cACF,CAAC,EACGuK,GAA0BvK,EAAc,CAC1C,yBACA,0BACA,4BACF,CAAC,EACGwK,GAAkBxK,EAAc,CAClC,OACA,qCACA,uBACA,uBACA,4CACF,CAAC,EACGyK,GAAoBzK,EAAc,CACpC,kCAEA,wBACF,CAAC,EACGD,GAAQ,CACV,KAAM,QACN,iBAAkB,CAChB,eAAgBqK,GAChB,gBAAiB,CAAC,GAAGC,GAAmB,GAAGC,EAAgB,EAC3D,sBAAuBC,GACvB,cAAeC,GACf,gBAAiBC,GACjB,iBAAkBP,GAClB,kBAAmBC,GACnB,sBAAuBF,GAKvB,YAAa,CAAC,KAAM,IAAI,EAGxB,YAAa,CACX,CAAE,MAAO,QAAS,SAAU,CAAC,IAAI,CAAG,EACpC,CAAE,MAAO,SAAU,SAAU,CAAC,GAAG,EAAG,cAAe,EAAM,CAC1D,EAED,WAAY,CAAC,OAAO,EACpB,WAAY,CAAE,WAAY,EAAM,EAChC,UAAW,CACT,IACA,KACA,KACA,IACA,KAEA,IACA,IACA,GAED,CACF,EACD,cAAe,CACb,eAAgBK,EACjB,CACH,EAGII,GAAc,CAGhB,wBACA,MACA,eACA,QACA,YACA,WACA,cACA,MACA,MACA,QACA,SACA,MACA,MACA,OAEA,YACA,cACA,MACA,aACA,OACA,kBACA,kBACA,eACA,gCACA,+BAEA,SACA,WACA,aACA,iBACA,oBACA,kBACA,cACA,YACA,cACA,eACA,gBACA,SACA,aACA,YAEA,OACA,UACA,QACA,WACA,cACA,YAEA,aACA,kBACA,eACA,UACA,mBACA,mBACA,gBACA,eACA,0BACA,uBACA,sBACA,mBACA,gBACA,eACA,sBACA,YACA,kBACA,WACA,SACA,WACA,gBACA,aACA,iBACA,qBACA,wBAEA,gBACA,iBACA,gBAEA,aACA,gBACA,aACA,aACA,WACA,uBAEA,cACA,oBACA,mBACA,sBACA,UACA,WACA,eACA,gBACA,WACA,WACA,qBACA,oBACA,0BACA,MACA,UACA,UACA,aACA,SACA,QACA,yBACA,eACA,cACA,oBACA,iBACA,gBACA,mBACA,OACA,OACA,SACA,aACA,aACA,cAEA,MACA,OACA,OACA,OACA,OACA,UACA,MACA,MACA,UACA,MACA,QACA,MACA,QACA,KACA,QACA,UACA,OACA,QACA,OACA,MACA,OACA,SACA,MACA,SACA,WACA,MACA,QAEA,WACA,WACA,eACA,eACA,mBACA,aACA,WACA,iBACA,qBACA,QACA,UACA,UACA,YACA,YACA,eACA,iBACA,oBACA,eACA,iBACA,0BACA,0BACA,YACA,oBACA,gBACA,iBACA,oBACA,YACA,cACA,qBACA,iBACA,mBACA,mBACA,YACA,YACA,cACA,iBACA,iBACA,aACA,UACA,YACA,eAEA,aACA,QACA,OACA,aACA,uBAEA,cACA,iBACA,eACA,wBACA,eACA,oBACA,YACA,gBACA,mBACA,gBACA,iBACA,cACA,aACA,aACA,eACA,kBACA,WACA,aACA,YACA,cACA,cACA,OACA,UACA,YAEA,QACA,OACA,YACA,SACA,YACA,aACA,SACA,OACA,MACA,QACA,QACA,QACA,WACA,YACA,UACA,YACA,UACA,QACA,QACA,UACA,QACA,MACA,aACA,gBACA,QACA,YACA,YACA,OACA,UACA,QAEA,aACA,UACA,aACA,kBACA,aACA,cACA,kBACA,WACA,WACA,qBACA,eACA,qBACA,yBACA,aACA,aACA,gBACA,eACA,kBACA,iBACA,cACA,gBACA,qCACA,cACA,UACA,YACA,SACA,YACA,wBACA,QACA,kBACA,eACA,kBACA,aAEA,gBACA,aACA,SACA,YACA,cACA,kBACA,cACA,iBACA,eACA,gBACA,UACA,YAEA,kBACA,YACA,oBACA,SAEA,WACA,QACF,EAGIC,GAAa,CAGf,MACA,MACA,QACA,MACA,MACA,KACA,MACA,gBACA,SACA,QACA,UACA,QACA,SACA,OACA,KACA,UACA,QACA,aACA,QACA,YACA,WACA,UACA,SACA,SACA,UACA,aACA,WACA,gBACA,WACA,UACA,SACA,QACA,UACA,eACA,eACA,oBACA,eACA,SACA,WACA,OACA,aACA,UACA,UACA,SACA,OACA,OACA,OACA,WACA,cACA,OACA,OACA,SACA,SACA,OACA,UACA,SACA,OACA,WACA,QACA,OACA,aACA,MACA,UACA,WACA,gBACA,OACA,OACA,WACA,OACA,QACA,QACA,SACA,WACA,WACA,cACA,kBACA,KACA,KACA,QACA,QACA,SACA,YACA,OACA,KACA,OACA,MACA,OACA,OACA,OACA,SACA,OACA,QACA,UACA,eACA,MACA,OACA,SACA,KACA,MACA,UACA,KACA,OACA,iBACA,YACA,aACA,UACA,SACA,KACA,QACA,QACA,OACA,UACA,QACA,OACA,UACA,QACA,OACA,YACA,SACA,YACA,OACA,WACA,cACA,aACA,cACA,UACA,WACA,SACA,SACA,SACA,QACA,WACA,WACA,aACA,OACA,OACA,SACA,gBACA,SACA,yBACA,iCACA,0BACA,eACA,MACA,UACA,WACA,OACA,aACA,cACA,QACA,cACA,WACA,OACA,KACA,MACA,OACA,cACA,UACA,WACA,cACA,UACA,QACA,SACA,UACA,SACA,aACA,MACA,OACA,SACA,OACA,UACA,QACA,QACA,OACA,eACA,YAEA,WACA,SACA,MACA,WACA,MACA,YACA,KACA,MACA,aACA,OACA,WACA,OACA,UACA,mBACA,cACA,YACA,UACA,aACA,cACA,gBACA,QACA,MACA,aACA,WACA,WACA,aACA,cACA,aACA,SACA,WACA,YACA,UACA,QACA,QACA,UACA,QACA,MACA,SACA,KACA,OACA,YACA,UACA,YACA,YACA,QACA,cACA,WACA,YACA,WACA,OACA,UACA,QACA,QACA,QACA,QACA,MACA,MACA,SACA,SACA,QACA,QACA,UACA,OACA,KACA,OACA,eACA,OACA,SACA,WACA,MACA,UACA,SACA,WACA,UACA,WACA,QACA,aACA,WACA,OACA,SACA,SACA,UACA,UACA,OACA,QACA,MACA,QACA,UACA,WACA,WACA,aACA,YACA,MACA,YACA,gBACA,kBACA,WACA,YACA,cACA,OACA,OACA,UACA,QACA,QACA,QACA,WACA,OACA,QACA,OACA,MACF,EACIC,GAAc,CAEhB,SACA,MACA,OACA,OACA,YACA,OACA,YACA,iBACA,MACA,UACA,SACA,QACA,MACA,UACA,WACA,QACA,UACA,WACA,YACA,OACA,WACA,OACA,YACA,YACA,SACF,EAGIC,GAAmB7K,EAAc,CAAC,yBAAyB,CAAC,EAC5D8K,GAAoB9K,EAAc,CAEpC,OACA,OACA,OACA,QACA,WACA,SACA,SACA,eACA,WACA,SACA,uBAGA,gBACA,SAEA,MAEA,eACA,oDACA,aAEA,sCACF,CAAC,EACG+K,GAAmB/K,EAAc,CAEnC,eACA,wCAEA,SACA,mBAEA,gBAEA,yBAEA,cACA,MACA,0BACA,eAEA,iBAEA,iCACA,gBACA,YACA,gBACA,aACA,qBACA,oBACA,eACA,gBACA,mBACA,aACA,cACA,WACA,iBACA,gBACA,qBACA,SACA,qBACA,oBACA,4BACA,2BACA,4BACA,kBACA,cACA,cACA,mBACA,sBACA,UACA,wBACA,oBACA,oBACA,0BACA,eACA,WACA,aACA,yBACA,yBACA,WACA,+BACA,0BACA,gBACA,gCACA,6BACA,eACA,YACA,aACA,oBACA,OACA,WACA,kBACA,iBACA,mBACA,WACA,qBACA,gBACA,aACA,uBACA,uBACA,oBACA,mBACA,yBACA,iBACA,eACA,UACA,YACA,mBACA,iBACA,oBACA,WACA,yBACA,0BACA,QACA,YACA,kBACA,wBACA,QACA,WACA,eACA,QACA,aACA,eACA,oBACA,UACA,SACA,qBACA,UACA,kBACA,qBACA,YACA,qBACA,mBACA,YACA,4BACA,QACA,oBACA,UACA,yBACA,2BACA,oBACA,gBACA,UACA,uBACA,qBACA,oBACA,qBACA,qBACA,6BACA,qBACA,SACA,SACA,aACA,OACA,QACA,WACA,OACA,SACA,uBACA,kBACA,sBACA,OACA,6BACA,WACA,eACA,6BACA,uBACA,cACA,UACA,qBACA,UACA,eACA,gBACA,eACA,YACA,gBACA,aACA,gBACA,qBACA,kBACA,iBACA,gBACA,UACA,QACA,iBACA,WACA,8BACA,UACA,OACA,oBACA,OACA,iBACA,aACA,YACA,uBACF,CAAC,EACGgL,GAA0BhL,EAAc,CAAC,cAAe,SAAU,WAAW,CAAC,EAC9EiL,GAAkBjL,EAAc,CAClC,OACA,qCACA,uBAEA,uBACF,CAAC,EACGkL,GAAoBlL,EAAc,CACpC,gDACA,wBACF,CAAC,EACGF,GAAc,CAChB,KAAM,cACN,iBAAkB,CAChB,eAAgB+K,GAChB,gBAAiB,CAAC,GAAGC,GAAmB,GAAGC,EAAgB,EAC3D,sBAAuBC,GACvB,cAAeC,GACf,gBAAiBC,GACjB,iBAAkBP,GAClB,kBAAmBC,GACnB,sBAAuBF,GACvB,oBAAqB,GACrB,YAAa,CAAC,CAAE,MAAO,QAAS,SAAU,CAAC,GAAG,EAAG,EACjD,WAAY,CAAC,QAAS,IAAI,EAC1B,WAAY,CAAE,MAAO,KAAM,KAAM,KAAO,EACxC,WAAY,CAAE,MAAO,CAAC,GAAG,EAAG,OAAQ,CAAC,GAAG,CAAG,EAC3C,UAAW,CACT,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,GACD,CAEF,EACD,cAAe,CACb,qBAAsB,CAAC,IAAI,EAC3B,eAAgBK,EACjB,CACH,EAGII,GAAa,CAMf,MACA,MACA,QACA,UACA,MACA,KACA,MACA,aACA,SACA,UACA,UACA,OACA,KACA,OACA,UACA,OACA,SACA,QACA,UACA,SACA,YACA,aACA,WACA,UACA,SACA,QACA,eACA,eACA,oBACA,eACA,SACA,WACA,YACA,WACA,kBACA,aACA,aACA,UACA,UACA,UACA,SACA,OACA,WACA,gBACA,WACA,cACA,MACA,OACA,OACA,OACA,OACA,SACA,WACA,UACA,SACA,SACA,OACA,UACA,aACA,QACA,QACA,MACA,QACA,sBACA,yBACA,UACA,OACA,OACA,WACA,QACA,QACA,SACA,uBACA,gBACA,mBACA,cACA,cACA,KACA,SACA,KACA,QACA,SACA,QACA,QACA,cACA,SACA,KACA,6BACA,YACA,WACA,OACA,UACA,OACA,MACA,OACA,OACA,UACA,QACA,OACA,OACA,QACA,QACA,OACA,YACA,iBACA,OACA,OACA,eACA,QACA,WACA,QACA,qBACA,gBACA,MACA,WACA,UACA,mBACA,MACA,qBACA,mBACA,OACA,KACA,WACA,SACA,aACA,KACA,QACA,MACA,QACA,UACA,OACA,UACA,YACA,QACA,QACA,OACA,QACA,aACA,SACA,UACA,SACA,SACA,UACA,UACA,WACA,SACA,SACA,QACA,kBACA,kBACA,sBACA,QACA,SACA,UACA,qBACA,SACA,YACA,YACA,YACA,MACA,OACA,SACA,UACA,WACA,MACA,iBACA,oBACA,YACA,sBACA,eACA,eACA,iBACA,mBACA,WACA,aACA,gBACA,QACA,aACA,OACA,KACA,WACA,UACA,OACA,YACA,OACA,QACA,SACA,SACA,SACA,QACA,MACA,QACA,WACA,WACA,gBACA,QACA,SACA,OACA,QACA,QACA,SACA,OACA,SACA,QACA,MACA,aACA,UACF,EACIC,GAAc,CAEhB,SACA,SACA,MACA,OACA,OACA,YACA,WACA,MACA,UACA,mBACA,SACA,OACA,QACA,QACA,SACA,SACA,MACA,OACA,OACA,OACA,OACA,OACA,UACA,OACA,WACA,WACA,aACA,YACA,aACA,YACA,gBACA,mBACA,UACA,YACA,OACA,WACA,OACA,OACA,YACA,WACA,UACA,WACA,WACA,YACA,UACA,eACA,MACF,EAGIC,GAAc,CAgBhB,MACA,OACA,UACA,UACA,cACA,cACA,YACA,wBACA,mCACA,gCACA,iCACA,8BACA,oBACA,QACA,OACA,OACA,QACA,MACA,MACA,SACA,UACA,YACA,SACA,UACA,OACA,OACA,UACA,OACA,mBACA,cACA,UACA,WACA,eACA,YACA,UACA,SACA,YACA,gBACA,OACA,UACA,aACA,MACA,MACA,QACA,YACA,UACA,eACA,eACA,eACA,oBACA,eACA,UACA,WACA,OACA,WACA,WACA,cACA,WACA,aACA,MACA,UACA,aACA,YACA,YACA,SACA,UACA,UACA,aACA,MACA,cACA,MACA,qBACA,MACA,UACA,QACA,QACA,cACA,QACA,SACA,aACA,cACA,YACA,gBACA,iBACA,qBACA,qBACA,uBACA,qBACA,mBACA,sBACA,kBACA,4BACA,gBACA,oBACA,oBACA,kBACA,sBACA,kBACA,iBACA,2BACA,aACA,aACA,WACA,WACA,eACA,MACA,YACA,OACA,cACA,KACA,SACA,YACA,YACA,aACA,aACA,UACA,SACA,QACA,WACA,KACA,UACA,WACA,6BACA,2BACA,6BACA,yBACA,uBACA,yBACA,kBACA,sBACA,oBACA,sBACA,sBACA,gBACA,cACA,kBACA,gBACA,kBACA,qBACA,mBACA,qBACA,MACA,WACA,aACA,QACA,OACA,QACA,OACA,SACA,OACA,KACA,YACA,iBACA,SACA,MACA,QACA,OACA,OACA,QACA,QACA,MACA,MACA,SACA,cACA,MACA,SACA,MACA,QACA,YACA,iBACA,MACA,MACA,YACA,QACA,SACA,eACA,eACA,kBACA,kBACA,KACA,QACA,WACA,MACA,QACA,UACA,QACA,UACA,OACA,OACA,SACA,SACA,UACA,UACA,QACA,QACA,QACA,YACA,aACA,OACA,QACA,SACA,SACA,cACA,OACA,OACA,UACA,OACA,MACA,QACA,QACA,UACA,cACA,kBACA,QACA,OACA,SACA,aACA,cACA,cACA,UACA,SACA,YACA,kBACA,MACA,WACA,MACA,OACA,WACA,cACA,cACA,YACA,eACA,gBACA,cACA,YACA,UACA,UACA,UACA,YACA,aACA,eACA,OACA,QACA,WACA,QACA,QACA,iBACA,YACA,QAEA,WACA,WACA,gBACA,OACA,SACA,WACA,UACA,WACA,aACA,UACA,OACA,UACA,aACA,MACF,EAGIC,GAAmBtL,EAAc,CAAC,uCAAuC,CAAC,EAC1EuL,GAAoBvL,EAAc,CAEpC,OACA,OACA,QACA,WACA,SACA,eACA,WACA,QACA,SAGA,yBACA,SACA,iBACA,0BAEA,MAEA,4DACA,yCACF,CAAC,EACGwL,GAAmBxL,EAAc,CAEnC,qFACA,cAEA,SAEA,gBAEA,qCAEA,uBACA,eACA,6BACA,gBACA,kBACA,SACA,mBAEA,mBAEA,iBACA,WACA,2BACA,iBACA,iBACA,sBACA,aACA,aACA,gBACA,kBACA,cACA,kBACA,kBACA,SACA,uBACA,cACA,OACA,SACA,mBACA,4BACA,+BACA,sBACA,cACA,iBACA,yBACA,QACA,SACA,kBACA,eACA,eACA,cACA,mBACA,kBACA,uBACA,cACA,cACA,qBACA,WACA,kBACA,kBACA,gBACA,gBACA,aACA,YACA,gBACA,iBACA,qBACA,YACA,YACA,YACA,UACA,UACA,QACA,QACA,QACA,UACA,OACA,kBACA,kBACA,YACA,wBACA,WACA,2BACA,cACA,kBACA,iBACA,UACA,oBACA,uBACA,oBACA,oBACA,cACA,eACA,UACA,qBACA,QACA,eACA,gBACA,gBACA,cACA,UACA,mBACA,qBACA,SACA,WACA,wBACA,YACA,oBACA,mBACA,YACA,eACA,qBACA,WACA,kBACA,OACA,qBACA,iBACA,eACA,uBACA,uBACA,uBACA,wBACA,oBACA,mBACA,mBACA,iBACA,cACA,eACA,cACA,qBACA,uBACA,cACA,aACA,qBACA,mBACA,eACA,kBACA,sBACA,wBACA,mBACA,eACA,gBACA,uBACA,sBACA,gBACA,aACA,mBACA,cACA,oBACA,cACA,iBACA,gBACA,WACA,oBACA,kBACA,0BACA,iBACA,gBACA,cACA,oBACA,yBACA,gBACA,eACA,mBACA,aACA,gBACA,kBACA,gBACA,MACA,KAEA,UACA,QACA,OACA,SACA,SACA,OACF,CAAC,EACGyL,GAA0BzL,EAAc,CAC1C,yBACA,SACA,YACA,OACF,CAAC,EACG0L,GAAkB1L,EAAc,CAClC,OACA,qCACA,uBACA,sCAEA,eACF,CAAC,EACG2L,GAAoB3L,EAAc,CACpC,YACA,YACA,gBACA,yBACA,eACF,CAAC,EACGN,GAAgB,CAClB,KAAM,gBACN,iBAAkB,CAChB,eAAgB4L,GAChB,gBAAiB,CAAC,GAAGC,GAAmB,GAAGC,EAAgB,EAC3D,sBAAuBC,GACvB,cAAeC,GACf,gBAAiBC,GACjB,iBAAkBR,GAClB,kBAAmBC,GACnB,sBAAuBC,GAEvB,YAAa,CACX,WACA,WACA,CAAE,MAAO,SAAU,SAAU,CAAC,IAAK,GAAG,EAAG,cAAe,EAAM,CAC/D,EACD,WAAY,CAAC,IAAI,EACjB,WAAY,CAAE,MAAO,IAAK,KAAM,IAAK,qBAAsB,EAAM,EACjE,cAAe,CACb,CAAE,MAAO,mBAAqB,EAC9B,CAAE,MAAO,KAAM,SAAU,CAAC,GAAG,EAAG,cAAe,EAAM,CACtD,EACD,iBAAkB,CAAC,KAAM,GAAG,EAC5B,UAAW,CACT,KACA,IACA,IACA,IACA,IACA,KACA,KACA,MACA,KACA,KACA,KACA,MACA,MACA,KACA,MACA,KAED,EACD,YAAa1G,EACd,EACD,cAAe,CACb,qBAAsB,CAAC,KAAM,MAAO,KAAK,EACzC,eAAgB6G,EACjB,CACH,EAGII,GAAc,CAkBhB,MACA,OACA,QACA,aACA,iBACA,YACA,wBACA,oBACA,+BACA,4BACA,6BACA,eACA,0BACA,uBACA,wBACA,4BACA,yBACA,YACA,eACA,YACA,gBACA,kBACA,0BACA,iBACA,eACA,qBACA,iBACA,gBACA,aACA,cACA,kBACA,kBACA,mBACA,iBACA,WACA,YACA,aACA,UACA,aACA,UACA,aACA,YACA,YACA,UACA,aACA,YACA,UACA,mBACA,mBACA,kBACA,QACA,OACA,QACA,OACA,QACA,QACA,oCACA,+BACA,MACA,uBACA,uBACA,gBACA,aACA,SACA,aACA,sBACA,uBACA,uBACA,eACA,gBACA,SACA,QACA,YACA,eACA,gBACA,SACA,aACA,UACA,cACA,UACA,SACA,aACA,UACA,cACA,wBACA,uBACA,OACA,OACA,OACA,OACA,YACA,aACA,YACA,MACA,OACA,WACA,UACA,YACA,uBACA,WACA,SACA,YACA,2BACA,yBACA,WACA,mBACA,eACA,OACA,MACA,OACA,MACA,QACA,WACA,YACA,aACA,YACA,kBACA,0BACA,iBACA,mBACA,eACA,qBACA,iBACA,eACA,iBACA,kBACA,0BACA,kBACA,oBACA,sBACA,eACA,oBACA,sBACA,eACA,kBACA,oBACA,wBACA,2BACA,4BACA,mCACA,iCACA,kBACA,YACA,aACA,UACA,WACA,UACA,SACA,oBACA,oBACA,UACA,cACA,UACA,aACA,OACA,eACA,UACA,cACA,WACA,aACA,MACA,eACA,6BACA,uBACA,2CACA,UACA,8BACA,YACA,cACA,UACA,QACA,8BACA,YACA,MACA,oBACA,UACA,kBACA,wBACA,WACA,oBACA,oBACA,qBACA,SACA,WACA,WACA,cACA,OACA,WACA,YACA,oBACA,oBACA,aACA,MACA,iBACA,cACA,eACA,aACA,aACA,OACA,SACA,SACA,MACA,SACA,QACA,YACA,eACA,UACA,SACA,eACA,gBACA,WACA,YACA,aACA,UACA,aACA,UACA,gBACA,aACA,YACA,UACA,6BACA,aACA,gBACA,YACA,qBACA,UACA,mBACA,mBACA,kBACA,yBACA,yBACA,WACA,MACA,WACA,gBACA,mBACA,aACA,OACA,QACA,OACA,SACA,MACA,OACA,WACA,WACA,UACA,KACA,YACA,iBACA,MACA,gBACA,wBACA,QACA,OACA,QACA,oCACA,MACA,UACA,aACA,yBACA,qBACA,qBACA,SACA,MACA,MACA,UACA,kBACA,MACA,OACA,YACA,iBACA,WACA,SACA,YACA,QACA,SACA,aACA,MACA,OACA,aACA,mBACA,6BACA,gBACA,gBACA,cACA,cACA,eACA,WACA,aACA,YACA,YACA,eACA,kBACA,kBACA,KACA,qBACA,iBACA,oBACA,WACA,MACA,QACA,eACA,6BACA,gBACA,2BACA,wBACA,6BACA,UACA,SACA,UACA,OACA,kBACA,SACA,eACA,eACA,cACA,iBACA,gBACA,oBACA,YACA,YACA,aACA,iBACA,UACA,aACA,WACA,WACA,WACA,YACA,YACA,SACA,UACA,oCACA,qCACA,4CACA,kCACA,4BACA,qBACA,cACA,UACA,QACA,QACA,QACA,aACA,OACA,QACA,kBACA,8BACA,OACA,OACA,OACA,OACA,0BACA,OACA,WACA,cACA,OACA,WACA,cACA,OACA,MACA,OACA,OACA,UACA,QACA,QACA,aACA,iBACA,OACA,SACA,UACA,YACA,YACA,eACA,WACA,cACA,WACA,YACA,aACA,cACA,aACA,cACA,eACA,YACA,gBACA,eACA,cACA,cACA,aACA,cACA,cACA,qBACA,0BACA,sBACA,sBACA,aACA,qBACA,qBACA,uBACA,kBACA,gBACA,YACA,mBACA,gBACA,cACA,eACA,WACA,iBACA,aACA,aACA,eACA,eACA,YACA,aACA,cACA,UACA,gBACA,mBACA,WACA,YACA,OACA,UACA,UACA,OACA,UACA,UACA,4CACA,8BACA,aACA,SACA,aACA,cACA,mBACA,SACA,wBACA,kBACA,SACA,YACA,MACA,UACA,uBACA,2BACA,+BACA,4CACA,uCACA,4BACA,sBACA,0BACA,gCACA,2BACA,gCACA,mCACA,mCACA,2CACA,wCACA,sCACA,uCACA,qCACA,4CACA,8BACA,2BACA,oCACA,2BACA,oCACA,gCACA,sCACA,yBACA,8CACA,gCACA,qCACA,iBACA,gCACA,mCACA,kCACA,sCACA,iCACA,sCACA,uCACA,2BACA,qBACA,4BACA,yCACA,0BACA,mCACA,oCACA,yBACA,gCACA,gBACA,6CACA,qCACA,cACA,mBACA,+BACA,iBACA,6BACA,8BACA,MACA,OACA,kBACA,eACA,kBACA,aACA,UACA,WACA,uBACA,eACA,gBACA,WACA,YACA,aACA,UACA,aACA,UACA,OACA,aACA,YACA,aACA,YACA,eACA,cACA,UACA,YACA,UACA,OACA,eACA,mBACA,mBACA,kBACA,aACA,SACA,YACA,OACA,WACA,QACA,QACA,2BACA,2BACA,WACA,wBACA,wBACA,iBACA,gBACA,iBACA,cACA,iBACA,gBACA,iBACA,gBACA,mBACA,kBACA,cACA,mBACA,uBACA,uBACA,sBACA,SACA,UACA,UACA,QACA,cACA,WACA,qBACA,UACA,WACA,WACA,gBACA,eACA,yBACA,6BACA,eACA,SACA,OACA,aACA,gBACA,MACA,aACA,YACA,eACA,YACA,OACA,OACA,aACA,UACA,QACA,UACA,aACA,MACF,EAGIC,GAAa,CAIf,UACA,MACA,QACA,MACA,MACA,KACA,UACA,KACA,OACA,OACA,QACA,SACA,UACA,aACA,aACA,SACA,QACA,UACA,eACA,eACA,oBACA,eACA,WACA,SACA,WACA,OACA,OACA,SACA,QACA,YACA,MACA,OACA,OACA,QACA,QACA,YACA,SACA,QACA,KACA,YACA,QACA,SACA,YACA,OACA,KACA,QACA,OACA,UACA,OACA,OACA,YACA,iBACA,QACA,UACA,MACA,OACA,KACA,KACA,KACA,QACA,eACA,UACA,SACA,SACA,QACA,QACA,MACA,OACA,SACA,SACA,SACA,MACA,OACA,QACA,QACA,cACA,OACA,KACA,UACA,OACA,WACA,QACA,SACA,SACA,QACA,SACA,OACA,OACA,WACA,QACA,OAEA,SACF,EACIC,GAAc,CAChB,SACA,UACA,UACA,MACA,UACA,SACA,WACA,UACA,UACA,QACA,SACA,SACA,SACA,mBACA,OACA,UACA,OACA,YACA,SACA,OACA,SACA,YACA,UACA,OACA,WACA,OACA,YACA,gBACA,gBACA,YACA,eACA,UACA,SACA,QACA,YACA,UACF,EAGIC,GAAmB/L,EAAc,CAAC,yBAAyB,CAAC,EAC5DgM,GAAoBhM,EAAc,CAEpC,mBACA,OACA,QACA,WACA,SACA,eACA,WACA,UACA,QACA,SACA,uBAGA,qDACA,qBACA,SAEA,MACA,aACA,oDACA,cACA,iBACA,aACA,qBACA,6BACA,8BACF,CAAC,EACGiM,GAAmBjM,EAAc,CAEnC,uDACA,8EACA,gEAEA,SAEA,cAEA,yBAEA,0BACA,YACA,YACA,+BACA,sBACA,eACA,gBACA,4BACA,gBACA,6CACA,oBACA,mCACA,oBAEA,iCACA,+BACA,uBAEA,wBAEA,kBAEA,gBAEA,+BAGA,+BAcA,gBACA,wBACA,mBACA,iBACA,uBACA,uBACA,oBACA,iBACA,oBACA,uBACA,0BACA,uBACA,iCACA,aACA,kBACA,0BACA,yBACA,aACA,0BACA,eACA,6BACA,iBACA,gBACA,uBACA,cACA,cACA,4BACA,eACA,YACA,aACA,aACA,aACA,kBACA,QACA,OACA,SACA,YACA,iBACA,yBACA,oBACA,kBACA,2BACA,wBACA,wBACA,qBACA,kBACA,qBACA,yBACA,wBACA,2BACA,wBACA,kCACA,cACA,mBACA,2BACA,0BACA,cACA,2BACA,gBACA,8BACA,kBACA,wBACA,eACA,eACA,6BACA,gBACA,aACA,cACA,cACA,mBACA,SACA,oBACA,0BACA,uBACA,oBACA,uBACA,0BACA,6BACA,0BACA,gBACA,qBACA,kBACA,6BACA,kBACA,oBACA,0BACA,iBACA,iBACA,kBACA,iBACA,gBACA,uBACA,gBACA,gBACA,qBACA,kBACA,gBACA,sBACA,sBACA,mBACA,gBACA,mBACA,uBACA,sBACA,yBACA,sBACA,YACA,iBACA,yBACA,wBACA,YACA,yBACA,cACA,gBACA,sBACA,aACA,aACA,cACA,WACA,YACA,YACA,YACA,iBACA,oBACA,eACA,UACA,MACA,kBACA,aACA,SACA,OACA,QACA,MACA,SACA,cACA,WACA,eACA,mBACA,iBACA,mCACA,sCACA,gCACA,0BACA,uBACA,uBACA,oBACA,iBACA,uBACA,cACA,oBACA,aACA,wBACA,wBACA,0BACA,wBACA,eACA,6BACA,kBACA,aACA,oBACA,kBACA,eACA,4BACA,6BACA,0BACA,yBACA,aACA,2BACA,eACA,iBACA,wBACA,cACA,gCACA,mCACA,cACA,eACA,cACA,YACA,aACA,oBACA,sBACA,aACA,iBACA,aACA,kBACA,6BACA,kBACA,gBACA,eACA,aACA,QACA,eACA,WACA,aACA,sBACA,eACF,CAAC,EACGkM,GAA0BlM,EAAc,CAAC,cAAe,QAAS,SAAU,WAAW,CAAC,EACvFmM,GAAkBnM,EAAc,CAClC,eACA,+CACA,wBACF,CAAC,EACGoM,GAAoBpM,EAAc,CACpC,yBACA,+CACF,CAAC,EACGL,GAAY,CACd,KAAM,YACN,iBAAkB,CAChB,eAAgBoM,GAChB,gBAAiB,CAAC,GAAGC,GAAmB,GAAGC,EAAgB,EAC3D,sBAAuBC,GACvB,cAAeC,GACf,gBAAiBC,GACjB,iBAAkBP,GAClB,kBAAmBC,GACnB,sBAAuBF,GACvB,YAAa,CAAC,KAAM,UAAU,EAC9B,WAAY,CAAC,OAAO,EACpB,cAAe,CAEb,CAAE,MAAO,cAAgB,EAEzB,CAAE,MAAO,4BAA8B,CACxC,EACD,YAAa,CAAC,IAAI,EAClB,WAAY,CAAE,KAAM,GAAK,EACzB,iBAAkB,CAAC,KAAM,IAAI,EAC7B,UAAW,CAET,IAEA,KAEA,KAEA,IAEA,IACD,CACF,EACD,cAAe,CACb,qBAAsB,CAAC,IAAK,IAAI,EAChC,eAAgBK,EACjB,CACH,EAGI90C,GAAQjE,GAAQA,EAAIA,EAAI,OAAS,CAAC,EAClCm5C,GAAoBC,GAAYA,EAAQ,KAAK,CAAC19C,EAAGC,IAAMA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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,17,18,19,20,21,22,26,27,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187]} \ No newline at end of file diff --git a/source/assets/debugbar/debugbar-BMmMDwal.js b/source/assets/debugbar/debugbar-BMmMDwal.js new file mode 100644 index 0000000..8214741 --- /dev/null +++ b/source/assets/debugbar/debugbar-BMmMDwal.js @@ -0,0 +1,37 @@ +var gi=Object.defineProperty;var Gi=(e,t,E)=>t in e?gi(e,t,{enumerable:!0,configurable:!0,writable:!0,value:E}):e[t]=E;var Ze=(e,t,E)=>(Gi(e,typeof t!="symbol"?t+"":t,E),E);var RE=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function xs(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function Jo(e){return e instanceof Map?e.clear=e.delete=e.set=function(){throw new Error("map is read-only")}:e instanceof Set&&(e.add=e.clear=e.delete=function(){throw new Error("set is read-only")}),Object.freeze(e),Object.getOwnPropertyNames(e).forEach(t=>{const E=e[t],s=typeof E;(s==="object"||s==="function")&&!Object.isFrozen(E)&&Jo(E)}),e}class xT{constructor(t){t.data===void 0&&(t.data={}),this.data=t.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}}function ko(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}function Mt(e,...t){const E=Object.create(null);for(const s in e)E[s]=e[s];return t.forEach(function(s){for(const r in s)E[r]=s[r]}),E}const mi="",wT=e=>!!e.scope,yi=(e,{prefix:t})=>{if(e.startsWith("language:"))return e.replace("language:","language-");if(e.includes(".")){const E=e.split(".");return[`${t}${E.shift()}`,...E.map((s,r)=>`${s}${"_".repeat(r+1)}`)].join(" ")}return`${t}${e}`};class bi{constructor(t,E){this.buffer="",this.classPrefix=E.classPrefix,t.walk(this)}addText(t){this.buffer+=ko(t)}openNode(t){if(!wT(t))return;const E=yi(t.scope,{prefix:this.classPrefix});this.span(E)}closeNode(t){wT(t)&&(this.buffer+=mi)}value(){return this.buffer}span(t){this.buffer+=``}}const WT=(e={})=>{const t={children:[]};return Object.assign(t,e),t};class qr{constructor(){this.rootNode=WT(),this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(t){this.top.children.push(t)}openNode(t){const E=WT({scope:t});this.add(E),this.stack.push(E)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(t){return this.constructor._walk(t,this.rootNode)}static _walk(t,E){return typeof E=="string"?t.addText(E):E.children&&(t.openNode(E),E.children.forEach(s=>this._walk(t,s)),t.closeNode(E)),t}static _collapse(t){typeof t!="string"&&t.children&&(t.children.every(E=>typeof E=="string")?t.children=[t.children.join("")]:t.children.forEach(E=>{qr._collapse(E)}))}}class Hi extends qr{constructor(t){super(),this.options=t}addText(t){t!==""&&this.add(t)}startScope(t){this.openNode(t)}endScope(){this.closeNode()}__addSublanguage(t,E){const s=t.root;E&&(s.scope=`language:${E}`),this.add(s)}toHTML(){return new bi(this,this.options).value()}finalize(){return this.closeAllNodes(),!0}}function qE(e){return e?typeof e=="string"?e:e.source:null}function jo(e){return zt("(?=",e,")")}function Bi(e){return zt("(?:",e,")*")}function vi(e){return zt("(?:",e,")?")}function zt(...e){return e.map(E=>qE(E)).join("")}function Fi(e){const t=e[e.length-1];return typeof t=="object"&&t.constructor===Object?(e.splice(e.length-1,1),t):{}}function Qr(...e){return"("+(Fi(e).capture?"":"?:")+e.map(s=>qE(s)).join("|")+")"}function qo(e){return new RegExp(e.toString()+"|").exec("").length-1}function Yi(e,t){const E=e&&e.exec(t);return E&&E.index===0}const Vi=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function Zr(e,{joinWith:t}){let E=0;return e.map(s=>{E+=1;const r=E;let T=qE(s),n="";for(;T.length>0;){const o=Vi.exec(T);if(!o){n+=T;break}n+=T.substring(0,o.index),T=T.substring(o.index+o[0].length),o[0][0]==="\\"&&o[1]?n+="\\"+String(Number(o[1])+r):(n+=o[0],o[0]==="("&&E++)}return n}).map(s=>`(${s})`).join(t)}const xi=/\b\B/,Qo="[a-zA-Z]\\w*",zr="[a-zA-Z_]\\w*",Zo="\\b\\d+(\\.\\d+)?",zo="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",eR="\\b(0b[01]+)",wi="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",Wi=(e={})=>{const t=/^#![ ]*\//;return e.binary&&(e.begin=zt(t,/.*\b/,e.binary,/\b.*/)),Mt({scope:"meta",begin:t,end:/$/,relevance:0,"on:begin":(E,s)=>{E.index!==0&&s.ignoreMatch()}},e)},QE={begin:"\\\\[\\s\\S]",relevance:0},Xi={scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[QE]},$i={scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[QE]},Ki={begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},ws=function(e,t,E={}){const s=Mt({scope:"comment",begin:e,end:t,contains:[]},E);s.contains.push({scope:"doctag",begin:"[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)",end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0});const r=Qr("I","a","is","so","us","to","at","if","in","it","on",/[A-Za-z]+['](d|ve|re|ll|t|s|n)/,/[A-Za-z]+[-][a-z]+/,/[A-Za-z][a-z]{2,}/);return s.contains.push({begin:zt(/[ ]+/,"(",r,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),s},Ji=ws("//","$"),ki=ws("/\\*","\\*/"),ji=ws("#","$"),qi={scope:"number",begin:Zo,relevance:0},Qi={scope:"number",begin:zo,relevance:0},Zi={scope:"number",begin:eR,relevance:0},zi={scope:"regexp",begin:/\/(?=[^/\n]*\/)/,end:/\/[gimuy]*/,contains:[QE,{begin:/\[/,end:/\]/,relevance:0,contains:[QE]}]},eS={scope:"title",begin:Qo,relevance:0},tS={scope:"title",begin:zr,relevance:0},ES={begin:"\\.\\s*"+zr,relevance:0},sS=function(e){return Object.assign(e,{"on:begin":(t,E)=>{E.data._beginMatch=t[1]},"on:end":(t,E)=>{E.data._beginMatch!==t[1]&&E.ignoreMatch()}})};var Ss=Object.freeze({__proto__:null,APOS_STRING_MODE:Xi,BACKSLASH_ESCAPE:QE,BINARY_NUMBER_MODE:Zi,BINARY_NUMBER_RE:eR,COMMENT:ws,C_BLOCK_COMMENT_MODE:ki,C_LINE_COMMENT_MODE:Ji,C_NUMBER_MODE:Qi,C_NUMBER_RE:zo,END_SAME_AS_BEGIN:sS,HASH_COMMENT_MODE:ji,IDENT_RE:Qo,MATCH_NOTHING_RE:xi,METHOD_GUARD:ES,NUMBER_MODE:qi,NUMBER_RE:Zo,PHRASAL_WORDS_MODE:Ki,QUOTE_STRING_MODE:$i,REGEXP_MODE:zi,RE_STARTERS_RE:wi,SHEBANG:Wi,TITLE_MODE:eS,UNDERSCORE_IDENT_RE:zr,UNDERSCORE_TITLE_MODE:tS});function rS(e,t){e.input[e.index-1]==="."&&t.ignoreMatch()}function TS(e,t){e.className!==void 0&&(e.scope=e.className,delete e.className)}function nS(e,t){t&&e.beginKeywords&&(e.begin="\\b("+e.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",e.__beforeBegin=rS,e.keywords=e.keywords||e.beginKeywords,delete e.beginKeywords,e.relevance===void 0&&(e.relevance=0))}function oS(e,t){Array.isArray(e.illegal)&&(e.illegal=Qr(...e.illegal))}function RS(e,t){if(e.match){if(e.begin||e.end)throw new Error("begin & end are not supported with match");e.begin=e.match,delete e.match}}function AS(e,t){e.relevance===void 0&&(e.relevance=1)}const iS=(e,t)=>{if(!e.beforeMatch)return;if(e.starts)throw new Error("beforeMatch cannot be used with starts");const E=Object.assign({},e);Object.keys(e).forEach(s=>{delete e[s]}),e.keywords=E.keywords,e.begin=zt(E.beforeMatch,jo(E.begin)),e.starts={relevance:0,contains:[Object.assign(E,{endsParent:!0})]},e.relevance=0,delete E.beforeMatch},SS=["of","and","for","in","not","or","if","then","parent","list","value"],aS="keyword";function tR(e,t,E=aS){const s=Object.create(null);return typeof e=="string"?r(E,e.split(" ")):Array.isArray(e)?r(E,e):Object.keys(e).forEach(function(T){Object.assign(s,tR(e[T],t,T))}),s;function r(T,n){t&&(n=n.map(o=>o.toLowerCase())),n.forEach(function(o){const R=o.split("|");s[R[0]]=[T,OS(R[0],R[1])]})}}function OS(e,t){return t?Number(t):IS(e)?0:1}function IS(e){return SS.includes(e.toLowerCase())}const XT={},Kt=e=>{console.error(e)},$T=(e,...t)=>{console.log(`WARN: ${e}`,...t)},sE=(e,t)=>{XT[`${e}/${t}`]||(console.log(`Deprecated as of ${e}. ${t}`),XT[`${e}/${t}`]=!0)},Ms=new Error;function ER(e,t,{key:E}){let s=0;const r=e[E],T={},n={};for(let o=1;o<=t.length;o++)n[o+s]=r[o],T[o+s]=!0,s+=qo(t[o-1]);e[E]=n,e[E]._emit=T,e[E]._multi=!0}function NS(e){if(Array.isArray(e.begin)){if(e.skip||e.excludeBegin||e.returnBegin)throw Kt("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),Ms;if(typeof e.beginScope!="object"||e.beginScope===null)throw Kt("beginScope must be object"),Ms;ER(e,e.begin,{key:"beginScope"}),e.begin=Zr(e.begin,{joinWith:""})}}function lS(e){if(Array.isArray(e.end)){if(e.skip||e.excludeEnd||e.returnEnd)throw Kt("skip, excludeEnd, returnEnd not compatible with endScope: {}"),Ms;if(typeof e.endScope!="object"||e.endScope===null)throw Kt("endScope must be object"),Ms;ER(e,e.end,{key:"endScope"}),e.end=Zr(e.end,{joinWith:""})}}function _S(e){e.scope&&typeof e.scope=="object"&&e.scope!==null&&(e.beginScope=e.scope,delete e.scope)}function cS(e){_S(e),typeof e.beginScope=="string"&&(e.beginScope={_wrap:e.beginScope}),typeof e.endScope=="string"&&(e.endScope={_wrap:e.endScope}),NS(e),lS(e)}function CS(e){function t(n,o){return new RegExp(qE(n),"m"+(e.case_insensitive?"i":"")+(e.unicodeRegex?"u":"")+(o?"g":""))}class E{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(o,R){R.position=this.position++,this.matchIndexes[this.matchAt]=R,this.regexes.push([R,o]),this.matchAt+=qo(o)+1}compile(){this.regexes.length===0&&(this.exec=()=>null);const o=this.regexes.map(R=>R[1]);this.matcherRe=t(Zr(o,{joinWith:"|"}),!0),this.lastIndex=0}exec(o){this.matcherRe.lastIndex=this.lastIndex;const R=this.matcherRe.exec(o);if(!R)return null;const A=R.findIndex((O,I)=>I>0&&O!==void 0),i=this.matchIndexes[A];return R.splice(0,A),Object.assign(R,i)}}class s{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(o){if(this.multiRegexes[o])return this.multiRegexes[o];const R=new E;return this.rules.slice(o).forEach(([A,i])=>R.addRule(A,i)),R.compile(),this.multiRegexes[o]=R,R}resumingScanAtSamePosition(){return this.regexIndex!==0}considerAll(){this.regexIndex=0}addRule(o,R){this.rules.push([o,R]),R.type==="begin"&&this.count++}exec(o){const R=this.getMatcher(this.regexIndex);R.lastIndex=this.lastIndex;let A=R.exec(o);if(this.resumingScanAtSamePosition()&&!(A&&A.index===this.lastIndex)){const i=this.getMatcher(0);i.lastIndex=this.lastIndex+1,A=i.exec(o)}return A&&(this.regexIndex+=A.position+1,this.regexIndex===this.count&&this.considerAll()),A}}function r(n){const o=new s;return n.contains.forEach(R=>o.addRule(R.begin,{rule:R,type:"begin"})),n.terminatorEnd&&o.addRule(n.terminatorEnd,{type:"end"}),n.illegal&&o.addRule(n.illegal,{type:"illegal"}),o}function T(n,o){const R=n;if(n.isCompiled)return R;[TS,RS,cS,iS].forEach(i=>i(n,o)),e.compilerExtensions.forEach(i=>i(n,o)),n.__beforeBegin=null,[nS,oS,AS].forEach(i=>i(n,o)),n.isCompiled=!0;let A=null;return typeof n.keywords=="object"&&n.keywords.$pattern&&(n.keywords=Object.assign({},n.keywords),A=n.keywords.$pattern,delete n.keywords.$pattern),A=A||/\w+/,n.keywords&&(n.keywords=tR(n.keywords,e.case_insensitive)),R.keywordPatternRe=t(A,!0),o&&(n.begin||(n.begin=/\B|\b/),R.beginRe=t(R.begin),!n.end&&!n.endsWithParent&&(n.end=/\B|\b/),n.end&&(R.endRe=t(R.end)),R.terminatorEnd=qE(R.end)||"",n.endsWithParent&&o.terminatorEnd&&(R.terminatorEnd+=(n.end?"|":"")+o.terminatorEnd)),n.illegal&&(R.illegalRe=t(n.illegal)),n.contains||(n.contains=[]),n.contains=[].concat(...n.contains.map(function(i){return LS(i==="self"?n:i)})),n.contains.forEach(function(i){T(i,R)}),n.starts&&T(n.starts,o),R.matcher=r(R),R}if(e.compilerExtensions||(e.compilerExtensions=[]),e.contains&&e.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return e.classNameAliases=Mt(e.classNameAliases||{}),T(e)}function sR(e){return e?e.endsWithParent||sR(e.starts):!1}function LS(e){return e.variants&&!e.cachedVariants&&(e.cachedVariants=e.variants.map(function(t){return Mt(e,{variants:null},t)})),e.cachedVariants?e.cachedVariants:sR(e)?Mt(e,{starts:e.starts?Mt(e.starts):null}):Object.isFrozen(e)?Mt(e):e}var uS="11.9.0";class fS extends Error{constructor(t,E){super(t),this.name="HTMLInjectionError",this.html=E}}const Rr=ko,KT=Mt,JT=Symbol("nomatch"),pS=7,rR=function(e){const t=Object.create(null),E=Object.create(null),s=[];let r=!0;const T="Could not find the language '{}', did you forget to load/include a language module?",n={disableAutodetect:!0,name:"Plain text",contains:[]};let o={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",cssSelector:"pre code",languages:null,__emitter:Hi};function R(f){return o.noHighlightRe.test(f)}function A(f){let U=f.className+" ";U+=f.parentNode?f.parentNode.className:"";const z=o.languageDetectRe.exec(U);if(z){const Se=ae(z[1]);return Se||($T(T.replace("{}",z[1])),$T("Falling back to no-highlight mode for this block.",f)),Se?z[1]:"no-highlight"}return U.split(/\s+/).find(Se=>R(Se)||ae(Se))}function i(f,U,z){let Se="",Oe="";typeof U=="object"?(Se=f,z=U.ignoreIllegals,Oe=U.language):(sE("10.7.0","highlight(lang, code, ...args) has been deprecated."),sE("10.7.0",`Please use highlight(code, options) instead. +https://github.com/highlightjs/highlight.js/issues/2277`),Oe=f,Se=U),z===void 0&&(z=!0);const fe={code:Se,language:Oe};Pe("before:highlight",fe);const Qe=fe.result?fe.result:O(fe.language,fe.code,z);return Qe.code=fe.code,Pe("after:highlight",Qe),Qe}function O(f,U,z,Se){const Oe=Object.create(null);function fe(M,G){return M.keywords[G]}function Qe(){if(!C.keywords){p.addText(H);return}let M=0;C.keywordPatternRe.lastIndex=0;let G=C.keywordPatternRe.exec(H),W="";for(;G;){W+=H.substring(M,G.index);const ee=P.case_insensitive?G[0].toLowerCase():G[0],Le=fe(C,ee);if(Le){const[je,Ft]=Le;if(p.addText(W),W="",Oe[ee]=(Oe[ee]||0)+1,Oe[ee]<=pS&&(V+=Ft),je.startsWith("_"))W+=G[0];else{const is=P.classNameAliases[je]||je;De(G[0],is)}}else W+=G[0];M=C.keywordPatternRe.lastIndex,G=C.keywordPatternRe.exec(H)}W+=H.substring(M),p.addText(W)}function EE(){if(H==="")return;let M=null;if(typeof C.subLanguage=="string"){if(!t[C.subLanguage]){p.addText(H);return}M=O(C.subLanguage,H,!0,y[C.subLanguage]),y[C.subLanguage]=M._top}else M=c(H,C.subLanguage.length?C.subLanguage:null);C.relevance>0&&(V+=M.relevance),p.__addSublanguage(M._emitter,M.language)}function Ve(){C.subLanguage!=null?EE():Qe(),H=""}function De(M,G){M!==""&&(p.startScope(G),p.addText(M),p.endScope())}function vt(M,G){let W=1;const ee=G.length-1;for(;W<=ee;){if(!M._emit[W]){W++;continue}const Le=P.classNameAliases[M[W]]||M[W],je=G[W];Le?De(je,Le):(H=je,Qe(),H=""),W++}}function GE(M,G){return M.scope&&typeof M.scope=="string"&&p.openNode(P.classNameAliases[M.scope]||M.scope),M.beginScope&&(M.beginScope._wrap?(De(H,P.classNameAliases[M.beginScope._wrap]||M.beginScope._wrap),H=""):M.beginScope._multi&&(vt(M.beginScope,G),H="")),C=Object.create(M,{parent:{value:C}}),C}function lt(M,G,W){let ee=Yi(M.endRe,W);if(ee){if(M["on:end"]){const Le=new xT(M);M["on:end"](G,Le),Le.isMatchIgnored&&(ee=!1)}if(ee){for(;M.endsParent&&M.parent;)M=M.parent;return M}}if(M.endsWithParent)return lt(M.parent,G,W)}function mE(M){return C.matcher.regexIndex===0?(H+=M[0],1):(Ee=!0,0)}function yE(M){const G=M[0],W=M.rule,ee=new xT(W),Le=[W.__beforeBegin,W["on:begin"]];for(const je of Le)if(je&&(je(M,ee),ee.isMatchIgnored))return mE(G);return W.skip?H+=G:(W.excludeBegin&&(H+=G),Ve(),!W.returnBegin&&!W.excludeBegin&&(H=G)),GE(W,M),W.returnBegin?0:G.length}function S(M){const G=M[0],W=U.substring(M.index),ee=lt(C,M,W);if(!ee)return JT;const Le=C;C.endScope&&C.endScope._wrap?(Ve(),De(G,C.endScope._wrap)):C.endScope&&C.endScope._multi?(Ve(),vt(C.endScope,M)):Le.skip?H+=G:(Le.returnEnd||Le.excludeEnd||(H+=G),Ve(),Le.excludeEnd&&(H=G));do C.scope&&p.closeNode(),!C.skip&&!C.subLanguage&&(V+=C.relevance),C=C.parent;while(C!==ee.parent);return ee.starts&&GE(ee.starts,M),Le.returnEnd?0:G.length}function N(){const M=[];for(let G=C;G!==P;G=G.parent)G.scope&&M.unshift(G.scope);M.forEach(G=>p.openNode(G))}let L={};function D(M,G){const W=G&&G[0];if(H+=M,W==null)return Ve(),0;if(L.type==="begin"&&G.type==="end"&&L.index===G.index&&W===""){if(H+=U.slice(G.index,G.index+1),!r){const ee=new Error(`0 width match regex (${f})`);throw ee.languageName=f,ee.badRule=L.rule,ee}return 1}if(L=G,G.type==="begin")return yE(G);if(G.type==="illegal"&&!z){const ee=new Error('Illegal lexeme "'+W+'" for mode "'+(C.scope||"")+'"');throw ee.mode=C,ee}else if(G.type==="end"){const ee=S(G);if(ee!==JT)return ee}if(G.type==="illegal"&&W==="")return 1;if(j>1e5&&j>G.index*3)throw new Error("potential infinite loop, way more iterations than matches");return H+=W,W.length}const P=ae(f);if(!P)throw Kt(T.replace("{}",f)),new Error('Unknown language: "'+f+'"');const m=CS(P);let F="",C=Se||m;const y={},p=new o.__emitter(o);N();let H="",V=0,w=0,j=0,Ee=!1;try{if(P.__emitTokens)P.__emitTokens(U,p);else{for(C.matcher.considerAll();;){j++,Ee?Ee=!1:C.matcher.considerAll(),C.matcher.lastIndex=w;const M=C.matcher.exec(U);if(!M)break;const G=U.substring(w,M.index),W=D(G,M);w=M.index+W}D(U.substring(w))}return p.finalize(),F=p.toHTML(),{language:f,value:F,relevance:V,illegal:!1,_emitter:p,_top:C}}catch(M){if(M.message&&M.message.includes("Illegal"))return{language:f,value:Rr(U),illegal:!0,relevance:0,_illegalBy:{message:M.message,index:w,context:U.slice(w-100,w+100),mode:M.mode,resultSoFar:F},_emitter:p};if(r)return{language:f,value:Rr(U),illegal:!1,relevance:0,errorRaised:M,_emitter:p,_top:C};throw M}}function I(f){const U={value:Rr(f),illegal:!1,relevance:0,_top:n,_emitter:new o.__emitter(o)};return U._emitter.addText(f),U}function c(f,U){U=U||o.languages||Object.keys(t);const z=I(f),Se=U.filter(ae).filter(_).map(Ve=>O(Ve,f,!1));Se.unshift(z);const Oe=Se.sort((Ve,De)=>{if(Ve.relevance!==De.relevance)return De.relevance-Ve.relevance;if(Ve.language&&De.language){if(ae(Ve.language).supersetOf===De.language)return 1;if(ae(De.language).supersetOf===Ve.language)return-1}return 0}),[fe,Qe]=Oe,EE=fe;return EE.secondBest=Qe,EE}function h(f,U,z){const Se=U&&E[U]||z;f.classList.add("hljs"),f.classList.add(`language-${Se}`)}function B(f){let U=null;const z=A(f);if(R(z))return;if(Pe("before:highlightElement",{el:f,language:z}),f.dataset.highlighted){console.log("Element previously highlighted. To highlight again, first unset `dataset.highlighted`.",f);return}if(f.children.length>0&&(o.ignoreUnescapedHTML||(console.warn("One of your code blocks includes unescaped HTML. This is a potentially serious security risk."),console.warn("https://github.com/highlightjs/highlight.js/wiki/security"),console.warn("The element with unescaped HTML:"),console.warn(f)),o.throwUnescapedHTML))throw new fS("One of your code blocks includes unescaped HTML.",f.innerHTML);U=f;const Se=U.textContent,Oe=z?i(Se,{language:z,ignoreIllegals:!0}):c(Se);f.innerHTML=Oe.value,f.dataset.highlighted="yes",h(f,z,Oe.language),f.result={language:Oe.language,re:Oe.relevance,relevance:Oe.relevance},Oe.secondBest&&(f.secondBest={language:Oe.secondBest.language,relevance:Oe.secondBest.relevance}),Pe("after:highlightElement",{el:f,result:Oe,text:Se})}function x(f){o=KT(o,f)}const X=()=>{b(),sE("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")};function J(){b(),sE("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")}let q=!1;function b(){if(document.readyState==="loading"){q=!0;return}document.querySelectorAll(o.cssSelector).forEach(B)}function oe(){q&&b()}typeof window<"u"&&window.addEventListener&&window.addEventListener("DOMContentLoaded",oe,!1);function Ie(f,U){let z=null;try{z=U(e)}catch(Se){if(Kt("Language definition for '{}' could not be registered.".replace("{}",f)),r)Kt(Se);else throw Se;z=n}z.name||(z.name=f),t[f]=z,z.rawDefinition=U.bind(null,e),z.aliases&&l(z.aliases,{languageName:f})}function Z(f){delete t[f];for(const U of Object.keys(E))E[U]===f&&delete E[U]}function pe(){return Object.keys(t)}function ae(f){return f=(f||"").toLowerCase(),t[f]||t[E[f]]}function l(f,{languageName:U}){typeof f=="string"&&(f=[f]),f.forEach(z=>{E[z.toLowerCase()]=U})}function _(f){const U=ae(f);return U&&!U.disableAutodetect}function u(f){f["before:highlightBlock"]&&!f["before:highlightElement"]&&(f["before:highlightElement"]=U=>{f["before:highlightBlock"](Object.assign({block:U.el},U))}),f["after:highlightBlock"]&&!f["after:highlightElement"]&&(f["after:highlightElement"]=U=>{f["after:highlightBlock"](Object.assign({block:U.el},U))})}function v(f){u(f),s.push(f)}function K(f){const U=s.indexOf(f);U!==-1&&s.splice(U,1)}function Pe(f,U){const z=f;s.forEach(function(Se){Se[z]&&Se[z](U)})}function Re(f){return sE("10.7.0","highlightBlock will be removed entirely in v12.0"),sE("10.7.0","Please use highlightElement now."),B(f)}Object.assign(e,{highlight:i,highlightAuto:c,highlightAll:b,highlightElement:B,highlightBlock:Re,configure:x,initHighlighting:X,initHighlightingOnLoad:J,registerLanguage:Ie,unregisterLanguage:Z,listLanguages:pe,getLanguage:ae,registerAliases:l,autoDetection:_,inherit:KT,addPlugin:v,removePlugin:K}),e.debugMode=function(){r=!1},e.safeMode=function(){r=!0},e.versionString=uS,e.regex={concat:zt,lookahead:jo,either:Qr,optional:vi,anyNumberOfTimes:Bi};for(const f in Ss)typeof Ss[f]=="object"&&Jo(Ss[f]);return Object.assign(e,Ss),e},IE=rR({});IE.newInstance=()=>rR({});var PS=IE;IE.HighlightJS=IE;IE.default=IE;const xE=xs(PS);function DS(e){const t=e.regex,E=e.COMMENT("--","$"),s={className:"string",variants:[{begin:/'/,end:/'/,contains:[{begin:/''/}]}]},r={begin:/"/,end:/"/,contains:[{begin:/""/}]},T=["true","false","unknown"],n=["double precision","large object","with timezone","without timezone"],o=["bigint","binary","blob","boolean","char","character","clob","date","dec","decfloat","decimal","float","int","integer","interval","nchar","nclob","national","numeric","real","row","smallint","time","timestamp","varchar","varying","varbinary"],R=["add","asc","collation","desc","final","first","last","view"],A=["abs","acos","all","allocate","alter","and","any","are","array","array_agg","array_max_cardinality","as","asensitive","asin","asymmetric","at","atan","atomic","authorization","avg","begin","begin_frame","begin_partition","between","bigint","binary","blob","boolean","both","by","call","called","cardinality","cascaded","case","cast","ceil","ceiling","char","char_length","character","character_length","check","classifier","clob","close","coalesce","collate","collect","column","commit","condition","connect","constraint","contains","convert","copy","corr","corresponding","cos","cosh","count","covar_pop","covar_samp","create","cross","cube","cume_dist","current","current_catalog","current_date","current_default_transform_group","current_path","current_role","current_row","current_schema","current_time","current_timestamp","current_path","current_role","current_transform_group_for_type","current_user","cursor","cycle","date","day","deallocate","dec","decimal","decfloat","declare","default","define","delete","dense_rank","deref","describe","deterministic","disconnect","distinct","double","drop","dynamic","each","element","else","empty","end","end_frame","end_partition","end-exec","equals","escape","every","except","exec","execute","exists","exp","external","extract","false","fetch","filter","first_value","float","floor","for","foreign","frame_row","free","from","full","function","fusion","get","global","grant","group","grouping","groups","having","hold","hour","identity","in","indicator","initial","inner","inout","insensitive","insert","int","integer","intersect","intersection","interval","into","is","join","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","language","large","last_value","lateral","lead","leading","left","like","like_regex","listagg","ln","local","localtime","localtimestamp","log","log10","lower","match","match_number","match_recognize","matches","max","member","merge","method","min","minute","mod","modifies","module","month","multiset","national","natural","nchar","nclob","new","no","none","normalize","not","nth_value","ntile","null","nullif","numeric","octet_length","occurrences_regex","of","offset","old","omit","on","one","only","open","or","order","out","outer","over","overlaps","overlay","parameter","partition","pattern","per","percent","percent_rank","percentile_cont","percentile_disc","period","portion","position","position_regex","power","precedes","precision","prepare","primary","procedure","ptf","range","rank","reads","real","recursive","ref","references","referencing","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","release","result","return","returns","revoke","right","rollback","rollup","row","row_number","rows","running","savepoint","scope","scroll","search","second","seek","select","sensitive","session_user","set","show","similar","sin","sinh","skip","smallint","some","specific","specifictype","sql","sqlexception","sqlstate","sqlwarning","sqrt","start","static","stddev_pop","stddev_samp","submultiset","subset","substring","substring_regex","succeeds","sum","symmetric","system","system_time","system_user","table","tablesample","tan","tanh","then","time","timestamp","timezone_hour","timezone_minute","to","trailing","translate","translate_regex","translation","treat","trigger","trim","trim_array","true","truncate","uescape","union","unique","unknown","unnest","update","upper","user","using","value","values","value_of","var_pop","var_samp","varbinary","varchar","varying","versioning","when","whenever","where","width_bucket","window","with","within","without","year"],i=["abs","acos","array_agg","asin","atan","avg","cast","ceil","ceiling","coalesce","corr","cos","cosh","count","covar_pop","covar_samp","cume_dist","dense_rank","deref","element","exp","extract","first_value","floor","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","last_value","lead","listagg","ln","log","log10","lower","max","min","mod","nth_value","ntile","nullif","percent_rank","percentile_cont","percentile_disc","position","position_regex","power","rank","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","row_number","sin","sinh","sqrt","stddev_pop","stddev_samp","substring","substring_regex","sum","tan","tanh","translate","translate_regex","treat","trim","trim_array","unnest","upper","value_of","var_pop","var_samp","width_bucket"],O=["current_catalog","current_date","current_default_transform_group","current_path","current_role","current_schema","current_transform_group_for_type","current_user","session_user","system_time","system_user","current_time","localtime","current_timestamp","localtimestamp"],I=["create table","insert into","primary key","foreign key","not null","alter table","add constraint","grouping sets","on overflow","character set","respect nulls","ignore nulls","nulls first","nulls last","depth first","breadth first"],c=i,h=[...A,...R].filter(q=>!i.includes(q)),B={className:"variable",begin:/@[a-z0-9][a-z0-9_]*/},x={className:"operator",begin:/[-+*/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?/,relevance:0},X={begin:t.concat(/\b/,t.either(...c),/\s*\(/),relevance:0,keywords:{built_in:c}};function J(q,{exceptions:b,when:oe}={}){const Ie=oe;return b=b||[],q.map(Z=>Z.match(/\|\d+$/)||b.includes(Z)?Z:Ie(Z)?`${Z}|0`:Z)}return{name:"SQL",case_insensitive:!0,illegal:/[{}]|<\//,keywords:{$pattern:/\b[\w\.]+/,keyword:J(h,{when:q=>q.length<3}),literal:T,type:o,built_in:O},contains:[{begin:t.either(...I),relevance:0,keywords:{$pattern:/[\w\.]+/,keyword:h.concat(I),literal:T,type:o}},{className:"type",begin:t.either(...n)},X,B,s,r,e.C_NUMBER_MODE,e.C_BLOCK_COMMENT_MODE,E,x]}}function dS(e){const t={className:"attr",begin:/"(\\.|[^\\"\r\n])*"(?=\s*:)/,relevance:1.01},E={match:/[{}[\],:]/,className:"punctuation",relevance:0},s=["true","false","null"],r={scope:"literal",beginKeywords:s.join(" ")};return{name:"JSON",keywords:{literal:s},contains:[t,E,e.QUOTE_STRING_MODE,r,e.C_NUMBER_MODE,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE],illegal:"\\S"}}function eT(e,t){const E=Object.create(null),s=e.split(",");for(let r=0;r!!E[r.toLowerCase()]:r=>!!E[r]}const ce={},SE=[],at=()=>{},MS=()=>!1,Ws=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),tT=e=>e.startsWith("onUpdate:"),He=Object.assign,ET=(e,t)=>{const E=e.indexOf(t);E>-1&&e.splice(E,1)},US=Object.prototype.hasOwnProperty,ie=(e,t)=>US.call(e,t),Q=Array.isArray,aE=e=>Xs(e)==="[object Map]",TR=e=>Xs(e)==="[object Set]",te=e=>typeof e=="function",de=e=>typeof e=="string",CE=e=>typeof e=="symbol",Ce=e=>e!==null&&typeof e=="object",nR=e=>(Ce(e)||te(e))&&te(e.then)&&te(e.catch),oR=Object.prototype.toString,Xs=e=>oR.call(e),hS=e=>Xs(e).slice(8,-1),RR=e=>Xs(e)==="[object Object]",sT=e=>de(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Cs=eT(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),$s=e=>{const t=Object.create(null);return E=>t[E]||(t[E]=e(E))},gS=/-(\w)/g,It=$s(e=>e.replace(gS,(t,E)=>E?E.toUpperCase():"")),GS=/\B([A-Z])/g,LE=$s(e=>e.replace(GS,"-$1").toLowerCase()),Ks=$s(e=>e.charAt(0).toUpperCase()+e.slice(1)),Ar=$s(e=>e?`on${Ks(e)}`:""),qt=(e,t)=>!Object.is(e,t),ir=(e,t)=>{for(let E=0;E{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value:E})},mS=e=>{const t=parseFloat(e);return isNaN(t)?e:t};let kT;const fr=()=>kT||(kT=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Js(e){if(Q(e)){const t={};for(let E=0;E{if(E){const s=E.split(bS);s.length>1&&(t[s[0].trim()]=s[1].trim())}}),t}function ke(e){let t="";if(de(e))t=e;else if(Q(e))for(let E=0;Ede(e)?e:e==null?"":Q(e)||Ce(e)&&(e.toString===oR||!te(e.toString))?JSON.stringify(e,iR,2):String(e),iR=(e,t)=>t&&t.__v_isRef?iR(e,t.value):aE(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((E,[s,r],T)=>(E[Sr(s,T)+" =>"]=r,E),{})}:TR(t)?{[`Set(${t.size})`]:[...t.values()].map(E=>Sr(E))}:CE(t)?Sr(t):Ce(t)&&!Q(t)&&!RR(t)?String(t):t,Sr=(e,t="")=>{var E;return CE(e)?`Symbol(${(E=e.description)!=null?E:t})`:e};let Je;class SR{constructor(t=!1){this.detached=t,this._active=!0,this.effects=[],this.cleanups=[],this.parent=Je,!t&&Je&&(this.index=(Je.scopes||(Je.scopes=[])).push(this)-1)}get active(){return this._active}run(t){if(this._active){const E=Je;try{return Je=this,t()}finally{Je=E}}}on(){Je=this}off(){Je=this.parent}stop(t){if(this._active){let E,s;for(E=0,s=this.effects.length;E{const t=new Set(e);return t.w=0,t.n=0,t},NR=e=>(e.w&yt)>0,lR=e=>(e.n&yt)>0,xS=({deps:e})=>{if(e.length)for(let t=0;t{const{deps:t}=e;if(t.length){let E=0;for(let s=0;s{(i==="length"||!CE(i)&&i>=R)&&o.push(A)})}else switch(E!==void 0&&o.push(n.get(E)),t){case"add":Q(e)?sT(E)&&o.push(n.get("length")):(o.push(n.get(Jt)),aE(e)&&o.push(n.get(Pr)));break;case"delete":Q(e)||(o.push(n.get(Jt)),aE(e)&&o.push(n.get(Pr)));break;case"set":aE(e)&&o.push(n.get(Jt));break}if(o.length===1)o[0]&&Dr(o[0]);else{const R=[];for(const A of o)A&&R.push(...A);Dr(rT(R))}}function Dr(e,t){const E=Q(e)?e:[...e];for(const s of E)s.computed&&qT(s);for(const s of E)s.computed||qT(s)}function qT(e,t){(e!==Et||e.allowRecurse)&&(e.scheduler?e.scheduler():e.run())}function WS(e,t){var E;return(E=hs.get(e))==null?void 0:E.get(t)}const XS=eT("__proto__,__v_isRef,__isVue"),CR=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(CE)),QT=$S();function $S(){const e={};return["includes","indexOf","lastIndexOf"].forEach(t=>{e[t]=function(...E){const s=ne(this);for(let T=0,n=this.length;T{e[t]=function(...E){uE();const s=ne(this)[t].apply(this,E);return fE(),s}}),e}function KS(e){const t=ne(this);return $e(t,"has",e),t.hasOwnProperty(e)}class LR{constructor(t=!1,E=!1){this._isReadonly=t,this._shallow=E}get(t,E,s){const r=this._isReadonly,T=this._shallow;if(E==="__v_isReactive")return!r;if(E==="__v_isReadonly")return r;if(E==="__v_isShallow")return T;if(E==="__v_raw")return s===(r?T?Ta:PR:T?pR:fR).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(s)?t:void 0;const n=Q(t);if(!r){if(n&&ie(QT,E))return Reflect.get(QT,E,s);if(E==="hasOwnProperty")return KS}const o=Reflect.get(t,E,s);return(CE(E)?CR.has(E):XS(E))||(r||$e(t,"get",E),T)?o:Ue(o)?n&&sT(E)?o:o.value:Ce(o)?r?DR(o):bt(o):o}}class uR extends LR{constructor(t=!1){super(!1,t)}set(t,E,s,r){let T=t[E];if(!this._shallow){const R=NE(T);if(!gs(s)&&!NE(s)&&(T=ne(T),s=ne(s)),!Q(t)&&Ue(T)&&!Ue(s))return R?!1:(T.value=s,!0)}const n=Q(t)&&sT(E)?Number(E)e,ks=e=>Reflect.getPrototypeOf(e);function as(e,t,E=!1,s=!1){e=e.__v_raw;const r=ne(e),T=ne(t);E||(qt(t,T)&&$e(r,"get",t),$e(r,"get",T));const{has:n}=ks(r),o=s?nT:E?AT:ZE;if(n.call(r,t))return o(e.get(t));if(n.call(r,T))return o(e.get(T));e!==r&&e.get(t)}function Os(e,t=!1){const E=this.__v_raw,s=ne(E),r=ne(e);return t||(qt(e,r)&&$e(s,"has",e),$e(s,"has",r)),e===r?E.has(e):E.has(e)||E.has(r)}function Is(e,t=!1){return e=e.__v_raw,!t&&$e(ne(e),"iterate",Jt),Reflect.get(e,"size",e)}function ZT(e){e=ne(e);const t=ne(this);return ks(t).has.call(t,e)||(t.add(e),Ct(t,"add",e,e)),this}function zT(e,t){t=ne(t);const E=ne(this),{has:s,get:r}=ks(E);let T=s.call(E,e);T||(e=ne(e),T=s.call(E,e));const n=r.call(E,e);return E.set(e,t),T?qt(t,n)&&Ct(E,"set",e,t):Ct(E,"add",e,t),this}function en(e){const t=ne(this),{has:E,get:s}=ks(t);let r=E.call(t,e);r||(e=ne(e),r=E.call(t,e)),s&&s.call(t,e);const T=t.delete(e);return r&&Ct(t,"delete",e,void 0),T}function tn(){const e=ne(this),t=e.size!==0,E=e.clear();return t&&Ct(e,"clear",void 0,void 0),E}function Ns(e,t){return function(s,r){const T=this,n=T.__v_raw,o=ne(n),R=t?nT:e?AT:ZE;return!e&&$e(o,"iterate",Jt),n.forEach((A,i)=>s.call(r,R(A),R(i),T))}}function ls(e,t,E){return function(...s){const r=this.__v_raw,T=ne(r),n=aE(T),o=e==="entries"||e===Symbol.iterator&&n,R=e==="keys"&&n,A=r[e](...s),i=E?nT:t?AT:ZE;return!t&&$e(T,"iterate",R?Pr:Jt),{next(){const{value:O,done:I}=A.next();return I?{value:O,done:I}:{value:o?[i(O[0]),i(O[1])]:i(O),done:I}},[Symbol.iterator](){return this}}}}function Pt(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function QS(){const e={get(T){return as(this,T)},get size(){return Is(this)},has:Os,add:ZT,set:zT,delete:en,clear:tn,forEach:Ns(!1,!1)},t={get(T){return as(this,T,!1,!0)},get size(){return Is(this)},has:Os,add:ZT,set:zT,delete:en,clear:tn,forEach:Ns(!1,!0)},E={get(T){return as(this,T,!0)},get size(){return Is(this,!0)},has(T){return Os.call(this,T,!0)},add:Pt("add"),set:Pt("set"),delete:Pt("delete"),clear:Pt("clear"),forEach:Ns(!0,!1)},s={get(T){return as(this,T,!0,!0)},get size(){return Is(this,!0)},has(T){return Os.call(this,T,!0)},add:Pt("add"),set:Pt("set"),delete:Pt("delete"),clear:Pt("clear"),forEach:Ns(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(T=>{e[T]=ls(T,!1,!1),E[T]=ls(T,!0,!1),t[T]=ls(T,!1,!0),s[T]=ls(T,!0,!0)}),[e,E,t,s]}const[ZS,zS,ea,ta]=QS();function oT(e,t){const E=t?e?ta:ea:e?zS:ZS;return(s,r,T)=>r==="__v_isReactive"?!e:r==="__v_isReadonly"?e:r==="__v_raw"?s:Reflect.get(ie(E,r)&&r in s?E:s,r,T)}const Ea={get:oT(!1,!1)},sa={get:oT(!1,!0)},ra={get:oT(!0,!1)},fR=new WeakMap,pR=new WeakMap,PR=new WeakMap,Ta=new WeakMap;function na(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function oa(e){return e.__v_skip||!Object.isExtensible(e)?0:na(hS(e))}function bt(e){return NE(e)?e:RT(e,!1,kS,Ea,fR)}function Ra(e){return RT(e,!1,qS,sa,pR)}function DR(e){return RT(e,!0,jS,ra,PR)}function RT(e,t,E,s,r){if(!Ce(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const T=r.get(e);if(T)return T;const n=oa(e);if(n===0)return e;const o=new Proxy(e,n===2?s:E);return r.set(e,o),o}function Gt(e){return NE(e)?Gt(e.__v_raw):!!(e&&e.__v_isReactive)}function NE(e){return!!(e&&e.__v_isReadonly)}function gs(e){return!!(e&&e.__v_isShallow)}function dR(e){return Gt(e)||NE(e)}function ne(e){const t=e&&e.__v_raw;return t?ne(t):e}function Qt(e){return Us(e,"__v_skip",!0),e}const ZE=e=>Ce(e)?bt(e):e,AT=e=>Ce(e)?DR(e):e;function MR(e){gt&&Et&&(e=ne(e),cR(e.dep||(e.dep=rT())))}function UR(e,t){e=ne(e);const E=e.dep;E&&Dr(E)}function Ue(e){return!!(e&&e.__v_isRef===!0)}function Ut(e){return Aa(e,!1)}function Aa(e,t){return Ue(e)?e:new ia(e,t)}class ia{constructor(t,E){this.__v_isShallow=E,this.dep=void 0,this.__v_isRef=!0,this._rawValue=E?t:ne(t),this._value=E?t:ZE(t)}get value(){return MR(this),this._value}set value(t){const E=this.__v_isShallow||gs(t)||NE(t);t=E?t:ne(t),qt(t,this._rawValue)&&(this._rawValue=t,this._value=E?t:ZE(t),UR(this))}}function se(e){return Ue(e)?e.value:e}const Sa={get:(e,t,E)=>se(Reflect.get(e,t,E)),set:(e,t,E,s)=>{const r=e[t];return Ue(r)&&!Ue(E)?(r.value=E,!0):Reflect.set(e,t,E,s)}};function hR(e){return Gt(e)?e:new Proxy(e,Sa)}function aa(e){const t=Q(e)?new Array(e.length):{};for(const E in e)t[E]=Ia(e,E);return t}class Oa{constructor(t,E,s){this._object=t,this._key=E,this._defaultValue=s,this.__v_isRef=!0}get value(){const t=this._object[this._key];return t===void 0?this._defaultValue:t}set value(t){this._object[this._key]=t}get dep(){return WS(ne(this._object),this._key)}}function Ia(e,t,E){const s=e[t];return Ue(s)?s:new Oa(e,t,E)}class Na{constructor(t,E,s,r){this._setter=E,this.dep=void 0,this.__v_isRef=!0,this.__v_isReadonly=!1,this._dirty=!0,this.effect=new TT(t,()=>{this._dirty||(this._dirty=!0,UR(this))}),this.effect.computed=this,this.effect.active=this._cacheable=!r,this.__v_isReadonly=s}get value(){const t=ne(this);return MR(t),(t._dirty||!t._cacheable)&&(t._dirty=!1,t._value=t.effect.run()),t._value}set value(t){this._setter(t)}}function la(e,t,E=!1){let s,r;const T=te(e);return T?(s=e,r=at):(s=e.get,r=e.set),new Na(s,r,T||!r,E)}function mt(e,t,E,s){let r;try{r=s?e(...s):e()}catch(T){js(T,t,E)}return r}function Tt(e,t,E,s){if(te(e)){const T=mt(e,t,E,s);return T&&nR(T)&&T.catch(n=>{js(n,t,E)}),T}const r=[];for(let T=0;T>>1,r=Fe[s],T=es(r);Tit&&Fe.splice(t,1)}function La(e){Q(e)?OE.push(...e):(!ct||!ct.includes(e,e.allowRecurse?Xt+1:Xt))&&OE.push(e),mR()}function En(e,t,E=zE?it+1:0){for(;Ees(E)-es(s)),Xt=0;Xte.id==null?1/0:e.id,ua=(e,t)=>{const E=es(e)-es(t);if(E===0){if(e.pre&&!t.pre)return-1;if(t.pre&&!e.pre)return 1}return E};function bR(e){dr=!1,zE=!0,Fe.sort(ua);try{for(it=0;itSt.emit(r,...T)),YE=[]):typeof window<"u"&&window.HTMLElement&&!((s=(E=window.navigator)==null?void 0:E.userAgent)!=null&&s.includes("jsdom"))?((t.__VUE_DEVTOOLS_HOOK_REPLAY__=t.__VUE_DEVTOOLS_HOOK_REPLAY__||[]).push(T=>{HR(T,t)}),setTimeout(()=>{St||(t.__VUE_DEVTOOLS_HOOK_REPLAY__=null,Mr=!0,YE=[])},3e3)):(Mr=!0,YE=[])}function fa(e,t){qs("app:init",e,t,{Fragment:_e,Text:ns,Comment:ut,Static:KE})}function pa(e){qs("app:unmount",e)}const Pa=aT("component:added"),BR=aT("component:updated"),Da=aT("component:removed"),da=e=>{St&&typeof St.cleanupBuffer=="function"&&!St.cleanupBuffer(e)&&Da(e)};function aT(e){return t=>{qs(e,t.appContext.app,t.uid,t.parent?t.parent.uid:void 0,t)}}function Ma(e,t,E){qs("component:emit",e.appContext.app,e,t,E)}function Ua(e,t,...E){if(e.isUnmounted)return;const s=e.vnode.props||ce;let r=E;const T=t.startsWith("update:"),n=T&&t.slice(7);if(n&&n in s){const i=`${n==="modelValue"?"model":n}Modifiers`,{number:O,trim:I}=s[i]||ce;I&&(r=E.map(c=>de(c)?c.trim():c)),O&&(r=E.map(mS))}Ma(e,t,r);let o,R=s[o=Ar(t)]||s[o=Ar(It(t))];!R&&T&&(R=s[o=Ar(LE(t))]),R&&Tt(R,e,6,r);const A=s[o+"Once"];if(A){if(!e.emitted)e.emitted={};else if(e.emitted[o])return;e.emitted[o]=!0,Tt(A,e,6,r)}}function vR(e,t,E=!1){const s=t.emitsCache,r=s.get(e);if(r!==void 0)return r;const T=e.emits;let n={},o=!1;if(!te(e)){const R=A=>{const i=vR(A,t,!0);i&&(o=!0,He(n,i))};!E&&t.mixins.length&&t.mixins.forEach(R),e.extends&&R(e.extends),e.mixins&&e.mixins.forEach(R)}return!T&&!o?(Ce(e)&&s.set(e,null),null):(Q(T)?T.forEach(R=>n[R]=null):He(n,T),Ce(e)&&s.set(e,n),n)}function Qs(e,t){return!e||!Ws(t)?!1:(t=t.slice(2).replace(/Once$/,""),ie(e,t[0].toLowerCase()+t.slice(1))||ie(e,LE(t))||ie(e,t))}let Ye=null,FR=null;function Gs(e){const t=Ye;return Ye=e,FR=e&&e.type.__scopeId||null,t}function Ae(e,t=Ye,E){if(!t||e._n)return e;const s=(...r)=>{s._d&&Nn(-1);const T=Gs(t);let n;try{n=e(...r)}finally{Gs(T),s._d&&Nn(1)}return BR(t),n};return s._n=!0,s._c=!0,s._d=!0,s}function ar(e){const{type:t,vnode:E,proxy:s,withProxy:r,props:T,propsOptions:[n],slots:o,attrs:R,emit:A,render:i,renderCache:O,data:I,setupState:c,ctx:h,inheritAttrs:B}=e;let x,X;const J=Gs(e);try{if(E.shapeFlag&4){const b=r||s,oe=b;x=At(i.call(oe,b,O,T,c,I,h)),X=R}else{const b=t;x=At(b.length>1?b(T,{attrs:R,slots:o,emit:A}):b(T,null)),X=t.props?R:ha(R)}}catch(b){JE.length=0,js(b,e,1),x=$(ut)}let q=x;if(X&&B!==!1){const b=Object.keys(X),{shapeFlag:oe}=q;b.length&&oe&7&&(n&&b.some(tT)&&(X=ga(X,n)),q=lE(q,X))}return E.dirs&&(q=lE(q),q.dirs=q.dirs?q.dirs.concat(E.dirs):E.dirs),E.transition&&(q.transition=E.transition),x=q,Gs(J),x}const ha=e=>{let t;for(const E in e)(E==="class"||E==="style"||Ws(E))&&((t||(t={}))[E]=e[E]);return t},ga=(e,t)=>{const E={};for(const s in e)(!tT(s)||!(s.slice(9)in t))&&(E[s]=e[s]);return E};function Ga(e,t,E){const{props:s,children:r,component:T}=e,{props:n,children:o,patchFlag:R}=t,A=T.emitsOptions;if(t.dirs||t.transition)return!0;if(E&&R>=0){if(R&1024)return!0;if(R&16)return s?sn(s,n,A):!!n;if(R&8){const i=t.dynamicProps;for(let O=0;Oe.__isSuspense;function Ba(e,t){t&&t.pendingBranch?Q(e)?t.effects.push(...e):t.effects.push(e):La(e)}const _s={};function kt(e,t,E){return VR(e,t,E)}function VR(e,t,{immediate:E,deep:s,flush:r,onTrack:T,onTrigger:n}=ce){var o;const R=IR()===((o=be)==null?void 0:o.scope)?be:null;let A,i=!1,O=!1;if(Ue(e)?(A=()=>e.value,i=gs(e)):Gt(e)?(A=()=>e,s=!0):Q(e)?(O=!0,i=e.some(b=>Gt(b)||gs(b)),A=()=>e.map(b=>{if(Ue(b))return b.value;if(Gt(b))return AE(b);if(te(b))return mt(b,R,2)})):te(e)?t?A=()=>mt(e,R,2):A=()=>{if(!(R&&R.isUnmounted))return I&&I(),Tt(e,R,3,[c])}:A=at,t&&s){const b=A;A=()=>AE(b())}let I,c=b=>{I=J.onStop=()=>{mt(b,R,4),I=J.onStop=void 0}},h;if(ss)if(c=at,t?E&&Tt(t,R,3,[A(),O?[]:void 0,c]):A(),r==="sync"){const b=mO();h=b.__watcherHandles||(b.__watcherHandles=[])}else return at;let B=O?new Array(e.length).fill(_s):_s;const x=()=>{if(J.active)if(t){const b=J.run();(s||i||(O?b.some((oe,Ie)=>qt(oe,B[Ie])):qt(b,B)))&&(I&&I(),Tt(t,R,3,[b,B===_s?void 0:O&&B[0]===_s?[]:B,c]),B=b)}else J.run()};x.allowRecurse=!!t;let X;r==="sync"?X=x:r==="post"?X=()=>Xe(x,R&&R.suspense):(x.pre=!0,R&&(x.id=R.uid),X=()=>ST(x));const J=new TT(A,X);t?E?x():B=J.run():r==="post"?Xe(J.run.bind(J),R&&R.suspense):J.run();const q=()=>{J.stop(),R&&R.scope&&ET(R.scope.effects,J)};return h&&h.push(q),q}function va(e,t,E){const s=this.proxy,r=de(e)?e.includes(".")?xR(s,e):()=>s[e]:e.bind(s,s);let T;te(t)?T=t:(T=t.handler,E=t);const n=be;_E(this);const o=VR(r,T.bind(s),E);return n?_E(n):jt(),o}function xR(e,t){const E=t.split(".");return()=>{let s=e;for(let r=0;r{AE(E,t)});else if(RR(e))for(const E in e)AE(e[E],t);return e}function Yt(e,t,E,s){const r=e.dirs,T=t&&t.dirs;for(let n=0;n!!e.type.__asyncLoader,wR=e=>e.type.__isKeepAlive;function Fa(e,t){WR(e,"a",t)}function Ya(e,t){WR(e,"da",t)}function WR(e,t,E=be){const s=e.__wdc||(e.__wdc=()=>{let r=E;for(;r;){if(r.isDeactivated)return;r=r.parent}return e()});if(Zs(t,s,E),E){let r=E.parent;for(;r&&r.parent;)wR(r.parent.vnode)&&Va(s,t,E,r),r=r.parent}}function Va(e,t,E,s){const r=Zs(t,e,s,!0);$R(()=>{ET(s[t],r)},E)}function Zs(e,t,E=be,s=!1){if(E){const r=E[e]||(E[e]=[]),T=t.__weh||(t.__weh=(...n)=>{if(E.isUnmounted)return;uE(),_E(E);const o=Tt(t,E,e,n);return jt(),fE(),o});return s?r.unshift(T):r.push(T),T}}const ft=e=>(t,E=be)=>(!ss||e==="sp")&&Zs(e,(...s)=>t(...s),E),XR=ft("bm"),zs=ft("m"),xa=ft("bu"),wa=ft("u"),Wa=ft("bum"),$R=ft("um"),Xa=ft("sp"),$a=ft("rtg"),Ka=ft("rtc");function Ja(e,t=be){Zs("ec",e,t)}function qe(e,t,E,s){let r;const T=E&&E[s];if(Q(e)||de(e)){r=new Array(e.length);for(let n=0,o=e.length;nt(n,o,void 0,T&&T[o]));else{const n=Object.keys(e);r=new Array(n.length);for(let o=0,R=n.length;oys(t)?!(t.type===ut||t.type===_e&&!KR(t.children)):!0)?e:null}const Ur=e=>e?sA(e)?cT(e)||e.proxy:Ur(e.parent):null,WE=He(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>Ur(e.parent),$root:e=>Ur(e.root),$emit:e=>e.emit,$options:e=>OT(e),$forceUpdate:e=>e.f||(e.f=()=>ST(e.update)),$nextTick:e=>e.n||(e.n=GR.bind(e.proxy)),$watch:e=>va.bind(e)}),Or=(e,t)=>e!==ce&&!e.__isScriptSetup&&ie(e,t),ka={get({_:e},t){const{ctx:E,setupState:s,data:r,props:T,accessCache:n,type:o,appContext:R}=e;let A;if(t[0]!=="$"){const c=n[t];if(c!==void 0)switch(c){case 1:return s[t];case 2:return r[t];case 4:return E[t];case 3:return T[t]}else{if(Or(s,t))return n[t]=1,s[t];if(r!==ce&&ie(r,t))return n[t]=2,r[t];if((A=e.propsOptions[0])&&ie(A,t))return n[t]=3,T[t];if(E!==ce&&ie(E,t))return n[t]=4,E[t];hr&&(n[t]=0)}}const i=WE[t];let O,I;if(i)return t==="$attrs"&&$e(e,"get",t),i(e);if((O=o.__cssModules)&&(O=O[t]))return O;if(E!==ce&&ie(E,t))return n[t]=4,E[t];if(I=R.config.globalProperties,ie(I,t))return I[t]},set({_:e},t,E){const{data:s,setupState:r,ctx:T}=e;return Or(r,t)?(r[t]=E,!0):s!==ce&&ie(s,t)?(s[t]=E,!0):ie(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(T[t]=E,!0)},has({_:{data:e,setupState:t,accessCache:E,ctx:s,appContext:r,propsOptions:T}},n){let o;return!!E[n]||e!==ce&&ie(e,n)||Or(t,n)||(o=T[0])&&ie(o,n)||ie(s,n)||ie(WE,n)||ie(r.config.globalProperties,n)},defineProperty(e,t,E){return E.get!=null?e._.accessCache[t]=0:ie(E,"value")&&this.set(e,t,E.value,null),Reflect.defineProperty(e,t,E)}};function Tn(e){return Q(e)?e.reduce((t,E)=>(t[E]=null,t),{}):e}let hr=!0;function ja(e){const t=OT(e),E=e.proxy,s=e.ctx;hr=!1,t.beforeCreate&&nn(t.beforeCreate,e,"bc");const{data:r,computed:T,methods:n,watch:o,provide:R,inject:A,created:i,beforeMount:O,mounted:I,beforeUpdate:c,updated:h,activated:B,deactivated:x,beforeDestroy:X,beforeUnmount:J,destroyed:q,unmounted:b,render:oe,renderTracked:Ie,renderTriggered:Z,errorCaptured:pe,serverPrefetch:ae,expose:l,inheritAttrs:_,components:u,directives:v,filters:K}=t;if(A&&qa(A,s,null),n)for(const f in n){const U=n[f];te(U)&&(s[f]=U.bind(E))}if(r){const f=r.call(E,E);Ce(f)&&(e.data=bt(f))}if(hr=!0,T)for(const f in T){const U=T[f],z=te(U)?U.bind(E,E):te(U.get)?U.get.bind(E,E):at,Se=!te(U)&&te(U.set)?U.set.bind(E):at,Oe=rt({get:z,set:Se});Object.defineProperty(s,f,{enumerable:!0,configurable:!0,get:()=>Oe.value,set:fe=>Oe.value=fe})}if(o)for(const f in o)JR(o[f],s,E,f);if(R){const f=te(R)?R.call(E):R;Reflect.ownKeys(f).forEach(U=>{EO(U,f[U])})}i&&nn(i,e,"c");function Re(f,U){Q(U)?U.forEach(z=>f(z.bind(E))):U&&f(U.bind(E))}if(Re(XR,O),Re(zs,I),Re(xa,c),Re(wa,h),Re(Fa,B),Re(Ya,x),Re(Ja,pe),Re(Ka,Ie),Re($a,Z),Re(Wa,J),Re($R,b),Re(Xa,ae),Q(l))if(l.length){const f=e.exposed||(e.exposed={});l.forEach(U=>{Object.defineProperty(f,U,{get:()=>E[U],set:z=>E[U]=z})})}else e.exposed||(e.exposed={});oe&&e.render===at&&(e.render=oe),_!=null&&(e.inheritAttrs=_),u&&(e.components=u),v&&(e.directives=v)}function qa(e,t,E=at){Q(e)&&(e=gr(e));for(const s in e){const r=e[s];let T;Ce(r)?"default"in r?T=XE(r.from||s,r.default,!0):T=XE(r.from||s):T=XE(r),Ue(T)?Object.defineProperty(t,s,{enumerable:!0,configurable:!0,get:()=>T.value,set:n=>T.value=n}):t[s]=T}}function nn(e,t,E){Tt(Q(e)?e.map(s=>s.bind(t.proxy)):e.bind(t.proxy),t,E)}function JR(e,t,E,s){const r=s.includes(".")?xR(E,s):()=>E[s];if(de(e)){const T=t[e];te(T)&&kt(r,T)}else if(te(e))kt(r,e.bind(E));else if(Ce(e))if(Q(e))e.forEach(T=>JR(T,t,E,s));else{const T=te(e.handler)?e.handler.bind(E):t[e.handler];te(T)&&kt(r,T,e)}}function OT(e){const t=e.type,{mixins:E,extends:s}=t,{mixins:r,optionsCache:T,config:{optionMergeStrategies:n}}=e.appContext,o=T.get(t);let R;return o?R=o:!r.length&&!E&&!s?R=t:(R={},r.length&&r.forEach(A=>ms(R,A,n,!0)),ms(R,t,n)),Ce(t)&&T.set(t,R),R}function ms(e,t,E,s=!1){const{mixins:r,extends:T}=t;T&&ms(e,T,E,!0),r&&r.forEach(n=>ms(e,n,E,!0));for(const n in t)if(!(s&&n==="expose")){const o=Qa[n]||E&&E[n];e[n]=o?o(e[n],t[n]):t[n]}return e}const Qa={data:on,props:Rn,emits:Rn,methods:VE,computed:VE,beforeCreate:xe,created:xe,beforeMount:xe,mounted:xe,beforeUpdate:xe,updated:xe,beforeDestroy:xe,beforeUnmount:xe,destroyed:xe,unmounted:xe,activated:xe,deactivated:xe,errorCaptured:xe,serverPrefetch:xe,components:VE,directives:VE,watch:za,provide:on,inject:Za};function on(e,t){return t?e?function(){return He(te(e)?e.call(this,this):e,te(t)?t.call(this,this):t)}:t:e}function Za(e,t){return VE(gr(e),gr(t))}function gr(e){if(Q(e)){const t={};for(let E=0;E1)return E&&te(t)?t.call(s&&s.proxy):t}}function sO(){return!!(be||Ye||ts)}function rO(e,t,E,s=!1){const r={},T={};Us(T,er,1),e.propsDefaults=Object.create(null),jR(e,t,r,T);for(const n in e.propsOptions[0])n in r||(r[n]=void 0);E?e.props=s?r:Ra(r):e.type.props?e.props=r:e.props=T,e.attrs=T}function TO(e,t,E,s){const{props:r,attrs:T,vnode:{patchFlag:n}}=e,o=ne(r),[R]=e.propsOptions;let A=!1;if((s||n>0)&&!(n&16)){if(n&8){const i=e.vnode.dynamicProps;for(let O=0;O{R=!0;const[I,c]=qR(O,t,!0);He(n,I),c&&o.push(...c)};!E&&t.mixins.length&&t.mixins.forEach(i),e.extends&&i(e.extends),e.mixins&&e.mixins.forEach(i)}if(!T&&!R)return Ce(e)&&s.set(e,SE),SE;if(Q(T))for(let i=0;i-1,c[1]=B<0||h-1||ie(c,"default"))&&o.push(O)}}}const A=[n,o];return Ce(e)&&s.set(e,A),A}function An(e){return e[0]!=="$"}function Sn(e){const t=e&&e.toString().match(/^\s*(function|class) (\w+)/);return t?t[2]:e===null?"null":""}function an(e,t){return Sn(e)===Sn(t)}function On(e,t){return Q(t)?t.findIndex(E=>an(E,e)):te(t)&&an(t,e)?0:-1}const QR=e=>e[0]==="_"||e==="$stable",IT=e=>Q(e)?e.map(At):[At(e)],nO=(e,t,E)=>{if(t._n)return t;const s=Ae((...r)=>IT(t(...r)),E);return s._c=!1,s},ZR=(e,t,E)=>{const s=e._ctx;for(const r in e){if(QR(r))continue;const T=e[r];if(te(T))t[r]=nO(r,T,s);else if(T!=null){const n=IT(T);t[r]=()=>n}}},zR=(e,t)=>{const E=IT(t);e.slots.default=()=>E},oO=(e,t)=>{if(e.vnode.shapeFlag&32){const E=t._;E?(e.slots=ne(t),Us(t,"_",E)):ZR(t,e.slots={})}else e.slots={},t&&zR(e,t);Us(e.slots,er,1)},RO=(e,t,E)=>{const{vnode:s,slots:r}=e;let T=!0,n=ce;if(s.shapeFlag&32){const o=t._;o?E&&o===1?T=!1:(He(r,t),!E&&o===1&&delete r._):(T=!t.$stable,ZR(t,r)),n=t}else t&&(zR(e,t),n={default:1});if(T)for(const o in r)!QR(o)&&n[o]==null&&delete r[o]};function mr(e,t,E,s,r=!1){if(Q(e)){e.forEach((I,c)=>mr(I,t&&(Q(t)?t[c]:t),E,s,r));return}if(wE(s)&&!r)return;const T=s.shapeFlag&4?cT(s.component)||s.component.proxy:s.el,n=r?null:T,{i:o,r:R}=e,A=t&&t.r,i=o.refs===ce?o.refs={}:o.refs,O=o.setupState;if(A!=null&&A!==R&&(de(A)?(i[A]=null,ie(O,A)&&(O[A]=null)):Ue(A)&&(A.value=null)),te(R))mt(R,o,12,[n,i]);else{const I=de(R),c=Ue(R);if(I||c){const h=()=>{if(e.f){const B=I?ie(O,R)?O[R]:i[R]:R.value;r?Q(B)&&ET(B,T):Q(B)?B.includes(T)||B.push(T):I?(i[R]=[T],ie(O,R)&&(O[R]=i[R])):(R.value=[T],e.k&&(i[e.k]=R.value))}else I?(i[R]=n,ie(O,R)&&(O[R]=n)):c&&(R.value=n,e.k&&(i[e.k]=n))};n?(h.id=-1,Xe(h,E)):h()}}}const Xe=Ba;function AO(e){return iO(e)}function iO(e,t){const E=fr();E.__VUE__=!0,HR(E.__VUE_DEVTOOLS_GLOBAL_HOOK__,E);const{insert:s,remove:r,patchProp:T,createElement:n,createText:o,createComment:R,setText:A,setElementText:i,parentNode:O,nextSibling:I,setScopeId:c=at,insertStaticContent:h}=e,B=(S,N,L,D=null,P=null,m=null,F=!1,C=null,y=!!N.dynamicChildren)=>{if(S===N)return;S&&!bE(S,N)&&(D=vt(S),fe(S,P,m,!0),S=null),N.patchFlag===-2&&(y=!1,N.dynamicChildren=null);const{type:p,ref:H,shapeFlag:V}=N;switch(p){case ns:x(S,N,L,D);break;case ut:X(S,N,L,D);break;case KE:S==null&&J(N,L,D,F);break;case _e:u(S,N,L,D,P,m,F,C,y);break;default:V&1?oe(S,N,L,D,P,m,F,C,y):V&6?v(S,N,L,D,P,m,F,C,y):(V&64||V&128)&&p.process(S,N,L,D,P,m,F,C,y,lt)}H!=null&&P&&mr(H,S&&S.ref,m,N||S,!N)},x=(S,N,L,D)=>{if(S==null)s(N.el=o(N.children),L,D);else{const P=N.el=S.el;N.children!==S.children&&A(P,N.children)}},X=(S,N,L,D)=>{S==null?s(N.el=R(N.children||""),L,D):N.el=S.el},J=(S,N,L,D)=>{[S.el,S.anchor]=h(S.children,N,L,D,S.el,S.anchor)},q=({el:S,anchor:N},L,D)=>{let P;for(;S&&S!==N;)P=I(S),s(S,L,D),S=P;s(N,L,D)},b=({el:S,anchor:N})=>{let L;for(;S&&S!==N;)L=I(S),r(S),S=L;r(N)},oe=(S,N,L,D,P,m,F,C,y)=>{F=F||N.type==="svg",S==null?Ie(N,L,D,P,m,F,C,y):ae(S,N,P,m,F,C,y)},Ie=(S,N,L,D,P,m,F,C)=>{let y,p;const{type:H,props:V,shapeFlag:w,transition:j,dirs:Ee}=S;if(y=S.el=n(S.type,m,V&&V.is,V),w&8?i(y,S.children):w&16&&pe(S.children,y,null,D,P,m&&H!=="foreignObject",F,C),Ee&&Yt(S,null,D,"created"),Z(y,S,S.scopeId,F,D),V){for(const G in V)G!=="value"&&!Cs(G)&&T(y,G,null,V[G],m,S.children,D,P,De);"value"in V&&T(y,"value",null,V.value),(p=V.onVnodeBeforeMount)&&Rt(p,D,S)}Object.defineProperty(y,"__vnode",{value:S,enumerable:!1}),Object.defineProperty(y,"__vueParentComponent",{value:D,enumerable:!1}),Ee&&Yt(S,null,D,"beforeMount");const M=SO(P,j);M&&j.beforeEnter(y),s(y,N,L),((p=V&&V.onVnodeMounted)||M||Ee)&&Xe(()=>{p&&Rt(p,D,S),M&&j.enter(y),Ee&&Yt(S,null,D,"mounted")},P)},Z=(S,N,L,D,P)=>{if(L&&c(S,L),D)for(let m=0;m{for(let p=y;p{const C=N.el=S.el;let{patchFlag:y,dynamicChildren:p,dirs:H}=N;y|=S.patchFlag&16;const V=S.props||ce,w=N.props||ce;let j;L&&Vt(L,!1),(j=w.onVnodeBeforeUpdate)&&Rt(j,L,N,S),H&&Yt(N,S,L,"beforeUpdate"),L&&Vt(L,!0);const Ee=P&&N.type!=="foreignObject";if(p?l(S.dynamicChildren,p,C,L,D,Ee,m):F||U(S,N,C,null,L,D,Ee,m,!1),y>0){if(y&16)_(C,N,V,w,L,D,P);else if(y&2&&V.class!==w.class&&T(C,"class",null,w.class,P),y&4&&T(C,"style",V.style,w.style,P),y&8){const M=N.dynamicProps;for(let G=0;G{j&&Rt(j,L,N,S),H&&Yt(N,S,L,"updated")},D)},l=(S,N,L,D,P,m,F)=>{for(let C=0;C{if(L!==D){if(L!==ce)for(const C in L)!Cs(C)&&!(C in D)&&T(S,C,L[C],null,F,N.children,P,m,De);for(const C in D){if(Cs(C))continue;const y=D[C],p=L[C];y!==p&&C!=="value"&&T(S,C,p,y,F,N.children,P,m,De)}"value"in D&&T(S,"value",L.value,D.value)}},u=(S,N,L,D,P,m,F,C,y)=>{const p=N.el=S?S.el:o(""),H=N.anchor=S?S.anchor:o("");let{patchFlag:V,dynamicChildren:w,slotScopeIds:j}=N;j&&(C=C?C.concat(j):j),S==null?(s(p,L,D),s(H,L,D),pe(N.children,L,H,P,m,F,C,y)):V>0&&V&64&&w&&S.dynamicChildren?(l(S.dynamicChildren,w,L,P,m,F,C),(N.key!=null||P&&N===P.subTree)&&NT(S,N,!0)):U(S,N,L,H,P,m,F,C,y)},v=(S,N,L,D,P,m,F,C,y)=>{N.slotScopeIds=C,S==null?N.shapeFlag&512?P.ctx.activate(N,L,D,F,y):K(N,L,D,P,m,F,y):Pe(S,N,y)},K=(S,N,L,D,P,m,F)=>{const C=S.component=PO(S,D,P);if(wR(S)&&(C.ctx.renderer=lt),DO(C),C.asyncDep){if(P&&P.registerDep(C,Re),!S.el){const y=C.subTree=$(ut);X(null,y,N,L)}return}Re(C,S,N,L,P,m,F)},Pe=(S,N,L)=>{const D=N.component=S.component;if(Ga(S,N,L))if(D.asyncDep&&!D.asyncResolved){f(D,N,L);return}else D.next=N,Ca(D.update),D.update();else N.el=S.el,D.vnode=N},Re=(S,N,L,D,P,m,F)=>{const C=()=>{if(S.isMounted){let{next:H,bu:V,u:w,parent:j,vnode:Ee}=S,M=H,G;Vt(S,!1),H?(H.el=Ee.el,f(S,H,F)):H=Ee,V&&ir(V),(G=H.props&&H.props.onVnodeBeforeUpdate)&&Rt(G,j,H,Ee),Vt(S,!0);const W=ar(S),ee=S.subTree;S.subTree=W,B(ee,W,O(ee.el),vt(ee),S,P,m),H.el=W.el,M===null&&ma(S,W.el),w&&Xe(w,P),(G=H.props&&H.props.onVnodeUpdated)&&Xe(()=>Rt(G,j,H,Ee),P),BR(S)}else{let H;const{el:V,props:w}=N,{bm:j,m:Ee,parent:M}=S,G=wE(N);if(Vt(S,!1),j&&ir(j),!G&&(H=w&&w.onVnodeBeforeMount)&&Rt(H,M,N),Vt(S,!0),V&&yE){const W=()=>{S.subTree=ar(S),yE(V,S.subTree,S,P,null)};G?N.type.__asyncLoader().then(()=>!S.isUnmounted&&W()):W()}else{const W=S.subTree=ar(S);B(null,W,L,D,S,P,m),N.el=W.el}if(Ee&&Xe(Ee,P),!G&&(H=w&&w.onVnodeMounted)){const W=N;Xe(()=>Rt(H,M,W),P)}(N.shapeFlag&256||M&&wE(M.vnode)&&M.vnode.shapeFlag&256)&&S.a&&Xe(S.a,P),S.isMounted=!0,Pa(S),N=L=D=null}},y=S.effect=new TT(C,()=>ST(p),S.scope),p=S.update=()=>y.run();p.id=S.uid,Vt(S,!0),p()},f=(S,N,L)=>{N.component=S;const D=S.vnode.props;S.vnode=N,S.next=null,TO(S,N.props,D,L),RO(S,N.children,L),uE(),En(S),fE()},U=(S,N,L,D,P,m,F,C,y=!1)=>{const p=S&&S.children,H=S?S.shapeFlag:0,V=N.children,{patchFlag:w,shapeFlag:j}=N;if(w>0){if(w&128){Se(p,V,L,D,P,m,F,C,y);return}else if(w&256){z(p,V,L,D,P,m,F,C,y);return}}j&8?(H&16&&De(p,P,m),V!==p&&i(L,V)):H&16?j&16?Se(p,V,L,D,P,m,F,C,y):De(p,P,m,!0):(H&8&&i(L,""),j&16&&pe(V,L,D,P,m,F,C,y))},z=(S,N,L,D,P,m,F,C,y)=>{S=S||SE,N=N||SE;const p=S.length,H=N.length,V=Math.min(p,H);let w;for(w=0;wH?De(S,P,m,!0,!1,V):pe(N,L,D,P,m,F,C,y,V)},Se=(S,N,L,D,P,m,F,C,y)=>{let p=0;const H=N.length;let V=S.length-1,w=H-1;for(;p<=V&&p<=w;){const j=S[p],Ee=N[p]=y?dt(N[p]):At(N[p]);if(bE(j,Ee))B(j,Ee,L,null,P,m,F,C,y);else break;p++}for(;p<=V&&p<=w;){const j=S[V],Ee=N[w]=y?dt(N[w]):At(N[w]);if(bE(j,Ee))B(j,Ee,L,null,P,m,F,C,y);else break;V--,w--}if(p>V){if(p<=w){const j=w+1,Ee=jw)for(;p<=V;)fe(S[p],P,m,!0),p++;else{const j=p,Ee=p,M=new Map;for(p=Ee;p<=w;p++){const Ke=N[p]=y?dt(N[p]):At(N[p]);Ke.key!=null&&M.set(Ke.key,p)}let G,W=0;const ee=w-Ee+1;let Le=!1,je=0;const Ft=new Array(ee);for(p=0;p=ee){fe(Ke,P,m,!0);continue}let ot;if(Ke.key!=null)ot=M.get(Ke.key);else for(G=Ee;G<=w;G++)if(Ft[G-Ee]===0&&bE(Ke,N[G])){ot=G;break}ot===void 0?fe(Ke,P,m,!0):(Ft[ot-Ee]=p+1,ot>=je?je=ot:Le=!0,B(Ke,N[ot],L,null,P,m,F,C,y),W++)}const is=Le?aO(Ft):SE;for(G=is.length-1,p=ee-1;p>=0;p--){const Ke=Ee+p,ot=N[Ke],VT=Ke+1{const{el:m,type:F,transition:C,children:y,shapeFlag:p}=S;if(p&6){Oe(S.component.subTree,N,L,D);return}if(p&128){S.suspense.move(N,L,D);return}if(p&64){F.move(S,N,L,lt);return}if(F===_e){s(m,N,L);for(let V=0;VC.enter(m),P);else{const{leave:V,delayLeave:w,afterLeave:j}=C,Ee=()=>s(m,N,L),M=()=>{V(m,()=>{Ee(),j&&j()})};w?w(m,Ee,M):M()}else s(m,N,L)},fe=(S,N,L,D=!1,P=!1)=>{const{type:m,props:F,ref:C,children:y,dynamicChildren:p,shapeFlag:H,patchFlag:V,dirs:w}=S;if(C!=null&&mr(C,null,L,S,!0),H&256){N.ctx.deactivate(S);return}const j=H&1&&w,Ee=!wE(S);let M;if(Ee&&(M=F&&F.onVnodeBeforeUnmount)&&Rt(M,N,S),H&6)Ve(S.component,L,D);else{if(H&128){S.suspense.unmount(L,D);return}j&&Yt(S,null,N,"beforeUnmount"),H&64?S.type.remove(S,N,L,P,lt,D):p&&(m!==_e||V>0&&V&64)?De(p,N,L,!1,!0):(m===_e&&V&384||!P&&H&16)&&De(y,N,L),D&&Qe(S)}(Ee&&(M=F&&F.onVnodeUnmounted)||j)&&Xe(()=>{M&&Rt(M,N,S),j&&Yt(S,null,N,"unmounted")},L)},Qe=S=>{const{type:N,el:L,anchor:D,transition:P}=S;if(N===_e){EE(L,D);return}if(N===KE){b(S);return}const m=()=>{r(L),P&&!P.persisted&&P.afterLeave&&P.afterLeave()};if(S.shapeFlag&1&&P&&!P.persisted){const{leave:F,delayLeave:C}=P,y=()=>F(L,m);C?C(S.el,m,y):y()}else m()},EE=(S,N)=>{let L;for(;S!==N;)L=I(S),r(S),S=L;r(N)},Ve=(S,N,L)=>{const{bum:D,scope:P,update:m,subTree:F,um:C}=S;D&&ir(D),P.stop(),m&&(m.active=!1,fe(F,S,N,L)),C&&Xe(C,N),Xe(()=>{S.isUnmounted=!0},N),N&&N.pendingBranch&&!N.isUnmounted&&S.asyncDep&&!S.asyncResolved&&S.suspenseId===N.pendingId&&(N.deps--,N.deps===0&&N.resolve()),da(S)},De=(S,N,L,D=!1,P=!1,m=0)=>{for(let F=m;FS.shapeFlag&6?vt(S.component.subTree):S.shapeFlag&128?S.suspense.next():I(S.anchor||S.el),GE=(S,N,L)=>{S==null?N._vnode&&fe(N._vnode,null,null,!0):B(N._vnode||null,S,N,null,null,null,L),En(),yR(),N._vnode=S},lt={p:B,um:fe,m:Oe,r:Qe,mt:K,mc:pe,pc:U,pbc:l,n:vt,o:e};let mE,yE;return t&&([mE,yE]=t(lt)),{render:GE,hydrate:mE,createApp:tO(GE,mE)}}function Vt({effect:e,update:t},E){e.allowRecurse=t.allowRecurse=E}function SO(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function NT(e,t,E=!1){const s=e.children,r=t.children;if(Q(s)&&Q(r))for(let T=0;T>1,e[E[o]]0&&(t[s]=E[T-1]),E[T]=s)}}for(T=E.length,n=E[T-1];T-- >0;)E[T]=n,n=t[n];return E}const OO=e=>e.__isTeleport,$E=e=>e&&(e.disabled||e.disabled===""),In=e=>typeof SVGElement<"u"&&e instanceof SVGElement,yr=(e,t)=>{const E=e&&e.to;return de(E)?t?t(E):null:E},IO={name:"Teleport",__isTeleport:!0,process(e,t,E,s,r,T,n,o,R,A){const{mc:i,pc:O,pbc:I,o:{insert:c,querySelector:h,createText:B,createComment:x}}=A,X=$E(t.props);let{shapeFlag:J,children:q,dynamicChildren:b}=t;if(e==null){const oe=t.el=B(""),Ie=t.anchor=B("");c(oe,E,s),c(Ie,E,s);const Z=t.target=yr(t.props,h),pe=t.targetAnchor=B("");Z&&(c(pe,Z),n=n||In(Z));const ae=(l,_)=>{J&16&&i(q,l,_,r,T,n,o,R)};X?ae(E,Ie):Z&&ae(Z,pe)}else{t.el=e.el;const oe=t.anchor=e.anchor,Ie=t.target=e.target,Z=t.targetAnchor=e.targetAnchor,pe=$E(e.props),ae=pe?E:Ie,l=pe?oe:Z;if(n=n||In(Ie),b?(I(e.dynamicChildren,b,ae,r,T,n,o),NT(e,t,!0)):R||O(e,t,ae,l,r,T,n,o,!1),X)pe?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):cs(t,E,oe,A,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const _=t.target=yr(t.props,h);_&&cs(t,_,null,A,0)}else pe&&cs(t,Ie,Z,A,1)}eA(t)},remove(e,t,E,s,{um:r,o:{remove:T}},n){const{shapeFlag:o,children:R,anchor:A,targetAnchor:i,target:O,props:I}=e;if(O&&T(i),n&&T(A),o&16){const c=n||!$E(I);for(let h=0;h0?st||SE:null,_O(),Es>0&&st&&st.push(e),e}function Y(e,t,E,s,r,T){return tA(a(e,t,E,s,r,T,!0))}function ue(e,t,E,s,r){return tA($(e,t,E,s,r,!0))}function ys(e){return e?e.__v_isVNode===!0:!1}function bE(e,t){return e.type===t.type&&e.key===t.key}const er="__vInternal",EA=({key:e})=>e??null,Ls=({ref:e,ref_key:t,ref_for:E})=>(typeof e=="number"&&(e=""+e),e!=null?de(e)||Ue(e)||te(e)?{i:Ye,r:e,k:t,f:!!E}:e:null);function a(e,t=null,E=null,s=0,r=null,T=e===_e?0:1,n=!1,o=!1){const R={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&EA(t),ref:t&&Ls(t),scopeId:FR,slotScopeIds:null,children:E,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:T,patchFlag:s,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:Ye};return o?(lT(R,E),T&128&&e.normalize(R)):E&&(R.shapeFlag|=de(E)?8:16),Es>0&&!n&&st&&(R.patchFlag>0||T&6)&&R.patchFlag!==32&&st.push(R),R}const $=cO;function cO(e,t=null,E=null,s=0,r=null,T=!1){if((!e||e===ya)&&(e=ut),ys(e)){const o=lE(e,t,!0);return E&&lT(o,E),Es>0&&!T&&st&&(o.shapeFlag&6?st[st.indexOf(e)]=o:st.push(o)),o.patchFlag|=-2,o}if(gO(e)&&(e=e.__vccOpts),t){t=CO(t);let{class:o,style:R}=t;o&&!de(o)&&(t.class=ke(o)),Ce(R)&&(dR(R)&&!Q(R)&&(R=He({},R)),t.style=Js(R))}const n=de(e)?1:Ha(e)?128:OO(e)?64:Ce(e)?4:te(e)?2:0;return a(e,t,E,s,r,n,T,!0)}function CO(e){return e?dR(e)||er in e?He({},e):e:null}function lE(e,t,E=!1){const{props:s,ref:r,patchFlag:T,children:n}=e,o=t?uO(s||{},t):s;return{__v_isVNode:!0,__v_skip:!0,type:e.type,props:o,key:o&&EA(o),ref:t&&t.ref?E&&r?Q(r)?r.concat(Ls(t)):[r,Ls(t)]:Ls(t):r,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:n,target:e.target,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==_e?T===-1?16:T|16:T,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:e.transition,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&lE(e.ssContent),ssFallback:e.ssFallback&&lE(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce}}function we(e=" ",t=0){return $(ns,null,e,t)}function LO(e,t){const E=$(KE,null,e);return E.staticCount=t,E}function Te(e="",t=!1){return t?(g(),ue(ut,null,e)):$(ut,null,e)}function At(e){return e==null||typeof e=="boolean"?$(ut):Q(e)?$(_e,null,e.slice()):typeof e=="object"?dt(e):$(ns,null,String(e))}function dt(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:lE(e)}function lT(e,t){let E=0;const{shapeFlag:s}=e;if(t==null)t=null;else if(Q(t))E=16;else if(typeof t=="object")if(s&65){const r=t.default;r&&(r._c&&(r._d=!1),lT(e,r()),r._c&&(r._d=!0));return}else{E=32;const r=t._;!r&&!(er in t)?t._ctx=Ye:r===3&&Ye&&(Ye.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else te(t)?(t={default:t,_ctx:Ye},E=32):(t=String(t),s&64?(E=16,t=[we(t)]):E=8);e.children=t,e.shapeFlag|=E}function uO(...e){const t={};for(let E=0;Ebe=e),_T=e=>{rE.length>1?rE.forEach(t=>t(e)):rE[0](e)};const _E=e=>{_T(e),e.scope.on()},jt=()=>{be&&be.scope.off(),_T(null)};function sA(e){return e.vnode.shapeFlag&4}let ss=!1;function DO(e,t=!1){ss=t;const{props:E,children:s}=e.vnode,r=sA(e);rO(e,E,r,t),oO(e,s);const T=r?dO(e,t):void 0;return ss=!1,T}function dO(e,t){const E=e.type;e.accessCache=Object.create(null),e.proxy=Qt(new Proxy(e.ctx,ka));const{setup:s}=E;if(s){const r=e.setupContext=s.length>1?UO(e):null;_E(e),uE();const T=mt(s,e,0,[e.props,r]);if(fE(),jt(),nR(T)){if(T.then(jt,jt),t)return T.then(n=>{_n(e,n,t)}).catch(n=>{js(n,e,0)});e.asyncDep=T}else _n(e,T,t)}else rA(e,t)}function _n(e,t,E){te(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:Ce(t)&&(e.devtoolsRawSetupState=t,e.setupState=hR(t)),rA(e,E)}let cn;function rA(e,t,E){const s=e.type;if(!e.render){if(!t&&cn&&!s.render){const r=s.template||OT(e).template;if(r){const{isCustomElement:T,compilerOptions:n}=e.appContext.config,{delimiters:o,compilerOptions:R}=s,A=He(He({isCustomElement:T,delimiters:o},n),R);s.render=cn(r,A)}}e.render=s.render||at}{_E(e),uE();try{ja(e)}finally{fE(),jt()}}}function MO(e){return e.attrsProxy||(e.attrsProxy=new Proxy(e.attrs,{get(t,E){return $e(e,"get","$attrs"),t[E]}}))}function UO(e){const t=E=>{e.exposed=E||{}};return{get attrs(){return MO(e)},slots:e.slots,emit:e.emit,expose:t}}function cT(e){if(e.exposed)return e.exposeProxy||(e.exposeProxy=new Proxy(hR(Qt(e.exposed)),{get(t,E){if(E in t)return t[E];if(E in WE)return WE[E](e)},has(t,E){return E in t||E in WE}}))}function hO(e,t=!0){return te(e)?e.displayName||e.name:e.name||t&&e.__name}function gO(e){return te(e)&&"__vccOpts"in e}const rt=(e,t)=>la(e,t,ss);function rs(e,t,E){const s=arguments.length;return s===2?Ce(t)&&!Q(t)?ys(t)?$(e,null,[t]):$(e,t):$(e,null,t):(s>3?E=Array.prototype.slice.call(arguments,2):s===3&&ys(E)&&(E=[E]),$(e,t,E))}const GO=Symbol.for("v-scx"),mO=()=>XE(GO),Cn="3.3.13",yO="http://www.w3.org/2000/svg",$t=typeof document<"u"?document:null,Ln=$t&&$t.createElement("template"),bO={insert:(e,t,E)=>{t.insertBefore(e,E||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,E,s)=>{const r=t?$t.createElementNS(yO,e):$t.createElement(e,E?{is:E}:void 0);return e==="select"&&s&&s.multiple!=null&&r.setAttribute("multiple",s.multiple),r},createText:e=>$t.createTextNode(e),createComment:e=>$t.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>$t.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,E,s,r,T){const n=E?E.previousSibling:t.lastChild;if(r&&(r===T||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),E),!(r===T||!(r=r.nextSibling)););else{Ln.innerHTML=s?`${e}`:e;const o=Ln.content;if(s){const R=o.firstChild;for(;R.firstChild;)o.appendChild(R.firstChild);o.removeChild(R)}t.insertBefore(o,E)}return[n?n.nextSibling:t.firstChild,E?E.previousSibling:t.lastChild]}},HO=Symbol("_vtc");function BO(e,t,E){const s=e[HO];s&&(t=(t?[t,...s]:[...s]).join(" ")),t==null?e.removeAttribute("class"):E?e.setAttribute("class",t):e.className=t}const vO=Symbol("_vod"),FO=Symbol("");function YO(e,t,E){const s=e.style,r=de(E);if(E&&!r){if(t&&!de(t))for(const T in t)E[T]==null&&br(s,T,"");for(const T in E)br(s,T,E[T])}else{const T=s.display;if(r){if(t!==E){const n=s[FO];n&&(E+=";"+n),s.cssText=E}}else t&&e.removeAttribute("style");vO in e&&(s.display=T)}}const un=/\s*!important$/;function br(e,t,E){if(Q(E))E.forEach(s=>br(e,t,s));else if(E==null&&(E=""),t.startsWith("--"))e.setProperty(t,E);else{const s=VO(e,t);un.test(E)?e.setProperty(LE(s),E.replace(un,""),"important"):e[s]=E}}const fn=["Webkit","Moz","ms"],Ir={};function VO(e,t){const E=Ir[t];if(E)return E;let s=It(t);if(s!=="filter"&&s in e)return Ir[t]=s;s=Ks(s);for(let r=0;rNr||(JO.then(()=>Nr=0),Nr=Date.now());function jO(e,t){const E=s=>{if(!s._vts)s._vts=Date.now();else if(s._vts<=E.attached)return;Tt(qO(s,E.value),t,5,[s])};return E.value=e,E.attached=kO(),E}function qO(e,t){if(Q(t)){const E=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{E.call(e),e._stopped=!0},t.map(s=>r=>!r._stopped&&s&&s(r))}else return t}const dn=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,QO=(e,t,E,s,r=!1,T,n,o,R)=>{t==="class"?BO(e,s,r):t==="style"?YO(e,E,s):Ws(t)?tT(t)||$O(e,t,E,s,n):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):ZO(e,t,s,r))?wO(e,t,s,T,n,o,R):(t==="true-value"?e._trueValue=s:t==="false-value"&&(e._falseValue=s),xO(e,t,s,r))};function ZO(e,t,E,s){if(s)return!!(t==="innerHTML"||t==="textContent"||t in e&&dn(t)&&te(E));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const r=e.tagName;if(r==="IMG"||r==="VIDEO"||r==="CANVAS"||r==="SOURCE")return!1}return dn(t)&&de(E)?!1:t in e}const zO=He({patchProp:QO},bO);let Mn;function eI(){return Mn||(Mn=AO(zO))}const tI=(...e)=>{const t=eI().createApp(...e),{mount:E}=t;return t.mount=s=>{const r=EI(s);if(!r)return;const T=t._component;!te(T)&&!T.render&&!T.template&&(T.template=r.innerHTML),r.innerHTML="";const n=E(r,!1,r instanceof SVGElement);return r instanceof Element&&(r.removeAttribute("v-cloak"),r.setAttribute("data-v-app","")),n},t};function EI(e){return de(e)?document.querySelector(e):e}var Un=Me({props:{code:{type:String,required:!0},language:{type:String,default:""},autodetect:{type:Boolean,default:!0},ignoreIllegals:{type:Boolean,default:!0}},setup:function(e){var t=Ut(e.language);kt(function(){return e.language},function(r){t.value=r});var E=rt(function(){return e.autodetect||!t.value}),s=rt(function(){return!E.value&&!xE.getLanguage(t.value)});return{className:rt(function(){return s.value?"":"hljs "+t.value}),highlightedCode:rt(function(){var r;if(s.value)return console.warn('The language "'+t.value+'" you specified could not be found.'),e.code.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'");if(E.value){var T=xE.highlightAuto(e.code);return t.value=(r=T.language)!==null&&r!==void 0?r:"",T.value}return(T=xE.highlight(e.code,{language:t.value,ignoreIllegals:e.ignoreIllegals})).value})}},render:function(){return rs("pre",{},[rs("code",{class:this.className,innerHTML:this.highlightedCode})])}}),sI={install:function(e){e.component("highlightjs",Un)},component:Un},rI=!1;function TI(){return TA().__VUE_DEVTOOLS_GLOBAL_HOOK__}function TA(){return typeof navigator<"u"&&typeof window<"u"?window:typeof global<"u"?global:{}}const nI=typeof Proxy=="function",oI="devtools-plugin:setup",RI="plugin:settings:set";let TE,Hr;function AI(){var e;return TE!==void 0||(typeof window<"u"&&window.performance?(TE=!0,Hr=window.performance):typeof global<"u"&&(!((e=global.perf_hooks)===null||e===void 0)&&e.performance)?(TE=!0,Hr=global.perf_hooks.performance):TE=!1),TE}function iI(){return AI()?Hr.now():Date.now()}class SI{constructor(t,E){this.target=null,this.targetQueue=[],this.onQueue=[],this.plugin=t,this.hook=E;const s={};if(t.settings)for(const n in t.settings){const o=t.settings[n];s[n]=o.defaultValue}const r=`__vue-devtools-plugin-settings__${t.id}`;let T=Object.assign({},s);try{const n=localStorage.getItem(r),o=JSON.parse(n);Object.assign(T,o)}catch{}this.fallbacks={getSettings(){return T},setSettings(n){try{localStorage.setItem(r,JSON.stringify(n))}catch{}T=n},now(){return iI()}},E&&E.on(RI,(n,o)=>{n===this.plugin.id&&this.fallbacks.setSettings(o)}),this.proxiedOn=new Proxy({},{get:(n,o)=>this.target?this.target.on[o]:(...R)=>{this.onQueue.push({method:o,args:R})}}),this.proxiedTarget=new Proxy({},{get:(n,o)=>this.target?this.target[o]:o==="on"?this.proxiedOn:Object.keys(this.fallbacks).includes(o)?(...R)=>(this.targetQueue.push({method:o,args:R,resolve:()=>{}}),this.fallbacks[o](...R)):(...R)=>new Promise(A=>{this.targetQueue.push({method:o,args:R,resolve:A})})})}async setRealTarget(t){this.target=t;for(const E of this.onQueue)this.target.on[E.method](...E.args);for(const E of this.targetQueue)E.resolve(await this.target[E.method](...E.args))}}function nA(e,t){const E=e,s=TA(),r=TI(),T=nI&&E.enableEarlyProxy;if(r&&(s.__VUE_DEVTOOLS_PLUGIN_API_AVAILABLE__||!T))r.emit(oI,e,t);else{const n=T?new SI(E,r):null;(s.__VUE_DEVTOOLS_PLUGINS__=s.__VUE_DEVTOOLS_PLUGINS__||[]).push({pluginDescriptor:E,setupFn:t,proxy:n}),n&&t(n.proxiedTarget)}}/*! + * pinia v2.1.7 + * (c) 2023 Eduardo San Martin Morote + * @license MIT + */let oA;const tr=e=>oA=e,RA=Symbol();function Br(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var Ot;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(Ot||(Ot={}));const AA=typeof window<"u",kE=AA,hn=typeof window=="object"&&window.window===window?window:typeof self=="object"&&self.self===self?self:typeof global=="object"&&global.global===global?global:typeof globalThis=="object"?globalThis:{HTMLElement:null};function aI(e,{autoBom:t=!1}={}){return t&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(e.type)?new Blob(["\uFEFF",e],{type:e.type}):e}function CT(e,t,E){const s=new XMLHttpRequest;s.open("GET",e),s.responseType="blob",s.onload=function(){aA(s.response,t,E)},s.onerror=function(){console.error("could not download file")},s.send()}function iA(e){const t=new XMLHttpRequest;t.open("HEAD",e,!1);try{t.send()}catch{}return t.status>=200&&t.status<=299}function us(e){try{e.dispatchEvent(new MouseEvent("click"))}catch{const E=document.createEvent("MouseEvents");E.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),e.dispatchEvent(E)}}const fs=typeof navigator=="object"?navigator:{userAgent:""},SA=/Macintosh/.test(fs.userAgent)&&/AppleWebKit/.test(fs.userAgent)&&!/Safari/.test(fs.userAgent),aA=AA?typeof HTMLAnchorElement<"u"&&"download"in HTMLAnchorElement.prototype&&!SA?OI:"msSaveOrOpenBlob"in fs?II:NI:()=>{};function OI(e,t="download",E){const s=document.createElement("a");s.download=t,s.rel="noopener",typeof e=="string"?(s.href=e,s.origin!==location.origin?iA(s.href)?CT(e,t,E):(s.target="_blank",us(s)):us(s)):(s.href=URL.createObjectURL(e),setTimeout(function(){URL.revokeObjectURL(s.href)},4e4),setTimeout(function(){us(s)},0))}function II(e,t="download",E){if(typeof e=="string")if(iA(e))CT(e,t,E);else{const s=document.createElement("a");s.href=e,s.target="_blank",setTimeout(function(){us(s)})}else navigator.msSaveOrOpenBlob(aI(e,E),t)}function NI(e,t,E,s){if(s=s||open("","_blank"),s&&(s.document.title=s.document.body.innerText="downloading..."),typeof e=="string")return CT(e,t,E);const r=e.type==="application/octet-stream",T=/constructor/i.test(String(hn.HTMLElement))||"safari"in hn,n=/CriOS\/[\d]+/.test(navigator.userAgent);if((n||r&&T||SA)&&typeof FileReader<"u"){const o=new FileReader;o.onloadend=function(){let R=o.result;if(typeof R!="string")throw s=null,new Error("Wrong reader.result type");R=n?R:R.replace(/^data:[^;]*;/,"data:attachment/file;"),s?s.location.href=R:location.assign(R),s=null},o.readAsDataURL(e)}else{const o=URL.createObjectURL(e);s?s.location.assign(o):location.href=o,s=null,setTimeout(function(){URL.revokeObjectURL(o)},4e4)}}function ye(e,t){const E="🍍 "+e;typeof __VUE_DEVTOOLS_TOAST__=="function"?__VUE_DEVTOOLS_TOAST__(E,t):t==="error"?console.error(E):t==="warn"?console.warn(E):console.log(E)}function LT(e){return"_a"in e&&"install"in e}function OA(){if(!("clipboard"in navigator))return ye("Your browser doesn't support the Clipboard API","error"),!0}function IA(e){return e instanceof Error&&e.message.toLowerCase().includes("document is not focused")?(ye('You need to activate the "Emulate a focused page" setting in the "Rendering" panel of devtools.',"warn"),!0):!1}async function lI(e){if(!OA())try{await navigator.clipboard.writeText(JSON.stringify(e.state.value)),ye("Global state copied to clipboard.")}catch(t){if(IA(t))return;ye("Failed to serialize the state. Check the console for more details.","error"),console.error(t)}}async function _I(e){if(!OA())try{NA(e,JSON.parse(await navigator.clipboard.readText())),ye("Global state pasted from clipboard.")}catch(t){if(IA(t))return;ye("Failed to deserialize the state from clipboard. Check the console for more details.","error"),console.error(t)}}async function cI(e){try{aA(new Blob([JSON.stringify(e.state.value)],{type:"text/plain;charset=utf-8"}),"pinia-state.json")}catch(t){ye("Failed to export the state as JSON. Check the console for more details.","error"),console.error(t)}}let _t;function CI(){_t||(_t=document.createElement("input"),_t.type="file",_t.accept=".json");function e(){return new Promise((t,E)=>{_t.onchange=async()=>{const s=_t.files;if(!s)return t(null);const r=s.item(0);return t(r?{text:await r.text(),file:r}:null)},_t.oncancel=()=>t(null),_t.onerror=E,_t.click()})}return e}async function LI(e){try{const E=await CI()();if(!E)return;const{text:s,file:r}=E;NA(e,JSON.parse(s)),ye(`Global state imported from "${r.name}".`)}catch(t){ye("Failed to import the state from JSON. Check the console for more details.","error"),console.error(t)}}function NA(e,t){for(const E in t){const s=e.state.value[E];s?Object.assign(s,t[E]):e.state.value[E]=t[E]}}function tt(e){return{_custom:{display:e}}}const lA="🍍 Pinia (root)",vr="_root";function uI(e){return LT(e)?{id:vr,label:lA}:{id:e.$id,label:e.$id}}function fI(e){if(LT(e)){const E=Array.from(e._s.keys()),s=e._s;return{state:E.map(T=>({editable:!0,key:T,value:e.state.value[T]})),getters:E.filter(T=>s.get(T)._getters).map(T=>{const n=s.get(T);return{editable:!1,key:T,value:n._getters.reduce((o,R)=>(o[R]=n[R],o),{})}})}}const t={state:Object.keys(e.$state).map(E=>({editable:!0,key:E,value:e.$state[E]}))};return e._getters&&e._getters.length&&(t.getters=e._getters.map(E=>({editable:!1,key:E,value:e[E]}))),e._customProperties.size&&(t.customProperties=Array.from(e._customProperties).map(E=>({editable:!0,key:E,value:e[E]}))),t}function pI(e){return e?Array.isArray(e)?e.reduce((t,E)=>(t.keys.push(E.key),t.operations.push(E.type),t.oldValue[E.key]=E.oldValue,t.newValue[E.key]=E.newValue,t),{oldValue:{},keys:[],operations:[],newValue:{}}):{operation:tt(e.type),key:tt(e.key),oldValue:e.oldValue,newValue:e.newValue}:{}}function PI(e){switch(e){case Ot.direct:return"mutation";case Ot.patchFunction:return"$patch";case Ot.patchObject:return"$patch";default:return"unknown"}}let iE=!0;const ps=[],wt="pinia:mutations",ve="pinia",{assign:DI}=Object,bs=e=>"🍍 "+e;function dI(e,t){nA({id:"dev.esm.pinia",label:"Pinia 🍍",logo:"https://pinia.vuejs.org/logo.svg",packageName:"pinia",homepage:"https://pinia.vuejs.org",componentStateTypes:ps,app:e},E=>{typeof E.now!="function"&&ye("You seem to be using an outdated version of Vue Devtools. Are you still using the Beta release instead of the stable one? You can find the links at https://devtools.vuejs.org/guide/installation.html."),E.addTimelineLayer({id:wt,label:"Pinia 🍍",color:15064968}),E.addInspector({id:ve,label:"Pinia 🍍",icon:"storage",treeFilterPlaceholder:"Search stores",actions:[{icon:"content_copy",action:()=>{lI(t)},tooltip:"Serialize and copy the state"},{icon:"content_paste",action:async()=>{await _I(t),E.sendInspectorTree(ve),E.sendInspectorState(ve)},tooltip:"Replace the state with the content of your clipboard"},{icon:"save",action:()=>{cI(t)},tooltip:"Save the state as a JSON file"},{icon:"folder_open",action:async()=>{await LI(t),E.sendInspectorTree(ve),E.sendInspectorState(ve)},tooltip:"Import the state from a JSON file"}],nodeActions:[{icon:"restore",tooltip:'Reset the state (with "$reset")',action:s=>{const r=t._s.get(s);r?typeof r.$reset!="function"?ye(`Cannot reset "${s}" store because it doesn't have a "$reset" method implemented.`,"warn"):(r.$reset(),ye(`Store "${s}" reset.`)):ye(`Cannot reset "${s}" store because it wasn't found.`,"warn")}}]}),E.on.inspectComponent((s,r)=>{const T=s.componentInstance&&s.componentInstance.proxy;if(T&&T._pStores){const n=s.componentInstance.proxy._pStores;Object.values(n).forEach(o=>{s.instanceData.state.push({type:bs(o.$id),key:"state",editable:!0,value:o._isOptionsAPI?{_custom:{value:ne(o.$state),actions:[{icon:"restore",tooltip:"Reset the state of this store",action:()=>o.$reset()}]}}:Object.keys(o.$state).reduce((R,A)=>(R[A]=o.$state[A],R),{})}),o._getters&&o._getters.length&&s.instanceData.state.push({type:bs(o.$id),key:"getters",editable:!1,value:o._getters.reduce((R,A)=>{try{R[A]=o[A]}catch(i){R[A]=i}return R},{})})})}}),E.on.getInspectorTree(s=>{if(s.app===e&&s.inspectorId===ve){let r=[t];r=r.concat(Array.from(t._s.values())),s.rootNodes=(s.filter?r.filter(T=>"$id"in T?T.$id.toLowerCase().includes(s.filter.toLowerCase()):lA.toLowerCase().includes(s.filter.toLowerCase())):r).map(uI)}}),E.on.getInspectorState(s=>{if(s.app===e&&s.inspectorId===ve){const r=s.nodeId===vr?t:t._s.get(s.nodeId);if(!r)return;r&&(s.state=fI(r))}}),E.on.editInspectorState((s,r)=>{if(s.app===e&&s.inspectorId===ve){const T=s.nodeId===vr?t:t._s.get(s.nodeId);if(!T)return ye(`store "${s.nodeId}" not found`,"error");const{path:n}=s;LT(T)?n.unshift("state"):(n.length!==1||!T._customProperties.has(n[0])||n[0]in T.$state)&&n.unshift("$state"),iE=!1,s.set(T,n,s.state.value),iE=!0}}),E.on.editComponentState(s=>{if(s.type.startsWith("🍍")){const r=s.type.replace(/^🍍\s*/,""),T=t._s.get(r);if(!T)return ye(`store "${r}" not found`,"error");const{path:n}=s;if(n[0]!=="state")return ye(`Invalid path for store "${r}": +${n} +Only state can be modified.`);n[0]="$state",iE=!1,s.set(T,n,s.state.value),iE=!0}})})}function MI(e,t){ps.includes(bs(t.$id))||ps.push(bs(t.$id)),nA({id:"dev.esm.pinia",label:"Pinia 🍍",logo:"https://pinia.vuejs.org/logo.svg",packageName:"pinia",homepage:"https://pinia.vuejs.org",componentStateTypes:ps,app:e,settings:{logStoreChanges:{label:"Notify about new/deleted stores",type:"boolean",defaultValue:!0}}},E=>{const s=typeof E.now=="function"?E.now.bind(E):Date.now;t.$onAction(({after:n,onError:o,name:R,args:A})=>{const i=_A++;E.addTimelineEvent({layerId:wt,event:{time:s(),title:"🛫 "+R,subtitle:"start",data:{store:tt(t.$id),action:tt(R),args:A},groupId:i}}),n(O=>{ht=void 0,E.addTimelineEvent({layerId:wt,event:{time:s(),title:"🛬 "+R,subtitle:"end",data:{store:tt(t.$id),action:tt(R),args:A,result:O},groupId:i}})}),o(O=>{ht=void 0,E.addTimelineEvent({layerId:wt,event:{time:s(),logType:"error",title:"💥 "+R,subtitle:"end",data:{store:tt(t.$id),action:tt(R),args:A,error:O},groupId:i}})})},!0),t._customProperties.forEach(n=>{kt(()=>se(t[n]),(o,R)=>{E.notifyComponentUpdate(),E.sendInspectorState(ve),iE&&E.addTimelineEvent({layerId:wt,event:{time:s(),title:"Change",subtitle:n,data:{newValue:o,oldValue:R},groupId:ht}})},{deep:!0})}),t.$subscribe(({events:n,type:o},R)=>{if(E.notifyComponentUpdate(),E.sendInspectorState(ve),!iE)return;const A={time:s(),title:PI(o),data:DI({store:tt(t.$id)},pI(n)),groupId:ht};o===Ot.patchFunction?A.subtitle="⤵️":o===Ot.patchObject?A.subtitle="🧩":n&&!Array.isArray(n)&&(A.subtitle=n.type),n&&(A.data["rawEvent(s)"]={_custom:{display:"DebuggerEvent",type:"object",tooltip:"raw DebuggerEvent[]",value:n}}),E.addTimelineEvent({layerId:wt,event:A})},{detached:!0,flush:"sync"});const r=t._hotUpdate;t._hotUpdate=Qt(n=>{r(n),E.addTimelineEvent({layerId:wt,event:{time:s(),title:"🔥 "+t.$id,subtitle:"HMR update",data:{store:tt(t.$id),info:tt("HMR update")}}}),E.notifyComponentUpdate(),E.sendInspectorTree(ve),E.sendInspectorState(ve)});const{$dispose:T}=t;t.$dispose=()=>{T(),E.notifyComponentUpdate(),E.sendInspectorTree(ve),E.sendInspectorState(ve),E.getSettings().logStoreChanges&&ye(`Disposed "${t.$id}" store 🗑`)},E.notifyComponentUpdate(),E.sendInspectorTree(ve),E.sendInspectorState(ve),E.getSettings().logStoreChanges&&ye(`"${t.$id}" store installed 🆕`)})}let _A=0,ht;function gn(e,t,E){const s=t.reduce((r,T)=>(r[T]=ne(e)[T],r),{});for(const r in s)e[r]=function(){const T=_A,n=E?new Proxy(e,{get(...R){return ht=T,Reflect.get(...R)},set(...R){return ht=T,Reflect.set(...R)}}):e;ht=T;const o=s[r].apply(n,arguments);return ht=void 0,o}}function UI({app:e,store:t,options:E}){if(t.$id.startsWith("__hot:"))return;t._isOptionsAPI=!!E.state,gn(t,Object.keys(E.actions),t._isOptionsAPI);const s=t._hotUpdate;ne(t)._hotUpdate=function(r){s.apply(this,arguments),gn(t,Object.keys(r._hmrPayload.actions),!!t._isOptionsAPI)},MI(e,t)}function hI(){const e=aR(!0),t=e.run(()=>Ut({}));let E=[],s=[];const r=Qt({install(T){tr(r),r._a=T,T.provide(RA,r),T.config.globalProperties.$pinia=r,kE&&dI(T,r),s.forEach(n=>E.push(n)),s=[]},use(T){return!this._a&&!rI?s.push(T):E.push(T),this},_p:E,_a:null,_e:e,_s:new Map,state:t});return kE&&typeof Proxy<"u"&&r.use(UI),r}const cA=()=>{};function Gn(e,t,E,s=cA){e.push(t);const r=()=>{const T=e.indexOf(t);T>-1&&(e.splice(T,1),s())};return!E&&IR()&&VS(r),r}function nE(e,...t){e.slice().forEach(E=>{E(...t)})}const gI=e=>e();function Fr(e,t){e instanceof Map&&t instanceof Map&&t.forEach((E,s)=>e.set(s,E)),e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(const E in t){if(!t.hasOwnProperty(E))continue;const s=t[E],r=e[E];Br(r)&&Br(s)&&e.hasOwnProperty(E)&&!Ue(s)&&!Gt(s)?e[E]=Fr(r,s):e[E]=s}return e}const GI=Symbol();function mI(e){return!Br(e)||!e.hasOwnProperty(GI)}const{assign:et}=Object;function yI(e){return!!(Ue(e)&&e.effect)}function bI(e,t,E,s){const{state:r,actions:T,getters:n}=t,o=E.state.value[e];let R;function A(){o||(E.state.value[e]=r?r():{});const i=aa(E.state.value[e]);return et(i,T,Object.keys(n||{}).reduce((O,I)=>(O[I]=Qt(rt(()=>{tr(E);const c=E._s.get(e);return n[I].call(c,c)})),O),{}))}return R=CA(e,A,t,E,s,!0),R}function CA(e,t,E={},s,r,T){let n;const o=et({actions:{}},E),R={deep:!0};let A,i,O=[],I=[],c;const h=s.state.value[e];!T&&!h&&(s.state.value[e]={});const B=Ut({});let x;function X(l){let _;A=i=!1,typeof l=="function"?(l(s.state.value[e]),_={type:Ot.patchFunction,storeId:e,events:c}):(Fr(s.state.value[e],l),_={type:Ot.patchObject,payload:l,storeId:e,events:c});const u=x=Symbol();GR().then(()=>{x===u&&(A=!0)}),i=!0,nE(O,_,s.state.value[e])}const J=T?function(){const{state:_}=E,u=_?_():{};this.$patch(v=>{et(v,u)})}:cA;function q(){n.stop(),O=[],I=[],s._s.delete(e)}function b(l,_){return function(){tr(s);const u=Array.from(arguments),v=[],K=[];function Pe(U){v.push(U)}function Re(U){K.push(U)}nE(I,{args:u,name:l,store:Z,after:Pe,onError:Re});let f;try{f=_.apply(this&&this.$id===e?this:Z,u)}catch(U){throw nE(K,U),U}return f instanceof Promise?f.then(U=>(nE(v,U),U)).catch(U=>(nE(K,U),Promise.reject(U))):(nE(v,f),f)}}const oe=Qt({actions:{},getters:{},state:[],hotState:B}),Ie={_p:s,$id:e,$onAction:Gn.bind(null,I),$patch:X,$reset:J,$subscribe(l,_={}){const u=Gn(O,l,_.detached,()=>v()),v=n.run(()=>kt(()=>s.state.value[e],K=>{(_.flush==="sync"?i:A)&&l({storeId:e,type:Ot.direct,events:c},K)},et({},R,_)));return u},$dispose:q},Z=bt(kE?et({_hmrPayload:oe,_customProperties:Qt(new Set)},Ie):Ie);s._s.set(e,Z);const ae=(s._a&&s._a.runWithContext||gI)(()=>s._e.run(()=>(n=aR()).run(t)));for(const l in ae){const _=ae[l];if(Ue(_)&&!yI(_)||Gt(_))T||(h&&mI(_)&&(Ue(_)?_.value=h[l]:Fr(_,h[l])),s.state.value[e][l]=_);else if(typeof _=="function"){const u=b(l,_);ae[l]=u,o.actions[l]=_}}if(et(Z,ae),et(ne(Z),ae),Object.defineProperty(Z,"$state",{get:()=>s.state.value[e],set:l=>{X(_=>{et(_,l)})}}),kE){const l={writable:!0,configurable:!0,enumerable:!1};["_p","_hmrPayload","_getters","_customProperties"].forEach(_=>{Object.defineProperty(Z,_,et({value:Z[_]},l))})}return s._p.forEach(l=>{if(kE){const _=n.run(()=>l({store:Z,app:s._a,pinia:s,options:o}));Object.keys(_||{}).forEach(u=>Z._customProperties.add(u)),et(Z,_)}else et(Z,n.run(()=>l({store:Z,app:s._a,pinia:s,options:o})))}),h&&T&&E.hydrate&&E.hydrate(Z.$state,h),A=!0,i=!0,Z}function LA(e,t,E){let s,r;const T=typeof t=="function";typeof e=="string"?(s=e,r=T?E:t):(r=e,s=e.id);function n(o,R){const A=sO();return o=o||(A?XE(RA,null):null),o&&tr(o),o=oA,o._s.has(s)||(T?CA(s,t,r,o):bI(s,r,o)),o._s.get(s)}return n.$id=s,n}function HI(e,t){return Yr(e,e.childNodes,t)}function Yr(e,t,{mode:E="open",delegatesFocus:s=!1}={mode:"open"}){try{const r=e.shadowRoot;if(r!=null){console.error("[shadow] Attach shadow multiple times",e,t,r);return}else{const T=e.attachShadow({mode:E,delegatesFocus:s});return t&&BI(T,t),T}}catch(r){console.error("[shadow] make shadow-root failed",e,t),console.error(r)}}function BI(e,t){const E=document.createDocumentFragment();for(const s of t)E.appendChild(s);e.appendChild(E)}const vI=document.createDocumentFragment(),Hs=Me({props:{media:String,nonce:String},setup(e,{slots:t}){return()=>{var E;return rs("style",{media:e.media,nonce:e.nonce},(E=t.default)==null?void 0:E.call(t))}}}),Bs=FI()(Me({props:{mode:{type:String,default:"open"},delegatesFocus:{type:Boolean,default:!1},abstract:{type:Boolean,default:!1},tag:{type:String,default:"div"},adoptedStyleSheets:{type:Array}},emits:["error"],setup(e,{slots:t,expose:E,emit:s}){const r=Ut(!1),T=Ut(),n=Ut(),o=Ut(),R=rt(()=>o.value??vI),A=bt({shadow_root:o});return E(A),XR(()=>{r.value=e.abstract}),zs(()=>{var i;try{r.value?n.value.parentElement.shadowRoot?o.value=n.value.parentElement.shadowRoot:o.value=Yr(n.value.parentElement,void 0,{mode:e.mode,delegatesFocus:e.delegatesFocus}):o.value=Yr(T.value,void 0,{mode:e.mode,delegatesFocus:e.delegatesFocus}),(i=o.value)==null||i.styleSheets}catch(O){console.error(O),s("error",O)}}),kt([o,()=>e.adoptedStyleSheets],([i,O])=>{if(!(!i||!O))try{i.adoptedStyleSheets=O}catch(I){console.error(I),s("error",I)}}),()=>{var O;const i=rs(lO,{ref:n,to:R.value},[(O=t.default)==null?void 0:O.call(t)]);return r.value?i:rs(e.tag,{ref:T},i)}},install:uA,Style:Hs}));function FI(){return e=>e}function uA(e){e.component("shadow-root",Bs),e.directive("shadow",{beforeMount(t){console.warn("[VueShadowDom] Deprecated v-shadow directive, use component"),HI(t)}})}var YI={ShadowRoot:Bs,ShadowStyle:Hs,shadow_root:Bs,shadow_style:Hs,install:uA},Vr={exports:{}};(function(e,t){(function(E,s){s(t)})(RE,function(E){var s={logger:self.console,WebSocket:self.WebSocket},r={log:function(){if(this.enabled){for(var _,u=arguments.length,v=Array(u),K=0;Kthis.constructor.staleThreshold},l.prototype.disconnectedRecently=function(){return this.disconnectedAt&&A(this.disconnectedAt)0&&arguments[0]!==void 0?arguments[0]:{allowReconnect:!0},v=u.allowReconnect;if(v||this.monitor.stop(),this.isActive())return this.webSocket.close()},l.prototype.reopen=function(){if(r.log("Reopening WebSocket, current state is "+this.getState()),this.isActive())try{return this.close()}catch(u){r.log("Failed to reopen WebSocket",u)}finally{r.log("Reopening WebSocket in "+this.constructor.reopenDelay+"ms"),setTimeout(this.open,this.constructor.reopenDelay)}else return this.open()},l.prototype.getProtocol=function(){if(this.webSocket)return this.webSocket.protocol},l.prototype.isOpen=function(){return this.isState("open")},l.prototype.isActive=function(){return this.isState("open","connecting")},l.prototype.isProtocolSupported=function(){return x.call(B,this.getProtocol())>=0},l.prototype.isState=function(){for(var u=arguments.length,v=Array(u),K=0;K=0},l.prototype.getState=function(){if(this.webSocket){for(var u in s.WebSocket)if(s.WebSocket[u]===this.webSocket.readyState)return u.toLowerCase()}return null},l.prototype.installEventHandlers=function(){for(var u in this.events){var v=this.events[u].bind(this);this.webSocket["on"+u]=v}},l.prototype.uninstallEventHandlers=function(){for(var u in this.events)this.webSocket["on"+u]=function(){}},l}();X.reopenDelay=500,X.prototype.events={message:function(_){if(this.isProtocolSupported()){var u=JSON.parse(_.data),v=u.identifier,K=u.message,Pe=u.reason,Re=u.reconnect,f=u.type;switch(f){case c.welcome:return this.monitor.recordConnect(),this.subscriptions.reload();case c.disconnect:return r.log("Disconnecting. Reason: "+Pe),this.close({allowReconnect:Re});case c.ping:return this.monitor.recordPing();case c.confirmation:return this.subscriptions.confirmSubscription(v),this.subscriptions.notify(v,"connected");case c.rejection:return this.subscriptions.reject(v);default:return this.subscriptions.notify(v,"received",K)}}},open:function(){if(r.log("WebSocket onopen event, using '"+this.getProtocol()+"' subprotocol"),this.disconnected=!1,!this.isProtocolSupported())return r.log("Protocol is unsupported. Stopping monitor and disconnecting."),this.close({allowReconnect:!1})},close:function(_){if(r.log("WebSocket onclose event"),!this.disconnected)return this.disconnected=!0,this.monitor.recordDisconnect(),this.subscriptions.notifyAll("disconnected",{willAttemptReconnect:this.monitor.isRunning()})},error:function(){r.log("WebSocket onerror event")}};var J=function(_,u){if(u!=null)for(var v in u){var K=u[v];_[v]=K}return _},q=function(){function l(_){var u=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},v=arguments[2];n(this,l),this.consumer=_,this.identifier=JSON.stringify(u),J(this,v)}return l.prototype.perform=function(u){var v=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return v.action=u,this.send(v)},l.prototype.send=function(u){return this.consumer.send({command:"message",identifier:this.identifier,data:JSON.stringify(u)})},l.prototype.unsubscribe=function(){return this.consumer.subscriptions.remove(this)},l}(),b=function(){function l(_){n(this,l),this.subscriptions=_,this.pendingSubscriptions=[]}return l.prototype.guarantee=function(u){this.pendingSubscriptions.indexOf(u)==-1?(r.log("SubscriptionGuarantor guaranteeing "+u.identifier),this.pendingSubscriptions.push(u)):r.log("SubscriptionGuarantor already guaranteeing "+u.identifier),this.startGuaranteeing()},l.prototype.forget=function(u){r.log("SubscriptionGuarantor forgetting "+u.identifier),this.pendingSubscriptions=this.pendingSubscriptions.filter(function(v){return v!==u})},l.prototype.startGuaranteeing=function(){this.stopGuaranteeing(),this.retrySubscribing()},l.prototype.stopGuaranteeing=function(){clearTimeout(this.retryTimeout)},l.prototype.retrySubscribing=function(){var u=this;this.retryTimeout=setTimeout(function(){u.subscriptions&&typeof u.subscriptions.subscribe=="function"&&u.pendingSubscriptions.map(function(v){r.log("SubscriptionGuarantor resubscribing "+v.identifier),u.subscriptions.subscribe(v)})},500)},l}(),oe=function(){function l(_){n(this,l),this.consumer=_,this.guarantor=new b(this),this.subscriptions=[]}return l.prototype.create=function(u,v){var K=u,Pe=(typeof K>"u"?"undefined":T(K))==="object"?K:{channel:K},Re=new q(this.consumer,Pe,v);return this.add(Re)},l.prototype.add=function(u){return this.subscriptions.push(u),this.consumer.ensureActiveConnection(),this.notify(u,"initialized"),this.subscribe(u),u},l.prototype.remove=function(u){return this.forget(u),this.findAll(u.identifier).length||this.sendCommand(u,"unsubscribe"),u},l.prototype.reject=function(u){var v=this;return this.findAll(u).map(function(K){return v.forget(K),v.notify(K,"rejected"),K})},l.prototype.forget=function(u){return this.guarantor.forget(u),this.subscriptions=this.subscriptions.filter(function(v){return v!==u}),u},l.prototype.findAll=function(u){return this.subscriptions.filter(function(v){return v.identifier===u})},l.prototype.reload=function(){var u=this;return this.subscriptions.map(function(v){return u.subscribe(v)})},l.prototype.notifyAll=function(u){for(var v=this,K=arguments.length,Pe=Array(K>1?K-1:0),Re=1;Re2?K-2:0),Re=2;Re0&&arguments[0]!==void 0?arguments[0]:ae("url")||I.default_mount_path;return new Ie(l)}function ae(l){var _=document.head.querySelector("meta[name='action-cable-"+l+"']");if(_)return _.getAttribute("content")}E.Connection=X,E.ConnectionMonitor=O,E.Consumer=Ie,E.INTERNAL=I,E.Subscription=q,E.Subscriptions=oe,E.SubscriptionGuarantor=b,E.adapters=s,E.createWebSocketURL=Z,E.logger=r,E.createConsumer=pe,E.getConfig=ae,Object.defineProperty(E,"__esModule",{value:!0})})})(Vr,Vr.exports);var VI=Vr.exports;function mn(e,t){return g(),Y("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[a("path",{"fill-rule":"evenodd",d:"M11.78 4.22a.75.75 0 0 1 0 1.06L6.56 10.5h3.69a.75.75 0 0 1 0 1.5h-5.5a.75.75 0 0 1-.75-.75v-5.5a.75.75 0 0 1 1.5 0v3.69l5.22-5.22a.75.75 0 0 1 1.06 0Z","clip-rule":"evenodd"})])}function xI(e,t){return g(),Y("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[a("path",{"fill-rule":"evenodd",d:"M13.78 10.47a.75.75 0 0 1 0 1.06l-2.25 2.25a.75.75 0 0 1-1.06 0l-2.25-2.25a.75.75 0 1 1 1.06-1.06l.97.97V5.75a.75.75 0 0 1 1.5 0v5.69l.97-.97a.75.75 0 0 1 1.06 0ZM2.22 5.53a.75.75 0 0 1 0-1.06l2.25-2.25a.75.75 0 0 1 1.06 0l2.25 2.25a.75.75 0 0 1-1.06 1.06l-.97-.97v5.69a.75.75 0 0 1-1.5 0V4.56l-.97.97a.75.75 0 0 1-1.06 0Z","clip-rule":"evenodd"})])}function fA(e,t){return g(),Y("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[a("path",{"fill-rule":"evenodd",d:"M4.22 6.22a.75.75 0 0 1 1.06 0L8 8.94l2.72-2.72a.75.75 0 1 1 1.06 1.06l-3.25 3.25a.75.75 0 0 1-1.06 0L4.22 7.28a.75.75 0 0 1 0-1.06Z","clip-rule":"evenodd"})])}function wI(e,t){return g(),Y("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[a("path",{d:"M8 7c3.314 0 6-1.343 6-3s-2.686-3-6-3-6 1.343-6 3 2.686 3 6 3Z"}),a("path",{d:"M8 8.5c1.84 0 3.579-.37 4.914-1.037A6.33 6.33 0 0 0 14 6.78V8c0 1.657-2.686 3-6 3S2 9.657 2 8V6.78c.346.273.72.5 1.087.683C4.42 8.131 6.16 8.5 8 8.5Z"}),a("path",{d:"M8 12.5c1.84 0 3.579-.37 4.914-1.037.366-.183.74-.41 1.086-.684V12c0 1.657-2.686 3-6 3s-6-1.343-6-3v-1.22c.346.273.72.5 1.087.683C4.42 12.131 6.16 12.5 8 12.5Z"})])}function WI(e,t){return g(),Y("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[a("path",{"fill-rule":"evenodd",d:"M4.78 4.97a.75.75 0 0 1 0 1.06L2.81 8l1.97 1.97a.75.75 0 1 1-1.06 1.06l-2.5-2.5a.75.75 0 0 1 0-1.06l2.5-2.5a.75.75 0 0 1 1.06 0ZM11.22 4.97a.75.75 0 0 0 0 1.06L13.19 8l-1.97 1.97a.75.75 0 1 0 1.06 1.06l2.5-2.5a.75.75 0 0 0 0-1.06l-2.5-2.5a.75.75 0 0 0-1.06 0ZM8.856 2.008a.75.75 0 0 1 .636.848l-1.5 10.5a.75.75 0 0 1-1.484-.212l1.5-10.5a.75.75 0 0 1 .848-.636Z","clip-rule":"evenodd"})])}function XI(e,t){return g(),Y("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[a("path",{d:"M6 6v4h4V6H6Z"}),a("path",{"fill-rule":"evenodd",d:"M5.75 1a.75.75 0 0 0-.75.75V3a2 2 0 0 0-2 2H1.75a.75.75 0 0 0 0 1.5H3v.75H1.75a.75.75 0 0 0 0 1.5H3v.75H1.75a.75.75 0 0 0 0 1.5H3a2 2 0 0 0 2 2v1.25a.75.75 0 0 0 1.5 0V13h.75v1.25a.75.75 0 0 0 1.5 0V13h.75v1.25a.75.75 0 0 0 1.5 0V13a2 2 0 0 0 2-2h1.25a.75.75 0 0 0 0-1.5H13v-.75h1.25a.75.75 0 0 0 0-1.5H13V6.5h1.25a.75.75 0 0 0 0-1.5H13a2 2 0 0 0-2-2V1.75a.75.75 0 0 0-1.5 0V3h-.75V1.75a.75.75 0 0 0-1.5 0V3H6.5V1.75A.75.75 0 0 0 5.75 1ZM11 4.5a.5.5 0 0 1 .5.5v6a.5.5 0 0 1-.5.5H5a.5.5 0 0 1-.5-.5V5a.5.5 0 0 1 .5-.5h6Z","clip-rule":"evenodd"})])}function $I(e,t){return g(),Y("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[a("path",{d:"M4.5 2a.5.5 0 0 0-.5.5v11a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-11a.5.5 0 0 0-.5-.5h-1ZM10.5 2a.5.5 0 0 0-.5.5v11a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-11a.5.5 0 0 0-.5-.5h-1Z"})])}function KI(e,t){return g(),Y("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[a("path",{d:"M3 3.732a1.5 1.5 0 0 1 2.305-1.265l6.706 4.267a1.5 1.5 0 0 1 0 2.531l-6.706 4.268A1.5 1.5 0 0 1 3 12.267V3.732Z"})])}function JI(e,t){return g(),Y("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[a("path",{"fill-rule":"evenodd",d:"M5 3.25V4H2.75a.75.75 0 0 0 0 1.5h.3l.815 8.15A1.5 1.5 0 0 0 5.357 15h5.285a1.5 1.5 0 0 0 1.493-1.35l.815-8.15h.3a.75.75 0 0 0 0-1.5H11v-.75A2.25 2.25 0 0 0 8.75 1h-1.5A2.25 2.25 0 0 0 5 3.25Zm2.25-.75a.75.75 0 0 0-.75.75V4h3v-.75a.75.75 0 0 0-.75-.75h-1.5ZM6.05 6a.75.75 0 0 1 .787.713l.275 5.5a.75.75 0 0 1-1.498.075l-.275-5.5A.75.75 0 0 1 6.05 6Zm3.9 0a.75.75 0 0 1 .712.787l-.275 5.5a.75.75 0 0 1-1.498-.075l.275-5.5a.75.75 0 0 1 .786-.711Z","clip-rule":"evenodd"})])}function kI(e,t){return g(),Y("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[a("path",{"fill-rule":"evenodd",d:"M8 15A7 7 0 1 0 8 1a7 7 0 0 0 0 14Zm2.78-4.22a.75.75 0 0 1-1.06 0L8 9.06l-1.72 1.72a.75.75 0 1 1-1.06-1.06L6.94 8 5.22 6.28a.75.75 0 0 1 1.06-1.06L8 6.94l1.72-1.72a.75.75 0 1 1 1.06 1.06L9.06 8l1.72 1.72a.75.75 0 0 1 0 1.06Z","clip-rule":"evenodd"})])}const jI=["textContent"],qI=Me({__name:"TabButton",props:{label:{},count:{},isActive:{type:Boolean}},setup(e){const t=e;return(E,s)=>(g(),Y("button",{class:ke(["text-sm flex items-center space-x-1 px-3 py-2 border-0",{"bg-stone-300 rounded-sm":t.isActive}])},[a("span",{class:ke({"font-medium":t.isActive})},[pE(E.$slots,"default")],2),t.count!=null?(g(),Y("span",{key:0,class:ke(["p-0.5 rounded-full text-xs",{"px-1.5":t.count<10,hidden:t.count==0,"bg-stone-300":t.count>0&&!t.isActive,"bg-stone-400":t.count>0&&t.isActive}]),textContent:re(t.count)},null,10,jI)):Te("",!0)],2))}}),he=(e,t)=>{const E=e.__vccOpts||e;for(const[s,r]of t)E[s]=r;return E},QI=he(qI,[["__file","TabButton.vue"]]),ZI={},zI={class:"px-3 py-2"};function eN(e,t){return g(),Y("div",zI,[pE(e.$slots,"default")])}const Lt=he(ZI,[["render",eN],["__file","Panel.vue"]]),tN={key:0},EN=a("div",{class:"text-gray-500"},"No models were initialized.",-1),sN=[EN],rN={key:1,class:"divide-y divide-stone-300"},TN=a("thead",null,[a("tr",null,[a("th",{scope:"col",class:"w-36 py-3.5 pl-4 pr-3 text-left text-sm font-semibold text-stone-900 sm:pl-0"}," Model "),a("th",{scope:"col",class:"px-3 py-3.5 text-left text-sm font-semibold text-stone-900"},"Count")])],-1),nN={class:"divide-y divide-stone-200"},oN={class:"whitespace-nowrap py-4 pl-4 pr-3 text-sm font-medium text-stone-900 sm:pl-0"},RN={class:"whitespace-nowrap px-3 py-4 text-sm text-stone-500 text-center"},AN=Me({__name:"ModelsPanel",props:{models:{},count:{}},setup(e){const t=e;return(E,s)=>(g(),ue(Lt,null,{default:Ae(()=>[t.count==0?(g(),Y("div",tN,sN)):Te("",!0),t.count>0?(g(),Y("table",rN,[TN,a("tbody",nN,[(g(!0),Y(_e,null,qe(t.models,(r,T)=>(g(),Y("tr",{key:T},[a("td",oN,re(T),1),a("td",RN,re(r),1)]))),128))])])):Te("",!0)]),_:1}))}}),iN=he(AN,[["__file","ModelsPanel.vue"]]);var pA={exports:{}};(function(e){(function(t,E){e.exports?e.exports=E():t.nearley=E()})(RE,function(){function t(A,i,O){return this.id=++t.highestId,this.name=A,this.symbols=i,this.postprocess=O,this}t.highestId=0,t.prototype.toString=function(A){var i=typeof A>"u"?this.symbols.map(R).join(" "):this.symbols.slice(0,A).map(R).join(" ")+" ● "+this.symbols.slice(A).map(R).join(" ");return this.name+" → "+i};function E(A,i,O,I){this.rule=A,this.dot=i,this.reference=O,this.data=[],this.wantedBy=I,this.isComplete=this.dot===A.symbols.length}E.prototype.toString=function(){return"{"+this.rule.toString(this.dot)+"}, from: "+(this.reference||0)},E.prototype.nextState=function(A){var i=new E(this.rule,this.dot+1,this.reference,this.wantedBy);return i.left=this,i.right=A,i.isComplete&&(i.data=i.build(),i.right=void 0),i},E.prototype.build=function(){var A=[],i=this;do A.push(i.right.data),i=i.left;while(i.left);return A.reverse(),A},E.prototype.finish=function(){this.rule.postprocess&&(this.data=this.rule.postprocess(this.data,this.reference,n.fail))};function s(A,i){this.grammar=A,this.index=i,this.states=[],this.wants={},this.scannable=[],this.completed={}}s.prototype.process=function(A){for(var i=this.states,O=this.wants,I=this.completed,c=0;c0&&i.push(" ^ "+I+" more lines identical to this"),I=0,i.push(" "+B)),O=B}},n.prototype.getSymbolDisplay=function(A){return o(A)},n.prototype.buildFirstStateStack=function(A,i){if(i.indexOf(A)!==-1)return null;if(A.wantedBy.length===0)return[A];var O=A.wantedBy[0],I=[A].concat(i),c=this.buildFirstStateStack(O,I);return c===null?null:[A].concat(c)},n.prototype.save=function(){var A=this.table[this.current];return A.lexerState=this.lexerState,A},n.prototype.restore=function(A){var i=A.index;this.current=i,this.table[i]=A,this.table.splice(i+1),this.lexerState=A.lexerState,this.results=this.finish()},n.prototype.rewind=function(A){if(!this.options.keepHistory)throw new Error("set option `keepHistory` to enable rewinding");this.restore(this.table[A])},n.prototype.finish=function(){var A=[],i=this.grammar.start,O=this.table[this.table.length-1];return O.states.forEach(function(I){I.rule.name===i&&I.dot===I.rule.symbols.length&&I.reference===0&&I.data!==n.fail&&A.push(I)}),A.map(function(I){return I.data})};function o(A){var i=typeof A;if(i==="string")return A;if(i==="object"){if(A.literal)return JSON.stringify(A.literal);if(A instanceof RegExp)return"character matching "+A;if(A.type)return A.type+" token";if(A.test)return"token matching "+String(A.test);throw new Error("Unknown symbol type: "+A)}}function R(A){var i=typeof A;if(i==="string")return A;if(i==="object"){if(A.literal)return JSON.stringify(A.literal);if(A instanceof RegExp)return A.toString();if(A.type)return"%"+A.type;if(A.test)return"<"+String(A.test)+">";throw new Error("Unknown symbol type: "+A)}}return{Parser:n,Grammar:r,Rule:t}})})(pA);var SN=pA.exports;const aN=xs(SN);var PA=Object.defineProperty,ON=Object.defineProperties,IN=Object.getOwnPropertyDescriptors,vs=Object.getOwnPropertySymbols,DA=Object.prototype.hasOwnProperty,dA=Object.prototype.propertyIsEnumerable,yn=(e,t,E)=>t in e?PA(e,t,{enumerable:!0,configurable:!0,writable:!0,value:E}):e[t]=E,Be=(e,t)=>{for(var E in t||(t={}))DA.call(t,E)&&yn(e,E,t[E]);if(vs)for(var E of vs(t))dA.call(t,E)&&yn(e,E,t[E]);return e},We=(e,t)=>ON(e,IN(t)),NN=(e,t)=>{var E={};for(var s in e)DA.call(e,s)&&t.indexOf(s)<0&&(E[s]=e[s]);if(e!=null&&vs)for(var s of vs(e))t.indexOf(s)<0&&dA.call(e,s)&&(E[s]=e[s]);return E},lN=(e,t)=>{for(var E in t)PA(e,E,{get:t[E],enumerable:!0})},MA={};lN(MA,{bigquery:()=>bN,db2:()=>JN,db2i:()=>El,hive:()=>Sl,mariadb:()=>Ll,mysql:()=>hl,n1ql:()=>Fl,plsql:()=>Jl,postgresql:()=>s_,redshift:()=>a_,singlestoredb:()=>Oc,snowflake:()=>fc,spark:()=>u_,sql:()=>V_,sqlite:()=>G_,transactsql:()=>rc,trino:()=>j_});var d=e=>e.flatMap(_N),_N=e=>Ps(CN(e)).map(cN),cN=e=>e.replace(/ +/g," ").trim(),CN=e=>({type:"mandatory_block",items:uT(e,0)[0]}),uT=(e,t,E)=>{const s=[];for(;e[t];){const[r,T]=LN(e,t);if(s.push(r),t=T,e[t]==="|")t++;else if(e[t]==="}"||e[t]==="]"){if(E!==e[t])throw new Error(`Unbalanced parenthesis in: ${e}`);return t++,[s,t]}else if(t===e.length){if(E)throw new Error(`Unbalanced parenthesis in: ${e}`);return[s,t]}else throw new Error(`Unexpected "${e[t]}"`)}return[s,t]},LN=(e,t)=>{const E=[];for(;;){const[s,r]=uN(e,t);if(s)E.push(s),t=r;else break}return E.length===1?[E[0],t]:[{type:"concatenation",items:E},t]},uN=(e,t)=>{if(e[t]==="{")return fN(e,t+1);if(e[t]==="[")return pN(e,t+1);{let E="";for(;e[t]&&/[A-Za-z0-9_ ]/.test(e[t]);)E+=e[t],t++;return[E,t]}},fN=(e,t)=>{const[E,s]=uT(e,t,"}");return[{type:"mandatory_block",items:E},s]},pN=(e,t)=>{const[E,s]=uT(e,t,"]");return[{type:"optional_block",items:E},s]},Ps=e=>{if(typeof e=="string")return[e];if(e.type==="concatenation")return e.items.map(Ps).reduce(PN,[""]);if(e.type==="mandatory_block")return e.items.flatMap(Ps);if(e.type==="optional_block")return["",...e.items.flatMap(Ps)];throw new Error(`Unknown node type: ${e}`)},PN=(e,t)=>{const E=[];for(const s of e)for(const r of t)E.push(s+r);return E},UA=(e=>(e.QUOTED_IDENTIFIER="QUOTED_IDENTIFIER",e.IDENTIFIER="IDENTIFIER",e.STRING="STRING",e.VARIABLE="VARIABLE",e.RESERVED_DATA_TYPE="RESERVED_DATA_TYPE",e.RESERVED_PARAMETERIZED_DATA_TYPE="RESERVED_PARAMETERIZED_DATA_TYPE",e.RESERVED_KEYWORD="RESERVED_KEYWORD",e.RESERVED_FUNCTION_NAME="RESERVED_FUNCTION_NAME",e.RESERVED_PHRASE="RESERVED_PHRASE",e.RESERVED_SET_OPERATION="RESERVED_SET_OPERATION",e.RESERVED_CLAUSE="RESERVED_CLAUSE",e.RESERVED_SELECT="RESERVED_SELECT",e.RESERVED_JOIN="RESERVED_JOIN",e.ARRAY_IDENTIFIER="ARRAY_IDENTIFIER",e.ARRAY_KEYWORD="ARRAY_KEYWORD",e.CASE="CASE",e.END="END",e.WHEN="WHEN",e.ELSE="ELSE",e.THEN="THEN",e.LIMIT="LIMIT",e.BETWEEN="BETWEEN",e.AND="AND",e.OR="OR",e.XOR="XOR",e.OPERATOR="OPERATOR",e.COMMA="COMMA",e.ASTERISK="ASTERISK",e.DOT="DOT",e.OPEN_PAREN="OPEN_PAREN",e.CLOSE_PAREN="CLOSE_PAREN",e.LINE_COMMENT="LINE_COMMENT",e.BLOCK_COMMENT="BLOCK_COMMENT",e.NUMBER="NUMBER",e.NAMED_PARAMETER="NAMED_PARAMETER",e.QUOTED_PARAMETER="QUOTED_PARAMETER",e.NUMBERED_PARAMETER="NUMBERED_PARAMETER",e.POSITIONAL_PARAMETER="POSITIONAL_PARAMETER",e.CUSTOM_PARAMETER="CUSTOM_PARAMETER",e.DELIMITER="DELIMITER",e.EOF="EOF",e))(UA||{}),hA=e=>({type:"EOF",raw:"«EOF»",text:"«EOF»",start:e}),cE=hA(1/0),oE=e=>t=>t.type===e.type&&t.text===e.text,Zt={ARRAY:oE({text:"ARRAY",type:"RESERVED_DATA_TYPE"}),BY:oE({text:"BY",type:"RESERVED_KEYWORD"}),SET:oE({text:"SET",type:"RESERVED_CLAUSE"}),STRUCT:oE({text:"STRUCT",type:"RESERVED_DATA_TYPE"}),WINDOW:oE({text:"WINDOW",type:"RESERVED_CLAUSE"}),VALUES:oE({text:"VALUES",type:"RESERVED_CLAUSE"})},gA=e=>e==="RESERVED_DATA_TYPE"||e==="RESERVED_KEYWORD"||e==="RESERVED_FUNCTION_NAME"||e==="RESERVED_PHRASE"||e==="RESERVED_CLAUSE"||e==="RESERVED_SELECT"||e==="RESERVED_SET_OPERATION"||e==="RESERVED_JOIN"||e==="ARRAY_KEYWORD"||e==="CASE"||e==="END"||e==="WHEN"||e==="ELSE"||e==="THEN"||e==="LIMIT"||e==="BETWEEN"||e==="AND"||e==="OR"||e==="XOR",DN=e=>e==="AND"||e==="OR"||e==="XOR",dN=["KEYS.NEW_KEYSET","KEYS.ADD_KEY_FROM_RAW_BYTES","AEAD.DECRYPT_BYTES","AEAD.DECRYPT_STRING","AEAD.ENCRYPT","KEYS.KEYSET_CHAIN","KEYS.KEYSET_FROM_JSON","KEYS.KEYSET_TO_JSON","KEYS.ROTATE_KEYSET","KEYS.KEYSET_LENGTH","ANY_VALUE","ARRAY_AGG","AVG","CORR","COUNT","COUNTIF","COVAR_POP","COVAR_SAMP","MAX","MIN","ST_CLUSTERDBSCAN","STDDEV_POP","STDDEV_SAMP","STRING_AGG","SUM","VAR_POP","VAR_SAMP","ANY_VALUE","ARRAY_AGG","ARRAY_CONCAT_AGG","AVG","BIT_AND","BIT_OR","BIT_XOR","COUNT","COUNTIF","LOGICAL_AND","LOGICAL_OR","MAX","MIN","STRING_AGG","SUM","APPROX_COUNT_DISTINCT","APPROX_QUANTILES","APPROX_TOP_COUNT","APPROX_TOP_SUM","ARRAY_CONCAT","ARRAY_LENGTH","ARRAY_TO_STRING","GENERATE_ARRAY","GENERATE_DATE_ARRAY","GENERATE_TIMESTAMP_ARRAY","ARRAY_REVERSE","OFFSET","SAFE_OFFSET","ORDINAL","SAFE_ORDINAL","BIT_COUNT","PARSE_BIGNUMERIC","PARSE_NUMERIC","SAFE_CAST","CURRENT_DATE","EXTRACT","DATE","DATE_ADD","DATE_SUB","DATE_DIFF","DATE_TRUNC","DATE_FROM_UNIX_DATE","FORMAT_DATE","LAST_DAY","PARSE_DATE","UNIX_DATE","CURRENT_DATETIME","DATETIME","EXTRACT","DATETIME_ADD","DATETIME_SUB","DATETIME_DIFF","DATETIME_TRUNC","FORMAT_DATETIME","LAST_DAY","PARSE_DATETIME","ERROR","EXTERNAL_QUERY","S2_CELLIDFROMPOINT","S2_COVERINGCELLIDS","ST_ANGLE","ST_AREA","ST_ASBINARY","ST_ASGEOJSON","ST_ASTEXT","ST_AZIMUTH","ST_BOUNDARY","ST_BOUNDINGBOX","ST_BUFFER","ST_BUFFERWITHTOLERANCE","ST_CENTROID","ST_CENTROID_AGG","ST_CLOSESTPOINT","ST_CLUSTERDBSCAN","ST_CONTAINS","ST_CONVEXHULL","ST_COVEREDBY","ST_COVERS","ST_DIFFERENCE","ST_DIMENSION","ST_DISJOINT","ST_DISTANCE","ST_DUMP","ST_DWITHIN","ST_ENDPOINT","ST_EQUALS","ST_EXTENT","ST_EXTERIORRING","ST_GEOGFROM","ST_GEOGFROMGEOJSON","ST_GEOGFROMTEXT","ST_GEOGFROMWKB","ST_GEOGPOINT","ST_GEOGPOINTFROMGEOHASH","ST_GEOHASH","ST_GEOMETRYTYPE","ST_INTERIORRINGS","ST_INTERSECTION","ST_INTERSECTS","ST_INTERSECTSBOX","ST_ISCOLLECTION","ST_ISEMPTY","ST_LENGTH","ST_MAKELINE","ST_MAKEPOLYGON","ST_MAKEPOLYGONORIENTED","ST_MAXDISTANCE","ST_NPOINTS","ST_NUMGEOMETRIES","ST_NUMPOINTS","ST_PERIMETER","ST_POINTN","ST_SIMPLIFY","ST_SNAPTOGRID","ST_STARTPOINT","ST_TOUCHES","ST_UNION","ST_UNION_AGG","ST_WITHIN","ST_X","ST_Y","FARM_FINGERPRINT","MD5","SHA1","SHA256","SHA512","HLL_COUNT.INIT","HLL_COUNT.MERGE","HLL_COUNT.MERGE_PARTIAL","HLL_COUNT.EXTRACT","MAKE_INTERVAL","EXTRACT","JUSTIFY_DAYS","JUSTIFY_HOURS","JUSTIFY_INTERVAL","JSON_EXTRACT","JSON_QUERY","JSON_EXTRACT_SCALAR","JSON_VALUE","JSON_EXTRACT_ARRAY","JSON_QUERY_ARRAY","JSON_EXTRACT_STRING_ARRAY","JSON_VALUE_ARRAY","TO_JSON_STRING","ABS","SIGN","IS_INF","IS_NAN","IEEE_DIVIDE","RAND","SQRT","POW","POWER","EXP","LN","LOG","LOG10","GREATEST","LEAST","DIV","SAFE_DIVIDE","SAFE_MULTIPLY","SAFE_NEGATE","SAFE_ADD","SAFE_SUBTRACT","MOD","ROUND","TRUNC","CEIL","CEILING","FLOOR","COS","COSH","ACOS","ACOSH","SIN","SINH","ASIN","ASINH","TAN","TANH","ATAN","ATANH","ATAN2","RANGE_BUCKET","FIRST_VALUE","LAST_VALUE","NTH_VALUE","LEAD","LAG","PERCENTILE_CONT","PERCENTILE_DISC","NET.IP_FROM_STRING","NET.SAFE_IP_FROM_STRING","NET.IP_TO_STRING","NET.IP_NET_MASK","NET.IP_TRUNC","NET.IPV4_FROM_INT64","NET.IPV4_TO_INT64","NET.HOST","NET.PUBLIC_SUFFIX","NET.REG_DOMAIN","RANK","DENSE_RANK","PERCENT_RANK","CUME_DIST","NTILE","ROW_NUMBER","SESSION_USER","CORR","COVAR_POP","COVAR_SAMP","STDDEV_POP","STDDEV_SAMP","STDDEV","VAR_POP","VAR_SAMP","VARIANCE","ASCII","BYTE_LENGTH","CHAR_LENGTH","CHARACTER_LENGTH","CHR","CODE_POINTS_TO_BYTES","CODE_POINTS_TO_STRING","CONCAT","CONTAINS_SUBSTR","ENDS_WITH","FORMAT","FROM_BASE32","FROM_BASE64","FROM_HEX","INITCAP","INSTR","LEFT","LENGTH","LPAD","LOWER","LTRIM","NORMALIZE","NORMALIZE_AND_CASEFOLD","OCTET_LENGTH","REGEXP_CONTAINS","REGEXP_EXTRACT","REGEXP_EXTRACT_ALL","REGEXP_INSTR","REGEXP_REPLACE","REGEXP_SUBSTR","REPLACE","REPEAT","REVERSE","RIGHT","RPAD","RTRIM","SAFE_CONVERT_BYTES_TO_STRING","SOUNDEX","SPLIT","STARTS_WITH","STRPOS","SUBSTR","SUBSTRING","TO_BASE32","TO_BASE64","TO_CODE_POINTS","TO_HEX","TRANSLATE","TRIM","UNICODE","UPPER","CURRENT_TIME","TIME","EXTRACT","TIME_ADD","TIME_SUB","TIME_DIFF","TIME_TRUNC","FORMAT_TIME","PARSE_TIME","CURRENT_TIMESTAMP","EXTRACT","STRING","TIMESTAMP","TIMESTAMP_ADD","TIMESTAMP_SUB","TIMESTAMP_DIFF","TIMESTAMP_TRUNC","FORMAT_TIMESTAMP","PARSE_TIMESTAMP","TIMESTAMP_SECONDS","TIMESTAMP_MILLIS","TIMESTAMP_MICROS","UNIX_SECONDS","UNIX_MILLIS","UNIX_MICROS","GENERATE_UUID","COALESCE","IF","IFNULL","NULLIF","AVG","BIT_AND","BIT_OR","BIT_XOR","CORR","COUNT","COVAR_POP","COVAR_SAMP","EXACT_COUNT_DISTINCT","FIRST","GROUP_CONCAT","GROUP_CONCAT_UNQUOTED","LAST","MAX","MIN","NEST","NTH","QUANTILES","STDDEV","STDDEV_POP","STDDEV_SAMP","SUM","TOP","UNIQUE","VARIANCE","VAR_POP","VAR_SAMP","BIT_COUNT","BOOLEAN","BYTES","CAST","FLOAT","HEX_STRING","INTEGER","STRING","COALESCE","GREATEST","IFNULL","IS_INF","IS_NAN","IS_EXPLICITLY_DEFINED","LEAST","NVL","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","DATE","DATE_ADD","DATEDIFF","DAY","DAYOFWEEK","DAYOFYEAR","FORMAT_UTC_USEC","HOUR","MINUTE","MONTH","MSEC_TO_TIMESTAMP","NOW","PARSE_UTC_USEC","QUARTER","SEC_TO_TIMESTAMP","SECOND","STRFTIME_UTC_USEC","TIME","TIMESTAMP","TIMESTAMP_TO_MSEC","TIMESTAMP_TO_SEC","TIMESTAMP_TO_USEC","USEC_TO_TIMESTAMP","UTC_USEC_TO_DAY","UTC_USEC_TO_HOUR","UTC_USEC_TO_MONTH","UTC_USEC_TO_WEEK","UTC_USEC_TO_YEAR","WEEK","YEAR","FORMAT_IP","PARSE_IP","FORMAT_PACKED_IP","PARSE_PACKED_IP","JSON_EXTRACT","JSON_EXTRACT_SCALAR","ABS","ACOS","ACOSH","ASIN","ASINH","ATAN","ATANH","ATAN2","CEIL","COS","COSH","DEGREES","EXP","FLOOR","LN","LOG","LOG2","LOG10","PI","POW","RADIANS","RAND","ROUND","SIN","SINH","SQRT","TAN","TANH","REGEXP_MATCH","REGEXP_EXTRACT","REGEXP_REPLACE","CONCAT","INSTR","LEFT","LENGTH","LOWER","LPAD","LTRIM","REPLACE","RIGHT","RPAD","RTRIM","SPLIT","SUBSTR","UPPER","TABLE_DATE_RANGE","TABLE_DATE_RANGE_STRICT","TABLE_QUERY","HOST","DOMAIN","TLD","AVG","COUNT","MAX","MIN","STDDEV","SUM","CUME_DIST","DENSE_RANK","FIRST_VALUE","LAG","LAST_VALUE","LEAD","NTH_VALUE","NTILE","PERCENT_RANK","PERCENTILE_CONT","PERCENTILE_DISC","RANK","RATIO_TO_REPORT","ROW_NUMBER","CURRENT_USER","EVERY","FROM_BASE64","HASH","FARM_FINGERPRINT","IF","POSITION","SHA1","SOME","TO_BASE64","BQ.JOBS.CANCEL","BQ.REFRESH_MATERIALIZED_VIEW","OPTIONS","PIVOT","UNPIVOT"],MN=["ALL","AND","ANY","AS","ASC","ASSERT_ROWS_MODIFIED","AT","BETWEEN","BY","CASE","CAST","COLLATE","CONTAINS","CREATE","CROSS","CUBE","CURRENT","DEFAULT","DEFINE","DESC","DISTINCT","ELSE","END","ENUM","ESCAPE","EXCEPT","EXCLUDE","EXISTS","EXTRACT","FALSE","FETCH","FOLLOWING","FOR","FROM","FULL","GROUP","GROUPING","GROUPS","HASH","HAVING","IF","IGNORE","IN","INNER","INTERSECT","INTO","IS","JOIN","LATERAL","LEFT","LIMIT","LOOKUP","MERGE","NATURAL","NEW","NO","NOT","NULL","NULLS","OF","ON","OR","ORDER","OUTER","OVER","PARTITION","PRECEDING","PROTO","RANGE","RECURSIVE","RESPECT","RIGHT","ROLLUP","ROWS","SELECT","SET","SOME","TABLE","TABLESAMPLE","THEN","TO","TREAT","TRUE","UNBOUNDED","UNION","UNNEST","USING","WHEN","WHERE","WINDOW","WITH","WITHIN","SAFE","LIKE","COPY","CLONE","IN","OUT","INOUT","RETURNS","LANGUAGE","CASCADE","RESTRICT","DETERMINISTIC"],UN=["ARRAY","BOOL","BYTES","DATE","DATETIME","GEOGRAPHY","INTERVAL","INT64","INT","SMALLINT","INTEGER","BIGINT","TINYINT","BYTEINT","NUMERIC","DECIMAL","BIGNUMERIC","BIGDECIMAL","FLOAT64","STRING","STRUCT","TIME","TIMEZONE"],hN=d(["SELECT [ALL | DISTINCT] [AS STRUCT | AS VALUE]"]),gN=d(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY","HAVING","QUALIFY","WINDOW","PARTITION BY","ORDER BY","LIMIT","OFFSET","OMIT RECORD IF","INSERT [INTO]","VALUES","SET","MERGE [INTO]","WHEN [NOT] MATCHED [BY SOURCE | BY TARGET] [THEN]","UPDATE SET","CLUSTER BY","FOR SYSTEM_TIME AS OF","WITH CONNECTION","WITH PARTITION COLUMNS","REMOTE WITH CONNECTION"]),bn=d(["CREATE [OR REPLACE] [TEMP|TEMPORARY|SNAPSHOT|EXTERNAL] TABLE [IF NOT EXISTS]","CREATE [OR REPLACE] [MATERIALIZED] VIEW [IF NOT EXISTS]","UPDATE","DELETE [FROM]","DROP [SNAPSHOT | EXTERNAL] TABLE [IF EXISTS]","ALTER TABLE [IF EXISTS]","ADD COLUMN [IF NOT EXISTS]","DROP COLUMN [IF EXISTS]","RENAME TO","ALTER COLUMN [IF EXISTS]","SET DEFAULT COLLATE","SET OPTIONS","DROP NOT NULL","SET DATA TYPE","ALTER SCHEMA [IF EXISTS]","ALTER [MATERIALIZED] VIEW [IF EXISTS]","ALTER BI_CAPACITY","TRUNCATE TABLE","CREATE SCHEMA [IF NOT EXISTS]","DEFAULT COLLATE","CREATE [OR REPLACE] [TEMP|TEMPORARY|TABLE] FUNCTION [IF NOT EXISTS]","CREATE [OR REPLACE] PROCEDURE [IF NOT EXISTS]","CREATE [OR REPLACE] ROW ACCESS POLICY [IF NOT EXISTS]","GRANT TO","FILTER USING","CREATE CAPACITY","AS JSON","CREATE RESERVATION","CREATE ASSIGNMENT","CREATE SEARCH INDEX [IF NOT EXISTS]","DROP SCHEMA [IF EXISTS]","DROP [MATERIALIZED] VIEW [IF EXISTS]","DROP [TABLE] FUNCTION [IF EXISTS]","DROP PROCEDURE [IF EXISTS]","DROP ROW ACCESS POLICY","DROP ALL ROW ACCESS POLICIES","DROP CAPACITY [IF EXISTS]","DROP RESERVATION [IF EXISTS]","DROP ASSIGNMENT [IF EXISTS]","DROP SEARCH INDEX [IF EXISTS]","DROP [IF EXISTS]","GRANT","REVOKE","DECLARE","EXECUTE IMMEDIATE","LOOP","END LOOP","REPEAT","END REPEAT","WHILE","END WHILE","BREAK","LEAVE","CONTINUE","ITERATE","FOR","END FOR","BEGIN","BEGIN TRANSACTION","COMMIT TRANSACTION","ROLLBACK TRANSACTION","RAISE","RETURN","CALL","ASSERT","EXPORT DATA"]),GN=d(["UNION {ALL | DISTINCT}","EXCEPT DISTINCT","INTERSECT DISTINCT"]),mN=d(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN"]),yN=d(["TABLESAMPLE SYSTEM","ANY TYPE","ALL COLUMNS","NOT DETERMINISTIC","{ROWS | RANGE} BETWEEN","IS [NOT] DISTINCT FROM"]),bN={name:"bigquery",tokenizerOptions:{reservedSelect:hN,reservedClauses:[...gN,...bn],reservedSetOperations:GN,reservedJoins:mN,reservedPhrases:yN,reservedKeywords:MN,reservedDataTypes:UN,reservedFunctionNames:dN,extraParens:["[]"],stringTypes:[{quote:'""".."""',prefixes:["R","B","RB","BR"]},{quote:"'''..'''",prefixes:["R","B","RB","BR"]},'""-bs',"''-bs",{quote:'""-raw',prefixes:["R","B","RB","BR"],requirePrefix:!0},{quote:"''-raw",prefixes:["R","B","RB","BR"],requirePrefix:!0}],identTypes:["``"],identChars:{dashes:!0},paramTypes:{positional:!0,named:["@"],quoted:["@"]},variableTypes:[{regex:String.raw`@@\w+`}],lineCommentTypes:["--","#"],operators:["&","|","^","~",">>","<<","||","=>"],postProcess:HN},formatOptions:{onelineClauses:bn}};function HN(e){return BN(vN(e))}function BN(e){let t=cE;return e.map(E=>E.text==="OFFSET"&&t.text==="["?(t=E,We(Be({},E),{type:"RESERVED_FUNCTION_NAME"})):(t=E,E))}function vN(e){var t;const E=[];for(let s=0;st=>t.type==="IDENTIFIER"||t.type==="COMMA"?t[e]+" ":t[e];function FN(e,t){let E=0;for(let s=t;s"?E--:r.text===">>"&&(E-=2),E===0)return s}return e.length-1}var YN=["ARRAY_AGG","AVG","CORRELATION","COUNT","COUNT_BIG","COVARIANCE","COVARIANCE_SAMP","CUME_DIST","GROUPING","LISTAGG","MAX","MEDIAN","MIN","PERCENTILE_CONT","PERCENTILE_DISC","PERCENT_RANK","REGR_AVGX","REGR_AVGY","REGR_COUNT","REGR_INTERCEPT","REGR_ICPT","REGR_R2","REGR_SLOPE","REGR_SXX","REGR_SXY","REGR_SYY","STDDEV","STDDEV_SAMP","SUM","VARIANCE","VARIANCE_SAMP","XMLAGG","XMLGROUP","ABS","ABSVAL","ACOS","ADD_DAYS","ADD_HOURS","ADD_MINUTES","ADD_MONTHS","ADD_SECONDS","ADD_YEARS","AGE","ARRAY_DELETE","ARRAY_FIRST","ARRAY_LAST","ARRAY_NEXT","ARRAY_PRIOR","ASCII","ASCII_STR","ASIN","ATAN","ATAN2","ATANH","BITAND","BITANDNOT","BITOR","BITXOR","BITNOT","BPCHAR","BSON_TO_JSON","BTRIM","CARDINALITY","CEILING","CEIL","CHARACTER_LENGTH","CHR","COALESCE","COLLATION_KEY","COLLATION_KEY_BIT","COMPARE_DECFLOAT","CONCAT","COS","COSH","COT","CURSOR_ROWCOUNT","DATAPARTITIONNUM","DATE_PART","DATE_TRUNC","DAY","DAYNAME","DAYOFMONTH","DAYOFWEEK","DAYOFWEEK_ISO","DAYOFYEAR","DAYS","DAYS_BETWEEN","DAYS_TO_END_OF_MONTH","DBPARTITIONNUM","DECFLOAT","DECFLOAT_FORMAT","DECODE","DECRYPT_BIN","DECRYPT_CHAR","DEGREES","DEREF","DIFFERENCE","DIGITS","DOUBLE_PRECISION","EMPTY_BLOB","EMPTY_CLOB","EMPTY_DBCLOB","EMPTY_NCLOB","ENCRYPT","EVENT_MON_STATE","EXP","EXTRACT","FIRST_DAY","FLOOR","FROM_UTC_TIMESTAMP","GENERATE_UNIQUE","GETHINT","GREATEST","HASH","HASH4","HASH8","HASHEDVALUE","HEX","HEXTORAW","HOUR","HOURS_BETWEEN","IDENTITY_VAL_LOCAL","IFNULL","INITCAP","INSERT","INSTR","INSTR2","INSTR4","INSTRB","INTNAND","INTNOR","INTNXOR","INTNNOT","ISNULL","JSON_ARRAY","JSON_OBJECT","JSON_QUERY","JSON_TO_BSON","JSON_VALUE","JULIAN_DAY","LAST_DAY","LCASE","LEAST","LEFT","LENGTH","LENGTH2","LENGTH4","LENGTHB","LN","LOCATE","LOCATE_IN_STRING","LOG10","LONG_VARCHAR","LONG_VARGRAPHIC","LOWER","LPAD","LTRIM","MAX","MAX_CARDINALITY","MICROSECOND","MIDNIGHT_SECONDS","MIN","MINUTE","MINUTES_BETWEEN","MOD","MONTH","MONTHNAME","MONTHS_BETWEEN","MULTIPLY_ALT","NEXT_DAY","NEXT_MONTH","NEXT_QUARTER","NEXT_WEEK","NEXT_YEAR","NORMALIZE_DECFLOAT","NOW","NULLIF","NVL","NVL2","OCTET_LENGTH","OVERLAY","PARAMETER","POSITION","POSSTR","POW","POWER","QUANTIZE","QUARTER","QUOTE_IDENT","QUOTE_LITERAL","RADIANS","RAISE_ERROR","RAND","RANDOM","RAWTOHEX","REC2XML","REGEXP_COUNT","REGEXP_EXTRACT","REGEXP_INSTR","REGEXP_LIKE","REGEXP_MATCH_COUNT","REGEXP_REPLACE","REGEXP_SUBSTR","REPEAT","REPLACE","RID","RID_BIT","RIGHT","ROUND","ROUND_TIMESTAMP","RPAD","RTRIM","SECLABEL","SECLABEL_BY_NAME","SECLABEL_TO_CHAR","SECOND","SECONDS_BETWEEN","SIGN","SIN","SINH","SOUNDEX","SPACE","SQRT","STRIP","STRLEFT","STRPOS","STRRIGHT","SUBSTR","SUBSTR2","SUBSTR4","SUBSTRB","SUBSTRING","TABLE_NAME","TABLE_SCHEMA","TAN","TANH","THIS_MONTH","THIS_QUARTER","THIS_WEEK","THIS_YEAR","TIMESTAMP_FORMAT","TIMESTAMP_ISO","TIMESTAMPDIFF","TIMEZONE","TO_CHAR","TO_CLOB","TO_DATE","TO_HEX","TO_MULTI_BYTE","TO_NCHAR","TO_NCLOB","TO_NUMBER","TO_SINGLE_BYTE","TO_TIMESTAMP","TO_UTC_TIMESTAMP","TOTALORDER","TRANSLATE","TRIM","TRIM_ARRAY","TRUNC_TIMESTAMP","TRUNCATE","TRUNC","TYPE_ID","TYPE_NAME","TYPE_SCHEMA","UCASE","UNICODE_STR","UPPER","VALUE","VARCHAR_BIT_FORMAT","VARCHAR_FORMAT","VARCHAR_FORMAT_BIT","VERIFY_GROUP_FOR_USER","VERIFY_ROLE_FOR_USER","VERIFY_TRUSTED_CONTEXT_ROLE_FOR_USER","WEEK","WEEK_ISO","WEEKS_BETWEEN","WIDTH_BUCKET","XMLATTRIBUTES","XMLCOMMENT","XMLCONCAT","XMLDOCUMENT","XMLELEMENT","XMLFOREST","XMLNAMESPACES","XMLPARSE","XMLPI","XMLQUERY","XMLROW","XMLSERIALIZE","XMLTEXT","XMLVALIDATE","XMLXSROBJECTID","XSLTRANSFORM","YEAR","YEARS_BETWEEN","YMD_BETWEEN","BASE_TABLE","JSON_TABLE","UNNEST","XMLTABLE","RANK","DENSE_RANK","NTILE","LAG","LEAD","ROW_NUMBER","FIRST_VALUE","LAST_VALUE","NTH_VALUE","RATIO_TO_REPORT","CAST"],VN=["ACTIVATE","ADD","AFTER","ALIAS","ALL","ALLOCATE","ALLOW","ALTER","AND","ANY","AS","ASENSITIVE","ASSOCIATE","ASUTIME","AT","ATTRIBUTES","AUDIT","AUTHORIZATION","AUX","AUXILIARY","BEFORE","BEGIN","BETWEEN","BINARY","BUFFERPOOL","BY","CACHE","CALL","CALLED","CAPTURE","CARDINALITY","CASCADED","CASE","CAST","CHECK","CLONE","CLOSE","CLUSTER","COLLECTION","COLLID","COLUMN","COMMENT","COMMIT","CONCAT","CONDITION","CONNECT","CONNECTION","CONSTRAINT","CONTAINS","CONTINUE","COUNT","COUNT_BIG","CREATE","CROSS","CURRENT","CURRENT_DATE","CURRENT_LC_CTYPE","CURRENT_PATH","CURRENT_SCHEMA","CURRENT_SERVER","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_TIMEZONE","CURRENT_USER","CURSOR","CYCLE","DATA","DATABASE","DATAPARTITIONNAME","DATAPARTITIONNUM","DAY","DAYS","DB2GENERAL","DB2GENRL","DB2SQL","DBINFO","DBPARTITIONNAME","DBPARTITIONNUM","DEALLOCATE","DECLARE","DEFAULT","DEFAULTS","DEFINITION","DELETE","DENSERANK","DENSE_RANK","DESCRIBE","DESCRIPTOR","DETERMINISTIC","DIAGNOSTICS","DISABLE","DISALLOW","DISCONNECT","DISTINCT","DO","DOCUMENT","DROP","DSSIZE","DYNAMIC","EACH","EDITPROC","ELSE","ELSEIF","ENABLE","ENCODING","ENCRYPTION","END","END-EXEC","ENDING","ERASE","ESCAPE","EVERY","EXCEPT","EXCEPTION","EXCLUDING","EXCLUSIVE","EXECUTE","EXISTS","EXIT","EXPLAIN","EXTENDED","EXTERNAL","EXTRACT","FENCED","FETCH","FIELDPROC","FILE","FINAL","FIRST1","FOR","FOREIGN","FREE","FROM","FULL","FUNCTION","GENERAL","GENERATED","GET","GLOBAL","GO","GOTO","GRANT","GRAPHIC","GROUP","HANDLER","HASH","HASHED_VALUE","HAVING","HINT","HOLD","HOUR","HOURS","IDENTITY","IF","IMMEDIATE","IMPORT","IN","INCLUDING","INCLUSIVE","INCREMENT","INDEX","INDICATOR","INDICATORS","INF","INFINITY","INHERIT","INNER","INOUT","INSENSITIVE","INSERT","INTEGRITY","INTERSECT","INTO","IS","ISNULL","ISOBID","ISOLATION","ITERATE","JAR","JAVA","JOIN","KEEP","KEY","LABEL","LANGUAGE","LAST3","LATERAL","LC_CTYPE","LEAVE","LEFT","LIKE","LIMIT","LINKTYPE","LOCAL","LOCALDATE","LOCALE","LOCALTIME","LOCALTIMESTAMP","LOCATOR","LOCATORS","LOCK","LOCKMAX","LOCKSIZE","LOOP","MAINTAINED","MATERIALIZED","MAXVALUE","MICROSECOND","MICROSECONDS","MINUTE","MINUTES","MINVALUE","MODE","MODIFIES","MONTH","MONTHS","NAN","NEW","NEW_TABLE","NEXTVAL","NO","NOCACHE","NOCYCLE","NODENAME","NODENUMBER","NOMAXVALUE","NOMINVALUE","NONE","NOORDER","NORMALIZED","NOT2","NOTNULL","NULL","NULLS","NUMPARTS","OBID","OF","OFF","OFFSET","OLD","OLD_TABLE","ON","OPEN","OPTIMIZATION","OPTIMIZE","OPTION","OR","ORDER","OUT","OUTER","OVER","OVERRIDING","PACKAGE","PADDED","PAGESIZE","PARAMETER","PART","PARTITION","PARTITIONED","PARTITIONING","PARTITIONS","PASSWORD","PATH","PERCENT","PIECESIZE","PLAN","POSITION","PRECISION","PREPARE","PREVVAL","PRIMARY","PRIQTY","PRIVILEGES","PROCEDURE","PROGRAM","PSID","PUBLIC","QUERY","QUERYNO","RANGE","RANK","READ","READS","RECOVERY","REFERENCES","REFERENCING","REFRESH","RELEASE","RENAME","REPEAT","RESET","RESIGNAL","RESTART","RESTRICT","RESULT","RESULT_SET_LOCATOR","RETURN","RETURNS","REVOKE","RIGHT","ROLE","ROLLBACK","ROUND_CEILING","ROUND_DOWN","ROUND_FLOOR","ROUND_HALF_DOWN","ROUND_HALF_EVEN","ROUND_HALF_UP","ROUND_UP","ROUTINE","ROW","ROWNUMBER","ROWS","ROWSET","ROW_NUMBER","RRN","RUN","SAVEPOINT","SCHEMA","SCRATCHPAD","SCROLL","SEARCH","SECOND","SECONDS","SECQTY","SECURITY","SELECT","SENSITIVE","SEQUENCE","SESSION","SESSION_USER","SET","SIGNAL","SIMPLE","SNAN","SOME","SOURCE","SPECIFIC","SQL","SQLID","STACKED","STANDARD","START","STARTING","STATEMENT","STATIC","STATMENT","STAY","STOGROUP","STORES","STYLE","SUBSTRING","SUMMARY","SYNONYM","SYSFUN","SYSIBM","SYSPROC","SYSTEM","SYSTEM_USER","TABLE","TABLESPACE","THEN","TO","TRANSACTION","TRIGGER","TRIM","TRUNCATE","TYPE","UNDO","UNION","UNIQUE","UNTIL","UPDATE","USAGE","USER","USING","VALIDPROC","VALUE","VALUES","VARIABLE","VARIANT","VCAT","VERSION","VIEW","VOLATILE","VOLUMES","WHEN","WHENEVER","WHERE","WHILE","WITH","WITHOUT","WLM","WRITE","XMLELEMENT","XMLEXISTS","XMLNAMESPACES","YEAR","YEARS"],xN=["ARRAY","BIGINT","BINARY","BLOB","BOOLEAN","CCSID","CHAR","CHARACTER","CLOB","DATE","DATETIME","DBCLOB","DEC","DECIMAL","DOUBLE","DOUBLE PRECISION","FLOAT","FLOAT4","FLOAT8","GRAPHIC","INT","INT2","INT4","INT8","INTEGER","INTERVAL","LONG VARCHAR","LONG VARGRAPHIC","NCHAR","NCHR","NCLOB","NVARCHAR","NUMERIC","SMALLINT","REAL","TIME","TIMESTAMP","VARBINARY","VARCHAR","VARGRAPHIC"],wN=d(["SELECT [ALL | DISTINCT]"]),WN=d(["WITH","FROM","WHERE","GROUP BY","HAVING","PARTITION BY","ORDER BY [INPUT SEQUENCE]","LIMIT","OFFSET","FETCH NEXT","FOR UPDATE [OF]","FOR {READ | FETCH} ONLY","FOR {RR | CS | UR | RS} [USE AND KEEP {SHARE | UPDATE | EXCLUSIVE} LOCKS]","WAIT FOR OUTCOME","SKIP LOCKED DATA","INTO","INSERT INTO","VALUES","SET","MERGE INTO","WHEN [NOT] MATCHED [THEN]","UPDATE SET","INSERT"]),Bn=d(["CREATE [GLOBAL TEMPORARY | EXTERNAL] TABLE [IF NOT EXISTS]","CREATE [OR REPLACE] VIEW","UPDATE","WHERE CURRENT OF","WITH {RR | RS | CS | UR}","DELETE FROM","DROP TABLE [IF EXISTS]","ALTER TABLE","ADD [COLUMN]","DROP [COLUMN]","RENAME COLUMN","ALTER [COLUMN]","SET DATA TYPE","SET NOT NULL","DROP {DEFAULT | GENERATED | NOT NULL}","TRUNCATE [TABLE]","ALLOCATE","ALTER AUDIT POLICY","ALTER BUFFERPOOL","ALTER DATABASE PARTITION GROUP","ALTER DATABASE","ALTER EVENT MONITOR","ALTER FUNCTION","ALTER HISTOGRAM TEMPLATE","ALTER INDEX","ALTER MASK","ALTER METHOD","ALTER MODULE","ALTER NICKNAME","ALTER PACKAGE","ALTER PERMISSION","ALTER PROCEDURE","ALTER SCHEMA","ALTER SECURITY LABEL COMPONENT","ALTER SECURITY POLICY","ALTER SEQUENCE","ALTER SERVER","ALTER SERVICE CLASS","ALTER STOGROUP","ALTER TABLESPACE","ALTER THRESHOLD","ALTER TRIGGER","ALTER TRUSTED CONTEXT","ALTER TYPE","ALTER USAGE LIST","ALTER USER MAPPING","ALTER VIEW","ALTER WORK ACTION SET","ALTER WORK CLASS SET","ALTER WORKLOAD","ALTER WRAPPER","ALTER XSROBJECT","ALTER STOGROUP","ALTER TABLESPACE","ALTER TRIGGER","ALTER TRUSTED CONTEXT","ALTER VIEW","ASSOCIATE [RESULT SET] {LOCATOR | LOCATORS}","AUDIT","BEGIN DECLARE SECTION","CALL","CLOSE","COMMENT ON","COMMIT [WORK]","CONNECT","CREATE [OR REPLACE] [PUBLIC] ALIAS","CREATE AUDIT POLICY","CREATE BUFFERPOOL","CREATE DATABASE PARTITION GROUP","CREATE EVENT MONITOR","CREATE [OR REPLACE] FUNCTION","CREATE FUNCTION MAPPING","CREATE HISTOGRAM TEMPLATE","CREATE [UNIQUE] INDEX","CREATE INDEX EXTENSION","CREATE [OR REPLACE] MASK","CREATE [SPECIFIC] METHOD","CREATE [OR REPLACE] MODULE","CREATE [OR REPLACE] NICKNAME","CREATE [OR REPLACE] PERMISSION","CREATE [OR REPLACE] PROCEDURE","CREATE ROLE","CREATE SCHEMA","CREATE SECURITY LABEL [COMPONENT]","CREATE SECURITY POLICY","CREATE [OR REPLACE] SEQUENCE","CREATE SERVICE CLASS","CREATE SERVER","CREATE STOGROUP","CREATE SYNONYM","CREATE [LARGE | REGULAR | {SYSTEM | USER} TEMPORARY] TABLESPACE","CREATE THRESHOLD","CREATE {TRANSFORM | TRANSFORMS} FOR","CREATE [OR REPLACE] TRIGGER","CREATE TRUSTED CONTEXT","CREATE [OR REPLACE] TYPE","CREATE TYPE MAPPING","CREATE USAGE LIST","CREATE USER MAPPING FOR","CREATE [OR REPLACE] VARIABLE","CREATE WORK ACTION SET","CREATE WORK CLASS SET","CREATE WORKLOAD","CREATE WRAPPER","DECLARE","DECLARE GLOBAL TEMPORARY TABLE","DESCRIBE [INPUT | OUTPUT]","DISCONNECT","DROP [PUBLIC] ALIAS","DROP AUDIT POLICY","DROP BUFFERPOOL","DROP DATABASE PARTITION GROUP","DROP EVENT MONITOR","DROP [SPECIFIC] FUNCTION","DROP FUNCTION MAPPING","DROP HISTOGRAM TEMPLATE","DROP INDEX [EXTENSION]","DROP MASK","DROP [SPECIFIC] METHOD","DROP MODULE","DROP NICKNAME","DROP PACKAGE","DROP PERMISSION","DROP [SPECIFIC] PROCEDURE","DROP ROLE","DROP SCHEMA","DROP SECURITY LABEL [COMPONENT]","DROP SECURITY POLICY","DROP SEQUENCE","DROP SERVER","DROP SERVICE CLASS","DROP STOGROUP","DROP TABLE HIERARCHY","DROP {TABLESPACE | TABLESPACES}","DROP {TRANSFORM | TRANSFORMS}","DROP THRESHOLD","DROP TRIGGER","DROP TRUSTED CONTEXT","DROP TYPE [MAPPING]","DROP USAGE LIST","DROP USER MAPPING FOR","DROP VARIABLE","DROP VIEW [HIERARCHY]","DROP WORK {ACTION | CLASS} SET","DROP WORKLOAD","DROP WRAPPER","DROP XSROBJECT","END DECLARE SECTION","EXECUTE [IMMEDIATE]","EXPLAIN {PLAN [SECTION] | ALL}","FETCH [FROM]","FLUSH {BUFFERPOOL | BUFFERPOOLS} ALL","FLUSH EVENT MONITOR","FLUSH FEDERATED CACHE","FLUSH OPTIMIZATION PROFILE CACHE","FLUSH PACKAGE CACHE [DYNAMIC]","FLUSH AUTHENTICATION CACHE [FOR ALL]","FREE LOCATOR","GET DIAGNOSTICS","GOTO","GRANT","INCLUDE","ITERATE","LEAVE","LOCK TABLE","LOOP","OPEN","PIPE","PREPARE","REFRESH TABLE","RELEASE","RELEASE [TO] SAVEPOINT","RENAME [TABLE | INDEX | STOGROUP | TABLESPACE]","REPEAT","RESIGNAL","RETURN","REVOKE","ROLLBACK [WORK] [TO SAVEPOINT]","SAVEPOINT","SET COMPILATION ENVIRONMENT","SET CONNECTION","SET CURRENT","SET ENCRYPTION PASSWORD","SET EVENT MONITOR STATE","SET INTEGRITY","SET PASSTHRU","SET PATH","SET ROLE","SET SCHEMA","SET SERVER OPTION","SET {SESSION AUTHORIZATION | SESSION_USER}","SET USAGE LIST","SIGNAL","TRANSFER OWNERSHIP OF","WHENEVER {NOT FOUND | SQLERROR | SQLWARNING}","WHILE"]),XN=d(["UNION [ALL]","EXCEPT [ALL]","INTERSECT [ALL]"]),$N=d(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN"]),KN=d(["ON DELETE","ON UPDATE","SET NULL","{ROWS | RANGE} BETWEEN"]),JN={name:"db2",tokenizerOptions:{reservedSelect:wN,reservedClauses:[...WN,...Bn],reservedSetOperations:XN,reservedJoins:$N,reservedPhrases:KN,reservedKeywords:VN,reservedDataTypes:xN,reservedFunctionNames:YN,extraParens:["[]"],stringTypes:[{quote:"''-qq",prefixes:["G","N","U&"]},{quote:"''-raw",prefixes:["X","BX","GX","UX"],requirePrefix:!0}],identTypes:['""-qq'],identChars:{first:"@#$",rest:"@#$"},paramTypes:{positional:!0,named:[":"]},paramChars:{first:"@#$",rest:"@#$"},operators:["**","%","|","&","^","~","¬=","¬>","¬<","!>","!<","^=","^>","^<","||","->","=>"]},formatOptions:{onelineClauses:Bn}},kN=["ARRAY_AGG","AVG","CORR","CORRELATION","COUNT","COUNT_BIG","COVAR_POP","COVARIANCE","COVAR","COVAR_SAMP","COVARIANCE_SAMP","EVERY","GROUPING","JSON_ARRAYAGG","JSON_OBJECTAGG","LISTAGG","MAX","MEDIAN","MIN","PERCENTILE_CONT","PERCENTILE_DISC","REGR_AVGX","REGR_AVGY","REGR_COUNT","REGR_INTERCEPT","REGR_R2","REGR_SLOPE","REGR_SXX","REGR_SXY","REGR_SYY","SOME","STDDEV_POP","STDDEV","STDDEV_SAMP","SUM","VAR_POP","VARIANCE","VAR","VAR_SAMP","VARIANCE_SAMP","XMLAGG","XMLGROUP","ABS","ABSVAL","ACOS","ADD_DAYS","ADD_HOURS","ADD_MINUTES","ADD_MONTHS","ADD_SECONDS","ADD_YEARS","ANTILOG","ARRAY_MAX_CARDINALITY","ARRAY_TRIM","ASCII","ASIN","ATAN","ATAN2","ATANH","BASE64_DECODE","BASE64_ENCODE","BIT_LENGTH","BITAND","BITANDNOT","BITNOT","BITOR","BITXOR","BSON_TO_JSON","CARDINALITY","CEIL","CEILING","CHAR_LENGTH","CHARACTER_LENGTH","CHR","COALESCE","COMPARE_DECFLOAT","CONCAT","CONTAINS","COS","COSH","COT","CURDATE","CURTIME","DATABASE","DATAPARTITIONNAME","DATAPARTITIONNUM","DAY","DAYNAME","DAYOFMONTH","DAYOFWEEK_ISO","DAYOFWEEK","DAYOFYEAR","DAYS","DBPARTITIONNAME","DBPARTITIONNUM","DECFLOAT_FORMAT","DECFLOAT_SORTKEY","DECRYPT_BINARY","DECRYPT_BIT","DECRYPT_CHAR","DECRYPT_DB","DEGREES","DIFFERENCE","DIGITS","DLCOMMENT","DLLINKTYPE","DLURLCOMPLETE","DLURLPATH","DLURLPATHONLY","DLURLSCHEME","DLURLSERVER","DLVALUE","DOUBLE_PRECISION","DOUBLE","ENCRPYT","ENCRYPT_AES","ENCRYPT_AES256","ENCRYPT_RC2","ENCRYPT_TDES","EXP","EXTRACT","FIRST_DAY","FLOOR","GENERATE_UNIQUE","GET_BLOB_FROM_FILE","GET_CLOB_FROM_FILE","GET_DBCLOB_FROM_FILE","GET_XML_FILE","GETHINT","GREATEST","HASH_MD5","HASH_ROW","HASH_SHA1","HASH_SHA256","HASH_SHA512","HASH_VALUES","HASHED_VALUE","HEX","HEXTORAW","HOUR","HTML_ENTITY_DECODE","HTML_ENTITY_ENCODE","HTTP_DELETE_BLOB","HTTP_DELETE","HTTP_GET_BLOB","HTTP_GET","HTTP_PATCH_BLOB","HTTP_PATCH","HTTP_POST_BLOB","HTTP_POST","HTTP_PUT_BLOB","HTTP_PUT","IDENTITY_VAL_LOCAL","IFNULL","INSERT","INSTR","INTERPRET","ISFALSE","ISNOTFALSE","ISNOTTRUE","ISTRUE","JSON_ARRAY","JSON_OBJECT","JSON_QUERY","JSON_TO_BSON","JSON_UPDATE","JSON_VALUE","JULIAN_DAY","LAND","LAST_DAY","LCASE","LEAST","LEFT","LENGTH","LN","LNOT","LOCATE_IN_STRING","LOCATE","LOG10","LOR","LOWER","LPAD","LTRIM","MAX_CARDINALITY","MAX","MICROSECOND","MIDNIGHT_SECONDS","MIN","MINUTE","MOD","MONTH","MONTHNAME","MONTHS_BETWEEN","MQREAD","MQREADCLOB","MQRECEIVE","MQRECEIVECLOB","MQSEND","MULTIPLY_ALT","NEXT_DAY","NORMALIZE_DECFLOAT","NOW","NULLIF","NVL","OCTET_LENGTH","OVERLAY","PI","POSITION","POSSTR","POW","POWER","QUANTIZE","QUARTER","RADIANS","RAISE_ERROR","RANDOM","RAND","REGEXP_COUNT","REGEXP_INSTR","REGEXP_REPLACE","REGEXP_SUBSTR","REPEAT","REPLACE","RID","RIGHT","ROUND_TIMESTAMP","ROUND","RPAD","RRN","RTRIM","SCORE","SECOND","SIGN","SIN","SINH","SOUNDEX","SPACE","SQRT","STRIP","STRLEFT","STRPOS","STRRIGHT","SUBSTR","SUBSTRING","TABLE_NAME","TABLE_SCHEMA","TAN","TANH","TIMESTAMP_FORMAT","TIMESTAMP_ISO","TIMESTAMPDIFF_BIG","TIMESTAMPDIFF","TO_CHAR","TO_CLOB","TO_DATE","TO_NUMBER","TO_TIMESTAMP","TOTALORDER","TRANSLATE","TRIM_ARRAY","TRIM","TRUNC_TIMESTAMP","TRUNC","TRUNCATE","UCASE","UPPER","URL_DECODE","URL_ENCODE","VALUE","VARBINARY_FORMAT","VARCHAR_BIT_FORMAT","VARCHAR_FORMAT_BINARY","VARCHAR_FORMAT","VERIFY_GROUP_FOR_USER","WEEK_ISO","WEEK","WRAP","XMLATTRIBUTES","XMLCOMMENT","XMLCONCAT","XMLDOCUMENT","XMLELEMENT","XMLFOREST","XMLNAMESPACES","XMLPARSE","XMLPI","XMLROW","XMLSERIALIZE","XMLTEXT","XMLVALIDATE","XOR","XSLTRANSFORM","YEAR","ZONED","BASE_TABLE","HTTP_DELETE_BLOB_VERBOSE","HTTP_DELETE_VERBOSE","HTTP_GET_BLOB_VERBOSE","HTTP_GET_VERBOSE","HTTP_PATCH_BLOB_VERBOSE","HTTP_PATCH_VERBOSE","HTTP_POST_BLOB_VERBOSE","HTTP_POST_VERBOSE","HTTP_PUT_BLOB_VERBOSE","HTTP_PUT_VERBOSE","JSON_TABLE","MQREADALL","MQREADALLCLOB","MQRECEIVEALL","MQRECEIVEALLCLOB","XMLTABLE","UNPACK","CUME_DIST","DENSE_RANK","FIRST_VALUE","LAG","LAST_VALUE","LEAD","NTH_VALUE","NTILE","PERCENT_RANK","RANK","RATIO_TO_REPORT","ROW_NUMBER","CAST"],jN=["ABSENT","ACCORDING","ACCTNG","ACTION","ACTIVATE","ADD","ALIAS","ALL","ALLOCATE","ALLOW","ALTER","AND","ANY","APPEND","APPLNAME","ARRAY","ARRAY_AGG","ARRAY_TRIM","AS","ASC","ASENSITIVE","ASSOCIATE","ATOMIC","ATTACH","ATTRIBUTES","AUTHORIZATION","AUTONOMOUS","BEFORE","BEGIN","BETWEEN","BIND","BSON","BUFFERPOOL","BY","CACHE","CALL","CALLED","CARDINALITY","CASE","CAST","CHECK","CL","CLOSE","CLUSTER","COLLECT","COLLECTION","COLUMN","COMMENT","COMMIT","COMPACT","COMPARISONS","COMPRESS","CONCAT","CONCURRENT","CONDITION","CONNECT","CONNECT_BY_ROOT","CONNECTION","CONSTANT","CONSTRAINT","CONTAINS","CONTENT","CONTINUE","COPY","COUNT","COUNT_BIG","CREATE","CREATEIN","CROSS","CUBE","CUME_DIST","CURRENT","CURRENT_DATE","CURRENT_PATH","CURRENT_SCHEMA","CURRENT_SERVER","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_TIMEZONE","CURRENT_USER","CURSOR","CYCLE","DATABASE","DATAPARTITIONNAME","DATAPARTITIONNUM","DAY","DAYS","DB2GENERAL","DB2GENRL","DB2SQL","DBINFO","DBPARTITIONNAME","DBPARTITIONNUM","DEACTIVATE","DEALLOCATE","DECLARE","DEFAULT","DEFAULTS","DEFER","DEFINE","DEFINITION","DELETE","DELETING","DENSE_RANK","DENSERANK","DESC","DESCRIBE","DESCRIPTOR","DETACH","DETERMINISTIC","DIAGNOSTICS","DISABLE","DISALLOW","DISCONNECT","DISTINCT","DO","DOCUMENT","DROP","DYNAMIC","EACH","ELSE","ELSEIF","EMPTY","ENABLE","ENCODING","ENCRYPTION","END","END-EXEC","ENDING","ENFORCED","ERROR","ESCAPE","EVERY","EXCEPT","EXCEPTION","EXCLUDING","EXCLUSIVE","EXECUTE","EXISTS","EXIT","EXTEND","EXTERNAL","EXTRACT","FALSE","FENCED","FETCH","FIELDPROC","FILE","FINAL","FIRST_VALUE","FOR","FOREIGN","FORMAT","FREE","FREEPAGE","FROM","FULL","FUNCTION","GBPCACHE","GENERAL","GENERATED","GET","GLOBAL","GO","GOTO","GRANT","GROUP","HANDLER","HASH","HASH_ROW","HASHED_VALUE","HAVING","HINT","HOLD","HOUR","HOURS","IDENTITY","IF","IGNORE","IMMEDIATE","IMPLICITLY","IN","INCLUDE","INCLUDING","INCLUSIVE","INCREMENT","INDEX","INDEXBP","INDICATOR","INF","INFINITY","INHERIT","INLINE","INNER","INOUT","INSENSITIVE","INSERT","INSERTING","INTEGRITY","INTERPRET","INTERSECT","INTO","IS","ISNULL","ISOLATION","ITERATE","JAVA","JOIN","JSON","JSON_ARRAY","JSON_ARRAYAGG","JSON_EXISTS","JSON_OBJECT","JSON_OBJECTAGG","JSON_QUERY","JSON_TABLE","JSON_VALUE","KEEP","KEY","KEYS","LABEL","LAG","LANGUAGE","LAST_VALUE","LATERAL","LEAD","LEAVE","LEFT","LEVEL2","LIKE","LIMIT","LINKTYPE","LISTAGG","LOCAL","LOCALDATE","LOCALTIME","LOCALTIMESTAMP","LOCATION","LOCATOR","LOCK","LOCKSIZE","LOG","LOGGED","LOOP","MAINTAINED","MASK","MATCHED","MATERIALIZED","MAXVALUE","MERGE","MICROSECOND","MICROSECONDS","MINPCTUSED","MINUTE","MINUTES","MINVALUE","MIRROR","MIXED","MODE","MODIFIES","MONTH","MONTHS","NAMESPACE","NAN","NATIONAL","NCHAR","NCLOB","NESTED","NEW","NEW_TABLE","NEXTVAL","NO","NOCACHE","NOCYCLE","NODENAME","NODENUMBER","NOMAXVALUE","NOMINVALUE","NONE","NOORDER","NORMALIZED","NOT","NOTNULL","NTH_VALUE","NTILE","NULL","NULLS","NVARCHAR","OBID","OBJECT","OF","OFF","OFFSET","OLD","OLD_TABLE","OMIT","ON","ONLY","OPEN","OPTIMIZE","OPTION","OR","ORDER","ORDINALITY","ORGANIZE","OUT","OUTER","OVER","OVERLAY","OVERRIDING","PACKAGE","PADDED","PAGE","PAGESIZE","PARAMETER","PART","PARTITION","PARTITIONED","PARTITIONING","PARTITIONS","PASSING","PASSWORD","PATH","PCTFREE","PERCENT_RANK","PERCENTILE_CONT","PERCENTILE_DISC","PERIOD","PERMISSION","PIECESIZE","PIPE","PLAN","POSITION","PREPARE","PREVVAL","PRIMARY","PRIOR","PRIQTY","PRIVILEGES","PROCEDURE","PROGRAM","PROGRAMID","QUERY","RANGE","RANK","RATIO_TO_REPORT","RCDFMT","READ","READS","RECOVERY","REFERENCES","REFERENCING","REFRESH","REGEXP_LIKE","RELEASE","RENAME","REPEAT","RESET","RESIGNAL","RESTART","RESULT","RESULT_SET_LOCATOR","RETURN","RETURNING","RETURNS","REVOKE","RID","RIGHT","ROLLBACK","ROLLUP","ROUTINE","ROW","ROW_NUMBER","ROWNUMBER","ROWS","RRN","RUN","SAVEPOINT","SBCS","SCALAR","SCHEMA","SCRATCHPAD","SCROLL","SEARCH","SECOND","SECONDS","SECQTY","SECURED","SELECT","SENSITIVE","SEQUENCE","SESSION","SESSION_USER","SET","SIGNAL","SIMPLE","SKIP","SNAN","SOME","SOURCE","SPECIFIC","SQL","SQLID","SQLIND_DEFAULT","SQLIND_UNASSIGNED","STACKED","START","STARTING","STATEMENT","STATIC","STOGROUP","SUBSTRING","SUMMARY","SYNONYM","SYSTEM_TIME","SYSTEM_USER","TABLE","TABLESPACE","TABLESPACES","TAG","THEN","THREADSAFE","TO","TRANSACTION","TRANSFER","TRIGGER","TRIM","TRIM_ARRAY","TRUE","TRUNCATE","TRY_CAST","TYPE","UNDO","UNION","UNIQUE","UNIT","UNKNOWN","UNNEST","UNTIL","UPDATE","UPDATING","URI","USAGE","USE","USER","USERID","USING","VALUE","VALUES","VARIABLE","VARIANT","VCAT","VERSION","VERSIONING","VIEW","VOLATILE","WAIT","WHEN","WHENEVER","WHERE","WHILE","WITH","WITHIN","WITHOUT","WRAPPED","WRAPPER","WRITE","WRKSTNNAME","XMLAGG","XMLATTRIBUTES","XMLCAST","XMLCOMMENT","XMLCONCAT","XMLDOCUMENT","XMLELEMENT","XMLFOREST","XMLGROUP","XMLNAMESPACES","XMLPARSE","XMLPI","XMLROW","XMLSERIALIZE","XMLTABLE","XMLTEXT","XMLVALIDATE","XSLTRANSFORM","XSROBJECT","YEAR","YEARS","YES","ZONE"],qN=["ARRAY","BIGINT","BINARY","BIT","BLOB","BOOLEAN","CCSID","CHAR","CHARACTER","CLOB","DATA","DATALINK","DATE","DBCLOB","DECFLOAT","DECIMAL","DEC","DOUBLE","DOUBLE PRECISION","FLOAT","GRAPHIC","INT","INTEGER","LONG","NUMERIC","REAL","ROWID","SMALLINT","TIME","TIMESTAMP","VARBINARY","VARCHAR","VARGRAPHIC","XML"],QN=d(["SELECT [ALL | DISTINCT]"]),ZN=d(["WITH [RECURSIVE]","INTO","FROM","WHERE","GROUP BY","HAVING","PARTITION BY","ORDER [SIBLINGS] BY [INPUT SEQUENCE]","LIMIT","OFFSET","FETCH {FIRST | NEXT}","FOR UPDATE [OF]","FOR READ ONLY","OPTIMIZE FOR","INSERT INTO","VALUES","SET","MERGE INTO","WHEN [NOT] MATCHED [THEN]","UPDATE SET","DELETE","INSERT","FOR SYSTEM NAME"]),vn=d(["CREATE [OR REPLACE] TABLE","CREATE [OR REPLACE] [RECURSIVE] VIEW","UPDATE","WHERE CURRENT OF","WITH {NC | RR | RS | CS | UR}","DELETE FROM","DROP TABLE","ALTER TABLE","ADD [COLUMN]","ALTER [COLUMN]","DROP [COLUMN]","SET DATA TYPE","SET {GENERATED ALWAYS | GENERATED BY DEFAULT}","SET NOT NULL","SET {NOT HIDDEN | IMPLICITLY HIDDEN}","SET FIELDPROC","DROP {DEFAULT | NOT NULL | GENERATED | IDENTITY | ROW CHANGE TIMESTAMP | FIELDPROC}","TRUNCATE [TABLE]","SET [CURRENT] SCHEMA","SET CURRENT_SCHEMA","ALLOCATE CURSOR","ALLOCATE [SQL] DESCRIPTOR [LOCAL | GLOBAL] SQL","ALTER [SPECIFIC] {FUNCTION | PROCEDURE}","ALTER {MASK | PERMISSION | SEQUENCE | TRIGGER}","ASSOCIATE [RESULT SET] {LOCATOR | LOCATORS}","BEGIN DECLARE SECTION","CALL","CLOSE","COMMENT ON {ALIAS | COLUMN | CONSTRAINT | INDEX | MASK | PACKAGE | PARAMETER | PERMISSION | SEQUENCE | TABLE | TRIGGER | VARIABLE | XSROBJECT}","COMMENT ON [SPECIFIC] {FUNCTION | PROCEDURE | ROUTINE}","COMMENT ON PARAMETER SPECIFIC {FUNCTION | PROCEDURE | ROUTINE}","COMMENT ON [TABLE FUNCTION] RETURN COLUMN","COMMENT ON [TABLE FUNCTION] RETURN COLUMN SPECIFIC [PROCEDURE | ROUTINE]","COMMIT [WORK] [HOLD]","CONNECT [TO | RESET] USER","CREATE [OR REPLACE] {ALIAS | FUNCTION | MASK | PERMISSION | PROCEDURE | SEQUENCE | TRIGGER | VARIABLE}","CREATE [ENCODED VECTOR] INDEX","CREATE UNIQUE [WHERE NOT NULL] INDEX","CREATE SCHEMA","CREATE TYPE","DEALLOCATE [SQL] DESCRIPTOR [LOCAL | GLOBAL]","DECLARE CURSOR","DECLARE GLOBAL TEMPORARY TABLE","DECLARE","DESCRIBE CURSOR","DESCRIBE INPUT","DESCRIBE [OUTPUT]","DESCRIBE {PROCEDURE | ROUTINE}","DESCRIBE TABLE","DISCONNECT ALL [SQL]","DISCONNECT [CURRENT]","DROP {ALIAS | INDEX | MASK | PACKAGE | PERMISSION | SCHEMA | SEQUENCE | TABLE | TYPE | VARIABLE | XSROBJECT} [IF EXISTS]","DROP [SPECIFIC] {FUNCTION | PROCEDURE | ROUTINE} [IF EXISTS]","END DECLARE SECTION","EXECUTE [IMMEDIATE]","FREE LOCATOR","GET [SQL] DESCRIPTOR [LOCAL | GLOBAL]","GET [CURRENT | STACKED] DIAGNOSTICS","GRANT {ALL [PRIVILEGES] | ALTER | EXECUTE} ON {FUNCTION | PROCEDURE | ROUTINE | PACKAGE | SCHEMA | SEQUENCE | TABLE | TYPE | VARIABLE | XSROBJECT}","HOLD LOCATOR","INCLUDE","LABEL ON {ALIAS | COLUMN | CONSTRAINT | INDEX | MASK | PACKAGE | PERMISSION | SEQUENCE | TABLE | TRIGGER | VARIABLE | XSROBJECT}","LABEL ON [SPECIFIC] {FUNCTION | PROCEDURE | ROUTINE}","LOCK TABLE","OPEN","PREPARE","REFRESH TABLE","RELEASE","RELEASE [TO] SAVEPOINT","RENAME [TABLE | INDEX] TO","REVOKE {ALL [PRIVILEGES] | ALTER | EXECUTE} ON {FUNCTION | PROCEDURE | ROUTINE | PACKAGE | SCHEMA | SEQUENCE | TABLE | TYPE | VARIABLE | XSROBJECT}","ROLLBACK [WORK] [HOLD | TO SAVEPOINT]","SAVEPOINT","SET CONNECTION","SET CURRENT {DEBUG MODE | DECFLOAT ROUNDING MODE | DEGREE | IMPLICIT XMLPARSE OPTION | TEMPORAL SYSTEM_TIME}","SET [SQL] DESCRIPTOR [LOCAL | GLOBAL]","SET ENCRYPTION PASSWORD","SET OPTION","SET {[CURRENT [FUNCTION]] PATH | CURRENT_PATH}","SET RESULT SETS [WITH RETURN [TO CALLER | TO CLIENT]]","SET SESSION AUTHORIZATION","SET SESSION_USER","SET TRANSACTION","SIGNAL SQLSTATE [VALUE]","TAG","TRANSFER OWNERSHIP OF","WHENEVER {NOT FOUND | SQLERROR | SQLWARNING}"]),zN=d(["UNION [ALL]","EXCEPT [ALL]","INTERSECT [ALL]"]),el=d(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","[LEFT | RIGHT] EXCEPTION JOIN","{INNER | CROSS} JOIN"]),tl=d(["ON DELETE","ON UPDATE","SET NULL","{ROWS | RANGE} BETWEEN"]),El={name:"db2i",tokenizerOptions:{reservedSelect:QN,reservedClauses:[...ZN,...vn],reservedSetOperations:zN,reservedJoins:el,reservedPhrases:tl,reservedKeywords:jN,reservedDataTypes:qN,reservedFunctionNames:kN,nestedBlockComments:!0,extraParens:["[]"],stringTypes:[{quote:"''-qq",prefixes:["G","N"]},{quote:"''-raw",prefixes:["X","BX","GX","UX"],requirePrefix:!0}],identTypes:['""-qq'],identChars:{first:"@#$",rest:"@#$"},paramTypes:{positional:!0,named:[":"]},paramChars:{first:"@#$",rest:"@#$"},operators:["**","¬=","¬>","¬<","!>","!<","||","=>"]},formatOptions:{onelineClauses:vn}},sl=["ABS","ACOS","ASIN","ATAN","BIN","BROUND","CBRT","CEIL","CEILING","CONV","COS","DEGREES","EXP","FACTORIAL","FLOOR","GREATEST","HEX","LEAST","LN","LOG","LOG10","LOG2","NEGATIVE","PI","PMOD","POSITIVE","POW","POWER","RADIANS","RAND","ROUND","SHIFTLEFT","SHIFTRIGHT","SHIFTRIGHTUNSIGNED","SIGN","SIN","SQRT","TAN","UNHEX","WIDTH_BUCKET","ARRAY_CONTAINS","MAP_KEYS","MAP_VALUES","SIZE","SORT_ARRAY","BINARY","CAST","ADD_MONTHS","DATE","DATE_ADD","DATE_FORMAT","DATE_SUB","DATEDIFF","DAY","DAYNAME","DAYOFMONTH","DAYOFYEAR","EXTRACT","FROM_UNIXTIME","FROM_UTC_TIMESTAMP","HOUR","LAST_DAY","MINUTE","MONTH","MONTHS_BETWEEN","NEXT_DAY","QUARTER","SECOND","TIMESTAMP","TO_DATE","TO_UTC_TIMESTAMP","TRUNC","UNIX_TIMESTAMP","WEEKOFYEAR","YEAR","ASSERT_TRUE","COALESCE","IF","ISNOTNULL","ISNULL","NULLIF","NVL","ASCII","BASE64","CHARACTER_LENGTH","CHR","CONCAT","CONCAT_WS","CONTEXT_NGRAMS","DECODE","ELT","ENCODE","FIELD","FIND_IN_SET","FORMAT_NUMBER","GET_JSON_OBJECT","IN_FILE","INITCAP","INSTR","LCASE","LENGTH","LEVENSHTEIN","LOCATE","LOWER","LPAD","LTRIM","NGRAMS","OCTET_LENGTH","PARSE_URL","PRINTF","QUOTE","REGEXP_EXTRACT","REGEXP_REPLACE","REPEAT","REVERSE","RPAD","RTRIM","SENTENCES","SOUNDEX","SPACE","SPLIT","STR_TO_MAP","SUBSTR","SUBSTRING","TRANSLATE","TRIM","UCASE","UNBASE64","UPPER","MASK","MASK_FIRST_N","MASK_HASH","MASK_LAST_N","MASK_SHOW_FIRST_N","MASK_SHOW_LAST_N","AES_DECRYPT","AES_ENCRYPT","CRC32","CURRENT_DATABASE","CURRENT_USER","HASH","JAVA_METHOD","LOGGED_IN_USER","MD5","REFLECT","SHA","SHA1","SHA2","SURROGATE_KEY","VERSION","AVG","COLLECT_LIST","COLLECT_SET","CORR","COUNT","COVAR_POP","COVAR_SAMP","HISTOGRAM_NUMERIC","MAX","MIN","NTILE","PERCENTILE","PERCENTILE_APPROX","REGR_AVGX","REGR_AVGY","REGR_COUNT","REGR_INTERCEPT","REGR_R2","REGR_SLOPE","REGR_SXX","REGR_SXY","REGR_SYY","STDDEV_POP","STDDEV_SAMP","SUM","VAR_POP","VAR_SAMP","VARIANCE","EXPLODE","INLINE","JSON_TUPLE","PARSE_URL_TUPLE","POSEXPLODE","STACK","LEAD","LAG","FIRST_VALUE","LAST_VALUE","RANK","ROW_NUMBER","DENSE_RANK","CUME_DIST","PERCENT_RANK","NTILE"],rl=["ADD","ADMIN","AFTER","ANALYZE","ARCHIVE","ASC","BEFORE","BUCKET","BUCKETS","CASCADE","CHANGE","CLUSTER","CLUSTERED","CLUSTERSTATUS","COLLECTION","COLUMNS","COMMENT","COMPACT","COMPACTIONS","COMPUTE","CONCATENATE","CONTINUE","DATA","DATABASES","DATETIME","DAY","DBPROPERTIES","DEFERRED","DEFINED","DELIMITED","DEPENDENCY","DESC","DIRECTORIES","DIRECTORY","DISABLE","DISTRIBUTE","ELEM_TYPE","ENABLE","ESCAPED","EXCLUSIVE","EXPLAIN","EXPORT","FIELDS","FILE","FILEFORMAT","FIRST","FORMAT","FORMATTED","FUNCTIONS","HOLD_DDLTIME","HOUR","IDXPROPERTIES","IGNORE","INDEX","INDEXES","INPATH","INPUTDRIVER","INPUTFORMAT","ITEMS","JAR","KEYS","KEY_TYPE","LIMIT","LINES","LOAD","LOCATION","LOCK","LOCKS","LOGICAL","LONG","MAPJOIN","MATERIALIZED","METADATA","MINUS","MINUTE","MONTH","MSCK","NOSCAN","NO_DROP","OFFLINE","OPTION","OUTPUTDRIVER","OUTPUTFORMAT","OVERWRITE","OWNER","PARTITIONED","PARTITIONS","PLUS","PRETTY","PRINCIPALS","PROTECTION","PURGE","READ","READONLY","REBUILD","RECORDREADER","RECORDWRITER","RELOAD","RENAME","REPAIR","REPLACE","REPLICATION","RESTRICT","REWRITE","ROLE","ROLES","SCHEMA","SCHEMAS","SECOND","SEMI","SERDE","SERDEPROPERTIES","SERVER","SETS","SHARED","SHOW","SHOW_DATABASE","SKEWED","SORT","SORTED","SSL","STATISTICS","STORED","STREAMTABLE","STRING","TABLES","TBLPROPERTIES","TEMPORARY","TERMINATED","TINYINT","TOUCH","TRANSACTIONS","UNARCHIVE","UNDO","UNIONTYPE","UNLOCK","UNSET","UNSIGNED","URI","USE","UTC","UTCTIMESTAMP","VALUE_TYPE","VIEW","WHILE","YEAR","AUTOCOMMIT","ISOLATION","LEVEL","OFFSET","SNAPSHOT","TRANSACTION","WORK","WRITE","ABORT","KEY","LAST","NORELY","NOVALIDATE","NULLS","RELY","VALIDATE","DETAIL","DOW","EXPRESSION","OPERATOR","QUARTER","SUMMARY","VECTORIZATION","WEEK","YEARS","MONTHS","WEEKS","DAYS","HOURS","MINUTES","SECONDS","TIMESTAMPTZ","ZONE","ALL","ALTER","AND","AS","AUTHORIZATION","BETWEEN","BOTH","BY","CASE","CAST","COLUMN","CONF","CREATE","CROSS","CUBE","CURRENT","CURRENT_DATE","CURRENT_TIMESTAMP","CURSOR","DATABASE","DELETE","DESCRIBE","DISTINCT","DROP","ELSE","END","EXCHANGE","EXISTS","EXTENDED","EXTERNAL","FALSE","FETCH","FOLLOWING","FOR","FROM","FULL","FUNCTION","GRANT","GROUP","GROUPING","HAVING","IF","IMPORT","IN","INNER","INSERT","INTERSECT","INTO","IS","JOIN","LATERAL","LEFT","LESS","LIKE","LOCAL","MACRO","MORE","NONE","NOT","NULL","OF","ON","OR","ORDER","OUT","OUTER","OVER","PARTIALSCAN","PARTITION","PERCENT","PRECEDING","PRESERVE","PROCEDURE","RANGE","READS","REDUCE","REVOKE","RIGHT","ROLLUP","ROW","ROWS","SELECT","SET","TABLE","TABLESAMPLE","THEN","TO","TRANSFORM","TRIGGER","TRUE","TRUNCATE","UNBOUNDED","UNION","UNIQUEJOIN","UPDATE","USER","USING","UTC_TMESTAMP","VALUES","WHEN","WHERE","WINDOW","WITH","COMMIT","ONLY","REGEXP","RLIKE","ROLLBACK","START","CACHE","CONSTRAINT","FOREIGN","PRIMARY","REFERENCES","DAYOFWEEK","EXTRACT","FLOOR","VIEWS","TIME","SYNC","TEXTFILE","SEQUENCEFILE","ORC","CSV","TSV","PARQUET","AVRO","RCFILE","JSONFILE","INPUTFORMAT","OUTPUTFORMAT"],Tl=["ARRAY","BIGINT","BINARY","BOOLEAN","CHAR","DATE","DECIMAL","DOUBLE","FLOAT","INT","INTEGER","INTERVAL","MAP","NUMERIC","PRECISION","SMALLINT","STRUCT","TIMESTAMP","VARCHAR"],nl=d(["SELECT [ALL | DISTINCT]"]),ol=d(["WITH","FROM","WHERE","GROUP BY","HAVING","WINDOW","PARTITION BY","ORDER BY","SORT BY","CLUSTER BY","DISTRIBUTE BY","LIMIT","INSERT INTO [TABLE]","VALUES","SET","MERGE INTO","WHEN [NOT] MATCHED [THEN]","UPDATE SET","INSERT [VALUES]","INSERT OVERWRITE [LOCAL] DIRECTORY","LOAD DATA [LOCAL] INPATH","[OVERWRITE] INTO TABLE"]),Fn=d(["CREATE [TEMPORARY] [EXTERNAL] TABLE [IF NOT EXISTS]","CREATE [MATERIALIZED] VIEW [IF NOT EXISTS]","UPDATE","DELETE FROM","DROP TABLE [IF EXISTS]","ALTER TABLE","RENAME TO","TRUNCATE [TABLE]","ALTER","CREATE","USE","DESCRIBE","DROP","FETCH","SHOW","STORED AS","STORED BY","ROW FORMAT"]),Rl=d(["UNION [ALL | DISTINCT]"]),Al=d(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","LEFT SEMI JOIN"]),il=d(["{ROWS | RANGE} BETWEEN"]),Sl={name:"hive",tokenizerOptions:{reservedSelect:nl,reservedClauses:[...ol,...Fn],reservedSetOperations:Rl,reservedJoins:Al,reservedPhrases:il,reservedKeywords:rl,reservedDataTypes:Tl,reservedFunctionNames:sl,extraParens:["[]"],stringTypes:['""-bs',"''-bs"],identTypes:["``"],variableTypes:[{quote:"{}",prefixes:["$"],requirePrefix:!0}],operators:["%","~","^","|","&","<=>","==","!","||"]},formatOptions:{onelineClauses:Fn}};function fT(e){return e.map((t,E)=>{const s=e[E+1]||cE;if(Zt.SET(t)&&s.text==="(")return We(Be({},t),{type:"RESERVED_FUNCTION_NAME"});const r=e[E-1]||cE;return Zt.VALUES(t)&&r.text==="="?We(Be({},t),{type:"RESERVED_FUNCTION_NAME"}):t})}var al=["ACCESSIBLE","ADD","ALL","ALTER","ANALYZE","AND","AS","ASC","ASENSITIVE","BEFORE","BETWEEN","BOTH","BY","CALL","CASCADE","CASE","CHANGE","CHECK","COLLATE","COLUMN","CONDITION","CONSTRAINT","CONTINUE","CONVERT","CREATE","CROSS","CURRENT_DATE","CURRENT_ROLE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURSOR","DATABASE","DATABASES","DAY_HOUR","DAY_MICROSECOND","DAY_MINUTE","DAY_SECOND","DECLARE","DEFAULT","DELAYED","DELETE","DELETE_DOMAIN_ID","DESC","DESCRIBE","DETERMINISTIC","DISTINCT","DISTINCTROW","DIV","DO_DOMAIN_IDS","DROP","DUAL","EACH","ELSE","ELSEIF","ENCLOSED","ESCAPED","EXCEPT","EXISTS","EXIT","EXPLAIN","FALSE","FETCH","FOR","FORCE","FOREIGN","FROM","FULLTEXT","GENERAL","GRANT","GROUP","HAVING","HIGH_PRIORITY","HOUR_MICROSECOND","HOUR_MINUTE","HOUR_SECOND","IF","IGNORE","IGNORE_DOMAIN_IDS","IGNORE_SERVER_IDS","IN","INDEX","INFILE","INNER","INOUT","INSENSITIVE","INSERT","INTERSECT","INTERVAL","INTO","IS","ITERATE","JOIN","KEY","KEYS","KILL","LEADING","LEAVE","LEFT","LIKE","LIMIT","LINEAR","LINES","LOAD","LOCALTIME","LOCALTIMESTAMP","LOCK","LOOP","LOW_PRIORITY","MASTER_HEARTBEAT_PERIOD","MASTER_SSL_VERIFY_SERVER_CERT","MATCH","MAXVALUE","MINUTE_MICROSECOND","MINUTE_SECOND","MOD","MODIFIES","NATURAL","NOT","NO_WRITE_TO_BINLOG","NULL","OFFSET","ON","OPTIMIZE","OPTION","OPTIONALLY","OR","ORDER","OUT","OUTER","OUTFILE","OVER","PAGE_CHECKSUM","PARSE_VCOL_EXPR","PARTITION","POSITION","PRIMARY","PROCEDURE","PURGE","RANGE","READ","READS","READ_WRITE","RECURSIVE","REF_SYSTEM_ID","REFERENCES","REGEXP","RELEASE","RENAME","REPEAT","REPLACE","REQUIRE","RESIGNAL","RESTRICT","RETURN","RETURNING","REVOKE","RIGHT","RLIKE","ROW_NUMBER","ROWS","SCHEMA","SCHEMAS","SECOND_MICROSECOND","SELECT","SENSITIVE","SEPARATOR","SET","SHOW","SIGNAL","SLOW","SPATIAL","SPECIFIC","SQL","SQLEXCEPTION","SQLSTATE","SQLWARNING","SQL_BIG_RESULT","SQL_CALC_FOUND_ROWS","SQL_SMALL_RESULT","SSL","STARTING","STATS_AUTO_RECALC","STATS_PERSISTENT","STATS_SAMPLE_PAGES","STRAIGHT_JOIN","TABLE","TERMINATED","THEN","TO","TRAILING","TRIGGER","TRUE","UNDO","UNION","UNIQUE","UNLOCK","UNSIGNED","UPDATE","USAGE","USE","USING","UTC_DATE","UTC_TIME","UTC_TIMESTAMP","VALUES","WHEN","WHERE","WHILE","WINDOW","WITH","WRITE","XOR","YEAR_MONTH","ZEROFILL"],Ol=["BIGINT","BINARY","BIT","BLOB","CHAR BYTE","CHAR","CHARACTER","DATETIME","DEC","DECIMAL","DOUBLE PRECISION","DOUBLE","ENUM","FIXED","FLOAT","FLOAT4","FLOAT8","INT","INT1","INT2","INT3","INT4","INT8","INTEGER","LONG","LONGBLOB","LONGTEXT","MEDIUMBLOB","MEDIUMINT","MEDIUMTEXT","MIDDLEINT","NATIONAL CHAR","NATIONAL VARCHAR","NUMERIC","PRECISION","REAL","SMALLINT","TEXT","TIMESTAMP","TINYBLOB","TINYINT","TINYTEXT","VARBINARY","VARCHAR","VARCHARACTER","VARYING","YEAR"],Il=["ADDDATE","ADD_MONTHS","BIT_AND","BIT_OR","BIT_XOR","CAST","COUNT","CUME_DIST","CURDATE","CURTIME","DATE_ADD","DATE_SUB","DATE_FORMAT","DECODE","DENSE_RANK","EXTRACT","FIRST_VALUE","GROUP_CONCAT","JSON_ARRAYAGG","JSON_OBJECTAGG","LAG","LEAD","MAX","MEDIAN","MID","MIN","NOW","NTH_VALUE","NTILE","POSITION","PERCENT_RANK","PERCENTILE_CONT","PERCENTILE_DISC","RANK","ROW_NUMBER","SESSION_USER","STD","STDDEV","STDDEV_POP","STDDEV_SAMP","SUBDATE","SUBSTR","SUBSTRING","SUM","SYSTEM_USER","TRIM","TRIM_ORACLE","VARIANCE","VAR_POP","VAR_SAMP","ABS","ACOS","ADDTIME","AES_DECRYPT","AES_ENCRYPT","ASIN","ATAN","ATAN2","BENCHMARK","BIN","BINLOG_GTID_POS","BIT_COUNT","BIT_LENGTH","CEIL","CEILING","CHARACTER_LENGTH","CHAR_LENGTH","CHR","COERCIBILITY","COLUMN_CHECK","COLUMN_EXISTS","COLUMN_LIST","COLUMN_JSON","COMPRESS","CONCAT","CONCAT_OPERATOR_ORACLE","CONCAT_WS","CONNECTION_ID","CONV","CONVERT_TZ","COS","COT","CRC32","DATEDIFF","DAYNAME","DAYOFMONTH","DAYOFWEEK","DAYOFYEAR","DEGREES","DECODE_HISTOGRAM","DECODE_ORACLE","DES_DECRYPT","DES_ENCRYPT","ELT","ENCODE","ENCRYPT","EXP","EXPORT_SET","EXTRACTVALUE","FIELD","FIND_IN_SET","FLOOR","FORMAT","FOUND_ROWS","FROM_BASE64","FROM_DAYS","FROM_UNIXTIME","GET_LOCK","GREATEST","HEX","IFNULL","INSTR","ISNULL","IS_FREE_LOCK","IS_USED_LOCK","JSON_ARRAY","JSON_ARRAY_APPEND","JSON_ARRAY_INSERT","JSON_COMPACT","JSON_CONTAINS","JSON_CONTAINS_PATH","JSON_DEPTH","JSON_DETAILED","JSON_EXISTS","JSON_EXTRACT","JSON_INSERT","JSON_KEYS","JSON_LENGTH","JSON_LOOSE","JSON_MERGE","JSON_MERGE_PATCH","JSON_MERGE_PRESERVE","JSON_QUERY","JSON_QUOTE","JSON_OBJECT","JSON_REMOVE","JSON_REPLACE","JSON_SET","JSON_SEARCH","JSON_TYPE","JSON_UNQUOTE","JSON_VALID","JSON_VALUE","LAST_DAY","LAST_INSERT_ID","LCASE","LEAST","LENGTH","LENGTHB","LN","LOAD_FILE","LOCATE","LOG","LOG10","LOG2","LOWER","LPAD","LPAD_ORACLE","LTRIM","LTRIM_ORACLE","MAKEDATE","MAKETIME","MAKE_SET","MASTER_GTID_WAIT","MASTER_POS_WAIT","MD5","MONTHNAME","NAME_CONST","NVL","NVL2","OCT","OCTET_LENGTH","ORD","PERIOD_ADD","PERIOD_DIFF","PI","POW","POWER","QUOTE","REGEXP_INSTR","REGEXP_REPLACE","REGEXP_SUBSTR","RADIANS","RAND","RELEASE_ALL_LOCKS","RELEASE_LOCK","REPLACE_ORACLE","REVERSE","ROUND","RPAD","RPAD_ORACLE","RTRIM","RTRIM_ORACLE","SEC_TO_TIME","SHA","SHA1","SHA2","SIGN","SIN","SLEEP","SOUNDEX","SPACE","SQRT","STRCMP","STR_TO_DATE","SUBSTR_ORACLE","SUBSTRING_INDEX","SUBTIME","SYS_GUID","TAN","TIMEDIFF","TIME_FORMAT","TIME_TO_SEC","TO_BASE64","TO_CHAR","TO_DAYS","TO_SECONDS","UCASE","UNCOMPRESS","UNCOMPRESSED_LENGTH","UNHEX","UNIX_TIMESTAMP","UPDATEXML","UPPER","UUID","UUID_SHORT","VERSION","WEEKDAY","WEEKOFYEAR","WSREP_LAST_WRITTEN_GTID","WSREP_LAST_SEEN_GTID","WSREP_SYNC_WAIT_UPTO_GTID","YEARWEEK","COALESCE","NULLIF"],Nl=d(["SELECT [ALL | DISTINCT | DISTINCTROW]"]),ll=d(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY","HAVING","PARTITION BY","ORDER BY","LIMIT","OFFSET","FETCH {FIRST | NEXT}","INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE] [INTO]","REPLACE [LOW_PRIORITY | DELAYED] [INTO]","VALUES","ON DUPLICATE KEY UPDATE","SET","RETURNING"]),Yn=d(["CREATE [OR REPLACE] [TEMPORARY] TABLE [IF NOT EXISTS]","CREATE [OR REPLACE] [SQL SECURITY DEFINER | SQL SECURITY INVOKER] VIEW [IF NOT EXISTS]","UPDATE [LOW_PRIORITY] [IGNORE]","DELETE [LOW_PRIORITY] [QUICK] [IGNORE] FROM","DROP [TEMPORARY] TABLE [IF EXISTS]","ALTER [ONLINE] [IGNORE] TABLE [IF EXISTS]","ADD [COLUMN] [IF NOT EXISTS]","{CHANGE | MODIFY} [COLUMN] [IF EXISTS]","DROP [COLUMN] [IF EXISTS]","RENAME [TO]","RENAME COLUMN","ALTER [COLUMN]","{SET | DROP} DEFAULT","SET {VISIBLE | INVISIBLE}","TRUNCATE [TABLE]","ALTER DATABASE","ALTER DATABASE COMMENT","ALTER EVENT","ALTER FUNCTION","ALTER PROCEDURE","ALTER SCHEMA","ALTER SCHEMA COMMENT","ALTER SEQUENCE","ALTER SERVER","ALTER USER","ALTER VIEW","ANALYZE","ANALYZE TABLE","BACKUP LOCK","BACKUP STAGE","BACKUP UNLOCK","BEGIN","BINLOG","CACHE INDEX","CALL","CHANGE MASTER TO","CHECK TABLE","CHECK VIEW","CHECKSUM TABLE","COMMIT","CREATE AGGREGATE FUNCTION","CREATE DATABASE","CREATE EVENT","CREATE FUNCTION","CREATE INDEX","CREATE PROCEDURE","CREATE ROLE","CREATE SEQUENCE","CREATE SERVER","CREATE SPATIAL INDEX","CREATE TRIGGER","CREATE UNIQUE INDEX","CREATE USER","DEALLOCATE PREPARE","DESCRIBE","DROP DATABASE","DROP EVENT","DROP FUNCTION","DROP INDEX","DROP PREPARE","DROP PROCEDURE","DROP ROLE","DROP SEQUENCE","DROP SERVER","DROP TRIGGER","DROP USER","DROP VIEW","EXECUTE","EXPLAIN","FLUSH","GET DIAGNOSTICS","GET DIAGNOSTICS CONDITION","GRANT","HANDLER","HELP","INSTALL PLUGIN","INSTALL SONAME","KILL","LOAD DATA INFILE","LOAD INDEX INTO CACHE","LOAD XML INFILE","LOCK TABLE","OPTIMIZE TABLE","PREPARE","PURGE BINARY LOGS","PURGE MASTER LOGS","RELEASE SAVEPOINT","RENAME TABLE","RENAME USER","REPAIR TABLE","REPAIR VIEW","RESET MASTER","RESET QUERY CACHE","RESET REPLICA","RESET SLAVE","RESIGNAL","REVOKE","ROLLBACK","SAVEPOINT","SET CHARACTER SET","SET DEFAULT ROLE","SET GLOBAL TRANSACTION","SET NAMES","SET PASSWORD","SET ROLE","SET STATEMENT","SET TRANSACTION","SHOW","SHOW ALL REPLICAS STATUS","SHOW ALL SLAVES STATUS","SHOW AUTHORS","SHOW BINARY LOGS","SHOW BINLOG EVENTS","SHOW BINLOG STATUS","SHOW CHARACTER SET","SHOW CLIENT_STATISTICS","SHOW COLLATION","SHOW COLUMNS","SHOW CONTRIBUTORS","SHOW CREATE DATABASE","SHOW CREATE EVENT","SHOW CREATE FUNCTION","SHOW CREATE PACKAGE","SHOW CREATE PACKAGE BODY","SHOW CREATE PROCEDURE","SHOW CREATE SEQUENCE","SHOW CREATE TABLE","SHOW CREATE TRIGGER","SHOW CREATE USER","SHOW CREATE VIEW","SHOW DATABASES","SHOW ENGINE","SHOW ENGINE INNODB STATUS","SHOW ENGINES","SHOW ERRORS","SHOW EVENTS","SHOW EXPLAIN","SHOW FUNCTION CODE","SHOW FUNCTION STATUS","SHOW GRANTS","SHOW INDEX","SHOW INDEXES","SHOW INDEX_STATISTICS","SHOW KEYS","SHOW LOCALES","SHOW MASTER LOGS","SHOW MASTER STATUS","SHOW OPEN TABLES","SHOW PACKAGE BODY CODE","SHOW PACKAGE BODY STATUS","SHOW PACKAGE STATUS","SHOW PLUGINS","SHOW PLUGINS SONAME","SHOW PRIVILEGES","SHOW PROCEDURE CODE","SHOW PROCEDURE STATUS","SHOW PROCESSLIST","SHOW PROFILE","SHOW PROFILES","SHOW QUERY_RESPONSE_TIME","SHOW RELAYLOG EVENTS","SHOW REPLICA","SHOW REPLICA HOSTS","SHOW REPLICA STATUS","SHOW SCHEMAS","SHOW SLAVE","SHOW SLAVE HOSTS","SHOW SLAVE STATUS","SHOW STATUS","SHOW STORAGE ENGINES","SHOW TABLE STATUS","SHOW TABLES","SHOW TRIGGERS","SHOW USER_STATISTICS","SHOW VARIABLES","SHOW WARNINGS","SHOW WSREP_MEMBERSHIP","SHOW WSREP_STATUS","SHUTDOWN","SIGNAL","START ALL REPLICAS","START ALL SLAVES","START REPLICA","START SLAVE","START TRANSACTION","STOP ALL REPLICAS","STOP ALL SLAVES","STOP REPLICA","STOP SLAVE","UNINSTALL PLUGIN","UNINSTALL SONAME","UNLOCK TABLE","USE","XA BEGIN","XA COMMIT","XA END","XA PREPARE","XA RECOVER","XA ROLLBACK","XA START"]),_l=d(["UNION [ALL | DISTINCT]","EXCEPT [ALL | DISTINCT]","INTERSECT [ALL | DISTINCT]","MINUS [ALL | DISTINCT]"]),cl=d(["JOIN","{LEFT | RIGHT} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL JOIN","NATURAL {LEFT | RIGHT} [OUTER] JOIN","STRAIGHT_JOIN"]),Cl=d(["ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]","CHARACTER SET","{ROWS | RANGE} BETWEEN","IDENTIFIED BY"]),Ll={name:"mariadb",tokenizerOptions:{reservedSelect:Nl,reservedClauses:[...ll,...Yn],reservedSetOperations:_l,reservedJoins:cl,reservedPhrases:Cl,supportsXor:!0,reservedKeywords:al,reservedDataTypes:Ol,reservedFunctionNames:Il,stringTypes:['""-qq-bs',"''-qq-bs",{quote:"''-raw",prefixes:["B","X"],requirePrefix:!0}],identTypes:["``"],identChars:{first:"$",rest:"$",allowFirstCharNumber:!0},variableTypes:[{regex:"@@?[A-Za-z0-9_.$]+"},{quote:'""-qq-bs',prefixes:["@"],requirePrefix:!0},{quote:"''-qq-bs",prefixes:["@"],requirePrefix:!0},{quote:"``",prefixes:["@"],requirePrefix:!0}],paramTypes:{positional:!0},lineCommentTypes:["--","#"],operators:["%",":=","&","|","^","~","<<",">>","<=>","&&","||","!","*.*"],postProcess:fT},formatOptions:{onelineClauses:Yn}},ul=["ACCESSIBLE","ADD","ALL","ALTER","ANALYZE","AND","AS","ASC","ASENSITIVE","BEFORE","BETWEEN","BOTH","BY","CALL","CASCADE","CASE","CHANGE","CHECK","COLLATE","COLUMN","CONDITION","CONSTRAINT","CONTINUE","CONVERT","CREATE","CROSS","CUBE","CUME_DIST","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURSOR","DATABASE","DATABASES","DAY_HOUR","DAY_MICROSECOND","DAY_MINUTE","DAY_SECOND","DECLARE","DEFAULT","DELAYED","DELETE","DENSE_RANK","DESC","DESCRIBE","DETERMINISTIC","DISTINCT","DISTINCTROW","DIV","DROP","DUAL","EACH","ELSE","ELSEIF","EMPTY","ENCLOSED","ESCAPED","EXCEPT","EXISTS","EXIT","EXPLAIN","FALSE","FETCH","FIRST_VALUE","FOR","FORCE","FOREIGN","FROM","FULLTEXT","FUNCTION","GENERATED","GET","GRANT","GROUP","GROUPING","GROUPS","HAVING","HIGH_PRIORITY","HOUR_MICROSECOND","HOUR_MINUTE","HOUR_SECOND","IF","IGNORE","IN","INDEX","INFILE","INNER","INOUT","INSENSITIVE","INSERT","IN","INTERSECT","INTERVAL","INTO","IO_AFTER_GTIDS","IO_BEFORE_GTIDS","IS","ITERATE","JOIN","JSON_TABLE","KEY","KEYS","KILL","LAG","LAST_VALUE","LATERAL","LEAD","LEADING","LEAVE","LEFT","LIKE","LIMIT","LINEAR","LINES","LOAD","LOCALTIME","LOCALTIMESTAMP","LOCK","LONG","LOOP","LOW_PRIORITY","MASTER_BIND","MASTER_SSL_VERIFY_SERVER_CERT","MATCH","MAXVALUE","MINUTE_MICROSECOND","MINUTE_SECOND","MOD","MODIFIES","NATURAL","NOT","NO_WRITE_TO_BINLOG","NTH_VALUE","NTILE","NULL","OF","ON","OPTIMIZE","OPTIMIZER_COSTS","OPTION","OPTIONALLY","OR","ORDER","OUT","OUTER","OUTFILE","OVER","PARTITION","PERCENT_RANK","PRIMARY","PROCEDURE","PURGE","RANGE","RANK","READ","READS","READ_WRITE","RECURSIVE","REFERENCES","REGEXP","RELEASE","RENAME","REPEAT","REPLACE","REQUIRE","RESIGNAL","RESTRICT","RETURN","REVOKE","RIGHT","RLIKE","ROW","ROWS","ROW_NUMBER","SCHEMA","SCHEMAS","SECOND_MICROSECOND","SELECT","SENSITIVE","SEPARATOR","SET","SHOW","SIGNAL","SPATIAL","SPECIFIC","SQL","SQLEXCEPTION","SQLSTATE","SQLWARNING","SQL_BIG_RESULT","SQL_CALC_FOUND_ROWS","SQL_SMALL_RESULT","SSL","STARTING","STORED","STRAIGHT_JOIN","SYSTEM","TABLE","TERMINATED","THEN","TO","TRAILING","TRIGGER","TRUE","UNDO","UNION","UNIQUE","UNLOCK","UNSIGNED","UPDATE","USAGE","USE","USING","UTC_DATE","UTC_TIME","UTC_TIMESTAMP","VALUES","VIRTUAL","WHEN","WHERE","WHILE","WINDOW","WITH","WRITE","XOR","YEAR_MONTH","ZEROFILL"],fl=["BIGINT","BINARY","BIT","BLOB","BOOL","BOOLEAN","CHAR","CHARACTER","DATE","DATETIME","DEC","DECIMAL","DOUBLE PRECISION","DOUBLE","ENUM","FIXED","FLOAT","FLOAT4","FLOAT8","INT","INT1","INT2","INT3","INT4","INT8","INTEGER","LONGBLOB","LONGTEXT","MEDIUMBLOB","MEDIUMINT","MEDIUMTEXT","MIDDLEINT","NATIONAL CHAR","NATIONAL VARCHAR","NUMERIC","PRECISION","REAL","SMALLINT","TEXT","TIME","TIMESTAMP","TINYBLOB","TINYINT","TINYTEXT","VARBINARY","VARCHAR","VARCHARACTER","VARYING","YEAR"],pl=["ABS","ACOS","ADDDATE","ADDTIME","AES_DECRYPT","AES_ENCRYPT","ANY_VALUE","ASCII","ASIN","ATAN","ATAN2","AVG","BENCHMARK","BIN","BIN_TO_UUID","BINARY","BIT_AND","BIT_COUNT","BIT_LENGTH","BIT_OR","BIT_XOR","CAN_ACCESS_COLUMN","CAN_ACCESS_DATABASE","CAN_ACCESS_TABLE","CAN_ACCESS_USER","CAN_ACCESS_VIEW","CAST","CEIL","CEILING","CHAR","CHAR_LENGTH","CHARACTER_LENGTH","CHARSET","COALESCE","COERCIBILITY","COLLATION","COMPRESS","CONCAT","CONCAT_WS","CONNECTION_ID","CONV","CONVERT","CONVERT_TZ","COS","COT","COUNT","CRC32","CUME_DIST","CURDATE","CURRENT_DATE","CURRENT_ROLE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURTIME","DATABASE","DATE","DATE_ADD","DATE_FORMAT","DATE_SUB","DATEDIFF","DAY","DAYNAME","DAYOFMONTH","DAYOFWEEK","DAYOFYEAR","DEFAULT","DEGREES","DENSE_RANK","DIV","ELT","EXP","EXPORT_SET","EXTRACT","EXTRACTVALUE","FIELD","FIND_IN_SET","FIRST_VALUE","FLOOR","FORMAT","FORMAT_BYTES","FORMAT_PICO_TIME","FOUND_ROWS","FROM_BASE64","FROM_DAYS","FROM_UNIXTIME","GEOMCOLLECTION","GEOMETRYCOLLECTION","GET_DD_COLUMN_PRIVILEGES","GET_DD_CREATE_OPTIONS","GET_DD_INDEX_SUB_PART_LENGTH","GET_FORMAT","GET_LOCK","GREATEST","GROUP_CONCAT","GROUPING","GTID_SUBSET","GTID_SUBTRACT","HEX","HOUR","ICU_VERSION","IF","IFNULL","INET_ATON","INET_NTOA","INET6_ATON","INET6_NTOA","INSERT","INSTR","INTERNAL_AUTO_INCREMENT","INTERNAL_AVG_ROW_LENGTH","INTERNAL_CHECK_TIME","INTERNAL_CHECKSUM","INTERNAL_DATA_FREE","INTERNAL_DATA_LENGTH","INTERNAL_DD_CHAR_LENGTH","INTERNAL_GET_COMMENT_OR_ERROR","INTERNAL_GET_ENABLED_ROLE_JSON","INTERNAL_GET_HOSTNAME","INTERNAL_GET_USERNAME","INTERNAL_GET_VIEW_WARNING_OR_ERROR","INTERNAL_INDEX_COLUMN_CARDINALITY","INTERNAL_INDEX_LENGTH","INTERNAL_IS_ENABLED_ROLE","INTERNAL_IS_MANDATORY_ROLE","INTERNAL_KEYS_DISABLED","INTERNAL_MAX_DATA_LENGTH","INTERNAL_TABLE_ROWS","INTERNAL_UPDATE_TIME","INTERVAL","IS","IS_FREE_LOCK","IS_IPV4","IS_IPV4_COMPAT","IS_IPV4_MAPPED","IS_IPV6","IS NOT","IS NOT NULL","IS NULL","IS_USED_LOCK","IS_UUID","ISNULL","JSON_ARRAY","JSON_ARRAY_APPEND","JSON_ARRAY_INSERT","JSON_ARRAYAGG","JSON_CONTAINS","JSON_CONTAINS_PATH","JSON_DEPTH","JSON_EXTRACT","JSON_INSERT","JSON_KEYS","JSON_LENGTH","JSON_MERGE","JSON_MERGE_PATCH","JSON_MERGE_PRESERVE","JSON_OBJECT","JSON_OBJECTAGG","JSON_OVERLAPS","JSON_PRETTY","JSON_QUOTE","JSON_REMOVE","JSON_REPLACE","JSON_SCHEMA_VALID","JSON_SCHEMA_VALIDATION_REPORT","JSON_SEARCH","JSON_SET","JSON_STORAGE_FREE","JSON_STORAGE_SIZE","JSON_TABLE","JSON_TYPE","JSON_UNQUOTE","JSON_VALID","JSON_VALUE","LAG","LAST_DAY","LAST_INSERT_ID","LAST_VALUE","LCASE","LEAD","LEAST","LEFT","LENGTH","LIKE","LINESTRING","LN","LOAD_FILE","LOCALTIME","LOCALTIMESTAMP","LOCATE","LOG","LOG10","LOG2","LOWER","LPAD","LTRIM","MAKE_SET","MAKEDATE","MAKETIME","MASTER_POS_WAIT","MATCH","MAX","MBRCONTAINS","MBRCOVEREDBY","MBRCOVERS","MBRDISJOINT","MBREQUALS","MBRINTERSECTS","MBROVERLAPS","MBRTOUCHES","MBRWITHIN","MD5","MEMBER OF","MICROSECOND","MID","MIN","MINUTE","MOD","MONTH","MONTHNAME","MULTILINESTRING","MULTIPOINT","MULTIPOLYGON","NAME_CONST","NOT","NOT IN","NOT LIKE","NOT REGEXP","NOW","NTH_VALUE","NTILE","NULLIF","OCT","OCTET_LENGTH","ORD","PERCENT_RANK","PERIOD_ADD","PERIOD_DIFF","PI","POINT","POLYGON","POSITION","POW","POWER","PS_CURRENT_THREAD_ID","PS_THREAD_ID","QUARTER","QUOTE","RADIANS","RAND","RANDOM_BYTES","RANK","REGEXP","REGEXP_INSTR","REGEXP_LIKE","REGEXP_REPLACE","REGEXP_SUBSTR","RELEASE_ALL_LOCKS","RELEASE_LOCK","REPEAT","REPLACE","REVERSE","RIGHT","RLIKE","ROLES_GRAPHML","ROUND","ROW_COUNT","ROW_NUMBER","RPAD","RTRIM","SCHEMA","SEC_TO_TIME","SECOND","SESSION_USER","SHA1","SHA2","SIGN","SIN","SLEEP","SOUNDEX","SOUNDS LIKE","SOURCE_POS_WAIT","SPACE","SQRT","ST_AREA","ST_ASBINARY","ST_ASGEOJSON","ST_ASTEXT","ST_BUFFER","ST_BUFFER_STRATEGY","ST_CENTROID","ST_COLLECT","ST_CONTAINS","ST_CONVEXHULL","ST_CROSSES","ST_DIFFERENCE","ST_DIMENSION","ST_DISJOINT","ST_DISTANCE","ST_DISTANCE_SPHERE","ST_ENDPOINT","ST_ENVELOPE","ST_EQUALS","ST_EXTERIORRING","ST_FRECHETDISTANCE","ST_GEOHASH","ST_GEOMCOLLFROMTEXT","ST_GEOMCOLLFROMWKB","ST_GEOMETRYN","ST_GEOMETRYTYPE","ST_GEOMFROMGEOJSON","ST_GEOMFROMTEXT","ST_GEOMFROMWKB","ST_HAUSDORFFDISTANCE","ST_INTERIORRINGN","ST_INTERSECTION","ST_INTERSECTS","ST_ISCLOSED","ST_ISEMPTY","ST_ISSIMPLE","ST_ISVALID","ST_LATFROMGEOHASH","ST_LATITUDE","ST_LENGTH","ST_LINEFROMTEXT","ST_LINEFROMWKB","ST_LINEINTERPOLATEPOINT","ST_LINEINTERPOLATEPOINTS","ST_LONGFROMGEOHASH","ST_LONGITUDE","ST_MAKEENVELOPE","ST_MLINEFROMTEXT","ST_MLINEFROMWKB","ST_MPOINTFROMTEXT","ST_MPOINTFROMWKB","ST_MPOLYFROMTEXT","ST_MPOLYFROMWKB","ST_NUMGEOMETRIES","ST_NUMINTERIORRING","ST_NUMPOINTS","ST_OVERLAPS","ST_POINTATDISTANCE","ST_POINTFROMGEOHASH","ST_POINTFROMTEXT","ST_POINTFROMWKB","ST_POINTN","ST_POLYFROMTEXT","ST_POLYFROMWKB","ST_SIMPLIFY","ST_SRID","ST_STARTPOINT","ST_SWAPXY","ST_SYMDIFFERENCE","ST_TOUCHES","ST_TRANSFORM","ST_UNION","ST_VALIDATE","ST_WITHIN","ST_X","ST_Y","STATEMENT_DIGEST","STATEMENT_DIGEST_TEXT","STD","STDDEV","STDDEV_POP","STDDEV_SAMP","STR_TO_DATE","STRCMP","SUBDATE","SUBSTR","SUBSTRING","SUBSTRING_INDEX","SUBTIME","SUM","SYSDATE","SYSTEM_USER","TAN","TIME","TIME_FORMAT","TIME_TO_SEC","TIMEDIFF","TIMESTAMP","TIMESTAMPADD","TIMESTAMPDIFF","TO_BASE64","TO_DAYS","TO_SECONDS","TRIM","TRUNCATE","UCASE","UNCOMPRESS","UNCOMPRESSED_LENGTH","UNHEX","UNIX_TIMESTAMP","UPDATEXML","UPPER","UTC_DATE","UTC_TIME","UTC_TIMESTAMP","UUID","UUID_SHORT","UUID_TO_BIN","VALIDATE_PASSWORD_STRENGTH","VALUES","VAR_POP","VAR_SAMP","VARIANCE","VERSION","WAIT_FOR_EXECUTED_GTID_SET","WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS","WEEK","WEEKDAY","WEEKOFYEAR","WEIGHT_STRING","YEAR","YEARWEEK"],Pl=d(["SELECT [ALL | DISTINCT | DISTINCTROW]"]),Dl=d(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY","HAVING","WINDOW","PARTITION BY","ORDER BY","LIMIT","OFFSET","INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE] [INTO]","REPLACE [LOW_PRIORITY | DELAYED] [INTO]","VALUES","ON DUPLICATE KEY UPDATE","SET"]),Vn=d(["CREATE [TEMPORARY] TABLE [IF NOT EXISTS]","CREATE [OR REPLACE] [SQL SECURITY DEFINER | SQL SECURITY INVOKER] VIEW [IF NOT EXISTS]","UPDATE [LOW_PRIORITY] [IGNORE]","DELETE [LOW_PRIORITY] [QUICK] [IGNORE] FROM","DROP [TEMPORARY] TABLE [IF EXISTS]","ALTER TABLE","ADD [COLUMN]","{CHANGE | MODIFY} [COLUMN]","DROP [COLUMN]","RENAME [TO | AS]","RENAME COLUMN","ALTER [COLUMN]","{SET | DROP} DEFAULT","TRUNCATE [TABLE]","ALTER DATABASE","ALTER EVENT","ALTER FUNCTION","ALTER INSTANCE","ALTER LOGFILE GROUP","ALTER PROCEDURE","ALTER RESOURCE GROUP","ALTER SERVER","ALTER TABLESPACE","ALTER USER","ALTER VIEW","ANALYZE TABLE","BINLOG","CACHE INDEX","CALL","CHANGE MASTER TO","CHANGE REPLICATION FILTER","CHANGE REPLICATION SOURCE TO","CHECK TABLE","CHECKSUM TABLE","CLONE","COMMIT","CREATE DATABASE","CREATE EVENT","CREATE FUNCTION","CREATE FUNCTION","CREATE INDEX","CREATE LOGFILE GROUP","CREATE PROCEDURE","CREATE RESOURCE GROUP","CREATE ROLE","CREATE SERVER","CREATE SPATIAL REFERENCE SYSTEM","CREATE TABLESPACE","CREATE TRIGGER","CREATE USER","DEALLOCATE PREPARE","DESCRIBE","DROP DATABASE","DROP EVENT","DROP FUNCTION","DROP FUNCTION","DROP INDEX","DROP LOGFILE GROUP","DROP PROCEDURE","DROP RESOURCE GROUP","DROP ROLE","DROP SERVER","DROP SPATIAL REFERENCE SYSTEM","DROP TABLESPACE","DROP TRIGGER","DROP USER","DROP VIEW","EXECUTE","EXPLAIN","FLUSH","GRANT","HANDLER","HELP","IMPORT TABLE","INSTALL COMPONENT","INSTALL PLUGIN","KILL","LOAD DATA","LOAD INDEX INTO CACHE","LOAD XML","LOCK INSTANCE FOR BACKUP","LOCK TABLES","MASTER_POS_WAIT","OPTIMIZE TABLE","PREPARE","PURGE BINARY LOGS","RELEASE SAVEPOINT","RENAME TABLE","RENAME USER","REPAIR TABLE","RESET","RESET MASTER","RESET PERSIST","RESET REPLICA","RESET SLAVE","RESTART","REVOKE","ROLLBACK","ROLLBACK TO SAVEPOINT","SAVEPOINT","SET CHARACTER SET","SET DEFAULT ROLE","SET NAMES","SET PASSWORD","SET RESOURCE GROUP","SET ROLE","SET TRANSACTION","SHOW","SHOW BINARY LOGS","SHOW BINLOG EVENTS","SHOW CHARACTER SET","SHOW COLLATION","SHOW COLUMNS","SHOW CREATE DATABASE","SHOW CREATE EVENT","SHOW CREATE FUNCTION","SHOW CREATE PROCEDURE","SHOW CREATE TABLE","SHOW CREATE TRIGGER","SHOW CREATE USER","SHOW CREATE VIEW","SHOW DATABASES","SHOW ENGINE","SHOW ENGINES","SHOW ERRORS","SHOW EVENTS","SHOW FUNCTION CODE","SHOW FUNCTION STATUS","SHOW GRANTS","SHOW INDEX","SHOW MASTER STATUS","SHOW OPEN TABLES","SHOW PLUGINS","SHOW PRIVILEGES","SHOW PROCEDURE CODE","SHOW PROCEDURE STATUS","SHOW PROCESSLIST","SHOW PROFILE","SHOW PROFILES","SHOW RELAYLOG EVENTS","SHOW REPLICA STATUS","SHOW REPLICAS","SHOW SLAVE","SHOW SLAVE HOSTS","SHOW STATUS","SHOW TABLE STATUS","SHOW TABLES","SHOW TRIGGERS","SHOW VARIABLES","SHOW WARNINGS","SHUTDOWN","SOURCE_POS_WAIT","START GROUP_REPLICATION","START REPLICA","START SLAVE","START TRANSACTION","STOP GROUP_REPLICATION","STOP REPLICA","STOP SLAVE","TABLE","UNINSTALL COMPONENT","UNINSTALL PLUGIN","UNLOCK INSTANCE","UNLOCK TABLES","USE","XA","ITERATE","LEAVE","LOOP","REPEAT","RETURN","WHILE"]),dl=d(["UNION [ALL | DISTINCT]"]),Ml=d(["JOIN","{LEFT | RIGHT} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT} [OUTER] JOIN","STRAIGHT_JOIN"]),Ul=d(["ON {UPDATE | DELETE} [SET NULL]","CHARACTER SET","{ROWS | RANGE} BETWEEN","IDENTIFIED BY"]),hl={name:"mysql",tokenizerOptions:{reservedSelect:Pl,reservedClauses:[...Dl,...Vn],reservedSetOperations:dl,reservedJoins:Ml,reservedPhrases:Ul,supportsXor:!0,reservedKeywords:ul,reservedDataTypes:fl,reservedFunctionNames:pl,stringTypes:['""-qq-bs',{quote:"''-qq-bs",prefixes:["N"]},{quote:"''-raw",prefixes:["B","X"],requirePrefix:!0}],identTypes:["``"],identChars:{first:"$",rest:"$",allowFirstCharNumber:!0},variableTypes:[{regex:"@@?[A-Za-z0-9_.$]+"},{quote:'""-qq-bs',prefixes:["@"],requirePrefix:!0},{quote:"''-qq-bs",prefixes:["@"],requirePrefix:!0},{quote:"``",prefixes:["@"],requirePrefix:!0}],paramTypes:{positional:!0},lineCommentTypes:["--","#"],operators:["%",":=","&","|","^","~","<<",">>","<=>","->","->>","&&","||","!","*.*"],postProcess:fT},formatOptions:{onelineClauses:Vn}},gl=["ABORT","ABS","ACOS","ADVISOR","ARRAY_AGG","ARRAY_AGG","ARRAY_APPEND","ARRAY_AVG","ARRAY_BINARY_SEARCH","ARRAY_CONCAT","ARRAY_CONTAINS","ARRAY_COUNT","ARRAY_DISTINCT","ARRAY_EXCEPT","ARRAY_FLATTEN","ARRAY_IFNULL","ARRAY_INSERT","ARRAY_INTERSECT","ARRAY_LENGTH","ARRAY_MAX","ARRAY_MIN","ARRAY_MOVE","ARRAY_POSITION","ARRAY_PREPEND","ARRAY_PUT","ARRAY_RANGE","ARRAY_REMOVE","ARRAY_REPEAT","ARRAY_REPLACE","ARRAY_REVERSE","ARRAY_SORT","ARRAY_STAR","ARRAY_SUM","ARRAY_SYMDIFF","ARRAY_SYMDIFF1","ARRAY_SYMDIFFN","ARRAY_UNION","ASIN","ATAN","ATAN2","AVG","BASE64","BASE64_DECODE","BASE64_ENCODE","BITAND ","BITCLEAR ","BITNOT ","BITOR ","BITSET ","BITSHIFT ","BITTEST ","BITXOR ","CEIL","CLOCK_LOCAL","CLOCK_MILLIS","CLOCK_STR","CLOCK_TZ","CLOCK_UTC","COALESCE","CONCAT","CONCAT2","CONTAINS","CONTAINS_TOKEN","CONTAINS_TOKEN_LIKE","CONTAINS_TOKEN_REGEXP","COS","COUNT","COUNT","COUNTN","CUME_DIST","CURL","DATE_ADD_MILLIS","DATE_ADD_STR","DATE_DIFF_MILLIS","DATE_DIFF_STR","DATE_FORMAT_STR","DATE_PART_MILLIS","DATE_PART_STR","DATE_RANGE_MILLIS","DATE_RANGE_STR","DATE_TRUNC_MILLIS","DATE_TRUNC_STR","DECODE","DECODE_JSON","DEGREES","DENSE_RANK","DURATION_TO_STR","ENCODED_SIZE","ENCODE_JSON","EXP","FIRST_VALUE","FLOOR","GREATEST","HAS_TOKEN","IFINF","IFMISSING","IFMISSINGORNULL","IFNAN","IFNANORINF","IFNULL","INITCAP","ISARRAY","ISATOM","ISBITSET","ISBOOLEAN","ISNUMBER","ISOBJECT","ISSTRING","LAG","LAST_VALUE","LEAD","LEAST","LENGTH","LN","LOG","LOWER","LTRIM","MAX","MEAN","MEDIAN","META","MILLIS","MILLIS_TO_LOCAL","MILLIS_TO_STR","MILLIS_TO_TZ","MILLIS_TO_UTC","MILLIS_TO_ZONE_NAME","MIN","MISSINGIF","NANIF","NEGINFIF","NOW_LOCAL","NOW_MILLIS","NOW_STR","NOW_TZ","NOW_UTC","NTH_VALUE","NTILE","NULLIF","NVL","NVL2","OBJECT_ADD","OBJECT_CONCAT","OBJECT_INNER_PAIRS","OBJECT_INNER_VALUES","OBJECT_LENGTH","OBJECT_NAMES","OBJECT_PAIRS","OBJECT_PUT","OBJECT_REMOVE","OBJECT_RENAME","OBJECT_REPLACE","OBJECT_UNWRAP","OBJECT_VALUES","PAIRS","PERCENT_RANK","PI","POLY_LENGTH","POSINFIF","POSITION","POWER","RADIANS","RANDOM","RANK","RATIO_TO_REPORT","REGEXP_CONTAINS","REGEXP_LIKE","REGEXP_MATCHES","REGEXP_POSITION","REGEXP_REPLACE","REGEXP_SPLIT","REGEX_CONTAINS","REGEX_LIKE","REGEX_MATCHES","REGEX_POSITION","REGEX_REPLACE","REGEX_SPLIT","REPEAT","REPLACE","REVERSE","ROUND","ROW_NUMBER","RTRIM","SEARCH","SEARCH_META","SEARCH_SCORE","SIGN","SIN","SPLIT","SQRT","STDDEV","STDDEV_POP","STDDEV_SAMP","STR_TO_DURATION","STR_TO_MILLIS","STR_TO_TZ","STR_TO_UTC","STR_TO_ZONE_NAME","SUBSTR","SUFFIXES","SUM","TAN","TITLE","TOARRAY","TOATOM","TOBOOLEAN","TOKENS","TOKENS","TONUMBER","TOOBJECT","TOSTRING","TRIM","TRUNC","UPPER","UUID","VARIANCE","VARIANCE_POP","VARIANCE_SAMP","VAR_POP","VAR_SAMP","WEEKDAY_MILLIS","WEEKDAY_STR","CAST"],Gl=["ADVISE","ALL","ALTER","ANALYZE","AND","ANY","ARRAY","AS","ASC","AT","BEGIN","BETWEEN","BINARY","BOOLEAN","BREAK","BUCKET","BUILD","BY","CALL","CASE","CAST","CLUSTER","COLLATE","COLLECTION","COMMIT","COMMITTED","CONNECT","CONTINUE","CORRELATED","COVER","CREATE","CURRENT","DATABASE","DATASET","DATASTORE","DECLARE","DECREMENT","DELETE","DERIVED","DESC","DESCRIBE","DISTINCT","DO","DROP","EACH","ELEMENT","ELSE","END","EVERY","EXCEPT","EXCLUDE","EXECUTE","EXISTS","EXPLAIN","FALSE","FETCH","FILTER","FIRST","FLATTEN","FLUSH","FOLLOWING","FOR","FORCE","FROM","FTS","FUNCTION","GOLANG","GRANT","GROUP","GROUPS","GSI","HASH","HAVING","IF","IGNORE","ILIKE","IN","INCLUDE","INCREMENT","INDEX","INFER","INLINE","INNER","INSERT","INTERSECT","INTO","IS","ISOLATION","JAVASCRIPT","JOIN","KEY","KEYS","KEYSPACE","KNOWN","LANGUAGE","LAST","LEFT","LET","LETTING","LEVEL","LIKE","LIMIT","LSM","MAP","MAPPING","MATCHED","MATERIALIZED","MERGE","MINUS","MISSING","NAMESPACE","NEST","NL","NO","NOT","NTH_VALUE","NULL","NULLS","NUMBER","OBJECT","OFFSET","ON","OPTION","OPTIONS","OR","ORDER","OTHERS","OUTER","OVER","PARSE","PARTITION","PASSWORD","PATH","POOL","PRECEDING","PREPARE","PRIMARY","PRIVATE","PRIVILEGE","PROBE","PROCEDURE","PUBLIC","RANGE","RAW","REALM","REDUCE","RENAME","RESPECT","RETURN","RETURNING","REVOKE","RIGHT","ROLE","ROLLBACK","ROW","ROWS","SATISFIES","SAVEPOINT","SCHEMA","SCOPE","SELECT","SELF","SEMI","SET","SHOW","SOME","START","STATISTICS","STRING","SYSTEM","THEN","TIES","TO","TRAN","TRANSACTION","TRIGGER","TRUE","TRUNCATE","UNBOUNDED","UNDER","UNION","UNIQUE","UNKNOWN","UNNEST","UNSET","UPDATE","UPSERT","USE","USER","USING","VALIDATE","VALUE","VALUED","VALUES","VIA","VIEW","WHEN","WHERE","WHILE","WINDOW","WITH","WITHIN","WORK","XOR"],ml=[],yl=d(["SELECT [ALL | DISTINCT]"]),bl=d(["WITH","FROM","WHERE","GROUP BY","HAVING","WINDOW","PARTITION BY","ORDER BY","LIMIT","OFFSET","INSERT INTO","VALUES","SET","MERGE INTO","WHEN [NOT] MATCHED THEN","UPDATE SET","INSERT","NEST","UNNEST","RETURNING"]),xn=d(["UPDATE","DELETE FROM","SET SCHEMA","ADVISE","ALTER INDEX","BEGIN TRANSACTION","BUILD INDEX","COMMIT TRANSACTION","CREATE COLLECTION","CREATE FUNCTION","CREATE INDEX","CREATE PRIMARY INDEX","CREATE SCOPE","DROP COLLECTION","DROP FUNCTION","DROP INDEX","DROP PRIMARY INDEX","DROP SCOPE","EXECUTE","EXECUTE FUNCTION","EXPLAIN","GRANT","INFER","PREPARE","REVOKE","ROLLBACK TRANSACTION","SAVEPOINT","SET TRANSACTION","UPDATE STATISTICS","UPSERT","LET","SET CURRENT SCHEMA","SHOW","USE [PRIMARY] KEYS"]),Hl=d(["UNION [ALL]","EXCEPT [ALL]","INTERSECT [ALL]"]),Bl=d(["JOIN","{LEFT | RIGHT} [OUTER] JOIN","INNER JOIN"]),vl=d(["{ROWS | RANGE | GROUPS} BETWEEN"]),Fl={name:"n1ql",tokenizerOptions:{reservedSelect:yl,reservedClauses:[...bl,...xn],reservedSetOperations:Hl,reservedJoins:Bl,reservedPhrases:vl,supportsXor:!0,reservedKeywords:Gl,reservedDataTypes:ml,reservedFunctionNames:gl,stringTypes:['""-bs',"''-bs"],identTypes:["``"],extraParens:["[]","{}"],paramTypes:{positional:!0,numbered:["$"],named:["$"]},lineCommentTypes:["#","--"],operators:["%","==",":","||"]},formatOptions:{onelineClauses:xn}},Yl=["ADD","AGENT","AGGREGATE","ALL","ALTER","AND","ANY","ARROW","AS","ASC","AT","ATTRIBUTE","AUTHID","AVG","BEGIN","BETWEEN","BLOCK","BODY","BOTH","BOUND","BULK","BY","BYTE","CALL","CALLING","CASCADE","CASE","CHARSET","CHARSETFORM","CHARSETID","CHECK","CLOSE","CLUSTER","CLUSTERS","COLAUTH","COLLECT","COLUMNS","COMMENT","COMMIT","COMMITTED","COMPILED","COMPRESS","CONNECT","CONSTANT","CONSTRUCTOR","CONTEXT","CONVERT","COUNT","CRASH","CREATE","CURRENT","CURSOR","CUSTOMDATUM","DANGLING","DATA","DAY","DECLARE","DEFAULT","DEFINE","DELETE","DESC","DETERMINISTIC","DISTINCT","DROP","DURATION","ELEMENT","ELSE","ELSIF","EMPTY","END","ESCAPE","EXCEPT","EXCEPTION","EXCEPTIONS","EXCLUSIVE","EXECUTE","EXISTS","EXIT","EXTERNAL","FETCH","FINAL","FIXED","FOR","FORALL","FORCE","FORM","FROM","FUNCTION","GENERAL","GOTO","GRANT","GROUP","HASH","HAVING","HEAP","HIDDEN","HOUR","IDENTIFIED","IF","IMMEDIATE","IN","INCLUDING","INDEX","INDEXES","INDICATOR","INDICES","INFINITE","INSERT","INSTANTIABLE","INTERFACE","INTERSECT","INTERVAL","INTO","INVALIDATE","IS","ISOLATION","JAVA","LANGUAGE","LARGE","LEADING","LENGTH","LEVEL","LIBRARY","LIKE","LIKE2","LIKE4","LIKEC","LIMIT","LIMITED","LOCAL","LOCK","LOOP","MAP","MAX","MAXLEN","MEMBER","MERGE","MIN","MINUS","MINUTE","MOD","MODE","MODIFY","MONTH","MULTISET","NAME","NAN","NATIONAL","NATIVE","NEW","NOCOMPRESS","NOCOPY","NOT","NOWAIT","NULL","OBJECT","OCICOLL","OCIDATE","OCIDATETIME","OCIDURATION","OCIINTERVAL","OCILOBLOCATOR","OCINUMBER","OCIRAW","OCIREF","OCIREFCURSOR","OCIROWID","OCISTRING","OCITYPE","OF","ON","ONLY","OPAQUE","OPEN","OPERATOR","OPTION","OR","ORACLE","ORADATA","ORDER","OVERLAPS","ORGANIZATION","ORLANY","ORLVARY","OTHERS","OUT","OVERRIDING","PACKAGE","PARALLEL_ENABLE","PARAMETER","PARAMETERS","PARTITION","PASCAL","PIPE","PIPELINED","PRAGMA","PRIOR","PRIVATE","PROCEDURE","PUBLIC","RAISE","RANGE","READ","RECORD","REF","REFERENCE","REM","REMAINDER","RENAME","RESOURCE","RESULT","RETURN","RETURNING","REVERSE","REVOKE","ROLLBACK","ROW","SAMPLE","SAVE","SAVEPOINT","SB1","SB2","SB4","SECOND","SEGMENT","SELECT","SELF","SEPARATE","SEQUENCE","SERIALIZABLE","SET","SHARE","SHORT","SIZE","SIZE_T","SOME","SPARSE","SQL","SQLCODE","SQLDATA","SQLNAME","SQLSTATE","STANDARD","START","STATIC","STDDEV","STORED","STRING","STRUCT","STYLE","SUBMULTISET","SUBPARTITION","SUBSTITUTABLE","SUBTYPE","SUM","SYNONYM","TABAUTH","TABLE","TDO","THE","THEN","TIME","TIMEZONE_ABBR","TIMEZONE_HOUR","TIMEZONE_MINUTE","TIMEZONE_REGION","TO","TRAILING","TRANSAC","TRANSACTIONAL","TRUSTED","TYPE","UB1","UB2","UB4","UNDER","UNION","UNIQUE","UNSIGNED","UNTRUSTED","UPDATE","USE","USING","VALIST","VALUE","VALUES","VARIABLE","VARIANCE","VARRAY","VIEW","VIEWS","VOID","WHEN","WHERE","WHILE","WITH","WORK","WRAPPED","WRITE","YEAR","ZONE"],Vl=["ARRAY","BFILE_BASE","BINARY","BLOB_BASE","CHAR VARYING","CHAR_BASE","CHAR","CHARACTER VARYING","CHARACTER","CLOB_BASE","DATE_BASE","DATE","DECIMAL","DOUBLE","FLOAT","INT","INTERVAL DAY","INTERVAL YEAR","LONG","NATIONAL CHAR VARYING","NATIONAL CHAR","NATIONAL CHARACTER VARYING","NATIONAL CHARACTER","NCHAR VARYING","NCHAR","NCHAR","NUMBER_BASE","NUMBER","NUMBERIC","NVARCHAR","PRECISION","RAW","TIMESTAMP","UROWID","VARCHAR","VARCHAR2"],xl=["ABS","ACOS","ASIN","ATAN","ATAN2","BITAND","CEIL","COS","COSH","EXP","FLOOR","LN","LOG","MOD","NANVL","POWER","REMAINDER","ROUND","SIGN","SIN","SINH","SQRT","TAN","TANH","TRUNC","WIDTH_BUCKET","CHR","CONCAT","INITCAP","LOWER","LPAD","LTRIM","NLS_INITCAP","NLS_LOWER","NLSSORT","NLS_UPPER","REGEXP_REPLACE","REGEXP_SUBSTR","REPLACE","RPAD","RTRIM","SOUNDEX","SUBSTR","TRANSLATE","TREAT","TRIM","UPPER","NLS_CHARSET_DECL_LEN","NLS_CHARSET_ID","NLS_CHARSET_NAME","ASCII","INSTR","LENGTH","REGEXP_INSTR","ADD_MONTHS","CURRENT_DATE","CURRENT_TIMESTAMP","DBTIMEZONE","EXTRACT","FROM_TZ","LAST_DAY","LOCALTIMESTAMP","MONTHS_BETWEEN","NEW_TIME","NEXT_DAY","NUMTODSINTERVAL","NUMTOYMINTERVAL","ROUND","SESSIONTIMEZONE","SYS_EXTRACT_UTC","SYSDATE","SYSTIMESTAMP","TO_CHAR","TO_TIMESTAMP","TO_TIMESTAMP_TZ","TO_DSINTERVAL","TO_YMINTERVAL","TRUNC","TZ_OFFSET","GREATEST","LEAST","ASCIISTR","BIN_TO_NUM","CAST","CHARTOROWID","COMPOSE","CONVERT","DECOMPOSE","HEXTORAW","NUMTODSINTERVAL","NUMTOYMINTERVAL","RAWTOHEX","RAWTONHEX","ROWIDTOCHAR","ROWIDTONCHAR","SCN_TO_TIMESTAMP","TIMESTAMP_TO_SCN","TO_BINARY_DOUBLE","TO_BINARY_FLOAT","TO_CHAR","TO_CLOB","TO_DATE","TO_DSINTERVAL","TO_LOB","TO_MULTI_BYTE","TO_NCHAR","TO_NCLOB","TO_NUMBER","TO_DSINTERVAL","TO_SINGLE_BYTE","TO_TIMESTAMP","TO_TIMESTAMP_TZ","TO_YMINTERVAL","TO_YMINTERVAL","TRANSLATE","UNISTR","BFILENAME","EMPTY_BLOB,","EMPTY_CLOB","CARDINALITY","COLLECT","POWERMULTISET","POWERMULTISET_BY_CARDINALITY","SET","SYS_CONNECT_BY_PATH","CLUSTER_ID","CLUSTER_PROBABILITY","CLUSTER_SET","FEATURE_ID","FEATURE_SET","FEATURE_VALUE","PREDICTION","PREDICTION_COST","PREDICTION_DETAILS","PREDICTION_PROBABILITY","PREDICTION_SET","APPENDCHILDXML","DELETEXML","DEPTH","EXTRACT","EXISTSNODE","EXTRACTVALUE","INSERTCHILDXML","INSERTXMLBEFORE","PATH","SYS_DBURIGEN","SYS_XMLAGG","SYS_XMLGEN","UPDATEXML","XMLAGG","XMLCDATA","XMLCOLATTVAL","XMLCOMMENT","XMLCONCAT","XMLFOREST","XMLPARSE","XMLPI","XMLQUERY","XMLROOT","XMLSEQUENCE","XMLSERIALIZE","XMLTABLE","XMLTRANSFORM","DECODE","DUMP","ORA_HASH","VSIZE","COALESCE","LNNVL","NULLIF","NVL","NVL2","SYS_CONTEXT","SYS_GUID","SYS_TYPEID","UID","USER","USERENV","AVG","COLLECT","CORR","CORR_S","CORR_K","COUNT","COVAR_POP","COVAR_SAMP","CUME_DIST","DENSE_RANK","FIRST","GROUP_ID","GROUPING","GROUPING_ID","LAST","MAX","MEDIAN","MIN","PERCENTILE_CONT","PERCENTILE_DISC","PERCENT_RANK","RANK","REGR_SLOPE","REGR_INTERCEPT","REGR_COUNT","REGR_R2","REGR_AVGX","REGR_AVGY","REGR_SXX","REGR_SYY","REGR_SXY","STATS_BINOMIAL_TEST","STATS_CROSSTAB","STATS_F_TEST","STATS_KS_TEST","STATS_MODE","STATS_MW_TEST","STATS_ONE_WAY_ANOVA","STATS_T_TEST_ONE","STATS_T_TEST_PAIRED","STATS_T_TEST_INDEP","STATS_T_TEST_INDEPU","STATS_WSR_TEST","STDDEV","STDDEV_POP","STDDEV_SAMP","SUM","VAR_POP","VAR_SAMP","VARIANCE","FIRST_VALUE","LAG","LAST_VALUE","LEAD","NTILE","RATIO_TO_REPORT","ROW_NUMBER","DEREF","MAKE_REF","REF","REFTOHEX","VALUE","CV","ITERATION_NUMBER","PRESENTNNV","PRESENTV","PREVIOUS"],wl=d(["SELECT [ALL | DISTINCT | UNIQUE]"]),Wl=d(["WITH","FROM","WHERE","GROUP BY","HAVING","PARTITION BY","ORDER [SIBLINGS] BY","OFFSET","FETCH {FIRST | NEXT}","FOR UPDATE [OF]","INSERT [INTO | ALL INTO]","VALUES","SET","MERGE [INTO]","WHEN [NOT] MATCHED [THEN]","UPDATE SET","RETURNING"]),wn=d(["CREATE [GLOBAL TEMPORARY | PRIVATE TEMPORARY | SHARDED | DUPLICATED | IMMUTABLE BLOCKCHAIN | BLOCKCHAIN | IMMUTABLE] TABLE","CREATE [OR REPLACE] [NO FORCE | FORCE] [EDITIONING | EDITIONABLE | EDITIONABLE EDITIONING | NONEDITIONABLE] VIEW","CREATE MATERIALIZED VIEW","UPDATE [ONLY]","DELETE FROM [ONLY]","DROP TABLE","ALTER TABLE","ADD","DROP {COLUMN | UNUSED COLUMNS | COLUMNS CONTINUE}","MODIFY","RENAME TO","RENAME COLUMN","TRUNCATE TABLE","SET SCHEMA","BEGIN","CONNECT BY","DECLARE","EXCEPT","EXCEPTION","LOOP","START WITH"]),Xl=d(["UNION [ALL]","EXCEPT","INTERSECT"]),$l=d(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN","{CROSS | OUTER} APPLY"]),Kl=d(["ON {UPDATE | DELETE} [SET NULL]","ON COMMIT","{ROWS | RANGE} BETWEEN"]),Jl={name:"plsql",tokenizerOptions:{reservedSelect:wl,reservedClauses:[...Wl,...wn],reservedSetOperations:Xl,reservedJoins:$l,reservedPhrases:Kl,supportsXor:!0,reservedKeywords:Yl,reservedDataTypes:Vl,reservedFunctionNames:xl,stringTypes:[{quote:"''-qq",prefixes:["N"]},{quote:"q''",prefixes:["N"]}],identTypes:['""-qq'],identChars:{rest:"$#"},variableTypes:[{regex:"&{1,2}[A-Za-z][A-Za-z0-9_$#]*"}],paramTypes:{numbered:[":"],named:[":"]},paramChars:{},operators:["**",":=","%","~=","^=",">>","<<","=>","@","||"],postProcess:kl},formatOptions:{alwaysDenseOperators:["@"],onelineClauses:wn}};function kl(e){let t=cE;return e.map(E=>Zt.SET(E)&&Zt.BY(t)?We(Be({},E),{type:"RESERVED_KEYWORD"}):(gA(E.type)&&(t=E),E))}var jl=["ABS","ACOS","ACOSD","ACOSH","ASIN","ASIND","ASINH","ATAN","ATAN2","ATAN2D","ATAND","ATANH","CBRT","CEIL","CEILING","COS","COSD","COSH","COT","COTD","DEGREES","DIV","EXP","FACTORIAL","FLOOR","GCD","LCM","LN","LOG","LOG10","MIN_SCALE","MOD","PI","POWER","RADIANS","RANDOM","ROUND","SCALE","SETSEED","SIGN","SIN","SIND","SINH","SQRT","TAN","TAND","TANH","TRIM_SCALE","TRUNC","WIDTH_BUCKET","ABS","ASCII","BIT_LENGTH","BTRIM","CHARACTER_LENGTH","CHAR_LENGTH","CHR","CONCAT","CONCAT_WS","FORMAT","INITCAP","LEFT","LENGTH","LOWER","LPAD","LTRIM","MD5","NORMALIZE","OCTET_LENGTH","OVERLAY","PARSE_IDENT","PG_CLIENT_ENCODING","POSITION","QUOTE_IDENT","QUOTE_LITERAL","QUOTE_NULLABLE","REGEXP_MATCH","REGEXP_MATCHES","REGEXP_REPLACE","REGEXP_SPLIT_TO_ARRAY","REGEXP_SPLIT_TO_TABLE","REPEAT","REPLACE","REVERSE","RIGHT","RPAD","RTRIM","SPLIT_PART","SPRINTF","STARTS_WITH","STRING_AGG","STRING_TO_ARRAY","STRING_TO_TABLE","STRPOS","SUBSTR","SUBSTRING","TO_ASCII","TO_HEX","TRANSLATE","TRIM","UNISTR","UPPER","BIT_COUNT","BIT_LENGTH","BTRIM","CONVERT","CONVERT_FROM","CONVERT_TO","DECODE","ENCODE","GET_BIT","GET_BYTE","LENGTH","LTRIM","MD5","OCTET_LENGTH","OVERLAY","POSITION","RTRIM","SET_BIT","SET_BYTE","SHA224","SHA256","SHA384","SHA512","STRING_AGG","SUBSTR","SUBSTRING","TRIM","BIT_COUNT","BIT_LENGTH","GET_BIT","LENGTH","OCTET_LENGTH","OVERLAY","POSITION","SET_BIT","SUBSTRING","REGEXP_MATCH","REGEXP_MATCHES","REGEXP_REPLACE","REGEXP_SPLIT_TO_ARRAY","REGEXP_SPLIT_TO_TABLE","TO_CHAR","TO_DATE","TO_NUMBER","TO_TIMESTAMP","CLOCK_TIMESTAMP","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","DATE_BIN","DATE_PART","DATE_TRUNC","EXTRACT","ISFINITE","JUSTIFY_DAYS","JUSTIFY_HOURS","JUSTIFY_INTERVAL","LOCALTIME","LOCALTIMESTAMP","MAKE_DATE","MAKE_INTERVAL","MAKE_TIME","MAKE_TIMESTAMP","MAKE_TIMESTAMPTZ","NOW","PG_SLEEP","PG_SLEEP_FOR","PG_SLEEP_UNTIL","STATEMENT_TIMESTAMP","TIMEOFDAY","TO_TIMESTAMP","TRANSACTION_TIMESTAMP","ENUM_FIRST","ENUM_LAST","ENUM_RANGE","AREA","BOUND_BOX","BOX","CENTER","CIRCLE","DIAGONAL","DIAMETER","HEIGHT","ISCLOSED","ISOPEN","LENGTH","LINE","LSEG","NPOINTS","PATH","PCLOSE","POINT","POLYGON","POPEN","RADIUS","SLOPE","WIDTH","ABBREV","BROADCAST","FAMILY","HOST","HOSTMASK","INET_MERGE","INET_SAME_FAMILY","MACADDR8_SET7BIT","MASKLEN","NETMASK","NETWORK","SET_MASKLEN","TEXT","TRUNC","ARRAY_TO_TSVECTOR","GET_CURRENT_TS_CONFIG","JSONB_TO_TSVECTOR","JSON_TO_TSVECTOR","LENGTH","NUMNODE","PHRASETO_TSQUERY","PLAINTO_TSQUERY","QUERYTREE","SETWEIGHT","STRIP","TO_TSQUERY","TO_TSVECTOR","TSQUERY_PHRASE","TSVECTOR_TO_ARRAY","TS_DEBUG","TS_DELETE","TS_FILTER","TS_HEADLINE","TS_LEXIZE","TS_PARSE","TS_RANK","TS_RANK_CD","TS_REWRITE","TS_STAT","TS_TOKEN_TYPE","WEBSEARCH_TO_TSQUERY","UUID","CURSOR_TO_XML","CURSOR_TO_XMLSCHEMA","DATABASE_TO_XML","DATABASE_TO_XMLSCHEMA","DATABASE_TO_XML_AND_XMLSCHEMA","NEXTVAL","QUERY_TO_XML","QUERY_TO_XMLSCHEMA","QUERY_TO_XML_AND_XMLSCHEMA","SCHEMA_TO_XML","SCHEMA_TO_XMLSCHEMA","SCHEMA_TO_XML_AND_XMLSCHEMA","STRING","TABLE_TO_XML","TABLE_TO_XMLSCHEMA","TABLE_TO_XML_AND_XMLSCHEMA","XMLAGG","XMLCOMMENT","XMLCONCAT","XMLELEMENT","XMLEXISTS","XMLFOREST","XMLPARSE","XMLPI","XMLROOT","XMLSERIALIZE","XMLTABLE","XML_IS_WELL_FORMED","XML_IS_WELL_FORMED_CONTENT","XML_IS_WELL_FORMED_DOCUMENT","XPATH","XPATH_EXISTS","ARRAY_TO_JSON","JSONB_AGG","JSONB_ARRAY_ELEMENTS","JSONB_ARRAY_ELEMENTS_TEXT","JSONB_ARRAY_LENGTH","JSONB_BUILD_ARRAY","JSONB_BUILD_OBJECT","JSONB_EACH","JSONB_EACH_TEXT","JSONB_EXTRACT_PATH","JSONB_EXTRACT_PATH_TEXT","JSONB_INSERT","JSONB_OBJECT","JSONB_OBJECT_AGG","JSONB_OBJECT_KEYS","JSONB_PATH_EXISTS","JSONB_PATH_EXISTS_TZ","JSONB_PATH_MATCH","JSONB_PATH_MATCH_TZ","JSONB_PATH_QUERY","JSONB_PATH_QUERY_ARRAY","JSONB_PATH_QUERY_ARRAY_TZ","JSONB_PATH_QUERY_FIRST","JSONB_PATH_QUERY_FIRST_TZ","JSONB_PATH_QUERY_TZ","JSONB_POPULATE_RECORD","JSONB_POPULATE_RECORDSET","JSONB_PRETTY","JSONB_SET","JSONB_SET_LAX","JSONB_STRIP_NULLS","JSONB_TO_RECORD","JSONB_TO_RECORDSET","JSONB_TYPEOF","JSON_AGG","JSON_ARRAY_ELEMENTS","JSON_ARRAY_ELEMENTS_TEXT","JSON_ARRAY_LENGTH","JSON_BUILD_ARRAY","JSON_BUILD_OBJECT","JSON_EACH","JSON_EACH_TEXT","JSON_EXTRACT_PATH","JSON_EXTRACT_PATH_TEXT","JSON_OBJECT","JSON_OBJECT_AGG","JSON_OBJECT_KEYS","JSON_POPULATE_RECORD","JSON_POPULATE_RECORDSET","JSON_STRIP_NULLS","JSON_TO_RECORD","JSON_TO_RECORDSET","JSON_TYPEOF","ROW_TO_JSON","TO_JSON","TO_JSONB","TO_TIMESTAMP","CURRVAL","LASTVAL","NEXTVAL","SETVAL","COALESCE","GREATEST","LEAST","NULLIF","ARRAY_AGG","ARRAY_APPEND","ARRAY_CAT","ARRAY_DIMS","ARRAY_FILL","ARRAY_LENGTH","ARRAY_LOWER","ARRAY_NDIMS","ARRAY_POSITION","ARRAY_POSITIONS","ARRAY_PREPEND","ARRAY_REMOVE","ARRAY_REPLACE","ARRAY_TO_STRING","ARRAY_UPPER","CARDINALITY","STRING_TO_ARRAY","TRIM_ARRAY","UNNEST","ISEMPTY","LOWER","LOWER_INC","LOWER_INF","MULTIRANGE","RANGE_MERGE","UPPER","UPPER_INC","UPPER_INF","ARRAY_AGG","AVG","BIT_AND","BIT_OR","BIT_XOR","BOOL_AND","BOOL_OR","COALESCE","CORR","COUNT","COVAR_POP","COVAR_SAMP","CUME_DIST","DENSE_RANK","EVERY","GROUPING","JSONB_AGG","JSONB_OBJECT_AGG","JSON_AGG","JSON_OBJECT_AGG","MAX","MIN","MODE","PERCENTILE_CONT","PERCENTILE_DISC","PERCENT_RANK","RANGE_AGG","RANGE_INTERSECT_AGG","RANK","REGR_AVGX","REGR_AVGY","REGR_COUNT","REGR_INTERCEPT","REGR_R2","REGR_SLOPE","REGR_SXX","REGR_SXY","REGR_SYY","STDDEV","STDDEV_POP","STDDEV_SAMP","STRING_AGG","SUM","TO_JSON","TO_JSONB","VARIANCE","VAR_POP","VAR_SAMP","XMLAGG","CUME_DIST","DENSE_RANK","FIRST_VALUE","LAG","LAST_VALUE","LEAD","NTH_VALUE","NTILE","PERCENT_RANK","RANK","ROW_NUMBER","GENERATE_SERIES","GENERATE_SUBSCRIPTS","ACLDEFAULT","ACLEXPLODE","COL_DESCRIPTION","CURRENT_CATALOG","CURRENT_DATABASE","CURRENT_QUERY","CURRENT_ROLE","CURRENT_SCHEMA","CURRENT_SCHEMAS","CURRENT_USER","FORMAT_TYPE","HAS_ANY_COLUMN_PRIVILEGE","HAS_COLUMN_PRIVILEGE","HAS_DATABASE_PRIVILEGE","HAS_FOREIGN_DATA_WRAPPER_PRIVILEGE","HAS_FUNCTION_PRIVILEGE","HAS_LANGUAGE_PRIVILEGE","HAS_SCHEMA_PRIVILEGE","HAS_SEQUENCE_PRIVILEGE","HAS_SERVER_PRIVILEGE","HAS_TABLESPACE_PRIVILEGE","HAS_TABLE_PRIVILEGE","HAS_TYPE_PRIVILEGE","INET_CLIENT_ADDR","INET_CLIENT_PORT","INET_SERVER_ADDR","INET_SERVER_PORT","MAKEACLITEM","OBJ_DESCRIPTION","PG_BACKEND_PID","PG_BLOCKING_PIDS","PG_COLLATION_IS_VISIBLE","PG_CONF_LOAD_TIME","PG_CONTROL_CHECKPOINT","PG_CONTROL_INIT","PG_CONTROL_SYSTEM","PG_CONVERSION_IS_VISIBLE","PG_CURRENT_LOGFILE","PG_CURRENT_SNAPSHOT","PG_CURRENT_XACT_ID","PG_CURRENT_XACT_ID_IF_ASSIGNED","PG_DESCRIBE_OBJECT","PG_FUNCTION_IS_VISIBLE","PG_GET_CATALOG_FOREIGN_KEYS","PG_GET_CONSTRAINTDEF","PG_GET_EXPR","PG_GET_FUNCTIONDEF","PG_GET_FUNCTION_ARGUMENTS","PG_GET_FUNCTION_IDENTITY_ARGUMENTS","PG_GET_FUNCTION_RESULT","PG_GET_INDEXDEF","PG_GET_KEYWORDS","PG_GET_OBJECT_ADDRESS","PG_GET_OWNED_SEQUENCE","PG_GET_RULEDEF","PG_GET_SERIAL_SEQUENCE","PG_GET_STATISTICSOBJDEF","PG_GET_TRIGGERDEF","PG_GET_USERBYID","PG_GET_VIEWDEF","PG_HAS_ROLE","PG_IDENTIFY_OBJECT","PG_IDENTIFY_OBJECT_AS_ADDRESS","PG_INDEXAM_HAS_PROPERTY","PG_INDEX_COLUMN_HAS_PROPERTY","PG_INDEX_HAS_PROPERTY","PG_IS_OTHER_TEMP_SCHEMA","PG_JIT_AVAILABLE","PG_LAST_COMMITTED_XACT","PG_LISTENING_CHANNELS","PG_MY_TEMP_SCHEMA","PG_NOTIFICATION_QUEUE_USAGE","PG_OPCLASS_IS_VISIBLE","PG_OPERATOR_IS_VISIBLE","PG_OPFAMILY_IS_VISIBLE","PG_OPTIONS_TO_TABLE","PG_POSTMASTER_START_TIME","PG_SAFE_SNAPSHOT_BLOCKING_PIDS","PG_SNAPSHOT_XIP","PG_SNAPSHOT_XMAX","PG_SNAPSHOT_XMIN","PG_STATISTICS_OBJ_IS_VISIBLE","PG_TABLESPACE_DATABASES","PG_TABLESPACE_LOCATION","PG_TABLE_IS_VISIBLE","PG_TRIGGER_DEPTH","PG_TS_CONFIG_IS_VISIBLE","PG_TS_DICT_IS_VISIBLE","PG_TS_PARSER_IS_VISIBLE","PG_TS_TEMPLATE_IS_VISIBLE","PG_TYPEOF","PG_TYPE_IS_VISIBLE","PG_VISIBLE_IN_SNAPSHOT","PG_XACT_COMMIT_TIMESTAMP","PG_XACT_COMMIT_TIMESTAMP_ORIGIN","PG_XACT_STATUS","PQSERVERVERSION","ROW_SECURITY_ACTIVE","SESSION_USER","SHOBJ_DESCRIPTION","TO_REGCLASS","TO_REGCOLLATION","TO_REGNAMESPACE","TO_REGOPER","TO_REGOPERATOR","TO_REGPROC","TO_REGPROCEDURE","TO_REGROLE","TO_REGTYPE","TXID_CURRENT","TXID_CURRENT_IF_ASSIGNED","TXID_CURRENT_SNAPSHOT","TXID_SNAPSHOT_XIP","TXID_SNAPSHOT_XMAX","TXID_SNAPSHOT_XMIN","TXID_STATUS","TXID_VISIBLE_IN_SNAPSHOT","USER","VERSION","BRIN_DESUMMARIZE_RANGE","BRIN_SUMMARIZE_NEW_VALUES","BRIN_SUMMARIZE_RANGE","CONVERT_FROM","CURRENT_SETTING","GIN_CLEAN_PENDING_LIST","PG_ADVISORY_LOCK","PG_ADVISORY_LOCK_SHARED","PG_ADVISORY_UNLOCK","PG_ADVISORY_UNLOCK_ALL","PG_ADVISORY_UNLOCK_SHARED","PG_ADVISORY_XACT_LOCK","PG_ADVISORY_XACT_LOCK_SHARED","PG_BACKUP_START_TIME","PG_CANCEL_BACKEND","PG_COLLATION_ACTUAL_VERSION","PG_COLUMN_COMPRESSION","PG_COLUMN_SIZE","PG_COPY_LOGICAL_REPLICATION_SLOT","PG_COPY_PHYSICAL_REPLICATION_SLOT","PG_CREATE_LOGICAL_REPLICATION_SLOT","PG_CREATE_PHYSICAL_REPLICATION_SLOT","PG_CREATE_RESTORE_POINT","PG_CURRENT_WAL_FLUSH_LSN","PG_CURRENT_WAL_INSERT_LSN","PG_CURRENT_WAL_LSN","PG_DATABASE_SIZE","PG_DROP_REPLICATION_SLOT","PG_EXPORT_SNAPSHOT","PG_FILENODE_RELATION","PG_GET_WAL_REPLAY_PAUSE_STATE","PG_IMPORT_SYSTEM_COLLATIONS","PG_INDEXES_SIZE","PG_IS_IN_BACKUP","PG_IS_IN_RECOVERY","PG_IS_WAL_REPLAY_PAUSED","PG_LAST_WAL_RECEIVE_LSN","PG_LAST_WAL_REPLAY_LSN","PG_LAST_XACT_REPLAY_TIMESTAMP","PG_LOGICAL_EMIT_MESSAGE","PG_LOGICAL_SLOT_GET_BINARY_CHANGES","PG_LOGICAL_SLOT_GET_CHANGES","PG_LOGICAL_SLOT_PEEK_BINARY_CHANGES","PG_LOGICAL_SLOT_PEEK_CHANGES","PG_LOG_BACKEND_MEMORY_CONTEXTS","PG_LS_ARCHIVE_STATUSDIR","PG_LS_DIR","PG_LS_LOGDIR","PG_LS_TMPDIR","PG_LS_WALDIR","PG_PARTITION_ANCESTORS","PG_PARTITION_ROOT","PG_PARTITION_TREE","PG_PROMOTE","PG_READ_BINARY_FILE","PG_READ_FILE","PG_RELATION_FILENODE","PG_RELATION_FILEPATH","PG_RELATION_SIZE","PG_RELOAD_CONF","PG_REPLICATION_ORIGIN_ADVANCE","PG_REPLICATION_ORIGIN_CREATE","PG_REPLICATION_ORIGIN_DROP","PG_REPLICATION_ORIGIN_OID","PG_REPLICATION_ORIGIN_PROGRESS","PG_REPLICATION_ORIGIN_SESSION_IS_SETUP","PG_REPLICATION_ORIGIN_SESSION_PROGRESS","PG_REPLICATION_ORIGIN_SESSION_RESET","PG_REPLICATION_ORIGIN_SESSION_SETUP","PG_REPLICATION_ORIGIN_XACT_RESET","PG_REPLICATION_ORIGIN_XACT_SETUP","PG_REPLICATION_SLOT_ADVANCE","PG_ROTATE_LOGFILE","PG_SIZE_BYTES","PG_SIZE_PRETTY","PG_START_BACKUP","PG_STAT_FILE","PG_STOP_BACKUP","PG_SWITCH_WAL","PG_TABLESPACE_SIZE","PG_TABLE_SIZE","PG_TERMINATE_BACKEND","PG_TOTAL_RELATION_SIZE","PG_TRY_ADVISORY_LOCK","PG_TRY_ADVISORY_LOCK_SHARED","PG_TRY_ADVISORY_XACT_LOCK","PG_TRY_ADVISORY_XACT_LOCK_SHARED","PG_WALFILE_NAME","PG_WALFILE_NAME_OFFSET","PG_WAL_LSN_DIFF","PG_WAL_REPLAY_PAUSE","PG_WAL_REPLAY_RESUME","SET_CONFIG","SUPPRESS_REDUNDANT_UPDATES_TRIGGER","TSVECTOR_UPDATE_TRIGGER","TSVECTOR_UPDATE_TRIGGER_COLUMN","PG_EVENT_TRIGGER_DDL_COMMANDS","PG_EVENT_TRIGGER_DROPPED_OBJECTS","PG_EVENT_TRIGGER_TABLE_REWRITE_OID","PG_EVENT_TRIGGER_TABLE_REWRITE_REASON","PG_GET_OBJECT_ADDRESS","PG_MCV_LIST_ITEMS","CAST"],ql=["ABORT","ABSOLUTE","ACCESS","ACTION","ADD","ADMIN","AFTER","AGGREGATE","ALL","ALSO","ALTER","ALWAYS","ANALYSE","ANALYZE","AND","ANY","AS","ASC","ASENSITIVE","ASSERTION","ASSIGNMENT","ASYMMETRIC","AT","ATOMIC","ATTACH","ATTRIBUTE","AUTHORIZATION","BACKWARD","BEFORE","BEGIN","BETWEEN","BINARY","BOTH","BREADTH","BY","CACHE","CALL","CALLED","CASCADE","CASCADED","CASE","CAST","CATALOG","CHAIN","CHARACTERISTICS","CHECK","CHECKPOINT","CLASS","CLOSE","CLUSTER","COALESCE","COLLATE","COLLATION","COLUMN","COLUMNS","COMMENT","COMMENTS","COMMIT","COMMITTED","COMPRESSION","CONCURRENTLY","CONFIGURATION","CONFLICT","CONNECTION","CONSTRAINT","CONSTRAINTS","CONTENT","CONTINUE","CONVERSION","COPY","COST","CREATE","CROSS","CSV","CUBE","CURRENT","CURRENT_CATALOG","CURRENT_DATE","CURRENT_ROLE","CURRENT_SCHEMA","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURSOR","CYCLE","DATA","DATABASE","DAY","DEALLOCATE","DEC","DECLARE","DEFAULT","DEFAULTS","DEFERRABLE","DEFERRED","DEFINER","DELETE","DELIMITER","DELIMITERS","DEPENDS","DEPTH","DESC","DETACH","DICTIONARY","DISABLE","DISCARD","DISTINCT","DO","DOCUMENT","DOMAIN","DROP","EACH","ELSE","ENABLE","ENCODING","ENCRYPTED","END","ENUM","ESCAPE","EVENT","EXCEPT","EXCLUDE","EXCLUDING","EXCLUSIVE","EXECUTE","EXISTS","EXPLAIN","EXPRESSION","EXTENSION","EXTERNAL","EXTRACT","FALSE","FAMILY","FETCH","FILTER","FINALIZE","FIRST","FOLLOWING","FOR","FORCE","FOREIGN","FORWARD","FREEZE","FROM","FULL","FUNCTION","FUNCTIONS","GENERATED","GLOBAL","GRANT","GRANTED","GREATEST","GROUP","GROUPING","GROUPS","HANDLER","HAVING","HEADER","HOLD","HOUR","IDENTITY","IF","ILIKE","IMMEDIATE","IMMUTABLE","IMPLICIT","IMPORT","IN","INCLUDE","INCLUDING","INCREMENT","INDEX","INDEXES","INHERIT","INHERITS","INITIALLY","INLINE","INNER","INOUT","INPUT","INSENSITIVE","INSERT","INSTEAD","INTERSECT","INTO","INVOKER","IS","ISNULL","ISOLATION","JOIN","KEY","LANGUAGE","LARGE","LAST","LATERAL","LEADING","LEAKPROOF","LEAST","LEFT","LEVEL","LIKE","LIMIT","LISTEN","LOAD","LOCAL","LOCALTIME","LOCALTIMESTAMP","LOCK","LOCKED","LOGGED","MAPPING","MATCH","MATERIALIZED","MAXVALUE","METHOD","MINUTE","MINVALUE","MODE","MONTH","MOVE","NATIONAL","NATURAL","NCHAR","NEW","NEXT","NFC","NFD","NFKC","NFKD","NO","NONE","NORMALIZE","NORMALIZED","NOT","NOTHING","NOTIFY","NOTNULL","NOWAIT","NULL","NULLIF","NULLS","OBJECT","OF","OFF","OFFSET","OIDS","OLD","ON","ONLY","OPERATOR","OPTION","OPTIONS","OR","ORDER","ORDINALITY","OTHERS","OUT","OUTER","OVER","OVERLAPS","OVERLAY","OVERRIDING","OWNED","OWNER","PARALLEL","PARSER","PARTIAL","PARTITION","PASSING","PASSWORD","PLACING","PLANS","POLICY","POSITION","PRECEDING","PREPARE","PREPARED","PRESERVE","PRIMARY","PRIOR","PRIVILEGES","PROCEDURAL","PROCEDURE","PROCEDURES","PROGRAM","PUBLICATION","QUOTE","RANGE","READ","REASSIGN","RECHECK","RECURSIVE","REF","REFERENCES","REFERENCING","REFRESH","REINDEX","RELATIVE","RENAME","REPEATABLE","REPLACE","REPLICA","RESET","RESTART","RESTRICT","RETURN","RETURNING","RETURNS","REVOKE","RIGHT","ROLE","ROLLBACK","ROLLUP","ROUTINE","ROUTINES","ROW","ROWS","RULE","SAVEPOINT","SCHEMA","SCHEMAS","SCROLL","SEARCH","SECOND","SECURITY","SELECT","SEQUENCE","SEQUENCES","SERIALIZABLE","SERVER","SESSION","SESSION_USER","SET","SETOF","SETS","SHARE","SHOW","SIMILAR","SIMPLE","SKIP","SNAPSHOT","SOME","SQL","STABLE","STANDALONE","START","STATEMENT","STATISTICS","STDIN","STDOUT","STORAGE","STORED","STRICT","STRIP","SUBSCRIPTION","SUBSTRING","SUPPORT","SYMMETRIC","SYSID","SYSTEM","TABLE","TABLES","TABLESAMPLE","TABLESPACE","TEMP","TEMPLATE","TEMPORARY","THEN","TIES","TO","TRAILING","TRANSACTION","TRANSFORM","TREAT","TRIGGER","TRIM","TRUE","TRUNCATE","TRUSTED","UESCAPE","UNBOUNDED","UNCOMMITTED","UNENCRYPTED","UNION","UNIQUE","UNKNOWN","UNLISTEN","UNLOGGED","UNTIL","UPDATE","USER","USING","VACUUM","VALID","VALIDATE","VALIDATOR","VALUE","VALUES","VARIADIC","VERBOSE","VERSION","VIEW","VIEWS","VOLATILE","WHEN","WHERE","WHITESPACE","WINDOW","WITH","WITHIN","WITHOUT","WORK","WRAPPER","WRITE","XMLATTRIBUTES","XMLCONCAT","XMLELEMENT","XMLEXISTS","XMLFOREST","XMLNAMESPACES","XMLPARSE","XMLPI","XMLROOT","XMLSERIALIZE","XMLTABLE","YEAR","YES"],Ql=["ARRAY","BIGINT","BIT","BIT VARYING","BOOL","BOOLEAN","CHAR","CHARACTER","CHARACTER VARYING","DECIMAL","DOUBLE","ENUM","FLOAT","INT","INTEGER","INTERVAL","NUMERIC","PRECISION","REAL","SMALLINT","TEXT","TIME","TIMESTAMP","TIMESTAMPTZ","VARCHAR","XML","ZONE"],Zl=d(["SELECT [ALL | DISTINCT]"]),zl=d(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY [ALL | DISTINCT]","HAVING","WINDOW","PARTITION BY","ORDER BY","LIMIT","OFFSET","FETCH {FIRST | NEXT}","FOR {UPDATE | NO KEY UPDATE | SHARE | KEY SHARE} [OF]","INSERT INTO","VALUES","SET","RETURNING"]),Wn=d(["CREATE [GLOBAL | LOCAL] [TEMPORARY | TEMP | UNLOGGED] TABLE [IF NOT EXISTS]","CREATE [OR REPLACE] [TEMP | TEMPORARY] [RECURSIVE] VIEW","CREATE [MATERIALIZED] VIEW [IF NOT EXISTS]","UPDATE [ONLY]","WHERE CURRENT OF","ON CONFLICT","DELETE FROM [ONLY]","DROP TABLE [IF EXISTS]","ALTER TABLE [IF EXISTS] [ONLY]","ALTER TABLE ALL IN TABLESPACE","RENAME [COLUMN]","RENAME TO","ADD [COLUMN] [IF NOT EXISTS]","DROP [COLUMN] [IF EXISTS]","ALTER [COLUMN]","SET DATA TYPE","{SET | DROP} DEFAULT","{SET | DROP} NOT NULL","TRUNCATE [TABLE] [ONLY]","SET SCHEMA","AFTER","ABORT","ALTER AGGREGATE","ALTER COLLATION","ALTER CONVERSION","ALTER DATABASE","ALTER DEFAULT PRIVILEGES","ALTER DOMAIN","ALTER EVENT TRIGGER","ALTER EXTENSION","ALTER FOREIGN DATA WRAPPER","ALTER FOREIGN TABLE","ALTER FUNCTION","ALTER GROUP","ALTER INDEX","ALTER LANGUAGE","ALTER LARGE OBJECT","ALTER MATERIALIZED VIEW","ALTER OPERATOR","ALTER OPERATOR CLASS","ALTER OPERATOR FAMILY","ALTER POLICY","ALTER PROCEDURE","ALTER PUBLICATION","ALTER ROLE","ALTER ROUTINE","ALTER RULE","ALTER SCHEMA","ALTER SEQUENCE","ALTER SERVER","ALTER STATISTICS","ALTER SUBSCRIPTION","ALTER SYSTEM","ALTER TABLESPACE","ALTER TEXT SEARCH CONFIGURATION","ALTER TEXT SEARCH DICTIONARY","ALTER TEXT SEARCH PARSER","ALTER TEXT SEARCH TEMPLATE","ALTER TRIGGER","ALTER TYPE","ALTER USER","ALTER USER MAPPING","ALTER VIEW","ANALYZE","BEGIN","CALL","CHECKPOINT","CLOSE","CLUSTER","COMMIT","COMMIT PREPARED","COPY","CREATE ACCESS METHOD","CREATE AGGREGATE","CREATE CAST","CREATE COLLATION","CREATE CONVERSION","CREATE DATABASE","CREATE DOMAIN","CREATE EVENT TRIGGER","CREATE EXTENSION","CREATE FOREIGN DATA WRAPPER","CREATE FOREIGN TABLE","CREATE FUNCTION","CREATE GROUP","CREATE INDEX","CREATE LANGUAGE","CREATE OPERATOR","CREATE OPERATOR CLASS","CREATE OPERATOR FAMILY","CREATE POLICY","CREATE PROCEDURE","CREATE PUBLICATION","CREATE ROLE","CREATE RULE","CREATE SCHEMA","CREATE SEQUENCE","CREATE SERVER","CREATE STATISTICS","CREATE SUBSCRIPTION","CREATE TABLESPACE","CREATE TEXT SEARCH CONFIGURATION","CREATE TEXT SEARCH DICTIONARY","CREATE TEXT SEARCH PARSER","CREATE TEXT SEARCH TEMPLATE","CREATE TRANSFORM","CREATE TRIGGER","CREATE TYPE","CREATE USER","CREATE USER MAPPING","DEALLOCATE","DECLARE","DISCARD","DROP ACCESS METHOD","DROP AGGREGATE","DROP CAST","DROP COLLATION","DROP CONVERSION","DROP DATABASE","DROP DOMAIN","DROP EVENT TRIGGER","DROP EXTENSION","DROP FOREIGN DATA WRAPPER","DROP FOREIGN TABLE","DROP FUNCTION","DROP GROUP","DROP INDEX","DROP LANGUAGE","DROP MATERIALIZED VIEW","DROP OPERATOR","DROP OPERATOR CLASS","DROP OPERATOR FAMILY","DROP OWNED","DROP POLICY","DROP PROCEDURE","DROP PUBLICATION","DROP ROLE","DROP ROUTINE","DROP RULE","DROP SCHEMA","DROP SEQUENCE","DROP SERVER","DROP STATISTICS","DROP SUBSCRIPTION","DROP TABLESPACE","DROP TEXT SEARCH CONFIGURATION","DROP TEXT SEARCH DICTIONARY","DROP TEXT SEARCH PARSER","DROP TEXT SEARCH TEMPLATE","DROP TRANSFORM","DROP TRIGGER","DROP TYPE","DROP USER","DROP USER MAPPING","DROP VIEW","EXECUTE","EXPLAIN","FETCH","GRANT","IMPORT FOREIGN SCHEMA","LISTEN","LOAD","LOCK","MOVE","NOTIFY","PREPARE","PREPARE TRANSACTION","REASSIGN OWNED","REFRESH MATERIALIZED VIEW","REINDEX","RELEASE SAVEPOINT","RESET","REVOKE","ROLLBACK","ROLLBACK PREPARED","ROLLBACK TO SAVEPOINT","SAVEPOINT","SECURITY LABEL","SELECT INTO","SET CONSTRAINTS","SET ROLE","SET SESSION AUTHORIZATION","SET TRANSACTION","SHOW","START TRANSACTION","UNLISTEN","VACUUM"]),e_=d(["UNION [ALL | DISTINCT]","EXCEPT [ALL | DISTINCT]","INTERSECT [ALL | DISTINCT]"]),t_=d(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"]),E_=d(["ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]","{ROWS | RANGE | GROUPS} BETWEEN","[TIMESTAMP | TIME] {WITH | WITHOUT} TIME ZONE","IS [NOT] DISTINCT FROM"]),s_={name:"postgresql",tokenizerOptions:{reservedSelect:Zl,reservedClauses:[...zl,...Wn],reservedSetOperations:e_,reservedJoins:t_,reservedPhrases:E_,reservedKeywords:ql,reservedDataTypes:Ql,reservedFunctionNames:jl,nestedBlockComments:!0,extraParens:["[]"],stringTypes:["$$",{quote:"''-qq",prefixes:["U&"]},{quote:"''-qq-bs",prefixes:["E"],requirePrefix:!0},{quote:"''-raw",prefixes:["B","X"],requirePrefix:!0}],identTypes:[{quote:'""-qq',prefixes:["U&"]}],identChars:{rest:"$"},paramTypes:{numbered:["$"]},operators:["%","^","|/","||/","@",":=","&","|","#","~","<<",">>","~>~","~<~","~>=~","~<=~","@-@","@@","##","<->","&&","&<","&>","<<|","&<|","|>>","|&>","<^","^>","?#","?-","?|","?-|","?||","@>","<@","~=","?","@?","?&","->","->>","#>","#>>","#-","=>",">>=","<<=","~~","~~*","!~~","!~~*","~","~*","!~","!~*","-|-","||","@@@","!!","<%","%>","<<%","%>>","<<->","<->>","<<<->","<->>>","::",":"]},formatOptions:{alwaysDenseOperators:["::",":"],onelineClauses:Wn}},r_=["ANY_VALUE","APPROXIMATE PERCENTILE_DISC","AVG","COUNT","LISTAGG","MAX","MEDIAN","MIN","PERCENTILE_CONT","STDDEV_SAMP","STDDEV_POP","SUM","VAR_SAMP","VAR_POP","array","array_concat","array_flatten","get_array_length","split_to_array","subarray","BIT_AND","BIT_OR","BOOL_AND","BOOL_OR","COALESCE","DECODE","GREATEST","LEAST","NVL","NVL2","NULLIF","ADD_MONTHS","AT TIME ZONE","CONVERT_TIMEZONE","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","DATE_CMP","DATE_CMP_TIMESTAMP","DATE_CMP_TIMESTAMPTZ","DATE_PART_YEAR","DATEADD","DATEDIFF","DATE_PART","DATE_TRUNC","EXTRACT","GETDATE","INTERVAL_CMP","LAST_DAY","MONTHS_BETWEEN","NEXT_DAY","SYSDATE","TIMEOFDAY","TIMESTAMP_CMP","TIMESTAMP_CMP_DATE","TIMESTAMP_CMP_TIMESTAMPTZ","TIMESTAMPTZ_CMP","TIMESTAMPTZ_CMP_DATE","TIMESTAMPTZ_CMP_TIMESTAMP","TIMEZONE","TO_TIMESTAMP","TRUNC","AddBBox","DropBBox","GeometryType","ST_AddPoint","ST_Angle","ST_Area","ST_AsBinary","ST_AsEWKB","ST_AsEWKT","ST_AsGeoJSON","ST_AsText","ST_Azimuth","ST_Boundary","ST_Collect","ST_Contains","ST_ContainsProperly","ST_ConvexHull","ST_CoveredBy","ST_Covers","ST_Crosses","ST_Dimension","ST_Disjoint","ST_Distance","ST_DistanceSphere","ST_DWithin","ST_EndPoint","ST_Envelope","ST_Equals","ST_ExteriorRing","ST_Force2D","ST_Force3D","ST_Force3DM","ST_Force3DZ","ST_Force4D","ST_GeometryN","ST_GeometryType","ST_GeomFromEWKB","ST_GeomFromEWKT","ST_GeomFromText","ST_GeomFromWKB","ST_InteriorRingN","ST_Intersects","ST_IsPolygonCCW","ST_IsPolygonCW","ST_IsClosed","ST_IsCollection","ST_IsEmpty","ST_IsSimple","ST_IsValid","ST_Length","ST_LengthSphere","ST_Length2D","ST_LineFromMultiPoint","ST_LineInterpolatePoint","ST_M","ST_MakeEnvelope","ST_MakeLine","ST_MakePoint","ST_MakePolygon","ST_MemSize","ST_MMax","ST_MMin","ST_Multi","ST_NDims","ST_NPoints","ST_NRings","ST_NumGeometries","ST_NumInteriorRings","ST_NumPoints","ST_Perimeter","ST_Perimeter2D","ST_Point","ST_PointN","ST_Points","ST_Polygon","ST_RemovePoint","ST_Reverse","ST_SetPoint","ST_SetSRID","ST_Simplify","ST_SRID","ST_StartPoint","ST_Touches","ST_Within","ST_X","ST_XMax","ST_XMin","ST_Y","ST_YMax","ST_YMin","ST_Z","ST_ZMax","ST_ZMin","SupportsBBox","CHECKSUM","FUNC_SHA1","FNV_HASH","MD5","SHA","SHA1","SHA2","HLL","HLL_CREATE_SKETCH","HLL_CARDINALITY","HLL_COMBINE","IS_VALID_JSON","IS_VALID_JSON_ARRAY","JSON_ARRAY_LENGTH","JSON_EXTRACT_ARRAY_ELEMENT_TEXT","JSON_EXTRACT_PATH_TEXT","JSON_PARSE","JSON_SERIALIZE","ABS","ACOS","ASIN","ATAN","ATAN2","CBRT","CEILING","CEIL","COS","COT","DEGREES","DEXP","DLOG1","DLOG10","EXP","FLOOR","LN","LOG","MOD","PI","POWER","RADIANS","RANDOM","ROUND","SIN","SIGN","SQRT","TAN","TO_HEX","TRUNC","EXPLAIN_MODEL","ASCII","BPCHARCMP","BTRIM","BTTEXT_PATTERN_CMP","CHAR_LENGTH","CHARACTER_LENGTH","CHARINDEX","CHR","COLLATE","CONCAT","CRC32","DIFFERENCE","INITCAP","LEFT","RIGHT","LEN","LENGTH","LOWER","LPAD","RPAD","LTRIM","OCTETINDEX","OCTET_LENGTH","POSITION","QUOTE_IDENT","QUOTE_LITERAL","REGEXP_COUNT","REGEXP_INSTR","REGEXP_REPLACE","REGEXP_SUBSTR","REPEAT","REPLACE","REPLICATE","REVERSE","RTRIM","SOUNDEX","SPLIT_PART","STRPOS","STRTOL","SUBSTRING","TEXTLEN","TRANSLATE","TRIM","UPPER","decimal_precision","decimal_scale","is_array","is_bigint","is_boolean","is_char","is_decimal","is_float","is_integer","is_object","is_scalar","is_smallint","is_varchar","json_typeof","AVG","COUNT","CUME_DIST","DENSE_RANK","FIRST_VALUE","LAST_VALUE","LAG","LEAD","LISTAGG","MAX","MEDIAN","MIN","NTH_VALUE","NTILE","PERCENT_RANK","PERCENTILE_CONT","PERCENTILE_DISC","RANK","RATIO_TO_REPORT","ROW_NUMBER","STDDEV_SAMP","STDDEV_POP","SUM","VAR_SAMP","VAR_POP","CAST","CONVERT","TO_CHAR","TO_DATE","TO_NUMBER","TEXT_TO_INT_ALT","TEXT_TO_NUMERIC_ALT","CHANGE_QUERY_PRIORITY","CHANGE_SESSION_PRIORITY","CHANGE_USER_PRIORITY","CURRENT_SETTING","PG_CANCEL_BACKEND","PG_TERMINATE_BACKEND","REBOOT_CLUSTER","SET_CONFIG","CURRENT_AWS_ACCOUNT","CURRENT_DATABASE","CURRENT_NAMESPACE","CURRENT_SCHEMA","CURRENT_SCHEMAS","CURRENT_USER","CURRENT_USER_ID","HAS_ASSUMEROLE_PRIVILEGE","HAS_DATABASE_PRIVILEGE","HAS_SCHEMA_PRIVILEGE","HAS_TABLE_PRIVILEGE","PG_BACKEND_PID","PG_GET_COLS","PG_GET_GRANTEE_BY_IAM_ROLE","PG_GET_IAM_ROLE_BY_USER","PG_GET_LATE_BINDING_VIEW_COLS","PG_LAST_COPY_COUNT","PG_LAST_COPY_ID","PG_LAST_UNLOAD_ID","PG_LAST_QUERY_ID","PG_LAST_UNLOAD_COUNT","SESSION_USER","SLICE_NUM","USER","VERSION"],T_=["AES128","AES256","ALL","ALLOWOVERWRITE","ANY","AS","ASC","AUTHORIZATION","BACKUP","BETWEEN","BINARY","BOTH","CHECK","COLUMN","CONSTRAINT","CREATE","CROSS","DEFAULT","DEFERRABLE","DEFLATE","DEFRAG","DESC","DISABLE","DISTINCT","DO","ENABLE","ENCODE","ENCRYPT","ENCRYPTION","EXPLICIT","FALSE","FOR","FOREIGN","FREEZE","FROM","FULL","GLOBALDICT256","GLOBALDICT64K","GROUP","IDENTITY","IGNORE","ILIKE","IN","INITIALLY","INNER","INTO","IS","ISNULL","LANGUAGE","LEADING","LIKE","LIMIT","LOCALTIME","LOCALTIMESTAMP","LUN","LUNS","MINUS","NATURAL","NEW","NOT","NOTNULL","NULL","NULLS","OFF","OFFLINE","OFFSET","OID","OLD","ON","ONLY","OPEN","ORDER","OUTER","OVERLAPS","PARALLEL","PARTITION","PERCENT","PERMISSIONS","PLACING","PRIMARY","RECOVER","REFERENCES","REJECTLOG","RESORT","RESPECT","RESTORE","SIMILAR","SNAPSHOT","SOME","SYSTEM","TABLE","TAG","TDES","THEN","TIMESTAMP","TO","TOP","TRAILING","TRUE","UNIQUE","USING","VERBOSE","WALLET","WITHOUT","ACCEPTANYDATE","ACCEPTINVCHARS","BLANKSASNULL","DATEFORMAT","EMPTYASNULL","ENCODING","ESCAPE","EXPLICIT_IDS","FILLRECORD","IGNOREBLANKLINES","IGNOREHEADER","REMOVEQUOTES","ROUNDEC","TIMEFORMAT","TRIMBLANKS","TRUNCATECOLUMNS","COMPROWS","COMPUPDATE","MAXERROR","NOLOAD","STATUPDATE","FORMAT","CSV","DELIMITER","FIXEDWIDTH","SHAPEFILE","AVRO","JSON","PARQUET","ORC","ACCESS_KEY_ID","CREDENTIALS","ENCRYPTED","IAM_ROLE","MASTER_SYMMETRIC_KEY","SECRET_ACCESS_KEY","SESSION_TOKEN","BZIP2","GZIP","LZOP","ZSTD","MANIFEST","READRATIO","REGION","SSH","RAW","AZ64","BYTEDICT","DELTA","DELTA32K","LZO","MOSTLY8","MOSTLY16","MOSTLY32","RUNLENGTH","TEXT255","TEXT32K","CATALOG_ROLE","SECRET_ARN","EXTERNAL","AUTO","EVEN","KEY","PREDICATE","COMPRESSION"],n_=["ARRAY","BIGINT","BPCHAR","CHAR","CHARACTER VARYING","CHARACTER","DECIMAL","INT","INT2","INT4","INT8","INTEGER","NCHAR","NUMERIC","NVARCHAR","SMALLINT","TEXT","VARBYTE","VARCHAR"],o_=d(["SELECT [ALL | DISTINCT]"]),R_=d(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY","HAVING","PARTITION BY","ORDER BY","LIMIT","OFFSET","INSERT INTO","VALUES","SET"]),Xn=d(["CREATE [TEMPORARY | TEMP | LOCAL TEMPORARY | LOCAL TEMP] TABLE [IF NOT EXISTS]","CREATE [OR REPLACE | MATERIALIZED] VIEW","UPDATE","DELETE [FROM]","DROP TABLE [IF EXISTS]","ALTER TABLE","ALTER TABLE APPEND","ADD [COLUMN]","DROP [COLUMN]","RENAME TO","RENAME COLUMN","ALTER COLUMN","TYPE","ENCODE","TRUNCATE [TABLE]","ABORT","ALTER DATABASE","ALTER DATASHARE","ALTER DEFAULT PRIVILEGES","ALTER GROUP","ALTER MATERIALIZED VIEW","ALTER PROCEDURE","ALTER SCHEMA","ALTER USER","ANALYSE","ANALYZE","ANALYSE COMPRESSION","ANALYZE COMPRESSION","BEGIN","CALL","CANCEL","CLOSE","COMMIT","COPY","CREATE DATABASE","CREATE DATASHARE","CREATE EXTERNAL FUNCTION","CREATE EXTERNAL SCHEMA","CREATE EXTERNAL TABLE","CREATE FUNCTION","CREATE GROUP","CREATE LIBRARY","CREATE MODEL","CREATE PROCEDURE","CREATE SCHEMA","CREATE USER","DEALLOCATE","DECLARE","DESC DATASHARE","DROP DATABASE","DROP DATASHARE","DROP FUNCTION","DROP GROUP","DROP LIBRARY","DROP MODEL","DROP MATERIALIZED VIEW","DROP PROCEDURE","DROP SCHEMA","DROP USER","DROP VIEW","DROP","EXECUTE","EXPLAIN","FETCH","GRANT","LOCK","PREPARE","REFRESH MATERIALIZED VIEW","RESET","REVOKE","ROLLBACK","SELECT INTO","SET SESSION AUTHORIZATION","SET SESSION CHARACTERISTICS","SHOW","SHOW EXTERNAL TABLE","SHOW MODEL","SHOW DATASHARES","SHOW PROCEDURE","SHOW TABLE","SHOW VIEW","START TRANSACTION","UNLOAD","VACUUM"]),A_=d(["UNION [ALL]","EXCEPT","INTERSECT","MINUS"]),i_=d(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"]),S_=d(["NULL AS","DATA CATALOG","HIVE METASTORE","{ROWS | RANGE} BETWEEN"]),a_={name:"redshift",tokenizerOptions:{reservedSelect:o_,reservedClauses:[...R_,...Xn],reservedSetOperations:A_,reservedJoins:i_,reservedPhrases:S_,reservedKeywords:T_,reservedDataTypes:n_,reservedFunctionNames:r_,stringTypes:["''-qq"],identTypes:['""-qq'],identChars:{first:"#"},paramTypes:{numbered:["$"]},operators:["^","%","@","|/","||/","&","|","~","<<",">>","||","::"]},formatOptions:{alwaysDenseOperators:["::"],onelineClauses:Xn}},O_=["ADD","AFTER","ALL","ALTER","ANALYZE","AND","ANTI","ANY","ARCHIVE","AS","ASC","AT","AUTHORIZATION","BETWEEN","BOTH","BUCKET","BUCKETS","BY","CACHE","CASCADE","CAST","CHANGE","CHECK","CLEAR","CLUSTER","CLUSTERED","CODEGEN","COLLATE","COLLECTION","COLUMN","COLUMNS","COMMENT","COMMIT","COMPACT","COMPACTIONS","COMPUTE","CONCATENATE","CONSTRAINT","COST","CREATE","CROSS","CUBE","CURRENT","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","DATA","DATABASE","DATABASES","DAY","DBPROPERTIES","DEFINED","DELETE","DELIMITED","DESC","DESCRIBE","DFS","DIRECTORIES","DIRECTORY","DISTINCT","DISTRIBUTE","DIV","DROP","ESCAPE","ESCAPED","EXCEPT","EXCHANGE","EXISTS","EXPORT","EXTENDED","EXTERNAL","EXTRACT","FALSE","FETCH","FIELDS","FILTER","FILEFORMAT","FIRST","FIRST_VALUE","FOLLOWING","FOR","FOREIGN","FORMAT","FORMATTED","FULL","FUNCTION","FUNCTIONS","GLOBAL","GRANT","GROUP","GROUPING","HOUR","IF","IGNORE","IMPORT","IN","INDEX","INDEXES","INNER","INPATH","INPUTFORMAT","INTERSECT","INTO","IS","ITEMS","KEYS","LAST","LAST_VALUE","LATERAL","LAZY","LEADING","LEFT","LIKE","LINES","LIST","LOCAL","LOCATION","LOCK","LOCKS","LOGICAL","MACRO","MATCHED","MERGE","MINUTE","MONTH","MSCK","NAMESPACE","NAMESPACES","NATURAL","NO","NOT","NULL","NULLS","OF","ONLY","OPTION","OPTIONS","OR","ORDER","OUT","OUTER","OUTPUTFORMAT","OVER","OVERLAPS","OVERLAY","OVERWRITE","OWNER","PARTITION","PARTITIONED","PARTITIONS","PERCENT","PLACING","POSITION","PRECEDING","PRIMARY","PRINCIPALS","PROPERTIES","PURGE","QUERY","RANGE","RECORDREADER","RECORDWRITER","RECOVER","REDUCE","REFERENCES","RENAME","REPAIR","REPLACE","RESPECT","RESTRICT","REVOKE","RIGHT","RLIKE","ROLE","ROLES","ROLLBACK","ROLLUP","ROW","ROWS","SCHEMA","SECOND","SELECT","SEMI","SEPARATED","SERDE","SERDEPROPERTIES","SESSION_USER","SETS","SHOW","SKEWED","SOME","SORT","SORTED","START","STATISTICS","STORED","STRATIFY","SUBSTR","SUBSTRING","TABLE","TABLES","TBLPROPERTIES","TEMPORARY","TERMINATED","THEN","TO","TOUCH","TRAILING","TRANSACTION","TRANSACTIONS","TRIM","TRUE","TRUNCATE","UNARCHIVE","UNBOUNDED","UNCACHE","UNIQUE","UNKNOWN","UNLOCK","UNSET","USE","USER","USING","VIEW","WINDOW","YEAR","ANALYSE","ARRAY_ZIP","COALESCE","CONTAINS","CONVERT","DAYS","DAY_HOUR","DAY_MINUTE","DAY_SECOND","DECODE","DEFAULT","DISTINCTROW","ENCODE","EXPLODE","EXPLODE_OUTER","FIXED","GREATEST","GROUP_CONCAT","HOURS","HOUR_MINUTE","HOUR_SECOND","IFNULL","LEAST","LEVEL","MINUTE_SECOND","NULLIF","OFFSET","ON","OPTIMIZE","REGEXP","SEPARATOR","SIZE","TYPE","TYPES","UNSIGNED","VARIABLES","YEAR_MONTH"],I_=["ARRAY","BIGINT","BINARY","BOOLEAN","BYTE","CHAR","DATE","DEC","DECIMAL","DOUBLE","FLOAT","INT","INTEGER","INTERVAL","LONG","MAP","NUMERIC","REAL","SHORT","SMALLINT","STRING","STRUCT","TIMESTAMP_LTZ","TIMESTAMP_NTZ","TIMESTAMP","TINYINT","VARCHAR"],N_=["APPROX_COUNT_DISTINCT","APPROX_PERCENTILE","AVG","BIT_AND","BIT_OR","BIT_XOR","BOOL_AND","BOOL_OR","COLLECT_LIST","COLLECT_SET","CORR","COUNT","COUNT","COUNT","COUNT_IF","COUNT_MIN_SKETCH","COVAR_POP","COVAR_SAMP","EVERY","FIRST","FIRST_VALUE","GROUPING","GROUPING_ID","KURTOSIS","LAST","LAST_VALUE","MAX","MAX_BY","MEAN","MIN","MIN_BY","PERCENTILE","PERCENTILE","PERCENTILE_APPROX","SKEWNESS","STD","STDDEV","STDDEV_POP","STDDEV_SAMP","SUM","VAR_POP","VAR_SAMP","VARIANCE","CUME_DIST","DENSE_RANK","LAG","LEAD","NTH_VALUE","NTILE","PERCENT_RANK","RANK","ROW_NUMBER","ARRAY","ARRAY_CONTAINS","ARRAY_DISTINCT","ARRAY_EXCEPT","ARRAY_INTERSECT","ARRAY_JOIN","ARRAY_MAX","ARRAY_MIN","ARRAY_POSITION","ARRAY_REMOVE","ARRAY_REPEAT","ARRAY_UNION","ARRAYS_OVERLAP","ARRAYS_ZIP","FLATTEN","SEQUENCE","SHUFFLE","SLICE","SORT_ARRAY","ELEMENT_AT","ELEMENT_AT","MAP_CONCAT","MAP_ENTRIES","MAP_FROM_ARRAYS","MAP_FROM_ENTRIES","MAP_KEYS","MAP_VALUES","STR_TO_MAP","ADD_MONTHS","CURRENT_DATE","CURRENT_DATE","CURRENT_TIMESTAMP","CURRENT_TIMESTAMP","CURRENT_TIMEZONE","DATE_ADD","DATE_FORMAT","DATE_FROM_UNIX_DATE","DATE_PART","DATE_SUB","DATE_TRUNC","DATEDIFF","DAY","DAYOFMONTH","DAYOFWEEK","DAYOFYEAR","EXTRACT","FROM_UNIXTIME","FROM_UTC_TIMESTAMP","HOUR","LAST_DAY","MAKE_DATE","MAKE_DT_INTERVAL","MAKE_INTERVAL","MAKE_TIMESTAMP","MAKE_YM_INTERVAL","MINUTE","MONTH","MONTHS_BETWEEN","NEXT_DAY","NOW","QUARTER","SECOND","SESSION_WINDOW","TIMESTAMP_MICROS","TIMESTAMP_MILLIS","TIMESTAMP_SECONDS","TO_DATE","TO_TIMESTAMP","TO_UNIX_TIMESTAMP","TO_UTC_TIMESTAMP","TRUNC","UNIX_DATE","UNIX_MICROS","UNIX_MILLIS","UNIX_SECONDS","UNIX_TIMESTAMP","WEEKDAY","WEEKOFYEAR","WINDOW","YEAR","FROM_JSON","GET_JSON_OBJECT","JSON_ARRAY_LENGTH","JSON_OBJECT_KEYS","JSON_TUPLE","SCHEMA_OF_JSON","TO_JSON","ABS","ACOS","ACOSH","AGGREGATE","ARRAY_SORT","ASCII","ASIN","ASINH","ASSERT_TRUE","ATAN","ATAN2","ATANH","BASE64","BIN","BIT_COUNT","BIT_GET","BIT_LENGTH","BROUND","BTRIM","CARDINALITY","CBRT","CEIL","CEILING","CHAR_LENGTH","CHARACTER_LENGTH","CHR","CONCAT","CONCAT_WS","CONV","COS","COSH","COT","CRC32","CURRENT_CATALOG","CURRENT_DATABASE","CURRENT_USER","DEGREES","ELT","EXP","EXPM1","FACTORIAL","FIND_IN_SET","FLOOR","FORALL","FORMAT_NUMBER","FORMAT_STRING","FROM_CSV","GETBIT","HASH","HEX","HYPOT","INITCAP","INLINE","INLINE_OUTER","INPUT_FILE_BLOCK_LENGTH","INPUT_FILE_BLOCK_START","INPUT_FILE_NAME","INSTR","ISNAN","ISNOTNULL","ISNULL","JAVA_METHOD","LCASE","LEFT","LENGTH","LEVENSHTEIN","LN","LOCATE","LOG","LOG10","LOG1P","LOG2","LOWER","LPAD","LTRIM","MAP_FILTER","MAP_ZIP_WITH","MD5","MOD","MONOTONICALLY_INCREASING_ID","NAMED_STRUCT","NANVL","NEGATIVE","NVL","NVL2","OCTET_LENGTH","OVERLAY","PARSE_URL","PI","PMOD","POSEXPLODE","POSEXPLODE_OUTER","POSITION","POSITIVE","POW","POWER","PRINTF","RADIANS","RAISE_ERROR","RAND","RANDN","RANDOM","REFLECT","REGEXP_EXTRACT","REGEXP_EXTRACT_ALL","REGEXP_LIKE","REGEXP_REPLACE","REPEAT","REPLACE","REVERSE","RIGHT","RINT","ROUND","RPAD","RTRIM","SCHEMA_OF_CSV","SENTENCES","SHA","SHA1","SHA2","SHIFTLEFT","SHIFTRIGHT","SHIFTRIGHTUNSIGNED","SIGN","SIGNUM","SIN","SINH","SOUNDEX","SPACE","SPARK_PARTITION_ID","SPLIT","SQRT","STACK","SUBSTR","SUBSTRING","SUBSTRING_INDEX","TAN","TANH","TO_CSV","TRANSFORM_KEYS","TRANSFORM_VALUES","TRANSLATE","TRIM","TRY_ADD","TRY_DIVIDE","TYPEOF","UCASE","UNBASE64","UNHEX","UPPER","UUID","VERSION","WIDTH_BUCKET","XPATH","XPATH_BOOLEAN","XPATH_DOUBLE","XPATH_FLOAT","XPATH_INT","XPATH_LONG","XPATH_NUMBER","XPATH_SHORT","XPATH_STRING","XXHASH64","ZIP_WITH","CAST","COALESCE","NULLIF"],l_=d(["SELECT [ALL | DISTINCT]"]),__=d(["WITH","FROM","WHERE","GROUP BY","HAVING","WINDOW","PARTITION BY","ORDER BY","SORT BY","CLUSTER BY","DISTRIBUTE BY","LIMIT","INSERT [INTO | OVERWRITE] [TABLE]","VALUES","INSERT OVERWRITE [LOCAL] DIRECTORY","LOAD DATA [LOCAL] INPATH","[OVERWRITE] INTO TABLE"]),$n=d(["CREATE [EXTERNAL] TABLE [IF NOT EXISTS]","CREATE [OR REPLACE] [GLOBAL TEMPORARY | TEMPORARY] VIEW [IF NOT EXISTS]","DROP TABLE [IF EXISTS]","ALTER TABLE","ADD COLUMNS","DROP {COLUMN | COLUMNS}","RENAME TO","RENAME COLUMN","ALTER COLUMN","TRUNCATE TABLE","LATERAL VIEW","ALTER DATABASE","ALTER VIEW","CREATE DATABASE","CREATE FUNCTION","DROP DATABASE","DROP FUNCTION","DROP VIEW","REPAIR TABLE","USE DATABASE","TABLESAMPLE","PIVOT","TRANSFORM","EXPLAIN","ADD FILE","ADD JAR","ANALYZE TABLE","CACHE TABLE","CLEAR CACHE","DESCRIBE DATABASE","DESCRIBE FUNCTION","DESCRIBE QUERY","DESCRIBE TABLE","LIST FILE","LIST JAR","REFRESH","REFRESH TABLE","REFRESH FUNCTION","RESET","SHOW COLUMNS","SHOW CREATE TABLE","SHOW DATABASES","SHOW FUNCTIONS","SHOW PARTITIONS","SHOW TABLE EXTENDED","SHOW TABLES","SHOW TBLPROPERTIES","SHOW VIEWS","UNCACHE TABLE"]),c_=d(["UNION [ALL | DISTINCT]","EXCEPT [ALL | DISTINCT]","INTERSECT [ALL | DISTINCT]"]),C_=d(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN","[LEFT] {ANTI | SEMI} JOIN","NATURAL [LEFT] {ANTI | SEMI} JOIN"]),L_=d(["ON DELETE","ON UPDATE","CURRENT ROW","{ROWS | RANGE} BETWEEN"]),u_={name:"spark",tokenizerOptions:{reservedSelect:l_,reservedClauses:[...__,...$n],reservedSetOperations:c_,reservedJoins:C_,reservedPhrases:L_,supportsXor:!0,reservedKeywords:O_,reservedDataTypes:I_,reservedFunctionNames:N_,extraParens:["[]"],stringTypes:["''-bs",'""-bs',{quote:"''-raw",prefixes:["R","X"],requirePrefix:!0},{quote:'""-raw',prefixes:["R","X"],requirePrefix:!0}],identTypes:["``"],variableTypes:[{quote:"{}",prefixes:["$"],requirePrefix:!0}],operators:["%","~","^","|","&","<=>","==","!","||","->"],postProcess:f_},formatOptions:{onelineClauses:$n}};function f_(e){return e.map((t,E)=>{const s=e[E-1]||cE,r=e[E+1]||cE;return Zt.WINDOW(t)&&r.type==="OPEN_PAREN"?We(Be({},t),{type:"RESERVED_FUNCTION_NAME"}):t.text==="ITEMS"&&t.type==="RESERVED_KEYWORD"&&!(s.text==="COLLECTION"&&r.text==="TERMINATED")?We(Be({},t),{type:"IDENTIFIER",text:t.raw}):t})}var p_=["ABS","CHANGES","CHAR","COALESCE","FORMAT","GLOB","HEX","IFNULL","IIF","INSTR","LAST_INSERT_ROWID","LENGTH","LIKE","LIKELIHOOD","LIKELY","LOAD_EXTENSION","LOWER","LTRIM","NULLIF","PRINTF","QUOTE","RANDOM","RANDOMBLOB","REPLACE","ROUND","RTRIM","SIGN","SOUNDEX","SQLITE_COMPILEOPTION_GET","SQLITE_COMPILEOPTION_USED","SQLITE_OFFSET","SQLITE_SOURCE_ID","SQLITE_VERSION","SUBSTR","SUBSTRING","TOTAL_CHANGES","TRIM","TYPEOF","UNICODE","UNLIKELY","UPPER","ZEROBLOB","AVG","COUNT","GROUP_CONCAT","MAX","MIN","SUM","TOTAL","DATE","TIME","DATETIME","JULIANDAY","UNIXEPOCH","STRFTIME","row_number","rank","dense_rank","percent_rank","cume_dist","ntile","lag","lead","first_value","last_value","nth_value","ACOS","ACOSH","ASIN","ASINH","ATAN","ATAN2","ATANH","CEIL","CEILING","COS","COSH","DEGREES","EXP","FLOOR","LN","LOG","LOG","LOG10","LOG2","MOD","PI","POW","POWER","RADIANS","SIN","SINH","SQRT","TAN","TANH","TRUNC","JSON","JSON_ARRAY","JSON_ARRAY_LENGTH","JSON_ARRAY_LENGTH","JSON_EXTRACT","JSON_INSERT","JSON_OBJECT","JSON_PATCH","JSON_REMOVE","JSON_REPLACE","JSON_SET","JSON_TYPE","JSON_TYPE","JSON_VALID","JSON_QUOTE","JSON_GROUP_ARRAY","JSON_GROUP_OBJECT","JSON_EACH","JSON_TREE","CAST"],P_=["ABORT","ACTION","ADD","AFTER","ALL","ALTER","AND","ARE","ALWAYS","ANALYZE","AS","ASC","ATTACH","AUTOINCREMENT","BEFORE","BEGIN","BETWEEN","BY","CASCADE","CASE","CAST","CHECK","COLLATE","COLUMN","COMMIT","CONFLICT","CONSTRAINT","CREATE","CROSS","CURRENT","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","DATABASE","DEFAULT","DEFERRABLE","DEFERRED","DELETE","DESC","DETACH","DISTINCT","DO","DROP","EACH","ELSE","END","ESCAPE","EXCEPT","EXCLUDE","EXCLUSIVE","EXISTS","EXPLAIN","FAIL","FILTER","FIRST","FOLLOWING","FOR","FOREIGN","FROM","FULL","GENERATED","GLOB","GROUP","GROUPS","HAVING","IF","IGNORE","IMMEDIATE","IN","INDEX","INDEXED","INITIALLY","INNER","INSERT","INSTEAD","INTERSECT","INTO","IS","ISNULL","JOIN","KEY","LAST","LEFT","LIKE","LIMIT","MATCH","MATERIALIZED","NATURAL","NO","NOT","NOTHING","NOTNULL","NULL","NULLS","OF","OFFSET","ON","ONLY","OPEN","OR","ORDER","OTHERS","OUTER","OVER","PARTITION","PLAN","PRAGMA","PRECEDING","PRIMARY","QUERY","RAISE","RANGE","RECURSIVE","REFERENCES","REGEXP","REINDEX","RELEASE","RENAME","REPLACE","RESTRICT","RETURNING","RIGHT","ROLLBACK","ROW","ROWS","SAVEPOINT","SELECT","SET","TABLE","TEMP","TEMPORARY","THEN","TIES","TO","TRANSACTION","TRIGGER","UNBOUNDED","UNION","UNIQUE","UPDATE","USING","VACUUM","VALUES","VIEW","VIRTUAL","WHEN","WHERE","WINDOW","WITH","WITHOUT"],D_=["ANY","ARRAY","BLOB","CHARACTER","DECIMAL","INT","INTEGER","NATIVE CHARACTER","NCHAR","NUMERIC","NVARCHAR","REAL","TEXT","VARCHAR","VARYING CHARACTER"],d_=d(["SELECT [ALL | DISTINCT]"]),M_=d(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY","HAVING","WINDOW","PARTITION BY","ORDER BY","LIMIT","OFFSET","INSERT [OR ABORT | OR FAIL | OR IGNORE | OR REPLACE | OR ROLLBACK] INTO","REPLACE INTO","VALUES","SET"]),Kn=d(["CREATE [TEMPORARY | TEMP] TABLE [IF NOT EXISTS]","CREATE [TEMPORARY | TEMP] VIEW [IF NOT EXISTS]","UPDATE [OR ABORT | OR FAIL | OR IGNORE | OR REPLACE | OR ROLLBACK]","ON CONFLICT","DELETE FROM","DROP TABLE [IF EXISTS]","ALTER TABLE","ADD [COLUMN]","DROP [COLUMN]","RENAME [COLUMN]","RENAME TO","SET SCHEMA"]),U_=d(["UNION [ALL]","EXCEPT","INTERSECT"]),h_=d(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"]),g_=d(["ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]","{ROWS | RANGE | GROUPS} BETWEEN"]),G_={name:"sqlite",tokenizerOptions:{reservedSelect:d_,reservedClauses:[...M_,...Kn],reservedSetOperations:U_,reservedJoins:h_,reservedPhrases:g_,reservedKeywords:P_,reservedDataTypes:D_,reservedFunctionNames:p_,stringTypes:["''-qq",{quote:"''-raw",prefixes:["X"],requirePrefix:!0}],identTypes:['""-qq',"``","[]"],paramTypes:{positional:!0,numbered:["?"],named:[":","@","$"]},operators:["%","~","&","|","<<",">>","==","->","->>","||"]},formatOptions:{onelineClauses:Kn}},m_=["GROUPING","RANK","DENSE_RANK","PERCENT_RANK","CUME_DIST","ROW_NUMBER","POSITION","OCCURRENCES_REGEX","POSITION_REGEX","EXTRACT","CHAR_LENGTH","CHARACTER_LENGTH","OCTET_LENGTH","CARDINALITY","ABS","MOD","LN","EXP","POWER","SQRT","FLOOR","CEIL","CEILING","WIDTH_BUCKET","SUBSTRING","SUBSTRING_REGEX","UPPER","LOWER","CONVERT","TRANSLATE","TRANSLATE_REGEX","TRIM","OVERLAY","NORMALIZE","SPECIFICTYPE","CURRENT_DATE","CURRENT_TIME","LOCALTIME","CURRENT_TIMESTAMP","LOCALTIMESTAMP","COUNT","AVG","MAX","MIN","SUM","STDDEV_POP","STDDEV_SAMP","VAR_SAMP","VAR_POP","COLLECT","FUSION","INTERSECTION","COVAR_POP","COVAR_SAMP","CORR","REGR_SLOPE","REGR_INTERCEPT","REGR_COUNT","REGR_R2","REGR_AVGX","REGR_AVGY","REGR_SXX","REGR_SYY","REGR_SXY","PERCENTILE_CONT","PERCENTILE_DISC","CAST","COALESCE","NULLIF","ROUND","SIN","COS","TAN","ASIN","ACOS","ATAN"],y_=["ALL","ALLOCATE","ALTER","ANY","ARE","AS","ASENSITIVE","ASYMMETRIC","AT","ATOMIC","AUTHORIZATION","BEGIN","BETWEEN","BOTH","BY","CALL","CALLED","CASCADED","CAST","CHECK","CLOSE","COALESCE","COLLATE","COLUMN","COMMIT","CONDITION","CONNECT","CONSTRAINT","CORRESPONDING","CREATE","CROSS","CUBE","CURRENT","CURRENT_CATALOG","CURRENT_DEFAULT_TRANSFORM_GROUP","CURRENT_PATH","CURRENT_ROLE","CURRENT_SCHEMA","CURRENT_TRANSFORM_GROUP_FOR_TYPE","CURRENT_USER","CURSOR","CYCLE","DEALLOCATE","DAY","DECLARE","DEFAULT","DELETE","DEREF","DESCRIBE","DETERMINISTIC","DISCONNECT","DISTINCT","DROP","DYNAMIC","EACH","ELEMENT","END-EXEC","ESCAPE","EVERY","EXCEPT","EXEC","EXECUTE","EXISTS","EXTERNAL","FALSE","FETCH","FILTER","FOR","FOREIGN","FREE","FROM","FULL","FUNCTION","GET","GLOBAL","GRANT","GROUP","HAVING","HOLD","HOUR","IDENTITY","IN","INDICATOR","INNER","INOUT","INSENSITIVE","INSERT","INTERSECT","INTO","IS","LANGUAGE","LARGE","LATERAL","LEADING","LEFT","LIKE","LIKE_REGEX","LOCAL","MATCH","MEMBER","MERGE","METHOD","MINUTE","MODIFIES","MODULE","MONTH","NATURAL","NEW","NO","NONE","NOT","NULL","NULLIF","OF","OLD","ON","ONLY","OPEN","ORDER","OUT","OUTER","OVER","OVERLAPS","PARAMETER","PARTITION","PRECISION","PREPARE","PRIMARY","PROCEDURE","RANGE","READS","REAL","RECURSIVE","REF","REFERENCES","REFERENCING","RELEASE","RESULT","RETURN","RETURNS","REVOKE","RIGHT","ROLLBACK","ROLLUP","ROW","ROWS","SAVEPOINT","SCOPE","SCROLL","SEARCH","SECOND","SELECT","SENSITIVE","SESSION_USER","SET","SIMILAR","SOME","SPECIFIC","SQL","SQLEXCEPTION","SQLSTATE","SQLWARNING","START","STATIC","SUBMULTISET","SYMMETRIC","SYSTEM","SYSTEM_USER","TABLE","TABLESAMPLE","THEN","TIMEZONE_HOUR","TIMEZONE_MINUTE","TO","TRAILING","TRANSLATION","TREAT","TRIGGER","TRUE","UESCAPE","UNION","UNIQUE","UNKNOWN","UNNEST","UPDATE","USER","USING","VALUE","VALUES","WHENEVER","WINDOW","WITHIN","WITHOUT","YEAR"],b_=["ARRAY","BIGINT","BINARY LARGE OBJECT","BINARY VARYING","BINARY","BLOB","BOOLEAN","CHAR LARGE OBJECT","CHAR VARYING","CHAR","CHARACTER LARGE OBJECT","CHARACTER VARYING","CHARACTER","CLOB","DATE","DEC","DECIMAL","DOUBLE","FLOAT","INT","INTEGER","INTERVAL","MULTISET","NATIONAL CHAR VARYING","NATIONAL CHAR","NATIONAL CHARACTER LARGE OBJECT","NATIONAL CHARACTER VARYING","NATIONAL CHARACTER","NCHAR LARGE OBJECT","NCHAR VARYING","NCHAR","NCLOB","NUMERIC","SMALLINT","TIME","TIMESTAMP","VARBINARY","VARCHAR"],H_=d(["SELECT [ALL | DISTINCT]"]),B_=d(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY [ALL | DISTINCT]","HAVING","WINDOW","PARTITION BY","ORDER BY","LIMIT","OFFSET","FETCH {FIRST | NEXT}","INSERT INTO","VALUES","SET"]),Jn=d(["CREATE [GLOBAL TEMPORARY | LOCAL TEMPORARY] TABLE","CREATE [RECURSIVE] VIEW","UPDATE","WHERE CURRENT OF","DELETE FROM","DROP TABLE","ALTER TABLE","ADD COLUMN","DROP [COLUMN]","RENAME COLUMN","RENAME TO","ALTER [COLUMN]","{SET | DROP} DEFAULT","ADD SCOPE","DROP SCOPE {CASCADE | RESTRICT}","RESTART WITH","TRUNCATE TABLE","SET SCHEMA"]),v_=d(["UNION [ALL | DISTINCT]","EXCEPT [ALL | DISTINCT]","INTERSECT [ALL | DISTINCT]"]),F_=d(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"]),Y_=d(["ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]","{ROWS | RANGE} BETWEEN"]),V_={name:"sql",tokenizerOptions:{reservedSelect:H_,reservedClauses:[...B_,...Jn],reservedSetOperations:v_,reservedJoins:F_,reservedPhrases:Y_,reservedKeywords:y_,reservedDataTypes:b_,reservedFunctionNames:m_,stringTypes:[{quote:"''-qq-bs",prefixes:["N","U&"]},{quote:"''-raw",prefixes:["X"],requirePrefix:!0}],identTypes:['""-qq',"``"],paramTypes:{positional:!0},operators:["||"]},formatOptions:{onelineClauses:Jn}},x_=["ABS","ACOS","ALL_MATCH","ANY_MATCH","APPROX_DISTINCT","APPROX_MOST_FREQUENT","APPROX_PERCENTILE","APPROX_SET","ARBITRARY","ARRAYS_OVERLAP","ARRAY_AGG","ARRAY_DISTINCT","ARRAY_EXCEPT","ARRAY_INTERSECT","ARRAY_JOIN","ARRAY_MAX","ARRAY_MIN","ARRAY_POSITION","ARRAY_REMOVE","ARRAY_SORT","ARRAY_UNION","ASIN","ATAN","ATAN2","AT_TIMEZONE","AVG","BAR","BETA_CDF","BING_TILE","BING_TILES_AROUND","BING_TILE_AT","BING_TILE_COORDINATES","BING_TILE_POLYGON","BING_TILE_QUADKEY","BING_TILE_ZOOM_LEVEL","BITWISE_AND","BITWISE_AND_AGG","BITWISE_LEFT_SHIFT","BITWISE_NOT","BITWISE_OR","BITWISE_OR_AGG","BITWISE_RIGHT_SHIFT","BITWISE_RIGHT_SHIFT_ARITHMETIC","BITWISE_XOR","BIT_COUNT","BOOL_AND","BOOL_OR","CARDINALITY","CAST","CBRT","CEIL","CEILING","CHAR2HEXINT","CHECKSUM","CHR","CLASSIFY","COALESCE","CODEPOINT","COLOR","COMBINATIONS","CONCAT","CONCAT_WS","CONTAINS","CONTAINS_SEQUENCE","CONVEX_HULL_AGG","CORR","COS","COSH","COSINE_SIMILARITY","COUNT","COUNT_IF","COVAR_POP","COVAR_SAMP","CRC32","CUME_DIST","CURRENT_CATALOG","CURRENT_DATE","CURRENT_GROUPS","CURRENT_SCHEMA","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_TIMEZONE","CURRENT_USER","DATE","DATE_ADD","DATE_DIFF","DATE_FORMAT","DATE_PARSE","DATE_TRUNC","DAY","DAY_OF_MONTH","DAY_OF_WEEK","DAY_OF_YEAR","DEGREES","DENSE_RANK","DOW","DOY","E","ELEMENT_AT","EMPTY_APPROX_SET","EVALUATE_CLASSIFIER_PREDICTIONS","EVERY","EXP","EXTRACT","FEATURES","FILTER","FIRST_VALUE","FLATTEN","FLOOR","FORMAT","FORMAT_DATETIME","FORMAT_NUMBER","FROM_BASE","FROM_BASE32","FROM_BASE64","FROM_BASE64URL","FROM_BIG_ENDIAN_32","FROM_BIG_ENDIAN_64","FROM_ENCODED_POLYLINE","FROM_GEOJSON_GEOMETRY","FROM_HEX","FROM_IEEE754_32","FROM_IEEE754_64","FROM_ISO8601_DATE","FROM_ISO8601_TIMESTAMP","FROM_ISO8601_TIMESTAMP_NANOS","FROM_UNIXTIME","FROM_UNIXTIME_NANOS","FROM_UTF8","GEOMETRIC_MEAN","GEOMETRY_FROM_HADOOP_SHAPE","GEOMETRY_INVALID_REASON","GEOMETRY_NEAREST_POINTS","GEOMETRY_TO_BING_TILES","GEOMETRY_UNION","GEOMETRY_UNION_AGG","GREATEST","GREAT_CIRCLE_DISTANCE","HAMMING_DISTANCE","HASH_COUNTS","HISTOGRAM","HMAC_MD5","HMAC_SHA1","HMAC_SHA256","HMAC_SHA512","HOUR","HUMAN_READABLE_SECONDS","IF","INDEX","INFINITY","INTERSECTION_CARDINALITY","INVERSE_BETA_CDF","INVERSE_NORMAL_CDF","IS_FINITE","IS_INFINITE","IS_JSON_SCALAR","IS_NAN","JACCARD_INDEX","JSON_ARRAY_CONTAINS","JSON_ARRAY_GET","JSON_ARRAY_LENGTH","JSON_EXISTS","JSON_EXTRACT","JSON_EXTRACT_SCALAR","JSON_FORMAT","JSON_PARSE","JSON_QUERY","JSON_SIZE","JSON_VALUE","KURTOSIS","LAG","LAST_DAY_OF_MONTH","LAST_VALUE","LEAD","LEARN_CLASSIFIER","LEARN_LIBSVM_CLASSIFIER","LEARN_LIBSVM_REGRESSOR","LEARN_REGRESSOR","LEAST","LENGTH","LEVENSHTEIN_DISTANCE","LINE_INTERPOLATE_POINT","LINE_INTERPOLATE_POINTS","LINE_LOCATE_POINT","LISTAGG","LN","LOCALTIME","LOCALTIMESTAMP","LOG","LOG10","LOG2","LOWER","LPAD","LTRIM","LUHN_CHECK","MAKE_SET_DIGEST","MAP","MAP_AGG","MAP_CONCAT","MAP_ENTRIES","MAP_FILTER","MAP_FROM_ENTRIES","MAP_KEYS","MAP_UNION","MAP_VALUES","MAP_ZIP_WITH","MAX","MAX_BY","MD5","MERGE","MERGE_SET_DIGEST","MILLISECOND","MIN","MINUTE","MIN_BY","MOD","MONTH","MULTIMAP_AGG","MULTIMAP_FROM_ENTRIES","MURMUR3","NAN","NGRAMS","NONE_MATCH","NORMALIZE","NORMAL_CDF","NOW","NTH_VALUE","NTILE","NULLIF","NUMERIC_HISTOGRAM","OBJECTID","OBJECTID_TIMESTAMP","PARSE_DATA_SIZE","PARSE_DATETIME","PARSE_DURATION","PERCENT_RANK","PI","POSITION","POW","POWER","QDIGEST_AGG","QUARTER","RADIANS","RAND","RANDOM","RANK","REDUCE","REDUCE_AGG","REGEXP_COUNT","REGEXP_EXTRACT","REGEXP_EXTRACT_ALL","REGEXP_LIKE","REGEXP_POSITION","REGEXP_REPLACE","REGEXP_SPLIT","REGRESS","REGR_INTERCEPT","REGR_SLOPE","RENDER","REPEAT","REPLACE","REVERSE","RGB","ROUND","ROW_NUMBER","RPAD","RTRIM","SECOND","SEQUENCE","SHA1","SHA256","SHA512","SHUFFLE","SIGN","SIMPLIFY_GEOMETRY","SIN","SKEWNESS","SLICE","SOUNDEX","SPATIAL_PARTITIONING","SPATIAL_PARTITIONS","SPLIT","SPLIT_PART","SPLIT_TO_MAP","SPLIT_TO_MULTIMAP","SPOOKY_HASH_V2_32","SPOOKY_HASH_V2_64","SQRT","STARTS_WITH","STDDEV","STDDEV_POP","STDDEV_SAMP","STRPOS","ST_AREA","ST_ASBINARY","ST_ASTEXT","ST_BOUNDARY","ST_BUFFER","ST_CENTROID","ST_CONTAINS","ST_CONVEXHULL","ST_COORDDIM","ST_CROSSES","ST_DIFFERENCE","ST_DIMENSION","ST_DISJOINT","ST_DISTANCE","ST_ENDPOINT","ST_ENVELOPE","ST_ENVELOPEASPTS","ST_EQUALS","ST_EXTERIORRING","ST_GEOMETRIES","ST_GEOMETRYFROMTEXT","ST_GEOMETRYN","ST_GEOMETRYTYPE","ST_GEOMFROMBINARY","ST_INTERIORRINGN","ST_INTERIORRINGS","ST_INTERSECTION","ST_INTERSECTS","ST_ISCLOSED","ST_ISEMPTY","ST_ISRING","ST_ISSIMPLE","ST_ISVALID","ST_LENGTH","ST_LINEFROMTEXT","ST_LINESTRING","ST_MULTIPOINT","ST_NUMGEOMETRIES","ST_NUMINTERIORRING","ST_NUMPOINTS","ST_OVERLAPS","ST_POINT","ST_POINTN","ST_POINTS","ST_POLYGON","ST_RELATE","ST_STARTPOINT","ST_SYMDIFFERENCE","ST_TOUCHES","ST_UNION","ST_WITHIN","ST_X","ST_XMAX","ST_XMIN","ST_Y","ST_YMAX","ST_YMIN","SUBSTR","SUBSTRING","SUM","TAN","TANH","TDIGEST_AGG","TIMESTAMP_OBJECTID","TIMEZONE_HOUR","TIMEZONE_MINUTE","TO_BASE","TO_BASE32","TO_BASE64","TO_BASE64URL","TO_BIG_ENDIAN_32","TO_BIG_ENDIAN_64","TO_CHAR","TO_DATE","TO_ENCODED_POLYLINE","TO_GEOJSON_GEOMETRY","TO_GEOMETRY","TO_HEX","TO_IEEE754_32","TO_IEEE754_64","TO_ISO8601","TO_MILLISECONDS","TO_SPHERICAL_GEOGRAPHY","TO_TIMESTAMP","TO_UNIXTIME","TO_UTF8","TRANSFORM","TRANSFORM_KEYS","TRANSFORM_VALUES","TRANSLATE","TRIM","TRIM_ARRAY","TRUNCATE","TRY","TRY_CAST","TYPEOF","UPPER","URL_DECODE","URL_ENCODE","URL_EXTRACT_FRAGMENT","URL_EXTRACT_HOST","URL_EXTRACT_PARAMETER","URL_EXTRACT_PATH","URL_EXTRACT_PORT","URL_EXTRACT_PROTOCOL","URL_EXTRACT_QUERY","UUID","VALUES_AT_QUANTILES","VALUE_AT_QUANTILE","VARIANCE","VAR_POP","VAR_SAMP","VERSION","WEEK","WEEK_OF_YEAR","WIDTH_BUCKET","WILSON_INTERVAL_LOWER","WILSON_INTERVAL_UPPER","WITH_TIMEZONE","WORD_STEM","XXHASH64","YEAR","YEAR_OF_WEEK","YOW","ZIP","ZIP_WITH","CLASSIFIER","FIRST","LAST","MATCH_NUMBER","NEXT","PERMUTE","PREV"],w_=["ABSENT","ADD","ADMIN","AFTER","ALL","ALTER","ANALYZE","AND","ANY","AS","ASC","AT","AUTHORIZATION","BERNOULLI","BETWEEN","BOTH","BY","CALL","CASCADE","CASE","CATALOGS","COLUMN","COLUMNS","COMMENT","COMMIT","COMMITTED","CONDITIONAL","CONSTRAINT","COPARTITION","CREATE","CROSS","CUBE","CURRENT","CURRENT_PATH","CURRENT_ROLE","DATA","DEALLOCATE","DEFAULT","DEFINE","DEFINER","DELETE","DENY","DESC","DESCRIBE","DESCRIPTOR","DISTINCT","DISTRIBUTED","DOUBLE","DROP","ELSE","EMPTY","ENCODING","END","ERROR","ESCAPE","EXCEPT","EXCLUDING","EXECUTE","EXISTS","EXPLAIN","FALSE","FETCH","FINAL","FIRST","FOLLOWING","FOR","FROM","FULL","FUNCTIONS","GRANT","GRANTED","GRANTS","GRAPHVIZ","GROUP","GROUPING","GROUPS","HAVING","IGNORE","IN","INCLUDING","INITIAL","INNER","INPUT","INSERT","INTERSECT","INTERVAL","INTO","INVOKER","IO","IS","ISOLATION","JOIN","JSON","JSON_ARRAY","JSON_OBJECT","KEEP","KEY","KEYS","LAST","LATERAL","LEADING","LEFT","LEVEL","LIKE","LIMIT","LOCAL","LOGICAL","MATCH","MATCHED","MATCHES","MATCH_RECOGNIZE","MATERIALIZED","MEASURES","NATURAL","NEXT","NFC","NFD","NFKC","NFKD","NO","NONE","NOT","NULL","NULLS","OBJECT","OF","OFFSET","OMIT","ON","ONE","ONLY","OPTION","OR","ORDER","ORDINALITY","OUTER","OUTPUT","OVER","OVERFLOW","PARTITION","PARTITIONS","PASSING","PAST","PATH","PATTERN","PER","PERMUTE","PRECEDING","PRECISION","PREPARE","PRIVILEGES","PROPERTIES","PRUNE","QUOTES","RANGE","READ","RECURSIVE","REFRESH","RENAME","REPEATABLE","RESET","RESPECT","RESTRICT","RETURNING","REVOKE","RIGHT","ROLE","ROLES","ROLLBACK","ROLLUP","ROW","ROWS","RUNNING","SCALAR","SCHEMA","SCHEMAS","SECURITY","SEEK","SELECT","SERIALIZABLE","SESSION","SET","SETS","SHOW","SKIP","SOME","START","STATS","STRING","SUBSET","SYSTEM","TABLE","TABLES","TABLESAMPLE","TEXT","THEN","TIES","TIME","TIMESTAMP","TO","TRAILING","TRANSACTION","TRUE","TYPE","UESCAPE","UNBOUNDED","UNCOMMITTED","UNCONDITIONAL","UNION","UNIQUE","UNKNOWN","UNMATCHED","UNNEST","UPDATE","USE","USER","USING","UTF16","UTF32","UTF8","VALIDATE","VALUE","VALUES","VERBOSE","VIEW","WHEN","WHERE","WINDOW","WITH","WITHIN","WITHOUT","WORK","WRAPPER","WRITE","ZONE"],W_=["BIGINT","INT","INTEGER","SMALLINT","TINYINT","BOOLEAN","DATE","DECIMAL","REAL","DOUBLE","HYPERLOGLOG","QDIGEST","TDIGEST","P4HYPERLOGLOG","INTERVAL","TIMESTAMP","TIME","VARBINARY","VARCHAR","CHAR","ROW","ARRAY","MAP","JSON","JSON2016","IPADDRESS","GEOMETRY","UUID","SETDIGEST","JONIREGEXP","RE2JREGEXP","LIKEPATTERN","COLOR","CODEPOINTS","FUNCTION","JSONPATH"],X_=d(["SELECT [ALL | DISTINCT]"]),$_=d(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY [ALL | DISTINCT]","HAVING","WINDOW","PARTITION BY","ORDER BY","LIMIT","OFFSET","FETCH {FIRST | NEXT}","INSERT INTO","VALUES","SET","MATCH_RECOGNIZE","MEASURES","ONE ROW PER MATCH","ALL ROWS PER MATCH","AFTER MATCH","PATTERN","SUBSET","DEFINE"]),kn=d(["CREATE TABLE [IF NOT EXISTS]","CREATE [OR REPLACE] [MATERIALIZED] VIEW","UPDATE","DELETE FROM","DROP TABLE [IF EXISTS]","ALTER TABLE [IF EXISTS]","ADD COLUMN [IF NOT EXISTS]","DROP COLUMN [IF EXISTS]","RENAME COLUMN [IF EXISTS]","RENAME TO","SET AUTHORIZATION [USER | ROLE]","SET PROPERTIES","EXECUTE","TRUNCATE TABLE","ALTER SCHEMA","ALTER MATERIALIZED VIEW","ALTER VIEW","CREATE SCHEMA","CREATE ROLE","DROP SCHEMA","DROP MATERIALIZED VIEW","DROP VIEW","DROP ROLE","EXPLAIN","ANALYZE","EXPLAIN ANALYZE","EXPLAIN ANALYZE VERBOSE","USE","DESCRIBE INPUT","DESCRIBE OUTPUT","REFRESH MATERIALIZED VIEW","RESET SESSION","SET SESSION","SET PATH","SET TIME ZONE","SHOW GRANTS","SHOW CREATE TABLE","SHOW CREATE SCHEMA","SHOW CREATE VIEW","SHOW CREATE MATERIALIZED VIEW","SHOW TABLES","SHOW SCHEMAS","SHOW CATALOGS","SHOW COLUMNS","SHOW STATS FOR","SHOW ROLES","SHOW CURRENT ROLES","SHOW ROLE GRANTS","SHOW FUNCTIONS","SHOW SESSION"]),K_=d(["UNION [ALL | DISTINCT]","EXCEPT [ALL | DISTINCT]","INTERSECT [ALL | DISTINCT]"]),J_=d(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"]),k_=d(["{ROWS | RANGE | GROUPS} BETWEEN","IS [NOT] DISTINCT FROM"]),j_={name:"trino",tokenizerOptions:{reservedSelect:X_,reservedClauses:[...$_,...kn],reservedSetOperations:K_,reservedJoins:J_,reservedPhrases:k_,reservedKeywords:w_,reservedDataTypes:W_,reservedFunctionNames:x_,extraParens:["[]","{}"],stringTypes:[{quote:"''-qq",prefixes:["U&"]},{quote:"''-raw",prefixes:["X"],requirePrefix:!0}],identTypes:['""-qq'],paramTypes:{positional:!0},operators:["%","->","=>",":","||","|","^","$"]},formatOptions:{onelineClauses:kn}},q_=["APPROX_COUNT_DISTINCT","AVG","CHECKSUM_AGG","COUNT","COUNT_BIG","GROUPING","GROUPING_ID","MAX","MIN","STDEV","STDEVP","SUM","VAR","VARP","CUME_DIST","FIRST_VALUE","LAG","LAST_VALUE","LEAD","PERCENTILE_CONT","PERCENTILE_DISC","PERCENT_RANK","Collation - COLLATIONPROPERTY","Collation - TERTIARY_WEIGHTS","@@DBTS","@@LANGID","@@LANGUAGE","@@LOCK_TIMEOUT","@@MAX_CONNECTIONS","@@MAX_PRECISION","@@NESTLEVEL","@@OPTIONS","@@REMSERVER","@@SERVERNAME","@@SERVICENAME","@@SPID","@@TEXTSIZE","@@VERSION","CAST","CONVERT","PARSE","TRY_CAST","TRY_CONVERT","TRY_PARSE","ASYMKEY_ID","ASYMKEYPROPERTY","CERTPROPERTY","CERT_ID","CRYPT_GEN_RANDOM","DECRYPTBYASYMKEY","DECRYPTBYCERT","DECRYPTBYKEY","DECRYPTBYKEYAUTOASYMKEY","DECRYPTBYKEYAUTOCERT","DECRYPTBYPASSPHRASE","ENCRYPTBYASYMKEY","ENCRYPTBYCERT","ENCRYPTBYKEY","ENCRYPTBYPASSPHRASE","HASHBYTES","IS_OBJECTSIGNED","KEY_GUID","KEY_ID","KEY_NAME","SIGNBYASYMKEY","SIGNBYCERT","SYMKEYPROPERTY","VERIFYSIGNEDBYCERT","VERIFYSIGNEDBYASYMKEY","@@CURSOR_ROWS","@@FETCH_STATUS","CURSOR_STATUS","DATALENGTH","IDENT_CURRENT","IDENT_INCR","IDENT_SEED","IDENTITY","SQL_VARIANT_PROPERTY","@@DATEFIRST","CURRENT_TIMESTAMP","CURRENT_TIMEZONE","CURRENT_TIMEZONE_ID","DATEADD","DATEDIFF","DATEDIFF_BIG","DATEFROMPARTS","DATENAME","DATEPART","DATETIME2FROMPARTS","DATETIMEFROMPARTS","DATETIMEOFFSETFROMPARTS","DAY","EOMONTH","GETDATE","GETUTCDATE","ISDATE","MONTH","SMALLDATETIMEFROMPARTS","SWITCHOFFSET","SYSDATETIME","SYSDATETIMEOFFSET","SYSUTCDATETIME","TIMEFROMPARTS","TODATETIMEOFFSET","YEAR","JSON","ISJSON","JSON_VALUE","JSON_QUERY","JSON_MODIFY","ABS","ACOS","ASIN","ATAN","ATN2","CEILING","COS","COT","DEGREES","EXP","FLOOR","LOG","LOG10","PI","POWER","RADIANS","RAND","ROUND","SIGN","SIN","SQRT","SQUARE","TAN","CHOOSE","GREATEST","IIF","LEAST","@@PROCID","APP_NAME","APPLOCK_MODE","APPLOCK_TEST","ASSEMBLYPROPERTY","COL_LENGTH","COL_NAME","COLUMNPROPERTY","DATABASEPROPERTYEX","DB_ID","DB_NAME","FILE_ID","FILE_IDEX","FILE_NAME","FILEGROUP_ID","FILEGROUP_NAME","FILEGROUPPROPERTY","FILEPROPERTY","FILEPROPERTYEX","FULLTEXTCATALOGPROPERTY","FULLTEXTSERVICEPROPERTY","INDEX_COL","INDEXKEY_PROPERTY","INDEXPROPERTY","NEXT VALUE FOR","OBJECT_DEFINITION","OBJECT_ID","OBJECT_NAME","OBJECT_SCHEMA_NAME","OBJECTPROPERTY","OBJECTPROPERTYEX","ORIGINAL_DB_NAME","PARSENAME","SCHEMA_ID","SCHEMA_NAME","SCOPE_IDENTITY","SERVERPROPERTY","STATS_DATE","TYPE_ID","TYPE_NAME","TYPEPROPERTY","DENSE_RANK","NTILE","RANK","ROW_NUMBER","PUBLISHINGSERVERNAME","CERTENCODED","CERTPRIVATEKEY","CURRENT_USER","DATABASE_PRINCIPAL_ID","HAS_DBACCESS","HAS_PERMS_BY_NAME","IS_MEMBER","IS_ROLEMEMBER","IS_SRVROLEMEMBER","LOGINPROPERTY","ORIGINAL_LOGIN","PERMISSIONS","PWDENCRYPT","PWDCOMPARE","SESSION_USER","SESSIONPROPERTY","SUSER_ID","SUSER_NAME","SUSER_SID","SUSER_SNAME","SYSTEM_USER","USER","USER_ID","USER_NAME","ASCII","CHAR","CHARINDEX","CONCAT","CONCAT_WS","DIFFERENCE","FORMAT","LEFT","LEN","LOWER","LTRIM","NCHAR","PATINDEX","QUOTENAME","REPLACE","REPLICATE","REVERSE","RIGHT","RTRIM","SOUNDEX","SPACE","STR","STRING_AGG","STRING_ESCAPE","STUFF","SUBSTRING","TRANSLATE","TRIM","UNICODE","UPPER","$PARTITION","@@ERROR","@@IDENTITY","@@PACK_RECEIVED","@@ROWCOUNT","@@TRANCOUNT","BINARY_CHECKSUM","CHECKSUM","COMPRESS","CONNECTIONPROPERTY","CONTEXT_INFO","CURRENT_REQUEST_ID","CURRENT_TRANSACTION_ID","DECOMPRESS","ERROR_LINE","ERROR_MESSAGE","ERROR_NUMBER","ERROR_PROCEDURE","ERROR_SEVERITY","ERROR_STATE","FORMATMESSAGE","GET_FILESTREAM_TRANSACTION_CONTEXT","GETANSINULL","HOST_ID","HOST_NAME","ISNULL","ISNUMERIC","MIN_ACTIVE_ROWVERSION","NEWID","NEWSEQUENTIALID","ROWCOUNT_BIG","SESSION_CONTEXT","XACT_STATE","@@CONNECTIONS","@@CPU_BUSY","@@IDLE","@@IO_BUSY","@@PACK_SENT","@@PACKET_ERRORS","@@TIMETICKS","@@TOTAL_ERRORS","@@TOTAL_READ","@@TOTAL_WRITE","TEXTPTR","TEXTVALID","COLUMNS_UPDATED","EVENTDATA","TRIGGER_NESTLEVEL","UPDATE","COALESCE","NULLIF"],Q_=["ADD","ALL","ALTER","AND","ANY","AS","ASC","AUTHORIZATION","BACKUP","BEGIN","BETWEEN","BREAK","BROWSE","BULK","BY","CASCADE","CHECK","CHECKPOINT","CLOSE","CLUSTERED","COALESCE","COLLATE","COLUMN","COMMIT","COMPUTE","CONSTRAINT","CONTAINS","CONTAINSTABLE","CONTINUE","CONVERT","CREATE","CROSS","CURRENT","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURSOR","DATABASE","DBCC","DEALLOCATE","DECLARE","DEFAULT","DELETE","DENY","DESC","DISK","DISTINCT","DISTRIBUTED","DROP","DUMP","ERRLVL","ESCAPE","EXEC","EXECUTE","EXISTS","EXIT","EXTERNAL","FETCH","FILE","FILLFACTOR","FOR","FOREIGN","FREETEXT","FREETEXTTABLE","FROM","FULL","FUNCTION","GOTO","GRANT","GROUP","HAVING","HOLDLOCK","IDENTITY","IDENTITYCOL","IDENTITY_INSERT","IF","IN","INDEX","INNER","INSERT","INTERSECT","INTO","IS","JOIN","KEY","KILL","LEFT","LIKE","LINENO","LOAD","MERGE","NOCHECK","NONCLUSTERED","NOT","NULL","NULLIF","OF","OFF","OFFSETS","ON","OPEN","OPENDATASOURCE","OPENQUERY","OPENROWSET","OPENXML","OPTION","OR","ORDER","OUTER","OVER","PERCENT","PIVOT","PLAN","PRIMARY","PRINT","PROC","PROCEDURE","PUBLIC","RAISERROR","READ","READTEXT","RECONFIGURE","REFERENCES","REPLICATION","RESTORE","RESTRICT","RETURN","REVERT","REVOKE","RIGHT","ROLLBACK","ROWCOUNT","ROWGUIDCOL","RULE","SAVE","SCHEMA","SECURITYAUDIT","SELECT","SEMANTICKEYPHRASETABLE","SEMANTICSIMILARITYDETAILSTABLE","SEMANTICSIMILARITYTABLE","SESSION_USER","SET","SETUSER","SHUTDOWN","SOME","STATISTICS","SYSTEM_USER","TABLE","TABLESAMPLE","TEXTSIZE","THEN","TO","TOP","TRAN","TRANSACTION","TRIGGER","TRUNCATE","TRY_CONVERT","TSEQUAL","UNION","UNIQUE","UNPIVOT","UPDATE","UPDATETEXT","USE","USER","VALUES","VIEW","WAITFOR","WHERE","WHILE","WITH","WITHIN GROUP","WRITETEXT","ABSOLUTE","ACTION","ADA","ALLOCATE","ARE","ASSERTION","AT","AVG","BIT_LENGTH","BOTH","CASCADED","CAST","CATALOG","CHARACTER_LENGTH","CHAR_LENGTH","COLLATION","CONNECT","CONNECTION","CONSTRAINTS","CORRESPONDING","COUNT","DAY","DEFERRABLE","DEFERRED","DESCRIBE","DESCRIPTOR","DIAGNOSTICS","DISCONNECT","DOMAIN","END-EXEC","EXCEPTION","EXTRACT","FALSE","FIRST","FORTRAN","FOUND","GET","GLOBAL","GO","HOUR","IMMEDIATE","INCLUDE","INDICATOR","INITIALLY","INPUT","INSENSITIVE","INTERVAL","ISOLATION","LANGUAGE","LAST","LEADING","LEVEL","LOCAL","LOWER","MATCH","MAX","MIN","MINUTE","MODULE","MONTH","NAMES","NATURAL","NEXT","NO","NONE","OCTET_LENGTH","ONLY","OUTPUT","OVERLAPS","PAD","PARTIAL","PASCAL","POSITION","PREPARE","PRESERVE","PRIOR","PRIVILEGES","RELATIVE","ROWS","SCROLL","SECOND","SECTION","SESSION","SIZE","SPACE","SQL","SQLCA","SQLCODE","SQLERROR","SQLSTATE","SQLWARNING","SUBSTRING","SUM","TEMPORARY","TIMEZONE_HOUR","TIMEZONE_MINUTE","TRAILING","TRANSLATE","TRANSLATION","TRIM","TRUE","UNKNOWN","UPPER","USAGE","VALUE","WHENEVER","WORK","WRITE","YEAR","ZONE"],Z_=["BINARY","BIT","CHAR","CHAR","CHARACTER","DATE","DATETIME2","DATETIMEOFFSET","DEC","DECIMAL","DOUBLE","FLOAT","INT","INTEGER","NATIONAL","NCHAR","NUMERIC","NVARCHAR","PRECISION","REAL","SMALLINT","TIME","TIMESTAMP","VARBINARY","VARCHAR"],z_=d(["SELECT [ALL | DISTINCT]"]),ec=d(["WITH","INTO","FROM","WHERE","GROUP BY","HAVING","WINDOW","PARTITION BY","ORDER BY","OFFSET","FETCH {FIRST | NEXT}","INSERT [INTO]","VALUES","SET","MERGE [INTO]","WHEN [NOT] MATCHED [BY TARGET | BY SOURCE] [THEN]","UPDATE SET","CREATE [OR ALTER] {PROC | PROCEDURE}"]),jn=d(["CREATE TABLE","CREATE [OR ALTER] [MATERIALIZED] VIEW","UPDATE","WHERE CURRENT OF","DELETE [FROM]","DROP TABLE [IF EXISTS]","ALTER TABLE","ADD","DROP COLUMN [IF EXISTS]","ALTER COLUMN","TRUNCATE TABLE","ADD SENSITIVITY CLASSIFICATION","ADD SIGNATURE","AGGREGATE","ANSI_DEFAULTS","ANSI_NULLS","ANSI_NULL_DFLT_OFF","ANSI_NULL_DFLT_ON","ANSI_PADDING","ANSI_WARNINGS","APPLICATION ROLE","ARITHABORT","ARITHIGNORE","ASSEMBLY","ASYMMETRIC KEY","AUTHORIZATION","AVAILABILITY GROUP","BACKUP","BACKUP CERTIFICATE","BACKUP MASTER KEY","BACKUP SERVICE MASTER KEY","BEGIN CONVERSATION TIMER","BEGIN DIALOG CONVERSATION","BROKER PRIORITY","BULK INSERT","CERTIFICATE","CLOSE MASTER KEY","CLOSE SYMMETRIC KEY","COLLATE","COLUMN ENCRYPTION KEY","COLUMN MASTER KEY","COLUMNSTORE INDEX","CONCAT_NULL_YIELDS_NULL","CONTEXT_INFO","CONTRACT","CREDENTIAL","CRYPTOGRAPHIC PROVIDER","CURSOR_CLOSE_ON_COMMIT","DATABASE","DATABASE AUDIT SPECIFICATION","DATABASE ENCRYPTION KEY","DATABASE HADR","DATABASE SCOPED CONFIGURATION","DATABASE SCOPED CREDENTIAL","DATABASE SET","DATEFIRST","DATEFORMAT","DEADLOCK_PRIORITY","DENY","DENY XML","DISABLE TRIGGER","ENABLE TRIGGER","END CONVERSATION","ENDPOINT","EVENT NOTIFICATION","EVENT SESSION","EXECUTE AS","EXTERNAL DATA SOURCE","EXTERNAL FILE FORMAT","EXTERNAL LANGUAGE","EXTERNAL LIBRARY","EXTERNAL RESOURCE POOL","EXTERNAL TABLE","FIPS_FLAGGER","FMTONLY","FORCEPLAN","FULLTEXT CATALOG","FULLTEXT INDEX","FULLTEXT STOPLIST","FUNCTION","GET CONVERSATION GROUP","GET_TRANSMISSION_STATUS","GRANT","GRANT XML","IDENTITY_INSERT","IMPLICIT_TRANSACTIONS","INDEX","LANGUAGE","LOCK_TIMEOUT","LOGIN","MASTER KEY","MESSAGE TYPE","MOVE CONVERSATION","NOCOUNT","NOEXEC","NUMERIC_ROUNDABORT","OFFSETS","OPEN MASTER KEY","OPEN SYMMETRIC KEY","PARSEONLY","PARTITION FUNCTION","PARTITION SCHEME","PROCEDURE","QUERY_GOVERNOR_COST_LIMIT","QUEUE","QUOTED_IDENTIFIER","RECEIVE","REMOTE SERVICE BINDING","REMOTE_PROC_TRANSACTIONS","RESOURCE GOVERNOR","RESOURCE POOL","RESTORE","RESTORE FILELISTONLY","RESTORE HEADERONLY","RESTORE LABELONLY","RESTORE MASTER KEY","RESTORE REWINDONLY","RESTORE SERVICE MASTER KEY","RESTORE VERIFYONLY","REVERT","REVOKE","REVOKE XML","ROLE","ROUTE","ROWCOUNT","RULE","SCHEMA","SEARCH PROPERTY LIST","SECURITY POLICY","SELECTIVE XML INDEX","SEND","SENSITIVITY CLASSIFICATION","SEQUENCE","SERVER AUDIT","SERVER AUDIT SPECIFICATION","SERVER CONFIGURATION","SERVER ROLE","SERVICE","SERVICE MASTER KEY","SETUSER","SHOWPLAN_ALL","SHOWPLAN_TEXT","SHOWPLAN_XML","SIGNATURE","SPATIAL INDEX","STATISTICS","STATISTICS IO","STATISTICS PROFILE","STATISTICS TIME","STATISTICS XML","SYMMETRIC KEY","SYNONYM","TABLE","TABLE IDENTITY","TEXTSIZE","TRANSACTION ISOLATION LEVEL","TRIGGER","TYPE","UPDATE STATISTICS","USER","WORKLOAD GROUP","XACT_ABORT","XML INDEX","XML SCHEMA COLLECTION"]),tc=d(["UNION [ALL]","EXCEPT","INTERSECT"]),Ec=d(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","{CROSS | OUTER} APPLY"]),sc=d(["ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]","{ROWS | RANGE} BETWEEN"]),rc={name:"transactsql",tokenizerOptions:{reservedSelect:z_,reservedClauses:[...ec,...jn],reservedSetOperations:tc,reservedJoins:Ec,reservedPhrases:sc,reservedKeywords:Q_,reservedDataTypes:Z_,reservedFunctionNames:q_,nestedBlockComments:!0,stringTypes:[{quote:"''-qq",prefixes:["N"]}],identTypes:['""-qq',"[]"],identChars:{first:"#@",rest:"#@$"},paramTypes:{named:["@"],quoted:["@"]},operators:["%","&","|","^","~","!<","!>","+=","-=","*=","/=","%=","|=","&=","^=","::",":"]},formatOptions:{alwaysDenseOperators:["::"],onelineClauses:jn}},Tc=["ADD","ALL","ALTER","ANALYZE","AND","AS","ASC","ASENSITIVE","BEFORE","BETWEEN","_BINARY","BOTH","BY","CALL","CASCADE","CASE","CHANGE","CHECK","COLLATE","COLUMN","CONDITION","CONSTRAINT","CONTINUE","CONVERT","CREATE","CROSS","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURSOR","DATABASE","DATABASES","DAY_HOUR","DAY_MICROSECOND","DAY_MINUTE","DAY_SECOND","DECLARE","DEFAULT","DELAYED","DELETE","DESC","DESCRIBE","DETERMINISTIC","DISTINCT","DISTINCTROW","DIV","DROP","DUAL","EACH","ELSE","ELSEIF","ENCLOSED","ESCAPED","EXCEPT","EXISTS","EXIT","EXPLAIN","EXTRA_JOIN","FALSE","FETCH","FOR","FORCE","FORCE_COMPILED_MODE","FORCE_INTERPRETER_MODE","FOREIGN","FROM","FULL","FULLTEXT","GRANT","GROUP","HAVING","HEARTBEAT_NO_LOGGING","HIGH_PRIORITY","HOUR_MICROSECOND","HOUR_MINUTE","HOUR_SECOND","IF","IGNORE","IN","INDEX","INFILE","INNER","INOUT","INSENSITIVE","INSERT","IN","_INTERNAL_DYNAMIC_TYPECAST","INTERSECT","INTERVAL","INTO","ITERATE","JOIN","KEY","KEYS","KILL","LEADING","LEAVE","LEFT","LIKE","LIMIT","LINES","LOAD","LOCALTIME","LOCALTIMESTAMP","LOCK","LOOP","LOW_PRIORITY","MATCH","MAXVALUE","MINUS","MINUTE_MICROSECOND","MINUTE_SECOND","MOD","MODIFIES","NATURAL","NO_QUERY_REWRITE","NOT","NO_WRITE_TO_BINLOG","NO_QUERY_REWRITE","NULL","ON","OPTIMIZE","OPTION","OPTIONALLY","OR","ORDER","OUT","OUTER","OUTFILE","OVER","PRIMARY","PROCEDURE","PURGE","RANGE","READ","READS","REFERENCES","REGEXP","RELEASE","RENAME","REPEAT","REPLACE","REQUIRE","RESTRICT","RETURN","REVOKE","RIGHT","RIGHT_ANTI_JOIN","RIGHT_SEMI_JOIN","RIGHT_STRAIGHT_JOIN","RLIKE","SCHEMA","SCHEMAS","SECOND_MICROSECOND","SELECT","SEMI_JOIN","SENSITIVE","SEPARATOR","SET","SHOW","SIGNAL","SPATIAL","SPECIFIC","SQL","SQL_BIG_RESULT","SQL_BUFFER_RESULT","SQL_CACHE","SQL_CALC_FOUND_ROWS","SQLEXCEPTION","SQL_NO_CACHE","SQL_NO_LOGGING","SQL_SMALL_RESULT","SQLSTATE","SQLWARNING","STRAIGHT_JOIN","TABLE","TERMINATED","THEN","TO","TRAILING","TRIGGER","TRUE","UNBOUNDED","UNDO","UNION","UNIQUE","UNLOCK","UPDATE","USAGE","USE","USING","UTC_DATE","UTC_TIME","UTC_TIMESTAMP","_UTF8","VALUES","WHEN","WHERE","WHILE","WINDOW","WITH","WITHIN","WRITE","XOR","YEAR_MONTH","ZEROFILL"],nc=["BIGINT","BINARY","BIT","BLOB","CHAR","CHARACTER","DATETIME","DEC","DECIMAL","DOUBLE PRECISION","DOUBLE","ENUM","FIXED","FLOAT","FLOAT4","FLOAT8","INT","INT1","INT2","INT3","INT4","INT8","INTEGER","LONG","LONGBLOB","LONGTEXT","MEDIUMBLOB","MEDIUMINT","MEDIUMTEXT","MIDDLEINT","NATIONAL CHAR","NATIONAL VARCHAR","NUMERIC","PRECISION","REAL","SMALLINT","TEXT","TIME","TIMESTAMP","TINYBLOB","TINYINT","TINYTEXT","UNSIGNED","VARBINARY","VARCHAR","VARCHARACTER","YEAR"],oc=["ABS","ACOS","ADDDATE","ADDTIME","AES_DECRYPT","AES_ENCRYPT","ANY_VALUE","APPROX_COUNT_DISTINCT","APPROX_COUNT_DISTINCT_ACCUMULATE","APPROX_COUNT_DISTINCT_COMBINE","APPROX_COUNT_DISTINCT_ESTIMATE","APPROX_GEOGRAPHY_INTERSECTS","APPROX_PERCENTILE","ASCII","ASIN","ATAN","ATAN2","AVG","BIN","BINARY","BIT_AND","BIT_COUNT","BIT_OR","BIT_XOR","CAST","CEIL","CEILING","CHAR","CHARACTER_LENGTH","CHAR_LENGTH","CHARSET","COALESCE","COERCIBILITY","COLLATION","COLLECT","CONCAT","CONCAT_WS","CONNECTION_ID","CONV","CONVERT","CONVERT_TZ","COS","COT","COUNT","CUME_DIST","CURDATE","CURRENT_DATE","CURRENT_ROLE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURTIME","DATABASE","DATE","DATE_ADD","DATEDIFF","DATE_FORMAT","DATE_SUB","DATE_TRUNC","DAY","DAYNAME","DAYOFMONTH","DAYOFWEEK","DAYOFYEAR","DECODE","DEFAULT","DEGREES","DENSE_RANK","DIV","DOT_PRODUCT","ELT","EUCLIDEAN_DISTANCE","EXP","EXTRACT","FIELD","FIRST","FIRST_VALUE","FLOOR","FORMAT","FOUND_ROWS","FROM_BASE64","FROM_DAYS","FROM_UNIXTIME","GEOGRAPHY_AREA","GEOGRAPHY_CONTAINS","GEOGRAPHY_DISTANCE","GEOGRAPHY_INTERSECTS","GEOGRAPHY_LATITUDE","GEOGRAPHY_LENGTH","GEOGRAPHY_LONGITUDE","GEOGRAPHY_POINT","GEOGRAPHY_WITHIN_DISTANCE","GEOMETRY_AREA","GEOMETRY_CONTAINS","GEOMETRY_DISTANCE","GEOMETRY_FILTER","GEOMETRY_INTERSECTS","GEOMETRY_LENGTH","GEOMETRY_POINT","GEOMETRY_WITHIN_DISTANCE","GEOMETRY_X","GEOMETRY_Y","GREATEST","GROUPING","GROUP_CONCAT","HEX","HIGHLIGHT","HOUR","ICU_VERSION","IF","IFNULL","INET_ATON","INET_NTOA","INET6_ATON","INET6_NTOA","INITCAP","INSERT","INSTR","INTERVAL","IS","IS NULL","JSON_AGG","JSON_ARRAY_CONTAINS_DOUBLE","JSON_ARRAY_CONTAINS_JSON","JSON_ARRAY_CONTAINS_STRING","JSON_ARRAY_PUSH_DOUBLE","JSON_ARRAY_PUSH_JSON","JSON_ARRAY_PUSH_STRING","JSON_DELETE_KEY","JSON_EXTRACT_DOUBLE","JSON_EXTRACT_JSON","JSON_EXTRACT_STRING","JSON_EXTRACT_BIGINT","JSON_GET_TYPE","JSON_LENGTH","JSON_SET_DOUBLE","JSON_SET_JSON","JSON_SET_STRING","JSON_SPLICE_DOUBLE","JSON_SPLICE_JSON","JSON_SPLICE_STRING","LAG","LAST_DAY","LAST_VALUE","LCASE","LEAD","LEAST","LEFT","LENGTH","LIKE","LN","LOCALTIME","LOCALTIMESTAMP","LOCATE","LOG","LOG10","LOG2","LPAD","LTRIM","MATCH","MAX","MD5","MEDIAN","MICROSECOND","MIN","MINUTE","MOD","MONTH","MONTHNAME","MONTHS_BETWEEN","NOT","NOW","NTH_VALUE","NTILE","NULLIF","OCTET_LENGTH","PERCENT_RANK","PERCENTILE_CONT","PERCENTILE_DISC","PI","PIVOT","POSITION","POW","POWER","QUARTER","QUOTE","RADIANS","RAND","RANK","REGEXP","REPEAT","REPLACE","REVERSE","RIGHT","RLIKE","ROUND","ROW_COUNT","ROW_NUMBER","RPAD","RTRIM","SCALAR","SCHEMA","SEC_TO_TIME","SHA1","SHA2","SIGMOID","SIGN","SIN","SLEEP","SPLIT","SOUNDEX","SOUNDS LIKE","SOURCE_POS_WAIT","SPACE","SQRT","STDDEV","STDDEV_POP","STDDEV_SAMP","STR_TO_DATE","SUBDATE","SUBSTR","SUBSTRING","SUBSTRING_INDEX","SUM","SYS_GUID","TAN","TIME","TIMEDIFF","TIME_BUCKET","TIME_FORMAT","TIMESTAMP","TIMESTAMPADD","TIMESTAMPDIFF","TIME_TO_SEC","TO_BASE64","TO_CHAR","TO_DAYS","TO_JSON","TO_NUMBER","TO_SECONDS","TO_TIMESTAMP","TRIM","TRUNC","TRUNCATE","UCASE","UNHEX","UNIX_TIMESTAMP","UPDATEXML","UPPER","UTC_DATE","UTC_TIME","UTC_TIMESTAMP","UUID","VALUES","VARIANCE","VAR_POP","VAR_SAMP","VECTOR_SUB","VERSION","WEEK","WEEKDAY","WEEKOFYEAR","YEAR"],Rc=d(["SELECT [ALL | DISTINCT | DISTINCTROW]"]),Ac=d(["WITH","FROM","WHERE","GROUP BY","HAVING","PARTITION BY","ORDER BY","LIMIT","OFFSET","INSERT [IGNORE] [INTO]","VALUES","REPLACE [INTO]","ON DUPLICATE KEY UPDATE","SET","CREATE [OR REPLACE] [TEMPORARY] PROCEDURE [IF NOT EXISTS]","CREATE [OR REPLACE] [EXTERNAL] FUNCTION"]),qn=d(["CREATE [ROWSTORE] [REFERENCE | TEMPORARY | GLOBAL TEMPORARY] TABLE [IF NOT EXISTS]","CREATE VIEW","UPDATE","DELETE [FROM]","DROP [TEMPORARY] TABLE [IF EXISTS]","ALTER [ONLINE] TABLE","ADD [COLUMN]","ADD [UNIQUE] {INDEX | KEY}","DROP [COLUMN]","MODIFY [COLUMN]","CHANGE","RENAME [TO | AS]","TRUNCATE [TABLE]","ADD AGGREGATOR","ADD LEAF","AGGREGATOR SET AS MASTER","ALTER DATABASE","ALTER PIPELINE","ALTER RESOURCE POOL","ALTER USER","ALTER VIEW","ANALYZE TABLE","ATTACH DATABASE","ATTACH LEAF","ATTACH LEAF ALL","BACKUP DATABASE","BINLOG","BOOTSTRAP AGGREGATOR","CACHE INDEX","CALL","CHANGE","CHANGE MASTER TO","CHANGE REPLICATION FILTER","CHANGE REPLICATION SOURCE TO","CHECK BLOB CHECKSUM","CHECK TABLE","CHECKSUM TABLE","CLEAR ORPHAN DATABASES","CLONE","COMMIT","CREATE DATABASE","CREATE GROUP","CREATE INDEX","CREATE LINK","CREATE MILESTONE","CREATE PIPELINE","CREATE RESOURCE POOL","CREATE ROLE","CREATE USER","DEALLOCATE PREPARE","DESCRIBE","DETACH DATABASE","DETACH PIPELINE","DROP DATABASE","DROP FUNCTION","DROP INDEX","DROP LINK","DROP PIPELINE","DROP PROCEDURE","DROP RESOURCE POOL","DROP ROLE","DROP USER","DROP VIEW","EXECUTE","EXPLAIN","FLUSH","FORCE","GRANT","HANDLER","HELP","KILL CONNECTION","KILLALL QUERIES","LOAD DATA","LOAD INDEX INTO CACHE","LOAD XML","LOCK INSTANCE FOR BACKUP","LOCK TABLES","MASTER_POS_WAIT","OPTIMIZE TABLE","PREPARE","PURGE BINARY LOGS","REBALANCE PARTITIONS","RELEASE SAVEPOINT","REMOVE AGGREGATOR","REMOVE LEAF","REPAIR TABLE","REPLACE","REPLICATE DATABASE","RESET","RESET MASTER","RESET PERSIST","RESET REPLICA","RESET SLAVE","RESTART","RESTORE DATABASE","RESTORE REDUNDANCY","REVOKE","ROLLBACK","ROLLBACK TO SAVEPOINT","SAVEPOINT","SET CHARACTER SET","SET DEFAULT ROLE","SET NAMES","SET PASSWORD","SET RESOURCE GROUP","SET ROLE","SET TRANSACTION","SHOW","SHOW CHARACTER SET","SHOW COLLATION","SHOW COLUMNS","SHOW CREATE DATABASE","SHOW CREATE FUNCTION","SHOW CREATE PIPELINE","SHOW CREATE PROCEDURE","SHOW CREATE TABLE","SHOW CREATE USER","SHOW CREATE VIEW","SHOW DATABASES","SHOW ENGINE","SHOW ENGINES","SHOW ERRORS","SHOW FUNCTION CODE","SHOW FUNCTION STATUS","SHOW GRANTS","SHOW INDEX","SHOW MASTER STATUS","SHOW OPEN TABLES","SHOW PLUGINS","SHOW PRIVILEGES","SHOW PROCEDURE CODE","SHOW PROCEDURE STATUS","SHOW PROCESSLIST","SHOW PROFILE","SHOW PROFILES","SHOW RELAYLOG EVENTS","SHOW REPLICA STATUS","SHOW REPLICAS","SHOW SLAVE","SHOW SLAVE HOSTS","SHOW STATUS","SHOW TABLE STATUS","SHOW TABLES","SHOW VARIABLES","SHOW WARNINGS","SHUTDOWN","SNAPSHOT DATABASE","SOURCE_POS_WAIT","START GROUP_REPLICATION","START PIPELINE","START REPLICA","START SLAVE","START TRANSACTION","STOP GROUP_REPLICATION","STOP PIPELINE","STOP REPLICA","STOP REPLICATING","STOP SLAVE","TEST PIPELINE","UNLOCK INSTANCE","UNLOCK TABLES","USE","XA","ITERATE","LEAVE","LOOP","REPEAT","RETURN","WHILE"]),ic=d(["UNION [ALL | DISTINCT]","EXCEPT","INTERSECT","MINUS"]),Sc=d(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL {LEFT | RIGHT} [OUTER] JOIN","STRAIGHT_JOIN"]),ac=d(["ON DELETE","ON UPDATE","CHARACTER SET","{ROWS | RANGE} BETWEEN","IDENTIFIED BY"]),Oc={name:"singlestoredb",tokenizerOptions:{reservedSelect:Rc,reservedClauses:[...Ac,...qn],reservedSetOperations:ic,reservedJoins:Sc,reservedPhrases:ac,reservedKeywords:Tc,reservedDataTypes:nc,reservedFunctionNames:oc,stringTypes:['""-qq-bs',"''-qq-bs",{quote:"''-raw",prefixes:["B","X"],requirePrefix:!0}],identTypes:["``"],identChars:{first:"$",rest:"$",allowFirstCharNumber:!0},variableTypes:[{regex:"@@?[A-Za-z0-9_$]+"},{quote:"``",prefixes:["@"],requirePrefix:!0}],lineCommentTypes:["--","#"],operators:[":=","&","|","^","~","<<",">>","<=>","&&","||","::","::$","::%",":>","!:>","*.*"],postProcess:fT},formatOptions:{alwaysDenseOperators:["::","::$","::%"],onelineClauses:qn}},Ic=["ABS","ACOS","ACOSH","ADD_MONTHS","ALL_USER_NAMES","ANY_VALUE","APPROX_COUNT_DISTINCT","APPROX_PERCENTILE","APPROX_PERCENTILE_ACCUMULATE","APPROX_PERCENTILE_COMBINE","APPROX_PERCENTILE_ESTIMATE","APPROX_TOP_K","APPROX_TOP_K_ACCUMULATE","APPROX_TOP_K_COMBINE","APPROX_TOP_K_ESTIMATE","APPROXIMATE_JACCARD_INDEX","APPROXIMATE_SIMILARITY","ARRAY_AGG","ARRAY_APPEND","ARRAY_CAT","ARRAY_COMPACT","ARRAY_CONSTRUCT","ARRAY_CONSTRUCT_COMPACT","ARRAY_CONTAINS","ARRAY_INSERT","ARRAY_INTERSECTION","ARRAY_POSITION","ARRAY_PREPEND","ARRAY_SIZE","ARRAY_SLICE","ARRAY_TO_STRING","ARRAY_UNION_AGG","ARRAY_UNIQUE_AGG","ARRAYS_OVERLAP","AS_ARRAY","AS_BINARY","AS_BOOLEAN","AS_CHAR","AS_VARCHAR","AS_DATE","AS_DECIMAL","AS_NUMBER","AS_DOUBLE","AS_REAL","AS_INTEGER","AS_OBJECT","AS_TIME","AS_TIMESTAMP_LTZ","AS_TIMESTAMP_NTZ","AS_TIMESTAMP_TZ","ASCII","ASIN","ASINH","ATAN","ATAN2","ATANH","AUTO_REFRESH_REGISTRATION_HISTORY","AUTOMATIC_CLUSTERING_HISTORY","AVG","BASE64_DECODE_BINARY","BASE64_DECODE_STRING","BASE64_ENCODE","BIT_LENGTH","BITAND","BITAND_AGG","BITMAP_BIT_POSITION","BITMAP_BUCKET_NUMBER","BITMAP_CONSTRUCT_AGG","BITMAP_COUNT","BITMAP_OR_AGG","BITNOT","BITOR","BITOR_AGG","BITSHIFTLEFT","BITSHIFTRIGHT","BITXOR","BITXOR_AGG","BOOLAND","BOOLAND_AGG","BOOLNOT","BOOLOR","BOOLOR_AGG","BOOLXOR","BOOLXOR_AGG","BUILD_SCOPED_FILE_URL","BUILD_STAGE_FILE_URL","CASE","CAST","CBRT","CEIL","CHARINDEX","CHECK_JSON","CHECK_XML","CHR","CHAR","COALESCE","COLLATE","COLLATION","COMPLETE_TASK_GRAPHS","COMPRESS","CONCAT","CONCAT_WS","CONDITIONAL_CHANGE_EVENT","CONDITIONAL_TRUE_EVENT","CONTAINS","CONVERT_TIMEZONE","COPY_HISTORY","CORR","COS","COSH","COT","COUNT","COUNT_IF","COVAR_POP","COVAR_SAMP","CUME_DIST","CURRENT_ACCOUNT","CURRENT_AVAILABLE_ROLES","CURRENT_CLIENT","CURRENT_DATABASE","CURRENT_DATE","CURRENT_IP_ADDRESS","CURRENT_REGION","CURRENT_ROLE","CURRENT_SCHEMA","CURRENT_SCHEMAS","CURRENT_SECONDARY_ROLES","CURRENT_SESSION","CURRENT_STATEMENT","CURRENT_TASK_GRAPHS","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_TRANSACTION","CURRENT_USER","CURRENT_VERSION","CURRENT_WAREHOUSE","DATA_TRANSFER_HISTORY","DATABASE_REFRESH_HISTORY","DATABASE_REFRESH_PROGRESS","DATABASE_REFRESH_PROGRESS_BY_JOB","DATABASE_STORAGE_USAGE_HISTORY","DATE_FROM_PARTS","DATE_PART","DATE_TRUNC","DATEADD","DATEDIFF","DAYNAME","DECODE","DECOMPRESS_BINARY","DECOMPRESS_STRING","DECRYPT","DECRYPT_RAW","DEGREES","DENSE_RANK","DIV0","EDITDISTANCE","ENCRYPT","ENCRYPT_RAW","ENDSWITH","EQUAL_NULL","EXP","EXPLAIN_JSON","EXTERNAL_FUNCTIONS_HISTORY","EXTERNAL_TABLE_FILES","EXTERNAL_TABLE_FILE_REGISTRATION_HISTORY","EXTRACT","EXTRACT_SEMANTIC_CATEGORIES","FACTORIAL","FIRST_VALUE","FLATTEN","FLOOR","GENERATE_COLUMN_DESCRIPTION","GENERATOR","GET","GET_ABSOLUTE_PATH","GET_DDL","GET_IGNORE_CASE","GET_OBJECT_REFERENCES","GET_PATH","GET_PRESIGNED_URL","GET_RELATIVE_PATH","GET_STAGE_LOCATION","GETBIT","GREATEST","GROUPING","GROUPING_ID","HASH","HASH_AGG","HAVERSINE","HEX_DECODE_BINARY","HEX_DECODE_STRING","HEX_ENCODE","HLL","HLL_ACCUMULATE","HLL_COMBINE","HLL_ESTIMATE","HLL_EXPORT","HLL_IMPORT","HOUR","MINUTE","SECOND","IFF","IFNULL","ILIKE","ILIKE ANY","INFER_SCHEMA","INITCAP","INSERT","INVOKER_ROLE","INVOKER_SHARE","IS_ARRAY","IS_BINARY","IS_BOOLEAN","IS_CHAR","IS_VARCHAR","IS_DATE","IS_DATE_VALUE","IS_DECIMAL","IS_DOUBLE","IS_REAL","IS_GRANTED_TO_INVOKER_ROLE","IS_INTEGER","IS_NULL_VALUE","IS_OBJECT","IS_ROLE_IN_SESSION","IS_TIME","IS_TIMESTAMP_LTZ","IS_TIMESTAMP_NTZ","IS_TIMESTAMP_TZ","JAROWINKLER_SIMILARITY","JSON_EXTRACT_PATH_TEXT","KURTOSIS","LAG","LAST_DAY","LAST_QUERY_ID","LAST_TRANSACTION","LAST_VALUE","LEAD","LEAST","LEFT","LENGTH","LEN","LIKE","LIKE ALL","LIKE ANY","LISTAGG","LN","LOCALTIME","LOCALTIMESTAMP","LOG","LOGIN_HISTORY","LOGIN_HISTORY_BY_USER","LOWER","LPAD","LTRIM","MATERIALIZED_VIEW_REFRESH_HISTORY","MD5","MD5_HEX","MD5_BINARY","MD5_NUMBER — Obsoleted","MD5_NUMBER_LOWER64","MD5_NUMBER_UPPER64","MEDIAN","MIN","MAX","MINHASH","MINHASH_COMBINE","MOD","MODE","MONTHNAME","MONTHS_BETWEEN","NEXT_DAY","NORMAL","NTH_VALUE","NTILE","NULLIF","NULLIFZERO","NVL","NVL2","OBJECT_AGG","OBJECT_CONSTRUCT","OBJECT_CONSTRUCT_KEEP_NULL","OBJECT_DELETE","OBJECT_INSERT","OBJECT_KEYS","OBJECT_PICK","OCTET_LENGTH","PARSE_IP","PARSE_JSON","PARSE_URL","PARSE_XML","PERCENT_RANK","PERCENTILE_CONT","PERCENTILE_DISC","PI","PIPE_USAGE_HISTORY","POLICY_CONTEXT","POLICY_REFERENCES","POSITION","POW","POWER","PREVIOUS_DAY","QUERY_ACCELERATION_HISTORY","QUERY_HISTORY","QUERY_HISTORY_BY_SESSION","QUERY_HISTORY_BY_USER","QUERY_HISTORY_BY_WAREHOUSE","RADIANS","RANDOM","RANDSTR","RANK","RATIO_TO_REPORT","REGEXP","REGEXP_COUNT","REGEXP_INSTR","REGEXP_LIKE","REGEXP_REPLACE","REGEXP_SUBSTR","REGEXP_SUBSTR_ALL","REGR_AVGX","REGR_AVGY","REGR_COUNT","REGR_INTERCEPT","REGR_R2","REGR_SLOPE","REGR_SXX","REGR_SXY","REGR_SYY","REGR_VALX","REGR_VALY","REPEAT","REPLACE","REPLICATION_GROUP_REFRESH_HISTORY","REPLICATION_GROUP_REFRESH_PROGRESS","REPLICATION_GROUP_REFRESH_PROGRESS_BY_JOB","REPLICATION_GROUP_USAGE_HISTORY","REPLICATION_USAGE_HISTORY","REST_EVENT_HISTORY","RESULT_SCAN","REVERSE","RIGHT","RLIKE","ROUND","ROW_NUMBER","RPAD","RTRIM","RTRIMMED_LENGTH","SEARCH_OPTIMIZATION_HISTORY","SEQ1","SEQ2","SEQ4","SEQ8","SERVERLESS_TASK_HISTORY","SHA1","SHA1_HEX","SHA1_BINARY","SHA2","SHA2_HEX","SHA2_BINARY","SIGN","SIN","SINH","SKEW","SOUNDEX","SPACE","SPLIT","SPLIT_PART","SPLIT_TO_TABLE","SQRT","SQUARE","ST_AREA","ST_ASEWKB","ST_ASEWKT","ST_ASGEOJSON","ST_ASWKB","ST_ASBINARY","ST_ASWKT","ST_ASTEXT","ST_AZIMUTH","ST_CENTROID","ST_COLLECT","ST_CONTAINS","ST_COVEREDBY","ST_COVERS","ST_DIFFERENCE","ST_DIMENSION","ST_DISJOINT","ST_DISTANCE","ST_DWITHIN","ST_ENDPOINT","ST_ENVELOPE","ST_GEOGFROMGEOHASH","ST_GEOGPOINTFROMGEOHASH","ST_GEOGRAPHYFROMWKB","ST_GEOGRAPHYFROMWKT","ST_GEOHASH","ST_GEOMETRYFROMWKB","ST_GEOMETRYFROMWKT","ST_HAUSDORFFDISTANCE","ST_INTERSECTION","ST_INTERSECTS","ST_LENGTH","ST_MAKEGEOMPOINT","ST_GEOM_POINT","ST_MAKELINE","ST_MAKEPOINT","ST_POINT","ST_MAKEPOLYGON","ST_POLYGON","ST_NPOINTS","ST_NUMPOINTS","ST_PERIMETER","ST_POINTN","ST_SETSRID","ST_SIMPLIFY","ST_SRID","ST_STARTPOINT","ST_SYMDIFFERENCE","ST_UNION","ST_WITHIN","ST_X","ST_XMAX","ST_XMIN","ST_Y","ST_YMAX","ST_YMIN","STAGE_DIRECTORY_FILE_REGISTRATION_HISTORY","STAGE_STORAGE_USAGE_HISTORY","STARTSWITH","STDDEV","STDDEV_POP","STDDEV_SAMP","STRIP_NULL_VALUE","STRTOK","STRTOK_SPLIT_TO_TABLE","STRTOK_TO_ARRAY","SUBSTR","SUBSTRING","SUM","SYSDATE","SYSTEM$ABORT_SESSION","SYSTEM$ABORT_TRANSACTION","SYSTEM$AUTHORIZE_PRIVATELINK","SYSTEM$AUTHORIZE_STAGE_PRIVATELINK_ACCESS","SYSTEM$BEHAVIOR_CHANGE_BUNDLE_STATUS","SYSTEM$CANCEL_ALL_QUERIES","SYSTEM$CANCEL_QUERY","SYSTEM$CLUSTERING_DEPTH","SYSTEM$CLUSTERING_INFORMATION","SYSTEM$CLUSTERING_RATIO ","SYSTEM$CURRENT_USER_TASK_NAME","SYSTEM$DATABASE_REFRESH_HISTORY ","SYSTEM$DATABASE_REFRESH_PROGRESS","SYSTEM$DATABASE_REFRESH_PROGRESS_BY_JOB ","SYSTEM$DISABLE_BEHAVIOR_CHANGE_BUNDLE","SYSTEM$DISABLE_DATABASE_REPLICATION","SYSTEM$ENABLE_BEHAVIOR_CHANGE_BUNDLE","SYSTEM$ESTIMATE_QUERY_ACCELERATION","SYSTEM$ESTIMATE_SEARCH_OPTIMIZATION_COSTS","SYSTEM$EXPLAIN_JSON_TO_TEXT","SYSTEM$EXPLAIN_PLAN_JSON","SYSTEM$EXTERNAL_TABLE_PIPE_STATUS","SYSTEM$GENERATE_SAML_CSR","SYSTEM$GENERATE_SCIM_ACCESS_TOKEN","SYSTEM$GET_AWS_SNS_IAM_POLICY","SYSTEM$GET_PREDECESSOR_RETURN_VALUE","SYSTEM$GET_PRIVATELINK","SYSTEM$GET_PRIVATELINK_AUTHORIZED_ENDPOINTS","SYSTEM$GET_PRIVATELINK_CONFIG","SYSTEM$GET_SNOWFLAKE_PLATFORM_INFO","SYSTEM$GET_TAG","SYSTEM$GET_TAG_ALLOWED_VALUES","SYSTEM$GET_TAG_ON_CURRENT_COLUMN","SYSTEM$GET_TAG_ON_CURRENT_TABLE","SYSTEM$GLOBAL_ACCOUNT_SET_PARAMETER","SYSTEM$LAST_CHANGE_COMMIT_TIME","SYSTEM$LINK_ACCOUNT_OBJECTS_BY_NAME","SYSTEM$MIGRATE_SAML_IDP_REGISTRATION","SYSTEM$PIPE_FORCE_RESUME","SYSTEM$PIPE_STATUS","SYSTEM$REVOKE_PRIVATELINK","SYSTEM$REVOKE_STAGE_PRIVATELINK_ACCESS","SYSTEM$SET_RETURN_VALUE","SYSTEM$SHOW_OAUTH_CLIENT_SECRETS","SYSTEM$STREAM_GET_TABLE_TIMESTAMP","SYSTEM$STREAM_HAS_DATA","SYSTEM$TASK_DEPENDENTS_ENABLE","SYSTEM$TYPEOF","SYSTEM$USER_TASK_CANCEL_ONGOING_EXECUTIONS","SYSTEM$VERIFY_EXTERNAL_OAUTH_TOKEN","SYSTEM$WAIT","SYSTEM$WHITELIST","SYSTEM$WHITELIST_PRIVATELINK","TAG_REFERENCES","TAG_REFERENCES_ALL_COLUMNS","TAG_REFERENCES_WITH_LINEAGE","TAN","TANH","TASK_DEPENDENTS","TASK_HISTORY","TIME_FROM_PARTS","TIME_SLICE","TIMEADD","TIMEDIFF","TIMESTAMP_FROM_PARTS","TIMESTAMPADD","TIMESTAMPDIFF","TO_ARRAY","TO_BINARY","TO_BOOLEAN","TO_CHAR","TO_VARCHAR","TO_DATE","DATE","TO_DECIMAL","TO_NUMBER","TO_NUMERIC","TO_DOUBLE","TO_GEOGRAPHY","TO_GEOMETRY","TO_JSON","TO_OBJECT","TO_TIME","TIME","TO_TIMESTAMP","TO_TIMESTAMP_LTZ","TO_TIMESTAMP_NTZ","TO_TIMESTAMP_TZ","TO_VARIANT","TO_XML","TRANSLATE","TRIM","TRUNCATE","TRUNC","TRUNC","TRY_BASE64_DECODE_BINARY","TRY_BASE64_DECODE_STRING","TRY_CAST","TRY_HEX_DECODE_BINARY","TRY_HEX_DECODE_STRING","TRY_PARSE_JSON","TRY_TO_BINARY","TRY_TO_BOOLEAN","TRY_TO_DATE","TRY_TO_DECIMAL","TRY_TO_NUMBER","TRY_TO_NUMERIC","TRY_TO_DOUBLE","TRY_TO_GEOGRAPHY","TRY_TO_GEOMETRY","TRY_TO_TIME","TRY_TO_TIMESTAMP","TRY_TO_TIMESTAMP_LTZ","TRY_TO_TIMESTAMP_NTZ","TRY_TO_TIMESTAMP_TZ","TYPEOF","UNICODE","UNIFORM","UPPER","UUID_STRING","VALIDATE","VALIDATE_PIPE_LOAD","VAR_POP","VAR_SAMP","VARIANCE","VARIANCE_SAMP","VARIANCE_POP","WAREHOUSE_LOAD_HISTORY","WAREHOUSE_METERING_HISTORY","WIDTH_BUCKET","XMLGET","YEAR","YEAROFWEEK","YEAROFWEEKISO","DAY","DAYOFMONTH","DAYOFWEEK","DAYOFWEEKISO","DAYOFYEAR","WEEK","WEEK","WEEKOFYEAR","WEEKISO","MONTH","QUARTER","ZEROIFNULL","ZIPF"],Nc=["ACCOUNT","ALL","ALTER","AND","ANY","AS","BETWEEN","BY","CASE","CAST","CHECK","COLUMN","CONNECT","CONNECTION","CONSTRAINT","CREATE","CROSS","CURRENT","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","DATABASE","DELETE","DISTINCT","DROP","ELSE","EXISTS","FALSE","FOLLOWING","FOR","FROM","FULL","GRANT","GROUP","GSCLUSTER","HAVING","ILIKE","IN","INCREMENT","INNER","INSERT","INTERSECT","INTO","IS","ISSUE","JOIN","LATERAL","LEFT","LIKE","LOCALTIME","LOCALTIMESTAMP","MINUS","NATURAL","NOT","NULL","OF","ON","OR","ORDER","ORGANIZATION","QUALIFY","REGEXP","REVOKE","RIGHT","RLIKE","ROW","ROWS","SAMPLE","SCHEMA","SELECT","SET","SOME","START","TABLE","TABLESAMPLE","THEN","TO","TRIGGER","TRUE","TRY_CAST","UNION","UNIQUE","UPDATE","USING","VALUES","VIEW","WHEN","WHENEVER","WHERE","WITH","COMMENT"],lc=["NUMBER","DECIMAL","NUMERIC","INT","INTEGER","BIGINT","SMALLINT","TINYINT","BYTEINT","FLOAT","FLOAT4","FLOAT8","DOUBLE","DOUBLE PRECISION","REAL","VARCHAR","CHAR","CHARACTER","STRING","TEXT","BINARY","VARBINARY","BOOLEAN","DATE","DATETIME","TIME","TIMESTAMP","TIMESTAMP_LTZ","TIMESTAMP_NTZ","TIMESTAMP","TIMESTAMP_TZ","VARIANT","OBJECT","ARRAY","GEOGRAPHY","GEOMETRY"],_c=d(["SELECT [ALL | DISTINCT]"]),cc=d(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY","HAVING","PARTITION BY","ORDER BY","QUALIFY","LIMIT","OFFSET","FETCH [FIRST | NEXT]","INSERT [OVERWRITE] [ALL INTO | INTO | ALL | FIRST]","{THEN | ELSE} INTO","VALUES","SET","CLUSTER BY","[WITH] {MASKING POLICY | TAG | ROW ACCESS POLICY}","COPY GRANTS","USING TEMPLATE","MERGE INTO","WHEN MATCHED [AND]","THEN {UPDATE SET | DELETE}","WHEN NOT MATCHED THEN INSERT"]),Qn=d(["CREATE [OR REPLACE] [VOLATILE] TABLE [IF NOT EXISTS]","CREATE [OR REPLACE] [LOCAL | GLOBAL] {TEMP|TEMPORARY} TABLE [IF NOT EXISTS]","CREATE [OR REPLACE] [SECURE] [RECURSIVE] VIEW [IF NOT EXISTS]","UPDATE","DELETE FROM","DROP TABLE [IF EXISTS]","ALTER TABLE [IF EXISTS]","RENAME TO","SWAP WITH","[SUSPEND | RESUME] RECLUSTER","DROP CLUSTERING KEY","ADD [COLUMN]","RENAME COLUMN","{ALTER | MODIFY} [COLUMN]","DROP [COLUMN]","{ADD | ALTER | MODIFY | DROP} [CONSTRAINT]","RENAME CONSTRAINT","{ADD | DROP} SEARCH OPTIMIZATION","{SET | UNSET} TAG","{ADD | DROP} ROW ACCESS POLICY","DROP ALL ROW ACCESS POLICIES","{SET | DROP} DEFAULT","{SET | DROP} NOT NULL","[SET DATA] TYPE","UNSET COMMENT","{SET | UNSET} MASKING POLICY","TRUNCATE [TABLE] [IF EXISTS]","ALTER ACCOUNT","ALTER API INTEGRATION","ALTER CONNECTION","ALTER DATABASE","ALTER EXTERNAL TABLE","ALTER FAILOVER GROUP","ALTER FILE FORMAT","ALTER FUNCTION","ALTER INTEGRATION","ALTER MASKING POLICY","ALTER MATERIALIZED VIEW","ALTER NETWORK POLICY","ALTER NOTIFICATION INTEGRATION","ALTER PIPE","ALTER PROCEDURE","ALTER REPLICATION GROUP","ALTER RESOURCE MONITOR","ALTER ROLE","ALTER ROW ACCESS POLICY","ALTER SCHEMA","ALTER SECURITY INTEGRATION","ALTER SEQUENCE","ALTER SESSION","ALTER SESSION POLICY","ALTER SHARE","ALTER STAGE","ALTER STORAGE INTEGRATION","ALTER STREAM","ALTER TAG","ALTER TASK","ALTER USER","ALTER VIEW","ALTER WAREHOUSE","BEGIN","CALL","COMMIT","COPY INTO","CREATE ACCOUNT","CREATE API INTEGRATION","CREATE CONNECTION","CREATE DATABASE","CREATE EXTERNAL FUNCTION","CREATE EXTERNAL TABLE","CREATE FAILOVER GROUP","CREATE FILE FORMAT","CREATE FUNCTION","CREATE INTEGRATION","CREATE MANAGED ACCOUNT","CREATE MASKING POLICY","CREATE MATERIALIZED VIEW","CREATE NETWORK POLICY","CREATE NOTIFICATION INTEGRATION","CREATE PIPE","CREATE PROCEDURE","CREATE REPLICATION GROUP","CREATE RESOURCE MONITOR","CREATE ROLE","CREATE ROW ACCESS POLICY","CREATE SCHEMA","CREATE SECURITY INTEGRATION","CREATE SEQUENCE","CREATE SESSION POLICY","CREATE SHARE","CREATE STAGE","CREATE STORAGE INTEGRATION","CREATE STREAM","CREATE TAG","CREATE TASK","CREATE USER","CREATE WAREHOUSE","DELETE","DESCRIBE DATABASE","DESCRIBE EXTERNAL TABLE","DESCRIBE FILE FORMAT","DESCRIBE FUNCTION","DESCRIBE INTEGRATION","DESCRIBE MASKING POLICY","DESCRIBE MATERIALIZED VIEW","DESCRIBE NETWORK POLICY","DESCRIBE PIPE","DESCRIBE PROCEDURE","DESCRIBE RESULT","DESCRIBE ROW ACCESS POLICY","DESCRIBE SCHEMA","DESCRIBE SEQUENCE","DESCRIBE SESSION POLICY","DESCRIBE SHARE","DESCRIBE STAGE","DESCRIBE STREAM","DESCRIBE TABLE","DESCRIBE TASK","DESCRIBE TRANSACTION","DESCRIBE USER","DESCRIBE VIEW","DESCRIBE WAREHOUSE","DROP CONNECTION","DROP DATABASE","DROP EXTERNAL TABLE","DROP FAILOVER GROUP","DROP FILE FORMAT","DROP FUNCTION","DROP INTEGRATION","DROP MANAGED ACCOUNT","DROP MASKING POLICY","DROP MATERIALIZED VIEW","DROP NETWORK POLICY","DROP PIPE","DROP PROCEDURE","DROP REPLICATION GROUP","DROP RESOURCE MONITOR","DROP ROLE","DROP ROW ACCESS POLICY","DROP SCHEMA","DROP SEQUENCE","DROP SESSION POLICY","DROP SHARE","DROP STAGE","DROP STREAM","DROP TAG","DROP TASK","DROP USER","DROP VIEW","DROP WAREHOUSE","EXECUTE IMMEDIATE","EXECUTE TASK","EXPLAIN","GET","GRANT OWNERSHIP","GRANT ROLE","INSERT","LIST","MERGE","PUT","REMOVE","REVOKE ROLE","ROLLBACK","SHOW COLUMNS","SHOW CONNECTIONS","SHOW DATABASES","SHOW DATABASES IN FAILOVER GROUP","SHOW DATABASES IN REPLICATION GROUP","SHOW DELEGATED AUTHORIZATIONS","SHOW EXTERNAL FUNCTIONS","SHOW EXTERNAL TABLES","SHOW FAILOVER GROUPS","SHOW FILE FORMATS","SHOW FUNCTIONS","SHOW GLOBAL ACCOUNTS","SHOW GRANTS","SHOW INTEGRATIONS","SHOW LOCKS","SHOW MANAGED ACCOUNTS","SHOW MASKING POLICIES","SHOW MATERIALIZED VIEWS","SHOW NETWORK POLICIES","SHOW OBJECTS","SHOW ORGANIZATION ACCOUNTS","SHOW PARAMETERS","SHOW PIPES","SHOW PRIMARY KEYS","SHOW PROCEDURES","SHOW REGIONS","SHOW REPLICATION ACCOUNTS","SHOW REPLICATION DATABASES","SHOW REPLICATION GROUPS","SHOW RESOURCE MONITORS","SHOW ROLES","SHOW ROW ACCESS POLICIES","SHOW SCHEMAS","SHOW SEQUENCES","SHOW SESSION POLICIES","SHOW SHARES","SHOW SHARES IN FAILOVER GROUP","SHOW SHARES IN REPLICATION GROUP","SHOW STAGES","SHOW STREAMS","SHOW TABLES","SHOW TAGS","SHOW TASKS","SHOW TRANSACTIONS","SHOW USER FUNCTIONS","SHOW USERS","SHOW VARIABLES","SHOW VIEWS","SHOW WAREHOUSES","TRUNCATE MATERIALIZED VIEW","UNDROP DATABASE","UNDROP SCHEMA","UNDROP TABLE","UNDROP TAG","UNSET","USE DATABASE","USE ROLE","USE SCHEMA","USE SECONDARY ROLES","USE WAREHOUSE"]),Cc=d(["UNION [ALL]","MINUS","EXCEPT","INTERSECT"]),Lc=d(["[INNER] JOIN","[NATURAL] {LEFT | RIGHT | FULL} [OUTER] JOIN","{CROSS | NATURAL} JOIN"]),uc=d(["{ROWS | RANGE} BETWEEN","ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]"]),fc={name:"snowflake",tokenizerOptions:{reservedSelect:_c,reservedClauses:[...cc,...Qn],reservedSetOperations:Cc,reservedJoins:Lc,reservedPhrases:uc,reservedKeywords:Nc,reservedDataTypes:lc,reservedFunctionNames:Ic,stringTypes:["$$","''-qq-bs"],identTypes:['""-qq'],variableTypes:[{regex:"[$][1-9]\\d*"},{regex:"[$][_a-zA-Z][_a-zA-Z0-9$]*"}],extraParens:["[]"],identChars:{rest:"$"},lineCommentTypes:["--","//"],operators:["%","::","||",":","=>"]},formatOptions:{alwaysDenseOperators:[":","::"],onelineClauses:Qn}},jE=e=>e[e.length-1],GA=e=>e.sort((t,E)=>E.length-t.length||t.localeCompare(E)),Ds=e=>e.replace(/\s+/gu," "),lr=e=>/\n/.test(e),nt=e=>e.replace(/[.*+?^${}()|[\]\\]/gu,"\\$&"),Zn=/\s+/uy,eE=e=>new RegExp(`(?:${e})`,"uy"),pc=e=>e.split("").map(t=>/ /gu.test(t)?"\\s+":`[${t.toUpperCase()}${t.toLowerCase()}]`).join(""),Pc=e=>e+"(?:-"+e+")*",Dc=({prefixes:e,requirePrefix:t})=>`(?:${e.map(pc).join("|")}${t?"":"|"})`,dc=e=>new RegExp(`(?:${e.map(nt).join("|")}).*?(?=\r +|\r| +|$)`,"uy"),zn=(e,t=[])=>{const E=e==="open"?0:1,s=["()",...t].map(r=>r[E]);return eE(s.map(nt).join("|"))},Mc=e=>eE(`${GA(e).map(nt).join("|")}`),Uc=({rest:e,dashes:t})=>e||t?`(?![${e||""}${t?"-":""}])`:"",Dt=(e,t={})=>{if(e.length===0)return/^\b$/u;const E=Uc(t),s=GA(e).map(nt).join("|").replace(/ /gu,"\\s+");return new RegExp(`(?:${s})${E}\\b`,"iuy")},_r=(e,t)=>{if(!e.length)return;const E=e.map(nt).join("|");return eE(`(?:${E})(?:${t})`)},hc=()=>{const e={"<":">","[":"]","(":")","{":"}"},t="{left}(?:(?!{right}').)*?{right}",E=Object.entries(e).map(([n,o])=>t.replace(/{left}/g,nt(n)).replace(/{right}/g,nt(o))),s=nt(Object.keys(e).join(""));return`[Qq]'(?:${String.raw`(?[^\s${s}])(?:(?!\k').)*?\k`}|${E.join("|")})'`},eo={"``":"(?:`[^`]*`)+","[]":String.raw`(?:\[[^\]]*\])(?:\][^\]]*\])*`,'""-qq':String.raw`(?:"[^"]*")+`,'""-bs':String.raw`(?:"[^"\\]*(?:\\.[^"\\]*)*")`,'""-qq-bs':String.raw`(?:"[^"\\]*(?:\\.[^"\\]*)*")+`,'""-raw':String.raw`(?:"[^"]*")`,"''-qq":String.raw`(?:'[^']*')+`,"''-bs":String.raw`(?:'[^'\\]*(?:\\.[^'\\]*)*')`,"''-qq-bs":String.raw`(?:'[^'\\]*(?:\\.[^'\\]*)*')+`,"''-raw":String.raw`(?:'[^']*')`,$$:String.raw`(?\$\w*\$)[\s\S]*?\k`,"'''..'''":String.raw`'''[^\\]*?(?:\\.[^\\]*?)*?'''`,'""".."""':String.raw`"""[^\\]*?(?:\\.[^\\]*?)*?"""`,"{}":String.raw`(?:\{[^\}]*\})`,"q''":hc()},mA=e=>typeof e=="string"?eo[e]:"regex"in e?e.regex:Dc(e)+eo[e.quote],gc=e=>eE(e.map(t=>"regex"in t?t.regex:mA(t)).join("|")),yA=e=>e.map(mA).join("|"),to=e=>eE(yA(e)),Gc=(e={})=>eE(bA(e)),bA=({first:e,rest:t,dashes:E,allowFirstCharNumber:s}={})=>{const r="\\p{Alphabetic}\\p{Mark}_",T="\\p{Decimal_Number}",n=nt(e??""),o=nt(t??""),R=s?`[${r}${T}${n}][${r}${T}${o}]*`:`[${r}${n}][${r}${T}${o}]*`;return E?Pc(R):R};function HA(e,t){const E=e.slice(0,t).split(/\n/);return{line:E.length,col:E[E.length-1].length+1}}var mc=class{constructor(e,t){this.rules=e,this.dialectName=t,this.input="",this.index=0}tokenize(e){this.input=e,this.index=0;const t=[];let E;for(;this.index0;)if(E=this.matchSection(Eo,e))t+=E,s++;else if(E=this.matchSection(bc,e))t+=E,s--;else if(E=this.matchSection(yc,e))t+=E;else return null;return[t]}matchSection(e,t){e.lastIndex=this.lastIndex;const E=e.exec(t);return E&&(this.lastIndex+=E[0].length),E?E[0]:null}},Bc=class{constructor(e,t){this.cfg=e,this.dialectName=t,this.rulesBeforeParams=this.buildRulesBeforeParams(e),this.rulesAfterParams=this.buildRulesAfterParams(e)}tokenize(e,t){const E=[...this.rulesBeforeParams,...this.buildParamRules(this.cfg,t),...this.rulesAfterParams],s=new mc(E,this.dialectName).tokenize(e);return this.cfg.postProcess?this.cfg.postProcess(s):s}buildRulesBeforeParams(e){var t,E;return this.validRules([{type:"BLOCK_COMMENT",regex:e.nestedBlockComments?new Hc:/(\/\*[^]*?\*\/)/uy},{type:"LINE_COMMENT",regex:dc((t=e.lineCommentTypes)!=null?t:["--"])},{type:"QUOTED_IDENTIFIER",regex:to(e.identTypes)},{type:"NUMBER",regex:/(?:0x[0-9a-fA-F]+|0b[01]+|(?:-\s*)?[0-9]+(?:\.[0-9]*)?(?:[eE][-+]?[0-9]+(?:\.[0-9]+)?)?)(?![\w\p{Alphabetic}])/uy},{type:"RESERVED_PHRASE",regex:Dt((E=e.reservedPhrases)!=null?E:[],e.identChars),text:ge},{type:"CASE",regex:/CASE\b/iuy,text:ge},{type:"END",regex:/END\b/iuy,text:ge},{type:"BETWEEN",regex:/BETWEEN\b/iuy,text:ge},{type:"LIMIT",regex:e.reservedClauses.includes("LIMIT")?/LIMIT\b/iuy:void 0,text:ge},{type:"RESERVED_CLAUSE",regex:Dt(e.reservedClauses,e.identChars),text:ge},{type:"RESERVED_SELECT",regex:Dt(e.reservedSelect,e.identChars),text:ge},{type:"RESERVED_SET_OPERATION",regex:Dt(e.reservedSetOperations,e.identChars),text:ge},{type:"WHEN",regex:/WHEN\b/iuy,text:ge},{type:"ELSE",regex:/ELSE\b/iuy,text:ge},{type:"THEN",regex:/THEN\b/iuy,text:ge},{type:"RESERVED_JOIN",regex:Dt(e.reservedJoins,e.identChars),text:ge},{type:"AND",regex:/AND\b/iuy,text:ge},{type:"OR",regex:/OR\b/iuy,text:ge},{type:"XOR",regex:e.supportsXor?/XOR\b/iuy:void 0,text:ge},{type:"RESERVED_FUNCTION_NAME",regex:Dt(e.reservedFunctionNames,e.identChars),text:ge},{type:"RESERVED_DATA_TYPE",regex:Dt(e.reservedDataTypes,e.identChars),text:ge},{type:"RESERVED_KEYWORD",regex:Dt(e.reservedKeywords,e.identChars),text:ge}])}buildRulesAfterParams(e){var t;return this.validRules([{type:"VARIABLE",regex:e.variableTypes?gc(e.variableTypes):void 0},{type:"STRING",regex:to(e.stringTypes)},{type:"IDENTIFIER",regex:Gc(e.identChars)},{type:"DELIMITER",regex:/[;]/uy},{type:"COMMA",regex:/[,]/y},{type:"OPEN_PAREN",regex:zn("open",e.extraParens)},{type:"CLOSE_PAREN",regex:zn("close",e.extraParens)},{type:"OPERATOR",regex:Mc(["+","-","/",">","<","=","<>","<=",">=","!=",...(t=e.operators)!=null?t:[]])},{type:"ASTERISK",regex:/[*]/uy},{type:"DOT",regex:/[.]/uy}])}buildParamRules(e,t){var E,s,r,T,n;const o={named:(t==null?void 0:t.named)||((E=e.paramTypes)==null?void 0:E.named)||[],quoted:(t==null?void 0:t.quoted)||((s=e.paramTypes)==null?void 0:s.quoted)||[],numbered:(t==null?void 0:t.numbered)||((r=e.paramTypes)==null?void 0:r.numbered)||[],positional:typeof(t==null?void 0:t.positional)=="boolean"?t.positional:(T=e.paramTypes)==null?void 0:T.positional,custom:(t==null?void 0:t.custom)||((n=e.paramTypes)==null?void 0:n.custom)||[]};return this.validRules([{type:"NAMED_PARAMETER",regex:_r(o.named,bA(e.paramChars||e.identChars)),key:R=>R.slice(1)},{type:"QUOTED_PARAMETER",regex:_r(o.quoted,yA(e.identTypes)),key:R=>(({tokenKey:A,quoteChar:i})=>A.replace(new RegExp(nt("\\"+i),"gu"),i))({tokenKey:R.slice(2,-1),quoteChar:R.slice(-1)})},{type:"NUMBERED_PARAMETER",regex:_r(o.numbered,"[0-9]+"),key:R=>R.slice(1)},{type:"POSITIONAL_PARAMETER",regex:o.positional?/[?]/y:void 0},...o.custom.map(R=>{var A;return{type:"CUSTOM_PARAMETER",regex:eE(R.regex),key:(A=R.key)!=null?A:i=>i}})])}validRules(e){return e.filter(t=>!!t.regex)}},ge=e=>Ds(e.toUpperCase()),so=new Map,vc=e=>{let t=so.get(e);return t||(t=Fc(e),so.set(e,t)),t},Fc=e=>({tokenizer:new Bc(e.tokenizerOptions,e.name),formatOptions:Yc(e.formatOptions)}),Yc=e=>({alwaysDenseOperators:e.alwaysDenseOperators||[],onelineClauses:Object.fromEntries(e.onelineClauses.map(t=>[t,!0]))});function Vc(e){return e.indentStyle==="tabularLeft"||e.indentStyle==="tabularRight"?" ".repeat(10):e.useTabs?" ":" ".repeat(e.tabWidth)}function HE(e){return e.indentStyle==="tabularLeft"||e.indentStyle==="tabularRight"}var xc=class{constructor(e){this.params=e,this.index=0}get({key:e,text:t}){return this.params?e?this.params[e]:this.params[this.index++]:t}getPositionalParameterIndex(){return this.index}setPositionalParameterIndex(e){this.index=e}};function wc(e){return e.map(Wc).map(Xc).map($c).map(Kc).map(Jc)}var Wc=(e,t,E)=>{if(gA(e.type)){const s=kc(E,t);if(s&&s.text===".")return We(Be({},e),{type:"IDENTIFIER",text:e.raw})}return e},Xc=(e,t,E)=>{if(e.type==="RESERVED_FUNCTION_NAME"){const s=os(E,t);if(!s||!BA(s))return We(Be({},e),{type:"RESERVED_KEYWORD"})}return e},$c=(e,t,E)=>{if(e.type==="RESERVED_DATA_TYPE"){const s=os(E,t);if(s&&BA(s))return We(Be({},e),{type:"RESERVED_PARAMETERIZED_DATA_TYPE"})}return e},Kc=(e,t,E)=>{if(e.type==="IDENTIFIER"){const s=os(E,t);if(s&&vA(s))return We(Be({},e),{type:"ARRAY_IDENTIFIER"})}return e},Jc=(e,t,E)=>{if(e.type==="RESERVED_DATA_TYPE"){const s=os(E,t);if(s&&vA(s))return We(Be({},e),{type:"ARRAY_KEYWORD"})}return e},kc=(e,t)=>os(e,t,-1),os=(e,t,E=1)=>{let s=1;for(;e[t+s*E]&&jc(e[t+s*E]);)s++;return e[t+s*E]},BA=e=>e.type==="OPEN_PAREN"&&e.text==="(",vA=e=>e.type==="OPEN_PAREN"&&e.text==="[",jc=e=>e.type==="BLOCK_COMMENT"||e.type==="LINE_COMMENT",FA=class{constructor(e){this.tokenize=e,this.index=0,this.tokens=[],this.input=""}reset(e,t){this.input=e,this.index=0,this.tokens=this.tokenize(e)}next(){return this.tokens[this.index++]}save(){}formatError(e){const{line:t,col:E}=HA(this.input,e.start);return`Parse error at token: ${e.text} at line ${t} column ${E}`}has(e){return e in UA}};function cr(e){return e[0]}var k=new FA(e=>[]),xt=([[e]])=>e,Ge=e=>({type:"keyword",tokenType:e.type,text:e.text,raw:e.raw}),ro=e=>({type:"data_type",text:e.text,raw:e.raw}),me=(e,{leading:t,trailing:E})=>(t!=null&&t.length&&(e=We(Be({},e),{leadingComments:t})),E!=null&&E.length&&(e=We(Be({},e),{trailingComments:E})),e),qc=(e,{leading:t,trailing:E})=>{if(t!=null&&t.length){const[s,...r]=e;e=[me(s,{leading:t}),...r]}if(E!=null&&E.length){const s=e.slice(0,-1),r=e[e.length-1];e=[...s,me(r,{trailing:E})]}return e},Qc={Lexer:k,ParserRules:[{name:"main$ebnf$1",symbols:[]},{name:"main$ebnf$1",symbols:["main$ebnf$1","statement"],postprocess:e=>e[0].concat([e[1]])},{name:"main",symbols:["main$ebnf$1"],postprocess:([e])=>{const t=e[e.length-1];return t&&!t.hasSemicolon?t.children.length>0?e:e.slice(0,-1):e}},{name:"statement$subexpression$1",symbols:[k.has("DELIMITER")?{type:"DELIMITER"}:DELIMITER]},{name:"statement$subexpression$1",symbols:[k.has("EOF")?{type:"EOF"}:EOF]},{name:"statement",symbols:["expressions_or_clauses","statement$subexpression$1"],postprocess:([e,[t]])=>({type:"statement",children:e,hasSemicolon:t.type==="DELIMITER"})},{name:"expressions_or_clauses$ebnf$1",symbols:[]},{name:"expressions_or_clauses$ebnf$1",symbols:["expressions_or_clauses$ebnf$1","free_form_sql"],postprocess:e=>e[0].concat([e[1]])},{name:"expressions_or_clauses$ebnf$2",symbols:[]},{name:"expressions_or_clauses$ebnf$2",symbols:["expressions_or_clauses$ebnf$2","clause"],postprocess:e=>e[0].concat([e[1]])},{name:"expressions_or_clauses",symbols:["expressions_or_clauses$ebnf$1","expressions_or_clauses$ebnf$2"],postprocess:([e,t])=>[...e,...t]},{name:"clause$subexpression$1",symbols:["limit_clause"]},{name:"clause$subexpression$1",symbols:["select_clause"]},{name:"clause$subexpression$1",symbols:["other_clause"]},{name:"clause$subexpression$1",symbols:["set_operation"]},{name:"clause",symbols:["clause$subexpression$1"],postprocess:xt},{name:"limit_clause$ebnf$1$subexpression$1$ebnf$1",symbols:["free_form_sql"]},{name:"limit_clause$ebnf$1$subexpression$1$ebnf$1",symbols:["limit_clause$ebnf$1$subexpression$1$ebnf$1","free_form_sql"],postprocess:e=>e[0].concat([e[1]])},{name:"limit_clause$ebnf$1$subexpression$1",symbols:[k.has("COMMA")?{type:"COMMA"}:COMMA,"limit_clause$ebnf$1$subexpression$1$ebnf$1"]},{name:"limit_clause$ebnf$1",symbols:["limit_clause$ebnf$1$subexpression$1"],postprocess:cr},{name:"limit_clause$ebnf$1",symbols:[],postprocess:()=>null},{name:"limit_clause",symbols:[k.has("LIMIT")?{type:"LIMIT"}:LIMIT,"_","expression_chain_","limit_clause$ebnf$1"],postprocess:([e,t,E,s])=>{if(s){const[r,T]=s;return{type:"limit_clause",limitKw:me(Ge(e),{trailing:t}),offset:E,count:T}}else return{type:"limit_clause",limitKw:me(Ge(e),{trailing:t}),count:E}}},{name:"select_clause$subexpression$1$ebnf$1",symbols:[]},{name:"select_clause$subexpression$1$ebnf$1",symbols:["select_clause$subexpression$1$ebnf$1","free_form_sql"],postprocess:e=>e[0].concat([e[1]])},{name:"select_clause$subexpression$1",symbols:["all_columns_asterisk","select_clause$subexpression$1$ebnf$1"]},{name:"select_clause$subexpression$1$ebnf$2",symbols:[]},{name:"select_clause$subexpression$1$ebnf$2",symbols:["select_clause$subexpression$1$ebnf$2","free_form_sql"],postprocess:e=>e[0].concat([e[1]])},{name:"select_clause$subexpression$1",symbols:["asteriskless_free_form_sql","select_clause$subexpression$1$ebnf$2"]},{name:"select_clause",symbols:[k.has("RESERVED_SELECT")?{type:"RESERVED_SELECT"}:RESERVED_SELECT,"select_clause$subexpression$1"],postprocess:([e,[t,E]])=>({type:"clause",nameKw:Ge(e),children:[t,...E]})},{name:"select_clause",symbols:[k.has("RESERVED_SELECT")?{type:"RESERVED_SELECT"}:RESERVED_SELECT],postprocess:([e])=>({type:"clause",nameKw:Ge(e),children:[]})},{name:"all_columns_asterisk",symbols:[k.has("ASTERISK")?{type:"ASTERISK"}:ASTERISK],postprocess:()=>({type:"all_columns_asterisk"})},{name:"other_clause$ebnf$1",symbols:[]},{name:"other_clause$ebnf$1",symbols:["other_clause$ebnf$1","free_form_sql"],postprocess:e=>e[0].concat([e[1]])},{name:"other_clause",symbols:[k.has("RESERVED_CLAUSE")?{type:"RESERVED_CLAUSE"}:RESERVED_CLAUSE,"other_clause$ebnf$1"],postprocess:([e,t])=>({type:"clause",nameKw:Ge(e),children:t})},{name:"set_operation$ebnf$1",symbols:[]},{name:"set_operation$ebnf$1",symbols:["set_operation$ebnf$1","free_form_sql"],postprocess:e=>e[0].concat([e[1]])},{name:"set_operation",symbols:[k.has("RESERVED_SET_OPERATION")?{type:"RESERVED_SET_OPERATION"}:RESERVED_SET_OPERATION,"set_operation$ebnf$1"],postprocess:([e,t])=>({type:"set_operation",nameKw:Ge(e),children:t})},{name:"expression_chain_$ebnf$1",symbols:["expression_with_comments_"]},{name:"expression_chain_$ebnf$1",symbols:["expression_chain_$ebnf$1","expression_with_comments_"],postprocess:e=>e[0].concat([e[1]])},{name:"expression_chain_",symbols:["expression_chain_$ebnf$1"],postprocess:cr},{name:"expression_chain$ebnf$1",symbols:[]},{name:"expression_chain$ebnf$1",symbols:["expression_chain$ebnf$1","_expression_with_comments"],postprocess:e=>e[0].concat([e[1]])},{name:"expression_chain",symbols:["expression","expression_chain$ebnf$1"],postprocess:([e,t])=>[e,...t]},{name:"andless_expression_chain$ebnf$1",symbols:[]},{name:"andless_expression_chain$ebnf$1",symbols:["andless_expression_chain$ebnf$1","_andless_expression_with_comments"],postprocess:e=>e[0].concat([e[1]])},{name:"andless_expression_chain",symbols:["andless_expression","andless_expression_chain$ebnf$1"],postprocess:([e,t])=>[e,...t]},{name:"expression_with_comments_",symbols:["expression","_"],postprocess:([e,t])=>me(e,{trailing:t})},{name:"_expression_with_comments",symbols:["_","expression"],postprocess:([e,t])=>me(t,{leading:e})},{name:"_andless_expression_with_comments",symbols:["_","andless_expression"],postprocess:([e,t])=>me(t,{leading:e})},{name:"free_form_sql$subexpression$1",symbols:["asteriskless_free_form_sql"]},{name:"free_form_sql$subexpression$1",symbols:["asterisk"]},{name:"free_form_sql",symbols:["free_form_sql$subexpression$1"],postprocess:xt},{name:"asteriskless_free_form_sql$subexpression$1",symbols:["asteriskless_andless_expression"]},{name:"asteriskless_free_form_sql$subexpression$1",symbols:["logic_operator"]},{name:"asteriskless_free_form_sql$subexpression$1",symbols:["comma"]},{name:"asteriskless_free_form_sql$subexpression$1",symbols:["comment"]},{name:"asteriskless_free_form_sql$subexpression$1",symbols:["other_keyword"]},{name:"asteriskless_free_form_sql",symbols:["asteriskless_free_form_sql$subexpression$1"],postprocess:xt},{name:"expression$subexpression$1",symbols:["andless_expression"]},{name:"expression$subexpression$1",symbols:["logic_operator"]},{name:"expression",symbols:["expression$subexpression$1"],postprocess:xt},{name:"andless_expression$subexpression$1",symbols:["asteriskless_andless_expression"]},{name:"andless_expression$subexpression$1",symbols:["asterisk"]},{name:"andless_expression",symbols:["andless_expression$subexpression$1"],postprocess:xt},{name:"asteriskless_andless_expression$subexpression$1",symbols:["atomic_expression"]},{name:"asteriskless_andless_expression$subexpression$1",symbols:["between_predicate"]},{name:"asteriskless_andless_expression$subexpression$1",symbols:["case_expression"]},{name:"asteriskless_andless_expression",symbols:["asteriskless_andless_expression$subexpression$1"],postprocess:xt},{name:"atomic_expression$subexpression$1",symbols:["array_subscript"]},{name:"atomic_expression$subexpression$1",symbols:["function_call"]},{name:"atomic_expression$subexpression$1",symbols:["property_access"]},{name:"atomic_expression$subexpression$1",symbols:["parenthesis"]},{name:"atomic_expression$subexpression$1",symbols:["curly_braces"]},{name:"atomic_expression$subexpression$1",symbols:["square_brackets"]},{name:"atomic_expression$subexpression$1",symbols:["operator"]},{name:"atomic_expression$subexpression$1",symbols:["identifier"]},{name:"atomic_expression$subexpression$1",symbols:["parameter"]},{name:"atomic_expression$subexpression$1",symbols:["literal"]},{name:"atomic_expression$subexpression$1",symbols:["data_type"]},{name:"atomic_expression$subexpression$1",symbols:["keyword"]},{name:"atomic_expression",symbols:["atomic_expression$subexpression$1"],postprocess:xt},{name:"array_subscript",symbols:[k.has("ARRAY_IDENTIFIER")?{type:"ARRAY_IDENTIFIER"}:ARRAY_IDENTIFIER,"_","square_brackets"],postprocess:([e,t,E])=>({type:"array_subscript",array:me({type:"identifier",quoted:!1,text:e.text},{trailing:t}),parenthesis:E})},{name:"array_subscript",symbols:[k.has("ARRAY_KEYWORD")?{type:"ARRAY_KEYWORD"}:ARRAY_KEYWORD,"_","square_brackets"],postprocess:([e,t,E])=>({type:"array_subscript",array:me(Ge(e),{trailing:t}),parenthesis:E})},{name:"function_call",symbols:[k.has("RESERVED_FUNCTION_NAME")?{type:"RESERVED_FUNCTION_NAME"}:RESERVED_FUNCTION_NAME,"_","parenthesis"],postprocess:([e,t,E])=>({type:"function_call",nameKw:me(Ge(e),{trailing:t}),parenthesis:E})},{name:"parenthesis",symbols:[{literal:"("},"expressions_or_clauses",{literal:")"}],postprocess:([e,t,E])=>({type:"parenthesis",children:t,openParen:"(",closeParen:")"})},{name:"curly_braces$ebnf$1",symbols:[]},{name:"curly_braces$ebnf$1",symbols:["curly_braces$ebnf$1","free_form_sql"],postprocess:e=>e[0].concat([e[1]])},{name:"curly_braces",symbols:[{literal:"{"},"curly_braces$ebnf$1",{literal:"}"}],postprocess:([e,t,E])=>({type:"parenthesis",children:t,openParen:"{",closeParen:"}"})},{name:"square_brackets$ebnf$1",symbols:[]},{name:"square_brackets$ebnf$1",symbols:["square_brackets$ebnf$1","free_form_sql"],postprocess:e=>e[0].concat([e[1]])},{name:"square_brackets",symbols:[{literal:"["},"square_brackets$ebnf$1",{literal:"]"}],postprocess:([e,t,E])=>({type:"parenthesis",children:t,openParen:"[",closeParen:"]"})},{name:"property_access$subexpression$1",symbols:["identifier"]},{name:"property_access$subexpression$1",symbols:["array_subscript"]},{name:"property_access$subexpression$1",symbols:["all_columns_asterisk"]},{name:"property_access$subexpression$1",symbols:["parameter"]},{name:"property_access",symbols:["atomic_expression","_",k.has("DOT")?{type:"DOT"}:DOT,"_","property_access$subexpression$1"],postprocess:([e,t,E,s,[r]])=>({type:"property_access",object:me(e,{trailing:t}),property:me(r,{leading:s})})},{name:"between_predicate",symbols:[k.has("BETWEEN")?{type:"BETWEEN"}:BETWEEN,"_","andless_expression_chain","_",k.has("AND")?{type:"AND"}:AND,"_","andless_expression"],postprocess:([e,t,E,s,r,T,n])=>({type:"between_predicate",betweenKw:Ge(e),expr1:qc(E,{leading:t,trailing:s}),andKw:Ge(r),expr2:[me(n,{leading:T})]})},{name:"case_expression$ebnf$1",symbols:["expression_chain_"],postprocess:cr},{name:"case_expression$ebnf$1",symbols:[],postprocess:()=>null},{name:"case_expression$ebnf$2",symbols:[]},{name:"case_expression$ebnf$2",symbols:["case_expression$ebnf$2","case_clause"],postprocess:e=>e[0].concat([e[1]])},{name:"case_expression",symbols:[k.has("CASE")?{type:"CASE"}:CASE,"_","case_expression$ebnf$1","case_expression$ebnf$2",k.has("END")?{type:"END"}:END],postprocess:([e,t,E,s,r])=>({type:"case_expression",caseKw:me(Ge(e),{trailing:t}),endKw:Ge(r),expr:E||[],clauses:s})},{name:"case_clause",symbols:[k.has("WHEN")?{type:"WHEN"}:WHEN,"_","expression_chain_",k.has("THEN")?{type:"THEN"}:THEN,"_","expression_chain_"],postprocess:([e,t,E,s,r,T])=>({type:"case_when",whenKw:me(Ge(e),{trailing:t}),thenKw:me(Ge(s),{trailing:r}),condition:E,result:T})},{name:"case_clause",symbols:[k.has("ELSE")?{type:"ELSE"}:ELSE,"_","expression_chain_"],postprocess:([e,t,E])=>({type:"case_else",elseKw:me(Ge(e),{trailing:t}),result:E})},{name:"comma$subexpression$1",symbols:[k.has("COMMA")?{type:"COMMA"}:COMMA]},{name:"comma",symbols:["comma$subexpression$1"],postprocess:([[e]])=>({type:"comma"})},{name:"asterisk$subexpression$1",symbols:[k.has("ASTERISK")?{type:"ASTERISK"}:ASTERISK]},{name:"asterisk",symbols:["asterisk$subexpression$1"],postprocess:([[e]])=>({type:"operator",text:e.text})},{name:"operator$subexpression$1",symbols:[k.has("OPERATOR")?{type:"OPERATOR"}:OPERATOR]},{name:"operator",symbols:["operator$subexpression$1"],postprocess:([[e]])=>({type:"operator",text:e.text})},{name:"identifier$subexpression$1",symbols:[k.has("IDENTIFIER")?{type:"IDENTIFIER"}:IDENTIFIER]},{name:"identifier$subexpression$1",symbols:[k.has("QUOTED_IDENTIFIER")?{type:"QUOTED_IDENTIFIER"}:QUOTED_IDENTIFIER]},{name:"identifier$subexpression$1",symbols:[k.has("VARIABLE")?{type:"VARIABLE"}:VARIABLE]},{name:"identifier",symbols:["identifier$subexpression$1"],postprocess:([[e]])=>({type:"identifier",quoted:e.type!=="IDENTIFIER",text:e.text})},{name:"parameter$subexpression$1",symbols:[k.has("NAMED_PARAMETER")?{type:"NAMED_PARAMETER"}:NAMED_PARAMETER]},{name:"parameter$subexpression$1",symbols:[k.has("QUOTED_PARAMETER")?{type:"QUOTED_PARAMETER"}:QUOTED_PARAMETER]},{name:"parameter$subexpression$1",symbols:[k.has("NUMBERED_PARAMETER")?{type:"NUMBERED_PARAMETER"}:NUMBERED_PARAMETER]},{name:"parameter$subexpression$1",symbols:[k.has("POSITIONAL_PARAMETER")?{type:"POSITIONAL_PARAMETER"}:POSITIONAL_PARAMETER]},{name:"parameter$subexpression$1",symbols:[k.has("CUSTOM_PARAMETER")?{type:"CUSTOM_PARAMETER"}:CUSTOM_PARAMETER]},{name:"parameter",symbols:["parameter$subexpression$1"],postprocess:([[e]])=>({type:"parameter",key:e.key,text:e.text})},{name:"literal$subexpression$1",symbols:[k.has("NUMBER")?{type:"NUMBER"}:NUMBER]},{name:"literal$subexpression$1",symbols:[k.has("STRING")?{type:"STRING"}:STRING]},{name:"literal",symbols:["literal$subexpression$1"],postprocess:([[e]])=>({type:"literal",text:e.text})},{name:"keyword$subexpression$1",symbols:[k.has("RESERVED_KEYWORD")?{type:"RESERVED_KEYWORD"}:RESERVED_KEYWORD]},{name:"keyword$subexpression$1",symbols:[k.has("RESERVED_PHRASE")?{type:"RESERVED_PHRASE"}:RESERVED_PHRASE]},{name:"keyword$subexpression$1",symbols:[k.has("RESERVED_JOIN")?{type:"RESERVED_JOIN"}:RESERVED_JOIN]},{name:"keyword",symbols:["keyword$subexpression$1"],postprocess:([[e]])=>Ge(e)},{name:"data_type$subexpression$1",symbols:[k.has("RESERVED_DATA_TYPE")?{type:"RESERVED_DATA_TYPE"}:RESERVED_DATA_TYPE]},{name:"data_type",symbols:["data_type$subexpression$1"],postprocess:([[e]])=>ro(e)},{name:"data_type",symbols:[k.has("RESERVED_PARAMETERIZED_DATA_TYPE")?{type:"RESERVED_PARAMETERIZED_DATA_TYPE"}:RESERVED_PARAMETERIZED_DATA_TYPE,"_","parenthesis"],postprocess:([e,t,E])=>({type:"parameterized_data_type",dataType:me(ro(e),{trailing:t}),parenthesis:E})},{name:"logic_operator$subexpression$1",symbols:[k.has("AND")?{type:"AND"}:AND]},{name:"logic_operator$subexpression$1",symbols:[k.has("OR")?{type:"OR"}:OR]},{name:"logic_operator$subexpression$1",symbols:[k.has("XOR")?{type:"XOR"}:XOR]},{name:"logic_operator",symbols:["logic_operator$subexpression$1"],postprocess:([[e]])=>Ge(e)},{name:"other_keyword$subexpression$1",symbols:[k.has("WHEN")?{type:"WHEN"}:WHEN]},{name:"other_keyword$subexpression$1",symbols:[k.has("THEN")?{type:"THEN"}:THEN]},{name:"other_keyword$subexpression$1",symbols:[k.has("ELSE")?{type:"ELSE"}:ELSE]},{name:"other_keyword$subexpression$1",symbols:[k.has("END")?{type:"END"}:END]},{name:"other_keyword",symbols:["other_keyword$subexpression$1"],postprocess:([[e]])=>Ge(e)},{name:"_$ebnf$1",symbols:[]},{name:"_$ebnf$1",symbols:["_$ebnf$1","comment"],postprocess:e=>e[0].concat([e[1]])},{name:"_",symbols:["_$ebnf$1"],postprocess:([e])=>e},{name:"comment",symbols:[k.has("LINE_COMMENT")?{type:"LINE_COMMENT"}:LINE_COMMENT],postprocess:([e])=>({type:"line_comment",text:e.text,precedingWhitespace:e.precedingWhitespace})},{name:"comment",symbols:[k.has("BLOCK_COMMENT")?{type:"BLOCK_COMMENT"}:BLOCK_COMMENT],postprocess:([e])=>({type:"block_comment",text:e.text,precedingWhitespace:e.precedingWhitespace})}],ParserStart:"main"},Zc=Qc,{Parser:zc,Grammar:eC}=aN;function tC(e){let t={};const E=new FA(r=>[...wc(e.tokenize(r,t)),hA(r.length)]),s=new zc(eC.fromCompiled(Zc),{lexer:E});return{parse:(r,T)=>{t=T;const{results:n}=s.feed(r);if(n.length===1)return n[0];throw n.length===0?new Error("Parse error: Invalid SQL"):new Error(`Parse error: Ambiguous grammar +${JSON.stringify(n,void 0,2)}`)}}}var YA=class{constructor(e){this.indentation=e,this.items=[]}add(...e){for(const t of e)switch(t){case 0:this.items.push(0);break;case 1:this.trimHorizontalWhitespace();break;case 2:this.trimWhitespace();break;case 3:this.trimHorizontalWhitespace(),this.addNewline(3);break;case 4:this.trimHorizontalWhitespace(),this.addNewline(4);break;case 5:this.addIndentation();break;case 6:this.items.push(6);break;default:this.items.push(t)}}trimHorizontalWhitespace(){for(;EC(jE(this.items));)this.items.pop()}trimWhitespace(){for(;sC(jE(this.items));)this.items.pop()}addNewline(e){if(this.items.length>0)switch(jE(this.items)){case 3:this.items.pop(),this.items.push(e);break;case 4:break;default:this.items.push(e);break}}addIndentation(){for(let e=0;ethis.itemToString(e)).join("")}getLayoutItems(){return this.items}itemToString(e){switch(e){case 0:return" ";case 3:case 4:return` +`;case 6:return this.indentation.getSingleIndent();default:return e}}},EC=e=>e===0||e===6,sC=e=>e===0||e===6||e===3;function To(e,t){if(t==="standard")return e;let E=[];return e.length>=10&&e.includes(" ")&&([e,...E]=e.split(" ")),t==="tabularLeft"?e=e.padEnd(9," "):e=e.padStart(9," "),e+["",...E].join(" ")}function no(e){return DN(e)||e==="RESERVED_CLAUSE"||e==="RESERVED_SELECT"||e==="RESERVED_SET_OPERATION"||e==="RESERVED_JOIN"||e==="LIMIT"}var Cr="top-level",rC="block-level",VA=class{constructor(e){this.indent=e,this.indentTypes=[]}getSingleIndent(){return this.indent}getLevel(){return this.indentTypes.length}increaseTopLevel(){this.indentTypes.push(Cr)}increaseBlockLevel(){this.indentTypes.push(rC)}decreaseTopLevel(){this.indentTypes.length>0&&jE(this.indentTypes)===Cr&&this.indentTypes.pop()}decreaseBlockLevel(){for(;this.indentTypes.length>0&&this.indentTypes.pop()===Cr;);}},TC=class extends YA{constructor(e){super(new VA("")),this.expressionWidth=e,this.length=0,this.trailingSpace=!1}add(...e){if(e.forEach(t=>this.addToLength(t)),this.length>this.expressionWidth)throw new xr;super.add(...e)}addToLength(e){if(typeof e=="string")this.length+=e.length,this.trailingSpace=!1;else{if(e===4||e===3)throw new xr;e===5||e===6||e===0?this.trailingSpace||(this.length++,this.trailingSpace=!0):(e===2||e===1)&&this.trailingSpace&&(this.trailingSpace=!1,this.length--)}}},xr=class extends Error{},nC=class wr{constructor({cfg:t,dialectCfg:E,params:s,layout:r,inline:T=!1}){this.inline=!1,this.nodes=[],this.index=-1,this.cfg=t,this.dialectCfg=E,this.inline=T,this.params=s,this.layout=r}format(t){for(this.nodes=t,this.index=0;this.index{this.layout.add(this.showFunctionKw(t.nameKw))}),this.formatNode(t.parenthesis)}formatParameterizedDataType(t){this.withComments(t.dataType,()=>{this.layout.add(this.showDataType(t.dataType))}),this.formatNode(t.parenthesis)}formatArraySubscript(t){let E;switch(t.array.type){case"data_type":E=this.showDataType(t.array);break;case"keyword":E=this.showKw(t.array);break;default:E=this.showIdentifier(t.array);break}this.withComments(t.array,()=>{this.layout.add(E)}),this.formatNode(t.parenthesis)}formatPropertyAccess(t){this.formatNode(t.object),this.layout.add(1,"."),this.formatNode(t.property)}formatParenthesis(t){const E=this.formatInlineExpression(t.children);E?(this.layout.add(t.openParen),this.layout.add(...E.getLayoutItems()),this.layout.add(1,t.closeParen,0)):(this.layout.add(t.openParen,3),HE(this.cfg)?(this.layout.add(5),this.layout=this.formatSubExpression(t.children)):(this.layout.indentation.increaseBlockLevel(),this.layout.add(5),this.layout=this.formatSubExpression(t.children),this.layout.indentation.decreaseBlockLevel()),this.layout.add(3,5,t.closeParen,0))}formatBetweenPredicate(t){this.layout.add(this.showKw(t.betweenKw),0),this.layout=this.formatSubExpression(t.expr1),this.layout.add(1,0,this.showNonTabularKw(t.andKw),0),this.layout=this.formatSubExpression(t.expr2),this.layout.add(0)}formatCaseExpression(t){this.formatNode(t.caseKw),this.layout.indentation.increaseBlockLevel(),this.layout=this.formatSubExpression(t.expr),this.layout=this.formatSubExpression(t.clauses),this.layout.indentation.decreaseBlockLevel(),this.layout.add(3,5),this.formatNode(t.endKw)}formatCaseWhen(t){this.layout.add(3,5),this.formatNode(t.whenKw),this.layout=this.formatSubExpression(t.condition),this.formatNode(t.thenKw),this.layout=this.formatSubExpression(t.result)}formatCaseElse(t){this.layout.add(3,5),this.formatNode(t.elseKw),this.layout=this.formatSubExpression(t.result)}formatClause(t){this.isOnelineClause(t)?this.formatClauseInOnelineStyle(t):HE(this.cfg)?this.formatClauseInTabularStyle(t):this.formatClauseInIndentedStyle(t)}isOnelineClause(t){return this.dialectCfg.onelineClauses[t.nameKw.text]}formatClauseInIndentedStyle(t){this.layout.add(3,5,this.showKw(t.nameKw),3),this.layout.indentation.increaseTopLevel(),this.layout.add(5),this.layout=this.formatSubExpression(t.children),this.layout.indentation.decreaseTopLevel()}formatClauseInOnelineStyle(t){this.layout.add(3,5,this.showKw(t.nameKw),0),this.layout=this.formatSubExpression(t.children)}formatClauseInTabularStyle(t){this.layout.add(3,5,this.showKw(t.nameKw),0),this.layout.indentation.increaseTopLevel(),this.layout=this.formatSubExpression(t.children),this.layout.indentation.decreaseTopLevel()}formatSetOperation(t){this.layout.add(3,5,this.showKw(t.nameKw),3),this.layout.add(5),this.layout=this.formatSubExpression(t.children)}formatLimitClause(t){this.withComments(t.limitKw,()=>{this.layout.add(3,5,this.showKw(t.limitKw))}),this.layout.indentation.increaseTopLevel(),HE(this.cfg)?this.layout.add(0):this.layout.add(3,5),t.offset?(this.layout=this.formatSubExpression(t.offset),this.layout.add(1,",",0),this.layout=this.formatSubExpression(t.count)):this.layout=this.formatSubExpression(t.count),this.layout.indentation.decreaseTopLevel()}formatAllColumnsAsterisk(t){this.layout.add("*",0)}formatLiteral(t){this.layout.add(t.text,0)}formatIdentifier(t){this.layout.add(this.showIdentifier(t),0)}formatParameter(t){this.layout.add(this.params.get(t),0)}formatOperator({text:t}){this.cfg.denseOperators||this.dialectCfg.alwaysDenseOperators.includes(t)?this.layout.add(1,t):t===":"?this.layout.add(1,t,0):this.layout.add(t,0)}formatComma(t){this.inline?this.layout.add(1,",",0):this.layout.add(1,",",3,5)}withComments(t,E){this.formatComments(t.leadingComments),E(),this.formatComments(t.trailingComments)}formatComments(t){t&&t.forEach(E=>{E.type==="line_comment"?this.formatLineComment(E):this.formatBlockComment(E)})}formatLineComment(t){lr(t.precedingWhitespace||"")?this.layout.add(3,5,t.text,4,5):this.layout.getLayoutItems().length>0?this.layout.add(2,0,t.text,4,5):this.layout.add(t.text,4,5)}formatBlockComment(t){this.isMultilineBlockComment(t)?(this.splitBlockComment(t.text).forEach(E=>{this.layout.add(3,5,E)}),this.layout.add(3,5)):this.layout.add(t.text,0)}isMultilineBlockComment(t){return lr(t.text)||lr(t.precedingWhitespace||"")}isDocComment(t){const E=t.split(/\n/);return/^\/\*\*?$/.test(E[0])&&E.slice(1,E.length-1).every(s=>/^\s*\*/.test(s))&&/^\s*\*\/$/.test(jE(E))}splitBlockComment(t){return this.isDocComment(t)?t.split(/\n/).map(E=>/^\s*\*/.test(E)?" "+E.replace(/^\s*/,""):E):t.split(/\n/).map(E=>E.replace(/^\s*/,""))}formatSubExpression(t){return new wr({cfg:this.cfg,dialectCfg:this.dialectCfg,params:this.params,layout:this.layout,inline:this.inline}).format(t)}formatInlineExpression(t){const E=this.params.getPositionalParameterIndex();try{return new wr({cfg:this.cfg,dialectCfg:this.dialectCfg,params:this.params,layout:new TC(this.cfg.expressionWidth),inline:!0}).format(t)}catch(s){if(s instanceof xr){this.params.setPositionalParameterIndex(E);return}else throw s}}formatKeywordNode(t){switch(t.tokenType){case"RESERVED_JOIN":return this.formatJoin(t);case"AND":case"OR":case"XOR":return this.formatLogicalOperator(t);default:return this.formatKeyword(t)}}formatJoin(t){HE(this.cfg)?(this.layout.indentation.decreaseTopLevel(),this.layout.add(3,5,this.showKw(t),0),this.layout.indentation.increaseTopLevel()):this.layout.add(3,5,this.showKw(t),0)}formatKeyword(t){this.layout.add(this.showKw(t),0)}formatLogicalOperator(t){this.cfg.logicalOperatorNewline==="before"?HE(this.cfg)?(this.layout.indentation.decreaseTopLevel(),this.layout.add(3,5,this.showKw(t),0),this.layout.indentation.increaseTopLevel()):this.layout.add(3,5,this.showKw(t),0):this.layout.add(this.showKw(t),3,5)}formatDataType(t){this.layout.add(this.showDataType(t),0)}showKw(t){return no(t.tokenType)?To(this.showNonTabularKw(t),this.cfg.indentStyle):this.showNonTabularKw(t)}showNonTabularKw(t){switch(this.cfg.keywordCase){case"preserve":return Ds(t.raw);case"upper":return t.text;case"lower":return t.text.toLowerCase()}}showFunctionKw(t){return no(t.tokenType)?To(this.showNonTabularFunctionKw(t),this.cfg.indentStyle):this.showNonTabularFunctionKw(t)}showNonTabularFunctionKw(t){switch(this.cfg.functionCase){case"preserve":return Ds(t.raw);case"upper":return t.text;case"lower":return t.text.toLowerCase()}}showIdentifier(t){if(t.quoted)return t.text;switch(this.cfg.identifierCase){case"preserve":return t.text;case"upper":return t.text.toUpperCase();case"lower":return t.text.toLowerCase()}}showDataType(t){switch(this.cfg.dataTypeCase){case"preserve":return Ds(t.raw);case"upper":return t.text;case"lower":return t.text.toLowerCase()}}},oC=class{constructor(e,t){this.dialect=e,this.cfg=t,this.params=new xc(this.cfg.params)}format(e){const t=this.parse(e);return this.formatAst(t).trimEnd()}parse(e){return tC(this.dialect.tokenizer).parse(e,this.cfg.paramTypes||{})}formatAst(e){return e.map(t=>this.formatStatement(t)).join(` +`.repeat(this.cfg.linesBetweenQueries+1))}formatStatement(e){const t=new nC({cfg:this.cfg,dialectCfg:this.dialect.formatOptions,params:this.params,layout:new YA(new VA(Vc(this.cfg)))}).format(e.children);return e.hasSemicolon&&(this.cfg.newlineBeforeSemicolon?t.add(3,";"):t.add(2,";")),t.toString()}},Wr=class extends Error{};function RC(e){const t=["multilineLists","newlineBeforeOpenParen","newlineBeforeCloseParen","aliasAs","commaPosition","tabulateAlias"];for(const E of t)if(E in e)throw new Wr(`${E} config is no more supported.`);if(e.expressionWidth<=0)throw new Wr(`expressionWidth config must be positive number. Received ${e.expressionWidth} instead.`);return e.params&&!AC(e.params)&&console.warn('WARNING: All "params" option values should be strings.'),e}function AC(e){return(e instanceof Array?e:Object.values(e)).every(E=>typeof E=="string")}var xA={bigquery:"bigquery",db2:"db2",db2i:"db2i",hive:"hive",mariadb:"mariadb",mysql:"mysql",n1ql:"n1ql",plsql:"plsql",postgresql:"postgresql",redshift:"redshift",spark:"spark",sqlite:"sqlite",sql:"sql",trino:"trino",transactsql:"transactsql",tsql:"transactsql",singlestoredb:"singlestoredb",snowflake:"snowflake"},iC=Object.keys(xA),SC={tabWidth:2,useTabs:!1,keywordCase:"preserve",identifierCase:"preserve",dataTypeCase:"preserve",functionCase:"preserve",indentStyle:"standard",logicalOperatorNewline:"before",expressionWidth:50,linesBetweenQueries:1,denseOperators:!1,newlineBeforeSemicolon:!1},aC=(e,t={})=>{if(typeof t.language=="string"&&!iC.includes(t.language))throw new Wr(`Unsupported SQL dialect: ${t.language}`);const E=xA[t.language||"sql"];return OC(e,We(Be({},t),{dialect:MA[E]}))},OC=(e,t)=>{var E=t,{dialect:s}=E,r=NN(E,["dialect"]);if(typeof e!="string")throw new Error("Invalid query argument. Expected string, instead got "+typeof e);const T=RC(Be(Be({},SC),r));return new oC(vc(s),T).format(e)};const IC={class:"flex items-center space-x-3"},NC={class:"font-bold text-lg"},lC={key:0,class:"px-1 py-0.5 rounded text-xs bg-sky-600 text-white"},_C={key:1,class:"px-1 py-0.5 rounded text-xs bg-emerald-600 text-white"},cC={key:2},CC=["textContent"],LC={key:0,class:"mt-4 ml-4"},uC={class:""},fC={class:"mt-3 text-stone-400 text-sm"},pC=["textContent"],PC=["textContent"],DC=Me({__name:"QueryItem",props:{query:{}},setup(e){const t=e,E=bt({isOpen:!0,isFormatted:!1});function s(r){const T="text/plain",n=new Blob([r],{type:T}),o=[new ClipboardItem({[T]:n})];navigator.clipboard.write(o)}return(r,T)=>{const n=Ts("highlightjs");return g(),Y("div",null,[a("div",IC,[a("button",{class:"flex items-center space-x-1",onClick:T[0]||(T[0]=o=>E.isOpen=!E.isOpen)},[$(se(fA),{class:ke(["size-4",{"-rotate-90":!E.isOpen}])},null,8,["class"]),a("span",NC,re(r.query.name),1)]),t.query.cached?(g(),Y("span",lC,"cached")):Te("",!0),t.query.async?(g(),Y("span",_C,"async")):Te("",!0),E.isOpen?(g(),Y("div",cC,[a("span",{onClick:T[1]||(T[1]=o=>E.isFormatted=!E.isFormatted),class:"px-3 text-xs uppercase text-stone-400 cursor-pointer",title:"Format SQL query",textContent:re(E.isFormatted?"unformat":"format")},null,8,CC),a("span",{onClick:T[2]||(T[2]=o=>s(r.query.sql)),class:"px-3 text-xs uppercase text-stone-400 cursor-pointer",title:"Copy SQL query to clipboard"},"copy")])):Te("",!0)]),E.isOpen?(g(),Y("div",LC,[a("div",uC,[$(n,{language:"sql",code:E.isFormatted?se(aC)(r.query.sql):r.query.sql},null,8,["code"])]),a("div",fC,[a("div",{textContent:re(r.query.source[0])},null,8,pC),r.query.source.length>1?(g(!0),Y(_e,{key:0},qe(r.query.source.slice(1),o=>(g(),Y("div",{class:"pl-4",textContent:re("↳ "+o)},null,8,PC))),256)):Te("",!0)])])):Te("",!0)])}}}),dC=he(DC,[["__file","QueryItem.vue"]]),MC={class:"flex flex-col space-y-8"},UC=Me({__name:"QueriesPanel",props:{currentRequest:{}},setup(e){const t=e;return(E,s)=>(g(),ue(Lt,null,{default:Ae(()=>[a("div",MC,[(g(!0),Y(_e,null,qe(t.currentRequest.queries,r=>(g(),ue(dC,{key:r.id,query:r},null,8,["query"]))),128))])]),_:1}))}}),hC=he(UC,[["__file","QueriesPanel.vue"]]),gC={key:0},GC=a("div",{class:"text-gray-500"},"No jobs enqueued.",-1),mC=[GC],yC={key:1,class:"my-4 mx-6 divide-y divide-stone-300"},bC=a("thead",null,[a("tr",null,[a("th",{scope:"col",class:"w-36 py-3.5 pl-4 pr-3 text-left text-sm font-semibold text-stone-900 sm:pl-0"},"Job"),a("th",{scope:"col",class:"px-3 py-3.5 text-left text-sm font-semibold text-stone-900"},"Args"),a("th",{scope:"col",class:"px-3 py-3.5 text-left text-sm font-semibold text-stone-900"},"Logs")])],-1),HC={class:"divide-y divide-stone-200"},BC={class:"whitespace-nowrap p-4 pr-8 text-stone-900"},vC=["textContent"],FC={class:"text-stone-600 text-sm"},YC=["textContent"],VC=["textContent"],xC={class:"whitespace-nowrap px-3 p-4 pr-8 text-sm"},wC={class:"whitespace-nowrap px-3 p-4 pr-8 text-sm text-stone-500"},WC=["innerHTML"],XC=Me({__name:"JobsPanel",props:{jobs:{}},setup(e){const t=e;function E(s){return s==null?"-":new Date(s*1e3).toLocaleString()}return(s,r)=>{const T=Ts("highlightjs");return g(),ue(Lt,null,{default:Ae(()=>[t.jobs.length==0?(g(),Y("div",gC,mC)):Te("",!0),t.jobs.length>0?(g(),Y("table",yC,[bC,a("tbody",HC,[(g(!0),Y(_e,null,qe(t.jobs,(n,o)=>(g(),Y("tr",{key:n.id},[a("td",BC,[a("div",{class:"text-lg font-bold",textContent:re(n.class)},null,8,vC),a("div",FC,[a("div",{textContent:re("Queue: "+n.queue)},null,8,YC),a("div",{textContent:re("At: "+E(n.scheduled_at))},null,8,VC)])]),a("td",xC,[$(T,{language:"json",code:JSON.stringify(n.args,null,2)},null,8,["code"])]),a("td",wC,[(g(!0),Y(_e,null,qe(n.logs,(R,A)=>(g(),Y("div",{innerHTML:(A>0?"  ".repeat(A)+"↳ ":"")+R,class:""},null,8,WC))),256))])]))),128))])])):Te("",!0)]),_:1})}}}),$C=he(XC,[["__file","JobsPanel.vue"]]),KC={key:0},JC=a("div",{class:"text-gray-500"},"No logs to show. Are you using the correct minimum level in your config?",-1),kC=[JC],jC={class:"flex items-center space-y-1 space-x-3"},qC={class:"w-32 text-right text-gray-400"},QC={class:"w-20 text-center"},ZC=["title"],zC=["innerHTML"],eL=Me({__name:"LogsPanel",props:{logs:{}},setup(e){const t=e;function E(s){return(s.progname||s.message||"").replace(" ","  ")}return(s,r)=>(g(),ue(Lt,null,{default:Ae(()=>[t.logs.length==0?(g(),Y("div",KC,kC)):Te("",!0),(g(!0),Y(_e,null,qe(t.logs,T=>(g(),Y("div",jC,[a("div",qC,re(T.time),1),a("div",QC,[a("span",{class:ke(["px-1 py-0.5 rounded text-white text-xs font-mono font-medium",{"bg-stone-400":T.severity==0,"bg-blue-500":T.severity==1,"bg-amber-400":T.severity==2,"bg-red-400":T.severity==2,"bg-fuchsia-500":T.severity>=3}]),title:T.severity_label},re(T.severity_label),11,ZC)]),a("div",{class:"text-gray-800",innerHTML:E(T)},null,8,zC)]))),256))]),_:1}))}}),tL=he(eL,[["__file","LogsPanel.vue"]]),EL={class:"flex flex-col space-y-8"},sL={class:"space-y-3"},rL=["textContent"],TL={class:"ml-4"},nL={key:0},oL=Me({__name:"MessagesPanel",props:{messages:{}},setup(e){const t=e;return(E,s)=>{const r=Ts("highlightjs");return g(),ue(Lt,null,{default:Ae(()=>[a("div",EL,[(g(!0),Y(_e,null,qe(t.messages,(T,n)=>(g(),Y("div",sL,[a("div",{class:"font-bold text-lg",textContent:re(T.msg)},null,8,rL),a("div",TL,[T.extra?Te("",!0):(g(),Y("div",nL,"–")),T.extra?(g(),ue(r,{key:1,language:"json",code:JSON.stringify(T.extra)},null,8,["code"])):Te("",!0)])]))),256))])]),_:1})}}}),RL=he(oL,[["__file","MessagesPanel.vue"]]);class AL{constructor(t){Ze(this,"id");Ze(this,"meta");Ze(this,"request");Ze(this,"response");Ze(this,"models");Ze(this,"queries");Ze(this,"jobs");Ze(this,"messages");Ze(this,"cache");Ze(this,"logs");this.id=(t==null?void 0:t.id)||"null",this.meta=(t==null?void 0:t.meta)||{},this.request=(t==null?void 0:t.request)||{},this.response=(t==null?void 0:t.response)||{},this.models=(t==null?void 0:t.models)||{},this.queries=(t==null?void 0:t.queries)||[],this.jobs=(t==null?void 0:t.jobs)||[],this.messages=(t==null?void 0:t.messages)||[],this.cache=(t==null?void 0:t.cache)||[],this.logs=(t==null?void 0:t.logs)||[]}get modelsCount(){return Object.values(this.models).reduce((t,E)=>t+E,0)}get queryCount(){return this.queries.length}get jobsCount(){return this.jobs.length}get messagesCount(){return this.messages.length}get cacheCount(){return this.cache.reduce((t,E)=>(t.indexOf(E.transaction_id)===-1&&t.push(E.transaction_id),t),[]).length}get pathWithVerb(){return`${this.meta.method.toUpperCase()} ${this.meta.path}`}get dataForTabs(){const t={messages:{label:"Debug",count:this.messagesCount},models:{label:"Models",count:this.modelsCount},queries:{label:"Queries",count:this.queryCount},jobs:{label:"Jobs",count:this.jobsCount},cache:{label:"Cache",count:this.cacheCount}};return this.logs.length>0&&(t.logs={label:"Logs"}),t}}let Xr=LA("requests",{state:()=>({requests:[],currentRequest:null}),actions:{addRequests(e){const t=[];return e.forEach(E=>{this.requests.find(s=>s.id===E.id)||this.requests.push(new AL(E)),t.push(E.id)}),t},setCurrentRequestById(e){this.currentRequest=this.requests.find(t=>t.id===e)},clearRequests(){this.requests=[],this.currentRequest=null}}});function iL(e,t,E){switch(E.length){case 0:return e.call(t);case 1:return e.call(t,E[0]);case 2:return e.call(t,E[0],E[1]);case 3:return e.call(t,E[0],E[1],E[2])}return e.apply(t,E)}var wA=iL;function SL(e){return e}var WA=SL,aL=wA,oo=Math.max;function OL(e,t,E){return t=oo(t===void 0?e.length-1:t,0),function(){for(var s=arguments,r=-1,T=oo(s.length-t,0),n=Array(T);++r0){if(++t>=uu)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}var Du=Pu,du=Lu,Mu=Du,Uu=Mu(du),jA=Uu,hu=WA,gu=XA,Gu=jA;function mu(e,t){return Gu(gu(e,t,hu),e+"")}var qA=mu;function yu(){this.__data__=[],this.size=0}var bu=yu;function Hu(e,t){return e===t||e!==e&&t!==t}var Er=Hu,Bu=Er;function vu(e,t){for(var E=e.length;E--;)if(Bu(e[E][0],t))return E;return-1}var sr=vu,Fu=sr,Yu=Array.prototype,Vu=Yu.splice;function xu(e){var t=this.__data__,E=Fu(t,e);if(E<0)return!1;var s=t.length-1;return E==s?t.pop():Vu.call(t,E,1),--this.size,!0}var wu=xu,Wu=sr;function Xu(e){var t=this.__data__,E=Wu(t,e);return E<0?void 0:t[E][1]}var $u=Xu,Ku=sr;function Ju(e){return Ku(this.__data__,e)>-1}var ku=Ju,ju=sr;function qu(e,t){var E=this.__data__,s=ju(E,e);return s<0?(++this.size,E.push([e,t])):E[s][1]=t,this}var Qu=qu,Zu=bu,zu=wu,ef=$u,tf=ku,Ef=Qu;function DE(e){var t=-1,E=e==null?0:e.length;for(this.clear();++t-1&&e%1==0&&e<=SP}var ni=aP,OP=pT,IP=ni;function NP(e){return e!=null&&IP(e.length)&&!OP(e)}var or=NP,lP=or,_P=Ht;function cP(e){return _P(e)&&lP(e)}var CP=cP,Ys={exports:{}};function LP(){return!1}var uP=LP;Ys.exports;(function(e,t){var E=Nt,s=uP,r=t&&!t.nodeType&&t,T=r&&!0&&e&&!e.nodeType&&e,n=T&&T.exports===r,o=n?E.Buffer:void 0,R=o?o.isBuffer:void 0,A=R||s;e.exports=A})(Ys,Ys.exports);var gT=Ys.exports,fP=PE,pP=MT,PP=Ht,DP="[object Object]",dP=Function.prototype,MP=Object.prototype,oi=dP.toString,UP=MP.hasOwnProperty,hP=oi.call(Object);function gP(e){if(!PP(e)||fP(e)!=DP)return!1;var t=pP(e);if(t===null)return!0;var E=UP.call(t,"constructor")&&t.constructor;return typeof E=="function"&&E instanceof E&&oi.call(E)==hP}var Ri=gP,GP=PE,mP=ni,yP=Ht,bP="[object Arguments]",HP="[object Array]",BP="[object Boolean]",vP="[object Date]",FP="[object Error]",YP="[object Function]",VP="[object Map]",xP="[object Number]",wP="[object Object]",WP="[object RegExp]",XP="[object Set]",$P="[object String]",KP="[object WeakMap]",JP="[object ArrayBuffer]",kP="[object DataView]",jP="[object Float32Array]",qP="[object Float64Array]",QP="[object Int8Array]",ZP="[object Int16Array]",zP="[object Int32Array]",eD="[object Uint8Array]",tD="[object Uint8ClampedArray]",ED="[object Uint16Array]",sD="[object Uint32Array]",le={};le[jP]=le[qP]=le[QP]=le[ZP]=le[zP]=le[eD]=le[tD]=le[ED]=le[sD]=!0;le[bP]=le[HP]=le[JP]=le[BP]=le[kP]=le[vP]=le[FP]=le[YP]=le[VP]=le[xP]=le[wP]=le[WP]=le[XP]=le[$P]=le[KP]=!1;function rD(e){return yP(e)&&mP(e.length)&&!!le[GP(e)]}var TD=rD;function nD(e){return function(t){return e(t)}}var GT=nD,Vs={exports:{}};Vs.exports;(function(e,t){var E=$A,s=t&&!t.nodeType&&t,r=s&&!0&&e&&!e.nodeType&&e,T=r&&r.exports===s,n=T&&E.process,o=function(){try{var R=r&&r.require&&r.require("util").types;return R||n&&n.binding&&n.binding("util")}catch{}}();e.exports=o})(Vs,Vs.exports);var mT=Vs.exports,oD=TD,RD=GT,Co=mT,Lo=Co&&Co.isTypedArray,AD=Lo?RD(Lo):oD,Ai=AD;function iD(e,t){if(!(t==="constructor"&&typeof e[t]=="function")&&t!="__proto__")return e[t]}var ii=iD,SD=DT,aD=Er,OD=Object.prototype,ID=OD.hasOwnProperty;function ND(e,t,E){var s=e[t];(!(ID.call(e,t)&&aD(s,E))||E===void 0&&!(t in e))&&SD(e,t,E)}var Si=ND,lD=Si,_D=DT;function cD(e,t,E,s){var r=!E;E||(E={});for(var T=-1,n=t.length;++T-1&&e%1==0&&e1?E[r-1]:void 0,n=r>2?E[2]:void 0;for(T=e.length>3&&typeof T=="function"?(r--,T):void 0,n&&Dd(E[0],E[1],n)&&(T=r<3?void 0:T,r=1),t=Object(t);++s({config:Yd(window._debugbarConfigOptions)})});const xd={key:0},wd=a("div",{class:"text-gray-500"},"No cache used.",-1),Wd=[wd],Xd={class:"space-y-3"},$d={class:"flex items-center space-x-8"},Kd={class:"w-24 text-sm text-right text-gray-400"},Jd={class:"w-16 text-right"},kd={class:"text-gray-800"},jd={class:"font-medium",title:"cache key"},qd={class:"text-xs text-gray-400",title:"transaction_id"},Qd=Me({__name:"CachePanel",props:{cache:{}},setup(e){const t=e;return(E,s)=>(g(),ue(Lt,null,{default:Ae(()=>[t.cache.length==0?(g(),Y("div",xd,Wd)):Te("",!0),a("div",Xd,[(g(!0),Y(_e,null,qe(t.cache,r=>(g(),Y("div",$d,[a("div",Kd,re(r.time),1),a("div",Jd,[a("span",{class:ke(["px-1 py-0.5 rounded text-white text-xs font-mono font-medium bg-stone-400",{"!bg-emerald-500":r.label=="hit","!bg-indigo-500":r.label=="write","!bg-amber-400":r.label=="read","!bg-red-400":r.label=="delete"}])},re(r.label),3)]),a("div",kd,[a("div",jd,re(r.key),1),a("div",qd,re(r.transaction_id),1)])]))),256))])]),_:1}))}}),Zd=he(Qd,[["__file","CachePanel.vue"]]);function zd(e,t){for(var E=-1,s=e==null?0:e.length,r=Array(s);++Er?0:r+t),E=E>r?r:E,E<0&&(E+=r),r=t>E?0:E-t>>>0,t>>>=0;for(var T=Array(r);++s0&&E(o)?t>1?hi(o,t-1,E,s,r):GG(r,o):s||(r[r.length]=o)}return r}var yG=hi,bG=yG;function HG(e){var t=e==null?0:e.length;return t?bG(e,1):[]}var BG=HG,vG=BG,FG=XA,YG=jA;function VG(e){return YG(FG(e,void 0,vG),e+"")}var xG=VG,wG=_i,WG=fg,XG=pG,$G=YT,KG=hE,JG=dG,kG=xG,jG=ui,qG=1,QG=2,ZG=4,zG=kG(function(e,t){var E={};if(e==null)return E;var s=!1;t=wG(t,function(T){return T=$G(T,e),s||(s=T.length>1),T}),KG(e,jG(e),E),s&&(E=WG(E,qG|QG|ZG,JG));for(var r=t.length;r--;)XG(E,t[r]);return E}),em=zG;const tm=xs(em),Em={class:"break-all w-full border-separate border-spacing-1"},sm={key:0},rm=["textContent"],Tm=["textContent"],nm=Me({__name:"KeyValueTable",props:{keyLabel:{},valueLabel:{}},setup(e){const t=e;return(E,s)=>(g(),Y("table",Em,[t.keyLabel||t.valueLabel?(g(),Y("tr",sm,[a("th",{textContent:re(t.keyLabel),class:"bg-amber-50 w-40 px-3 py-1"},null,8,rm),a("th",{textContent:re(t.valueLabel),class:"bg-amber-50 px-3 py-1"},null,8,Tm)])):Te("",!0),pE(E.$slots,"default")]))}}),vE=he(nm,[["__file","KeyValueTable.vue"]]),om=["textContent"],Rm={class:"px-3 py-1"},Am=Me({__name:"Row",props:{label:{}},setup(e){const t=e;return(E,s)=>(g(),Y("tr",null,[a("td",{textContent:re(t.label),class:"w-40 font-medium bg-stone-50 px-3 py-1"},null,8,om),a("td",Rm,[pE(E.$slots,"default")])]))}}),ze=he(Am,[["__file","Row.vue"]]),im={class:"font-medium"},Sm={key:0},am=Me({__name:"Foldable",props:{label:{},isOpen:{type:Boolean,default:!1}},setup(e){const t=e,E=bt({isOpen:t.isOpen});return(s,r)=>(g(),Y("div",null,[a("div",null,[a("button",{class:"flex items-center space-x-1",onClick:r[0]||(r[0]=T=>E.isOpen=!E.isOpen)},[$(se(fA),{class:ke(["size-4",{"-rotate-90":!E.isOpen}])},null,8,["class"]),a("span",im,re(t.label),1)])]),E.isOpen?(g(),Y("div",Sm,[pE(s.$slots,"default")])):Te("",!0)]))}}),$o=he(am,[["__file","Foldable.vue"]]),Om={class:"flex"},Im={class:"w-1/2"},Nm=a("h2",{class:"mt-0.5 mb-2 px-2 py-1 bg-stone-300 text-black tracking-wide text-xs uppercase font-bold rounded"}," HTTP Request ",-1),lm=a("div",{class:"py-3 text-right italic text-sm text-stone-500"},[we(" What else would like to see here? "),a("a",{target:"_blank",class:"underline font-bold",href:"https://github.com/julienbourdeau/debugbar/discussions"},"Tell me!")],-1),_m={class:"w-1/2"},cm=a("h2",{class:"mt-0.5 mb-2 px-2 py-1 bg-stone-300 text-black tracking-wide text-xs uppercase font-bold rounded"}," Routing ",-1),Cm=a("h2",{class:"mt-0.5 mb-2 px-2 py-1 bg-stone-300 text-black tracking-wide text-xs uppercase font-bold rounded"}," HTTP Response ",-1),Lm={key:0},um=a("div",{class:"py-3 text-sm text-stone-500"},[we(" The response was not captured. "),a("a",{target:"_blank",class:"underline font-bold",href:"https://debugbar.dev/docs/known-limitations/"},"Learn more")],-1),fm=[um],pm={key:1},Pm=Me({__name:"RequestPanel",props:{request:{}},setup(e){return(t,E)=>{const s=Ts("highlightjs");return g(),Y("div",Om,[a("div",Im,[$(Lt,null,{default:Ae(()=>[Nm,$(vE,null,{default:Ae(()=>[$(ze,{label:"Method"},{default:Ae(()=>[we(re(t.request.meta.method),1)]),_:1}),$(ze,{label:"URL"},{default:Ae(()=>[we(re(t.request.meta.path),1)]),_:1}),$(ze,{label:"Params"},{default:Ae(()=>[$(s,{class:"text-sm",language:"json",code:JSON.stringify(se(tm)(t.request.meta.params,["controller","action"]),null,2)},null,8,["code"])]),_:1}),$(ze,{label:"Header: Version"},{default:Ae(()=>[we(re(t.request.request.headers.Version),1)]),_:1}),$(ze,{label:"Header: Cache-Control"},{default:Ae(()=>[we(re(t.request.request.headers["Cache-Control"]),1)]),_:1})]),_:1}),$($o,{class:"py-4",label:"All Headers"},{default:Ae(()=>[$(vE,null,{default:Ae(()=>[(g(!0),Y(_e,null,qe(t.request.request.headers,(r,T)=>(g(),ue(ze,{key:T,label:T},{default:Ae(()=>[we(re(r),1)]),_:2},1032,["label"]))),128))]),_:1})]),_:1}),lm]),_:1})]),a("div",_m,[$(Lt,null,{default:Ae(()=>[cm,$(vE,null,{default:Ae(()=>[$(ze,{title:"Controller"},{default:Ae(()=>[we(re(t.request.meta.controller)+" > "+re(t.request.meta.action),1)]),_:1})]),_:1})]),_:1}),$(Lt,null,{default:Ae(()=>{var r,T;return[Cm,(r=t.request.response)!=null&&r.status?Te("",!0):(g(),Y("div",Lm,fm)),(T=t.request.response)!=null&&T.status?(g(),Y("div",pm,[$(vE,null,{default:Ae(()=>[$(ze,{label:"Status"},{default:Ae(()=>[we(re(t.request.response.status),1)]),_:1}),$(ze,{label:"Body"},{default:Ae(()=>[we(re(t.request.response.body.substring(0,140)),1)]),_:1}),$(ze,{label:"Header: Content-Type"},{default:Ae(()=>[we(re(t.request.response.headers["Content-Type"]),1)]),_:1})]),_:1}),$($o,{class:"py-4",label:"All Headers"},{default:Ae(()=>[$(vE,null,{default:Ae(()=>[(g(!0),Y(_e,null,qe(t.request.response.headers,(n,o)=>(g(),ue(ze,{key:o,label:o},{default:Ae(()=>[we(re(n),1)]),_:2},1032,["label"]))),128))]),_:1})]),_:1})])):Te("",!0)]}),_:1})])])}}}),Dm=he(Pm,[["__file","RequestPanel.vue"]]),dm={class:"p-4 leading-8"},Mm=Me({__name:"JsonPanel",props:{currentRequest:{}},setup(e){const t=e;return(E,s)=>{const r=Ts("highlightjs");return g(),Y("div",dm,[$(r,{language:"json",code:JSON.stringify(t.currentRequest,null,2)},null,8,["code"])])}}}),Um=he(Mm,[["__file","JsonPanel.vue"]]),hm={},gm={class:"size-5","xmlns:dc":"http://purl.org/dc/elements/1.1/","xmlns:cc":"http://creativecommons.org/ns#","xmlns:rdf":"http://www.w3.org/1999/02/22-rdf-syntax-ns#","xmlns:svg":"http://www.w3.org/2000/svg",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink","xmlns:sodipodi":"http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd","xmlns:inkscape":"http://www.inkscape.org/namespaces/inkscape",version:"1.1",id:"Layer_1",width:"198.13",height:"197.58",viewBox:"0 0 198.13 197.58",overflow:"visible","enable-background":"new 0 0 198.13 197.58","xml:space":"preserve","inkscape:version":"0.48.0 r9654","sodipodi:docname":"Logo-Ruby.svg"},Gm=a("metadata",{id:"metadata3320"},[a("rdf:RDF",null,[a("cc:Work",{"rdf:about":""},[a("dc:format",null,"image/svg+xml"),a("dc:type",{"rdf:resource":"http://purl.org/dc/dcmitype/StillImage"})])])],-1),mm=a("defs",{id:"defs3489"},[a("linearGradient",{id:"XMLID_17_-9",gradientUnits:"userSpaceOnUse",x1:"174.0737",y1:"215.5488",x2:"132.27631",y2:"141.7533"},[a("stop",{offset:"0",style:{"stop-color":"#fb7655"},id:"stop3272-4"}),a("stop",{offset:"0",style:{"stop-color":"#fb7655"},id:"stop3274-5"}),a("stop",{offset:"0.41",style:{"stop-color":"#e42b1e"},id:"stop3276-1"}),a("stop",{offset:"0.99",style:{"stop-color":"#990000"},id:"stop3278-0"}),a("stop",{offset:"1",style:{"stop-color":"#990000"},id:"stop3280-3"})]),a("linearGradient",{id:"XMLID_18_-7",gradientUnits:"userSpaceOnUse",x1:"194.895",y1:"153.5576",x2:"141.0276",y2:"117.4093"},[a("stop",{offset:"0",style:{"stop-color":"#871101"},id:"stop3285-8"}),a("stop",{offset:"0",style:{"stop-color":"#871101"},id:"stop3287-8"}),a("stop",{offset:"0.99",style:{"stop-color":"#911209"},id:"stop3289-6"}),a("stop",{offset:"1",style:{"stop-color":"#911209"},id:"stop3291-0"})]),a("linearGradient",{id:"XMLID_19_-4",gradientUnits:"userSpaceOnUse",x1:"151.79539",y1:"217.7852",x2:"97.929703",y2:"181.638"},[a("stop",{offset:"0",style:{"stop-color":"#871101"},id:"stop3296-6"}),a("stop",{offset:"0",style:{"stop-color":"#871101"},id:"stop3298-7"}),a("stop",{offset:"0.99",style:{"stop-color":"#911209"},id:"stop3300-6"}),a("stop",{offset:"1",style:{"stop-color":"#911209"},id:"stop3302-0"})]),a("linearGradient",{id:"XMLID_20_-9",gradientUnits:"userSpaceOnUse",x1:"38.696301",y1:"127.3906",x2:"47.046902",y2:"181.66141"},[a("stop",{offset:"0",style:{"stop-color":"#ffffff"},id:"stop3307-7"}),a("stop",{offset:"0",style:{"stop-color":"#ffffff"},id:"stop3309-5"}),a("stop",{offset:"0.23",style:{"stop-color":"#e57252"},id:"stop3311-9"}),a("stop",{offset:"0.46",style:{"stop-color":"#de3b20"},id:"stop3313-7"}),a("stop",{offset:"0.99",style:{"stop-color":"#a60003"},id:"stop3315-8"}),a("stop",{offset:"1",style:{"stop-color":"#a60003"},id:"stop3317-5"})]),a("linearGradient",{id:"XMLID_21_-3",gradientUnits:"userSpaceOnUse",x1:"96.132797",y1:"76.715302",x2:"99.209602",y2:"132.1021"},[a("stop",{offset:"0",style:{"stop-color":"#ffffff"},id:"stop3322-3"}),a("stop",{offset:"0",style:{"stop-color":"#ffffff"},id:"stop3324-8"}),a("stop",{offset:"0.23",style:{"stop-color":"#e4714e"},id:"stop3326-3"}),a("stop",{offset:"0.56",style:{"stop-color":"#be1a0d"},id:"stop3328-7"}),a("stop",{offset:"0.99",style:{"stop-color":"#a80d00"},id:"stop3330-9"}),a("stop",{offset:"1",style:{"stop-color":"#a80d00"},id:"stop3332-3"})]),a("linearGradient",{id:"XMLID_22_-7",gradientUnits:"userSpaceOnUse",x1:"147.103",y1:"25.521",x2:"156.3141",y2:"65.216202"},[a("stop",{offset:"0",style:{"stop-color":"#ffffff"},id:"stop3337-8"}),a("stop",{offset:"0",style:{"stop-color":"#ffffff"},id:"stop3339-7"}),a("stop",{offset:"0.18",style:{"stop-color":"#e46342"},id:"stop3341-4"}),a("stop",{offset:"0.4",style:{"stop-color":"#c82410"},id:"stop3343-1"}),a("stop",{offset:"0.99",style:{"stop-color":"#a80d00"},id:"stop3345-9"}),a("stop",{offset:"1",style:{"stop-color":"#a80d00"},id:"stop3347-0"})]),a("linearGradient",{id:"XMLID_23_-9",gradientUnits:"userSpaceOnUse",x1:"118.9761",y1:"11.5415",x2:"158.66859",y2:"-8.3048"},[a("stop",{offset:"0",style:{"stop-color":"#ffffff"},id:"stop3352-8"}),a("stop",{offset:"0",style:{"stop-color":"#ffffff"},id:"stop3354-8"}),a("stop",{offset:"0.54",style:{"stop-color":"#c81f11"},id:"stop3356-5"}),a("stop",{offset:"0.99",style:{"stop-color":"#bf0905"},id:"stop3358-8"}),a("stop",{offset:"1",style:{"stop-color":"#bf0905"},id:"stop3360-4"})]),a("linearGradient",{id:"XMLID_24_-3",gradientUnits:"userSpaceOnUse",x1:"3.9033",y1:"113.5547",x2:"7.1701999",y2:"146.2628"},[a("stop",{offset:"0",style:{"stop-color":"#ffffff"},id:"stop3365-7"}),a("stop",{offset:"0",style:{"stop-color":"#ffffff"},id:"stop3367-1"}),a("stop",{offset:"0.31",style:{"stop-color":"#de4024"},id:"stop3369-3"}),a("stop",{offset:"0.99",style:{"stop-color":"#bf190b"},id:"stop3371-8"}),a("stop",{offset:"1",style:{"stop-color":"#bf190b"},id:"stop3373-0"})]),a("linearGradient",{id:"XMLID_25_-9",gradientUnits:"userSpaceOnUse",x1:"-18.5557",y1:"155.10451",x2:"135.0152",y2:"-2.8092999"},[a("stop",{offset:"0",style:{"stop-color":"#bd0012"},id:"stop3380-7"}),a("stop",{offset:"0",style:{"stop-color":"#bd0012"},id:"stop3382-9"}),a("stop",{offset:"0.07",style:{"stop-color":"#ffffff"},id:"stop3384-9"}),a("stop",{offset:"0.17",style:{"stop-color":"#ffffff"},id:"stop3386-3"}),a("stop",{offset:"0.27",style:{"stop-color":"#c82f1c"},id:"stop3388-2"}),a("stop",{offset:"0.33",style:{"stop-color":"#820c01"},id:"stop3390-4"}),a("stop",{offset:"0.46",style:{"stop-color":"#a31601"},id:"stop3392-3"}),a("stop",{offset:"0.72",style:{"stop-color":"#b31301"},id:"stop3394-7"}),a("stop",{offset:"0.99",style:{"stop-color":"#e82609"},id:"stop3396-1"}),a("stop",{offset:"1",style:{"stop-color":"#e82609"},id:"stop3398-2"})]),a("linearGradient",{id:"XMLID_26_-2",gradientUnits:"userSpaceOnUse",x1:"99.074699",y1:"171.0332",x2:"52.817699",y2:"159.61659"},[a("stop",{offset:"0",style:{"stop-color":"#8c0c01"},id:"stop3403-0"}),a("stop",{offset:"0",style:{"stop-color":"#8c0c01"},id:"stop3405-2"}),a("stop",{offset:"0.54",style:{"stop-color":"#990c00"},id:"stop3407-1"}),a("stop",{offset:"0.99",style:{"stop-color":"#a80d0e"},id:"stop3409-7"}),a("stop",{offset:"1",style:{"stop-color":"#a80d0e"},id:"stop3411-5"})]),a("linearGradient",{id:"XMLID_27_-1",gradientUnits:"userSpaceOnUse",x1:"178.52589",y1:"115.5146",x2:"137.43269",y2:"78.683998"},[a("stop",{offset:"0",style:{"stop-color":"#7e110b"},id:"stop3416-7"}),a("stop",{offset:"0",style:{"stop-color":"#7e110b"},id:"stop3418-4"}),a("stop",{offset:"0.99",style:{"stop-color":"#9e0c00"},id:"stop3420-1"}),a("stop",{offset:"1",style:{"stop-color":"#9e0c00"},id:"stop3422-7"})]),a("linearGradient",{id:"XMLID_28_-1",gradientUnits:"userSpaceOnUse",x1:"193.6235",y1:"47.937",x2:"173.15421",y2:"26.053801"},[a("stop",{offset:"0",style:{"stop-color":"#79130d"},id:"stop3427-1"}),a("stop",{offset:"0",style:{"stop-color":"#79130d"},id:"stop3429-1"}),a("stop",{offset:"0.99",style:{"stop-color":"#9e120b"},id:"stop3431-7"}),a("stop",{offset:"1",style:{"stop-color":"#9e120b"},id:"stop3433-0"})]),a("radialGradient",{id:"XMLID_29_-4",cx:"143.8315",cy:"79.388199",r:"50.357601",gradientUnits:"userSpaceOnUse"},[a("stop",{offset:"0",style:{"stop-color":"#a80d00"},id:"stop3440-0"}),a("stop",{offset:"0",style:{"stop-color":"#a80d00"},id:"stop3442-8"}),a("stop",{offset:"0.99",style:{"stop-color":"#7e0e08"},id:"stop3444-5"}),a("stop",{offset:"1",style:{"stop-color":"#7e0e08"},id:"stop3446-1"})]),a("radialGradient",{id:"XMLID_30_-6",cx:"74.0923",cy:"145.75101",r:"66.943703",gradientUnits:"userSpaceOnUse"},[a("stop",{offset:"0",style:{"stop-color":"#a30c00"},id:"stop3451-6"}),a("stop",{offset:"0",style:{"stop-color":"#a30c00"},id:"stop3453-2"}),a("stop",{offset:"0.99",style:{"stop-color":"#800e08"},id:"stop3455-1"}),a("stop",{offset:"1",style:{"stop-color":"#800e08"},id:"stop3457-9"})]),a("linearGradient",{id:"XMLID_31_-6",gradientUnits:"userSpaceOnUse",x1:"26.669901",y1:"197.33591",x2:"9.9886999",y2:"140.742"},[a("stop",{offset:"0",style:{"stop-color":"#8b2114"},id:"stop3462-4"}),a("stop",{offset:"0",style:{"stop-color":"#8b2114"},id:"stop3464-8"}),a("stop",{offset:"0.43",style:{"stop-color":"#9e100a"},id:"stop3466-0"}),a("stop",{offset:"0.99",style:{"stop-color":"#b3100c"},id:"stop3468-8"}),a("stop",{offset:"1",style:{"stop-color":"#b3100c"},id:"stop3470-1"})]),a("linearGradient",{id:"XMLID_32_-0",gradientUnits:"userSpaceOnUse",x1:"154.6411",y1:"9.7979002",x2:"192.039",y2:"26.305901"},[a("stop",{offset:"0",style:{"stop-color":"#b31000"},id:"stop3475-2"}),a("stop",{offset:"0",style:{"stop-color":"#b31000"},id:"stop3477-2"}),a("stop",{offset:"0.44",style:{"stop-color":"#910f08"},id:"stop3479-9"}),a("stop",{offset:"0.99",style:{"stop-color":"#791c12"},id:"stop3481-7"}),a("stop",{offset:"1",style:{"stop-color":"#791c12"},id:"stop3483-5"})]),a("linearGradient",{y2:"141.7533",x2:"132.27631",y1:"215.5488",x1:"174.0737",gradientUnits:"userSpaceOnUse",id:"linearGradient3448","xlink:href":"#XMLID_17_-9","inkscape:collect":"always"})],-1),ym=a("sodipodi:namedview",{pagecolor:"#ffffff",bordercolor:"#666666",borderopacity:"1",objecttolerance:"10",gridtolerance:"10",guidetolerance:"10","inkscape:pageopacity":"0","inkscape:pageshadow":"2","inkscape:window-width":"1036","inkscape:window-height":"1124",id:"namedview3487",showgrid:"false","inkscape:zoom":"1.3412289","inkscape:cx":"99.065005","inkscape:cy":"98.790004","inkscape:window-x":"882","inkscape:window-y":"24","inkscape:window-maximized":"0","inkscape:current-layer":"Layer_1"},null,-1),bm=LO('',24),Hm=a("path",{style:{fill:"#ffffff","fill-rule":"evenodd"},"inkscape:connector-curvature":"0","clip-rule":"evenodd",d:"m 1.94,100.65 11.5,32.62 49.97,-11.211 57.05,-53.02 L 136.56,17.9 111.209,0 68.109,16.13 C 54.53,28.76 28.18,53.75 27.23,54.22 26.29,54.7 9.83,85.81 1.94,100.65 z",id:"path3377"},null,-1),Bm=a("path",{style:{fill:"url(#XMLID_25_-9)","fill-rule":"evenodd"},"inkscape:connector-curvature":"0","clip-rule":"evenodd",d:"m 42.32,42.05 c 29.43,-29.18 67.37,-46.42 81.93,-31.73 14.551,14.69 -0.88,50.39 -30.31,79.56 -29.43,29.17 -66.9,47.36 -81.45,32.67 -14.56,-14.68 0.4,-51.33 29.83,-80.5 z",id:"path3400"},null,-1),vm=a("path",{style:{fill:"url(#XMLID_26_-2)","fill-rule":"evenodd"},"inkscape:connector-curvature":"0","clip-rule":"evenodd",d:"m 41,197.38 22.86,-75.72 75.92,24.39 C 112.33,171.79 81.8,193.55 41,197.38 z",id:"path3413"},null,-1),Fm=a("path",{style:{fill:"url(#XMLID_27_-1)","fill-rule":"evenodd"},"inkscape:connector-curvature":"0","clip-rule":"evenodd",d:"m 120.56,68.89 19.49,77.2 C 162.98,121.98 183.56,96.06 193.639,64 l -73.079,4.89 z",id:"path3424"},null,-1),Ym=a("path",{style:{fill:"url(#XMLID_28_-1)","fill-rule":"evenodd"},"inkscape:connector-curvature":"0","clip-rule":"evenodd",d:"m 193.44,64.39 c 7.8,-23.54 9.6,-57.31 -27.181,-63.58 l -30.18,16.67 57.361,46.91 z",id:"path3435"},null,-1),Vm=a("path",{style:{fill:"#9e1209","fill-rule":"evenodd"},"inkscape:connector-curvature":"0","clip-rule":"evenodd",d:"m 0,157.75 c 1.08,38.851 29.11,39.43 41.05,39.771 L 13.47,133.11 0,157.75 z",id:"path3437"},null,-1),xm=a("path",{style:{fill:"url(#XMLID_29_-4)","fill-rule":"evenodd"},"inkscape:connector-curvature":"0","clip-rule":"evenodd",d:"m 120.669,69.01 c 17.62,10.83 53.131,32.58 53.851,32.98 1.119,0.63 15.31,-23.93 18.53,-37.81 l -72.381,4.83 z",id:"path3448"},null,-1),wm=a("path",{style:{fill:"url(#XMLID_30_-6)","fill-rule":"evenodd"},"inkscape:connector-curvature":"0","clip-rule":"evenodd",d:"m 63.83,121.66 30.56,58.96 c 18.07,-9.8 32.22,-21.74 45.18,-34.53 L 63.83,121.66 z",id:"path3459"},null,-1),Wm=a("path",{style:{fill:"url(#XMLID_31_-6)","fill-rule":"evenodd"},"inkscape:connector-curvature":"0","clip-rule":"evenodd",d:"m 13.35,133.19 -4.33,51.56 c 8.17,11.16 19.41,12.13 31.2,11.26 -8.53,-21.23 -25.57,-63.68 -26.87,-62.82 z",id:"path3472"},null,-1),Xm=a("path",{style:{fill:"url(#XMLID_32_-0)","fill-rule":"evenodd"},"inkscape:connector-curvature":"0","clip-rule":"evenodd",d:"m 135.9,17.61 60.71,8.52 C 193.37,12.4 183.42,3.54 166.46,0.77 L 135.9,17.61 z",id:"path3485"},null,-1),$m=[Gm,mm,ym,bm,Hm,Bm,vm,Fm,Ym,Vm,xm,wm,Wm,Xm];function Km(e,t){return g(),Y("svg",gm,$m)}const Ko=he(hm,[["render",Km],["__file","RubyLogo.vue"]]),Jm={class:"flex items-center"},km=["textContent"],jm=Me({__name:"Timing",props:{durationMs:{},slowThreshold:{default:1e3},tooSlowThreshold:{default:1500}},setup(e){const t=e,E=rt(()=>t.durationMs>=1e3?(t.durationMs/1e3).toFixed(2)+"s":t.durationMs.toFixed(1)+"ms");return(s,r)=>(g(),Y("div",Jm,[pE(s.$slots,"default"),a("span",{class:ke({"px-1 py-0.5 rounded text-sm":!0,"text-orange-600":s.durationMs>=t.slowThreshold&&s.durationMs=t.tooSlowThreshold}),textContent:re(E.value)},null,10,km)]))}}),ur=he(jm,[["__file","Timing.vue"]]),qm=["textContent"],Qm=Me({__name:"StatusCode",props:{code:{}},setup(e){const t=e;return(E,s)=>(g(),Y("span",{class:ke(["px-1 py-0.5 rounded text-xs",{"bg-green-600 text-white":t.code<300,"bg-blue-500 text-white":t.code>=300&&t.code<400,"bg-amber-600 text-white":t.code>=400&&t.code<500,"bg-red-600 text-white":t.code>=500}]),textContent:re(t.code)},null,10,qm))}}),Zm=he(Qm,[["__file","StatusCode.vue"]]),zm={class:"p-1 pt-1.5"},ey={key:1,class:"z-[9999] text-stone-900 fixed left-0 bottom-0 w-full"},ty=a("div",{class:"h-0.5 bg-red-700 cursor-row-resize"},null,-1),Ey={class:"flex items-center justify-between bg-stone-100 border-b border-stone-200"},sy=a("div",{class:"px-5 py-1.5 italic"},"No request yet",-1),ry={class:"px-3"},Ty={key:2,class:"z-[9999] text-stone-900 fixed left-0 bottom-0 w-full"},ny={class:"flex"},oy={class:"p-1 pt-1.5"},Ry={class:"flex items-center space-x-3 pr-1"},Ay={class:"flex space-x-2"},iy={class:"text-sm text-stone-600 font-medium tracking-wide"},Sy=["selected","textContent","value"],ay={class:"flex items-center pl-1 space-x-2"},Oy=["title"],Iy=Me({__name:"Debugbar",setup(e){let t=Xr(),E=Vd();const s=Ut(null),r=bt({activeTab:"",minimized:!1,isResizing:!1,isPolling:E.config.mode==="poll",height:E.config.height}),T=rt(()=>r.activeTab!=""),n=rt(()=>!1),o=rt(()=>{var I,c;return((I=t.currentRequest)==null?void 0:I.meta.params.controller)+"#"+((c=t.currentRequest)==null?void 0:c.meta.params.action)});let R=null;E.config.mode==="ws"?R=VI.createConsumer(E.config.actionCableUrl).subscriptions.create({channel:E.config.cable.channelName},{connected(){console.log("🟢 Connected to channel"),R.send({ids:[]})},disconnected(){console.log("🔴 Disconnected from channel")},received(I){if(I.length==0)return;const c=t.addRequests(I);T.value||t.setCurrentRequestById(c[c.length-1]),setTimeout(()=>{R.send({ids:c})},50)}}):E.config.mode==="poll"?(console.log('Using debugbar in "polling mode". Consider using "ws" mode for better performance (requires ActionCable).'),setInterval(()=>{r.isPolling&&fetch(E.config.pollUrl).then(I=>I.json()).then(I=>{if(I.length==0)return;console.log(I);const c=t.addRequests(I);T.value||t.setCurrentRequestById(c[c.length-1]),fetch(E.config.pollUrl+"/confirm",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({ids:c})})})},E.config.poll.interval)):console.log('Using debugbar in "offline mode", ideal for demos using fixtures.');const A=()=>{console.log("Clearing requests"),r.activeTab="",t.clearRequests(),R==null||R.send({clear:!0}),r.isPolling=!0},i=()=>{r.isPolling=!r.isPolling};zs(()=>{window.onresize=function(){window.innerHeight{r.activeTab==I?r.activeTab="":(window.innerHeight{var h,B,x,X,J,q;return g(),Y(_e,null,[r.minimized?(g(),Y("div",{key:0,onClick:c[0]||(c[0]=b=>r.minimized=!1),class:"z-[9999] text-stone-900 fixed left-0 bottom-0 bg-transparent cursor-pointer"},[a("div",zm,[$(Ko)])])):Te("",!0),!r.minimized&&se(t).currentRequest==null?(g(),Y("div",ey,[ty,a("div",Ey,[sy,a("div",ry,[a("button",{onClick:c[1]||(c[1]=b=>r.minimized=!0),title:"Hide in the corner"},[$(se(mn),{class:"size-4"})])])])])):Te("",!0),!r.minimized&&se(t).currentRequest?(g(),Y("div",Ty,[a("div",{id:"draggable-bar",onMousedown:c[2]||(c[2]=b=>r.isResizing=!0),class:"h-0.5 bg-red-700 cursor-row-resize"},null,32),a("div",{id:"debubgbar-header",ref_key:"header",ref:s,class:"flex px-1 items-center justify-between bg-stone-100 border-b-2 border-stone-300"},[a("div",null,[a("div",ny,[a("div",oy,[$(Ko)]),(g(!0),Y(_e,null,qe(se(t).currentRequest.dataForTabs,(b,oe)=>(g(),ue(QI,{key:"k",label:b.label,count:b==null?void 0:b.count,"is-active":oe===r.activeTab,disabled:b.count==0,onClick:Ie=>O(oe)},{default:Ae(()=>[we(re(b.label),1)]),_:2},1032,["label","count","is-active","disabled","onClick"]))),128)),n.value?(g(),Y("button",{key:0,onClick:c[3]||(c[3]=b=>O("debug")),class:ke(["px-3 py-1.5 text-stone-600",{"bg-stone-300":r.activeTab=="debug"}])},[$(se(WI),{class:"size-4"})],2)):Te("",!0)])]),a("div",Ry,[a("div",Ay,[$(ur,{"duration-ms":se(t).currentRequest.meta.db_runtime,title:"DB runtime"},{default:Ae(()=>[$(se(wI),{class:"text-stone-600 size-3"})]),_:1},8,["duration-ms"]),$(ur,{"duration-ms":se(t).currentRequest.meta.cpu_time,title:"CPU time"},{default:Ae(()=>[$(se(XI),{class:"text-stone-600 size-3"})]),_:1},8,["duration-ms"]),$(ur,{"duration-ms":se(t).currentRequest.meta.duration,"too-slow-threshold":1e3,"slow-threshold":750,class:"font-bold",title:"Total duration"},{default:Ae(()=>[$(se(xI),{class:"text-stone-800 size-4"})]),_:1},8,["duration-ms"])]),a("div",{onClick:c[4]||(c[4]=b=>O("request")),class:"flex space-x-2 cursor-pointer"},[a("span",iy,re(o.value),1),$(Zm,{code:se(t).currentRequest.meta.status},null,8,["code"])]),a("select",{class:"px-2 py-1.5 bg-white border border-stone-200 rounded w-[330px] text-sm",name:"current_request_id",onChange:c[5]||(c[5]=b=>{const oe=b.target;se(t).setCurrentRequestById(oe.value)})},[(g(!0),Y(_e,null,qe(se(t).requests,b=>(g(),Y("option",{selected:se(t).currentRequest.id==b.id,textContent:re(b.pathWithVerb),value:b.id},null,8,Sy))),256))],32),a("div",ay,[se(E).config.mode=="poll"?(g(),Y("button",{key:0,onClick:i,title:r.isPolling?"Pause polling":"Resume polling"},[r.isPolling?(g(),ue(se($I),{key:0,class:"size-4"})):Te("",!0),r.isPolling?Te("",!0):(g(),ue(se(KI),{key:1,class:"size-4"}))],8,Oy)):Te("",!0),a("button",{onClick:A,title:"Clear all requests (frontend and backend)"},[$(se(JI),{class:"size-3"})]),T.value?Te("",!0):(g(),Y("button",{key:1,onClick:c[6]||(c[6]=b=>r.minimized=!0),title:"Hide in the corner"},[$(se(mn),{class:"size-4"})])),T.value?(g(),Y("button",{key:2,onClick:c[7]||(c[7]=b=>r.activeTab=""),title:"Close"},[$(se(kI),{class:"size-4"})])):Te("",!0)])])],512),r.activeTab!=""?(g(),Y("div",{key:0,ref:"body",id:"debugbar-body",class:"bg-white overflow-scroll",style:Js(`height: ${r.height}px`)},[r.activeTab=="request"?(g(),ue(Dm,{key:0,request:se(t).currentRequest},null,8,["request"])):Te("",!0),r.activeTab=="messages"?(g(),ue(RL,{key:1,messages:(h=se(t).currentRequest)==null?void 0:h.messages},null,8,["messages"])):Te("",!0),r.activeTab=="models"?(g(),ue(iN,{key:2,models:(B=se(t).currentRequest)==null?void 0:B.models,count:(x=se(t).currentRequest)==null?void 0:x.modelsCount},null,8,["models","count"])):Te("",!0),r.activeTab=="queries"?(g(),ue(hC,{key:3,"current-request":se(t).currentRequest},null,8,["current-request"])):Te("",!0),r.activeTab=="jobs"?(g(),ue($C,{key:4,jobs:(X=se(t).currentRequest)==null?void 0:X.jobs},null,8,["jobs"])):Te("",!0),r.activeTab=="cache"?(g(),ue(Zd,{key:5,cache:(J=se(t).currentRequest)==null?void 0:J.cache},null,8,["cache"])):Te("",!0),r.activeTab=="logs"?(g(),ue(tL,{key:6,logs:(q=se(t).currentRequest)==null?void 0:q.logs},null,8,["logs"])):Te("",!0),n.value&&r.activeTab=="debug"?(g(),ue(Um,{key:7,"current-request":se(t).currentRequest,class:"px-3 py-2"},null,8,["current-request"])):Te("",!0)],4)):Te("",!0)])):Te("",!0)],64)}}}),Ny=he(Iy,[["__file","Debugbar.vue"]]),ly=`pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}/*! + Theme: GitHub + Description: Light theme as seen on github.com + Author: github.com + Maintainer: @Hirse + Updated: 2021-05-15 + + Outdated base version: https://github.com/primer/github-syntax-light + Current colors taken from GitHub's CSS +*/.hljs{color:#24292e;background:#fff}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#d73a49}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#6f42c1}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-variable,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id{color:#005cc5}.hljs-regexp,.hljs-string,.hljs-meta .hljs-string{color:#032f62}.hljs-built_in,.hljs-symbol{color:#e36209}.hljs-comment,.hljs-code,.hljs-formula{color:#6a737d}.hljs-name,.hljs-quote,.hljs-selector-tag,.hljs-selector-pseudo{color:#22863a}.hljs-subst{color:#24292e}.hljs-section{color:#005cc5;font-weight:700}.hljs-bullet{color:#735c0f}.hljs-emphasis{color:#24292e;font-style:italic}.hljs-strong{color:#24292e;font-weight:700}.hljs-addition{color:#22863a;background-color:#f0fff4}.hljs-deletion{color:#b31d28;background-color:#ffeef0}/*! tailwindcss v3.4.0 | MIT License | https://tailwindcss.com +*/*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }pre,pre code.hljs{margin:0!important;width:100%;padding:0!important}.visible{visibility:visible}.fixed{position:fixed}.bottom-0{bottom:0}.left-0{left:0}.z-\\[9999\\]{z-index:9999}.mx-6{margin-left:1.5rem;margin-right:1.5rem}.mx-auto{margin-left:auto;margin-right:auto}.my-4{margin-top:1rem;margin-bottom:1rem}.mb-2{margin-bottom:.5rem}.ml-4{margin-left:1rem}.mt-0{margin-top:0}.mt-0\\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-10{margin-top:2.5rem}.mt-16{margin-top:4rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.inline{display:inline}.flex{display:flex}.table{display:table}.hidden{display:none}.aspect-video{aspect-ratio:16 / 9}.size-3{width:.75rem;height:.75rem}.size-4{width:1rem;height:1rem}.size-5{width:1.25rem;height:1.25rem}.h-0{height:0px}.h-0\\.5{height:.125rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.w-1\\/2{width:50%}.w-16{width:4rem}.w-20{width:5rem}.w-24{width:6rem}.w-32{width:8rem}.w-36{width:9rem}.w-40{width:10rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-\\[330px\\]{width:330px}.w-full{width:100%}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-xl{max-width:36rem}.flex-none{flex:none}.border-separate{border-collapse:separate}.border-spacing-1{--tw-border-spacing-x: .25rem;--tw-border-spacing-y: .25rem;border-spacing:var(--tw-border-spacing-x) var(--tw-border-spacing-y)}.-rotate-90{--tw-rotate: -90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-pointer{cursor:pointer}.cursor-row-resize{cursor:row-resize}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-x-2{-moz-column-gap:.5rem;column-gap:.5rem}.gap-x-3{-moz-column-gap:.75rem;column-gap:.75rem}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.25rem * var(--tw-space-x-reverse));margin-left:calc(.25rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.75rem * var(--tw-space-x-reverse));margin-left:calc(.75rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-8>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(2rem * var(--tw-space-x-reverse));margin-left:calc(2rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.divide-stone-200>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(231 229 228 / var(--tw-divide-opacity))}.divide-stone-300>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(214 211 209 / var(--tw-divide-opacity))}.overflow-scroll{overflow:scroll}.whitespace-nowrap{white-space:nowrap}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-sm{border-radius:.125rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-0{border-width:0px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-l{border-left-width:1px}.border-indigo-600{--tw-border-opacity: 1;border-color:rgb(79 70 229 / var(--tw-border-opacity))}.border-stone-200{--tw-border-opacity: 1;border-color:rgb(231 229 228 / var(--tw-border-opacity))}.border-stone-300{--tw-border-opacity: 1;border-color:rgb(214 211 209 / var(--tw-border-opacity))}.\\!bg-amber-400{--tw-bg-opacity: 1 !important;background-color:rgb(251 191 36 / var(--tw-bg-opacity))!important}.\\!bg-emerald-500{--tw-bg-opacity: 1 !important;background-color:rgb(16 185 129 / var(--tw-bg-opacity))!important}.\\!bg-indigo-500{--tw-bg-opacity: 1 !important;background-color:rgb(99 102 241 / var(--tw-bg-opacity))!important}.\\!bg-red-400{--tw-bg-opacity: 1 !important;background-color:rgb(248 113 113 / var(--tw-bg-opacity))!important}.\\!bg-red-700{--tw-bg-opacity: 1 !important;background-color:rgb(185 28 28 / var(--tw-bg-opacity))!important}.bg-amber-400{--tw-bg-opacity: 1;background-color:rgb(251 191 36 / var(--tw-bg-opacity))}.bg-amber-50{--tw-bg-opacity: 1;background-color:rgb(255 251 235 / var(--tw-bg-opacity))}.bg-amber-600{--tw-bg-opacity: 1;background-color:rgb(217 119 6 / var(--tw-bg-opacity))}.bg-blue-500{--tw-bg-opacity: 1;background-color:rgb(59 130 246 / var(--tw-bg-opacity))}.bg-emerald-600{--tw-bg-opacity: 1;background-color:rgb(5 150 105 / var(--tw-bg-opacity))}.bg-fuchsia-500{--tw-bg-opacity: 1;background-color:rgb(217 70 239 / var(--tw-bg-opacity))}.bg-gray-50{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity))}.bg-green-600{--tw-bg-opacity: 1;background-color:rgb(22 163 74 / var(--tw-bg-opacity))}.bg-red-100{--tw-bg-opacity: 1;background-color:rgb(254 226 226 / var(--tw-bg-opacity))}.bg-red-400{--tw-bg-opacity: 1;background-color:rgb(248 113 113 / var(--tw-bg-opacity))}.bg-red-600{--tw-bg-opacity: 1;background-color:rgb(220 38 38 / var(--tw-bg-opacity))}.bg-red-700{--tw-bg-opacity: 1;background-color:rgb(185 28 28 / var(--tw-bg-opacity))}.bg-sky-600{--tw-bg-opacity: 1;background-color:rgb(2 132 199 / var(--tw-bg-opacity))}.bg-stone-100{--tw-bg-opacity: 1;background-color:rgb(245 245 244 / var(--tw-bg-opacity))}.bg-stone-300{--tw-bg-opacity: 1;background-color:rgb(214 211 209 / var(--tw-bg-opacity))}.bg-stone-400{--tw-bg-opacity: 1;background-color:rgb(168 162 158 / var(--tw-bg-opacity))}.bg-stone-50{--tw-bg-opacity: 1;background-color:rgb(250 250 249 / var(--tw-bg-opacity))}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.object-cover{-o-object-fit:cover;object-fit:cover}.p-0{padding:0}.p-0\\.5{padding:.125rem}.p-1{padding:.25rem}.p-4{padding:1rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-0{padding-top:0;padding-bottom:0}.py-0\\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-3\\.5{padding-top:.875rem;padding-bottom:.875rem}.py-32{padding-top:8rem;padding-bottom:8rem}.py-4{padding-top:1rem;padding-bottom:1rem}.pl-1{padding-left:.25rem}.pl-4{padding-left:1rem}.pl-9{padding-left:2.25rem}.pr-1{padding-right:.25rem}.pr-3{padding-right:.75rem}.pr-8{padding-right:2rem}.pt-1{padding-top:.25rem}.pt-1\\.5{padding-top:.375rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-6{line-height:1.5rem}.leading-7{line-height:1.75rem}.leading-8{line-height:2rem}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.\\!text-white{--tw-text-opacity: 1 !important;color:rgb(255 255 255 / var(--tw-text-opacity))!important}.text-black{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity))}.text-gray-300{--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity))}.text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity))}.text-gray-600{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity))}.text-gray-800{--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity))}.text-gray-900{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity))}.text-indigo-600{--tw-text-opacity: 1;color:rgb(79 70 229 / var(--tw-text-opacity))}.text-orange-600{--tw-text-opacity: 1;color:rgb(234 88 12 / var(--tw-text-opacity))}.text-red-600{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity))}.text-stone-400{--tw-text-opacity: 1;color:rgb(168 162 158 / var(--tw-text-opacity))}.text-stone-500{--tw-text-opacity: 1;color:rgb(120 113 108 / var(--tw-text-opacity))}.text-stone-600{--tw-text-opacity: 1;color:rgb(87 83 78 / var(--tw-text-opacity))}.text-stone-800{--tw-text-opacity: 1;color:rgb(41 37 36 / var(--tw-text-opacity))}.text-stone-900{--tw-text-opacity: 1;color:rgb(28 25 23 / var(--tw-text-opacity))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.underline{text-decoration-line:underline}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}button{cursor:pointer}.simple-button{border-width:1px;--tw-border-opacity: 1;border-color:rgb(214 211 209 / var(--tw-border-opacity));padding-left:.375rem;padding-right:.375rem;font-size:.875rem;line-height:1.25rem;--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.simple-button:hover{--tw-bg-opacity: 1;background-color:rgb(231 229 228 / var(--tw-bg-opacity));--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}button[disabled]{cursor:not-allowed;opacity:.5}@media (min-width: 640px){.sm\\:pl-0{padding-left:0}.sm\\:text-4xl{font-size:2.25rem;line-height:2.5rem}}@media (min-width: 1024px){.lg\\:px-8{padding-left:2rem;padding-right:2rem}}`,_y=Me({__name:"AppDemo",setup(e){return zs(()=>{console.log("Using debugbar in DEMO mode");const t=Object.assign({}),E=Xr().addRequests(Object.values(t))[0];Xr().setCurrentRequestById(E)}),(t,E)=>(g(),Y("div",null,[$(se(Bs),{id:"__debugbar-shadow-root"},{default:Ae(()=>[$(Ny),$(se(Hs),null,{default:Ae(()=>[we(re(se(ly)),1)]),_:1})]),_:1})]))}}),cy=he(_y,[["__file","AppDemo.vue"]]);xE.registerLanguage("sql",DS);xE.registerLanguage("json",dS);const Cy=hI();tI(cy).use(sI).use(Cy).use(YI).mount("#__debugbar"); +//# sourceMappingURL=debugbar-BMmMDwal.js.map diff --git a/source/assets/debugbar/debugbar-BMmMDwal.js.map b/source/assets/debugbar/debugbar-BMmMDwal.js.map new file mode 100644 index 0000000..41b1f0b --- /dev/null +++ b/source/assets/debugbar/debugbar-BMmMDwal.js.map @@ -0,0 +1 @@ +{"version":3,"file":"debugbar-BMmMDwal.js","sources":["../../node_modules/highlight.js/lib/core.js","../../node_modules/highlight.js/es/languages/sql.js","../../node_modules/highlight.js/es/languages/json.js","../../node_modules/@vue/shared/dist/shared.esm-bundler.js","../../node_modules/@vue/reactivity/dist/reactivity.esm-bundler.js","../../node_modules/@vue/runtime-core/dist/runtime-core.esm-bundler.js","../../node_modules/@vue/runtime-dom/dist/runtime-dom.esm-bundler.js","../../node_modules/@highlightjs/vue-plugin/dist/highlightjs-vue.esm.min.js","../../node_modules/pinia/node_modules/vue-demi/lib/index.mjs","../../node_modules/@vue/devtools-api/lib/esm/env.js","../../node_modules/@vue/devtools-api/lib/esm/const.js","../../node_modules/@vue/devtools-api/lib/esm/time.js","../../node_modules/@vue/devtools-api/lib/esm/proxy.js","../../node_modules/@vue/devtools-api/lib/esm/index.js","../../node_modules/pinia/dist/pinia.mjs","../../node_modules/vue-shadow-dom/shadow.mjs","../../node_modules/@rails/actioncable/app/assets/javascripts/action_cable.js","../../node_modules/@heroicons/vue/16/solid/esm/ArrowDownLeftIcon.js","../../node_modules/@heroicons/vue/16/solid/esm/ArrowsUpDownIcon.js","../../node_modules/@heroicons/vue/16/solid/esm/ChevronDownIcon.js","../../node_modules/@heroicons/vue/16/solid/esm/CircleStackIcon.js","../../node_modules/@heroicons/vue/16/solid/esm/CodeBracketIcon.js","../../node_modules/@heroicons/vue/16/solid/esm/CpuChipIcon.js","../../node_modules/@heroicons/vue/16/solid/esm/PauseIcon.js","../../node_modules/@heroicons/vue/16/solid/esm/PlayIcon.js","../../node_modules/@heroicons/vue/16/solid/esm/TrashIcon.js","../../node_modules/@heroicons/vue/16/solid/esm/XCircleIcon.js","../../src/components/TabButton.vue","../../src/components/panels/Panel.vue","../../src/components/panels/ModelsPanel.vue","../../node_modules/nearley/lib/nearley.js","../../node_modules/sql-formatter/dist/index.js","../../src/components/queries/QueryItem.vue","../../src/components/queries/QueriesPanel.vue","../../src/components/panels/JobsPanel.vue","../../src/components/panels/LogsPanel.vue","../../src/components/panels/MessagesPanel.vue","../../src/models/Request.ts","../../src/stores/RequestsStore.ts","../../node_modules/lodash/_apply.js","../../node_modules/lodash/identity.js","../../node_modules/lodash/_overRest.js","../../node_modules/lodash/constant.js","../../node_modules/lodash/_freeGlobal.js","../../node_modules/lodash/_root.js","../../node_modules/lodash/_Symbol.js","../../node_modules/lodash/_getRawTag.js","../../node_modules/lodash/_objectToString.js","../../node_modules/lodash/_baseGetTag.js","../../node_modules/lodash/isObject.js","../../node_modules/lodash/isFunction.js","../../node_modules/lodash/_coreJsData.js","../../node_modules/lodash/_isMasked.js","../../node_modules/lodash/_toSource.js","../../node_modules/lodash/_baseIsNative.js","../../node_modules/lodash/_getValue.js","../../node_modules/lodash/_getNative.js","../../node_modules/lodash/_defineProperty.js","../../node_modules/lodash/_baseSetToString.js","../../node_modules/lodash/_shortOut.js","../../node_modules/lodash/_setToString.js","../../node_modules/lodash/_baseRest.js","../../node_modules/lodash/_listCacheClear.js","../../node_modules/lodash/eq.js","../../node_modules/lodash/_assocIndexOf.js","../../node_modules/lodash/_listCacheDelete.js","../../node_modules/lodash/_listCacheGet.js","../../node_modules/lodash/_listCacheHas.js","../../node_modules/lodash/_listCacheSet.js","../../node_modules/lodash/_ListCache.js","../../node_modules/lodash/_stackClear.js","../../node_modules/lodash/_stackDelete.js","../../node_modules/lodash/_stackGet.js","../../node_modules/lodash/_stackHas.js","../../node_modules/lodash/_Map.js","../../node_modules/lodash/_nativeCreate.js","../../node_modules/lodash/_hashClear.js","../../node_modules/lodash/_hashDelete.js","../../node_modules/lodash/_hashGet.js","../../node_modules/lodash/_hashHas.js","../../node_modules/lodash/_hashSet.js","../../node_modules/lodash/_Hash.js","../../node_modules/lodash/_mapCacheClear.js","../../node_modules/lodash/_isKeyable.js","../../node_modules/lodash/_getMapData.js","../../node_modules/lodash/_mapCacheDelete.js","../../node_modules/lodash/_mapCacheGet.js","../../node_modules/lodash/_mapCacheHas.js","../../node_modules/lodash/_mapCacheSet.js","../../node_modules/lodash/_MapCache.js","../../node_modules/lodash/_stackSet.js","../../node_modules/lodash/_Stack.js","../../node_modules/lodash/_baseAssignValue.js","../../node_modules/lodash/_assignMergeValue.js","../../node_modules/lodash/_createBaseFor.js","../../node_modules/lodash/_baseFor.js","../../node_modules/lodash/_cloneBuffer.js","../../node_modules/lodash/_Uint8Array.js","../../node_modules/lodash/_cloneArrayBuffer.js","../../node_modules/lodash/_cloneTypedArray.js","../../node_modules/lodash/_copyArray.js","../../node_modules/lodash/_baseCreate.js","../../node_modules/lodash/_overArg.js","../../node_modules/lodash/_getPrototype.js","../../node_modules/lodash/_isPrototype.js","../../node_modules/lodash/_initCloneObject.js","../../node_modules/lodash/isObjectLike.js","../../node_modules/lodash/_baseIsArguments.js","../../node_modules/lodash/isArguments.js","../../node_modules/lodash/isArray.js","../../node_modules/lodash/isLength.js","../../node_modules/lodash/isArrayLike.js","../../node_modules/lodash/isArrayLikeObject.js","../../node_modules/lodash/stubFalse.js","../../node_modules/lodash/isBuffer.js","../../node_modules/lodash/isPlainObject.js","../../node_modules/lodash/_baseIsTypedArray.js","../../node_modules/lodash/_baseUnary.js","../../node_modules/lodash/_nodeUtil.js","../../node_modules/lodash/isTypedArray.js","../../node_modules/lodash/_safeGet.js","../../node_modules/lodash/_assignValue.js","../../node_modules/lodash/_copyObject.js","../../node_modules/lodash/_baseTimes.js","../../node_modules/lodash/_isIndex.js","../../node_modules/lodash/_arrayLikeKeys.js","../../node_modules/lodash/_nativeKeysIn.js","../../node_modules/lodash/_baseKeysIn.js","../../node_modules/lodash/keysIn.js","../../node_modules/lodash/toPlainObject.js","../../node_modules/lodash/_baseMergeDeep.js","../../node_modules/lodash/_baseMerge.js","../../node_modules/lodash/_customDefaultsMerge.js","../../node_modules/lodash/_isIterateeCall.js","../../node_modules/lodash/_createAssigner.js","../../node_modules/lodash/mergeWith.js","../../node_modules/lodash/defaultsDeep.js","../../src/models/Config.ts","../../src/stores/configStore.ts","../../src/components/panels/CachePanel.vue","../../node_modules/lodash/_arrayMap.js","../../node_modules/lodash/_arrayEach.js","../../node_modules/lodash/_nativeKeys.js","../../node_modules/lodash/_baseKeys.js","../../node_modules/lodash/keys.js","../../node_modules/lodash/_baseAssign.js","../../node_modules/lodash/_baseAssignIn.js","../../node_modules/lodash/_arrayFilter.js","../../node_modules/lodash/stubArray.js","../../node_modules/lodash/_getSymbols.js","../../node_modules/lodash/_copySymbols.js","../../node_modules/lodash/_arrayPush.js","../../node_modules/lodash/_getSymbolsIn.js","../../node_modules/lodash/_copySymbolsIn.js","../../node_modules/lodash/_baseGetAllKeys.js","../../node_modules/lodash/_getAllKeys.js","../../node_modules/lodash/_getAllKeysIn.js","../../node_modules/lodash/_DataView.js","../../node_modules/lodash/_Promise.js","../../node_modules/lodash/_Set.js","../../node_modules/lodash/_WeakMap.js","../../node_modules/lodash/_getTag.js","../../node_modules/lodash/_initCloneArray.js","../../node_modules/lodash/_cloneDataView.js","../../node_modules/lodash/_cloneRegExp.js","../../node_modules/lodash/_cloneSymbol.js","../../node_modules/lodash/_initCloneByTag.js","../../node_modules/lodash/_baseIsMap.js","../../node_modules/lodash/isMap.js","../../node_modules/lodash/_baseIsSet.js","../../node_modules/lodash/isSet.js","../../node_modules/lodash/_baseClone.js","../../node_modules/lodash/isSymbol.js","../../node_modules/lodash/_isKey.js","../../node_modules/lodash/memoize.js","../../node_modules/lodash/_memoizeCapped.js","../../node_modules/lodash/_stringToPath.js","../../node_modules/lodash/_baseToString.js","../../node_modules/lodash/toString.js","../../node_modules/lodash/_castPath.js","../../node_modules/lodash/last.js","../../node_modules/lodash/_toKey.js","../../node_modules/lodash/_baseGet.js","../../node_modules/lodash/_baseSlice.js","../../node_modules/lodash/_parent.js","../../node_modules/lodash/_baseUnset.js","../../node_modules/lodash/_customOmitClone.js","../../node_modules/lodash/_isFlattenable.js","../../node_modules/lodash/_baseFlatten.js","../../node_modules/lodash/flatten.js","../../node_modules/lodash/_flatRest.js","../../node_modules/lodash/omit.js","../../src/components/ui/KeyValueTable.vue","../../src/components/ui/Row.vue","../../src/components/ui/Foldable.vue","../../src/components/panels/JsonPanel.vue","../../src/components/ui/RubyLogo.vue","../../src/components/ui/Timing.vue","../../src/components/ui/StatusCode.vue","../../src/Debugbar.vue","../../src/AppDemo.vue","../../src/demo.ts"],"sourcesContent":["/* eslint-disable no-multi-assign */\n\nfunction deepFreeze(obj) {\n if (obj instanceof Map) {\n obj.clear =\n obj.delete =\n obj.set =\n function () {\n throw new Error('map is read-only');\n };\n } else if (obj instanceof Set) {\n obj.add =\n obj.clear =\n obj.delete =\n function () {\n throw new Error('set is read-only');\n };\n }\n\n // Freeze self\n Object.freeze(obj);\n\n Object.getOwnPropertyNames(obj).forEach((name) => {\n const prop = obj[name];\n const type = typeof prop;\n\n // Freeze prop if it is an object or function and also not already frozen\n if ((type === 'object' || type === 'function') && !Object.isFrozen(prop)) {\n deepFreeze(prop);\n }\n });\n\n return obj;\n}\n\n/** @typedef {import('highlight.js').CallbackResponse} CallbackResponse */\n/** @typedef {import('highlight.js').CompiledMode} CompiledMode */\n/** @implements CallbackResponse */\n\nclass Response {\n /**\n * @param {CompiledMode} mode\n */\n constructor(mode) {\n // eslint-disable-next-line no-undefined\n if (mode.data === undefined) mode.data = {};\n\n this.data = mode.data;\n this.isMatchIgnored = false;\n }\n\n ignoreMatch() {\n this.isMatchIgnored = true;\n }\n}\n\n/**\n * @param {string} value\n * @returns {string}\n */\nfunction escapeHTML(value) {\n return value\n .replace(/&/g, '&')\n .replace(//g, '>')\n .replace(/\"/g, '"')\n .replace(/'/g, ''');\n}\n\n/**\n * performs a shallow merge of multiple objects into one\n *\n * @template T\n * @param {T} original\n * @param {Record[]} objects\n * @returns {T} a single new object\n */\nfunction inherit$1(original, ...objects) {\n /** @type Record */\n const result = Object.create(null);\n\n for (const key in original) {\n result[key] = original[key];\n }\n objects.forEach(function(obj) {\n for (const key in obj) {\n result[key] = obj[key];\n }\n });\n return /** @type {T} */ (result);\n}\n\n/**\n * @typedef {object} Renderer\n * @property {(text: string) => void} addText\n * @property {(node: Node) => void} openNode\n * @property {(node: Node) => void} closeNode\n * @property {() => string} value\n */\n\n/** @typedef {{scope?: string, language?: string, sublanguage?: boolean}} Node */\n/** @typedef {{walk: (r: Renderer) => void}} Tree */\n/** */\n\nconst SPAN_CLOSE = '';\n\n/**\n * Determines if a node needs to be wrapped in \n *\n * @param {Node} node */\nconst emitsWrappingTags = (node) => {\n // rarely we can have a sublanguage where language is undefined\n // TODO: track down why\n return !!node.scope;\n};\n\n/**\n *\n * @param {string} name\n * @param {{prefix:string}} options\n */\nconst scopeToCSSClass = (name, { prefix }) => {\n // sub-language\n if (name.startsWith(\"language:\")) {\n return name.replace(\"language:\", \"language-\");\n }\n // tiered scope: comment.line\n if (name.includes(\".\")) {\n const pieces = name.split(\".\");\n return [\n `${prefix}${pieces.shift()}`,\n ...(pieces.map((x, i) => `${x}${\"_\".repeat(i + 1)}`))\n ].join(\" \");\n }\n // simple scope\n return `${prefix}${name}`;\n};\n\n/** @type {Renderer} */\nclass HTMLRenderer {\n /**\n * Creates a new HTMLRenderer\n *\n * @param {Tree} parseTree - the parse tree (must support `walk` API)\n * @param {{classPrefix: string}} options\n */\n constructor(parseTree, options) {\n this.buffer = \"\";\n this.classPrefix = options.classPrefix;\n parseTree.walk(this);\n }\n\n /**\n * Adds texts to the output stream\n *\n * @param {string} text */\n addText(text) {\n this.buffer += escapeHTML(text);\n }\n\n /**\n * Adds a node open to the output stream (if needed)\n *\n * @param {Node} node */\n openNode(node) {\n if (!emitsWrappingTags(node)) return;\n\n const className = scopeToCSSClass(node.scope,\n { prefix: this.classPrefix });\n this.span(className);\n }\n\n /**\n * Adds a node close to the output stream (if needed)\n *\n * @param {Node} node */\n closeNode(node) {\n if (!emitsWrappingTags(node)) return;\n\n this.buffer += SPAN_CLOSE;\n }\n\n /**\n * returns the accumulated buffer\n */\n value() {\n return this.buffer;\n }\n\n // helpers\n\n /**\n * Builds a span element\n *\n * @param {string} className */\n span(className) {\n this.buffer += ``;\n }\n}\n\n/** @typedef {{scope?: string, language?: string, children: Node[]} | string} Node */\n/** @typedef {{scope?: string, language?: string, children: Node[]} } DataNode */\n/** @typedef {import('highlight.js').Emitter} Emitter */\n/** */\n\n/** @returns {DataNode} */\nconst newNode = (opts = {}) => {\n /** @type DataNode */\n const result = { children: [] };\n Object.assign(result, opts);\n return result;\n};\n\nclass TokenTree {\n constructor() {\n /** @type DataNode */\n this.rootNode = newNode();\n this.stack = [this.rootNode];\n }\n\n get top() {\n return this.stack[this.stack.length - 1];\n }\n\n get root() { return this.rootNode; }\n\n /** @param {Node} node */\n add(node) {\n this.top.children.push(node);\n }\n\n /** @param {string} scope */\n openNode(scope) {\n /** @type Node */\n const node = newNode({ scope });\n this.add(node);\n this.stack.push(node);\n }\n\n closeNode() {\n if (this.stack.length > 1) {\n return this.stack.pop();\n }\n // eslint-disable-next-line no-undefined\n return undefined;\n }\n\n closeAllNodes() {\n while (this.closeNode());\n }\n\n toJSON() {\n return JSON.stringify(this.rootNode, null, 4);\n }\n\n /**\n * @typedef { import(\"./html_renderer\").Renderer } Renderer\n * @param {Renderer} builder\n */\n walk(builder) {\n // this does not\n return this.constructor._walk(builder, this.rootNode);\n // this works\n // return TokenTree._walk(builder, this.rootNode);\n }\n\n /**\n * @param {Renderer} builder\n * @param {Node} node\n */\n static _walk(builder, node) {\n if (typeof node === \"string\") {\n builder.addText(node);\n } else if (node.children) {\n builder.openNode(node);\n node.children.forEach((child) => this._walk(builder, child));\n builder.closeNode(node);\n }\n return builder;\n }\n\n /**\n * @param {Node} node\n */\n static _collapse(node) {\n if (typeof node === \"string\") return;\n if (!node.children) return;\n\n if (node.children.every(el => typeof el === \"string\")) {\n // node.text = node.children.join(\"\");\n // delete node.children;\n node.children = [node.children.join(\"\")];\n } else {\n node.children.forEach((child) => {\n TokenTree._collapse(child);\n });\n }\n }\n}\n\n/**\n Currently this is all private API, but this is the minimal API necessary\n that an Emitter must implement to fully support the parser.\n\n Minimal interface:\n\n - addText(text)\n - __addSublanguage(emitter, subLanguageName)\n - startScope(scope)\n - endScope()\n - finalize()\n - toHTML()\n\n*/\n\n/**\n * @implements {Emitter}\n */\nclass TokenTreeEmitter extends TokenTree {\n /**\n * @param {*} options\n */\n constructor(options) {\n super();\n this.options = options;\n }\n\n /**\n * @param {string} text\n */\n addText(text) {\n if (text === \"\") { return; }\n\n this.add(text);\n }\n\n /** @param {string} scope */\n startScope(scope) {\n this.openNode(scope);\n }\n\n endScope() {\n this.closeNode();\n }\n\n /**\n * @param {Emitter & {root: DataNode}} emitter\n * @param {string} name\n */\n __addSublanguage(emitter, name) {\n /** @type DataNode */\n const node = emitter.root;\n if (name) node.scope = `language:${name}`;\n\n this.add(node);\n }\n\n toHTML() {\n const renderer = new HTMLRenderer(this, this.options);\n return renderer.value();\n }\n\n finalize() {\n this.closeAllNodes();\n return true;\n }\n}\n\n/**\n * @param {string} value\n * @returns {RegExp}\n * */\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction source(re) {\n if (!re) return null;\n if (typeof re === \"string\") return re;\n\n return re.source;\n}\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction lookahead(re) {\n return concat('(?=', re, ')');\n}\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction anyNumberOfTimes(re) {\n return concat('(?:', re, ')*');\n}\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction optional(re) {\n return concat('(?:', re, ')?');\n}\n\n/**\n * @param {...(RegExp | string) } args\n * @returns {string}\n */\nfunction concat(...args) {\n const joined = args.map((x) => source(x)).join(\"\");\n return joined;\n}\n\n/**\n * @param { Array } args\n * @returns {object}\n */\nfunction stripOptionsFromArgs(args) {\n const opts = args[args.length - 1];\n\n if (typeof opts === 'object' && opts.constructor === Object) {\n args.splice(args.length - 1, 1);\n return opts;\n } else {\n return {};\n }\n}\n\n/** @typedef { {capture?: boolean} } RegexEitherOptions */\n\n/**\n * Any of the passed expresssions may match\n *\n * Creates a huge this | this | that | that match\n * @param {(RegExp | string)[] | [...(RegExp | string)[], RegexEitherOptions]} args\n * @returns {string}\n */\nfunction either(...args) {\n /** @type { object & {capture?: boolean} } */\n const opts = stripOptionsFromArgs(args);\n const joined = '('\n + (opts.capture ? \"\" : \"?:\")\n + args.map((x) => source(x)).join(\"|\") + \")\";\n return joined;\n}\n\n/**\n * @param {RegExp | string} re\n * @returns {number}\n */\nfunction countMatchGroups(re) {\n return (new RegExp(re.toString() + '|')).exec('').length - 1;\n}\n\n/**\n * Does lexeme start with a regular expression match at the beginning\n * @param {RegExp} re\n * @param {string} lexeme\n */\nfunction startsWith(re, lexeme) {\n const match = re && re.exec(lexeme);\n return match && match.index === 0;\n}\n\n// BACKREF_RE matches an open parenthesis or backreference. To avoid\n// an incorrect parse, it additionally matches the following:\n// - [...] elements, where the meaning of parentheses and escapes change\n// - other escape sequences, so we do not misparse escape sequences as\n// interesting elements\n// - non-matching or lookahead parentheses, which do not capture. These\n// follow the '(' with a '?'.\nconst BACKREF_RE = /\\[(?:[^\\\\\\]]|\\\\.)*\\]|\\(\\??|\\\\([1-9][0-9]*)|\\\\./;\n\n// **INTERNAL** Not intended for outside usage\n// join logically computes regexps.join(separator), but fixes the\n// backreferences so they continue to match.\n// it also places each individual regular expression into it's own\n// match group, keeping track of the sequencing of those match groups\n// is currently an exercise for the caller. :-)\n/**\n * @param {(string | RegExp)[]} regexps\n * @param {{joinWith: string}} opts\n * @returns {string}\n */\nfunction _rewriteBackreferences(regexps, { joinWith }) {\n let numCaptures = 0;\n\n return regexps.map((regex) => {\n numCaptures += 1;\n const offset = numCaptures;\n let re = source(regex);\n let out = '';\n\n while (re.length > 0) {\n const match = BACKREF_RE.exec(re);\n if (!match) {\n out += re;\n break;\n }\n out += re.substring(0, match.index);\n re = re.substring(match.index + match[0].length);\n if (match[0][0] === '\\\\' && match[1]) {\n // Adjust the backreference.\n out += '\\\\' + String(Number(match[1]) + offset);\n } else {\n out += match[0];\n if (match[0] === '(') {\n numCaptures++;\n }\n }\n }\n return out;\n }).map(re => `(${re})`).join(joinWith);\n}\n\n/** @typedef {import('highlight.js').Mode} Mode */\n/** @typedef {import('highlight.js').ModeCallback} ModeCallback */\n\n// Common regexps\nconst MATCH_NOTHING_RE = /\\b\\B/;\nconst IDENT_RE = '[a-zA-Z]\\\\w*';\nconst UNDERSCORE_IDENT_RE = '[a-zA-Z_]\\\\w*';\nconst NUMBER_RE = '\\\\b\\\\d+(\\\\.\\\\d+)?';\nconst C_NUMBER_RE = '(-?)(\\\\b0[xX][a-fA-F0-9]+|(\\\\b\\\\d+(\\\\.\\\\d*)?|\\\\.\\\\d+)([eE][-+]?\\\\d+)?)'; // 0x..., 0..., decimal, float\nconst BINARY_NUMBER_RE = '\\\\b(0b[01]+)'; // 0b...\nconst RE_STARTERS_RE = '!|!=|!==|%|%=|&|&&|&=|\\\\*|\\\\*=|\\\\+|\\\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\\\?|\\\\[|\\\\{|\\\\(|\\\\^|\\\\^=|\\\\||\\\\|=|\\\\|\\\\||~';\n\n/**\n* @param { Partial & {binary?: string | RegExp} } opts\n*/\nconst SHEBANG = (opts = {}) => {\n const beginShebang = /^#![ ]*\\//;\n if (opts.binary) {\n opts.begin = concat(\n beginShebang,\n /.*\\b/,\n opts.binary,\n /\\b.*/);\n }\n return inherit$1({\n scope: 'meta',\n begin: beginShebang,\n end: /$/,\n relevance: 0,\n /** @type {ModeCallback} */\n \"on:begin\": (m, resp) => {\n if (m.index !== 0) resp.ignoreMatch();\n }\n }, opts);\n};\n\n// Common modes\nconst BACKSLASH_ESCAPE = {\n begin: '\\\\\\\\[\\\\s\\\\S]', relevance: 0\n};\nconst APOS_STRING_MODE = {\n scope: 'string',\n begin: '\\'',\n end: '\\'',\n illegal: '\\\\n',\n contains: [BACKSLASH_ESCAPE]\n};\nconst QUOTE_STRING_MODE = {\n scope: 'string',\n begin: '\"',\n end: '\"',\n illegal: '\\\\n',\n contains: [BACKSLASH_ESCAPE]\n};\nconst PHRASAL_WORDS_MODE = {\n begin: /\\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\\b/\n};\n/**\n * Creates a comment mode\n *\n * @param {string | RegExp} begin\n * @param {string | RegExp} end\n * @param {Mode | {}} [modeOptions]\n * @returns {Partial}\n */\nconst COMMENT = function(begin, end, modeOptions = {}) {\n const mode = inherit$1(\n {\n scope: 'comment',\n begin,\n end,\n contains: []\n },\n modeOptions\n );\n mode.contains.push({\n scope: 'doctag',\n // hack to avoid the space from being included. the space is necessary to\n // match here to prevent the plain text rule below from gobbling up doctags\n begin: '[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)',\n end: /(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,\n excludeBegin: true,\n relevance: 0\n });\n const ENGLISH_WORD = either(\n // list of common 1 and 2 letter words in English\n \"I\",\n \"a\",\n \"is\",\n \"so\",\n \"us\",\n \"to\",\n \"at\",\n \"if\",\n \"in\",\n \"it\",\n \"on\",\n // note: this is not an exhaustive list of contractions, just popular ones\n /[A-Za-z]+['](d|ve|re|ll|t|s|n)/, // contractions - can't we'd they're let's, etc\n /[A-Za-z]+[-][a-z]+/, // `no-way`, etc.\n /[A-Za-z][a-z]{2,}/ // allow capitalized words at beginning of sentences\n );\n // looking like plain text, more likely to be a comment\n mode.contains.push(\n {\n // TODO: how to include \", (, ) without breaking grammars that use these for\n // comment delimiters?\n // begin: /[ ]+([()\"]?([A-Za-z'-]{3,}|is|a|I|so|us|[tT][oO]|at|if|in|it|on)[.]?[()\":]?([.][ ]|[ ]|\\))){3}/\n // ---\n\n // this tries to find sequences of 3 english words in a row (without any\n // \"programming\" type syntax) this gives us a strong signal that we've\n // TRULY found a comment - vs perhaps scanning with the wrong language.\n // It's possible to find something that LOOKS like the start of the\n // comment - but then if there is no readable text - good chance it is a\n // false match and not a comment.\n //\n // for a visual example please see:\n // https://github.com/highlightjs/highlight.js/issues/2827\n\n begin: concat(\n /[ ]+/, // necessary to prevent us gobbling up doctags like /* @author Bob Mcgill */\n '(',\n ENGLISH_WORD,\n /[.]?[:]?([.][ ]|[ ])/,\n '){3}') // look for 3 words in a row\n }\n );\n return mode;\n};\nconst C_LINE_COMMENT_MODE = COMMENT('//', '$');\nconst C_BLOCK_COMMENT_MODE = COMMENT('/\\\\*', '\\\\*/');\nconst HASH_COMMENT_MODE = COMMENT('#', '$');\nconst NUMBER_MODE = {\n scope: 'number',\n begin: NUMBER_RE,\n relevance: 0\n};\nconst C_NUMBER_MODE = {\n scope: 'number',\n begin: C_NUMBER_RE,\n relevance: 0\n};\nconst BINARY_NUMBER_MODE = {\n scope: 'number',\n begin: BINARY_NUMBER_RE,\n relevance: 0\n};\nconst REGEXP_MODE = {\n scope: \"regexp\",\n begin: /\\/(?=[^/\\n]*\\/)/,\n end: /\\/[gimuy]*/,\n contains: [\n BACKSLASH_ESCAPE,\n {\n begin: /\\[/,\n end: /\\]/,\n relevance: 0,\n contains: [BACKSLASH_ESCAPE]\n }\n ]\n};\nconst TITLE_MODE = {\n scope: 'title',\n begin: IDENT_RE,\n relevance: 0\n};\nconst UNDERSCORE_TITLE_MODE = {\n scope: 'title',\n begin: UNDERSCORE_IDENT_RE,\n relevance: 0\n};\nconst METHOD_GUARD = {\n // excludes method names from keyword processing\n begin: '\\\\.\\\\s*' + UNDERSCORE_IDENT_RE,\n relevance: 0\n};\n\n/**\n * Adds end same as begin mechanics to a mode\n *\n * Your mode must include at least a single () match group as that first match\n * group is what is used for comparison\n * @param {Partial} mode\n */\nconst END_SAME_AS_BEGIN = function(mode) {\n return Object.assign(mode,\n {\n /** @type {ModeCallback} */\n 'on:begin': (m, resp) => { resp.data._beginMatch = m[1]; },\n /** @type {ModeCallback} */\n 'on:end': (m, resp) => { if (resp.data._beginMatch !== m[1]) resp.ignoreMatch(); }\n });\n};\n\nvar MODES = /*#__PURE__*/Object.freeze({\n __proto__: null,\n APOS_STRING_MODE: APOS_STRING_MODE,\n BACKSLASH_ESCAPE: BACKSLASH_ESCAPE,\n BINARY_NUMBER_MODE: BINARY_NUMBER_MODE,\n BINARY_NUMBER_RE: BINARY_NUMBER_RE,\n COMMENT: COMMENT,\n C_BLOCK_COMMENT_MODE: C_BLOCK_COMMENT_MODE,\n C_LINE_COMMENT_MODE: C_LINE_COMMENT_MODE,\n C_NUMBER_MODE: C_NUMBER_MODE,\n C_NUMBER_RE: C_NUMBER_RE,\n END_SAME_AS_BEGIN: END_SAME_AS_BEGIN,\n HASH_COMMENT_MODE: HASH_COMMENT_MODE,\n IDENT_RE: IDENT_RE,\n MATCH_NOTHING_RE: MATCH_NOTHING_RE,\n METHOD_GUARD: METHOD_GUARD,\n NUMBER_MODE: NUMBER_MODE,\n NUMBER_RE: NUMBER_RE,\n PHRASAL_WORDS_MODE: PHRASAL_WORDS_MODE,\n QUOTE_STRING_MODE: QUOTE_STRING_MODE,\n REGEXP_MODE: REGEXP_MODE,\n RE_STARTERS_RE: RE_STARTERS_RE,\n SHEBANG: SHEBANG,\n TITLE_MODE: TITLE_MODE,\n UNDERSCORE_IDENT_RE: UNDERSCORE_IDENT_RE,\n UNDERSCORE_TITLE_MODE: UNDERSCORE_TITLE_MODE\n});\n\n/**\n@typedef {import('highlight.js').CallbackResponse} CallbackResponse\n@typedef {import('highlight.js').CompilerExt} CompilerExt\n*/\n\n// Grammar extensions / plugins\n// See: https://github.com/highlightjs/highlight.js/issues/2833\n\n// Grammar extensions allow \"syntactic sugar\" to be added to the grammar modes\n// without requiring any underlying changes to the compiler internals.\n\n// `compileMatch` being the perfect small example of now allowing a grammar\n// author to write `match` when they desire to match a single expression rather\n// than being forced to use `begin`. The extension then just moves `match` into\n// `begin` when it runs. Ie, no features have been added, but we've just made\n// the experience of writing (and reading grammars) a little bit nicer.\n\n// ------\n\n// TODO: We need negative look-behind support to do this properly\n/**\n * Skip a match if it has a preceding dot\n *\n * This is used for `beginKeywords` to prevent matching expressions such as\n * `bob.keyword.do()`. The mode compiler automatically wires this up as a\n * special _internal_ 'on:begin' callback for modes with `beginKeywords`\n * @param {RegExpMatchArray} match\n * @param {CallbackResponse} response\n */\nfunction skipIfHasPrecedingDot(match, response) {\n const before = match.input[match.index - 1];\n if (before === \".\") {\n response.ignoreMatch();\n }\n}\n\n/**\n *\n * @type {CompilerExt}\n */\nfunction scopeClassName(mode, _parent) {\n // eslint-disable-next-line no-undefined\n if (mode.className !== undefined) {\n mode.scope = mode.className;\n delete mode.className;\n }\n}\n\n/**\n * `beginKeywords` syntactic sugar\n * @type {CompilerExt}\n */\nfunction beginKeywords(mode, parent) {\n if (!parent) return;\n if (!mode.beginKeywords) return;\n\n // for languages with keywords that include non-word characters checking for\n // a word boundary is not sufficient, so instead we check for a word boundary\n // or whitespace - this does no harm in any case since our keyword engine\n // doesn't allow spaces in keywords anyways and we still check for the boundary\n // first\n mode.begin = '\\\\b(' + mode.beginKeywords.split(' ').join('|') + ')(?!\\\\.)(?=\\\\b|\\\\s)';\n mode.__beforeBegin = skipIfHasPrecedingDot;\n mode.keywords = mode.keywords || mode.beginKeywords;\n delete mode.beginKeywords;\n\n // prevents double relevance, the keywords themselves provide\n // relevance, the mode doesn't need to double it\n // eslint-disable-next-line no-undefined\n if (mode.relevance === undefined) mode.relevance = 0;\n}\n\n/**\n * Allow `illegal` to contain an array of illegal values\n * @type {CompilerExt}\n */\nfunction compileIllegal(mode, _parent) {\n if (!Array.isArray(mode.illegal)) return;\n\n mode.illegal = either(...mode.illegal);\n}\n\n/**\n * `match` to match a single expression for readability\n * @type {CompilerExt}\n */\nfunction compileMatch(mode, _parent) {\n if (!mode.match) return;\n if (mode.begin || mode.end) throw new Error(\"begin & end are not supported with match\");\n\n mode.begin = mode.match;\n delete mode.match;\n}\n\n/**\n * provides the default 1 relevance to all modes\n * @type {CompilerExt}\n */\nfunction compileRelevance(mode, _parent) {\n // eslint-disable-next-line no-undefined\n if (mode.relevance === undefined) mode.relevance = 1;\n}\n\n// allow beforeMatch to act as a \"qualifier\" for the match\n// the full match begin must be [beforeMatch][begin]\nconst beforeMatchExt = (mode, parent) => {\n if (!mode.beforeMatch) return;\n // starts conflicts with endsParent which we need to make sure the child\n // rule is not matched multiple times\n if (mode.starts) throw new Error(\"beforeMatch cannot be used with starts\");\n\n const originalMode = Object.assign({}, mode);\n Object.keys(mode).forEach((key) => { delete mode[key]; });\n\n mode.keywords = originalMode.keywords;\n mode.begin = concat(originalMode.beforeMatch, lookahead(originalMode.begin));\n mode.starts = {\n relevance: 0,\n contains: [\n Object.assign(originalMode, { endsParent: true })\n ]\n };\n mode.relevance = 0;\n\n delete originalMode.beforeMatch;\n};\n\n// keywords that should have no default relevance value\nconst COMMON_KEYWORDS = [\n 'of',\n 'and',\n 'for',\n 'in',\n 'not',\n 'or',\n 'if',\n 'then',\n 'parent', // common variable name\n 'list', // common variable name\n 'value' // common variable name\n];\n\nconst DEFAULT_KEYWORD_SCOPE = \"keyword\";\n\n/**\n * Given raw keywords from a language definition, compile them.\n *\n * @param {string | Record | Array} rawKeywords\n * @param {boolean} caseInsensitive\n */\nfunction compileKeywords(rawKeywords, caseInsensitive, scopeName = DEFAULT_KEYWORD_SCOPE) {\n /** @type {import(\"highlight.js/private\").KeywordDict} */\n const compiledKeywords = Object.create(null);\n\n // input can be a string of keywords, an array of keywords, or a object with\n // named keys representing scopeName (which can then point to a string or array)\n if (typeof rawKeywords === 'string') {\n compileList(scopeName, rawKeywords.split(\" \"));\n } else if (Array.isArray(rawKeywords)) {\n compileList(scopeName, rawKeywords);\n } else {\n Object.keys(rawKeywords).forEach(function(scopeName) {\n // collapse all our objects back into the parent object\n Object.assign(\n compiledKeywords,\n compileKeywords(rawKeywords[scopeName], caseInsensitive, scopeName)\n );\n });\n }\n return compiledKeywords;\n\n // ---\n\n /**\n * Compiles an individual list of keywords\n *\n * Ex: \"for if when while|5\"\n *\n * @param {string} scopeName\n * @param {Array} keywordList\n */\n function compileList(scopeName, keywordList) {\n if (caseInsensitive) {\n keywordList = keywordList.map(x => x.toLowerCase());\n }\n keywordList.forEach(function(keyword) {\n const pair = keyword.split('|');\n compiledKeywords[pair[0]] = [scopeName, scoreForKeyword(pair[0], pair[1])];\n });\n }\n}\n\n/**\n * Returns the proper score for a given keyword\n *\n * Also takes into account comment keywords, which will be scored 0 UNLESS\n * another score has been manually assigned.\n * @param {string} keyword\n * @param {string} [providedScore]\n */\nfunction scoreForKeyword(keyword, providedScore) {\n // manual scores always win over common keywords\n // so you can force a score of 1 if you really insist\n if (providedScore) {\n return Number(providedScore);\n }\n\n return commonKeyword(keyword) ? 0 : 1;\n}\n\n/**\n * Determines if a given keyword is common or not\n *\n * @param {string} keyword */\nfunction commonKeyword(keyword) {\n return COMMON_KEYWORDS.includes(keyword.toLowerCase());\n}\n\n/*\n\nFor the reasoning behind this please see:\nhttps://github.com/highlightjs/highlight.js/issues/2880#issuecomment-747275419\n\n*/\n\n/**\n * @type {Record}\n */\nconst seenDeprecations = {};\n\n/**\n * @param {string} message\n */\nconst error = (message) => {\n console.error(message);\n};\n\n/**\n * @param {string} message\n * @param {any} args\n */\nconst warn = (message, ...args) => {\n console.log(`WARN: ${message}`, ...args);\n};\n\n/**\n * @param {string} version\n * @param {string} message\n */\nconst deprecated = (version, message) => {\n if (seenDeprecations[`${version}/${message}`]) return;\n\n console.log(`Deprecated as of ${version}. ${message}`);\n seenDeprecations[`${version}/${message}`] = true;\n};\n\n/* eslint-disable no-throw-literal */\n\n/**\n@typedef {import('highlight.js').CompiledMode} CompiledMode\n*/\n\nconst MultiClassError = new Error();\n\n/**\n * Renumbers labeled scope names to account for additional inner match\n * groups that otherwise would break everything.\n *\n * Lets say we 3 match scopes:\n *\n * { 1 => ..., 2 => ..., 3 => ... }\n *\n * So what we need is a clean match like this:\n *\n * (a)(b)(c) => [ \"a\", \"b\", \"c\" ]\n *\n * But this falls apart with inner match groups:\n *\n * (a)(((b)))(c) => [\"a\", \"b\", \"b\", \"b\", \"c\" ]\n *\n * Our scopes are now \"out of alignment\" and we're repeating `b` 3 times.\n * What needs to happen is the numbers are remapped:\n *\n * { 1 => ..., 2 => ..., 5 => ... }\n *\n * We also need to know that the ONLY groups that should be output\n * are 1, 2, and 5. This function handles this behavior.\n *\n * @param {CompiledMode} mode\n * @param {Array} regexes\n * @param {{key: \"beginScope\"|\"endScope\"}} opts\n */\nfunction remapScopeNames(mode, regexes, { key }) {\n let offset = 0;\n const scopeNames = mode[key];\n /** @type Record */\n const emit = {};\n /** @type Record */\n const positions = {};\n\n for (let i = 1; i <= regexes.length; i++) {\n positions[i + offset] = scopeNames[i];\n emit[i + offset] = true;\n offset += countMatchGroups(regexes[i - 1]);\n }\n // we use _emit to keep track of which match groups are \"top-level\" to avoid double\n // output from inside match groups\n mode[key] = positions;\n mode[key]._emit = emit;\n mode[key]._multi = true;\n}\n\n/**\n * @param {CompiledMode} mode\n */\nfunction beginMultiClass(mode) {\n if (!Array.isArray(mode.begin)) return;\n\n if (mode.skip || mode.excludeBegin || mode.returnBegin) {\n error(\"skip, excludeBegin, returnBegin not compatible with beginScope: {}\");\n throw MultiClassError;\n }\n\n if (typeof mode.beginScope !== \"object\" || mode.beginScope === null) {\n error(\"beginScope must be object\");\n throw MultiClassError;\n }\n\n remapScopeNames(mode, mode.begin, { key: \"beginScope\" });\n mode.begin = _rewriteBackreferences(mode.begin, { joinWith: \"\" });\n}\n\n/**\n * @param {CompiledMode} mode\n */\nfunction endMultiClass(mode) {\n if (!Array.isArray(mode.end)) return;\n\n if (mode.skip || mode.excludeEnd || mode.returnEnd) {\n error(\"skip, excludeEnd, returnEnd not compatible with endScope: {}\");\n throw MultiClassError;\n }\n\n if (typeof mode.endScope !== \"object\" || mode.endScope === null) {\n error(\"endScope must be object\");\n throw MultiClassError;\n }\n\n remapScopeNames(mode, mode.end, { key: \"endScope\" });\n mode.end = _rewriteBackreferences(mode.end, { joinWith: \"\" });\n}\n\n/**\n * this exists only to allow `scope: {}` to be used beside `match:`\n * Otherwise `beginScope` would necessary and that would look weird\n\n {\n match: [ /def/, /\\w+/ ]\n scope: { 1: \"keyword\" , 2: \"title\" }\n }\n\n * @param {CompiledMode} mode\n */\nfunction scopeSugar(mode) {\n if (mode.scope && typeof mode.scope === \"object\" && mode.scope !== null) {\n mode.beginScope = mode.scope;\n delete mode.scope;\n }\n}\n\n/**\n * @param {CompiledMode} mode\n */\nfunction MultiClass(mode) {\n scopeSugar(mode);\n\n if (typeof mode.beginScope === \"string\") {\n mode.beginScope = { _wrap: mode.beginScope };\n }\n if (typeof mode.endScope === \"string\") {\n mode.endScope = { _wrap: mode.endScope };\n }\n\n beginMultiClass(mode);\n endMultiClass(mode);\n}\n\n/**\n@typedef {import('highlight.js').Mode} Mode\n@typedef {import('highlight.js').CompiledMode} CompiledMode\n@typedef {import('highlight.js').Language} Language\n@typedef {import('highlight.js').HLJSPlugin} HLJSPlugin\n@typedef {import('highlight.js').CompiledLanguage} CompiledLanguage\n*/\n\n// compilation\n\n/**\n * Compiles a language definition result\n *\n * Given the raw result of a language definition (Language), compiles this so\n * that it is ready for highlighting code.\n * @param {Language} language\n * @returns {CompiledLanguage}\n */\nfunction compileLanguage(language) {\n /**\n * Builds a regex with the case sensitivity of the current language\n *\n * @param {RegExp | string} value\n * @param {boolean} [global]\n */\n function langRe(value, global) {\n return new RegExp(\n source(value),\n 'm'\n + (language.case_insensitive ? 'i' : '')\n + (language.unicodeRegex ? 'u' : '')\n + (global ? 'g' : '')\n );\n }\n\n /**\n Stores multiple regular expressions and allows you to quickly search for\n them all in a string simultaneously - returning the first match. It does\n this by creating a huge (a|b|c) regex - each individual item wrapped with ()\n and joined by `|` - using match groups to track position. When a match is\n found checking which position in the array has content allows us to figure\n out which of the original regexes / match groups triggered the match.\n\n The match object itself (the result of `Regex.exec`) is returned but also\n enhanced by merging in any meta-data that was registered with the regex.\n This is how we keep track of which mode matched, and what type of rule\n (`illegal`, `begin`, end, etc).\n */\n class MultiRegex {\n constructor() {\n this.matchIndexes = {};\n // @ts-ignore\n this.regexes = [];\n this.matchAt = 1;\n this.position = 0;\n }\n\n // @ts-ignore\n addRule(re, opts) {\n opts.position = this.position++;\n // @ts-ignore\n this.matchIndexes[this.matchAt] = opts;\n this.regexes.push([opts, re]);\n this.matchAt += countMatchGroups(re) + 1;\n }\n\n compile() {\n if (this.regexes.length === 0) {\n // avoids the need to check length every time exec is called\n // @ts-ignore\n this.exec = () => null;\n }\n const terminators = this.regexes.map(el => el[1]);\n this.matcherRe = langRe(_rewriteBackreferences(terminators, { joinWith: '|' }), true);\n this.lastIndex = 0;\n }\n\n /** @param {string} s */\n exec(s) {\n this.matcherRe.lastIndex = this.lastIndex;\n const match = this.matcherRe.exec(s);\n if (!match) { return null; }\n\n // eslint-disable-next-line no-undefined\n const i = match.findIndex((el, i) => i > 0 && el !== undefined);\n // @ts-ignore\n const matchData = this.matchIndexes[i];\n // trim off any earlier non-relevant match groups (ie, the other regex\n // match groups that make up the multi-matcher)\n match.splice(0, i);\n\n return Object.assign(match, matchData);\n }\n }\n\n /*\n Created to solve the key deficiently with MultiRegex - there is no way to\n test for multiple matches at a single location. Why would we need to do\n that? In the future a more dynamic engine will allow certain matches to be\n ignored. An example: if we matched say the 3rd regex in a large group but\n decided to ignore it - we'd need to started testing again at the 4th\n regex... but MultiRegex itself gives us no real way to do that.\n\n So what this class creates MultiRegexs on the fly for whatever search\n position they are needed.\n\n NOTE: These additional MultiRegex objects are created dynamically. For most\n grammars most of the time we will never actually need anything more than the\n first MultiRegex - so this shouldn't have too much overhead.\n\n Say this is our search group, and we match regex3, but wish to ignore it.\n\n regex1 | regex2 | regex3 | regex4 | regex5 ' ie, startAt = 0\n\n What we need is a new MultiRegex that only includes the remaining\n possibilities:\n\n regex4 | regex5 ' ie, startAt = 3\n\n This class wraps all that complexity up in a simple API... `startAt` decides\n where in the array of expressions to start doing the matching. It\n auto-increments, so if a match is found at position 2, then startAt will be\n set to 3. If the end is reached startAt will return to 0.\n\n MOST of the time the parser will be setting startAt manually to 0.\n */\n class ResumableMultiRegex {\n constructor() {\n // @ts-ignore\n this.rules = [];\n // @ts-ignore\n this.multiRegexes = [];\n this.count = 0;\n\n this.lastIndex = 0;\n this.regexIndex = 0;\n }\n\n // @ts-ignore\n getMatcher(index) {\n if (this.multiRegexes[index]) return this.multiRegexes[index];\n\n const matcher = new MultiRegex();\n this.rules.slice(index).forEach(([re, opts]) => matcher.addRule(re, opts));\n matcher.compile();\n this.multiRegexes[index] = matcher;\n return matcher;\n }\n\n resumingScanAtSamePosition() {\n return this.regexIndex !== 0;\n }\n\n considerAll() {\n this.regexIndex = 0;\n }\n\n // @ts-ignore\n addRule(re, opts) {\n this.rules.push([re, opts]);\n if (opts.type === \"begin\") this.count++;\n }\n\n /** @param {string} s */\n exec(s) {\n const m = this.getMatcher(this.regexIndex);\n m.lastIndex = this.lastIndex;\n let result = m.exec(s);\n\n // The following is because we have no easy way to say \"resume scanning at the\n // existing position but also skip the current rule ONLY\". What happens is\n // all prior rules are also skipped which can result in matching the wrong\n // thing. Example of matching \"booger\":\n\n // our matcher is [string, \"booger\", number]\n //\n // ....booger....\n\n // if \"booger\" is ignored then we'd really need a regex to scan from the\n // SAME position for only: [string, number] but ignoring \"booger\" (if it\n // was the first match), a simple resume would scan ahead who knows how\n // far looking only for \"number\", ignoring potential string matches (or\n // future \"booger\" matches that might be valid.)\n\n // So what we do: We execute two matchers, one resuming at the same\n // position, but the second full matcher starting at the position after:\n\n // /--- resume first regex match here (for [number])\n // |/---- full match here for [string, \"booger\", number]\n // vv\n // ....booger....\n\n // Which ever results in a match first is then used. So this 3-4 step\n // process essentially allows us to say \"match at this position, excluding\n // a prior rule that was ignored\".\n //\n // 1. Match \"booger\" first, ignore. Also proves that [string] does non match.\n // 2. Resume matching for [number]\n // 3. Match at index + 1 for [string, \"booger\", number]\n // 4. If #2 and #3 result in matches, which came first?\n if (this.resumingScanAtSamePosition()) {\n if (result && result.index === this.lastIndex) ; else { // use the second matcher result\n const m2 = this.getMatcher(0);\n m2.lastIndex = this.lastIndex + 1;\n result = m2.exec(s);\n }\n }\n\n if (result) {\n this.regexIndex += result.position + 1;\n if (this.regexIndex === this.count) {\n // wrap-around to considering all matches again\n this.considerAll();\n }\n }\n\n return result;\n }\n }\n\n /**\n * Given a mode, builds a huge ResumableMultiRegex that can be used to walk\n * the content and find matches.\n *\n * @param {CompiledMode} mode\n * @returns {ResumableMultiRegex}\n */\n function buildModeRegex(mode) {\n const mm = new ResumableMultiRegex();\n\n mode.contains.forEach(term => mm.addRule(term.begin, { rule: term, type: \"begin\" }));\n\n if (mode.terminatorEnd) {\n mm.addRule(mode.terminatorEnd, { type: \"end\" });\n }\n if (mode.illegal) {\n mm.addRule(mode.illegal, { type: \"illegal\" });\n }\n\n return mm;\n }\n\n /** skip vs abort vs ignore\n *\n * @skip - The mode is still entered and exited normally (and contains rules apply),\n * but all content is held and added to the parent buffer rather than being\n * output when the mode ends. Mostly used with `sublanguage` to build up\n * a single large buffer than can be parsed by sublanguage.\n *\n * - The mode begin ands ends normally.\n * - Content matched is added to the parent mode buffer.\n * - The parser cursor is moved forward normally.\n *\n * @abort - A hack placeholder until we have ignore. Aborts the mode (as if it\n * never matched) but DOES NOT continue to match subsequent `contains`\n * modes. Abort is bad/suboptimal because it can result in modes\n * farther down not getting applied because an earlier rule eats the\n * content but then aborts.\n *\n * - The mode does not begin.\n * - Content matched by `begin` is added to the mode buffer.\n * - The parser cursor is moved forward accordingly.\n *\n * @ignore - Ignores the mode (as if it never matched) and continues to match any\n * subsequent `contains` modes. Ignore isn't technically possible with\n * the current parser implementation.\n *\n * - The mode does not begin.\n * - Content matched by `begin` is ignored.\n * - The parser cursor is not moved forward.\n */\n\n /**\n * Compiles an individual mode\n *\n * This can raise an error if the mode contains certain detectable known logic\n * issues.\n * @param {Mode} mode\n * @param {CompiledMode | null} [parent]\n * @returns {CompiledMode | never}\n */\n function compileMode(mode, parent) {\n const cmode = /** @type CompiledMode */ (mode);\n if (mode.isCompiled) return cmode;\n\n [\n scopeClassName,\n // do this early so compiler extensions generally don't have to worry about\n // the distinction between match/begin\n compileMatch,\n MultiClass,\n beforeMatchExt\n ].forEach(ext => ext(mode, parent));\n\n language.compilerExtensions.forEach(ext => ext(mode, parent));\n\n // __beforeBegin is considered private API, internal use only\n mode.__beforeBegin = null;\n\n [\n beginKeywords,\n // do this later so compiler extensions that come earlier have access to the\n // raw array if they wanted to perhaps manipulate it, etc.\n compileIllegal,\n // default to 1 relevance if not specified\n compileRelevance\n ].forEach(ext => ext(mode, parent));\n\n mode.isCompiled = true;\n\n let keywordPattern = null;\n if (typeof mode.keywords === \"object\" && mode.keywords.$pattern) {\n // we need a copy because keywords might be compiled multiple times\n // so we can't go deleting $pattern from the original on the first\n // pass\n mode.keywords = Object.assign({}, mode.keywords);\n keywordPattern = mode.keywords.$pattern;\n delete mode.keywords.$pattern;\n }\n keywordPattern = keywordPattern || /\\w+/;\n\n if (mode.keywords) {\n mode.keywords = compileKeywords(mode.keywords, language.case_insensitive);\n }\n\n cmode.keywordPatternRe = langRe(keywordPattern, true);\n\n if (parent) {\n if (!mode.begin) mode.begin = /\\B|\\b/;\n cmode.beginRe = langRe(cmode.begin);\n if (!mode.end && !mode.endsWithParent) mode.end = /\\B|\\b/;\n if (mode.end) cmode.endRe = langRe(cmode.end);\n cmode.terminatorEnd = source(cmode.end) || '';\n if (mode.endsWithParent && parent.terminatorEnd) {\n cmode.terminatorEnd += (mode.end ? '|' : '') + parent.terminatorEnd;\n }\n }\n if (mode.illegal) cmode.illegalRe = langRe(/** @type {RegExp | string} */ (mode.illegal));\n if (!mode.contains) mode.contains = [];\n\n mode.contains = [].concat(...mode.contains.map(function(c) {\n return expandOrCloneMode(c === 'self' ? mode : c);\n }));\n mode.contains.forEach(function(c) { compileMode(/** @type Mode */ (c), cmode); });\n\n if (mode.starts) {\n compileMode(mode.starts, parent);\n }\n\n cmode.matcher = buildModeRegex(cmode);\n return cmode;\n }\n\n if (!language.compilerExtensions) language.compilerExtensions = [];\n\n // self is not valid at the top-level\n if (language.contains && language.contains.includes('self')) {\n throw new Error(\"ERR: contains `self` is not supported at the top-level of a language. See documentation.\");\n }\n\n // we need a null object, which inherit will guarantee\n language.classNameAliases = inherit$1(language.classNameAliases || {});\n\n return compileMode(/** @type Mode */ (language));\n}\n\n/**\n * Determines if a mode has a dependency on it's parent or not\n *\n * If a mode does have a parent dependency then often we need to clone it if\n * it's used in multiple places so that each copy points to the correct parent,\n * where-as modes without a parent can often safely be re-used at the bottom of\n * a mode chain.\n *\n * @param {Mode | null} mode\n * @returns {boolean} - is there a dependency on the parent?\n * */\nfunction dependencyOnParent(mode) {\n if (!mode) return false;\n\n return mode.endsWithParent || dependencyOnParent(mode.starts);\n}\n\n/**\n * Expands a mode or clones it if necessary\n *\n * This is necessary for modes with parental dependenceis (see notes on\n * `dependencyOnParent`) and for nodes that have `variants` - which must then be\n * exploded into their own individual modes at compile time.\n *\n * @param {Mode} mode\n * @returns {Mode | Mode[]}\n * */\nfunction expandOrCloneMode(mode) {\n if (mode.variants && !mode.cachedVariants) {\n mode.cachedVariants = mode.variants.map(function(variant) {\n return inherit$1(mode, { variants: null }, variant);\n });\n }\n\n // EXPAND\n // if we have variants then essentially \"replace\" the mode with the variants\n // this happens in compileMode, where this function is called from\n if (mode.cachedVariants) {\n return mode.cachedVariants;\n }\n\n // CLONE\n // if we have dependencies on parents then we need a unique\n // instance of ourselves, so we can be reused with many\n // different parents without issue\n if (dependencyOnParent(mode)) {\n return inherit$1(mode, { starts: mode.starts ? inherit$1(mode.starts) : null });\n }\n\n if (Object.isFrozen(mode)) {\n return inherit$1(mode);\n }\n\n // no special dependency issues, just return ourselves\n return mode;\n}\n\nvar version = \"11.9.0\";\n\nclass HTMLInjectionError extends Error {\n constructor(reason, html) {\n super(reason);\n this.name = \"HTMLInjectionError\";\n this.html = html;\n }\n}\n\n/*\nSyntax highlighting with language autodetection.\nhttps://highlightjs.org/\n*/\n\n\n\n/**\n@typedef {import('highlight.js').Mode} Mode\n@typedef {import('highlight.js').CompiledMode} CompiledMode\n@typedef {import('highlight.js').CompiledScope} CompiledScope\n@typedef {import('highlight.js').Language} Language\n@typedef {import('highlight.js').HLJSApi} HLJSApi\n@typedef {import('highlight.js').HLJSPlugin} HLJSPlugin\n@typedef {import('highlight.js').PluginEvent} PluginEvent\n@typedef {import('highlight.js').HLJSOptions} HLJSOptions\n@typedef {import('highlight.js').LanguageFn} LanguageFn\n@typedef {import('highlight.js').HighlightedHTMLElement} HighlightedHTMLElement\n@typedef {import('highlight.js').BeforeHighlightContext} BeforeHighlightContext\n@typedef {import('highlight.js/private').MatchType} MatchType\n@typedef {import('highlight.js/private').KeywordData} KeywordData\n@typedef {import('highlight.js/private').EnhancedMatch} EnhancedMatch\n@typedef {import('highlight.js/private').AnnotatedError} AnnotatedError\n@typedef {import('highlight.js').AutoHighlightResult} AutoHighlightResult\n@typedef {import('highlight.js').HighlightOptions} HighlightOptions\n@typedef {import('highlight.js').HighlightResult} HighlightResult\n*/\n\n\nconst escape = escapeHTML;\nconst inherit = inherit$1;\nconst NO_MATCH = Symbol(\"nomatch\");\nconst MAX_KEYWORD_HITS = 7;\n\n/**\n * @param {any} hljs - object that is extended (legacy)\n * @returns {HLJSApi}\n */\nconst HLJS = function(hljs) {\n // Global internal variables used within the highlight.js library.\n /** @type {Record} */\n const languages = Object.create(null);\n /** @type {Record} */\n const aliases = Object.create(null);\n /** @type {HLJSPlugin[]} */\n const plugins = [];\n\n // safe/production mode - swallows more errors, tries to keep running\n // even if a single syntax or parse hits a fatal error\n let SAFE_MODE = true;\n const LANGUAGE_NOT_FOUND = \"Could not find the language '{}', did you forget to load/include a language module?\";\n /** @type {Language} */\n const PLAINTEXT_LANGUAGE = { disableAutodetect: true, name: 'Plain text', contains: [] };\n\n // Global options used when within external APIs. This is modified when\n // calling the `hljs.configure` function.\n /** @type HLJSOptions */\n let options = {\n ignoreUnescapedHTML: false,\n throwUnescapedHTML: false,\n noHighlightRe: /^(no-?highlight)$/i,\n languageDetectRe: /\\blang(?:uage)?-([\\w-]+)\\b/i,\n classPrefix: 'hljs-',\n cssSelector: 'pre code',\n languages: null,\n // beta configuration options, subject to change, welcome to discuss\n // https://github.com/highlightjs/highlight.js/issues/1086\n __emitter: TokenTreeEmitter\n };\n\n /* Utility functions */\n\n /**\n * Tests a language name to see if highlighting should be skipped\n * @param {string} languageName\n */\n function shouldNotHighlight(languageName) {\n return options.noHighlightRe.test(languageName);\n }\n\n /**\n * @param {HighlightedHTMLElement} block - the HTML element to determine language for\n */\n function blockLanguage(block) {\n let classes = block.className + ' ';\n\n classes += block.parentNode ? block.parentNode.className : '';\n\n // language-* takes precedence over non-prefixed class names.\n const match = options.languageDetectRe.exec(classes);\n if (match) {\n const language = getLanguage(match[1]);\n if (!language) {\n warn(LANGUAGE_NOT_FOUND.replace(\"{}\", match[1]));\n warn(\"Falling back to no-highlight mode for this block.\", block);\n }\n return language ? match[1] : 'no-highlight';\n }\n\n return classes\n .split(/\\s+/)\n .find((_class) => shouldNotHighlight(_class) || getLanguage(_class));\n }\n\n /**\n * Core highlighting function.\n *\n * OLD API\n * highlight(lang, code, ignoreIllegals, continuation)\n *\n * NEW API\n * highlight(code, {lang, ignoreIllegals})\n *\n * @param {string} codeOrLanguageName - the language to use for highlighting\n * @param {string | HighlightOptions} optionsOrCode - the code to highlight\n * @param {boolean} [ignoreIllegals] - whether to ignore illegal matches, default is to bail\n *\n * @returns {HighlightResult} Result - an object that represents the result\n * @property {string} language - the language name\n * @property {number} relevance - the relevance score\n * @property {string} value - the highlighted HTML code\n * @property {string} code - the original raw code\n * @property {CompiledMode} top - top of the current mode stack\n * @property {boolean} illegal - indicates whether any illegal matches were found\n */\n function highlight(codeOrLanguageName, optionsOrCode, ignoreIllegals) {\n let code = \"\";\n let languageName = \"\";\n if (typeof optionsOrCode === \"object\") {\n code = codeOrLanguageName;\n ignoreIllegals = optionsOrCode.ignoreIllegals;\n languageName = optionsOrCode.language;\n } else {\n // old API\n deprecated(\"10.7.0\", \"highlight(lang, code, ...args) has been deprecated.\");\n deprecated(\"10.7.0\", \"Please use highlight(code, options) instead.\\nhttps://github.com/highlightjs/highlight.js/issues/2277\");\n languageName = codeOrLanguageName;\n code = optionsOrCode;\n }\n\n // https://github.com/highlightjs/highlight.js/issues/3149\n // eslint-disable-next-line no-undefined\n if (ignoreIllegals === undefined) { ignoreIllegals = true; }\n\n /** @type {BeforeHighlightContext} */\n const context = {\n code,\n language: languageName\n };\n // the plugin can change the desired language or the code to be highlighted\n // just be changing the object it was passed\n fire(\"before:highlight\", context);\n\n // a before plugin can usurp the result completely by providing it's own\n // in which case we don't even need to call highlight\n const result = context.result\n ? context.result\n : _highlight(context.language, context.code, ignoreIllegals);\n\n result.code = context.code;\n // the plugin can change anything in result to suite it\n fire(\"after:highlight\", result);\n\n return result;\n }\n\n /**\n * private highlight that's used internally and does not fire callbacks\n *\n * @param {string} languageName - the language to use for highlighting\n * @param {string} codeToHighlight - the code to highlight\n * @param {boolean?} [ignoreIllegals] - whether to ignore illegal matches, default is to bail\n * @param {CompiledMode?} [continuation] - current continuation mode, if any\n * @returns {HighlightResult} - result of the highlight operation\n */\n function _highlight(languageName, codeToHighlight, ignoreIllegals, continuation) {\n const keywordHits = Object.create(null);\n\n /**\n * Return keyword data if a match is a keyword\n * @param {CompiledMode} mode - current mode\n * @param {string} matchText - the textual match\n * @returns {KeywordData | false}\n */\n function keywordData(mode, matchText) {\n return mode.keywords[matchText];\n }\n\n function processKeywords() {\n if (!top.keywords) {\n emitter.addText(modeBuffer);\n return;\n }\n\n let lastIndex = 0;\n top.keywordPatternRe.lastIndex = 0;\n let match = top.keywordPatternRe.exec(modeBuffer);\n let buf = \"\";\n\n while (match) {\n buf += modeBuffer.substring(lastIndex, match.index);\n const word = language.case_insensitive ? match[0].toLowerCase() : match[0];\n const data = keywordData(top, word);\n if (data) {\n const [kind, keywordRelevance] = data;\n emitter.addText(buf);\n buf = \"\";\n\n keywordHits[word] = (keywordHits[word] || 0) + 1;\n if (keywordHits[word] <= MAX_KEYWORD_HITS) relevance += keywordRelevance;\n if (kind.startsWith(\"_\")) {\n // _ implied for relevance only, do not highlight\n // by applying a class name\n buf += match[0];\n } else {\n const cssClass = language.classNameAliases[kind] || kind;\n emitKeyword(match[0], cssClass);\n }\n } else {\n buf += match[0];\n }\n lastIndex = top.keywordPatternRe.lastIndex;\n match = top.keywordPatternRe.exec(modeBuffer);\n }\n buf += modeBuffer.substring(lastIndex);\n emitter.addText(buf);\n }\n\n function processSubLanguage() {\n if (modeBuffer === \"\") return;\n /** @type HighlightResult */\n let result = null;\n\n if (typeof top.subLanguage === 'string') {\n if (!languages[top.subLanguage]) {\n emitter.addText(modeBuffer);\n return;\n }\n result = _highlight(top.subLanguage, modeBuffer, true, continuations[top.subLanguage]);\n continuations[top.subLanguage] = /** @type {CompiledMode} */ (result._top);\n } else {\n result = highlightAuto(modeBuffer, top.subLanguage.length ? top.subLanguage : null);\n }\n\n // Counting embedded language score towards the host language may be disabled\n // with zeroing the containing mode relevance. Use case in point is Markdown that\n // allows XML everywhere and makes every XML snippet to have a much larger Markdown\n // score.\n if (top.relevance > 0) {\n relevance += result.relevance;\n }\n emitter.__addSublanguage(result._emitter, result.language);\n }\n\n function processBuffer() {\n if (top.subLanguage != null) {\n processSubLanguage();\n } else {\n processKeywords();\n }\n modeBuffer = '';\n }\n\n /**\n * @param {string} text\n * @param {string} scope\n */\n function emitKeyword(keyword, scope) {\n if (keyword === \"\") return;\n\n emitter.startScope(scope);\n emitter.addText(keyword);\n emitter.endScope();\n }\n\n /**\n * @param {CompiledScope} scope\n * @param {RegExpMatchArray} match\n */\n function emitMultiClass(scope, match) {\n let i = 1;\n const max = match.length - 1;\n while (i <= max) {\n if (!scope._emit[i]) { i++; continue; }\n const klass = language.classNameAliases[scope[i]] || scope[i];\n const text = match[i];\n if (klass) {\n emitKeyword(text, klass);\n } else {\n modeBuffer = text;\n processKeywords();\n modeBuffer = \"\";\n }\n i++;\n }\n }\n\n /**\n * @param {CompiledMode} mode - new mode to start\n * @param {RegExpMatchArray} match\n */\n function startNewMode(mode, match) {\n if (mode.scope && typeof mode.scope === \"string\") {\n emitter.openNode(language.classNameAliases[mode.scope] || mode.scope);\n }\n if (mode.beginScope) {\n // beginScope just wraps the begin match itself in a scope\n if (mode.beginScope._wrap) {\n emitKeyword(modeBuffer, language.classNameAliases[mode.beginScope._wrap] || mode.beginScope._wrap);\n modeBuffer = \"\";\n } else if (mode.beginScope._multi) {\n // at this point modeBuffer should just be the match\n emitMultiClass(mode.beginScope, match);\n modeBuffer = \"\";\n }\n }\n\n top = Object.create(mode, { parent: { value: top } });\n return top;\n }\n\n /**\n * @param {CompiledMode } mode - the mode to potentially end\n * @param {RegExpMatchArray} match - the latest match\n * @param {string} matchPlusRemainder - match plus remainder of content\n * @returns {CompiledMode | void} - the next mode, or if void continue on in current mode\n */\n function endOfMode(mode, match, matchPlusRemainder) {\n let matched = startsWith(mode.endRe, matchPlusRemainder);\n\n if (matched) {\n if (mode[\"on:end\"]) {\n const resp = new Response(mode);\n mode[\"on:end\"](match, resp);\n if (resp.isMatchIgnored) matched = false;\n }\n\n if (matched) {\n while (mode.endsParent && mode.parent) {\n mode = mode.parent;\n }\n return mode;\n }\n }\n // even if on:end fires an `ignore` it's still possible\n // that we might trigger the end node because of a parent mode\n if (mode.endsWithParent) {\n return endOfMode(mode.parent, match, matchPlusRemainder);\n }\n }\n\n /**\n * Handle matching but then ignoring a sequence of text\n *\n * @param {string} lexeme - string containing full match text\n */\n function doIgnore(lexeme) {\n if (top.matcher.regexIndex === 0) {\n // no more regexes to potentially match here, so we move the cursor forward one\n // space\n modeBuffer += lexeme[0];\n return 1;\n } else {\n // no need to move the cursor, we still have additional regexes to try and\n // match at this very spot\n resumeScanAtSamePosition = true;\n return 0;\n }\n }\n\n /**\n * Handle the start of a new potential mode match\n *\n * @param {EnhancedMatch} match - the current match\n * @returns {number} how far to advance the parse cursor\n */\n function doBeginMatch(match) {\n const lexeme = match[0];\n const newMode = match.rule;\n\n const resp = new Response(newMode);\n // first internal before callbacks, then the public ones\n const beforeCallbacks = [newMode.__beforeBegin, newMode[\"on:begin\"]];\n for (const cb of beforeCallbacks) {\n if (!cb) continue;\n cb(match, resp);\n if (resp.isMatchIgnored) return doIgnore(lexeme);\n }\n\n if (newMode.skip) {\n modeBuffer += lexeme;\n } else {\n if (newMode.excludeBegin) {\n modeBuffer += lexeme;\n }\n processBuffer();\n if (!newMode.returnBegin && !newMode.excludeBegin) {\n modeBuffer = lexeme;\n }\n }\n startNewMode(newMode, match);\n return newMode.returnBegin ? 0 : lexeme.length;\n }\n\n /**\n * Handle the potential end of mode\n *\n * @param {RegExpMatchArray} match - the current match\n */\n function doEndMatch(match) {\n const lexeme = match[0];\n const matchPlusRemainder = codeToHighlight.substring(match.index);\n\n const endMode = endOfMode(top, match, matchPlusRemainder);\n if (!endMode) { return NO_MATCH; }\n\n const origin = top;\n if (top.endScope && top.endScope._wrap) {\n processBuffer();\n emitKeyword(lexeme, top.endScope._wrap);\n } else if (top.endScope && top.endScope._multi) {\n processBuffer();\n emitMultiClass(top.endScope, match);\n } else if (origin.skip) {\n modeBuffer += lexeme;\n } else {\n if (!(origin.returnEnd || origin.excludeEnd)) {\n modeBuffer += lexeme;\n }\n processBuffer();\n if (origin.excludeEnd) {\n modeBuffer = lexeme;\n }\n }\n do {\n if (top.scope) {\n emitter.closeNode();\n }\n if (!top.skip && !top.subLanguage) {\n relevance += top.relevance;\n }\n top = top.parent;\n } while (top !== endMode.parent);\n if (endMode.starts) {\n startNewMode(endMode.starts, match);\n }\n return origin.returnEnd ? 0 : lexeme.length;\n }\n\n function processContinuations() {\n const list = [];\n for (let current = top; current !== language; current = current.parent) {\n if (current.scope) {\n list.unshift(current.scope);\n }\n }\n list.forEach(item => emitter.openNode(item));\n }\n\n /** @type {{type?: MatchType, index?: number, rule?: Mode}}} */\n let lastMatch = {};\n\n /**\n * Process an individual match\n *\n * @param {string} textBeforeMatch - text preceding the match (since the last match)\n * @param {EnhancedMatch} [match] - the match itself\n */\n function processLexeme(textBeforeMatch, match) {\n const lexeme = match && match[0];\n\n // add non-matched text to the current mode buffer\n modeBuffer += textBeforeMatch;\n\n if (lexeme == null) {\n processBuffer();\n return 0;\n }\n\n // we've found a 0 width match and we're stuck, so we need to advance\n // this happens when we have badly behaved rules that have optional matchers to the degree that\n // sometimes they can end up matching nothing at all\n // Ref: https://github.com/highlightjs/highlight.js/issues/2140\n if (lastMatch.type === \"begin\" && match.type === \"end\" && lastMatch.index === match.index && lexeme === \"\") {\n // spit the \"skipped\" character that our regex choked on back into the output sequence\n modeBuffer += codeToHighlight.slice(match.index, match.index + 1);\n if (!SAFE_MODE) {\n /** @type {AnnotatedError} */\n const err = new Error(`0 width match regex (${languageName})`);\n err.languageName = languageName;\n err.badRule = lastMatch.rule;\n throw err;\n }\n return 1;\n }\n lastMatch = match;\n\n if (match.type === \"begin\") {\n return doBeginMatch(match);\n } else if (match.type === \"illegal\" && !ignoreIllegals) {\n // illegal match, we do not continue processing\n /** @type {AnnotatedError} */\n const err = new Error('Illegal lexeme \"' + lexeme + '\" for mode \"' + (top.scope || '') + '\"');\n err.mode = top;\n throw err;\n } else if (match.type === \"end\") {\n const processed = doEndMatch(match);\n if (processed !== NO_MATCH) {\n return processed;\n }\n }\n\n // edge case for when illegal matches $ (end of line) which is technically\n // a 0 width match but not a begin/end match so it's not caught by the\n // first handler (when ignoreIllegals is true)\n if (match.type === \"illegal\" && lexeme === \"\") {\n // advance so we aren't stuck in an infinite loop\n return 1;\n }\n\n // infinite loops are BAD, this is a last ditch catch all. if we have a\n // decent number of iterations yet our index (cursor position in our\n // parsing) still 3x behind our index then something is very wrong\n // so we bail\n if (iterations > 100000 && iterations > match.index * 3) {\n const err = new Error('potential infinite loop, way more iterations than matches');\n throw err;\n }\n\n /*\n Why might be find ourselves here? An potential end match that was\n triggered but could not be completed. IE, `doEndMatch` returned NO_MATCH.\n (this could be because a callback requests the match be ignored, etc)\n\n This causes no real harm other than stopping a few times too many.\n */\n\n modeBuffer += lexeme;\n return lexeme.length;\n }\n\n const language = getLanguage(languageName);\n if (!language) {\n error(LANGUAGE_NOT_FOUND.replace(\"{}\", languageName));\n throw new Error('Unknown language: \"' + languageName + '\"');\n }\n\n const md = compileLanguage(language);\n let result = '';\n /** @type {CompiledMode} */\n let top = continuation || md;\n /** @type Record */\n const continuations = {}; // keep continuations for sub-languages\n const emitter = new options.__emitter(options);\n processContinuations();\n let modeBuffer = '';\n let relevance = 0;\n let index = 0;\n let iterations = 0;\n let resumeScanAtSamePosition = false;\n\n try {\n if (!language.__emitTokens) {\n top.matcher.considerAll();\n\n for (;;) {\n iterations++;\n if (resumeScanAtSamePosition) {\n // only regexes not matched previously will now be\n // considered for a potential match\n resumeScanAtSamePosition = false;\n } else {\n top.matcher.considerAll();\n }\n top.matcher.lastIndex = index;\n\n const match = top.matcher.exec(codeToHighlight);\n // console.log(\"match\", match[0], match.rule && match.rule.begin)\n\n if (!match) break;\n\n const beforeMatch = codeToHighlight.substring(index, match.index);\n const processedCount = processLexeme(beforeMatch, match);\n index = match.index + processedCount;\n }\n processLexeme(codeToHighlight.substring(index));\n } else {\n language.__emitTokens(codeToHighlight, emitter);\n }\n\n emitter.finalize();\n result = emitter.toHTML();\n\n return {\n language: languageName,\n value: result,\n relevance,\n illegal: false,\n _emitter: emitter,\n _top: top\n };\n } catch (err) {\n if (err.message && err.message.includes('Illegal')) {\n return {\n language: languageName,\n value: escape(codeToHighlight),\n illegal: true,\n relevance: 0,\n _illegalBy: {\n message: err.message,\n index,\n context: codeToHighlight.slice(index - 100, index + 100),\n mode: err.mode,\n resultSoFar: result\n },\n _emitter: emitter\n };\n } else if (SAFE_MODE) {\n return {\n language: languageName,\n value: escape(codeToHighlight),\n illegal: false,\n relevance: 0,\n errorRaised: err,\n _emitter: emitter,\n _top: top\n };\n } else {\n throw err;\n }\n }\n }\n\n /**\n * returns a valid highlight result, without actually doing any actual work,\n * auto highlight starts with this and it's possible for small snippets that\n * auto-detection may not find a better match\n * @param {string} code\n * @returns {HighlightResult}\n */\n function justTextHighlightResult(code) {\n const result = {\n value: escape(code),\n illegal: false,\n relevance: 0,\n _top: PLAINTEXT_LANGUAGE,\n _emitter: new options.__emitter(options)\n };\n result._emitter.addText(code);\n return result;\n }\n\n /**\n Highlighting with language detection. Accepts a string with the code to\n highlight. Returns an object with the following properties:\n\n - language (detected language)\n - relevance (int)\n - value (an HTML string with highlighting markup)\n - secondBest (object with the same structure for second-best heuristically\n detected language, may be absent)\n\n @param {string} code\n @param {Array} [languageSubset]\n @returns {AutoHighlightResult}\n */\n function highlightAuto(code, languageSubset) {\n languageSubset = languageSubset || options.languages || Object.keys(languages);\n const plaintext = justTextHighlightResult(code);\n\n const results = languageSubset.filter(getLanguage).filter(autoDetection).map(name =>\n _highlight(name, code, false)\n );\n results.unshift(plaintext); // plaintext is always an option\n\n const sorted = results.sort((a, b) => {\n // sort base on relevance\n if (a.relevance !== b.relevance) return b.relevance - a.relevance;\n\n // always award the tie to the base language\n // ie if C++ and Arduino are tied, it's more likely to be C++\n if (a.language && b.language) {\n if (getLanguage(a.language).supersetOf === b.language) {\n return 1;\n } else if (getLanguage(b.language).supersetOf === a.language) {\n return -1;\n }\n }\n\n // otherwise say they are equal, which has the effect of sorting on\n // relevance while preserving the original ordering - which is how ties\n // have historically been settled, ie the language that comes first always\n // wins in the case of a tie\n return 0;\n });\n\n const [best, secondBest] = sorted;\n\n /** @type {AutoHighlightResult} */\n const result = best;\n result.secondBest = secondBest;\n\n return result;\n }\n\n /**\n * Builds new class name for block given the language name\n *\n * @param {HTMLElement} element\n * @param {string} [currentLang]\n * @param {string} [resultLang]\n */\n function updateClassName(element, currentLang, resultLang) {\n const language = (currentLang && aliases[currentLang]) || resultLang;\n\n element.classList.add(\"hljs\");\n element.classList.add(`language-${language}`);\n }\n\n /**\n * Applies highlighting to a DOM node containing code.\n *\n * @param {HighlightedHTMLElement} element - the HTML element to highlight\n */\n function highlightElement(element) {\n /** @type HTMLElement */\n let node = null;\n const language = blockLanguage(element);\n\n if (shouldNotHighlight(language)) return;\n\n fire(\"before:highlightElement\",\n { el: element, language });\n\n if (element.dataset.highlighted) {\n console.log(\"Element previously highlighted. To highlight again, first unset `dataset.highlighted`.\", element);\n return;\n }\n\n // we should be all text, no child nodes (unescaped HTML) - this is possibly\n // an HTML injection attack - it's likely too late if this is already in\n // production (the code has likely already done its damage by the time\n // we're seeing it)... but we yell loudly about this so that hopefully it's\n // more likely to be caught in development before making it to production\n if (element.children.length > 0) {\n if (!options.ignoreUnescapedHTML) {\n console.warn(\"One of your code blocks includes unescaped HTML. This is a potentially serious security risk.\");\n console.warn(\"https://github.com/highlightjs/highlight.js/wiki/security\");\n console.warn(\"The element with unescaped HTML:\");\n console.warn(element);\n }\n if (options.throwUnescapedHTML) {\n const err = new HTMLInjectionError(\n \"One of your code blocks includes unescaped HTML.\",\n element.innerHTML\n );\n throw err;\n }\n }\n\n node = element;\n const text = node.textContent;\n const result = language ? highlight(text, { language, ignoreIllegals: true }) : highlightAuto(text);\n\n element.innerHTML = result.value;\n element.dataset.highlighted = \"yes\";\n updateClassName(element, language, result.language);\n element.result = {\n language: result.language,\n // TODO: remove with version 11.0\n re: result.relevance,\n relevance: result.relevance\n };\n if (result.secondBest) {\n element.secondBest = {\n language: result.secondBest.language,\n relevance: result.secondBest.relevance\n };\n }\n\n fire(\"after:highlightElement\", { el: element, result, text });\n }\n\n /**\n * Updates highlight.js global options with the passed options\n *\n * @param {Partial} userOptions\n */\n function configure(userOptions) {\n options = inherit(options, userOptions);\n }\n\n // TODO: remove v12, deprecated\n const initHighlighting = () => {\n highlightAll();\n deprecated(\"10.6.0\", \"initHighlighting() deprecated. Use highlightAll() now.\");\n };\n\n // TODO: remove v12, deprecated\n function initHighlightingOnLoad() {\n highlightAll();\n deprecated(\"10.6.0\", \"initHighlightingOnLoad() deprecated. Use highlightAll() now.\");\n }\n\n let wantsHighlight = false;\n\n /**\n * auto-highlights all pre>code elements on the page\n */\n function highlightAll() {\n // if we are called too early in the loading process\n if (document.readyState === \"loading\") {\n wantsHighlight = true;\n return;\n }\n\n const blocks = document.querySelectorAll(options.cssSelector);\n blocks.forEach(highlightElement);\n }\n\n function boot() {\n // if a highlight was requested before DOM was loaded, do now\n if (wantsHighlight) highlightAll();\n }\n\n // make sure we are in the browser environment\n if (typeof window !== 'undefined' && window.addEventListener) {\n window.addEventListener('DOMContentLoaded', boot, false);\n }\n\n /**\n * Register a language grammar module\n *\n * @param {string} languageName\n * @param {LanguageFn} languageDefinition\n */\n function registerLanguage(languageName, languageDefinition) {\n let lang = null;\n try {\n lang = languageDefinition(hljs);\n } catch (error$1) {\n error(\"Language definition for '{}' could not be registered.\".replace(\"{}\", languageName));\n // hard or soft error\n if (!SAFE_MODE) { throw error$1; } else { error(error$1); }\n // languages that have serious errors are replaced with essentially a\n // \"plaintext\" stand-in so that the code blocks will still get normal\n // css classes applied to them - and one bad language won't break the\n // entire highlighter\n lang = PLAINTEXT_LANGUAGE;\n }\n // give it a temporary name if it doesn't have one in the meta-data\n if (!lang.name) lang.name = languageName;\n languages[languageName] = lang;\n lang.rawDefinition = languageDefinition.bind(null, hljs);\n\n if (lang.aliases) {\n registerAliases(lang.aliases, { languageName });\n }\n }\n\n /**\n * Remove a language grammar module\n *\n * @param {string} languageName\n */\n function unregisterLanguage(languageName) {\n delete languages[languageName];\n for (const alias of Object.keys(aliases)) {\n if (aliases[alias] === languageName) {\n delete aliases[alias];\n }\n }\n }\n\n /**\n * @returns {string[]} List of language internal names\n */\n function listLanguages() {\n return Object.keys(languages);\n }\n\n /**\n * @param {string} name - name of the language to retrieve\n * @returns {Language | undefined}\n */\n function getLanguage(name) {\n name = (name || '').toLowerCase();\n return languages[name] || languages[aliases[name]];\n }\n\n /**\n *\n * @param {string|string[]} aliasList - single alias or list of aliases\n * @param {{languageName: string}} opts\n */\n function registerAliases(aliasList, { languageName }) {\n if (typeof aliasList === 'string') {\n aliasList = [aliasList];\n }\n aliasList.forEach(alias => { aliases[alias.toLowerCase()] = languageName; });\n }\n\n /**\n * Determines if a given language has auto-detection enabled\n * @param {string} name - name of the language\n */\n function autoDetection(name) {\n const lang = getLanguage(name);\n return lang && !lang.disableAutodetect;\n }\n\n /**\n * Upgrades the old highlightBlock plugins to the new\n * highlightElement API\n * @param {HLJSPlugin} plugin\n */\n function upgradePluginAPI(plugin) {\n // TODO: remove with v12\n if (plugin[\"before:highlightBlock\"] && !plugin[\"before:highlightElement\"]) {\n plugin[\"before:highlightElement\"] = (data) => {\n plugin[\"before:highlightBlock\"](\n Object.assign({ block: data.el }, data)\n );\n };\n }\n if (plugin[\"after:highlightBlock\"] && !plugin[\"after:highlightElement\"]) {\n plugin[\"after:highlightElement\"] = (data) => {\n plugin[\"after:highlightBlock\"](\n Object.assign({ block: data.el }, data)\n );\n };\n }\n }\n\n /**\n * @param {HLJSPlugin} plugin\n */\n function addPlugin(plugin) {\n upgradePluginAPI(plugin);\n plugins.push(plugin);\n }\n\n /**\n * @param {HLJSPlugin} plugin\n */\n function removePlugin(plugin) {\n const index = plugins.indexOf(plugin);\n if (index !== -1) {\n plugins.splice(index, 1);\n }\n }\n\n /**\n *\n * @param {PluginEvent} event\n * @param {any} args\n */\n function fire(event, args) {\n const cb = event;\n plugins.forEach(function(plugin) {\n if (plugin[cb]) {\n plugin[cb](args);\n }\n });\n }\n\n /**\n * DEPRECATED\n * @param {HighlightedHTMLElement} el\n */\n function deprecateHighlightBlock(el) {\n deprecated(\"10.7.0\", \"highlightBlock will be removed entirely in v12.0\");\n deprecated(\"10.7.0\", \"Please use highlightElement now.\");\n\n return highlightElement(el);\n }\n\n /* Interface definition */\n Object.assign(hljs, {\n highlight,\n highlightAuto,\n highlightAll,\n highlightElement,\n // TODO: Remove with v12 API\n highlightBlock: deprecateHighlightBlock,\n configure,\n initHighlighting,\n initHighlightingOnLoad,\n registerLanguage,\n unregisterLanguage,\n listLanguages,\n getLanguage,\n registerAliases,\n autoDetection,\n inherit,\n addPlugin,\n removePlugin\n });\n\n hljs.debugMode = function() { SAFE_MODE = false; };\n hljs.safeMode = function() { SAFE_MODE = true; };\n hljs.versionString = version;\n\n hljs.regex = {\n concat: concat,\n lookahead: lookahead,\n either: either,\n optional: optional,\n anyNumberOfTimes: anyNumberOfTimes\n };\n\n for (const key in MODES) {\n // @ts-ignore\n if (typeof MODES[key] === \"object\") {\n // @ts-ignore\n deepFreeze(MODES[key]);\n }\n }\n\n // merge all the modes/regexes into our main object\n Object.assign(hljs, MODES);\n\n return hljs;\n};\n\n// Other names for the variable may break build script\nconst highlight = HLJS({});\n\n// returns a new instance of the highlighter to be used for extensions\n// check https://github.com/wooorm/lowlight/issues/47\nhighlight.newInstance = () => HLJS({});\n\nmodule.exports = highlight;\nhighlight.HighlightJS = highlight;\nhighlight.default = highlight;\n","/*\n Language: SQL\n Website: https://en.wikipedia.org/wiki/SQL\n Category: common, database\n */\n\n/*\n\nGoals:\n\nSQL is intended to highlight basic/common SQL keywords and expressions\n\n- If pretty much every single SQL server includes supports, then it's a canidate.\n- It is NOT intended to include tons of vendor specific keywords (Oracle, MySQL,\n PostgreSQL) although the list of data types is purposely a bit more expansive.\n- For more specific SQL grammars please see:\n - PostgreSQL and PL/pgSQL - core\n - T-SQL - https://github.com/highlightjs/highlightjs-tsql\n - sql_more (core)\n\n */\n\nfunction sql(hljs) {\n const regex = hljs.regex;\n const COMMENT_MODE = hljs.COMMENT('--', '$');\n const STRING = {\n className: 'string',\n variants: [\n {\n begin: /'/,\n end: /'/,\n contains: [ { begin: /''/ } ]\n }\n ]\n };\n const QUOTED_IDENTIFIER = {\n begin: /\"/,\n end: /\"/,\n contains: [ { begin: /\"\"/ } ]\n };\n\n const LITERALS = [\n \"true\",\n \"false\",\n // Not sure it's correct to call NULL literal, and clauses like IS [NOT] NULL look strange that way.\n // \"null\",\n \"unknown\"\n ];\n\n const MULTI_WORD_TYPES = [\n \"double precision\",\n \"large object\",\n \"with timezone\",\n \"without timezone\"\n ];\n\n const TYPES = [\n 'bigint',\n 'binary',\n 'blob',\n 'boolean',\n 'char',\n 'character',\n 'clob',\n 'date',\n 'dec',\n 'decfloat',\n 'decimal',\n 'float',\n 'int',\n 'integer',\n 'interval',\n 'nchar',\n 'nclob',\n 'national',\n 'numeric',\n 'real',\n 'row',\n 'smallint',\n 'time',\n 'timestamp',\n 'varchar',\n 'varying', // modifier (character varying)\n 'varbinary'\n ];\n\n const NON_RESERVED_WORDS = [\n \"add\",\n \"asc\",\n \"collation\",\n \"desc\",\n \"final\",\n \"first\",\n \"last\",\n \"view\"\n ];\n\n // https://jakewheat.github.io/sql-overview/sql-2016-foundation-grammar.html#reserved-word\n const RESERVED_WORDS = [\n \"abs\",\n \"acos\",\n \"all\",\n \"allocate\",\n \"alter\",\n \"and\",\n \"any\",\n \"are\",\n \"array\",\n \"array_agg\",\n \"array_max_cardinality\",\n \"as\",\n \"asensitive\",\n \"asin\",\n \"asymmetric\",\n \"at\",\n \"atan\",\n \"atomic\",\n \"authorization\",\n \"avg\",\n \"begin\",\n \"begin_frame\",\n \"begin_partition\",\n \"between\",\n \"bigint\",\n \"binary\",\n \"blob\",\n \"boolean\",\n \"both\",\n \"by\",\n \"call\",\n \"called\",\n \"cardinality\",\n \"cascaded\",\n \"case\",\n \"cast\",\n \"ceil\",\n \"ceiling\",\n \"char\",\n \"char_length\",\n \"character\",\n \"character_length\",\n \"check\",\n \"classifier\",\n \"clob\",\n \"close\",\n \"coalesce\",\n \"collate\",\n \"collect\",\n \"column\",\n \"commit\",\n \"condition\",\n \"connect\",\n \"constraint\",\n \"contains\",\n \"convert\",\n \"copy\",\n \"corr\",\n \"corresponding\",\n \"cos\",\n \"cosh\",\n \"count\",\n \"covar_pop\",\n \"covar_samp\",\n \"create\",\n \"cross\",\n \"cube\",\n \"cume_dist\",\n \"current\",\n \"current_catalog\",\n \"current_date\",\n \"current_default_transform_group\",\n \"current_path\",\n \"current_role\",\n \"current_row\",\n \"current_schema\",\n \"current_time\",\n \"current_timestamp\",\n \"current_path\",\n \"current_role\",\n \"current_transform_group_for_type\",\n \"current_user\",\n \"cursor\",\n \"cycle\",\n \"date\",\n \"day\",\n \"deallocate\",\n \"dec\",\n \"decimal\",\n \"decfloat\",\n \"declare\",\n \"default\",\n \"define\",\n \"delete\",\n \"dense_rank\",\n \"deref\",\n \"describe\",\n \"deterministic\",\n \"disconnect\",\n \"distinct\",\n \"double\",\n \"drop\",\n \"dynamic\",\n \"each\",\n \"element\",\n \"else\",\n \"empty\",\n \"end\",\n \"end_frame\",\n \"end_partition\",\n \"end-exec\",\n \"equals\",\n \"escape\",\n \"every\",\n \"except\",\n \"exec\",\n \"execute\",\n \"exists\",\n \"exp\",\n \"external\",\n \"extract\",\n \"false\",\n \"fetch\",\n \"filter\",\n \"first_value\",\n \"float\",\n \"floor\",\n \"for\",\n \"foreign\",\n \"frame_row\",\n \"free\",\n \"from\",\n \"full\",\n \"function\",\n \"fusion\",\n \"get\",\n \"global\",\n \"grant\",\n \"group\",\n \"grouping\",\n \"groups\",\n \"having\",\n \"hold\",\n \"hour\",\n \"identity\",\n \"in\",\n \"indicator\",\n \"initial\",\n \"inner\",\n \"inout\",\n \"insensitive\",\n \"insert\",\n \"int\",\n \"integer\",\n \"intersect\",\n \"intersection\",\n \"interval\",\n \"into\",\n \"is\",\n \"join\",\n \"json_array\",\n \"json_arrayagg\",\n \"json_exists\",\n \"json_object\",\n \"json_objectagg\",\n \"json_query\",\n \"json_table\",\n \"json_table_primitive\",\n \"json_value\",\n \"lag\",\n \"language\",\n \"large\",\n \"last_value\",\n \"lateral\",\n \"lead\",\n \"leading\",\n \"left\",\n \"like\",\n \"like_regex\",\n \"listagg\",\n \"ln\",\n \"local\",\n \"localtime\",\n \"localtimestamp\",\n \"log\",\n \"log10\",\n \"lower\",\n \"match\",\n \"match_number\",\n \"match_recognize\",\n \"matches\",\n \"max\",\n \"member\",\n \"merge\",\n \"method\",\n \"min\",\n \"minute\",\n \"mod\",\n \"modifies\",\n \"module\",\n \"month\",\n \"multiset\",\n \"national\",\n \"natural\",\n \"nchar\",\n \"nclob\",\n \"new\",\n \"no\",\n \"none\",\n \"normalize\",\n \"not\",\n \"nth_value\",\n \"ntile\",\n \"null\",\n \"nullif\",\n \"numeric\",\n \"octet_length\",\n \"occurrences_regex\",\n \"of\",\n \"offset\",\n \"old\",\n \"omit\",\n \"on\",\n \"one\",\n \"only\",\n \"open\",\n \"or\",\n \"order\",\n \"out\",\n \"outer\",\n \"over\",\n \"overlaps\",\n \"overlay\",\n \"parameter\",\n \"partition\",\n \"pattern\",\n \"per\",\n \"percent\",\n \"percent_rank\",\n \"percentile_cont\",\n \"percentile_disc\",\n \"period\",\n \"portion\",\n \"position\",\n \"position_regex\",\n \"power\",\n \"precedes\",\n \"precision\",\n \"prepare\",\n \"primary\",\n \"procedure\",\n \"ptf\",\n \"range\",\n \"rank\",\n \"reads\",\n \"real\",\n \"recursive\",\n \"ref\",\n \"references\",\n \"referencing\",\n \"regr_avgx\",\n \"regr_avgy\",\n \"regr_count\",\n \"regr_intercept\",\n \"regr_r2\",\n \"regr_slope\",\n \"regr_sxx\",\n \"regr_sxy\",\n \"regr_syy\",\n \"release\",\n \"result\",\n \"return\",\n \"returns\",\n \"revoke\",\n \"right\",\n \"rollback\",\n \"rollup\",\n \"row\",\n \"row_number\",\n \"rows\",\n \"running\",\n \"savepoint\",\n \"scope\",\n \"scroll\",\n \"search\",\n \"second\",\n \"seek\",\n \"select\",\n \"sensitive\",\n \"session_user\",\n \"set\",\n \"show\",\n \"similar\",\n \"sin\",\n \"sinh\",\n \"skip\",\n \"smallint\",\n \"some\",\n \"specific\",\n \"specifictype\",\n \"sql\",\n \"sqlexception\",\n \"sqlstate\",\n \"sqlwarning\",\n \"sqrt\",\n \"start\",\n \"static\",\n \"stddev_pop\",\n \"stddev_samp\",\n \"submultiset\",\n \"subset\",\n \"substring\",\n \"substring_regex\",\n \"succeeds\",\n \"sum\",\n \"symmetric\",\n \"system\",\n \"system_time\",\n \"system_user\",\n \"table\",\n \"tablesample\",\n \"tan\",\n \"tanh\",\n \"then\",\n \"time\",\n \"timestamp\",\n \"timezone_hour\",\n \"timezone_minute\",\n \"to\",\n \"trailing\",\n \"translate\",\n \"translate_regex\",\n \"translation\",\n \"treat\",\n \"trigger\",\n \"trim\",\n \"trim_array\",\n \"true\",\n \"truncate\",\n \"uescape\",\n \"union\",\n \"unique\",\n \"unknown\",\n \"unnest\",\n \"update\",\n \"upper\",\n \"user\",\n \"using\",\n \"value\",\n \"values\",\n \"value_of\",\n \"var_pop\",\n \"var_samp\",\n \"varbinary\",\n \"varchar\",\n \"varying\",\n \"versioning\",\n \"when\",\n \"whenever\",\n \"where\",\n \"width_bucket\",\n \"window\",\n \"with\",\n \"within\",\n \"without\",\n \"year\",\n ];\n\n // these are reserved words we have identified to be functions\n // and should only be highlighted in a dispatch-like context\n // ie, array_agg(...), etc.\n const RESERVED_FUNCTIONS = [\n \"abs\",\n \"acos\",\n \"array_agg\",\n \"asin\",\n \"atan\",\n \"avg\",\n \"cast\",\n \"ceil\",\n \"ceiling\",\n \"coalesce\",\n \"corr\",\n \"cos\",\n \"cosh\",\n \"count\",\n \"covar_pop\",\n \"covar_samp\",\n \"cume_dist\",\n \"dense_rank\",\n \"deref\",\n \"element\",\n \"exp\",\n \"extract\",\n \"first_value\",\n \"floor\",\n \"json_array\",\n \"json_arrayagg\",\n \"json_exists\",\n \"json_object\",\n \"json_objectagg\",\n \"json_query\",\n \"json_table\",\n \"json_table_primitive\",\n \"json_value\",\n \"lag\",\n \"last_value\",\n \"lead\",\n \"listagg\",\n \"ln\",\n \"log\",\n \"log10\",\n \"lower\",\n \"max\",\n \"min\",\n \"mod\",\n \"nth_value\",\n \"ntile\",\n \"nullif\",\n \"percent_rank\",\n \"percentile_cont\",\n \"percentile_disc\",\n \"position\",\n \"position_regex\",\n \"power\",\n \"rank\",\n \"regr_avgx\",\n \"regr_avgy\",\n \"regr_count\",\n \"regr_intercept\",\n \"regr_r2\",\n \"regr_slope\",\n \"regr_sxx\",\n \"regr_sxy\",\n \"regr_syy\",\n \"row_number\",\n \"sin\",\n \"sinh\",\n \"sqrt\",\n \"stddev_pop\",\n \"stddev_samp\",\n \"substring\",\n \"substring_regex\",\n \"sum\",\n \"tan\",\n \"tanh\",\n \"translate\",\n \"translate_regex\",\n \"treat\",\n \"trim\",\n \"trim_array\",\n \"unnest\",\n \"upper\",\n \"value_of\",\n \"var_pop\",\n \"var_samp\",\n \"width_bucket\",\n ];\n\n // these functions can\n const POSSIBLE_WITHOUT_PARENS = [\n \"current_catalog\",\n \"current_date\",\n \"current_default_transform_group\",\n \"current_path\",\n \"current_role\",\n \"current_schema\",\n \"current_transform_group_for_type\",\n \"current_user\",\n \"session_user\",\n \"system_time\",\n \"system_user\",\n \"current_time\",\n \"localtime\",\n \"current_timestamp\",\n \"localtimestamp\"\n ];\n\n // those exist to boost relevance making these very\n // \"SQL like\" keyword combos worth +1 extra relevance\n const COMBOS = [\n \"create table\",\n \"insert into\",\n \"primary key\",\n \"foreign key\",\n \"not null\",\n \"alter table\",\n \"add constraint\",\n \"grouping sets\",\n \"on overflow\",\n \"character set\",\n \"respect nulls\",\n \"ignore nulls\",\n \"nulls first\",\n \"nulls last\",\n \"depth first\",\n \"breadth first\"\n ];\n\n const FUNCTIONS = RESERVED_FUNCTIONS;\n\n const KEYWORDS = [\n ...RESERVED_WORDS,\n ...NON_RESERVED_WORDS\n ].filter((keyword) => {\n return !RESERVED_FUNCTIONS.includes(keyword);\n });\n\n const VARIABLE = {\n className: \"variable\",\n begin: /@[a-z0-9][a-z0-9_]*/,\n };\n\n const OPERATOR = {\n className: \"operator\",\n begin: /[-+*/=%^~]|&&?|\\|\\|?|!=?|<(?:=>?|<|>)?|>[>=]?/,\n relevance: 0,\n };\n\n const FUNCTION_CALL = {\n begin: regex.concat(/\\b/, regex.either(...FUNCTIONS), /\\s*\\(/),\n relevance: 0,\n keywords: { built_in: FUNCTIONS }\n };\n\n // keywords with less than 3 letters are reduced in relevancy\n function reduceRelevancy(list, {\n exceptions, when\n } = {}) {\n const qualifyFn = when;\n exceptions = exceptions || [];\n return list.map((item) => {\n if (item.match(/\\|\\d+$/) || exceptions.includes(item)) {\n return item;\n } else if (qualifyFn(item)) {\n return `${item}|0`;\n } else {\n return item;\n }\n });\n }\n\n return {\n name: 'SQL',\n case_insensitive: true,\n // does not include {} or HTML tags ` x.length < 3 }),\n literal: LITERALS,\n type: TYPES,\n built_in: POSSIBLE_WITHOUT_PARENS\n },\n contains: [\n {\n begin: regex.either(...COMBOS),\n relevance: 0,\n keywords: {\n $pattern: /[\\w\\.]+/,\n keyword: KEYWORDS.concat(COMBOS),\n literal: LITERALS,\n type: TYPES\n },\n },\n {\n className: \"type\",\n begin: regex.either(...MULTI_WORD_TYPES)\n },\n FUNCTION_CALL,\n VARIABLE,\n STRING,\n QUOTED_IDENTIFIER,\n hljs.C_NUMBER_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n COMMENT_MODE,\n OPERATOR\n ]\n };\n}\n\nexport { sql as default };\n","/*\nLanguage: JSON\nDescription: JSON (JavaScript Object Notation) is a lightweight data-interchange format.\nAuthor: Ivan Sagalaev \nWebsite: http://www.json.org\nCategory: common, protocols, web\n*/\n\nfunction json(hljs) {\n const ATTRIBUTE = {\n className: 'attr',\n begin: /\"(\\\\.|[^\\\\\"\\r\\n])*\"(?=\\s*:)/,\n relevance: 1.01\n };\n const PUNCTUATION = {\n match: /[{}[\\],:]/,\n className: \"punctuation\",\n relevance: 0\n };\n const LITERALS = [\n \"true\",\n \"false\",\n \"null\"\n ];\n // NOTE: normally we would rely on `keywords` for this but using a mode here allows us\n // - to use the very tight `illegal: \\S` rule later to flag any other character\n // - as illegal indicating that despite looking like JSON we do not truly have\n // - JSON and thus improve false-positively greatly since JSON will try and claim\n // - all sorts of JSON looking stuff\n const LITERALS_MODE = {\n scope: \"literal\",\n beginKeywords: LITERALS.join(\" \"),\n };\n\n return {\n name: 'JSON',\n keywords:{\n literal: LITERALS,\n },\n contains: [\n ATTRIBUTE,\n PUNCTUATION,\n hljs.QUOTE_STRING_MODE,\n LITERALS_MODE,\n hljs.C_NUMBER_MODE,\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE\n ],\n illegal: '\\\\S'\n };\n}\n\nexport { json as default };\n","function makeMap(str, expectsLowerCase) {\n const map = /* @__PURE__ */ Object.create(null);\n const list = str.split(\",\");\n for (let i = 0; i < list.length; i++) {\n map[list[i]] = true;\n }\n return expectsLowerCase ? (val) => !!map[val.toLowerCase()] : (val) => !!map[val];\n}\n\nconst EMPTY_OBJ = !!(process.env.NODE_ENV !== \"production\") ? Object.freeze({}) : {};\nconst EMPTY_ARR = !!(process.env.NODE_ENV !== \"production\") ? Object.freeze([]) : [];\nconst NOOP = () => {\n};\nconst NO = () => false;\nconst isOn = (key) => key.charCodeAt(0) === 111 && key.charCodeAt(1) === 110 && // uppercase letter\n(key.charCodeAt(2) > 122 || key.charCodeAt(2) < 97);\nconst isModelListener = (key) => key.startsWith(\"onUpdate:\");\nconst extend = Object.assign;\nconst remove = (arr, el) => {\n const i = arr.indexOf(el);\n if (i > -1) {\n arr.splice(i, 1);\n }\n};\nconst hasOwnProperty = Object.prototype.hasOwnProperty;\nconst hasOwn = (val, key) => hasOwnProperty.call(val, key);\nconst isArray = Array.isArray;\nconst isMap = (val) => toTypeString(val) === \"[object Map]\";\nconst isSet = (val) => toTypeString(val) === \"[object Set]\";\nconst isDate = (val) => toTypeString(val) === \"[object Date]\";\nconst isRegExp = (val) => toTypeString(val) === \"[object RegExp]\";\nconst isFunction = (val) => typeof val === \"function\";\nconst isString = (val) => typeof val === \"string\";\nconst isSymbol = (val) => typeof val === \"symbol\";\nconst isObject = (val) => val !== null && typeof val === \"object\";\nconst isPromise = (val) => {\n return (isObject(val) || isFunction(val)) && isFunction(val.then) && isFunction(val.catch);\n};\nconst objectToString = Object.prototype.toString;\nconst toTypeString = (value) => objectToString.call(value);\nconst toRawType = (value) => {\n return toTypeString(value).slice(8, -1);\n};\nconst isPlainObject = (val) => toTypeString(val) === \"[object Object]\";\nconst isIntegerKey = (key) => isString(key) && key !== \"NaN\" && key[0] !== \"-\" && \"\" + parseInt(key, 10) === key;\nconst isReservedProp = /* @__PURE__ */ makeMap(\n // the leading comma is intentional so empty string \"\" is also included\n \",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted\"\n);\nconst isBuiltInDirective = /* @__PURE__ */ makeMap(\n \"bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text,memo\"\n);\nconst cacheStringFunction = (fn) => {\n const cache = /* @__PURE__ */ Object.create(null);\n return (str) => {\n const hit = cache[str];\n return hit || (cache[str] = fn(str));\n };\n};\nconst camelizeRE = /-(\\w)/g;\nconst camelize = cacheStringFunction((str) => {\n return str.replace(camelizeRE, (_, c) => c ? c.toUpperCase() : \"\");\n});\nconst hyphenateRE = /\\B([A-Z])/g;\nconst hyphenate = cacheStringFunction(\n (str) => str.replace(hyphenateRE, \"-$1\").toLowerCase()\n);\nconst capitalize = cacheStringFunction((str) => {\n return str.charAt(0).toUpperCase() + str.slice(1);\n});\nconst toHandlerKey = cacheStringFunction((str) => {\n const s = str ? `on${capitalize(str)}` : ``;\n return s;\n});\nconst hasChanged = (value, oldValue) => !Object.is(value, oldValue);\nconst invokeArrayFns = (fns, arg) => {\n for (let i = 0; i < fns.length; i++) {\n fns[i](arg);\n }\n};\nconst def = (obj, key, value) => {\n Object.defineProperty(obj, key, {\n configurable: true,\n enumerable: false,\n value\n });\n};\nconst looseToNumber = (val) => {\n const n = parseFloat(val);\n return isNaN(n) ? val : n;\n};\nconst toNumber = (val) => {\n const n = isString(val) ? Number(val) : NaN;\n return isNaN(n) ? val : n;\n};\nlet _globalThis;\nconst getGlobalThis = () => {\n return _globalThis || (_globalThis = typeof globalThis !== \"undefined\" ? globalThis : typeof self !== \"undefined\" ? self : typeof window !== \"undefined\" ? window : typeof global !== \"undefined\" ? global : {});\n};\nconst identRE = /^[_$a-zA-Z\\xA0-\\uFFFF][_$a-zA-Z0-9\\xA0-\\uFFFF]*$/;\nfunction genPropsAccessExp(name) {\n return identRE.test(name) ? `__props.${name}` : `__props[${JSON.stringify(name)}]`;\n}\n\nconst PatchFlagNames = {\n [1]: `TEXT`,\n [2]: `CLASS`,\n [4]: `STYLE`,\n [8]: `PROPS`,\n [16]: `FULL_PROPS`,\n [32]: `NEED_HYDRATION`,\n [64]: `STABLE_FRAGMENT`,\n [128]: `KEYED_FRAGMENT`,\n [256]: `UNKEYED_FRAGMENT`,\n [512]: `NEED_PATCH`,\n [1024]: `DYNAMIC_SLOTS`,\n [2048]: `DEV_ROOT_FRAGMENT`,\n [-1]: `HOISTED`,\n [-2]: `BAIL`\n};\n\nconst slotFlagsText = {\n [1]: \"STABLE\",\n [2]: \"DYNAMIC\",\n [3]: \"FORWARDED\"\n};\n\nconst GLOBALS_ALLOWED = \"Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt,console\";\nconst isGloballyAllowed = /* @__PURE__ */ makeMap(GLOBALS_ALLOWED);\nconst isGloballyWhitelisted = isGloballyAllowed;\n\nconst range = 2;\nfunction generateCodeFrame(source, start = 0, end = source.length) {\n let lines = source.split(/(\\r?\\n)/);\n const newlineSequences = lines.filter((_, idx) => idx % 2 === 1);\n lines = lines.filter((_, idx) => idx % 2 === 0);\n let count = 0;\n const res = [];\n for (let i = 0; i < lines.length; i++) {\n count += lines[i].length + (newlineSequences[i] && newlineSequences[i].length || 0);\n if (count >= start) {\n for (let j = i - range; j <= i + range || end > count; j++) {\n if (j < 0 || j >= lines.length)\n continue;\n const line = j + 1;\n res.push(\n `${line}${\" \".repeat(Math.max(3 - String(line).length, 0))}| ${lines[j]}`\n );\n const lineLength = lines[j].length;\n const newLineSeqLength = newlineSequences[j] && newlineSequences[j].length || 0;\n if (j === i) {\n const pad = start - (count - (lineLength + newLineSeqLength));\n const length = Math.max(\n 1,\n end > count ? lineLength - pad : end - start\n );\n res.push(` | ` + \" \".repeat(pad) + \"^\".repeat(length));\n } else if (j > i) {\n if (end > count) {\n const length = Math.max(Math.min(end - count, lineLength), 1);\n res.push(` | ` + \"^\".repeat(length));\n }\n count += lineLength + newLineSeqLength;\n }\n }\n break;\n }\n }\n return res.join(\"\\n\");\n}\n\nfunction normalizeStyle(value) {\n if (isArray(value)) {\n const res = {};\n for (let i = 0; i < value.length; i++) {\n const item = value[i];\n const normalized = isString(item) ? parseStringStyle(item) : normalizeStyle(item);\n if (normalized) {\n for (const key in normalized) {\n res[key] = normalized[key];\n }\n }\n }\n return res;\n } else if (isString(value) || isObject(value)) {\n return value;\n }\n}\nconst listDelimiterRE = /;(?![^(]*\\))/g;\nconst propertyDelimiterRE = /:([^]+)/;\nconst styleCommentRE = /\\/\\*[^]*?\\*\\//g;\nfunction parseStringStyle(cssText) {\n const ret = {};\n cssText.replace(styleCommentRE, \"\").split(listDelimiterRE).forEach((item) => {\n if (item) {\n const tmp = item.split(propertyDelimiterRE);\n tmp.length > 1 && (ret[tmp[0].trim()] = tmp[1].trim());\n }\n });\n return ret;\n}\nfunction stringifyStyle(styles) {\n let ret = \"\";\n if (!styles || isString(styles)) {\n return ret;\n }\n for (const key in styles) {\n const value = styles[key];\n const normalizedKey = key.startsWith(`--`) ? key : hyphenate(key);\n if (isString(value) || typeof value === \"number\") {\n ret += `${normalizedKey}:${value};`;\n }\n }\n return ret;\n}\nfunction normalizeClass(value) {\n let res = \"\";\n if (isString(value)) {\n res = value;\n } else if (isArray(value)) {\n for (let i = 0; i < value.length; i++) {\n const normalized = normalizeClass(value[i]);\n if (normalized) {\n res += normalized + \" \";\n }\n }\n } else if (isObject(value)) {\n for (const name in value) {\n if (value[name]) {\n res += name + \" \";\n }\n }\n }\n return res.trim();\n}\nfunction normalizeProps(props) {\n if (!props)\n return null;\n let { class: klass, style } = props;\n if (klass && !isString(klass)) {\n props.class = normalizeClass(klass);\n }\n if (style) {\n props.style = normalizeStyle(style);\n }\n return props;\n}\n\nconst HTML_TAGS = \"html,body,base,head,link,meta,style,title,address,article,aside,footer,header,hgroup,h1,h2,h3,h4,h5,h6,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,summary,template,blockquote,iframe,tfoot\";\nconst SVG_TAGS = \"svg,animate,animateMotion,animateTransform,circle,clipPath,color-profile,defs,desc,discard,ellipse,feBlend,feColorMatrix,feComponentTransfer,feComposite,feConvolveMatrix,feDiffuseLighting,feDisplacementMap,feDistantLight,feDropShadow,feFlood,feFuncA,feFuncB,feFuncG,feFuncR,feGaussianBlur,feImage,feMerge,feMergeNode,feMorphology,feOffset,fePointLight,feSpecularLighting,feSpotLight,feTile,feTurbulence,filter,foreignObject,g,hatch,hatchpath,image,line,linearGradient,marker,mask,mesh,meshgradient,meshpatch,meshrow,metadata,mpath,path,pattern,polygon,polyline,radialGradient,rect,set,solidcolor,stop,switch,symbol,text,textPath,title,tspan,unknown,use,view\";\nconst VOID_TAGS = \"area,base,br,col,embed,hr,img,input,link,meta,param,source,track,wbr\";\nconst isHTMLTag = /* @__PURE__ */ makeMap(HTML_TAGS);\nconst isSVGTag = /* @__PURE__ */ makeMap(SVG_TAGS);\nconst isVoidTag = /* @__PURE__ */ makeMap(VOID_TAGS);\n\nconst specialBooleanAttrs = `itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly`;\nconst isSpecialBooleanAttr = /* @__PURE__ */ makeMap(specialBooleanAttrs);\nconst isBooleanAttr = /* @__PURE__ */ makeMap(\n specialBooleanAttrs + `,async,autofocus,autoplay,controls,default,defer,disabled,hidden,inert,loop,open,required,reversed,scoped,seamless,checked,muted,multiple,selected`\n);\nfunction includeBooleanAttr(value) {\n return !!value || value === \"\";\n}\nconst unsafeAttrCharRE = /[>/=\"'\\u0009\\u000a\\u000c\\u0020]/;\nconst attrValidationCache = {};\nfunction isSSRSafeAttrName(name) {\n if (attrValidationCache.hasOwnProperty(name)) {\n return attrValidationCache[name];\n }\n const isUnsafe = unsafeAttrCharRE.test(name);\n if (isUnsafe) {\n console.error(`unsafe attribute name: ${name}`);\n }\n return attrValidationCache[name] = !isUnsafe;\n}\nconst propsToAttrMap = {\n acceptCharset: \"accept-charset\",\n className: \"class\",\n htmlFor: \"for\",\n httpEquiv: \"http-equiv\"\n};\nconst isKnownHtmlAttr = /* @__PURE__ */ makeMap(\n `accept,accept-charset,accesskey,action,align,allow,alt,async,autocapitalize,autocomplete,autofocus,autoplay,background,bgcolor,border,buffered,capture,challenge,charset,checked,cite,class,code,codebase,color,cols,colspan,content,contenteditable,contextmenu,controls,coords,crossorigin,csp,data,datetime,decoding,default,defer,dir,dirname,disabled,download,draggable,dropzone,enctype,enterkeyhint,for,form,formaction,formenctype,formmethod,formnovalidate,formtarget,headers,height,hidden,high,href,hreflang,http-equiv,icon,id,importance,inert,integrity,ismap,itemprop,keytype,kind,label,lang,language,loading,list,loop,low,manifest,max,maxlength,minlength,media,min,multiple,muted,name,novalidate,open,optimum,pattern,ping,placeholder,poster,preload,radiogroup,readonly,referrerpolicy,rel,required,reversed,rows,rowspan,sandbox,scope,scoped,selected,shape,size,sizes,slot,span,spellcheck,src,srcdoc,srclang,srcset,start,step,style,summary,tabindex,target,title,translate,type,usemap,value,width,wrap`\n);\nconst isKnownSvgAttr = /* @__PURE__ */ makeMap(\n `xmlns,accent-height,accumulate,additive,alignment-baseline,alphabetic,amplitude,arabic-form,ascent,attributeName,attributeType,azimuth,baseFrequency,baseline-shift,baseProfile,bbox,begin,bias,by,calcMode,cap-height,class,clip,clipPathUnits,clip-path,clip-rule,color,color-interpolation,color-interpolation-filters,color-profile,color-rendering,contentScriptType,contentStyleType,crossorigin,cursor,cx,cy,d,decelerate,descent,diffuseConstant,direction,display,divisor,dominant-baseline,dur,dx,dy,edgeMode,elevation,enable-background,end,exponent,fill,fill-opacity,fill-rule,filter,filterRes,filterUnits,flood-color,flood-opacity,font-family,font-size,font-size-adjust,font-stretch,font-style,font-variant,font-weight,format,from,fr,fx,fy,g1,g2,glyph-name,glyph-orientation-horizontal,glyph-orientation-vertical,glyphRef,gradientTransform,gradientUnits,hanging,height,href,hreflang,horiz-adv-x,horiz-origin-x,id,ideographic,image-rendering,in,in2,intercept,k,k1,k2,k3,k4,kernelMatrix,kernelUnitLength,kerning,keyPoints,keySplines,keyTimes,lang,lengthAdjust,letter-spacing,lighting-color,limitingConeAngle,local,marker-end,marker-mid,marker-start,markerHeight,markerUnits,markerWidth,mask,maskContentUnits,maskUnits,mathematical,max,media,method,min,mode,name,numOctaves,offset,opacity,operator,order,orient,orientation,origin,overflow,overline-position,overline-thickness,panose-1,paint-order,path,pathLength,patternContentUnits,patternTransform,patternUnits,ping,pointer-events,points,pointsAtX,pointsAtY,pointsAtZ,preserveAlpha,preserveAspectRatio,primitiveUnits,r,radius,referrerPolicy,refX,refY,rel,rendering-intent,repeatCount,repeatDur,requiredExtensions,requiredFeatures,restart,result,rotate,rx,ry,scale,seed,shape-rendering,slope,spacing,specularConstant,specularExponent,speed,spreadMethod,startOffset,stdDeviation,stemh,stemv,stitchTiles,stop-color,stop-opacity,strikethrough-position,strikethrough-thickness,string,stroke,stroke-dasharray,stroke-dashoffset,stroke-linecap,stroke-linejoin,stroke-miterlimit,stroke-opacity,stroke-width,style,surfaceScale,systemLanguage,tabindex,tableValues,target,targetX,targetY,text-anchor,text-decoration,text-rendering,textLength,to,transform,transform-origin,type,u1,u2,underline-position,underline-thickness,unicode,unicode-bidi,unicode-range,units-per-em,v-alphabetic,v-hanging,v-ideographic,v-mathematical,values,vector-effect,version,vert-adv-y,vert-origin-x,vert-origin-y,viewBox,viewTarget,visibility,width,widths,word-spacing,writing-mode,x,x-height,x1,x2,xChannelSelector,xlink:actuate,xlink:arcrole,xlink:href,xlink:role,xlink:show,xlink:title,xlink:type,xmlns:xlink,xml:base,xml:lang,xml:space,y,y1,y2,yChannelSelector,z,zoomAndPan`\n);\n\nconst escapeRE = /[\"'&<>]/;\nfunction escapeHtml(string) {\n const str = \"\" + string;\n const match = escapeRE.exec(str);\n if (!match) {\n return str;\n }\n let html = \"\";\n let escaped;\n let index;\n let lastIndex = 0;\n for (index = match.index; index < str.length; index++) {\n switch (str.charCodeAt(index)) {\n case 34:\n escaped = \""\";\n break;\n case 38:\n escaped = \"&\";\n break;\n case 39:\n escaped = \"'\";\n break;\n case 60:\n escaped = \"<\";\n break;\n case 62:\n escaped = \">\";\n break;\n default:\n continue;\n }\n if (lastIndex !== index) {\n html += str.slice(lastIndex, index);\n }\n lastIndex = index + 1;\n html += escaped;\n }\n return lastIndex !== index ? html + str.slice(lastIndex, index) : html;\n}\nconst commentStripRE = /^-?>||--!>| looseEqual(item, val));\n}\n\nconst toDisplayString = (val) => {\n return isString(val) ? val : val == null ? \"\" : isArray(val) || isObject(val) && (val.toString === objectToString || !isFunction(val.toString)) ? JSON.stringify(val, replacer, 2) : String(val);\n};\nconst replacer = (_key, val) => {\n if (val && val.__v_isRef) {\n return replacer(_key, val.value);\n } else if (isMap(val)) {\n return {\n [`Map(${val.size})`]: [...val.entries()].reduce(\n (entries, [key, val2], i) => {\n entries[stringifySymbol(key, i) + \" =>\"] = val2;\n return entries;\n },\n {}\n )\n };\n } else if (isSet(val)) {\n return {\n [`Set(${val.size})`]: [...val.values()].map((v) => stringifySymbol(v))\n };\n } else if (isSymbol(val)) {\n return stringifySymbol(val);\n } else if (isObject(val) && !isArray(val) && !isPlainObject(val)) {\n return String(val);\n }\n return val;\n};\nconst stringifySymbol = (v, i = \"\") => {\n var _a;\n return isSymbol(v) ? `Symbol(${(_a = v.description) != null ? _a : i})` : v;\n};\n\nexport { EMPTY_ARR, EMPTY_OBJ, NO, NOOP, PatchFlagNames, camelize, capitalize, def, escapeHtml, escapeHtmlComment, extend, genPropsAccessExp, generateCodeFrame, getGlobalThis, hasChanged, hasOwn, hyphenate, includeBooleanAttr, invokeArrayFns, isArray, isBooleanAttr, isBuiltInDirective, isDate, isFunction, isGloballyAllowed, isGloballyWhitelisted, isHTMLTag, isIntegerKey, isKnownHtmlAttr, isKnownSvgAttr, isMap, isModelListener, isObject, isOn, isPlainObject, isPromise, isRegExp, isReservedProp, isSSRSafeAttrName, isSVGTag, isSet, isSpecialBooleanAttr, isString, isSymbol, isVoidTag, looseEqual, looseIndexOf, looseToNumber, makeMap, normalizeClass, normalizeProps, normalizeStyle, objectToString, parseStringStyle, propsToAttrMap, remove, slotFlagsText, stringifyStyle, toDisplayString, toHandlerKey, toNumber, toRawType, toTypeString };\n","import { extend, isArray, isSymbol, isMap, isIntegerKey, hasOwn, hasChanged, isObject, makeMap, capitalize, toRawType, def, isFunction, NOOP } from '@vue/shared';\n\nfunction warn(msg, ...args) {\n console.warn(`[Vue warn] ${msg}`, ...args);\n}\n\nlet activeEffectScope;\nclass EffectScope {\n constructor(detached = false) {\n this.detached = detached;\n /**\n * @internal\n */\n this._active = true;\n /**\n * @internal\n */\n this.effects = [];\n /**\n * @internal\n */\n this.cleanups = [];\n this.parent = activeEffectScope;\n if (!detached && activeEffectScope) {\n this.index = (activeEffectScope.scopes || (activeEffectScope.scopes = [])).push(\n this\n ) - 1;\n }\n }\n get active() {\n return this._active;\n }\n run(fn) {\n if (this._active) {\n const currentEffectScope = activeEffectScope;\n try {\n activeEffectScope = this;\n return fn();\n } finally {\n activeEffectScope = currentEffectScope;\n }\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(`cannot run an inactive effect scope.`);\n }\n }\n /**\n * This should only be called on non-detached scopes\n * @internal\n */\n on() {\n activeEffectScope = this;\n }\n /**\n * This should only be called on non-detached scopes\n * @internal\n */\n off() {\n activeEffectScope = this.parent;\n }\n stop(fromParent) {\n if (this._active) {\n let i, l;\n for (i = 0, l = this.effects.length; i < l; i++) {\n this.effects[i].stop();\n }\n for (i = 0, l = this.cleanups.length; i < l; i++) {\n this.cleanups[i]();\n }\n if (this.scopes) {\n for (i = 0, l = this.scopes.length; i < l; i++) {\n this.scopes[i].stop(true);\n }\n }\n if (!this.detached && this.parent && !fromParent) {\n const last = this.parent.scopes.pop();\n if (last && last !== this) {\n this.parent.scopes[this.index] = last;\n last.index = this.index;\n }\n }\n this.parent = void 0;\n this._active = false;\n }\n }\n}\nfunction effectScope(detached) {\n return new EffectScope(detached);\n}\nfunction recordEffectScope(effect, scope = activeEffectScope) {\n if (scope && scope.active) {\n scope.effects.push(effect);\n }\n}\nfunction getCurrentScope() {\n return activeEffectScope;\n}\nfunction onScopeDispose(fn) {\n if (activeEffectScope) {\n activeEffectScope.cleanups.push(fn);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\n `onScopeDispose() is called when there is no active effect scope to be associated with.`\n );\n }\n}\n\nconst createDep = (effects) => {\n const dep = new Set(effects);\n dep.w = 0;\n dep.n = 0;\n return dep;\n};\nconst wasTracked = (dep) => (dep.w & trackOpBit) > 0;\nconst newTracked = (dep) => (dep.n & trackOpBit) > 0;\nconst initDepMarkers = ({ deps }) => {\n if (deps.length) {\n for (let i = 0; i < deps.length; i++) {\n deps[i].w |= trackOpBit;\n }\n }\n};\nconst finalizeDepMarkers = (effect) => {\n const { deps } = effect;\n if (deps.length) {\n let ptr = 0;\n for (let i = 0; i < deps.length; i++) {\n const dep = deps[i];\n if (wasTracked(dep) && !newTracked(dep)) {\n dep.delete(effect);\n } else {\n deps[ptr++] = dep;\n }\n dep.w &= ~trackOpBit;\n dep.n &= ~trackOpBit;\n }\n deps.length = ptr;\n }\n};\n\nconst targetMap = /* @__PURE__ */ new WeakMap();\nlet effectTrackDepth = 0;\nlet trackOpBit = 1;\nconst maxMarkerBits = 30;\nlet activeEffect;\nconst ITERATE_KEY = Symbol(!!(process.env.NODE_ENV !== \"production\") ? \"iterate\" : \"\");\nconst MAP_KEY_ITERATE_KEY = Symbol(!!(process.env.NODE_ENV !== \"production\") ? \"Map key iterate\" : \"\");\nclass ReactiveEffect {\n constructor(fn, scheduler = null, scope) {\n this.fn = fn;\n this.scheduler = scheduler;\n this.active = true;\n this.deps = [];\n this.parent = void 0;\n recordEffectScope(this, scope);\n }\n run() {\n if (!this.active) {\n return this.fn();\n }\n let parent = activeEffect;\n let lastShouldTrack = shouldTrack;\n while (parent) {\n if (parent === this) {\n return;\n }\n parent = parent.parent;\n }\n try {\n this.parent = activeEffect;\n activeEffect = this;\n shouldTrack = true;\n trackOpBit = 1 << ++effectTrackDepth;\n if (effectTrackDepth <= maxMarkerBits) {\n initDepMarkers(this);\n } else {\n cleanupEffect(this);\n }\n return this.fn();\n } finally {\n if (effectTrackDepth <= maxMarkerBits) {\n finalizeDepMarkers(this);\n }\n trackOpBit = 1 << --effectTrackDepth;\n activeEffect = this.parent;\n shouldTrack = lastShouldTrack;\n this.parent = void 0;\n if (this.deferStop) {\n this.stop();\n }\n }\n }\n stop() {\n if (activeEffect === this) {\n this.deferStop = true;\n } else if (this.active) {\n cleanupEffect(this);\n if (this.onStop) {\n this.onStop();\n }\n this.active = false;\n }\n }\n}\nfunction cleanupEffect(effect2) {\n const { deps } = effect2;\n if (deps.length) {\n for (let i = 0; i < deps.length; i++) {\n deps[i].delete(effect2);\n }\n deps.length = 0;\n }\n}\nfunction effect(fn, options) {\n if (fn.effect instanceof ReactiveEffect) {\n fn = fn.effect.fn;\n }\n const _effect = new ReactiveEffect(fn);\n if (options) {\n extend(_effect, options);\n if (options.scope)\n recordEffectScope(_effect, options.scope);\n }\n if (!options || !options.lazy) {\n _effect.run();\n }\n const runner = _effect.run.bind(_effect);\n runner.effect = _effect;\n return runner;\n}\nfunction stop(runner) {\n runner.effect.stop();\n}\nlet shouldTrack = true;\nconst trackStack = [];\nfunction pauseTracking() {\n trackStack.push(shouldTrack);\n shouldTrack = false;\n}\nfunction enableTracking() {\n trackStack.push(shouldTrack);\n shouldTrack = true;\n}\nfunction resetTracking() {\n const last = trackStack.pop();\n shouldTrack = last === void 0 ? true : last;\n}\nfunction track(target, type, key) {\n if (shouldTrack && activeEffect) {\n let depsMap = targetMap.get(target);\n if (!depsMap) {\n targetMap.set(target, depsMap = /* @__PURE__ */ new Map());\n }\n let dep = depsMap.get(key);\n if (!dep) {\n depsMap.set(key, dep = createDep());\n }\n const eventInfo = !!(process.env.NODE_ENV !== \"production\") ? { effect: activeEffect, target, type, key } : void 0;\n trackEffects(dep, eventInfo);\n }\n}\nfunction trackEffects(dep, debuggerEventExtraInfo) {\n let shouldTrack2 = false;\n if (effectTrackDepth <= maxMarkerBits) {\n if (!newTracked(dep)) {\n dep.n |= trackOpBit;\n shouldTrack2 = !wasTracked(dep);\n }\n } else {\n shouldTrack2 = !dep.has(activeEffect);\n }\n if (shouldTrack2) {\n dep.add(activeEffect);\n activeEffect.deps.push(dep);\n if (!!(process.env.NODE_ENV !== \"production\") && activeEffect.onTrack) {\n activeEffect.onTrack(\n extend(\n {\n effect: activeEffect\n },\n debuggerEventExtraInfo\n )\n );\n }\n }\n}\nfunction trigger(target, type, key, newValue, oldValue, oldTarget) {\n const depsMap = targetMap.get(target);\n if (!depsMap) {\n return;\n }\n let deps = [];\n if (type === \"clear\") {\n deps = [...depsMap.values()];\n } else if (key === \"length\" && isArray(target)) {\n const newLength = Number(newValue);\n depsMap.forEach((dep, key2) => {\n if (key2 === \"length\" || !isSymbol(key2) && key2 >= newLength) {\n deps.push(dep);\n }\n });\n } else {\n if (key !== void 0) {\n deps.push(depsMap.get(key));\n }\n switch (type) {\n case \"add\":\n if (!isArray(target)) {\n deps.push(depsMap.get(ITERATE_KEY));\n if (isMap(target)) {\n deps.push(depsMap.get(MAP_KEY_ITERATE_KEY));\n }\n } else if (isIntegerKey(key)) {\n deps.push(depsMap.get(\"length\"));\n }\n break;\n case \"delete\":\n if (!isArray(target)) {\n deps.push(depsMap.get(ITERATE_KEY));\n if (isMap(target)) {\n deps.push(depsMap.get(MAP_KEY_ITERATE_KEY));\n }\n }\n break;\n case \"set\":\n if (isMap(target)) {\n deps.push(depsMap.get(ITERATE_KEY));\n }\n break;\n }\n }\n const eventInfo = !!(process.env.NODE_ENV !== \"production\") ? { target, type, key, newValue, oldValue, oldTarget } : void 0;\n if (deps.length === 1) {\n if (deps[0]) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n triggerEffects(deps[0], eventInfo);\n } else {\n triggerEffects(deps[0]);\n }\n }\n } else {\n const effects = [];\n for (const dep of deps) {\n if (dep) {\n effects.push(...dep);\n }\n }\n if (!!(process.env.NODE_ENV !== \"production\")) {\n triggerEffects(createDep(effects), eventInfo);\n } else {\n triggerEffects(createDep(effects));\n }\n }\n}\nfunction triggerEffects(dep, debuggerEventExtraInfo) {\n const effects = isArray(dep) ? dep : [...dep];\n for (const effect2 of effects) {\n if (effect2.computed) {\n triggerEffect(effect2, debuggerEventExtraInfo);\n }\n }\n for (const effect2 of effects) {\n if (!effect2.computed) {\n triggerEffect(effect2, debuggerEventExtraInfo);\n }\n }\n}\nfunction triggerEffect(effect2, debuggerEventExtraInfo) {\n if (effect2 !== activeEffect || effect2.allowRecurse) {\n if (!!(process.env.NODE_ENV !== \"production\") && effect2.onTrigger) {\n effect2.onTrigger(extend({ effect: effect2 }, debuggerEventExtraInfo));\n }\n if (effect2.scheduler) {\n effect2.scheduler();\n } else {\n effect2.run();\n }\n }\n}\nfunction getDepFromReactive(object, key) {\n var _a;\n return (_a = targetMap.get(object)) == null ? void 0 : _a.get(key);\n}\n\nconst isNonTrackableKeys = /* @__PURE__ */ makeMap(`__proto__,__v_isRef,__isVue`);\nconst builtInSymbols = new Set(\n /* @__PURE__ */ Object.getOwnPropertyNames(Symbol).filter((key) => key !== \"arguments\" && key !== \"caller\").map((key) => Symbol[key]).filter(isSymbol)\n);\nconst arrayInstrumentations = /* @__PURE__ */ createArrayInstrumentations();\nfunction createArrayInstrumentations() {\n const instrumentations = {};\n [\"includes\", \"indexOf\", \"lastIndexOf\"].forEach((key) => {\n instrumentations[key] = function(...args) {\n const arr = toRaw(this);\n for (let i = 0, l = this.length; i < l; i++) {\n track(arr, \"get\", i + \"\");\n }\n const res = arr[key](...args);\n if (res === -1 || res === false) {\n return arr[key](...args.map(toRaw));\n } else {\n return res;\n }\n };\n });\n [\"push\", \"pop\", \"shift\", \"unshift\", \"splice\"].forEach((key) => {\n instrumentations[key] = function(...args) {\n pauseTracking();\n const res = toRaw(this)[key].apply(this, args);\n resetTracking();\n return res;\n };\n });\n return instrumentations;\n}\nfunction hasOwnProperty(key) {\n const obj = toRaw(this);\n track(obj, \"has\", key);\n return obj.hasOwnProperty(key);\n}\nclass BaseReactiveHandler {\n constructor(_isReadonly = false, _shallow = false) {\n this._isReadonly = _isReadonly;\n this._shallow = _shallow;\n }\n get(target, key, receiver) {\n const isReadonly2 = this._isReadonly, shallow = this._shallow;\n if (key === \"__v_isReactive\") {\n return !isReadonly2;\n } else if (key === \"__v_isReadonly\") {\n return isReadonly2;\n } else if (key === \"__v_isShallow\") {\n return shallow;\n } else if (key === \"__v_raw\") {\n if (receiver === (isReadonly2 ? shallow ? shallowReadonlyMap : readonlyMap : shallow ? shallowReactiveMap : reactiveMap).get(target) || // receiver is not the reactive proxy, but has the same prototype\n // this means the reciever is a user proxy of the reactive proxy\n Object.getPrototypeOf(target) === Object.getPrototypeOf(receiver)) {\n return target;\n }\n return;\n }\n const targetIsArray = isArray(target);\n if (!isReadonly2) {\n if (targetIsArray && hasOwn(arrayInstrumentations, key)) {\n return Reflect.get(arrayInstrumentations, key, receiver);\n }\n if (key === \"hasOwnProperty\") {\n return hasOwnProperty;\n }\n }\n const res = Reflect.get(target, key, receiver);\n if (isSymbol(key) ? builtInSymbols.has(key) : isNonTrackableKeys(key)) {\n return res;\n }\n if (!isReadonly2) {\n track(target, \"get\", key);\n }\n if (shallow) {\n return res;\n }\n if (isRef(res)) {\n return targetIsArray && isIntegerKey(key) ? res : res.value;\n }\n if (isObject(res)) {\n return isReadonly2 ? readonly(res) : reactive(res);\n }\n return res;\n }\n}\nclass MutableReactiveHandler extends BaseReactiveHandler {\n constructor(shallow = false) {\n super(false, shallow);\n }\n set(target, key, value, receiver) {\n let oldValue = target[key];\n if (!this._shallow) {\n const isOldValueReadonly = isReadonly(oldValue);\n if (!isShallow(value) && !isReadonly(value)) {\n oldValue = toRaw(oldValue);\n value = toRaw(value);\n }\n if (!isArray(target) && isRef(oldValue) && !isRef(value)) {\n if (isOldValueReadonly) {\n return false;\n } else {\n oldValue.value = value;\n return true;\n }\n }\n }\n const hadKey = isArray(target) && isIntegerKey(key) ? Number(key) < target.length : hasOwn(target, key);\n const result = Reflect.set(target, key, value, receiver);\n if (target === toRaw(receiver)) {\n if (!hadKey) {\n trigger(target, \"add\", key, value);\n } else if (hasChanged(value, oldValue)) {\n trigger(target, \"set\", key, value, oldValue);\n }\n }\n return result;\n }\n deleteProperty(target, key) {\n const hadKey = hasOwn(target, key);\n const oldValue = target[key];\n const result = Reflect.deleteProperty(target, key);\n if (result && hadKey) {\n trigger(target, \"delete\", key, void 0, oldValue);\n }\n return result;\n }\n has(target, key) {\n const result = Reflect.has(target, key);\n if (!isSymbol(key) || !builtInSymbols.has(key)) {\n track(target, \"has\", key);\n }\n return result;\n }\n ownKeys(target) {\n track(\n target,\n \"iterate\",\n isArray(target) ? \"length\" : ITERATE_KEY\n );\n return Reflect.ownKeys(target);\n }\n}\nclass ReadonlyReactiveHandler extends BaseReactiveHandler {\n constructor(shallow = false) {\n super(true, shallow);\n }\n set(target, key) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\n `Set operation on key \"${String(key)}\" failed: target is readonly.`,\n target\n );\n }\n return true;\n }\n deleteProperty(target, key) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\n `Delete operation on key \"${String(key)}\" failed: target is readonly.`,\n target\n );\n }\n return true;\n }\n}\nconst mutableHandlers = /* @__PURE__ */ new MutableReactiveHandler();\nconst readonlyHandlers = /* @__PURE__ */ new ReadonlyReactiveHandler();\nconst shallowReactiveHandlers = /* @__PURE__ */ new MutableReactiveHandler(\n true\n);\nconst shallowReadonlyHandlers = /* @__PURE__ */ new ReadonlyReactiveHandler(true);\n\nconst toShallow = (value) => value;\nconst getProto = (v) => Reflect.getPrototypeOf(v);\nfunction get(target, key, isReadonly = false, isShallow = false) {\n target = target[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const rawKey = toRaw(key);\n if (!isReadonly) {\n if (hasChanged(key, rawKey)) {\n track(rawTarget, \"get\", key);\n }\n track(rawTarget, \"get\", rawKey);\n }\n const { has: has2 } = getProto(rawTarget);\n const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;\n if (has2.call(rawTarget, key)) {\n return wrap(target.get(key));\n } else if (has2.call(rawTarget, rawKey)) {\n return wrap(target.get(rawKey));\n } else if (target !== rawTarget) {\n target.get(key);\n }\n}\nfunction has(key, isReadonly = false) {\n const target = this[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const rawKey = toRaw(key);\n if (!isReadonly) {\n if (hasChanged(key, rawKey)) {\n track(rawTarget, \"has\", key);\n }\n track(rawTarget, \"has\", rawKey);\n }\n return key === rawKey ? target.has(key) : target.has(key) || target.has(rawKey);\n}\nfunction size(target, isReadonly = false) {\n target = target[\"__v_raw\"];\n !isReadonly && track(toRaw(target), \"iterate\", ITERATE_KEY);\n return Reflect.get(target, \"size\", target);\n}\nfunction add(value) {\n value = toRaw(value);\n const target = toRaw(this);\n const proto = getProto(target);\n const hadKey = proto.has.call(target, value);\n if (!hadKey) {\n target.add(value);\n trigger(target, \"add\", value, value);\n }\n return this;\n}\nfunction set(key, value) {\n value = toRaw(value);\n const target = toRaw(this);\n const { has: has2, get: get2 } = getProto(target);\n let hadKey = has2.call(target, key);\n if (!hadKey) {\n key = toRaw(key);\n hadKey = has2.call(target, key);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n checkIdentityKeys(target, has2, key);\n }\n const oldValue = get2.call(target, key);\n target.set(key, value);\n if (!hadKey) {\n trigger(target, \"add\", key, value);\n } else if (hasChanged(value, oldValue)) {\n trigger(target, \"set\", key, value, oldValue);\n }\n return this;\n}\nfunction deleteEntry(key) {\n const target = toRaw(this);\n const { has: has2, get: get2 } = getProto(target);\n let hadKey = has2.call(target, key);\n if (!hadKey) {\n key = toRaw(key);\n hadKey = has2.call(target, key);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n checkIdentityKeys(target, has2, key);\n }\n const oldValue = get2 ? get2.call(target, key) : void 0;\n const result = target.delete(key);\n if (hadKey) {\n trigger(target, \"delete\", key, void 0, oldValue);\n }\n return result;\n}\nfunction clear() {\n const target = toRaw(this);\n const hadItems = target.size !== 0;\n const oldTarget = !!(process.env.NODE_ENV !== \"production\") ? isMap(target) ? new Map(target) : new Set(target) : void 0;\n const result = target.clear();\n if (hadItems) {\n trigger(target, \"clear\", void 0, void 0, oldTarget);\n }\n return result;\n}\nfunction createForEach(isReadonly, isShallow) {\n return function forEach(callback, thisArg) {\n const observed = this;\n const target = observed[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;\n !isReadonly && track(rawTarget, \"iterate\", ITERATE_KEY);\n return target.forEach((value, key) => {\n return callback.call(thisArg, wrap(value), wrap(key), observed);\n });\n };\n}\nfunction createIterableMethod(method, isReadonly, isShallow) {\n return function(...args) {\n const target = this[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const targetIsMap = isMap(rawTarget);\n const isPair = method === \"entries\" || method === Symbol.iterator && targetIsMap;\n const isKeyOnly = method === \"keys\" && targetIsMap;\n const innerIterator = target[method](...args);\n const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;\n !isReadonly && track(\n rawTarget,\n \"iterate\",\n isKeyOnly ? MAP_KEY_ITERATE_KEY : ITERATE_KEY\n );\n return {\n // iterator protocol\n next() {\n const { value, done } = innerIterator.next();\n return done ? { value, done } : {\n value: isPair ? [wrap(value[0]), wrap(value[1])] : wrap(value),\n done\n };\n },\n // iterable protocol\n [Symbol.iterator]() {\n return this;\n }\n };\n };\n}\nfunction createReadonlyMethod(type) {\n return function(...args) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n const key = args[0] ? `on key \"${args[0]}\" ` : ``;\n console.warn(\n `${capitalize(type)} operation ${key}failed: target is readonly.`,\n toRaw(this)\n );\n }\n return type === \"delete\" ? false : type === \"clear\" ? void 0 : this;\n };\n}\nfunction createInstrumentations() {\n const mutableInstrumentations2 = {\n get(key) {\n return get(this, key);\n },\n get size() {\n return size(this);\n },\n has,\n add,\n set,\n delete: deleteEntry,\n clear,\n forEach: createForEach(false, false)\n };\n const shallowInstrumentations2 = {\n get(key) {\n return get(this, key, false, true);\n },\n get size() {\n return size(this);\n },\n has,\n add,\n set,\n delete: deleteEntry,\n clear,\n forEach: createForEach(false, true)\n };\n const readonlyInstrumentations2 = {\n get(key) {\n return get(this, key, true);\n },\n get size() {\n return size(this, true);\n },\n has(key) {\n return has.call(this, key, true);\n },\n add: createReadonlyMethod(\"add\"),\n set: createReadonlyMethod(\"set\"),\n delete: createReadonlyMethod(\"delete\"),\n clear: createReadonlyMethod(\"clear\"),\n forEach: createForEach(true, false)\n };\n const shallowReadonlyInstrumentations2 = {\n get(key) {\n return get(this, key, true, true);\n },\n get size() {\n return size(this, true);\n },\n has(key) {\n return has.call(this, key, true);\n },\n add: createReadonlyMethod(\"add\"),\n set: createReadonlyMethod(\"set\"),\n delete: createReadonlyMethod(\"delete\"),\n clear: createReadonlyMethod(\"clear\"),\n forEach: createForEach(true, true)\n };\n const iteratorMethods = [\"keys\", \"values\", \"entries\", Symbol.iterator];\n iteratorMethods.forEach((method) => {\n mutableInstrumentations2[method] = createIterableMethod(\n method,\n false,\n false\n );\n readonlyInstrumentations2[method] = createIterableMethod(\n method,\n true,\n false\n );\n shallowInstrumentations2[method] = createIterableMethod(\n method,\n false,\n true\n );\n shallowReadonlyInstrumentations2[method] = createIterableMethod(\n method,\n true,\n true\n );\n });\n return [\n mutableInstrumentations2,\n readonlyInstrumentations2,\n shallowInstrumentations2,\n shallowReadonlyInstrumentations2\n ];\n}\nconst [\n mutableInstrumentations,\n readonlyInstrumentations,\n shallowInstrumentations,\n shallowReadonlyInstrumentations\n] = /* @__PURE__ */ createInstrumentations();\nfunction createInstrumentationGetter(isReadonly, shallow) {\n const instrumentations = shallow ? isReadonly ? shallowReadonlyInstrumentations : shallowInstrumentations : isReadonly ? readonlyInstrumentations : mutableInstrumentations;\n return (target, key, receiver) => {\n if (key === \"__v_isReactive\") {\n return !isReadonly;\n } else if (key === \"__v_isReadonly\") {\n return isReadonly;\n } else if (key === \"__v_raw\") {\n return target;\n }\n return Reflect.get(\n hasOwn(instrumentations, key) && key in target ? instrumentations : target,\n key,\n receiver\n );\n };\n}\nconst mutableCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(false, false)\n};\nconst shallowCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(false, true)\n};\nconst readonlyCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(true, false)\n};\nconst shallowReadonlyCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(true, true)\n};\nfunction checkIdentityKeys(target, has2, key) {\n const rawKey = toRaw(key);\n if (rawKey !== key && has2.call(target, rawKey)) {\n const type = toRawType(target);\n console.warn(\n `Reactive ${type} contains both the raw and reactive versions of the same object${type === `Map` ? ` as keys` : ``}, which can lead to inconsistencies. Avoid differentiating between the raw and reactive versions of an object and only use the reactive version if possible.`\n );\n }\n}\n\nconst reactiveMap = /* @__PURE__ */ new WeakMap();\nconst shallowReactiveMap = /* @__PURE__ */ new WeakMap();\nconst readonlyMap = /* @__PURE__ */ new WeakMap();\nconst shallowReadonlyMap = /* @__PURE__ */ new WeakMap();\nfunction targetTypeMap(rawType) {\n switch (rawType) {\n case \"Object\":\n case \"Array\":\n return 1 /* COMMON */;\n case \"Map\":\n case \"Set\":\n case \"WeakMap\":\n case \"WeakSet\":\n return 2 /* COLLECTION */;\n default:\n return 0 /* INVALID */;\n }\n}\nfunction getTargetType(value) {\n return value[\"__v_skip\"] || !Object.isExtensible(value) ? 0 /* INVALID */ : targetTypeMap(toRawType(value));\n}\nfunction reactive(target) {\n if (isReadonly(target)) {\n return target;\n }\n return createReactiveObject(\n target,\n false,\n mutableHandlers,\n mutableCollectionHandlers,\n reactiveMap\n );\n}\nfunction shallowReactive(target) {\n return createReactiveObject(\n target,\n false,\n shallowReactiveHandlers,\n shallowCollectionHandlers,\n shallowReactiveMap\n );\n}\nfunction readonly(target) {\n return createReactiveObject(\n target,\n true,\n readonlyHandlers,\n readonlyCollectionHandlers,\n readonlyMap\n );\n}\nfunction shallowReadonly(target) {\n return createReactiveObject(\n target,\n true,\n shallowReadonlyHandlers,\n shallowReadonlyCollectionHandlers,\n shallowReadonlyMap\n );\n}\nfunction createReactiveObject(target, isReadonly2, baseHandlers, collectionHandlers, proxyMap) {\n if (!isObject(target)) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n console.warn(`value cannot be made reactive: ${String(target)}`);\n }\n return target;\n }\n if (target[\"__v_raw\"] && !(isReadonly2 && target[\"__v_isReactive\"])) {\n return target;\n }\n const existingProxy = proxyMap.get(target);\n if (existingProxy) {\n return existingProxy;\n }\n const targetType = getTargetType(target);\n if (targetType === 0 /* INVALID */) {\n return target;\n }\n const proxy = new Proxy(\n target,\n targetType === 2 /* COLLECTION */ ? collectionHandlers : baseHandlers\n );\n proxyMap.set(target, proxy);\n return proxy;\n}\nfunction isReactive(value) {\n if (isReadonly(value)) {\n return isReactive(value[\"__v_raw\"]);\n }\n return !!(value && value[\"__v_isReactive\"]);\n}\nfunction isReadonly(value) {\n return !!(value && value[\"__v_isReadonly\"]);\n}\nfunction isShallow(value) {\n return !!(value && value[\"__v_isShallow\"]);\n}\nfunction isProxy(value) {\n return isReactive(value) || isReadonly(value);\n}\nfunction toRaw(observed) {\n const raw = observed && observed[\"__v_raw\"];\n return raw ? toRaw(raw) : observed;\n}\nfunction markRaw(value) {\n def(value, \"__v_skip\", true);\n return value;\n}\nconst toReactive = (value) => isObject(value) ? reactive(value) : value;\nconst toReadonly = (value) => isObject(value) ? readonly(value) : value;\n\nfunction trackRefValue(ref2) {\n if (shouldTrack && activeEffect) {\n ref2 = toRaw(ref2);\n if (!!(process.env.NODE_ENV !== \"production\")) {\n trackEffects(ref2.dep || (ref2.dep = createDep()), {\n target: ref2,\n type: \"get\",\n key: \"value\"\n });\n } else {\n trackEffects(ref2.dep || (ref2.dep = createDep()));\n }\n }\n}\nfunction triggerRefValue(ref2, newVal) {\n ref2 = toRaw(ref2);\n const dep = ref2.dep;\n if (dep) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n triggerEffects(dep, {\n target: ref2,\n type: \"set\",\n key: \"value\",\n newValue: newVal\n });\n } else {\n triggerEffects(dep);\n }\n }\n}\nfunction isRef(r) {\n return !!(r && r.__v_isRef === true);\n}\nfunction ref(value) {\n return createRef(value, false);\n}\nfunction shallowRef(value) {\n return createRef(value, true);\n}\nfunction createRef(rawValue, shallow) {\n if (isRef(rawValue)) {\n return rawValue;\n }\n return new RefImpl(rawValue, shallow);\n}\nclass RefImpl {\n constructor(value, __v_isShallow) {\n this.__v_isShallow = __v_isShallow;\n this.dep = void 0;\n this.__v_isRef = true;\n this._rawValue = __v_isShallow ? value : toRaw(value);\n this._value = __v_isShallow ? value : toReactive(value);\n }\n get value() {\n trackRefValue(this);\n return this._value;\n }\n set value(newVal) {\n const useDirectValue = this.__v_isShallow || isShallow(newVal) || isReadonly(newVal);\n newVal = useDirectValue ? newVal : toRaw(newVal);\n if (hasChanged(newVal, this._rawValue)) {\n this._rawValue = newVal;\n this._value = useDirectValue ? newVal : toReactive(newVal);\n triggerRefValue(this, newVal);\n }\n }\n}\nfunction triggerRef(ref2) {\n triggerRefValue(ref2, !!(process.env.NODE_ENV !== \"production\") ? ref2.value : void 0);\n}\nfunction unref(ref2) {\n return isRef(ref2) ? ref2.value : ref2;\n}\nfunction toValue(source) {\n return isFunction(source) ? source() : unref(source);\n}\nconst shallowUnwrapHandlers = {\n get: (target, key, receiver) => unref(Reflect.get(target, key, receiver)),\n set: (target, key, value, receiver) => {\n const oldValue = target[key];\n if (isRef(oldValue) && !isRef(value)) {\n oldValue.value = value;\n return true;\n } else {\n return Reflect.set(target, key, value, receiver);\n }\n }\n};\nfunction proxyRefs(objectWithRefs) {\n return isReactive(objectWithRefs) ? objectWithRefs : new Proxy(objectWithRefs, shallowUnwrapHandlers);\n}\nclass CustomRefImpl {\n constructor(factory) {\n this.dep = void 0;\n this.__v_isRef = true;\n const { get, set } = factory(\n () => trackRefValue(this),\n () => triggerRefValue(this)\n );\n this._get = get;\n this._set = set;\n }\n get value() {\n return this._get();\n }\n set value(newVal) {\n this._set(newVal);\n }\n}\nfunction customRef(factory) {\n return new CustomRefImpl(factory);\n}\nfunction toRefs(object) {\n if (!!(process.env.NODE_ENV !== \"production\") && !isProxy(object)) {\n console.warn(`toRefs() expects a reactive object but received a plain one.`);\n }\n const ret = isArray(object) ? new Array(object.length) : {};\n for (const key in object) {\n ret[key] = propertyToRef(object, key);\n }\n return ret;\n}\nclass ObjectRefImpl {\n constructor(_object, _key, _defaultValue) {\n this._object = _object;\n this._key = _key;\n this._defaultValue = _defaultValue;\n this.__v_isRef = true;\n }\n get value() {\n const val = this._object[this._key];\n return val === void 0 ? this._defaultValue : val;\n }\n set value(newVal) {\n this._object[this._key] = newVal;\n }\n get dep() {\n return getDepFromReactive(toRaw(this._object), this._key);\n }\n}\nclass GetterRefImpl {\n constructor(_getter) {\n this._getter = _getter;\n this.__v_isRef = true;\n this.__v_isReadonly = true;\n }\n get value() {\n return this._getter();\n }\n}\nfunction toRef(source, key, defaultValue) {\n if (isRef(source)) {\n return source;\n } else if (isFunction(source)) {\n return new GetterRefImpl(source);\n } else if (isObject(source) && arguments.length > 1) {\n return propertyToRef(source, key, defaultValue);\n } else {\n return ref(source);\n }\n}\nfunction propertyToRef(source, key, defaultValue) {\n const val = source[key];\n return isRef(val) ? val : new ObjectRefImpl(source, key, defaultValue);\n}\n\nclass ComputedRefImpl {\n constructor(getter, _setter, isReadonly, isSSR) {\n this._setter = _setter;\n this.dep = void 0;\n this.__v_isRef = true;\n this[\"__v_isReadonly\"] = false;\n this._dirty = true;\n this.effect = new ReactiveEffect(getter, () => {\n if (!this._dirty) {\n this._dirty = true;\n triggerRefValue(this);\n }\n });\n this.effect.computed = this;\n this.effect.active = this._cacheable = !isSSR;\n this[\"__v_isReadonly\"] = isReadonly;\n }\n get value() {\n const self = toRaw(this);\n trackRefValue(self);\n if (self._dirty || !self._cacheable) {\n self._dirty = false;\n self._value = self.effect.run();\n }\n return self._value;\n }\n set value(newValue) {\n this._setter(newValue);\n }\n}\nfunction computed(getterOrOptions, debugOptions, isSSR = false) {\n let getter;\n let setter;\n const onlyGetter = isFunction(getterOrOptions);\n if (onlyGetter) {\n getter = getterOrOptions;\n setter = !!(process.env.NODE_ENV !== \"production\") ? () => {\n console.warn(\"Write operation failed: computed value is readonly\");\n } : NOOP;\n } else {\n getter = getterOrOptions.get;\n setter = getterOrOptions.set;\n }\n const cRef = new ComputedRefImpl(getter, setter, onlyGetter || !setter, isSSR);\n if (!!(process.env.NODE_ENV !== \"production\") && debugOptions && !isSSR) {\n cRef.effect.onTrack = debugOptions.onTrack;\n cRef.effect.onTrigger = debugOptions.onTrigger;\n }\n return cRef;\n}\n\nconst tick = /* @__PURE__ */ Promise.resolve();\nconst queue = [];\nlet queued = false;\nconst scheduler = (fn) => {\n queue.push(fn);\n if (!queued) {\n queued = true;\n tick.then(flush);\n }\n};\nconst flush = () => {\n for (let i = 0; i < queue.length; i++) {\n queue[i]();\n }\n queue.length = 0;\n queued = false;\n};\nclass DeferredComputedRefImpl {\n constructor(getter) {\n this.dep = void 0;\n this._dirty = true;\n this.__v_isRef = true;\n this[\"__v_isReadonly\"] = true;\n let compareTarget;\n let hasCompareTarget = false;\n let scheduled = false;\n this.effect = new ReactiveEffect(getter, (computedTrigger) => {\n if (this.dep) {\n if (computedTrigger) {\n compareTarget = this._value;\n hasCompareTarget = true;\n } else if (!scheduled) {\n const valueToCompare = hasCompareTarget ? compareTarget : this._value;\n scheduled = true;\n hasCompareTarget = false;\n scheduler(() => {\n if (this.effect.active && this._get() !== valueToCompare) {\n triggerRefValue(this);\n }\n scheduled = false;\n });\n }\n for (const e of this.dep) {\n if (e.computed instanceof DeferredComputedRefImpl) {\n e.scheduler(\n true\n /* computedTrigger */\n );\n }\n }\n }\n this._dirty = true;\n });\n this.effect.computed = this;\n }\n _get() {\n if (this._dirty) {\n this._dirty = false;\n return this._value = this.effect.run();\n }\n return this._value;\n }\n get value() {\n trackRefValue(this);\n return toRaw(this)._get();\n }\n}\nfunction deferredComputed(getter) {\n return new DeferredComputedRefImpl(getter);\n}\n\nexport { EffectScope, ITERATE_KEY, ReactiveEffect, computed, customRef, deferredComputed, effect, effectScope, enableTracking, getCurrentScope, isProxy, isReactive, isReadonly, isRef, isShallow, markRaw, onScopeDispose, pauseTracking, proxyRefs, reactive, readonly, ref, resetTracking, shallowReactive, shallowReadonly, shallowRef, stop, toRaw, toRef, toRefs, toValue, track, trigger, triggerRef, unref };\n","import { pauseTracking, resetTracking, isRef, toRaw, getCurrentScope, isShallow as isShallow$1, isReactive, ReactiveEffect, ref, shallowReadonly, track, reactive, shallowReactive, trigger, isProxy, proxyRefs, markRaw, EffectScope, computed as computed$1, isReadonly } from '@vue/reactivity';\nexport { EffectScope, ReactiveEffect, customRef, effect, effectScope, getCurrentScope, isProxy, isReactive, isReadonly, isRef, isShallow, markRaw, onScopeDispose, proxyRefs, reactive, readonly, ref, shallowReactive, shallowReadonly, shallowRef, stop, toRaw, toRef, toRefs, toValue, triggerRef, unref } from '@vue/reactivity';\nimport { isString, isFunction, isPromise, isArray, NOOP, getGlobalThis, extend, EMPTY_OBJ, toHandlerKey, looseToNumber, hyphenate, camelize, isObject, isOn, hasOwn, isModelListener, capitalize, toNumber, hasChanged, remove, isSet, isMap, isPlainObject, isBuiltInDirective, invokeArrayFns, isRegExp, isGloballyAllowed, NO, def, isReservedProp, EMPTY_ARR, toRawType, makeMap, normalizeClass, normalizeStyle } from '@vue/shared';\nexport { camelize, capitalize, normalizeClass, normalizeProps, normalizeStyle, toDisplayString, toHandlerKey } from '@vue/shared';\n\nconst stack = [];\nfunction pushWarningContext(vnode) {\n stack.push(vnode);\n}\nfunction popWarningContext() {\n stack.pop();\n}\nfunction warn(msg, ...args) {\n if (!!!(process.env.NODE_ENV !== \"production\"))\n return;\n pauseTracking();\n const instance = stack.length ? stack[stack.length - 1].component : null;\n const appWarnHandler = instance && instance.appContext.config.warnHandler;\n const trace = getComponentTrace();\n if (appWarnHandler) {\n callWithErrorHandling(\n appWarnHandler,\n instance,\n 11,\n [\n msg + args.join(\"\"),\n instance && instance.proxy,\n trace.map(\n ({ vnode }) => `at <${formatComponentName(instance, vnode.type)}>`\n ).join(\"\\n\"),\n trace\n ]\n );\n } else {\n const warnArgs = [`[Vue warn]: ${msg}`, ...args];\n if (trace.length && // avoid spamming console during tests\n true) {\n warnArgs.push(`\n`, ...formatTrace(trace));\n }\n console.warn(...warnArgs);\n }\n resetTracking();\n}\nfunction getComponentTrace() {\n let currentVNode = stack[stack.length - 1];\n if (!currentVNode) {\n return [];\n }\n const normalizedStack = [];\n while (currentVNode) {\n const last = normalizedStack[0];\n if (last && last.vnode === currentVNode) {\n last.recurseCount++;\n } else {\n normalizedStack.push({\n vnode: currentVNode,\n recurseCount: 0\n });\n }\n const parentInstance = currentVNode.component && currentVNode.component.parent;\n currentVNode = parentInstance && parentInstance.vnode;\n }\n return normalizedStack;\n}\nfunction formatTrace(trace) {\n const logs = [];\n trace.forEach((entry, i) => {\n logs.push(...i === 0 ? [] : [`\n`], ...formatTraceEntry(entry));\n });\n return logs;\n}\nfunction formatTraceEntry({ vnode, recurseCount }) {\n const postfix = recurseCount > 0 ? `... (${recurseCount} recursive calls)` : ``;\n const isRoot = vnode.component ? vnode.component.parent == null : false;\n const open = ` at <${formatComponentName(\n vnode.component,\n vnode.type,\n isRoot\n )}`;\n const close = `>` + postfix;\n return vnode.props ? [open, ...formatProps(vnode.props), close] : [open + close];\n}\nfunction formatProps(props) {\n const res = [];\n const keys = Object.keys(props);\n keys.slice(0, 3).forEach((key) => {\n res.push(...formatProp(key, props[key]));\n });\n if (keys.length > 3) {\n res.push(` ...`);\n }\n return res;\n}\nfunction formatProp(key, value, raw) {\n if (isString(value)) {\n value = JSON.stringify(value);\n return raw ? value : [`${key}=${value}`];\n } else if (typeof value === \"number\" || typeof value === \"boolean\" || value == null) {\n return raw ? value : [`${key}=${value}`];\n } else if (isRef(value)) {\n value = formatProp(key, toRaw(value.value), true);\n return raw ? value : [`${key}=Ref<`, value, `>`];\n } else if (isFunction(value)) {\n return [`${key}=fn${value.name ? `<${value.name}>` : ``}`];\n } else {\n value = toRaw(value);\n return raw ? value : [`${key}=`, value];\n }\n}\nfunction assertNumber(val, type) {\n if (!!!(process.env.NODE_ENV !== \"production\"))\n return;\n if (val === void 0) {\n return;\n } else if (typeof val !== \"number\") {\n warn(`${type} is not a valid number - got ${JSON.stringify(val)}.`);\n } else if (isNaN(val)) {\n warn(`${type} is NaN - the duration expression might be incorrect.`);\n }\n}\n\nconst ErrorTypeStrings = {\n [\"sp\"]: \"serverPrefetch hook\",\n [\"bc\"]: \"beforeCreate hook\",\n [\"c\"]: \"created hook\",\n [\"bm\"]: \"beforeMount hook\",\n [\"m\"]: \"mounted hook\",\n [\"bu\"]: \"beforeUpdate hook\",\n [\"u\"]: \"updated\",\n [\"bum\"]: \"beforeUnmount hook\",\n [\"um\"]: \"unmounted hook\",\n [\"a\"]: \"activated hook\",\n [\"da\"]: \"deactivated hook\",\n [\"ec\"]: \"errorCaptured hook\",\n [\"rtc\"]: \"renderTracked hook\",\n [\"rtg\"]: \"renderTriggered hook\",\n [0]: \"setup function\",\n [1]: \"render function\",\n [2]: \"watcher getter\",\n [3]: \"watcher callback\",\n [4]: \"watcher cleanup function\",\n [5]: \"native event handler\",\n [6]: \"component event handler\",\n [7]: \"vnode hook\",\n [8]: \"directive hook\",\n [9]: \"transition hook\",\n [10]: \"app errorHandler\",\n [11]: \"app warnHandler\",\n [12]: \"ref function\",\n [13]: \"async component loader\",\n [14]: \"scheduler flush. This is likely a Vue internals bug. Please open an issue at https://new-issue.vuejs.org/?repo=vuejs/core\"\n};\nfunction callWithErrorHandling(fn, instance, type, args) {\n let res;\n try {\n res = args ? fn(...args) : fn();\n } catch (err) {\n handleError(err, instance, type);\n }\n return res;\n}\nfunction callWithAsyncErrorHandling(fn, instance, type, args) {\n if (isFunction(fn)) {\n const res = callWithErrorHandling(fn, instance, type, args);\n if (res && isPromise(res)) {\n res.catch((err) => {\n handleError(err, instance, type);\n });\n }\n return res;\n }\n const values = [];\n for (let i = 0; i < fn.length; i++) {\n values.push(callWithAsyncErrorHandling(fn[i], instance, type, args));\n }\n return values;\n}\nfunction handleError(err, instance, type, throwInDev = true) {\n const contextVNode = instance ? instance.vnode : null;\n if (instance) {\n let cur = instance.parent;\n const exposedInstance = instance.proxy;\n const errorInfo = !!(process.env.NODE_ENV !== \"production\") ? ErrorTypeStrings[type] : type;\n while (cur) {\n const errorCapturedHooks = cur.ec;\n if (errorCapturedHooks) {\n for (let i = 0; i < errorCapturedHooks.length; i++) {\n if (errorCapturedHooks[i](err, exposedInstance, errorInfo) === false) {\n return;\n }\n }\n }\n cur = cur.parent;\n }\n const appErrorHandler = instance.appContext.config.errorHandler;\n if (appErrorHandler) {\n callWithErrorHandling(\n appErrorHandler,\n null,\n 10,\n [err, exposedInstance, errorInfo]\n );\n return;\n }\n }\n logError(err, type, contextVNode, throwInDev);\n}\nfunction logError(err, type, contextVNode, throwInDev = true) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n const info = ErrorTypeStrings[type];\n if (contextVNode) {\n pushWarningContext(contextVNode);\n }\n warn(`Unhandled error${info ? ` during execution of ${info}` : ``}`);\n if (contextVNode) {\n popWarningContext();\n }\n if (throwInDev) {\n throw err;\n } else {\n console.error(err);\n }\n } else {\n console.error(err);\n }\n}\n\nlet isFlushing = false;\nlet isFlushPending = false;\nconst queue = [];\nlet flushIndex = 0;\nconst pendingPostFlushCbs = [];\nlet activePostFlushCbs = null;\nlet postFlushIndex = 0;\nconst resolvedPromise = /* @__PURE__ */ Promise.resolve();\nlet currentFlushPromise = null;\nconst RECURSION_LIMIT = 100;\nfunction nextTick(fn) {\n const p = currentFlushPromise || resolvedPromise;\n return fn ? p.then(this ? fn.bind(this) : fn) : p;\n}\nfunction findInsertionIndex(id) {\n let start = flushIndex + 1;\n let end = queue.length;\n while (start < end) {\n const middle = start + end >>> 1;\n const middleJob = queue[middle];\n const middleJobId = getId(middleJob);\n if (middleJobId < id || middleJobId === id && middleJob.pre) {\n start = middle + 1;\n } else {\n end = middle;\n }\n }\n return start;\n}\nfunction queueJob(job) {\n if (!queue.length || !queue.includes(\n job,\n isFlushing && job.allowRecurse ? flushIndex + 1 : flushIndex\n )) {\n if (job.id == null) {\n queue.push(job);\n } else {\n queue.splice(findInsertionIndex(job.id), 0, job);\n }\n queueFlush();\n }\n}\nfunction queueFlush() {\n if (!isFlushing && !isFlushPending) {\n isFlushPending = true;\n currentFlushPromise = resolvedPromise.then(flushJobs);\n }\n}\nfunction invalidateJob(job) {\n const i = queue.indexOf(job);\n if (i > flushIndex) {\n queue.splice(i, 1);\n }\n}\nfunction queuePostFlushCb(cb) {\n if (!isArray(cb)) {\n if (!activePostFlushCbs || !activePostFlushCbs.includes(\n cb,\n cb.allowRecurse ? postFlushIndex + 1 : postFlushIndex\n )) {\n pendingPostFlushCbs.push(cb);\n }\n } else {\n pendingPostFlushCbs.push(...cb);\n }\n queueFlush();\n}\nfunction flushPreFlushCbs(instance, seen, i = isFlushing ? flushIndex + 1 : 0) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n seen = seen || /* @__PURE__ */ new Map();\n }\n for (; i < queue.length; i++) {\n const cb = queue[i];\n if (cb && cb.pre) {\n if (instance && cb.id !== instance.uid) {\n continue;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && checkRecursiveUpdates(seen, cb)) {\n continue;\n }\n queue.splice(i, 1);\n i--;\n cb();\n }\n }\n}\nfunction flushPostFlushCbs(seen) {\n if (pendingPostFlushCbs.length) {\n const deduped = [...new Set(pendingPostFlushCbs)];\n pendingPostFlushCbs.length = 0;\n if (activePostFlushCbs) {\n activePostFlushCbs.push(...deduped);\n return;\n }\n activePostFlushCbs = deduped;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n seen = seen || /* @__PURE__ */ new Map();\n }\n activePostFlushCbs.sort((a, b) => getId(a) - getId(b));\n for (postFlushIndex = 0; postFlushIndex < activePostFlushCbs.length; postFlushIndex++) {\n if (!!(process.env.NODE_ENV !== \"production\") && checkRecursiveUpdates(seen, activePostFlushCbs[postFlushIndex])) {\n continue;\n }\n activePostFlushCbs[postFlushIndex]();\n }\n activePostFlushCbs = null;\n postFlushIndex = 0;\n }\n}\nconst getId = (job) => job.id == null ? Infinity : job.id;\nconst comparator = (a, b) => {\n const diff = getId(a) - getId(b);\n if (diff === 0) {\n if (a.pre && !b.pre)\n return -1;\n if (b.pre && !a.pre)\n return 1;\n }\n return diff;\n};\nfunction flushJobs(seen) {\n isFlushPending = false;\n isFlushing = true;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n seen = seen || /* @__PURE__ */ new Map();\n }\n queue.sort(comparator);\n const check = !!(process.env.NODE_ENV !== \"production\") ? (job) => checkRecursiveUpdates(seen, job) : NOOP;\n try {\n for (flushIndex = 0; flushIndex < queue.length; flushIndex++) {\n const job = queue[flushIndex];\n if (job && job.active !== false) {\n if (!!(process.env.NODE_ENV !== \"production\") && check(job)) {\n continue;\n }\n callWithErrorHandling(job, null, 14);\n }\n }\n } finally {\n flushIndex = 0;\n queue.length = 0;\n flushPostFlushCbs(seen);\n isFlushing = false;\n currentFlushPromise = null;\n if (queue.length || pendingPostFlushCbs.length) {\n flushJobs(seen);\n }\n }\n}\nfunction checkRecursiveUpdates(seen, fn) {\n if (!seen.has(fn)) {\n seen.set(fn, 1);\n } else {\n const count = seen.get(fn);\n if (count > RECURSION_LIMIT) {\n const instance = fn.ownerInstance;\n const componentName = instance && getComponentName(instance.type);\n warn(\n `Maximum recursive updates exceeded${componentName ? ` in component <${componentName}>` : ``}. This means you have a reactive effect that is mutating its own dependencies and thus recursively triggering itself. Possible sources include component template, render function, updated hook or watcher source function.`\n );\n return true;\n } else {\n seen.set(fn, count + 1);\n }\n }\n}\n\nlet isHmrUpdating = false;\nconst hmrDirtyComponents = /* @__PURE__ */ new Set();\nif (!!(process.env.NODE_ENV !== \"production\")) {\n getGlobalThis().__VUE_HMR_RUNTIME__ = {\n createRecord: tryWrap(createRecord),\n rerender: tryWrap(rerender),\n reload: tryWrap(reload)\n };\n}\nconst map = /* @__PURE__ */ new Map();\nfunction registerHMR(instance) {\n const id = instance.type.__hmrId;\n let record = map.get(id);\n if (!record) {\n createRecord(id, instance.type);\n record = map.get(id);\n }\n record.instances.add(instance);\n}\nfunction unregisterHMR(instance) {\n map.get(instance.type.__hmrId).instances.delete(instance);\n}\nfunction createRecord(id, initialDef) {\n if (map.has(id)) {\n return false;\n }\n map.set(id, {\n initialDef: normalizeClassComponent(initialDef),\n instances: /* @__PURE__ */ new Set()\n });\n return true;\n}\nfunction normalizeClassComponent(component) {\n return isClassComponent(component) ? component.__vccOpts : component;\n}\nfunction rerender(id, newRender) {\n const record = map.get(id);\n if (!record) {\n return;\n }\n record.initialDef.render = newRender;\n [...record.instances].forEach((instance) => {\n if (newRender) {\n instance.render = newRender;\n normalizeClassComponent(instance.type).render = newRender;\n }\n instance.renderCache = [];\n isHmrUpdating = true;\n instance.update();\n isHmrUpdating = false;\n });\n}\nfunction reload(id, newComp) {\n const record = map.get(id);\n if (!record)\n return;\n newComp = normalizeClassComponent(newComp);\n updateComponentDef(record.initialDef, newComp);\n const instances = [...record.instances];\n for (const instance of instances) {\n const oldComp = normalizeClassComponent(instance.type);\n if (!hmrDirtyComponents.has(oldComp)) {\n if (oldComp !== record.initialDef) {\n updateComponentDef(oldComp, newComp);\n }\n hmrDirtyComponents.add(oldComp);\n }\n instance.appContext.propsCache.delete(instance.type);\n instance.appContext.emitsCache.delete(instance.type);\n instance.appContext.optionsCache.delete(instance.type);\n if (instance.ceReload) {\n hmrDirtyComponents.add(oldComp);\n instance.ceReload(newComp.styles);\n hmrDirtyComponents.delete(oldComp);\n } else if (instance.parent) {\n queueJob(instance.parent.update);\n } else if (instance.appContext.reload) {\n instance.appContext.reload();\n } else if (typeof window !== \"undefined\") {\n window.location.reload();\n } else {\n console.warn(\n \"[HMR] Root or manually mounted instance modified. Full reload required.\"\n );\n }\n }\n queuePostFlushCb(() => {\n for (const instance of instances) {\n hmrDirtyComponents.delete(\n normalizeClassComponent(instance.type)\n );\n }\n });\n}\nfunction updateComponentDef(oldComp, newComp) {\n extend(oldComp, newComp);\n for (const key in oldComp) {\n if (key !== \"__file\" && !(key in newComp)) {\n delete oldComp[key];\n }\n }\n}\nfunction tryWrap(fn) {\n return (id, arg) => {\n try {\n return fn(id, arg);\n } catch (e) {\n console.error(e);\n console.warn(\n `[HMR] Something went wrong during Vue component hot-reload. Full reload required.`\n );\n }\n };\n}\n\nlet devtools;\nlet buffer = [];\nlet devtoolsNotInstalled = false;\nfunction emit$1(event, ...args) {\n if (devtools) {\n devtools.emit(event, ...args);\n } else if (!devtoolsNotInstalled) {\n buffer.push({ event, args });\n }\n}\nfunction setDevtoolsHook(hook, target) {\n var _a, _b;\n devtools = hook;\n if (devtools) {\n devtools.enabled = true;\n buffer.forEach(({ event, args }) => devtools.emit(event, ...args));\n buffer = [];\n } else if (\n // handle late devtools injection - only do this if we are in an actual\n // browser environment to avoid the timer handle stalling test runner exit\n // (#4815)\n typeof window !== \"undefined\" && // some envs mock window but not fully\n window.HTMLElement && // also exclude jsdom\n !((_b = (_a = window.navigator) == null ? void 0 : _a.userAgent) == null ? void 0 : _b.includes(\"jsdom\"))\n ) {\n const replay = target.__VUE_DEVTOOLS_HOOK_REPLAY__ = target.__VUE_DEVTOOLS_HOOK_REPLAY__ || [];\n replay.push((newHook) => {\n setDevtoolsHook(newHook, target);\n });\n setTimeout(() => {\n if (!devtools) {\n target.__VUE_DEVTOOLS_HOOK_REPLAY__ = null;\n devtoolsNotInstalled = true;\n buffer = [];\n }\n }, 3e3);\n } else {\n devtoolsNotInstalled = true;\n buffer = [];\n }\n}\nfunction devtoolsInitApp(app, version) {\n emit$1(\"app:init\" /* APP_INIT */, app, version, {\n Fragment,\n Text,\n Comment,\n Static\n });\n}\nfunction devtoolsUnmountApp(app) {\n emit$1(\"app:unmount\" /* APP_UNMOUNT */, app);\n}\nconst devtoolsComponentAdded = /* @__PURE__ */ createDevtoolsComponentHook(\n \"component:added\" /* COMPONENT_ADDED */\n);\nconst devtoolsComponentUpdated = /* @__PURE__ */ createDevtoolsComponentHook(\"component:updated\" /* COMPONENT_UPDATED */);\nconst _devtoolsComponentRemoved = /* @__PURE__ */ createDevtoolsComponentHook(\n \"component:removed\" /* COMPONENT_REMOVED */\n);\nconst devtoolsComponentRemoved = (component) => {\n if (devtools && typeof devtools.cleanupBuffer === \"function\" && // remove the component if it wasn't buffered\n !devtools.cleanupBuffer(component)) {\n _devtoolsComponentRemoved(component);\n }\n};\nfunction createDevtoolsComponentHook(hook) {\n return (component) => {\n emit$1(\n hook,\n component.appContext.app,\n component.uid,\n component.parent ? component.parent.uid : void 0,\n component\n );\n };\n}\nconst devtoolsPerfStart = /* @__PURE__ */ createDevtoolsPerformanceHook(\n \"perf:start\" /* PERFORMANCE_START */\n);\nconst devtoolsPerfEnd = /* @__PURE__ */ createDevtoolsPerformanceHook(\n \"perf:end\" /* PERFORMANCE_END */\n);\nfunction createDevtoolsPerformanceHook(hook) {\n return (component, type, time) => {\n emit$1(hook, component.appContext.app, component.uid, component, type, time);\n };\n}\nfunction devtoolsComponentEmit(component, event, params) {\n emit$1(\n \"component:emit\" /* COMPONENT_EMIT */,\n component.appContext.app,\n component,\n event,\n params\n );\n}\n\nfunction emit(instance, event, ...rawArgs) {\n if (instance.isUnmounted)\n return;\n const props = instance.vnode.props || EMPTY_OBJ;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n const {\n emitsOptions,\n propsOptions: [propsOptions]\n } = instance;\n if (emitsOptions) {\n if (!(event in emitsOptions) && true) {\n if (!propsOptions || !(toHandlerKey(event) in propsOptions)) {\n warn(\n `Component emitted event \"${event}\" but it is neither declared in the emits option nor as an \"${toHandlerKey(event)}\" prop.`\n );\n }\n } else {\n const validator = emitsOptions[event];\n if (isFunction(validator)) {\n const isValid = validator(...rawArgs);\n if (!isValid) {\n warn(\n `Invalid event arguments: event validation failed for event \"${event}\".`\n );\n }\n }\n }\n }\n }\n let args = rawArgs;\n const isModelListener = event.startsWith(\"update:\");\n const modelArg = isModelListener && event.slice(7);\n if (modelArg && modelArg in props) {\n const modifiersKey = `${modelArg === \"modelValue\" ? \"model\" : modelArg}Modifiers`;\n const { number, trim } = props[modifiersKey] || EMPTY_OBJ;\n if (trim) {\n args = rawArgs.map((a) => isString(a) ? a.trim() : a);\n }\n if (number) {\n args = rawArgs.map(looseToNumber);\n }\n }\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n devtoolsComponentEmit(instance, event, args);\n }\n if (!!(process.env.NODE_ENV !== \"production\")) {\n const lowerCaseEvent = event.toLowerCase();\n if (lowerCaseEvent !== event && props[toHandlerKey(lowerCaseEvent)]) {\n warn(\n `Event \"${lowerCaseEvent}\" is emitted in component ${formatComponentName(\n instance,\n instance.type\n )} but the handler is registered for \"${event}\". Note that HTML attributes are case-insensitive and you cannot use v-on to listen to camelCase events when using in-DOM templates. You should probably use \"${hyphenate(event)}\" instead of \"${event}\".`\n );\n }\n }\n let handlerName;\n let handler = props[handlerName = toHandlerKey(event)] || // also try camelCase event handler (#2249)\n props[handlerName = toHandlerKey(camelize(event))];\n if (!handler && isModelListener) {\n handler = props[handlerName = toHandlerKey(hyphenate(event))];\n }\n if (handler) {\n callWithAsyncErrorHandling(\n handler,\n instance,\n 6,\n args\n );\n }\n const onceHandler = props[handlerName + `Once`];\n if (onceHandler) {\n if (!instance.emitted) {\n instance.emitted = {};\n } else if (instance.emitted[handlerName]) {\n return;\n }\n instance.emitted[handlerName] = true;\n callWithAsyncErrorHandling(\n onceHandler,\n instance,\n 6,\n args\n );\n }\n}\nfunction normalizeEmitsOptions(comp, appContext, asMixin = false) {\n const cache = appContext.emitsCache;\n const cached = cache.get(comp);\n if (cached !== void 0) {\n return cached;\n }\n const raw = comp.emits;\n let normalized = {};\n let hasExtends = false;\n if (__VUE_OPTIONS_API__ && !isFunction(comp)) {\n const extendEmits = (raw2) => {\n const normalizedFromExtend = normalizeEmitsOptions(raw2, appContext, true);\n if (normalizedFromExtend) {\n hasExtends = true;\n extend(normalized, normalizedFromExtend);\n }\n };\n if (!asMixin && appContext.mixins.length) {\n appContext.mixins.forEach(extendEmits);\n }\n if (comp.extends) {\n extendEmits(comp.extends);\n }\n if (comp.mixins) {\n comp.mixins.forEach(extendEmits);\n }\n }\n if (!raw && !hasExtends) {\n if (isObject(comp)) {\n cache.set(comp, null);\n }\n return null;\n }\n if (isArray(raw)) {\n raw.forEach((key) => normalized[key] = null);\n } else {\n extend(normalized, raw);\n }\n if (isObject(comp)) {\n cache.set(comp, normalized);\n }\n return normalized;\n}\nfunction isEmitListener(options, key) {\n if (!options || !isOn(key)) {\n return false;\n }\n key = key.slice(2).replace(/Once$/, \"\");\n return hasOwn(options, key[0].toLowerCase() + key.slice(1)) || hasOwn(options, hyphenate(key)) || hasOwn(options, key);\n}\n\nlet currentRenderingInstance = null;\nlet currentScopeId = null;\nfunction setCurrentRenderingInstance(instance) {\n const prev = currentRenderingInstance;\n currentRenderingInstance = instance;\n currentScopeId = instance && instance.type.__scopeId || null;\n return prev;\n}\nfunction pushScopeId(id) {\n currentScopeId = id;\n}\nfunction popScopeId() {\n currentScopeId = null;\n}\nconst withScopeId = (_id) => withCtx;\nfunction withCtx(fn, ctx = currentRenderingInstance, isNonScopedSlot) {\n if (!ctx)\n return fn;\n if (fn._n) {\n return fn;\n }\n const renderFnWithContext = (...args) => {\n if (renderFnWithContext._d) {\n setBlockTracking(-1);\n }\n const prevInstance = setCurrentRenderingInstance(ctx);\n let res;\n try {\n res = fn(...args);\n } finally {\n setCurrentRenderingInstance(prevInstance);\n if (renderFnWithContext._d) {\n setBlockTracking(1);\n }\n }\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n devtoolsComponentUpdated(ctx);\n }\n return res;\n };\n renderFnWithContext._n = true;\n renderFnWithContext._c = true;\n renderFnWithContext._d = true;\n return renderFnWithContext;\n}\n\nlet accessedAttrs = false;\nfunction markAttrsAccessed() {\n accessedAttrs = true;\n}\nfunction renderComponentRoot(instance) {\n const {\n type: Component,\n vnode,\n proxy,\n withProxy,\n props,\n propsOptions: [propsOptions],\n slots,\n attrs,\n emit,\n render,\n renderCache,\n data,\n setupState,\n ctx,\n inheritAttrs\n } = instance;\n let result;\n let fallthroughAttrs;\n const prev = setCurrentRenderingInstance(instance);\n if (!!(process.env.NODE_ENV !== \"production\")) {\n accessedAttrs = false;\n }\n try {\n if (vnode.shapeFlag & 4) {\n const proxyToUse = withProxy || proxy;\n const thisProxy = !!(process.env.NODE_ENV !== \"production\") && setupState.__isScriptSetup ? new Proxy(proxyToUse, {\n get(target, key, receiver) {\n warn(\n `Property '${String(\n key\n )}' was accessed via 'this'. Avoid using 'this' in templates.`\n );\n return Reflect.get(target, key, receiver);\n }\n }) : proxyToUse;\n result = normalizeVNode(\n render.call(\n thisProxy,\n proxyToUse,\n renderCache,\n props,\n setupState,\n data,\n ctx\n )\n );\n fallthroughAttrs = attrs;\n } else {\n const render2 = Component;\n if (!!(process.env.NODE_ENV !== \"production\") && attrs === props) {\n markAttrsAccessed();\n }\n result = normalizeVNode(\n render2.length > 1 ? render2(\n props,\n !!(process.env.NODE_ENV !== \"production\") ? {\n get attrs() {\n markAttrsAccessed();\n return attrs;\n },\n slots,\n emit\n } : { attrs, slots, emit }\n ) : render2(\n props,\n null\n /* we know it doesn't need it */\n )\n );\n fallthroughAttrs = Component.props ? attrs : getFunctionalFallthrough(attrs);\n }\n } catch (err) {\n blockStack.length = 0;\n handleError(err, instance, 1);\n result = createVNode(Comment);\n }\n let root = result;\n let setRoot = void 0;\n if (!!(process.env.NODE_ENV !== \"production\") && result.patchFlag > 0 && result.patchFlag & 2048) {\n [root, setRoot] = getChildRoot(result);\n }\n if (fallthroughAttrs && inheritAttrs !== false) {\n const keys = Object.keys(fallthroughAttrs);\n const { shapeFlag } = root;\n if (keys.length) {\n if (shapeFlag & (1 | 6)) {\n if (propsOptions && keys.some(isModelListener)) {\n fallthroughAttrs = filterModelListeners(\n fallthroughAttrs,\n propsOptions\n );\n }\n root = cloneVNode(root, fallthroughAttrs);\n } else if (!!(process.env.NODE_ENV !== \"production\") && !accessedAttrs && root.type !== Comment) {\n const allAttrs = Object.keys(attrs);\n const eventAttrs = [];\n const extraAttrs = [];\n for (let i = 0, l = allAttrs.length; i < l; i++) {\n const key = allAttrs[i];\n if (isOn(key)) {\n if (!isModelListener(key)) {\n eventAttrs.push(key[2].toLowerCase() + key.slice(3));\n }\n } else {\n extraAttrs.push(key);\n }\n }\n if (extraAttrs.length) {\n warn(\n `Extraneous non-props attributes (${extraAttrs.join(\", \")}) were passed to component but could not be automatically inherited because component renders fragment or text root nodes.`\n );\n }\n if (eventAttrs.length) {\n warn(\n `Extraneous non-emits event listeners (${eventAttrs.join(\", \")}) were passed to component but could not be automatically inherited because component renders fragment or text root nodes. If the listener is intended to be a component custom event listener only, declare it using the \"emits\" option.`\n );\n }\n }\n }\n }\n if (vnode.dirs) {\n if (!!(process.env.NODE_ENV !== \"production\") && !isElementRoot(root)) {\n warn(\n `Runtime directive used on component with non-element root node. The directives will not function as intended.`\n );\n }\n root = cloneVNode(root);\n root.dirs = root.dirs ? root.dirs.concat(vnode.dirs) : vnode.dirs;\n }\n if (vnode.transition) {\n if (!!(process.env.NODE_ENV !== \"production\") && !isElementRoot(root)) {\n warn(\n `Component inside renders non-element root node that cannot be animated.`\n );\n }\n root.transition = vnode.transition;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && setRoot) {\n setRoot(root);\n } else {\n result = root;\n }\n setCurrentRenderingInstance(prev);\n return result;\n}\nconst getChildRoot = (vnode) => {\n const rawChildren = vnode.children;\n const dynamicChildren = vnode.dynamicChildren;\n const childRoot = filterSingleRoot(rawChildren);\n if (!childRoot) {\n return [vnode, void 0];\n }\n const index = rawChildren.indexOf(childRoot);\n const dynamicIndex = dynamicChildren ? dynamicChildren.indexOf(childRoot) : -1;\n const setRoot = (updatedRoot) => {\n rawChildren[index] = updatedRoot;\n if (dynamicChildren) {\n if (dynamicIndex > -1) {\n dynamicChildren[dynamicIndex] = updatedRoot;\n } else if (updatedRoot.patchFlag > 0) {\n vnode.dynamicChildren = [...dynamicChildren, updatedRoot];\n }\n }\n };\n return [normalizeVNode(childRoot), setRoot];\n};\nfunction filterSingleRoot(children) {\n let singleRoot;\n for (let i = 0; i < children.length; i++) {\n const child = children[i];\n if (isVNode(child)) {\n if (child.type !== Comment || child.children === \"v-if\") {\n if (singleRoot) {\n return;\n } else {\n singleRoot = child;\n }\n }\n } else {\n return;\n }\n }\n return singleRoot;\n}\nconst getFunctionalFallthrough = (attrs) => {\n let res;\n for (const key in attrs) {\n if (key === \"class\" || key === \"style\" || isOn(key)) {\n (res || (res = {}))[key] = attrs[key];\n }\n }\n return res;\n};\nconst filterModelListeners = (attrs, props) => {\n const res = {};\n for (const key in attrs) {\n if (!isModelListener(key) || !(key.slice(9) in props)) {\n res[key] = attrs[key];\n }\n }\n return res;\n};\nconst isElementRoot = (vnode) => {\n return vnode.shapeFlag & (6 | 1) || vnode.type === Comment;\n};\nfunction shouldUpdateComponent(prevVNode, nextVNode, optimized) {\n const { props: prevProps, children: prevChildren, component } = prevVNode;\n const { props: nextProps, children: nextChildren, patchFlag } = nextVNode;\n const emits = component.emitsOptions;\n if (!!(process.env.NODE_ENV !== \"production\") && (prevChildren || nextChildren) && isHmrUpdating) {\n return true;\n }\n if (nextVNode.dirs || nextVNode.transition) {\n return true;\n }\n if (optimized && patchFlag >= 0) {\n if (patchFlag & 1024) {\n return true;\n }\n if (patchFlag & 16) {\n if (!prevProps) {\n return !!nextProps;\n }\n return hasPropsChanged(prevProps, nextProps, emits);\n } else if (patchFlag & 8) {\n const dynamicProps = nextVNode.dynamicProps;\n for (let i = 0; i < dynamicProps.length; i++) {\n const key = dynamicProps[i];\n if (nextProps[key] !== prevProps[key] && !isEmitListener(emits, key)) {\n return true;\n }\n }\n }\n } else {\n if (prevChildren || nextChildren) {\n if (!nextChildren || !nextChildren.$stable) {\n return true;\n }\n }\n if (prevProps === nextProps) {\n return false;\n }\n if (!prevProps) {\n return !!nextProps;\n }\n if (!nextProps) {\n return true;\n }\n return hasPropsChanged(prevProps, nextProps, emits);\n }\n return false;\n}\nfunction hasPropsChanged(prevProps, nextProps, emitsOptions) {\n const nextKeys = Object.keys(nextProps);\n if (nextKeys.length !== Object.keys(prevProps).length) {\n return true;\n }\n for (let i = 0; i < nextKeys.length; i++) {\n const key = nextKeys[i];\n if (nextProps[key] !== prevProps[key] && !isEmitListener(emitsOptions, key)) {\n return true;\n }\n }\n return false;\n}\nfunction updateHOCHostEl({ vnode, parent }, el) {\n while (parent && parent.subTree === vnode) {\n (vnode = parent.vnode).el = el;\n parent = parent.parent;\n }\n}\n\nconst COMPONENTS = \"components\";\nconst DIRECTIVES = \"directives\";\nfunction resolveComponent(name, maybeSelfReference) {\n return resolveAsset(COMPONENTS, name, true, maybeSelfReference) || name;\n}\nconst NULL_DYNAMIC_COMPONENT = Symbol.for(\"v-ndc\");\nfunction resolveDynamicComponent(component) {\n if (isString(component)) {\n return resolveAsset(COMPONENTS, component, false) || component;\n } else {\n return component || NULL_DYNAMIC_COMPONENT;\n }\n}\nfunction resolveDirective(name) {\n return resolveAsset(DIRECTIVES, name);\n}\nfunction resolveAsset(type, name, warnMissing = true, maybeSelfReference = false) {\n const instance = currentRenderingInstance || currentInstance;\n if (instance) {\n const Component = instance.type;\n if (type === COMPONENTS) {\n const selfName = getComponentName(\n Component,\n false\n /* do not include inferred name to avoid breaking existing code */\n );\n if (selfName && (selfName === name || selfName === camelize(name) || selfName === capitalize(camelize(name)))) {\n return Component;\n }\n }\n const res = (\n // local registration\n // check instance[type] first which is resolved for options API\n resolve(instance[type] || Component[type], name) || // global registration\n resolve(instance.appContext[type], name)\n );\n if (!res && maybeSelfReference) {\n return Component;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && warnMissing && !res) {\n const extra = type === COMPONENTS ? `\nIf this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement.` : ``;\n warn(`Failed to resolve ${type.slice(0, -1)}: ${name}${extra}`);\n }\n return res;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\n `resolve${capitalize(type.slice(0, -1))} can only be used in render() or setup().`\n );\n }\n}\nfunction resolve(registry, name) {\n return registry && (registry[name] || registry[camelize(name)] || registry[capitalize(camelize(name))]);\n}\n\nconst isSuspense = (type) => type.__isSuspense;\nconst SuspenseImpl = {\n name: \"Suspense\",\n // In order to make Suspense tree-shakable, we need to avoid importing it\n // directly in the renderer. The renderer checks for the __isSuspense flag\n // on a vnode's type and calls the `process` method, passing in renderer\n // internals.\n __isSuspense: true,\n process(n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, rendererInternals) {\n if (n1 == null) {\n mountSuspense(\n n2,\n container,\n anchor,\n parentComponent,\n parentSuspense,\n isSVG,\n slotScopeIds,\n optimized,\n rendererInternals\n );\n } else {\n patchSuspense(\n n1,\n n2,\n container,\n anchor,\n parentComponent,\n isSVG,\n slotScopeIds,\n optimized,\n rendererInternals\n );\n }\n },\n hydrate: hydrateSuspense,\n create: createSuspenseBoundary,\n normalize: normalizeSuspenseChildren\n};\nconst Suspense = SuspenseImpl ;\nfunction triggerEvent(vnode, name) {\n const eventListener = vnode.props && vnode.props[name];\n if (isFunction(eventListener)) {\n eventListener();\n }\n}\nfunction mountSuspense(vnode, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, rendererInternals) {\n const {\n p: patch,\n o: { createElement }\n } = rendererInternals;\n const hiddenContainer = createElement(\"div\");\n const suspense = vnode.suspense = createSuspenseBoundary(\n vnode,\n parentSuspense,\n parentComponent,\n container,\n hiddenContainer,\n anchor,\n isSVG,\n slotScopeIds,\n optimized,\n rendererInternals\n );\n patch(\n null,\n suspense.pendingBranch = vnode.ssContent,\n hiddenContainer,\n null,\n parentComponent,\n suspense,\n isSVG,\n slotScopeIds\n );\n if (suspense.deps > 0) {\n triggerEvent(vnode, \"onPending\");\n triggerEvent(vnode, \"onFallback\");\n patch(\n null,\n vnode.ssFallback,\n container,\n anchor,\n parentComponent,\n null,\n // fallback tree will not have suspense context\n isSVG,\n slotScopeIds\n );\n setActiveBranch(suspense, vnode.ssFallback);\n } else {\n suspense.resolve(false, true);\n }\n}\nfunction patchSuspense(n1, n2, container, anchor, parentComponent, isSVG, slotScopeIds, optimized, { p: patch, um: unmount, o: { createElement } }) {\n const suspense = n2.suspense = n1.suspense;\n suspense.vnode = n2;\n n2.el = n1.el;\n const newBranch = n2.ssContent;\n const newFallback = n2.ssFallback;\n const { activeBranch, pendingBranch, isInFallback, isHydrating } = suspense;\n if (pendingBranch) {\n suspense.pendingBranch = newBranch;\n if (isSameVNodeType(newBranch, pendingBranch)) {\n patch(\n pendingBranch,\n newBranch,\n suspense.hiddenContainer,\n null,\n parentComponent,\n suspense,\n isSVG,\n slotScopeIds,\n optimized\n );\n if (suspense.deps <= 0) {\n suspense.resolve();\n } else if (isInFallback) {\n patch(\n activeBranch,\n newFallback,\n container,\n anchor,\n parentComponent,\n null,\n // fallback tree will not have suspense context\n isSVG,\n slotScopeIds,\n optimized\n );\n setActiveBranch(suspense, newFallback);\n }\n } else {\n suspense.pendingId++;\n if (isHydrating) {\n suspense.isHydrating = false;\n suspense.activeBranch = pendingBranch;\n } else {\n unmount(pendingBranch, parentComponent, suspense);\n }\n suspense.deps = 0;\n suspense.effects.length = 0;\n suspense.hiddenContainer = createElement(\"div\");\n if (isInFallback) {\n patch(\n null,\n newBranch,\n suspense.hiddenContainer,\n null,\n parentComponent,\n suspense,\n isSVG,\n slotScopeIds,\n optimized\n );\n if (suspense.deps <= 0) {\n suspense.resolve();\n } else {\n patch(\n activeBranch,\n newFallback,\n container,\n anchor,\n parentComponent,\n null,\n // fallback tree will not have suspense context\n isSVG,\n slotScopeIds,\n optimized\n );\n setActiveBranch(suspense, newFallback);\n }\n } else if (activeBranch && isSameVNodeType(newBranch, activeBranch)) {\n patch(\n activeBranch,\n newBranch,\n container,\n anchor,\n parentComponent,\n suspense,\n isSVG,\n slotScopeIds,\n optimized\n );\n suspense.resolve(true);\n } else {\n patch(\n null,\n newBranch,\n suspense.hiddenContainer,\n null,\n parentComponent,\n suspense,\n isSVG,\n slotScopeIds,\n optimized\n );\n if (suspense.deps <= 0) {\n suspense.resolve();\n }\n }\n }\n } else {\n if (activeBranch && isSameVNodeType(newBranch, activeBranch)) {\n patch(\n activeBranch,\n newBranch,\n container,\n anchor,\n parentComponent,\n suspense,\n isSVG,\n slotScopeIds,\n optimized\n );\n setActiveBranch(suspense, newBranch);\n } else {\n triggerEvent(n2, \"onPending\");\n suspense.pendingBranch = newBranch;\n suspense.pendingId++;\n patch(\n null,\n newBranch,\n suspense.hiddenContainer,\n null,\n parentComponent,\n suspense,\n isSVG,\n slotScopeIds,\n optimized\n );\n if (suspense.deps <= 0) {\n suspense.resolve();\n } else {\n const { timeout, pendingId } = suspense;\n if (timeout > 0) {\n setTimeout(() => {\n if (suspense.pendingId === pendingId) {\n suspense.fallback(newFallback);\n }\n }, timeout);\n } else if (timeout === 0) {\n suspense.fallback(newFallback);\n }\n }\n }\n }\n}\nlet hasWarned = false;\nfunction createSuspenseBoundary(vnode, parentSuspense, parentComponent, container, hiddenContainer, anchor, isSVG, slotScopeIds, optimized, rendererInternals, isHydrating = false) {\n if (!!(process.env.NODE_ENV !== \"production\") && true && !hasWarned) {\n hasWarned = true;\n console[console.info ? \"info\" : \"log\"](\n ` is an experimental feature and its API will likely change.`\n );\n }\n const {\n p: patch,\n m: move,\n um: unmount,\n n: next,\n o: { parentNode, remove }\n } = rendererInternals;\n let parentSuspenseId;\n const isSuspensible = isVNodeSuspensible(vnode);\n if (isSuspensible) {\n if (parentSuspense == null ? void 0 : parentSuspense.pendingBranch) {\n parentSuspenseId = parentSuspense.pendingId;\n parentSuspense.deps++;\n }\n }\n const timeout = vnode.props ? toNumber(vnode.props.timeout) : void 0;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n assertNumber(timeout, `Suspense timeout`);\n }\n const suspense = {\n vnode,\n parent: parentSuspense,\n parentComponent,\n isSVG,\n container,\n hiddenContainer,\n anchor,\n deps: 0,\n pendingId: 0,\n timeout: typeof timeout === \"number\" ? timeout : -1,\n activeBranch: null,\n pendingBranch: null,\n isInFallback: !isHydrating,\n isHydrating,\n isUnmounted: false,\n effects: [],\n resolve(resume = false, sync = false) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n if (!resume && !suspense.pendingBranch) {\n throw new Error(\n `suspense.resolve() is called without a pending branch.`\n );\n }\n if (suspense.isUnmounted) {\n throw new Error(\n `suspense.resolve() is called on an already unmounted suspense boundary.`\n );\n }\n }\n const {\n vnode: vnode2,\n activeBranch,\n pendingBranch,\n pendingId,\n effects,\n parentComponent: parentComponent2,\n container: container2\n } = suspense;\n let delayEnter = false;\n if (suspense.isHydrating) {\n suspense.isHydrating = false;\n } else if (!resume) {\n delayEnter = activeBranch && pendingBranch.transition && pendingBranch.transition.mode === \"out-in\";\n if (delayEnter) {\n activeBranch.transition.afterLeave = () => {\n if (pendingId === suspense.pendingId) {\n move(\n pendingBranch,\n container2,\n next(activeBranch),\n 0\n );\n queuePostFlushCb(effects);\n }\n };\n }\n let { anchor: anchor2 } = suspense;\n if (activeBranch) {\n anchor2 = next(activeBranch);\n unmount(activeBranch, parentComponent2, suspense, true);\n }\n if (!delayEnter) {\n move(pendingBranch, container2, anchor2, 0);\n }\n }\n setActiveBranch(suspense, pendingBranch);\n suspense.pendingBranch = null;\n suspense.isInFallback = false;\n let parent = suspense.parent;\n let hasUnresolvedAncestor = false;\n while (parent) {\n if (parent.pendingBranch) {\n parent.effects.push(...effects);\n hasUnresolvedAncestor = true;\n break;\n }\n parent = parent.parent;\n }\n if (!hasUnresolvedAncestor && !delayEnter) {\n queuePostFlushCb(effects);\n }\n suspense.effects = [];\n if (isSuspensible) {\n if (parentSuspense && parentSuspense.pendingBranch && parentSuspenseId === parentSuspense.pendingId) {\n parentSuspense.deps--;\n if (parentSuspense.deps === 0 && !sync) {\n parentSuspense.resolve();\n }\n }\n }\n triggerEvent(vnode2, \"onResolve\");\n },\n fallback(fallbackVNode) {\n if (!suspense.pendingBranch) {\n return;\n }\n const { vnode: vnode2, activeBranch, parentComponent: parentComponent2, container: container2, isSVG: isSVG2 } = suspense;\n triggerEvent(vnode2, \"onFallback\");\n const anchor2 = next(activeBranch);\n const mountFallback = () => {\n if (!suspense.isInFallback) {\n return;\n }\n patch(\n null,\n fallbackVNode,\n container2,\n anchor2,\n parentComponent2,\n null,\n // fallback tree will not have suspense context\n isSVG2,\n slotScopeIds,\n optimized\n );\n setActiveBranch(suspense, fallbackVNode);\n };\n const delayEnter = fallbackVNode.transition && fallbackVNode.transition.mode === \"out-in\";\n if (delayEnter) {\n activeBranch.transition.afterLeave = mountFallback;\n }\n suspense.isInFallback = true;\n unmount(\n activeBranch,\n parentComponent2,\n null,\n // no suspense so unmount hooks fire now\n true\n // shouldRemove\n );\n if (!delayEnter) {\n mountFallback();\n }\n },\n move(container2, anchor2, type) {\n suspense.activeBranch && move(suspense.activeBranch, container2, anchor2, type);\n suspense.container = container2;\n },\n next() {\n return suspense.activeBranch && next(suspense.activeBranch);\n },\n registerDep(instance, setupRenderEffect) {\n const isInPendingSuspense = !!suspense.pendingBranch;\n if (isInPendingSuspense) {\n suspense.deps++;\n }\n const hydratedEl = instance.vnode.el;\n instance.asyncDep.catch((err) => {\n handleError(err, instance, 0);\n }).then((asyncSetupResult) => {\n if (instance.isUnmounted || suspense.isUnmounted || suspense.pendingId !== instance.suspenseId) {\n return;\n }\n instance.asyncResolved = true;\n const { vnode: vnode2 } = instance;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n pushWarningContext(vnode2);\n }\n handleSetupResult(instance, asyncSetupResult, false);\n if (hydratedEl) {\n vnode2.el = hydratedEl;\n }\n const placeholder = !hydratedEl && instance.subTree.el;\n setupRenderEffect(\n instance,\n vnode2,\n // component may have been moved before resolve.\n // if this is not a hydration, instance.subTree will be the comment\n // placeholder.\n parentNode(hydratedEl || instance.subTree.el),\n // anchor will not be used if this is hydration, so only need to\n // consider the comment placeholder case.\n hydratedEl ? null : next(instance.subTree),\n suspense,\n isSVG,\n optimized\n );\n if (placeholder) {\n remove(placeholder);\n }\n updateHOCHostEl(instance, vnode2.el);\n if (!!(process.env.NODE_ENV !== \"production\")) {\n popWarningContext();\n }\n if (isInPendingSuspense && --suspense.deps === 0) {\n suspense.resolve();\n }\n });\n },\n unmount(parentSuspense2, doRemove) {\n suspense.isUnmounted = true;\n if (suspense.activeBranch) {\n unmount(\n suspense.activeBranch,\n parentComponent,\n parentSuspense2,\n doRemove\n );\n }\n if (suspense.pendingBranch) {\n unmount(\n suspense.pendingBranch,\n parentComponent,\n parentSuspense2,\n doRemove\n );\n }\n }\n };\n return suspense;\n}\nfunction hydrateSuspense(node, vnode, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, rendererInternals, hydrateNode) {\n const suspense = vnode.suspense = createSuspenseBoundary(\n vnode,\n parentSuspense,\n parentComponent,\n node.parentNode,\n document.createElement(\"div\"),\n null,\n isSVG,\n slotScopeIds,\n optimized,\n rendererInternals,\n true\n /* hydrating */\n );\n const result = hydrateNode(\n node,\n suspense.pendingBranch = vnode.ssContent,\n parentComponent,\n suspense,\n slotScopeIds,\n optimized\n );\n if (suspense.deps === 0) {\n suspense.resolve(false, true);\n }\n return result;\n}\nfunction normalizeSuspenseChildren(vnode) {\n const { shapeFlag, children } = vnode;\n const isSlotChildren = shapeFlag & 32;\n vnode.ssContent = normalizeSuspenseSlot(\n isSlotChildren ? children.default : children\n );\n vnode.ssFallback = isSlotChildren ? normalizeSuspenseSlot(children.fallback) : createVNode(Comment);\n}\nfunction normalizeSuspenseSlot(s) {\n let block;\n if (isFunction(s)) {\n const trackBlock = isBlockTreeEnabled && s._c;\n if (trackBlock) {\n s._d = false;\n openBlock();\n }\n s = s();\n if (trackBlock) {\n s._d = true;\n block = currentBlock;\n closeBlock();\n }\n }\n if (isArray(s)) {\n const singleChild = filterSingleRoot(s);\n if (!!(process.env.NODE_ENV !== \"production\") && !singleChild && s.filter((child) => child !== NULL_DYNAMIC_COMPONENT).length > 0) {\n warn(` slots expect a single root node.`);\n }\n s = singleChild;\n }\n s = normalizeVNode(s);\n if (block && !s.dynamicChildren) {\n s.dynamicChildren = block.filter((c) => c !== s);\n }\n return s;\n}\nfunction queueEffectWithSuspense(fn, suspense) {\n if (suspense && suspense.pendingBranch) {\n if (isArray(fn)) {\n suspense.effects.push(...fn);\n } else {\n suspense.effects.push(fn);\n }\n } else {\n queuePostFlushCb(fn);\n }\n}\nfunction setActiveBranch(suspense, branch) {\n suspense.activeBranch = branch;\n const { vnode, parentComponent } = suspense;\n const el = vnode.el = branch.el;\n if (parentComponent && parentComponent.subTree === vnode) {\n parentComponent.vnode.el = el;\n updateHOCHostEl(parentComponent, el);\n }\n}\nfunction isVNodeSuspensible(vnode) {\n var _a;\n return ((_a = vnode.props) == null ? void 0 : _a.suspensible) != null && vnode.props.suspensible !== false;\n}\n\nfunction watchEffect(effect, options) {\n return doWatch(effect, null, options);\n}\nfunction watchPostEffect(effect, options) {\n return doWatch(\n effect,\n null,\n !!(process.env.NODE_ENV !== \"production\") ? extend({}, options, { flush: \"post\" }) : { flush: \"post\" }\n );\n}\nfunction watchSyncEffect(effect, options) {\n return doWatch(\n effect,\n null,\n !!(process.env.NODE_ENV !== \"production\") ? extend({}, options, { flush: \"sync\" }) : { flush: \"sync\" }\n );\n}\nconst INITIAL_WATCHER_VALUE = {};\nfunction watch(source, cb, options) {\n if (!!(process.env.NODE_ENV !== \"production\") && !isFunction(cb)) {\n warn(\n `\\`watch(fn, options?)\\` signature has been moved to a separate API. Use \\`watchEffect(fn, options?)\\` instead. \\`watch\\` now only supports \\`watch(source, cb, options?) signature.`\n );\n }\n return doWatch(source, cb, options);\n}\nfunction doWatch(source, cb, { immediate, deep, flush, onTrack, onTrigger } = EMPTY_OBJ) {\n var _a;\n if (!!(process.env.NODE_ENV !== \"production\") && !cb) {\n if (immediate !== void 0) {\n warn(\n `watch() \"immediate\" option is only respected when using the watch(source, callback, options?) signature.`\n );\n }\n if (deep !== void 0) {\n warn(\n `watch() \"deep\" option is only respected when using the watch(source, callback, options?) signature.`\n );\n }\n }\n const warnInvalidSource = (s) => {\n warn(\n `Invalid watch source: `,\n s,\n `A watch source can only be a getter/effect function, a ref, a reactive object, or an array of these types.`\n );\n };\n const instance = getCurrentScope() === ((_a = currentInstance) == null ? void 0 : _a.scope) ? currentInstance : null;\n let getter;\n let forceTrigger = false;\n let isMultiSource = false;\n if (isRef(source)) {\n getter = () => source.value;\n forceTrigger = isShallow$1(source);\n } else if (isReactive(source)) {\n getter = () => source;\n deep = true;\n } else if (isArray(source)) {\n isMultiSource = true;\n forceTrigger = source.some((s) => isReactive(s) || isShallow$1(s));\n getter = () => source.map((s) => {\n if (isRef(s)) {\n return s.value;\n } else if (isReactive(s)) {\n return traverse(s);\n } else if (isFunction(s)) {\n return callWithErrorHandling(s, instance, 2);\n } else {\n !!(process.env.NODE_ENV !== \"production\") && warnInvalidSource(s);\n }\n });\n } else if (isFunction(source)) {\n if (cb) {\n getter = () => callWithErrorHandling(source, instance, 2);\n } else {\n getter = () => {\n if (instance && instance.isUnmounted) {\n return;\n }\n if (cleanup) {\n cleanup();\n }\n return callWithAsyncErrorHandling(\n source,\n instance,\n 3,\n [onCleanup]\n );\n };\n }\n } else {\n getter = NOOP;\n !!(process.env.NODE_ENV !== \"production\") && warnInvalidSource(source);\n }\n if (cb && deep) {\n const baseGetter = getter;\n getter = () => traverse(baseGetter());\n }\n let cleanup;\n let onCleanup = (fn) => {\n cleanup = effect.onStop = () => {\n callWithErrorHandling(fn, instance, 4);\n cleanup = effect.onStop = void 0;\n };\n };\n let ssrCleanup;\n if (isInSSRComponentSetup) {\n onCleanup = NOOP;\n if (!cb) {\n getter();\n } else if (immediate) {\n callWithAsyncErrorHandling(cb, instance, 3, [\n getter(),\n isMultiSource ? [] : void 0,\n onCleanup\n ]);\n }\n if (flush === \"sync\") {\n const ctx = useSSRContext();\n ssrCleanup = ctx.__watcherHandles || (ctx.__watcherHandles = []);\n } else {\n return NOOP;\n }\n }\n let oldValue = isMultiSource ? new Array(source.length).fill(INITIAL_WATCHER_VALUE) : INITIAL_WATCHER_VALUE;\n const job = () => {\n if (!effect.active) {\n return;\n }\n if (cb) {\n const newValue = effect.run();\n if (deep || forceTrigger || (isMultiSource ? newValue.some((v, i) => hasChanged(v, oldValue[i])) : hasChanged(newValue, oldValue)) || false) {\n if (cleanup) {\n cleanup();\n }\n callWithAsyncErrorHandling(cb, instance, 3, [\n newValue,\n // pass undefined as the old value when it's changed for the first time\n oldValue === INITIAL_WATCHER_VALUE ? void 0 : isMultiSource && oldValue[0] === INITIAL_WATCHER_VALUE ? [] : oldValue,\n onCleanup\n ]);\n oldValue = newValue;\n }\n } else {\n effect.run();\n }\n };\n job.allowRecurse = !!cb;\n let scheduler;\n if (flush === \"sync\") {\n scheduler = job;\n } else if (flush === \"post\") {\n scheduler = () => queuePostRenderEffect(job, instance && instance.suspense);\n } else {\n job.pre = true;\n if (instance)\n job.id = instance.uid;\n scheduler = () => queueJob(job);\n }\n const effect = new ReactiveEffect(getter, scheduler);\n if (!!(process.env.NODE_ENV !== \"production\")) {\n effect.onTrack = onTrack;\n effect.onTrigger = onTrigger;\n }\n if (cb) {\n if (immediate) {\n job();\n } else {\n oldValue = effect.run();\n }\n } else if (flush === \"post\") {\n queuePostRenderEffect(\n effect.run.bind(effect),\n instance && instance.suspense\n );\n } else {\n effect.run();\n }\n const unwatch = () => {\n effect.stop();\n if (instance && instance.scope) {\n remove(instance.scope.effects, effect);\n }\n };\n if (ssrCleanup)\n ssrCleanup.push(unwatch);\n return unwatch;\n}\nfunction instanceWatch(source, value, options) {\n const publicThis = this.proxy;\n const getter = isString(source) ? source.includes(\".\") ? createPathGetter(publicThis, source) : () => publicThis[source] : source.bind(publicThis, publicThis);\n let cb;\n if (isFunction(value)) {\n cb = value;\n } else {\n cb = value.handler;\n options = value;\n }\n const cur = currentInstance;\n setCurrentInstance(this);\n const res = doWatch(getter, cb.bind(publicThis), options);\n if (cur) {\n setCurrentInstance(cur);\n } else {\n unsetCurrentInstance();\n }\n return res;\n}\nfunction createPathGetter(ctx, path) {\n const segments = path.split(\".\");\n return () => {\n let cur = ctx;\n for (let i = 0; i < segments.length && cur; i++) {\n cur = cur[segments[i]];\n }\n return cur;\n };\n}\nfunction traverse(value, seen) {\n if (!isObject(value) || value[\"__v_skip\"]) {\n return value;\n }\n seen = seen || /* @__PURE__ */ new Set();\n if (seen.has(value)) {\n return value;\n }\n seen.add(value);\n if (isRef(value)) {\n traverse(value.value, seen);\n } else if (isArray(value)) {\n for (let i = 0; i < value.length; i++) {\n traverse(value[i], seen);\n }\n } else if (isSet(value) || isMap(value)) {\n value.forEach((v) => {\n traverse(v, seen);\n });\n } else if (isPlainObject(value)) {\n for (const key in value) {\n traverse(value[key], seen);\n }\n }\n return value;\n}\n\nfunction validateDirectiveName(name) {\n if (isBuiltInDirective(name)) {\n warn(\"Do not use built-in directive ids as custom directive id: \" + name);\n }\n}\nfunction withDirectives(vnode, directives) {\n const internalInstance = currentRenderingInstance;\n if (internalInstance === null) {\n !!(process.env.NODE_ENV !== \"production\") && warn(`withDirectives can only be used inside render functions.`);\n return vnode;\n }\n const instance = getExposeProxy(internalInstance) || internalInstance.proxy;\n const bindings = vnode.dirs || (vnode.dirs = []);\n for (let i = 0; i < directives.length; i++) {\n let [dir, value, arg, modifiers = EMPTY_OBJ] = directives[i];\n if (dir) {\n if (isFunction(dir)) {\n dir = {\n mounted: dir,\n updated: dir\n };\n }\n if (dir.deep) {\n traverse(value);\n }\n bindings.push({\n dir,\n instance,\n value,\n oldValue: void 0,\n arg,\n modifiers\n });\n }\n }\n return vnode;\n}\nfunction invokeDirectiveHook(vnode, prevVNode, instance, name) {\n const bindings = vnode.dirs;\n const oldBindings = prevVNode && prevVNode.dirs;\n for (let i = 0; i < bindings.length; i++) {\n const binding = bindings[i];\n if (oldBindings) {\n binding.oldValue = oldBindings[i].value;\n }\n let hook = binding.dir[name];\n if (hook) {\n pauseTracking();\n callWithAsyncErrorHandling(hook, instance, 8, [\n vnode.el,\n binding,\n vnode,\n prevVNode\n ]);\n resetTracking();\n }\n }\n}\n\nconst leaveCbKey = Symbol(\"_leaveCb\");\nconst enterCbKey = Symbol(\"_enterCb\");\nfunction useTransitionState() {\n const state = {\n isMounted: false,\n isLeaving: false,\n isUnmounting: false,\n leavingVNodes: /* @__PURE__ */ new Map()\n };\n onMounted(() => {\n state.isMounted = true;\n });\n onBeforeUnmount(() => {\n state.isUnmounting = true;\n });\n return state;\n}\nconst TransitionHookValidator = [Function, Array];\nconst BaseTransitionPropsValidators = {\n mode: String,\n appear: Boolean,\n persisted: Boolean,\n // enter\n onBeforeEnter: TransitionHookValidator,\n onEnter: TransitionHookValidator,\n onAfterEnter: TransitionHookValidator,\n onEnterCancelled: TransitionHookValidator,\n // leave\n onBeforeLeave: TransitionHookValidator,\n onLeave: TransitionHookValidator,\n onAfterLeave: TransitionHookValidator,\n onLeaveCancelled: TransitionHookValidator,\n // appear\n onBeforeAppear: TransitionHookValidator,\n onAppear: TransitionHookValidator,\n onAfterAppear: TransitionHookValidator,\n onAppearCancelled: TransitionHookValidator\n};\nconst BaseTransitionImpl = {\n name: `BaseTransition`,\n props: BaseTransitionPropsValidators,\n setup(props, { slots }) {\n const instance = getCurrentInstance();\n const state = useTransitionState();\n let prevTransitionKey;\n return () => {\n const children = slots.default && getTransitionRawChildren(slots.default(), true);\n if (!children || !children.length) {\n return;\n }\n let child = children[0];\n if (children.length > 1) {\n let hasFound = false;\n for (const c of children) {\n if (c.type !== Comment) {\n if (!!(process.env.NODE_ENV !== \"production\") && hasFound) {\n warn(\n \" can only be used on a single element or component. Use for lists.\"\n );\n break;\n }\n child = c;\n hasFound = true;\n if (!!!(process.env.NODE_ENV !== \"production\"))\n break;\n }\n }\n }\n const rawProps = toRaw(props);\n const { mode } = rawProps;\n if (!!(process.env.NODE_ENV !== \"production\") && mode && mode !== \"in-out\" && mode !== \"out-in\" && mode !== \"default\") {\n warn(`invalid mode: ${mode}`);\n }\n if (state.isLeaving) {\n return emptyPlaceholder(child);\n }\n const innerChild = getKeepAliveChild(child);\n if (!innerChild) {\n return emptyPlaceholder(child);\n }\n const enterHooks = resolveTransitionHooks(\n innerChild,\n rawProps,\n state,\n instance\n );\n setTransitionHooks(innerChild, enterHooks);\n const oldChild = instance.subTree;\n const oldInnerChild = oldChild && getKeepAliveChild(oldChild);\n let transitionKeyChanged = false;\n const { getTransitionKey } = innerChild.type;\n if (getTransitionKey) {\n const key = getTransitionKey();\n if (prevTransitionKey === void 0) {\n prevTransitionKey = key;\n } else if (key !== prevTransitionKey) {\n prevTransitionKey = key;\n transitionKeyChanged = true;\n }\n }\n if (oldInnerChild && oldInnerChild.type !== Comment && (!isSameVNodeType(innerChild, oldInnerChild) || transitionKeyChanged)) {\n const leavingHooks = resolveTransitionHooks(\n oldInnerChild,\n rawProps,\n state,\n instance\n );\n setTransitionHooks(oldInnerChild, leavingHooks);\n if (mode === \"out-in\") {\n state.isLeaving = true;\n leavingHooks.afterLeave = () => {\n state.isLeaving = false;\n if (instance.update.active !== false) {\n instance.update();\n }\n };\n return emptyPlaceholder(child);\n } else if (mode === \"in-out\" && innerChild.type !== Comment) {\n leavingHooks.delayLeave = (el, earlyRemove, delayedLeave) => {\n const leavingVNodesCache = getLeavingNodesForType(\n state,\n oldInnerChild\n );\n leavingVNodesCache[String(oldInnerChild.key)] = oldInnerChild;\n el[leaveCbKey] = () => {\n earlyRemove();\n el[leaveCbKey] = void 0;\n delete enterHooks.delayedLeave;\n };\n enterHooks.delayedLeave = delayedLeave;\n };\n }\n }\n return child;\n };\n }\n};\nconst BaseTransition = BaseTransitionImpl;\nfunction getLeavingNodesForType(state, vnode) {\n const { leavingVNodes } = state;\n let leavingVNodesCache = leavingVNodes.get(vnode.type);\n if (!leavingVNodesCache) {\n leavingVNodesCache = /* @__PURE__ */ Object.create(null);\n leavingVNodes.set(vnode.type, leavingVNodesCache);\n }\n return leavingVNodesCache;\n}\nfunction resolveTransitionHooks(vnode, props, state, instance) {\n const {\n appear,\n mode,\n persisted = false,\n onBeforeEnter,\n onEnter,\n onAfterEnter,\n onEnterCancelled,\n onBeforeLeave,\n onLeave,\n onAfterLeave,\n onLeaveCancelled,\n onBeforeAppear,\n onAppear,\n onAfterAppear,\n onAppearCancelled\n } = props;\n const key = String(vnode.key);\n const leavingVNodesCache = getLeavingNodesForType(state, vnode);\n const callHook = (hook, args) => {\n hook && callWithAsyncErrorHandling(\n hook,\n instance,\n 9,\n args\n );\n };\n const callAsyncHook = (hook, args) => {\n const done = args[1];\n callHook(hook, args);\n if (isArray(hook)) {\n if (hook.every((hook2) => hook2.length <= 1))\n done();\n } else if (hook.length <= 1) {\n done();\n }\n };\n const hooks = {\n mode,\n persisted,\n beforeEnter(el) {\n let hook = onBeforeEnter;\n if (!state.isMounted) {\n if (appear) {\n hook = onBeforeAppear || onBeforeEnter;\n } else {\n return;\n }\n }\n if (el[leaveCbKey]) {\n el[leaveCbKey](\n true\n /* cancelled */\n );\n }\n const leavingVNode = leavingVNodesCache[key];\n if (leavingVNode && isSameVNodeType(vnode, leavingVNode) && leavingVNode.el[leaveCbKey]) {\n leavingVNode.el[leaveCbKey]();\n }\n callHook(hook, [el]);\n },\n enter(el) {\n let hook = onEnter;\n let afterHook = onAfterEnter;\n let cancelHook = onEnterCancelled;\n if (!state.isMounted) {\n if (appear) {\n hook = onAppear || onEnter;\n afterHook = onAfterAppear || onAfterEnter;\n cancelHook = onAppearCancelled || onEnterCancelled;\n } else {\n return;\n }\n }\n let called = false;\n const done = el[enterCbKey] = (cancelled) => {\n if (called)\n return;\n called = true;\n if (cancelled) {\n callHook(cancelHook, [el]);\n } else {\n callHook(afterHook, [el]);\n }\n if (hooks.delayedLeave) {\n hooks.delayedLeave();\n }\n el[enterCbKey] = void 0;\n };\n if (hook) {\n callAsyncHook(hook, [el, done]);\n } else {\n done();\n }\n },\n leave(el, remove) {\n const key2 = String(vnode.key);\n if (el[enterCbKey]) {\n el[enterCbKey](\n true\n /* cancelled */\n );\n }\n if (state.isUnmounting) {\n return remove();\n }\n callHook(onBeforeLeave, [el]);\n let called = false;\n const done = el[leaveCbKey] = (cancelled) => {\n if (called)\n return;\n called = true;\n remove();\n if (cancelled) {\n callHook(onLeaveCancelled, [el]);\n } else {\n callHook(onAfterLeave, [el]);\n }\n el[leaveCbKey] = void 0;\n if (leavingVNodesCache[key2] === vnode) {\n delete leavingVNodesCache[key2];\n }\n };\n leavingVNodesCache[key2] = vnode;\n if (onLeave) {\n callAsyncHook(onLeave, [el, done]);\n } else {\n done();\n }\n },\n clone(vnode2) {\n return resolveTransitionHooks(vnode2, props, state, instance);\n }\n };\n return hooks;\n}\nfunction emptyPlaceholder(vnode) {\n if (isKeepAlive(vnode)) {\n vnode = cloneVNode(vnode);\n vnode.children = null;\n return vnode;\n }\n}\nfunction getKeepAliveChild(vnode) {\n return isKeepAlive(vnode) ? (\n // #7121 ensure get the child component subtree in case\n // it's been replaced during HMR\n !!(process.env.NODE_ENV !== \"production\") && vnode.component ? vnode.component.subTree : vnode.children ? vnode.children[0] : void 0\n ) : vnode;\n}\nfunction setTransitionHooks(vnode, hooks) {\n if (vnode.shapeFlag & 6 && vnode.component) {\n setTransitionHooks(vnode.component.subTree, hooks);\n } else if (vnode.shapeFlag & 128) {\n vnode.ssContent.transition = hooks.clone(vnode.ssContent);\n vnode.ssFallback.transition = hooks.clone(vnode.ssFallback);\n } else {\n vnode.transition = hooks;\n }\n}\nfunction getTransitionRawChildren(children, keepComment = false, parentKey) {\n let ret = [];\n let keyedFragmentCount = 0;\n for (let i = 0; i < children.length; i++) {\n let child = children[i];\n const key = parentKey == null ? child.key : String(parentKey) + String(child.key != null ? child.key : i);\n if (child.type === Fragment) {\n if (child.patchFlag & 128)\n keyedFragmentCount++;\n ret = ret.concat(\n getTransitionRawChildren(child.children, keepComment, key)\n );\n } else if (keepComment || child.type !== Comment) {\n ret.push(key != null ? cloneVNode(child, { key }) : child);\n }\n }\n if (keyedFragmentCount > 1) {\n for (let i = 0; i < ret.length; i++) {\n ret[i].patchFlag = -2;\n }\n }\n return ret;\n}\n\n/*! #__NO_SIDE_EFFECTS__ */\n// @__NO_SIDE_EFFECTS__\nfunction defineComponent(options, extraOptions) {\n return isFunction(options) ? (\n // #8326: extend call and options.name access are considered side-effects\n // by Rollup, so we have to wrap it in a pure-annotated IIFE.\n /* @__PURE__ */ (() => extend({ name: options.name }, extraOptions, { setup: options }))()\n ) : options;\n}\n\nconst isAsyncWrapper = (i) => !!i.type.__asyncLoader;\n/*! #__NO_SIDE_EFFECTS__ */\n// @__NO_SIDE_EFFECTS__\nfunction defineAsyncComponent(source) {\n if (isFunction(source)) {\n source = { loader: source };\n }\n const {\n loader,\n loadingComponent,\n errorComponent,\n delay = 200,\n timeout,\n // undefined = never times out\n suspensible = true,\n onError: userOnError\n } = source;\n let pendingRequest = null;\n let resolvedComp;\n let retries = 0;\n const retry = () => {\n retries++;\n pendingRequest = null;\n return load();\n };\n const load = () => {\n let thisRequest;\n return pendingRequest || (thisRequest = pendingRequest = loader().catch((err) => {\n err = err instanceof Error ? err : new Error(String(err));\n if (userOnError) {\n return new Promise((resolve, reject) => {\n const userRetry = () => resolve(retry());\n const userFail = () => reject(err);\n userOnError(err, userRetry, userFail, retries + 1);\n });\n } else {\n throw err;\n }\n }).then((comp) => {\n if (thisRequest !== pendingRequest && pendingRequest) {\n return pendingRequest;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && !comp) {\n warn(\n `Async component loader resolved to undefined. If you are using retry(), make sure to return its return value.`\n );\n }\n if (comp && (comp.__esModule || comp[Symbol.toStringTag] === \"Module\")) {\n comp = comp.default;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && comp && !isObject(comp) && !isFunction(comp)) {\n throw new Error(`Invalid async component load result: ${comp}`);\n }\n resolvedComp = comp;\n return comp;\n }));\n };\n return defineComponent({\n name: \"AsyncComponentWrapper\",\n __asyncLoader: load,\n get __asyncResolved() {\n return resolvedComp;\n },\n setup() {\n const instance = currentInstance;\n if (resolvedComp) {\n return () => createInnerComp(resolvedComp, instance);\n }\n const onError = (err) => {\n pendingRequest = null;\n handleError(\n err,\n instance,\n 13,\n !errorComponent\n /* do not throw in dev if user provided error component */\n );\n };\n if (suspensible && instance.suspense || isInSSRComponentSetup) {\n return load().then((comp) => {\n return () => createInnerComp(comp, instance);\n }).catch((err) => {\n onError(err);\n return () => errorComponent ? createVNode(errorComponent, {\n error: err\n }) : null;\n });\n }\n const loaded = ref(false);\n const error = ref();\n const delayed = ref(!!delay);\n if (delay) {\n setTimeout(() => {\n delayed.value = false;\n }, delay);\n }\n if (timeout != null) {\n setTimeout(() => {\n if (!loaded.value && !error.value) {\n const err = new Error(\n `Async component timed out after ${timeout}ms.`\n );\n onError(err);\n error.value = err;\n }\n }, timeout);\n }\n load().then(() => {\n loaded.value = true;\n if (instance.parent && isKeepAlive(instance.parent.vnode)) {\n queueJob(instance.parent.update);\n }\n }).catch((err) => {\n onError(err);\n error.value = err;\n });\n return () => {\n if (loaded.value && resolvedComp) {\n return createInnerComp(resolvedComp, instance);\n } else if (error.value && errorComponent) {\n return createVNode(errorComponent, {\n error: error.value\n });\n } else if (loadingComponent && !delayed.value) {\n return createVNode(loadingComponent);\n }\n };\n }\n });\n}\nfunction createInnerComp(comp, parent) {\n const { ref: ref2, props, children, ce } = parent.vnode;\n const vnode = createVNode(comp, props, children);\n vnode.ref = ref2;\n vnode.ce = ce;\n delete parent.vnode.ce;\n return vnode;\n}\n\nconst isKeepAlive = (vnode) => vnode.type.__isKeepAlive;\nconst KeepAliveImpl = {\n name: `KeepAlive`,\n // Marker for special handling inside the renderer. We are not using a ===\n // check directly on KeepAlive in the renderer, because importing it directly\n // would prevent it from being tree-shaken.\n __isKeepAlive: true,\n props: {\n include: [String, RegExp, Array],\n exclude: [String, RegExp, Array],\n max: [String, Number]\n },\n setup(props, { slots }) {\n const instance = getCurrentInstance();\n const sharedContext = instance.ctx;\n if (!sharedContext.renderer) {\n return () => {\n const children = slots.default && slots.default();\n return children && children.length === 1 ? children[0] : children;\n };\n }\n const cache = /* @__PURE__ */ new Map();\n const keys = /* @__PURE__ */ new Set();\n let current = null;\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n instance.__v_cache = cache;\n }\n const parentSuspense = instance.suspense;\n const {\n renderer: {\n p: patch,\n m: move,\n um: _unmount,\n o: { createElement }\n }\n } = sharedContext;\n const storageContainer = createElement(\"div\");\n sharedContext.activate = (vnode, container, anchor, isSVG, optimized) => {\n const instance2 = vnode.component;\n move(vnode, container, anchor, 0, parentSuspense);\n patch(\n instance2.vnode,\n vnode,\n container,\n anchor,\n instance2,\n parentSuspense,\n isSVG,\n vnode.slotScopeIds,\n optimized\n );\n queuePostRenderEffect(() => {\n instance2.isDeactivated = false;\n if (instance2.a) {\n invokeArrayFns(instance2.a);\n }\n const vnodeHook = vnode.props && vnode.props.onVnodeMounted;\n if (vnodeHook) {\n invokeVNodeHook(vnodeHook, instance2.parent, vnode);\n }\n }, parentSuspense);\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n devtoolsComponentAdded(instance2);\n }\n };\n sharedContext.deactivate = (vnode) => {\n const instance2 = vnode.component;\n move(vnode, storageContainer, null, 1, parentSuspense);\n queuePostRenderEffect(() => {\n if (instance2.da) {\n invokeArrayFns(instance2.da);\n }\n const vnodeHook = vnode.props && vnode.props.onVnodeUnmounted;\n if (vnodeHook) {\n invokeVNodeHook(vnodeHook, instance2.parent, vnode);\n }\n instance2.isDeactivated = true;\n }, parentSuspense);\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n devtoolsComponentAdded(instance2);\n }\n };\n function unmount(vnode) {\n resetShapeFlag(vnode);\n _unmount(vnode, instance, parentSuspense, true);\n }\n function pruneCache(filter) {\n cache.forEach((vnode, key) => {\n const name = getComponentName(vnode.type);\n if (name && (!filter || !filter(name))) {\n pruneCacheEntry(key);\n }\n });\n }\n function pruneCacheEntry(key) {\n const cached = cache.get(key);\n if (!current || !isSameVNodeType(cached, current)) {\n unmount(cached);\n } else if (current) {\n resetShapeFlag(current);\n }\n cache.delete(key);\n keys.delete(key);\n }\n watch(\n () => [props.include, props.exclude],\n ([include, exclude]) => {\n include && pruneCache((name) => matches(include, name));\n exclude && pruneCache((name) => !matches(exclude, name));\n },\n // prune post-render after `current` has been updated\n { flush: \"post\", deep: true }\n );\n let pendingCacheKey = null;\n const cacheSubtree = () => {\n if (pendingCacheKey != null) {\n cache.set(pendingCacheKey, getInnerChild(instance.subTree));\n }\n };\n onMounted(cacheSubtree);\n onUpdated(cacheSubtree);\n onBeforeUnmount(() => {\n cache.forEach((cached) => {\n const { subTree, suspense } = instance;\n const vnode = getInnerChild(subTree);\n if (cached.type === vnode.type && cached.key === vnode.key) {\n resetShapeFlag(vnode);\n const da = vnode.component.da;\n da && queuePostRenderEffect(da, suspense);\n return;\n }\n unmount(cached);\n });\n });\n return () => {\n pendingCacheKey = null;\n if (!slots.default) {\n return null;\n }\n const children = slots.default();\n const rawVNode = children[0];\n if (children.length > 1) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(`KeepAlive should contain exactly one component child.`);\n }\n current = null;\n return children;\n } else if (!isVNode(rawVNode) || !(rawVNode.shapeFlag & 4) && !(rawVNode.shapeFlag & 128)) {\n current = null;\n return rawVNode;\n }\n let vnode = getInnerChild(rawVNode);\n const comp = vnode.type;\n const name = getComponentName(\n isAsyncWrapper(vnode) ? vnode.type.__asyncResolved || {} : comp\n );\n const { include, exclude, max } = props;\n if (include && (!name || !matches(include, name)) || exclude && name && matches(exclude, name)) {\n current = vnode;\n return rawVNode;\n }\n const key = vnode.key == null ? comp : vnode.key;\n const cachedVNode = cache.get(key);\n if (vnode.el) {\n vnode = cloneVNode(vnode);\n if (rawVNode.shapeFlag & 128) {\n rawVNode.ssContent = vnode;\n }\n }\n pendingCacheKey = key;\n if (cachedVNode) {\n vnode.el = cachedVNode.el;\n vnode.component = cachedVNode.component;\n if (vnode.transition) {\n setTransitionHooks(vnode, vnode.transition);\n }\n vnode.shapeFlag |= 512;\n keys.delete(key);\n keys.add(key);\n } else {\n keys.add(key);\n if (max && keys.size > parseInt(max, 10)) {\n pruneCacheEntry(keys.values().next().value);\n }\n }\n vnode.shapeFlag |= 256;\n current = vnode;\n return isSuspense(rawVNode.type) ? rawVNode : vnode;\n };\n }\n};\nconst KeepAlive = KeepAliveImpl;\nfunction matches(pattern, name) {\n if (isArray(pattern)) {\n return pattern.some((p) => matches(p, name));\n } else if (isString(pattern)) {\n return pattern.split(\",\").includes(name);\n } else if (isRegExp(pattern)) {\n return pattern.test(name);\n }\n return false;\n}\nfunction onActivated(hook, target) {\n registerKeepAliveHook(hook, \"a\", target);\n}\nfunction onDeactivated(hook, target) {\n registerKeepAliveHook(hook, \"da\", target);\n}\nfunction registerKeepAliveHook(hook, type, target = currentInstance) {\n const wrappedHook = hook.__wdc || (hook.__wdc = () => {\n let current = target;\n while (current) {\n if (current.isDeactivated) {\n return;\n }\n current = current.parent;\n }\n return hook();\n });\n injectHook(type, wrappedHook, target);\n if (target) {\n let current = target.parent;\n while (current && current.parent) {\n if (isKeepAlive(current.parent.vnode)) {\n injectToKeepAliveRoot(wrappedHook, type, target, current);\n }\n current = current.parent;\n }\n }\n}\nfunction injectToKeepAliveRoot(hook, type, target, keepAliveRoot) {\n const injected = injectHook(\n type,\n hook,\n keepAliveRoot,\n true\n /* prepend */\n );\n onUnmounted(() => {\n remove(keepAliveRoot[type], injected);\n }, target);\n}\nfunction resetShapeFlag(vnode) {\n vnode.shapeFlag &= ~256;\n vnode.shapeFlag &= ~512;\n}\nfunction getInnerChild(vnode) {\n return vnode.shapeFlag & 128 ? vnode.ssContent : vnode;\n}\n\nfunction injectHook(type, hook, target = currentInstance, prepend = false) {\n if (target) {\n const hooks = target[type] || (target[type] = []);\n const wrappedHook = hook.__weh || (hook.__weh = (...args) => {\n if (target.isUnmounted) {\n return;\n }\n pauseTracking();\n setCurrentInstance(target);\n const res = callWithAsyncErrorHandling(hook, target, type, args);\n unsetCurrentInstance();\n resetTracking();\n return res;\n });\n if (prepend) {\n hooks.unshift(wrappedHook);\n } else {\n hooks.push(wrappedHook);\n }\n return wrappedHook;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n const apiName = toHandlerKey(ErrorTypeStrings[type].replace(/ hook$/, \"\"));\n warn(\n `${apiName} is called when there is no active component instance to be associated with. Lifecycle injection APIs can only be used during execution of setup().` + (` If you are using async setup(), make sure to register lifecycle hooks before the first await statement.` )\n );\n }\n}\nconst createHook = (lifecycle) => (hook, target = currentInstance) => (\n // post-create lifecycle registrations are noops during SSR (except for serverPrefetch)\n (!isInSSRComponentSetup || lifecycle === \"sp\") && injectHook(lifecycle, (...args) => hook(...args), target)\n);\nconst onBeforeMount = createHook(\"bm\");\nconst onMounted = createHook(\"m\");\nconst onBeforeUpdate = createHook(\"bu\");\nconst onUpdated = createHook(\"u\");\nconst onBeforeUnmount = createHook(\"bum\");\nconst onUnmounted = createHook(\"um\");\nconst onServerPrefetch = createHook(\"sp\");\nconst onRenderTriggered = createHook(\n \"rtg\"\n);\nconst onRenderTracked = createHook(\n \"rtc\"\n);\nfunction onErrorCaptured(hook, target = currentInstance) {\n injectHook(\"ec\", hook, target);\n}\n\nfunction renderList(source, renderItem, cache, index) {\n let ret;\n const cached = cache && cache[index];\n if (isArray(source) || isString(source)) {\n ret = new Array(source.length);\n for (let i = 0, l = source.length; i < l; i++) {\n ret[i] = renderItem(source[i], i, void 0, cached && cached[i]);\n }\n } else if (typeof source === \"number\") {\n if (!!(process.env.NODE_ENV !== \"production\") && !Number.isInteger(source)) {\n warn(`The v-for range expect an integer value but got ${source}.`);\n }\n ret = new Array(source);\n for (let i = 0; i < source; i++) {\n ret[i] = renderItem(i + 1, i, void 0, cached && cached[i]);\n }\n } else if (isObject(source)) {\n if (source[Symbol.iterator]) {\n ret = Array.from(\n source,\n (item, i) => renderItem(item, i, void 0, cached && cached[i])\n );\n } else {\n const keys = Object.keys(source);\n ret = new Array(keys.length);\n for (let i = 0, l = keys.length; i < l; i++) {\n const key = keys[i];\n ret[i] = renderItem(source[key], key, i, cached && cached[i]);\n }\n }\n } else {\n ret = [];\n }\n if (cache) {\n cache[index] = ret;\n }\n return ret;\n}\n\nfunction createSlots(slots, dynamicSlots) {\n for (let i = 0; i < dynamicSlots.length; i++) {\n const slot = dynamicSlots[i];\n if (isArray(slot)) {\n for (let j = 0; j < slot.length; j++) {\n slots[slot[j].name] = slot[j].fn;\n }\n } else if (slot) {\n slots[slot.name] = slot.key ? (...args) => {\n const res = slot.fn(...args);\n if (res)\n res.key = slot.key;\n return res;\n } : slot.fn;\n }\n }\n return slots;\n}\n\nfunction renderSlot(slots, name, props = {}, fallback, noSlotted) {\n if (currentRenderingInstance.isCE || currentRenderingInstance.parent && isAsyncWrapper(currentRenderingInstance.parent) && currentRenderingInstance.parent.isCE) {\n if (name !== \"default\")\n props.name = name;\n return createVNode(\"slot\", props, fallback && fallback());\n }\n let slot = slots[name];\n if (!!(process.env.NODE_ENV !== \"production\") && slot && slot.length > 1) {\n warn(\n `SSR-optimized slot function detected in a non-SSR-optimized render function. You need to mark this component with $dynamic-slots in the parent template.`\n );\n slot = () => [];\n }\n if (slot && slot._c) {\n slot._d = false;\n }\n openBlock();\n const validSlotContent = slot && ensureValidVNode(slot(props));\n const rendered = createBlock(\n Fragment,\n {\n key: props.key || // slot content array of a dynamic conditional slot may have a branch\n // key attached in the `createSlots` helper, respect that\n validSlotContent && validSlotContent.key || `_${name}`\n },\n validSlotContent || (fallback ? fallback() : []),\n validSlotContent && slots._ === 1 ? 64 : -2\n );\n if (!noSlotted && rendered.scopeId) {\n rendered.slotScopeIds = [rendered.scopeId + \"-s\"];\n }\n if (slot && slot._c) {\n slot._d = true;\n }\n return rendered;\n}\nfunction ensureValidVNode(vnodes) {\n return vnodes.some((child) => {\n if (!isVNode(child))\n return true;\n if (child.type === Comment)\n return false;\n if (child.type === Fragment && !ensureValidVNode(child.children))\n return false;\n return true;\n }) ? vnodes : null;\n}\n\nfunction toHandlers(obj, preserveCaseIfNecessary) {\n const ret = {};\n if (!!(process.env.NODE_ENV !== \"production\") && !isObject(obj)) {\n warn(`v-on with no argument expects an object value.`);\n return ret;\n }\n for (const key in obj) {\n ret[preserveCaseIfNecessary && /[A-Z]/.test(key) ? `on:${key}` : toHandlerKey(key)] = obj[key];\n }\n return ret;\n}\n\nconst getPublicInstance = (i) => {\n if (!i)\n return null;\n if (isStatefulComponent(i))\n return getExposeProxy(i) || i.proxy;\n return getPublicInstance(i.parent);\n};\nconst publicPropertiesMap = (\n // Move PURE marker to new line to workaround compiler discarding it\n // due to type annotation\n /* @__PURE__ */ extend(/* @__PURE__ */ Object.create(null), {\n $: (i) => i,\n $el: (i) => i.vnode.el,\n $data: (i) => i.data,\n $props: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.props) : i.props,\n $attrs: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.attrs) : i.attrs,\n $slots: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.slots) : i.slots,\n $refs: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.refs) : i.refs,\n $parent: (i) => getPublicInstance(i.parent),\n $root: (i) => getPublicInstance(i.root),\n $emit: (i) => i.emit,\n $options: (i) => __VUE_OPTIONS_API__ ? resolveMergedOptions(i) : i.type,\n $forceUpdate: (i) => i.f || (i.f = () => queueJob(i.update)),\n $nextTick: (i) => i.n || (i.n = nextTick.bind(i.proxy)),\n $watch: (i) => __VUE_OPTIONS_API__ ? instanceWatch.bind(i) : NOOP\n })\n);\nconst isReservedPrefix = (key) => key === \"_\" || key === \"$\";\nconst hasSetupBinding = (state, key) => state !== EMPTY_OBJ && !state.__isScriptSetup && hasOwn(state, key);\nconst PublicInstanceProxyHandlers = {\n get({ _: instance }, key) {\n const { ctx, setupState, data, props, accessCache, type, appContext } = instance;\n if (!!(process.env.NODE_ENV !== \"production\") && key === \"__isVue\") {\n return true;\n }\n let normalizedProps;\n if (key[0] !== \"$\") {\n const n = accessCache[key];\n if (n !== void 0) {\n switch (n) {\n case 1 /* SETUP */:\n return setupState[key];\n case 2 /* DATA */:\n return data[key];\n case 4 /* CONTEXT */:\n return ctx[key];\n case 3 /* PROPS */:\n return props[key];\n }\n } else if (hasSetupBinding(setupState, key)) {\n accessCache[key] = 1 /* SETUP */;\n return setupState[key];\n } else if (data !== EMPTY_OBJ && hasOwn(data, key)) {\n accessCache[key] = 2 /* DATA */;\n return data[key];\n } else if (\n // only cache other properties when instance has declared (thus stable)\n // props\n (normalizedProps = instance.propsOptions[0]) && hasOwn(normalizedProps, key)\n ) {\n accessCache[key] = 3 /* PROPS */;\n return props[key];\n } else if (ctx !== EMPTY_OBJ && hasOwn(ctx, key)) {\n accessCache[key] = 4 /* CONTEXT */;\n return ctx[key];\n } else if (!__VUE_OPTIONS_API__ || shouldCacheAccess) {\n accessCache[key] = 0 /* OTHER */;\n }\n }\n const publicGetter = publicPropertiesMap[key];\n let cssModule, globalProperties;\n if (publicGetter) {\n if (key === \"$attrs\") {\n track(instance, \"get\", key);\n !!(process.env.NODE_ENV !== \"production\") && markAttrsAccessed();\n } else if (!!(process.env.NODE_ENV !== \"production\") && key === \"$slots\") {\n track(instance, \"get\", key);\n }\n return publicGetter(instance);\n } else if (\n // css module (injected by vue-loader)\n (cssModule = type.__cssModules) && (cssModule = cssModule[key])\n ) {\n return cssModule;\n } else if (ctx !== EMPTY_OBJ && hasOwn(ctx, key)) {\n accessCache[key] = 4 /* CONTEXT */;\n return ctx[key];\n } else if (\n // global properties\n globalProperties = appContext.config.globalProperties, hasOwn(globalProperties, key)\n ) {\n {\n return globalProperties[key];\n }\n } else if (!!(process.env.NODE_ENV !== \"production\") && currentRenderingInstance && (!isString(key) || // #1091 avoid internal isRef/isVNode checks on component instance leading\n // to infinite warning loop\n key.indexOf(\"__v\") !== 0)) {\n if (data !== EMPTY_OBJ && isReservedPrefix(key[0]) && hasOwn(data, key)) {\n warn(\n `Property ${JSON.stringify(\n key\n )} must be accessed via $data because it starts with a reserved character (\"$\" or \"_\") and is not proxied on the render context.`\n );\n } else if (instance === currentRenderingInstance) {\n warn(\n `Property ${JSON.stringify(key)} was accessed during render but is not defined on instance.`\n );\n }\n }\n },\n set({ _: instance }, key, value) {\n const { data, setupState, ctx } = instance;\n if (hasSetupBinding(setupState, key)) {\n setupState[key] = value;\n return true;\n } else if (!!(process.env.NODE_ENV !== \"production\") && setupState.__isScriptSetup && hasOwn(setupState, key)) {\n warn(`Cannot mutate \n\n\n\n\n","\n\n\n","\n\n\n\n\n","(function(root, factory) {\n if (typeof module === 'object' && module.exports) {\n module.exports = factory();\n } else {\n root.nearley = factory();\n }\n}(this, function() {\n\n function Rule(name, symbols, postprocess) {\n this.id = ++Rule.highestId;\n this.name = name;\n this.symbols = symbols; // a list of literal | regex class | nonterminal\n this.postprocess = postprocess;\n return this;\n }\n Rule.highestId = 0;\n\n Rule.prototype.toString = function(withCursorAt) {\n var symbolSequence = (typeof withCursorAt === \"undefined\")\n ? this.symbols.map(getSymbolShortDisplay).join(' ')\n : ( this.symbols.slice(0, withCursorAt).map(getSymbolShortDisplay).join(' ')\n + \" ● \"\n + this.symbols.slice(withCursorAt).map(getSymbolShortDisplay).join(' ') );\n return this.name + \" → \" + symbolSequence;\n }\n\n\n // a State is a rule at a position from a given starting point in the input stream (reference)\n function State(rule, dot, reference, wantedBy) {\n this.rule = rule;\n this.dot = dot;\n this.reference = reference;\n this.data = [];\n this.wantedBy = wantedBy;\n this.isComplete = this.dot === rule.symbols.length;\n }\n\n State.prototype.toString = function() {\n return \"{\" + this.rule.toString(this.dot) + \"}, from: \" + (this.reference || 0);\n };\n\n State.prototype.nextState = function(child) {\n var state = new State(this.rule, this.dot + 1, this.reference, this.wantedBy);\n state.left = this;\n state.right = child;\n if (state.isComplete) {\n state.data = state.build();\n // Having right set here will prevent the right state and its children\n // form being garbage collected\n state.right = undefined;\n }\n return state;\n };\n\n State.prototype.build = function() {\n var children = [];\n var node = this;\n do {\n children.push(node.right.data);\n node = node.left;\n } while (node.left);\n children.reverse();\n return children;\n };\n\n State.prototype.finish = function() {\n if (this.rule.postprocess) {\n this.data = this.rule.postprocess(this.data, this.reference, Parser.fail);\n }\n };\n\n\n function Column(grammar, index) {\n this.grammar = grammar;\n this.index = index;\n this.states = [];\n this.wants = {}; // states indexed by the non-terminal they expect\n this.scannable = []; // list of states that expect a token\n this.completed = {}; // states that are nullable\n }\n\n\n Column.prototype.process = function(nextColumn) {\n var states = this.states;\n var wants = this.wants;\n var completed = this.completed;\n\n for (var w = 0; w < states.length; w++) { // nb. we push() during iteration\n var state = states[w];\n\n if (state.isComplete) {\n state.finish();\n if (state.data !== Parser.fail) {\n // complete\n var wantedBy = state.wantedBy;\n for (var i = wantedBy.length; i--; ) { // this line is hot\n var left = wantedBy[i];\n this.complete(left, state);\n }\n\n // special-case nullables\n if (state.reference === this.index) {\n // make sure future predictors of this rule get completed.\n var exp = state.rule.name;\n (this.completed[exp] = this.completed[exp] || []).push(state);\n }\n }\n\n } else {\n // queue scannable states\n var exp = state.rule.symbols[state.dot];\n if (typeof exp !== 'string') {\n this.scannable.push(state);\n continue;\n }\n\n // predict\n if (wants[exp]) {\n wants[exp].push(state);\n\n if (completed.hasOwnProperty(exp)) {\n var nulls = completed[exp];\n for (var i = 0; i < nulls.length; i++) {\n var right = nulls[i];\n this.complete(state, right);\n }\n }\n } else {\n wants[exp] = [state];\n this.predict(exp);\n }\n }\n }\n }\n\n Column.prototype.predict = function(exp) {\n var rules = this.grammar.byName[exp] || [];\n\n for (var i = 0; i < rules.length; i++) {\n var r = rules[i];\n var wantedBy = this.wants[exp];\n var s = new State(r, 0, this.index, wantedBy);\n this.states.push(s);\n }\n }\n\n Column.prototype.complete = function(left, right) {\n var copy = left.nextState(right);\n this.states.push(copy);\n }\n\n\n function Grammar(rules, start) {\n this.rules = rules;\n this.start = start || this.rules[0].name;\n var byName = this.byName = {};\n this.rules.forEach(function(rule) {\n if (!byName.hasOwnProperty(rule.name)) {\n byName[rule.name] = [];\n }\n byName[rule.name].push(rule);\n });\n }\n\n // So we can allow passing (rules, start) directly to Parser for backwards compatibility\n Grammar.fromCompiled = function(rules, start) {\n var lexer = rules.Lexer;\n if (rules.ParserStart) {\n start = rules.ParserStart;\n rules = rules.ParserRules;\n }\n var rules = rules.map(function (r) { return (new Rule(r.name, r.symbols, r.postprocess)); });\n var g = new Grammar(rules, start);\n g.lexer = lexer; // nb. storing lexer on Grammar is iffy, but unavoidable\n return g;\n }\n\n\n function StreamLexer() {\n this.reset(\"\");\n }\n\n StreamLexer.prototype.reset = function(data, state) {\n this.buffer = data;\n this.index = 0;\n this.line = state ? state.line : 1;\n this.lastLineBreak = state ? -state.col : 0;\n }\n\n StreamLexer.prototype.next = function() {\n if (this.index < this.buffer.length) {\n var ch = this.buffer[this.index++];\n if (ch === '\\n') {\n this.line += 1;\n this.lastLineBreak = this.index;\n }\n return {value: ch};\n }\n }\n\n StreamLexer.prototype.save = function() {\n return {\n line: this.line,\n col: this.index - this.lastLineBreak,\n }\n }\n\n StreamLexer.prototype.formatError = function(token, message) {\n // nb. this gets called after consuming the offending token,\n // so the culprit is index-1\n var buffer = this.buffer;\n if (typeof buffer === 'string') {\n var lines = buffer\n .split(\"\\n\")\n .slice(\n Math.max(0, this.line - 5), \n this.line\n );\n\n var nextLineBreak = buffer.indexOf('\\n', this.index);\n if (nextLineBreak === -1) nextLineBreak = buffer.length;\n var col = this.index - this.lastLineBreak;\n var lastLineDigits = String(this.line).length;\n message += \" at line \" + this.line + \" col \" + col + \":\\n\\n\";\n message += lines\n .map(function(line, i) {\n return pad(this.line - lines.length + i + 1, lastLineDigits) + \" \" + line;\n }, this)\n .join(\"\\n\");\n message += \"\\n\" + pad(\"\", lastLineDigits + col) + \"^\\n\";\n return message;\n } else {\n return message + \" at index \" + (this.index - 1);\n }\n\n function pad(n, length) {\n var s = String(n);\n return Array(length - s.length + 1).join(\" \") + s;\n }\n }\n\n function Parser(rules, start, options) {\n if (rules instanceof Grammar) {\n var grammar = rules;\n var options = start;\n } else {\n var grammar = Grammar.fromCompiled(rules, start);\n }\n this.grammar = grammar;\n\n // Read options\n this.options = {\n keepHistory: false,\n lexer: grammar.lexer || new StreamLexer,\n };\n for (var key in (options || {})) {\n this.options[key] = options[key];\n }\n\n // Setup lexer\n this.lexer = this.options.lexer;\n this.lexerState = undefined;\n\n // Setup a table\n var column = new Column(grammar, 0);\n var table = this.table = [column];\n\n // I could be expecting anything.\n column.wants[grammar.start] = [];\n column.predict(grammar.start);\n // TODO what if start rule is nullable?\n column.process();\n this.current = 0; // token index\n }\n\n // create a reserved token for indicating a parse fail\n Parser.fail = {};\n\n Parser.prototype.feed = function(chunk) {\n var lexer = this.lexer;\n lexer.reset(chunk, this.lexerState);\n\n var token;\n while (true) {\n try {\n token = lexer.next();\n if (!token) {\n break;\n }\n } catch (e) {\n // Create the next column so that the error reporter\n // can display the correctly predicted states.\n var nextColumn = new Column(this.grammar, this.current + 1);\n this.table.push(nextColumn);\n var err = new Error(this.reportLexerError(e));\n err.offset = this.current;\n err.token = e.token;\n throw err;\n }\n // We add new states to table[current+1]\n var column = this.table[this.current];\n\n // GC unused states\n if (!this.options.keepHistory) {\n delete this.table[this.current - 1];\n }\n\n var n = this.current + 1;\n var nextColumn = new Column(this.grammar, n);\n this.table.push(nextColumn);\n\n // Advance all tokens that expect the symbol\n var literal = token.text !== undefined ? token.text : token.value;\n var value = lexer.constructor === StreamLexer ? token.value : token;\n var scannable = column.scannable;\n for (var w = scannable.length; w--; ) {\n var state = scannable[w];\n var expect = state.rule.symbols[state.dot];\n // Try to consume the token\n // either regex or literal\n if (expect.test ? expect.test(value) :\n expect.type ? expect.type === token.type\n : expect.literal === literal) {\n // Add it\n var next = state.nextState({data: value, token: token, isToken: true, reference: n - 1});\n nextColumn.states.push(next);\n }\n }\n\n // Next, for each of the rules, we either\n // (a) complete it, and try to see if the reference row expected that\n // rule\n // (b) predict the next nonterminal it expects by adding that\n // nonterminal's start state\n // To prevent duplication, we also keep track of rules we have already\n // added\n\n nextColumn.process();\n\n // If needed, throw an error:\n if (nextColumn.states.length === 0) {\n // No states at all! This is not good.\n var err = new Error(this.reportError(token));\n err.offset = this.current;\n err.token = token;\n throw err;\n }\n\n // maybe save lexer state\n if (this.options.keepHistory) {\n column.lexerState = lexer.save()\n }\n\n this.current++;\n }\n if (column) {\n this.lexerState = lexer.save()\n }\n\n // Incrementally keep track of results\n this.results = this.finish();\n\n // Allow chaining, for whatever it's worth\n return this;\n };\n\n Parser.prototype.reportLexerError = function(lexerError) {\n var tokenDisplay, lexerMessage;\n // Planning to add a token property to moo's thrown error\n // even on erroring tokens to be used in error display below\n var token = lexerError.token;\n if (token) {\n tokenDisplay = \"input \" + JSON.stringify(token.text[0]) + \" (lexer error)\";\n lexerMessage = this.lexer.formatError(token, \"Syntax error\");\n } else {\n tokenDisplay = \"input (lexer error)\";\n lexerMessage = lexerError.message;\n }\n return this.reportErrorCommon(lexerMessage, tokenDisplay);\n };\n\n Parser.prototype.reportError = function(token) {\n var tokenDisplay = (token.type ? token.type + \" token: \" : \"\") + JSON.stringify(token.value !== undefined ? token.value : token);\n var lexerMessage = this.lexer.formatError(token, \"Syntax error\");\n return this.reportErrorCommon(lexerMessage, tokenDisplay);\n };\n\n Parser.prototype.reportErrorCommon = function(lexerMessage, tokenDisplay) {\n var lines = [];\n lines.push(lexerMessage);\n var lastColumnIndex = this.table.length - 2;\n var lastColumn = this.table[lastColumnIndex];\n var expectantStates = lastColumn.states\n .filter(function(state) {\n var nextSymbol = state.rule.symbols[state.dot];\n return nextSymbol && typeof nextSymbol !== \"string\";\n });\n\n if (expectantStates.length === 0) {\n lines.push('Unexpected ' + tokenDisplay + '. I did not expect any more input. Here is the state of my parse table:\\n');\n this.displayStateStack(lastColumn.states, lines);\n } else {\n lines.push('Unexpected ' + tokenDisplay + '. Instead, I was expecting to see one of the following:\\n');\n // Display a \"state stack\" for each expectant state\n // - which shows you how this state came to be, step by step.\n // If there is more than one derivation, we only display the first one.\n var stateStacks = expectantStates\n .map(function(state) {\n return this.buildFirstStateStack(state, []) || [state];\n }, this);\n // Display each state that is expecting a terminal symbol next.\n stateStacks.forEach(function(stateStack) {\n var state = stateStack[0];\n var nextSymbol = state.rule.symbols[state.dot];\n var symbolDisplay = this.getSymbolDisplay(nextSymbol);\n lines.push('A ' + symbolDisplay + ' based on:');\n this.displayStateStack(stateStack, lines);\n }, this);\n }\n lines.push(\"\");\n return lines.join(\"\\n\");\n }\n \n Parser.prototype.displayStateStack = function(stateStack, lines) {\n var lastDisplay;\n var sameDisplayCount = 0;\n for (var j = 0; j < stateStack.length; j++) {\n var state = stateStack[j];\n var display = state.rule.toString(state.dot);\n if (display === lastDisplay) {\n sameDisplayCount++;\n } else {\n if (sameDisplayCount > 0) {\n lines.push(' ^ ' + sameDisplayCount + ' more lines identical to this');\n }\n sameDisplayCount = 0;\n lines.push(' ' + display);\n }\n lastDisplay = display;\n }\n };\n\n Parser.prototype.getSymbolDisplay = function(symbol) {\n return getSymbolLongDisplay(symbol);\n };\n\n /*\n Builds a the first state stack. You can think of a state stack as the call stack\n of the recursive-descent parser which the Nearley parse algorithm simulates.\n A state stack is represented as an array of state objects. Within a\n state stack, the first item of the array will be the starting\n state, with each successive item in the array going further back into history.\n\n This function needs to be given a starting state and an empty array representing\n the visited states, and it returns an single state stack.\n\n */\n Parser.prototype.buildFirstStateStack = function(state, visited) {\n if (visited.indexOf(state) !== -1) {\n // Found cycle, return null\n // to eliminate this path from the results, because\n // we don't know how to display it meaningfully\n return null;\n }\n if (state.wantedBy.length === 0) {\n return [state];\n }\n var prevState = state.wantedBy[0];\n var childVisited = [state].concat(visited);\n var childResult = this.buildFirstStateStack(prevState, childVisited);\n if (childResult === null) {\n return null;\n }\n return [state].concat(childResult);\n };\n\n Parser.prototype.save = function() {\n var column = this.table[this.current];\n column.lexerState = this.lexerState;\n return column;\n };\n\n Parser.prototype.restore = function(column) {\n var index = column.index;\n this.current = index;\n this.table[index] = column;\n this.table.splice(index + 1);\n this.lexerState = column.lexerState;\n\n // Incrementally keep track of results\n this.results = this.finish();\n };\n\n // nb. deprecated: use save/restore instead!\n Parser.prototype.rewind = function(index) {\n if (!this.options.keepHistory) {\n throw new Error('set option `keepHistory` to enable rewinding')\n }\n // nb. recall column (table) indicies fall between token indicies.\n // col 0 -- token 0 -- col 1\n this.restore(this.table[index]);\n };\n\n Parser.prototype.finish = function() {\n // Return the possible parsings\n var considerations = [];\n var start = this.grammar.start;\n var column = this.table[this.table.length - 1]\n column.states.forEach(function (t) {\n if (t.rule.name === start\n && t.dot === t.rule.symbols.length\n && t.reference === 0\n && t.data !== Parser.fail) {\n considerations.push(t);\n }\n });\n return considerations.map(function(c) {return c.data; });\n };\n\n function getSymbolLongDisplay(symbol) {\n var type = typeof symbol;\n if (type === \"string\") {\n return symbol;\n } else if (type === \"object\") {\n if (symbol.literal) {\n return JSON.stringify(symbol.literal);\n } else if (symbol instanceof RegExp) {\n return 'character matching ' + symbol;\n } else if (symbol.type) {\n return symbol.type + ' token';\n } else if (symbol.test) {\n return 'token matching ' + String(symbol.test);\n } else {\n throw new Error('Unknown symbol type: ' + symbol);\n }\n }\n }\n\n function getSymbolShortDisplay(symbol) {\n var type = typeof symbol;\n if (type === \"string\") {\n return symbol;\n } else if (type === \"object\") {\n if (symbol.literal) {\n return JSON.stringify(symbol.literal);\n } else if (symbol instanceof RegExp) {\n return symbol.toString();\n } else if (symbol.type) {\n return '%' + symbol.type;\n } else if (symbol.test) {\n return '<' + String(symbol.test) + '>';\n } else {\n throw new Error('Unknown symbol type: ' + symbol);\n }\n }\n }\n\n return {\n Parser: Parser,\n Grammar: Grammar,\n Rule: Rule,\n };\n\n}));\n","var __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\n\n// src/allDialects.ts\nvar allDialects_exports = {};\n__export(allDialects_exports, {\n bigquery: () => bigquery,\n db2: () => db2,\n db2i: () => db2i,\n hive: () => hive,\n mariadb: () => mariadb,\n mysql: () => mysql,\n n1ql: () => n1ql,\n plsql: () => plsql,\n postgresql: () => postgresql,\n redshift: () => redshift,\n singlestoredb: () => singlestoredb,\n snowflake: () => snowflake,\n spark: () => spark,\n sql: () => sql,\n sqlite: () => sqlite,\n transactsql: () => transactsql,\n trino: () => trino\n});\n\n// src/expandPhrases.ts\nvar expandPhrases = (phrases) => phrases.flatMap(expandSinglePhrase);\nvar expandSinglePhrase = (phrase) => buildCombinations(parsePhrase(phrase)).map(stripExtraWhitespace);\nvar stripExtraWhitespace = (text) => text.replace(/ +/g, \" \").trim();\nvar parsePhrase = (text) => ({\n type: \"mandatory_block\",\n items: parseAlteration(text, 0)[0]\n});\nvar parseAlteration = (text, index, expectClosing) => {\n const alterations = [];\n while (text[index]) {\n const [term, newIndex] = parseConcatenation(text, index);\n alterations.push(term);\n index = newIndex;\n if (text[index] === \"|\") {\n index++;\n } else if (text[index] === \"}\" || text[index] === \"]\") {\n if (expectClosing !== text[index]) {\n throw new Error(`Unbalanced parenthesis in: ${text}`);\n }\n index++;\n return [alterations, index];\n } else if (index === text.length) {\n if (expectClosing) {\n throw new Error(`Unbalanced parenthesis in: ${text}`);\n }\n return [alterations, index];\n } else {\n throw new Error(`Unexpected \"${text[index]}\"`);\n }\n }\n return [alterations, index];\n};\nvar parseConcatenation = (text, index) => {\n const items = [];\n while (true) {\n const [term, newIndex] = parseTerm(text, index);\n if (term) {\n items.push(term);\n index = newIndex;\n } else {\n break;\n }\n }\n return items.length === 1 ? [items[0], index] : [{ type: \"concatenation\", items }, index];\n};\nvar parseTerm = (text, index) => {\n if (text[index] === \"{\") {\n return parseMandatoryBlock(text, index + 1);\n } else if (text[index] === \"[\") {\n return parseOptionalBlock(text, index + 1);\n } else {\n let word = \"\";\n while (text[index] && /[A-Za-z0-9_ ]/.test(text[index])) {\n word += text[index];\n index++;\n }\n return [word, index];\n }\n};\nvar parseMandatoryBlock = (text, index) => {\n const [items, newIndex] = parseAlteration(text, index, \"}\");\n return [{ type: \"mandatory_block\", items }, newIndex];\n};\nvar parseOptionalBlock = (text, index) => {\n const [items, newIndex] = parseAlteration(text, index, \"]\");\n return [{ type: \"optional_block\", items }, newIndex];\n};\nvar buildCombinations = (node) => {\n if (typeof node === \"string\") {\n return [node];\n } else if (node.type === \"concatenation\") {\n return node.items.map(buildCombinations).reduce(stringCombinations, [\"\"]);\n } else if (node.type === \"mandatory_block\") {\n return node.items.flatMap(buildCombinations);\n } else if (node.type === \"optional_block\") {\n return [\"\", ...node.items.flatMap(buildCombinations)];\n } else {\n throw new Error(`Unknown node type: ${node}`);\n }\n};\nvar stringCombinations = (xs, ys) => {\n const results = [];\n for (const x of xs) {\n for (const y of ys) {\n results.push(x + y);\n }\n }\n return results;\n};\n\n// src/lexer/token.ts\nvar TokenType = /* @__PURE__ */ ((TokenType2) => {\n TokenType2[\"QUOTED_IDENTIFIER\"] = \"QUOTED_IDENTIFIER\";\n TokenType2[\"IDENTIFIER\"] = \"IDENTIFIER\";\n TokenType2[\"STRING\"] = \"STRING\";\n TokenType2[\"VARIABLE\"] = \"VARIABLE\";\n TokenType2[\"RESERVED_DATA_TYPE\"] = \"RESERVED_DATA_TYPE\";\n TokenType2[\"RESERVED_PARAMETERIZED_DATA_TYPE\"] = \"RESERVED_PARAMETERIZED_DATA_TYPE\";\n TokenType2[\"RESERVED_KEYWORD\"] = \"RESERVED_KEYWORD\";\n TokenType2[\"RESERVED_FUNCTION_NAME\"] = \"RESERVED_FUNCTION_NAME\";\n TokenType2[\"RESERVED_PHRASE\"] = \"RESERVED_PHRASE\";\n TokenType2[\"RESERVED_SET_OPERATION\"] = \"RESERVED_SET_OPERATION\";\n TokenType2[\"RESERVED_CLAUSE\"] = \"RESERVED_CLAUSE\";\n TokenType2[\"RESERVED_SELECT\"] = \"RESERVED_SELECT\";\n TokenType2[\"RESERVED_JOIN\"] = \"RESERVED_JOIN\";\n TokenType2[\"ARRAY_IDENTIFIER\"] = \"ARRAY_IDENTIFIER\";\n TokenType2[\"ARRAY_KEYWORD\"] = \"ARRAY_KEYWORD\";\n TokenType2[\"CASE\"] = \"CASE\";\n TokenType2[\"END\"] = \"END\";\n TokenType2[\"WHEN\"] = \"WHEN\";\n TokenType2[\"ELSE\"] = \"ELSE\";\n TokenType2[\"THEN\"] = \"THEN\";\n TokenType2[\"LIMIT\"] = \"LIMIT\";\n TokenType2[\"BETWEEN\"] = \"BETWEEN\";\n TokenType2[\"AND\"] = \"AND\";\n TokenType2[\"OR\"] = \"OR\";\n TokenType2[\"XOR\"] = \"XOR\";\n TokenType2[\"OPERATOR\"] = \"OPERATOR\";\n TokenType2[\"COMMA\"] = \"COMMA\";\n TokenType2[\"ASTERISK\"] = \"ASTERISK\";\n TokenType2[\"DOT\"] = \"DOT\";\n TokenType2[\"OPEN_PAREN\"] = \"OPEN_PAREN\";\n TokenType2[\"CLOSE_PAREN\"] = \"CLOSE_PAREN\";\n TokenType2[\"LINE_COMMENT\"] = \"LINE_COMMENT\";\n TokenType2[\"BLOCK_COMMENT\"] = \"BLOCK_COMMENT\";\n TokenType2[\"NUMBER\"] = \"NUMBER\";\n TokenType2[\"NAMED_PARAMETER\"] = \"NAMED_PARAMETER\";\n TokenType2[\"QUOTED_PARAMETER\"] = \"QUOTED_PARAMETER\";\n TokenType2[\"NUMBERED_PARAMETER\"] = \"NUMBERED_PARAMETER\";\n TokenType2[\"POSITIONAL_PARAMETER\"] = \"POSITIONAL_PARAMETER\";\n TokenType2[\"CUSTOM_PARAMETER\"] = \"CUSTOM_PARAMETER\";\n TokenType2[\"DELIMITER\"] = \"DELIMITER\";\n TokenType2[\"EOF\"] = \"EOF\";\n return TokenType2;\n})(TokenType || {});\nvar createEofToken = (index) => ({\n type: \"EOF\" /* EOF */,\n raw: \"\\xABEOF\\xBB\",\n text: \"\\xABEOF\\xBB\",\n start: index\n});\nvar EOF_TOKEN = createEofToken(Infinity);\nvar testToken = (compareToken) => (token) => token.type === compareToken.type && token.text === compareToken.text;\nvar isToken = {\n ARRAY: testToken({ text: \"ARRAY\", type: \"RESERVED_DATA_TYPE\" /* RESERVED_DATA_TYPE */ }),\n BY: testToken({ text: \"BY\", type: \"RESERVED_KEYWORD\" /* RESERVED_KEYWORD */ }),\n SET: testToken({ text: \"SET\", type: \"RESERVED_CLAUSE\" /* RESERVED_CLAUSE */ }),\n STRUCT: testToken({ text: \"STRUCT\", type: \"RESERVED_DATA_TYPE\" /* RESERVED_DATA_TYPE */ }),\n WINDOW: testToken({ text: \"WINDOW\", type: \"RESERVED_CLAUSE\" /* RESERVED_CLAUSE */ }),\n VALUES: testToken({ text: \"VALUES\", type: \"RESERVED_CLAUSE\" /* RESERVED_CLAUSE */ })\n};\nvar isReserved = (type) => type === \"RESERVED_DATA_TYPE\" /* RESERVED_DATA_TYPE */ || type === \"RESERVED_KEYWORD\" /* RESERVED_KEYWORD */ || type === \"RESERVED_FUNCTION_NAME\" /* RESERVED_FUNCTION_NAME */ || type === \"RESERVED_PHRASE\" /* RESERVED_PHRASE */ || type === \"RESERVED_CLAUSE\" /* RESERVED_CLAUSE */ || type === \"RESERVED_SELECT\" /* RESERVED_SELECT */ || type === \"RESERVED_SET_OPERATION\" /* RESERVED_SET_OPERATION */ || type === \"RESERVED_JOIN\" /* RESERVED_JOIN */ || type === \"ARRAY_KEYWORD\" /* ARRAY_KEYWORD */ || type === \"CASE\" /* CASE */ || type === \"END\" /* END */ || type === \"WHEN\" /* WHEN */ || type === \"ELSE\" /* ELSE */ || type === \"THEN\" /* THEN */ || type === \"LIMIT\" /* LIMIT */ || type === \"BETWEEN\" /* BETWEEN */ || type === \"AND\" /* AND */ || type === \"OR\" /* OR */ || type === \"XOR\" /* XOR */;\nvar isLogicalOperator = (type) => type === \"AND\" /* AND */ || type === \"OR\" /* OR */ || type === \"XOR\" /* XOR */;\n\n// src/languages/bigquery/bigquery.functions.ts\nvar functions = [\n // https://cloud.google.com/bigquery/docs/reference/standard-sql/aead_encryption_functions\n \"KEYS.NEW_KEYSET\",\n \"KEYS.ADD_KEY_FROM_RAW_BYTES\",\n \"AEAD.DECRYPT_BYTES\",\n \"AEAD.DECRYPT_STRING\",\n \"AEAD.ENCRYPT\",\n \"KEYS.KEYSET_CHAIN\",\n \"KEYS.KEYSET_FROM_JSON\",\n \"KEYS.KEYSET_TO_JSON\",\n \"KEYS.ROTATE_KEYSET\",\n \"KEYS.KEYSET_LENGTH\",\n // https://cloud.google.com/bigquery/docs/reference/standard-sql/aggregate_analytic_functions\n \"ANY_VALUE\",\n \"ARRAY_AGG\",\n \"AVG\",\n \"CORR\",\n \"COUNT\",\n \"COUNTIF\",\n \"COVAR_POP\",\n \"COVAR_SAMP\",\n \"MAX\",\n \"MIN\",\n \"ST_CLUSTERDBSCAN\",\n \"STDDEV_POP\",\n \"STDDEV_SAMP\",\n \"STRING_AGG\",\n \"SUM\",\n \"VAR_POP\",\n \"VAR_SAMP\",\n // https://cloud.google.com/bigquery/docs/reference/standard-sql/aggregate_functions\n \"ANY_VALUE\",\n \"ARRAY_AGG\",\n \"ARRAY_CONCAT_AGG\",\n \"AVG\",\n \"BIT_AND\",\n \"BIT_OR\",\n \"BIT_XOR\",\n \"COUNT\",\n \"COUNTIF\",\n \"LOGICAL_AND\",\n \"LOGICAL_OR\",\n \"MAX\",\n \"MIN\",\n \"STRING_AGG\",\n \"SUM\",\n // https://cloud.google.com/bigquery/docs/reference/standard-sql/approximate_aggregate_functions\n \"APPROX_COUNT_DISTINCT\",\n \"APPROX_QUANTILES\",\n \"APPROX_TOP_COUNT\",\n \"APPROX_TOP_SUM\",\n // https://cloud.google.com/bigquery/docs/reference/standard-sql/array_functions\n // 'ARRAY',\n \"ARRAY_CONCAT\",\n \"ARRAY_LENGTH\",\n \"ARRAY_TO_STRING\",\n \"GENERATE_ARRAY\",\n \"GENERATE_DATE_ARRAY\",\n \"GENERATE_TIMESTAMP_ARRAY\",\n \"ARRAY_REVERSE\",\n \"OFFSET\",\n \"SAFE_OFFSET\",\n \"ORDINAL\",\n \"SAFE_ORDINAL\",\n // https://cloud.google.com/bigquery/docs/reference/standard-sql/bit_functions\n \"BIT_COUNT\",\n // https://cloud.google.com/bigquery/docs/reference/standard-sql/conversion_functions\n // 'CASE',\n \"PARSE_BIGNUMERIC\",\n \"PARSE_NUMERIC\",\n \"SAFE_CAST\",\n // https://cloud.google.com/bigquery/docs/reference/standard-sql/date_functions\n \"CURRENT_DATE\",\n \"EXTRACT\",\n \"DATE\",\n \"DATE_ADD\",\n \"DATE_SUB\",\n \"DATE_DIFF\",\n \"DATE_TRUNC\",\n \"DATE_FROM_UNIX_DATE\",\n \"FORMAT_DATE\",\n \"LAST_DAY\",\n \"PARSE_DATE\",\n \"UNIX_DATE\",\n // https://cloud.google.com/bigquery/docs/reference/standard-sql/datetime_functions\n \"CURRENT_DATETIME\",\n \"DATETIME\",\n \"EXTRACT\",\n \"DATETIME_ADD\",\n \"DATETIME_SUB\",\n \"DATETIME_DIFF\",\n \"DATETIME_TRUNC\",\n \"FORMAT_DATETIME\",\n \"LAST_DAY\",\n \"PARSE_DATETIME\",\n // https://cloud.google.com/bigquery/docs/reference/standard-sql/debugging_functions\n \"ERROR\",\n // https://cloud.google.com/bigquery/docs/reference/standard-sql/federated_query_functions\n \"EXTERNAL_QUERY\",\n // https://cloud.google.com/bigquery/docs/reference/standard-sql/geography_functions\n \"S2_CELLIDFROMPOINT\",\n \"S2_COVERINGCELLIDS\",\n \"ST_ANGLE\",\n \"ST_AREA\",\n \"ST_ASBINARY\",\n \"ST_ASGEOJSON\",\n \"ST_ASTEXT\",\n \"ST_AZIMUTH\",\n \"ST_BOUNDARY\",\n \"ST_BOUNDINGBOX\",\n \"ST_BUFFER\",\n \"ST_BUFFERWITHTOLERANCE\",\n \"ST_CENTROID\",\n \"ST_CENTROID_AGG\",\n \"ST_CLOSESTPOINT\",\n \"ST_CLUSTERDBSCAN\",\n \"ST_CONTAINS\",\n \"ST_CONVEXHULL\",\n \"ST_COVEREDBY\",\n \"ST_COVERS\",\n \"ST_DIFFERENCE\",\n \"ST_DIMENSION\",\n \"ST_DISJOINT\",\n \"ST_DISTANCE\",\n \"ST_DUMP\",\n \"ST_DWITHIN\",\n \"ST_ENDPOINT\",\n \"ST_EQUALS\",\n \"ST_EXTENT\",\n \"ST_EXTERIORRING\",\n \"ST_GEOGFROM\",\n \"ST_GEOGFROMGEOJSON\",\n \"ST_GEOGFROMTEXT\",\n \"ST_GEOGFROMWKB\",\n \"ST_GEOGPOINT\",\n \"ST_GEOGPOINTFROMGEOHASH\",\n \"ST_GEOHASH\",\n \"ST_GEOMETRYTYPE\",\n \"ST_INTERIORRINGS\",\n \"ST_INTERSECTION\",\n \"ST_INTERSECTS\",\n \"ST_INTERSECTSBOX\",\n \"ST_ISCOLLECTION\",\n \"ST_ISEMPTY\",\n \"ST_LENGTH\",\n \"ST_MAKELINE\",\n \"ST_MAKEPOLYGON\",\n \"ST_MAKEPOLYGONORIENTED\",\n \"ST_MAXDISTANCE\",\n \"ST_NPOINTS\",\n \"ST_NUMGEOMETRIES\",\n \"ST_NUMPOINTS\",\n \"ST_PERIMETER\",\n \"ST_POINTN\",\n \"ST_SIMPLIFY\",\n \"ST_SNAPTOGRID\",\n \"ST_STARTPOINT\",\n \"ST_TOUCHES\",\n \"ST_UNION\",\n \"ST_UNION_AGG\",\n \"ST_WITHIN\",\n \"ST_X\",\n \"ST_Y\",\n // https://cloud.google.com/bigquery/docs/reference/standard-sql/hash_functions\n \"FARM_FINGERPRINT\",\n \"MD5\",\n \"SHA1\",\n \"SHA256\",\n \"SHA512\",\n // https://cloud.google.com/bigquery/docs/reference/standard-sql/hll_functions\n \"HLL_COUNT.INIT\",\n \"HLL_COUNT.MERGE\",\n \"HLL_COUNT.MERGE_PARTIAL\",\n \"HLL_COUNT.EXTRACT\",\n // https://cloud.google.com/bigquery/docs/reference/standard-sql/interval_functions\n \"MAKE_INTERVAL\",\n \"EXTRACT\",\n \"JUSTIFY_DAYS\",\n \"JUSTIFY_HOURS\",\n \"JUSTIFY_INTERVAL\",\n // https://cloud.google.com/bigquery/docs/reference/standard-sql/json_functions\n \"JSON_EXTRACT\",\n \"JSON_QUERY\",\n \"JSON_EXTRACT_SCALAR\",\n \"JSON_VALUE\",\n \"JSON_EXTRACT_ARRAY\",\n \"JSON_QUERY_ARRAY\",\n \"JSON_EXTRACT_STRING_ARRAY\",\n \"JSON_VALUE_ARRAY\",\n \"TO_JSON_STRING\",\n // https://cloud.google.com/bigquery/docs/reference/standard-sql/mathematical_functions\n \"ABS\",\n \"SIGN\",\n \"IS_INF\",\n \"IS_NAN\",\n \"IEEE_DIVIDE\",\n \"RAND\",\n \"SQRT\",\n \"POW\",\n \"POWER\",\n \"EXP\",\n \"LN\",\n \"LOG\",\n \"LOG10\",\n \"GREATEST\",\n \"LEAST\",\n \"DIV\",\n \"SAFE_DIVIDE\",\n \"SAFE_MULTIPLY\",\n \"SAFE_NEGATE\",\n \"SAFE_ADD\",\n \"SAFE_SUBTRACT\",\n \"MOD\",\n \"ROUND\",\n \"TRUNC\",\n \"CEIL\",\n \"CEILING\",\n \"FLOOR\",\n \"COS\",\n \"COSH\",\n \"ACOS\",\n \"ACOSH\",\n \"SIN\",\n \"SINH\",\n \"ASIN\",\n \"ASINH\",\n \"TAN\",\n \"TANH\",\n \"ATAN\",\n \"ATANH\",\n \"ATAN2\",\n \"RANGE_BUCKET\",\n // https://cloud.google.com/bigquery/docs/reference/standard-sql/navigation_functions\n \"FIRST_VALUE\",\n \"LAST_VALUE\",\n \"NTH_VALUE\",\n \"LEAD\",\n \"LAG\",\n \"PERCENTILE_CONT\",\n \"PERCENTILE_DISC\",\n // https://cloud.google.com/bigquery/docs/reference/standard-sql/net_functions\n \"NET.IP_FROM_STRING\",\n \"NET.SAFE_IP_FROM_STRING\",\n \"NET.IP_TO_STRING\",\n \"NET.IP_NET_MASK\",\n \"NET.IP_TRUNC\",\n \"NET.IPV4_FROM_INT64\",\n \"NET.IPV4_TO_INT64\",\n \"NET.HOST\",\n \"NET.PUBLIC_SUFFIX\",\n \"NET.REG_DOMAIN\",\n // https://cloud.google.com/bigquery/docs/reference/standard-sql/numbering_functions\n \"RANK\",\n \"DENSE_RANK\",\n \"PERCENT_RANK\",\n \"CUME_DIST\",\n \"NTILE\",\n \"ROW_NUMBER\",\n // https://cloud.google.com/bigquery/docs/reference/standard-sql/security_functions\n \"SESSION_USER\",\n // https://cloud.google.com/bigquery/docs/reference/standard-sql/statistical_aggregate_functions\n \"CORR\",\n \"COVAR_POP\",\n \"COVAR_SAMP\",\n \"STDDEV_POP\",\n \"STDDEV_SAMP\",\n \"STDDEV\",\n \"VAR_POP\",\n \"VAR_SAMP\",\n \"VARIANCE\",\n // https://cloud.google.com/bigquery/docs/reference/standard-sql/string_functions\n \"ASCII\",\n \"BYTE_LENGTH\",\n \"CHAR_LENGTH\",\n \"CHARACTER_LENGTH\",\n \"CHR\",\n \"CODE_POINTS_TO_BYTES\",\n \"CODE_POINTS_TO_STRING\",\n \"CONCAT\",\n \"CONTAINS_SUBSTR\",\n \"ENDS_WITH\",\n \"FORMAT\",\n \"FROM_BASE32\",\n \"FROM_BASE64\",\n \"FROM_HEX\",\n \"INITCAP\",\n \"INSTR\",\n \"LEFT\",\n \"LENGTH\",\n \"LPAD\",\n \"LOWER\",\n \"LTRIM\",\n \"NORMALIZE\",\n \"NORMALIZE_AND_CASEFOLD\",\n \"OCTET_LENGTH\",\n \"REGEXP_CONTAINS\",\n \"REGEXP_EXTRACT\",\n \"REGEXP_EXTRACT_ALL\",\n \"REGEXP_INSTR\",\n \"REGEXP_REPLACE\",\n \"REGEXP_SUBSTR\",\n \"REPLACE\",\n \"REPEAT\",\n \"REVERSE\",\n \"RIGHT\",\n \"RPAD\",\n \"RTRIM\",\n \"SAFE_CONVERT_BYTES_TO_STRING\",\n \"SOUNDEX\",\n \"SPLIT\",\n \"STARTS_WITH\",\n \"STRPOS\",\n \"SUBSTR\",\n \"SUBSTRING\",\n \"TO_BASE32\",\n \"TO_BASE64\",\n \"TO_CODE_POINTS\",\n \"TO_HEX\",\n \"TRANSLATE\",\n \"TRIM\",\n \"UNICODE\",\n \"UPPER\",\n // https://cloud.google.com/bigquery/docs/reference/standard-sql/time_functions\n \"CURRENT_TIME\",\n \"TIME\",\n \"EXTRACT\",\n \"TIME_ADD\",\n \"TIME_SUB\",\n \"TIME_DIFF\",\n \"TIME_TRUNC\",\n \"FORMAT_TIME\",\n \"PARSE_TIME\",\n // https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions\n \"CURRENT_TIMESTAMP\",\n \"EXTRACT\",\n \"STRING\",\n \"TIMESTAMP\",\n \"TIMESTAMP_ADD\",\n \"TIMESTAMP_SUB\",\n \"TIMESTAMP_DIFF\",\n \"TIMESTAMP_TRUNC\",\n \"FORMAT_TIMESTAMP\",\n \"PARSE_TIMESTAMP\",\n \"TIMESTAMP_SECONDS\",\n \"TIMESTAMP_MILLIS\",\n \"TIMESTAMP_MICROS\",\n \"UNIX_SECONDS\",\n \"UNIX_MILLIS\",\n \"UNIX_MICROS\",\n // https://cloud.google.com/bigquery/docs/reference/standard-sql/uuid_functions\n \"GENERATE_UUID\",\n // https://cloud.google.com/bigquery/docs/reference/standard-sql/conditional_expressions\n \"COALESCE\",\n \"IF\",\n \"IFNULL\",\n \"NULLIF\",\n // https://cloud.google.com/bigquery/docs/reference/legacy-sql\n // legacyAggregate\n \"AVG\",\n \"BIT_AND\",\n \"BIT_OR\",\n \"BIT_XOR\",\n \"CORR\",\n \"COUNT\",\n \"COVAR_POP\",\n \"COVAR_SAMP\",\n \"EXACT_COUNT_DISTINCT\",\n \"FIRST\",\n \"GROUP_CONCAT\",\n \"GROUP_CONCAT_UNQUOTED\",\n \"LAST\",\n \"MAX\",\n \"MIN\",\n \"NEST\",\n \"NTH\",\n \"QUANTILES\",\n \"STDDEV\",\n \"STDDEV_POP\",\n \"STDDEV_SAMP\",\n \"SUM\",\n \"TOP\",\n \"UNIQUE\",\n \"VARIANCE\",\n \"VAR_POP\",\n \"VAR_SAMP\",\n // legacyBitwise\n \"BIT_COUNT\",\n // legacyCasting\n \"BOOLEAN\",\n \"BYTES\",\n \"CAST\",\n \"FLOAT\",\n \"HEX_STRING\",\n \"INTEGER\",\n \"STRING\",\n // legacyComparison\n // expr 'IN',\n \"COALESCE\",\n \"GREATEST\",\n \"IFNULL\",\n \"IS_INF\",\n \"IS_NAN\",\n \"IS_EXPLICITLY_DEFINED\",\n \"LEAST\",\n \"NVL\",\n // legacyDatetime\n \"CURRENT_DATE\",\n \"CURRENT_TIME\",\n \"CURRENT_TIMESTAMP\",\n \"DATE\",\n \"DATE_ADD\",\n \"DATEDIFF\",\n \"DAY\",\n \"DAYOFWEEK\",\n \"DAYOFYEAR\",\n \"FORMAT_UTC_USEC\",\n \"HOUR\",\n \"MINUTE\",\n \"MONTH\",\n \"MSEC_TO_TIMESTAMP\",\n \"NOW\",\n \"PARSE_UTC_USEC\",\n \"QUARTER\",\n \"SEC_TO_TIMESTAMP\",\n \"SECOND\",\n \"STRFTIME_UTC_USEC\",\n \"TIME\",\n \"TIMESTAMP\",\n \"TIMESTAMP_TO_MSEC\",\n \"TIMESTAMP_TO_SEC\",\n \"TIMESTAMP_TO_USEC\",\n \"USEC_TO_TIMESTAMP\",\n \"UTC_USEC_TO_DAY\",\n \"UTC_USEC_TO_HOUR\",\n \"UTC_USEC_TO_MONTH\",\n \"UTC_USEC_TO_WEEK\",\n \"UTC_USEC_TO_YEAR\",\n \"WEEK\",\n \"YEAR\",\n // legacyIp\n \"FORMAT_IP\",\n \"PARSE_IP\",\n \"FORMAT_PACKED_IP\",\n \"PARSE_PACKED_IP\",\n // legacyJson\n \"JSON_EXTRACT\",\n \"JSON_EXTRACT_SCALAR\",\n // legacyMath\n \"ABS\",\n \"ACOS\",\n \"ACOSH\",\n \"ASIN\",\n \"ASINH\",\n \"ATAN\",\n \"ATANH\",\n \"ATAN2\",\n \"CEIL\",\n \"COS\",\n \"COSH\",\n \"DEGREES\",\n \"EXP\",\n \"FLOOR\",\n \"LN\",\n \"LOG\",\n \"LOG2\",\n \"LOG10\",\n \"PI\",\n \"POW\",\n \"RADIANS\",\n \"RAND\",\n \"ROUND\",\n \"SIN\",\n \"SINH\",\n \"SQRT\",\n \"TAN\",\n \"TANH\",\n // legacyRegex\n \"REGEXP_MATCH\",\n \"REGEXP_EXTRACT\",\n \"REGEXP_REPLACE\",\n // legacyString\n \"CONCAT\",\n // expr CONTAINS 'str'\n \"INSTR\",\n \"LEFT\",\n \"LENGTH\",\n \"LOWER\",\n \"LPAD\",\n \"LTRIM\",\n \"REPLACE\",\n \"RIGHT\",\n \"RPAD\",\n \"RTRIM\",\n \"SPLIT\",\n \"SUBSTR\",\n \"UPPER\",\n // legacyTableWildcard\n \"TABLE_DATE_RANGE\",\n \"TABLE_DATE_RANGE_STRICT\",\n \"TABLE_QUERY\",\n // legacyUrl\n \"HOST\",\n \"DOMAIN\",\n \"TLD\",\n // legacyWindow\n \"AVG\",\n \"COUNT\",\n \"MAX\",\n \"MIN\",\n \"STDDEV\",\n \"SUM\",\n \"CUME_DIST\",\n \"DENSE_RANK\",\n \"FIRST_VALUE\",\n \"LAG\",\n \"LAST_VALUE\",\n \"LEAD\",\n \"NTH_VALUE\",\n \"NTILE\",\n \"PERCENT_RANK\",\n \"PERCENTILE_CONT\",\n \"PERCENTILE_DISC\",\n \"RANK\",\n \"RATIO_TO_REPORT\",\n \"ROW_NUMBER\",\n // legacyMisc\n \"CURRENT_USER\",\n \"EVERY\",\n \"FROM_BASE64\",\n \"HASH\",\n \"FARM_FINGERPRINT\",\n \"IF\",\n \"POSITION\",\n \"SHA1\",\n \"SOME\",\n \"TO_BASE64\",\n // other\n \"BQ.JOBS.CANCEL\",\n \"BQ.REFRESH_MATERIALIZED_VIEW\",\n // ddl\n \"OPTIONS\",\n // pivot\n \"PIVOT\",\n \"UNPIVOT\"\n];\n\n// src/languages/bigquery/bigquery.keywords.ts\nvar keywords = [\n // https://cloud.google.com/bigquery/docs/reference/standard-sql/lexical#reserved_keywords\n \"ALL\",\n \"AND\",\n \"ANY\",\n \"AS\",\n \"ASC\",\n \"ASSERT_ROWS_MODIFIED\",\n \"AT\",\n \"BETWEEN\",\n \"BY\",\n \"CASE\",\n \"CAST\",\n \"COLLATE\",\n \"CONTAINS\",\n \"CREATE\",\n \"CROSS\",\n \"CUBE\",\n \"CURRENT\",\n \"DEFAULT\",\n \"DEFINE\",\n \"DESC\",\n \"DISTINCT\",\n \"ELSE\",\n \"END\",\n \"ENUM\",\n \"ESCAPE\",\n \"EXCEPT\",\n \"EXCLUDE\",\n \"EXISTS\",\n \"EXTRACT\",\n \"FALSE\",\n \"FETCH\",\n \"FOLLOWING\",\n \"FOR\",\n \"FROM\",\n \"FULL\",\n \"GROUP\",\n \"GROUPING\",\n \"GROUPS\",\n \"HASH\",\n \"HAVING\",\n \"IF\",\n \"IGNORE\",\n \"IN\",\n \"INNER\",\n \"INTERSECT\",\n \"INTO\",\n \"IS\",\n \"JOIN\",\n \"LATERAL\",\n \"LEFT\",\n \"LIMIT\",\n \"LOOKUP\",\n \"MERGE\",\n \"NATURAL\",\n \"NEW\",\n \"NO\",\n \"NOT\",\n \"NULL\",\n \"NULLS\",\n \"OF\",\n \"ON\",\n \"OR\",\n \"ORDER\",\n \"OUTER\",\n \"OVER\",\n \"PARTITION\",\n \"PRECEDING\",\n \"PROTO\",\n \"RANGE\",\n \"RECURSIVE\",\n \"RESPECT\",\n \"RIGHT\",\n \"ROLLUP\",\n \"ROWS\",\n \"SELECT\",\n \"SET\",\n \"SOME\",\n \"TABLE\",\n \"TABLESAMPLE\",\n \"THEN\",\n \"TO\",\n \"TREAT\",\n \"TRUE\",\n \"UNBOUNDED\",\n \"UNION\",\n \"UNNEST\",\n \"USING\",\n \"WHEN\",\n \"WHERE\",\n \"WINDOW\",\n \"WITH\",\n \"WITHIN\",\n // misc\n \"SAFE\",\n // https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language\n \"LIKE\",\n // CREATE TABLE LIKE\n \"COPY\",\n // CREATE TABLE COPY\n \"CLONE\",\n // CREATE TABLE CLONE\n \"IN\",\n \"OUT\",\n \"INOUT\",\n \"RETURNS\",\n \"LANGUAGE\",\n \"CASCADE\",\n \"RESTRICT\",\n \"DETERMINISTIC\"\n];\nvar dataTypes = [\n // https://cloud.google.com/bigquery/docs/reference/standard-sql/data-types\n \"ARRAY\",\n // parametric, ARRAY\n \"BOOL\",\n \"BYTES\",\n // parameterised, BYTES(Length)\n \"DATE\",\n \"DATETIME\",\n \"GEOGRAPHY\",\n \"INTERVAL\",\n \"INT64\",\n \"INT\",\n \"SMALLINT\",\n \"INTEGER\",\n \"BIGINT\",\n \"TINYINT\",\n \"BYTEINT\",\n \"NUMERIC\",\n // parameterised, NUMERIC(Precision[, Scale])\n \"DECIMAL\",\n // parameterised, DECIMAL(Precision[, Scale])\n \"BIGNUMERIC\",\n // parameterised, BIGNUMERIC(Precision[, Scale])\n \"BIGDECIMAL\",\n // parameterised, BIGDECIMAL(Precision[, Scale])\n \"FLOAT64\",\n \"STRING\",\n // parameterised, STRING(Length)\n \"STRUCT\",\n // parametric, STRUCT\n \"TIME\",\n \"TIMEZONE\"\n];\n\n// src/languages/bigquery/bigquery.formatter.ts\nvar reservedSelect = expandPhrases([\"SELECT [ALL | DISTINCT] [AS STRUCT | AS VALUE]\"]);\nvar reservedClauses = expandPhrases([\n // Queries: https://cloud.google.com/bigquery/docs/reference/standard-sql/query-syntax\n \"WITH [RECURSIVE]\",\n \"FROM\",\n \"WHERE\",\n \"GROUP BY\",\n \"HAVING\",\n \"QUALIFY\",\n \"WINDOW\",\n \"PARTITION BY\",\n \"ORDER BY\",\n \"LIMIT\",\n \"OFFSET\",\n \"OMIT RECORD IF\",\n // legacy\n // Data modification: https://cloud.google.com/bigquery/docs/reference/standard-sql/dml-syntax\n // - insert:\n \"INSERT [INTO]\",\n \"VALUES\",\n // - update:\n \"SET\",\n // - merge:\n \"MERGE [INTO]\",\n \"WHEN [NOT] MATCHED [BY SOURCE | BY TARGET] [THEN]\",\n \"UPDATE SET\",\n \"CLUSTER BY\",\n \"FOR SYSTEM_TIME AS OF\",\n // CREATE SNAPSHOT TABLE\n \"WITH CONNECTION\",\n \"WITH PARTITION COLUMNS\",\n \"REMOTE WITH CONNECTION\"\n]);\nvar onelineClauses = expandPhrases([\n // - create:\n // https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language\n \"CREATE [OR REPLACE] [TEMP|TEMPORARY|SNAPSHOT|EXTERNAL] TABLE [IF NOT EXISTS]\",\n \"CREATE [OR REPLACE] [MATERIALIZED] VIEW [IF NOT EXISTS]\",\n // - update:\n \"UPDATE\",\n // - delete:\n \"DELETE [FROM]\",\n // - drop table:\n \"DROP [SNAPSHOT | EXTERNAL] TABLE [IF EXISTS]\",\n // - alter table:\n \"ALTER TABLE [IF EXISTS]\",\n \"ADD COLUMN [IF NOT EXISTS]\",\n \"DROP COLUMN [IF EXISTS]\",\n \"RENAME TO\",\n \"ALTER COLUMN [IF EXISTS]\",\n \"SET DEFAULT COLLATE\",\n // for alter column\n \"SET OPTIONS\",\n // for alter column\n \"DROP NOT NULL\",\n // for alter column\n \"SET DATA TYPE\",\n // for alter column\n // - alter schema\n \"ALTER SCHEMA [IF EXISTS]\",\n // - alter view\n \"ALTER [MATERIALIZED] VIEW [IF EXISTS]\",\n // - alter bi_capacity\n \"ALTER BI_CAPACITY\",\n // - truncate:\n \"TRUNCATE TABLE\",\n // - create schema\n \"CREATE SCHEMA [IF NOT EXISTS]\",\n \"DEFAULT COLLATE\",\n // stored procedures\n \"CREATE [OR REPLACE] [TEMP|TEMPORARY|TABLE] FUNCTION [IF NOT EXISTS]\",\n \"CREATE [OR REPLACE] PROCEDURE [IF NOT EXISTS]\",\n // row access policy\n \"CREATE [OR REPLACE] ROW ACCESS POLICY [IF NOT EXISTS]\",\n \"GRANT TO\",\n \"FILTER USING\",\n // capacity\n \"CREATE CAPACITY\",\n \"AS JSON\",\n // reservation\n \"CREATE RESERVATION\",\n // assignment\n \"CREATE ASSIGNMENT\",\n // search index\n \"CREATE SEARCH INDEX [IF NOT EXISTS]\",\n // drop\n \"DROP SCHEMA [IF EXISTS]\",\n \"DROP [MATERIALIZED] VIEW [IF EXISTS]\",\n \"DROP [TABLE] FUNCTION [IF EXISTS]\",\n \"DROP PROCEDURE [IF EXISTS]\",\n \"DROP ROW ACCESS POLICY\",\n \"DROP ALL ROW ACCESS POLICIES\",\n \"DROP CAPACITY [IF EXISTS]\",\n \"DROP RESERVATION [IF EXISTS]\",\n \"DROP ASSIGNMENT [IF EXISTS]\",\n \"DROP SEARCH INDEX [IF EXISTS]\",\n \"DROP [IF EXISTS]\",\n // DCL, https://cloud.google.com/bigquery/docs/reference/standard-sql/data-control-language\n \"GRANT\",\n \"REVOKE\",\n // Script, https://cloud.google.com/bigquery/docs/reference/standard-sql/scripting\n \"DECLARE\",\n \"EXECUTE IMMEDIATE\",\n \"LOOP\",\n \"END LOOP\",\n \"REPEAT\",\n \"END REPEAT\",\n \"WHILE\",\n \"END WHILE\",\n \"BREAK\",\n \"LEAVE\",\n \"CONTINUE\",\n \"ITERATE\",\n \"FOR\",\n \"END FOR\",\n \"BEGIN\",\n \"BEGIN TRANSACTION\",\n \"COMMIT TRANSACTION\",\n \"ROLLBACK TRANSACTION\",\n \"RAISE\",\n \"RETURN\",\n \"CALL\",\n // Debug, https://cloud.google.com/bigquery/docs/reference/standard-sql/debugging-statements\n \"ASSERT\",\n // Other, https://cloud.google.com/bigquery/docs/reference/standard-sql/other-statements\n \"EXPORT DATA\"\n]);\nvar reservedSetOperations = expandPhrases([\n \"UNION {ALL | DISTINCT}\",\n \"EXCEPT DISTINCT\",\n \"INTERSECT DISTINCT\"\n]);\nvar reservedJoins = expandPhrases([\n \"JOIN\",\n \"{LEFT | RIGHT | FULL} [OUTER] JOIN\",\n \"{INNER | CROSS} JOIN\"\n]);\nvar reservedPhrases = expandPhrases([\n // https://cloud.google.com/bigquery/docs/reference/standard-sql/query-syntax#tablesample_operator\n \"TABLESAMPLE SYSTEM\",\n // From DDL: https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language\n \"ANY TYPE\",\n \"ALL COLUMNS\",\n \"NOT DETERMINISTIC\",\n // inside window definitions\n \"{ROWS | RANGE} BETWEEN\",\n // comparison operator\n \"IS [NOT] DISTINCT FROM\"\n]);\nvar bigquery = {\n name: \"bigquery\",\n tokenizerOptions: {\n reservedSelect,\n reservedClauses: [...reservedClauses, ...onelineClauses],\n reservedSetOperations,\n reservedJoins,\n reservedPhrases,\n reservedKeywords: keywords,\n reservedDataTypes: dataTypes,\n reservedFunctionNames: functions,\n extraParens: [\"[]\"],\n stringTypes: [\n // The triple-quoted strings are listed first, so they get matched first.\n // Otherwise the first two quotes of \"\"\" will get matched as an empty \"\" string.\n { quote: '\"\"\"..\"\"\"', prefixes: [\"R\", \"B\", \"RB\", \"BR\"] },\n { quote: \"'''..'''\", prefixes: [\"R\", \"B\", \"RB\", \"BR\"] },\n '\"\"-bs',\n \"''-bs\",\n { quote: '\"\"-raw', prefixes: [\"R\", \"B\", \"RB\", \"BR\"], requirePrefix: true },\n { quote: \"''-raw\", prefixes: [\"R\", \"B\", \"RB\", \"BR\"], requirePrefix: true }\n ],\n identTypes: [\"``\"],\n identChars: { dashes: true },\n paramTypes: { positional: true, named: [\"@\"], quoted: [\"@\"] },\n variableTypes: [{ regex: String.raw`@@\\w+` }],\n lineCommentTypes: [\"--\", \"#\"],\n operators: [\"&\", \"|\", \"^\", \"~\", \">>\", \"<<\", \"||\", \"=>\"],\n postProcess\n },\n formatOptions: {\n onelineClauses\n }\n};\nfunction postProcess(tokens) {\n return detectArraySubscripts(combineParameterizedTypes(tokens));\n}\nfunction detectArraySubscripts(tokens) {\n let prevToken = EOF_TOKEN;\n return tokens.map((token) => {\n if (token.text === \"OFFSET\" && prevToken.text === \"[\") {\n prevToken = token;\n return __spreadProps(__spreadValues({}, token), { type: \"RESERVED_FUNCTION_NAME\" /* RESERVED_FUNCTION_NAME */ });\n } else {\n prevToken = token;\n return token;\n }\n });\n}\nfunction combineParameterizedTypes(tokens) {\n var _a;\n const processed = [];\n for (let i = 0; i < tokens.length; i++) {\n const token = tokens[i];\n if ((isToken.ARRAY(token) || isToken.STRUCT(token)) && ((_a = tokens[i + 1]) == null ? void 0 : _a.text) === \"<\") {\n const endIndex = findClosingAngleBracketIndex(tokens, i + 1);\n const typeDefTokens = tokens.slice(i, endIndex + 1);\n processed.push({\n type: \"IDENTIFIER\" /* IDENTIFIER */,\n raw: typeDefTokens.map(formatTypeDefToken(\"raw\")).join(\"\"),\n text: typeDefTokens.map(formatTypeDefToken(\"text\")).join(\"\"),\n start: token.start\n });\n i = endIndex;\n } else {\n processed.push(token);\n }\n }\n return processed;\n}\nvar formatTypeDefToken = (key) => (token) => {\n if (token.type === \"IDENTIFIER\" /* IDENTIFIER */ || token.type === \"COMMA\" /* COMMA */) {\n return token[key] + \" \";\n } else {\n return token[key];\n }\n};\nfunction findClosingAngleBracketIndex(tokens, startIndex) {\n let level = 0;\n for (let i = startIndex; i < tokens.length; i++) {\n const token = tokens[i];\n if (token.text === \"<\") {\n level++;\n } else if (token.text === \">\") {\n level--;\n } else if (token.text === \">>\") {\n level -= 2;\n }\n if (level === 0) {\n return i;\n }\n }\n return tokens.length - 1;\n}\n\n// src/languages/db2/db2.functions.ts\nvar functions2 = [\n // https://www.ibm.com/docs/en/db2/11.5?topic=bif-aggregate-functions\n \"ARRAY_AGG\",\n \"AVG\",\n \"CORRELATION\",\n \"COUNT\",\n \"COUNT_BIG\",\n \"COVARIANCE\",\n \"COVARIANCE_SAMP\",\n \"CUME_DIST\",\n \"GROUPING\",\n \"LISTAGG\",\n \"MAX\",\n \"MEDIAN\",\n \"MIN\",\n \"PERCENTILE_CONT\",\n \"PERCENTILE_DISC\",\n \"PERCENT_RANK\",\n \"REGR_AVGX\",\n \"REGR_AVGY\",\n \"REGR_COUNT\",\n \"REGR_INTERCEPT\",\n \"REGR_ICPT\",\n \"REGR_R2\",\n \"REGR_SLOPE\",\n \"REGR_SXX\",\n \"REGR_SXY\",\n \"REGR_SYY\",\n \"STDDEV\",\n \"STDDEV_SAMP\",\n \"SUM\",\n \"VARIANCE\",\n \"VARIANCE_SAMP\",\n \"XMLAGG\",\n \"XMLGROUP\",\n // https://www.ibm.com/docs/en/db2/11.5?topic=bif-scalar-functions\n \"ABS\",\n \"ABSVAL\",\n \"ACOS\",\n \"ADD_DAYS\",\n \"ADD_HOURS\",\n \"ADD_MINUTES\",\n \"ADD_MONTHS\",\n \"ADD_SECONDS\",\n \"ADD_YEARS\",\n \"AGE\",\n \"ARRAY_DELETE\",\n \"ARRAY_FIRST\",\n \"ARRAY_LAST\",\n \"ARRAY_NEXT\",\n \"ARRAY_PRIOR\",\n \"ASCII\",\n \"ASCII_STR\",\n \"ASIN\",\n \"ATAN\",\n \"ATAN2\",\n \"ATANH\",\n \"BITAND\",\n \"BITANDNOT\",\n \"BITOR\",\n \"BITXOR\",\n \"BITNOT\",\n \"BPCHAR\",\n \"BSON_TO_JSON\",\n \"BTRIM\",\n \"CARDINALITY\",\n \"CEILING\",\n \"CEIL\",\n \"CHARACTER_LENGTH\",\n \"CHR\",\n \"COALESCE\",\n \"COLLATION_KEY\",\n \"COLLATION_KEY_BIT\",\n \"COMPARE_DECFLOAT\",\n \"CONCAT\",\n \"COS\",\n \"COSH\",\n \"COT\",\n \"CURSOR_ROWCOUNT\",\n \"DATAPARTITIONNUM\",\n \"DATE_PART\",\n \"DATE_TRUNC\",\n \"DAY\",\n \"DAYNAME\",\n \"DAYOFMONTH\",\n \"DAYOFWEEK\",\n \"DAYOFWEEK_ISO\",\n \"DAYOFYEAR\",\n \"DAYS\",\n \"DAYS_BETWEEN\",\n \"DAYS_TO_END_OF_MONTH\",\n \"DBPARTITIONNUM\",\n \"DECFLOAT\",\n \"DECFLOAT_FORMAT\",\n \"DECODE\",\n \"DECRYPT_BIN\",\n \"DECRYPT_CHAR\",\n \"DEGREES\",\n \"DEREF\",\n \"DIFFERENCE\",\n \"DIGITS\",\n \"DOUBLE_PRECISION\",\n \"EMPTY_BLOB\",\n \"EMPTY_CLOB\",\n \"EMPTY_DBCLOB\",\n \"EMPTY_NCLOB\",\n \"ENCRYPT\",\n \"EVENT_MON_STATE\",\n \"EXP\",\n \"EXTRACT\",\n \"FIRST_DAY\",\n \"FLOOR\",\n \"FROM_UTC_TIMESTAMP\",\n \"GENERATE_UNIQUE\",\n \"GETHINT\",\n \"GREATEST\",\n \"HASH\",\n \"HASH4\",\n \"HASH8\",\n \"HASHEDVALUE\",\n \"HEX\",\n \"HEXTORAW\",\n \"HOUR\",\n \"HOURS_BETWEEN\",\n \"IDENTITY_VAL_LOCAL\",\n \"IFNULL\",\n \"INITCAP\",\n \"INSERT\",\n \"INSTR\",\n \"INSTR2\",\n \"INSTR4\",\n \"INSTRB\",\n \"INTNAND\",\n \"INTNOR\",\n \"INTNXOR\",\n \"INTNNOT\",\n \"ISNULL\",\n \"JSON_ARRAY\",\n \"JSON_OBJECT\",\n \"JSON_QUERY\",\n \"JSON_TO_BSON\",\n \"JSON_VALUE\",\n \"JULIAN_DAY\",\n \"LAST_DAY\",\n \"LCASE\",\n \"LEAST\",\n \"LEFT\",\n \"LENGTH\",\n \"LENGTH2\",\n \"LENGTH4\",\n \"LENGTHB\",\n \"LN\",\n \"LOCATE\",\n \"LOCATE_IN_STRING\",\n \"LOG10\",\n \"LONG_VARCHAR\",\n \"LONG_VARGRAPHIC\",\n \"LOWER\",\n \"LPAD\",\n \"LTRIM\",\n \"MAX\",\n \"MAX_CARDINALITY\",\n \"MICROSECOND\",\n \"MIDNIGHT_SECONDS\",\n \"MIN\",\n \"MINUTE\",\n \"MINUTES_BETWEEN\",\n \"MOD\",\n \"MONTH\",\n \"MONTHNAME\",\n \"MONTHS_BETWEEN\",\n \"MULTIPLY_ALT\",\n \"NEXT_DAY\",\n \"NEXT_MONTH\",\n \"NEXT_QUARTER\",\n \"NEXT_WEEK\",\n \"NEXT_YEAR\",\n \"NORMALIZE_DECFLOAT\",\n \"NOW\",\n \"NULLIF\",\n \"NVL\",\n \"NVL2\",\n \"OCTET_LENGTH\",\n \"OVERLAY\",\n \"PARAMETER\",\n \"POSITION\",\n \"POSSTR\",\n \"POW\",\n \"POWER\",\n \"QUANTIZE\",\n \"QUARTER\",\n \"QUOTE_IDENT\",\n \"QUOTE_LITERAL\",\n \"RADIANS\",\n \"RAISE_ERROR\",\n \"RAND\",\n \"RANDOM\",\n \"RAWTOHEX\",\n \"REC2XML\",\n \"REGEXP_COUNT\",\n \"REGEXP_EXTRACT\",\n \"REGEXP_INSTR\",\n \"REGEXP_LIKE\",\n \"REGEXP_MATCH_COUNT\",\n \"REGEXP_REPLACE\",\n \"REGEXP_SUBSTR\",\n \"REPEAT\",\n \"REPLACE\",\n \"RID\",\n \"RID_BIT\",\n \"RIGHT\",\n \"ROUND\",\n \"ROUND_TIMESTAMP\",\n \"RPAD\",\n \"RTRIM\",\n \"SECLABEL\",\n \"SECLABEL_BY_NAME\",\n \"SECLABEL_TO_CHAR\",\n \"SECOND\",\n \"SECONDS_BETWEEN\",\n \"SIGN\",\n \"SIN\",\n \"SINH\",\n \"SOUNDEX\",\n \"SPACE\",\n \"SQRT\",\n \"STRIP\",\n \"STRLEFT\",\n \"STRPOS\",\n \"STRRIGHT\",\n \"SUBSTR\",\n \"SUBSTR2\",\n \"SUBSTR4\",\n \"SUBSTRB\",\n \"SUBSTRING\",\n \"TABLE_NAME\",\n \"TABLE_SCHEMA\",\n \"TAN\",\n \"TANH\",\n \"THIS_MONTH\",\n \"THIS_QUARTER\",\n \"THIS_WEEK\",\n \"THIS_YEAR\",\n \"TIMESTAMP_FORMAT\",\n \"TIMESTAMP_ISO\",\n \"TIMESTAMPDIFF\",\n \"TIMEZONE\",\n \"TO_CHAR\",\n \"TO_CLOB\",\n \"TO_DATE\",\n \"TO_HEX\",\n \"TO_MULTI_BYTE\",\n \"TO_NCHAR\",\n \"TO_NCLOB\",\n \"TO_NUMBER\",\n \"TO_SINGLE_BYTE\",\n \"TO_TIMESTAMP\",\n \"TO_UTC_TIMESTAMP\",\n \"TOTALORDER\",\n \"TRANSLATE\",\n \"TRIM\",\n \"TRIM_ARRAY\",\n \"TRUNC_TIMESTAMP\",\n \"TRUNCATE\",\n \"TRUNC\",\n \"TYPE_ID\",\n \"TYPE_NAME\",\n \"TYPE_SCHEMA\",\n \"UCASE\",\n \"UNICODE_STR\",\n \"UPPER\",\n \"VALUE\",\n \"VARCHAR_BIT_FORMAT\",\n \"VARCHAR_FORMAT\",\n \"VARCHAR_FORMAT_BIT\",\n \"VERIFY_GROUP_FOR_USER\",\n \"VERIFY_ROLE_FOR_USER\",\n \"VERIFY_TRUSTED_CONTEXT_ROLE_FOR_USER\",\n \"WEEK\",\n \"WEEK_ISO\",\n \"WEEKS_BETWEEN\",\n \"WIDTH_BUCKET\",\n \"XMLATTRIBUTES\",\n \"XMLCOMMENT\",\n \"XMLCONCAT\",\n \"XMLDOCUMENT\",\n \"XMLELEMENT\",\n \"XMLFOREST\",\n \"XMLNAMESPACES\",\n \"XMLPARSE\",\n \"XMLPI\",\n \"XMLQUERY\",\n \"XMLROW\",\n \"XMLSERIALIZE\",\n \"XMLTEXT\",\n \"XMLVALIDATE\",\n \"XMLXSROBJECTID\",\n \"XSLTRANSFORM\",\n \"YEAR\",\n \"YEARS_BETWEEN\",\n \"YMD_BETWEEN\",\n // https://www.ibm.com/docs/en/db2/11.5?topic=bif-table-functions\n \"BASE_TABLE\",\n \"JSON_TABLE\",\n \"UNNEST\",\n \"XMLTABLE\",\n // https://www.ibm.com/docs/en/db2/11.5?topic=expressions-olap-specification\n // Additional function names not already present in the aggregate functions list\n \"RANK\",\n \"DENSE_RANK\",\n \"NTILE\",\n \"LAG\",\n \"LEAD\",\n \"ROW_NUMBER\",\n \"FIRST_VALUE\",\n \"LAST_VALUE\",\n \"NTH_VALUE\",\n \"RATIO_TO_REPORT\",\n // Type casting\n \"CAST\"\n];\n\n// src/languages/db2/db2.keywords.ts\nvar keywords2 = [\n // https://www.ibm.com/docs/en/db2/11.5?topic=sql-reserved-schema-names-reserved-words\n \"ACTIVATE\",\n \"ADD\",\n \"AFTER\",\n \"ALIAS\",\n \"ALL\",\n \"ALLOCATE\",\n \"ALLOW\",\n \"ALTER\",\n \"AND\",\n \"ANY\",\n \"AS\",\n \"ASENSITIVE\",\n \"ASSOCIATE\",\n \"ASUTIME\",\n \"AT\",\n \"ATTRIBUTES\",\n \"AUDIT\",\n \"AUTHORIZATION\",\n \"AUX\",\n \"AUXILIARY\",\n \"BEFORE\",\n \"BEGIN\",\n \"BETWEEN\",\n \"BINARY\",\n \"BUFFERPOOL\",\n \"BY\",\n \"CACHE\",\n \"CALL\",\n \"CALLED\",\n \"CAPTURE\",\n \"CARDINALITY\",\n \"CASCADED\",\n \"CASE\",\n \"CAST\",\n \"CHECK\",\n \"CLONE\",\n \"CLOSE\",\n \"CLUSTER\",\n \"COLLECTION\",\n \"COLLID\",\n \"COLUMN\",\n \"COMMENT\",\n \"COMMIT\",\n \"CONCAT\",\n \"CONDITION\",\n \"CONNECT\",\n \"CONNECTION\",\n \"CONSTRAINT\",\n \"CONTAINS\",\n \"CONTINUE\",\n \"COUNT\",\n \"COUNT_BIG\",\n \"CREATE\",\n \"CROSS\",\n \"CURRENT\",\n \"CURRENT_DATE\",\n \"CURRENT_LC_CTYPE\",\n \"CURRENT_PATH\",\n \"CURRENT_SCHEMA\",\n \"CURRENT_SERVER\",\n \"CURRENT_TIME\",\n \"CURRENT_TIMESTAMP\",\n \"CURRENT_TIMEZONE\",\n \"CURRENT_USER\",\n \"CURSOR\",\n \"CYCLE\",\n \"DATA\",\n \"DATABASE\",\n \"DATAPARTITIONNAME\",\n \"DATAPARTITIONNUM\",\n \"DAY\",\n \"DAYS\",\n \"DB2GENERAL\",\n \"DB2GENRL\",\n \"DB2SQL\",\n \"DBINFO\",\n \"DBPARTITIONNAME\",\n \"DBPARTITIONNUM\",\n \"DEALLOCATE\",\n \"DECLARE\",\n \"DEFAULT\",\n \"DEFAULTS\",\n \"DEFINITION\",\n \"DELETE\",\n \"DENSERANK\",\n \"DENSE_RANK\",\n \"DESCRIBE\",\n \"DESCRIPTOR\",\n \"DETERMINISTIC\",\n \"DIAGNOSTICS\",\n \"DISABLE\",\n \"DISALLOW\",\n \"DISCONNECT\",\n \"DISTINCT\",\n \"DO\",\n \"DOCUMENT\",\n \"DROP\",\n \"DSSIZE\",\n \"DYNAMIC\",\n \"EACH\",\n \"EDITPROC\",\n \"ELSE\",\n \"ELSEIF\",\n \"ENABLE\",\n \"ENCODING\",\n \"ENCRYPTION\",\n \"END\",\n \"END-EXEC\",\n \"ENDING\",\n \"ERASE\",\n \"ESCAPE\",\n \"EVERY\",\n \"EXCEPT\",\n \"EXCEPTION\",\n \"EXCLUDING\",\n \"EXCLUSIVE\",\n \"EXECUTE\",\n \"EXISTS\",\n \"EXIT\",\n \"EXPLAIN\",\n \"EXTENDED\",\n \"EXTERNAL\",\n \"EXTRACT\",\n \"FENCED\",\n \"FETCH\",\n \"FIELDPROC\",\n \"FILE\",\n \"FINAL\",\n \"FIRST1\",\n \"FOR\",\n \"FOREIGN\",\n \"FREE\",\n \"FROM\",\n \"FULL\",\n \"FUNCTION\",\n \"GENERAL\",\n \"GENERATED\",\n \"GET\",\n \"GLOBAL\",\n \"GO\",\n \"GOTO\",\n \"GRANT\",\n \"GRAPHIC\",\n \"GROUP\",\n \"HANDLER\",\n \"HASH\",\n \"HASHED_VALUE\",\n \"HAVING\",\n \"HINT\",\n \"HOLD\",\n \"HOUR\",\n \"HOURS\",\n \"IDENTITY\",\n \"IF\",\n \"IMMEDIATE\",\n \"IMPORT\",\n \"IN\",\n \"INCLUDING\",\n \"INCLUSIVE\",\n \"INCREMENT\",\n \"INDEX\",\n \"INDICATOR\",\n \"INDICATORS\",\n \"INF\",\n \"INFINITY\",\n \"INHERIT\",\n \"INNER\",\n \"INOUT\",\n \"INSENSITIVE\",\n \"INSERT\",\n \"INTEGRITY\",\n \"INTERSECT\",\n \"INTO\",\n \"IS\",\n \"ISNULL\",\n \"ISOBID\",\n \"ISOLATION\",\n \"ITERATE\",\n \"JAR\",\n \"JAVA\",\n \"JOIN\",\n \"KEEP\",\n \"KEY\",\n \"LABEL\",\n \"LANGUAGE\",\n \"LAST3\",\n \"LATERAL\",\n \"LC_CTYPE\",\n \"LEAVE\",\n \"LEFT\",\n \"LIKE\",\n \"LIMIT\",\n \"LINKTYPE\",\n \"LOCAL\",\n \"LOCALDATE\",\n \"LOCALE\",\n \"LOCALTIME\",\n \"LOCALTIMESTAMP\",\n \"LOCATOR\",\n \"LOCATORS\",\n \"LOCK\",\n \"LOCKMAX\",\n \"LOCKSIZE\",\n \"LOOP\",\n \"MAINTAINED\",\n \"MATERIALIZED\",\n \"MAXVALUE\",\n \"MICROSECOND\",\n \"MICROSECONDS\",\n \"MINUTE\",\n \"MINUTES\",\n \"MINVALUE\",\n \"MODE\",\n \"MODIFIES\",\n \"MONTH\",\n \"MONTHS\",\n \"NAN\",\n \"NEW\",\n \"NEW_TABLE\",\n \"NEXTVAL\",\n \"NO\",\n \"NOCACHE\",\n \"NOCYCLE\",\n \"NODENAME\",\n \"NODENUMBER\",\n \"NOMAXVALUE\",\n \"NOMINVALUE\",\n \"NONE\",\n \"NOORDER\",\n \"NORMALIZED\",\n \"NOT2\",\n \"NOTNULL\",\n \"NULL\",\n \"NULLS\",\n \"NUMPARTS\",\n \"OBID\",\n \"OF\",\n \"OFF\",\n \"OFFSET\",\n \"OLD\",\n \"OLD_TABLE\",\n \"ON\",\n \"OPEN\",\n \"OPTIMIZATION\",\n \"OPTIMIZE\",\n \"OPTION\",\n \"OR\",\n \"ORDER\",\n \"OUT\",\n \"OUTER\",\n \"OVER\",\n \"OVERRIDING\",\n \"PACKAGE\",\n \"PADDED\",\n \"PAGESIZE\",\n \"PARAMETER\",\n \"PART\",\n \"PARTITION\",\n \"PARTITIONED\",\n \"PARTITIONING\",\n \"PARTITIONS\",\n \"PASSWORD\",\n \"PATH\",\n \"PERCENT\",\n \"PIECESIZE\",\n \"PLAN\",\n \"POSITION\",\n \"PRECISION\",\n \"PREPARE\",\n \"PREVVAL\",\n \"PRIMARY\",\n \"PRIQTY\",\n \"PRIVILEGES\",\n \"PROCEDURE\",\n \"PROGRAM\",\n \"PSID\",\n \"PUBLIC\",\n \"QUERY\",\n \"QUERYNO\",\n \"RANGE\",\n \"RANK\",\n \"READ\",\n \"READS\",\n \"RECOVERY\",\n \"REFERENCES\",\n \"REFERENCING\",\n \"REFRESH\",\n \"RELEASE\",\n \"RENAME\",\n \"REPEAT\",\n \"RESET\",\n \"RESIGNAL\",\n \"RESTART\",\n \"RESTRICT\",\n \"RESULT\",\n \"RESULT_SET_LOCATOR\",\n \"RETURN\",\n \"RETURNS\",\n \"REVOKE\",\n \"RIGHT\",\n \"ROLE\",\n \"ROLLBACK\",\n \"ROUND_CEILING\",\n \"ROUND_DOWN\",\n \"ROUND_FLOOR\",\n \"ROUND_HALF_DOWN\",\n \"ROUND_HALF_EVEN\",\n \"ROUND_HALF_UP\",\n \"ROUND_UP\",\n \"ROUTINE\",\n \"ROW\",\n \"ROWNUMBER\",\n \"ROWS\",\n \"ROWSET\",\n \"ROW_NUMBER\",\n \"RRN\",\n \"RUN\",\n \"SAVEPOINT\",\n \"SCHEMA\",\n \"SCRATCHPAD\",\n \"SCROLL\",\n \"SEARCH\",\n \"SECOND\",\n \"SECONDS\",\n \"SECQTY\",\n \"SECURITY\",\n \"SELECT\",\n \"SENSITIVE\",\n \"SEQUENCE\",\n \"SESSION\",\n \"SESSION_USER\",\n \"SET\",\n \"SIGNAL\",\n \"SIMPLE\",\n \"SNAN\",\n \"SOME\",\n \"SOURCE\",\n \"SPECIFIC\",\n \"SQL\",\n \"SQLID\",\n \"STACKED\",\n \"STANDARD\",\n \"START\",\n \"STARTING\",\n \"STATEMENT\",\n \"STATIC\",\n \"STATMENT\",\n \"STAY\",\n \"STOGROUP\",\n \"STORES\",\n \"STYLE\",\n \"SUBSTRING\",\n \"SUMMARY\",\n \"SYNONYM\",\n \"SYSFUN\",\n \"SYSIBM\",\n \"SYSPROC\",\n \"SYSTEM\",\n \"SYSTEM_USER\",\n \"TABLE\",\n \"TABLESPACE\",\n \"THEN\",\n \"TO\",\n \"TRANSACTION\",\n \"TRIGGER\",\n \"TRIM\",\n \"TRUNCATE\",\n \"TYPE\",\n \"UNDO\",\n \"UNION\",\n \"UNIQUE\",\n \"UNTIL\",\n \"UPDATE\",\n \"USAGE\",\n \"USER\",\n \"USING\",\n \"VALIDPROC\",\n \"VALUE\",\n \"VALUES\",\n \"VARIABLE\",\n \"VARIANT\",\n \"VCAT\",\n \"VERSION\",\n \"VIEW\",\n \"VOLATILE\",\n \"VOLUMES\",\n \"WHEN\",\n \"WHENEVER\",\n \"WHERE\",\n \"WHILE\",\n \"WITH\",\n \"WITHOUT\",\n \"WLM\",\n \"WRITE\",\n \"XMLELEMENT\",\n \"XMLEXISTS\",\n \"XMLNAMESPACES\",\n \"YEAR\",\n \"YEARS\"\n];\nvar dataTypes2 = [\n // https://www.ibm.com/docs/en/db2-for-zos/12?topic=columns-data-types\n \"ARRAY\",\n \"BIGINT\",\n \"BINARY\",\n \"BLOB\",\n \"BOOLEAN\",\n \"CCSID\",\n \"CHAR\",\n \"CHARACTER\",\n \"CLOB\",\n \"DATE\",\n \"DATETIME\",\n \"DBCLOB\",\n \"DEC\",\n \"DECIMAL\",\n \"DOUBLE\",\n \"DOUBLE PRECISION\",\n \"FLOAT\",\n \"FLOAT4\",\n \"FLOAT8\",\n \"GRAPHIC\",\n \"INT\",\n \"INT2\",\n \"INT4\",\n \"INT8\",\n \"INTEGER\",\n \"INTERVAL\",\n \"LONG VARCHAR\",\n \"LONG VARGRAPHIC\",\n \"NCHAR\",\n \"NCHR\",\n \"NCLOB\",\n \"NVARCHAR\",\n \"NUMERIC\",\n \"SMALLINT\",\n \"REAL\",\n \"TIME\",\n \"TIMESTAMP\",\n \"VARBINARY\",\n \"VARCHAR\",\n \"VARGRAPHIC\"\n];\n\n// src/languages/db2/db2.formatter.ts\nvar reservedSelect2 = expandPhrases([\"SELECT [ALL | DISTINCT]\"]);\nvar reservedClauses2 = expandPhrases([\n // queries\n \"WITH\",\n \"FROM\",\n \"WHERE\",\n \"GROUP BY\",\n \"HAVING\",\n \"PARTITION BY\",\n \"ORDER BY [INPUT SEQUENCE]\",\n \"LIMIT\",\n \"OFFSET\",\n \"FETCH NEXT\",\n \"FOR UPDATE [OF]\",\n \"FOR {READ | FETCH} ONLY\",\n \"FOR {RR | CS | UR | RS} [USE AND KEEP {SHARE | UPDATE | EXCLUSIVE} LOCKS]\",\n \"WAIT FOR OUTCOME\",\n \"SKIP LOCKED DATA\",\n \"INTO\",\n // Data modification\n // - insert:\n \"INSERT INTO\",\n \"VALUES\",\n // - update:\n \"SET\",\n // - merge:\n \"MERGE INTO\",\n \"WHEN [NOT] MATCHED [THEN]\",\n \"UPDATE SET\",\n \"INSERT\"\n]);\nvar onelineClauses2 = expandPhrases([\n // - create:\n \"CREATE [GLOBAL TEMPORARY | EXTERNAL] TABLE [IF NOT EXISTS]\",\n \"CREATE [OR REPLACE] VIEW\",\n // - update:\n \"UPDATE\",\n \"WHERE CURRENT OF\",\n \"WITH {RR | RS | CS | UR}\",\n // - delete:\n \"DELETE FROM\",\n // - drop table:\n \"DROP TABLE [IF EXISTS]\",\n // alter table:\n \"ALTER TABLE\",\n \"ADD [COLUMN]\",\n \"DROP [COLUMN]\",\n \"RENAME COLUMN\",\n \"ALTER [COLUMN]\",\n \"SET DATA TYPE\",\n // for alter column\n \"SET NOT NULL\",\n // for alter column\n \"DROP {DEFAULT | GENERATED | NOT NULL}\",\n // for alter column\n // - truncate:\n \"TRUNCATE [TABLE]\",\n // https://www.ibm.com/docs/en/db2/11.5?topic=s-statements\n \"ALLOCATE\",\n \"ALTER AUDIT POLICY\",\n \"ALTER BUFFERPOOL\",\n \"ALTER DATABASE PARTITION GROUP\",\n \"ALTER DATABASE\",\n \"ALTER EVENT MONITOR\",\n \"ALTER FUNCTION\",\n \"ALTER HISTOGRAM TEMPLATE\",\n \"ALTER INDEX\",\n \"ALTER MASK\",\n \"ALTER METHOD\",\n \"ALTER MODULE\",\n \"ALTER NICKNAME\",\n \"ALTER PACKAGE\",\n \"ALTER PERMISSION\",\n \"ALTER PROCEDURE\",\n \"ALTER SCHEMA\",\n \"ALTER SECURITY LABEL COMPONENT\",\n \"ALTER SECURITY POLICY\",\n \"ALTER SEQUENCE\",\n \"ALTER SERVER\",\n \"ALTER SERVICE CLASS\",\n \"ALTER STOGROUP\",\n \"ALTER TABLESPACE\",\n \"ALTER THRESHOLD\",\n \"ALTER TRIGGER\",\n \"ALTER TRUSTED CONTEXT\",\n \"ALTER TYPE\",\n \"ALTER USAGE LIST\",\n \"ALTER USER MAPPING\",\n \"ALTER VIEW\",\n \"ALTER WORK ACTION SET\",\n \"ALTER WORK CLASS SET\",\n \"ALTER WORKLOAD\",\n \"ALTER WRAPPER\",\n \"ALTER XSROBJECT\",\n \"ALTER STOGROUP\",\n \"ALTER TABLESPACE\",\n \"ALTER TRIGGER\",\n \"ALTER TRUSTED CONTEXT\",\n \"ALTER VIEW\",\n \"ASSOCIATE [RESULT SET] {LOCATOR | LOCATORS}\",\n \"AUDIT\",\n \"BEGIN DECLARE SECTION\",\n \"CALL\",\n \"CLOSE\",\n \"COMMENT ON\",\n \"COMMIT [WORK]\",\n \"CONNECT\",\n \"CREATE [OR REPLACE] [PUBLIC] ALIAS\",\n \"CREATE AUDIT POLICY\",\n \"CREATE BUFFERPOOL\",\n \"CREATE DATABASE PARTITION GROUP\",\n \"CREATE EVENT MONITOR\",\n \"CREATE [OR REPLACE] FUNCTION\",\n \"CREATE FUNCTION MAPPING\",\n \"CREATE HISTOGRAM TEMPLATE\",\n \"CREATE [UNIQUE] INDEX\",\n \"CREATE INDEX EXTENSION\",\n \"CREATE [OR REPLACE] MASK\",\n \"CREATE [SPECIFIC] METHOD\",\n \"CREATE [OR REPLACE] MODULE\",\n \"CREATE [OR REPLACE] NICKNAME\",\n \"CREATE [OR REPLACE] PERMISSION\",\n \"CREATE [OR REPLACE] PROCEDURE\",\n \"CREATE ROLE\",\n \"CREATE SCHEMA\",\n \"CREATE SECURITY LABEL [COMPONENT]\",\n \"CREATE SECURITY POLICY\",\n \"CREATE [OR REPLACE] SEQUENCE\",\n \"CREATE SERVICE CLASS\",\n \"CREATE SERVER\",\n \"CREATE STOGROUP\",\n \"CREATE SYNONYM\",\n \"CREATE [LARGE | REGULAR | {SYSTEM | USER} TEMPORARY] TABLESPACE\",\n \"CREATE THRESHOLD\",\n \"CREATE {TRANSFORM | TRANSFORMS} FOR\",\n \"CREATE [OR REPLACE] TRIGGER\",\n \"CREATE TRUSTED CONTEXT\",\n \"CREATE [OR REPLACE] TYPE\",\n \"CREATE TYPE MAPPING\",\n \"CREATE USAGE LIST\",\n \"CREATE USER MAPPING FOR\",\n \"CREATE [OR REPLACE] VARIABLE\",\n \"CREATE WORK ACTION SET\",\n \"CREATE WORK CLASS SET\",\n \"CREATE WORKLOAD\",\n \"CREATE WRAPPER\",\n \"DECLARE\",\n \"DECLARE GLOBAL TEMPORARY TABLE\",\n \"DESCRIBE [INPUT | OUTPUT]\",\n \"DISCONNECT\",\n \"DROP [PUBLIC] ALIAS\",\n \"DROP AUDIT POLICY\",\n \"DROP BUFFERPOOL\",\n \"DROP DATABASE PARTITION GROUP\",\n \"DROP EVENT MONITOR\",\n \"DROP [SPECIFIC] FUNCTION\",\n \"DROP FUNCTION MAPPING\",\n \"DROP HISTOGRAM TEMPLATE\",\n \"DROP INDEX [EXTENSION]\",\n \"DROP MASK\",\n \"DROP [SPECIFIC] METHOD\",\n \"DROP MODULE\",\n \"DROP NICKNAME\",\n \"DROP PACKAGE\",\n \"DROP PERMISSION\",\n \"DROP [SPECIFIC] PROCEDURE\",\n \"DROP ROLE\",\n \"DROP SCHEMA\",\n \"DROP SECURITY LABEL [COMPONENT]\",\n \"DROP SECURITY POLICY\",\n \"DROP SEQUENCE\",\n \"DROP SERVER\",\n \"DROP SERVICE CLASS\",\n \"DROP STOGROUP\",\n \"DROP TABLE HIERARCHY\",\n \"DROP {TABLESPACE | TABLESPACES}\",\n \"DROP {TRANSFORM | TRANSFORMS}\",\n \"DROP THRESHOLD\",\n \"DROP TRIGGER\",\n \"DROP TRUSTED CONTEXT\",\n \"DROP TYPE [MAPPING]\",\n \"DROP USAGE LIST\",\n \"DROP USER MAPPING FOR\",\n \"DROP VARIABLE\",\n \"DROP VIEW [HIERARCHY]\",\n \"DROP WORK {ACTION | CLASS} SET\",\n \"DROP WORKLOAD\",\n \"DROP WRAPPER\",\n \"DROP XSROBJECT\",\n \"END DECLARE SECTION\",\n \"EXECUTE [IMMEDIATE]\",\n \"EXPLAIN {PLAN [SECTION] | ALL}\",\n \"FETCH [FROM]\",\n \"FLUSH {BUFFERPOOL | BUFFERPOOLS} ALL\",\n \"FLUSH EVENT MONITOR\",\n \"FLUSH FEDERATED CACHE\",\n \"FLUSH OPTIMIZATION PROFILE CACHE\",\n \"FLUSH PACKAGE CACHE [DYNAMIC]\",\n \"FLUSH AUTHENTICATION CACHE [FOR ALL]\",\n \"FREE LOCATOR\",\n \"GET DIAGNOSTICS\",\n \"GOTO\",\n \"GRANT\",\n // TODO: lots of syntax here\n \"INCLUDE\",\n \"ITERATE\",\n \"LEAVE\",\n \"LOCK TABLE\",\n \"LOOP\",\n \"OPEN\",\n \"PIPE\",\n \"PREPARE\",\n \"REFRESH TABLE\",\n \"RELEASE\",\n \"RELEASE [TO] SAVEPOINT\",\n \"RENAME [TABLE | INDEX | STOGROUP | TABLESPACE]\",\n \"REPEAT\",\n \"RESIGNAL\",\n \"RETURN\",\n \"REVOKE\",\n // TODO: lots of syntax here\n \"ROLLBACK [WORK] [TO SAVEPOINT]\",\n \"SAVEPOINT\",\n \"SET COMPILATION ENVIRONMENT\",\n \"SET CONNECTION\",\n \"SET CURRENT\",\n // TODO: bunch of syntax here\n \"SET ENCRYPTION PASSWORD\",\n \"SET EVENT MONITOR STATE\",\n \"SET INTEGRITY\",\n \"SET PASSTHRU\",\n \"SET PATH\",\n \"SET ROLE\",\n \"SET SCHEMA\",\n \"SET SERVER OPTION\",\n \"SET {SESSION AUTHORIZATION | SESSION_USER}\",\n \"SET USAGE LIST\",\n \"SIGNAL\",\n \"TRANSFER OWNERSHIP OF\",\n \"WHENEVER {NOT FOUND | SQLERROR | SQLWARNING}\",\n \"WHILE\"\n]);\nvar reservedSetOperations2 = expandPhrases([\"UNION [ALL]\", \"EXCEPT [ALL]\", \"INTERSECT [ALL]\"]);\nvar reservedJoins2 = expandPhrases([\n \"JOIN\",\n \"{LEFT | RIGHT | FULL} [OUTER] JOIN\",\n \"{INNER | CROSS} JOIN\"\n]);\nvar reservedPhrases2 = expandPhrases([\n \"ON DELETE\",\n \"ON UPDATE\",\n \"SET NULL\",\n \"{ROWS | RANGE} BETWEEN\"\n]);\nvar db2 = {\n name: \"db2\",\n tokenizerOptions: {\n reservedSelect: reservedSelect2,\n reservedClauses: [...reservedClauses2, ...onelineClauses2],\n reservedSetOperations: reservedSetOperations2,\n reservedJoins: reservedJoins2,\n reservedPhrases: reservedPhrases2,\n reservedKeywords: keywords2,\n reservedDataTypes: dataTypes2,\n reservedFunctionNames: functions2,\n extraParens: [\"[]\"],\n stringTypes: [\n { quote: \"''-qq\", prefixes: [\"G\", \"N\", \"U&\"] },\n { quote: \"''-raw\", prefixes: [\"X\", \"BX\", \"GX\", \"UX\"], requirePrefix: true }\n ],\n identTypes: [`\"\"-qq`],\n identChars: { first: \"@#$\", rest: \"@#$\" },\n paramTypes: { positional: true, named: [\":\"] },\n paramChars: { first: \"@#$\", rest: \"@#$\" },\n operators: [\n \"**\",\n \"%\",\n \"|\",\n \"&\",\n \"^\",\n \"~\",\n \"\\xAC=\",\n \"\\xAC>\",\n \"\\xAC<\",\n \"!>\",\n \"!<\",\n \"^=\",\n \"^>\",\n \"^<\",\n \"||\",\n \"->\",\n \"=>\"\n ]\n },\n formatOptions: {\n onelineClauses: onelineClauses2\n }\n};\n\n// src/languages/db2i/db2i.functions.ts\nvar functions3 = [\n // https://www.ibm.com/docs/en/i/7.5?topic=functions-aggregate\n // TODO: 'ANY', - conflicts with test for ANY predicate in 'operators.ys'!!\n \"ARRAY_AGG\",\n \"AVG\",\n \"CORR\",\n \"CORRELATION\",\n \"COUNT\",\n \"COUNT_BIG\",\n \"COVAR_POP\",\n \"COVARIANCE\",\n \"COVAR\",\n \"COVAR_SAMP\",\n \"COVARIANCE_SAMP\",\n \"EVERY\",\n \"GROUPING\",\n \"JSON_ARRAYAGG\",\n \"JSON_OBJECTAGG\",\n \"LISTAGG\",\n \"MAX\",\n \"MEDIAN\",\n \"MIN\",\n \"PERCENTILE_CONT\",\n \"PERCENTILE_DISC\",\n // https://www.ibm.com/docs/en/i/7.5?topic=functions-regression'\n \"REGR_AVGX\",\n \"REGR_AVGY\",\n \"REGR_COUNT\",\n \"REGR_INTERCEPT\",\n \"REGR_R2\",\n \"REGR_SLOPE\",\n \"REGR_SXX\",\n \"REGR_SXY\",\n \"REGR_SYY\",\n \"SOME\",\n \"STDDEV_POP\",\n \"STDDEV\",\n \"STDDEV_SAMP\",\n \"SUM\",\n \"VAR_POP\",\n \"VARIANCE\",\n \"VAR\",\n \"VAR_SAMP\",\n \"VARIANCE_SAMP\",\n \"XMLAGG\",\n \"XMLGROUP\",\n // https://www.ibm.com/docs/en/i/7.5?topic=functions-scalar\n \"ABS\",\n \"ABSVAL\",\n \"ACOS\",\n \"ADD_DAYS\",\n \"ADD_HOURS\",\n \"ADD_MINUTES\",\n \"ADD_MONTHS\",\n \"ADD_SECONDS\",\n \"ADD_YEARS\",\n \"ANTILOG\",\n \"ARRAY_MAX_CARDINALITY\",\n \"ARRAY_TRIM\",\n \"ASCII\",\n \"ASIN\",\n \"ATAN\",\n \"ATAN2\",\n \"ATANH\",\n \"BASE64_DECODE\",\n \"BASE64_ENCODE\",\n \"BIT_LENGTH\",\n \"BITAND\",\n \"BITANDNOT\",\n \"BITNOT\",\n \"BITOR\",\n \"BITXOR\",\n \"BSON_TO_JSON\",\n \"CARDINALITY\",\n \"CEIL\",\n \"CEILING\",\n \"CHAR_LENGTH\",\n \"CHARACTER_LENGTH\",\n \"CHR\",\n \"COALESCE\",\n \"COMPARE_DECFLOAT\",\n \"CONCAT\",\n \"CONTAINS\",\n \"COS\",\n \"COSH\",\n \"COT\",\n \"CURDATE\",\n \"CURTIME\",\n \"DATABASE\",\n \"DATAPARTITIONNAME\",\n \"DATAPARTITIONNUM\",\n \"DAY\",\n \"DAYNAME\",\n \"DAYOFMONTH\",\n \"DAYOFWEEK_ISO\",\n \"DAYOFWEEK\",\n \"DAYOFYEAR\",\n \"DAYS\",\n \"DBPARTITIONNAME\",\n \"DBPARTITIONNUM\",\n \"DECFLOAT_FORMAT\",\n \"DECFLOAT_SORTKEY\",\n \"DECRYPT_BINARY\",\n \"DECRYPT_BIT\",\n \"DECRYPT_CHAR\",\n \"DECRYPT_DB\",\n \"DEGREES\",\n \"DIFFERENCE\",\n \"DIGITS\",\n \"DLCOMMENT\",\n \"DLLINKTYPE\",\n \"DLURLCOMPLETE\",\n \"DLURLPATH\",\n \"DLURLPATHONLY\",\n \"DLURLSCHEME\",\n \"DLURLSERVER\",\n \"DLVALUE\",\n \"DOUBLE_PRECISION\",\n \"DOUBLE\",\n \"ENCRPYT\",\n \"ENCRYPT_AES\",\n \"ENCRYPT_AES256\",\n \"ENCRYPT_RC2\",\n \"ENCRYPT_TDES\",\n \"EXP\",\n \"EXTRACT\",\n \"FIRST_DAY\",\n \"FLOOR\",\n \"GENERATE_UNIQUE\",\n \"GET_BLOB_FROM_FILE\",\n \"GET_CLOB_FROM_FILE\",\n \"GET_DBCLOB_FROM_FILE\",\n \"GET_XML_FILE\",\n \"GETHINT\",\n \"GREATEST\",\n \"HASH_MD5\",\n \"HASH_ROW\",\n \"HASH_SHA1\",\n \"HASH_SHA256\",\n \"HASH_SHA512\",\n \"HASH_VALUES\",\n \"HASHED_VALUE\",\n \"HEX\",\n \"HEXTORAW\",\n \"HOUR\",\n \"HTML_ENTITY_DECODE\",\n \"HTML_ENTITY_ENCODE\",\n \"HTTP_DELETE_BLOB\",\n \"HTTP_DELETE\",\n \"HTTP_GET_BLOB\",\n \"HTTP_GET\",\n \"HTTP_PATCH_BLOB\",\n \"HTTP_PATCH\",\n \"HTTP_POST_BLOB\",\n \"HTTP_POST\",\n \"HTTP_PUT_BLOB\",\n \"HTTP_PUT\",\n \"IDENTITY_VAL_LOCAL\",\n \"IFNULL\",\n \"INSERT\",\n \"INSTR\",\n \"INTERPRET\",\n \"ISFALSE\",\n \"ISNOTFALSE\",\n \"ISNOTTRUE\",\n \"ISTRUE\",\n \"JSON_ARRAY\",\n \"JSON_OBJECT\",\n \"JSON_QUERY\",\n \"JSON_TO_BSON\",\n \"JSON_UPDATE\",\n \"JSON_VALUE\",\n \"JULIAN_DAY\",\n \"LAND\",\n \"LAST_DAY\",\n \"LCASE\",\n \"LEAST\",\n \"LEFT\",\n \"LENGTH\",\n \"LN\",\n \"LNOT\",\n \"LOCATE_IN_STRING\",\n \"LOCATE\",\n \"LOG10\",\n \"LOR\",\n \"LOWER\",\n \"LPAD\",\n \"LTRIM\",\n \"MAX_CARDINALITY\",\n \"MAX\",\n \"MICROSECOND\",\n \"MIDNIGHT_SECONDS\",\n \"MIN\",\n \"MINUTE\",\n \"MOD\",\n \"MONTH\",\n \"MONTHNAME\",\n \"MONTHS_BETWEEN\",\n \"MQREAD\",\n \"MQREADCLOB\",\n \"MQRECEIVE\",\n \"MQRECEIVECLOB\",\n \"MQSEND\",\n \"MULTIPLY_ALT\",\n \"NEXT_DAY\",\n \"NORMALIZE_DECFLOAT\",\n \"NOW\",\n \"NULLIF\",\n \"NVL\",\n \"OCTET_LENGTH\",\n \"OVERLAY\",\n \"PI\",\n \"POSITION\",\n \"POSSTR\",\n \"POW\",\n \"POWER\",\n \"QUANTIZE\",\n \"QUARTER\",\n \"RADIANS\",\n \"RAISE_ERROR\",\n \"RANDOM\",\n \"RAND\",\n \"REGEXP_COUNT\",\n \"REGEXP_INSTR\",\n \"REGEXP_REPLACE\",\n \"REGEXP_SUBSTR\",\n \"REPEAT\",\n \"REPLACE\",\n \"RID\",\n \"RIGHT\",\n \"ROUND_TIMESTAMP\",\n \"ROUND\",\n \"RPAD\",\n \"RRN\",\n \"RTRIM\",\n \"SCORE\",\n \"SECOND\",\n \"SIGN\",\n \"SIN\",\n \"SINH\",\n \"SOUNDEX\",\n \"SPACE\",\n \"SQRT\",\n \"STRIP\",\n \"STRLEFT\",\n \"STRPOS\",\n \"STRRIGHT\",\n \"SUBSTR\",\n \"SUBSTRING\",\n \"TABLE_NAME\",\n \"TABLE_SCHEMA\",\n \"TAN\",\n \"TANH\",\n \"TIMESTAMP_FORMAT\",\n \"TIMESTAMP_ISO\",\n \"TIMESTAMPDIFF_BIG\",\n \"TIMESTAMPDIFF\",\n \"TO_CHAR\",\n \"TO_CLOB\",\n \"TO_DATE\",\n \"TO_NUMBER\",\n \"TO_TIMESTAMP\",\n \"TOTALORDER\",\n \"TRANSLATE\",\n \"TRIM_ARRAY\",\n \"TRIM\",\n \"TRUNC_TIMESTAMP\",\n \"TRUNC\",\n \"TRUNCATE\",\n \"UCASE\",\n \"UPPER\",\n \"URL_DECODE\",\n \"URL_ENCODE\",\n \"VALUE\",\n \"VARBINARY_FORMAT\",\n \"VARCHAR_BIT_FORMAT\",\n \"VARCHAR_FORMAT_BINARY\",\n \"VARCHAR_FORMAT\",\n \"VERIFY_GROUP_FOR_USER\",\n \"WEEK_ISO\",\n \"WEEK\",\n \"WRAP\",\n \"XMLATTRIBUTES\",\n \"XMLCOMMENT\",\n \"XMLCONCAT\",\n \"XMLDOCUMENT\",\n \"XMLELEMENT\",\n \"XMLFOREST\",\n \"XMLNAMESPACES\",\n \"XMLPARSE\",\n \"XMLPI\",\n \"XMLROW\",\n \"XMLSERIALIZE\",\n \"XMLTEXT\",\n \"XMLVALIDATE\",\n \"XOR\",\n \"XSLTRANSFORM\",\n \"YEAR\",\n \"ZONED\",\n // https://www.ibm.com/docs/en/i/7.5?topic=functions-table\n \"BASE_TABLE\",\n \"HTTP_DELETE_BLOB_VERBOSE\",\n \"HTTP_DELETE_VERBOSE\",\n \"HTTP_GET_BLOB_VERBOSE\",\n \"HTTP_GET_VERBOSE\",\n \"HTTP_PATCH_BLOB_VERBOSE\",\n \"HTTP_PATCH_VERBOSE\",\n \"HTTP_POST_BLOB_VERBOSE\",\n \"HTTP_POST_VERBOSE\",\n \"HTTP_PUT_BLOB_VERBOSE\",\n \"HTTP_PUT_VERBOSE\",\n \"JSON_TABLE\",\n \"MQREADALL\",\n \"MQREADALLCLOB\",\n \"MQRECEIVEALL\",\n \"MQRECEIVEALLCLOB\",\n \"XMLTABLE\",\n // https://www.ibm.com/docs/en/db2-for-zos/11?topic=functions-row\n \"UNPACK\",\n // https://www.ibm.com/docs/en/i/7.5?topic=expressions-olap-specifications\n \"CUME_DIST\",\n \"DENSE_RANK\",\n \"FIRST_VALUE\",\n \"LAG\",\n \"LAST_VALUE\",\n \"LEAD\",\n \"NTH_VALUE\",\n \"NTILE\",\n \"PERCENT_RANK\",\n \"RANK\",\n \"RATIO_TO_REPORT\",\n \"ROW_NUMBER\",\n // Type casting\n \"CAST\"\n];\n\n// src/languages/db2i/db2i.keywords.ts\nvar keywords3 = [\n // https://www.ibm.com/docs/en/i/7.5?topic=words-reserved\n // TODO: This list likely contains all keywords, not only the reserved ones,\n // try to filter it down to just the reserved keywords.\n \"ABSENT\",\n \"ACCORDING\",\n \"ACCTNG\",\n \"ACTION\",\n \"ACTIVATE\",\n \"ADD\",\n \"ALIAS\",\n \"ALL\",\n \"ALLOCATE\",\n \"ALLOW\",\n \"ALTER\",\n \"AND\",\n \"ANY\",\n \"APPEND\",\n \"APPLNAME\",\n \"ARRAY\",\n \"ARRAY_AGG\",\n \"ARRAY_TRIM\",\n \"AS\",\n \"ASC\",\n \"ASENSITIVE\",\n \"ASSOCIATE\",\n \"ATOMIC\",\n \"ATTACH\",\n \"ATTRIBUTES\",\n \"AUTHORIZATION\",\n \"AUTONOMOUS\",\n \"BEFORE\",\n \"BEGIN\",\n \"BETWEEN\",\n \"BIND\",\n \"BSON\",\n \"BUFFERPOOL\",\n \"BY\",\n \"CACHE\",\n \"CALL\",\n \"CALLED\",\n \"CARDINALITY\",\n \"CASE\",\n \"CAST\",\n \"CHECK\",\n \"CL\",\n \"CLOSE\",\n \"CLUSTER\",\n \"COLLECT\",\n \"COLLECTION\",\n \"COLUMN\",\n \"COMMENT\",\n \"COMMIT\",\n \"COMPACT\",\n \"COMPARISONS\",\n \"COMPRESS\",\n \"CONCAT\",\n \"CONCURRENT\",\n \"CONDITION\",\n \"CONNECT\",\n \"CONNECT_BY_ROOT\",\n \"CONNECTION\",\n \"CONSTANT\",\n \"CONSTRAINT\",\n \"CONTAINS\",\n \"CONTENT\",\n \"CONTINUE\",\n \"COPY\",\n \"COUNT\",\n \"COUNT_BIG\",\n \"CREATE\",\n \"CREATEIN\",\n \"CROSS\",\n \"CUBE\",\n \"CUME_DIST\",\n \"CURRENT\",\n \"CURRENT_DATE\",\n \"CURRENT_PATH\",\n \"CURRENT_SCHEMA\",\n \"CURRENT_SERVER\",\n \"CURRENT_TIME\",\n \"CURRENT_TIMESTAMP\",\n \"CURRENT_TIMEZONE\",\n \"CURRENT_USER\",\n \"CURSOR\",\n \"CYCLE\",\n \"DATABASE\",\n \"DATAPARTITIONNAME\",\n \"DATAPARTITIONNUM\",\n \"DAY\",\n \"DAYS\",\n \"DB2GENERAL\",\n \"DB2GENRL\",\n \"DB2SQL\",\n \"DBINFO\",\n \"DBPARTITIONNAME\",\n \"DBPARTITIONNUM\",\n \"DEACTIVATE\",\n \"DEALLOCATE\",\n \"DECLARE\",\n \"DEFAULT\",\n \"DEFAULTS\",\n \"DEFER\",\n \"DEFINE\",\n \"DEFINITION\",\n \"DELETE\",\n \"DELETING\",\n \"DENSE_RANK\",\n \"DENSERANK\",\n \"DESC\",\n \"DESCRIBE\",\n \"DESCRIPTOR\",\n \"DETACH\",\n \"DETERMINISTIC\",\n \"DIAGNOSTICS\",\n \"DISABLE\",\n \"DISALLOW\",\n \"DISCONNECT\",\n \"DISTINCT\",\n \"DO\",\n \"DOCUMENT\",\n \"DROP\",\n \"DYNAMIC\",\n \"EACH\",\n \"ELSE\",\n \"ELSEIF\",\n \"EMPTY\",\n \"ENABLE\",\n \"ENCODING\",\n \"ENCRYPTION\",\n \"END\",\n \"END-EXEC\",\n \"ENDING\",\n \"ENFORCED\",\n \"ERROR\",\n \"ESCAPE\",\n \"EVERY\",\n \"EXCEPT\",\n \"EXCEPTION\",\n \"EXCLUDING\",\n \"EXCLUSIVE\",\n \"EXECUTE\",\n \"EXISTS\",\n \"EXIT\",\n \"EXTEND\",\n \"EXTERNAL\",\n \"EXTRACT\",\n \"FALSE\",\n \"FENCED\",\n \"FETCH\",\n \"FIELDPROC\",\n \"FILE\",\n \"FINAL\",\n \"FIRST_VALUE\",\n \"FOR\",\n \"FOREIGN\",\n \"FORMAT\",\n \"FREE\",\n \"FREEPAGE\",\n \"FROM\",\n \"FULL\",\n \"FUNCTION\",\n \"GBPCACHE\",\n \"GENERAL\",\n \"GENERATED\",\n \"GET\",\n \"GLOBAL\",\n \"GO\",\n \"GOTO\",\n \"GRANT\",\n \"GROUP\",\n \"HANDLER\",\n \"HASH\",\n \"HASH_ROW\",\n \"HASHED_VALUE\",\n \"HAVING\",\n \"HINT\",\n \"HOLD\",\n \"HOUR\",\n \"HOURS\",\n // 'ID', Not actually a reserved keyword\n \"IDENTITY\",\n \"IF\",\n \"IGNORE\",\n \"IMMEDIATE\",\n \"IMPLICITLY\",\n \"IN\",\n \"INCLUDE\",\n \"INCLUDING\",\n \"INCLUSIVE\",\n \"INCREMENT\",\n \"INDEX\",\n \"INDEXBP\",\n \"INDICATOR\",\n \"INF\",\n \"INFINITY\",\n \"INHERIT\",\n \"INLINE\",\n \"INNER\",\n \"INOUT\",\n \"INSENSITIVE\",\n \"INSERT\",\n \"INSERTING\",\n \"INTEGRITY\",\n \"INTERPRET\",\n \"INTERSECT\",\n \"INTO\",\n \"IS\",\n \"ISNULL\",\n \"ISOLATION\",\n \"ITERATE\",\n \"JAVA\",\n \"JOIN\",\n \"JSON\",\n \"JSON_ARRAY\",\n \"JSON_ARRAYAGG\",\n \"JSON_EXISTS\",\n \"JSON_OBJECT\",\n \"JSON_OBJECTAGG\",\n \"JSON_QUERY\",\n \"JSON_TABLE\",\n \"JSON_VALUE\",\n \"KEEP\",\n \"KEY\",\n \"KEYS\",\n \"LABEL\",\n \"LAG\",\n \"LANGUAGE\",\n \"LAST_VALUE\",\n \"LATERAL\",\n \"LEAD\",\n \"LEAVE\",\n \"LEFT\",\n \"LEVEL2\",\n \"LIKE\",\n \"LIMIT\",\n \"LINKTYPE\",\n \"LISTAGG\",\n \"LOCAL\",\n \"LOCALDATE\",\n \"LOCALTIME\",\n \"LOCALTIMESTAMP\",\n \"LOCATION\",\n \"LOCATOR\",\n \"LOCK\",\n \"LOCKSIZE\",\n \"LOG\",\n \"LOGGED\",\n \"LOOP\",\n \"MAINTAINED\",\n \"MASK\",\n \"MATCHED\",\n \"MATERIALIZED\",\n \"MAXVALUE\",\n \"MERGE\",\n \"MICROSECOND\",\n \"MICROSECONDS\",\n \"MINPCTUSED\",\n \"MINUTE\",\n \"MINUTES\",\n \"MINVALUE\",\n \"MIRROR\",\n \"MIXED\",\n \"MODE\",\n \"MODIFIES\",\n \"MONTH\",\n \"MONTHS\",\n \"NAMESPACE\",\n \"NAN\",\n \"NATIONAL\",\n \"NCHAR\",\n \"NCLOB\",\n \"NESTED\",\n \"NEW\",\n \"NEW_TABLE\",\n \"NEXTVAL\",\n \"NO\",\n \"NOCACHE\",\n \"NOCYCLE\",\n \"NODENAME\",\n \"NODENUMBER\",\n \"NOMAXVALUE\",\n \"NOMINVALUE\",\n \"NONE\",\n \"NOORDER\",\n \"NORMALIZED\",\n \"NOT\",\n \"NOTNULL\",\n \"NTH_VALUE\",\n \"NTILE\",\n \"NULL\",\n \"NULLS\",\n \"NVARCHAR\",\n \"OBID\",\n \"OBJECT\",\n \"OF\",\n \"OFF\",\n \"OFFSET\",\n \"OLD\",\n \"OLD_TABLE\",\n \"OMIT\",\n \"ON\",\n \"ONLY\",\n \"OPEN\",\n \"OPTIMIZE\",\n \"OPTION\",\n \"OR\",\n \"ORDER\",\n \"ORDINALITY\",\n \"ORGANIZE\",\n \"OUT\",\n \"OUTER\",\n \"OVER\",\n \"OVERLAY\",\n \"OVERRIDING\",\n \"PACKAGE\",\n \"PADDED\",\n \"PAGE\",\n \"PAGESIZE\",\n \"PARAMETER\",\n \"PART\",\n \"PARTITION\",\n \"PARTITIONED\",\n \"PARTITIONING\",\n \"PARTITIONS\",\n \"PASSING\",\n \"PASSWORD\",\n \"PATH\",\n \"PCTFREE\",\n \"PERCENT_RANK\",\n \"PERCENTILE_CONT\",\n \"PERCENTILE_DISC\",\n \"PERIOD\",\n \"PERMISSION\",\n \"PIECESIZE\",\n \"PIPE\",\n \"PLAN\",\n \"POSITION\",\n \"PREPARE\",\n \"PREVVAL\",\n \"PRIMARY\",\n \"PRIOR\",\n \"PRIQTY\",\n \"PRIVILEGES\",\n \"PROCEDURE\",\n \"PROGRAM\",\n \"PROGRAMID\",\n \"QUERY\",\n \"RANGE\",\n \"RANK\",\n \"RATIO_TO_REPORT\",\n \"RCDFMT\",\n \"READ\",\n \"READS\",\n \"RECOVERY\",\n \"REFERENCES\",\n \"REFERENCING\",\n \"REFRESH\",\n \"REGEXP_LIKE\",\n \"RELEASE\",\n \"RENAME\",\n \"REPEAT\",\n \"RESET\",\n \"RESIGNAL\",\n \"RESTART\",\n \"RESULT\",\n \"RESULT_SET_LOCATOR\",\n \"RETURN\",\n \"RETURNING\",\n \"RETURNS\",\n \"REVOKE\",\n \"RID\",\n \"RIGHT\",\n \"ROLLBACK\",\n \"ROLLUP\",\n \"ROUTINE\",\n \"ROW\",\n \"ROW_NUMBER\",\n \"ROWNUMBER\",\n \"ROWS\",\n \"RRN\",\n \"RUN\",\n \"SAVEPOINT\",\n \"SBCS\",\n \"SCALAR\",\n \"SCHEMA\",\n \"SCRATCHPAD\",\n \"SCROLL\",\n \"SEARCH\",\n \"SECOND\",\n \"SECONDS\",\n \"SECQTY\",\n \"SECURED\",\n \"SELECT\",\n \"SENSITIVE\",\n \"SEQUENCE\",\n \"SESSION\",\n \"SESSION_USER\",\n \"SET\",\n \"SIGNAL\",\n \"SIMPLE\",\n \"SKIP\",\n \"SNAN\",\n \"SOME\",\n \"SOURCE\",\n \"SPECIFIC\",\n \"SQL\",\n \"SQLID\",\n \"SQLIND_DEFAULT\",\n \"SQLIND_UNASSIGNED\",\n \"STACKED\",\n \"START\",\n \"STARTING\",\n \"STATEMENT\",\n \"STATIC\",\n \"STOGROUP\",\n \"SUBSTRING\",\n \"SUMMARY\",\n \"SYNONYM\",\n \"SYSTEM_TIME\",\n \"SYSTEM_USER\",\n \"TABLE\",\n \"TABLESPACE\",\n \"TABLESPACES\",\n \"TAG\",\n \"THEN\",\n \"THREADSAFE\",\n \"TO\",\n \"TRANSACTION\",\n \"TRANSFER\",\n \"TRIGGER\",\n \"TRIM\",\n \"TRIM_ARRAY\",\n \"TRUE\",\n \"TRUNCATE\",\n \"TRY_CAST\",\n \"TYPE\",\n \"UNDO\",\n \"UNION\",\n \"UNIQUE\",\n \"UNIT\",\n \"UNKNOWN\",\n \"UNNEST\",\n \"UNTIL\",\n \"UPDATE\",\n \"UPDATING\",\n \"URI\",\n \"USAGE\",\n \"USE\",\n \"USER\",\n \"USERID\",\n \"USING\",\n \"VALUE\",\n \"VALUES\",\n \"VARIABLE\",\n \"VARIANT\",\n \"VCAT\",\n \"VERSION\",\n \"VERSIONING\",\n \"VIEW\",\n \"VOLATILE\",\n \"WAIT\",\n \"WHEN\",\n \"WHENEVER\",\n \"WHERE\",\n \"WHILE\",\n \"WITH\",\n \"WITHIN\",\n \"WITHOUT\",\n \"WRAPPED\",\n \"WRAPPER\",\n \"WRITE\",\n \"WRKSTNNAME\",\n \"XMLAGG\",\n \"XMLATTRIBUTES\",\n \"XMLCAST\",\n \"XMLCOMMENT\",\n \"XMLCONCAT\",\n \"XMLDOCUMENT\",\n \"XMLELEMENT\",\n \"XMLFOREST\",\n \"XMLGROUP\",\n \"XMLNAMESPACES\",\n \"XMLPARSE\",\n \"XMLPI\",\n \"XMLROW\",\n \"XMLSERIALIZE\",\n \"XMLTABLE\",\n \"XMLTEXT\",\n \"XMLVALIDATE\",\n \"XSLTRANSFORM\",\n \"XSROBJECT\",\n \"YEAR\",\n \"YEARS\",\n \"YES\",\n \"ZONE\"\n];\nvar dataTypes3 = [\n // https://www.ibm.com/docs/en/i/7.2?topic=iaodsd-odbc-data-types-how-they-correspond-db2-i-database-types\n \"ARRAY\",\n \"BIGINT\",\n \"BINARY\",\n \"BIT\",\n \"BLOB\",\n \"BOOLEAN\",\n \"CCSID\",\n \"CHAR\",\n \"CHARACTER\",\n \"CLOB\",\n \"DATA\",\n \"DATALINK\",\n \"DATE\",\n \"DBCLOB\",\n \"DECFLOAT\",\n \"DECIMAL\",\n \"DEC\",\n \"DOUBLE\",\n \"DOUBLE PRECISION\",\n \"FLOAT\",\n \"GRAPHIC\",\n \"INT\",\n \"INTEGER\",\n \"LONG\",\n \"NUMERIC\",\n \"REAL\",\n \"ROWID\",\n \"SMALLINT\",\n \"TIME\",\n \"TIMESTAMP\",\n \"VARBINARY\",\n \"VARCHAR\",\n \"VARGRAPHIC\",\n \"XML\"\n];\n\n// src/languages/db2i/db2i.formatter.ts\nvar reservedSelect3 = expandPhrases([\"SELECT [ALL | DISTINCT]\"]);\nvar reservedClauses3 = expandPhrases([\n // queries\n \"WITH [RECURSIVE]\",\n \"INTO\",\n \"FROM\",\n \"WHERE\",\n \"GROUP BY\",\n \"HAVING\",\n \"PARTITION BY\",\n \"ORDER [SIBLINGS] BY [INPUT SEQUENCE]\",\n \"LIMIT\",\n \"OFFSET\",\n \"FETCH {FIRST | NEXT}\",\n \"FOR UPDATE [OF]\",\n \"FOR READ ONLY\",\n \"OPTIMIZE FOR\",\n // Data modification\n // - insert:\n \"INSERT INTO\",\n \"VALUES\",\n // - update:\n \"SET\",\n // - merge:\n \"MERGE INTO\",\n \"WHEN [NOT] MATCHED [THEN]\",\n \"UPDATE SET\",\n \"DELETE\",\n \"INSERT\",\n // Data definition - table\n \"FOR SYSTEM NAME\"\n]);\nvar onelineClauses3 = expandPhrases([\n // - create:\n \"CREATE [OR REPLACE] TABLE\",\n \"CREATE [OR REPLACE] [RECURSIVE] VIEW\",\n // - update:\n \"UPDATE\",\n \"WHERE CURRENT OF\",\n \"WITH {NC | RR | RS | CS | UR}\",\n // - delete:\n \"DELETE FROM\",\n // - drop table:\n \"DROP TABLE\",\n // alter table:\n \"ALTER TABLE\",\n \"ADD [COLUMN]\",\n \"ALTER [COLUMN]\",\n \"DROP [COLUMN]\",\n \"SET DATA TYPE\",\n // for alter column\n \"SET {GENERATED ALWAYS | GENERATED BY DEFAULT}\",\n // for alter column\n \"SET NOT NULL\",\n // for alter column\n \"SET {NOT HIDDEN | IMPLICITLY HIDDEN}\",\n // for alter column\n \"SET FIELDPROC\",\n // for alter column\n \"DROP {DEFAULT | NOT NULL | GENERATED | IDENTITY | ROW CHANGE TIMESTAMP | FIELDPROC}\",\n // for alter column\n // - truncate:\n \"TRUNCATE [TABLE]\",\n // other\n \"SET [CURRENT] SCHEMA\",\n \"SET CURRENT_SCHEMA\",\n // https://www.ibm.com/docs/en/i/7.5?topic=reference-statements\n \"ALLOCATE CURSOR\",\n \"ALLOCATE [SQL] DESCRIPTOR [LOCAL | GLOBAL] SQL\",\n \"ALTER [SPECIFIC] {FUNCTION | PROCEDURE}\",\n \"ALTER {MASK | PERMISSION | SEQUENCE | TRIGGER}\",\n \"ASSOCIATE [RESULT SET] {LOCATOR | LOCATORS}\",\n \"BEGIN DECLARE SECTION\",\n \"CALL\",\n \"CLOSE\",\n \"COMMENT ON {ALIAS | COLUMN | CONSTRAINT | INDEX | MASK | PACKAGE | PARAMETER | PERMISSION | SEQUENCE | TABLE | TRIGGER | VARIABLE | XSROBJECT}\",\n \"COMMENT ON [SPECIFIC] {FUNCTION | PROCEDURE | ROUTINE}\",\n \"COMMENT ON PARAMETER SPECIFIC {FUNCTION | PROCEDURE | ROUTINE}\",\n \"COMMENT ON [TABLE FUNCTION] RETURN COLUMN\",\n \"COMMENT ON [TABLE FUNCTION] RETURN COLUMN SPECIFIC [PROCEDURE | ROUTINE]\",\n \"COMMIT [WORK] [HOLD]\",\n \"CONNECT [TO | RESET] USER\",\n \"CREATE [OR REPLACE] {ALIAS | FUNCTION | MASK | PERMISSION | PROCEDURE | SEQUENCE | TRIGGER | VARIABLE}\",\n \"CREATE [ENCODED VECTOR] INDEX\",\n \"CREATE UNIQUE [WHERE NOT NULL] INDEX\",\n \"CREATE SCHEMA\",\n \"CREATE TYPE\",\n \"DEALLOCATE [SQL] DESCRIPTOR [LOCAL | GLOBAL]\",\n \"DECLARE CURSOR\",\n \"DECLARE GLOBAL TEMPORARY TABLE\",\n \"DECLARE\",\n \"DESCRIBE CURSOR\",\n \"DESCRIBE INPUT\",\n \"DESCRIBE [OUTPUT]\",\n \"DESCRIBE {PROCEDURE | ROUTINE}\",\n \"DESCRIBE TABLE\",\n \"DISCONNECT ALL [SQL]\",\n \"DISCONNECT [CURRENT]\",\n \"DROP {ALIAS | INDEX | MASK | PACKAGE | PERMISSION | SCHEMA | SEQUENCE | TABLE | TYPE | VARIABLE | XSROBJECT} [IF EXISTS]\",\n \"DROP [SPECIFIC] {FUNCTION | PROCEDURE | ROUTINE} [IF EXISTS]\",\n \"END DECLARE SECTION\",\n \"EXECUTE [IMMEDIATE]\",\n // 'FETCH {NEXT | PRIOR | FIRST | LAST | BEFORE | AFTER | CURRENT} [FROM]',\n \"FREE LOCATOR\",\n \"GET [SQL] DESCRIPTOR [LOCAL | GLOBAL]\",\n \"GET [CURRENT | STACKED] DIAGNOSTICS\",\n \"GRANT {ALL [PRIVILEGES] | ALTER | EXECUTE} ON {FUNCTION | PROCEDURE | ROUTINE | PACKAGE | SCHEMA | SEQUENCE | TABLE | TYPE | VARIABLE | XSROBJECT}\",\n \"HOLD LOCATOR\",\n \"INCLUDE\",\n \"LABEL ON {ALIAS | COLUMN | CONSTRAINT | INDEX | MASK | PACKAGE | PERMISSION | SEQUENCE | TABLE | TRIGGER | VARIABLE | XSROBJECT}\",\n \"LABEL ON [SPECIFIC] {FUNCTION | PROCEDURE | ROUTINE}\",\n \"LOCK TABLE\",\n \"OPEN\",\n \"PREPARE\",\n \"REFRESH TABLE\",\n \"RELEASE\",\n \"RELEASE [TO] SAVEPOINT\",\n \"RENAME [TABLE | INDEX] TO\",\n \"REVOKE {ALL [PRIVILEGES] | ALTER | EXECUTE} ON {FUNCTION | PROCEDURE | ROUTINE | PACKAGE | SCHEMA | SEQUENCE | TABLE | TYPE | VARIABLE | XSROBJECT}\",\n \"ROLLBACK [WORK] [HOLD | TO SAVEPOINT]\",\n \"SAVEPOINT\",\n \"SET CONNECTION\",\n \"SET CURRENT {DEBUG MODE | DECFLOAT ROUNDING MODE | DEGREE | IMPLICIT XMLPARSE OPTION | TEMPORAL SYSTEM_TIME}\",\n \"SET [SQL] DESCRIPTOR [LOCAL | GLOBAL]\",\n \"SET ENCRYPTION PASSWORD\",\n \"SET OPTION\",\n \"SET {[CURRENT [FUNCTION]] PATH | CURRENT_PATH}\",\n \"SET RESULT SETS [WITH RETURN [TO CALLER | TO CLIENT]]\",\n \"SET SESSION AUTHORIZATION\",\n \"SET SESSION_USER\",\n \"SET TRANSACTION\",\n \"SIGNAL SQLSTATE [VALUE]\",\n \"TAG\",\n \"TRANSFER OWNERSHIP OF\",\n \"WHENEVER {NOT FOUND | SQLERROR | SQLWARNING}\"\n]);\nvar reservedSetOperations3 = expandPhrases([\"UNION [ALL]\", \"EXCEPT [ALL]\", \"INTERSECT [ALL]\"]);\nvar reservedJoins3 = expandPhrases([\n \"JOIN\",\n \"{LEFT | RIGHT | FULL} [OUTER] JOIN\",\n \"[LEFT | RIGHT] EXCEPTION JOIN\",\n \"{INNER | CROSS} JOIN\"\n]);\nvar reservedPhrases3 = expandPhrases([\n \"ON DELETE\",\n \"ON UPDATE\",\n \"SET NULL\",\n \"{ROWS | RANGE} BETWEEN\"\n]);\nvar db2i = {\n name: \"db2i\",\n tokenizerOptions: {\n reservedSelect: reservedSelect3,\n reservedClauses: [...reservedClauses3, ...onelineClauses3],\n reservedSetOperations: reservedSetOperations3,\n reservedJoins: reservedJoins3,\n reservedPhrases: reservedPhrases3,\n reservedKeywords: keywords3,\n reservedDataTypes: dataTypes3,\n reservedFunctionNames: functions3,\n nestedBlockComments: true,\n extraParens: [\"[]\"],\n stringTypes: [\n { quote: \"''-qq\", prefixes: [\"G\", \"N\"] },\n { quote: \"''-raw\", prefixes: [\"X\", \"BX\", \"GX\", \"UX\"], requirePrefix: true }\n ],\n identTypes: [`\"\"-qq`],\n identChars: { first: \"@#$\", rest: \"@#$\" },\n paramTypes: { positional: true, named: [\":\"] },\n paramChars: { first: \"@#$\", rest: \"@#$\" },\n operators: [\"**\", \"\\xAC=\", \"\\xAC>\", \"\\xAC<\", \"!>\", \"!<\", \"||\", \"=>\"]\n },\n formatOptions: {\n onelineClauses: onelineClauses3\n }\n};\n\n// src/languages/hive/hive.functions.ts\nvar functions4 = [\n // https://cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF\n // math\n \"ABS\",\n \"ACOS\",\n \"ASIN\",\n \"ATAN\",\n \"BIN\",\n \"BROUND\",\n \"CBRT\",\n \"CEIL\",\n \"CEILING\",\n \"CONV\",\n \"COS\",\n \"DEGREES\",\n // 'E',\n \"EXP\",\n \"FACTORIAL\",\n \"FLOOR\",\n \"GREATEST\",\n \"HEX\",\n \"LEAST\",\n \"LN\",\n \"LOG\",\n \"LOG10\",\n \"LOG2\",\n \"NEGATIVE\",\n \"PI\",\n \"PMOD\",\n \"POSITIVE\",\n \"POW\",\n \"POWER\",\n \"RADIANS\",\n \"RAND\",\n \"ROUND\",\n \"SHIFTLEFT\",\n \"SHIFTRIGHT\",\n \"SHIFTRIGHTUNSIGNED\",\n \"SIGN\",\n \"SIN\",\n \"SQRT\",\n \"TAN\",\n \"UNHEX\",\n \"WIDTH_BUCKET\",\n // array\n \"ARRAY_CONTAINS\",\n \"MAP_KEYS\",\n \"MAP_VALUES\",\n \"SIZE\",\n \"SORT_ARRAY\",\n // conversion\n \"BINARY\",\n \"CAST\",\n // date\n \"ADD_MONTHS\",\n \"DATE\",\n \"DATE_ADD\",\n \"DATE_FORMAT\",\n \"DATE_SUB\",\n \"DATEDIFF\",\n \"DAY\",\n \"DAYNAME\",\n \"DAYOFMONTH\",\n \"DAYOFYEAR\",\n \"EXTRACT\",\n \"FROM_UNIXTIME\",\n \"FROM_UTC_TIMESTAMP\",\n \"HOUR\",\n \"LAST_DAY\",\n \"MINUTE\",\n \"MONTH\",\n \"MONTHS_BETWEEN\",\n \"NEXT_DAY\",\n \"QUARTER\",\n \"SECOND\",\n \"TIMESTAMP\",\n \"TO_DATE\",\n \"TO_UTC_TIMESTAMP\",\n \"TRUNC\",\n \"UNIX_TIMESTAMP\",\n \"WEEKOFYEAR\",\n \"YEAR\",\n // conditional\n \"ASSERT_TRUE\",\n \"COALESCE\",\n \"IF\",\n \"ISNOTNULL\",\n \"ISNULL\",\n \"NULLIF\",\n \"NVL\",\n // string\n \"ASCII\",\n \"BASE64\",\n \"CHARACTER_LENGTH\",\n \"CHR\",\n \"CONCAT\",\n \"CONCAT_WS\",\n \"CONTEXT_NGRAMS\",\n \"DECODE\",\n \"ELT\",\n \"ENCODE\",\n \"FIELD\",\n \"FIND_IN_SET\",\n \"FORMAT_NUMBER\",\n \"GET_JSON_OBJECT\",\n \"IN_FILE\",\n \"INITCAP\",\n \"INSTR\",\n \"LCASE\",\n \"LENGTH\",\n \"LEVENSHTEIN\",\n \"LOCATE\",\n \"LOWER\",\n \"LPAD\",\n \"LTRIM\",\n \"NGRAMS\",\n \"OCTET_LENGTH\",\n \"PARSE_URL\",\n \"PRINTF\",\n \"QUOTE\",\n \"REGEXP_EXTRACT\",\n \"REGEXP_REPLACE\",\n \"REPEAT\",\n \"REVERSE\",\n \"RPAD\",\n \"RTRIM\",\n \"SENTENCES\",\n \"SOUNDEX\",\n \"SPACE\",\n \"SPLIT\",\n \"STR_TO_MAP\",\n \"SUBSTR\",\n \"SUBSTRING\",\n \"TRANSLATE\",\n \"TRIM\",\n \"UCASE\",\n \"UNBASE64\",\n \"UPPER\",\n // masking\n \"MASK\",\n \"MASK_FIRST_N\",\n \"MASK_HASH\",\n \"MASK_LAST_N\",\n \"MASK_SHOW_FIRST_N\",\n \"MASK_SHOW_LAST_N\",\n // misc\n \"AES_DECRYPT\",\n \"AES_ENCRYPT\",\n \"CRC32\",\n \"CURRENT_DATABASE\",\n \"CURRENT_USER\",\n \"HASH\",\n \"JAVA_METHOD\",\n \"LOGGED_IN_USER\",\n \"MD5\",\n \"REFLECT\",\n \"SHA\",\n \"SHA1\",\n \"SHA2\",\n \"SURROGATE_KEY\",\n \"VERSION\",\n // aggregate\n \"AVG\",\n \"COLLECT_LIST\",\n \"COLLECT_SET\",\n \"CORR\",\n \"COUNT\",\n \"COVAR_POP\",\n \"COVAR_SAMP\",\n \"HISTOGRAM_NUMERIC\",\n \"MAX\",\n \"MIN\",\n \"NTILE\",\n \"PERCENTILE\",\n \"PERCENTILE_APPROX\",\n \"REGR_AVGX\",\n \"REGR_AVGY\",\n \"REGR_COUNT\",\n \"REGR_INTERCEPT\",\n \"REGR_R2\",\n \"REGR_SLOPE\",\n \"REGR_SXX\",\n \"REGR_SXY\",\n \"REGR_SYY\",\n \"STDDEV_POP\",\n \"STDDEV_SAMP\",\n \"SUM\",\n \"VAR_POP\",\n \"VAR_SAMP\",\n \"VARIANCE\",\n // table\n \"EXPLODE\",\n \"INLINE\",\n \"JSON_TUPLE\",\n \"PARSE_URL_TUPLE\",\n \"POSEXPLODE\",\n \"STACK\",\n // https://cwiki.apache.org/confluence/display/Hive/LanguageManual+WindowingAndAnalytics\n \"LEAD\",\n \"LAG\",\n \"FIRST_VALUE\",\n \"LAST_VALUE\",\n \"RANK\",\n \"ROW_NUMBER\",\n \"DENSE_RANK\",\n \"CUME_DIST\",\n \"PERCENT_RANK\",\n \"NTILE\"\n];\n\n// src/languages/hive/hive.keywords.ts\nvar keywords4 = [\n // https://cwiki.apache.org/confluence/display/hive/languagemanual+ddl\n // Non-reserved keywords have proscribed meanings in. HiveQL, but can still be used as table or column names\n \"ADD\",\n \"ADMIN\",\n \"AFTER\",\n \"ANALYZE\",\n \"ARCHIVE\",\n \"ASC\",\n \"BEFORE\",\n \"BUCKET\",\n \"BUCKETS\",\n \"CASCADE\",\n \"CHANGE\",\n \"CLUSTER\",\n \"CLUSTERED\",\n \"CLUSTERSTATUS\",\n \"COLLECTION\",\n \"COLUMNS\",\n \"COMMENT\",\n \"COMPACT\",\n \"COMPACTIONS\",\n \"COMPUTE\",\n \"CONCATENATE\",\n \"CONTINUE\",\n \"DATA\",\n \"DATABASES\",\n \"DATETIME\",\n \"DAY\",\n \"DBPROPERTIES\",\n \"DEFERRED\",\n \"DEFINED\",\n \"DELIMITED\",\n \"DEPENDENCY\",\n \"DESC\",\n \"DIRECTORIES\",\n \"DIRECTORY\",\n \"DISABLE\",\n \"DISTRIBUTE\",\n \"ELEM_TYPE\",\n \"ENABLE\",\n \"ESCAPED\",\n \"EXCLUSIVE\",\n \"EXPLAIN\",\n \"EXPORT\",\n \"FIELDS\",\n \"FILE\",\n \"FILEFORMAT\",\n \"FIRST\",\n \"FORMAT\",\n \"FORMATTED\",\n \"FUNCTIONS\",\n \"HOLD_DDLTIME\",\n \"HOUR\",\n \"IDXPROPERTIES\",\n \"IGNORE\",\n \"INDEX\",\n \"INDEXES\",\n \"INPATH\",\n \"INPUTDRIVER\",\n \"INPUTFORMAT\",\n \"ITEMS\",\n \"JAR\",\n \"KEYS\",\n \"KEY_TYPE\",\n \"LIMIT\",\n \"LINES\",\n \"LOAD\",\n \"LOCATION\",\n \"LOCK\",\n \"LOCKS\",\n \"LOGICAL\",\n \"LONG\",\n \"MAPJOIN\",\n \"MATERIALIZED\",\n \"METADATA\",\n \"MINUS\",\n \"MINUTE\",\n \"MONTH\",\n \"MSCK\",\n \"NOSCAN\",\n \"NO_DROP\",\n \"OFFLINE\",\n \"OPTION\",\n \"OUTPUTDRIVER\",\n \"OUTPUTFORMAT\",\n \"OVERWRITE\",\n \"OWNER\",\n \"PARTITIONED\",\n \"PARTITIONS\",\n \"PLUS\",\n \"PRETTY\",\n \"PRINCIPALS\",\n \"PROTECTION\",\n \"PURGE\",\n \"READ\",\n \"READONLY\",\n \"REBUILD\",\n \"RECORDREADER\",\n \"RECORDWRITER\",\n \"RELOAD\",\n \"RENAME\",\n \"REPAIR\",\n \"REPLACE\",\n \"REPLICATION\",\n \"RESTRICT\",\n \"REWRITE\",\n \"ROLE\",\n \"ROLES\",\n \"SCHEMA\",\n \"SCHEMAS\",\n \"SECOND\",\n \"SEMI\",\n \"SERDE\",\n \"SERDEPROPERTIES\",\n \"SERVER\",\n \"SETS\",\n \"SHARED\",\n \"SHOW\",\n \"SHOW_DATABASE\",\n \"SKEWED\",\n \"SORT\",\n \"SORTED\",\n \"SSL\",\n \"STATISTICS\",\n \"STORED\",\n \"STREAMTABLE\",\n \"STRING\",\n \"TABLES\",\n \"TBLPROPERTIES\",\n \"TEMPORARY\",\n \"TERMINATED\",\n \"TINYINT\",\n \"TOUCH\",\n \"TRANSACTIONS\",\n \"UNARCHIVE\",\n \"UNDO\",\n \"UNIONTYPE\",\n \"UNLOCK\",\n \"UNSET\",\n \"UNSIGNED\",\n \"URI\",\n \"USE\",\n \"UTC\",\n \"UTCTIMESTAMP\",\n \"VALUE_TYPE\",\n \"VIEW\",\n \"WHILE\",\n \"YEAR\",\n \"AUTOCOMMIT\",\n \"ISOLATION\",\n \"LEVEL\",\n \"OFFSET\",\n \"SNAPSHOT\",\n \"TRANSACTION\",\n \"WORK\",\n \"WRITE\",\n \"ABORT\",\n \"KEY\",\n \"LAST\",\n \"NORELY\",\n \"NOVALIDATE\",\n \"NULLS\",\n \"RELY\",\n \"VALIDATE\",\n \"DETAIL\",\n \"DOW\",\n \"EXPRESSION\",\n \"OPERATOR\",\n \"QUARTER\",\n \"SUMMARY\",\n \"VECTORIZATION\",\n \"WEEK\",\n \"YEARS\",\n \"MONTHS\",\n \"WEEKS\",\n \"DAYS\",\n \"HOURS\",\n \"MINUTES\",\n \"SECONDS\",\n \"TIMESTAMPTZ\",\n \"ZONE\",\n // reserved\n \"ALL\",\n \"ALTER\",\n \"AND\",\n \"AS\",\n \"AUTHORIZATION\",\n \"BETWEEN\",\n \"BOTH\",\n \"BY\",\n \"CASE\",\n \"CAST\",\n \"COLUMN\",\n \"CONF\",\n \"CREATE\",\n \"CROSS\",\n \"CUBE\",\n \"CURRENT\",\n \"CURRENT_DATE\",\n \"CURRENT_TIMESTAMP\",\n \"CURSOR\",\n \"DATABASE\",\n \"DELETE\",\n \"DESCRIBE\",\n \"DISTINCT\",\n \"DROP\",\n \"ELSE\",\n \"END\",\n \"EXCHANGE\",\n \"EXISTS\",\n \"EXTENDED\",\n \"EXTERNAL\",\n \"FALSE\",\n \"FETCH\",\n \"FOLLOWING\",\n \"FOR\",\n \"FROM\",\n \"FULL\",\n \"FUNCTION\",\n \"GRANT\",\n \"GROUP\",\n \"GROUPING\",\n \"HAVING\",\n \"IF\",\n \"IMPORT\",\n \"IN\",\n \"INNER\",\n \"INSERT\",\n \"INTERSECT\",\n \"INTO\",\n \"IS\",\n \"JOIN\",\n \"LATERAL\",\n \"LEFT\",\n \"LESS\",\n \"LIKE\",\n \"LOCAL\",\n \"MACRO\",\n \"MORE\",\n \"NONE\",\n \"NOT\",\n \"NULL\",\n \"OF\",\n \"ON\",\n \"OR\",\n \"ORDER\",\n \"OUT\",\n \"OUTER\",\n \"OVER\",\n \"PARTIALSCAN\",\n \"PARTITION\",\n \"PERCENT\",\n \"PRECEDING\",\n \"PRESERVE\",\n \"PROCEDURE\",\n \"RANGE\",\n \"READS\",\n \"REDUCE\",\n \"REVOKE\",\n \"RIGHT\",\n \"ROLLUP\",\n \"ROW\",\n \"ROWS\",\n \"SELECT\",\n \"SET\",\n \"TABLE\",\n \"TABLESAMPLE\",\n \"THEN\",\n \"TO\",\n \"TRANSFORM\",\n \"TRIGGER\",\n \"TRUE\",\n \"TRUNCATE\",\n \"UNBOUNDED\",\n \"UNION\",\n \"UNIQUEJOIN\",\n \"UPDATE\",\n \"USER\",\n \"USING\",\n \"UTC_TMESTAMP\",\n \"VALUES\",\n \"WHEN\",\n \"WHERE\",\n \"WINDOW\",\n \"WITH\",\n \"COMMIT\",\n \"ONLY\",\n \"REGEXP\",\n \"RLIKE\",\n \"ROLLBACK\",\n \"START\",\n \"CACHE\",\n \"CONSTRAINT\",\n \"FOREIGN\",\n \"PRIMARY\",\n \"REFERENCES\",\n \"DAYOFWEEK\",\n \"EXTRACT\",\n \"FLOOR\",\n \"VIEWS\",\n \"TIME\",\n \"SYNC\",\n // fileTypes\n \"TEXTFILE\",\n \"SEQUENCEFILE\",\n \"ORC\",\n \"CSV\",\n \"TSV\",\n \"PARQUET\",\n \"AVRO\",\n \"RCFILE\",\n \"JSONFILE\",\n \"INPUTFORMAT\",\n \"OUTPUTFORMAT\"\n];\nvar dataTypes4 = [\n // https://cwiki.apache.org/confluence/display/Hive/LanguageManual+Types\n \"ARRAY\",\n \"BIGINT\",\n \"BINARY\",\n \"BOOLEAN\",\n \"CHAR\",\n \"DATE\",\n \"DECIMAL\",\n \"DOUBLE\",\n \"FLOAT\",\n \"INT\",\n \"INTEGER\",\n \"INTERVAL\",\n \"MAP\",\n \"NUMERIC\",\n \"PRECISION\",\n \"SMALLINT\",\n \"STRUCT\",\n \"TIMESTAMP\",\n \"VARCHAR\"\n];\n\n// src/languages/hive/hive.formatter.ts\nvar reservedSelect4 = expandPhrases([\"SELECT [ALL | DISTINCT]\"]);\nvar reservedClauses4 = expandPhrases([\n // queries\n \"WITH\",\n \"FROM\",\n \"WHERE\",\n \"GROUP BY\",\n \"HAVING\",\n \"WINDOW\",\n \"PARTITION BY\",\n \"ORDER BY\",\n \"SORT BY\",\n \"CLUSTER BY\",\n \"DISTRIBUTE BY\",\n \"LIMIT\",\n // Data manipulation\n // - insert:\n // Hive does not actually support plain INSERT INTO, only INSERT INTO TABLE\n // but it's a nuisance to not support it, as all other dialects do.\n \"INSERT INTO [TABLE]\",\n \"VALUES\",\n // - update:\n \"SET\",\n // - merge:\n \"MERGE INTO\",\n \"WHEN [NOT] MATCHED [THEN]\",\n \"UPDATE SET\",\n \"INSERT [VALUES]\",\n // - insert overwrite directory:\n // https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DML#LanguageManualDML-Writingdataintothefilesystemfromqueries\n \"INSERT OVERWRITE [LOCAL] DIRECTORY\",\n // - load:\n // https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DML#LanguageManualDML-Loadingfilesintotables\n \"LOAD DATA [LOCAL] INPATH\",\n \"[OVERWRITE] INTO TABLE\"\n]);\nvar onelineClauses4 = expandPhrases([\n // - create:\n \"CREATE [TEMPORARY] [EXTERNAL] TABLE [IF NOT EXISTS]\",\n \"CREATE [MATERIALIZED] VIEW [IF NOT EXISTS]\",\n // - update:\n \"UPDATE\",\n // - delete:\n \"DELETE FROM\",\n // - drop table:\n \"DROP TABLE [IF EXISTS]\",\n // - alter table:\n \"ALTER TABLE\",\n \"RENAME TO\",\n // - truncate:\n \"TRUNCATE [TABLE]\",\n // other\n \"ALTER\",\n \"CREATE\",\n \"USE\",\n \"DESCRIBE\",\n \"DROP\",\n \"FETCH\",\n \"SHOW\",\n \"STORED AS\",\n \"STORED BY\",\n \"ROW FORMAT\"\n]);\nvar reservedSetOperations4 = expandPhrases([\"UNION [ALL | DISTINCT]\"]);\nvar reservedJoins4 = expandPhrases([\n \"JOIN\",\n \"{LEFT | RIGHT | FULL} [OUTER] JOIN\",\n \"{INNER | CROSS} JOIN\",\n // non-standard joins\n \"LEFT SEMI JOIN\"\n]);\nvar reservedPhrases4 = expandPhrases([\"{ROWS | RANGE} BETWEEN\"]);\nvar hive = {\n name: \"hive\",\n tokenizerOptions: {\n reservedSelect: reservedSelect4,\n reservedClauses: [...reservedClauses4, ...onelineClauses4],\n reservedSetOperations: reservedSetOperations4,\n reservedJoins: reservedJoins4,\n reservedPhrases: reservedPhrases4,\n reservedKeywords: keywords4,\n reservedDataTypes: dataTypes4,\n reservedFunctionNames: functions4,\n extraParens: [\"[]\"],\n stringTypes: ['\"\"-bs', \"''-bs\"],\n identTypes: [\"``\"],\n variableTypes: [{ quote: \"{}\", prefixes: [\"$\"], requirePrefix: true }],\n operators: [\"%\", \"~\", \"^\", \"|\", \"&\", \"<=>\", \"==\", \"!\", \"||\"]\n },\n formatOptions: {\n onelineClauses: onelineClauses4\n }\n};\n\n// src/languages/mariadb/likeMariaDb.ts\nfunction postProcess2(tokens) {\n return tokens.map((token, i) => {\n const nextToken = tokens[i + 1] || EOF_TOKEN;\n if (isToken.SET(token) && nextToken.text === \"(\") {\n return __spreadProps(__spreadValues({}, token), { type: \"RESERVED_FUNCTION_NAME\" /* RESERVED_FUNCTION_NAME */ });\n }\n const prevToken = tokens[i - 1] || EOF_TOKEN;\n if (isToken.VALUES(token) && prevToken.text === \"=\") {\n return __spreadProps(__spreadValues({}, token), { type: \"RESERVED_FUNCTION_NAME\" /* RESERVED_FUNCTION_NAME */ });\n }\n return token;\n });\n}\n\n// src/languages/mariadb/mariadb.keywords.ts\nvar keywords5 = [\n // https://mariadb.com/kb/en/reserved-words/\n \"ACCESSIBLE\",\n \"ADD\",\n \"ALL\",\n \"ALTER\",\n \"ANALYZE\",\n \"AND\",\n \"AS\",\n \"ASC\",\n \"ASENSITIVE\",\n \"BEFORE\",\n \"BETWEEN\",\n \"BOTH\",\n \"BY\",\n \"CALL\",\n \"CASCADE\",\n \"CASE\",\n \"CHANGE\",\n \"CHECK\",\n \"COLLATE\",\n \"COLUMN\",\n \"CONDITION\",\n \"CONSTRAINT\",\n \"CONTINUE\",\n \"CONVERT\",\n \"CREATE\",\n \"CROSS\",\n \"CURRENT_DATE\",\n \"CURRENT_ROLE\",\n \"CURRENT_TIME\",\n \"CURRENT_TIMESTAMP\",\n \"CURRENT_USER\",\n \"CURSOR\",\n \"DATABASE\",\n \"DATABASES\",\n \"DAY_HOUR\",\n \"DAY_MICROSECOND\",\n \"DAY_MINUTE\",\n \"DAY_SECOND\",\n \"DECLARE\",\n \"DEFAULT\",\n \"DELAYED\",\n \"DELETE\",\n \"DELETE_DOMAIN_ID\",\n \"DESC\",\n \"DESCRIBE\",\n \"DETERMINISTIC\",\n \"DISTINCT\",\n \"DISTINCTROW\",\n \"DIV\",\n \"DO_DOMAIN_IDS\",\n \"DROP\",\n \"DUAL\",\n \"EACH\",\n \"ELSE\",\n \"ELSEIF\",\n \"ENCLOSED\",\n \"ESCAPED\",\n \"EXCEPT\",\n \"EXISTS\",\n \"EXIT\",\n \"EXPLAIN\",\n \"FALSE\",\n \"FETCH\",\n \"FOR\",\n \"FORCE\",\n \"FOREIGN\",\n \"FROM\",\n \"FULLTEXT\",\n \"GENERAL\",\n \"GRANT\",\n \"GROUP\",\n \"HAVING\",\n \"HIGH_PRIORITY\",\n \"HOUR_MICROSECOND\",\n \"HOUR_MINUTE\",\n \"HOUR_SECOND\",\n \"IF\",\n \"IGNORE\",\n \"IGNORE_DOMAIN_IDS\",\n \"IGNORE_SERVER_IDS\",\n \"IN\",\n \"INDEX\",\n \"INFILE\",\n \"INNER\",\n \"INOUT\",\n \"INSENSITIVE\",\n \"INSERT\",\n \"INTERSECT\",\n \"INTERVAL\",\n \"INTO\",\n \"IS\",\n \"ITERATE\",\n \"JOIN\",\n \"KEY\",\n \"KEYS\",\n \"KILL\",\n \"LEADING\",\n \"LEAVE\",\n \"LEFT\",\n \"LIKE\",\n \"LIMIT\",\n \"LINEAR\",\n \"LINES\",\n \"LOAD\",\n \"LOCALTIME\",\n \"LOCALTIMESTAMP\",\n \"LOCK\",\n \"LOOP\",\n \"LOW_PRIORITY\",\n \"MASTER_HEARTBEAT_PERIOD\",\n \"MASTER_SSL_VERIFY_SERVER_CERT\",\n \"MATCH\",\n \"MAXVALUE\",\n \"MINUTE_MICROSECOND\",\n \"MINUTE_SECOND\",\n \"MOD\",\n \"MODIFIES\",\n \"NATURAL\",\n \"NOT\",\n \"NO_WRITE_TO_BINLOG\",\n \"NULL\",\n \"OFFSET\",\n \"ON\",\n \"OPTIMIZE\",\n \"OPTION\",\n \"OPTIONALLY\",\n \"OR\",\n \"ORDER\",\n \"OUT\",\n \"OUTER\",\n \"OUTFILE\",\n \"OVER\",\n \"PAGE_CHECKSUM\",\n \"PARSE_VCOL_EXPR\",\n \"PARTITION\",\n \"POSITION\",\n \"PRIMARY\",\n \"PROCEDURE\",\n \"PURGE\",\n \"RANGE\",\n \"READ\",\n \"READS\",\n \"READ_WRITE\",\n \"RECURSIVE\",\n \"REF_SYSTEM_ID\",\n \"REFERENCES\",\n \"REGEXP\",\n \"RELEASE\",\n \"RENAME\",\n \"REPEAT\",\n \"REPLACE\",\n \"REQUIRE\",\n \"RESIGNAL\",\n \"RESTRICT\",\n \"RETURN\",\n \"RETURNING\",\n \"REVOKE\",\n \"RIGHT\",\n \"RLIKE\",\n \"ROW_NUMBER\",\n \"ROWS\",\n \"SCHEMA\",\n \"SCHEMAS\",\n \"SECOND_MICROSECOND\",\n \"SELECT\",\n \"SENSITIVE\",\n \"SEPARATOR\",\n \"SET\",\n \"SHOW\",\n \"SIGNAL\",\n \"SLOW\",\n \"SPATIAL\",\n \"SPECIFIC\",\n \"SQL\",\n \"SQLEXCEPTION\",\n \"SQLSTATE\",\n \"SQLWARNING\",\n \"SQL_BIG_RESULT\",\n \"SQL_CALC_FOUND_ROWS\",\n \"SQL_SMALL_RESULT\",\n \"SSL\",\n \"STARTING\",\n \"STATS_AUTO_RECALC\",\n \"STATS_PERSISTENT\",\n \"STATS_SAMPLE_PAGES\",\n \"STRAIGHT_JOIN\",\n \"TABLE\",\n \"TERMINATED\",\n \"THEN\",\n \"TO\",\n \"TRAILING\",\n \"TRIGGER\",\n \"TRUE\",\n \"UNDO\",\n \"UNION\",\n \"UNIQUE\",\n \"UNLOCK\",\n \"UNSIGNED\",\n \"UPDATE\",\n \"USAGE\",\n \"USE\",\n \"USING\",\n \"UTC_DATE\",\n \"UTC_TIME\",\n \"UTC_TIMESTAMP\",\n \"VALUES\",\n \"WHEN\",\n \"WHERE\",\n \"WHILE\",\n \"WINDOW\",\n \"WITH\",\n \"WRITE\",\n \"XOR\",\n \"YEAR_MONTH\",\n \"ZEROFILL\"\n];\nvar dataTypes5 = [\n // https://mariadb.com/kb/en/data-types/\n \"BIGINT\",\n \"BINARY\",\n \"BIT\",\n \"BLOB\",\n \"CHAR BYTE\",\n \"CHAR\",\n \"CHARACTER\",\n \"DATETIME\",\n \"DEC\",\n \"DECIMAL\",\n \"DOUBLE PRECISION\",\n \"DOUBLE\",\n \"ENUM\",\n \"FIXED\",\n \"FLOAT\",\n \"FLOAT4\",\n \"FLOAT8\",\n \"INT\",\n \"INT1\",\n \"INT2\",\n \"INT3\",\n \"INT4\",\n \"INT8\",\n \"INTEGER\",\n \"LONG\",\n \"LONGBLOB\",\n \"LONGTEXT\",\n \"MEDIUMBLOB\",\n \"MEDIUMINT\",\n \"MEDIUMTEXT\",\n \"MIDDLEINT\",\n \"NATIONAL CHAR\",\n \"NATIONAL VARCHAR\",\n \"NUMERIC\",\n \"PRECISION\",\n \"REAL\",\n \"SMALLINT\",\n \"TEXT\",\n \"TIMESTAMP\",\n \"TINYBLOB\",\n \"TINYINT\",\n \"TINYTEXT\",\n \"VARBINARY\",\n \"VARCHAR\",\n \"VARCHARACTER\",\n \"VARYING\",\n \"YEAR\"\n // 'NUMBER', // ?? In oracle mode only\n // 'SET' // handled as special-case in postProcess\n];\n\n// src/languages/mariadb/mariadb.functions.ts\nvar functions5 = [\n // https://mariadb.com/kb/en/information-schema-sql_functions-table/\n \"ADDDATE\",\n \"ADD_MONTHS\",\n \"BIT_AND\",\n \"BIT_OR\",\n \"BIT_XOR\",\n \"CAST\",\n \"COUNT\",\n \"CUME_DIST\",\n \"CURDATE\",\n \"CURTIME\",\n \"DATE_ADD\",\n \"DATE_SUB\",\n \"DATE_FORMAT\",\n \"DECODE\",\n \"DENSE_RANK\",\n \"EXTRACT\",\n \"FIRST_VALUE\",\n \"GROUP_CONCAT\",\n \"JSON_ARRAYAGG\",\n \"JSON_OBJECTAGG\",\n \"LAG\",\n \"LEAD\",\n \"MAX\",\n \"MEDIAN\",\n \"MID\",\n \"MIN\",\n \"NOW\",\n \"NTH_VALUE\",\n \"NTILE\",\n \"POSITION\",\n \"PERCENT_RANK\",\n \"PERCENTILE_CONT\",\n \"PERCENTILE_DISC\",\n \"RANK\",\n \"ROW_NUMBER\",\n \"SESSION_USER\",\n \"STD\",\n \"STDDEV\",\n \"STDDEV_POP\",\n \"STDDEV_SAMP\",\n \"SUBDATE\",\n \"SUBSTR\",\n \"SUBSTRING\",\n \"SUM\",\n \"SYSTEM_USER\",\n \"TRIM\",\n \"TRIM_ORACLE\",\n \"VARIANCE\",\n \"VAR_POP\",\n \"VAR_SAMP\",\n \"ABS\",\n \"ACOS\",\n \"ADDTIME\",\n \"AES_DECRYPT\",\n \"AES_ENCRYPT\",\n \"ASIN\",\n \"ATAN\",\n \"ATAN2\",\n \"BENCHMARK\",\n \"BIN\",\n \"BINLOG_GTID_POS\",\n \"BIT_COUNT\",\n \"BIT_LENGTH\",\n \"CEIL\",\n \"CEILING\",\n \"CHARACTER_LENGTH\",\n \"CHAR_LENGTH\",\n \"CHR\",\n \"COERCIBILITY\",\n \"COLUMN_CHECK\",\n \"COLUMN_EXISTS\",\n \"COLUMN_LIST\",\n \"COLUMN_JSON\",\n \"COMPRESS\",\n \"CONCAT\",\n \"CONCAT_OPERATOR_ORACLE\",\n \"CONCAT_WS\",\n \"CONNECTION_ID\",\n \"CONV\",\n \"CONVERT_TZ\",\n \"COS\",\n \"COT\",\n \"CRC32\",\n \"DATEDIFF\",\n \"DAYNAME\",\n \"DAYOFMONTH\",\n \"DAYOFWEEK\",\n \"DAYOFYEAR\",\n \"DEGREES\",\n \"DECODE_HISTOGRAM\",\n \"DECODE_ORACLE\",\n \"DES_DECRYPT\",\n \"DES_ENCRYPT\",\n \"ELT\",\n \"ENCODE\",\n \"ENCRYPT\",\n \"EXP\",\n \"EXPORT_SET\",\n \"EXTRACTVALUE\",\n \"FIELD\",\n \"FIND_IN_SET\",\n \"FLOOR\",\n \"FORMAT\",\n \"FOUND_ROWS\",\n \"FROM_BASE64\",\n \"FROM_DAYS\",\n \"FROM_UNIXTIME\",\n \"GET_LOCK\",\n \"GREATEST\",\n \"HEX\",\n \"IFNULL\",\n \"INSTR\",\n \"ISNULL\",\n \"IS_FREE_LOCK\",\n \"IS_USED_LOCK\",\n \"JSON_ARRAY\",\n \"JSON_ARRAY_APPEND\",\n \"JSON_ARRAY_INSERT\",\n \"JSON_COMPACT\",\n \"JSON_CONTAINS\",\n \"JSON_CONTAINS_PATH\",\n \"JSON_DEPTH\",\n \"JSON_DETAILED\",\n \"JSON_EXISTS\",\n \"JSON_EXTRACT\",\n \"JSON_INSERT\",\n \"JSON_KEYS\",\n \"JSON_LENGTH\",\n \"JSON_LOOSE\",\n \"JSON_MERGE\",\n \"JSON_MERGE_PATCH\",\n \"JSON_MERGE_PRESERVE\",\n \"JSON_QUERY\",\n \"JSON_QUOTE\",\n \"JSON_OBJECT\",\n \"JSON_REMOVE\",\n \"JSON_REPLACE\",\n \"JSON_SET\",\n \"JSON_SEARCH\",\n \"JSON_TYPE\",\n \"JSON_UNQUOTE\",\n \"JSON_VALID\",\n \"JSON_VALUE\",\n \"LAST_DAY\",\n \"LAST_INSERT_ID\",\n \"LCASE\",\n \"LEAST\",\n \"LENGTH\",\n \"LENGTHB\",\n \"LN\",\n \"LOAD_FILE\",\n \"LOCATE\",\n \"LOG\",\n \"LOG10\",\n \"LOG2\",\n \"LOWER\",\n \"LPAD\",\n \"LPAD_ORACLE\",\n \"LTRIM\",\n \"LTRIM_ORACLE\",\n \"MAKEDATE\",\n \"MAKETIME\",\n \"MAKE_SET\",\n \"MASTER_GTID_WAIT\",\n \"MASTER_POS_WAIT\",\n \"MD5\",\n \"MONTHNAME\",\n \"NAME_CONST\",\n \"NVL\",\n \"NVL2\",\n \"OCT\",\n \"OCTET_LENGTH\",\n \"ORD\",\n \"PERIOD_ADD\",\n \"PERIOD_DIFF\",\n \"PI\",\n \"POW\",\n \"POWER\",\n \"QUOTE\",\n \"REGEXP_INSTR\",\n \"REGEXP_REPLACE\",\n \"REGEXP_SUBSTR\",\n \"RADIANS\",\n \"RAND\",\n \"RELEASE_ALL_LOCKS\",\n \"RELEASE_LOCK\",\n \"REPLACE_ORACLE\",\n \"REVERSE\",\n \"ROUND\",\n \"RPAD\",\n \"RPAD_ORACLE\",\n \"RTRIM\",\n \"RTRIM_ORACLE\",\n \"SEC_TO_TIME\",\n \"SHA\",\n \"SHA1\",\n \"SHA2\",\n \"SIGN\",\n \"SIN\",\n \"SLEEP\",\n \"SOUNDEX\",\n \"SPACE\",\n \"SQRT\",\n \"STRCMP\",\n \"STR_TO_DATE\",\n \"SUBSTR_ORACLE\",\n \"SUBSTRING_INDEX\",\n \"SUBTIME\",\n \"SYS_GUID\",\n \"TAN\",\n \"TIMEDIFF\",\n \"TIME_FORMAT\",\n \"TIME_TO_SEC\",\n \"TO_BASE64\",\n \"TO_CHAR\",\n \"TO_DAYS\",\n \"TO_SECONDS\",\n \"UCASE\",\n \"UNCOMPRESS\",\n \"UNCOMPRESSED_LENGTH\",\n \"UNHEX\",\n \"UNIX_TIMESTAMP\",\n \"UPDATEXML\",\n \"UPPER\",\n \"UUID\",\n \"UUID_SHORT\",\n \"VERSION\",\n \"WEEKDAY\",\n \"WEEKOFYEAR\",\n \"WSREP_LAST_WRITTEN_GTID\",\n \"WSREP_LAST_SEEN_GTID\",\n \"WSREP_SYNC_WAIT_UPTO_GTID\",\n \"YEARWEEK\",\n // CASE expression shorthands\n \"COALESCE\",\n \"NULLIF\"\n];\n\n// src/languages/mariadb/mariadb.formatter.ts\nvar reservedSelect5 = expandPhrases([\"SELECT [ALL | DISTINCT | DISTINCTROW]\"]);\nvar reservedClauses5 = expandPhrases([\n // queries\n \"WITH [RECURSIVE]\",\n \"FROM\",\n \"WHERE\",\n \"GROUP BY\",\n \"HAVING\",\n \"PARTITION BY\",\n \"ORDER BY\",\n \"LIMIT\",\n \"OFFSET\",\n \"FETCH {FIRST | NEXT}\",\n // Data manipulation\n // - insert:\n \"INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE] [INTO]\",\n \"REPLACE [LOW_PRIORITY | DELAYED] [INTO]\",\n \"VALUES\",\n \"ON DUPLICATE KEY UPDATE\",\n // - update:\n \"SET\",\n // other\n \"RETURNING\"\n]);\nvar onelineClauses5 = expandPhrases([\n // - create:\n \"CREATE [OR REPLACE] [TEMPORARY] TABLE [IF NOT EXISTS]\",\n \"CREATE [OR REPLACE] [SQL SECURITY DEFINER | SQL SECURITY INVOKER] VIEW [IF NOT EXISTS]\",\n // - update:\n \"UPDATE [LOW_PRIORITY] [IGNORE]\",\n // - delete:\n \"DELETE [LOW_PRIORITY] [QUICK] [IGNORE] FROM\",\n // - drop table:\n \"DROP [TEMPORARY] TABLE [IF EXISTS]\",\n // - alter table:\n \"ALTER [ONLINE] [IGNORE] TABLE [IF EXISTS]\",\n \"ADD [COLUMN] [IF NOT EXISTS]\",\n \"{CHANGE | MODIFY} [COLUMN] [IF EXISTS]\",\n \"DROP [COLUMN] [IF EXISTS]\",\n \"RENAME [TO]\",\n \"RENAME COLUMN\",\n \"ALTER [COLUMN]\",\n \"{SET | DROP} DEFAULT\",\n // for alter column\n \"SET {VISIBLE | INVISIBLE}\",\n // for alter column\n // - truncate:\n \"TRUNCATE [TABLE]\",\n // https://mariadb.com/docs/reference/mdb/sql-statements/\n \"ALTER DATABASE\",\n \"ALTER DATABASE COMMENT\",\n \"ALTER EVENT\",\n \"ALTER FUNCTION\",\n \"ALTER PROCEDURE\",\n \"ALTER SCHEMA\",\n \"ALTER SCHEMA COMMENT\",\n \"ALTER SEQUENCE\",\n \"ALTER SERVER\",\n \"ALTER USER\",\n \"ALTER VIEW\",\n \"ANALYZE\",\n \"ANALYZE TABLE\",\n \"BACKUP LOCK\",\n \"BACKUP STAGE\",\n \"BACKUP UNLOCK\",\n \"BEGIN\",\n \"BINLOG\",\n \"CACHE INDEX\",\n \"CALL\",\n \"CHANGE MASTER TO\",\n \"CHECK TABLE\",\n \"CHECK VIEW\",\n \"CHECKSUM TABLE\",\n \"COMMIT\",\n \"CREATE AGGREGATE FUNCTION\",\n \"CREATE DATABASE\",\n \"CREATE EVENT\",\n \"CREATE FUNCTION\",\n \"CREATE INDEX\",\n \"CREATE PROCEDURE\",\n \"CREATE ROLE\",\n \"CREATE SEQUENCE\",\n \"CREATE SERVER\",\n \"CREATE SPATIAL INDEX\",\n \"CREATE TRIGGER\",\n \"CREATE UNIQUE INDEX\",\n \"CREATE USER\",\n \"DEALLOCATE PREPARE\",\n \"DESCRIBE\",\n \"DROP DATABASE\",\n \"DROP EVENT\",\n \"DROP FUNCTION\",\n \"DROP INDEX\",\n \"DROP PREPARE\",\n \"DROP PROCEDURE\",\n \"DROP ROLE\",\n \"DROP SEQUENCE\",\n \"DROP SERVER\",\n \"DROP TRIGGER\",\n \"DROP USER\",\n \"DROP VIEW\",\n \"EXECUTE\",\n \"EXPLAIN\",\n \"FLUSH\",\n \"GET DIAGNOSTICS\",\n \"GET DIAGNOSTICS CONDITION\",\n \"GRANT\",\n \"HANDLER\",\n \"HELP\",\n \"INSTALL PLUGIN\",\n \"INSTALL SONAME\",\n \"KILL\",\n \"LOAD DATA INFILE\",\n \"LOAD INDEX INTO CACHE\",\n \"LOAD XML INFILE\",\n \"LOCK TABLE\",\n \"OPTIMIZE TABLE\",\n \"PREPARE\",\n \"PURGE BINARY LOGS\",\n \"PURGE MASTER LOGS\",\n \"RELEASE SAVEPOINT\",\n \"RENAME TABLE\",\n \"RENAME USER\",\n \"REPAIR TABLE\",\n \"REPAIR VIEW\",\n \"RESET MASTER\",\n \"RESET QUERY CACHE\",\n \"RESET REPLICA\",\n \"RESET SLAVE\",\n \"RESIGNAL\",\n \"REVOKE\",\n \"ROLLBACK\",\n \"SAVEPOINT\",\n \"SET CHARACTER SET\",\n \"SET DEFAULT ROLE\",\n \"SET GLOBAL TRANSACTION\",\n \"SET NAMES\",\n \"SET PASSWORD\",\n \"SET ROLE\",\n \"SET STATEMENT\",\n \"SET TRANSACTION\",\n \"SHOW\",\n \"SHOW ALL REPLICAS STATUS\",\n \"SHOW ALL SLAVES STATUS\",\n \"SHOW AUTHORS\",\n \"SHOW BINARY LOGS\",\n \"SHOW BINLOG EVENTS\",\n \"SHOW BINLOG STATUS\",\n \"SHOW CHARACTER SET\",\n \"SHOW CLIENT_STATISTICS\",\n \"SHOW COLLATION\",\n \"SHOW COLUMNS\",\n \"SHOW CONTRIBUTORS\",\n \"SHOW CREATE DATABASE\",\n \"SHOW CREATE EVENT\",\n \"SHOW CREATE FUNCTION\",\n \"SHOW CREATE PACKAGE\",\n \"SHOW CREATE PACKAGE BODY\",\n \"SHOW CREATE PROCEDURE\",\n \"SHOW CREATE SEQUENCE\",\n \"SHOW CREATE TABLE\",\n \"SHOW CREATE TRIGGER\",\n \"SHOW CREATE USER\",\n \"SHOW CREATE VIEW\",\n \"SHOW DATABASES\",\n \"SHOW ENGINE\",\n \"SHOW ENGINE INNODB STATUS\",\n \"SHOW ENGINES\",\n \"SHOW ERRORS\",\n \"SHOW EVENTS\",\n \"SHOW EXPLAIN\",\n \"SHOW FUNCTION CODE\",\n \"SHOW FUNCTION STATUS\",\n \"SHOW GRANTS\",\n \"SHOW INDEX\",\n \"SHOW INDEXES\",\n \"SHOW INDEX_STATISTICS\",\n \"SHOW KEYS\",\n \"SHOW LOCALES\",\n \"SHOW MASTER LOGS\",\n \"SHOW MASTER STATUS\",\n \"SHOW OPEN TABLES\",\n \"SHOW PACKAGE BODY CODE\",\n \"SHOW PACKAGE BODY STATUS\",\n \"SHOW PACKAGE STATUS\",\n \"SHOW PLUGINS\",\n \"SHOW PLUGINS SONAME\",\n \"SHOW PRIVILEGES\",\n \"SHOW PROCEDURE CODE\",\n \"SHOW PROCEDURE STATUS\",\n \"SHOW PROCESSLIST\",\n \"SHOW PROFILE\",\n \"SHOW PROFILES\",\n \"SHOW QUERY_RESPONSE_TIME\",\n \"SHOW RELAYLOG EVENTS\",\n \"SHOW REPLICA\",\n \"SHOW REPLICA HOSTS\",\n \"SHOW REPLICA STATUS\",\n \"SHOW SCHEMAS\",\n \"SHOW SLAVE\",\n \"SHOW SLAVE HOSTS\",\n \"SHOW SLAVE STATUS\",\n \"SHOW STATUS\",\n \"SHOW STORAGE ENGINES\",\n \"SHOW TABLE STATUS\",\n \"SHOW TABLES\",\n \"SHOW TRIGGERS\",\n \"SHOW USER_STATISTICS\",\n \"SHOW VARIABLES\",\n \"SHOW WARNINGS\",\n \"SHOW WSREP_MEMBERSHIP\",\n \"SHOW WSREP_STATUS\",\n \"SHUTDOWN\",\n \"SIGNAL\",\n \"START ALL REPLICAS\",\n \"START ALL SLAVES\",\n \"START REPLICA\",\n \"START SLAVE\",\n \"START TRANSACTION\",\n \"STOP ALL REPLICAS\",\n \"STOP ALL SLAVES\",\n \"STOP REPLICA\",\n \"STOP SLAVE\",\n \"UNINSTALL PLUGIN\",\n \"UNINSTALL SONAME\",\n \"UNLOCK TABLE\",\n \"USE\",\n \"XA BEGIN\",\n \"XA COMMIT\",\n \"XA END\",\n \"XA PREPARE\",\n \"XA RECOVER\",\n \"XA ROLLBACK\",\n \"XA START\"\n]);\nvar reservedSetOperations5 = expandPhrases([\n \"UNION [ALL | DISTINCT]\",\n \"EXCEPT [ALL | DISTINCT]\",\n \"INTERSECT [ALL | DISTINCT]\",\n \"MINUS [ALL | DISTINCT]\"\n]);\nvar reservedJoins5 = expandPhrases([\n \"JOIN\",\n \"{LEFT | RIGHT} [OUTER] JOIN\",\n \"{INNER | CROSS} JOIN\",\n \"NATURAL JOIN\",\n \"NATURAL {LEFT | RIGHT} [OUTER] JOIN\",\n // non-standard joins\n \"STRAIGHT_JOIN\"\n]);\nvar reservedPhrases5 = expandPhrases([\n \"ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]\",\n \"CHARACTER SET\",\n \"{ROWS | RANGE} BETWEEN\",\n \"IDENTIFIED BY\"\n]);\nvar mariadb = {\n name: \"mariadb\",\n tokenizerOptions: {\n reservedSelect: reservedSelect5,\n reservedClauses: [...reservedClauses5, ...onelineClauses5],\n reservedSetOperations: reservedSetOperations5,\n reservedJoins: reservedJoins5,\n reservedPhrases: reservedPhrases5,\n supportsXor: true,\n reservedKeywords: keywords5,\n reservedDataTypes: dataTypes5,\n reservedFunctionNames: functions5,\n // TODO: support _ char set prefixes such as _utf8, _latin1, _binary, _utf8mb4, etc.\n stringTypes: [\n '\"\"-qq-bs',\n \"''-qq-bs\",\n { quote: \"''-raw\", prefixes: [\"B\", \"X\"], requirePrefix: true }\n ],\n identTypes: [\"``\"],\n identChars: { first: \"$\", rest: \"$\", allowFirstCharNumber: true },\n variableTypes: [\n { regex: \"@@?[A-Za-z0-9_.$]+\" },\n { quote: '\"\"-qq-bs', prefixes: [\"@\"], requirePrefix: true },\n { quote: \"''-qq-bs\", prefixes: [\"@\"], requirePrefix: true },\n { quote: \"``\", prefixes: [\"@\"], requirePrefix: true }\n ],\n paramTypes: { positional: true },\n lineCommentTypes: [\"--\", \"#\"],\n operators: [\n \"%\",\n \":=\",\n \"&\",\n \"|\",\n \"^\",\n \"~\",\n \"<<\",\n \">>\",\n \"<=>\",\n \"&&\",\n \"||\",\n \"!\",\n \"*.*\"\n // Not actually an operator\n ],\n postProcess: postProcess2\n },\n formatOptions: {\n onelineClauses: onelineClauses5\n }\n};\n\n// src/languages/mysql/mysql.keywords.ts\nvar keywords6 = [\n // https://dev.mysql.com/doc/refman/8.0/en/keywords.html\n \"ACCESSIBLE\",\n // (R)\n \"ADD\",\n // (R)\n \"ALL\",\n // (R)\n \"ALTER\",\n // (R)\n \"ANALYZE\",\n // (R)\n \"AND\",\n // (R)\n \"AS\",\n // (R)\n \"ASC\",\n // (R)\n \"ASENSITIVE\",\n // (R)\n \"BEFORE\",\n // (R)\n \"BETWEEN\",\n // (R)\n \"BOTH\",\n // (R)\n \"BY\",\n // (R)\n \"CALL\",\n // (R)\n \"CASCADE\",\n // (R)\n \"CASE\",\n // (R)\n \"CHANGE\",\n // (R)\n \"CHECK\",\n // (R)\n \"COLLATE\",\n // (R)\n \"COLUMN\",\n // (R)\n \"CONDITION\",\n // (R)\n \"CONSTRAINT\",\n // (R)\n \"CONTINUE\",\n // (R)\n \"CONVERT\",\n // (R)\n \"CREATE\",\n // (R)\n \"CROSS\",\n // (R)\n \"CUBE\",\n // (R)\n \"CUME_DIST\",\n // (R)\n \"CURRENT_DATE\",\n // (R)\n \"CURRENT_TIME\",\n // (R)\n \"CURRENT_TIMESTAMP\",\n // (R)\n \"CURRENT_USER\",\n // (R)\n \"CURSOR\",\n // (R)\n \"DATABASE\",\n // (R)\n \"DATABASES\",\n // (R)\n \"DAY_HOUR\",\n // (R)\n \"DAY_MICROSECOND\",\n // (R)\n \"DAY_MINUTE\",\n // (R)\n \"DAY_SECOND\",\n // (R)\n \"DECLARE\",\n // (R)\n \"DEFAULT\",\n // (R)\n \"DELAYED\",\n // (R)\n \"DELETE\",\n // (R)\n \"DENSE_RANK\",\n // (R)\n \"DESC\",\n // (R)\n \"DESCRIBE\",\n // (R)\n \"DETERMINISTIC\",\n // (R)\n \"DISTINCT\",\n // (R)\n \"DISTINCTROW\",\n // (R)\n \"DIV\",\n // (R)\n \"DROP\",\n // (R)\n \"DUAL\",\n // (R)\n \"EACH\",\n // (R)\n \"ELSE\",\n // (R)\n \"ELSEIF\",\n // (R)\n \"EMPTY\",\n // (R)\n \"ENCLOSED\",\n // (R)\n \"ESCAPED\",\n // (R)\n \"EXCEPT\",\n // (R)\n \"EXISTS\",\n // (R)\n \"EXIT\",\n // (R)\n \"EXPLAIN\",\n // (R)\n \"FALSE\",\n // (R)\n \"FETCH\",\n // (R)\n \"FIRST_VALUE\",\n // (R)\n \"FOR\",\n // (R)\n \"FORCE\",\n // (R)\n \"FOREIGN\",\n // (R)\n \"FROM\",\n // (R)\n \"FULLTEXT\",\n // (R)\n \"FUNCTION\",\n // (R)\n \"GENERATED\",\n // (R)\n \"GET\",\n // (R)\n \"GRANT\",\n // (R)\n \"GROUP\",\n // (R)\n \"GROUPING\",\n // (R)\n \"GROUPS\",\n // (R)\n \"HAVING\",\n // (R)\n \"HIGH_PRIORITY\",\n // (R)\n \"HOUR_MICROSECOND\",\n // (R)\n \"HOUR_MINUTE\",\n // (R)\n \"HOUR_SECOND\",\n // (R)\n \"IF\",\n // (R)\n \"IGNORE\",\n // (R)\n \"IN\",\n // (R)\n \"INDEX\",\n // (R)\n \"INFILE\",\n // (R)\n \"INNER\",\n // (R)\n \"INOUT\",\n // (R)\n \"INSENSITIVE\",\n // (R)\n \"INSERT\",\n // (R)\n \"IN\",\n // <-- moved over from functions\n \"INTERSECT\",\n // (R)\n \"INTERVAL\",\n // (R)\n \"INTO\",\n // (R)\n \"IO_AFTER_GTIDS\",\n // (R)\n \"IO_BEFORE_GTIDS\",\n // (R)\n \"IS\",\n // (R)\n \"ITERATE\",\n // (R)\n \"JOIN\",\n // (R)\n \"JSON_TABLE\",\n // (R)\n \"KEY\",\n // (R)\n \"KEYS\",\n // (R)\n \"KILL\",\n // (R)\n \"LAG\",\n // (R)\n \"LAST_VALUE\",\n // (R)\n \"LATERAL\",\n // (R)\n \"LEAD\",\n // (R)\n \"LEADING\",\n // (R)\n \"LEAVE\",\n // (R)\n \"LEFT\",\n // (R)\n \"LIKE\",\n // (R)\n \"LIMIT\",\n // (R)\n \"LINEAR\",\n // (R)\n \"LINES\",\n // (R)\n \"LOAD\",\n // (R)\n \"LOCALTIME\",\n // (R)\n \"LOCALTIMESTAMP\",\n // (R)\n \"LOCK\",\n // (R)\n \"LONG\",\n // (R)\n \"LOOP\",\n // (R)\n \"LOW_PRIORITY\",\n // (R)\n \"MASTER_BIND\",\n // (R)\n \"MASTER_SSL_VERIFY_SERVER_CERT\",\n // (R)\n \"MATCH\",\n // (R)\n \"MAXVALUE\",\n // (R)\n \"MINUTE_MICROSECOND\",\n // (R)\n \"MINUTE_SECOND\",\n // (R)\n \"MOD\",\n // (R)\n \"MODIFIES\",\n // (R)\n \"NATURAL\",\n // (R)\n \"NOT\",\n // (R)\n \"NO_WRITE_TO_BINLOG\",\n // (R)\n \"NTH_VALUE\",\n // (R)\n \"NTILE\",\n // (R)\n \"NULL\",\n // (R)\n \"OF\",\n // (R)\n \"ON\",\n // (R)\n \"OPTIMIZE\",\n // (R)\n \"OPTIMIZER_COSTS\",\n // (R)\n \"OPTION\",\n // (R)\n \"OPTIONALLY\",\n // (R)\n \"OR\",\n // (R)\n \"ORDER\",\n // (R)\n \"OUT\",\n // (R)\n \"OUTER\",\n // (R)\n \"OUTFILE\",\n // (R)\n \"OVER\",\n // (R)\n \"PARTITION\",\n // (R)\n \"PERCENT_RANK\",\n // (R)\n \"PRIMARY\",\n // (R)\n \"PROCEDURE\",\n // (R)\n \"PURGE\",\n // (R)\n \"RANGE\",\n // (R)\n \"RANK\",\n // (R)\n \"READ\",\n // (R)\n \"READS\",\n // (R)\n \"READ_WRITE\",\n // (R)\n \"RECURSIVE\",\n // (R)\n \"REFERENCES\",\n // (R)\n \"REGEXP\",\n // (R)\n \"RELEASE\",\n // (R)\n \"RENAME\",\n // (R)\n \"REPEAT\",\n // (R)\n \"REPLACE\",\n // (R)\n \"REQUIRE\",\n // (R)\n \"RESIGNAL\",\n // (R)\n \"RESTRICT\",\n // (R)\n \"RETURN\",\n // (R)\n \"REVOKE\",\n // (R)\n \"RIGHT\",\n // (R)\n \"RLIKE\",\n // (R)\n \"ROW\",\n // (R)\n \"ROWS\",\n // (R)\n \"ROW_NUMBER\",\n // (R)\n \"SCHEMA\",\n // (R)\n \"SCHEMAS\",\n // (R)\n \"SECOND_MICROSECOND\",\n // (R)\n \"SELECT\",\n // (R)\n \"SENSITIVE\",\n // (R)\n \"SEPARATOR\",\n // (R)\n \"SET\",\n // (R)\n \"SHOW\",\n // (R)\n \"SIGNAL\",\n // (R)\n \"SPATIAL\",\n // (R)\n \"SPECIFIC\",\n // (R)\n \"SQL\",\n // (R)\n \"SQLEXCEPTION\",\n // (R)\n \"SQLSTATE\",\n // (R)\n \"SQLWARNING\",\n // (R)\n \"SQL_BIG_RESULT\",\n // (R)\n \"SQL_CALC_FOUND_ROWS\",\n // (R)\n \"SQL_SMALL_RESULT\",\n // (R)\n \"SSL\",\n // (R)\n \"STARTING\",\n // (R)\n \"STORED\",\n // (R)\n \"STRAIGHT_JOIN\",\n // (R)\n \"SYSTEM\",\n // (R)\n \"TABLE\",\n // (R)\n \"TERMINATED\",\n // (R)\n \"THEN\",\n // (R)\n \"TO\",\n // (R)\n \"TRAILING\",\n // (R)\n \"TRIGGER\",\n // (R)\n \"TRUE\",\n // (R)\n \"UNDO\",\n // (R)\n \"UNION\",\n // (R)\n \"UNIQUE\",\n // (R)\n \"UNLOCK\",\n // (R)\n \"UNSIGNED\",\n // (R)\n \"UPDATE\",\n // (R)\n \"USAGE\",\n // (R)\n \"USE\",\n // (R)\n \"USING\",\n // (R)\n \"UTC_DATE\",\n // (R)\n \"UTC_TIME\",\n // (R)\n \"UTC_TIMESTAMP\",\n // (R)\n \"VALUES\",\n // (R)\n \"VIRTUAL\",\n // (R)\n \"WHEN\",\n // (R)\n \"WHERE\",\n // (R)\n \"WHILE\",\n // (R)\n \"WINDOW\",\n // (R)\n \"WITH\",\n // (R)\n \"WRITE\",\n // (R)\n \"XOR\",\n // (R)\n \"YEAR_MONTH\",\n // (R)\n \"ZEROFILL\"\n // (R)\n];\nvar dataTypes6 = [\n // https://dev.mysql.com/doc/refman/8.0/en/data-types.html\n \"BIGINT\",\n // (R)\n \"BINARY\",\n // (R)\n \"BIT\",\n \"BLOB\",\n // (R)\n \"BOOL\",\n // (R)\n \"BOOLEAN\",\n // (R)\n \"CHAR\",\n // (R)\n \"CHARACTER\",\n // (R)\n \"DATE\",\n // (R)\n \"DATETIME\",\n // (R)\n \"DEC\",\n // (R)\n \"DECIMAL\",\n // (R)\n \"DOUBLE PRECISION\",\n \"DOUBLE\",\n // (R)\n \"ENUM\",\n \"FIXED\",\n \"FLOAT\",\n // (R)\n \"FLOAT4\",\n // (R)\n \"FLOAT8\",\n // (R)\n \"INT\",\n // (R)\n \"INT1\",\n // (R)\n \"INT2\",\n // (R)\n \"INT3\",\n // (R)\n \"INT4\",\n // (R)\n \"INT8\",\n // (R)\n \"INTEGER\",\n // (R)\n \"LONGBLOB\",\n // (R)\n \"LONGTEXT\",\n // (R)\n \"MEDIUMBLOB\",\n // (R)\n \"MEDIUMINT\",\n // (R)\n \"MEDIUMTEXT\",\n // (R)\n \"MIDDLEINT\",\n // (R)\n \"NATIONAL CHAR\",\n // (R)\n \"NATIONAL VARCHAR\",\n // (R)\n \"NUMERIC\",\n // (R)\n \"PRECISION\",\n // (R)\n \"REAL\",\n // (R)\n \"SMALLINT\",\n // (R)\n \"TEXT\",\n \"TIME\",\n \"TIMESTAMP\",\n // (R)\n \"TINYBLOB\",\n // (R)\n \"TINYINT\",\n // (R)\n \"TINYTEXT\",\n // (R)\n \"VARBINARY\",\n // (R)\n \"VARCHAR\",\n // (R)\n \"VARCHARACTER\",\n // (R)\n \"VARYING\",\n // (R)\n \"YEAR\"\n // 'SET' // handled as special-case in postProcess\n];\n\n// src/languages/mysql/mysql.functions.ts\nvar functions6 = [\n // https://dev.mysql.com/doc/refman/8.0/en/built-in-function-reference.html\n \"ABS\",\n \"ACOS\",\n \"ADDDATE\",\n \"ADDTIME\",\n \"AES_DECRYPT\",\n \"AES_ENCRYPT\",\n // 'AND',\n \"ANY_VALUE\",\n \"ASCII\",\n \"ASIN\",\n \"ATAN\",\n \"ATAN2\",\n \"AVG\",\n \"BENCHMARK\",\n \"BIN\",\n \"BIN_TO_UUID\",\n \"BINARY\",\n \"BIT_AND\",\n \"BIT_COUNT\",\n \"BIT_LENGTH\",\n \"BIT_OR\",\n \"BIT_XOR\",\n \"CAN_ACCESS_COLUMN\",\n \"CAN_ACCESS_DATABASE\",\n \"CAN_ACCESS_TABLE\",\n \"CAN_ACCESS_USER\",\n \"CAN_ACCESS_VIEW\",\n \"CAST\",\n \"CEIL\",\n \"CEILING\",\n \"CHAR\",\n \"CHAR_LENGTH\",\n \"CHARACTER_LENGTH\",\n \"CHARSET\",\n \"COALESCE\",\n \"COERCIBILITY\",\n \"COLLATION\",\n \"COMPRESS\",\n \"CONCAT\",\n \"CONCAT_WS\",\n \"CONNECTION_ID\",\n \"CONV\",\n \"CONVERT\",\n \"CONVERT_TZ\",\n \"COS\",\n \"COT\",\n \"COUNT\",\n \"CRC32\",\n \"CUME_DIST\",\n \"CURDATE\",\n \"CURRENT_DATE\",\n \"CURRENT_ROLE\",\n \"CURRENT_TIME\",\n \"CURRENT_TIMESTAMP\",\n \"CURRENT_USER\",\n \"CURTIME\",\n \"DATABASE\",\n \"DATE\",\n \"DATE_ADD\",\n \"DATE_FORMAT\",\n \"DATE_SUB\",\n \"DATEDIFF\",\n \"DAY\",\n \"DAYNAME\",\n \"DAYOFMONTH\",\n \"DAYOFWEEK\",\n \"DAYOFYEAR\",\n \"DEFAULT\",\n \"DEGREES\",\n \"DENSE_RANK\",\n \"DIV\",\n \"ELT\",\n \"EXP\",\n \"EXPORT_SET\",\n \"EXTRACT\",\n \"EXTRACTVALUE\",\n \"FIELD\",\n \"FIND_IN_SET\",\n \"FIRST_VALUE\",\n \"FLOOR\",\n \"FORMAT\",\n \"FORMAT_BYTES\",\n \"FORMAT_PICO_TIME\",\n \"FOUND_ROWS\",\n \"FROM_BASE64\",\n \"FROM_DAYS\",\n \"FROM_UNIXTIME\",\n \"GEOMCOLLECTION\",\n \"GEOMETRYCOLLECTION\",\n \"GET_DD_COLUMN_PRIVILEGES\",\n \"GET_DD_CREATE_OPTIONS\",\n \"GET_DD_INDEX_SUB_PART_LENGTH\",\n \"GET_FORMAT\",\n \"GET_LOCK\",\n \"GREATEST\",\n \"GROUP_CONCAT\",\n \"GROUPING\",\n \"GTID_SUBSET\",\n \"GTID_SUBTRACT\",\n \"HEX\",\n \"HOUR\",\n \"ICU_VERSION\",\n \"IF\",\n \"IFNULL\",\n // 'IN',\n \"INET_ATON\",\n \"INET_NTOA\",\n \"INET6_ATON\",\n \"INET6_NTOA\",\n \"INSERT\",\n \"INSTR\",\n \"INTERNAL_AUTO_INCREMENT\",\n \"INTERNAL_AVG_ROW_LENGTH\",\n \"INTERNAL_CHECK_TIME\",\n \"INTERNAL_CHECKSUM\",\n \"INTERNAL_DATA_FREE\",\n \"INTERNAL_DATA_LENGTH\",\n \"INTERNAL_DD_CHAR_LENGTH\",\n \"INTERNAL_GET_COMMENT_OR_ERROR\",\n \"INTERNAL_GET_ENABLED_ROLE_JSON\",\n \"INTERNAL_GET_HOSTNAME\",\n \"INTERNAL_GET_USERNAME\",\n \"INTERNAL_GET_VIEW_WARNING_OR_ERROR\",\n \"INTERNAL_INDEX_COLUMN_CARDINALITY\",\n \"INTERNAL_INDEX_LENGTH\",\n \"INTERNAL_IS_ENABLED_ROLE\",\n \"INTERNAL_IS_MANDATORY_ROLE\",\n \"INTERNAL_KEYS_DISABLED\",\n \"INTERNAL_MAX_DATA_LENGTH\",\n \"INTERNAL_TABLE_ROWS\",\n \"INTERNAL_UPDATE_TIME\",\n \"INTERVAL\",\n \"IS\",\n \"IS_FREE_LOCK\",\n \"IS_IPV4\",\n \"IS_IPV4_COMPAT\",\n \"IS_IPV4_MAPPED\",\n \"IS_IPV6\",\n \"IS NOT\",\n \"IS NOT NULL\",\n \"IS NULL\",\n \"IS_USED_LOCK\",\n \"IS_UUID\",\n \"ISNULL\",\n \"JSON_ARRAY\",\n \"JSON_ARRAY_APPEND\",\n \"JSON_ARRAY_INSERT\",\n \"JSON_ARRAYAGG\",\n \"JSON_CONTAINS\",\n \"JSON_CONTAINS_PATH\",\n \"JSON_DEPTH\",\n \"JSON_EXTRACT\",\n \"JSON_INSERT\",\n \"JSON_KEYS\",\n \"JSON_LENGTH\",\n \"JSON_MERGE\",\n \"JSON_MERGE_PATCH\",\n \"JSON_MERGE_PRESERVE\",\n \"JSON_OBJECT\",\n \"JSON_OBJECTAGG\",\n \"JSON_OVERLAPS\",\n \"JSON_PRETTY\",\n \"JSON_QUOTE\",\n \"JSON_REMOVE\",\n \"JSON_REPLACE\",\n \"JSON_SCHEMA_VALID\",\n \"JSON_SCHEMA_VALIDATION_REPORT\",\n \"JSON_SEARCH\",\n \"JSON_SET\",\n \"JSON_STORAGE_FREE\",\n \"JSON_STORAGE_SIZE\",\n \"JSON_TABLE\",\n \"JSON_TYPE\",\n \"JSON_UNQUOTE\",\n \"JSON_VALID\",\n \"JSON_VALUE\",\n \"LAG\",\n \"LAST_DAY\",\n \"LAST_INSERT_ID\",\n \"LAST_VALUE\",\n \"LCASE\",\n \"LEAD\",\n \"LEAST\",\n \"LEFT\",\n \"LENGTH\",\n \"LIKE\",\n \"LINESTRING\",\n \"LN\",\n \"LOAD_FILE\",\n \"LOCALTIME\",\n \"LOCALTIMESTAMP\",\n \"LOCATE\",\n \"LOG\",\n \"LOG10\",\n \"LOG2\",\n \"LOWER\",\n \"LPAD\",\n \"LTRIM\",\n \"MAKE_SET\",\n \"MAKEDATE\",\n \"MAKETIME\",\n \"MASTER_POS_WAIT\",\n \"MATCH\",\n \"MAX\",\n \"MBRCONTAINS\",\n \"MBRCOVEREDBY\",\n \"MBRCOVERS\",\n \"MBRDISJOINT\",\n \"MBREQUALS\",\n \"MBRINTERSECTS\",\n \"MBROVERLAPS\",\n \"MBRTOUCHES\",\n \"MBRWITHIN\",\n \"MD5\",\n \"MEMBER OF\",\n \"MICROSECOND\",\n \"MID\",\n \"MIN\",\n \"MINUTE\",\n \"MOD\",\n \"MONTH\",\n \"MONTHNAME\",\n \"MULTILINESTRING\",\n \"MULTIPOINT\",\n \"MULTIPOLYGON\",\n \"NAME_CONST\",\n \"NOT\",\n \"NOT IN\",\n \"NOT LIKE\",\n \"NOT REGEXP\",\n \"NOW\",\n \"NTH_VALUE\",\n \"NTILE\",\n \"NULLIF\",\n \"OCT\",\n \"OCTET_LENGTH\",\n // 'OR',\n \"ORD\",\n \"PERCENT_RANK\",\n \"PERIOD_ADD\",\n \"PERIOD_DIFF\",\n \"PI\",\n \"POINT\",\n \"POLYGON\",\n \"POSITION\",\n \"POW\",\n \"POWER\",\n \"PS_CURRENT_THREAD_ID\",\n \"PS_THREAD_ID\",\n \"QUARTER\",\n \"QUOTE\",\n \"RADIANS\",\n \"RAND\",\n \"RANDOM_BYTES\",\n \"RANK\",\n \"REGEXP\",\n \"REGEXP_INSTR\",\n \"REGEXP_LIKE\",\n \"REGEXP_REPLACE\",\n \"REGEXP_SUBSTR\",\n \"RELEASE_ALL_LOCKS\",\n \"RELEASE_LOCK\",\n \"REPEAT\",\n \"REPLACE\",\n \"REVERSE\",\n \"RIGHT\",\n \"RLIKE\",\n \"ROLES_GRAPHML\",\n \"ROUND\",\n \"ROW_COUNT\",\n \"ROW_NUMBER\",\n \"RPAD\",\n \"RTRIM\",\n \"SCHEMA\",\n \"SEC_TO_TIME\",\n \"SECOND\",\n \"SESSION_USER\",\n \"SHA1\",\n \"SHA2\",\n \"SIGN\",\n \"SIN\",\n \"SLEEP\",\n \"SOUNDEX\",\n \"SOUNDS LIKE\",\n \"SOURCE_POS_WAIT\",\n \"SPACE\",\n \"SQRT\",\n \"ST_AREA\",\n \"ST_ASBINARY\",\n \"ST_ASGEOJSON\",\n \"ST_ASTEXT\",\n \"ST_BUFFER\",\n \"ST_BUFFER_STRATEGY\",\n \"ST_CENTROID\",\n \"ST_COLLECT\",\n \"ST_CONTAINS\",\n \"ST_CONVEXHULL\",\n \"ST_CROSSES\",\n \"ST_DIFFERENCE\",\n \"ST_DIMENSION\",\n \"ST_DISJOINT\",\n \"ST_DISTANCE\",\n \"ST_DISTANCE_SPHERE\",\n \"ST_ENDPOINT\",\n \"ST_ENVELOPE\",\n \"ST_EQUALS\",\n \"ST_EXTERIORRING\",\n \"ST_FRECHETDISTANCE\",\n \"ST_GEOHASH\",\n \"ST_GEOMCOLLFROMTEXT\",\n \"ST_GEOMCOLLFROMWKB\",\n \"ST_GEOMETRYN\",\n \"ST_GEOMETRYTYPE\",\n \"ST_GEOMFROMGEOJSON\",\n \"ST_GEOMFROMTEXT\",\n \"ST_GEOMFROMWKB\",\n \"ST_HAUSDORFFDISTANCE\",\n \"ST_INTERIORRINGN\",\n \"ST_INTERSECTION\",\n \"ST_INTERSECTS\",\n \"ST_ISCLOSED\",\n \"ST_ISEMPTY\",\n \"ST_ISSIMPLE\",\n \"ST_ISVALID\",\n \"ST_LATFROMGEOHASH\",\n \"ST_LATITUDE\",\n \"ST_LENGTH\",\n \"ST_LINEFROMTEXT\",\n \"ST_LINEFROMWKB\",\n \"ST_LINEINTERPOLATEPOINT\",\n \"ST_LINEINTERPOLATEPOINTS\",\n \"ST_LONGFROMGEOHASH\",\n \"ST_LONGITUDE\",\n \"ST_MAKEENVELOPE\",\n \"ST_MLINEFROMTEXT\",\n \"ST_MLINEFROMWKB\",\n \"ST_MPOINTFROMTEXT\",\n \"ST_MPOINTFROMWKB\",\n \"ST_MPOLYFROMTEXT\",\n \"ST_MPOLYFROMWKB\",\n \"ST_NUMGEOMETRIES\",\n \"ST_NUMINTERIORRING\",\n \"ST_NUMPOINTS\",\n \"ST_OVERLAPS\",\n \"ST_POINTATDISTANCE\",\n \"ST_POINTFROMGEOHASH\",\n \"ST_POINTFROMTEXT\",\n \"ST_POINTFROMWKB\",\n \"ST_POINTN\",\n \"ST_POLYFROMTEXT\",\n \"ST_POLYFROMWKB\",\n \"ST_SIMPLIFY\",\n \"ST_SRID\",\n \"ST_STARTPOINT\",\n \"ST_SWAPXY\",\n \"ST_SYMDIFFERENCE\",\n \"ST_TOUCHES\",\n \"ST_TRANSFORM\",\n \"ST_UNION\",\n \"ST_VALIDATE\",\n \"ST_WITHIN\",\n \"ST_X\",\n \"ST_Y\",\n \"STATEMENT_DIGEST\",\n \"STATEMENT_DIGEST_TEXT\",\n \"STD\",\n \"STDDEV\",\n \"STDDEV_POP\",\n \"STDDEV_SAMP\",\n \"STR_TO_DATE\",\n \"STRCMP\",\n \"SUBDATE\",\n \"SUBSTR\",\n \"SUBSTRING\",\n \"SUBSTRING_INDEX\",\n \"SUBTIME\",\n \"SUM\",\n \"SYSDATE\",\n \"SYSTEM_USER\",\n \"TAN\",\n \"TIME\",\n \"TIME_FORMAT\",\n \"TIME_TO_SEC\",\n \"TIMEDIFF\",\n \"TIMESTAMP\",\n \"TIMESTAMPADD\",\n \"TIMESTAMPDIFF\",\n \"TO_BASE64\",\n \"TO_DAYS\",\n \"TO_SECONDS\",\n \"TRIM\",\n \"TRUNCATE\",\n \"UCASE\",\n \"UNCOMPRESS\",\n \"UNCOMPRESSED_LENGTH\",\n \"UNHEX\",\n \"UNIX_TIMESTAMP\",\n \"UPDATEXML\",\n \"UPPER\",\n // 'USER',\n \"UTC_DATE\",\n \"UTC_TIME\",\n \"UTC_TIMESTAMP\",\n \"UUID\",\n \"UUID_SHORT\",\n \"UUID_TO_BIN\",\n \"VALIDATE_PASSWORD_STRENGTH\",\n \"VALUES\",\n \"VAR_POP\",\n \"VAR_SAMP\",\n \"VARIANCE\",\n \"VERSION\",\n \"WAIT_FOR_EXECUTED_GTID_SET\",\n \"WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS\",\n \"WEEK\",\n \"WEEKDAY\",\n \"WEEKOFYEAR\",\n \"WEIGHT_STRING\",\n // 'XOR',\n \"YEAR\",\n \"YEARWEEK\"\n];\n\n// src/languages/mysql/mysql.formatter.ts\nvar reservedSelect6 = expandPhrases([\"SELECT [ALL | DISTINCT | DISTINCTROW]\"]);\nvar reservedClauses6 = expandPhrases([\n // queries\n \"WITH [RECURSIVE]\",\n \"FROM\",\n \"WHERE\",\n \"GROUP BY\",\n \"HAVING\",\n \"WINDOW\",\n \"PARTITION BY\",\n \"ORDER BY\",\n \"LIMIT\",\n \"OFFSET\",\n // Data manipulation\n // - insert:\n \"INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE] [INTO]\",\n \"REPLACE [LOW_PRIORITY | DELAYED] [INTO]\",\n \"VALUES\",\n \"ON DUPLICATE KEY UPDATE\",\n // - update:\n \"SET\"\n]);\nvar onelineClauses6 = expandPhrases([\n // - create:\n \"CREATE [TEMPORARY] TABLE [IF NOT EXISTS]\",\n \"CREATE [OR REPLACE] [SQL SECURITY DEFINER | SQL SECURITY INVOKER] VIEW [IF NOT EXISTS]\",\n // - update:\n \"UPDATE [LOW_PRIORITY] [IGNORE]\",\n // - delete:\n \"DELETE [LOW_PRIORITY] [QUICK] [IGNORE] FROM\",\n // - drop table:\n \"DROP [TEMPORARY] TABLE [IF EXISTS]\",\n // - alter table:\n \"ALTER TABLE\",\n \"ADD [COLUMN]\",\n \"{CHANGE | MODIFY} [COLUMN]\",\n \"DROP [COLUMN]\",\n \"RENAME [TO | AS]\",\n \"RENAME COLUMN\",\n \"ALTER [COLUMN]\",\n \"{SET | DROP} DEFAULT\",\n // for alter column\n // - truncate:\n \"TRUNCATE [TABLE]\",\n // https://dev.mysql.com/doc/refman/8.0/en/sql-statements.html\n \"ALTER DATABASE\",\n \"ALTER EVENT\",\n \"ALTER FUNCTION\",\n \"ALTER INSTANCE\",\n \"ALTER LOGFILE GROUP\",\n \"ALTER PROCEDURE\",\n \"ALTER RESOURCE GROUP\",\n \"ALTER SERVER\",\n \"ALTER TABLESPACE\",\n \"ALTER USER\",\n \"ALTER VIEW\",\n \"ANALYZE TABLE\",\n \"BINLOG\",\n \"CACHE INDEX\",\n \"CALL\",\n \"CHANGE MASTER TO\",\n \"CHANGE REPLICATION FILTER\",\n \"CHANGE REPLICATION SOURCE TO\",\n \"CHECK TABLE\",\n \"CHECKSUM TABLE\",\n \"CLONE\",\n \"COMMIT\",\n \"CREATE DATABASE\",\n \"CREATE EVENT\",\n \"CREATE FUNCTION\",\n \"CREATE FUNCTION\",\n \"CREATE INDEX\",\n \"CREATE LOGFILE GROUP\",\n \"CREATE PROCEDURE\",\n \"CREATE RESOURCE GROUP\",\n \"CREATE ROLE\",\n \"CREATE SERVER\",\n \"CREATE SPATIAL REFERENCE SYSTEM\",\n \"CREATE TABLESPACE\",\n \"CREATE TRIGGER\",\n \"CREATE USER\",\n \"DEALLOCATE PREPARE\",\n \"DESCRIBE\",\n \"DROP DATABASE\",\n \"DROP EVENT\",\n \"DROP FUNCTION\",\n \"DROP FUNCTION\",\n \"DROP INDEX\",\n \"DROP LOGFILE GROUP\",\n \"DROP PROCEDURE\",\n \"DROP RESOURCE GROUP\",\n \"DROP ROLE\",\n \"DROP SERVER\",\n \"DROP SPATIAL REFERENCE SYSTEM\",\n \"DROP TABLESPACE\",\n \"DROP TRIGGER\",\n \"DROP USER\",\n \"DROP VIEW\",\n \"EXECUTE\",\n \"EXPLAIN\",\n \"FLUSH\",\n \"GRANT\",\n \"HANDLER\",\n \"HELP\",\n \"IMPORT TABLE\",\n \"INSTALL COMPONENT\",\n \"INSTALL PLUGIN\",\n \"KILL\",\n \"LOAD DATA\",\n \"LOAD INDEX INTO CACHE\",\n \"LOAD XML\",\n \"LOCK INSTANCE FOR BACKUP\",\n \"LOCK TABLES\",\n \"MASTER_POS_WAIT\",\n \"OPTIMIZE TABLE\",\n \"PREPARE\",\n \"PURGE BINARY LOGS\",\n \"RELEASE SAVEPOINT\",\n \"RENAME TABLE\",\n \"RENAME USER\",\n \"REPAIR TABLE\",\n \"RESET\",\n \"RESET MASTER\",\n \"RESET PERSIST\",\n \"RESET REPLICA\",\n \"RESET SLAVE\",\n \"RESTART\",\n \"REVOKE\",\n \"ROLLBACK\",\n \"ROLLBACK TO SAVEPOINT\",\n \"SAVEPOINT\",\n \"SET CHARACTER SET\",\n \"SET DEFAULT ROLE\",\n \"SET NAMES\",\n \"SET PASSWORD\",\n \"SET RESOURCE GROUP\",\n \"SET ROLE\",\n \"SET TRANSACTION\",\n \"SHOW\",\n \"SHOW BINARY LOGS\",\n \"SHOW BINLOG EVENTS\",\n \"SHOW CHARACTER SET\",\n \"SHOW COLLATION\",\n \"SHOW COLUMNS\",\n \"SHOW CREATE DATABASE\",\n \"SHOW CREATE EVENT\",\n \"SHOW CREATE FUNCTION\",\n \"SHOW CREATE PROCEDURE\",\n \"SHOW CREATE TABLE\",\n \"SHOW CREATE TRIGGER\",\n \"SHOW CREATE USER\",\n \"SHOW CREATE VIEW\",\n \"SHOW DATABASES\",\n \"SHOW ENGINE\",\n \"SHOW ENGINES\",\n \"SHOW ERRORS\",\n \"SHOW EVENTS\",\n \"SHOW FUNCTION CODE\",\n \"SHOW FUNCTION STATUS\",\n \"SHOW GRANTS\",\n \"SHOW INDEX\",\n \"SHOW MASTER STATUS\",\n \"SHOW OPEN TABLES\",\n \"SHOW PLUGINS\",\n \"SHOW PRIVILEGES\",\n \"SHOW PROCEDURE CODE\",\n \"SHOW PROCEDURE STATUS\",\n \"SHOW PROCESSLIST\",\n \"SHOW PROFILE\",\n \"SHOW PROFILES\",\n \"SHOW RELAYLOG EVENTS\",\n \"SHOW REPLICA STATUS\",\n \"SHOW REPLICAS\",\n \"SHOW SLAVE\",\n \"SHOW SLAVE HOSTS\",\n \"SHOW STATUS\",\n \"SHOW TABLE STATUS\",\n \"SHOW TABLES\",\n \"SHOW TRIGGERS\",\n \"SHOW VARIABLES\",\n \"SHOW WARNINGS\",\n \"SHUTDOWN\",\n \"SOURCE_POS_WAIT\",\n \"START GROUP_REPLICATION\",\n \"START REPLICA\",\n \"START SLAVE\",\n \"START TRANSACTION\",\n \"STOP GROUP_REPLICATION\",\n \"STOP REPLICA\",\n \"STOP SLAVE\",\n \"TABLE\",\n \"UNINSTALL COMPONENT\",\n \"UNINSTALL PLUGIN\",\n \"UNLOCK INSTANCE\",\n \"UNLOCK TABLES\",\n \"USE\",\n \"XA\",\n // flow control\n // 'IF',\n \"ITERATE\",\n \"LEAVE\",\n \"LOOP\",\n \"REPEAT\",\n \"RETURN\",\n \"WHILE\"\n]);\nvar reservedSetOperations6 = expandPhrases([\"UNION [ALL | DISTINCT]\"]);\nvar reservedJoins6 = expandPhrases([\n \"JOIN\",\n \"{LEFT | RIGHT} [OUTER] JOIN\",\n \"{INNER | CROSS} JOIN\",\n \"NATURAL [INNER] JOIN\",\n \"NATURAL {LEFT | RIGHT} [OUTER] JOIN\",\n // non-standard joins\n \"STRAIGHT_JOIN\"\n]);\nvar reservedPhrases6 = expandPhrases([\n \"ON {UPDATE | DELETE} [SET NULL]\",\n \"CHARACTER SET\",\n \"{ROWS | RANGE} BETWEEN\",\n \"IDENTIFIED BY\"\n]);\nvar mysql = {\n name: \"mysql\",\n tokenizerOptions: {\n reservedSelect: reservedSelect6,\n reservedClauses: [...reservedClauses6, ...onelineClauses6],\n reservedSetOperations: reservedSetOperations6,\n reservedJoins: reservedJoins6,\n reservedPhrases: reservedPhrases6,\n supportsXor: true,\n reservedKeywords: keywords6,\n reservedDataTypes: dataTypes6,\n reservedFunctionNames: functions6,\n // TODO: support _ char set prefixes such as _utf8, _latin1, _binary, _utf8mb4, etc.\n stringTypes: [\n '\"\"-qq-bs',\n { quote: \"''-qq-bs\", prefixes: [\"N\"] },\n { quote: \"''-raw\", prefixes: [\"B\", \"X\"], requirePrefix: true }\n ],\n identTypes: [\"``\"],\n identChars: { first: \"$\", rest: \"$\", allowFirstCharNumber: true },\n variableTypes: [\n { regex: \"@@?[A-Za-z0-9_.$]+\" },\n { quote: '\"\"-qq-bs', prefixes: [\"@\"], requirePrefix: true },\n { quote: \"''-qq-bs\", prefixes: [\"@\"], requirePrefix: true },\n { quote: \"``\", prefixes: [\"@\"], requirePrefix: true }\n ],\n paramTypes: { positional: true },\n lineCommentTypes: [\"--\", \"#\"],\n operators: [\n \"%\",\n \":=\",\n \"&\",\n \"|\",\n \"^\",\n \"~\",\n \"<<\",\n \">>\",\n \"<=>\",\n \"->\",\n \"->>\",\n \"&&\",\n \"||\",\n \"!\",\n \"*.*\"\n // Not actually an operator\n ],\n postProcess: postProcess2\n },\n formatOptions: {\n onelineClauses: onelineClauses6\n }\n};\n\n// src/languages/n1ql/n1ql.functions.ts\nvar functions7 = [\n // https://docs.couchbase.com/server/current/n1ql/n1ql-language-reference/functions.html\n \"ABORT\",\n \"ABS\",\n \"ACOS\",\n \"ADVISOR\",\n \"ARRAY_AGG\",\n \"ARRAY_AGG\",\n \"ARRAY_APPEND\",\n \"ARRAY_AVG\",\n \"ARRAY_BINARY_SEARCH\",\n \"ARRAY_CONCAT\",\n \"ARRAY_CONTAINS\",\n \"ARRAY_COUNT\",\n \"ARRAY_DISTINCT\",\n \"ARRAY_EXCEPT\",\n \"ARRAY_FLATTEN\",\n \"ARRAY_IFNULL\",\n \"ARRAY_INSERT\",\n \"ARRAY_INTERSECT\",\n \"ARRAY_LENGTH\",\n \"ARRAY_MAX\",\n \"ARRAY_MIN\",\n \"ARRAY_MOVE\",\n \"ARRAY_POSITION\",\n \"ARRAY_PREPEND\",\n \"ARRAY_PUT\",\n \"ARRAY_RANGE\",\n \"ARRAY_REMOVE\",\n \"ARRAY_REPEAT\",\n \"ARRAY_REPLACE\",\n \"ARRAY_REVERSE\",\n \"ARRAY_SORT\",\n \"ARRAY_STAR\",\n \"ARRAY_SUM\",\n \"ARRAY_SYMDIFF\",\n \"ARRAY_SYMDIFF1\",\n \"ARRAY_SYMDIFFN\",\n \"ARRAY_UNION\",\n \"ASIN\",\n \"ATAN\",\n \"ATAN2\",\n \"AVG\",\n \"BASE64\",\n \"BASE64_DECODE\",\n \"BASE64_ENCODE\",\n \"BITAND \",\n \"BITCLEAR \",\n \"BITNOT \",\n \"BITOR \",\n \"BITSET \",\n \"BITSHIFT \",\n \"BITTEST \",\n \"BITXOR \",\n \"CEIL\",\n \"CLOCK_LOCAL\",\n \"CLOCK_MILLIS\",\n \"CLOCK_STR\",\n \"CLOCK_TZ\",\n \"CLOCK_UTC\",\n \"COALESCE\",\n \"CONCAT\",\n \"CONCAT2\",\n \"CONTAINS\",\n \"CONTAINS_TOKEN\",\n \"CONTAINS_TOKEN_LIKE\",\n \"CONTAINS_TOKEN_REGEXP\",\n \"COS\",\n \"COUNT\",\n \"COUNT\",\n \"COUNTN\",\n \"CUME_DIST\",\n \"CURL\",\n \"DATE_ADD_MILLIS\",\n \"DATE_ADD_STR\",\n \"DATE_DIFF_MILLIS\",\n \"DATE_DIFF_STR\",\n \"DATE_FORMAT_STR\",\n \"DATE_PART_MILLIS\",\n \"DATE_PART_STR\",\n \"DATE_RANGE_MILLIS\",\n \"DATE_RANGE_STR\",\n \"DATE_TRUNC_MILLIS\",\n \"DATE_TRUNC_STR\",\n \"DECODE\",\n \"DECODE_JSON\",\n \"DEGREES\",\n \"DENSE_RANK\",\n \"DURATION_TO_STR\",\n // 'E',\n \"ENCODED_SIZE\",\n \"ENCODE_JSON\",\n \"EXP\",\n \"FIRST_VALUE\",\n \"FLOOR\",\n \"GREATEST\",\n \"HAS_TOKEN\",\n \"IFINF\",\n \"IFMISSING\",\n \"IFMISSINGORNULL\",\n \"IFNAN\",\n \"IFNANORINF\",\n \"IFNULL\",\n \"INITCAP\",\n \"ISARRAY\",\n \"ISATOM\",\n \"ISBITSET\",\n \"ISBOOLEAN\",\n \"ISNUMBER\",\n \"ISOBJECT\",\n \"ISSTRING\",\n \"LAG\",\n \"LAST_VALUE\",\n \"LEAD\",\n \"LEAST\",\n \"LENGTH\",\n \"LN\",\n \"LOG\",\n \"LOWER\",\n \"LTRIM\",\n \"MAX\",\n \"MEAN\",\n \"MEDIAN\",\n \"META\",\n \"MILLIS\",\n \"MILLIS_TO_LOCAL\",\n \"MILLIS_TO_STR\",\n \"MILLIS_TO_TZ\",\n \"MILLIS_TO_UTC\",\n \"MILLIS_TO_ZONE_NAME\",\n \"MIN\",\n \"MISSINGIF\",\n \"NANIF\",\n \"NEGINFIF\",\n \"NOW_LOCAL\",\n \"NOW_MILLIS\",\n \"NOW_STR\",\n \"NOW_TZ\",\n \"NOW_UTC\",\n \"NTH_VALUE\",\n \"NTILE\",\n \"NULLIF\",\n \"NVL\",\n \"NVL2\",\n \"OBJECT_ADD\",\n \"OBJECT_CONCAT\",\n \"OBJECT_INNER_PAIRS\",\n \"OBJECT_INNER_VALUES\",\n \"OBJECT_LENGTH\",\n \"OBJECT_NAMES\",\n \"OBJECT_PAIRS\",\n \"OBJECT_PUT\",\n \"OBJECT_REMOVE\",\n \"OBJECT_RENAME\",\n \"OBJECT_REPLACE\",\n \"OBJECT_UNWRAP\",\n \"OBJECT_VALUES\",\n \"PAIRS\",\n \"PERCENT_RANK\",\n \"PI\",\n \"POLY_LENGTH\",\n \"POSINFIF\",\n \"POSITION\",\n \"POWER\",\n \"RADIANS\",\n \"RANDOM\",\n \"RANK\",\n \"RATIO_TO_REPORT\",\n \"REGEXP_CONTAINS\",\n \"REGEXP_LIKE\",\n \"REGEXP_MATCHES\",\n \"REGEXP_POSITION\",\n \"REGEXP_REPLACE\",\n \"REGEXP_SPLIT\",\n \"REGEX_CONTAINS\",\n \"REGEX_LIKE\",\n \"REGEX_MATCHES\",\n \"REGEX_POSITION\",\n \"REGEX_REPLACE\",\n \"REGEX_SPLIT\",\n \"REPEAT\",\n \"REPLACE\",\n \"REVERSE\",\n \"ROUND\",\n \"ROW_NUMBER\",\n \"RTRIM\",\n \"SEARCH\",\n \"SEARCH_META\",\n \"SEARCH_SCORE\",\n \"SIGN\",\n \"SIN\",\n \"SPLIT\",\n \"SQRT\",\n \"STDDEV\",\n \"STDDEV_POP\",\n \"STDDEV_SAMP\",\n \"STR_TO_DURATION\",\n \"STR_TO_MILLIS\",\n \"STR_TO_TZ\",\n \"STR_TO_UTC\",\n \"STR_TO_ZONE_NAME\",\n \"SUBSTR\",\n \"SUFFIXES\",\n \"SUM\",\n \"TAN\",\n \"TITLE\",\n \"TOARRAY\",\n \"TOATOM\",\n \"TOBOOLEAN\",\n \"TOKENS\",\n \"TOKENS\",\n \"TONUMBER\",\n \"TOOBJECT\",\n \"TOSTRING\",\n \"TRIM\",\n \"TRUNC\",\n // 'TYPE', // disabled\n \"UPPER\",\n \"UUID\",\n \"VARIANCE\",\n \"VARIANCE_POP\",\n \"VARIANCE_SAMP\",\n \"VAR_POP\",\n \"VAR_SAMP\",\n \"WEEKDAY_MILLIS\",\n \"WEEKDAY_STR\",\n // type casting\n // not implemented in N1QL, but added here now for the sake of tests\n // https://docs.couchbase.com/server/current/analytics/3_query.html#Vs_SQL-92\n \"CAST\"\n];\n\n// src/languages/n1ql/n1ql.keywords.ts\nvar keywords7 = [\n // https://docs.couchbase.com/server/current/n1ql/n1ql-language-reference/reservedwords.html\n \"ADVISE\",\n \"ALL\",\n \"ALTER\",\n \"ANALYZE\",\n \"AND\",\n \"ANY\",\n \"ARRAY\",\n \"AS\",\n \"ASC\",\n \"AT\",\n \"BEGIN\",\n \"BETWEEN\",\n \"BINARY\",\n \"BOOLEAN\",\n \"BREAK\",\n \"BUCKET\",\n \"BUILD\",\n \"BY\",\n \"CALL\",\n \"CASE\",\n \"CAST\",\n \"CLUSTER\",\n \"COLLATE\",\n \"COLLECTION\",\n \"COMMIT\",\n \"COMMITTED\",\n \"CONNECT\",\n \"CONTINUE\",\n \"CORRELATED\",\n \"COVER\",\n \"CREATE\",\n \"CURRENT\",\n \"DATABASE\",\n \"DATASET\",\n \"DATASTORE\",\n \"DECLARE\",\n \"DECREMENT\",\n \"DELETE\",\n \"DERIVED\",\n \"DESC\",\n \"DESCRIBE\",\n \"DISTINCT\",\n \"DO\",\n \"DROP\",\n \"EACH\",\n \"ELEMENT\",\n \"ELSE\",\n \"END\",\n \"EVERY\",\n \"EXCEPT\",\n \"EXCLUDE\",\n \"EXECUTE\",\n \"EXISTS\",\n \"EXPLAIN\",\n \"FALSE\",\n \"FETCH\",\n \"FILTER\",\n \"FIRST\",\n \"FLATTEN\",\n \"FLUSH\",\n \"FOLLOWING\",\n \"FOR\",\n \"FORCE\",\n \"FROM\",\n \"FTS\",\n \"FUNCTION\",\n \"GOLANG\",\n \"GRANT\",\n \"GROUP\",\n \"GROUPS\",\n \"GSI\",\n \"HASH\",\n \"HAVING\",\n \"IF\",\n \"IGNORE\",\n \"ILIKE\",\n \"IN\",\n \"INCLUDE\",\n \"INCREMENT\",\n \"INDEX\",\n \"INFER\",\n \"INLINE\",\n \"INNER\",\n \"INSERT\",\n \"INTERSECT\",\n \"INTO\",\n \"IS\",\n \"ISOLATION\",\n \"JAVASCRIPT\",\n \"JOIN\",\n \"KEY\",\n \"KEYS\",\n \"KEYSPACE\",\n \"KNOWN\",\n \"LANGUAGE\",\n \"LAST\",\n \"LEFT\",\n \"LET\",\n \"LETTING\",\n \"LEVEL\",\n \"LIKE\",\n \"LIMIT\",\n \"LSM\",\n \"MAP\",\n \"MAPPING\",\n \"MATCHED\",\n \"MATERIALIZED\",\n \"MERGE\",\n \"MINUS\",\n \"MISSING\",\n \"NAMESPACE\",\n \"NEST\",\n \"NL\",\n \"NO\",\n \"NOT\",\n \"NTH_VALUE\",\n \"NULL\",\n \"NULLS\",\n \"NUMBER\",\n \"OBJECT\",\n \"OFFSET\",\n \"ON\",\n \"OPTION\",\n \"OPTIONS\",\n \"OR\",\n \"ORDER\",\n \"OTHERS\",\n \"OUTER\",\n \"OVER\",\n \"PARSE\",\n \"PARTITION\",\n \"PASSWORD\",\n \"PATH\",\n \"POOL\",\n \"PRECEDING\",\n \"PREPARE\",\n \"PRIMARY\",\n \"PRIVATE\",\n \"PRIVILEGE\",\n \"PROBE\",\n \"PROCEDURE\",\n \"PUBLIC\",\n \"RANGE\",\n \"RAW\",\n \"REALM\",\n \"REDUCE\",\n \"RENAME\",\n \"RESPECT\",\n \"RETURN\",\n \"RETURNING\",\n \"REVOKE\",\n \"RIGHT\",\n \"ROLE\",\n \"ROLLBACK\",\n \"ROW\",\n \"ROWS\",\n \"SATISFIES\",\n \"SAVEPOINT\",\n \"SCHEMA\",\n \"SCOPE\",\n \"SELECT\",\n \"SELF\",\n \"SEMI\",\n \"SET\",\n \"SHOW\",\n \"SOME\",\n \"START\",\n \"STATISTICS\",\n \"STRING\",\n \"SYSTEM\",\n \"THEN\",\n \"TIES\",\n \"TO\",\n \"TRAN\",\n \"TRANSACTION\",\n \"TRIGGER\",\n \"TRUE\",\n \"TRUNCATE\",\n \"UNBOUNDED\",\n \"UNDER\",\n \"UNION\",\n \"UNIQUE\",\n \"UNKNOWN\",\n \"UNNEST\",\n \"UNSET\",\n \"UPDATE\",\n \"UPSERT\",\n \"USE\",\n \"USER\",\n \"USING\",\n \"VALIDATE\",\n \"VALUE\",\n \"VALUED\",\n \"VALUES\",\n \"VIA\",\n \"VIEW\",\n \"WHEN\",\n \"WHERE\",\n \"WHILE\",\n \"WINDOW\",\n \"WITH\",\n \"WITHIN\",\n \"WORK\",\n \"XOR\"\n];\nvar dataTypes7 = [\n // N1QL does not support any way of declaring types for columns.\n // It does not support the CREATE TABLE statement nor the CAST() expression.\n //\n // It does have several keywords like ARRAY and OBJECT, which seem to refer to types,\n // but they are used as operators. It also reserves several words like STRING and NUMBER,\n // which it actually doesn't use.\n //\n // https://docs.couchbase.com/server/current/n1ql/n1ql-language-reference/datatypes.html\n];\n\n// src/languages/n1ql/n1ql.formatter.ts\nvar reservedSelect7 = expandPhrases([\"SELECT [ALL | DISTINCT]\"]);\nvar reservedClauses7 = expandPhrases([\n // queries\n \"WITH\",\n \"FROM\",\n \"WHERE\",\n \"GROUP BY\",\n \"HAVING\",\n \"WINDOW\",\n \"PARTITION BY\",\n \"ORDER BY\",\n \"LIMIT\",\n \"OFFSET\",\n // Data manipulation\n // - insert:\n \"INSERT INTO\",\n \"VALUES\",\n // - update:\n \"SET\",\n // - merge:\n \"MERGE INTO\",\n \"WHEN [NOT] MATCHED THEN\",\n \"UPDATE SET\",\n \"INSERT\",\n // other\n \"NEST\",\n \"UNNEST\",\n \"RETURNING\"\n]);\nvar onelineClauses7 = expandPhrases([\n // - update:\n \"UPDATE\",\n // - delete:\n \"DELETE FROM\",\n // - set schema:\n \"SET SCHEMA\",\n // https://docs.couchbase.com/server/current/n1ql/n1ql-language-reference/reservedwords.html\n \"ADVISE\",\n \"ALTER INDEX\",\n \"BEGIN TRANSACTION\",\n \"BUILD INDEX\",\n \"COMMIT TRANSACTION\",\n \"CREATE COLLECTION\",\n \"CREATE FUNCTION\",\n \"CREATE INDEX\",\n \"CREATE PRIMARY INDEX\",\n \"CREATE SCOPE\",\n \"DROP COLLECTION\",\n \"DROP FUNCTION\",\n \"DROP INDEX\",\n \"DROP PRIMARY INDEX\",\n \"DROP SCOPE\",\n \"EXECUTE\",\n \"EXECUTE FUNCTION\",\n \"EXPLAIN\",\n \"GRANT\",\n \"INFER\",\n \"PREPARE\",\n \"REVOKE\",\n \"ROLLBACK TRANSACTION\",\n \"SAVEPOINT\",\n \"SET TRANSACTION\",\n \"UPDATE STATISTICS\",\n \"UPSERT\",\n // other\n \"LET\",\n \"SET CURRENT SCHEMA\",\n \"SHOW\",\n \"USE [PRIMARY] KEYS\"\n]);\nvar reservedSetOperations7 = expandPhrases([\"UNION [ALL]\", \"EXCEPT [ALL]\", \"INTERSECT [ALL]\"]);\nvar reservedJoins7 = expandPhrases([\"JOIN\", \"{LEFT | RIGHT} [OUTER] JOIN\", \"INNER JOIN\"]);\nvar reservedPhrases7 = expandPhrases([\"{ROWS | RANGE | GROUPS} BETWEEN\"]);\nvar n1ql = {\n name: \"n1ql\",\n tokenizerOptions: {\n reservedSelect: reservedSelect7,\n reservedClauses: [...reservedClauses7, ...onelineClauses7],\n reservedSetOperations: reservedSetOperations7,\n reservedJoins: reservedJoins7,\n reservedPhrases: reservedPhrases7,\n supportsXor: true,\n reservedKeywords: keywords7,\n reservedDataTypes: dataTypes7,\n reservedFunctionNames: functions7,\n // NOTE: single quotes are actually not supported in N1QL,\n // but we support them anyway as all other SQL dialects do,\n // which simplifies writing tests that are shared between all dialects.\n stringTypes: ['\"\"-bs', \"''-bs\"],\n identTypes: [\"``\"],\n extraParens: [\"[]\", \"{}\"],\n paramTypes: { positional: true, numbered: [\"$\"], named: [\"$\"] },\n lineCommentTypes: [\"#\", \"--\"],\n operators: [\"%\", \"==\", \":\", \"||\"]\n },\n formatOptions: {\n onelineClauses: onelineClauses7\n }\n};\n\n// src/languages/plsql/plsql.keywords.ts\nvar keywords8 = [\n // https://docs.oracle.com/cd/B19306_01/appdev.102/b14261/reservewords.htm\n // 'A',\n \"ADD\",\n \"AGENT\",\n \"AGGREGATE\",\n \"ALL\",\n \"ALTER\",\n \"AND\",\n \"ANY\",\n \"ARROW\",\n \"AS\",\n \"ASC\",\n \"AT\",\n \"ATTRIBUTE\",\n \"AUTHID\",\n \"AVG\",\n \"BEGIN\",\n \"BETWEEN\",\n \"BLOCK\",\n \"BODY\",\n \"BOTH\",\n \"BOUND\",\n \"BULK\",\n \"BY\",\n \"BYTE\",\n // 'C',\n \"CALL\",\n \"CALLING\",\n \"CASCADE\",\n \"CASE\",\n \"CHARSET\",\n \"CHARSETFORM\",\n \"CHARSETID\",\n \"CHECK\",\n \"CLOSE\",\n \"CLUSTER\",\n \"CLUSTERS\",\n \"COLAUTH\",\n \"COLLECT\",\n \"COLUMNS\",\n \"COMMENT\",\n \"COMMIT\",\n \"COMMITTED\",\n \"COMPILED\",\n \"COMPRESS\",\n \"CONNECT\",\n \"CONSTANT\",\n \"CONSTRUCTOR\",\n \"CONTEXT\",\n \"CONVERT\",\n \"COUNT\",\n \"CRASH\",\n \"CREATE\",\n \"CURRENT\",\n \"CURSOR\",\n \"CUSTOMDATUM\",\n \"DANGLING\",\n \"DATA\",\n \"DAY\",\n \"DECLARE\",\n \"DEFAULT\",\n \"DEFINE\",\n \"DELETE\",\n \"DESC\",\n \"DETERMINISTIC\",\n \"DISTINCT\",\n \"DROP\",\n \"DURATION\",\n \"ELEMENT\",\n \"ELSE\",\n \"ELSIF\",\n \"EMPTY\",\n \"END\",\n \"ESCAPE\",\n \"EXCEPT\",\n \"EXCEPTION\",\n \"EXCEPTIONS\",\n \"EXCLUSIVE\",\n \"EXECUTE\",\n \"EXISTS\",\n \"EXIT\",\n \"EXTERNAL\",\n \"FETCH\",\n \"FINAL\",\n \"FIXED\",\n \"FOR\",\n \"FORALL\",\n \"FORCE\",\n \"FORM\",\n \"FROM\",\n \"FUNCTION\",\n \"GENERAL\",\n \"GOTO\",\n \"GRANT\",\n \"GROUP\",\n \"HASH\",\n \"HAVING\",\n \"HEAP\",\n \"HIDDEN\",\n \"HOUR\",\n \"IDENTIFIED\",\n \"IF\",\n \"IMMEDIATE\",\n \"IN\",\n \"INCLUDING\",\n \"INDEX\",\n \"INDEXES\",\n \"INDICATOR\",\n \"INDICES\",\n \"INFINITE\",\n \"INSERT\",\n \"INSTANTIABLE\",\n \"INTERFACE\",\n \"INTERSECT\",\n \"INTERVAL\",\n \"INTO\",\n \"INVALIDATE\",\n \"IS\",\n \"ISOLATION\",\n \"JAVA\",\n \"LANGUAGE\",\n \"LARGE\",\n \"LEADING\",\n \"LENGTH\",\n \"LEVEL\",\n \"LIBRARY\",\n \"LIKE\",\n \"LIKE2\",\n \"LIKE4\",\n \"LIKEC\",\n \"LIMIT\",\n \"LIMITED\",\n \"LOCAL\",\n \"LOCK\",\n \"LOOP\",\n \"MAP\",\n \"MAX\",\n \"MAXLEN\",\n \"MEMBER\",\n \"MERGE\",\n \"MIN\",\n \"MINUS\",\n \"MINUTE\",\n \"MOD\",\n \"MODE\",\n \"MODIFY\",\n \"MONTH\",\n \"MULTISET\",\n \"NAME\",\n \"NAN\",\n \"NATIONAL\",\n \"NATIVE\",\n \"NEW\",\n \"NOCOMPRESS\",\n \"NOCOPY\",\n \"NOT\",\n \"NOWAIT\",\n \"NULL\",\n \"OBJECT\",\n \"OCICOLL\",\n \"OCIDATE\",\n \"OCIDATETIME\",\n \"OCIDURATION\",\n \"OCIINTERVAL\",\n \"OCILOBLOCATOR\",\n \"OCINUMBER\",\n \"OCIRAW\",\n \"OCIREF\",\n \"OCIREFCURSOR\",\n \"OCIROWID\",\n \"OCISTRING\",\n \"OCITYPE\",\n \"OF\",\n \"ON\",\n \"ONLY\",\n \"OPAQUE\",\n \"OPEN\",\n \"OPERATOR\",\n \"OPTION\",\n \"OR\",\n \"ORACLE\",\n \"ORADATA\",\n \"ORDER\",\n \"OVERLAPS\",\n \"ORGANIZATION\",\n \"ORLANY\",\n \"ORLVARY\",\n \"OTHERS\",\n \"OUT\",\n \"OVERRIDING\",\n \"PACKAGE\",\n \"PARALLEL_ENABLE\",\n \"PARAMETER\",\n \"PARAMETERS\",\n \"PARTITION\",\n \"PASCAL\",\n \"PIPE\",\n \"PIPELINED\",\n \"PRAGMA\",\n \"PRIOR\",\n \"PRIVATE\",\n \"PROCEDURE\",\n \"PUBLIC\",\n \"RAISE\",\n \"RANGE\",\n \"READ\",\n \"RECORD\",\n \"REF\",\n \"REFERENCE\",\n \"REM\",\n \"REMAINDER\",\n \"RENAME\",\n \"RESOURCE\",\n \"RESULT\",\n \"RETURN\",\n \"RETURNING\",\n \"REVERSE\",\n \"REVOKE\",\n \"ROLLBACK\",\n \"ROW\",\n \"SAMPLE\",\n \"SAVE\",\n \"SAVEPOINT\",\n \"SB1\",\n \"SB2\",\n \"SB4\",\n \"SECOND\",\n \"SEGMENT\",\n \"SELECT\",\n \"SELF\",\n \"SEPARATE\",\n \"SEQUENCE\",\n \"SERIALIZABLE\",\n \"SET\",\n \"SHARE\",\n \"SHORT\",\n \"SIZE\",\n \"SIZE_T\",\n \"SOME\",\n \"SPARSE\",\n \"SQL\",\n \"SQLCODE\",\n \"SQLDATA\",\n \"SQLNAME\",\n \"SQLSTATE\",\n \"STANDARD\",\n \"START\",\n \"STATIC\",\n \"STDDEV\",\n \"STORED\",\n \"STRING\",\n \"STRUCT\",\n \"STYLE\",\n \"SUBMULTISET\",\n \"SUBPARTITION\",\n \"SUBSTITUTABLE\",\n \"SUBTYPE\",\n \"SUM\",\n \"SYNONYM\",\n \"TABAUTH\",\n \"TABLE\",\n \"TDO\",\n \"THE\",\n \"THEN\",\n \"TIME\",\n \"TIMEZONE_ABBR\",\n \"TIMEZONE_HOUR\",\n \"TIMEZONE_MINUTE\",\n \"TIMEZONE_REGION\",\n \"TO\",\n \"TRAILING\",\n \"TRANSAC\",\n \"TRANSACTIONAL\",\n \"TRUSTED\",\n \"TYPE\",\n \"UB1\",\n \"UB2\",\n \"UB4\",\n \"UNDER\",\n \"UNION\",\n \"UNIQUE\",\n \"UNSIGNED\",\n \"UNTRUSTED\",\n \"UPDATE\",\n \"USE\",\n \"USING\",\n \"VALIST\",\n \"VALUE\",\n \"VALUES\",\n \"VARIABLE\",\n \"VARIANCE\",\n \"VARRAY\",\n \"VIEW\",\n \"VIEWS\",\n \"VOID\",\n \"WHEN\",\n \"WHERE\",\n \"WHILE\",\n \"WITH\",\n \"WORK\",\n \"WRAPPED\",\n \"WRITE\",\n \"YEAR\",\n \"ZONE\"\n];\nvar dataTypes8 = [\n // https://www.ibm.com/docs/en/db2/10.5?topic=plsql-data-types\n \"ARRAY\",\n \"BFILE_BASE\",\n \"BINARY\",\n \"BLOB_BASE\",\n \"CHAR VARYING\",\n \"CHAR_BASE\",\n \"CHAR\",\n \"CHARACTER VARYING\",\n \"CHARACTER\",\n \"CLOB_BASE\",\n \"DATE_BASE\",\n \"DATE\",\n \"DECIMAL\",\n \"DOUBLE\",\n \"FLOAT\",\n \"INT\",\n \"INTERVAL DAY\",\n \"INTERVAL YEAR\",\n \"LONG\",\n \"NATIONAL CHAR VARYING\",\n \"NATIONAL CHAR\",\n \"NATIONAL CHARACTER VARYING\",\n \"NATIONAL CHARACTER\",\n \"NCHAR VARYING\",\n \"NCHAR\",\n \"NCHAR\",\n \"NUMBER_BASE\",\n \"NUMBER\",\n \"NUMBERIC\",\n \"NVARCHAR\",\n \"PRECISION\",\n \"RAW\",\n \"TIMESTAMP\",\n \"UROWID\",\n \"VARCHAR\",\n \"VARCHAR2\"\n];\n\n// src/languages/plsql/plsql.functions.ts\nvar functions8 = [\n // https://docs.oracle.com/cd/B19306_01/server.102/b14200/functions001.htm\n // numeric\n \"ABS\",\n \"ACOS\",\n \"ASIN\",\n \"ATAN\",\n \"ATAN2\",\n \"BITAND\",\n \"CEIL\",\n \"COS\",\n \"COSH\",\n \"EXP\",\n \"FLOOR\",\n \"LN\",\n \"LOG\",\n \"MOD\",\n \"NANVL\",\n \"POWER\",\n \"REMAINDER\",\n \"ROUND\",\n \"SIGN\",\n \"SIN\",\n \"SINH\",\n \"SQRT\",\n \"TAN\",\n \"TANH\",\n \"TRUNC\",\n \"WIDTH_BUCKET\",\n // character\n \"CHR\",\n \"CONCAT\",\n \"INITCAP\",\n \"LOWER\",\n \"LPAD\",\n \"LTRIM\",\n \"NLS_INITCAP\",\n \"NLS_LOWER\",\n \"NLSSORT\",\n \"NLS_UPPER\",\n \"REGEXP_REPLACE\",\n \"REGEXP_SUBSTR\",\n \"REPLACE\",\n \"RPAD\",\n \"RTRIM\",\n \"SOUNDEX\",\n \"SUBSTR\",\n \"TRANSLATE\",\n \"TREAT\",\n \"TRIM\",\n \"UPPER\",\n \"NLS_CHARSET_DECL_LEN\",\n \"NLS_CHARSET_ID\",\n \"NLS_CHARSET_NAME\",\n \"ASCII\",\n \"INSTR\",\n \"LENGTH\",\n \"REGEXP_INSTR\",\n // datetime\n \"ADD_MONTHS\",\n \"CURRENT_DATE\",\n \"CURRENT_TIMESTAMP\",\n \"DBTIMEZONE\",\n \"EXTRACT\",\n \"FROM_TZ\",\n \"LAST_DAY\",\n \"LOCALTIMESTAMP\",\n \"MONTHS_BETWEEN\",\n \"NEW_TIME\",\n \"NEXT_DAY\",\n \"NUMTODSINTERVAL\",\n \"NUMTOYMINTERVAL\",\n \"ROUND\",\n \"SESSIONTIMEZONE\",\n \"SYS_EXTRACT_UTC\",\n \"SYSDATE\",\n \"SYSTIMESTAMP\",\n \"TO_CHAR\",\n \"TO_TIMESTAMP\",\n \"TO_TIMESTAMP_TZ\",\n \"TO_DSINTERVAL\",\n \"TO_YMINTERVAL\",\n \"TRUNC\",\n \"TZ_OFFSET\",\n // comparison\n \"GREATEST\",\n \"LEAST\",\n // conversion\n \"ASCIISTR\",\n \"BIN_TO_NUM\",\n \"CAST\",\n \"CHARTOROWID\",\n \"COMPOSE\",\n \"CONVERT\",\n \"DECOMPOSE\",\n \"HEXTORAW\",\n \"NUMTODSINTERVAL\",\n \"NUMTOYMINTERVAL\",\n \"RAWTOHEX\",\n \"RAWTONHEX\",\n \"ROWIDTOCHAR\",\n \"ROWIDTONCHAR\",\n \"SCN_TO_TIMESTAMP\",\n \"TIMESTAMP_TO_SCN\",\n \"TO_BINARY_DOUBLE\",\n \"TO_BINARY_FLOAT\",\n \"TO_CHAR\",\n \"TO_CLOB\",\n \"TO_DATE\",\n \"TO_DSINTERVAL\",\n \"TO_LOB\",\n \"TO_MULTI_BYTE\",\n \"TO_NCHAR\",\n \"TO_NCLOB\",\n \"TO_NUMBER\",\n \"TO_DSINTERVAL\",\n \"TO_SINGLE_BYTE\",\n \"TO_TIMESTAMP\",\n \"TO_TIMESTAMP_TZ\",\n \"TO_YMINTERVAL\",\n \"TO_YMINTERVAL\",\n \"TRANSLATE\",\n \"UNISTR\",\n // largeObject\n \"BFILENAME\",\n \"EMPTY_BLOB,\",\n \"EMPTY_CLOB\",\n // collection\n \"CARDINALITY\",\n \"COLLECT\",\n \"POWERMULTISET\",\n \"POWERMULTISET_BY_CARDINALITY\",\n \"SET\",\n // hierarchical\n \"SYS_CONNECT_BY_PATH\",\n // dataMining\n \"CLUSTER_ID\",\n \"CLUSTER_PROBABILITY\",\n \"CLUSTER_SET\",\n \"FEATURE_ID\",\n \"FEATURE_SET\",\n \"FEATURE_VALUE\",\n \"PREDICTION\",\n \"PREDICTION_COST\",\n \"PREDICTION_DETAILS\",\n \"PREDICTION_PROBABILITY\",\n \"PREDICTION_SET\",\n // xml\n \"APPENDCHILDXML\",\n \"DELETEXML\",\n \"DEPTH\",\n \"EXTRACT\",\n \"EXISTSNODE\",\n \"EXTRACTVALUE\",\n \"INSERTCHILDXML\",\n \"INSERTXMLBEFORE\",\n \"PATH\",\n \"SYS_DBURIGEN\",\n \"SYS_XMLAGG\",\n \"SYS_XMLGEN\",\n \"UPDATEXML\",\n \"XMLAGG\",\n \"XMLCDATA\",\n \"XMLCOLATTVAL\",\n \"XMLCOMMENT\",\n \"XMLCONCAT\",\n \"XMLFOREST\",\n \"XMLPARSE\",\n \"XMLPI\",\n \"XMLQUERY\",\n \"XMLROOT\",\n \"XMLSEQUENCE\",\n \"XMLSERIALIZE\",\n \"XMLTABLE\",\n \"XMLTRANSFORM\",\n // encoding\n \"DECODE\",\n \"DUMP\",\n \"ORA_HASH\",\n \"VSIZE\",\n // nullRelated\n \"COALESCE\",\n \"LNNVL\",\n \"NULLIF\",\n \"NVL\",\n \"NVL2\",\n // env\n \"SYS_CONTEXT\",\n \"SYS_GUID\",\n \"SYS_TYPEID\",\n \"UID\",\n \"USER\",\n \"USERENV\",\n // aggregate\n \"AVG\",\n \"COLLECT\",\n \"CORR\",\n \"CORR_S\",\n \"CORR_K\",\n \"COUNT\",\n \"COVAR_POP\",\n \"COVAR_SAMP\",\n \"CUME_DIST\",\n \"DENSE_RANK\",\n \"FIRST\",\n \"GROUP_ID\",\n \"GROUPING\",\n \"GROUPING_ID\",\n \"LAST\",\n \"MAX\",\n \"MEDIAN\",\n \"MIN\",\n \"PERCENTILE_CONT\",\n \"PERCENTILE_DISC\",\n \"PERCENT_RANK\",\n \"RANK\",\n \"REGR_SLOPE\",\n \"REGR_INTERCEPT\",\n \"REGR_COUNT\",\n \"REGR_R2\",\n \"REGR_AVGX\",\n \"REGR_AVGY\",\n \"REGR_SXX\",\n \"REGR_SYY\",\n \"REGR_SXY\",\n \"STATS_BINOMIAL_TEST\",\n \"STATS_CROSSTAB\",\n \"STATS_F_TEST\",\n \"STATS_KS_TEST\",\n \"STATS_MODE\",\n \"STATS_MW_TEST\",\n \"STATS_ONE_WAY_ANOVA\",\n \"STATS_T_TEST_ONE\",\n \"STATS_T_TEST_PAIRED\",\n \"STATS_T_TEST_INDEP\",\n \"STATS_T_TEST_INDEPU\",\n \"STATS_WSR_TEST\",\n \"STDDEV\",\n \"STDDEV_POP\",\n \"STDDEV_SAMP\",\n \"SUM\",\n \"VAR_POP\",\n \"VAR_SAMP\",\n \"VARIANCE\",\n // Windowing functions (minus the ones already listed in aggregates)\n // window\n \"FIRST_VALUE\",\n \"LAG\",\n \"LAST_VALUE\",\n \"LEAD\",\n \"NTILE\",\n \"RATIO_TO_REPORT\",\n \"ROW_NUMBER\",\n // objectReference\n \"DEREF\",\n \"MAKE_REF\",\n \"REF\",\n \"REFTOHEX\",\n \"VALUE\",\n // model\n \"CV\",\n \"ITERATION_NUMBER\",\n \"PRESENTNNV\",\n \"PRESENTV\",\n \"PREVIOUS\"\n];\n\n// src/languages/plsql/plsql.formatter.ts\nvar reservedSelect8 = expandPhrases([\"SELECT [ALL | DISTINCT | UNIQUE]\"]);\nvar reservedClauses8 = expandPhrases([\n // queries\n \"WITH\",\n \"FROM\",\n \"WHERE\",\n \"GROUP BY\",\n \"HAVING\",\n \"PARTITION BY\",\n \"ORDER [SIBLINGS] BY\",\n \"OFFSET\",\n \"FETCH {FIRST | NEXT}\",\n \"FOR UPDATE [OF]\",\n // Data manipulation\n // - insert:\n \"INSERT [INTO | ALL INTO]\",\n \"VALUES\",\n // - update:\n \"SET\",\n // - merge:\n \"MERGE [INTO]\",\n \"WHEN [NOT] MATCHED [THEN]\",\n \"UPDATE SET\",\n // other\n \"RETURNING\"\n]);\nvar onelineClauses8 = expandPhrases([\n // - create:\n \"CREATE [GLOBAL TEMPORARY | PRIVATE TEMPORARY | SHARDED | DUPLICATED | IMMUTABLE BLOCKCHAIN | BLOCKCHAIN | IMMUTABLE] TABLE\",\n \"CREATE [OR REPLACE] [NO FORCE | FORCE] [EDITIONING | EDITIONABLE | EDITIONABLE EDITIONING | NONEDITIONABLE] VIEW\",\n \"CREATE MATERIALIZED VIEW\",\n // - update:\n \"UPDATE [ONLY]\",\n // - delete:\n \"DELETE FROM [ONLY]\",\n // - drop table:\n \"DROP TABLE\",\n // - alter table:\n \"ALTER TABLE\",\n \"ADD\",\n \"DROP {COLUMN | UNUSED COLUMNS | COLUMNS CONTINUE}\",\n \"MODIFY\",\n \"RENAME TO\",\n \"RENAME COLUMN\",\n // - truncate:\n \"TRUNCATE TABLE\",\n // other\n \"SET SCHEMA\",\n \"BEGIN\",\n \"CONNECT BY\",\n \"DECLARE\",\n \"EXCEPT\",\n \"EXCEPTION\",\n \"LOOP\",\n \"START WITH\"\n]);\nvar reservedSetOperations8 = expandPhrases([\"UNION [ALL]\", \"EXCEPT\", \"INTERSECT\"]);\nvar reservedJoins8 = expandPhrases([\n \"JOIN\",\n \"{LEFT | RIGHT | FULL} [OUTER] JOIN\",\n \"{INNER | CROSS} JOIN\",\n \"NATURAL [INNER] JOIN\",\n \"NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN\",\n // non-standard joins\n \"{CROSS | OUTER} APPLY\"\n]);\nvar reservedPhrases8 = expandPhrases([\n \"ON {UPDATE | DELETE} [SET NULL]\",\n \"ON COMMIT\",\n \"{ROWS | RANGE} BETWEEN\"\n]);\nvar plsql = {\n name: \"plsql\",\n tokenizerOptions: {\n reservedSelect: reservedSelect8,\n reservedClauses: [...reservedClauses8, ...onelineClauses8],\n reservedSetOperations: reservedSetOperations8,\n reservedJoins: reservedJoins8,\n reservedPhrases: reservedPhrases8,\n supportsXor: true,\n reservedKeywords: keywords8,\n reservedDataTypes: dataTypes8,\n reservedFunctionNames: functions8,\n stringTypes: [\n { quote: \"''-qq\", prefixes: [\"N\"] },\n { quote: \"q''\", prefixes: [\"N\"] }\n ],\n // PL/SQL doesn't actually support escaping of quotes in identifiers,\n // but for the sake of simpler testing we'll support this anyway\n // as all other SQL dialects with \"identifiers\" do.\n identTypes: [`\"\"-qq`],\n identChars: { rest: \"$#\" },\n variableTypes: [{ regex: \"&{1,2}[A-Za-z][A-Za-z0-9_$#]*\" }],\n paramTypes: { numbered: [\":\"], named: [\":\"] },\n paramChars: {},\n // Empty object used on purpose to not allow $ and # chars as specified in identChars\n operators: [\n \"**\",\n \":=\",\n \"%\",\n \"~=\",\n \"^=\",\n // '..', // Conflicts with float followed by dot (so \"2..3\" gets parsed as [\"2.\", \".\", \"3\"])\n \">>\",\n \"<<\",\n \"=>\",\n \"@\",\n \"||\"\n ],\n postProcess: postProcess3\n },\n formatOptions: {\n alwaysDenseOperators: [\"@\"],\n onelineClauses: onelineClauses8\n }\n};\nfunction postProcess3(tokens) {\n let previousReservedToken = EOF_TOKEN;\n return tokens.map((token) => {\n if (isToken.SET(token) && isToken.BY(previousReservedToken)) {\n return __spreadProps(__spreadValues({}, token), { type: \"RESERVED_KEYWORD\" /* RESERVED_KEYWORD */ });\n }\n if (isReserved(token.type)) {\n previousReservedToken = token;\n }\n return token;\n });\n}\n\n// src/languages/postgresql/postgresql.functions.ts\nvar functions9 = [\n // https://www.postgresql.org/docs/14/functions.html\n //\n // https://www.postgresql.org/docs/14/functions-math.html\n \"ABS\",\n \"ACOS\",\n \"ACOSD\",\n \"ACOSH\",\n \"ASIN\",\n \"ASIND\",\n \"ASINH\",\n \"ATAN\",\n \"ATAN2\",\n \"ATAN2D\",\n \"ATAND\",\n \"ATANH\",\n \"CBRT\",\n \"CEIL\",\n \"CEILING\",\n \"COS\",\n \"COSD\",\n \"COSH\",\n \"COT\",\n \"COTD\",\n \"DEGREES\",\n \"DIV\",\n \"EXP\",\n \"FACTORIAL\",\n \"FLOOR\",\n \"GCD\",\n \"LCM\",\n \"LN\",\n \"LOG\",\n \"LOG10\",\n \"MIN_SCALE\",\n \"MOD\",\n \"PI\",\n \"POWER\",\n \"RADIANS\",\n \"RANDOM\",\n \"ROUND\",\n \"SCALE\",\n \"SETSEED\",\n \"SIGN\",\n \"SIN\",\n \"SIND\",\n \"SINH\",\n \"SQRT\",\n \"TAN\",\n \"TAND\",\n \"TANH\",\n \"TRIM_SCALE\",\n \"TRUNC\",\n \"WIDTH_BUCKET\",\n // https://www.postgresql.org/docs/14/functions-string.html\n \"ABS\",\n \"ASCII\",\n \"BIT_LENGTH\",\n \"BTRIM\",\n \"CHARACTER_LENGTH\",\n \"CHAR_LENGTH\",\n \"CHR\",\n \"CONCAT\",\n \"CONCAT_WS\",\n \"FORMAT\",\n \"INITCAP\",\n \"LEFT\",\n \"LENGTH\",\n \"LOWER\",\n \"LPAD\",\n \"LTRIM\",\n \"MD5\",\n \"NORMALIZE\",\n \"OCTET_LENGTH\",\n \"OVERLAY\",\n \"PARSE_IDENT\",\n \"PG_CLIENT_ENCODING\",\n \"POSITION\",\n \"QUOTE_IDENT\",\n \"QUOTE_LITERAL\",\n \"QUOTE_NULLABLE\",\n \"REGEXP_MATCH\",\n \"REGEXP_MATCHES\",\n \"REGEXP_REPLACE\",\n \"REGEXP_SPLIT_TO_ARRAY\",\n \"REGEXP_SPLIT_TO_TABLE\",\n \"REPEAT\",\n \"REPLACE\",\n \"REVERSE\",\n \"RIGHT\",\n \"RPAD\",\n \"RTRIM\",\n \"SPLIT_PART\",\n \"SPRINTF\",\n \"STARTS_WITH\",\n \"STRING_AGG\",\n \"STRING_TO_ARRAY\",\n \"STRING_TO_TABLE\",\n \"STRPOS\",\n \"SUBSTR\",\n \"SUBSTRING\",\n \"TO_ASCII\",\n \"TO_HEX\",\n \"TRANSLATE\",\n \"TRIM\",\n \"UNISTR\",\n \"UPPER\",\n // https://www.postgresql.org/docs/14/functions-binarystring.html\n \"BIT_COUNT\",\n \"BIT_LENGTH\",\n \"BTRIM\",\n \"CONVERT\",\n \"CONVERT_FROM\",\n \"CONVERT_TO\",\n \"DECODE\",\n \"ENCODE\",\n \"GET_BIT\",\n \"GET_BYTE\",\n \"LENGTH\",\n \"LTRIM\",\n \"MD5\",\n \"OCTET_LENGTH\",\n \"OVERLAY\",\n \"POSITION\",\n \"RTRIM\",\n \"SET_BIT\",\n \"SET_BYTE\",\n \"SHA224\",\n \"SHA256\",\n \"SHA384\",\n \"SHA512\",\n \"STRING_AGG\",\n \"SUBSTR\",\n \"SUBSTRING\",\n \"TRIM\",\n // https://www.postgresql.org/docs/14/functions-bitstring.html\n \"BIT_COUNT\",\n \"BIT_LENGTH\",\n \"GET_BIT\",\n \"LENGTH\",\n \"OCTET_LENGTH\",\n \"OVERLAY\",\n \"POSITION\",\n \"SET_BIT\",\n \"SUBSTRING\",\n // https://www.postgresql.org/docs/14/functions-matching.html\n \"REGEXP_MATCH\",\n \"REGEXP_MATCHES\",\n \"REGEXP_REPLACE\",\n \"REGEXP_SPLIT_TO_ARRAY\",\n \"REGEXP_SPLIT_TO_TABLE\",\n // https://www.postgresql.org/docs/14/functions-formatting.html\n \"TO_CHAR\",\n \"TO_DATE\",\n \"TO_NUMBER\",\n \"TO_TIMESTAMP\",\n // https://www.postgresql.org/docs/14/functions-datetime.html\n // 'AGE',\n \"CLOCK_TIMESTAMP\",\n \"CURRENT_DATE\",\n \"CURRENT_TIME\",\n \"CURRENT_TIMESTAMP\",\n \"DATE_BIN\",\n \"DATE_PART\",\n \"DATE_TRUNC\",\n \"EXTRACT\",\n \"ISFINITE\",\n \"JUSTIFY_DAYS\",\n \"JUSTIFY_HOURS\",\n \"JUSTIFY_INTERVAL\",\n \"LOCALTIME\",\n \"LOCALTIMESTAMP\",\n \"MAKE_DATE\",\n \"MAKE_INTERVAL\",\n \"MAKE_TIME\",\n \"MAKE_TIMESTAMP\",\n \"MAKE_TIMESTAMPTZ\",\n \"NOW\",\n \"PG_SLEEP\",\n \"PG_SLEEP_FOR\",\n \"PG_SLEEP_UNTIL\",\n \"STATEMENT_TIMESTAMP\",\n \"TIMEOFDAY\",\n \"TO_TIMESTAMP\",\n \"TRANSACTION_TIMESTAMP\",\n // https://www.postgresql.org/docs/14/functions-enum.html\n \"ENUM_FIRST\",\n \"ENUM_LAST\",\n \"ENUM_RANGE\",\n // https://www.postgresql.org/docs/14/functions-geometry.html\n \"AREA\",\n \"BOUND_BOX\",\n \"BOX\",\n \"CENTER\",\n \"CIRCLE\",\n \"DIAGONAL\",\n \"DIAMETER\",\n \"HEIGHT\",\n \"ISCLOSED\",\n \"ISOPEN\",\n \"LENGTH\",\n \"LINE\",\n \"LSEG\",\n \"NPOINTS\",\n \"PATH\",\n \"PCLOSE\",\n \"POINT\",\n \"POLYGON\",\n \"POPEN\",\n \"RADIUS\",\n \"SLOPE\",\n \"WIDTH\",\n // https://www.postgresql.org/docs/14/functions-net.html\n \"ABBREV\",\n \"BROADCAST\",\n \"FAMILY\",\n \"HOST\",\n \"HOSTMASK\",\n \"INET_MERGE\",\n \"INET_SAME_FAMILY\",\n \"MACADDR8_SET7BIT\",\n \"MASKLEN\",\n \"NETMASK\",\n \"NETWORK\",\n \"SET_MASKLEN\",\n \"TEXT\",\n \"TRUNC\",\n // https://www.postgresql.org/docs/14/functions-textsearch.html\n \"ARRAY_TO_TSVECTOR\",\n \"GET_CURRENT_TS_CONFIG\",\n \"JSONB_TO_TSVECTOR\",\n \"JSON_TO_TSVECTOR\",\n \"LENGTH\",\n \"NUMNODE\",\n \"PHRASETO_TSQUERY\",\n \"PLAINTO_TSQUERY\",\n \"QUERYTREE\",\n \"SETWEIGHT\",\n \"STRIP\",\n \"TO_TSQUERY\",\n \"TO_TSVECTOR\",\n \"TSQUERY_PHRASE\",\n \"TSVECTOR_TO_ARRAY\",\n \"TS_DEBUG\",\n \"TS_DELETE\",\n \"TS_FILTER\",\n \"TS_HEADLINE\",\n \"TS_LEXIZE\",\n \"TS_PARSE\",\n \"TS_RANK\",\n \"TS_RANK_CD\",\n \"TS_REWRITE\",\n \"TS_STAT\",\n \"TS_TOKEN_TYPE\",\n \"WEBSEARCH_TO_TSQUERY\",\n // https://www.postgresql.org/docs/14/functions-uuid.html\n \"UUID\",\n // https://www.postgresql.org/docs/14/functions-xml.html\n \"CURSOR_TO_XML\",\n \"CURSOR_TO_XMLSCHEMA\",\n \"DATABASE_TO_XML\",\n \"DATABASE_TO_XMLSCHEMA\",\n \"DATABASE_TO_XML_AND_XMLSCHEMA\",\n \"NEXTVAL\",\n \"QUERY_TO_XML\",\n \"QUERY_TO_XMLSCHEMA\",\n \"QUERY_TO_XML_AND_XMLSCHEMA\",\n \"SCHEMA_TO_XML\",\n \"SCHEMA_TO_XMLSCHEMA\",\n \"SCHEMA_TO_XML_AND_XMLSCHEMA\",\n \"STRING\",\n \"TABLE_TO_XML\",\n \"TABLE_TO_XMLSCHEMA\",\n \"TABLE_TO_XML_AND_XMLSCHEMA\",\n \"XMLAGG\",\n \"XMLCOMMENT\",\n \"XMLCONCAT\",\n \"XMLELEMENT\",\n \"XMLEXISTS\",\n \"XMLFOREST\",\n \"XMLPARSE\",\n \"XMLPI\",\n \"XMLROOT\",\n \"XMLSERIALIZE\",\n \"XMLTABLE\",\n \"XML_IS_WELL_FORMED\",\n \"XML_IS_WELL_FORMED_CONTENT\",\n \"XML_IS_WELL_FORMED_DOCUMENT\",\n \"XPATH\",\n \"XPATH_EXISTS\",\n // https://www.postgresql.org/docs/14/functions-json.html\n \"ARRAY_TO_JSON\",\n \"JSONB_AGG\",\n \"JSONB_ARRAY_ELEMENTS\",\n \"JSONB_ARRAY_ELEMENTS_TEXT\",\n \"JSONB_ARRAY_LENGTH\",\n \"JSONB_BUILD_ARRAY\",\n \"JSONB_BUILD_OBJECT\",\n \"JSONB_EACH\",\n \"JSONB_EACH_TEXT\",\n \"JSONB_EXTRACT_PATH\",\n \"JSONB_EXTRACT_PATH_TEXT\",\n \"JSONB_INSERT\",\n \"JSONB_OBJECT\",\n \"JSONB_OBJECT_AGG\",\n \"JSONB_OBJECT_KEYS\",\n \"JSONB_PATH_EXISTS\",\n \"JSONB_PATH_EXISTS_TZ\",\n \"JSONB_PATH_MATCH\",\n \"JSONB_PATH_MATCH_TZ\",\n \"JSONB_PATH_QUERY\",\n \"JSONB_PATH_QUERY_ARRAY\",\n \"JSONB_PATH_QUERY_ARRAY_TZ\",\n \"JSONB_PATH_QUERY_FIRST\",\n \"JSONB_PATH_QUERY_FIRST_TZ\",\n \"JSONB_PATH_QUERY_TZ\",\n \"JSONB_POPULATE_RECORD\",\n \"JSONB_POPULATE_RECORDSET\",\n \"JSONB_PRETTY\",\n \"JSONB_SET\",\n \"JSONB_SET_LAX\",\n \"JSONB_STRIP_NULLS\",\n \"JSONB_TO_RECORD\",\n \"JSONB_TO_RECORDSET\",\n \"JSONB_TYPEOF\",\n \"JSON_AGG\",\n \"JSON_ARRAY_ELEMENTS\",\n \"JSON_ARRAY_ELEMENTS_TEXT\",\n \"JSON_ARRAY_LENGTH\",\n \"JSON_BUILD_ARRAY\",\n \"JSON_BUILD_OBJECT\",\n \"JSON_EACH\",\n \"JSON_EACH_TEXT\",\n \"JSON_EXTRACT_PATH\",\n \"JSON_EXTRACT_PATH_TEXT\",\n \"JSON_OBJECT\",\n \"JSON_OBJECT_AGG\",\n \"JSON_OBJECT_KEYS\",\n \"JSON_POPULATE_RECORD\",\n \"JSON_POPULATE_RECORDSET\",\n \"JSON_STRIP_NULLS\",\n \"JSON_TO_RECORD\",\n \"JSON_TO_RECORDSET\",\n \"JSON_TYPEOF\",\n \"ROW_TO_JSON\",\n \"TO_JSON\",\n \"TO_JSONB\",\n \"TO_TIMESTAMP\",\n // https://www.postgresql.org/docs/14/functions-sequence.html\n \"CURRVAL\",\n \"LASTVAL\",\n \"NEXTVAL\",\n \"SETVAL\",\n // https://www.postgresql.org/docs/14/functions-conditional.html\n // 'CASE',\n \"COALESCE\",\n \"GREATEST\",\n \"LEAST\",\n \"NULLIF\",\n // https://www.postgresql.org/docs/14/functions-array.html\n \"ARRAY_AGG\",\n \"ARRAY_APPEND\",\n \"ARRAY_CAT\",\n \"ARRAY_DIMS\",\n \"ARRAY_FILL\",\n \"ARRAY_LENGTH\",\n \"ARRAY_LOWER\",\n \"ARRAY_NDIMS\",\n \"ARRAY_POSITION\",\n \"ARRAY_POSITIONS\",\n \"ARRAY_PREPEND\",\n \"ARRAY_REMOVE\",\n \"ARRAY_REPLACE\",\n \"ARRAY_TO_STRING\",\n \"ARRAY_UPPER\",\n \"CARDINALITY\",\n \"STRING_TO_ARRAY\",\n \"TRIM_ARRAY\",\n \"UNNEST\",\n // https://www.postgresql.org/docs/14/functions-range.html\n \"ISEMPTY\",\n \"LOWER\",\n \"LOWER_INC\",\n \"LOWER_INF\",\n \"MULTIRANGE\",\n \"RANGE_MERGE\",\n \"UPPER\",\n \"UPPER_INC\",\n \"UPPER_INF\",\n // https://www.postgresql.org/docs/14/functions-aggregate.html\n // 'ANY',\n \"ARRAY_AGG\",\n \"AVG\",\n \"BIT_AND\",\n \"BIT_OR\",\n \"BIT_XOR\",\n \"BOOL_AND\",\n \"BOOL_OR\",\n \"COALESCE\",\n \"CORR\",\n \"COUNT\",\n \"COVAR_POP\",\n \"COVAR_SAMP\",\n \"CUME_DIST\",\n \"DENSE_RANK\",\n \"EVERY\",\n \"GROUPING\",\n \"JSONB_AGG\",\n \"JSONB_OBJECT_AGG\",\n \"JSON_AGG\",\n \"JSON_OBJECT_AGG\",\n \"MAX\",\n \"MIN\",\n \"MODE\",\n \"PERCENTILE_CONT\",\n \"PERCENTILE_DISC\",\n \"PERCENT_RANK\",\n \"RANGE_AGG\",\n \"RANGE_INTERSECT_AGG\",\n \"RANK\",\n \"REGR_AVGX\",\n \"REGR_AVGY\",\n \"REGR_COUNT\",\n \"REGR_INTERCEPT\",\n \"REGR_R2\",\n \"REGR_SLOPE\",\n \"REGR_SXX\",\n \"REGR_SXY\",\n \"REGR_SYY\",\n // 'SOME',\n \"STDDEV\",\n \"STDDEV_POP\",\n \"STDDEV_SAMP\",\n \"STRING_AGG\",\n \"SUM\",\n \"TO_JSON\",\n \"TO_JSONB\",\n \"VARIANCE\",\n \"VAR_POP\",\n \"VAR_SAMP\",\n \"XMLAGG\",\n // https://www.postgresql.org/docs/14/functions-window.html\n \"CUME_DIST\",\n \"DENSE_RANK\",\n \"FIRST_VALUE\",\n \"LAG\",\n \"LAST_VALUE\",\n \"LEAD\",\n \"NTH_VALUE\",\n \"NTILE\",\n \"PERCENT_RANK\",\n \"RANK\",\n \"ROW_NUMBER\",\n // https://www.postgresql.org/docs/14/functions-srf.html\n \"GENERATE_SERIES\",\n \"GENERATE_SUBSCRIPTS\",\n // https://www.postgresql.org/docs/14/functions-info.html\n \"ACLDEFAULT\",\n \"ACLEXPLODE\",\n \"COL_DESCRIPTION\",\n \"CURRENT_CATALOG\",\n \"CURRENT_DATABASE\",\n \"CURRENT_QUERY\",\n \"CURRENT_ROLE\",\n \"CURRENT_SCHEMA\",\n \"CURRENT_SCHEMAS\",\n \"CURRENT_USER\",\n \"FORMAT_TYPE\",\n \"HAS_ANY_COLUMN_PRIVILEGE\",\n \"HAS_COLUMN_PRIVILEGE\",\n \"HAS_DATABASE_PRIVILEGE\",\n \"HAS_FOREIGN_DATA_WRAPPER_PRIVILEGE\",\n \"HAS_FUNCTION_PRIVILEGE\",\n \"HAS_LANGUAGE_PRIVILEGE\",\n \"HAS_SCHEMA_PRIVILEGE\",\n \"HAS_SEQUENCE_PRIVILEGE\",\n \"HAS_SERVER_PRIVILEGE\",\n \"HAS_TABLESPACE_PRIVILEGE\",\n \"HAS_TABLE_PRIVILEGE\",\n \"HAS_TYPE_PRIVILEGE\",\n \"INET_CLIENT_ADDR\",\n \"INET_CLIENT_PORT\",\n \"INET_SERVER_ADDR\",\n \"INET_SERVER_PORT\",\n \"MAKEACLITEM\",\n \"OBJ_DESCRIPTION\",\n \"PG_BACKEND_PID\",\n \"PG_BLOCKING_PIDS\",\n \"PG_COLLATION_IS_VISIBLE\",\n \"PG_CONF_LOAD_TIME\",\n \"PG_CONTROL_CHECKPOINT\",\n \"PG_CONTROL_INIT\",\n \"PG_CONTROL_SYSTEM\",\n \"PG_CONVERSION_IS_VISIBLE\",\n \"PG_CURRENT_LOGFILE\",\n \"PG_CURRENT_SNAPSHOT\",\n \"PG_CURRENT_XACT_ID\",\n \"PG_CURRENT_XACT_ID_IF_ASSIGNED\",\n \"PG_DESCRIBE_OBJECT\",\n \"PG_FUNCTION_IS_VISIBLE\",\n \"PG_GET_CATALOG_FOREIGN_KEYS\",\n \"PG_GET_CONSTRAINTDEF\",\n \"PG_GET_EXPR\",\n \"PG_GET_FUNCTIONDEF\",\n \"PG_GET_FUNCTION_ARGUMENTS\",\n \"PG_GET_FUNCTION_IDENTITY_ARGUMENTS\",\n \"PG_GET_FUNCTION_RESULT\",\n \"PG_GET_INDEXDEF\",\n \"PG_GET_KEYWORDS\",\n \"PG_GET_OBJECT_ADDRESS\",\n \"PG_GET_OWNED_SEQUENCE\",\n \"PG_GET_RULEDEF\",\n \"PG_GET_SERIAL_SEQUENCE\",\n \"PG_GET_STATISTICSOBJDEF\",\n \"PG_GET_TRIGGERDEF\",\n \"PG_GET_USERBYID\",\n \"PG_GET_VIEWDEF\",\n \"PG_HAS_ROLE\",\n \"PG_IDENTIFY_OBJECT\",\n \"PG_IDENTIFY_OBJECT_AS_ADDRESS\",\n \"PG_INDEXAM_HAS_PROPERTY\",\n \"PG_INDEX_COLUMN_HAS_PROPERTY\",\n \"PG_INDEX_HAS_PROPERTY\",\n \"PG_IS_OTHER_TEMP_SCHEMA\",\n \"PG_JIT_AVAILABLE\",\n \"PG_LAST_COMMITTED_XACT\",\n \"PG_LISTENING_CHANNELS\",\n \"PG_MY_TEMP_SCHEMA\",\n \"PG_NOTIFICATION_QUEUE_USAGE\",\n \"PG_OPCLASS_IS_VISIBLE\",\n \"PG_OPERATOR_IS_VISIBLE\",\n \"PG_OPFAMILY_IS_VISIBLE\",\n \"PG_OPTIONS_TO_TABLE\",\n \"PG_POSTMASTER_START_TIME\",\n \"PG_SAFE_SNAPSHOT_BLOCKING_PIDS\",\n \"PG_SNAPSHOT_XIP\",\n \"PG_SNAPSHOT_XMAX\",\n \"PG_SNAPSHOT_XMIN\",\n \"PG_STATISTICS_OBJ_IS_VISIBLE\",\n \"PG_TABLESPACE_DATABASES\",\n \"PG_TABLESPACE_LOCATION\",\n \"PG_TABLE_IS_VISIBLE\",\n \"PG_TRIGGER_DEPTH\",\n \"PG_TS_CONFIG_IS_VISIBLE\",\n \"PG_TS_DICT_IS_VISIBLE\",\n \"PG_TS_PARSER_IS_VISIBLE\",\n \"PG_TS_TEMPLATE_IS_VISIBLE\",\n \"PG_TYPEOF\",\n \"PG_TYPE_IS_VISIBLE\",\n \"PG_VISIBLE_IN_SNAPSHOT\",\n \"PG_XACT_COMMIT_TIMESTAMP\",\n \"PG_XACT_COMMIT_TIMESTAMP_ORIGIN\",\n \"PG_XACT_STATUS\",\n \"PQSERVERVERSION\",\n \"ROW_SECURITY_ACTIVE\",\n \"SESSION_USER\",\n \"SHOBJ_DESCRIPTION\",\n \"TO_REGCLASS\",\n \"TO_REGCOLLATION\",\n \"TO_REGNAMESPACE\",\n \"TO_REGOPER\",\n \"TO_REGOPERATOR\",\n \"TO_REGPROC\",\n \"TO_REGPROCEDURE\",\n \"TO_REGROLE\",\n \"TO_REGTYPE\",\n \"TXID_CURRENT\",\n \"TXID_CURRENT_IF_ASSIGNED\",\n \"TXID_CURRENT_SNAPSHOT\",\n \"TXID_SNAPSHOT_XIP\",\n \"TXID_SNAPSHOT_XMAX\",\n \"TXID_SNAPSHOT_XMIN\",\n \"TXID_STATUS\",\n \"TXID_VISIBLE_IN_SNAPSHOT\",\n \"USER\",\n \"VERSION\",\n // https://www.postgresql.org/docs/14/functions-admin.html\n \"BRIN_DESUMMARIZE_RANGE\",\n \"BRIN_SUMMARIZE_NEW_VALUES\",\n \"BRIN_SUMMARIZE_RANGE\",\n \"CONVERT_FROM\",\n \"CURRENT_SETTING\",\n \"GIN_CLEAN_PENDING_LIST\",\n \"PG_ADVISORY_LOCK\",\n \"PG_ADVISORY_LOCK_SHARED\",\n \"PG_ADVISORY_UNLOCK\",\n \"PG_ADVISORY_UNLOCK_ALL\",\n \"PG_ADVISORY_UNLOCK_SHARED\",\n \"PG_ADVISORY_XACT_LOCK\",\n \"PG_ADVISORY_XACT_LOCK_SHARED\",\n \"PG_BACKUP_START_TIME\",\n \"PG_CANCEL_BACKEND\",\n \"PG_COLLATION_ACTUAL_VERSION\",\n \"PG_COLUMN_COMPRESSION\",\n \"PG_COLUMN_SIZE\",\n \"PG_COPY_LOGICAL_REPLICATION_SLOT\",\n \"PG_COPY_PHYSICAL_REPLICATION_SLOT\",\n \"PG_CREATE_LOGICAL_REPLICATION_SLOT\",\n \"PG_CREATE_PHYSICAL_REPLICATION_SLOT\",\n \"PG_CREATE_RESTORE_POINT\",\n \"PG_CURRENT_WAL_FLUSH_LSN\",\n \"PG_CURRENT_WAL_INSERT_LSN\",\n \"PG_CURRENT_WAL_LSN\",\n \"PG_DATABASE_SIZE\",\n \"PG_DROP_REPLICATION_SLOT\",\n \"PG_EXPORT_SNAPSHOT\",\n \"PG_FILENODE_RELATION\",\n \"PG_GET_WAL_REPLAY_PAUSE_STATE\",\n \"PG_IMPORT_SYSTEM_COLLATIONS\",\n \"PG_INDEXES_SIZE\",\n \"PG_IS_IN_BACKUP\",\n \"PG_IS_IN_RECOVERY\",\n \"PG_IS_WAL_REPLAY_PAUSED\",\n \"PG_LAST_WAL_RECEIVE_LSN\",\n \"PG_LAST_WAL_REPLAY_LSN\",\n \"PG_LAST_XACT_REPLAY_TIMESTAMP\",\n \"PG_LOGICAL_EMIT_MESSAGE\",\n \"PG_LOGICAL_SLOT_GET_BINARY_CHANGES\",\n \"PG_LOGICAL_SLOT_GET_CHANGES\",\n \"PG_LOGICAL_SLOT_PEEK_BINARY_CHANGES\",\n \"PG_LOGICAL_SLOT_PEEK_CHANGES\",\n \"PG_LOG_BACKEND_MEMORY_CONTEXTS\",\n \"PG_LS_ARCHIVE_STATUSDIR\",\n \"PG_LS_DIR\",\n \"PG_LS_LOGDIR\",\n \"PG_LS_TMPDIR\",\n \"PG_LS_WALDIR\",\n \"PG_PARTITION_ANCESTORS\",\n \"PG_PARTITION_ROOT\",\n \"PG_PARTITION_TREE\",\n \"PG_PROMOTE\",\n \"PG_READ_BINARY_FILE\",\n \"PG_READ_FILE\",\n \"PG_RELATION_FILENODE\",\n \"PG_RELATION_FILEPATH\",\n \"PG_RELATION_SIZE\",\n \"PG_RELOAD_CONF\",\n \"PG_REPLICATION_ORIGIN_ADVANCE\",\n \"PG_REPLICATION_ORIGIN_CREATE\",\n \"PG_REPLICATION_ORIGIN_DROP\",\n \"PG_REPLICATION_ORIGIN_OID\",\n \"PG_REPLICATION_ORIGIN_PROGRESS\",\n \"PG_REPLICATION_ORIGIN_SESSION_IS_SETUP\",\n \"PG_REPLICATION_ORIGIN_SESSION_PROGRESS\",\n \"PG_REPLICATION_ORIGIN_SESSION_RESET\",\n \"PG_REPLICATION_ORIGIN_SESSION_SETUP\",\n \"PG_REPLICATION_ORIGIN_XACT_RESET\",\n \"PG_REPLICATION_ORIGIN_XACT_SETUP\",\n \"PG_REPLICATION_SLOT_ADVANCE\",\n \"PG_ROTATE_LOGFILE\",\n \"PG_SIZE_BYTES\",\n \"PG_SIZE_PRETTY\",\n \"PG_START_BACKUP\",\n \"PG_STAT_FILE\",\n \"PG_STOP_BACKUP\",\n \"PG_SWITCH_WAL\",\n \"PG_TABLESPACE_SIZE\",\n \"PG_TABLE_SIZE\",\n \"PG_TERMINATE_BACKEND\",\n \"PG_TOTAL_RELATION_SIZE\",\n \"PG_TRY_ADVISORY_LOCK\",\n \"PG_TRY_ADVISORY_LOCK_SHARED\",\n \"PG_TRY_ADVISORY_XACT_LOCK\",\n \"PG_TRY_ADVISORY_XACT_LOCK_SHARED\",\n \"PG_WALFILE_NAME\",\n \"PG_WALFILE_NAME_OFFSET\",\n \"PG_WAL_LSN_DIFF\",\n \"PG_WAL_REPLAY_PAUSE\",\n \"PG_WAL_REPLAY_RESUME\",\n \"SET_CONFIG\",\n // https://www.postgresql.org/docs/14/functions-trigger.html\n \"SUPPRESS_REDUNDANT_UPDATES_TRIGGER\",\n \"TSVECTOR_UPDATE_TRIGGER\",\n \"TSVECTOR_UPDATE_TRIGGER_COLUMN\",\n // https://www.postgresql.org/docs/14/functions-event-triggers.html\n \"PG_EVENT_TRIGGER_DDL_COMMANDS\",\n \"PG_EVENT_TRIGGER_DROPPED_OBJECTS\",\n \"PG_EVENT_TRIGGER_TABLE_REWRITE_OID\",\n \"PG_EVENT_TRIGGER_TABLE_REWRITE_REASON\",\n \"PG_GET_OBJECT_ADDRESS\",\n // https://www.postgresql.org/docs/14/functions-statistics.html\n \"PG_MCV_LIST_ITEMS\",\n // cast\n \"CAST\"\n];\n\n// src/languages/postgresql/postgresql.keywords.ts\nvar keywords9 = [\n // https://www.postgresql.org/docs/14/sql-keywords-appendix.html\n \"ABORT\",\n \"ABSOLUTE\",\n \"ACCESS\",\n \"ACTION\",\n \"ADD\",\n \"ADMIN\",\n \"AFTER\",\n \"AGGREGATE\",\n \"ALL\",\n // reserved\n \"ALSO\",\n \"ALTER\",\n \"ALWAYS\",\n \"ANALYSE\",\n // reserved\n \"ANALYZE\",\n // reserved\n \"AND\",\n // reserved\n \"ANY\",\n // reserved\n \"AS\",\n // reserved, requires AS\n \"ASC\",\n // reserved\n \"ASENSITIVE\",\n \"ASSERTION\",\n \"ASSIGNMENT\",\n \"ASYMMETRIC\",\n // reserved\n \"AT\",\n \"ATOMIC\",\n \"ATTACH\",\n \"ATTRIBUTE\",\n \"AUTHORIZATION\",\n // reserved (can be function or type)\n \"BACKWARD\",\n \"BEFORE\",\n \"BEGIN\",\n \"BETWEEN\",\n // (cannot be function or type)\n \"BINARY\",\n // reserved (can be function or type)\n \"BOTH\",\n // reserved\n \"BREADTH\",\n \"BY\",\n \"CACHE\",\n \"CALL\",\n \"CALLED\",\n \"CASCADE\",\n \"CASCADED\",\n \"CASE\",\n // reserved\n \"CAST\",\n // reserved\n \"CATALOG\",\n \"CHAIN\",\n \"CHARACTERISTICS\",\n \"CHECK\",\n // reserved\n \"CHECKPOINT\",\n \"CLASS\",\n \"CLOSE\",\n \"CLUSTER\",\n \"COALESCE\",\n // (cannot be function or type)\n \"COLLATE\",\n // reserved\n \"COLLATION\",\n // reserved (can be function or type)\n \"COLUMN\",\n // reserved\n \"COLUMNS\",\n \"COMMENT\",\n \"COMMENTS\",\n \"COMMIT\",\n \"COMMITTED\",\n \"COMPRESSION\",\n \"CONCURRENTLY\",\n // reserved (can be function or type)\n \"CONFIGURATION\",\n \"CONFLICT\",\n \"CONNECTION\",\n \"CONSTRAINT\",\n // reserved\n \"CONSTRAINTS\",\n \"CONTENT\",\n \"CONTINUE\",\n \"CONVERSION\",\n \"COPY\",\n \"COST\",\n \"CREATE\",\n // reserved, requires AS\n \"CROSS\",\n // reserved (can be function or type)\n \"CSV\",\n \"CUBE\",\n \"CURRENT\",\n \"CURRENT_CATALOG\",\n // reserved\n \"CURRENT_DATE\",\n // reserved\n \"CURRENT_ROLE\",\n // reserved\n \"CURRENT_SCHEMA\",\n // reserved (can be function or type)\n \"CURRENT_TIME\",\n // reserved\n \"CURRENT_TIMESTAMP\",\n // reserved\n \"CURRENT_USER\",\n // reserved\n \"CURSOR\",\n \"CYCLE\",\n \"DATA\",\n \"DATABASE\",\n \"DAY\",\n // requires AS\n \"DEALLOCATE\",\n \"DEC\",\n // (cannot be function or type)\n \"DECLARE\",\n \"DEFAULT\",\n // reserved\n \"DEFAULTS\",\n \"DEFERRABLE\",\n // reserved\n \"DEFERRED\",\n \"DEFINER\",\n \"DELETE\",\n \"DELIMITER\",\n \"DELIMITERS\",\n \"DEPENDS\",\n \"DEPTH\",\n \"DESC\",\n // reserved\n \"DETACH\",\n \"DICTIONARY\",\n \"DISABLE\",\n \"DISCARD\",\n \"DISTINCT\",\n // reserved\n \"DO\",\n // reserved\n \"DOCUMENT\",\n \"DOMAIN\",\n \"DROP\",\n \"EACH\",\n \"ELSE\",\n // reserved\n \"ENABLE\",\n \"ENCODING\",\n \"ENCRYPTED\",\n \"END\",\n // reserved\n \"ENUM\",\n \"ESCAPE\",\n \"EVENT\",\n \"EXCEPT\",\n // reserved, requires AS\n \"EXCLUDE\",\n \"EXCLUDING\",\n \"EXCLUSIVE\",\n \"EXECUTE\",\n \"EXISTS\",\n // (cannot be function or type)\n \"EXPLAIN\",\n \"EXPRESSION\",\n \"EXTENSION\",\n \"EXTERNAL\",\n \"EXTRACT\",\n // (cannot be function or type)\n \"FALSE\",\n // reserved\n \"FAMILY\",\n \"FETCH\",\n // reserved, requires AS\n \"FILTER\",\n // requires AS\n \"FINALIZE\",\n \"FIRST\",\n \"FOLLOWING\",\n \"FOR\",\n // reserved, requires AS\n \"FORCE\",\n \"FOREIGN\",\n // reserved\n \"FORWARD\",\n \"FREEZE\",\n // reserved (can be function or type)\n \"FROM\",\n // reserved, requires AS\n \"FULL\",\n // reserved (can be function or type)\n \"FUNCTION\",\n \"FUNCTIONS\",\n \"GENERATED\",\n \"GLOBAL\",\n \"GRANT\",\n // reserved, requires AS\n \"GRANTED\",\n \"GREATEST\",\n // (cannot be function or type)\n \"GROUP\",\n // reserved, requires AS\n \"GROUPING\",\n // (cannot be function or type)\n \"GROUPS\",\n \"HANDLER\",\n \"HAVING\",\n // reserved, requires AS\n \"HEADER\",\n \"HOLD\",\n \"HOUR\",\n // requires AS\n \"IDENTITY\",\n \"IF\",\n \"ILIKE\",\n // reserved (can be function or type)\n \"IMMEDIATE\",\n \"IMMUTABLE\",\n \"IMPLICIT\",\n \"IMPORT\",\n \"IN\",\n // reserved\n \"INCLUDE\",\n \"INCLUDING\",\n \"INCREMENT\",\n \"INDEX\",\n \"INDEXES\",\n \"INHERIT\",\n \"INHERITS\",\n \"INITIALLY\",\n // reserved\n \"INLINE\",\n \"INNER\",\n // reserved (can be function or type)\n \"INOUT\",\n // (cannot be function or type)\n \"INPUT\",\n \"INSENSITIVE\",\n \"INSERT\",\n \"INSTEAD\",\n \"INTERSECT\",\n // reserved, requires AS\n \"INTO\",\n // reserved, requires AS\n \"INVOKER\",\n \"IS\",\n // reserved (can be function or type)\n \"ISNULL\",\n // reserved (can be function or type), requires AS\n \"ISOLATION\",\n \"JOIN\",\n // reserved (can be function or type)\n \"KEY\",\n \"LANGUAGE\",\n \"LARGE\",\n \"LAST\",\n \"LATERAL\",\n // reserved\n \"LEADING\",\n // reserved\n \"LEAKPROOF\",\n \"LEAST\",\n // (cannot be function or type)\n \"LEFT\",\n // reserved (can be function or type)\n \"LEVEL\",\n \"LIKE\",\n // reserved (can be function or type)\n \"LIMIT\",\n // reserved, requires AS\n \"LISTEN\",\n \"LOAD\",\n \"LOCAL\",\n \"LOCALTIME\",\n // reserved\n \"LOCALTIMESTAMP\",\n // reserved\n \"LOCK\",\n \"LOCKED\",\n \"LOGGED\",\n \"MAPPING\",\n \"MATCH\",\n \"MATERIALIZED\",\n \"MAXVALUE\",\n \"METHOD\",\n \"MINUTE\",\n // requires AS\n \"MINVALUE\",\n \"MODE\",\n \"MONTH\",\n // requires AS\n \"MOVE\",\n \"NATIONAL\",\n // (cannot be function or type)\n \"NATURAL\",\n // reserved (can be function or type)\n \"NCHAR\",\n // (cannot be function or type)\n \"NEW\",\n \"NEXT\",\n \"NFC\",\n \"NFD\",\n \"NFKC\",\n \"NFKD\",\n \"NO\",\n \"NONE\",\n // (cannot be function or type)\n \"NORMALIZE\",\n // (cannot be function or type)\n \"NORMALIZED\",\n \"NOT\",\n // reserved\n \"NOTHING\",\n \"NOTIFY\",\n \"NOTNULL\",\n // reserved (can be function or type), requires AS\n \"NOWAIT\",\n \"NULL\",\n // reserved\n \"NULLIF\",\n // (cannot be function or type)\n \"NULLS\",\n \"OBJECT\",\n \"OF\",\n \"OFF\",\n \"OFFSET\",\n // reserved, requires AS\n \"OIDS\",\n \"OLD\",\n \"ON\",\n // reserved, requires AS\n \"ONLY\",\n // reserved\n \"OPERATOR\",\n \"OPTION\",\n \"OPTIONS\",\n \"OR\",\n // reserved\n \"ORDER\",\n // reserved, requires AS\n \"ORDINALITY\",\n \"OTHERS\",\n \"OUT\",\n // (cannot be function or type)\n \"OUTER\",\n // reserved (can be function or type)\n \"OVER\",\n // requires AS\n \"OVERLAPS\",\n // reserved (can be function or type), requires AS\n \"OVERLAY\",\n // (cannot be function or type)\n \"OVERRIDING\",\n \"OWNED\",\n \"OWNER\",\n \"PARALLEL\",\n \"PARSER\",\n \"PARTIAL\",\n \"PARTITION\",\n \"PASSING\",\n \"PASSWORD\",\n \"PLACING\",\n // reserved\n \"PLANS\",\n \"POLICY\",\n \"POSITION\",\n // (cannot be function or type)\n \"PRECEDING\",\n \"PREPARE\",\n \"PREPARED\",\n \"PRESERVE\",\n \"PRIMARY\",\n // reserved\n \"PRIOR\",\n \"PRIVILEGES\",\n \"PROCEDURAL\",\n \"PROCEDURE\",\n \"PROCEDURES\",\n \"PROGRAM\",\n \"PUBLICATION\",\n \"QUOTE\",\n \"RANGE\",\n \"READ\",\n \"REASSIGN\",\n \"RECHECK\",\n \"RECURSIVE\",\n \"REF\",\n \"REFERENCES\",\n // reserved\n \"REFERENCING\",\n \"REFRESH\",\n \"REINDEX\",\n \"RELATIVE\",\n \"RENAME\",\n \"REPEATABLE\",\n \"REPLACE\",\n \"REPLICA\",\n \"RESET\",\n \"RESTART\",\n \"RESTRICT\",\n \"RETURN\",\n \"RETURNING\",\n // reserved, requires AS\n \"RETURNS\",\n \"REVOKE\",\n \"RIGHT\",\n // reserved (can be function or type)\n \"ROLE\",\n \"ROLLBACK\",\n \"ROLLUP\",\n \"ROUTINE\",\n \"ROUTINES\",\n \"ROW\",\n // (cannot be function or type)\n \"ROWS\",\n \"RULE\",\n \"SAVEPOINT\",\n \"SCHEMA\",\n \"SCHEMAS\",\n \"SCROLL\",\n \"SEARCH\",\n \"SECOND\",\n // requires AS\n \"SECURITY\",\n \"SELECT\",\n // reserved\n \"SEQUENCE\",\n \"SEQUENCES\",\n \"SERIALIZABLE\",\n \"SERVER\",\n \"SESSION\",\n \"SESSION_USER\",\n // reserved\n \"SET\",\n \"SETOF\",\n // (cannot be function or type)\n \"SETS\",\n \"SHARE\",\n \"SHOW\",\n \"SIMILAR\",\n // reserved (can be function or type)\n \"SIMPLE\",\n \"SKIP\",\n \"SNAPSHOT\",\n \"SOME\",\n // reserved\n \"SQL\",\n \"STABLE\",\n \"STANDALONE\",\n \"START\",\n \"STATEMENT\",\n \"STATISTICS\",\n \"STDIN\",\n \"STDOUT\",\n \"STORAGE\",\n \"STORED\",\n \"STRICT\",\n \"STRIP\",\n \"SUBSCRIPTION\",\n \"SUBSTRING\",\n // (cannot be function or type)\n \"SUPPORT\",\n \"SYMMETRIC\",\n // reserved\n \"SYSID\",\n \"SYSTEM\",\n \"TABLE\",\n // reserved\n \"TABLES\",\n \"TABLESAMPLE\",\n // reserved (can be function or type)\n \"TABLESPACE\",\n \"TEMP\",\n \"TEMPLATE\",\n \"TEMPORARY\",\n \"THEN\",\n // reserved\n \"TIES\",\n \"TO\",\n // reserved, requires AS\n \"TRAILING\",\n // reserved\n \"TRANSACTION\",\n \"TRANSFORM\",\n \"TREAT\",\n // (cannot be function or type)\n \"TRIGGER\",\n \"TRIM\",\n // (cannot be function or type)\n \"TRUE\",\n // reserved\n \"TRUNCATE\",\n \"TRUSTED\",\n \"UESCAPE\",\n \"UNBOUNDED\",\n \"UNCOMMITTED\",\n \"UNENCRYPTED\",\n \"UNION\",\n // reserved, requires AS\n \"UNIQUE\",\n // reserved\n \"UNKNOWN\",\n \"UNLISTEN\",\n \"UNLOGGED\",\n \"UNTIL\",\n \"UPDATE\",\n \"USER\",\n // reserved\n \"USING\",\n // reserved\n \"VACUUM\",\n \"VALID\",\n \"VALIDATE\",\n \"VALIDATOR\",\n \"VALUE\",\n \"VALUES\",\n // (cannot be function or type)\n \"VARIADIC\",\n // reserved\n \"VERBOSE\",\n // reserved (can be function or type)\n \"VERSION\",\n \"VIEW\",\n \"VIEWS\",\n \"VOLATILE\",\n \"WHEN\",\n // reserved\n \"WHERE\",\n // reserved, requires AS\n \"WHITESPACE\",\n \"WINDOW\",\n // reserved, requires AS\n \"WITH\",\n // reserved, requires AS\n \"WITHIN\",\n // requires AS\n \"WITHOUT\",\n // requires AS\n \"WORK\",\n \"WRAPPER\",\n \"WRITE\",\n \"XMLATTRIBUTES\",\n // (cannot be function or type)\n \"XMLCONCAT\",\n // (cannot be function or type)\n \"XMLELEMENT\",\n // (cannot be function or type)\n \"XMLEXISTS\",\n // (cannot be function or type)\n \"XMLFOREST\",\n // (cannot be function or type)\n \"XMLNAMESPACES\",\n // (cannot be function or type)\n \"XMLPARSE\",\n // (cannot be function or type)\n \"XMLPI\",\n // (cannot be function or type)\n \"XMLROOT\",\n // (cannot be function or type)\n \"XMLSERIALIZE\",\n // (cannot be function or type)\n \"XMLTABLE\",\n // (cannot be function or type)\n \"YEAR\",\n // requires AS\n \"YES\"\n];\nvar dataTypes9 = [\n // https://www.postgresql.org/docs/current/datatype.html\n \"ARRAY\",\n // reserved, requires AS\n \"BIGINT\",\n // (cannot be function or type)\n \"BIT\",\n // (cannot be function or type)\n \"BIT VARYING\",\n \"BOOL\",\n // (cannot be function or type)\n \"BOOLEAN\",\n // (cannot be function or type)\n \"CHAR\",\n // (cannot be function or type), requires AS\n \"CHARACTER\",\n // (cannot be function or type), requires AS\n \"CHARACTER VARYING\",\n \"DECIMAL\",\n // (cannot be function or type)\n \"DOUBLE\",\n \"ENUM\",\n \"FLOAT\",\n // (cannot be function or type)\n \"INT\",\n // (cannot be function or type)\n \"INTEGER\",\n // (cannot be function or type)\n \"INTERVAL\",\n // (cannot be function or type)\n \"NUMERIC\",\n // (cannot be function or type)\n \"PRECISION\",\n // (cannot be function or type), requires AS\n \"REAL\",\n // (cannot be function or type)\n \"SMALLINT\",\n // (cannot be function or type)\n \"TEXT\",\n \"TIME\",\n // (cannot be function or type)\n \"TIMESTAMP\",\n // (cannot be function or type)\n \"TIMESTAMPTZ\",\n // (cannot be function or type)\n \"VARCHAR\",\n // (cannot be function or type)\n \"XML\",\n \"ZONE\"\n];\n\n// src/languages/postgresql/postgresql.formatter.ts\nvar reservedSelect9 = expandPhrases([\"SELECT [ALL | DISTINCT]\"]);\nvar reservedClauses9 = expandPhrases([\n // queries\n \"WITH [RECURSIVE]\",\n \"FROM\",\n \"WHERE\",\n \"GROUP BY [ALL | DISTINCT]\",\n \"HAVING\",\n \"WINDOW\",\n \"PARTITION BY\",\n \"ORDER BY\",\n \"LIMIT\",\n \"OFFSET\",\n \"FETCH {FIRST | NEXT}\",\n \"FOR {UPDATE | NO KEY UPDATE | SHARE | KEY SHARE} [OF]\",\n // Data manipulation\n // - insert:\n \"INSERT INTO\",\n \"VALUES\",\n // - update:\n \"SET\",\n // other\n \"RETURNING\"\n]);\nvar onelineClauses9 = expandPhrases([\n // - create\n \"CREATE [GLOBAL | LOCAL] [TEMPORARY | TEMP | UNLOGGED] TABLE [IF NOT EXISTS]\",\n \"CREATE [OR REPLACE] [TEMP | TEMPORARY] [RECURSIVE] VIEW\",\n \"CREATE [MATERIALIZED] VIEW [IF NOT EXISTS]\",\n // - update:\n \"UPDATE [ONLY]\",\n \"WHERE CURRENT OF\",\n // - insert:\n \"ON CONFLICT\",\n // - delete:\n \"DELETE FROM [ONLY]\",\n // - drop table:\n \"DROP TABLE [IF EXISTS]\",\n // - alter table:\n \"ALTER TABLE [IF EXISTS] [ONLY]\",\n \"ALTER TABLE ALL IN TABLESPACE\",\n \"RENAME [COLUMN]\",\n \"RENAME TO\",\n \"ADD [COLUMN] [IF NOT EXISTS]\",\n \"DROP [COLUMN] [IF EXISTS]\",\n \"ALTER [COLUMN]\",\n \"SET DATA TYPE\",\n // for alter column\n \"{SET | DROP} DEFAULT\",\n // for alter column\n \"{SET | DROP} NOT NULL\",\n // for alter column\n // - truncate:\n \"TRUNCATE [TABLE] [ONLY]\",\n // other\n \"SET SCHEMA\",\n \"AFTER\",\n // https://www.postgresql.org/docs/14/sql-commands.html\n \"ABORT\",\n \"ALTER AGGREGATE\",\n \"ALTER COLLATION\",\n \"ALTER CONVERSION\",\n \"ALTER DATABASE\",\n \"ALTER DEFAULT PRIVILEGES\",\n \"ALTER DOMAIN\",\n \"ALTER EVENT TRIGGER\",\n \"ALTER EXTENSION\",\n \"ALTER FOREIGN DATA WRAPPER\",\n \"ALTER FOREIGN TABLE\",\n \"ALTER FUNCTION\",\n \"ALTER GROUP\",\n \"ALTER INDEX\",\n \"ALTER LANGUAGE\",\n \"ALTER LARGE OBJECT\",\n \"ALTER MATERIALIZED VIEW\",\n \"ALTER OPERATOR\",\n \"ALTER OPERATOR CLASS\",\n \"ALTER OPERATOR FAMILY\",\n \"ALTER POLICY\",\n \"ALTER PROCEDURE\",\n \"ALTER PUBLICATION\",\n \"ALTER ROLE\",\n \"ALTER ROUTINE\",\n \"ALTER RULE\",\n \"ALTER SCHEMA\",\n \"ALTER SEQUENCE\",\n \"ALTER SERVER\",\n \"ALTER STATISTICS\",\n \"ALTER SUBSCRIPTION\",\n \"ALTER SYSTEM\",\n \"ALTER TABLESPACE\",\n \"ALTER TEXT SEARCH CONFIGURATION\",\n \"ALTER TEXT SEARCH DICTIONARY\",\n \"ALTER TEXT SEARCH PARSER\",\n \"ALTER TEXT SEARCH TEMPLATE\",\n \"ALTER TRIGGER\",\n \"ALTER TYPE\",\n \"ALTER USER\",\n \"ALTER USER MAPPING\",\n \"ALTER VIEW\",\n \"ANALYZE\",\n \"BEGIN\",\n \"CALL\",\n \"CHECKPOINT\",\n \"CLOSE\",\n \"CLUSTER\",\n \"COMMIT\",\n \"COMMIT PREPARED\",\n \"COPY\",\n \"CREATE ACCESS METHOD\",\n \"CREATE AGGREGATE\",\n \"CREATE CAST\",\n \"CREATE COLLATION\",\n \"CREATE CONVERSION\",\n \"CREATE DATABASE\",\n \"CREATE DOMAIN\",\n \"CREATE EVENT TRIGGER\",\n \"CREATE EXTENSION\",\n \"CREATE FOREIGN DATA WRAPPER\",\n \"CREATE FOREIGN TABLE\",\n \"CREATE FUNCTION\",\n \"CREATE GROUP\",\n \"CREATE INDEX\",\n \"CREATE LANGUAGE\",\n \"CREATE OPERATOR\",\n \"CREATE OPERATOR CLASS\",\n \"CREATE OPERATOR FAMILY\",\n \"CREATE POLICY\",\n \"CREATE PROCEDURE\",\n \"CREATE PUBLICATION\",\n \"CREATE ROLE\",\n \"CREATE RULE\",\n \"CREATE SCHEMA\",\n \"CREATE SEQUENCE\",\n \"CREATE SERVER\",\n \"CREATE STATISTICS\",\n \"CREATE SUBSCRIPTION\",\n \"CREATE TABLESPACE\",\n \"CREATE TEXT SEARCH CONFIGURATION\",\n \"CREATE TEXT SEARCH DICTIONARY\",\n \"CREATE TEXT SEARCH PARSER\",\n \"CREATE TEXT SEARCH TEMPLATE\",\n \"CREATE TRANSFORM\",\n \"CREATE TRIGGER\",\n \"CREATE TYPE\",\n \"CREATE USER\",\n \"CREATE USER MAPPING\",\n \"DEALLOCATE\",\n \"DECLARE\",\n \"DISCARD\",\n \"DROP ACCESS METHOD\",\n \"DROP AGGREGATE\",\n \"DROP CAST\",\n \"DROP COLLATION\",\n \"DROP CONVERSION\",\n \"DROP DATABASE\",\n \"DROP DOMAIN\",\n \"DROP EVENT TRIGGER\",\n \"DROP EXTENSION\",\n \"DROP FOREIGN DATA WRAPPER\",\n \"DROP FOREIGN TABLE\",\n \"DROP FUNCTION\",\n \"DROP GROUP\",\n \"DROP INDEX\",\n \"DROP LANGUAGE\",\n \"DROP MATERIALIZED VIEW\",\n \"DROP OPERATOR\",\n \"DROP OPERATOR CLASS\",\n \"DROP OPERATOR FAMILY\",\n \"DROP OWNED\",\n \"DROP POLICY\",\n \"DROP PROCEDURE\",\n \"DROP PUBLICATION\",\n \"DROP ROLE\",\n \"DROP ROUTINE\",\n \"DROP RULE\",\n \"DROP SCHEMA\",\n \"DROP SEQUENCE\",\n \"DROP SERVER\",\n \"DROP STATISTICS\",\n \"DROP SUBSCRIPTION\",\n \"DROP TABLESPACE\",\n \"DROP TEXT SEARCH CONFIGURATION\",\n \"DROP TEXT SEARCH DICTIONARY\",\n \"DROP TEXT SEARCH PARSER\",\n \"DROP TEXT SEARCH TEMPLATE\",\n \"DROP TRANSFORM\",\n \"DROP TRIGGER\",\n \"DROP TYPE\",\n \"DROP USER\",\n \"DROP USER MAPPING\",\n \"DROP VIEW\",\n \"EXECUTE\",\n \"EXPLAIN\",\n \"FETCH\",\n \"GRANT\",\n \"IMPORT FOREIGN SCHEMA\",\n \"LISTEN\",\n \"LOAD\",\n \"LOCK\",\n \"MOVE\",\n \"NOTIFY\",\n \"PREPARE\",\n \"PREPARE TRANSACTION\",\n \"REASSIGN OWNED\",\n \"REFRESH MATERIALIZED VIEW\",\n \"REINDEX\",\n \"RELEASE SAVEPOINT\",\n \"RESET\",\n \"REVOKE\",\n \"ROLLBACK\",\n \"ROLLBACK PREPARED\",\n \"ROLLBACK TO SAVEPOINT\",\n \"SAVEPOINT\",\n \"SECURITY LABEL\",\n \"SELECT INTO\",\n \"SET CONSTRAINTS\",\n \"SET ROLE\",\n \"SET SESSION AUTHORIZATION\",\n \"SET TRANSACTION\",\n \"SHOW\",\n \"START TRANSACTION\",\n \"UNLISTEN\",\n \"VACUUM\"\n]);\nvar reservedSetOperations9 = expandPhrases([\n \"UNION [ALL | DISTINCT]\",\n \"EXCEPT [ALL | DISTINCT]\",\n \"INTERSECT [ALL | DISTINCT]\"\n]);\nvar reservedJoins9 = expandPhrases([\n \"JOIN\",\n \"{LEFT | RIGHT | FULL} [OUTER] JOIN\",\n \"{INNER | CROSS} JOIN\",\n \"NATURAL [INNER] JOIN\",\n \"NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN\"\n]);\nvar reservedPhrases9 = expandPhrases([\n \"ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]\",\n \"{ROWS | RANGE | GROUPS} BETWEEN\",\n // https://www.postgresql.org/docs/current/datatype-datetime.html\n \"[TIMESTAMP | TIME] {WITH | WITHOUT} TIME ZONE\",\n // comparison operator\n \"IS [NOT] DISTINCT FROM\"\n]);\nvar postgresql = {\n name: \"postgresql\",\n tokenizerOptions: {\n reservedSelect: reservedSelect9,\n reservedClauses: [...reservedClauses9, ...onelineClauses9],\n reservedSetOperations: reservedSetOperations9,\n reservedJoins: reservedJoins9,\n reservedPhrases: reservedPhrases9,\n reservedKeywords: keywords9,\n reservedDataTypes: dataTypes9,\n reservedFunctionNames: functions9,\n nestedBlockComments: true,\n extraParens: [\"[]\"],\n stringTypes: [\n \"$$\",\n { quote: \"''-qq\", prefixes: [\"U&\"] },\n { quote: \"''-qq-bs\", prefixes: [\"E\"], requirePrefix: true },\n { quote: \"''-raw\", prefixes: [\"B\", \"X\"], requirePrefix: true }\n ],\n identTypes: [{ quote: '\"\"-qq', prefixes: [\"U&\"] }],\n identChars: { rest: \"$\" },\n paramTypes: { numbered: [\"$\"] },\n operators: [\n // Arithmetic\n \"%\",\n \"^\",\n \"|/\",\n \"||/\",\n \"@\",\n // Assignment\n \":=\",\n // Bitwise\n \"&\",\n \"|\",\n \"#\",\n \"~\",\n \"<<\",\n \">>\",\n // Byte comparison\n \"~>~\",\n \"~<~\",\n \"~>=~\",\n \"~<=~\",\n // Geometric\n \"@-@\",\n \"@@\",\n \"##\",\n \"<->\",\n \"&&\",\n \"&<\",\n \"&>\",\n \"<<|\",\n \"&<|\",\n \"|>>\",\n \"|&>\",\n \"<^\",\n \"^>\",\n \"?#\",\n \"?-\",\n \"?|\",\n \"?-|\",\n \"?||\",\n \"@>\",\n \"<@\",\n \"~=\",\n // JSON\n \"?\",\n \"@?\",\n \"?&\",\n \"->\",\n \"->>\",\n \"#>\",\n \"#>>\",\n \"#-\",\n // Named function params\n \"=>\",\n // Network address\n \">>=\",\n \"<<=\",\n // Pattern matching\n \"~~\",\n \"~~*\",\n \"!~~\",\n \"!~~*\",\n // POSIX RegExp\n \"~\",\n \"~*\",\n \"!~\",\n \"!~*\",\n // Range/multirange\n \"-|-\",\n // String concatenation\n \"||\",\n // Text search\n \"@@@\",\n \"!!\",\n // Trigram/trigraph\n \"<%\",\n \"%>\",\n \"<<%\",\n \"%>>\",\n \"<<->\",\n \"<->>\",\n \"<<<->\",\n \"<->>>\",\n // Type cast\n \"::\",\n \":\"\n ]\n },\n formatOptions: {\n alwaysDenseOperators: [\"::\", \":\"],\n onelineClauses: onelineClauses9\n }\n};\n\n// src/languages/redshift/redshift.functions.ts\nvar functions10 = [\n // https://docs.aws.amazon.com/redshift/latest/dg/c_Aggregate_Functions.html\n \"ANY_VALUE\",\n \"APPROXIMATE PERCENTILE_DISC\",\n \"AVG\",\n \"COUNT\",\n \"LISTAGG\",\n \"MAX\",\n \"MEDIAN\",\n \"MIN\",\n \"PERCENTILE_CONT\",\n \"STDDEV_SAMP\",\n \"STDDEV_POP\",\n \"SUM\",\n \"VAR_SAMP\",\n \"VAR_POP\",\n // https://docs.aws.amazon.com/redshift/latest/dg/c_Array_Functions.html\n \"array\",\n \"array_concat\",\n \"array_flatten\",\n \"get_array_length\",\n \"split_to_array\",\n \"subarray\",\n // https://docs.aws.amazon.com/redshift/latest/dg/c_bitwise_aggregate_functions.html\n \"BIT_AND\",\n \"BIT_OR\",\n \"BOOL_AND\",\n \"BOOL_OR\",\n // https://docs.aws.amazon.com/redshift/latest/dg/c_conditional_expressions.html\n \"COALESCE\",\n \"DECODE\",\n \"GREATEST\",\n \"LEAST\",\n \"NVL\",\n \"NVL2\",\n \"NULLIF\",\n // https://docs.aws.amazon.com/redshift/latest/dg/Date_functions_header.html\n \"ADD_MONTHS\",\n \"AT TIME ZONE\",\n \"CONVERT_TIMEZONE\",\n \"CURRENT_DATE\",\n \"CURRENT_TIME\",\n \"CURRENT_TIMESTAMP\",\n \"DATE_CMP\",\n \"DATE_CMP_TIMESTAMP\",\n \"DATE_CMP_TIMESTAMPTZ\",\n \"DATE_PART_YEAR\",\n \"DATEADD\",\n \"DATEDIFF\",\n \"DATE_PART\",\n \"DATE_TRUNC\",\n \"EXTRACT\",\n \"GETDATE\",\n \"INTERVAL_CMP\",\n \"LAST_DAY\",\n \"MONTHS_BETWEEN\",\n \"NEXT_DAY\",\n \"SYSDATE\",\n \"TIMEOFDAY\",\n \"TIMESTAMP_CMP\",\n \"TIMESTAMP_CMP_DATE\",\n \"TIMESTAMP_CMP_TIMESTAMPTZ\",\n \"TIMESTAMPTZ_CMP\",\n \"TIMESTAMPTZ_CMP_DATE\",\n \"TIMESTAMPTZ_CMP_TIMESTAMP\",\n \"TIMEZONE\",\n \"TO_TIMESTAMP\",\n \"TRUNC\",\n // https://docs.aws.amazon.com/redshift/latest/dg/geospatial-functions.html\n \"AddBBox\",\n \"DropBBox\",\n \"GeometryType\",\n \"ST_AddPoint\",\n \"ST_Angle\",\n \"ST_Area\",\n \"ST_AsBinary\",\n \"ST_AsEWKB\",\n \"ST_AsEWKT\",\n \"ST_AsGeoJSON\",\n \"ST_AsText\",\n \"ST_Azimuth\",\n \"ST_Boundary\",\n \"ST_Collect\",\n \"ST_Contains\",\n \"ST_ContainsProperly\",\n \"ST_ConvexHull\",\n \"ST_CoveredBy\",\n \"ST_Covers\",\n \"ST_Crosses\",\n \"ST_Dimension\",\n \"ST_Disjoint\",\n \"ST_Distance\",\n \"ST_DistanceSphere\",\n \"ST_DWithin\",\n \"ST_EndPoint\",\n \"ST_Envelope\",\n \"ST_Equals\",\n \"ST_ExteriorRing\",\n \"ST_Force2D\",\n \"ST_Force3D\",\n \"ST_Force3DM\",\n \"ST_Force3DZ\",\n \"ST_Force4D\",\n \"ST_GeometryN\",\n \"ST_GeometryType\",\n \"ST_GeomFromEWKB\",\n \"ST_GeomFromEWKT\",\n \"ST_GeomFromText\",\n \"ST_GeomFromWKB\",\n \"ST_InteriorRingN\",\n \"ST_Intersects\",\n \"ST_IsPolygonCCW\",\n \"ST_IsPolygonCW\",\n \"ST_IsClosed\",\n \"ST_IsCollection\",\n \"ST_IsEmpty\",\n \"ST_IsSimple\",\n \"ST_IsValid\",\n \"ST_Length\",\n \"ST_LengthSphere\",\n \"ST_Length2D\",\n \"ST_LineFromMultiPoint\",\n \"ST_LineInterpolatePoint\",\n \"ST_M\",\n \"ST_MakeEnvelope\",\n \"ST_MakeLine\",\n \"ST_MakePoint\",\n \"ST_MakePolygon\",\n \"ST_MemSize\",\n \"ST_MMax\",\n \"ST_MMin\",\n \"ST_Multi\",\n \"ST_NDims\",\n \"ST_NPoints\",\n \"ST_NRings\",\n \"ST_NumGeometries\",\n \"ST_NumInteriorRings\",\n \"ST_NumPoints\",\n \"ST_Perimeter\",\n \"ST_Perimeter2D\",\n \"ST_Point\",\n \"ST_PointN\",\n \"ST_Points\",\n \"ST_Polygon\",\n \"ST_RemovePoint\",\n \"ST_Reverse\",\n \"ST_SetPoint\",\n \"ST_SetSRID\",\n \"ST_Simplify\",\n \"ST_SRID\",\n \"ST_StartPoint\",\n \"ST_Touches\",\n \"ST_Within\",\n \"ST_X\",\n \"ST_XMax\",\n \"ST_XMin\",\n \"ST_Y\",\n \"ST_YMax\",\n \"ST_YMin\",\n \"ST_Z\",\n \"ST_ZMax\",\n \"ST_ZMin\",\n \"SupportsBBox\",\n // https://docs.aws.amazon.com/redshift/latest/dg/hash-functions.html\n \"CHECKSUM\",\n \"FUNC_SHA1\",\n \"FNV_HASH\",\n \"MD5\",\n \"SHA\",\n \"SHA1\",\n \"SHA2\",\n // https://docs.aws.amazon.com/redshift/latest/dg/hyperloglog-functions.html\n \"HLL\",\n \"HLL_CREATE_SKETCH\",\n \"HLL_CARDINALITY\",\n \"HLL_COMBINE\",\n // https://docs.aws.amazon.com/redshift/latest/dg/json-functions.html\n \"IS_VALID_JSON\",\n \"IS_VALID_JSON_ARRAY\",\n \"JSON_ARRAY_LENGTH\",\n \"JSON_EXTRACT_ARRAY_ELEMENT_TEXT\",\n \"JSON_EXTRACT_PATH_TEXT\",\n \"JSON_PARSE\",\n \"JSON_SERIALIZE\",\n // https://docs.aws.amazon.com/redshift/latest/dg/Math_functions.html\n \"ABS\",\n \"ACOS\",\n \"ASIN\",\n \"ATAN\",\n \"ATAN2\",\n \"CBRT\",\n \"CEILING\",\n \"CEIL\",\n \"COS\",\n \"COT\",\n \"DEGREES\",\n \"DEXP\",\n \"DLOG1\",\n \"DLOG10\",\n \"EXP\",\n \"FLOOR\",\n \"LN\",\n \"LOG\",\n \"MOD\",\n \"PI\",\n \"POWER\",\n \"RADIANS\",\n \"RANDOM\",\n \"ROUND\",\n \"SIN\",\n \"SIGN\",\n \"SQRT\",\n \"TAN\",\n \"TO_HEX\",\n \"TRUNC\",\n // https://docs.aws.amazon.com/redshift/latest/dg/ml-function.html\n \"EXPLAIN_MODEL\",\n // https://docs.aws.amazon.com/redshift/latest/dg/String_functions_header.html\n \"ASCII\",\n \"BPCHARCMP\",\n \"BTRIM\",\n \"BTTEXT_PATTERN_CMP\",\n \"CHAR_LENGTH\",\n \"CHARACTER_LENGTH\",\n \"CHARINDEX\",\n \"CHR\",\n \"COLLATE\",\n \"CONCAT\",\n \"CRC32\",\n \"DIFFERENCE\",\n \"INITCAP\",\n \"LEFT\",\n \"RIGHT\",\n \"LEN\",\n \"LENGTH\",\n \"LOWER\",\n \"LPAD\",\n \"RPAD\",\n \"LTRIM\",\n \"OCTETINDEX\",\n \"OCTET_LENGTH\",\n \"POSITION\",\n \"QUOTE_IDENT\",\n \"QUOTE_LITERAL\",\n \"REGEXP_COUNT\",\n \"REGEXP_INSTR\",\n \"REGEXP_REPLACE\",\n \"REGEXP_SUBSTR\",\n \"REPEAT\",\n \"REPLACE\",\n \"REPLICATE\",\n \"REVERSE\",\n \"RTRIM\",\n \"SOUNDEX\",\n \"SPLIT_PART\",\n \"STRPOS\",\n \"STRTOL\",\n \"SUBSTRING\",\n \"TEXTLEN\",\n \"TRANSLATE\",\n \"TRIM\",\n \"UPPER\",\n // https://docs.aws.amazon.com/redshift/latest/dg/c_Type_Info_Functions.html\n \"decimal_precision\",\n \"decimal_scale\",\n \"is_array\",\n \"is_bigint\",\n \"is_boolean\",\n \"is_char\",\n \"is_decimal\",\n \"is_float\",\n \"is_integer\",\n \"is_object\",\n \"is_scalar\",\n \"is_smallint\",\n \"is_varchar\",\n \"json_typeof\",\n // https://docs.aws.amazon.com/redshift/latest/dg/c_Window_functions.html\n \"AVG\",\n \"COUNT\",\n \"CUME_DIST\",\n \"DENSE_RANK\",\n \"FIRST_VALUE\",\n \"LAST_VALUE\",\n \"LAG\",\n \"LEAD\",\n \"LISTAGG\",\n \"MAX\",\n \"MEDIAN\",\n \"MIN\",\n \"NTH_VALUE\",\n \"NTILE\",\n \"PERCENT_RANK\",\n \"PERCENTILE_CONT\",\n \"PERCENTILE_DISC\",\n \"RANK\",\n \"RATIO_TO_REPORT\",\n \"ROW_NUMBER\",\n \"STDDEV_SAMP\",\n \"STDDEV_POP\",\n \"SUM\",\n \"VAR_SAMP\",\n \"VAR_POP\",\n // https://docs.aws.amazon.com/redshift/latest/dg/r_Data_type_formatting.html\n \"CAST\",\n \"CONVERT\",\n \"TO_CHAR\",\n \"TO_DATE\",\n \"TO_NUMBER\",\n \"TEXT_TO_INT_ALT\",\n \"TEXT_TO_NUMERIC_ALT\",\n // https://docs.aws.amazon.com/redshift/latest/dg/r_System_administration_functions.html\n \"CHANGE_QUERY_PRIORITY\",\n \"CHANGE_SESSION_PRIORITY\",\n \"CHANGE_USER_PRIORITY\",\n \"CURRENT_SETTING\",\n \"PG_CANCEL_BACKEND\",\n \"PG_TERMINATE_BACKEND\",\n \"REBOOT_CLUSTER\",\n \"SET_CONFIG\",\n // https://docs.aws.amazon.com/redshift/latest/dg/r_System_information_functions.html\n \"CURRENT_AWS_ACCOUNT\",\n \"CURRENT_DATABASE\",\n \"CURRENT_NAMESPACE\",\n \"CURRENT_SCHEMA\",\n \"CURRENT_SCHEMAS\",\n \"CURRENT_USER\",\n \"CURRENT_USER_ID\",\n \"HAS_ASSUMEROLE_PRIVILEGE\",\n \"HAS_DATABASE_PRIVILEGE\",\n \"HAS_SCHEMA_PRIVILEGE\",\n \"HAS_TABLE_PRIVILEGE\",\n \"PG_BACKEND_PID\",\n \"PG_GET_COLS\",\n \"PG_GET_GRANTEE_BY_IAM_ROLE\",\n \"PG_GET_IAM_ROLE_BY_USER\",\n \"PG_GET_LATE_BINDING_VIEW_COLS\",\n \"PG_LAST_COPY_COUNT\",\n \"PG_LAST_COPY_ID\",\n \"PG_LAST_UNLOAD_ID\",\n \"PG_LAST_QUERY_ID\",\n \"PG_LAST_UNLOAD_COUNT\",\n \"SESSION_USER\",\n \"SLICE_NUM\",\n \"USER\",\n \"VERSION\"\n];\n\n// src/languages/redshift/redshift.keywords.ts\nvar keywords10 = [\n // https://docs.aws.amazon.com/redshift/latest/dg/r_pg_keywords.html\n \"AES128\",\n \"AES256\",\n \"ALL\",\n \"ALLOWOVERWRITE\",\n \"ANY\",\n \"AS\",\n \"ASC\",\n \"AUTHORIZATION\",\n \"BACKUP\",\n \"BETWEEN\",\n \"BINARY\",\n \"BOTH\",\n \"CHECK\",\n \"COLUMN\",\n \"CONSTRAINT\",\n \"CREATE\",\n \"CROSS\",\n \"DEFAULT\",\n \"DEFERRABLE\",\n \"DEFLATE\",\n \"DEFRAG\",\n \"DESC\",\n \"DISABLE\",\n \"DISTINCT\",\n \"DO\",\n \"ENABLE\",\n \"ENCODE\",\n \"ENCRYPT\",\n \"ENCRYPTION\",\n \"EXPLICIT\",\n \"FALSE\",\n \"FOR\",\n \"FOREIGN\",\n \"FREEZE\",\n \"FROM\",\n \"FULL\",\n \"GLOBALDICT256\",\n \"GLOBALDICT64K\",\n \"GROUP\",\n \"IDENTITY\",\n \"IGNORE\",\n \"ILIKE\",\n \"IN\",\n \"INITIALLY\",\n \"INNER\",\n \"INTO\",\n \"IS\",\n \"ISNULL\",\n \"LANGUAGE\",\n \"LEADING\",\n \"LIKE\",\n \"LIMIT\",\n \"LOCALTIME\",\n \"LOCALTIMESTAMP\",\n \"LUN\",\n \"LUNS\",\n \"MINUS\",\n \"NATURAL\",\n \"NEW\",\n \"NOT\",\n \"NOTNULL\",\n \"NULL\",\n \"NULLS\",\n \"OFF\",\n \"OFFLINE\",\n \"OFFSET\",\n \"OID\",\n \"OLD\",\n \"ON\",\n \"ONLY\",\n \"OPEN\",\n \"ORDER\",\n \"OUTER\",\n \"OVERLAPS\",\n \"PARALLEL\",\n \"PARTITION\",\n \"PERCENT\",\n \"PERMISSIONS\",\n \"PLACING\",\n \"PRIMARY\",\n \"RECOVER\",\n \"REFERENCES\",\n \"REJECTLOG\",\n \"RESORT\",\n \"RESPECT\",\n \"RESTORE\",\n \"SIMILAR\",\n \"SNAPSHOT\",\n \"SOME\",\n \"SYSTEM\",\n \"TABLE\",\n \"TAG\",\n \"TDES\",\n \"THEN\",\n \"TIMESTAMP\",\n \"TO\",\n \"TOP\",\n \"TRAILING\",\n \"TRUE\",\n \"UNIQUE\",\n \"USING\",\n \"VERBOSE\",\n \"WALLET\",\n \"WITHOUT\",\n // https://docs.aws.amazon.com/redshift/latest/dg/copy-parameters-data-conversion.html\n \"ACCEPTANYDATE\",\n \"ACCEPTINVCHARS\",\n \"BLANKSASNULL\",\n \"DATEFORMAT\",\n \"EMPTYASNULL\",\n \"ENCODING\",\n \"ESCAPE\",\n \"EXPLICIT_IDS\",\n \"FILLRECORD\",\n \"IGNOREBLANKLINES\",\n \"IGNOREHEADER\",\n \"REMOVEQUOTES\",\n \"ROUNDEC\",\n \"TIMEFORMAT\",\n \"TRIMBLANKS\",\n \"TRUNCATECOLUMNS\",\n // https://docs.aws.amazon.com/redshift/latest/dg/copy-parameters-data-load.html\n \"COMPROWS\",\n \"COMPUPDATE\",\n \"MAXERROR\",\n \"NOLOAD\",\n \"STATUPDATE\",\n // https://docs.aws.amazon.com/redshift/latest/dg/copy-parameters-data-format.html\n \"FORMAT\",\n \"CSV\",\n \"DELIMITER\",\n \"FIXEDWIDTH\",\n \"SHAPEFILE\",\n \"AVRO\",\n \"JSON\",\n \"PARQUET\",\n \"ORC\",\n // https://docs.aws.amazon.com/redshift/latest/dg/copy-parameters-authorization.html\n \"ACCESS_KEY_ID\",\n \"CREDENTIALS\",\n \"ENCRYPTED\",\n \"IAM_ROLE\",\n \"MASTER_SYMMETRIC_KEY\",\n \"SECRET_ACCESS_KEY\",\n \"SESSION_TOKEN\",\n // https://docs.aws.amazon.com/redshift/latest/dg/copy-parameters-file-compression.html\n \"BZIP2\",\n \"GZIP\",\n \"LZOP\",\n \"ZSTD\",\n // https://docs.aws.amazon.com/redshift/latest/dg/r_COPY-alphabetical-parm-list.html\n \"MANIFEST\",\n \"READRATIO\",\n \"REGION\",\n \"SSH\",\n // https://docs.aws.amazon.com/redshift/latest/dg/c_Compression_encodings.html\n \"RAW\",\n \"AZ64\",\n \"BYTEDICT\",\n \"DELTA\",\n \"DELTA32K\",\n \"LZO\",\n \"MOSTLY8\",\n \"MOSTLY16\",\n \"MOSTLY32\",\n \"RUNLENGTH\",\n \"TEXT255\",\n \"TEXT32K\",\n // misc\n // CREATE EXTERNAL SCHEMA (https://docs.aws.amazon.com/redshift/latest/dg/r_CREATE_EXTERNAL_SCHEMA.html)\n \"CATALOG_ROLE\",\n \"SECRET_ARN\",\n \"EXTERNAL\",\n // https://docs.aws.amazon.com/redshift/latest/dg/c_choosing_dist_sort.html\n \"AUTO\",\n \"EVEN\",\n \"KEY\",\n \"PREDICATE\",\n // ANALYZE | ANALYSE (https://docs.aws.amazon.com/redshift/latest/dg/r_ANALYZE.html)\n // unknown\n \"COMPRESSION\"\n /**\n * Other keywords not included:\n * STL: https://docs.aws.amazon.com/redshift/latest/dg/c_intro_STL_tables.html\n * SVCS: https://docs.aws.amazon.com/redshift/latest/dg/svcs_views.html\n * SVL: https://docs.aws.amazon.com/redshift/latest/dg/svl_views.html\n * SVV: https://docs.aws.amazon.com/redshift/latest/dg/svv_views.html\n */\n];\nvar dataTypes10 = [\n // https://docs.aws.amazon.com/redshift/latest/dg/r_Character_types.html#r_Character_types-text-and-bpchar-types\n \"ARRAY\",\n \"BIGINT\",\n \"BPCHAR\",\n \"CHAR\",\n \"CHARACTER VARYING\",\n \"CHARACTER\",\n \"DECIMAL\",\n \"INT\",\n \"INT2\",\n \"INT4\",\n \"INT8\",\n \"INTEGER\",\n \"NCHAR\",\n \"NUMERIC\",\n \"NVARCHAR\",\n \"SMALLINT\",\n \"TEXT\",\n \"VARBYTE\",\n \"VARCHAR\"\n];\n\n// src/languages/redshift/redshift.formatter.ts\nvar reservedSelect10 = expandPhrases([\"SELECT [ALL | DISTINCT]\"]);\nvar reservedClauses10 = expandPhrases([\n // queries\n \"WITH [RECURSIVE]\",\n \"FROM\",\n \"WHERE\",\n \"GROUP BY\",\n \"HAVING\",\n \"PARTITION BY\",\n \"ORDER BY\",\n \"LIMIT\",\n \"OFFSET\",\n // Data manipulation\n // - insert:\n \"INSERT INTO\",\n \"VALUES\",\n // - update:\n \"SET\"\n]);\nvar onelineClauses10 = expandPhrases([\n // - create:\n \"CREATE [TEMPORARY | TEMP | LOCAL TEMPORARY | LOCAL TEMP] TABLE [IF NOT EXISTS]\",\n \"CREATE [OR REPLACE | MATERIALIZED] VIEW\",\n // - update:\n \"UPDATE\",\n // - delete:\n \"DELETE [FROM]\",\n // - drop table:\n \"DROP TABLE [IF EXISTS]\",\n // - alter table:\n \"ALTER TABLE\",\n \"ALTER TABLE APPEND\",\n \"ADD [COLUMN]\",\n \"DROP [COLUMN]\",\n \"RENAME TO\",\n \"RENAME COLUMN\",\n \"ALTER COLUMN\",\n \"TYPE\",\n // for alter column\n \"ENCODE\",\n // for alter column\n // - truncate:\n \"TRUNCATE [TABLE]\",\n // https://docs.aws.amazon.com/redshift/latest/dg/c_SQL_commands.html\n \"ABORT\",\n \"ALTER DATABASE\",\n \"ALTER DATASHARE\",\n \"ALTER DEFAULT PRIVILEGES\",\n \"ALTER GROUP\",\n \"ALTER MATERIALIZED VIEW\",\n \"ALTER PROCEDURE\",\n \"ALTER SCHEMA\",\n \"ALTER USER\",\n \"ANALYSE\",\n \"ANALYZE\",\n \"ANALYSE COMPRESSION\",\n \"ANALYZE COMPRESSION\",\n \"BEGIN\",\n \"CALL\",\n \"CANCEL\",\n \"CLOSE\",\n \"COMMIT\",\n \"COPY\",\n \"CREATE DATABASE\",\n \"CREATE DATASHARE\",\n \"CREATE EXTERNAL FUNCTION\",\n \"CREATE EXTERNAL SCHEMA\",\n \"CREATE EXTERNAL TABLE\",\n \"CREATE FUNCTION\",\n \"CREATE GROUP\",\n \"CREATE LIBRARY\",\n \"CREATE MODEL\",\n \"CREATE PROCEDURE\",\n \"CREATE SCHEMA\",\n \"CREATE USER\",\n \"DEALLOCATE\",\n \"DECLARE\",\n \"DESC DATASHARE\",\n \"DROP DATABASE\",\n \"DROP DATASHARE\",\n \"DROP FUNCTION\",\n \"DROP GROUP\",\n \"DROP LIBRARY\",\n \"DROP MODEL\",\n \"DROP MATERIALIZED VIEW\",\n \"DROP PROCEDURE\",\n \"DROP SCHEMA\",\n \"DROP USER\",\n \"DROP VIEW\",\n \"DROP\",\n \"EXECUTE\",\n \"EXPLAIN\",\n \"FETCH\",\n \"GRANT\",\n \"LOCK\",\n \"PREPARE\",\n \"REFRESH MATERIALIZED VIEW\",\n \"RESET\",\n \"REVOKE\",\n \"ROLLBACK\",\n \"SELECT INTO\",\n \"SET SESSION AUTHORIZATION\",\n \"SET SESSION CHARACTERISTICS\",\n \"SHOW\",\n \"SHOW EXTERNAL TABLE\",\n \"SHOW MODEL\",\n \"SHOW DATASHARES\",\n \"SHOW PROCEDURE\",\n \"SHOW TABLE\",\n \"SHOW VIEW\",\n \"START TRANSACTION\",\n \"UNLOAD\",\n \"VACUUM\"\n]);\nvar reservedSetOperations10 = expandPhrases([\"UNION [ALL]\", \"EXCEPT\", \"INTERSECT\", \"MINUS\"]);\nvar reservedJoins10 = expandPhrases([\n \"JOIN\",\n \"{LEFT | RIGHT | FULL} [OUTER] JOIN\",\n \"{INNER | CROSS} JOIN\",\n \"NATURAL [INNER] JOIN\",\n \"NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN\"\n]);\nvar reservedPhrases10 = expandPhrases([\n // https://docs.aws.amazon.com/redshift/latest/dg/copy-parameters-data-conversion.html\n \"NULL AS\",\n // https://docs.aws.amazon.com/redshift/latest/dg/r_CREATE_EXTERNAL_SCHEMA.html\n \"DATA CATALOG\",\n \"HIVE METASTORE\",\n // in window specifications\n \"{ROWS | RANGE} BETWEEN\"\n]);\nvar redshift = {\n name: \"redshift\",\n tokenizerOptions: {\n reservedSelect: reservedSelect10,\n reservedClauses: [...reservedClauses10, ...onelineClauses10],\n reservedSetOperations: reservedSetOperations10,\n reservedJoins: reservedJoins10,\n reservedPhrases: reservedPhrases10,\n reservedKeywords: keywords10,\n reservedDataTypes: dataTypes10,\n reservedFunctionNames: functions10,\n stringTypes: [\"''-qq\"],\n identTypes: [`\"\"-qq`],\n identChars: { first: \"#\" },\n paramTypes: { numbered: [\"$\"] },\n operators: [\n \"^\",\n \"%\",\n \"@\",\n \"|/\",\n \"||/\",\n \"&\",\n \"|\",\n // '#', conflicts with first char of identifier\n \"~\",\n \"<<\",\n \">>\",\n \"||\",\n \"::\"\n ]\n },\n formatOptions: {\n alwaysDenseOperators: [\"::\"],\n onelineClauses: onelineClauses10\n }\n};\n\n// src/languages/spark/spark.keywords.ts\nvar keywords11 = [\n // https://deepkb.com/CO_000013/en/kb/IMPORT-fbfa59f0-2bf1-31fe-bb7b-0f9efe9932c6/spark-sql-keywords\n \"ADD\",\n \"AFTER\",\n \"ALL\",\n \"ALTER\",\n \"ANALYZE\",\n \"AND\",\n \"ANTI\",\n \"ANY\",\n \"ARCHIVE\",\n \"AS\",\n \"ASC\",\n \"AT\",\n \"AUTHORIZATION\",\n \"BETWEEN\",\n \"BOTH\",\n \"BUCKET\",\n \"BUCKETS\",\n \"BY\",\n \"CACHE\",\n \"CASCADE\",\n \"CAST\",\n \"CHANGE\",\n \"CHECK\",\n \"CLEAR\",\n \"CLUSTER\",\n \"CLUSTERED\",\n \"CODEGEN\",\n \"COLLATE\",\n \"COLLECTION\",\n \"COLUMN\",\n \"COLUMNS\",\n \"COMMENT\",\n \"COMMIT\",\n \"COMPACT\",\n \"COMPACTIONS\",\n \"COMPUTE\",\n \"CONCATENATE\",\n \"CONSTRAINT\",\n \"COST\",\n \"CREATE\",\n \"CROSS\",\n \"CUBE\",\n \"CURRENT\",\n \"CURRENT_DATE\",\n \"CURRENT_TIME\",\n \"CURRENT_TIMESTAMP\",\n \"CURRENT_USER\",\n \"DATA\",\n \"DATABASE\",\n \"DATABASES\",\n \"DAY\",\n \"DBPROPERTIES\",\n \"DEFINED\",\n \"DELETE\",\n \"DELIMITED\",\n \"DESC\",\n \"DESCRIBE\",\n \"DFS\",\n \"DIRECTORIES\",\n \"DIRECTORY\",\n \"DISTINCT\",\n \"DISTRIBUTE\",\n \"DIV\",\n \"DROP\",\n \"ESCAPE\",\n \"ESCAPED\",\n \"EXCEPT\",\n \"EXCHANGE\",\n \"EXISTS\",\n \"EXPORT\",\n \"EXTENDED\",\n \"EXTERNAL\",\n \"EXTRACT\",\n \"FALSE\",\n \"FETCH\",\n \"FIELDS\",\n \"FILTER\",\n \"FILEFORMAT\",\n \"FIRST\",\n \"FIRST_VALUE\",\n \"FOLLOWING\",\n \"FOR\",\n \"FOREIGN\",\n \"FORMAT\",\n \"FORMATTED\",\n \"FULL\",\n \"FUNCTION\",\n \"FUNCTIONS\",\n \"GLOBAL\",\n \"GRANT\",\n \"GROUP\",\n \"GROUPING\",\n \"HOUR\",\n \"IF\",\n \"IGNORE\",\n \"IMPORT\",\n \"IN\",\n \"INDEX\",\n \"INDEXES\",\n \"INNER\",\n \"INPATH\",\n \"INPUTFORMAT\",\n \"INTERSECT\",\n \"INTO\",\n \"IS\",\n \"ITEMS\",\n \"KEYS\",\n \"LAST\",\n \"LAST_VALUE\",\n \"LATERAL\",\n \"LAZY\",\n \"LEADING\",\n \"LEFT\",\n \"LIKE\",\n \"LINES\",\n \"LIST\",\n \"LOCAL\",\n \"LOCATION\",\n \"LOCK\",\n \"LOCKS\",\n \"LOGICAL\",\n \"MACRO\",\n \"MATCHED\",\n \"MERGE\",\n \"MINUTE\",\n \"MONTH\",\n \"MSCK\",\n \"NAMESPACE\",\n \"NAMESPACES\",\n \"NATURAL\",\n \"NO\",\n \"NOT\",\n \"NULL\",\n \"NULLS\",\n \"OF\",\n \"ONLY\",\n \"OPTION\",\n \"OPTIONS\",\n \"OR\",\n \"ORDER\",\n \"OUT\",\n \"OUTER\",\n \"OUTPUTFORMAT\",\n \"OVER\",\n \"OVERLAPS\",\n \"OVERLAY\",\n \"OVERWRITE\",\n \"OWNER\",\n \"PARTITION\",\n \"PARTITIONED\",\n \"PARTITIONS\",\n \"PERCENT\",\n \"PLACING\",\n \"POSITION\",\n \"PRECEDING\",\n \"PRIMARY\",\n \"PRINCIPALS\",\n \"PROPERTIES\",\n \"PURGE\",\n \"QUERY\",\n \"RANGE\",\n \"RECORDREADER\",\n \"RECORDWRITER\",\n \"RECOVER\",\n \"REDUCE\",\n \"REFERENCES\",\n \"RENAME\",\n \"REPAIR\",\n \"REPLACE\",\n \"RESPECT\",\n \"RESTRICT\",\n \"REVOKE\",\n \"RIGHT\",\n \"RLIKE\",\n \"ROLE\",\n \"ROLES\",\n \"ROLLBACK\",\n \"ROLLUP\",\n \"ROW\",\n \"ROWS\",\n \"SCHEMA\",\n \"SECOND\",\n \"SELECT\",\n \"SEMI\",\n \"SEPARATED\",\n \"SERDE\",\n \"SERDEPROPERTIES\",\n \"SESSION_USER\",\n \"SETS\",\n \"SHOW\",\n \"SKEWED\",\n \"SOME\",\n \"SORT\",\n \"SORTED\",\n \"START\",\n \"STATISTICS\",\n \"STORED\",\n \"STRATIFY\",\n \"SUBSTR\",\n \"SUBSTRING\",\n \"TABLE\",\n \"TABLES\",\n \"TBLPROPERTIES\",\n \"TEMPORARY\",\n \"TERMINATED\",\n \"THEN\",\n \"TO\",\n \"TOUCH\",\n \"TRAILING\",\n \"TRANSACTION\",\n \"TRANSACTIONS\",\n \"TRIM\",\n \"TRUE\",\n \"TRUNCATE\",\n \"UNARCHIVE\",\n \"UNBOUNDED\",\n \"UNCACHE\",\n \"UNIQUE\",\n \"UNKNOWN\",\n \"UNLOCK\",\n \"UNSET\",\n \"USE\",\n \"USER\",\n \"USING\",\n \"VIEW\",\n \"WINDOW\",\n \"YEAR\",\n // other\n \"ANALYSE\",\n \"ARRAY_ZIP\",\n \"COALESCE\",\n \"CONTAINS\",\n \"CONVERT\",\n \"DAYS\",\n \"DAY_HOUR\",\n \"DAY_MINUTE\",\n \"DAY_SECOND\",\n \"DECODE\",\n \"DEFAULT\",\n \"DISTINCTROW\",\n \"ENCODE\",\n \"EXPLODE\",\n \"EXPLODE_OUTER\",\n \"FIXED\",\n \"GREATEST\",\n \"GROUP_CONCAT\",\n \"HOURS\",\n \"HOUR_MINUTE\",\n \"HOUR_SECOND\",\n \"IFNULL\",\n \"LEAST\",\n \"LEVEL\",\n \"MINUTE_SECOND\",\n \"NULLIF\",\n \"OFFSET\",\n \"ON\",\n \"OPTIMIZE\",\n \"REGEXP\",\n \"SEPARATOR\",\n \"SIZE\",\n \"TYPE\",\n \"TYPES\",\n \"UNSIGNED\",\n \"VARIABLES\",\n \"YEAR_MONTH\"\n];\nvar dataTypes11 = [\n // https://spark.apache.org/docs/latest/sql-ref-datatypes.html\n \"ARRAY\",\n \"BIGINT\",\n \"BINARY\",\n \"BOOLEAN\",\n \"BYTE\",\n \"CHAR\",\n \"DATE\",\n \"DEC\",\n \"DECIMAL\",\n \"DOUBLE\",\n \"FLOAT\",\n \"INT\",\n \"INTEGER\",\n \"INTERVAL\",\n \"LONG\",\n \"MAP\",\n \"NUMERIC\",\n \"REAL\",\n \"SHORT\",\n \"SMALLINT\",\n \"STRING\",\n \"STRUCT\",\n \"TIMESTAMP_LTZ\",\n \"TIMESTAMP_NTZ\",\n \"TIMESTAMP\",\n \"TINYINT\",\n \"VARCHAR\"\n // No varchar type in Spark, only STRING. Added for the sake of tests\n];\n\n// src/languages/spark/spark.functions.ts\nvar functions11 = [\n // http://spark.apache.org/docs/latest/sql-ref-functions.html\n //\n // http://spark.apache.org/docs/latest/sql-ref-functions-builtin.html#aggregate-functions\n // 'ANY',\n \"APPROX_COUNT_DISTINCT\",\n \"APPROX_PERCENTILE\",\n \"AVG\",\n \"BIT_AND\",\n \"BIT_OR\",\n \"BIT_XOR\",\n \"BOOL_AND\",\n \"BOOL_OR\",\n \"COLLECT_LIST\",\n \"COLLECT_SET\",\n \"CORR\",\n \"COUNT\",\n \"COUNT\",\n \"COUNT\",\n \"COUNT_IF\",\n \"COUNT_MIN_SKETCH\",\n \"COVAR_POP\",\n \"COVAR_SAMP\",\n \"EVERY\",\n \"FIRST\",\n \"FIRST_VALUE\",\n \"GROUPING\",\n \"GROUPING_ID\",\n \"KURTOSIS\",\n \"LAST\",\n \"LAST_VALUE\",\n \"MAX\",\n \"MAX_BY\",\n \"MEAN\",\n \"MIN\",\n \"MIN_BY\",\n \"PERCENTILE\",\n \"PERCENTILE\",\n \"PERCENTILE_APPROX\",\n \"SKEWNESS\",\n // 'SOME',\n \"STD\",\n \"STDDEV\",\n \"STDDEV_POP\",\n \"STDDEV_SAMP\",\n \"SUM\",\n \"VAR_POP\",\n \"VAR_SAMP\",\n \"VARIANCE\",\n // http://spark.apache.org/docs/latest/sql-ref-functions-builtin.html#window-functions\n \"CUME_DIST\",\n \"DENSE_RANK\",\n \"LAG\",\n \"LEAD\",\n \"NTH_VALUE\",\n \"NTILE\",\n \"PERCENT_RANK\",\n \"RANK\",\n \"ROW_NUMBER\",\n // http://spark.apache.org/docs/latest/sql-ref-functions-builtin.html#array-functions\n \"ARRAY\",\n \"ARRAY_CONTAINS\",\n \"ARRAY_DISTINCT\",\n \"ARRAY_EXCEPT\",\n \"ARRAY_INTERSECT\",\n \"ARRAY_JOIN\",\n \"ARRAY_MAX\",\n \"ARRAY_MIN\",\n \"ARRAY_POSITION\",\n \"ARRAY_REMOVE\",\n \"ARRAY_REPEAT\",\n \"ARRAY_UNION\",\n \"ARRAYS_OVERLAP\",\n \"ARRAYS_ZIP\",\n \"FLATTEN\",\n \"SEQUENCE\",\n \"SHUFFLE\",\n \"SLICE\",\n \"SORT_ARRAY\",\n // http://spark.apache.org/docs/latest/sql-ref-functions-builtin.html#map-functions\n \"ELEMENT_AT\",\n \"ELEMENT_AT\",\n \"MAP_CONCAT\",\n \"MAP_ENTRIES\",\n \"MAP_FROM_ARRAYS\",\n \"MAP_FROM_ENTRIES\",\n \"MAP_KEYS\",\n \"MAP_VALUES\",\n \"STR_TO_MAP\",\n // http://spark.apache.org/docs/latest/sql-ref-functions-builtin.html#date-and-timestamp-functions\n \"ADD_MONTHS\",\n \"CURRENT_DATE\",\n \"CURRENT_DATE\",\n \"CURRENT_TIMESTAMP\",\n \"CURRENT_TIMESTAMP\",\n \"CURRENT_TIMEZONE\",\n \"DATE_ADD\",\n \"DATE_FORMAT\",\n \"DATE_FROM_UNIX_DATE\",\n \"DATE_PART\",\n \"DATE_SUB\",\n \"DATE_TRUNC\",\n \"DATEDIFF\",\n \"DAY\",\n \"DAYOFMONTH\",\n \"DAYOFWEEK\",\n \"DAYOFYEAR\",\n \"EXTRACT\",\n \"FROM_UNIXTIME\",\n \"FROM_UTC_TIMESTAMP\",\n \"HOUR\",\n \"LAST_DAY\",\n \"MAKE_DATE\",\n \"MAKE_DT_INTERVAL\",\n \"MAKE_INTERVAL\",\n \"MAKE_TIMESTAMP\",\n \"MAKE_YM_INTERVAL\",\n \"MINUTE\",\n \"MONTH\",\n \"MONTHS_BETWEEN\",\n \"NEXT_DAY\",\n \"NOW\",\n \"QUARTER\",\n \"SECOND\",\n \"SESSION_WINDOW\",\n \"TIMESTAMP_MICROS\",\n \"TIMESTAMP_MILLIS\",\n \"TIMESTAMP_SECONDS\",\n \"TO_DATE\",\n \"TO_TIMESTAMP\",\n \"TO_UNIX_TIMESTAMP\",\n \"TO_UTC_TIMESTAMP\",\n \"TRUNC\",\n \"UNIX_DATE\",\n \"UNIX_MICROS\",\n \"UNIX_MILLIS\",\n \"UNIX_SECONDS\",\n \"UNIX_TIMESTAMP\",\n \"WEEKDAY\",\n \"WEEKOFYEAR\",\n \"WINDOW\",\n \"YEAR\",\n // http://spark.apache.org/docs/latest/sql-ref-functions-builtin.html#json-functions\n \"FROM_JSON\",\n \"GET_JSON_OBJECT\",\n \"JSON_ARRAY_LENGTH\",\n \"JSON_OBJECT_KEYS\",\n \"JSON_TUPLE\",\n \"SCHEMA_OF_JSON\",\n \"TO_JSON\",\n // http://spark.apache.org/docs/latest/api/sql/index.html\n \"ABS\",\n \"ACOS\",\n \"ACOSH\",\n \"AGGREGATE\",\n \"ARRAY_SORT\",\n \"ASCII\",\n \"ASIN\",\n \"ASINH\",\n \"ASSERT_TRUE\",\n \"ATAN\",\n \"ATAN2\",\n \"ATANH\",\n \"BASE64\",\n \"BIN\",\n \"BIT_COUNT\",\n \"BIT_GET\",\n \"BIT_LENGTH\",\n \"BROUND\",\n \"BTRIM\",\n \"CARDINALITY\",\n \"CBRT\",\n \"CEIL\",\n \"CEILING\",\n \"CHAR_LENGTH\",\n \"CHARACTER_LENGTH\",\n \"CHR\",\n \"CONCAT\",\n \"CONCAT_WS\",\n \"CONV\",\n \"COS\",\n \"COSH\",\n \"COT\",\n \"CRC32\",\n \"CURRENT_CATALOG\",\n \"CURRENT_DATABASE\",\n \"CURRENT_USER\",\n \"DEGREES\",\n // 'E',\n \"ELT\",\n \"EXP\",\n \"EXPM1\",\n \"FACTORIAL\",\n \"FIND_IN_SET\",\n \"FLOOR\",\n \"FORALL\",\n \"FORMAT_NUMBER\",\n \"FORMAT_STRING\",\n \"FROM_CSV\",\n \"GETBIT\",\n \"HASH\",\n \"HEX\",\n \"HYPOT\",\n \"INITCAP\",\n \"INLINE\",\n \"INLINE_OUTER\",\n \"INPUT_FILE_BLOCK_LENGTH\",\n \"INPUT_FILE_BLOCK_START\",\n \"INPUT_FILE_NAME\",\n \"INSTR\",\n \"ISNAN\",\n \"ISNOTNULL\",\n \"ISNULL\",\n \"JAVA_METHOD\",\n \"LCASE\",\n \"LEFT\",\n \"LENGTH\",\n \"LEVENSHTEIN\",\n \"LN\",\n \"LOCATE\",\n \"LOG\",\n \"LOG10\",\n \"LOG1P\",\n \"LOG2\",\n \"LOWER\",\n \"LPAD\",\n \"LTRIM\",\n \"MAP_FILTER\",\n \"MAP_ZIP_WITH\",\n \"MD5\",\n \"MOD\",\n \"MONOTONICALLY_INCREASING_ID\",\n \"NAMED_STRUCT\",\n \"NANVL\",\n \"NEGATIVE\",\n \"NVL\",\n \"NVL2\",\n \"OCTET_LENGTH\",\n \"OVERLAY\",\n \"PARSE_URL\",\n \"PI\",\n \"PMOD\",\n \"POSEXPLODE\",\n \"POSEXPLODE_OUTER\",\n \"POSITION\",\n \"POSITIVE\",\n \"POW\",\n \"POWER\",\n \"PRINTF\",\n \"RADIANS\",\n \"RAISE_ERROR\",\n \"RAND\",\n \"RANDN\",\n \"RANDOM\",\n \"REFLECT\",\n \"REGEXP_EXTRACT\",\n \"REGEXP_EXTRACT_ALL\",\n \"REGEXP_LIKE\",\n \"REGEXP_REPLACE\",\n \"REPEAT\",\n \"REPLACE\",\n \"REVERSE\",\n \"RIGHT\",\n \"RINT\",\n \"ROUND\",\n \"RPAD\",\n \"RTRIM\",\n \"SCHEMA_OF_CSV\",\n \"SENTENCES\",\n \"SHA\",\n \"SHA1\",\n \"SHA2\",\n \"SHIFTLEFT\",\n \"SHIFTRIGHT\",\n \"SHIFTRIGHTUNSIGNED\",\n \"SIGN\",\n \"SIGNUM\",\n \"SIN\",\n \"SINH\",\n \"SOUNDEX\",\n \"SPACE\",\n \"SPARK_PARTITION_ID\",\n \"SPLIT\",\n \"SQRT\",\n \"STACK\",\n \"SUBSTR\",\n \"SUBSTRING\",\n \"SUBSTRING_INDEX\",\n \"TAN\",\n \"TANH\",\n \"TO_CSV\",\n \"TRANSFORM_KEYS\",\n \"TRANSFORM_VALUES\",\n \"TRANSLATE\",\n \"TRIM\",\n \"TRY_ADD\",\n \"TRY_DIVIDE\",\n \"TYPEOF\",\n \"UCASE\",\n \"UNBASE64\",\n \"UNHEX\",\n \"UPPER\",\n \"UUID\",\n \"VERSION\",\n \"WIDTH_BUCKET\",\n \"XPATH\",\n \"XPATH_BOOLEAN\",\n \"XPATH_DOUBLE\",\n \"XPATH_FLOAT\",\n \"XPATH_INT\",\n \"XPATH_LONG\",\n \"XPATH_NUMBER\",\n \"XPATH_SHORT\",\n \"XPATH_STRING\",\n \"XXHASH64\",\n \"ZIP_WITH\",\n // cast\n \"CAST\",\n // Shorthand functions to use in place of CASE expression\n \"COALESCE\",\n \"NULLIF\"\n];\n\n// src/languages/spark/spark.formatter.ts\nvar reservedSelect11 = expandPhrases([\"SELECT [ALL | DISTINCT]\"]);\nvar reservedClauses11 = expandPhrases([\n // queries\n \"WITH\",\n \"FROM\",\n \"WHERE\",\n \"GROUP BY\",\n \"HAVING\",\n \"WINDOW\",\n \"PARTITION BY\",\n \"ORDER BY\",\n \"SORT BY\",\n \"CLUSTER BY\",\n \"DISTRIBUTE BY\",\n \"LIMIT\",\n // Data manipulation\n // - insert:\n \"INSERT [INTO | OVERWRITE] [TABLE]\",\n \"VALUES\",\n // - insert overwrite directory:\n // https://spark.apache.org/docs/latest/sql-ref-syntax-dml-insert-overwrite-directory.html\n \"INSERT OVERWRITE [LOCAL] DIRECTORY\",\n // - load:\n // https://spark.apache.org/docs/latest/sql-ref-syntax-dml-load.html\n \"LOAD DATA [LOCAL] INPATH\",\n \"[OVERWRITE] INTO TABLE\"\n]);\nvar onelineClauses11 = expandPhrases([\n // - create:\n \"CREATE [EXTERNAL] TABLE [IF NOT EXISTS]\",\n \"CREATE [OR REPLACE] [GLOBAL TEMPORARY | TEMPORARY] VIEW [IF NOT EXISTS]\",\n // - drop table:\n \"DROP TABLE [IF EXISTS]\",\n // - alter table:\n \"ALTER TABLE\",\n \"ADD COLUMNS\",\n \"DROP {COLUMN | COLUMNS}\",\n \"RENAME TO\",\n \"RENAME COLUMN\",\n \"ALTER COLUMN\",\n // - truncate:\n \"TRUNCATE TABLE\",\n // other\n \"LATERAL VIEW\",\n \"ALTER DATABASE\",\n \"ALTER VIEW\",\n \"CREATE DATABASE\",\n \"CREATE FUNCTION\",\n \"DROP DATABASE\",\n \"DROP FUNCTION\",\n \"DROP VIEW\",\n \"REPAIR TABLE\",\n \"USE DATABASE\",\n // Data Retrieval\n \"TABLESAMPLE\",\n \"PIVOT\",\n \"TRANSFORM\",\n \"EXPLAIN\",\n // Auxiliary\n \"ADD FILE\",\n \"ADD JAR\",\n \"ANALYZE TABLE\",\n \"CACHE TABLE\",\n \"CLEAR CACHE\",\n \"DESCRIBE DATABASE\",\n \"DESCRIBE FUNCTION\",\n \"DESCRIBE QUERY\",\n \"DESCRIBE TABLE\",\n \"LIST FILE\",\n \"LIST JAR\",\n \"REFRESH\",\n \"REFRESH TABLE\",\n \"REFRESH FUNCTION\",\n \"RESET\",\n \"SHOW COLUMNS\",\n \"SHOW CREATE TABLE\",\n \"SHOW DATABASES\",\n \"SHOW FUNCTIONS\",\n \"SHOW PARTITIONS\",\n \"SHOW TABLE EXTENDED\",\n \"SHOW TABLES\",\n \"SHOW TBLPROPERTIES\",\n \"SHOW VIEWS\",\n \"UNCACHE TABLE\"\n]);\nvar reservedSetOperations11 = expandPhrases([\n \"UNION [ALL | DISTINCT]\",\n \"EXCEPT [ALL | DISTINCT]\",\n \"INTERSECT [ALL | DISTINCT]\"\n]);\nvar reservedJoins11 = expandPhrases([\n \"JOIN\",\n \"{LEFT | RIGHT | FULL} [OUTER] JOIN\",\n \"{INNER | CROSS} JOIN\",\n \"NATURAL [INNER] JOIN\",\n \"NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN\",\n // non-standard-joins\n \"[LEFT] {ANTI | SEMI} JOIN\",\n \"NATURAL [LEFT] {ANTI | SEMI} JOIN\"\n]);\nvar reservedPhrases11 = expandPhrases([\n \"ON DELETE\",\n \"ON UPDATE\",\n \"CURRENT ROW\",\n \"{ROWS | RANGE} BETWEEN\"\n]);\nvar spark = {\n name: \"spark\",\n tokenizerOptions: {\n reservedSelect: reservedSelect11,\n reservedClauses: [...reservedClauses11, ...onelineClauses11],\n reservedSetOperations: reservedSetOperations11,\n reservedJoins: reservedJoins11,\n reservedPhrases: reservedPhrases11,\n supportsXor: true,\n reservedKeywords: keywords11,\n reservedDataTypes: dataTypes11,\n reservedFunctionNames: functions11,\n extraParens: [\"[]\"],\n stringTypes: [\n \"''-bs\",\n '\"\"-bs',\n { quote: \"''-raw\", prefixes: [\"R\", \"X\"], requirePrefix: true },\n { quote: '\"\"-raw', prefixes: [\"R\", \"X\"], requirePrefix: true }\n ],\n identTypes: [\"``\"],\n variableTypes: [{ quote: \"{}\", prefixes: [\"$\"], requirePrefix: true }],\n operators: [\"%\", \"~\", \"^\", \"|\", \"&\", \"<=>\", \"==\", \"!\", \"||\", \"->\"],\n postProcess: postProcess4\n },\n formatOptions: {\n onelineClauses: onelineClauses11\n }\n};\nfunction postProcess4(tokens) {\n return tokens.map((token, i) => {\n const prevToken = tokens[i - 1] || EOF_TOKEN;\n const nextToken = tokens[i + 1] || EOF_TOKEN;\n if (isToken.WINDOW(token) && nextToken.type === \"OPEN_PAREN\" /* OPEN_PAREN */) {\n return __spreadProps(__spreadValues({}, token), { type: \"RESERVED_FUNCTION_NAME\" /* RESERVED_FUNCTION_NAME */ });\n }\n if (token.text === \"ITEMS\" && token.type === \"RESERVED_KEYWORD\" /* RESERVED_KEYWORD */) {\n if (!(prevToken.text === \"COLLECTION\" && nextToken.text === \"TERMINATED\")) {\n return __spreadProps(__spreadValues({}, token), { type: \"IDENTIFIER\" /* IDENTIFIER */, text: token.raw });\n }\n }\n return token;\n });\n}\n\n// src/languages/sqlite/sqlite.functions.ts\nvar functions12 = [\n // https://www.sqlite.org/lang_corefunc.html\n \"ABS\",\n \"CHANGES\",\n \"CHAR\",\n \"COALESCE\",\n \"FORMAT\",\n \"GLOB\",\n \"HEX\",\n \"IFNULL\",\n \"IIF\",\n \"INSTR\",\n \"LAST_INSERT_ROWID\",\n \"LENGTH\",\n \"LIKE\",\n \"LIKELIHOOD\",\n \"LIKELY\",\n \"LOAD_EXTENSION\",\n \"LOWER\",\n \"LTRIM\",\n \"NULLIF\",\n \"PRINTF\",\n \"QUOTE\",\n \"RANDOM\",\n \"RANDOMBLOB\",\n \"REPLACE\",\n \"ROUND\",\n \"RTRIM\",\n \"SIGN\",\n \"SOUNDEX\",\n \"SQLITE_COMPILEOPTION_GET\",\n \"SQLITE_COMPILEOPTION_USED\",\n \"SQLITE_OFFSET\",\n \"SQLITE_SOURCE_ID\",\n \"SQLITE_VERSION\",\n \"SUBSTR\",\n \"SUBSTRING\",\n \"TOTAL_CHANGES\",\n \"TRIM\",\n \"TYPEOF\",\n \"UNICODE\",\n \"UNLIKELY\",\n \"UPPER\",\n \"ZEROBLOB\",\n // https://www.sqlite.org/lang_aggfunc.html\n \"AVG\",\n \"COUNT\",\n \"GROUP_CONCAT\",\n \"MAX\",\n \"MIN\",\n \"SUM\",\n \"TOTAL\",\n // https://www.sqlite.org/lang_datefunc.html\n \"DATE\",\n \"TIME\",\n \"DATETIME\",\n \"JULIANDAY\",\n \"UNIXEPOCH\",\n \"STRFTIME\",\n // https://www.sqlite.org/windowfunctions.html#biwinfunc\n \"row_number\",\n \"rank\",\n \"dense_rank\",\n \"percent_rank\",\n \"cume_dist\",\n \"ntile\",\n \"lag\",\n \"lead\",\n \"first_value\",\n \"last_value\",\n \"nth_value\",\n // https://www.sqlite.org/lang_mathfunc.html\n \"ACOS\",\n \"ACOSH\",\n \"ASIN\",\n \"ASINH\",\n \"ATAN\",\n \"ATAN2\",\n \"ATANH\",\n \"CEIL\",\n \"CEILING\",\n \"COS\",\n \"COSH\",\n \"DEGREES\",\n \"EXP\",\n \"FLOOR\",\n \"LN\",\n \"LOG\",\n \"LOG\",\n \"LOG10\",\n \"LOG2\",\n \"MOD\",\n \"PI\",\n \"POW\",\n \"POWER\",\n \"RADIANS\",\n \"SIN\",\n \"SINH\",\n \"SQRT\",\n \"TAN\",\n \"TANH\",\n \"TRUNC\",\n // https://www.sqlite.org/json1.html\n \"JSON\",\n \"JSON_ARRAY\",\n \"JSON_ARRAY_LENGTH\",\n \"JSON_ARRAY_LENGTH\",\n \"JSON_EXTRACT\",\n \"JSON_INSERT\",\n \"JSON_OBJECT\",\n \"JSON_PATCH\",\n \"JSON_REMOVE\",\n \"JSON_REPLACE\",\n \"JSON_SET\",\n \"JSON_TYPE\",\n \"JSON_TYPE\",\n \"JSON_VALID\",\n \"JSON_QUOTE\",\n \"JSON_GROUP_ARRAY\",\n \"JSON_GROUP_OBJECT\",\n \"JSON_EACH\",\n \"JSON_TREE\",\n // cast\n \"CAST\"\n];\n\n// src/languages/sqlite/sqlite.keywords.ts\nvar keywords12 = [\n // https://www.sqlite.org/lang_keywords.html\n \"ABORT\",\n \"ACTION\",\n \"ADD\",\n \"AFTER\",\n \"ALL\",\n \"ALTER\",\n \"AND\",\n \"ARE\",\n \"ALWAYS\",\n \"ANALYZE\",\n \"AS\",\n \"ASC\",\n \"ATTACH\",\n \"AUTOINCREMENT\",\n \"BEFORE\",\n \"BEGIN\",\n \"BETWEEN\",\n \"BY\",\n \"CASCADE\",\n \"CASE\",\n \"CAST\",\n \"CHECK\",\n \"COLLATE\",\n \"COLUMN\",\n \"COMMIT\",\n \"CONFLICT\",\n \"CONSTRAINT\",\n \"CREATE\",\n \"CROSS\",\n \"CURRENT\",\n \"CURRENT_DATE\",\n \"CURRENT_TIME\",\n \"CURRENT_TIMESTAMP\",\n \"DATABASE\",\n \"DEFAULT\",\n \"DEFERRABLE\",\n \"DEFERRED\",\n \"DELETE\",\n \"DESC\",\n \"DETACH\",\n \"DISTINCT\",\n \"DO\",\n \"DROP\",\n \"EACH\",\n \"ELSE\",\n \"END\",\n \"ESCAPE\",\n \"EXCEPT\",\n \"EXCLUDE\",\n \"EXCLUSIVE\",\n \"EXISTS\",\n \"EXPLAIN\",\n \"FAIL\",\n \"FILTER\",\n \"FIRST\",\n \"FOLLOWING\",\n \"FOR\",\n \"FOREIGN\",\n \"FROM\",\n \"FULL\",\n \"GENERATED\",\n \"GLOB\",\n \"GROUP\",\n \"GROUPS\",\n \"HAVING\",\n \"IF\",\n \"IGNORE\",\n \"IMMEDIATE\",\n \"IN\",\n \"INDEX\",\n \"INDEXED\",\n \"INITIALLY\",\n \"INNER\",\n \"INSERT\",\n \"INSTEAD\",\n \"INTERSECT\",\n \"INTO\",\n \"IS\",\n \"ISNULL\",\n \"JOIN\",\n \"KEY\",\n \"LAST\",\n \"LEFT\",\n \"LIKE\",\n \"LIMIT\",\n \"MATCH\",\n \"MATERIALIZED\",\n \"NATURAL\",\n \"NO\",\n \"NOT\",\n \"NOTHING\",\n \"NOTNULL\",\n \"NULL\",\n \"NULLS\",\n \"OF\",\n \"OFFSET\",\n \"ON\",\n \"ONLY\",\n \"OPEN\",\n \"OR\",\n \"ORDER\",\n \"OTHERS\",\n \"OUTER\",\n \"OVER\",\n \"PARTITION\",\n \"PLAN\",\n \"PRAGMA\",\n \"PRECEDING\",\n \"PRIMARY\",\n \"QUERY\",\n \"RAISE\",\n \"RANGE\",\n \"RECURSIVE\",\n \"REFERENCES\",\n \"REGEXP\",\n \"REINDEX\",\n \"RELEASE\",\n \"RENAME\",\n \"REPLACE\",\n \"RESTRICT\",\n \"RETURNING\",\n \"RIGHT\",\n \"ROLLBACK\",\n \"ROW\",\n \"ROWS\",\n \"SAVEPOINT\",\n \"SELECT\",\n \"SET\",\n \"TABLE\",\n \"TEMP\",\n \"TEMPORARY\",\n \"THEN\",\n \"TIES\",\n \"TO\",\n \"TRANSACTION\",\n \"TRIGGER\",\n \"UNBOUNDED\",\n \"UNION\",\n \"UNIQUE\",\n \"UPDATE\",\n \"USING\",\n \"VACUUM\",\n \"VALUES\",\n \"VIEW\",\n \"VIRTUAL\",\n \"WHEN\",\n \"WHERE\",\n \"WINDOW\",\n \"WITH\",\n \"WITHOUT\"\n];\nvar dataTypes12 = [\n // SQLite allows any word as a data type, e.g. CREATE TABLE foo (col1 madeupname(123));\n // Here we just list some common ones as SQL Formatter\n // is only able to detect a predefined list of data types.\n // https://www.sqlite.org/stricttables.html\n // https://www.sqlite.org/datatype3.html\n \"ANY\",\n \"ARRAY\",\n \"BLOB\",\n \"CHARACTER\",\n \"DECIMAL\",\n \"INT\",\n \"INTEGER\",\n \"NATIVE CHARACTER\",\n \"NCHAR\",\n \"NUMERIC\",\n \"NVARCHAR\",\n \"REAL\",\n \"TEXT\",\n \"VARCHAR\",\n \"VARYING CHARACTER\"\n];\n\n// src/languages/sqlite/sqlite.formatter.ts\nvar reservedSelect12 = expandPhrases([\"SELECT [ALL | DISTINCT]\"]);\nvar reservedClauses12 = expandPhrases([\n // queries\n \"WITH [RECURSIVE]\",\n \"FROM\",\n \"WHERE\",\n \"GROUP BY\",\n \"HAVING\",\n \"WINDOW\",\n \"PARTITION BY\",\n \"ORDER BY\",\n \"LIMIT\",\n \"OFFSET\",\n // Data manipulation\n // - insert:\n \"INSERT [OR ABORT | OR FAIL | OR IGNORE | OR REPLACE | OR ROLLBACK] INTO\",\n \"REPLACE INTO\",\n \"VALUES\",\n // - update:\n \"SET\"\n]);\nvar onelineClauses12 = expandPhrases([\n // - create:\n \"CREATE [TEMPORARY | TEMP] TABLE [IF NOT EXISTS]\",\n \"CREATE [TEMPORARY | TEMP] VIEW [IF NOT EXISTS]\",\n // - update:\n \"UPDATE [OR ABORT | OR FAIL | OR IGNORE | OR REPLACE | OR ROLLBACK]\",\n // - insert:\n \"ON CONFLICT\",\n // - delete:\n \"DELETE FROM\",\n // - drop table:\n \"DROP TABLE [IF EXISTS]\",\n // - alter table:\n \"ALTER TABLE\",\n \"ADD [COLUMN]\",\n \"DROP [COLUMN]\",\n \"RENAME [COLUMN]\",\n \"RENAME TO\",\n // - set schema\n \"SET SCHEMA\"\n]);\nvar reservedSetOperations12 = expandPhrases([\"UNION [ALL]\", \"EXCEPT\", \"INTERSECT\"]);\nvar reservedJoins12 = expandPhrases([\n \"JOIN\",\n \"{LEFT | RIGHT | FULL} [OUTER] JOIN\",\n \"{INNER | CROSS} JOIN\",\n \"NATURAL [INNER] JOIN\",\n \"NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN\"\n]);\nvar reservedPhrases12 = expandPhrases([\n \"ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]\",\n \"{ROWS | RANGE | GROUPS} BETWEEN\"\n]);\nvar sqlite = {\n name: \"sqlite\",\n tokenizerOptions: {\n reservedSelect: reservedSelect12,\n reservedClauses: [...reservedClauses12, ...onelineClauses12],\n reservedSetOperations: reservedSetOperations12,\n reservedJoins: reservedJoins12,\n reservedPhrases: reservedPhrases12,\n reservedKeywords: keywords12,\n reservedDataTypes: dataTypes12,\n reservedFunctionNames: functions12,\n stringTypes: [\n \"''-qq\",\n { quote: \"''-raw\", prefixes: [\"X\"], requirePrefix: true }\n // Depending on context SQLite also supports double-quotes for strings,\n // and single-quotes for identifiers.\n ],\n identTypes: [`\"\"-qq`, \"``\", \"[]\"],\n // https://www.sqlite.org/lang_expr.html#parameters\n paramTypes: { positional: true, numbered: [\"?\"], named: [\":\", \"@\", \"$\"] },\n operators: [\"%\", \"~\", \"&\", \"|\", \"<<\", \">>\", \"==\", \"->\", \"->>\", \"||\"]\n },\n formatOptions: {\n onelineClauses: onelineClauses12\n }\n};\n\n// src/languages/sql/sql.functions.ts\nvar functions13 = [\n // https://jakewheat.github.io/sql-overview/sql-2008-foundation-grammar.html#_6_9_set_function_specification\n \"GROUPING\",\n // https://jakewheat.github.io/sql-overview/sql-2008-foundation-grammar.html#_6_10_window_function\n \"RANK\",\n \"DENSE_RANK\",\n \"PERCENT_RANK\",\n \"CUME_DIST\",\n \"ROW_NUMBER\",\n // https://jakewheat.github.io/sql-overview/sql-2008-foundation-grammar.html#_6_27_numeric_value_function\n \"POSITION\",\n \"OCCURRENCES_REGEX\",\n \"POSITION_REGEX\",\n \"EXTRACT\",\n \"CHAR_LENGTH\",\n \"CHARACTER_LENGTH\",\n \"OCTET_LENGTH\",\n \"CARDINALITY\",\n \"ABS\",\n \"MOD\",\n \"LN\",\n \"EXP\",\n \"POWER\",\n \"SQRT\",\n \"FLOOR\",\n \"CEIL\",\n \"CEILING\",\n \"WIDTH_BUCKET\",\n // https://jakewheat.github.io/sql-overview/sql-2008-foundation-grammar.html#_6_29_string_value_function\n \"SUBSTRING\",\n \"SUBSTRING_REGEX\",\n \"UPPER\",\n \"LOWER\",\n \"CONVERT\",\n \"TRANSLATE\",\n \"TRANSLATE_REGEX\",\n \"TRIM\",\n \"OVERLAY\",\n \"NORMALIZE\",\n \"SPECIFICTYPE\",\n // https://jakewheat.github.io/sql-overview/sql-2008-foundation-grammar.html#_6_31_datetime_value_function\n \"CURRENT_DATE\",\n \"CURRENT_TIME\",\n \"LOCALTIME\",\n \"CURRENT_TIMESTAMP\",\n \"LOCALTIMESTAMP\",\n // https://jakewheat.github.io/sql-overview/sql-2008-foundation-grammar.html#_6_38_multiset_value_function\n // SET serves multiple roles: a SET() function and a SET keyword e.g. in UPDATE table SET ...\n // multiset\n // 'SET', (disabled for now)\n // https://jakewheat.github.io/sql-overview/sql-2008-foundation-grammar.html#_10_9_aggregate_function\n \"COUNT\",\n \"AVG\",\n \"MAX\",\n \"MIN\",\n \"SUM\",\n // 'EVERY',\n // 'ANY',\n // 'SOME',\n \"STDDEV_POP\",\n \"STDDEV_SAMP\",\n \"VAR_SAMP\",\n \"VAR_POP\",\n \"COLLECT\",\n \"FUSION\",\n \"INTERSECTION\",\n \"COVAR_POP\",\n \"COVAR_SAMP\",\n \"CORR\",\n \"REGR_SLOPE\",\n \"REGR_INTERCEPT\",\n \"REGR_COUNT\",\n \"REGR_R2\",\n \"REGR_AVGX\",\n \"REGR_AVGY\",\n \"REGR_SXX\",\n \"REGR_SYY\",\n \"REGR_SXY\",\n \"PERCENTILE_CONT\",\n \"PERCENTILE_DISC\",\n // CAST is a pretty complex case, involving multiple forms:\n // - CAST(col AS int)\n // - CAST(...) WITH ...\n // - CAST FROM int\n // - CREATE CAST(mycol AS int) WITH ...\n \"CAST\",\n // Shorthand functions to use in place of CASE expression\n \"COALESCE\",\n \"NULLIF\",\n // Non-standard functions that have widespread support\n \"ROUND\",\n \"SIN\",\n \"COS\",\n \"TAN\",\n \"ASIN\",\n \"ACOS\",\n \"ATAN\"\n];\n\n// src/languages/sql/sql.keywords.ts\nvar keywords13 = [\n // https://jakewheat.github.io/sql-overview/sql-2008-foundation-grammar.html#reserved-word\n \"ALL\",\n \"ALLOCATE\",\n \"ALTER\",\n \"ANY\",\n // <- moved over from functions\n \"ARE\",\n \"AS\",\n \"ASENSITIVE\",\n \"ASYMMETRIC\",\n \"AT\",\n \"ATOMIC\",\n \"AUTHORIZATION\",\n \"BEGIN\",\n \"BETWEEN\",\n \"BOTH\",\n \"BY\",\n \"CALL\",\n \"CALLED\",\n \"CASCADED\",\n \"CAST\",\n \"CHECK\",\n \"CLOSE\",\n \"COALESCE\",\n \"COLLATE\",\n \"COLUMN\",\n \"COMMIT\",\n \"CONDITION\",\n \"CONNECT\",\n \"CONSTRAINT\",\n \"CORRESPONDING\",\n \"CREATE\",\n \"CROSS\",\n \"CUBE\",\n \"CURRENT\",\n \"CURRENT_CATALOG\",\n \"CURRENT_DEFAULT_TRANSFORM_GROUP\",\n \"CURRENT_PATH\",\n \"CURRENT_ROLE\",\n \"CURRENT_SCHEMA\",\n \"CURRENT_TRANSFORM_GROUP_FOR_TYPE\",\n \"CURRENT_USER\",\n \"CURSOR\",\n \"CYCLE\",\n \"DEALLOCATE\",\n \"DAY\",\n \"DECLARE\",\n \"DEFAULT\",\n \"DELETE\",\n \"DEREF\",\n \"DESCRIBE\",\n \"DETERMINISTIC\",\n \"DISCONNECT\",\n \"DISTINCT\",\n \"DROP\",\n \"DYNAMIC\",\n \"EACH\",\n \"ELEMENT\",\n \"END-EXEC\",\n \"ESCAPE\",\n \"EVERY\",\n // <- moved over from functions\n \"EXCEPT\",\n \"EXEC\",\n \"EXECUTE\",\n \"EXISTS\",\n \"EXTERNAL\",\n \"FALSE\",\n \"FETCH\",\n \"FILTER\",\n \"FOR\",\n \"FOREIGN\",\n \"FREE\",\n \"FROM\",\n \"FULL\",\n \"FUNCTION\",\n \"GET\",\n \"GLOBAL\",\n \"GRANT\",\n \"GROUP\",\n \"HAVING\",\n \"HOLD\",\n \"HOUR\",\n \"IDENTITY\",\n \"IN\",\n \"INDICATOR\",\n \"INNER\",\n \"INOUT\",\n \"INSENSITIVE\",\n \"INSERT\",\n \"INTERSECT\",\n \"INTO\",\n \"IS\",\n \"LANGUAGE\",\n \"LARGE\",\n \"LATERAL\",\n \"LEADING\",\n \"LEFT\",\n \"LIKE\",\n \"LIKE_REGEX\",\n \"LOCAL\",\n \"MATCH\",\n \"MEMBER\",\n \"MERGE\",\n \"METHOD\",\n \"MINUTE\",\n \"MODIFIES\",\n \"MODULE\",\n \"MONTH\",\n \"NATURAL\",\n \"NEW\",\n \"NO\",\n \"NONE\",\n \"NOT\",\n \"NULL\",\n \"NULLIF\",\n \"OF\",\n \"OLD\",\n \"ON\",\n \"ONLY\",\n \"OPEN\",\n \"ORDER\",\n \"OUT\",\n \"OUTER\",\n \"OVER\",\n \"OVERLAPS\",\n \"PARAMETER\",\n \"PARTITION\",\n \"PRECISION\",\n \"PREPARE\",\n \"PRIMARY\",\n \"PROCEDURE\",\n \"RANGE\",\n \"READS\",\n \"REAL\",\n \"RECURSIVE\",\n \"REF\",\n \"REFERENCES\",\n \"REFERENCING\",\n \"RELEASE\",\n \"RESULT\",\n \"RETURN\",\n \"RETURNS\",\n \"REVOKE\",\n \"RIGHT\",\n \"ROLLBACK\",\n \"ROLLUP\",\n \"ROW\",\n \"ROWS\",\n \"SAVEPOINT\",\n \"SCOPE\",\n \"SCROLL\",\n \"SEARCH\",\n \"SECOND\",\n \"SELECT\",\n \"SENSITIVE\",\n \"SESSION_USER\",\n \"SET\",\n \"SIMILAR\",\n \"SOME\",\n // <- moved over from functions\n \"SPECIFIC\",\n \"SQL\",\n \"SQLEXCEPTION\",\n \"SQLSTATE\",\n \"SQLWARNING\",\n \"START\",\n \"STATIC\",\n \"SUBMULTISET\",\n \"SYMMETRIC\",\n \"SYSTEM\",\n \"SYSTEM_USER\",\n \"TABLE\",\n \"TABLESAMPLE\",\n \"THEN\",\n \"TIMEZONE_HOUR\",\n \"TIMEZONE_MINUTE\",\n \"TO\",\n \"TRAILING\",\n \"TRANSLATION\",\n \"TREAT\",\n \"TRIGGER\",\n \"TRUE\",\n \"UESCAPE\",\n \"UNION\",\n \"UNIQUE\",\n \"UNKNOWN\",\n \"UNNEST\",\n \"UPDATE\",\n \"USER\",\n \"USING\",\n \"VALUE\",\n \"VALUES\",\n \"WHENEVER\",\n \"WINDOW\",\n \"WITHIN\",\n \"WITHOUT\",\n \"YEAR\"\n];\nvar dataTypes13 = [\n // https://jakewheat.github.io/sql-overview/sql-2008-foundation-grammar.html#_6_1_data_type\n \"ARRAY\",\n \"BIGINT\",\n \"BINARY LARGE OBJECT\",\n \"BINARY VARYING\",\n \"BINARY\",\n \"BLOB\",\n \"BOOLEAN\",\n \"CHAR LARGE OBJECT\",\n \"CHAR VARYING\",\n \"CHAR\",\n \"CHARACTER LARGE OBJECT\",\n \"CHARACTER VARYING\",\n \"CHARACTER\",\n \"CLOB\",\n \"DATE\",\n \"DEC\",\n \"DECIMAL\",\n \"DOUBLE\",\n \"FLOAT\",\n \"INT\",\n \"INTEGER\",\n \"INTERVAL\",\n \"MULTISET\",\n \"NATIONAL CHAR VARYING\",\n \"NATIONAL CHAR\",\n \"NATIONAL CHARACTER LARGE OBJECT\",\n \"NATIONAL CHARACTER VARYING\",\n \"NATIONAL CHARACTER\",\n \"NCHAR LARGE OBJECT\",\n \"NCHAR VARYING\",\n \"NCHAR\",\n \"NCLOB\",\n \"NUMERIC\",\n \"SMALLINT\",\n \"TIME\",\n \"TIMESTAMP\",\n \"VARBINARY\",\n \"VARCHAR\"\n];\n\n// src/languages/sql/sql.formatter.ts\nvar reservedSelect13 = expandPhrases([\"SELECT [ALL | DISTINCT]\"]);\nvar reservedClauses13 = expandPhrases([\n // queries\n \"WITH [RECURSIVE]\",\n \"FROM\",\n \"WHERE\",\n \"GROUP BY [ALL | DISTINCT]\",\n \"HAVING\",\n \"WINDOW\",\n \"PARTITION BY\",\n \"ORDER BY\",\n \"LIMIT\",\n \"OFFSET\",\n \"FETCH {FIRST | NEXT}\",\n // Data manipulation\n // - insert:\n \"INSERT INTO\",\n \"VALUES\",\n // - update:\n \"SET\"\n]);\nvar onelineClauses13 = expandPhrases([\n // - create:\n \"CREATE [GLOBAL TEMPORARY | LOCAL TEMPORARY] TABLE\",\n \"CREATE [RECURSIVE] VIEW\",\n // - update:\n \"UPDATE\",\n \"WHERE CURRENT OF\",\n // - delete:\n \"DELETE FROM\",\n // - drop table:\n \"DROP TABLE\",\n // - alter table:\n \"ALTER TABLE\",\n \"ADD COLUMN\",\n \"DROP [COLUMN]\",\n \"RENAME COLUMN\",\n \"RENAME TO\",\n \"ALTER [COLUMN]\",\n \"{SET | DROP} DEFAULT\",\n // for alter column\n \"ADD SCOPE\",\n // for alter column\n \"DROP SCOPE {CASCADE | RESTRICT}\",\n // for alter column\n \"RESTART WITH\",\n // for alter column\n // - truncate:\n \"TRUNCATE TABLE\",\n // other\n \"SET SCHEMA\"\n]);\nvar reservedSetOperations13 = expandPhrases([\n \"UNION [ALL | DISTINCT]\",\n \"EXCEPT [ALL | DISTINCT]\",\n \"INTERSECT [ALL | DISTINCT]\"\n]);\nvar reservedJoins13 = expandPhrases([\n \"JOIN\",\n \"{LEFT | RIGHT | FULL} [OUTER] JOIN\",\n \"{INNER | CROSS} JOIN\",\n \"NATURAL [INNER] JOIN\",\n \"NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN\"\n]);\nvar reservedPhrases13 = expandPhrases([\n \"ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]\",\n \"{ROWS | RANGE} BETWEEN\"\n]);\nvar sql = {\n name: \"sql\",\n tokenizerOptions: {\n reservedSelect: reservedSelect13,\n reservedClauses: [...reservedClauses13, ...onelineClauses13],\n reservedSetOperations: reservedSetOperations13,\n reservedJoins: reservedJoins13,\n reservedPhrases: reservedPhrases13,\n reservedKeywords: keywords13,\n reservedDataTypes: dataTypes13,\n reservedFunctionNames: functions13,\n stringTypes: [\n { quote: \"''-qq-bs\", prefixes: [\"N\", \"U&\"] },\n { quote: \"''-raw\", prefixes: [\"X\"], requirePrefix: true }\n ],\n identTypes: [`\"\"-qq`, \"``\"],\n paramTypes: { positional: true },\n operators: [\"||\"]\n },\n formatOptions: {\n onelineClauses: onelineClauses13\n }\n};\n\n// src/languages/trino/trino.functions.ts\nvar functions14 = [\n // https://github.com/trinodb/trino/tree/432d2897bdef99388c1a47188743a061c4ac1f34/docs/src/main/sphinx/functions\n // rg '^\\.\\. function::' ./docs/src/main/sphinx/functions | cut -d' ' -f 3 | cut -d '(' -f 1 | sort | uniq\n // rg '\\* ' ./docs/src/main/sphinx/functions/list-by-topic.rst | grep '\\* :func:' | cut -d'`' -f 2\n // rg '\\* ' ./docs/src/main/sphinx/functions/list-by-topic.rst | grep -v '\\* :func:'\n // grep -e '^- ' ./docs/src/main/sphinx/functions/list.rst | grep -e '^- :func:' | cut -d'`' -f2\n // grep -e '^- ' ./docs/src/main/sphinx/functions/list.rst | grep -ve '^- :func:'\n \"ABS\",\n \"ACOS\",\n \"ALL_MATCH\",\n \"ANY_MATCH\",\n \"APPROX_DISTINCT\",\n \"APPROX_MOST_FREQUENT\",\n \"APPROX_PERCENTILE\",\n \"APPROX_SET\",\n \"ARBITRARY\",\n \"ARRAYS_OVERLAP\",\n \"ARRAY_AGG\",\n \"ARRAY_DISTINCT\",\n \"ARRAY_EXCEPT\",\n \"ARRAY_INTERSECT\",\n \"ARRAY_JOIN\",\n \"ARRAY_MAX\",\n \"ARRAY_MIN\",\n \"ARRAY_POSITION\",\n \"ARRAY_REMOVE\",\n \"ARRAY_SORT\",\n \"ARRAY_UNION\",\n \"ASIN\",\n \"ATAN\",\n \"ATAN2\",\n \"AT_TIMEZONE\",\n \"AVG\",\n \"BAR\",\n \"BETA_CDF\",\n \"BING_TILE\",\n \"BING_TILES_AROUND\",\n \"BING_TILE_AT\",\n \"BING_TILE_COORDINATES\",\n \"BING_TILE_POLYGON\",\n \"BING_TILE_QUADKEY\",\n \"BING_TILE_ZOOM_LEVEL\",\n \"BITWISE_AND\",\n \"BITWISE_AND_AGG\",\n \"BITWISE_LEFT_SHIFT\",\n \"BITWISE_NOT\",\n \"BITWISE_OR\",\n \"BITWISE_OR_AGG\",\n \"BITWISE_RIGHT_SHIFT\",\n \"BITWISE_RIGHT_SHIFT_ARITHMETIC\",\n \"BITWISE_XOR\",\n \"BIT_COUNT\",\n \"BOOL_AND\",\n \"BOOL_OR\",\n \"CARDINALITY\",\n \"CAST\",\n \"CBRT\",\n \"CEIL\",\n \"CEILING\",\n \"CHAR2HEXINT\",\n \"CHECKSUM\",\n \"CHR\",\n \"CLASSIFY\",\n \"COALESCE\",\n \"CODEPOINT\",\n \"COLOR\",\n \"COMBINATIONS\",\n \"CONCAT\",\n \"CONCAT_WS\",\n \"CONTAINS\",\n \"CONTAINS_SEQUENCE\",\n \"CONVEX_HULL_AGG\",\n \"CORR\",\n \"COS\",\n \"COSH\",\n \"COSINE_SIMILARITY\",\n \"COUNT\",\n \"COUNT_IF\",\n \"COVAR_POP\",\n \"COVAR_SAMP\",\n \"CRC32\",\n \"CUME_DIST\",\n \"CURRENT_CATALOG\",\n \"CURRENT_DATE\",\n \"CURRENT_GROUPS\",\n \"CURRENT_SCHEMA\",\n \"CURRENT_TIME\",\n \"CURRENT_TIMESTAMP\",\n \"CURRENT_TIMEZONE\",\n \"CURRENT_USER\",\n \"DATE\",\n \"DATE_ADD\",\n \"DATE_DIFF\",\n \"DATE_FORMAT\",\n \"DATE_PARSE\",\n \"DATE_TRUNC\",\n \"DAY\",\n \"DAY_OF_MONTH\",\n \"DAY_OF_WEEK\",\n \"DAY_OF_YEAR\",\n \"DEGREES\",\n \"DENSE_RANK\",\n \"DOW\",\n \"DOY\",\n \"E\",\n \"ELEMENT_AT\",\n \"EMPTY_APPROX_SET\",\n \"EVALUATE_CLASSIFIER_PREDICTIONS\",\n \"EVERY\",\n \"EXP\",\n \"EXTRACT\",\n \"FEATURES\",\n \"FILTER\",\n \"FIRST_VALUE\",\n \"FLATTEN\",\n \"FLOOR\",\n \"FORMAT\",\n \"FORMAT_DATETIME\",\n \"FORMAT_NUMBER\",\n \"FROM_BASE\",\n \"FROM_BASE32\",\n \"FROM_BASE64\",\n \"FROM_BASE64URL\",\n \"FROM_BIG_ENDIAN_32\",\n \"FROM_BIG_ENDIAN_64\",\n \"FROM_ENCODED_POLYLINE\",\n \"FROM_GEOJSON_GEOMETRY\",\n \"FROM_HEX\",\n \"FROM_IEEE754_32\",\n \"FROM_IEEE754_64\",\n \"FROM_ISO8601_DATE\",\n \"FROM_ISO8601_TIMESTAMP\",\n \"FROM_ISO8601_TIMESTAMP_NANOS\",\n \"FROM_UNIXTIME\",\n \"FROM_UNIXTIME_NANOS\",\n \"FROM_UTF8\",\n \"GEOMETRIC_MEAN\",\n \"GEOMETRY_FROM_HADOOP_SHAPE\",\n \"GEOMETRY_INVALID_REASON\",\n \"GEOMETRY_NEAREST_POINTS\",\n \"GEOMETRY_TO_BING_TILES\",\n \"GEOMETRY_UNION\",\n \"GEOMETRY_UNION_AGG\",\n \"GREATEST\",\n \"GREAT_CIRCLE_DISTANCE\",\n \"HAMMING_DISTANCE\",\n \"HASH_COUNTS\",\n \"HISTOGRAM\",\n \"HMAC_MD5\",\n \"HMAC_SHA1\",\n \"HMAC_SHA256\",\n \"HMAC_SHA512\",\n \"HOUR\",\n \"HUMAN_READABLE_SECONDS\",\n \"IF\",\n \"INDEX\",\n \"INFINITY\",\n \"INTERSECTION_CARDINALITY\",\n \"INVERSE_BETA_CDF\",\n \"INVERSE_NORMAL_CDF\",\n \"IS_FINITE\",\n \"IS_INFINITE\",\n \"IS_JSON_SCALAR\",\n \"IS_NAN\",\n \"JACCARD_INDEX\",\n \"JSON_ARRAY_CONTAINS\",\n \"JSON_ARRAY_GET\",\n \"JSON_ARRAY_LENGTH\",\n \"JSON_EXISTS\",\n \"JSON_EXTRACT\",\n \"JSON_EXTRACT_SCALAR\",\n \"JSON_FORMAT\",\n \"JSON_PARSE\",\n \"JSON_QUERY\",\n \"JSON_SIZE\",\n \"JSON_VALUE\",\n \"KURTOSIS\",\n \"LAG\",\n \"LAST_DAY_OF_MONTH\",\n \"LAST_VALUE\",\n \"LEAD\",\n \"LEARN_CLASSIFIER\",\n \"LEARN_LIBSVM_CLASSIFIER\",\n \"LEARN_LIBSVM_REGRESSOR\",\n \"LEARN_REGRESSOR\",\n \"LEAST\",\n \"LENGTH\",\n \"LEVENSHTEIN_DISTANCE\",\n \"LINE_INTERPOLATE_POINT\",\n \"LINE_INTERPOLATE_POINTS\",\n \"LINE_LOCATE_POINT\",\n \"LISTAGG\",\n \"LN\",\n \"LOCALTIME\",\n \"LOCALTIMESTAMP\",\n \"LOG\",\n \"LOG10\",\n \"LOG2\",\n \"LOWER\",\n \"LPAD\",\n \"LTRIM\",\n \"LUHN_CHECK\",\n \"MAKE_SET_DIGEST\",\n \"MAP\",\n \"MAP_AGG\",\n \"MAP_CONCAT\",\n \"MAP_ENTRIES\",\n \"MAP_FILTER\",\n \"MAP_FROM_ENTRIES\",\n \"MAP_KEYS\",\n \"MAP_UNION\",\n \"MAP_VALUES\",\n \"MAP_ZIP_WITH\",\n \"MAX\",\n \"MAX_BY\",\n \"MD5\",\n \"MERGE\",\n \"MERGE_SET_DIGEST\",\n \"MILLISECOND\",\n \"MIN\",\n \"MINUTE\",\n \"MIN_BY\",\n \"MOD\",\n \"MONTH\",\n \"MULTIMAP_AGG\",\n \"MULTIMAP_FROM_ENTRIES\",\n \"MURMUR3\",\n \"NAN\",\n \"NGRAMS\",\n \"NONE_MATCH\",\n \"NORMALIZE\",\n \"NORMAL_CDF\",\n \"NOW\",\n \"NTH_VALUE\",\n \"NTILE\",\n \"NULLIF\",\n \"NUMERIC_HISTOGRAM\",\n \"OBJECTID\",\n \"OBJECTID_TIMESTAMP\",\n \"PARSE_DATA_SIZE\",\n \"PARSE_DATETIME\",\n \"PARSE_DURATION\",\n \"PERCENT_RANK\",\n \"PI\",\n \"POSITION\",\n \"POW\",\n \"POWER\",\n \"QDIGEST_AGG\",\n \"QUARTER\",\n \"RADIANS\",\n \"RAND\",\n \"RANDOM\",\n \"RANK\",\n \"REDUCE\",\n \"REDUCE_AGG\",\n \"REGEXP_COUNT\",\n \"REGEXP_EXTRACT\",\n \"REGEXP_EXTRACT_ALL\",\n \"REGEXP_LIKE\",\n \"REGEXP_POSITION\",\n \"REGEXP_REPLACE\",\n \"REGEXP_SPLIT\",\n \"REGRESS\",\n \"REGR_INTERCEPT\",\n \"REGR_SLOPE\",\n \"RENDER\",\n \"REPEAT\",\n \"REPLACE\",\n \"REVERSE\",\n \"RGB\",\n \"ROUND\",\n \"ROW_NUMBER\",\n \"RPAD\",\n \"RTRIM\",\n \"SECOND\",\n \"SEQUENCE\",\n \"SHA1\",\n \"SHA256\",\n \"SHA512\",\n \"SHUFFLE\",\n \"SIGN\",\n \"SIMPLIFY_GEOMETRY\",\n \"SIN\",\n \"SKEWNESS\",\n \"SLICE\",\n \"SOUNDEX\",\n \"SPATIAL_PARTITIONING\",\n \"SPATIAL_PARTITIONS\",\n \"SPLIT\",\n \"SPLIT_PART\",\n \"SPLIT_TO_MAP\",\n \"SPLIT_TO_MULTIMAP\",\n \"SPOOKY_HASH_V2_32\",\n \"SPOOKY_HASH_V2_64\",\n \"SQRT\",\n \"STARTS_WITH\",\n \"STDDEV\",\n \"STDDEV_POP\",\n \"STDDEV_SAMP\",\n \"STRPOS\",\n \"ST_AREA\",\n \"ST_ASBINARY\",\n \"ST_ASTEXT\",\n \"ST_BOUNDARY\",\n \"ST_BUFFER\",\n \"ST_CENTROID\",\n \"ST_CONTAINS\",\n \"ST_CONVEXHULL\",\n \"ST_COORDDIM\",\n \"ST_CROSSES\",\n \"ST_DIFFERENCE\",\n \"ST_DIMENSION\",\n \"ST_DISJOINT\",\n \"ST_DISTANCE\",\n \"ST_ENDPOINT\",\n \"ST_ENVELOPE\",\n \"ST_ENVELOPEASPTS\",\n \"ST_EQUALS\",\n \"ST_EXTERIORRING\",\n \"ST_GEOMETRIES\",\n \"ST_GEOMETRYFROMTEXT\",\n \"ST_GEOMETRYN\",\n \"ST_GEOMETRYTYPE\",\n \"ST_GEOMFROMBINARY\",\n \"ST_INTERIORRINGN\",\n \"ST_INTERIORRINGS\",\n \"ST_INTERSECTION\",\n \"ST_INTERSECTS\",\n \"ST_ISCLOSED\",\n \"ST_ISEMPTY\",\n \"ST_ISRING\",\n \"ST_ISSIMPLE\",\n \"ST_ISVALID\",\n \"ST_LENGTH\",\n \"ST_LINEFROMTEXT\",\n \"ST_LINESTRING\",\n \"ST_MULTIPOINT\",\n \"ST_NUMGEOMETRIES\",\n \"ST_NUMINTERIORRING\",\n \"ST_NUMPOINTS\",\n \"ST_OVERLAPS\",\n \"ST_POINT\",\n \"ST_POINTN\",\n \"ST_POINTS\",\n \"ST_POLYGON\",\n \"ST_RELATE\",\n \"ST_STARTPOINT\",\n \"ST_SYMDIFFERENCE\",\n \"ST_TOUCHES\",\n \"ST_UNION\",\n \"ST_WITHIN\",\n \"ST_X\",\n \"ST_XMAX\",\n \"ST_XMIN\",\n \"ST_Y\",\n \"ST_YMAX\",\n \"ST_YMIN\",\n \"SUBSTR\",\n \"SUBSTRING\",\n \"SUM\",\n \"TAN\",\n \"TANH\",\n \"TDIGEST_AGG\",\n \"TIMESTAMP_OBJECTID\",\n \"TIMEZONE_HOUR\",\n \"TIMEZONE_MINUTE\",\n \"TO_BASE\",\n \"TO_BASE32\",\n \"TO_BASE64\",\n \"TO_BASE64URL\",\n \"TO_BIG_ENDIAN_32\",\n \"TO_BIG_ENDIAN_64\",\n \"TO_CHAR\",\n \"TO_DATE\",\n \"TO_ENCODED_POLYLINE\",\n \"TO_GEOJSON_GEOMETRY\",\n \"TO_GEOMETRY\",\n \"TO_HEX\",\n \"TO_IEEE754_32\",\n \"TO_IEEE754_64\",\n \"TO_ISO8601\",\n \"TO_MILLISECONDS\",\n \"TO_SPHERICAL_GEOGRAPHY\",\n \"TO_TIMESTAMP\",\n \"TO_UNIXTIME\",\n \"TO_UTF8\",\n \"TRANSFORM\",\n \"TRANSFORM_KEYS\",\n \"TRANSFORM_VALUES\",\n \"TRANSLATE\",\n \"TRIM\",\n \"TRIM_ARRAY\",\n \"TRUNCATE\",\n \"TRY\",\n \"TRY_CAST\",\n \"TYPEOF\",\n \"UPPER\",\n \"URL_DECODE\",\n \"URL_ENCODE\",\n \"URL_EXTRACT_FRAGMENT\",\n \"URL_EXTRACT_HOST\",\n \"URL_EXTRACT_PARAMETER\",\n \"URL_EXTRACT_PATH\",\n \"URL_EXTRACT_PORT\",\n \"URL_EXTRACT_PROTOCOL\",\n \"URL_EXTRACT_QUERY\",\n \"UUID\",\n \"VALUES_AT_QUANTILES\",\n \"VALUE_AT_QUANTILE\",\n \"VARIANCE\",\n \"VAR_POP\",\n \"VAR_SAMP\",\n \"VERSION\",\n \"WEEK\",\n \"WEEK_OF_YEAR\",\n \"WIDTH_BUCKET\",\n \"WILSON_INTERVAL_LOWER\",\n \"WILSON_INTERVAL_UPPER\",\n \"WITH_TIMEZONE\",\n \"WORD_STEM\",\n \"XXHASH64\",\n \"YEAR\",\n \"YEAR_OF_WEEK\",\n \"YOW\",\n \"ZIP\",\n \"ZIP_WITH\",\n // https://trino.io/docs/current/sql/match-recognize.html#row-pattern-recognition-expressions\n \"CLASSIFIER\",\n \"FIRST\",\n \"LAST\",\n \"MATCH_NUMBER\",\n \"NEXT\",\n \"PERMUTE\",\n \"PREV\"\n];\n\n// src/languages/trino/trino.keywords.ts\nvar keywords14 = [\n // https://github.com/trinodb/trino/blob/432d2897bdef99388c1a47188743a061c4ac1f34/core/trino-parser/src/main/antlr4/io/trino/sql/parser/SqlBase.g4#L858-L1128\n \"ABSENT\",\n \"ADD\",\n \"ADMIN\",\n \"AFTER\",\n \"ALL\",\n \"ALTER\",\n \"ANALYZE\",\n \"AND\",\n \"ANY\",\n \"AS\",\n \"ASC\",\n \"AT\",\n \"AUTHORIZATION\",\n \"BERNOULLI\",\n \"BETWEEN\",\n \"BOTH\",\n \"BY\",\n \"CALL\",\n \"CASCADE\",\n \"CASE\",\n \"CATALOGS\",\n \"COLUMN\",\n \"COLUMNS\",\n \"COMMENT\",\n \"COMMIT\",\n \"COMMITTED\",\n \"CONDITIONAL\",\n \"CONSTRAINT\",\n \"COPARTITION\",\n \"CREATE\",\n \"CROSS\",\n \"CUBE\",\n \"CURRENT\",\n \"CURRENT_PATH\",\n \"CURRENT_ROLE\",\n \"DATA\",\n \"DEALLOCATE\",\n \"DEFAULT\",\n \"DEFINE\",\n \"DEFINER\",\n \"DELETE\",\n \"DENY\",\n \"DESC\",\n \"DESCRIBE\",\n \"DESCRIPTOR\",\n \"DISTINCT\",\n \"DISTRIBUTED\",\n \"DOUBLE\",\n \"DROP\",\n \"ELSE\",\n \"EMPTY\",\n \"ENCODING\",\n \"END\",\n \"ERROR\",\n \"ESCAPE\",\n \"EXCEPT\",\n \"EXCLUDING\",\n \"EXECUTE\",\n \"EXISTS\",\n \"EXPLAIN\",\n \"FALSE\",\n \"FETCH\",\n \"FINAL\",\n \"FIRST\",\n \"FOLLOWING\",\n \"FOR\",\n \"FROM\",\n \"FULL\",\n \"FUNCTIONS\",\n \"GRANT\",\n \"GRANTED\",\n \"GRANTS\",\n \"GRAPHVIZ\",\n \"GROUP\",\n \"GROUPING\",\n \"GROUPS\",\n \"HAVING\",\n \"IGNORE\",\n \"IN\",\n \"INCLUDING\",\n \"INITIAL\",\n \"INNER\",\n \"INPUT\",\n \"INSERT\",\n \"INTERSECT\",\n \"INTERVAL\",\n \"INTO\",\n \"INVOKER\",\n \"IO\",\n \"IS\",\n \"ISOLATION\",\n \"JOIN\",\n \"JSON\",\n \"JSON_ARRAY\",\n \"JSON_OBJECT\",\n \"KEEP\",\n \"KEY\",\n \"KEYS\",\n \"LAST\",\n \"LATERAL\",\n \"LEADING\",\n \"LEFT\",\n \"LEVEL\",\n \"LIKE\",\n \"LIMIT\",\n \"LOCAL\",\n \"LOGICAL\",\n \"MATCH\",\n \"MATCHED\",\n \"MATCHES\",\n \"MATCH_RECOGNIZE\",\n \"MATERIALIZED\",\n \"MEASURES\",\n \"NATURAL\",\n \"NEXT\",\n \"NFC\",\n \"NFD\",\n \"NFKC\",\n \"NFKD\",\n \"NO\",\n \"NONE\",\n \"NOT\",\n \"NULL\",\n \"NULLS\",\n \"OBJECT\",\n \"OF\",\n \"OFFSET\",\n \"OMIT\",\n \"ON\",\n \"ONE\",\n \"ONLY\",\n \"OPTION\",\n \"OR\",\n \"ORDER\",\n \"ORDINALITY\",\n \"OUTER\",\n \"OUTPUT\",\n \"OVER\",\n \"OVERFLOW\",\n \"PARTITION\",\n \"PARTITIONS\",\n \"PASSING\",\n \"PAST\",\n \"PATH\",\n \"PATTERN\",\n \"PER\",\n \"PERMUTE\",\n \"PRECEDING\",\n \"PRECISION\",\n \"PREPARE\",\n \"PRIVILEGES\",\n \"PROPERTIES\",\n \"PRUNE\",\n \"QUOTES\",\n \"RANGE\",\n \"READ\",\n \"RECURSIVE\",\n \"REFRESH\",\n \"RENAME\",\n \"REPEATABLE\",\n \"RESET\",\n \"RESPECT\",\n \"RESTRICT\",\n \"RETURNING\",\n \"REVOKE\",\n \"RIGHT\",\n \"ROLE\",\n \"ROLES\",\n \"ROLLBACK\",\n \"ROLLUP\",\n \"ROW\",\n \"ROWS\",\n \"RUNNING\",\n \"SCALAR\",\n \"SCHEMA\",\n \"SCHEMAS\",\n \"SECURITY\",\n \"SEEK\",\n \"SELECT\",\n \"SERIALIZABLE\",\n \"SESSION\",\n \"SET\",\n \"SETS\",\n \"SHOW\",\n \"SKIP\",\n \"SOME\",\n \"START\",\n \"STATS\",\n \"STRING\",\n \"SUBSET\",\n \"SYSTEM\",\n \"TABLE\",\n \"TABLES\",\n \"TABLESAMPLE\",\n \"TEXT\",\n \"THEN\",\n \"TIES\",\n \"TIME\",\n \"TIMESTAMP\",\n \"TO\",\n \"TRAILING\",\n \"TRANSACTION\",\n \"TRUE\",\n \"TYPE\",\n \"UESCAPE\",\n \"UNBOUNDED\",\n \"UNCOMMITTED\",\n \"UNCONDITIONAL\",\n \"UNION\",\n \"UNIQUE\",\n \"UNKNOWN\",\n \"UNMATCHED\",\n \"UNNEST\",\n \"UPDATE\",\n \"USE\",\n \"USER\",\n \"USING\",\n \"UTF16\",\n \"UTF32\",\n \"UTF8\",\n \"VALIDATE\",\n \"VALUE\",\n \"VALUES\",\n \"VERBOSE\",\n \"VIEW\",\n \"WHEN\",\n \"WHERE\",\n \"WINDOW\",\n \"WITH\",\n \"WITHIN\",\n \"WITHOUT\",\n \"WORK\",\n \"WRAPPER\",\n \"WRITE\",\n \"ZONE\"\n];\nvar dataTypes14 = [\n // https://github.com/trinodb/trino/blob/432d2897bdef99388c1a47188743a061c4ac1f34/core/trino-main/src/main/java/io/trino/metadata/TypeRegistry.java#L131-L168\n // or https://trino.io/docs/current/language/types.html\n \"BIGINT\",\n \"INT\",\n \"INTEGER\",\n \"SMALLINT\",\n \"TINYINT\",\n \"BOOLEAN\",\n \"DATE\",\n \"DECIMAL\",\n \"REAL\",\n \"DOUBLE\",\n \"HYPERLOGLOG\",\n \"QDIGEST\",\n \"TDIGEST\",\n \"P4HYPERLOGLOG\",\n \"INTERVAL\",\n \"TIMESTAMP\",\n \"TIME\",\n \"VARBINARY\",\n \"VARCHAR\",\n \"CHAR\",\n \"ROW\",\n \"ARRAY\",\n \"MAP\",\n \"JSON\",\n \"JSON2016\",\n \"IPADDRESS\",\n \"GEOMETRY\",\n \"UUID\",\n \"SETDIGEST\",\n \"JONIREGEXP\",\n \"RE2JREGEXP\",\n \"LIKEPATTERN\",\n \"COLOR\",\n \"CODEPOINTS\",\n \"FUNCTION\",\n \"JSONPATH\"\n];\n\n// src/languages/trino/trino.formatter.ts\nvar reservedSelect14 = expandPhrases([\"SELECT [ALL | DISTINCT]\"]);\nvar reservedClauses14 = expandPhrases([\n // queries\n \"WITH [RECURSIVE]\",\n \"FROM\",\n \"WHERE\",\n \"GROUP BY [ALL | DISTINCT]\",\n \"HAVING\",\n \"WINDOW\",\n \"PARTITION BY\",\n \"ORDER BY\",\n \"LIMIT\",\n \"OFFSET\",\n \"FETCH {FIRST | NEXT}\",\n // Data manipulation\n // - insert:\n \"INSERT INTO\",\n \"VALUES\",\n // - update:\n \"SET\",\n // MATCH_RECOGNIZE\n \"MATCH_RECOGNIZE\",\n \"MEASURES\",\n \"ONE ROW PER MATCH\",\n \"ALL ROWS PER MATCH\",\n \"AFTER MATCH\",\n \"PATTERN\",\n \"SUBSET\",\n \"DEFINE\"\n]);\nvar onelineClauses14 = expandPhrases([\n // - create:\n \"CREATE TABLE [IF NOT EXISTS]\",\n \"CREATE [OR REPLACE] [MATERIALIZED] VIEW\",\n // - update:\n \"UPDATE\",\n // - delete:\n \"DELETE FROM\",\n // - drop table:\n \"DROP TABLE [IF EXISTS]\",\n // - alter table:\n \"ALTER TABLE [IF EXISTS]\",\n \"ADD COLUMN [IF NOT EXISTS]\",\n \"DROP COLUMN [IF EXISTS]\",\n \"RENAME COLUMN [IF EXISTS]\",\n \"RENAME TO\",\n \"SET AUTHORIZATION [USER | ROLE]\",\n \"SET PROPERTIES\",\n \"EXECUTE\",\n // - truncate:\n \"TRUNCATE TABLE\",\n // other\n \"ALTER SCHEMA\",\n \"ALTER MATERIALIZED VIEW\",\n \"ALTER VIEW\",\n \"CREATE SCHEMA\",\n \"CREATE ROLE\",\n \"DROP SCHEMA\",\n \"DROP MATERIALIZED VIEW\",\n \"DROP VIEW\",\n \"DROP ROLE\",\n // Auxiliary\n \"EXPLAIN\",\n \"ANALYZE\",\n \"EXPLAIN ANALYZE\",\n \"EXPLAIN ANALYZE VERBOSE\",\n \"USE\",\n \"DESCRIBE INPUT\",\n \"DESCRIBE OUTPUT\",\n \"REFRESH MATERIALIZED VIEW\",\n \"RESET SESSION\",\n \"SET SESSION\",\n \"SET PATH\",\n \"SET TIME ZONE\",\n \"SHOW GRANTS\",\n \"SHOW CREATE TABLE\",\n \"SHOW CREATE SCHEMA\",\n \"SHOW CREATE VIEW\",\n \"SHOW CREATE MATERIALIZED VIEW\",\n \"SHOW TABLES\",\n \"SHOW SCHEMAS\",\n \"SHOW CATALOGS\",\n \"SHOW COLUMNS\",\n \"SHOW STATS FOR\",\n \"SHOW ROLES\",\n \"SHOW CURRENT ROLES\",\n \"SHOW ROLE GRANTS\",\n \"SHOW FUNCTIONS\",\n \"SHOW SESSION\"\n]);\nvar reservedSetOperations14 = expandPhrases([\n \"UNION [ALL | DISTINCT]\",\n \"EXCEPT [ALL | DISTINCT]\",\n \"INTERSECT [ALL | DISTINCT]\"\n]);\nvar reservedJoins14 = expandPhrases([\n \"JOIN\",\n \"{LEFT | RIGHT | FULL} [OUTER] JOIN\",\n \"{INNER | CROSS} JOIN\",\n \"NATURAL [INNER] JOIN\",\n \"NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN\"\n]);\nvar reservedPhrases14 = expandPhrases([\n \"{ROWS | RANGE | GROUPS} BETWEEN\",\n // comparison operator\n \"IS [NOT] DISTINCT FROM\"\n]);\nvar trino = {\n name: \"trino\",\n tokenizerOptions: {\n reservedSelect: reservedSelect14,\n reservedClauses: [...reservedClauses14, ...onelineClauses14],\n reservedSetOperations: reservedSetOperations14,\n reservedJoins: reservedJoins14,\n reservedPhrases: reservedPhrases14,\n reservedKeywords: keywords14,\n reservedDataTypes: dataTypes14,\n reservedFunctionNames: functions14,\n // Trino also supports {- ... -} parenthesis.\n // The formatting of these currently works out as a result of { and -\n // not getting a space added in-between.\n // https://trino.io/docs/current/sql/match-recognize.html#row-pattern-syntax\n extraParens: [\"[]\", \"{}\"],\n // https://trino.io/docs/current/language/types.html#string\n // https://trino.io/docs/current/language/types.html#varbinary\n stringTypes: [\n { quote: \"''-qq\", prefixes: [\"U&\"] },\n { quote: \"''-raw\", prefixes: [\"X\"], requirePrefix: true }\n ],\n // https://trino.io/docs/current/language/reserved.html\n identTypes: ['\"\"-qq'],\n paramTypes: { positional: true },\n operators: [\n \"%\",\n \"->\",\n \"=>\",\n \":\",\n \"||\",\n // Row pattern syntax\n \"|\",\n \"^\",\n \"$\"\n // '?', conflicts with positional placeholders\n ]\n },\n formatOptions: {\n onelineClauses: onelineClauses14\n }\n};\n\n// src/languages/transactsql/transactsql.functions.ts\nvar functions15 = [\n // https://docs.microsoft.com/en-us/sql/t-sql/functions/functions?view=sql-server-ver15\n // aggregate\n \"APPROX_COUNT_DISTINCT\",\n \"AVG\",\n \"CHECKSUM_AGG\",\n \"COUNT\",\n \"COUNT_BIG\",\n \"GROUPING\",\n \"GROUPING_ID\",\n \"MAX\",\n \"MIN\",\n \"STDEV\",\n \"STDEVP\",\n \"SUM\",\n \"VAR\",\n \"VARP\",\n // analytic\n \"CUME_DIST\",\n \"FIRST_VALUE\",\n \"LAG\",\n \"LAST_VALUE\",\n \"LEAD\",\n \"PERCENTILE_CONT\",\n \"PERCENTILE_DISC\",\n \"PERCENT_RANK\",\n \"Collation - COLLATIONPROPERTY\",\n \"Collation - TERTIARY_WEIGHTS\",\n // configuration\n \"@@DBTS\",\n \"@@LANGID\",\n \"@@LANGUAGE\",\n \"@@LOCK_TIMEOUT\",\n \"@@MAX_CONNECTIONS\",\n \"@@MAX_PRECISION\",\n \"@@NESTLEVEL\",\n \"@@OPTIONS\",\n \"@@REMSERVER\",\n \"@@SERVERNAME\",\n \"@@SERVICENAME\",\n \"@@SPID\",\n \"@@TEXTSIZE\",\n \"@@VERSION\",\n // conversion\n \"CAST\",\n \"CONVERT\",\n \"PARSE\",\n \"TRY_CAST\",\n \"TRY_CONVERT\",\n \"TRY_PARSE\",\n // cryptographic\n \"ASYMKEY_ID\",\n \"ASYMKEYPROPERTY\",\n \"CERTPROPERTY\",\n \"CERT_ID\",\n \"CRYPT_GEN_RANDOM\",\n \"DECRYPTBYASYMKEY\",\n \"DECRYPTBYCERT\",\n \"DECRYPTBYKEY\",\n \"DECRYPTBYKEYAUTOASYMKEY\",\n \"DECRYPTBYKEYAUTOCERT\",\n \"DECRYPTBYPASSPHRASE\",\n \"ENCRYPTBYASYMKEY\",\n \"ENCRYPTBYCERT\",\n \"ENCRYPTBYKEY\",\n \"ENCRYPTBYPASSPHRASE\",\n \"HASHBYTES\",\n \"IS_OBJECTSIGNED\",\n \"KEY_GUID\",\n \"KEY_ID\",\n \"KEY_NAME\",\n \"SIGNBYASYMKEY\",\n \"SIGNBYCERT\",\n \"SYMKEYPROPERTY\",\n \"VERIFYSIGNEDBYCERT\",\n \"VERIFYSIGNEDBYASYMKEY\",\n // cursor\n \"@@CURSOR_ROWS\",\n \"@@FETCH_STATUS\",\n \"CURSOR_STATUS\",\n // dataType\n \"DATALENGTH\",\n \"IDENT_CURRENT\",\n \"IDENT_INCR\",\n \"IDENT_SEED\",\n \"IDENTITY\",\n \"SQL_VARIANT_PROPERTY\",\n // datetime\n \"@@DATEFIRST\",\n \"CURRENT_TIMESTAMP\",\n \"CURRENT_TIMEZONE\",\n \"CURRENT_TIMEZONE_ID\",\n \"DATEADD\",\n \"DATEDIFF\",\n \"DATEDIFF_BIG\",\n \"DATEFROMPARTS\",\n \"DATENAME\",\n \"DATEPART\",\n \"DATETIME2FROMPARTS\",\n \"DATETIMEFROMPARTS\",\n \"DATETIMEOFFSETFROMPARTS\",\n \"DAY\",\n \"EOMONTH\",\n \"GETDATE\",\n \"GETUTCDATE\",\n \"ISDATE\",\n \"MONTH\",\n \"SMALLDATETIMEFROMPARTS\",\n \"SWITCHOFFSET\",\n \"SYSDATETIME\",\n \"SYSDATETIMEOFFSET\",\n \"SYSUTCDATETIME\",\n \"TIMEFROMPARTS\",\n \"TODATETIMEOFFSET\",\n \"YEAR\",\n \"JSON\",\n \"ISJSON\",\n \"JSON_VALUE\",\n \"JSON_QUERY\",\n \"JSON_MODIFY\",\n // mathematical\n \"ABS\",\n \"ACOS\",\n \"ASIN\",\n \"ATAN\",\n \"ATN2\",\n \"CEILING\",\n \"COS\",\n \"COT\",\n \"DEGREES\",\n \"EXP\",\n \"FLOOR\",\n \"LOG\",\n \"LOG10\",\n \"PI\",\n \"POWER\",\n \"RADIANS\",\n \"RAND\",\n \"ROUND\",\n \"SIGN\",\n \"SIN\",\n \"SQRT\",\n \"SQUARE\",\n \"TAN\",\n \"CHOOSE\",\n \"GREATEST\",\n \"IIF\",\n \"LEAST\",\n // metadata\n \"@@PROCID\",\n \"APP_NAME\",\n \"APPLOCK_MODE\",\n \"APPLOCK_TEST\",\n \"ASSEMBLYPROPERTY\",\n \"COL_LENGTH\",\n \"COL_NAME\",\n \"COLUMNPROPERTY\",\n \"DATABASEPROPERTYEX\",\n \"DB_ID\",\n \"DB_NAME\",\n \"FILE_ID\",\n \"FILE_IDEX\",\n \"FILE_NAME\",\n \"FILEGROUP_ID\",\n \"FILEGROUP_NAME\",\n \"FILEGROUPPROPERTY\",\n \"FILEPROPERTY\",\n \"FILEPROPERTYEX\",\n \"FULLTEXTCATALOGPROPERTY\",\n \"FULLTEXTSERVICEPROPERTY\",\n \"INDEX_COL\",\n \"INDEXKEY_PROPERTY\",\n \"INDEXPROPERTY\",\n \"NEXT VALUE FOR\",\n \"OBJECT_DEFINITION\",\n \"OBJECT_ID\",\n \"OBJECT_NAME\",\n \"OBJECT_SCHEMA_NAME\",\n \"OBJECTPROPERTY\",\n \"OBJECTPROPERTYEX\",\n \"ORIGINAL_DB_NAME\",\n \"PARSENAME\",\n \"SCHEMA_ID\",\n \"SCHEMA_NAME\",\n \"SCOPE_IDENTITY\",\n \"SERVERPROPERTY\",\n \"STATS_DATE\",\n \"TYPE_ID\",\n \"TYPE_NAME\",\n \"TYPEPROPERTY\",\n // ranking\n \"DENSE_RANK\",\n \"NTILE\",\n \"RANK\",\n \"ROW_NUMBER\",\n \"PUBLISHINGSERVERNAME\",\n // security\n \"CERTENCODED\",\n \"CERTPRIVATEKEY\",\n \"CURRENT_USER\",\n \"DATABASE_PRINCIPAL_ID\",\n \"HAS_DBACCESS\",\n \"HAS_PERMS_BY_NAME\",\n \"IS_MEMBER\",\n \"IS_ROLEMEMBER\",\n \"IS_SRVROLEMEMBER\",\n \"LOGINPROPERTY\",\n \"ORIGINAL_LOGIN\",\n \"PERMISSIONS\",\n \"PWDENCRYPT\",\n \"PWDCOMPARE\",\n \"SESSION_USER\",\n \"SESSIONPROPERTY\",\n \"SUSER_ID\",\n \"SUSER_NAME\",\n \"SUSER_SID\",\n \"SUSER_SNAME\",\n \"SYSTEM_USER\",\n \"USER\",\n \"USER_ID\",\n \"USER_NAME\",\n // string\n \"ASCII\",\n \"CHAR\",\n \"CHARINDEX\",\n \"CONCAT\",\n \"CONCAT_WS\",\n \"DIFFERENCE\",\n \"FORMAT\",\n \"LEFT\",\n \"LEN\",\n \"LOWER\",\n \"LTRIM\",\n \"NCHAR\",\n \"PATINDEX\",\n \"QUOTENAME\",\n \"REPLACE\",\n \"REPLICATE\",\n \"REVERSE\",\n \"RIGHT\",\n \"RTRIM\",\n \"SOUNDEX\",\n \"SPACE\",\n \"STR\",\n \"STRING_AGG\",\n \"STRING_ESCAPE\",\n \"STUFF\",\n \"SUBSTRING\",\n \"TRANSLATE\",\n \"TRIM\",\n \"UNICODE\",\n \"UPPER\",\n // system\n \"$PARTITION\",\n \"@@ERROR\",\n \"@@IDENTITY\",\n \"@@PACK_RECEIVED\",\n \"@@ROWCOUNT\",\n \"@@TRANCOUNT\",\n \"BINARY_CHECKSUM\",\n \"CHECKSUM\",\n \"COMPRESS\",\n \"CONNECTIONPROPERTY\",\n \"CONTEXT_INFO\",\n \"CURRENT_REQUEST_ID\",\n \"CURRENT_TRANSACTION_ID\",\n \"DECOMPRESS\",\n \"ERROR_LINE\",\n \"ERROR_MESSAGE\",\n \"ERROR_NUMBER\",\n \"ERROR_PROCEDURE\",\n \"ERROR_SEVERITY\",\n \"ERROR_STATE\",\n \"FORMATMESSAGE\",\n \"GET_FILESTREAM_TRANSACTION_CONTEXT\",\n \"GETANSINULL\",\n \"HOST_ID\",\n \"HOST_NAME\",\n \"ISNULL\",\n \"ISNUMERIC\",\n \"MIN_ACTIVE_ROWVERSION\",\n \"NEWID\",\n \"NEWSEQUENTIALID\",\n \"ROWCOUNT_BIG\",\n \"SESSION_CONTEXT\",\n \"XACT_STATE\",\n // statistical\n \"@@CONNECTIONS\",\n \"@@CPU_BUSY\",\n \"@@IDLE\",\n \"@@IO_BUSY\",\n \"@@PACK_SENT\",\n \"@@PACKET_ERRORS\",\n \"@@TIMETICKS\",\n \"@@TOTAL_ERRORS\",\n \"@@TOTAL_READ\",\n \"@@TOTAL_WRITE\",\n \"TEXTPTR\",\n \"TEXTVALID\",\n // trigger\n \"COLUMNS_UPDATED\",\n \"EVENTDATA\",\n \"TRIGGER_NESTLEVEL\",\n \"UPDATE\",\n // Shorthand functions to use in place of CASE expression\n \"COALESCE\",\n \"NULLIF\"\n];\n\n// src/languages/transactsql/transactsql.keywords.ts\nvar keywords15 = [\n // https://docs.microsoft.com/en-us/sql/t-sql/language-elements/reserved-keywords-transact-sql?view=sql-server-ver15\n // standard\n \"ADD\",\n \"ALL\",\n \"ALTER\",\n \"AND\",\n \"ANY\",\n \"AS\",\n \"ASC\",\n \"AUTHORIZATION\",\n \"BACKUP\",\n \"BEGIN\",\n \"BETWEEN\",\n \"BREAK\",\n \"BROWSE\",\n \"BULK\",\n \"BY\",\n \"CASCADE\",\n \"CHECK\",\n \"CHECKPOINT\",\n \"CLOSE\",\n \"CLUSTERED\",\n \"COALESCE\",\n \"COLLATE\",\n \"COLUMN\",\n \"COMMIT\",\n \"COMPUTE\",\n \"CONSTRAINT\",\n \"CONTAINS\",\n \"CONTAINSTABLE\",\n \"CONTINUE\",\n \"CONVERT\",\n \"CREATE\",\n \"CROSS\",\n \"CURRENT\",\n \"CURRENT_DATE\",\n \"CURRENT_TIME\",\n \"CURRENT_TIMESTAMP\",\n \"CURRENT_USER\",\n \"CURSOR\",\n \"DATABASE\",\n \"DBCC\",\n \"DEALLOCATE\",\n \"DECLARE\",\n \"DEFAULT\",\n \"DELETE\",\n \"DENY\",\n \"DESC\",\n \"DISK\",\n \"DISTINCT\",\n \"DISTRIBUTED\",\n \"DROP\",\n \"DUMP\",\n \"ERRLVL\",\n \"ESCAPE\",\n \"EXEC\",\n \"EXECUTE\",\n \"EXISTS\",\n \"EXIT\",\n \"EXTERNAL\",\n \"FETCH\",\n \"FILE\",\n \"FILLFACTOR\",\n \"FOR\",\n \"FOREIGN\",\n \"FREETEXT\",\n \"FREETEXTTABLE\",\n \"FROM\",\n \"FULL\",\n \"FUNCTION\",\n \"GOTO\",\n \"GRANT\",\n \"GROUP\",\n \"HAVING\",\n \"HOLDLOCK\",\n \"IDENTITY\",\n \"IDENTITYCOL\",\n \"IDENTITY_INSERT\",\n \"IF\",\n \"IN\",\n \"INDEX\",\n \"INNER\",\n \"INSERT\",\n \"INTERSECT\",\n \"INTO\",\n \"IS\",\n \"JOIN\",\n \"KEY\",\n \"KILL\",\n \"LEFT\",\n \"LIKE\",\n \"LINENO\",\n \"LOAD\",\n \"MERGE\",\n \"NOCHECK\",\n \"NONCLUSTERED\",\n \"NOT\",\n \"NULL\",\n \"NULLIF\",\n \"OF\",\n \"OFF\",\n \"OFFSETS\",\n \"ON\",\n \"OPEN\",\n \"OPENDATASOURCE\",\n \"OPENQUERY\",\n \"OPENROWSET\",\n \"OPENXML\",\n \"OPTION\",\n \"OR\",\n \"ORDER\",\n \"OUTER\",\n \"OVER\",\n \"PERCENT\",\n \"PIVOT\",\n \"PLAN\",\n \"PRIMARY\",\n \"PRINT\",\n \"PROC\",\n \"PROCEDURE\",\n \"PUBLIC\",\n \"RAISERROR\",\n \"READ\",\n \"READTEXT\",\n \"RECONFIGURE\",\n \"REFERENCES\",\n \"REPLICATION\",\n \"RESTORE\",\n \"RESTRICT\",\n \"RETURN\",\n \"REVERT\",\n \"REVOKE\",\n \"RIGHT\",\n \"ROLLBACK\",\n \"ROWCOUNT\",\n \"ROWGUIDCOL\",\n \"RULE\",\n \"SAVE\",\n \"SCHEMA\",\n \"SECURITYAUDIT\",\n \"SELECT\",\n \"SEMANTICKEYPHRASETABLE\",\n \"SEMANTICSIMILARITYDETAILSTABLE\",\n \"SEMANTICSIMILARITYTABLE\",\n \"SESSION_USER\",\n \"SET\",\n \"SETUSER\",\n \"SHUTDOWN\",\n \"SOME\",\n \"STATISTICS\",\n \"SYSTEM_USER\",\n \"TABLE\",\n \"TABLESAMPLE\",\n \"TEXTSIZE\",\n \"THEN\",\n \"TO\",\n \"TOP\",\n \"TRAN\",\n \"TRANSACTION\",\n \"TRIGGER\",\n \"TRUNCATE\",\n \"TRY_CONVERT\",\n \"TSEQUAL\",\n \"UNION\",\n \"UNIQUE\",\n \"UNPIVOT\",\n \"UPDATE\",\n \"UPDATETEXT\",\n \"USE\",\n \"USER\",\n \"VALUES\",\n \"VIEW\",\n \"WAITFOR\",\n \"WHERE\",\n \"WHILE\",\n \"WITH\",\n \"WITHIN GROUP\",\n \"WRITETEXT\",\n // odbc\n \"ABSOLUTE\",\n \"ACTION\",\n \"ADA\",\n \"ALLOCATE\",\n \"ARE\",\n \"ASSERTION\",\n \"AT\",\n \"AVG\",\n \"BIT_LENGTH\",\n \"BOTH\",\n \"CASCADED\",\n \"CAST\",\n \"CATALOG\",\n \"CHARACTER_LENGTH\",\n \"CHAR_LENGTH\",\n \"COLLATION\",\n \"CONNECT\",\n \"CONNECTION\",\n \"CONSTRAINTS\",\n \"CORRESPONDING\",\n \"COUNT\",\n \"DAY\",\n \"DEFERRABLE\",\n \"DEFERRED\",\n \"DESCRIBE\",\n \"DESCRIPTOR\",\n \"DIAGNOSTICS\",\n \"DISCONNECT\",\n \"DOMAIN\",\n \"END-EXEC\",\n \"EXCEPTION\",\n \"EXTRACT\",\n \"FALSE\",\n \"FIRST\",\n \"FORTRAN\",\n \"FOUND\",\n \"GET\",\n \"GLOBAL\",\n \"GO\",\n \"HOUR\",\n \"IMMEDIATE\",\n \"INCLUDE\",\n \"INDICATOR\",\n \"INITIALLY\",\n \"INPUT\",\n \"INSENSITIVE\",\n \"INTERVAL\",\n \"ISOLATION\",\n \"LANGUAGE\",\n \"LAST\",\n \"LEADING\",\n \"LEVEL\",\n \"LOCAL\",\n \"LOWER\",\n \"MATCH\",\n \"MAX\",\n \"MIN\",\n \"MINUTE\",\n \"MODULE\",\n \"MONTH\",\n \"NAMES\",\n \"NATURAL\",\n \"NEXT\",\n \"NO\",\n \"NONE\",\n \"OCTET_LENGTH\",\n \"ONLY\",\n \"OUTPUT\",\n \"OVERLAPS\",\n \"PAD\",\n \"PARTIAL\",\n \"PASCAL\",\n \"POSITION\",\n \"PREPARE\",\n \"PRESERVE\",\n \"PRIOR\",\n \"PRIVILEGES\",\n \"RELATIVE\",\n \"ROWS\",\n \"SCROLL\",\n \"SECOND\",\n \"SECTION\",\n \"SESSION\",\n \"SIZE\",\n \"SPACE\",\n \"SQL\",\n \"SQLCA\",\n \"SQLCODE\",\n \"SQLERROR\",\n \"SQLSTATE\",\n \"SQLWARNING\",\n \"SUBSTRING\",\n \"SUM\",\n \"TEMPORARY\",\n \"TIMEZONE_HOUR\",\n \"TIMEZONE_MINUTE\",\n \"TRAILING\",\n \"TRANSLATE\",\n \"TRANSLATION\",\n \"TRIM\",\n \"TRUE\",\n \"UNKNOWN\",\n \"UPPER\",\n \"USAGE\",\n \"VALUE\",\n \"WHENEVER\",\n \"WORK\",\n \"WRITE\",\n \"YEAR\",\n \"ZONE\"\n];\nvar dataTypes15 = [\n // https://learn.microsoft.com/en-us/sql/t-sql/data-types/data-types-transact-sql?view=sql-server-ver15\n \"BINARY\",\n \"BIT\",\n \"CHAR\",\n \"CHAR\",\n \"CHARACTER\",\n \"DATE\",\n \"DATETIME2\",\n \"DATETIMEOFFSET\",\n \"DEC\",\n \"DECIMAL\",\n \"DOUBLE\",\n \"FLOAT\",\n \"INT\",\n \"INTEGER\",\n \"NATIONAL\",\n \"NCHAR\",\n \"NUMERIC\",\n \"NVARCHAR\",\n \"PRECISION\",\n \"REAL\",\n \"SMALLINT\",\n \"TIME\",\n \"TIMESTAMP\",\n \"VARBINARY\",\n \"VARCHAR\"\n];\n\n// src/languages/transactsql/transactsql.formatter.ts\nvar reservedSelect15 = expandPhrases([\"SELECT [ALL | DISTINCT]\"]);\nvar reservedClauses15 = expandPhrases([\n // queries\n \"WITH\",\n \"INTO\",\n \"FROM\",\n \"WHERE\",\n \"GROUP BY\",\n \"HAVING\",\n \"WINDOW\",\n \"PARTITION BY\",\n \"ORDER BY\",\n \"OFFSET\",\n \"FETCH {FIRST | NEXT}\",\n // Data manipulation\n // - insert:\n \"INSERT [INTO]\",\n \"VALUES\",\n // - update:\n \"SET\",\n // - merge:\n \"MERGE [INTO]\",\n \"WHEN [NOT] MATCHED [BY TARGET | BY SOURCE] [THEN]\",\n \"UPDATE SET\",\n // Data definition\n \"CREATE [OR ALTER] {PROC | PROCEDURE}\"\n]);\nvar onelineClauses15 = expandPhrases([\n // - create:\n \"CREATE TABLE\",\n \"CREATE [OR ALTER] [MATERIALIZED] VIEW\",\n // - update:\n \"UPDATE\",\n \"WHERE CURRENT OF\",\n // - delete:\n \"DELETE [FROM]\",\n // - drop table:\n \"DROP TABLE [IF EXISTS]\",\n // - alter table:\n \"ALTER TABLE\",\n \"ADD\",\n \"DROP COLUMN [IF EXISTS]\",\n \"ALTER COLUMN\",\n // - truncate:\n \"TRUNCATE TABLE\",\n // https://docs.microsoft.com/en-us/sql/t-sql/statements/statements?view=sql-server-ver15\n \"ADD SENSITIVITY CLASSIFICATION\",\n \"ADD SIGNATURE\",\n \"AGGREGATE\",\n \"ANSI_DEFAULTS\",\n \"ANSI_NULLS\",\n \"ANSI_NULL_DFLT_OFF\",\n \"ANSI_NULL_DFLT_ON\",\n \"ANSI_PADDING\",\n \"ANSI_WARNINGS\",\n \"APPLICATION ROLE\",\n \"ARITHABORT\",\n \"ARITHIGNORE\",\n \"ASSEMBLY\",\n \"ASYMMETRIC KEY\",\n \"AUTHORIZATION\",\n \"AVAILABILITY GROUP\",\n \"BACKUP\",\n \"BACKUP CERTIFICATE\",\n \"BACKUP MASTER KEY\",\n \"BACKUP SERVICE MASTER KEY\",\n \"BEGIN CONVERSATION TIMER\",\n \"BEGIN DIALOG CONVERSATION\",\n \"BROKER PRIORITY\",\n \"BULK INSERT\",\n \"CERTIFICATE\",\n \"CLOSE MASTER KEY\",\n \"CLOSE SYMMETRIC KEY\",\n \"COLLATE\",\n \"COLUMN ENCRYPTION KEY\",\n \"COLUMN MASTER KEY\",\n \"COLUMNSTORE INDEX\",\n \"CONCAT_NULL_YIELDS_NULL\",\n \"CONTEXT_INFO\",\n \"CONTRACT\",\n \"CREDENTIAL\",\n \"CRYPTOGRAPHIC PROVIDER\",\n \"CURSOR_CLOSE_ON_COMMIT\",\n \"DATABASE\",\n \"DATABASE AUDIT SPECIFICATION\",\n \"DATABASE ENCRYPTION KEY\",\n \"DATABASE HADR\",\n \"DATABASE SCOPED CONFIGURATION\",\n \"DATABASE SCOPED CREDENTIAL\",\n \"DATABASE SET\",\n \"DATEFIRST\",\n \"DATEFORMAT\",\n \"DEADLOCK_PRIORITY\",\n \"DENY\",\n \"DENY XML\",\n \"DISABLE TRIGGER\",\n \"ENABLE TRIGGER\",\n \"END CONVERSATION\",\n \"ENDPOINT\",\n \"EVENT NOTIFICATION\",\n \"EVENT SESSION\",\n \"EXECUTE AS\",\n \"EXTERNAL DATA SOURCE\",\n \"EXTERNAL FILE FORMAT\",\n \"EXTERNAL LANGUAGE\",\n \"EXTERNAL LIBRARY\",\n \"EXTERNAL RESOURCE POOL\",\n \"EXTERNAL TABLE\",\n \"FIPS_FLAGGER\",\n \"FMTONLY\",\n \"FORCEPLAN\",\n \"FULLTEXT CATALOG\",\n \"FULLTEXT INDEX\",\n \"FULLTEXT STOPLIST\",\n \"FUNCTION\",\n \"GET CONVERSATION GROUP\",\n \"GET_TRANSMISSION_STATUS\",\n \"GRANT\",\n \"GRANT XML\",\n \"IDENTITY_INSERT\",\n \"IMPLICIT_TRANSACTIONS\",\n \"INDEX\",\n \"LANGUAGE\",\n \"LOCK_TIMEOUT\",\n \"LOGIN\",\n \"MASTER KEY\",\n \"MESSAGE TYPE\",\n \"MOVE CONVERSATION\",\n \"NOCOUNT\",\n \"NOEXEC\",\n \"NUMERIC_ROUNDABORT\",\n \"OFFSETS\",\n \"OPEN MASTER KEY\",\n \"OPEN SYMMETRIC KEY\",\n \"PARSEONLY\",\n \"PARTITION FUNCTION\",\n \"PARTITION SCHEME\",\n \"PROCEDURE\",\n \"QUERY_GOVERNOR_COST_LIMIT\",\n \"QUEUE\",\n \"QUOTED_IDENTIFIER\",\n \"RECEIVE\",\n \"REMOTE SERVICE BINDING\",\n \"REMOTE_PROC_TRANSACTIONS\",\n \"RESOURCE GOVERNOR\",\n \"RESOURCE POOL\",\n \"RESTORE\",\n \"RESTORE FILELISTONLY\",\n \"RESTORE HEADERONLY\",\n \"RESTORE LABELONLY\",\n \"RESTORE MASTER KEY\",\n \"RESTORE REWINDONLY\",\n \"RESTORE SERVICE MASTER KEY\",\n \"RESTORE VERIFYONLY\",\n \"REVERT\",\n \"REVOKE\",\n \"REVOKE XML\",\n \"ROLE\",\n \"ROUTE\",\n \"ROWCOUNT\",\n \"RULE\",\n \"SCHEMA\",\n \"SEARCH PROPERTY LIST\",\n \"SECURITY POLICY\",\n \"SELECTIVE XML INDEX\",\n \"SEND\",\n \"SENSITIVITY CLASSIFICATION\",\n \"SEQUENCE\",\n \"SERVER AUDIT\",\n \"SERVER AUDIT SPECIFICATION\",\n \"SERVER CONFIGURATION\",\n \"SERVER ROLE\",\n \"SERVICE\",\n \"SERVICE MASTER KEY\",\n \"SETUSER\",\n \"SHOWPLAN_ALL\",\n \"SHOWPLAN_TEXT\",\n \"SHOWPLAN_XML\",\n \"SIGNATURE\",\n \"SPATIAL INDEX\",\n \"STATISTICS\",\n \"STATISTICS IO\",\n \"STATISTICS PROFILE\",\n \"STATISTICS TIME\",\n \"STATISTICS XML\",\n \"SYMMETRIC KEY\",\n \"SYNONYM\",\n \"TABLE\",\n \"TABLE IDENTITY\",\n \"TEXTSIZE\",\n \"TRANSACTION ISOLATION LEVEL\",\n \"TRIGGER\",\n \"TYPE\",\n \"UPDATE STATISTICS\",\n \"USER\",\n \"WORKLOAD GROUP\",\n \"XACT_ABORT\",\n \"XML INDEX\",\n \"XML SCHEMA COLLECTION\"\n]);\nvar reservedSetOperations15 = expandPhrases([\"UNION [ALL]\", \"EXCEPT\", \"INTERSECT\"]);\nvar reservedJoins15 = expandPhrases([\n \"JOIN\",\n \"{LEFT | RIGHT | FULL} [OUTER] JOIN\",\n \"{INNER | CROSS} JOIN\",\n // non-standard joins\n \"{CROSS | OUTER} APPLY\"\n]);\nvar reservedPhrases15 = expandPhrases([\n \"ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]\",\n \"{ROWS | RANGE} BETWEEN\"\n]);\nvar transactsql = {\n name: \"transactsql\",\n tokenizerOptions: {\n reservedSelect: reservedSelect15,\n reservedClauses: [...reservedClauses15, ...onelineClauses15],\n reservedSetOperations: reservedSetOperations15,\n reservedJoins: reservedJoins15,\n reservedPhrases: reservedPhrases15,\n reservedKeywords: keywords15,\n reservedDataTypes: dataTypes15,\n reservedFunctionNames: functions15,\n nestedBlockComments: true,\n stringTypes: [{ quote: \"''-qq\", prefixes: [\"N\"] }],\n identTypes: [`\"\"-qq`, \"[]\"],\n identChars: { first: \"#@\", rest: \"#@$\" },\n paramTypes: { named: [\"@\"], quoted: [\"@\"] },\n operators: [\n \"%\",\n \"&\",\n \"|\",\n \"^\",\n \"~\",\n \"!<\",\n \"!>\",\n \"+=\",\n \"-=\",\n \"*=\",\n \"/=\",\n \"%=\",\n \"|=\",\n \"&=\",\n \"^=\",\n \"::\",\n \":\"\n ]\n // TODO: Support for money constants\n },\n formatOptions: {\n alwaysDenseOperators: [\"::\"],\n onelineClauses: onelineClauses15\n }\n};\n\n// src/languages/singlestoredb/singlestoredb.keywords.ts\nvar keywords16 = [\n // List of all keywords taken from:\n // https://docs.singlestore.com/managed-service/en/reference/sql-reference/restricted-keywords/list-of-restricted-keywords.html\n // Then filtered down to reserved keywords by running\n // > SELECT * AS ;\n // for each keyword in that list and observing which of these produce an error.\n \"ADD\",\n \"ALL\",\n \"ALTER\",\n \"ANALYZE\",\n \"AND\",\n \"AS\",\n \"ASC\",\n \"ASENSITIVE\",\n \"BEFORE\",\n \"BETWEEN\",\n \"_BINARY\",\n \"BOTH\",\n \"BY\",\n \"CALL\",\n \"CASCADE\",\n \"CASE\",\n \"CHANGE\",\n \"CHECK\",\n \"COLLATE\",\n \"COLUMN\",\n \"CONDITION\",\n \"CONSTRAINT\",\n \"CONTINUE\",\n \"CONVERT\",\n \"CREATE\",\n \"CROSS\",\n \"CURRENT_DATE\",\n \"CURRENT_TIME\",\n \"CURRENT_TIMESTAMP\",\n \"CURRENT_USER\",\n \"CURSOR\",\n \"DATABASE\",\n \"DATABASES\",\n \"DAY_HOUR\",\n \"DAY_MICROSECOND\",\n \"DAY_MINUTE\",\n \"DAY_SECOND\",\n \"DECLARE\",\n \"DEFAULT\",\n \"DELAYED\",\n \"DELETE\",\n \"DESC\",\n \"DESCRIBE\",\n \"DETERMINISTIC\",\n \"DISTINCT\",\n \"DISTINCTROW\",\n \"DIV\",\n \"DROP\",\n \"DUAL\",\n \"EACH\",\n \"ELSE\",\n \"ELSEIF\",\n \"ENCLOSED\",\n \"ESCAPED\",\n \"EXCEPT\",\n \"EXISTS\",\n \"EXIT\",\n \"EXPLAIN\",\n \"EXTRA_JOIN\",\n \"FALSE\",\n \"FETCH\",\n \"FOR\",\n \"FORCE\",\n \"FORCE_COMPILED_MODE\",\n \"FORCE_INTERPRETER_MODE\",\n \"FOREIGN\",\n \"FROM\",\n \"FULL\",\n \"FULLTEXT\",\n \"GRANT\",\n \"GROUP\",\n \"HAVING\",\n \"HEARTBEAT_NO_LOGGING\",\n \"HIGH_PRIORITY\",\n \"HOUR_MICROSECOND\",\n \"HOUR_MINUTE\",\n \"HOUR_SECOND\",\n \"IF\",\n \"IGNORE\",\n \"IN\",\n \"INDEX\",\n \"INFILE\",\n \"INNER\",\n \"INOUT\",\n \"INSENSITIVE\",\n \"INSERT\",\n \"IN\",\n \"_INTERNAL_DYNAMIC_TYPECAST\",\n \"INTERSECT\",\n \"INTERVAL\",\n \"INTO\",\n \"ITERATE\",\n \"JOIN\",\n \"KEY\",\n \"KEYS\",\n \"KILL\",\n \"LEADING\",\n \"LEAVE\",\n \"LEFT\",\n \"LIKE\",\n \"LIMIT\",\n \"LINES\",\n \"LOAD\",\n \"LOCALTIME\",\n \"LOCALTIMESTAMP\",\n \"LOCK\",\n \"LOOP\",\n \"LOW_PRIORITY\",\n \"MATCH\",\n \"MAXVALUE\",\n \"MINUS\",\n \"MINUTE_MICROSECOND\",\n \"MINUTE_SECOND\",\n \"MOD\",\n \"MODIFIES\",\n \"NATURAL\",\n \"NO_QUERY_REWRITE\",\n \"NOT\",\n \"NO_WRITE_TO_BINLOG\",\n \"NO_QUERY_REWRITE\",\n \"NULL\",\n \"ON\",\n \"OPTIMIZE\",\n \"OPTION\",\n \"OPTIONALLY\",\n \"OR\",\n \"ORDER\",\n \"OUT\",\n \"OUTER\",\n \"OUTFILE\",\n \"OVER\",\n \"PRIMARY\",\n \"PROCEDURE\",\n \"PURGE\",\n \"RANGE\",\n \"READ\",\n \"READS\",\n \"REFERENCES\",\n \"REGEXP\",\n \"RELEASE\",\n \"RENAME\",\n \"REPEAT\",\n \"REPLACE\",\n \"REQUIRE\",\n \"RESTRICT\",\n \"RETURN\",\n \"REVOKE\",\n \"RIGHT\",\n \"RIGHT_ANTI_JOIN\",\n \"RIGHT_SEMI_JOIN\",\n \"RIGHT_STRAIGHT_JOIN\",\n \"RLIKE\",\n \"SCHEMA\",\n \"SCHEMAS\",\n \"SECOND_MICROSECOND\",\n \"SELECT\",\n \"SEMI_JOIN\",\n \"SENSITIVE\",\n \"SEPARATOR\",\n \"SET\",\n \"SHOW\",\n \"SIGNAL\",\n \"SPATIAL\",\n \"SPECIFIC\",\n \"SQL\",\n \"SQL_BIG_RESULT\",\n \"SQL_BUFFER_RESULT\",\n \"SQL_CACHE\",\n \"SQL_CALC_FOUND_ROWS\",\n \"SQLEXCEPTION\",\n \"SQL_NO_CACHE\",\n \"SQL_NO_LOGGING\",\n \"SQL_SMALL_RESULT\",\n \"SQLSTATE\",\n \"SQLWARNING\",\n \"STRAIGHT_JOIN\",\n \"TABLE\",\n \"TERMINATED\",\n \"THEN\",\n \"TO\",\n \"TRAILING\",\n \"TRIGGER\",\n \"TRUE\",\n \"UNBOUNDED\",\n \"UNDO\",\n \"UNION\",\n \"UNIQUE\",\n \"UNLOCK\",\n \"UPDATE\",\n \"USAGE\",\n \"USE\",\n \"USING\",\n \"UTC_DATE\",\n \"UTC_TIME\",\n \"UTC_TIMESTAMP\",\n \"_UTF8\",\n \"VALUES\",\n \"WHEN\",\n \"WHERE\",\n \"WHILE\",\n \"WINDOW\",\n \"WITH\",\n \"WITHIN\",\n \"WRITE\",\n \"XOR\",\n \"YEAR_MONTH\",\n \"ZEROFILL\"\n];\nvar dataTypes16 = [\n // https://docs.singlestore.com/cloud/reference/sql-reference/data-types/\n \"BIGINT\",\n \"BINARY\",\n \"BIT\",\n \"BLOB\",\n \"CHAR\",\n \"CHARACTER\",\n \"DATETIME\",\n \"DEC\",\n \"DECIMAL\",\n \"DOUBLE PRECISION\",\n \"DOUBLE\",\n \"ENUM\",\n \"FIXED\",\n \"FLOAT\",\n \"FLOAT4\",\n \"FLOAT8\",\n \"INT\",\n \"INT1\",\n \"INT2\",\n \"INT3\",\n \"INT4\",\n \"INT8\",\n \"INTEGER\",\n \"LONG\",\n \"LONGBLOB\",\n \"LONGTEXT\",\n \"MEDIUMBLOB\",\n \"MEDIUMINT\",\n \"MEDIUMTEXT\",\n \"MIDDLEINT\",\n \"NATIONAL CHAR\",\n \"NATIONAL VARCHAR\",\n \"NUMERIC\",\n \"PRECISION\",\n \"REAL\",\n \"SMALLINT\",\n \"TEXT\",\n \"TIME\",\n \"TIMESTAMP\",\n \"TINYBLOB\",\n \"TINYINT\",\n \"TINYTEXT\",\n \"UNSIGNED\",\n \"VARBINARY\",\n \"VARCHAR\",\n \"VARCHARACTER\",\n \"YEAR\"\n];\n\n// src/languages/singlestoredb/singlestoredb.functions.ts\nvar functions16 = [\n // https://docs.singlestore.com/managed-service/en/reference/sql-reference/vector-functions/vector-functions.html\n // https://docs.singlestore.com/managed-service/en/reference/sql-reference/window-functions/window-functions.html\n // https://docs.singlestore.com/managed-service/en/reference/sql-reference/string-functions/string-functions.html\n // https://docs.singlestore.com/managed-service/en/reference/sql-reference/conditional-functions/conditional-functions.html\n // https://docs.singlestore.com/managed-service/en/reference/sql-reference/numeric-functions/numeric-functions.html\n // https://docs.singlestore.com/managed-service/en/reference/sql-reference/geospatial-functions/geospatial-functions.html\n // https://docs.singlestore.com/managed-service/en/reference/sql-reference/json-functions/json-functions.html\n // https://docs.singlestore.com/managed-service/en/reference/sql-reference/information-functions/information-functions.html\n // https://docs.singlestore.com/managed-service/en/reference/sql-reference/aggregate-functions/aggregate-functions.html\n // https://docs.singlestore.com/managed-service/en/reference/sql-reference/time-series-functions/time-series-functions.html\n // https://docs.singlestore.com/managed-service/en/reference/sql-reference/identifier-generation-functions.html\n // https://docs.singlestore.com/managed-service/en/reference/sql-reference/date-and-time-functions/date-and-time-functions.html\n // https://docs.singlestore.com/managed-service/en/reference/sql-reference/distinct-count-estimation-functions.html\n // https://docs.singlestore.com/managed-service/en/reference/sql-reference/full-text-search-functions/full-text-search-functions.html\n // https://docs.singlestore.com/managed-service/en/reference/sql-reference/regular-expression-functions.html\n \"ABS\",\n \"ACOS\",\n \"ADDDATE\",\n \"ADDTIME\",\n \"AES_DECRYPT\",\n \"AES_ENCRYPT\",\n \"ANY_VALUE\",\n \"APPROX_COUNT_DISTINCT\",\n \"APPROX_COUNT_DISTINCT_ACCUMULATE\",\n \"APPROX_COUNT_DISTINCT_COMBINE\",\n \"APPROX_COUNT_DISTINCT_ESTIMATE\",\n \"APPROX_GEOGRAPHY_INTERSECTS\",\n \"APPROX_PERCENTILE\",\n \"ASCII\",\n \"ASIN\",\n \"ATAN\",\n \"ATAN2\",\n \"AVG\",\n \"BIN\",\n \"BINARY\",\n \"BIT_AND\",\n \"BIT_COUNT\",\n \"BIT_OR\",\n \"BIT_XOR\",\n \"CAST\",\n \"CEIL\",\n \"CEILING\",\n \"CHAR\",\n \"CHARACTER_LENGTH\",\n \"CHAR_LENGTH\",\n \"CHARSET\",\n \"COALESCE\",\n \"COERCIBILITY\",\n \"COLLATION\",\n \"COLLECT\",\n \"CONCAT\",\n \"CONCAT_WS\",\n \"CONNECTION_ID\",\n \"CONV\",\n \"CONVERT\",\n \"CONVERT_TZ\",\n \"COS\",\n \"COT\",\n \"COUNT\",\n \"CUME_DIST\",\n \"CURDATE\",\n \"CURRENT_DATE\",\n \"CURRENT_ROLE\",\n \"CURRENT_TIME\",\n \"CURRENT_TIMESTAMP\",\n \"CURRENT_USER\",\n \"CURTIME\",\n \"DATABASE\",\n \"DATE\",\n \"DATE_ADD\",\n \"DATEDIFF\",\n \"DATE_FORMAT\",\n \"DATE_SUB\",\n \"DATE_TRUNC\",\n \"DAY\",\n \"DAYNAME\",\n \"DAYOFMONTH\",\n \"DAYOFWEEK\",\n \"DAYOFYEAR\",\n \"DECODE\",\n \"DEFAULT\",\n \"DEGREES\",\n \"DENSE_RANK\",\n \"DIV\",\n \"DOT_PRODUCT\",\n \"ELT\",\n \"EUCLIDEAN_DISTANCE\",\n \"EXP\",\n \"EXTRACT\",\n \"FIELD\",\n \"FIRST\",\n \"FIRST_VALUE\",\n \"FLOOR\",\n \"FORMAT\",\n \"FOUND_ROWS\",\n \"FROM_BASE64\",\n \"FROM_DAYS\",\n \"FROM_UNIXTIME\",\n \"GEOGRAPHY_AREA\",\n \"GEOGRAPHY_CONTAINS\",\n \"GEOGRAPHY_DISTANCE\",\n \"GEOGRAPHY_INTERSECTS\",\n \"GEOGRAPHY_LATITUDE\",\n \"GEOGRAPHY_LENGTH\",\n \"GEOGRAPHY_LONGITUDE\",\n \"GEOGRAPHY_POINT\",\n \"GEOGRAPHY_WITHIN_DISTANCE\",\n \"GEOMETRY_AREA\",\n \"GEOMETRY_CONTAINS\",\n \"GEOMETRY_DISTANCE\",\n \"GEOMETRY_FILTER\",\n \"GEOMETRY_INTERSECTS\",\n \"GEOMETRY_LENGTH\",\n \"GEOMETRY_POINT\",\n \"GEOMETRY_WITHIN_DISTANCE\",\n \"GEOMETRY_X\",\n \"GEOMETRY_Y\",\n \"GREATEST\",\n \"GROUPING\",\n \"GROUP_CONCAT\",\n \"HEX\",\n \"HIGHLIGHT\",\n \"HOUR\",\n \"ICU_VERSION\",\n \"IF\",\n \"IFNULL\",\n \"INET_ATON\",\n \"INET_NTOA\",\n \"INET6_ATON\",\n \"INET6_NTOA\",\n \"INITCAP\",\n \"INSERT\",\n \"INSTR\",\n \"INTERVAL\",\n \"IS\",\n \"IS NULL\",\n \"JSON_AGG\",\n \"JSON_ARRAY_CONTAINS_DOUBLE\",\n \"JSON_ARRAY_CONTAINS_JSON\",\n \"JSON_ARRAY_CONTAINS_STRING\",\n \"JSON_ARRAY_PUSH_DOUBLE\",\n \"JSON_ARRAY_PUSH_JSON\",\n \"JSON_ARRAY_PUSH_STRING\",\n \"JSON_DELETE_KEY\",\n \"JSON_EXTRACT_DOUBLE\",\n \"JSON_EXTRACT_JSON\",\n \"JSON_EXTRACT_STRING\",\n \"JSON_EXTRACT_BIGINT\",\n \"JSON_GET_TYPE\",\n \"JSON_LENGTH\",\n \"JSON_SET_DOUBLE\",\n \"JSON_SET_JSON\",\n \"JSON_SET_STRING\",\n \"JSON_SPLICE_DOUBLE\",\n \"JSON_SPLICE_JSON\",\n \"JSON_SPLICE_STRING\",\n \"LAG\",\n \"LAST_DAY\",\n \"LAST_VALUE\",\n \"LCASE\",\n \"LEAD\",\n \"LEAST\",\n \"LEFT\",\n \"LENGTH\",\n \"LIKE\",\n \"LN\",\n \"LOCALTIME\",\n \"LOCALTIMESTAMP\",\n \"LOCATE\",\n \"LOG\",\n \"LOG10\",\n \"LOG2\",\n \"LPAD\",\n \"LTRIM\",\n \"MATCH\",\n \"MAX\",\n \"MD5\",\n \"MEDIAN\",\n \"MICROSECOND\",\n \"MIN\",\n \"MINUTE\",\n \"MOD\",\n \"MONTH\",\n \"MONTHNAME\",\n \"MONTHS_BETWEEN\",\n \"NOT\",\n \"NOW\",\n \"NTH_VALUE\",\n \"NTILE\",\n \"NULLIF\",\n \"OCTET_LENGTH\",\n \"PERCENT_RANK\",\n \"PERCENTILE_CONT\",\n \"PERCENTILE_DISC\",\n \"PI\",\n \"PIVOT\",\n \"POSITION\",\n \"POW\",\n \"POWER\",\n \"QUARTER\",\n \"QUOTE\",\n \"RADIANS\",\n \"RAND\",\n \"RANK\",\n \"REGEXP\",\n \"REPEAT\",\n \"REPLACE\",\n \"REVERSE\",\n \"RIGHT\",\n \"RLIKE\",\n \"ROUND\",\n \"ROW_COUNT\",\n \"ROW_NUMBER\",\n \"RPAD\",\n \"RTRIM\",\n \"SCALAR\",\n \"SCHEMA\",\n \"SEC_TO_TIME\",\n \"SHA1\",\n \"SHA2\",\n \"SIGMOID\",\n \"SIGN\",\n \"SIN\",\n \"SLEEP\",\n \"SPLIT\",\n \"SOUNDEX\",\n \"SOUNDS LIKE\",\n \"SOURCE_POS_WAIT\",\n \"SPACE\",\n \"SQRT\",\n \"STDDEV\",\n \"STDDEV_POP\",\n \"STDDEV_SAMP\",\n \"STR_TO_DATE\",\n \"SUBDATE\",\n \"SUBSTR\",\n \"SUBSTRING\",\n \"SUBSTRING_INDEX\",\n \"SUM\",\n \"SYS_GUID\",\n \"TAN\",\n \"TIME\",\n \"TIMEDIFF\",\n \"TIME_BUCKET\",\n \"TIME_FORMAT\",\n \"TIMESTAMP\",\n \"TIMESTAMPADD\",\n \"TIMESTAMPDIFF\",\n \"TIME_TO_SEC\",\n \"TO_BASE64\",\n \"TO_CHAR\",\n \"TO_DAYS\",\n \"TO_JSON\",\n \"TO_NUMBER\",\n \"TO_SECONDS\",\n \"TO_TIMESTAMP\",\n \"TRIM\",\n \"TRUNC\",\n \"TRUNCATE\",\n \"UCASE\",\n \"UNHEX\",\n \"UNIX_TIMESTAMP\",\n \"UPDATEXML\",\n \"UPPER\",\n // 'USER',\n \"UTC_DATE\",\n \"UTC_TIME\",\n \"UTC_TIMESTAMP\",\n \"UUID\",\n \"VALUES\",\n \"VARIANCE\",\n \"VAR_POP\",\n \"VAR_SAMP\",\n \"VECTOR_SUB\",\n \"VERSION\",\n \"WEEK\",\n \"WEEKDAY\",\n \"WEEKOFYEAR\",\n \"YEAR\"\n];\n\n// src/languages/singlestoredb/singlestoredb.formatter.ts\nvar reservedSelect16 = expandPhrases([\"SELECT [ALL | DISTINCT | DISTINCTROW]\"]);\nvar reservedClauses16 = expandPhrases([\n // queries\n \"WITH\",\n \"FROM\",\n \"WHERE\",\n \"GROUP BY\",\n \"HAVING\",\n \"PARTITION BY\",\n \"ORDER BY\",\n \"LIMIT\",\n \"OFFSET\",\n // Data manipulation\n // - insert:\n \"INSERT [IGNORE] [INTO]\",\n \"VALUES\",\n \"REPLACE [INTO]\",\n \"ON DUPLICATE KEY UPDATE\",\n // - update:\n \"SET\",\n // Data definition\n \"CREATE [OR REPLACE] [TEMPORARY] PROCEDURE [IF NOT EXISTS]\",\n \"CREATE [OR REPLACE] [EXTERNAL] FUNCTION\"\n]);\nvar onelineClauses16 = expandPhrases([\n // - create:\n \"CREATE [ROWSTORE] [REFERENCE | TEMPORARY | GLOBAL TEMPORARY] TABLE [IF NOT EXISTS]\",\n \"CREATE VIEW\",\n // - update:\n \"UPDATE\",\n // - delete:\n \"DELETE [FROM]\",\n // - drop table:\n \"DROP [TEMPORARY] TABLE [IF EXISTS]\",\n // - alter table:\n \"ALTER [ONLINE] TABLE\",\n \"ADD [COLUMN]\",\n \"ADD [UNIQUE] {INDEX | KEY}\",\n \"DROP [COLUMN]\",\n \"MODIFY [COLUMN]\",\n \"CHANGE\",\n \"RENAME [TO | AS]\",\n // - truncate:\n \"TRUNCATE [TABLE]\",\n // https://docs.singlestore.com/managed-service/en/reference/sql-reference.html\n \"ADD AGGREGATOR\",\n \"ADD LEAF\",\n \"AGGREGATOR SET AS MASTER\",\n \"ALTER DATABASE\",\n \"ALTER PIPELINE\",\n \"ALTER RESOURCE POOL\",\n \"ALTER USER\",\n \"ALTER VIEW\",\n \"ANALYZE TABLE\",\n \"ATTACH DATABASE\",\n \"ATTACH LEAF\",\n \"ATTACH LEAF ALL\",\n \"BACKUP DATABASE\",\n \"BINLOG\",\n \"BOOTSTRAP AGGREGATOR\",\n \"CACHE INDEX\",\n \"CALL\",\n \"CHANGE\",\n \"CHANGE MASTER TO\",\n \"CHANGE REPLICATION FILTER\",\n \"CHANGE REPLICATION SOURCE TO\",\n \"CHECK BLOB CHECKSUM\",\n \"CHECK TABLE\",\n \"CHECKSUM TABLE\",\n \"CLEAR ORPHAN DATABASES\",\n \"CLONE\",\n \"COMMIT\",\n \"CREATE DATABASE\",\n \"CREATE GROUP\",\n \"CREATE INDEX\",\n \"CREATE LINK\",\n \"CREATE MILESTONE\",\n \"CREATE PIPELINE\",\n \"CREATE RESOURCE POOL\",\n \"CREATE ROLE\",\n \"CREATE USER\",\n \"DEALLOCATE PREPARE\",\n \"DESCRIBE\",\n \"DETACH DATABASE\",\n \"DETACH PIPELINE\",\n \"DROP DATABASE\",\n \"DROP FUNCTION\",\n \"DROP INDEX\",\n \"DROP LINK\",\n \"DROP PIPELINE\",\n \"DROP PROCEDURE\",\n \"DROP RESOURCE POOL\",\n \"DROP ROLE\",\n \"DROP USER\",\n \"DROP VIEW\",\n \"EXECUTE\",\n \"EXPLAIN\",\n \"FLUSH\",\n \"FORCE\",\n \"GRANT\",\n \"HANDLER\",\n \"HELP\",\n \"KILL CONNECTION\",\n \"KILLALL QUERIES\",\n \"LOAD DATA\",\n \"LOAD INDEX INTO CACHE\",\n \"LOAD XML\",\n \"LOCK INSTANCE FOR BACKUP\",\n \"LOCK TABLES\",\n \"MASTER_POS_WAIT\",\n \"OPTIMIZE TABLE\",\n \"PREPARE\",\n \"PURGE BINARY LOGS\",\n \"REBALANCE PARTITIONS\",\n \"RELEASE SAVEPOINT\",\n \"REMOVE AGGREGATOR\",\n \"REMOVE LEAF\",\n \"REPAIR TABLE\",\n \"REPLACE\",\n \"REPLICATE DATABASE\",\n \"RESET\",\n \"RESET MASTER\",\n \"RESET PERSIST\",\n \"RESET REPLICA\",\n \"RESET SLAVE\",\n \"RESTART\",\n \"RESTORE DATABASE\",\n \"RESTORE REDUNDANCY\",\n \"REVOKE\",\n \"ROLLBACK\",\n \"ROLLBACK TO SAVEPOINT\",\n \"SAVEPOINT\",\n \"SET CHARACTER SET\",\n \"SET DEFAULT ROLE\",\n \"SET NAMES\",\n \"SET PASSWORD\",\n \"SET RESOURCE GROUP\",\n \"SET ROLE\",\n \"SET TRANSACTION\",\n \"SHOW\",\n \"SHOW CHARACTER SET\",\n \"SHOW COLLATION\",\n \"SHOW COLUMNS\",\n \"SHOW CREATE DATABASE\",\n \"SHOW CREATE FUNCTION\",\n \"SHOW CREATE PIPELINE\",\n \"SHOW CREATE PROCEDURE\",\n \"SHOW CREATE TABLE\",\n \"SHOW CREATE USER\",\n \"SHOW CREATE VIEW\",\n \"SHOW DATABASES\",\n \"SHOW ENGINE\",\n \"SHOW ENGINES\",\n \"SHOW ERRORS\",\n \"SHOW FUNCTION CODE\",\n \"SHOW FUNCTION STATUS\",\n \"SHOW GRANTS\",\n \"SHOW INDEX\",\n \"SHOW MASTER STATUS\",\n \"SHOW OPEN TABLES\",\n \"SHOW PLUGINS\",\n \"SHOW PRIVILEGES\",\n \"SHOW PROCEDURE CODE\",\n \"SHOW PROCEDURE STATUS\",\n \"SHOW PROCESSLIST\",\n \"SHOW PROFILE\",\n \"SHOW PROFILES\",\n \"SHOW RELAYLOG EVENTS\",\n \"SHOW REPLICA STATUS\",\n \"SHOW REPLICAS\",\n \"SHOW SLAVE\",\n \"SHOW SLAVE HOSTS\",\n \"SHOW STATUS\",\n \"SHOW TABLE STATUS\",\n \"SHOW TABLES\",\n \"SHOW VARIABLES\",\n \"SHOW WARNINGS\",\n \"SHUTDOWN\",\n \"SNAPSHOT DATABASE\",\n \"SOURCE_POS_WAIT\",\n \"START GROUP_REPLICATION\",\n \"START PIPELINE\",\n \"START REPLICA\",\n \"START SLAVE\",\n \"START TRANSACTION\",\n \"STOP GROUP_REPLICATION\",\n \"STOP PIPELINE\",\n \"STOP REPLICA\",\n \"STOP REPLICATING\",\n \"STOP SLAVE\",\n \"TEST PIPELINE\",\n \"UNLOCK INSTANCE\",\n \"UNLOCK TABLES\",\n \"USE\",\n \"XA\",\n // flow control\n \"ITERATE\",\n \"LEAVE\",\n \"LOOP\",\n \"REPEAT\",\n \"RETURN\",\n \"WHILE\"\n]);\nvar reservedSetOperations16 = expandPhrases([\n \"UNION [ALL | DISTINCT]\",\n \"EXCEPT\",\n \"INTERSECT\",\n \"MINUS\"\n]);\nvar reservedJoins16 = expandPhrases([\n \"JOIN\",\n \"{LEFT | RIGHT | FULL} [OUTER] JOIN\",\n \"{INNER | CROSS} JOIN\",\n \"NATURAL {LEFT | RIGHT} [OUTER] JOIN\",\n // non-standard joins\n \"STRAIGHT_JOIN\"\n]);\nvar reservedPhrases16 = expandPhrases([\n \"ON DELETE\",\n \"ON UPDATE\",\n \"CHARACTER SET\",\n \"{ROWS | RANGE} BETWEEN\",\n \"IDENTIFIED BY\"\n]);\nvar singlestoredb = {\n name: \"singlestoredb\",\n tokenizerOptions: {\n reservedSelect: reservedSelect16,\n reservedClauses: [...reservedClauses16, ...onelineClauses16],\n reservedSetOperations: reservedSetOperations16,\n reservedJoins: reservedJoins16,\n reservedPhrases: reservedPhrases16,\n reservedKeywords: keywords16,\n reservedDataTypes: dataTypes16,\n reservedFunctionNames: functions16,\n // TODO: support _binary\"some string\" prefix\n stringTypes: [\n '\"\"-qq-bs',\n \"''-qq-bs\",\n { quote: \"''-raw\", prefixes: [\"B\", \"X\"], requirePrefix: true }\n ],\n identTypes: [\"``\"],\n identChars: { first: \"$\", rest: \"$\", allowFirstCharNumber: true },\n variableTypes: [\n { regex: \"@@?[A-Za-z0-9_$]+\" },\n { quote: \"``\", prefixes: [\"@\"], requirePrefix: true }\n ],\n lineCommentTypes: [\"--\", \"#\"],\n operators: [\n \":=\",\n \"&\",\n \"|\",\n \"^\",\n \"~\",\n \"<<\",\n \">>\",\n \"<=>\",\n \"&&\",\n \"||\",\n \"::\",\n \"::$\",\n \"::%\",\n \":>\",\n \"!:>\",\n \"*.*\"\n // Not actually an operator\n ],\n postProcess: postProcess2\n },\n formatOptions: {\n alwaysDenseOperators: [\"::\", \"::$\", \"::%\"],\n onelineClauses: onelineClauses16\n }\n};\n\n// src/languages/snowflake/snowflake.functions.ts\nvar functions17 = [\n // https://docs.snowflake.com/en/sql-reference-functions.html\n //\n // https://docs.snowflake.com/en/sql-reference/functions-all.html\n // 1. run in console on this page: $x('//tbody/tr/*[1]//a/span/text()').map(x => x.nodeValue)\n // 2. split all lines that contain ',' or '/' into multiple lines\n // 3. remove all '— Deprecated' parts from the strings\n // 4. delete all strings that end with '', they are already covered in the list\n // 5. remove all strings that contain '[', they are operators not functions\n // 6. fix all values that contain '*'\n // 7. delete operatos ':', '::', '||'\n //\n // Steps 1-5 can be combined by the following script in the developer console:\n // $x('//tbody/tr/*[1]//a/span/text()').map(x => x.nodeValue) // Step 1\n // .map(x => x.split(x.includes(',') ? ',' : '/')).flat().map(x => x.trim()) // Step 2\n // .map(x => x.replace('— Deprecated', '')) // Step 3\n // .filter(x => !x.endsWith('')) // Step 4\n // .filter(x => !x.includes('[')) // Step 5\n \"ABS\",\n \"ACOS\",\n \"ACOSH\",\n \"ADD_MONTHS\",\n \"ALL_USER_NAMES\",\n \"ANY_VALUE\",\n \"APPROX_COUNT_DISTINCT\",\n \"APPROX_PERCENTILE\",\n \"APPROX_PERCENTILE_ACCUMULATE\",\n \"APPROX_PERCENTILE_COMBINE\",\n \"APPROX_PERCENTILE_ESTIMATE\",\n \"APPROX_TOP_K\",\n \"APPROX_TOP_K_ACCUMULATE\",\n \"APPROX_TOP_K_COMBINE\",\n \"APPROX_TOP_K_ESTIMATE\",\n \"APPROXIMATE_JACCARD_INDEX\",\n \"APPROXIMATE_SIMILARITY\",\n \"ARRAY_AGG\",\n \"ARRAY_APPEND\",\n \"ARRAY_CAT\",\n \"ARRAY_COMPACT\",\n \"ARRAY_CONSTRUCT\",\n \"ARRAY_CONSTRUCT_COMPACT\",\n \"ARRAY_CONTAINS\",\n \"ARRAY_INSERT\",\n \"ARRAY_INTERSECTION\",\n \"ARRAY_POSITION\",\n \"ARRAY_PREPEND\",\n \"ARRAY_SIZE\",\n \"ARRAY_SLICE\",\n \"ARRAY_TO_STRING\",\n \"ARRAY_UNION_AGG\",\n \"ARRAY_UNIQUE_AGG\",\n \"ARRAYS_OVERLAP\",\n \"AS_ARRAY\",\n \"AS_BINARY\",\n \"AS_BOOLEAN\",\n \"AS_CHAR\",\n \"AS_VARCHAR\",\n \"AS_DATE\",\n \"AS_DECIMAL\",\n \"AS_NUMBER\",\n \"AS_DOUBLE\",\n \"AS_REAL\",\n \"AS_INTEGER\",\n \"AS_OBJECT\",\n \"AS_TIME\",\n \"AS_TIMESTAMP_LTZ\",\n \"AS_TIMESTAMP_NTZ\",\n \"AS_TIMESTAMP_TZ\",\n \"ASCII\",\n \"ASIN\",\n \"ASINH\",\n \"ATAN\",\n \"ATAN2\",\n \"ATANH\",\n \"AUTO_REFRESH_REGISTRATION_HISTORY\",\n \"AUTOMATIC_CLUSTERING_HISTORY\",\n \"AVG\",\n \"BASE64_DECODE_BINARY\",\n \"BASE64_DECODE_STRING\",\n \"BASE64_ENCODE\",\n \"BIT_LENGTH\",\n \"BITAND\",\n \"BITAND_AGG\",\n \"BITMAP_BIT_POSITION\",\n \"BITMAP_BUCKET_NUMBER\",\n \"BITMAP_CONSTRUCT_AGG\",\n \"BITMAP_COUNT\",\n \"BITMAP_OR_AGG\",\n \"BITNOT\",\n \"BITOR\",\n \"BITOR_AGG\",\n \"BITSHIFTLEFT\",\n \"BITSHIFTRIGHT\",\n \"BITXOR\",\n \"BITXOR_AGG\",\n \"BOOLAND\",\n \"BOOLAND_AGG\",\n \"BOOLNOT\",\n \"BOOLOR\",\n \"BOOLOR_AGG\",\n \"BOOLXOR\",\n \"BOOLXOR_AGG\",\n \"BUILD_SCOPED_FILE_URL\",\n \"BUILD_STAGE_FILE_URL\",\n \"CASE\",\n \"CAST\",\n \"CBRT\",\n \"CEIL\",\n \"CHARINDEX\",\n \"CHECK_JSON\",\n \"CHECK_XML\",\n \"CHR\",\n \"CHAR\",\n \"COALESCE\",\n \"COLLATE\",\n \"COLLATION\",\n \"COMPLETE_TASK_GRAPHS\",\n \"COMPRESS\",\n \"CONCAT\",\n \"CONCAT_WS\",\n \"CONDITIONAL_CHANGE_EVENT\",\n \"CONDITIONAL_TRUE_EVENT\",\n \"CONTAINS\",\n \"CONVERT_TIMEZONE\",\n \"COPY_HISTORY\",\n \"CORR\",\n \"COS\",\n \"COSH\",\n \"COT\",\n \"COUNT\",\n \"COUNT_IF\",\n \"COVAR_POP\",\n \"COVAR_SAMP\",\n \"CUME_DIST\",\n \"CURRENT_ACCOUNT\",\n \"CURRENT_AVAILABLE_ROLES\",\n \"CURRENT_CLIENT\",\n \"CURRENT_DATABASE\",\n \"CURRENT_DATE\",\n \"CURRENT_IP_ADDRESS\",\n \"CURRENT_REGION\",\n \"CURRENT_ROLE\",\n \"CURRENT_SCHEMA\",\n \"CURRENT_SCHEMAS\",\n \"CURRENT_SECONDARY_ROLES\",\n \"CURRENT_SESSION\",\n \"CURRENT_STATEMENT\",\n \"CURRENT_TASK_GRAPHS\",\n \"CURRENT_TIME\",\n \"CURRENT_TIMESTAMP\",\n \"CURRENT_TRANSACTION\",\n \"CURRENT_USER\",\n \"CURRENT_VERSION\",\n \"CURRENT_WAREHOUSE\",\n \"DATA_TRANSFER_HISTORY\",\n \"DATABASE_REFRESH_HISTORY\",\n \"DATABASE_REFRESH_PROGRESS\",\n \"DATABASE_REFRESH_PROGRESS_BY_JOB\",\n \"DATABASE_STORAGE_USAGE_HISTORY\",\n \"DATE_FROM_PARTS\",\n \"DATE_PART\",\n \"DATE_TRUNC\",\n \"DATEADD\",\n \"DATEDIFF\",\n \"DAYNAME\",\n \"DECODE\",\n \"DECOMPRESS_BINARY\",\n \"DECOMPRESS_STRING\",\n \"DECRYPT\",\n \"DECRYPT_RAW\",\n \"DEGREES\",\n \"DENSE_RANK\",\n \"DIV0\",\n \"EDITDISTANCE\",\n \"ENCRYPT\",\n \"ENCRYPT_RAW\",\n \"ENDSWITH\",\n \"EQUAL_NULL\",\n \"EXP\",\n \"EXPLAIN_JSON\",\n \"EXTERNAL_FUNCTIONS_HISTORY\",\n \"EXTERNAL_TABLE_FILES\",\n \"EXTERNAL_TABLE_FILE_REGISTRATION_HISTORY\",\n \"EXTRACT\",\n \"EXTRACT_SEMANTIC_CATEGORIES\",\n \"FACTORIAL\",\n \"FIRST_VALUE\",\n \"FLATTEN\",\n \"FLOOR\",\n \"GENERATE_COLUMN_DESCRIPTION\",\n \"GENERATOR\",\n \"GET\",\n \"GET_ABSOLUTE_PATH\",\n \"GET_DDL\",\n \"GET_IGNORE_CASE\",\n \"GET_OBJECT_REFERENCES\",\n \"GET_PATH\",\n \"GET_PRESIGNED_URL\",\n \"GET_RELATIVE_PATH\",\n \"GET_STAGE_LOCATION\",\n \"GETBIT\",\n \"GREATEST\",\n \"GROUPING\",\n \"GROUPING_ID\",\n \"HASH\",\n \"HASH_AGG\",\n \"HAVERSINE\",\n \"HEX_DECODE_BINARY\",\n \"HEX_DECODE_STRING\",\n \"HEX_ENCODE\",\n \"HLL\",\n \"HLL_ACCUMULATE\",\n \"HLL_COMBINE\",\n \"HLL_ESTIMATE\",\n \"HLL_EXPORT\",\n \"HLL_IMPORT\",\n \"HOUR\",\n \"MINUTE\",\n \"SECOND\",\n \"IFF\",\n \"IFNULL\",\n \"ILIKE\",\n \"ILIKE ANY\",\n \"INFER_SCHEMA\",\n \"INITCAP\",\n \"INSERT\",\n \"INVOKER_ROLE\",\n \"INVOKER_SHARE\",\n \"IS_ARRAY\",\n \"IS_BINARY\",\n \"IS_BOOLEAN\",\n \"IS_CHAR\",\n \"IS_VARCHAR\",\n \"IS_DATE\",\n \"IS_DATE_VALUE\",\n \"IS_DECIMAL\",\n \"IS_DOUBLE\",\n \"IS_REAL\",\n \"IS_GRANTED_TO_INVOKER_ROLE\",\n \"IS_INTEGER\",\n \"IS_NULL_VALUE\",\n \"IS_OBJECT\",\n \"IS_ROLE_IN_SESSION\",\n \"IS_TIME\",\n \"IS_TIMESTAMP_LTZ\",\n \"IS_TIMESTAMP_NTZ\",\n \"IS_TIMESTAMP_TZ\",\n \"JAROWINKLER_SIMILARITY\",\n \"JSON_EXTRACT_PATH_TEXT\",\n \"KURTOSIS\",\n \"LAG\",\n \"LAST_DAY\",\n \"LAST_QUERY_ID\",\n \"LAST_TRANSACTION\",\n \"LAST_VALUE\",\n \"LEAD\",\n \"LEAST\",\n \"LEFT\",\n \"LENGTH\",\n \"LEN\",\n \"LIKE\",\n \"LIKE ALL\",\n \"LIKE ANY\",\n \"LISTAGG\",\n \"LN\",\n \"LOCALTIME\",\n \"LOCALTIMESTAMP\",\n \"LOG\",\n \"LOGIN_HISTORY\",\n \"LOGIN_HISTORY_BY_USER\",\n \"LOWER\",\n \"LPAD\",\n \"LTRIM\",\n \"MATERIALIZED_VIEW_REFRESH_HISTORY\",\n \"MD5\",\n \"MD5_HEX\",\n \"MD5_BINARY\",\n \"MD5_NUMBER \\u2014 Obsoleted\",\n \"MD5_NUMBER_LOWER64\",\n \"MD5_NUMBER_UPPER64\",\n \"MEDIAN\",\n \"MIN\",\n \"MAX\",\n \"MINHASH\",\n \"MINHASH_COMBINE\",\n \"MOD\",\n \"MODE\",\n \"MONTHNAME\",\n \"MONTHS_BETWEEN\",\n \"NEXT_DAY\",\n \"NORMAL\",\n \"NTH_VALUE\",\n \"NTILE\",\n \"NULLIF\",\n \"NULLIFZERO\",\n \"NVL\",\n \"NVL2\",\n \"OBJECT_AGG\",\n \"OBJECT_CONSTRUCT\",\n \"OBJECT_CONSTRUCT_KEEP_NULL\",\n \"OBJECT_DELETE\",\n \"OBJECT_INSERT\",\n \"OBJECT_KEYS\",\n \"OBJECT_PICK\",\n \"OCTET_LENGTH\",\n \"PARSE_IP\",\n \"PARSE_JSON\",\n \"PARSE_URL\",\n \"PARSE_XML\",\n \"PERCENT_RANK\",\n \"PERCENTILE_CONT\",\n \"PERCENTILE_DISC\",\n \"PI\",\n \"PIPE_USAGE_HISTORY\",\n \"POLICY_CONTEXT\",\n \"POLICY_REFERENCES\",\n \"POSITION\",\n \"POW\",\n \"POWER\",\n \"PREVIOUS_DAY\",\n \"QUERY_ACCELERATION_HISTORY\",\n \"QUERY_HISTORY\",\n \"QUERY_HISTORY_BY_SESSION\",\n \"QUERY_HISTORY_BY_USER\",\n \"QUERY_HISTORY_BY_WAREHOUSE\",\n \"RADIANS\",\n \"RANDOM\",\n \"RANDSTR\",\n \"RANK\",\n \"RATIO_TO_REPORT\",\n \"REGEXP\",\n \"REGEXP_COUNT\",\n \"REGEXP_INSTR\",\n \"REGEXP_LIKE\",\n \"REGEXP_REPLACE\",\n \"REGEXP_SUBSTR\",\n \"REGEXP_SUBSTR_ALL\",\n \"REGR_AVGX\",\n \"REGR_AVGY\",\n \"REGR_COUNT\",\n \"REGR_INTERCEPT\",\n \"REGR_R2\",\n \"REGR_SLOPE\",\n \"REGR_SXX\",\n \"REGR_SXY\",\n \"REGR_SYY\",\n \"REGR_VALX\",\n \"REGR_VALY\",\n \"REPEAT\",\n \"REPLACE\",\n \"REPLICATION_GROUP_REFRESH_HISTORY\",\n \"REPLICATION_GROUP_REFRESH_PROGRESS\",\n \"REPLICATION_GROUP_REFRESH_PROGRESS_BY_JOB\",\n \"REPLICATION_GROUP_USAGE_HISTORY\",\n \"REPLICATION_USAGE_HISTORY\",\n \"REST_EVENT_HISTORY\",\n \"RESULT_SCAN\",\n \"REVERSE\",\n \"RIGHT\",\n \"RLIKE\",\n \"ROUND\",\n \"ROW_NUMBER\",\n \"RPAD\",\n \"RTRIM\",\n \"RTRIMMED_LENGTH\",\n \"SEARCH_OPTIMIZATION_HISTORY\",\n \"SEQ1\",\n \"SEQ2\",\n \"SEQ4\",\n \"SEQ8\",\n \"SERVERLESS_TASK_HISTORY\",\n \"SHA1\",\n \"SHA1_HEX\",\n \"SHA1_BINARY\",\n \"SHA2\",\n \"SHA2_HEX\",\n \"SHA2_BINARY\",\n \"SIGN\",\n \"SIN\",\n \"SINH\",\n \"SKEW\",\n \"SOUNDEX\",\n \"SPACE\",\n \"SPLIT\",\n \"SPLIT_PART\",\n \"SPLIT_TO_TABLE\",\n \"SQRT\",\n \"SQUARE\",\n \"ST_AREA\",\n \"ST_ASEWKB\",\n \"ST_ASEWKT\",\n \"ST_ASGEOJSON\",\n \"ST_ASWKB\",\n \"ST_ASBINARY\",\n \"ST_ASWKT\",\n \"ST_ASTEXT\",\n \"ST_AZIMUTH\",\n \"ST_CENTROID\",\n \"ST_COLLECT\",\n \"ST_CONTAINS\",\n \"ST_COVEREDBY\",\n \"ST_COVERS\",\n \"ST_DIFFERENCE\",\n \"ST_DIMENSION\",\n \"ST_DISJOINT\",\n \"ST_DISTANCE\",\n \"ST_DWITHIN\",\n \"ST_ENDPOINT\",\n \"ST_ENVELOPE\",\n \"ST_GEOGFROMGEOHASH\",\n \"ST_GEOGPOINTFROMGEOHASH\",\n \"ST_GEOGRAPHYFROMWKB\",\n \"ST_GEOGRAPHYFROMWKT\",\n \"ST_GEOHASH\",\n \"ST_GEOMETRYFROMWKB\",\n \"ST_GEOMETRYFROMWKT\",\n \"ST_HAUSDORFFDISTANCE\",\n \"ST_INTERSECTION\",\n \"ST_INTERSECTS\",\n \"ST_LENGTH\",\n \"ST_MAKEGEOMPOINT\",\n \"ST_GEOM_POINT\",\n \"ST_MAKELINE\",\n \"ST_MAKEPOINT\",\n \"ST_POINT\",\n \"ST_MAKEPOLYGON\",\n \"ST_POLYGON\",\n \"ST_NPOINTS\",\n \"ST_NUMPOINTS\",\n \"ST_PERIMETER\",\n \"ST_POINTN\",\n \"ST_SETSRID\",\n \"ST_SIMPLIFY\",\n \"ST_SRID\",\n \"ST_STARTPOINT\",\n \"ST_SYMDIFFERENCE\",\n \"ST_UNION\",\n \"ST_WITHIN\",\n \"ST_X\",\n \"ST_XMAX\",\n \"ST_XMIN\",\n \"ST_Y\",\n \"ST_YMAX\",\n \"ST_YMIN\",\n \"STAGE_DIRECTORY_FILE_REGISTRATION_HISTORY\",\n \"STAGE_STORAGE_USAGE_HISTORY\",\n \"STARTSWITH\",\n \"STDDEV\",\n \"STDDEV_POP\",\n \"STDDEV_SAMP\",\n \"STRIP_NULL_VALUE\",\n \"STRTOK\",\n \"STRTOK_SPLIT_TO_TABLE\",\n \"STRTOK_TO_ARRAY\",\n \"SUBSTR\",\n \"SUBSTRING\",\n \"SUM\",\n \"SYSDATE\",\n \"SYSTEM$ABORT_SESSION\",\n \"SYSTEM$ABORT_TRANSACTION\",\n \"SYSTEM$AUTHORIZE_PRIVATELINK\",\n \"SYSTEM$AUTHORIZE_STAGE_PRIVATELINK_ACCESS\",\n \"SYSTEM$BEHAVIOR_CHANGE_BUNDLE_STATUS\",\n \"SYSTEM$CANCEL_ALL_QUERIES\",\n \"SYSTEM$CANCEL_QUERY\",\n \"SYSTEM$CLUSTERING_DEPTH\",\n \"SYSTEM$CLUSTERING_INFORMATION\",\n \"SYSTEM$CLUSTERING_RATIO \",\n \"SYSTEM$CURRENT_USER_TASK_NAME\",\n \"SYSTEM$DATABASE_REFRESH_HISTORY \",\n \"SYSTEM$DATABASE_REFRESH_PROGRESS\",\n \"SYSTEM$DATABASE_REFRESH_PROGRESS_BY_JOB \",\n \"SYSTEM$DISABLE_BEHAVIOR_CHANGE_BUNDLE\",\n \"SYSTEM$DISABLE_DATABASE_REPLICATION\",\n \"SYSTEM$ENABLE_BEHAVIOR_CHANGE_BUNDLE\",\n \"SYSTEM$ESTIMATE_QUERY_ACCELERATION\",\n \"SYSTEM$ESTIMATE_SEARCH_OPTIMIZATION_COSTS\",\n \"SYSTEM$EXPLAIN_JSON_TO_TEXT\",\n \"SYSTEM$EXPLAIN_PLAN_JSON\",\n \"SYSTEM$EXTERNAL_TABLE_PIPE_STATUS\",\n \"SYSTEM$GENERATE_SAML_CSR\",\n \"SYSTEM$GENERATE_SCIM_ACCESS_TOKEN\",\n \"SYSTEM$GET_AWS_SNS_IAM_POLICY\",\n \"SYSTEM$GET_PREDECESSOR_RETURN_VALUE\",\n \"SYSTEM$GET_PRIVATELINK\",\n \"SYSTEM$GET_PRIVATELINK_AUTHORIZED_ENDPOINTS\",\n \"SYSTEM$GET_PRIVATELINK_CONFIG\",\n \"SYSTEM$GET_SNOWFLAKE_PLATFORM_INFO\",\n \"SYSTEM$GET_TAG\",\n \"SYSTEM$GET_TAG_ALLOWED_VALUES\",\n \"SYSTEM$GET_TAG_ON_CURRENT_COLUMN\",\n \"SYSTEM$GET_TAG_ON_CURRENT_TABLE\",\n \"SYSTEM$GLOBAL_ACCOUNT_SET_PARAMETER\",\n \"SYSTEM$LAST_CHANGE_COMMIT_TIME\",\n \"SYSTEM$LINK_ACCOUNT_OBJECTS_BY_NAME\",\n \"SYSTEM$MIGRATE_SAML_IDP_REGISTRATION\",\n \"SYSTEM$PIPE_FORCE_RESUME\",\n \"SYSTEM$PIPE_STATUS\",\n \"SYSTEM$REVOKE_PRIVATELINK\",\n \"SYSTEM$REVOKE_STAGE_PRIVATELINK_ACCESS\",\n \"SYSTEM$SET_RETURN_VALUE\",\n \"SYSTEM$SHOW_OAUTH_CLIENT_SECRETS\",\n \"SYSTEM$STREAM_GET_TABLE_TIMESTAMP\",\n \"SYSTEM$STREAM_HAS_DATA\",\n \"SYSTEM$TASK_DEPENDENTS_ENABLE\",\n \"SYSTEM$TYPEOF\",\n \"SYSTEM$USER_TASK_CANCEL_ONGOING_EXECUTIONS\",\n \"SYSTEM$VERIFY_EXTERNAL_OAUTH_TOKEN\",\n \"SYSTEM$WAIT\",\n \"SYSTEM$WHITELIST\",\n \"SYSTEM$WHITELIST_PRIVATELINK\",\n \"TAG_REFERENCES\",\n \"TAG_REFERENCES_ALL_COLUMNS\",\n \"TAG_REFERENCES_WITH_LINEAGE\",\n \"TAN\",\n \"TANH\",\n \"TASK_DEPENDENTS\",\n \"TASK_HISTORY\",\n \"TIME_FROM_PARTS\",\n \"TIME_SLICE\",\n \"TIMEADD\",\n \"TIMEDIFF\",\n \"TIMESTAMP_FROM_PARTS\",\n \"TIMESTAMPADD\",\n \"TIMESTAMPDIFF\",\n \"TO_ARRAY\",\n \"TO_BINARY\",\n \"TO_BOOLEAN\",\n \"TO_CHAR\",\n \"TO_VARCHAR\",\n \"TO_DATE\",\n \"DATE\",\n \"TO_DECIMAL\",\n \"TO_NUMBER\",\n \"TO_NUMERIC\",\n \"TO_DOUBLE\",\n \"TO_GEOGRAPHY\",\n \"TO_GEOMETRY\",\n \"TO_JSON\",\n \"TO_OBJECT\",\n \"TO_TIME\",\n \"TIME\",\n \"TO_TIMESTAMP\",\n \"TO_TIMESTAMP_LTZ\",\n \"TO_TIMESTAMP_NTZ\",\n \"TO_TIMESTAMP_TZ\",\n \"TO_VARIANT\",\n \"TO_XML\",\n \"TRANSLATE\",\n \"TRIM\",\n \"TRUNCATE\",\n \"TRUNC\",\n \"TRUNC\",\n \"TRY_BASE64_DECODE_BINARY\",\n \"TRY_BASE64_DECODE_STRING\",\n \"TRY_CAST\",\n \"TRY_HEX_DECODE_BINARY\",\n \"TRY_HEX_DECODE_STRING\",\n \"TRY_PARSE_JSON\",\n \"TRY_TO_BINARY\",\n \"TRY_TO_BOOLEAN\",\n \"TRY_TO_DATE\",\n \"TRY_TO_DECIMAL\",\n \"TRY_TO_NUMBER\",\n \"TRY_TO_NUMERIC\",\n \"TRY_TO_DOUBLE\",\n \"TRY_TO_GEOGRAPHY\",\n \"TRY_TO_GEOMETRY\",\n \"TRY_TO_TIME\",\n \"TRY_TO_TIMESTAMP\",\n \"TRY_TO_TIMESTAMP_LTZ\",\n \"TRY_TO_TIMESTAMP_NTZ\",\n \"TRY_TO_TIMESTAMP_TZ\",\n \"TYPEOF\",\n \"UNICODE\",\n \"UNIFORM\",\n \"UPPER\",\n \"UUID_STRING\",\n \"VALIDATE\",\n \"VALIDATE_PIPE_LOAD\",\n \"VAR_POP\",\n \"VAR_SAMP\",\n \"VARIANCE\",\n \"VARIANCE_SAMP\",\n \"VARIANCE_POP\",\n \"WAREHOUSE_LOAD_HISTORY\",\n \"WAREHOUSE_METERING_HISTORY\",\n \"WIDTH_BUCKET\",\n \"XMLGET\",\n \"YEAR\",\n \"YEAROFWEEK\",\n \"YEAROFWEEKISO\",\n \"DAY\",\n \"DAYOFMONTH\",\n \"DAYOFWEEK\",\n \"DAYOFWEEKISO\",\n \"DAYOFYEAR\",\n \"WEEK\",\n \"WEEK\",\n \"WEEKOFYEAR\",\n \"WEEKISO\",\n \"MONTH\",\n \"QUARTER\",\n \"ZEROIFNULL\",\n \"ZIPF\"\n];\n\n// src/languages/snowflake/snowflake.keywords.ts\nvar keywords17 = [\n // https://docs.snowflake.com/en/sql-reference/reserved-keywords.html\n //\n // run in console on this page: $x('//tbody/tr/*[1]/p/text()').map(x => x.nodeValue)\n \"ACCOUNT\",\n \"ALL\",\n \"ALTER\",\n \"AND\",\n \"ANY\",\n \"AS\",\n \"BETWEEN\",\n \"BY\",\n \"CASE\",\n \"CAST\",\n \"CHECK\",\n \"COLUMN\",\n \"CONNECT\",\n \"CONNECTION\",\n \"CONSTRAINT\",\n \"CREATE\",\n \"CROSS\",\n \"CURRENT\",\n \"CURRENT_DATE\",\n \"CURRENT_TIME\",\n \"CURRENT_TIMESTAMP\",\n \"CURRENT_USER\",\n \"DATABASE\",\n \"DELETE\",\n \"DISTINCT\",\n \"DROP\",\n \"ELSE\",\n \"EXISTS\",\n \"FALSE\",\n \"FOLLOWING\",\n \"FOR\",\n \"FROM\",\n \"FULL\",\n \"GRANT\",\n \"GROUP\",\n \"GSCLUSTER\",\n \"HAVING\",\n \"ILIKE\",\n \"IN\",\n \"INCREMENT\",\n \"INNER\",\n \"INSERT\",\n \"INTERSECT\",\n \"INTO\",\n \"IS\",\n \"ISSUE\",\n \"JOIN\",\n \"LATERAL\",\n \"LEFT\",\n \"LIKE\",\n \"LOCALTIME\",\n \"LOCALTIMESTAMP\",\n \"MINUS\",\n \"NATURAL\",\n \"NOT\",\n \"NULL\",\n \"OF\",\n \"ON\",\n \"OR\",\n \"ORDER\",\n \"ORGANIZATION\",\n \"QUALIFY\",\n \"REGEXP\",\n \"REVOKE\",\n \"RIGHT\",\n \"RLIKE\",\n \"ROW\",\n \"ROWS\",\n \"SAMPLE\",\n \"SCHEMA\",\n \"SELECT\",\n \"SET\",\n \"SOME\",\n \"START\",\n \"TABLE\",\n \"TABLESAMPLE\",\n \"THEN\",\n \"TO\",\n \"TRIGGER\",\n \"TRUE\",\n \"TRY_CAST\",\n \"UNION\",\n \"UNIQUE\",\n \"UPDATE\",\n \"USING\",\n \"VALUES\",\n \"VIEW\",\n \"WHEN\",\n \"WHENEVER\",\n \"WHERE\",\n \"WITH\",\n // These are definitely keywords, but haven't found a definite list in the docs\n \"COMMENT\"\n];\nvar dataTypes17 = [\n \"NUMBER\",\n \"DECIMAL\",\n \"NUMERIC\",\n \"INT\",\n \"INTEGER\",\n \"BIGINT\",\n \"SMALLINT\",\n \"TINYINT\",\n \"BYTEINT\",\n \"FLOAT\",\n \"FLOAT4\",\n \"FLOAT8\",\n \"DOUBLE\",\n \"DOUBLE PRECISION\",\n \"REAL\",\n \"VARCHAR\",\n \"CHAR\",\n \"CHARACTER\",\n \"STRING\",\n \"TEXT\",\n \"BINARY\",\n \"VARBINARY\",\n \"BOOLEAN\",\n \"DATE\",\n \"DATETIME\",\n \"TIME\",\n \"TIMESTAMP\",\n \"TIMESTAMP_LTZ\",\n \"TIMESTAMP_NTZ\",\n \"TIMESTAMP\",\n \"TIMESTAMP_TZ\",\n \"VARIANT\",\n \"OBJECT\",\n \"ARRAY\",\n \"GEOGRAPHY\",\n \"GEOMETRY\"\n];\n\n// src/languages/snowflake/snowflake.formatter.ts\nvar reservedSelect17 = expandPhrases([\"SELECT [ALL | DISTINCT]\"]);\nvar reservedClauses17 = expandPhrases([\n // queries\n \"WITH [RECURSIVE]\",\n \"FROM\",\n \"WHERE\",\n \"GROUP BY\",\n \"HAVING\",\n \"PARTITION BY\",\n \"ORDER BY\",\n \"QUALIFY\",\n \"LIMIT\",\n \"OFFSET\",\n \"FETCH [FIRST | NEXT]\",\n // Data manipulation\n // - insert:\n \"INSERT [OVERWRITE] [ALL INTO | INTO | ALL | FIRST]\",\n \"{THEN | ELSE} INTO\",\n \"VALUES\",\n // - update:\n \"SET\",\n \"CLUSTER BY\",\n \"[WITH] {MASKING POLICY | TAG | ROW ACCESS POLICY}\",\n \"COPY GRANTS\",\n \"USING TEMPLATE\",\n \"MERGE INTO\",\n \"WHEN MATCHED [AND]\",\n \"THEN {UPDATE SET | DELETE}\",\n \"WHEN NOT MATCHED THEN INSERT\"\n]);\nvar onelineClauses17 = expandPhrases([\n // - create:\n \"CREATE [OR REPLACE] [VOLATILE] TABLE [IF NOT EXISTS]\",\n \"CREATE [OR REPLACE] [LOCAL | GLOBAL] {TEMP|TEMPORARY} TABLE [IF NOT EXISTS]\",\n \"CREATE [OR REPLACE] [SECURE] [RECURSIVE] VIEW [IF NOT EXISTS]\",\n // - update:\n \"UPDATE\",\n // - delete:\n \"DELETE FROM\",\n // - drop table:\n \"DROP TABLE [IF EXISTS]\",\n // - alter table:\n \"ALTER TABLE [IF EXISTS]\",\n \"RENAME TO\",\n \"SWAP WITH\",\n \"[SUSPEND | RESUME] RECLUSTER\",\n \"DROP CLUSTERING KEY\",\n \"ADD [COLUMN]\",\n \"RENAME COLUMN\",\n \"{ALTER | MODIFY} [COLUMN]\",\n \"DROP [COLUMN]\",\n \"{ADD | ALTER | MODIFY | DROP} [CONSTRAINT]\",\n \"RENAME CONSTRAINT\",\n \"{ADD | DROP} SEARCH OPTIMIZATION\",\n \"{SET | UNSET} TAG\",\n // Actually TAG is optional, but that conflicts with UPDATE..SET statement\n \"{ADD | DROP} ROW ACCESS POLICY\",\n \"DROP ALL ROW ACCESS POLICIES\",\n \"{SET | DROP} DEFAULT\",\n // for alter column\n \"{SET | DROP} NOT NULL\",\n // for alter column\n \"[SET DATA] TYPE\",\n // for alter column\n \"UNSET COMMENT\",\n // for alter column\n \"{SET | UNSET} MASKING POLICY\",\n // for alter column\n // - truncate:\n \"TRUNCATE [TABLE] [IF EXISTS]\",\n // other\n // https://docs.snowflake.com/en/sql-reference/sql-all.html\n //\n // 1. run in console on this page: $x('//tbody/tr/*[1]//a/span/text()').map(x => x.nodeValue)\n // 2. delete all lines that contain a sting like '(.*)', they are already covered in the list\n // 3. delete all lines that contain a sting like '<.*>', they are already covered in the list\n // 4. delete all lines that contain '…', they are part of a regex statement that can't be covered here\n // 5. Manually add 'COPY INTO'\n // 6. Remove all lines that are already in `reservedClauses`\n //\n // Steps 1-4 can be combined by the following script in the developer console:\n // $x('//tbody/tr/*[1]//a/span/text()').map(x => x.nodeValue) // Step 1\n // filter(x => !x.match(/\\(.*\\)/) && !x.match(/…/) && !x.match(/<.*>/)) // Step 2-4\n \"ALTER ACCOUNT\",\n \"ALTER API INTEGRATION\",\n \"ALTER CONNECTION\",\n \"ALTER DATABASE\",\n \"ALTER EXTERNAL TABLE\",\n \"ALTER FAILOVER GROUP\",\n \"ALTER FILE FORMAT\",\n \"ALTER FUNCTION\",\n \"ALTER INTEGRATION\",\n \"ALTER MASKING POLICY\",\n \"ALTER MATERIALIZED VIEW\",\n \"ALTER NETWORK POLICY\",\n \"ALTER NOTIFICATION INTEGRATION\",\n \"ALTER PIPE\",\n \"ALTER PROCEDURE\",\n \"ALTER REPLICATION GROUP\",\n \"ALTER RESOURCE MONITOR\",\n \"ALTER ROLE\",\n \"ALTER ROW ACCESS POLICY\",\n \"ALTER SCHEMA\",\n \"ALTER SECURITY INTEGRATION\",\n \"ALTER SEQUENCE\",\n \"ALTER SESSION\",\n \"ALTER SESSION POLICY\",\n \"ALTER SHARE\",\n \"ALTER STAGE\",\n \"ALTER STORAGE INTEGRATION\",\n \"ALTER STREAM\",\n \"ALTER TAG\",\n \"ALTER TASK\",\n \"ALTER USER\",\n \"ALTER VIEW\",\n \"ALTER WAREHOUSE\",\n \"BEGIN\",\n \"CALL\",\n \"COMMIT\",\n \"COPY INTO\",\n \"CREATE ACCOUNT\",\n \"CREATE API INTEGRATION\",\n \"CREATE CONNECTION\",\n \"CREATE DATABASE\",\n \"CREATE EXTERNAL FUNCTION\",\n \"CREATE EXTERNAL TABLE\",\n \"CREATE FAILOVER GROUP\",\n \"CREATE FILE FORMAT\",\n \"CREATE FUNCTION\",\n \"CREATE INTEGRATION\",\n \"CREATE MANAGED ACCOUNT\",\n \"CREATE MASKING POLICY\",\n \"CREATE MATERIALIZED VIEW\",\n \"CREATE NETWORK POLICY\",\n \"CREATE NOTIFICATION INTEGRATION\",\n \"CREATE PIPE\",\n \"CREATE PROCEDURE\",\n \"CREATE REPLICATION GROUP\",\n \"CREATE RESOURCE MONITOR\",\n \"CREATE ROLE\",\n \"CREATE ROW ACCESS POLICY\",\n \"CREATE SCHEMA\",\n \"CREATE SECURITY INTEGRATION\",\n \"CREATE SEQUENCE\",\n \"CREATE SESSION POLICY\",\n \"CREATE SHARE\",\n \"CREATE STAGE\",\n \"CREATE STORAGE INTEGRATION\",\n \"CREATE STREAM\",\n \"CREATE TAG\",\n \"CREATE TASK\",\n \"CREATE USER\",\n \"CREATE WAREHOUSE\",\n \"DELETE\",\n \"DESCRIBE DATABASE\",\n \"DESCRIBE EXTERNAL TABLE\",\n \"DESCRIBE FILE FORMAT\",\n \"DESCRIBE FUNCTION\",\n \"DESCRIBE INTEGRATION\",\n \"DESCRIBE MASKING POLICY\",\n \"DESCRIBE MATERIALIZED VIEW\",\n \"DESCRIBE NETWORK POLICY\",\n \"DESCRIBE PIPE\",\n \"DESCRIBE PROCEDURE\",\n \"DESCRIBE RESULT\",\n \"DESCRIBE ROW ACCESS POLICY\",\n \"DESCRIBE SCHEMA\",\n \"DESCRIBE SEQUENCE\",\n \"DESCRIBE SESSION POLICY\",\n \"DESCRIBE SHARE\",\n \"DESCRIBE STAGE\",\n \"DESCRIBE STREAM\",\n \"DESCRIBE TABLE\",\n \"DESCRIBE TASK\",\n \"DESCRIBE TRANSACTION\",\n \"DESCRIBE USER\",\n \"DESCRIBE VIEW\",\n \"DESCRIBE WAREHOUSE\",\n \"DROP CONNECTION\",\n \"DROP DATABASE\",\n \"DROP EXTERNAL TABLE\",\n \"DROP FAILOVER GROUP\",\n \"DROP FILE FORMAT\",\n \"DROP FUNCTION\",\n \"DROP INTEGRATION\",\n \"DROP MANAGED ACCOUNT\",\n \"DROP MASKING POLICY\",\n \"DROP MATERIALIZED VIEW\",\n \"DROP NETWORK POLICY\",\n \"DROP PIPE\",\n \"DROP PROCEDURE\",\n \"DROP REPLICATION GROUP\",\n \"DROP RESOURCE MONITOR\",\n \"DROP ROLE\",\n \"DROP ROW ACCESS POLICY\",\n \"DROP SCHEMA\",\n \"DROP SEQUENCE\",\n \"DROP SESSION POLICY\",\n \"DROP SHARE\",\n \"DROP STAGE\",\n \"DROP STREAM\",\n \"DROP TAG\",\n \"DROP TASK\",\n \"DROP USER\",\n \"DROP VIEW\",\n \"DROP WAREHOUSE\",\n \"EXECUTE IMMEDIATE\",\n \"EXECUTE TASK\",\n \"EXPLAIN\",\n \"GET\",\n \"GRANT OWNERSHIP\",\n \"GRANT ROLE\",\n \"INSERT\",\n \"LIST\",\n \"MERGE\",\n \"PUT\",\n \"REMOVE\",\n \"REVOKE ROLE\",\n \"ROLLBACK\",\n \"SHOW COLUMNS\",\n \"SHOW CONNECTIONS\",\n \"SHOW DATABASES\",\n \"SHOW DATABASES IN FAILOVER GROUP\",\n \"SHOW DATABASES IN REPLICATION GROUP\",\n \"SHOW DELEGATED AUTHORIZATIONS\",\n \"SHOW EXTERNAL FUNCTIONS\",\n \"SHOW EXTERNAL TABLES\",\n \"SHOW FAILOVER GROUPS\",\n \"SHOW FILE FORMATS\",\n \"SHOW FUNCTIONS\",\n \"SHOW GLOBAL ACCOUNTS\",\n \"SHOW GRANTS\",\n \"SHOW INTEGRATIONS\",\n \"SHOW LOCKS\",\n \"SHOW MANAGED ACCOUNTS\",\n \"SHOW MASKING POLICIES\",\n \"SHOW MATERIALIZED VIEWS\",\n \"SHOW NETWORK POLICIES\",\n \"SHOW OBJECTS\",\n \"SHOW ORGANIZATION ACCOUNTS\",\n \"SHOW PARAMETERS\",\n \"SHOW PIPES\",\n \"SHOW PRIMARY KEYS\",\n \"SHOW PROCEDURES\",\n \"SHOW REGIONS\",\n \"SHOW REPLICATION ACCOUNTS\",\n \"SHOW REPLICATION DATABASES\",\n \"SHOW REPLICATION GROUPS\",\n \"SHOW RESOURCE MONITORS\",\n \"SHOW ROLES\",\n \"SHOW ROW ACCESS POLICIES\",\n \"SHOW SCHEMAS\",\n \"SHOW SEQUENCES\",\n \"SHOW SESSION POLICIES\",\n \"SHOW SHARES\",\n \"SHOW SHARES IN FAILOVER GROUP\",\n \"SHOW SHARES IN REPLICATION GROUP\",\n \"SHOW STAGES\",\n \"SHOW STREAMS\",\n \"SHOW TABLES\",\n \"SHOW TAGS\",\n \"SHOW TASKS\",\n \"SHOW TRANSACTIONS\",\n \"SHOW USER FUNCTIONS\",\n \"SHOW USERS\",\n \"SHOW VARIABLES\",\n \"SHOW VIEWS\",\n \"SHOW WAREHOUSES\",\n \"TRUNCATE MATERIALIZED VIEW\",\n \"UNDROP DATABASE\",\n \"UNDROP SCHEMA\",\n \"UNDROP TABLE\",\n \"UNDROP TAG\",\n \"UNSET\",\n \"USE DATABASE\",\n \"USE ROLE\",\n \"USE SCHEMA\",\n \"USE SECONDARY ROLES\",\n \"USE WAREHOUSE\"\n]);\nvar reservedSetOperations17 = expandPhrases([\"UNION [ALL]\", \"MINUS\", \"EXCEPT\", \"INTERSECT\"]);\nvar reservedJoins17 = expandPhrases([\n \"[INNER] JOIN\",\n \"[NATURAL] {LEFT | RIGHT | FULL} [OUTER] JOIN\",\n \"{CROSS | NATURAL} JOIN\"\n]);\nvar reservedPhrases17 = expandPhrases([\n \"{ROWS | RANGE} BETWEEN\",\n \"ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]\"\n]);\nvar snowflake = {\n name: \"snowflake\",\n tokenizerOptions: {\n reservedSelect: reservedSelect17,\n reservedClauses: [...reservedClauses17, ...onelineClauses17],\n reservedSetOperations: reservedSetOperations17,\n reservedJoins: reservedJoins17,\n reservedPhrases: reservedPhrases17,\n reservedKeywords: keywords17,\n reservedDataTypes: dataTypes17,\n reservedFunctionNames: functions17,\n stringTypes: [\"$$\", `''-qq-bs`],\n identTypes: ['\"\"-qq'],\n variableTypes: [\n // for accessing columns at certain positons in the table\n { regex: \"[$][1-9]\\\\d*\" },\n // identifier style syntax\n { regex: \"[$][_a-zA-Z][_a-zA-Z0-9$]*\" }\n ],\n extraParens: [\"[]\"],\n identChars: { rest: \"$\" },\n lineCommentTypes: [\"--\", \"//\"],\n operators: [\n // Modulo\n \"%\",\n // Type cast\n \"::\",\n // String concat\n \"||\",\n // Get Path\n \":\",\n // Generators: https://docs.snowflake.com/en/sql-reference/functions/generator.html#generator\n \"=>\"\n ]\n },\n formatOptions: {\n alwaysDenseOperators: [\":\", \"::\"],\n onelineClauses: onelineClauses17\n }\n};\n\n// src/utils.ts\nvar last = (arr) => arr[arr.length - 1];\nvar sortByLengthDesc = (strings) => strings.sort((a, b) => b.length - a.length || a.localeCompare(b));\nvar equalizeWhitespace = (s) => s.replace(/\\s+/gu, \" \");\nvar isMultiline = (text) => /\\n/.test(text);\n\n// src/lexer/regexUtil.ts\nvar escapeRegExp = (string2) => string2.replace(/[.*+?^${}()|[\\]\\\\]/gu, \"\\\\$&\");\nvar WHITESPACE_REGEX = /\\s+/uy;\nvar patternToRegex = (pattern) => new RegExp(`(?:${pattern})`, \"uy\");\nvar toCaseInsensitivePattern = (prefix) => prefix.split(\"\").map((char) => / /gu.test(char) ? \"\\\\s+\" : `[${char.toUpperCase()}${char.toLowerCase()}]`).join(\"\");\nvar withDashes = (pattern) => pattern + \"(?:-\" + pattern + \")*\";\nvar prefixesPattern = ({ prefixes, requirePrefix }) => `(?:${prefixes.map(toCaseInsensitivePattern).join(\"|\")}${requirePrefix ? \"\" : \"|\"})`;\n\n// src/lexer/regexFactory.ts\nvar lineComment = (lineCommentTypes) => new RegExp(`(?:${lineCommentTypes.map(escapeRegExp).join(\"|\")}).*?(?=\\r\n|\\r|\n|$)`, \"uy\");\nvar parenthesis = (kind, extraParens = []) => {\n const index = kind === \"open\" ? 0 : 1;\n const parens = [\"()\", ...extraParens].map((pair) => pair[index]);\n return patternToRegex(parens.map(escapeRegExp).join(\"|\"));\n};\nvar operator = (operators) => patternToRegex(`${sortByLengthDesc(operators).map(escapeRegExp).join(\"|\")}`);\nvar rejectIdentCharsPattern = ({ rest, dashes }) => rest || dashes ? `(?![${rest || \"\"}${dashes ? \"-\" : \"\"}])` : \"\";\nvar reservedWord = (reservedKeywords, identChars = {}) => {\n if (reservedKeywords.length === 0) {\n return /^\\b$/u;\n }\n const avoidIdentChars = rejectIdentCharsPattern(identChars);\n const reservedKeywordsPattern = sortByLengthDesc(reservedKeywords).map(escapeRegExp).join(\"|\").replace(/ /gu, \"\\\\s+\");\n return new RegExp(`(?:${reservedKeywordsPattern})${avoidIdentChars}\\\\b`, \"iuy\");\n};\nvar parameter = (paramTypes, pattern) => {\n if (!paramTypes.length) {\n return void 0;\n }\n const typesRegex = paramTypes.map(escapeRegExp).join(\"|\");\n return patternToRegex(`(?:${typesRegex})(?:${pattern})`);\n};\nvar buildQStringPatterns = () => {\n const specialDelimiterMap = {\n \"<\": \">\",\n \"[\": \"]\",\n \"(\": \")\",\n \"{\": \"}\"\n };\n const singlePattern = \"{left}(?:(?!{right}').)*?{right}\";\n const patternList = Object.entries(specialDelimiterMap).map(\n ([left, right]) => singlePattern.replace(/{left}/g, escapeRegExp(left)).replace(/{right}/g, escapeRegExp(right))\n );\n const specialDelimiters = escapeRegExp(Object.keys(specialDelimiterMap).join(\"\"));\n const standardDelimiterPattern = String.raw`(?[^\\s${specialDelimiters}])(?:(?!\\k').)*?\\k`;\n const qStringPattern = `[Qq]'(?:${standardDelimiterPattern}|${patternList.join(\"|\")})'`;\n return qStringPattern;\n};\nvar quotePatterns = {\n // - backtick quoted (using `` to escape)\n \"``\": \"(?:`[^`]*`)+\",\n // - Transact-SQL square bracket quoted (using ]] to escape)\n \"[]\": String.raw`(?:\\[[^\\]]*\\])(?:\\][^\\]]*\\])*`,\n // double-quoted\n '\"\"-qq': String.raw`(?:\"[^\"]*\")+`,\n // with repeated quote escapes\n '\"\"-bs': String.raw`(?:\"[^\"\\\\]*(?:\\\\.[^\"\\\\]*)*\")`,\n // with backslash escapes\n '\"\"-qq-bs': String.raw`(?:\"[^\"\\\\]*(?:\\\\.[^\"\\\\]*)*\")+`,\n // with repeated quote or backslash escapes\n '\"\"-raw': String.raw`(?:\"[^\"]*\")`,\n // no escaping\n // single-quoted\n \"''-qq\": String.raw`(?:'[^']*')+`,\n // with repeated quote escapes\n \"''-bs\": String.raw`(?:'[^'\\\\]*(?:\\\\.[^'\\\\]*)*')`,\n // with backslash escapes\n \"''-qq-bs\": String.raw`(?:'[^'\\\\]*(?:\\\\.[^'\\\\]*)*')+`,\n // with repeated quote or backslash escapes\n \"''-raw\": String.raw`(?:'[^']*')`,\n // no escaping\n // PostgreSQL dollar-quoted\n \"$$\": String.raw`(?\\$\\w*\\$)[\\s\\S]*?\\k`,\n // BigQuery '''triple-quoted''' (using \\' to escape)\n \"'''..'''\": String.raw`'''[^\\\\]*?(?:\\\\.[^\\\\]*?)*?'''`,\n // BigQuery \"\"\"triple-quoted\"\"\" (using \\\" to escape)\n '\"\"\"..\"\"\"': String.raw`\"\"\"[^\\\\]*?(?:\\\\.[^\\\\]*?)*?\"\"\"`,\n // Hive and Spark variables: ${name}\n \"{}\": String.raw`(?:\\{[^\\}]*\\})`,\n // Oracle q'' strings: q'' q'|text|' ...\n \"q''\": buildQStringPatterns()\n};\nvar singleQuotePattern = (quoteTypes) => {\n if (typeof quoteTypes === \"string\") {\n return quotePatterns[quoteTypes];\n } else if (\"regex\" in quoteTypes) {\n return quoteTypes.regex;\n } else {\n return prefixesPattern(quoteTypes) + quotePatterns[quoteTypes.quote];\n }\n};\nvar variable = (varTypes) => patternToRegex(\n varTypes.map((varType) => \"regex\" in varType ? varType.regex : singleQuotePattern(varType)).join(\"|\")\n);\nvar stringPattern = (quoteTypes) => quoteTypes.map(singleQuotePattern).join(\"|\");\nvar string = (quoteTypes) => patternToRegex(stringPattern(quoteTypes));\nvar identifier = (specialChars = {}) => patternToRegex(identifierPattern(specialChars));\nvar identifierPattern = ({\n first,\n rest,\n dashes,\n allowFirstCharNumber\n} = {}) => {\n const letter = \"\\\\p{Alphabetic}\\\\p{Mark}_\";\n const number = \"\\\\p{Decimal_Number}\";\n const firstChars = escapeRegExp(first != null ? first : \"\");\n const restChars = escapeRegExp(rest != null ? rest : \"\");\n const pattern = allowFirstCharNumber ? `[${letter}${number}${firstChars}][${letter}${number}${restChars}]*` : `[${letter}${firstChars}][${letter}${number}${restChars}]*`;\n return dashes ? withDashes(pattern) : pattern;\n};\n\n// src/lexer/lineColFromIndex.ts\nfunction lineColFromIndex(source, index) {\n const lines = source.slice(0, index).split(/\\n/);\n return { line: lines.length, col: lines[lines.length - 1].length + 1 };\n}\n\n// src/lexer/TokenizerEngine.ts\nvar TokenizerEngine = class {\n // Current position in string\n constructor(rules, dialectName) {\n this.rules = rules;\n this.dialectName = dialectName;\n this.input = \"\";\n // The input SQL string to process\n this.index = 0;\n }\n /**\n * Takes a SQL string and breaks it into tokens.\n * Each token is an object with type and value.\n *\n * @param {string} input - The SQL string\n * @returns {Token[]} output token stream\n */\n tokenize(input) {\n this.input = input;\n this.index = 0;\n const tokens = [];\n let token;\n while (this.index < this.input.length) {\n const precedingWhitespace = this.getWhitespace();\n if (this.index < this.input.length) {\n token = this.getNextToken();\n if (!token) {\n throw this.createParseError();\n }\n tokens.push(__spreadProps(__spreadValues({}, token), { precedingWhitespace }));\n }\n }\n return tokens;\n }\n createParseError() {\n const text = this.input.slice(this.index, this.index + 10);\n const { line, col } = lineColFromIndex(this.input, this.index);\n return new Error(\n `Parse error: Unexpected \"${text}\" at line ${line} column ${col}.\n${this.dialectInfo()}`\n );\n }\n dialectInfo() {\n if (this.dialectName === \"sql\") {\n return `This likely happens because you're using the default \"sql\" dialect.\nIf possible, please select a more specific dialect (like sqlite, postgresql, etc).`;\n } else {\n return `SQL dialect used: \"${this.dialectName}\".`;\n }\n }\n getWhitespace() {\n WHITESPACE_REGEX.lastIndex = this.index;\n const matches = WHITESPACE_REGEX.exec(this.input);\n if (matches) {\n this.index += matches[0].length;\n return matches[0];\n }\n return void 0;\n }\n getNextToken() {\n for (const rule of this.rules) {\n const token = this.match(rule);\n if (token) {\n return token;\n }\n }\n return void 0;\n }\n // Attempts to match token rule regex at current position in input\n match(rule) {\n rule.regex.lastIndex = this.index;\n const matches = rule.regex.exec(this.input);\n if (matches) {\n const matchedText = matches[0];\n const token = {\n type: rule.type,\n raw: matchedText,\n text: rule.text ? rule.text(matchedText) : matchedText,\n start: this.index\n };\n if (rule.key) {\n token.key = rule.key(matchedText);\n }\n this.index += matchedText.length;\n return token;\n }\n return void 0;\n }\n};\n\n// src/lexer/NestedComment.ts\nvar START = /\\/\\*/uy;\nvar MIDDLE = /([^/*]|\\*[^/]|\\/[^*])+/uy;\nvar END2 = /\\*\\//uy;\nvar NestedComment = class {\n constructor() {\n this.lastIndex = 0;\n }\n exec(input) {\n let result = \"\";\n let match;\n let nestLevel = 0;\n if (match = this.matchSection(START, input)) {\n result += match;\n nestLevel++;\n } else {\n return null;\n }\n while (nestLevel > 0) {\n if (match = this.matchSection(START, input)) {\n result += match;\n nestLevel++;\n } else if (match = this.matchSection(END2, input)) {\n result += match;\n nestLevel--;\n } else if (match = this.matchSection(MIDDLE, input)) {\n result += match;\n } else {\n return null;\n }\n }\n return [result];\n }\n matchSection(regex, input) {\n regex.lastIndex = this.lastIndex;\n const matches = regex.exec(input);\n if (matches) {\n this.lastIndex += matches[0].length;\n }\n return matches ? matches[0] : null;\n }\n};\n\n// src/lexer/Tokenizer.ts\nvar Tokenizer = class {\n constructor(cfg, dialectName) {\n this.cfg = cfg;\n this.dialectName = dialectName;\n this.rulesBeforeParams = this.buildRulesBeforeParams(cfg);\n this.rulesAfterParams = this.buildRulesAfterParams(cfg);\n }\n tokenize(input, paramTypesOverrides) {\n const rules = [\n ...this.rulesBeforeParams,\n ...this.buildParamRules(this.cfg, paramTypesOverrides),\n ...this.rulesAfterParams\n ];\n const tokens = new TokenizerEngine(rules, this.dialectName).tokenize(input);\n return this.cfg.postProcess ? this.cfg.postProcess(tokens) : tokens;\n }\n // These rules can be cached as they only depend on\n // the Tokenizer config options specified for each SQL dialect\n buildRulesBeforeParams(cfg) {\n var _a, _b;\n return this.validRules([\n {\n type: \"BLOCK_COMMENT\" /* BLOCK_COMMENT */,\n regex: cfg.nestedBlockComments ? new NestedComment() : /(\\/\\*[^]*?\\*\\/)/uy\n },\n {\n type: \"LINE_COMMENT\" /* LINE_COMMENT */,\n regex: lineComment((_a = cfg.lineCommentTypes) != null ? _a : [\"--\"])\n },\n {\n type: \"QUOTED_IDENTIFIER\" /* QUOTED_IDENTIFIER */,\n regex: string(cfg.identTypes)\n },\n {\n type: \"NUMBER\" /* NUMBER */,\n regex: /(?:0x[0-9a-fA-F]+|0b[01]+|(?:-\\s*)?[0-9]+(?:\\.[0-9]*)?(?:[eE][-+]?[0-9]+(?:\\.[0-9]+)?)?)(?![\\w\\p{Alphabetic}])/uy\n },\n // RESERVED_PHRASE is matched before all other keyword tokens\n // to e.g. prioritize matching \"TIMESTAMP WITH TIME ZONE\" phrase over \"WITH\" clause.\n {\n type: \"RESERVED_PHRASE\" /* RESERVED_PHRASE */,\n regex: reservedWord((_b = cfg.reservedPhrases) != null ? _b : [], cfg.identChars),\n text: toCanonical\n },\n {\n type: \"CASE\" /* CASE */,\n regex: /CASE\\b/iuy,\n text: toCanonical\n },\n {\n type: \"END\" /* END */,\n regex: /END\\b/iuy,\n text: toCanonical\n },\n {\n type: \"BETWEEN\" /* BETWEEN */,\n regex: /BETWEEN\\b/iuy,\n text: toCanonical\n },\n {\n type: \"LIMIT\" /* LIMIT */,\n regex: cfg.reservedClauses.includes(\"LIMIT\") ? /LIMIT\\b/iuy : void 0,\n text: toCanonical\n },\n {\n type: \"RESERVED_CLAUSE\" /* RESERVED_CLAUSE */,\n regex: reservedWord(cfg.reservedClauses, cfg.identChars),\n text: toCanonical\n },\n {\n type: \"RESERVED_SELECT\" /* RESERVED_SELECT */,\n regex: reservedWord(cfg.reservedSelect, cfg.identChars),\n text: toCanonical\n },\n {\n type: \"RESERVED_SET_OPERATION\" /* RESERVED_SET_OPERATION */,\n regex: reservedWord(cfg.reservedSetOperations, cfg.identChars),\n text: toCanonical\n },\n {\n type: \"WHEN\" /* WHEN */,\n regex: /WHEN\\b/iuy,\n text: toCanonical\n },\n {\n type: \"ELSE\" /* ELSE */,\n regex: /ELSE\\b/iuy,\n text: toCanonical\n },\n {\n type: \"THEN\" /* THEN */,\n regex: /THEN\\b/iuy,\n text: toCanonical\n },\n {\n type: \"RESERVED_JOIN\" /* RESERVED_JOIN */,\n regex: reservedWord(cfg.reservedJoins, cfg.identChars),\n text: toCanonical\n },\n {\n type: \"AND\" /* AND */,\n regex: /AND\\b/iuy,\n text: toCanonical\n },\n {\n type: \"OR\" /* OR */,\n regex: /OR\\b/iuy,\n text: toCanonical\n },\n {\n type: \"XOR\" /* XOR */,\n regex: cfg.supportsXor ? /XOR\\b/iuy : void 0,\n text: toCanonical\n },\n {\n type: \"RESERVED_FUNCTION_NAME\" /* RESERVED_FUNCTION_NAME */,\n regex: reservedWord(cfg.reservedFunctionNames, cfg.identChars),\n text: toCanonical\n },\n {\n type: \"RESERVED_DATA_TYPE\" /* RESERVED_DATA_TYPE */,\n regex: reservedWord(cfg.reservedDataTypes, cfg.identChars),\n text: toCanonical\n },\n {\n type: \"RESERVED_KEYWORD\" /* RESERVED_KEYWORD */,\n regex: reservedWord(cfg.reservedKeywords, cfg.identChars),\n text: toCanonical\n }\n ]);\n }\n // These rules can also be cached as they only depend on\n // the Tokenizer config options specified for each SQL dialect\n buildRulesAfterParams(cfg) {\n var _a;\n return this.validRules([\n {\n type: \"VARIABLE\" /* VARIABLE */,\n regex: cfg.variableTypes ? variable(cfg.variableTypes) : void 0\n },\n { type: \"STRING\" /* STRING */, regex: string(cfg.stringTypes) },\n {\n type: \"IDENTIFIER\" /* IDENTIFIER */,\n regex: identifier(cfg.identChars)\n },\n { type: \"DELIMITER\" /* DELIMITER */, regex: /[;]/uy },\n { type: \"COMMA\" /* COMMA */, regex: /[,]/y },\n {\n type: \"OPEN_PAREN\" /* OPEN_PAREN */,\n regex: parenthesis(\"open\", cfg.extraParens)\n },\n {\n type: \"CLOSE_PAREN\" /* CLOSE_PAREN */,\n regex: parenthesis(\"close\", cfg.extraParens)\n },\n {\n type: \"OPERATOR\" /* OPERATOR */,\n regex: operator([\n // standard operators\n \"+\",\n \"-\",\n \"/\",\n \">\",\n \"<\",\n \"=\",\n \"<>\",\n \"<=\",\n \">=\",\n \"!=\",\n ...(_a = cfg.operators) != null ? _a : []\n ])\n },\n { type: \"ASTERISK\" /* ASTERISK */, regex: /[*]/uy },\n { type: \"DOT\" /* DOT */, regex: /[.]/uy }\n ]);\n }\n // These rules can't be blindly cached as the paramTypesOverrides object\n // can differ on each invocation of the format() function.\n buildParamRules(cfg, paramTypesOverrides) {\n var _a, _b, _c, _d, _e;\n const paramTypes = {\n named: (paramTypesOverrides == null ? void 0 : paramTypesOverrides.named) || ((_a = cfg.paramTypes) == null ? void 0 : _a.named) || [],\n quoted: (paramTypesOverrides == null ? void 0 : paramTypesOverrides.quoted) || ((_b = cfg.paramTypes) == null ? void 0 : _b.quoted) || [],\n numbered: (paramTypesOverrides == null ? void 0 : paramTypesOverrides.numbered) || ((_c = cfg.paramTypes) == null ? void 0 : _c.numbered) || [],\n positional: typeof (paramTypesOverrides == null ? void 0 : paramTypesOverrides.positional) === \"boolean\" ? paramTypesOverrides.positional : (_d = cfg.paramTypes) == null ? void 0 : _d.positional,\n custom: (paramTypesOverrides == null ? void 0 : paramTypesOverrides.custom) || ((_e = cfg.paramTypes) == null ? void 0 : _e.custom) || []\n };\n return this.validRules([\n {\n type: \"NAMED_PARAMETER\" /* NAMED_PARAMETER */,\n regex: parameter(\n paramTypes.named,\n identifierPattern(cfg.paramChars || cfg.identChars)\n ),\n key: (v) => v.slice(1)\n },\n {\n type: \"QUOTED_PARAMETER\" /* QUOTED_PARAMETER */,\n regex: parameter(paramTypes.quoted, stringPattern(cfg.identTypes)),\n key: (v) => (({ tokenKey, quoteChar }) => tokenKey.replace(new RegExp(escapeRegExp(\"\\\\\" + quoteChar), \"gu\"), quoteChar))({\n tokenKey: v.slice(2, -1),\n quoteChar: v.slice(-1)\n })\n },\n {\n type: \"NUMBERED_PARAMETER\" /* NUMBERED_PARAMETER */,\n regex: parameter(paramTypes.numbered, \"[0-9]+\"),\n key: (v) => v.slice(1)\n },\n {\n type: \"POSITIONAL_PARAMETER\" /* POSITIONAL_PARAMETER */,\n regex: paramTypes.positional ? /[?]/y : void 0\n },\n ...paramTypes.custom.map(\n (customParam) => {\n var _a2;\n return {\n type: \"CUSTOM_PARAMETER\" /* CUSTOM_PARAMETER */,\n regex: patternToRegex(customParam.regex),\n key: (_a2 = customParam.key) != null ? _a2 : (v) => v\n };\n }\n )\n ]);\n }\n // filters out rules for token types whose regex is undefined\n validRules(rules) {\n return rules.filter((rule) => Boolean(rule.regex));\n }\n};\nvar toCanonical = (v) => equalizeWhitespace(v.toUpperCase());\n\n// src/dialect.ts\nvar cache = /* @__PURE__ */ new Map();\nvar createDialect = (options) => {\n let dialect = cache.get(options);\n if (!dialect) {\n dialect = dialectFromOptions(options);\n cache.set(options, dialect);\n }\n return dialect;\n};\nvar dialectFromOptions = (dialectOptions) => ({\n tokenizer: new Tokenizer(dialectOptions.tokenizerOptions, dialectOptions.name),\n formatOptions: processDialectFormatOptions(dialectOptions.formatOptions)\n});\nvar processDialectFormatOptions = (options) => ({\n alwaysDenseOperators: options.alwaysDenseOperators || [],\n onelineClauses: Object.fromEntries(options.onelineClauses.map((name) => [name, true]))\n});\n\n// src/formatter/config.ts\nfunction indentString(cfg) {\n if (cfg.indentStyle === \"tabularLeft\" || cfg.indentStyle === \"tabularRight\") {\n return \" \".repeat(10);\n }\n if (cfg.useTabs) {\n return \"\t\";\n }\n return \" \".repeat(cfg.tabWidth);\n}\nfunction isTabularStyle(cfg) {\n return cfg.indentStyle === \"tabularLeft\" || cfg.indentStyle === \"tabularRight\";\n}\n\n// src/formatter/Params.ts\nvar Params = class {\n constructor(params) {\n this.params = params;\n this.index = 0;\n }\n /**\n * Returns param value that matches given placeholder with param key.\n */\n get({ key, text }) {\n if (!this.params) {\n return text;\n }\n if (key) {\n return this.params[key];\n }\n return this.params[this.index++];\n }\n /**\n * Returns index of current positional parameter.\n */\n getPositionalParameterIndex() {\n return this.index;\n }\n /**\n * Sets index of current positional parameter.\n */\n setPositionalParameterIndex(i) {\n this.index = i;\n }\n};\n\n// src/parser/createParser.ts\nimport nearley from \"nearley\";\n\n// src/lexer/disambiguateTokens.ts\nfunction disambiguateTokens(tokens) {\n return tokens.map(dotKeywordToIdent).map(funcNameToKeyword).map(dataTypeToParameterizedDataType).map(identToArrayIdent).map(dataTypeToArrayKeyword);\n}\nvar dotKeywordToIdent = (token, i, tokens) => {\n if (isReserved(token.type)) {\n const prevToken = prevNonCommentToken(tokens, i);\n if (prevToken && prevToken.text === \".\") {\n return __spreadProps(__spreadValues({}, token), { type: \"IDENTIFIER\" /* IDENTIFIER */, text: token.raw });\n }\n }\n return token;\n};\nvar funcNameToKeyword = (token, i, tokens) => {\n if (token.type === \"RESERVED_FUNCTION_NAME\" /* RESERVED_FUNCTION_NAME */) {\n const nextToken = nextNonCommentToken(tokens, i);\n if (!nextToken || !isOpenParen(nextToken)) {\n return __spreadProps(__spreadValues({}, token), { type: \"RESERVED_KEYWORD\" /* RESERVED_KEYWORD */ });\n }\n }\n return token;\n};\nvar dataTypeToParameterizedDataType = (token, i, tokens) => {\n if (token.type === \"RESERVED_DATA_TYPE\" /* RESERVED_DATA_TYPE */) {\n const nextToken = nextNonCommentToken(tokens, i);\n if (nextToken && isOpenParen(nextToken)) {\n return __spreadProps(__spreadValues({}, token), { type: \"RESERVED_PARAMETERIZED_DATA_TYPE\" /* RESERVED_PARAMETERIZED_DATA_TYPE */ });\n }\n }\n return token;\n};\nvar identToArrayIdent = (token, i, tokens) => {\n if (token.type === \"IDENTIFIER\" /* IDENTIFIER */) {\n const nextToken = nextNonCommentToken(tokens, i);\n if (nextToken && isOpenBracket(nextToken)) {\n return __spreadProps(__spreadValues({}, token), { type: \"ARRAY_IDENTIFIER\" /* ARRAY_IDENTIFIER */ });\n }\n }\n return token;\n};\nvar dataTypeToArrayKeyword = (token, i, tokens) => {\n if (token.type === \"RESERVED_DATA_TYPE\" /* RESERVED_DATA_TYPE */) {\n const nextToken = nextNonCommentToken(tokens, i);\n if (nextToken && isOpenBracket(nextToken)) {\n return __spreadProps(__spreadValues({}, token), { type: \"ARRAY_KEYWORD\" /* ARRAY_KEYWORD */ });\n }\n }\n return token;\n};\nvar prevNonCommentToken = (tokens, index) => nextNonCommentToken(tokens, index, -1);\nvar nextNonCommentToken = (tokens, index, dir = 1) => {\n let i = 1;\n while (tokens[index + i * dir] && isComment(tokens[index + i * dir])) {\n i++;\n }\n return tokens[index + i * dir];\n};\nvar isOpenParen = (t) => t.type === \"OPEN_PAREN\" /* OPEN_PAREN */ && t.text === \"(\";\nvar isOpenBracket = (t) => t.type === \"OPEN_PAREN\" /* OPEN_PAREN */ && t.text === \"[\";\nvar isComment = (t) => t.type === \"BLOCK_COMMENT\" /* BLOCK_COMMENT */ || t.type === \"LINE_COMMENT\" /* LINE_COMMENT */;\n\n// src/parser/LexerAdapter.ts\nvar LexerAdapter = class {\n constructor(tokenize) {\n this.tokenize = tokenize;\n this.index = 0;\n this.tokens = [];\n this.input = \"\";\n }\n reset(chunk, _info) {\n this.input = chunk;\n this.index = 0;\n this.tokens = this.tokenize(chunk);\n }\n next() {\n return this.tokens[this.index++];\n }\n save() {\n }\n formatError(token) {\n const { line, col } = lineColFromIndex(this.input, token.start);\n return `Parse error at token: ${token.text} at line ${line} column ${col}`;\n }\n has(name) {\n return name in TokenType;\n }\n};\n\n// src/parser/grammar.ts\nfunction id(d) {\n return d[0];\n}\nvar lexer = new LexerAdapter((chunk) => []);\nvar unwrap = ([[el]]) => el;\nvar toKeywordNode = (token) => ({\n type: \"keyword\" /* keyword */,\n tokenType: token.type,\n text: token.text,\n raw: token.raw\n});\nvar toDataTypeNode = (token) => ({\n type: \"data_type\" /* data_type */,\n text: token.text,\n raw: token.raw\n});\nvar addComments = (node, { leading, trailing }) => {\n if (leading == null ? void 0 : leading.length) {\n node = __spreadProps(__spreadValues({}, node), { leadingComments: leading });\n }\n if (trailing == null ? void 0 : trailing.length) {\n node = __spreadProps(__spreadValues({}, node), { trailingComments: trailing });\n }\n return node;\n};\nvar addCommentsToArray = (nodes, { leading, trailing }) => {\n if (leading == null ? void 0 : leading.length) {\n const [first, ...rest] = nodes;\n nodes = [addComments(first, { leading }), ...rest];\n }\n if (trailing == null ? void 0 : trailing.length) {\n const lead = nodes.slice(0, -1);\n const last2 = nodes[nodes.length - 1];\n nodes = [...lead, addComments(last2, { trailing })];\n }\n return nodes;\n};\nvar grammar = {\n Lexer: lexer,\n ParserRules: [\n { \"name\": \"main$ebnf$1\", \"symbols\": [] },\n { \"name\": \"main$ebnf$1\", \"symbols\": [\"main$ebnf$1\", \"statement\"], \"postprocess\": (d) => d[0].concat([d[1]]) },\n {\n \"name\": \"main\",\n \"symbols\": [\"main$ebnf$1\"],\n \"postprocess\": ([statements]) => {\n const last2 = statements[statements.length - 1];\n if (last2 && !last2.hasSemicolon) {\n return last2.children.length > 0 ? statements : statements.slice(0, -1);\n } else {\n return statements;\n }\n }\n },\n { \"name\": \"statement$subexpression$1\", \"symbols\": [lexer.has(\"DELIMITER\") ? { type: \"DELIMITER\" } : DELIMITER] },\n { \"name\": \"statement$subexpression$1\", \"symbols\": [lexer.has(\"EOF\") ? { type: \"EOF\" } : EOF] },\n {\n \"name\": \"statement\",\n \"symbols\": [\"expressions_or_clauses\", \"statement$subexpression$1\"],\n \"postprocess\": ([children, [delimiter]]) => ({\n type: \"statement\" /* statement */,\n children,\n hasSemicolon: delimiter.type === \"DELIMITER\" /* DELIMITER */\n })\n },\n { \"name\": \"expressions_or_clauses$ebnf$1\", \"symbols\": [] },\n { \"name\": \"expressions_or_clauses$ebnf$1\", \"symbols\": [\"expressions_or_clauses$ebnf$1\", \"free_form_sql\"], \"postprocess\": (d) => d[0].concat([d[1]]) },\n { \"name\": \"expressions_or_clauses$ebnf$2\", \"symbols\": [] },\n { \"name\": \"expressions_or_clauses$ebnf$2\", \"symbols\": [\"expressions_or_clauses$ebnf$2\", \"clause\"], \"postprocess\": (d) => d[0].concat([d[1]]) },\n {\n \"name\": \"expressions_or_clauses\",\n \"symbols\": [\"expressions_or_clauses$ebnf$1\", \"expressions_or_clauses$ebnf$2\"],\n \"postprocess\": ([expressions, clauses]) => [...expressions, ...clauses]\n },\n { \"name\": \"clause$subexpression$1\", \"symbols\": [\"limit_clause\"] },\n { \"name\": \"clause$subexpression$1\", \"symbols\": [\"select_clause\"] },\n { \"name\": \"clause$subexpression$1\", \"symbols\": [\"other_clause\"] },\n { \"name\": \"clause$subexpression$1\", \"symbols\": [\"set_operation\"] },\n { \"name\": \"clause\", \"symbols\": [\"clause$subexpression$1\"], \"postprocess\": unwrap },\n { \"name\": \"limit_clause$ebnf$1$subexpression$1$ebnf$1\", \"symbols\": [\"free_form_sql\"] },\n { \"name\": \"limit_clause$ebnf$1$subexpression$1$ebnf$1\", \"symbols\": [\"limit_clause$ebnf$1$subexpression$1$ebnf$1\", \"free_form_sql\"], \"postprocess\": (d) => d[0].concat([d[1]]) },\n { \"name\": \"limit_clause$ebnf$1$subexpression$1\", \"symbols\": [lexer.has(\"COMMA\") ? { type: \"COMMA\" } : COMMA, \"limit_clause$ebnf$1$subexpression$1$ebnf$1\"] },\n { \"name\": \"limit_clause$ebnf$1\", \"symbols\": [\"limit_clause$ebnf$1$subexpression$1\"], \"postprocess\": id },\n { \"name\": \"limit_clause$ebnf$1\", \"symbols\": [], \"postprocess\": () => null },\n {\n \"name\": \"limit_clause\",\n \"symbols\": [lexer.has(\"LIMIT\") ? { type: \"LIMIT\" } : LIMIT, \"_\", \"expression_chain_\", \"limit_clause$ebnf$1\"],\n \"postprocess\": ([limitToken, _, exp1, optional]) => {\n if (optional) {\n const [comma, exp2] = optional;\n return {\n type: \"limit_clause\" /* limit_clause */,\n limitKw: addComments(toKeywordNode(limitToken), { trailing: _ }),\n offset: exp1,\n count: exp2\n };\n } else {\n return {\n type: \"limit_clause\" /* limit_clause */,\n limitKw: addComments(toKeywordNode(limitToken), { trailing: _ }),\n count: exp1\n };\n }\n }\n },\n { \"name\": \"select_clause$subexpression$1$ebnf$1\", \"symbols\": [] },\n { \"name\": \"select_clause$subexpression$1$ebnf$1\", \"symbols\": [\"select_clause$subexpression$1$ebnf$1\", \"free_form_sql\"], \"postprocess\": (d) => d[0].concat([d[1]]) },\n { \"name\": \"select_clause$subexpression$1\", \"symbols\": [\"all_columns_asterisk\", \"select_clause$subexpression$1$ebnf$1\"] },\n { \"name\": \"select_clause$subexpression$1$ebnf$2\", \"symbols\": [] },\n { \"name\": \"select_clause$subexpression$1$ebnf$2\", \"symbols\": [\"select_clause$subexpression$1$ebnf$2\", \"free_form_sql\"], \"postprocess\": (d) => d[0].concat([d[1]]) },\n { \"name\": \"select_clause$subexpression$1\", \"symbols\": [\"asteriskless_free_form_sql\", \"select_clause$subexpression$1$ebnf$2\"] },\n {\n \"name\": \"select_clause\",\n \"symbols\": [lexer.has(\"RESERVED_SELECT\") ? { type: \"RESERVED_SELECT\" } : RESERVED_SELECT, \"select_clause$subexpression$1\"],\n \"postprocess\": ([nameToken, [exp, expressions]]) => ({\n type: \"clause\" /* clause */,\n nameKw: toKeywordNode(nameToken),\n children: [exp, ...expressions]\n })\n },\n {\n \"name\": \"select_clause\",\n \"symbols\": [lexer.has(\"RESERVED_SELECT\") ? { type: \"RESERVED_SELECT\" } : RESERVED_SELECT],\n \"postprocess\": ([nameToken]) => ({\n type: \"clause\" /* clause */,\n nameKw: toKeywordNode(nameToken),\n children: []\n })\n },\n {\n \"name\": \"all_columns_asterisk\",\n \"symbols\": [lexer.has(\"ASTERISK\") ? { type: \"ASTERISK\" } : ASTERISK],\n \"postprocess\": () => ({ type: \"all_columns_asterisk\" /* all_columns_asterisk */ })\n },\n { \"name\": \"other_clause$ebnf$1\", \"symbols\": [] },\n { \"name\": \"other_clause$ebnf$1\", \"symbols\": [\"other_clause$ebnf$1\", \"free_form_sql\"], \"postprocess\": (d) => d[0].concat([d[1]]) },\n {\n \"name\": \"other_clause\",\n \"symbols\": [lexer.has(\"RESERVED_CLAUSE\") ? { type: \"RESERVED_CLAUSE\" } : RESERVED_CLAUSE, \"other_clause$ebnf$1\"],\n \"postprocess\": ([nameToken, children]) => ({\n type: \"clause\" /* clause */,\n nameKw: toKeywordNode(nameToken),\n children\n })\n },\n { \"name\": \"set_operation$ebnf$1\", \"symbols\": [] },\n { \"name\": \"set_operation$ebnf$1\", \"symbols\": [\"set_operation$ebnf$1\", \"free_form_sql\"], \"postprocess\": (d) => d[0].concat([d[1]]) },\n {\n \"name\": \"set_operation\",\n \"symbols\": [lexer.has(\"RESERVED_SET_OPERATION\") ? { type: \"RESERVED_SET_OPERATION\" } : RESERVED_SET_OPERATION, \"set_operation$ebnf$1\"],\n \"postprocess\": ([nameToken, children]) => ({\n type: \"set_operation\" /* set_operation */,\n nameKw: toKeywordNode(nameToken),\n children\n })\n },\n { \"name\": \"expression_chain_$ebnf$1\", \"symbols\": [\"expression_with_comments_\"] },\n { \"name\": \"expression_chain_$ebnf$1\", \"symbols\": [\"expression_chain_$ebnf$1\", \"expression_with_comments_\"], \"postprocess\": (d) => d[0].concat([d[1]]) },\n { \"name\": \"expression_chain_\", \"symbols\": [\"expression_chain_$ebnf$1\"], \"postprocess\": id },\n { \"name\": \"expression_chain$ebnf$1\", \"symbols\": [] },\n { \"name\": \"expression_chain$ebnf$1\", \"symbols\": [\"expression_chain$ebnf$1\", \"_expression_with_comments\"], \"postprocess\": (d) => d[0].concat([d[1]]) },\n {\n \"name\": \"expression_chain\",\n \"symbols\": [\"expression\", \"expression_chain$ebnf$1\"],\n \"postprocess\": ([expr, chain]) => [expr, ...chain]\n },\n { \"name\": \"andless_expression_chain$ebnf$1\", \"symbols\": [] },\n { \"name\": \"andless_expression_chain$ebnf$1\", \"symbols\": [\"andless_expression_chain$ebnf$1\", \"_andless_expression_with_comments\"], \"postprocess\": (d) => d[0].concat([d[1]]) },\n {\n \"name\": \"andless_expression_chain\",\n \"symbols\": [\"andless_expression\", \"andless_expression_chain$ebnf$1\"],\n \"postprocess\": ([expr, chain]) => [expr, ...chain]\n },\n {\n \"name\": \"expression_with_comments_\",\n \"symbols\": [\"expression\", \"_\"],\n \"postprocess\": ([expr, _]) => addComments(expr, { trailing: _ })\n },\n {\n \"name\": \"_expression_with_comments\",\n \"symbols\": [\"_\", \"expression\"],\n \"postprocess\": ([_, expr]) => addComments(expr, { leading: _ })\n },\n {\n \"name\": \"_andless_expression_with_comments\",\n \"symbols\": [\"_\", \"andless_expression\"],\n \"postprocess\": ([_, expr]) => addComments(expr, { leading: _ })\n },\n { \"name\": \"free_form_sql$subexpression$1\", \"symbols\": [\"asteriskless_free_form_sql\"] },\n { \"name\": \"free_form_sql$subexpression$1\", \"symbols\": [\"asterisk\"] },\n { \"name\": \"free_form_sql\", \"symbols\": [\"free_form_sql$subexpression$1\"], \"postprocess\": unwrap },\n { \"name\": \"asteriskless_free_form_sql$subexpression$1\", \"symbols\": [\"asteriskless_andless_expression\"] },\n { \"name\": \"asteriskless_free_form_sql$subexpression$1\", \"symbols\": [\"logic_operator\"] },\n { \"name\": \"asteriskless_free_form_sql$subexpression$1\", \"symbols\": [\"comma\"] },\n { \"name\": \"asteriskless_free_form_sql$subexpression$1\", \"symbols\": [\"comment\"] },\n { \"name\": \"asteriskless_free_form_sql$subexpression$1\", \"symbols\": [\"other_keyword\"] },\n { \"name\": \"asteriskless_free_form_sql\", \"symbols\": [\"asteriskless_free_form_sql$subexpression$1\"], \"postprocess\": unwrap },\n { \"name\": \"expression$subexpression$1\", \"symbols\": [\"andless_expression\"] },\n { \"name\": \"expression$subexpression$1\", \"symbols\": [\"logic_operator\"] },\n { \"name\": \"expression\", \"symbols\": [\"expression$subexpression$1\"], \"postprocess\": unwrap },\n { \"name\": \"andless_expression$subexpression$1\", \"symbols\": [\"asteriskless_andless_expression\"] },\n { \"name\": \"andless_expression$subexpression$1\", \"symbols\": [\"asterisk\"] },\n { \"name\": \"andless_expression\", \"symbols\": [\"andless_expression$subexpression$1\"], \"postprocess\": unwrap },\n { \"name\": \"asteriskless_andless_expression$subexpression$1\", \"symbols\": [\"atomic_expression\"] },\n { \"name\": \"asteriskless_andless_expression$subexpression$1\", \"symbols\": [\"between_predicate\"] },\n { \"name\": \"asteriskless_andless_expression$subexpression$1\", \"symbols\": [\"case_expression\"] },\n { \"name\": \"asteriskless_andless_expression\", \"symbols\": [\"asteriskless_andless_expression$subexpression$1\"], \"postprocess\": unwrap },\n { \"name\": \"atomic_expression$subexpression$1\", \"symbols\": [\"array_subscript\"] },\n { \"name\": \"atomic_expression$subexpression$1\", \"symbols\": [\"function_call\"] },\n { \"name\": \"atomic_expression$subexpression$1\", \"symbols\": [\"property_access\"] },\n { \"name\": \"atomic_expression$subexpression$1\", \"symbols\": [\"parenthesis\"] },\n { \"name\": \"atomic_expression$subexpression$1\", \"symbols\": [\"curly_braces\"] },\n { \"name\": \"atomic_expression$subexpression$1\", \"symbols\": [\"square_brackets\"] },\n { \"name\": \"atomic_expression$subexpression$1\", \"symbols\": [\"operator\"] },\n { \"name\": \"atomic_expression$subexpression$1\", \"symbols\": [\"identifier\"] },\n { \"name\": \"atomic_expression$subexpression$1\", \"symbols\": [\"parameter\"] },\n { \"name\": \"atomic_expression$subexpression$1\", \"symbols\": [\"literal\"] },\n { \"name\": \"atomic_expression$subexpression$1\", \"symbols\": [\"data_type\"] },\n { \"name\": \"atomic_expression$subexpression$1\", \"symbols\": [\"keyword\"] },\n { \"name\": \"atomic_expression\", \"symbols\": [\"atomic_expression$subexpression$1\"], \"postprocess\": unwrap },\n {\n \"name\": \"array_subscript\",\n \"symbols\": [lexer.has(\"ARRAY_IDENTIFIER\") ? { type: \"ARRAY_IDENTIFIER\" } : ARRAY_IDENTIFIER, \"_\", \"square_brackets\"],\n \"postprocess\": ([arrayToken, _, brackets]) => ({\n type: \"array_subscript\" /* array_subscript */,\n array: addComments({ type: \"identifier\" /* identifier */, quoted: false, text: arrayToken.text }, { trailing: _ }),\n parenthesis: brackets\n })\n },\n {\n \"name\": \"array_subscript\",\n \"symbols\": [lexer.has(\"ARRAY_KEYWORD\") ? { type: \"ARRAY_KEYWORD\" } : ARRAY_KEYWORD, \"_\", \"square_brackets\"],\n \"postprocess\": ([arrayToken, _, brackets]) => ({\n type: \"array_subscript\" /* array_subscript */,\n array: addComments(toKeywordNode(arrayToken), { trailing: _ }),\n parenthesis: brackets\n })\n },\n {\n \"name\": \"function_call\",\n \"symbols\": [lexer.has(\"RESERVED_FUNCTION_NAME\") ? { type: \"RESERVED_FUNCTION_NAME\" } : RESERVED_FUNCTION_NAME, \"_\", \"parenthesis\"],\n \"postprocess\": ([nameToken, _, parens]) => ({\n type: \"function_call\" /* function_call */,\n nameKw: addComments(toKeywordNode(nameToken), { trailing: _ }),\n parenthesis: parens\n })\n },\n {\n \"name\": \"parenthesis\",\n \"symbols\": [{ \"literal\": \"(\" }, \"expressions_or_clauses\", { \"literal\": \")\" }],\n \"postprocess\": ([open, children, close]) => ({\n type: \"parenthesis\" /* parenthesis */,\n children,\n openParen: \"(\",\n closeParen: \")\"\n })\n },\n { \"name\": \"curly_braces$ebnf$1\", \"symbols\": [] },\n { \"name\": \"curly_braces$ebnf$1\", \"symbols\": [\"curly_braces$ebnf$1\", \"free_form_sql\"], \"postprocess\": (d) => d[0].concat([d[1]]) },\n {\n \"name\": \"curly_braces\",\n \"symbols\": [{ \"literal\": \"{\" }, \"curly_braces$ebnf$1\", { \"literal\": \"}\" }],\n \"postprocess\": ([open, children, close]) => ({\n type: \"parenthesis\" /* parenthesis */,\n children,\n openParen: \"{\",\n closeParen: \"}\"\n })\n },\n { \"name\": \"square_brackets$ebnf$1\", \"symbols\": [] },\n { \"name\": \"square_brackets$ebnf$1\", \"symbols\": [\"square_brackets$ebnf$1\", \"free_form_sql\"], \"postprocess\": (d) => d[0].concat([d[1]]) },\n {\n \"name\": \"square_brackets\",\n \"symbols\": [{ \"literal\": \"[\" }, \"square_brackets$ebnf$1\", { \"literal\": \"]\" }],\n \"postprocess\": ([open, children, close]) => ({\n type: \"parenthesis\" /* parenthesis */,\n children,\n openParen: \"[\",\n closeParen: \"]\"\n })\n },\n { \"name\": \"property_access$subexpression$1\", \"symbols\": [\"identifier\"] },\n { \"name\": \"property_access$subexpression$1\", \"symbols\": [\"array_subscript\"] },\n { \"name\": \"property_access$subexpression$1\", \"symbols\": [\"all_columns_asterisk\"] },\n { \"name\": \"property_access$subexpression$1\", \"symbols\": [\"parameter\"] },\n {\n \"name\": \"property_access\",\n \"symbols\": [\"atomic_expression\", \"_\", lexer.has(\"DOT\") ? { type: \"DOT\" } : DOT, \"_\", \"property_access$subexpression$1\"],\n \"postprocess\": (\n // Allowing property to be is currently a hack.\n // A better way would be to allow on the left side of array_subscript,\n // but we currently can't do that because of another hack that requires\n // %ARRAY_IDENTIFIER on the left side of .\n ([object, _1, dot, _2, [property]]) => {\n return {\n type: \"property_access\" /* property_access */,\n object: addComments(object, { trailing: _1 }),\n property: addComments(property, { leading: _2 })\n };\n }\n )\n },\n {\n \"name\": \"between_predicate\",\n \"symbols\": [lexer.has(\"BETWEEN\") ? { type: \"BETWEEN\" } : BETWEEN, \"_\", \"andless_expression_chain\", \"_\", lexer.has(\"AND\") ? { type: \"AND\" } : AND, \"_\", \"andless_expression\"],\n \"postprocess\": ([betweenToken, _1, expr1, _2, andToken, _3, expr2]) => ({\n type: \"between_predicate\" /* between_predicate */,\n betweenKw: toKeywordNode(betweenToken),\n expr1: addCommentsToArray(expr1, { leading: _1, trailing: _2 }),\n andKw: toKeywordNode(andToken),\n expr2: [addComments(expr2, { leading: _3 })]\n })\n },\n { \"name\": \"case_expression$ebnf$1\", \"symbols\": [\"expression_chain_\"], \"postprocess\": id },\n { \"name\": \"case_expression$ebnf$1\", \"symbols\": [], \"postprocess\": () => null },\n { \"name\": \"case_expression$ebnf$2\", \"symbols\": [] },\n { \"name\": \"case_expression$ebnf$2\", \"symbols\": [\"case_expression$ebnf$2\", \"case_clause\"], \"postprocess\": (d) => d[0].concat([d[1]]) },\n {\n \"name\": \"case_expression\",\n \"symbols\": [lexer.has(\"CASE\") ? { type: \"CASE\" } : CASE, \"_\", \"case_expression$ebnf$1\", \"case_expression$ebnf$2\", lexer.has(\"END\") ? { type: \"END\" } : END],\n \"postprocess\": ([caseToken, _, expr, clauses, endToken]) => ({\n type: \"case_expression\" /* case_expression */,\n caseKw: addComments(toKeywordNode(caseToken), { trailing: _ }),\n endKw: toKeywordNode(endToken),\n expr: expr || [],\n clauses\n })\n },\n {\n \"name\": \"case_clause\",\n \"symbols\": [lexer.has(\"WHEN\") ? { type: \"WHEN\" } : WHEN, \"_\", \"expression_chain_\", lexer.has(\"THEN\") ? { type: \"THEN\" } : THEN, \"_\", \"expression_chain_\"],\n \"postprocess\": ([whenToken, _1, cond, thenToken, _2, expr]) => ({\n type: \"case_when\" /* case_when */,\n whenKw: addComments(toKeywordNode(whenToken), { trailing: _1 }),\n thenKw: addComments(toKeywordNode(thenToken), { trailing: _2 }),\n condition: cond,\n result: expr\n })\n },\n {\n \"name\": \"case_clause\",\n \"symbols\": [lexer.has(\"ELSE\") ? { type: \"ELSE\" } : ELSE, \"_\", \"expression_chain_\"],\n \"postprocess\": ([elseToken, _, expr]) => ({\n type: \"case_else\" /* case_else */,\n elseKw: addComments(toKeywordNode(elseToken), { trailing: _ }),\n result: expr\n })\n },\n { \"name\": \"comma$subexpression$1\", \"symbols\": [lexer.has(\"COMMA\") ? { type: \"COMMA\" } : COMMA] },\n { \"name\": \"comma\", \"symbols\": [\"comma$subexpression$1\"], \"postprocess\": ([[token]]) => ({ type: \"comma\" /* comma */ }) },\n { \"name\": \"asterisk$subexpression$1\", \"symbols\": [lexer.has(\"ASTERISK\") ? { type: \"ASTERISK\" } : ASTERISK] },\n { \"name\": \"asterisk\", \"symbols\": [\"asterisk$subexpression$1\"], \"postprocess\": ([[token]]) => ({ type: \"operator\" /* operator */, text: token.text }) },\n { \"name\": \"operator$subexpression$1\", \"symbols\": [lexer.has(\"OPERATOR\") ? { type: \"OPERATOR\" } : OPERATOR] },\n { \"name\": \"operator\", \"symbols\": [\"operator$subexpression$1\"], \"postprocess\": ([[token]]) => ({ type: \"operator\" /* operator */, text: token.text }) },\n { \"name\": \"identifier$subexpression$1\", \"symbols\": [lexer.has(\"IDENTIFIER\") ? { type: \"IDENTIFIER\" } : IDENTIFIER] },\n { \"name\": \"identifier$subexpression$1\", \"symbols\": [lexer.has(\"QUOTED_IDENTIFIER\") ? { type: \"QUOTED_IDENTIFIER\" } : QUOTED_IDENTIFIER] },\n { \"name\": \"identifier$subexpression$1\", \"symbols\": [lexer.has(\"VARIABLE\") ? { type: \"VARIABLE\" } : VARIABLE] },\n { \"name\": \"identifier\", \"symbols\": [\"identifier$subexpression$1\"], \"postprocess\": ([[token]]) => ({ type: \"identifier\" /* identifier */, quoted: token.type !== \"IDENTIFIER\", text: token.text }) },\n { \"name\": \"parameter$subexpression$1\", \"symbols\": [lexer.has(\"NAMED_PARAMETER\") ? { type: \"NAMED_PARAMETER\" } : NAMED_PARAMETER] },\n { \"name\": \"parameter$subexpression$1\", \"symbols\": [lexer.has(\"QUOTED_PARAMETER\") ? { type: \"QUOTED_PARAMETER\" } : QUOTED_PARAMETER] },\n { \"name\": \"parameter$subexpression$1\", \"symbols\": [lexer.has(\"NUMBERED_PARAMETER\") ? { type: \"NUMBERED_PARAMETER\" } : NUMBERED_PARAMETER] },\n { \"name\": \"parameter$subexpression$1\", \"symbols\": [lexer.has(\"POSITIONAL_PARAMETER\") ? { type: \"POSITIONAL_PARAMETER\" } : POSITIONAL_PARAMETER] },\n { \"name\": \"parameter$subexpression$1\", \"symbols\": [lexer.has(\"CUSTOM_PARAMETER\") ? { type: \"CUSTOM_PARAMETER\" } : CUSTOM_PARAMETER] },\n { \"name\": \"parameter\", \"symbols\": [\"parameter$subexpression$1\"], \"postprocess\": ([[token]]) => ({ type: \"parameter\" /* parameter */, key: token.key, text: token.text }) },\n { \"name\": \"literal$subexpression$1\", \"symbols\": [lexer.has(\"NUMBER\") ? { type: \"NUMBER\" } : NUMBER] },\n { \"name\": \"literal$subexpression$1\", \"symbols\": [lexer.has(\"STRING\") ? { type: \"STRING\" } : STRING] },\n { \"name\": \"literal\", \"symbols\": [\"literal$subexpression$1\"], \"postprocess\": ([[token]]) => ({ type: \"literal\" /* literal */, text: token.text }) },\n { \"name\": \"keyword$subexpression$1\", \"symbols\": [lexer.has(\"RESERVED_KEYWORD\") ? { type: \"RESERVED_KEYWORD\" } : RESERVED_KEYWORD] },\n { \"name\": \"keyword$subexpression$1\", \"symbols\": [lexer.has(\"RESERVED_PHRASE\") ? { type: \"RESERVED_PHRASE\" } : RESERVED_PHRASE] },\n { \"name\": \"keyword$subexpression$1\", \"symbols\": [lexer.has(\"RESERVED_JOIN\") ? { type: \"RESERVED_JOIN\" } : RESERVED_JOIN] },\n {\n \"name\": \"keyword\",\n \"symbols\": [\"keyword$subexpression$1\"],\n \"postprocess\": ([[token]]) => toKeywordNode(token)\n },\n { \"name\": \"data_type$subexpression$1\", \"symbols\": [lexer.has(\"RESERVED_DATA_TYPE\") ? { type: \"RESERVED_DATA_TYPE\" } : RESERVED_DATA_TYPE] },\n {\n \"name\": \"data_type\",\n \"symbols\": [\"data_type$subexpression$1\"],\n \"postprocess\": ([[token]]) => toDataTypeNode(token)\n },\n {\n \"name\": \"data_type\",\n \"symbols\": [lexer.has(\"RESERVED_PARAMETERIZED_DATA_TYPE\") ? { type: \"RESERVED_PARAMETERIZED_DATA_TYPE\" } : RESERVED_PARAMETERIZED_DATA_TYPE, \"_\", \"parenthesis\"],\n \"postprocess\": ([nameToken, _, parens]) => ({\n type: \"parameterized_data_type\" /* parameterized_data_type */,\n dataType: addComments(toDataTypeNode(nameToken), { trailing: _ }),\n parenthesis: parens\n })\n },\n { \"name\": \"logic_operator$subexpression$1\", \"symbols\": [lexer.has(\"AND\") ? { type: \"AND\" } : AND] },\n { \"name\": \"logic_operator$subexpression$1\", \"symbols\": [lexer.has(\"OR\") ? { type: \"OR\" } : OR] },\n { \"name\": \"logic_operator$subexpression$1\", \"symbols\": [lexer.has(\"XOR\") ? { type: \"XOR\" } : XOR] },\n {\n \"name\": \"logic_operator\",\n \"symbols\": [\"logic_operator$subexpression$1\"],\n \"postprocess\": ([[token]]) => toKeywordNode(token)\n },\n { \"name\": \"other_keyword$subexpression$1\", \"symbols\": [lexer.has(\"WHEN\") ? { type: \"WHEN\" } : WHEN] },\n { \"name\": \"other_keyword$subexpression$1\", \"symbols\": [lexer.has(\"THEN\") ? { type: \"THEN\" } : THEN] },\n { \"name\": \"other_keyword$subexpression$1\", \"symbols\": [lexer.has(\"ELSE\") ? { type: \"ELSE\" } : ELSE] },\n { \"name\": \"other_keyword$subexpression$1\", \"symbols\": [lexer.has(\"END\") ? { type: \"END\" } : END] },\n {\n \"name\": \"other_keyword\",\n \"symbols\": [\"other_keyword$subexpression$1\"],\n \"postprocess\": ([[token]]) => toKeywordNode(token)\n },\n { \"name\": \"_$ebnf$1\", \"symbols\": [] },\n { \"name\": \"_$ebnf$1\", \"symbols\": [\"_$ebnf$1\", \"comment\"], \"postprocess\": (d) => d[0].concat([d[1]]) },\n { \"name\": \"_\", \"symbols\": [\"_$ebnf$1\"], \"postprocess\": ([comments]) => comments },\n {\n \"name\": \"comment\",\n \"symbols\": [lexer.has(\"LINE_COMMENT\") ? { type: \"LINE_COMMENT\" } : LINE_COMMENT],\n \"postprocess\": ([token]) => ({\n type: \"line_comment\" /* line_comment */,\n text: token.text,\n precedingWhitespace: token.precedingWhitespace\n })\n },\n {\n \"name\": \"comment\",\n \"symbols\": [lexer.has(\"BLOCK_COMMENT\") ? { type: \"BLOCK_COMMENT\" } : BLOCK_COMMENT],\n \"postprocess\": ([token]) => ({\n type: \"block_comment\" /* block_comment */,\n text: token.text,\n precedingWhitespace: token.precedingWhitespace\n })\n }\n ],\n ParserStart: \"main\"\n};\nvar grammar_default = grammar;\n\n// src/parser/createParser.ts\nvar { Parser: NearleyParser, Grammar } = nearley;\nfunction createParser(tokenizer) {\n let paramTypesOverrides = {};\n const lexer2 = new LexerAdapter((chunk) => [\n ...disambiguateTokens(tokenizer.tokenize(chunk, paramTypesOverrides)),\n createEofToken(chunk.length)\n ]);\n const parser = new NearleyParser(Grammar.fromCompiled(grammar_default), { lexer: lexer2 });\n return {\n parse: (sql2, paramTypes) => {\n paramTypesOverrides = paramTypes;\n const { results } = parser.feed(sql2);\n if (results.length === 1) {\n return results[0];\n } else if (results.length === 0) {\n throw new Error(\"Parse error: Invalid SQL\");\n } else {\n throw new Error(`Parse error: Ambiguous grammar\n${JSON.stringify(results, void 0, 2)}`);\n }\n }\n };\n}\n\n// src/formatter/Layout.ts\nvar Layout = class {\n constructor(indentation) {\n this.indentation = indentation;\n this.items = [];\n }\n /**\n * Appends token strings and whitespace modifications to SQL string.\n */\n add(...items) {\n for (const item of items) {\n switch (item) {\n case 0 /* SPACE */:\n this.items.push(0 /* SPACE */);\n break;\n case 1 /* NO_SPACE */:\n this.trimHorizontalWhitespace();\n break;\n case 2 /* NO_NEWLINE */:\n this.trimWhitespace();\n break;\n case 3 /* NEWLINE */:\n this.trimHorizontalWhitespace();\n this.addNewline(3 /* NEWLINE */);\n break;\n case 4 /* MANDATORY_NEWLINE */:\n this.trimHorizontalWhitespace();\n this.addNewline(4 /* MANDATORY_NEWLINE */);\n break;\n case 5 /* INDENT */:\n this.addIndentation();\n break;\n case 6 /* SINGLE_INDENT */:\n this.items.push(6 /* SINGLE_INDENT */);\n break;\n default:\n this.items.push(item);\n }\n }\n }\n trimHorizontalWhitespace() {\n while (isHorizontalWhitespace(last(this.items))) {\n this.items.pop();\n }\n }\n trimWhitespace() {\n while (isRemovableWhitespace(last(this.items))) {\n this.items.pop();\n }\n }\n addNewline(newline) {\n if (this.items.length > 0) {\n switch (last(this.items)) {\n case 3 /* NEWLINE */:\n this.items.pop();\n this.items.push(newline);\n break;\n case 4 /* MANDATORY_NEWLINE */:\n break;\n default:\n this.items.push(newline);\n break;\n }\n }\n }\n addIndentation() {\n for (let i = 0; i < this.indentation.getLevel(); i++) {\n this.items.push(6 /* SINGLE_INDENT */);\n }\n }\n /**\n * Returns the final SQL string.\n */\n toString() {\n return this.items.map((item) => this.itemToString(item)).join(\"\");\n }\n /**\n * Returns the internal layout data\n */\n getLayoutItems() {\n return this.items;\n }\n itemToString(item) {\n switch (item) {\n case 0 /* SPACE */:\n return \" \";\n case 3 /* NEWLINE */:\n case 4 /* MANDATORY_NEWLINE */:\n return \"\\n\";\n case 6 /* SINGLE_INDENT */:\n return this.indentation.getSingleIndent();\n default:\n return item;\n }\n }\n};\nvar isHorizontalWhitespace = (item) => item === 0 /* SPACE */ || item === 6 /* SINGLE_INDENT */;\nvar isRemovableWhitespace = (item) => item === 0 /* SPACE */ || item === 6 /* SINGLE_INDENT */ || item === 3 /* NEWLINE */;\n\n// src/formatter/tabularStyle.ts\nfunction toTabularFormat(tokenText, indentStyle) {\n if (indentStyle === \"standard\") {\n return tokenText;\n }\n let tail = [];\n if (tokenText.length >= 10 && tokenText.includes(\" \")) {\n [tokenText, ...tail] = tokenText.split(\" \");\n }\n if (indentStyle === \"tabularLeft\") {\n tokenText = tokenText.padEnd(9, \" \");\n } else {\n tokenText = tokenText.padStart(9, \" \");\n }\n return tokenText + [\"\", ...tail].join(\" \");\n}\nfunction isTabularToken(type) {\n return isLogicalOperator(type) || type === \"RESERVED_CLAUSE\" /* RESERVED_CLAUSE */ || type === \"RESERVED_SELECT\" /* RESERVED_SELECT */ || type === \"RESERVED_SET_OPERATION\" /* RESERVED_SET_OPERATION */ || type === \"RESERVED_JOIN\" /* RESERVED_JOIN */ || type === \"LIMIT\" /* LIMIT */;\n}\n\n// src/formatter/Indentation.ts\nvar INDENT_TYPE_TOP_LEVEL = \"top-level\";\nvar INDENT_TYPE_BLOCK_LEVEL = \"block-level\";\nvar Indentation = class {\n /**\n * @param {string} indent A string to indent with\n */\n constructor(indent) {\n this.indent = indent;\n this.indentTypes = [];\n }\n /**\n * Returns indentation string for single indentation step.\n */\n getSingleIndent() {\n return this.indent;\n }\n /**\n * Returns current indentation level\n */\n getLevel() {\n return this.indentTypes.length;\n }\n /**\n * Increases indentation by one top-level indent.\n */\n increaseTopLevel() {\n this.indentTypes.push(INDENT_TYPE_TOP_LEVEL);\n }\n /**\n * Increases indentation by one block-level indent.\n */\n increaseBlockLevel() {\n this.indentTypes.push(INDENT_TYPE_BLOCK_LEVEL);\n }\n /**\n * Decreases indentation by one top-level indent.\n * Does nothing when the previous indent is not top-level.\n */\n decreaseTopLevel() {\n if (this.indentTypes.length > 0 && last(this.indentTypes) === INDENT_TYPE_TOP_LEVEL) {\n this.indentTypes.pop();\n }\n }\n /**\n * Decreases indentation by one block-level indent.\n * If there are top-level indents within the block-level indent,\n * throws away these as well.\n */\n decreaseBlockLevel() {\n while (this.indentTypes.length > 0) {\n const type = this.indentTypes.pop();\n if (type !== INDENT_TYPE_TOP_LEVEL) {\n break;\n }\n }\n }\n};\n\n// src/formatter/InlineLayout.ts\nvar InlineLayout = class extends Layout {\n constructor(expressionWidth) {\n super(new Indentation(\"\"));\n this.expressionWidth = expressionWidth;\n this.length = 0;\n // Keeps track of the trailing whitespace,\n // so that we can decrease length when encountering WS.NO_SPACE,\n // but only when there actually is a space to remove.\n this.trailingSpace = false;\n }\n add(...items) {\n items.forEach((item) => this.addToLength(item));\n if (this.length > this.expressionWidth) {\n throw new InlineLayoutError();\n }\n super.add(...items);\n }\n addToLength(item) {\n if (typeof item === \"string\") {\n this.length += item.length;\n this.trailingSpace = false;\n } else if (item === 4 /* MANDATORY_NEWLINE */ || item === 3 /* NEWLINE */) {\n throw new InlineLayoutError();\n } else if (item === 5 /* INDENT */ || item === 6 /* SINGLE_INDENT */ || item === 0 /* SPACE */) {\n if (!this.trailingSpace) {\n this.length++;\n this.trailingSpace = true;\n }\n } else if (item === 2 /* NO_NEWLINE */ || item === 1 /* NO_SPACE */) {\n if (this.trailingSpace) {\n this.trailingSpace = false;\n this.length--;\n }\n }\n }\n};\nvar InlineLayoutError = class extends Error {\n};\n\n// src/formatter/ExpressionFormatter.ts\nvar ExpressionFormatter = class _ExpressionFormatter {\n constructor({ cfg, dialectCfg, params, layout, inline = false }) {\n this.inline = false;\n this.nodes = [];\n this.index = -1;\n this.cfg = cfg;\n this.dialectCfg = dialectCfg;\n this.inline = inline;\n this.params = params;\n this.layout = layout;\n }\n format(nodes) {\n this.nodes = nodes;\n for (this.index = 0; this.index < this.nodes.length; this.index++) {\n this.formatNode(this.nodes[this.index]);\n }\n return this.layout;\n }\n formatNode(node) {\n this.formatComments(node.leadingComments);\n this.formatNodeWithoutComments(node);\n this.formatComments(node.trailingComments);\n }\n formatNodeWithoutComments(node) {\n switch (node.type) {\n case \"function_call\" /* function_call */:\n return this.formatFunctionCall(node);\n case \"parameterized_data_type\" /* parameterized_data_type */:\n return this.formatParameterizedDataType(node);\n case \"array_subscript\" /* array_subscript */:\n return this.formatArraySubscript(node);\n case \"property_access\" /* property_access */:\n return this.formatPropertyAccess(node);\n case \"parenthesis\" /* parenthesis */:\n return this.formatParenthesis(node);\n case \"between_predicate\" /* between_predicate */:\n return this.formatBetweenPredicate(node);\n case \"case_expression\" /* case_expression */:\n return this.formatCaseExpression(node);\n case \"case_when\" /* case_when */:\n return this.formatCaseWhen(node);\n case \"case_else\" /* case_else */:\n return this.formatCaseElse(node);\n case \"clause\" /* clause */:\n return this.formatClause(node);\n case \"set_operation\" /* set_operation */:\n return this.formatSetOperation(node);\n case \"limit_clause\" /* limit_clause */:\n return this.formatLimitClause(node);\n case \"all_columns_asterisk\" /* all_columns_asterisk */:\n return this.formatAllColumnsAsterisk(node);\n case \"literal\" /* literal */:\n return this.formatLiteral(node);\n case \"identifier\" /* identifier */:\n return this.formatIdentifier(node);\n case \"parameter\" /* parameter */:\n return this.formatParameter(node);\n case \"operator\" /* operator */:\n return this.formatOperator(node);\n case \"comma\" /* comma */:\n return this.formatComma(node);\n case \"line_comment\" /* line_comment */:\n return this.formatLineComment(node);\n case \"block_comment\" /* block_comment */:\n return this.formatBlockComment(node);\n case \"data_type\" /* data_type */:\n return this.formatDataType(node);\n case \"keyword\" /* keyword */:\n return this.formatKeywordNode(node);\n }\n }\n formatFunctionCall(node) {\n this.withComments(node.nameKw, () => {\n this.layout.add(this.showFunctionKw(node.nameKw));\n });\n this.formatNode(node.parenthesis);\n }\n formatParameterizedDataType(node) {\n this.withComments(node.dataType, () => {\n this.layout.add(this.showDataType(node.dataType));\n });\n this.formatNode(node.parenthesis);\n }\n formatArraySubscript(node) {\n let formattedArray;\n switch (node.array.type) {\n case \"data_type\" /* data_type */:\n formattedArray = this.showDataType(node.array);\n break;\n case \"keyword\" /* keyword */:\n formattedArray = this.showKw(node.array);\n break;\n default:\n formattedArray = this.showIdentifier(node.array);\n break;\n }\n this.withComments(node.array, () => {\n this.layout.add(formattedArray);\n });\n this.formatNode(node.parenthesis);\n }\n formatPropertyAccess(node) {\n this.formatNode(node.object);\n this.layout.add(1 /* NO_SPACE */, \".\");\n this.formatNode(node.property);\n }\n formatParenthesis(node) {\n const inlineLayout = this.formatInlineExpression(node.children);\n if (inlineLayout) {\n this.layout.add(node.openParen);\n this.layout.add(...inlineLayout.getLayoutItems());\n this.layout.add(1 /* NO_SPACE */, node.closeParen, 0 /* SPACE */);\n } else {\n this.layout.add(node.openParen, 3 /* NEWLINE */);\n if (isTabularStyle(this.cfg)) {\n this.layout.add(5 /* INDENT */);\n this.layout = this.formatSubExpression(node.children);\n } else {\n this.layout.indentation.increaseBlockLevel();\n this.layout.add(5 /* INDENT */);\n this.layout = this.formatSubExpression(node.children);\n this.layout.indentation.decreaseBlockLevel();\n }\n this.layout.add(3 /* NEWLINE */, 5 /* INDENT */, node.closeParen, 0 /* SPACE */);\n }\n }\n formatBetweenPredicate(node) {\n this.layout.add(this.showKw(node.betweenKw), 0 /* SPACE */);\n this.layout = this.formatSubExpression(node.expr1);\n this.layout.add(1 /* NO_SPACE */, 0 /* SPACE */, this.showNonTabularKw(node.andKw), 0 /* SPACE */);\n this.layout = this.formatSubExpression(node.expr2);\n this.layout.add(0 /* SPACE */);\n }\n formatCaseExpression(node) {\n this.formatNode(node.caseKw);\n this.layout.indentation.increaseBlockLevel();\n this.layout = this.formatSubExpression(node.expr);\n this.layout = this.formatSubExpression(node.clauses);\n this.layout.indentation.decreaseBlockLevel();\n this.layout.add(3 /* NEWLINE */, 5 /* INDENT */);\n this.formatNode(node.endKw);\n }\n formatCaseWhen(node) {\n this.layout.add(3 /* NEWLINE */, 5 /* INDENT */);\n this.formatNode(node.whenKw);\n this.layout = this.formatSubExpression(node.condition);\n this.formatNode(node.thenKw);\n this.layout = this.formatSubExpression(node.result);\n }\n formatCaseElse(node) {\n this.layout.add(3 /* NEWLINE */, 5 /* INDENT */);\n this.formatNode(node.elseKw);\n this.layout = this.formatSubExpression(node.result);\n }\n formatClause(node) {\n if (this.isOnelineClause(node)) {\n this.formatClauseInOnelineStyle(node);\n } else if (isTabularStyle(this.cfg)) {\n this.formatClauseInTabularStyle(node);\n } else {\n this.formatClauseInIndentedStyle(node);\n }\n }\n isOnelineClause(node) {\n return this.dialectCfg.onelineClauses[node.nameKw.text];\n }\n formatClauseInIndentedStyle(node) {\n this.layout.add(3 /* NEWLINE */, 5 /* INDENT */, this.showKw(node.nameKw), 3 /* NEWLINE */);\n this.layout.indentation.increaseTopLevel();\n this.layout.add(5 /* INDENT */);\n this.layout = this.formatSubExpression(node.children);\n this.layout.indentation.decreaseTopLevel();\n }\n formatClauseInOnelineStyle(node) {\n this.layout.add(3 /* NEWLINE */, 5 /* INDENT */, this.showKw(node.nameKw), 0 /* SPACE */);\n this.layout = this.formatSubExpression(node.children);\n }\n formatClauseInTabularStyle(node) {\n this.layout.add(3 /* NEWLINE */, 5 /* INDENT */, this.showKw(node.nameKw), 0 /* SPACE */);\n this.layout.indentation.increaseTopLevel();\n this.layout = this.formatSubExpression(node.children);\n this.layout.indentation.decreaseTopLevel();\n }\n formatSetOperation(node) {\n this.layout.add(3 /* NEWLINE */, 5 /* INDENT */, this.showKw(node.nameKw), 3 /* NEWLINE */);\n this.layout.add(5 /* INDENT */);\n this.layout = this.formatSubExpression(node.children);\n }\n formatLimitClause(node) {\n this.withComments(node.limitKw, () => {\n this.layout.add(3 /* NEWLINE */, 5 /* INDENT */, this.showKw(node.limitKw));\n });\n this.layout.indentation.increaseTopLevel();\n if (isTabularStyle(this.cfg)) {\n this.layout.add(0 /* SPACE */);\n } else {\n this.layout.add(3 /* NEWLINE */, 5 /* INDENT */);\n }\n if (node.offset) {\n this.layout = this.formatSubExpression(node.offset);\n this.layout.add(1 /* NO_SPACE */, \",\", 0 /* SPACE */);\n this.layout = this.formatSubExpression(node.count);\n } else {\n this.layout = this.formatSubExpression(node.count);\n }\n this.layout.indentation.decreaseTopLevel();\n }\n formatAllColumnsAsterisk(_node) {\n this.layout.add(\"*\", 0 /* SPACE */);\n }\n formatLiteral(node) {\n this.layout.add(node.text, 0 /* SPACE */);\n }\n formatIdentifier(node) {\n this.layout.add(this.showIdentifier(node), 0 /* SPACE */);\n }\n formatParameter(node) {\n this.layout.add(this.params.get(node), 0 /* SPACE */);\n }\n formatOperator({ text }) {\n if (this.cfg.denseOperators || this.dialectCfg.alwaysDenseOperators.includes(text)) {\n this.layout.add(1 /* NO_SPACE */, text);\n } else if (text === \":\") {\n this.layout.add(1 /* NO_SPACE */, text, 0 /* SPACE */);\n } else {\n this.layout.add(text, 0 /* SPACE */);\n }\n }\n formatComma(_node) {\n if (!this.inline) {\n this.layout.add(1 /* NO_SPACE */, \",\", 3 /* NEWLINE */, 5 /* INDENT */);\n } else {\n this.layout.add(1 /* NO_SPACE */, \",\", 0 /* SPACE */);\n }\n }\n withComments(node, fn) {\n this.formatComments(node.leadingComments);\n fn();\n this.formatComments(node.trailingComments);\n }\n formatComments(comments) {\n if (!comments) {\n return;\n }\n comments.forEach((com) => {\n if (com.type === \"line_comment\" /* line_comment */) {\n this.formatLineComment(com);\n } else {\n this.formatBlockComment(com);\n }\n });\n }\n formatLineComment(node) {\n if (isMultiline(node.precedingWhitespace || \"\")) {\n this.layout.add(3 /* NEWLINE */, 5 /* INDENT */, node.text, 4 /* MANDATORY_NEWLINE */, 5 /* INDENT */);\n } else if (this.layout.getLayoutItems().length > 0) {\n this.layout.add(2 /* NO_NEWLINE */, 0 /* SPACE */, node.text, 4 /* MANDATORY_NEWLINE */, 5 /* INDENT */);\n } else {\n this.layout.add(node.text, 4 /* MANDATORY_NEWLINE */, 5 /* INDENT */);\n }\n }\n formatBlockComment(node) {\n if (this.isMultilineBlockComment(node)) {\n this.splitBlockComment(node.text).forEach((line) => {\n this.layout.add(3 /* NEWLINE */, 5 /* INDENT */, line);\n });\n this.layout.add(3 /* NEWLINE */, 5 /* INDENT */);\n } else {\n this.layout.add(node.text, 0 /* SPACE */);\n }\n }\n isMultilineBlockComment(node) {\n return isMultiline(node.text) || isMultiline(node.precedingWhitespace || \"\");\n }\n isDocComment(comment) {\n const lines = comment.split(/\\n/);\n return (\n // first line starts with /* or /**\n /^\\/\\*\\*?$/.test(lines[0]) && // intermediate lines start with *\n lines.slice(1, lines.length - 1).every((line) => /^\\s*\\*/.test(line)) && // last line ends with */\n /^\\s*\\*\\/$/.test(last(lines))\n );\n }\n // Breaks up block comment to multiple lines.\n // For example this doc-comment (dots representing leading whitespace):\n //\n // ..../**\n // .....* Some description here\n // .....* and here too\n // .....*/\n //\n // gets broken to this array (note the leading single spaces):\n //\n // [ '/**',\n // '.* Some description here',\n // '.* and here too',\n // '.*/' ]\n //\n // However, a normal comment (non-doc-comment) like this:\n //\n // ..../*\n // ....Some description here\n // ....*/\n //\n // gets broken to this array (no leading spaces):\n //\n // [ '/*',\n // 'Some description here',\n // '*/' ]\n //\n splitBlockComment(comment) {\n if (this.isDocComment(comment)) {\n return comment.split(/\\n/).map((line) => {\n if (/^\\s*\\*/.test(line)) {\n return \" \" + line.replace(/^\\s*/, \"\");\n } else {\n return line;\n }\n });\n } else {\n return comment.split(/\\n/).map((line) => line.replace(/^\\s*/, \"\"));\n }\n }\n formatSubExpression(nodes) {\n return new _ExpressionFormatter({\n cfg: this.cfg,\n dialectCfg: this.dialectCfg,\n params: this.params,\n layout: this.layout,\n inline: this.inline\n }).format(nodes);\n }\n formatInlineExpression(nodes) {\n const oldParamIndex = this.params.getPositionalParameterIndex();\n try {\n return new _ExpressionFormatter({\n cfg: this.cfg,\n dialectCfg: this.dialectCfg,\n params: this.params,\n layout: new InlineLayout(this.cfg.expressionWidth),\n inline: true\n }).format(nodes);\n } catch (e) {\n if (e instanceof InlineLayoutError) {\n this.params.setPositionalParameterIndex(oldParamIndex);\n return void 0;\n } else {\n throw e;\n }\n }\n }\n formatKeywordNode(node) {\n switch (node.tokenType) {\n case \"RESERVED_JOIN\" /* RESERVED_JOIN */:\n return this.formatJoin(node);\n case \"AND\" /* AND */:\n case \"OR\" /* OR */:\n case \"XOR\" /* XOR */:\n return this.formatLogicalOperator(node);\n default:\n return this.formatKeyword(node);\n }\n }\n formatJoin(node) {\n if (isTabularStyle(this.cfg)) {\n this.layout.indentation.decreaseTopLevel();\n this.layout.add(3 /* NEWLINE */, 5 /* INDENT */, this.showKw(node), 0 /* SPACE */);\n this.layout.indentation.increaseTopLevel();\n } else {\n this.layout.add(3 /* NEWLINE */, 5 /* INDENT */, this.showKw(node), 0 /* SPACE */);\n }\n }\n formatKeyword(node) {\n this.layout.add(this.showKw(node), 0 /* SPACE */);\n }\n formatLogicalOperator(node) {\n if (this.cfg.logicalOperatorNewline === \"before\") {\n if (isTabularStyle(this.cfg)) {\n this.layout.indentation.decreaseTopLevel();\n this.layout.add(3 /* NEWLINE */, 5 /* INDENT */, this.showKw(node), 0 /* SPACE */);\n this.layout.indentation.increaseTopLevel();\n } else {\n this.layout.add(3 /* NEWLINE */, 5 /* INDENT */, this.showKw(node), 0 /* SPACE */);\n }\n } else {\n this.layout.add(this.showKw(node), 3 /* NEWLINE */, 5 /* INDENT */);\n }\n }\n formatDataType(node) {\n this.layout.add(this.showDataType(node), 0 /* SPACE */);\n }\n showKw(node) {\n if (isTabularToken(node.tokenType)) {\n return toTabularFormat(this.showNonTabularKw(node), this.cfg.indentStyle);\n } else {\n return this.showNonTabularKw(node);\n }\n }\n // Like showKw(), but skips tabular formatting\n showNonTabularKw(node) {\n switch (this.cfg.keywordCase) {\n case \"preserve\":\n return equalizeWhitespace(node.raw);\n case \"upper\":\n return node.text;\n case \"lower\":\n return node.text.toLowerCase();\n }\n }\n showFunctionKw(node) {\n if (isTabularToken(node.tokenType)) {\n return toTabularFormat(this.showNonTabularFunctionKw(node), this.cfg.indentStyle);\n } else {\n return this.showNonTabularFunctionKw(node);\n }\n }\n // Like showFunctionKw(), but skips tabular formatting\n showNonTabularFunctionKw(node) {\n switch (this.cfg.functionCase) {\n case \"preserve\":\n return equalizeWhitespace(node.raw);\n case \"upper\":\n return node.text;\n case \"lower\":\n return node.text.toLowerCase();\n }\n }\n showIdentifier(node) {\n if (node.quoted) {\n return node.text;\n } else {\n switch (this.cfg.identifierCase) {\n case \"preserve\":\n return node.text;\n case \"upper\":\n return node.text.toUpperCase();\n case \"lower\":\n return node.text.toLowerCase();\n }\n }\n }\n showDataType(node) {\n switch (this.cfg.dataTypeCase) {\n case \"preserve\":\n return equalizeWhitespace(node.raw);\n case \"upper\":\n return node.text;\n case \"lower\":\n return node.text.toLowerCase();\n }\n }\n};\n\n// src/formatter/Formatter.ts\nvar Formatter = class {\n constructor(dialect, cfg) {\n this.dialect = dialect;\n this.cfg = cfg;\n this.params = new Params(this.cfg.params);\n }\n /**\n * Formats an SQL query.\n * @param {string} query - The SQL query string to be formatted\n * @return {string} The formatter query\n */\n format(query) {\n const ast = this.parse(query);\n const formattedQuery = this.formatAst(ast);\n return formattedQuery.trimEnd();\n }\n parse(query) {\n return createParser(this.dialect.tokenizer).parse(query, this.cfg.paramTypes || {});\n }\n formatAst(statements) {\n return statements.map((stat) => this.formatStatement(stat)).join(\"\\n\".repeat(this.cfg.linesBetweenQueries + 1));\n }\n formatStatement(statement) {\n const layout = new ExpressionFormatter({\n cfg: this.cfg,\n dialectCfg: this.dialect.formatOptions,\n params: this.params,\n layout: new Layout(new Indentation(indentString(this.cfg)))\n }).format(statement.children);\n if (!statement.hasSemicolon) {\n } else if (this.cfg.newlineBeforeSemicolon) {\n layout.add(3 /* NEWLINE */, \";\");\n } else {\n layout.add(2 /* NO_NEWLINE */, \";\");\n }\n return layout.toString();\n }\n};\n\n// src/validateConfig.ts\nvar ConfigError = class extends Error {\n};\nfunction validateConfig(cfg) {\n const removedOptions = [\n \"multilineLists\",\n \"newlineBeforeOpenParen\",\n \"newlineBeforeCloseParen\",\n \"aliasAs\",\n \"commaPosition\",\n \"tabulateAlias\"\n ];\n for (const optionName of removedOptions) {\n if (optionName in cfg) {\n throw new ConfigError(`${optionName} config is no more supported.`);\n }\n }\n if (cfg.expressionWidth <= 0) {\n throw new ConfigError(\n `expressionWidth config must be positive number. Received ${cfg.expressionWidth} instead.`\n );\n }\n if (cfg.params && !validateParams(cfg.params)) {\n console.warn('WARNING: All \"params\" option values should be strings.');\n }\n return cfg;\n}\nfunction validateParams(params) {\n const paramValues = params instanceof Array ? params : Object.values(params);\n return paramValues.every((p) => typeof p === \"string\");\n}\n\n// src/sqlFormatter.ts\nvar dialectNameMap = {\n bigquery: \"bigquery\",\n db2: \"db2\",\n db2i: \"db2i\",\n hive: \"hive\",\n mariadb: \"mariadb\",\n mysql: \"mysql\",\n n1ql: \"n1ql\",\n plsql: \"plsql\",\n postgresql: \"postgresql\",\n redshift: \"redshift\",\n spark: \"spark\",\n sqlite: \"sqlite\",\n sql: \"sql\",\n trino: \"trino\",\n transactsql: \"transactsql\",\n tsql: \"transactsql\",\n // alias for transactsq\n singlestoredb: \"singlestoredb\",\n snowflake: \"snowflake\"\n};\nvar supportedDialects = Object.keys(dialectNameMap);\nvar defaultOptions = {\n tabWidth: 2,\n useTabs: false,\n keywordCase: \"preserve\",\n identifierCase: \"preserve\",\n dataTypeCase: \"preserve\",\n functionCase: \"preserve\",\n indentStyle: \"standard\",\n logicalOperatorNewline: \"before\",\n expressionWidth: 50,\n linesBetweenQueries: 1,\n denseOperators: false,\n newlineBeforeSemicolon: false\n};\nvar format = (query, cfg = {}) => {\n if (typeof cfg.language === \"string\" && !supportedDialects.includes(cfg.language)) {\n throw new ConfigError(`Unsupported SQL dialect: ${cfg.language}`);\n }\n const canonicalDialectName = dialectNameMap[cfg.language || \"sql\"];\n return formatDialect(query, __spreadProps(__spreadValues({}, cfg), {\n dialect: allDialects_exports[canonicalDialectName]\n }));\n};\nvar formatDialect = (query, _a) => {\n var _b = _a, { dialect } = _b, cfg = __objRest(_b, [\"dialect\"]);\n if (typeof query !== \"string\") {\n throw new Error(\"Invalid query argument. Expected string, instead got \" + typeof query);\n }\n const options = validateConfig(__spreadValues(__spreadValues({}, defaultOptions), cfg));\n return new Formatter(createDialect(dialect), options).format(query);\n};\nexport {\n ConfigError,\n bigquery,\n db2,\n db2i,\n expandPhrases,\n format,\n formatDialect,\n hive,\n mariadb,\n mysql,\n n1ql,\n plsql,\n postgresql,\n redshift,\n singlestoredb,\n snowflake,\n spark,\n sql,\n sqlite,\n supportedDialects,\n transactsql,\n trino\n};\n//# sourceMappingURL=index.js.map","\n\n\n","\n\n\n","\n\n\n\n\n","\n\n\n\n\n","\n\n\n\n\n","export type BackendRequestData = {\n id: string\n meta: RequestMeta\n request: RequestRequest\n response: RequestResponse\n models: { [key: string]: number }\n queries: Query[]\n jobs: Job[]\n messages: Message[]\n cache: Cache[]\n logs: Log[]\n}\n\nexport type RequestMeta = {\n controller: string\n action: string\n params: { [key: string]: string }\n format: string\n method: string\n path: string\n status: number\n view_runtime: number\n db_runtime: number\n duration: number\n cpu_time: number\n idle_time: number\n allocations: number\n}\n\nexport type RequestRequest = {\n method: string\n path: string\n format: string\n headers: Headers\n params: { [key: string]: any }\n}\n\nexport type RequestResponse = {\n status: number\n headers: Headers\n body: string\n}\n\nexport type Headers = { [key: string]: string }\n\nexport type Query = {\n id: string\n name: string\n sql: string\n cached: boolean\n async: boolean\n binds: any[]\n source: string[]\n duration: number\n lock_wait: number\n}\n\nexport type Job = {\n id: string\n class: string\n queue: string\n args: any[]\n successfully_enqueued: boolean\n scheduled_at?: number\n logs: string[]\n}\n\nexport type Message = {\n msg: string\n extra: any\n}\n\nexport type Cache = {\n time: string\n name: string\n label: string\n key: string\n store: string\n transaction_id: string\n hit?: boolean\n super_operation?: string\n}\n\nexport type Log = {\n time: string\n severity: number\n severity_label: string\n message: string\n progname: string\n}\n\nexport class BackendRequest {\n id: string\n meta: RequestMeta\n request: RequestRequest\n response: RequestResponse\n models: { [key: string]: number }\n queries: Query[]\n jobs: Job[]\n messages: Message[]\n cache: Cache[]\n logs: Log[]\n\n constructor(data: BackendRequestData) {\n if (import.meta.env.DEV) {\n console.log(data)\n }\n\n this.id = data?.id || \"null\"\n this.meta = data?.meta || ({} as unknown as RequestMeta)\n this.request = data?.request || ({} as unknown as RequestRequest)\n this.response = data?.response || ({} as unknown as RequestResponse)\n this.models = data?.models || {}\n this.queries = data?.queries || []\n this.jobs = data?.jobs || []\n this.messages = data?.messages || []\n this.cache = data?.cache || []\n this.logs = data?.logs || []\n }\n\n get modelsCount(): number {\n return Object.values(this.models).reduce((a, b) => a + b, 0)\n }\n\n get queryCount(): number {\n return this.queries.length\n }\n\n get jobsCount(): number {\n return this.jobs.length\n }\n\n get messagesCount(): number {\n return this.messages.length\n }\n\n get cacheCount(): number {\n // count unique cache message per transaction_id\n return this.cache.reduce((acc, curr) => {\n if (acc.indexOf(curr.transaction_id) === -1) {\n acc.push(curr.transaction_id)\n }\n return acc\n }, []).length\n }\n\n get pathWithVerb(): string {\n return `${this.meta.method.toUpperCase()} ${this.meta.path}`\n }\n\n get dataForTabs(): { [key: string]: any } {\n const tabs = {\n messages: {\n label: \"Debug\",\n count: this.messagesCount,\n },\n models: {\n label: \"Models\",\n count: this.modelsCount,\n },\n queries: {\n label: \"Queries\",\n count: this.queryCount,\n },\n jobs: {\n label: \"Jobs\",\n count: this.jobsCount,\n },\n cache: {\n label: \"Cache\",\n count: this.cacheCount,\n },\n }\n\n if (this.logs.length > 0) {\n tabs[\"logs\"] = {\n label: \"Logs\",\n }\n }\n\n return tabs\n }\n}\n","import { defineStore } from \"pinia\"\nimport { BackendRequest, BackendRequestData } from \"@/models/Request.ts\"\n\nexport let useRequestsStore = defineStore(\"requests\", {\n state: () => {\n return {\n requests: [],\n currentRequest: null,\n } as {\n requests: BackendRequest[]\n currentRequest: BackendRequest\n }\n },\n actions: {\n addRequests(requests: BackendRequestData[]): string[] {\n const ids = []\n requests.forEach((r) => {\n if (!this.requests.find((req) => req.id === r.id)) {\n this.requests.push(new BackendRequest(r))\n }\n ids.push(r.id)\n })\n return ids\n },\n setCurrentRequestById(id: string) {\n this.currentRequest = this.requests.find((r) => r.id === id)!\n },\n clearRequests() {\n this.requests = []\n this.currentRequest = null\n },\n // removeRequest(request) {\n // this.requests.splice(this.requests.indexOf(request), 1)\n // },\n },\n})\n","/**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\nfunction apply(func, thisArg, args) {\n switch (args.length) {\n case 0: return func.call(thisArg);\n case 1: return func.call(thisArg, args[0]);\n case 2: return func.call(thisArg, args[0], args[1]);\n case 3: return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n}\n\nmodule.exports = apply;\n","/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n","var apply = require('./_apply');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * A specialized version of `baseRest` which transforms the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @param {Function} transform The rest array transform.\n * @returns {Function} Returns the new function.\n */\nfunction overRest(func, start, transform) {\n start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n index = -1;\n var otherArgs = Array(start + 1);\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = transform(array);\n return apply(func, this, otherArgs);\n };\n}\n\nmodule.exports = overRest;\n","/**\n * Creates a function that returns `value`.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {*} value The value to return from the new function.\n * @returns {Function} Returns the new constant function.\n * @example\n *\n * var objects = _.times(2, _.constant({ 'a': 1 }));\n *\n * console.log(objects);\n * // => [{ 'a': 1 }, { 'a': 1 }]\n *\n * console.log(objects[0] === objects[1]);\n * // => true\n */\nfunction constant(value) {\n return function() {\n return value;\n };\n}\n\nmodule.exports = constant;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n","var Symbol = require('./_Symbol');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nmodule.exports = getRawTag;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n","var Symbol = require('./_Symbol'),\n getRawTag = require('./_getRawTag'),\n objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n","var baseGetTag = require('./_baseGetTag'),\n isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar asyncTag = '[object AsyncFunction]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n proxyTag = '[object Proxy]';\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\nmodule.exports = isFunction;\n","var root = require('./_root');\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\nmodule.exports = coreJsData;\n","var coreJsData = require('./_coreJsData');\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\nmodule.exports = isMasked;\n","/** Used for built-in method references. */\nvar funcProto = Function.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\nmodule.exports = toSource;\n","var isFunction = require('./isFunction'),\n isMasked = require('./_isMasked'),\n isObject = require('./isObject'),\n toSource = require('./_toSource');\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\nmodule.exports = baseIsNative;\n","/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\nmodule.exports = getValue;\n","var baseIsNative = require('./_baseIsNative'),\n getValue = require('./_getValue');\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n","var getNative = require('./_getNative');\n\nvar defineProperty = (function() {\n try {\n var func = getNative(Object, 'defineProperty');\n func({}, '', {});\n return func;\n } catch (e) {}\n}());\n\nmodule.exports = defineProperty;\n","var constant = require('./constant'),\n defineProperty = require('./_defineProperty'),\n identity = require('./identity');\n\n/**\n * The base implementation of `setToString` without support for hot loop shorting.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar baseSetToString = !defineProperty ? identity : function(func, string) {\n return defineProperty(func, 'toString', {\n 'configurable': true,\n 'enumerable': false,\n 'value': constant(string),\n 'writable': true\n });\n};\n\nmodule.exports = baseSetToString;\n","/** Used to detect hot functions by number of calls within a span of milliseconds. */\nvar HOT_COUNT = 800,\n HOT_SPAN = 16;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeNow = Date.now;\n\n/**\n * Creates a function that'll short out and invoke `identity` instead\n * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN`\n * milliseconds.\n *\n * @private\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new shortable function.\n */\nfunction shortOut(func) {\n var count = 0,\n lastCalled = 0;\n\n return function() {\n var stamp = nativeNow(),\n remaining = HOT_SPAN - (stamp - lastCalled);\n\n lastCalled = stamp;\n if (remaining > 0) {\n if (++count >= HOT_COUNT) {\n return arguments[0];\n }\n } else {\n count = 0;\n }\n return func.apply(undefined, arguments);\n };\n}\n\nmodule.exports = shortOut;\n","var baseSetToString = require('./_baseSetToString'),\n shortOut = require('./_shortOut');\n\n/**\n * Sets the `toString` method of `func` to return `string`.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar setToString = shortOut(baseSetToString);\n\nmodule.exports = setToString;\n","var identity = require('./identity'),\n overRest = require('./_overRest'),\n setToString = require('./_setToString');\n\n/**\n * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n */\nfunction baseRest(func, start) {\n return setToString(overRest(func, start, identity), func + '');\n}\n\nmodule.exports = baseRest;\n","/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\nmodule.exports = listCacheClear;\n","/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\nmodule.exports = eq;\n","var eq = require('./eq');\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\nmodule.exports = assocIndexOf;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype;\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\nmodule.exports = listCacheDelete;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\nmodule.exports = listCacheGet;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\nmodule.exports = listCacheHas;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\nmodule.exports = listCacheSet;\n","var listCacheClear = require('./_listCacheClear'),\n listCacheDelete = require('./_listCacheDelete'),\n listCacheGet = require('./_listCacheGet'),\n listCacheHas = require('./_listCacheHas'),\n listCacheSet = require('./_listCacheSet');\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\nmodule.exports = ListCache;\n","var ListCache = require('./_ListCache');\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n}\n\nmodule.exports = stackClear;\n","/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\nmodule.exports = stackDelete;\n","/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\nmodule.exports = stackGet;\n","/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\nmodule.exports = stackHas;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map');\n\nmodule.exports = Map;\n","var getNative = require('./_getNative');\n\n/* Built-in method references that are verified to be native. */\nvar nativeCreate = getNative(Object, 'create');\n\nmodule.exports = nativeCreate;\n","var nativeCreate = require('./_nativeCreate');\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n}\n\nmodule.exports = hashClear;\n","/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = hashDelete;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\nmodule.exports = hashGet;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\nmodule.exports = hashHas;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\nmodule.exports = hashSet;\n","var hashClear = require('./_hashClear'),\n hashDelete = require('./_hashDelete'),\n hashGet = require('./_hashGet'),\n hashHas = require('./_hashHas'),\n hashSet = require('./_hashSet');\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\nmodule.exports = Hash;\n","var Hash = require('./_Hash'),\n ListCache = require('./_ListCache'),\n Map = require('./_Map');\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\nmodule.exports = mapCacheClear;\n","/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\nmodule.exports = isKeyable;\n","var isKeyable = require('./_isKeyable');\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\nmodule.exports = getMapData;\n","var getMapData = require('./_getMapData');\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = mapCacheDelete;\n","var getMapData = require('./_getMapData');\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\nmodule.exports = mapCacheGet;\n","var getMapData = require('./_getMapData');\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\nmodule.exports = mapCacheHas;\n","var getMapData = require('./_getMapData');\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\nmodule.exports = mapCacheSet;\n","var mapCacheClear = require('./_mapCacheClear'),\n mapCacheDelete = require('./_mapCacheDelete'),\n mapCacheGet = require('./_mapCacheGet'),\n mapCacheHas = require('./_mapCacheHas'),\n mapCacheSet = require('./_mapCacheSet');\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\nmodule.exports = MapCache;\n","var ListCache = require('./_ListCache'),\n Map = require('./_Map'),\n MapCache = require('./_MapCache');\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\nmodule.exports = stackSet;\n","var ListCache = require('./_ListCache'),\n stackClear = require('./_stackClear'),\n stackDelete = require('./_stackDelete'),\n stackGet = require('./_stackGet'),\n stackHas = require('./_stackHas'),\n stackSet = require('./_stackSet');\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\nmodule.exports = Stack;\n","var defineProperty = require('./_defineProperty');\n\n/**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction baseAssignValue(object, key, value) {\n if (key == '__proto__' && defineProperty) {\n defineProperty(object, key, {\n 'configurable': true,\n 'enumerable': true,\n 'value': value,\n 'writable': true\n });\n } else {\n object[key] = value;\n }\n}\n\nmodule.exports = baseAssignValue;\n","var baseAssignValue = require('./_baseAssignValue'),\n eq = require('./eq');\n\n/**\n * This function is like `assignValue` except that it doesn't assign\n * `undefined` values.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignMergeValue(object, key, value) {\n if ((value !== undefined && !eq(object[key], value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nmodule.exports = assignMergeValue;\n","/**\n * Creates a base function for methods like `_.forIn` and `_.forOwn`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var index = -1,\n iterable = Object(object),\n props = keysFunc(object),\n length = props.length;\n\n while (length--) {\n var key = props[fromRight ? length : ++index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\nmodule.exports = createBaseFor;\n","var createBaseFor = require('./_createBaseFor');\n\n/**\n * The base implementation of `baseForOwn` which iterates over `object`\n * properties returned by `keysFunc` and invokes `iteratee` for each property.\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\nmodule.exports = baseFor;\n","var root = require('./_root');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined;\n\n/**\n * Creates a clone of `buffer`.\n *\n * @private\n * @param {Buffer} buffer The buffer to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Buffer} Returns the cloned buffer.\n */\nfunction cloneBuffer(buffer, isDeep) {\n if (isDeep) {\n return buffer.slice();\n }\n var length = buffer.length,\n result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);\n\n buffer.copy(result);\n return result;\n}\n\nmodule.exports = cloneBuffer;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Uint8Array = root.Uint8Array;\n\nmodule.exports = Uint8Array;\n","var Uint8Array = require('./_Uint8Array');\n\n/**\n * Creates a clone of `arrayBuffer`.\n *\n * @private\n * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction cloneArrayBuffer(arrayBuffer) {\n var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n return result;\n}\n\nmodule.exports = cloneArrayBuffer;\n","var cloneArrayBuffer = require('./_cloneArrayBuffer');\n\n/**\n * Creates a clone of `typedArray`.\n *\n * @private\n * @param {Object} typedArray The typed array to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned typed array.\n */\nfunction cloneTypedArray(typedArray, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n}\n\nmodule.exports = cloneTypedArray;\n","/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction copyArray(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\nmodule.exports = copyArray;\n","var isObject = require('./isObject');\n\n/** Built-in value references. */\nvar objectCreate = Object.create;\n\n/**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} proto The object to inherit from.\n * @returns {Object} Returns the new object.\n */\nvar baseCreate = (function() {\n function object() {}\n return function(proto) {\n if (!isObject(proto)) {\n return {};\n }\n if (objectCreate) {\n return objectCreate(proto);\n }\n object.prototype = proto;\n var result = new object;\n object.prototype = undefined;\n return result;\n };\n}());\n\nmodule.exports = baseCreate;\n","/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\nmodule.exports = overArg;\n","var overArg = require('./_overArg');\n\n/** Built-in value references. */\nvar getPrototype = overArg(Object.getPrototypeOf, Object);\n\nmodule.exports = getPrototype;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\nmodule.exports = isPrototype;\n","var baseCreate = require('./_baseCreate'),\n getPrototype = require('./_getPrototype'),\n isPrototype = require('./_isPrototype');\n\n/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n return (typeof object.constructor == 'function' && !isPrototype(object))\n ? baseCreate(getPrototype(object))\n : {};\n}\n\nmodule.exports = initCloneObject;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]';\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\nmodule.exports = baseIsArguments;\n","var baseIsArguments = require('./_baseIsArguments'),\n isObjectLike = require('./isObjectLike');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\nmodule.exports = isArguments;\n","/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nmodule.exports = isArray;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n","var isFunction = require('./isFunction'),\n isLength = require('./isLength');\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\nmodule.exports = isArrayLike;\n","var isArrayLike = require('./isArrayLike'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\nmodule.exports = isArrayLikeObject;\n","/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = stubFalse;\n","var root = require('./_root'),\n stubFalse = require('./stubFalse');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\nmodule.exports = isBuffer;\n","var baseGetTag = require('./_baseGetTag'),\n getPrototype = require('./_getPrototype'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to infer the `Object` constructor. */\nvar objectCtorString = funcToString.call(Object);\n\n/**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\nfunction isPlainObject(value) {\n if (!isObjectLike(value) || baseGetTag(value) != objectTag) {\n return false;\n }\n var proto = getPrototype(value);\n if (proto === null) {\n return true;\n }\n var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n return typeof Ctor == 'function' && Ctor instanceof Ctor &&\n funcToString.call(Ctor) == objectCtorString;\n}\n\nmodule.exports = isPlainObject;\n","var baseGetTag = require('./_baseGetTag'),\n isLength = require('./isLength'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\nmodule.exports = baseIsTypedArray;\n","/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\nmodule.exports = baseUnary;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n // Use `util.types` for Node.js 10+.\n var types = freeModule && freeModule.require && freeModule.require('util').types;\n\n if (types) {\n return types;\n }\n\n // Legacy `process.binding('util')` for Node.js < 10.\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\nmodule.exports = nodeUtil;\n","var baseIsTypedArray = require('./_baseIsTypedArray'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\nmodule.exports = isTypedArray;\n","/**\n * Gets the value at `key`, unless `key` is \"__proto__\" or \"constructor\".\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction safeGet(object, key) {\n if (key === 'constructor' && typeof object[key] === 'function') {\n return;\n }\n\n if (key == '__proto__') {\n return;\n }\n\n return object[key];\n}\n\nmodule.exports = safeGet;\n","var baseAssignValue = require('./_baseAssignValue'),\n eq = require('./eq');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nmodule.exports = assignValue;\n","var assignValue = require('./_assignValue'),\n baseAssignValue = require('./_baseAssignValue');\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n var isNew = !object;\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n if (newValue === undefined) {\n newValue = source[key];\n }\n if (isNew) {\n baseAssignValue(object, key, newValue);\n } else {\n assignValue(object, key, newValue);\n }\n }\n return object;\n}\n\nmodule.exports = copyObject;\n","/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\nmodule.exports = baseTimes;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n var type = typeof value;\n length = length == null ? MAX_SAFE_INTEGER : length;\n\n return !!length &&\n (type == 'number' ||\n (type != 'symbol' && reIsUint.test(value))) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\nmodule.exports = isIndex;\n","var baseTimes = require('./_baseTimes'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isIndex = require('./_isIndex'),\n isTypedArray = require('./isTypedArray');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = arrayLikeKeys;\n","/**\n * This function is like\n * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * except that it includes inherited enumerable properties.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction nativeKeysIn(object) {\n var result = [];\n if (object != null) {\n for (var key in Object(object)) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = nativeKeysIn;\n","var isObject = require('./isObject'),\n isPrototype = require('./_isPrototype'),\n nativeKeysIn = require('./_nativeKeysIn');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeysIn(object) {\n if (!isObject(object)) {\n return nativeKeysIn(object);\n }\n var isProto = isPrototype(object),\n result = [];\n\n for (var key in object) {\n if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = baseKeysIn;\n","var arrayLikeKeys = require('./_arrayLikeKeys'),\n baseKeysIn = require('./_baseKeysIn'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\n}\n\nmodule.exports = keysIn;\n","var copyObject = require('./_copyObject'),\n keysIn = require('./keysIn');\n\n/**\n * Converts `value` to a plain object flattening inherited enumerable string\n * keyed properties of `value` to own properties of the plain object.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {Object} Returns the converted plain object.\n * @example\n *\n * function Foo() {\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.assign({ 'a': 1 }, new Foo);\n * // => { 'a': 1, 'b': 2 }\n *\n * _.assign({ 'a': 1 }, _.toPlainObject(new Foo));\n * // => { 'a': 1, 'b': 2, 'c': 3 }\n */\nfunction toPlainObject(value) {\n return copyObject(value, keysIn(value));\n}\n\nmodule.exports = toPlainObject;\n","var assignMergeValue = require('./_assignMergeValue'),\n cloneBuffer = require('./_cloneBuffer'),\n cloneTypedArray = require('./_cloneTypedArray'),\n copyArray = require('./_copyArray'),\n initCloneObject = require('./_initCloneObject'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isArrayLikeObject = require('./isArrayLikeObject'),\n isBuffer = require('./isBuffer'),\n isFunction = require('./isFunction'),\n isObject = require('./isObject'),\n isPlainObject = require('./isPlainObject'),\n isTypedArray = require('./isTypedArray'),\n safeGet = require('./_safeGet'),\n toPlainObject = require('./toPlainObject');\n\n/**\n * A specialized version of `baseMerge` for arrays and objects which performs\n * deep merges and tracks traversed objects enabling objects with circular\n * references to be merged.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {string} key The key of the value to merge.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} mergeFunc The function to merge values.\n * @param {Function} [customizer] The function to customize assigned values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) {\n var objValue = safeGet(object, key),\n srcValue = safeGet(source, key),\n stacked = stack.get(srcValue);\n\n if (stacked) {\n assignMergeValue(object, key, stacked);\n return;\n }\n var newValue = customizer\n ? customizer(objValue, srcValue, (key + ''), object, source, stack)\n : undefined;\n\n var isCommon = newValue === undefined;\n\n if (isCommon) {\n var isArr = isArray(srcValue),\n isBuff = !isArr && isBuffer(srcValue),\n isTyped = !isArr && !isBuff && isTypedArray(srcValue);\n\n newValue = srcValue;\n if (isArr || isBuff || isTyped) {\n if (isArray(objValue)) {\n newValue = objValue;\n }\n else if (isArrayLikeObject(objValue)) {\n newValue = copyArray(objValue);\n }\n else if (isBuff) {\n isCommon = false;\n newValue = cloneBuffer(srcValue, true);\n }\n else if (isTyped) {\n isCommon = false;\n newValue = cloneTypedArray(srcValue, true);\n }\n else {\n newValue = [];\n }\n }\n else if (isPlainObject(srcValue) || isArguments(srcValue)) {\n newValue = objValue;\n if (isArguments(objValue)) {\n newValue = toPlainObject(objValue);\n }\n else if (!isObject(objValue) || isFunction(objValue)) {\n newValue = initCloneObject(srcValue);\n }\n }\n else {\n isCommon = false;\n }\n }\n if (isCommon) {\n // Recursively merge objects and arrays (susceptible to call stack limits).\n stack.set(srcValue, newValue);\n mergeFunc(newValue, srcValue, srcIndex, customizer, stack);\n stack['delete'](srcValue);\n }\n assignMergeValue(object, key, newValue);\n}\n\nmodule.exports = baseMergeDeep;\n","var Stack = require('./_Stack'),\n assignMergeValue = require('./_assignMergeValue'),\n baseFor = require('./_baseFor'),\n baseMergeDeep = require('./_baseMergeDeep'),\n isObject = require('./isObject'),\n keysIn = require('./keysIn'),\n safeGet = require('./_safeGet');\n\n/**\n * The base implementation of `_.merge` without support for multiple sources.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} [customizer] The function to customize merged values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMerge(object, source, srcIndex, customizer, stack) {\n if (object === source) {\n return;\n }\n baseFor(source, function(srcValue, key) {\n stack || (stack = new Stack);\n if (isObject(srcValue)) {\n baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack);\n }\n else {\n var newValue = customizer\n ? customizer(safeGet(object, key), srcValue, (key + ''), object, source, stack)\n : undefined;\n\n if (newValue === undefined) {\n newValue = srcValue;\n }\n assignMergeValue(object, key, newValue);\n }\n }, keysIn);\n}\n\nmodule.exports = baseMerge;\n","var baseMerge = require('./_baseMerge'),\n isObject = require('./isObject');\n\n/**\n * Used by `_.defaultsDeep` to customize its `_.merge` use to merge source\n * objects into destination objects that are passed thru.\n *\n * @private\n * @param {*} objValue The destination value.\n * @param {*} srcValue The source value.\n * @param {string} key The key of the property to merge.\n * @param {Object} object The parent object of `objValue`.\n * @param {Object} source The parent object of `srcValue`.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n * @returns {*} Returns the value to assign.\n */\nfunction customDefaultsMerge(objValue, srcValue, key, object, source, stack) {\n if (isObject(objValue) && isObject(srcValue)) {\n // Recursively merge objects and arrays (susceptible to call stack limits).\n stack.set(srcValue, objValue);\n baseMerge(objValue, srcValue, undefined, customDefaultsMerge, stack);\n stack['delete'](srcValue);\n }\n return objValue;\n}\n\nmodule.exports = customDefaultsMerge;\n","var eq = require('./eq'),\n isArrayLike = require('./isArrayLike'),\n isIndex = require('./_isIndex'),\n isObject = require('./isObject');\n\n/**\n * Checks if the given arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call,\n * else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)\n ) {\n return eq(object[index], value);\n }\n return false;\n}\n\nmodule.exports = isIterateeCall;\n","var baseRest = require('./_baseRest'),\n isIterateeCall = require('./_isIterateeCall');\n\n/**\n * Creates a function like `_.assign`.\n *\n * @private\n * @param {Function} assigner The function to assign values.\n * @returns {Function} Returns the new assigner function.\n */\nfunction createAssigner(assigner) {\n return baseRest(function(object, sources) {\n var index = -1,\n length = sources.length,\n customizer = length > 1 ? sources[length - 1] : undefined,\n guard = length > 2 ? sources[2] : undefined;\n\n customizer = (assigner.length > 3 && typeof customizer == 'function')\n ? (length--, customizer)\n : undefined;\n\n if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n customizer = length < 3 ? undefined : customizer;\n length = 1;\n }\n object = Object(object);\n while (++index < length) {\n var source = sources[index];\n if (source) {\n assigner(object, source, index, customizer);\n }\n }\n return object;\n });\n}\n\nmodule.exports = createAssigner;\n","var baseMerge = require('./_baseMerge'),\n createAssigner = require('./_createAssigner');\n\n/**\n * This method is like `_.merge` except that it accepts `customizer` which\n * is invoked to produce the merged values of the destination and source\n * properties. If `customizer` returns `undefined`, merging is handled by the\n * method instead. The `customizer` is invoked with six arguments:\n * (objValue, srcValue, key, object, source, stack).\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} sources The source objects.\n * @param {Function} customizer The function to customize assigned values.\n * @returns {Object} Returns `object`.\n * @example\n *\n * function customizer(objValue, srcValue) {\n * if (_.isArray(objValue)) {\n * return objValue.concat(srcValue);\n * }\n * }\n *\n * var object = { 'a': [1], 'b': [2] };\n * var other = { 'a': [3], 'b': [4] };\n *\n * _.mergeWith(object, other, customizer);\n * // => { 'a': [1, 3], 'b': [2, 4] }\n */\nvar mergeWith = createAssigner(function(object, source, srcIndex, customizer) {\n baseMerge(object, source, srcIndex, customizer);\n});\n\nmodule.exports = mergeWith;\n","var apply = require('./_apply'),\n baseRest = require('./_baseRest'),\n customDefaultsMerge = require('./_customDefaultsMerge'),\n mergeWith = require('./mergeWith');\n\n/**\n * This method is like `_.defaults` except that it recursively assigns\n * default properties.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 3.10.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @see _.defaults\n * @example\n *\n * _.defaultsDeep({ 'a': { 'b': 2 } }, { 'a': { 'b': 1, 'c': 3 } });\n * // => { 'a': { 'b': 2, 'c': 3 } }\n */\nvar defaultsDeep = baseRest(function(args) {\n args.push(undefined, customDefaultsMerge);\n return apply(mergeWith, undefined, args);\n});\n\nmodule.exports = defaultsDeep;\n","import defaultsDeep from \"lodash/defaultsDeep\"\n\nexport type DebugbarConfigOptions = {\n mode: \"ws\" | \"poll\" | \"off\"\n prefix: string\n cable: {\n url: string\n channelName: string\n }\n poll: {\n url: string\n interval: number\n }\n height: number\n}\n\nexport type DebugbarConfig = DebugbarConfigOptions & {\n actionCableUrl: string\n pollUrl: string\n}\n\nexport function newDebugbarConfig(options: DebugbarConfigOptions) {\n const obj: DebugbarConfig = defaultsDeep(options, {\n mode: \"ws\",\n prefix: \"/_debugbar\",\n cable: {\n url: \"ws://127.0.0.1:3000\",\n channelName: \"Debugbar::DebugbarChannel\",\n },\n poll: {\n url: \"http://127.0.0.1:3000\",\n interval: 500,\n },\n height: 360,\n } as DebugbarConfigOptions)\n\n obj.actionCableUrl = `${obj.cable.url}${obj.prefix}/cable`\n obj.pollUrl = `${obj.poll.url}${obj.prefix}/poll`\n\n return obj\n}\n","import { defineStore } from \"pinia\"\nimport { newDebugbarConfig } from \"@/models/Config.ts\"\n\nexport let useConfigStore = defineStore(\"config\", {\n state: () => ({\n config: newDebugbarConfig(window._debugbarConfigOptions),\n }),\n})\n","\n\n\n\n\n","/**\n * A specialized version of `_.map` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction arrayMap(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length,\n result = Array(length);\n\n while (++index < length) {\n result[index] = iteratee(array[index], index, array);\n }\n return result;\n}\n\nmodule.exports = arrayMap;\n","/**\n * A specialized version of `_.forEach` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\nfunction arrayEach(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n}\n\nmodule.exports = arrayEach;\n","var overArg = require('./_overArg');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = overArg(Object.keys, Object);\n\nmodule.exports = nativeKeys;\n","var isPrototype = require('./_isPrototype'),\n nativeKeys = require('./_nativeKeys');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = baseKeys;\n","var arrayLikeKeys = require('./_arrayLikeKeys'),\n baseKeys = require('./_baseKeys'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\nmodule.exports = keys;\n","var copyObject = require('./_copyObject'),\n keys = require('./keys');\n\n/**\n * The base implementation of `_.assign` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssign(object, source) {\n return object && copyObject(source, keys(source), object);\n}\n\nmodule.exports = baseAssign;\n","var copyObject = require('./_copyObject'),\n keysIn = require('./keysIn');\n\n/**\n * The base implementation of `_.assignIn` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssignIn(object, source) {\n return object && copyObject(source, keysIn(source), object);\n}\n\nmodule.exports = baseAssignIn;\n","/**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction arrayFilter(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\nmodule.exports = arrayFilter;\n","/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n return [];\n}\n\nmodule.exports = stubArray;\n","var arrayFilter = require('./_arrayFilter'),\n stubArray = require('./stubArray');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = !nativeGetSymbols ? stubArray : function(object) {\n if (object == null) {\n return [];\n }\n object = Object(object);\n return arrayFilter(nativeGetSymbols(object), function(symbol) {\n return propertyIsEnumerable.call(object, symbol);\n });\n};\n\nmodule.exports = getSymbols;\n","var copyObject = require('./_copyObject'),\n getSymbols = require('./_getSymbols');\n\n/**\n * Copies own symbols of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\nfunction copySymbols(source, object) {\n return copyObject(source, getSymbols(source), object);\n}\n\nmodule.exports = copySymbols;\n","/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\nmodule.exports = arrayPush;\n","var arrayPush = require('./_arrayPush'),\n getPrototype = require('./_getPrototype'),\n getSymbols = require('./_getSymbols'),\n stubArray = require('./stubArray');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own and inherited enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbolsIn = !nativeGetSymbols ? stubArray : function(object) {\n var result = [];\n while (object) {\n arrayPush(result, getSymbols(object));\n object = getPrototype(object);\n }\n return result;\n};\n\nmodule.exports = getSymbolsIn;\n","var copyObject = require('./_copyObject'),\n getSymbolsIn = require('./_getSymbolsIn');\n\n/**\n * Copies own and inherited symbols of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\nfunction copySymbolsIn(source, object) {\n return copyObject(source, getSymbolsIn(source), object);\n}\n\nmodule.exports = copySymbolsIn;\n","var arrayPush = require('./_arrayPush'),\n isArray = require('./isArray');\n\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n}\n\nmodule.exports = baseGetAllKeys;\n","var baseGetAllKeys = require('./_baseGetAllKeys'),\n getSymbols = require('./_getSymbols'),\n keys = require('./keys');\n\n/**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n}\n\nmodule.exports = getAllKeys;\n","var baseGetAllKeys = require('./_baseGetAllKeys'),\n getSymbolsIn = require('./_getSymbolsIn'),\n keysIn = require('./keysIn');\n\n/**\n * Creates an array of own and inherited enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeysIn(object) {\n return baseGetAllKeys(object, keysIn, getSymbolsIn);\n}\n\nmodule.exports = getAllKeysIn;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView');\n\nmodule.exports = DataView;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Promise = getNative(root, 'Promise');\n\nmodule.exports = Promise;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Set = getNative(root, 'Set');\n\nmodule.exports = Set;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar WeakMap = getNative(root, 'WeakMap');\n\nmodule.exports = WeakMap;\n","var DataView = require('./_DataView'),\n Map = require('./_Map'),\n Promise = require('./_Promise'),\n Set = require('./_Set'),\n WeakMap = require('./_WeakMap'),\n baseGetTag = require('./_baseGetTag'),\n toSource = require('./_toSource');\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n setTag = '[object Set]',\n weakMapTag = '[object WeakMap]';\n\nvar dataViewTag = '[object DataView]';\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = baseGetTag(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : '';\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\nmodule.exports = getTag;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Initializes an array clone.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the initialized clone.\n */\nfunction initCloneArray(array) {\n var length = array.length,\n result = new array.constructor(length);\n\n // Add properties assigned by `RegExp#exec`.\n if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n result.index = array.index;\n result.input = array.input;\n }\n return result;\n}\n\nmodule.exports = initCloneArray;\n","var cloneArrayBuffer = require('./_cloneArrayBuffer');\n\n/**\n * Creates a clone of `dataView`.\n *\n * @private\n * @param {Object} dataView The data view to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned data view.\n */\nfunction cloneDataView(dataView, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer;\n return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength);\n}\n\nmodule.exports = cloneDataView;\n","/** Used to match `RegExp` flags from their coerced string values. */\nvar reFlags = /\\w*$/;\n\n/**\n * Creates a clone of `regexp`.\n *\n * @private\n * @param {Object} regexp The regexp to clone.\n * @returns {Object} Returns the cloned regexp.\n */\nfunction cloneRegExp(regexp) {\n var result = new regexp.constructor(regexp.source, reFlags.exec(regexp));\n result.lastIndex = regexp.lastIndex;\n return result;\n}\n\nmodule.exports = cloneRegExp;\n","var Symbol = require('./_Symbol');\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * Creates a clone of the `symbol` object.\n *\n * @private\n * @param {Object} symbol The symbol object to clone.\n * @returns {Object} Returns the cloned symbol object.\n */\nfunction cloneSymbol(symbol) {\n return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {};\n}\n\nmodule.exports = cloneSymbol;\n","var cloneArrayBuffer = require('./_cloneArrayBuffer'),\n cloneDataView = require('./_cloneDataView'),\n cloneRegExp = require('./_cloneRegExp'),\n cloneSymbol = require('./_cloneSymbol'),\n cloneTypedArray = require('./_cloneTypedArray');\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/**\n * Initializes an object clone based on its `toStringTag`.\n *\n * **Note:** This function only supports cloning values with tags of\n * `Boolean`, `Date`, `Error`, `Map`, `Number`, `RegExp`, `Set`, or `String`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {string} tag The `toStringTag` of the object to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneByTag(object, tag, isDeep) {\n var Ctor = object.constructor;\n switch (tag) {\n case arrayBufferTag:\n return cloneArrayBuffer(object);\n\n case boolTag:\n case dateTag:\n return new Ctor(+object);\n\n case dataViewTag:\n return cloneDataView(object, isDeep);\n\n case float32Tag: case float64Tag:\n case int8Tag: case int16Tag: case int32Tag:\n case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n return cloneTypedArray(object, isDeep);\n\n case mapTag:\n return new Ctor;\n\n case numberTag:\n case stringTag:\n return new Ctor(object);\n\n case regexpTag:\n return cloneRegExp(object);\n\n case setTag:\n return new Ctor;\n\n case symbolTag:\n return cloneSymbol(object);\n }\n}\n\nmodule.exports = initCloneByTag;\n","var getTag = require('./_getTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]';\n\n/**\n * The base implementation of `_.isMap` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a map, else `false`.\n */\nfunction baseIsMap(value) {\n return isObjectLike(value) && getTag(value) == mapTag;\n}\n\nmodule.exports = baseIsMap;\n","var baseIsMap = require('./_baseIsMap'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsMap = nodeUtil && nodeUtil.isMap;\n\n/**\n * Checks if `value` is classified as a `Map` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a map, else `false`.\n * @example\n *\n * _.isMap(new Map);\n * // => true\n *\n * _.isMap(new WeakMap);\n * // => false\n */\nvar isMap = nodeIsMap ? baseUnary(nodeIsMap) : baseIsMap;\n\nmodule.exports = isMap;\n","var getTag = require('./_getTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar setTag = '[object Set]';\n\n/**\n * The base implementation of `_.isSet` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a set, else `false`.\n */\nfunction baseIsSet(value) {\n return isObjectLike(value) && getTag(value) == setTag;\n}\n\nmodule.exports = baseIsSet;\n","var baseIsSet = require('./_baseIsSet'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsSet = nodeUtil && nodeUtil.isSet;\n\n/**\n * Checks if `value` is classified as a `Set` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a set, else `false`.\n * @example\n *\n * _.isSet(new Set);\n * // => true\n *\n * _.isSet(new WeakSet);\n * // => false\n */\nvar isSet = nodeIsSet ? baseUnary(nodeIsSet) : baseIsSet;\n\nmodule.exports = isSet;\n","var Stack = require('./_Stack'),\n arrayEach = require('./_arrayEach'),\n assignValue = require('./_assignValue'),\n baseAssign = require('./_baseAssign'),\n baseAssignIn = require('./_baseAssignIn'),\n cloneBuffer = require('./_cloneBuffer'),\n copyArray = require('./_copyArray'),\n copySymbols = require('./_copySymbols'),\n copySymbolsIn = require('./_copySymbolsIn'),\n getAllKeys = require('./_getAllKeys'),\n getAllKeysIn = require('./_getAllKeysIn'),\n getTag = require('./_getTag'),\n initCloneArray = require('./_initCloneArray'),\n initCloneByTag = require('./_initCloneByTag'),\n initCloneObject = require('./_initCloneObject'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isMap = require('./isMap'),\n isObject = require('./isObject'),\n isSet = require('./isSet'),\n keys = require('./keys'),\n keysIn = require('./keysIn');\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1,\n CLONE_FLAT_FLAG = 2,\n CLONE_SYMBOLS_FLAG = 4;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values supported by `_.clone`. */\nvar cloneableTags = {};\ncloneableTags[argsTag] = cloneableTags[arrayTag] =\ncloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] =\ncloneableTags[boolTag] = cloneableTags[dateTag] =\ncloneableTags[float32Tag] = cloneableTags[float64Tag] =\ncloneableTags[int8Tag] = cloneableTags[int16Tag] =\ncloneableTags[int32Tag] = cloneableTags[mapTag] =\ncloneableTags[numberTag] = cloneableTags[objectTag] =\ncloneableTags[regexpTag] = cloneableTags[setTag] =\ncloneableTags[stringTag] = cloneableTags[symbolTag] =\ncloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\ncloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\ncloneableTags[errorTag] = cloneableTags[funcTag] =\ncloneableTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.clone` and `_.cloneDeep` which tracks\n * traversed objects.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Deep clone\n * 2 - Flatten inherited properties\n * 4 - Clone symbols\n * @param {Function} [customizer] The function to customize cloning.\n * @param {string} [key] The key of `value`.\n * @param {Object} [object] The parent object of `value`.\n * @param {Object} [stack] Tracks traversed objects and their clone counterparts.\n * @returns {*} Returns the cloned value.\n */\nfunction baseClone(value, bitmask, customizer, key, object, stack) {\n var result,\n isDeep = bitmask & CLONE_DEEP_FLAG,\n isFlat = bitmask & CLONE_FLAT_FLAG,\n isFull = bitmask & CLONE_SYMBOLS_FLAG;\n\n if (customizer) {\n result = object ? customizer(value, key, object, stack) : customizer(value);\n }\n if (result !== undefined) {\n return result;\n }\n if (!isObject(value)) {\n return value;\n }\n var isArr = isArray(value);\n if (isArr) {\n result = initCloneArray(value);\n if (!isDeep) {\n return copyArray(value, result);\n }\n } else {\n var tag = getTag(value),\n isFunc = tag == funcTag || tag == genTag;\n\n if (isBuffer(value)) {\n return cloneBuffer(value, isDeep);\n }\n if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n result = (isFlat || isFunc) ? {} : initCloneObject(value);\n if (!isDeep) {\n return isFlat\n ? copySymbolsIn(value, baseAssignIn(result, value))\n : copySymbols(value, baseAssign(result, value));\n }\n } else {\n if (!cloneableTags[tag]) {\n return object ? value : {};\n }\n result = initCloneByTag(value, tag, isDeep);\n }\n }\n // Check for circular references and return its corresponding clone.\n stack || (stack = new Stack);\n var stacked = stack.get(value);\n if (stacked) {\n return stacked;\n }\n stack.set(value, result);\n\n if (isSet(value)) {\n value.forEach(function(subValue) {\n result.add(baseClone(subValue, bitmask, customizer, subValue, value, stack));\n });\n } else if (isMap(value)) {\n value.forEach(function(subValue, key) {\n result.set(key, baseClone(subValue, bitmask, customizer, key, value, stack));\n });\n }\n\n var keysFunc = isFull\n ? (isFlat ? getAllKeysIn : getAllKeys)\n : (isFlat ? keysIn : keys);\n\n var props = isArr ? undefined : keysFunc(value);\n arrayEach(props || value, function(subValue, key) {\n if (props) {\n key = subValue;\n subValue = value[key];\n }\n // Recursively populate clone (susceptible to call stack limits).\n assignValue(result, key, baseClone(subValue, bitmask, customizer, key, value, stack));\n });\n return result;\n}\n\nmodule.exports = baseClone;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nmodule.exports = isSymbol;\n","var isArray = require('./isArray'),\n isSymbol = require('./isSymbol');\n\n/** Used to match property names within property paths. */\nvar reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n reIsPlainProp = /^\\w*$/;\n\n/**\n * Checks if `value` is a property name and not a property path.\n *\n * @private\n * @param {*} value The value to check.\n * @param {Object} [object] The object to query keys on.\n * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n */\nfunction isKey(value, object) {\n if (isArray(value)) {\n return false;\n }\n var type = typeof value;\n if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n value == null || isSymbol(value)) {\n return true;\n }\n return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n (object != null && value in Object(object));\n}\n\nmodule.exports = isKey;\n","var MapCache = require('./_MapCache');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `clear`, `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\nfunction memoize(func, resolver) {\n if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var memoized = function() {\n var args = arguments,\n key = resolver ? resolver.apply(this, args) : args[0],\n cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result) || cache;\n return result;\n };\n memoized.cache = new (memoize.Cache || MapCache);\n return memoized;\n}\n\n// Expose `MapCache`.\nmemoize.Cache = MapCache;\n\nmodule.exports = memoize;\n","var memoize = require('./memoize');\n\n/** Used as the maximum memoize cache size. */\nvar MAX_MEMOIZE_SIZE = 500;\n\n/**\n * A specialized version of `_.memoize` which clears the memoized function's\n * cache when it exceeds `MAX_MEMOIZE_SIZE`.\n *\n * @private\n * @param {Function} func The function to have its output memoized.\n * @returns {Function} Returns the new memoized function.\n */\nfunction memoizeCapped(func) {\n var result = memoize(func, function(key) {\n if (cache.size === MAX_MEMOIZE_SIZE) {\n cache.clear();\n }\n return key;\n });\n\n var cache = result.cache;\n return result;\n}\n\nmodule.exports = memoizeCapped;\n","var memoizeCapped = require('./_memoizeCapped');\n\n/** Used to match property names within property paths. */\nvar rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n/** Used to match backslashes in property paths. */\nvar reEscapeChar = /\\\\(\\\\)?/g;\n\n/**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */\nvar stringToPath = memoizeCapped(function(string) {\n var result = [];\n if (string.charCodeAt(0) === 46 /* . */) {\n result.push('');\n }\n string.replace(rePropName, function(match, number, quote, subString) {\n result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match));\n });\n return result;\n});\n\nmodule.exports = stringToPath;\n","var Symbol = require('./_Symbol'),\n arrayMap = require('./_arrayMap'),\n isArray = require('./isArray'),\n isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isArray(value)) {\n // Recursively convert values (susceptible to call stack limits).\n return arrayMap(value, baseToString) + '';\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nmodule.exports = baseToString;\n","var baseToString = require('./_baseToString');\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n return value == null ? '' : baseToString(value);\n}\n\nmodule.exports = toString;\n","var isArray = require('./isArray'),\n isKey = require('./_isKey'),\n stringToPath = require('./_stringToPath'),\n toString = require('./toString');\n\n/**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @param {Object} [object] The object to query keys on.\n * @returns {Array} Returns the cast property path array.\n */\nfunction castPath(value, object) {\n if (isArray(value)) {\n return value;\n }\n return isKey(value, object) ? [value] : stringToPath(toString(value));\n}\n\nmodule.exports = castPath;\n","/**\n * Gets the last element of `array`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to query.\n * @returns {*} Returns the last element of `array`.\n * @example\n *\n * _.last([1, 2, 3]);\n * // => 3\n */\nfunction last(array) {\n var length = array == null ? 0 : array.length;\n return length ? array[length - 1] : undefined;\n}\n\nmodule.exports = last;\n","var isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\nfunction toKey(value) {\n if (typeof value == 'string' || isSymbol(value)) {\n return value;\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nmodule.exports = toKey;\n","var castPath = require('./_castPath'),\n toKey = require('./_toKey');\n\n/**\n * The base implementation of `_.get` without support for default values.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @returns {*} Returns the resolved value.\n */\nfunction baseGet(object, path) {\n path = castPath(path, object);\n\n var index = 0,\n length = path.length;\n\n while (object != null && index < length) {\n object = object[toKey(path[index++])];\n }\n return (index && index == length) ? object : undefined;\n}\n\nmodule.exports = baseGet;\n","/**\n * The base implementation of `_.slice` without an iteratee call guard.\n *\n * @private\n * @param {Array} array The array to slice.\n * @param {number} [start=0] The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns the slice of `array`.\n */\nfunction baseSlice(array, start, end) {\n var index = -1,\n length = array.length;\n\n if (start < 0) {\n start = -start > length ? 0 : (length + start);\n }\n end = end > length ? length : end;\n if (end < 0) {\n end += length;\n }\n length = start > end ? 0 : ((end - start) >>> 0);\n start >>>= 0;\n\n var result = Array(length);\n while (++index < length) {\n result[index] = array[index + start];\n }\n return result;\n}\n\nmodule.exports = baseSlice;\n","var baseGet = require('./_baseGet'),\n baseSlice = require('./_baseSlice');\n\n/**\n * Gets the parent value at `path` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array} path The path to get the parent value of.\n * @returns {*} Returns the parent value.\n */\nfunction parent(object, path) {\n return path.length < 2 ? object : baseGet(object, baseSlice(path, 0, -1));\n}\n\nmodule.exports = parent;\n","var castPath = require('./_castPath'),\n last = require('./last'),\n parent = require('./_parent'),\n toKey = require('./_toKey');\n\n/**\n * The base implementation of `_.unset`.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {Array|string} path The property path to unset.\n * @returns {boolean} Returns `true` if the property is deleted, else `false`.\n */\nfunction baseUnset(object, path) {\n path = castPath(path, object);\n object = parent(object, path);\n return object == null || delete object[toKey(last(path))];\n}\n\nmodule.exports = baseUnset;\n","var isPlainObject = require('./isPlainObject');\n\n/**\n * Used by `_.omit` to customize its `_.cloneDeep` use to only clone plain\n * objects.\n *\n * @private\n * @param {*} value The value to inspect.\n * @param {string} key The key of the property to inspect.\n * @returns {*} Returns the uncloned value or `undefined` to defer cloning to `_.cloneDeep`.\n */\nfunction customOmitClone(value) {\n return isPlainObject(value) ? undefined : value;\n}\n\nmodule.exports = customOmitClone;\n","var Symbol = require('./_Symbol'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray');\n\n/** Built-in value references. */\nvar spreadableSymbol = Symbol ? Symbol.isConcatSpreadable : undefined;\n\n/**\n * Checks if `value` is a flattenable `arguments` object or array.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is flattenable, else `false`.\n */\nfunction isFlattenable(value) {\n return isArray(value) || isArguments(value) ||\n !!(spreadableSymbol && value && value[spreadableSymbol]);\n}\n\nmodule.exports = isFlattenable;\n","var arrayPush = require('./_arrayPush'),\n isFlattenable = require('./_isFlattenable');\n\n/**\n * The base implementation of `_.flatten` with support for restricting flattening.\n *\n * @private\n * @param {Array} array The array to flatten.\n * @param {number} depth The maximum recursion depth.\n * @param {boolean} [predicate=isFlattenable] The function invoked per iteration.\n * @param {boolean} [isStrict] Restrict to values that pass `predicate` checks.\n * @param {Array} [result=[]] The initial result value.\n * @returns {Array} Returns the new flattened array.\n */\nfunction baseFlatten(array, depth, predicate, isStrict, result) {\n var index = -1,\n length = array.length;\n\n predicate || (predicate = isFlattenable);\n result || (result = []);\n\n while (++index < length) {\n var value = array[index];\n if (depth > 0 && predicate(value)) {\n if (depth > 1) {\n // Recursively flatten arrays (susceptible to call stack limits).\n baseFlatten(value, depth - 1, predicate, isStrict, result);\n } else {\n arrayPush(result, value);\n }\n } else if (!isStrict) {\n result[result.length] = value;\n }\n }\n return result;\n}\n\nmodule.exports = baseFlatten;\n","var baseFlatten = require('./_baseFlatten');\n\n/**\n * Flattens `array` a single level deep.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to flatten.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * _.flatten([1, [2, [3, [4]], 5]]);\n * // => [1, 2, [3, [4]], 5]\n */\nfunction flatten(array) {\n var length = array == null ? 0 : array.length;\n return length ? baseFlatten(array, 1) : [];\n}\n\nmodule.exports = flatten;\n","var flatten = require('./flatten'),\n overRest = require('./_overRest'),\n setToString = require('./_setToString');\n\n/**\n * A specialized version of `baseRest` which flattens the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @returns {Function} Returns the new function.\n */\nfunction flatRest(func) {\n return setToString(overRest(func, undefined, flatten), func + '');\n}\n\nmodule.exports = flatRest;\n","var arrayMap = require('./_arrayMap'),\n baseClone = require('./_baseClone'),\n baseUnset = require('./_baseUnset'),\n castPath = require('./_castPath'),\n copyObject = require('./_copyObject'),\n customOmitClone = require('./_customOmitClone'),\n flatRest = require('./_flatRest'),\n getAllKeysIn = require('./_getAllKeysIn');\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1,\n CLONE_FLAT_FLAG = 2,\n CLONE_SYMBOLS_FLAG = 4;\n\n/**\n * The opposite of `_.pick`; this method creates an object composed of the\n * own and inherited enumerable property paths of `object` that are not omitted.\n *\n * **Note:** This method is considerably slower than `_.pick`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The source object.\n * @param {...(string|string[])} [paths] The property paths to omit.\n * @returns {Object} Returns the new object.\n * @example\n *\n * var object = { 'a': 1, 'b': '2', 'c': 3 };\n *\n * _.omit(object, ['a', 'c']);\n * // => { 'b': '2' }\n */\nvar omit = flatRest(function(object, paths) {\n var result = {};\n if (object == null) {\n return result;\n }\n var isDeep = false;\n paths = arrayMap(paths, function(path) {\n path = castPath(path, object);\n isDeep || (isDeep = path.length > 1);\n return path;\n });\n copyObject(object, getAllKeysIn(object), result);\n if (isDeep) {\n result = baseClone(result, CLONE_DEEP_FLAG | CLONE_FLAT_FLAG | CLONE_SYMBOLS_FLAG, customOmitClone);\n }\n var length = paths.length;\n while (length--) {\n baseUnset(result, paths[length]);\n }\n return result;\n});\n\nmodule.exports = omit;\n","\n\n\n","\n\n\n\n\n","\n\n\n\n","\n\n\n\n\n","\n\n\n","\n\n\n","\n\n\n\n\n","\n\n\n","\n\n\n","import hljs from \"highlight.js/lib/core\"\nimport sql from \"highlight.js/lib/languages/sql\"\nimport json from \"highlight.js/lib/languages/json\"\nimport hljsVuePlugin from \"@highlightjs/vue-plugin\"\n\nimport { createApp } from \"vue\"\nimport { createPinia } from \"pinia\"\nimport shadow from \"vue-shadow-dom\"\n\nhljs.registerLanguage(\"sql\", sql)\nhljs.registerLanguage(\"json\", json)\n\nconst pinia = createPinia()\n\nimport AppDemo from \"./AppDemo.vue\"\n\ncreateApp(AppDemo).use(hljsVuePlugin).use(pinia).use(shadow).mount(\"#__debugbar\")\n"],"names":["deepFreeze","obj","name","prop","type","Response","mode","escapeHTML","value","inherit$1","original","objects","result","key","SPAN_CLOSE","emitsWrappingTags","node","scopeToCSSClass","prefix","pieces","x","i","HTMLRenderer","parseTree","options","text","className","newNode","opts","TokenTree","scope","builder","child","el","TokenTreeEmitter","emitter","source","re","lookahead","concat","anyNumberOfTimes","optional","args","stripOptionsFromArgs","either","countMatchGroups","startsWith","lexeme","match","BACKREF_RE","_rewriteBackreferences","regexps","joinWith","numCaptures","regex","offset","out","MATCH_NOTHING_RE","IDENT_RE","UNDERSCORE_IDENT_RE","NUMBER_RE","C_NUMBER_RE","BINARY_NUMBER_RE","RE_STARTERS_RE","SHEBANG","beginShebang","m","resp","BACKSLASH_ESCAPE","APOS_STRING_MODE","QUOTE_STRING_MODE","PHRASAL_WORDS_MODE","COMMENT","begin","end","modeOptions","ENGLISH_WORD","C_LINE_COMMENT_MODE","C_BLOCK_COMMENT_MODE","HASH_COMMENT_MODE","NUMBER_MODE","C_NUMBER_MODE","BINARY_NUMBER_MODE","REGEXP_MODE","TITLE_MODE","UNDERSCORE_TITLE_MODE","METHOD_GUARD","END_SAME_AS_BEGIN","MODES","skipIfHasPrecedingDot","response","scopeClassName","_parent","beginKeywords","parent","compileIllegal","compileMatch","compileRelevance","beforeMatchExt","originalMode","COMMON_KEYWORDS","DEFAULT_KEYWORD_SCOPE","compileKeywords","rawKeywords","caseInsensitive","scopeName","compiledKeywords","compileList","keywordList","keyword","pair","scoreForKeyword","providedScore","commonKeyword","seenDeprecations","error","message","warn","deprecated","version","MultiClassError","remapScopeNames","regexes","scopeNames","emit","positions","beginMultiClass","endMultiClass","scopeSugar","MultiClass","compileLanguage","language","langRe","global","MultiRegex","terminators","s","matchData","ResumableMultiRegex","index","matcher","m2","buildModeRegex","mm","term","compileMode","cmode","ext","keywordPattern","c","expandOrCloneMode","dependencyOnParent","variant","HTMLInjectionError","reason","html","escape","inherit","NO_MATCH","MAX_KEYWORD_HITS","HLJS","hljs","languages","aliases","plugins","SAFE_MODE","LANGUAGE_NOT_FOUND","PLAINTEXT_LANGUAGE","shouldNotHighlight","languageName","blockLanguage","block","classes","getLanguage","_class","highlight","codeOrLanguageName","optionsOrCode","ignoreIllegals","code","context","fire","_highlight","codeToHighlight","continuation","keywordHits","keywordData","matchText","processKeywords","top","modeBuffer","lastIndex","buf","word","data","kind","keywordRelevance","relevance","cssClass","emitKeyword","processSubLanguage","continuations","highlightAuto","processBuffer","emitMultiClass","max","klass","startNewMode","endOfMode","matchPlusRemainder","matched","doIgnore","resumeScanAtSamePosition","doBeginMatch","newMode","beforeCallbacks","cb","doEndMatch","endMode","origin","processContinuations","list","current","item","lastMatch","processLexeme","textBeforeMatch","err","processed","iterations","md","beforeMatch","processedCount","justTextHighlightResult","languageSubset","plaintext","results","autoDetection","sorted","a","b","best","secondBest","updateClassName","element","currentLang","resultLang","highlightElement","configure","userOptions","initHighlighting","highlightAll","initHighlightingOnLoad","wantsHighlight","boot","registerLanguage","languageDefinition","lang","error$1","registerAliases","unregisterLanguage","alias","listLanguages","aliasList","upgradePluginAPI","plugin","addPlugin","removePlugin","event","deprecateHighlightBlock","core","sql","COMMENT_MODE","STRING","QUOTED_IDENTIFIER","LITERALS","MULTI_WORD_TYPES","TYPES","NON_RESERVED_WORDS","RESERVED_WORDS","RESERVED_FUNCTIONS","POSSIBLE_WITHOUT_PARENS","COMBOS","FUNCTIONS","KEYWORDS","VARIABLE","OPERATOR","FUNCTION_CALL","reduceRelevancy","exceptions","when","qualifyFn","json","ATTRIBUTE","PUNCTUATION","LITERALS_MODE","makeMap","str","expectsLowerCase","map","val","EMPTY_OBJ","EMPTY_ARR","NOOP","NO","isOn","isModelListener","extend","remove","arr","hasOwnProperty","hasOwn","isArray","isMap","toTypeString","isSet","isFunction","isString","isSymbol","isObject","isPromise","objectToString","toRawType","isPlainObject","isIntegerKey","isReservedProp","cacheStringFunction","fn","cache","camelizeRE","camelize","_","hyphenateRE","hyphenate","capitalize","toHandlerKey","hasChanged","oldValue","invokeArrayFns","fns","arg","def","looseToNumber","n","_globalThis","getGlobalThis","normalizeStyle","res","normalized","parseStringStyle","listDelimiterRE","propertyDelimiterRE","styleCommentRE","cssText","ret","tmp","normalizeClass","specialBooleanAttrs","isSpecialBooleanAttr","includeBooleanAttr","toDisplayString","replacer","_key","entries","val2","stringifySymbol","v","_a","activeEffectScope","EffectScope","detached","currentEffectScope","fromParent","l","last","effectScope","recordEffectScope","effect","getCurrentScope","onScopeDispose","createDep","effects","dep","wasTracked","trackOpBit","newTracked","initDepMarkers","deps","finalizeDepMarkers","ptr","targetMap","effectTrackDepth","maxMarkerBits","activeEffect","ITERATE_KEY","MAP_KEY_ITERATE_KEY","ReactiveEffect","scheduler","lastShouldTrack","shouldTrack","cleanupEffect","effect2","trackStack","pauseTracking","resetTracking","track","target","depsMap","trackEffects","debuggerEventExtraInfo","shouldTrack2","trigger","newValue","oldTarget","newLength","key2","triggerEffects","triggerEffect","getDepFromReactive","object","isNonTrackableKeys","builtInSymbols","arrayInstrumentations","createArrayInstrumentations","instrumentations","toRaw","BaseReactiveHandler","_isReadonly","_shallow","receiver","isReadonly2","shallow","shallowReadonlyMap","readonlyMap","shallowReactiveMap","reactiveMap","targetIsArray","isRef","readonly","reactive","MutableReactiveHandler","isOldValueReadonly","isReadonly","isShallow","hadKey","ReadonlyReactiveHandler","mutableHandlers","readonlyHandlers","shallowReactiveHandlers","toShallow","getProto","get","rawTarget","rawKey","has2","wrap","toReadonly","toReactive","has","size","add","set","get2","deleteEntry","clear","hadItems","createForEach","callback","thisArg","observed","createIterableMethod","method","targetIsMap","isPair","isKeyOnly","innerIterator","done","createReadonlyMethod","createInstrumentations","mutableInstrumentations2","shallowInstrumentations2","readonlyInstrumentations2","shallowReadonlyInstrumentations2","mutableInstrumentations","readonlyInstrumentations","shallowInstrumentations","shallowReadonlyInstrumentations","createInstrumentationGetter","mutableCollectionHandlers","shallowCollectionHandlers","readonlyCollectionHandlers","targetTypeMap","rawType","getTargetType","createReactiveObject","shallowReactive","baseHandlers","collectionHandlers","proxyMap","existingProxy","targetType","proxy","isReactive","isProxy","raw","markRaw","trackRefValue","ref2","triggerRefValue","newVal","r","ref","createRef","rawValue","RefImpl","__v_isShallow","useDirectValue","unref","shallowUnwrapHandlers","proxyRefs","objectWithRefs","toRefs","propertyToRef","ObjectRefImpl","_object","_defaultValue","defaultValue","ComputedRefImpl","getter","_setter","isSSR","self","computed","getterOrOptions","debugOptions","setter","onlyGetter","callWithErrorHandling","instance","handleError","callWithAsyncErrorHandling","values","throwInDev","contextVNode","cur","exposedInstance","errorInfo","errorCapturedHooks","appErrorHandler","logError","isFlushing","isFlushPending","queue","flushIndex","pendingPostFlushCbs","activePostFlushCbs","postFlushIndex","resolvedPromise","currentFlushPromise","nextTick","p","findInsertionIndex","id","start","middle","middleJob","middleJobId","getId","queueJob","job","queueFlush","flushJobs","invalidateJob","queuePostFlushCb","flushPreFlushCbs","seen","flushPostFlushCbs","deduped","comparator","diff","devtools","buffer","devtoolsNotInstalled","emit$1","setDevtoolsHook","hook","_b","newHook","devtoolsInitApp","app","Fragment","Text","Comment","Static","devtoolsUnmountApp","devtoolsComponentAdded","createDevtoolsComponentHook","devtoolsComponentUpdated","_devtoolsComponentRemoved","devtoolsComponentRemoved","component","devtoolsComponentEmit","params","rawArgs","props","modelArg","modifiersKey","number","trim","handlerName","handler","onceHandler","normalizeEmitsOptions","comp","appContext","asMixin","cached","hasExtends","extendEmits","raw2","normalizedFromExtend","isEmitListener","currentRenderingInstance","currentScopeId","setCurrentRenderingInstance","prev","withCtx","ctx","isNonScopedSlot","renderFnWithContext","setBlockTracking","prevInstance","renderComponentRoot","Component","vnode","withProxy","propsOptions","slots","attrs","render","renderCache","setupState","inheritAttrs","fallthroughAttrs","proxyToUse","thisProxy","normalizeVNode","render2","getFunctionalFallthrough","blockStack","createVNode","root","keys","shapeFlag","filterModelListeners","cloneVNode","shouldUpdateComponent","prevVNode","nextVNode","optimized","prevProps","prevChildren","nextProps","nextChildren","patchFlag","emits","hasPropsChanged","dynamicProps","emitsOptions","nextKeys","updateHOCHostEl","COMPONENTS","resolveComponent","maybeSelfReference","resolveAsset","NULL_DYNAMIC_COMPONENT","warnMissing","currentInstance","selfName","getComponentName","resolve","registry","isSuspense","queueEffectWithSuspense","suspense","INITIAL_WATCHER_VALUE","watch","doWatch","immediate","deep","flush","onTrack","onTrigger","forceTrigger","isMultiSource","isShallow$1","traverse","cleanup","onCleanup","baseGetter","ssrCleanup","isInSSRComponentSetup","useSSRContext","queuePostRenderEffect","unwatch","instanceWatch","publicThis","createPathGetter","setCurrentInstance","unsetCurrentInstance","path","segments","invokeDirectiveHook","bindings","oldBindings","binding","defineComponent","extraOptions","isAsyncWrapper","isKeepAlive","onActivated","registerKeepAliveHook","onDeactivated","wrappedHook","injectHook","injectToKeepAliveRoot","keepAliveRoot","injected","onUnmounted","prepend","hooks","createHook","lifecycle","onBeforeMount","onMounted","onBeforeUpdate","onUpdated","onBeforeUnmount","onServerPrefetch","onRenderTriggered","onRenderTracked","onErrorCaptured","renderList","renderItem","renderSlot","fallback","noSlotted","slot","openBlock","validSlotContent","ensureValidVNode","rendered","createBlock","vnodes","isVNode","getPublicInstance","isStatefulComponent","getExposeProxy","publicPropertiesMap","resolveMergedOptions","hasSetupBinding","state","PublicInstanceProxyHandlers","accessCache","normalizedProps","shouldCacheAccess","publicGetter","cssModule","globalProperties","descriptor","normalizePropsOrEmits","applyOptions","callHook","dataOptions","computedOptions","methods","watchOptions","provideOptions","injectOptions","created","beforeMount","mounted","beforeUpdate","updated","activated","deactivated","beforeDestroy","beforeUnmount","destroyed","unmounted","renderTracked","renderTriggered","errorCaptured","serverPrefetch","expose","components","directives","filters","resolveInjections","methodHandler","opt","createWatcher","provides","provide","registerLifecycleHook","register","_hook","exposed","checkDuplicateProperties","normalizeInject","inject","h","base","mixins","extendsOptions","globalMixins","optionMergeStrategies","resolved","mergeOptions","to","from","strats","strat","internalOptionMergeStrats","mergeDataFn","mergeEmitsOrPropsOptions","mergeObjectOptions","mergeAsArray","mergeWatchOptions","mergeInject","merged","createAppContext","uid$1","createAppAPI","hydrate","rootComponent","rootProps","installedPlugins","isMounted","mixin","directive","rootContainer","isHydrate","isSVG","currentApp","parentProvides","treatDefaultAsFactory","hasInjectionContext","initProps","rawProps","isStateful","InternalObjectKey","setFullProps","updateProps","rawPrevProps","rawCurrentProps","hasAttrsChanged","propsToUpdate","camelizedKey","resolvePropValue","kebabKey","needCastKeys","rawCastValues","camelKey","castValues","isAbsent","hasDefault","propsDefaults","normalizePropsOptions","extendProps","normalizedKey","validatePropName","booleanIndex","getTypeIndex","stringIndex","getType","ctor","isSameType","expectedTypes","t","isInternalKey","normalizeSlotValue","normalizeSlot","rawSlot","normalizeObjectSlots","rawSlots","normalizeVNodeSlots","children","initSlots","updateSlots","needDeletionCheck","deletionComparisonTarget","setRef","rawRef","oldRawRef","parentSuspense","isUnmount","refValue","owner","oldRef","refs","_isString","_isRef","doSet","existing","createRenderer","baseCreateRenderer","createHydrationFns","hostInsert","hostRemove","hostPatchProp","hostCreateElement","hostCreateText","hostCreateComment","hostSetText","hostSetElementText","hostParentNode","hostNextSibling","hostSetScopeId","hostInsertStaticContent","patch","n1","n2","container","anchor","parentComponent","slotScopeIds","isSameVNodeType","getNextHostNode","unmount","processText","processCommentNode","mountStaticNode","processFragment","processElement","processComponent","internals","moveStaticNode","nextSibling","next","removeStaticNode","mountElement","patchElement","vnodeHook","transition","dirs","mountChildren","setScopeId","unmountChildren","invokeVNodeHook","needCallTransitionHooks","needTransition","scopeId","subTree","parentVNode","cloneIfMounted","dynamicChildren","oldProps","newProps","toggleRecurse","areChildrenSVG","patchBlockChildren","patchChildren","patchProps","oldChildren","newChildren","fallbackContainer","oldVNode","newVNode","fragmentStartAnchor","fragmentEndAnchor","fragmentSlotScopeIds","traverseStaticChildren","mountComponent","updateComponent","initialVNode","createComponentInstance","setupComponent","setupRenderEffect","placeholder","updateComponentPreRender","componentUpdateFn","bu","u","originNext","nextTree","prevTree","bm","isAsyncWrapperVNode","hydrateNode","hydrateSubTree","scopedInitialVNode","update","c1","prevShapeFlag","c2","patchKeyedChildren","patchUnkeyedChildren","oldLength","commonLength","nextChild","parentAnchor","l2","e1","e2","nextPos","s1","s2","keyToNewIndexMap","j","patched","toBePatched","moved","maxNewIndexSoFar","newIndexToOldIndexMap","prevChild","newIndex","increasingNewIndexSequence","getSequence","nextIndex","move","moveType","leave","delayLeave","afterLeave","remove2","performLeave","doRemove","shouldInvokeDirs","shouldInvokeVnodeHook","unmountComponent","removeFragment","performRemove","bum","um","allowed","ch1","ch2","len","arrI","isTeleport","isTeleportDisabled","isTargetSVG","resolveTarget","select","targetSelector","TeleportImpl","insert","querySelector","createText","createComment","disabled","mainAnchor","targetAnchor","mount","container2","anchor2","wasDisabled","currentContainer","currentAnchor","moveTeleport","nextTarget","updateCssVars","shouldRemove","hydrateTeleport","isReorder","parentNode","hydrateChildren","targetNode","Teleport","currentBlock","disableTracking","closeBlock","isBlockTreeEnabled","setupBlock","createElementBlock","createBaseVNode","normalizeKey","normalizeRef","ref_key","ref_for","isBlockNode","needFullChildrenNormalization","normalizeChildren","_createVNode","cloned","isClassComponent","guardReactiveProps","style","extraProps","mergeRef","mergedProps","mergeProps","createTextVNode","flag","createStaticVNode","content","numberOfNodes","createCommentVNode","asBlock","slotFlag","toMerge","incoming","emptyAppContext","uid","internalSetCurrentInstance","globalCurrentInstanceSetters","settersKey","setupResult","setupStatefulComponent","setup","setupContext","createSetupContext","resolvedResult","handleSetupResult","e","finishComponentSetup","compile","skipOptions","template","isCustomElement","compilerOptions","delimiters","componentCompilerOptions","finalCompilerOptions","getAttrsProxy","includeInferred","computed$1","propsOrChildren","ssrContextKey","svgNS","doc","templateContainer","nodeOps","tag","is","selector","before","wrapper","vtcKey","patchClass","transitionClasses","vShowOldKey","CSS_VAR_TEXT","patchStyle","isCssString","setStyle","currentDisplay","cssVarText","importantRE","prefixed","autoPrefix","prefixes","prefixCache","rawName","xlinkNS","patchAttr","isBoolean","patchDOMProp","needRemove","addEventListener","removeEventListener","veiKey","patchEvent","prevValue","nextValue","invokers","existingInvoker","parseName","invoker","createInvoker","optionsModifierRE","cachedNow","getNow","initialValue","patchStopImmediatePropagation","originalStop","isNativeOn","patchProp","shouldSetAsProp","rendererOptions","renderer","ensureRenderer","createApp","containerOrSelector","normalizeContainer","o","isVue2","getDevtoolsGlobalHook","getTarget","isProxyAvailable","HOOK_SETUP","HOOK_PLUGIN_SETTINGS_SET","supported","perf","isPerformanceSupported","now","ApiProxy","defaultSettings","localSettingsSaveId","currentSettings","pluginId","_target","setupDevtoolsPlugin","pluginDescriptor","setupFn","enableProxy","activePinia","setActivePinia","pinia","piniaSymbol","MutationType","IS_CLIENT","USE_DEVTOOLS","_global","bom","blob","autoBom","download","url","xhr","saveAs","corsEnabled","click","evt","_navigator","isMacOSWebView","downloadSaveAs","msSaveAs","fileSaverSaveAs","popup","force","isSafari","isChromeIOS","reader","toastMessage","piniaMessage","isPinia","checkClipboardAccess","checkNotFocusedError","actionGlobalCopyState","actionGlobalPasteState","loadStoresState","actionGlobalSaveState","fileInput","getFileOpener","openFile","reject","files","file","actionGlobalOpenStateFile","storeState","formatDisplay","display","PINIA_ROOT_LABEL","PINIA_ROOT_ID","formatStoreForInspectorTree","store","formatStoreForInspectorState","storeNames","storeMap","storeId","getters","getterName","formatEventData","events","formatMutationType","isTimelineActive","componentStateTypes","MUTATIONS_LAYER_ID","INSPECTOR_ID","assign$1","getStoreType","registerPiniaDevtools","api","nodeId","payload","piniaStores","stores","inspectedStore","addStoreToDevtools","after","onError","groupId","runningActionId","activeAction","eventData","hotUpdate","newStore","$dispose","patchActionForGrouping","actionNames","wrapWithProxy","actions","storeActions","actionName","_actionId","trackedStore","retValue","devtoolsPlugin","originalHotUpdate","createPinia","_p","toBeInstalled","noop","addSubscription","subscriptions","removeSubscription","idx","triggerSubscriptions","fallbackRunWithContext","mergeReactiveObjects","patchToApply","subPatch","targetValue","skipHydrateSymbol","shouldHydrate","assign","isComputed","createOptionsStore","hot","initialState","localState","computedGetters","createSetupStore","$id","isOptionsStore","optionsForPlugin","$subscribeOptions","isListening","isSyncListening","actionSubscriptions","debuggerEvents","hotState","activeListener","$patch","partialStateOrMutator","subscriptionMutation","myListenerId","$reset","newState","$state","wrapAction","action","afterCallbackList","onErrorCallbackList","_hmrPayload","partialStore","stopWatcher","setupStore","actionValue","nonEnumerable","extender","extensions","defineStore","idOrOptions","setupOptions","isSetupStore","useStore","hasContext","makeShadow","option","makeShadowRaw","rootEl","childNodes","delegatesFocus","oldroot","shadow_root","putDomIntoShadow","fragment","virtual_root","ShadowStyle","ShadowRoot","withType","abstract","teleport_el","teleport_target","ex","adoptedStyleSheets","child_part","install","shadow","factory","exports","this","adapters","logger","_adapters$logger","_len","messages","_typeof","classCallCheck","Constructor","createClass","defineProperties","protoProps","staticProps","secondsSince","time","clamp","min","ConnectionMonitor","connection","_this","_constructor$pollInte","multiplier","interval","_this2","INTERNAL","message_types","protocols","supportedProtocols","indexOf","Connection","consumer","_ref","allowReconnect","states","eventName","_JSON$parse","identifier","reconnect","properties","Subscription","SubscriptionGuarantor","subscription","Subscriptions","channelName","channel","callbackName","_this3","_len2","_key2","_this4","command","Consumer","createWebSocketURL","createConsumer","getConfig","_ctx","_cache","_openBlock","_createElementBlock","_createElementVNode","__props","_sfc_render","_hoisted_1","module","Rule","symbols","postprocess","withCursorAt","symbolSequence","getSymbolShortDisplay","State","rule","dot","reference","wantedBy","Parser","Column","grammar","nextColumn","wants","completed","w","left","exp","nulls","right","rules","copy","Grammar","byName","lexer","g","StreamLexer","ch","token","lines","nextLineBreak","col","lastLineDigits","line","pad","length","column","chunk","literal","scannable","expect","lexerError","tokenDisplay","lexerMessage","lastColumnIndex","lastColumn","expectantStates","nextSymbol","stateStacks","stateStack","symbolDisplay","lastDisplay","sameDisplayCount","symbol","getSymbolLongDisplay","visited","prevState","childVisited","childResult","considerations","__defProp","__defProps","__getOwnPropDescs","__getOwnPropSymbols","__hasOwnProp","__propIsEnum","__defNormalProp","__spreadValues","__spreadProps","__objRest","exclude","__export","all","allDialects_exports","bigquery","db2","db2i","hive","mariadb","mysql","n1ql","plsql","postgresql","redshift","singlestoredb","snowflake","spark","sqlite","transactsql","trino","expandPhrases","phrases","expandSinglePhrase","phrase","buildCombinations","parsePhrase","stripExtraWhitespace","parseAlteration","expectClosing","alterations","parseConcatenation","items","parseTerm","parseMandatoryBlock","parseOptionalBlock","stringCombinations","xs","ys","y","TokenType","TokenType2","createEofToken","EOF_TOKEN","testToken","compareToken","isToken","isReserved","isLogicalOperator","functions","keywords","dataTypes","reservedSelect","reservedClauses","onelineClauses","reservedSetOperations","reservedJoins","reservedPhrases","postProcess","tokens","detectArraySubscripts","combineParameterizedTypes","prevToken","endIndex","findClosingAngleBracketIndex","typeDefTokens","formatTypeDefToken","startIndex","level","functions2","keywords2","dataTypes2","reservedSelect2","reservedClauses2","onelineClauses2","reservedSetOperations2","reservedJoins2","reservedPhrases2","functions3","keywords3","dataTypes3","reservedSelect3","reservedClauses3","onelineClauses3","reservedSetOperations3","reservedJoins3","reservedPhrases3","functions4","keywords4","dataTypes4","reservedSelect4","reservedClauses4","onelineClauses4","reservedSetOperations4","reservedJoins4","reservedPhrases4","postProcess2","nextToken","keywords5","dataTypes5","functions5","reservedSelect5","reservedClauses5","onelineClauses5","reservedSetOperations5","reservedJoins5","reservedPhrases5","keywords6","dataTypes6","functions6","reservedSelect6","reservedClauses6","onelineClauses6","reservedSetOperations6","reservedJoins6","reservedPhrases6","functions7","keywords7","dataTypes7","reservedSelect7","reservedClauses7","onelineClauses7","reservedSetOperations7","reservedJoins7","reservedPhrases7","keywords8","dataTypes8","functions8","reservedSelect8","reservedClauses8","onelineClauses8","reservedSetOperations8","reservedJoins8","reservedPhrases8","postProcess3","previousReservedToken","functions9","keywords9","dataTypes9","reservedSelect9","reservedClauses9","onelineClauses9","reservedSetOperations9","reservedJoins9","reservedPhrases9","functions10","keywords10","dataTypes10","reservedSelect10","reservedClauses10","onelineClauses10","reservedSetOperations10","reservedJoins10","reservedPhrases10","keywords11","dataTypes11","functions11","reservedSelect11","reservedClauses11","onelineClauses11","reservedSetOperations11","reservedJoins11","reservedPhrases11","postProcess4","functions12","keywords12","dataTypes12","reservedSelect12","reservedClauses12","onelineClauses12","reservedSetOperations12","reservedJoins12","reservedPhrases12","functions13","keywords13","dataTypes13","reservedSelect13","reservedClauses13","onelineClauses13","reservedSetOperations13","reservedJoins13","reservedPhrases13","functions14","keywords14","dataTypes14","reservedSelect14","reservedClauses14","onelineClauses14","reservedSetOperations14","reservedJoins14","reservedPhrases14","functions15","keywords15","dataTypes15","reservedSelect15","reservedClauses15","onelineClauses15","reservedSetOperations15","reservedJoins15","reservedPhrases15","keywords16","dataTypes16","functions16","reservedSelect16","reservedClauses16","onelineClauses16","reservedSetOperations16","reservedJoins16","reservedPhrases16","functions17","keywords17","dataTypes17","reservedSelect17","reservedClauses17","onelineClauses17","reservedSetOperations17","reservedJoins17","reservedPhrases17","sortByLengthDesc","strings","equalizeWhitespace","isMultiline","escapeRegExp","string2","WHITESPACE_REGEX","patternToRegex","pattern","toCaseInsensitivePattern","char","withDashes","prefixesPattern","requirePrefix","lineComment","lineCommentTypes","parenthesis","extraParens","parens","operator","operators","rejectIdentCharsPattern","rest","dashes","reservedWord","reservedKeywords","identChars","avoidIdentChars","reservedKeywordsPattern","parameter","paramTypes","typesRegex","buildQStringPatterns","specialDelimiterMap","singlePattern","patternList","specialDelimiters","quotePatterns","singleQuotePattern","quoteTypes","variable","varTypes","varType","stringPattern","string","specialChars","identifierPattern","first","allowFirstCharNumber","letter","firstChars","restChars","lineColFromIndex","TokenizerEngine","dialectName","input","precedingWhitespace","matches","matchedText","START","MIDDLE","END2","NestedComment","nestLevel","Tokenizer","cfg","paramTypesOverrides","toCanonical","_c","_d","_e","tokenKey","quoteChar","customParam","_a2","createDialect","dialect","dialectFromOptions","dialectOptions","processDialectFormatOptions","indentString","isTabularStyle","Params","disambiguateTokens","dotKeywordToIdent","funcNameToKeyword","dataTypeToParameterizedDataType","identToArrayIdent","dataTypeToArrayKeyword","prevNonCommentToken","nextNonCommentToken","isOpenParen","isOpenBracket","dir","isComment","LexerAdapter","tokenize","_info","d","unwrap","toKeywordNode","toDataTypeNode","addComments","leading","trailing","addCommentsToArray","nodes","lead","last2","statements","delimiter","expressions","clauses","limitToken","exp1","comma","exp2","nameToken","expr","chain","arrayToken","brackets","open","close","_1","_2","property","betweenToken","expr1","andToken","_3","expr2","caseToken","endToken","whenToken","cond","thenToken","elseToken","comments","grammar_default","NearleyParser","nearley","createParser","tokenizer","lexer2","parser","sql2","Layout","indentation","isHorizontalWhitespace","isRemovableWhitespace","newline","toTabularFormat","tokenText","indentStyle","tail","isTabularToken","INDENT_TYPE_TOP_LEVEL","INDENT_TYPE_BLOCK_LEVEL","Indentation","indent","InlineLayout","expressionWidth","InlineLayoutError","ExpressionFormatter","_ExpressionFormatter","dialectCfg","layout","inline","formattedArray","inlineLayout","_node","com","comment","oldParamIndex","Formatter","query","ast","stat","statement","ConfigError","validateConfig","removedOptions","optionName","validateParams","dialectNameMap","supportedDialects","defaultOptions","format","canonicalDialectName","formatDialect","copyToClipboard","formatTs","ts","log","BackendRequest","__publicField","acc","curr","tabs","useRequestsStore","requests","ids","req","apply","func","_apply","identity","identity_1","require$$0","nativeMax","overRest","transform","array","otherArgs","_overRest","constant","constant_1","freeGlobal","_freeGlobal","freeSelf","_root","Symbol","_Symbol","objectProto","nativeObjectToString","symToStringTag","getRawTag","isOwn","unmasked","_getRawTag","_objectToString","require$$1","require$$2","nullTag","undefinedTag","baseGetTag","_baseGetTag","isObject_1","asyncTag","funcTag","genTag","proxyTag","isFunction_1","coreJsData","_coreJsData","maskSrcKey","isMasked","_isMasked","funcProto","funcToString","toSource","_toSource","require$$3","reRegExpChar","reIsHostCtor","reIsNative","baseIsNative","_baseIsNative","getValue","_getValue","getNative","_getNative","defineProperty","_defineProperty","baseSetToString","_baseSetToString","HOT_COUNT","HOT_SPAN","nativeNow","shortOut","count","lastCalled","stamp","remaining","_shortOut","setToString","_setToString","baseRest","_baseRest","listCacheClear","_listCacheClear","eq","other","eq_1","assocIndexOf","_assocIndexOf","arrayProto","splice","listCacheDelete","_listCacheDelete","listCacheGet","_listCacheGet","listCacheHas","_listCacheHas","listCacheSet","_listCacheSet","require$$4","ListCache","entry","_ListCache","stackClear","_stackClear","stackDelete","_stackDelete","stackGet","_stackGet","stackHas","_stackHas","Map","_Map","nativeCreate","_nativeCreate","hashClear","_hashClear","hashDelete","_hashDelete","HASH_UNDEFINED","hashGet","_hashGet","hashHas","_hashHas","hashSet","_hashSet","Hash","_Hash","mapCacheClear","_mapCacheClear","isKeyable","_isKeyable","getMapData","_getMapData","mapCacheDelete","_mapCacheDelete","mapCacheGet","_mapCacheGet","mapCacheHas","_mapCacheHas","mapCacheSet","_mapCacheSet","MapCache","_MapCache","LARGE_ARRAY_SIZE","stackSet","pairs","_stackSet","require$$5","Stack","_Stack","baseAssignValue","_baseAssignValue","assignMergeValue","_assignMergeValue","createBaseFor","fromRight","iteratee","keysFunc","iterable","_createBaseFor","baseFor","_baseFor","freeExports","freeModule","moduleExports","Buffer","allocUnsafe","cloneBuffer","isDeep","Uint8Array","_Uint8Array","cloneArrayBuffer","arrayBuffer","_cloneArrayBuffer","cloneTypedArray","typedArray","_cloneTypedArray","copyArray","_copyArray","objectCreate","baseCreate","proto","_baseCreate","overArg","_overArg","getPrototype","_getPrototype","isPrototype","Ctor","_isPrototype","initCloneObject","_initCloneObject","isObjectLike","isObjectLike_1","argsTag","baseIsArguments","_baseIsArguments","propertyIsEnumerable","isArguments","isArguments_1","isArray_1","MAX_SAFE_INTEGER","isLength","isLength_1","isArrayLike","isArrayLike_1","isArrayLikeObject","isArrayLikeObject_1","stubFalse","stubFalse_1","nativeIsBuffer","isBuffer","objectTag","objectCtorString","isPlainObject_1","arrayTag","boolTag","dateTag","errorTag","mapTag","numberTag","regexpTag","setTag","stringTag","weakMapTag","arrayBufferTag","dataViewTag","float32Tag","float64Tag","int8Tag","int16Tag","int32Tag","uint8Tag","uint8ClampedTag","uint16Tag","uint32Tag","typedArrayTags","baseIsTypedArray","_baseIsTypedArray","baseUnary","_baseUnary","freeProcess","nodeUtil","types","nodeIsTypedArray","isTypedArray","isTypedArray_1","safeGet","_safeGet","assignValue","objValue","_assignValue","copyObject","customizer","isNew","_copyObject","baseTimes","_baseTimes","reIsUint","isIndex","_isIndex","arrayLikeKeys","inherited","isArr","isArg","isBuff","isType","skipIndexes","_arrayLikeKeys","nativeKeysIn","_nativeKeysIn","baseKeysIn","isProto","_baseKeysIn","keysIn","keysIn_1","toPlainObject","toPlainObject_1","require$$6","require$$7","require$$8","require$$9","require$$10","require$$11","require$$12","require$$13","require$$14","baseMergeDeep","srcIndex","mergeFunc","stack","srcValue","stacked","isCommon","isTyped","_baseMergeDeep","baseMerge","_baseMerge","customDefaultsMerge","_customDefaultsMerge","isIterateeCall","_isIterateeCall","createAssigner","assigner","sources","guard","_createAssigner","mergeWith","mergeWith_1","defaultsDeep","defaultsDeep_1","newDebugbarConfig","useConfigStore","arrayMap","_arrayMap","arrayEach","_arrayEach","nativeKeys","_nativeKeys","baseKeys","_baseKeys","keys_1","baseAssign","_baseAssign","baseAssignIn","_baseAssignIn","arrayFilter","predicate","resIndex","_arrayFilter","stubArray","stubArray_1","nativeGetSymbols","getSymbols","_getSymbols","copySymbols","_copySymbols","arrayPush","_arrayPush","getSymbolsIn","_getSymbolsIn","copySymbolsIn","_copySymbolsIn","baseGetAllKeys","symbolsFunc","_baseGetAllKeys","getAllKeys","_getAllKeys","getAllKeysIn","_getAllKeysIn","DataView","_DataView","Promise","_Promise","Set","_Set","WeakMap","_WeakMap","promiseTag","dataViewCtorString","mapCtorString","promiseCtorString","setCtorString","weakMapCtorString","getTag","ctorString","_getTag","initCloneArray","_initCloneArray","cloneDataView","dataView","_cloneDataView","reFlags","cloneRegExp","regexp","_cloneRegExp","symbolProto","symbolValueOf","cloneSymbol","_cloneSymbol","symbolTag","initCloneByTag","_initCloneByTag","baseIsMap","_baseIsMap","nodeIsMap","isMap_1","baseIsSet","_baseIsSet","nodeIsSet","isSet_1","require$$15","require$$16","require$$17","require$$18","require$$19","require$$20","require$$21","CLONE_DEEP_FLAG","CLONE_FLAT_FLAG","CLONE_SYMBOLS_FLAG","cloneableTags","baseClone","bitmask","isFlat","isFull","isFunc","subValue","_baseClone","isSymbol_1","reIsDeepProp","reIsPlainProp","isKey","_isKey","FUNC_ERROR_TEXT","memoize","resolver","memoized","memoize_1","MAX_MEMOIZE_SIZE","memoizeCapped","_memoizeCapped","rePropName","reEscapeChar","stringToPath","quote","subString","_stringToPath","INFINITY","symbolToString","baseToString","_baseToString","toString","toString_1","castPath","_castPath","last_1","toKey","_toKey","baseGet","_baseGet","baseSlice","_baseSlice","baseUnset","_baseUnset","customOmitClone","_customOmitClone","spreadableSymbol","isFlattenable","_isFlattenable","baseFlatten","depth","isStrict","_baseFlatten","flatten","flatten_1","flatRest","_flatRest","omit","paths","omit_1","_hoisted_4","_hoisted_29","_hoisted_30","_hoisted_31","_hoisted_32","_hoisted_33","_hoisted_34","_hoisted_35","_hoisted_36","_hoisted_37","_hoisted_38","_hoisted_39","_hoisted_2","_hoisted_3","_hoisted_5","formattedDuration","requestsStore","configStore","header","isActive","devMode","routeAlias","debugbarChannel","clearRequests","togglePolling","setActiveTab","tab","firstId","AppDemo","hljsVuePlugin"],"mappings":"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AAQ2G,EAAK,MACb+G,EAAe/G,EAAK,QAAQ,KAAM,GAAG,EACrCgH,EAAS,CACb,UAAW,SACX,SAAU,CACR,CACE,MAAO,IACP,IAAK,IACL,SAAU,CAAE,CAAE,MAAO,KAAQ,CAC9B,CACF,CACL,EACQC,EAAoB,CACxB,MAAO,IACP,IAAK,IACL,SAAU,CAAE,CAAE,MAAO,KAAQ,CACjC,EAEQC,EAAW,CACf,OACA,QAGA,SACJ,EAEQC,EAAmB,CACvB,mBACA,eACA,gBACA,kBACJ,EAEQC,EAAQ,CACZ,SACA,SACA,OACA,UACA,OACA,YACA,OACA,OACA,MACA,WACA,UACA,QACA,MACA,UACA,WACA,QACA,QACA,WACA,UACA,OACA,MACA,WACA,OACA,YACA,UACA,UACA,WACJ,EAEQC,EAAqB,CACzB,MACA,MACA,YACA,OACA,QACA,QACA,OACA,MACJ,EAGQC,EAAiB,CACrB,MACA,OACA,MACA,WACA,QACA,MACA,MACA,MACA,QACA,YACA,wBACA,KACA,aACA,OACA,aACA,KACA,OACA,SACA,gBACA,MACA,QACA,cACA,kBACA,UACA,SACA,SACA,OACA,UACA,OACA,KACA,OACA,SACA,cACA,WACA,OACA,OACA,OACA,UACA,OACA,cACA,YACA,mBACA,QACA,aACA,OACA,QACA,WACA,UACA,UACA,SACA,SACA,YACA,UACA,aACA,WACA,UACA,OACA,OACA,gBACA,MACA,OACA,QACA,YACA,aACA,SACA,QACA,OACA,YACA,UACA,kBACA,eACA,kCACA,eACA,eACA,cACA,iBACA,eACA,oBACA,eACA,eACA,mCACA,eACA,SACA,QACA,OACA,MACA,aACA,MACA,UACA,WACA,UACA,UACA,SACA,SACA,aACA,QACA,WACA,gBACA,aACA,WACA,SACA,OACA,UACA,OACA,UACA,OACA,QACA,MACA,YACA,gBACA,WACA,SACA,SACA,QACA,SACA,OACA,UACA,SACA,MACA,WACA,UACA,QACA,QACA,SACA,cACA,QACA,QACA,MACA,UACA,YACA,OACA,OACA,OACA,WACA,SACA,MACA,SACA,QACA,QACA,WACA,SACA,SACA,OACA,OACA,WACA,KACA,YACA,UACA,QACA,QACA,cACA,SACA,MACA,UACA,YACA,eACA,WACA,OACA,KACA,OACA,aACA,gBACA,cACA,cACA,iBACA,aACA,aACA,uBACA,aACA,MACA,WACA,QACA,aACA,UACA,OACA,UACA,OACA,OACA,aACA,UACA,KACA,QACA,YACA,iBACA,MACA,QACA,QACA,QACA,eACA,kBACA,UACA,MACA,SACA,QACA,SACA,MACA,SACA,MACA,WACA,SACA,QACA,WACA,WACA,UACA,QACA,QACA,MACA,KACA,OACA,YACA,MACA,YACA,QACA,OACA,SACA,UACA,eACA,oBACA,KACA,SACA,MACA,OACA,KACA,MACA,OACA,OACA,KACA,QACA,MACA,QACA,OACA,WACA,UACA,YACA,YACA,UACA,MACA,UACA,eACA,kBACA,kBACA,SACA,UACA,WACA,iBACA,QACA,WACA,YACA,UACA,UACA,YACA,MACA,QACA,OACA,QACA,OACA,YACA,MACA,aACA,cACA,YACA,YACA,aACA,iBACA,UACA,aACA,WACA,WACA,WACA,UACA,SACA,SACA,UACA,SACA,QACA,WACA,SACA,MACA,aACA,OACA,UACA,YACA,QACA,SACA,SACA,SACA,OACA,SACA,YACA,eACA,MACA,OACA,UACA,MACA,OACA,OACA,WACA,OACA,WACA,eACA,MACA,eACA,WACA,aACA,OACA,QACA,SACA,aACA,cACA,cACA,SACA,YACA,kBACA,WACA,MACA,YACA,SACA,cACA,cACA,QACA,cACA,MACA,OACA,OACA,OACA,YACA,gBACA,kBACA,KACA,WACA,YACA,kBACA,cACA,QACA,UACA,OACA,aACA,OACA,WACA,UACA,QACA,SACA,UACA,SACA,SACA,QACA,OACA,QACA,QACA,SACA,WACA,UACA,WACA,YACA,UACA,UACA,aACA,OACA,WACA,QACA,eACA,SACA,OACA,SACA,UACA,MACJ,EAKQC,EAAqB,CACzB,MACA,OACA,YACA,OACA,OACA,MACA,OACA,OACA,UACA,WACA,OACA,MACA,OACA,QACA,YACA,aACA,YACA,aACA,QACA,UACA,MACA,UACA,cACA,QACA,aACA,gBACA,cACA,cACA,iBACA,aACA,aACA,uBACA,aACA,MACA,aACA,OACA,UACA,KACA,MACA,QACA,QACA,MACA,MACA,MACA,YACA,QACA,SACA,eACA,kBACA,kBACA,WACA,iBACA,QACA,OACA,YACA,YACA,aACA,iBACA,UACA,aACA,WACA,WACA,WACA,aACA,MACA,OACA,OACA,aACA,cACA,YACA,kBACA,MACA,MACA,OACA,YACA,kBACA,QACA,OACA,aACA,SACA,QACA,WACA,UACA,WACA,cACJ,EAGQC,EAA0B,CAC9B,kBACA,eACA,kCACA,eACA,eACA,iBACA,mCACA,eACA,eACA,cACA,cACA,eACA,YACA,oBACA,gBACJ,EAIQC,EAAS,CACb,eACA,cACA,cACA,cACA,WACA,cACA,iBACA,gBACA,cACA,gBACA,gBACA,eACA,cACA,aACA,cACA,eACJ,EAEQC,EAAYH,EAEZI,EAAW,CACf,GAAGL,EACH,GAAGD,CACP,EAAI,OAAQzK,GACD,CAAC2K,EAAmB,SAAS3K,CAAO,CAC5C,EAEKgL,EAAW,CACf,UAAW,WACX,MAAO,qBACX,EAEQC,EAAW,CACf,UAAW,WACX,MAAO,gDACP,UAAW,CACf,EAEQC,EAAgB,CACpB,MAAOzO,EAAM,OAAO,KAAMA,EAAM,OAAO,GAAGqO,CAAS,EAAG,OAAO,EAC7D,UAAW,EACX,SAAU,CAAE,SAAUA,CAAW,CACrC,EAGE,SAASK,EAAgBnE,EAAM,CAC7B,WAAAoE,EAAY,KAAAC,EACb,EAAG,GAAI,CACN,MAAMC,GAAYD,GAClB,OAAAD,EAAaA,GAAc,GACpBpE,EAAK,IAAKE,GACXA,EAAK,MAAM,QAAQ,GAAKkE,EAAW,SAASlE,CAAI,EAC3CA,EACEoE,GAAUpE,CAAI,EAChB,GAAGA,CAAI,KAEPA,CAEV,CACF,CAED,MAAO,CACL,KAAM,MACN,iBAAkB,GAElB,QAAS,WACT,SAAU,CACR,SAAU,YACV,QACEiE,EAAgBJ,EAAU,CAAE,KAAOxQ,GAAMA,EAAE,OAAS,EAAG,EACzD,QAAS+P,EACT,KAAME,EACN,SAAUI,CACX,EACD,SAAU,CACR,CACE,MAAOnO,EAAM,OAAO,GAAGoO,CAAM,EAC7B,UAAW,EACX,SAAU,CACR,SAAU,UACV,QAASE,EAAS,OAAOF,CAAM,EAC/B,QAASP,EACT,KAAME,CACP,CACF,EACD,CACE,UAAW,OACX,MAAO/N,EAAM,OAAO,GAAG8N,CAAgB,CACxC,EACDW,EACAF,EACAZ,EACAC,EACAjH,EAAK,cACLA,EAAK,qBACL+G,EACAc,CACD,CACL,CACA,CC/pBA,SAASM,GAAKnI,EAAM,CAClB,MAAMoI,EAAY,CAChB,UAAW,OACX,MAAO,8BACP,UAAW,IACf,EACQC,EAAc,CAClB,MAAO,YACP,UAAW,cACX,UAAW,CACf,EACQnB,EAAW,CACf,OACA,QACA,MACJ,EAMQoB,EAAgB,CACpB,MAAO,UACP,cAAepB,EAAS,KAAK,GAAG,CACpC,EAEE,MAAO,CACL,KAAM,OACN,SAAS,CACP,QAASA,CACV,EACD,SAAU,CACRkB,EACAC,EACArI,EAAK,kBACLsI,EACAtI,EAAK,cACLA,EAAK,oBACLA,EAAK,oBACN,EACD,QAAS,KACb,CACA,CClDA,SAASuI,GAAQC,EAAKC,EAAkB,CAChC,MAAAC,EAA6B,OAAA,OAAO,IAAI,EACxC9E,EAAO4E,EAAI,MAAM,GAAG,EAC1B,QAASpR,EAAI,EAAGA,EAAIwM,EAAK,OAAQxM,IAC3BsR,EAAA9E,EAAKxM,CAAC,CAAC,EAAI,GAEjB,OAAOqR,EAAoBE,GAAQ,CAAC,CAACD,EAAIC,EAAI,YAAa,CAAA,EAAKA,GAAQ,CAAC,CAACD,EAAIC,CAAG,CAClF,CAEA,MAAMC,GAA4E,CAAA,EAC5EC,GAA4E,CAAA,EAC5EC,GAAO,IAAM,CACnB,EACMC,GAAK,IAAM,GACXC,GAAQpS,GAAQA,EAAI,WAAW,CAAC,IAAM,KAAOA,EAAI,WAAW,CAAC,IAAM,MACxEA,EAAI,WAAW,CAAC,EAAI,KAAOA,EAAI,WAAW,CAAC,EAAI,IAC1CqS,GAAmBrS,GAAQA,EAAI,WAAW,WAAW,EACrDsS,GAAS,OAAO,OAChBC,GAAS,CAACC,EAAKpR,IAAO,CACpB,MAAAZ,EAAIgS,EAAI,QAAQpR,CAAE,EACpBZ,EAAI,IACFgS,EAAA,OAAOhS,EAAG,CAAC,CAEnB,EACMiS,GAAiB,OAAO,UAAU,eAClCC,GAAS,CAACX,EAAK/R,IAAQyS,GAAe,KAAKV,EAAK/R,CAAG,EACnD2S,EAAU,MAAM,QAChBC,GAASb,GAAQc,GAAad,CAAG,IAAM,eACvCe,GAASf,GAAQc,GAAad,CAAG,IAAM,eAGvCgB,GAAchB,GAAQ,OAAOA,GAAQ,WACrCiB,GAAYjB,GAAQ,OAAOA,GAAQ,SACnCkB,GAAYlB,GAAQ,OAAOA,GAAQ,SACnCmB,GAAYnB,GAAQA,IAAQ,MAAQ,OAAOA,GAAQ,SACnDoB,GAAapB,IACTmB,GAASnB,CAAG,GAAKgB,GAAWhB,CAAG,IAAMgB,GAAWhB,EAAI,IAAI,GAAKgB,GAAWhB,EAAI,KAAK,EAErFqB,GAAiB,OAAO,UAAU,SAClCP,GAAgBlT,GAAUyT,GAAe,KAAKzT,CAAK,EACnD0T,GAAa1T,GACVkT,GAAalT,CAAK,EAAE,MAAM,EAAG,EAAE,EAElC2T,GAAiBvB,GAAQc,GAAad,CAAG,IAAM,kBAC/CwB,GAAgBvT,GAAQgT,GAAShT,CAAG,GAAKA,IAAQ,OAASA,EAAI,CAAC,IAAM,KAAO,GAAK,SAASA,EAAK,EAAE,IAAMA,EACvGwT,GAAiC7B,GAErC,qIACF,EAIM8B,GAAuBC,GAAO,CAC5B,MAAAC,EAA+B,OAAA,OAAO,IAAI,EAChD,OAAQ/B,GACM+B,EAAM/B,CAAG,IACN+B,EAAM/B,CAAG,EAAI8B,EAAG9B,CAAG,EAEtC,EACMgC,GAAa,SACbC,GAAWJ,GAAqB7B,GAC7BA,EAAI,QAAQgC,GAAY,CAACE,EAAGtL,IAAMA,EAAIA,EAAE,YAAY,EAAI,EAAE,CAClE,EACKuL,GAAc,aACdC,GAAYP,GACf7B,GAAQA,EAAI,QAAQmC,GAAa,KAAK,EAAE,YAAY,CACvD,EACME,GAAaR,GAAqB7B,GAC/BA,EAAI,OAAO,CAAC,EAAE,cAAgBA,EAAI,MAAM,CAAC,CACjD,EACKsC,GAAeT,GAAqB7B,GAC9BA,EAAM,KAAKqC,GAAWrC,CAAG,CAAC,GAAK,EAE1C,EACKuC,GAAa,CAACxU,EAAOyU,IAAa,CAAC,OAAO,GAAGzU,EAAOyU,CAAQ,EAC5DC,GAAiB,CAACC,EAAKC,IAAQ,CACnC,QAAS/T,EAAI,EAAGA,EAAI8T,EAAI,OAAQ9T,IAC1B8T,EAAA9T,CAAC,EAAE+T,CAAG,CAEd,EACMC,GAAM,CAACpV,EAAKY,EAAKL,IAAU,CACxB,OAAA,eAAeP,EAAKY,EAAK,CAC9B,aAAc,GACd,WAAY,GACZ,MAAAL,CAAA,CACD,CACH,EACM8U,GAAiB1C,GAAQ,CACvB,MAAA2C,EAAI,WAAW3C,CAAG,EACjB,OAAA,MAAM2C,CAAC,EAAI3C,EAAM2C,CAC1B,EAKA,IAAIC,GACJ,MAAMC,GAAgB,IACbD,KAAgBA,GAAc,OAAO,WAAe,IAAc,WAAa,OAAO,KAAS,IAAc,KAAO,OAAO,OAAW,IAAc,OAAS,OAAO,OAAW,IAAc,OAAS,CAAA,GA0E/M,SAASE,GAAelV,EAAO,CACzB,GAAAgT,EAAQhT,CAAK,EAAG,CAClB,MAAMmV,EAAM,CAAA,EACZ,QAAStU,EAAI,EAAGA,EAAIb,EAAM,OAAQa,IAAK,CAC/B,MAAA0M,EAAOvN,EAAMa,CAAC,EACduU,EAAa/B,GAAS9F,CAAI,EAAI8H,GAAiB9H,CAAI,EAAI2H,GAAe3H,CAAI,EAChF,GAAI6H,EACF,UAAW/U,KAAO+U,EACZD,EAAA9U,CAAG,EAAI+U,EAAW/U,CAAG,CAG/B,CACO,OAAA8U,UACE9B,GAASrT,CAAK,GAAKuT,GAASvT,CAAK,EACnC,OAAAA,CAEX,CACA,MAAMsV,GAAkB,gBAClBC,GAAsB,UACtBC,GAAiB,iBACvB,SAASH,GAAiBI,EAAS,CACjC,MAAMC,EAAM,CAAA,EACJ,OAAAD,EAAA,QAAQD,GAAgB,EAAE,EAAE,MAAMF,EAAe,EAAE,QAAS/H,GAAS,CAC3E,GAAIA,EAAM,CACF,MAAAoI,EAAMpI,EAAK,MAAMgI,EAAmB,EAC1CI,EAAI,OAAS,IAAMD,EAAIC,EAAI,CAAC,EAAE,KAAK,CAAC,EAAIA,EAAI,CAAC,EAAE,KAAK,EACtD,CAAA,CACD,EACMD,CACT,CAeA,SAASE,GAAe5V,EAAO,CAC7B,IAAImV,EAAM,GACN,GAAA9B,GAASrT,CAAK,EACVmV,EAAAnV,UACGgT,EAAQhT,CAAK,EACtB,QAASa,EAAI,EAAGA,EAAIb,EAAM,OAAQa,IAAK,CACrC,MAAMuU,EAAaQ,GAAe5V,EAAMa,CAAC,CAAC,EACtCuU,IACFD,GAAOC,EAAa,IAExB,SACS7B,GAASvT,CAAK,EACvB,UAAWN,KAAQM,EACbA,EAAMN,CAAI,IACZyV,GAAOzV,EAAO,KAIpB,OAAOyV,EAAI,MACb,CAqBA,MAAMU,GAAsB,8EACtBC,MAA+CD,EAAmB,EAIxE,SAASE,GAAmB/V,EAAO,CAC1B,MAAA,CAAC,CAACA,GAASA,IAAU,EAC9B,CA0HA,MAAMgW,GAAmB5D,GAChBiB,GAASjB,CAAG,EAAIA,EAAMA,GAAO,KAAO,GAAKY,EAAQZ,CAAG,GAAKmB,GAASnB,CAAG,IAAMA,EAAI,WAAaqB,IAAkB,CAACL,GAAWhB,EAAI,QAAQ,GAAK,KAAK,UAAUA,EAAK6D,GAAU,CAAC,EAAI,OAAO7D,CAAG,EAE3L6D,GAAW,CAACC,EAAM9D,IAClBA,GAAOA,EAAI,UACN6D,GAASC,EAAM9D,EAAI,KAAK,EACtBa,GAAMb,CAAG,EACX,CACL,CAAC,OAAOA,EAAI,IAAI,GAAG,EAAG,CAAC,GAAGA,EAAI,QAAS,CAAA,EAAE,OACvC,CAAC+D,EAAS,CAAC9V,EAAK+V,CAAI,EAAGvV,KACrBsV,EAAQE,GAAgBhW,EAAKQ,CAAC,EAAI,KAAK,EAAIuV,EACpCD,GAET,CAAC,CACH,CAAA,EAEOhD,GAAMf,CAAG,EACX,CACL,CAAC,OAAOA,EAAI,IAAI,GAAG,EAAG,CAAC,GAAGA,EAAI,OAAQ,CAAA,EAAE,IAAKkE,GAAMD,GAAgBC,CAAC,CAAC,CAAA,EAE9DhD,GAASlB,CAAG,EACdiE,GAAgBjE,CAAG,EACjBmB,GAASnB,CAAG,GAAK,CAACY,EAAQZ,CAAG,GAAK,CAACuB,GAAcvB,CAAG,EACtD,OAAOA,CAAG,EAEZA,EAEHiE,GAAkB,CAACC,EAAGzV,EAAI,KAAO,CACjC,IAAA0V,EACG,OAAAjD,GAASgD,CAAC,EAAI,WAAWC,EAAKD,EAAE,cAAgB,KAAOC,EAAK1V,CAAC,IAAMyV,CAC5E,ECxZA,IAAIE,GACJ,MAAMC,EAAY,CAChB,YAAYC,EAAW,GAAO,CAC5B,KAAK,SAAWA,EAIhB,KAAK,QAAU,GAIf,KAAK,QAAU,GAIf,KAAK,SAAW,GAChB,KAAK,OAASF,GACV,CAACE,GAAYF,KACf,KAAK,OAASA,GAAkB,SAAWA,GAAkB,OAAS,CAAK,IAAA,KACzE,IACE,EAAA,EAER,CACA,IAAI,QAAS,CACX,OAAO,KAAK,OACd,CACA,IAAIzC,EAAI,CACN,GAAI,KAAK,QAAS,CAChB,MAAM4C,EAAqBH,GACvB,GAAA,CACkB,OAAAA,GAAA,KACbzC,EAAG,CAAA,QACV,CACoByC,GAAAG,CACtB,CAGF,CACF,CAKA,IAAK,CACiBH,GAAA,IACtB,CAKA,KAAM,CACJA,GAAoB,KAAK,MAC3B,CACA,KAAKI,EAAY,CACf,GAAI,KAAK,QAAS,CAChB,IAAI/V,EAAGgW,EACF,IAAAhW,EAAI,EAAGgW,EAAI,KAAK,QAAQ,OAAQhW,EAAIgW,EAAGhW,IACrC,KAAA,QAAQA,CAAC,EAAE,KAAK,EAElB,IAAAA,EAAI,EAAGgW,EAAI,KAAK,SAAS,OAAQhW,EAAIgW,EAAGhW,IACtC,KAAA,SAASA,CAAC,IAEjB,GAAI,KAAK,OACF,IAAAA,EAAI,EAAGgW,EAAI,KAAK,OAAO,OAAQhW,EAAIgW,EAAGhW,IACzC,KAAK,OAAOA,CAAC,EAAE,KAAK,EAAI,EAG5B,GAAI,CAAC,KAAK,UAAY,KAAK,QAAU,CAAC+V,EAAY,CAChD,MAAME,EAAO,KAAK,OAAO,OAAO,IAAI,EAChCA,GAAQA,IAAS,OACnB,KAAK,OAAO,OAAO,KAAK,KAAK,EAAIA,EACjCA,EAAK,MAAQ,KAAK,MAEtB,CACA,KAAK,OAAS,OACd,KAAK,QAAU,EACjB,CACF,CACF,CACA,SAASC,GAAYL,EAAU,CACtB,OAAA,IAAID,GAAYC,CAAQ,CACjC,CACA,SAASM,GAAkBC,EAAQ3V,EAAQkV,GAAmB,CACxDlV,GAASA,EAAM,QACXA,EAAA,QAAQ,KAAK2V,CAAM,CAE7B,CACA,SAASC,IAAkB,CAClB,OAAAV,EACT,CACA,SAASW,GAAepD,EAAI,CACtByC,IACgBA,GAAA,SAAS,KAAKzC,CAAE,CAMtC,CAEA,MAAMqD,GAAaC,GAAY,CACvB,MAAAC,EAAM,IAAI,IAAID,CAAO,EAC3B,OAAAC,EAAI,EAAI,EACRA,EAAI,EAAI,EACDA,CACT,EACMC,GAAcD,IAASA,EAAI,EAAIE,IAAc,EAC7CC,GAAcH,IAASA,EAAI,EAAIE,IAAc,EAC7CE,GAAiB,CAAC,CAAE,KAAAC,KAAW,CACnC,GAAIA,EAAK,OACP,QAAS9W,EAAI,EAAGA,EAAI8W,EAAK,OAAQ9W,IAC1B8W,EAAA9W,CAAC,EAAE,GAAK2W,EAGnB,EACMI,GAAsBX,GAAW,CAC/B,KAAA,CAAE,KAAAU,CAASV,EAAAA,EACjB,GAAIU,EAAK,OAAQ,CACf,IAAIE,EAAM,EACV,QAAShX,EAAI,EAAGA,EAAI8W,EAAK,OAAQ9W,IAAK,CAC9B,MAAAyW,EAAMK,EAAK9W,CAAC,EACd0W,GAAWD,CAAG,GAAK,CAACG,GAAWH,CAAG,EACpCA,EAAI,OAAOL,CAAM,EAEjBU,EAAKE,GAAK,EAAIP,EAEhBA,EAAI,GAAK,CAACE,GACVF,EAAI,GAAK,CAACE,EACZ,CACAG,EAAK,OAASE,CAChB,CACF,EAEMC,OAAgC,QACtC,IAAIC,GAAmB,EACnBP,GAAa,EACjB,MAAMQ,GAAgB,GACtB,IAAIC,GACJ,MAAMC,GAAc,OAA+D,EAAE,EAC/EC,GAAsB,OAAuE,EAAE,EACrG,MAAMC,EAAe,CACnB,YAAYrE,EAAIsE,EAAY,KAAM/W,EAAO,CACvC,KAAK,GAAKyS,EACV,KAAK,UAAYsE,EACjB,KAAK,OAAS,GACd,KAAK,KAAO,GACZ,KAAK,OAAS,OACdrB,GAAkB,KAAM1V,CAAK,CAC/B,CACA,KAAM,CACA,GAAA,CAAC,KAAK,OACR,OAAO,KAAK,KAEd,IAAIgE,EAAS2S,GACTK,EAAkBC,GACtB,KAAOjT,GAAQ,CACb,GAAIA,IAAW,KACb,OAEFA,EAASA,EAAO,MAClB,CACI,GAAA,CACF,YAAK,OAAS2S,GACCA,GAAA,KACDM,GAAA,GACdf,GAAa,GAAK,EAAEO,GAChBA,IAAoBC,GACtBN,GAAe,IAAI,EAEnBc,GAAc,IAAI,EAEb,KAAK,IAAG,QACf,CACIT,IAAoBC,IACtBJ,GAAmB,IAAI,EAEzBJ,GAAa,GAAK,EAAEO,GACpBE,GAAe,KAAK,OACNM,GAAAD,EACd,KAAK,OAAS,OACV,KAAK,WACP,KAAK,KAAK,CAEd,CACF,CACA,MAAO,CACDL,KAAiB,KACnB,KAAK,UAAY,GACR,KAAK,SACdO,GAAc,IAAI,EACd,KAAK,QACP,KAAK,OAAO,EAEd,KAAK,OAAS,GAElB,CACF,CACA,SAASA,GAAcC,EAAS,CACxB,KAAA,CAAE,KAAAd,CAAS,EAAAc,EACjB,GAAId,EAAK,OAAQ,CACf,QAAS9W,EAAI,EAAGA,EAAI8W,EAAK,OAAQ9W,IAC1B8W,EAAA9W,CAAC,EAAE,OAAO4X,CAAO,EAExBd,EAAK,OAAS,CAChB,CACF,CAqBA,IAAIY,GAAc,GAClB,MAAMG,GAAa,CAAA,EACnB,SAASC,IAAgB,CACvBD,GAAW,KAAKH,EAAW,EACbA,GAAA,EAChB,CAKA,SAASK,IAAgB,CACjB,MAAA9B,EAAO4B,GAAW,MACVH,GAAAzB,IAAS,OAAS,GAAOA,CACzC,CACA,SAAS+B,GAAMC,EAAQlZ,EAAMS,EAAK,CAChC,GAAIkY,IAAeN,GAAc,CAC3B,IAAAc,EAAUjB,GAAU,IAAIgB,CAAM,EAC7BC,GACHjB,GAAU,IAAIgB,EAAQC,EAA0B,IAAI,GAAK,EAEvD,IAAAzB,EAAMyB,EAAQ,IAAI1Y,CAAG,EACpBiX,GACHyB,EAAQ,IAAI1Y,EAAKiX,EAAMF,GAAW,CAAA,EAGpC4B,GAAa1B,CAAc,CAC7B,CACF,CACA,SAAS0B,GAAa1B,EAAK2B,EAAwB,CACjD,IAAIC,EAAe,GACfnB,IAAoBC,GACjBP,GAAWH,CAAG,IACjBA,EAAI,GAAKE,GACM0B,EAAA,CAAC3B,GAAWD,CAAG,GAGjB4B,EAAA,CAAC5B,EAAI,IAAIW,EAAY,EAElCiB,IACF5B,EAAI,IAAIW,EAAY,EACPA,GAAA,KAAK,KAAKX,CAAG,EAY9B,CACA,SAAS6B,GAAQL,EAAQlZ,EAAMS,EAAK+Y,EAAU3E,EAAU4E,EAAW,CAC3D,MAAAN,EAAUjB,GAAU,IAAIgB,CAAM,EACpC,GAAI,CAACC,EACH,OAEF,IAAIpB,EAAO,CAAA,EACX,GAAI/X,IAAS,QACX+X,EAAO,CAAC,GAAGoB,EAAQ,OAAQ,CAAA,UAClB1Y,IAAQ,UAAY2S,EAAQ8F,CAAM,EAAG,CACxC,MAAAQ,EAAY,OAAOF,CAAQ,EACzBL,EAAA,QAAQ,CAACzB,EAAKiC,IAAS,EACzBA,IAAS,UAAY,CAACjG,GAASiG,CAAI,GAAKA,GAAQD,IAClD3B,EAAK,KAAKL,CAAG,CACf,CACD,CAAA,KAKD,QAHIjX,IAAQ,QACVsX,EAAK,KAAKoB,EAAQ,IAAI1Y,CAAG,CAAC,EAEpBT,EAAM,CACZ,IAAK,MACEoT,EAAQ8F,CAAM,EAKRlF,GAAavT,CAAG,GACzBsX,EAAK,KAAKoB,EAAQ,IAAI,QAAQ,CAAC,GAL/BpB,EAAK,KAAKoB,EAAQ,IAAIb,EAAW,CAAC,EAC9BjF,GAAM6F,CAAM,GACdnB,EAAK,KAAKoB,EAAQ,IAAIZ,EAAmB,CAAC,GAK9C,MACF,IAAK,SACEnF,EAAQ8F,CAAM,IACjBnB,EAAK,KAAKoB,EAAQ,IAAIb,EAAW,CAAC,EAC9BjF,GAAM6F,CAAM,GACdnB,EAAK,KAAKoB,EAAQ,IAAIZ,EAAmB,CAAC,GAG9C,MACF,IAAK,MACClF,GAAM6F,CAAM,GACdnB,EAAK,KAAKoB,EAAQ,IAAIb,EAAW,CAAC,EAEpC,KACJ,CAGE,GAAAP,EAAK,SAAW,EACdA,EAAK,CAAC,GAIS6B,GAAA7B,EAAK,CAAC,CAAC,MAGrB,CACL,MAAMN,EAAU,CAAA,EAChB,UAAWC,KAAOK,EACZL,GACMD,EAAA,KAAK,GAAGC,CAAG,EAMNkC,GAAApC,GAAUC,CAAO,CAAC,CAErC,CACF,CACA,SAASmC,GAAelC,EAAK2B,EAAwB,CACnD,MAAM5B,EAAUrE,EAAQsE,CAAG,EAAIA,EAAM,CAAC,GAAGA,CAAG,EAC5C,UAAWmB,KAAWpB,EAChBoB,EAAQ,UACVgB,GAAchB,CAA+B,EAGjD,UAAWA,KAAWpB,EACfoB,EAAQ,UACXgB,GAAchB,CAA+B,CAGnD,CACA,SAASgB,GAAchB,EAASQ,EAAwB,EAClDR,IAAYR,IAAgBQ,EAAQ,gBAIlCA,EAAQ,UACVA,EAAQ,UAAU,EAElBA,EAAQ,IAAI,EAGlB,CACA,SAASiB,GAAmBC,EAAQtZ,EAAK,CACnC,IAAAkW,EACI,OAAAA,EAAKuB,GAAU,IAAI6B,CAAM,IAAM,KAAO,OAASpD,EAAG,IAAIlW,CAAG,CACnE,CAEA,MAAMuZ,MAA6C,6BAA6B,EAC1EC,GAAiB,IAAI,IACT,OAAO,oBAAoB,MAAM,EAAE,OAAQxZ,GAAQA,IAAQ,aAAeA,IAAQ,QAAQ,EAAE,IAAKA,GAAQ,OAAOA,CAAG,CAAC,EAAE,OAAOiT,EAAQ,CACvJ,EACMwG,GAAoEC,GAAA,EAC1E,SAASA,IAA8B,CACrC,MAAMC,EAAmB,CAAA,EACzB,OAAC,WAAY,UAAW,aAAa,EAAE,QAAS3Z,GAAQ,CACrC2Z,EAAA3Z,CAAG,EAAI,YAAY6B,EAAM,CAClC,MAAA2Q,EAAMoH,GAAM,IAAI,EACtB,QAASpZ,EAAI,EAAGgW,EAAI,KAAK,OAAQhW,EAAIgW,EAAGhW,IAChCgY,GAAAhG,EAAK,MAAOhS,EAAI,EAAE,EAE1B,MAAMsU,EAAMtC,EAAIxS,CAAG,EAAE,GAAG6B,CAAI,EACxB,OAAAiT,IAAQ,IAAMA,IAAQ,GACjBtC,EAAIxS,CAAG,EAAE,GAAG6B,EAAK,IAAI+X,EAAK,CAAC,EAE3B9E,CACT,CACF,CACD,EACA,CAAA,OAAQ,MAAO,QAAS,UAAW,QAAQ,EAAE,QAAS9U,GAAQ,CAC5C2Z,EAAA3Z,CAAG,EAAI,YAAY6B,EAAM,CAC1ByW,KACR,MAAAxD,EAAM8E,GAAM,IAAI,EAAE5Z,CAAG,EAAE,MAAM,KAAM6B,CAAI,EAC/B,OAAA0W,KACPzD,CAAA,CACT,CACD,EACM6E,CACT,CACA,SAASlH,GAAezS,EAAK,CACrB,MAAAZ,EAAMwa,GAAM,IAAI,EAChB,OAAApB,GAAApZ,EAAK,MAAOY,CAAG,EACdZ,EAAI,eAAeY,CAAG,CAC/B,CACA,MAAM6Z,EAAoB,CACxB,YAAYC,EAAc,GAAOC,EAAW,GAAO,CACjD,KAAK,YAAcD,EACnB,KAAK,SAAWC,CAClB,CACA,IAAItB,EAAQzY,EAAKga,EAAU,CACzB,MAAMC,EAAc,KAAK,YAAaC,EAAU,KAAK,SACrD,GAAIla,IAAQ,iBACV,MAAO,CAACia,EACV,GAAWja,IAAQ,iBACV,OAAAia,EACT,GAAWja,IAAQ,gBACV,OAAAka,EACT,GAAWla,IAAQ,UACb,OAAAga,KAAcC,EAAcC,EAAUC,GAAqBC,GAAcF,EAAUG,GAAqBC,IAAa,IAAI7B,CAAM,GAEnI,OAAO,eAAeA,CAAM,IAAM,OAAO,eAAeuB,CAAQ,EACvDvB,EAET,OAEI,MAAA8B,EAAgB5H,EAAQ8F,CAAM,EACpC,GAAI,CAACwB,EAAa,CAChB,GAAIM,GAAiB7H,GAAO+G,GAAuBzZ,CAAG,EACpD,OAAO,QAAQ,IAAIyZ,GAAuBzZ,EAAKga,CAAQ,EAEzD,GAAIha,IAAQ,iBACH,OAAAyS,EAEX,CACA,MAAMqC,EAAM,QAAQ,IAAI2D,EAAQzY,EAAKga,CAAQ,EAO7C,OANI/G,GAASjT,CAAG,EAAIwZ,GAAe,IAAIxZ,CAAG,EAAIuZ,GAAmBvZ,CAAG,KAG/Dia,GACGzB,GAAAC,EAAQ,MAAOzY,CAAG,EAEtBka,GACKpF,EAEL0F,GAAM1F,CAAG,EACJyF,GAAiBhH,GAAavT,CAAG,EAAI8U,EAAMA,EAAI,MAEpD5B,GAAS4B,CAAG,EACPmF,EAAcQ,GAAS3F,CAAG,EAAI4F,GAAS5F,CAAG,EAE5CA,CACT,CACF,CACA,MAAM6F,WAA+Bd,EAAoB,CACvD,YAAYK,EAAU,GAAO,CAC3B,MAAM,GAAOA,CAAO,CACtB,CACA,IAAIzB,EAAQzY,EAAKL,EAAOqa,EAAU,CAC5B,IAAA5F,EAAWqE,EAAOzY,CAAG,EACrB,GAAA,CAAC,KAAK,SAAU,CACZ,MAAA4a,EAAqBC,GAAWzG,CAAQ,EAK1C,GAJA,CAAC0G,GAAUnb,CAAK,GAAK,CAACkb,GAAWlb,CAAK,IACxCyU,EAAWwF,GAAMxF,CAAQ,EACzBzU,EAAQia,GAAMja,CAAK,GAEjB,CAACgT,EAAQ8F,CAAM,GAAK+B,GAAMpG,CAAQ,GAAK,CAACoG,GAAM7a,CAAK,EACrD,OAAIib,EACK,IAEPxG,EAAS,MAAQzU,EACV,GAGb,CACA,MAAMob,EAASpI,EAAQ8F,CAAM,GAAKlF,GAAavT,CAAG,EAAI,OAAOA,CAAG,EAAIyY,EAAO,OAAS/F,GAAO+F,EAAQzY,CAAG,EAChGD,EAAS,QAAQ,IAAI0Y,EAAQzY,EAAKL,EAAOqa,CAAQ,EACnD,OAAAvB,IAAWmB,GAAMI,CAAQ,IACtBe,EAEM5G,GAAWxU,EAAOyU,CAAQ,GACnC0E,GAAQL,EAAQ,MAAOzY,EAAKL,CAAe,EAFnCmZ,GAAAL,EAAQ,MAAOzY,EAAKL,CAAK,GAK9BI,CACT,CACA,eAAe0Y,EAAQzY,EAAK,CACpB,MAAA+a,EAASrI,GAAO+F,EAAQzY,CAAG,EAChByY,EAAOzY,CAAG,EAC3B,MAAMD,EAAS,QAAQ,eAAe0Y,EAAQzY,CAAG,EACjD,OAAID,GAAUgb,GACZjC,GAAQL,EAAQ,SAAUzY,EAAK,MAAgB,EAE1CD,CACT,CACA,IAAI0Y,EAAQzY,EAAK,CACf,MAAMD,EAAS,QAAQ,IAAI0Y,EAAQzY,CAAG,EAClC,OAAA,CAACiT,GAASjT,CAAG,GAAK,CAACwZ,GAAe,IAAIxZ,CAAG,IACrCwY,GAAAC,EAAQ,MAAOzY,CAAG,EAEnBD,CACT,CACA,QAAQ0Y,EAAQ,CACd,OAAAD,GACEC,EACA,UACA9F,EAAQ8F,CAAM,EAAI,SAAWZ,EAAA,EAExB,QAAQ,QAAQY,CAAM,CAC/B,CACF,CACA,MAAMuC,WAAgCnB,EAAoB,CACxD,YAAYK,EAAU,GAAO,CAC3B,MAAM,GAAMA,CAAO,CACrB,CACA,IAAIzB,EAAQzY,EAAK,CAOR,MAAA,EACT,CACA,eAAeyY,EAAQzY,EAAK,CAOnB,MAAA,EACT,CACF,CACA,MAAMib,OAAsCN,GACtCO,OAAuCF,GACvCG,GAA8C,IAAAR,GAClD,EACF,EAGMS,GAAazb,GAAUA,EACvB0b,GAAYpF,GAAM,QAAQ,eAAeA,CAAC,EAChD,SAASqF,GAAI7C,EAAQzY,EAAK6a,EAAa,GAAOC,EAAY,GAAO,CAC/DrC,EAASA,EAAO,QACV,MAAA8C,EAAY3B,GAAMnB,CAAM,EACxB+C,EAAS5B,GAAM5Z,CAAG,EACnB6a,IACC1G,GAAWnU,EAAKwb,CAAM,GAClBhD,GAAA+C,EAAW,MAAOvb,CAAG,EAEvBwY,GAAA+C,EAAW,MAAOC,CAAM,GAEhC,KAAM,CAAE,IAAKC,CAAK,EAAIJ,GAASE,CAAS,EAClCG,EAAOZ,EAAYM,GAAYP,EAAac,GAAaC,GAC/D,GAAIH,EAAK,KAAKF,EAAWvb,CAAG,EAC1B,OAAO0b,EAAKjD,EAAO,IAAIzY,CAAG,CAAC,EAClB,GAAAyb,EAAK,KAAKF,EAAWC,CAAM,EACpC,OAAOE,EAAKjD,EAAO,IAAI+C,CAAM,CAAC,EACrB/C,IAAW8C,GACpB9C,EAAO,IAAIzY,CAAG,CAElB,CACA,SAAS6b,GAAI7b,EAAK6a,EAAa,GAAO,CAC9B,MAAApC,EAAS,KAAK,QACd8C,EAAY3B,GAAMnB,CAAM,EACxB+C,EAAS5B,GAAM5Z,CAAG,EACxB,OAAK6a,IACC1G,GAAWnU,EAAKwb,CAAM,GAClBhD,GAAA+C,EAAW,MAAOvb,CAAG,EAEvBwY,GAAA+C,EAAW,MAAOC,CAAM,GAEzBxb,IAAQwb,EAAS/C,EAAO,IAAIzY,CAAG,EAAIyY,EAAO,IAAIzY,CAAG,GAAKyY,EAAO,IAAI+C,CAAM,CAChF,CACA,SAASM,GAAKrD,EAAQoC,EAAa,GAAO,CACxC,OAAApC,EAASA,EAAO,QAChB,CAACoC,GAAcrC,GAAMoB,GAAMnB,CAAM,EAAG,UAAWZ,EAAW,EACnD,QAAQ,IAAIY,EAAQ,OAAQA,CAAM,CAC3C,CACA,SAASsD,GAAIpc,EAAO,CAClBA,EAAQia,GAAMja,CAAK,EACb,MAAA8Y,EAASmB,GAAM,IAAI,EAGzB,OAFcyB,GAAS5C,CAAM,EACR,IAAI,KAAKA,EAAQ9Y,CAAK,IAEzC8Y,EAAO,IAAI9Y,CAAK,EACRmZ,GAAAL,EAAQ,MAAO9Y,EAAOA,CAAK,GAE9B,IACT,CACA,SAASqc,GAAIhc,EAAKL,EAAO,CACvBA,EAAQia,GAAMja,CAAK,EACb,MAAA8Y,EAASmB,GAAM,IAAI,EACnB,CAAE,IAAK6B,EAAM,IAAKQ,GAASZ,GAAS5C,CAAM,EAChD,IAAIsC,EAASU,EAAK,KAAKhD,EAAQzY,CAAG,EAC7B+a,IACH/a,EAAM4Z,GAAM5Z,CAAG,EACN+a,EAAAU,EAAK,KAAKhD,EAAQzY,CAAG,GAIhC,MAAMoU,EAAW6H,EAAK,KAAKxD,EAAQzY,CAAG,EAC/B,OAAAyY,EAAA,IAAIzY,EAAKL,CAAK,EAChBob,EAEM5G,GAAWxU,EAAOyU,CAAQ,GACnC0E,GAAQL,EAAQ,MAAOzY,EAAKL,CAAe,EAFnCmZ,GAAAL,EAAQ,MAAOzY,EAAKL,CAAK,EAI5B,IACT,CACA,SAASuc,GAAYlc,EAAK,CAClB,MAAAyY,EAASmB,GAAM,IAAI,EACnB,CAAE,IAAK6B,EAAM,IAAKQ,GAASZ,GAAS5C,CAAM,EAChD,IAAIsC,EAASU,EAAK,KAAKhD,EAAQzY,CAAG,EAC7B+a,IACH/a,EAAM4Z,GAAM5Z,CAAG,EACN+a,EAAAU,EAAK,KAAKhD,EAAQzY,CAAG,GAIfic,GAAOA,EAAK,KAAKxD,EAAQzY,CAAG,EACvC,MAAAD,EAAS0Y,EAAO,OAAOzY,CAAG,EAChC,OAAI+a,GACFjC,GAAQL,EAAQ,SAAUzY,EAAK,MAAgB,EAE1CD,CACT,CACA,SAASoc,IAAQ,CACT,MAAA1D,EAASmB,GAAM,IAAI,EACnBwC,EAAW3D,EAAO,OAAS,EAE3B1Y,EAAS0Y,EAAO,QACtB,OAAI2D,GACFtD,GAAQL,EAAQ,QAAS,OAAQ,MAAiB,EAE7C1Y,CACT,CACA,SAASsc,GAAcxB,EAAYC,EAAW,CACrC,OAAA,SAAiBwB,EAAUC,EAAS,CACzC,MAAMC,EAAW,KACX/D,EAAS+D,EAAS,QAClBjB,EAAY3B,GAAMnB,CAAM,EACxBiD,EAAOZ,EAAYM,GAAYP,EAAac,GAAaC,GAC/D,OAACf,GAAcrC,GAAM+C,EAAW,UAAW1D,EAAW,EAC/CY,EAAO,QAAQ,CAAC9Y,EAAOK,IACrBsc,EAAS,KAAKC,EAASb,EAAK/b,CAAK,EAAG+b,EAAK1b,CAAG,EAAGwc,CAAQ,CAC/D,CAAA,CAEL,CACA,SAASC,GAAqBC,EAAQ7B,EAAYC,EAAW,CAC3D,OAAO,YAAYjZ,EAAM,CACjB,MAAA4W,EAAS,KAAK,QACd8C,EAAY3B,GAAMnB,CAAM,EACxBkE,EAAc/J,GAAM2I,CAAS,EAC7BqB,EAASF,IAAW,WAAaA,IAAW,OAAO,UAAYC,EAC/DE,EAAYH,IAAW,QAAUC,EACjCG,EAAgBrE,EAAOiE,CAAM,EAAE,GAAG7a,CAAI,EACtC6Z,EAAOZ,EAAYM,GAAYP,EAAac,GAAaC,GAC/D,OAACf,GAAcrC,GACb+C,EACA,UACAsB,EAAY/E,GAAsBD,EAAA,EAE7B,CAEL,MAAO,CACL,KAAM,CAAE,MAAAlY,EAAO,KAAAod,CAAK,EAAID,EAAc,KAAK,EAC3C,OAAOC,EAAO,CAAE,MAAApd,EAAO,KAAAod,GAAS,CAC9B,MAAOH,EAAS,CAAClB,EAAK/b,EAAM,CAAC,CAAC,EAAG+b,EAAK/b,EAAM,CAAC,CAAC,CAAC,EAAI+b,EAAK/b,CAAK,EAC7D,KAAAod,CAAA,CAEJ,EAEA,CAAC,OAAO,QAAQ,GAAI,CACX,OAAA,IACT,CAAA,CACF,CAEJ,CACA,SAASC,GAAqBzd,EAAM,CAClC,OAAO,YAAYsC,EAAM,CAQvB,OAAOtC,IAAS,SAAW,GAAQA,IAAS,QAAU,OAAS,IAAA,CAEnE,CACA,SAAS0d,IAAyB,CAChC,MAAMC,EAA2B,CAC/B,IAAIld,EAAK,CACA,OAAAsb,GAAI,KAAMtb,CAAG,CACtB,EACA,IAAI,MAAO,CACT,OAAO8b,GAAK,IAAI,CAClB,EACA,IAAAD,GACA,IAAAE,GACA,IAAAC,GACA,OAAQE,GACR,MAAAC,GACA,QAASE,GAAc,GAAO,EAAK,CAAA,EAE/Bc,EAA2B,CAC/B,IAAInd,EAAK,CACP,OAAOsb,GAAI,KAAMtb,EAAK,GAAO,EAAI,CACnC,EACA,IAAI,MAAO,CACT,OAAO8b,GAAK,IAAI,CAClB,EACA,IAAAD,GACA,IAAAE,GACA,IAAAC,GACA,OAAQE,GACR,MAAAC,GACA,QAASE,GAAc,GAAO,EAAI,CAAA,EAE9Be,EAA4B,CAChC,IAAIpd,EAAK,CACA,OAAAsb,GAAI,KAAMtb,EAAK,EAAI,CAC5B,EACA,IAAI,MAAO,CACF,OAAA8b,GAAK,KAAM,EAAI,CACxB,EACA,IAAI9b,EAAK,CACP,OAAO6b,GAAI,KAAK,KAAM7b,EAAK,EAAI,CACjC,EACA,IAAKgd,GAAqB,KAAK,EAC/B,IAAKA,GAAqB,KAAK,EAC/B,OAAQA,GAAqB,QAAQ,EACrC,MAAOA,GAAqB,OAAO,EACnC,QAASX,GAAc,GAAM,EAAK,CAAA,EAE9BgB,EAAmC,CACvC,IAAIrd,EAAK,CACP,OAAOsb,GAAI,KAAMtb,EAAK,GAAM,EAAI,CAClC,EACA,IAAI,MAAO,CACF,OAAA8b,GAAK,KAAM,EAAI,CACxB,EACA,IAAI9b,EAAK,CACP,OAAO6b,GAAI,KAAK,KAAM7b,EAAK,EAAI,CACjC,EACA,IAAKgd,GAAqB,KAAK,EAC/B,IAAKA,GAAqB,KAAK,EAC/B,OAAQA,GAAqB,QAAQ,EACrC,MAAOA,GAAqB,OAAO,EACnC,QAASX,GAAc,GAAM,EAAI,CAAA,EAGnB,MADQ,CAAC,OAAQ,SAAU,UAAW,OAAO,QAAQ,EACrD,QAASK,GAAW,CAClCQ,EAAyBR,CAAM,EAAID,GACjCC,EACA,GACA,EAAA,EAEFU,EAA0BV,CAAM,EAAID,GAClCC,EACA,GACA,EAAA,EAEFS,EAAyBT,CAAM,EAAID,GACjCC,EACA,GACA,EAAA,EAEFW,EAAiCX,CAAM,EAAID,GACzCC,EACA,GACA,EAAA,CACF,CACD,EACM,CACLQ,EACAE,EACAD,EACAE,CAAA,CAEJ,CACA,KAAM,CACJC,GACAC,GACAC,GACAC,EACF,EAA2CR,GAAA,EAC3C,SAASS,GAA4B7C,EAAYX,EAAS,CACxD,MAAMP,EAAmBO,EAAUW,EAAa4C,GAAkCD,GAA0B3C,EAAa0C,GAA2BD,GAC7I,MAAA,CAAC7E,EAAQzY,EAAKga,IACfha,IAAQ,iBACH,CAAC6a,EACC7a,IAAQ,iBACV6a,EACE7a,IAAQ,UACVyY,EAEF,QAAQ,IACb/F,GAAOiH,EAAkB3Z,CAAG,GAAKA,KAAOyY,EAASkB,EAAmBlB,EACpEzY,EACAga,CAAA,CAGN,CACA,MAAM2D,GAA4B,CAChC,IAAiDD,GAAA,GAAO,EAAK,CAC/D,EACME,GAA4B,CAChC,IAAiDF,GAAA,GAAO,EAAI,CAC9D,EACMG,GAA6B,CACjC,IAAiDH,GAAA,GAAM,EAAK,CAC9D,EAcMpD,OAAkC,QAClCD,OAAyC,QACzCD,OAAkC,QAClCD,OAAyC,QAC/C,SAAS2D,GAAcC,EAAS,CAC9B,OAAQA,EAAS,CACf,IAAK,SACL,IAAK,QACI,MAAA,GACT,IAAK,MACL,IAAK,MACL,IAAK,UACL,IAAK,UACI,MAAA,GACT,QACS,MAAA,EACX,CACF,CACA,SAASC,GAAcre,EAAO,CAC5B,OAAOA,EAAM,UAAe,CAAC,OAAO,aAAaA,CAAK,EAAI,EAAkBme,GAAczK,GAAU1T,CAAK,CAAC,CAC5G,CACA,SAAS+a,GAASjC,EAAQ,CACpB,OAAAoC,GAAWpC,CAAM,EACZA,EAEFwF,GACLxF,EACA,GACAwC,GACA0C,GACArD,EAAA,CAEJ,CACA,SAAS4D,GAAgBzF,EAAQ,CACxB,OAAAwF,GACLxF,EACA,GACA0C,GACAyC,GACAvD,EAAA,CAEJ,CACA,SAASI,GAAShC,EAAQ,CACjB,OAAAwF,GACLxF,EACA,GACAyC,GACA2C,GACAzD,EAAA,CAEJ,CAUA,SAAS6D,GAAqBxF,EAAQwB,EAAakE,EAAcC,EAAoBC,EAAU,CAO7F,GANI,CAACnL,GAASuF,CAAM,GAMhBA,EAAO,SAAc,EAAEwB,GAAexB,EAAO,gBACxC,OAAAA,EAEH,MAAA6F,EAAgBD,EAAS,IAAI5F,CAAM,EACzC,GAAI6F,EACK,OAAAA,EAEH,MAAAC,EAAaP,GAAcvF,CAAM,EACvC,GAAI8F,IAAe,EACV,OAAA9F,EAET,MAAM+F,EAAQ,IAAI,MAChB/F,EACA8F,IAAe,EAAqBH,EAAqBD,CAAA,EAElD,OAAAE,EAAA,IAAI5F,EAAQ+F,CAAK,EACnBA,CACT,CACA,SAASC,GAAW9e,EAAO,CACrB,OAAAkb,GAAWlb,CAAK,EACX8e,GAAW9e,EAAM,OAAU,EAE7B,CAAC,EAAEA,GAASA,EAAM,eAC3B,CACA,SAASkb,GAAWlb,EAAO,CACzB,MAAO,CAAC,EAAEA,GAASA,EAAM,eAC3B,CACA,SAASmb,GAAUnb,EAAO,CACxB,MAAO,CAAC,EAAEA,GAASA,EAAM,cAC3B,CACA,SAAS+e,GAAQ/e,EAAO,CACtB,OAAO8e,GAAW9e,CAAK,GAAKkb,GAAWlb,CAAK,CAC9C,CACA,SAASia,GAAM4C,EAAU,CACjB,MAAAmC,EAAMnC,GAAYA,EAAS,QAC1B,OAAAmC,EAAM/E,GAAM+E,CAAG,EAAInC,CAC5B,CACA,SAASoC,GAAQjf,EAAO,CAClB,OAAA6U,GAAA7U,EAAO,WAAY,EAAI,EACpBA,CACT,CACA,MAAMic,GAAcjc,GAAUuT,GAASvT,CAAK,EAAI+a,GAAS/a,CAAK,EAAIA,EAC5Dgc,GAAchc,GAAUuT,GAASvT,CAAK,EAAI8a,GAAS9a,CAAK,EAAIA,EAElE,SAASkf,GAAcC,EAAM,CACvB5G,IAAeN,KACjBkH,EAAOlF,GAAMkF,CAAI,EAQfnG,GAAamG,EAAK,MAAQA,EAAK,IAAM/H,GAAY,EAAA,EAGvD,CACA,SAASgI,GAAgBD,EAAME,EAAQ,CACrCF,EAAOlF,GAAMkF,CAAI,EACjB,MAAM7H,EAAM6H,EAAK,IACb7H,GASAkC,GAAelC,CAAG,CAGxB,CACA,SAASuD,GAAMyE,EAAG,CAChB,MAAO,CAAC,EAAEA,GAAKA,EAAE,YAAc,GACjC,CACA,SAASC,GAAIvf,EAAO,CACX,OAAAwf,GAAUxf,EAAO,EAAK,CAC/B,CAIA,SAASwf,GAAUC,EAAUlF,EAAS,CAChC,OAAAM,GAAM4E,CAAQ,EACTA,EAEF,IAAIC,GAAQD,EAAUlF,CAAO,CACtC,CACA,MAAMmF,EAAQ,CACZ,YAAY1f,EAAO2f,EAAe,CAChC,KAAK,cAAgBA,EACrB,KAAK,IAAM,OACX,KAAK,UAAY,GACjB,KAAK,UAAYA,EAAgB3f,EAAQia,GAAMja,CAAK,EACpD,KAAK,OAAS2f,EAAgB3f,EAAQic,GAAWjc,CAAK,CACxD,CACA,IAAI,OAAQ,CACV,OAAAkf,GAAc,IAAI,EACX,KAAK,MACd,CACA,IAAI,MAAMG,EAAQ,CAChB,MAAMO,EAAiB,KAAK,eAAiBzE,GAAUkE,CAAM,GAAKnE,GAAWmE,CAAM,EAC1EA,EAAAO,EAAiBP,EAASpF,GAAMoF,CAAM,EAC3C7K,GAAW6K,EAAQ,KAAK,SAAS,IACnC,KAAK,UAAYA,EACjB,KAAK,OAASO,EAAiBP,EAASpD,GAAWoD,CAAM,EACzDD,GAAgB,IAAY,EAEhC,CACF,CAIA,SAASS,GAAMV,EAAM,CACnB,OAAOtE,GAAMsE,CAAI,EAAIA,EAAK,MAAQA,CACpC,CAIA,MAAMW,GAAwB,CAC5B,IAAK,CAAChH,EAAQzY,EAAKga,IAAawF,GAAM,QAAQ,IAAI/G,EAAQzY,EAAKga,CAAQ,CAAC,EACxE,IAAK,CAACvB,EAAQzY,EAAKL,EAAOqa,IAAa,CAC/B,MAAA5F,EAAWqE,EAAOzY,CAAG,EAC3B,OAAIwa,GAAMpG,CAAQ,GAAK,CAACoG,GAAM7a,CAAK,GACjCyU,EAAS,MAAQzU,EACV,IAEA,QAAQ,IAAI8Y,EAAQzY,EAAKL,EAAOqa,CAAQ,CAEnD,CACF,EACA,SAAS0F,GAAUC,EAAgB,CACjC,OAAOlB,GAAWkB,CAAc,EAAIA,EAAiB,IAAI,MAAMA,EAAgBF,EAAqB,CACtG,CAsBA,SAASG,GAAOtG,EAAQ,CAIhB,MAAAjE,EAAM1C,EAAQ2G,CAAM,EAAI,IAAI,MAAMA,EAAO,MAAM,EAAI,GACzD,UAAWtZ,KAAOsZ,EAChBjE,EAAIrV,CAAG,EAAI6f,GAAcvG,EAAQtZ,CAAG,EAE/B,OAAAqV,CACT,CACA,MAAMyK,EAAc,CAClB,YAAYC,EAASlK,EAAMmK,EAAe,CACxC,KAAK,QAAUD,EACf,KAAK,KAAOlK,EACZ,KAAK,cAAgBmK,EACrB,KAAK,UAAY,EACnB,CACA,IAAI,OAAQ,CACV,MAAMjO,EAAM,KAAK,QAAQ,KAAK,IAAI,EAC3B,OAAAA,IAAQ,OAAS,KAAK,cAAgBA,CAC/C,CACA,IAAI,MAAMiN,EAAQ,CACX,KAAA,QAAQ,KAAK,IAAI,EAAIA,CAC5B,CACA,IAAI,KAAM,CACR,OAAO3F,GAAmBO,GAAM,KAAK,OAAO,EAAG,KAAK,IAAI,CAC1D,CACF,CAsBA,SAASiG,GAActe,EAAQvB,EAAKigB,EAAc,CAC1C,MAAAlO,EAAMxQ,EAAOvB,CAAG,EACf,OAAAwa,GAAMzI,CAAG,EAAIA,EAAM,IAAI+N,GAAcve,EAAQvB,EAAKigB,CAAY,CACvE,CAEA,MAAMC,EAAgB,CACpB,YAAYC,EAAQC,EAASvF,EAAYwF,EAAO,CAC9C,KAAK,QAAUD,EACf,KAAK,IAAM,OACX,KAAK,UAAY,GACjB,KAAK,eAAoB,GACzB,KAAK,OAAS,GACd,KAAK,OAAS,IAAIrI,GAAeoI,EAAQ,IAAM,CACxC,KAAK,SACR,KAAK,OAAS,GACdpB,GAAgB,IAAI,EACtB,CACD,EACD,KAAK,OAAO,SAAW,KACvB,KAAK,OAAO,OAAS,KAAK,WAAa,CAACsB,EACxC,KAAK,eAAoBxF,CAC3B,CACA,IAAI,OAAQ,CACJ,MAAAyF,EAAO1G,GAAM,IAAI,EACvB,OAAAiF,GAAcyB,CAAI,GACdA,EAAK,QAAU,CAACA,EAAK,cACvBA,EAAK,OAAS,GACTA,EAAA,OAASA,EAAK,OAAO,IAAI,GAEzBA,EAAK,MACd,CACA,IAAI,MAAMvH,EAAU,CAClB,KAAK,QAAQA,CAAQ,CACvB,CACF,CACA,SAASwH,GAASC,EAAiBC,EAAcJ,EAAQ,GAAO,CAC1D,IAAAF,EACAO,EACE,MAAAC,EAAa5N,GAAWyN,CAAe,EAC7C,OAAIG,GACOR,EAAAK,EACTE,EAEIxO,KAEJiO,EAASK,EAAgB,IACzBE,EAASF,EAAgB,KAEd,IAAIN,GAAgBC,EAAQO,EAAQC,GAAc,CAACD,EAAQL,CAAK,CAM/E,CCt/BA,SAASO,GAAsBlN,EAAImN,EAAUthB,EAAMsC,EAAM,CACnD,IAAAiT,EACA,GAAA,CACFA,EAAMjT,EAAO6R,EAAG,GAAG7R,CAAI,EAAI6R,EAAG,QACvBpG,EAAK,CACAwT,GAAAxT,EAAKuT,EAAUthB,CAAI,CACjC,CACO,OAAAuV,CACT,CACA,SAASiM,GAA2BrN,EAAImN,EAAUthB,EAAMsC,EAAM,CACxD,GAAAkR,GAAWW,CAAE,EAAG,CAClB,MAAMoB,EAAM8L,GAAsBlN,EAAImN,EAAUthB,EAAMsC,CAAI,EACtD,OAAAiT,GAAO3B,GAAU2B,CAAG,GAClBA,EAAA,MAAOxH,GAAQ,CACLwT,GAAAxT,EAAKuT,EAAUthB,CAAI,CAAA,CAChC,EAEIuV,CACT,CACA,MAAMkM,EAAS,CAAA,EACf,QAASxgB,EAAI,EAAGA,EAAIkT,EAAG,OAAQlT,IACtBwgB,EAAA,KAAKD,GAA2BrN,EAAGlT,CAAC,EAAGqgB,EAAUthB,EAAMsC,CAAI,CAAC,EAE9D,OAAAmf,CACT,CACA,SAASF,GAAYxT,EAAKuT,EAAUthB,EAAM0hB,EAAa,GAAM,CACrD,MAAAC,EAAeL,EAAWA,EAAS,MAAQ,KACjD,GAAIA,EAAU,CACZ,IAAIM,EAAMN,EAAS,OACnB,MAAMO,EAAkBP,EAAS,MAC3BQ,EAAiF9hB,EACvF,KAAO4hB,GAAK,CACV,MAAMG,EAAqBH,EAAI,GAC/B,GAAIG,GACF,QAAS,EAAI,EAAG,EAAIA,EAAmB,OAAQ,IAC7C,GAAIA,EAAmB,CAAC,EAAEhU,EAAK8T,EAAiBC,CAAS,IAAM,GAC7D,OAINF,EAAMA,EAAI,MACZ,CACM,MAAAI,EAAkBV,EAAS,WAAW,OAAO,aACnD,GAAIU,EAAiB,CACnBX,GACEW,EACA,KACA,GACA,CAACjU,EAAK8T,EAAiBC,CAAS,CAAA,EAElC,MACF,CACF,CACSG,GAAAlU,EAAK/N,EAAM2hB,EAAcD,CAAU,CAC9C,CACA,SAASO,GAASlU,EAAK/N,EAAM2hB,EAAcD,EAAa,GAAM,CAgB1D,QAAQ,MAAM3T,CAAG,CAErB,CAEA,IAAImU,GAAa,GACbC,GAAiB,GACrB,MAAMC,GAAQ,CAAA,EACd,IAAIC,GAAa,EACjB,MAAMC,GAAsB,CAAA,EAC5B,IAAIC,GAAqB,KACrBC,GAAiB,EACrB,MAAMC,WAA0C,UAChD,IAAIC,GAAsB,KAE1B,SAASC,GAASxO,EAAI,CACpB,MAAMyO,EAAIF,IAAuBD,GAC1B,OAAAtO,EAAKyO,EAAE,KAAK,KAAOzO,EAAG,KAAK,IAAI,EAAIA,CAAE,EAAIyO,CAClD,CACA,SAASC,GAAmBC,EAAI,CAC9B,IAAIC,EAAQV,GAAa,EACrB/d,EAAM8d,GAAM,OAChB,KAAOW,EAAQze,GAAK,CACZ,MAAA0e,EAASD,EAAQze,IAAQ,EACzB2e,EAAYb,GAAMY,CAAM,EACxBE,EAAcC,GAAMF,CAAS,EAC/BC,EAAcJ,GAAMI,IAAgBJ,GAAMG,EAAU,IACtDF,EAAQC,EAAS,EAEX1e,EAAA0e,CAEV,CACO,OAAAD,CACT,CACA,SAASK,GAASC,EAAK,EACjB,CAACjB,GAAM,QAAU,CAACA,GAAM,SAC1BiB,EACAnB,IAAcmB,EAAI,aAAehB,GAAa,EAAIA,EAAA,KAE9CgB,EAAI,IAAM,KACZjB,GAAM,KAAKiB,CAAG,EAEdjB,GAAM,OAAOS,GAAmBQ,EAAI,EAAE,EAAG,EAAGA,CAAG,EAEtCC,KAEf,CACA,SAASA,IAAa,CAChB,CAACpB,IAAc,CAACC,KACDA,GAAA,GACKO,GAAAD,GAAgB,KAAKc,EAAS,EAExD,CACA,SAASC,GAAcH,EAAK,CACpB,MAAApiB,EAAImhB,GAAM,QAAQiB,CAAG,EACvBpiB,EAAIohB,IACAD,GAAA,OAAOnhB,EAAG,CAAC,CAErB,CACA,SAASwiB,GAAiBrW,EAAI,CACvBgG,EAAQhG,CAAE,EAQOkV,GAAA,KAAK,GAAGlV,CAAE,GAP1B,CAACmV,IAAsB,CAACA,GAAmB,SAC7CnV,EACAA,EAAG,aAAeoV,GAAiB,EAAIA,EAAA,IAEvCF,GAAoB,KAAKlV,CAAE,EAKpBkW,IACb,CACA,SAASI,GAAiBpC,EAAUqC,EAAM1iB,EAAIihB,GAAaG,GAAa,EAAI,EAAG,CAItE,KAAAphB,EAAImhB,GAAM,OAAQnhB,IAAK,CACtB,MAAAmM,EAAKgV,GAAMnhB,CAAC,EACd,GAAAmM,GAAMA,EAAG,IAAK,CAChB,GAAIkU,GAAYlU,EAAG,KAAOkU,EAAS,IACjC,SAKIc,GAAA,OAAOnhB,EAAG,CAAC,EACjBA,IACGmM,GACL,CACF,CACF,CACA,SAASwW,GAAkBD,EAAM,CAC/B,GAAIrB,GAAoB,OAAQ,CAC9B,MAAMuB,EAAU,CAAC,GAAG,IAAI,IAAIvB,EAAmB,CAAC,EAEhD,GADAA,GAAoB,OAAS,EACzBC,GAAoB,CACHA,GAAA,KAAK,GAAGsB,CAAO,EAClC,MACF,CAMA,IALqBtB,GAAAsB,EAIFtB,GAAA,KAAK,CAAC5T,EAAGC,IAAMuU,GAAMxU,CAAC,EAAIwU,GAAMvU,CAAC,CAAC,EAChD4T,GAAiB,EAAGA,GAAiBD,GAAmB,OAAQC,KAInED,GAAmBC,EAAc,IAEdD,GAAA,KACJC,GAAA,CACnB,CACF,CACA,MAAMW,GAASE,GAAQA,EAAI,IAAM,KAAO,IAAWA,EAAI,GACjDS,GAAa,CAACnV,EAAGC,IAAM,CAC3B,MAAMmV,EAAOZ,GAAMxU,CAAC,EAAIwU,GAAMvU,CAAC,EAC/B,GAAImV,IAAS,EAAG,CACV,GAAApV,EAAE,KAAO,CAACC,EAAE,IACP,MAAA,GACL,GAAAA,EAAE,KAAO,CAACD,EAAE,IACP,MAAA,EACX,CACO,OAAAoV,CACT,EACA,SAASR,GAAUI,EAAM,CACNxB,GAAA,GACJD,GAAA,GAIbE,GAAM,KAAK0B,EAAU,EAEjB,GAAA,CACF,IAAKzB,GAAa,EAAGA,GAAaD,GAAM,OAAQC,KAAc,CACtD,MAAAgB,EAAMjB,GAAMC,EAAU,EACxBgB,GAAOA,EAAI,SAAW,IAIFhC,GAAAgC,EAAK,KAAM,EAAE,CAEvC,CAAA,QACA,CACahB,GAAA,EACbD,GAAM,OAAS,EACfwB,GAAsB,EACT1B,GAAA,GACSQ,GAAA,MAClBN,GAAM,QAAUE,GAAoB,SACtCiB,GAAc,CAElB,CACF,CAsIA,IAAIS,GACAC,GAAS,CAAA,EACTC,GAAuB,GAC3B,SAASC,GAAO3T,KAAUlO,EAAM,CAC1B0hB,GACOA,GAAA,KAAKxT,EAAO,GAAGlO,CAAI,EAClB4hB,IACVD,GAAO,KAAK,CAAE,MAAAzT,EAAO,KAAAlO,CAAM,CAAA,CAE/B,CACA,SAAS8hB,GAAgBC,EAAMnL,EAAQ,CACrC,IAAIvC,EAAI2N,EACGN,GAAAK,EACPL,IACFA,GAAS,QAAU,GACZC,GAAA,QAAQ,CAAC,CAAE,MAAAzT,EAAO,KAAAlO,CAAA,IAAW0hB,GAAS,KAAKxT,EAAO,GAAGlO,CAAI,CAAC,EACjE2hB,GAAS,CAAA,GAKT,OAAO,OAAW,KAClB,OAAO,aACP,GAAGK,GAAM3N,EAAK,OAAO,YAAc,KAAO,OAASA,EAAG,YAAc,MAAgB2N,EAAG,SAAS,OAAO,KAExFpL,EAAO,6BAA+BA,EAAO,8BAAgC,CAAA,GACrF,KAAMqL,GAAY,CACvBH,GAAgBG,EAASrL,CAAM,CAAA,CAChC,EACD,WAAW,IAAM,CACV8K,KACH9K,EAAO,6BAA+B,KACfgL,GAAA,GACvBD,GAAS,CAAA,IAEV,GAAG,IAEiBC,GAAA,GACvBD,GAAS,CAAA,EAEb,CACA,SAASO,GAAgBC,EAAKtd,EAAS,CAC9Bgd,GAAA,WAA2BM,EAAKtd,EAAS,CAC9C,SAAAud,GACA,KAAAC,GACA,QAAAC,GACA,OAAAC,EAAA,CACD,CACH,CACA,SAASC,GAAmBL,EAAK,CAC/BN,GAAO,cAAiCM,CAAG,CAC7C,CACA,MAAMM,GAAyCC,GAC7C,iBACF,EACMC,GAA2CD,GAA4B,mBAA2C,EAClHE,GAA4CF,GAChD,mBACF,EACMG,GAA4BC,GAAc,CAC1CpB,IAAY,OAAOA,GAAS,eAAkB,YAClD,CAACA,GAAS,cAAcoB,CAAS,GAC/BF,GAA0BE,CAAS,CAEvC,EACA,SAASJ,GAA4BX,EAAM,CACzC,OAAQe,GAAc,CACpBjB,GACEE,EACAe,EAAU,WAAW,IACrBA,EAAU,IACVA,EAAU,OAASA,EAAU,OAAO,IAAM,OAC1CA,CAAA,CACF,CAEJ,CAYA,SAASC,GAAsBD,EAAW5U,EAAO8U,EAAQ,CACvDnB,GACE,iBACAiB,EAAU,WAAW,IACrBA,EACA5U,EACA8U,CAAA,CAEJ,CAEA,SAAS9d,GAAK8Z,EAAU9Q,KAAU+U,EAAS,CACzC,GAAIjE,EAAS,YACX,OACI,MAAAkE,EAAQlE,EAAS,MAAM,OAAS7O,GA0BtC,IAAInQ,EAAOijB,EACLzS,MAAAA,EAAkBtC,EAAM,WAAW,SAAS,EAC5CiV,EAAW3S,GAAmBtC,EAAM,MAAM,CAAC,EAC7C,GAAAiV,GAAYA,KAAYD,EAAO,CACjC,MAAME,EAAe,GAAGD,IAAa,aAAe,QAAUA,CAAQ,YAChE,CAAE,OAAAE,EAAQ,KAAAC,CAAA,EAASJ,EAAME,CAAY,GAAKjT,GAC5CmT,IACKtjB,EAAAijB,EAAQ,IAAK5W,GAAM8E,GAAS9E,CAAC,EAAIA,EAAE,KAAK,EAAIA,CAAC,GAElDgX,IACKrjB,EAAAijB,EAAQ,IAAIrQ,EAAa,EAEpC,CAEwBmQ,GAAA/D,EAAU9Q,EAAOlO,CAAI,EAazC,IAAAujB,EACAC,EAAUN,EAAMK,EAAclR,GAAanE,CAAK,CAAC,GACrDgV,EAAMK,EAAclR,GAAaL,GAAS9D,CAAK,CAAC,CAAC,EAC7C,CAACsV,GAAWhT,IACdgT,EAAUN,EAAMK,EAAclR,GAAaF,GAAUjE,CAAK,CAAC,CAAC,GAE1DsV,GACFtE,GACEsE,EACAxE,EACA,EACAhf,CAAA,EAGE,MAAAyjB,EAAcP,EAAMK,EAAc,MAAM,EAC9C,GAAIE,EAAa,CACX,GAAA,CAACzE,EAAS,QACZA,EAAS,QAAU,WACVA,EAAS,QAAQuE,CAAW,EACrC,OAEOvE,EAAA,QAAQuE,CAAW,EAAI,GAChCrE,GACEuE,EACAzE,EACA,EACAhf,CAAA,CAEJ,CACF,CACA,SAAS0jB,GAAsBC,EAAMC,EAAYC,EAAU,GAAO,CAChE,MAAM/R,EAAQ8R,EAAW,WACnBE,EAAShS,EAAM,IAAI6R,CAAI,EAC7B,GAAIG,IAAW,OACN,OAAAA,EAET,MAAMhH,EAAM6G,EAAK,MACjB,IAAIzQ,EAAa,CAAA,EACb6Q,EAAa,GACU,GAAA,CAAC7S,GAAWyS,CAAI,EAAG,CACtC,MAAAK,EAAeC,GAAS,CAC5B,MAAMC,EAAuBR,GAAsBO,EAAML,EAAY,EAAI,EACrEM,IACWH,EAAA,GACbtT,GAAOyC,EAAYgR,CAAoB,EACzC,EAEE,CAACL,GAAWD,EAAW,OAAO,QACrBA,EAAA,OAAO,QAAQI,CAAW,EAEnCL,EAAK,SACPK,EAAYL,EAAK,OAAO,EAEtBA,EAAK,QACFA,EAAA,OAAO,QAAQK,CAAW,CAEnC,CACI,MAAA,CAAClH,GAAO,CAACiH,GACP1S,GAASsS,CAAI,GACT7R,EAAA,IAAI6R,EAAM,IAAI,EAEf,OAEL7S,EAAQgM,CAAG,EACbA,EAAI,QAAS3e,GAAQ+U,EAAW/U,CAAG,EAAI,IAAI,EAE3CsS,GAAOyC,EAAY4J,CAAG,EAEpBzL,GAASsS,CAAI,GACT7R,EAAA,IAAI6R,EAAMzQ,CAAU,EAErBA,EACT,CACA,SAASiR,GAAerlB,EAASX,EAAK,CACpC,MAAI,CAACW,GAAW,CAACyR,GAAKpS,CAAG,EAChB,IAETA,EAAMA,EAAI,MAAM,CAAC,EAAE,QAAQ,QAAS,EAAE,EAC/B0S,GAAO/R,EAASX,EAAI,CAAC,EAAE,YAAY,EAAIA,EAAI,MAAM,CAAC,CAAC,GAAK0S,GAAO/R,EAASqT,GAAUhU,CAAG,CAAC,GAAK0S,GAAO/R,EAASX,CAAG,EACvH,CAEA,IAAIimB,GAA2B,KAC3BC,GAAiB,KACrB,SAASC,GAA4BtF,EAAU,CAC7C,MAAMuF,EAAOH,GACc,OAAAA,GAAApF,EACVqF,GAAArF,GAAYA,EAAS,KAAK,WAAa,KACjDuF,CACT,CAQA,SAASC,GAAQ3S,EAAI4S,EAAML,GAA0BM,EAAiB,CAGpE,GAFI,CAACD,GAED5S,EAAG,GACE,OAAAA,EAEH,MAAA8S,EAAsB,IAAI3kB,IAAS,CACnC2kB,EAAoB,IACtBC,GAAiB,EAAE,EAEf,MAAAC,EAAeP,GAA4BG,CAAG,EAChD,IAAAxR,EACA,GAAA,CACIA,EAAApB,EAAG,GAAG7R,CAAI,CAAA,QAChB,CACAskB,GAA4BO,CAAY,EACpCF,EAAoB,IACtBC,GAAiB,CAAC,CAEtB,CAEE,OAAAjC,GAAyB8B,CAAG,EAEvBxR,CAAA,EAET,OAAA0R,EAAoB,GAAK,GACzBA,EAAoB,GAAK,GACzBA,EAAoB,GAAK,GAClBA,CACT,CAMA,SAASG,GAAoB9F,EAAU,CAC/B,KAAA,CACJ,KAAM+F,EACN,MAAAC,EACA,MAAArI,EACA,UAAAsI,EACA,MAAA/B,EACA,aAAc,CAACgC,CAAY,EAC3B,MAAAC,EACA,MAAAC,EACA,KAAAlgB,EACA,OAAAmgB,EACA,YAAAC,EACA,KAAA9b,EACA,WAAA+b,EACA,IAAAd,EACA,aAAAe,CACE,EAAAxG,EACA,IAAA9gB,EACAunB,EACE,MAAAlB,EAAOD,GAA4BtF,CAAQ,EAI7C,GAAA,CACE,GAAAgG,EAAM,UAAY,EAAG,CACvB,MAAMU,EAAaT,GAAatI,EAC1BgJ,GASDD,EACIxnB,EAAA0nB,GACPP,EAAO,KACLM,GACAD,EACAJ,EACApC,EACAqC,EACA/b,EACAib,CACF,CAAA,EAEiBgB,EAAAL,CAAA,KACd,CACL,MAAMS,EAAUd,EAIP7mB,EAAA0nB,GACPC,EAAQ,OAAS,EAAIA,EACnB3C,EAQI,CAAE,MAAAkC,EAAO,MAAAD,EAAO,KAAAjgB,CAAK,CAAA,EACvB2gB,EACF3C,EACA,IAEF,CAAA,EAEFuC,EAAmBV,EAAU,MAAQK,EAAQU,GAAyBV,CAAK,CAC7E,QACO3Z,EAAK,CACZsa,GAAW,OAAS,EACR9G,GAAAxT,EAAKuT,EAAU,CAAC,EAC5B9gB,EAAS8nB,EAAY1D,EAAO,CAC9B,CACA,IAAI2D,EAAO/nB,EAKP,GAAAunB,GAAoBD,IAAiB,GAAO,CACxC,MAAAU,EAAO,OAAO,KAAKT,CAAgB,EACnC,CAAE,UAAAU,EAAc,EAAAF,EAClBC,EAAK,QACHC,GAAa,IACXjB,GAAgBgB,EAAK,KAAK1V,EAAe,IACxBiV,EAAAW,GACjBX,EACAP,CAAA,GAGGe,EAAAI,GAAWJ,EAAMR,CAAgB,EA2B9C,CACA,OAAIT,EAAM,OAMRiB,EAAOI,GAAWJ,CAAI,EACjBA,EAAA,KAAOA,EAAK,KAAOA,EAAK,KAAK,OAAOjB,EAAM,IAAI,EAAIA,EAAM,MAE3DA,EAAM,aAMRiB,EAAK,WAAajB,EAAM,YAKf9mB,EAAA+nB,EAEX3B,GAA4BC,CAAI,EACzBrmB,CACT,CAwCA,MAAM4nB,GAA4BV,GAAU,CACtC,IAAAnS,EACJ,UAAW9U,KAAOinB,GACZjnB,IAAQ,SAAWA,IAAQ,SAAWoS,GAAKpS,CAAG,MAC/C8U,IAAQA,EAAM,KAAK9U,CAAG,EAAIinB,EAAMjnB,CAAG,GAGjC,OAAA8U,CACT,EACMmT,GAAuB,CAAChB,EAAOlC,IAAU,CAC7C,MAAMjQ,EAAM,CAAA,EACZ,UAAW9U,KAAOinB,GACZ,CAAC5U,GAAgBrS,CAAG,GAAK,EAAEA,EAAI,MAAM,CAAC,IAAK+kB,MACzCjQ,EAAA9U,CAAG,EAAIinB,EAAMjnB,CAAG,GAGjB,OAAA8U,CACT,EAIA,SAASqT,GAAsBC,EAAWC,EAAWC,EAAW,CAC9D,KAAM,CAAE,MAAOC,EAAW,SAAUC,EAAc,UAAA7D,CAAc,EAAAyD,EAC1D,CAAE,MAAOK,EAAW,SAAUC,EAAc,UAAAC,CAAc,EAAAN,EAC1DO,EAAQjE,EAAU,aAIpB,GAAA0D,EAAU,MAAQA,EAAU,WACvB,MAAA,GAEL,GAAAC,GAAaK,GAAa,EAAG,CAC/B,GAAIA,EAAY,KACP,MAAA,GAET,GAAIA,EAAY,GACd,OAAKJ,EAGEM,GAAgBN,EAAWE,EAAWG,CAAK,EAFzC,CAAC,CAACH,EAGb,GAAWE,EAAY,EAAG,CACxB,MAAMG,EAAeT,EAAU,aAC/B,QAAS7nB,EAAI,EAAGA,EAAIsoB,EAAa,OAAQtoB,IAAK,CACtC,MAAAR,EAAM8oB,EAAatoB,CAAC,EACtB,GAAAioB,EAAUzoB,CAAG,IAAMuoB,EAAUvoB,CAAG,GAAK,CAACgmB,GAAe4C,EAAO5oB,CAAG,EAC1D,MAAA,EAEX,CACF,CAAA,KAEA,QAAIwoB,GAAgBE,KACd,CAACA,GAAgB,CAACA,EAAa,SAC1B,GAGPH,IAAcE,EACT,GAEJF,EAGAE,EAGEI,GAAgBN,EAAWE,EAAWG,CAAK,EAFzC,GAHA,CAAC,CAACH,EAON,MAAA,EACT,CACA,SAASI,GAAgBN,EAAWE,EAAWM,EAAc,CACrD,MAAAC,EAAW,OAAO,KAAKP,CAAS,EACtC,GAAIO,EAAS,SAAW,OAAO,KAAKT,CAAS,EAAE,OACtC,MAAA,GAET,QAAS/nB,EAAI,EAAGA,EAAIwoB,EAAS,OAAQxoB,IAAK,CAClC,MAAAR,EAAMgpB,EAASxoB,CAAC,EAClB,GAAAioB,EAAUzoB,CAAG,IAAMuoB,EAAUvoB,CAAG,GAAK,CAACgmB,GAAe+C,EAAc/oB,CAAG,EACjE,MAAA,EAEX,CACO,MAAA,EACT,CACA,SAASipB,GAAgB,CAAE,MAAApC,EAAO,OAAA5hB,CAAA,EAAU7D,EAAI,CACvC,KAAA6D,GAAUA,EAAO,UAAY4hB,IACjCA,EAAQ5hB,EAAO,OAAO,GAAK7D,EAC5B6D,EAASA,EAAO,MAEpB,CAEA,MAAMikB,GAAa,aAEnB,SAASC,GAAiB9pB,EAAM+pB,EAAoB,CAClD,OAAOC,GAAaH,GAAY7pB,EAAM,GAAM+pB,CAAkB,GAAK/pB,CACrE,CACA,MAAMiqB,GAAyB,OAAO,IAAI,OAAO,EAWjD,SAASD,GAAa9pB,EAAMF,EAAMkqB,EAAc,GAAMH,EAAqB,GAAO,CAChF,MAAMvI,EAAWoF,IAA4BuD,GAC7C,GAAI3I,EAAU,CACZ,MAAM+F,EAAY/F,EAAS,KAC3B,GAAIthB,IAAS2pB,GAAY,CACvB,MAAMO,EAAWC,GACf9C,EACA,EAAA,EAGF,GAAI6C,IAAaA,IAAapqB,GAAQoqB,IAAa5V,GAASxU,CAAI,GAAKoqB,IAAaxV,GAAWJ,GAASxU,CAAI,CAAC,GAClG,OAAAunB,CAEX,CACM,MAAA9R,EAGJ6U,GAAQ9I,EAASthB,CAAI,GAAKqnB,EAAUrnB,CAAI,EAAGF,CAAI,GAC/CsqB,GAAQ9I,EAAS,WAAWthB,CAAI,EAAGF,CAAI,EAErC,MAAA,CAACyV,GAAOsU,EACHxC,EAOF9R,CAKT,CACF,CACA,SAAS6U,GAAQC,EAAUvqB,EAAM,CAC/B,OAAOuqB,IAAaA,EAASvqB,CAAI,GAAKuqB,EAAS/V,GAASxU,CAAI,CAAC,GAAKuqB,EAAS3V,GAAWJ,GAASxU,CAAI,CAAC,CAAC,EACvG,CAEA,MAAMwqB,GAActqB,GAASA,EAAK,aAsiBlC,SAASuqB,GAAwBpW,EAAIqW,EAAU,CACzCA,GAAYA,EAAS,cACnBpX,EAAQe,CAAE,EACHqW,EAAA,QAAQ,KAAK,GAAGrW,CAAE,EAElBqW,EAAA,QAAQ,KAAKrW,CAAE,EAG1BsP,GAAiBtP,CAAE,CAEvB,CAgCA,MAAMsW,GAAwB,CAAA,EAC9B,SAASC,GAAM1oB,EAAQoL,EAAIhM,EAAS,CAM3B,OAAAupB,GAAQ3oB,EAAQoL,EAAIhM,CAAO,CACpC,CACA,SAASupB,GAAQ3oB,EAAQoL,EAAI,CAAE,UAAAwd,EAAW,KAAAC,EAAM,MAAAC,EAAO,QAAAC,EAAS,UAAAC,CAAU,EAAIvY,GAAW,CACnF,IAAAkE,EAoBE,MAAA2K,EAAWhK,SAAwBX,EAAKsT,KAAoB,KAAO,OAAStT,EAAG,OAASsT,GAAkB,KAC5G,IAAArJ,EACAqK,EAAe,GACfC,EAAgB,GA4CpB,GA3CIjQ,GAAMjZ,CAAM,GACd4e,EAAS,IAAM5e,EAAO,MACtBipB,EAAeE,GAAYnpB,CAAM,GACxBkd,GAAWld,CAAM,GAC1B4e,EAAS,IAAM5e,EACR6oB,EAAA,IACEzX,EAAQpR,CAAM,GACPkpB,EAAA,GACDD,EAAAjpB,EAAO,KAAMoG,GAAM8W,GAAW9W,CAAC,GAAK+iB,GAAY/iB,CAAC,CAAC,EACjEwY,EAAS,IAAM5e,EAAO,IAAKoG,GAAM,CAC3B,GAAA6S,GAAM7S,CAAC,EACT,OAAOA,EAAE,MACX,GAAW8W,GAAW9W,CAAC,EACrB,OAAOgjB,GAAShjB,CAAC,EACnB,GAAWoL,GAAWpL,CAAC,EACd,OAAAiZ,GAAsBjZ,EAAGkZ,EAAU,CAAC,CAG7C,CACD,GACQ9N,GAAWxR,CAAM,EACtBoL,EACFwT,EAAS,IAAMS,GAAsBrf,EAAQsf,EAAU,CAAC,EAExDV,EAAS,IAAM,CACT,GAAA,EAAAU,GAAYA,EAAS,aAGzB,OAAI+J,GACMA,IAEH7J,GACLxf,EACAsf,EACA,EACA,CAACgK,CAAS,CAAA,CACZ,EAIK1K,EAAAjO,GAGPvF,GAAMyd,EAAM,CACd,MAAMU,EAAa3K,EACVA,EAAA,IAAMwK,GAASG,EAAA,CAAY,CACtC,CACI,IAAAF,EACAC,EAAanX,GAAO,CACZkD,EAAAA,EAAO,OAAS,IAAM,CACRgK,GAAAlN,EAAImN,EAAU,CAAC,EACrC+J,EAAUhU,EAAO,OAAS,MAAA,CAC5B,EAEEmU,EACJ,GAAIC,GAWF,GAVYH,EAAA3Y,GACPvF,EAEMwd,GACkBpJ,GAAApU,EAAIkU,EAAU,EAAG,CAC1CV,EAAO,EACPsK,EAAgB,CAAK,EAAA,OACrBI,CAAA,CACD,EANM1K,IAQLkK,IAAU,OAAQ,CACpB,MAAM/D,EAAM2E,KACZF,EAAazE,EAAI,mBAAqBA,EAAI,iBAAmB,CAAC,EAAA,KAEvD,QAAApU,GAGP,IAAAkC,EAAWqW,EAAgB,IAAI,MAAMlpB,EAAO,MAAM,EAAE,KAAKyoB,EAAqB,EAAIA,GACtF,MAAMpH,EAAM,IAAM,CACZ,GAAChM,EAAO,OAGZ,GAAIjK,EAAI,CACA,MAAAoM,EAAWnC,EAAO,OACpBwT,GAAQI,IAAiBC,EAAgB1R,EAAS,KAAK,CAAC9C,GAAGzV,KAAM2T,GAAW8B,GAAG7B,EAAS5T,EAAC,CAAC,CAAC,EAAI2T,GAAW4E,EAAU3E,CAAQ,MAC1HwW,GACMA,IAEiB7J,GAAApU,EAAIkU,EAAU,EAAG,CAC1C9H,EAEA3E,IAAa4V,GAAwB,OAASS,GAAiBrW,EAAS,CAAC,IAAM4V,GAAwB,CAAA,EAAK5V,EAC5GyW,CAAA,CACD,EACUzW,EAAA2E,EACb,MAEAnC,EAAO,IAAI,CACb,EAEEgM,EAAA,aAAe,CAAC,CAACjW,EACjB,IAAAqL,EACAqS,IAAU,OACArS,EAAA4K,EACHyH,IAAU,OACnBrS,EAAY,IAAMkT,GAAsBtI,EAAK/B,GAAYA,EAAS,QAAQ,GAE1E+B,EAAI,IAAM,GACN/B,IACF+B,EAAI,GAAK/B,EAAS,KACR7I,EAAA,IAAM2K,GAASC,CAAG,GAEhC,MAAMhM,EAAS,IAAImB,GAAeoI,EAAQnI,CAAS,EAK/CrL,EACEwd,EACEvH,IAEJxO,EAAWwC,EAAO,MAEXyT,IAAU,OACnBa,GACEtU,EAAO,IAAI,KAAKA,CAAM,EACtBiK,GAAYA,EAAS,QAAA,EAGvBjK,EAAO,IAAI,EAEb,MAAMuU,EAAU,IAAM,CACpBvU,EAAO,KAAK,EACRiK,GAAYA,EAAS,OAChBtO,GAAAsO,EAAS,MAAM,QAASjK,CAAM,CACvC,EAEE,OAAAmU,GACFA,EAAW,KAAKI,CAAO,EAClBA,CACT,CACA,SAASC,GAAc7pB,EAAQ5B,EAAOgB,EAAS,CAC7C,MAAM0qB,EAAa,KAAK,MAClBlL,EAASnN,GAASzR,CAAM,EAAIA,EAAO,SAAS,GAAG,EAAI+pB,GAAiBD,EAAY9pB,CAAM,EAAI,IAAM8pB,EAAW9pB,CAAM,EAAIA,EAAO,KAAK8pB,EAAYA,CAAU,EACzJ,IAAA1e,EACAoG,GAAWpT,CAAK,EACbgN,EAAAhN,GAELgN,EAAKhN,EAAM,QACDgB,EAAAhB,GAEZ,MAAMwhB,EAAMqI,GACZ+B,GAAmB,IAAI,EACvB,MAAMzW,EAAMoV,GAAQ/J,EAAQxT,EAAG,KAAK0e,CAAU,EAAG1qB,CAAO,EACxD,OAAIwgB,EACFoK,GAAmBpK,CAAG,EAEDqK,KAEhB1W,CACT,CACA,SAASwW,GAAiBhF,EAAKmF,EAAM,CAC7B,MAAAC,EAAWD,EAAK,MAAM,GAAG,EAC/B,MAAO,IAAM,CACX,IAAItK,EAAMmF,EACV,QAAS9lB,EAAI,EAAGA,EAAIkrB,EAAS,QAAUvK,EAAK3gB,IACpC2gB,EAAAA,EAAIuK,EAASlrB,CAAC,CAAC,EAEhB,OAAA2gB,CAAA,CAEX,CACA,SAASwJ,GAAShrB,EAAOujB,EAAM,CAKzB,GAJA,CAAChQ,GAASvT,CAAK,GAAKA,EAAM,WAGvBujB,EAAAA,OAA4B,IAC/BA,EAAK,IAAIvjB,CAAK,GACT,OAAAA,EAGL,GADJujB,EAAK,IAAIvjB,CAAK,EACV6a,GAAM7a,CAAK,EACJgrB,GAAAhrB,EAAM,MAAOujB,CAAI,UACjBvQ,EAAQhT,CAAK,EACtB,QAASa,EAAI,EAAGA,EAAIb,EAAM,OAAQa,IACvBmqB,GAAAhrB,EAAMa,CAAC,EAAG0iB,CAAI,UAEhBpQ,GAAMnT,CAAK,GAAKiT,GAAMjT,CAAK,EAC9BA,EAAA,QAASsW,GAAM,CACnB0U,GAAS1U,EAAGiN,CAAI,CAAA,CACjB,UACQ5P,GAAc3T,CAAK,EAC5B,UAAWK,KAAOL,EACPgrB,GAAAhrB,EAAMK,CAAG,EAAGkjB,CAAI,EAGtB,OAAAvjB,CACT,CAuCA,SAASgsB,GAAoB9E,EAAOuB,EAAWvH,EAAUxhB,EAAM,CAC7D,MAAMusB,EAAW/E,EAAM,KACjBgF,EAAczD,GAAaA,EAAU,KAC3C,QAAS5nB,EAAI,EAAGA,EAAIorB,EAAS,OAAQprB,IAAK,CAClC,MAAAsrB,EAAUF,EAASprB,CAAC,EACtBqrB,IACMC,EAAA,SAAWD,EAAYrrB,CAAC,EAAE,OAEhC,IAAAojB,EAAOkI,EAAQ,IAAIzsB,CAAI,EACvBukB,IACYtL,KACayI,GAAA6C,EAAM/C,EAAU,EAAG,CAC5CgG,EAAM,GACNiF,EACAjF,EACAuB,CAAA,CACD,EACa7P,KAElB,CACF,CA8UA,2BAEA,SAASwT,GAAgBprB,EAASqrB,EAAc,CAC9C,OAAOjZ,GAAWpS,CAAO,EAGA2R,GAAO,CAAE,KAAM3R,EAAQ,MAAQqrB,EAAc,CAAE,MAAOrrB,CAAQ,CAAC,EACpFA,CACN,CAEA,MAAMsrB,GAAkBzrB,GAAM,CAAC,CAACA,EAAE,KAAK,cA2IjC0rB,GAAerF,GAAUA,EAAM,KAAK,cA0M1C,SAASsF,GAAYvI,EAAMnL,EAAQ,CACX2T,GAAAxI,EAAM,IAAKnL,CAAM,CACzC,CACA,SAAS4T,GAAczI,EAAMnL,EAAQ,CACb2T,GAAAxI,EAAM,KAAMnL,CAAM,CAC1C,CACA,SAAS2T,GAAsBxI,EAAMrkB,EAAMkZ,EAAS+Q,GAAiB,CACnE,MAAM8C,EAAc1I,EAAK,QAAUA,EAAK,MAAQ,IAAM,CACpD,IAAI3W,EAAUwL,EACd,KAAOxL,GAAS,CACd,GAAIA,EAAQ,cACV,OAEFA,EAAUA,EAAQ,MACpB,CACA,OAAO2W,EAAK,CAAA,GAGd,GADW2I,GAAAhtB,EAAM+sB,EAAa7T,CAAM,EAChCA,EAAQ,CACV,IAAIxL,EAAUwL,EAAO,OACd,KAAAxL,GAAWA,EAAQ,QACpBif,GAAYjf,EAAQ,OAAO,KAAK,GACZuf,GAAAF,EAAa/sB,EAAMkZ,EAAQxL,CAAO,EAE1DA,EAAUA,EAAQ,MAEtB,CACF,CACA,SAASuf,GAAsB5I,EAAMrkB,EAAMkZ,EAAQgU,EAAe,CAChE,MAAMC,EAAWH,GACfhtB,EACAqkB,EACA6I,EACA,EAAA,EAGFE,GAAY,IAAM,CACTpa,GAAAka,EAAcltB,CAAI,EAAGmtB,CAAQ,GACnCjU,CAAM,CACX,CASA,SAAS8T,GAAWhtB,EAAMqkB,EAAMnL,EAAS+Q,GAAiBoD,EAAU,GAAO,CACzE,GAAInU,EAAQ,CACV,MAAMoU,EAAQpU,EAAOlZ,CAAI,IAAMkZ,EAAOlZ,CAAI,EAAI,CAAA,GACxC+sB,EAAc1I,EAAK,QAAUA,EAAK,MAAQ,IAAI/hB,IAAS,CAC3D,GAAI4W,EAAO,YACT,OAEYH,KACdiT,GAAmB9S,CAAM,EACzB,MAAM3D,EAAMiM,GAA2B6C,EAAMnL,EAAQlZ,EAAMsC,CAAI,EAC1C,OAAA2pB,KACPjT,KACPzD,CAAA,GAET,OAAI8X,EACFC,EAAM,QAAQP,CAAW,EAEzBO,EAAM,KAAKP,CAAW,EAEjBA,CAMT,CACF,CACA,MAAMQ,GAAcC,GAAc,CAACnJ,EAAMnL,EAAS+Q,MAE/C,CAACwB,IAAyB+B,IAAc,OAASR,GAAWQ,EAAW,IAAIlrB,IAAS+hB,EAAK,GAAG/hB,CAAI,EAAG4W,CAAM,EAEtGuU,GAAgBF,GAAW,IAAI,EAC/BG,GAAYH,GAAW,GAAG,EAC1BI,GAAiBJ,GAAW,IAAI,EAChCK,GAAYL,GAAW,GAAG,EAC1BM,GAAkBN,GAAW,KAAK,EAClCH,GAAcG,GAAW,IAAI,EAC7BO,GAAmBP,GAAW,IAAI,EAClCQ,GAAoBR,GACxB,KACF,EACMS,GAAkBT,GACtB,KACF,EACA,SAASU,GAAgB5J,EAAMnL,EAAS+Q,GAAiB,CAC5C+C,GAAA,KAAM3I,EAAMnL,CAAM,CAC/B,CAEA,SAASgV,GAAWlsB,EAAQmsB,EAAY/Z,EAAO7L,EAAO,CAChD,IAAAuN,EACE,MAAAsQ,EAAShS,GAASA,EAAM7L,CAAK,EACnC,GAAI6K,EAAQpR,CAAM,GAAKyR,GAASzR,CAAM,EAAG,CACjC8T,EAAA,IAAI,MAAM9T,EAAO,MAAM,EAC7B,QAASf,EAAI,EAAGgW,EAAIjV,EAAO,OAAQf,EAAIgW,EAAGhW,IACpC6U,EAAA7U,CAAC,EAAIktB,EAAWnsB,EAAOf,CAAC,EAAGA,EAAG,OAAQmlB,GAAUA,EAAOnlB,CAAC,CAAC,CAC/D,SACS,OAAOe,GAAW,SAAU,CAI/B8T,EAAA,IAAI,MAAM9T,CAAM,EACtB,QAASf,EAAI,EAAGA,EAAIe,EAAQf,IACtB6U,EAAA7U,CAAC,EAAIktB,EAAWltB,EAAI,EAAGA,EAAG,OAAQmlB,GAAUA,EAAOnlB,CAAC,CAAC,CAC3D,SACS0S,GAAS3R,CAAM,EACpB,GAAAA,EAAO,OAAO,QAAQ,EACxB8T,EAAM,MAAM,KACV9T,EACA,CAAC2L,EAAM1M,IAAMktB,EAAWxgB,EAAM1M,EAAG,OAAQmlB,GAAUA,EAAOnlB,CAAC,CAAC,CAAA,MAEzD,CACC,MAAAunB,EAAO,OAAO,KAAKxmB,CAAM,EACzB8T,EAAA,IAAI,MAAM0S,EAAK,MAAM,EAC3B,QAASvnB,EAAI,EAAGgW,EAAIuR,EAAK,OAAQvnB,EAAIgW,EAAGhW,IAAK,CACrC,MAAAR,EAAM+nB,EAAKvnB,CAAC,EACd6U,EAAA7U,CAAC,EAAIktB,EAAWnsB,EAAOvB,CAAG,EAAGA,EAAKQ,EAAGmlB,GAAUA,EAAOnlB,CAAC,CAAC,CAC9D,CACF,MAEA6U,EAAM,CAAA,EAER,OAAI1B,IACFA,EAAM7L,CAAK,EAAIuN,GAEVA,CACT,CAqBA,SAASsY,GAAW3G,EAAO3nB,EAAM0lB,EAAQ,CAAC,EAAG6I,EAAUC,EAAW,CAC5D,GAAA5H,GAAyB,MAAQA,GAAyB,QAAUgG,GAAehG,GAAyB,MAAM,GAAKA,GAAyB,OAAO,KACzJ,OAAI5mB,IAAS,YACX0lB,EAAM,KAAO1lB,GACRwoB,EAAY,OAAQ9C,EAAO6I,GAAYA,EAAU,CAAA,EAEtD,IAAAE,EAAO9G,EAAM3nB,CAAI,EAOjByuB,GAAQA,EAAK,KACfA,EAAK,GAAK,IAEFC,IACV,MAAMC,EAAmBF,GAAQG,GAAiBH,EAAK/I,CAAK,CAAC,EACvDmJ,EAAWC,GACflK,GACA,CACE,IAAKc,EAAM,KAEXiJ,GAAoBA,EAAiB,KAAO,IAAI3uB,CAAI,EACtD,EACA2uB,IAAqBJ,EAAWA,EAAS,EAAI,IAC7CI,GAAoBhH,EAAM,IAAM,EAAI,GAAK,EAAA,EAEvC,MAAA,CAAC6G,GAAaK,EAAS,UACzBA,EAAS,aAAe,CAACA,EAAS,QAAU,IAAI,GAE9CJ,GAAQA,EAAK,KACfA,EAAK,GAAK,IAELI,CACT,CACA,SAASD,GAAiBG,EAAQ,CACzB,OAAAA,EAAO,KAAMjtB,GACbktB,GAAQltB,CAAK,EAEd,EAAAA,EAAM,OAASgjB,IAEfhjB,EAAM,OAAS8iB,IAAY,CAACgK,GAAiB9sB,EAAM,QAAQ,GAHtD,EAMV,EAAIitB,EAAS,IAChB,CAcA,MAAME,GAAqB9tB,GACpBA,EAED+tB,GAAoB/tB,CAAC,EAChBguB,GAAehuB,CAAC,GAAKA,EAAE,MACzB8tB,GAAkB9tB,EAAE,MAAM,EAHxB,KAKLiuB,GAGmCnc,GAAA,OAAO,OAAO,IAAI,EAAG,CAC1D,EAAI9R,GAAMA,EACV,IAAMA,GAAMA,EAAE,MAAM,GACpB,MAAQA,GAAMA,EAAE,KAChB,OAASA,GAA6EA,EAAE,MACxF,OAASA,GAA6EA,EAAE,MACxF,OAASA,GAA6EA,EAAE,MACxF,MAAQA,GAA4EA,EAAE,KACtF,QAAUA,GAAM8tB,GAAkB9tB,EAAE,MAAM,EAC1C,MAAQA,GAAM8tB,GAAkB9tB,EAAE,IAAI,EACtC,MAAQA,GAAMA,EAAE,KAChB,SAAWA,GAA4BkuB,GAAqBluB,CAAC,EAC7D,aAAeA,GAAMA,EAAE,IAAMA,EAAE,EAAI,IAAMmiB,GAASniB,EAAE,MAAM,GAC1D,UAAYA,GAAMA,EAAE,IAAMA,EAAE,EAAI0hB,GAAS,KAAK1hB,EAAE,KAAK,GACrD,OAASA,GAA4B4qB,GAAc,KAAK5qB,CAAC,CAAI,CAC9D,EAGGmuB,GAAkB,CAACC,EAAO5uB,IAAQ4uB,IAAU5c,IAAa,CAAC4c,EAAM,iBAAmBlc,GAAOkc,EAAO5uB,CAAG,EACpG6uB,GAA8B,CAClC,IAAI,CAAE,EAAGhO,CAAA,EAAY7gB,EAAK,CAClB,KAAA,CAAE,IAAAsmB,EAAK,WAAAc,EAAY,KAAA/b,EAAM,MAAA0Z,EAAO,YAAA+J,EAAa,KAAAvvB,EAAM,WAAAkmB,CAAe,EAAA5E,EAIpE,IAAAkO,EACA,GAAA/uB,EAAI,CAAC,IAAM,IAAK,CACZ,MAAA0U,EAAIoa,EAAY9uB,CAAG,EACzB,GAAI0U,IAAM,OACR,OAAQA,EAAG,CACT,IAAK,GACH,OAAO0S,EAAWpnB,CAAG,EACvB,IAAK,GACH,OAAOqL,EAAKrL,CAAG,EACjB,IAAK,GACH,OAAOsmB,EAAItmB,CAAG,EAChB,IAAK,GACH,OAAO+kB,EAAM/kB,CAAG,CACpB,KACS,IAAA2uB,GAAgBvH,EAAYpnB,CAAG,EACxC,OAAA8uB,EAAY9uB,CAAG,EAAI,EACZonB,EAAWpnB,CAAG,KACZqL,IAAS2G,IAAaU,GAAOrH,EAAMrL,CAAG,EAC/C,OAAA8uB,EAAY9uB,CAAG,EAAI,EACZqL,EAAKrL,CAAG,EACjB,IAGG+uB,EAAkBlO,EAAS,aAAa,CAAC,IAAMnO,GAAOqc,EAAiB/uB,CAAG,EAE3E,OAAA8uB,EAAY9uB,CAAG,EAAI,EACZ+kB,EAAM/kB,CAAG,KACPsmB,IAAQtU,IAAaU,GAAO4T,EAAKtmB,CAAG,EAC7C,OAAA8uB,EAAY9uB,CAAG,EAAI,EACZsmB,EAAItmB,CAAG,EACmBgvB,KACjCF,EAAY9uB,CAAG,EAAI,GAEvB,CACM,MAAAivB,EAAeR,GAAoBzuB,CAAG,EAC5C,IAAIkvB,EAAWC,EACf,GAAIF,EACF,OAAIjvB,IAAQ,UACJwY,GAAAqI,EAAU,MAAO7gB,CAAG,EAKrBivB,EAAapO,CAAQ,EAC9B,IAEGqO,EAAY3vB,EAAK,gBAAkB2vB,EAAYA,EAAUlvB,CAAG,GAEtD,OAAAkvB,KACE5I,IAAQtU,IAAaU,GAAO4T,EAAKtmB,CAAG,EAC7C,OAAA8uB,EAAY9uB,CAAG,EAAI,EACZsmB,EAAItmB,CAAG,EAChB,GAEEmvB,EAAmB1J,EAAW,OAAO,iBAAkB/S,GAAOyc,EAAkBnvB,CAAG,EAGjF,OAAOmvB,EAAiBnvB,CAAG,CAiBjC,EACA,IAAI,CAAE,EAAG6gB,CAAS,EAAG7gB,EAAKL,EAAO,CAC/B,KAAM,CAAE,KAAA0L,EAAM,WAAA+b,EAAY,IAAAd,CAAA,EAAQzF,EAC9B,OAAA8N,GAAgBvH,EAAYpnB,CAAG,GACjConB,EAAWpnB,CAAG,EAAIL,EACX,IAIE0L,IAAS2G,IAAaU,GAAOrH,EAAMrL,CAAG,GAC/CqL,EAAKrL,CAAG,EAAIL,EACL,IACE+S,GAAOmO,EAAS,MAAO7gB,CAAG,GAIjCA,EAAI,CAAC,IAAM,KAAOA,EAAI,MAAM,CAAC,IAAK6gB,EAI7B,IASLyF,EAAItmB,CAAG,EAAIL,EAGR,GACT,EACA,IAAI,CACF,EAAG,CAAE,KAAA0L,EAAM,WAAA+b,EAAY,YAAA0H,EAAa,IAAAxI,EAAK,WAAAb,EAAY,aAAAsB,CAAa,GACjE/mB,EAAK,CACF,IAAA+uB,EACJ,MAAO,CAAC,CAACD,EAAY9uB,CAAG,GAAKqL,IAAS2G,IAAaU,GAAOrH,EAAMrL,CAAG,GAAK2uB,GAAgBvH,EAAYpnB,CAAG,IAAM+uB,EAAkBhI,EAAa,CAAC,IAAMrU,GAAOqc,EAAiB/uB,CAAG,GAAK0S,GAAO4T,EAAKtmB,CAAG,GAAK0S,GAAO+b,GAAqBzuB,CAAG,GAAK0S,GAAO+S,EAAW,OAAO,iBAAkBzlB,CAAG,CAC3R,EACA,eAAeyY,EAAQzY,EAAKovB,EAAY,CAClC,OAAAA,EAAW,KAAO,KACb3W,EAAA,EAAE,YAAYzY,CAAG,EAAI,EACnB0S,GAAO0c,EAAY,OAAO,GACnC,KAAK,IAAI3W,EAAQzY,EAAKovB,EAAW,MAAO,IAAI,EAEvC,QAAQ,eAAe3W,EAAQzY,EAAKovB,CAAU,CACvD,CACF,EAkLA,SAASC,GAAsBtK,EAAO,CAC7B,OAAApS,EAAQoS,CAAK,EAAIA,EAAM,OAC5B,CAAChQ,EAAYoN,KAAOpN,EAAWoN,CAAC,EAAI,KAAMpN,GAC1C,CAAC,CACC,EAAAgQ,CACN,CAuEA,IAAIiK,GAAoB,GACxB,SAASM,GAAazO,EAAU,CACxB,MAAAlgB,EAAU+tB,GAAqB7N,CAAQ,EACvCwK,EAAaxK,EAAS,MACtByF,EAAMzF,EAAS,IACDmO,GAAA,GAChBruB,EAAQ,cACD4uB,GAAA5uB,EAAQ,aAAckgB,EAAU,IAAI,EAEzC,KAAA,CAEJ,KAAM2O,EACN,SAAUC,EACV,QAAAC,EACA,MAAOC,EACP,QAASC,EACT,OAAQC,EAER,QAAAC,EACA,YAAAC,EACA,QAAAC,EACA,aAAAC,EACA,QAAAC,EACA,UAAAC,EACA,YAAAC,EACA,cAAAC,EACA,cAAAC,EACA,UAAAC,EACA,UAAAC,EACA,OAAAtJ,GACA,cAAAuJ,GACA,gBAAAC,EACA,cAAAC,GACA,eAAAC,GAEA,OAAAC,EACA,aAAAxJ,EAEA,WAAAyJ,EACA,WAAAC,EACA,QAAAC,CACE,EAAArwB,EAaJ,GAHIkvB,GACgBoB,GAAApB,EAAevJ,EAVqE,IAUxC,EAE5DoJ,EACF,UAAW1vB,KAAO0vB,EAAS,CACnB,MAAAwB,EAAgBxB,EAAQ1vB,CAAG,EAC7B+S,GAAWme,CAAa,IASxB5K,EAAItmB,CAAG,EAAIkxB,EAAc,KAAK7F,CAAU,EAU9C,CAEF,GAAImE,EAAa,CAMf,MAAMnkB,EAAOmkB,EAAY,KAAKnE,EAAYA,CAAU,EAM/CnY,GAAS7H,CAAI,IAGPwV,EAAA,KAAOnG,GAASrP,CAAI,EAejC,CAEA,GADoB2jB,GAAA,GAChBS,EACF,UAAWzvB,KAAOyvB,EAAiB,CAC3B,MAAA0B,EAAM1B,EAAgBzvB,CAAG,EACzBsb,EAAMvI,GAAWoe,CAAG,EAAIA,EAAI,KAAK9F,EAAYA,CAAU,EAAItY,GAAWoe,EAAI,GAAG,EAAIA,EAAI,IAAI,KAAK9F,EAAYA,CAAU,EAAInZ,GAIxH8J,GAAM,CAACjJ,GAAWoe,CAAG,GAAKpe,GAAWoe,EAAI,GAAG,EAAIA,EAAI,IAAI,KAAK9F,CAAU,EAIzEnZ,GACE1J,GAAI+X,GAAS,CACjB,IAAAjF,EACA,IAAAU,EAAA,CACD,EACM,OAAA,eAAesK,EAAKtmB,EAAK,CAC9B,WAAY,GACZ,aAAc,GACd,IAAK,IAAMwI,GAAE,MACb,IAAMyN,IAAMzN,GAAE,MAAQyN,EAAA,CACvB,CAIH,CAEF,GAAI0Z,EACF,UAAW3vB,KAAO2vB,EAChByB,GAAczB,EAAa3vB,CAAG,EAAGsmB,EAAK+E,EAAYrrB,CAAG,EAGzD,GAAI4vB,EAAgB,CAClB,MAAMyB,EAAWte,GAAW6c,CAAc,EAAIA,EAAe,KAAKvE,CAAU,EAAIuE,EAChF,QAAQ,QAAQyB,CAAQ,EAAE,QAASrxB,GAAQ,CACjCsxB,GAAAtxB,EAAKqxB,EAASrxB,CAAG,CAAC,CAAA,CAC3B,CACH,CACI8vB,GACOP,GAAAO,EAASjP,EAAU,GAAG,EAExB,SAAA0Q,GAAsBC,EAAU5N,EAAM,CACzCjR,EAAQiR,CAAI,EACTA,EAAA,QAAS6N,GAAUD,EAASC,EAAM,KAAKpG,CAAU,CAAC,CAAC,EAC/CzH,GACA4N,EAAA5N,EAAK,KAAKyH,CAAU,CAAC,CAElC,CAaI,GAZJkG,GAAsBvE,GAAe+C,CAAW,EAChDwB,GAAsBtE,GAAW+C,CAAO,EACxCuB,GAAsBrE,GAAgB+C,CAAY,EAClDsB,GAAsBpE,GAAW+C,CAAO,EACxCqB,GAAsBpF,GAAagE,CAAS,EAC5CoB,GAAsBlF,GAAe+D,CAAW,EAChDmB,GAAsB/D,GAAiBmD,EAAa,EACpDY,GAAsBhE,GAAiBkD,EAAa,EACpDc,GAAsBjE,GAAmBoD,CAAe,EACxDa,GAAsBnE,GAAiBkD,CAAa,EACpDiB,GAAsB5E,GAAa6D,CAAS,EAC5Ce,GAAsBlE,GAAkBuD,EAAc,EAClDje,EAAQke,CAAM,EAChB,GAAIA,EAAO,OAAQ,CACjB,MAAMa,EAAU7Q,EAAS,UAAYA,EAAS,QAAU,CAAA,GACjDgQ,EAAA,QAAS7wB,GAAQ,CACf,OAAA,eAAe0xB,EAAS1xB,EAAK,CAClC,IAAK,IAAMqrB,EAAWrrB,CAAG,EACzB,IAAM+R,GAAQsZ,EAAWrrB,CAAG,EAAI+R,CAAA,CACjC,CAAA,CACF,CAAA,MACS8O,EAAS,UACnBA,EAAS,QAAU,IAGnBqG,IAAUrG,EAAS,SAAW3O,KAChC2O,EAAS,OAASqG,IAEhBG,GAAgB,OAClBxG,EAAS,aAAewG,GAEtByJ,IACFjQ,EAAS,WAAaiQ,GACpBC,IACFlQ,EAAS,WAAakQ,EAC1B,CACA,SAASE,GAAkBpB,EAAevJ,EAAKqL,EAA2Bzf,GAAM,CAC1ES,EAAQkd,CAAa,IACvBA,EAAgB+B,GAAgB/B,CAAa,GAE/C,UAAW7vB,KAAO6vB,EAAe,CACzB,MAAAsB,EAAMtB,EAAc7vB,CAAG,EACzB,IAAA0sB,EACAxZ,GAASie,CAAG,EACV,YAAaA,EACJzE,EAAAmF,GACTV,EAAI,MAAQnxB,EACZmxB,EAAI,QACJ,EAAA,EAISzE,EAAAmF,GAAOV,EAAI,MAAQnxB,CAAG,EAGnC0sB,EAAWmF,GAAOV,CAAG,EAEnB3W,GAAMkS,CAAQ,EACT,OAAA,eAAepG,EAAKtmB,EAAK,CAC9B,WAAY,GACZ,aAAc,GACd,IAAK,IAAM0sB,EAAS,MACpB,IAAMzW,GAAMyW,EAAS,MAAQzW,CAAA,CAC9B,EAEDqQ,EAAItmB,CAAG,EAAI0sB,CAKf,CACF,CACA,SAAS6C,GAAS3L,EAAM/C,EAAUthB,EAAM,CACtCwhB,GACEpO,EAAQiR,CAAI,EAAIA,EAAK,IAAKkO,GAAMA,EAAE,KAAKjR,EAAS,KAAK,CAAC,EAAI+C,EAAK,KAAK/C,EAAS,KAAK,EAClFA,EACAthB,CAAA,CAEJ,CACA,SAAS6xB,GAAczS,EAAK2H,EAAK+E,EAAYrrB,EAAK,CAC1C,MAAAmgB,EAASngB,EAAI,SAAS,GAAG,EAAIsrB,GAAiBD,EAAYrrB,CAAG,EAAI,IAAMqrB,EAAWrrB,CAAG,EACvF,GAAAgT,GAAS2L,CAAG,EAAG,CACX,MAAA0G,EAAUiB,EAAI3H,CAAG,EACnB5L,GAAWsS,CAAO,GACpB4E,GAAM9J,EAAQkF,CAAO,CAGvB,SACStS,GAAW4L,CAAG,EACvBsL,GAAM9J,EAAQxB,EAAI,KAAK0M,CAAU,CAAC,UACzBnY,GAASyL,CAAG,EACjB,GAAAhM,EAAQgM,CAAG,EACTA,EAAA,QAASM,GAAMmS,GAAcnS,EAAGqH,EAAK+E,EAAYrrB,CAAG,CAAC,MACpD,CACL,MAAMqlB,EAAUtS,GAAW4L,EAAI,OAAO,EAAIA,EAAI,QAAQ,KAAK0M,CAAU,EAAI/E,EAAI3H,EAAI,OAAO,EACpF5L,GAAWsS,CAAO,GACd4E,GAAA9J,EAAQkF,EAAS1G,CAAG,CAI9B,CAIJ,CACA,SAAS+P,GAAqB7N,EAAU,CACtC,MAAMkR,EAAOlR,EAAS,KAChB,CAAE,OAAAmR,EAAQ,QAASC,CAAA,EAAmBF,EACtC,CACJ,OAAQG,EACR,aAAcve,EACd,OAAQ,CAAE,sBAAAwe,CAAsB,CAAA,EAC9BtR,EAAS,WACP8E,EAAShS,EAAM,IAAIoe,CAAI,EACzB,IAAAK,EACJ,OAAIzM,EACSyM,EAAAzM,EACF,CAACuM,EAAa,QAAU,CAACF,GAAU,CAACC,EAEhCG,EAAAL,GAGbK,EAAW,CAAA,EACPF,EAAa,QACFA,EAAA,QACV7uB,GAAMgvB,GAAaD,EAAU/uB,EAAG8uB,EAAuB,EAAI,CAAA,EAGnDE,GAAAD,EAAUL,EAAMI,CAAqB,GAEhDjf,GAAS6e,CAAI,GACTpe,EAAA,IAAIoe,EAAMK,CAAQ,EAEnBA,CACT,CACA,SAASC,GAAaC,EAAIC,EAAMC,EAAQ9M,EAAU,GAAO,CACvD,KAAM,CAAE,OAAAsM,EAAQ,QAASC,CAAA,EAAmBM,EACxCN,GACWI,GAAAC,EAAIL,EAAgBO,EAAQ,EAAI,EAE3CR,GACKA,EAAA,QACJ3uB,GAAMgvB,GAAaC,EAAIjvB,EAAGmvB,EAAQ,EAAI,CAAA,EAG3C,UAAWxyB,KAAOuyB,EACZ,GAAA,EAAA7M,GAAW1lB,IAAQ,UAIhB,CACL,MAAMyyB,EAAQC,GAA0B1yB,CAAG,GAAKwyB,GAAUA,EAAOxyB,CAAG,EACpEsyB,EAAGtyB,CAAG,EAAIyyB,EAAQA,EAAMH,EAAGtyB,CAAG,EAAGuyB,EAAKvyB,CAAG,CAAC,EAAIuyB,EAAKvyB,CAAG,CACxD,CAEK,OAAAsyB,CACT,CACA,MAAMI,GAA4B,CAChC,KAAMC,GACN,MAAOC,GACP,MAAOA,GAEP,QAASC,GACT,SAAUA,GAEV,aAAcC,GACd,QAASA,GACT,YAAaA,GACb,QAASA,GACT,aAAcA,GACd,QAASA,GACT,cAAeA,GACf,cAAeA,GACf,UAAWA,GACX,UAAWA,GACX,UAAWA,GACX,YAAaA,GACb,cAAeA,GACf,eAAgBA,GAEhB,WAAYD,GACZ,WAAYA,GAEZ,MAAOE,GAEP,QAASJ,GACT,OAAQK,EACV,EACA,SAASL,GAAYL,EAAIC,EAAM,CAC7B,OAAKA,EAGAD,EAGE,UAAwB,CACrB,OAAAhgB,GACNS,GAAWuf,CAAE,EAAIA,EAAG,KAAK,KAAM,IAAI,EAAIA,EACvCvf,GAAWwf,CAAI,EAAIA,EAAK,KAAK,KAAM,IAAI,EAAIA,CAAA,CAC7C,EANOA,EAHAD,CAWX,CACA,SAASU,GAAYV,EAAIC,EAAM,CAC7B,OAAOM,GAAmBjB,GAAgBU,CAAE,EAAGV,GAAgBW,CAAI,CAAC,CACtE,CACA,SAASX,GAAgBjT,EAAK,CACxB,GAAAhM,EAAQgM,CAAG,EAAG,CAChB,MAAM7J,EAAM,CAAA,EACZ,QAAStU,EAAI,EAAGA,EAAIme,EAAI,OAAQne,IAC9BsU,EAAI6J,EAAIne,CAAC,CAAC,EAAIme,EAAIne,CAAC,EAEd,OAAAsU,CACT,CACO,OAAA6J,CACT,CACA,SAASmU,GAAaR,EAAIC,EAAM,CAC9B,OAAOD,EAAK,CAAC,GAAG,IAAI,IAAI,CAAG,EAAA,OAAOA,EAAIC,CAAI,CAAC,CAAC,EAAIA,CAClD,CACA,SAASM,GAAmBP,EAAIC,EAAM,CAC7B,OAAAD,EAAKhgB,GAA8B,OAAA,OAAO,IAAI,EAAGggB,EAAIC,CAAI,EAAIA,CACtE,CACA,SAASK,GAAyBN,EAAIC,EAAM,CAC1C,OAAID,EACE3f,EAAQ2f,CAAE,GAAK3f,EAAQ4f,CAAI,EACtB,CAAC,GAAmB,IAAI,IAAI,CAAC,GAAGD,EAAI,GAAGC,CAAI,CAAC,CAAC,EAE/CjgB,GACW,OAAO,OAAO,IAAI,EAClC+c,GAAsBiD,CAAE,EACxBjD,GAAsBkD,GAAsB,CAAA,CAAE,CAAA,EAGzCA,CAEX,CACA,SAASQ,GAAkBT,EAAIC,EAAM,CACnC,GAAI,CAACD,EACI,OAAAC,EACT,GAAI,CAACA,EACI,OAAAD,EACT,MAAMW,EAAS3gB,GAAuB,OAAO,OAAO,IAAI,EAAGggB,CAAE,EAC7D,UAAWtyB,KAAOuyB,EACTU,EAAAjzB,CAAG,EAAI8yB,GAAaR,EAAGtyB,CAAG,EAAGuyB,EAAKvyB,CAAG,CAAC,EAExC,OAAAizB,CACT,CAEA,SAASC,IAAmB,CACnB,MAAA,CACL,IAAK,KACL,OAAQ,CACN,YAAa/gB,GACb,YAAa,GACb,iBAAkB,CAAC,EACnB,sBAAuB,CAAC,EACxB,aAAc,OACd,YAAa,OACb,gBAAiB,CAAC,CACpB,EACA,OAAQ,CAAC,EACT,WAAY,CAAC,EACb,WAAY,CAAC,EACb,SAAiC,OAAA,OAAO,IAAI,EAC5C,iBAAkC,QAClC,eAAgC,QAChC,eAAgC,OAAQ,CAE5C,CACA,IAAIghB,GAAQ,EACZ,SAASC,GAAalM,EAAQmM,EAAS,CACrC,OAAO,SAAmBC,EAAeC,EAAY,KAAM,CACpDxgB,GAAWugB,CAAa,IACXA,EAAAhhB,GAAO,GAAIghB,CAAa,GAEtCC,GAAa,MAAQ,CAACrgB,GAASqgB,CAAS,IAE9BA,EAAA,MAEd,MAAMhpB,EAAU2oB,KAaVM,MAAuC,QAC7C,IAAIC,EAAY,GACV,MAAAzP,EAAMzZ,EAAQ,IAAM,CACxB,KAAM4oB,KACN,WAAYG,EACZ,OAAQC,EACR,WAAY,KACZ,SAAUhpB,EACV,UAAW,KACX,QAAA7D,GACA,IAAI,QAAS,CACX,OAAO6D,EAAQ,MACjB,EACA,IAAI,OAAO0L,EAAG,CAMd,EACA,IAAIrG,KAAWjP,EAAS,CAClB,OAAA6yB,EAAiB,IAAI5jB,CAAM,IAEpBA,GAAUmD,GAAWnD,EAAO,OAAO,GAC5C4jB,EAAiB,IAAI5jB,CAAM,EACpBA,EAAA,QAAQoU,EAAK,GAAGrjB,CAAO,GACrBoS,GAAWnD,CAAM,IAC1B4jB,EAAiB,IAAI5jB,CAAM,EACpBA,EAAAoU,EAAK,GAAGrjB,CAAO,IAMjBqjB,CACT,EACA,MAAM0P,EAAO,CAET,OAAKnpB,EAAQ,OAAO,SAASmpB,CAAK,GACxBnpB,EAAA,OAAO,KAAKmpB,CAAK,EAStB1P,CACT,EACA,UAAU3kB,EAAMslB,EAAW,CAIzB,OAAKA,GAMGpa,EAAA,WAAWlL,CAAI,EAAIslB,EACpBX,GANEzZ,EAAQ,WAAWlL,CAAI,CAOlC,EACA,UAAUA,EAAMs0B,EAAW,CAIzB,OAAKA,GAMGppB,EAAA,WAAWlL,CAAI,EAAIs0B,EACpB3P,GANEzZ,EAAQ,WAAWlL,CAAI,CAOlC,EACA,MAAMu0B,EAAeC,EAAWC,EAAO,CACrC,GAAI,CAACL,EAAW,CAOR,MAAA5M,EAAQgB,EAAYyL,EAAeC,CAAS,EAClD,OAAA1M,EAAM,WAAatc,EAMfspB,GAAaR,EACfA,EAAQxM,EAAO+M,CAAa,EAErB1M,EAAAL,EAAO+M,EAAeE,CAAK,EAExBL,EAAA,GACZzP,EAAI,WAAa4P,EACjBA,EAAc,YAAc5P,EAE1BA,EAAI,UAAY6C,EAAM,UACtB9C,GAAgBC,EAAKtd,EAAO,EAEvB8nB,GAAe3H,EAAM,SAAS,GAAKA,EAAM,UAAU,KAM5D,CACF,EACA,SAAU,CACJ4M,IACKvM,EAAA,KAAMlD,EAAI,UAAU,EAEzBA,EAAI,UAAY,KAChBK,GAAmBL,CAAG,EAExB,OAAOA,EAAI,WAAW,YAI1B,EACA,QAAQhkB,EAAKL,EAAO,CAMV,OAAA4K,EAAA,SAASvK,CAAG,EAAIL,EACjBqkB,CACT,EACA,eAAetQ,EAAI,CACJqgB,GAAA/P,EACT,GAAA,CACF,OAAOtQ,EAAG,CAAA,QACV,CACaqgB,GAAA,IACf,CACF,CAAA,EAEK,OAAA/P,CAAA,CAEX,CACA,IAAI+P,GAAa,KAEjB,SAASzC,GAAQtxB,EAAKL,EAAO,CAC3B,GAAK6pB,GAIE,CACL,IAAI6H,EAAW7H,GAAgB,SAC/B,MAAMwK,EAAiBxK,GAAgB,QAAUA,GAAgB,OAAO,SACpEwK,IAAmB3C,IACrBA,EAAW7H,GAAgB,SAAW,OAAO,OAAOwK,CAAc,GAEpE3C,EAASrxB,CAAG,EAAIL,CAClB,CACF,CACA,SAASkyB,GAAO7xB,EAAKigB,EAAcgU,EAAwB,GAAO,CAChE,MAAMpT,EAAW2I,IAAmBvD,GACpC,GAAIpF,GAAYkT,GAAY,CAC1B,MAAM1C,EAAWxQ,EAAWA,EAAS,QAAU,KAAOA,EAAS,MAAM,YAAcA,EAAS,MAAM,WAAW,SAAWA,EAAS,OAAO,SAAWkT,GAAW,SAAS,SACnK,GAAA1C,GAAYrxB,KAAOqxB,EACrB,OAAOA,EAASrxB,CAAG,EACrB,GAAW,UAAU,OAAS,EACrB,OAAAi0B,GAAyBlhB,GAAWkN,CAAY,EAAIA,EAAa,KAAKY,GAAYA,EAAS,KAAK,EAAIZ,CAM/G,CACF,CACA,SAASiU,IAAsB,CACtB,MAAA,CAAC,EAAE1K,IAAmBvD,IAA4B8N,GAC3D,CAEA,SAASI,GAAUtT,EAAUuT,EAAUC,EAAYhU,EAAQ,GAAO,CAChE,MAAM0E,EAAQ,CAAA,EACRkC,EAAQ,CAAA,EACVzS,GAAAyS,EAAOqN,GAAmB,CAAC,EACtBzT,EAAA,cAAuC,OAAA,OAAO,IAAI,EAC9C0T,GAAA1T,EAAUuT,EAAUrP,EAAOkC,CAAK,EAC7C,UAAWjnB,KAAO6gB,EAAS,aAAa,CAAC,EACjC7gB,KAAO+kB,IACXA,EAAM/kB,CAAG,EAAI,QAMbq0B,EACFxT,EAAS,MAAQR,EAAQ0E,EAAQ7G,GAAgB6G,CAAK,EAEjDlE,EAAS,KAAK,MAGjBA,EAAS,MAAQkE,EAFjBlE,EAAS,MAAQoG,EAKrBpG,EAAS,MAAQoG,CACnB,CAQA,SAASuN,GAAY3T,EAAUuT,EAAUK,EAAcnM,EAAW,CAC1D,KAAA,CACJ,MAAAvD,EACA,MAAAkC,EACA,MAAO,CAAE,UAAA0B,CAAU,CACjB,EAAA9H,EACE6T,EAAkB9a,GAAMmL,CAAK,EAC7B,CAACpkB,CAAO,EAAIkgB,EAAS,aAC3B,IAAI8T,EAAkB,GACtB,IAI+ErM,GAAaK,EAAY,IAAM,EAAEA,EAAY,KAE1H,GAAIA,EAAY,EAAG,CACX,MAAAiM,EAAgB/T,EAAS,MAAM,aACrC,QAASrgB,EAAI,EAAGA,EAAIo0B,EAAc,OAAQp0B,IAAK,CACzC,IAAAR,EAAM40B,EAAcp0B,CAAC,EACzB,GAAIwlB,GAAenF,EAAS,aAAc7gB,CAAG,EAC3C,SAEI,MAAAL,EAAQy0B,EAASp0B,CAAG,EAC1B,GAAIW,EACE,GAAA+R,GAAOuU,EAAOjnB,CAAG,EACfL,IAAUsnB,EAAMjnB,CAAG,IACrBinB,EAAMjnB,CAAG,EAAIL,EACKg1B,EAAA,QAEf,CACC,MAAAE,EAAehhB,GAAS7T,CAAG,EACjC+kB,EAAM8P,CAAY,EAAIC,GACpBn0B,EACA+zB,EACAG,EACAl1B,EACAkhB,EACA,EAAA,CAGJ,MAEIlhB,IAAUsnB,EAAMjnB,CAAG,IACrBinB,EAAMjnB,CAAG,EAAIL,EACKg1B,EAAA,GAGxB,CACF,MACK,CACDJ,GAAa1T,EAAUuT,EAAUrP,EAAOkC,CAAK,IAC7B0N,EAAA,IAEhB,IAAAI,EACJ,UAAW/0B,KAAO00B,GACZ,CAACN,GACL,CAAC1hB,GAAO0hB,EAAUp0B,CAAG,KAEnB+0B,EAAW/gB,GAAUhU,CAAG,KAAOA,GAAO,CAAC0S,GAAO0hB,EAAUW,CAAQ,MAC5Dp0B,EACE8zB,IACHA,EAAaz0B,CAAG,IAAM,QACvBy0B,EAAaM,CAAQ,IAAM,UACzBhQ,EAAM/kB,CAAG,EAAI80B,GACXn0B,EACA+zB,EACA10B,EACA,OACA6gB,EACA,EAAA,GAKJ,OAAOkE,EAAM/kB,CAAG,GAItB,GAAIinB,IAAUyN,EACZ,UAAW10B,KAAOinB,GACZ,CAACmN,GAAY,CAAC1hB,GAAO0hB,EAAUp0B,CAAG,KACpC,OAAOinB,EAAMjnB,CAAG,EACE20B,EAAA,GAI1B,CACIA,GACM7b,GAAA+H,EAAU,MAAO,QAAQ,CAKrC,CACA,SAAS0T,GAAa1T,EAAUuT,EAAUrP,EAAOkC,EAAO,CACtD,KAAM,CAACtmB,EAASq0B,CAAY,EAAInU,EAAS,aACzC,IAAI8T,EAAkB,GAClBM,EACJ,GAAIb,EACF,QAASp0B,KAAOo0B,EAAU,CACpB,GAAA5gB,GAAexT,CAAG,EACpB,SAEI,MAAAL,EAAQy0B,EAASp0B,CAAG,EACtB,IAAAk1B,EACAv0B,GAAW+R,GAAO/R,EAASu0B,EAAWrhB,GAAS7T,CAAG,CAAC,EACjD,CAACg1B,GAAgB,CAACA,EAAa,SAASE,CAAQ,EAClDnQ,EAAMmQ,CAAQ,EAAIv1B,GAEjBs1B,IAAkBA,EAAgB,CAAA,IAAKC,CAAQ,EAAIv1B,EAE5CqmB,GAAenF,EAAS,aAAc7gB,CAAG,IAC/C,EAAEA,KAAOinB,IAAUtnB,IAAUsnB,EAAMjnB,CAAG,KACxCinB,EAAMjnB,CAAG,EAAIL,EACKg1B,EAAA,GAGxB,CAEF,GAAIK,EAAc,CACV,MAAAN,EAAkB9a,GAAMmL,CAAK,EAC7BoQ,EAAaF,GAAiBjjB,GACpC,QAAS,EAAI,EAAG,EAAIgjB,EAAa,OAAQ,IAAK,CACtC,MAAAh1B,EAAMg1B,EAAa,CAAC,EAC1BjQ,EAAM/kB,CAAG,EAAI80B,GACXn0B,EACA+zB,EACA10B,EACAm1B,EAAWn1B,CAAG,EACd6gB,EACA,CAACnO,GAAOyiB,EAAYn1B,CAAG,CAAA,CAE3B,CACF,CACO,OAAA20B,CACT,CACA,SAASG,GAAiBn0B,EAASokB,EAAO/kB,EAAKL,EAAOkhB,EAAUuU,EAAU,CAClE,MAAAjE,EAAMxwB,EAAQX,CAAG,EACvB,GAAImxB,GAAO,KAAM,CACT,MAAAkE,EAAa3iB,GAAOye,EAAK,SAAS,EACpC,GAAAkE,GAAc11B,IAAU,OAAQ,CAClC,MAAMsgB,EAAekR,EAAI,QACrB,GAAAA,EAAI,OAAS,UAAY,CAACA,EAAI,aAAepe,GAAWkN,CAAY,EAAG,CACnE,KAAA,CAAE,cAAAqV,CAAkB,EAAAzU,EACtB7gB,KAAOs1B,EACT31B,EAAQ21B,EAAct1B,CAAG,GAEzBurB,GAAmB1K,CAAQ,EACnBlhB,EAAA21B,EAAct1B,CAAG,EAAIigB,EAAa,KACxC,KACA8E,CAAA,EAEmByG,KACvB,MAEQ7rB,EAAAsgB,CAEZ,CACIkR,EAAI,CAAA,IACFiE,GAAY,CAACC,EACP11B,EAAA,GACCwxB,EAAI,CAAA,IAA4BxxB,IAAU,IAAMA,IAAUqU,GAAUhU,CAAG,KACxEL,EAAA,IAGd,CACO,OAAAA,CACT,CACA,SAAS41B,GAAsB/P,EAAMC,EAAYC,EAAU,GAAO,CAChE,MAAM/R,EAAQ8R,EAAW,WACnBE,EAAShS,EAAM,IAAI6R,CAAI,EAC7B,GAAIG,EACK,OAAAA,EAET,MAAMhH,EAAM6G,EAAK,MACXzQ,EAAa,CAAA,EACbigB,EAAe,CAAA,EACrB,IAAIpP,EAAa,GACU,GAAA,CAAC7S,GAAWyS,CAAI,EAAG,CACtC,MAAAgQ,EAAe1P,GAAS,CACfF,EAAA,GACb,KAAM,CAACb,EAAOgD,CAAI,EAAIwN,GAAsBzP,EAAML,EAAY,EAAI,EAClEnT,GAAOyC,EAAYgQ,CAAK,EACpBgD,GACWiN,EAAA,KAAK,GAAGjN,CAAI,CAAA,EAEzB,CAACrC,GAAWD,EAAW,OAAO,QACrBA,EAAA,OAAO,QAAQ+P,CAAW,EAEnChQ,EAAK,SACPgQ,EAAYhQ,EAAK,OAAO,EAEtBA,EAAK,QACFA,EAAA,OAAO,QAAQgQ,CAAW,CAEnC,CACI,GAAA,CAAC7W,GAAO,CAACiH,EACP,OAAA1S,GAASsS,CAAI,GACT7R,EAAA,IAAI6R,EAAMvT,EAAS,EAEpBA,GAEL,GAAAU,EAAQgM,CAAG,EACb,QAAS,EAAI,EAAG,EAAIA,EAAI,OAAQ,IAAK,CAInC,MAAM8W,EAAgB5hB,GAAS8K,EAAI,CAAC,CAAC,EACjC+W,GAAiBD,CAAa,IAChC1gB,EAAW0gB,CAAa,EAAIzjB,GAEhC,SACS2M,EAIT,UAAW3e,KAAO2e,EAAK,CACf,MAAA8W,EAAgB5hB,GAAS7T,CAAG,EAC9B,GAAA01B,GAAiBD,CAAa,EAAG,CAC7B,MAAAtE,EAAMxS,EAAI3e,CAAG,EACbV,EAAOyV,EAAW0gB,CAAa,EAAI9iB,EAAQwe,CAAG,GAAKpe,GAAWoe,CAAG,EAAI,CAAE,KAAMA,CAAA,EAAQ7e,GAAO,CAAA,EAAI6e,CAAG,EACzG,GAAI7xB,EAAM,CACR,MAAMq2B,EAAeC,GAAa,QAASt2B,EAAK,IAAI,EAC9Cu2B,EAAcD,GAAa,OAAQt2B,EAAK,IAAI,EAClDA,EAAK,CAAA,EAAsBq2B,EAAe,GAC1Cr2B,EAAK,CAAsB,EAAIu2B,EAAc,GAAKF,EAAeE,GAC7DF,EAAe,IAAMjjB,GAAOpT,EAAM,SAAS,IAC7C01B,EAAa,KAAKS,CAAa,CAEnC,CACF,CACF,CAEI,MAAA3gB,EAAM,CAACC,EAAYigB,CAAY,EACjC,OAAA9hB,GAASsS,CAAI,GACT7R,EAAA,IAAI6R,EAAM1Q,CAAG,EAEdA,CACT,CACA,SAAS4gB,GAAiB11B,EAAK,CACzB,OAAAA,EAAI,CAAC,IAAM,GAMjB,CACA,SAAS81B,GAAQC,EAAM,CACrB,MAAM5zB,EAAQ4zB,GAAQA,EAAK,SAAS,EAAE,MAAM,4BAA4B,EACxE,OAAO5zB,EAAQA,EAAM,CAAC,EAAI4zB,IAAS,KAAO,OAAS,EACrD,CACA,SAASC,GAAW9nB,EAAGC,EAAG,CACxB,OAAO2nB,GAAQ5nB,CAAC,IAAM4nB,GAAQ3nB,CAAC,CACjC,CACA,SAASynB,GAAar2B,EAAM02B,EAAe,CACrC,OAAAtjB,EAAQsjB,CAAa,EAChBA,EAAc,UAAWC,GAAMF,GAAWE,EAAG32B,CAAI,CAAC,EAChDwT,GAAWkjB,CAAa,GAC1BD,GAAWC,EAAe12B,CAAI,EAAI,EAEpC,EACT,CAwGA,MAAM42B,GAAiBn2B,GAAQA,EAAI,CAAC,IAAM,KAAOA,IAAQ,UACnDo2B,GAAsBz2B,GAAUgT,EAAQhT,CAAK,EAAIA,EAAM,IAAI8nB,EAAc,EAAI,CAACA,GAAe9nB,CAAK,CAAC,EACnG02B,GAAgB,CAACr2B,EAAKs2B,EAAShQ,IAAQ,CAC3C,GAAIgQ,EAAQ,GACH,OAAAA,EAEH,MAAAvhB,EAAasR,GAAQ,IAAIxkB,IAMtBu0B,GAAmBE,EAAQ,GAAGz0B,CAAI,CAAC,EACzCykB,CAAG,EACN,OAAAvR,EAAW,GAAK,GACTA,CACT,EACMwhB,GAAuB,CAACC,EAAUxP,EAAOnG,IAAa,CAC1D,MAAMyF,EAAMkQ,EAAS,KACrB,UAAWx2B,KAAOw2B,EAAU,CAC1B,GAAIL,GAAcn2B,CAAG,EACnB,SACI,MAAAL,EAAQ62B,EAASx2B,CAAG,EACtB,GAAA+S,GAAWpT,CAAK,EAClBqnB,EAAMhnB,CAAG,EAAIq2B,GAAcr2B,EAAKL,EAAO2mB,CAAG,UACjC3mB,GAAS,KAAM,CAMlB,MAAAoV,EAAaqhB,GAAmBz2B,CAAK,EACrCqnB,EAAAhnB,CAAG,EAAI,IAAM+U,CACrB,CACF,CACF,EACM0hB,GAAsB,CAAC5V,EAAU6V,IAAa,CAM5C,MAAA3hB,EAAaqhB,GAAmBM,CAAQ,EACrC7V,EAAA,MAAM,QAAU,IAAM9L,CACjC,EACM4hB,GAAY,CAAC9V,EAAU6V,IAAa,CACpC,GAAA7V,EAAS,MAAM,UAAY,GAAI,CACjC,MAAMthB,EAAOm3B,EAAS,EAClBn3B,GACOshB,EAAA,MAAQjH,GAAM8c,CAAQ,EAC3BliB,GAAAkiB,EAAU,IAAKn3B,CAAI,GAEvBg3B,GACEG,EACA7V,EAAS,MAAQ,CAAC,CAAA,CACtB,MAEAA,EAAS,MAAQ,GACb6V,GACFD,GAAoB5V,EAAU6V,CAAQ,EAGtCliB,GAAAqM,EAAS,MAAOyT,GAAmB,CAAC,CAC1C,EACMsC,GAAc,CAAC/V,EAAU6V,EAAUpO,IAAc,CAC/C,KAAA,CAAE,MAAAzB,EAAO,MAAAG,CAAU,EAAAnG,EACzB,IAAIgW,EAAoB,GACpBC,EAA2B9kB,GAC3B,GAAA6U,EAAM,UAAY,GAAI,CACxB,MAAMtnB,EAAOm3B,EAAS,EAClBn3B,EAIS+oB,GAAa/oB,IAAS,EACXs3B,EAAA,IAEpBvkB,GAAO0U,EAAO0P,CAAQ,EAClB,CAACpO,GAAa/oB,IAAS,GACzB,OAAOynB,EAAM,IAIjB6P,EAAoB,CAACH,EAAS,QAC9BH,GAAqBG,EAAU1P,CAAK,GAEX8P,EAAAJ,OAClBA,IACTD,GAAoB5V,EAAU6V,CAAQ,EACXI,EAAA,CAAE,QAAS,IAExC,GAAID,EACF,UAAW72B,KAAOgnB,EACZ,CAACmP,GAAcn2B,CAAG,GAAK82B,EAAyB92B,CAAG,GAAK,MAC1D,OAAOgnB,EAAMhnB,CAAG,CAIxB,EAEA,SAAS+2B,GAAOC,EAAQC,EAAWC,EAAgBrQ,EAAOsQ,EAAY,GAAO,CACvE,GAAAxkB,EAAQqkB,CAAM,EAAG,CACZA,EAAA,QACL,CAAC/X,EAAGze,IAAMu2B,GACR9X,EACAgY,IAActkB,EAAQskB,CAAS,EAAIA,EAAUz2B,CAAC,EAAIy2B,GAClDC,EACArQ,EACAsQ,CACF,CAAA,EAEF,MACF,CACA,GAAIlL,GAAepF,CAAK,GAAK,CAACsQ,EAC5B,OAEI,MAAAC,EAAWvQ,EAAM,UAAY,EAAI2H,GAAe3H,EAAM,SAAS,GAAKA,EAAM,UAAU,MAAQA,EAAM,GAClGlnB,EAAQw3B,EAAY,KAAOC,EAC3B,CAAE,EAAGC,EAAO,EAAGnY,GAAQ8X,EAOvBM,EAASL,GAAaA,EAAU,EAChCM,EAAOF,EAAM,OAASrlB,GAAYqlB,EAAM,KAAO,CAAA,EAAKA,EAAM,KAC1DjQ,EAAaiQ,EAAM,WAWrB,GAVAC,GAAU,MAAQA,IAAWpY,IAC3BlM,GAASskB,CAAM,GACjBC,EAAKD,CAAM,EAAI,KACX5kB,GAAO0U,EAAYkQ,CAAM,IAC3BlQ,EAAWkQ,CAAM,EAAI,OAEd9c,GAAM8c,CAAM,IACrBA,EAAO,MAAQ,OAGfvkB,GAAWmM,CAAG,EAChB0B,GAAsB1B,EAAKmY,EAAO,GAAI,CAAC13B,EAAO43B,CAAI,CAAC,MAC9C,CACC,MAAAC,EAAYxkB,GAASkM,CAAG,EACxBuY,EAASjd,GAAM0E,CAAG,EACxB,GAAIsY,GAAaC,EAAQ,CACvB,MAAMC,EAAQ,IAAM,CAClB,GAAIV,EAAO,EAAG,CACZ,MAAMW,EAAWH,EAAY9kB,GAAO0U,EAAYlI,CAAG,EAAIkI,EAAWlI,CAAG,EAAIqY,EAAKrY,CAAG,EAAIA,EAAI,MACrFiY,EACFxkB,EAAQglB,CAAQ,GAAKplB,GAAOolB,EAAUP,CAAQ,EAEzCzkB,EAAQglB,CAAQ,EAWTA,EAAS,SAASP,CAAQ,GACpCO,EAAS,KAAKP,CAAQ,EAXlBI,GACGtY,EAAAA,CAAG,EAAI,CAACkY,CAAQ,EACjB1kB,GAAO0U,EAAYlI,CAAG,IACbA,EAAAA,CAAG,EAAIqY,EAAKrY,CAAG,KAG5BA,EAAI,MAAQ,CAACkY,CAAQ,EACjBJ,EAAO,IACJO,EAAAP,EAAO,CAAC,EAAI9X,EAAI,aAMpBsY,GACTD,EAAKrY,CAAG,EAAIvf,EACR+S,GAAO0U,EAAYlI,CAAG,IACxBkI,EAAWlI,CAAG,EAAIvf,IAEX83B,IACTvY,EAAI,MAAQvf,EACRq3B,EAAO,IACJO,EAAAP,EAAO,CAAC,EAAIr3B,GAGrB,EAEEA,GACF+3B,EAAM,GAAK,GACXxM,GAAsBwM,EAAOR,CAAc,GAErCQ,GAIV,CACF,CACF,CAsgBA,MAAMxM,GAAwBpB,GAC9B,SAAS8N,GAAej3B,EAAS,CAC/B,OAAOk3B,GAAmBl3B,CAAO,CACnC,CAIA,SAASk3B,GAAmBl3B,EAASm3B,EAAoB,CAIvD,MAAMrf,EAAS7D,KACf6D,EAAO,QAAU,GAECkL,GAAAlL,EAAO,6BAA8BA,CAAM,EAEvD,KAAA,CACJ,OAAQsf,EACR,OAAQC,EACR,UAAWC,EACX,cAAeC,EACf,WAAYC,EACZ,cAAeC,EACf,QAASC,EACT,eAAgBC,EAChB,WAAYC,EACZ,YAAaC,EACb,WAAYC,EAAiBvmB,GAC7B,oBAAqBwmB,CACnB,EAAA/3B,EACEg4B,EAAQ,CAACC,EAAIC,EAAIC,EAAWC,EAAS,KAAMC,EAAkB,KAAM9B,EAAiB,KAAMpD,EAAQ,GAAOmF,EAAe,KAAM3Q,EAAiF,CAAC,CAACuQ,EAAG,kBAAoB,CAC5O,GAAID,IAAOC,EACT,OAEED,GAAM,CAACM,GAAgBN,EAAIC,CAAE,IAC/BE,EAASI,GAAgBP,CAAE,EACnBQ,GAAAR,EAAII,EAAiB9B,EAAgB,EAAI,EAC5C0B,EAAA,MAEHC,EAAG,YAAc,KACPvQ,EAAA,GACZuQ,EAAG,gBAAkB,MAEvB,KAAM,CAAE,KAAAt5B,EAAM,IAAA2f,EAAK,UAAA8I,GAAc6Q,EACjC,OAAQt5B,EAAM,CACZ,KAAK2kB,GACSmV,EAAAT,EAAIC,EAAIC,EAAWC,CAAM,EACrC,MACF,KAAK5U,GACgBmV,EAAAV,EAAIC,EAAIC,EAAWC,CAAM,EAC5C,MACF,KAAK3U,GACCwU,GAAM,MACQW,EAAAV,EAAIC,EAAWC,EAAQjF,CAAK,EAI9C,MACF,KAAK7P,GACHuV,EACEZ,EACAC,EACAC,EACAC,EACAC,EACA9B,EACApD,EACAmF,EACA3Q,CAAA,EAEF,MACF,QACMN,EAAY,EACdyR,GACEb,EACAC,EACAC,EACAC,EACAC,EACA9B,EACApD,EACAmF,EACA3Q,CAAA,EAEON,EAAY,EACrB0R,EACEd,EACAC,EACAC,EACAC,EACAC,EACA9B,EACApD,EACAmF,EACA3Q,CAAA,GAEON,EAAY,IAaZA,EAAY,MAChBzoB,EAAA,QACHq5B,EACAC,EACAC,EACAC,EACAC,EACA9B,EACApD,EACAmF,EACA3Q,EACAqR,EAAA,CAKR,CACIza,GAAO,MAAQ8Z,GACV9Z,GAAAA,EAAK0Z,GAAMA,EAAG,IAAK1B,EAAgB2B,GAAMD,EAAI,CAACC,CAAE,CACzD,EAEIQ,EAAc,CAACT,EAAIC,EAAIC,EAAWC,IAAW,CACjD,GAAIH,GAAM,KACRb,EACEc,EAAG,GAAKV,EAAeU,EAAG,QAAQ,EAClCC,EACAC,CAAA,MAEG,CACC,MAAA33B,EAAKy3B,EAAG,GAAKD,EAAG,GAClBC,EAAG,WAAaD,EAAG,UACTP,EAAAj3B,EAAIy3B,EAAG,QAAQ,CAE/B,CAAA,EAEIS,EAAqB,CAACV,EAAIC,EAAIC,EAAWC,IAAW,CACpDH,GAAM,KACRb,EACEc,EAAG,GAAKT,EAAkBS,EAAG,UAAY,EAAE,EAC3CC,EACAC,CAAA,EAGFF,EAAG,GAAKD,EAAG,EACb,EAEIW,EAAkB,CAACV,EAAIC,EAAWC,EAAQjF,IAAU,CACxD,CAAC+E,EAAG,GAAIA,EAAG,MAAM,EAAIH,EACnBG,EAAG,SACHC,EACAC,EACAjF,EACA+E,EAAG,GACHA,EAAG,MAAA,CACL,EAiBIe,EAAiB,CAAC,CAAE,GAAAx4B,EAAI,OAAA23B,CAAO,EAAGD,EAAWe,IAAgB,CAC7D,IAAAC,EACG,KAAA14B,GAAMA,IAAO23B,GAClBe,EAAOtB,EAAgBp3B,CAAE,EACd22B,EAAA32B,EAAI03B,EAAWe,CAAW,EAChCz4B,EAAA04B,EAEI/B,EAAAgB,EAAQD,EAAWe,CAAW,CAAA,EAErCE,EAAmB,CAAC,CAAE,GAAA34B,EAAI,OAAA23B,KAAa,CACvC,IAAAe,EACG,KAAA14B,GAAMA,IAAO23B,GAClBe,EAAOtB,EAAgBp3B,CAAE,EACzB42B,EAAW52B,CAAE,EACRA,EAAA04B,EAEP9B,EAAWe,CAAM,CAAA,EAEbU,GAAiB,CAACb,EAAIC,EAAIC,EAAWC,EAAQC,EAAiB9B,EAAgBpD,EAAOmF,EAAc3Q,IAAc,CAC7GwL,EAAAA,GAAS+E,EAAG,OAAS,MACzBD,GAAM,KACRoB,GACEnB,EACAC,EACAC,EACAC,EACA9B,EACApD,EACAmF,EACA3Q,CAAA,EAGF2R,GACErB,EACAC,EACAG,EACA9B,EACApD,EACAmF,EACA3Q,CAAA,CAEJ,EAEI0R,GAAe,CAACnT,EAAOiS,EAAWC,EAAQC,EAAiB9B,EAAgBpD,EAAOmF,EAAc3Q,IAAc,CAC9G,IAAAlnB,EACA84B,EACJ,KAAM,CAAE,KAAA36B,EAAM,MAAAwlB,EAAO,UAAAiD,EAAW,WAAAmS,EAAY,KAAAC,EAAS,EAAAvT,EAyBrD,GAxBAzlB,EAAKylB,EAAM,GAAKqR,EACdrR,EAAM,KACNiN,EACA/O,GAASA,EAAM,GACfA,CAAA,EAEEiD,EAAY,EACKsQ,EAAAl3B,EAAIylB,EAAM,QAAQ,EAC5BmB,EAAY,IACrBqS,GACExT,EAAM,SACNzlB,EACA,KACA43B,EACA9B,EACApD,GAASv0B,IAAS,gBAClB05B,EACA3Q,CAAA,EAGA8R,IACkBzO,GAAA9E,EAAO,KAAMmS,EAAiB,SAAS,EAE7DsB,EAAWl5B,EAAIylB,EAAOA,EAAM,QAASoS,EAAcD,CAAe,EAC9DjU,EAAO,CACT,UAAW/kB,KAAO+kB,EACZ/kB,IAAQ,SAAW,CAACwT,GAAexT,CAAG,GACxCi4B,EACE72B,EACApB,EACA,KACA+kB,EAAM/kB,CAAG,EACT8zB,EACAjN,EAAM,SACNmS,EACA9B,EACAqD,EAAA,EAIF,UAAWxV,GACbkT,EAAc72B,EAAI,QAAS,KAAM2jB,EAAM,KAAK,GAE1CmV,EAAYnV,EAAM,qBACJyV,GAAAN,EAAWlB,EAAiBnS,CAAK,CAErD,CAES,OAAA,eAAezlB,EAAI,UAAW,CACnC,MAAOylB,EACP,WAAY,EAAA,CACb,EACM,OAAA,eAAezlB,EAAI,uBAAwB,CAChD,MAAO43B,EACP,WAAY,EAAA,CACb,EAECoB,IACkBzO,GAAA9E,EAAO,KAAMmS,EAAiB,aAAa,EAE3D,MAAAyB,EAA0BC,GAAexD,EAAgBiD,CAAU,EACrEM,GACFN,EAAW,YAAY/4B,CAAE,EAEhB22B,EAAA32B,EAAI03B,EAAWC,CAAM,IAC3BmB,EAAYnV,GAASA,EAAM,iBAAmB0V,GAA2BL,KAC5ElP,GAAsB,IAAM,CACbgP,GAAAM,GAAgBN,EAAWlB,EAAiBnS,CAAK,EACnC4T,GAAAN,EAAW,MAAM/4B,CAAE,EAC9Cg5B,IAAQzO,GAAoB9E,EAAO,KAAMmS,EAAiB,SAAS,GAClE9B,CAAc,CACnB,EAEIoD,EAAa,CAACl5B,EAAIylB,EAAO8T,EAAS1B,EAAcD,IAAoB,CAIxE,GAHI2B,GACFlC,EAAer3B,EAAIu5B,CAAO,EAExB1B,EACF,QAASz4B,EAAI,EAAGA,EAAIy4B,EAAa,OAAQz4B,IACxBi4B,EAAAr3B,EAAI63B,EAAaz4B,CAAC,CAAC,EAGtC,GAAIw4B,EAAiB,CACnB,IAAI4B,EAAU5B,EAAgB,QAI9B,GAAInS,IAAU+T,EAAS,CACrB,MAAMC,EAAc7B,EAAgB,MACpCsB,EACEl5B,EACAy5B,EACAA,EAAY,QACZA,EAAY,aACZ7B,EAAgB,MAAA,CAEpB,CACF,CAAA,EAEIqB,GAAgB,CAAC3D,EAAUoC,EAAWC,EAAQC,EAAiB9B,EAAgBpD,EAAOmF,EAAc3Q,EAAWhG,EAAQ,IAAM,CACjI,QAAS9hB,EAAI8hB,EAAO9hB,EAAIk2B,EAAS,OAAQl2B,IAAK,CAC5C,MAAMW,EAAQu1B,EAASl2B,CAAC,EAAI8nB,EAAYwS,GAAepE,EAASl2B,CAAC,CAAC,EAAIinB,GAAeiP,EAASl2B,CAAC,CAAC,EAChGm4B,EACE,KACAx3B,EACA23B,EACAC,EACAC,EACA9B,EACApD,EACAmF,EACA3Q,CAAA,CAEJ,CAAA,EAEI2R,GAAe,CAACrB,EAAIC,EAAIG,EAAiB9B,EAAgBpD,EAAOmF,EAAc3Q,IAAc,CAC1F,MAAAlnB,EAAKy3B,EAAG,GAAKD,EAAG,GACtB,GAAI,CAAE,UAAAjQ,EAAW,gBAAAoS,EAAiB,KAAAX,CAAA,EAASvB,EAC3ClQ,GAAaiQ,EAAG,UAAY,GACtB,MAAAoC,EAAWpC,EAAG,OAAS5mB,GACvBipB,EAAWpC,EAAG,OAAS7mB,GACzB,IAAAkoB,EACelB,GAAAkC,GAAclC,EAAiB,EAAK,GACnDkB,EAAYe,EAAS,sBACPT,GAAAN,EAAWlB,EAAiBH,EAAID,CAAE,EAEhDwB,GACkBzO,GAAAkN,EAAID,EAAII,EAAiB,cAAc,EAE1CA,GAAAkC,GAAclC,EAAiB,EAAI,EAMhD,MAAAmC,GAAiBrH,GAAS+E,EAAG,OAAS,gBA2B5C,GA1BIkC,EACFK,EACExC,EAAG,gBACHmC,EACA35B,EACA43B,EACA9B,EACAiE,GACAlC,CAAA,EAKQ3Q,GACV+S,EACEzC,EACAC,EACAz3B,EACA,KACA43B,EACA9B,EACAiE,GACAlC,EACA,EAAA,EAGAtQ,EAAY,EAAG,CACjB,GAAIA,EAAY,GACd2S,EACEl6B,EACAy3B,EACAmC,EACAC,EACAjC,EACA9B,EACApD,CAAA,UAGEnL,EAAY,GACVqS,EAAS,QAAUC,EAAS,OAC9BhD,EAAc72B,EAAI,QAAS,KAAM65B,EAAS,MAAOnH,CAAK,EAGtDnL,EAAY,GACdsP,EAAc72B,EAAI,QAAS45B,EAAS,MAAOC,EAAS,MAAOnH,CAAK,EAE9DnL,EAAY,EAAG,CACjB,MAAMiM,EAAgBiE,EAAG,aACzB,QAASr4B,EAAI,EAAGA,EAAIo0B,EAAc,OAAQp0B,IAAK,CACvC,MAAAR,EAAM40B,EAAcp0B,CAAC,EACrB4lB,GAAO4U,EAASh7B,CAAG,EACnB85B,GAAOmB,EAASj7B,CAAG,GACrB85B,KAAS1T,IAAQpmB,IAAQ,UAC3Bi4B,EACE72B,EACApB,EACAomB,GACA0T,GACAhG,EACA8E,EAAG,SACHI,EACA9B,EACAqD,EAAA,CAGN,CACF,CAEE5R,EAAY,GACViQ,EAAG,WAAaC,EAAG,UACFP,EAAAl3B,EAAIy3B,EAAG,QAAQ,CAG7B,KAAA,CAACvQ,GAAayS,GAAmB,MAC1CO,EACEl6B,EACAy3B,EACAmC,EACAC,EACAjC,EACA9B,EACApD,CAAA,IAGCoG,EAAYe,EAAS,iBAAmBb,IAC3ClP,GAAsB,IAAM,CAC1BgP,GAAaM,GAAgBN,EAAWlB,EAAiBH,EAAID,CAAE,EAC/DwB,GAAQzO,GAAoBkN,EAAID,EAAII,EAAiB,SAAS,GAC7D9B,CAAc,CACnB,EAEIkE,EAAqB,CAACG,EAAaC,EAAaC,EAAmBzC,EAAiB9B,EAAgBpD,EAAOmF,IAAiB,CAChI,QAASz4B,EAAI,EAAGA,EAAIg7B,EAAY,OAAQh7B,IAAK,CACrC,MAAAk7B,EAAWH,EAAY/6B,CAAC,EACxBm7B,EAAWH,EAAYh7B,CAAC,EACxBs4B,EAGJ4C,EAAS,KAERA,EAAS,OAASzX,IAEnB,CAACiV,GAAgBwC,EAAUC,CAAQ,GACnCD,EAAS,UAAa,IAAWnD,EAAemD,EAAS,EAAE,EAGzDD,EAGJ9C,EACE+C,EACAC,EACA7C,EACA,KACAE,EACA9B,EACApD,EACAmF,EACA,EAAA,CAEJ,CAAA,EAEIqC,EAAa,CAACl6B,EAAIylB,EAAOmU,EAAUC,EAAUjC,EAAiB9B,EAAgBpD,IAAU,CAC5F,GAAIkH,IAAaC,EAAU,CACzB,GAAID,IAAahpB,GACf,UAAWhS,KAAOg7B,EACZ,CAACxnB,GAAexT,CAAG,GAAK,EAAEA,KAAOi7B,IACnChD,EACE72B,EACApB,EACAg7B,EAASh7B,CAAG,EACZ,KACA8zB,EACAjN,EAAM,SACNmS,EACA9B,EACAqD,EAAA,EAKR,UAAWv6B,KAAOi7B,EAAU,CAC1B,GAAIznB,GAAexT,CAAG,EACpB,SACI,MAAA85B,EAAOmB,EAASj7B,CAAG,EACnBomB,EAAO4U,EAASh7B,CAAG,EACrB85B,IAAS1T,GAAQpmB,IAAQ,SAC3Bi4B,EACE72B,EACApB,EACAomB,EACA0T,EACAhG,EACAjN,EAAM,SACNmS,EACA9B,EACAqD,EAAA,CAGN,CACI,UAAWU,GACbhD,EAAc72B,EAAI,QAAS45B,EAAS,MAAOC,EAAS,KAAK,CAE7D,CAAA,EAEIzB,EAAkB,CAACZ,EAAIC,EAAIC,EAAWC,EAAQC,EAAiB9B,EAAgBpD,EAAOmF,EAAc3Q,IAAc,CACtH,MAAMsT,EAAsB/C,EAAG,GAAKD,EAAKA,EAAG,GAAKT,EAAe,EAAE,EAC5D0D,EAAoBhD,EAAG,OAASD,EAAKA,EAAG,OAAST,EAAe,EAAE,EACxE,GAAI,CAAE,UAAAxP,EAAW,gBAAAoS,EAAiB,aAAce,GAAyBjD,EAOrEiD,IACF7C,EAAeA,EAAeA,EAAa,OAAO6C,CAAoB,EAAIA,GAExElD,GAAM,MACGb,EAAA6D,EAAqB9C,EAAWC,CAAM,EACtChB,EAAA8D,EAAmB/C,EAAWC,CAAM,EAC/CsB,GACExB,EAAG,SACHC,EACA+C,EACA7C,EACA9B,EACApD,EACAmF,EACA3Q,CAAA,GAGEK,EAAY,GAAKA,EAAY,IAAMoS,GAEvCnC,EAAG,iBACDwC,EACExC,EAAG,gBACHmC,EACAjC,EACAE,EACA9B,EACApD,EACAmF,CAAA,GASAJ,EAAG,KAAO,MAAQG,GAAmBH,IAAOG,EAAgB,UAE5D+C,GACEnD,EACAC,EACA,EAAA,GAKJwC,EACEzC,EACAC,EACAC,EACA+C,EACA7C,EACA9B,EACApD,EACAmF,EACA3Q,CAAA,CAGN,EAEIoR,EAAmB,CAACd,EAAIC,EAAIC,EAAWC,EAAQC,EAAiB9B,EAAgBpD,EAAOmF,EAAc3Q,IAAc,CACvHuQ,EAAG,aAAeI,EACdL,GAAM,KACJC,EAAG,UAAY,IACjBG,EAAgB,IAAI,SAClBH,EACAC,EACAC,EACAjF,EACAxL,CAAA,EAGF0T,EACEnD,EACAC,EACAC,EACAC,EACA9B,EACApD,EACAxL,CAAA,EAIY2T,GAAArD,EAAIC,EAAIvQ,CAAS,CACnC,EAEI0T,EAAiB,CAACE,EAAcpD,EAAWC,EAAQC,EAAiB9B,EAAgBpD,EAAOxL,IAAc,CACvG,MAAAzH,EAAYqb,EAAa,UAAYC,GACzCD,EACAlD,EACA9B,CAAA,EAqBF,GAZIhL,GAAYgQ,CAAY,IAC1Brb,EAAS,IAAI,SAAW8Y,IAMxByC,GAAevb,CAAQ,EAKrBA,EAAS,SAAU,CAEjB,GADcqW,GAAAA,EAAe,YAAYrW,EAAUwb,EAAiB,EACpE,CAACH,EAAa,GAAI,CACpB,MAAMI,EAAczb,EAAS,QAAUgH,EAAY1D,EAAO,EACvCmV,EAAA,KAAMgD,EAAaxD,EAAWC,CAAM,CACzD,CACA,MACF,CACAsD,GACExb,EACAqb,EACApD,EACAC,EACA7B,EACApD,EACAxL,CAAA,CAKF,EAEI2T,GAAkB,CAACrD,EAAIC,EAAIvQ,IAAc,CACvC,MAAAzH,EAAWgY,EAAG,UAAYD,EAAG,UACnC,GAAIzQ,GAAsByQ,EAAIC,EAAIvQ,CAAS,EACzC,GAAIzH,EAAS,UAAY,CAACA,EAAS,cAAe,CAIvB0b,EAAA1b,EAAUgY,EAAIvQ,CAAS,EAIhD,MAAA,MAEAzH,EAAS,KAAOgY,EAChB9V,GAAclC,EAAS,MAAM,EAC7BA,EAAS,OAAO,OAGlBgY,EAAG,GAAKD,EAAG,GACX/X,EAAS,MAAQgY,CACnB,EAEIwD,GAAoB,CAACxb,EAAUqb,EAAcpD,EAAWC,EAAQ7B,EAAgBpD,EAAOxL,IAAc,CACzG,MAAMkU,EAAoB,IAAM,CAC1B,GAAC3b,EAAS,UA0FP,CACL,GAAI,CAAE,KAAAiZ,EAAM,GAAA2C,EAAI,EAAAC,EAAG,OAAAz3B,EAAQ,MAAA4hB,EAAU,EAAAhG,EACjC8b,EAAa7C,EACbI,EAIJgB,GAAcra,EAAU,EAAK,EACzBiZ,GACFA,EAAK,GAAKjT,GAAM,GACS0V,EAAA1b,EAAUiZ,EAAMxR,CAAS,GAE3CwR,EAAAjT,GAEL4V,GACFpoB,GAAeooB,CAAE,GAEfvC,EAAYJ,EAAK,OAASA,EAAK,MAAM,sBACvBU,GAAAN,EAAWj1B,EAAQ60B,EAAMjT,EAAK,EAEhDqU,GAAcra,EAAU,EAAI,EAItB,MAAA+b,EAAWjW,GAAoB9F,CAAQ,EAIvCgc,GAAWhc,EAAS,QAC1BA,EAAS,QAAU+b,EAInBjE,EACEkE,GACAD,EAEArE,EAAesE,GAAS,EAAE,EAE1B1D,GAAgB0D,EAAQ,EACxBhc,EACAqW,EACApD,CAAA,EAKFgG,EAAK,GAAK8C,EAAS,GACfD,IAAe,MACD1T,GAAApI,EAAU+b,EAAS,EAAE,EAEnCF,GACFxR,GAAsBwR,EAAGxF,CAAc,GAErCgD,EAAYJ,EAAK,OAASA,EAAK,MAAM,iBACvC5O,GACE,IAAMsP,GAAgBN,EAAWj1B,EAAQ60B,EAAMjT,EAAK,EACpDqQ,CAAA,EAIF1S,GAAyB3D,CAAQ,CAKrC,KA5JyB,CACnB,IAAAqZ,EACE,KAAA,CAAE,GAAA94B,EAAI,MAAA2jB,CAAU,EAAAmX,EAChB,CAAE,GAAAY,EAAI,EAAAz5B,GAAG,OAAA4B,CAAA,EAAW4b,EACpBkc,EAAsB9Q,GAAeiQ,CAAY,EASvD,GARAhB,GAAcra,EAAU,EAAK,EACzBic,GACFzoB,GAAeyoB,CAAE,EAEf,CAACC,IAAwB7C,EAAYnV,GAASA,EAAM,qBACtCyV,GAAAN,EAAWj1B,EAAQi3B,CAAY,EAEjDhB,GAAcra,EAAU,EAAI,EACxBzf,GAAM47B,GAAa,CACrB,MAAMC,EAAiB,IAAM,CAIlBpc,EAAA,QAAU8F,GAAoB9F,CAAQ,EAO/Cmc,GACE57B,EACAyf,EAAS,QACTA,EACAqW,EACA,IAAA,CAIF,EAEE6F,EACWb,EAAA,KAAK,gBAAgB,KAKhC,IAAM,CAACrb,EAAS,aAAeoc,EAAe,CAAA,EAGjCA,GACjB,KACK,CAIL,MAAMrC,EAAU/Z,EAAS,QAAU8F,GAAoB9F,CAAQ,EAO/D8X,EACE,KACAiC,EACA9B,EACAC,EACAlY,EACAqW,EACApD,CAAA,EAKFoI,EAAa,GAAKtB,EAAQ,EAC5B,CAIA,GAHIv3B,IACF6nB,GAAsB7nB,GAAG6zB,CAAc,EAErC,CAAC6F,IAAwB7C,EAAYnV,GAASA,EAAM,gBAAiB,CACvE,MAAMmY,EAAqBhB,EAC3BhR,GACE,IAAMsP,GAAgBN,EAAWj1B,EAAQi4B,CAAkB,EAC3DhG,CAAA,CAEJ,EACIgF,EAAa,UAAY,KAAOj3B,GAAUgnB,GAAehnB,EAAO,KAAK,GAAKA,EAAO,MAAM,UAAY,MACrG4b,EAAS,GAAKqK,GAAsBrK,EAAS,EAAGqW,CAAc,EAEhErW,EAAS,UAAY,GAEnByD,GAAuBzD,CAAQ,EAEjCqb,EAAepD,EAAYC,EAAS,IAAA,CAmEtC,EAEIniB,EAASiK,EAAS,OAAS,IAAI9I,GACnCykB,EACA,IAAM7Z,GAASwa,CAAM,EACrBtc,EAAS,KAAA,EAGLsc,EAAStc,EAAS,OAAS,IAAMjK,EAAO,IAAI,EAClDumB,EAAO,GAAKtc,EAAS,IACrBqa,GAAcra,EAAU,EAAI,EAMrBsc,GAAA,EAEHZ,EAA2B,CAAC1b,EAAUwH,EAAWC,IAAc,CACnED,EAAU,UAAYxH,EAChB,MAAA0H,EAAY1H,EAAS,MAAM,MACjCA,EAAS,MAAQwH,EACjBxH,EAAS,KAAO,KAChB2T,GAAY3T,EAAUwH,EAAU,MAAOE,EAAWD,CAAS,EAC/CsO,GAAA/V,EAAUwH,EAAU,SAAUC,CAAS,EACrChQ,KACd2K,GAAiBpC,CAAQ,EACXtI,IAAA,EAEV8iB,EAAgB,CAACzC,EAAIC,EAAIC,EAAWC,EAAQC,EAAiB9B,EAAgBpD,EAAOmF,EAAc3Q,EAAY,KAAU,CACtH,MAAA8U,EAAKxE,GAAMA,EAAG,SACdyE,EAAgBzE,EAAKA,EAAG,UAAY,EACpC0E,EAAKzE,EAAG,SACR,CAAE,UAAAlQ,EAAW,UAAAX,CAAc,EAAA6Q,EACjC,GAAIlQ,EAAY,GACd,GAAIA,EAAY,IAAK,CACnB4U,GACEH,EACAE,EACAxE,EACAC,EACAC,EACA9B,EACApD,EACAmF,EACA3Q,CAAA,EAEF,MAAA,SACSK,EAAY,IAAK,CAC1B6U,EACEJ,EACAE,EACAxE,EACAC,EACAC,EACA9B,EACApD,EACAmF,EACA3Q,CAAA,EAEF,MACF,EAEEN,EAAY,GACVqV,EAAgB,IACF9C,GAAA6C,EAAIpE,EAAiB9B,CAAc,EAEjDoG,IAAOF,GACT9E,EAAmBQ,EAAWwE,CAAE,GAG9BD,EAAgB,GACdrV,EAAY,GACduV,GACEH,EACAE,EACAxE,EACAC,EACAC,EACA9B,EACApD,EACAmF,EACA3Q,CAAA,EAGciS,GAAA6C,EAAIpE,EAAiB9B,EAAgB,EAAI,GAGvDmG,EAAgB,GAClB/E,EAAmBQ,EAAW,EAAE,EAE9B9Q,EAAY,IACdqS,GACEiD,EACAxE,EACAC,EACAC,EACA9B,EACApD,EACAmF,EACA3Q,CAAA,EAIR,EAEIkV,EAAuB,CAACJ,EAAIE,EAAIxE,EAAWC,EAAQC,EAAiB9B,EAAgBpD,EAAOmF,EAAc3Q,IAAc,CAC3H8U,EAAKA,GAAMnrB,GACXqrB,EAAKA,GAAMrrB,GACX,MAAMwrB,EAAYL,EAAG,OACfnkB,EAAYqkB,EAAG,OACfI,EAAe,KAAK,IAAID,EAAWxkB,CAAS,EAC9C,IAAAzY,EACJ,IAAKA,EAAI,EAAGA,EAAIk9B,EAAcl9B,IAAK,CACjC,MAAMm9B,EAAYL,EAAG98B,CAAC,EAAI8nB,EAAYwS,GAAewC,EAAG98B,CAAC,CAAC,EAAIinB,GAAe6V,EAAG98B,CAAC,CAAC,EAClFm4B,EACEyE,EAAG58B,CAAC,EACJm9B,EACA7E,EACA,KACAE,EACA9B,EACApD,EACAmF,EACA3Q,CAAA,CAEJ,CACImV,EAAYxkB,EACdshB,GACE6C,EACApE,EACA9B,EACA,GACA,GACAwG,CAAA,EAGFrD,GACEiD,EACAxE,EACAC,EACAC,EACA9B,EACApD,EACAmF,EACA3Q,EACAoV,CAAA,CAEJ,EAEIH,GAAqB,CAACH,EAAIE,EAAIxE,EAAW8E,EAAc5E,EAAiB9B,EAAgBpD,EAAOmF,EAAc3Q,IAAc,CAC/H,IAAI9nB,EAAI,EACR,MAAMq9B,EAAKP,EAAG,OACV,IAAAQ,EAAKV,EAAG,OAAS,EACjBW,EAAKF,EAAK,EACP,KAAAr9B,GAAKs9B,GAAMt9B,GAAKu9B,GAAI,CACnB,MAAAnF,EAAKwE,EAAG58B,CAAC,EACTq4B,GAAKyE,EAAG98B,CAAC,EAAI8nB,EAAYwS,GAAewC,EAAG98B,CAAC,CAAC,EAAIinB,GAAe6V,EAAG98B,CAAC,CAAC,EACvE,GAAA04B,GAAgBN,EAAIC,EAAE,EACxBF,EACEC,EACAC,GACAC,EACA,KACAE,EACA9B,EACApD,EACAmF,EACA3Q,CAAA,MAGF,OAEF9nB,GACF,CACO,KAAAA,GAAKs9B,GAAMt9B,GAAKu9B,GAAI,CACnB,MAAAnF,EAAKwE,EAAGU,CAAE,EACVjF,GAAKyE,EAAGS,CAAE,EAAIzV,EAAYwS,GAAewC,EAAGS,CAAE,CAAC,EAAItW,GAAe6V,EAAGS,CAAE,CAAC,EAC1E,GAAA7E,GAAgBN,EAAIC,EAAE,EACxBF,EACEC,EACAC,GACAC,EACA,KACAE,EACA9B,EACApD,EACAmF,EACA3Q,CAAA,MAGF,OAEFwV,IACAC,GACF,CACA,GAAIv9B,EAAIs9B,GACN,GAAIt9B,GAAKu9B,EAAI,CACX,MAAMC,EAAUD,EAAK,EACfhF,GAASiF,EAAUH,EAAKP,EAAGU,CAAO,EAAE,GAAKJ,EAC/C,KAAOp9B,GAAKu9B,GACVpF,EACE,KACA2E,EAAG98B,CAAC,EAAI8nB,EAAYwS,GAAewC,EAAG98B,CAAC,CAAC,EAAIinB,GAAe6V,EAAG98B,CAAC,CAAC,EAChEs4B,EACAC,GACAC,EACA9B,EACApD,EACAmF,EACA3Q,CAAA,EAEF9nB,GAEJ,UACSA,EAAIu9B,EACb,KAAOv9B,GAAKs9B,GACV1E,GAAQgE,EAAG58B,CAAC,EAAGw4B,EAAiB9B,EAAgB,EAAI,EACpD12B,QAEG,CACL,MAAMy9B,EAAKz9B,EACL09B,GAAK19B,EACL29B,MAAuC,IAC7C,IAAK39B,EAAI09B,GAAI19B,GAAKu9B,EAAIv9B,IAAK,CACzB,MAAMm9B,GAAYL,EAAG98B,CAAC,EAAI8nB,EAAYwS,GAAewC,EAAG98B,CAAC,CAAC,EAAIinB,GAAe6V,EAAG98B,CAAC,CAAC,EAC9Em9B,GAAU,KAAO,MAQFQ,EAAA,IAAIR,GAAU,IAAKn9B,CAAC,CAEzC,CACI,IAAA49B,EACAC,EAAU,EACR,MAAAC,GAAcP,EAAKG,GAAK,EAC9B,IAAIK,GAAQ,GACRC,GAAmB,EACjB,MAAAC,GAAwB,IAAI,MAAMH,EAAW,EAC9C,IAAA99B,EAAI,EAAGA,EAAI89B,GAAa99B,IAC3Bi+B,GAAsBj+B,CAAC,EAAI,EAC7B,IAAKA,EAAIy9B,EAAIz9B,GAAKs9B,EAAIt9B,IAAK,CACnB,MAAAk+B,GAAYtB,EAAG58B,CAAC,EACtB,GAAI69B,GAAWC,GAAa,CAClBlF,GAAAsF,GAAW1F,EAAiB9B,EAAgB,EAAI,EACxD,QACF,CACI,IAAAyH,GACA,GAAAD,GAAU,KAAO,KACRC,GAAAR,EAAiB,IAAIO,GAAU,GAAG,MAE7C,KAAKN,EAAIF,GAAIE,GAAKL,EAAIK,IAChB,GAAAK,GAAsBL,EAAIF,EAAE,IAAM,GAAKhF,GAAgBwF,GAAWpB,EAAGc,CAAC,CAAC,EAAG,CACjEO,GAAAP,EACX,KACF,CAGAO,KAAa,OACPvF,GAAAsF,GAAW1F,EAAiB9B,EAAgB,EAAI,GAElCuH,GAAAE,GAAWT,EAAE,EAAI19B,EAAI,EACvCm+B,IAAYH,GACKA,GAAAG,GAEXJ,GAAA,GAEV5F,EACE+F,GACApB,EAAGqB,EAAQ,EACX7F,EACA,KACAE,EACA9B,EACApD,EACAmF,EACA3Q,CAAA,EAEF+V,IAEJ,CACA,MAAMO,GAA6BL,GAAQM,GAAYJ,EAAqB,EAAIxsB,GAEhF,IADAmsB,EAAIQ,GAA2B,OAAS,EACnCp+B,EAAI89B,GAAc,EAAG99B,GAAK,EAAGA,IAAK,CACrC,MAAMs+B,GAAYZ,GAAK19B,EACjBm9B,GAAYL,EAAGwB,EAAS,EACxB/F,GAAS+F,GAAY,EAAIjB,EAAKP,EAAGwB,GAAY,CAAC,EAAE,GAAKlB,EACvDa,GAAsBj+B,CAAC,IAAM,EAC/Bm4B,EACE,KACAgF,GACA7E,EACAC,GACAC,EACA9B,EACApD,EACAmF,EACA3Q,CAAA,EAEOiW,KACLH,EAAI,GAAK59B,IAAMo+B,GAA2BR,CAAC,EACxCW,GAAApB,GAAW7E,EAAWC,GAAQ,CAAC,EAEpCqF,IAGN,CACF,CAAA,EAEIW,GAAO,CAAClY,EAAOiS,EAAWC,EAAQiG,EAAU9H,EAAiB,OAAS,CAC1E,KAAM,CAAE,GAAA91B,EAAI,KAAA7B,EAAM,WAAA46B,EAAY,SAAAzD,EAAU,UAAA1O,CAAc,EAAAnB,EACtD,GAAImB,EAAY,EAAG,CACjB+W,GAAKlY,EAAM,UAAU,QAASiS,EAAWC,EAAQiG,CAAQ,EACzD,MACF,CACA,GAAIhX,EAAY,IAAK,CACnBnB,EAAM,SAAS,KAAKiS,EAAWC,EAAQiG,CAAQ,EAC/C,MACF,CACA,GAAIhX,EAAY,GAAI,CAClBzoB,EAAK,KAAKsnB,EAAOiS,EAAWC,EAAQY,EAAS,EAC7C,MACF,CACA,GAAIp6B,IAAS0kB,GAAU,CACV8T,EAAA32B,EAAI03B,EAAWC,CAAM,EAChC,QAASv4B,EAAI,EAAGA,EAAIk2B,EAAS,OAAQl2B,IACnCu+B,GAAKrI,EAASl2B,CAAC,EAAGs4B,EAAWC,EAAQiG,CAAQ,EAEpCjH,EAAAlR,EAAM,OAAQiS,EAAWC,CAAM,EAC1C,MACF,CACA,GAAIx5B,IAAS6kB,GAAQ,CACJwV,EAAA/S,EAAOiS,EAAWC,CAAM,EACvC,MACF,CAEA,GADwBiG,IAAa,GAAKhX,EAAY,GAAKmS,EAEzD,GAAI6E,IAAa,EACf7E,EAAW,YAAY/4B,CAAE,EACd22B,EAAA32B,EAAI03B,EAAWC,CAAM,EAChC7N,GAAsB,IAAMiP,EAAW,MAAM/4B,CAAE,EAAG81B,CAAc,MAC3D,CACL,KAAM,CAAE,MAAA+H,EAAO,WAAAC,EAAY,WAAAC,CAAA,EAAehF,EACpCiF,GAAU,IAAMrH,EAAW32B,EAAI03B,EAAWC,CAAM,EAChDsG,EAAe,IAAM,CACzBJ,EAAM79B,EAAI,IAAM,CACdg+B,KACAD,GAAcA,EAAW,CAAA,CAC1B,CAAA,EAECD,EACSA,EAAA99B,EAAIg+B,GAASC,CAAY,EAEvBA,GAEjB,MAEWtH,EAAA32B,EAAI03B,EAAWC,CAAM,CAClC,EAEIK,GAAU,CAACvS,EAAOmS,EAAiB9B,EAAgBoI,EAAW,GAAOhX,EAAY,KAAU,CACzF,KAAA,CACJ,KAAA/oB,EACA,MAAAwlB,EACA,IAAA7F,EACA,SAAAwX,EACA,gBAAAqE,EACA,UAAA/S,EACA,UAAAW,EACA,KAAAyR,CACE,EAAAvT,EAIJ,GAHI3H,GAAO,MACT6X,GAAO7X,EAAK,KAAMgY,EAAgBrQ,EAAO,EAAI,EAE3CmB,EAAY,IAAK,CACHgR,EAAA,IAAI,WAAWnS,CAAK,EACpC,MACF,CACM,MAAA0Y,EAAmBvX,EAAY,GAAKoS,EACpCoF,GAAwB,CAACvT,GAAepF,CAAK,EAC/C,IAAAqT,EAIJ,GAHIsF,KAA0BtF,EAAYnV,GAASA,EAAM,uBACvCyV,GAAAN,EAAWlB,EAAiBnS,CAAK,EAE/CmB,EAAY,EACGyX,GAAA5Y,EAAM,UAAWqQ,EAAgBoI,CAAQ,MACrD,CACL,GAAItX,EAAY,IAAK,CACbnB,EAAA,SAAS,QAAQqQ,EAAgBoI,CAAQ,EAC/C,MACF,CACIC,GACkB5T,GAAA9E,EAAO,KAAMmS,EAAiB,eAAe,EAE/DhR,EAAY,GACdnB,EAAM,KAAK,OACTA,EACAmS,EACA9B,EACA5O,EACAqR,GACA2F,CAAA,EAEOvE,IACVx7B,IAAS0kB,IAAY0E,EAAY,GAAKA,EAAY,IACjD4R,GACEQ,EACA/B,EACA9B,EACA,GACA,EAAA,GAEO33B,IAAS0kB,IAAY0E,EAAa,KAAc,CAACL,GAAaN,EAAY,KACnEuS,GAAA7D,EAAUsC,EAAiB9B,CAAc,EAEvDoI,GACF/sB,GAAOsU,CAAK,CAEhB,EACI2Y,KAA0BtF,EAAYnV,GAASA,EAAM,mBAAqBwa,IAC5ErU,GAAsB,IAAM,CACbgP,GAAAM,GAAgBN,EAAWlB,EAAiBnS,CAAK,EAC9D0Y,GAAoB5T,GAAoB9E,EAAO,KAAMmS,EAAiB,WAAW,GAChF9B,CAAc,CACnB,EAEI3kB,GAAUsU,GAAU,CACxB,KAAM,CAAE,KAAAtnB,EAAM,GAAA6B,EAAI,OAAA23B,EAAQ,WAAAoB,GAAetT,EACzC,GAAItnB,IAAS0kB,GAAU,CAUnByb,GAAet+B,EAAI23B,CAAM,EAE3B,MACF,CACA,GAAIx5B,IAAS6kB,GAAQ,CACnB2V,EAAiBlT,CAAK,EACtB,MACF,CACA,MAAM8Y,EAAgB,IAAM,CAC1B3H,EAAW52B,CAAE,EACT+4B,GAAc,CAACA,EAAW,WAAaA,EAAW,YACpDA,EAAW,WAAW,CACxB,EAEF,GAAItT,EAAM,UAAY,GAAKsT,GAAc,CAACA,EAAW,UAAW,CACxD,KAAA,CAAE,MAAA8E,EAAO,WAAAC,CAAe,EAAA/E,EACxBkF,EAAe,IAAMJ,EAAM79B,EAAIu+B,CAAa,EAC9CT,EACSA,EAAArY,EAAM,GAAI8Y,EAAeN,CAAY,EAEnCA,GACf,MAEcM,GAChB,EAEID,GAAiB,CAACve,EAAKtd,IAAQ,CAC/B,IAAAi2B,EACJ,KAAO3Y,IAAQtd,GACbi2B,EAAOtB,EAAgBrX,CAAG,EAC1B6W,EAAW7W,CAAG,EACRA,EAAA2Y,EAER9B,EAAWn0B,CAAG,CAAA,EAEV47B,GAAmB,CAAC5e,EAAUqW,EAAgBoI,IAAa,CAI/D,KAAM,CAAE,IAAAM,EAAK,MAAA3+B,EAAO,OAAAk8B,EAAQ,QAAAvC,EAAS,GAAAiF,CAAO,EAAAhf,EACxC+e,GACFvrB,GAAeurB,CAAG,EAEpB3+B,EAAM,KAAK,EACPk8B,IACFA,EAAO,OAAS,GACR/D,GAAAwB,EAAS/Z,EAAUqW,EAAgBoI,CAAQ,GAEjDO,GACF3U,GAAsB2U,EAAI3I,CAAc,EAE1ChM,GAAsB,IAAM,CAC1BrK,EAAS,YAAc,IACtBqW,CAAc,EACbA,GAAkBA,EAAe,eAAiB,CAACA,EAAe,aAAerW,EAAS,UAAY,CAACA,EAAS,eAAiBA,EAAS,aAAeqW,EAAe,YAC3JA,EAAA,OACXA,EAAe,OAAS,GAC1BA,EAAe,QAAQ,GAIzBxS,GAAyB7D,CAAQ,CACnC,EAEI0Z,GAAkB,CAAC7D,EAAUsC,EAAiB9B,EAAgBoI,EAAW,GAAOhX,EAAY,GAAOhG,EAAQ,IAAM,CACrH,QAAS9hB,EAAI8hB,EAAO9hB,EAAIk2B,EAAS,OAAQl2B,IACvC44B,GAAQ1C,EAASl2B,CAAC,EAAGw4B,EAAiB9B,EAAgBoI,EAAUhX,CAAS,CAC3E,EAEI6Q,GAAmBtS,GACnBA,EAAM,UAAY,EACbsS,GAAgBtS,EAAM,UAAU,OAAO,EAE5CA,EAAM,UAAY,IACbA,EAAM,SAAS,OAEjB2R,EAAgB3R,EAAM,QAAUA,EAAM,EAAE,EAE3CK,GAAS,CAACL,EAAOiS,EAAWhF,IAAU,CACtCjN,GAAS,KACPiS,EAAU,QACZM,GAAQN,EAAU,OAAQ,KAAM,KAAM,EAAI,EAGtCH,EAAAG,EAAU,QAAU,KAAMjS,EAAOiS,EAAW,KAAM,KAAM,KAAMhF,CAAK,EAE1D7Q,KACCE,KAClB2V,EAAU,OAASjS,CAAA,EAEf8S,GAAY,CAChB,EAAGhB,EACH,GAAIS,GACJ,EAAG2F,GACH,EAAGxsB,GACH,GAAIypB,EACJ,GAAI3B,GACJ,GAAIgB,EACJ,IAAKD,EACL,EAAGjC,GACH,EAAGx4B,CAAA,EAED,IAAA0yB,GACA2J,GACJ,OAAIlF,IACD,CAAAzE,GAAS2J,EAAW,EAAIlF,EACvB6B,EAAA,GAGG,CACL,OAAAzS,GACA,QAAAmM,GACA,UAAWD,GAAalM,GAAQmM,EAAO,CAAA,CAE3C,CACA,SAAS6H,GAAc,CAAE,OAAAtkB,EAAQ,OAAAumB,CAAA,EAAU2C,EAAS,CAClDlpB,EAAO,aAAeumB,EAAO,aAAe2C,CAC9C,CACA,SAASpF,GAAexD,EAAgBiD,EAAY,CAC1C,OAAA,CAACjD,GAAkBA,GAAkB,CAACA,EAAe,gBAAkBiD,GAAc,CAACA,EAAW,SAC3G,CACA,SAAS4B,GAAuBnD,EAAIC,EAAI3e,EAAU,GAAO,CACvD,MAAM6lB,EAAMnH,EAAG,SACToH,EAAMnH,EAAG,SACf,GAAIlmB,EAAQotB,CAAG,GAAKptB,EAAQqtB,CAAG,EAC7B,QAASx/B,EAAI,EAAGA,EAAIu/B,EAAI,OAAQv/B,IAAK,CAC7B,MAAA48B,EAAK2C,EAAIv/B,CAAC,EACZ,IAAA88B,EAAK0C,EAAIx/B,CAAC,EACV88B,EAAG,UAAY,GAAK,CAACA,EAAG,mBACtBA,EAAG,WAAa,GAAKA,EAAG,YAAc,MACxCA,EAAK0C,EAAIx/B,CAAC,EAAIs6B,GAAekF,EAAIx/B,CAAC,CAAC,EACnC88B,EAAG,GAAKF,EAAG,IAERljB,GACH6hB,GAAuBqB,EAAIE,CAAE,GAE7BA,EAAG,OAASpZ,KACdoZ,EAAG,GAAKF,EAAG,GAKf,CAEJ,CACA,SAASyB,GAAYrsB,EAAK,CAClB,MAAA2P,EAAI3P,EAAI,QACRzS,EAAS,CAAC,CAAC,EACb,IAAAS,EAAG49B,EAAG1B,EAAGzmB,EAAGzN,EAChB,MAAMy3B,EAAMztB,EAAI,OAChB,IAAKhS,EAAI,EAAGA,EAAIy/B,EAAKz/B,IAAK,CAClB,MAAA0/B,EAAO1tB,EAAIhS,CAAC,EAClB,GAAI0/B,IAAS,EAAG,CAEV,GADA9B,EAAAr+B,EAAOA,EAAO,OAAS,CAAC,EACxByS,EAAI4rB,CAAC,EAAI8B,EAAM,CACjB/d,EAAE3hB,CAAC,EAAI49B,EACPr+B,EAAO,KAAKS,CAAC,EACb,QACF,CAGA,IAFIk8B,EAAA,EACJzmB,EAAIlW,EAAO,OAAS,EACb28B,EAAIzmB,GACTzN,EAAIk0B,EAAIzmB,GAAK,EACTzD,EAAIzS,EAAOyI,CAAC,CAAC,EAAI03B,EACnBxD,EAAIl0B,EAAI,EAEJyN,EAAAzN,EAGJ03B,EAAO1tB,EAAIzS,EAAO28B,CAAC,CAAC,IAClBA,EAAI,IACNva,EAAE3hB,CAAC,EAAIT,EAAO28B,EAAI,CAAC,GAErB38B,EAAO28B,CAAC,EAAIl8B,EAEhB,CACF,CAGA,IAFAk8B,EAAI38B,EAAO,OACPkW,EAAAlW,EAAO28B,EAAI,CAAC,EACTA,KAAM,GACX38B,EAAO28B,CAAC,EAAIzmB,EACZA,EAAIkM,EAAElM,CAAC,EAEF,OAAAlW,CACT,CAEA,MAAMogC,GAAc5gC,GAASA,EAAK,aAC5B6gC,GAAsBrb,GAAUA,IAAUA,EAAM,UAAYA,EAAM,WAAa,IAC/Esb,GAAe5nB,GAAW,OAAO,WAAe,KAAeA,aAAkB,WACjF6nB,GAAgB,CAACvb,EAAOwb,IAAW,CACjC,MAAAC,EAAiBzb,GAASA,EAAM,GAClC,OAAA/R,GAASwtB,CAAc,EACpBD,EAMYA,EAAOC,CAAc,EAF7B,KAcFA,CAEX,EACMC,GAAe,CACnB,KAAM,WACN,aAAc,GACd,QAAQ7H,EAAIC,EAAIC,EAAWC,EAAQC,EAAiB9B,EAAgBpD,EAAOmF,EAAc3Q,EAAWqR,EAAW,CACvG,KAAA,CACJ,GAAIU,EACJ,GAAIgB,EACJ,IAAKD,EACL,EAAG,CAAE,OAAAsF,EAAQ,cAAAC,EAAe,WAAAC,EAAY,cAAAC,CAAc,CACpD,EAAAlH,EACEmH,EAAWV,GAAmBvH,EAAG,KAAK,EAC5C,GAAI,CAAE,UAAA7Q,EAAW,SAAA0O,EAAU,gBAAAqE,CAAA,EAAoBlC,EAK/C,GAAID,GAAM,KAAM,CACR,MAAA0D,GAAczD,EAAG,GAAmF+H,EAAW,EAAE,EACjHG,GAAalI,EAAG,OAAqF+H,EAAW,EAAE,EACjHF,EAAApE,GAAaxD,EAAWC,CAAM,EAC9B2H,EAAAK,GAAYjI,EAAWC,CAAM,EACpC,MAAMtgB,EAASogB,EAAG,OAASyH,GAAczH,EAAG,MAAO8H,CAAa,EAC1DK,GAAenI,EAAG,aAAe+H,EAAW,EAAE,EAChDnoB,IACFioB,EAAOM,GAAcvoB,CAAM,EACnBqb,EAAAA,GAASuM,GAAY5nB,CAAM,GAI/B,MAAAwoB,GAAQ,CAACC,EAAYC,IAAY,CACjCnZ,EAAY,IACdqS,EACE3D,EACAwK,EACAC,EACAnI,EACA9B,EACApD,EACAmF,EACA3Q,CAAA,CAEJ,EAEEwY,EACFG,GAAMnI,EAAWiI,EAAU,EAClBtoB,GACTwoB,GAAMxoB,EAAQuoB,EAAY,CAC5B,KACK,CACLnI,EAAG,GAAKD,EAAG,GACL,MAAAmI,GAAalI,EAAG,OAASD,EAAG,OAC5BngB,GAASogB,EAAG,OAASD,EAAG,OACxBoI,EAAenI,EAAG,aAAeD,EAAG,aACpCwI,GAAchB,GAAmBxH,EAAG,KAAK,EACzCyI,GAAmBD,GAActI,EAAYrgB,GAC7C6oB,EAAgBF,GAAcL,GAAaC,EA0BjD,GAzBQlN,EAAAA,GAASuM,GAAY5nB,EAAM,EAC/BsiB,GACFK,EACExC,EAAG,gBACHmC,EACAsG,GACArI,EACA9B,EACApD,EACAmF,CAAA,EAEqB8C,GAAAnD,EAAIC,EAAI,EAAI,GACzBvQ,GACV+S,EACEzC,EACAC,EACAwI,GACAC,EACAtI,EACA9B,EACApD,EACAmF,EACA,EAAA,EAGA6H,EACGM,GASCvI,EAAG,OAASD,EAAG,OAASC,EAAG,MAAM,KAAOD,EAAG,MAAM,KAChDC,EAAA,MAAM,GAAKD,EAAG,MAAM,IATzB2I,GACE1I,EACAC,EACAiI,GACApH,EACA,CAAA,WAQCd,EAAG,OAASA,EAAG,MAAM,OAASD,EAAG,OAASA,EAAG,MAAM,IAAK,CACrD,MAAA4I,EAAa3I,EAAG,OAASyH,GAC7BzH,EAAG,MACH8H,CAAA,EAEEa,GACFD,GACE1I,EACA2I,EACA,KACA7H,EACA,CAAA,OASKyH,IACTG,GACE1I,EACApgB,GACAuoB,EACArH,EACA,CAAA,CAIR,CACA8H,GAAc5I,CAAE,CAClB,EACA,OAAOhS,EAAOmS,EAAiB9B,EAAgB5O,EAAW,CAAE,GAAI8Q,EAAS,EAAG,CAAE,OAAQpB,CAAW,CAAA,EAAKsH,EAAU,CAC9G,KAAM,CAAE,UAAAtX,EAAW,SAAA0O,EAAU,OAAAqC,EAAQ,aAAAiI,EAAc,OAAAvoB,EAAQ,MAAAsM,CAAU,EAAA8B,EAKrE,GAJIpO,GACFuf,EAAWgJ,CAAY,EAEzB1B,GAAYtH,EAAWe,CAAM,EACzB/Q,EAAY,GAAI,CAClB,MAAM0Z,EAAepC,GAAY,CAACc,GAAmBrb,CAAK,EAC1D,QAASvkB,EAAI,EAAGA,EAAIk2B,EAAS,OAAQl2B,IAAK,CAClC,MAAAW,EAAQu1B,EAASl2B,CAAC,EACxB44B,EACEj4B,EACA63B,EACA9B,EACAwK,EACA,CAAC,CAACvgC,EAAM,eAAA,CAEZ,CACF,CACF,EACA,KAAMogC,GACN,QAASI,EACX,EACA,SAASJ,GAAa1a,EAAOiS,EAAW8E,EAAc,CAAE,EAAG,CAAE,OAAA8C,CAAA,EAAU,EAAG3B,GAAQC,EAAW,EAAG,CAC1FA,IAAa,GACR0B,EAAA7Z,EAAM,aAAciS,EAAW8E,CAAY,EAEpD,KAAM,CAAE,GAAAx8B,EAAI,OAAA23B,EAAQ,UAAA/Q,EAAW,SAAA0O,EAAU,MAAA3R,CAAU,EAAA8B,EAC7C+a,EAAY5C,IAAa,EAI/B,GAHI4C,GACKlB,EAAAt/B,EAAI03B,EAAW8E,CAAY,GAEhC,CAACgE,GAAaxB,GAAmBrb,CAAK,IACpCiD,EAAY,GACd,QAASxnB,EAAI,EAAGA,EAAIk2B,EAAS,OAAQl2B,IACnCu+B,EACErI,EAASl2B,CAAC,EACVs4B,EACA8E,EACA,CAAA,EAKJgE,GACKlB,EAAA3H,EAAQD,EAAW8E,CAAY,CAE1C,CACA,SAAS+D,GAAgBxhC,EAAM0mB,EAAOmS,EAAiB9B,EAAgB+B,EAAc3Q,EAAW,CAC9F,EAAG,CAAE,YAAAuR,EAAa,WAAAgI,EAAY,cAAAlB,CAAc,CAC9C,EAAGmB,EAAiB,CACZ,MAAArpB,EAASoO,EAAM,OAASyZ,GAC5BzZ,EAAM,MACN8Z,CAAA,EAEF,GAAIloB,EAAQ,CACJ,MAAAspB,EAAatpB,EAAO,MAAQA,EAAO,WACrC,GAAAoO,EAAM,UAAY,GAChB,GAAAuZ,GAAmBvZ,EAAM,KAAK,EAChCA,EAAM,OAASib,EACbjI,EAAY15B,CAAI,EAChB0mB,EACAgb,EAAW1hC,CAAI,EACf64B,EACA9B,EACA+B,EACA3Q,CAAA,EAEFzB,EAAM,aAAekb,MAChB,CACClb,EAAA,OAASgT,EAAY15B,CAAI,EAC/B,IAAI6gC,EAAee,EACnB,KAAOf,GAEL,GADAA,EAAenH,EAAYmH,CAAY,EACnCA,GAAgBA,EAAa,WAAa,GAAKA,EAAa,OAAS,kBAAmB,CAC1Fna,EAAM,aAAema,EACrBvoB,EAAO,KAAOoO,EAAM,cAAgBgT,EAAYhT,EAAM,YAAY,EAClE,KACF,CAEFib,EACEC,EACAlb,EACApO,EACAugB,EACA9B,EACA+B,EACA3Q,CAAA,CAEJ,CAEFmZ,GAAc5a,CAAK,CACrB,CACA,OAAOA,EAAM,QAAUgT,EAAYhT,EAAM,MAAM,CACjD,CACA,MAAMmb,GAAWvB,GACjB,SAASgB,GAAc5a,EAAO,CAC5B,MAAMP,EAAMO,EAAM,IACd,GAAAP,GAAOA,EAAI,GAAI,CACjB,IAAInmB,EAAO0mB,EAAM,SAAS,CAAC,EAAE,GACtB,KAAA1mB,GAAQA,IAAS0mB,EAAM,cACxB1mB,EAAK,WAAa,GACfA,EAAA,aAAa,eAAgBmmB,EAAI,GAAG,EAC3CnmB,EAAOA,EAAK,YAEdmmB,EAAI,GAAG,CACT,CACF,CAEA,MAAMrC,GAAW,OAAO,IAAI,OAAO,EAC7BC,GAAO,OAAO,IAAI,OAAO,EACzBC,GAAU,OAAO,IAAI,OAAO,EAC5BC,GAAS,OAAO,IAAI,OAAO,EAC3BwD,GAAa,CAAA,EACnB,IAAIqa,GAAe,KACnB,SAASlU,EAAUmU,EAAkB,GAAO,CAC1Cta,GAAW,KAAKqa,GAAeC,EAAkB,KAAO,CAAE,CAAA,CAC5D,CACA,SAASC,IAAa,CACpBva,GAAW,IAAI,EACfqa,GAAera,GAAWA,GAAW,OAAS,CAAC,GAAK,IACtD,CACA,IAAIwa,GAAqB,EACzB,SAAS3b,GAAiB9mB,EAAO,CACTyiC,IAAAziC,CACxB,CACA,SAAS0iC,GAAWxb,EAAO,CACzB,OAAAA,EAAM,gBAAkBub,GAAqB,EAAIH,IAAgBhwB,GAAY,KAClEkwB,KACPC,GAAqB,GAAKH,IAC5BA,GAAa,KAAKpb,CAAK,EAElBA,CACT,CACA,SAASyb,EAAmB/iC,EAAMwlB,EAAO2R,EAAU/N,EAAWG,EAAcd,EAAW,CAC9E,OAAAqa,GACLE,EACEhjC,EACAwlB,EACA2R,EACA/N,EACAG,EACAd,EACA,EAEF,CAAA,CAEJ,CACA,SAASmG,GAAY5uB,EAAMwlB,EAAO2R,EAAU/N,EAAWG,EAAc,CAC5D,OAAAuZ,GACLxa,EACEtoB,EACAwlB,EACA2R,EACA/N,EACAG,EACA,EAEF,CAAA,CAEJ,CACA,SAASuF,GAAQ1uB,EAAO,CACf,OAAAA,EAAQA,EAAM,cAAgB,GAAO,EAC9C,CACA,SAASu5B,GAAgBN,EAAIC,EAAI,CAM/B,OAAOD,EAAG,OAASC,EAAG,MAAQD,EAAG,MAAQC,EAAG,GAC9C,CAUA,MAAMvE,GAAoB,cACpBkO,GAAe,CAAC,CAAE,IAAAxiC,CAAU,IAAAA,GAAoB,KAChDyiC,GAAe,CAAC,CACpB,IAAAvjB,EACA,QAAAwjB,EACA,QAAAC,CACF,KACM,OAAOzjB,GAAQ,WACjBA,EAAM,GAAKA,GAENA,GAAO,KAAOlM,GAASkM,CAAG,GAAK1E,GAAM0E,CAAG,GAAKnM,GAAWmM,CAAG,EAAI,CAAE,EAAG+G,GAA0B,EAAG/G,EAAK,EAAGwjB,EAAS,EAAG,CAAC,CAACC,CAAQ,EAAIzjB,EAAM,MAElJ,SAASqjB,EAAgBhjC,EAAMwlB,EAAQ,KAAM2R,EAAW,KAAM/N,EAAY,EAAGG,EAAe,KAAMd,EAAYzoB,IAAS0kB,GAAW,EAAI,EAAG2e,EAAc,GAAOC,EAAgC,GAAO,CACnM,MAAMhc,EAAQ,CACZ,YAAa,GACb,SAAU,GACV,KAAAtnB,EACA,MAAAwlB,EACA,IAAKA,GAASyd,GAAazd,CAAK,EAChC,IAAKA,GAAS0d,GAAa1d,CAAK,EAChC,QAASmB,GACT,aAAc,KACd,SAAAwQ,EACA,UAAW,KACX,SAAU,KACV,UAAW,KACX,WAAY,KACZ,KAAM,KACN,WAAY,KACZ,GAAI,KACJ,OAAQ,KACR,OAAQ,KACR,aAAc,KACd,YAAa,EACb,UAAA1O,EACA,UAAAW,EACA,aAAAG,EACA,gBAAiB,KACjB,WAAY,KACZ,IAAK7C,EAAA,EAEP,OAAI4c,GACFC,GAAkBjc,EAAO6P,CAAQ,EAC7B1O,EAAY,KACdzoB,EAAK,UAAUsnB,CAAK,GAEb6P,IACT7P,EAAM,WAAa7T,GAAS0jB,CAAQ,EAAI,EAAI,IAK1C0L,GAAqB,GACzB,CAACQ,GACDX,KAICpb,EAAM,UAAY,GAAKmB,EAAY,IAEpCnB,EAAM,YAAc,IAClBob,GAAa,KAAKpb,CAAK,EAElBA,CACT,CACA,MAAMgB,EAAyFkb,GAC/F,SAASA,GAAaxjC,EAAMwlB,EAAQ,KAAM2R,EAAW,KAAM/N,EAAY,EAAGG,EAAe,KAAM8Z,EAAc,GAAO,CAO9G,IANA,CAACrjC,GAAQA,IAAS+pB,MAIb/pB,EAAA4kB,IAELkK,GAAQ9uB,CAAI,EAAG,CACjB,MAAMyjC,EAAS9a,GACb3oB,EACAwlB,EACA,EAAA,EAGF,OAAI2R,GACFoM,GAAkBE,EAAQtM,CAAQ,EAEhC0L,GAAqB,GAAK,CAACQ,GAAeX,KACxCe,EAAO,UAAY,EACrBf,GAAaA,GAAa,QAAQ1iC,CAAI,CAAC,EAAIyjC,EAE3Cf,GAAa,KAAKe,CAAM,GAG5BA,EAAO,WAAa,GACbA,CACT,CAIA,GAHIC,GAAiB1jC,CAAI,IACvBA,EAAOA,EAAK,WAEVwlB,EAAO,CACTA,EAAQme,GAAmBne,CAAK,EAChC,GAAI,CAAE,MAAO9Y,EAAO,MAAAk3B,CAAA,EAAUpe,EAC1B9Y,GAAS,CAAC+G,GAAS/G,CAAK,IACpB8Y,EAAA,MAAQxP,GAAetJ,CAAK,GAEhCiH,GAASiwB,CAAK,IACZzkB,GAAQykB,CAAK,GAAK,CAACxwB,EAAQwwB,CAAK,IAC1BA,EAAA7wB,GAAO,GAAI6wB,CAAK,GAEpBpe,EAAA,MAAQlQ,GAAesuB,CAAK,EAEtC,CACM,MAAAnb,EAAYhV,GAASzT,CAAI,EAAI,EAAIsqB,GAAWtqB,CAAI,EAAI,IAAM4gC,GAAW5gC,CAAI,EAAI,GAAK2T,GAAS3T,CAAI,EAAI,EAAIwT,GAAWxT,CAAI,EAAI,EAAI,EAU7H,OAAAgjC,EACLhjC,EACAwlB,EACA2R,EACA/N,EACAG,EACAd,EACA4a,EACA,EAAA,CAEJ,CACA,SAASM,GAAmBne,EAAO,CACjC,OAAKA,EAEErG,GAAQqG,CAAK,GAAKuP,MAAqBvP,EAAQzS,GAAO,CAAI,EAAAyS,CAAK,EAAIA,EADjE,IAEX,CACA,SAASmD,GAAWrB,EAAOuc,EAAYC,EAAW,GAAO,CACvD,KAAM,CAAE,MAAAte,EAAO,IAAA7F,EAAK,UAAAyJ,EAAW,SAAA+N,CAAa,EAAA7P,EACtCyc,EAAcF,EAAaG,GAAWxe,GAAS,GAAIqe,CAAU,EAAIre,EA2ChE,MA1CQ,CACb,YAAa,GACb,SAAU,GACV,KAAM8B,EAAM,KACZ,MAAOyc,EACP,IAAKA,GAAed,GAAac,CAAW,EAC5C,IAAKF,GAAcA,EAAW,IAI5BC,GAAYnkB,EAAMvM,EAAQuM,CAAG,EAAIA,EAAI,OAAOujB,GAAaW,CAAU,CAAC,EAAI,CAAClkB,EAAKujB,GAAaW,CAAU,CAAC,EAAIX,GAAaW,CAAU,EAC/HlkB,EACJ,QAAS2H,EAAM,QACf,aAAcA,EAAM,aACpB,SAA8H6P,EAC9H,OAAQ7P,EAAM,OACd,aAAcA,EAAM,aACpB,YAAaA,EAAM,YACnB,UAAWA,EAAM,UAKjB,UAAWuc,GAAcvc,EAAM,OAAS5C,GAAW0E,IAAc,GAAK,GAAKA,EAAY,GAAKA,EAC5F,aAAc9B,EAAM,aACpB,gBAAiBA,EAAM,gBACvB,WAAYA,EAAM,WAClB,KAAMA,EAAM,KACZ,WAAYA,EAAM,WAKlB,UAAWA,EAAM,UACjB,SAAUA,EAAM,SAChB,UAAWA,EAAM,WAAaqB,GAAWrB,EAAM,SAAS,EACxD,WAAYA,EAAM,YAAcqB,GAAWrB,EAAM,UAAU,EAC3D,GAAIA,EAAM,GACV,OAAQA,EAAM,OACd,IAAKA,EAAM,IACX,GAAIA,EAAM,EAAA,CAGd,CAQA,SAAS2c,GAAgB5iC,EAAO,IAAK6iC,EAAO,EAAG,CAC7C,OAAO5b,EAAY3D,GAAM,KAAMtjB,EAAM6iC,CAAI,CAC3C,CACA,SAASC,GAAkBC,EAASC,EAAe,CACjD,MAAM/c,EAAQgB,EAAYzD,GAAQ,KAAMuf,CAAO,EAC/C,OAAA9c,EAAM,YAAc+c,EACb/c,CACT,CACA,SAASgd,GAAmBjjC,EAAO,GAAIkjC,EAAU,GAAO,CAC/C,OAAAA,GAAW/V,IAAaI,GAAYhK,GAAS,KAAMvjB,CAAI,GAAKinB,EAAY1D,GAAS,KAAMvjB,CAAI,CACpG,CACA,SAAS6mB,GAAetmB,EAAO,CAC7B,OAAIA,GAAS,MAAQ,OAAOA,GAAU,UAC7B0mB,EAAY1D,EAAO,EACjBxR,EAAQxR,CAAK,EACf0mB,EACL5D,GACA,KAEA9iB,EAAM,MAAM,CAAA,EAEL,OAAOA,GAAU,SACnB25B,GAAe35B,CAAK,EAEpB0mB,EAAY3D,GAAM,KAAM,OAAO/iB,CAAK,CAAC,CAEhD,CACA,SAAS25B,GAAe35B,EAAO,CACtB,OAAAA,EAAM,KAAO,MAAQA,EAAM,YAAc,IAAMA,EAAM,KAAOA,EAAQ+mB,GAAW/mB,CAAK,CAC7F,CACA,SAAS2hC,GAAkBjc,EAAO6P,EAAU,CAC1C,IAAIn3B,EAAO,EACL,KAAA,CAAE,UAAAyoB,CAAc,EAAAnB,EACtB,GAAI6P,GAAY,KACHA,EAAA,aACF/jB,EAAQ+jB,CAAQ,EAClBn3B,EAAA,WACE,OAAOm3B,GAAa,SACzB,GAAA1O,EAAa,GAAS,CACxB,MAAM8F,EAAO4I,EAAS,QAClB5I,IACGA,EAAA,KAAOA,EAAK,GAAK,IACJgV,GAAAjc,EAAOiH,GAAM,EAC1BA,EAAA,KAAOA,EAAK,GAAK,KAExB,MAAA,KACK,CACEvuB,EAAA,GACP,MAAMwkC,EAAWrN,EAAS,EACtB,CAACqN,GAAY,EAAEzP,MAAqBoC,GACtCA,EAAS,KAAOzQ,GACP8d,IAAa,GAAK9d,KACvBA,GAAyB,MAAM,IAAM,EACvCyQ,EAAS,EAAI,GAEbA,EAAS,EAAI,EACb7P,EAAM,WAAa,MAGzB,MACS9T,GAAW2jB,CAAQ,GAC5BA,EAAW,CAAE,QAASA,EAAU,KAAMzQ,EAAyB,EACxD1mB,EAAA,KAEPm3B,EAAW,OAAOA,CAAQ,EACtB1O,EAAY,IACPzoB,EAAA,GACIm3B,EAAA,CAAC8M,GAAgB9M,CAAQ,CAAC,GAE9Bn3B,EAAA,GAGXsnB,EAAM,SAAW6P,EACjB7P,EAAM,WAAatnB,CACrB,CACA,SAASgkC,MAAc1hC,EAAM,CAC3B,MAAMwT,EAAM,CAAA,EACZ,QAAS7U,EAAI,EAAGA,EAAIqB,EAAK,OAAQrB,IAAK,CAC9B,MAAAwjC,EAAUniC,EAAKrB,CAAC,EACtB,UAAWR,KAAOgkC,EAChB,GAAIhkC,IAAQ,QACNqV,EAAI,QAAU2uB,EAAQ,QACxB3uB,EAAI,MAAQE,GAAe,CAACF,EAAI,MAAO2uB,EAAQ,KAAK,CAAC,WAE9ChkC,IAAQ,QACjBqV,EAAI,MAAQR,GAAe,CAACQ,EAAI,MAAO2uB,EAAQ,KAAK,CAAC,UAC5C5xB,GAAKpS,CAAG,EAAG,CACd,MAAA23B,EAAWtiB,EAAIrV,CAAG,EAClBikC,EAAWD,EAAQhkC,CAAG,EACxBikC,GAAYtM,IAAasM,GAAY,EAAEtxB,EAAQglB,CAAQ,GAAKA,EAAS,SAASsM,CAAQ,KACpF5uB,EAAArV,CAAG,EAAI23B,EAAW,CAAA,EAAG,OAAOA,EAAUsM,CAAQ,EAAIA,EACxD,MACSjkC,IAAQ,KACbqV,EAAArV,CAAG,EAAIgkC,EAAQhkC,CAAG,EAG5B,CACO,OAAAqV,CACT,CACA,SAASmlB,GAAgB5W,EAAM/C,EAAUgG,EAAOuB,EAAY,KAAM,CACrCrH,GAAA6C,EAAM/C,EAAU,EAAG,CAC5CgG,EACAuB,CAAA,CACD,CACH,CAEA,MAAM8b,GAAkBhR,GAAiB,EACzC,IAAIiR,GAAM,EACV,SAAShI,GAAwBtV,EAAO5hB,EAAQ8kB,EAAU,CACxD,MAAMxqB,EAAOsnB,EAAM,KACbpB,GAAcxgB,EAASA,EAAO,WAAa4hB,EAAM,aAAeqd,GAChErjB,EAAW,CACf,IAAKsjB,KACL,MAAAtd,EACA,KAAAtnB,EACA,OAAA0F,EACA,WAAAwgB,EACA,KAAM,KAEN,KAAM,KACN,QAAS,KAET,OAAQ,KACR,OAAQ,KAER,MAAO,IAAIrP,GACT,EAEF,EACA,OAAQ,KACR,MAAO,KACP,QAAS,KACT,YAAa,KACb,UAAW,KACX,SAAUnR,EAASA,EAAO,SAAW,OAAO,OAAOwgB,EAAW,QAAQ,EACtE,YAAa,KACb,YAAa,CAAC,EAEd,WAAY,KACZ,WAAY,KAEZ,aAAc8P,GAAsBh2B,EAAMkmB,CAAU,EACpD,aAAcF,GAAsBhmB,EAAMkmB,CAAU,EAEpD,KAAM,KAEN,QAAS,KAET,cAAezT,GAEf,aAAczS,EAAK,aAEnB,IAAKyS,GACL,KAAMA,GACN,MAAOA,GACP,MAAOA,GACP,MAAOA,GACP,KAAMA,GACN,WAAYA,GACZ,aAAc,KACd,WAAY,KACZ,WAAY,KAEZ,SAAA+X,EACA,WAAYA,EAAWA,EAAS,UAAY,EAC5C,SAAU,KACV,cAAe,GAGf,UAAW,GACX,YAAa,GACb,cAAe,GACf,GAAI,KACJ,EAAG,KACH,GAAI,KACJ,EAAG,KACH,GAAI,KACJ,EAAG,KACH,GAAI,KACJ,IAAK,KACL,GAAI,KACJ,EAAG,KACH,IAAK,KACL,IAAK,KACL,GAAI,KACJ,GAAI,IAAA,EAKK,OAAAlJ,EAAA,IAAM,CAAE,EAAGA,CAAS,EAEtBA,EAAA,KAAO5b,EAASA,EAAO,KAAO4b,EACvCA,EAAS,KAAO9Z,GAAK,KAAK,KAAM8Z,CAAQ,EACpCgG,EAAM,IACRA,EAAM,GAAGhG,CAAQ,EAEZA,CACT,CACA,IAAI2I,GAAkB,KAElB4a,GACAC,GACAC,GAAa,4BAETD,GAA+BzvB,KAAgB0vB,EAAU,KAC7DD,GAA+BzvB,GAAc,EAAE0vB,EAAU,EAAI,CAAA,GAE/DD,GAA6B,KAAM7jC,GAAMgpB,GAAkBhpB,CAAC,EAC5D4jC,GAA8BvjB,GAAa,CACrCwjB,GAA6B,OAAS,EACxCA,GAA6B,QAAS18B,GAAMA,EAAEkZ,CAAQ,CAAC,EAE1BwjB,GAAA,CAAC,EAAExjB,CAAQ,CAC1C,EAGJ,MAAM0K,GAAsB1K,GAAa,CACvCujB,GAA2BvjB,CAAQ,EACnCA,EAAS,MAAM,IACjB,EACM2K,GAAuB,IAAM,CACdhC,IAAAA,GAAgB,MAAM,MACzC4a,GAA2B,IAAI,CACjC,EAUA,SAAS7V,GAAoB1N,EAAU,CAC9B,OAAAA,EAAS,MAAM,UAAY,CACpC,CACA,IAAImK,GAAwB,GAC5B,SAASoR,GAAevb,EAAUR,EAAQ,GAAO,CACvB2K,GAAA3K,EACxB,KAAM,CAAE,MAAA0E,EAAO,SAAA2R,GAAa7V,EAAS,MAC/BwT,EAAa9F,GAAoB1N,CAAQ,EACrCsT,GAAAtT,EAAUkE,EAAOsP,EAAYhU,CAAK,EAC5CsW,GAAU9V,EAAU6V,CAAQ,EAC5B,MAAM6N,EAAclQ,EAAamQ,GAAuB3jB,EAAUR,CAAK,EAAI,OACnD,OAAA2K,GAAA,GACjBuZ,CACT,CACA,SAASC,GAAuB3jB,EAAUR,EAAO,CAE/C,MAAMuG,EAAY/F,EAAS,KAuBlBA,EAAA,YAAqC,OAAA,OAAO,IAAI,EACzDA,EAAS,MAAQjC,GAAQ,IAAI,MAAMiC,EAAS,IAAKgO,EAA2B,CAAC,EAIvE,KAAA,CAAE,MAAA4V,CAAU,EAAA7d,EAClB,GAAI6d,EAAO,CACH,MAAAC,EAAe7jB,EAAS,aAAe4jB,EAAM,OAAS,EAAIE,GAAmB9jB,CAAQ,EAAI,KAC/F0K,GAAmB1K,CAAQ,EACbvI,KACd,MAAMisB,EAAc3jB,GAClB6jB,EACA5jB,EACA,EACA,CAA+EA,EAAS,MAAO6jB,CAAY,CAAA,EAIzG,GAFUnsB,KACOiT,KACjBrY,GAAUoxB,CAAW,EAAG,CAE1B,GADYA,EAAA,KAAK/Y,GAAsBA,EAAoB,EACvDnL,EACK,OAAAkkB,EAAY,KAAMK,GAAmB,CACxBC,GAAAhkB,EAAU+jB,EAAgBvkB,CAAK,CAAA,CAClD,EAAE,MAAOykB,GAAM,CACFhkB,GAAAgkB,EAAGjkB,EAAU,CAAC,CAAA,CAC3B,EAEDA,EAAS,SAAW0jB,CAOtB,MAEkBM,GAAAhkB,EAAU0jB,EAAalkB,CAAK,CAChD,MAEA0kB,GAAqBlkB,EAAUR,CAAK,CAExC,CACA,SAASwkB,GAAkBhkB,EAAU0jB,EAAalkB,EAAO,CACnDtN,GAAWwxB,CAAW,EACpB1jB,EAAS,KAAK,kBAChBA,EAAS,UAAY0jB,EAErB1jB,EAAS,OAAS0jB,EAEXrxB,GAASqxB,CAAW,IAO3B1jB,EAAS,sBAAwB0jB,EAE1B1jB,EAAA,WAAanB,GAAU6kB,CAAW,GAS7CQ,GAAqBlkB,EAAUR,CAAK,CACtC,CACA,IAAI2kB,GAWJ,SAASD,GAAqBlkB,EAAUR,EAAO4kB,EAAa,CAC1D,MAAMre,EAAY/F,EAAS,KACvB,GAAA,CAACA,EAAS,OAAQ,CACpB,GAAI,CAACR,GAAS2kB,IAAW,CAACpe,EAAU,OAAQ,CAC1C,MAAMse,EAAWte,EAAU,UAAY8H,GAAqB7N,CAAQ,EAAE,SACtE,GAAIqkB,EAAU,CAIZ,KAAM,CAAE,gBAAAC,EAAiB,gBAAAC,CAAgB,EAAIvkB,EAAS,WAAW,OAC3D,CAAE,WAAAwkB,EAAY,gBAAiBC,CAAA,EAA6B1e,EAC5D2e,EAAuBjzB,GAC3BA,GACE,CACE,gBAAA6yB,EACA,WAAAE,CACF,EACAD,CACF,EACAE,CAAA,EAEQ1e,EAAA,OAASoe,GAAQE,EAAUK,CAAoB,CAI3D,CACF,CACS1kB,EAAA,OAAS+F,EAAU,QAAU1U,EAIxC,CACiC,CAC/BqZ,GAAmB1K,CAAQ,EACbvI,KACV,GAAA,CACFgX,GAAazO,CAAQ,CAAA,QACrB,CACctI,KACOiT,IACvB,CACF,CAWF,CACA,SAASga,GAAc3kB,EAAU,CAC/B,OAAOA,EAAS,aAAeA,EAAS,WAAa,IAAI,MACvDA,EAAS,MAeL,CACF,IAAIpI,EAAQzY,EAAK,CACT,OAAAwY,GAAAqI,EAAU,MAAO,QAAQ,EACxBpI,EAAOzY,CAAG,CACnB,CACF,CAAA,EAEJ,CASA,SAAS2kC,GAAmB9jB,EAAU,CAC9B,MAAAgQ,EAAUa,GAAY,CAqBjB7Q,EAAA,QAAU6Q,GAAW,EAAC,EAgBxB,MAAA,CACL,IAAI,OAAQ,CACV,OAAO8T,GAAc3kB,CAAQ,CAC/B,EACA,MAAOA,EAAS,MAChB,KAAMA,EAAS,KACf,OAAAgQ,CAAA,CAGN,CACA,SAASrC,GAAe3N,EAAU,CAChC,GAAIA,EAAS,QACJ,OAAAA,EAAS,cAAgBA,EAAS,YAAc,IAAI,MAAMnB,GAAUd,GAAQiC,EAAS,OAAO,CAAC,EAAG,CACrG,IAAIpI,EAAQzY,EAAK,CACf,GAAIA,KAAOyY,EACT,OAAOA,EAAOzY,CAAG,EACnB,GAAWA,KAAOyuB,GACT,OAAAA,GAAoBzuB,CAAG,EAAE6gB,CAAQ,CAE5C,EACA,IAAIpI,EAAQzY,EAAK,CACR,OAAAA,KAAOyY,GAAUzY,KAAOyuB,EACjC,CACD,CAAA,EAEL,CAGA,SAAS/E,GAAiB9C,EAAW6e,EAAkB,GAAM,CACpD,OAAA1yB,GAAW6T,CAAS,EAAIA,EAAU,aAAeA,EAAU,KAAOA,EAAU,MAAQ6e,GAAmB7e,EAAU,MAC1H,CAuBA,SAASqc,GAAiBtjC,EAAO,CACxB,OAAAoT,GAAWpT,CAAK,GAAK,cAAeA,CAC7C,CAEA,MAAM4gB,GAAW,CAACC,EAAiBC,IAC1BilB,GAAWllB,EAAiBC,EAAcuK,EAAqB,EAGxE,SAAS8G,GAAEvyB,EAAMomC,EAAiBjP,EAAU,CAC1C,MAAMlgB,EAAI,UAAU,OACpB,OAAIA,IAAM,EACJtD,GAASyyB,CAAe,GAAK,CAAChzB,EAAQgzB,CAAe,EACnDtX,GAAQsX,CAAe,EAClB9d,EAAYtoB,EAAM,KAAM,CAAComC,CAAe,CAAC,EAE3C9d,EAAYtoB,EAAMomC,CAAe,EAEjC9d,EAAYtoB,EAAM,KAAMomC,CAAe,GAG5CnvB,EAAI,EACNkgB,EAAW,MAAM,UAAU,MAAM,KAAK,UAAW,CAAC,EACzClgB,IAAM,GAAK6X,GAAQqI,CAAQ,IACpCA,EAAW,CAACA,CAAQ,GAEf7O,EAAYtoB,EAAMomC,EAAiBjP,CAAQ,EAEtD,CAEA,MAAMkP,GAAgB,OAAO,IAAI,OAAO,EAClC3a,GAAgB,IAEN4G,GAAO+T,EAAa,EAuN9Bl/B,GAAU,SC5oPVm/B,GAAQ,6BACRC,GAAM,OAAO,SAAa,IAAc,SAAW,KACnDC,GAAoBD,IAA2BA,GAAA,cAAc,UAAU,EACvEE,GAAU,CACd,OAAQ,CAAC7kC,EAAO8D,EAAQ8zB,IAAW,CAC1B9zB,EAAA,aAAa9D,EAAO43B,GAAU,IAAI,CAC3C,EACA,OAAS53B,GAAU,CACjB,MAAM8D,EAAS9D,EAAM,WACjB8D,GACFA,EAAO,YAAY9D,CAAK,CAE5B,EACA,cAAe,CAAC8kC,EAAKnS,EAAOoS,EAAInhB,IAAU,CACxC,MAAM3jB,EAAK0yB,EAAQgS,GAAI,gBAAgBD,GAAOI,CAAG,EAAIH,GAAI,cAAcG,EAAKC,EAAK,CAAE,GAAAA,GAAO,MAAM,EAChG,OAAID,IAAQ,UAAYlhB,GAASA,EAAM,UAAY,MAC9C3jB,EAAA,aAAa,WAAY2jB,EAAM,QAAQ,EAErC3jB,CACT,EACA,WAAaR,GAASklC,GAAI,eAAellC,CAAI,EAC7C,cAAgBA,GAASklC,GAAI,cAAcllC,CAAI,EAC/C,QAAS,CAACT,EAAMS,IAAS,CACvBT,EAAK,UAAYS,CACnB,EACA,eAAgB,CAACQ,EAAIR,IAAS,CAC5BQ,EAAG,YAAcR,CACnB,EACA,WAAaT,GAASA,EAAK,WAC3B,YAAcA,GAASA,EAAK,YAC5B,cAAgBgmC,GAAaL,GAAI,cAAcK,CAAQ,EACvD,WAAW/kC,EAAIihB,EAAI,CACdjhB,EAAA,aAAaihB,EAAI,EAAE,CACxB,EAKA,oBAAoBshB,EAAS1+B,EAAQ8zB,EAAQjF,EAAOxR,EAAOze,EAAK,CAC9D,MAAMuiC,EAASrN,EAASA,EAAO,gBAAkB9zB,EAAO,UACxD,GAAIqd,IAAUA,IAAUze,GAAOye,EAAM,aACnC,KACErd,EAAO,aAAaqd,EAAM,UAAU,EAAI,EAAGyW,CAAM,EAC7C,EAAAzW,IAAUze,GAAO,EAAEye,EAAQA,EAAM,eAArC,KAGG,CACLyjB,GAAkB,UAAYjS,EAAQ,QAAQ6P,CAAO,SAAWA,EAChE,MAAMuB,EAAWa,GAAkB,QACnC,GAAIjS,EAAO,CACT,MAAMuS,EAAUnB,EAAS,WACzB,KAAOmB,EAAQ,YACJnB,EAAA,YAAYmB,EAAQ,UAAU,EAEzCnB,EAAS,YAAYmB,CAAO,CAC9B,CACOphC,EAAA,aAAaigC,EAAUnM,CAAM,CACtC,CACO,MAAA,CAELqN,EAASA,EAAO,YAAcnhC,EAAO,WAErC8zB,EAASA,EAAO,gBAAkB9zB,EAAO,SAAA,CAE7C,CACF,EAIMqhC,GAAS,OAAO,MAAM,EA2Q5B,SAASC,GAAWnlC,EAAIzB,EAAOm0B,EAAO,CAC9B,MAAA0S,EAAoBplC,EAAGklC,EAAM,EAC/BE,IACO7mC,GAAAA,EAAQ,CAACA,EAAO,GAAG6mC,CAAiB,EAAI,CAAC,GAAGA,CAAiB,GAAG,KAAK,GAAG,GAE/E7mC,GAAS,KACXyB,EAAG,gBAAgB,OAAO,EACjB0yB,EACN1yB,EAAA,aAAa,QAASzB,CAAK,EAE9ByB,EAAG,UAAYzB,CAEnB,CAEA,MAAM8mC,GAAc,OAAO,MAAM,EA+C3BC,GAAe,OAAoE,EAAE,EA+D3F,SAASC,GAAWvlC,EAAIglB,EAAM0T,EAAM,CAClC,MAAMqJ,EAAQ/hC,EAAG,MACXwlC,EAAc5zB,GAAS8mB,CAAI,EAC7B,GAAAA,GAAQ,CAAC8M,EAAa,CACxB,GAAIxgB,GAAQ,CAACpT,GAASoT,CAAI,EACxB,UAAWpmB,KAAOomB,EACZ0T,EAAK95B,CAAG,GAAK,MACN6mC,GAAA1D,EAAOnjC,EAAK,EAAE,EAI7B,UAAWA,KAAO85B,EAChB+M,GAAS1D,EAAOnjC,EAAK85B,EAAK95B,CAAG,CAAC,CAChC,KACK,CACL,MAAM8mC,EAAiB3D,EAAM,QAC7B,GAAIyD,GACF,GAAIxgB,IAAS0T,EAAM,CACX,MAAAiN,EAAa5D,EAAMuD,EAAY,EACjCK,IACFjN,GAAQ,IAAMiN,GAEhB5D,EAAM,QAAUrJ,CAClB,OACS1T,GACThlB,EAAG,gBAAgB,OAAO,EAExBqlC,MAAerlC,IACjB+hC,EAAM,QAAU2D,EAEpB,CACF,CAEA,MAAME,GAAc,iBACpB,SAASH,GAAS1D,EAAO9jC,EAAM0S,EAAK,CAC9B,GAAAY,EAAQZ,CAAG,EACbA,EAAI,QAASkE,GAAM4wB,GAAS1D,EAAO9jC,EAAM4W,CAAC,CAAC,UAEvClE,GAAO,OACHA,EAAA,IAQJ1S,EAAK,WAAW,IAAI,EAChB8jC,EAAA,YAAY9jC,EAAM0S,CAAG,MACtB,CACC,MAAAk1B,EAAWC,GAAW/D,EAAO9jC,CAAI,EACnC2nC,GAAY,KAAKj1B,CAAG,EAChBoxB,EAAA,YACJnvB,GAAUizB,CAAQ,EAClBl1B,EAAI,QAAQi1B,GAAa,EAAE,EAC3B,WAAA,EAGF7D,EAAM8D,CAAQ,EAAIl1B,CAEtB,CAEJ,CACA,MAAMo1B,GAAW,CAAC,SAAU,MAAO,IAAI,EACjCC,GAAc,CAAA,EACpB,SAASF,GAAW/D,EAAOkE,EAAS,CAC5B,MAAA1hB,EAASyhB,GAAYC,CAAO,EAClC,GAAI1hB,EACK,OAAAA,EAEL,IAAAtmB,EAAOwU,GAASwzB,CAAO,EACvB,GAAAhoC,IAAS,UAAYA,KAAQ8jC,EACxB,OAAAiE,GAAYC,CAAO,EAAIhoC,EAEhCA,EAAO4U,GAAW5U,CAAI,EACtB,QAASmB,EAAI,EAAGA,EAAI2mC,GAAS,OAAQ3mC,IAAK,CAClC,MAAAymC,EAAWE,GAAS3mC,CAAC,EAAInB,EAC/B,GAAI4nC,KAAY9D,EACP,OAAAiE,GAAYC,CAAO,EAAIJ,CAElC,CACO,OAAAI,CACT,CAEA,MAAMC,GAAU,+BAChB,SAASC,GAAUnmC,EAAIpB,EAAKL,EAAOm0B,EAAOjT,EAAU,CAClD,GAAIiT,GAAS9zB,EAAI,WAAW,QAAQ,EAC9BL,GAAS,KACXyB,EAAG,kBAAkBkmC,GAAStnC,EAAI,MAAM,EAAGA,EAAI,MAAM,CAAC,EAEnDoB,EAAA,eAAekmC,GAAStnC,EAAKL,CAAK,MAElC,CACC,MAAA6nC,EAAY/xB,GAAqBzV,CAAG,EACtCL,GAAS,MAAQ6nC,GAAa,CAAC9xB,GAAmB/V,CAAK,EACzDyB,EAAG,gBAAgBpB,CAAG,EAEtBoB,EAAG,aAAapB,EAAKwnC,EAAY,GAAK7nC,CAAK,CAE/C,CACF,CAEA,SAAS8nC,GAAarmC,EAAIpB,EAAKL,EAAO6oB,EAAcwQ,EAAiB9B,EAAgBqD,EAAiB,CAChG,GAAAv6B,IAAQ,aAAeA,IAAQ,cAAe,CAC5CwoB,GACc+R,EAAA/R,EAAcwQ,EAAiB9B,CAAc,EAE/D91B,EAAGpB,CAAG,EAAIL,GAAgB,GAC1B,MACF,CACA,MAAMsmC,EAAM7kC,EAAG,QACX,GAAApB,IAAQ,SAAWimC,IAAQ,YAC/B,CAACA,EAAI,SAAS,GAAG,EAAG,CAClB7kC,EAAG,OAASzB,EACZ,MAAMyU,EAAW6xB,IAAQ,SAAW7kC,EAAG,aAAa,OAAO,EAAIA,EAAG,MAC5D2X,EAAWpZ,GAAgB,GAC7ByU,IAAa2E,IACf3X,EAAG,MAAQ2X,GAETpZ,GAAS,MACXyB,EAAG,gBAAgBpB,CAAG,EAExB,MACF,CACA,IAAI0nC,EAAa,GACb,GAAA/nC,IAAU,IAAMA,GAAS,KAAM,CAC3B,MAAAJ,EAAO,OAAO6B,EAAGpB,CAAG,EACtBT,IAAS,UACXI,EAAQ+V,GAAmB/V,CAAK,EACvBA,GAAS,MAAQJ,IAAS,UAC3BI,EAAA,GACK+nC,EAAA,IACJnoC,IAAS,WACVI,EAAA,EACK+nC,EAAA,GAEjB,CACI,GAAA,CACFtmC,EAAGpB,CAAG,EAAIL,OACA,CAOZ,CACc+nC,GAAAtmC,EAAG,gBAAgBpB,CAAG,CACtC,CAEA,SAAS2nC,GAAiBvmC,EAAI2O,EAAOsV,EAAS1kB,EAAS,CAClDS,EAAA,iBAAiB2O,EAAOsV,EAAS1kB,CAAO,CAC7C,CACA,SAASinC,GAAoBxmC,EAAI2O,EAAOsV,EAAS1kB,EAAS,CACrDS,EAAA,oBAAoB2O,EAAOsV,EAAS1kB,CAAO,CAChD,CACA,MAAMknC,GAAS,OAAO,MAAM,EAC5B,SAASC,GAAW1mC,EAAIimC,EAASU,EAAWC,EAAWnnB,EAAW,KAAM,CACtE,MAAMonB,EAAW7mC,EAAGymC,EAAM,IAAMzmC,EAAGymC,EAAM,EAAI,CAAA,GACvCK,EAAkBD,EAASZ,CAAO,EACxC,GAAIW,GAAaE,EACfA,EAAgB,MAAQF,MACnB,CACL,KAAM,CAAC3oC,EAAMsB,CAAO,EAAIwnC,GAAUd,CAAO,EACzC,GAAIW,EAAW,CACb,MAAMI,EAAUH,EAASZ,CAAO,EAAIgB,GAAcL,EAAWnnB,CAAQ,EACpD8mB,GAAAvmC,EAAI/B,EAAM+oC,EAASznC,CAAO,OAClCunC,IACWN,GAAAxmC,EAAI/B,EAAM6oC,EAAiBvnC,CAAO,EACtDsnC,EAASZ,CAAO,EAAI,OAExB,CACF,CACA,MAAMiB,GAAoB,4BAC1B,SAASH,GAAU9oC,EAAM,CACnB,IAAAsB,EACA,GAAA2nC,GAAkB,KAAKjpC,CAAI,EAAG,CAChCsB,EAAU,CAAA,EACN,IAAA0C,EACJ,KAAOA,EAAIhE,EAAK,MAAMipC,EAAiB,GAC9BjpC,EAAAA,EAAK,MAAM,EAAGA,EAAK,OAASgE,EAAE,CAAC,EAAE,MAAM,EAC9C1C,EAAQ0C,EAAE,CAAC,EAAE,YAAa,CAAA,EAAI,EAElC,CAEO,MAAA,CADOhE,EAAK,CAAC,IAAM,IAAMA,EAAK,MAAM,CAAC,EAAI2U,GAAU3U,EAAK,MAAM,CAAC,CAAC,EACxDsB,CAAO,CACxB,CACA,IAAI4nC,GAAY,EAChB,MAAMpmB,WAA4B,UAC5BqmB,GAAS,IAAMD,KAAcpmB,GAAE,KAAK,IAAMomB,GAAY,CAAC,EAAGA,GAAY,KAAK,IAAI,GACrF,SAASF,GAAcI,EAAc5nB,EAAU,CACvC,MAAAunB,EAAWtD,GAAM,CACjB,GAAA,CAACA,EAAE,KACHA,EAAA,KAAO,KAAK,cACLA,EAAE,MAAQsD,EAAQ,SAC3B,OAEFrnB,GACE2nB,GAA8B5D,EAAGsD,EAAQ,KAAK,EAC9CvnB,EACA,EACA,CAACikB,CAAC,CAAA,CACJ,EAEF,OAAAsD,EAAQ,MAAQK,EAChBL,EAAQ,SAAWI,KACZJ,CACT,CACA,SAASM,GAA8B,EAAG/oC,EAAO,CAC3C,GAAAgT,EAAQhT,CAAK,EAAG,CAClB,MAAMgpC,EAAe,EAAE,yBACvB,SAAE,yBAA2B,IAAM,CACjCA,EAAa,KAAK,CAAC,EACnB,EAAE,SAAW,EAAA,EAERhpC,EAAM,IAAK+T,GAAQqqB,GAAO,CAACA,EAAG,UAAYrqB,GAAMA,EAAGqqB,CAAE,CAAC,CAAA,KAEtD,QAAAp+B,CAEX,CAEA,MAAMipC,GAAc5oC,GAAQA,EAAI,WAAW,CAAC,IAAM,KAAOA,EAAI,WAAW,CAAC,IAAM,KAC/EA,EAAI,WAAW,CAAC,EAAI,IAAMA,EAAI,WAAW,CAAC,EAAI,IACxC6oC,GAAY,CAACznC,EAAIpB,EAAK+nC,EAAWC,EAAWlU,EAAQ,GAAOtL,EAAcwQ,EAAiB9B,EAAgBqD,IAAoB,CAC9Hv6B,IAAQ,QACCumC,GAAAnlC,EAAI4mC,EAAWlU,CAAK,EACtB9zB,IAAQ,QACN2mC,GAAAvlC,EAAI2mC,EAAWC,CAAS,EAC1B51B,GAAKpS,CAAG,EACZqS,GAAgBrS,CAAG,GACtB8nC,GAAW1mC,EAAIpB,EAAK+nC,EAAWC,EAAWhP,CAAe,GAElDh5B,EAAI,CAAC,IAAM,KAAOA,EAAMA,EAAI,MAAM,CAAC,EAAG,IAAQA,EAAI,CAAC,IAAM,KAAOA,EAAMA,EAAI,MAAM,CAAC,EAAG,IAAS8oC,GAAgB1nC,EAAIpB,EAAKgoC,EAAWlU,CAAK,GAC/I2T,GACErmC,EACApB,EACAgoC,EACAxf,EACAwQ,EACA9B,EACAqD,CAAA,GAGEv6B,IAAQ,aACVoB,EAAG,WAAa4mC,EACPhoC,IAAQ,gBACjBoB,EAAG,YAAc4mC,GAETT,GAAAnmC,EAAIpB,EAAKgoC,EAAWlU,CAAK,EAEvC,EACA,SAASgV,GAAgB1nC,EAAIpB,EAAKL,EAAOm0B,EAAO,CAC9C,GAAIA,EAIF,MAHI,GAAA9zB,IAAQ,aAAeA,IAAQ,eAG/BA,KAAOoB,GAAMwnC,GAAW5oC,CAAG,GAAK+S,GAAWpT,CAAK,GActD,GATIK,IAAQ,cAAgBA,IAAQ,aAAeA,IAAQ,aAGvDA,IAAQ,QAGRA,IAAQ,QAAUoB,EAAG,UAAY,SAGjCpB,IAAQ,QAAUoB,EAAG,UAAY,WAC5B,MAAA,GAEL,GAAApB,IAAQ,SAAWA,IAAQ,SAAU,CACvC,MAAMimC,EAAM7kC,EAAG,QACf,GAAI6kC,IAAQ,OAASA,IAAQ,SAAWA,IAAQ,UAAYA,IAAQ,SAC3D,MAAA,EAEX,CACA,OAAI2C,GAAW5oC,CAAG,GAAKgT,GAASrT,CAAK,EAC5B,GAEFK,KAAOoB,CAChB,CA8qBA,MAAM2nC,GAAkCz2B,GAAO,CAAE,UAAAu2B,IAAa7C,EAAO,EACrE,IAAIgD,GAEJ,SAASC,IAAiB,CACjB,OAAAD,KAAaA,GAAWpR,GAAemR,EAAe,EAC/D,CAYA,MAAMG,GAAY,IAAIrnC,IAAS,CAC7B,MAAMmiB,EAAMilB,GAAA,EAAiB,UAAU,GAAGpnC,CAAI,EAKxC,CAAE,MAAAo/B,CAAU,EAAAjd,EACd,OAAAA,EAAA,MAASmlB,GAAwB,CAC7B,MAAArQ,EAAYsQ,GAAmBD,CAAmB,EACxD,GAAI,CAACrQ,EACH,OACF,MAAMnU,EAAYX,EAAI,WAClB,CAACjR,GAAW4R,CAAS,GAAK,CAACA,EAAU,QAAU,CAACA,EAAU,WAC5DA,EAAU,SAAWmU,EAAU,WAEjCA,EAAU,UAAY,GACtB,MAAMta,EAAQyiB,EAAMnI,EAAW,GAAOA,aAAqB,UAAU,EACrE,OAAIA,aAAqB,UACvBA,EAAU,gBAAgB,SAAS,EACzBA,EAAA,aAAa,aAAc,EAAE,GAElCta,CAAA,EAEFwF,CACT,EAmDA,SAASolB,GAAmBtQ,EAAW,CACjC,OAAA9lB,GAAS8lB,CAAS,EACR,SAAS,cAAcA,CAAS,EAavCA,CACT,CCrgDoH,IAAI7Z,GAAE6lB,GAAE,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,OAAO,SAAS,EAAE,EAAE,SAAS,CAAC,KAAK,OAAO,QAAQ,EAAE,EAAE,WAAW,CAAC,KAAK,QAAQ,QAAQ,EAAE,EAAE,eAAe,CAAC,KAAK,QAAQ,QAAQ,EAAE,CAAC,EAAE,MAAM,SAAS,EAAE,CAAC,IAAIpwB,EAAE8B,GAAE,EAAE,QAAQ,EAAEtI,GAAG,UAAU,CAAC,OAAO,EAAE,QAAQ,EAAI,SAAS42B,EAAE,CAACpwB,EAAE,MAAMowB,CAAC,CAAG,EAAC,IAAI7lB,EAAEiX,GAAG,UAAU,CAAC,OAAO,EAAE,YAAY,CAACxhB,EAAE,KAAK,GAAI20B,EAAEnT,GAAG,UAAU,CAAC,MAAM,CAACjX,EAAE,OAAO,CAACyd,GAAE,YAAYhoB,EAAE,KAAK,CAAC,CAAG,EAAC,MAAM,CAAC,UAAUwhB,GAAG,UAAU,CAAC,OAAOmT,EAAE,MAAM,GAAG,QAAQ30B,EAAE,KAAK,GAAI,gBAAgBwhB,GAAG,UAAU,CAAC,IAAI1f,EAAE,GAAG6yB,EAAE,MAAM,OAAO,QAAQ,KAAK,iBAAiB30B,EAAE,MAAM,qCAAqC,EAAE,EAAE,KAAK,QAAQ,KAAK,OAAO,EAAE,QAAQ,KAAK,MAAM,EAAE,QAAQ,KAAK,MAAM,EAAE,QAAQ,KAAK,QAAQ,EAAE,QAAQ,KAAK,QAAQ,EAAE,GAAGuK,EAAE,MAAM,CAAC,IAAI/Q,EAAEwuB,GAAE,cAAc,EAAE,IAAI,EAAE,OAAOhoB,EAAE,OAAc8B,EAAEtI,EAAE,YAAZ,MAAgCsI,IAAT,OAAWA,EAAE,GAAGtI,EAAE,KAAK,CAAC,OAAOA,EAAEwuB,GAAE,UAAU,EAAE,KAAK,CAAC,SAAShoB,EAAE,MAAM,eAAe,EAAE,cAAc,CAAC,GAAG,KAAK,CAAG,CAAA,CAAC,EAAE,OAAO,UAAU,CAAC,OAAOA,GAAE,MAAM,CAAA,EAAG,CAACA,GAAE,OAAO,CAAC,MAAM,KAAK,UAAU,UAAU,KAAK,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE20B,GAAE,CAAC,QAAQ,SAAS,EAAE,CAAC,EAAE,UAAU,cAAcpqB,EAAC,CAAC,EAAE,UAAUA,EAAC,ECE5oCqqB,GAAS,GCFN,SAASC,IAAwB,CACpC,OAAOC,GAAW,EAAC,4BACvB,CACO,SAASA,IAAY,CAExB,OAAQ,OAAO,UAAc,KAAe,OAAO,OAAW,IACxD,OACA,OAAO,OAAW,IACd,OACA,EACd,CACO,MAAMC,GAAmB,OAAO,OAAU,WCXpCC,GAAa,wBACbC,GAA2B,sBCDxC,IAAIC,GACAC,GACG,SAASC,IAAyB,CACrC,IAAI5zB,EACJ,OAAI0zB,KAAc,SAGd,OAAO,OAAW,KAAe,OAAO,aACxCA,GAAY,GACZC,GAAO,OAAO,aAET,OAAO,OAAW,MAAiB,GAAA3zB,EAAK,OAAO,cAAgB,MAAQA,IAAO,SAAkBA,EAAG,cACxG0zB,GAAY,GACZC,GAAO,OAAO,WAAW,aAGzBD,GAAY,IAETA,EACX,CACO,SAASG,IAAM,CAClB,OAAOD,GAAwB,EAAGD,GAAK,IAAG,EAAK,KAAK,KACxD,CCpBO,MAAMG,EAAS,CAClB,YAAYp6B,EAAQgU,EAAM,CACtB,KAAK,OAAS,KACd,KAAK,YAAc,GACnB,KAAK,QAAU,GACf,KAAK,OAAShU,EACd,KAAK,KAAOgU,EACZ,MAAMqmB,EAAkB,CAAA,EACxB,GAAIr6B,EAAO,SACP,UAAWyS,KAAMzS,EAAO,SAAU,CAC9B,MAAM1C,EAAO0C,EAAO,SAASyS,CAAE,EAC/B4nB,EAAgB5nB,CAAE,EAAInV,EAAK,YAC9B,CAEL,MAAMg9B,EAAsB,mCAAmCt6B,EAAO,EAAE,GACxE,IAAIu6B,EAAkB,OAAO,OAAO,CAAE,EAAEF,CAAe,EACvD,GAAI,CACA,MAAMtrB,EAAM,aAAa,QAAQurB,CAAmB,EAC9C7+B,EAAO,KAAK,MAAMsT,CAAG,EAC3B,OAAO,OAAOwrB,EAAiB9+B,CAAI,CACtC,MACS,CAET,CACD,KAAK,UAAY,CACb,aAAc,CACV,OAAO8+B,CACV,EACD,YAAYxqC,EAAO,CACf,GAAI,CACA,aAAa,QAAQuqC,EAAqB,KAAK,UAAUvqC,CAAK,CAAC,CAClE,MACS,CAET,CACDwqC,EAAkBxqC,CACrB,EACD,KAAM,CACF,OAAOoqC,GAAG,CACb,CACb,EACYnmB,GACAA,EAAK,GAAG+lB,GAA0B,CAACS,EAAUzqC,IAAU,CAC/CyqC,IAAa,KAAK,OAAO,IACzB,KAAK,UAAU,YAAYzqC,CAAK,CAEpD,CAAa,EAEL,KAAK,UAAY,IAAI,MAAM,GAAI,CAC3B,IAAK,CAAC0qC,EAAS/qC,IACP,KAAK,OACE,KAAK,OAAO,GAAGA,CAAI,EAGnB,IAAIuC,IAAS,CAChB,KAAK,QAAQ,KAAK,CACd,OAAQvC,EACR,KAAAuC,CAC5B,CAAyB,CACzB,CAGA,CAAS,EACD,KAAK,cAAgB,IAAI,MAAM,GAAI,CAC/B,IAAK,CAACwoC,EAAS/qC,IACP,KAAK,OACE,KAAK,OAAOA,CAAI,EAElBA,IAAS,KACP,KAAK,UAEP,OAAO,KAAK,KAAK,SAAS,EAAE,SAASA,CAAI,EACvC,IAAIuC,KACP,KAAK,YAAY,KAAK,CAClB,OAAQvC,EACR,KAAAuC,EACA,QAAS,IAAM,CAAG,CAC9C,CAAyB,EACM,KAAK,UAAUvC,CAAI,EAAE,GAAGuC,CAAI,GAIhC,IAAIA,IACA,IAAI,QAAQ8nB,GAAW,CAC1B,KAAK,YAAY,KAAK,CAClB,OAAQrqB,EACR,KAAAuC,EACA,QAAA8nB,CAChC,CAA6B,CAC7B,CAAyB,CAIzB,CAAS,CACJ,CACD,MAAM,cAAclR,EAAQ,CACxB,KAAK,OAASA,EACd,UAAWvL,KAAQ,KAAK,QACpB,KAAK,OAAO,GAAGA,EAAK,MAAM,EAAE,GAAGA,EAAK,IAAI,EAE5C,UAAWA,KAAQ,KAAK,YACpBA,EAAK,QAAQ,MAAM,KAAK,OAAOA,EAAK,MAAM,EAAE,GAAGA,EAAK,IAAI,CAAC,CAEhE,CACL,CCpGO,SAASo9B,GAAoBC,EAAkBC,EAAS,CAC3D,MAAMpb,EAAamb,EACb9xB,EAAS+wB,KACT5lB,EAAO2lB,KACPkB,EAAchB,IAAoBra,EAAW,iBACnD,GAAIxL,IAASnL,EAAO,uCAAyC,CAACgyB,GAC1D7mB,EAAK,KAAK8lB,GAAYa,EAAkBC,CAAO,MAE9C,CACD,MAAMhsB,EAAQisB,EAAc,IAAIT,GAAS5a,EAAYxL,CAAI,EAAI,MAChDnL,EAAO,yBAA2BA,EAAO,0BAA4B,CAAA,GAC7E,KAAK,CACN,iBAAkB2W,EAClB,QAAAob,EACA,MAAAhsB,CACZ,CAAS,EACGA,GACAgsB,EAAQhsB,EAAM,aAAa,CAClC,CACL,CCzBA;AAAA;AAAA;AAAA;AAAA,GAYA,IAAIksB,GAQJ,MAAMC,GAAkBC,GAAWF,GAAcE,EAK3CC,GAAsG,OAAO,EAEnH,SAASv3B,GAET+1B,EAAG,CACC,OAAQA,GACJ,OAAOA,GAAM,UACb,OAAO,UAAU,SAAS,KAAKA,CAAC,IAAM,mBACtC,OAAOA,EAAE,QAAW,UAC5B,CAMA,IAAIyB,IACH,SAAUA,EAAc,CAQrBA,EAAa,OAAY,SAMzBA,EAAa,YAAiB,eAM9BA,EAAa,cAAmB,gBAEpC,GAAGA,KAAiBA,GAAe,CAAG,EAAA,EAEtC,MAAMC,GAAY,OAAO,OAAW,IAO9BC,GAA6KD,GAY7KE,GAA+B,OAAO,QAAW,UAAY,OAAO,SAAW,OAC/E,OACA,OAAO,MAAS,UAAY,KAAK,OAAS,KACtC,KACA,OAAO,QAAW,UAAY,OAAO,SAAW,OAC5C,OACA,OAAO,YAAe,SAClB,WACA,CAAE,YAAa,IAAQ,EACzC,SAASC,GAAIC,EAAM,CAAE,QAAAC,EAAU,EAAM,EAAI,CAAA,EAAI,CAGzC,OAAIA,GACA,6EAA6E,KAAKD,EAAK,IAAI,EACpF,IAAI,KAAK,CAAC,SAA6BA,CAAI,EAAG,CAAE,KAAMA,EAAK,IAAM,CAAA,EAErEA,CACX,CACA,SAASE,GAASC,EAAKjsC,EAAM0B,EAAM,CACzB,MAAAwqC,EAAM,IAAI,eACZA,EAAA,KAAK,MAAOD,CAAG,EACnBC,EAAI,aAAe,OACnBA,EAAI,OAAS,UAAY,CACdC,GAAAD,EAAI,SAAUlsC,EAAM0B,CAAI,CAAA,EAEnCwqC,EAAI,QAAU,UAAY,CACtB,QAAQ,MAAM,yBAAyB,CAAA,EAE3CA,EAAI,KAAK,CACb,CACA,SAASE,GAAYH,EAAK,CAChB,MAAAC,EAAM,IAAI,eAEZA,EAAA,KAAK,OAAQD,EAAK,EAAK,EACvB,GAAA,CACAC,EAAI,KAAK,OAEH,CAAE,CACZ,OAAOA,EAAI,QAAU,KAAOA,EAAI,QAAU,GAC9C,CAEA,SAASG,GAAMvrC,EAAM,CACb,GAAA,CACAA,EAAK,cAAc,IAAI,WAAW,OAAO,CAAC,OAEpC,CACA,MAAAwrC,EAAM,SAAS,YAAY,aAAa,EAC9CA,EAAI,eAAe,QAAS,GAAM,GAAM,OAAQ,EAAG,EAAG,EAAG,GAAI,GAAI,GAAO,GAAO,GAAO,GAAO,EAAG,IAAI,EACpGxrC,EAAK,cAAcwrC,CAAG,CAC1B,CACJ,CACA,MAAMC,GACL,OAAO,WAAc,SAAW,UAAY,CAAE,UAAW,IAIpDC,GAAsC,YAAY,KAAKD,GAAW,SAAS,GAC7E,cAAc,KAAKA,GAAW,SAAS,GACvC,CAAC,SAAS,KAAKA,GAAW,SAAS,EACjCJ,GAAUT,GAGR,OAAO,kBAAsB,KACzB,aAAc,kBAAkB,WAChC,CAACc,GACCC,GAEE,qBAAsBF,GAChBG,GAEEC,GAVlB,IAAM,CAAE,EAWd,SAASF,GAAeX,EAAM9rC,EAAO,WAAY0B,EAAM,CAC7C,MAAAmN,EAAI,SAAS,cAAc,GAAG,EACpCA,EAAE,SAAW7O,EACb6O,EAAE,IAAM,WAGJ,OAAOi9B,GAAS,UAEhBj9B,EAAE,KAAOi9B,EACLj9B,EAAE,SAAW,SAAS,OAClBu9B,GAAYv9B,EAAE,IAAI,EACTm9B,GAAAF,EAAM9rC,EAAM0B,CAAI,GAGzBmN,EAAE,OAAS,SACXw9B,GAAMx9B,CAAC,GAIXw9B,GAAMx9B,CAAC,IAKTA,EAAA,KAAO,IAAI,gBAAgBi9B,CAAI,EACjC,WAAW,UAAY,CACf,IAAA,gBAAgBj9B,EAAE,IAAI,GAC3B,GAAG,EACN,WAAW,UAAY,CACnBw9B,GAAMx9B,CAAC,GACR,CAAC,EAEZ,CACA,SAAS69B,GAASZ,EAAM9rC,EAAO,WAAY0B,EAAM,CACzC,GAAA,OAAOoqC,GAAS,SACZ,GAAAM,GAAYN,CAAI,EACPE,GAAAF,EAAM9rC,EAAM0B,CAAI,MAExB,CACK,MAAAmN,EAAI,SAAS,cAAc,GAAG,EACpCA,EAAE,KAAOi9B,EACTj9B,EAAE,OAAS,SACX,WAAW,UAAY,CACnBw9B,GAAMx9B,CAAC,CAAA,CACV,CACL,MAIA,UAAU,iBAAiBg9B,GAAIC,EAAMpqC,CAAI,EAAG1B,CAAI,CAExD,CACA,SAAS2sC,GAAgBb,EAAM9rC,EAAM0B,EAAMkrC,EAAO,CAO9C,GAJQA,EAAAA,GAAS,KAAK,GAAI,QAAQ,EAC9BA,IACAA,EAAM,SAAS,MAAQA,EAAM,SAAS,KAAK,UAAY,kBAEvD,OAAOd,GAAS,SACT,OAAAE,GAASF,EAAM9rC,EAAM0B,CAAI,EAC9B,MAAAmrC,EAAQf,EAAK,OAAS,2BACtBgB,EAAW,eAAe,KAAK,OAAOlB,GAAQ,WAAW,CAAC,GAAK,WAAYA,GAC3EmB,EAAc,eAAe,KAAK,UAAU,SAAS,EAC3D,IAAKA,GAAgBF,GAASC,GAAaN,KACvC,OAAO,WAAe,IAAa,CAE7B,MAAAQ,EAAS,IAAI,WACnBA,EAAO,UAAY,UAAY,CAC3B,IAAIf,EAAMe,EAAO,OACb,GAAA,OAAOf,GAAQ,SACP,MAAAW,EAAA,KACF,IAAI,MAAM,0BAA0B,EAE9CX,EAAMc,EACAd,EACAA,EAAI,QAAQ,eAAgB,uBAAuB,EACrDW,EACAA,EAAM,SAAS,KAAOX,EAGtB,SAAS,OAAOA,CAAG,EAEfW,EAAA,IAAA,EAEZI,EAAO,cAAclB,CAAI,CAAA,KAExB,CACK,MAAAG,EAAM,IAAI,gBAAgBH,CAAI,EAChCc,EACMA,EAAA,SAAS,OAAOX,CAAG,EAEzB,SAAS,KAAOA,EACZW,EAAA,KACR,WAAW,UAAY,CACnB,IAAI,gBAAgBX,CAAG,GACxB,GAAG,CACV,CACJ,CAQA,SAASgB,GAAa/lC,EAAShH,EAAM,CACjC,MAAMgtC,EAAe,MAAQhmC,EACzB,OAAO,wBAA2B,WAElC,uBAAuBgmC,EAAchtC,CAAI,EAEpCA,IAAS,QACd,QAAQ,MAAMgtC,CAAY,EAErBhtC,IAAS,OACd,QAAQ,KAAKgtC,CAAY,EAGzB,QAAQ,IAAIA,CAAY,CAEhC,CACA,SAASC,GAAQnD,EAAG,CACT,MAAA,OAAQA,GAAK,YAAaA,CACrC,CAMA,SAASoD,IAAuB,CACxB,GAAA,EAAE,cAAe,WACjB,OAAAH,GAAa,iDAAkD,OAAO,EAC/D,EAEf,CACA,SAASI,GAAqBpmC,EAAO,CAC7B,OAAAA,aAAiB,OACjBA,EAAM,QAAQ,cAAc,SAAS,yBAAyB,GAC9DgmC,GAAa,kGAAmG,MAAM,EAC/G,IAEJ,EACX,CACA,eAAeK,GAAsB/B,EAAO,CACxC,GAAI,CAAA6B,GAAqB,EAErB,GAAA,CACM,MAAA,UAAU,UAAU,UAAU,KAAK,UAAU7B,EAAM,MAAM,KAAK,CAAC,EACrE0B,GAAa,mCAAmC,QAE7ChmC,EAAO,CACV,GAAIomC,GAAqBpmC,CAAK,EAC1B,OACJgmC,GAAa,qEAAsE,OAAO,EAC1F,QAAQ,MAAMhmC,CAAK,CACvB,CACJ,CACA,eAAesmC,GAAuBhC,EAAO,CACzC,GAAI,CAAA6B,GAAqB,EAErB,GAAA,CACgBI,GAAAjC,EAAO,KAAK,MAAM,MAAM,UAAU,UAAU,SAAU,CAAA,CAAC,EACvE0B,GAAa,qCAAqC,QAE/ChmC,EAAO,CACV,GAAIomC,GAAqBpmC,CAAK,EAC1B,OACJgmC,GAAa,sFAAuF,OAAO,EAC3G,QAAQ,MAAMhmC,CAAK,CACvB,CACJ,CACA,eAAewmC,GAAsBlC,EAAO,CACpC,GAAA,CACOY,GAAA,IAAI,KAAK,CAAC,KAAK,UAAUZ,EAAM,MAAM,KAAK,CAAC,EAAG,CACjD,KAAM,0BAAA,CACT,EAAG,kBAAkB,QAEnBtkC,EAAO,CACVgmC,GAAa,0EAA2E,OAAO,EAC/F,QAAQ,MAAMhmC,CAAK,CACvB,CACJ,CACA,IAAIymC,GACJ,SAASC,IAAgB,CAChBD,KACWA,GAAA,SAAS,cAAc,OAAO,EAC1CA,GAAU,KAAO,OACjBA,GAAU,OAAS,SAEvB,SAASE,GAAW,CAChB,OAAO,IAAI,QAAQ,CAACtjB,EAASujB,IAAW,CACpCH,GAAU,SAAW,SAAY,CAC7B,MAAMI,EAAQJ,GAAU,MACxB,GAAI,CAACI,EACD,OAAOxjB,EAAQ,IAAI,EACjB,MAAAyjB,EAAOD,EAAM,KAAK,CAAC,EACzB,OAEOxjB,EAFFyjB,EAEU,CAAE,KAAM,MAAMA,EAAK,KAAK,EAAG,KAAAA,GADvB,IAC6B,CAAA,EAG1CL,GAAA,SAAW,IAAMpjB,EAAQ,IAAI,EACvCojB,GAAU,QAAUG,EACpBH,GAAU,MAAM,CAAA,CACnB,CACL,CACO,OAAAE,CACX,CACA,eAAeI,GAA0BzC,EAAO,CACxC,GAAA,CAEM,MAAA7qC,EAAS,MADFitC,OAEb,GAAI,CAACjtC,EACD,OACE,KAAA,CAAE,KAAAa,EAAM,KAAAwsC,CAAS,EAAArtC,EACvB8sC,GAAgBjC,EAAO,KAAK,MAAMhqC,CAAI,CAAC,EAC1B0rC,GAAA,+BAA+Bc,EAAK,IAAI,IAAI,QAEtD9mC,EAAO,CACVgmC,GAAa,4EAA6E,OAAO,EACjG,QAAQ,MAAMhmC,CAAK,CACvB,CACJ,CACA,SAASumC,GAAgBjC,EAAOhc,EAAO,CACnC,UAAW5uB,KAAO4uB,EAAO,CACrB,MAAM0e,EAAa1C,EAAM,MAAM,MAAM5qC,CAAG,EAEpCstC,EACA,OAAO,OAAOA,EAAY1e,EAAM5uB,CAAG,CAAC,EAIpC4qC,EAAM,MAAM,MAAM5qC,CAAG,EAAI4uB,EAAM5uB,CAAG,CAE1C,CACJ,CAEA,SAASutC,GAAcC,EAAS,CACrB,MAAA,CACH,QAAS,CACL,QAAAA,CACJ,CAAA,CAER,CACA,MAAMC,GAAmB,kBACnBC,GAAgB,QACtB,SAASC,GAA4BC,EAAO,CACjC,OAAApB,GAAQoB,CAAK,EACd,CACE,GAAIF,GACJ,MAAOD,EAAA,EAET,CACE,GAAIG,EAAM,IACV,MAAOA,EAAM,GAAA,CAEzB,CACA,SAASC,GAA6BD,EAAO,CACrC,GAAApB,GAAQoB,CAAK,EAAG,CAChB,MAAME,EAAa,MAAM,KAAKF,EAAM,GAAG,MAAM,EACvCG,EAAWH,EAAM,GAqBhBhf,MApBO,CACV,MAAOkf,EAAW,IAAKE,IAAa,CAChC,SAAU,GACV,IAAKA,EACL,MAAOJ,EAAM,MAAM,MAAMI,CAAO,CAAA,EAClC,EACF,QAASF,EACJ,OAAQzrB,GAAO0rB,EAAS,IAAI1rB,CAAE,EAAE,QAAQ,EACxC,IAAKA,GAAO,CACPurB,MAAAA,EAAQG,EAAS,IAAI1rB,CAAE,EACtB,MAAA,CACH,SAAU,GACV,IAAKA,EACL,MAAOurB,EAAM,SAAS,OAAO,CAACK,EAASjuC,KAC3BiuC,EAAAjuC,CAAG,EAAI4tC,EAAM5tC,CAAG,EACjBiuC,GACR,EAAE,CAAA,CACT,CACH,CAAA,CAGT,CACA,MAAMrf,EAAQ,CACV,MAAO,OAAO,KAAKgf,EAAM,MAAM,EAAE,IAAK5tC,IAAS,CAC3C,SAAU,GACV,IAAAA,EACA,MAAO4tC,EAAM,OAAO5tC,CAAG,CAAA,EACzB,CAAA,EAGN,OAAI4tC,EAAM,UAAYA,EAAM,SAAS,SACjChf,EAAM,QAAUgf,EAAM,SAAS,IAAKM,IAAgB,CAChD,SAAU,GACV,IAAKA,EACL,MAAON,EAAMM,CAAU,CACzB,EAAA,GAEFN,EAAM,kBAAkB,OAClBhf,EAAA,iBAAmB,MAAM,KAAKgf,EAAM,iBAAiB,EAAE,IAAK5tC,IAAS,CACvE,SAAU,GACV,IAAAA,EACA,MAAO4tC,EAAM5tC,CAAG,CAClB,EAAA,GAEC4uB,CACX,CACA,SAASuf,GAAgBC,EAAQ,CAC7B,OAAKA,EAED,MAAM,QAAQA,CAAM,EAEbA,EAAO,OAAO,CAAC/iC,EAAM0E,KACnB1E,EAAA,KAAK,KAAK0E,EAAM,GAAG,EACnB1E,EAAA,WAAW,KAAK0E,EAAM,IAAI,EAC/B1E,EAAK,SAAS0E,EAAM,GAAG,EAAIA,EAAM,SACjC1E,EAAK,SAAS0E,EAAM,GAAG,EAAIA,EAAM,SAC1B1E,GACR,CACC,SAAU,CAAC,EACX,KAAM,CAAC,EACP,WAAY,CAAC,EACb,SAAU,CAAC,CAAA,CACd,EAGM,CACH,UAAWkiC,GAAca,EAAO,IAAI,EACpC,IAAKb,GAAca,EAAO,GAAG,EAC7B,SAAUA,EAAO,SACjB,SAAUA,EAAO,QAAA,EArBd,EAwBf,CACA,SAASC,GAAmB9uC,EAAM,CAC9B,OAAQA,EAAM,CACV,KAAKurC,GAAa,OACP,MAAA,WACX,KAAKA,GAAa,cACP,MAAA,SACX,KAAKA,GAAa,YACP,MAAA,SACX,QACW,MAAA,SACf,CACJ,CAGA,IAAIwD,GAAmB,GACvB,MAAMC,GAAsB,CAAA,EACtBC,GAAqB,kBACrBC,GAAe,QACf,CAAE,OAAQC,EAAa,EAAA,OAOvBC,GAAgBtsB,GAAO,MAAQA,EAQrC,SAASusB,GAAsB5qB,EAAK4mB,EAAO,CACnBN,GAAA,CAChB,GAAI,gBACJ,MAAO,WACP,KAAM,mCACN,YAAa,QACb,SAAU,0BACV,oBAAAiE,GACA,IAAAvqB,CACJ,EAAI6qB,GAAQ,CACJ,OAAOA,EAAI,KAAQ,YACnBvC,GAAa,yMAAyM,EAE1NuC,EAAI,iBAAiB,CACjB,GAAIL,GACJ,MAAO,WACP,MAAO,QAAA,CACV,EACDK,EAAI,aAAa,CACb,GAAIJ,GACJ,MAAO,WACP,KAAM,UACN,sBAAuB,gBACvB,QAAS,CACL,CACI,KAAM,eACN,OAAQ,IAAM,CACV9B,GAAsB/B,CAAK,CAC/B,EACA,QAAS,8BACb,EACA,CACI,KAAM,gBACN,OAAQ,SAAY,CAChB,MAAMgC,GAAuBhC,CAAK,EAClCiE,EAAI,kBAAkBJ,EAAY,EAClCI,EAAI,mBAAmBJ,EAAY,CACvC,EACA,QAAS,sDACb,EACA,CACI,KAAM,OACN,OAAQ,IAAM,CACV3B,GAAsBlC,CAAK,CAC/B,EACA,QAAS,+BACb,EACA,CACI,KAAM,cACN,OAAQ,SAAY,CAChB,MAAMyC,GAA0BzC,CAAK,EACrCiE,EAAI,kBAAkBJ,EAAY,EAClCI,EAAI,mBAAmBJ,EAAY,CACvC,EACA,QAAS,mCACb,CACJ,EACA,YAAa,CACT,CACI,KAAM,UACN,QAAS,kCACT,OAASK,GAAW,CAChB,MAAMlB,EAAQhD,EAAM,GAAG,IAAIkE,CAAM,EAC5BlB,EAGI,OAAOA,EAAM,QAAW,WAChBtB,GAAA,iBAAiBwC,CAAM,iEAAkE,MAAM,GAG5GlB,EAAM,OAAO,EACAtB,GAAA,UAAUwC,CAAM,UAAU,GAP1BxC,GAAA,iBAAiBwC,CAAM,mCAAoC,MAAM,CAStF,CACJ,CACJ,CAAA,CACH,EACDD,EAAI,GAAG,iBAAiB,CAACE,EAASzoB,IAAQ,CACtC,MAAM9H,EAASuwB,EAAQ,mBACnBA,EAAQ,kBAAkB,MAC1B,GAAAvwB,GAASA,EAAM,SAAU,CACnB,MAAAwwB,EAAcD,EAAQ,kBAAkB,MAAM,SACpD,OAAO,OAAOC,CAAW,EAAE,QAASpB,GAAU,CAClCmB,EAAA,aAAa,MAAM,KAAK,CAC5B,KAAMJ,GAAaf,EAAM,GAAG,EAC5B,IAAK,QACL,SAAU,GACV,MAAOA,EAAM,cACP,CACE,QAAS,CACL,MAAOh0B,GAAMg0B,EAAM,MAAM,EACzB,QAAS,CACL,CACI,KAAM,UACN,QAAS,gCACT,OAAQ,IAAMA,EAAM,OAAO,CAC/B,CACJ,CACJ,CACJ,EAEI,OAAO,KAAKA,EAAM,MAAM,EAAE,OAAO,CAAChf,EAAO5uB,KACrC4uB,EAAM5uB,CAAG,EAAI4tC,EAAM,OAAO5tC,CAAG,EACtB4uB,GACR,EAAE,CAAA,CAChB,EACGgf,EAAM,UAAYA,EAAM,SAAS,QACzBmB,EAAA,aAAa,MAAM,KAAK,CAC5B,KAAMJ,GAAaf,EAAM,GAAG,EAC5B,IAAK,UACL,SAAU,GACV,MAAOA,EAAM,SAAS,OAAO,CAACK,EAASjuC,IAAQ,CACvC,GAAA,CACQiuC,EAAAjuC,CAAG,EAAI4tC,EAAM5tC,CAAG,QAErBsG,EAAO,CAEV2nC,EAAQjuC,CAAG,EAAIsG,CACnB,CACO,OAAA2nC,CACX,EAAG,EAAE,CAAA,CACR,CACL,CACH,CACL,CAAA,CACH,EACGY,EAAA,GAAG,iBAAkBE,GAAY,CACjC,GAAIA,EAAQ,MAAQ/qB,GAAO+qB,EAAQ,cAAgBN,GAAc,CACzD,IAAAQ,EAAS,CAACrE,CAAK,EACVqE,EAAAA,EAAO,OAAO,MAAM,KAAKrE,EAAM,GAAG,OAAQ,CAAA,CAAC,EACpDmE,EAAQ,WAAaA,EAAQ,OACvBE,EAAO,OAAQrB,GAAU,QAASA,EAC9BA,EAAM,IACH,cACA,SAASmB,EAAQ,OAAO,YAAA,CAAa,EACxCtB,GAAiB,YAAA,EAAc,SAASsB,EAAQ,OAAO,YAAa,CAAA,CAAC,EACzEE,GAAQ,IAAItB,EAA2B,CACjD,CAAA,CACH,EACGkB,EAAA,GAAG,kBAAmBE,GAAY,CAClC,GAAIA,EAAQ,MAAQ/qB,GAAO+qB,EAAQ,cAAgBN,GAAc,CACvD,MAAAS,EAAiBH,EAAQ,SAAWrB,GACpC9C,EACAA,EAAM,GAAG,IAAImE,EAAQ,MAAM,EACjC,GAAI,CAACG,EAGD,OAEAA,IACQH,EAAA,MAAQlB,GAA6BqB,CAAc,EAEnE,CAAA,CACH,EACDL,EAAI,GAAG,mBAAmB,CAACE,EAASzoB,IAAQ,CACxC,GAAIyoB,EAAQ,MAAQ/qB,GAAO+qB,EAAQ,cAAgBN,GAAc,CACvD,MAAAS,EAAiBH,EAAQ,SAAWrB,GACpC9C,EACAA,EAAM,GAAG,IAAImE,EAAQ,MAAM,EACjC,GAAI,CAACG,EACD,OAAO5C,GAAa,UAAUyC,EAAQ,MAAM,cAAe,OAAO,EAEhE,KAAA,CAAE,KAAAtjB,CAAS,EAAAsjB,EACZvC,GAAQ0C,CAAc,EAUvBzjB,EAAK,QAAQ,OAAO,GARhBA,EAAK,SAAW,GAChB,CAACyjB,EAAe,kBAAkB,IAAIzjB,EAAK,CAAC,CAAC,GAC7CA,EAAK,CAAC,IAAKyjB,EAAe,SAC1BzjB,EAAK,QAAQ,QAAQ,EAOV6iB,GAAA,GACnBS,EAAQ,IAAIG,EAAgBzjB,EAAMsjB,EAAQ,MAAM,KAAK,EAClCT,GAAA,EACvB,CAAA,CACH,EACGO,EAAA,GAAG,mBAAoBE,GAAY,CACnC,GAAIA,EAAQ,KAAK,WAAW,IAAI,EAAG,CAC/B,MAAMf,EAAUe,EAAQ,KAAK,QAAQ,SAAU,EAAE,EAC3CnB,EAAQhD,EAAM,GAAG,IAAIoD,CAAO,EAClC,GAAI,CAACJ,EACD,OAAOtB,GAAa,UAAU0B,CAAO,cAAe,OAAO,EAEzD,KAAA,CAAE,KAAAviB,CAAS,EAAAsjB,EACb,GAAAtjB,EAAK,CAAC,IAAM,QACL,OAAA6gB,GAAa,2BAA2B0B,CAAO;AAAA,EAAOviB,CAAI;AAAA,4BAA+B,EAIpGA,EAAK,CAAC,EAAI,SACS6iB,GAAA,GACnBS,EAAQ,IAAInB,EAAOniB,EAAMsjB,EAAQ,MAAM,KAAK,EACzBT,GAAA,EACvB,CAAA,CACH,CAAA,CACJ,CACL,CACA,SAASa,GAAmBnrB,EAAK4pB,EAAO,CAC/BW,GAAoB,SAASI,GAAaf,EAAM,GAAG,CAAC,GACrDW,GAAoB,KAAKI,GAAaf,EAAM,GAAG,CAAC,EAEhCtD,GAAA,CAChB,GAAI,gBACJ,MAAO,WACP,KAAM,mCACN,YAAa,QACb,SAAU,0BACV,oBAAAiE,GACA,IAAAvqB,EACA,SAAU,CACN,gBAAiB,CACb,MAAO,kCACP,KAAM,UACN,aAAc,EAClB,CAMJ,CACJ,EAAI6qB,GAAQ,CAEF,MAAA9E,EAAM,OAAO8E,EAAI,KAAQ,WAAaA,EAAI,IAAI,KAAKA,CAAG,EAAI,KAAK,IACrEjB,EAAM,UAAU,CAAC,CAAE,MAAAwB,EAAO,QAAAC,EAAS,KAAAhwC,EAAM,KAAAwC,KAAW,CAChD,MAAMytC,EAAUC,KAChBV,EAAI,iBAAiB,CACjB,QAASL,GACT,MAAO,CACH,KAAMzE,EAAI,EACV,MAAO,MAAQ1qC,EACf,SAAU,QACV,KAAM,CACF,MAAOkuC,GAAcK,EAAM,GAAG,EAC9B,OAAQL,GAAcluC,CAAI,EAC1B,KAAAwC,CACJ,EACA,QAAAytC,CACJ,CAAA,CACH,EACDF,EAAOrvC,GAAW,CACCyvC,GAAA,OACfX,EAAI,iBAAiB,CACjB,QAASL,GACT,MAAO,CACH,KAAMzE,EAAI,EACV,MAAO,MAAQ1qC,EACf,SAAU,MACV,KAAM,CACF,MAAOkuC,GAAcK,EAAM,GAAG,EAC9B,OAAQL,GAAcluC,CAAI,EAC1B,KAAAwC,EACA,OAAA9B,CACJ,EACA,QAAAuvC,CACJ,CAAA,CACH,CAAA,CACJ,EACDD,EAAS/oC,GAAU,CACAkpC,GAAA,OACfX,EAAI,iBAAiB,CACjB,QAASL,GACT,MAAO,CACH,KAAMzE,EAAI,EACV,QAAS,QACT,MAAO,MAAQ1qC,EACf,SAAU,MACV,KAAM,CACF,MAAOkuC,GAAcK,EAAM,GAAG,EAC9B,OAAQL,GAAcluC,CAAI,EAC1B,KAAAwC,EACA,MAAAyE,CACJ,EACA,QAAAgpC,CACJ,CAAA,CACH,CAAA,CACJ,GACF,EAAI,EACD1B,EAAA,kBAAkB,QAASvuC,GAAS,CAChC4qB,GAAA,IAAMzK,GAAMouB,EAAMvuC,CAAI,CAAC,EAAG,CAAC0Z,EAAU3E,IAAa,CACpDy6B,EAAI,sBAAsB,EAC1BA,EAAI,mBAAmBJ,EAAY,EAC/BH,IACAO,EAAI,iBAAiB,CACjB,QAASL,GACT,MAAO,CACH,KAAMzE,EAAI,EACV,MAAO,SACP,SAAU1qC,EACV,KAAM,CACF,SAAA0Z,EACA,SAAA3E,CACJ,EACA,QAASo7B,EACb,CAAA,CACH,CACL,EACD,CAAE,KAAM,EAAA,CAAM,CAAA,CACpB,EACD5B,EAAM,WAAW,CAAC,CAAE,OAAAQ,EAAQ,KAAA7uC,CAAA,EAAQqvB,IAAU,CAG1C,GAFAigB,EAAI,sBAAsB,EAC1BA,EAAI,mBAAmBJ,EAAY,EAC/B,CAACH,GACD,OAEJ,MAAMmB,EAAY,CACd,KAAM1F,EAAI,EACV,MAAOsE,GAAmB9uC,CAAI,EAC9B,KAAMmvC,GAAS,CAAE,MAAOnB,GAAcK,EAAM,GAAG,CAAE,EAAGO,GAAgBC,CAAM,CAAC,EAC3E,QAASoB,EAAA,EAETjwC,IAASurC,GAAa,cACtB2E,EAAU,SAAW,KAEhBlwC,IAASurC,GAAa,YAC3B2E,EAAU,SAAW,KAEhBrB,GAAU,CAAC,MAAM,QAAQA,CAAM,IACpCqB,EAAU,SAAWrB,EAAO,MAE5BA,IACUqB,EAAA,KAAK,aAAa,EAAI,CAC5B,QAAS,CACL,QAAS,gBACT,KAAM,SACN,QAAS,sBACT,MAAOrB,CACX,CAAA,GAGRS,EAAI,iBAAiB,CACjB,QAASL,GACT,MAAOiB,CAAA,CACV,GACF,CAAE,SAAU,GAAM,MAAO,MAAQ,CAAA,EACpC,MAAMC,EAAY9B,EAAM,WAClBA,EAAA,WAAahvB,GAAS+wB,GAAa,CACrCD,EAAUC,CAAQ,EAClBd,EAAI,iBAAiB,CACjB,QAASL,GACT,MAAO,CACH,KAAMzE,EAAI,EACV,MAAO,MAAQ6D,EAAM,IACrB,SAAU,aACV,KAAM,CACF,MAAOL,GAAcK,EAAM,GAAG,EAC9B,KAAML,GAAc,YAAY,CACpC,CACJ,CAAA,CACH,EAEDsB,EAAI,sBAAsB,EAC1BA,EAAI,kBAAkBJ,EAAY,EAClCI,EAAI,mBAAmBJ,EAAY,CAAA,CACtC,EACK,KAAA,CAAE,SAAAmB,CAAa,EAAAhC,EACrBA,EAAM,SAAW,IAAM,CACVgC,IACTf,EAAI,sBAAsB,EAC1BA,EAAI,kBAAkBJ,EAAY,EAClCI,EAAI,mBAAmBJ,EAAY,EACnCI,EAAI,cAAc,iBACdvC,GAAa,aAAasB,EAAM,GAAG,YAAY,CAAA,EAGvDiB,EAAI,sBAAsB,EAC1BA,EAAI,kBAAkBJ,EAAY,EAClCI,EAAI,mBAAmBJ,EAAY,EACnCI,EAAI,cAAc,iBACdvC,GAAa,IAAIsB,EAAM,GAAG,sBAAsB,CAAA,CACvD,CACL,CACA,IAAI2B,GAAkB,EAClBC,GASJ,SAASK,GAAuBjC,EAAOkC,EAAaC,EAAe,CAE/D,MAAMC,EAAUF,EAAY,OAAO,CAACG,EAAcC,KAE9CD,EAAaC,CAAU,EAAIt2B,GAAMg0B,CAAK,EAAEsC,CAAU,EAC3CD,GACR,CAAE,CAAA,EACL,UAAWC,KAAcF,EACfpC,EAAAsC,CAAU,EAAI,UAAY,CAE5B,MAAMC,EAAYZ,GACZa,EAAeL,EACf,IAAI,MAAMnC,EAAO,CACf,OAAO/rC,EAAM,CACM,OAAA2tC,GAAAW,EACR,QAAQ,IAAI,GAAGtuC,CAAI,CAC9B,EACA,OAAOA,EAAM,CACM,OAAA2tC,GAAAW,EACR,QAAQ,IAAI,GAAGtuC,CAAI,CAC9B,CACH,CAAA,EACC+rC,EAES4B,GAAAW,EACf,MAAME,EAAWL,EAAQE,CAAU,EAAE,MAAME,EAAc,SAAS,EAEnD,OAAAZ,GAAA,OACRa,CAAA,CAGnB,CAIA,SAASC,GAAe,CAAE,IAAAtsB,EAAK,MAAA4pB,EAAO,QAAAjtC,GAAW,CAE7C,GAAIitC,EAAM,IAAI,WAAW,QAAQ,EAC7B,OAGEA,EAAA,cAAgB,CAAC,CAACjtC,EAAQ,MAChCkvC,GAAuBjC,EAAO,OAAO,KAAKjtC,EAAQ,OAAO,EAAGitC,EAAM,aAAa,EAE/E,MAAM2C,EAAoB3C,EAAM,WAChCh0B,GAAMg0B,CAAK,EAAE,WAAa,SAAU+B,EAAU,CACxBY,EAAA,MAAM,KAAM,SAAS,EAChBV,GAAAjC,EAAO,OAAO,KAAK+B,EAAS,YAAY,OAAO,EAAG,CAAC,CAAC/B,EAAM,aAAa,CAAA,EAElGuB,GAAmBnrB,EAEnB4pB,CAAA,CACJ,CAKA,SAAS4C,IAAc,CACb,MAAAvvC,EAAQyV,GAAY,EAAI,EAGxBkY,EAAQ3tB,EAAM,IAAI,IAAMie,GAAI,CAAE,CAAA,CAAC,EACrC,IAAIuxB,EAAK,CAAA,EAELC,EAAgB,CAAA,EACpB,MAAM9F,EAAQhsB,GAAQ,CAClB,QAAQoF,EAAK,CAGT2mB,GAAeC,CAAK,EAEhBA,EAAM,GAAK5mB,EACPA,EAAA,QAAQ6mB,GAAaD,CAAK,EAC1B5mB,EAAA,OAAO,iBAAiB,OAAS4mB,EAEjCI,IACA4D,GAAsB5qB,EAAK4mB,CAAK,EAEpC8F,EAAc,QAAS9gC,GAAW6gC,EAAG,KAAK7gC,CAAM,CAAC,EACjD8gC,EAAgB,CAAA,CAExB,EACA,IAAI9gC,EAAQ,CACR,MAAI,CAAC,KAAK,IAAM,CAAC05B,GACboH,EAAc,KAAK9gC,CAAM,EAGzB6gC,EAAG,KAAK7gC,CAAM,EAEX,IACX,EACA,GAAA6gC,EAGA,GAAI,KACJ,GAAIxvC,EACJ,OAAQ,IACR,MAAA2tB,CAAA,CACH,EAGG,OAAAoc,IAAgB,OAAO,MAAU,KACjCJ,EAAM,IAAI0F,EAAc,EAErB1F,CACX,CAkGA,MAAM+F,GAAO,IAAM,CAAE,EACrB,SAASC,GAAgBC,EAAev0B,EAAUjG,EAAUwU,EAAY8lB,GAAM,CAC1EE,EAAc,KAAKv0B,CAAQ,EAC3B,MAAMw0B,EAAqB,IAAM,CACvB,MAAAC,EAAMF,EAAc,QAAQv0B,CAAQ,EACtCy0B,EAAM,KACQF,EAAA,OAAOE,EAAK,CAAC,EACjBlmB,IACd,EAEA,MAAA,CAACxU,GAAYQ,MACbC,GAAeg6B,CAAkB,EAE9BA,CACX,CACA,SAASE,GAAqBH,KAAkBhvC,EAAM,CAClDgvC,EAAc,MAAM,EAAE,QAASv0B,GAAa,CACxCA,EAAS,GAAGza,CAAI,CAAA,CACnB,CACL,CAEA,MAAMovC,GAA0Bv9B,GAAOA,IACvC,SAASw9B,GAAqBz4B,EAAQ04B,EAAc,CAE5C14B,aAAkB,KAAO04B,aAAwB,KACpCA,EAAA,QAAQ,CAACxxC,EAAOK,IAAQyY,EAAO,IAAIzY,EAAKL,CAAK,CAAC,EAG3D8Y,aAAkB,KAAO04B,aAAwB,KACpCA,EAAA,QAAQ14B,EAAO,IAAKA,CAAM,EAG3C,UAAWzY,KAAOmxC,EAAc,CACxB,GAAA,CAACA,EAAa,eAAenxC,CAAG,EAChC,SACE,MAAAoxC,EAAWD,EAAanxC,CAAG,EAC3BqxC,EAAc54B,EAAOzY,CAAG,EAC1BsT,GAAc+9B,CAAW,GACzB/9B,GAAc89B,CAAQ,GACtB34B,EAAO,eAAezY,CAAG,GACzB,CAACwa,GAAM42B,CAAQ,GACf,CAAC3yB,GAAW2yB,CAAQ,EAIpB34B,EAAOzY,CAAG,EAAIkxC,GAAqBG,EAAaD,CAAQ,EAIxD34B,EAAOzY,CAAG,EAAIoxC,CAEtB,CACO,OAAA34B,CACX,CACA,MAAM64B,GAE2B,OAAO,EAqBxC,SAASC,GAAcnyC,EAAK,CACjB,MAED,CAACkU,GAAclU,CAAG,GAAK,CAACA,EAAI,eAAekyC,EAAiB,CACtE,CACA,KAAM,CAAE,OAAAE,EAAW,EAAA,OACnB,SAASC,GAAWpI,EAAG,CACnB,MAAO,CAAC,EAAE7uB,GAAM6uB,CAAC,GAAKA,EAAE,OAC5B,CACA,SAASqI,GAAmBrvB,EAAI1hB,EAASiqC,EAAO+G,EAAK,CACjD,KAAM,CAAE,MAAA/iB,EAAO,QAAAohB,EAAS,QAAA/B,CAAA,EAAYttC,EAC9BixC,EAAehH,EAAM,MAAM,MAAMvoB,CAAE,EACrC,IAAAurB,EACJ,SAASnJ,GAAQ,CACRmN,IAMGhH,EAAM,MAAM,MAAMvoB,CAAE,EAAIuM,EAAQA,IAAU,IAIlD,MAAMijB,EAGAjyB,GAAOgrB,EAAM,MAAM,MAAMvoB,CAAE,CAAC,EAClC,OAAOmvB,GAAOK,EAAY7B,EAAS,OAAO,KAAK/B,GAAW,CAAA,CAAE,EAAE,OAAO,CAAC6D,EAAiBzyC,KAInFyyC,EAAgBzyC,CAAI,EAAIuf,GAAQ2B,GAAS,IAAM,CAC3CoqB,GAAeC,CAAK,EAEpB,MAAMgD,EAAQhD,EAAM,GAAG,IAAIvoB,CAAE,EAQ7B,OAAO4rB,EAAQ5uC,CAAI,EAAE,KAAKuuC,EAAOA,CAAK,CACzC,CAAA,CAAC,EACKkE,GACR,CAAA,CAAE,CAAC,CACV,CACA,OAAAlE,EAAQmE,GAAiB1vB,EAAIoiB,EAAO9jC,EAASiqC,EAAO+G,EAAK,EAAI,EACtD/D,CACX,CACA,SAASmE,GAAiBC,EAAKvN,EAAO9jC,EAAU,CAAA,EAAIiqC,EAAO+G,EAAKM,EAAgB,CACxE,IAAAhxC,EACJ,MAAMixC,EAAmBV,GAAO,CAAE,QAAS,CAAC,CAAA,EAAK7wC,CAAO,EAMlDwxC,EAAoB,CACtB,KAAM,EAAA,EAwBN,IAAAC,EACAC,EACAxB,EAAgB,CAAA,EAChByB,EAAsB,CAAA,EACtBC,EACJ,MAAMX,EAAehH,EAAM,MAAM,MAAMoH,CAAG,EAGtC,CAACC,GAAkB,CAACL,IAMhBhH,EAAM,MAAM,MAAMoH,CAAG,EAAI,CAAA,GAG3B,MAAAQ,EAAWtzB,GAAI,CAAA,CAAE,EAGnB,IAAAuzB,EACJ,SAASC,EAAOC,EAAuB,CAC/B,IAAAC,EACJR,EAAcC,EAAkB,GAM5B,OAAOM,GAA0B,YACjCA,EAAsB/H,EAAM,MAAM,MAAMoH,CAAG,CAAC,EACrBY,EAAA,CACnB,KAAM9H,GAAa,cACnB,QAASkH,EACT,OAAQO,CAAA,IAIZrB,GAAqBtG,EAAM,MAAM,MAAMoH,CAAG,EAAGW,CAAqB,EAC3CC,EAAA,CACnB,KAAM9H,GAAa,YACnB,QAAS6H,EACT,QAASX,EACT,OAAQO,CAAA,GAGV,MAAAM,EAAgBJ,EAAiB,SAC9BvwB,GAAA,EAAE,KAAK,IAAM,CACduwB,IAAmBI,IACLT,EAAA,GAClB,CACH,EACiBC,EAAA,GAElBrB,GAAqBH,EAAe+B,EAAsBhI,EAAM,MAAM,MAAMoH,CAAG,CAAC,CACpF,CACM,MAAAc,EAASb,EACT,UAAkB,CACV,KAAA,CAAE,MAAArjB,CAAU,EAAAjuB,EACZoyC,EAAWnkB,EAAQA,EAAM,EAAI,CAAA,EAE9B,KAAA,OAAQokB,GAAW,CACpBxB,GAAOwB,EAAQD,CAAQ,CAAA,CAC1B,CACL,EAMUpC,GACd,SAASf,GAAW,CAChB3uC,EAAM,KAAK,EACX4vC,EAAgB,CAAA,EAChByB,EAAsB,CAAA,EAChB1H,EAAA,GAAG,OAAOoH,CAAG,CACvB,CAQS,SAAAiB,EAAW5zC,EAAM6zC,EAAQ,CAC9B,OAAO,UAAY,CACfvI,GAAeC,CAAK,EACd,MAAA/oC,EAAO,MAAM,KAAK,SAAS,EAC3BsxC,EAAoB,CAAA,EACpBC,EAAsB,CAAA,EAC5B,SAAShE,GAAM9yB,EAAU,CACrB62B,EAAkB,KAAK72B,CAAQ,CACnC,CACA,SAAS+yB,GAAQ/yB,EAAU,CACvB82B,EAAoB,KAAK92B,CAAQ,CACrC,CAEA00B,GAAqBsB,EAAqB,CACtC,KAAAzwC,EACA,KAAAxC,EACA,MAAAuuC,EACA,MAAAwB,GACA,QAAAC,EAAA,CACH,EACG,IAAAh6B,EACA,GAAA,CACMA,EAAA69B,EAAO,MAAM,MAAQ,KAAK,MAAQlB,EAAM,KAAOpE,EAAO/rC,CAAI,QAG7DyE,EAAO,CACV,MAAA0qC,GAAqBoC,EAAqB9sC,CAAK,EACzCA,CACV,CACA,OAAI+O,aAAe,QACRA,EACF,KAAM1V,IACPqxC,GAAqBmC,EAAmBxzC,CAAK,EACtCA,EACV,EACI,MAAO2G,IACR0qC,GAAqBoC,EAAqB9sC,CAAK,EACxC,QAAQ,OAAOA,CAAK,EAC9B,GAGL0qC,GAAqBmC,EAAmB99B,CAAG,EACpCA,EAAA,CAEf,CACA,MAAMg+B,GAAoCz0B,GAAA,CACtC,QAAS,CAAC,EACV,QAAS,CAAC,EACV,MAAO,CAAC,EACR,SAAA4zB,CAAA,CACH,EACKc,GAAe,CACjB,GAAI1I,EAEJ,IAAAoH,EACA,UAAWpB,GAAgB,KAAK,KAAM0B,CAAmB,EACzD,OAAAI,EACA,OAAAI,EACA,WAAWx2B,EAAU3b,EAAU,GAAI,CACzB,MAAAmwC,EAAqBF,GAAgBC,EAAev0B,EAAU3b,EAAQ,SAAU,IAAM4yC,GAAa,EACnGA,EAActyC,EAAM,IAAI,IAAMgpB,GAAM,IAAM2gB,EAAM,MAAM,MAAMoH,CAAG,EAAIpjB,GAAU,EAC3EjuB,EAAQ,QAAU,OAAS0xC,EAAkBD,IACpC91B,EAAA,CACL,QAAS01B,EACT,KAAMlH,GAAa,OACnB,OAAQyH,GACT3jB,CAAK,GAEb4iB,GAAO,GAAIW,EAAmBxxC,CAAO,CAAC,CAAC,EACnC,OAAAmwC,CACX,EACA,SAAAlB,CAAA,EAOEhC,EAAQlzB,GAAoDswB,GAC5DwG,GAAO,CACL,YAAA6B,GACA,kBAAmBz0B,GAAY,IAAA,GAAK,CACxC,EAAG00B,IAIDA,EAAY,EAGZ1I,EAAA,GAAG,IAAIoH,EAAKpE,CAAK,EAGvB,MAAM4F,IAFkB5I,EAAM,IAAMA,EAAM,GAAG,gBAAmBqG,IAE9B,IAAMrG,EAAM,GAAG,IAAI,KAAO3pC,EAAQyV,GAAY,GAAG,IAAI+tB,CAAK,CAAC,CAAC,EAE9F,UAAWzkC,KAAOwzC,GAAY,CACpB,MAAAl0C,EAAOk0C,GAAWxzC,CAAG,EACtB,GAAAwa,GAAMlb,CAAI,GAAK,CAACmyC,GAAWnyC,CAAI,GAAMmf,GAAWnf,CAAI,EAO3C2yC,IAEFL,GAAgBL,GAAcjyC,CAAI,IAC9Bkb,GAAMlb,CAAI,EACLA,EAAA,MAAQsyC,EAAa5xC,CAAG,EAKRkxC,GAAA5xC,EAAMsyC,EAAa5xC,CAAG,CAAC,GAShD4qC,EAAM,MAAM,MAAMoH,CAAG,EAAEhyC,CAAG,EAAIV,WASjC,OAAOA,GAAS,WAAY,CAEjC,MAAMm0C,EAAsER,EAAWjzC,EAAKV,CAAI,EAS5Fk0C,GAAWxzC,CAAG,EAAIyzC,EAQLvB,EAAA,QAAQlyC,CAAG,EAAIV,CAAA,CAiBxC,CAoGA,GA3FIkyC,GAAO5D,EAAO4F,EAAU,EAGjBhC,GAAA53B,GAAMg0B,CAAK,EAAG4F,EAAU,EAK5B,OAAA,eAAe5F,EAAO,SAAU,CACnC,IAAK,IAAyEhD,EAAM,MAAM,MAAMoH,CAAG,EACnG,IAAMpjB,GAAU,CAKZ8jB,EAAQM,GAAW,CACfxB,GAAOwB,EAAQpkB,CAAK,CAAA,CACvB,CACL,CAAA,CACH,EAwEGoc,GAAc,CACd,MAAM0I,EAAgB,CAClB,SAAU,GACV,aAAc,GAEd,WAAY,EAAA,EAEhB,CAAC,KAAM,cAAe,WAAY,mBAAmB,EAAE,QAASvxB,GAAM,CAC3D,OAAA,eAAeyrB,EAAOzrB,EAAGqvB,GAAO,CAAE,MAAO5D,EAAMzrB,CAAC,GAAKuxB,CAAa,CAAC,CAAA,CAC7E,CACL,CAOM,OAAA9I,EAAA,GAAG,QAAS+I,GAAa,CAE3B,GAAI3I,GAAc,CACd,MAAM4I,EAAa3yC,EAAM,IAAI,IAAM0yC,EAAS,CACxC,MAAA/F,EACA,IAAKhD,EAAM,GACX,MAAAA,EACA,QAASsH,CACZ,CAAA,CAAC,EACF,OAAO,KAAK0B,GAAc,CAAA,CAAE,EAAE,QAAS5zC,GAAQ4tC,EAAM,kBAAkB,IAAI5tC,CAAG,CAAC,EAC/EwxC,GAAO5D,EAAOgG,CAAU,CAAA,MAGxBpC,GAAO5D,EAAO3sC,EAAM,IAAI,IAAM0yC,EAAS,CACnC,MAAA/F,EACA,IAAKhD,EAAM,GACX,MAAAA,EACA,QAASsH,CACZ,CAAA,CAAC,CAAC,CACP,CACH,EAWGN,GACAK,GACAtxC,EAAQ,SACAA,EAAA,QAAQitC,EAAM,OAAQgE,CAAY,EAEhCQ,EAAA,GACIC,EAAA,GACXzE,CACX,CACA,SAASiG,GAETC,EAAarP,EAAOsP,EAAc,CAC1B,IAAA1xB,EACA1hB,EACE,MAAAqzC,EAAe,OAAOvP,GAAU,WAClC,OAAOqP,GAAgB,UAClBzxB,EAAAyxB,EAELnzC,EAAUqzC,EAAeD,EAAetP,IAG9B9jC,EAAAmzC,EACVzxB,EAAKyxB,EAAY,IAKZ,SAAAG,EAASrJ,EAAO+G,EAAK,CAC1B,MAAMuC,EAAahgB,KACnB,OAAA0W,EAGuFA,IAC9EsJ,EAAariB,GAAOgZ,GAAa,IAAI,EAAI,MAC9CD,GACAD,GAAeC,CAAK,EAMhBA,EAAAF,GACHE,EAAM,GAAG,IAAIvoB,CAAE,IAEZ2xB,EACiBjC,GAAA1vB,EAAIoiB,EAAO9jC,EAASiqC,CAAK,EAGvB8G,GAAArvB,EAAI1hB,EAASiqC,CAAK,GAQ/BA,EAAM,GAAG,IAAIvoB,CAAE,CAyBjC,CACA,OAAA4xB,EAAS,IAAM5xB,EACR4xB,CACX,CCztDA,SAASE,GAAW/yC,EAAIgzC,EAAQ,CAC5B,OAAOC,GAAcjzC,EAAIA,EAAG,WAAYgzC,CAAM,CAClD,CACA,SAASC,GAAcC,EAAQC,EAAY,CAAE,KAAA90C,EAAO,OAAQ,eAAA+0C,EAAiB,EAAO,EAAG,CAAE,KAAM,MAAM,EAAI,CACrG,GAAI,CACA,MAAMC,EAAUH,EAAO,WACvB,GAAIG,GAAW,KAAM,CACjB,QAAQ,MAAM,wCAAyCH,EAAQC,EAAYE,CAAO,EAClF,MACH,KACI,CACD,MAAMC,EAAcJ,EAAO,aAAa,CAAE,KAAA70C,EAAM,eAAA+0C,CAAc,CAAE,EAChE,OAAID,GACAI,GAAiBD,EAAaH,CAAU,EACrCG,CACV,CACJ,OACM5P,EAAG,CACN,QAAQ,MAAM,mCAAoCwP,EAAQC,CAAU,EACpE,QAAQ,MAAMzP,CAAC,CAClB,CACL,CAUA,SAAS6P,GAAiBD,EAAaH,EAAY,CAC/C,MAAMK,EAAW,SAAS,yBAC1B,UAAWz0C,KAAQo0C,EACfK,EAAS,YAAYz0C,CAAI,EAE7Bu0C,EAAY,YAAYE,CAAQ,CACpC,CACA,MAAMC,GAAe,SAAS,yBACxBC,GAAc/oB,GAAgB,CAChC,MAAO,CACH,MAAO,OACP,MAAO,MACV,EACD,MAAMhH,EAAO,CAAE,MAAAiC,GAAS,CACpB,MAAO,IAAO,OAAA,OAAA8K,GAAE,QAAS,CAAE,MAAO/M,EAAM,MAAO,MAAOA,EAAM,KAAO,GAAE7O,EAAA8Q,EAAM,UAAN,YAAA9Q,EAAA,KAAA8Q,EAAiB,EACzF,CACL,CAAC,EACK+tB,GAAaC,GAAU,EAACjpB,GAAgB,CAC1C,MAAO,CACH,KAAM,CACF,KAAM,OACN,QAAS,MACZ,EACD,eAAgB,CACZ,KAAM,QACN,QAAS,EACZ,EACD,SAAU,CACN,KAAM,QACN,QAAS,EACZ,EACD,IAAK,CACD,KAAM,OACN,QAAS,KACZ,EACD,mBAAoB,CAChB,KAAM,KACT,CACJ,EACD,MAAO,CAAC,OAAO,EACf,MAAMhH,EAAO,CAAE,MAAAiC,EAAO,OAAA6J,EAAQ,KAAA9pB,CAAI,EAAI,CAClC,MAAMkuC,EAAW/1B,GAAI,EAAK,EACpB9d,EAAK8d,KACLg2B,EAAch2B,KACdw1B,EAAcx1B,KACdi2B,EAAkB50B,GAAS,IAAMm0B,EAAY,OAASG,EAAY,EAClEO,EAAK16B,GAAS,CAChB,YAAAg6B,CACZ,CAAS,EACD,OAAA7jB,EAAOukB,CAAE,EACTpoB,GAAc,IAAM,CAChBioB,EAAS,MAAQlwB,EAAM,QACnC,CAAS,EACDkI,GAAU,IAAM,OACZ,GAAI,CACIgoB,EAAS,MACLC,EAAY,MAAM,cAAc,WAChCR,EAAY,MAAQQ,EAAY,MAAM,cAAc,WAGpDR,EAAY,MAAQL,GAAca,EAAY,MAAM,cAAe,OAAQ,CACvE,KAAMnwB,EAAM,KACZ,eAAgBA,EAAM,cAClD,CAAyB,EAIL2vB,EAAY,MAAQL,GAAcjzC,EAAG,MAAO,OAAQ,CAAE,KAAM2jB,EAAM,KAAM,eAAgBA,EAAM,cAAgB,CAAA,GAElH7O,EAAAw+B,EAAY,QAAZ,MAAAx+B,EAAmB,WACtB,OACM4uB,EAAG,CACN,QAAQ,MAAMA,CAAC,EACf/9B,EAAK,QAAS+9B,CAAC,CAClB,CACb,CAAS,EACD7a,GAAM,CAACyqB,EAAa,IAAM3vB,EAAM,kBAAkB,EAAG,CAAC,CAAC2vB,EAAaW,CAAkB,IAAM,CACxF,GAAI,GAACX,GAAe,CAACW,GAErB,GAAI,CAEAX,EAAY,mBAAqBW,CACpC,OACMvQ,EAAG,CACN,QAAQ,MAAMA,CAAC,EACf/9B,EAAK,QAAS+9B,CAAC,CAClB,CACb,CAAS,EACM,IAAM,OACT,MAAMwQ,EAAcxjB,GAAEkQ,GAAU,CAAE,IAAKkT,EAAa,GAAIC,EAAgB,KAAO,EAAE,EAACj/B,EAAA8Q,EAAM,UAAN,YAAA9Q,EAAA,KAAA8Q,EAAiB,CAAC,EACpG,OAAIiuB,EAAS,MACFK,EACJxjB,GAAE/M,EAAM,IAAK,CAAE,IAAK3jB,CAAE,EAAIk0C,CAAU,CACvD,CACK,EACD,QAAAC,GACA,MAAOT,EACX,CAAC,CAAC,EACF,SAASE,IAAW,CAChB,OAAO51C,GAAOA,CAClB,CACA,SAASm2C,GAAQvxB,EAAK,CAClBA,EAAI,UAAU,cAAe+wB,EAAU,EACvC/wB,EAAI,UAAU,SAAU,CACpB,YAAY5iB,EAAI,CACZ,QAAQ,KAAK,2EAA2E,EACxF+yC,GAAW/yC,CAAE,CAChB,CACT,CAAK,CACL,CACA,IAAIo0C,GAAS,CAAE,WAAAT,GAAY,YAAAD,GAAa,YAAaC,GAAY,aAAcD,GAAa,QAAAS,EAAS,kCC/IpG,SAAS/tC,EAAQiuC,EAAS,CACsCA,EAAQC,CAAO,CAChF,GAAGC,GAAM,SAASD,EAAS,CAEzB,IAAIE,EAAW,CACb,OAAQ,KAAK,QACb,UAAW,KAAK,SACpB,EACMC,EAAS,CACX,IAAK,UAAe,CAClB,GAAI,KAAK,QAAS,CAEhB,QADIC,EACKC,EAAO,UAAU,OAAQC,EAAW,MAAMD,CAAI,EAAGlgC,EAAO,EAAGA,EAAOkgC,EAAMlgC,IAC/EmgC,EAASngC,CAAI,EAAI,UAAUA,CAAI,EAEjCmgC,EAAS,KAAK,KAAK,IAAK,CAAA,GACvBF,EAAmBF,EAAS,QAAQ,IAAI,MAAME,EAAkB,CAAE,eAAiB,EAAC,OAAOE,CAAQ,CAAC,CACtG,CACF,CACL,EACMC,EAAU,OAAO,QAAW,YAAc,OAAO,OAAO,UAAa,SAAW,SAAS72C,EAAK,CAChG,OAAO,OAAOA,CACf,EAAG,SAASA,EAAK,CAChB,OAAOA,GAAO,OAAO,QAAW,YAAcA,EAAI,cAAgB,QAAUA,IAAQ,OAAO,UAAY,SAAW,OAAOA,CAC7H,EACM82C,EAAiB,SAASr1B,EAAUs1B,EAAa,CACnD,GAAI,EAAEt1B,aAAoBs1B,GACxB,MAAM,IAAI,UAAU,mCAAmC,CAE7D,EACMC,EAAc,UAAW,CAC3B,SAASC,EAAiB59B,EAAQsM,EAAO,CACvC,QAASvkB,EAAI,EAAGA,EAAIukB,EAAM,OAAQvkB,IAAK,CACrC,IAAI4uB,EAAarK,EAAMvkB,CAAC,EACxB4uB,EAAW,WAAaA,EAAW,YAAc,GACjDA,EAAW,aAAe,GACtB,UAAWA,IAAYA,EAAW,SAAW,IACjD,OAAO,eAAe3W,EAAQ2W,EAAW,IAAKA,CAAU,CACzD,CACF,CACD,OAAO,SAAS+mB,EAAaG,EAAYC,EAAa,CACpD,OAAID,GAAYD,EAAiBF,EAAY,UAAWG,CAAU,EAC9DC,GAAaF,EAAiBF,EAAaI,CAAW,EACnDJ,CACb,CACA,IACMpM,EAAM,UAAe,CACvB,OAAO,IAAI,OAAO,SACtB,EACMyM,EAAe,SAAsBC,EAAM,CAC7C,OAAQ1M,EAAG,EAAK0M,GAAQ,GAC5B,EACMC,EAAQ,SAAexxB,EAAQyxB,EAAK3qC,EAAK,CAC3C,OAAO,KAAK,IAAI2qC,EAAK,KAAK,IAAI3qC,EAAKkZ,CAAM,CAAC,CAC9C,EACM0xB,EAAoB,UAAW,CACjC,SAASA,EAAkBC,EAAY,CACrCX,EAAe,KAAMU,CAAiB,EACtC,KAAK,oBAAsB,KAAK,oBAAoB,KAAK,IAAI,EAC7D,KAAK,WAAaC,EAClB,KAAK,kBAAoB,CAC1B,CACD,OAAAD,EAAkB,UAAU,MAAQ,UAAiB,CAC9C,KAAK,cACR,KAAK,UAAY7M,IACjB,OAAO,KAAK,UACZ,KAAK,aAAY,EACjB,iBAAiB,mBAAoB,KAAK,mBAAmB,EAC7D8L,EAAO,IAAI,6CAA+C,KAAK,gBAAe,EAAK,KAAK,EAEhG,EACIe,EAAkB,UAAU,KAAO,UAAgB,CAC7C,KAAK,cACP,KAAK,UAAY7M,IACjB,KAAK,YAAW,EAChB,oBAAoB,mBAAoB,KAAK,mBAAmB,EAChE8L,EAAO,IAAI,2BAA2B,EAE9C,EACIe,EAAkB,UAAU,UAAY,UAAqB,CAC3D,OAAO,KAAK,WAAa,CAAC,KAAK,SACrC,EACIA,EAAkB,UAAU,WAAa,UAAsB,CAC7D,KAAK,SAAW7M,GACtB,EACI6M,EAAkB,UAAU,cAAgB,UAAyB,CACnE,KAAK,kBAAoB,EACzB,KAAK,WAAU,EACf,OAAO,KAAK,eACZf,EAAO,IAAI,oCAAoC,CACrD,EACIe,EAAkB,UAAU,iBAAmB,UAA4B,CACzE,KAAK,eAAiB7M,IACtB8L,EAAO,IAAI,uCAAuC,CACxD,EACIe,EAAkB,UAAU,aAAe,UAAwB,CACjE,KAAK,YAAW,EAChB,KAAK,KAAI,CACf,EACIA,EAAkB,UAAU,YAAc,UAAuB,CAC/D,aAAa,KAAK,WAAW,CACnC,EACIA,EAAkB,UAAU,KAAO,UAAgB,CACjD,IAAIE,EAAQ,KACZ,KAAK,YAAc,WAAW,UAAW,CACvCA,EAAM,iBAAgB,EACtBA,EAAM,KAAI,CAClB,EAAS,KAAK,gBAAe,CAAE,CAC/B,EACIF,EAAkB,UAAU,gBAAkB,UAA2B,CACvE,IAAIG,EAAwB,KAAK,YAAY,aAAcJ,EAAMI,EAAsB,IAAK/qC,EAAM+qC,EAAsB,IAAKC,GAAaD,EAAsB,WAC5JE,GAAWD,GAAa,KAAK,IAAI,KAAK,kBAAoB,CAAC,EAC/D,OAAO,KAAK,MAAMN,EAAMO,GAAUN,EAAK3qC,CAAG,EAAI,GAAG,CACvD,EACI4qC,EAAkB,UAAU,iBAAmB,UAA4B,CACrE,KAAK,sBACPf,EAAO,IAAI,oEAAsE,KAAK,kBAAoB,oBAAsB,KAAK,kBAAoB,4BAA8BW,EAAa,KAAK,cAAc,EAAI,yBAA2B,KAAK,YAAY,eAAiB,IAAI,EAC5R,KAAK,oBACD,KAAK,uBACPX,EAAO,IAAI,wDAAwD,GAEnEA,EAAO,IAAI,6BAA6B,EACxC,KAAK,WAAW,UAG1B,EACIe,EAAkB,UAAU,kBAAoB,UAA6B,CAC3E,OAAOJ,EAAa,KAAK,SAAW,KAAK,SAAW,KAAK,SAAS,EAAI,KAAK,YAAY,cAC7F,EACII,EAAkB,UAAU,qBAAuB,UAAgC,CACjF,OAAO,KAAK,gBAAkBJ,EAAa,KAAK,cAAc,EAAI,KAAK,YAAY,cACzF,EACII,EAAkB,UAAU,oBAAsB,UAA+B,CAC/E,IAAIM,EAAS,KACT,SAAS,kBAAoB,WAC/B,WAAW,UAAW,EAChBA,EAAO,kBAAmB,GAAI,CAACA,EAAO,WAAW,YACnDrB,EAAO,IAAI,uFAAyF,SAAS,eAAe,EAC5HqB,EAAO,WAAW,SAErB,EAAE,GAAG,CAEd,EACWN,CACX,IACEA,EAAkB,aAAe,CAC/B,IAAK,EACL,IAAK,GACL,WAAY,CAChB,EACEA,EAAkB,eAAiB,EACnC,IAAIO,EAAW,CACb,cAAe,CACb,QAAS,UACT,WAAY,aACZ,KAAM,OACN,aAAc,uBACd,UAAW,qBACZ,EACD,mBAAoB,CAClB,aAAc,eACd,gBAAiB,kBACjB,eAAgB,gBACjB,EACD,mBAAoB,SACpB,UAAW,CAAE,sBAAuB,yBAA2B,CACnE,EACMC,EAAgBD,EAAS,cAAeE,EAAYF,EAAS,UAC7DG,EAAqBD,EAAU,MAAM,EAAGA,EAAU,OAAS,CAAC,EAC5DE,EAAU,CAAE,EAAC,QACbC,EAAa,UAAW,CAC1B,SAASA,EAAWC,EAAU,CAC5BvB,EAAe,KAAMsB,CAAU,EAC/B,KAAK,KAAO,KAAK,KAAK,KAAK,IAAI,EAC/B,KAAK,SAAWC,EAChB,KAAK,cAAgB,KAAK,SAAS,cACnC,KAAK,QAAU,IAAIb,EAAkB,IAAI,EACzC,KAAK,aAAe,EACrB,CACD,OAAAY,EAAW,UAAU,KAAO,SAAcnsC,EAAM,CAC9C,OAAI,KAAK,UACP,KAAK,UAAU,KAAK,KAAK,UAAUA,CAAI,CAAC,EACjC,IAEA,EAEf,EACImsC,EAAW,UAAU,KAAO,UAAgB,CAC1C,OAAI,KAAK,YACP3B,EAAO,IAAI,uDAAyD,KAAK,SAAU,CAAA,EAC5E,KAEPA,EAAO,IAAI,uCAAyC,KAAK,WAAa,mBAAqBwB,CAAS,EAChG,KAAK,WACP,KAAK,uBAAsB,EAE7B,KAAK,UAAY,IAAIzB,EAAS,UAAU,KAAK,SAAS,IAAKyB,CAAS,EACpE,KAAK,qBAAoB,EACzB,KAAK,QAAQ,QACN,GAEf,EACIG,EAAW,UAAU,MAAQ,UAAiB,CAC5C,IAAIE,EAAO,UAAU,OAAS,GAAK,UAAU,CAAC,IAAM,OAAY,UAAU,CAAC,EAAI,CAC7E,eAAgB,EACxB,EAASC,EAAiBD,EAAK,eAIzB,GAHKC,GACH,KAAK,QAAQ,OAEX,KAAK,WACP,OAAO,KAAK,UAAU,OAE9B,EACIH,EAAW,UAAU,OAAS,UAAkB,CAE9C,GADA3B,EAAO,IAAI,yCAA2C,KAAK,SAAU,CAAA,EACjE,KAAK,WACP,GAAI,CACF,OAAO,KAAK,OACb,OAAQvvC,EAAO,CACduvC,EAAO,IAAI,6BAA8BvvC,CAAK,CACxD,QAAkB,CACRuvC,EAAO,IAAI,0BAA4B,KAAK,YAAY,YAAc,IAAI,EAC1E,WAAW,KAAK,KAAM,KAAK,YAAY,WAAW,CACnD,KAED,QAAO,KAAK,MAEpB,EACI2B,EAAW,UAAU,YAAc,UAAuB,CACxD,GAAI,KAAK,UACP,OAAO,KAAK,UAAU,QAE9B,EACIA,EAAW,UAAU,OAAS,UAAkB,CAC9C,OAAO,KAAK,QAAQ,MAAM,CAChC,EACIA,EAAW,UAAU,SAAW,UAAoB,CAClD,OAAO,KAAK,QAAQ,OAAQ,YAAY,CAC9C,EACIA,EAAW,UAAU,oBAAsB,UAA+B,CACxE,OAAOD,EAAQ,KAAKD,EAAoB,KAAK,YAAW,CAAE,GAAK,CACrE,EACIE,EAAW,UAAU,QAAU,UAAmB,CAChD,QAASzB,EAAO,UAAU,OAAQ6B,EAAS,MAAM7B,CAAI,EAAGlgC,EAAO,EAAGA,EAAOkgC,EAAMlgC,IAC7E+hC,EAAO/hC,CAAI,EAAI,UAAUA,CAAI,EAE/B,OAAO0hC,EAAQ,KAAKK,EAAQ,KAAK,SAAQ,CAAE,GAAK,CACtD,EACIJ,EAAW,UAAU,SAAW,UAAoB,CAClD,GAAI,KAAK,WACP,QAAS5oB,KAASgnB,EAAS,UACzB,GAAIA,EAAS,UAAUhnB,CAAK,IAAM,KAAK,UAAU,WAC/C,OAAOA,EAAM,cAInB,OAAO,IACb,EACI4oB,EAAW,UAAU,qBAAuB,UAAgC,CAC1E,QAASK,KAAa,KAAK,OAAQ,CACjC,IAAIxyB,EAAU,KAAK,OAAOwyB,CAAS,EAAE,KAAK,IAAI,EAC9C,KAAK,UAAU,KAAOA,CAAS,EAAIxyB,CACpC,CACP,EACImyB,EAAW,UAAU,uBAAyB,UAAkC,CAC9E,QAASK,KAAa,KAAK,OACzB,KAAK,UAAU,KAAOA,CAAS,EAAI,UAAW,CAAA,CAEtD,EACWL,CACX,IACEA,EAAW,YAAc,IACzBA,EAAW,UAAU,OAAS,CAC5B,QAAS,SAAiBznC,EAAO,CAC/B,GAAK,KAAK,sBAGV,KAAI+nC,EAAc,KAAK,MAAM/nC,EAAM,IAAI,EAAGgoC,EAAaD,EAAY,WAAYvxC,EAAUuxC,EAAY,QAASjvC,GAASivC,EAAY,OAAQE,GAAYF,EAAY,UAAWv4C,EAAOu4C,EAAY,KACjM,OAAQv4C,EAAI,CACX,KAAK63C,EAAc,QAClB,YAAK,QAAQ,gBACN,KAAK,cAAc,SAE3B,KAAKA,EAAc,WAClB,OAAAvB,EAAO,IAAI,0BAA4BhtC,EAAM,EACtC,KAAK,MAAM,CAChB,eAAgBmvC,EAC1B,CAAS,EAEF,KAAKZ,EAAc,KAClB,OAAO,KAAK,QAAQ,aAErB,KAAKA,EAAc,aAClB,YAAK,cAAc,oBAAoBW,CAAU,EAC1C,KAAK,cAAc,OAAOA,EAAY,WAAW,EAEzD,KAAKX,EAAc,UAClB,OAAO,KAAK,cAAc,OAAOW,CAAU,EAE5C,QACC,OAAO,KAAK,cAAc,OAAOA,EAAY,WAAYxxC,CAAO,CACjE,EACF,EACD,KAAM,UAAgB,CAGpB,GAFAsvC,EAAO,IAAI,kCAAoC,KAAK,YAAW,EAAK,eAAe,EACnF,KAAK,aAAe,GAChB,CAAC,KAAK,sBACR,OAAAA,EAAO,IAAI,8DAA8D,EAClE,KAAK,MAAM,CAChB,eAAgB,EAC1B,CAAS,CAEJ,EACD,MAAO,SAAe9lC,EAAO,CAE3B,GADA8lC,EAAO,IAAI,yBAAyB,EAChC,MAAK,aAGT,YAAK,aAAe,GACpB,KAAK,QAAQ,mBACN,KAAK,cAAc,UAAU,eAAgB,CAClD,qBAAsB,KAAK,QAAQ,UAAW,CACtD,CAAO,CACF,EACD,MAAO,UAAiB,CACtBA,EAAO,IAAI,yBAAyB,CACrC,CACL,EACE,IAAIvjC,EAAS,SAAgBgH,EAAQ2+B,EAAY,CAC/C,GAAIA,GAAc,KAChB,QAASj4C,KAAOi4C,EAAY,CAC1B,IAAIt4C,EAAQs4C,EAAWj4C,CAAG,EAC1BsZ,EAAOtZ,CAAG,EAAIL,CACf,CAEH,OAAO2Z,CACX,EACM4+B,EAAe,UAAW,CAC5B,SAASA,EAAaT,EAAU,CAC9B,IAAI5yB,EAAS,UAAU,OAAS,GAAK,UAAU,CAAC,IAAM,OAAY,UAAU,CAAC,EAAI,CAAA,EAC7E6O,EAAQ,UAAU,CAAC,EACvBwiB,EAAe,KAAMgC,CAAY,EACjC,KAAK,SAAWT,EAChB,KAAK,WAAa,KAAK,UAAU5yB,CAAM,EACvCvS,EAAO,KAAMohB,CAAK,CACnB,CACD,OAAAwkB,EAAa,UAAU,QAAU,SAAiBhF,EAAQ,CACxD,IAAI7nC,EAAO,UAAU,OAAS,GAAK,UAAU,CAAC,IAAM,OAAY,UAAU,CAAC,EAAI,CAAA,EAC/E,OAAAA,EAAK,OAAS6nC,EACP,KAAK,KAAK7nC,CAAI,CAC3B,EACI6sC,EAAa,UAAU,KAAO,SAAc7sC,EAAM,CAChD,OAAO,KAAK,SAAS,KAAK,CACxB,QAAS,UACT,WAAY,KAAK,WACjB,KAAM,KAAK,UAAUA,CAAI,CACjC,CAAO,CACP,EACI6sC,EAAa,UAAU,YAAc,UAAuB,CAC1D,OAAO,KAAK,SAAS,cAAc,OAAO,IAAI,CACpD,EACWA,CACX,IACMC,EAAwB,UAAW,CACrC,SAASA,EAAsBtH,EAAe,CAC5CqF,EAAe,KAAMiC,CAAqB,EAC1C,KAAK,cAAgBtH,EACrB,KAAK,qBAAuB,EAC7B,CACD,OAAAsH,EAAsB,UAAU,UAAY,SAAmBC,EAAc,CACvE,KAAK,qBAAqB,QAAQA,CAAY,GAAK,IACrDvC,EAAO,IAAI,sCAAwCuC,EAAa,UAAU,EAC1E,KAAK,qBAAqB,KAAKA,CAAY,GAE3CvC,EAAO,IAAI,8CAAgDuC,EAAa,UAAU,EAEpF,KAAK,kBAAiB,CAC5B,EACID,EAAsB,UAAU,OAAS,SAAgBC,EAAc,CACrEvC,EAAO,IAAI,oCAAsCuC,EAAa,UAAU,EACxE,KAAK,qBAAuB,KAAK,qBAAqB,OAAO,SAASzwC,EAAG,CACvE,OAAOA,IAAMywC,CACrB,CAAO,CACP,EACID,EAAsB,UAAU,kBAAoB,UAA6B,CAC/E,KAAK,iBAAgB,EACrB,KAAK,iBAAgB,CAC3B,EACIA,EAAsB,UAAU,iBAAmB,UAA4B,CAC7E,aAAa,KAAK,YAAY,CACpC,EACIA,EAAsB,UAAU,iBAAmB,UAA4B,CAC7E,IAAIrB,EAAQ,KACZ,KAAK,aAAe,WAAW,UAAW,CACpCA,EAAM,eAAiB,OAAOA,EAAM,cAAc,WAAc,YAClEA,EAAM,qBAAqB,IAAI,SAASsB,EAAc,CACpDvC,EAAO,IAAI,uCAAyCuC,EAAa,UAAU,EAC3EtB,EAAM,cAAc,UAAUsB,CAAY,CACtD,CAAW,CAEJ,EAAE,GAAG,CACZ,EACWD,CACX,IACME,GAAgB,UAAW,CAC7B,SAASA,EAAcZ,EAAU,CAC/BvB,EAAe,KAAMmC,CAAa,EAClC,KAAK,SAAWZ,EAChB,KAAK,UAAY,IAAIU,EAAsB,IAAI,EAC/C,KAAK,cAAgB,EACtB,CACD,OAAAE,EAAc,UAAU,OAAS,SAAgBC,EAAa5kB,EAAO,CACnE,IAAI6kB,EAAUD,EACVzzB,IAAU,OAAO0zB,EAAY,IAAc,YAActC,EAAQsC,CAAO,KAAO,SAAWA,EAAU,CACtG,QAASA,CACjB,EACUH,GAAe,IAAIF,EAAa,KAAK,SAAUrzB,GAAQ6O,CAAK,EAChE,OAAO,KAAK,IAAI0kB,EAAY,CAClC,EACIC,EAAc,UAAU,IAAM,SAAaD,EAAc,CACvD,YAAK,cAAc,KAAKA,CAAY,EACpC,KAAK,SAAS,yBACd,KAAK,OAAOA,EAAc,aAAa,EACvC,KAAK,UAAUA,CAAY,EACpBA,CACb,EACIC,EAAc,UAAU,OAAS,SAAgBD,EAAc,CAC7D,YAAK,OAAOA,CAAY,EACnB,KAAK,QAAQA,EAAa,UAAU,EAAE,QACzC,KAAK,YAAYA,EAAc,aAAa,EAEvCA,CACb,EACIC,EAAc,UAAU,OAAS,SAAgBN,EAAY,CAC3D,IAAIjB,EAAQ,KACZ,OAAO,KAAK,QAAQiB,CAAU,EAAE,IAAI,SAASK,EAAc,CACzD,OAAAtB,EAAM,OAAOsB,CAAY,EACzBtB,EAAM,OAAOsB,EAAc,UAAU,EAC9BA,CACf,CAAO,CACP,EACIC,EAAc,UAAU,OAAS,SAAgBD,EAAc,CAC7D,YAAK,UAAU,OAAOA,CAAY,EAClC,KAAK,cAAgB,KAAK,cAAc,OAAO,SAASzwC,EAAG,CACzD,OAAOA,IAAMywC,CACrB,CAAO,EACMA,CACb,EACIC,EAAc,UAAU,QAAU,SAAiBN,EAAY,CAC7D,OAAO,KAAK,cAAc,OAAO,SAASpwC,EAAG,CAC3C,OAAOA,EAAE,aAAeowC,CAChC,CAAO,CACP,EACIM,EAAc,UAAU,OAAS,UAAkB,CACjD,IAAInB,EAAS,KACb,OAAO,KAAK,cAAc,IAAI,SAASkB,EAAc,CACnD,OAAOlB,EAAO,UAAUkB,CAAY,CAC5C,CAAO,CACP,EACIC,EAAc,UAAU,UAAY,SAAmBG,EAAc,CAEnE,QADIC,EAAS,KACJ1C,EAAO,UAAU,OAAQl0C,GAAO,MAAMk0C,EAAO,EAAIA,EAAO,EAAI,CAAC,EAAGlgC,GAAO,EAAGA,GAAOkgC,EAAMlgC,KAC9FhU,GAAKgU,GAAO,CAAC,EAAI,UAAUA,EAAI,EAEjC,OAAO,KAAK,cAAc,IAAI,SAASuiC,EAAc,CACnD,OAAOK,EAAO,OAAO,MAAMA,EAAQ,CAAEL,EAAcI,GAAe,OAAO32C,EAAI,CAAC,CACtF,CAAO,CACP,EACIw2C,EAAc,UAAU,OAAS,SAAgBD,EAAcI,EAAc,CAC3E,QAASE,EAAQ,UAAU,OAAQ72C,GAAO,MAAM62C,EAAQ,EAAIA,EAAQ,EAAI,CAAC,EAAGC,GAAQ,EAAGA,GAAQD,EAAOC,KACpG92C,GAAK82C,GAAQ,CAAC,EAAI,UAAUA,EAAK,EAEnC,IAAI9H,EAAgB,OACpB,OAAI,OAAOuH,GAAiB,SAC1BvH,EAAgB,KAAK,QAAQuH,CAAY,EAEzCvH,EAAgB,CAAEuH,GAEbvH,EAAc,IAAI,SAASuH,EAAc,CAC9C,OAAO,OAAOA,EAAaI,CAAY,GAAM,WAAaJ,EAAaI,CAAY,EAAE,MAAMJ,EAAcv2C,EAAI,EAAI,MACzH,CAAO,CACP,EACIw2C,EAAc,UAAU,UAAY,SAAmBD,EAAc,CAC/D,KAAK,YAAYA,EAAc,WAAW,GAC5C,KAAK,UAAU,UAAUA,CAAY,CAE7C,EACIC,EAAc,UAAU,oBAAsB,SAA6BN,EAAY,CACrF,IAAIa,EAAS,KACb/C,EAAO,IAAI,0BAA4BkC,CAAU,EACjD,KAAK,QAAQA,CAAU,EAAE,IAAI,SAASK,EAAc,CAClD,OAAOQ,EAAO,UAAU,OAAOR,CAAY,CACnD,CAAO,CACP,EACIC,EAAc,UAAU,YAAc,SAAqBD,EAAcS,EAAS,CAChF,IAAId,EAAaK,EAAa,WAC9B,OAAO,KAAK,SAAS,KAAK,CACxB,QAASS,EACT,WAAYd,CACpB,CAAO,CACP,EACWM,CACX,IACMS,GAAW,UAAW,CACxB,SAASA,EAASxN,EAAK,CACrB4K,EAAe,KAAM4C,CAAQ,EAC7B,KAAK,KAAOxN,EACZ,KAAK,cAAgB,IAAI+M,GAAc,IAAI,EAC3C,KAAK,WAAa,IAAIb,EAAW,IAAI,CACtC,CACD,OAAAsB,EAAS,UAAU,KAAO,SAAcztC,EAAM,CAC5C,OAAO,KAAK,WAAW,KAAKA,CAAI,CACtC,EACIytC,EAAS,UAAU,QAAU,UAAmB,CAC9C,OAAO,KAAK,WAAW,MAC7B,EACIA,EAAS,UAAU,WAAa,UAAsB,CACpD,OAAO,KAAK,WAAW,MAAM,CAC3B,eAAgB,EACxB,CAAO,CACP,EACIA,EAAS,UAAU,uBAAyB,UAAkC,CAC5E,GAAI,CAAC,KAAK,WAAW,WACnB,OAAO,KAAK,WAAW,MAE/B,EACI1C,EAAY0C,EAAU,CAAE,CACtB,IAAK,MACL,IAAK,UAAkB,CACrB,OAAOC,EAAmB,KAAK,IAAI,CACpC,CACF,CAAA,CAAE,EACID,CACX,IACE,SAASC,EAAmBzN,EAAK,CAI/B,GAHI,OAAOA,GAAQ,aACjBA,EAAMA,EAAG,GAEPA,GAAO,CAAC,UAAU,KAAKA,CAAG,EAAG,CAC/B,IAAIp9B,EAAI,SAAS,cAAc,GAAG,EAClC,OAAAA,EAAE,KAAOo9B,EACTp9B,EAAE,KAAOA,EAAE,KACXA,EAAE,SAAWA,EAAE,SAAS,QAAQ,OAAQ,IAAI,EACrCA,EAAE,IACf,KACM,QAAOo9B,CAEV,CACD,SAAS0N,IAAiB,CACxB,IAAI1N,EAAM,UAAU,OAAS,GAAK,UAAU,CAAC,IAAM,OAAY,UAAU,CAAC,EAAI2N,GAAU,KAAK,GAAK9B,EAAS,mBAC3G,OAAO,IAAI2B,GAASxN,CAAG,CACxB,CACD,SAAS2N,GAAU55C,EAAM,CACvB,IAAIkP,EAAU,SAAS,KAAK,cAAc,2BAA6BlP,EAAO,IAAI,EAClF,GAAIkP,EACF,OAAOA,EAAQ,aAAa,SAAS,CAExC,CACDmnC,EAAQ,WAAa8B,EACrB9B,EAAQ,kBAAoBkB,EAC5BlB,EAAQ,SAAWoD,GACnBpD,EAAQ,SAAWyB,EACnBzB,EAAQ,aAAewC,EACvBxC,EAAQ,cAAgB2C,GACxB3C,EAAQ,sBAAwByC,EAChCzC,EAAQ,SAAWE,EACnBF,EAAQ,mBAAqBqD,EAC7BrD,EAAQ,OAASG,EACjBH,EAAQ,eAAiBsD,GACzBtD,EAAQ,UAAYuD,GACpB,OAAO,eAAevD,EAAS,aAAc,CAC3C,MAAO,EACX,CAAG,CACH,CAAC,qCC3jBc,SAASxuB,GAAOgyB,EAAMC,EAAQ,CAC3C,OAAQC,EAAU,EAAIC,EAAoB,MAAO,CAC/C,MAAO,6BACP,QAAS,YACT,KAAM,eACN,cAAe,OACf,YAAa,MACjB,EAAK,CACDC,EAAoB,OAAQ,CAC1B,YAAa,UACb,EAAG,0JACH,YAAa,SACnB,CAAK,CACL,CAAG,CACH,CCde,SAASpyB,GAAOgyB,EAAMC,EAAQ,CAC3C,OAAQC,EAAU,EAAIC,EAAoB,MAAO,CAC/C,MAAO,6BACP,QAAS,YACT,KAAM,eACN,cAAe,OACf,YAAa,MACjB,EAAK,CACDC,EAAoB,OAAQ,CAC1B,YAAa,UACb,EAAG,qUACH,YAAa,SACnB,CAAK,CACL,CAAG,CACH,CCde,SAASpyB,GAAOgyB,EAAMC,EAAQ,CAC3C,OAAQC,EAAU,EAAIC,EAAoB,MAAO,CAC/C,MAAO,6BACP,QAAS,YACT,KAAM,eACN,cAAe,OACf,YAAa,MACjB,EAAK,CACDC,EAAoB,OAAQ,CAC1B,YAAa,UACb,EAAG,uIACH,YAAa,SACnB,CAAK,CACL,CAAG,CACH,CCde,SAASpyB,GAAOgyB,EAAMC,EAAQ,CAC3C,OAAQC,EAAU,EAAIC,EAAoB,MAAO,CAC/C,MAAO,6BACP,QAAS,YACT,KAAM,eACN,cAAe,OACf,YAAa,MACjB,EAAK,CACDC,EAAoB,OAAQ,CAAE,EAAG,gEAAgE,CAAE,EACnGA,EAAoB,OAAQ,CAAE,EAAG,uJAAuJ,CAAE,EAC1LA,EAAoB,OAAQ,CAAE,EAAG,iKAAiK,CAAE,CACxM,CAAG,CACH,CCZe,SAASpyB,GAAOgyB,EAAMC,EAAQ,CAC3C,OAAQC,EAAU,EAAIC,EAAoB,MAAO,CAC/C,MAAO,6BACP,QAAS,YACT,KAAM,eACN,cAAe,OACf,YAAa,MACjB,EAAK,CACDC,EAAoB,OAAQ,CAC1B,YAAa,UACb,EAAG,2WACH,YAAa,SACnB,CAAK,CACL,CAAG,CACH,CCde,SAASpyB,GAAOgyB,EAAMC,EAAQ,CAC3C,OAAQC,EAAU,EAAIC,EAAoB,MAAO,CAC/C,MAAO,6BACP,QAAS,YACT,KAAM,eACN,cAAe,OACf,YAAa,MACjB,EAAK,CACDC,EAAoB,OAAQ,CAAE,EAAG,eAAe,CAAE,EAClDA,EAAoB,OAAQ,CAC1B,YAAa,UACb,EAAG,0gBACH,YAAa,SACnB,CAAK,CACL,CAAG,CACH,CCfe,SAASpyB,GAAOgyB,EAAMC,EAAQ,CAC3C,OAAQC,EAAU,EAAIC,EAAoB,MAAO,CAC/C,MAAO,6BACP,QAAS,YACT,KAAM,eACN,cAAe,OACf,YAAa,MACjB,EAAK,CACDC,EAAoB,OAAQ,CAAE,EAAG,6KAA6K,CAAE,CACpN,CAAG,CACH,CCVe,SAASpyB,GAAOgyB,EAAMC,EAAQ,CAC3C,OAAQC,EAAU,EAAIC,EAAoB,MAAO,CAC/C,MAAO,6BACP,QAAS,YACT,KAAM,eACN,cAAe,OACf,YAAa,MACjB,EAAK,CACDC,EAAoB,OAAQ,CAAE,EAAG,iHAAiH,CAAE,CACxJ,CAAG,CACH,CCVe,SAASpyB,GAAOgyB,EAAMC,EAAQ,CAC3C,OAAQC,EAAU,EAAIC,EAAoB,MAAO,CAC/C,MAAO,6BACP,QAAS,YACT,KAAM,eACN,cAAe,OACf,YAAa,MACjB,EAAK,CACDC,EAAoB,OAAQ,CAC1B,YAAa,UACb,EAAG,+bACH,YAAa,SACnB,CAAK,CACL,CAAG,CACH,CCde,SAASpyB,GAAOgyB,EAAMC,EAAQ,CAC3C,OAAQC,EAAU,EAAIC,EAAoB,MAAO,CAC/C,MAAO,6BACP,QAAS,YACT,KAAM,eACN,cAAe,OACf,YAAa,MACjB,EAAK,CACDC,EAAoB,OAAQ,CAC1B,YAAa,UACb,EAAG,mOACH,YAAa,SACnB,CAAK,CACL,CAAG,CACH,+GCfA,MAAMv0B,EAAQw0B,2lBCEZ,SAAAC,GAAAN,EAAAC,EAAA,QACeC,EAAA,EAAAC,EAAA,MAAAI,GAAA,+tBCDjB,MAAM10B,EAAQw0B,uVCHb,SAASzxB,EAAM2tB,EAAS,CACaiE,EAAO,QACrCA,EAAA,QAAiBjE,IAEjB3tB,EAAK,QAAU2tB,GAEtB,GAACE,GAAM,UAAW,CAEf,SAASgE,EAAKt6C,EAAMu6C,EAASC,EAAa,CACtC,YAAK,GAAK,EAAEF,EAAK,UACjB,KAAK,KAAOt6C,EACZ,KAAK,QAAUu6C,EACf,KAAK,YAAcC,EACZ,IACV,CACDF,EAAK,UAAY,EAEjBA,EAAK,UAAU,SAAW,SAASG,EAAc,CAC7C,IAAIC,EAAkB,OAAOD,EAAiB,IACvB,KAAK,QAAQ,IAAIE,CAAqB,EAAE,KAAK,GAAG,EAC5C,KAAK,QAAQ,MAAM,EAAGF,CAAY,EAAE,IAAIE,CAAqB,EAAE,KAAK,GAAG,EACvE,MACA,KAAK,QAAQ,MAAMF,CAAY,EAAE,IAAIE,CAAqB,EAAE,KAAK,GAAG,EAC/F,OAAO,KAAK,KAAO,MAAQD,CAC9B,EAID,SAASE,EAAMC,EAAMC,EAAKC,EAAWC,EAAU,CAC3C,KAAK,KAAOH,EACZ,KAAK,IAAMC,EACX,KAAK,UAAYC,EACjB,KAAK,KAAO,GACZ,KAAK,SAAWC,EAChB,KAAK,WAAa,KAAK,MAAQH,EAAK,QAAQ,MAC/C,CAEDD,EAAM,UAAU,SAAW,UAAW,CAClC,MAAO,IAAM,KAAK,KAAK,SAAS,KAAK,GAAG,EAAI,aAAe,KAAK,WAAa,EACrF,EAEIA,EAAM,UAAU,UAAY,SAAS94C,EAAO,CACxC,IAAIytB,EAAQ,IAAIqrB,EAAM,KAAK,KAAM,KAAK,IAAM,EAAG,KAAK,UAAW,KAAK,QAAQ,EAC5E,OAAArrB,EAAM,KAAO,KACbA,EAAM,MAAQztB,EACVytB,EAAM,aACNA,EAAM,KAAOA,EAAM,QAGnBA,EAAM,MAAQ,QAEXA,CACf,EAEIqrB,EAAM,UAAU,MAAQ,UAAW,CAC/B,IAAIvjB,EAAW,CAAA,EACXv2B,EAAO,KACX,GACIu2B,EAAS,KAAKv2B,EAAK,MAAM,IAAI,EAC7BA,EAAOA,EAAK,WACPA,EAAK,MACd,OAAAu2B,EAAS,QAAO,EACTA,CACf,EAEIujB,EAAM,UAAU,OAAS,UAAW,CAC5B,KAAK,KAAK,cACV,KAAK,KAAO,KAAK,KAAK,YAAY,KAAK,KAAM,KAAK,UAAWK,EAAO,IAAI,EAEpF,EAGI,SAASC,EAAOC,EAAS1yC,EAAO,CAC5B,KAAK,QAAU0yC,EACf,KAAK,MAAQ1yC,EACb,KAAK,OAAS,GACd,KAAK,MAAQ,GACb,KAAK,UAAY,GACjB,KAAK,UAAY,EACpB,CAGDyyC,EAAO,UAAU,QAAU,SAASE,EAAY,CAK5C,QAJI7C,EAAS,KAAK,OACd8C,EAAQ,KAAK,MACbC,EAAY,KAAK,UAEZC,EAAI,EAAGA,EAAIhD,EAAO,OAAQgD,IAAK,CACpC,IAAIhsB,EAAQgpB,EAAOgD,CAAC,EAEpB,GAAIhsB,EAAM,YAEN,GADAA,EAAM,OAAM,EACRA,EAAM,OAAS0rB,EAAO,KAAM,CAG5B,QADID,EAAWzrB,EAAM,SACZpuB,EAAI65C,EAAS,OAAQ75C,KAAO,CACjC,IAAIq6C,EAAOR,EAAS75C,CAAC,EACrB,KAAK,SAASq6C,EAAMjsB,CAAK,CAC5B,CAGD,GAAIA,EAAM,YAAc,KAAK,MAAO,CAEhC,IAAIksB,EAAMlsB,EAAM,KAAK,MACpB,KAAK,UAAUksB,CAAG,EAAI,KAAK,UAAUA,CAAG,GAAK,CAAA,GAAI,KAAKlsB,CAAK,CAC/D,CACJ,MAEE,CAEH,IAAIksB,EAAMlsB,EAAM,KAAK,QAAQA,EAAM,GAAG,EACtC,GAAI,OAAOksB,GAAQ,SAAU,CACzB,KAAK,UAAU,KAAKlsB,CAAK,EACzB,QACH,CAGD,GAAI8rB,EAAMI,CAAG,GAGT,GAFAJ,EAAMI,CAAG,EAAE,KAAKlsB,CAAK,EAEjB+rB,EAAU,eAAeG,CAAG,EAE5B,QADIC,EAAQJ,EAAUG,CAAG,EAChBt6C,EAAI,EAAGA,EAAIu6C,EAAM,OAAQv6C,IAAK,CACnC,IAAIw6C,EAAQD,EAAMv6C,CAAC,EACnB,KAAK,SAASouB,EAAOosB,CAAK,CAC7B,OAGLN,EAAMI,CAAG,EAAI,CAAClsB,CAAK,EACnB,KAAK,QAAQksB,CAAG,CAEvB,CACJ,CACJ,EAEDP,EAAO,UAAU,QAAU,SAASO,EAAK,CAGrC,QAFIG,EAAQ,KAAK,QAAQ,OAAOH,CAAG,GAAK,GAE/Bt6C,EAAI,EAAGA,EAAIy6C,EAAM,OAAQz6C,IAAK,CACnC,IAAIye,EAAIg8B,EAAMz6C,CAAC,EACX65C,EAAW,KAAK,MAAMS,CAAG,EACzBnzC,EAAI,IAAIsyC,EAAMh7B,EAAG,EAAG,KAAK,MAAOo7B,CAAQ,EAC5C,KAAK,OAAO,KAAK1yC,CAAC,CACrB,CACJ,EAED4yC,EAAO,UAAU,SAAW,SAASM,EAAMG,EAAO,CAC9C,IAAIE,EAAOL,EAAK,UAAUG,CAAK,EAC/B,KAAK,OAAO,KAAKE,CAAI,CACxB,EAGD,SAASC,EAAQF,EAAO34B,EAAO,CAC3B,KAAK,MAAQ24B,EACb,KAAK,MAAQ34B,GAAS,KAAK,MAAM,CAAC,EAAE,KACpC,IAAI84B,EAAS,KAAK,OAAS,GAC3B,KAAK,MAAM,QAAQ,SAASlB,EAAM,CACzBkB,EAAO,eAAelB,EAAK,IAAI,IAChCkB,EAAOlB,EAAK,IAAI,EAAI,IAExBkB,EAAOlB,EAAK,IAAI,EAAE,KAAKA,CAAI,CACvC,CAAS,CACJ,CAGDiB,EAAQ,aAAe,SAASF,EAAO34B,EAAO,CAC1C,IAAI+4B,EAAQJ,EAAM,MACdA,EAAM,cACR34B,EAAQ24B,EAAM,YACdA,EAAQA,EAAM,aAEhB,IAAIA,EAAQA,EAAM,IAAI,SAAUh8B,EAAG,CAAE,OAAQ,IAAI06B,EAAK16B,EAAE,KAAMA,EAAE,QAASA,EAAE,WAAW,CAAG,CAAE,EACvFq8B,EAAI,IAAIH,EAAQF,EAAO34B,CAAK,EAChC,OAAAg5B,EAAE,MAAQD,EACHC,CACV,EAGD,SAASC,GAAc,CACrB,KAAK,MAAM,EAAE,CACd,CAEDA,EAAY,UAAU,MAAQ,SAASlwC,EAAMujB,EAAO,CAChD,KAAK,OAASvjB,EACd,KAAK,MAAQ,EACb,KAAK,KAAOujB,EAAQA,EAAM,KAAO,EACjC,KAAK,cAAgBA,EAAQ,CAACA,EAAM,IAAM,CAC7C,EAED2sB,EAAY,UAAU,KAAO,UAAW,CACpC,GAAI,KAAK,MAAQ,KAAK,OAAO,OAAQ,CACjC,IAAIC,EAAK,KAAK,OAAO,KAAK,OAAO,EACjC,OAAIA,IAAO;AAAA,IACT,KAAK,MAAQ,EACb,KAAK,cAAgB,KAAK,OAErB,CAAC,MAAOA,CAAE,CACpB,CACJ,EAEDD,EAAY,UAAU,KAAO,UAAW,CACtC,MAAO,CACL,KAAM,KAAK,KACX,IAAK,KAAK,MAAQ,KAAK,aACxB,CACF,EAEDA,EAAY,UAAU,YAAc,SAASE,EAAOl1C,EAAS,CAGzD,IAAIid,EAAS,KAAK,OAClB,GAAI,OAAOA,GAAW,SAAU,CAC5B,IAAIk4B,EAAQl4B,EACP,MAAM;AAAA,CAAI,EACV,MACG,KAAK,IAAI,EAAG,KAAK,KAAO,CAAC,EACzB,KAAK,IACzB,EAEgBm4B,EAAgBn4B,EAAO,QAAQ;AAAA,EAAM,KAAK,KAAK,EAC/Cm4B,IAAkB,KAAIA,EAAgBn4B,EAAO,QACjD,IAAIo4B,EAAM,KAAK,MAAQ,KAAK,cACxBC,EAAiB,OAAO,KAAK,IAAI,EAAE,OACvC,OAAAt1C,GAAW,YAAc,KAAK,KAAO,QAAUq1C,EAAM;AAAA;AAAA,EACrDr1C,GAAWm1C,EACN,IAAI,SAASI,EAAMt7C,EAAG,CACnB,OAAOu7C,EAAI,KAAK,KAAOL,EAAM,OAASl7C,EAAI,EAAGq7C,CAAc,EAAI,IAAMC,CACxE,EAAE,IAAI,EACN,KAAK;AAAA,CAAI,EACdv1C,GAAW;AAAA,EAAOw1C,EAAI,GAAIF,EAAiBD,CAAG,EAAI;AAAA,EAC3Cr1C,CACnB,KACY,QAAOA,EAAU,cAAgB,KAAK,MAAQ,GAGlD,SAASw1C,EAAIrnC,EAAGsnC,EAAQ,CACpB,IAAIr0C,EAAI,OAAO+M,CAAC,EAChB,OAAO,MAAMsnC,EAASr0C,EAAE,OAAS,CAAC,EAAE,KAAK,GAAG,EAAIA,CACnD,CACJ,EAED,SAAS2yC,EAAOW,EAAO34B,EAAO3hB,EAAS,CACnC,GAAIs6C,aAAiBE,EACjB,IAAIX,EAAUS,EACVt6C,EAAU2hB,MAEd,KAAIk4B,EAAUW,EAAQ,aAAaF,EAAO34B,CAAK,EAEnD,KAAK,QAAUk4B,EAGf,KAAK,QAAU,CACX,YAAa,GACb,MAAOA,EAAQ,OAAS,IAAIe,CACxC,EACQ,QAASv7C,KAAQW,GAAW,GACxB,KAAK,QAAQX,CAAG,EAAIW,EAAQX,CAAG,EAInC,KAAK,MAAQ,KAAK,QAAQ,MAC1B,KAAK,WAAa,OAGlB,IAAIi8C,EAAS,IAAI1B,EAAOC,EAAS,CAAC,EACtB,KAAK,MAAQ,CAACyB,CAAM,EAGhCA,EAAO,MAAMzB,EAAQ,KAAK,EAAI,CAAA,EAC9ByB,EAAO,QAAQzB,EAAQ,KAAK,EAE5ByB,EAAO,QAAO,EACd,KAAK,QAAU,CAClB,CAGD3B,EAAO,KAAO,GAEdA,EAAO,UAAU,KAAO,SAAS4B,EAAO,CACpC,IAAIb,EAAQ,KAAK,MACjBA,EAAM,MAAMa,EAAO,KAAK,UAAU,EAGlC,QADIT,IACS,CACT,GAAI,CAEA,GADAA,EAAQJ,EAAM,OACV,CAACI,EACD,KAEP,OAAQ3W,EAAG,CAGR,IAAI2V,EAAa,IAAIF,EAAO,KAAK,QAAS,KAAK,QAAU,CAAC,EAC1D,KAAK,MAAM,KAAKE,CAAU,EAC1B,IAAIntC,EAAM,IAAI,MAAM,KAAK,iBAAiBw3B,CAAC,CAAC,EAC5C,MAAAx3B,EAAI,OAAS,KAAK,QAClBA,EAAI,MAAQw3B,EAAE,MACRx3B,CACT,CAED,IAAI2uC,EAAS,KAAK,MAAM,KAAK,OAAO,EAG/B,KAAK,QAAQ,aACd,OAAO,KAAK,MAAM,KAAK,QAAU,CAAC,EAGtC,IAAIvnC,EAAI,KAAK,QAAU,EACnB+lC,EAAa,IAAIF,EAAO,KAAK,QAAS7lC,CAAC,EAC3C,KAAK,MAAM,KAAK+lC,CAAU,EAM1B,QAHI0B,EAAUV,EAAM,OAAS,OAAYA,EAAM,KAAOA,EAAM,MACxD97C,EAAQ07C,EAAM,cAAgBE,EAAcE,EAAM,MAAQA,EAC1DW,EAAYH,EAAO,UACdrB,EAAIwB,EAAU,OAAQxB,KAAO,CAClC,IAAIhsB,EAAQwtB,EAAUxB,CAAC,EACnByB,GAASztB,EAAM,KAAK,QAAQA,EAAM,GAAG,EAGzC,GAAIytB,GAAO,KAAOA,GAAO,KAAK18C,CAAK,EAC/B08C,GAAO,KAAOA,GAAO,OAASZ,EAAM,KACtBY,GAAO,UAAYF,EAAS,CAE1C,IAAIriB,GAAOlL,EAAM,UAAU,CAAC,KAAMjvB,EAAO,MAAO87C,EAAO,QAAS,GAAM,UAAW/mC,EAAI,CAAC,CAAC,EACvF+lC,EAAW,OAAO,KAAK3gB,EAAI,CAC9B,CACJ,CAaD,GAHA2gB,EAAW,QAAO,EAGdA,EAAW,OAAO,SAAW,EAAG,CAEhC,IAAIntC,EAAM,IAAI,MAAM,KAAK,YAAYmuC,CAAK,CAAC,EAC3C,MAAAnuC,EAAI,OAAS,KAAK,QAClBA,EAAI,MAAQmuC,EACNnuC,CACT,CAGG,KAAK,QAAQ,cACf2uC,EAAO,WAAaZ,EAAM,KAAM,GAGlC,KAAK,SACR,CACD,OAAIY,IACF,KAAK,WAAaZ,EAAM,KAAM,GAIhC,KAAK,QAAU,KAAK,SAGb,IACf,EAEIf,EAAO,UAAU,iBAAmB,SAASgC,EAAY,CACrD,IAAIC,EAAcC,EAGdf,EAAQa,EAAW,MACvB,OAAIb,GACAc,EAAe,SAAW,KAAK,UAAUd,EAAM,KAAK,CAAC,CAAC,EAAI,iBAC1De,EAAe,KAAK,MAAM,YAAYf,EAAO,cAAc,IAE3Dc,EAAe,sBACfC,EAAeF,EAAW,SAEvB,KAAK,kBAAkBE,EAAcD,CAAY,CAChE,EAEIjC,EAAO,UAAU,YAAc,SAASmB,EAAO,CAC3C,IAAIc,GAAgBd,EAAM,KAAOA,EAAM,KAAO,WAAa,IAAM,KAAK,UAAUA,EAAM,QAAU,OAAYA,EAAM,MAAQA,CAAK,EAC3He,EAAe,KAAK,MAAM,YAAYf,EAAO,cAAc,EAC/D,OAAO,KAAK,kBAAkBe,EAAcD,CAAY,CAChE,EAEIjC,EAAO,UAAU,kBAAoB,SAASkC,EAAcD,EAAc,CACtE,IAAIb,EAAQ,CAAA,EACZA,EAAM,KAAKc,CAAY,EACvB,IAAIC,EAAkB,KAAK,MAAM,OAAS,EACtCC,EAAa,KAAK,MAAMD,CAAe,EACvCE,EAAkBD,EAAW,OAC5B,OAAO,SAAS9tB,EAAO,CACpB,IAAIguB,EAAahuB,EAAM,KAAK,QAAQA,EAAM,GAAG,EAC7C,OAAOguB,GAAc,OAAOA,GAAe,QAC3D,CAAa,EAEL,GAAID,EAAgB,SAAW,EAC3BjB,EAAM,KAAK,cAAgBa,EAAe;AAAA,CAA2E,EACrH,KAAK,kBAAkBG,EAAW,OAAQhB,CAAK,MAC5C,CACHA,EAAM,KAAK,cAAgBa,EAAe;AAAA,CAA2D,EAIrG,IAAIM,EAAcF,EACb,IAAI,SAAS/tB,EAAO,CACjB,OAAO,KAAK,qBAAqBA,EAAO,CAAA,CAAE,GAAK,CAACA,CAAK,CACxD,EAAE,IAAI,EAEXiuB,EAAY,QAAQ,SAASC,EAAY,CACrC,IAAIluB,EAAQkuB,EAAW,CAAC,EACpBF,EAAahuB,EAAM,KAAK,QAAQA,EAAM,GAAG,EACzCmuB,EAAgB,KAAK,iBAAiBH,CAAU,EACpDlB,EAAM,KAAK,KAAOqB,EAAgB,YAAY,EAC9C,KAAK,kBAAkBD,EAAYpB,CAAK,CAC3C,EAAE,IAAI,CACV,CACD,OAAAA,EAAM,KAAK,EAAE,EACNA,EAAM,KAAK;AAAA,CAAI,CACzB,EAEDpB,EAAO,UAAU,kBAAoB,SAASwC,EAAYpB,EAAO,CAG7D,QAFIsB,EACAC,EAAmB,EACd7e,EAAI,EAAGA,EAAI0e,EAAW,OAAQ1e,IAAK,CACxC,IAAIxP,EAAQkuB,EAAW1e,CAAC,EACpBoP,EAAU5e,EAAM,KAAK,SAASA,EAAM,GAAG,EACvC4e,IAAYwP,EACZC,KAEIA,EAAmB,GACnBvB,EAAM,KAAK,SAAWuB,EAAmB,+BAA+B,EAE5EA,EAAmB,EACnBvB,EAAM,KAAK,OAASlO,CAAO,GAE/BwP,EAAcxP,CACjB,CACT,EAEI8M,EAAO,UAAU,iBAAmB,SAAS4C,EAAQ,CACjD,OAAOC,EAAqBD,CAAM,CAC1C,EAaI5C,EAAO,UAAU,qBAAuB,SAAS1rB,EAAOwuB,EAAS,CAC7D,GAAIA,EAAQ,QAAQxuB,CAAK,IAAM,GAI3B,OAAO,KAEX,GAAIA,EAAM,SAAS,SAAW,EAC1B,MAAO,CAACA,CAAK,EAEjB,IAAIyuB,EAAYzuB,EAAM,SAAS,CAAC,EAC5B0uB,EAAe,CAAC1uB,CAAK,EAAE,OAAOwuB,CAAO,EACrCG,EAAc,KAAK,qBAAqBF,EAAWC,CAAY,EACnE,OAAIC,IAAgB,KACT,KAEJ,CAAC3uB,CAAK,EAAE,OAAO2uB,CAAW,CACzC,EAEIjD,EAAO,UAAU,KAAO,UAAW,CAC/B,IAAI2B,EAAS,KAAK,MAAM,KAAK,OAAO,EACpC,OAAAA,EAAO,WAAa,KAAK,WAClBA,CACf,EAEI3B,EAAO,UAAU,QAAU,SAAS2B,EAAQ,CACxC,IAAIn0C,EAAQm0C,EAAO,MACnB,KAAK,QAAUn0C,EACf,KAAK,MAAMA,CAAK,EAAIm0C,EACpB,KAAK,MAAM,OAAOn0C,EAAQ,CAAC,EAC3B,KAAK,WAAam0C,EAAO,WAGzB,KAAK,QAAU,KAAK,QAC5B,EAGI3B,EAAO,UAAU,OAAS,SAASxyC,EAAO,CACtC,GAAI,CAAC,KAAK,QAAQ,YACd,MAAM,IAAI,MAAM,8CAA8C,EAIlE,KAAK,QAAQ,KAAK,MAAMA,CAAK,CAAC,CACtC,EAEIwyC,EAAO,UAAU,OAAS,UAAW,CAEjC,IAAIkD,EAAiB,CAAA,EACjBl7B,EAAQ,KAAK,QAAQ,MACrB25B,EAAS,KAAK,MAAM,KAAK,MAAM,OAAS,CAAC,EAC7C,OAAAA,EAAO,OAAO,QAAQ,SAAU/lB,EAAG,CAC3BA,EAAE,KAAK,OAAS5T,GACT4T,EAAE,MAAQA,EAAE,KAAK,QAAQ,QACzBA,EAAE,YAAc,GAChBA,EAAE,OAASokB,EAAO,MACzBkD,EAAe,KAAKtnB,CAAC,CAErC,CAAS,EACMsnB,EAAe,IAAI,SAASh1C,EAAG,CAAC,OAAOA,EAAE,IAAK,CAAE,CAC/D,EAEI,SAAS20C,EAAqBD,EAAQ,CAClC,IAAI39C,EAAO,OAAO29C,EAClB,GAAI39C,IAAS,SACT,OAAO29C,EACJ,GAAI39C,IAAS,SAAU,CAC1B,GAAI29C,EAAO,QACP,OAAO,KAAK,UAAUA,EAAO,OAAO,EACjC,GAAIA,aAAkB,OACzB,MAAO,sBAAwBA,EAC5B,GAAIA,EAAO,KACd,OAAOA,EAAO,KAAO,SAClB,GAAIA,EAAO,KACd,MAAO,kBAAoB,OAAOA,EAAO,IAAI,EAE7C,MAAM,IAAI,MAAM,wBAA0BA,CAAM,CAEvD,CACJ,CAED,SAASlD,EAAsBkD,EAAQ,CACnC,IAAI39C,EAAO,OAAO29C,EAClB,GAAI39C,IAAS,SACT,OAAO29C,EACJ,GAAI39C,IAAS,SAAU,CAC1B,GAAI29C,EAAO,QACP,OAAO,KAAK,UAAUA,EAAO,OAAO,EACjC,GAAIA,aAAkB,OACzB,OAAOA,EAAO,WACX,GAAIA,EAAO,KACd,MAAO,IAAMA,EAAO,KACjB,GAAIA,EAAO,KACd,MAAO,IAAM,OAAOA,EAAO,IAAI,EAAI,IAEnC,MAAM,IAAI,MAAM,wBAA0BA,CAAM,CAEvD,CACJ,CAED,MAAO,CACH,OAAQ5C,EACR,QAASa,EACT,KAAMxB,CACd,CAEA,CAAC,0CCnjBD,IAAI8D,GAAY,OAAO,eACnBC,GAAa,OAAO,iBACpBC,GAAoB,OAAO,0BAC3BC,GAAsB,OAAO,sBAC7BC,GAAe,OAAO,UAAU,eAChCC,GAAe,OAAO,UAAU,qBAChCC,GAAkB,CAAC3+C,EAAKY,EAAKL,IAAUK,KAAOZ,EAAMq+C,GAAUr+C,EAAKY,EAAK,CAAE,WAAY,GAAM,aAAc,GAAM,SAAU,GAAM,MAAAL,CAAO,CAAA,EAAIP,EAAIY,CAAG,EAAIL,EACtJq+C,GAAiB,CAAC9vC,EAAGC,IAAM,CAC7B,QAAS7O,KAAQ6O,IAAMA,EAAI,CAAA,GACrB0vC,GAAa,KAAK1vC,EAAG7O,CAAI,GAC3By+C,GAAgB7vC,EAAG5O,EAAM6O,EAAE7O,CAAI,CAAC,EACpC,GAAIs+C,GACF,QAASt+C,KAAQs+C,GAAoBzvC,CAAC,EAChC2vC,GAAa,KAAK3vC,EAAG7O,CAAI,GAC3By+C,GAAgB7vC,EAAG5O,EAAM6O,EAAE7O,CAAI,CAAC,EAEtC,OAAO4O,CACT,EACI+vC,GAAgB,CAAC/vC,EAAGC,IAAMuvC,GAAWxvC,EAAGyvC,GAAkBxvC,CAAC,CAAC,EAC5D+vC,GAAY,CAAC38C,EAAQ48C,IAAY,CACnC,IAAI1lC,EAAS,CAAA,EACb,QAASnZ,KAAQiC,EACXs8C,GAAa,KAAKt8C,EAAQjC,CAAI,GAAK6+C,EAAQ,QAAQ7+C,CAAI,EAAI,IAC7DmZ,EAAOnZ,CAAI,EAAIiC,EAAOjC,CAAI,GAC9B,GAAIiC,GAAU,MAAQq8C,GACpB,QAASt+C,KAAQs+C,GAAoBr8C,CAAM,EACrC48C,EAAQ,QAAQ7+C,CAAI,EAAI,GAAKw+C,GAAa,KAAKv8C,EAAQjC,CAAI,IAC7DmZ,EAAOnZ,CAAI,EAAIiC,EAAOjC,CAAI,GAEhC,OAAOmZ,CACT,EACI2lC,GAAW,CAAC3lC,EAAQ4lC,IAAQ,CAC9B,QAASh/C,KAAQg/C,EACfZ,GAAUhlC,EAAQpZ,EAAM,CAAE,IAAKg/C,EAAIh/C,CAAI,EAAG,WAAY,EAAI,CAAE,CAChE,EAGIi/C,GAAsB,CAAA,EAC1BF,GAASE,GAAqB,CAC5B,SAAU,IAAMC,GAChB,IAAK,IAAMC,GACX,KAAM,IAAMC,GACZ,KAAM,IAAMC,GACZ,QAAS,IAAMC,GACf,MAAO,IAAMC,GACb,KAAM,IAAMC,GACZ,MAAO,IAAMC,GACb,WAAY,IAAMC,GAClB,SAAU,IAAMC,GAChB,cAAe,IAAMC,GACrB,UAAW,IAAMC,GACjB,MAAO,IAAMC,GACb,IAAK,IAAMjvC,GACX,OAAQ,IAAMkvC,GACd,YAAa,IAAMC,GACnB,MAAO,IAAMC,EACf,CAAC,EAGD,IAAIC,EAAiBC,GAAYA,EAAQ,QAAQC,EAAkB,EAC/DA,GAAsBC,GAAWC,GAAkBC,GAAYF,CAAM,CAAC,EAAE,IAAIG,EAAoB,EAChGA,GAAwBj/C,GAASA,EAAK,QAAQ,MAAO,GAAG,EAAE,OAC1Dg/C,GAAeh/C,IAAU,CAC3B,KAAM,kBACN,MAAOk/C,GAAgBl/C,EAAM,CAAC,EAAE,CAAC,CACnC,GACIk/C,GAAkB,CAACl/C,EAAMkH,EAAOi4C,IAAkB,CACpD,MAAMC,EAAc,CAAA,EACpB,KAAOp/C,EAAKkH,CAAK,GAAG,CAClB,KAAM,CAACK,EAAMw2B,CAAQ,EAAIshB,GAAmBr/C,EAAMkH,CAAK,EAGvD,GAFAk4C,EAAY,KAAK73C,CAAI,EACrBL,EAAQ62B,EACJ/9B,EAAKkH,CAAK,IAAM,IAClBA,YACSlH,EAAKkH,CAAK,IAAM,KAAOlH,EAAKkH,CAAK,IAAM,IAAK,CACrD,GAAIi4C,IAAkBn/C,EAAKkH,CAAK,EAC9B,MAAM,IAAI,MAAM,8BAA8BlH,CAAI,EAAE,EAEtD,OAAAkH,IACO,CAACk4C,EAAal4C,CAAK,CAChC,SAAeA,IAAUlH,EAAK,OAAQ,CAChC,GAAIm/C,EACF,MAAM,IAAI,MAAM,8BAA8Bn/C,CAAI,EAAE,EAEtD,MAAO,CAACo/C,EAAal4C,CAAK,CAChC,KACM,OAAM,IAAI,MAAM,eAAelH,EAAKkH,CAAK,CAAC,GAAG,CAEhD,CACD,MAAO,CAACk4C,EAAal4C,CAAK,CAC5B,EACIm4C,GAAqB,CAACr/C,EAAMkH,IAAU,CACxC,MAAMo4C,EAAQ,CAAA,EACd,OAAa,CACX,KAAM,CAAC/3C,EAAMw2B,CAAQ,EAAIwhB,GAAUv/C,EAAMkH,CAAK,EAC9C,GAAIK,EACF+3C,EAAM,KAAK/3C,CAAI,EACfL,EAAQ62B,MAER,MAEH,CACD,OAAOuhB,EAAM,SAAW,EAAI,CAACA,EAAM,CAAC,EAAGp4C,CAAK,EAAI,CAAC,CAAE,KAAM,gBAAiB,MAAAo4C,CAAO,EAAEp4C,CAAK,CAC1F,EACIq4C,GAAY,CAACv/C,EAAMkH,IAAU,CAC/B,GAAIlH,EAAKkH,CAAK,IAAM,IAClB,OAAOs4C,GAAoBx/C,EAAMkH,EAAQ,CAAC,EACrC,GAAIlH,EAAKkH,CAAK,IAAM,IACzB,OAAOu4C,GAAmBz/C,EAAMkH,EAAQ,CAAC,EACpC,CACL,IAAIsD,EAAO,GACX,KAAOxK,EAAKkH,CAAK,GAAK,gBAAgB,KAAKlH,EAAKkH,CAAK,CAAC,GACpDsD,GAAQxK,EAAKkH,CAAK,EAClBA,IAEF,MAAO,CAACsD,EAAMtD,CAAK,CACpB,CACH,EACIs4C,GAAsB,CAACx/C,EAAMkH,IAAU,CACzC,KAAM,CAACo4C,EAAOvhB,CAAQ,EAAImhB,GAAgBl/C,EAAMkH,EAAO,GAAG,EAC1D,MAAO,CAAC,CAAE,KAAM,kBAAmB,MAAAo4C,CAAO,EAAEvhB,CAAQ,CACtD,EACI0hB,GAAqB,CAACz/C,EAAMkH,IAAU,CACxC,KAAM,CAACo4C,EAAOvhB,CAAQ,EAAImhB,GAAgBl/C,EAAMkH,EAAO,GAAG,EAC1D,MAAO,CAAC,CAAE,KAAM,iBAAkB,MAAAo4C,CAAO,EAAEvhB,CAAQ,CACrD,EACIghB,GAAqBx/C,GAAS,CAChC,GAAI,OAAOA,GAAS,SAClB,MAAO,CAACA,CAAI,EACP,GAAIA,EAAK,OAAS,gBACvB,OAAOA,EAAK,MAAM,IAAIw/C,EAAiB,EAAE,OAAOW,GAAoB,CAAC,EAAE,CAAC,EACnE,GAAIngD,EAAK,OAAS,kBACvB,OAAOA,EAAK,MAAM,QAAQw/C,EAAiB,EACtC,GAAIx/C,EAAK,OAAS,iBACvB,MAAO,CAAC,GAAI,GAAGA,EAAK,MAAM,QAAQw/C,EAAiB,CAAC,EAEpD,MAAM,IAAI,MAAM,sBAAsBx/C,CAAI,EAAE,CAEhD,EACImgD,GAAqB,CAACC,EAAIC,IAAO,CACnC,MAAMzyC,EAAU,CAAA,EAChB,UAAWxN,KAAKggD,EACd,UAAWE,KAAKD,EACdzyC,EAAQ,KAAKxN,EAAIkgD,CAAC,EAGtB,OAAO1yC,CACT,EAGI2yC,IAA8BC,IAChCA,EAAW,kBAAuB,oBAClCA,EAAW,WAAgB,aAC3BA,EAAW,OAAY,SACvBA,EAAW,SAAc,WACzBA,EAAW,mBAAwB,qBACnCA,EAAW,iCAAsC,mCACjDA,EAAW,iBAAsB,mBACjCA,EAAW,uBAA4B,yBACvCA,EAAW,gBAAqB,kBAChCA,EAAW,uBAA4B,yBACvCA,EAAW,gBAAqB,kBAChCA,EAAW,gBAAqB,kBAChCA,EAAW,cAAmB,gBAC9BA,EAAW,iBAAsB,mBACjCA,EAAW,cAAmB,gBAC9BA,EAAW,KAAU,OACrBA,EAAW,IAAS,MACpBA,EAAW,KAAU,OACrBA,EAAW,KAAU,OACrBA,EAAW,KAAU,OACrBA,EAAW,MAAW,QACtBA,EAAW,QAAa,UACxBA,EAAW,IAAS,MACpBA,EAAW,GAAQ,KACnBA,EAAW,IAAS,MACpBA,EAAW,SAAc,WACzBA,EAAW,MAAW,QACtBA,EAAW,SAAc,WACzBA,EAAW,IAAS,MACpBA,EAAW,WAAgB,aAC3BA,EAAW,YAAiB,cAC5BA,EAAW,aAAkB,eAC7BA,EAAW,cAAmB,gBAC9BA,EAAW,OAAY,SACvBA,EAAW,gBAAqB,kBAChCA,EAAW,iBAAsB,mBACjCA,EAAW,mBAAwB,qBACnCA,EAAW,qBAA0B,uBACrCA,EAAW,iBAAsB,mBACjCA,EAAW,UAAe,YAC1BA,EAAW,IAAS,MACbA,IACND,IAAa,CAAA,CAAE,EACdE,GAAkB94C,IAAW,CAC/B,KAAM,MACN,IAAK,QACL,KAAM,QACN,MAAOA,CACT,GACI+4C,GAAYD,GAAe,GAAQ,EACnCE,GAAaC,GAAkBtF,GAAUA,EAAM,OAASsF,EAAa,MAAQtF,EAAM,OAASsF,EAAa,KACzGC,GAAU,CACZ,MAAOF,GAAU,CAAE,KAAM,QAAS,KAAM,qBAA+C,EACvF,GAAIA,GAAU,CAAE,KAAM,KAAM,KAAM,mBAA2C,EAC7E,IAAKA,GAAU,CAAE,KAAM,MAAO,KAAM,kBAAyC,EAC7E,OAAQA,GAAU,CAAE,KAAM,SAAU,KAAM,qBAA+C,EACzF,OAAQA,GAAU,CAAE,KAAM,SAAU,KAAM,kBAAyC,EACnF,OAAQA,GAAU,CAAE,KAAM,SAAU,KAAM,kBAAyC,CACrF,EACIG,GAAc1hD,GAASA,IAAS,sBAAiDA,IAAS,oBAA6CA,IAAS,0BAAyDA,IAAS,mBAA2CA,IAAS,mBAA2CA,IAAS,mBAA2CA,IAAS,0BAAyDA,IAAS,iBAAuCA,IAAS,iBAAuCA,IAAS,QAAqBA,IAAS,OAAmBA,IAAS,QAAqBA,IAAS,QAAqBA,IAAS,QAAqBA,IAAS,SAAuBA,IAAS,WAA2BA,IAAS,OAAmBA,IAAS,MAAiBA,IAAS,MAC9xB2hD,GAAqB3hD,GAASA,IAAS,OAAmBA,IAAS,MAAiBA,IAAS,MAG7F4hD,GAAY,CAEd,kBACA,8BACA,qBACA,sBACA,eACA,oBACA,wBACA,sBACA,qBACA,qBAEA,YACA,YACA,MACA,OACA,QACA,UACA,YACA,aACA,MACA,MACA,mBACA,aACA,cACA,aACA,MACA,UACA,WAEA,YACA,YACA,mBACA,MACA,UACA,SACA,UACA,QACA,UACA,cACA,aACA,MACA,MACA,aACA,MAEA,wBACA,mBACA,mBACA,iBAGA,eACA,eACA,kBACA,iBACA,sBACA,2BACA,gBACA,SACA,cACA,UACA,eAEA,YAGA,mBACA,gBACA,YAEA,eACA,UACA,OACA,WACA,WACA,YACA,aACA,sBACA,cACA,WACA,aACA,YAEA,mBACA,WACA,UACA,eACA,eACA,gBACA,iBACA,kBACA,WACA,iBAEA,QAEA,iBAEA,qBACA,qBACA,WACA,UACA,cACA,eACA,YACA,aACA,cACA,iBACA,YACA,yBACA,cACA,kBACA,kBACA,mBACA,cACA,gBACA,eACA,YACA,gBACA,eACA,cACA,cACA,UACA,aACA,cACA,YACA,YACA,kBACA,cACA,qBACA,kBACA,iBACA,eACA,0BACA,aACA,kBACA,mBACA,kBACA,gBACA,mBACA,kBACA,aACA,YACA,cACA,iBACA,yBACA,iBACA,aACA,mBACA,eACA,eACA,YACA,cACA,gBACA,gBACA,aACA,WACA,eACA,YACA,OACA,OAEA,mBACA,MACA,OACA,SACA,SAEA,iBACA,kBACA,0BACA,oBAEA,gBACA,UACA,eACA,gBACA,mBAEA,eACA,aACA,sBACA,aACA,qBACA,mBACA,4BACA,mBACA,iBAEA,MACA,OACA,SACA,SACA,cACA,OACA,OACA,MACA,QACA,MACA,KACA,MACA,QACA,WACA,QACA,MACA,cACA,gBACA,cACA,WACA,gBACA,MACA,QACA,QACA,OACA,UACA,QACA,MACA,OACA,OACA,QACA,MACA,OACA,OACA,QACA,MACA,OACA,OACA,QACA,QACA,eAEA,cACA,aACA,YACA,OACA,MACA,kBACA,kBAEA,qBACA,0BACA,mBACA,kBACA,eACA,sBACA,oBACA,WACA,oBACA,iBAEA,OACA,aACA,eACA,YACA,QACA,aAEA,eAEA,OACA,YACA,aACA,aACA,cACA,SACA,UACA,WACA,WAEA,QACA,cACA,cACA,mBACA,MACA,uBACA,wBACA,SACA,kBACA,YACA,SACA,cACA,cACA,WACA,UACA,QACA,OACA,SACA,OACA,QACA,QACA,YACA,yBACA,eACA,kBACA,iBACA,qBACA,eACA,iBACA,gBACA,UACA,SACA,UACA,QACA,OACA,QACA,+BACA,UACA,QACA,cACA,SACA,SACA,YACA,YACA,YACA,iBACA,SACA,YACA,OACA,UACA,QAEA,eACA,OACA,UACA,WACA,WACA,YACA,aACA,cACA,aAEA,oBACA,UACA,SACA,YACA,gBACA,gBACA,iBACA,kBACA,mBACA,kBACA,oBACA,mBACA,mBACA,eACA,cACA,cAEA,gBAEA,WACA,KACA,SACA,SAGA,MACA,UACA,SACA,UACA,OACA,QACA,YACA,aACA,uBACA,QACA,eACA,wBACA,OACA,MACA,MACA,OACA,MACA,YACA,SACA,aACA,cACA,MACA,MACA,SACA,WACA,UACA,WAEA,YAEA,UACA,QACA,OACA,QACA,aACA,UACA,SAGA,WACA,WACA,SACA,SACA,SACA,wBACA,QACA,MAEA,eACA,eACA,oBACA,OACA,WACA,WACA,MACA,YACA,YACA,kBACA,OACA,SACA,QACA,oBACA,MACA,iBACA,UACA,mBACA,SACA,oBACA,OACA,YACA,oBACA,mBACA,oBACA,oBACA,kBACA,mBACA,oBACA,mBACA,mBACA,OACA,OAEA,YACA,WACA,mBACA,kBAEA,eACA,sBAEA,MACA,OACA,QACA,OACA,QACA,OACA,QACA,QACA,OACA,MACA,OACA,UACA,MACA,QACA,KACA,MACA,OACA,QACA,KACA,MACA,UACA,OACA,QACA,MACA,OACA,OACA,MACA,OAEA,eACA,iBACA,iBAEA,SAEA,QACA,OACA,SACA,QACA,OACA,QACA,UACA,QACA,OACA,QACA,QACA,SACA,QAEA,mBACA,0BACA,cAEA,OACA,SACA,MAEA,MACA,QACA,MACA,MACA,SACA,MACA,YACA,aACA,cACA,MACA,aACA,OACA,YACA,QACA,eACA,kBACA,kBACA,OACA,kBACA,aAEA,eACA,QACA,cACA,OACA,mBACA,KACA,WACA,OACA,OACA,YAEA,iBACA,+BAEA,UAEA,QACA,SACF,EAGIC,GAAW,CAEb,MACA,MACA,MACA,KACA,MACA,uBACA,KACA,UACA,KACA,OACA,OACA,UACA,WACA,SACA,QACA,OACA,UACA,UACA,SACA,OACA,WACA,OACA,MACA,OACA,SACA,SACA,UACA,SACA,UACA,QACA,QACA,YACA,MACA,OACA,OACA,QACA,WACA,SACA,OACA,SACA,KACA,SACA,KACA,QACA,YACA,OACA,KACA,OACA,UACA,OACA,QACA,SACA,QACA,UACA,MACA,KACA,MACA,OACA,QACA,KACA,KACA,KACA,QACA,QACA,OACA,YACA,YACA,QACA,QACA,YACA,UACA,QACA,SACA,OACA,SACA,MACA,OACA,QACA,cACA,OACA,KACA,QACA,OACA,YACA,QACA,SACA,QACA,OACA,QACA,SACA,OACA,SAEA,OAEA,OAEA,OAEA,QAEA,KACA,MACA,QACA,UACA,WACA,UACA,WACA,eACF,EACIC,GAAY,CAEd,QAEA,OACA,QAEA,OACA,WACA,YACA,WACA,QACA,MACA,WACA,UACA,SACA,UACA,UACA,UAEA,UAEA,aAEA,aAEA,UACA,SAEA,SAEA,OACA,UACF,EAGIC,GAAiB/B,EAAc,CAAC,gDAAgD,CAAC,EACjFgC,GAAkBhC,EAAc,CAElC,mBACA,OACA,QACA,WACA,SACA,UACA,SACA,eACA,WACA,QACA,SACA,iBAIA,gBACA,SAEA,MAEA,eACA,oDACA,aACA,aACA,wBAEA,kBACA,yBACA,wBACF,CAAC,EACGiC,GAAiBjC,EAAc,CAGjC,+EACA,0DAEA,SAEA,gBAEA,+CAEA,0BACA,6BACA,0BACA,YACA,2BACA,sBAEA,cAEA,gBAEA,gBAGA,2BAEA,wCAEA,oBAEA,iBAEA,gCACA,kBAEA,sEACA,gDAEA,wDACA,WACA,eAEA,kBACA,UAEA,qBAEA,oBAEA,sCAEA,0BACA,uCACA,oCACA,6BACA,yBACA,+BACA,4BACA,+BACA,8BACA,gCACA,mBAEA,QACA,SAEA,UACA,oBACA,OACA,WACA,SACA,aACA,QACA,YACA,QACA,QACA,WACA,UACA,MACA,UACA,QACA,oBACA,qBACA,uBACA,QACA,SACA,OAEA,SAEA,aACF,CAAC,EACGkC,GAAwBlC,EAAc,CACxC,yBACA,kBACA,oBACF,CAAC,EACGmC,GAAgBnC,EAAc,CAChC,OACA,qCACA,sBACF,CAAC,EACGoC,GAAkBpC,EAAc,CAElC,qBAEA,WACA,cACA,oBAEA,yBAEA,wBACF,CAAC,EACGhB,GAAW,CACb,KAAM,WACN,iBAAkB,CAChB,eAAA+C,GACA,gBAAiB,CAAC,GAAGC,GAAiB,GAAGC,EAAc,EACvD,sBAAAC,GACA,cAAAC,GACA,gBAAAC,GACA,iBAAkBP,GAClB,kBAAmBC,GACnB,sBAAuBF,GACvB,YAAa,CAAC,IAAI,EAClB,YAAa,CAGX,CAAE,MAAO,WAAY,SAAU,CAAC,IAAK,IAAK,KAAM,IAAI,CAAG,EACvD,CAAE,MAAO,WAAY,SAAU,CAAC,IAAK,IAAK,KAAM,IAAI,CAAG,EACvD,QACA,QACA,CAAE,MAAO,SAAU,SAAU,CAAC,IAAK,IAAK,KAAM,IAAI,EAAG,cAAe,EAAM,EAC1E,CAAE,MAAO,SAAU,SAAU,CAAC,IAAK,IAAK,KAAM,IAAI,EAAG,cAAe,EAAM,CAC3E,EACD,WAAY,CAAC,IAAI,EACjB,WAAY,CAAE,OAAQ,EAAM,EAC5B,WAAY,CAAE,WAAY,GAAM,MAAO,CAAC,GAAG,EAAG,OAAQ,CAAC,GAAG,CAAG,EAC7D,cAAe,CAAC,CAAE,MAAO,OAAO,WAAY,EAC5C,iBAAkB,CAAC,KAAM,GAAG,EAC5B,UAAW,CAAC,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,IAAI,EACtD,YAAAS,EACD,EACD,cAAe,CACb,eAAAJ,EACD,CACH,EACA,SAASI,GAAYC,EAAQ,CAC3B,OAAOC,GAAsBC,GAA0BF,CAAM,CAAC,CAChE,CACA,SAASC,GAAsBD,EAAQ,CACrC,IAAIG,EAAYnB,GAChB,OAAOgB,EAAO,IAAKpG,GACbA,EAAM,OAAS,UAAYuG,EAAU,OAAS,KAChDA,EAAYvG,EACLwC,GAAcD,GAAe,GAAIvC,CAAK,EAAG,CAAE,KAAM,wBAAwB,CAA+B,IAE/GuG,EAAYvG,EACLA,EAEV,CACH,CACA,SAASsG,GAA0BF,EAAQ,CACzC,IAAI3rC,EACJ,MAAM3I,EAAY,CAAA,EAClB,QAAS/M,EAAI,EAAGA,EAAIqhD,EAAO,OAAQrhD,IAAK,CACtC,MAAMi7C,EAAQoG,EAAOrhD,CAAC,EACtB,IAAKwgD,GAAQ,MAAMvF,CAAK,GAAKuF,GAAQ,OAAOvF,CAAK,MAAQvlC,EAAK2rC,EAAOrhD,EAAI,CAAC,IAAM,KAAO,OAAS0V,EAAG,QAAU,IAAK,CAChH,MAAM+rC,EAAWC,GAA6BL,EAAQrhD,EAAI,CAAC,EACrD2hD,EAAgBN,EAAO,MAAMrhD,EAAGyhD,EAAW,CAAC,EAClD10C,EAAU,KAAK,CACb,KAAM,aACN,IAAK40C,EAAc,IAAIC,GAAmB,KAAK,CAAC,EAAE,KAAK,EAAE,EACzD,KAAMD,EAAc,IAAIC,GAAmB,MAAM,CAAC,EAAE,KAAK,EAAE,EAC3D,MAAO3G,EAAM,KACrB,CAAO,EACDj7C,EAAIyhD,CACV,MACM10C,EAAU,KAAKkuC,CAAK,CAEvB,CACD,OAAOluC,CACT,CACA,IAAI60C,GAAsBpiD,GAASy7C,GAC7BA,EAAM,OAAS,cAAiCA,EAAM,OAAS,QAC1DA,EAAMz7C,CAAG,EAAI,IAEby7C,EAAMz7C,CAAG,EAGpB,SAASkiD,GAA6BL,EAAQQ,EAAY,CACxD,IAAIC,EAAQ,EACZ,QAAS9hD,EAAI6hD,EAAY7hD,EAAIqhD,EAAO,OAAQrhD,IAAK,CAC/C,MAAMi7C,EAAQoG,EAAOrhD,CAAC,EAQtB,GAPIi7C,EAAM,OAAS,IACjB6G,IACS7G,EAAM,OAAS,IACxB6G,IACS7G,EAAM,OAAS,OACxB6G,GAAS,GAEPA,IAAU,EACZ,OAAO9hD,CAEV,CACD,OAAOqhD,EAAO,OAAS,CACzB,CAGA,IAAIU,GAAa,CAEf,YACA,MACA,cACA,QACA,YACA,aACA,kBACA,YACA,WACA,UACA,MACA,SACA,MACA,kBACA,kBACA,eACA,YACA,YACA,aACA,iBACA,YACA,UACA,aACA,WACA,WACA,WACA,SACA,cACA,MACA,WACA,gBACA,SACA,WAEA,MACA,SACA,OACA,WACA,YACA,cACA,aACA,cACA,YACA,MACA,eACA,cACA,aACA,aACA,cACA,QACA,YACA,OACA,OACA,QACA,QACA,SACA,YACA,QACA,SACA,SACA,SACA,eACA,QACA,cACA,UACA,OACA,mBACA,MACA,WACA,gBACA,oBACA,mBACA,SACA,MACA,OACA,MACA,kBACA,mBACA,YACA,aACA,MACA,UACA,aACA,YACA,gBACA,YACA,OACA,eACA,uBACA,iBACA,WACA,kBACA,SACA,cACA,eACA,UACA,QACA,aACA,SACA,mBACA,aACA,aACA,eACA,cACA,UACA,kBACA,MACA,UACA,YACA,QACA,qBACA,kBACA,UACA,WACA,OACA,QACA,QACA,cACA,MACA,WACA,OACA,gBACA,qBACA,SACA,UACA,SACA,QACA,SACA,SACA,SACA,UACA,SACA,UACA,UACA,SACA,aACA,cACA,aACA,eACA,aACA,aACA,WACA,QACA,QACA,OACA,SACA,UACA,UACA,UACA,KACA,SACA,mBACA,QACA,eACA,kBACA,QACA,OACA,QACA,MACA,kBACA,cACA,mBACA,MACA,SACA,kBACA,MACA,QACA,YACA,iBACA,eACA,WACA,aACA,eACA,YACA,YACA,qBACA,MACA,SACA,MACA,OACA,eACA,UACA,YACA,WACA,SACA,MACA,QACA,WACA,UACA,cACA,gBACA,UACA,cACA,OACA,SACA,WACA,UACA,eACA,iBACA,eACA,cACA,qBACA,iBACA,gBACA,SACA,UACA,MACA,UACA,QACA,QACA,kBACA,OACA,QACA,WACA,mBACA,mBACA,SACA,kBACA,OACA,MACA,OACA,UACA,QACA,OACA,QACA,UACA,SACA,WACA,SACA,UACA,UACA,UACA,YACA,aACA,eACA,MACA,OACA,aACA,eACA,YACA,YACA,mBACA,gBACA,gBACA,WACA,UACA,UACA,UACA,SACA,gBACA,WACA,WACA,YACA,iBACA,eACA,mBACA,aACA,YACA,OACA,aACA,kBACA,WACA,QACA,UACA,YACA,cACA,QACA,cACA,QACA,QACA,qBACA,iBACA,qBACA,wBACA,uBACA,uCACA,OACA,WACA,gBACA,eACA,gBACA,aACA,YACA,cACA,aACA,YACA,gBACA,WACA,QACA,WACA,SACA,eACA,UACA,cACA,iBACA,eACA,OACA,gBACA,cAEA,aACA,aACA,SACA,WAGA,OACA,aACA,QACA,MACA,OACA,aACA,cACA,aACA,YACA,kBAEA,MACF,EAGIC,GAAY,CAEd,WACA,MACA,QACA,QACA,MACA,WACA,QACA,QACA,MACA,MACA,KACA,aACA,YACA,UACA,KACA,aACA,QACA,gBACA,MACA,YACA,SACA,QACA,UACA,SACA,aACA,KACA,QACA,OACA,SACA,UACA,cACA,WACA,OACA,OACA,QACA,QACA,QACA,UACA,aACA,SACA,SACA,UACA,SACA,SACA,YACA,UACA,aACA,aACA,WACA,WACA,QACA,YACA,SACA,QACA,UACA,eACA,mBACA,eACA,iBACA,iBACA,eACA,oBACA,mBACA,eACA,SACA,QACA,OACA,WACA,oBACA,mBACA,MACA,OACA,aACA,WACA,SACA,SACA,kBACA,iBACA,aACA,UACA,UACA,WACA,aACA,SACA,YACA,aACA,WACA,aACA,gBACA,cACA,UACA,WACA,aACA,WACA,KACA,WACA,OACA,SACA,UACA,OACA,WACA,OACA,SACA,SACA,WACA,aACA,MACA,WACA,SACA,QACA,SACA,QACA,SACA,YACA,YACA,YACA,UACA,SACA,OACA,UACA,WACA,WACA,UACA,SACA,QACA,YACA,OACA,QACA,SACA,MACA,UACA,OACA,OACA,OACA,WACA,UACA,YACA,MACA,SACA,KACA,OACA,QACA,UACA,QACA,UACA,OACA,eACA,SACA,OACA,OACA,OACA,QACA,WACA,KACA,YACA,SACA,KACA,YACA,YACA,YACA,QACA,YACA,aACA,MACA,WACA,UACA,QACA,QACA,cACA,SACA,YACA,YACA,OACA,KACA,SACA,SACA,YACA,UACA,MACA,OACA,OACA,OACA,MACA,QACA,WACA,QACA,UACA,WACA,QACA,OACA,OACA,QACA,WACA,QACA,YACA,SACA,YACA,iBACA,UACA,WACA,OACA,UACA,WACA,OACA,aACA,eACA,WACA,cACA,eACA,SACA,UACA,WACA,OACA,WACA,QACA,SACA,MACA,MACA,YACA,UACA,KACA,UACA,UACA,WACA,aACA,aACA,aACA,OACA,UACA,aACA,OACA,UACA,OACA,QACA,WACA,OACA,KACA,MACA,SACA,MACA,YACA,KACA,OACA,eACA,WACA,SACA,KACA,QACA,MACA,QACA,OACA,aACA,UACA,SACA,WACA,YACA,OACA,YACA,cACA,eACA,aACA,WACA,OACA,UACA,YACA,OACA,WACA,YACA,UACA,UACA,UACA,SACA,aACA,YACA,UACA,OACA,SACA,QACA,UACA,QACA,OACA,OACA,QACA,WACA,aACA,cACA,UACA,UACA,SACA,SACA,QACA,WACA,UACA,WACA,SACA,qBACA,SACA,UACA,SACA,QACA,OACA,WACA,gBACA,aACA,cACA,kBACA,kBACA,gBACA,WACA,UACA,MACA,YACA,OACA,SACA,aACA,MACA,MACA,YACA,SACA,aACA,SACA,SACA,SACA,UACA,SACA,WACA,SACA,YACA,WACA,UACA,eACA,MACA,SACA,SACA,OACA,OACA,SACA,WACA,MACA,QACA,UACA,WACA,QACA,WACA,YACA,SACA,WACA,OACA,WACA,SACA,QACA,YACA,UACA,UACA,SACA,SACA,UACA,SACA,cACA,QACA,aACA,OACA,KACA,cACA,UACA,OACA,WACA,OACA,OACA,QACA,SACA,QACA,SACA,QACA,OACA,QACA,YACA,QACA,SACA,WACA,UACA,OACA,UACA,OACA,WACA,UACA,OACA,WACA,QACA,QACA,OACA,UACA,MACA,QACA,aACA,YACA,gBACA,OACA,OACF,EACIC,GAAa,CAEf,QACA,SACA,SACA,OACA,UACA,QACA,OACA,YACA,OACA,OACA,WACA,SACA,MACA,UACA,SACA,mBACA,QACA,SACA,SACA,UACA,MACA,OACA,OACA,OACA,UACA,WACA,eACA,kBACA,QACA,OACA,QACA,WACA,UACA,WACA,OACA,OACA,YACA,YACA,UACA,YACF,EAGIC,GAAkBnD,EAAc,CAAC,yBAAyB,CAAC,EAC3DoD,GAAmBpD,EAAc,CAEnC,OACA,OACA,QACA,WACA,SACA,eACA,4BACA,QACA,SACA,aACA,kBACA,0BACA,4EACA,mBACA,mBACA,OAGA,cACA,SAEA,MAEA,aACA,4BACA,aACA,QACF,CAAC,EACGqD,GAAkBrD,EAAc,CAElC,6DACA,2BAEA,SACA,mBACA,2BAEA,cAEA,yBAEA,cACA,eACA,gBACA,gBACA,iBACA,gBAEA,eAEA,wCAGA,mBAEA,WACA,qBACA,mBACA,iCACA,iBACA,sBACA,iBACA,2BACA,cACA,aACA,eACA,eACA,iBACA,gBACA,mBACA,kBACA,eACA,iCACA,wBACA,iBACA,eACA,sBACA,iBACA,mBACA,kBACA,gBACA,wBACA,aACA,mBACA,qBACA,aACA,wBACA,uBACA,iBACA,gBACA,kBACA,iBACA,mBACA,gBACA,wBACA,aACA,8CACA,QACA,wBACA,OACA,QACA,aACA,gBACA,UACA,qCACA,sBACA,oBACA,kCACA,uBACA,+BACA,0BACA,4BACA,wBACA,yBACA,2BACA,2BACA,6BACA,+BACA,iCACA,gCACA,cACA,gBACA,oCACA,yBACA,+BACA,uBACA,gBACA,kBACA,iBACA,kEACA,mBACA,sCACA,8BACA,yBACA,2BACA,sBACA,oBACA,0BACA,+BACA,yBACA,wBACA,kBACA,iBACA,UACA,iCACA,4BACA,aACA,sBACA,oBACA,kBACA,gCACA,qBACA,2BACA,wBACA,0BACA,yBACA,YACA,yBACA,cACA,gBACA,eACA,kBACA,4BACA,YACA,cACA,kCACA,uBACA,gBACA,cACA,qBACA,gBACA,uBACA,kCACA,gCACA,iBACA,eACA,uBACA,sBACA,kBACA,wBACA,gBACA,wBACA,iCACA,gBACA,eACA,iBACA,sBACA,sBACA,iCACA,eACA,uCACA,sBACA,wBACA,mCACA,gCACA,uCACA,eACA,kBACA,OACA,QAEA,UACA,UACA,QACA,aACA,OACA,OACA,OACA,UACA,gBACA,UACA,yBACA,iDACA,SACA,WACA,SACA,SAEA,iCACA,YACA,8BACA,iBACA,cAEA,0BACA,0BACA,gBACA,eACA,WACA,WACA,aACA,oBACA,6CACA,iBACA,SACA,wBACA,+CACA,OACF,CAAC,EACGsD,GAAyBtD,EAAc,CAAC,cAAe,eAAgB,iBAAiB,CAAC,EACzFuD,GAAiBvD,EAAc,CACjC,OACA,qCACA,sBACF,CAAC,EACGwD,GAAmBxD,EAAc,CACnC,YACA,YACA,WACA,wBACF,CAAC,EACGf,GAAM,CACR,KAAM,MACN,iBAAkB,CAChB,eAAgBkE,GAChB,gBAAiB,CAAC,GAAGC,GAAkB,GAAGC,EAAe,EACzD,sBAAuBC,GACvB,cAAeC,GACf,gBAAiBC,GACjB,iBAAkBP,GAClB,kBAAmBC,GACnB,sBAAuBF,GACvB,YAAa,CAAC,IAAI,EAClB,YAAa,CACX,CAAE,MAAO,QAAS,SAAU,CAAC,IAAK,IAAK,IAAI,CAAG,EAC9C,CAAE,MAAO,SAAU,SAAU,CAAC,IAAK,KAAM,KAAM,IAAI,EAAG,cAAe,EAAM,CAC5E,EACD,WAAY,CAAC,OAAO,EACpB,WAAY,CAAE,MAAO,MAAO,KAAM,KAAO,EACzC,WAAY,CAAE,WAAY,GAAM,MAAO,CAAC,GAAG,CAAG,EAC9C,WAAY,CAAE,MAAO,MAAO,KAAM,KAAO,EACzC,UAAW,CACT,KACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACD,CACF,EACD,cAAe,CACb,eAAgBK,EACjB,CACH,EAGII,GAAa,CAGf,YACA,MACA,OACA,cACA,QACA,YACA,YACA,aACA,QACA,aACA,kBACA,QACA,WACA,gBACA,iBACA,UACA,MACA,SACA,MACA,kBACA,kBAEA,YACA,YACA,aACA,iBACA,UACA,aACA,WACA,WACA,WACA,OACA,aACA,SACA,cACA,MACA,UACA,WACA,MACA,WACA,gBACA,SACA,WAEA,MACA,SACA,OACA,WACA,YACA,cACA,aACA,cACA,YACA,UACA,wBACA,aACA,QACA,OACA,OACA,QACA,QACA,gBACA,gBACA,aACA,SACA,YACA,SACA,QACA,SACA,eACA,cACA,OACA,UACA,cACA,mBACA,MACA,WACA,mBACA,SACA,WACA,MACA,OACA,MACA,UACA,UACA,WACA,oBACA,mBACA,MACA,UACA,aACA,gBACA,YACA,YACA,OACA,kBACA,iBACA,kBACA,mBACA,iBACA,cACA,eACA,aACA,UACA,aACA,SACA,YACA,aACA,gBACA,YACA,gBACA,cACA,cACA,UACA,mBACA,SACA,UACA,cACA,iBACA,cACA,eACA,MACA,UACA,YACA,QACA,kBACA,qBACA,qBACA,uBACA,eACA,UACA,WACA,WACA,WACA,YACA,cACA,cACA,cACA,eACA,MACA,WACA,OACA,qBACA,qBACA,mBACA,cACA,gBACA,WACA,kBACA,aACA,iBACA,YACA,gBACA,WACA,qBACA,SACA,SACA,QACA,YACA,UACA,aACA,YACA,SACA,aACA,cACA,aACA,eACA,cACA,aACA,aACA,OACA,WACA,QACA,QACA,OACA,SACA,KACA,OACA,mBACA,SACA,QACA,MACA,QACA,OACA,QACA,kBACA,MACA,cACA,mBACA,MACA,SACA,MACA,QACA,YACA,iBACA,SACA,aACA,YACA,gBACA,SACA,eACA,WACA,qBACA,MACA,SACA,MACA,eACA,UACA,KACA,WACA,SACA,MACA,QACA,WACA,UACA,UACA,cACA,SACA,OACA,eACA,eACA,iBACA,gBACA,SACA,UACA,MACA,QACA,kBACA,QACA,OACA,MACA,QACA,QACA,SACA,OACA,MACA,OACA,UACA,QACA,OACA,QACA,UACA,SACA,WACA,SACA,YACA,aACA,eACA,MACA,OACA,mBACA,gBACA,oBACA,gBACA,UACA,UACA,UACA,YACA,eACA,aACA,YACA,aACA,OACA,kBACA,QACA,WACA,QACA,QACA,aACA,aACA,QACA,mBACA,qBACA,wBACA,iBACA,wBACA,WACA,OACA,OACA,gBACA,aACA,YACA,cACA,aACA,YACA,gBACA,WACA,QACA,SACA,eACA,UACA,cACA,MACA,eACA,OACA,QAEA,aACA,2BACA,sBACA,wBACA,mBACA,0BACA,qBACA,yBACA,oBACA,wBACA,mBACA,aACA,YACA,gBACA,eACA,mBACA,WAEA,SAEA,YACA,aACA,cACA,MACA,aACA,OACA,YACA,QACA,eACA,OACA,kBACA,aAEA,MACF,EAGIC,GAAY,CAId,SACA,YACA,SACA,SACA,WACA,MACA,QACA,MACA,WACA,QACA,QACA,MACA,MACA,SACA,WACA,QACA,YACA,aACA,KACA,MACA,aACA,YACA,SACA,SACA,aACA,gBACA,aACA,SACA,QACA,UACA,OACA,OACA,aACA,KACA,QACA,OACA,SACA,cACA,OACA,OACA,QACA,KACA,QACA,UACA,UACA,aACA,SACA,UACA,SACA,UACA,cACA,WACA,SACA,aACA,YACA,UACA,kBACA,aACA,WACA,aACA,WACA,UACA,WACA,OACA,QACA,YACA,SACA,WACA,QACA,OACA,YACA,UACA,eACA,eACA,iBACA,iBACA,eACA,oBACA,mBACA,eACA,SACA,QACA,WACA,oBACA,mBACA,MACA,OACA,aACA,WACA,SACA,SACA,kBACA,iBACA,aACA,aACA,UACA,UACA,WACA,QACA,SACA,aACA,SACA,WACA,aACA,YACA,OACA,WACA,aACA,SACA,gBACA,cACA,UACA,WACA,aACA,WACA,KACA,WACA,OACA,UACA,OACA,OACA,SACA,QACA,SACA,WACA,aACA,MACA,WACA,SACA,WACA,QACA,SACA,QACA,SACA,YACA,YACA,YACA,UACA,SACA,OACA,SACA,WACA,UACA,QACA,SACA,QACA,YACA,OACA,QACA,cACA,MACA,UACA,SACA,OACA,WACA,OACA,OACA,WACA,WACA,UACA,YACA,MACA,SACA,KACA,OACA,QACA,QACA,UACA,OACA,WACA,eACA,SACA,OACA,OACA,OACA,QAEA,WACA,KACA,SACA,YACA,aACA,KACA,UACA,YACA,YACA,YACA,QACA,UACA,YACA,MACA,WACA,UACA,SACA,QACA,QACA,cACA,SACA,YACA,YACA,YACA,YACA,OACA,KACA,SACA,YACA,UACA,OACA,OACA,OACA,aACA,gBACA,cACA,cACA,iBACA,aACA,aACA,aACA,OACA,MACA,OACA,QACA,MACA,WACA,aACA,UACA,OACA,QACA,OACA,SACA,OACA,QACA,WACA,UACA,QACA,YACA,YACA,iBACA,WACA,UACA,OACA,WACA,MACA,SACA,OACA,aACA,OACA,UACA,eACA,WACA,QACA,cACA,eACA,aACA,SACA,UACA,WACA,SACA,QACA,OACA,WACA,QACA,SACA,YACA,MACA,WACA,QACA,QACA,SACA,MACA,YACA,UACA,KACA,UACA,UACA,WACA,aACA,aACA,aACA,OACA,UACA,aACA,MACA,UACA,YACA,QACA,OACA,QACA,WACA,OACA,SACA,KACA,MACA,SACA,MACA,YACA,OACA,KACA,OACA,OACA,WACA,SACA,KACA,QACA,aACA,WACA,MACA,QACA,OACA,UACA,aACA,UACA,SACA,OACA,WACA,YACA,OACA,YACA,cACA,eACA,aACA,UACA,WACA,OACA,UACA,eACA,kBACA,kBACA,SACA,aACA,YACA,OACA,OACA,WACA,UACA,UACA,UACA,QACA,SACA,aACA,YACA,UACA,YACA,QACA,QACA,OACA,kBACA,SACA,OACA,QACA,WACA,aACA,cACA,UACA,cACA,UACA,SACA,SACA,QACA,WACA,UACA,SACA,qBACA,SACA,YACA,UACA,SACA,MACA,QACA,WACA,SACA,UACA,MACA,aACA,YACA,OACA,MACA,MACA,YACA,OACA,SACA,SACA,aACA,SACA,SACA,SACA,UACA,SACA,UACA,SACA,YACA,WACA,UACA,eACA,MACA,SACA,SACA,OACA,OACA,OACA,SACA,WACA,MACA,QACA,iBACA,oBACA,UACA,QACA,WACA,YACA,SACA,WACA,YACA,UACA,UACA,cACA,cACA,QACA,aACA,cACA,MACA,OACA,aACA,KACA,cACA,WACA,UACA,OACA,aACA,OACA,WACA,WACA,OACA,OACA,QACA,SACA,OACA,UACA,SACA,QACA,SACA,WACA,MACA,QACA,MACA,OACA,SACA,QACA,QACA,SACA,WACA,UACA,OACA,UACA,aACA,OACA,WACA,OACA,OACA,WACA,QACA,QACA,OACA,SACA,UACA,UACA,UACA,QACA,aACA,SACA,gBACA,UACA,aACA,YACA,cACA,aACA,YACA,WACA,gBACA,WACA,QACA,SACA,eACA,WACA,UACA,cACA,eACA,YACA,OACA,QACA,MACA,MACF,EACIC,GAAa,CAEf,QACA,SACA,SACA,MACA,OACA,UACA,QACA,OACA,YACA,OACA,OACA,WACA,OACA,SACA,WACA,UACA,MACA,SACA,mBACA,QACA,UACA,MACA,UACA,OACA,UACA,OACA,QACA,WACA,OACA,YACA,YACA,UACA,aACA,KACF,EAGIC,GAAkB5D,EAAc,CAAC,yBAAyB,CAAC,EAC3D6D,GAAmB7D,EAAc,CAEnC,mBACA,OACA,OACA,QACA,WACA,SACA,eACA,uCACA,QACA,SACA,uBACA,kBACA,gBACA,eAGA,cACA,SAEA,MAEA,aACA,4BACA,aACA,SACA,SAEA,iBACF,CAAC,EACG8D,GAAkB9D,EAAc,CAElC,4BACA,uCAEA,SACA,mBACA,gCAEA,cAEA,aAEA,cACA,eACA,iBACA,gBACA,gBAEA,gDAEA,eAEA,uCAEA,gBAEA,sFAGA,mBAEA,uBACA,qBAEA,kBACA,iDACA,0CACA,iDACA,8CACA,wBACA,OACA,QACA,iJACA,yDACA,iEACA,4CACA,2EACA,uBACA,4BACA,yGACA,gCACA,uCACA,gBACA,cACA,+CACA,iBACA,iCACA,UACA,kBACA,iBACA,oBACA,iCACA,iBACA,uBACA,uBACA,2HACA,+DACA,sBACA,sBAEA,eACA,wCACA,sCACA,qJACA,eACA,UACA,mIACA,uDACA,aACA,OACA,UACA,gBACA,UACA,yBACA,4BACA,sJACA,wCACA,YACA,iBACA,+GACA,wCACA,0BACA,aACA,iDACA,wDACA,4BACA,mBACA,kBACA,0BACA,MACA,wBACA,8CACF,CAAC,EACG+D,GAAyB/D,EAAc,CAAC,cAAe,eAAgB,iBAAiB,CAAC,EACzFgE,GAAiBhE,EAAc,CACjC,OACA,qCACA,gCACA,sBACF,CAAC,EACGiE,GAAmBjE,EAAc,CACnC,YACA,YACA,WACA,wBACF,CAAC,EACGd,GAAO,CACT,KAAM,OACN,iBAAkB,CAChB,eAAgB0E,GAChB,gBAAiB,CAAC,GAAGC,GAAkB,GAAGC,EAAe,EACzD,sBAAuBC,GACvB,cAAeC,GACf,gBAAiBC,GACjB,iBAAkBP,GAClB,kBAAmBC,GACnB,sBAAuBF,GACvB,oBAAqB,GACrB,YAAa,CAAC,IAAI,EAClB,YAAa,CACX,CAAE,MAAO,QAAS,SAAU,CAAC,IAAK,GAAG,CAAG,EACxC,CAAE,MAAO,SAAU,SAAU,CAAC,IAAK,KAAM,KAAM,IAAI,EAAG,cAAe,EAAM,CAC5E,EACD,WAAY,CAAC,OAAO,EACpB,WAAY,CAAE,MAAO,MAAO,KAAM,KAAO,EACzC,WAAY,CAAE,WAAY,GAAM,MAAO,CAAC,GAAG,CAAG,EAC9C,WAAY,CAAE,MAAO,MAAO,KAAM,KAAO,EACzC,UAAW,CAAC,KAAM,KAAS,KAAS,KAAS,KAAM,KAAM,KAAM,IAAI,CACpE,EACD,cAAe,CACb,eAAgBK,EACjB,CACH,EAGII,GAAa,CAGf,MACA,OACA,OACA,OACA,MACA,SACA,OACA,OACA,UACA,OACA,MACA,UAEA,MACA,YACA,QACA,WACA,MACA,QACA,KACA,MACA,QACA,OACA,WACA,KACA,OACA,WACA,MACA,QACA,UACA,OACA,QACA,YACA,aACA,qBACA,OACA,MACA,OACA,MACA,QACA,eAEA,iBACA,WACA,aACA,OACA,aAEA,SACA,OAEA,aACA,OACA,WACA,cACA,WACA,WACA,MACA,UACA,aACA,YACA,UACA,gBACA,qBACA,OACA,WACA,SACA,QACA,iBACA,WACA,UACA,SACA,YACA,UACA,mBACA,QACA,iBACA,aACA,OAEA,cACA,WACA,KACA,YACA,SACA,SACA,MAEA,QACA,SACA,mBACA,MACA,SACA,YACA,iBACA,SACA,MACA,SACA,QACA,cACA,gBACA,kBACA,UACA,UACA,QACA,QACA,SACA,cACA,SACA,QACA,OACA,QACA,SACA,eACA,YACA,SACA,QACA,iBACA,iBACA,SACA,UACA,OACA,QACA,YACA,UACA,QACA,QACA,aACA,SACA,YACA,YACA,OACA,QACA,WACA,QAEA,OACA,eACA,YACA,cACA,oBACA,mBAEA,cACA,cACA,QACA,mBACA,eACA,OACA,cACA,iBACA,MACA,UACA,MACA,OACA,OACA,gBACA,UAEA,MACA,eACA,cACA,OACA,QACA,YACA,aACA,oBACA,MACA,MACA,QACA,aACA,oBACA,YACA,YACA,aACA,iBACA,UACA,aACA,WACA,WACA,WACA,aACA,cACA,MACA,UACA,WACA,WAEA,UACA,SACA,aACA,kBACA,aACA,QAEA,OACA,MACA,cACA,aACA,OACA,aACA,aACA,YACA,eACA,OACF,EAGIC,GAAY,CAGd,MACA,QACA,QACA,UACA,UACA,MACA,SACA,SACA,UACA,UACA,SACA,UACA,YACA,gBACA,aACA,UACA,UACA,UACA,cACA,UACA,cACA,WACA,OACA,YACA,WACA,MACA,eACA,WACA,UACA,YACA,aACA,OACA,cACA,YACA,UACA,aACA,YACA,SACA,UACA,YACA,UACA,SACA,SACA,OACA,aACA,QACA,SACA,YACA,YACA,eACA,OACA,gBACA,SACA,QACA,UACA,SACA,cACA,cACA,QACA,MACA,OACA,WACA,QACA,QACA,OACA,WACA,OACA,QACA,UACA,OACA,UACA,eACA,WACA,QACA,SACA,QACA,OACA,SACA,UACA,UACA,SACA,eACA,eACA,YACA,QACA,cACA,aACA,OACA,SACA,aACA,aACA,QACA,OACA,WACA,UACA,eACA,eACA,SACA,SACA,SACA,UACA,cACA,WACA,UACA,OACA,QACA,SACA,UACA,SACA,OACA,QACA,kBACA,SACA,OACA,SACA,OACA,gBACA,SACA,OACA,SACA,MACA,aACA,SACA,cACA,SACA,SACA,gBACA,YACA,aACA,UACA,QACA,eACA,YACA,OACA,YACA,SACA,QACA,WACA,MACA,MACA,MACA,eACA,aACA,OACA,QACA,OACA,aACA,YACA,QACA,SACA,WACA,cACA,OACA,QACA,QACA,MACA,OACA,SACA,aACA,QACA,OACA,WACA,SACA,MACA,aACA,WACA,UACA,UACA,gBACA,OACA,QACA,SACA,QACA,OACA,QACA,UACA,UACA,cACA,OAEA,MACA,QACA,MACA,KACA,gBACA,UACA,OACA,KACA,OACA,OACA,SACA,OACA,SACA,QACA,OACA,UACA,eACA,oBACA,SACA,WACA,SACA,WACA,WACA,OACA,OACA,MACA,WACA,SACA,WACA,WACA,QACA,QACA,YACA,MACA,OACA,OACA,WACA,QACA,QACA,WACA,SACA,KACA,SACA,KACA,QACA,SACA,YACA,OACA,KACA,OACA,UACA,OACA,OACA,OACA,QACA,QACA,OACA,OACA,MACA,OACA,KACA,KACA,KACA,QACA,MACA,QACA,OACA,cACA,YACA,UACA,YACA,WACA,YACA,QACA,QACA,SACA,SACA,QACA,SACA,MACA,OACA,SACA,MACA,QACA,cACA,OACA,KACA,YACA,UACA,OACA,WACA,YACA,QACA,aACA,SACA,OACA,QACA,eACA,SACA,OACA,QACA,SACA,OACA,SACA,OACA,SACA,QACA,WACA,QACA,QACA,aACA,UACA,UACA,aACA,YACA,UACA,QACA,QACA,OACA,OAEA,WACA,eACA,MACA,MACA,MACA,UACA,OACA,SACA,WACA,cACA,cACF,EACIC,GAAa,CAEf,QACA,SACA,SACA,UACA,OACA,OACA,UACA,SACA,QACA,MACA,UACA,WACA,MACA,UACA,YACA,WACA,SACA,YACA,SACF,EAGIC,GAAkBrE,EAAc,CAAC,yBAAyB,CAAC,EAC3DsE,GAAmBtE,EAAc,CAEnC,OACA,OACA,QACA,WACA,SACA,SACA,eACA,WACA,UACA,aACA,gBACA,QAKA,sBACA,SAEA,MAEA,aACA,4BACA,aACA,kBAGA,qCAGA,2BACA,wBACF,CAAC,EACGuE,GAAkBvE,EAAc,CAElC,sDACA,6CAEA,SAEA,cAEA,yBAEA,cACA,YAEA,mBAEA,QACA,SACA,MACA,WACA,OACA,QACA,OACA,YACA,YACA,YACF,CAAC,EACGwE,GAAyBxE,EAAc,CAAC,wBAAwB,CAAC,EACjEyE,GAAiBzE,EAAc,CACjC,OACA,qCACA,uBAEA,gBACF,CAAC,EACG0E,GAAmB1E,EAAc,CAAC,wBAAwB,CAAC,EAC3Db,GAAO,CACT,KAAM,OACN,iBAAkB,CAChB,eAAgBkF,GAChB,gBAAiB,CAAC,GAAGC,GAAkB,GAAGC,EAAe,EACzD,sBAAuBC,GACvB,cAAeC,GACf,gBAAiBC,GACjB,iBAAkBP,GAClB,kBAAmBC,GACnB,sBAAuBF,GACvB,YAAa,CAAC,IAAI,EAClB,YAAa,CAAC,QAAS,OAAO,EAC9B,WAAY,CAAC,IAAI,EACjB,cAAe,CAAC,CAAE,MAAO,KAAM,SAAU,CAAC,GAAG,EAAG,cAAe,GAAM,EACrE,UAAW,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,MAAO,KAAM,IAAK,IAAI,CAC5D,EACD,cAAe,CACb,eAAgBK,EACjB,CACH,EAGA,SAASI,GAAarC,EAAQ,CAC5B,OAAOA,EAAO,IAAI,CAACpG,EAAOj7C,IAAM,CAC9B,MAAM2jD,EAAYtC,EAAOrhD,EAAI,CAAC,GAAKqgD,GACnC,GAAIG,GAAQ,IAAIvF,CAAK,GAAK0I,EAAU,OAAS,IAC3C,OAAOlG,GAAcD,GAAe,GAAIvC,CAAK,EAAG,CAAE,KAAM,wBAAwB,CAA+B,EAEjH,MAAMuG,EAAYH,EAAOrhD,EAAI,CAAC,GAAKqgD,GACnC,OAAIG,GAAQ,OAAOvF,CAAK,GAAKuG,EAAU,OAAS,IACvC/D,GAAcD,GAAe,GAAIvC,CAAK,EAAG,CAAE,KAAM,wBAAwB,CAA+B,EAE1GA,CACX,CAAG,CACH,CAGA,IAAI2I,GAAY,CAEd,aACA,MACA,MACA,QACA,UACA,MACA,KACA,MACA,aACA,SACA,UACA,OACA,KACA,OACA,UACA,OACA,SACA,QACA,UACA,SACA,YACA,aACA,WACA,UACA,SACA,QACA,eACA,eACA,eACA,oBACA,eACA,SACA,WACA,YACA,WACA,kBACA,aACA,aACA,UACA,UACA,UACA,SACA,mBACA,OACA,WACA,gBACA,WACA,cACA,MACA,gBACA,OACA,OACA,OACA,OACA,SACA,WACA,UACA,SACA,SACA,OACA,UACA,QACA,QACA,MACA,QACA,UACA,OACA,WACA,UACA,QACA,QACA,SACA,gBACA,mBACA,cACA,cACA,KACA,SACA,oBACA,oBACA,KACA,QACA,SACA,QACA,QACA,cACA,SACA,YACA,WACA,OACA,KACA,UACA,OACA,MACA,OACA,OACA,UACA,QACA,OACA,OACA,QACA,SACA,QACA,OACA,YACA,iBACA,OACA,OACA,eACA,0BACA,gCACA,QACA,WACA,qBACA,gBACA,MACA,WACA,UACA,MACA,qBACA,OACA,SACA,KACA,WACA,SACA,aACA,KACA,QACA,MACA,QACA,UACA,OACA,gBACA,kBACA,YACA,WACA,UACA,YACA,QACA,QACA,OACA,QACA,aACA,YACA,gBACA,aACA,SACA,UACA,SACA,SACA,UACA,UACA,WACA,WACA,SACA,YACA,SACA,QACA,QACA,aACA,OACA,SACA,UACA,qBACA,SACA,YACA,YACA,MACA,OACA,SACA,OACA,UACA,WACA,MACA,eACA,WACA,aACA,iBACA,sBACA,mBACA,MACA,WACA,oBACA,mBACA,qBACA,gBACA,QACA,aACA,OACA,KACA,WACA,UACA,OACA,OACA,QACA,SACA,SACA,WACA,SACA,QACA,MACA,QACA,WACA,WACA,gBACA,SACA,OACA,QACA,QACA,SACA,OACA,QACA,MACA,aACA,UACF,EACIC,GAAa,CAEf,SACA,SACA,MACA,OACA,YACA,OACA,YACA,WACA,MACA,UACA,mBACA,SACA,OACA,QACA,QACA,SACA,SACA,MACA,OACA,OACA,OACA,OACA,OACA,UACA,OACA,WACA,WACA,aACA,YACA,aACA,YACA,gBACA,mBACA,UACA,YACA,OACA,WACA,OACA,YACA,WACA,UACA,WACA,YACA,UACA,eACA,UACA,MAGF,EAGIC,GAAa,CAEf,UACA,aACA,UACA,SACA,UACA,OACA,QACA,YACA,UACA,UACA,WACA,WACA,cACA,SACA,aACA,UACA,cACA,eACA,gBACA,iBACA,MACA,OACA,MACA,SACA,MACA,MACA,MACA,YACA,QACA,WACA,eACA,kBACA,kBACA,OACA,aACA,eACA,MACA,SACA,aACA,cACA,UACA,SACA,YACA,MACA,cACA,OACA,cACA,WACA,UACA,WACA,MACA,OACA,UACA,cACA,cACA,OACA,OACA,QACA,YACA,MACA,kBACA,YACA,aACA,OACA,UACA,mBACA,cACA,MACA,eACA,eACA,gBACA,cACA,cACA,WACA,SACA,yBACA,YACA,gBACA,OACA,aACA,MACA,MACA,QACA,WACA,UACA,aACA,YACA,YACA,UACA,mBACA,gBACA,cACA,cACA,MACA,SACA,UACA,MACA,aACA,eACA,QACA,cACA,QACA,SACA,aACA,cACA,YACA,gBACA,WACA,WACA,MACA,SACA,QACA,SACA,eACA,eACA,aACA,oBACA,oBACA,eACA,gBACA,qBACA,aACA,gBACA,cACA,eACA,cACA,YACA,cACA,aACA,aACA,mBACA,sBACA,aACA,aACA,cACA,cACA,eACA,WACA,cACA,YACA,eACA,aACA,aACA,WACA,iBACA,QACA,QACA,SACA,UACA,KACA,YACA,SACA,MACA,QACA,OACA,QACA,OACA,cACA,QACA,eACA,WACA,WACA,WACA,mBACA,kBACA,MACA,YACA,aACA,MACA,OACA,MACA,eACA,MACA,aACA,cACA,KACA,MACA,QACA,QACA,eACA,iBACA,gBACA,UACA,OACA,oBACA,eACA,iBACA,UACA,QACA,OACA,cACA,QACA,eACA,cACA,MACA,OACA,OACA,OACA,MACA,QACA,UACA,QACA,OACA,SACA,cACA,gBACA,kBACA,UACA,WACA,MACA,WACA,cACA,cACA,YACA,UACA,UACA,aACA,QACA,aACA,sBACA,QACA,iBACA,YACA,QACA,OACA,aACA,UACA,UACA,aACA,0BACA,uBACA,4BACA,WAEA,WACA,QACF,EAGIC,GAAkBhF,EAAc,CAAC,uCAAuC,CAAC,EACzEiF,GAAmBjF,EAAc,CAEnC,mBACA,OACA,QACA,WACA,SACA,eACA,WACA,QACA,SACA,uBAGA,kEACA,0CACA,SACA,0BAEA,MAEA,WACF,CAAC,EACGkF,GAAkBlF,EAAc,CAElC,wDACA,yFAEA,iCAEA,8CAEA,qCAEA,4CACA,+BACA,yCACA,4BACA,cACA,gBACA,iBACA,uBAEA,4BAGA,mBAEA,iBACA,yBACA,cACA,iBACA,kBACA,eACA,uBACA,iBACA,eACA,aACA,aACA,UACA,gBACA,cACA,eACA,gBACA,QACA,SACA,cACA,OACA,mBACA,cACA,aACA,iBACA,SACA,4BACA,kBACA,eACA,kBACA,eACA,mBACA,cACA,kBACA,gBACA,uBACA,iBACA,sBACA,cACA,qBACA,WACA,gBACA,aACA,gBACA,aACA,eACA,iBACA,YACA,gBACA,cACA,eACA,YACA,YACA,UACA,UACA,QACA,kBACA,4BACA,QACA,UACA,OACA,iBACA,iBACA,OACA,mBACA,wBACA,kBACA,aACA,iBACA,UACA,oBACA,oBACA,oBACA,eACA,cACA,eACA,cACA,eACA,oBACA,gBACA,cACA,WACA,SACA,WACA,YACA,oBACA,mBACA,yBACA,YACA,eACA,WACA,gBACA,kBACA,OACA,2BACA,yBACA,eACA,mBACA,qBACA,qBACA,qBACA,yBACA,iBACA,eACA,oBACA,uBACA,oBACA,uBACA,sBACA,2BACA,wBACA,uBACA,oBACA,sBACA,mBACA,mBACA,iBACA,cACA,4BACA,eACA,cACA,cACA,eACA,qBACA,uBACA,cACA,aACA,eACA,wBACA,YACA,eACA,mBACA,qBACA,mBACA,yBACA,2BACA,sBACA,eACA,sBACA,kBACA,sBACA,wBACA,mBACA,eACA,gBACA,2BACA,uBACA,eACA,qBACA,sBACA,eACA,aACA,mBACA,oBACA,cACA,uBACA,oBACA,cACA,gBACA,uBACA,iBACA,gBACA,wBACA,oBACA,WACA,SACA,qBACA,mBACA,gBACA,cACA,oBACA,oBACA,kBACA,eACA,aACA,mBACA,mBACA,eACA,MACA,WACA,YACA,SACA,aACA,aACA,cACA,UACF,CAAC,EACGmF,GAAyBnF,EAAc,CACzC,yBACA,0BACA,6BACA,wBACF,CAAC,EACGoF,GAAiBpF,EAAc,CACjC,OACA,8BACA,uBACA,eACA,sCAEA,eACF,CAAC,EACGqF,GAAmBrF,EAAc,CACnC,gDACA,gBACA,yBACA,eACF,CAAC,EACGZ,GAAU,CACZ,KAAM,UACN,iBAAkB,CAChB,eAAgB4F,GAChB,gBAA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cACA,WACA,WACA,MACA,UACA,aACA,YACA,YACA,UACA,UACA,aACA,MACA,MACA,MACA,aACA,UACA,eACA,QACA,cACA,cACA,QACA,SACA,eACA,mBACA,aACA,cACA,YACA,gBACA,iBACA,qBACA,2BACA,wBACA,+BACA,aACA,WACA,WACA,eACA,WACA,cACA,gBACA,MACA,OACA,cACA,KACA,SAEA,YACA,YACA,aACA,aACA,SACA,QACA,0BACA,0BACA,sBACA,oBACA,qBACA,uBACA,0BACA,gCACA,iCACA,wBACA,wBACA,qCACA,oCACA,wBACA,2BACA,6BACA,yBACA,2BACA,sBACA,uBACA,WACA,KACA,eACA,UACA,iBACA,iBACA,UACA,SACA,cACA,UACA,eACA,UACA,SACA,aACA,oBACA,oBACA,gBACA,gBACA,qBACA,aACA,eACA,cACA,YACA,cACA,aACA,mBACA,sBACA,cACA,iBACA,gBACA,cACA,aACA,cACA,eACA,oBACA,gCACA,cACA,WACA,oBACA,oBACA,aACA,YACA,eACA,aACA,aACA,MACA,WACA,iBACA,aACA,QACA,OACA,QACA,OACA,SACA,OACA,aACA,KACA,YACA,YACA,iBACA,SACA,MACA,QACA,OACA,QACA,OACA,QACA,WACA,WACA,WACA,kBACA,QACA,MACA,cACA,eACA,YACA,cACA,YACA,gBACA,cACA,aACA,YACA,MACA,YACA,cACA,MACA,MACA,SACA,MACA,QACA,YACA,kBACA,aACA,eACA,aACA,MACA,SACA,WACA,aACA,MACA,YACA,QACA,SACA,MACA,eAEA,MACA,eACA,aACA,cACA,KACA,QACA,UACA,WACA,MACA,QACA,uBACA,eACA,UACA,QACA,UACA,OACA,eACA,OACA,SACA,eACA,cACA,iBACA,gBACA,oBACA,eACA,SACA,UACA,UACA,QACA,QACA,gBACA,QACA,YACA,aACA,OACA,QACA,SACA,cACA,SACA,eACA,OACA,OACA,OACA,MACA,QACA,UACA,cACA,kBACA,QACA,OACA,UACA,cACA,eACA,YACA,YACA,qBACA,cACA,aACA,cACA,gBACA,aACA,gBACA,eACA,cACA,cACA,qBACA,cACA,cACA,YACA,kBACA,qBACA,aACA,sBACA,qBACA,eACA,kBACA,qBACA,kBACA,iBACA,uBACA,mBACA,kBACA,gBACA,cACA,aACA,cACA,aACA,oBACA,cACA,YACA,kBACA,iBACA,0BACA,2BACA,qBACA,eACA,kBACA,mBACA,kBACA,oBACA,mBACA,mBACA,kBACA,mBACA,qBACA,eACA,cACA,qBACA,sBACA,mBACA,kBACA,YACA,kBACA,iBACA,cACA,UACA,gBACA,YACA,mBACA,aACA,eACA,WACA,cACA,YACA,OACA,OACA,mBACA,wBACA,MACA,SACA,aACA,cACA,cACA,SACA,UACA,SACA,YACA,kBACA,UACA,MACA,UACA,cACA,MACA,OACA,cACA,cACA,WACA,YACA,eACA,gBACA,YACA,UACA,aACA,OACA,WACA,QACA,aACA,sBACA,QACA,iBACA,YACA,QAEA,WACA,WACA,gBACA,OACA,aACA,cACA,6BACA,SACA,UACA,WACA,WACA,UACA,6BACA,oCACA,OACA,UACA,aACA,gBAEA,OACA,UACF,EAGIC,GAAkBzF,EAAc,CAAC,uCAAuC,CAAC,EACzE0F,GAAmB1F,EAAc,CAEnC,mBACA,OACA,QACA,WACA,SACA,SACA,eACA,WACA,QACA,SAGA,kEACA,0CACA,SACA,0BAEA,KACF,CAAC,EACG2F,GAAkB3F,EAAc,CAElC,2CACA,yFAEA,iCAEA,8CAEA,qCAEA,cACA,eACA,6BACA,gBACA,mBACA,gBACA,iBACA,uBAGA,mBAEA,iBACA,cACA,iBACA,iBACA,sBACA,kBACA,uBACA,eACA,mBACA,aACA,aACA,gBACA,SACA,cACA,OACA,mBACA,4BACA,+BACA,cACA,iBACA,QACA,SACA,kBACA,eACA,kBACA,kBACA,eACA,uBACA,mBACA,wBACA,cACA,gBACA,kCACA,oBACA,iBACA,cACA,qBACA,WACA,gBACA,aACA,gBACA,gBACA,aACA,qBACA,iBACA,sBACA,YACA,cACA,gCACA,kBACA,eACA,YACA,YACA,UACA,UACA,QACA,QACA,UACA,OACA,eACA,oBACA,iBACA,OACA,YACA,wBACA,WACA,2BACA,cACA,kBACA,iBACA,UACA,oBACA,oBACA,eACA,cACA,eACA,QACA,eACA,gBACA,gBACA,cACA,UACA,SACA,WACA,wBACA,YACA,oBACA,mBACA,YACA,eACA,qBACA,WACA,kBACA,OACA,mBACA,qBACA,qBACA,iBACA,eACA,uBACA,oBACA,uBACA,wBACA,oBACA,sBACA,mBACA,mBACA,iBACA,cACA,eACA,cACA,cACA,qBACA,uBACA,cACA,aACA,qBACA,mBACA,eACA,kBACA,sBACA,wBACA,mBACA,eACA,gBACA,uBACA,sBACA,gBACA,aACA,mBACA,cACA,oBACA,cACA,gBACA,iBACA,gBACA,WACA,kBACA,0BACA,gBACA,cACA,oBACA,yBACA,eACA,aACA,QACA,sBACA,mBACA,kBACA,gBACA,MACA,KAGA,UACA,QACA,OACA,SACA,SACA,OACF,CAAC,EACG4F,GAAyB5F,EAAc,CAAC,wBAAwB,CAAC,EACjE6F,GAAiB7F,EAAc,CACjC,OACA,8BACA,uBACA,uBACA,sCAEA,eACF,CAAC,EACG8F,GAAmB9F,EAAc,CACnC,kCACA,gBACA,yBACA,eACF,CAAC,EACGX,GAAQ,CACV,KAAM,QACN,iBAAkB,CAChB,eAAgBoG,GAChB,gBAAiB,CAAC,GAAGC,GAAkB,GAAGC,EAAe,EACzD,sBAAuBC,GACvB,cAAeC,GACf,gBAAiBC,GACjB,YAAa,GACb,iBAAkBR,GAClB,kBAAmBC,GACnB,sBAAuBC,GAEvB,YAAa,CACX,WACA,CAAE,MAAO,WAAY,SAAU,CAAC,GAAG,CAAG,EACtC,CAAE,MAAO,SAAU,SAAU,CAAC,IAAK,GAAG,EAAG,cAAe,EAAM,CAC/D,EACD,WAAY,CAAC,IAAI,EACjB,WAAY,CAAE,MAAO,IAAK,KAAM,IAAK,qBAAsB,EAAM,EACjE,cAAe,CACb,CAAE,MAAO,oBAAsB,EAC/B,CAAE,MAAO,WAAY,SAAU,CAAC,GAAG,EAAG,cAAe,EAAM,EAC3D,CAAE,MAAO,WAAY,SAAU,CAAC,GAAG,EAAG,cAAe,EAAM,EAC3D,CAAE,MAAO,KAAM,SAAU,CAAC,GAAG,EAAG,cAAe,EAAM,CACtD,EACD,WAAY,CAAE,WAAY,EAAM,EAChC,iBAAkB,CAAC,KAAM,GAAG,EAC5B,UAAW,CACT,IACA,KACA,IACA,IACA,IACA,IACA,KACA,KACA,MACA,KACA,MACA,KACA,KACA,IACA,KAED,EACD,YAAab,EACd,EACD,cAAe,CACb,eAAgBgB,EACjB,CACH,EAGII,GAAa,CAEf,QACA,MACA,OACA,UACA,YACA,YACA,eACA,YACA,sBACA,eACA,iBACA,cACA,iBACA,eACA,gBACA,eACA,eACA,kBACA,eACA,YACA,YACA,aACA,iBACA,gBACA,YACA,cACA,eACA,eACA,gBACA,gBACA,aACA,aACA,YACA,gBACA,iBACA,iBACA,cACA,OACA,OACA,QACA,MACA,SACA,gBACA,gBACA,UACA,YACA,UACA,SACA,UACA,YACA,WACA,UACA,OACA,cACA,eACA,YACA,WACA,YACA,WACA,SACA,UACA,WACA,iBACA,sBACA,wBACA,MACA,QACA,QACA,SACA,YACA,OACA,kBACA,eACA,mBACA,gBACA,kBACA,mBACA,gBACA,oBACA,iBACA,oBACA,iBACA,SACA,cACA,UACA,aACA,kBAEA,eACA,cACA,MACA,cACA,QACA,WACA,YACA,QACA,YACA,kBACA,QACA,aACA,SACA,UACA,UACA,SACA,WACA,YACA,WACA,WACA,WACA,MACA,aACA,OACA,QACA,SACA,KACA,MACA,QACA,QACA,MACA,OACA,SACA,OACA,SACA,kBACA,gBACA,eACA,gBACA,sBACA,MACA,YACA,QACA,WACA,YACA,aACA,UACA,SACA,UACA,YACA,QACA,SACA,MACA,OACA,aACA,gBACA,qBACA,sBACA,gBACA,eACA,eACA,aACA,gBACA,gBACA,iBACA,gBACA,gBACA,QACA,eACA,KACA,cACA,WACA,WACA,QACA,UACA,SACA,OACA,kBACA,kBACA,cACA,iBACA,kBACA,iBACA,eACA,iBACA,aACA,gBACA,iBACA,gBACA,cACA,SACA,UACA,UACA,QACA,aACA,QACA,SACA,cACA,eACA,OACA,MACA,QACA,OACA,SACA,aACA,cACA,kBACA,gBACA,YACA,aACA,mBACA,SACA,WACA,MACA,MACA,QACA,UACA,SACA,YACA,SACA,SACA,WACA,WACA,WACA,OACA,QAEA,QACA,OACA,WACA,eACA,gBACA,UACA,WACA,iBACA,cAIA,MACF,EAGIC,GAAY,CAEd,SACA,MACA,QACA,UACA,MACA,MACA,QACA,KACA,MACA,KACA,QACA,UACA,SACA,UACA,QACA,SACA,QACA,KACA,OACA,OACA,OACA,UACA,UACA,aACA,SACA,YACA,UACA,WACA,aACA,QACA,SACA,UACA,WACA,UACA,YACA,UACA,YACA,SACA,UACA,OACA,WACA,WACA,KACA,OACA,OACA,UACA,OACA,MACA,QACA,SACA,UACA,UACA,SACA,UACA,QACA,QACA,SACA,QACA,UACA,QACA,YACA,MACA,QACA,OACA,MACA,WACA,SACA,QACA,QACA,SACA,MACA,OACA,SACA,KACA,SACA,QACA,KACA,UACA,YACA,QACA,QACA,SACA,QACA,SACA,YACA,OACA,KACA,YACA,aACA,OACA,MACA,OACA,WACA,QACA,WACA,OACA,OACA,MACA,UACA,QACA,OACA,QACA,MACA,MACA,UACA,UACA,eACA,QACA,QACA,UACA,YACA,OACA,KACA,KACA,MACA,YACA,OACA,QACA,SACA,SACA,SACA,KACA,SACA,UACA,KACA,QACA,SACA,QACA,OACA,QACA,YACA,WACA,OACA,OACA,YACA,UACA,UACA,UACA,YACA,QACA,YACA,SACA,QACA,MACA,QACA,SACA,SACA,UACA,SACA,YACA,SACA,QACA,OACA,WACA,MACA,OACA,YACA,YACA,SACA,QACA,SACA,OACA,OACA,MACA,OACA,OACA,QACA,aACA,SACA,SACA,OACA,OACA,KACA,OACA,cACA,UACA,OACA,WACA,YACA,QACA,QACA,SACA,UACA,SACA,QACA,SACA,SACA,MACA,OACA,QACA,WACA,QACA,SACA,SACA,MACA,OACA,OACA,QACA,QACA,SACA,OACA,SACA,OACA,KACF,EACIC,GAAa,CASjB,EAGIC,GAAkBlG,EAAc,CAAC,yBAAyB,CAAC,EAC3DmG,GAAmBnG,EAAc,CAEnC,OACA,OACA,QACA,WACA,SACA,SACA,eACA,WACA,QACA,SAGA,cACA,SAEA,MAEA,aACA,0BACA,aACA,SAEA,OACA,SACA,WACF,CAAC,EACGoG,GAAkBpG,EAAc,CAElC,SAEA,cAEA,aAEA,SACA,cACA,oBACA,cACA,qBACA,oBACA,kBACA,eACA,uBACA,eACA,kBACA,gBACA,aACA,qBACA,aACA,UACA,mBACA,UACA,QACA,QACA,UACA,SACA,uBACA,YACA,kBACA,oBACA,SAEA,MACA,qBACA,OACA,oBACF,CAAC,EACGqG,GAAyBrG,EAAc,CAAC,cAAe,eAAgB,iBAAiB,CAAC,EACzFsG,GAAiBtG,EAAc,CAAC,OAAQ,8BAA+B,YAAY,CAAC,EACpFuG,GAAmBvG,EAAc,CAAC,iCAAiC,CAAC,EACpEV,GAAO,CACT,KAAM,OACN,iBAAkB,CAChB,eAAgB4G,GAChB,gBAAiB,CAAC,GAAGC,GAAkB,GAAGC,EAAe,EACzD,sBAAuBC,GACvB,cAAeC,GACf,gBAAiBC,GACjB,YAAa,GACb,iBAAkBP,GAClB,kBAAmBC,GACnB,sBAAuBF,GAIvB,YAAa,CAAC,QAAS,OAAO,EAC9B,WAAY,CAAC,IAAI,EACjB,YAAa,CAAC,KAAM,IAAI,EACxB,WAAY,CAAE,WAAY,GAAM,SAAU,CAAC,GAAG,EAAG,MAAO,CAAC,GAAG,CAAG,EAC/D,iBAAkB,CAAC,IAAK,IAAI,EAC5B,UAAW,CAAC,IAAK,KAAM,IAAK,IAAI,CACjC,EACD,cAAe,CACb,eAAgBK,EACjB,CACH,EAGII,GAAY,CAGd,MACA,QACA,YACA,MACA,QACA,MACA,MACA,QACA,KACA,MACA,KACA,YACA,SACA,MACA,QACA,UACA,QACA,OACA,OACA,QACA,OACA,KACA,OAEA,OACA,UACA,UACA,OACA,UACA,cACA,YACA,QACA,QACA,UACA,WACA,UACA,UACA,UACA,UACA,SACA,YACA,WACA,WACA,UACA,WACA,cACA,UACA,UACA,QACA,QACA,SACA,UACA,SACA,cACA,WACA,OACA,MACA,UACA,UACA,SACA,SACA,OACA,gBACA,WACA,OACA,WACA,UACA,OACA,QACA,QACA,MACA,SACA,SACA,YACA,aACA,YACA,UACA,SACA,OACA,WACA,QACA,QACA,QACA,MACA,SACA,QACA,OACA,OACA,WACA,UACA,OACA,QACA,QACA,OACA,SACA,OACA,SACA,OACA,aACA,KACA,YACA,KACA,YACA,QACA,UACA,YACA,UACA,WACA,SACA,eACA,YACA,YACA,WACA,OACA,aACA,KACA,YACA,OACA,WACA,QACA,UACA,SACA,QACA,UACA,OACA,QACA,QACA,QACA,QACA,UACA,QACA,OACA,OACA,MACA,MACA,SACA,SACA,QACA,MACA,QACA,SACA,MACA,OACA,SACA,QACA,WACA,OACA,MACA,WACA,SACA,MACA,aACA,SACA,MACA,SACA,OACA,SACA,UACA,UACA,cACA,cACA,cACA,gBACA,YACA,SACA,SACA,eACA,WACA,YACA,UACA,KACA,KACA,OACA,SACA,OACA,WACA,SACA,KACA,SACA,UACA,QACA,WACA,eACA,SACA,UACA,SACA,MACA,aACA,UACA,kBACA,YACA,aACA,YACA,SACA,OACA,YACA,SACA,QACA,UACA,YACA,SACA,QACA,QACA,OACA,SACA,MACA,YACA,MACA,YACA,SACA,WACA,SACA,SACA,YACA,UACA,SACA,WACA,MACA,SACA,OACA,YACA,MACA,MACA,MACA,SACA,UACA,SACA,OACA,WACA,WACA,eACA,MACA,QACA,QACA,OACA,SACA,OACA,SACA,MACA,UACA,UACA,UACA,WACA,WACA,QACA,SACA,SACA,SACA,SACA,SACA,QACA,cACA,eACA,gBACA,UACA,MACA,UACA,UACA,QACA,MACA,MACA,OACA,OACA,gBACA,gBACA,kBACA,kBACA,KACA,WACA,UACA,gBACA,UACA,OACA,MACA,MACA,MACA,QACA,QACA,SACA,WACA,YACA,SACA,MACA,QACA,SACA,QACA,SACA,WACA,WACA,SACA,OACA,QACA,OACA,OACA,QACA,QACA,OACA,OACA,UACA,QACA,OACA,MACF,EACIC,GAAa,CAEf,QACA,aACA,SACA,YACA,eACA,YACA,OACA,oBACA,YACA,YACA,YACA,OACA,UACA,SACA,QACA,MACA,eACA,gBACA,OACA,wBACA,gBACA,6BACA,qBACA,gBACA,QACA,QACA,cACA,SACA,WACA,WACA,YACA,MACA,YACA,SACA,UACA,UACF,EAGIC,GAAa,CAGf,MACA,OACA,OACA,OACA,QACA,SACA,OACA,MACA,OACA,MACA,QACA,KACA,MACA,MACA,QACA,QACA,YACA,QACA,OACA,MACA,OACA,OACA,MACA,OACA,QACA,eAEA,MACA,SACA,UACA,QACA,OACA,QACA,cACA,YACA,UACA,YACA,iBACA,gBACA,UACA,OACA,QACA,UACA,SACA,YACA,QACA,OACA,QACA,uBACA,iBACA,mBACA,QACA,QACA,SACA,eAEA,aACA,eACA,oBACA,aACA,UACA,UACA,WACA,iBACA,iBACA,WACA,WACA,kBACA,kBACA,QACA,kBACA,kBACA,UACA,eACA,UACA,eACA,kBACA,gBACA,gBACA,QACA,YAEA,WACA,QAEA,WACA,aACA,OACA,cACA,UACA,UACA,YACA,WACA,kBACA,kBACA,WACA,YACA,cACA,eACA,mBACA,mBACA,mBACA,kBACA,UACA,UACA,UACA,gBACA,SACA,gBACA,WACA,WACA,YACA,gBACA,iBACA,eACA,kBACA,gBACA,gBACA,YACA,SAEA,YACA,cACA,aAEA,cACA,UACA,gBACA,+BACA,MAEA,sBAEA,aACA,sBACA,cACA,aACA,cACA,gBACA,aACA,kBACA,qBACA,yBACA,iBAEA,iBACA,YACA,QACA,UACA,aACA,eACA,iBACA,kBACA,OACA,eACA,aACA,aACA,YACA,SACA,WACA,eACA,aACA,YACA,YACA,WACA,QACA,WACA,UACA,cACA,eACA,WACA,eAEA,SACA,OACA,WACA,QAEA,WACA,QACA,SACA,MACA,OAEA,cACA,WACA,aACA,MACA,OACA,UAEA,MACA,UACA,OACA,SACA,SACA,QACA,YACA,aACA,YACA,aACA,QACA,WACA,WACA,cACA,OACA,MACA,SACA,MACA,kBACA,kBACA,eACA,OACA,aACA,iBACA,aACA,UACA,YACA,YACA,WACA,WACA,WACA,sBACA,iBACA,eACA,gBACA,aACA,gBACA,sBACA,mBACA,sBACA,qBACA,sBACA,iBACA,SACA,aACA,cACA,MACA,UACA,WACA,WAGA,cACA,MACA,aACA,OACA,QACA,kBACA,aAEA,QACA,WACA,MACA,WACA,QAEA,KACA,mBACA,aACA,WACA,UACF,EAGIC,GAAkB3G,EAAc,CAAC,kCAAkC,CAAC,EACpE4G,GAAmB5G,EAAc,CAEnC,OACA,OACA,QACA,WACA,SACA,eACA,sBACA,SACA,uBACA,kBAGA,2BACA,SAEA,MAEA,eACA,4BACA,aAEA,WACF,CAAC,EACG6G,GAAkB7G,EAAc,CAElC,6HACA,mHACA,2BAEA,gBAEA,qBAEA,aAEA,cACA,MACA,oDACA,SACA,YACA,gBAEA,iBAEA,aACA,QACA,aACA,UACA,SACA,YACA,OACA,YACF,CAAC,EACG8G,GAAyB9G,EAAc,CAAC,cAAe,SAAU,WAAW,CAAC,EAC7E+G,GAAiB/G,EAAc,CACjC,OACA,qCACA,uBACA,uBACA,6CAEA,uBACF,CAAC,EACGgH,GAAmBhH,EAAc,CACnC,kCACA,YACA,wBACF,CAAC,EACGT,GAAQ,CACV,KAAM,QACN,iBAAkB,CAChB,eAAgBoH,GAChB,gBAAiB,CAAC,GAAGC,GAAkB,GAAGC,EAAe,EACzD,sBAAuBC,GACvB,cAAeC,GACf,gBAAiBC,GACjB,YAAa,GACb,iBAAkBR,GAClB,kBAAmBC,GACnB,sBAAuBC,GACvB,YAAa,CACX,CAAE,MAAO,QAAS,SAAU,CAAC,GAAG,CAAG,EACnC,CAAE,MAAO,MAAO,SAAU,CAAC,GAAG,CAAG,CAClC,EAID,WAAY,CAAC,OAAO,EACpB,WAAY,CAAE,KAAM,IAAM,EAC1B,cAAe,CAAC,CAAE,MAAO,gCAAiC,EAC1D,WAAY,CAAE,SAAU,CAAC,GAAG,EAAG,MAAO,CAAC,GAAG,CAAG,EAC7C,WAAY,CAAE,EAEd,UAAW,CACT,KACA,KACA,IACA,KACA,KAEA,KACA,KACA,KACA,IACA,IACD,EACD,YAAaO,EACd,EACD,cAAe,CACb,qBAAsB,CAAC,GAAG,EAC1B,eAAgBJ,EACjB,CACH,EACA,SAASI,GAAa3E,EAAQ,CAC5B,IAAI4E,EAAwB5F,GAC5B,OAAOgB,EAAO,IAAKpG,GACbuF,GAAQ,IAAIvF,CAAK,GAAKuF,GAAQ,GAAGyF,CAAqB,EACjDxI,GAAcD,GAAe,GAAIvC,CAAK,EAAG,CAAE,KAAM,kBAAkB,CAAyB,GAEjGwF,GAAWxF,EAAM,IAAI,IACvBgL,EAAwBhL,GAEnBA,EACR,CACH,CAGA,IAAIiL,GAAa,CAIf,MACA,OACA,QACA,QACA,OACA,QACA,QACA,OACA,QACA,SACA,QACA,QACA,OACA,OACA,UACA,MACA,OACA,OACA,MACA,OACA,UACA,MACA,MACA,YACA,QACA,MACA,MACA,KACA,MACA,QACA,YACA,MACA,KACA,QACA,UACA,SACA,QACA,QACA,UACA,OACA,MACA,OACA,OACA,OACA,MACA,OACA,OACA,aACA,QACA,eAEA,MACA,QACA,aACA,QACA,mBACA,cACA,MACA,SACA,YACA,SACA,UACA,OACA,SACA,QACA,OACA,QACA,MACA,YACA,eACA,UACA,cACA,qBACA,WACA,cACA,gBACA,iBACA,eACA,iBACA,iBACA,wBACA,wBACA,SACA,UACA,UACA,QACA,OACA,QACA,aACA,UACA,cACA,aACA,kBACA,kBACA,SACA,SACA,YACA,WACA,SACA,YACA,OACA,SACA,QAEA,YACA,aACA,QACA,UACA,eACA,aACA,SACA,SACA,UACA,WACA,SACA,QACA,MACA,eACA,UACA,WACA,QACA,UACA,WACA,SACA,SACA,SACA,SACA,aACA,SACA,YACA,OAEA,YACA,aACA,UACA,SACA,eACA,UACA,WACA,UACA,YAEA,eACA,iBACA,iBACA,wBACA,wBAEA,UACA,UACA,YACA,eAGA,kBACA,eACA,eACA,oBACA,WACA,YACA,aACA,UACA,WACA,eACA,gBACA,mBACA,YACA,iBACA,YACA,gBACA,YACA,iBACA,mBACA,MACA,WACA,eACA,iBACA,sBACA,YACA,eACA,wBAEA,aACA,YACA,aAEA,OACA,YACA,MACA,SACA,SACA,WACA,WACA,SACA,WACA,SACA,SACA,OACA,OACA,UACA,OACA,SACA,QACA,UACA,QACA,SACA,QACA,QAEA,SACA,YACA,SACA,OACA,WACA,aACA,mBACA,mBACA,UACA,UACA,UACA,cACA,OACA,QAEA,oBACA,wBACA,oBACA,mBACA,SACA,UACA,mBACA,kBACA,YACA,YACA,QACA,aACA,cACA,iBACA,oBACA,WACA,YACA,YACA,cACA,YACA,WACA,UACA,aACA,aACA,UACA,gBACA,uBAEA,OAEA,gBACA,sBACA,kBACA,wBACA,gCACA,UACA,eACA,qBACA,6BACA,gBACA,sBACA,8BACA,SACA,eACA,qBACA,6BACA,SACA,aACA,YACA,aACA,YACA,YACA,WACA,QACA,UACA,eACA,WACA,qBACA,6BACA,8BACA,QACA,eAEA,gBACA,YACA,uBACA,4BACA,qBACA,oBACA,qBACA,aACA,kBACA,qBACA,0BACA,eACA,eACA,mBACA,oBACA,oBACA,uBACA,mBACA,sBACA,mBACA,yBACA,4BACA,yBACA,4BACA,sBACA,wBACA,2BACA,eACA,YACA,gBACA,oBACA,kBACA,qBACA,eACA,WACA,sBACA,2BACA,oBACA,mBACA,oBACA,YACA,iBACA,oBACA,yBACA,cACA,kBACA,mBACA,uBACA,0BACA,mBACA,iBACA,oBACA,cACA,cACA,UACA,WACA,eAEA,UACA,UACA,UACA,SAGA,WACA,WACA,QACA,SAEA,YACA,eACA,YACA,aACA,aACA,eACA,cACA,cACA,iBACA,kBACA,gBACA,eACA,gBACA,kBACA,cACA,cACA,kBACA,aACA,SAEA,UACA,QACA,YACA,YACA,aACA,cACA,QACA,YACA,YAGA,YACA,MACA,UACA,SACA,UACA,WACA,UACA,WACA,OACA,QACA,YACA,aACA,YACA,aACA,QACA,WACA,YACA,mBACA,WACA,kBACA,MACA,MACA,OACA,kBACA,kBACA,eACA,YACA,sBACA,OACA,YACA,YACA,aACA,iBACA,UACA,aACA,WACA,WACA,WAEA,SACA,aACA,cACA,aACA,MACA,UACA,WACA,WACA,UACA,WACA,SAEA,YACA,aACA,cACA,MACA,aACA,OACA,YACA,QACA,eACA,OACA,aAEA,kBACA,sBAEA,aACA,aACA,kBACA,kBACA,mBACA,gBACA,eACA,iBACA,kBACA,eACA,cACA,2BACA,uBACA,yBACA,qCACA,yBACA,yBACA,uBACA,yBACA,uBACA,2BACA,sBACA,qBACA,mBACA,mBACA,mBACA,mBACA,cACA,kBACA,iBACA,mBACA,0BACA,oBACA,wBACA,kBACA,oBACA,2BACA,qBACA,sBACA,qBACA,iCACA,qBACA,yBACA,8BACA,uBACA,cACA,qBACA,4BACA,qCACA,yBACA,kBACA,kBACA,wBACA,wBACA,iBACA,yBACA,0BACA,oBACA,kBACA,iBACA,cACA,qBACA,gCACA,0BACA,+BACA,wBACA,0BACA,mBACA,yBACA,wBACA,oBACA,8BACA,wBACA,yBACA,yBACA,sBACA,2BACA,iCACA,kBACA,mBACA,mBACA,+BACA,0BACA,yBACA,sBACA,mBACA,0BACA,wBACA,0BACA,4BACA,YACA,qBACA,yBACA,2BACA,kCACA,iBACA,kBACA,sBACA,eACA,oBACA,cACA,kBACA,kBACA,aACA,iBACA,aACA,kBACA,aACA,aACA,eACA,2BACA,wBACA,oBACA,qBACA,qBACA,cACA,2BACA,OACA,UAEA,yBACA,4BACA,uBACA,eACA,kBACA,yBACA,mBACA,0BACA,qBACA,yBACA,4BACA,wBACA,+BACA,uBACA,oBACA,8BACA,wBACA,iBACA,mCACA,oCACA,qCACA,sCACA,0BACA,2BACA,4BACA,qBACA,mBACA,2BACA,qBACA,uBACA,gCACA,8BACA,kBACA,kBACA,oBACA,0BACA,0BACA,yBACA,gCACA,0BACA,qCACA,8BACA,sCACA,+BACA,iCACA,0BACA,YACA,eACA,eACA,eACA,yBACA,oBACA,oBACA,aACA,sBACA,eACA,uBACA,uBACA,mBACA,iBACA,gCACA,+BACA,6BACA,4BACA,iCACA,yCACA,yCACA,sCACA,sCACA,mCACA,mCACA,8BACA,oBACA,gBACA,iBACA,kBACA,eACA,iBACA,gBACA,qBACA,gBACA,uBACA,yBACA,uBACA,8BACA,4BACA,mCACA,kBACA,yBACA,kBACA,sBACA,uBACA,aAEA,qCACA,0BACA,iCAEA,gCACA,mCACA,qCACA,wCACA,wBAEA,oBAEA,MACF,EAGIC,GAAY,CAEd,QACA,WACA,SACA,SACA,MACA,QACA,QACA,YACA,MAEA,OACA,QACA,SACA,UAEA,UAEA,MAEA,MAEA,KAEA,MAEA,aACA,YACA,aACA,aAEA,KACA,SACA,SACA,YACA,gBAEA,WACA,SACA,QACA,UAEA,SAEA,OAEA,UACA,KACA,QACA,OACA,SACA,UACA,WACA,OAEA,OAEA,UACA,QACA,kBACA,QAEA,aACA,QACA,QACA,UACA,WAEA,UAEA,YAEA,SAEA,UACA,UACA,WACA,SACA,YACA,cACA,eAEA,gBACA,WACA,aACA,aAEA,cACA,UACA,WACA,aACA,OACA,OACA,SAEA,QAEA,MACA,OACA,UACA,kBAEA,eAEA,eAEA,iBAEA,eAEA,oBAEA,eAEA,SACA,QACA,OACA,WACA,MAEA,aACA,MAEA,UACA,UAEA,WACA,aAEA,WACA,UACA,SACA,YACA,aACA,UACA,QACA,OAEA,SACA,aACA,UACA,UACA,WAEA,KAEA,WACA,SACA,OACA,OACA,OAEA,SACA,WACA,YACA,MAEA,OACA,SACA,QACA,SAEA,UACA,YACA,YACA,UACA,SAEA,UACA,aACA,YACA,WACA,UAEA,QAEA,SACA,QAEA,SAEA,WACA,QACA,YACA,MAEA,QACA,UAEA,UACA,SAEA,OAEA,OAEA,WACA,YACA,YACA,SACA,QAEA,UACA,WAEA,QAEA,WAEA,SACA,UACA,SAEA,SACA,OACA,OAEA,WACA,KACA,QAEA,YACA,YACA,WACA,SACA,KAEA,UACA,YACA,YACA,QACA,UACA,UACA,WACA,YAEA,SACA,QAEA,QAEA,QACA,cACA,SACA,UACA,YAEA,OAEA,UACA,KAEA,SAEA,YACA,OAEA,MACA,WACA,QACA,OACA,UAEA,UAEA,YACA,QAEA,OAEA,QACA,OAEA,QAEA,SACA,OACA,QACA,YAEA,iBAEA,OACA,SACA,SACA,UACA,QACA,eACA,WACA,SACA,SAEA,WACA,OACA,QAEA,OACA,WAEA,UAEA,QAEA,MACA,OACA,MACA,MACA,OACA,OACA,KACA,OAEA,YAEA,aACA,MAEA,UACA,SACA,UAEA,SACA,OAEA,SAEA,QACA,SACA,KACA,MACA,SAEA,OACA,MACA,KAEA,OAEA,WACA,SACA,UACA,KAEA,QAEA,aACA,SACA,MAEA,QAEA,OAEA,WAEA,UAEA,aACA,QACA,QACA,WACA,SACA,UACA,YACA,UACA,WACA,UAEA,QACA,SACA,WAEA,YACA,UACA,WACA,WACA,UAEA,QACA,aACA,aACA,YACA,aACA,UACA,cACA,QACA,QACA,OACA,WACA,UACA,YACA,MACA,aAEA,cACA,UACA,UACA,WACA,SACA,aACA,UACA,UACA,QACA,UACA,WACA,SACA,YAEA,UACA,SACA,QAEA,OACA,WACA,SACA,UACA,WACA,MAEA,OACA,OACA,YACA,SACA,UACA,SACA,SACA,SAEA,WACA,SAEA,WACA,YACA,eACA,SACA,UACA,eAEA,MACA,QAEA,OACA,QACA,OACA,UAEA,SACA,OACA,WACA,OAEA,MACA,SACA,aACA,QACA,YACA,aACA,QACA,SACA,UACA,SACA,SACA,QACA,eACA,YAEA,UACA,YAEA,QACA,SACA,QAEA,SACA,cAEA,aACA,OACA,WACA,YACA,OAEA,OACA,KAEA,WAEA,cACA,YACA,QAEA,UACA,OAEA,OAEA,WACA,UACA,UACA,YACA,cACA,cACA,QAEA,SAEA,UACA,WACA,WACA,QACA,SACA,OAEA,QAEA,SACA,QACA,WACA,YACA,QACA,SAEA,WAEA,UAEA,UACA,OACA,QACA,WACA,OAEA,QAEA,aACA,SAEA,OAEA,SAEA,UAEA,OACA,UACA,QACA,gBAEA,YAEA,aAEA,YAEA,YAEA,gBAEA,WAEA,QAEA,UAEA,eAEA,WAEA,OAEA,KACF,EACIC,GAAa,CAEf,QAEA,SAEA,MAEA,cACA,OAEA,UAEA,OAEA,YAEA,oBACA,UAEA,SACA,OACA,QAEA,MAEA,UAEA,WAEA,UAEA,YAEA,OAEA,WAEA,OACA,OAEA,YAEA,cAEA,UAEA,MACA,MACF,EAGIC,GAAkBtH,EAAc,CAAC,yBAAyB,CAAC,EAC3DuH,GAAmBvH,EAAc,CAEnC,mBACA,OACA,QACA,4BACA,SACA,SACA,eACA,WACA,QACA,SACA,uBACA,wDAGA,cACA,SAEA,MAEA,WACF,CAAC,EACGwH,GAAkBxH,EAAc,CAElC,8EACA,0DACA,6CAEA,gBACA,mBAEA,cAEA,qBAEA,yBAEA,iCACA,gCACA,kBACA,YACA,+BACA,4BACA,iBACA,gBAEA,uBAEA,wBAGA,0BAEA,aACA,QAEA,QACA,kBACA,kBACA,mBACA,iBACA,2BACA,eACA,sBACA,kBACA,6BACA,sBACA,iBACA,cACA,cACA,iBACA,qBACA,0BACA,iBACA,uBACA,wBACA,eACA,kBACA,oBACA,aACA,gBACA,aACA,eACA,iBACA,eACA,mBACA,qBACA,eACA,mBACA,kCACA,+BACA,2BACA,6BACA,gBACA,aACA,aACA,qBACA,aACA,UACA,QACA,OACA,aACA,QACA,UACA,SACA,kBACA,OACA,uBACA,mBACA,cACA,mBACA,oBACA,kBACA,gBACA,uBACA,mBACA,8BACA,uBACA,kBACA,eACA,eACA,kBACA,kBACA,wBACA,yBACA,gBACA,mBACA,qBACA,cACA,cACA,gBACA,kBACA,gBACA,oBACA,sBACA,oBACA,mCACA,gCACA,4BACA,8BACA,mBACA,iBACA,cACA,cACA,sBACA,aACA,UACA,UACA,qBACA,iBACA,YACA,iBACA,kBACA,gBACA,cACA,qBACA,iBACA,4BACA,qBACA,gBACA,aACA,aACA,gBACA,yBACA,gBACA,sBACA,uBACA,aACA,cACA,iBACA,mBACA,YACA,eACA,YACA,cACA,gBACA,cACA,kBACA,oBACA,kBACA,iCACA,8BACA,0BACA,4BACA,iBACA,eACA,YACA,YACA,oBACA,YACA,UACA,UACA,QACA,QACA,wBACA,SACA,OACA,OACA,OACA,SACA,UACA,sBACA,iBACA,4BACA,UACA,oBACA,QACA,SACA,WACA,oBACA,wBACA,YACA,iBACA,cACA,kBACA,WACA,4BACA,kBACA,OACA,oBACA,WACA,QACF,CAAC,EACGyH,GAAyBzH,EAAc,CACzC,yBACA,0BACA,4BACF,CAAC,EACG0H,GAAiB1H,EAAc,CACjC,OACA,qCACA,uBACA,uBACA,4CACF,CAAC,EACG2H,GAAmB3H,EAAc,CACnC,gDACA,kCAEA,gDAEA,wBACF,CAAC,EACGR,GAAa,CACf,KAAM,aACN,iBAAkB,CAChB,eAAgB8H,GAChB,gBAAiB,CAAC,GAAGC,GAAkB,GAAGC,EAAe,EACzD,sBAAuBC,GACvB,cAAeC,GACf,gBAAiBC,GACjB,iBAAkBP,GAClB,kBAAmBC,GACnB,sBAAuBF,GACvB,oBAAqB,GACrB,YAAa,CAAC,IAAI,EAClB,YAAa,CACX,KACA,CAAE,MAAO,QAAS,SAAU,CAAC,IAAI,CAAG,EACpC,CAAE,MAAO,WAAY,SAAU,CAAC,GAAG,EAAG,cAAe,EAAM,EAC3D,CAAE,MAAO,SAAU,SAAU,CAAC,IAAK,GAAG,EAAG,cAAe,EAAM,CAC/D,EACD,WAAY,CAAC,CAAE,MAAO,QAAS,SAAU,CAAC,IAAI,EAAG,EACjD,WAAY,CAAE,KAAM,GAAK,EACzB,WAAY,CAAE,SAAU,CAAC,GAAG,CAAG,EAC/B,UAAW,CAET,IACA,IACA,KACA,MACA,IAEA,KAEA,IACA,IACA,IACA,IACA,KACA,KAEA,MACA,MACA,OACA,OAEA,MACA,KACA,KACA,MACA,KACA,KACA,KACA,MACA,MACA,MACA,MACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,KACA,KACA,KAEA,IACA,KACA,KACA,KACA,MACA,KACA,MACA,KAEA,KAEA,MACA,MAEA,KACA,MACA,MACA,OAEA,IACA,KACA,KACA,MAEA,MAEA,KAEA,MACA,KAEA,KACA,KACA,MACA,MACA,OACA,OACA,QACA,QAEA,KACA,GACD,CACF,EACD,cAAe,CACb,qBAAsB,CAAC,KAAM,GAAG,EAChC,eAAgBK,EACjB,CACH,EAGII,GAAc,CAEhB,YACA,8BACA,MACA,QACA,UACA,MACA,SACA,MACA,kBACA,cACA,aACA,MACA,WACA,UAEA,QACA,eACA,gBACA,mBACA,iBACA,WAEA,UACA,SACA,WACA,UAEA,WACA,SACA,WACA,QACA,MACA,OACA,SAEA,aACA,eACA,mBACA,eACA,eACA,oBACA,WACA,qBACA,uBACA,iBACA,UACA,WACA,YACA,aACA,UACA,UACA,eACA,WACA,iBACA,WACA,UACA,YACA,gBACA,qBACA,4BACA,kBACA,uBACA,4BACA,WACA,eACA,QAEA,UACA,WACA,eACA,cACA,WACA,UACA,cACA,YACA,YACA,eACA,YACA,aACA,cACA,aACA,cACA,sBACA,gBACA,eACA,YACA,aACA,eACA,cACA,cACA,oBACA,aACA,cACA,cACA,YACA,kBACA,aACA,aACA,cACA,cACA,aACA,eACA,kBACA,kBACA,kBACA,kBACA,iBACA,mBACA,gBACA,kBACA,iBACA,cACA,kBACA,aACA,cACA,aACA,YACA,kBACA,cACA,wBACA,0BACA,OACA,kBACA,cACA,eACA,iBACA,aACA,UACA,UACA,WACA,WACA,aACA,YACA,mBACA,sBACA,eACA,eACA,iBACA,WACA,YACA,YACA,aACA,iBACA,aACA,cACA,aACA,cACA,UACA,gBACA,aACA,YACA,OACA,UACA,UACA,OACA,UACA,UACA,OACA,UACA,UACA,eAEA,WACA,YACA,WACA,MACA,MACA,OACA,OAEA,MACA,oBACA,kBACA,cAEA,gBACA,sBACA,oBACA,kCACA,yBACA,aACA,iBAEA,MACA,OACA,OACA,OACA,QACA,OACA,UACA,OACA,MACA,MACA,UACA,OACA,QACA,SACA,MACA,QACA,KACA,MACA,MACA,KACA,QACA,UACA,SACA,QACA,MACA,OACA,OACA,MACA,SACA,QAEA,gBAEA,QACA,YACA,QACA,qBACA,cACA,mBACA,YACA,MACA,UACA,SACA,QACA,aACA,UACA,OACA,QACA,MACA,SACA,QACA,OACA,OACA,QACA,aACA,eACA,WACA,cACA,gBACA,eACA,eACA,iBACA,gBACA,SACA,UACA,YACA,UACA,QACA,UACA,aACA,SACA,SACA,YACA,UACA,YACA,OACA,QAEA,oBACA,gBACA,WACA,YACA,aACA,UACA,aACA,WACA,aACA,YACA,YACA,cACA,aACA,cAEA,MACA,QACA,YACA,aACA,cACA,aACA,MACA,OACA,UACA,MACA,SACA,MACA,YACA,QACA,eACA,kBACA,kBACA,OACA,kBACA,aACA,cACA,aACA,MACA,WACA,UAEA,OACA,UACA,UACA,UACA,YACA,kBACA,sBAEA,wBACA,0BACA,uBACA,kBACA,oBACA,uBACA,iBACA,aAEA,sBACA,mBACA,oBACA,iBACA,kBACA,eACA,kBACA,2BACA,yBACA,uBACA,sBACA,iBACA,cACA,6BACA,0BACA,gCACA,qBACA,kBACA,oBACA,mBACA,uBACA,eACA,YACA,OACA,SACF,EAGIC,GAAa,CAEf,SACA,SACA,MACA,iBACA,MACA,KACA,MACA,gBACA,SACA,UACA,SACA,OACA,QACA,SACA,aACA,SACA,QACA,UACA,aACA,UACA,SACA,OACA,UACA,WACA,KACA,SACA,SACA,UACA,aACA,WACA,QACA,MACA,UACA,SACA,OACA,OACA,gBACA,gBACA,QACA,WACA,SACA,QACA,KACA,YACA,QACA,OACA,KACA,SACA,WACA,UACA,OACA,QACA,YACA,iBACA,MACA,OACA,QACA,UACA,MACA,MACA,UACA,OACA,QACA,MACA,UACA,SACA,MACA,MACA,KACA,OACA,OACA,QACA,QACA,WACA,WACA,YACA,UACA,cACA,UACA,UACA,UACA,aACA,YACA,SACA,UACA,UACA,UACA,WACA,OACA,SACA,QACA,MACA,OACA,OACA,YACA,KACA,MACA,WACA,OACA,SACA,QACA,UACA,SACA,UAEA,gBACA,iBACA,eACA,aACA,cACA,WACA,SACA,eACA,aACA,mBACA,eACA,eACA,UACA,aACA,aACA,kBAEA,WACA,aACA,WACA,SACA,aAEA,SACA,MACA,YACA,aACA,YACA,OACA,OACA,UACA,MAEA,gBACA,cACA,YACA,WACA,uBACA,oBACA,gBAEA,QACA,OACA,OACA,OAEA,WACA,YACA,SACA,MAEA,MACA,OACA,WACA,QACA,WACA,MACA,UACA,WACA,WACA,YACA,UACA,UAGA,eACA,aACA,WAEA,OACA,OACA,MACA,YAGA,aAQF,EACIC,GAAc,CAEhB,QACA,SACA,SACA,OACA,oBACA,YACA,UACA,MACA,OACA,OACA,OACA,UACA,QACA,UACA,WACA,WACA,OACA,UACA,SACF,EAGIC,GAAmB/H,EAAc,CAAC,yBAAyB,CAAC,EAC5DgI,GAAoBhI,EAAc,CAEpC,mBACA,OACA,QACA,WACA,SACA,eACA,WACA,QACA,SAGA,cACA,SAEA,KACF,CAAC,EACGiI,GAAmBjI,EAAc,CAEnC,iFACA,0CAEA,SAEA,gBAEA,yBAEA,cACA,qBACA,eACA,gBACA,YACA,gBACA,eACA,OAEA,SAGA,mBAEA,QACA,iBACA,kBACA,2BACA,cACA,0BACA,kBACA,eACA,aACA,UACA,UACA,sBACA,sBACA,QACA,OACA,SACA,QACA,SACA,OACA,kBACA,mBACA,2BACA,yBACA,wBACA,kBACA,eACA,iBACA,eACA,mBACA,gBACA,cACA,aACA,UACA,iBACA,gBACA,iBACA,gBACA,aACA,eACA,aACA,yBACA,iBACA,cACA,YACA,YACA,OACA,UACA,UACA,QACA,QACA,OACA,UACA,4BACA,QACA,SACA,WACA,cACA,4BACA,8BACA,OACA,sBACA,aACA,kBACA,iBACA,aACA,YACA,oBACA,SACA,QACF,CAAC,EACGkI,GAA0BlI,EAAc,CAAC,cAAe,SAAU,YAAa,OAAO,CAAC,EACvFmI,GAAkBnI,EAAc,CAClC,OACA,qCACA,uBACA,uBACA,4CACF,CAAC,EACGoI,GAAoBpI,EAAc,CAEpC,UAEA,eACA,iBAEA,wBACF,CAAC,EACGP,GAAW,CACb,KAAM,WACN,iBAAkB,CAChB,eAAgBsI,GAChB,gBAAiB,CAAC,GAAGC,GAAmB,GAAGC,EAAgB,EAC3D,sBAAuBC,GACvB,cAAeC,GACf,gBAAiBC,GACjB,iBAAkBP,GAClB,kBAAmBC,GACnB,sBAAuBF,GACvB,YAAa,CAAC,OAAO,EACrB,WAAY,CAAC,OAAO,EACpB,WAAY,CAAE,MAAO,GAAK,EAC1B,WAAY,CAAE,SAAU,CAAC,GAAG,CAAG,EAC/B,UAAW,CACT,IACA,IACA,IACA,KACA,MACA,IACA,IAEA,IACA,KACA,KACA,KACA,IACD,CACF,EACD,cAAe,CACb,qBAAsB,CAAC,IAAI,EAC3B,eAAgBK,EACjB,CACH,EAGII,GAAa,CAEf,MACA,QACA,MACA,QACA,UACA,MACA,OACA,MACA,UACA,KACA,MACA,KACA,gBACA,UACA,OACA,SACA,UACA,KACA,QACA,UACA,OACA,SACA,QACA,QACA,UACA,YACA,UACA,UACA,aACA,SACA,UACA,UACA,SACA,UACA,cACA,UACA,cACA,aACA,OACA,SACA,QACA,OACA,UACA,eACA,eACA,oBACA,eACA,OACA,WACA,YACA,MACA,eACA,UACA,SACA,YACA,OACA,WACA,MACA,cACA,YACA,WACA,aACA,MACA,OACA,SACA,UACA,SACA,WACA,SACA,SACA,WACA,WACA,UACA,QACA,QACA,SACA,SACA,aACA,QACA,cACA,YACA,MACA,UACA,SACA,YACA,OACA,WACA,YACA,SACA,QACA,QACA,WACA,OACA,KACA,SACA,SACA,KACA,QACA,UACA,QACA,SACA,cACA,YACA,OACA,KACA,QACA,OACA,OACA,aACA,UACA,OACA,UACA,OACA,OACA,QACA,OACA,QACA,WACA,OACA,QACA,UACA,QACA,UACA,QACA,SACA,QACA,OACA,YACA,aACA,UACA,KACA,MACA,OACA,QACA,KACA,OACA,SACA,UACA,KACA,QACA,MACA,QACA,eACA,OACA,WACA,UACA,YACA,QACA,YACA,cACA,aACA,UACA,UACA,WACA,YACA,UACA,aACA,aACA,QACA,QACA,QACA,eACA,eACA,UACA,SACA,aACA,SACA,SACA,UACA,UACA,WACA,SACA,QACA,QACA,OACA,QACA,WACA,SACA,MACA,OACA,SACA,SACA,SACA,OACA,YACA,QACA,kBACA,eACA,OACA,OACA,SACA,OACA,OACA,SACA,QACA,aACA,SACA,WACA,SACA,YACA,QACA,SACA,gBACA,YACA,aACA,OACA,KACA,QACA,WACA,cACA,eACA,OACA,OACA,WACA,YACA,YACA,UACA,SACA,UACA,SACA,QACA,MACA,OACA,QACA,OACA,SACA,OAEA,UACA,YACA,WACA,WACA,UACA,OACA,WACA,aACA,aACA,SACA,UACA,cACA,SACA,UACA,gBACA,QACA,WACA,eACA,QACA,cACA,cACA,SACA,QACA,QACA,gBACA,SACA,SACA,KACA,WACA,SACA,YACA,OACA,OACA,QACA,WACA,YACA,YACF,EACIC,GAAc,CAEhB,QACA,SACA,SACA,UACA,OACA,OACA,OACA,MACA,UACA,SACA,QACA,MACA,UACA,WACA,OACA,MACA,UACA,OACA,QACA,WACA,SACA,SACA,gBACA,gBACA,YACA,UACA,SAEF,EAGIC,GAAc,CAKhB,wBACA,oBACA,MACA,UACA,SACA,UACA,WACA,UACA,eACA,cACA,OACA,QACA,QACA,QACA,WACA,mBACA,YACA,aACA,QACA,QACA,cACA,WACA,cACA,WACA,OACA,aACA,MACA,SACA,OACA,MACA,SACA,aACA,aACA,oBACA,WAEA,MACA,SACA,aACA,cACA,MACA,UACA,WACA,WAEA,YACA,aACA,MACA,OACA,YACA,QACA,eACA,OACA,aAEA,QACA,iBACA,iBACA,eACA,kBACA,aACA,YACA,YACA,iBACA,eACA,eACA,cACA,iBACA,aACA,UACA,WACA,UACA,QACA,aAEA,aACA,aACA,aACA,cACA,kBACA,mBACA,WACA,aACA,aAEA,aACA,eACA,eACA,oBACA,oBACA,mBACA,WACA,cACA,sBACA,YACA,WACA,aACA,WACA,MACA,aACA,YACA,YACA,UACA,gBACA,qBACA,OACA,WACA,YACA,mBACA,gBACA,iBACA,mBACA,SACA,QACA,iBACA,WACA,MACA,UACA,SACA,iBACA,mBACA,mBACA,oBACA,UACA,eACA,oBACA,mBACA,QACA,YACA,cACA,cACA,eACA,iBACA,UACA,aACA,SACA,OAEA,YACA,kBACA,oBACA,mBACA,aACA,iBACA,UAEA,MACA,OACA,QACA,YACA,aACA,QACA,OACA,QACA,cACA,OACA,QACA,QACA,SACA,MACA,YACA,UACA,aACA,SACA,QACA,cACA,OACA,OACA,UACA,cACA,mBACA,MACA,SACA,YACA,OACA,MACA,OACA,MACA,QACA,kBACA,mBACA,eACA,UAEA,MACA,MACA,QACA,YACA,cACA,QACA,SACA,gBACA,gBACA,WACA,SACA,OACA,MACA,QACA,UACA,SACA,eACA,0BACA,yBACA,kBACA,QACA,QACA,YACA,SACA,cACA,QACA,OACA,SACA,cACA,KACA,SACA,MACA,QACA,QACA,OACA,QACA,OACA,QACA,aACA,eACA,MACA,MACA,8BACA,eACA,QACA,WACA,MACA,OACA,eACA,UACA,YACA,KACA,OACA,aACA,mBACA,WACA,WACA,MACA,QACA,SACA,UACA,cACA,OACA,QACA,SACA,UACA,iBACA,qBACA,cACA,iBACA,SACA,UACA,UACA,QACA,OACA,QACA,OACA,QACA,gBACA,YACA,MACA,OACA,OACA,YACA,aACA,qBACA,OACA,SACA,MACA,OACA,UACA,QACA,qBACA,QACA,OACA,QACA,SACA,YACA,kBACA,MACA,OACA,SACA,iBACA,mBACA,YACA,OACA,UACA,aACA,SACA,QACA,WACA,QACA,QACA,OACA,UACA,eACA,QACA,gBACA,eACA,cACA,YACA,aACA,eACA,cACA,eACA,WACA,WAEA,OAEA,WACA,QACF,EAGIC,GAAmBxI,EAAc,CAAC,yBAAyB,CAAC,EAC5DyI,GAAoBzI,EAAc,CAEpC,OACA,OACA,QACA,WACA,SACA,SACA,eACA,WACA,UACA,aACA,gBACA,QAGA,oCACA,SAGA,qCAGA,2BACA,wBACF,CAAC,EACG0I,GAAmB1I,EAAc,CAEnC,0CACA,0EAEA,yBAEA,cACA,cACA,0BACA,YACA,gBACA,eAEA,iBAEA,eACA,iBACA,aACA,kBACA,kBACA,gBACA,gBACA,YACA,eACA,eAEA,cACA,QACA,YACA,UAEA,WACA,UACA,gBACA,cACA,cACA,oBACA,oBACA,iBACA,iBACA,YACA,WACA,UACA,gBACA,mBACA,QACA,eACA,oBACA,iBACA,iBACA,kBACA,sBACA,cACA,qBACA,aACA,eACF,CAAC,EACG2I,GAA0B3I,EAAc,CAC1C,yBACA,0BACA,4BACF,CAAC,EACG4I,GAAkB5I,EAAc,CAClC,OACA,qCACA,uBACA,uBACA,6CAEA,4BACA,mCACF,CAAC,EACG6I,GAAoB7I,EAAc,CACpC,YACA,YACA,cACA,wBACF,CAAC,EACGJ,GAAQ,CACV,KAAM,QACN,iBAAkB,CAChB,eAAgB4I,GAChB,gBAAiB,CAAC,GAAGC,GAAmB,GAAGC,EAAgB,EAC3D,sBAAuBC,GACvB,cAAeC,GACf,gBAAiBC,GACjB,YAAa,GACb,iBAAkBR,GAClB,kBAAmBC,GACnB,sBAAuBC,GACvB,YAAa,CAAC,IAAI,EAClB,YAAa,CACX,QACA,QACA,CAAE,MAAO,SAAU,SAAU,CAAC,IAAK,GAAG,EAAG,cAAe,EAAM,EAC9D,CAAE,MAAO,SAAU,SAAU,CAAC,IAAK,GAAG,EAAG,cAAe,EAAM,CAC/D,EACD,WAAY,CAAC,IAAI,EACjB,cAAe,CAAC,CAAE,MAAO,KAAM,SAAU,CAAC,GAAG,EAAG,cAAe,GAAM,EACrE,UAAW,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,MAAO,KAAM,IAAK,KAAM,IAAI,EACjE,YAAaO,EACd,EACD,cAAe,CACb,eAAgBJ,EACjB,CACH,EACA,SAASI,GAAaxG,EAAQ,CAC5B,OAAOA,EAAO,IAAI,CAACpG,EAAOj7C,IAAM,CAC9B,MAAMwhD,EAAYH,EAAOrhD,EAAI,CAAC,GAAKqgD,GAC7BsD,EAAYtC,EAAOrhD,EAAI,CAAC,GAAKqgD,GACnC,OAAIG,GAAQ,OAAOvF,CAAK,GAAK0I,EAAU,OAAS,aACvClG,GAAcD,GAAe,GAAIvC,CAAK,EAAG,CAAE,KAAM,wBAAwB,CAA+B,EAE7GA,EAAM,OAAS,SAAWA,EAAM,OAAS,oBACvC,EAAEuG,EAAU,OAAS,cAAgBmC,EAAU,OAAS,cACnDlG,GAAcD,GAAe,CAAE,EAAEvC,CAAK,EAAG,CAAE,KAAM,aAA+B,KAAMA,EAAM,GAAK,CAAA,EAGrGA,CACX,CAAG,CACH,CAGA,IAAI6M,GAAc,CAEhB,MACA,UACA,OACA,WACA,SACA,OACA,MACA,SACA,MACA,QACA,oBACA,SACA,OACA,aACA,SACA,iBACA,QACA,QACA,SACA,SACA,QACA,SACA,aACA,UACA,QACA,QACA,OACA,UACA,2BACA,4BACA,gBACA,mBACA,iBACA,SACA,YACA,gBACA,OACA,SACA,UACA,WACA,QACA,WAEA,MACA,QACA,eACA,MACA,MACA,MACA,QAEA,OACA,OACA,WACA,YACA,YACA,WAEA,aACA,OACA,aACA,eACA,YACA,QACA,MACA,OACA,cACA,aACA,YAEA,OACA,QACA,OACA,QACA,OACA,QACA,QACA,OACA,UACA,MACA,OACA,UACA,MACA,QACA,KACA,MACA,MACA,QACA,OACA,MACA,KACA,MACA,QACA,UACA,MACA,OACA,OACA,MACA,OACA,QAEA,OACA,aACA,oBACA,oBACA,eACA,cACA,cACA,aACA,cACA,eACA,WACA,YACA,YACA,aACA,aACA,mBACA,oBACA,YACA,YAEA,MACF,EAGIC,GAAa,CAEf,QACA,SACA,MACA,QACA,MACA,QACA,MACA,MACA,SACA,UACA,KACA,MACA,SACA,gBACA,SACA,QACA,UACA,KACA,UACA,OACA,OACA,QACA,UACA,SACA,SACA,WACA,aACA,SACA,QACA,UACA,eACA,eACA,oBACA,WACA,UACA,aACA,WACA,SACA,OACA,SACA,WACA,KACA,OACA,OACA,OACA,MACA,SACA,SACA,UACA,YACA,SACA,UACA,OACA,SACA,QACA,YACA,MACA,UACA,OACA,OACA,YACA,OACA,QACA,SACA,SACA,KACA,SACA,YACA,KACA,QACA,UACA,YACA,QACA,SACA,UACA,YACA,OACA,KACA,SACA,OACA,MACA,OACA,OACA,OACA,QACA,QACA,eACA,UACA,KACA,MACA,UACA,UACA,OACA,QACA,KACA,SACA,KACA,OACA,OACA,KACA,QACA,SACA,QACA,OACA,YACA,OACA,SACA,YACA,UACA,QACA,QACA,QACA,YACA,aACA,SACA,UACA,UACA,SACA,UACA,WACA,YACA,QACA,WACA,MACA,OACA,YACA,SACA,MACA,QACA,OACA,YACA,OACA,OACA,KACA,cACA,UACA,YACA,QACA,SACA,SACA,QACA,SACA,SACA,OACA,UACA,OACA,QACA,SACA,OACA,SACF,EACIC,GAAc,CAMhB,MACA,QACA,OACA,YACA,UACA,MACA,UACA,mBACA,QACA,UACA,WACA,OACA,OACA,UACA,mBACF,EAGIC,GAAmBlJ,EAAc,CAAC,yBAAyB,CAAC,EAC5DmJ,GAAoBnJ,EAAc,CAEpC,mBACA,OACA,QACA,WACA,SACA,SACA,eACA,WACA,QACA,SAGA,0EACA,eACA,SAEA,KACF,CAAC,EACGoJ,GAAmBpJ,EAAc,CAEnC,kDACA,iDAEA,qEAEA,cAEA,cAEA,yBAEA,cACA,eACA,gBACA,kBACA,YAEA,YACF,CAAC,EACGqJ,GAA0BrJ,EAAc,CAAC,cAAe,SAAU,WAAW,CAAC,EAC9EsJ,GAAkBtJ,EAAc,CAClC,OACA,qCACA,uBACA,uBACA,4CACF,CAAC,EACGuJ,GAAoBvJ,EAAc,CACpC,gDACA,iCACF,CAAC,EACGH,GAAS,CACX,KAAM,SACN,iBAAkB,CAChB,eAAgBqJ,GAChB,gBAAiB,CAAC,GAAGC,GAAmB,GAAGC,EAAgB,EAC3D,sBAAuBC,GACvB,cAAeC,GACf,gBAAiBC,GACjB,iBAAkBP,GAClB,kBAAmBC,GACnB,sBAAuBF,GACvB,YAAa,CACX,QACA,CAAE,MAAO,SAAU,SAAU,CAAC,GAAG,EAAG,cAAe,EAAM,CAG1D,EACD,WAAY,CAAC,QAAS,KAAM,IAAI,EAEhC,WAAY,CAAE,WAAY,GAAM,SAAU,CAAC,GAAG,EAAG,MAAO,CAAC,IAAK,IAAK,GAAG,CAAG,EACzE,UAAW,CAAC,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,MAAO,IAAI,CACpE,EACD,cAAe,CACb,eAAgBK,EACjB,CACH,EAGII,GAAc,CAEhB,WAEA,OACA,aACA,eACA,YACA,aAEA,WACA,oBACA,iBACA,UACA,cACA,mBACA,eACA,cACA,MACA,MACA,KACA,MACA,QACA,OACA,QACA,OACA,UACA,eAEA,YACA,kBACA,QACA,QACA,UACA,YACA,kBACA,OACA,UACA,YACA,eAEA,eACA,eACA,YACA,oBACA,iBAMA,QACA,MACA,MACA,MACA,MAIA,aACA,cACA,WACA,UACA,UACA,SACA,eACA,YACA,aACA,OACA,aACA,iBACA,aACA,UACA,YACA,YACA,WACA,WACA,WACA,kBACA,kBAMA,OAEA,WACA,SAEA,QACA,MACA,MACA,MACA,OACA,OACA,MACF,EAGIC,GAAa,CAEf,MACA,WACA,QACA,MAEA,MACA,KACA,aACA,aACA,KACA,SACA,gBACA,QACA,UACA,OACA,KACA,OACA,SACA,WACA,OACA,QACA,QACA,WACA,UACA,SACA,SACA,YACA,UACA,aACA,gBACA,SACA,QACA,OACA,UACA,kBACA,kCACA,eACA,eACA,iBACA,mCACA,eACA,SACA,QACA,aACA,MACA,UACA,UACA,SACA,QACA,WACA,gBACA,aACA,WACA,OACA,UACA,OACA,UACA,WACA,SACA,QAEA,SACA,OACA,UACA,SACA,WACA,QACA,QACA,SACA,MACA,UACA,OACA,OACA,OACA,WACA,MACA,SACA,QACA,QACA,SACA,OACA,OACA,WACA,KACA,YACA,QACA,QACA,cACA,SACA,YACA,OACA,KACA,WACA,QACA,UACA,UACA,OACA,OACA,aACA,QACA,QACA,SACA,QACA,SACA,SACA,WACA,SACA,QACA,UACA,MACA,KACA,OACA,MACA,OACA,SACA,KACA,MACA,KACA,OACA,OACA,QACA,MACA,QACA,OACA,WACA,YACA,YACA,YACA,UACA,UACA,YACA,QACA,QACA,OACA,YACA,MACA,aACA,cACA,UACA,SACA,SACA,UACA,SACA,QACA,WACA,SACA,MACA,OACA,YACA,QACA,SACA,SACA,SACA,SACA,YACA,eACA,MACA,UACA,OAEA,WACA,MACA,eACA,WACA,aACA,QACA,SACA,cACA,YACA,SACA,cACA,QACA,cACA,OACA,gBACA,kBACA,KACA,WACA,cACA,QACA,UACA,OACA,UACA,QACA,SACA,UACA,SACA,SACA,OACA,QACA,QACA,SACA,WACA,SACA,SACA,UACA,MACF,EACIC,GAAc,CAEhB,QACA,SACA,sBACA,iBACA,SACA,OACA,UACA,oBACA,eACA,OACA,yBACA,oBACA,YACA,OACA,OACA,MACA,UACA,SACA,QACA,MACA,UACA,WACA,WACA,wBACA,gBACA,kCACA,6BACA,qBACA,qBACA,gBACA,QACA,QACA,UACA,WACA,OACA,YACA,YACA,SACF,EAGIC,GAAmB3J,EAAc,CAAC,yBAAyB,CAAC,EAC5D4J,GAAoB5J,EAAc,CAEpC,mBACA,OACA,QACA,4BACA,SACA,SACA,eACA,WACA,QACA,SACA,uBAGA,cACA,SAEA,KACF,CAAC,EACG6J,GAAmB7J,EAAc,CAEnC,oDACA,0BAEA,SACA,mBAEA,cAEA,aAEA,cACA,aACA,gBACA,gBACA,YACA,iBACA,uBAEA,YAEA,kCAEA,eAGA,iBAEA,YACF,CAAC,EACG8J,GAA0B9J,EAAc,CAC1C,yBACA,0BACA,4BACF,CAAC,EACG+J,GAAkB/J,EAAc,CAClC,OACA,qCACA,uBACA,uBACA,4CACF,CAAC,EACGgK,GAAoBhK,EAAc,CACpC,gDACA,wBACF,CAAC,EACGrvC,GAAM,CACR,KAAM,MACN,iBAAkB,CAChB,eAAgBg5C,GAChB,gBAAiB,CAAC,GAAGC,GAAmB,GAAGC,EAAgB,EAC3D,sBAAuBC,GACvB,cAAeC,GACf,gBAAiBC,GACjB,iBAAkBP,GAClB,kBAAmBC,GACnB,sBAAuBF,GACvB,YAAa,CACX,CAAE,MAAO,WAAY,SAAU,CAAC,IAAK,IAAI,CAAG,EAC5C,CAAE,MAAO,SAAU,SAAU,CAAC,GAAG,EAAG,cAAe,EAAM,CAC1D,EACD,WAAY,CAAC,QAAS,IAAI,EAC1B,WAAY,CAAE,WAAY,EAAM,EAChC,UAAW,CAAC,IAAI,CACjB,EACD,cAAe,CACb,eAAgBK,EACjB,CACH,EAGII,GAAc,CAOhB,MACA,OACA,YACA,YACA,kBACA,uBACA,oBACA,aACA,YACA,iBACA,YACA,iBACA,eACA,kBACA,aACA,YACA,YACA,iBACA,eACA,aACA,cACA,OACA,OACA,QACA,cACA,MACA,MACA,WACA,YACA,oBACA,eACA,wBACA,oBACA,oBACA,uBACA,cACA,kBACA,qBACA,cACA,aACA,iBACA,sBACA,iCACA,cACA,YACA,WACA,UACA,cACA,OACA,OACA,OACA,UACA,cACA,WACA,MACA,WACA,WACA,YACA,QACA,eACA,SACA,YACA,WACA,oBACA,kBACA,OACA,MACA,OACA,oBACA,QACA,WACA,YACA,aACA,QACA,YACA,kBACA,eACA,iBACA,iBACA,eACA,oBACA,mBACA,eACA,OACA,WACA,YACA,cACA,aACA,aACA,MACA,eACA,cACA,cACA,UACA,aACA,MACA,MACA,IACA,aACA,mBACA,kCACA,QACA,MACA,UACA,WACA,SACA,cACA,UACA,QACA,SACA,kBACA,gBACA,YACA,cACA,cACA,iBACA,qBACA,qBACA,wBACA,wBACA,WACA,kBACA,kBACA,oBACA,yBACA,+BACA,gBACA,sBACA,YACA,iBACA,6BACA,0BACA,0BACA,yBACA,iBACA,qBACA,WACA,wBACA,mBACA,cACA,YACA,WACA,YACA,cACA,cACA,OACA,yBACA,KACA,QACA,WACA,2BACA,mBACA,qBACA,YACA,cACA,iBACA,SACA,gBACA,sBACA,iBACA,oBACA,cACA,eACA,sBACA,cACA,aACA,aACA,YACA,aACA,WACA,MACA,oBACA,aACA,OACA,mBACA,0BACA,yBACA,kBACA,QACA,SACA,uBACA,yBACA,0BACA,oBACA,UACA,KACA,YACA,iBACA,MACA,QACA,OACA,QACA,OACA,QACA,aACA,kBACA,MACA,UACA,aACA,cACA,aACA,mBACA,WACA,YACA,aACA,eACA,MACA,SACA,MACA,QACA,mBACA,cACA,MACA,SACA,SACA,MACA,QACA,eACA,wBACA,UACA,MACA,SACA,aACA,YACA,aACA,MACA,YACA,QACA,SACA,oBACA,WACA,qBACA,kBACA,iBACA,iBACA,eACA,KACA,WACA,MACA,QACA,cACA,UACA,UACA,OACA,SACA,OACA,SACA,aACA,eACA,iBACA,qBACA,cACA,kBACA,iBACA,eACA,UACA,iBACA,aACA,SACA,SACA,UACA,UACA,MACA,QACA,aACA,OACA,QACA,SACA,WACA,OACA,SACA,SACA,UACA,OACA,oBACA,MACA,WACA,QACA,UACA,uBACA,qBACA,QACA,aACA,eACA,oBACA,oBACA,oBACA,OACA,cACA,SACA,aACA,cACA,SACA,UACA,cACA,YACA,cACA,YACA,cACA,cACA,gBACA,cACA,aACA,gBACA,eACA,cACA,cACA,cACA,cACA,mBACA,YACA,kBACA,gBACA,sBACA,eACA,kBACA,oBACA,mBACA,mBACA,kBACA,gBACA,cACA,aACA,YACA,cACA,aACA,YACA,kBACA,gBACA,gBACA,mBACA,qBACA,eACA,cACA,WACA,YACA,YACA,aACA,YACA,gBACA,mBACA,aACA,WACA,YACA,OACA,UACA,UACA,OACA,UACA,UACA,SACA,YACA,MACA,MACA,OACA,cACA,qBACA,gBACA,kBACA,UACA,YACA,YACA,eACA,mBACA,mBACA,UACA,UACA,sBACA,sBACA,cACA,SACA,gBACA,gBACA,aACA,kBACA,yBACA,eACA,cACA,UACA,YACA,iBACA,mBACA,YACA,OACA,aACA,WACA,MACA,WACA,SACA,QACA,aACA,aACA,uBACA,mBACA,wBACA,mBACA,mBACA,uBACA,oBACA,OACA,sBACA,oBACA,WACA,UACA,WACA,UACA,OACA,eACA,eACA,wBACA,wBACA,gBACA,YACA,WACA,OACA,eACA,MACA,MACA,WAEA,aACA,QACA,OACA,eACA,OACA,UACA,MACF,EAGIC,GAAa,CAEf,SACA,MACA,QACA,QACA,MACA,QACA,UACA,MACA,MACA,KACA,MACA,KACA,gBACA,YACA,UACA,OACA,KACA,OACA,UACA,OACA,WACA,SACA,UACA,UACA,SACA,YACA,cACA,aACA,cACA,SACA,QACA,OACA,UACA,eACA,eACA,OACA,aACA,UACA,SACA,UACA,SACA,OACA,OACA,WACA,aACA,WACA,cACA,SACA,OACA,OACA,QACA,WACA,MACA,QACA,SACA,SACA,YACA,UACA,SACA,UACA,QACA,QACA,QACA,QACA,YACA,MACA,OACA,OACA,YACA,QACA,UACA,SACA,WACA,QACA,WACA,SACA,SACA,SACA,KACA,YACA,UACA,QACA,QACA,SACA,YACA,WACA,OACA,UACA,KACA,KACA,YACA,OACA,OACA,aACA,cACA,OACA,MACA,OACA,OACA,UACA,UACA,OACA,QACA,OACA,QACA,QACA,UACA,QACA,UACA,UACA,kBACA,eACA,WACA,UACA,OACA,MACA,MACA,OACA,OACA,KACA,OACA,MACA,OACA,QACA,SACA,KACA,SACA,OACA,KACA,MACA,OACA,SACA,KACA,QACA,aACA,QACA,SACA,OACA,WACA,YACA,aACA,UACA,OACA,OACA,UACA,MACA,UACA,YACA,YACA,UACA,aACA,aACA,QACA,SACA,QACA,OACA,YACA,UACA,SACA,aACA,QACA,UACA,WACA,YACA,SACA,QACA,OACA,QACA,WACA,SACA,MACA,OACA,UACA,SACA,SACA,UACA,WACA,OACA,SACA,eACA,UACA,MACA,OACA,OACA,OACA,OACA,QACA,QACA,SACA,SACA,SACA,QACA,SACA,cACA,OACA,OACA,OACA,OACA,YACA,KACA,WACA,cACA,OACA,OACA,UACA,YACA,cACA,gBACA,QACA,SACA,UACA,YACA,SACA,SACA,MACA,OACA,QACA,QACA,QACA,OACA,WACA,QACA,SACA,UACA,OACA,OACA,QACA,SACA,OACA,SACA,UACA,OACA,UACA,QACA,MACF,EACIC,GAAc,CAGhB,SACA,MACA,UACA,WACA,UACA,UACA,OACA,UACA,OACA,SACA,cACA,UACA,UACA,gBACA,WACA,YACA,OACA,YACA,UACA,OACA,MACA,QACA,MACA,OACA,WACA,YACA,WACA,OACA,YACA,aACA,aACA,cACA,QACA,aACA,WACA,UACF,EAGIC,GAAmBpK,EAAc,CAAC,yBAAyB,CAAC,EAC5DqK,GAAoBrK,EAAc,CAEpC,mBACA,OACA,QACA,4BACA,SACA,SACA,eACA,WACA,QACA,SACA,uBAGA,cACA,SAEA,MAEA,kBACA,WACA,oBACA,qBACA,cACA,UACA,SACA,QACF,CAAC,EACGsK,GAAmBtK,EAAc,CAEnC,+BACA,0CAEA,SAEA,cAEA,yBAEA,0BACA,6BACA,0BACA,4BACA,YACA,kCACA,iBACA,UAEA,iBAEA,eACA,0BACA,aACA,gBACA,cACA,cACA,yBACA,YACA,YAEA,UACA,UACA,kBACA,0BACA,MACA,iBACA,kBACA,4BACA,gBACA,cACA,WACA,gBACA,cACA,oBACA,qBACA,mBACA,gCACA,cACA,eACA,gBACA,eACA,iBACA,aACA,qBACA,mBACA,iBACA,cACF,CAAC,EACGuK,GAA0BvK,EAAc,CAC1C,yBACA,0BACA,4BACF,CAAC,EACGwK,GAAkBxK,EAAc,CAClC,OACA,qCACA,uBACA,uBACA,4CACF,CAAC,EACGyK,GAAoBzK,EAAc,CACpC,kCAEA,wBACF,CAAC,EACGD,GAAQ,CACV,KAAM,QACN,iBAAkB,CAChB,eAAgBqK,GAChB,gBAAiB,CAAC,GAAGC,GAAmB,GAAGC,EAAgB,EAC3D,sBAAuBC,GACvB,cAAeC,GACf,gBAAiBC,GACjB,iBAAkBP,GAClB,kBAAmBC,GACnB,sBAAuBF,GAKvB,YAAa,CAAC,KAAM,IAAI,EAGxB,YAAa,CACX,CAAE,MAAO,QAAS,SAAU,CAAC,IAAI,CAAG,EACpC,CAAE,MAAO,SAAU,SAAU,CAAC,GAAG,EAAG,cAAe,EAAM,CAC1D,EAED,WAAY,CAAC,OAAO,EACpB,WAAY,CAAE,WAAY,EAAM,EAChC,UAAW,CACT,IACA,KACA,KACA,IACA,KAEA,IACA,IACA,GAED,CACF,EACD,cAAe,CACb,eAAgBK,EACjB,CACH,EAGII,GAAc,CAGhB,wBACA,MACA,eACA,QACA,YACA,WACA,cACA,MACA,MACA,QACA,SACA,MACA,MACA,OAEA,YACA,cACA,MACA,aACA,OACA,kBACA,kBACA,eACA,gCACA,+BAEA,SACA,WACA,aACA,iBACA,oBACA,kBACA,cACA,YACA,cACA,eACA,gBACA,SACA,aACA,YAEA,OACA,UACA,QACA,WACA,cACA,YAEA,aACA,kBACA,eACA,UACA,mBACA,mBACA,gBACA,eACA,0BACA,uBACA,sBACA,mBACA,gBACA,eACA,sBACA,YACA,kBACA,WACA,SACA,WACA,gBACA,aACA,iBACA,qBACA,wBAEA,gBACA,iBACA,gBAEA,aACA,gBACA,aACA,aACA,WACA,uBAEA,cACA,oBACA,mBACA,sBACA,UACA,WACA,eACA,gBACA,WACA,WACA,qBACA,oBACA,0BACA,MACA,UACA,UACA,aACA,SACA,QACA,yBACA,eACA,cACA,oBACA,iBACA,gBACA,mBACA,OACA,OACA,SACA,aACA,aACA,cAEA,MACA,OACA,OACA,OACA,OACA,UACA,MACA,MACA,UACA,MACA,QACA,MACA,QACA,KACA,QACA,UACA,OACA,QACA,OACA,MACA,OACA,SACA,MACA,SACA,WACA,MACA,QAEA,WACA,WACA,eACA,eACA,mBACA,aACA,WACA,iBACA,qBACA,QACA,UACA,UACA,YACA,YACA,eACA,iBACA,oBACA,eACA,iBACA,0BACA,0BACA,YACA,oBACA,gBACA,iBACA,oBACA,YACA,cACA,qBACA,iBACA,mBACA,mBACA,YACA,YACA,cACA,iBACA,iBACA,aACA,UACA,YACA,eAEA,aACA,QACA,OACA,aACA,uBAEA,cACA,iBACA,eACA,wBACA,eACA,oBACA,YACA,gBACA,mBACA,gBACA,iBACA,cACA,aACA,aACA,eACA,kBACA,WACA,aACA,YACA,cACA,cACA,OACA,UACA,YAEA,QACA,OACA,YACA,SACA,YACA,aACA,SACA,OACA,MACA,QACA,QACA,QACA,WACA,YACA,UACA,YACA,UACA,QACA,QACA,UACA,QACA,MACA,aACA,gBACA,QACA,YACA,YACA,OACA,UACA,QAEA,aACA,UACA,aACA,kBACA,aACA,cACA,kBACA,WACA,WACA,qBACA,eACA,qBACA,yBACA,aACA,aACA,gBACA,eACA,kBACA,iBACA,cACA,gBACA,qCACA,cACA,UACA,YACA,SACA,YACA,wBACA,QACA,kBACA,eACA,kBACA,aAEA,gBACA,aACA,SACA,YACA,cACA,kBACA,cACA,iBACA,eACA,gBACA,UACA,YAEA,kBACA,YACA,oBACA,SAEA,WACA,QACF,EAGIC,GAAa,CAGf,MACA,MACA,QACA,MACA,MACA,KACA,MACA,gBACA,SACA,QACA,UACA,QACA,SACA,OACA,KACA,UACA,QACA,aACA,QACA,YACA,WACA,UACA,SACA,SACA,UACA,aACA,WACA,gBACA,WACA,UACA,SACA,QACA,UACA,eACA,eACA,oBACA,eACA,SACA,WACA,OACA,aACA,UACA,UACA,SACA,OACA,OACA,OACA,WACA,cACA,OACA,OACA,SACA,SACA,OACA,UACA,SACA,OACA,WACA,QACA,OACA,aACA,MACA,UACA,WACA,gBACA,OACA,OACA,WACA,OACA,QACA,QACA,SACA,WACA,WACA,cACA,kBACA,KACA,KACA,QACA,QACA,SACA,YACA,OACA,KACA,OACA,MACA,OACA,OACA,OACA,SACA,OACA,QACA,UACA,eACA,MACA,OACA,SACA,KACA,MACA,UACA,KACA,OACA,iBACA,YACA,aACA,UACA,SACA,KACA,QACA,QACA,OACA,UACA,QACA,OACA,UACA,QACA,OACA,YACA,SACA,YACA,OACA,WACA,cACA,aACA,cACA,UACA,WACA,SACA,SACA,SACA,QACA,WACA,WACA,aACA,OACA,OACA,SACA,gBACA,SACA,yBACA,iCACA,0BACA,eACA,MACA,UACA,WACA,OACA,aACA,cACA,QACA,cACA,WACA,OACA,KACA,MACA,OACA,cACA,UACA,WACA,cACA,UACA,QACA,SACA,UACA,SACA,aACA,MACA,OACA,SACA,OACA,UACA,QACA,QACA,OACA,eACA,YAEA,WACA,SACA,MACA,WACA,MACA,YACA,KACA,MACA,aACA,OACA,WACA,OACA,UACA,mBACA,cACA,YACA,UACA,aACA,cACA,gBACA,QACA,MACA,aACA,WACA,WACA,aACA,cACA,aACA,SACA,WACA,YACA,UACA,QACA,QACA,UACA,QACA,MACA,SACA,KACA,OACA,YACA,UACA,YACA,YACA,QACA,cACA,WACA,YACA,WACA,OACA,UACA,QACA,QACA,QACA,QACA,MACA,MACA,SACA,SACA,QACA,QACA,UACA,OACA,KACA,OACA,eACA,OACA,SACA,WACA,MACA,UACA,SACA,WACA,UACA,WACA,QACA,aACA,WACA,OACA,SACA,SACA,UACA,UACA,OACA,QACA,MACA,QACA,UACA,WACA,WACA,aACA,YACA,MACA,YACA,gBACA,kBACA,WACA,YACA,cACA,OACA,OACA,UACA,QACA,QACA,QACA,WACA,OACA,QACA,OACA,MACF,EACIC,GAAc,CAEhB,SACA,MACA,OACA,OACA,YACA,OACA,YACA,iBACA,MACA,UACA,SACA,QACA,MACA,UACA,WACA,QACA,UACA,WACA,YACA,OACA,WACA,OACA,YACA,YACA,SACF,EAGIC,GAAmB7K,EAAc,CAAC,yBAAyB,CAAC,EAC5D8K,GAAoB9K,EAAc,CAEpC,OACA,OACA,OACA,QACA,WACA,SACA,SACA,eACA,WACA,SACA,uBAGA,gBACA,SAEA,MAEA,eACA,oDACA,aAEA,sCACF,CAAC,EACG+K,GAAmB/K,EAAc,CAEnC,eACA,wCAEA,SACA,mBAEA,gBAEA,yBAEA,cACA,MACA,0BACA,eAEA,iBAEA,iCACA,gBACA,YACA,gBACA,aACA,qBACA,oBACA,eACA,gBACA,mBACA,aACA,cACA,WACA,iBACA,gBACA,qBACA,SACA,qBACA,oBACA,4BACA,2BACA,4BACA,kBACA,cACA,cACA,mBACA,sBACA,UACA,wBACA,oBACA,oBACA,0BACA,eACA,WACA,aACA,yBACA,yBACA,WACA,+BACA,0BACA,gBACA,gCACA,6BACA,eACA,YACA,aACA,oBACA,OACA,WACA,kBACA,iBACA,mBACA,WACA,qBACA,gBACA,aACA,uBACA,uBACA,oBACA,mBACA,yBACA,iBACA,eACA,UACA,YACA,mBACA,iBACA,oBACA,WACA,yBACA,0BACA,QACA,YACA,kBACA,wBACA,QACA,WACA,eACA,QACA,aACA,eACA,oBACA,UACA,SACA,qBACA,UACA,kBACA,qBACA,YACA,qBACA,mBACA,YACA,4BACA,QACA,oBACA,UACA,yBACA,2BACA,oBACA,gBACA,UACA,uBACA,qBACA,oBACA,qBACA,qBACA,6BACA,qBACA,SACA,SACA,aACA,OACA,QACA,WACA,OACA,SACA,uBACA,kBACA,sBACA,OACA,6BACA,WACA,eACA,6BACA,uBACA,cACA,UACA,qBACA,UACA,eACA,gBACA,eACA,YACA,gBACA,aACA,gBACA,qBACA,kBACA,iBACA,gBACA,UACA,QACA,iBACA,WACA,8BACA,UACA,OACA,oBACA,OACA,iBACA,aACA,YACA,uBACF,CAAC,EACGgL,GAA0BhL,EAAc,CAAC,cAAe,SAAU,WAAW,CAAC,EAC9EiL,GAAkBjL,EAAc,CAClC,OACA,qCACA,uBAEA,uBACF,CAAC,EACGkL,GAAoBlL,EAAc,CACpC,gDACA,wBACF,CAAC,EACGF,GAAc,CAChB,KAAM,cACN,iBAAkB,CAChB,eAAgB+K,GAChB,gBAAiB,CAAC,GAAGC,GAAmB,GAAGC,EAAgB,EAC3D,sBAAuBC,GACvB,cAAeC,GACf,gBAAiBC,GACjB,iBAAkBP,GAClB,kBAAmBC,GACnB,sBAAuBF,GACvB,oBAAqB,GACrB,YAAa,CAAC,CAAE,MAAO,QAAS,SAAU,CAAC,GAAG,EAAG,EACjD,WAAY,CAAC,QAAS,IAAI,EAC1B,WAAY,CAAE,MAAO,KAAM,KAAM,KAAO,EACxC,WAAY,CAAE,MAAO,CAAC,GAAG,EAAG,OAAQ,CAAC,GAAG,CAAG,EAC3C,UAAW,CACT,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,GACD,CAEF,EACD,cAAe,CACb,qBAAsB,CAAC,IAAI,EAC3B,eAAgBK,EACjB,CACH,EAGII,GAAa,CAMf,MACA,MACA,QACA,UACA,MACA,KACA,MACA,aACA,SACA,UACA,UACA,OACA,KACA,OACA,UACA,OACA,SACA,QACA,UACA,SACA,YACA,aACA,WACA,UACA,SACA,QACA,eACA,eACA,oBACA,eACA,SACA,WACA,YACA,WACA,kBACA,aACA,aACA,UACA,UACA,UACA,SACA,OACA,WACA,gBACA,WACA,cACA,MACA,OACA,OACA,OACA,OACA,SACA,WACA,UACA,SACA,SACA,OACA,UACA,aACA,QACA,QACA,MACA,QACA,sBACA,yBACA,UACA,OACA,OACA,WACA,QACA,QACA,SACA,uBACA,gBACA,mBACA,cACA,cACA,KACA,SACA,KACA,QACA,SACA,QACA,QACA,cACA,SACA,KACA,6BACA,YACA,WACA,OACA,UACA,OACA,MACA,OACA,OACA,UACA,QACA,OACA,OACA,QACA,QACA,OACA,YACA,iBACA,OACA,OACA,eACA,QACA,WACA,QACA,qBACA,gBACA,MACA,WACA,UACA,mBACA,MACA,qBACA,mBACA,OACA,KACA,WACA,SACA,aACA,KACA,QACA,MACA,QACA,UACA,OACA,UACA,YACA,QACA,QACA,OACA,QACA,aACA,SACA,UACA,SACA,SACA,UACA,UACA,WACA,SACA,SACA,QACA,kBACA,kBACA,sBACA,QACA,SACA,UACA,qBACA,SACA,YACA,YACA,YACA,MACA,OACA,SACA,UACA,WACA,MACA,iBACA,oBACA,YACA,sBACA,eACA,eACA,iBACA,mBACA,WACA,aACA,gBACA,QACA,aACA,OACA,KACA,WACA,UACA,OACA,YACA,OACA,QACA,SACA,SACA,SACA,QACA,MACA,QACA,WACA,WACA,gBACA,QACA,SACA,OACA,QACA,QACA,SACA,OACA,SACA,QACA,MACA,aACA,UACF,EACIC,GAAc,CAEhB,SACA,SACA,MACA,OACA,OACA,YACA,WACA,MACA,UACA,mBACA,SACA,OACA,QACA,QACA,SACA,SACA,MACA,OACA,OACA,OACA,OACA,OACA,UACA,OACA,WACA,WACA,aACA,YACA,aACA,YACA,gBACA,mBACA,UACA,YACA,OACA,WACA,OACA,OACA,YACA,WACA,UACA,WACA,WACA,YACA,UACA,eACA,MACF,EAGIC,GAAc,CAgBhB,MACA,OACA,UACA,UACA,cACA,cACA,YACA,wBACA,mCACA,gCACA,iCACA,8BACA,oBACA,QACA,OACA,OACA,QACA,MACA,MACA,SACA,UACA,YACA,SACA,UACA,OACA,OACA,UACA,OACA,mBACA,cACA,UACA,WACA,eACA,YACA,UACA,SACA,YACA,gBACA,OACA,UACA,aACA,MACA,MACA,QACA,YACA,UACA,eACA,eACA,eACA,oBACA,eACA,UACA,WACA,OACA,WACA,WACA,cACA,WACA,aACA,MACA,UACA,aACA,YACA,YACA,SACA,UACA,UACA,aACA,MACA,cACA,MACA,qBACA,MACA,UACA,QACA,QACA,cACA,QACA,SACA,aACA,cACA,YACA,gBACA,iBACA,qBACA,qBACA,uBACA,qBACA,mBACA,sBACA,kBACA,4BACA,gBACA,oBACA,oBACA,kBACA,sBACA,kBACA,iBACA,2BACA,aACA,aACA,WACA,WACA,eACA,MACA,YACA,OACA,cACA,KACA,SACA,YACA,YACA,aACA,aACA,UACA,SACA,QACA,WACA,KACA,UACA,WACA,6BACA,2BACA,6BACA,yBACA,uBACA,yBACA,kBACA,sBACA,oBACA,sBACA,sBACA,gBACA,cACA,kBACA,gBACA,kBACA,qBACA,mBACA,qBACA,MACA,WACA,aACA,QACA,OACA,QACA,OACA,SACA,OACA,KACA,YACA,iBACA,SACA,MACA,QACA,OACA,OACA,QACA,QACA,MACA,MACA,SACA,cACA,MACA,SACA,MACA,QACA,YACA,iBACA,MACA,MACA,YACA,QACA,SACA,eACA,eACA,kBACA,kBACA,KACA,QACA,WACA,MACA,QACA,UACA,QACA,UACA,OACA,OACA,SACA,SACA,UACA,UACA,QACA,QACA,QACA,YACA,aACA,OACA,QACA,SACA,SACA,cACA,OACA,OACA,UACA,OACA,MACA,QACA,QACA,UACA,cACA,kBACA,QACA,OACA,SACA,aACA,cACA,cACA,UACA,SACA,YACA,kBACA,MACA,WACA,MACA,OACA,WACA,cACA,cACA,YACA,eACA,gBACA,cACA,YACA,UACA,UACA,UACA,YACA,aACA,eACA,OACA,QACA,WACA,QACA,QACA,iBACA,YACA,QAEA,WACA,WACA,gBACA,OACA,SACA,WACA,UACA,WACA,aACA,UACA,OACA,UACA,aACA,MACF,EAGIC,GAAmBtL,EAAc,CAAC,uCAAuC,CAAC,EAC1EuL,GAAoBvL,EAAc,CAEpC,OACA,OACA,QACA,WACA,SACA,eACA,WACA,QACA,SAGA,yBACA,SACA,iBACA,0BAEA,MAEA,4DACA,yCACF,CAAC,EACGwL,GAAmBxL,EAAc,CAEnC,qFACA,cAEA,SAEA,gBAEA,qCAEA,uBACA,eACA,6BACA,gBACA,kBACA,SACA,mBAEA,mBAEA,iBACA,WACA,2BACA,iBACA,iBACA,sBACA,aACA,aACA,gBACA,kBACA,cACA,kBACA,kBACA,SACA,uBACA,cACA,OACA,SACA,mBACA,4BACA,+BACA,sBACA,cACA,iBACA,yBACA,QACA,SACA,kBACA,eACA,eACA,cACA,mBACA,kBACA,uBACA,cACA,cACA,qBACA,WACA,kBACA,kBACA,gBACA,gBACA,aACA,YACA,gBACA,iBACA,qBACA,YACA,YACA,YACA,UACA,UACA,QACA,QACA,QACA,UACA,OACA,kBACA,kBACA,YACA,wBACA,WACA,2BACA,cACA,kBACA,iBACA,UACA,oBACA,uBACA,oBACA,oBACA,cACA,eACA,UACA,qBACA,QACA,eACA,gBACA,gBACA,cACA,UACA,mBACA,qBACA,SACA,WACA,wBACA,YACA,oBACA,mBACA,YACA,eACA,qBACA,WACA,kBACA,OACA,qBACA,iBACA,eACA,uBACA,uBACA,uBACA,wBACA,oBACA,mBACA,mBACA,iBACA,cACA,eACA,cACA,qBACA,uBACA,cACA,aACA,qBACA,mBACA,eACA,kBACA,sBACA,wBACA,mBACA,eACA,gBACA,uBACA,sBACA,gBACA,aACA,mBACA,cACA,oBACA,cACA,iBACA,gBACA,WACA,oBACA,kBACA,0BACA,iBACA,gBACA,cACA,oBACA,yBACA,gBACA,eACA,mBACA,aACA,gBACA,kBACA,gBACA,MACA,KAEA,UACA,QACA,OACA,SACA,SACA,OACF,CAAC,EACGyL,GAA0BzL,EAAc,CAC1C,yBACA,SACA,YACA,OACF,CAAC,EACG0L,GAAkB1L,EAAc,CAClC,OACA,qCACA,uBACA,sCAEA,eACF,CAAC,EACG2L,GAAoB3L,EAAc,CACpC,YACA,YACA,gBACA,yBACA,eACF,CAAC,EACGN,GAAgB,CAClB,KAAM,gBACN,iBAAkB,CAChB,eAAgB4L,GAChB,gBAAiB,CAAC,GAAGC,GAAmB,GAAGC,EAAgB,EAC3D,sBAAuBC,GACvB,cAAeC,GACf,gBAAiBC,GACjB,iBAAkBR,GAClB,kBAAmBC,GACnB,sBAAuBC,GAEvB,YAAa,CACX,WACA,WACA,CAAE,MAAO,SAAU,SAAU,CAAC,IAAK,GAAG,EAAG,cAAe,EAAM,CAC/D,EACD,WAAY,CAAC,IAAI,EACjB,WAAY,CAAE,MAAO,IAAK,KAAM,IAAK,qBAAsB,EAAM,EACjE,cAAe,CACb,CAAE,MAAO,mBAAqB,EAC9B,CAAE,MAAO,KAAM,SAAU,CAAC,GAAG,EAAG,cAAe,EAAM,CACtD,EACD,iBAAkB,CAAC,KAAM,GAAG,EAC5B,UAAW,CACT,KACA,IACA,IACA,IACA,IACA,KACA,KACA,MACA,KACA,KACA,KACA,MACA,MACA,KACA,MACA,KAED,EACD,YAAa1G,EACd,EACD,cAAe,CACb,qBAAsB,CAAC,KAAM,MAAO,KAAK,EACzC,eAAgB6G,EACjB,CACH,EAGII,GAAc,CAkBhB,MACA,OACA,QACA,aACA,iBACA,YACA,wBACA,oBACA,+BACA,4BACA,6BACA,eACA,0BACA,uBACA,wBACA,4BACA,yBACA,YACA,eACA,YACA,gBACA,kBACA,0BACA,iBACA,eACA,qBACA,iBACA,gBACA,aACA,cACA,kBACA,kBACA,mBACA,iBACA,WACA,YACA,aACA,UACA,aACA,UACA,aACA,YACA,YACA,UACA,aACA,YACA,UACA,mBACA,mBACA,kBACA,QACA,OACA,QACA,OACA,QACA,QACA,oCACA,+BACA,MACA,uBACA,uBACA,gBACA,aACA,SACA,aACA,sBACA,uBACA,uBACA,eACA,gBACA,SACA,QACA,YACA,eACA,gBACA,SACA,aACA,UACA,cACA,UACA,SACA,aACA,UACA,cACA,wBACA,uBACA,OACA,OACA,OACA,OACA,YACA,aACA,YACA,MACA,OACA,WACA,UACA,YACA,uBACA,WACA,SACA,YACA,2BACA,yBACA,WACA,mBACA,eACA,OACA,MACA,OACA,MACA,QACA,WACA,YACA,aACA,YACA,kBACA,0BACA,iBACA,mBACA,eACA,qBACA,iBACA,eACA,iBACA,kBACA,0BACA,kBACA,oBACA,sBACA,eACA,oBACA,sBACA,eACA,kBACA,oBACA,wBACA,2BACA,4BACA,mCACA,iCACA,kBACA,YACA,aACA,UACA,WACA,UACA,SACA,oBACA,oBACA,UACA,cACA,UACA,aACA,OACA,eACA,UACA,cACA,WACA,aACA,MACA,eACA,6BACA,uBACA,2CACA,UACA,8BACA,YACA,cACA,UACA,QACA,8BACA,YACA,MACA,oBACA,UACA,kBACA,wBACA,WACA,oBACA,oBACA,qBACA,SACA,WACA,WACA,cACA,OACA,WACA,YACA,oBACA,oBACA,aACA,MACA,iBACA,cACA,eACA,aACA,aACA,OACA,SACA,SACA,MACA,SACA,QACA,YACA,eACA,UACA,SACA,eACA,gBACA,WACA,YACA,aACA,UACA,aACA,UACA,gBACA,aACA,YACA,UACA,6BACA,aACA,gBACA,YACA,qBACA,UACA,mBACA,mBACA,kBACA,yBACA,yBACA,WACA,MACA,WACA,gBACA,mBACA,aACA,OACA,QACA,OACA,SACA,MACA,OACA,WACA,WACA,UACA,KACA,YACA,iBACA,MACA,gBACA,wBACA,QACA,OACA,QACA,oCACA,MACA,UACA,aACA,yBACA,qBACA,qBACA,SACA,MACA,MACA,UACA,kBACA,MACA,OACA,YACA,iBACA,WACA,SACA,YACA,QACA,SACA,aACA,MACA,OACA,aACA,mBACA,6BACA,gBACA,gBACA,cACA,cACA,eACA,WACA,aACA,YACA,YACA,eACA,kBACA,kBACA,KACA,qBACA,iBACA,oBACA,WACA,MACA,QACA,eACA,6BACA,gBACA,2BACA,wBACA,6BACA,UACA,SACA,UACA,OACA,kBACA,SACA,eACA,eACA,cACA,iBACA,gBACA,oBACA,YACA,YACA,aACA,iBACA,UACA,aACA,WACA,WACA,WACA,YACA,YACA,SACA,UACA,oCACA,qCACA,4CACA,kCACA,4BACA,qBACA,cACA,UACA,QACA,QACA,QACA,aACA,OACA,QACA,kBACA,8BACA,OACA,OACA,OACA,OACA,0BACA,OACA,WACA,cACA,OACA,WACA,cACA,OACA,MACA,OACA,OACA,UACA,QACA,QACA,aACA,iBACA,OACA,SACA,UACA,YACA,YACA,eACA,WACA,cACA,WACA,YACA,aACA,cACA,aACA,cACA,eACA,YACA,gBACA,eACA,cACA,cACA,aACA,cACA,cACA,qBACA,0BACA,sBACA,sBACA,aACA,qBACA,qBACA,uBACA,kBACA,gBACA,YACA,mBACA,gBACA,cACA,eACA,WACA,iBACA,aACA,aACA,eACA,eACA,YACA,aACA,cACA,UACA,gBACA,mBACA,WACA,YACA,OACA,UACA,UACA,OACA,UACA,UACA,4CACA,8BACA,aACA,SACA,aACA,cACA,mBACA,SACA,wBACA,kBACA,SACA,YACA,MACA,UACA,uBACA,2BACA,+BACA,4CACA,uCACA,4BACA,sBACA,0BACA,gCACA,2BACA,gCACA,mCACA,mCACA,2CACA,wCACA,sCACA,uCACA,qCACA,4CACA,8BACA,2BACA,oCACA,2BACA,oCACA,gCACA,sCACA,yBACA,8CACA,gCACA,qCACA,iBACA,gCACA,mCACA,kCACA,sCACA,iCACA,sCACA,uCACA,2BACA,qBACA,4BACA,yCACA,0BACA,mCACA,oCACA,yBACA,gCACA,gBACA,6CACA,qCACA,cACA,mBACA,+BACA,iBACA,6BACA,8BACA,MACA,OACA,kBACA,eACA,kBACA,aACA,UACA,WACA,uBACA,eACA,gBACA,WACA,YACA,aACA,UACA,aACA,UACA,OACA,aACA,YACA,aACA,YACA,eACA,cACA,UACA,YACA,UACA,OACA,eACA,mBACA,mBACA,kBACA,aACA,SACA,YACA,OACA,WACA,QACA,QACA,2BACA,2BACA,WACA,wBACA,wBACA,iBACA,gBACA,iBACA,cACA,iBACA,gBACA,iBACA,gBACA,mBACA,kBACA,cACA,mBACA,uBACA,uBACA,sBACA,SACA,UACA,UACA,QACA,cACA,WACA,qBACA,UACA,WACA,WACA,gBACA,eACA,yBACA,6BACA,eACA,SACA,OACA,aACA,gBACA,MACA,aACA,YACA,eACA,YACA,OACA,OACA,aACA,UACA,QACA,UACA,aACA,MACF,EAGIC,GAAa,CAIf,UACA,MACA,QACA,MACA,MACA,KACA,UACA,KACA,OACA,OACA,QACA,SACA,UACA,aACA,aACA,SACA,QACA,UACA,eACA,eACA,oBACA,eACA,WACA,SACA,WACA,OACA,OACA,SACA,QACA,YACA,MACA,OACA,OACA,QACA,QACA,YACA,SACA,QACA,KACA,YACA,QACA,SACA,YACA,OACA,KACA,QACA,OACA,UACA,OACA,OACA,YACA,iBACA,QACA,UACA,MACA,OACA,KACA,KACA,KACA,QACA,eACA,UACA,SACA,SACA,QACA,QACA,MACA,OACA,SACA,SACA,SACA,MACA,OACA,QACA,QACA,cACA,OACA,KACA,UACA,OACA,WACA,QACA,SACA,SACA,QACA,SACA,OACA,OACA,WACA,QACA,OAEA,SACF,EACIC,GAAc,CAChB,SACA,UACA,UACA,MACA,UACA,SACA,WACA,UACA,UACA,QACA,SACA,SACA,SACA,mBACA,OACA,UACA,OACA,YACA,SACA,OACA,SACA,YACA,UACA,OACA,WACA,OACA,YACA,gBACA,gBACA,YACA,eACA,UACA,SACA,QACA,YACA,UACF,EAGIC,GAAmB/L,EAAc,CAAC,yBAAyB,CAAC,EAC5DgM,GAAoBhM,EAAc,CAEpC,mBACA,OACA,QACA,WACA,SACA,eACA,WACA,UACA,QACA,SACA,uBAGA,qDACA,qBACA,SAEA,MACA,aACA,oDACA,cACA,iBACA,aACA,qBACA,6BACA,8BACF,CAAC,EACGiM,GAAmBjM,EAAc,CAEnC,uDACA,8EACA,gEAEA,SAEA,cAEA,yBAEA,0BACA,YACA,YACA,+BACA,sBACA,eACA,gBACA,4BACA,gBACA,6CACA,oBACA,mCACA,oBAEA,iCACA,+BACA,uBAEA,wBAEA,kBAEA,gBAEA,+BAGA,+BAcA,gBACA,wBACA,mBACA,iBACA,uBACA,uBACA,oBACA,iBACA,oBACA,uBACA,0BACA,uBACA,iCACA,aACA,kBACA,0BACA,yBACA,aACA,0BACA,eACA,6BACA,iBACA,gBACA,uBACA,cACA,cACA,4BACA,eACA,YACA,aACA,aACA,aACA,kBACA,QACA,OACA,SACA,YACA,iBACA,yBACA,oBACA,kBACA,2BACA,wBACA,wBACA,qBACA,kBACA,qBACA,yBACA,wBACA,2BACA,wBACA,kCACA,cACA,mBACA,2BACA,0BACA,cACA,2BACA,gBACA,8BACA,kBACA,wBACA,eACA,eACA,6BACA,gBACA,aACA,cACA,cACA,mBACA,SACA,oBACA,0BACA,uBACA,oBACA,uBACA,0BACA,6BACA,0BACA,gBACA,qBACA,kBACA,6BACA,kBACA,oBACA,0BACA,iBACA,iBACA,kBACA,iBACA,gBACA,uBACA,gBACA,gBACA,qBACA,kBACA,gBACA,sBACA,sBACA,mBACA,gBACA,mBACA,uBACA,sBACA,yBACA,sBACA,YACA,iBACA,yBACA,wBACA,YACA,yBACA,cACA,gBACA,sBACA,aACA,aACA,cACA,WACA,YACA,YACA,YACA,iBACA,oBACA,eACA,UACA,MACA,kBACA,aACA,SACA,OACA,QACA,MACA,SACA,cACA,WACA,eACA,mBACA,iBACA,mCACA,sCACA,gCACA,0BACA,uBACA,uBACA,oBACA,iBACA,uBACA,cACA,oBACA,aACA,wBACA,wBACA,0BACA,wBACA,eACA,6BACA,kBACA,aACA,oBACA,kBACA,eACA,4BACA,6BACA,0BACA,yBACA,aACA,2BACA,eACA,iBACA,wBACA,cACA,gCACA,mCACA,cACA,eACA,cACA,YACA,aACA,oBACA,sBACA,aACA,iBACA,aACA,kBACA,6BACA,kBACA,gBACA,eACA,aACA,QACA,eACA,WACA,aACA,sBACA,eACF,CAAC,EACGkM,GAA0BlM,EAAc,CAAC,cAAe,QAAS,SAAU,WAAW,CAAC,EACvFmM,GAAkBnM,EAAc,CAClC,eACA,+CACA,wBACF,CAAC,EACGoM,GAAoBpM,EAAc,CACpC,yBACA,+CACF,CAAC,EACGL,GAAY,CA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CACE,KAAM,eACN,MAAOhD,IAAax2C,EAAK25C,EAAI,mBAAqB,KAAO35C,EAAK,CAAC,IAAI,CAAC,CACrE,EACD,CACE,KAAM,oBACN,MAAOs4C,GAAOqB,EAAI,UAAU,CAC7B,EACD,CACE,KAAM,SACN,MAAO,kHACR,EAGD,CACE,KAAM,kBACN,MAAOzC,IAAcvpC,EAAKgsC,EAAI,kBAAoB,KAAOhsC,EAAK,CAAA,EAAIgsC,EAAI,UAAU,EAChF,KAAME,EACP,EACD,CACE,KAAM,OACN,MAAO,YACP,KAAMA,EACP,EACD,CACE,KAAM,MACN,MAAO,WACP,KAAMA,EACP,EACD,CACE,KAAM,UACN,MAAO,eACP,KAAMA,EACP,EACD,CACE,KAAM,QACN,MAAOF,EAAI,gBAAgB,SAAS,OAAO,EAAI,aAAe,OAC9D,KAAME,EACP,EACD,CACE,KAAM,kBACN,MAAO3C,GAAayC,EAAI,gBAAiBA,EAAI,UAAU,EACvD,KAAME,EACP,EACD,CACE,KAAM,kBACN,MAAO3C,GAAayC,EAAI,eAAgBA,EAAI,UAAU,EACtD,KAAME,EACP,EACD,CACE,KAAM,yBACN,MAAO3C,GAAayC,EAAI,sBAAuBA,EAAI,UAAU,EAC7D,KAAME,EACP,EACD,CACE,KAAM,OACN,MAAO,YACP,KAAMA,EACP,EACD,CACE,KAAM,OACN,MAAO,YACP,KAAMA,EACP,EACD,CACE,KAAM,OACN,MAAO,YACP,KAAMA,EACP,EACD,CACE,KAAM,gBACN,MAAO3C,GAAayC,EAAI,cAAeA,EAAI,UAAU,EACrD,KAAME,EACP,EACD,CACE,KAAM,MACN,MAAO,WACP,KAAMA,EACP,EACD,CACE,KAAM,KACN,MAAO,UACP,KAAMA,EACP,EACD,CACE,KAAM,MACN,MAAOF,EAAI,YAAc,WAAa,OACtC,KAAME,EACP,EACD,CACE,KAAM,yBACN,MAAO3C,GAAayC,EAAI,sBAAuBA,EAAI,UAAU,EAC7D,KAAME,EACP,EACD,CACE,KAAM,qBACN,MAAO3C,GAAayC,EAAI,kBAAmBA,EAAI,UAAU,EACzD,KAAME,EACP,EACD,CACE,KAAM,m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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,30,31,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191]} \ No newline at end of file diff --git a/source/assets/debugbar/manifest.json b/source/assets/debugbar/manifest.json deleted file mode 100644 index af33adf..0000000 --- a/source/assets/debugbar/manifest.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "src/assets/ruby-logo.svg": { - "file": "assets/ruby-logo-kn_8RniZ.svg", - "src": "src/assets/ruby-logo.svg" - }, - "src/demo.ts": { - "assets": [ - "assets/ruby-logo-kn_8RniZ.svg" - ], - "file": "assets/debugbar-756U0KKi.js", - "isEntry": true, - "src": "src/demo.ts" - } -} \ No newline at end of file diff --git a/source/assets/debugbar/ruby-logo-kn_8RniZ.svg b/source/assets/debugbar/ruby-logo-kn_8RniZ.svg deleted file mode 100644 index 23a70c8..0000000 --- a/source/assets/debugbar/ruby-logo-kn_8RniZ.svg +++ /dev/null @@ -1,946 +0,0 @@ - -image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -